Να καταργήσουμε τη ΓΛΩΣΣΑ και να κρατήσουμε μόνο την ...

Post on 31-Dec-2015

43 views 4 download

description

Να καταργήσουμε τη ΓΛΩΣΣΑ και να κρατήσουμε μόνο την ψευδογλώσσα. Χρ. Κοίλιας Αναπλ. Καθ. Τμ. Πληροφορικής ΤΕΙ Αθήνας. ή. ποιες επεκτάσεις χρειάζεται η ψευδογλώσσα, ώστε να μην είναι απαραίτητη η ΓΛΩΣΣΑ. 1. Μεταβλητές. - PowerPoint PPT Presentation

Transcript of Να καταργήσουμε τη ΓΛΩΣΣΑ και να κρατήσουμε μόνο την ...

Να καταργήσουμε τη Να καταργήσουμε τη ΓΛΩΣΣΑΓΛΩΣΣΑ και να και να κρατήσουμε μόνο την κρατήσουμε μόνο την ψευδογλώσσαψευδογλώσσα

Χρ. ΚοίλιαςΑναπλ. Καθ. Τμ. Πληροφορικής ΤΕΙ Αθήνας

ήή

ποιες επεκτάσεις χρειάζεται η ψευδογλώσσα, ώστε να μην είναι απαραίτητη η ΓΛΩΣΣΑ

1. Μεταβλητές1. Μεταβλητές Πινάκων. Όπως και οι απλές μεταβλητές, αλλά

ακολουθούνται από ζεύγος παρενθέσεων ή αγκυλών που περικλείουν έναν ή περισσότερους δείκτες (indexes) χωριζόμενους με κόμμα.

Π.χ. Α(3) ή Α[3] και Χ(i, j) ή X[i, j] αλλά και Α3 και Χij αντίστοιχα.

2. Τελεστές 2. Τελεστές Αριθμητικοί

+, -, *, /, mod, div, ^

αλλά και 23

Σημ. Ωστόσο η γραφή δεικτών και εκθετών με τον υπολογιστή είναι πρόβλημα.

Συναρτησιακοί τελεστές ή Συναρτησιακοί τελεστές ή ΣυναρτήσειςΣυναρτήσεις Αριθμητικές

Τριγωνομετρικές: ημ(x), συν(x), εφ(x), τοξεφ(x)

Μαθηματικές: abs(x), exp(x), log(x), ln(x), sqr(x), int(x).

αλλά και [x], |x|, x Αλφαριθμητικές

left(x, 1), right(x, 2), mid(x, i, j), len(x)

3. Είσοδος και Έξοδος τιμών3. Είσοδος και Έξοδος τιμών

α) Είσοδος

Διάβασε λίστα_μεταβλητών

β) Έξοδος

{Γράψε | Εμφάνισε | Εκτύπωσε} λίστα_μεταβλητών ή/και σταθερών

Προβλήματα

Γράψε "Αποτελέσματα:", x, 2, 5

Λύσεις τελεία αντί για κόμμα στις αριθμ. σταθερές Αλλαγή του κόμματος ως διαχωριστή στη λίστα Οι σταθερές πάντα σε εισαγωγικά (δηλ. αλφαριθμητικές)

ΕναλλακτικάΕναλλακτικά

Χρήση των εντολών Δεδομένα και ΑποτελέσματαΑλγόριθμος Άθροισμα_1Διάβασε α, βγ α + βΓράψε γΤέλος Άθροισμα_1

Αλγόριθμος Άθροισμα_2Δεδομένα // α, β //γ α + βΑποτελέσματα // γ //Τέλος Άθροισμα_2

Σε άλλα βιβλία χρησιμοποιούνται οι εντολές Είσοδος και Έξοδος, π.χ.

Αλγόριθμος Άθροισμα_2

Είσοδος : α, β

Έξοδος : γ

γ α + β

Τέλος Άθροισμα_2

Πρόβλημα 1. Να γραφεί αλγόριθμος ο οποίος να διαβάζει τα στοιχεία του πίνακα Α και να ….

Λύση. Γράφονται οι εντολές ανάγνωσης των στοιχείων του πίνακα και μετά οι εντολές επεξεργασίας του.

Πρόβλημα 2. Δίδεται ο πίνακας Α. Να γραφεί αλγόριθμος ο οποίος ….

Λύση. Ο αλγόριθμος ξεκινά με τη γραμμή Δεδομένα // Α() // και ακολουθούν οι εντολές επεξεργασίας του πίνακα.

ΣυμπέρασμαΣυμπέρασμα

Οι εντολές Δεδομένα και Αποτελέσματα Συντομεύουν τη γραφή των αλγορίθμων Απαλλάσσουν από τη γραφή τετριμμένου κώδικα

και επικεντρώνουν την προσοχή στο προς επίλυση πρόβλημα.

Προτρέπουν το δομημένο προγραμματισμό Είναι απαραίτητες για την κλήση αλγόριθμου από

αλγόριθμο (βλ. παρακάτω).

4. Πολλαπλή εντολή επιλογής4. Πολλαπλή εντολή επιλογής

Επίλεξε έκφραση

Περίπτωση τιμές_1

εντολές _1

Περίπτωση τιμές_2

εντολές _2

...............................

Περίπτωση τιμές_ν

εντολές _ν

Περίπτωση αλλιώς

εντολές _αλλιώς

Τέλος_επιλογών

Οι τιμές_i μπορεί να είναι: διάφορες τιμές

χωριζόμενες με κόμμα π.χ. 1, 3, 7, 11

τιμές που ορίζονται με τη χρήση ενός σχεσιακού τελεστή π.χ. > 10

τιμές που είναι όροι αριθμητικής προόδου

5. Γενικό επαναληπτικό σχήμα5. Γενικό επαναληπτικό σχήμα

1η σύνταξη

Κάνε [ {όσο | μέχρις ότου} συνθήκη ]

εντολές

επανάληψη

2η σύνταξη

Κάνε

εντολές

επανάληψη [ {όσο | μέχρις ότου} συνθήκη ]

6. Κλήση αλγόριθμου από 6. Κλήση αλγόριθμου από αλγόριθμοαλγόριθμο

Ένας αλγόριθμος μπορεί να καλεί έναν άλλο με χρήση της εντολής Κάλεσε

α) Με χρήση καθολικών α) Με χρήση καθολικών μεταβλητώνμεταβλητώνΑλγόριθμος ΚαλώνΚαθολικές Μεταβλητές α, β, γΔιάβασε α, βΚάλεσε ΚαλούμενοςΓράψε "Αποτέλεσμα = ", γΤέλος Καλών

Αλγόριθμος Καλούμενοςγ α + βΤέλος Καλούμενος

β) Με μεταβίβαση τιμώνβ) Με μεταβίβαση τιμών

Αλγόριθμος Καλών

Διάβασε α, β

Κάλεσε Καλούμενος (α, β, γ)

Γράψε "Αποτέλεσμα = ", γ

Τέλος Καλών

Αλγόριθμος Καλούμενος

Δεδομένα // x, y //

z x + y

Αποτελέσματα // z //

Τέλος Καλούμενος

Η αντιστοιχία των μεταβλητών των δύο αλγορίθμων γίνεται με τη σειρά που αναφέρονται στις αντίστοιχες γραμμές, δηλ. α x, β y και γ z.

ΕρώτησηΜε αναφορά ή με τιμή;ΑπάντησηΜε τιμή

γ) Αναδρομήγ) Αναδρομή

Αλγόριθμος ΜΚΔΔεδομένα // x, y //z x mod yΑν z 0 τότε

Κάλεσε ΜΚΔ (y, z, m)αλλιώς

m yΤέλος _ανΑποτελέσματα // m //Τέλος ΜΚΔ

7. Συναρτήσεις7. Συναρτήσεις

Συνάρτηση F

Δεδομένα // x, y //

F←x^2+y^2+x*y

Τέλος F

κλήση

Εμφάνισε F(1,2)

88. Αποθήκευση αποτελεσμάτων . Αποθήκευση αποτελεσμάτων και είσοδος προαποθηκευμένων και είσοδος προαποθηκευμένων τιμώντιμών

Είσοδος

Διάβασε [από πληκτρολόγιο] α

Διάβασε από αρχείο α

Έξοδος

Εμφάνισε [στην οθόνη] α

Γράψε [στον εκτυπωτή] α

Γράψε στο αρχείο α

ΠαραδείγματαΠαραδείγματα Διάβασε “STOCK.DAT”, α Γράψε “CUSTOMER.TXT”, α

ή πιο τυπικά Άνοιξε “STOCK.DAT” για Είσοδο ως f1 Διάβασε f1, α

Άνοιξε “CUSTΟMER.TXT” για Έξοδο ως f2 Γράψε f2, α

ή αλά ή αλά BASICBASIC Άνοιξε “STOCK.DAT” για Είσοδο ως #1 Διάβασε#1, α

Άνοιξε “CUSTΟMER.TXT” για Έξοδο ως #2 Γράψε#2, α

ΠαραδείγματαΠαραδείγματαa) Εκτύπωση διαδοχικού αρχείου

Αλγόριθμος List_Seq_File

Άνοιξε "CUST.SEQ" για Είσοδο ως #1

Όσο όχι ΕΟF(1) επανάλαβε

Διάβασε#1, κωδ, ον_μο, ΑΦΜ, υπολ

Εκτύπωσε ον_μο, υπολ

Τέλος_επανάληψης

Κλείσε#1

Τέλος List_Seq_File

β) Εκτύπωση άμεσου αρχείου β) Εκτύπωση άμεσου αρχείου ((random)random)Αλγόριθμος List_Rnd_File

Άνοιξε "CUST.DAT" ως #1

Πεδία#1, κωδ, ον_μο, ΑΦΜ, υπολ

αρ_εγγρ 0

Όσο όχι ΕΟF(1) επανάλαβε

αρ_εγγρ αρ_εγγρ +1

Διάβασε#1, αρ_εγγρ

Εκτύπωσε ον_μο, υπολ

Τέλος_επανάληψης

Κλείσε#1

Τέλος List_Rnd_File

τελειώνονταςτελειώνοντας

Το μάθημα δεν πρέπει να ασχολείται με άλλες δομές δεδομένων εκτός από τον πίνακα

και τέλος …και τέλος …

Το όνομα του μαθήματος να γίνει

[Εισαγωγή στην]

Αλγοριθμική