Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

87
http://mathhmagic.blogspot.gr/ Σελίδα 1 από 87 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ ΣΗΜΕΙΩΣΕΙΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΟΜΑΔΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΘΕΤΙΚΩΝ ΣΠΟΥΔΩΝ, ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΜΕΛΕΙΑ: ΔΡΟΥΓΑΣ ΑΘ. Χ ← Α Αρχή_επανάληψης Χ ←Χ + 2 Τύπωσε το Χ Μέχρις_ότου Χ ≥ Μ

Transcript of Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

Page 1: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 1 από 87

ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ

ΣΗΜΕΙΩΣΕΙΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΟΜΑΔΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ

ΘΕΤΙΚΩΝ ΣΠΟΥΔΩΝ, ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΙΜΕΛΕΙΑ: ΔΡΟΥΓΑΣ ΑΘ.

Χ ← Α

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

Χ ←Χ + 2

Τύπωσε το Χ

Μέχρις_ότου Χ ≥ Μ

Page 2: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 2 από 87

Δομές Επαναληψης

Οσο..επαναλαβε

Όσο <συνθήκη> επανάλαβε

Εντολές

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

Μεχρις_οτου

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

Εντολές

Μεχρις_οτου <συνθήκη¨>

Για..από..μέχρι

Για μεταβλητή από τ1 μέχρι τ2 με_βήμα β

Εντολές

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

Δομές Επιλογής

Απλή δομή επιλογής

Αν <συνθήκη> τότε εντολή

Αν <συνθήκη> τότε

Εντολή

Τελος_αν

Σύνθετη δομή επιλογής

Αν <συνθήκη> τότε

Εντολές 1

Αλλιώς

Εντολές 2

Τελος_αν

Δομή πολλαπλής επιλογής

Αν <συνθήκη1 > τότε

Εντολές 1

Αλλιώς_αν <συνθήκη2 > τότε

Εντολές 2

………….

Αλλιώς

Εντολές ν

Τελος_αν

ΣΥΝΤΟΜΟΣ ΟΔΗΓΟΣ ΨΕΥΔΟΓΛΩΣΣΑΣ (αλγόριθμος)

Τέλος Όνομα_αλγορίθμου

Τίτλος αλγορίθμου Αλγόριθμος Όνομα_αλγορίθμου

Τέλος αλγορίθμου

Τελεστές

Αριθμητικοί

Συγκριτικοί

Λογικοί

+ πρόσθεση

- αφαίρεση

* πολλαπλασιασμός

/ διαίρεση

^ ύψωση σε δύναμη

div ακεραία διαίρεση

mod υπόλοιπο ακεραίας διαίρεσης

= ισότητα

≠ ανισότητα

> μεγαλύτερο από

μεγαλύτερο ή ισο από

<μικρότερο από

≤ μικρότερο ή ισο από

Και Σύζευξη

ή διάζευξη

όχι άρνηση

Είσοδος δεδομένων Διάβασε λίστα _ δεδομένων

Έξοδος δεδομένων

Εκτύπωσε λίστα _ δεδομένων

Εμφάνισε λίστα _ δεδομένων

Γράψε λίστα _ δεδομένων

Εντολή εκχώρησης Μεταβλητή ← Έκφραση

Τυπολόγιο;

Page 3: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 3 από 87

Δομές Επιλογής

ΑΠΛΗ ΔΟΜΗ ΕΠΙΛΟΓΗΣ

ΑΝ <ΣΥΝΘΗΚΗ> ΤΟΤΕ

ΕΝΤΟΛΗ

ΤΕΛΟΣ_ΑΝ

ΣΥΝΘΕΤΗ ΔΟΜΗ ΕΠΙΛΟΓΗΣ

ΑΝ <ΣΥΝΘΗΚΗ> ΤΟΤΕ

ΕΝΤΟΛΕΣ 1

ΑΛΛΙΩΣ

ΕΝΤΟΛΕΣ 2

ΤΕΛΟΣ_ΑΝ

ΔΟΜΗ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ

ΑΝ <ΣΥΝΘΗΚΗ1 > ΤΟΤΕ

ΕΝΤΟΛΕΣ 1

ΑΛΛΙΩΣ_ΑΝ <ΣΥΝΘΗΚΗ2 > ΤΟΤΕ

ΕΝΤΟΛΕΣ 2

………….

ΑΛΛΙΩΣ

ΕΝΤΟΛΕΣ Ν

ΤΕΛΟΣ_ΑΝ

Δομές Επαναληψης

ΟΣΟ..ΕΠΑΝΑΛΑΒΕ

ΌΣΟ <ΣΥΝΘΗΚΗ> ΕΠΑΝΑΛΑΒΕ

ΕΝΤΟΛΕΣ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΜΕΧΡΙΣ_ΟΤΟΥ

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

ΕΝΤΟΛΕΣ

ΜΕΧΡΙΣ_ΟΤΟΥ <ΣΥΝΘΗΚΗ¨>

ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ

ΓΙΑ ΜΕΤΑΒΛΗΤΗ ΑΠΟ Τ1 ΜΕΧΡΙ Τ2 ΜΕ_ΒΗΜΑ Β

ΕΝΤΟΛΕΣ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Συναρτήσεις

ΗΜ(x) Υπολογισμός ημιτόνου

ΣΥΝ(x) Υπολογισμός συνημίτονου

ΕΦ(x) Υπολογισμός εφαπτόμενης

Τ_Ρ(x) Υπολογισμός τετραγωνικής ρίζας

ΛΟΓ(x) Υπολογισμός φυσικού λογάριθμου

Ε(x) Υπολογισμός του ex

Α-Μ(x) Ακέραιο μέρος x

Α-Τ(x) Απόλυτη τιμή x

Εντολές εισόδου

ΔΙΑΒΑΣΕ Λίστα _μεταβλητών

Εντολές εξόδου

ΓΡΑΨΕ Λίστα _μεταβλητών

ΣΧΟΛΙΑ

Μετά από κάθε εντολή με χρήση ! είναι δυνατόν να

γραφούν σχόλια τα όποια δεν επηρεάζουν την

εξέλιξη του προγράμματος

ΣΥΝΤΟΜΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ (Πρόγραμμα)

Τίτλος Προγράμματος ΠΡΟΓΡΑΜΜΑ Όνομα_προγράμματος

Τμήμα δηλώσεων

Σταθερές

ΣΤΑΘΕΡΕΣ

Ονομα_1=σταθερη_τιμη_1

Ονομα_2=σταθερη_τιμη_2

…….

Όνομα _ν=σταθερή_ τιμή _ν

Μεταβλητές

ΜΕΤΑΒΛΗΤΕΣ

Τύπος _1: Λίστα _μεταβλητών _1

Τύπος _2: Λίστα _μεταβλητών _2

…….

Τύπος _ν: Λίστα _μεταβλητών _ν

ΤΕΛΕΣΤΕΣ

Αριθμητικοί

+ πρόσθεση

- αφαίρεση

* πολλαπλασιασμός

/ διαίρεση

^ ύψωση σε δύναμη

DIV ακεραία διαίρεση

MOD υπόλοιπο ακεραίας διαίρεσης

Συγκριτικοί

= ισότητα

<> ανισότητα

> μεγαλύτερο από

>=μεγαλύτερο ή ισο από

<μικρότερο από

<= μικρότερο ή ισο από

Λογικοί

ΚΑΙ Σύζευξη ‘Η διάζευξη ΟΧΙ άρνηση

Page 4: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 4 από 87

“Ο υπολογιστής είναι ο Πρωτέας των μηχανών. Η ουσία του είναι η παγκοσμιότητα ,η

δύναμη να προσομοιώνει.Επειδή μπορεί να πάρει χίλιες μορφές ,να εξυπηρετήσει χίλιες

λειτουργίες ,μπορεί να ικανοποιήσει χίλιες προτιμήσεις.’’

Seymour A.P.

ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ

Για....από...μέχρι Η επαναληπτική αυτή δομή χρησιμοποιείται αποκλειστικά όταν είναι από πριν γνωστό το πλήθος των

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

εντολή είναι ο

εξής:

Για μεταβλητη από αρχική_τιμή μέχρι τελική_τιμή [με_βήμα μεταβολή]

………… Ομάδα εντολών που επαναλαμβάνονται

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

Το σχήμα αυτό σημαίνει ότι:

Η μεταβλητή που αναφέρεται (συνήθως αυτή ονομάζεται μετρητής ή δείκτης και συμβολίζεται i), θα

πάρει την αρχική τιμή που δίνεται και θα (επιχειρήσει να) φτάσει μέχρι την τελική τιμή που δίνεται,

αλλάζοντας κάθε φορά κατά τόσο όσο είναι η τιμή της ποσότητας “μεταβολή” του προηγούμενου

σχήματος (αν η μεταβολή είναι 1 τότε το τμήμα μέσα στην αγκύλη μπορεί και να παραλειφθεί).

Δεν απαιτείται να βάλουμε την εντολή εκχώρησης αρχικής τιμής του μετρητή ούτε την εντολή αλλαγής

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

Για να γίνουν τα προηγούμενα κατανοητά αναφέρουμε τα ακόλουθα παραδείγματα

1. ΓΙΑ μετρητης ΑΠΟ 1 ΜΕΧΡΙ 20 ΜΕ_ΒΗΜΑ 1

Εδώ η μεταβλητή μετρητης θα ξεκινήσει με τιμή 1 και μόλις τελειώσει η ομάδα εντολών που

επαναλαμβάνεται, θα γίνει μετρητης=Ι+1 = 2. Το ίδιο θα ξαναγίνεται ώσπου κάποια στιγμή θα είναι me

μετρητης = 19. Θα γίνει και η 9η επανάληψη της ομάδας εντολών και μετά θα γίνει μετρητης = 19+1= 20.

Εφόσον το μετρητης επιτρέπεται να πάρει και την τιμή 20, θα πραγματοποιηθεί ακόμη μία, η 20η κατά

σειρά, επανάληψη της ομάδας εντολών.

Όπως είπαμε, όταν το βήμα είναι 1, θεωρείται αυτονόητο και μπορεί να παραλειφθεί, δηλαδή το

παράδειγμα αυτό θα μπορούσε να γραφεί και ως εξής: ΓΙΑ μετρητης ΑΠΟ 1 ΜΕΧΡΙ 10

2. ΓΙΑ j ΑΠΟ 2 ΜΕΧΡΙ 6 ΜΕ_ΒΗΜΑ 3

Εδώ η μεταβλητή j θα ξεκινήσει με τιμή 2 και μόλις τελειώσει η ομάδα εντολών που επαναλαμβάνεται, θα

γίνει j =2+3=5. Θα γίνει και η 2η επανάληψη της ομάδας εντολών και μετά θα γίνει j =5+3=8. Εφόσον το j

δεν θέλουμε να πάρει τιμή μεγαλύτερη του 7, δεν θα πραγματοποιηθεί άλλη επανάληψη της ομάδας

εντολών. Βλέπουμε λοιπόν ότι, αν και στην εντολή λέμε “μέχρι 6”, η μεταβλητή j δεν παίρνει αυτήν την

τιμή. Γι’ αυτό στην εισαγωγή, παραπάνω, γράφαμε: ‘… θα επιχειρήσει να φτάσει μέχρι την τελική τιμή…’’.

3. Οι ποσότητες που συμμετέχουν στην εντολή μπορεί να είναι και μεταβλητές.

Δηλαδή μπορεί να συμβεί το εξής:

X←2

Y←6

Z←3

Page 5: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 5 από 87

ΓΙΑ j ΑΠΟ X ΜΕΧΡΙ Y ΜΕ_ΒΗΜΑ Z

Θα γίνει αντικατάσταση των μεταβλητών a,b,c με τις τιμές που δίνονται, οπότε θα έχουμε ακριβώς τα ίδια

με το παράδειγμα 2.

4. Το βήμα μπορεί να είναι και αρνητικός αριθμό ς. Για να γίνουν όμως επαναλήψεις, σε αυτήν την

περίπτωση, Θα πρέπει η τελική_τιμή να είναι μικρότερη της αρχικής_τιμής. Δηλαδή:

ΓΙΑ I AΠΟ 12 ΜΕΧΡΙ 7 ΜΕ_ΒΗΜΑ –1

Εδώ θα ξεκινήσουμε με I =12, μετά την πρώτη κατά σειρά επανάληψη θα γίνει I =12-1=11, κ.ο.κ. και τελικά

θα I =8-1=7 , θα πραγματοποιηθεί ακόμη μία φορά η επανάληψη και επειδή μετά θα γίνει I = 7-1 =

6, θα τερματιστεί η επανάληψη (ξεπέρασε ο μετρητής την τελική τιμή άρα δεν θα γίνει άλλη επανάληψη). 5.Το βήμα μπορεί να είναι και πραγματικός, δεκαδικός αριθμός:

ΓΙΑ i AΠΟ 4 ΜΕΧΡΙ 7 ΜΕ_ΒΗΜΑ 0.5

Στην αρχή θα είναι i= 5, μετά θα γίνει i= 4+0.5 = 4.5 κ.λπ, ώσπου να γίνει i = 7, να πραγματοποιηθεί και η

τελευταία επανάληψη και να σταματήσει (αφού τότε θα φτάσει στην τελική τιμή).

6. Όταν έχουμε:

ΓΙΑ I ΑΠΟ X ΜΕΧΡΙ Y ΜΕ_ΒΗΜΑ Z

και έστω έχουμε: X = 4, Y = 4, δηλαδή ίδια αρχική και τελική τιμή, τότε Θα πραγματοποιηθεί μόνο μία

επανάληψη, όσο και αν είναι το βήμα Z.

7. Αντιθέτως, όταν έχουμε:

ΓΙΑ I ΑΠΟ X ΜΕΧΡΙ Y ΜΕ_ΒΗΜΑ Z

και έστω είναι: X = 4, Y = 3, δηλαδή X>Y, αν Z >0 τότε δεν θα γίνει καμία απολύτως επανάληψη. Το ίδιο θα

γινόταν και αν X<Y και Z<0.

Ένα σημείο το οποίο πρέπει να προσεχθεί ιδιαίτερα είναι ο ότι η επαναληπτική δομή ‘‘ΓΙΑ... ΑΠΟ...

ΜΕΧΡΙ’’ δεν μπορεί να χρησιμοποιηθεί σε περίπτωση που δεν είναι γνωστός εξαρχής ο αριθμός των

επαναλήψεων Παράδειγμα 1: Να διαβαστούν 50 αριθμοί να υπολογίζει και να εκτυπώνει το μέσο όρο τους.

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

Σ← 0

Για i από 1 μέχρι 50

Διάβασε x

Σ ← Σ + x

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

μέσος_όρος ← Σ/ 50

Εκτύπωσε μέσος_όρος

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

Εντός του βρόχου της επανάληψης, δεν επιτρέπεται η τροποποίηση της αρχικής τιμής, της τελικής τιμής

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

Επίσης, πρέπει να επισημανθεί ότι σε περίπτωση που χρησιμοποιείται εμφωλευμένη δομή Για, δεν μπορεί να

χρησιμοποιείται η ίδια μεταβλητή ως μετρητής. Η τελική τιμή του μετρητή είναι ένα θέμα που εγείρει

διαφωνίες.

Στο ακόλουθο παράδειγμα: Για i από 1 μέχρι 20

ποια θα είναι η τελική τιμή του μετρητή i : 20 ή 21. Στο βιβλίο υπάρχει μια ασάφεια, αλλά αναφέρεται ότι

μόλις ξεπεραστεί η τελική τιμή της δομής Για θα τερματιστεί η επανάληψη.

Έτσι, πρέπει να θεωρήσουμε ότι ο μετρητής θα λάβει την τιμή 21, θα πραγματοποιηθεί σύγκριση με την

τελική τιμή της δομής Για και αφού έχει ξεπεραστεί θα τερματιστεί η επανάληψη. Πρέπει να επισημαίνεται

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

Page 6: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 6 από 87

ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ

1)Εύρεση μεγίστου/ελαχίστου και θέσης του

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

και τον αύξοντα αριθμού αυτών. Μπορεί για παράδειγμα να μας ζητηθεί να βρούμε ποιος ήταν ο

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

εισοδήματα ενός πλήθους φορολογούμενων κ.λπ. Όλα αυτά τα παραδείγματα, έχουν να κάνουν με την

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

είναι ο ζητούμενος. Θα φανεί ότι κάτι τέτοιο ζητείται αν εκτός από τα ερωτήματα της προηγούμενης

παραγράφου, η εκφώνηση ρωτάει π.χ. ποιος μαθητής ήταν ο καλύτερος, ποια μέρα ήταν η πιο κρύα, ποιος

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

Για τα συγκεκριμένα προβλήματα έχουμε τις εξής εναλλακτικές :

Λύση 1η

Η σίγουρη λύση για το πρόβλημα είναι η εξής: Διαβάζουμε μόνο τον πρώτο αριθμό, έξω από την

επαναληπτική διαδικασία, και θέτουμε το max (ή min) ίσο με αυτόν. Η τιμή αυτή του max (ή min) είναι

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

κάθε φορά που ένας τους είναι μεγαλύτερος του max (ή μικρότερος του min), αντικαθιστούμε την

προηγούμενη τιμή του μεγίστου (ή ελαχίστου) με τον αριθμό αυτό.

Αλγόριθμος μεγιστος_αριθμος

Διάβασε χ

Μεγιστος ←χ

θεση ←1

Για I από 2 μέχρι 100

Διάβασε x

Αν x > Μεγιστος Τότε

Μεγιστος ←x

θεση ← I

Τέλος_αν

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

Εμφάνισε Μεγιστος , θεση

Τέλος μεγιστος_αριθμος

Δε θα πρέπει να προβληματιστούμε για το γεγονός ότι τόσο για τον πρώτο αριθμός που ζητείται, όσο και

για όλους τους υπόλοιπους χρησιμοποιήθηκε η μεταβλητή x. Αυτό που συμβαίνει εδώ είναι ότι μόλις

ζητηθεί ο δεύτερος κατά σειρά αριθμός, εφόσον και αυτόν τον ονομάζουμε α, θα χαθεί από τη μνήμη ο

πρώτος αριθμός.

θα μπορούσαμε να έχουμε συμβολίσει ως x τον πρώτο και ως y όλους τους υπόλοιπους. Τότε, στο τέλος

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

από τους αριθμούς.

2)Έστω το τμήμα αλγορίθμου με μεταβλητές Α,B,C,D,X και Y.

D←2

ΓΙΑ Χ ΑΠΟ 2 ΜΕΧΡΙ 5 ΜΕ_ΒΗΜΑ 2

Α←10*Χ

Β←5*Χ+10

C←A+B – (5*X)

D←3*D-5

Y←A+B – C+D

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Να βρείτε τις τιμές των μεταβλητών Α,B,C,D,X και Y.σε όλες τις επαναλήψεις.

Λύση

Page 7: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 7 από 87

Σε τέτοιες ασκήσεις που μας ζητούν να παρακολουθήσουμε την εξέλιξη των τιμών πολλών

μεταβλητών, μία καλή ιδέα για να δουλέψουμε πιο οργανωμένα, είναι να κάνουμε έναν πίνακα

τιμών. Σε έναν τέτοιο πίνακα φτιάχνουμε τόσες στήλες όσες είναι και οι μεταβλητές μας και

συμπληρώνουμε σειρά—σειρά (οριζοντίως) τον πίνακα, γράφοντας στο κατάλληλο σημείο την

τιμή της κάθε μεταβλητής. Πηγαίνοντας προς τα κάτω στον πίνακα συμπληρώνουμε και τις

επόμενες μεταβλητές που παίρνουν τιμή καθώς εκτελούνται οι υπόλοιπες εντολές του

αλγορίθμου, κ.ο.κ. Δεν πρέπει σε καμία περίπτωση να συμπληρώσουμε κάθετα τον πίνακα,

στήλη—στήλη, δηλαδή να τελειώσουμε με όλες τις τιμές που παίρνει μία μεταβλητή και μετά να

κάνουμε το ίδιο για τις άλλες μεταβλητές. Έχουμε λοιπόν τον εξής πίνακα τιμών:

Χ Α Β C D Y

1η Ε

ΠΑ

ΝΑ

ΛΗ

ΨΗ

απρ απρ απρ απρ 2 απρ

2

20

20

30

1

11

ΕΠ

ΑΝ

ΑΛ

ΗΨ

Η 4

40

30

50

-2

18

3)Να γράψετε αλγόριθμο ο οποίος θα υπολογίζει και θα τυπώνει την τιμή της συνάρτησης 3 2Y=x +4x +2x+10 για όλες τις τιμές του x από –2 έως 5 σε βήματα του 0,05.

Λύση

Αλγόριθμος Μελέτη_συνάρτησης

Για χ από -2 μέχρι 5 με_βήμα 0,05

ψ ← x^3+4*x^2+2*x+10

Εκτύπωσε ψ

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

Τέλος Μελέτη_συνάρτησης

4) Σε ένα αγώνα ρίψης σφαιρας ,διεξάγεται ο προκριματικός γύρος με τη συμμετοχή 10 αθλητών .

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

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

αθλητές πέρασαν το όριο.

Λύση

Ο αλγόριθμος αυτός χρησιμοποιεί μια μεταβλητή Π (μετρητής) που μετράει τους αθλητές που πέρασαν το

όριο. Τις μεταβλητές μετρητές πάντα τις μηδενίζουμε αρχικά.

Αλγόριθμος Σφαιρα

Πληθος 0

Για i από 1 μέχρι 10

Διάβασε Β

Αν Β > 15 τότε

Πληθος Πληθος + 1

Τέλος_αν

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

Εμφάνισε Πληθος

Page 8: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 8 από 87

Τέλος Σφαιρα

5)Έχουν προκηρυχθεί οι δημοτικές εκλογές.Το δημαρχείο αναλαμβάνει να ελέγξει αν 150 νέοι

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

κρατάει στατιστικά στοιχεία σχετικά με το ποσοστό έκδοσης εκλογικού βιβλιαρίου στο σύνολο των

νέων δημοτών.

Να γράψετε αλγόριθμο ο οποίος θα βοηθήσει του υπεύθυνους του δημαρχείου να εκτελέσουν τον

παραπάνω έλεγχο για τους 250 νέους κατοίκους.

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

• Σε περίπτωση που ο πολίτης είναι μεγαλύτερος από 18 ετών, ο αλγόριθμος θα τυπώνει το

μήνυμα ‘ΔΙΚΑΙΩΜΑ ΕΚΔΟΣΗΣ ΕΚΛΟΓΙΚΟΥ ΒΙΒΛΙΑΡΙΟΥ’ αλλιώς ο αλγόριθμος θα τυπώνει σε πόσα

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

• Όταν ολοκληρωθεί ο έλεγχος για όλους τους πολίτες, ο αλγόριθμος θα τυπώνει

Αριθμός εκλογικών βιβλιαρίων:………

Ποσοστό έκδοσης βιβλιαρίων:………..

Λύση

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

Σ←0

Διάβασε τρεχον_ετος

Για i από 1 μέχρι 150

Διάβασε ετος_γεννησεως

ηλικία←τρεχον_ετος-ετος_γεννησεως

Αν ηλικια>=18 τότε

Εκτύπωσε"ΔΙΚΑΙΩΜΑ ΕΚΔΟΣΗΣ ΕΚΛΟΓΙΚΟΥ ΒΙΒΛΙΑΡΙΟΥ"

Σ←Σ + 1

αλλιώς

χ←18 - ηλικία

Εκτύπωσε "Ο πολίτης θα λάβει εκλογικό βιβλιάριο

σε", χ, "χρόνια"

Τέλος_αν

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

ποσοστο←Σ*100/150

Εκτύπωσε "Αριθμός εκλογικών βιβλιαρίων:", Σ

Εκτύπωσε "Ποσοστό έκδοσης βιβλιαρίων:", ποσοστο

Τέλος Εκλογές

6)Θέλετε να βγάλετε κάποια στατιστικό στοιχεία για τις 30 παραστάσεις που παρουσίασε ο θίασός

σας στην καλοκαιρινή του περιοδεία.Να γράψετε αλγόριθμο ο οποίος θα διαβάζει τα έσοδα και τα

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

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

κέρδος μιας παράστασης είναι μεγαλύτερο από 1500€ Θα τυπώνει το μήνυμα ‘ΝΑ ΞΑΝΑΠΑΜΕ!’.

Λύση

Αλγόριθμος θιασος

Γενικό_Σ←0

Για i από 1 μέχρι 30

Διάβασε εσοδα

Διάβασε εξοδα

Σ←εσοδα - εξοδα

Εκτύπωσε "Καθαρό κέρδος ή ζημία:", Σ

Αν Σ > 1500 τότε Εκτύπωσε " ΝΑ ΞΑΝΑΠΑΜΕ!"

Γενικό_Σ←Γενικό_Σ + Σ

Page 9: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 9 από 87

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

Εκτύπωσε "Συνολικό κέρδος ή ζημία από όλες τις παραστάσεις είναι", Γενικό_Σ

Τέλος θιασος

7)Είστε ιδιοκτήτης μιας κατασκευαστικής εταιρείας.Η εταιρεία σας διαθέτει 200 καινούργια

διαμερίσματα. Για την πώληση των διαμερισμάτων χρεώνει τους πελάτες σύμφωνα με τα

παρακάτω:

Αν το διαμέρισμα είναι μέχρι και εκατό πενήντα τετραγωνικά μέτρα, το κάθε τετραγωνικό μέτρο

στοιχίζει € 1200.

Αν το διαμέρισμα είναι περισσότερο από εκατό πενήντα τετραγωνικά, το κάθε τετραγωνικό μέτρο

στοιχίζει € 1000.

Σε κάθε πώληση διαμερίσματος ο πελάτης επιβαρύνεται με €300 για έξοδα μεταβίβασης.

Να γράψετε αλγόριθμο για τον υπολογισμό της τελικής τιμής πώλησης για κάθε ένα από τα 100

διαμερίσματα, παίρνοντας δεδομένα τα τετραγωνικά μέτρα του διαμερίσματος.

Λύση

Αλγόριθμος Διαμερισματα

Για i από 1 μέχρι 200

Διάβασε τετραγωνικα

Αν τετραγωνικα <=150 τότε

ποσο← τετραγωνικα*1200+300

αλλιώς

ποσο←τετραγωνικα*1000+300

Τέλος_αν

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

Γράψε ποσο

Τέλος Διαμερίσματα

8)Οι βαθμολογητές των γραπτών των πανελληνίων εξετάσεων βαθμολογούν με άριστα το 100, ενώ

κάθε γραπτό διορθώνεται από 2 άτομα χωρίς να γνωρίζει ο ένας τη βαθμολογία του άλλου. Ωστόσο,

αν μεταξύ των δυο βαθμολογιών παρατηρηθεί διαφορά μεγαλύτερη των 11 μορίων τότε το γραπτό

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

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

βαθμός θεωρείται ο μέσος όρος των 2 βαθμολογιών. Να αναπτυχθεί αλγόριθμος που θα διαβάζει το

όνομα ενός μαθητή της Γ' Λυκείου, και για κάθε έναν από τα 9 μαθήματα που εξετάζεται

πανελλαδικά τους προφορικούς του βαθμούς και τους βαθμούς του γραπτού του από τους δυο

βαθμολογητές (και το βαθμό του τρίτου βαθμολογητή μόνο στην περίπτωση που αυτό είναι

απαραίτητο) και θα εμφανίζει τους βαθμούς πρόσβασης σε κάθε μάθημα καθώς και το γενικό βαθμό

πρόαβασης στις πανελλήνιες εξετάσεις (μέσος όρος βαθμών πρόσβασης). Ισχύει ότι

Βαθμός πρόσβασης = 70% * γραπτός βαθμός και 30% * προφορικός βαθμός

(παλαιό θέμα πανελληνίων)

Λύση

Αλγόριθμος Πανελλαδικές

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

άθροισμα ← 0

Για i από 1 μέχρι 9

Διάβασε προφΑ, προφΒ

μέσος_προφ ← (προφΑ + προφΒ) / 2

Διάβασε βαθμολογητήςΑ, βαθμολογητήςΒ

διαφορά ← βαθμολογητήςΑ - βαθμολογητήςΒ

Αν διαφορά > 11 ή διαφορά < -11 τότε

Διάβασε βαθμολογητήςΓ

Page 10: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 10 από 87

τελ_γραπτός ← (βαθμολογητήςΑ + βαθμολογητήςΒ + βαθμολογητήςΓ) / 3

Αλλιώς

τελ_γραπτός ← (βαθμολογητήςΑ + βαθμολογητήςΒ) / 2

Τέλος_Αν

Αν τελ_γραπτός - μέσος_προφορικός > 2 τότε

μέσος_προφ ← τελ_γραπτός - 2

Αλλιώς_Αν μέσος_προφορικός - τελικός_γραπτός > 2 τότε

μέσος_προφ ← τελ_γραπτός + 2

Τέλος_Αν

βαθμός_πρόσβασης ← 0.7 * τελ_γραπτός + 0.3 * μέσος_προφ

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

Εκτύπωσε "Ο βαθμός πρόσβασης στο μάθημα ", i, " είναι ", βαθμός_πρόσβασης

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

γεν_βαθμός_πρόσβασης ← άθροισμα / 10

Εκτύπωσε "Ο γενικός βαθμός πρόσβασης του ", όνομα, " είναι ", γεν_βαθμός_πρόσβασης

Τέλος Πανελλαδικές

9)Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει τους τριψήφιους αριθμούς που είναι πολλαπλάσια

του 23 καθώς και το πόσοι είναι οι αριθμοί αυτοί.

Λύση

Αλγόριθμος Πολλαπλάσια_23

πλήθος ← 0

Για i από 100 μέχρι 999

Αν (i mod 23 = 0) τότε

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

Εκτύπωσε "Ο αριθμός", i, " ικανοποιεί την εκφώνηση"

Τέλος_Αν

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

Εκτύπωσε "Το πλήθος των αριθμών που ικανοποιούν την εκφώνηση είναι ", πλήθος

Τέλος Πολλαπλάσια_23

Η άσκηση μπορεί να λυθεί και με άλλο τρόπο. Θα ξεκινήσουμε από τον πρώτο τριψήφιο αριθμό που είναι

πολλαπλάσιο του 23 (που είναι ο αριθμός 115) και με βήμα 23 θα "σαρώνει" τους αριθμούς μέχρι τον

τελευταίο τριψήφιο αριθμό που είναι πολλαπλάσιο του 23 (που είναι ο αριθμός 989)

Αλγόριθμος Πολλαπλάσια_23-β

πλήθος ← 0

Για i από 115 μέχρι 989 με_βήμα 23

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

Εκτύπωσε "Ο αριθμός", i, " ικανοποιεί την εκφώνηση"

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

Εκτύπωσε "Το πλήθος των αριθμών που ικανοποιούν την εκφώνηση είναι ", πλήθος

Τέλος Πολλαπλάσια_23-β

Page 11: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 11 από 87

10)Να αναπτύξετε αλγόριθμο ο οποίος θα υπολογίζει και θα εκτυπώνει το άθροισμα

1 + 2 + 3 + 4 + 5 + 6 + ... + 10000

Λύση

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

S ← 0

Για i από 1 μέχρι 10000

S ← S + i

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

Εκτύπωσε "Το άθροισμα είναι ", S

Τέλος Άθροισμα

11)Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν θετικό αριθμό αριθμό Ν και να υπολογίζει τη

σειρά

2 4 8 16 ..... 2NS = − + − + ±

Λύση

Την αλλαγή του προσήμου μπορούμε να την επιτύχουμε με την ύψωση του -1 σε άρτια ή περιττή δύναμη

(αφού εναλλάξ πηγαίνουν και τα πρόσημα) όμοια με την εξέλιξη των τιμών του μετρητή της δομής

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

σε άρτια αρνητικό...

Αλγόριθμος Αθροισμα _α _τροπος

Διάβασε N

S ← 0

Για i από 1 μέχρι Ν

S ← S + (-1) ^ (i+1) * 2 ^ i

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

Εκτύπωσε "Η τιμή της σειράς είναι ", S

Τέλος Αθροισμα _α _τροπος

Εναλλακτικά μπορούμε να χρησιμοποιήσουμε μια μεταβλητή πρόσημο που θα εναλλάσσει τις τιμές 1,-1 .

Αλγόριθμος Αθροισμα _β _τροπος

Διάβασε N

S ← 0

προσημο← 1

Για i από 1 μέχρι Ν

S ← S + (-1) *προσημο * 2 ^ i

προσημο ← (-1) *προσημο

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

Εκτύπωσε "Η τιμή της σειράς είναι ", S

Τέλος Αθροισμα _β _τροπος

12)Να αναπτύξετε αλγόριθμο ο οποίος θα εντοπίζει και θα εκτυπώνει όλους τους τριψήφιους

αριθμούς που το άθροισμα τετραγώνων των ψηφίων τους είναι μικρότερο από αυτούς.

(για παράδειγμα 234, 22+32+42 = 29 < 234)

Λύση

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

Για X από 100 μέχρι 999

εκατοντάδες ← X div 100

βοηθητική ← X mod 100

δεκάδες ← βοηθητική div 10

μονάδες ← βοηθητική mod 10

π ← εκατοντάδες ^ 2 + δεκάδες ^ 2 + μονάδες ^ 2

Αν (π < Χ) τότε

Page 12: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 12 από 87

Εκτύπωσε "Ο αριθμός", Χ, " ικανοποιεί την εκφώνηση"

Τέλος_Αν

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

Τέλος Άθροισμα_Τετραγώνων

Ασκήσεις Τετραδίου Μαθητή

ΔΤ4. Τι τύπου αλγοριθμική συνιστώσα πρέπει να χρησιμοποιήσετε για τα παρακάτω στοιχεία

υπολογισμού; Γράψτε το αντίστοιχο τμήμα δηλώσεων

1. Το σύνολο ποσού για μία λίστα από 100 αντικείμενα: δομή επανάληψης

2. Τη βαθμολογία ενός μαθητή εάν έχει περάσει τα μαθήματά του: δομή επιλογής

3. Το μέσο όρο βαθμολογίας 100 μαθητών: δομή επιλογής και επανάληψης

4. Διάβασε όνομα και τηλέφωνο ενός μαθητή δομή ακολουθίας

5. Διάβασε όνομα, διεύθυνση και τηλέφωνο 25 μαθητών δομή επανάληψης

6. Τον αριθμό που προκύπτει όταν ρίξουμε ένα ζάρι δομή ακολουθίας

ΔΤ3. Να γράψετε με βήματα αλγορίθμου και με διάγραμμα ροής τα παρακάτω:

1.Το μέσο όρο ηλικιών μίας ομάδας 100 ανθρώπων

2. Το σύνολο βαθμολογίας όλων των ομάδων που έχουν πάρει περισσότερο από 100 βαθμούς σε ένα

διαγωνισμό.

Αλγόριθμος Μέσος_Όρος

Σ← 0

Για i από 1 μέχρι 100

Διάβασε ηλικία

Σ ←Σ + ηλικία

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

ΜΟ ← Σ/ 100

Γράψε ΜΟ

Τέλος Μέσος_Όρος

Page 13: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 13 από 87

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

Σ← 0

Για i από 1 μέχρι 100

Διάβασε βαθ

Αν βαθ< 100 τότε

Σ ← Σ + βαθ

Τέλος_Αν

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

Γραψε άθροισμα

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

ΔΤ6. Έστω ότι ένας Πανελλήνιος Διαγωνισμός στα Μαθηματικά δίνει δικαίωμα συμμετοχής στο 1%

των μαθητών μίας τάξης με την προϋπόθεση ότι ο μέσος όρος της βαθμολογίας στα Μαθηματικά

των μαθητών αυτής της τάξης είναι μεγαλύτερος από 18. Να γραφεί ένας αλγόριθμος που θα ελέγχει

τη δυνατότητα συμμετοχής σε ένα τέτοιο διαγωνισμό και να παρακολουθήσετε τον αλγόριθμο για

τα δεδομένα της τάξης σας;

Αλγόριθμος Μέσος_Όρος

Δεδεομένα // Πλήθος //

άθροισμα ← 0

Για i από 1 μέχρι Πλήθος

Διάβασε ηλικία

άθροισμα ← άθροισμα + ηλικία

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

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

Αν ΜΟ > 18 τότε

Εκτύπωσε "Συμμετοχή"

παιδιά ← Πλήθος div 100

Εκτύπωσε "Πλήθος παιδών ", παιδιά

Αλλιώς

Εκτύπωσε "Μη συμμετοχή"

Τέλος_Αν

Αποτελέσματα // ΜΟ //

Page 14: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 14 από 87

Τέλος Μέσος_Όρος

ΔΣ2. Έστω ότι σου έχουν δώσει ένα μεταχειρισμένο ηλεκτρονικό υπολογιστή για 6 μήνες. Θέλεις να

διαπραγματευτείς την τιμή αυτού του υπολογιστή για να δεις αν μπορείς να τον αλλάξεις με κάποιο

άλλο μοντέλο. Η αρχική τιμή του υπολογιστή που πήρες είναι 295 ευρώ. και σου τον προσφέρουν για

256 ευρώ . Είναι χρήσιμο να υπολογίσεις το ποσοστό της απαξίωσης για τον υπολογιστή αυτό

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

1

___ 1

_

ό ώάό ί

αριθµ ς ετ ντιµη προσϕορ ςοσοστ παξ ωσης

ρχικη τιµη

Π Α = − Α

Να σχεδιασθεί το διάγραμμα ροής και να γραφτεί ένας αλγόριθμος που θα υπολογίζει το ποσοστό

απαξίωσης για τον υπολογιστή που πήρες για τους 6 μήνες. Στη συνέχεια να γενικεύσεις τον

αλγόριθμο, έτσι ώστε να δουλεύει επαναληπτικά για έναν αριθμό από διαφορετικά είδη των οποίων

ξέρεις το αρχικό ποσό, το ποσό της προσφοράς και το χρονικό διάστημα για το οποίο θέλεις να

υπολογίσεις τα ποσοστά απαξίωσης

Αλγόριθμος Απαξίωση

αριθμός_ετών ← 0.5

αρχική_τιμή ← 295

τιμή_προσφοράς ← 256

ποσοστό_απαξίωσης ← 1 - (τιμή_προσφοράς / αρχική_τιμή) ^ ( 1 / αριθμός_ετών)

Αποτελέσματα // ποσοστό_απαξίωσης //

Τέλος Απαξίωση

Όσον αφορά την επανάληψη θα είναι:

Αλγόριθμος Απαξίωση_επανάληψη

Δεδομένα // Πλήθος //

Για i από 1 μέχρι Πλήθος

Διάβασε αριθμός_ετών, αρχική_τιμή, τιμή_προσφοράς

ποσοστό_απαξίωσης ← 1 - (τιμή_προσφοράς / αρχική_τιμή) ^ ( 1 / αριθμός_ετών)

Εμφάνισε ποσοστό_απαξίωσης

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

Τέλος Απαξίωση_επανάληψη

Page 15: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 15 από 87

ΔΣ5. Σε ένα Λύκειο κάθε μαθητής αξιολογείται με βάση το μέσο όρο που θα έχει σε 5 βασικά

μαθήματα. Να γραφτεί ένας αλγόριθμος που θα διαβάζει τη βαθμολογία για καθένα από τα 5 αυτά

μαθήματα και θα υπολογίζει το μέσο όρο του μαθητή. Να αναλυθεί το πρόβλημα και να προταθεί

λύση του με ακολουθία βημάτων και με διάγραμμα ροής. Υπόδειξη: Για τον υπολογισμό του

συνολικού μέσου όρου η χρήση επαναληπτικής δομής είναι σημαντική λόγω της «ελάφρυνσης» του

κώδικα από παρόμοιες εντολές και από χρήση πολλαπλών μεταβλητών

Αλγόριθμος Μέσος_Όρος

άθροισμα ← 0

Για i από 1 μέχρι 5

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

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

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

ΜΟ ← άθροισμα / 5

Αποτελέσματα // ΜΟ //

Τέλος Μέσος_Όρος

ΔΣ7. Έστω ότι θέλεις να υπολογίσεις το ποσό που θα έχεις στο μέλλον με βάση το ποσό που τώρα

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

Nα γράψεις έναν αλγόριθμο που να υπολογίζει το ποσό που θα έχεις μετά από 5 χρόνια με δεδομένο

ότι το ετήσιο επιτόκιο είναι 6,5%. Να επεκτείνεις τον αλγόριθμο έτσι ώστε να υπολογίζει το ποσό που

θα έχεις για 5 διαφορετικά ποσά που έχει κρατήσει σε ξεχωριστούς τραπεζικούς λογαριασμούς. Να

βρεθεί και το τελικό ποσό που θα έχεις από όλους αυτούς τους λογαριασμούς.

Αλγόριθμος Τράπεζα

Διαβασε αρχικό_ποσό

χρόνια ← 5

επιτόκιο ← 6.5

τελικό_ποσό ← αρχικό_ποσό * (1 + (επιτόκιο / 100)/2) ^ (2 * χρόνια)

Γραψε τελικό_ποσό

Τέλος Τράπεζα

Όσον αφορά την επανάληψη θα είναι:

Page 16: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 16 από 87

Αλγόριθμος Τράπεζα_επανάληψη

χρόνια ← 5

επιτόκιο ← 6.5

Για i από 1 μέχρι 5

Διάβασε αρχικό_ποσό

τελικό_ποσό ← αρχικό_ποσό * (1 + (επιτόκιο / 100)/2) ^ (2 * χρόνια)

Εμφάνισε τελικό_ποσό

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

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

ΔΣ8. Έστω ότι έχεις να επεκτείνεις το πρόβλημα της δενδροφύτευσης που δόθηκε στις

δραστηριότητες για την τάξη (ΔΤ9). Να επεκτείνεις τον αλγόριθμο έτσι ώστε να διαβάζεις ένα

σύνολο από 100 τιμές που αφορούν το είδος του δένδρου και να υπολογίζεις πόσα από τα δένδρα

αυτά θα φυτευτούν στη Μακεδονία, πόσα στη Θράκη και πόσα στην Πελοπόννησο.

Λύση

Αλγόριθμος Τράπεζα_επανάληψη

μετρητής1 ← 0

μετρητής2← 0

μετρητής3← 0

Για i από 1 μέχρι 100

Διάβασε Ε

Αν Ε = 1 τότε

μετρητής1 ← μετρητής1 + 1

Αλλιώς_Αν Ε = 2 τότε

μετρητής2 ← μετρητής2 + 1

Αλλιώς ! Ε = 3

μετρητής3 ← μετρητής3 + 1

Τέλος_Αν

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

Αποτελέσματα // μετρητής1, μετρητής2, μετρητής3 //

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

Page 17: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 17 από 87

ΆΛΥΤΕΣ ΑΣΚΗΣΕΙΣ

1.Τι τιμές παίρνουν οι μεταβλητές σε κάθε βήμα του παρακάτω τμήματος αλγορίθμου και πόσες φορές θα

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

1;

ΔΙΑΒΑΣΕ x

ΓΙΑ y ΑΠΟ —4 ΜΕΧΡΙ 3 ΜΕ_ΒΗΜΑ 2

y←x+x

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ x,y

2.Έστω το τμήμα αλγορίθμου με μεταβλητές Χ, Μ, Ζ.

Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Χ, Μ, Ζ σε όλες τις επαναλήψεις.

Μ←0

Ζ←0

ΓΙΑ Χ ΑΠΟ 0 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 2

ΑΝ Χ<5 ΤΟΤΕ

Ζ←Ζ+Χ

ΑΛΛΙΩΣ

Μ←Μ+Χ - 1

ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

3.Να σχηματίσετε τον πίνακα τιμών του παρακάτω τμήματος προγράμματος. Τί θα εκτυπωθεί τελικά;

α ← 3

β ← 0

Για i από 51 μέχρι 10 με_βήμα -11

α ← α + 2

Αν(α > 4) τότε

β ← β + i div α

Αλλιώς

β ← β - i

Τέλος_Αν

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

α ← α - β

Γραψε α, β

4.Δίνεται το παρακάτω τμήμα προγράμματος

Επ ← Αληθής

Όσο Επ = Αληθής επανάλαβε

Διάβασε Χ,Υ

Κ ←Χ /Υ

Γράψε Κ

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

Ποια αλγοριθμικά κριτήρια δεν ικανοποιούνται και γιατί;

5.Πόσες φορές εκτελείται καθεμία από τις παρακάτω επαναληπτικές δομές;

i.για γ από 1 μέχρι 14

α←α+1

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

ii.για γ από 1 μέχρι 5 με_βήμα 2

a←a+1

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

Page 18: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 18 από 87

iii.για γ από 2 μέχρι —4 με_βήμα -1

a←a+1

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

iv.για γ από 0 μέχρι 2.5 με_βήμα 0.1

a←a+1

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

6. Να γράψετε αλγόριθμο οποίος θα εμφανίζει 100 φορές τον αριθμό 100.7. Να γράψετε πρόγραμμα, το

οποίο θα εμφανίζει όλα τα θετικά πολλαπλάσια του 5 που είναι μικρότερα από το 500.

7. Να γράψετε αλγόριθμο, ο οποίος θα εμφανίζει

i)2,4,6,8,…,600

ii)2 3 4 20172,2 ,2 ,2 ,..., 2

iii)1 1 1 1

1, , , ,...,2 3 4 50

iv)1 2 3 49

, , ,...,2 3 4 50

v)1, 2,3, 4,....., 200− − −

8. Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει όλες τις ακέραιες λύσεις της εξίσωσης 2x2 + 3y - 7 = 0 όταν

τα x,y παίρνoυν ακέραιες τιμές στο διάστημα [-200, 200].

9. Να γράψετε αλγόριθμο, ο οποίος θα διαβάζει Ν αριθμούς και θα βρίσκει το μικρότερο αριθμό.

10.Να γίνει αλγόριθμος ο οποίος θα εμφανίζει όλους τους άρτιους αριθμούς που βρίσκονται μεταξύ των

αριθμών 13 και 2017.

11.Να γίνει αλγόριθμος που θα εμφανίζει όλους τους ακέραιους αριθμούς από το 1 έως το 1000 οι οποίοι

διαιρούνται ακριβώς με το 2 και το 3 και δεν διαιρούνται με το 4.

12. Να γίνει πρόγραμμα που θα εμφανίζει όλους τους τριψήφιους θετικούς ακέραιους αριθμούς όπου

τουλάχιστον ένα από τα ψηφία τους είναι ίσο με 3.

13.Να γίνει αλγόριθμος που θα εμφανίζει όλους τους περιττούς αριθμούς από το 15 έως το 939.

14.Να γράψετε αλγόριθμο, ο οποίος θα υπολογίζει και θα τυπώνει το άθροισμα των αριθμών από 1 ...100.

15.Να γίνει πρόγραμμα υπολογισμού του αθροίσματος Σ = 1+3+5+…+(2ν+1) όπου ν θετικός ακέραιος;

16.Να αναπτυχθεί αλγόριθμος ο οποίος να υπολογίζει το παραγοντικό ενός αριθμού που δίνει ο χρήστης,

(θυμίζουμε ν!=1*2*3*…*ν).

17.Να γίνει αλγόριθμος υπολογισμού του γινομένου Ρ = 2*4*…(2*κ), όπου κ θετικός ακέραιος

18.i) Να γίνει αλγόριθμος υπολογισμού της παράστασης 1+2+3+...+ν

Y= +ν1*3*5*...(2ν+1)

, όπου ν θετικός ακέραιος.

ii)Να γραφτεί αλγόριθμος, που να υπολογίζει το άθροισμα S=1*2*3+2*3*4+3*4*5+...+10*11*12.

19. Να αναπτυχθεί πρόγραμμα που θα εκτυπώνει το άθροισμα των τετραγώνων των διψήφιων άρτιων

αριθμών.

20. Να αναπτυχθεί πρόγραμμα που θα διαβάζει έναν ακέραιο αριθμό (μεγαλύτερο του 0) και να

υπολογίζει τη σειρά Σ = − + − + ±Ν

1 1 1 11 ....

2 3 4

21.Να αναπτυχθεί αλγόριθμος στον οποίο για 50 κύκλους θα συμβαίνουν τα εξής:

α. θα ζητείται η ακτίνα του κύκλου.

β. θα υπολογίζεται και θα εμφανίζεται το μήκος της περιφέρειας του κύκλου.

22. Να υλοποιήσετε αλγόριθμο ο οποίος θα δέχεται σαν είσοδο δύο θετικούς ακέραιους αριθμούς α και β με

α μικρότερο του β( θεωρείται δεδομένο δεν θα το ελέγξετε) και θα υπολογίζει το πλήθος των ακέραιων που

βρίσκονται μεταξύ του α και του β και διαιρούνται ακριβώς με το 3 και το 4.

Page 19: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 19 από 87

23.Να γίνει αλγόριθμος που θα δέχεται ένα θετικό ακέραιο αριθμό ( χωρίς έλεγχο) και θα εμφανίζει το

πλήθος των διαιρετών του.

24.Υλοποιήστε αλγόριθμο που να βρίσκει το μέσο όρο θερμοκρασιών που σημειώθηκαν στις 12 το μεσημέρι

σε μια περιοχή της Ελλάδος τον Φεβρουάριο του 2017 .

25.Να γίνει πρόγραμμα το οποίο θα ζητάει με προτρεπτικό μήνυμα «Να εισάγετε την βαθμολογία του Κ

μαθητή» διαδοχικά τις γενικές βαθμολογίες 38 μαθητών μιας τάξης και θα εμφανίζει τον βαθμό του

καλύτερου μαθητή, καθώς και το πλήθος των μαθητών που αρίστευσαν (άριστος θεωρείται ένας μαθητής

όταν έχει γενική βαθμολογία μεγαλύτερη από 18.5).Οπου Κ ο αύξων αριθμός του μαθητή στην κατάσταση

της τάξης.

26.Να γραφεί αλγόριθμος που θα διαβάζει 100 αριθμούς. Θα ελέγχει εάν μέσα στους αριθμούς που

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

«Διαβάστηκε τουλάχιστον ένας θετικός αριθμός» ή διαφορετικά να εμφανίζει το μήνυμα «Διαβάστηκαν

μόνο αρνητικοί αριθμοί .

27.Υποψήφιος αγοραστής οικοπέδου μετά από επίσκεψη σε μεσιτικό γραφείο πώλησης ακινήτων πήρε τις

εξής πληροφορίες:

Ένα οικόπεδο θεωρείται “ακριβό” όταν η τιμή πώλησης ανά τετραγωνικό μέτρο είναι μεγαλύτερη των 410

€ “φθηνό” όταν η τιμή πώλησης είναι μικρότερη των 149€ και σε οποιαδήποτε άλλη περίπτωση η τιμή

θεωρείται “Κανονική”.

Να αναπτυχθεί αλγόριθμος που για καθένα από 50 οικόπεδα:

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

β. Να υπολογίζει την κατηγορία κόστους στην οποία ανήκει και να εμφανίζει το μήνυμα “ακριβή τιμή” ή

“φτηνή τιμή” ή “Κανονική τιμή”

28.Να αναπτύξετε αλγόριθμο ο οποίος να εμφανίζει την τιμή της παράστασης

Σ=1!+2!+3!+..........+ν! , (όπου ν θετικός ακέραιος)

29. Να γίνει αλγόριθμος που να υπολογίζει το ημίτονο ενός αριθμού από τη προσεγγιστική σχέση:

ημx = 29753

!29

1...

!7

1

!5

1

!3

1xxxxx ++−+−

όπου ν! =1*2*3*…*ν.

30. Να γίνει αλγόριθμος που να υπολογίζει το ημίτονο ενός αριθμού από τη προσεγγιστική σχέση:

ημx = 29753

!29

1...

!7

1

!5

1

!3

1xxxxx ++−+−

31. i)Να γίνει πρόγραμμα το οποίο θα δέχεται έναν θετικό ακέραιο αριθμό και θα εμφανίζει ένα μήνυμα

που θα δηλώνει, αν αυτός ο αριθμός είναι πρώτος.

(Πρώτος είναι ο αριθμός του οποίου οι μοναδικοί διαιρέτες είναι η μονάδα και ο εαυτός του.)

ii) Να γίνει πρόγραμμα το οποίο θα εμφανίζει όλους τους πρώτους αριθμούς ανάμεσα στο 1 και το 50000.

32.Να γραφεί πρόγραμμα που

α) θα διαβάζει 500 αριθμούς,

β) θα βρίσκει και θα εμφανιζει :

1. το πληθος των των θετικών τριψήφιων αριθμών

2. το άθροισμα των αριθμών που ανήκουν στο διαστημα από 10 εως και 100.

Page 20: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 20 από 87

33. Σύμφωνα με το νέο φορολογικό νόμο ο συντελεστής φόρου για τους ιδιώτες φορολογούμενους

απεικονίζεται στον παρακάτω πίνακα (κλιμακωτός υπολογισμός):

Εισόδημα (σε €) Συντελεστής %

Μέχρι 15.000 0

15.001 - 30.000 8

30.001 - 45.000 11

45.001 - 60.000 14

60.000 και άνω 18

Ταυτόχρονα, υπάρχουν φοροελαφρύνσεις ανάλογα με τον αριθμό των παιδιών του φορολογούμενου,

σύμφωνα με τον ακόλουθο πίνακα:

αριθμός παιδιών Ποσό έκπτωσης

1 - 3 500 € ανά παιδί

4 και άνω 1800 €

Να γραφεί αλγόριθμος που για κάθε έναν από τους 2.500.000 Έλληνες φορολογούμενους θα διαβάζει το

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

εκτυπώνει το φόρο που πρέπει να πληρωθεί. Ο αλγόριθμος θα επιστρέφει και το συνολικό ποσό που θα

εισπράξει η εφορία τη φετινή χρονιά.

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

ποσά, ένα για την ενίσχυση του παιδικού χωριού SOS και ένα για την ενίσχυση των σκοπών της UNICEF. Ο

υπολογισμός του ποσού των εισφορών εξαρτάται από τον αρχικό μισθό του κάθε υπαλλήλου και

υπολογίζεται με βάση τα παρακάτω όρια μισθών:

Μισθός (€) Εισφορά %

SOS

Εισφορά %

UNICEF

Έως 500 5 4

501 - 800 7.5 6

801 - 1100 9.5 8

Μεγαλύτερο από 1100 12 11

Να γραφεί αλγόριθμος που να διαβάζει για τους 500 υπαλλήλους της εταιρείας το όνομα και τον μισθό

τους και να εκτυπώνει το καθαρό ποσό που θα πάρει ο κάθε ένας ως μισθό τον μήνα Δεκέμβριο. Ο

αλγόριθμος πρέπει επίσης τελικά να εκτυπώνει το συνολικό ποσό που θα δοθεί στο χωριό SOS καθώς και

το ποσό που θα δοθεί στη UNICEF.

35.Κατά το πρώτο εξάμηνο του έτους 2017 πωλήθηκαν 2000 νέα αυτοκίνητα τα οποία ανάλογα με τον

κυβισμό κατατάχτηκαν σε τρεις κατηγορίες τα αυτοκίνητα "χαμηλού κυβισμού" με κυβισμό μέχρι 1250 κ.κ.,

τα "μεγάλου κυβισμού" αυτοκίνητα με κυβισμό πάνω από 1800 κ.κ και τα "μεσαίου κυβισμού" αυτοκίνητα

που είναι όλα τα υπόλοιπα αυτοκινητα. Να αναπτύξετε πρόγραμμα που :

α) Για κάθε ένα από τα πωληθέντα αυτοκίνητα :

1. Να διαβάζει τον κυβισμο του σε κ.κ.

2. Να εμφανίζει την κατήγορια του.

β) Να εμφανιζει το ποσοστο των αυτοκινήτων της κάθε μιας κατηγορίας.

γ)Αν το ποσοστό των αυτοκινήτων "χαμηλού κυβισμού" το 2016 ηταν 45% να εμφανισει την ποσοστιαια

μεταβολη για το 2017 των αυτοκινήτων "χαμηλού κυβισμού".

Page 21: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 21 από 87

36. Να αναπτύξετε αλγόριθμο ο οποίος θα εκτυπώνει τις τιμές της ακόλουθης συνάρτησης αν το x παίρνει

ακέραιες τιμές στο διάστημα [-130,50]

2

2017( )

7 6f x

x x=

− +

37.Λέγεται ότι ο εφευρέτης του σκακιού παρακλήθηκε από έναν Ινδό βασιλιά να ζητήσει όποια αμοιβή

ήθελε για τη σπουδαία ιδέα του. Ο εφευρέτης ζήτησε να πάρει το ρύζι που θα μαζευόταν ως εξής:

Στο 1° τετραγωνάκι του σκακιού να έβαζε κάποιος έναν κόκκο ρυζιού, στο 2° τετραγωνάκι 2 κόκκους, στο

3° τετραγωνάκι 4 κόκκους, στο 4ο τετραγωνάκι 8 κόκκους κτλ.

Να γίνει αλγόριθμος που θα υπολογίζει πόσοι τόνοι ρυζιού θα ήταν η ποσότητα αυτή, αν 1 Κg ρυζιού έχει

20.000 κόκκους.

38.Το εστιατόριο Η Μάσα έχει 40 τραπέζια. Να γράψετε πρόγραμμα που θα καταγράφει επαναληπτικά

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

πρόγραμμα θα εμφανίζει:

i)το νούμερο του τραπεζιού με το μικρότερο τζίρο.

ii)Το ποσοστό των τραπεζιών που έκατσαν περισσότερα από 15 άτομα.

ii)αν υπάρχει τραπέζι που δεν έκατσε κανένα άτομο όλη την ημέρα.

Θεωρήστε ότι στο εστιατόριο ήρθε τουλάχιστον ένα άτομο ολόκληρη την ημέρα και δεν υπάρχουν δυο

τραπέζι με τον ίδιο μικρότερο τζίρο.

39.Η τιμή ενός σπάνιου διαμαντιού , που αγοράστηκε 200000 ευρώ τριπλασιάζεται (! ) κάθε χρόνο.Να

γράψετε i) τμήμα προγράμματος που θα εμφανίζει την τιμή του διαμαντιού αρχή κάθε χρόνου για τα επόμενα 20

χρόνια.

ii) τμήμα προγράμματος που θα εμφανίζει την τιμή του διαμαντιού στο τέλος κάθε χρόνου για τα

επόμενα 20 χρόνια.

iii) τμήμα προγράμματος που θα εμφανίζει το ποσοστό αύξησης του διαμαντιού με το πέρας των 20

χρόνων.

iv) τμήμα προγράμματος που θα εμφανίζει το ποσοστό αύξησης του διαμαντιού στο τέλος κάθε χρόνου

για 20 χρόνια σε σχέση με την προηγούμενη χρονιά.

40.Ο Παπαδόπουλος αποφάσισε να αγοράσει ένα πιστολάκι για τα μαλλιά και συμφώνησε να πληρώσει

σε 24 μηνιαίες δόσεις ως έξης: Κάθε δόση θα είναι 20% μεγαλύτερη από την προηγούμενη. Να γράψετε

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

i)Το ποσό της 7ης δόσης

ii)Πόσο κοστίζει το πιστολάκι.

41.Ένας έμπορας ελαστικών αυτοκινήτου αποφάσισε να κάνει καταμέτρηση των ελαστικων που έχει

διάσπαρτα σε δέκα αποθήκες. Σε κάθε αποθήκη βάζει 6 υπαλλήλους του, οι οποίοι θα ασχοληθούν με την

απογραφή. Να γραφεί προγραμμα το οποίο θα διαβάζει το πλήθος των ελαστικων που κατάγραψε κάθε

υπάλληλος για κάθε αποθήκη και θα εμφανίζει:

i)πόσα ελαστικά υπάρχουν σε κάθε αποθήκη.

ii)Τον αύξοντα αριθμο της αποθήκης (1η ,2η, κτλ.π) με τον μεγαλύτερο αριθμο ελαστικων .

Σε κάθε αποθήκη υπάρχει διαφορετικός αριθμός ελαστικών.

42.Ενας αριθμός είναι τέλειος αν ισούται με το άθροισμα των διαιρετών .Για παράδειγμα ,ο αριθμός 6 έχει

διαιρέτες 1,2,3 και ισχύει :1+2+3=6.Να γράψετε πρόγραμμα που να εμφανίζει όλους τους τέλειους αριθμούς

που είναι μικρότεροι από το 10000. 43.(Εξετάσεις 2016) Ο αριθμός π εκφράζει το πηλίκο της περιμέτρου ενός κύκλου προς την διάμετρο του.

Η τιμή του μπορεί να υπολογιστεί, κατά προσέγγιση , από την παρακάτω παράσταση:

1 1 1

4(1 ....)3 5 7

π = − + − +

Ο υπολογισμός της τιμής της παράστασης για 100 όρους του αθροίσματος γίνεται από το παρακάτω

τμήμα αλγορίθμου,που περιλαμβάνει 5 κενά

Page 22: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 22 από 87

Πρόσημο ←1

Παρονομαστής ←…. Για I από 1 µέχρι 100 Ορος ←I/ Παρονομαστής

Ορος ←……* Πρόσημο

Σ ←…+ Ορος Πρόσημο ← Πρόσημο*(….)

Παρονομαστής← Παρονομαστής+2

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

Να συμπληρώσετε τα κενά στο παραπάνω τμήμα, έτσι ώστε να υπολογίσει την τιμή του π που

περιγράφηκε.

44.Ο Παπαδόπουλος –μόνιμος καθηγητής του ξακουστού Πανεπιστημίου «PARTALIA UNIVERSITY»

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

Μακεδονιας το μήνα Ιουνιο και για διάστημα μίας εβδομάδας. Για την αξιοποίηση των δεδομένων που

κατέγραψαν οι φοιτητές να δημιουργήσετε προγραμμα το οποίο:

i.Για κάθε μια πόλη να δέχεται το όνομά της και τη θερμοκρασία της , για κάθε ημέρα της εβδομάδας, από

Δευτέρα μέχρι και Κυριακή. Η θερμοκρασία να ελέγχεται ώστε να παίρνει τιμές από – 20.0 έως και +40.0 .

ii.Να υπολογίζει και να εμφανίζει τη μέση θερμοκρασία της κάθε πόλης για τη συγκεκριμένη εβδομάδα.

iii.Να εμφανίζει τα ονόματα των πόλεων για τις οποίες η μέση θερμοκρασία του Σαββατοκύριακου (2

ημέρες) ήταν τουλάχιστον 20% μεγαλύτερη από τη μέση θερμοκρασία τις καθημερινές(5 ημέρες).

iv.Να εμφανίζει τα ονόματα των πόλεων, οι οποίες κάθε μέρα από Δευτέρα έως Κυριακή παρουσιάζουν

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

«Καμία πόλη με συνεχόμενη μείωση της θερμοκρασίας».

45. Από το λεξικό των ενδιαφερόντων αριθμών του Wells,ένας εύκολος αλγόριθμος υπολογισμού ψηφίων

του π. Χρησιμοποιήθηκε από τους Ιάπωνες Y.Tamura και Y.Kanada για να υπολογίσουν 16 εκατομμύρια

δεκαδικά ψηφία του π. Βασίζεται στην μελέτη του Gauss των ιδιοτήτων του αριθμητικού και του

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

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

Ο αλγόριθμος έχει ως εξής:

Ξεκινάμε με τις τιμές

Α=1 , Χ=1, Β=(1/2)^(1/2) , C=1/4

Εκτελούμε τα βήματα:

1.Υ← Α

2.Α←(Α+Β)/2

3.Β← (Β*Υ)^(1/2)

4.C←C-X*(A-Y)^2

5.X←2*X

6.Τύπωσε (Α+Β)^2/(4*C)

7.Επαναλαμβάνουμε.

Σε κάθε οθόνη ο αριθμός των σωστών ψηφίων του π διπλασιάζεται.

Να γράψετε πρόγραμμα που να ζητά από τον χρήστη το πλήθος των επαναλήψεων και να επιστρέφει την

αντίστοιχη προσέγγιση του π.

Page 23: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 23 από 87

Όσο …Επανάλαβε Η επαναληπτική αυτή δομή χρησιμοποιείται κυρίως όταν δεν είναι από πριν γνωστό το πλήθος των φορών

που θέλουμε να εκτελεστούν κάποιες ενέργειες. Μπορούμε γενικά να αντικαταστήσουμε την δομή

‘Για....από...μέχρι” με την δομή “Όσο...επανάλαβε”, κάτι τέτοιο όμως δεν μπορεί να θεωρηθεί σκόπιμο, και

αυτό θα το καταλάβουμε από τα παραδείγματα που θα ακολουθήσουν.

Ο γενικός τρόπος με τον οποίο συντάσσεται η εντολή είναι ο εξής:

Οσο <συνθήκη_συνέχειας> επανάλαβε

…ομάδα εντολών που επαναλαμβάνονται…

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

Ονομάζουμε την συνθήκη “συνθήκη συνέχειας” για το λόγο ότι αν αυτή ισχύει (ΑΛΗΘΗΣ) τότε συνεχίζει

να πραγματοποιείται εκτέλεση των εντολών που περιλαμβάνονται. Πρέπει να προσέξουμε τα εξής:

1. Μόλις σταματήσει να ισχύει η συνθήκη συνέχειας, αμέσως θα διακοπεί η εκτέλεση των εντολών.

2. Άρα λοιπόν, αν εξαρχής δεν ισχύει η συνθήκη, τότε ΔΕΝ θα πραγματοποιηθεί ούτε μία εκτέλεση των

εντολών. Ο αλγόριθμος θα συνεχιστεί υπερπηδώντας το σύνολο των εντολών της επαναληπτικής αυτής

δομής, πηγαίνοντας στις εντολές που ακολουθούν.

3.Ο προγραμματιστής πρέπει να έχει φροντίσει να ορίσει την μεταβλητή (ή τις μεταβλητές) που

συμμετέχουν στην συνθήκη. Πρέπει δηλαδή οι μεταβλητές αυτές να μην είναι απροσδιόριστες, ώστε να

είναι ξεκάθαρο το εάν ισχύει ή όχι η συνθήκη.

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

μέσα στην ομάδα εντολών της επαναληπτικής δομής) να αλλάζει τιμή η συνθήκη από ΑΛΗΘΗΣ σε

ΨΕΥΔΗΣ, τότε θα έχουμε μία “ατέρμονη επανάληψη” δηλαδή ο αλγόριθμος δεν πρόκειται ποτέ να

τελειώσει, κάτι που αποτελεί σοβαρότατο σφάλμα.

Παράδειγμα 1: Ο ταμίας σε ένα super market καταχωρεί στην ταμειακή απόδειξη τον κωδικό του προϊόντος

και την τιμή. Όταν ολοκληρωθεί η καταχώρηση για την αγορά ενός πελάτη, τότε εισάγεται ο κωδικός 0. Να

εκτυπωθεί το συνολικό ποσό της αγοράς και το πλήθος των προϊόντων που αγοράστηκαν

Για την επίλυση του προβλήματος πρέπει να διαβάζονται οι κωδικοί και οι τιμές των προϊόντων μέχρι την

εισαγωγή του κωδικού 0

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

σύνολο _αγορων← 0

πλήθος ← 0

Διάβασε κωδικός

Όσο κωδικός<>0 επανάλαβε

Διάβασε τιμή, τεμάχια

σύνολο_αγορων ← σύνολο_αγορων + τιμή * τεμάχια

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

Διάβασε κωδικός

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

Εκτύπωσε σύνολο_αγορων, πλήθος

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

Ο βρόχος επαναλαμβάνεται για άγνωστο αριθμό επαναλήψεων.

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

Όσο κωδικός<>0 επανάλαβε

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

Η μεταβλητή σύνολο περιέχει το σύνολο της αγοράς μέχρι την τρέχουσα επανάληψη. Είναι σαφές ότι δεν

είναι γνωστό το πλήθος των προϊόντων που αγοράστηκαν. Για το λόγο αυτό χρησιμοποιείται η μεταβλητή

Page 24: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 24 από 87

πλήθος. Ένα σύνηθες λάθος που κάνουν οι μαθητές είναι ότι ξεχνούν την εντολή Διάβασε κωδικός πριν το

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

στη συνθήκη του Όσο;

Στο εσωτερικό του βρόχου διαβάζουμε και τις μεταβλητές τιμή και τεμάχια που αφορούν το προϊόν και

προσθέτουμε το γινόμενό τους στη μεταβλητή σύνολο (το οποίο έχει αρχικοποιηθεί). Αυξάνουμε δε, τη

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

κατά την νέα

επανάληψη

Πρέπει να

τονιστεί ότι ο

έλεγχος της

συνθήκης στη

δομή

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

πραγματοποιείται

στην αρχή του

βρόχου. Το

διάγραμμα ροής

του παραπάνω

αλγορίθμου είναι

το εξής:

Λυμένες ασκήσεις

1)Πόσες φορές θα εκτελεστούν οι επαναληπτικές δομές στα παρακάτω τμήματα αλγορίθμων;

x ← 5

Όσο (x > 0) επανέλαβε

Εμφάνισε x

x ← x - 1

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

x ← 5

Όσο (x >= 0) επανέλαβε

Εμφάνισε x

x ← x - 1

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

x ← -5

Όσο (x >= 0) επανέλαβε

Εμφάνισε x

x ← x - 1

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

x ← 5

Όσο (x >= 0) επανέλαβε

Εμφάνισε x

x ← x + 1

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

Λύση

1) Στην πρώτη περίπτωση η μεταβλητή x θα πάρει τις τιμές 5, 4, 3, 2, 1 (οι οποίες και θα εμφανιστούν), 0

οπότε και θα τερματιστεί ο βρόχος και συνεπώς θα εκτελεστεί 5 φορές

2) Στην δεύτερη περίπτωση η μεταβλητή x θα πάρει τις τιμές 5, 4, 3, 2, 1, 0 (οι οποίες και θα εμφανιστούν), -

1 οπότε και θα τερματιστεί ο βρόχος και συνεπώς θα εκτελεστεί 6 φορές

3) Στην τρίτη περίπτωση ο βρόχος δεν θα εκτελεστεί καμία φορά αφού η τιμή -5 δεν είναι >= 0

Page 25: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 25 από 87

4) Στην τέταρτη περίπτωση η μεταβλητή x θα πάρει τις τιμές 5, 6, 7, 8, .... Παρατηρούμε οτι δεν θα

τερματιστεί ο βρόχος αφού το κριτήριο συνέχειας του δεν θα παραβιαστεί ποτέ. Άρα μιλάμε για έναν

ατέρμων βρόχο, δηλαδή άπειρο πλήθος επαναλήψεων

2)Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί τελικά;

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

α ← 2

β ← 1

Όσο (α >= β) και (α div 10 < 1) επανάλαβε

α ← α ^ 2

Αν (α div β > 2) τότε

β ← β + 1

Αλλιώς

α ← α + 1

Τέλος_Αν

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

Εκτύπωσε α, β

Τέλος Α2

Λύση

2 >= 1 και 2 div 10 = 0 < 1

Ισχύει

1η επανάληψη

4 div 1 = 4

> 2

Iσχύει

4 >= 2 και 4 div 10 = 0 < 1

Ισχύει

2η επανάληψη

16 div 2 = 8

> 2

Iσχύει

16 >= 3 και 16 div

10 = 1 < 1

Δεν ισχύει

α :

2 4 16

β : 1 2 3

Θα εκτυπωθούν οι τιμές 16, 3

3)Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί τελικά;

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

α ← 0

Όσο (α <= 22) επανάλαβε

Για i από 1 μέχρι 3

α ← α + i

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

α ← α + 5

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

Εκτύπωσε α

Τέλος Α3

Λύση

i α

0

0 <= 22 Ισχύει, 1η εξωτερική επανάλ

1η επανάλ 1 1

2η επανάλ 2 3

Page 26: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 26 από 87

3η επανάλ 3 6

Πράξεις 11

11 <= 22 Ισχύει, 2η εξωτερική επανάλ

1η επανάλ 1 12

2η επανάλ 2 14

3η επανάλ 3 17

Πράξεις 22

22 <= 22 Ισχύει, 3η εξωτερική επανάλ

1η επανάλ 1 23

2η επανάλ 2 25

3η επανάλ 3 28

Πράξεις 33

33 <= 22 Δεν ισχύει

3η τερματισμός επανάληψης

Θα εκτυπωθεί η τιμή 33

4)Στο σταθμό των διοδίων της εθνικής οδού Αθηνών-Λαμίας τα λεωφορεία πληρώνουν € 3 και τα

αυτοκίνητα € 2,5. Να γράφετε αλγόριθμο ο οποίος θα διαβάζει τον αριθμό των λεωφορείων και

αυτοκινήτων που πέρασαν από τα διόδια και θα υπολογίζει και θα τυπώνει το ποσό είσπραξης των

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

αυτοκίνητα.

Λύση

Αλγόριθμος Εθνική_Οδός

Εκτύπωσε ″Δώσε τον αριθμό των λεωφορείων:″

Διάβασε Λ

Εκτύπωσε ″Δώσε τον αριθμό των αυτοκινήτων:″

Διάβασε Α

'Οσο Λ≠0 ή Α≠0 επανάλαβε

Σύνολο←Λ*3+Α*2,5

Εκτύπωσε "Συνολικό ποσό είσπραξης", Σύνολο

Διάβασε Λ, Α

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

Τέλος Εθνική_Οδός

5)Να γράψετε αλγόριθμο ο οποίος θα υπολογίζει και θα τυπώνει την τιμή της μεταβλητής

Κ = 7α - 8β για διάφορα ζεύγη (α, β) μέχρι να διαβαστούν οι τιμές α = 0 και β = 0.

Λύση

Αλγόριθμος Μελέτη

Διάβασε α, β

'Οσο α <>0 ή β <> 0 επανάλαβε

Κ ←7*α-8*β

Εκτύπωσε Κ

Διάβασε α, β

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

Τέλος Μελέτη

Page 27: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 27 από 87

6)Να γράψετε αλγόριθμο ο οποίος θα υπολογίζει και θα τυπώνει το μέσο όρο τριών αριθμών. Η

διαδικασία θα επαναλαμβάνεται για διάφορες τριάδες δεδομένων και θα σταματάει όταν όλοι οι

αριθμοί της τριάδας είναι μηδέν.

Λύση

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

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

'Οσο όχι (α = 0 ή β = 0 ή γ = 0) επανάλαβε

Σ ←α + β + γ

ΜΟ ←Σ/3

Εκτύπωσε "Μέσος όρος ", ΜΟ

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

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

Τέλος Α6

7)Να γράψετε αλγόριθμο ο οποίος θα διαβάζει άγνωστο πλήθος αριθμών μέχρι να δοθεί από το

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

των αριθμών που διαβάστηκαν.

Λύση

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

Σ←0

μετρητής←0

Διάβασε χ

'Οσο χ≠9999 επανάλαβε

Σ ←Σ + χ

μετρητής ←μετρητής + 1

Διάβασε χ

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

Αν μετρητής ≠0 τότε

ΜΟ ←Σ/μετρητής

Εκτύπωσε "Το άθροισμα των αριθμών είναι", Σ

Εκτύπωσε "Ο Μέσος όρος των αριθμών είναι", ΜΟ

Τέλος_αν

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

8)Να γράψετε αλγόριθμο ο οποίος θα διαβάζει άγνωστο πλήθος αριθμών και θα τυπώνει το

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

9999.

Λύση

Αλγόριθμος Μέγιστο

Διάβασε χ

Αν χ<>9999 τότε

μέγιστο ←χ

'Οσο χ≠9999 επανάλαβε

Αν χ > μέγιστο τότε μέγιστο ←χ

Διάβασε χ

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

Εκτύπωσε "Ο μεγαλύτερος αριθμός είναι το", μέγιστο

Τέλος_αν

Τέλος Μέγιστο

Page 28: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 28 από 87

9)Ο μισθός του κύριου Αντωνίου είναι 1250 €, ενώ σύμφωνα με το μισθολόγιο αυξάνεται κατά 11%

ετησίως. Κάθε μήνα έχει αποφασίσει να αποταμιεύει 9% του μισθού για το όνειρό του που είναι η

αγορά ενός σπορ αμαξιού . Να αναπτύξετε αλγόριθμο που θα υπολογίζει και θα εκτυπώνει σε

πόσους μήνες θα κατορθώσει να προβεί στην αγορά του αυτοκινήτου αξίας 40.000 €

Αλγόριθμος Ferrari

μισθός ← 1250

συγκεντρωθέν_ποσό ← 0

μήνες ← 0

Όσο (συγκεντρωθέν_ποσό <= 40000) επανάλαβε

συγκεντρωθέν_ποσό ← συγκεντρωθέν_ποσό + 0.09 * μισθός

μήνες ← μήνες + 1

Αν μήνες mod 12 = 0 τότε ! συμπληρώθηκε νέο έτος

μισθός ← μισθός + 0.11 * μισθός

Τέλος_Αν

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

Εκτύπωσε "Το ποσό των 40000 € θα συγκεντρωθεί σε ", μήνες

Τέλος Ferrari

10)Να αναπτυχθεί αλγόριθμος ο οποίος να υπολογίζει το άθροισμα: 13+23+33+43+… και όταν κάποια

στιγμή αυτό ξεπεράσει συνολικά τον αριθμό 20000 τότε να εμφανίζει κατάλληλο μήνυμα με το οποίο

να μας ενημερώνει για το πόσοι αριθμοί χρειάστηκε να προστεθούν.

Λύση

αλγόριθμος πληθος_επαναληψεων

m←0

S←0

Οσο S < 20000 Επανάλαβε

m ←m+1

S←S+m^3

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

Εμφάνισε ‘προστέθηκαν’, m ,’αριθμοί’

Τελος πληθος_επαναληψεων

11)Να αναπτυχθεί ο αλγόριθμος που εκτελείται στα διόδια. Για κάθε αυτοκίνητο που περνά να

διαβάζεται ο τύπος του ("Φ" για φορτηγό, "Α" για αυτοκίνητο και "Μ" για μοτοσυκλέτα) και να

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

και να εκτυπώνει τις εισπράξεις της ημέρας. Πρέπει να επισημανθεί ότι το κόστος διέλευσης είναι

2.50 € για ένα φορτηγό, 1.40 για ένα αυτοκίνητο και 0.90 για μια μοτοσυκλέτα

Λύση

Αλγόριθμος Διόδια

είσπραξη ← 0

Διάβασε τύπος_οχήματος

Όσο (τύπος_οχήματος <> "Τέλος") επανάλαβε

Αν τύπος_οχήματος= "Φ" τότε

κόμιστρο ← 2.50

Αλλιως_αν τύπος_οχήματος= "Α" τότε

κόμιστρο ← 1.40

Αλλιως_αν τύπος_οχήματος= "Μ" τότε

κόμιστρο ← 0.90

Page 29: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 29 από 87

Αλλιώς

κόμιστρο ← 0

Εκτύπωσε "Λάθος καταχώρηση"

Τέλος_αν

είσπραξη ← είσπραξη + κόμιστρο

Διάβασε τύπος_οχήματος ! για την επόμενη επανάληψη

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

Εκτύπωσε "Η είσπραξη της ημέρας είναι : ", είσπραξη

Τέλος Διόδια

12) Μέγιστος κοινός διαιρέτης (σχολικό βιβλίο)

Ένα ιστορικό πρόβλημα είναι η εύρεση του μέγιστου κοινού διαιρέτη (μκδ) δύο ακεραίων αριθμών. Ο

αλγόριθμος εύρεσης του μκδ ανήκει στον Ευκλείδη. Ωστόσο η υλοποίηση και αυτού του αλγορίθμου μπορεί

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

μκδ δύο ακεραίων x και y. Η μέθοδος αυτή είναι αρκετά αργή (και δεν στηρίζεται στον αλγόριθμο του

Ευκλείδη), αλλά απλώς δίνεται για να διαφανεί η βελτίωση στην επίδοση από τους επόμενους

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

όλους τους ακεραίους ξεκινώντας από τον z και μειώνοντας συνεχώς κατά μία μονάδα μέχρι και οι δύο

αριθμοί, x και y, να διαιρούνται από τη νέα τιμή του z.

ΠΡΟΓΡΑΜΜΑ ΜΕΓΙΣΤΟΣ_ΚΟΙΝΟΣ_ΔΙΑIΡΕΤΗΣ

ΜΕΤΑΒΛΗΤΕΣ

ΑΚΕΡΑΙΕΣ :X,Y

ΑΡΧΗ

ΔΙΑΒΑΣΕ X,Y

ΑΝ X<Y ΤΟΤΕ

Z<-X

ΑΛΛΙΩΣ

Z<-Y

ΤΕΛΟΣ_ΑΝ

ΟΣΟ (XMOZ<>0) ‘Η (YMOZ<>0) ΕΠΑΝΑΛΑΒΕ

Z<-Z-1

ΤΕΛΟΣ ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ Z

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Η επόμενη μέθοδος για την εύρεση του μκδ αποδίδεται στον

Ευκλείδη, και προφανώς βελτιώνει την προηγούμενη εκδοχή,

επειδή δεν εξετάζει με τη σειρά όλους τους ακεραίους.

ΠΡΟΓΡΑΜΜΑ ΜΕΓΙΣΤΟΣ ΚΟΙΝΟΣ ΔΙΑIΡΕΤΗΣ ΕΥΚΛΕΙΔΗΣ

ΜΕΤΒΛΗΤΕΣ

ΑΚΕΡΑΙΕΣ :X,Y

ΑΡΧΗ

Z<-Υ

ΟΣΟ (Z<>0) ΕΠΑΝΑΛΑΒΕ

Z<-ΧMODY

X<-Υ

Y<-Z

ΤΕΛΟΣ ΕΠΑΝΑΛΗΨΗΣ

O αλγόριθμος του Ευκλείδη ή

Ευκλείδειος αλγόριθμος, είναι μια

αποτελεσματική μέθοδος για τον

υπολογισμό του μέγιστου κοινού

διαιρέτη (ΜΚΔ) δύο ακέραιων

αριθμών,. Το όνομά του προέρχεται

από τον Έλληνα μαθηματικό

Ευκλείδη, ο οποίος τον περιγράφει

στα βιβλία VII και X του βιβλίου του

Στοιχεία. Η παλαιότερη περιγραφή

που υπάρχει για τον Ευκλείδειο

αλγόριθμο είναι στα Στοιχεία του

Ευκλείδη (περ. 300 π.Χ.),

καθιστώντας τον ένα από τους

παλαιότερους αριθμητικούς

αλγορίθμους ακόμα σε κοινή χρήση.

Page 30: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 30 από 87

Γ ΡΑΨΕ X

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα. Για καλύτερη κατανόηση της μεθόδου, ας παρακολουθήσουμε πως ο αλγόριθμος αυτός

βρίσκει το μκδ των αριθμών 150 και 3 5 . 0 επόμενος πίνακας δείχνει τις τιμές των μεταβλητών z, x και y,

κατά τη διάρκεια των επαναλήψεων. Δηλαδή, πριν την έναρξη της επαναληπτικής δομής οι αρχικές τιμές

των x και y είναι 150 και 35 (όπως φαίνεται στη δεύτερη γραμμή του πίνακα). Ο αλγόριθμος σταματά όταν

γίνει 0 η τιμή του ζ, οπότε ο μκδ είναι η τιμή του x, δηλαδή το 5.

Ασκήσεις Τετραδίου Μαθητή

ΔΣ1. Δίνεται το παρακάτω διάγραμμα ροής: Να δώσετε την εκφώνηση του προβλήματος που

εκφράζεται με το συγκεκριμένο διάγραμμα ροής

Απάντηση

Z X Y

35 150 35

10 35 10

5 10 5

0 5 0

Page 31: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 31 από 87

Να αναπτύξετε αλγόριθμο που θα διαβάζει 200 αριθμούς και θα υπολογίζει και θα εκτυπώνει το άθροισμα

όσων αριθμών είναι μεγαλύτεροι από 10.

ΔΣ4. Να γραφεί πρόγραμμα που να δέχεται ένα ακέραιο θετικό αριθμό χωρίς έλεγχο και αν είναι

άρτιος να τον υποδιπλασιάζει ενώ αν είναι περιττός να τον τριπλασιάζει και να αυξάνει το γινομενο

κατά μια μονάδα. Η διαδικασία να συνεχίζεται μέχρι να καταλήξουμε στο 1.Το γεγονός ότι η

παραπάνω διαδικασία θα οδηγήσει στην μονάδα ,όποιον αριθμό και αν επιλέξουμε αποτελεί μια

διάσημη εικασία με την ονομασία εικασία Collatz.

ΛΥΣΗ

ΠΡΟΓΡΑΜΜΑ ΕΙΚΑΣΙΑ_COLLATZ

ΜΕΤΑΒΛΗΤΕΣ

ΑΚΕΡΑΙΕΣ:X

ΔΙΑΒΑΣΕ X

ΌΣΟ X > 1 ΕΠΑΝΑΛΑΒΕ

ΑΝ X MOD 2 = 0 ΤΟΤΕ

X ← X / 2

ΑΛΛΙΩΣ

X ← 3 * X + 1

ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ X

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Οι ακολουθίες βημάτων για x=13,x=9,x=22:

x = 13 40 20 10 5 16 8 4 2 1

x = 9 28 14 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

x = 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

Page 32: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 32 από 87

ΆΛΥΤΕΣ ΑΣΚΗΣΕΙΣ

1.Πόσες φορές θα εκτελεστούν οι επαναληπτικές δομές στα παρακάτω τμήματα αλγορίθμων; 1. Χ←3 ΟΣΟ Χ>0 ΕΠΑΝΑΛΑΒΕ Χ←Χ – 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

2. Χ←3 ΟΣΟ Χ>=0 ΕΠΑΝΑΛΑΒΕ Χ←Χ – 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

3. Χ← -1 ΟΣΟ Χ>0 ΕΠΑΝΑΛΑΒΕ Χ←Χ – 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

4. Χ←1 ΟΣΟ Χ<>6 ΕΠΑΝΑΛΑΒΕ Χ←Χ+2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

2.

Πόσες φορές θα εκτελεστούν οι επαναληπτικές δομές στα παρακάτω τμήματα αλγορίθμων;

1.

Y←3

ΟΣΟ Y>=0 ΕΠΑΝΑΛΑΒΕ

Y←Y – 2

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

2.

Y←0

ΟΣΟ Y>=0 ΕΠΑΝΑΛΑΒΕ

Y←Y – 1

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

3.

Y← -4

ΟΣΟ Y>4 ΕΠΑΝΑΛΑΒΕ

Y←Y^2+2

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

4.

Y←0

ΟΣΟ Y>=0 ΕΠΑΝΑΛΑΒΕ

Y←Y+1

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

3.Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί τελικά;

Αλγόριθμος Πίνακας_Τιμών14

α ← 321

β ← 7

Όσο α div 10 > 0 επανάλαβε

α ← α div β

Αν (β > α div 2) τότε

β ← β * 3

Αλλιώς

β ← β + 3

Τέλος_Αν

Εκτύπωσε α, β

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

Τέλος Πίνακας_Τιμών14

4.Τι τιμές παίρνουν οι μεταβλητές σε κάθε βήμα του παρακάτω τμήματος αλγορίθμου, όταν εκτελεστεί

διαδοχικά δύο φορές, με εισόδους: i) 5, ii) —2.

Διάβασε Χ

Υ←Χ+1

Οσο (Χ>0 ΚΑΙ Υ<9) Επανάλαβε

Υ←Υ+Χ

Χ←Χ – 1

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

Υ←Υ+1

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

αριθμούς (χωρίς έλεγχο) μέχρι το άθροισμα των αρτίων να ξεπεράσει το 2017.Θα πρέπει να εμφανίζει τον

μεγαλύτερο αριθμό που δόθηκε.

SUM←……

MAX←……

ΟΣΟ….…ΕΠΑΝΑΛΑΒΕ

ΔΙΑΒΑΣΕ….

ΑΝ….<….. ΤΟΤΕ

..……←X

ΤΕΛΟΣ_ΑΝ

ΑΝ…….….. ΤΟΤΕ

SUM ← SUM +X

Page 33: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 33 από 87

ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ…….

6.Να συμπληρώσετε τα κενά ώστε τα παρακάτω τμήματα προγράμματος να κάνει έλεγχο εγκυρότητας

μιας τιμής x αν:

i)x ισούται με 13 ή 15

ΔΙΑΒΑΣΕ X

ΟΣΟ….ΕΠΑΝΑΛΑΒΕ

………

ΤΕΛΟΣ_ ΕΠΑΝΑΛΗΨΗΣ

ii)x είναι θετικός ακέραιος

ΔΙΑΒΑΣΕ X

ΟΣΟ….ΕΠΑΝΑΛΑΒΕ

………

ΤΕΛΟΣ_ ΕΠΑΝΑΛΗΨΗΣ

iii)x είναι μια λέξη που έχει ως πρώτο γράμμα το «Β»

ΔΙΑΒΑΣΕ X

ΟΣΟ….ΕΠΑΝΑΛΑΒΕ

………

ΤΕΛΟΣ_ ΕΠΑΝΑΛΗΨΗΣ

7.Να γίνει αλγόριθμος, ο οποίος θα δίνει την δυνατότητα στον χρήστη να υπολογίζει το εμβαδόν τριγώνου.

Ο αλγόριθμος θα διαβάζει τη βάση και το ύψος τουλάχιστον ενός τριγώνου και μετά θα εμφανίζει το

μήνυμα το τρίγωνο με ύψος _________και βάση_______ έχει εμβαδόν________. Στη συνέχεια θα ρωτάει το

χρήστη αν θέλει να υπολογίσει το εμβαδόν κάποιου άλλου τριγώνου. Αν πάρει σαν απάντηση ΝΑΙ θα

επαναλαμβάνει την διαδικασία από την αρχή ενώ αν πάρει σαν απάντηση ΟΧΙ θα τερματίζει τον

αλγόριθμο.

8.Να γράψετε αλγόριθμο, ο οποίος θα διαβάζει άγνωστο αριθμό τιμών και θα υπολογίζει το γινόμενό τους.

Ο αλγόριθμος θα τερματίζει,όταν διαβαστεί ο αριθμός μηδέν. Τέλος,θα τυπώνει το γινόμενο και το πλήθος

των αριθμών που διαβάστηκαν.

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

των περιττών να γίνει ίσο με 400. Ο αλγόριθμος να δίνει ως αποτέλεσμα το μήνυμα “άρτιοι” ή “περιττοί”,

ανάλογα με το ποια από τις δύο κατηγορίες αριθμών έφτασε το 400.

10.Να αναπτυχθεί αλγόριθμος στον οποίο θα συμβαίνουν τα εξής:

α. Θα ζητούνται οι βαθμοί προφορικών Α’ και Β’ τετραμήνου ενός μαθητή στην Πληροφορική.

β. Θα υπολογίζεται ο μέσος όρος προφορικών.

γ. Θα εμφανίζεται το μήνυμα “ο μέσος όρος είναι” και δίπλα σε αυτό ο μέσος όρος που προέκυψε.

δ. Τα παραπάνω θα επαναλαμβάνονται και για άλλους μαθητές και το πρόγραμμα θα τελειώνει μόνο

όταν ο χρήστης (επίτηδες) πληκτρολογήσει ως βαθμό Α’ τετραμήνου το μηδέν

11.Να υλοποιήσετε αλγόριθμο που να βρίσκει τον μέσο όρο των βαθμών ενός μαθητή. Τον ακριβή αριθμό

των μαθημάτων δεν τον γνωρίζουμε αφού διαφέρει από τάξη σε τάξη και πολλές φορές και από σχολείο

σε σχολείο. Ο αλγόριθμος να εμφανίσει τον μέσο όρο όταν θα δεχθεί σαν είσοδο για βαθμό μαθήματος το

μηδέν.

Παρατήρηση: Θεωρήστε ότι η πρώτη τιμή που θα δοθεί στον αλγόριθμο δεν θα είναι μηδέν.

Page 34: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 34 από 87

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

μαθήματα έχει πάρει 20. 0 αλγόριθμος θα σταματάει να δέχεται βαθμούς, όταν δοθεί ως είσοδος ένας

αρνητικός βαθμός ή ένας βαθμός μεγαλύτερος του 20.

13.Να γράψετε αλγόριθμο, ο οποίος θα διαβάζει τα ονόματα μαθητών, τους βαθμούς τους σε τρία

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

δοθεί ο χαρακτήρας κενό (‘ ‘).

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

σκοπό αυτό να αναπτυχθεί αλγόριθμος στον οποίο θα συμβαίνουν τα εξής:

α. Θα ζητείται από το χρήστη να πληκτρολογήσει ένα χαρακτήρα της πρότασης.

β. Θα “μετράμε” αυτό το χαρακτήρα.

γ. Θα συνεχίζουμε ομοίως όπως στα προηγούμενα βήματα και για τους υπόλοιπους χαρακτήρες της

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

τελειώσει η πρόταση που εξετάζουμε).

δ. Ο αλγόριθμος θα ενημερώνει το χρήστη για το πλήθος των χαρακτήρων της πρότασης (εννοείται ότι η

τελεία δεν συμπεριλαμβάνεται στους χαρακτήρες της πρότασης).

15.Η θεατρική παράσταση «ΑΧ!!» είχε μεγάλη επιτυχία,την παρακολούθησαν και…50 άτομα

διαφορετικής ηλικιας. Να γραφεί πρόγραμμα που:

α)Να διαβάζει την ηλικία του κάθε ατόμου που παρακολούθησε την θεατρική παράσταση εξασφαλίζοντας

ότι είναι θετική τιμή.

β)Να υπολογίζει και να εμφανίζει:

1. το πλήθος των ατόμων με ηλικία κάτω απο 18 ετών,

2. το πλήθος των ατομων με ηλικία πάντω από 55 ετών,

3. τον μέσο όρο ηλίκίας των θεατών της παράστασης,

4. το ποσοστό των θεατών με ηλικία από 30 εώς 40 ετών.

16.Ο Παπαδόπουλος έχει την υποψία ότι στο κτήμα σε κάποιο βάθος υπάρχει κοίτασμα πετρελαίου.

Έτσι σκοπεύει να κάνει γεώτρηση,η συμφωνία με τον με τον χειρίστη του γεωτρύπανου ήταν το 1ο μετρό

να κοστίζει 5 ευρώ και καθώς το βάθος αυξάνεται η τιμή κάθε μέτρου να αυξάνεται κατά 1,5 ευρώ

Ο Παπαδόπουλος διαθέτει 10000 ευρώ. Να γράψετε πρόγραμμα που θα υπολογίσει το βάθος που μπορεί

να φτάσει η γεώτρηση στο κτήμα του Παπαδοπούλου.

Να μην χρησιμοποιηθούν τύποι αθροίσματος όρων αριθμητικής προόδου.

17.(Εξετάσεις 2014) Ένας πελάτης αγοράζει προϊόντα από ένα κατάστημα. Να αναπτύξετε αλγόριθμο ο

οποίος για κάθε προϊόν που αγοράζει ο πελάτης θα διαβάζει τον κωδικό του, τον αριθμό τεμαχίων που

αγοράστηκαν και την τιμή τεμαχίου. Η διαδικασία ανάγνωσης να στάματα όταν δοθεί ως κωδικός ο

αριθμός 0.

Αν ο λογαριασμός δεν υπερβαίνει τα 500 ευρώ, θα εμφανίζει το μήνυμα «πληρωμή τοις μετρητοίς

Διαφορετικά, θα υπολογίζει και θα εμφανίζει το πλήθος των απαιτουμένων για την εξόφληση δόσεων,

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

κάθε επόμενο μήνα θα αυξάνεται κατά 5 ευρώ, μέχρι να εξοφληθεί το συνολικό πόσο.

Ο αλγόριθμος θα υπολογίζει και θα εμφανίζει τον συνολικό αριθμό τεμαχίων με τιμή τεμαχίου

μεγαλύτερη των 10 ευρώ. Επίσης , θα υπολογίζει και θα εμφανίζει τον συνολικό αριθμό των τεμαχίων με

την μέγιστη τιμή τεμαχίου.

18. Να γίνει αλγόριθμος που θα δέχεται κάποιον αριθμό και θα υπολογίζει τον αριθμό των ψηφίων του.

19.Να αναπτύξετε αλγόριθμο ο οποίος θα δέχεται έναν οποιονδήποτε ακέραιο αριθμό και θα υπολογίζει

το άθροισμα των ψηφίων του.

Page 35: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 35 από 87

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

της (μέγιστο φορτίο 0C ).Ο χρόνος (σε ώρες) που απαιτείται για να φορτιστεί μια πλήρως αποφορτισμένη

μπαταρία με ηλεκτρικό φορτίο C δίνεται από τον τύπο 0

Ct κ ln(1 )

C= − −

Όπου κ να είναι μια σταθερά που εξαρτάται από τον τύπο της μπαταρίας.

Να γραφεί πρόγραμμα το οποίο θα διαβάζει επαναληπτικά για ένα πλήθος μπαταριών την σταθερά κ ,

το μέγιστο φορτίο τους 0C και φορτίο C και θα εμφανίζει τον χρόνο σε ώρες που απαιτείται για την

φόρτιση τους με ηλεκτρικό φορτίο C .Η επανάληψη θα τερματίζει όταν δοθεί ως κ η τιμή 0.

21.* Να αναπτύξετε πρόγραμμα το οποίο να διαβάζει το όνομα και το βάρος αγνώστου αριθμού αθλητών

και θα εμφανίζει τα ονόματα των τριών βαρύτερων κατά φθίνουσα σειρά. Η εισαγωγή των στοιχείων θα

τερματίζεται όταν δoθει ως είσοδος στο όνομα το κενό.Θεωρούμε δεδομένο ότι τα βάρη των αθλητών είναι

όλοι θετικοί πραγματικοί αριθμοί διαφορετικοί μεταξύ τους.

22.(Εξετάσεις 2016) Ένας μαθητής αγόρασε ένα εξωτερικό δίσκο χωρητικότητας 1000 GB ,προκειμένου να

αποθηκεύσει σε αυτόν ψηφιακά αρχεία. Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

• Για κάθε ψηφιακό αρχείο που θέλει να αποθηκεύσει ο μαθητής στον εξωτερικό δίσκο θα διαβάζει το

όνομα του και το μέγεθος του (σε GB) και θα ελέγχει αν επαρκεί η διαθέσιμη χωρητικότητα του εξωτερικού

δίσκου. Εφόσον επαρκεί,θα εμφανίζει το μήνυμα «επιτρεπτή αποθήκευση» και θα υπολογίζει την νέα

διαθέσιμη χωρητικότητα του εξωτερικού δίσκου.

• Θα τερματίζει τον έλεγχο της αποθήκευσης ψηφιακών αρχείων στον εξωτερικό δίσκο, όταν το μέγεθος

του αρχείου που θέλει να αποθηκεύσει ο μαθητής είναι μεγαλύτερο από την διαθέσιμη χωρητικότητα του

εξωτερικού δίσκου.

•Θα υπολογίζει και θα εμφανίζει το ποσοστό του αριθμού των αρχείων που αποθηκευτήκαν και έχουν

μέγεθος μεγαλύτερο των 10GB .Θα βρίσκει και θα εμφανίζει τα ονόματα των δυο μικρότερων σε μέγεθος

αρχείων που αποθηκευτήκαν στον εξωτερικό δίσκο.

Να θεωρήσετε :

Α) ότι θα αποθηκευτούν τουλάχιστον δυο αρχεία στον εξωτερικό δίσκο.

Β) ότι τα μεγέθη όλων των αρχείων που αποθηκεύονται είναι διαφορετικά μεταξύ τους.

23.(Εξετάσεις ) Σε κάποιο σχολικό αγώνα, για το άθλημα άλμα εις μήκος καταγράφεται για κάθε αθλητή η

καλύτερη έγκυρη επίδοση του. Τιμής ένεκεν, πρώτος αγωνίζεται ο περσινός πρωταθλητής.Η επιτροπή του

αγώνα διαχειρίζεται τα στοιχεία των αθλητών που αγωνιστήκαν. Να γράψετε αλγόριθμο ο οποίος :

i)Θα ζητάει το ρεκόρ αγώνων και θα το δέχεται,εφόσον είναι θετικό και μικρότερο των 10 μέτρων.

ii) Θα ζητάει για κάθε αθλητή το όνομα και την επίδοση του σε μέτρα,με την σειρά που αγωνίστηκε .

iii)θα εμφανίζει το όνομα του αθλητή με την χειρότερη επίδοση.

iv)Θα εμφανίζει τα ονόματα των αθλητών που κατέρριψαν το ρεκόρ αγώνων. Αν δεν υπάρχουν τέτοιοι

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

μεγαλύτερη των 50 εκατοστών.

v)Θα βρίσκει και θα εμφανίζει την θέση που κατέλαβε στην τελική κατάταξη ο περσινός πρωταθλητής.

Η εισαγωγή στοιχείων των αθλητών θα σταματήσει όταν δοθεί ως όνομα η λέξη «Τέλος».

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

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

αθλητής.

Page 36: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 36 από 87

24.* Να αναπτύξετε πρόγραμμα το οποίο να διαβάζει δυο ακεραίους αριθμούς και να βρίσκει και να

εμφανίζει το Μ.Κ.Δ( μέγιστο κοινό διαιρέτη) και το Ε.Κ.Π (ελάχιστο κοινό πολλαπλάσιο).

(Υπόδειξη : Λυμένο παράδειγμα (12) και χρήση της σχέσης Ε.Κ.Π(x,y)* Μ.Κ.Δ (x,y)=x*y )

25.Η τράπεζα Tsifutis bank έχει την έξης πολιτική επιτοκίων

Ο τοκισμός του ποσού γίνεται κλιμακωτά. Έτσι αν κάποιος καταθέσει 55000 ευρώ, τα πρώτα 10000 ευρώ

θα τοκιστούν με 0,2%, τα επόμενα 10000 ευρώ με 0,4%, τα επόμενα 10000 ευρώ με 0,6% και τα 25000 ευρώ με

0,1%

Να γράψετε πρόγραμμα το οποίο θα δέχεται το ποσό που καταθέτει κάποιος στην τράπεζα και θα

εμφανίζει:

i)τα χρήματα που θα έχει έπειτα από έναν χρόνο,

ii)το συνολικό επιτόκιο που του έδωσε η τράπεζα,

iii)ποιο μέρος του ποσού του τοκίστηκε με το μεγαλύτερο επιτόκιο και ποιο ήταν αυτό ;

26.*Μια από τις πρώτες αριθμομηχανές που κυκλοφόρησαν στο εμπόριο ήταν η Arithmaurel του Γάλλου

Timoleon Maurel. H Arithmaurel ήταν δύσχρηστη και απαιτούσε εκπαίδευση για τον χειρισμό της ,ήταν

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

υπολογισμού της τετραγωνικής ρίζας ήταν εξαιρετικά απλός όσο και ευφυής.

Ουσιαστικά, βασιζόταν στο άθροισμα:

1+3+5+7+..+(2x-1)=x2

Παρατηρούμε ότι το πλήθος των προσθετέων ισούται με x ,έτσι ,αν ένας αριθμός K είναι τέλειο

τετράγωνο τότε μπορούμε να βρούμε την τετραγωνική του ρίζα αφαιρώντας διαδοχικά περιττούς μέχρι

να φτάσουμε στον αριθμό μηδέν. Ο αριθμός των διαδοχικών

αφαιρέσεων που πραγματοποιήθηκαν θα είναι και η τετραγωνική ρίζα

του αριθμού.Για παράδειγμα, αν πάρουμε τον αριθμό 64

Οπότε τετραγωνική ρίζα του 64 είναι το πλήθος των αφαιρέσεων, το 8.

Αν πάλι ο K δεν είναι τέλειο τετράγωνο, από την τελευταία αφαίρεση

θα προκύψει ένας αρνητικός αριθμός. Οπότε ο αριθμός που προκύπτει

από το πλήθος των αφαιρέσεων θα είναι μια προσέγγιση της

τετραγωνικής ρίζας. Για να βρούμε δεκαδική της προσέγγιση μπορούμε

να πολλαπλασιάσουμε με τις δυνάμεις του 100 για κάθε δεκαδικό

ψηφίο που θέλουμε να υπολογίσουμε.

Να γράψετε πρόγραμμα που θα δέχεται ένα αριθμό Κ και θα

επιστρέφει την τετραγωνική του ρίζα αν είναι τέλειο τετράγωνο ή

μια προσέγγιση της σύμφωνα με τον παραπάνω αλγόριθμο.

10001-20000 0,4%

Επιτόκιο % Πόσο κατάθεσης σε ευρώ

0-10000 0,2%

20001-30000 0,6%

Για κάθε επιπλέον 10000 Επιπλέον 0,1%

Αφαίρεση

64-1=63 1η

63-3=60 2η

60-5=55 3η

55-7=48 4η

48-9=39 5η

39-11=28 6η

28-13=15 7η

15-1

5-0

Page 37: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 37 από 87

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

Εντολή “...Μέχρις_ότου’’

Η επαναληπτική αυτή δομή χρησιμοποιείται, όπως και η προηγούμενη, κυρίως όταν δεν είναι από πριν

γνωστό το πλήθος των φορών που θέλουμε να εκτελεστούν κάποιες ενέργειες.

Ο γενικός τρόπος με τον οποίο συντάσσεται η εντολή (σε ψευδοκώδικα) είναι ο εξής:

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

……..Ομάδα Εντολών που επαναλαμβάνεται….

Μέχρις_ότου συνθήκη_Τερματισμού

Ονομάζουμε τη συνθήκη “συνθήκη τερματισμού” επειδή όταν αυτή (τελικά) ισχύσει, τότε θα

σταματήσουν να εκτελούνται οι εντολές της ομάδας μέσα στην επαναληπτική δομή.

Όσο η συνθήκη είναι ΨΕΥΔΗΣ συνεχίζονται οι εντολές του βρόχου (σε αντίθεση με την όσο…επανάλαβε)

Η δομή αυτή μπορεί να περιγραφεί ως εξής:

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

αληθής.

Τα βήματα εκτέλεσης της δομής αυτής είναι τα παρακάτω:

Βήμα 1. Εκτελούνται όλες οι εντολές της ομάδας εντολών

Βήμα 2.Ελέγχεται η συνθήκη τερματισμού. Αν αυτή είναι ψευδής, η εκτέλεση συνεχίζεται με το βήμα 1,

ενώ αν είναι αληθής, η εκτέλεση συνεχίζεται με το βήμα 3

Βήμα 3. Βγαίνουμε από την επαναληπτική δομή και εκτελείται η αμέσως επόμενη εντολή μετά το

Μέχρις_ότου συνθήκη_Τερματισμού.

Η επαναληπτική δομή “…μέχρις_ότου” παρουσιάζει κοινά χαρακτηριστικά

αλλά και διαφορές με τη δομή “όσο...επανέλαβε”.

1. Ομοιότητα υπάρχει στην ανάγκη ύπαρξης εντολών για αρχική τιμή και αύξηση του μετρητή (αν βέβαια

η άσκηση απαιτεί μετρητή. Υπάρχει περίπτωση να μην χρειάζεται).

2. Ομοιότητα είναι ότι και οι δύο αυτές δομές χρησιμοποιούνται κυρίως (ταιριάζουν καλύτερα) όταν δεν

ξέρουμε εκ των προτέρων το πλήθος των φορών της επανάληψης.

3. Μία διαφορά τους είναι ότι η δομή “όσο...επανάλαβε” έχει τη συνθήκη στην αρχή ενώ η δομή

“...μέχρις_ότου” την έχει στο τέλος. Συνέπεια αυτού είναι το γεγονός ότι:

Υπάρχει περίπτωση να μην εκτελεστούν ούτε μία φορά οι εντολές της δομής “όσο ...επανάλαβε” αν

η συνθήκη είναι εξαρχής ψευδής, ενώ οι εντολές της δομής “...μέχρις_ότου” θα εκτελεστούν

οπωσδήποτε, τουλάχιστον μία φορά.

4. Στη δομή “...μέχρις_ότου” δε χρειάζεται ο προγραμματιστής να φροντίσει να δώσει αρχική τιμή στη

μεταβλητή (ή στις μεταβλητές) που συμμετέχουν στη συνθήκη, προτού εισέλθουμε στη δομή. Κάτι τέτοιο

όμως ήταν απαραίτητο στη δομή “όσο ...επανάλαβε”.

5. Μπορούμε να λύσουμε την ίδια άσκηση και με τις δύο δομές. Όταν όμως προσαρμόζουμε τη λύση από τη

μία δομή στην άλλη, θα πρέπει να “αντιστρέφουμε” τη συνθήκη προκειμένου να παίρνουμε το ίδιο

αποτέλεσμα. Αυτό θα φανεί στις ασκήσεις παρακάτω.

Page 38: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 38 από 87

Λυμένες ασκήσεις

1.Να γράψετε αλγόριθμο, ο οποίος θα υπολογίζει και θα τυπώνει το άθροισμα των αριθμών από

1.......Ν, όπου Ν ακέραιος αριθμός. (θεωρούμε ότι ο χρήστης θα εισάγει θετικό ακέραιο αριθμό Ν)

Λύση

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

Διάβασε Ν

Σ 0←

i 1←

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

Σ←Σ+i

i i 1← +

Μέχρις_ότου i>N

Εκτύπωσε Σ

Τέλος Άθροισμα

Η αύξηση του μετρητή 1 κατά ένα, αποσκοπεί στο να μετατραπεί σε Αληθής η συνθήκη i>Ν σε

πεπερασμένο αριθμό εντολών.

2.Να γράψετε τον αλγόριθμο, ο οποίος θα υπολογίζει και θα τυπώνει το γινόμενο των αριθμών από

1…1980.

Λύση

Αλγόριθμος Γινόμενο

Π 1←

i 1←

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

* i

i i 1

Π ← Π

← +

Μέχρις_ότου i>1980

Εκτύπωσε Π

Τέλος Γινόμενο

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

εκτυπώνει το ποσοστό αυτών που είναι πολλαπλάσια του 13. Ο αλγόριθμος θα τερματίζεται όταν

εισαχθεί ο αριθμός 0

Λυση

Αλγόριθμος Πολλαπλάσια_13

πολλαπλάσια ← 0

πλήθος ← 0

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

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

Αν (αριθμός <> 0) και (αριθμός mod 13 = 0) τότε

πολλαπλάσια ← πολλαπλάσια + 1

Τέλος_Αν

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

Μέχρις_Ότου αριθμός = 0

ποσοστό ← 100 * πολλαπλάσια / πλήθος

Εκτύπωσε "Τα πολλαπλάσια του 13 ήταν το ", ποσοστό, "% των αριθμών που διαβάστηκαν"

Τέλος Πολλαπλάσια_13

Page 39: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 39 από 87

4.Απο έρευνες έχει φανεί ότι μια κοινότητα αρκούδων πάντα υπό κανονικές συνθήκες αναπτύσσεται

με ρυθμό 0.48 % ετησίως. Αν σε ένα δασός υπάρχουν 200 αρκούδες σε πόσα έτη οι αρκούδες θα

γίνουν περισσότερες από 100;

Λύση

Δεδομένου ότι δεν είναι γνωστό το πλήθος των επαναλήψεων που θα χρειαστούν θα χρησιμοποιήσουμε

την δομή επανάληψης Μέχρις_Ότου. στη δομή θα εντάξουμε και την μεταβλητή Έτη που θα μετρά τα

χρόνια

Αλγόριθμος Bear

Αρκούδες ← 200

Ρυθμός ← 0.048

Όριο ← 100

Έτη ← 0

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

Αρκούδες ← Αρκούδες * (1 + Ρυθμός)

Έτη ← Έτη + 1

Μέχρις_Ότου Αρκούδες > Όριο

Εκτύπωσε "Το όριο θα ξεπεραστεί σε ", Έτη

Τέλος Bear

Ασκήσεις Τετραδίου Μαθητή

ΔΣ3. Ένας καταναλωτής πηγαίνει στο πολυκατάστημα και έχει στην τσέπη του 5.000 ευρώ. Ξεκινά

να αγοράζει διάφορα είδη και ταυτόχρονα κρατά το συνολικό ποσό στο οποίο έχει φθάσει κάθε

στιγμή που αγοράζει κάποιο είδος. Οι τιμές των ειδών που αγοράζει είναι σε δραχμές και είναι

δεδομένο ότι 1 ευρώ= 330 δραχμές. Να γραφτεί σε φυσική γλώσσα, με ακολουθία βημάτων και με

διάγραμμα ροής ένας αλγόριθμος για τον υπολογισμό του ποσού από τα ψώνια που έγιναν και να

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

Λύση

Αλγόριθμος Πολυκατάστημα

προϋπολογισμός ← 5000 / 330 ! μετατροπή σε ευρώ

κόστος ← 0

έξοδος ← ψευδής

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

Διάβασε τιμή_προϊόντος ! διαβάζω ποσό σε ευρώ

Αν κόστος + τιμή_προϊόντος < προϋπολογισμός τότε

κόστος ← κόστος + τιμή_προϊόντος

Αλλιώς

έξοδος ← αληθής

Τέλος_Αν

Μέχρις_Ότου έξοδος = αληθής

ρέστα ← προϋπολογισμός - κόστος

Αποτελέσματα // κόστος, ρέστα //

Τέλος Πολυκατάστημα

Page 40: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 40 από 87

Page 41: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 41 από 87

ΆΛΥΤΕΣ ΑΣΚΗΣΕΙΣ

1.Πόσες φορές θα εκτελεστεί κάθε μία από τις παρακάτω επαναληπτικές δομές;

i) ii)

y 2←

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

y y 2← −

μέχρις_ότου y 0<=

y 2←

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

y y 1← −

μέχρις_ότου y 0<

iii) iv)

y 2←

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

y y 1← +

μέχρις_ότου y 2>

y 0←

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

y y 2← +

μέχρις_ότου y 7=

2.Τι τιμές παίρνουν οι μεταβλητές σε κάθε βήμα του παρακάτω τμήματος αλγορίθμου και τι εμφανίζεται

στην οθόνη;

x 1←

y 0←

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

γράψε x,y

← +x x 2

y y 2← +

μέχρις_ότου x+y > 9

γράψε y

γράψε x

3.Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου.Τί θα εκτυπωθεί τελικά;

Αλγόριθμος Πίνακας_Τιμών10

β ← 0

γ ← 2

Για i από 1 μέχρι 3

α ← 20 * i

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

β ← β + α div 4

α ← γ + α

Μέχρις_Ότου (β > 20 * i)

β ← (3 * α) div 2

γ ← α div γ

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

Εμφάνισε α, β

Τέλος Πίνακας_Τιμών10

4.Να γράψετε αλγόριθμο ο οποίος θα υπολογίζει και θα τυπώνει την τιμή της μεταβλητής Κ = 3α - 5β για

διάφορα ζεύγη (α, β) μέχρι το Κ να πάρει τιμή μεγαλύτερη του 100.

5 .Μελετώντας τη συμπεριφορά της συνάρτησης Υ=4Α-Β/2, θέλουμε να εντοπίσουμε το ζεύγος τιμών των Α

και Β για τα οποία το Υ παίρνει τιμή μεγαλύτερη του 1000. Να γράψετε αλγόριθμο ο οποίος θα διαβάζει τις

τιμές των Α και Β και θα υπολογίζει και θα τυπώνει την τιμή του Υ. Ο υπολογισμός αυτός να

επαναλαμβάνεται μέχρι ο χρήστης να δώσει τις τιμές Α=0 και Β=0 ή το αποτέλεσμα του υπολογισμού να

είναι μεγαλύτερο του 1000.

Page 42: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 42 από 87

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

ή μέχρι να εισαχθούν 20 αρνητικοί αριθμοί και να εκτυπώνεται το ποσοστό θετικών και αρνητικών

αριθμών που εισήχθησαν

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

ξεπερνά την τιμή 500. Nα εκτυπώνεται το πλήθος των αριθμών που διαβάστηκαν

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

εισαχθεί αρνητικός αριθμός. Να εκτυπώνεται:

i. Το πλήθος των αριθμών που διαβάστηκαν.

ii. Ο μέσος όρος των στοιχείων που διαβάστηκαν.

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

iv. Ο μικρότερος αριθμός που διαβάστηκε.

v. Το πλήθος των άρτιων αριθμών που διαβάστηκαν.

vi. Το πλήθος των περιττών αριθμών που διαβάστηκαν.

vii. Ο μέσος όρος των άρτιων αριθμών που διαβάστηκαν.

viii. Ο μέσος όρος των περιττών αριθμών που διαβάστηκαν.

9.Ο συντελεστής ΦΠΑ για τα προϊόντα του εμπορικού καταστήματος "Κατάστημα ενδυμάτων" σε

συσχέτιση με τον κωδικό τους δίνεται στον επόμενο πίνακα :

Κωδικός προϊόντος Συντελεστής ΦΠΑ %

Ζ11 12

Γ78 14

Ο11 16

Να αναπτυχθεί πρόγραμμα που θα διαβάζει για μια παραγγελία τους κωδικούς των προϊόντων, τα

τεμάχια και την τιμή τους (χωρίς ΦΠΑ) και να εκτυπώνει το πληρωτέο ποσό. Πρέπει να επισημανθεί ότι η

επανάληψη θα τερματίζεται όταν δοθεί ο κωδικός "Τέλος"

10.Η χρέωση (κλιμακωτή) στους λογαριασμούς της εταιρείας SOYPA MOYPES PHONE το μήνα Ιανουάριο

είναι η εξής:

Πάγιο: 10 €

Αστικές μονάδες: 0.02 € ανά μονάδα

Υπεραστικές μονάδες:

0 - 100 0.015 € ανά μονάδα

101 - 300 0.019 € ανά μονάδα

301 - 0.013 € ανά μονάδα

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

τις υπεραστικές μονάδες που κατανάλωσε και να εκτυπώνει το ποσό του λογαριασμού του, μέχρι να

διαβαστεί ως όνομα του "Τέλος". Επίσης είναι γνωστό ότι κάθε μήνα,η εταιρεία επιλέγει ένα γράμμα της

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

1%.Το μήνα Ιανουάριο το γράμμα είναι το «Ω».

Το πρόγραμμα πρέπει να επιστρέφει στο τέλος το συνολικό ποσό εισπράξεων της SOYPA MOYPES

PHONE.

11.Να γίνει αλγόριθμος ο οποίος να δέχεται πραγματικούς θετικούς αριθμούς μέχρι το άθροισμά τους να

ξεπεράσει το 2000. Ο αλγόριθμος αυτός να εμφανίζει τον μέσο όρο των αριθμών αυτών.

12. Να γίνει αλγόριθμος που θα υπολογίζει το πλήθος των όρων που μπορούν να προστεθούν στην

παρακάτω παράσταση έτσι, ώστε το άθροισμα να μην ξεπεράσει το 2017.

S=1+2+4+7+11+16+…

13.Να αναπτύξετε αλγόριθμο οποίος θα υπολογίζει τη σειρά

i)2 2 2 23 6 9 ......... 102Σ = + + + +

ii)2 2 23 6 9 .........Σ = + + + μέχρι το άθροισμα να ξεπεράσει το

5100 .

Βαλε κανένα ερώτημα. Λίγα

έχεις!!!

Page 43: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 43 από 87

14. Δίνεται η εξής εκφώνηση στους μαθητές μίας τάξης

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

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

βρόχο δεν θα συμπεριλαμβάνεται στο άθροισμα.

Σαν λύση δόθηκαν οι παρακάτω, από δύο μαθητές

1η Λύση

Αλγόριθμος Πρώτος

S<-0

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

Διάβασε x

S<-S+x

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

Εμφάνισε S

Τέλος Πρώτος

2η Λύση

Αλγόριθμος Δεύτερος

S<-0

Διάβασε x

Όσο x>=0 επανάλαβε

Διάβασε x

S<-S+x

Εμφάνισε S

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

Τέλος Δεύτερος

1. Να εκτελεστούν οι δύο παραπάνω αλγόριθμοι για τις ακόλουθες τιμές του x (5, 10, 12, 3, -6) και να

δώσετε το αποτέλεσμα που εμφανίζεται.

2. Με βάση το προηγούμενο ερώτημα 1, να επισημάνετε και να διορθώσετε τα λάθη στις παραπάνω λύσεις

ΟΡΘΗ ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ( ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ ΜΕ ΧΡΗΣΗ ΩΣ ΦΡΟΥΡΟΣ

Πολλές φορές κάποιο στοιχείο εισόδου σε αλγόριθμο πρέπει να ικανοποιεί κάποια κριτήρια, για

παράδειγμα ο βαθμός ενός μαθητή πρέπει να παίρνει τιμές από το 0 μέχρι και το 20. Οι εισαχθείσες τιμές

μπορούν να ελεγχθούν με δομή επιλογής και να ζητηθούν εκ νέου οι τιμές, αλλά αν ο χρήστης δώσει

πολλές φορές λανθασμένες τιμές τότε ο αλγόριθμος δεν μπορεί να το ελέγξει. Οπότε μια απλή δομή

επιλογής δεν μπορεί να αντιμετωπίσει το πρόβλημα αυτό. Χρειαζόμαστε μια δομή επανάληψης με τη

λογική: ‘’δώσε συνέχεια τιμές ΜΕΧΡΙΣ ΟΤΟΥ να βάλεις επιτρεπτές τιμές’’.Σε αυτό θα μας βοηθήσει η δομή

Αρχή_Επανάληψης …Μέχρις_ότου (μπορώ να χρησιμοποιήσω και την όσο αλλά είναι πιο σύνθετη)

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

Εμφάνισε ‘Δώστε το βαθμό ενός μαθητή’

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

Μέχρις_ότου βαθμός>=0 και βαθμός=<20

Αυτό σημαίνει ότι αν εισάγω σαν βαθμό 25, αυτός δεν ικανοποιεί τη συνθήκη τερματισμού οπότε θα μου

ζητήσει εκ’ νέου καινούριο βαθμό μέχρι να δώσω επιτρεπτή τιμή.

Λυμένες ασκήσεις

1.Να γραφεί αλγόριθμος που να διαβάζει έναν κρυφό κωδικό. Αν δοθεί τρεις φορές λάθος, δεν

επιτρέπει την είσοδο στον Αλγόριθμο.

Λύση

Αλγόριθμος Κωδικός

password 123456←

i 1←

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

Εμφάνισε “Δώσε Κωδικό”

Διάβασε code

Αν code = password τότε

εκτύπωσε “Είσοδος Ελεύθερη”

αλλιώς

Page 44: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 44 από 87

εκτύπωσε “Λάθος Κωδικός”

Τέλος_αν

i i 1← +

Μέχρις_ότου (code = password) ή i 3>

Τέλος Κωδικός

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

Λύση

ΠΡΟΓΡΑΜΜΑ Ελεγχος

ΜΕΤΑΒΛΗΤΕΣ

ΠΡΑΓΜΑΤΙΚΕΣ: αριθμός

ΑΡΧΗ

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

ΔΙΑΒΑΣΕ αριθμός

ΜΕΧΡΙΣ_ΟΤΟΥ Α_Μ(αριθμός)= αριθμός

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΆΛΥΤΕΣ ΑΣΚΗΣΕΙΣ

1.Να γίνει αλγόριθμος που θα εισάγει στον αλγόριθμο έναν άρτιο αριθμό.

2.Να γίνει αλγόριθμος που θα εισάγει στον αλγόριθμο έναν άρτιο αριθμό, το πολύ με τρεις προσπάθειες.

3.Να γίνει αλγόριθμος που θα εισάγει στον αλγόριθμο έναν τετραψήφιο αριθμό.

4.Να γίνει αλγόριθμος που θα εισάγει στον αλγόριθμο ένα θετικό αριθμό.

5.Να γίνει αλγόριθμος που θα εισάγει στον αλγόριθμο έναν θετικό περιττό αριθμό.

6.Να γίνει αλγόριθμος που θα εισάγει στον αλγόριθμο ένα πολλαπλάσιο του 2017.

7.Να γίνει αλγόριθμος που θα εισάγει στον αλγόριθμο ένα ονοματεπώνυμο με πρώτο γράμμα το Β.

8.Να γίνει αλγόριθμος που θα εισάγει στον αλγόριθμο μία τιμή σε μεταβλητή, η οποία παίρνει μόνο τις

τιμές ‘ΣΩΣΤΟ’ ή ‘ΛΑΘΟΣ’

9.Να γίνει αλγόριθμος που θα εισάγει στον αλγόριθμο ένα φωνήεν.

10.Να γίνει αλγόριθμος που θα εισάγει στον αλγόριθμο ένα τετραψήφιο πολλαπλάσιο του 3333.

11.Σε κάποια εξεταστική δοκιμασία ένα γραπτό αξιολογείται από δύο βαθμολογητές στη βαθμολογική

κλίμακα [0,100]. Αν η διαφορά μεταξύ των δύο βαθμολογιών του α’ και του β’ βαθμολογητή είναι

μικρότερη ή ίση των 20 μονάδων της παραπάνω κλίμακας, ο τελικός βαθμός είναι ο μέσος όρος των δύο

βαθμολογιών. Αν η διαφορά μεταξύ των δύο βαθμολογιών του α’ και του β’ βαθμολογητή είναι

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

τελικός βαθμός του γραπτού προκύπτει τότε από τον μέσο όρο των τριών βαθμολογιών.

Να αναπτύξετε αλγόριθμο ο οποίος, αφού ελέγξει την εγκυρότητα των βαθμών στην βαθμολογική

κλίμακα [0,100], να υλοποιεί την παραπάνω διαδικασία εξαγωγής τελικού βαθμού και να εμφανίζει τον

τελικό βαθμό του γραπτού στην εικοσαβάθμια κλίμακα.

12. Να γραφεί πρόγραμμα που :

α) Θα διαβάζει με ελεγχο εγκυροτητας , το ανώτατο όριο της τιμής πώλησης της απλής αμόλυβδης

βενζίνης(θετικός πραγματικός αριθμός) στην πολη ΧΧΧ καθως και το πληθος των πρατηριων της

πολαηας ΧΧΧ ( θετικος ακέραιος αριθμός ).

β) Για κάθε ένα τα πρατήρια υγρών καυσίμων της πολης ΧΧΧ θα διαβάζει την τιμή πώλησης σε ευρώ της

απλής αμόλυβδης βενζίνης.

γ) Θα υπολογίζει και θα εμφανίζει το πλήθος των πρατηρίων με τιμή πώλησης πάνω από το ανώτατο όριο.

δ) Θα υπολογίζει και θα εμφανίζει το ποσοστό των πρατηρίων του ερωτήματος γ

Η συνθήκη για να είναι

ένας αριθμός Χ ακέραιος

είναι Α_Μ(x)=x

Page 45: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 45 από 87

13.Ποιο είναι το αποτέλεσμα (Δ,Μ) του παρακάτω τμήματος προγράμματος αν δοθεί ως είσοδος:

i) π= 1500 ii) π= 500 ii) π= 60000

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

ΔΙΑΒΑΣΕ Π

ΜΕΧΡΙΣ_ΟΤΟΥ Π >= 0

ΑΝ Π >=1000 ΚΑΙ Π <= 3000 ΤΟΤΕ

Δ <-- 1.2

ΑΛΛΙΩΣ_ΑΝ Π <= 6000

Δ <-- 2.0

ΑΛΛΙΩΣ ! ΧΩΡΙΣ ΣΥΝΘΗΚΗ

Δ <-- 3.0

ΤΕΛΟΣ_ΑΝ

Κ<-- -3.2

ΑΝ A_M(Κ)=-3 ΤΟΤΕ

Μ<-- 2

ΑΛΛΙΩΣ

Μ<-- 4

ΤΕΛΟΣ_ΑΝ

14.Στα κινητά τηλέφωνα μάρκας «σουπα μουπες phones» που δραστηριοποιούνται σε αγοραστικό κοινό με

..ασθενή μνήμη ,o χρήστης έχει 20 (!!) προσπάθειες για την εισαγωγή του κωδικού (Pin), όταν ανοίγει το

κινητό του. Αν ο ο κωδικός είναι ο 6666 ,να γράψετε πρόγραμμα που να δέχεται τον κωδικό από τον χρήστη

και, αν αυτός είναι σωστός, τότε να εμφανίζει το μήνυμα «ο κωδικός είναι σωστός» και στην συνέχεια το

πρόγραμμα να τερματίζει.

Σε διαφορετική περίπτωση να εμφανίζει το μήνυμα «ξαναπροσπάθησε» και η παραπάνω διαδικασία να

επαναλαμβάνεται, εκτός εάν πρόκειται για την εικοστή προσπάθεια , οπότε πρέπει να εμφανίζει το

μήνυμα «ωπα μεγάλε το κινητό κλείδωσε!!» και το πρόγραμμα να τερματίζει.

15.Το ταξιδιωτικό γραφείο O Ταξιδιάρης διοργανώνει μια Χριστουγεννιάτικη 5-ήμερη εκδρομή στη

Γουαδελούπη με συνολικό προϋπολογισμό 15000 €. Το εισιτήριο κατά άτομο είναι 120 €. Για κρατήσεις άνω

των 6 ατόμων προβλέπονται εκπτώσεις 15%. Να αναπτυχθεί προγραμμα που θα διαβάζει επαναληπτικά

κρατήσεις θέσεων για την εκδρομή διαβάζοντας για κάθε κράτηση το όνομα και τον αριθμό των ατόμων

και να εκτυπώνει το κόστος για το όνομα αυτό. Μετά από κάθε κράτηση να ερωτάται ο χρήστης αν

επιθυμεί να συνεχίσει. Τέλος, να εκτυπωθεί το ποσό που κέρδους ή ζημίας του ταξιδιωτικού γραφείου.

16(bonus).Να γράψετε πρόγραμμα το οποίο θα διαβάζει ένα μη αρνητικό ακέραιο αριθμό n και θα

υπολογίζει το n-οστο όρο της ακολουθίας Fibonacci όπως αυτή περιγράφεται στον παρακάτω τύπο.

1 2

0, 0

1, 1 ,

, 1n

n n

n

f n n

f f n− −

=

= = ∈ + >

17. Ο Ινδός μαθηματικός και αστρονόμος Madhava (1340 μ.Χ–1425 μ.Χ) υπολόγισε την τιμή του π σύμφωνα

με τη σχέση:

+⋅

−⋅

+⋅

−⋅

+⋅

−= ...311

1

39

1

37

1

35

1

33

1112

5432π

(https://en.wikipedia.org/wiki/Madhava_of_Sangamagrama)

Page 46: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 46 από 87

Να φτιαχτεί πρόγραμμα που θα διαβάζει σαν είσοδο ένα θετικό αριθμό κ μικρότερο του 0.1

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

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

Το πρόγραμμα θα εκτυπώνει την τιμή του π που υπολόγισε, καθώς και το πλήθος των όρων του

αθροίσματος που χρειάστηκαν μέχρι να ικανοποιηθεί η συνθήκη διακοπής.

18. Η σχολή θετικών επιστημών ενός πανεπιστήμιου έχει 4 τμήματα .Κάθε τμήμα δέχεται κάθε χρόνια 150

φοιτητές .Η πρυτανεία αποφάσισε για το τρέχον έτος να κάνει μια στατιστική μελέτη για κάθε τμήμα .

Έτσι , αποφάσισε να υπολογίσει το ποσοστό των αριστούχων , δηλ των νεοεισαχθέντων φοιτητών με

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

εισαγωγής των φοιτητών να υπολογίζει και να εμφανίζει :

i)το ποσοστό των αριστούχων κάθε τμήματος.

ii)Σε ποιο τμήμα εισήχθηκε ο φοιτητής με το μεγαλύτερο βαθμό.

19. Μια ομάδα επιστημόνων υπολογίζει και επεξεργάζεται την ηλικία διάφορων αντικειμένων σε έτη για

να εξάγει κάποια συμπεράσματα. Να γράψετε πρόγραμμα το οποίο:

Α. Να διαβάζει την ηλικία (σε χρόνια) ενός αντικειμένου (Η ηλικία είναι 4-ψήφιος αριθμός να γίνεται

έλεγχος εγκυρότητας ).

Β. Μετατρέπει την ηλικία σε χιλιετηρίδες,εκατονταετίες και χρόνια.Για παράδειγμα,αν η ηλικία ενός

αντικειμένου είναι: 4130 χρόνια,το πρόγραμμα θα εμφανίζει: χιλιετίες 4 , εκατονταετίες 1, χρόνια 30.

Γ) Θα εμφανίζει σε ποιόν αιώνα ανήκει το αντικείμενο.

(για παράδειγμα,αν η ηλικία είναι 1965 έτη τότε είμαστε στην εκατονταετία από 1901 μ.Χ (*) μέχρι 2000 μ.Χ,

θα εμφανίζει 20 αιώνας μ.χ ενώ αν η ηλικία είναι 2040 τότε 2040-2016=24 τότε είμαστε στην εκατονταετία

από 1 π.Χ μέχρι 100 π.Χ άρα θα εμφανίζει 1 αιώνας π.Χ)

Δ) Στην περίπτωση που χρονολογείται προ Χριστού,να εμφανίζει ένα μήνυμα ανάλογα σε ποια Ιστορική

περίοδο ανήκει σύμφωνα με το παρακάτω πίνακα

Εποχή Α 10.000 – 7.000 π.χ

Εποχή Β 7.000 – 3.000 π.χ

Εποχή Γ 3.000 – 1.000 π.χ

Εποχή Δ 1.000 – 1 π.χ

Παρατηρήσεις

•Για κάθε υπολογισμό θεωρούμε ότι το τρέχον έτος είναι το 2016 και σημειώνουμε ότι δεν υπήρξε έτος

μηδέν.

•Κάθε αιώνας μετράει από το πρώτο έτος μετά το κλείσιμο της προηγούμενης εκατονταετίας μέχρι το

τελευταίο της τρέχουσας. Δηλ από 1901 μ.Χ. μέχρι 2000 μ.Χ. έχουμε τον 20ο αιώνα μ.Χ. Ανάλογα για τις

χιλιετηρίδες.

(*)μ.Χ. Είναι συντομογραφία για το «μετά Χριστόν» και δηλώνει την περίοδο από την γέννηση του Ιησού

Χριστού και έπειτα.Αρχίζει από το έτος 1 και συνεχίζει έως σήμερα και προς το μέλλον. Αντίστοιχα η

περίοδος πριν την γέννηση του Χριστού σημαίνεται ως π.Χ. (προ Χριστού) και ξεκινά από το 1 π.Χ., δηλαδή

ένα έτος πριν τη γέννηση του Χριστού και συνεχίζει προς το παρελθόν. Τρόπος μέτρησης του χρόνου

χρησιμοποιείται στην πλειονότητα των χριστιανικών κρατών του κόσμου.

Page 47: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 47 από 87

20.Μία Νομαρχία διοργάνωσε το 2017 σεμινάριο εθελοντικής δασοπυρόσβεσης, το οποίο παρακολούθησαν

50 άτομα.Η Πυροσβεστική Υπηρεσία ζήτησε στοιχεία σχετικά με την ηλικία, το φύλο και το μορφωτικό

επίπεδο εκπαίδευσης κάθε εθελοντή, προκειμένου να εξαγάγει στατιστικά στοιχεία.

Να γραφεί πρόγραμμα,το οποίο:

α. διαβάζει για κάθε άτομο:

• το ονοματεπώνυμο,

• το έτος γέννησης (χωρίς να απαιτείται έλεγχος εγκυρότητας),

• το φύλο, με αποδεκτές τιμές το “Α” για τους άνδρες και το “Γ” για τις γυναίκες, (με έλεγχο

εγκυρότητας),

• το μορφωτικό επίπεδο εκπαίδευσης, με αποδεκτές τιμές “Π”, “Δ” ή “Τ”, που αντιστοιχούν σε

Πρωτοβάθμια, Δευτεροβάθμια ή Τριτοβάθμια Εκπαίδευση (χωρίς να απαιτείται έλεγχος εγκυρότητας),

β. υπολογίζει και εμφανίζει το πλήθος των ατόμων με ηλικία μικρότερη των 30 ετών.

γ. υπολογίζει και εμφανίζει το ποσοστό των γυναικών με επίπεδο Τριτοβάθμιας Εκπαίδευσης στο σύνολο

των εθελοντριών.

δ. θα εμφανίζει τα ονοματεπώνυμα των δυο μικρότερων σε ηλικία εθελοντριών.

Να θεωρήσετε ότι οι ηλικίες όλων των εθελοντών είναι διαφορετικές μεταξύ τους.

21.Ένα κατάστημα εποχιακών ειδών πουλάει για την περίοδο των Χριστουγέννων στολίδια και λαμπάκια

για το δέντρο. Τα ράφια του μαγαζιού χωράνε μέχρι 1000 στολίδια και λαμπάκια μαζί. Να αναπτύξετε

αλγόριθμο ο οποίος :

Να διαβάζει την ποσότητα των λαμπακίων και των στολιδιών που υπάρχουν αρχικά στο μαγαζί μέχρι να

δοθεί έγκυρη τιμή ώστε η ποσότητα των λαμπακίων να είναι μέχρι και 400 και η ποσότητα των στολιδιών

μέχρι και 600.

Για κάθε άτομο που εισέρχεται στο μαγαζί :

Να διαβάζει τον τύπο του, «Ε» για έμπορο που προμηθεύει το μαγαζί και «Κ» για καταναλωτή που

προμηθεύεται από το μαγαζί προϊόντα.

Αν το άτομο που εισέρχεται στο μαγαζί είναι Έμπορος , να γεμίζει τα ράφια του μαγαζιού μέχρι την

πλήρωσή τους. Υποθέτουμε πως ο έμπορος γεμίζει με αποδεκτό αριθμό και από τα 2 είδη προϊόντων τα

ράφια του μαγαζιού.

Αν το άτομο είναι Καταναλωτής τότε να διαβάζει την ποσότητα λαμπακίων και στολιδιών την οποία θέλει

να προμηθευτεί και αν υπάρχει επάρκεια στο μαγαζί και από τα 2 είδη τότε να εξυπηρετείται. Διαφορετικά

ο καταναλωτής να μην εξυπηρετείται.

Η επαναληπτική διαδικασία να τερματίζεται όταν αδειάσουν τα ράφια ή όταν δεν εξυπηρετηθούν 5

διαδοχικοί καταναλωτές.

Στο τέλος ο αλγόριθμος να εμφανίζει:

Τη μέση ποσότητα από λαμπάκια και τη μέση ποσότητα από στολίδια ανά καταναλωτή που

εξυπηρετήθηκε.

Τη συνολική ποσότητα (αριθμός τεμαχίων) από λαμπάκια και στολίδια που οι έμποροι εφοδίασαν το

κατάστημα.

Το ποσό λαμπακίων και στολιδιών που «έσταξε» στο μαγαζί ο πιο καλός πελάτης αν το κάθε λαμπάκι

κοστίζει 3.0 ευρώ και κάθε στολίδι κοστίζει 55 λεπτά.

Σημειώσεις: Στο μαγαζί προσέρχεται ένας τουλάχιστον πελάτης – καταναλωτής που εξυπηρετείται.

Page 48: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 48 από 87

ΜΕΝΟΥ ΕΠΙΛΟΓΩΝ Έστω ένας αλγόριθμος στον οποίο ο χρήστης έχει να επιλέξει μία ενέργεια ανάμεσα στις πολλές που του

προσφέρονται (με ένα “μενού’’ επιλογών) Προφανώς θα πρέπει να βλέπει στην οθόνη τις δυνατότητες του

προγράμματος προτού επιλέξει (όπως παίζεται για παράδειγμα ένα παιχνίδι στον Η/Υ και ο υπολογιστής

σας ζητάει να επιλέξετε κάποια πίστα). Ο τρόπος που αντιμετωπίζουμε αυτήν την κατάσταση είναι ο

εξής:

Έστω ότι ο χρήστης επιλέγει πατώντας το 1, το 2, το 3 κλπ. κάποια από τις αντίστοιχες δυνατότητες του

προγράμματος. Αν υποθέσουμε ότι ξεκινάει ένα παιχνίδι και η επιλογή του εκχωρείται στη μεταβλητή

epilogi τότε το αντίστοιχο τμήμα του αλγορίθμου είναι το ακόλουθο:

…………………….

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

Εμφάνισε ‘ΔΥΝΑΤΟΤΗΤΕΣ:’

Εμφάνισε ‘1. ΕΥΚΟΛΟ ΠΑΙΧΝΙΔΙ’

Εμφάνισε ‘2. ΜΕΤΡΙΟ ΠΑΙΧΝΙΔΙ’

Εμφάνισε ‘3. ΔΥΣΚΟΛΟ ΠΑΙΧΝΙΔΙ’

Εμφάνισε ‘4. ΔΙΠΛΟ ΠΑΙΧΝΙΔΙ’

Εμφάνισε ‘5. ΔΙΚΤΥΑΚΟ ΠΑΙΧΝΙΔΙ’

Εμφάνισε ‘6. ΕΞΟΔΟΣ’

Διάβασε epilogi

Aν epilogi=1 τότε

………………

Αλλιώς_αν epilogi=2 τότε

……………….

………………….

Τέλος_αν

Μέχρις_Ότου epilogi=6

Λυμένες ασκήσεις

1.Να γραφεί αλγόριθμος ο οποίος θα εκτελεί κάποια από τις βασικές πράξεις ανάμεσα σε δυο ακέραιους

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

μενού επιλογών και θα σταματάει όταν ο χρήστης επιλέξει από το μενού έξοδο.

1. Πρόσθεση

2. Αφαίρεση

3. Πολλαπλασιασμός

4. Διαίρεση

5. Έξοδος

Δώσε επιλογή:

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

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ 'Μενού επιλογών άσκησης'

ΓΡΑΨΕ '1. Πρόσθεση'

ΓΡΑΨΕ '2. Αφαίρεση'

ΓΡΑΨΕ '3. Πολλαπλασιασμό'

ΓΡΑΨΕ '4. Διαίρεση'

ΓΡΑΨΕ '5. Έξοδος'

ΓΡΑΨΕ 'Δώσε επιλογή: '

ΔΙΑΒΑΣΕ επιλογή

ΜΕΧΡΙΣ_ΟΤΟΥ (επιλογή >= 1) ΚΑΙ (επιλογή <= 5)

Page 49: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 49 από 87

ΓΡΑΨΕ 'ΔΩΣΕ ΔΥΟ ΑΡΙΘΜΟΥΣ'

ΔΙΑΒΑΣΕ α, β

ΑΝ επιλογή=1 ΤΟΤΕ

αποτέλεσμα <-- α + β

ΓΡΑΨΕ α, ' + ', β, ' = ', αποτέλεσμα

ΑΛΛΙΩΣ_ΑΝ επιλογή =2 ΤΟΤΕ

αποτέλεσμα <-- α - β

ΓΡΑΨΕ α, ' - ', β, ' = ', αποτέλεσμα

ΑΛΛΙΩΣ_ΑΝ επιλογή =3 ΤΟΤΕ

αποτέλεσμα <-- α * β

ΓΡΑΨΕ α, ' * ', β, ' = ', αποτέλεσμα

ΑΛΛΙΩΣ_ΑΝ επιλογή =4 ΤΟΤΕ

ΑΝ (β <> 0) ΤΟΤΕ

αποτέλεσμα <-- α / β

ΓΡΑΨΕ α, ' / ', β, ' = ', αποτέλεσμα

ΑΛΛΙΩΣ

ΓΡΑΨΕ 'Δεν ορίζεται διαίρεση με το 0'

ΤΕΛΟΣ_ΑΝ

ΑΛΛΙΩΣ ! επιλογή 5

ΓΡΑΨΕ 'Έξοδος από το πρόγραμμα'

ΤΕΛΟΣ_ΑΝ

ΜΕΧΡΙΣ_ΟΤΟΥ (επιλογή = 5)

Τέλος Α298

Μετατροπές Δομών Επανάληψης Δίνεται η δομή επανάληψης:

ΓΙΑ i ΑΠΟ τιμή 1 ΜΕΧΡΙ τιμή2 ΜΕ_ΒΗΜΑ β

Εντολές

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Να μετατρέψετε την παραπάνω δομή σε ισοδύναμη δομή επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ

[ Ενιαίο Λύκειο, Ιούνιος 2001]

Λύση

Έχουμε μία επαναληπτική δομή “ΓΙΑ…ΑΠΟ…ΜΕΧΡΙ”, η οποία ως μετρητή χρησιμοποιεί τη μεταβλητή i.

Η αρχική της τιμή είναι “τιμή1” και η τελική τιμή, στην οποία θα (επιχειρήσει να) φτάσει είναι “τιμή2”. Η

μεταβλητή i κάθε φορά αλλάζει κατά β.

Αν θέλουμε να πετύχουμε τις ίδιες ενέργειες με τη δομή “ΟΣΟ...ΕΠΑΝΑΛΑΒΕ”, πρέπει οπωσδήποτε να

θυμηθούμε ότι:

Ι. αυτή η δομή συνεχίζεται εφόσον η συνθήκη είναι αληθής. Επίσης,

ΙΙ. σε αυτήν τη δομή ο μετρητής δεν αλλάζει “αυτόματα”, από μόνος του, αλλά απαιτεί εμείς να βάλουμε

πρώτον την εντολή εκχώρησης της αρχικής του τιμής, και δεύτερον την εντολή μεταβολής του (αύξησης ή

μείωσης).

ΙΙΙ. Πρώτα θα πρέπει να εκτελούνται οι “εντολές” που μας λένε, και κατόπιν να αλλάζει ο μετρητής. Κι

αυτό γιατί στη δομή “ΓΙΑ…ΑΠΟ…ΜΕΧΡΙ” την πρώτη φορά που έχουμε i= τιμή1, με αυτήν τη τιμή θα

συμμετέχει ο μετρητής στις εντολές, και μετά θα αλλάξει.

Βήμα 1: iτιμή 1

Βήμα 2: ΟΣΟ i<=τιμή2 ΕΠΑΝΕΛΑΒΕ

Βήμα 3: εντολές

Βήμα 4: ii+β

Βήμα 5: ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Page 50: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 50 από 87

Παρατηρήσεις:

— Όπως εξηγήσαμε προηγουμένως, έχει σημασία να μπουν τα βήματα 3 και 4 με αυτήν τη σειρά που τα

γράφουμε εδώ.

— Κάτι άλλο που πρέπει να αναφέρουμε είναι ότι, όταν λέμε “τιμή1” και “τιμή2”, αυτό δε σημαίνει 1 και 2

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

αυτές οι τιμές.

— Σε όλα τα προηγούμενα υποθέσαμε ότι β>0, αν και αυτό δεν αναφέρεται πουθενά στην εκφώνηση. Είναι

προφανές ότι έχει παραλειφθεί εκ παραδρομής. Αν ήταν β<0, τότε οπωσδήποτε θα έπρεπε να μας έχει

δοθεί ότι τιμή1>τιμή2 και επίσης θα έπρεπε να αλλάξουμε τη συνθήκη του βήματος 2 σε “ΟΣΟ i>=τιμή2

ΕΠΑΝΑΛΑΒΕ”, ούτως ώστε την πρώτη φορά να ισχύει.

ΆΛΥΤΕΣ ΑΣΚΗΣΕΙΣ

1.Τα επόμενα τμήματα αλγορίθμων να γραφούν ξανά, χρησιμοποιώντας την επαναληπτική δομή

όσο…επανάλαβε.

i) ii)

για I από 1 μέχρι 55

xx-1

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

για j από 1 μέχρι 8 με βήμα 2

xx-1

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

iii)

για κ από 10 μέχρι -8 με βήμα -3

xx-1

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

2.Να μετατρέψετε τα παρακάτω τμήματα αλγόριθμων έτσι ώστε να χρησιμοποιείται η

επαναληπτική δομή για...από...μέχρι.

i) ii)

y0

x1

όσο x<35 επανάλαβε

xx+1

yy+x

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

y -7

x0

όσο y ≠ 3 επανάλαβε

xx-2 * y+4

yy+2

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

iii) iv)

x5

y1

όσο x<2500 επανάλαβε

yy+3

xx+y;

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

x3

y1

όσο x> -6 επανάλαβε

y y 2∧

xx-2

yy * x-x

w3+y

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

Page 51: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 51 από 87

Συνδυασμός Δομών Επανάληψης Πώς επιλέγουμε τη σωστή δομή επανάληψης για την επίλυση προβλήματος;

1. Όταν είναι γνωστός ο αριθμός των επαναλήψεων τότε χρησιμοποιείται η δομή επανάληψης

Για...από...μέχρι.

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

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

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

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

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

αλγόριθμους.

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

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

Η συνθήκη για τον τερματισμό της δομής

επανάληψης βρίσκεται στην αρχή.

Η συνθήκη για τον τερματισμό της δομής

επανάληψης βρίσκεται στο τέλος.

Οι εντολές που εμπεριέχονται στη δομή

επανάληψης Όσο...επανάλαβε μπορεί να μην

εκτελεστούν ποτέ, Αυτό οφείλεται στο ότι η

συνθήκη βρίσκεται στην αρχή της δομής.

Οι εντολές που εμπεριέχονται στη δομή

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

θα εκτελεστούν τουλάχιστον μία φορά. Αυτό

οφείλεται στο ότι η συνθήκη βρίσκεται στο τέλος

της δομής.

Η δομή κλείνει με το Τέλος_Επανάληψης Η δομή κλείνει με το Μέχρις_Ότου.

Η εκτέλεση των εντολών επαναλαμβάνεται όσο η

συνθήκη είναι Αληθής. Όταν η συνθήκη γίνει

Ψευδής, τότε ο αλγόριθμος συνεχίζει με την

εντολή που ακολουθεί το Τέλος_Επανάληψης.

Η εκτέλεση των εντολών επαναλαμβάνεται όσο η

συνθήκη είναι Ψευδής. Όταν συνθήκη γίνει

Αληθής, τότε ο αλγόριθμος συνεχίζει με την εντολή

που ακολουθεί το Μέχρις_Ότου.

Διαφορές της Δομής επανάληψης Για…από…μέχρι από τις άλλες δύο δομές επανάληψης

Για μεταβλητή από τ1 μεχρι τ2 με_βήμα β Όσο…Επανάλαβε και

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

Χρησιμοποιείται όταν ο αριθμός των

επαναλήψεων που θα εκτελεστεί η

επαναληπτική δομή είναι γνωστός εκ των

προτέρων.

Χρησιμοποιείται όταν είναι άγνωστο το πόσες φορές

θα επαναληφθεί η εκτέλεση των εντολών.

Η αρχική τιμή τ1 της μεταβλητής δίνεται με το

από. Για το λόγο αυτό δεν χρειάζεται ειδική

εντολή για την απόδοση αρχικής τιμής της

μεταβλητής πριν από την επανάληψη.

Απαιτείται η ανάθεση τιμών στις μεταβλητές που

εμπλέκονται στη συνθήκη.

Δεν υπάρχει συνθήκη για τον τερματισμό της

δομής επανάληψης. Η επανάληψη τερματίζει

όταν η μεταβλητή λάβει τιμή ίση ή μεγαλύτερη

από τ2.

Υπάρχει συνθήκη για τον τερματισμό της δομής

επανάληψης.

Δεν υπάρχει εντολή για τη μεταβολή της

μεταβλητής μέσα στην ομάδα εντολών της

επανάληψης αφού μεταβάλλεται αυτόματα με το

βήμα.

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

επανάληψης για να αποφύγουμε τον ατέρμονα

βρόχο.

Page 52: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 52 από 87

Εμφωλευμένες επαναλήψεις

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

εμπεριέχεται σε κάποια άλλη, να είναι εμφωλευμένη όπως λέγεται. Σε μία τέτοια περίπτωση συμβαίνουν

τα εξής:

. Έχει σημασία η εσωτερική επανάληψη (αυτή που αρχίζει δεύτερη) να τερματίζεται εντός της εξωτερικής

επανάληψης (η οποία άρχισε πρώτη). Δηλαδή να ισχύει ο ακόλουθο σχήμα:

αρχή εξωτερικής επανάληψης

…… 1η ομάδα εντολών......

αρχή εσωτερικής επανάληψης

..……2η ομάδα εντολών……

τέλος εσωτερικής επανάληψης

…….3 ομάδα εντολών……..

τέλος εξωτερικής επανάληψης

2. O τρόπος που εκτελούνται οι εντολές στο παραπάνω σχήμα είναι ο εξής:

αρχικά ξεκινάει την πρώτη φορά η εξωτερική επανάληψη και πραγματοποιείται μία φορά η 1η ομάδα

εντολών. Από τη στιγμή που η ροή του προγράμματος θα συναντήσει την εσωτερική επανάληψη, δεν θα

την εγκαταλείψει, έως ότου τελειώσει η εσωτερική όλες τις φορές που μπορεί να κάνει, οπότε και η 2η

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

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

και (αν επιτρέπεται) θα επιστρέψουμε στην αρχή της εξωτερικής επανάληψης, θα εκτελεστεί η 1η ομάδα

εντολών κ.ο.κ.

3. Αν η εξωτερική επανάληψη από μόνη της εκτελείται μ φορές, ενώ η εσωτερική ν φορές, τότε συνολικά το

παραπάνω επαναληπτικό σχήμα θα εκτελεστεί μ Χ ν φορές.

4. Όπως και σε μία επαναληπτική δομή, έτσι και εδώ δεν επιτρέπεται να γίνεται αλλαγή της ροής του

προγράμματος από κάποιο σημείο εντός του επαναληπτικού σχήματος, σε κάποιο εξωτερικό σημείο, ούτε

και το αντίθετο.

Παράδειγμα

Να γραφεί πρόγραμμα το οποίο να εκτυπώνει την προπαίδεια του πολλαπλασιασμού.

Πρόγραμμα εκτύπωσης της προπαίδειας των αριθμών 1 έως 10

ΠΡΟΓΡΑΜΜΑ Προπαίδεια

ΜΕΤΑΒΛΗΤΕΣ

ΑΚΕΡΑΙΕΣ:Α, Β, Γ !Α:Πολλαπλασιαστέος , Β:Πολαπλασιαστής ,Γ:Γινόμενο

ΑΡΧΗ

ΓΙΑ Α ΑΠΟ 1 ΜΕΧΡΙ 10

ΓΙΑ Β ΑΠΟ 1 ΜΕΧΡΙ 10

Γ <- Α*Β

ΓΡΑΨΕ A,'X',B,'=',r

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ !Εισαγωγή κενής γραμμής στην εκτύπωση

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Όταν Α=1 τότε Β=1 Γ=1*1=1 εμφανίζει 1X1=1

Όταν Α=1 τότε Β=2 Γ=1*2=2 εμφανίζει 1X2=2

……………………………

Όταν Α=1 τότε Β=10 Γ=1*10=10 εμφανίζει 1X10=10

Όταν Α=2 τότε Β=10 Γ=2*1=2 εμφανίζει 2X1=2

Page 53: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 53 από 87

……………………………..

1.Δίνεται το παρακάτω τμήμα προγράμματος

Για i από 1 μέχρι 4

Εμφάνισε "*"

Για j από 1 μέχρι i

Εμφάνισε "+"

Για k από 100 μέχρι 200

Εμφάνισε "#"

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

Εμφάνισε "#"

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

Εμφάνισε "#"

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

α.Πόσοι χαρακτήρες "*" εμφανίζονται;

β.Πόσοι χαρακτήρες "+" εμφανίζονται;

γ.Πόσοι χαρακτήρες "#" εμφανίζονται;

2.Να γράφει αλγόριθμος που θα διαβάζει ένα θετικό ακέραιο αριθμό Ν ( Γραμμή) και θα εμφανίζει

Γραμμή 1 :1

Γραμμή 2: 1,2

Γραμμή 3: 1,2,3

…..

Γραμμή Ν:1,2,3,4,5,…,Ν

ΚΡΙΣΙΜΕΣ ΟΔΗΓΙΕΣ, ΣΧΕΤΙΚΑ ΜΕ ΤΗΝ ΕΝΤΟΛΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ…ΑΠΟ…ΜΕΧΡΙ…ΜΕ_ΒΗΜΑ»

Κατά τη διδασκαλία του μαθήματος «Ανάπτυξη Εφαρμογών Σε Προγραμματιστικό Περιβάλλον» της

Τεχνολογικής Κατεύθυνσης των Γενικών Λυκείων, αλλά και οποιουδήποτε μαθήματος για τη δημιουργία

αλγορίθμων, έχει παρατηρηθεί κάποια δυσκολία στο χειρισμό των εντολών επανάληψης από τους

μαθητές. (http://dide.ilei.sch.gr/keplinet/education/aepp_for.php)

Στο κείμενο που ακολουθεί γίνεται μια προσπάθεια προσέγγισης του τρόπου λειτουργίας της εντολής

Για… από…μέχρι…με_βήμα δίνοντας έμφαση στη σχέση της με τις άλλες εντολές επανάληψης.

Ανάλυση λειτουργίας

Έστω, λοιπόν, ότι έχουμε το γενικό σχήμα:

Για i από τ1 μέχρι τ2 με_βήμα β

<εντολές>

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

Υπάρχουν οι εξής περιπτώσεις:

1. Αν το β > 0 τότε:

• α) Αρχικά στο i εκχωρείται η τιμή τ1.

• β) Όσο το i ≤ τ2 τότε οι επαναλήψεις συνεχίζονται.

• γ) Στο τέλος κάθε επανάληψης το i θα γίνεται i + β.

ΠΡΟΣΟΧΗ ΣΤΙΣ

ΕΠΟΜΕΝΕΣ ΣΕΛΙΔΕΣ

Page 54: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 54 από 87

• δ) Οι επαναλήψεις θα συνεχίζονται μέχρι να γίνει το i > τ2.

2. Αν το β < 0 τότε:

• α) Αρχικά στο i εκχωρείται η τιμή τ1.

• β) Όσο το i ≥ τ2 τότε οι επαναλήψεις συνεχίζονται.

• γ) Στο τέλος κάθε επανάληψης το i θα γίνεται i + β.

• δ) Οι επαναλήψεις θα συνεχίζονται μέχρι να γίνει το i < τ2.

3. Αν το β = 0 τότε:

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

περατότητας οπότε αυτό δεν επιτρέπεται ποτέ.

Παρατηρήσεις

Από τα παραπάνω εξάγονται κάποια συμπεράσματα:

1. Αν το β > 0 τότε για να γίνουν επαναλήψεις θα πρέπει τ1 ≤ τ2. Αν τ1 = τ2 τότε θα γίνει μόνο μία

επανάληψη, ενώ αν τ1 > τ2 δεν θα γίνει καμία επανάληψη.

2. Αν το β < 0 τότε για να γίνουν επαναλήψεις θα πρέπει τ1 ≥ τ2. Αν τ1 = τ2 τότε θα γίνει μόνο μία

επανάληψη, ενώ αν τ1 < τ2 δεν θα γίνει καμία επανάληψη.

3. Αν το β = 0 τότε, σύμφωνα με το σχολικό βιβλίο, θα έχουμε άπειρες επαναλήψεις. Όμως δεν

διευκρινίζεται τι θα γίνει, για παράδειγμα, στην περίπτωση: Για i από 5 μέχρι 1 με_βήμα 0. Θα

έχουμε άπειρες επαναλήψεις ή δεν θα έχουμε καμία;

4. Από τις παραπάνω παρατηρήσεις προκύπτει ότι πρόβλημα περατότητας έχουμε μόνο όταν το β = 0

και σε καμία άλλη περίπτωση. Έτσι, στο παράδειγμα: Για i από 5 μέχρι 1 (όπου το βήμα εννοείται

ως 1) τότε δεν έχουμε καθόλου επαναλήψεις και όχι άπειρες, όπως οι μαθητές υποθέτουν συχνά.

5. Είτε προκύπτουν επαναλήψεις είτε όχι, μετά το Τέλος_επανάληψης το i δεν μπορεί να έχει την τιμή

τ2, όπως οι μαθητές επίσης υποθέτουν συχνά.

6. Επειδή η εντολή Για…από…μέχρι…με_βήμα μπορεί να μην κάνει καθόλου επαναλήψεις τότε θα

λέγαμε ότι αντιστοιχεί περισσότερο στην εντολή Όσο…επανάλαβε και λιγότερο στην

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

εντολή Όσο…επανάλαβε είναι η σημαντικότερη από όλες τις εντολές επανάληψης» (βλ. σχολικό

βιβλίο, σελ. 174).

7. Στην παραπάνω ανάλυση λειτουργίας τα βήματα β) και δ) είναι ταυτόσημα. Αναφέρθηκαν όμως

και τα δύο για να είναι περισσότερο κατανοητή η σχέση της εντολής Για…από…μέχρι…με_βήμα

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

Υπολογισμός πλήθους επαναλήψεων

Ένας εύκολος τρόπος για να υπολογίσουμε το πλήθος των επαναλήψεων της εντολής Για…από…μέχρι

…με_βήμα, με την προϋπόθεση ότι θα γίνει μία τουλάχιστον επανάληψη, είναι μέσω του τύπου:

• Πλήθος επαναλήψεων = 1 + A_M((τ2 – τ1)/ β)

Ο τύπος δίνει σωστό αποτέλεσμα τόσο για θετικό όσο και για αρνητικό βήμα.

Page 55: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 55 από 87

Μετατροπές στις άλλες εντολές επανάληψης

Α) Αν το β > 0 τότε το παραπάνω σχήμα μπορεί άμεσα να μετατραπεί ώστε να χρησιμοποιεί την εντολή

Όσο…επανάλαβε, ως εξής:

i ← τ1

Όσο i ≤ τ2 επανάλαβε

<εντολές>

i← i + β

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

Όμως, ενώ η ίδια η εντολή Όσο…επανάλαβε φροντίζει για την κάλυψη ακόμα και της περίπτωσης όπου

δεν έχουμε καμία επανάληψη, ωστόσο δεν συμβαίνει το ίδιο με την εντολή

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

τουλάχιστον μία επανάληψη, δηλαδή αν τ1 ≤ τ2.

i ← τ1

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

<εντολές>

i ← i + β

Μέχρις_ότου i > τ2

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

αλλάζοντας μόνο τις ανισότητες: από ≤ σε ≥ στην εντολή Όσο…επανάλαβε και από > σε < στην εντολή

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

Παραδείγματα μετατροπών

Στη συνέχεια γίνεται μια παράθεση ενδεικτικών θεμάτων και λύσεων από τις πανελλαδικές εξετάσεις για

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

Εύκολα θέματα:

Θέμα 1-Γ, 2005, Ημερ. Ε.Λ.

∆ίνεται το παρακάτω τμήμα αλγορίθμου:

S ← 0

Για Ι από 2 μέχρι 100 με_βήμα 2

S ← S + I

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

Εμφάνισε S

1. Να μετατραπεί σε ισοδύναμο με χρήση της δομής Όσο…επανάλαβε

2. Να μετατραπεί σε ισοδύναμο με χρήση της δομής Αρχή_επανάληψης…μέχρις_ότου

Λύση

Page 56: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 56 από 87

1. Με την Όσο…επανάλαβε:

S ←0

Ι ←2

Όσο Ι ≤ 100 επανάλαβε

S ←S + I

Ι ← Ι + 2

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

Εμφάνισε S

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

S ← 0

Ι ← 2

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

S ←S + I

Ι ←Ι + 2

Μέχρις_ότου Ι > 100

Εμφάνισε S

Θέμα 1-δ, 2005, Επαν. Ημερ. Ε.Λ.

Το παρακάτω τμήμα αλγόριθμου να μετατραπεί σε ισοδύναμο με χρήση της δομής Για…από…μέχρι…

με_βήμα.

Ι ← 2

Όσο Ι ≤ 10 επανάλαβε

Διάβασε Α

Εμφάνισε Α

Ι ← Ι + 2

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

Λύση

Για Ι από 2 μέχρι 10 με_βήμα 2

Διάβασε Α

Εμφάνισε Α

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

Θέμα 2-β, 2007, Εσπ. Ε.Λ.

Δίνεται το παρακάτω τμήμα αλγορίθμου:

Χ ← 2

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

Y ← X DIV 2

Z ← A_M(X / 3)

ΑΝ Ζ > 0 ΤΟΤΕ

Page 57: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 57 από 87

Α ← Z

ΑΛΛΙΩΣ

Α ←¬ Υ

ΤΕΛΟΣ_ΑΝ

ΓΡΑΨΕ Χ, Υ, Ζ, Α

Χ ← Χ + 3

ΜΕΧΡΙΣ_ΟΤΟΥ Χ > 10

Να μετατρέψετε το παραπάνω τμήμα αλγορίθμου σε ισοδύναμο με χρήση της δομής επανάληψης ΓΙΑ...

ΑΠΟ...ΜΕΧΡΙ...ΜΕ_ΒΗΜΑ.

Λύση

ΓΙΑ X ΑΠΟ 2 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 3

Y ←X DIV 2

Z ← A_M(X / 3)

ΑΝ Ζ > 0 ΤΟΤΕ

Α ← Z

ΑΛΛΙΩΣ

Α ← Υ

ΤΕΛΟΣ_ΑΝ

ΓΡΑΨΕ Χ, Υ, Ζ, Α

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Μέτρια θέματα:

Θέμα 1-ε, 2005, Επαν. Εσπ. Ε.Λ.

To παρακάτω τμήμα προγράμματος να μετατραπεί σε ισοδύναμο, χρησιμοποιώντας αποκλειστικά τη δομή

επανάληψης ΟΣΟ… ΕΠΑΝΑΛΑΒΕ.

S ← 0

ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 5

ΓΙΑ L ΑΠΟ 1 ΜΕΧΡΙ 7

S ← S + 1

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ S

Λύση

S ← 0

Κ ← 1

ΟΣΟ Κ ≤ 5 ΕΠΑΝΑΛΑΒΕ

L ← 1

ΟΣΟ L ≤ 7 ΕΠΑΝΑΛΑΒΕ

S ← S + 1

L ← L + 1

Page 58: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 58 από 87

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Κ ← Κ + 1

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ S

Σε αυτήν αρκετοί μαθητές τοποθετούν την αρχικοποίηση της μεταβλητής L μαζί με την αρχικοποίηση της

Κ.

Θέμα 1-β2, 2007, Επαν. Ημερ. Ε.Λ.

Δίνεται το παρακάτω τμήμα αλγορίθμου:

I ← 1

Όσο Ι < 10 επανάλαβε

Εμφάνισε Ι

Ι ←Ι + 3

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

Να ξαναγράψετε το παραπάνω τμήμα αλγορίθμου χρησιμοποιώντας την εντολή ΓΙΑ αντί της ΟΣΟ.

Λύση

Για Ι από 1 μέχρι 7 με_βήμα 3

Εμφάνισε Ι

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

Σε αυτήν αρκετοί μαθητές δίνουν: Για Ι από 1 μέχρι 10, που όμως θα ήταν σωστό μόνο αν η συνθήκη στην

αρχική δομή επανάληψης ήταν Ι ≤ 10.

Θέμα 1-δ, 2007, Επαν. Εσπ. Ε.Λ.

Δίνεται το παρακάτω τμήμα αλγόριθμου:

α ← 1

β ←3

Όσο α < 10 επανάλαβε

z ← α + β

β ←β + 1

α ← α + 2

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

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

Λύση

α← 1

β ← 3

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

Page 59: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 59 από 87

z ← α + β

β ←β + 1

α ← α + 2

Μέχρις_ότου α ≥ 10

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

Δύσκολα θέματα:

Θέμα 1-δ, 2006, Επαν. Ημερ. Ε.Λ.

Δίνεται το παρακάτω τμήμα αλγορίθμου

Για x από 1 μέχρι Κ

Εμφάνισε x

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

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

Λύση

Σε αυτήν οι περισσότεροι μαθητές δίνουν τη λύση:

x ← 1

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

Εμφάνισε x

x ← x + 1

Μέχρις_ότου x > Κ

Όμως, δεδομένου ότι η λύση αυτή δίνει μία τουλάχιστον επανάληψη, ενώ η αρχική Για…από…μέχρι δεν

θα κάνει καμία επανάληψη αν το Κ < 1, τότε μία περισσότερο πλήρης λύση είναι η εξής:

x ← 1

Αν x ≤ Κ τότε

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

Εμφάνισε x

x←x + 1

Μέχρις_ότου x > Κ

Τέλος_αν

Θέμα 1-β, 2001, Ημερ. Ε.Λ.

Δίνεται η δομή επανάληψης.

Για i από τιμή1 μέχρι τιμή2 με_βήμα β

Εντολές

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

Να μμετατρέψετε την παραπάνω δομή σε ισοδύναμη δομή επανάληψης Όσο...επανάλαβε.

Page 60: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 60 από 87

Λύση

Σε αυτήν οι περισσότεροι μαθητές δίνουν τη λύση:

i ← τιμή1

Όσο i ≤ τιμή2 επανάλαβε

Εντολές

i ← i + β

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

Όμως, αυτή η λύση είναι σωστή μόνο αν το β > 0. Έτσι, μία περισσότερο πλήρης λύση είναι η εξής:

i ←τιμή1

Αν β > 0 τότε

Όσο i ≤ τιμή2 επανάλαβε

Εντολές

i ← i + β

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

αλλιώς

Όσο i ≥ τιμή2 επανάλαβε

Εντολές

i ← i + β

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

Τέλος_αν

Να σημειώσουμε πως θεωρούμε ότι το β δεν μπορεί να είναι 0 γιατί τότε η εκφώνηση θα είχε πρόβλημα

περατότητας.

Απαιτητικό θέμα:

Θέμα 1-δ, 2001, Επαν. Ημερ. Ε.Λ.

Δίνεται τμήμα αλγορίθμου:

Χ ← Α

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

Χ ← Χ + 2

Τύπωσε το Χ

Μέχρις_ότου Χ ≥ Μ

Να δώσετε τη δομή επανάληψης Για…από…μέχρι …με_βήμα η οποία τυπώνει ακριβώς τις ίδιες τιμές με το

πιο πάνω τμήμα αλγορίθμου.

Λύση

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

θέμα.

Σε αυτήν οι περισσότεροι μαθητές δίνουν τη λύση:

Page 61: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 61 από 87

Για Χ από Α μέχρι Μ με_βήμα 2

Τύπωσε το Χ

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

Αυτή η λύση θα ήταν σωστή αν το Α ≤ Μ, ώστε να έχουμε μία τουλάχιστον επανάληψη, και αν το αρχικό

τμήμα αλγορίθμου ήταν:

Χ ←Α

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

Τύπωσε το Χ

Χ ← Χ + 2

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

Δηλαδή αν η αύξηση της μεταβλητής Χ γινόταν στο τέλος του βρόχου, και χωρίς την ισότητα στη συνθήκη.

Έτσι, και θεωρώντας τις μεταβλητές ως ακέραιες, μια σωστή (;) λύση είναι:

Τύπωσε το A + 2

Για X από A + 4 μέχρι M + 1 με_βήμα 2

Τύπωσε το Χ

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

Page 62: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 62 από 87

ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ (Μια μίνι επανάληψη στην δομή επανάληψης )

1)Σ’ ένα εργοστάσιο παραγωγής ελαστικών διχτυών, το τμήμα ποιοτικού ελέγχου παίρνει δείγματα

από το προϊόν που παράγει. Μετρά δύο χαρακτηριστικά : το βάρος σε gr και το όριο θραύσης σε Nt.

Γράψτε ένα αλγόριθμο που να κάνει τα εξής :

Α. Διαβάζει το βάρος και την ελαστικότητα κάθε δείγματος.

Β. Υπολογίζει και εμφανίζει το ποσοστό των δειγμάτων που :

ι. είναι εντός προδιαγραφών ιι. είναι εκτός προδιαγραφών σημειώνεται ότι ένα δείγμα από το

προϊόν είναι εντός προδιαγραφών αν το βάρος του είναι μεγαλύτερο από 95 gr και μικρότερο από 105

gr και το όριο θραύσης του είναι μεγαλύτερο από 250 Nt και μικρότερο από 500 Nt.

Γ. Εμφανίζει το βάρος του βαρύτερου διχτυού εντός προδιαγραφών.

Δ. Υπολογίζει και εμφανίζει το μέσο βάρος των εντός προδιαγραφών δειγμάτων.

Ε. Υπολογίζει και εμφανίζει τα συνολικά κιλά των σκάρτων δειγματων (εκτός προδιαγραφών).

ΛΥΣΗ

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

χρησιμοποιήσουμε μια μεταβλητή ελέγχου η οποία θα καθορίζει των αριθμό των δειγμάτων. Το ρόλο

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

να πάμε με δομή επανάληψης Για …. από …. μέχρι.

Αλγόριθμος Ποιοτικός_έλεγχο

Ι0

ΕΝ0

ΕΚ0

MAX95

Σ0

ΣΚ0

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

ΙΙ+1

Εμφάνισε ΄Δώσε το βάρος του΄,Ι,΄δείγματος σε gr΄

Διάβασε Β

Εμφάνισε ΄Δώσε το όριο του΄,Ι,΄δείγματος σε Nt΄

Διάβασε Θ

Αν (Β>95 και Β<105) και (Θ>250 και Θ<500) τότε

ΕΝΕΝ+1

Αν Β>MAX τότε

MAXΒ

Τέλος_αν

Page 63: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 63 από 87

ΣΣ+Β

Αλλιώς

ΕΚΕΚ+1

ΣΚΣΚ+Β

Τέλος_αν

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

Εµφάνισε ΄Συνεχίζεις;(ΝΑΙ) ή δεν συνεχίζεις;(ΟΧΙ)΄

Διάβασε απάντηση

Μέχρις_ότου απάντηση=΄ΝΑΙ΄ ή απάντηση=΄ΟΧΙ΄

Μέχρις_ότου απάντηση=΄ΟΧΙ΄

Εµφάνισε ΄Ποσοστό δειγµάτω ν εντός προδιαγραφών:΄,ΕΝ/(ΕΝ+ΕΚ)*100,΄%΄

Εµφάνισε ΄Ποσοστό δειγµάτω ν εκτός προδιαγραφών:΄,ΕΚ/(ΕΝ+ΕΚ)*100,΄%΄

Εµφάνισε ΄Το βάρος του βαρύτερου διχτυού εντός προδιαγραφών είναι:΄,MAX,΄gr΄

Εµφάνισε ΄Το µέσο βάρος τω ν δειγµάτω ν εντός προδιαγραφών είναι:΄,Σ/ΕΝ,΄gr΄

Εµφάνισε ΄Τα συνολικά κιλά τω ν σκάρτω ν δειγµάτω ν (εκτός προδιαγραφών) είναι:΄,ΣΚ/1000,΄Kgr΄

Τέλος Ποιοτικός_έλεγχος

2)Δίνεται το παρακάτω τμήμα αλγορίθμου.

Για x από 1 μέχρι Κ

Εμφάνισε x

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

Να μετατραπεί σε ισοδύναμο τμήμα αλγορίθμου χρησιμοποιώντας την εντολή Αρχή_Επανάληψης ...

Μέχρις_ Ότου.

ΛΥΣΗ

Η άσκηση δεν είναι τόσο απλή όσο φαίνεται, η δοµή Για µπορεί να µην εκτελεστεί καµία επανάληψη, ενώ

η δοµή Μέχρις_ότου θα εκτελεστεί οπω σδήποτε µια επανάληψη

x ← 1

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

Αν x <= Κ τότε

Εµφάνισε x

x ← x + 1

Τέλος_αν

Μέχρις_ότου x > Κ

3)Να αναπτυχθεί αλγόριθμος στον οποίο θα εμφανίζονται με τη σειρά στην οθόνη όλες 0ι ενδείξεις

ενός ηλεκτρονικού ρολογιού, που απεικονίζει ώρες, λεπτά, δευτερόλεπτα, στη διάρκεια ενός

εικοσιτετραώρου. Η απεικόνιση να γίνει στην εξής μορφή: 17 34 46 (πρώτα οι ώρες, μετά τα λεπτά,

μετά τα δευτερόλεπτα).

Σημείωση: Δεν υπάρχει απαίτηση η εναλλαγή των ενδείξεων χρονικά να συμβαίνει ανά

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

ενδείξεων.

Λύση

Αν σκεφτούµε τις ενδείξεις του ηλεκτρονικού ρολογιού, καταλαβαίνουµε ότι αυτό που συµβαίνει διαρκώς

είναι να αλλάζουν τα δευτερόλεπτα (από µηδέν έω ς και πενήντα εννέα), λιγότερο συχνά τα λεπτά (µε ίδια

όρια τιµών) και ακόµη πιο σπάνια οι ώρες (από µηδέν έω ς είκοσι τρία).

Αυτό µπορεί να υλοποιηθεί αλγοριθµικά µε τρεις επαναληπτικές δοµές, όπου η καθεµία θα είναι

εµφω λευµένη στην άλλη. Τελείω ς εσω τερική, σύµφω να µε όλα όσα προηγήθηκαν θα είναι η επανάληψη

που αφορά την εναλλαγή τω ν δευτερολέπτω ν, µεσαία θα είναι η επανάληψη που αφορά την εναλλαγή

τω ν λεπτών και εξω τερική θα είναι η επανάληψη που αφορά την εναλλαγή τω ν ω ρών.

Σύµφω να µε την εκφώνηση, το ζητούµενο είναι να εµφανίζονται όλες οι ενδείξεις του ρολογιού µε τη

σειρά στην οθόνη. Άρα θα πρέπει να υπάρχει µία εντολή εµφάνισης ω ρών, λεπτών και δευτερολέπτω ν,

Page 64: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 64 από 87

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

εναλλαγή τους.

Εφόσον γνωρίζουμε εξαρχής ακριβώς το πλήθος των επαναλήψεων (πόσες είναι οι ώρες του

εικοσιτετραώρου, πόσα τα λεπτά μίας ώρας και πόσα τα δευτερόλεπτα ενός λεπτού) θα προτιμήσουμε την

επαναληπτική δομή “Για...από...μέχρι”.

Ο ψευδοκώδικας του αλγορίθμου λοιπόν είναι ο εξής:

ΑΛΓΟΡΙΘΜΟΣ ρολόι

ΓΙΑ ώρες ΑΠΟ 0 ΜΕΧΡΙ 23

ΓΙΑ λεπτά ΑΠΟ 0 ΜΕΧΡΙ 59

ΓΙΑ δεύτερα ΑΠΟ 0 ΜΕΧΡΙ 59

ΕΜΦΑΝΙΣΕ ώρες, λεπτά, δεύτερα

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ ρολόι

4)Να γραφεί αλγόριθμος ο οποίος :

Α) Να διαβάζει 25 ακέραιους αριθμούς μεγαλύτερους του μηδενός και να ελέγχει την αξιόπιστη

καταχώρησή τους.

Β) Στην περίπτωση όπου κάποιος από αυτούς είναι πολλαπλάσιος του 8 και μεγαλύτερος του 30, θα

πρέπει να εκχωρείται σε μια μεταβλητή Δ το πηλίκο της διαίρεσης του αριθμού με το 12 και στη

συνέχεια να εμφανίζεται το μήνυμα ‘Η τιμή της Δ είναι:’, __ όπου στο κενό να εμφανίζεται η τιμή της

Δ.

Γ) Στην περίπτωση όπου κάποιος από αυτούς είναι μεγαλύτερος του 60, θα πρέπει να εκχωρείται σε

μια μεταβλητή Ρ η τετραγωνική ρίζα του αριθμού και στην συνέχεια να εμφανίζεται το μήνυμα: ‘Η

τετραγωνική ρίζα του αριθμού:’,____, ‘είναι:’ , ____ όπου στο πρώτο κενό να εμφανίζεται ο αριθμός

και στο δεύτερο κενό η τετραγωνική ρίζα του αριθμού.

Σε οποιαδήποτε άλλη περίπτωση, θα πρέπει να εκχωρείται σε μια μεταβλητή Υ η διπλάσια τιμή του

τετραγώνου του αριθμού. Αν αυτή είναι μεγαλύτερη του 125 να εμφανίζεται το μήνυμα ‘Το διπλάσιο

τετράγωνο του αριθμού είναι: ’, ____ όπου στο κενό να εμφανίζεται η τιμή Υ, διαφορετικά να

εκχωρείται στην μεταβλητή Υ η τιμή 9.

ΛΥΣΗ

ΑΛΓΟΡΙΘΜΟΣ ΑΚΕΡΑΙΟΙ_ΑΡΙΘΜΟΙ

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 25

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ ‘ΔΩΣΤΕ ΤΟΝ’,Ι,‘ΑΚΕΡΑΙΟ ΑΡΙΘΜΟ ΜΕΓΑΛΥΤΕΡΟ ΤΟΥ ΜΗΔΕΝΟΣ:’

ΔΙΑΒΑΣΕ Χ

ΑΝ Χ<=0 ΤΟΤΕ

ΓΡΑΨΕ ‘ΔΩΣΑΤΕ ΛΑΘΟΣ ΤΙΜΗ. ΠΡΟΣΠΑΘΗΣΤΕ ΞΑΝΑ’

ΤΕΛΟΣ_ΑΝ

ΜΕΧΡΙΣ_ΟΤΟΥ Χ>0

ΑΝ Χ MOD 8=0 ΚΑΙ Χ>30 ΤΟΤΕ

ΔΧ DIV 12

ΓΡΑΨΕ ‘Η ΤΙΜΗ ΤΗΣ Δ ΕΙΝΑΙ:’,Δ

ΑΛΛΙΩΣ_ΑΝ Χ>60 ΤΟΤΕ

Ρ Χ^(1/2

ΓΡΑΨΕ ‘Η ΤΕΤΡΑΓΩΝΙΚΗ ΡΙΖΑ ΤΟΥ ΑΡΙΘΜΟΥ:’,Χ,‘ΕΙΝΑΙ:’,Ρ

ΑΛΛΙΩΣ

Υ2*(Χ*Χ)

ΑΝ Υ>125 ΤΟΤΕ

Page 65: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 65 από 87

ΓΡΑΨΕ ‘ΤΟ ΔΙΠΛΑΣΙΟ ΤΕΤΡΑΓΩΝΟ ΤΟΥ ΑΡΙΘΜΟΥ ΕΙΝΑΙ:’,Υ

ΑΛΛΙΩΣ

Υ9

ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ ΑΚΕΡΑΙΟΙ_ΑΡΙΘΜΟΙ

5.Να γίνει αλγόριθμος ο οποίος θα δέχεται σαν είσοδο το όνομα ,το επώνυμο των υπαλλήλων του

πολυκαταστήματος « Η ΑΦΘΟΝΙΑ» και το ποσό των εισπράξεων τους σε μια βάρδια ,σταματώντας

όταν δοθεί σαν είσοδος στο όνομα ο χαρακτήρας του κενού ` ` . Ο αλγόριθμος θα εμφανίζει:

Α) πόσα ταμεία λειτούργησαν στην βάρδια ,

Β) το όνομα του ταμία με την μεγαλύτερη είσπραξη.

Γ) το σύνολο των χρημάτων που θα παραδοθούν στο τέλος της βάρδιας .

Δ) το ποσό που παρέδωσε ο ο ταμίας με όνομα Γεώργιος Παπαδόπουλος.

Αν δεν υπάρχει ταμίας με αυτό το όνομα (πρόσφατα έγιναν απολύσεις) να εμφανίζεται κατάλληλο

μήνυμα.

Αλγόριθμος πολυκατάστημα

Πληθος_Ταμειων <- 0

Μαχ < - 0

Σύνολο χρημάτων <-0

Flag < - ψευδής

Ποσό _Π < - 0

Διάβασε όνομα, Επώνυμο

Όσο όνομα <> «» επανάλαβε

Διάβασε ποσό

Σύνολο <- Σύνολο + ποσό

Πληθος_Ταμειων <- Πληθος_Ταμειων +1

Αν όνομα = «Γεώργιος» και επώνυμο= «Παπαδόπουλος» τοτε

Flag < - αληθης

Ποσο_Π < - ποσό

Τελος_αν

Αν Μαχ < ποσό τοτε

Μαχ <- πόσο

Όνομα _Ταμία <- όνομα

Τελος_αν

Διάβασε όνομα, Επώνυμο

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

Εμφάνισε Πληθος_Ταμειων

Εμφάνισε Ονομα _Ταμια

Εμφάνισε Σύνολο χρηματων

Αν Flag = ψευδης τοτε

Εμφάνισε «Δεν υπάρχει ταμίας με τέτοιο όνομα»

Αλλιώς

Εμφάνισε Ποσό _Π

Τελος_αν

Τελος πολυκατάστημα

Page 66: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 66 από 87

6.Ο κύριος Ψωνιδης γνωστός στο Προγραμματισταν για την μεγάλη συλλογή του από μουσικούς

δίσκους βινυλίου .Αποφάσισε να επισκεφτεί στο διαδίκτυο το αγαπημένο του ηλεκτρονικό

κατάστημα προκειμένου να αγοράσει μουσικούς δίσκους . Έχει στην διάθεση του για την αγορά

μέχρι και 500 ευρώ .Να αναπτύξετε αλγόριθμο ο οποίος:

α. Για κάθε μουσικό δίσκο , να διαβάζει την τιμή , την προέλευσή του (ελληνικό/ξένο) και το είδος

της μουσικής (ορχηστρική/φωνητική), να επιτρέπει την αγορά του, εφόσον η τιμή του δεν

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

«ΑΓΟΡΕΣ ΤΕΛΟΣ».

Σημείωση: Δεν απαιτείται έλεγχος εγκυρότητας για τα δεδομένα εισόδου.

β. Να τυπώνει:

1. Το συνολικό ποσό που ξόδεψε ο κ.Ψωνιδης .

2. Το πλήθος των ελληνικών και το πλήθος των ξένων δίσκων που αγόρασε

3.Το ποσοστό των ορχηστρικών δίσκων στο σύνολο των δίσκων .

4. Το ποσό που περίσσεψε, εφόσον υπάρχει, διαφορετικά το μήνυμα «ΤΕΛΕΙΩΣΑΝ ΤΑ ΛΕΦΤΑ!!».

Αλγόριθμος ΨωνιδηςΙ

ξενα<- 0

ελλ<- 0

Ορ<- 0

S <- 0 ! S η συνολική χρέωση

Διάβασε τιμή

Όσο S+ τιμή <= 500 επανάλαβε

Διάβασε προέλευση, Τυπος

S <- S + τιμή

Αν (προέλευση = "ελληνικό") τότε

ελλ <- ελλ + 1

Αλλιώς

ξενα <- ξενα + 1

Τέλος_αν

Αν (Τύπος = "Ορχηστρική") τότε

Ορ <- Ορ + 1

Τέλος_αν

Διάβασε τιμή

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

Εκτύπωσε " ΑΓΟΡΕΣ ΤΕΛΟΣ "

Εκτύπωσε S

Εκτύπωσε ελλ, ξενα

Ποσοστό<- (Ορ/(ελλ+ξενα))*100

Αν (S = 1500) τότε

Εκτύπωσε " ΤΕΛΕΙΩΣΑΝ ΤΑ ΛΕΦΤΑ!! "

Αλλιώς

Εκτύπωσε "περίσσευμα", 500-S

Τέλος_αν

Τέλος ΨωνιδηςΙ

7.Ο κύριος Ψωνίδης προσλήφθηκε σε μια επιχείρηση με αρχικό μηνιαίο μισθό 1500 ευρώ.

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

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

τα χρήματα που παίρνει κάθε χρόνο το 10% ,έπειτα όμως από κάθε πενταετία θα αυξάνει το ποσοστό

αποταμίευσης κατά 5%.

Page 67: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 67 από 87

Ο σκοπός του είναι να αγοράσει ένα πολύ σπάνιο μουσικό δίσκο άξιας 60000 ευρώ .

Να αναπτύξετε αλγόριθμο ο οποίος :

Α) Θα υπολογίζει πόσα χρόνια θα περάσουν μέχρι ο κύριος Ψωνίδης να αποκτήσει τον σπάνιο

δίσκο.

Β) Αν ένα καινούριο στερεοφωνικό συγκρότημα κοστίζει 3500 ευρώ ,να εξετάζει αν υπάρχει

περίσσευμα χρημάτων ώστε ο κύριος Ψωνίδης να μπορέσει να το αγοράσει. Να εμφανίζεται

κατάλληλο μήνυμα.

Αλγόριθμος ψωνιδηςΙΙ

Σ_χρονια < - 1

Μισθός <-1500*12

Ποσοστό _αποταμ <- 10

Αποτ_χρηματα <- Μισθός* Ποσοστό _αποταμ /100

Όσο Αποτ_χρηματα< 60000 επανάλαβε

Μισθός <- Μισθός +200*12

Σ_χρονια < - Σ_χρονια +1

Αν Σ_χρονια mod5=0 τότε

Ποσοστό _αποταμ < - Ποσοστό _αποταμ+5

Τελος_αν

Αποτ_χρηματα < - Αποτ_χρηματα + Μισθός* Ποσοστό _αποταμ/ 100

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

Περίσσευμα < - Αποτ_χρηματα -60000

Αν Περίσσευμα >= 3500 τότε

Εμφάνισε «το περίσσευμα επαρκεί για την αγορά στερεοφωνικού»

Αλλιώς

Εμφάνισε «Δεν πρόκειται να αγοράσεις στερεοφωνικό !!!!»

Τελος _αν

Τελος ψωνιδηςΙΙ

8.Να γραφεί αλγόριθμος ο οποίος

θα

υλοποιεί τον πολλαπλάσιο αλα

ρώσικα , στην συνέχεια να κάνετε

διάγραμμα ροής .

Αλγοριθμος πολ_ρωσικα

ΓΡΑΨΕ ‘Δώστε τους αριθμούς’

ΔΙΑΒΑΣΕ Μ1,Μ2

Π0

ΟΣΟ Μ2>0 ΕΠΑΝΑΛΑΒΕ

ΑΝ Μ2MOD2 =1 ΤΟΤΕ

ΠΠ+Μ1

ΤΕΛΟΣ_ΑΝ

Μ1Μ1*2

Μ2Μ2DIV2

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ Π

ΤΕΛΟΣ

ΤΕΛΟΣ πολ_ρωσικα

ΑΡΧΗ

ΔΙΑΒΑΣΕ Μ1,Μ2

Π0

Μ2 ΝΑΙ

Μ2 MOD 2 ΝΑΙ ΟΧΙ

ΟΧΙ ΠΠ+

Μ1Μ1

Μ2Μ2

ΓΡΑΨΕ Π

ΤΕΛΟ

Page 68: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 68 από 87

Ασκήσεις Τετραδίου Μαθητή

ΔΣ1( σελ24). Δίνεται το παρακάτω διάγραμμα ροής: Να δώσετε την εκφώνηση του προβλήματος που

εκφράζεται με το συγκεκριμένο διάγραμμα ροής.

Λύση Να γραφεί αλγόριθμος που θα διαβάζει 200 τιμές, να αθροίζει όσες τιμές είναι πάνω από 10 και στο τέλος

να εκτυπώνει το άθροισμα.

ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ ΕΞΕΤΑΣΕΩΝ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ

Γενικού Λυκείου 2001 ΘΕΜΑ 2ο

Δίνεται το παρακάτω τμήμα αλγορίθμου.

Χ ← 1

Όσο Χ<5 επανάλαβε

Α ← Χ+2

Β ← 3*Α-4

C ← Β-Α+4

Αν Α > Β τότε

Αν Α > C τότε

MAX ← A

αλλιώς

MAX ← C

Τέλος αν

αλλιώς

Αν Β > C τότε

MAX ← Β

αλλιώς

MAX ← C

ΑΡΧΗ

ii+1

i >200 ΕΚΤΥΠΩΣΕ s ΤΕΛΟΣ ΝΑΙ

ΟΧΙ

ΔΙΑΒΑΣΕ m

m > 10 ΝΑΙ

ss + m

ii +1

ΟΧΙ

ΒΓΑΛΤΕ ΜΙΑ ΚΟΛΛΑ ΧΑΡΤΙ…..

Page 69: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 69 από 87

Τέλος αν

Τέλος αν

Εμφάνισε Χ, Α, Β, C, MAX

Χ ← Χ+2

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

Ποιες είναι οι τιμές των μεταβλητών Χ, Α, Β, C, MAX που θα εμφανιστούν κατά την εκτέλεση του

παραπάνω τμήματος αλγορίθμου; Μονάδες 20

Σημείωση: Αντί του συμβόλου (←) μπορεί ισοδύναμα να χρησιμοποιηθεί το σύμβολο (: =) ή το (=). Επίσης

αντί του Όσο ... επανάλαβε ... Τέλος επανάληψης μπορεί ισοδύναμα να χρησιμοποιηθεί όσο ... κάνε ...

τέλος όσο και αντί του Τέλος αν μπορεί ισοδύναμα να χρησιμοποιηθεί το τέλοςαν.

Γενικού Λυκείου 2003 ΘΕΜΑ 2ο

Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Ν, Μ και Β, όπως αυτές τυπώνονται σε

κάθε επανάληψη, και την τιμή της μεταβλητής Χ που τυπώνεται μετά το τέλος της επανάληψης, κατά την

εκτέλεση του παρακάτω αλγόριθμου.

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

Α ← 1

Β ← 1

Ν ← 0

Μ ← 2

Όσο Β < 6 επανάλαβε

Χ ← Α + Β

Αν Χ MOD 2 = 0 τότε

Ν ← Ν + 1

αλλιώς

Μ ← Μ + 1

Τέλος_αν

Α ← Β

Β ← Χ

Εμφάνισε Ν, Μ, Β

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

Εμφάνισε Χ

Τέλος Αριθμοί Μονάδες 20

Γενικού Λυκείου 2007 ΘΕΜΑ 3ο

Ένας συλλέκτης γραμματοσήμων επισκέπτεται στο διαδίκτυο το αγαπημένο του ηλεκτρονικό

κατάστημα φιλοτελισμού προκειμένου να αγοράσει γραμματόσημα. Προτίθεται να ξοδέψει μέχρι 1500

ευρώ.

Να αναπτύξετε αλγόριθμο ο οποίος:

α. Για κάθε γραμματόσημο, να διαβάζει την τιμή και την προέλευσή του (ελληνικό/ξένο) και να επιτρέπει

την αγορά του, εφόσον η τιμή του δεν υπερβαίνει το διαθέσιμο υπόλοιπο χρημάτων. Διαφορετικά να

τερματίζει τυπώνοντας το μήνυμα «ΤΕΛΟΣ ΑΓΟΡΩΝ».

ΣΗΜΕΙΩΣΗ: Δεν απαιτείται έλεγχος εγκυρότητας για τα δεδομένα εισόδου. Μονάδες 10

β. Να τυπώνει:

1. Το συνολικό ποσό που ξόδεψε ο συλλέκτης. Μονάδες 2

2. Το πλήθος των ελληνικών και το πλήθος των ξένων γραμματοσήμων που αγόρασε. Μονάδες 4

3. Το ποσό που περίσσεψε, εφόσον υπάρχει, διαφορετικά το μήνυμα «ΕΞΑΝΤΛΗΘΗΚΕ ΟΛΟ ΤΟ ΠΟΣΟ».

Μονάδες 4

Page 70: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 70 από 87

Γενικού Λυκείου 2009 ΘΕΜΑ 2ο

Δίνεται ο παρακάτω αλγόριθμος, στον οποίο έχουν αριθμηθεί οι εντολές εκχώρησης:

Αλγόριθμος Πολλαπλασιασμός

Δεδομένα //α, β//

Αν α>β τότε αντιμετάθεσε α, β

1 γ0

Όσο α>0 επανάλαβε

2 δα mod 10

Όσο δ>0 επανάλαβε

3 δδ-1

4 γγ+β

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

5 αα div 10

6 ββ*10

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

Αποτελέσματα //γ//

Τέλος Πολλαπλασιασμός

Επίσης δίνεται υπόδειγμα πίνακα (πίνακας τιμών), με συμπληρωμένες τις αρχικές τιμές των μεταβλητών

α,β (τιμές εισόδου), καθώς και της εντολής εκχώρησης με αριθμό 1.

Αριθμός Εντολής α β γ δ

20 50

1 0

… … … … …

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

αρχικές τιμές α=20, β=50 (που ήδη φαίνονται στον πίνακα).

Για κάθε εντολή εκχώρησης που εκτελείται να γράψετε σε νέα γραμμή του πίνακα:

α. Τον αριθμό της εντολής που εκτελείται (στην πρώτη στήλη).

β. Τη νέα τιμή της μεταβλητής που επηρεάζεται από την εντολή (στην αντίστοιχη στήλη). Μονάδες 10

Β. Να γράψετε τμήμα αλγορίθμου, που θα έχει το ίδιο αποτέλεσμα με την εντολή:

Αν α>β τότε αντιμετάθεσε α, β

χωρίς να χρησιμοποιήσετε την εντολή αντιμετάθεσε. Μονάδες 5

Γ. Να γράψετε τμήμα αλγορίθμου, που θα έχει το ίδιο αποτέλεσμα με το παρακάτω τμήμα:

δα mod 10

Όσο δ>0 επανάλαβε

δδ-1

γγ+β

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

χρησιμοποιώντας αντί της εντολής Όσο την εντολή Για. Στο νέο τμήμα αλγορίθμου να χρησιμοποιήσετε

μόνο τις μεταβλητές α,β,γ,δ, που χρησιμοποιεί το αρχικό τμήμα. Μονάδες 5

Page 71: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 71 από 87

Γενικού Λυκείου 2010 ΘΕΜΑ Β

Δίνεται το παρακάτω τμήμα αλγορίθμου, στο οποίο έχουν αριθμηθεί οι γραμμές:

1. j 1

2. i 2

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

4. i i + j

5. j i – j

6. Εμφάνισε i

7. Μέχρις_ότου i ≥ 5

Επίσης δίνεται το ακόλουθο υπόδειγμα πίνακα τιμών:

αριθμός

γραμμής συνθήκη έξοδος i j

… … … … …

Στη στήλη με τίτλο «αριθμός γραμμής» καταγράφεται ο αριθμός γραμμής της εντολής που εκτελείται.

Στη στήλη με τίτλο «συνθήκη» καταγράφεται η λογική τιμή ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ, εφόσον η εντολή που

εκτελείται περιλαμβάνει συνθήκη.

Στη στήλη με τίτλο «έξοδος» καταγράφεται η τιμή εξόδου, εφόσον η εντολή που εκτελείται είναι εντολή

εξόδου.

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

Να μεταφέρετε τον πίνακα στο τετράδιό σας και να τον συμπληρώσετε εκτελώντας τις εντολές του

τμήματος αλγορίθμου ως εξής:

Για κάθε εντολή που εκτελείται να γράψετε σε νέα γραμμή του πίνακα τον αριθμό της γραμμής της και το

αποτέλεσμά της στην αντίστοιχη στήλη.

Σημείωση: Η εντολή της γραμμής 3 δεν χρειάζεται να αποτυπωθεί στον πίνακα. Μονάδες 20

Γενικού Λυκείου 2011 ΘΕΜΑ Γ

Στις εξετάσεις του ΑΣΕΠ οι υποψήφιοι εξετάζονται σε τρεις θεματικές ενότητες. Ο βαθμός κάθε

θεματικής ενότητας είναι από 1 έως 100. Η συνολική βαθμολογία κάθε υποψηφίου προκύπτει από τον

μέσο όρο των βαθμών του στις τρεις θεματικές ενότητες. Ο υποψήφιος θεωρείται ως επιτυχών, αν η

συνολική βαθμολογία του είναι τουλάχιστον 55 και ο βαθμός του σε κάθε θεματική ενότητα είναι

τουλάχιστον 50.

Να γράψετε αλγόριθμο ο οποίος:

Για κάθε υποψήφιο:

Γ1. Να διαβάζει το όνομά του και τους βαθμούς του σε καθεμία από τις τρεις θεματικές ενότητες. (Δεν

απαιτείται έλεγχος εγκυρότητας δεδομένων). Μονάδες 2

Γ2. Να εμφανίζει τον μεγαλύτερο από τους βαθμούς που πήρε στις τρεις θεματικές ενότητες. Μονάδες 5

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

4

Γ4. Ο αλγόριθμος να τερματίζει όταν δοθεί ως όνομα η λέξη “ΤΕΛΟΣ”. Μονάδες 4

Γ5. Στο τέλος να εμφανίζει το όνομα του επιτυχόντα με τη μικρότερη συνολική βαθμολογία. Θεωρήστε ότι

είναι μοναδικός. Μονάδες 5

Page 72: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 72 από 87

Β2. Δίνεται το παρακάτω τμήμα αλγορίθμου σε μορφή διαγράμματος ροής:

Να κατασκευάσετε ισοδύναμο τμήμα αλγορίθμου σε ψευδογλώσσα. Μονάδες 10

Γενικού Λυκείου 2012 ΘΕΜΑ Γ

Δημόσιος οργανισμός διαθέτει ένα συγκεκριμένο ποσό για την επιδότηση επενδυτικών έργων. Η

επιδότηση γίνεται κατόπιν αξιολόγησης και αφορά δύο συγκεκριμένες κατηγορίες έργων με βάση τον

προϋπολογισμό τους. Οι κατηγορίες και τα αντίστοιχα ποσοστά επιδότησης επί του προϋπολογισμού

φαίνονται στον παρακάτω πίνακα.

Κατηγορία έργου Προϋπολογισμός έργου σε ευρώ Ποσοστό Επιδότησης

Μικρή 200.000 – 299.999 60%

Μεγάλη 300.000 – 399.999 70%

Η εκταμίευση των επιδοτήσεων των αξιολογηθέντων έργων γίνεται με βάση τη χρονική σειρά υποβολής

τους. Μετά από κάθε εκταμίευση μειώνεται το ποσό που διαθέτει ο οργανισμός. Να αναπτύξετε

αλγόριθμο ο οποίος:

Γ1. Να διαβάζει το ποσό που διαθέτει ο οργανισμός για το πρόγραμμα επενδύσεων συνολικά, ελέγχοντας

ότι το ποσό είναι μεγαλύτερο από 5.000.000 ευρώ. Μονάδες 2

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

επαναληπτική διαδικασία να τερματίζεται, όταν αντί για όνομα έργου δοθεί η λέξη «ΤΕΛΟΣ», ή όταν το

διαθέσιμο ποσό έχει μειωθεί τόσο, ώστε να μην είναι δυνατή η επιδότηση ούτε ενός έργου μικρής

κατηγορίας. Για κάθε έργο, αφού διαβάσει το όνομά του, να διαβάζει και τον προϋπολογισμό του (δεν

απαιτείται έλεγχος εγκυρότητας του προϋπολογισμού). Μονάδες 6

Page 73: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

http://mathhmagic.blogspot.gr/ Σελίδα 73 από 87

Γ3. Για κάθε έργο να ελέγχει αν το διαθέσιμο ποσό καλύπτει την επιδότηση, και μόνον τότε να γίνεται η

εκταμίευση του ποσού. Στη συνέχεια, να εμφανίζει το όνομα του έργου και το ποσό της επιδότησης που

δόθηκε. Μονάδες 6

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

επιδότηση που δόθηκε σε κάθε κατηγορία. Μονάδες 4

Γ5. Μετά το τέλος της επαναληπτικής διαδικασίας να εμφανίζει το ποσό που δεν έχει διατεθεί, μόνο αν

είναι μεγαλύτερο του μηδενός. Μονάδες 2

Γενικού Λυκείου 2013 ΘΕΜΑ B1

Δίνεται ο παρακάτω αλγόριθμος:

Αλγόριθμος Παράγοντες

Διάβασε α

K 2

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

Αν α mod k = 0 τότε

Εμφάνισε k

Αα div k

Αλλιώς

Kk+1

Τέλος_αν

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

Τέλος Παράγοντες

Να σχεδιάσετε στο τετράδιό σας το αντίστοιχο διάγραμμα ροής. Μονάδες 10

Page 74: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

74

http://mathhmagic.blogspot.gr/

Επαναληπτικές Γενικών Λυκείων 2005 ΘΕΜΑ 1ο

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

…με_βήμα

Ι2

Όσο Ι<=10 επανάλαβε

Διάβασε Α

Εμφάνισε Α

ΙΙ+2

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

Επαναληπτικές εξετάσεις Γενικών Λυκείων 2006 ΘΕΜΑ 1ο

Δ. Δίνεται το παρακάτω τμήμα αλγορίθμου.

Για x από 1 μέχρι Κ

Εμφάνισε x

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

Να μετατραπεί σε ισοδύναμο τμήμα αλγορίθμου χρησιμοποιώντας την εντολή

Αρχή_Επανάληψης ... Μέχρις_ Ότου Μονάδες 10

Επαναληπτικές εξετάσεις Γενικών Λυκείων 2007 ΘΕΜΑ 3ο

Το κλασικό παιχνίδι «Πέτρα-Ψαλίδι-Χαρτί» παίζεται με δύο παίκτες. Σε κάθε γύρο του παιχνιδιού, ο κάθε

παίκτης επιλέγει ένα από τα ΠΕΤΡΑ, ΨΑΛΙ∆Ι, ΧΑΡΤΙ, και παρουσιάζει την επιλογή του ταυτόχρονα με

τον αντίπαλό του. Η ΠΕΤΡΑ κερδίζει το ΨΑΛΙ∆Ι, το ΨΑΛΙ∆Ι το ΧΑΡΤΙ και το ΧΑΡΤΙ την ΠΕΤΡΑ. Σε

περίπτωση που οι δύο παίκτες έχουν την ίδια επιλογή, ο γύρος λήγει ισόπαλος. Το παιχνίδι προχωράει με

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

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

ισόπαλο.

Να αναπτύξετε αλγόριθμο ο οποίος διαβάζει τα ονόματα των δύο παικτών και υλοποιεί το παραπάνω

παιχνίδι ως εξής:

Α. Για κάθε γύρο του παιχνιδιού:

1. διαβάζει την επιλογή κάθε παίκτη, η οποία μπορεί να είναι μία από τις εξής: ΠΕΤΡΑ, ΨΑΛΙ∆Ι, ΧΑΡΤΙ,

ΤΕΛΟΣ. (∆εν απαιτείται έλεγχος εγκυρότητας τιμών.) Μονάδες 2

2. συγκρίνει τις επιλογές των παικτών και διαπιστώνει το νικητή του γύρου ή την ισοπαλία.

Μονάδες 6

Β. Τερματίζει το παιχνίδι όταν ένας τουλάχιστον από τους δύο παίκτες επιλέξει ΤΕΛΟΣ. Μονάδες 6

Γ. Εμφανίζει το όνομα του νικητή ή, αν δεν υπάρχει νικητής, το μήνυμα «ΤΟ ΠΑΙΧΝΙ∆Ι ΕΛΗΞΕ

ΙΣΟΠΑΛΟ». Μονάδες 6

Επαναληπτικές Γενικών Λυκείων 2009 ΘΕΜΑ 2ο

Δίνεται τo παρακάτω τμήμα αλγορίθμου, στο οποίο έχουν αριθμηθεί οι γραμμές του:

1 Διάβασε Χ

2 Όσο X>1 επανάλαβε

3 Aν Χ mod 2=0 τότε

4 Χ←Χ div 2

5 αλλιώς

6 Χ←3*Χ+1

7 Τέλος_αν

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

Επίσης δίνεται το παρακάτω υπόδειγμα πίνακα (πίνακας τιμών), με συμπληρωμένη την αρχική τιμή της

μεταβλητής Χ.

Page 75: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

75

http://mathhmagic.blogspot.gr/

Αριθμός Εντολής Χ Χ>1 Χ mod 2=0

1 5

... ... ... ...

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

αρχική τιμή Χ=5 (που ήδη φαίνεται στον πίνακα).

Α. Για κάθε εντολή που εκτελείται να γράψετε σε νέα γραμμή του πίνακα τα εξής:

1. Τον αριθμό της εντολής που εκτελείται (στην πρώτη στήλη).

2. Αν η γραμμή περιέχει εντολή εκχώρησης, τη νέα τιμή της μεταβλητής στην αντίστοιχη στήλη. Αν η

γραμμή περιέχει έλεγχο συνθήκης, την τιμή της συνθήκης (Αληθής, Ψευδής) στην αντίστοιχη στήλη.

Μονάδες 16

Β. Να κάνετε τη διαγραμματική αναπαράσταση του ανωτέρω τμήματος αλγορίθμου (διάγραμμα ροής).

Μονάδες 4

Επαναληπτικές Γενικών Λυκείων 2011 ΘΕΜΑ Β

Β1. Δίνεται τo παρακάτω τμήμα αλγορίθμου, το οποίο διαβάζει έναν θετικό αριθμό από τον χρήστη. Αν

δοθεί μη θετικός αριθμός ζητάει από τον χρήστη άλλον αριθμό.

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

Διάβασε α

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

Να ξαναγράψετε στο τετράδιό σας τον παραπάνω αλγόριθμο τροποποιημένο, έτσι ώστε:

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

θετικός αριθμός να εμφανίζει το μήνυμα “Σωστά”. (μονάδες 4)

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

θετικοί αριθμοί να εμφανίζεται κατάλληλο μήνυμα. (μονάδες 2)

γ. Να υπολογίζει και να εμφανίζει τον μεγαλύτερο κατά απόλυτη τιμή μη θετικό αριθμό που δόθηκε. Αν

δεν δοθούν μη θετικοί αριθμοί να εμφανίζεται κατάλληλο μήνυμα. (μονάδες 5) Μονάδες 11

Επαναληπτικές Γενικών Λυκείων 2011 ΘΕΜΑ Γ

Ένα πρατήριο υγρών καυσίμων διαθέτει έναν τύπο καυσίμου που αποθηκεύεται σε δεξαμενή

χωρητικότητας 10.000 λίτρων. Να αναπτύξετε αλγόριθμο ο οποίος:

Γ1. να διαβάζει την ποσότητα (σε λίτρα) του καυσίμου που υπάρχει αρχικά στη δεξαμενή μέχρι να δοθεί

έγκυρη τιμή. Μονάδες 2

Για κάθε όχημα που προσέρχεται στο πρατήριο:

Γ2. να διαβάζει τον τύπο του οχήματος (“Β” για βυτιοφόρο όχημα που προμηθεύει το πρατήριο με καύσιμο

και “E” για επιβατηγό όχημα που προμηθεύεται καύσιμο από το πρατήριο). Μονάδες 2

Γ3. Αν το όχημα είναι βυτιοφόρο τότε να γεμίζει τη δεξαμενή μέχρι την πλήρωσή της. (μονάδες 3) Αν το

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

(μονάδες 2) και, αν υπάρχει επάρκεια καυσίμου στη δεξαμενή, τότε το επιβατηγό όχημα να εφοδιάζεται

με τη ζητούμενη ποσότητα καυσίμου, διαφορετικά το όχημα να μην εξυπηρετείται (μονάδες 3).Μονάδες 8

Γ4. Η επαναληπτική διαδικασία να τερματίζεται, όταν αδειάσει η δεξαμενή του πρατηρίου ή όταν δεν

εξυπηρετηθούν τρία διαδοχικά επιβατηγά οχήματα. Μονάδες 4

Γ5. Στο τέλος ο αλγόριθμος να εμφανίζει:

α. τη μέση ποσότητα καυσίμου ανά επιβατηγό όχημα που εξυπηρετήθηκε

β. τη συνολική ποσότητα καυσίμου με την οποία τα βυτιοφόρα ανεφοδίασαν τη δεξαμενή. Μονάδες 4

Σημειώσεις:

• Δεν απαιτείται έλεγχος εγκυρότητας για τον τύπο του οχήματος.

• Θεωρήστε ότι στο πρατήριο προσέρχεται ένα τουλάχιστον επιβατηγό όχημα για το οποίο η ποσότητα

καυσίμου στη δεξαμενή επαρκεί.

Page 76: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

76

http://mathhmagic.blogspot.gr/

Επαναληπτικές Γενικών Λυκείων 2012 ΘΕΜΑ Β

Β1. Δίνεται ο παρακάτω αλγόριθμος

Αλγόριθμος Διοφαντική

Για x από 0 μέχρι 100

Για y από 0 μέχρι 100

Για z από 0 μέχρι 100

Αν 3*x+2*y-7*z=5 τότε εκτύπωσε x,y,z

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

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

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

Τέλος Διοφαντική

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

Μονάδες 10

Επαναληπτικές Γενικών Λυκείων 2013 ΘΕΜΑ Α1.β

Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που

αντιστοιχεί σωστά. Σημειώνεται ότι από τη στήλη Β περισσεύει μία επιλογή. Μονάδες 4

ΣΤΗΛΗ Α ΣΤΗΛΗ Β

Τμήματα αλγορίθμου Πλήθος εμφανίσεων του χαρακτήρα Χ

1.ΓΙΑ i ΑΠΟ 0 ΜΕΧΡΙ 9

ΓΙΑ j ΑΠΟ i ΜΕΧΡΙ 9

ΓΡΑΨΕ ‘Χ’

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

α. 54

2.ΓΙΑ i ΑΠΟ 0 ΜΕΧΡΙ 5

ΓΡΑΨΕ ‘Χ’

ΓΙΑ j ΑΠΟ 0 ΜΕΧΡΙ 7

ΓΡΑΨΕ ‘Χ’

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

β. 55

3.ΓΙΑ i ΑΠΟ 0 ΜΕΧΡΙ 20

ΓΡΑΨΕ ‘Χ’

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΙΑ j ΑΠΟ i ΜΕΧΡΙ 56

ΓΡΑΨΕ ‘Χ’

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

γ. 56

4.ΓΙΑ i ΑΠΟ 0 ΜΕΧΡΙ 110 ΜΕ_ΒΗΜΑ 2

ΓΡΑΨΕ ‘Χ’

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

δ. 57

ε.58

Page 77: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

77

http://mathhmagic.blogspot.gr/

Επαναληπτικές Γενικών Λυκείων 2013 ΘΕΜΑ Α4

Πρώτος ονομάζεται ένας φυσικός αριθμός, όταν έχει ακριβώς δύο διαιρέτες: τον εαυτό του και τη

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

μέχρι και το 100.

ΑΛΓΟΡΙΘΜΟΣ πρώτοι

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100

Μ i

ΓΙΑ j ΑΠΟ 0 ΜΕΧΡΙ i

ΑΝ i / j = 0 ΤΟΤΕ Μ Μ + 1

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΝ Μ < 3 ΤΟΤΕ ΕΜΦΑΝΙΣΕ i

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ πρώτοι

Ο παραπάνω αλγόριθμος έχει λάθη. Να τον γράψετε στο τετράδιό σας, κάνοντας τις απαραίτητες

διορθώσεις, ώστε να λειτουργεί σωστά, χωρίς την προσθήκη νέων εντολών. Μονάδες 10

Εσπερινά Λύκεια 2005 ΘΕΜΑ 2ο

Δίνεται το παρακάτω τμήμα αλγορίθμου όπου οι μεταβλητές Κ,L,M είναι ακέραιες:

K←35

L←17

M←0

OΣΟ L>0 ΕΠΑΝΑΛΑΒΕ

ΑΝ L MOD 2=1 TOTE

M←M+K

ΤΕΛΟΣ_ΑΝ

Κ←Κ*2

L←L DIV 2

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΕΜΦΑΝΙΣΕ Μ

α) Να συμπληρώσετε τον παρακάτω πίνακα Μονάδες 15

K L M

ΑΡΧΙΚΕΣ ΤΙΜΕΣ

1η επανάληψη

2η επανάληψη

3η επανάληψη

4η επανάληψη

5η επανάληψη

β) Για ποια τιμή της μεταβλητής L τερματίζει ο αλγόριθμος; Μονάδες 3

γ) Ποια είναι η τελική τιμή της μεταβλητής Μ; Μονάδες 2

Page 78: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

78

http://mathhmagic.blogspot.gr/

Εσπερινά Λύκεια 2009 ΘΕΜΑ 3ο

Σε ένα πολυκατάστημα αποφασίστηκε να γίνεται κλιμακωτή έκπτωση στους πελάτες ανάλογα

με το ποσό των αγορών τους, με βάση τον παρακάτω πίνακα:

Ποσό αγορών Έκπτωση

έως και 300 € 2%

πάνω από 300 έως και 400 € 5%

πάνω από 400 € 7%

Να γραφεί αλγόριθμος που:

α. για κάθε πελάτη,

1. να διαβάζει το όνομά του και το ποσό των αγορών του. Μονάδες 2

2. να υπολογίζει την έκπτωση που δικαιούται. Μονάδες 7

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

β. να επαναλαμβάνει τη διαδικασία μέχρι να δοθεί ως όνομα πελάτη η λέξη “ΤΕΛΟΣ”. Μονάδες 4

γ. να εμφανίζει μετά το τέλος της διαδικασίας τη συνολική έκπτωση που έγινε για όλους τους

πελάτες. Μονάδες 4

Εσπερινά Λύκεια 2013 ΘΕΜΑ Α2

Στο παρακάτω τμήμα αλγορίθμου να αναφέρετε ποια αλγοριθμικά κριτήρια παραβιάζονται (μονάδες 3).

Να αιτιολογήσετε την απάντησή σας (μονάδες 5).

1. Ν0

2. Μ4

3. Όσο Μ<=11 Επανάλαβε

4. Αν Μ mod 10=0 τότε

5. ΜΜ−4

6. Τέλος_αν

7. ΜΜ+2

8. ΝΝ+2 * Ν/(Μ−10)

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

10. Ν(Ν−Μ)/Ν

11. Εμφάνισε Μ

12. Εμφάνισε Ν Μονάδες 8

Εσπερινά Λύκεια 2013 ΘΕΜΑ Β

Β1. Δίνεται ο παρακάτω αλγόριθμος:

Αλγόριθμος Παράγοντες

Διάβασε α

K 2

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

Αν α mod k = 0 τότε

Εμφάνισε k

Αα div k

Αλλιώς

Kk+1

Τέλος_αν

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

Τέλος Παράγοντες

Να σχεδιάσετε στο τετράδιό σας το αντίστοιχο διάγραμμα ροής. Μονάδες 10

Page 79: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

79

http://mathhmagic.blogspot.gr/

Επαναληπτικές Εσπερινών Λυκείων 2006 ,ΘΕΜΑ 2ο

Δίνεται το παρακάτω τμήμα αλγορίθμου:

Διάβασε Μ

Για Χ από 3 μέχρι Μ-1 με_βήμα 2

Α←2*Χ+4

Β←4*Χ-3

Αν (Β-Α<0) ή (Α>15) τότε

Α←Α+5

Β←Β*2

Τέλος_αν

Εμφάνισε Α,Β

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

Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Α και Β που εμφανίζονται κατά την εκτέλεση του

παραπάνω τμήματος αλγορίθμου, όταν για Μ δώσουμε την τιμή 9. Μονάδες 20

Επαναληπτικές Εσπερινών Λυκείων 2006 ΘΕΜΑ 1ο

E. To παρακάτω τμήμα προγράμματος να μετατραπεί σε ισοδύναμο, χρησιμοποιώντας

αποκλειστικά τη δομή επανάληψης ΟΣΟ… ΕΠΑΝΑΛΑΒΕ.

S ← 0

ΓΙΑ Κ από 1 μέχρι 5

ΓΙΑ L από 1 μέχρι 7

S ← S + 1

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ S Μονάδες 8

Επαναληπτικές Εσπερινών Λυκείων 2006 ΘΕΜΑ 2ο

Να αναπτύξετε έναν αλγόριθμο, ώστε

α) να διαβάζει έναν πραγματικό αριθμό μεγαλύτερο του μηδενός και μικρότερο του 1000

και να κάνει έλεγχο ορθής καταχώρησης του αριθμού, Μονάδες 6

β) να ελέγχει αν είναι ακέραιος και να εμφανίζει τη λέξη «ΑΚΕΡΑΙΟΣ» αλλιώς να

εμφανίζει τη λέξη «ΠΡΑΓΜΑΤΙΚΟΣ», Μονάδες 6

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

και να εμφανίζει τη λέξη «ΑΡΤΙΟΣ» ή «ΠΕΡΙΤΤΟΣ» αντίστοιχα. Μονάδες 8

Επαναληπτικές Εσπερινών Λυκείων 2006 ΘΕΜΑ 3ο

Μία εμπορική εταιρεία μέσω αντιπροσώπων διαθέτει στο αγοραστικό κοινό τρεις τύπους προϊόντων Χ, Ψ

και Ζ και χορηγεί προμήθεια στους αντιπροσώπους της.

Να αναπτύξετε έναν αλγόριθμο, ώστε

α) να διαβάζει τον τύπο ενός προϊόντος και την τιμή πώλησης αυτού, Μονάδες 2

β) να υπολογίζει κλιμακωτά την προμήθεια που θα δοθεί από την πώληση σύμφωνα με

τον παρακάτω πίνακα:

Τιμή πώλησης σε € Ποσοστά προμήθειας

Προϊόν Χ Προϊόν Ψ Προϊόν Ζ

Από 0 έως και 5.000 0% 2% 4%

Πάνω από 5.000 έως και 10.000 5% 6% 6%

Πάνω από10.000 10% 7% 8%

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

να δοθεί τύπος προϊόντος Τ, Μονάδες 14

γ) στο τέλος να εμφανίζεται

i. η προμήθεια που θα δοθεί για κάθε τύπο προϊόντος, Μονάδες 2

ii. η συνολική προμήθεια που έλαβαν οι αντιπρόσωποι. Μονάδες 2

Page 80: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

80

http://mathhmagic.blogspot.gr/

ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟΥ ΛΑΘΟΥΣ (ΜΙΝΙ ΕΠΑΝΑΛΗΨΗ)

1. Το πρόγραμμα μπορεί να περιλαμβάνει και εντολές που δεν είναι σαφείς.

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

γλώσσας

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

παραλληλόγραμμο.

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

5. Μια σταθερά μπορεί να αλλάξει τιμή κατά τη διάρκεια εκτέλεσης ενός προγράμματος.

6. Μια μεταβλητή μπορεί να αλλάζει τιμή και όνομα κατά τη διάρκεια εκτέλεσης ενός αλγορίθμου.

7. Μια μεταβλητή μπορεί να αλλάζει τύπο δεδομένων κατά τη διάρκεια εκτέλεσης ενός αλγορίθμου.

8. Η “Παρασκευη” αποτελεί αλφαριθμητική τιμή, ενώ η Παρασκευή αποτελεί όνομα μεταβλητής.

9. Πόσο κάνει η παρακάτω πράξη: 159 mod 2div2 * 10

α. 10 β. 15 γ. 0 δ. απροσδιόριστο

10. Δεξιά μιας εντολης εκχώρησης τιμής δεν μπορεί να βρίσκεται η ίδια μεταβλητή που βρίσκεται

αριστερά.

11. Τα σχόλια επηρεάζουν την εξέλιξη ενός προγράμματος .

12. Σε μια εντολή εκχώρησης δεν επιτρέπεται η χρήση σταθερών.

13. Για την αναπαράσταση των δεδομένων εισόδου ενός αλγορίθμου χρησιμοποιούμε τις σταθερές

14. Η σειρά εκτέλεσης των εντολών στη δομή ακολoυθίας είναι προκαθορισμένη.

15. Στη δομή ακολουθίας εκτελούνται όλες οι εντολές.

16. Κάθε αλγόριθμος πρέπει να ικανοποιεί το κριτήριο της:

α) επιλογής β) ακολουθίας γ) ανάθεσης δ) περατότητας

17. Ένας από τους τρόπους αναπαράστασης των αλγορίθμων είναι:

α) λογικές εκφράσεις β) θεωρητική τυποποίηση γ) διαγραμματικές τεχνικές δ) αριθμητικές πράξεις

18. Ποια από τα παρακάτω αποτελούν εντολές της ψευδογλώσσας των αλγορίθμων:

α) A + Δ = 1 β) A ← B * 5 γ) A + B ← 45 δ) A ← 2 * B ← 12

19. Οι ____________ μεταβλητές μπορούν να λάβουν μόνο δυο τιμές: αληθής και ψευδής

20. Στο δεξί τμήμα μιας εντολής εκχώρησης πρέπει να υπάρχει υποχρεωτικά πράξη.

21. Τα είδη των μεταβλητών που χρησιμοποιούμε είναι οι αριθμητικές, οι αλφαριθμητικές και οι σταθερές

22. Η παράσταση: 3 (α² - 4β²) – 5(α²c+β²d) σε ποια από τις παρακάτω εκχωρήσεις τιμών αντιστοιχεί;

αβc-d²

α) f ← 3*(α*α-4*β*β)-5*(α*α*c+β*β*d)/(α*β*c-d*d) β) f ← 3*(α*α-4*β*β)-5*(α*α*c+β*β*d)/α*β*c-d*d

γ) f ← (3*(α*α-4*β*β)-5*(α*α*c+β*β*d))/(α*β*c-d*d) δ) f ← (3*(α*α-4*β*β))-(5*(α*α*c+β*β*d))/(α*β*c-d*d)

23. Στο διάγραμμα ροής το σχήμα του ρόμβου δηλώνει το τέλος ενός αλγορίθμου

24. Η εντολή εκχώρησης τιμής αποδίδει το αποτέλεσμα μιας έκφρασης (παράστασης) σε μια μεταβλητή

25. Σε μια εντολή εκχώρησης είναι δυνατόν μια παράσταση στο δεξιό μέλος να περιέχει τη μεταβλητή που

βρίσκεται στο αριστερό.

26. Να συνδέσετε τα στοιχεία της στήλης Α με τα στοιχεία της στήλης Β

Α Τιμή Β Τύπος Δεδομένων

1. “9523” Α) Αλφαριθμητικός (Συμβολοσειρά)

2. 5

3. “Ψευδής” Β) Αριθμητικός (ακέραιος ή πραγματικός)

4. Αληθής

5. “34.5” Γ) Λογικός

6. –35.87

27. Το αποτέλεσμα μια πράξης μπορεί να εκχωρηθεί σε μια σταθερά.

Page 81: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

81

http://mathhmagic.blogspot.gr/

28. Αν οι μεταβλητές α, β είναι αριθμητικές και έχουν κάποια τιμή, τότε οι παρακάτω εντολές

ανταλλάσσουν τις τιμές τους

Α ← Α + Β

Β ← Α - Β

Α ← Α - Β

29. Δεσμευμένες λέξεις ονομάζονται αυτές που ορίζει ο προγραμματιστής ως ονομασίες των μεταβλητών

που χρησιμοποιεί

30. Η εντολή Χ ← Χ * Χ+1 είναι έγκυρη

31. Στη δομή ακολουθίας μια συγκεκριμένη εντολή μπορεί να εκτελεστεί πολλές φορές

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

δεδομένα του.

33. Χρησιμοποιούμε τη δομή επιλογής όταν θέλουμε μια ομάδα εντολών να εκτελεστεί πολλές φορές.

34. Χρησιμοποιούμε τη δομή ακολουθιας όταν θέλουμε μια ομάδα εντολών να εκτελεστεί πολλές φορές.

35. Η σύζευξη δύο λογικών συνθηκών είναι ψευδής όταν μόνο μία από τις δύο λογικές συνθήκες είναι

αληθής

36. Μια δομή επιλογής μπορεί να εκτελεστεί πολλές φορές

37. Η δομή της επιλογής χρησιμοποιείται στις περιπτώσεις όπου υπάρχει μία συγκεκριμένη σειρά

βημάτων για την επίλυση ενός προβλήματος

38. Όταν χρειάζεται να υπάρξει απόφαση με βάση κάποιο κριτήριο, τότε χρησιμοποιείται η δομή της

επιλογής

38. Η δομή της επιλογής περιλαμβάνει τον έλεγχο κάποιας συνθήκης που μπορεί να έχει δύο τιμές

(Αληθής ή Ψευδής)

39. Οι διαδικασίες των πολλαπλών επιλογών εφαρμόζονται στα προβλήματα όπου εκτελούνται κάποιες

εντολές ανάλογα με την τιμή που παίρνει μία μεταβλητή.

40. Μία εντολή «Αν…τότε» δεν μπορεί να περιληφθεί στα όρια κάποιας άλλης εντολής "Αν…τότε"

41. Με την εντολή "Αν Χ div 2 = 0 " ελέγχουμε αν ο Χ είναι άρτιος

42. Μία εντολή «Αν…τότε» περιλαμβάνει κάποια: α) συνθήκη β) ακολουθία γ) ανάθεση δ) επανάληψη

43. Με την ερώτηση "Αν (Α mod 2=0)", εννοούμε εν γένει, ότι επιθυμούμε να εξετάσουμε αν

α) o Α είναι περιττός β) ο Α είναι μικρότερος του 2

γ) ο Α ισούται με 2 δ) ο Α διαιρείται ακριβώς με το 2

44. Η λογική πρόταση "Χ ^ 2 > 0" είναι πάντοτε αληθής.

45. Στη δομή απλής επιλογής η ομάδα εντολών εντός της δομής εκτελείται όταν η συνθήκη είναι αληθής

46. Στην πολλαπλή επιλογή κάθε περίπτωση αντιστοιχεί σε διαφορετική τιμή της συνθήκης

47. Για τον υπολογισμό του μέσου όρου αριθμών πρέπει να χρησιμοποιηθεί η δομή επιλογής

48. Στη δομή επιλογής υπάρχει περίπτωση κάποιες εντολές να μην εκτελεστούν ποτέ.

49. Κάθε εντολή Αν περιέχει Αλλιώς.

50. Κάθε εντολή πολλαπλής επιλογής μπορεί να αναπαρασταθεί από πολλά απλά Αν

51. Όταν πρέπει να εκτελεστούν κάποιες εντολές υπό κάποια συνθήκη χρησιμοποιείται η δομή

ακολoυθίας.

52. Μια δομή επιλογής μπορεί να περιλαμβάνει μόνο εντολές εκχώρησης τιμής.

53. Σε μια έκφραση εκτελούνται πρώτα οι συγκριτικοί τελεστές και στη συνέχεια οι αριθμητικοί

54. Αν μετά την εκτέλεση του κάτωθι τμήματος προγράμματος :

ΑΝ (X MOD Y < X DIV Y) ΤΟΤΕ

A ← 0

B ← 0

ΑΛΛΙΩΣ

A ← X DIV Y

B ← X MOD Y

Page 82: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

82

http://mathhmagic.blogspot.gr/

ΤΕΛΟΣ_ΑΝ

το Α = 0 και το Β= 3,τι τιμές θα μπορούσαν να έχουν τα Χ και Υ;

α) Χ=7, Υ=2 β) Χ=4, Υ=3 γ) Χ=3, Υ=5 δ) Χ=9, Υ=3

55. Όλες οι δομές επανάληψης μπορούν να μετατραπούν σε Όσο ... επανάλαβε.

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

επόμενη εντολή, που ακολουθεί αμέσως μετά τη δομή της επανάληψης.

57.Αν στη δομή επανάληψης Για … από … μέχρι το βήμα δοθεί μηδέν, τότε ο βρόχος της επανάληψης δεν

εκτελείται καμία φορά.

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

φορά.

59.Ο βρόχος <<Για x από 5 μέχρι 5 με_βήμα 3>> εκτελείται μία μόνο φορά.

60.Ο πολλαπλασιαμός αλα ρωσικά είναι μία από τις βασικές λειτουργίες του υπολογιστή.

61. Στη δομή επανάληψης Για δεν είναι δυνατόν η αρχική τιμή να είναι να είναι μεγαλύτερη από την

τελική.

62. Στη δομή επανάληψης Για δεν είναι δυνατόν η αρχική τιμή να είναι να είναι μεγαλύτερη από την

τελική.

63. Δεν μπορούμε να έχουμε μια δομή επανάληψης μέσα σε μια άλλη δομή επανάληψης

64. Η λογική των επαναληπτικών διαδικασιών εφαρμόζεται στις περιπτώσεις, όπου μία ακολουθία

εντολών πρέπει να εφαρμοσθεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι κοινό

65. Με χρήση της εντολής “Όσο...επανάλαβε” επιτυγχάνεται η επανάληψη μίας διαδικασίας με βάση

κάποια συνθήκη

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

μία φορά

67. Η εντολή "Για i από .. μέχρι .. βήμα .." πρέπει να περιλαμβάνει για βήμα πάντοτε ένα θετικό αριθμό

68. Στη δομή επανάληψης Για το βήμα δεν μπορεί να είναι μηδέν

69. Όταν το πλήθος των επαναλήψεων είναι γνωστό δεν μπορεί να χρησιμοποιηθεί η δομή επανάληψης

"Όσο...επανάλαβε"

70. Οι εντολές του βρόχου "Για" εκτελούνται τουλάχιστον μια φορά

71. Ο πολλαπλασιασμός _____ _____________ απαιτεί πολλαπλασιασμό επί δύο, διαίρεση δια δύο και

πρόσθεση

72. Στην δομή «Όσο», η ομάδα εντολών εκτελείται μέχρι η συνθήκη να γίνει ψευδής

73. Στην δομή «Μέχρις_ότου», υπάρχει περίπτωση η ομάδα εντολών του βρόχου να μην εκτελεστεί καμία

φορά

74. Στις δομές "Όσο" και "Μέχρις_ότου", οι συνθήκες έχουν αντίθετες τιμές αλήθειας.

75. Η δομή "Όσο...Επανάλαβε" χρησιμοποιείται μόνο όταν γνωρίζουμε το πλήθος των επαναλήψεων.

76. Κάθε πρόβλημα που απαιτεί τη χρήση δομής επανάληψης μπορεί να επιλυθεί με τη χρήση της δομής

επανάληψης "Για".

77. Κάθε πρόβλημα που απαιτεί τη χρήση δομής επανάληψης μπορεί να επιλυθεί με τη χρήση της δομής

επανάληψης "Όσο".

78. Κάθε πρόβλημα που απαιτεί τη χρήση δομής επανάληψης μπορεί να επιλυθεί με τη χρήση της δομής

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

79. Η δομή "Μέχρις_ότου" τερματίζεται όταν η συνθήκη είναι αληθής

80. Κάθε βρόχος "Για" μπορεί να μετατραπεί σε "Όσο"

81. Κάθε βρόχος "Όσο" μπορεί να μετατραπεί σε "Για"

82. Κάθε βρόχος "Όσο" μπορεί να μετατραπεί σε "Μέχρις_ότου"

83. Εντός μιας δομής επιλογής δεν μπορεί να περιέχεται δομή επανάληψης

84. Εντός μιας δομής επανάληψης δεν μπορεί να περιέχεται δομή επιλογής

85. Στην δομή επανάληψης "Μέχρις_ότου" οι μεταβλητές που συμμετέχουν στην συνθήκη πρέπει να

αρχικοποιούνται πριν το βρόχο

Page 83: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

83

http://mathhmagic.blogspot.gr/

86. Στην δομή επανάληψης "Όσο" οι μεταβλητές που συμμετέχουν στην συνθήκη πρέπει να πάρουν τιμή

πριν το βρόχο

87. Οι εμφωλευμένες δομές περιλαμβάνουν συνδυασμό:

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

δ) ανάγνωσης και εκτύπωσης

88. Με την δομή "Όσο ((a mod 2=1) και (b mod 2=0)) επανάλαβε", πετυχαίνουμε να εκτελούμε τον βρόχο

όσο

α) o a είναι περιττός και ο b άρτιος

β) ο a είναι άρτιος και ο b περιττός

γ) ο a και o b είναι άρτιοι

δ) ο a και ο b είναι περιττοί

89. Οι επαναληπτικές δομές χρησιμοποιούνται στην περίπτωση που μια ομάδα εντολών πρέπει να

εκτελεστεί πολλές φορές

90. Μια δομή επανάληψης πρέπει να φροντίζει για μεταβολή της τιμής της συνθήκης ώστε κάποτε να

τερματίζεται

91. Στη δομή επανάληψης Για πρέπει η τιμή του μετρητή να μεταβάλλεται εντός του βρόχου

101. Η επαναληπτική δομή που περιλαμβάνει έλεγχο επανάληψης στο τέλος της διαδικασίας ξεκινά με τη

φράση «Αρχή_επανάληψης» και λήγει με τη φράση ______________

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

93. Μία εμφωλευμένη δομή χρησιμοποιείται όταν χρειάζεται:

α) μία ενέργεια να περιληφθεί μέσα σε άλλη ενέργεια β) να υπάρχει επανάληψη τυποποιημένων

ενεργειών

γ) να υπάρχει εκτύπωση και ανάγνωση τιμών δ) να επαναληφθεί μία ενέργεια πολλές φορές

94. Η λογική πράξη "ή" μεταξύ 2 προτάσεων είναι αληθής όταν:

α) οποιαδήποτε από τις δύο προτάσεις είναι αληθής β) η πρώτη πρόταση είναι ψευδής

γ) η δεύτερη πρόταση είναι ψευδής δ) και οι δύο προτάσεις είναι αληθής

95. Η λογική πράξη και μεταξύ 2 προτάσεων είναι αληθής όταν:

α) οποιαδήποτε από τις δύο προτάσεις είναι αληθής β) η πρώτη πρόταση είναι αληθής

γ) η δεύτερη πρόταση είναι αληθής δ) και οι δύο προτάσεις είναι αληθείς

96. Η λογική των επαναληπτικών διαδικασιών εφαρμόζεται στις περιπτώσεις όπου:

α) μία ακολουθία εντολών πρέπει να εφαρμοσθεί σε δύο περιπτώσεις

β) μία ακολουθία εντολών πρέπει να εφαρμοσθεί σε ένα σύνολο περιπτώσεων

γ) υπάρχει απαίτηση να ληφθεί μία απόφαση με βάση κάποια συνθήκη

δ) υπάρχουν δύο συνθήκες που πρέπει να ισχύουν η μία μετά την άλλη

97. Τα αναγνωριστικά των οποίων οι τιμές μεταβάλλονται κατά τη διάρκεια του αλγορίθμου ονομάζονται

____________ και εκείνα των οποίων οι τιμές δεν μπορούν να μεταβληθούν ______________

98. Η δομή "______ i από τ1 μέχρι τ2 με_βήμα β" αποτελεί ένα επαναληπτικό σχήμα ορισμένων

επαναλήψεων

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

αλγόριθμο, αλλά:

α) δεδομένα β) μία υπολογιστική διαδικασία γ) μία εκτέλεση δ) ατέρμονα έλεγχο δεδομένων

100. Η επαναληπτική δομή "Όσο...Επανάλαβε" περιλαμβάνει διαδικασίες και λήγει με τη φράση

______________

101. Η εκτέλεση του κάτωθι τμήματος προγράμματος :

SUM ← 0

P ← 0

ΔΙΑΒΑΣΕ A

ΌΣΟ (A>0) ΕΠΑΝΑΛΑΒΕ

Page 84: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

84

http://mathhmagic.blogspot.gr/

ΑΝ(A MOD 2=0) ΤΟΤΕ

SUM ← SUM + A

ΑΛΛΙΩΣ

P ← P * A

ΤΕΛΟΣ_ΑΝ

ΔΙΑΒΑΣΕ A

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

όπου Α ακέραιος, μας δίνει

α) το γινόμενο των περιττών και 0 για τους αρτίους β) το άθροισμα των περιττών και το γινόμενο των

άρτιων.

γ) το άθροισμα των περιττών και 0 για τους άρτιους δ) το άθροισμα των αρτίων και 0 για τους περιττούς.

102. Δίνεται το παρακάτω τμήμα προγράμματος

DA ← 0

DP ← 0

ΓΙΑ I ΑΠΟ A ΜΕΧΡΙ 4 ΜΕ_ΒΗΜΑ –2

ΑΝ (I MOD 2=0) ΤΟΤΕ

DA ← DA + 1

ΑΛΛΙΩΣ

DP ← DP + 1

ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

αν το αποτέλεσμα είναι DA=0 και DP=3, τότε ποια τιμή θα μπορούσε να έχει το a;

Α) A=11 Β) A=9 Γ) A=8 Δ) A=2

103. Τι θα εκτυπωθεί, μετά την εκτέλεση του παρακάτω τμήματος προγράμματος :

Α ← 2

Β ← -3

ΌΣΟ Β <= 0 ΕΠΑΝΑΛΑΒΕ

Β ← Β + 1

Α ← Α + Β - 1

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ Α

α) 2 β) -4 γ) -1 δ) 4

104. Οι εντολές μεταξύ του "Αρχή_Επανάληψης...Μέχρις_ότου" ...

α. εκτελούνται μέχρι η συνθήκη να γίνει αληθής

β. εκτελούνται μέχρι η συνθήκη να γίνει ψευδής

γ. μπορεί να μην εκτελεστούν καμία επανάληψη

δ. θα εκτελεστούν οπωσδήποτε μια φορά

105. Το παρακάτω τμήμα αλγορίθμου

Σ ← 0

Για i από 1000 μέχρι 9999 με_βήμα 2

Σ ← Σ + i

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

α. Υπολογίζει το άθροισμα των τετραψήφιων αριθμών

β. Υπολογίζει το άθροισμα των τετραψήφιων άρτιων αριθμών

γ. Υπολογίζει το άθροισμα των τετραψήφιων περιττών

106. Όταν σε μια δομή "Για" παραλείπεται το βήμα, τότε εννοείται ως βήμα το 1

107. Η δομή "Όσο" τερματίζεται όταν η συνθήκη γίνεται ψευδής

108. Εντός της δομής "Για" δεν επιτρέπεται η τροποποίηση της τιμής του μετρητή

Page 85: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

85

http://mathhmagic.blogspot.gr/

109. Να αντιστοιχίσετε τα στοιχεία των δυο στηλών

Α Εκφράσεις Β Αλγοριθμικές Έννοιες

1. α > β +1974 Α) Δομή επιλογής

2. ΓΡΑΨΕ Χ Β) Δομή επανάληψης

3. Αν α > 666 τότε

...

Τέλος_αν

Γ) Αριθμητική έκφραση

4. α ← α - 20 Δ) Μεταβλητή

5. α + β / 2 Ε) Εντολή εξόδου

6. Διάβασε Κ,Λ ΣΤ) Εντολή εισόδου

Ζ) Λογική έκφραση

Η) Εντολή εκχώρησης τιμής

ΣΥΜΠΛΗΡΩΜΑΤΙΚΟ ΣΕΤ ΑΣΚΗΣΕΩΝ

1.Σε μια εταιρεία η διοίκηση αποφάσισε να κάνει περικοπές προσωπικού. Η τακτική που θα ακολουθήσει

είναι η εξής: θα απολύσει όλους τους εργαζομένους που ανήκουν στην κατηγορία 1 και έχουν μηνιαίο

μισθό μεγαλύτερο από 1500 Ευρώ, μόνο αν το σύνολο των μηνιαίων αποδοχών των εργαζομένων ξεπερνά

τα 500.000 Ευρώ. Να γραφεί αλγόριθμος ο οποίος να διαβάζει τους μισθούς και την κατηγορία που

ανήκουν οι εργαζόμενοι και να εμφανίζει πόσοι υπάλληλοι θα απολυθούν, αν τελικά χρειαστεί να

απολυθούν κάποιοι υπάλληλοι.

2.Να γραφεί αλγόριθμος ο οποίος θα διαβάζει το βαθμό πρόσβασης της Β' και Γ' Λυκείου, των 150

μαθητών της Γ' Λυκείου. Αν για κάποιον μαθητή ο βαθμός πρόσβασης της Β' Λυκείου είναι μεγαλύτερος

από το βαθμό πρόσβασης της Γ' Λυκείου, τότε ο τελικός βαθμός πρόσβασης υπολογίζεται ως εξής:

0.3*Βαθμός Β' Λυκείου + 0.7*Βαθμός Γ' Λυκείου.

Διαφορετικά, ο τελικός βαθμός πρόσβασης ισούται με το βαθμό πρόσβασης της Γ' Λυκείου. Να εμφανιστεί

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

πρόσβασης της Β' Λυκείου.

3.Ένας τραγουδιστής έκανε μια περιοδεία σε 25 επαρχιακές πόλεις της Ελλάδος. Για κάθε συναυλία

ξοδεύτηκαν κάποια χρήματα. Κάθε άτομο που παρακολουθεί τη συναυλία πληρώνει 8 Ευρώ. Να γραφεί

αλγόριθμος ο οποίος θα διαβάζει το όνομα της πόλης, τα έξοδα της παραστάσεως και τα άτομα που την

παρακολούθησαν και θα υπολογίζει το κέρδος του τραγουδιστή.Αν σε κάποια πόλη υπήρξε ζημιά, τότε θα

εμφανίζεται το όνομα της πόλης με το μήνυμα να μην επαναληφθεί η συναυλία το επόμενο καλοκαίρι.

4.Το μηνιαίο οικογενειακό επίδομα που δικαιούται μια οικογένεια εξαρτάται από τον αριθμό των παιδιών

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

πίνακα:

Αριθμός παιδιών Επίδομα για κάθε παιδί

1-2 10 Ευρώ

3-4 20 Ευρώ

πάνω από 5 30 Ευρώ

Να γραφεί αλγόριθμος ο οποίος θα διαβάζει για 200 οικογένειες το πλήθος των παιδιών και θα υπολογίζει

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

πολύτεκνων οικογενειών.

Page 86: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

86

http://mathhmagic.blogspot.gr/

5.Στις τελευταίες εξετάσεις για το First Certificate το φροντιστήριο Αγγλικών English XVZ εκπροσωπήθηκε

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

πήραν στο πτυχίο τους (Α, Β, C) και να εκτυπώνει το ποσοστό επιτυχίας του φροντιστηρίου καθώς και το

πόσα άτομα τελικά δεν κατόρθωσαν να αποκτήσουν το πτυχίο των Αγγλικών.

6.Ένα φορτηγό μπορεί να μεταφέρει 40 κιβώτια διαφορετικού βάρος του καθένα. Να γραφεί αλγόριθμος

που θα διαβάζει το βάρος του κάθε ενός από τα 40 κιβώτια σε κιλά και να εμφανίζει το συνολικό βάρος το

οποίο θα μεταφέρει το φορτηγό σε τόνους.

7.Σε μια γραπτή εξεταστική δοκιμασία συμμετείχαν 200 υποψήφιοι. Η βαθμολόγηση των γραπτών έγινε

στην βαθμολογική κλίμακα από 1 έως 100 ως εξής: το κάθε γραπτό αξιολογείται αρχικά από δύο

βαθμολογητές και αν η διαφορά των δύο βαθμολογητών είναι μεγαλύτερη από 12 τότε το γραπτό

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

αναβαθμολόγηση είναι ο μέσος όρος των βαθμών των δυο βαθμολογητών, ενώ στην περίπτωση

αναβαθμολόγησης ο τελικός βαθμός υπολογίζεται ως εξής:

• Αν ο βαθμός του τρίτου βαθμολογητή είναι ίσος με το μέσο όρο (Μ.Ο.) των βαθμών των δύο πρώτων

βαθμολογητών, τότε ο τελικός βαθμός είναι ο Μ.Ο.

• Αν ο βαθμός του τρίτου βαθμολογητή είναι μικρότερος από το μικρότερο βαθμό (ΜΙΝ) των δύο πρώτων

βαθμολογητών, τότε ο τελικός βαθμός είναι ο ΜΙΝ.

• Διαφορετικά, ο τελικός βαθμός είναι ο μέσος όρος του βαθμού του τρίτου βαθμολογητή με τον

πλησιέστερο προς αυτόν βαθμό των δύο πρώτων βαθμολογητών.

Να αναπτύξετε πρόγραμμα το οποίο:

Α) Για κάθε ένα από τα 200 γραπτά :

1. Να διαβάζει τον βαθμό του πρώτου και του δεύτερου βαθμολογητή

2. σε περίπτωση που το βαθμό χρειάζεται αναβαθμολόγηση, να διαβάζει και τον βαθμό του τρίτου

βαθμολογητή

3 .να υπολογίζει και να εκτυπώνει τον τελικό βαθμό του γραπτού σύμφωνα με την παραπάνω διαδικασία.

Β) Να εκτυπώνει το ποσοστό των γραπτών που χρειάστηκε να γίνει αναβαθμολόγηση.

Παρατήρηση: Ο κάθε βαθμός που διαβάζεται είναι από 1 έως 100.

8.Το τυχερό παιχνίδι «Τζόκερ», παίζεται ως εξής: πραγματοποιείται κλήρωση και προκύπτουν πέντε

τυχεροί αριθμοί και ένας αριθμός από το 1 έως το 20 που έχει το ρόλο του τζόκερ. Σε κάθε κλήρωση που

πραγματοποιείται κληρώνεται πάντα ένας αριθμός ως τζόκερ.

Να γραφεί πρόγραμμα που για 200 κληρώσεις:

α) να διαβάζει τον αριθμό τζόκερ που προέκυψε σε κάθε μια κλήρωση κάνοντας έλεγχο εάν είναι

επιτρεπτός αριθμός.

β) να υπολογίζει και να εμφανίζει την συχνότητα εμφάνισης των αριθμών τζόκερ 1 ,8, 14, 19 κατά την

διάρκεια των 100 κληρώσεων.

9. Ένα κατάστημα ρούχων στα πλαίσια μιας ανακαίνισης που πραγματοποίησε αποφάσισε να

καταχωρήσει το κάθε ένα ρούχο που πουλάει στον Η/Υ ώστε να είναι ευκολότερη η επεξεργασία τους. Για

τον σκοπό αυτό χώρισε τα ρούχα σε τρεις κατηγόριες τις A, B,C . Να γραφεί αλγόριθμος που :

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

κατηγορία εξασφαλίζοντας ότι μια εκτ των Α ή Β ή C ε και την τιμή του,

β) να βρίσκει και να εμφανίζει :

1. πόσα ρούχα ανήκουν στην κατηγορία Α και έχουν τιμή πάνω από 150€,

2. το είδος του ποιου ακριβού ρούχου της κατηγορίας Β (υπάρχει μόνο ένα),

3. το είδος του ποιου φθηνού ρούχου της κατηγορίας C (υπάρχει μόνο ένα).

10.Μια πετρελαιοπηγή παράγει 5.200.000 βαρέλια πετρελαίου. Αν ο αριθμός μειώνεται κάθε χρόνο κατά

5% να γραφεί αλγόριθμος που θα υπολογίζει και θα εμφανίζει πόσα βαρέλια πετρελαίου θα παράγει

μετά από 15 χρόνια.

Page 87: Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης

87

http://mathhmagic.blogspot.gr/

11.*Μια κάτοχος πιστωτικης κάρτας Stylewatch κέρδισε ηλεκτρονική δωροεπιταγή αξίας 500 ευρώ την

οποία πρέπει να ξοδέψει εξ ολοκλήρου σε μια επίσκεψη της στο ηλεκτρονικό κατάστημα. Να αναπτύξετε

αλγόριθμο ο οποίος

α) Θα διαβάζει την τιμή κάθε προϊόντος που επιθυμεί να αγοράσει η καταναλώτρια καθώς και την

επωνυμία (μάρκα) του προϊοντος.

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

αλγόριθμος θα επιτρέπει στην καταναλώτρια να προβεί στην αγορά αν και μόνο αν διαθέτει στην

ηλεκτρονική δωροεπιταγή επαρκές υπόλοιπο. Αλλιώς θα ρωτάει την καταναλώτρια αν θέλει να συνεχίσει

με επόμενη αγορά τυπώνοντας το διαθέσιμο υπόλοιπο. Αν το διαθέσιμο υπόλοιπο γίνει μηδέν θα

τερματίζει από μόνος του τυπώνοντας μήνυμα «Τέλος Αγορών».

Β) Ο αλγόριθμος πρέπει να τυπώνει το συνολικό ποσό της δωροεπιταγής που ξοδευτηκε καθώς και τα

τεμάχια που αγοράστηκαν μεε αυτό το ποσό.

Γ) Στην περίπτωση που κατά την διάρκεια των αγορών τα τεμάχια της μάρκας LesPetites που

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

ηλεκτρονική δωροεπιταγή της καταναλώτριας το επιπλέον ποσό των 50 ευρώ. Αν δε τα τεμάχια της

μάρκας LesPetites που αγοράστηκαν υπερβαίνουν τα 10 τότε στην ηλεκτρονική δωροεπιταγή πιστώνεται

το επιπλέον ποσό των 90 ευρώ.Να εκτυπώνει αν η καναλώτρια επωφελήθηκε από την προσφορά της

μάρκας LesPetites.

Βιβλιογραφία

1.Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον, Τσιωτάκης Π.,Εκδόσεις Σαββάλα

2.Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον,Ντζιος,Κοψίνης,Σταυρόπουλος,Εκδόσεις

Σαββάλα

3.Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον,Δουκάκης,Ψαλτίδου, Εκδόσεις Νέων

Τεχνολογιών

4.Μαθηματα προγραμματισμού: Εισαγωγή στην γλώσσα Pascal Αλεβιζος.Θ.Καμπουρελης.,Εκδόσεις

Θυμέλη

5.Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον, Χονδρογιάννης Ελ, Σουφλής Δ. Εκδόσεις

Πατάκη

6.Γλώσσα προγραμματισμού Pascal, Καρατζά Ε.

7.Δομημένος προγραμματισμός σε Pascal,Κάββουρα Ι. Εκδόσεις Κλειδάριθμος

8. 50+χ θέματα Ανάπτυξης εφαρμογών σε προγραμματιστικό περιβάλλον.Κάππος Γ. Εκδόσεις

Κλειδάριθμος

9)Δομες δεδομένων και οργάνωση αρχείων, Κοιλια Χ ,Εκδόσεις Νέων Τεχνολογιών

10. Αρχείο ΣΟΚΟΝ

Σχετικοί Δικτυακοί ιστότοποι

1) http://alkisg.mysch.gr/steki/

2) http://ptsiotakis.blogspot.gr/

3) http://www.spinet.gr/glossomatheia/(ΓλωσσοΜάθεια)

4) http://dide.ilei.sch.gr/keplinet/education/aepp_for.php

5) http://mathhmagic.blogspot.gr/