02 i2p pseudocode.ppt - university of the aegean · αφού απαιτείται µόνοένας...
TRANSCRIPT
Εισαγωγή στον Προγραμματισμό
Ενότητα 2 – Ψευδοκώδικας
Χρήστος Γκουμόπουλος
Πανεπιστήμιο Αιγαίου
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων
Έκφραση αλγορίθμου
Ως εργαλείο επικοινωνίας, ο αλγόριθμος πρέπει:
• να έχει συγκεκριμένη δομή,
• να εκφράζεται σε μορφή κατανοητή από όλους
• να εκφράζεται με καθορισμένη σύνταξη ώστε να µην
είναι διφορούμενη η ερμηνεία του.είναι διφορούμενη η ερμηνεία του.
Εργαλεία έκφρασης αλγορίθμων
Διακρίνουμε δύο μεγάλες κατηγορίες εργαλείων
περιγραφής αλγορίθμων:
• εργαλεία που βασίζονται στη γλώσσα
(ψευδοκώδικας)
• εργαλεία που βασίζονται σε σχήματα (διαγράμματα • εργαλεία που βασίζονται σε σχήματα (διαγράμματα
ροής)
Ψευδοκώδικας
• Ο ψευδοκώδικας είναι κάτι που μοιάζει µε κώδικα
προγραμματισµού, αλλά δεν μπορεί να μεταφραστεί
και να εκτελεστεί.
• Ο ψευδοκώδικας είναι µια δομημένη γλώσσα που
χρησιμοποιεί:
– στοιχεία (συντακτικές δομές) από τις γλώσσες
προγραμματισµού
– συμβολισµούς (σημασιολογικά στοιχεία) από τα
Μαθηµατικά και τη Μαθηµατική Λογική
– στοιχεία (λεκτικές περιγραφές) από τη φυσική
γλώσσα.
Χαρακτηριστικά
• Ο ψευδοκώδικας χρησιμοποιείται για την ανάπτυξη
ενός εργαλείου περιγραφής αλγορίθμων που θα
συνδυάζει ταυτόχρονα την αυστηρότητα και την
ακρίβεια που έχουν οι γλώσσες προγραμματισµού
µε την εκφραστική δύναμη της φυσικής γλώσσας
• Ο ψευδοκώδικας είναι ανεξάρτητος από • Ο ψευδοκώδικας είναι ανεξάρτητος από
οποιαδήποτε γλώσσα προγραμματισµού.
• Ένας αλγόριθμος που περιγράφεται µε
ψευδοκώδικα μπορεί εύκολα να «μεταφραστεί» σε
ένα πρόγραμμα
• Γίνεται κατανοητός τόσο από προγραμματιστές όσο
και από µη προγραμματιστές
Ψευδοκώδικας?
Δώσε 2 αριθμούς. Πρόσθεσε τους μεταξύ τους και
πάρε ότι βγάλεις.
Ψευδοκώδικας?
int x,y,z;
scanf(&x);
scanf(&y);
z=x+y;
Χαρακτηριστικά Ψευδοκώδικα
☺Επιτρέπει την εύκολη εισαγωγή μεγαλύτερης
λεπτομέρειας στην περιγραφή του αλγορίθμου.
☺Αποτελεί φθηνή παραγωγή τέτοιων περιγραφών,
αφού απαιτείται µόνο ένας επεξεργαστής κειμένου
και ένας εκτυπωτής.
�Διαθέτει περιορισμένες εκφραστικές δυνατότητες
(σε σύγκριση µε τα διαγράμματα ροής).
�Εξάρτηση από τη φυσική γλώσσα
�Έλλειψη μιας τυποποιημένης διαλέκτου.
Δομές Ελέγχου
• Οι Boehm και Jacopini απέδειξαν ότι οποιοσδήποτε
αλγόριθμος μπορεί να εκφραστεί με συνδυασμούς μόνον
τριών διαφορετικών δομών ελέγχου :
• Ο Dijkstra ισχυρίστηκε ότι οποιοσδήποτε αλγόριθμος θα
πρέπει να εκφράζεται με χρήση μόνον των τριών δομών
ελέγχου (Η GOTO εντολή θα πρέπει να μην χρησιμοποιείται)
• Μια ψευδογλώσσα και οι γλώσσες προγραμματισμού
παρέχουν μια ποικιλία εντολών για να εκφράσουν τις
παραπάνω δομές.
Γλώσσα Ψευδοκώδικα
Γλώσσα Ψευδοκώδικα
Εντολές Επανάληψης
12
Πολλαπλή επιλογή
13
• Πολλά εμφωλευμένα ΕΑΝ (συνθήκη) ΤΟΤΕ εντολή
ΑΛΛΙΩΣ ΕΑΝ (συνθήκη) ΤΟΤΕ …
Πολλαπλή επιλογή
Επίλεξε a
Περίπτωση 1:
Τύπωσε ‘Α’;
Περίπτωση 2:
Τύπωσε ‘Β’;
Περίπτωση 3:
Τύπωσε ‘Γ’;
Περίπτωση αλλιώς:
Τύπωσε ‘Άγνωστος’;
Τέλος-Επιλογών 14
Γλώσσα Ψευδοκώδικα
15
Γλώσσα Ψευδοκώδικα
16
Γλώσσα Ψευδοκώδικα
17
Γλώσσα Ψευδοκώδικα
18
Παράδειγμα
Παράδειγμα
Ερωτήσεις;
22