2.87 Να περιγραφεί η δομή επανάληψης Μέχρις_ότου Ημορφή της δομής επανάληψης Μέχρις_ότου είναι: Μέχρις_ότου Συνθήκη Η ομάδα εντολών στο εσωτερικό της επανάληψης, εκτελείται μέχρις ότου ισχύει η συνθήκη να γίνει αληθής. Δηλ όσο η συνθήκη είναι ψευδής. Τα βήματα της δομής επανάληψης.μέχρις_ότου είναι: 1 ο Βήμα: Αρχίζει η επανάληψη και εκτελείται η μια φορά. 2ο Βήμα: Όταν φθάσουμε στο Μέχρις_ότου ελέγχουμε τη συνθήκη. Αν η συνθήκη είναι ψευδής πηγαίνουμε στο 1 ο Βήμα Αν είναι αληθής τερματίζει η επανάληψη. Μεθοδολογία: Η ομάδα εντολών εκτελείται τουλάχιστον μία φορά. Δεν γνωρίζουμε τον αριθμό των επαναλήψεων. Η ομάδα εντολών εκτελείται μέχρι η Συνθήκη να γίνει αληθής (ή όσο συνθήκη είναι ψευδής) Στην ομάδα εντολών περιλαμβάνονται και οι εντολές που θα τροποποιούν τη συνθήκη (εντολή αλλαγής). Χρησιμοποιείται όταν δεν ξέρουμε τον ακριβή αριθμό επαναλήψεων, αλλά επιθυμούμε να εκτελεστεί τουλάχιστον μία φορά η επανάληψη.
2.88 Τι θα εμφανίσει ο ακόλουθος αλγόριθμος και πόσες φορές θα εκτελεστεί και η επανάληψη αν δοθεί σαν είσοδος η τιμή 10 ; Αλγόριθμος ΜέχριςΌτου Εμφάνισε α α-3 Μέχρις_ότου α α<0 ΜέχριςΌτου Συνεπώς η επανάληψη θα εκτελεστεί 4 φορές Αρχικά στη μεταβλητή α εκχωρείται η τιμή 10 1 η Επανάληψη: Αρχίζει η επανάληψη και οι εντολές εκτελούνται μία φορά. Θα εμφανιστεί η τιμή 10 Και η τιμή της μεταβλητής α θα μειωθεί κατά 3 (α=7) 10 Στο Μέχρις_ότου η συνθήκη α<0 7 Είναι ψευδής, 4 1 Άρα θα συνεχίσει να εκτελείται η επανάληψη. Και θα επιστρέψουμε στην αρχή της επανάληψης. 2 η Επανάληψη: Θα εμφανιστεί η τιμή 7 Και η τιμή της μεταβλητής α θα μειωθεί κατά 3 (α=4) Στο Μέχρις_ότου η συνθήκη α<0 Είναι ψευδής, Άρα θα συνεχίσει να εκτελείται η επανάληψη. Και θα επιστρέψουμε στην αρχή της επανάληψης. 3 η Επανάληψη: Θα εμφανιστεί η τιμή 4 Και η τιμή της μεταβλητής α θα μειωθεί κατά 3 (α=1) Στο Μέχρις_ότου η συνθήκη α<0 Είναι ψευδής, Άρα θα συνεχίσει να εκτελείται η επανάληψη. Και θα επιστρέψουμε στην αρχή της επανάληψης. 4 η Επανάληψη: Θα εμφανιστεί η τιμή 1 Και η τιμή της μεταβλητής α θα μειωθεί κατά 3 (α=-2<0) και α<0 οπότε η συνθήκη είναι πλέον αληθής και θα τερματιστεί η επανάληψη.
2.89 Τι θα εμφανίσει ο ακόλουθος αλγόριθμος και πόσες φορές θα εκτελεστεί η επανάληψη αν δοθούν οι αριθμοί 8 και 20; Αλγόριθμος Παράδειγμα_4,β α α+2 β β-2 Αν β-α>2 τότε Εντολές αλλαγής Εμφάνισε α-β Αλλιώς Εμφάνισε α+β _αν Μέχρις_ότου β=α Συνθήκη Εμφάνισε α=,α, και β=,β Παράδειγμα_4
2.89 Τι θα εμφανίσει ο ακόλουθος αλγόριθμος και πόσες φορές θα εκτελεστεί η επανάληψη αν δοθούν οι αριθμοί 8 και 20; Αλγόριθμος,β α α+2 β β-2 Αν β-α>2 Μέχρις_ότου Παράδειγμα_4 τότε Εμφάνισε α-β Αλλιώς Εμφάνισε α+β _αν β=α Εμφάνισε α=,α, και β=,β Με την εντολή,β εκχωρούνται οι τιμές 8 και 20 στις αντίστοιχες μεταβλητές 1 η Επανάληψη: α β Εμφανίζεται 8 20-8 10 18 Η εντολή α α+2 αυξάνει την τιμή της α κατά 2 και γίνεται 10. Η εντολή β β-2 εκχωρεί την τιμή 18 στη β. Ησυνθήκη β-α>2 της σύνθετης επιλογής είναι αληθής. Οπότε θα εμφανιστεί η διαφορά α-β δηλαδή -8 Στο Μέχρις_ότου η συνθήκη β=α είναι ψευδής. Παράδειγμα_4 Άρα η επανάληψη θα συνεχιστεί και θα επιστρέψουμε στην
2.89 Τι θα εμφανίσει ο ακόλουθος αλγόριθμος και πόσες φορές θα εκτελεστεί η επανάληψη αν δοθούν οι αριθμοί 8 και 20; Αλγόριθμος Παράδειγμα_4,β α α+2 β β-2 Αν β-α>2 τότε Εμφάνισε α-β Αλλιώς Εμφάνισε α+β _αν Μέχρις_ότου β=α Εμφάνισε α=,α, και β=,β α β Εμφανίζεται 8 20-8 10 18-4 12 16 2 η Επανάληψη: Η εντολή α α+2 αυξάνει την τιμή της α κατά 2 Η εντολή β β-2 εκχωρεί την τιμή 16 στη β. Ησυνθήκη β-α>2 της σύνθετης επιλογής είναι αληθής. Οπότε θα εμφανιστεί η διαφορά α-β δηλαδή -4 Στο Μέχρις_ότου η συνθήκη β=α είναι ψευδής. Παράδειγμα_4 Άρα η επανάληψη θα συνεχιστεί και θα επιστρέψουμε στην
2.89 Τι θα εμφανίσει ο ακόλουθος αλγόριθμος και πόσες φορές θα εκτελεστεί η επανάληψη αν δοθούν οι αριθμοί 8 και 20; Αλγόριθμος Παράδειγμα_4,β α α+2 β β-2 Αν β-α>2 τότε Εμφάνισε α-β Αλλιώς Εμφάνισε α+β _αν Μέχρις_ότου β=α Εμφάνισε α=,α, και β=,β 3 η Επανάληψη: α β Εμφανίζεται 8 20-8 10 18-4 12 16 28 14 14 α=14 και β=14 Η εντολή α α+2 αυξάνει την τιμή της α κατά 2 Η εντολή β β-2 εκχωρεί την τιμή 14 στη β. Ησυνθήκη β-α>2 της σύνθετης επιλογής είναι ψευδής. Οπότε θα εμφανιστεί το άθροισμα α+β δηλαδή 28 Στο Μέχρις_ότου η συνθήκη β=α είναι αληθής. Παράδειγμα_4 Άρα η επανάληψη θα τερματίσει και θα συνεχιστεί η εκτέλεση μετά το Μέχρις_ότου.
2.90 Πως συμβολίζεται στο διάγραμμα ροής η δομή επανάληψης..μέχρις_ότου. Για να σχεδιάσουμε το διάγραμμα ροής ενός βρόχου επανάληψης Μέχρις_ότου Πρέπει να κάνουμε τα εξής βήματα: Εντολή 1 1 ο Βήμα: Σχεδιάζουμε τα σύμβολα των εσωτερικών εντολών επανάληψης. 2 ο Βήμα: Φτιάχνουμε ένα ρόμβο για τη συνθήκη της επανάληψης Όχι Εντολή Ν Ναι 3 ο Βήμα: Από τον ρόμβο ξεκινούν δύο βέλη. Το βέλος Όχι Οδηγεί στην αρχή των εντολών επανάληψης Το βέλος Ναι Οδηγεί στην επόμενη εντολή μετά το Μέχρις_ότου Συνθήκη Επόμενη Εντολή
2.91 Να γίνει το διάγραμμα ροής του παρακάτω αλγόριθμου. Αρχή Αλγόριθμος Παράδειγμα_4,β,β α α+2 α α+2 β β-2 β β-2 Αν β-α>2 τότε Εμφάνισε α-β Εσωτερικές Εντολές Όχι β-α>2 Ναι Εσωτερικές Εντολές Αλλιώς Εμφάνισε α+β Εμφάνισε α-β Εμφάνισε α+β _αν Μέχρις_ότου β=α Εμφάνισε α=,α, και β=,β Όχι β=α Παράδειγμα_4 Ναι Εμφάνισε α=,α, και β=,β
2.92 Ποιες οι διαφορές των δομών επανάληψης Όσο επανέλαβε και..μέχρις_ότου. 1.Στο Όσο επανέλαβε οι εντολές μπορεί να μην εκτελεστούν ποτέ, γιατί μπορεί να μην ισχύει η συνθήκη. Στο Μέχρις_ότου οι εντολές θα εκτελεστούν τουλάχιστον μία φορά. 2.Στο Όσο επανέλαβε ο έλεγχος γίνεται στην αρχή. Στο Μέχρις_ότου ο έλεγχος γίνεται στο τέλος. 3.Στο Όσο επανέλαβε η επανάληψη συνεχίζει όσο η συνθήκη είναι αληθής. Στο Μέχρις_ότου η επανάληψη συνεχίζει όσο η συνθήκη είναι ψευδής, δηλαδή μέχρι η συνθήκη να γίνει αληθής.
2.93 Να μετατραπεί η γενική μορφή της δομής επανάληψης Όσο.επανέλαβε σε ισοδύναμη μορφή χρησιμοποιώντας τη δομή επανάληψης Μέχρις_ότου Οσο επανέλαβε Όσο συνθήκη επανέλαβε _επανάληψης Μέχρις_ότου Αν συνθήκη τότε Μέχρις_ότουΌχι Συνθήκη _αν Προσέχουμε 2 σημεία: 1. Επειδή στο Όσο_επανέλαβε Εκτελείται όσο η συνθήκη είναι αληθής Ενώ στο Μέχρις_ότου Εκτελείται όσο η συνθήκη είναι ψευδής, οπότε χρησιμοποιούμε τον τελεστή Άρνησης στη συνθήκη. 2. Το Όσο_επανέλαβε μπορεί να μην εκτελεστεί ποτέ. Ενώ το Μέχρις_ότου εκτελείται τουλάχιστον μία φορά. Γι αυτό χρησιμοποιούμε μια Απλή επιλογή, μέσα στην οποία έχουμε την εντολή επανάληψης. Με αυτό τον τρόπο, μόνο αν ισχύει από την αρχή η συνθήκη θα εκτελεστούν οι εντολές της Αρχής_επανάληψης..Μέχρις_ότου
2.93 Να μετατραπεί η γενική μορφή της δομής επανάληψης Όσο.επανέλαβε σε ισοδύναμη μορφή χρησιμοποιώντας τη δομή επανάληψης Μέχρις_ότου Όσο επανέλαβε Μέχρις_ότου Όσο συνθήκη επανέλαβε _επανάληψης Όσο επανέλαβε Αλγόριθμος παράδειγμα Όσο α 0 επανέλαβε Εμφάνισε 2*α _επανάληψης παράδειγμα Παράδειγμα Αν συνθήκη τότε Μέχρις_ότουΌχι Συνθήκη _αν Μέχρις_ότου Αλγόριθμος παράδειγμα Αν α 0 τότε Εμφάνισε 2*α Μέχρις_ότου Όχι α 0 _αν παράδειγμα
2.94 Να μετατραπεί η γενική μορφή της δομής επανάληψης Μέχρις_ότου σε ισοδύναμη μορφή χρησιμοποιώντας τη δομή επανάληψης Όσο.επανέλαβε Μέχρις_ότου Όσο επανέλαβε Μέχρις_ότου Συνθήκη Όσο Όχι Συνθήκη επανέλαβε _επανάληψης Προσέχουμε 2 σημεία: 1. Επειδή στο Μέχρις Εκτελείται όσο η συνθήκη είναι ψευδής Ενώ στο Όσο_επανέλαβε Εκτελείται όσο η συνθήκη είναι αληθής, οπότε χρησιμοποιούμε τον τελεστή Άρνησης στη συνθήκη. 2. Επειδή το Μέχρις_ότου εκτελείται τουλάχιστον μία φορά. Ενώ το Όσο_επανέλαβε μπορεί να μην εκτελεστεί ποτέ. Γράφουμε μια φορά τις εντολές επανάληψης Πριν το Όσο_επανέλαβε. Έτσι εξασφαλίζουμε ότι θα εκτελεστούν τουλάχιστον μία φορά.
2.94 Να μετατραπεί η γενική μορφή της δομής επανάληψης Μέχρις_ότου σε ισοδύναμη μορφή χρησιμοποιώντας τη δομή επανάληψης Όσο.επανέλαβε Μέχρις_ότου Οσο επανέλαβε Μέχρις_ότου Συνθήκη Μέχρις_ότου Αλγόριθμος παράδειγμα Εμφάνισε α α α-3 Μέχρις_ότου α<0 παράδειγμα Παράδειγμα Εντολή αλλαγής Όσο Όχι συνθήκη επανέλαβε _επανάληψης Οσο επανέλαβε Αλγόριθμος παράδειγμα Εμφάνισε α α α-3 Όσο Όχια<0 επανέλαβε Εμφάνισε α α α-3 _επανάληψης παράδειγμα
2.95 Να γραφεί αλγόριθμος ο οποίος θα διαβάζει ένα αριθμό από το πληκτρολόγιο και θα εμφανίζει αν είναι μεγαλύτερος ή ίσος με το μηδέν. Στη συνέχεια θα ρωτά τον χρήστη αν επιθυμεί να εισάγει και άλλον αριθμό. Η διαδικασία θα επαναλαμβάνεται επαναληπτικά μέχρι ο χρήστης να απαντήσει αρνητικά στην ερώτηση αν επιθυμεί να εισάγει και άλλον αριθμό. Ο αλγόριθμος θα διαβάζει επαναληπτικά αριθμούς θα ελέγχει τη σχέση τους με το μηδέν. Από την εκφώνηση καταλαβαίνουμε ότι ο αλγόριθμος θα εκτελείται πάντα για τον πρώτο αριθμό και κατόπιν θα ρωτά τον χρήστη, αν επιθυμεί να συνεχίσει. Αφού θα εκτελεστεί τουλάχιστον μία φορά Θα χρησιμοποιήσω τη δομή επανάληψης.μέχρις_ότου Εντολή αλλαγής Αλγόριθμος Έλεγχος_Αριθμού Εμφάνισε Δώσε ένα αριθμό Αν α>0 τότε Εμφάνισε Μεγαλύτερος από το 0 Αλλιώς_αν α<0 τότε Εμφάνισε Μικρότερος από το 0 Αλλιώς Εμφάνισε Ίσος με το 0 _αν Εμφάνισε Επιθυμείς να συνεχίσει η διαδικασία πάντηση Μέχρις_ότου απάντηση = ΌΧΙ Συνθήκη Έλεγχος_Αριθμού
2.96 Να γραφεί αλγόριθμος ο οποίος θα διαβάζει επαναληπτικά αριθμούς μέχρι το άθροισμα τους να γίνει μεγαλύτερο ή ίσο με το 100. Στο τέλος θα εμφανίζεται το άθροισμα και το πλήθος των αριθμών που διαβάστηκαν. Κάθε αριθμό που θα διαβάζουμε Θα τον προσθέτουμε στη μεταβλητή το άθροισμα Την μεταβλητή άθροισμα θα την αρχικοποιήσουμε σε 0. Εντολή αλλαγής Πρέπει να διαβάσουμε τουλάχιστον ένα αριθμό, οπότε θα χρησιμοποιήσω τη δομή επανάληψης.μέχρις_ότου Αλγόριθμος Άθροισμα_Αριθμών άθροισμα 0 πλήθος 0 Εμφάνισε Δώσε ένα αριθμό άθροισμα άθροισμα+α πλήθος πλήθος+1 Μέχρις_ότου άθροισμα 100 Εμφάνισε Το άθροισμα των αριθμών είναι,άθροισμα Συνθήκη Εμφάνισε Το πλήθος των αριθμών είναι,πλήθος Άθροισμα_Αριθμών
2.97 Προσοχή θέλω μόνο 2 βαθμούς. Να γραφεί αλγόριθμος ο οποίος θα δέχεται ως είσοδο 2 βαθμούς και θα εμφανίζει το μέσο όρο τους. Ο αλγόριθμος θα απαιτεί από τον χρήστη να δώσει θετικούς αριθμούς. Δηλ. αν κατά λάθος ο χρήστης εισάγει κάποιο αρνητικό βαθμό θα πρέπει να εμφανίζεται μήνυμα να ξαναδώσει τον αντίστοιχο βαθμό. Η διαδικασία θα πρέπει να επαναληφθεί μέχρι και οι δύο βαθμοί να είναι θετικοί. Αφού διαβαστεί ένας βαθμός θα πρέπει να ελεγχθεί αν είναι μεγαλύτερος από το μηδέν. Αν είναι τότε θα πρέπει να διαβαστεί ο επόμενος. Αν δεν είναι θα πρέπει να εισαχθεί εκ νέου. Αλγόριθμος ΜΟ_με_Έλεγχο Εμφάνισε Δώσε τον 1 ο θετικό αριθμό Μέχρις_ότου α>0 Ηδιαδικασία αυτή μπορεί να υλοποιηθεί αν χρησιμοποιήσω 2 φορές τη δομή επανάληψης.μέχρις_ότου Εμφάνισε Δώσε τον 2 ο θετικό αριθμό Διάβασε β Μέχρις_ότου β>0!όταν τερματίσουν και οι δύο επαναλήψεις οι βαθμοί θα είναι θετικοί Εμφάνισε Ο μέσος όρος των βαθμών είναι:,(α+β)/2 ΜΟ_με_Έλεγχο
2.98 Στο Ρίο-Αντίρριο ένα Ferry Boat ξεκινά το δρομολόγιο του όταν γεμίσει με τροχοφόρα. Κάθε τροχοφόρο που εισέρχεται στο Ferry-Boat πληρώνει ένα σύνολο χρημάτων. Τα μηχανάκια πληρώνουν 3, τα αυτοκίνητα 5 καιλεωφορείακαιταφορτηγά10. Μετά την είσοδο ενός τροχοφόρου θα δίνεται ως είσοδος η απάντηση του προσωπικού προς τον καπετάνιο. Αν η απάντηση είναι καταφατική, το πλοίο ξεκινά, αν όχι εισέρχεται άλλο ένα τροχοφόρο. Να γραφεί αλγόριθμος ο οποίος θα διαβάζει τον τύπο του τροχοφόρου και θα υπολογίζειτοποσόπληρωμήςκαιθα εμφανίζει κατάλληλο μήνυμα. Επίσης θα καταγράφει τα συνολικά χρήματα που συγκεντρώθηκαν και θα τα εμφανίζει στο τέλος του αλγορίθμου. Μετά την είσοδο ενός τροχοφόρου θα ερωτάται το προσωπικό αν μπορεί να εισέλθει και άλλο τροχοφόρο. Για κάθε τροχοφόρο θα διαβάζουμε τον τύπο του και θα εμφανίζουμε τι πρέπει να πληρώσει. Για να γεμίσει το πλοίο θα χρειαστούν αρκετά τροχοφόρα και στο τέλος να δοθεί καταφατική απάντηση προς τον καπετάνιο, από το προσωπικό. οπότε η επανάληψη θα εκτελεστεί αρκετές φορές. Συνεπώς θα χρησιμοποιήσουμε τη δομή επανάληψης..μέχρις_ότου. Αν ΝΑΙ φεύγει το πλοίο Αν οτιδήποτε άλλο μένει και φορτώνει 3 περιπτώσεις Για κάθε τροχοφόρο που εισέρχεται ΠΡΟΣΟΧΗ Αλγόριθμος άθροισμα 0 Εμφάνισε Δώσε τον τύπο τροχοφόρου: Διάβασε τύπος Μέχρις_ότου απάντηση= ΝΑΙ Εμφάνισε FerryBboat Αν τύπος= Μηχανάκι τότε ποσό_πληρωμής 3 Αλλιώς_αν τύπος= Αυτοκίνητο τότε ποσό_πληρωμής 5 Αλλιώς ποσό_πληρωμής 10 _αν Εμφάνισε Πρέπει να πληρώσεις:,ποσό_πληρωμής άθροισμα άθροισμα +ποσό_πληρωμής Εμφάνισε Το πλοίο γέμισε; πάντηση Το σύνολο των χρημάτων είναι:,άθροισμα FerryBboat
2.99 Ένας καταναλωτής πηγαίνει στο πολυκατάστημα και έχει στη τσέπη του 5000. Ξεκινά να αγοράζει διάφορα είδη και ταυτόχρονα κρατά το συνολικό ποσό στο οποίο έχει φθάσει κάθε στιγμή που αγοράζει κάποιο είδος. Οι τιμές των ειδών που αγοράζει είναι σε δραχμές και είναι δεδομένο ότι 1 =330δρχ. Να γραφεί αλγόριθμος για τον υπολογισμό του ποσού από τα ψώνια που έγιναν και να σταματά η αγορά ειδών έτσι ώστε να μην ξεπεραστεί το ποσό που έχει διαθέσιμο ο καταναλωτής. Αλγόριθμος Αγορές Ο αλγόριθμος θα διαβάζει επαναληπτικά τις τιμές προϊόντων που αγόρασε ο καταναλωτής. Η επανάληψη τερματίζει όταν το άθροισμα των χρημάτων που έχει ξοδέψει είναι ίσο ή έχει ξεπεράσει τα 5000. Μετά τον τερματισμό της επανάληψης θα πρέπει να ελέγξουμε αν τα είδη που αγοραστήκαν ξεπέρασαν τα χρήματα που διέθετε ο καταναλωτής. Αν αυτό ισχύει τότε την ίδια τιμή του τελευταίου προϊόντος πρέπει να την αφαιρέσουμε,γιατί ο καταναλωτής δεν μπορεί να ξοδέψει πάνω από 5000. άθροισμα 0 Εμφάνισε Δώσε τιμή προϊόντος : Διάβασε τιμή τιμή τιμή/330 άθροισμα άθροισμα+τιμή Μέχρις_ότου άθροισμα 5000 Αν άθροισμα>5000 τότε άθροισμα άθροισμα-τιμή _αν!γιανατακάνωευρώ Εμφάνισε Το ποσό που διέθεσε είναι:,άθροισμα Αγορές