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

25
Να καταργήσουμε τη Να καταργήσουμε τη ΓΛΩΣΣΑ ΓΛΩΣΣΑ και να κρατήσουμε και να κρατήσουμε μόνο την ψευδογλώσσα μόνο την ψευδογλώσσα Χρ. Κοίλιας Αναπλ. Καθ. Τμ. Πληροφορικής ΤΕΙ Αθήνας

description

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

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

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

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

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

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

ήή

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

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

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

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

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

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

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

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

αλλά και 23

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

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

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

Τριγωνομετρικές: ημ(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)

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

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

α) Είσοδος

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

β) Έξοδος

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

Προβλήματα

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

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

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

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

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

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

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

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

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

Είσοδος : α, β

Έξοδος : γ

γ α + β

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

εντολές _1

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

εντολές _2

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

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

εντολές _ν

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

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

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

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

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

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

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

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

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

1η σύνταξη

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

εντολές

επανάληψη

2η σύνταξη

Κάνε

εντολές

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

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

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

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

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

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

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

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

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

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

Διάβασε α, β

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

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

Τέλος Καλών

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

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

z x + y

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

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

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

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

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

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

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

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

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

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

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

Συνάρτηση F

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

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

Τέλος F

κλήση

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

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

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

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

Είσοδος

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

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

Έξοδος

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

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

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

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

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

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

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

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

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

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

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

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

Αλγόριθμος List_Seq_File

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

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

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

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

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

Κλείσε#1

Τέλος List_Seq_File

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

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

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

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

αρ_εγγρ 0

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

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

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

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

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

Κλείσε#1

Τέλος List_Rnd_File

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

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

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

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

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

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

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

Αλγοριθμική