Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών...

28
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Επικοινωνία: spzygouris@gmail.com

description

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον,Δομή Επανάληψης Όσο...επανέλαβε Σημειώσεις για το μάθημα των πανελληνίωνΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον,Προσφορά από το videolearner.com,Spyros Zygouris

Transcript of Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών...

Page 1: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Επικοινωνία:[email protected]

Page 2: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Πότε χρησιμοποιείται η δομή επανάληψης και ποιες είναι οι τρεις επαναληπτικές δομές;

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

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

Τόκος = ποσό*επιτόκιοΠρέπει να εκτελεστεί για όλους τους λογαριασμούς.

Οι τρεις επαναληπτικές δομές είναι :1. Όσο … επανέλαβε … Τέλος_επανάληψης2. Για … από … μέχρι … Τέλος_επανάληψης3. Αρχή_επανάληψης … Μέχρις_ότου

2.4.5

Page 3: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να περιγραφεί η δομή επανάληψης Όσο … επανέλαβεΗ δομή επανάληψης Όσο … επανέλαβε αποτελεί το πιο γενικό τύπο δομής επανάληψης.Η μορφή της είναι:

Όσο Συνθήκη

Ομάδα εντολών

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

επανέλαβε

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

Τα βήματα της δομής επανάληψης Όσο … επανέλαβε είναι:1ο Βήμα: Γίνεται έλεγχος της συνθήκης.

Αν ισχύει πηγαίνουμε στο 2ο Βήμα .Αν δεν ισχύει , τότε η εκτέλεση του αλγορίθμου συνεχίζει με την πρώτη

εντολή μετά το Τέλος_επανάληψης.2ο Βήμα: Εκτελούνται οι εντολές που υπάρχουν ανάμεσα

στο Όσο … επανέλαβε και στο Τέλος_επανάληψηςκαι επανερχόμαστε στο 1ο Βήμα

Προσοχή: Αν δεν ισχύει εξ αρχής η συνθήκηΗ ομάδα εντολών μπορεί να μην εκτελεστεί ποτέ.

2.69

ΠΡΟΣΟΧ

Η

Page 4: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να εξηγηθεί η λειτουργία του ακόλουθου αλγόριθμου:

2.70

Αλγόριθμος Παράδειγμα_A

Τέλος Παράδειγμα_A

Αρχικά στη μεταβλητή α αποδίδεται η τιμή 3.Το α>1 άραΘα εκτελεστούν οι εντολές της επανάληψης

Εμφάνισε α

α ← 3

Όσο α>1 επανέλαβε

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

Συνεπώς θα εμφανιστεί η τιμή 3 ,και η τιμή της μεταβλητής α θα μειωθεί κατά 1.

3

Κατόπιν θα επιστρέψουμε στο Οσο…επανέλαβε.Η νέα τιμή της μεταβλητής α είναι 2.Άρα θα εκτελεστούν πάλι οι εντολές της επανάληψης.

Δηλ. θα εμφανιστεί η τιμή 2 ,και η τιμή της μεταβλητής α θα μειωθεί κατά 1 και θα γίνει α= 1.

2

Όταν επιστρέψουμε στην αρχή της επανάληψης.

Η συνθήκη της επανάληψης δεν ισχύει.

Και οι εντολές της επανάληψης δεν θα εκτελεστούν.

Page 5: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

2.71

Αλγόριθμος Παράδειγμα_B

Τέλος Παράδειγμα_B

Οι εντολές α←2 και β ← -4 αποδίδουν τις αντίστοιχες τιμές στιςμεταβλητές.

α ← 2

β ← -4 α β Εμφανίζεται

μεταβλητές

Εμφάνισε α+β

Όσο α+β≤0 επανέλαβε

α ← α-1

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

β ← β+2

2 -4

1η Επανάληψη:Η συνθήκη α+β≤0 είναι αληθής.Άρα θα εκτελεστούν οι εντολές της επανάληψης.Η Εμφάνισε α+β θα εμφανίσει -2

-2

Με τις εντολές α←α-1 και β ← β+2 Θα μεταβληθούν οι τιμές των μεταβλητών.

-21 -2

Page 6: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα_B

Τέλος Παράδειγμα_B

α ← 2

β ← -4

α β Εμφανίζεται

Εμφάνισε α+β

Όσο α+β≤0 επανέλαβε

α ← α-1

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

β ← β+2

2 -4

2η Επανάληψη:Η συνθήκη α+β≤0 είναι αληθής.Άρα θα εκτελεστούν οι εντολές της επανάληψης.Η Εμφάνισε α+β θα εμφανίσει -1

-2

Με τις εντολές α←α-1 και β ← β+2 Θα μεταβληθούν οι τιμές των μεταβλητών.

-21 -20 0

-1

-1

2.71

Page 7: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα_B

Τέλος Παράδειγμα_B

α ← 2

β ← -4

α β Εμφανίζεται

Εμφάνισε α+β

Όσο α+β≤0 επανέλαβε

α ← α-1

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

β ← β+2

2 -4

3η Επανάληψη:Η συνθήκη α+β≤0 είναι αληθής.Άρα θα εκτελεστούν οι εντολές της επανάληψης.Η Εμφάνισε α+β θα εμφανίσει 0

-2-1

Με τις εντολές α←α-1 και β ← β+2 Θα μεταβληθούν οι τιμές των μεταβλητών.

-21 -20 0-1 2

0

-10

2.71

Page 8: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα_B

Τέλος Παράδειγμα_B

α ← 2

β ← -4

α β Εμφανίζεται

Εμφάνισε α+β

Όσο α+β≤0 επανέλαβε

α ← α-1

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

β ← β+2

2 -4

4η Επανάληψη:Η συνθήκη α+β≤0 είναι Ψευδής.Άρα δεν θα εκτελεστούν οι εντολές της επανάληψης.Η εκτέλεση του αλγορίθμου θα συνεχίσει μετάτο Τέλος_επανάληψης

-21 -20 0-1 2

-10

-2-10

2.71

Page 9: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

2.72

Αλγόριθμος Παράδειγμα_Γ

Τέλος Παράδειγμα_Γ

Οι εντολές α←10 και β ← 20 αποδίδουν τις αντίστοιχες τιμές στιςμεταβλητές.

α ← 10

β ← 20 α β Εμφανίζεται

μεταβλητές

Εμφάνισε α-β

Όσο α≤β και β>6 επανέλαβε

α ← α+2

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

β ← β-4

10 20

1η Επανάληψη:Η συνθήκη α≤β και β>6 είναι αληθής.Άρα θα εκτελεστούν οι εντολές της επανάληψης.

Στο βρόχο της επανάληψης περιέχεται μια σύνθετη επιλογή.

-10

Επειδή ισχύει η α<14

-1012

Αν α<14 τότε

ΑλλιώςΕμφάνισε α+β

Θα εκτελεστούν οι εντολές στο Αν α<14 τότε

Η εντολή Εμφάνισε α-β

Θα εμφανίσει την τιμή -10

Η εντολή α←α+2 θα αυξήσει την τιμή της α κατά 2.

Τέλος_αν

Page 10: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα_Γ

Τέλος Παράδειγμα_Γ

Στη συνέχεια θα οδηγηθούμε και πάλι στο Όσο…επανέλαβε

α ← 10

β ← 20 α β Εμφανίζεται

Εμφάνισε α-β

Όσο α≤β και β>6 επανέλαβε

α ← α+2

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

β ← β-4

10 20

2η Επανάληψη:Η συνθήκη α≤β και β>6 είναι αληθής.Άρα θα εκτελεστούν οι εντολές της επανάληψης.

-10

Επειδή ισχύει η α<14

-1012

Αν α<14 τότε

ΑλλιώςΕμφάνισε α+β

Θα εκτελεστούν οι εντολές στο Αν α<14 τότε

Η εντολή Εμφάνισε α-β

Θα εμφανίσει την τιμή -8

Η εντολή α←α+2 θα αυξήσει την τιμή της α κατά 2.

α-β =12-20=-8

-8

-8

14

Τέλος_αν

2.72

Page 11: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα_Γ

Τέλος Παράδειγμα_Γ

Στη συνέχεια θα οδηγηθούμε και πάλι στο Όσο…επανέλαβε

α ← 10

β ← 20 α β Εμφανίζεται

Εμφάνισε α-β

Όσο α≤β και β>6 επανέλαβε

α ← α+2

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

β ← β-4

10 20

3η Επανάληψη:Η συνθήκη α≤β και β>6 είναι αληθής.Άρα θα εκτελεστούν οι εντολές της επανάληψης.

-10

Τώρα όμως δεν ισχύει η α<14

-1012

Αν α<14 τότε

ΑλλιώςΕμφάνισε α+β

Θα εκτελεστούν οι εντολές στο Αλλιώς

Η εντολή Εμφάνισε α+β

Θα εμφανίσει την τιμή 34

Η εντολή β←β-4 θα μειώσει την τιμή της β κατά 4.

α+β =14+20=34

-8

-8

14

34

3416

Τέλος_αν

2.72

Page 12: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα_Γ

Τέλος Παράδειγμα_Γ

Στη συνέχεια θα οδηγηθούμε και πάλι στο Όσο…επανέλαβε

α ← 10

β ← 20 α β Εμφανίζεται

Εμφάνισε α-β

Όσο α≤β και β>6 επανέλαβε

α ← α+2

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

β ← β-4

10 20

4η Επανάληψη:Η συνθήκη α≤β και β>6 είναι αληθής.Άρα θα εκτελεστούν οι εντολές της επανάληψης.

-10

Τώρα όμως δεν ισχύει η α<14

-1012

Αν α<14 τότε

ΑλλιώςΕμφάνισε α+β

Θα εκτελεστούν οι εντολές στο Αλλιώς

Η εντολή Εμφάνισε α+β

Θα εμφανίσει την τιμή 30

Η εντολή β←β-4 θα μειώσει την τιμή της β κατά 4.

α+β =14+16=30

-8

-8

14

34

3416

30

3012

Τέλος_αν

2.72

Page 13: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος;

Αλγόριθμος Παράδειγμα_Γ

Τέλος Παράδειγμα_Γ

Στη συνέχεια θα οδηγηθούμε και πάλι στο Όσο…επανέλαβε

α ← 10

β ← 20 α β Εμφανίζεται

Εμφάνισε α-β

Όσο α≤β και β>6 επανέλαβε

α ← α+2

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

β ← β-4

10 20

5η Επανάληψη:Η συνθήκη α≤β και β>6 είναι ψευδής.Άρα δεν θα εκτελεστούν οι εντολές της επανάληψης.

-10

Και θα οδηγηθούμε μετά το Τέλος_επανάληψης

-1012

Αν α<14 τότε

ΑλλιώςΕμφάνισε α+β

-8

-8

14

34

3416

30

3012

Τέλος_αν

2.72

Page 14: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος και ποιες θα είναι οι τιμές των μεταβλητώνΧ, Υ και Ζ κατά τη διάρκεια εκτέλεσης του αλγορίθμου;

Αλγόριθμος Παράδειγμα_5

Τέλος Παράδειγμα_5

Χ ←20Υ← 1Ο

X Y Εμφανίζεται20 10 20 10 3510 25 20 30 33

Εμφάνισε Χ, Υ, Ζ

Όσο Y<Z επανέλαβε

X ← X+10

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

Y ← Y+5Τέλος_αν

20 30

Αν Χ > Υ + 5 τότεΥ←Χ + 5

Χ← 10 Αλλιώς

Χ ←Χ+ 10Υ ← Υ mod 10Τέλος_ανΖ ← Χ + Υ

Λ ν Χ < Υ τότε

Z ← Z-2

Z353331

Θα κάνουμε χρήση του πίνακα τιμώνΛύση

30 35

2.73

Page 15: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Τι καλείται ατέρμων βρόχος; Να δοθεί ένα παράδειγμα.Όταν η μιας επανάληψης είναι πάντα αληθήςΟ βρόχος της επανάληψης , δεν τερματίζει.

Για παράδειγμα ένας ατέρμων βρόχος είναι:

συνθήκη

Αλγόριθμος Ατέρμωνας

Τέλος Ατέρμωνας

α ←7

Όσο α<10 επανέλαβεΕμφάνισε α

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

είναι πάντα αληθήςΗ συνθήκη

Ο βρόχος αυτός δεν τερματίζει ποτέ ,Γιατί η αρχική τιμή της α είναι 7 και στην επανάληψη η τιμή της μειώνεται κατά ένα.Δηλ. θα πάρει τιμές 6,5,4,3,2,1,0….οι οποίες είναι μικρότερες του 10.

τότε η επανάληψη καλείται ατέρμων βρόχος.

2.74

Page 16: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Πως συμβολίζεται στο διάγραμμα ροής η δομή επανάληψης Όσο…επανέλαβε;Για να σχεδιάσουμε το διάγραμμα ροής ενός βρόχου επανάληψης Όσο….επανέλαβεκάνουμε τα εξής βήματα:1ο Βήμα :Χρησιμοποιούμε ένα ρόμβο όπου βάζουμε τη συνθήκη επανάληψης .

Συνθήκη

2ο Βήμα :Από τον ρόμβο ξεκινούν 2 βέλη.

Ναι

Το Ναι οδηγεί στις εντολές της επανάληψης

Εντολή 1

….

Εντολή Ν

Το Όχι οδηγεί στην επόμενη εντολή μετά το Τέλος _επανάληψης

Όχι

ΕπόμενηΕντολή

3ο Βήμα : Σχεδιάζουμε τα σύμβολα των εντολών επανάληψης Και από το σύμβολο της τελευταίας εντολής της επανάληψηςΈνα βέλος οδηγεί στη συνθήκη επανάληψης.

2.75

Page 17: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γίνει το διάγραμμα ροής του ακόλουθου αλγόριθμου:

α>0Ναι

α←α-1

Όχι

Αλγόριθμος Διάγραμμα_Ροής

Τέλος Διάγραμμα_Ροής

Διάβασε α

Όσο α>0 επανέλαβεα ←α-1

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

Αρχή

Διάβασε α

Τέλος

2.76

Page 18: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γίνει το διάγραμμα ροής του ακόλουθου αλγόριθμου

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

Τέλος ΔιάγραμμαΡοης

Χ ←25Υ← 3Ο

Εμφάνισε Χ, Υ, Ζ

Όσο Y<Z επανέλαβε

X ← X+8

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

Y ← Y+6Τέλος_αν

Αν Χ > Υ + 5 τότεΥ←Χ + 5Χ← 15

Αλλιώς

Χ ←Χ+ 15Υ ← Υ mod 2Τέλος_ανΖ ← Χ + Υ

Αν Χ < Υ τότε

Z ← Z-3

Λύση

2.77

Αρχή

Χ←25Υ←30

Χ>Υ+5Ναι

Υ←Υ+5Χ←15

Όχι

Χ←Χ+15Υ←Υmod2

Z←Χ+Y

Y<ZΝαι

X,Y,Z X<Y Ναι

Χ←Χ+8Όχι

Υ←Υ+6Ζ←Ζ-3

Τέλος

Page 19: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γραφεί αλγόριθμος ο οποίος θα εμφανίζει τους αριθμούς 1,2,3….,100με χρήση της δομής Όσο…επανέλαβε:

Η άσκηση ζητά να εκτυπωθούν 100 αριθμοί:Δηλ. να εμφανιστούν οι τιμές 1,2,3….100.

Ένας τρόπος θα ήταν με τη χρήση 100 Εντολών Εμφάνισε.

Εμφάνισε 1Εμφάνισε 2

Εμφάνισε 3…..

Εμφάνισε 100

Αυτός ο τρόπος όμως είναι χρονοβόρος και μακροσκελής.

Αντί να γράψουμε 100 φορές την εντολή ΕμφάνισεΜπορούμε να την έχουμε σε μια δομή επανάληψης:

2.78

Page 20: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γραφεί αλγόριθμος ο οποίος θα εμφανίζει τους αριθμούς 1,2,3….,100με χρήση της δομής Όσο…επανέλαβε:

Για να μπορέσουμε να εκτελέσουμε τη δομή επανάληψης 100 φορέςΘα χρησιμοποιήσουμε μια βοηθητική μεταβλητή xκαι θα εκχωρήσουμε την αρχική τιμή που θέλουμε να εκτυπώσουμε δηλ. την τιμή 1.

Σε κάθε επανάληψη θα αυξάνουμε την τιμή της μεταβλητής κατά 1(σαν εντολή αλλαγής)Άρα ο αλγόριθμος είναι:

Αλγόριθμος Αριθμοί100

Τέλος Αριθμοί100

x ← 1

Εμφάνισε xΌσο επανέλαβεx≤100

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

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

Μεθοδολογία:Θα πρέπει να προσέχουμε τα εξής σημεία1. Τον αρχικό αριθμό της ακολουθίας αριθμών.2. Τον τελικό αριθμό της ακολουθίας.3. Το αν η σειρά των αριθμών είναι αύξουσα ή φθίνουσα.4. Τη διαφορά μεταξύ των αριθμών.

2.78

Page 21: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γραφεί αλγόριθμος ο οποίος θα εμφανίζει τους αριθμούς 99,97,95,….1 με χρήση της δομής Όσο…επανέλαβε:

Αλγόριθμος Αριθμοί99_1

Τέλος Αριθμοί99_1

x ← 99

Εμφάνισε xΌσο επανέλαβεx≥1

x ← x-2Τέλος_επανάληψης

99Μεθοδολογία:Θα πρέπει να προσέχουμε τα εξής σημεία1. Τον αρχικό αριθμό της ακολουθίας αριθμών.2. Τον τελικό αριθμό της ακολουθίας.3. Το αν η σειρά των αριθμών είναι αύξουσα ή φθίνουσα.4. Τη διαφορά μεταξύ των αριθμών.

1Φθίνουσα ↓

-2

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

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

ΠΡΟΣΟΧ

Η

ΠΡΟΣΟΧ

Η

2.79

Page 22: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γραφεί αλγόριθμος ο οποίος θα υπολογίζει το άθροισμα 1+3+5…+99με χρήση της δομής Όσο…επανέλαβε:

2.80

Αλγόριθμος Άθροισμα_Αριθμών1_99

Τέλος Άθροισμα_Αριθμών1_99

x ← 1

Εμφάνισε “Το άθροισμα είναι :“, Άθροισμα

Όσο επανέλαβεx≤99

x ← x+2Τέλος_επανάληψης

1Μεθοδολογία:Θα πρέπει να προσέχουμε τα εξής σημεία1. Τον αρχικό αριθμό της ακολουθίας αριθμών.2. Τον τελικό αριθμό της ακολουθίας.3. Το αν η σειρά των αριθμών είναι αύξουσα ή φθίνουσα.4. Τη διαφορά μεταξύ των αριθμών.

99Αύξουσα ↑+2

από μικρό πηγαίνουμεσε μεγάλο άρα ≤

Αθροισμα ← 0

Άθροισμα ← Άθροισμα + x

Χρησιμοποιούμε μια μεταβλητή Άθροισματην οποία θα μηδενίσουμε αρχικάΣε κάθε επανάληψη θα προσθέτουμε την τιμή της x(σαν εντολή αλλαγής) στη μεταβλητή Άθροισμα.

99

x

Page 23: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γραφεί αλγόριθμος ο οποίος θα διαβάζει αριθμούς από το πληκτρολόγιο μέχρι να δοθεί σαν είσοδος ο αριθμός 0.Για κάθε αριθμό που θα εισάγεται θα εμφανίζεται ο διπλάσιος (με χρήση της δομής Όσο…επανέλαβε)

2.81

Αλγόριθμος Διπλάσιος_Αριθμός

Τέλος Διπλάσιος_Αριθμός

Εμφάνισε 2*α

Όσο επανέλαβεα≠0

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

Δεν γνωρίζουμε εκ των προτέρων πόσους αριθμούς θα εισάγει ο χρήστης.1. Θα διαβάζουμε μια τιμή και θα την εισάγουμε σε μια μεταβλητή.2. Θα ελέγχουμε την τιμή μιας μεταβλητής αν είναι ίση με 03. Αν είναι ίση με μηδέν σταματάμε την διαδικασία.4. Διαφορετικά θα πηγαίνουμε πάλι (:επανάληψη) στο βήμα 1.

Εμφάνισε “Δώσε ένα αριθμό”

Διάβασε α

Εμφάνισε “Δώσε ένα αριθμό”

Διάβασε α

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

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

ο αλγόριθμος πριν την επανάληψη , για να μπορεί να γίνειέλεγχος στην αρχή της επανάληψης.

2. Στο εσωτερικό της επανάληψης θα εκτελούνται οιαπαραίτητες ενέργειες.

3. Πριν το Τέλος_επανάληψης θα διαβάζεται ο επόμενοςαριθμός(σαν εντολή αλλαγής)και θα εισάγεται στην ίδιαμεταβλητή.

Page 24: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

2.82

Αλγόριθμος Πλήθος_Άθροισμα_Γινόμενο

Τέλος Πλήθος_Άθροισμα_Γινόμενο

Πλήθος ← Πλήθος+1Όσο επανέλαβεx≠0

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

Δεν γνωρίζουμε εκ των προτέρων πόσους αριθμούς θα εισάγει ο χρήστης.1. Θα διαβάζουμε μια τιμή και θα την εισάγουμε σε μια μεταβλητή.2. Θα ελέγχουμε την τιμή μιας μεταβλητής αν είναι ίση με 03. Αν είναι ίση με μηδέν σταματάμε την διαδικασία.4. Διαφορετικά θα πηγαίνουμε πάλι (:επανάληψη) στο βήμα 1.

Εμφάνισε “Δώσε ένα αριθμό”Διάβασε x

Άθροισμα ← Άθροισμα+x

Διάβασε x

ΈχουμεΜεχρι(Δεν ξέρω πόσες επαναλήψεις) άρα Δομή επανάληψης:

Όσο……επανέλαβε4 Μεταβλητές: 1. x είσοδος ,2. πλήθος,3. άθροισμα, 4. γινόμενο.

Τις εκχωρώ την τιμή μηδέν

Της εκχωρώ την τιμή 1

Πλήθος ← 0Αθροισμα ← 0Γινόμενο← 1

ΠΡΟΣΟΧ

Η

Γινόμενο ← Γινόμενο*xΕμφάνισε “Δώσε ένα αριθμό”

Εμφάνισε “Πλήθος:”,ΠλήθοςΕμφάνισε “Άθροισμα:”, ΆθροισμαΕμφάνισε “Γινόμενο:”, Γινόμενο

ΠΡΟΣΟΧ

Η

Πριν το Τέλος_επανάληψης θα διαβάζεται ο επόμενος αριθμός(σαν εντολή αλλαγής) και θα εισάγεται στην ίδια μεταβλητή.

Page 25: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

2.83

Αλγόριθμος Πλήθος_Αριθμών

Τέλος Πλήθος_Αριθμών

Πλήθος_Θ← Πλήθος_Θ+1

Όσο επανέλαβεα≠0

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

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

1. Θα διαβάζουμε μια τιμή και θα την εισάγουμεσε μια μεταβλητή.

2. Θα ελέγχουμε την τιμή μιας μεταβλητής ανείναι ίση με 0

3. Στην συνέχεια θα ελέγχουμε αν είναι > ή < τουμηδενός

4. Αν είναι ίση με μηδέν σταματάμε τηνδιαδικασία.

5. Διαφορετικά θα πηγαίνουμε πάλι(:επανάληψη) στο βήμα 1.

Εμφάνισε “Δώσε ένα αριθμό”

Διάβασε α

Διάβασε αΈχουμεΜεχρι(Δεν ξέρω πόσες επαναλήψεις) άρα Δομή επανάληψης:

Οσο……επανέλαβε3 Μεταβλητές: 1. α είσοδος ,2. πλήθος,

• Θετικοί, • Αρνητικοί.

ΑρχικάΤις εκχωρώ την τιμή μηδέν

Πλήθος_Θ ← 0Πλήθος_Α ← 0

Εμφάνισε “Δώσε ένα αριθμό”

Εμφάνισε "Πλήθος θετικών : ", Πλήθος_Θ

Εμφάνισε "Πλήθος Αρνητικών :", Πλήθος_Α

Αν α ≥ 0 τότε

Αλλιώς

Τέλος_αν

Πλήθος_Α ← Πλήθος_Α+1

συνολικό_πλήθος ← Πλήθος_Θ+Πλήθος_Α

Εμφάνισε " Ποσοστό Θετικών: ", πλήθος_Θ*100/συνολικό_πλήθοςΑν συνολικό_πλήθος≠0 τότε

Αλλιώς

Τέλος_αν

Εμφάνισε " Ποσοστό Αρνητικών: ",πλήθος_Α*100/συνολικό_πλήθος

ΠΡΟΣΟΧ

Η

Μπορε

ί να είναι σύν

ολο 0

ΠΡΟΣΟΧ

Η

ΠριντοΤέλ

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

θαδια

βάζεταιο

επόμενο

ς αριθμός και

θαεισάγετα

ι στην

ίδια

μεταβλητή.

•ΕΝΤΟΛΗ

ΑΛΛΑΓΗΣ

Εμφάνισε “Δεν μπορούν να υπολογιστούν τα ποσοστά ”

Page 26: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γραφεί αλγόριθμος ο οποίος θα διαβάζει τα ονόματα ενός συνόλου μαθητών Β΄ Εν.Λυκείου και τους βαθμούς στα γραπτά στα τρία μαθήματα κατεύθυνσης. Για κάθε μαθητή θα εμφανίζεται ο μέσος όρος των γραπτών του. Ο αλγόριθμος θα τερματίζει όταν (:μέχρι… ) δοθεί ως είσοδος είτε ο χαρακτήρας του κενού είτε όταν δοθεί η λέξη ΤΕΛΕΥΤΑΙΟΣ (με χρήση της δομής Όσο…επανέλαβε)

2.84

Αλγόριθμος ΜΟ_Μαθητών

Τέλος ΜΟ_Μαθητών

Εμφάνισε “Δώσε τους 3 βαθμούς του μαθητή:”Όσο επανέλαβεόνομα≠ “ “ και όνομα ≠ “ΤΕΛΕΥΤΑΙΟΣ “

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

Ο αλγόριθμος θα διαβάζει• το όνομα και• τους τρεις βαθμούςγια κάθε μαθητή,όσο το όνομα που δόθηκε σαν είσοδος είναι

διαφορετικό• του κενού και• της λέξης ΤΕΛΕΥΤΑΙΟΣ.

Εμφάνισε “Δώσε όνομα του μαθητή”Διάβασε όνομα

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

Διάβασε όνομα

ΈχουμεΜέχρι(Δεν ξέρω πόσες επαναλήψεις) άρα

Δομή επανάληψης: Οσο……επανέλαβε5 Μεταβλητές: 1. όνομα ,2. Βαθμοί α,β,γ3. ΜΟ

ΜΟ ← (α+β+γ)/3

Εμφάνισε “Δώσε όνομα του μαθητή”ΠΡΟΣΟΧ

Η

Πριν το Τέλος_επανάληψης θα διαβάζεται τοεπόμενο όνομα (σαν εντολή αλλαγής)

και θα εισάγεται στην ίδια μεταβλητή. ΕΝΤΟΛΗ ΑΛΛΑΓΗΣ

Εμφάνισε “Ο μέσος όρος του ”,όνομα,”είναι”,ΜΟ

! Συνήθως όταν ακούω για κάθε , τότε οι εντολές Εμφάνισε μέσα στο βρόχο.

Όχι Η (Για να τερματίζει Η, για να μην τερματίζει ΚΑΙ)Προσοχή με το ≠ και το ΚΑΙ μετατρέπεται σε ΗΔηλ..θα έχω επανάληψη μόνο όταν δεν θα έχω κενόΚΑΙ δε θα έχω τη λέξη τελευταίος. Αν έχω έστω 1 κενότερματίζεται ο βρόχος.Αν έβαζα Η θα είχα ατέρμων βρόχο.

Εκτύπωσε για κάθε μαθητή, μετά ο επόμενος.

Page 27: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

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

2.85

Αλγόριθμος ΜΟ

Τέλος ΜΟ

άθροισμα← άθροισμα+βαθμός

Όσο επανέλαβεβαθμός≠ 0

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

Για να υπολογιστεί ο μέσος όρος (Μ.Ο.) πρέπει να υπολογιστεί• το άθροισμα τους και• το πλήθος τουςΟ αλγόριθμος θα εκτελείται όσο ο βαθμός

είναι διαφορετικός του μηδενός.Μόνο αν ο βαθμός θα είναι θετικός θα

προστίθεται στο άθροισμα και θααυξάνεται το πλήθος.

Εμφάνισε “Δώσε ένα βαθμό”Διάβασε βαθμός

πλήθος ← πλήθος+1

Διάβασε βαθμός

ΜΟ ← άθροισμα/πλήθος

Εμφάνισε “Δώσε ένα βαθμό”

Εμφάνισε “Ο μέσος όρος είναι”,ΜΟ

Εντολή αλλαγής

άθροισμα ← 0πλήθος ← 0

Αν τότεβαθμός>0

Τέλος_αν

Αν τότεπλήθος≠0

Τέλος_αν

ΑλλιώςΕμφάνισε “Δεν μπορεί να υπολογιστεί ο μέσος όρος”

Page 28: Δομή Επανάληψης 1 - Όσο....Επανέλαβε,Ανάπτυξη Εφαρμογών σε Προγραμματιστικό  Περιβάλλον

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝΚεφάλαιο 2ο

Να γραφεί αλγόριθμος ο οποίος θα διαβάζει το όνομα και το βαθμό στα μαθηματικά ενός αγνώστου πλήθους μαθητών.Στη συνέχεια να υπολογίζει:•Το όνομα και το βαθμό του μαθητή με το μεγαλύτερο βαθμό.•Το πλήθος των μαθητών που έχουν βαθμό κάτω από τη βάση (<9.5)•Το μέσο όρο των βαθμών των μαθητών.Ο αλγόριθμος θα τερματίζει όταν δοθείως είσοδος αρνητικός αριθμός ή μηδέν.

2.86

Αλγόριθμος Βαθμολογία

Τέλος Βαθμολογία

max ← βαθμός

Όσο επανέλαβεβαθμός>0

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

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

Εμφάνισε “Δώσε όνομα και βαθμό του μαθητή”Διάβασε όνομα , βαθμό

όνομα_max ← όνομα

Διάβασε όνομα, βαθμόςΕμφάνισε “Δώσε ένα όνομα και βαθμό μαθητή”

Εμφάνισε “Ο μέσος όρος βαθμών είναι ”,άθροισμα/πλήθος

άθροισμα ← 0πλήθος ← 0

Αν τότεβαθμός>max

Τέλος_αν

Αν τότεπλήθος≠0

Τέλος_αν

Αλλιώς

Εμφάνισε “Δεν μπορεί να υπολογιστεί ο μέσος όρος”

Δομή επανάληψης Όσο….επανέλαβε….

πλήθοςΚΒ ← 0

max ← βαθμόςόνομαmax ← όνομα

πλήθοςΚΒ ← πλήθοςΚΒ+1Αν τότεβαθμός<9.5

Τέλος_αν

άθροισμα ← άθροισμα + βαθμός

πλήθος ← πλήθος + 1

Εμφάνισε “όνομα και βαθμό καλύτερου μαθητή:”,όνομα_max, maxΕμφάνισε “Πλήθος μαθητών κάτω από τη βάση:”,πλήθοςΚΒ