Δομές Επανάληψης Όσο μέχρις ότου για 22/11/08 Ανάπτυξη εφαρμογών 1
Όσο. επανάλαβε Όσο Συνθήκη επανάλαβε Εντολή1 Εντολή2.. Ομάδα εντολών Συνθήκη Αληθής Ομάδα εντολών Εντολή Ν Τέλος_Επανάληψης Ψευδής 1. Πρώτα ελέγχεται η συνθήκη 2. Αν είναι αληθινή εκτελείται η ομάδα εντολών και μετά ελέγχεται ξανά η συνθήκη 3. Όταν η συνθήκη γίνει ψευδής τερματίζεται η επανάληψη και ο έλεγχος μεταφέρεται στην πρώτη εντολή μετά το τέλος επανάληψης 22/11/08 Ανάπτυξη εφαρμογών 2
Εμφάνιση διαδοχικών ακεραίων από 1 μέχρι 100 με όσο.. επανάλαβε αρχή Αλγόριθμος ΟΣΟ1 Κ 1 Κ 1 Όσο Κ<=100 επανάλαβε Εμφάνισε Κ Κ<=100 Αληθής Κ Κ+1 Κ Κ+1 Τέλος Επανάληψης Ψευδής Εμφάνισε Κ Τέλος ΟΣΟ1 τέλος 22/11/08 Ανάπτυξη εφαρμογών 3
Μέχρις ότου Αρχή_ Επανάληψης Ομάδα εντολών Συνθήκη Αληθής ψευδής Εντολή1 Εντολή2.. Εντολή Ν Ομάδα εντολών Μέχρις_ότου Συνθήκη = αληθής 1. ΠΡΩΤΑ εκτελείται η ομάδα εντολών ανεξάρτητα από την συνθήκη 2. Ελέγχεται η συνθήκη και αν είναι ψευδής επαναλαμβάνεται η ομάδα εντολών 3. Όταν η συνθήκη γίνει αληθής τερματίζεται η επανάληψη και ο έλεγχος μεταφέρεται στην πρώτη εντολή μετά το τέλος επανάληψης 22/11/08 Ανάπτυξη εφαρμογών 4
Εμφάνιση διαδοχικών ακεραίων από 1 μέχρι 100 με Μέχρις_ότου Κ>100 αρχή Κ 1 Εμφάνισε Κ Κ Κ+1 Ψευδής Αλγόριθμος Μέχρις1 Κ 1 Αρχή επανάληψης Εμφάνισε Κ Κ Κ+1 Μέχρις_ότου Κ>100 Τέλος Μέχρις1 Αληθής τέλος 22/11/08 Ανάπτυξη εφαρμογών 5
Για από μέχρι.. με_βήμα Για Μ από Τ1 μέχρι Τ2 με_βήμα β εντολή1 Μ Τ1 εντολή2. εντολή ν Ομάδα εντολών Μ<=Τ2 Όχι Ναι Ομάδα εντολών Μ Μ +β Τέλος_ επανάληψης 1. Αρχικά η μεταβλητή Μ παίρνει την αρχική τιμή Τ1 2. Ελέγχεται αν η Μ είναι Μικρότερη της τελικής τιμής Τ2 3. Αν είναι εκτελείται η ομάδα εντολών του βρόχου και η Μ παίρνει την επόμενη τιμή της 4. Ο βρόχος τερματίζεται όταν η Μ πάρει τιμή μεγαλύτερη της Τ2 5. Το βήμα μπορεί να παραλειφθεί όταν είναι 1 6. Όταν Τ2>=Τ1 τότε πρέπει το βήμα να είναι θετικό, ενώ όταν Τ2<=Τ1 πρέπει το βήμα να είναι αρνητικό ( στις αντίθετες περιπτώσεις δεν εκτελείται ο βρόχος επανάληψης ) 7. Όταν το βήμα είναι 0 έχουμε ατέρμονα βρόχο ( άπειρες επαναλήψεις) 22/11/08 Ανάπτυξη εφαρμογών 6
Εμφάνιση διαδοχικών ακεραίων από 1 μέχρι 100 με Για..από μέχρι.. αρχή Αλγόριθμος Για1 Κ 1 Για Κ από 1 μέχρι 100 Εμφάνισε Κ Κ<=100 Αληθής Κ Κ+1 Τέλος Επανάληψης Ψευδής Εμφάνισε Κ Τέλος Για1 τέλος 22/11/08 Ανάπτυξη εφαρμογών 7
Διαφορές Όσο επανάλαβε Έλεγχος στην αρχή Εκτέλεση όταν συνθήκη είναι αληθής Τερματισμός όταν συνθήκη γίνει ψευδής Μπορεί να μην εκτελεστεί ο βρόχος καμιά φορά ( αρχική συνθήκη ψευδής) Μέχρις_ότου Έλεγχος στο τέλος Εκτέλεση όταν συνθήκη είναι ψευδής Τερματισμός όταν συνθήκη γίνει αληθής Οι εντολές του βρόχου εκτελούνται οπωσδήποτε μια φορά ( γιατί ο έλεγχος γίνεται μετά) 1. Και οι δυο δομές χρησιμοποιούνται όταν δεν γνωρίζουμε το πλήθος των επαναλήψεων 2. Η συνθήκη πρέπει να ενημερώνεται κάθε φορά που τερματίζονται οι εντολές του βρόχου ώστε κάποια στιγμή να αλλάξει ( Αληθής σε ψευδή για την όσο, ψευδής σε αληθή για την μέχρις ότου). Αν δεν γίνει αυτό θα έχουμε άπειρες επαναλήψεις ( ατέρμων βρόχος) 22/11/08 Ανάπτυξη εφαρμογών 8
Εμφωλευμένοι βρόχοι Επιτρεπτοί Για Κ Για Λ. Τέλος επανάληψης Για Μ.... Τέλος επανάληψης Τέλος Επανάληψης Μη Επιτρεπτοί Για Κ Για Λ. Τέλος επανάληψης Για Μ.... Τέλος επανάληψης Τέλος Επανάληψης 22/11/08 Ανάπτυξη εφαρμογών 9
Μετατροπή της δομής Όσο σε Μέχρις ότου Αρχική τιμή Σ Όσο Σ επανάλαβε Εντολή 1 Εντολή 2 Εντολή ν Ενημέρωση τιμής Σ Τέλος επανάληψης Αρχική τιμή Σ Αρχή επανάληψης Εντολή 1 Εντολή 2 Εντολή ν Ενημέρωση τιμής Σ Μέχρις_ότου ΌΧΙ Σ Η συνθήκη στην μέχρις ότου είναι η άρνηση της συνθήκης στης όσο Πχ ( α>0) και (β>0) (α<=0) ή ( β(<=0) 22/11/08 Ανάπτυξη εφαρμογών 10
Μετατροπή της δομής Όσο σε Μέχρις ότου Α 6 Β 10 Όσο (Α>0 και Β <30) επανάλαβε Εμφάνισε Α Εμφάνισε Β Α Α-2 Β Β+3 Τέλος επανάληψης Α 6 Β 10 Αρχή επανάληψης Εμφάνισε Α Εμφάνισε Β Α Α-2 Β Β+3 Μέχρις_ότου (Α<=0 ή Β>=30) Η συνθήκη στην μέχρις ότου είναι η άρνηση της συνθήκης στης όσο 22/11/08 Ανάπτυξη εφαρμογών 11
Μετατροπή της δομής Για σε όσο Για Μ από Τ1 μέχρι Τ2 με βήμα β Εντολή 1 Εντολή 2 Εντολή ν Τέλος επανάληψης Μ Τ1 Όσο Μ <=Τ2 επανάλαβε Εντολή 1 Εντολή 2 Εντολή ν Μ Μ + β Τέλος επανάληψης Αν Τ1>Τ2 τότε η συνθήκη γίνεται Όσο Μ>=Τ2 και το βήμα β<0 22/11/08 Ανάπτυξη εφαρμογών 12
Μετατροπή της δομής Για σε όσο Για κ από 100 μέχρι 20 με βήμα -5 Κ 100 Όσο Κ>=20 επανάλαβε Εμφάνισε Κ Τέλος επανάληψης Εμφάνισε Κ Κ Κ-5 Τέλος επανάληψης 22/11/08 Ανάπτυξη εφαρμογών 13
Μετρητές, αθροιστές Διάβασμα βάρους 50 κιβωτίων και υπολογισμός μέσης τιμής Αλγόριθμος Μετρητές_Αθροιστές Μ 0! Μετρητής, αρχική τιμή 0 ΆΘροισμα 0! Αθροιστής, αρχική τιμή 0 Διάβασε Βάρος! Πρώτη τιμή βάρους Όσο Μ<=50 επανάλαβε Αθροισμα Αθροισμα +Βάρος Μ Μ+1 Διάβασε Βάρος Τέλος Επανάληψης Μέση_τιμή Άθροισμα / Μ Εμφάνισε Μέση_τιμή Τέλος Μετρητές_Αθροιστές!Ενημέρωση αθροιστή!ενημέρωση μετρητή! Επόμενη τιμή βάρους 22/11/08 Ανάπτυξη εφαρμογών 14
Αλγόριθμος Παραγοντικό Διάβασε Ν Ρ 1 Αν Ν =0 τότε Ρ 1 Αλλιώς Κ 1 Όσο Κ <=Ν επανάλαβε Ρ Ρ*Ι Κ Κ+1 Τέλος Επανάληψης Τέλος_αν Εμφάνισε Ρ Τέλος Παραγοντικό Πολλαπλασιαστές 22/11/08 Ανάπτυξη εφαρμογών 15
Υπολογισμός Μέγιστου πολλών αριθμών γνωστού πλήθους - γνωστού εύρους τιμών Να γραφεί αλγόριθμος που αφού διαβάσει τις θερμοκρασίες κάθε μέρας για όλο το χρόνο ( 365 μέρες) για την Αθήνα, να βρίσκει την υψηλότερη και την χαμηλότερη τιμή τους Αρχική τιμή μέγιστου η μικρότερη πιθανή τιμή Αρχική τιμή ελάχιστου η μεγαλύτερη πιθανή τιμή Αλγόριθμος Μέγιστος_ελάχιστος Μax -273! Δεν υπάρχει μικρότερη Min +100! Δεν υπάρχει μεγαλύτερη Για Κ από 1 μέχρι 365 Διάβασε Θ Αν Θ>Max τότε Max Θ Τέλος_αν Αν Θ<Min τότε Min Θ Τέλος_αν Τέλος_επανάληψης Εμφάνισε Min, Max Τέλος Μέγιστος_ελάχιστος 22/11/08 Ανάπτυξη εφαρμογών 16
Υπολογισμός Μέγιστου πολλών αριθμών γνωστού πλήθους -άγνωστου εύρους τιμών Να γραφεί αλγόριθμος που αφού διαβάσει 50 τυχαίους αριθμούς να βρίσκει τον μεγαλύτερο και τον μικρότερο Αρχικές τιμές μέγιστου και ελάχιστου η πρώτη τιμή Αλγόριθμος Μέγιστος_ελάχιστος Διάβασε Α Μέγιστος Α Ελάχιστος Α Για Κ από 1 μέχρι 49 Διάβασε Α Αν Α> Μέγιστος τότε Μέγιστος Θ Τέλος_αν Αν Α < Ελάχιστος τότε Ελάχιστος Α Τέλος_αν Τέλος_επανάληψης Εμφάνισε Μέγιστος, Ελάχιστος Τέλος Μέγιστος_ελάχιστος 22/11/08 Ανάπτυξη εφαρμογών 17
Υπολογισμός Μέγιστου πολλών αριθμών άγνωστου πλήθους -άγνωστου εύρους τιμών Να γραφεί αλγόριθμος που αφού διαβάσει 50 τυχαίους θετικούς αριθμούς να βρίσκει τον μεγαλύτερο και τον μικρότερο Αρχικές τιμές μέγιστου και ελάχιστου η πρώτη τιμή Αλγόριθμος Μέγιστος_ελάχιστος Διάβασε Α Μέγιστος Α Ελάχιστος Α Όσο Α>0 επανάλαβε Αν Α> Μέγιστος τότε Μέγιστος Θ Τέλος_αν Αν Α < Ελάχιστος τότε Ελάχιστος Α Τέλος_αν Διάβασε Α Τέλος_επανάληψης Εμφάνισε Μέγιστος, Ελάχιστος Τέλος Μέγιστος_ελάχιστος 22/11/08 Ανάπτυξη εφαρμογών 18
Έλεγχος εγκυρότητας τιμών εισόδου 1 ος Τρόπος Εξασφάλιση έγκυρου βαθμού λυκείου ( 0-20) 2 ος Τρόπος Αρχή επανάληψης Γράψε δώσε βαθμό από 0-20: Διάβασε β Μέχρις_ότου ( β >=0 και β<=20) Γράψε δώσε βαθμό από 0-20: Διάβασε β Όσο ( β<0 ή β>20) επανάλαβε Γράψε δώσε βαθμό από 0-20: Διάβασε β Τέλος_επανάληψης 22/11/08 Ανάπτυξη εφαρμογών 19
Δημιουργία πίνακα τιμών Αλγόριθμος Εμφάνιση Α 0 Β 0 Για Ι από 2 μέχρι 12 με βήμα 3 Α Α+Ι Αν Α<=8 τότε Για J από 1 μέχρι Α Β Β+1 Τέλος_επανάληψης Τέλος_αν Γράψε I, J, A, B Τέλος_επανάληψης Φάσεις I J A B Αρχή?? 0 0 1 η 2 3 2 2 2 η 5 8 7 9 3 η 8 8 15 9 4 η 11 8 26 9 Έξοδος 14 8 26 9 22/11/08 Ανάπτυξη εφαρμογών 20
Πολλαπλασιασμός αλά ρωσικά Αρχή Διάβασε Μ1, Μ2 Ρ 0 Μ2>0 όχι όχι Ναι Μ2 mod 2=1 Εμφάνισε Ρ Μ1 Μ1*2 Μ2 [Μ2/2] Ναι Ρ Ρ + Μ1 Τέλος 22/11/08 Ανάπτυξη εφαρμογών 21
Όταν δεν πρέπει να ξεπεράσουμε μια οριακή τιμή Διάβασμα βάρους κιβωτίων που το συνολικό βάρος δεν πρέπει να ξεπεράσει το 800 kg και υπολογισμός μέσης τιμής Αλγόριθμος Θέμα_3ο Μ 0! Μετρητής, αρχική τιμή 0 ΆΘροισμα 0! Αθροιστής, αρχική τιμή 0 Διάβασε Βάρος! Πρώτη τιμή βάρους Όσο (Άθροισμα+ Βάρος) <=800 επανάλαβε Αθροισμα Αθροισμα +Βάρος!Ενημέρωση αθροιστή Μ Μ+1!Ενημέρωση μετρητή Διάβασε Βάρος! Επόμενη τιμή βάρους Τέλος Επανάληψης Μέση_τιμή Άθροισμα / Μ Εμφάνισε Μέση_τιμή Τέλος Μετρητές_Αθροιστές 22/11/08 Ανάπτυξη εφαρμογών 22
Όταν δεν πρέπει να ξεπεράσουμε μια οριακή τιμή Διάβασμα βάρους κιβωτίων που το συνολικό βάρος δεν πρέπει να ξεπεράσει το 800 kg και υπολογισμός μέσης τιμής Αλγόριθμος Θέμα_3ο Μ 0! Μετρητής, αρχική τιμή 0 ΆΘροισμα 0! Αθροιστής, αρχική τιμή 0 Αρχή_Επανάληψης Διάβασε Βάρος! Πρώτη τιμή βάρους Αν Αθροισμα +Βάρος<=800 τότε Αθροισμα Αθροισμα +Βάρος!Ενημέρωση αθροιστή Μ Μ+1 Τέλος_αν Μέχρις_ότου (Άθροισμα+ Βάρος) >800 Μέση_τιμή Άθροισμα / Μ Εμφάνισε Μέση_τιμή Τέλος Μετρητές_Αθροιστές 22/11/08 Ανάπτυξη εφαρμογών 23
Μετατροπή αδόμητου αλγόριθμου σε δομημένο 1 Αρχή 2. Αν Σ1=Ψευδής πήγαινε 9 3. εντολή2 4 Αν Σ2 τότε Εντολή4 Πήγαινε 10 Αλλιώς Εντολή5 Τέλος_αν 6 πήγαινε 2 Τέλος ΑΡΧΗ ΟΣΟ (Σ1=Αληθής) επανάλαβε εντολή2 Αν Σ2 =Αληθής τότε Εντολή 4 Σ1 =Ψευδής Αλλιώς Εντολή5 Τέλος_αν ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ 22/11/08 Ανάπτυξη εφαρμογών 24
Μετατροπή αδόμητου αλγόριθμου σε δομημένο 1 Αρχή 2. Αν Σ1=ΑΛΗΘΉΣ Τότε εντολή1 Αν Σ2 =ΑΛΗΘΗΣ τότε Εντολή2 Εντολή3 Πήγαινε εντολή 5 Τέλος_αν εντολή4 Εντολή5 πήγαινε 2 Τέλος_ΑΝ Εντολή 6 ΤΕΛΟΣ ΑΡΧΗ ΟΣΟ (Σ1=Αληθής) επανάλαβε εντολή1 Αν Σ2 =Αληθής τότε Εντολή 2 Εντολή 3 Αλλιώς Εντολή4 Τέλος_αν Εντολή 5 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Εντολή6 ΤΕΛΟΣ 22/11/08 Ανάπτυξη εφαρμογών 25
22/11/08 Ανάπτυξη εφαρμογών 26
Δομές Επανάληψης Όσο μέχρις ότου για 22/11/08 Ανάπτυξη εφαρμογών 1
Όσο. επανάλαβε Όσο Συνθήκη επανάλαβε Εντολή1 Εντολή2.. Ομάδα εντολών Συνθήκη Αληθής Ομάδα εντολών Εντολή Ν Τέλος_Επανάληψης Ψευδής 1. Πρώτα ελέγχεται η συνθήκη 2. Αν είναι αληθινή εκτελείται η ομάδα εντολών και μετά ελέγχεται ξανά η συνθήκη 3. Όταν η συνθήκη γίνει ψευδής τερματίζεται η επανάληψη και ο έλεγχος μεταφέρεται στην πρώτη εντολή μετά το τέλος επανάληψης 22/11/08 Ανάπτυξη εφαρμογών 2
Εμφάνιση διαδοχικών ακεραίων από 1 μέχρι 100 με όσο.. επανάλαβε αρχή Κ 1 Κ<=100 Ψευδής Αληθής Κ Κ+1 Εμφάνισε Κ Αλγόριθμος ΟΣΟ1 Κ 1 Όσο Κ<=100 επανάλαβε Εμφάνισε Κ Κ Κ+1 Τέλος Επανάληψης Τέλος ΟΣΟ1 τέλος 22/11/08 Ανάπτυξη εφαρμογών 3
Μέχρις ότου Ομάδα εντολών Συνθήκη Αληθής ψευδής Αρχή_ Επανάληψης Εντολή1 Εντολή2.. Εντολή Ν Ομάδα εντολών Μέχρις_ότου Συνθήκη = αληθής 1. ΠΡΩΤΑ εκτελείται η ομάδα εντολών ανεξάρτητα από την συνθήκη 2. Ελέγχεται η συνθήκη και αν είναι ψευδής επαναλαμβάνεται η ομάδα εντολών 3. Όταν η συνθήκη γίνει αληθής τερματίζεται η επανάληψη και ο έλεγχος μεταφέρεται στην πρώτη εντολή μετά το τέλος επανάληψης 22/11/08 Ανάπτυξη εφαρμογών 4
Εμφάνιση διαδοχικών ακεραίων από 1 μέχρι 100 με Μέχρις_ότου Κ>100 αρχή Κ 1 Εμφάνισε Κ Κ Κ+1 Ψευδής Αλγόριθμος Μέχρις1 Κ 1 Αρχή επανάληψης Εμφάνισε Κ Κ Κ+1 Μέχρις_ότου Κ>100 Τέλος Μέχρις1 Αληθής τέλος 22/11/08 Ανάπτυξη εφαρμογών 5
Μ Τ1 Μ<=Τ2 Όχι Ναι Για από μέχρι.. με_βήμα Ομάδα εντολών Μ Μ +β Για Μ από Τ1 μέχρι Τ2 με_βήμα β εντολή1 εντολή2 22/11/08 Ανάπτυξη εφαρμογών 6. εντολή ν Τέλος_ επανάληψης Ομάδα εντολών 1. Αρχικά η μεταβλητή Μ παίρνει την αρχική τιμή Τ1 2. Ελέγχεται αν η Μ είναι Μικρότερη της τελικής τιμής Τ2 3. Αν είναι εκτελείται η ομάδα εντολών του βρόχου και η Μ παίρνει την επόμενη τιμή της 4. Ο βρόχος τερματίζεται όταν η Μ πάρει τιμή μεγαλύτερη της Τ2 5. Το βήμα μπορεί να παραλειφθεί όταν είναι 1 6. Όταν Τ2>=Τ1 τότε πρέπει το βήμα να είναι θετικό, ενώ όταν Τ2<=Τ1 πρέπει το βήμα να είναι αρνητικό ( στις αντίθετες περιπτώσεις δεν εκτελείται ο βρόχος επανάληψης ) 7. Όταν το βήμα είναι 0 έχουμε ατέρμονα βρόχο ( άπειρες επαναλήψεις)
Εμφάνιση διαδοχικών ακεραίων από 1 μέχρι 100 με Για..από μέχρι.. αρχή Αλγόριθμος Για1 Κ 1 Κ<=100 Αληθής Κ Κ+1 Για Κ από 1 μέχρι 100 Εμφάνισε Κ Τέλος Επανάληψης Ψευδής Εμφάνισε Κ Τέλος Για1 τέλος 22/11/08 Ανάπτυξη εφαρμογών 7
Διαφορές Όσο επανάλαβε Έλεγχος στην αρχή Εκτέλεση όταν συνθήκη είναι αληθής Τερματισμός όταν συνθήκη γίνει ψευδής Μπορεί να μην εκτελεστεί ο βρόχος καμιά φορά ( αρχική συνθήκη ψευδής) Μέχρις_ότου Έλεγχος στο τέλος Εκτέλεση όταν συνθήκη είναι ψευδής Τερματισμός όταν συνθήκη γίνει αληθής Οι εντολές του βρόχου εκτελούνται οπωσδήποτε μια φορά ( γιατί ο έλεγχος γίνεται μετά) 1. Και οι δυο δομές χρησιμοποιούνται όταν δεν γνωρίζουμε το πλήθος των επαναλήψεων 2. Η συνθήκη πρέπει να ενημερώνεται κάθε φορά που τερματίζονται οι εντολές του βρόχου ώστε κάποια στιγμή να αλλάξει ( Αληθής σε ψευδή για την όσο, ψευδής σε αληθή για την μέχρις ότου). Αν δεν γίνει αυτό θα έχουμε άπειρες επαναλήψεις ( ατέρμων βρόχος) 22/11/08 Ανάπτυξη εφαρμογών 8
Εμφωλευμένοι βρόχοι Επιτρεπτοί Για Κ Για Λ. Τέλος επανάληψης Για Μ.... Τέλος επανάληψης Τέλος Επανάληψης Μη Επιτρεπτοί Για Κ Για Λ. Τέλος επανάληψης Για Μ.... Τέλος επανάληψης Τέλος Επανάληψης 22/11/08 Ανάπτυξη εφαρμογών 9
Μετατροπή της δομής Όσο σε Μέχρις ότου Αρχική τιμή Σ Όσο Σ επανάλαβε Εντολή 1 Εντολή 2 Εντολή ν Ενημέρωση τιμής Σ Τέλος επανάληψης Αρχική τιμή Σ Αρχή επανάληψης Εντολή 1 Εντολή 2 Εντολή ν Ενημέρωση τιμής Σ Μέχρις_ότου ΌΧΙ Σ Η συνθήκη στην μέχρις ότου είναι η άρνηση της συνθήκης στης όσο Πχ ( α>0) και (β>0) (α<=0) ή ( β(<=0) 22/11/08 Ανάπτυξη εφαρμογών 10
Μετατροπή της δομής Όσο σε Μέχρις ότου Α 6 Β 10 Όσο (Α>0 και Β <30) επανάλαβε Εμφάνισε Α Εμφάνισε Β Α Α-2 Β Β+3 Τέλος επανάληψης Α 6 Β 10 Αρχή επανάληψης Εμφάνισε Α Εμφάνισε Β Α Α-2 Β Β+3 Μέχρις_ότου (Α<=0 ή Β>=30) Η συνθήκη στην μέχρις ότου είναι η άρνηση της συνθήκης στης όσο 22/11/08 Ανάπτυξη εφαρμογών 11
Μετατροπή της δομής Για σε όσο Για Μ από Τ1 μέχρι Τ2 με βήμα β Εντολή 1 Εντολή 2 Εντολή ν Τέλος επανάληψης Μ Τ1 Όσο Μ <=Τ2 επανάλαβε Εντολή 1 Εντολή 2 Εντολή ν Μ Μ + β Τέλος επανάληψης Αν Τ1>Τ2 τότε η συνθήκη γίνεται Όσο Μ>=Τ2 και το βήμα β<0 22/11/08 Ανάπτυξη εφαρμογών 12
Μετατροπή της δομής Για σε όσο Για κ από 100 μέχρι 20 με βήμα -5 Κ 100 Όσο Κ>=20 επανάλαβε Εμφάνισε Κ Τέλος επανάληψης Εμφάνισε Κ Κ Κ-5 Τέλος επανάληψης 22/11/08 Ανάπτυξη εφαρμογών 13
Μετρητές, αθροιστές Διάβασμα βάρους 50 κιβωτίων και υπολογισμός μέσης τιμής Αλγόριθμος Μετρητές_Αθροιστές Μ 0! Μετρητής, αρχική τιμή 0 ΆΘροισμα 0! Αθροιστής, αρχική τιμή 0 Διάβασε Βάρος! Πρώτη τιμή βάρους Όσο Μ<=50 επανάλαβε Αθροισμα Αθροισμα +Βάρος Μ Μ+1 Διάβασε Βάρος Τέλος Επανάληψης Μέση_τιμή Άθροισμα / Μ Εμφάνισε Μέση_τιμή Τέλος Μετρητές_Αθροιστές!Ενημέρωση αθροιστή!ενημέρωση μετρητή! Επόμενη τιμή βάρους 22/11/08 Ανάπτυξη εφαρμογών 14
Αλγόριθμος Παραγοντικό Διάβασε Ν Ρ 1 Αν Ν =0 τότε Ρ 1 Αλλιώς Κ 1 Όσο Κ <=Ν επανάλαβε Ρ Ρ*Ι Κ Κ+1 Τέλος Επανάληψης Τέλος_αν Εμφάνισε Ρ Τέλος Παραγοντικό Πολλαπλασιαστές 22/11/08 Ανάπτυξη εφαρμογών 15
Υπολογισμός Μέγιστου πολλών αριθμών γνωστού πλήθους - γνωστού εύρους τιμών Να γραφεί αλγόριθμος που αφού διαβάσει τις θερμοκρασίες κάθε μέρας για όλο το χρόνο ( 365 μέρες) για την Αθήνα, να βρίσκει την υψηλότερη και την χαμηλότερη τιμή τους Αρχική τιμή μέγιστου η μικρότερη πιθανή τιμή Αρχική τιμή ελάχιστου η μεγαλύτερη πιθανή τιμή Αλγόριθμος Μέγιστος_ελάχιστος Μax -273! Δεν υπάρχει μικρότερη Min +100! Δεν υπάρχει μεγαλύτερη Για Κ από 1 μέχρι 365 Διάβασε Θ Αν Θ>Max τότε Max Θ Τέλος_αν Αν Θ<Min τότε Min Θ Τέλος_αν Τέλος_επανάληψης Εμφάνισε Min, Max Τέλος Μέγιστος_ελάχιστος 22/11/08 Ανάπτυξη εφαρμογών 16
Υπολογισμός Μέγιστου πολλών αριθμών γνωστού πλήθους -άγνωστου εύρους τιμών Να γραφεί αλγόριθμος που αφού διαβάσει 50 τυχαίους αριθμούς να βρίσκει τον μεγαλύτερο και τον μικρότερο Αρχικές τιμές μέγιστου και ελάχιστου η πρώτη τιμή Αλγόριθμος Μέγιστος_ελάχιστος Διάβασε Α Μέγιστος Α Ελάχιστος Α Για Κ από 1 μέχρι 49 Διάβασε Α Αν Α> Μέγιστος τότε Μέγιστος Θ Τέλος_αν Αν Α < Ελάχιστος τότε Ελάχιστος Α Τέλος_αν Τέλος_επανάληψης Εμφάνισε Μέγιστος, Ελάχιστος Τέλος Μέγιστος_ελάχιστος 22/11/08 Ανάπτυξη εφαρμογών 17
Υπολογισμός Μέγιστου πολλών αριθμών άγνωστου πλήθους -άγνωστου εύρους τιμών Να γραφεί αλγόριθμος που αφού διαβάσει 50 τυχαίους θετικούς αριθμούς να βρίσκει τον μεγαλύτερο και τον μικρότερο Αρχικές τιμές μέγιστου και ελάχιστου η πρώτη τιμή Αλγόριθμος Μέγιστος_ελάχιστος Διάβασε Α Μέγιστος Α Ελάχιστος Α Όσο Α>0 επανάλαβε Αν Α> Μέγιστος τότε Μέγιστος Θ Τέλος_αν Αν Α < Ελάχιστος τότε Ελάχιστος Α Τέλος_αν Διάβασε Α Τέλος_επανάληψης Εμφάνισε Μέγιστος, Ελάχιστος Τέλος Μέγιστος_ελάχιστος 22/11/08 Ανάπτυξη εφαρμογών 18
1 ος Τρόπος Εξασφάλιση έγκυρου βαθμού λυκείου ( 0-20) 2 ος Τρόπος Έλεγχος εγκυρότητας τιμών εισόδου Αρχή επανάληψης Γράψε δώσε βαθμό από 0-20: Διάβασε β Μέχρις_ότου ( β >=0 και β<=20) Γράψε δώσε βαθμό από 0-20: Διάβασε β Όσο ( β<0 ή β>20) επανάλαβε Γράψε δώσε βαθμό από 0-20: Διάβασε β Τέλος_επανάληψης 22/11/08 Ανάπτυξη εφαρμογών 19
Δημιουργία πίνακα τιμών Αλγόριθμος Εμφάνιση Α 0 Β 0 Για Ι από 2 μέχρι 12 με βήμα 3 Α Α+Ι Αν Α<=8 τότε Για J από 1 μέχρι Α Β Β+1 Τέλος_επανάληψης Τέλος_αν Γράψε I, J, A, B Τέλος_επανάληψης Φάσεις I J A B Αρχή?? 0 0 1 η 2 3 2 2 2 η 5 8 7 9 3 η 8 8 15 9 4 η 11 8 26 9 Έξοδος 14 8 26 9 22/11/08 Ανάπτυξη εφαρμογών 20
Πολλαπλασιασμός αλά ρωσικά Αρχή Διάβασε Μ1, Μ2 Ρ 0 Μ2>0 όχι όχι Ναι Μ2 mod 2=1 Εμφάνισε Ρ Μ1 Μ1*2 Μ2 [Μ2/2] Ναι Ρ Ρ + Μ1 Τέλος 22/11/08 Ανάπτυξη εφαρμογών 21
Όταν δεν πρέπει να ξεπεράσουμε μια οριακή τιμή Διάβασμα βάρους κιβωτίων που το συνολικό βάρος δεν πρέπει να ξεπεράσει το 800 kg και υπολογισμός μέσης τιμής Αλγόριθμος Θέμα_3ο Μ 0! Μετρητής, αρχική τιμή 0 ΆΘροισμα 0! Αθροιστής, αρχική τιμή 0 Διάβασε Βάρος! Πρώτη τιμή βάρους Όσο (Άθροισμα+ Βάρος) <=800 επανάλαβε Αθροισμα Αθροισμα +Βάρος!Ενημέρωση αθροιστή Μ Μ+1!Ενημέρωση μετρητή Διάβασε Βάρος! Επόμενη τιμή βάρους Τέλος Επανάληψης Μέση_τιμή Άθροισμα / Μ Εμφάνισε Μέση_τιμή Τέλος Μετρητές_Αθροιστές 22/11/08 Ανάπτυξη εφαρμογών 22
Όταν δεν πρέπει να ξεπεράσουμε μια οριακή τιμή Διάβασμα βάρους κιβωτίων που το συνολικό βάρος δεν πρέπει να ξεπεράσει το 800 kg και υπολογισμός μέσης τιμής Αλγόριθμος Θέμα_3ο Μ 0! Μετρητής, αρχική τιμή 0 ΆΘροισμα 0! Αθροιστής, αρχική τιμή 0 Αρχή_Επανάληψης Διάβασε Βάρος! Πρώτη τιμή βάρους Αν Αθροισμα +Βάρος<=800 τότε Αθροισμα Αθροισμα +Βάρος!Ενημέρωση αθροιστή Μ Μ+1 Τέλος_αν Μέχρις_ότου (Άθροισμα+ Βάρος) >800 Μέση_τιμή Άθροισμα / Μ Εμφάνισε Μέση_τιμή Τέλος Μετρητές_Αθροιστές 22/11/08 Ανάπτυξη εφαρμογών 23
Μετατροπή αδόμητου αλγόριθμου σε δομημένο 1 Αρχή 2. Αν Σ1=Ψευδής πήγαινε 9 3. εντολή2 4 Αν Σ2 τότε Εντολή4 Πήγαινε 10 Αλλιώς Εντολή5 Τέλος_αν 6 πήγαινε 2 Τέλος ΑΡΧΗ ΟΣΟ (Σ1=Αληθής) επανάλαβε εντολή2 Αν Σ2 =Αληθής τότε Εντολή 4 Σ1 =Ψευδής Αλλιώς Εντολή5 Τέλος_αν ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ 22/11/08 Ανάπτυξη εφαρμογών 24
Μετατροπή αδόμητου αλγόριθμου σε δομημένο 1 Αρχή 2. Αν Σ1=ΑΛΗΘΉΣ Τότε εντολή1 Αν Σ2 =ΑΛΗΘΗΣ τότε Εντολή2 Εντολή3 Πήγαινε εντολή 5 Τέλος_αν εντολή4 Εντολή5 πήγαινε 2 Τέλος_ΑΝ Εντολή 6 ΤΕΛΟΣ ΑΡΧΗ ΟΣΟ (Σ1=Αληθής) επανάλαβε εντολή1 Αν Σ2 =Αληθής τότε Εντολή 2 Εντολή 3 Αλλιώς Εντολή4 Τέλος_αν Εντολή 5 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Εντολή6 ΤΕΛΟΣ 22/11/08 Ανάπτυξη εφαρμογών 25
22/11/08 Ανάπτυξη εφαρμογών 26