Ενότητα Η Δομή Επανάληψης

15
Ενότητα Η Δομή Επανάληψης Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

description

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Ενότητα Η Δομή Επανάληψης. Περιεχόμενα. Δομή Επανάληψης Η Εντολή ΟΣΟ Η Εντολή ΜΕΧΡΙΣ_ΟΤΟΥ Η Εντολή ΓΙΑ. Δομή Επανάληψης. - PowerPoint PPT Presentation

Transcript of Ενότητα Η Δομή Επανάληψης

Page 1: Ενότητα Η Δομή Επανάληψης

ΕνότηταΗ Δομή Επανάληψης

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Page 2: Ενότητα Η Δομή Επανάληψης

2

Δομή Επανάληψης Η Εντολή ΟΣΟ Η Εντολή ΜΕΧΡΙΣ_ΟΤΟΥ Η Εντολή ΓΙΑ

Περιεχόμενα

Page 3: Ενότητα Η Δομή Επανάληψης

3

Δομή Επανάληψης Η λογική των επαναληπτικών διαδικασιών εφαρμόζεται

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

Η διαδικασία της επανάληψης χρησιμοποιείται συχνά στην επίλυση των προβλημάτων.

Page 4: Ενότητα Η Δομή Επανάληψης

4

Όσο συνθήκη επανάλαβε εντολή ή εντολές

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

Για μεταβλητή από τ1 μέχρι τ2 με_βήμα β εντολή ή εντολές

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

Επαναληπτικές Διαδικασίες

Αρχή_επανάληψης εντολή ή εντολές

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

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

Page 5: Ενότητα Η Δομή Επανάληψης

5

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

Η Εντολή ΟΣΟ Με την εντολή αυτή, η επανάληψη

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

Είναι η πιο γενική εντολή της Δομής Επανάληψης. Αντιμετωπίζει οποιοδήποτε πρόβλημα απαιτεί επαναληπτική δομή για την αντιμετώπισή του.

Page 6: Ενότητα Η Δομή Επανάληψης

6

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

Εντολές1 ΟΣΟ συνθήκη ΕΠΑΝΑΛΑΒΕ

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

Εκτελούνται οι εντολές_Πριν

Ελέγχεται η συνθήκη

Αν είναι ΑΛΗΘΗΣ εκτελούνται οι εντολές του βρόχου και ξαναελέγχεται

η συνθήκη

Αν είναι ΨΕΥΔΗΣ η επανάληψη σταματάει και

εκτελούνται οι εντολές μετά…

Page 7: Ενότητα Η Δομή Επανάληψης

7

ΠΡΟΓΡΑΜΜΑ ΆθροισμαΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ: Χ, Άθροισμα, ΠλήθοςΠΡΑΓΜΑΤΙΚΕΣ: ΜΟΑΡΧΗ Πλήθος 0 Άθροισμα 0 ΓΡΑΨΕ ‘Δώσε αριθμό’ ΔΙΑΒΑΣΕ Χ ΟΣΟ ×<>0 ΕΠΑΝΑΛΑΒΕ Άθροισμα Άθροισμα + × Πλήθος Πλήθος + 1 ΓΡΑΨΕ ‘Δώσε αριθμό’ ΔΙΑΒΑΣΕ Χ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΝ Πλήθος > 0 ΤΟΤΕ ΜΟ Πλήθος/Άθροισμα ΓΡΑΨΕ ‘Το άθρ είναι: ‘, Άθροισμα ΓΡΑΨΕ ‘Ο ΜΟ είναι: ‘, ΜΟ ΑΛΛΙΩΣ ΓΡΑΨΕ ‘Δεν δόθηκαν στοιχεία’ ΤΕΛΟΣ_ΑΝΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Page 8: Ενότητα Η Δομή Επανάληψης

8

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

Η Εντολή ΜΕΧΡΙΣ_ΟΤΟΥ…Με την εντολή αυτή, η επανάληψη ελέγχεται από

μία λογική έκφραση στο τέλος και εκτελείται όσο η συνθήκη αυτή είναι αληθής.

Είναι μία γενική εντολή της Δομής Επανάληψης. Αντιμετωπίζει οποιοδήποτε πρόβλημα απαιτεί επαναληπτική δομή για την αντιμετώπισή του.

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

Page 9: Ενότητα Η Δομή Επανάληψης

9

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

Εντολές1 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

Εντολές2

ΜΕΧΡΙΣ_ΟΤΟΥ συνθήκη Εντολές3

Εκτελούνται οι εντολές1

Ελέγχεται η συνθήκη

Εκτελούνται οι εντολές του βρόχου

Αν είναι ΑΛΗΘΗΣ η επανάληψη σταματάει και

εκτελούνται οι εντολές μετά…

Αν είναι ΨΕΥΔΗΣ, εκτελούνται πάλι οι εντολές

του βρόχου, κοκ…

Page 10: Ενότητα Η Δομή Επανάληψης

10

ΠΡΟΓΡΑΜΜΑ Άθροισμα2ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ: Χ, Άθροισμα, ΠλήθοςΠΡΑΓΜΑΤΙΚΕΣ: ΜΟΧΑΡΑΚΤΗΡΕΣ: ΕπιλογήΑΡΧΗ Πλήθος 0 Άθροισμα 0 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ‘Δώσε αριθμό’ ΔΙΑΒΑΣΕ Χ ΑΝ Χ<=0 ΤΟΤΕ

ΓΡΑΨΕ ‘Λάθος αριθμός, δοκιμάστε ξανά…’ ΤΕΛΟΣ_ΑΝ ! Αν το Χ δεν είναι θετικό εισάγουμε νέο αριθμό ΜΕΧΡΙΣ_ΟΤΟΥ Χ>0

Άθροισμα Άθροισμα + Χ Πλήθος Πλήθος +1 ΓΡΑΨΕ ‘Νέα μέτρηση;’ ΔΙΑΒΑΣΕ ΕπιλογήΜΕΧΡΙΣ_ΟΤΟΥ Επιλογή=’Ο’ ΗΕπιλογή=’ο’ΜΟ Άθροισμα / Πλήθος ΓΡΑΨΕ ‘Άθροισμα =’, Άθροισμα ΓΡΑΨΕ ‘Μέσος όρος =’, ΜΟΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Δομή ΕπανάληψηςΔίνονται θετικοί αριθμοί και υπολογίζεται ο μέσος όρος τους. Μετά την εισαγωγή κάθε αριθμού ακολουθεί ερώτηση σχετικά με το αν θα γίνει νέα εισαγωγή.

Page 11: Ενότητα Η Δομή Επανάληψης

11

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

Η εντολή ΓΙΑ Η εντολή αυτή χρησιμοποιείται μόνο όταν

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

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

Page 12: Ενότητα Η Δομή Επανάληψης

12

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

Εντολές1 ΓΙΑ μ ΑΠΟ ατ ΜΕΧΡΙ ττ ΜΕ_ΒΗΜΑ βΕντολές2   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Εντολές3

Δουλεύει όπως η ισοδύναμη ΟΣΟ, όπως φαίνεται στο διπλανό διάγραμμα.

Page 13: Ενότητα Η Δομή Επανάληψης

13

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

Όταν χρησιμοποιείται οδηγεί σε πιο απλούς και κατανοητούς αλγορίθμους από την ΟΣΟ ή την ΜΕΧΡΙΣ_ΟΤΟΥ.

Οι εντολές μέσα στην επανάληψη μπορεί να μην εκτελεστούν καμία φορά

Το βήμα δεν μπορεί να πάρει την τιμή μηδέν (0) γιατί δημιουργείται πρόβλημα μη περατότητας

Όταν το βήμα είναι 1, μπορεί να παραληφθεί η έκφραση ΜΕ_ΒΗΜΑ.

Η μεταβλητή μ αρχικά παίρνει την ατ, αλλά μπορεί να μη γίνει ποτέ ίση με την ττ.

Το βήμα μπορεί να πάρει πραγματική τιμή Αν δεν τροποποιείται το βήμα και η τελική τιμή (πράγμα που

γενικά ισχύει) ο αριθμός των επαναλήψεων που πραγματοποιείται ισούται με Α_Μ((ττ-ατ)/βήμα)+1

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

Page 14: Ενότητα Η Δομή Επανάληψης

14

Αλγόριθμος Παρ_ΓιαSum 0Για i από 1 μέχρι 100

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

Γράψε SumΤέλος Παράδειγμα_10

Δομή ΕπανάληψηςΥπολογίζεται το άθροισμα Α=1+2+…+100

Page 15: Ενότητα Η Δομή Επανάληψης

15

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

ΠΡΟΓΡΑΜΜΑ ΆρτιοιΜΕΤΑΒΛΗΤΕΣ  ΑΚΕΡΑΙΕΣ: π ,χ ,ιΑΡΧΗ  π← 0  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 10    γραψε 'Δώσε τον ',ι, 'ο ακέραιο αριθμό: '    ΔΙΑΒΑΣΕ χ    ΑΝ χ MOD 2 = 0 ΤΟΤΕ      π←π+1    ΤΕΛΟΣ_ΑΝ  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ  ΓΡΑΨΕ 'Άρτιοι : ',πΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ