You are on page 1of 63

Δομή Ακολουθίας - Μέρος 1

2.1.1.Ασκ1. Ποιά από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε


έναν αλγόριθμο

i. Τιμή Αποδεκτό

ii. Τιμή-1 Μη αποδεκτός ο χαρακτήρας "-", είναι το σύμβολο της αφαίρεσης

iii. Τιμή_2 Αποδεκτό

iv. Χασρτοπσ Αποδεκτό, ο αλγόριθμος δεν ειδιαφέρεται για την ορθογραφία

v. Τιμή.δ Μη αποδεκτός ο χαρακτήρας ".", χρησιμοποιείται στους δεκαδικούς αριθμούς

vi. τ Αποδεκτό

vii. Γ/ε4 Μη αποδεκτός ο χαρακτήρας "/", είναι σύμβολο της διαίρεσης

viii. τιμή 2 Μη αποδεκτός ο χαρακτήρας του κενού " ", πρέπει να έχουμε μά λέξη

ix. ΤΕΤΕΤΕΤΕ Αποδεκτό, ο αλγόριθμος δεν ειδιαφέρεται για την ορθογραφία

x. Τέλος Μη αποδεκτό όνομα, αποτελεί δεσμευμένη λέξη

xi. 2α Μη αποδεκτό, δεν επιτρέπεται το όνομα να ξεκινά απο αριθμητικό ψηφίο

xii. Τέλος_α Αποδεκτό, για τον αλγόριθμο οι λέξεις Τέλος και Τέλος_α είναι διαφορετικές

2.1.1.Ασκ2. Να κρίνετε για την ορθότητά τους τις παρακάτω εντολές εκχώρησης τιμής

i. τιμή ← "αρκετά" Σωστή

ii. τιμή ← τιμή + 3 Σωστή, αν η μεταβλητή τιμή είναι αριθμητική

iii. α + τιμή ←6 Λάθος

iv. τιμή ← ασ ← 6 Λάθος

v. τιμή ← α*β+5 Σωστή, αν οι μεταβλητές α, β και τιμή είναι αριθμητικές


vi. τιμή ← "δ" + 5 Λάθος

vii. τιμή ← "τιμή" + 5 Λάθος, Το "τιμή" δεν είναι μεταβλητή αλλά κείμενο

viii. 2 * τιμή ←6 Λάθος

ix.
τιμή ← 3 * τιμή ^ 2 +
Σωστό
3

x.
Διάβασε τιμή ← τιμή +
Λάθος
3

xi. Διάβασε ← τιμή Λάθος

Σωστή, αν οι μεταβλητές α, β και τιμή είναι αριθμητικές. Το όνομα Διάβασε_τιμή


xii. Διάβασε_τιμή ←α+β
είναι έγκυρο όνομα μεταβλητής

xiii. τιμή ← αριθμός Σωστή, αν οι μεταβλητές τιμή και αριθμός είναι του ιδίου τύπου

xiv. τιμή + 3 ←β+5 Λάθος

xv. τιμή = β + 5 Λάθος

2.1.1.Ασκ3. Πώς θα διατυπωθεί σε εντολή εκχώρησης τιμής, η κάθε μία από τις παρακάτω
αλγεβρικές παραστάσεις

A ← (5 * x ^ 3 + 7 * x ^ 2 + 8) / (8 * x -
i.
6)

B ← 6 * x ^ 4 - z * ((7 * y + 6)/(2 * (x +
ii.
3))- 2) + (9 - y) ^ 3

iii. Γ ← a ^ (3 * x + 2) + (x + 1)/(x ^ 3 - 2)
** 2.1.1.Ασκ4. Ποιες απο τις παρακάτω εντολές εκχώρησης τιμής αποδίδουν σωστά το

αποτέλεσμα της μαθηματικής παράστασης

i. y ← 1/ (7 - x) * 20

ii. y ← 20 / 7 - x

iii. y ← (1 / 7 - x) * 20

iv. y ← 20 / (7 - x)

v. y ← 1 / (7 - x) * 20

y ← 1 / ((7 - x)*
vi.
20)

Λύση

Σωστό
i. y ← 1 / (7 - x) * 20

ii. y ← 20 / 7 - x

iii. y ← (1 / 7 - x) * 20

Σωστό
iv. y ← 20 / (7 - x)

v.
y ← 1 / ((7 - x)*
20)

2.1.1.Ασκ5. Ποιο είναι το αποτέλεσμα από την εκτέλεση των παρακάτω πράξεων

i. 14 mod 5 – 25 mod 8 = 4 – 1 = 3

ii.3 * (3 mod 2) + 4 div (5 mod 3) = 3 * 1 + 4 div 2 = 3 + 2 = 5


iii. 13 mod (27 div 4) = 13 mod 6 = 1

iv. 2^3 + 3 * (27 mod (25 mod 7)) = 8 + 3 * (27 mod 4) = 8 + 3 * 3 = 8 + 9 = 17

v. 13/2 – 3 mod 2 – 3 div 2 = 6.5 – 1 – 1 = 4.5

vi.13/4 + 2 * (5 mod 3) * 4 = 3.25 + 2 * 2 * 4 = 3.25 + 16 = 19.25

vii. 25 mod 22 div 4 = 25 mod 5 = 0 (οι πράξεις εκτελούνται από αριστερά προς τα δεξιά)

viii. ((13 + 2) div 2)/(7 - 4 + 1) = (15 div 2)/4 = 7/4 = 1.75

ix. 3 * (27 mod (23 mod 6)) = 3 * (27 mod 5) = 3 * 2 = 6

παρατήρηση: το σχολικό βιβλίο δεν ορίζει την ιεραρχία σε σχέση με τους τελεστές mod, div και τις κλασικές
πράξεις

** 2.1.1.Ασκ6. Στις παρακάτω εντολές εκχώρησης να αναφέρετε τον τύπο των μεταβλητών
που χρησιμοποιούνται

i. α ←7 αριθμητική

ii. υ ← "4 μέτρα" αλφαριθμητική

iii. συνθήκη1 ← αληθής λογική

iv. λ ← "7" αλφαριθμητική

v. βάρος ← 75.7 αριθμητική

vi. συνθήκη2 ← "ψευδής" αλφαριθμητική

2.1.1.Ασκ7. Δίνεται ο παρακάτω αλγόριθμος. Να παρουσιαστεί ο πίνακας τιμών και οι τιμές


που θα εκτυπωθούν

Αλγόριθμος Πίνακας_Τιμών1
α←3
β ← α + 14
γ ← α * β - 20
α ← (γ - α) div 3
β ← β mod α
γ ← γ - (α + β)
Εκτύπωσε α, β, γ
Τέλος Πίνακας_Τιμών1
Λύση
α: 3 9

17 8
β:

γ: 31 14

Θα εκτυπωθούν οι τιμές της τελευταίας στήλης


2.1.1.Ασκ8. Δίνεται ο παρακάτω αλγόριθμος. Να παρουσιαστεί ο πίνακας τιμών και οι τιμές
που θα εκτυπωθούν

Αλγόριθμος Πίνακας_Τιμών2
X←3
Y←X^3-4
Z ← Y div X
Εκτύπωσε Y, Z, X
X ← (X + Z) mod Y
Y ← (Y + Z) div X
Z←X*Y-Z^2
Εκτύπωσε Y, Z, X
Τέλος Πίνακας_Τιμών2
Λύση

X: 10
3

3
Y: 23

7 -19
Z:

Θα εκτυπωθούν οι τιμές 23, 7, 3 και 3, -19, 10

2.1.1.Ασκ9. Δίνεται το παρακάτω διάγραμμα ροής. Να γραφεί σε μορφή ψευδοκώδικα. Ποιός


είναι ο πίνακας τιμών αν απο το χρήστη εισαχθούν οι τιμές α=5 και β=-2;
Λύση
Αλγόριθμος Μετατροπή
Διάβασε α, β
Χ ← α mod 2
Y←2*α+β^3
Χ←Y*X
Y ← (Y div X) ^ 2
Εκτύπωσε Χ, Υ
Τέλος Μετατροπή
Για τον πίνακα τιμών τοποθετούμε σε μια στήλη όλες τις μεταβλητές του αλγορίθμου και εκτελούμε σειριακά τις
εντολές και τροποποιούμε την αντίστοιχη μεταβλητή

Χ: 1 2

Υ: 2 1

Θα εκτυπωθεί το ζεύγος τιμών 2, 1

2.1.1.Ασκ10. Δίνεται ο παρακάτω αλγόριθμος. Να παρουσιαστεί ο πίνακας τιμών και οι τιμές


που θα εμφανιστούν

Αλγόριθμος Πίνακας_Τιμών3
x ← 84
y ← x mod 5
x ← x div 5 - y ^ 2
z ← (x + y) / 2
y←z-y
Εμφάνισε x, y, z
Τέλος Πίνακας_Τιμών3
Λύση

x: 0
84

-2
y: 4

2
z:

Θα εμφανιστούν οι τιμές της τελευταίας στήλης


Δομή Ακολουθίας - Μέρος 2

 2.1.2.Ασκ1. Να γραφεί αλγόριθμος ο οποίος θα διαβάζει τρείς αριθμούς και θα εκτυπώνει το


άθροισμα, το γινόμενο και το μέσο όρο τους

Λύση
Αλγόριθμος Υπολογισμοί
Διάβασε α, β, γ
άθροισμα ← α + β + γ
γινόμενο ← α * β * γ
μέσος_όρος ← (α + β + γ) / 3 ! θα μπορούσε να είναι και άθροισμα / 3
Εκτύπωσε "Το άθροισμα είναι ", άθροισμα
Εκτύπωσε "Το γινόμενο είναι ", γινόμενο
Εκτύπωσε "Ο μέσος όρος είναι ", μέσος_όρος
Τέλος Υπολογισμοί

2.1.2.Ασκ2. Να αναπτυχθεί αλγόριθμος που θα διαβάζει ένα χρηματικό ποσό σε δραχμές και
θα υπολογίζει και θα εκτυπώνει το αντίστοιχο ποσό σε €

Λύση
Αλγόριθμος Μετατροπή
ισοτιμία ← 340.75 ! η μεταβλητή ισοτιμία ουσιαστικά παίζει ρόλο σταθεράς
Διάβασε ποσό_δρχ
ποσό_euro ← ποσό_δρχ / ισοτιμία
Εκτύπωσε "Το ποσό που δόθηκε αντιστοιχεί σε ", ποσό_euro, " €"
! εκτύπωση σε μορφή α € και β λεπτά
euro ← (100 * ποσό_δρχ) div (100 * ισοτιμία)
! πρέπει και οι δυο μεταβλητές να είναι ακέραιοι
cents ← (100 * ποσό_δρχ) mod (100 * ισοτιμία)
! πρέπει και οι δυο μεταβλητές να ακέραιοι
Εκτύπωσε "Το ποσό που δόθηκε αντιστοιχεί σε ", euro, " € και ", cents, " λεπτά"
Τέλος Μετατροπή

2.1.2.Ασκ3. Να αναπτυχθεί αλγόριθμος που θα διαβάζει μια γωνία σε μοίρες και θα εκτυπώνει
τη την τιμή της σε ακτίνια (rad). Ισχύει πως μια πλήρης γωνία 360 μοιρών είναι 2π ακτίνια

Λύση
Αλγόριθμος Ακτίνια
π ← 3.14
! η μεταβλητή π ουσιαστικά παίζει ρόλο σταθεράς για τον συγκεκριμένο αλγόριθμο
Διάβασε γωνία_μοίρες
γωνία_ακτίνια ← γωνία_μοίρες * (2 π / 360)
Εκτύπωσε "Η γωνία σε ακτίνια είναι ", γωνία_ακτίνια
Τέλος Ακτίνια

2.1.2.Ασκ4. Στην αλυσίδα καταστημάτων MakroX markets οι τιμές των προϊόντων στις
ετικέττες αναγράφονται χωρίς το ΦΠΑ. Να αναπτυχθεί ο αλγόριθμος που εκτελεί η ταμειακή μηχανή
που θα διαβάζει την τιμή πληρωμής (χωρίςΦΠΑ) και το ποσό που έδωσε ο πελάτης και θα
υπολογίζει το πληρωτέο ποσό και τα ρέστα που δικαιούται ο πελάτης (συντελεστής ΦΠΑ 18%)
Λύση
Αλγόριθμος Ταμειακή_Μηχανή
Διάβασε τιμή
Πληρωτέο_Ποσό ← τιμή + 0.18 * τιμή ! Θα μπορούσε να είναι και 1.18 * τιμή
Διάβασε Χαρτονόμισμα ! Θεωρούμε οτι Χαρτονόμισμα > Πληρωτέο_Ποσό
Ρέστα ← Χαρτονόμισμα - Πληρωτέο_Ποσό
Εκτύπωσε "Το πληρωτέο ποσό είναι ", Πληρωτέο_Ποσό, " ενώ υπάρχουν και ρέστα ", Ρέστα
Τέλος Ταμειακή_Μηχανή

2.1.2.Ασκ5. Να αναπτυχθεί αλγόριθμος που θα διαβάζει το όνομα ενός μαθητή της Γ' Λυκείου,
τους βαθμούς του στα δυο τετράμηνα καθώς και τον γραπτό του βαθμό στις πανελλήνιες εξετάσεις
και να υπολογίζει τον βαθμός πρόσβασης του μαθητή αυτού στο συγκεκριμένο μάθημα (Σημείωση:
ο βαθμός πρόσβασης υπολογίζεται απο την πράξη 70% * γραπτός βαθμός και 30% * προφορικός
βαθμός, όπου ο προφορικός βαθμός είναι ο μέσος όρος των βαθμών στα δυο τετράμηνα)

Λύση
Αλγόριθμος Υπολογισμός_Βαθμός_Πρόσβασης
Διάβασε Όνομα, Βαθμός_ΤετΑ, Βαθμός_ΤετΒ, Γραπτός_Βαθμός
Βαθμός_Πρόσβασης ← 0,7 * Γραπτός_Βαθμός + 0,3 * (Βαθμός_ΤετΑ + Βαθμός_ΤετΒ) / 2
Εκτύπωσε "Ο μαθητής ", Όνομα, " έχει βαθμό πρόσβασης ", Βαθμός_Πρόσβασης
Τέλος Υπολογισμός_Βαθμός_Πρόσβασης

2.1.2.Ασκ6. Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει έναν θετικό αριθμό x και θα

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

Λύση

Αλγόριθμος ΣυνάρτησηFx
Διάβασε Χ ! Θεωρούμε πως Χ > 0
Fx ← (X - 4) / (X + 1) ^ 3
Εκτύπωσε "Η τιμή της συνάρτησης είναι", Fx
Τέλος ΣυνάρτησηFx

2.1.2.Ασκ7. Η εταιρεία κινητής τηλεφωνίας CityTel παρέχει στους συνδρομητές της λογότυπα
και μελωδίες για τα κινητά τους. Υπάρχουν δύο εναλλακτικές προσφορές:
α. Εγγραφή στο CityTel club, με πάγιο μηνιαίο κόστος 1.40 €, και επιπλέον χρέωση 0.23 € για κάθε
ένα από τα παραπάνω στοιχεία που καταβιβάζονται στο κινητό του συνδρομητή.
β. Χρέωση 0,53 € για κάθε λογότυπο ή μελωδία που ζητείται.
Να γραφεί αλγόριθμος που θα διαβάζει το σύνολο των λογότυπων και μελωδιών που κάποιος
συνδρομητής καταβίβασε στο κινητό του και να εκτυπώνει τη χρέωση και με τις δυο παραπάνω
προσφορές

Λύση
Αλγόριθμος CityTel
Διάβασε logos, melodies
κόστος1 ← 1.40 + 0.23 * (logos + melodies)
κόστος2 ← 0.53 * (logos + melodies)
Εκτύπωσε "Σύμφωνα με την πρώτη προσφορά θα πληρώσετε ", κόστος1
Εκτύπωσε "Σύμφωνα με την δευτερη προσφορά θα πληρώσετε ", κόστος2
Τέλος CityTel
2.1.2.Ασκ8. Η εταιρεία κινητής τηλεφωνίας CityTel χρεώνει τις υπηρεσίες τηλεφωνίας που
παρέχει στους συνδρομητές της ως εξής: Πάγια χρέωση 11 €, κάθε δευτερόλεπτο συνομιλίας 0.03 €
ενώ κάθε μήνυμα SMS χρεώνεται προς 0.84 €. Να αναπτυχθεί αλγόριθμος που θα διαβάζει τον
κωδικό ενός συνδρομητή, το χρόνο ομιλίας και τα μηνύματα που έστειλε τον περασμένο μήνα και
θα εκτυπώνει τον κωδικό και το ποσό που πρέπει να εισπράξει η CityTel. Τονίζεται οτι οι παραπάνω
τιμές προσαυξάνονται με ΦΠΑ 18%

Λύση
Αλγόριθμος Λογαριαμός_CityTel
Διάβασε Κωδικός_Συνδρομητή
Διάβασε Χρόνος_Ομιλίας, Αριθμός_Μηνυμάτων ! Ο χρόνος ομιλίας είναι σε δευτερόλεπτα
ΦΠΑ ← 0.18 ! Ο συντελεστής ΦΠΑ μπορεί να θεωρηθεί σταθερά για τον αλγόριθμο
Πάγιο ← 11
Χρέωση ← Πάγιο + Χρόνος_Ομιλίας * 0.03 + Αριθμός_Μηνυμάτων * 0.84
Πληρωτέο_Ποσό ← 1.18 * Χρέωση
Εκτύπωσε "Ο συνδρομητής ", Κωδικός_Συνδρομητή, " θα πληρώσει ", Πληρωτέο_Ποσό
Τέλος Λογαριαμός_CityTel

2.1.2.Ασκ9. Η διοίκηση ενός εργοστασίου αποφάσισε να δώσει σε όλους τους εργαζομένους


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

Λύση
Αλγόριθμος Εργοστάσιο
Διάβασε μισθός
ποσοστό_επιδόματος ← 11 / 100
επίδομα ← μισθός * ποσοστό_επιδόματος
Εκτύπωσε "Το επίδομα εξομάλυνσης ", επίδομα
τελικός_μισθός ← μισθός + επίδομα
Εκτύπωσε "Ο τελικός μισθός του εργαζομένου είναι ", τελικός_μισθός
Τέλος Εργοστάσιο

2.1.2.Ασκ10. Η εταιρεία κινητής τηλεφωνίας CityTel αποφάσισε να δώσει δωρεά σε ιδρύματα


ποσοστό 60% επί των εσόδων της από την αποστολή γραπτών μηνυμάτων μέσω του δικτύου της τις
διακοπές των Χριστουγέννων, το κόστος κάθε μηνύματος είναι 0.072 €. Να αναπτύξετε αλγόριθμο
που θα διαβάζει το πλήθος των μηνυμάτων που εστάλθησαν τα Χριστούγεννα και να εκτυπώνει το
ποσό που θα δοθούν στα ιδρύματα και τα κέρδη της εταιρείας

Λύση
Αλγόριθμος Δωρεά
Διάβασε πλήθος_μηνυμάτων
τιμή_μηνύματος ← 0.072
ποσό ← πλήθος_μηνυμάτων * τιμή_μηνύματος
ποσό_δωρεάς ← ποσό * 60 / 100
ποσό_κέρδη ← ποσό - ποσό_δωρεάς
Εκτύπωσε "Το ποσό της δωρεάς είναι ", ποσό_δωρεάς
Εκτύπωσε "Τα κέρδη είναι ", ποσό_κέρδη
Τέλος Δωρεά
2.1.2.Ασκ11. Μια εταιρεία πληροφορικής διευκολύνει τους πελάτες της για την αγορά
υπολογιστών δίνοντάς τους το δικαίωμα να πραγματοποιήσουν την αγοράς τους σε όσες μηνιαίες
δόσεις επιθυμούν. Υπάρχει όμως επιβάρυνση στο αρχικό ποσό της τάξης του 11%. Να αναπτυχθεί
αλγόριθμος που θα διαβάζει τις δόσεις που επιθυμεί ο πελάτης και το ποσό του υπολογιστή που
θέλει να αγοράσει και θα εκτυπώνει το ποσό αποπληρωμής (με τον τόκο) και το ποσό κάθε δόσης

Λύση
Αλγόριθμος Αγορά_Υπολογιστή
Διάβασε τιμή_αγοράς, δόσεις
ποσοστό_τόκος ← 11 / 100
ποσό_αποπληρωμής ← ποσοστό_τόκος * τιμή_αγοράς + τιμή_αγοράς
Εκτύπωσε "Το ποσό αποπληρωμής είναι ", ποσό_αποπληρωμής
ποσό_δόσης ← ποσό_αποπληρωμής / δόσεις
Εκτύπωσε "Το ποσό κάθε δόσης είναι ", ποσό_δόσης
Τέλος Αγορά_Υπολογιστή

2.1.2.Ασκ12. Το Ενιαίο Λύκειο Χιλιομοδίου αποτελείται από 6 τμήματα γενικής παιδείας - δύο
για κάθε τάξη. Να αναπτυχθεί ο αλγόριθμος που θα διαβάζει τον αριθμό των αγοριών και των
κοριτσιών ανά τμήμα και θα υπολογίζει και θα εκτυπώνει:
i. Το πλήθος των μαθητών ανά τάξη και το πλήθος των μαθητών του σχολείου.
ii. Το πλήθος των αγοριών και το πλήθος των κοριτσιών του σχολείου
iii. Το ποσοστό των αγοριών και κοριτσιών επί του συνόλου

Λύση
Αλγόριθμος Στατιστικά_Λυκείου_Χιλιομοδίου
Διάβασε Α1_αγόρια, Α1_κορίτσια, Α2_αγόρια, Α2_κορίτσια
Διάβασε Β1_αγόρια, Β1_κορίτσια, Β2_αγόρια, Β2_κορίτσια
Διάβασε Γ1_αγόρια, Γ1_κορίτσια, Γ2_αγόρια, Γ2_κορίτσια
! ερώτημα i
Α_τάξη ← Α1_αγόρια + Α1_κορίτσια + Α2_αγόρια + Α2_κορίτσια
Β_τάξη ← Β1_αγόρια + Β1_κορίτσια + Β2_αγόρια + Β2_κορίτσια
Γ_τάξη ← Γ1_αγόρια + Γ1_κορίτσια + Γ2_αγόρια + Γ2_κορίτσια
σχολείο ← Α_τάξη + Β_τάξη + Γ_τάξη
Εκτύπωσε "Το πλήθος των μαθητών της Α τάξης είναι ", Α_τάξη
Εκτύπωσε "Το πλήθος των μαθητών της Β τάξης είναι ", Β_τάξη
Εκτύπωσε "Το πλήθος των μαθητών της Γ τάξης είναι ", Γ_τάξη
Εκτύπωσε "Το πλήθος των μαθητών του σχολείου είναι ", σχολείο
! τέλος ερώτημα i
! ερώτημα ii
αγόρια ← Α1_αγόρια + Α2_αγόρια + Β1_αγόρια + Β2_αγόρια + Γ1_αγόρια + Γ2_αγόρια
κορίτσια ← Α1_κορίτσια + Α2_κορίτσια + Β1_κορίτσια + Β2_κορίτσια + Γ1_κορίτσια +
Γ2_κορίτσια
Εκτύπωσε "Το πλήθος των αγοριών του σχολείου είναι ", αγόρια
Εκτύπωσε "Το πλήθος των κοριτσιών του σχολείου είναι ", κορίτσια
! τέλος ερώτημα ii
ποσοστό_αγοριών ← 100 * (αγόρια / σχολείο) ! ερώτημα iii
ποσοστό_κοριτσιών ← 100 * (κορίτσια / σχολείο)
Εκτύπωσε "Το ποσοστό των αγοριών στο σχολείο είναι ", ποσοστό_αγοριών
Εκτύπωσε "Το ποσοστό των κοριτσιών στο σχολείου είναι ", ποσοστό_κοριτσιών
Τέλος Στατιστικά_Λυκείου_Χιλιομοδίου
Δομή Ακολουθίας - Μέρος 3

2.1.3.Ασκ1. Να γραφεί αλγόριθμος ο οποίος θα αντιμεταθέτει τα περιεχόμενα δυο


μεταβλητών

Λύση

α ←
Η κλασική προσέγγιση των μαθητών για την επίλυση του συγκεκριμένου προβλήματος είναι: β
β ←
α

Ας υποθέσουμε οτι η μεταβλητή α έχει τιμή 3 και η μεταβλητή β έχει 5, το αποτέλεσμα της πρώτης εντολής
είναι η μεταβλητή α να λάβει την τιμή 5 (καθώς και η β). Η δεύτερη εντολή δεν θα αλλάξει τις τιμές των δύο
μεταβλητών. Άρα, η τιμή 3 που ήταν αποθηκευμένη στη μεταβλητή α θα χαθεί. Το ίδιο φυσικά θα συνέβαινε αν
οι δυο παραπάνω εντολές εκτελούνταν με αντίστροφη τη σειρά, θα χανόταν η τιμή του β, το 5.

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

Αλγόριθμος Αντιμετάθεση
Δεδομένα // α, β //
βοηθητική ← α
α←β
β ← βοηθητική ! πρώην τιμή της μεταβλητής α
Αποτελέσματα // α, β //
Τέλος Αντιμετάθεση

** 2.1.3.Ασκ2. Είναι γνωστό από τον


δεύτερο κανόνα του Kirchhoff ότι: «το αλγεβρικό
άθροισμα των τάσεων στα άκρα των στοιχείων σε
ένα ηλεκτρικό βρόχο είναι μηδέν». Οπότε στο
διπλανό κύκλωμα αν εφαρμόσουμε τον δεύτερο
κανόνα (νόμο) του Kirchhoff θα έχουμε Ε-ΙR1-
IR2=0. Να αναπτύξετε αλγόριθμο που θα
υπολογίζει και θα εμφανίζει α) η ένταση του
ρεύματος που διαρέει το κύκλωμα και β) η τάση
στα άκρα της αντίστασης R2. Ο αλγόριθμος να
δέχεται σαν είσοδο το Ε καθώς και τα R1, R2

Λύση
Αλγόριθμος Κύκλωμα
Διάβασε E, R1, R2
Ι ← E / (R1 + R2)
V2 ← I * R2
Εμφάνισε "Η ένταση είναι ", I
Εμφάνισε "Η τάση στην αντίσταση R2 είναι ", V2
Τέλος Κύκλωμα

2.1.3.Ασκ3. Η ημερήσια αποζημίωση ενός εργαζόμενου είναι 35 €. Το ποσοστό των


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

Λύση
Αλγόριθμος Μισθοδοσία
ημερομίσθιο ← 35
κρατ_ασφάλισης ← 11 / 100
κρατ_φόρος ← 8.5 / 100
Διάβασε Όνομα, ημέρες
Μικτές_αποδοχές ← ημερομίσθιο * ημέρες
Ασφάλιση ← κρατ_ασφάλισης * Μικτές_αποδοχές
Φόρος ← κρατ_φόρος * Μικτές_αποδοχές
Καθαρές_αποδοχές ← Μικτές_αποδοχές - Ασφάλιση - Φόρος
Εμφάνισε "Ο εργαζόμενος ", όνομα, " έχει καθαρές αποδοχές ", Καθαρές_αποδοχές
Τέλος Μισθοδοσία

2.1.3.Ασκ4. Η εταιρεία ΣΔΧ έχει τρία υποκαταστήματα. Να αναπτυχθεί αλγόριθμος που θα


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

Λύση
Αλγόριθμος Έσοδα_ΣΔΧl
Διάβασε Έσοδα_Α, Έσοδα_Β, Έσοδα_Γ
Συνολικά_Έσοδα ← Έσοδα_Α + Έσοδα_Β + Έσοδα_Γ
ποσοστό_Α ← 100 * (Έσοδα_Α / Συνολικά_Έσοδα)
ποσοστό_Β ← 100 * (Έσοδα_Β / Συνολικά_Έσοδα)
ποσοστό_Γ ← 100 * (Έσοδα_Γ / Συνολικά_Έσοδα)
Εκτύπωσε "Τα συνολικά έσοδα της εταιρείας ΣΔΧ είναι ", Συνολικά_Έσοδα
Εκτύπωσε "Το ποσοστό επί των εσόδων του υποκαταστήματος Α είναι ", ποσοστό_Α
Εκτύπωσε "Το ποσοστό επί των εσόδων του υποκαταστήματος Β είναι ", ποσοστό_Β
Εκτύπωσε "Το ποσοστό επί των εσόδων του υποκαταστήματος Γ είναι ", ποσοστό_Γ
Τέλος Έσοδα_ΣΔΧ

2.1.3.Ασκ5. Τα 4 υποκαταστήματα της εταιρείας ΧΥΖ θα πάρουν επιχορήγηση για την


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

Λύση
Αλγόριθμος Επιχορήγηση
Διάβασε Συν_Ποσό
Διάβασε Κέρδη_Α, Κέρδη_Β, Κέρδη_Γ, Κέρδη_Δ
Συνολικά_κέρδη ← Κέρδη_Α + Κέρδη_Β + Κέρδη_Γ + Κέρδη_Δ
επιχορήγηση_Α ← Συν_Ποσό * (Κέρδη_Α / Συνολικά_κέρδη)
επιχορήγηση_Β ← Συν_Ποσό * (Κέρδη_Β / Συνολικά_κέρδη)
επιχορήγηση_Γ ← Συν_Ποσό * (Κέρδη_Γ / Συνολικά_κέρδη)
επιχορήγηση_Δ ← Συν_Ποσό * (Κέρδη_Δ / Συνολικά_κέρδη)
Εκτύπωσε "Η επιχορήγηση που θα πάρει το υποκατάστημα Α είναι ", επιχορήγηση_Α
Εκτύπωσε "Η επιχορήγηση που θα πάρει το υποκατάστημα Β είναι ", επιχορήγηση_Β
Εκτύπωσε "Η επιχορήγηση που θα πάρει το υποκατάστημα Γ είναι ", επιχορήγηση_Γ
Εκτύπωσε "Η επιχορήγηση που θα πάρει το υποκατάστημα Δ είναι ", επιχορήγηση_Δ
Τέλος Επιχορήγηση

2.1.3.Ασκ6. Απο την εταιρεία ΑΘΗΝΑ ΤΡΑΜ σας ζητείται να αναπτύξετε τον αλγόριθμο για το
μηχάνημα αυτόματης πώλησης εισητηρίων. Ο αλγόριθμος δέχεται τον αριθμό των εισητηρίων (των
οποίων το κόστος είναι 0.50 €) και το ποσό πληρωμής και να εκτυπώνει τα ρέστα. Σημειώνεται οτι
για ρέστα δίνονται μόνο κέρματα 50 λεπτών

Λύση
Αλγόριθμος ΑΘΗΝΑ_ΤΡΑΜ
Δεδομένα // εισιτήρια, ποσό_πληρωμής //
τιμή_εισητηρίου ← 0.50
κόστος ← εισιτήρια * τιμή_εισητηρίου
Εκτύπωσε "Το κόστος των εισητηρίων είναι ", κόστος
ρέστα ← ποσό_πληρωμής - κόστος
κέρματα ← ρέστα / 0.50 ! ρέστα πολλαπλάσιο του 0.5, το αποτέλεσμα είναι ακέραιος
Εκτύπωσε "Τα ρέστα είναι ", κέρματα, " κέρματα των 50 λεπτών"
Τέλος μισθοδοσία

2.1.3.Ασκ7. Ένα μηνιαίο περιοδικό πληροφορικής κοστίζει 6.50 €. Ωστόσο, αν κάποιος


επιθυμεί να γίνει συνδρομητής για 1 χρόνο τότε θα έχει έκπτωση 20%. Να αναπτύξετε αλγόριθμο
που θα εκτυπώνει το κόστος για την αγορά 12 μεμονωμένων τευχών και το αντίστοιχο κόστος για
συνδρομή

Λύση
Αλγόριθμος Συνδρομή
διάρκεια_συνδρομής ← 12
τιμή_τεύχους ← 6.50
κανονικό_κόστος ← διάρκεια_συνδρομής * τιμή_τεύχους
Εκτύπωσε "Το κόστος για αγορά 12 τευχών ", κανονικό_κόστος
κόστος_συνδρομής ← κανονικό_κόστος - κανονικό_κόστος * 0.20
Εκτύπωσε "Το κόστος για συνδρομή ", κανονικό_κόστος
Τέλος Συνδρομή

2.1.3.Ασκ8. Μια εταιρεία αποφάσισε να χρηματοδοτήσει την εκπαίδευση του προσωπικού της
στην πληροφορική και για το σκοπό αυτό θα συνεργαστεί με ιδιωτικό κέντρο. Το κόστος
εκπαίδευσης είναι 25 € ανά εκπαιδευόμενο. Ωστόσο, το Υπουργείο Εργασίας χρηματοδοτεί μέσω
Ευρωπαϊκού προγράμματος την εκπαίδευση σε ποσοστό 40%. Να αναπτύξετε αλγόριθμο που να
διαβάζει το πλήθος των ατόμων που θα εκπαιδευτούν και να εκτυπώνει τα χρήματα που θα ξοδέψει
η εταιρεία για την εκπαίδευση του προσωπικού και το αντίστοιχο μερίδιο του Υπουργείου Εργασίας

Λύση
Αλγόριθμος Εκπαίδευση
Διάβασε άτομα
τιμή_άτομο ← 25
συνολικό_κόστος ← άτομα * τιμή_άτομο
μερίδιο_υπουργείου ← συνολικό_κόστος * 0.4
μερίδιο_εταιρείας ← συνολικό_κόστος - μερίδιο_υπουργείου
Εκτύπωσε "Το μερίδιο για την εταιρεία είναι ", μερίδιο_εταιρείας
Εκτύπωσε "Το μερίδιο για το υπουργείο είναι", μερίδιο_υπουργείου
Τέλος Εκπαίδευση
2.1.3.Ασκ9. Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν τριψήφιο αριθμό και θα
επιστρέφει το άθροισμα των ψηφίων του (για παράδειγμα για τον αριθμό 523 θα ισχύει 5 + 2 + 3 =
10)

Λύση
Για να απομονώσουμε τα 3 ψηφία θα χρησιμοποιήσουμε τον τελεστή div. Θα διαιρέσουμε τον αριθμό με το 100,
10

Αλγόριθμος Τριψήφιος
Διάβασε αριθμός
εκατοντάδες ← αριθμός div 100
βοηθητική ← αριθμός mod 100
δεκάδες ← βοηθητική div 10
μονάδες ← βοηθητική mod 10
άθροισμα ← εκατοντάδες + δεκάδες + μονάδες
Εκτύπωσε "Το άθροισμα είναι = ", άθροισμα
Τέλος Τριψήφιος

2.1.3.Ασκ10. Να αναπτύξετε αλγόριθμο που θα διαβάζει έναν τετραψήφιο αριθμό και να τον
μετατρέπει σε πενταψήφιο τοποθετώντας ως κεντρικό ψηφίο τον αριθμό 2

Λύση
Για την επίλυση της άσκησης θα διασπάσουμε τον αριθμό σε δυο μέρη και στη συνέχεια θα δημιουργήσουμε τον
νέο αριθμό. Π.χ. ο αριθμός 2398 θα δημιουργήσει τους αριθμούς 23 και 98. Το 23 θα πολλαπλασιαστεί με το
1000, θα προστεθεί το 200 και το 98 και υα γίνει 23298

Αλγόριθμος Τροποποίηση_αριθμού
Διάβασε αριθμός
πρώτο_μέρος ← αριθμός div 100
δεύτερο_μέρος ← αριθμός mod 100
νέος_αριθμός ← πρώτο_μέρος + 2 * 100 + δεύτερο_μέρος
Εκτύπωσε "Ο νέος αριθμός είναι ", νέος_αριθμός
Τέλος Τροποποίηση_αριθμού

2.1.3.Ασκ11. Να αναπτύξετε αλγόριθμο που να διαβάζει την ημερομηνία γέννησης (ημέρα,


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

Λύση
Για την επίλυση της άσκησης θα μετατρέψουμε και για τις δύο ημερομηνίες τον αριθμό των ημερών που
πέρασαν από το έτος 0, στη συνέχεια θα τις αφαιρέσουμε και θα μετατρέψουμε το αποτέλεσμα σε
έτη/μήνες/ημέρες. Χάρην απλότητας θεωρούμε οτι κάθε έτος έχει 365 μέρες ενώ κάθε μήνας έχει 30 μέρες

Αλγόριθμος Υπολογισμός_Ηλικίας
Διάβασε έτος_γε, μήνας_γε, ημέρα_γε ! έτος_γεννήσεως
Διάβασε έτος_τε, μήνας_τε, ημέρα_τε ! τρέχον_έτος
ημέρες_τρέχοντος_έτους ← 365 * έτος_τε + 30 * (μήνας_τε - 1) + ημέρα_τε
ημέρες_έτους_γεννήσεως ← 365 * έτος_γε + 30 * (μήνας_γε -1) + ημέρα_γε
διαφορά ← ημέρες_τρέχοντος_έτους - ημέρες_έτους_γεννήσεως
έτη_ηλικίας ← διαφορά div 365
βοηθητική ← διαφορά mod 365
μήνες_ηλικίας ← βοηθητική div 30
μέρες_ηλικίας ← βοηθητική mod 30
Εκτύπωσε "Η ηλικία σας είναι ", έτη_ηλικίας, " έτη ", μήνες_ηλικίας, " μήνες και ", μέρες_ηλικίας, "
ημέρες"
Τέλος Υπολογισμός_Ηλικίας

2.1.3.Ασκ12. Η μισθοδοσία της εταιρείας ΧΥΖ πραγματοποιείται με χαρτονομίσματα των 50,


20, 5 € και με κέρματα του 1 €. Ο διευθυντής σας αναθέτει να γραψετε αλγόριθμο που να διαβάζει
το ποσόν μισθοδοσίας των εργαζομένων και να εκτυπώνει πόσα χαρτονομίσματα από κάθε
κατηγορία χρειάζονται

Λύση

Για παράδειγμα αν το ποσό της μισθοδοσίας είναι 1787 € όπως φαίνεται και απο
τις συνεχείς διαιρέσεις του διπλανού σχήματος θα χρειαστούν 35 χαρτονομίσματα
των 50 € (πηλίκο της διαίρεσης 1787/50 ή αλλιώς 1787 div 50)

Για την συνέχεια πρέπει να διαιρέσουμε το 37 (1787 mod 50) με το 20 για να


υπολογίσουμε πόσα χαρτονομίσματα των 20 € θα χρειαστούν (1 χαρτονόμισμα
στο παράδειγμά μας). Η ίδια διαδικασία συνεχίζεται μέχρι τον υπολογισμό και των
κερμάτων

Οι μεταβλητές βοηθητική1 και βοηθητική2 χρησιμοποιούνται για τους


υπολογισμούς, δεν αποτελούν κάποιο απο τα ζητούμενα και δεν εκτυπώνονται

Αλγόριθμος μισθοδοσία
Διάβασε μισθοδοσία
χαρτονομίσματα_50 ← μισθοδοσία div 50
βοηθητική1 ← μισθοδοσία mod 50
χαρτονομίσματα_20 ← βοηθητική1 div 20
βοηθητική2 ← βοηθητική1 mod 20
χαρτονομίσματα_5 ← βοηθητική2 div 5
κέρματα_1 ← βοηθητική2 mod 5
Εκτύπωσε "Τα χαρτονομίσματα των 50 ευρώ είναι = ", χαρτονομίσματα_50
Εκτύπωσε "Τα χαρτονομίσματα των 20 ευρώ είναι = ", χαρτονομίσματα_20
Εκτύπωσε "Τα χαρτονομίσματα των 5 ευρώ είναι = ", χαρτονομίσματα_5
Εκτύπωσε "Τα κέρματα του 1 ευρώ είναι = ", κέρματα_1
Τέλος μισθοδοσία

Δομή επιλογής - Μέρος 1

Ü 2.2.1.Ασκ1. Να διατυπώσετε σε λογικές εκφράσεις τις παρακάτω προτάσεις

i. Το α ανήκει στο διάστημα [-5, 6) (α >= -5) και (α < 6)


ii. Το α είναι μικρότερο του 3 ή μεγαλύτερο του 15 (α < 3) ή (α > 15)

iii. Το α είναι ίσο με το β και το γ (α = β) και (α = γ)

iv. Το α δεν έχει την τιμή 3 (α <> 3)

όχι (α = 3)

Το α είναι μικρότερο του 2 ή το β είναι μεγαλύτερο του


v. (α < 2) ή (β > 78)
78

(α = αληθής) και (β = αληθής) και (γ =


vi. α και β αληθή και γ ψευδές
ψευδής)

(α = αληθής) και ((β = αληθής) ή (γ =


vii. το α αληθές και ένα απο τα β,γ αληθές
αληθής))

Ü 2.2.1.Ασκ2. Ποιο είναι το λογικό αποτέλεσμα (αληθής ή ψευδής) από την εκτέλεση των
παρακάτω πράξεων αν οι εξής μεταβλητές έχουν τιμές:
Α = 10, Β = 2, Γ = -4, Δ = 9 και Ε = 1

i. (Α>Β) ή (Δ=10) ~ αληθής ή ψευδής ~ αληθής

ii. (Δ >= Β) και (Ε <> Γ) ~ αληθής και αληθής ~ αληθής

iii. όχι (Ε<=Γ) ή (Δ<=Γ) ~ όχι ψευδής ή ψευδής ~ αληθής ή ψευδής ~ αληθής

iv. όχι ((Β<=Γ) και (Δ<2)) ~ όχι (ψευδής και ψευδής) ~ όχι ψευδής ~ αληθής

v. όχι (όχι (Β<=Ε) ή όχι (Γ<=Β)) ~ όχι (όχι ψευδής ή όχι αληθής) ~ όχι (αληθής ή ψευδής) ~ όχι αληθής ~
ψευδής

vi. ((Ε<=Α) και (Ε>=Γ)) και όχι (Γ>=Α) ~ (αληθής και αληθής) και όχι ψευδής ~ αληθής και αληθής ~
αληθής

vii. όχι ( όχι (Α >= 2) και (Γ <>9) ) ~ όχι ( όχι αληθής και αληθής) ~ όχι ( ψευδής και αληθής ) ~ όχι
ψευδής ~ αληθής

Ü 2.2.1.Ασκ3. Δίνεται ο παρακάτω αλγόριθμος. Ποιός είναι ο πίνακας τιμών;

Αλγόριθμος Πίνακας_Τιμών1
Χ←2
Υ←Χ^2-1
Ζ←2*Χ+Υ-1
Αν (Χ > Υ) τότε
Υ ← Ζ mod X
Z←X^2
Αλλιώς
X ← Ζ mod Y
Z←Y^2
Τέλος_Αν
Εκτύπωσε X, Y, Z
Τέλος Πίνακας_Τιμών1
Λύση
Για τον πίνακα τιμών τοποθετούμε σε μια στήλη όλες τις μεταβλητές του αλγορίθμου και εκτελούμε σειριακά τις
εντολές και τροποποιούμε την αντίστοιχη μεταβλητή

Χ: 2 0

Υ: 3

Z: 6 9

Θα εκτυπωθούν οι τιμές 0 3 9

Ü 2.2.1.Ασκ4. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί;


Αλγόριθμος Πίνακας_Τιμών2
α←3
β←1
γ←5
Αν (α mod 2 = 1) ή (β >= 2) τότε
γ←γ+2
Αν (γ < β) τότε
α←α^3
Αλλιώς
β←4*β
Τέλος_Αν
Τέλος_Αν
α ← α mod β
β ← β mod γ
γ ← γ mod α
Εκτύπωσε α, β, γ
Τέλος Πίνακας_Τιμών2
Λύση
(3 mod 2) ή (1 >= 2) 7<5
Ισχύει Δεν ισχύει

α: 3 3

1 4 4
β:

γ: 5 7 1

Θα εκτυπωθούν οι τιμές της τελευταίας στήλης


Ü 2.2.1.Ασκ5. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου αν οι τιμές που θα
δώσει ο χρήστης είναι α = 17 και γ = 4 . Τί θα εκτυπωθεί;

Αλγόριθμος Πίνακας_Τιμών3
Διάβασε α
Διάβασε γ
α←α+1
β ← α mod γ
Αν (β >= 1) και (β <= 3) τότε
γ←γ+2
β ← γ div β
Αν (γ <= α) τότε
α←α+3
Αλλιώς
α←α/2
Τέλος_Αν
Εκτύπωσε α, β, γ
Τέλος_Αν
α←α+β
β←β*γ
γ←γ-α
Εκτύπωσε α, β, γ
Τέλος Πίνακας_Τιμών3
Λύση
(2 >= 1) και (2 <= 3) 4 <= 18
Ισχύει Ισχύει

α: 17 18 21 24

2 3 18
β:

γ: 4 6 -18

Θα εκτυπωθούν οι τιμές 21, 3, 6 και 24, 18, -18

Ü 2.2.1.Ασκ6. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου αν οι τιμές που θα
δώσει ο χρήστης είναι α = 3 και γ = 7. Τί θα εκτυπωθεί;

Αλγόριθμος Πίνακας_Τιμών4
Διάβασε α
Διάβασε γ
β←2*α+γ
δ ← β mod γ
Αν (α <= β) τότε
γ←γ+2
Αν (γ <= α) τότε
α←3*β
β←δ+3
Αλλιώς
α ← α div 2 - 5
Τέλος_Αν
Αλλιώς
γ←3*γ-δ
β ← β div 2 + δ
Τέλος_Αν
Εκτύπωσε α, β, γ, δ
α←α+β
γ←γ*α
Αν (α >= δ) τότε
α←α-δ+β
β←β+δ
γ ← γ div 3
Αλλιώς
α←γ-α-2*β
β←β+6
γ ← (γ - 1) / 4
Τέλος_Αν
Εκτύπωσε α, β, γ
Τέλος Πίνακας_Τιμών4
Λύση
3 <= 13 9 <= 3 9 >= 6
Ισχύει Δεν ισχύει Δεν ισχύει

α: 3 -4 9 16

13 19
β:

γ: 7 9 81 27

δ: 6

Θα εκτυπωθούν οι τιμές -4, 13, 9, 6 και 16, 19, 27

Ü 2.2.1.Ασκ7. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί;


Αλγόριθμος Πίνακας_Τιμών5
α←3
β ← 31
γ ← (β - α) / 2
δ ← (α + β) div 3
Αν (α <= β) τότε
γ←γ-3
Αν (γ <= α) τότε
β←β-δ+3
α←3*β
Αλλιώς
α ← α div 2 + 2
Τέλος_Αν
Αλλιώς
β ← β div 2 + δ
γ←3*γ-δ
Τέλος_Αν
Εκτύπωσε α, β, γ, δ
α←α+β
γ←γ*δ
Επίλεξε γ
Περίπτωση < 20
α←α-δ+β
β←β+δ
γ←γ*3
Περίπτωση <= 80
α←α+β^2
β ← (β + δ ^ 2) div 2
γ←γ^3
Περίπτωση Αλλιώς
α ← (α - δ) mod 7
β←β-δ
γ ← γ div α
Τέλος_Επιλογών
δ ← δ - (α + β) + γ
Εκτύπωσε α, β, γ, δ
Τέλος Πίνακας_Τιμών5
Λύση
3 <= 31 11 <= 3 121 > 80
Ισχύει Δεν ισχύει Περίπτωση αλλιώς

α: 3 3 34 2

31 20
β:

γ: 14 11 121 60

δ: 11 49

Θα εκτυπωθούν οι τιμές 3, 31, 11, 11 και 2, 20, 60, 49

Ü 2.2.1.Ασκ8. Να αναπτυχθεί αλγόριθμος που αντιστοιχεί στο επόμενο διάγραμμα ροής

Λύση
Αλγόριθμος Διάγραμμα_ροής1
Διάβασε Χ, Υ
Αν (Χ mod 2 = 1) και (Y mod 2 = 1) τότε
απόφαση ← αληθής
Αλλιώς
απόφαση ← ψευδής
Τέλος_Αν
Εκτύπωσε απόφαση
Τέλος Διάγραμμα_ροής1
Ü 2.2.1.Ασκ9. Να αναπτυχθεί αλγόριθμος που αντιστοιχεί στο επόμενο διάγραμμα ροής

Λύση
Αλγόριθμος Διάγραμμα_ροής2
Διάβασε Α, Β
Αν (Α mod 2 = 1) τότε
τιμή ← 10
Εμφάνισε τιμή
Αλλιώς
Αν (Β mod 2 = 1) τότε
τιμή ← 50
Εμφάνισε τιμή
Αλλιώς
Εμφάνισε "Καμία τιμή"
Τέλος_Αν
Τέλος_Αν
Τέλος Διάγραμμα_ροής2
Ü 2.2.1.Ασκ10. Να υλοποιήσετε τον παρακάτω αλγόριθμο με τη χρήση της δομής επίλεξε καθώς
και εμφωλευμένη δομής επιλογής

Αλγόριθμος Μετατροπή_Δομές
Διάβασε α
Επίλεξε α
Περίπτωση <= 0
β←0
Περίπτωση <= 5
β←5
Περίπτωση <= 10
β ← 10
Περίπτωση Αλλιώς
β ← 100
Τέλος_Επιλογών
Εκτύπωσε β
Τέλος Μετατροπή_Δομές
Λύση

Αλγόριθμος Μετατροπή_Δομές_1 Αλγόριθμος Μετατροπή_Δομές_2


Διάβασε α Διάβασε α
Αν (α <= 0) τότε Αν (α <= 0) τότε
β←0 β←0
Αλλιώς_Αν (α <= 5) τότε Αλλιώς
β←5 Αν (α <= 5) τότε
Αλλιώς_Αν (α <= 10) τότε β←5
β ← 10 Αλλιώς
Αλλιώς Αν (α <= 10) τότε
β ← 100 β ← 10
Τέλος_Αν Αλλιώς
Εκτύπωσε β β ← 100
Τέλος Μετατροπή_Δομές_1 Τέλος_Αν
Τέλος_Αν
Τέλος_Αν
Εκτύπωσε β
Τέλος Μετατροπή_Δομές_2
Δομή επιλογής - Μέρος 2

Ü 2.2.2.Ασκ1. Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν αριθμό που αντιστοιχεί στο βαθμό
ενός μαθητή και θα εκτυπώνει μήνυμα αν είναι αποδεκτός (εντός των ορίων [0, 20]) ή όχι

Λύση
Αλγόριθμος Αποδοχή
Διάβασε αριθμός
Αν αριθμός >= 0 και αριθμός <= 20 τότε
Εκτύπωσε "Ο αριθμός είναι αποδεκτός"
Αλλιώς
Εκτύπωσε "Ο αριθμός δεν είναι αποδεκτός"
Τέλος_Αν
Τέλος Αποδοχή

Ü 2.2.2.Ασκ2. Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν αριθμό και θα εκτυπώνει μήνυμα
αν είναι τετραψήφιος ή όχι

Λύση
Για να είναι τετραψήφιος έναν αριθμός πρέπει η διαίρεση με το 104 (δηλαδή το 10000) να δίνει πηλίκο 0.
Προσοχή, όμως και το 56 div 10000 = 0 αλλά το 56 δεν είναι τετραψήφιος. Άρα, πρέπει ταυτόχρονα το η
διαίρεση του αριθμού με το 103 (δηλαδή το 1000) να μην έχει πηλίκο 0. Ο αλγόριθμος λοιπόν είναι:

Αλγόριθμος Έλεγχος_4ψήφιος
Διάβασε αριθμός
Αν (αριθμός div 10 ^ 4 = 0) και αριθμός div 10 ^ 3 <> 0) τότε
Εκτύπωσε "Ο αριθμός είναι τετραψήφιος"
Αλλιώς
Εκτύπωσε "Ο αριθμός δεν είναι τετραψήφιος"
Τέλος_Αν
Τέλος Έλεγχος_4ψήφιος

Ü 2.2.2.Ασκ3. Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει έναν αριθμό x και θα υπολογίζει


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

Λύση
Προσοχή στη συγκεκριμένη άσκηση πρέπει να δοθεί στο ότι η δοθείσα συνάρτηση δεν ορίζεται για την τιμή 1.
Έτσι, πρέπει να γίνει έλεγχος, ώστε αν δοθεί απο τον χρήστη η τιμή 1, να εκτυπώνεται το μήνυμα "Η
συνάρτηση δεν ορίζεται για x = 1". Μ' αυτόν τον τρόπο φροντίζουμε να ικανοποιείται το κριτήριο της
καθοριστικότητας

Αλγόριθμος ΣυνάρτησηFx
Διάβασε Χ
Αν Χ = 1 τότε
Εκτύπωσε "Η συνάρτηση δεν ορίζεται για x = 1"
Αλλιώς
Fx ← (3 * X) / (X - 1) ^ 2
Εκτύπωσε "Η τιμή της συνάρτησης είναι ", Fx
Τέλος_Αν
Τέλος ΣυνάρτησηFx

Ü 2.2.2.Ασκ4. Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει έναν αριθμό x και έναν Ν και θα
υπολογίζει και θα εκτυπώνει την τιμή της ακόλουθης συνάρτησης

Λύση
Προσοχή στη συγκεκριμένη άσκηση πρέπει να δοθεί στο ότι η δοθείσα συνάρτηση δεν ορίζεται για κάποιο
συνδυασμό τιμών. Ωστόσο, δεν πρόκειται για άσκηση μαθηματικών ώστε να χρειαστεί να υπολογίσουμε το
πεδίο ορισμού. Αρκεί να υπολογίσουμε την παράσταση που αντιστοιχεί στον παρονομαστή και στη συνέχεια αν
η τιμή της είναι διάφορη του μηδενός να υπολογίσουμε την τιμή του κλάσματος αλλιώς θα εκτυπώσουμε το
μήνυμα "Η συνάρτηση δεν ορίζεται". Πάντως η έκφραση παρονομαστής δεν ορίζεται αν χ = 3 γιατί δεν ορίζεται
αρνητική δύναμη του 0 (π.χ. δεν ορίζεται το 0-5. Μ' όλα τα παραπάνω φροντίζουμε ώστε να ικανοποιείται το

κριτήριο της καθοριστικότητας

Αλγόριθμος ΣυνάρτησηFx_2
Διάβασε x, N
Αν x = 3 και Ν > 0 τότε
Εκτύπωσε "Η συνάρτηση δεν ορίζεται για τις δοθείσες τιμές"
Αλλιώς
παρονομαστής ← 9 + (3 - x) ^ ((-1) * N)
Αν παρονομαστής = 0 τότε
Εκτύπωσε "Η συνάρτηση δεν ορίζεται για τις δοθείσες τιμές"
Αλλιώς
Fx ← 2 * X / παρονομαστής
Εκτύπωσε "Η τιμή της συνάρτησης είναι ", Fx
Τέλος_Αν
Τέλος_Αν
Τέλος ΣυνάρτησηFx_2

Ü 2.2.2.Ασκ5. Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει έναν αριθμό x και θα υπολογίζει


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

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

Αλγόριθμος Πολλαπλή_συνάρτηση
Διάβασε Χ
Αν Χ < 1 τότε
Fx ← 5 / (X - 1) ^ 2 ! X <> 1
Αλλιώς_Αν Χ = 1 τότε
Fx ← 2
Αλλιώς
Fx ← 5 / (Χ + 1) ^ 3 ! X <> -1
Τέλος_Αν
Εκτύπωσε "Η τιμή της συνάρτησης είναι ", Fx
Τέλος Πολλαπλή_συνάρτηση

Ü 2.2.2.Ασκ6. Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει έναν αριθμό x και θα υπολογίζει


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

Λύση
Αλγόριθμος Πολλαπλή_συνάρτηση2
Διάβασε x, y
Αν x > 0 και y > 2 τότε
Αν x <> 3 και y <> 5 τότε ! ικανοποίηση κριτηρίου καθοριστικότητας
Fx ← (x * y) / ((x - 3) ^ 2 * (y - 5))
Εκτύπωσε "Η τιμή της συνάρτησης είναι ", Fx
Αλλιώς ! παρονομαστής = 0
Εκτύπωσε "Η συνάρτηση δεν ορίζεται για τις τιμές x=3 και y=5"
Τέλος_Αν
Αλλιώς_Αν x = 0 και y = 2 τότε
Fx ← 2
Εκτύπωσε "Η τιμή της συνάρτησης είναι ", Fx
Αλλιώς_Αν x < 0 και y < 2 τότε
! η συνάρτηση ορίζεται σίγουρα αφού x - 4 < -4 και άρα x <> 0
Fx ← y / (x - 4) ^ 3
Εκτύπωσε "Η τιμή της συνάρτησης είναι ", Fx
Αλλιώς ! λάθος συνδυασμός
Εκτύπωσε "Δεν ορίζεται η συνάρτηση για τις τιμές x, y"
Τέλος_Αν
Τέλος Πολλαπλή_συνάρτηση2

Ü 2.2.2.Ασκ7. Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν πενταψήφιο αριθμό και θα ελέγχει
αν είναι καρκινικός (για παράδειγμα ο αριθμός 81518) δηλαδή, τα συμμετρικά ψηφία του να είναι
ίσα

Λύση
Πρέπει να απομονώσουμε τα 5 ψηφία (όμοια με άσκηση 2.1.3.Ασκ9)

Αλγόριθμος Καρκινικός
Διάβασε αριθμός ! θεωρούμε οτι ο αριθμός είναι πενταψήφιος
δεκ_χιλιάδες ← αριθμός div 10000
βοηθητική1 ← αριθμός mod 10000
χιλιάδες ← βοηθητική1 div 1000
βοηθητική2 ← βοηθητική1 mod 1000
εκατοντάδες ← βοηθητική2 div 100
βοηθητική3 ← βοηθητική2 mod 100
δεκάδες ← βοηθητική3 div 10
μονάδες ← βοηθητική3 mod 10
Αν (δεκ_χιλιάδες = μονάδες) και (χιλιάδες = δεκάδες) τότε
Εκτύπωσε "Ο αριθμός είναι καρκινικός"
Τέλος_Αν
Τέλος Καρκινικός

Ü 2.2.2.Ασκ8. Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν ακέραιο αριθμό και αν είναι
τριψήφιος να αντιστρέφει τα ψηφία του, για παράδειγμα ο αριθμός 128 θα γίνει 821

Λύση
Αλγόριθμος Αντιστροφή_Τριψήφιου
Διάβασε αριθμός
Αν (αριθμός div 1000 = 0) τότε ! αλλιώς δεν είναι τριψήφιος
εκατοντάδες ← αριθμός div 100
βοηθητική ← αριθμός mod 10
δεκάδες ← βοηθητική div 10
μονάδες ← βοηθητική mod 10
νέος_αριθμός ← μονάδες * 100 + δεκάδες * 10 + εκατοντάδες
Εκτύπωσε "Ο νέος αριθμός είναι ", νέος_αριθμός
Τέλος_Αν
Τέλος Αντιστροφή_Τριψήφιου

Ü 2.2.2.Ασκ9. Να αναπτυχθεί αλγόριθμος που θα διαβάζει δυο ακέραιους αριθμούς και αν το


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

Λύση
Αλγόριθμος Έλεγχος_Αριθμών
Διάβασε α, β
μονάδες_α ← α mod 10
μονάδες_β ← β mod 10
Αν (μονάδες_α = μονάδες_β) τότε
αποτέλεσμα ← (α + β) / 2
Αλλιώς
διαφορά ← α - β
Αν (διαφορά > 0) τότε
αποτέλεσμα ← διαφορά
Αλλιώς
αποτέλεσμα ← (-1) * διαφορά
Τέλος_Αν
Τέλος_Αν
Αποτελέσματα // αποτέλεσμα //
Τέλος Έλεγχος_Αριθμών
Ü ** 2.2.2.Ασκ10. Έστω Α και Β δυο λογικές μεταβλητές. Να οριστεί η λογική μεταβλητή Γ έτσι
ώστε να είναι αληθής αν ή η Α είναι αληθής ή η Β είναι αληθής. Δηλαδή μια από της 2 αλλά όχι και
οι 2

Λύση
Αλγόριθμος Λογικές_Μεταβλητές
Δεδομένα // Α, Β //
Αν (Α = αληθής και (όχι Β = αληθής)) ή (Β = αληθής και (όχι Α = αληθής)) τότε
Γ ← αληθής
Αλλιώς
Γ ← ψευδής
Τέλος_Αν
Αποτελέσματα // Γ //
Τέλος Λογικές_Μεταβλητές
Εναλλακτικά η συνθήκη του Αν θα μπορούσε να είναι
Αν (Α = αληθής και Β = ψευδής) ή (Β = αληθής και Α = ψευδής) τότε

Ü 2.2.2.Ασκ11. Να αναπτύξετε αλγόριθμο που θα διαβάζει έναν αριθμό και θα εκτυπώνει μήνυμα
σχετικά με το αν είναι πολλαπλάσιο του 3 ή όχι

Λύση
Αλγόριθμος Πολλαπλάσια_3
Διάβασε αριθμός
Αν αριθμός mod 3 = 0 τότε
Εκτύπωσε "Ο αριθμός είναι πολλαπλάσιο του 3"
Αλλιώς
Εκτύπωσε "Ο αριθμός δεν είναι πολλαπλάσιο του 3"
Τέλος_Αν
Τέλος Πολλαπλάσια_3

Ü 2.2.2.Ασκ12. Να αναπτυχθεί αλγόριθμος που θα διαβάζει τον αύξων αριθμό ενός μηνός και θα
εκτυπώνει το όνομα του μήνα καθώς και το πλήθος των ημερών του

Λύση
Αλγόριθμος Ολογράφως_Μήνας
Διάβασε Αύξων_Αριθμός
Επίλεξε Αύξων_Αριθμός
Περίπτωση 1
Εκτύπωσε "Ιανουάριος 31"
Περίπτωση 2
Εκτύπωσε "Φεβρουάριος 28/29"
Περίπτωση 3
Εκτύπωσε "Μάρτιος 31"
Περίπτωση 4
Εκτύπωσε "Απρίλιος 30"
Περίπτωση 5
Εκτύπωσε "Μάϊος 31"
Περίπτωση 6
Εκτύπωσε "Ιούνιος 30"
Περίπτωση 7
Εκτύπωσε "Ιούλιος 31"
Περίπτωση 8
Εκτύπωσε "Αύγουστος 31"
Περίπτωση 9
Εκτύπωσε "Σεπτέμβριος 30"
Περίπτωση 10
Εκτύπωσε "Οκτώβριος 31"
Περίπτωση 11
Εκτύπωσε "Νοέμβριος 30"
Περίπτωση 12
Εκτύπωσε "Δεκέμβριος 31"
Περίπτωση Αλλιώς
Εκτύπωσε "Λάθος καταχώρηση στοιχείων"
Τέλος_Επιλογών
Τέλος Ολογράφως_Μήνας

Ü 2.2.2.Ασκ13. Η βαθμολογική κλίμακα για την απόκτηση του First Certificate είναι 1 μέχρι 100. Ο
χαρακτηρισμός του πιστοποιητικού ακολουθεί τον παρακάτω πίνακα:

Βαθμολογία Χαρακτηρισμός

0 - 55 Αποτυχία

56-70 C

71-85 B

86-100 A

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

Λύση
Αλγόριθμος First_Certificate
Διάβασε όνομα, βαθμός
Αν βαθμός <= 55 τότε
Εκτύπωσε "Αποτυχία κτήσης του First Certificate από τον υποψήφιο ", όνομα
Αλλιώς_Αν βαθμός <= 70 τότε
Εκτύπωσε "Ο υποψήφιος ", όνομα, "απέκτησε το First Certificate με Βαθμό C"
Αλλιώς_Αν βαθμός >54 τότε
Εκτύπωσε "Ο υποψήφιος ", όνομα, "απέκτησε το First Certificate με Βαθμό Β"
Αλλιώς
Εκτύπωσε "Ο υποψήφιος ", όνομα, "απέκτησε το First Certificate με Βαθμό Α"
Τέλος_Αν
Τέλος First_Certificate
Δομή επιλογής - Μέρος 3

Ü ** 2.2.3.Ασκ1. Να γραφεί αλγόριθμος σε μορφή ψευδοκώδικα ο οποίος να δέχεται ως είσοδο τις


τιμές δύο αντιστάσεων R1 και R2. Στη συνέχεια, εάν η πρώτη αντίσταση είναι μεγαλύτερη της

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

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

Λύση
Αλγόριθμος Αντιστάσεις
Διάβασε R1, R2
Αν (R1 > R2) τότε
Εκτύπωσε "Αντιστάσεις σε παράλληλη συνδεσμολογία"
Rολ ← (R1 * R2) / (R1 + R2)
Αλλιώς
Εκτύπωσε "Αντιστάσεις σε σειριακή συνδεσμολογία"
Rολ ← R1 + R2
Τέλος_Αν
Εκτύπωσε "Ολική αντίσταση =", Rολ
Τέλος Αντιστάσεις

Ü ** 2.2.3.Ασκ2. Δύο αυτοκίνητα ξεκινούν ταυτόχρονα από το ίδιο σημείο και κινούνται με
σταθερή επιτάχυνση α1 και α2 αντίστοιχα προς την ίδια κατεύθυνση. Να γράψετε αλγόριθμο ο
οποίος: Α) να διαβάζει τις επιταχύνσεις των αυτοκινήτων σε m/sec 2 καθώς και το χρόνο σε sec που
κινήθηκαν τα δύο αυτοκίνητα. Β) να υπολογίζει και να εμφανίζει τη διαφορά της μεταξύ τους
απόστασης σε m καθώς και να εμφανίζει το μήνυμα "Προηγείται το πρώτο" ή "Προηγείται το

δεύτερο" ανάλογα με το αποτέλεσμα της μεταξύ τους διαφοράς. (Δίνεται ότι:


όπου: S = η απόσταση που διανύεται σε m, α = η επιτάχυνση σε m/sec 2, t = το χρονικό διάστημα
σε sec). Υπόδειξη: Δεν θα σας απασχολήσει η περίπτωση όπου η διαφορά της απόστασης είναι
μηδέν

Λύση
Αλγόριθμος Επιταχυνόμενη_κίνηση
Διάβασε α1, α2, t
S1 ← (1 / 2) * α1 * t ^ 2
S2 ← (1 / 2) * α2 * t ^ 2
Αν (S1 > S2) τότε
Εκτύπωσε "Προηγείται το πρώτο"
διαφορά ← S1 - S2
Αλλιώς
Εκτύπωσε "Προηγείται το δεύτερο"
διαφορά ← S2 - S1
Τέλος_Αν
Εκτύπωσε "Η δοαφορά των αποστάσεων είναι ", διαφορά
Τέλος Επιταχυνόμενη_κίνηση
Ü 2.2.3.Ασκ3. Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει το μέσο όρο ενός μαθητή κατά την
περασμένη σχολική χρονιά και θα εκτυπώνει το αντίστοιχο μήνυμα σύμφωνα με τα ακόλουθα: Αν ο
βαθμός είναι μικρότερος από 9,5 ο μαθητής απορρίπτεται στο μάθημα, αν είναι μεγαλύτερος από
9,5 και μικρότερος από 13 τότε ο χαρακτηρισμός του μαθητή είναι "Σχεδόν καλά", αν είναι
μεγαλύτερος του 13 έως 16 ο χαρακτηρισμός είναι "Καλά", αν είναι μικρότερος του 18 "Πολύ
καλά", ενώ τέλος αν ο μέσος όρος είναι μεγαλύτερος του 18 ο χαρακτηρισμός είναι "Άριστα"

Λύση
Σημειώνεται ότι στα πλαίσια του αλγορίθμου θα πραγματοποιήσουμε έλεγχο και για την περίπτωση ο χρήστης
να έχει εισάγει κάποιον αριθμό εκτός των ορίων [0, 20] και σε αυτήν την περίπτωση να εκτυπωθεί αντίστοιχο
μήνυμα λάθους. Ο έλεγχος των δεδομένων είναι μια ενέργεια που δεν είναι απαραίτητη σ' έναν αλγόριθμο αλλά
σε ένα πρόγραμμα πρέπει απαραιτήτως να ελέγχουμε τα δεδομένα εισόδου.
Για την υλοποίηση του αλγορίθμου και δεδομένου οτι πρέπει να ελεχθούν ουσιάστικά 6 περιπτώσεις η δομή
επιλογής δεν αρκεί. Πρέπει να χρησιμοποιήσουμε την δομή πολλαπλής επιλογής. Θα υλοποιήσουμε τον
αλγόριθμο και με τις δομές πολλαπλής επιλογής που έχουν παρουσιαστεί

Αλγόριθμος Χαρακτηρισμός_ΜΟ
Διάβασε μέσος_όρος
Αν μέσος_όρος < 9.5 τότε
Εκτύπωσε "Ο μαθητής απορρίπτεται"
Αλλιώς_Αν μέσος_όρος < 13 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 9,5
Εκτύπωσε "Σχεδόν καλά"
Αλλιώς_Αν μέσος_όρος < 16 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 13
Εκτύπωσε "Καλά"
Αλλιώς_Αν μέσος_όρος < 18 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 16
Εκτύπωσε "Πολύ καλά"
Αλλιώς_Αν μέσος_όρος <= 20 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 18
Εκτύπωσε "Άριστα"
Αλλιώς ! μέσος_όρος > 20
Εκτύπωσε "Λάθος καταχώρηση δεδομένων"
Τέλος_Αν
Τέλος Χαρακτηρισμός_ΜΟ
Αλγόριθμος Χαρακτηρισμός_ΜΟ_Εναλλακτικός
Διάβασε μέσος_όρος
Επίλεξε μέσος_όρος
Περίπτωση < 9.5
Εκτύπωσε "Ο μαθητής απορρίπτεται"
Περίπτωση < 13
Εκτύπωσε "Σχεδόν καλά"
Περίπτωση < 16
Εκτύπωσε "Καλά"
Περίπτωση < 18
Εκτύπωσε "Πολύ καλά"
Περίπτωση <= 20
Εκτύπωσε "Άριστα"
Περίπτωση Αλλιώς ! μέσος_όρος > 20
Εκτύπωσε "Λάθος καταχώρηση δεδομένων"
Τέλος_Επιλογών
Τέλος Χαρακτηρισμός_ΜΟ_Εναλλακτικός

Ü 2.2.3.Ασκ4. Η εταιρεία κινητής τηλεφωνίας CityTel παρέχει στους συνδρομητές της λογότυπα
και μελωδίες για τα κινητά τους. Για να καταβιβάσει κάποιος συνδρομητής στο κινητό του κάτι απο
τα παραπάνω πρέπει να εγγραφεί στο CityTel club, με πάγιο μηνιαίο κόστος 0.90 €, και επιπλέον
χρέωση 0.25 € για κάθε λογότυπα και 0.15 € για κάθε μελωδία που καταβιβάζετε στο κινητό του
συνδρομητή. Να γραφεί αλγόριθμος που με δεδομένο το διαθέσιμο υπόλοιπο χρημάτων του
κινητού ενός συνδρομητή, θα διαβάζει το σύνολο των λογότυπων και μελωδιών που κάποιος
συνδρομητής ζήτησε για καταβίβαση στο κινητό του τον τελευταίο μήνα και αν το διαθέσιμο
υπόλοιπο του το επιτρέπει να υπολογίζει το νέο υπόλοιπο

Λύση
Αλγόριθμος CityTel_Club1
Δεδομένα // διαθέσιμο_υπόλοιπο //
Διάβασε logos, melodies
κόστος ← 0.90 + 0.25 * logos + 0.15 * melodies
Αν διαθέσιμο_υπόλοιπο < κόστος τότε
Εκτύπωσε "Οι μονάδες δεν επαρκούν, το διαθέσιμο υπόλοιπο είναι ", διαθέσιμο_υπόλοιπο
Αλλιώς
διαθέσιμο_υπόλοιπο ← διαθέσιμο_υπόλοιπο - κόστος
Εκτύπωσε "Τα στοιχεία που ζητήσατε καταβιβάστηκαν επιτυχώς..."
Τέλος_Αν
Αποτελέσματα // διαθέσιμο_υπόλοιπο //
Τέλος CityTel_Club1

Ü 2.2.3.Ασκ5. Η εταιρεία κινητής τηλεφωνίας CityTel παρέχει στους συνδρομητές της υπηρεσίες
αποστολής μηνυμάτων σύμφωνα με τον παρακάτω πίνακα:

Είδος Τιμή €
Μήνυμα

1. Απλό sms 0.085

2. Sms με ενσωματωμένο ήχο/εικόνα 0.67

3. Εικονομήνυμα με επιπλέον στοιχεία 0.93

4.
Μήνυμα ενσωματωμένο βιντεο 1.25

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

Λύση
Αλγόριθμος CityTel_Club2
Δεδομένα // διαθέσιμο_υπόλοιπο, είδος //
Επίλεξε είδος
Περίπτωση 1
κόστος ← 0.085
Περίπτωση 2
κόστος ← 0.67
Περίπτωση 3
κόστος ← 0.93
Περίπτωση Αλλιώς ! 4
κόστος ← 1.25
Τέλος_Επιλογών
Αν διαθέσιμο_υπόλοιπο < κόστος τότε
Εκτύπωσε "Οι μονάδες δεν επαρκούν, το διαθέσιμο υπόλοιπο είναι ", διαθέσιμο_υπόλοιπο
Αλλιώς
διαθέσιμο_υπόλοιπο ← διαθέσιμο_υπόλοιπο - κόστος
Εκτύπωσε "Το μήνυμα εστάλη..."
Τέλος_Αν
Αποτελέσματα // διαθέσιμο_υπόλοιπο //
Τέλος CityTel_Club2

Ü 2.2.3.Ασκ6. Οι τιμές 4 διαφορετικών συσκευασιών γιαουρτιού σε ένα σούπερ μάρκετ


παρουσιάζονται στον επόμενο πίνακα:

Φίρμα Ποσότητα Τιμή €

Αγελαδίτσα αγάπη μου 500 ml 0.79

Φάρμα ΙΙΙ 1.2 lt 1.40

Cows 850 ml 0.95

Να αναπτύξετε αλγόριθμο που θα εμφανίζει ποιο γιαούρτι έχει την πλέον συμφέρουσα τιμή

Λύση
Αλγόριθμος Γιαούρτι
! αναγωγή στην ίδια μονάδα μέτρησης για σύγκριση: € ανά ml
δείκτης_1 ← 0.79 / 500
δείκτης_2 ← 1.40 / 1200
δείκτης_3 ← 0.95 / 850
Αν δείκτης_1 > δείκτης_2 τότε ! εύρεση μεγίστου μεταξύ 3 αριθμών
Αν δείκτης_1 > δείκτης_3 τότε
Εκτύπωσε "Νο1 Αγελαδίτσα αγάπη μου"
Αλλιώς ! δείκτης_1 <= δείκτης_3
Εκτύπωσε "Νο3 Cows"
Τέλος_Αν
Αλλιώς ! δείκτης_1 <= δείκτης 2
Αν δείκτης_2 > δείκτης_3 τότε
Εκτύπωσε "Νο2 Φάρμα ΙΙΙ"
Αλλιώς ! δείκτης_2 <= δείκτης_3
Εκτύπωσε "Νο3 Cows"
Τέλος_Αν
Τέλος_Αν
Τέλος Γιαούρτι

Ü 2.2.3.Ασκ7. Εξωτερικά του λιμανιού της Βενετίας υπάρχουν αισθητήρες μέτρησης της στάθμης
αλλά και της "καθαρότητας" του νερού. Υπάρχουν 2 επίπεδα ορίων επιφυλακής και 2 επίπεδα
λήψης μέτρων για την ανακύκλωση του νερού. Τα όρια επιφυλακής απεικονίζονται στον παρακάτω
πίνακα :

Δείκτες Στάδιο Στάδιο


(χωρίς μονάδες μέτρησης) επιφυλακής Α επιφυλακής Β
στάθμη θαλάσσης 70000 80000

"καθαρότητα" 2.5 4.3

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

Λύση
Αλγόριθμος Βενετία
Δεδομένα // στάθμη, καθαρότητα //
Αν στάθμη >= 80000 ή καθαρότητα >= 4.3 τότε
Εκτύπωσε "Στάδιο επιφυλακής Β για την ανακύκλωση του νερού"
Αλλιώς_Αν στάθμη >= 70000 ή καθαρότητα >= 2.5 τότε
Εκτύπωσε "Στάδιο επιφυλακής Α για την ανακύκλωση του νερού"
Αλλιώς
Εκτύπωσε "Όλοι οι δείκτες είναι σε φυσιολογικά επίπεδα"
Τέλος_Αν
Τέλος Βενετία

Ü 2.2.3.Ασκ8. Να αναπτυχθεί αλγόριθμος που θα διαβάζει τρεις αριθμούς και θα εκτυπώνει τον
μικρότερο

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

Αλγόριθμος Ελάχιστος_Μέγιστος
Διάβασε α, β, γ
ελάχιστος ← α
Αν β < ελάχιστος τότε
ελάχιστος ← β
Τέλος_Αν
Αν γ < ελάχιστος τότε
ελάχιστος ← γ
Τέλος_Αν
Εκτύπωσε "Ο ελάχιστος αριθμός είναι ", ελάχιστος
Τέλος Ελάχιστος_Μέγιστος
Δέυτερος, αλλά πιο επίπονος τρόπος για την εύρεση π.χ. του μεγίστου από 3 αριθμούς παρουσιάζεται στη
συνέχεια. Αντίστοιχα, μπορεί να εντοπιστεί ο ελάχιστος

Αλγόριθμος Μέγιστος_απο_3_εναλλακτικός
Διάβασε α, β, γ
Αν β > α τότε
Αν γ > β τότε
μέγιστος ← γ
Αλλιώς
μέγιστος ← β
Τέλος_Αν
Αλλιώς ! β <= α
Αν γ > α τότε
μέγιστος ← γ
Αλλιώς
μέγιστος ← α
Τέλος_Αν
Τέλος_Αν
Εκτύπωσε "Ο μέγιστος αριθμός είναι = ", μέγιστος
Τέλος Μέγιστος_απο_3_εναλλακτικός

Ü 2.2.3.Ασκ9. Να διαβασθεί ένας πενταψήφιος ακέραιος αριθμός και να στρογγυλοποιηθεί στις


εκατοντάδες

Λύση
Για παράδειγμα, αν ο αριθμός είναι ο 38557 να γίνει 38600. Το αποτέλεσμα της πράξης 38557 div 100 που
είναι 385 πολλαπλασιασμένο με το 100. Ταυτόχρονα, πρέπει να ελεγχθεί το 38557 mod 100 = 57 ώστε αν είναι
μεγαλύτερο του 50 να γίνει στρογγυλοποίηση προς τα πάνω. Ετσι, ο αλγόριθμος θα είναι:

Αλγόριθμος Στρογγυλοποίηση
Διάβασε αριθμός
Αν (αριθμός mod 10 ^ 6 = 0) τότε
στογγυλοποιημένος ← 100 * (αριθμός div 100)
βοηθητική < αριθμός mod 100
Αν (βοηθητική >= 50) τότε
στογγυλοποιημένος ← στογγυλοποιημένος + 100
Τέλος_Αν
Εκτύπωσε "Ο στρογγυλοποιημένος αριθμός είναι = ", στογγυλοποιημένος
Αλλιώς
Εκτύπωσε "Ο αριθμός δεν είναι πενταψήφιος"
Τέλος_Αν
Τέλος Στρογγυλοποίηση

Ü 2.2.3.Ασκ10. Το Internet Cafe της γειτονιάς σας έχει την εξής πολιτική χρέωσης: Τα πρώτα 30
λεπτά χρεώνονται 1.45 €, ενώ κάθε επόμενο 30λεπτο χρεώνεται προς 1.10 €. Πρέπει να
επισημανθεί οτι μόλις περάσει έστω και ένα λεπτό χρεώνεται το 30λεπτο. Να αναπτυχθεί
αλγόριθμος που θα διαβάζει το χρόνο (σε λεπτά) που παρέμεινε κάποιος πελάτης στο Internet Cafe
και να εκτυπώνει το λογαριασμό

Λύση
Πρέπει να υπολογιστούν τα μισάωρα που παρέμεινε κάποιος πελάτης στο Internet Cafe. Ας δούμε ένα
παράδειγμα: Αν ο χρόνος παραμονής είναι 260 λεπτά τότε έχει παραμείνει 8 μισάωρα (8 = 260 div 30) και 20
ακόμη λεπτά (20 = 260 mod 30) που θα χρεωθούν ως ολόκληρο 30λεπτο

Αλγόριθμος Internet_Cafe
Διάβασε χρόνος_ομιλίας ! ο χρόνος ομιλίας είναι σε λεπτά
μισάωρα ← χρόνος_ομιλίας div 30
υπόλοιπο ← χρόνος_ομιλίας mod 30
Αν υπόλοιπο <> 0 τότε
μισάωρα ← μισάωρα + 1
Τέλος_Αν
χρέωση ← 1.45 + (μισάωρα - 1) * 1.10 ! αν μισάωρα = 1, ο τύπος μας καλύπτει
Εκτύπωσε "Ο πελάτης ", όνομα, " οφείλει ", χρέωση
Τέλος Internet_Cafe

Ü 2.2.3.Ασκ11. Το αυτοκίνητο του κύριου Αρβίλογλου πρέπει να περνάει από μικρό service
(αλλαγή λαδιών) κάθε 7500 χλμ και από μεγάλο service κάθε 15000 χλμ. Να αναπτυχθεί
αλγόριθμος που θα διαβάζει τα χιλιόμετρα που έχει διανύσει το αυτοκίνητο και να εκτυπώνει σε
πόσα χιλιόμετρα είναι το επόμενο service και τι είδους είναι αυτό

Λύση
Ας υποθέσουμε οτι το αυτοκίνητο έχει διανύσει 38000 χλ, τότε 38000 mod 15000 = 8000 > 7500 που σημαίνει
οτι έχει περάσει το μικρό service και το επόμενο service είναι το μεγάλο σε 15000 - 8000 = 7000 χλμ. Αν
είχαμε 32300 χλμ τότε 32300 div 15000 = 2300 < 7500 χλμ άρα το επόμενο service είναι μικρό και τα
χιλιόμετρα που απομένουν για να γίνει είναι 7500 - 2300 = 5200. Άρα, ο αλγόριθμος θα είναι:

Αλγόριθμος Service
μεγάλο ← 15000
μικρό ← 7500
Διάβασε χιλιόμετρα
υπόλοιπο ← χιλιόμετρα mod μεγάλο
Αν υπόλοιπο > μικρό τότε ! το επόμενο service είναι μεγάλο
Εκτύπωσε "Το επόμενο service είναι μεγάλο"
επόμενο_service ← μεγάλο - υπόλοιπο
Αλλιώς ! < 7500, άρα το επόμενο service είναι μικρό
Εκτύπωσε "Το επόμενο service είναι μικρό"
επόμενο_service ← μικρό - υπόλοιπο
Τέλος_Αν
Εκτύπωσε "Τα χλμ που απομένουν για το επόμενο service είναι ", επόμενο_service
Τέλος Service
Δομές Επανάληψης - Μέρος 1

Ü 2.3.1.Ασκ1. Οι εντολές στον παρακάτω αλγόριθμο είναι με λάθος σειρά. Ο αλγόριθμος πρέπει να
υπολογίζει και να εκτυπώνει το άθροισμα των τριψήφιων αριθμών

Αλγόριθμος Άσκηση
άθροισμα ← άθροισμα + i
Για i από 100 μέχρι 999
Εκτύπωσε άθροισμα
Τέλος_Επανάληψης
άθροισμα ← 0
Τέλος Άσκηση
Λύση
Αλγόριθμος Άσκηση
άθροισμα ← 0
Για i από 100 μέχρι 999
άθροισμα ← άθροισμα + i
Τέλος_Επανάληψης
Εκτύπωσε άθροισμα
Τέλος Άσκηση
Ü ** 2.3.1.Ασκ2. Τι θα εμφανίσει κάθε ένα απο τα ακόλουθα τμήματα αλγορίθμων;

x←3 x←3 x←3


Όσο (x < 5) επανέλαβε Όσο (x <= 5) επανέλαβε Αρχή_Επανάληψης
Εμφάνισε x Εμφάνισε x Εμφάνισε x
x←x+1 x←x+1 x←x+1
Τέλος_Επανάληψης Τέλος_Επανάληψης Μέχρις_Ότου (x > 5)
Λύση

x
x
x
Αρχικοποίηση 3

Αρχικοποίηση 3
Αρχικοποίηση 3
3 <= 3 Ισχύει - 1η 4
επανάληψη 1η επανάληψη 4
3 < 3 Ισχύει - 1η 4
επανάληψη
4 <= 5 Ισχύει - 2η 5 4 >= 5 Δεν Ισχύει - 2η 5
επανάληψη επανάληψη
4 < 5 Ισχύει - 2η 5
επανάληψη
5 <= 5 Ισχύει - 3η 6 5 >= 5 Δεν Ισχύει - 3η 6
επανάληψη επανάληψη
5 < 5 Δεν ισχύει τερμ
επανάληψης
6 <= 5 Ισχύει τερμ 6 >=5 Ισχύει τερμ
επανάληψης επανάληψης
Θα εμφανιστούν οι τιμές: 3,
4
Θα εμφανιστούν οι τιμές: Θα εμφανιστούν οι τιμές: 3, 4, 5
3, 4, 5
Ü 2.3.1.Ασκ3. Πόσα αστεράκια θα εκτυπωθούν κατά την εκτέλεση του παρακάτω αλγορίθμου;
Αλγόριθμος Αστεράκια
α ← 16
Αρχή_Επανάληψης
Για i από 2 μέχρι 12 με_βήμα 3
Εκτύπωσε "*" ! πρώτη εντολή εκτύπωσης
Τέλος_Επανάληψης
Εκτύπωσε "*" ! δεύτερη εντολή εκτύπωσης
α ← α div 2
Μέχρις_Ότου (α = 0)
Τέλος Αστεράκια
Λύση

Παρατηρούμε οτι ο εξωτερικός βρόχος θα εκτελεστεί 5 φορές (για α = 16, 8, 4, 2, 1), ενώ ο εσωτερικός βρόχος
θα εκτελεστεί 4 φορές (για i = 2, 5, 8, 11). Επομένως, η πρώτη εντολή εκτύπωσης θα εκτελεστεί 24 φορές και
η δεύτερη 6 φορές, συνολικά 30 αστεράκια

Ü 2.3.1.Ασκ4. Πόσα αστεράκια θα εκτυπωθούν κατά την εκτέλεση του παρακάτω αλγορίθμου;
Αλγόριθμος Κι_άλλα_Αστεράκια
Για i από 8 μέχρι 2 με_βήμα -2
Για j από 2 μέχρι 7 με_βήμα 2
Αν i > j τότε
Εκτύπωσε "*"
Τέλος_Αν
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Τέλος Κι_άλλα_Αστεράκια
Λύση

Ο μετρητής του εξωτερικού βρόχου i θα είναι 8, 6, 4, 2 - άρα 4 επαναλήψεις. Οι τιμές του εσωτερικού βρόχου
θα είναι 2, 4, 6 - άρα 3 επαναλήψεις.
Η συνθήκη i > j λοιπόν, ικανοποιείται λοιπόν 3 φορές κατά την πρώτη εξωτερική επανάληψη, 2 φορές κατά την
δεύτερη, 1 κατά την τρίτη και καμμία κατά την τέταρτη.
Άρα, θα εκτυπωθούν συνολικά 6 αστεράκια

Ü 2.3.1.Ασκ5. Πόσες φορές θα εκτελεστούν οι επαναληπτικές δομές στα παρακάτω τμήματα


αλγορίθμων;

x←5 x ← -5 x←5
x←5
Όσο (x >= 0) Όσο (x >= 0) Όσο (x >= 0)
Όσο (x > 0) επανέλαβε
επανέλαβε επανέλαβε επανέλαβε
Εμφάνισε x
Εμφάνισε x Εμφάνισε x Εμφάνισε x
x←x-1
x←x-1 x←x-1 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
4) Στην τέταρτη περίπτωση η μεταβλητή x θα πάρει τις τιμές 5, 6, 7, 8, .... Παρατηρούμε οτι δεν θα τερματιστεί
ο βρόχος αφού το κριτήριο συνέχειας του δεν θα παραβιαστεί ποτέ. Άρα μιλάμε για έναν ατέρμων βρόχο,
δηλαδή άπειρο πλήθος επαναλήψεων
Ü 2.3.1.Ασκ6. Τι θα εμφανίσει κάθε ένα απο τα ακόλουθα τμήματα αλγορίθμων;

Α Β

β←0
α←2
α←2
Όσο (α = 7) επανέλαβε
Αρχή_Επανάληψης
α←α+3
β←β+1
Τέλος_Επανάληψης
Εμφάνισε α Μέχρις_Ότου (α < 10)
Εμφάνισε α, β
Λύση

Α. Η μεταβλητή α αρχικοποιείται με την τιμή 2. Κατά τον έλεγχο για την 1η επανάληψη η συνθήκη είναι ψευδής
(2 <> 7) άρα δεν θα εκτελεστεί ο βρόχος. Άρα θα εμφανιστεί η τιμή 2
Β. Η συνθήκη τερματισμού του βρόχου ικανοποιείται μετά το πέρας της πρώτης επανάληψης, όπου η μεταβλητή
θα έχει πάρει την τιμή 1 (η α παραμένει 2). Άρα θα εκτυπωθούν οι τιμές 2 και 1

Ü 2.3.1.Ασκ7. Υπάρχει κάποιο λάθος στα παρακάτω τμήματα αλγορίθμων;

Α Β Γ

β←0
α←0 α←2
α←2
Για i από -8 μέχρι 8 με_βήμα 2 Όσο (α <> 7) επανέλαβε
Αρχή_Επανάληψης
α←α+1/i α←α+3
β←β+1
Τέλος_Επανάληψης Τέλος_Επανάληψης
Εκτύπωσε α Μέχρις_Ότου (α > 3) Εμφάνισε α
Εμφάνισε α, β
Λύση

Α. Οι τιμές που θα πάρει ο μετρητής i είναι -8, -6, -4, -2, 0, 2, 4, 6, 8 και θα αποτελέσουν τον παρονομαστή
την εντολή εκχώρησης εντός του βρόχου. Παραβιάζεται λοιπόν το κριτήριο της καθοριστικότητας αφού δε
γίνεται διαίρεση με το 0
Β. Η συνθήκη τερματισμού του βρόχου δεν πρόκειται να ικαοποιηθεί ποτέ αφού το α δεν τροποιείται εντός του
βρόχου, ενώ η τιμή του (δηλαδή το 2) είναι μικρότερο του 10. Άρα δεν θα τερματιστεί ποτέ η επανάληψη.
Παραβιάζεται λοιπόν το κριτήριο της περατότητας
Γ. Ο πρώτος έλεγχος θα ξεκινήσει την επανάληψη αφού 2 <> 7, στη συνέχεια θα πάρει τις τιμές 2, 5, 8, 11, ...
Γίνεται εύκολα αντιληπτό οτι δεν πρόκειται ποτέ να ικανοποιηθεί η συνθήκη τερματισμού του βρόχου άρα θα

εκτελεστούν άπειρες επαναλήψεις, άρα παραβιάζεται το κριτήριο της περατότητας

Ü 2.3.1.Ασκ8. Υπάρχει κάποιο λάθος στα παρακάτω τμήματα αλγορίθμων;

Α Β Γ

S←0 S←0 S←0


Για i από -3 μέχρι 3 Για i από -1 μέχρι -3 Για i από 2 μέχρι 5
Για j από 10 μέχρι 20 με_βήμα i Για j από 18 μέχρι 13 με_βήμα i Για j από 14 μέχρι i
S←S+1 S←S+i*j S←S+2
Τέλος_Επανάληψης Τέλος_Επανάληψης Τέλος_Επανάληψης
Τέλος_Επανάληψης Τέλος_Επανάληψης Τέλος_Επανάληψης
Εκτύπωσε S Εκτύπωσε S Εκτύπωσε S
Λύση

Α. Οι τιμές που θα πάρει ο μετρητής του εξωτερικού βρόχου - το i είναι: -3, -2, -1, 0, 1, 2, 3. Το βήμα για την
αύξηση του μετρητή του εσωτερικού βρόχου j είναι το i. Όταν λοιπόν το i πάρει την τιμή 0, ο εσωτερικό βρόχος
δεν θα τερματιστεί ποτέ (ατέρμων βρόχος), παραβιάζεται λοιπόν το κριτήριο της περατότητας
Β. Η τελική τιμή του εξωτερικού βρόχου είναι είναι μικρότερη της αρχικής ενώ το βλήμα είναι θετικό (εννοείται
η τιμή 1). Επομένως, δεν θα εκτελεστεί καμμία επανάληψη του εξωτερικού βρόχου και επομένως και του
εσωτερικού. Άρα θα εκτυπωθεί η (αρχική) τιμή 0
Γ. Οι τιμές που θα πάρει ο μετρητής του εξωτερικού βρόχου - το i είναι: 2, 3, 4, 5. Αυτές οι τιμές αποτελούν
την τελική τιμή για τον εσωτερικό βρόχο. Ωστόσο, η εκτέλεση του αλγορίθμου δεν θα εισαχθεί ποτέ στον
εσωτερικό βρόχο καθώς σε κάθε περίπτωση η τελική τιμή θα είναι μικρότερη της αρχικής με βήμα θετικό. Άρα
δεν θα εκτελεστεί η εντολή εκχώρησης τιμής καμμία φορά, επομένως ια εκτυπωθεί η (αρχική) τιμή 0

Ü 2.3.1.Ασκ9. Να συμπληρώσετε τα κενά στον παρακάτω αλγόριθμο ώστε να εμφανίζονται οι


αριθμοί: -1, 2, -3, 4, -5, 6, -7

Αλγόριθμος Συμπλήρωση_κενών
Για i από ___ μέχρι ____
Αν _______________ τότε
Εμφάνισε _____
Αλλιώς
Εμφάνισε _____
Τέλος_Αν
Τέλος_Επανάληψης
Τέλος Συμπλήρωση_κενών
Λύση
Παρατηρούμε οτι ο αλγόριθμος εκτυπώνει τους αριθμούς από το 1 μέχρι το 6. Όσον αφορά τους άρτιους
εκτυπώνονται θετικοί, ενώ οι περιττοί εκτυπώνονται με πρόσημο μείον. Άρα, ο αλγόριθμος γίνεται:

Αλγόριθμος Συμπλήρωση_κενών
Για i από 1 μέχρι 7
Αν (i mod 2 = 0) τότε
Εμφάνισε i
Αλλιώς
Εμφάνισε (-1) * i
Τέλος_Αν
Τέλος_Επανάληψης
Τέλος Συμπλήρωση_κενών
Ü 2.3.1.Ασκ10. Να διατυπώσετε την εκφώνηση του αλγορίθμου που παρουσιάζεται στη συνέχεια
και να υλοποιηθεί με την δομή Αρχή_Επανάληψης...Μέχρις_Ότου

Αλγόριθμος Άσκηση10
i←0
Διάβασε α
Όσο (i < 3) και (α <> 123) επανάλαβε
Διάβασε α
i←i+1
Τέλος_Επανάληψης
Τέλος Άσκηση10
Λύση
Παρατηρούμε οτι η δομή επανάληψης εκτελείται για 3 επαναλήψης ή μέχρι η εισαχθείσα τιμή να είναι η τιμή
123. Επομένως θα μπορούσε να είναι ο αλγόριθμος εισαγωγής του κωδικού σε μια συσκευή κινητού. Η
εκφώνηση λοιπόν είναι: να αναπτύξετε αλγόριθμο που θα διαβάζει αριθμούς. Η επανάληψη θα σταματάει όταν
εισαχθούν 3 αριθμοί ή όταν εισαχθεί ο αριθμός 123

Ο αλγόριθμος με τη δομή Μέχρις_Ότου θα είναι:

Αλγόριθμος Άσκηση10_εναλ
i←0
Αρχή_Επανάληψης
Διάβασε α
i←i+1
Μέχρις_Ότου (i >= 3) ή (α = 123)
Τέλος Άσκηση10_εναλ
Ü 2.3.1.Ασκ11. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί
τελικά;

Αλγόριθμος Άσκηση11
α←0
Για i από 11 μέχρι 50 με_βήμα 10
α ← α + (i - 2)
Τέλος_Επανάληψης
Εκτύπωσε α
Τέλος Άσκηση11
Λύση

1η επανάληψη 2η επανάληψη 3η επανάληψη 4η επανάληψη

i: 11 21 31 41 51

α: 0 9 28 57 96

Θα εκτυπωθεί η τιμή 96

Ü 2.3.1.Ασκ12. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά;

Αλγόριθμος Άσκηση12
α←0
Όσο (α <= 22) επανάλαβε
Για i από 1 μέχρι 3
α←α+i
Τέλος_Επανάληψης
α←α+5
Τέλος_Επανάληψης
Εκτύπωσε α
Τέλος Άσκηση12
Λύση

i α

0 <= 22 Ισχύει, 1η εξωτερική επανάλ

1η επανάλ 1 1

2η επανάλ 2 3

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

Ü 2.3.1.Ασκ13. Να μεταφέρετε το παρακάτω διάγραμμα ροής σε μορφή ψευδοκώδικα


Λύση
Αλγόριθμος Μετατροπή2
Αρχή_Επανάληψης
Διάβασε Πλήθος
Μέχρις_Ότου (Πλήθος > 0)
άθροισμα ← 0
i←0
Όσο (i <= Πλήθος) επανάλαβε
Διάβασε αριθμός
άθροισμα ← άθροισμα + αριθμός
i←i+1
Τέλος_Επανάληψης
Εμφάνισε άθροισμα
Τέλος Μετατροπή2
Ü 2.3.1.Ασκ14. Να σχηματίσετε το διάγραμμα ροής για τον παρακάτω αλγόριθμο
Αλγόριθμος Μετατροπή1
μετρητής ← 0
άθροισμα ← 0
Αρχή_Επανάληψης
Διάβασε αριθμός
μετρητής ← μετρητής + 1
άθροισμα ← άθροισμα + αριθμός ^ 2
Μέχρις_Ότου (μετρητής = 100)
Αν (μετρητής <> 0) τότε
μέσος_όρος ← άθροισμα / μετρητής
Εμφάνισε άθροισμα, μέσος_όρος
Αλλιώς
Εμφάνισε "Κανείς αριθμός"
Τέλος_Αν
Τέλος Μετατροπή1
Λύση

Ü 2.3.1.Ασκ15. Να μετατρέψετε το παρακάτω τμήμα αλγορίθμου χρησιμποιώντας τις άλλες δυο


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

α←2
β←3
Αρχή_Επανάληψης
Εκτύπωσε β
β←β+2
Μέχρις_Ότου (β > 11)
Λύση
α←2
β←3
Όσο (β <= 11) επανάλαβε
Εκτύπωσε β
β←β+2
Τέλος_Επανάληψης

α←2
Για β από 3 μέχρι 11 με_βήμα 2
Εκτύπωσε β
Τέλος_Επανάληψης
Ü 2.3.1.Ασκ16. Να αναπαραστήσετε τον αλγόριθμο που αντιστοιχεί στο παρακάτω διάγραμμα ροής
και να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί τελικά;

Λύση
Αλγόριθμος Διάγραμμα_Ροής
i←1 Αλγόριθμος Διάγραμμα_Ροής_Εναλ
S←0 S←0
Όσο (i <= 5) επανάλαβε Για i από 1 μέχρι 5
Ή
i←i+1 S ← S + (-1) ^ i * i ^ 2
S ← S + (-1) ^ i * i ^2 Τέλος_Επανάληψης
Τέλος_Επανάληψης Εμφάνισε S
Εμφάνισε S Τέλος Διάγραμμα_Ροής_Εναλ
Τέλος Διάγραμμα_Ροής

Η άσκηση θα εκτυπώσει το αποτέλεσμα της σειράς S = -1 + 4 - 9 + 16 - 25. Η δομή επανάληψης θα εκτελεστεί


για 5 επαναλήψεις

Επανάληψη: 1η 2η 3η 4η 5η

S: 0 -1 3 -6 10 -15

i: 0 1 2 3 4 5 6

Θα εκτυπωθούν η τιμή: -15

Ü 2.3.1.Ασκ17. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά;

Αλγόριθμος Πίνακας_Τιμών1
α←2
Όσο (α <= 10) επανάλαβε
Αν (α mod 2 = 0) τότε
α←α+3
Αλλιώς
α←α+2
Τέλος_Αν
Εκτύπωσε α
Τέλος_Επανάληψης
Εκτύπωσε α
Τέλος Πίνακας_Τιμών1
Λύση

2 <= 10 - Ισχύει 1η επανάληψη

2 mod 2 = 0 - Ισχύει 5

5 <= 10 - Ισχύει 2η επανάληψη

5 mod 2 = 0 - Δεν ισχύει 7

7 <= 10 - Ισχύει 3η επανάληψη

7 mod 2 = 0 - Δεν ισχύει 9

8 <= 10 - Ισχύει 4η επανάληψη

9 mod 2 = 0 - Δεν ισχύει 11

11 <= 10 - Δεν ισχύει τεροματισμός επανάληψης

Θα εκτυπωθούν οι τιμές 5, 7, 9, 11, 11

Ü 2.3.1.Ασκ18. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά;

Αλγόριθμος Πίνακας_Τιμών2
α←2
β←1
Όσο (α >= β) και (α div 10 < 1) επανάλαβε
α←α^2
Αν (α div β > 2) τότε
β←β+1
Αλλιώς
α←α+1
Τέλος_Αν
Τέλος_Επανάληψης
Εκτύπωσε α, β
Τέλος Πίνακας_Τιμών2
Λύση

2 >= 1 και 2 div 10 = 0 4 div 1 = 4 4 >= 2 και 4 div 10 = 0 16 div 2 = 8 16 >= 3 και 16 div
< 1 Ισχύει >2 < 1 Ισχύει >2 10 = 1 < 1
1η επανάληψη Iσχύει 2η επανάληψη Iσχύει Δεν ισχύει

α: 4 16
2

β: 1 2 3

Θα εκτυπωθούν οι τιμές 16, 3


Δομές Επανάληψης - Μέρος 2

Ü 2.3.2.Ασκ1. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά;

Αλγόριθμος Πίνακας_Τιμών1
α←0
β←1
γ←3
Για i από 14 μέχρι 4 με_βήμα -3
α←α+2
Αν (α <= 4) τότε
β←β*i
Αλλιώς
γ←γ-i
Τέλος_Αν
Τέλος_Επανάληψης
α←α*γ+β
Εκτύπωσε α, β, γ
Τέλος Πίνακας_Τιμών1
Λύση

1η επανάληψη 2η επανάληψη 3η επανάληψη 4η επανάληψη

i: 14 11 8 5 2

α: 0 2 4 6 8 74

β: 1 14 154

γ: 3 -5 -10

Θα εκτυπωθεί η τιμή 74

Ü 2.3.2.Ασκ2. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά;

Αλγόριθμος Πίνακας_Τιμών2
α←1
Για i από 52 μέχρι 31 με_βήμα -10
β ← i - 11
γ←2*β
Αν (α > 15) τότε
γ←γ+α*β
Αλλιώς
γ ← γ div 3
Τέλος_Αν
α←β-γ
Τέλος_Επανάληψης
Εκτύπωσε α, β, γ
Τέλος Πίνακας_Τιμών2
Λύση

1η 2η 3η
1 > 15 Δεν ισχύει 14 > 15 Δεν ισχύει 11 > 15 Δεν ισχύει
επανάληψη επανάληψη επανάληψη

i: 52 42 32

14 11 7
(ανεξαρτήτως (ανεξαρτήτως (ανεξαρτήτως
α: 1
συνθήκης) συνθήκης) συνθήκης)

β: 41 31 21

γ: 82 27 62 20 42 14

Θα εκτυπωθούν οι τιμές 7, 21, 14

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


τελικά;

Αλγόριθμος Πίνακας_Τιμών3
α←6
β ← 11
Αρχή_Επανάληψης
γ ← (α + β) div 2
Αν (γ > α) τότε
α←γ-α
β←β-γ
Αλλιώς
α←3+α-γ
β←γ-β
Τέλος_Αν
ποσότητα ← γ + α * β
Μέχρις_Ότου (ποσότητα < 0)
Εκτύπωσε α, β, γ
Τέλος Πίνακας_Τιμών3
Λύση

8>6 14 < 0 Δεν ισχύει 2>2


1η επανάληψη -1 < 0 Ισχύει
Iσχύει 2η επανάληψη Δεν ισχύει

α: 6 2 3

β: 11 3 -1

γ: 8 2
ποσότητα : 14 -1

Θα εκτυπωθούν οι τιμές 16, 3

Ü 2.3.2.Ασκ4. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά;

Αλγόριθμος Πίνακας_Τιμών4
β ← 10
Όσο (β >= 0) επανάλαβε
α←β+3
Αν (α < 8) τότε
γ←α-β
Αλλιώς
γ←α+β
Τέλος_Αν
Εκτύπωσε γ
β←β-4
Τέλος_Επανάληψης
Τέλος Πίνακας_Τιμών4
Λύση

10 >= 0 9<8 2 >= 0


13 < 8 6 >= 0 Ισχύει 5<8 -2 >= 0
Ισχύει Δεν Ισχύει
Δεν ισχύει 2η επανάληψη Ισχύει Δεν ισχύει
1η επανάληψη ισχύει 3η επανάληψη

α: 13 9 5

β: 10 6 2 -2

γ: 23 15 3

Θα εκτυπωθούν οι τιμές του γ στην τελυταία γραμμή: 23, 15, 3

Ü 2.3.2.Ασκ5. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί;


Αλγόριθμος Πίνακας_Τιμών5
β←1
Όσο (β < 8) επανάλαβε
Αν (b mod 2 = 0) τότε
β←β+1
Αλλιώς
β←β+3
Τέλος_Αν
Εκτύπωσε β
Τέλος_Επανάληψης
Τέλος Πίνακας_Τιμών5
Λύση
4 < 8 Ισχύει
1 < 8 Ισχύει 1 mod 2 = 4 mod 2 = 5 < 8 Ισχύει 5 mod 2 = 8<8
1η 0 2η 0 0 Δεν
επανάληψη Δεν ισχύει επανάληψη Ισχύει 3η επανάληψη Δεν ισχύει ισχύει

β: 1 4 5 8

Θα εκτυπωθούν οι τιμές του β

Ü 2.3.2.Ασκ6. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί;


Αλγόριθμος Πίνακας_Τιμών6
x←1
α←2
Αρχή_Επανάληψης
y←x*α
Αν (y mod 2 = 0) τότε
x←x+3
z←x*y
Αλλιώς
x←x+2
z←x+y
Τέλος_Αν
Εκτύπωσε z
α←α+1
Μέχρις_Ότου (x > 7)
Εκτύπωσε x, y, z
Τέλος Πίνακας_Τιμών6
Λύση
4 > 7 Δεν
2 mod 2 = ισχύει 12 mod 2 = 7 > 7 Δεν 21 mod 2 =
1η 10 > 7
0 0 ισχύει 0
επανάληψη Ισχύει
Ισχύει 2η επανάληψη Ισχύει 3η επανάληψη Δεν ισχύει

α: 2 3 4 5

x: 1 4 7 10

y: 2 12 28

z: 8 84 280

Θα εκτυπωθούν οι τιμές: 10, 28, 196

Ü 2.3.2.Ασκ7. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου, αν η τιμή του α που
διαβάζεται είναι 120. Τί θα εκτυπωθεί τελικά;

Αλγόριθμος Πίνακας_Τιμών7
Διάβασε α
β←1
Όσο (α div 10 > 0) επανάλαβε
α ← α div 10
Αν (α mod 2 = 1) τότε
β←β+3
Αλλιώς
β←β+α
Τέλος_Αν
Τέλος_Επανάληψης
Εκτύπωσε β
Τέλος Πίνακας_Τιμών7
Λύση

120 div 10 = 12 > 0 12 mod 2 = 12 div 10 = 1 > 0 1 mod 2 = 1 1 div 10 = 0


Ισχύει 0 Ισχύει >0
1η επανάληψη Δεν ισχύει 2η επανάληψη Iσχύει Δεν ισχύει

α: 120 12 1

β: 1 13 16

Θα εκτυπωθεί η τιμή 16

Ü 2.3.2.Ασκ8. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά;

Αλγόριθμος Πίνακας_Τιμών8
α←3
β←0
Για i από 7 μέχρι 2 με_βήμα -2
α ← i div α
Αν (α div 2 = 0) τότε
β←α+β
Αλλιώς
β←α-β
Τέλος_Αν
Τέλος_Επανάληψης
Εμφάνισε α, β
Τέλος Πίνακας_Τιμών8
Λύση

2 div 2 = 0 2 div 2 = 0 1 div 2 = 0


1η επανάληψη 2η επανάληψη 3η επανάληψη
Ισχύει Ισχύει Δεν ισχύει

i: 7 5 3

2 2 1
α: 3

β: 0 2 4 -3

Θα εκτυπωθεί οι τιμές 2 2, 2 4, 1 -3

Ü 2.3.2.Ασκ9. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά;
Αλγόριθμος Πίνακας_Τιμών9
σύνολο ← 0
α←5
β ← 11
Για i από 21 μέχρι 92 με_βήμα 23
α←α+i
Αν (α div 4 > 30) ή (α mod 3 = 0) τότε
β ← (β div α) ^ 3 + 5
Αλλιώς
β ← 3 * (β mod 3) ^ 2
Τέλος_Αν
σύνολο ← σύνολο + β
Τέλος_Επανάληψης
Εμφάνισε α, β, σύνολο
Τέλος Πίνακας_Τιμών9
Λύση

26 70 137 227
div 4 div 4 div 4 div 4
> 30 > 30 > >
ή ή 41 ή 41 ή Τερματισμός
1η 2η 3η 4η
26 70
επανάληψη επανάληψη επανάληψη επανάληψη
mod 3 mod 3 137 227 επανάληψης
=0 =0 mod 3 mod 3
Δεν Δεν =0 =0
ισχύει ισχύει Ισχύει Ισχύει

i: 113
21 44 67 90

α: 5 26 70 137 227

β: 11 12 0 5 5

σύνολο 12 12
0 17 22
:

Θα εκτυπωθούν οι τιμές 227, 5, 22

Ü 2.3.2.Ασκ10. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά;

Αλγόριθμος Πίνακας_Τιμών10
x←2
y←7
Για i από 73 μέχρι 42 με_βήμα -9
x ← x + i div y
y ← y + i mod x
Εμφάνισε x, y
Τέλος_Επανάληψης
Τέλος Πίνακας_Τιμών10
Λύση
τερματισμός
1η επανάληψη 2η επανάληψη 3η επανάληψη 4η επανάληψη
επανάληψης

i: 73 64 55 46 37

x: 2 12 12 16 18

y: 8 12 19 31
7

Θα εκτυπωθούν οι τιμές 12 8, 12 12, 16 19, 18 31

Ü 2.3.2.Ασκ11. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά;

Αλγόριθμος Πίνακας_Τιμών11
β ← 12
γ←2
Για α από 14 μέχρι 0 με_βήμα -3
Αν (α > β div 2) τότε
γ←γ+β-α
Αλλιώς
γ ← γ - β div 2 + α mod 4
Τέλος_Αν
β←β+2
Εμφάνισε β, γ
Τέλος_Επανάληψης
Τέλος Πίνακας_Τιμών11
Λύση

8> 5> 2>


14 > 11 >
16 div 18 div 22 div
1η 12 div 2η 14 div 3η 4η 5η
2 2 2
επανάληψη 2 επανάληψη 2 επανάληψη επανάληψη επανάληψη
Δεν Δεν Δεν
Ισχύει Ισχύει
ισχύει ισχύει ισχύει

α 14 11 8 5 2

β 14 16
12 18 20 22
:

γ
2 0 5 -3 -11 -20
:

Θα εκτυπωθούν οι τιμές 14 0, 16 5, 18 -3, 20 -11, 22 -20

Ü 2.3.2.Ασκ12. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά;
Αλγόριθμος Πίνακας_Τιμών12
β←0
Για i από 1 μέχρι 3
α←2*i
Για j από i μέχρι α
β←β+i*j
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Εμφάνισε β
Τέλος Πίνακας_Τιμών12
Λύση

i j β α

1η εξωτερική επανάλ 1 2

1η επανάλ 1 1

2η επανάλ 2 3

2η εξωτερική επανάλ 2 4

1η επανάλ 2 7

2η επανάλ 3 13

3η επανάλ 4 21

3η εξωτερική επανάλ 3 6

1η επανάλ 3 30

2η επανάλ 4 42

3η επανάλ 5 57

4η επανάλ 6 75

Θα εκτυπωθεί η τιμή 75

Ü 2.3.2.Ασκ13. Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί


τελικά; Να σχηματίσετε και το διάγραμμα ροής

Αλγόριθμος Πίνακας_Τιμών13
β←3
τ←0
Για i από 1 μέχρι 4
β←β+2
Για j από β μέχρι i με_βήμα -2
τ←τ+j
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Εμφάνισε τ
Τέλος Πίνακας_Τιμών13
Λύση

i j β τ

3 0


εξωτερική 1 5

επανάλ

1η 5 5
επανάλ

2η 3 8
επανάλ

3η 1 9
επανάλ


εξωτερική 2 7

επανάλ

1η 7 16
επανάλ

2η 5 21
επανάλ

3η 3 24
επανάλ


εξωτερική 3 9

επανάλ

9 33

επανάλ

2η 7 40
επανάλ

3η 5 44
επανάλ

4η 3 48
επανάλ


εξωτερική 4 11 6

επανάλ

1η 11 59
επανάλ

2η 9 68
επανάλ

3η 7 75
επανάλ

4η 5 80
επανάλ

Θα εκτυπωθεί η τιμή 80
Δομές Επανάληψης - Μέρος 3

2.3.3.Ασκ1. Να αναπτύξετε αλγόριθμο ο οποίος θα υπολογίζει και θα εκτυπώνει εκτυπώνει τις


τιμές της συνάρτησης F(x) = 5x4+7x3-34x+11 αν το x παίρνει ακέραιες τιμές στο διάστημα [-200,
200]

Λύση
Αλγόριθμος Συνάρτηση_Fx
Για X από -200 μέχρι 200
Fx ← 5 * X ^ 4 + 7 * x ^ 3 - 34 * X + 11
Εκτύπωσε "Για x = ", X, " η τιμή της συνάρτησης είναι", Fx
Τέλος_Επανάληψης
Τέλος Συνάρτηση_Fx

2.3.3.Ασκ2. Να αναπτύξετε αλγόριθμο ο οποίος θα εκτυπώνει τις τιμές της συνάρτησης αν το χ


παίρνει τιμές στο διάστημα [-0.5,5] με βήμα 0.05

Λύση
Αλγόριθμος ΣυνάρτησηFx
Για X από -0.5 μέχρι 5 με_βήμα 0.05
Fx ← (X - 4) / (X + 1) ^ 3
Εκτύπωσε "Για x = ", X, "η τιμή της συνάρτησης είναι", Fx
Τέλος_Επανάληψης
Τέλος ΣυνάρτησηFx

2.3.3.Ασκ3. Να αναπτύξετε αλγόριθμο ο οποίος θα υπολογίζει και θα εκτυπώνει το άθροισμα


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

Λύση
Αλγόριθμος Άθροισμα
S←0
Για i από 1 μέχρι 1000
S←S+i
Τέλος_Επανάληψης
Εκτύπωσε "Το άθροισμα είναι ", S
Τέλος Άθροισμα

2.3.3.Ασκ4. Να αναπτύξετε αλγόριθμο ο οποίος θα υπολογίζει και θα εκτυπώνει το άθροισμα


των διφήφιων περιττών αριθμών, δηλαδή το άθροισμα 11 + 13 + 15 + ... + 95 + 97 + 99

Λύση
Αλγόριθμος Άθροισμα_Περιττών
S←0
Για i από 11 μέχρι 99 με_βήμα 2
S←S+i
Τέλος_Επανάληψης
Εκτύπωσε "Το άθροισμα είναι ", S
Τέλος Άθροισμα_Περιττών

2.3.3.Ασκ5. Να αναπτύξετε αλγόριθμο ο οποίος θα υπολογίζει και θα εκτυπώνει το άθροισμα


1 + 1/2 + 1/3 + 1/4 + 1/5 + ... + 1/99 + 1/100

Λύση
Αλγόριθμος Άθροισμα
S←0
Για i από 1 μέχρι 100
S←S+1/i
Τέλος_Επανάληψης
Εκτύπωσε "Το άθροισμα είναι ", S
Τέλος Άθροισμα

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


σειρά

Λύση
Αλγόριθμος Σειρά
Διάβασε N
S←0
Για i από 1 μέχρι Ν
S←S+1/3^i
Τέλος_Επανάληψης
Εκτύπωσε "Η τιμή της σειράς είναι ", S
Τέλος Σειρά

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


σειρά

Λύση
Την αλλαγή του προσήμου μπορούμε να την επιτύχουμε με την ύψωση του -1 σε άρτια ή περιττή δύναμη
(αφού εναλλάξ πηγαίνουν και τα πρόσημα) όμοια με την εξέλιξη των τιμών του μετρητή της δομής
επανάληψης. Παρατηρούμε πως όταν ο αριθμός υψώνεται σε περιττή δύναμη το πρόσημο είναι θετικό και σε
άρτια αρνητικό...

Αλγόριθμος Σειρά_Πρόσημο
Διάβασε N
S←5
Για i από 1 μέχρι Ν
S ← S + (-1) ^ (i+1) * 3 ^ i
Τέλος_Επανάληψης
Εκτύπωσε "Η τιμή της σειράς είναι ", S
Τέλος Σειρά_Πρόσημο
2.3.3.Ασκ8. Να αναπτυχθεί αλγόριθμος που θα διάβαζει έναν αριθμό Ν και να υπολογίζει τη
σειρά

Λύση
Αλγόριθμος Διπλή_Σειρά
Διάβασε N
Αν Ν mod 2 = 0 τότε
S←0
Για i από 1 μέχρι Ν
S←S+2^i
Τέλος_Επανάληψης
Αλλιώς
S←1
Για i από 1 μέχρι Ν
S ← S + 3 ^ i / (2 * i)
Τέλος_Επανάληψης
Τέλος_Αν
Εκτύπωσε "Η τιμή της σειράς είναι ", S
Τέλος Διπλή_Σειρά

2.3.3.Ασκ9. Το παραγοντικό ορίζεται ως εξής:

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

Λύση
Αλγόριθμος Παραγοντικό
Διάβασε αριθμός
Αν (αριθμός < 0) τότε
απο Εκτύπωσε "Το παραγοντικό αρνητικού αριθμού δεν ορίζεται"
Αλλιώς
Γινόμενο ← 1
Για μετρητής από 1 μέχρι αριθμός ! καλύπτεται και η περίπτωση αριθμός = 0
Γινόμενο ← Γινόμενο * μετρητής
Τέλος_Επανάληψης
Εκτύπωσε "Το ", αριθμός, "παραγοντικό =", Γινόμενο
Τέλος_Αν
Τέλος Παραγοντικό
2.3.3.Ασκ10. Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει τις λύσεις της εξίσωσης 5x+12y-
6z=11 με τα x, y, z να παίρνουν τιμές [-50, 50]

Λύση
Αλγόριθμος Εξίσωση
Για x από -50 μέχρι 50
Για y από -50 μέχρι 50
Για z από -50 μέχρι 50
ποσότητα < 5 * x + 12 * y - 6 * z
Αν (ποσότητα = 11) τότε
Εκτύπωσε "Λύση της εξίσωσης αποτελεί η τριάδα τιμών ", x, y, z
Τέλος_Αν
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Τέλος Εξίσωση

2.3.3.Ασκ11. Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει την προπαίδεια

Λύση
Αλγόριθμος Προπαίδεια
Για i από 1 μέχρι 10 ! ο πρώτος παράγοντας ενός γινομένου
Για j από 1 μέχρι 10 ! ο δεύτερος παράγοντας ενός γινομένου
γινόμενο ← i * j ! υπολόγισε το γινόμενο
Εκτύπωσε i, " * ", j, " = ", γινόμενο
! εκτυπώνεται με τη μορφή π.χ. 3 * 4 = 12
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Τέλος Προπαίδεια

2.3.3.Ασκ12. Να αναπτύξετε αλγόριθμο ο οποίος θα εκτυπώνει το 1- *


διπλανό σχήμα :

Λύση 3- ***
Αλγόριθμος Αστεράκια
Για i από 1 μέχρι 6 ! γραμμές αύξουσας διάταξης
αστέρια ← 2 * i - 1 ! πλήθος αστεριών στην τρέχουσα γραμμή 5- *****
Για j από 1 μέχρι αστέρια
Εκτύπωσε "*"
Τέλος_Επανάληψης 7- *******
Τέλος_Επανάληψης
Για i από 5 μέχρι 1 με βήμα -1 ! γραμμές φθίνουσας διάταξης
αστέρια ← 2 * i - 1 ! πλήθος αστεριών στην τρέχουσα γραμμή 9- *********
Για j από 1 μέχρι αστέρια
Εκτύπωσε "*"
Τέλος_Επανάληψης
Τέλος_Επανάληψης 11-
***********
Τέλος Αστεράκια

9- *********

7- *******
5- *****

3- ***

1- *

2.3.3.Ασκ13. Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει τους 100 πρώτους όρους της
ακολουθίας:

Λύση
Αλγόριθμος Ακολουθία
Για ν από 0 μέχρι 99
α_ν ← 2 * (ν - 1) + 3
Εκτύπωσε "Ο ", ν "οστός όρος της ακολουθίας είναι ", α_ν
Τέλος_Επανάληψης
Τέλος Ακολουθία

2.3.3.Ασκ14. Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει τους 200 πρώτους όρους της
ακολουθίας:

Λύση
Αλγόριθμος Ακολουθία_Επιστροφή
α_ν ← 1
Εκτύπωσε "Ο 1ος όρος της ακολουθίας είναι ", α_ν
Για ν από 2 μέχρι 200
α_ν ← 2 * α_ν + ν - 1
Εκτύπωσε "Ο ", ν "ος όρος της ακολουθίας είναι ", α_ν
Τέλος_Επανάληψης
Τέλος Ακολουθία_Επιστροφή

2.3.3.Ασκ15. Να αναπτυχθεί αλγόριθμος που θα διαβάζει έναν αριθμό Ν>2 και θα εκτυπώνει
αντίστοιχο αριθμό όρων της ακολουθίας Fibonacci . Ο πρώτος όρος της ακολουθίας Fibonacci είναι
το 0, ο δεύτερος το 1 και κάθε επόμενος όρος είναι το άθροισμα των δυο προηγούμενων (0, 1, 1, 2,
3, 5, 8, 13, 21, 34, 55, 89, ... )

Λύση
Αλγόριθμος Ακολουθία_Fibonacci
Αρχή_Επανάληψης
Διάβασε Ν
Μέχρις_Ότου Ν > 2
Εκτύπωσε "Ο 1ος όρος της ακολουθίας είναι 0"
Εκτύπωσε "Ο 2ος όρος της ακολουθίας είναι 1"
α_ν_2 ← 0
α_ν_1 ← 1
Για ν από 3 μέχρι Ν
α_ν ← α_ν_2 + α_ν_1
Εκτύπωσε "Ο ", ν "ος όρος της ακολουθίας είναι ", α_ν
α_ν_2 ← α_ν_1 ! Επιλέγουμε ως προ-προηγούμενο όρο τον μέχρι τώρα προηγούμενο
α_ν_1 ← α_ν ! Επιλέγουμε ως προηγούμενο όρο τον τρέχοντα ώστε να υπολογιστεί ο όρος της
επόμενης επανάληψης
Τέλος_Επανάληψης
Τέλος Ακολουθία_Fibonacci

You might also like