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

39
Ανάπτυξη Εφαρμογών 1 Παραδείγματα αλγορίθμων : για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου για να εκκινήσει ένα αυτοκίνητο για την πρωινή προετοιμασία για το σχολείο / νυχτερινή έξοδο Η αλληλουχία ενεργειών δεν είναι πάντα μία και μοναδική. Αλγόριθμος είναι ένα πεπερασμένο σύνολο εντολών αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, οι οποίες αν ακολουθηθούν επιτυγχάνεται ένα επιθυμητό αποτέλεσμα. Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.1 2.1 Τι είναι αλγόριθμος Τι είναι αλγόριθμος Ορισμό ς

description

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.1 Τι είναι αλγόριθμος. Αλγόριθμος είναι ένα πεπερασμένο σύνολο εντολών αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, οι οποίες αν ακολουθηθούν επιτυγχάνεται ένα επιθυμητό αποτέλεσμα. Ορισμός. Παραδείγματα αλγορίθμων : - PowerPoint PPT Presentation

Transcript of Παραδείγματα αλγορίθμων : για την παρασκευή ενός κέικ...

Page 1: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 1

Παραδείγματα αλγορίθμων: • για την παρασκευή ενός κέικ• για τον υπολογισμό του Μ.Ο. του τετραμήνου• για να εκκινήσει ένα αυτοκίνητο• για την πρωινή προετοιμασία για το σχολείο / νυχτερινή έξοδο

Η αλληλουχία ενεργειών δεν είναι πάντα μία και μοναδική.

Αλγόριθμος είναι ένα πεπερασμένο σύνολο εντολών αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, οι οποίες αν ακολουθηθούν επιτυγχάνεται ένα επιθυμητό αποτέλεσμα.

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.1 2.1 Τι είναι αλγόριθμοςΤι είναι αλγόριθμος

Ορισμός

Page 2: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 2

• Είσοδος (input) : καμία, μία ή περισσότερες τιμές δεδομένων ως είσοδοι στον αλγόριθμο

• Έξοδος (output) : ο αλγόριθμος «παράγει» τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα

• Καθοριστικότητα (defineteness) : να εξασφαλίζεται ο «ορισμός» κάθε εντολής

• Περατότητα (finiteness) : ο αλγόριθμος τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης

• Αποτελεσματικότητα (effectiveness) : ο αλγόριθμος αποτελείται από μεμονωμένες απλές-εκτελέσιμες εντολές

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.1 2.1 Κριτήρια ενός αλγορίθμουΚριτήρια ενός αλγορίθμου

Page 3: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 3

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.3 2.3 Περιγραφή & αναπαράσταση αλγορίθμωνΠεριγραφή & αναπαράσταση αλγορίθμων

ελεύθερο κείμενο: αποτελεί τον πιο ανεπεξέργαστο και αδόμητο τρόπο παρουσίασης αλγορίθμου.

φυσική γλώσσα κατά βήματα: περιγραφή κατά βήματα. διαγραμματικές τεχνικές: συνιστούν ένα γραφικό τρόπο

παρουσίασης του αλγορίθμου (η πιο γνωστή είναι το διάγραμμα ροής (flow chart))

κωδικοποίηση (coding): πρόγραμμα γραμμένο είτε με μία ψευδογλώσσα είτε σε κάποιο προγραμματιστικό περιβάλλον που όταν εκτελεσθεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο.

Page 4: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 4

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.3 2.3 Περιγραφή & αναπαράσταση αλγορίθμωνΠεριγραφή & αναπαράσταση αλγορίθμων

Αναπαράστασηαλγορίθμου με ελεύθερο κείμενο

Αρχικά διαβάζουμε τους συντελεστές α, β, γ του τριωνύμου. Στη συνέχεια, υπολογίζουμε τη διακρίνουσα με τον τύπο β2-4αγ και ανάλογα με την τιμή της, υπολογίζουμε τις ρίζες του τριωνύμου. Δηλαδή, αν η διακρίνουσα είναι αρνητική, το τριώνυμο δεν επιλύεται στο σύνολο των πραγματικών αριθμών. Ενώ, αν η διακρίνουσα ισούται με μηδέν, η λύση είναι –β/2α. Τέλος, αν η διακρίνουσα είναι θετική, τότε το τριώνυμο έχει τις εξής δύο λύσεις: ……

Page 5: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 5

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.3 2.3 Περιγραφή & αναπαράσταση αλγορίθμωνΠεριγραφή & αναπαράσταση αλγορίθμων

Αναπαράστασηαλγορίθμου σε φυσική γλώσσα κατά βήματα

1. Διαβάζουμε τους συντελεστές α, β, γ2. Υπολογίζουμε τη διακρίνουσα (Δ=β2-

4αγ)3. Αν Δ<0 τότε το τριώνυμο δεν επιλύεται 4. Αν Δ=0 τότε χ=–β/2α5. Αν Δ>0 τότε χ1=(-β+ΤΡ(Δ))/2α και χ2=(-β-ΤΡ(Δ))/2α

Page 6: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 6

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.3 2.3 Περιγραφή & αναπαράσταση αλγορίθμωνΠεριγραφή & αναπαράσταση αλγορίθμων

Αναπαράστασηαλγορίθμου με διάγραμμα ροής

ΤΕΛΟΣ

ΑΡΧΗ

Διάβασε α, β, γ

Δ < 0 ΝΑΙ ΟΧΙ

Δ β2-4αγ

Εκτύπωσε …Εκτύπωσε ‘Δε λύνεται’ Δ > 0 ΟΧΙ

ΝΑΙ

Εκτύπωσε ...

Page 7: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 7

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.3 2.3 Περιγραφή & αναπαράσταση αλγορίθμωνΠεριγραφή & αναπαράσταση αλγορίθμων

αναπαράστασηαλγορίθμου με κωδικοποίηση σεψευδογλώσσα

Αλγόριθμος ΤριώνυμοΔιάβασε α, β, γΔ β2 – 4αγΑν Δ<0 τότε

Εκτύπωσε ‘Δεν υπάρχει λύση’Αλλιώς_αν Δ=0 τότε χ -β/(2α)

Εκτύπωσε χΑλλιώς χ1 -β+ΤΡ(Δ)/(2α) χ2 -β+ΤΡ(Δ)/(2α)

Εκτύπωσε χ1, χ2

Τέλος_ανΤέλος Τριώνυμο

Page 8: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 8

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.4 Βασικές αλγοριθμικές δομές 2.4 Βασικές αλγοριθμικές δομές

Δομή ακολουθίας

Δομή επιλογής

Διαδικασίες πολλαπλών επιλογών

Εμφωλευμένες Διαδικασίες

Δομή επανάληψης

Page 9: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 9

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.4.1 Δομή ακολουθίας 2.4.1 Δομή ακολουθίας

Η ακολουθιακή δομή εντολών (σειριακών βημάτων) χρησιμοποιείται για την αντιμετώπιση απλών προβλημάτων, όπου είναι δεδομένη η σειρά εκτέλεσης ενός συνόλου ενεργειών.

Παράδειγμα : Να διαβασθούν δύο αριθμοί, να υπολογισθεί και να εκτυπωθεί το

γινόμενο τους.

Αλγόριθμος Γινόμενο

Διάβασε a, bc a * bΕκτύπωσε c

Τέλος Γινόμενο

Εντολή ανάγνωσης/εισόδου

Εντολή εκχώρησης

Εντολή εξόδου

Να γίνει και διάγραμμα ροής!!!

www.pseudoglossa.gr

Page 10: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 10

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.4.1 Δομή ακολουθίας 2.4.1 Δομή ακολουθίας

• Αρχίζει με τη δηλωτική εντολή Αλγόριθμος …• Τελειώνει με τη δηλωτική εντολή Τέλος …• Εισαγωγή δεδομένων: Διάβασε …• Κάθε λέξη της ψευδογλώσσας που προσδιορίζει μια σαφή

ενέργεια αποκαλείται εντολή• μεταβλητή έκφραση : εντολή εκχώρησης τιμής

γίνονται οι πράξεις στην έκφραση και το αποτέλεσμα εκχωρείται στη μεταβλητή

• Εκτύπωσε … : ή Εμφάνισε …Γράφει το αποτέλεσμα στον εκτυπωτή ή την οθόνη

• Κριτήρια αλγορίθμων: ικανοποιούνται;

Page 11: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 11

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.4.1 Δομή ακολουθίας 2.4.1 Δομή ακολουθίας

Παράδειγμα : Με δεδομένη την ακτίνα, να υπολογισθεί το εμβαδόν του αντίστοιχου κύκλου και το εμβαδόν του τετραγώνου που είναι περιγεγραμμένο στον κύκλο αυτόν.

Αλγόριθμος Εμβαδά

Διάβασε aktinakyklos 3.14 * aktina * aktinaplevra 2 * aktina tetragwno plevra * plevra Εκτύπωσε kyklos, tetragwno

Τέλος Εμβαδά

Να γίνει και διάγραμμα ροής!!!

Page 12: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 12

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.4.1 Στοιχεία Ψευδογλώσσας 2.4.1 Στοιχεία Ψευδογλώσσας

Σταθερές: Προκαθορισμένες τιμές που μένουν σταθερές σε όλη τη διάρκεια

εκτέλεσης ενός αλγορίθμου Αριθμητικές, π.χ. 123, -5, 3.14 Αλφαριθμητικές: Οποιοιδήποτε χαρ/ρες μέσα σε εισαγωγικά, π.χ.

“Κώστας”, “Αποτελέσματα” Λογικές, δύο τιμές: Αληθής, Ψευδής

Μεταβλητή: Ένα γλωσσικό αντικείμενο που παριστάνει ένα δεδομένο Έχει όνομα, τύπο, τιμή Τύποι: Αριθμητικές, Αλφαριθμητικές, Λογικές Π.χ. α=18, όνομα=“Κώστας”, έγινε=Αληθές

Page 13: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 13

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.4.1 Στοιχεία Ψευδογλώσσας 2.4.1 Στοιχεία Ψευδογλώσσας

Τελεστές: Σύμβολα που χρησιμοποιούνται στις διάφορες πράξεις Αριθμητικοί: +, -, *, /, ^, div, mod Συγκριτικοί: , <, =, , > Λογικοί: και, ή, όχι Παρενθέσεις, Ύψωση σε δύναμη, Πολ/σμός-Διαίρεση-DIV-MOD,

Πρόσθεση-Αφαίρεση Αριθμητικοί, Συγκριτικοί, Λογικοί

Εκφράσεις: Σχηματίζονται από σταθερές, μεταβλητές, συναρτήσεις, τελεστές,

παρενθέσεις (απλή ή σύνθετη) απόδοση τιμών στις μεταβλητές, εκτέλεση των πράξεων σύμφωνα με

την ιεραρχία των πράξεων Παραδείγματα:

o 5*α-β/2+4*(γ+1)o 2*ημ(ω)+2^2

Page 14: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 14

Η δομή της επιλογής χρησιμοποιείται στις περιπώσεις που χρειάζεται να λαμβάνονται κάποιες αποφάσεις με βάση κάποια δεδομένα κριτήρια, που μπορεί να είναι διαφορετικά για κάθε διαφορετικό στιγμιότυπο ενός προβλήματος.

Παράδειγμα : Να διαβαστεί ένας αριθμός και να εκτυπωθεί η απόλυτη τιμή του

Αλγόριθμος Απόλυτη_Τιμή

Διάβασε a

Αν a < 0 τότε a a*(-1)

Εκτύπωσε a

Τέλος Απόλυτη_Τιμή

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επιλογής: αν…τότε Δομή επιλογής: αν…τότε

Να γίνει και διάγραμμα ροής!!!

Page 15: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 15

Παράδειγμα:

Να διαβασθούν δύο αριθμοί και να εκτυπωθούν με φθίνουσα σειρά (πρώτα ο μεγαλύτερος και μετά ο μικρότερος).

Αλγόριθμος Διάταξη

Διάβασε α, β

αν α > β τότε

Εμφάνισε α , β

αλλιώς

Εμφάνισε β ,α

τέλος_αν

Τέλος Διάταξη

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επιλογής: αν…τότε…αλλιώς Δομή επιλογής: αν…τότε…αλλιώς

Page 16: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 16

Δομή Επιλογής: Τι να διαβάσετε

• ΔΕΝ διαβάζουμε τα διαγράμματα ροής• Θεωρία §2.4.2• Σαββάλα: 5.1, 5.2, 5.3,

Page 17: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 17

Κεφάλαιο 8: Επιλογή και επανάληψηΚεφάλαιο 8: Επιλογή και επανάληψηΔιδακτικοί στόχοιΔιδακτικοί στόχοι

• να σχηματίζετε λογικές εκφράσεις• να διατυπώνετε τις εντολές ελέγχου ΑΝ• να επιλέγετε την καταλληλότερη εντολή ΑΝ• να διατυπώνετε τις εντολές επανάληψης• να επιλέγετε την καλύτερη δομή επανάληψης• να συντάσσετε προγράμματα που χρησιμοποιούν και τις

τρεις βασικές δομές: της ακολουθίας, της επιλογής και της επανάληψης.

Page 18: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 18

Κεφάλαιο 8: Επιλογή και επανάληψηΚεφάλαιο 8: Επιλογή και επανάληψηΛογικές ΕκφράσειςΛογικές Εκφράσεις

• Λογικές εκφράσεις Τελεστής Ελεγχόμενη σχέση Παράδειγμα

• = Ισότητα Done = ΑΛΗΘΕΣ• <> Ανισότητα Ονομα1 <> 'Κώστας'• > Μεγαλύτερο απόΤιμή>10000• >= Μεγαλύτερο ή ίσο Χ+Υ >= (Α+Β)/Γ• < Μικρότερο από Κλειδί < ‘Ωρολόγιον’• <= Μικρότερο ή ίσο Βάρος <= 500• Σύνθετες λογικές εκφράσεις

– Λογικοί τελεστές: ΚΑΙ, Η, ΌΧΙ. Έχουν χαμηλότερη ιεραρχία από τους αριθμητικούς τελεστές.

Page 19: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 19

Παράδειγμα : Να διαβαστούν οι συντεταγμένες ενός σημείου, και να εκτυπωθεί αν είναι πάνω στους άξονες ή όχι.

Αλγόριθμος Σημείο_στο_χώρο

Διάβασε x,y

αν x=0 Η y=0 τότε

Εκτύπωσε “Το σημείο (”, x, “,”, y, “) βρίσκεται πάνω στους

άξονες”

αλλιώς

Εκτύπωσε “Το σημείο (”, x, “,”, y, “) δεν βρίσκεται πάνω στους

άξονες”

τέλος_αν

Τέλος Σημείο_στο_χώρο

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Λογικές Πράξεις: διάζευξη (Η) Λογικές Πράξεις: διάζευξη (Η)

x=0P

y=0Q

x=0 H y=0

P H Q

A A Α

A Ψ Α

Ψ Α Α

Ψ Ψ Ψ

Το Η δύο προτάσεων είναι αληθές όταν τουλάχιστον μία είναι αληθής:

Page 20: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 20

Παράδειγμα : Να διαβαστεί η ηλικία και να εκτυπώνεται αν είναι έφηβος (12 ηλικία 18) ή όχι.

Αλγόριθμος έφηβος

Διάβασε ηλικία

αν ηλικία >= 12 ΚΑΙ ηλικία <= 18 τότε

Εκτύπωσε “έφηβος”

αλλιώς

Εκτύπωσε “όχι έφηβος”

τέλος_αν

Τέλος έφηβος

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Λογικές Πράξεις: σύζευξη (ΚΑΙ) Λογικές Πράξεις: σύζευξη (ΚΑΙ)

P Q P ΚΑΙ Q

A A Α

A Ψ Ψ

Ψ Α Ψ

Ψ Ψ Ψ

Το ΚΑΙ δύο προτάσεων είναι αληθές όταν και οι δύο είναι αληθείς:

Page 21: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 21

Παράδειγμα : Κάποιος έχει αργία μόνο τις Κυριακές. Να διαβαστεί η ημέρα, και να τυπωθεί το μήνυμα «Δουλεύω! Όχι πάλι!», αν δουλεύει σήμερα.

Αλγόριθμος Arbeit_Macht_Frei

Διάβασε ημέρα

αν OXI (ημέρα=“Κυριακή”) τότε

Εκτύπωσε “Δουλεύω! Όχι πάλι!”

τέλος_αν

Τέλος Arbeit_Macht_Frei

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Λογικές Πράξεις: άρνηση (ΌΧΙ) Λογικές Πράξεις: άρνηση (ΌΧΙ)

P OXI P

A Ψ

Ψ Α

Το ΟΧΙ μίας πρότασης είναι αληθές όταν η πρόταση είναι ψευδής

Page 22: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 22

ΘΕΩΡΙΑ: Προτεραιότητα λογικών τελεστών:1η: ΟΧΙ π.χ. όχι Β και Α = (όχι Β) και Α2η: ΚΑΙ π.χ. Α ή Β και Γ = Α ή (Β και Γ)3η: Η π.χ. Α και όχι Β ή Γ = (Α και (όχι Β)) ή Γ

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Λογικές Πράξεις: Προτεραιότητα, ΣυγκρίσειςΛογικές Πράξεις: Προτεραιότητα, Συγκρίσεις

ΘΕΩΡΙΑ: Συγκρίσεις Αλφαριθμητικών:Τα αλφαριθμητικά συγκρίνονται αλφαβητικά:“A” < “B”“Antoni” > “Amalia”“Ω” > “Ψητοπωλείο”

ΘΕΩΡΙΑ: Συγκρίσεις Λογικών:Σύγκριση λογικών έχει έννοια μόνο στην περίπτωση = και < >Π.χ. done = Αληθές απάντηση1 < > απάντηση2

Page 23: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 23

Κεφάλαιο 8: Επιλογή και επανάληψη Κεφάλαιο 8: Επιλογή και επανάληψη Εντολή ΑΝΕντολή ΑΝ

• Σύνταξη

ΑΝ συνθήκη ΤΟΤΕεντολή-1εντολή-2…εντολή-ν

ΤΕΛΟΣ_ΑΝ

– Παράδειγμα

ΑΝ αριθμός > 0 ΤΟΤΕΓΡΑΨΕ 'Ο αριθμός είναι θετικός'πλήθος_θετικών <- πλήθος_θετικών + 1

ΤΕΛΟΣ_ΑΝ

Page 24: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 24

Κεφάλαιο 8: Επιλογή και επανάληψηΚεφάλαιο 8: Επιλογή και επανάληψηΕντολή ΑΝ … ΤΟΤΕ … ΑΛΛΙΩΣΕντολή ΑΝ … ΤΟΤΕ … ΑΛΛΙΩΣ

– ΣύνταξηΑΝ συνθήκη ΤΟΤΕ

εντολή-1 εντολή-2

…εντολή-ν

ΑΛΛΙΩΣ εντολή-1

Εντολή-2…εντολή-ν

ΤΕΛΟΣ_ΑΝ

• ΠαράδειγμαΑΝ αριθμός > 0 ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι θετικός’ Πλήθος_θετικών <- Πλήθος_θετικών+1ΑΛΛΙΩΣ ΓΡΑΨΕ 'Ο αριθμός είναι αρνητικός ή 0’ Πλήθος_μη_θετικών <- Πλήθος_μη_θετικών +1ΤΕΛΟΣ_ΑΝ

Page 25: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 25

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

1η Μορφή:αν… αλλιώς_αν

Παράδειγμα : Να διαβασθεί ένας ακέραιος και να εκτυπωθεί η αντίστοιχη μέρα της εβδομάδας αν ο ακέραιος έχει τιμή 1 έως 7 διαφορετικά να εκτυπωθεί “λάθος ημέρα”.

Αλγόριθμος Ημέρα_εβδομάδαςΔιάβασε μέρααν μέρα = 1 τότε Εκτύπωσε “Κυριακή”αλλιώς_αν μέρα = 2 τότε Εκτύπωσε “Δευτέρα”αλλιώς_αν μέρα = 3 τότε Εκτύπωσε “Τρίτη”αλλιώς_αν μέρα = 4 τότε Εκτύπωσε “Τετάρτη”αλλιώς_αν μέρα = 5 τότε Εκτύπωσε “Πέμπτη”αλλιώς_αν μέρα = 6 τότε Εκτύπωσε “Παρασκευή”αλλιώς_αν μέρα = 7 τότε Εκτύπωσε “Σάββατο”αλλιώς Εκτύπωσε “Έδωσες λάθος μέρα ”, μέρατέλος_ανΤέλος Ημέρα_εβδομάδας

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Διαδικασίες πολλαπλών επιλογών Διαδικασίες πολλαπλών επιλογών

Page 26: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 26

2η Μορφή:

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

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

εντολές1

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

εντολές2

….

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

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

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

Αλγόριθμος Ημέρα_εβδομάδαςΔιάβασε μέρα

Επέλεξε μέρα

Περίπτωση 1

Εκτύπωσε “Κυριακή”

Περίπτωση 2

Εκτύπωσε “Δευτέρα”

Περίπτωση 3

Εκτύπωσε “Τρίτη”

Περίπτωση 4

Εκτύπωσε “Τετάρτη”

Περίπτωση 5

Εκτύπωσε “Πέμπτη”

Περίπτωση 6

Εκτύπωσε “Παρασκευή”

Περίπτωση 7

Εκτύπωσε “Σάββατο”

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

Εκτύπωσε “Έδωσες λάθος μέρα”, μέρα, “.”

τέλος_επιλογώνΤέλος Ημέρα_εβδομάδας

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Διαδικασίες πολλαπλών επιλογών Διαδικασίες πολλαπλών επιλογών

Page 27: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 27

Κεφάλαιο 8: Επιλογή και επανάληψηΚεφάλαιο 8: Επιλογή και επανάληψηΕντολή ΑΝ … ΤΟΤΕ … ΑΛΛΙΩΣ_ΑΝΕντολή ΑΝ … ΤΟΤΕ … ΑΛΛΙΩΣ_ΑΝ

• ΣύνταξηΑΝ συνθήκη1 ΤΟΤΕ

εντολή-1 εντολή-2

…ΑΛΛΙΩΣ_ΑΝ συνθήκη2 ΤΟΤΕ

εντολή-1εντολή-2…

ΑΛΛΙΩΣ εντολή-1

εντολή-2…

ΤΕΛΟΣ_ΑΝ

• ΠαράδειγμαΑΝ αριθμός > 0 ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι θετικός’ Πλήθος_θετικών <- Πλήθος_θετικών + 1ΑΛΛΙΩΣ_ΑΝ αριθμός < 0 ΤΟΤΕ

ΓΡΑΨΕ 'Ο αριθμός είναι αρνητικός’ Πλήθος_αρνητικών<- Πλήθος_αρνητικών + 1ΑΛΛΙΩΣ ΓΡΑΨΕ 'Ο αριθμός είναι 0’ Πλήθος_0 <- Πλήθος_0 + 1ΤΕΛΟΣ_ΑΝ

Page 28: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 28

Κεφάλαιο 8: Επιλογή και επανάληψηΚεφάλαιο 8: Επιλογή και επανάληψηΕντολή ΕΠΕΛΕΞΕΕντολή ΕΠΕΛΕΞΕ

• ΣύνταξηΕΠΕΛΕΞΕ έκφραση ΠΕΡΙΠΤΩΣΗ λίστα_τιμών1 εντολές1 ΠΕΡΙΠΤΩΣΗ λίστα_τιμών2 εντολές2……

ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ εντολές_ΑλλιώςΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ

• ΠαράδειγμαΔΙΑΒΑΣΕ μήναςΕΠΕΛΕΞΕ μήνας ΠΕΡΙΠΤΩΣΗ ‘Δεκ’, ‘Ιαν’,’Φεβ’ ΓΡΑΨΕ ‘Χειμώνας’ ΠΕΡΙΠΤΩΣΗ ‘Μαρ’, ‘Απρ’,’Μαι’ ΓΡΑΨΕ ‘Άνοιξη’ ΠΕΡΙΠΤΩΣΗ ‘Ιουν’, ‘Ιουλ’,’Αυγ’ ΓΡΑΨΕ ‘Καλοκαίρι’ ΠΕΡΙΠΤΩΣΗ ‘Σεπ’, ‘Οκτ’,’Νοε’ ΓΡΑΨΕ ‘Φθινόπωρο’ ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Έδωσες λάθος μήνα!’ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ

Page 29: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 29

Οι εντολές που βρίσκονται μέσα σε μια δομή επιλογής μπορεί να είναι επίσης δομή επιλογής. Τότε έχουμε εμφωλευμένες διαδικασίες.

Παράδειγμα: Χριστουγεννιάτικα δώραΝα γραφεί αλγόριθμος που να δέχεται το φύλο και την ηλικία ενός ατόμου, και να εκτυπώνει το δώρο που θα του πάρουμε ως εξής:Άντρας ΓραβάταΓυναίκα ΆρωμαΑγόρι ΜπάλαΚορίτσι Κούκλα(Υποθέστε ότι για φύλο ο χρήστης δίνει «Αρσενικό» ή «Θηλυκό», χωρίς περίπτωση λάθους)

Αλγόριθμος Χριστουγεννιάτικα_δώραΔιάβασε φύλο, ηλικίααν φύλο = “Αρσενικό” τότε αν ηλικία >= 18 τότε

Εκτύπωσε “Γραβάτα” αλλιώς

Εκτύπωσε “Μπάλα” τέλος_αν αλλιώς αν ηλικία >= 18 τότε

Εκτύπωσε “Άρωμα” αλλιώς

Εκτύπωσε “Κούκλα” τέλος_αν τέλος_ανΤέλος Χριστουγεννιάτικα_δώρα

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Εμφωλευμένες Δομές Εμφωλευμένες Δομές

Page 30: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 30

Παρατήρηση: Με εμφωλευμένες δομές (διαδικασίες) μπορούμε να υλοποιήσουμε πολλαπλή επιλογή:

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Εμφωλευμένες Δομές Εμφωλευμένες Δομές

Παράδειγμα: Χαρακτηρισμός βαθμούΝα γραφεί αλγόριθμος που να δέχεται το βαθμό ως Α, Β ή Γ, και να τυπώνει “Άριστα”, “Καλά” ή “Μέτρια”, ή μήνυμα λάθους

Αλγόριθμος Χαρακτηρισμός_βαθμούΔιάβασε βαθμόςαν βαθμός = “Α” τότε Εκτύπωσε “Άριστα”αλλιώς αν βαθμός = “Β” τότε

Εκτύπωσε “Καλά” αλλιώς αν βαθμός = “Γ” τότε

Εκτύπωσε “Μέτρια” αλλιώς Εκτύπωσε “Λάθος Βαθμός” τέλος_αν τέλος_αντέλος_ανΤέλος Χαρακτηρισμός_βαθμού

Προσοχή:Το τέλος_αν κλείνει το πιο κοντινό του αν.

Page 31: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 31

Κεφάλαιο 8: Επιλογή και επανάληψηΚεφάλαιο 8: Επιλογή και επανάληψηΕμφωλευμένα ΑΝΕμφωλευμένα ΑΝ

– ΠαράδειγμαΔΙΑΒΑΣΕ νόμισμαΔΙΑΒΑΣΕ μισθόςΑΝ νόμισμα=‘Δρχ’ ΤΟΤΕ

ΑΝ μισθός> 500000 ΤΟΤΕ ΓΡΑΨΕ ‘Καλά λεφτά!’ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Εξαθλίωση…’ΤΕΛΟΣ_ΑΝ

ΑΛΛΙΩΣ_ΑΝ νόμισμα=‘Ευρώ’ ΤΟΤΕΑΝ μισθός> 1467,35 ΤΟΤΕ ΓΡΑΨΕ ‘Kala lefta!’ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Eksathliwsi…’ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΑΝ

• ΠαράδειγμαΑΝ αριθμός > 0 ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι θετικός’ Πλήθος_θετικών <- Πλήθος_θετικών+1ΑΛΛΙΩΣ ΑΝ αριθμός < 0 ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι αρνητικός’

Πλήθος_Αρν <- Πλήθος_Αρν +1 ΑΛΛΙΩΣ

ΓΡΑΨΕ 'Ο αριθμός είναι 0’ Πλήθος_0 <- Πλήθος_0 +1

ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΑΝ

Page 32: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 32

Κεφάλαιο 8: Επιλογή και επανάληψηΚεφάλαιο 8: Επιλογή και επανάληψηΤι να διαβάσετεΤι να διαβάσετε

Θεωρία:Παρ. 8.1, Ερωτήσεις 1-6

Παραδείγματα:Από Τετράδιο Μαθητή, Παρ.1, 2 (Το 2 χρειάζεται διορθώσεις)

Ασκήσεις:Τετράδιο Μαθητή: ΔΤ1, ΔΤ2, ΔΕ1 με προσοχή, χωρίς περιττούς

ελέγχους!, ΔΣ2 οπωσδήποτε

Page 33: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 33

Κεφάλαιο 2 : Βασικές ΈννοιεςΚεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΑλγορίθμων

Δομή επανάληψης Δομή επανάληψης

Η δομή της επανάληψης

χρησιμοποιείται στις περιπώσεις

όπου μία ακολουθία

εντολών πρέπει να εφαρμοσθεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

κοινό.

Παράδειγμα : Να γραφεί αλγόριθμος που να εμφανίζει τους αριθμούς από 1 έως 100.

Αλγόριθμος Παράδειγμα_2.7i 1Όσο i <= 100 επανάλαβε

Εμφάνισε ii i + 1

Τέλος_επανάληψηςΤέλος Παράδειγμα _2.7

Page 34: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 34

Η δομή επανάληψης χρησιμοποιείται στις περιπώσεις που χρειάζεται να εφαρμοστεί η ίδια ακολουθία εντολών πάνω σε διαφορετικά δεδομένα ενός συνόλου.

π.χ.

τόκος = ποσό * επιτόκιο

Παράδειγμα : Να εκτυπωθούν όλοι οι αριθμοί από το 1 μέχρι το 100.

Αλγόριθμος Μέτρημα

μ 1

όσο μ <= 100 επανάλαβε

Εμφάνισε μ

μ μ + 1

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

Τέλος Μέτρημα

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης: όσο-επανάλαβε Δομή επανάληψης: όσο-επανάλαβε

Page 35: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 35

1η μορφή :όσο συνθήκη επανάλαβε

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

Λειτουργία1. ελέγχεται η συνθήκη2. αν είναι αληθής:

* εκτελούνται οι εντολές* πηγαίνει στο βήμα 1

3. αν είναι ψευδής:* πηγαίνει στην εντολή που ακολουθεί το τέλος_επανάληψης

Παρατήρηση :Ο βρόγχος μπορεί να μηνεκτελεστεί καμία φορά!

Αλγόριθμος Αστεράκια

Διάβασε α

όσο α > 0 επανάλαβε

Εκτύπωσε “*”

α α – 1

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

Τέλος Αστεράκια

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης : όσο-επανάλαβε (2) Δομή επανάληψης : όσο-επανάλαβε (2)

Παράδειγμα : Να διαβάζεται ένας αριθμός και να τυπώνονται τόσα “*”.

•Ζυγοί αριθμοί από 2 έως 100

•Οι πρώτοι 100 ζυγοί αριθμοί

Page 36: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 36

Να γραφεί αλγόριθμος που θα διαβάζει θετικούς αριθμούς μέχρι να δοθεί κάποιος αρνητικός αριθμός οπότε και θα τυπώνει το πλήθος και τη μέση τιμή των θετικών και μηδενικών αριθμών που δόθηκαν.

Αλγόριθμος Θετικοί_ΑριθμοίΑθρ 0πλήθος 0διάβασε xόσο x > 0 επανάλαβε

Αθρ Αθρ + xπλήθος πλήθος + 1διάβασε x

τέλος_επανάληψηςεκτύπωσε “Πλήθος αριθμών: ”,πλήθοςαν πλήθος > 0 τότε

εκτύπωσε “Μέση τιμή:”,Αθρ/πλήθοςτέλος_ανΤέλος Θετικοί_Αριθμοί

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης: ΠαραδείγματαΔομή επανάληψης: Παραδείγματα

Page 37: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 37

Κεφάλαιο 8: Επιλογή και επανάληψηΚεφάλαιο 8: Επιλογή και επανάληψηΕντολή ΟΣΟ…ΕΠΑΝΑΛΑΒΕΕντολή ΟΣΟ…ΕΠΑΝΑΛΑΒΕ

• ΣύνταξηΟΣΟ συνθήκη ΕΠΑΝΑΛΑΒΕ

εντολέςΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

• Η ΟΣΟ είναι η γενικότερη εντολή επανάληψης: μπορεί να υλοποιήσει όλες τις υπόλοιπες.

• Παράδειγμαi=1βρέθηκε = ΨΕΥΔΕΣΟΣΟ ΟΧΙ βρέθηκε ΚΑΙ iΝ ΕΠΑΝΑΛΑΒΕ

ΑΝ Α[i]=κλειδί ΤΟΤΕβρέθηκε = ΑΛΗΘΕΣθέση = i

ΑΛΛΙΩΣ i=i+1

ΤΕΛΟΣ_ΑΝΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Page 38: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 38

Παράδειγμα 2.8 : Να διαβάζονται και να εκτυπώνονται όσοι θετικοί αριθμοί δίνονται από το πληκτρολόγιο. Ο αλγόριθμος τελειώνει όταν δοθεί ένας αρνητικός αριθμός.

Αλγόριθμος Παράδειγμα_2.8

Αρχή_επανάληψης Διάβασε xΕμφάνισε x

Μέχρις_ότου x < 0Τέλος Παράδειγμα _2.8

Κεφάλαιο 2 : Βασικές ΈννοιεςΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Αλγορίθμων

Δομή επανάληψης Δομή επανάληψης

Page 39: Παραδείγματα αλγορίθμων :  για την παρασκευή ενός κέικ για τον υπολογισμό του Μ.Ο. του τετραμήνου

Ανάπτυξη Εφαρμογών 39

Αλγόριθμος Τηλέφωνο_Αθήνας

αρχή_επανάληψης

Διάβασε τηλ

μέχρις_ότου τηλ >= 2000000 και τηλ <= 9999999

Εμφάνισε τηλ

Τέλος Τηλέφωνο_Αθήνας

Κεφάλαιο 2 : Βασικές Έννοιες ΑλγορίθμωνΚεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης : αρχή_επανάληψης Δομή επανάληψης : αρχή_επανάληψης

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

2η μορφή :αρχή_επανάληψης

εντολέςμέχρις_ότου συνθήκη

Λειτουργία1. εκτελούνται οι εντολές2. ελέγχεται η συνθήκη3. αν είναι ψευδής:

* πηγαίνει στο βήμα 14. αν είναι αληθής:

* πηγαίνει στην εντολή που ακολουθεί το μέχρις_ότου

Παρατήρηση :- Ο βρόγχος εκτελείται πάντατουλάχιστον μία φορά!-Χρησιμοποιείται συχνά για εισαγωγή έγκυρων δεδομένων