Από τη Δομή Επανάληψης Για στην Όσο Πηγή: Τσιωτάκης Παναγιώτης Η Δομή Επανάληψης Όσο Από τη Δομή Επανάληψης Για στην Όσο Πηγή: Τσιωτάκης Παναγιώτης
Η δομή Επανάληψης Όσο Ας δούμε το προηγούμενο παράδειγμα με τη χρήση της δομής Όσο Να αναπτύξετε αλγόριθμο που θα διαβάζει 100 αριθμούς και θα εκτυπώνει το πλήθος των θετικών
Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών
Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών
Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών
Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών
Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών
Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών
Πλήθος θετικών από 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 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών
Πλήθος θετικών από 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 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών
Από την Για στην Όσο Η δομή Για περιέχει 3 τμήματα που στην δομή Όσο πρέπει να γίνουν με ξεχωριστές εντολές i ← 1 i <= 100 i ← i + 1 με_βήμα 1 Για i από 1 μέχρι 100
Πλήθος θετικών από 100 αριθμούς – Δ.Ρ. Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 OXI i <= 100 Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1 Για το "Τέλος_επανάληψης", το βέλος γυρίζει πίσω. Έτσι, δηλώνεται επανάληψη
Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 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
Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος α > 0 OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 Ας υποθέσουμε ότι η συνθήκη ισχύει i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 θετικοί ← θετικοί + 1 ΝΑΙ ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Ροή εκτέλεσης αλγορίθμου - 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
Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Ροή εκτέλεσης αλγορίθμου - 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
Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος α > 0 OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 Ας υποθέσουμε ξανά ότι η συνθήκη ισχύει i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 θετικοί ← θετικοί + 1 ΝΑΙ ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Ροή εκτέλεσης αλγορίθμου - 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
Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Ροή εκτέλεσης αλγορίθμου - 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
Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος α > 0 OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 Ας υποθέσουμε ότι η συνθήκη δεν ισχύει i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Ροή εκτέλεσης αλγορίθμου - 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
Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Ροή εκτέλεσης αλγορίθμου - 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
Ροή εκτέλεσης αλγορίθμου Η ίδια διαδικασία θα συνεχιστεί έως ότου πάψει να ισχύει η συνθήκη της δομής Όσο, οπότε και τερματίζεται η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί Αυτό θα γίνει όταν έχουν διαβαστεί και επεξεργαστεί 100 αριθμοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 Γνωστό πλήθος επαναλήψεων ΝΑΙ θετικοί ← θετικοί + 1 Το ίδιο δ.ρ. έχει η δομή Για i ← i + 1
Ροή εκτέλεσης αλγορίθμου Ας υποθέσουμε ότι η συνθήκη δεν ισχύει, το i είναι 101 Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI OXI Εκτύπωσε θετικοί Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Τέλος Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1
Δομή Επανάληψης Όσο Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Το i καταμετρά τους αριθμούς που εισάγονται για αυτό αποκαλείται μετρητής Η επανάληψη τερματίζεται όταν εισαχθούν 100 αριθμοί Ο βρόχος αυτός θα μπορούσε να υλοποιηθεί και με τη δομή Για
Τι θα γίνει όμως αν αλλάξει θέση η εντολή; Δομή Επανάληψης Όσο Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Τι θα γίνει όμως αν αλλάξει θέση η εντολή; Το i καταμετρά τους αριθμούς που εισάγονται για αυτό αποκαλείται μετρητής Η επανάληψη τερματίζεται όταν εισαχθούν 100 αριθμοί Ο βρόχος αυτός θα μπορούσε να υλοποιηθεί και με τη δομή Για
Δομή Επανάληψης Όσο Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Η επανάληψη τερματίζεται όταν εισαχθούν 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 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 i ← i + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Αλλιώς i ← i + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών
Συμπεράσματα Η δομή επανάληψης Για χρησιμοποιείται στην περίπτωση που είναι εξαρχής γνωστό το πλήθος των επαναλήψεων Στην περίπτωση που δεν ισχύει αυτό; Θα χρησιμοποιήσουμε την δομή Όσο…επανάλαβε …ή την δομή Αρχή_επανάληψης…Μέχρις_ότου
Από τη Δομή Επανάληψης Για στην Όσο Η Δομή Επανάληψης Όσο Από τη Δομή Επανάληψης Για στην Όσο Τέλος Παρουασίασης