Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Σχεδίαση Αλγορίθμων
Σχεδίαση Αλγορίθμων Συνδυασμός Βασικών Αλγοριθμικών Δομών Λογικές πράξεις/ συνθήκες Σχεδίαση απλών αλγορίθμων 2
Επανάληψη μέσα σε επιλογή 3
Παράδειγμα Επανάληψης μέσα σε Επιλογή Ένας μαθητής αποφάσισε να αγοράσει ένα υπολογιστικό σύστημα αξίας 1800. Επειδή όμως δεν του επαρκεί το ποσό που έχει συγκεντρώσει με τις οικονομίες του ζήτησε από τους γονείς του να τον βοηθήσουν. Οι γονείς του δήλωσαν ότι μπορούν να τον βοηθήσουν να συγκεντρώσει το ποσό, δίνοντάς του κάθε εβδομάδα ποσό διπλάσιο από την προηγούμενη, αρχίζοντας την πρώτη εβδομάδα με 15. 4
Διάγραμμα Ροής 1(ΕμΕ) 5
Διάγραμμα Ροής 2(ΕμΕ) 6
Λύση σε Ψευδογλώσσα 1(ΕμΕ) ΑΡΧΙΚΗ ΤΙΜΗ=1000 7
Λύση σε Ψευδογλώσσα 2(ΕμΕ) 8
Λύση σε Ψευδογλώσσα 3(ΕμΕ) 9
Εμφώλευση επιλογής σε επανάληψη 10
Παράδειγμα Εμφώλευσης επιλογής σε επανάληψη Έχετε πέντε κουρτίνες που κρύβουν πέντε αριθμούς. Προσπαθήστε να μαντέψετε σε ποια κουρτίνα κρύβεται ο μικρότερος αριθμός. Για να βρείτε τον αριθμό θα πρέπει να ακολουθήσετε κάποιους κανόνες: 1.Μπορείτε να ανοίγετε τις κουρτίνες μια-μια από αριστερά προς τα δεξιά αλλά δεν μπορείτε να ανοίξετε ξανά μια κουρτίνα που έχει ανοιχτεί. 2.Κάθε φορά που ανοίγετε μια κουρτίνα και θα βλέπετε τον αριθμό που είναι κρυμμένος δεν θα έχετε τη δυνατότητα να τον θυμάστε, εκτός αν τον κρατάτε σε μια θέση μνήμης που την ονομάζουμε ελάχιστο. 11
Λύση σε Ψευδογλώσσα 1(ΕεΕ) 12
Λύση σε Ψευδογλώσσα 2(ΕεΕ) 13
Λύση σε Ψευδογλώσσα 3(ΕεΕ) 14
Άσκηση 1 με Εμφώλευση επιλογής σε επανάληψη Δημιουργήστε αλγόριθμο που θα εκτυπώνει τον μέγιστο από 5 αριθμούς που θα εισάγει ο χρήστης. 15
Λύση Άσκησης 1 με Εμφώλευση επιλογής σε επανάληψη 16
Βελτίωση Αλγόριθμου ΕεΕ Τροποποιήστε τον προηγούμενο αλγόριθμο ώστε να εκτυπώνει και την θέση του μέγιστου αριθμού. 17
Λύση Βελτίωσης Αλγόριθμου ΕεΕ 18
Άσκηση 2 με Εμφώλευση επιλογής σε επανάληψη Οι υπεύθυνοι από ένα κέντρο υποδοχής μεταναστών θέλουν να αναπτύξουν έναν αλγόριθμο που να έχει ως έξοδο την ηλικία του μεγαλύτερου άνδρα και της μεγαλύτερης γυναίκας που φιλοξενούν στις εγκαταστάσεις τους. Για το σκοπό αυτό δημιουργήστε έναν αλγόριθμο ο οποίος: 19
Διευκρινίσεις 1.Να εισαγάγει τον αριθμό των ανθρώπων που φιλοξενούνται στις εγκαταστάσεις του κέντρου. 2.Για κάθε φιλοξενούμενο να εισαγάγει το φύλο του (Α για άντρας και Γ για γυναίκα) και την ηλικία του. 3.Να εμφανίζει το εύρος της ηλικίας των γυναικών (εύρος θεωρούμε τη διαφορά της μεγαλύτερης και μικρότερης ηλικίας). Θεωρήστε ότι ο χρήστης του προγράμματος θα βάζει τιμές για την ηλικία και το φύλο που θα είναι πραγματικές και δεν θα χρειάζονται έλεγχο από το δημιουργό του προγράμματος. 20
Λύση Άσκησης 2 με Εμφώλευση επιλογής σε επανάληψη 21
Τέλος Κεφαλαίου