Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Από τη Δομή Ακολουθίας στις Δομές Επανάληψης

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Από τη Δομή Ακολουθίας στις Δομές Επανάληψης"— Μεταγράφημα παρουσίασης:

1 Από τη Δομή Ακολουθίας στις Δομές Επανάληψης
Η Δομή Επανάληψης Για Από τη Δομή Ακολουθίας στις Δομές Επανάληψης

2 Πρόβλημα : Άθροισμα 2 αριθμών
Πρόβλημα : Άθροισμα 2 αριθμών Να αναπτύξετε αλγόριθμο που θα διαβάζει 2 αριθμούς και θα εκτυπώνει το άθροισμα των θετικών

3 Αλγόριθμος Άθροισμα_2 άθροισμα ← 0 Διάβασε α1 Αν α1 > 0 τότε άθροισμα ← άθροισμα + α1 Τέλος_αν Διάβασε α2 Αν α2 > 0 τότε άθροισμα ← άθροισμα + α2 Εκτύπωσε άθροισμα Τέλος Άθροισμα_2

4 Πρόβλημα : Άθροισμα 3 αριθμών
Πρόβλημα : Άθροισμα 3 αριθμών Να αναπτύξετε αλγόριθμο που θα διαβάζει 3 αριθμούς και θα εκτυπώνει το άθροισμα των θετικών

5 Αλγόριθμος Άθροισμα_3 άθροισμα ← 0 Διάβασε α1 Αν α1 > 0 τότε άθροισμα ← άθροισμα + α1 Τέλος_αν Διάβασε α2 Αν α2 > 0 τότε άθροισμα ← άθροισμα + α2 Διάβασε α3 Αν α3 > 0 τότε άθροισμα ← άθροισμα + α3 Εκτύπωσε άθροισμα Τέλος Άθροισμα_3

6 Πρόβλημα : Άθροισμα 100 αριθμών
Πρόβλημα : Άθροισμα 100 αριθμών Τι θα γίνει στην περίπτωση που το πρόβλημα γενικευτεί στην επεξεργασία 100 αριθμών;

7 Αλγόριθμος Άθροισμα_3 άθροισμα ← 0 Διάβασε α1 Αν α1 > 0 τότε άθροισμα ← άθροισμα + α1 Τέλος_αν Διάβασε α2 Αν α2 > 0 τότε άθροισμα ← άθροισμα + α2 Διάβασε α3 Αν α3 > 0 τότε άθροισμα ← άθροισμα + α3 Εκτύπωσε άθροισμα Τέλος Άθροισμα_3 Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν

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

9 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν άθροισμα ← 0 α i άθροισμα

10 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Για i από 1 μέχρι 5 1 α i άθροισμα

11 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Διάβασε α 4 Π.χ. Ο αριθμός 4 α i άθροισμα 1

12 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Αν α > 0 τότε Η συνθήκη ισχύει α i άθροισμα 4 1

13 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν άθροισμα ← άθροισμα + α 4 α i άθροισμα 4 1

14 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Για i από 1 μέχρι 5 2 Τέλος_αν Τέλος_επανάληψης α i άθροισμα 4 1 4

15 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Διάβασε α -3 Π.χ. Ο αριθμός -3 α i άθροισμα 4 2 4

16 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Αν α > 0 τότε Η συνθήκη δεν ισχύει α i άθροισμα -3 2 4

17 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Για i από 1 μέχρι 5 3 Τέλος_αν Τέλος_επανάληψης α i άθροισμα -3 2 4

18 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Διάβασε α -9 Π.χ. Ο αριθμός -9 α i άθροισμα -3 3 4

19 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Αν α > 0 τότε Η συνθήκη δεν ισχύει α i άθροισμα -9 3 4

20 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Για i από 1 μέχρι 5 4 Τέλος_αν Τέλος_επανάληψης α i άθροισμα -9 3 4

21 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Διάβασε α 11 Π.χ. Ο αριθμός 11 α i άθροισμα -9 4 4

22 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Αν α > 0 τότε Η συνθήκη ισχύει α i άθροισμα 11 4 4

23 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν άθροισμα ← άθροισμα + α 15 α i άθροισμα 11 4 4

24 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Για i από 1 μέχρι 5 5 Τέλος_αν Τέλος_επανάληψης α i άθροισμα 11 4 15

25 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Διάβασε α 2 Π.χ. Ο αριθμός 2 α i άθροισμα 11 5 15

26 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Αν α > 0 τότε Η συνθήκη ισχύει α i άθροισμα 2 5 15

27 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν άθροισμα ← άθροισμα + α 17 α i άθροισμα 2 5 15

28 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Εκτύπωσε άθροισμα α άθροισμα 2 17 Θα εκτυπωθεί η τιμή 17

29 Πίνακας Τιμών – παράδειγμα με 5 αριθμούς
άθροισμα Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν 2 17 Στο τέλος της επανάληψης η μεταβλητή α περιέχει την τελευταία τιμή που δόθηκε Οι άλλες τιμές έχουν χαθεί Η μεταβλητή άθροισμα έχει το άθροισμα των θετικών Το πλήθος των επαναλήψεων ήταν γνωστό

30 Από τη Δομή Ακολουθίας στις Δομές Επανάληψης
Η Δομή Επανάληψης Για Από τη Δομή Ακολουθίας στις Δομές Επανάληψης Τέλος Παρουασίασης

31 Από τη Δομή Επανάληψης Για στην Όσο
Η Δομή Επανάληψης Όσο Από τη Δομή Επανάληψης Για στην Όσο

32 Η δομή Επανάληψης Όσο Ας δούμε το προηγούμενο παράδειγμα με τη χρήση της δομής Όσο Να αναπτύξετε αλγόριθμο που θα διαβάζει 100 αριθμούς και θα εκτυπώνει το πλήθος των θετικών

33 Πλήθος θετικών από 100 αριθμούς
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

34 Πλήθος θετικών από 100 αριθμούς
Αλγόριθμος Πλήθος_θετικών Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

35 Πλήθος θετικών από 100 αριθμούς
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

36 Πλήθος θετικών από 100 αριθμούς
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

37 Πλήθος θετικών από 100 αριθμούς
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

38 Πλήθος θετικών από 100 αριθμούς
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

39 Πλήθος θετικών από 100 αριθμούς
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Τέλος Πλήθος_θετικών με_βήμα 1 Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

40 Πλήθος θετικών από 100 αριθμούς
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

41 Από την Για στην Όσο Η δομή Για περιέχει 3 τμήματα που στην δομή Όσο πρέπει να γίνουν με ξεχωριστές εντολές i ← 1 i <= 100 i ← i + 1 με_βήμα 1 Για i από 1 μέχρι 100

42 Πλήθος θετικών από 100 αριθμούς – Δ.Ρ.
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 OXI i <= 100 Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1 Για το "Τέλος_επανάληψης", το βέλος γυρίζει πίσω. Έτσι, δηλώνεται επανάληψη

43 Ροή εκτέλεσης αλγορίθμου
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

44 Ροή εκτέλεσης αλγορίθμου
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

45 Ροή εκτέλεσης αλγορίθμου
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

46 Ροή εκτέλεσης αλγορίθμου
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

47 Ροή εκτέλεσης αλγορίθμου
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

48 Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

49 Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος α > 0 OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

50 Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 Ας υποθέσουμε ότι η συνθήκη ισχύει i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 θετικοί ← θετικοί + 1 ΝΑΙ ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

51 Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1 i ← i + 1

52 Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

53 Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

54 Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος α > 0 OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

55 Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 Ας υποθέσουμε ξανά ότι η συνθήκη ισχύει i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 θετικοί ← θετικοί + 1 ΝΑΙ ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

56 Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1 i ← i + 1

57 Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

58 Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

59 Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος α > 0 OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

60 Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 Ας υποθέσουμε ότι η συνθήκη δεν ισχύει i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

61 Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1 i ← i + 1

62 Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη
Ροή εκτέλεσης αλγορίθμου η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

63 Ροή εκτέλεσης αλγορίθμου
Η ίδια διαδικασία θα συνεχιστεί έως ότου πάψει να ισχύει η συνθήκη της δομής Όσο, οπότε και τερματίζεται η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί Αυτό θα γίνει όταν έχουν διαβαστεί και επεξεργαστεί 100 αριθμοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 Γνωστό πλήθος επαναλήψεων ΝΑΙ θετικοί ← θετικοί + 1 Το ίδιο δ.ρ. έχει η δομή Για i ← i + 1

64 Ροή εκτέλεσης αλγορίθμου
Ας υποθέσουμε ότι η συνθήκη δεν ισχύει, το i είναι 101 Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

65 Ροή εκτέλεσης αλγορίθμου
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI OXI Εκτύπωσε θετικοί Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

66 Ροή εκτέλεσης αλγορίθμου
Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Τέλος Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

67 Δομή Επανάληψης Όσο Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1
Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Το i καταμετρά τους αριθμούς που εισάγονται για αυτό αποκαλείται μετρητής Η επανάληψη τερματίζεται όταν εισαχθούν 100 αριθμοί Ο βρόχος αυτός θα μπορούσε να υλοποιηθεί και με τη δομή Για

68 Τι θα γίνει όμως αν αλλάξει θέση η εντολή;
Δομή Επανάληψης Όσο Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Τι θα γίνει όμως αν αλλάξει θέση η εντολή; Το i καταμετρά τους αριθμούς που εισάγονται για αυτό αποκαλείται μετρητής Η επανάληψη τερματίζεται όταν εισαχθούν 100 αριθμοί Ο βρόχος αυτός θα μπορούσε να υλοποιηθεί και με τη δομή Για

69 Δομή Επανάληψης Όσο Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1
Η επανάληψη τερματίζεται όταν εισαχθούν 100 θετικοί αριθμοί Δεν γνωρίζουμε πόσοι αριθμοί θα εισαχθούν γενικά – άγνωστο πλήθος επαναλήψεων Ο βρόχος αυτός δεν θα μπορούσε να υλοποιηθεί με τη δομή Για Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 i ← i + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

70 Δομή Επανάληψης Όσο Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1
Η επανάληψη τερματίζεται όταν εισαχθούν 100 μη θετικοί αριθμοί Δεν γνωρίζουμε πόσοι αριθμοί θα εισαχθούν γενικά – άγνωστο πλήθος επαναλήψεων Ο βρόχος αυτός δεν θα μπορούσε να υλοποιηθεί με τη δομή Για Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 i ← i + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Αλλιώς i ← i + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

71 Συμπεράσματα Η δομή επανάληψης Για χρησιμοποιείται στην περίπτωση που είναι εξαρχής γνωστό το πλήθος των επαναλήψεων Στην περίπτωση που δεν ισχύει αυτό; Θα χρησιμοποιήσουμε την δομή Όσο…επανάλαβε …ή την δομή Αρχή_επανάληψης…Μέχρις_ότου

72 Από τη Δομή Επανάληψης Για στην Όσο
Η Δομή Επανάληψης Όσο Από τη Δομή Επανάληψης Για στην Όσο Τέλος Παρουασίασης

73 οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες…
Η Δομή Επανάληψης Μέχρις_Ότου οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες…

74 Δομή Επανάληψης Μέχρις_ότου
Να αναπτύξετε αλγόριθμο που θα ζητά από το χρήστη να μαντέψει το συνδυασμό ενός χρηματοκιβωτίου Ο αλγόριθμος θα δέχεται αριθμούς μέχρι να εισαχθεί ο σωστός συνδυασμός Έξοδος του αλγορίθμου είναι οι προσπάθειες που πραγματοποιήθηκαν

75 Δομή Επανάληψης Μέχρις_ότου
Η διατύπωση της εκτύπωσης παραπέμπει στη χρήση της δομής Μέχρις_ότου Να αναπτύξετε αλγόριθμο που θα ζητά από το χρήστη να μαντέψει το συνδυασμό ενός χρηματοκιβωτίου Ο αλγόριθμος θα δέχεται αριθμούς μέχρι να εισαχθεί ο σωστός συνδυασμός Έξοδος του αλγορίθμου είναι οι προσπάθειες που πραγματοποιήθηκαν

76 Συνδυασμός χρηματοκιβωτίου
Αλγόριθμος Εύρεση_Συνδυασμού Τέλος Εύρεση_Συνδυασμού

77 Συνδυασμός χρηματοκιβωτίου
Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // Τέλος Εύρεση_Συνδυασμού Ο σωστός συνδυασμός δεν εισάγεται με Διάβασε, αλλά με Δεδομένα

78 Συνδυασμός χρηματοκιβωτίου
Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // Αρχή_επανάληψης Μέχρις_ότου __________________ Τέλος Εύρεση_Συνδυασμού Δίνουμε έμφαση στη σχεδίαση της δομής επανάληψης – τον σκελετό του αλγορίθμου

79 Συνδυασμός χρηματοκιβωτίου
Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // Αρχή_επανάληψης Μέχρις_ότου αριθμός = συνδυασμός Τέλος Εύρεση_Συνδυασμού Η επανάληψη συνεχίζεται μέχρι να δοθεί ο σωστός συνδυασμός

80 Συνδυασμός χρηματοκιβωτίου
Φροντίζουμε να λειτουργεί ο βρόχος με τη χρήση μετρητή του πλήθους των επαναλήψεων δηλαδή των προσπαθειών – Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Τέλος Εύρεση_Συνδυασμού

81 Συνδυασμός χρηματοκιβωτίου
Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Τέλος Εύρεση_Συνδυασμού Επαναληπτικά πρέπει να διαβάζουμε τον αριθμό της νέας προσπάθειας

82 Συνδυασμός χρηματοκιβωτίου
Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Έξοδος είναι οι προσπάθειες που πραγματοποιήθηκαν

83 Συνδυασμός χρηματοκιβωτίου – Δ.Ρ.
Το «Αρχή_επανάληψης» δεν έχει ειδικό σχήμα, το βέλος γυρίζει πίσω. Έτσι, δηλώνεται η επανάληψη Συνδυασμός χρηματοκιβωτίου – Δ.Ρ. Αρχή Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Δεδομένα //συνδυασμός// προσπάθειες ← 0 Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 OXI αριθμός=συνδυασμός ΝΑΙ Αποτελέσματα //προσπάθειες// Τέλος

84 Συνδυασμός χρηματοκιβωτίου – Δ.Ρ.
Ο αριθμός των επαναλήψεων είναι άγνωστος, δεν μπορεί να υλοποιηθεί με τη δομή Για Αρχή Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Δεδομένα //συνδυασμός// προσπάθειες ← 0 ... μπορεί όμως να υλοποιηθεί με τη δομή Όσο Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 OXI αριθμός=συνδυασμός ΝΑΙ Αποτελέσματα //προσπάθειες// Τέλος

85 Από τη δομή Μέχρις_ότου στην Όσο
Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο

86 Από τη δομή Μέχρις_ότου στην Όσο
Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Έμφαση στο σκελετό – Η συνθήκη πρέπει να τοποθετηθεί στην αρχή του βρόχου Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Όσο ________________ επανάλαβε Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς

87 Από τη δομή Μέχρις_ότου στην Όσο
Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Διάβασε αριθμούς μέχρι να διαβαστεί ο σωστός (και μέτρα τις προσπάθειες) Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Όσο αριθμός <> συνδυασμός επανάλαβε Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς Όσο δεν έχει διαβαστεί ο σωστός αριθμός συνέχισε να διαβάζεις κι άλλους (και μέτρα τις προσπάθειες)

88 Από τη δομή Μέχρις_ότου στην Όσο
Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Όσο αριθμός <> συνδυασμός επανάλαβε Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Όσο αριθμός <> συνδυασμός επανάλαβε Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς

89 Από τη δομή Μέχρις_ότου στην Όσο
Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Μεταφέραμε όλες τις εντολές ωστόσο στη συνθήκη της δομής Όσο χρησιμοποιείται η μεταβλητή αριθμός η οποία δεν έχει πάρει τιμή! Πρέπει να διαβαστεί από το χρήστη η πρώτη τιμή εκτός βρόχου Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Όσο αριθμός <> συνδυασμός επανάλαβε Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς

90 Από τη δομή Μέχρις_ότου στην Όσο
Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Ο αλγόριθμος είναι πλήρης αλλά υπάρχει ένα λογικό λάθος Δεν θα καταμετρηθεί η πρώτη προσπάθεια Πρέπει να αλλάξουμε την αρχικοποίηση της μεταβλητής Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Διάβασε αριθμός Όσο αριθμός <> συνδυασμός επανάλαβε προσπάθειες ← προσπάθειες + 1 Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς

91 Από τη δομή Μέχρις_ότου στην Όσο
Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 1 Διάβασε αριθμός Όσο αριθμός <> συνδυασμός επανάλαβε προσπάθειες ← προσπάθειες + 1 Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς

92 Πώς επιλέγουμε τη σωστή δομή επανάληψης

93 Επιλογή μεταξύ της δομής Για και των άλλων δομών επανάληψης
Όταν είναι γνωστός ο αριθμός των επαναλήψεων, τότε χρησιμοποιείται η δομή επανάληψης Για Όταν είναι άγνωστος ο αριθμός των επαναλήψεων, τότε χρησιμοποιείται η δομή επανάληψης Όσο ή Μέχρις_ότου Όταν απαιτείται η διακοπή των επαναλήψεων βάσει συνθήκης, τότε επίσης χρησιμοποιείται η δομή Όσο ή Μέχρις_ότου

94 Επιλογή μεταξύ της δομής Όσο και Μέχρις_ότου
Επιλογή μεταξύ της δομής Όσο και Μέχρις_ότου Όταν απαιτείται έλεγχος μίας συνθήκης και στη συνέχεια η εκτέλεση ομάδας εντολών προτιμάται η δομή Όσο Με τη δομή Όσο μπορούν να επιλυθούν όλα τα προβλήματα, γι’ αυτό είναι η σημαντικότερη Όταν η επανάληψη πρέπει να εκτελεστεί τουλάχιστον μία φορά, είναι προτιμότερη η χρήση της δομής επανάληψης Μέχρις_ότου

95 Επιλογή μεταξύ της δομής Όσο και Μέχρις_ότου
Επιλογή μεταξύ της δομής Όσο και Μέχρις_ότου Οι περιπτώσεις όπου προτιμάται η δομή Μέχρις_ότου είναι στον έλεγχο εγκυρότητας τιμών ή στον έλεγχο αποδεκτών τιμών Καθώς και στην επιλογή από προκαθορισμένες απαντήσεις ή μενού

96 οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες…
Η Δομή Επανάληψης Μέχρις_Ότου οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες… Τέλος Παρουασίασης


Κατέβασμα ppt "Από τη Δομή Ακολουθίας στις Δομές Επανάληψης"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google