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

18

Click here to load reader

description

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

Transcript of Δομή Επανάληψης 2 -...

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

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

Να περιγραφεί η δομή επανάληψης Αρχή_επανάληψης…… …Μέχρις_ότουΗ μορφή της δομής επανάληψης Αρχή_επανάληψης … Μέχρις_ότου είναι:

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

Συνθήκη

Ομάδα εντολώνΜέχρις_ότου

Η ομάδα εντολών στο εσωτερικό της επανάληψης,εκτελείται μέχρις ότου ισχύει η συνθήκη να γίνει αληθής.Δηλ όσο η συνθήκη είναι ψευδής.Τα βήματα της δομής επανάληψης Αρχή_επανάληψης….Μέχρις_ότου είναι:

1ο Βήμα: Αρχίζει η επανάληψη και εκτελείται η Ομάδα εντολών μια φορά.2ο Βήμα: Όταν φθάσουμε στο Μέχρις_ότου

ελέγχουμε τη συνθήκη.Αν η συνθήκη είναι ψευδής πηγαίνουμε στο 1ο ΒήμαΑν είναι αληθής τερματίζει η επανάληψη.

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

2.87

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

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

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος και πόσες φορές θα εκτελεστεί και η επανάληψη αν δοθεί σαν είσοδος η τιμή 10 ;

2.88

Αλγόριθμος ΜέχριςΌτου

Τέλος ΜέχριςΌτου

Αρχικά στη μεταβλητή α εκχωρείται η τιμή 10

Διάβασε αΑρχή_επανάληψης

Εμφάνισε

α<0

α

α ← α-3

Μέχρις_ότου

1η Επανάληψη:Αρχίζει η επανάληψη και οι εντολές εκτελούνται μία φορά.Θα εμφανιστεί η τιμή 10Και η τιμή της μεταβλητής α θα μειωθεί κατά 3 (α=7)Στο Μέχρις_ότου η συνθήκη α<0Είναι ψευδής,

10

Άρα θα συνεχίσει να εκτελείται η επανάληψη.Και θα επιστρέψουμε στην αρχή της επανάληψης.2η Επανάληψη:Θα εμφανιστεί η τιμή 7Και η τιμή της μεταβλητής α θα μειωθεί κατά 3 (α=4)

7

Στο Μέχρις_ότου η συνθήκη α<0Είναι ψευδής, Άρα θα συνεχίσει να εκτελείται η επανάληψη.Και θα επιστρέψουμε στην αρχή της επανάληψης.3η Επανάληψη:Θα εμφανιστεί η τιμή 4Και η τιμή της μεταβλητής α θα μειωθεί κατά 3 (α=1)Στο Μέχρις_ότου η συνθήκη α<0Είναι ψευδής, Άρα θα συνεχίσει να εκτελείται η επανάληψη.Και θα επιστρέψουμε στην αρχή της επανάληψης.

3

4η Επανάληψη:Θα εμφανιστεί η τιμή 1Και η τιμή της μεταβλητής α θα μειωθεί κατά 3 (α=-2<0) και α<0΄οπότε η συνθήκη είναι πλέον αληθής και θα τερματιστεί η επανάληψη.

1

Συνεπώς η επανάληψη θα εκτελεστεί 4 φορές

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

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

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος και πόσες φορές θα εκτελεστεί η επανάληψη αν δοθούν οι αριθμοί 8 και 20;

2.89

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

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

Διάβασε α,β

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

β=α

α←α+2β←β-2

Μέχρις_ότου

Αν β-α>2 τότε

Εμφάνισε α-β

Αλλιώς

Εμφάνισε α+β

Τέλος_αν

Εμφάνισε “α=“,α, “και β=”,β

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

Συνθήκη

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

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

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος και πόσες φορές θα εκτελεστεί η επανάληψη αν δοθούν οι αριθμοί 8 και 20;

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

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

Διάβασε α,β

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

β=α

α←α+2β←β-2

Μέχρις_ότου

Αν β-α>2 τότε

Εμφάνισε α-β

Αλλιώς

Εμφάνισε α+β

Τέλος_αν

Εμφάνισε “α=“,α, “και β=”,β

Με την εντολή Διάβασε α,β εκχωρούνται οι τιμές 8 και 20 στις αντίστοιχες μεταβλητές

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

1η Επανάληψη:

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

10

Η εντολή β←β-2 εκχωρεί την τιμή 18 στη β.

18

Η συνθήκη β-α>2 της σύνθετης επιλογής είναι αληθής.Οπότε θα εμφανιστεί η διαφορά β-α δηλαδή -8

-8

Στο Μέχρις_ότου η συνθήκη β=α είναι ψευδής.

Άρα η επανάληψη θα συνεχιστεί και θα επιστρέψουμε στην Αρχή_επανάληψης

2.89

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

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

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος και πόσες φορές θα εκτελεστεί η επανάληψη αν δοθούν οι αριθμοί 8 και 20;

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

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

Διάβασε α,β

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

β=α

α←α+2β←β-2

Μέχρις_ότου

Αν β-α>2 τότε

Εμφάνισε α-β

Αλλιώς

Εμφάνισε α+β

Τέλος_αν

Εμφάνισε “α=“,α, “και β=”,β

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

2η Επανάληψη:

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

10

Η εντολή β←β-2 εκχωρεί την τιμή 16 στη β.

18

Η συνθήκη β-α>2 της σύνθετης επιλογής είναι αληθής.Οπότε θα εμφανιστεί η διαφορά β-α δηλαδή -4

-8

Στο Μέχρις_ότου η συνθήκη β=α είναι ψευδής.

Άρα η επανάληψη θα συνεχιστεί και θα επιστρέψουμε στην Αρχή_επανάληψης

12 16-4

2.89

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

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

Τι θα εμφανίσει ο ακόλουθος αλγόριθμος και πόσες φορές θα εκτελεστεί η επανάληψη αν δοθούν οι αριθμοί 8 και 20;

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

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

Διάβασε α,β

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

β=α

α←α+2β←β-2

Μέχρις_ότου

Αν β-α>2 τότε

Εμφάνισε α-β

Αλλιώς

Εμφάνισε α+β

Τέλος_αν

Εμφάνισε “α=“,α, “και β=”,β

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

3η Επανάληψη:

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

10

Η εντολή β←β-2 εκχωρεί την τιμή 14 στη β.

18

Η συνθήκη β-α>2 της σύνθετης επιλογής είναι ψευδής.Οπότε θα εμφανιστεί το άθροισμα α+β δηλαδή 28

-8

Στο Μέχρις_ότου η συνθήκη β=α είναι αληθής.

Άρα η επανάληψη θα τερματίσει και θα συνεχιστεί η εκτέλεση μετά το Μέχρις_ότου.

12 16-4

14 1428

α=14 και β=14

2.89

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

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

Πως συμβολίζεται στο διάγραμμα ροής η δομή επανάληψης Αρχή_επανάληψης…..Μέχρις_ότου.

2.90

Για να σχεδιάσουμε το διάγραμμα ροής ενός βρόχου επανάληψηςΑρχή_επανάληψης…Μέχρις_ότου

Πρέπει να κάνουμε τα εξής βήματα:

1ο Βήμα: Σχεδιάζουμε τα σύμβολα των εσωτερικών εντολών επανάληψης

Εντολή 1

Εντολή Ν

….

2ο Βήμα: Φτιάχνουμε ένα ρόμβο για τη συνθήκη της επανάληψης

Συνθήκη3ο Βήμα: Από τον ρόμβο ξεκινούν δύο βέλη.

ΝαιΌχι

Το βέλος Όχι Οδηγεί στην αρχή των εντολών επανάληψηςΤο βέλος ΝαιΟδηγεί στην επόμενη εντολή μετά το Μέχρις_ότου

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

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

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

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

2.91

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

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

Διάβασε α,β

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

β=α

α←α+2β←β-2

Μέχρις_ότου

Αν β-α>2 τότε

Εμφάνισε α-β

Αλλιώς

Εμφάνισε α+β

Τέλος_αν

Εμφάνισε “α=“,α, “και β=”,β

Αρχή

Διάβασε α,β

ΕσωτερικέςΕντολές

α←α+2β←β-2

β-α>2Ναι

Εμφάνισε α-β

Όχι

Εμφάνισε α+β

β=αΌχι

Ναι

Εμφάνισε“α=“,α, “και β=”,β

Τέλος

ΕσωτερικέςΕντολές

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

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

Ποιες οι διαφορές των δομών επανάληψης•Όσο…επανέλαβε και •Αρχή_επανάληψης…..Μέχρις_ότου.

2.92

1.Στο Όσο…επανέλαβε οι εντολές μπορεί να μην εκτελεστούν ποτέ, γιατί μπορεί να μην ισχύει η συνθήκη.

Στο Αρχή_επανάληψης…Μέχρις_ότου οι εντολές θα εκτελεστούν τουλάχιστον μία φορά.

2.Στο Όσο…επανέλαβε ο έλεγχος γίνεται στην αρχή.

Στο Αρχή_επανάληψης…Μέχρις_ότου ο έλεγχος γίνεται στο τέλος.

3.Στο Όσο…επανέλαβε η επανάληψη συνεχίζει όσο η συνθήκη είναι αληθής.

Στο Αρχή_επανάληψης…Μέχρις_ότου η επανάληψη συνεχίζει όσο η συνθήκη είναι ψευδής, δηλαδή μέχρι η συνθήκη να γίνει αληθής.

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

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

Να μετατραπεί η γενική μορφή της δομής επανάληψης Όσο….επανέλαβε σε ισοδύναμη μορφή χρησιμοποιώντας τη δομή επανάληψης Αρχή_επανάληψης…Μέχρις_ότου

2.93

Οσο…επανέλαβε

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

Ομάδα εντολώνΤέλος_επανάληψης

Αρχή_επανάληψης…Μέχρις_ότουΑν συνθήκη τότε

Αρχή_επανάληψηςΟμάδα εντολών

Μέχρις_ότουΌχι ΣυνθήκηΤέλος_αν

Προσέχουμε 2 σημεία:1. Επειδή στο Όσο_επανέλαβεΕκτελείται όσο η συνθήκη είναι αληθήςΕνώ στο Αρχή_επανάληψης…Μέχρις_ότουΕκτελείται όσο η συνθήκη είναι ψευδής, οπότε χρησιμοποιούμε τον τελεστή Άρνησης στη συνθήκη.

2. Το Όσο_επανέλαβε μπορεί να μην εκτελεστεί ποτέ.Ενώ το Αρχή_επανάληψης…Μέχρις_ότου εκτελείται τουλάχιστον μία φορά.

Γι’ αυτό χρησιμοποιούμε μια Απλή επιλογή, μέσα στην οποία έχουμε την εντολή επανάληψης.Με αυτό τον τρόπο , μόνο αν ισχύει από την αρχή η συνθήκη θα εκτελεστούν οι εντολές τηςΑρχής_επανάληψης…..Μέχρις_ότου

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

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

Να μετατραπεί η γενική μορφή της δομής επανάληψης Όσο….επανέλαβε σε ισοδύναμη μορφή χρησιμοποιώντας τη δομή επανάληψης Αρχή_επανάληψης…Μέχρις_ότου

Όσο…επανέλαβε

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

Ομάδα εντολώνΤέλος_επανάληψης

Αρχή_επανάληψης…Μέχρις_ότουΑν συνθήκη τότε

Αρχή_επανάληψηςΟμάδα εντολών

Μέχρις_ότουΌχι ΣυνθήκηΤέλος_ανΠαράδειγμα

Όσο…επανέλαβεΑλγόριθμος παράδειγμα

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

Εμφάνισε 2*αΔιάβασε αΤέλος_επανάληψης

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

Αρχή_επανάληψης…Μέχρις_ότουΑλγόριθμος παράδειγμα

Διάβασε αΑν α≠0 τότε

Αρχή_επανάληψηςΕμφάνισε 2*αΔιάβασε α

Μέχρις_ότου Όχι α≠0Τέλος_αν

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

2.93

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

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

Να μετατραπεί η γενική μορφή της δομής επανάληψης Αρχή_επανάληψης…Μέχρις_ότου σε ισοδύναμη μορφή χρησιμοποιώντας τη δομή επανάληψης Όσο….επανέλαβε

2.94

Όσο…επανέλαβε

Όσο Όχι Συνθήκη επανέλαβε

Ομάδα εντολώνΤέλος_επανάληψης

Αρχή_επανάληψης…Μέχρις_ότου

Αρχή_επανάληψηςΟμάδα εντολών

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

Προσέχουμε 2 σημεία:1. Επειδή στο Αρχή_επανάληψης…ΜέχριςΕκτελείται όσο η συνθήκη είναι ψευδήςΕνώ στο Όσο_επανέλαβεΕκτελείται όσο η συνθήκη είναι αληθής, οπότε χρησιμοποιούμε τον τελεστή Άρνησης στη συνθήκη.

Ενώ το Όσο_επανέλαβε μπορεί να μην εκτελεστεί ποτέ.2. Επειδή το Αρχή_επανάληψης…Μέχρις_ότου εκτελείται τουλάχιστον μία φορά.

Γράφουμε μια φορά τις εντολές επανάληψηςΠριν το Όσο_επανέλαβε. Έτσι εξασφαλίζουμε ότι θα εκτελεστούν τουλάχιστον μία φορά.

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

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

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

Να μετατραπεί η γενική μορφή της δομής επανάληψης Αρχή_επανάληψης…Μέχρις_ότου σε ισοδύναμη μορφή χρησιμοποιώντας τη δομή επανάληψης Όσο….επανέλαβε

Οσο…επανέλαβε

Όσο Όχι συνθήκη επανέλαβε

Ομάδα εντολώνΤέλος_επανάληψης

Αρχή_επανάληψης…Μέχρις_ότου

Αρχή_επανάληψηςΟμάδα εντολών

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

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

Παράδειγμα

Οσο…επανέλαβεΑλγόριθμος παράδειγμα

Διάβασε α

Όσο Όχια<0 επανέλαβεΕμφάνισε αα←α-3Τέλος_επανάληψης

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

Αρχή_επανάληψης…Μέχρις_ότουΑλγόριθμος παράδειγμα

Διάβασε αΑρχή_επανάληψης

Εμφάνισε αα←α-3

Μέχρις_ότου α<0

Τέλος παράδειγμαΕντολή αλλαγής

2.94

Εμφάνισε αα←α-3

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

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

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

2.95

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

Από την εκφώνηση καταλαβαίνουμε ότι ο αλγόριθμος θα εκτελείται πάντα για τον πρώτο αριθμόκαι κατόπιν θα ρωτά τον χρήστη, αν επιθυμεί να

συνεχίσει.

Αφού θα εκτελεστεί τουλάχιστον μία φοράΘα χρησιμοποιήσω τη δομή επανάληψης

Αρχή_επανάληψης….Μέχρις_ότου

Αλγόριθμος Έλεγχος_Αριθμού

Τέλος Έλεγχος_Αριθμού

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

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

Αν α>0 τότεΕμφάνισε “Μεγαλύτερος από το 0”

Αλλιώς_αν α<0 τότε

Εμφάνισε “Μικρότερος από το 0”ΑλλιώςΕμφάνισε “Ίσος με το 0”

Τέλος_ανΕμφάνισε “Επιθυμείς να συνεχίσει η

διαδικασία”Διάβασε απάντηση

Μέχρις_ότου απάντηση = “ΌΧΙ ”Εντολή αλλαγής

Συνθήκη

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

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

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

2.96

Κάθε αριθμό που θα διαβάζουμε

Θα τον προσθέτουμε στη μεταβλητή το άθροισμα

Την μεταβλητή άθροισμα θα την αρχικοποιήσουμε σε 0.

Πρέπει να διαβάσουμε τουλάχιστον ένα αριθμό, οπότε θα χρησιμοποιήσω τη δομή επανάληψηςΑρχή_επανάληψης….Μέχρις_ότου

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

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

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

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

άθροισμα ← 0

πλήθος ← 0

άθροισμα← άθροισμα+α

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

Εμφάνισε “Το άθροισμα των αριθμών είναι”,άθροισμα

Εμφάνισε “Το πλήθος των αριθμών είναι”,πλήθος

Μέχρις_ότου άθροισμα≥100

Συνθήκη

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

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

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

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

2.97

Αφού διαβαστεί ένας βαθμός θα πρέπει να ελεγχθεί αν είναι μεγαλύτερος από το μηδέν.

Αν είναι τότε θα πρέπει να διαβαστεί ο επόμενος.

Αν δεν είναι θα πρέπει να εισαχθεί εκ νέου.

Η διαδικασία αυτή μπορεί να υλοποιηθεί αν χρησιμοποιήσω 2 φορές τη δομή επανάληψηςΑρχή_επανάληψης….Μέχρις_ότου

Αλγόριθμος ΜΟ_με_Έλεγχο

Τέλος ΜΟ_με_Έλεγχο

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

Εμφάνισε “Δώσε τον 1ο θετικό αριθμό”Διάβασε α

!Όταν τερματίσουν και οι δύο επαναλήψεις οι βαθμοί θα είναι θετικοί

Εμφάνισε “Ο μέσος όρος των βαθμών είναι:”,(α+β)/2

Μέχρις_ότου α>0

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

Εμφάνισε “Δώσε τον 2ο θετικό αριθμό”Διάβασε β

Μέχρις_ότου β>0

Προσοχή θέλω μόνο 2 βαθμούς.

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

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

Στο Ρίο-Αντίρριο ένα Ferry Boat ξεκινά το δρομολόγιο του όταν γεμίσει με τροχοφόρα. Κάθε τροχοφόρο που εισέρχεται στο Ferry-Boat πληρώνει ένα σύνολο χρημάτων. Τα μηχανάκια πληρώνουν 3€, τααυτοκίνητα 5€ και λεωφορεία και τα φορτηγά 10€.Μετά την είσοδο ενός τροχοφόρου θα δίνεται ως είσοδος η απάντηση του προσωπικού προς τον καπετάνιο.Αν η απάντηση είναι καταφατική , το πλοίο ξεκινά , αν όχι εισέρχεται άλλο ένα τροχοφόρο.Να γραφεί αλγόριθμος ο οποίος θα διαβάζει τον τύπο του τροχοφόρου και θα υπολογίζει το ποσό πληρωμής και θαεμφανίζει κατάλληλο μήνυμα . Επίσης θα καταγράφει τα συνολικά χρήματα που συγκεντρώθηκαν και θα τα εμφανίζει στοτέλος του αλγορίθμου. Μετά την είσοδο ενός τροχοφόρου θα ερωτάται το προσωπικό αν μπορεί να εισέλθει και άλλο τροχοφόρο.

2.98

Για κάθε τροχοφόρο θα διαβάζουμε τον τύπο του καιθα εμφανίζουμε τι πρέπει να πληρώσει.Για να γεμίσει το πλοίο θα χρειαστούν αρκετά τροχοφόρακαι στο τέλος να δοθεί καταφατική απάντηση προς τον καπετάνιο,από το προσωπικό. οπότε η επανάληψη θα εκτελεστεί αρκετές φορές.Συνεπώς θα χρησιμοποιήσουμε τη δομή επανάληψηςΑρχή_επανάληψης…..Μέχρις_ότου.

Τέλος FerryBboat

άθροισμα← 0

Εμφάνισε “Το σύνολο των χρημάτων είναι:”,άθροισμα

Αρχή_επανάληψηςΕμφάνισε “Δώσε τον τύπο τροχοφόρου:”Διάβασε τύπος

Μέχρις_ότου απάντηση=“ΝΑΙ”

Αλγόριθμος FerryBboat

Αν τύπος=“ Μηχανάκι” τότεποσό_πληρωμής← 3

Αλλιώς_αν τύπος=“ Αυτοκίνητο” τότε

ποσό_πληρωμής← 5Αλλιώςποσό_πληρωμής← 10

Τέλος_ανΕμφάνισε “Πρέπει να πληρώσεις:”,ποσό_πληρωμήςάθροισμα← άθροισμα +ποσό_πληρωμής

Εμφάνισε “Το πλοίο γέμισε;”Διάβασε απάντηση

ΠΡΟΣΟΧ

Η

3 περιπτώσειςΓια κάθε τροχοφόρο που εισέρχεται

Αν ΝΑΙ φεύγει το πλοίοΑν οτιδήποτε άλλο μένει και φορτώνει

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

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

Ένας καταναλωτής πηγαίνει στο πολυκατάστημα και έχει στη τσέπη του 5000€. Ξεκινά να αγοράζει διάφορα είδη και ταυτόχρονακρατά το συνολικό ποσό στο οποίο έχει φθάσει κάθε στιγμή που αγοράζει κάποιο είδος. Οι τιμές των ειδών που αγοράζει είναι σε δραχμές και είναι δεδομένο ότι 1€=330δρχ. Να γραφεί αλγόριθμος για τον υπολογισμό του ποσού από τα ψώνια που έγιναν και να σταματά η αγορά ειδών έτσιώστε να μην ξεπεραστεί το ποσό που έχει διαθέσιμο ο καταναλωτής.

2.99

Ο αλγόριθμος θα διαβάζει επαναληπτικά τις τιμές προϊόντων που αγόρασε ο καταναλωτής.Η επανάληψη τερματίζει όταν το άθροισμα των χρημάτων που έχει ξοδέψει είναι ίσο ή έχει ξεπεράσει τα 5000€.Μετά τον τερματισμό της επανάληψης θα πρέπει να ελέγξουμεαν τα είδη που αγοραστήκαν ξεπέρασαν τα χρήματα πουδιέθετε ο καταναλωτής.Αν αυτό ισχύει τότε την ίδια τιμή του τελευταίου προϊόντοςπρέπει να την αφαιρέσουμε ,γιατί ο καταναλωτής δεν μπορείνα ξοδέψει πάνω από 5000.

Τέλος Αγορές

άθροισμα← 0

Εμφάνισε “Το ποσό που διέθεσε είναι:”,άθροισμα

Αρχή_επανάληψηςΕμφάνισε “Δώσε τιμή προϊόντος :”Διάβασε τιμή

Μέχρις_ότου άθροισμα≥5000

Αλγόριθμος Αγορές

Αν άθροισμα>5000 τότε

τιμή← τιμή/330

άθροισμα ← άθροισμα-τιμήΤέλος_αν

άθροισμα← άθροισμα+τιμή!Για να τα κάνω Ευρώ