SlideShare a Scribd company logo
ΠΛΗ10
ΕΝΟΤΗΤΑ 2: Αλγόριθµοι και Ψευδογλώσσα
Μάθηµα 2.4:
Εντολές Επανάληψης
∆ηµήτρης Ψούνης
A. Θεωρία
1. Εντολές Επανάληψης
1. Γενικά
2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ
3. Εντολή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ
4. Εντολή ΕΝΟΣΩ…ΕΝΟΣΩ ΤΕΛΟΣ
5. Χρήση των 3 εντολών επανάληψης
6. Σχέση των 3 εντολών επανάληψης
7. Αµυντικός Προγραµµατισµός
8. Γενικά Σχόλια για το συντακτικό των
Εντολών Επανάληψης
Β.Ασκήσεις
1. Ελάχιστος Ν αριθµών
2. Μέγιστος Ν αριθµών
3. Άθροισµα Ν αριθµών
4. Γινόµενο Ν αριθµών
5. Εµφωλιασµένοι Βρόχοι 1
6. Εµφωλιασµένοι Βρόχοι 2
7. Αµυντικός Προγραµµατισµός
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Περιεχόµενα Μαθήµατος
2
A. Θεωρία
1. Εντολές Επανάληψης
1. Γενικά
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Η δοµή επανάληψης είναι η σηµαντικότερη δοµή σε ένα πρόγραµµα.
...διότι µας επιτρέπει να εκτελέσουµε ένα τµήµα προγράµµατος πολλές φορές, το οποίο
είναι το κύριο χαρακτηριστικό του προγραµµατισµου.
Στην ψευδογλώσσα που µαθαίνουµε, υπάρχουν δύο τρόποι για να κάνουµε επανάληψη της
εκτέλεσης ενός τµήµατος κώδικα:
Η δοµή ΓΙΑ...ΕΩΣ...ΕΠΑΝΑΛΑΒΕ στην οποία ρητά αναφέρουµε πόσες φορές θέλουµε να
εκτελεστεί ένα τµήµα κώδικα.
Η δοµή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ(Συνθήκη);
Η δοµή ΕΝΟΣΩ (συνθηκη) ΕΠΑΝΑΛΑΒΕ...ΕΝΟΣΩ-ΤΕΛΟΣ
Θα αναλύσουµε τους τρεις τρόπους επανάληψης και πότε χρησιµοποιούµε τον καθένα
3
A. Θεωρία
1. Εντολές Επανάληψης
2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 4
Το συντακτικό της δοµής ΓΙΑ...ΕΩΣ...ΕΠΑΝΑΛΑΒΕ είναι:
Όπου η Μεταβλητή (πάντα ακέραια) θα πάρει διαδοχικά
όλες τις τιµές από ΑΡΧΙΚΗ_ΤΙΜΗ έως ΤΕΛΙΚΗ_ΤΙΜΗ και
για κάθε τιµή από αυτές θα εκτελεστεί η εντολή (ή οι
εντολές)
Για παράδειγµα αν ΑΡΧΙΚΗ_ΤΙΜΗ=1 και ΤΕΛΙΚΗ_ΤΙΜΗ=5
θα εκτελεστούν οι εντολές για:
Μεταβλητή=1
Μεταβλητή=2
Μεταβλητή=3
Μεταβλητή=4
Μεταβλητή=5
ΓΙΑ (Μεταβλητη:=ΑΡΧΙΚΗ_ΤΙΜΗ) ΕΩΣ (ΤΕΛΙΚΗ_ΤΙΜΗ)
ΕΠΑΝΑΛΑΒΕ
(Εντολή ή εντολές)
ΓΙΑ-ΤΕΛΟΣ
Μεταβλητή
≤
Τελική Τιµή
(εντολές)
ΟΧΙ
[προηγούµενες εντολές]
[επόµενες εντολές]
Μεταβλητη:=ΑΡΧΙΚΗ_ΤΙΜΗ
Μεταβλητή:=
Μεταβλητή+1
ΝΑΙ
A. Θεωρία
1. Εντολές Επανάληψης
2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Παράδειγµα 1:
Τι κάνει το ακόλουθο τµήµα κώδικα;
Απάντηση: Οι εντολές που περικλείονται ανάµεσα στο ΓΙΑ και το ΓΙΑ-ΤΕΛΟΣ εκτελούνται
για κάθε τιµή του Ι. Άρα:
Για I=1 τυπώνεται «Καληµέρα»
Για Ι=2 τυπώνεται «Καληµέρα»
Για Ι=3 τυπώνεται «Καληµέρα»
Για Ι=4 τυπώνεται «Καληµέρα»
Για Ι=5 τυπώνεται «Καληµέρα»
Και το πρόγραµµα τερµατίζει
Άρα το πρόγραµµα τυπώνει 5 φορές στην οθόνη τη λέξη ΚΑΛΗΜΕΡΑ
5
ΓΙΑ Ι:=1 ΕΩΣ 5 ΕΠΑΝΑΛΑΒΕ
ΤΥΠΩΣΕ (“Καληµέρα”);
ΓΙΑ-ΤΕΛΟΣ
A. Θεωρία
1. Εντολές Επανάληψης
2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Παράδειγµα 2:
Τι κάνει το ακόλουθο τµήµα κώδικα;
Απάντηση: Οι εντολές που περικλείονται ανάµεσα στο ΓΙΑ και το ΓΙΑ-ΤΕΛΟΣ εκτελούνται
για κάθε τιµή του Ι. Άρα:
Για I=1 τυπώνεται «1»
Για Ι=2 τυπώνεται «2»
Για Ι=3 τυπώνεται «3»
Για Ι=4 τυπώνεται «4»
Για Ι=5 τυπώνεται «5»
Και το πρόγραµµα τερµατίζει
6
ΓΙΑ Ι:=1 ΕΩΣ 5 ΕΠΑΝΑΛΑΒΕ
ΤΥΠΩΣΕ (I);
ΓΙΑ-ΤΕΛΟΣ
Συνήθως στις εφαρµογές χρησιµοποιείται η τιµή της µεταβλητής. Είναι σηµαντικό ότι σε κάθε
επανάληψη η τιµή της µεταβλητής είναι διαφορετική
A. Θεωρία
1. Εντολές Επανάληψης
2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Παράδειγµα 3:
Τι κάνει το ακόλουθο τµήµα κώδικα;
Απάντηση: Οι εντολές που περικλείονται ανάµεσα στο ΓΙΑ και το ΓΙΑ-ΤΕΛΟΣ εκτελούνται
για κάθε τιµή του Ι. Άρα:
Για I=1 υπολογίζεται το X=1*1=1 και τυπώνεται «1»
Για Ι=2 υπολογίζεται το X=2*2=4 και τυπώνεται «4»
Για Ι=3 υπολογίζεται το X=3*3=9 και τυπώνεται «9»
Για Ι=4 υπολογίζεται το Χ=4*4=16 και τυπώνεται «16»
Για Ι=5 υπολογίζεται το Χ=5*5=25 και τυπώνεται «25»
Και το πρόγραµµα τερµατίζει
7
ΓΙΑ Ι:=1 ΕΩΣ 5 ΕΠΑΝΑΛΑΒΕ
X:=I*I;
ΤΥΠΩΣΕ(Χ);
ΓΙΑ-ΤΕΛΟΣ
Συνήθως βέβαια, κάνουµε τον υπολογισµό που µας ενδιαφέρει στις εντολές µεταξύ των ΓΙΑ...ΓΙΑ-
ΤΕΛΟΣ χρησιµοποιώντας την τιµή της µεταβλητής του βρόχου.
A. Θεωρία
1. Εντολές Επανάληψης
2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 8
Επέκταση της εντολής για διαφορετικό βήµα αύξησης:
Η δοµή εκτελείται όπως πριν, αλλά το βήµα αύξησης είναι
Μεταβλητή:=Μεταβλητή+Βήµα
Παράδειγµα:
Απάντηση: Για I=1 υπολογίζεται το X=1*1=1 και τυπώνεται «1»
Για Ι=3 υπολογίζεται το X=3*3=9 και τυπώνεται «9»
Για Ι=5 υπολογίζεται το Χ=5*5=25 και τυπώνεται «25»
ΓΙΑ (Μεταβλητη:=ΑΡΧΙΚΗ_ΤΙΜΗ) ΕΩΣ (ΤΕΛΙΚΗ_ΤΙΜΗ) ΜΕ-ΒΗΜΑ (βήµα)
ΕΠΑΝΑΛΑΒΕ
(Εντολή ή εντολές)
ΓΙΑ-ΤΕΛΟΣ
ΓΙΑ Ι:=1 ΕΩΣ 5 ΜΕ-ΒΗΜΑ 2 ΕΠΑΝΑΛΑΒΕ
X:=I*I;
ΤΥΠΩΣΕ(Χ);
ΓΙΑ-ΤΕΛΟΣ
A. Θεωρία
1. Εντολές Επανάληψης
3. Εντολή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 9
Η δοµή ΕΠΑΝΑΛΑΒΕ ... ΜΕΧΡΙ συντάσσεται ως
ακολούθως
Στην δοµή αυτή:
Εκτελούνται οι εντολές
Ελέγχεται η συνθήκη (την οποία έχουµε συντάξει µε
λογικούς και σχεσιακούς τελεστές).
Αν η απάντηση είναι false (δεν ισχύει η
συνθήκη), τότε ξαναρχίζουµε από την αρχή
(πρώτη εντολή µετά από το ΕΠΑΝΑΛΑΒΕ)
Αν η απάντηση είναι true (ισχύει η συνθήκη),
τότε βγαίνουµε από την επανάληψη και
τρέχουµε την αµέσως επόµενη εντολή µετά τη
δοµή επανάληψης
ΕΠΑΝΑΛΑΒΕ
(Εντολή ή Εντολές)
ΜΕΧΡΙ (Συνθήκη)
συνθήκη
(εντολές)
ΝΑΙ
[προηγούµενες εντολές]
[επόµενες εντολές]
ΟΧΙ
A. Θεωρία
1. Εντολές Επανάληψης
3. Εντολή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Παράδειγµα 1:
Τι κάνει το ακόλουθο τµήµα κώδικα;
Αρχικά Ι=0
Γίνεται επανάληψη:
Τίθεται I:=0+1=1 και τυπώνεται «1»
Γίνεται έλεγχος συνθήκης. 1=3 είναι false, άρα θα επαναλάβουµε
Γίνεται επανάληψη:
Τίθεται I:=1+1=2 και τυπώνεται «2»
Γίνεται έλεγχος συνθήκης. 2=3 είναι false, άρα θα επαναλάβουµε
Γίνεται επανάληψη:
Τίθεται I:=2+1=3 και τυπώνεται «3»
Γίνεται έλεγχος συνθήκης. 3=3 είναι true, άρα δεν θα επαναλάβουµε
10
I:=0;
ΕΠΑΝΑΛΑΒΕ
I:=I+1;
ΤΥΠΩΣΕ(Ι);
ΜΕΧΡΙ (I=3)
A. Θεωρία
1. Εντολές Επανάληψης
3. Εντολή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Παράδειγµα 2:
Τι κάνει το ακόλουθο τµήµα κώδικα;
Αρχικά Ι=5
Γίνεται επανάληψη:
Τίθεται I:=5+1=6
Γίνεται έλεγχος συνθήκης. 6=3 είναι false, άρα θα επαναλαβουµε
Γίνεται επανάληψη:
Τίθεται I:=6+1=7
Γίνεται έλεγχος συνθήκης. 7=3 είναι false, άρα θα επαναλαβουµε....
..... Θα τερµατίσει ποτέ το πρόγραµµα?
Η απάντηση είναι ΟΧΙ! Σε κάθε επανάληψη το I θα αυξάνεται κατά 1, άρα ποτέ δεν θα
γίνει ίσο µε 3!
11
I:=5;
ΕΠΑΝΑΛΑΒΕ
I:=I+1
ΜΕΧΡΙ (I=3)
Αυτό είναι παράδειγµα κακού προγραµµατισµού, αποτελεί ένα από τα σηµαντικότερα
προγραµµατιστικά λάθη και καλείται ατέρµων βρόχος (επανάληψη που δεν ολοκληρώνεται ποτέ)
Παρατηρήσεις για την δοµή ΕΠΑΝΑΛΑΒΕ-ΜΕΧΡΙ
Η σύνταξη της δοµής είναι αρκετά απλή, αλλά θα πρέπει εµείς, ως προγραµµατιστές να
συντάξουµε σωστά τις υπόλοιπες εντολές. Συγκεκριµένα:
Πρέπει να αρχικοποιήσουµε σωστά την µεταβλητή που θα έχουµε στην εντολή συνθήκης.
Έτσι πριν την εντολή ΕΠΑΝΑΛΑΒΕ θα πρέπει να αρχικοποιήσουµε την µεταβλητή που θα
χρησιµοποιήσουµε (εντολή αρχικοποίησης)
Πρέπει η µεταβλητή που έχουµε στην εντολή αρχικοποίησης να επηρεάζεται στο σώµα της
επανάληψης (εντολή αύξησης µεταβλητής)
Σχηµατικά:
A. Θεωρία
1. Εντολές Επανάληψης
3. Εντολή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 12
I:=0; <- Εντολή Αρχικοποίησης
ΕΠΑΝΑΛΑΒΕ
(εντολή ή εντολές)
I:=I+1 <- Εντολή αύξησης µεταβλητής
ΜΕΧΡΙ (I=3) <- Συνθήκη
A. Θεωρία
1. Εντολές Επανάληψης
4. Εντολή ΕΝΟΣΩ…ΕΝΟΣΩ ΤΕΛΟΣ
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 13
Η δοµή ΕΝΟΣΩ...ΕΝΟΣΩ-ΤΕΛΟΣ είναι ίδια µε την
ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ µε την διαφορά ότι ο έλεγχος
γίνεται στην αρχή της επανάληψης και όχι στο τέλος της
επανάληψης
Στην δοµή αυτή:
Ελέγχεται η συνθήκη (την οποία έχουµε συντάξει µε
λογικούς και σχεσιακούς τελεστές).
Αν η απάντηση είναι true (ισχύει η συνθήκη),
εκτελούνται οι εντολές και επαναλαµβάνουµε
από την αρχή.
Αν η απάντηση είναι false (δεν ισχύει η
συνθήκη), τότε βγαίνουµε από την επανάληψη
και τρέχουµε την αµέσως επόµενη εντολή µετά
τη δοµή επανάληψης.
ΕΝΟΣΩ (συνθήκη) ΕΠΑΝΑΛΑΒΕ
... (ακολουθία εντολών)
ΕΝΟΣΩ-ΤΕΛΟΣ
συνθήκη
(εντολές)
ΟΧΙ
[προηγούµενες εντολές]
[επόµενες εντολές]
ΝΑΙ
A. Θεωρία
1. Εντολές Επανάληψης
4. Εντολή ΕΝΟΣΩ…ΕΝΟΣΩ ΤΕΛΟΣ
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Παράδειγµα 1:
Τι κάνει το ακόλουθο τµήµα κώδικα;
Απάντηση:
Αρχικοποιείται το Κ µε 5
Γίνεται ο έλεγχος συνθήκης (5<8). Επιστρέφεται true, άρα γίνονται τα βηµατα
L=2*5+1=11 και Κ=5+1=6. Τυπώνεται «11».
Γίνεται ο έλεγχος συνθήκης (6<8). Επιστρέφεται true, άρα γίνονται τα βηµατα
L=2*6+1=13 και Κ=6+1=7. Τυπώνεται «13».
Γίνεται ο έλεγχος συνθήκης (7<8). Επιστρέφεται true, άρα γίνονται τα βηµατα
L=2*7+1=15 και Κ=7+1=8. Τυπώνεται «15».
Γίνεται ο έλεγχος συνθήκης (8<8). Επιστρέφεται false, άρα τερµατίζει η επανάληψη.
14
Κ:=5;
ΕΝΟΣΩ (Κ<8) ΕΠΑΝΑΛΑΒΕ
L:=2*K+1;
Κ:=Κ+1;
ΤΥΠΩΣΕ (L);
ΕΝΟΣΩ-ΤΕΛΟΣ
A. Θεωρία
1. Εντολές Επανάληψης
5. Χρήση των 3 Εντολών Επανάληψης
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 15
I:=5;
ΕΠΑΝΑΛΑΒΕ
I:=I+1
ΜΕΧΡΙ (I=3);
Βλέπουµε ότι και οι 3 δοµές επανάληψης µε παρόµοιο τρόπο κάνουν τις ίδιες ενέργειες.
Η πιο συνηθισµένη δοµή είναι η ΓΙΑ...ΓΙΑ-ΤΕΛΟΣ και την χρησιµοποιούµε όταν ξέρουµε
ποιες τιµές θα πάρει η µεταβλητή.
Αν δεν ξέρουµε ακριβώς ποιες τιµές θα πάρει ή µεταβλητή ή πόσες φορές πρέπει να γίνει
η επανάληψη, τότε χρησιµοποιούµε την δοµή ΕΝΟΣΩ...ΕΝΟΣΩ-ΤΕΛΟΣ.
Η δοµή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ χρησιµοποιείται πιο σπάνια.
Εµείς θα την χρησιµοποιούµε µόνο για λόγους αµυντικού προγραµµατισµού (θα το
δούµε στη συνέχεια)
Ειδικά οι δοµές ΕΝΟΣΩ..ΕΝΟΣΩ ΤΕΛΟΣ και ΕΠΑΝΑΛΑΒΕ..ΜΕΧΡΙ µοιάζουν αρκετά
Μία σηµαντική διαφορά είναι ότι η ΕΠΑΝΑΛΑΒΕ…ΜΕΧΡΙ θα τρέξει σίγουρα τουλάχιστον
µία φορά, το οποίο δεν ισχύει απαραίτητα για την ΕΝΟΣΩ…ΕΝΟΣΩ ΤΕΛΟΣ
A. Θεωρία
1. Εντολές Επανάληψης
6. Σχέση των 3 Εντολών Επανάληψης
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 16
Ενδιαφέρον επίσης έχει ότι η εντολή ΓΙΑ µπορεί να προσοµοιωθεί από τις άλλες δύο ως
ακολούθως:
Με εντολή ΕΝΟΣΩ…
ΕΝΟΣΩ ΤΕΛΟΣ
Με εντολή
ΕΠΑΝΑΛΑΒΕ..ΩΣΠΟΥ
ΓΙΑ Ι:=1 ΕΩΣ 10 ΕΠΑΝΑΛΑΒΕ
(Εντολή ή εντολές)
ΓΙΑ-ΤΕΛΟΣ
Ι:=1;
ΕΝΟΣΩ (Ι<=10) ΕΠΑΝΑΛΑΒΕ
(Εντολή ή εντολές)
Ι:=Ι+1;
ΕΝΟΣΩ-ΤΕΛΟΣ
I:=0;
ΕΠΑΝΑΛΑΒΕ
I:=I+1;
(Εντολή ή εντολές)
ΜΕΧΡΙ (I=10)
A. Θεωρία
1. Εντολές Επανάληψης
7. Αµυντικός Προγραµµατισµός
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 17
Μία καλή στρατηγική στον προγραµµατισµό είναι πάντα να ελέγχουµε την είσοδο του χρήστη
αν ικανοποιεί τις προδιαγραφές του προγράµµατός µας.
Π.χ. Αν θέλουµε να διαβάσουµε έναν ακέραιο µεταξύ 1 και 100 και πρέπει να αποφύγουµε ο
χρήστης να εισάγει µία λανθασµένη τιµή τότε εφαρµόζουµε αµυντικό προγραµατισµό και
κάνουµε έλεγχο αν η τιµή που εισήγαγε ο χρήστης είναι σωστή.
Έτσι τον αναγκάζουµε να επαναπληκτρολογήσει µέχρι να βάλει την σωστή τιµή.
Στο ακόλουθο πρόγραµµα κάνουµε αµυντικό προγραµµατισµό για να διαβάσουµε έναν αριθµό
από το 1 έως το 100.
ΑΛΓΟΡΙΘΜΟΣ defensive
∆Ε∆ΟΜΕΝΑ
x: INTEGER;
ΑΡΧΗ
ΕΠΑΝΑΛΑΒΕ
ΤΥΠΩΣΕ(“∆ώσε τον αριθµό: ”);
∆ΙΑΒΑΣΕ(x);
ΜΕΧΡΙ (x>=0 AND x<=100)
ΤΕΛΟΣ
A. Θεωρία
1. Εντολές Επανάληψης
8. Γενικά Σχόλια για το Συντακτικό των Εντολών Επανάληψης
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 18
Στην ψευδογλώσσα του ΕΑΠ µια εντολή επανάληψης νοείται ως µια ακόµη εντολή. Έτσι
σεβόµαστε το συντακτικό που έχουµε πει για τις εντολές, δηλαδή ότι κάθε εντολή πρέπει να
τελειώνει µε ερωτηµατικό.
Όταν γράφουµε «στο χέρι» κώδικα θα πρέπει να τελειώνουµε µια εντολή µε ερωτηµατικό.
Όταν γράφουµε µια εντολή επανάληψης στον µεταγλωττιστή δεν θα την τελειώνουµε µε
ερωτηµατικό.
Επίσης για ένα µπλοκ κώδικα, ισχύει ότι όταν γράφουµε κώδικα µε «το χέρι» η τελευταία εντολή
δεν πρέπει να έχει ερωτηµατικό. Μπλοκ κώδικα, δηλαδή εντολές που οµαδοποιούνται έχουµε
δει για την ώρα στα εξής σηµεία:
ΑΡΧΗ [µπλοκ] ΤΕΛΟΣ του αλγορίθµου
ΕΑΝ ..ΤΟΤΕ [µπλοκ] ΕΑΝ-ΤΕΛΟΣ
ΕΑΝ..ΤΟΤΕ [µπλοκ] ΑΛΛΙΩΣ [µπλοκ] ΕΑΝ-ΤΕΛΟΣ
ΓΙΑ..ΕΩΣ..ΕΠΑΝΑΛΑΒΕ [µπλοκ] ΓΙΑ-ΤΕΛΟΣ
ΕΠΑΝΑΛΑΒΕ [µπλοκ] ΜΕΧΡΙ ..
ΕΝΟΣΩ..ΕΠΑΝΑΛΑΒΕ [µπλοκ] ΕΝΟΣΩ-ΤΕΛΟΣ
Στην ακόλουθη διαφάνεια φαίνεται ένα πρόγραµµα και οι µικροαλλαγές που γίνονται στη χρήση
ερωτηµατικών όταν το γράφουµε µε το χέρι και όταν το γράφουµε στο µεταγλωττιστή.
A. Θεωρία
1. Εντολές Επανάληψης
8. Γενικά Σχόλια για το Συντακτικό των Εντολών Επανάληψης
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 19
Στον µεταγλωττιστή Με το χέρι
ΑΛΓΟΡΙΘΜΟΣ example
∆Ε∆ΟΜΕΝΑ
I,N,X: INTEGER;
ΑΡΧΗ
ΤΥΠΩΣΕ("∆ΩΣΕ Ν: ");
∆ΙΑΒΑΣΕ(N);
ΤΥΠΩΣΕ("ΑΡΧΗ",EOLN);
ΓΙΑ Ι:=1 ΕΩΣ N ΕΠΑΝΑΛΑΒΕ
X:=I*I;
ΤΥΠΩΣΕ(Χ,EOLN);
ΓΙΑ-ΤΕΛΟΣ
ΤΥΠΩΣΕ(“ΤΕΛΟΣ”);
ΤΕΛΟΣ
ΑΛΓΟΡΙΘΜΟΣ example
∆Ε∆ΟΜΕΝΑ
I,N,X: INTEGER;
ΑΡΧΗ
ΤΥΠΩΣΕ("∆ΩΣΕ Ν: ");
∆ΙΑΒΑΣΕ(N);
ΤΥΠΩΣΕ("ΑΡΧΗ",EOLN);
ΓΙΑ Ι:=1 ΕΩΣ N ΕΠΑΝΑΛΑΒΕ
X:=I*I;
ΤΥΠΩΣΕ(Χ,EOLN) <= ΠΡΟΣΟΧΗ!
ΓΙΑ-ΤΕΛΟΣ; <= ΠΡΟΣΟΧΗ!
ΤΥΠΩΣΕ(“ΤΕΛΟΣ”) <= ΠΡΟΣΟΧΗ!
ΤΕΛΟΣ
Σηµείωση:
Στον µεταγλωττιστή θα περάσουν και οι δύο τρόποι. Και µε τους δύο τρόπους θα µεταγλωττιστεί
το πρόγραµµα.
Ωστόσο αποτελεί ισχυρή σύσταση να επιλέξετε να σκέφτεστε µε το 1ο τρόπο. Στις συνήθεις
γλώσσες προγραµµατισµού (όπως η C που θα κάνουµε) ισχύει ο 1ος τρόπος. Οπότε είναι
αχρείαστο να εργαζόµαστε µε το 2ο τρόπο.
Β.Ασκήσεις
Εφαρµογή 1: Ελάχιστος Ν αριθµών
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Γράψτε ένα πρόγραµµα (χρησιµοποιώντας τον µεταγλωττιστή) που:
• Ζητάει από το χρήστη να εισάγει έναν αριθµό Ν µεταξύ του 5 και του 10 µε αµυντικό
προγραµµατισµό
• Έπειτα ζητάει από το χρήστη να εισάγει Ν αριθµούς.
• Το πρόγραµµα τυπώνει τον ελάχιστο από τους Ν αριθµούς που εισήγαγε ο χρήστης.
20
Σηµείωση:
Η άσκηση αυτή είναι αυξηµένης δυσκολίας για αρχάριους προγραµµατιστές διότι εισάγει και
έναν προγραµµατιστικό τρόπο σκέψης. Συµβουλευθείτε µε µεγάλη προσοχή τη λύση, και
προχωρήστε µε τις επόµενες ασκήσεις
Β.Ασκήσεις
Εφαρµογή 2: Μέγιστος Ν αριθµών
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Γράψτε ένα πρόγραµµα (χρησιµοποιώντας τον µεταγλωττιστή) που:
• Ζητάει από το χρήστη να εισάγει έναν αριθµό N µεταξύ του 5 και του 10 µε αµυντικό
προγραµµατισµό
• Έπειτα ζητάει από το χρήστη να εισάγει N ακέραιους αριθµούς.
• Το πρόγραµµα υπολογίζει και τυπώνει το µέγιστο των αριθµών που εισήγαγε ο χρήστης.
21
Β.Ασκήσεις
Εφαρµογή 3: Άθροισµα Ν αριθµών
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Γράψτε ένα πρόγραµµα (χρησιµοποιώντας τον µεταγλωττιστή) που:
• Ζητάει από το χρήστη να εισάγει έναν αριθµό N µεταξύ του 5 και του 10 µε αµυντικό
προγραµµατισµό
• Έπειτα ζητάει από το χρήστη να εισάγει N ακέραιους αριθµούς.
• Το πρόγραµµα υπολογίζει και τυπώνει το άθροισµα των αριθµών που εισήγαγε ο χρήστης.
22
Β.Ασκήσεις
Εφαρµογή 4: Γινόµενο Ν αριθµών
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Γράψτε ένα πρόγραµµα (χρησιµοποιώντας τον µεταγλωττιστή) που:
• Ζητάει από το χρήστη να εισάγει έναν αριθµό N µεταξύ του 5 και του 10 µε αµυντικό
προγραµµατισµό
• Έπειτα ζητάει από το χρήστη να εισάγει N ακέραιους αριθµούς.
• Το πρόγραµµα υπολογίζει και τυπώνει το γινόµενο των αριθµών που εισήγαγε ο χρήστης.
.
23
Β.Ασκήσεις
Εφαρµογή 5: Εµφωλιασµένοι Βρόχοι 1
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Τι τυπώνει το ακόλουθο πρόγραµµα; Μελετήστε το, τόσο µε «χαρτί και µολύβι» όσο και στον
µεταγλωττιστή. Τροποποιήστε την έξοδο του προγράµµατος ώστε να είναι κατά το δυνατόν
«κοµψή», ή τουλάχιστον κοµψότερη από την εκτύπωση που κάνει το πρόγραµµα αυτό.
.
24
ΑΛΓΟΡΙΘΜΟΣ efarmogi5
∆Ε∆ΟΜΕΝΑ
I,J: INTEGER;
ΑΡΧΗ
ΓΙΑ I:=1 ΕΩΣ 4 ΕΠΑΝΑΛΑΒΕ
ΓΙΑ J:=1 ΕΩΣ 5 ΕΠΑΝΑΛΑΒΕ
ΤΥΠΩΣΕ(I+J);
ΓΙΑ-ΤΕΛΟΣ
ΓΙΑ-ΤΕΛΟΣ
ΤΕΛΟΣ
Σηµείωση:
Επειδή έχουµε επανάληψη µέσα στην επανάληψη, η παραπάνω δοµή χαρακτηρίζεται
προγραµµατιστικά «εµφωλιασµένοι βρόχοι»
Β.Ασκήσεις
Εφαρµογή 6: Εµφωλιασµένοι Βρόχοι 2
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
(A) Τι τυπώνει το ακόλουθο πρόγραµµα; Μελετήστε το, τόσο µε «χαρτί και µολύβι» όσο και στον
µεταγλωττιστή
.
(B) Κάντε κατάλληλη µετατροπή στο πρόγραµµα ώστε το τρίγωνο να τυπώνεται ανάποδα (δηλαδή
η βάση του τριγώνου να εµφανίζεται στο τέλος και όχι στην αρχή της εκτέλεσης.
25
ΑΛΓΟΡΙΘΜΟΣ efarmogi6
∆Ε∆ΟΜΕΝΑ
I,J,N: INTEGER;
ΑΡΧΗ
N:=10;
ΓΙΑ I:=1 ΕΩΣ N ΕΠΑΝΑΛΑΒΕ
ΓΙΑ J:=I ΕΩΣ N ΕΠΑΝΑΛΑΒΕ
ΤΥΠΩΣΕ(“*”);
ΓΙΑ-ΤΕΛΟΣ
ΤΥΠΩΣΕ(EOLN);
ΓΙΑ-ΤΕΛΟΣ
ΤΕΛΟΣ
Β.Ασκήσεις
Εφαρµογή 7: Αµυντικός Προγραµµατισµός
∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης
Γράψτε ένα πρόγραµµα (χρησιµοποιώντας τον µεταγλωττιστή) για εξάσκηση στον αµυντικό
προγραµµατισµό που θα διαβάζει 5 ακεραίους αριθµούς X,Y,Z,W
• O X θα πρέπει να είναι µεταξύ του 5 και του 10
• Ο Υ θα πρέπει να είναι θετικός
• Ο Ζ θα πρέπει να είναι µη αρνητικός
• Ο W θα πρέπει να είναι αρνητικός.
26

More Related Content

What's hot

ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ20 ΜΑΘΗΜΑ 1.3
ΠΛΗ20 ΜΑΘΗΜΑ 1.3ΠΛΗ20 ΜΑΘΗΜΑ 1.3
ΠΛΗ20 ΜΑΘΗΜΑ 1.3
Dimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.2
ΠΛΗ10 ΜΑΘΗΜΑ 1.2ΠΛΗ10 ΜΑΘΗΜΑ 1.2
ΠΛΗ10 ΜΑΘΗΜΑ 1.2
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
Dimitris Psounis
 
ΠΛΗ30 ΜΑΘΗΜΑ 2.3
ΠΛΗ30 ΜΑΘΗΜΑ 2.3ΠΛΗ30 ΜΑΘΗΜΑ 2.3
ΠΛΗ30 ΜΑΘΗΜΑ 2.3
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.5
ΠΛΗ10 ΜΑΘΗΜΑ 1.5ΠΛΗ10 ΜΑΘΗΜΑ 1.5
ΠΛΗ10 ΜΑΘΗΜΑ 1.5
Dimitris Psounis
 
ΠΛΗ20 ΜΑΘΗΜΑ 1.4
ΠΛΗ20 ΜΑΘΗΜΑ 1.4ΠΛΗ20 ΜΑΘΗΜΑ 1.4
ΠΛΗ20 ΜΑΘΗΜΑ 1.4
Dimitris Psounis
 
ΠΛΗ10 ΤΕΣΤ 2
ΠΛΗ10 ΤΕΣΤ 2ΠΛΗ10 ΤΕΣΤ 2
ΠΛΗ10 ΤΕΣΤ 2
Dimitris Psounis
 
ΠΛΗ20 ΜΑΘΗΜΑ 0.2
ΠΛΗ20 ΜΑΘΗΜΑ 0.2ΠΛΗ20 ΜΑΘΗΜΑ 0.2
ΠΛΗ20 ΜΑΘΗΜΑ 0.2
Dimitris Psounis
 
ΠΛΗ20 ΜΑΘΗΜΑ 1.2
ΠΛΗ20 ΜΑΘΗΜΑ 1.2ΠΛΗ20 ΜΑΘΗΜΑ 1.2
ΠΛΗ20 ΜΑΘΗΜΑ 1.2
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Dimitris Psounis
 
ΠΛΗ20 ΤΥΠΟΛΟΓΙΟ ΣΥΝΔΥΑΣΤΙΚΗΣ
ΠΛΗ20 ΤΥΠΟΛΟΓΙΟ ΣΥΝΔΥΑΣΤΙΚΗΣΠΛΗ20 ΤΥΠΟΛΟΓΙΟ ΣΥΝΔΥΑΣΤΙΚΗΣ
ΠΛΗ20 ΤΥΠΟΛΟΓΙΟ ΣΥΝΔΥΑΣΤΙΚΗΣ
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ20 ΜΑΘΗΜΑ 1.1
ΠΛΗ20 ΜΑΘΗΜΑ 1.1ΠΛΗ20 ΜΑΘΗΜΑ 1.1
ΠΛΗ20 ΜΑΘΗΜΑ 1.1
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
Dimitris Psounis
 
ΠΛΗ30 Τυπολόγιο Ενότητας 1
ΠΛΗ30 Τυπολόγιο Ενότητας 1ΠΛΗ30 Τυπολόγιο Ενότητας 1
ΠΛΗ30 Τυπολόγιο Ενότητας 1
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
Dimitris Psounis
 

What's hot (20)

ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ20 ΜΑΘΗΜΑ 1.3
ΠΛΗ20 ΜΑΘΗΜΑ 1.3ΠΛΗ20 ΜΑΘΗΜΑ 1.3
ΠΛΗ20 ΜΑΘΗΜΑ 1.3
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.2
ΠΛΗ10 ΜΑΘΗΜΑ 1.2ΠΛΗ10 ΜΑΘΗΜΑ 1.2
ΠΛΗ10 ΜΑΘΗΜΑ 1.2
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
 
ΠΛΗ30 ΜΑΘΗΜΑ 2.3
ΠΛΗ30 ΜΑΘΗΜΑ 2.3ΠΛΗ30 ΜΑΘΗΜΑ 2.3
ΠΛΗ30 ΜΑΘΗΜΑ 2.3
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.5
ΠΛΗ10 ΜΑΘΗΜΑ 1.5ΠΛΗ10 ΜΑΘΗΜΑ 1.5
ΠΛΗ10 ΜΑΘΗΜΑ 1.5
 
ΠΛΗ20 ΜΑΘΗΜΑ 1.4
ΠΛΗ20 ΜΑΘΗΜΑ 1.4ΠΛΗ20 ΜΑΘΗΜΑ 1.4
ΠΛΗ20 ΜΑΘΗΜΑ 1.4
 
ΠΛΗ10 ΤΕΣΤ 2
ΠΛΗ10 ΤΕΣΤ 2ΠΛΗ10 ΤΕΣΤ 2
ΠΛΗ10 ΤΕΣΤ 2
 
ΠΛΗ20 ΜΑΘΗΜΑ 0.2
ΠΛΗ20 ΜΑΘΗΜΑ 0.2ΠΛΗ20 ΜΑΘΗΜΑ 0.2
ΠΛΗ20 ΜΑΘΗΜΑ 0.2
 
ΠΛΗ20 ΜΑΘΗΜΑ 1.2
ΠΛΗ20 ΜΑΘΗΜΑ 1.2ΠΛΗ20 ΜΑΘΗΜΑ 1.2
ΠΛΗ20 ΜΑΘΗΜΑ 1.2
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
 
ΠΛΗ20 ΤΥΠΟΛΟΓΙΟ ΣΥΝΔΥΑΣΤΙΚΗΣ
ΠΛΗ20 ΤΥΠΟΛΟΓΙΟ ΣΥΝΔΥΑΣΤΙΚΗΣΠΛΗ20 ΤΥΠΟΛΟΓΙΟ ΣΥΝΔΥΑΣΤΙΚΗΣ
ΠΛΗ20 ΤΥΠΟΛΟΓΙΟ ΣΥΝΔΥΑΣΤΙΚΗΣ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ20 ΜΑΘΗΜΑ 1.1
ΠΛΗ20 ΜΑΘΗΜΑ 1.1ΠΛΗ20 ΜΑΘΗΜΑ 1.1
ΠΛΗ20 ΜΑΘΗΜΑ 1.1
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
 
ΠΛΗ30 Τυπολόγιο Ενότητας 1
ΠΛΗ30 Τυπολόγιο Ενότητας 1ΠΛΗ30 Τυπολόγιο Ενότητας 1
ΠΛΗ30 Τυπολόγιο Ενότητας 1
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
 

Viewers also liked

ΠΛΗ10 ΜΑΘΗΜΑ 2.4 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.4 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.4 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.4 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.3 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.3 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.5 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.5 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.5 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.5 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.6 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΤΕΣΤ 9
ΠΛΗ10 ΤΕΣΤ 9ΠΛΗ10 ΤΕΣΤ 9
ΠΛΗ10 ΤΕΣΤ 9
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.7 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.8 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.8 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.8 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.8 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΤΕΣΤ 7
ΠΛΗ10 ΤΕΣΤ 7ΠΛΗ10 ΤΕΣΤ 7
ΠΛΗ10 ΤΕΣΤ 7
Dimitris Psounis
 
ΠΛΗ10 ΤΕΣΤ 8
ΠΛΗ10 ΤΕΣΤ 8ΠΛΗ10 ΤΕΣΤ 8
ΠΛΗ10 ΤΕΣΤ 8
Dimitris Psounis
 
ΠΛΗ10 ΤΕΣΤ 5
ΠΛΗ10 ΤΕΣΤ 5ΠΛΗ10 ΤΕΣΤ 5
ΠΛΗ10 ΤΕΣΤ 5
Dimitris Psounis
 
ΠΛΗ10 ΤΕΣΤ 6
ΠΛΗ10 ΤΕΣΤ 6ΠΛΗ10 ΤΕΣΤ 6
ΠΛΗ10 ΤΕΣΤ 6
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.1
ΠΛΗ10 ΜΑΘΗΜΑ 1.1ΠΛΗ10 ΜΑΘΗΜΑ 1.1
ΠΛΗ10 ΜΑΘΗΜΑ 1.1
Dimitris Psounis
 
ΠΛΗ10.ΚΑΡΤΑ ΜΑΘΗΜΑ 1.1
ΠΛΗ10.ΚΑΡΤΑ ΜΑΘΗΜΑ 1.1ΠΛΗ10.ΚΑΡΤΑ ΜΑΘΗΜΑ 1.1
ΠΛΗ10.ΚΑΡΤΑ ΜΑΘΗΜΑ 1.1
Dimitris Psounis
 

Viewers also liked (20)

ΠΛΗ10 ΜΑΘΗΜΑ 2.4 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.4 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.4 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.4 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.3 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.3 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.5 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.5 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.5 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.5 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.6 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΤΕΣΤ 9
ΠΛΗ10 ΤΕΣΤ 9ΠΛΗ10 ΤΕΣΤ 9
ΠΛΗ10 ΤΕΣΤ 9
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.7 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.8 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.8 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 2.8 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 2.8 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΤΕΣΤ 7
ΠΛΗ10 ΤΕΣΤ 7ΠΛΗ10 ΤΕΣΤ 7
ΠΛΗ10 ΤΕΣΤ 7
 
ΠΛΗ10 ΤΕΣΤ 8
ΠΛΗ10 ΤΕΣΤ 8ΠΛΗ10 ΤΕΣΤ 8
ΠΛΗ10 ΤΕΣΤ 8
 
ΠΛΗ10 ΤΕΣΤ 5
ΠΛΗ10 ΤΕΣΤ 5ΠΛΗ10 ΤΕΣΤ 5
ΠΛΗ10 ΤΕΣΤ 5
 
ΠΛΗ10 ΤΕΣΤ 6
ΠΛΗ10 ΤΕΣΤ 6ΠΛΗ10 ΤΕΣΤ 6
ΠΛΗ10 ΤΕΣΤ 6
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.1
ΠΛΗ10 ΜΑΘΗΜΑ 1.1ΠΛΗ10 ΜΑΘΗΜΑ 1.1
ΠΛΗ10 ΜΑΘΗΜΑ 1.1
 
ΠΛΗ10.ΚΑΡΤΑ ΜΑΘΗΜΑ 1.1
ΠΛΗ10.ΚΑΡΤΑ ΜΑΘΗΜΑ 1.1ΠΛΗ10.ΚΑΡΤΑ ΜΑΘΗΜΑ 1.1
ΠΛΗ10.ΚΑΡΤΑ ΜΑΘΗΜΑ 1.1
 

Similar to ΠΛΗ10 ΜΑΘΗΜΑ 2.4

Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4
Ιωάννου Γιαννάκης
 
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
Nikos Michailidis
 
Tutorial xatzikyriakou-pascalby example
Tutorial xatzikyriakou-pascalby exampleTutorial xatzikyriakou-pascalby example
Tutorial xatzikyriakou-pascalby example
evaplyta
 
Κεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και ΕπανάληψηςΚεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και Επανάληψης
Ιωάννου Γιαννάκης
 
Δομή Επανάληψης
Δομή ΕπανάληψηςΔομή Επανάληψης
Δομή Επανάληψης
gkesel
 
ΑΕΠΠ: 18ο Φύλλο Ασκήσεων
ΑΕΠΠ: 18ο Φύλλο ΑσκήσεωνΑΕΠΠ: 18ο Φύλλο Ασκήσεων
ΑΕΠΠ: 18ο Φύλλο Ασκήσεων
Nikos Michailidis
 
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψηςΣημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Θανάσης Δρούγας
 
Διαγώνισμα Κεφάλαια 7- 8- 9
Διαγώνισμα Κεφάλαια 7- 8- 9Διαγώνισμα Κεφάλαια 7- 8- 9
Διαγώνισμα Κεφάλαια 7- 8- 9
educast
 
ΠΛΗ30 ΜΑΘΗΜΑ 6.3
ΠΛΗ30 ΜΑΘΗΜΑ 6.3ΠΛΗ30 ΜΑΘΗΜΑ 6.3
ΠΛΗ30 ΜΑΘΗΜΑ 6.3
Dimitris Psounis
 
ανάπτυξη 2007 απ
ανάπτυξη 2007 απανάπτυξη 2007 απ
ανάπτυξη 2007 απ
educast
 
προβλήματα αλγόριθμοι-προγραμμα
προβλήματα   αλγόριθμοι-προγραμμαπροβλήματα   αλγόριθμοι-προγραμμα
προβλήματα αλγόριθμοι-προγραμμα
Iliopoulou Anthi
 
κανόνες ασκήσεις επανάληψης Slideshare
κανόνες   ασκήσεις επανάληψης Slideshareκανόνες   ασκήσεις επανάληψης Slideshare
κανόνες ασκήσεις επανάληψης Slideshare
vmantza
 
Διαγώνισμα Δομή Επανάληψης 2
Διαγώνισμα Δομή Επανάληψης 2Διαγώνισμα Δομή Επανάληψης 2
Διαγώνισμα Δομή Επανάληψης 2
educast
 
διαγωνισμα α τετρ 2004 2005
διαγωνισμα α τετρ 2004 2005διαγωνισμα α τετρ 2004 2005
διαγωνισμα α τετρ 2004 2005
Bas Genn
 
Iterative Structure (Δομή Επανάληψης)
Iterative Structure (Δομή Επανάληψης)Iterative Structure (Δομή Επανάληψης)
Iterative Structure (Δομή Επανάληψης)
Dimitrios Kontogiannis
 
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
Dimitris Psounis
 
PROLOG ΜΑΘΗΜΑ 5
PROLOG ΜΑΘΗΜΑ 5PROLOG ΜΑΘΗΜΑ 5
PROLOG ΜΑΘΗΜΑ 5
Dimitris Psounis
 
04220700 g texn_aep
04220700 g texn_aep04220700 g texn_aep
04220700 g texn_aep
akarathanos
 
ΑΕΠΠ: 22ο Φύλλο Ασκήσεων
ΑΕΠΠ: 22ο Φύλλο ΑσκήσεωνΑΕΠΠ: 22ο Φύλλο Ασκήσεων
ΑΕΠΠ: 22ο Φύλλο Ασκήσεων
Nikos Michailidis
 

Similar to ΠΛΗ10 ΜΑΘΗΜΑ 2.4 (20)

Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4
 
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
 
Tutorial xatzikyriakou-pascalby example
Tutorial xatzikyriakou-pascalby exampleTutorial xatzikyriakou-pascalby example
Tutorial xatzikyriakou-pascalby example
 
Κεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και ΕπανάληψηςΚεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και Επανάληψης
 
Δομή Επανάληψης
Δομή ΕπανάληψηςΔομή Επανάληψης
Δομή Επανάληψης
 
ΑΕΠΠ: 18ο Φύλλο Ασκήσεων
ΑΕΠΠ: 18ο Φύλλο ΑσκήσεωνΑΕΠΠ: 18ο Φύλλο Ασκήσεων
ΑΕΠΠ: 18ο Φύλλο Ασκήσεων
 
oso.. epanalabe..
oso.. epanalabe..oso.. epanalabe..
oso.. epanalabe..
 
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψηςΣημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
 
Διαγώνισμα Κεφάλαια 7- 8- 9
Διαγώνισμα Κεφάλαια 7- 8- 9Διαγώνισμα Κεφάλαια 7- 8- 9
Διαγώνισμα Κεφάλαια 7- 8- 9
 
ΠΛΗ30 ΜΑΘΗΜΑ 6.3
ΠΛΗ30 ΜΑΘΗΜΑ 6.3ΠΛΗ30 ΜΑΘΗΜΑ 6.3
ΠΛΗ30 ΜΑΘΗΜΑ 6.3
 
ανάπτυξη 2007 απ
ανάπτυξη 2007 απανάπτυξη 2007 απ
ανάπτυξη 2007 απ
 
προβλήματα αλγόριθμοι-προγραμμα
προβλήματα   αλγόριθμοι-προγραμμαπροβλήματα   αλγόριθμοι-προγραμμα
προβλήματα αλγόριθμοι-προγραμμα
 
κανόνες ασκήσεις επανάληψης Slideshare
κανόνες   ασκήσεις επανάληψης Slideshareκανόνες   ασκήσεις επανάληψης Slideshare
κανόνες ασκήσεις επανάληψης Slideshare
 
Διαγώνισμα Δομή Επανάληψης 2
Διαγώνισμα Δομή Επανάληψης 2Διαγώνισμα Δομή Επανάληψης 2
Διαγώνισμα Δομή Επανάληψης 2
 
διαγωνισμα α τετρ 2004 2005
διαγωνισμα α τετρ 2004 2005διαγωνισμα α τετρ 2004 2005
διαγωνισμα α τετρ 2004 2005
 
Iterative Structure (Δομή Επανάληψης)
Iterative Structure (Δομή Επανάληψης)Iterative Structure (Δομή Επανάληψης)
Iterative Structure (Δομή Επανάληψης)
 
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
 
PROLOG ΜΑΘΗΜΑ 5
PROLOG ΜΑΘΗΜΑ 5PROLOG ΜΑΘΗΜΑ 5
PROLOG ΜΑΘΗΜΑ 5
 
04220700 g texn_aep
04220700 g texn_aep04220700 g texn_aep
04220700 g texn_aep
 
ΑΕΠΠ: 22ο Φύλλο Ασκήσεων
ΑΕΠΠ: 22ο Φύλλο ΑσκήσεωνΑΕΠΠ: 22ο Φύλλο Ασκήσεων
ΑΕΠΠ: 22ο Φύλλο Ασκήσεων
 

More from Dimitris Psounis

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Dimitris Psounis
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
Dimitris Psounis
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Dimitris Psounis
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
Dimitris Psounis
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 

More from Dimitris Psounis (20)

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 ΤΕΣΤ 32
ΠΛΗ31 ΤΕΣΤ 32ΠΛΗ31 ΤΕΣΤ 32
ΠΛΗ31 ΤΕΣΤ 32
 
ΠΛΗ31 ΤΕΣΤ 31
ΠΛΗ31 ΤΕΣΤ 31ΠΛΗ31 ΤΕΣΤ 31
ΠΛΗ31 ΤΕΣΤ 31
 
ΠΛΗ31 ΤΕΣΤ 30
ΠΛΗ31 ΤΕΣΤ 30ΠΛΗ31 ΤΕΣΤ 30
ΠΛΗ31 ΤΕΣΤ 30
 
ΠΛΗ10 ΤΕΣΤ 35
ΠΛΗ10 ΤΕΣΤ 35ΠΛΗ10 ΤΕΣΤ 35
ΠΛΗ10 ΤΕΣΤ 35
 

ΠΛΗ10 ΜΑΘΗΜΑ 2.4

  • 1. ΠΛΗ10 ΕΝΟΤΗΤΑ 2: Αλγόριθµοι και Ψευδογλώσσα Μάθηµα 2.4: Εντολές Επανάληψης ∆ηµήτρης Ψούνης
  • 2. A. Θεωρία 1. Εντολές Επανάληψης 1. Γενικά 2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ 3. Εντολή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ 4. Εντολή ΕΝΟΣΩ…ΕΝΟΣΩ ΤΕΛΟΣ 5. Χρήση των 3 εντολών επανάληψης 6. Σχέση των 3 εντολών επανάληψης 7. Αµυντικός Προγραµµατισµός 8. Γενικά Σχόλια για το συντακτικό των Εντολών Επανάληψης Β.Ασκήσεις 1. Ελάχιστος Ν αριθµών 2. Μέγιστος Ν αριθµών 3. Άθροισµα Ν αριθµών 4. Γινόµενο Ν αριθµών 5. Εµφωλιασµένοι Βρόχοι 1 6. Εµφωλιασµένοι Βρόχοι 2 7. Αµυντικός Προγραµµατισµός ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Περιεχόµενα Μαθήµατος 2
  • 3. A. Θεωρία 1. Εντολές Επανάληψης 1. Γενικά ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Η δοµή επανάληψης είναι η σηµαντικότερη δοµή σε ένα πρόγραµµα. ...διότι µας επιτρέπει να εκτελέσουµε ένα τµήµα προγράµµατος πολλές φορές, το οποίο είναι το κύριο χαρακτηριστικό του προγραµµατισµου. Στην ψευδογλώσσα που µαθαίνουµε, υπάρχουν δύο τρόποι για να κάνουµε επανάληψη της εκτέλεσης ενός τµήµατος κώδικα: Η δοµή ΓΙΑ...ΕΩΣ...ΕΠΑΝΑΛΑΒΕ στην οποία ρητά αναφέρουµε πόσες φορές θέλουµε να εκτελεστεί ένα τµήµα κώδικα. Η δοµή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ(Συνθήκη); Η δοµή ΕΝΟΣΩ (συνθηκη) ΕΠΑΝΑΛΑΒΕ...ΕΝΟΣΩ-ΤΕΛΟΣ Θα αναλύσουµε τους τρεις τρόπους επανάληψης και πότε χρησιµοποιούµε τον καθένα 3
  • 4. A. Θεωρία 1. Εντολές Επανάληψης 2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 4 Το συντακτικό της δοµής ΓΙΑ...ΕΩΣ...ΕΠΑΝΑΛΑΒΕ είναι: Όπου η Μεταβλητή (πάντα ακέραια) θα πάρει διαδοχικά όλες τις τιµές από ΑΡΧΙΚΗ_ΤΙΜΗ έως ΤΕΛΙΚΗ_ΤΙΜΗ και για κάθε τιµή από αυτές θα εκτελεστεί η εντολή (ή οι εντολές) Για παράδειγµα αν ΑΡΧΙΚΗ_ΤΙΜΗ=1 και ΤΕΛΙΚΗ_ΤΙΜΗ=5 θα εκτελεστούν οι εντολές για: Μεταβλητή=1 Μεταβλητή=2 Μεταβλητή=3 Μεταβλητή=4 Μεταβλητή=5 ΓΙΑ (Μεταβλητη:=ΑΡΧΙΚΗ_ΤΙΜΗ) ΕΩΣ (ΤΕΛΙΚΗ_ΤΙΜΗ) ΕΠΑΝΑΛΑΒΕ (Εντολή ή εντολές) ΓΙΑ-ΤΕΛΟΣ Μεταβλητή ≤ Τελική Τιµή (εντολές) ΟΧΙ [προηγούµενες εντολές] [επόµενες εντολές] Μεταβλητη:=ΑΡΧΙΚΗ_ΤΙΜΗ Μεταβλητή:= Μεταβλητή+1 ΝΑΙ
  • 5. A. Θεωρία 1. Εντολές Επανάληψης 2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Παράδειγµα 1: Τι κάνει το ακόλουθο τµήµα κώδικα; Απάντηση: Οι εντολές που περικλείονται ανάµεσα στο ΓΙΑ και το ΓΙΑ-ΤΕΛΟΣ εκτελούνται για κάθε τιµή του Ι. Άρα: Για I=1 τυπώνεται «Καληµέρα» Για Ι=2 τυπώνεται «Καληµέρα» Για Ι=3 τυπώνεται «Καληµέρα» Για Ι=4 τυπώνεται «Καληµέρα» Για Ι=5 τυπώνεται «Καληµέρα» Και το πρόγραµµα τερµατίζει Άρα το πρόγραµµα τυπώνει 5 φορές στην οθόνη τη λέξη ΚΑΛΗΜΕΡΑ 5 ΓΙΑ Ι:=1 ΕΩΣ 5 ΕΠΑΝΑΛΑΒΕ ΤΥΠΩΣΕ (“Καληµέρα”); ΓΙΑ-ΤΕΛΟΣ
  • 6. A. Θεωρία 1. Εντολές Επανάληψης 2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Παράδειγµα 2: Τι κάνει το ακόλουθο τµήµα κώδικα; Απάντηση: Οι εντολές που περικλείονται ανάµεσα στο ΓΙΑ και το ΓΙΑ-ΤΕΛΟΣ εκτελούνται για κάθε τιµή του Ι. Άρα: Για I=1 τυπώνεται «1» Για Ι=2 τυπώνεται «2» Για Ι=3 τυπώνεται «3» Για Ι=4 τυπώνεται «4» Για Ι=5 τυπώνεται «5» Και το πρόγραµµα τερµατίζει 6 ΓΙΑ Ι:=1 ΕΩΣ 5 ΕΠΑΝΑΛΑΒΕ ΤΥΠΩΣΕ (I); ΓΙΑ-ΤΕΛΟΣ Συνήθως στις εφαρµογές χρησιµοποιείται η τιµή της µεταβλητής. Είναι σηµαντικό ότι σε κάθε επανάληψη η τιµή της µεταβλητής είναι διαφορετική
  • 7. A. Θεωρία 1. Εντολές Επανάληψης 2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Παράδειγµα 3: Τι κάνει το ακόλουθο τµήµα κώδικα; Απάντηση: Οι εντολές που περικλείονται ανάµεσα στο ΓΙΑ και το ΓΙΑ-ΤΕΛΟΣ εκτελούνται για κάθε τιµή του Ι. Άρα: Για I=1 υπολογίζεται το X=1*1=1 και τυπώνεται «1» Για Ι=2 υπολογίζεται το X=2*2=4 και τυπώνεται «4» Για Ι=3 υπολογίζεται το X=3*3=9 και τυπώνεται «9» Για Ι=4 υπολογίζεται το Χ=4*4=16 και τυπώνεται «16» Για Ι=5 υπολογίζεται το Χ=5*5=25 και τυπώνεται «25» Και το πρόγραµµα τερµατίζει 7 ΓΙΑ Ι:=1 ΕΩΣ 5 ΕΠΑΝΑΛΑΒΕ X:=I*I; ΤΥΠΩΣΕ(Χ); ΓΙΑ-ΤΕΛΟΣ Συνήθως βέβαια, κάνουµε τον υπολογισµό που µας ενδιαφέρει στις εντολές µεταξύ των ΓΙΑ...ΓΙΑ- ΤΕΛΟΣ χρησιµοποιώντας την τιµή της µεταβλητής του βρόχου.
  • 8. A. Θεωρία 1. Εντολές Επανάληψης 2. Εντολή ΓΙΑ…ΕΩΣ…ΕΠΑΝΑΛΑΒΕ ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 8 Επέκταση της εντολής για διαφορετικό βήµα αύξησης: Η δοµή εκτελείται όπως πριν, αλλά το βήµα αύξησης είναι Μεταβλητή:=Μεταβλητή+Βήµα Παράδειγµα: Απάντηση: Για I=1 υπολογίζεται το X=1*1=1 και τυπώνεται «1» Για Ι=3 υπολογίζεται το X=3*3=9 και τυπώνεται «9» Για Ι=5 υπολογίζεται το Χ=5*5=25 και τυπώνεται «25» ΓΙΑ (Μεταβλητη:=ΑΡΧΙΚΗ_ΤΙΜΗ) ΕΩΣ (ΤΕΛΙΚΗ_ΤΙΜΗ) ΜΕ-ΒΗΜΑ (βήµα) ΕΠΑΝΑΛΑΒΕ (Εντολή ή εντολές) ΓΙΑ-ΤΕΛΟΣ ΓΙΑ Ι:=1 ΕΩΣ 5 ΜΕ-ΒΗΜΑ 2 ΕΠΑΝΑΛΑΒΕ X:=I*I; ΤΥΠΩΣΕ(Χ); ΓΙΑ-ΤΕΛΟΣ
  • 9. A. Θεωρία 1. Εντολές Επανάληψης 3. Εντολή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 9 Η δοµή ΕΠΑΝΑΛΑΒΕ ... ΜΕΧΡΙ συντάσσεται ως ακολούθως Στην δοµή αυτή: Εκτελούνται οι εντολές Ελέγχεται η συνθήκη (την οποία έχουµε συντάξει µε λογικούς και σχεσιακούς τελεστές). Αν η απάντηση είναι false (δεν ισχύει η συνθήκη), τότε ξαναρχίζουµε από την αρχή (πρώτη εντολή µετά από το ΕΠΑΝΑΛΑΒΕ) Αν η απάντηση είναι true (ισχύει η συνθήκη), τότε βγαίνουµε από την επανάληψη και τρέχουµε την αµέσως επόµενη εντολή µετά τη δοµή επανάληψης ΕΠΑΝΑΛΑΒΕ (Εντολή ή Εντολές) ΜΕΧΡΙ (Συνθήκη) συνθήκη (εντολές) ΝΑΙ [προηγούµενες εντολές] [επόµενες εντολές] ΟΧΙ
  • 10. A. Θεωρία 1. Εντολές Επανάληψης 3. Εντολή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Παράδειγµα 1: Τι κάνει το ακόλουθο τµήµα κώδικα; Αρχικά Ι=0 Γίνεται επανάληψη: Τίθεται I:=0+1=1 και τυπώνεται «1» Γίνεται έλεγχος συνθήκης. 1=3 είναι false, άρα θα επαναλάβουµε Γίνεται επανάληψη: Τίθεται I:=1+1=2 και τυπώνεται «2» Γίνεται έλεγχος συνθήκης. 2=3 είναι false, άρα θα επαναλάβουµε Γίνεται επανάληψη: Τίθεται I:=2+1=3 και τυπώνεται «3» Γίνεται έλεγχος συνθήκης. 3=3 είναι true, άρα δεν θα επαναλάβουµε 10 I:=0; ΕΠΑΝΑΛΑΒΕ I:=I+1; ΤΥΠΩΣΕ(Ι); ΜΕΧΡΙ (I=3)
  • 11. A. Θεωρία 1. Εντολές Επανάληψης 3. Εντολή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Παράδειγµα 2: Τι κάνει το ακόλουθο τµήµα κώδικα; Αρχικά Ι=5 Γίνεται επανάληψη: Τίθεται I:=5+1=6 Γίνεται έλεγχος συνθήκης. 6=3 είναι false, άρα θα επαναλαβουµε Γίνεται επανάληψη: Τίθεται I:=6+1=7 Γίνεται έλεγχος συνθήκης. 7=3 είναι false, άρα θα επαναλαβουµε.... ..... Θα τερµατίσει ποτέ το πρόγραµµα? Η απάντηση είναι ΟΧΙ! Σε κάθε επανάληψη το I θα αυξάνεται κατά 1, άρα ποτέ δεν θα γίνει ίσο µε 3! 11 I:=5; ΕΠΑΝΑΛΑΒΕ I:=I+1 ΜΕΧΡΙ (I=3) Αυτό είναι παράδειγµα κακού προγραµµατισµού, αποτελεί ένα από τα σηµαντικότερα προγραµµατιστικά λάθη και καλείται ατέρµων βρόχος (επανάληψη που δεν ολοκληρώνεται ποτέ)
  • 12. Παρατηρήσεις για την δοµή ΕΠΑΝΑΛΑΒΕ-ΜΕΧΡΙ Η σύνταξη της δοµής είναι αρκετά απλή, αλλά θα πρέπει εµείς, ως προγραµµατιστές να συντάξουµε σωστά τις υπόλοιπες εντολές. Συγκεκριµένα: Πρέπει να αρχικοποιήσουµε σωστά την µεταβλητή που θα έχουµε στην εντολή συνθήκης. Έτσι πριν την εντολή ΕΠΑΝΑΛΑΒΕ θα πρέπει να αρχικοποιήσουµε την µεταβλητή που θα χρησιµοποιήσουµε (εντολή αρχικοποίησης) Πρέπει η µεταβλητή που έχουµε στην εντολή αρχικοποίησης να επηρεάζεται στο σώµα της επανάληψης (εντολή αύξησης µεταβλητής) Σχηµατικά: A. Θεωρία 1. Εντολές Επανάληψης 3. Εντολή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 12 I:=0; <- Εντολή Αρχικοποίησης ΕΠΑΝΑΛΑΒΕ (εντολή ή εντολές) I:=I+1 <- Εντολή αύξησης µεταβλητής ΜΕΧΡΙ (I=3) <- Συνθήκη
  • 13. A. Θεωρία 1. Εντολές Επανάληψης 4. Εντολή ΕΝΟΣΩ…ΕΝΟΣΩ ΤΕΛΟΣ ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 13 Η δοµή ΕΝΟΣΩ...ΕΝΟΣΩ-ΤΕΛΟΣ είναι ίδια µε την ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ µε την διαφορά ότι ο έλεγχος γίνεται στην αρχή της επανάληψης και όχι στο τέλος της επανάληψης Στην δοµή αυτή: Ελέγχεται η συνθήκη (την οποία έχουµε συντάξει µε λογικούς και σχεσιακούς τελεστές). Αν η απάντηση είναι true (ισχύει η συνθήκη), εκτελούνται οι εντολές και επαναλαµβάνουµε από την αρχή. Αν η απάντηση είναι false (δεν ισχύει η συνθήκη), τότε βγαίνουµε από την επανάληψη και τρέχουµε την αµέσως επόµενη εντολή µετά τη δοµή επανάληψης. ΕΝΟΣΩ (συνθήκη) ΕΠΑΝΑΛΑΒΕ ... (ακολουθία εντολών) ΕΝΟΣΩ-ΤΕΛΟΣ συνθήκη (εντολές) ΟΧΙ [προηγούµενες εντολές] [επόµενες εντολές] ΝΑΙ
  • 14. A. Θεωρία 1. Εντολές Επανάληψης 4. Εντολή ΕΝΟΣΩ…ΕΝΟΣΩ ΤΕΛΟΣ ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Παράδειγµα 1: Τι κάνει το ακόλουθο τµήµα κώδικα; Απάντηση: Αρχικοποιείται το Κ µε 5 Γίνεται ο έλεγχος συνθήκης (5<8). Επιστρέφεται true, άρα γίνονται τα βηµατα L=2*5+1=11 και Κ=5+1=6. Τυπώνεται «11». Γίνεται ο έλεγχος συνθήκης (6<8). Επιστρέφεται true, άρα γίνονται τα βηµατα L=2*6+1=13 και Κ=6+1=7. Τυπώνεται «13». Γίνεται ο έλεγχος συνθήκης (7<8). Επιστρέφεται true, άρα γίνονται τα βηµατα L=2*7+1=15 και Κ=7+1=8. Τυπώνεται «15». Γίνεται ο έλεγχος συνθήκης (8<8). Επιστρέφεται false, άρα τερµατίζει η επανάληψη. 14 Κ:=5; ΕΝΟΣΩ (Κ<8) ΕΠΑΝΑΛΑΒΕ L:=2*K+1; Κ:=Κ+1; ΤΥΠΩΣΕ (L); ΕΝΟΣΩ-ΤΕΛΟΣ
  • 15. A. Θεωρία 1. Εντολές Επανάληψης 5. Χρήση των 3 Εντολών Επανάληψης ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 15 I:=5; ΕΠΑΝΑΛΑΒΕ I:=I+1 ΜΕΧΡΙ (I=3); Βλέπουµε ότι και οι 3 δοµές επανάληψης µε παρόµοιο τρόπο κάνουν τις ίδιες ενέργειες. Η πιο συνηθισµένη δοµή είναι η ΓΙΑ...ΓΙΑ-ΤΕΛΟΣ και την χρησιµοποιούµε όταν ξέρουµε ποιες τιµές θα πάρει η µεταβλητή. Αν δεν ξέρουµε ακριβώς ποιες τιµές θα πάρει ή µεταβλητή ή πόσες φορές πρέπει να γίνει η επανάληψη, τότε χρησιµοποιούµε την δοµή ΕΝΟΣΩ...ΕΝΟΣΩ-ΤΕΛΟΣ. Η δοµή ΕΠΑΝΑΛΑΒΕ...ΜΕΧΡΙ χρησιµοποιείται πιο σπάνια. Εµείς θα την χρησιµοποιούµε µόνο για λόγους αµυντικού προγραµµατισµού (θα το δούµε στη συνέχεια) Ειδικά οι δοµές ΕΝΟΣΩ..ΕΝΟΣΩ ΤΕΛΟΣ και ΕΠΑΝΑΛΑΒΕ..ΜΕΧΡΙ µοιάζουν αρκετά Μία σηµαντική διαφορά είναι ότι η ΕΠΑΝΑΛΑΒΕ…ΜΕΧΡΙ θα τρέξει σίγουρα τουλάχιστον µία φορά, το οποίο δεν ισχύει απαραίτητα για την ΕΝΟΣΩ…ΕΝΟΣΩ ΤΕΛΟΣ
  • 16. A. Θεωρία 1. Εντολές Επανάληψης 6. Σχέση των 3 Εντολών Επανάληψης ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 16 Ενδιαφέρον επίσης έχει ότι η εντολή ΓΙΑ µπορεί να προσοµοιωθεί από τις άλλες δύο ως ακολούθως: Με εντολή ΕΝΟΣΩ… ΕΝΟΣΩ ΤΕΛΟΣ Με εντολή ΕΠΑΝΑΛΑΒΕ..ΩΣΠΟΥ ΓΙΑ Ι:=1 ΕΩΣ 10 ΕΠΑΝΑΛΑΒΕ (Εντολή ή εντολές) ΓΙΑ-ΤΕΛΟΣ Ι:=1; ΕΝΟΣΩ (Ι<=10) ΕΠΑΝΑΛΑΒΕ (Εντολή ή εντολές) Ι:=Ι+1; ΕΝΟΣΩ-ΤΕΛΟΣ I:=0; ΕΠΑΝΑΛΑΒΕ I:=I+1; (Εντολή ή εντολές) ΜΕΧΡΙ (I=10)
  • 17. A. Θεωρία 1. Εντολές Επανάληψης 7. Αµυντικός Προγραµµατισµός ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 17 Μία καλή στρατηγική στον προγραµµατισµό είναι πάντα να ελέγχουµε την είσοδο του χρήστη αν ικανοποιεί τις προδιαγραφές του προγράµµατός µας. Π.χ. Αν θέλουµε να διαβάσουµε έναν ακέραιο µεταξύ 1 και 100 και πρέπει να αποφύγουµε ο χρήστης να εισάγει µία λανθασµένη τιµή τότε εφαρµόζουµε αµυντικό προγραµατισµό και κάνουµε έλεγχο αν η τιµή που εισήγαγε ο χρήστης είναι σωστή. Έτσι τον αναγκάζουµε να επαναπληκτρολογήσει µέχρι να βάλει την σωστή τιµή. Στο ακόλουθο πρόγραµµα κάνουµε αµυντικό προγραµµατισµό για να διαβάσουµε έναν αριθµό από το 1 έως το 100. ΑΛΓΟΡΙΘΜΟΣ defensive ∆Ε∆ΟΜΕΝΑ x: INTEGER; ΑΡΧΗ ΕΠΑΝΑΛΑΒΕ ΤΥΠΩΣΕ(“∆ώσε τον αριθµό: ”); ∆ΙΑΒΑΣΕ(x); ΜΕΧΡΙ (x>=0 AND x<=100) ΤΕΛΟΣ
  • 18. A. Θεωρία 1. Εντολές Επανάληψης 8. Γενικά Σχόλια για το Συντακτικό των Εντολών Επανάληψης ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 18 Στην ψευδογλώσσα του ΕΑΠ µια εντολή επανάληψης νοείται ως µια ακόµη εντολή. Έτσι σεβόµαστε το συντακτικό που έχουµε πει για τις εντολές, δηλαδή ότι κάθε εντολή πρέπει να τελειώνει µε ερωτηµατικό. Όταν γράφουµε «στο χέρι» κώδικα θα πρέπει να τελειώνουµε µια εντολή µε ερωτηµατικό. Όταν γράφουµε µια εντολή επανάληψης στον µεταγλωττιστή δεν θα την τελειώνουµε µε ερωτηµατικό. Επίσης για ένα µπλοκ κώδικα, ισχύει ότι όταν γράφουµε κώδικα µε «το χέρι» η τελευταία εντολή δεν πρέπει να έχει ερωτηµατικό. Μπλοκ κώδικα, δηλαδή εντολές που οµαδοποιούνται έχουµε δει για την ώρα στα εξής σηµεία: ΑΡΧΗ [µπλοκ] ΤΕΛΟΣ του αλγορίθµου ΕΑΝ ..ΤΟΤΕ [µπλοκ] ΕΑΝ-ΤΕΛΟΣ ΕΑΝ..ΤΟΤΕ [µπλοκ] ΑΛΛΙΩΣ [µπλοκ] ΕΑΝ-ΤΕΛΟΣ ΓΙΑ..ΕΩΣ..ΕΠΑΝΑΛΑΒΕ [µπλοκ] ΓΙΑ-ΤΕΛΟΣ ΕΠΑΝΑΛΑΒΕ [µπλοκ] ΜΕΧΡΙ .. ΕΝΟΣΩ..ΕΠΑΝΑΛΑΒΕ [µπλοκ] ΕΝΟΣΩ-ΤΕΛΟΣ Στην ακόλουθη διαφάνεια φαίνεται ένα πρόγραµµα και οι µικροαλλαγές που γίνονται στη χρήση ερωτηµατικών όταν το γράφουµε µε το χέρι και όταν το γράφουµε στο µεταγλωττιστή.
  • 19. A. Θεωρία 1. Εντολές Επανάληψης 8. Γενικά Σχόλια για το Συντακτικό των Εντολών Επανάληψης ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης 19 Στον µεταγλωττιστή Με το χέρι ΑΛΓΟΡΙΘΜΟΣ example ∆Ε∆ΟΜΕΝΑ I,N,X: INTEGER; ΑΡΧΗ ΤΥΠΩΣΕ("∆ΩΣΕ Ν: "); ∆ΙΑΒΑΣΕ(N); ΤΥΠΩΣΕ("ΑΡΧΗ",EOLN); ΓΙΑ Ι:=1 ΕΩΣ N ΕΠΑΝΑΛΑΒΕ X:=I*I; ΤΥΠΩΣΕ(Χ,EOLN); ΓΙΑ-ΤΕΛΟΣ ΤΥΠΩΣΕ(“ΤΕΛΟΣ”); ΤΕΛΟΣ ΑΛΓΟΡΙΘΜΟΣ example ∆Ε∆ΟΜΕΝΑ I,N,X: INTEGER; ΑΡΧΗ ΤΥΠΩΣΕ("∆ΩΣΕ Ν: "); ∆ΙΑΒΑΣΕ(N); ΤΥΠΩΣΕ("ΑΡΧΗ",EOLN); ΓΙΑ Ι:=1 ΕΩΣ N ΕΠΑΝΑΛΑΒΕ X:=I*I; ΤΥΠΩΣΕ(Χ,EOLN) <= ΠΡΟΣΟΧΗ! ΓΙΑ-ΤΕΛΟΣ; <= ΠΡΟΣΟΧΗ! ΤΥΠΩΣΕ(“ΤΕΛΟΣ”) <= ΠΡΟΣΟΧΗ! ΤΕΛΟΣ Σηµείωση: Στον µεταγλωττιστή θα περάσουν και οι δύο τρόποι. Και µε τους δύο τρόπους θα µεταγλωττιστεί το πρόγραµµα. Ωστόσο αποτελεί ισχυρή σύσταση να επιλέξετε να σκέφτεστε µε το 1ο τρόπο. Στις συνήθεις γλώσσες προγραµµατισµού (όπως η C που θα κάνουµε) ισχύει ο 1ος τρόπος. Οπότε είναι αχρείαστο να εργαζόµαστε µε το 2ο τρόπο.
  • 20. Β.Ασκήσεις Εφαρµογή 1: Ελάχιστος Ν αριθµών ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Γράψτε ένα πρόγραµµα (χρησιµοποιώντας τον µεταγλωττιστή) που: • Ζητάει από το χρήστη να εισάγει έναν αριθµό Ν µεταξύ του 5 και του 10 µε αµυντικό προγραµµατισµό • Έπειτα ζητάει από το χρήστη να εισάγει Ν αριθµούς. • Το πρόγραµµα τυπώνει τον ελάχιστο από τους Ν αριθµούς που εισήγαγε ο χρήστης. 20 Σηµείωση: Η άσκηση αυτή είναι αυξηµένης δυσκολίας για αρχάριους προγραµµατιστές διότι εισάγει και έναν προγραµµατιστικό τρόπο σκέψης. Συµβουλευθείτε µε µεγάλη προσοχή τη λύση, και προχωρήστε µε τις επόµενες ασκήσεις
  • 21. Β.Ασκήσεις Εφαρµογή 2: Μέγιστος Ν αριθµών ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Γράψτε ένα πρόγραµµα (χρησιµοποιώντας τον µεταγλωττιστή) που: • Ζητάει από το χρήστη να εισάγει έναν αριθµό N µεταξύ του 5 και του 10 µε αµυντικό προγραµµατισµό • Έπειτα ζητάει από το χρήστη να εισάγει N ακέραιους αριθµούς. • Το πρόγραµµα υπολογίζει και τυπώνει το µέγιστο των αριθµών που εισήγαγε ο χρήστης. 21
  • 22. Β.Ασκήσεις Εφαρµογή 3: Άθροισµα Ν αριθµών ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Γράψτε ένα πρόγραµµα (χρησιµοποιώντας τον µεταγλωττιστή) που: • Ζητάει από το χρήστη να εισάγει έναν αριθµό N µεταξύ του 5 και του 10 µε αµυντικό προγραµµατισµό • Έπειτα ζητάει από το χρήστη να εισάγει N ακέραιους αριθµούς. • Το πρόγραµµα υπολογίζει και τυπώνει το άθροισµα των αριθµών που εισήγαγε ο χρήστης. 22
  • 23. Β.Ασκήσεις Εφαρµογή 4: Γινόµενο Ν αριθµών ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Γράψτε ένα πρόγραµµα (χρησιµοποιώντας τον µεταγλωττιστή) που: • Ζητάει από το χρήστη να εισάγει έναν αριθµό N µεταξύ του 5 και του 10 µε αµυντικό προγραµµατισµό • Έπειτα ζητάει από το χρήστη να εισάγει N ακέραιους αριθµούς. • Το πρόγραµµα υπολογίζει και τυπώνει το γινόµενο των αριθµών που εισήγαγε ο χρήστης. . 23
  • 24. Β.Ασκήσεις Εφαρµογή 5: Εµφωλιασµένοι Βρόχοι 1 ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Τι τυπώνει το ακόλουθο πρόγραµµα; Μελετήστε το, τόσο µε «χαρτί και µολύβι» όσο και στον µεταγλωττιστή. Τροποποιήστε την έξοδο του προγράµµατος ώστε να είναι κατά το δυνατόν «κοµψή», ή τουλάχιστον κοµψότερη από την εκτύπωση που κάνει το πρόγραµµα αυτό. . 24 ΑΛΓΟΡΙΘΜΟΣ efarmogi5 ∆Ε∆ΟΜΕΝΑ I,J: INTEGER; ΑΡΧΗ ΓΙΑ I:=1 ΕΩΣ 4 ΕΠΑΝΑΛΑΒΕ ΓΙΑ J:=1 ΕΩΣ 5 ΕΠΑΝΑΛΑΒΕ ΤΥΠΩΣΕ(I+J); ΓΙΑ-ΤΕΛΟΣ ΓΙΑ-ΤΕΛΟΣ ΤΕΛΟΣ Σηµείωση: Επειδή έχουµε επανάληψη µέσα στην επανάληψη, η παραπάνω δοµή χαρακτηρίζεται προγραµµατιστικά «εµφωλιασµένοι βρόχοι»
  • 25. Β.Ασκήσεις Εφαρµογή 6: Εµφωλιασµένοι Βρόχοι 2 ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης (A) Τι τυπώνει το ακόλουθο πρόγραµµα; Μελετήστε το, τόσο µε «χαρτί και µολύβι» όσο και στον µεταγλωττιστή . (B) Κάντε κατάλληλη µετατροπή στο πρόγραµµα ώστε το τρίγωνο να τυπώνεται ανάποδα (δηλαδή η βάση του τριγώνου να εµφανίζεται στο τέλος και όχι στην αρχή της εκτέλεσης. 25 ΑΛΓΟΡΙΘΜΟΣ efarmogi6 ∆Ε∆ΟΜΕΝΑ I,J,N: INTEGER; ΑΡΧΗ N:=10; ΓΙΑ I:=1 ΕΩΣ N ΕΠΑΝΑΛΑΒΕ ΓΙΑ J:=I ΕΩΣ N ΕΠΑΝΑΛΑΒΕ ΤΥΠΩΣΕ(“*”); ΓΙΑ-ΤΕΛΟΣ ΤΥΠΩΣΕ(EOLN); ΓΙΑ-ΤΕΛΟΣ ΤΕΛΟΣ
  • 26. Β.Ασκήσεις Εφαρµογή 7: Αµυντικός Προγραµµατισµός ∆ηµήτρης Ψούνης, ΠΛΗ 10, Μάθηµα 2.4: Εντολές Επανάληψης Γράψτε ένα πρόγραµµα (χρησιµοποιώντας τον µεταγλωττιστή) για εξάσκηση στον αµυντικό προγραµµατισµό που θα διαβάζει 5 ακεραίους αριθµούς X,Y,Z,W • O X θα πρέπει να είναι µεταξύ του 5 και του 10 • Ο Υ θα πρέπει να είναι θετικός • Ο Ζ θα πρέπει να είναι µη αρνητικός • Ο W θα πρέπει να είναι αρνητικός. 26