SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
H ΓΛΩΣΣΑ C
Μάθηµα 5:
∆οµές Επανάληψης
∆ηµήτρης Ψούνης
Περιεχόµενα Μαθήµατος
Α. Πίνακες
1. Εισαγωγή στους Πίνακες
1. Μονοδιάστατοι Πίνακες
2. Παράδειγµα
B. ∆οµές Επανάληψης
1. Γενικά
2. Η δοµή for
1. Συντακτικό της for
2. ∆ιάγραµµα Ροής Προγράµµατος
3. Παραδείγµατα Εκτέλεσης
3. Η δοµή do,while
1. Συντακτικό της do,while
2. ∆ιάγραµµα Ροής Προγράµµατος
3. Παραδείγµατα Εκτέλεσης
4. Αµυντικός Προγραµµατισµός
4. Η δοµή while
1. Συντακτικό της while
2. ∆ιάγραµµα Ροής Προγράµµατος
3. Παραδείγµατα Εκτέλεσης
4. Αµυντικός Προγραµµατισµός
2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
5. Συµπεράσµατα
1. Προτεινόµενη χρήση των δοµών
επανάληψης
2. Προσοµοίωση της for από την while και τη
do..while
Γ. Ασκήσεις
1. Άθροισµα και Γινόµενο Αριθµών
2. Εµφωλιασµένοι Βρόχοι: Εκτύπωση
Αθροισµάτων
3. Εµφωλιασµένοι Βρόχοι: Εκτύπωση
Παραλληλογράµµου
4. Εµφωλιασµένοι Βρόχοι: Εκτύπωση
Τριγώνου
5. Άθροισµα Αριθµών µε Χρήση Πίνακα
6. Γινόµενο Αριθµών µε Χρήση Πίνακα
7. Ελάχιστος από N αριθµούς
8. Μέσος Όρος Ν αριθµών
A. Πίνακες
1. Εισαγωγή στους Πίνακες
1. Μονοδιάστατοι Πίνακες
3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Ένας πίνακας είναι µια σειρά από µεταβλητές ίδιου τύπου αποθηκευµένες στην µνήµη.
Για παράδειγµα ένας πίνακας 10 ακεραίων είναι 10 ακέραιες µεταβλητές αποθηκευµένες στην
σειρα (η µία µετά την άλλη) στην µνήµη.
Ένας πίνακας θα δηλώνεται (στο τµήµα δήλωσης µεταβλητών) µε εντόλη της µορφής:
Όπου:
Τύπος_∆εδοµένων: Ο τύπος δεδοµένων των µεταβλητών του πίνακα.
ΟΝΟΜΑ_ΠΙΝΑΚΑ: Το όνοµα που επιλέγουµε εµείς για τον πίνακα.
ΠΛΗΘΟΣ (προσέξτε ότι είναι µέσα σε αγκύλες): Πόσες µεταβλητές θα περιέχει ο
πίνακας
Τύπος_∆εδοµένων ΟΝΟΜΑ_ΠΙΝΑΚΑ[ΠΛΗΘΟΣ];
A. Πίνακες
1. Εισαγωγή στους Πίνακες
1. Μονοδιάστατοι Πίνακες
4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Για παράδειγµα µε την δήλωση:
∆ηλώνουµε έναν πίνακα µε 4 ακέραιες µεταβλητές.
Με την εντολή δήλωσης, δεσµεύεται στην µνήµη χώρος για τον πίνακα και είναι σηµαντικό
ότι οι θέσεις αυτές είναι σε µια σειρά.
Τα ονόµατα των 4µεταβλητών που κατασκευάσαµε είναι:
pin[0], pin[1], pin[2], pin[3]
Παρατηρούµε ότι η αρίθµηση ξεκινά από το 0 έως και ένα λιγότερο από τον αριθµό
που δηλώσαµε.
Άρα µετά την εντολή δήλωσης, έχουν δεσµευτεί 4 διαδοχικές (προσοχή!) θέσεις
στην µνήµη για να αποθηκεύσουν τιµές σε αυτές τις µεταβλητές:
int pin[4];
pin[0] pin[1] pin[2] pin[3]
,
A. Πίνακες
1. Εισαγωγή στους Πίνακες
2. Παράδειγµα
5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Μετά τη δήλωση του
πίνακα είναι σαν να
έχουµε 4 µεταβλητές που
µπορούµε να
χρησιµοποιήσουµε στο
πρόγραµµά µας.
∆είτε για παράδειγµα το
εξής απλό πρόγραµµα:
Οι µεταβλητές
διαχειρίζονται όπως οι
τυπικές ακέραιες
µεταβλητές
/* array.c: Aplo programma me pinaka */
#include <stdio.h>
int main()
{
int pin[3];
int sum;
pin[0]=1;
pin[1]=3;
pin[2]=4;
sum=pin[0]+pin[1]+pin[2];
printf("n%d+%d+%d=%d",pin[0],pin[1],pin[2],sum);
}
• Προσοχή, να µην γράψουµε αριθµό για όριο του πίνακα που είναι εκτός του επιτρεπτού. Π.χ. Αν
έχουµε δήλωση int pin[4]; και γράψουµε για όνοµα µεταβλητής pin[5] θα έχουµε σφάλµα όταν θα
εκτελέσουµε το πρόγραµµα!
• Περισσότερα για τους πίνακες θα δούµε σε επόµενο µάθηµα, όπου θα δούµε και
πολυδιάστατους πίνακες (διδιάστατους, τριδιάστατους κ.λπ.)
• Εδώ κάνουµε µια απλή αναφορά στους πίνακες για να τους χρησιµοποιήσουµε µε τη δοµή
επανάληψης στις ασκήσεις. Πολύ περισσότερα σε επόµενο µάθηµα.
B. ∆οµές Επανάληψης
1. Γενικά
6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Η εντολή επανάληψης είναι η σηµαντικότερη δοµή σε ένα πρόγραµµα.
...διότι µας επιτρέπει να εκτελέσουµε ένα τµήµα κώδικα πολλές φορές, το οποίο είναι το
κύριο χαρακτηριστικό του προγραµµατισµού.
Στη γλώσσα C που µαθαίνουµε, υπάρχουν τρεις τρόποι για να κάνουµε επανάληψη της
εκτέλεσης ενός τµήµατος κώδικα:
Η εντολή for ( ,; , ; ,) { , } στην οποία ρητά αναφέρουµε πόσες φορές θέλουµε να
εκτελεστεί ένα τµήµα κώδικα.
Η εντολή while(,) { , }
Η εντολή do{,} while(,);
Θα αναλύσουµε τους τρεις τρόπους επανάληψης και πότε χρησιµοποιούµε τον καθένα
Β. ∆οµές Επανάληψης
2. Η δοµή for
1. Συντακτικό της for
7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Το συντακτικό της εντολής for είναι:
∆είτε ότι αν τρέχουµε µία εντολή τότε δεν είµαστε αναγκασµένοι να χρησιµοποιήσουµε
άγκιστρα, αλλιώς αν τρέχουµε παραπάνω από µία εντολή πρέπει να βάλουµε τις εντολές
σε άγκιστρα (όπως στην if, ακολουθεί την for ένα µπλοκ κώδικα).
Με το παραπάνω συντακτικό γίνονται οι εξής ενέργειες:
1. Τρέχει η αρχική: είναι µια εντολή που τρέχει µία µόνο φορά στην αρχή. Αναφέρεται
και σαν εντολή αρχικοποίησης
2. Ελέγχεται η συνθήκη: συνήθως είναι µια σύγκριση τιµών.
2.1 Αν η συνθήκη είναι ψευδής, τότε βγαίνουµε από την for και πάµε στην
αµέσως επόµενη εντολή.
2.2. Αλλιώς αν η συνθήκη είναι αληθής, εκτελείται η εντολή αύξηση και
µεταβαίνουµε και πάλι στο βήµα 2.
for( αρχική; συνθήκη; βήµα)
εντολή;
for( αρχική; συνθήκη; βήµα)
{
(εντολές)
}
Β. ∆οµές Επανάληψης
2. Η δοµή for
2. ∆ιάγραµµα Ροής Προγράµµατος
8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 4: Μάθηµα 5: ∆οµές Επανάληψης
Και το διάγραµµα ροής προγράµµατος:
[προηγούµενες εντολές]
for( αρχική; συνθήκη; βήµα)
εντολή;
[επόµενες εντολές]
[προηγούµενες εντολές]
for( αρχική; συνθήκη; βήµα)
{
(εντολές)
}
[επόµενες εντολές]
συνθήκη
(εντολές)
ΟΧΙ
[προηγούµενες εντολές]
[επόµενες εντολές]
(αρχική)
βήµα
ΝΑΙ
Β. ∆οµές Επανάληψης
2. Η δοµή for
3. Παραδείγµατα Εκτέλεσης
9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Παράδειγµα 1:
Τι κάνει το ακόλουθο τµήµα κώδικα;
Απάντηση:
Εκτελείται η εντολή i=1.
Ελέγχεται αν i<=5. Είναι αληθές (1<=5), άρα τυπώνεται «Καληµέρα» και εκτελείται η
αύξηση i++, άρα το i γίνεται 2.
Ελέγχεται αν i<=5. Είναι αληθές (2<=5), άρα τυπώνεται «Καληµέρα» και εκτελείται η
αύξηση i++, άρα το i γίνεται 3.
Ελέγχεται αν i<=5. Είναι αληθές (3<=5), άρα τυπώνεται «Καληµέρα» και εκτελείται η
αύξηση i++, άρα το i γίνεται 4.
Ελέγχεται αν i<=5. Είναι αληθές (4<=5), άρα τυπώνεται «Καληµέρα» και εκτελείται η
αύξηση i++, άρα το i γίνεται 5.
Ελέγχεται αν i<=5. Είναι αληθές (5<=5), άρα τυπώνεται «Καληµέρα» και εκτελείται η
αύξηση i++, άρα το i γίνεται 6.
Ελέγχεται αν i<=5. Είναι ψευδές (6<=5), άρα µεταβαίνουµε στην αµέσως επόµενη
εντολή µετά την for.
Άρα το τµήµα κώδικα τυπώνει 5 φορές στην οθόνη τη λέξη ΚΑΛΗΜΕΡΑ
for (i=1; i<=5; i++)
printf("nKalimera");
Β. ∆οµές Επανάληψης
2. Η δοµή for
3. Παραδείγµατα Εκτέλεσης
10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Συνήθως στις εφαρµογές χρησιµοποιείται η τιµή της µεταβλητής που τροποποιείται στην
αύξηση. Είναι σηµαντικό ότι σε κάθε επανάληψη η τιµή της µεταβλητής είναι διαφορετική
Παράδειγµα 2:
Τι κάνει το ακόλουθο τµήµα κώδικα;
Απάντηση:
Εκτελείται η εντολή i=1.
Ελέγχεται αν i<=3. Είναι αληθές (1<=3), άρα τυπώνεται «1» και εκτελείται η αύξηση
i++, άρα το i γίνεται 2.
Ελέγχεται αν i<=3. Είναι αληθές (2<=3), άρα τυπώνεται «2» και εκτελείται η αύξηση
i++, άρα το i γίνεται 3.
Ελέγχεται αν i<=3. Είναι αληθές (3<=3), άρα τυπώνεται «3» και εκτελείται η αύξηση
i++, άρα το i γίνεται 4.
Ελέγχεται αν i<=3. Είναι ψευδές (4<=3), άρα µεταβαίνουµε στην αµέσως επόµενη
εντολή µετά την for.
Και το πρόγραµµα τερµατίζει
for (i=1; i<=3; i++)
printf("n%d“,i);
Συνήθως στις εφαρµογές χρησιµοποιείται η τιµή της µεταβλητής που τροποποιείται στην
αύξηση. Είναι σηµαντικό ότι σε κάθε επανάληψη η τιµή της µεταβλητής είναι διαφορετική
Β. ∆οµές Επανάληψης
2. Η δοµή for
3. Παραδείγµατα Εκτέλεσης
11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Παράδειγµα 3:
Τι κάνει το ακόλουθο τµήµα κώδικα (οι j,x είναι ακέραιες µεταβλητες);
Απάντηση: Οι εντολές που περικλείονται ανάµεσα στα άγκιστρα εκτελούνται για τις
διαδοχικές τιµές της µεταβλητής. Άρα:
Εκτελείται η εντολή j=0.
Ελέγχεται αν j<2. Είναι αληθές (0<2), άρα υπολογίζεται x=0*0-1=-1 άρα
τυπώνεται «-1» και εκτελείται η αύξηση j++, άρα το j γίνεται 1.
Ελέγχεται αν j<2. Είναι αληθές (1<2), άρα υπολογίζεται x=1*1-1=0 άρα
τυπώνεται «0» και εκτελείται η αύξηση j++, άρα το j γίνεται 2.
Ελέγχεται αν j<2. Είναι ψευδές (2<2), άρα µεταβαίνουµε στην επόµενη εντολή µετά
τη for.
for (j=0; j<2; j++)
{
x=j*j-1;
printf("n%d",x);
}
Συνήθως, χρησιµοποιώντας την τιµή της µεταβλητής κάνουµε ακόµη και περίπλοκους
υπολογισµούς.
Β. ∆οµές Επανάληψης
2. Η δοµή for
3. Παραδείγµατα Εκτέλεσης
12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Παράδειγµα 4:
Τι κάνει το ακόλουθο τµήµα κώδικα (οι j,x είναι ακέραιες µεταβλητές);
Απάντηση: Οι εντολές που περικλείονται ανάµεσα στα άγκιστρα εκτελούνται για τις
διαδοχικές τιµές της µεταβλητής. Άρα:
Εκτελείται η εντολή j=2.
Ελέγχεται αν j>=0. Είναι αληθές (2>=0), άρα υπολογίζεται x=2*2-1=3 άρα
τυπώνεται «3» και εκτελείται η µείωση j--, άρα το j γίνεται 1.
Ελέγχεται αν j>=0. Είναι αληθές (1>=0), άρα υπολογίζεται x=1*1-1=0 άρα
τυπώνεται «0» και εκτελείται η µείωση j--, άρα το j γίνεται 0.
Ελέγχεται αν j>=0. Είναι αληθές (0>=0), άρα υπολογίζεται x=0*0-1=0 άρα
τυπώνεται «-1» και εκτελείται η µείωση j--, άρα το j γίνεται -1.
Ελέγχεται αν j>=0. Είναι ψευδές (-1>=0), άρα µεταβαίνουµε στην επόµενη εντολή
µετά τη for.
for (j=2; j>=0; j--)
{
x=j*j-1;
printf("n%d",x);
}
Ας δούµε και ένα παράδειγµα που η µεταβλητή µειώνεται αντί να αυξάνεται.
Β. ∆οµές Επανάληψης
2. Η δοµή for
3. Παραδείγµατα Εκτέλεσης
13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Παράδειγµα 5:
Τι κάνει το ακόλουθο τµήµα κώδικα (η i είναι ακέραια µεταβλητή);
Απάντηση:
Εκτελείται η εντολή i=0.
Ελέγχεται αν i<=6. Είναι αληθές (0<=6), υπολογίζεται 0*0=0 τυπώνεται «0»
και εκτελείται η αύξηση i+=2, άρα το i γίνεται 2.
Ελέγχεται αν i<=6. Είναι αληθές (2<=6), υπολογίζεται 2*2=4 τυπώνεται «4»
και εκτελείται η αύξηση i+=2, άρα το i γίνεται 4.
Ελέγχεται αν i<=6. Είναι αληθές (4<=6), υπολογίζεται 4*4=16 τυπώνεται «16»
και εκτελείται η αύξηση i+=2, άρα το i γίνεται 16.
Ελέγχεται αν i<=6. Είναι αληθές (6<=6), υπολογίζεται 6*6=36 τυπώνεται «36»
και εκτελείται η αύξηση i+=2, άρα το i γίνεται 8.
Ελέγχεται αν i<=6. Είναι ψευδές (8<=6), άρα µεταβαίνουµε στην επόµενη
εντολή µετά τη for.
for (i=0; i<=6; i+=2)
printf("n%d",i*i);
Μπορούµε να έχουµε και οποιοδήποτε βήµα αύξησης επιθυµούµε µε το κατάλληλο συντακτικό.
Β. ∆οµές Επανάληψης
2. Η δοµή for
3. Παραδείγµατα Εκτέλεσης
14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Αν και ο συνηθισµένος τρόπος χρήσης της for, είναι κάποιος από αυτούς που είδαµε,
έχουµε επιπλέον δικαίωµατα:
Να βάλουµε παραπάνω απο µία αρχικές εντολές (χωρισµένες µε κόµµα)
Να βάλουµε παραπάνω από µια εντολές αύξησης (χωρισµένες µε κόµµα)
Να έχουµε πιο σύνθετες συνθήκες (π.χ. και µε λογικό έλεγχο.)
Εκτελέστε το παρακάτω πρόγραµµα:
/* complex_for.c: Deixnei to olokliromeno sintaktiko tis for */
#include <stdio.h>
main()
{
int i,j;
for (i=0,j=0; i<5 && j<5; i++,j+=2)
printf("ni=%d,j=%d: ",i,j);
}
Β. ∆οµές Επανάληψης
3. Η δοµή do..while
1. Συντακτικό της do..while
15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Το συντακτικό της εντολής do`while (επανέλαβε`όσο) είναι:
Με την παρατήρηση ότι εδώ δεν µπορούµε να παραλείψουµε τα άγκιστρα!.
Με το παραπάνω συντακτικό γίνονται οι εξής ενέργειες:
1. Εκτελούνται οι εντολές
2. Ελέγχεται η συνθήκη: (την οποία έχουµε συντάξει µε λογικούς και σχεσιακούς
τελεστές)
2.1 Αν η απάντηση είναι ΑΛΗΘΗΣ (ισχύει η συνθήκη), τότε ξαναρχίζουµε από
την αρχή (πρώτη εντολή µετά από το do)
2.2 Αν η απάντηση είναι ΨΕΥ∆ΗΣ (δεν ισχύει η συνθήκη), τότε βγαίνουµε από
την επανάληψη και τρέχουµε την αµέσως επόµενη εντολή µετά τη while.
do
{
(Εντολές)
}
while (Συνθήκη);
Β. ∆οµές Επανάληψης
3. Η δοµή do..while
2. ∆ιάγραµµα Ροής Προγράµµατος
16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Και το διάγραµµα ροής προγράµµατος:
Παρατηρήστε ότι η συνθήκη ελέγχεται αφού
έχουν εκτελεστεί οι εντολές
συνθήκη
(εντολές)
ΟΧΙ
[προηγούµενες εντολές]
[επόµενες εντολές]
ΝΑΙ
[προηγούµενες εντολές]
do
{
(Εντολές)
}
while (Συνθήκη);
[επόµενες εντολές]
Β. ∆οµές Επανάληψης
3. Η δοµή do`while
3. Παραδείγµατα Εκτέλεσης
17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Παράδειγµα 1:
Τι κάνει το ακόλουθο τµήµα κώδικα (η i είναι ακέραια µεταβλητή);
Αρχικά i=0
Γίνεται επανάληψη:
Τίθεται i=0+1=1 και τυπώνεται «1»
Γίνεται έλεγχος συνθήκης. 1<3 είναι ΑΛΗΘΗΣ, άρα θα επαναλαβουµε
Γίνεται επανάληψη:
Τίθεται i=1+1=2 και τυπώνεται «2»
Γίνεται έλεγχος συνθήκης. 2<3 είναι ΑΛΗΘΗΣ, άρα θα επαναλαβουµε
Γίνεται επανάληψη:
Τίθεται i=2+1=3 και τυπώνεται «3»
Γίνεται έλεγχος συνθήκης. 3<3 είναι ΨΕΥ∆ΗΣ, άρα δεν θα επαναλαβουµε και
πηγαίνουµε στην επόµενη εντολή του κώδικα.
i=0;
do{
i=i+1;
printf("n%d",i);
} while(i<3);
Μπορούµε να χρησιµοποιήσουµε την do..while µε αντίστοιχο τρόπο µε την for.
Β. ∆οµές Επανάληψης
3. Η δοµή do`while
3. Παραδείγµατα Εκτέλεσης
18∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Παράδειγµα 2: Τι κάνει το ακόλουθο τµήµα κώδικα (η i είναι ακέραια µεταβλητή);
Αρχικά i=5
Γίνεται επανάληψη:
Τίθεται i=5+1=6 και εκτυπώνεται «6»
Γίνεται έλεγχος συνθήκης. 6>3 είναι ΑΛΗΘΗΣ, άρα θα επαναλαβουµε
Γίνεται επανάληψη:
Τίθεται i=6+1=7 και εκτυπώνεται «7»
Γίνεται έλεγχος συνθήκης. 7>3 είναι ΑΛΗΘΗΣ, άρα θα επαναλαβουµε....
..... Θα τερµατίσει ποτέ το πρόγραµµα?
Η απάντηση είναι ΟΧΙ! Σε κάθε επανάληψη το i θα αυξάνεται, άρα ποτέ δεν θα γίνει <= 3!
i=5;
do{
i=i+1;
printf("n%d",i);
} while(i>3);
Και εδώ θα κάνουµε ένα από τα πιο συχνά λάθη! Θα πέσουµε σε ατέρµονα βρόχο!
Ατέρµων βρόχος (infinite loop) είναι µία (επανάληψη που δεν ολοκληρώνεται ποτέ)
Αποτελεί από τα συχνότερα προγραµµατιστικά λάθη!
Β. ∆οµές Επανάληψης
3. Η δοµή do`while
3. Παραδείγµατα Εκτέλεσης
19∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Σχηµατικά:
i=0; <- Εντολή Αρχικοποίησης (την γράφουµε εµείς)
do{
(εντολή ή εντολές)
i=i+1; <- Εντολή αύξησης µεταβλητής (την γράφουµε εµείς)
} while (i<=3); <- Συνθήκη
Παρατήρηση:
Η σύνταξη της δοµής είναι αρκετά απλή, αλλά θα πρέπει εµείς, ως προγραµµατιστές να
συντάξουµε σωστά τις υπόλοιπες εντολές. Συγκεκριµένα:
Πρέπει να αρχικοποιήσουµε σωστά την µεταβλητή που θα έχουµε στην εντολή συνθήκης.
Έτσι πριν την do θα πρέπει να αρχικοποιήσουµε την µεταβλητή που θα
χρησιµοποιήσουµε (εντολή αρχικοποίησης)
Πρέπει η µεταβλητή που έχουµε στην εντολή αρχικοποίησης να επηρεάζεται στο σώµα της
επανάληψης (εντολή αύξησης µεταβλητής)
Β. ∆οµές Επανάληψης
3. Η δοµή do`while
4. Αµυντικός Προγραµµατισµός
20∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Στην επόµενη διαφάνεια φαίνεται πως θα κάνουµε αµυντικό προγραµµατισµό για να
διαβάσουµε έναν αριθµό από 1 εώς 100.
Αν ξέρουµε πόσες φορές θέλουµε να τρέξει η επανάληψη, είναι προτιµότερο να
χρησιµοποιήσουµε for, γιατί στο συντακτικό της γράφουµε τις εντολές αρχικοποιήσης και
αύξησης, και έτσι ελαχιστοποιείται η πιθανότητα λάθους.
Ωστόσο η δοµή do..while είναι πολύ χρήσιµη όταν θέλουµε να διαβάσουµε µεταβλητές που
να έχουν συγκεκριµένες τιµές.
Π.χ. Αν θέλουµε να διαβάσουµε έναν ακέραιο µεταξύ 1 και 100 και πρέπει να αποφύγουµε
ο χρήστης να εισάγει µία λανθασµένη τιµή τότε εφαρµόζουµε αµυντικό προγραµατισµό
και κάνουµε έλεγχο αν η τιµή που εισήγαγε ο χρήστης είναι σωστή.
Έτσι τον αναγκάζουµε να επαναπληκτρολογήσει µέχρι να βάλει την σωστή τιµή.
Ο αµυντικός προγραµµατισµός είναι καλή προγραµµατιστική τακτική σε προγράµµατα που
ζητάµε είσοδο από τον χρήστη.
Β. ∆οµές Επανάληψης
3. Η δοµή do`while
4. Αµυντικός Προγραµµατισµός
21∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
/* defensive.c: Amintikos Programmatismos gia to diavasma enos akeraioy
*/
#include <stdio.h>
main()
{
int i;
do {
printf("Dwste enan akeraio apo 1 ews 100: ");
scanf("%d",&i);
} while (i<1 || i>100);
printf("Eisagate arithmo mesa sta oria 1 ews 100: %d",i);
}
Β. ∆οµές Επανάληψης
4. Η δοµή while
1. Συντακτικό της while
22∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Το συντακτικό της δοµής while (επανέλαβε) είναι ίδια µε την do..while µε την µόνη διαφορά ότι ο
έλεγχος γίνεται στην αρχή της επανάληψης και όχι στο τέλος της επανάληψης :
Και εδώ αν έχουµε µόνο µία εντολή µπορούµε να παραλείψουµε τα άγκιστρα!
Με το παραπάνω συντακτικό γίνονται οι εξής ενέργειες:
1. Ελέγχεται η συνθήκη: (την οποία έχουµε συντάξει µε λογικούς και σχεσιακούς
τελεστές)
1.1 Αν η απάντηση είναι ΑΛΗΘΗΣ (ισχύει η συνθήκη), τότε ξαναρχίζουµε από
την αρχή (πρώτη εντολή µετά από το do)
1.2 Αν η απάντηση είναι ΨΕΥ∆ΗΣ (δεν ισχύει η συνθήκη), τότε βγαίνουµε από
την επανάληψη και τρέχουµε την αµέσως επόµενη εντολή µετά τη while.
while(Συνθήκη)
{
(Εντολή ή Εντολές)
}
Β. ∆οµές Επανάληψης
4. Η δοµή while
2. ∆ιάγραµµα Ροής Προγράµµατος
23∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Και το διάγραµµα ροής προγράµµατος:
Παρατηρήστε ότι η συνθήκη ελέγχεται πριν
εκτελεστούν οι εντολές
συνθήκη
(εντολές)
ΟΧΙ
[προηγούµενες εντολές]
[επόµενες εντολές]
ΝΑΙ
[προηγούµενες εντολές]
while(Συνθήκη)
{
(Εντολές)
}
[επόµενες εντολές]
Β. ∆οµές Επανάληψης
4. Η δοµή while
3. Παραδείγµατα Εκτέλεσης
24∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Παράδειγµα 1:
Τι κάνει το ακόλουθο τµήµα κώδικα (οι k,l είναι ακέραιες µεταβλητές);
Απάντηση:
Αρχικοποιείται το k µε 5
Γίνεται ο έλεγχος συνθήκης (5<8). Είναι ΑΛΗΘΕΣ, άρα γίνονται τα βηµατα
l=2*5+1=11 και k=5+1=6. Τυπώνεται «11».
Γίνεται ο έλεγχος συνθήκης (6<8). Είναι ΑΛΗΘΕΣ, άρα γίνονται τα βηµατα
l=2*6+1=13 και k=6+1=7. Τυπώνεται «13».
Γίνεται ο έλεγχος συνθήκης (7<8). Είναι ΑΛΗΘΕΣ, άρα γίνονται τα βηµατα
l=2*7+1=15 και k=7+1=8. Τυπώνεται «15».
Γίνεται ο έλεγχος συνθήκης (8<8). Είναι ΨΕΥ∆ΕΣ, άρα τερµατίζει η επανάληψη.
k=5;
while(k<8)
{
l=2*k+1;
k=k+1;
printf("%d",l);
}
Ένα πρώτο παράδειγµα, για την αντιστοιχία µε τις άλλες δοµές επανάληψης
Β. ∆οµές Επανάληψης
5. Συµπεράσµατα
1. Προτεινόµενη Χρήση των ∆οµών Επανάληψης
25∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Βλέπουµε ότι και οι 3 εντολές επανάληψης µε παρόµοιο τρόπο κάνουν τις ίδιες ενέργειες.
Η πιο συνηθισµένη δοµή είναι η for και την χρησιµοποιούµε όταν ξέρουµε ποιες τιµές θα
πάρει η µεταβλητή.
Αν δεν ξέρουµε ακριβώς ποιες τιµές θα πάρει ή µεταβλητή ή πόσες φορές πρέπει να γίνει
η επανάληψη, τότε χρησιµοποιούµε την δοµή while.
Η δοµή do,while χρησιµοποιείται πιο σπάνια, κυρίως για αµυντικό προγραµµατισµό σε
διάβασµα µεταβλητών.
Β. ∆οµές Επανάληψης
5. Συµπεράσµατα
2. Προσοµοίωση της for από την while και την do..while
26∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Ενδιαφέρον επίσης έχει ότι η εντολή for µπορεί να προσοµοιωθεί από τις άλλες δύο ως
ακολούθως:
Με εντολή while
Με εντολή do`while
for (i=1; i<=10; i++)
{
(Εντολή ή εντολές)
}
i=1;
while(i<=10)
{
(Εντολή ή εντολές)
i=i+1;
}
i=1;
do{
(Εντολή ή εντολές)
i=i+1
}while(I<=10);
Γ. Ασκήσεις
Εφαρµογή 1 (Άθροισµα και Γινόµενο Αριθµών)
27∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
(α)Τι κάνει το ακόλουθο πρόγραµµα;
(β) Πως µπορούµε να τροποποιήσουµε το πρόγραµµά µας, έτσι ώστε να προστίθενται 10
αριθµοί αντί για 3.
(γ) Γράψτε το πρόγραµµα ask1_ginomeno.c που θα υπολογίζει το γινόµενο των 3 αριθµών που
διαβάζει από την είσοδο.
/* ask1.c */
#include <stdio.h>
main()
{
int i,sum,x;
sum=0;
for(i=1; i<=3; i++)
{
printf("nEisagete ton %d-o arithmo: ",i);
scanf("%d",&x);
sum=sum+x;
}
printf("nn%d",sum);
}
Γ. Ασκήσεις
Εφαρµογή 2 (Εµφωλιασµένοι Βρόχοι)
28∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Μεταγλωττίστε, εκτελέστε και µελετήστε το παρακάτω πρόγραµµα:
/* ask2.c */
#include <stdio.h>
main()
{
int i,j;
for(i=1; i<=4; i++)
{
for (j=1; j<=4; j++)
{
printf("n%d+%d=%d",i,j,i+j);
}
}
}
Σηµείωση: Επειδή έχουµε επανάληψη µέσα στην επανάληψη, η παραπάνω δοµή
χαρακτηρίζεται προγραµµατιστικά «εµφωλιασµένοι βρόχοι» (nested loops)
Γ. Ασκήσεις
Εφαρµογή 3 (Εµφωλιασµένοι Βρόχοι)
29∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
(α) Χωρίς να εκτελέσετε το πρόγραµµα,
υπολογίστε πόσα X θα εκτυπώσει το ακόλουθο
πρόγραµµα και µε ποια µορφή;
(β) Εκτελέστε το πρόγραµµα και τροποποιήστε
κατά βούληση το παραλληλόγραµµο που
εκτυπώνεται.
(γ) Μετατρέψτε το πρόγραµµα σε ένα
ισοδύναµο που χρησιµοποιεί την εντολή while,
αντί για την εντολή for.
/* ask3.c */
#include <stdio.h>
main()
{
int M,N;
int i,j;
M=10;
N=20;
for(i=0; i<=M; i++)
{
for (j=0; j<=N; j++)
{
printf("X");
}
printf("n");
}
}
Γ. Ασκήσεις
Εφαρµογή 4 (Εµφωλιασµένοι Βρόχοι)
30∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
(α) Χωρίς να εκτελέσετε το πρόγραµµα,
υπολογίστε πόσα X θα εκτυπώσει το ακόλουθο
προγραµµα και µε ποια µορφή;
(β) Εκτελέστε το πρόγραµµα και τροποποιήστε
κατά βούληση το “τρίγωνο” που εκτυπώνεται.
(γ) Μετατρέψτε το πρόγραµµα σε ένα
ισοδύναµο που χρησιµοποιεί την εντολή
do`while, αντί για την εντολή for.
/* ask4.c */
#include <stdio.h>
main()
{
int N;
int i,j;
N=10;
for(i=0; i<=N; i++)
{
for (j=i; j<=N; j++)
{
printf("X");
}
printf("n");
}
}
Γ. Ασκήσεις
Εφαρµογή 5 (Άθροισµα Αριθµών µε Πίνακα)
31∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Κατασκευάστε πρόγραµµα που:
Προτρέπει τον χρήστη να εισάγει 10 ακέραιους αριθµούς και τους αποθηκεύει σε έναν
µονοδιάστατο πίνακα 10 θέσεων.
Έπειτα υπολογίζει το άθροισµα τους και το τυπώνει στην οθόνη.
Γ. Ασκήσεις
Εφαρµογή 6 (Γινόµενο Αριθµών µε Πίνακα)
32∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Κατασκευάστε πρόγραµµα που:
Προτρέπει τον χρήστη να εισάγει 5 άκεραιους αριθµούς και τους αποθηκεύει σε έναν
µονοδιάστατο πίνακα 5 θέσεων. Επίσης να εφαρµόζεται αµυντικός προγραµµατισµός, έτσι
ώστε κάθε ακέραιος που εισάγει ο χρήστης να έχει τιµή από 1 εώς 8.
Έπειτα υπολογίζει το γινόµενό τους και το τυπώνει στην οθόνη.
Γ. Ασκήσεις
Εφαρµογή 7 (Ελάχιστος από Ν αριθµούς)
33∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Κατασκευάστε πρόγραµµα που:
Προτρέπει τον χρήστη να εισάγει έναν αριθµό Ν. Ο αριθµός Ν να είναι µεταξύ 1 και 20 µε
εφαρµογή αµυντικού προγραµµατισµού.
Έπειτα να διαβάζει από την είσοδο και να εισάγει Ν αριθµούς σε έναν µονοδιάστατο
πίνακα.
Τέλος, να βρίσκει και να τυπώνει τον ελάχιστο από τους Ν αριθµούς.
Υπόδειξη: Όταν δεν ξέρουµε εκ των προτέρων το µέγεθος του πίνακα που θα
χρησιµοποιήσουµε, δεσµεύουµε προκαταβολικά τον µέγιστο χώρο που µπορεί το πρόγραµµα
να χρησιµοποιήσει.
Για παράδειγµα σε αυτήν την άσκηση, θα πρέπει να κατασκευάσετε έναν πίνακα 20
θέσεων, παρόλο που το πρόγραµµα θα χρησιµοποιήσει τόσες θέσεις, όσο το Ν που θα
εισάγει ο χρήστης.
Σε επόµενο µάθηµα θα µάθουµε πως δεσµεύεται ο χώρος στην µνήµη δυναµικά. ∆ηλαδή
κατά τον χρόνο εκτέλεσης να δεσµεύεται ο χώρος µνήµης που απαιτείται.
Γ. Ασκήσεις
Εφαρµογή 8 (Μέσος όρος Ν αριθµών)
34∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης
Κατασκευάστε πρόγραµµα που:
Προτρέπει τον χρήστη να εισάγει έναν αριθµό Ν. Ο αριθµός Ν να είναι µεταξύ 1 και 20 µε
εφαρµογή αµυντικού προγραµµατισµού.
Έπειτα να διαβάζει από την είσοδο και να εισάγει Ν αριθµούς σε έναν µονοδιάστατο
πίνακα.
Τέλος, να βρίσκει και να τυπώνει τον µέσο όρο των Ν αριθµών.
Υπόδειξη: Όταν δεν ξέρουµε εκ των προτέρων το µέγεθος του πίνακα που θα
χρησιµοποιήσουµε, δεσµεύουµε προκαταβολικά τον µέγιστο χώρο που µπορεί το πρόγραµµα
να χρησιµοποιήσει.
Για παράδειγµα σε αυτήν την άσκηση, θα πρέπει να κατασκευάσετε έναν πίνακα 20
θέσεων, παρόλο που το πρόγραµµα θα χρησιµοποιήσει τόσες θέσεις, όσο το Ν που θα
εισάγει ο χρήστης.
Σε επόµενο µάθηµα θα µάθουµε πως δεσµεύεται ο χώρος στην µνήµη δυναµικά. ∆ηλαδή
κατά τον χρόνο εκτέλεσης να δεσµεύεται ο χώρος µνήµης που απαιτείται.

Weitere ähnliche Inhalte

Was ist angesagt?

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝDimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Dimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑDimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣDimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑDimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣ
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣ
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣDimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7Dimitris Psounis
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CDimitris Psounis
 

Was ist angesagt? (20)

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
 
Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2
 
Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
ΠΛΗ10 ΜΑΘΗΜΑ 2.5ΠΛΗ10 ΜΑΘΗΜΑ 2.5
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.4
ΠΛΗ10 ΜΑΘΗΜΑ 2.4ΠΛΗ10 ΜΑΘΗΜΑ 2.4
ΠΛΗ10 ΜΑΘΗΜΑ 2.4
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣ
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣ
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣ
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.2
ΠΛΗ10 ΜΑΘΗΜΑ 2.2ΠΛΗ10 ΜΑΘΗΜΑ 2.2
ΠΛΗ10 ΜΑΘΗΜΑ 2.2
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.2
ΠΛΗ10 ΜΑΘΗΜΑ 1.2ΠΛΗ10 ΜΑΘΗΜΑ 1.2
ΠΛΗ10 ΜΑΘΗΜΑ 1.2
 

Ähnlich wie ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ

Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4Ιωάννου Γιαννάκης
 
ΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό ΤεστΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό ΤεστNikos Michailidis
 
AEPP_OEFE_2008
AEPP_OEFE_2008AEPP_OEFE_2008
AEPP_OEFE_2008educast
 
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνNikos Michailidis
 
Tutorial xatzikyriakou-pascalby example
Tutorial xatzikyriakou-pascalby exampleTutorial xatzikyriakou-pascalby example
Tutorial xatzikyriakou-pascalby exampleevaplyta
 
ΑΕΠΠ: 22ο Φύλλο Ασκήσεων
ΑΕΠΠ: 22ο Φύλλο ΑσκήσεωνΑΕΠΠ: 22ο Φύλλο Ασκήσεων
ΑΕΠΠ: 22ο Φύλλο ΑσκήσεωνNikos Michailidis
 
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2Dimitris Psounis
 
Διαγώνισμα Κεφάλαια 7- 8- 9
Διαγώνισμα Κεφάλαια 7- 8- 9Διαγώνισμα Κεφάλαια 7- 8- 9
Διαγώνισμα Κεφάλαια 7- 8- 9educast
 
ΟΕΦΕ 2009 Θέματα
ΟΕΦΕ 2009 ΘέματαΟΕΦΕ 2009 Θέματα
ΟΕΦΕ 2009 Θέματαeducast
 
ανάπτυξη 2006 απ
ανάπτυξη 2006 απανάπτυξη 2006 απ
ανάπτυξη 2006 απeducast
 
Bασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμωνBασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμωνHuman Oid
 
04110700 g texn_aep 2010
04110700 g texn_aep 201004110700 g texn_aep 2010
04110700 g texn_aep 2010educast
 
Διαγώνισμα Δομή Επανάληψης 2
Διαγώνισμα Δομή Επανάληψης 2Διαγώνισμα Δομή Επανάληψης 2
Διαγώνισμα Δομή Επανάληψης 2educast
 

Ähnlich wie ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ (20)

ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4
 
ΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό ΤεστΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό Τεστ
 
AEPP_OEFE_2008
AEPP_OEFE_2008AEPP_OEFE_2008
AEPP_OEFE_2008
 
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
 
Κεφ. 1.3 Δομή επιλογής
Κεφ. 1.3 Δομή επιλογήςΚεφ. 1.3 Δομή επιλογής
Κεφ. 1.3 Δομή επιλογής
 
Plir b
Plir bPlir b
Plir b
 
Tutorial xatzikyriakou-pascalby example
Tutorial xatzikyriakou-pascalby exampleTutorial xatzikyriakou-pascalby example
Tutorial xatzikyriakou-pascalby example
 
ΑΕΠΠ: 22ο Φύλλο Ασκήσεων
ΑΕΠΠ: 22ο Φύλλο ΑσκήσεωνΑΕΠΠ: 22ο Φύλλο Ασκήσεων
ΑΕΠΠ: 22ο Φύλλο Ασκήσεων
 
Python Κεφ. 1.4 Δομή Επανάληψης
Python Κεφ. 1.4 Δομή ΕπανάληψηςPython Κεφ. 1.4 Δομή Επανάληψης
Python Κεφ. 1.4 Δομή Επανάληψης
 
Microworld[1]
Microworld[1]Microworld[1]
Microworld[1]
 
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
 
Διαγώνισμα Κεφάλαια 7- 8- 9
Διαγώνισμα Κεφάλαια 7- 8- 9Διαγώνισμα Κεφάλαια 7- 8- 9
Διαγώνισμα Κεφάλαια 7- 8- 9
 
ΟΕΦΕ 2009 Θέματα
ΟΕΦΕ 2009 ΘέματαΟΕΦΕ 2009 Θέματα
ΟΕΦΕ 2009 Θέματα
 
ανάπτυξη 2006 απ
ανάπτυξη 2006 απανάπτυξη 2006 απ
ανάπτυξη 2006 απ
 
Bασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμωνBασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμων
 
04110700 g texn_aep 2010
04110700 g texn_aep 201004110700 g texn_aep 2010
04110700 g texn_aep 2010
 
Διαγώνισμα Δομή Επανάληψης 2
Διαγώνισμα Δομή Επανάληψης 2Διαγώνισμα Δομή Επανάληψης 2
Διαγώνισμα Δομή Επανάληψης 2
 
PROLOG - ΜΑΘΗΜΑ 4
PROLOG - ΜΑΘΗΜΑ 4PROLOG - ΜΑΘΗΜΑ 4
PROLOG - ΜΑΘΗΜΑ 4
 
ΠΛΗ30 ΜΑΘΗΜΑ 5.4
ΠΛΗ30 ΜΑΘΗΜΑ 5.4ΠΛΗ30 ΜΑΘΗΜΑ 5.4
ΠΛΗ30 ΜΑΘΗΜΑ 5.4
 

Mehr von 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 (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 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5Dimitris 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.2Dimitris 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.1Dimitris 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
 

Mehr von 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 (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
 
ΠΛΗ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.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ 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
 

Kürzlich hochgeladen

Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗΗ ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗIliana Kouvatsou
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .Dimitra Mylonaki
 
εργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptxεργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptxEffie Lampropoulou
 
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥIliana Kouvatsou
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣΗ ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣΘεόδωρος Μαραγκούλας
 
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος ΔόσηςΟ εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος ΔόσηςIliana Kouvatsou
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηTheodora Chandrinou
 
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...Iliana Kouvatsou
 
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξηΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
Σχέσεις στην εφηβεία_έρωτας
Σχέσεις                     στην εφηβεία_έρωταςΣχέσεις                     στην εφηβεία_έρωτας
Σχέσεις στην εφηβεία_έρωταςDimitra Mylonaki
 
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024Tassos Karampinis
 
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣΗ ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣIliana Kouvatsou
 
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑIliana Kouvatsou
 

Kürzlich hochgeladen (14)

Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗΗ ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .
 
εργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptxεργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptx
 
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣΗ ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
 
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος ΔόσηςΟ εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
 
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
 
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
 
Σχέσεις στην εφηβεία_έρωτας
Σχέσεις                     στην εφηβεία_έρωταςΣχέσεις                     στην εφηβεία_έρωτας
Σχέσεις στην εφηβεία_έρωτας
 
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
 
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣΗ ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
 
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
 
Σεβασμός .
Σεβασμός                                   .Σεβασμός                                   .
Σεβασμός .
 

ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ

  • 1. H ΓΛΩΣΣΑ C Μάθηµα 5: ∆οµές Επανάληψης ∆ηµήτρης Ψούνης
  • 2. Περιεχόµενα Μαθήµατος Α. Πίνακες 1. Εισαγωγή στους Πίνακες 1. Μονοδιάστατοι Πίνακες 2. Παράδειγµα B. ∆οµές Επανάληψης 1. Γενικά 2. Η δοµή for 1. Συντακτικό της for 2. ∆ιάγραµµα Ροής Προγράµµατος 3. Παραδείγµατα Εκτέλεσης 3. Η δοµή do,while 1. Συντακτικό της do,while 2. ∆ιάγραµµα Ροής Προγράµµατος 3. Παραδείγµατα Εκτέλεσης 4. Αµυντικός Προγραµµατισµός 4. Η δοµή while 1. Συντακτικό της while 2. ∆ιάγραµµα Ροής Προγράµµατος 3. Παραδείγµατα Εκτέλεσης 4. Αµυντικός Προγραµµατισµός 2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης 5. Συµπεράσµατα 1. Προτεινόµενη χρήση των δοµών επανάληψης 2. Προσοµοίωση της for από την while και τη do..while Γ. Ασκήσεις 1. Άθροισµα και Γινόµενο Αριθµών 2. Εµφωλιασµένοι Βρόχοι: Εκτύπωση Αθροισµάτων 3. Εµφωλιασµένοι Βρόχοι: Εκτύπωση Παραλληλογράµµου 4. Εµφωλιασµένοι Βρόχοι: Εκτύπωση Τριγώνου 5. Άθροισµα Αριθµών µε Χρήση Πίνακα 6. Γινόµενο Αριθµών µε Χρήση Πίνακα 7. Ελάχιστος από N αριθµούς 8. Μέσος Όρος Ν αριθµών
  • 3. A. Πίνακες 1. Εισαγωγή στους Πίνακες 1. Μονοδιάστατοι Πίνακες 3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Ένας πίνακας είναι µια σειρά από µεταβλητές ίδιου τύπου αποθηκευµένες στην µνήµη. Για παράδειγµα ένας πίνακας 10 ακεραίων είναι 10 ακέραιες µεταβλητές αποθηκευµένες στην σειρα (η µία µετά την άλλη) στην µνήµη. Ένας πίνακας θα δηλώνεται (στο τµήµα δήλωσης µεταβλητών) µε εντόλη της µορφής: Όπου: Τύπος_∆εδοµένων: Ο τύπος δεδοµένων των µεταβλητών του πίνακα. ΟΝΟΜΑ_ΠΙΝΑΚΑ: Το όνοµα που επιλέγουµε εµείς για τον πίνακα. ΠΛΗΘΟΣ (προσέξτε ότι είναι µέσα σε αγκύλες): Πόσες µεταβλητές θα περιέχει ο πίνακας Τύπος_∆εδοµένων ΟΝΟΜΑ_ΠΙΝΑΚΑ[ΠΛΗΘΟΣ];
  • 4. A. Πίνακες 1. Εισαγωγή στους Πίνακες 1. Μονοδιάστατοι Πίνακες 4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Για παράδειγµα µε την δήλωση: ∆ηλώνουµε έναν πίνακα µε 4 ακέραιες µεταβλητές. Με την εντολή δήλωσης, δεσµεύεται στην µνήµη χώρος για τον πίνακα και είναι σηµαντικό ότι οι θέσεις αυτές είναι σε µια σειρά. Τα ονόµατα των 4µεταβλητών που κατασκευάσαµε είναι: pin[0], pin[1], pin[2], pin[3] Παρατηρούµε ότι η αρίθµηση ξεκινά από το 0 έως και ένα λιγότερο από τον αριθµό που δηλώσαµε. Άρα µετά την εντολή δήλωσης, έχουν δεσµευτεί 4 διαδοχικές (προσοχή!) θέσεις στην µνήµη για να αποθηκεύσουν τιµές σε αυτές τις µεταβλητές: int pin[4]; pin[0] pin[1] pin[2] pin[3] ,
  • 5. A. Πίνακες 1. Εισαγωγή στους Πίνακες 2. Παράδειγµα 5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Μετά τη δήλωση του πίνακα είναι σαν να έχουµε 4 µεταβλητές που µπορούµε να χρησιµοποιήσουµε στο πρόγραµµά µας. ∆είτε για παράδειγµα το εξής απλό πρόγραµµα: Οι µεταβλητές διαχειρίζονται όπως οι τυπικές ακέραιες µεταβλητές /* array.c: Aplo programma me pinaka */ #include <stdio.h> int main() { int pin[3]; int sum; pin[0]=1; pin[1]=3; pin[2]=4; sum=pin[0]+pin[1]+pin[2]; printf("n%d+%d+%d=%d",pin[0],pin[1],pin[2],sum); } • Προσοχή, να µην γράψουµε αριθµό για όριο του πίνακα που είναι εκτός του επιτρεπτού. Π.χ. Αν έχουµε δήλωση int pin[4]; και γράψουµε για όνοµα µεταβλητής pin[5] θα έχουµε σφάλµα όταν θα εκτελέσουµε το πρόγραµµα! • Περισσότερα για τους πίνακες θα δούµε σε επόµενο µάθηµα, όπου θα δούµε και πολυδιάστατους πίνακες (διδιάστατους, τριδιάστατους κ.λπ.) • Εδώ κάνουµε µια απλή αναφορά στους πίνακες για να τους χρησιµοποιήσουµε µε τη δοµή επανάληψης στις ασκήσεις. Πολύ περισσότερα σε επόµενο µάθηµα.
  • 6. B. ∆οµές Επανάληψης 1. Γενικά 6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Η εντολή επανάληψης είναι η σηµαντικότερη δοµή σε ένα πρόγραµµα. ...διότι µας επιτρέπει να εκτελέσουµε ένα τµήµα κώδικα πολλές φορές, το οποίο είναι το κύριο χαρακτηριστικό του προγραµµατισµού. Στη γλώσσα C που µαθαίνουµε, υπάρχουν τρεις τρόποι για να κάνουµε επανάληψη της εκτέλεσης ενός τµήµατος κώδικα: Η εντολή for ( ,; , ; ,) { , } στην οποία ρητά αναφέρουµε πόσες φορές θέλουµε να εκτελεστεί ένα τµήµα κώδικα. Η εντολή while(,) { , } Η εντολή do{,} while(,); Θα αναλύσουµε τους τρεις τρόπους επανάληψης και πότε χρησιµοποιούµε τον καθένα
  • 7. Β. ∆οµές Επανάληψης 2. Η δοµή for 1. Συντακτικό της for 7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Το συντακτικό της εντολής for είναι: ∆είτε ότι αν τρέχουµε µία εντολή τότε δεν είµαστε αναγκασµένοι να χρησιµοποιήσουµε άγκιστρα, αλλιώς αν τρέχουµε παραπάνω από µία εντολή πρέπει να βάλουµε τις εντολές σε άγκιστρα (όπως στην if, ακολουθεί την for ένα µπλοκ κώδικα). Με το παραπάνω συντακτικό γίνονται οι εξής ενέργειες: 1. Τρέχει η αρχική: είναι µια εντολή που τρέχει µία µόνο φορά στην αρχή. Αναφέρεται και σαν εντολή αρχικοποίησης 2. Ελέγχεται η συνθήκη: συνήθως είναι µια σύγκριση τιµών. 2.1 Αν η συνθήκη είναι ψευδής, τότε βγαίνουµε από την for και πάµε στην αµέσως επόµενη εντολή. 2.2. Αλλιώς αν η συνθήκη είναι αληθής, εκτελείται η εντολή αύξηση και µεταβαίνουµε και πάλι στο βήµα 2. for( αρχική; συνθήκη; βήµα) εντολή; for( αρχική; συνθήκη; βήµα) { (εντολές) }
  • 8. Β. ∆οµές Επανάληψης 2. Η δοµή for 2. ∆ιάγραµµα Ροής Προγράµµατος 8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 4: Μάθηµα 5: ∆οµές Επανάληψης Και το διάγραµµα ροής προγράµµατος: [προηγούµενες εντολές] for( αρχική; συνθήκη; βήµα) εντολή; [επόµενες εντολές] [προηγούµενες εντολές] for( αρχική; συνθήκη; βήµα) { (εντολές) } [επόµενες εντολές] συνθήκη (εντολές) ΟΧΙ [προηγούµενες εντολές] [επόµενες εντολές] (αρχική) βήµα ΝΑΙ
  • 9. Β. ∆οµές Επανάληψης 2. Η δοµή for 3. Παραδείγµατα Εκτέλεσης 9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Παράδειγµα 1: Τι κάνει το ακόλουθο τµήµα κώδικα; Απάντηση: Εκτελείται η εντολή i=1. Ελέγχεται αν i<=5. Είναι αληθές (1<=5), άρα τυπώνεται «Καληµέρα» και εκτελείται η αύξηση i++, άρα το i γίνεται 2. Ελέγχεται αν i<=5. Είναι αληθές (2<=5), άρα τυπώνεται «Καληµέρα» και εκτελείται η αύξηση i++, άρα το i γίνεται 3. Ελέγχεται αν i<=5. Είναι αληθές (3<=5), άρα τυπώνεται «Καληµέρα» και εκτελείται η αύξηση i++, άρα το i γίνεται 4. Ελέγχεται αν i<=5. Είναι αληθές (4<=5), άρα τυπώνεται «Καληµέρα» και εκτελείται η αύξηση i++, άρα το i γίνεται 5. Ελέγχεται αν i<=5. Είναι αληθές (5<=5), άρα τυπώνεται «Καληµέρα» και εκτελείται η αύξηση i++, άρα το i γίνεται 6. Ελέγχεται αν i<=5. Είναι ψευδές (6<=5), άρα µεταβαίνουµε στην αµέσως επόµενη εντολή µετά την for. Άρα το τµήµα κώδικα τυπώνει 5 φορές στην οθόνη τη λέξη ΚΑΛΗΜΕΡΑ for (i=1; i<=5; i++) printf("nKalimera");
  • 10. Β. ∆οµές Επανάληψης 2. Η δοµή for 3. Παραδείγµατα Εκτέλεσης 10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Συνήθως στις εφαρµογές χρησιµοποιείται η τιµή της µεταβλητής που τροποποιείται στην αύξηση. Είναι σηµαντικό ότι σε κάθε επανάληψη η τιµή της µεταβλητής είναι διαφορετική Παράδειγµα 2: Τι κάνει το ακόλουθο τµήµα κώδικα; Απάντηση: Εκτελείται η εντολή i=1. Ελέγχεται αν i<=3. Είναι αληθές (1<=3), άρα τυπώνεται «1» και εκτελείται η αύξηση i++, άρα το i γίνεται 2. Ελέγχεται αν i<=3. Είναι αληθές (2<=3), άρα τυπώνεται «2» και εκτελείται η αύξηση i++, άρα το i γίνεται 3. Ελέγχεται αν i<=3. Είναι αληθές (3<=3), άρα τυπώνεται «3» και εκτελείται η αύξηση i++, άρα το i γίνεται 4. Ελέγχεται αν i<=3. Είναι ψευδές (4<=3), άρα µεταβαίνουµε στην αµέσως επόµενη εντολή µετά την for. Και το πρόγραµµα τερµατίζει for (i=1; i<=3; i++) printf("n%d“,i); Συνήθως στις εφαρµογές χρησιµοποιείται η τιµή της µεταβλητής που τροποποιείται στην αύξηση. Είναι σηµαντικό ότι σε κάθε επανάληψη η τιµή της µεταβλητής είναι διαφορετική
  • 11. Β. ∆οµές Επανάληψης 2. Η δοµή for 3. Παραδείγµατα Εκτέλεσης 11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Παράδειγµα 3: Τι κάνει το ακόλουθο τµήµα κώδικα (οι j,x είναι ακέραιες µεταβλητες); Απάντηση: Οι εντολές που περικλείονται ανάµεσα στα άγκιστρα εκτελούνται για τις διαδοχικές τιµές της µεταβλητής. Άρα: Εκτελείται η εντολή j=0. Ελέγχεται αν j<2. Είναι αληθές (0<2), άρα υπολογίζεται x=0*0-1=-1 άρα τυπώνεται «-1» και εκτελείται η αύξηση j++, άρα το j γίνεται 1. Ελέγχεται αν j<2. Είναι αληθές (1<2), άρα υπολογίζεται x=1*1-1=0 άρα τυπώνεται «0» και εκτελείται η αύξηση j++, άρα το j γίνεται 2. Ελέγχεται αν j<2. Είναι ψευδές (2<2), άρα µεταβαίνουµε στην επόµενη εντολή µετά τη for. for (j=0; j<2; j++) { x=j*j-1; printf("n%d",x); } Συνήθως, χρησιµοποιώντας την τιµή της µεταβλητής κάνουµε ακόµη και περίπλοκους υπολογισµούς.
  • 12. Β. ∆οµές Επανάληψης 2. Η δοµή for 3. Παραδείγµατα Εκτέλεσης 12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Παράδειγµα 4: Τι κάνει το ακόλουθο τµήµα κώδικα (οι j,x είναι ακέραιες µεταβλητές); Απάντηση: Οι εντολές που περικλείονται ανάµεσα στα άγκιστρα εκτελούνται για τις διαδοχικές τιµές της µεταβλητής. Άρα: Εκτελείται η εντολή j=2. Ελέγχεται αν j>=0. Είναι αληθές (2>=0), άρα υπολογίζεται x=2*2-1=3 άρα τυπώνεται «3» και εκτελείται η µείωση j--, άρα το j γίνεται 1. Ελέγχεται αν j>=0. Είναι αληθές (1>=0), άρα υπολογίζεται x=1*1-1=0 άρα τυπώνεται «0» και εκτελείται η µείωση j--, άρα το j γίνεται 0. Ελέγχεται αν j>=0. Είναι αληθές (0>=0), άρα υπολογίζεται x=0*0-1=0 άρα τυπώνεται «-1» και εκτελείται η µείωση j--, άρα το j γίνεται -1. Ελέγχεται αν j>=0. Είναι ψευδές (-1>=0), άρα µεταβαίνουµε στην επόµενη εντολή µετά τη for. for (j=2; j>=0; j--) { x=j*j-1; printf("n%d",x); } Ας δούµε και ένα παράδειγµα που η µεταβλητή µειώνεται αντί να αυξάνεται.
  • 13. Β. ∆οµές Επανάληψης 2. Η δοµή for 3. Παραδείγµατα Εκτέλεσης 13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Παράδειγµα 5: Τι κάνει το ακόλουθο τµήµα κώδικα (η i είναι ακέραια µεταβλητή); Απάντηση: Εκτελείται η εντολή i=0. Ελέγχεται αν i<=6. Είναι αληθές (0<=6), υπολογίζεται 0*0=0 τυπώνεται «0» και εκτελείται η αύξηση i+=2, άρα το i γίνεται 2. Ελέγχεται αν i<=6. Είναι αληθές (2<=6), υπολογίζεται 2*2=4 τυπώνεται «4» και εκτελείται η αύξηση i+=2, άρα το i γίνεται 4. Ελέγχεται αν i<=6. Είναι αληθές (4<=6), υπολογίζεται 4*4=16 τυπώνεται «16» και εκτελείται η αύξηση i+=2, άρα το i γίνεται 16. Ελέγχεται αν i<=6. Είναι αληθές (6<=6), υπολογίζεται 6*6=36 τυπώνεται «36» και εκτελείται η αύξηση i+=2, άρα το i γίνεται 8. Ελέγχεται αν i<=6. Είναι ψευδές (8<=6), άρα µεταβαίνουµε στην επόµενη εντολή µετά τη for. for (i=0; i<=6; i+=2) printf("n%d",i*i); Μπορούµε να έχουµε και οποιοδήποτε βήµα αύξησης επιθυµούµε µε το κατάλληλο συντακτικό.
  • 14. Β. ∆οµές Επανάληψης 2. Η δοµή for 3. Παραδείγµατα Εκτέλεσης 14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Αν και ο συνηθισµένος τρόπος χρήσης της for, είναι κάποιος από αυτούς που είδαµε, έχουµε επιπλέον δικαίωµατα: Να βάλουµε παραπάνω απο µία αρχικές εντολές (χωρισµένες µε κόµµα) Να βάλουµε παραπάνω από µια εντολές αύξησης (χωρισµένες µε κόµµα) Να έχουµε πιο σύνθετες συνθήκες (π.χ. και µε λογικό έλεγχο.) Εκτελέστε το παρακάτω πρόγραµµα: /* complex_for.c: Deixnei to olokliromeno sintaktiko tis for */ #include <stdio.h> main() { int i,j; for (i=0,j=0; i<5 && j<5; i++,j+=2) printf("ni=%d,j=%d: ",i,j); }
  • 15. Β. ∆οµές Επανάληψης 3. Η δοµή do..while 1. Συντακτικό της do..while 15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Το συντακτικό της εντολής do`while (επανέλαβε`όσο) είναι: Με την παρατήρηση ότι εδώ δεν µπορούµε να παραλείψουµε τα άγκιστρα!. Με το παραπάνω συντακτικό γίνονται οι εξής ενέργειες: 1. Εκτελούνται οι εντολές 2. Ελέγχεται η συνθήκη: (την οποία έχουµε συντάξει µε λογικούς και σχεσιακούς τελεστές) 2.1 Αν η απάντηση είναι ΑΛΗΘΗΣ (ισχύει η συνθήκη), τότε ξαναρχίζουµε από την αρχή (πρώτη εντολή µετά από το do) 2.2 Αν η απάντηση είναι ΨΕΥ∆ΗΣ (δεν ισχύει η συνθήκη), τότε βγαίνουµε από την επανάληψη και τρέχουµε την αµέσως επόµενη εντολή µετά τη while. do { (Εντολές) } while (Συνθήκη);
  • 16. Β. ∆οµές Επανάληψης 3. Η δοµή do..while 2. ∆ιάγραµµα Ροής Προγράµµατος 16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Και το διάγραµµα ροής προγράµµατος: Παρατηρήστε ότι η συνθήκη ελέγχεται αφού έχουν εκτελεστεί οι εντολές συνθήκη (εντολές) ΟΧΙ [προηγούµενες εντολές] [επόµενες εντολές] ΝΑΙ [προηγούµενες εντολές] do { (Εντολές) } while (Συνθήκη); [επόµενες εντολές]
  • 17. Β. ∆οµές Επανάληψης 3. Η δοµή do`while 3. Παραδείγµατα Εκτέλεσης 17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Παράδειγµα 1: Τι κάνει το ακόλουθο τµήµα κώδικα (η i είναι ακέραια µεταβλητή); Αρχικά i=0 Γίνεται επανάληψη: Τίθεται i=0+1=1 και τυπώνεται «1» Γίνεται έλεγχος συνθήκης. 1<3 είναι ΑΛΗΘΗΣ, άρα θα επαναλαβουµε Γίνεται επανάληψη: Τίθεται i=1+1=2 και τυπώνεται «2» Γίνεται έλεγχος συνθήκης. 2<3 είναι ΑΛΗΘΗΣ, άρα θα επαναλαβουµε Γίνεται επανάληψη: Τίθεται i=2+1=3 και τυπώνεται «3» Γίνεται έλεγχος συνθήκης. 3<3 είναι ΨΕΥ∆ΗΣ, άρα δεν θα επαναλαβουµε και πηγαίνουµε στην επόµενη εντολή του κώδικα. i=0; do{ i=i+1; printf("n%d",i); } while(i<3); Μπορούµε να χρησιµοποιήσουµε την do..while µε αντίστοιχο τρόπο µε την for.
  • 18. Β. ∆οµές Επανάληψης 3. Η δοµή do`while 3. Παραδείγµατα Εκτέλεσης 18∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Παράδειγµα 2: Τι κάνει το ακόλουθο τµήµα κώδικα (η i είναι ακέραια µεταβλητή); Αρχικά i=5 Γίνεται επανάληψη: Τίθεται i=5+1=6 και εκτυπώνεται «6» Γίνεται έλεγχος συνθήκης. 6>3 είναι ΑΛΗΘΗΣ, άρα θα επαναλαβουµε Γίνεται επανάληψη: Τίθεται i=6+1=7 και εκτυπώνεται «7» Γίνεται έλεγχος συνθήκης. 7>3 είναι ΑΛΗΘΗΣ, άρα θα επαναλαβουµε.... ..... Θα τερµατίσει ποτέ το πρόγραµµα? Η απάντηση είναι ΟΧΙ! Σε κάθε επανάληψη το i θα αυξάνεται, άρα ποτέ δεν θα γίνει <= 3! i=5; do{ i=i+1; printf("n%d",i); } while(i>3); Και εδώ θα κάνουµε ένα από τα πιο συχνά λάθη! Θα πέσουµε σε ατέρµονα βρόχο! Ατέρµων βρόχος (infinite loop) είναι µία (επανάληψη που δεν ολοκληρώνεται ποτέ) Αποτελεί από τα συχνότερα προγραµµατιστικά λάθη!
  • 19. Β. ∆οµές Επανάληψης 3. Η δοµή do`while 3. Παραδείγµατα Εκτέλεσης 19∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Σχηµατικά: i=0; <- Εντολή Αρχικοποίησης (την γράφουµε εµείς) do{ (εντολή ή εντολές) i=i+1; <- Εντολή αύξησης µεταβλητής (την γράφουµε εµείς) } while (i<=3); <- Συνθήκη Παρατήρηση: Η σύνταξη της δοµής είναι αρκετά απλή, αλλά θα πρέπει εµείς, ως προγραµµατιστές να συντάξουµε σωστά τις υπόλοιπες εντολές. Συγκεκριµένα: Πρέπει να αρχικοποιήσουµε σωστά την µεταβλητή που θα έχουµε στην εντολή συνθήκης. Έτσι πριν την do θα πρέπει να αρχικοποιήσουµε την µεταβλητή που θα χρησιµοποιήσουµε (εντολή αρχικοποίησης) Πρέπει η µεταβλητή που έχουµε στην εντολή αρχικοποίησης να επηρεάζεται στο σώµα της επανάληψης (εντολή αύξησης µεταβλητής)
  • 20. Β. ∆οµές Επανάληψης 3. Η δοµή do`while 4. Αµυντικός Προγραµµατισµός 20∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Στην επόµενη διαφάνεια φαίνεται πως θα κάνουµε αµυντικό προγραµµατισµό για να διαβάσουµε έναν αριθµό από 1 εώς 100. Αν ξέρουµε πόσες φορές θέλουµε να τρέξει η επανάληψη, είναι προτιµότερο να χρησιµοποιήσουµε for, γιατί στο συντακτικό της γράφουµε τις εντολές αρχικοποιήσης και αύξησης, και έτσι ελαχιστοποιείται η πιθανότητα λάθους. Ωστόσο η δοµή do..while είναι πολύ χρήσιµη όταν θέλουµε να διαβάσουµε µεταβλητές που να έχουν συγκεκριµένες τιµές. Π.χ. Αν θέλουµε να διαβάσουµε έναν ακέραιο µεταξύ 1 και 100 και πρέπει να αποφύγουµε ο χρήστης να εισάγει µία λανθασµένη τιµή τότε εφαρµόζουµε αµυντικό προγραµατισµό και κάνουµε έλεγχο αν η τιµή που εισήγαγε ο χρήστης είναι σωστή. Έτσι τον αναγκάζουµε να επαναπληκτρολογήσει µέχρι να βάλει την σωστή τιµή. Ο αµυντικός προγραµµατισµός είναι καλή προγραµµατιστική τακτική σε προγράµµατα που ζητάµε είσοδο από τον χρήστη.
  • 21. Β. ∆οµές Επανάληψης 3. Η δοµή do`while 4. Αµυντικός Προγραµµατισµός 21∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης /* defensive.c: Amintikos Programmatismos gia to diavasma enos akeraioy */ #include <stdio.h> main() { int i; do { printf("Dwste enan akeraio apo 1 ews 100: "); scanf("%d",&i); } while (i<1 || i>100); printf("Eisagate arithmo mesa sta oria 1 ews 100: %d",i); }
  • 22. Β. ∆οµές Επανάληψης 4. Η δοµή while 1. Συντακτικό της while 22∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Το συντακτικό της δοµής while (επανέλαβε) είναι ίδια µε την do..while µε την µόνη διαφορά ότι ο έλεγχος γίνεται στην αρχή της επανάληψης και όχι στο τέλος της επανάληψης : Και εδώ αν έχουµε µόνο µία εντολή µπορούµε να παραλείψουµε τα άγκιστρα! Με το παραπάνω συντακτικό γίνονται οι εξής ενέργειες: 1. Ελέγχεται η συνθήκη: (την οποία έχουµε συντάξει µε λογικούς και σχεσιακούς τελεστές) 1.1 Αν η απάντηση είναι ΑΛΗΘΗΣ (ισχύει η συνθήκη), τότε ξαναρχίζουµε από την αρχή (πρώτη εντολή µετά από το do) 1.2 Αν η απάντηση είναι ΨΕΥ∆ΗΣ (δεν ισχύει η συνθήκη), τότε βγαίνουµε από την επανάληψη και τρέχουµε την αµέσως επόµενη εντολή µετά τη while. while(Συνθήκη) { (Εντολή ή Εντολές) }
  • 23. Β. ∆οµές Επανάληψης 4. Η δοµή while 2. ∆ιάγραµµα Ροής Προγράµµατος 23∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Και το διάγραµµα ροής προγράµµατος: Παρατηρήστε ότι η συνθήκη ελέγχεται πριν εκτελεστούν οι εντολές συνθήκη (εντολές) ΟΧΙ [προηγούµενες εντολές] [επόµενες εντολές] ΝΑΙ [προηγούµενες εντολές] while(Συνθήκη) { (Εντολές) } [επόµενες εντολές]
  • 24. Β. ∆οµές Επανάληψης 4. Η δοµή while 3. Παραδείγµατα Εκτέλεσης 24∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Παράδειγµα 1: Τι κάνει το ακόλουθο τµήµα κώδικα (οι k,l είναι ακέραιες µεταβλητές); Απάντηση: Αρχικοποιείται το k µε 5 Γίνεται ο έλεγχος συνθήκης (5<8). Είναι ΑΛΗΘΕΣ, άρα γίνονται τα βηµατα l=2*5+1=11 και k=5+1=6. Τυπώνεται «11». Γίνεται ο έλεγχος συνθήκης (6<8). Είναι ΑΛΗΘΕΣ, άρα γίνονται τα βηµατα l=2*6+1=13 και k=6+1=7. Τυπώνεται «13». Γίνεται ο έλεγχος συνθήκης (7<8). Είναι ΑΛΗΘΕΣ, άρα γίνονται τα βηµατα l=2*7+1=15 και k=7+1=8. Τυπώνεται «15». Γίνεται ο έλεγχος συνθήκης (8<8). Είναι ΨΕΥ∆ΕΣ, άρα τερµατίζει η επανάληψη. k=5; while(k<8) { l=2*k+1; k=k+1; printf("%d",l); } Ένα πρώτο παράδειγµα, για την αντιστοιχία µε τις άλλες δοµές επανάληψης
  • 25. Β. ∆οµές Επανάληψης 5. Συµπεράσµατα 1. Προτεινόµενη Χρήση των ∆οµών Επανάληψης 25∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Βλέπουµε ότι και οι 3 εντολές επανάληψης µε παρόµοιο τρόπο κάνουν τις ίδιες ενέργειες. Η πιο συνηθισµένη δοµή είναι η for και την χρησιµοποιούµε όταν ξέρουµε ποιες τιµές θα πάρει η µεταβλητή. Αν δεν ξέρουµε ακριβώς ποιες τιµές θα πάρει ή µεταβλητή ή πόσες φορές πρέπει να γίνει η επανάληψη, τότε χρησιµοποιούµε την δοµή while. Η δοµή do,while χρησιµοποιείται πιο σπάνια, κυρίως για αµυντικό προγραµµατισµό σε διάβασµα µεταβλητών.
  • 26. Β. ∆οµές Επανάληψης 5. Συµπεράσµατα 2. Προσοµοίωση της for από την while και την do..while 26∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Ενδιαφέρον επίσης έχει ότι η εντολή for µπορεί να προσοµοιωθεί από τις άλλες δύο ως ακολούθως: Με εντολή while Με εντολή do`while for (i=1; i<=10; i++) { (Εντολή ή εντολές) } i=1; while(i<=10) { (Εντολή ή εντολές) i=i+1; } i=1; do{ (Εντολή ή εντολές) i=i+1 }while(I<=10);
  • 27. Γ. Ασκήσεις Εφαρµογή 1 (Άθροισµα και Γινόµενο Αριθµών) 27∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης (α)Τι κάνει το ακόλουθο πρόγραµµα; (β) Πως µπορούµε να τροποποιήσουµε το πρόγραµµά µας, έτσι ώστε να προστίθενται 10 αριθµοί αντί για 3. (γ) Γράψτε το πρόγραµµα ask1_ginomeno.c που θα υπολογίζει το γινόµενο των 3 αριθµών που διαβάζει από την είσοδο. /* ask1.c */ #include <stdio.h> main() { int i,sum,x; sum=0; for(i=1; i<=3; i++) { printf("nEisagete ton %d-o arithmo: ",i); scanf("%d",&x); sum=sum+x; } printf("nn%d",sum); }
  • 28. Γ. Ασκήσεις Εφαρµογή 2 (Εµφωλιασµένοι Βρόχοι) 28∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Μεταγλωττίστε, εκτελέστε και µελετήστε το παρακάτω πρόγραµµα: /* ask2.c */ #include <stdio.h> main() { int i,j; for(i=1; i<=4; i++) { for (j=1; j<=4; j++) { printf("n%d+%d=%d",i,j,i+j); } } } Σηµείωση: Επειδή έχουµε επανάληψη µέσα στην επανάληψη, η παραπάνω δοµή χαρακτηρίζεται προγραµµατιστικά «εµφωλιασµένοι βρόχοι» (nested loops)
  • 29. Γ. Ασκήσεις Εφαρµογή 3 (Εµφωλιασµένοι Βρόχοι) 29∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης (α) Χωρίς να εκτελέσετε το πρόγραµµα, υπολογίστε πόσα X θα εκτυπώσει το ακόλουθο πρόγραµµα και µε ποια µορφή; (β) Εκτελέστε το πρόγραµµα και τροποποιήστε κατά βούληση το παραλληλόγραµµο που εκτυπώνεται. (γ) Μετατρέψτε το πρόγραµµα σε ένα ισοδύναµο που χρησιµοποιεί την εντολή while, αντί για την εντολή for. /* ask3.c */ #include <stdio.h> main() { int M,N; int i,j; M=10; N=20; for(i=0; i<=M; i++) { for (j=0; j<=N; j++) { printf("X"); } printf("n"); } }
  • 30. Γ. Ασκήσεις Εφαρµογή 4 (Εµφωλιασµένοι Βρόχοι) 30∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης (α) Χωρίς να εκτελέσετε το πρόγραµµα, υπολογίστε πόσα X θα εκτυπώσει το ακόλουθο προγραµµα και µε ποια µορφή; (β) Εκτελέστε το πρόγραµµα και τροποποιήστε κατά βούληση το “τρίγωνο” που εκτυπώνεται. (γ) Μετατρέψτε το πρόγραµµα σε ένα ισοδύναµο που χρησιµοποιεί την εντολή do`while, αντί για την εντολή for. /* ask4.c */ #include <stdio.h> main() { int N; int i,j; N=10; for(i=0; i<=N; i++) { for (j=i; j<=N; j++) { printf("X"); } printf("n"); } }
  • 31. Γ. Ασκήσεις Εφαρµογή 5 (Άθροισµα Αριθµών µε Πίνακα) 31∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Κατασκευάστε πρόγραµµα που: Προτρέπει τον χρήστη να εισάγει 10 ακέραιους αριθµούς και τους αποθηκεύει σε έναν µονοδιάστατο πίνακα 10 θέσεων. Έπειτα υπολογίζει το άθροισµα τους και το τυπώνει στην οθόνη.
  • 32. Γ. Ασκήσεις Εφαρµογή 6 (Γινόµενο Αριθµών µε Πίνακα) 32∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Κατασκευάστε πρόγραµµα που: Προτρέπει τον χρήστη να εισάγει 5 άκεραιους αριθµούς και τους αποθηκεύει σε έναν µονοδιάστατο πίνακα 5 θέσεων. Επίσης να εφαρµόζεται αµυντικός προγραµµατισµός, έτσι ώστε κάθε ακέραιος που εισάγει ο χρήστης να έχει τιµή από 1 εώς 8. Έπειτα υπολογίζει το γινόµενό τους και το τυπώνει στην οθόνη.
  • 33. Γ. Ασκήσεις Εφαρµογή 7 (Ελάχιστος από Ν αριθµούς) 33∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Κατασκευάστε πρόγραµµα που: Προτρέπει τον χρήστη να εισάγει έναν αριθµό Ν. Ο αριθµός Ν να είναι µεταξύ 1 και 20 µε εφαρµογή αµυντικού προγραµµατισµού. Έπειτα να διαβάζει από την είσοδο και να εισάγει Ν αριθµούς σε έναν µονοδιάστατο πίνακα. Τέλος, να βρίσκει και να τυπώνει τον ελάχιστο από τους Ν αριθµούς. Υπόδειξη: Όταν δεν ξέρουµε εκ των προτέρων το µέγεθος του πίνακα που θα χρησιµοποιήσουµε, δεσµεύουµε προκαταβολικά τον µέγιστο χώρο που µπορεί το πρόγραµµα να χρησιµοποιήσει. Για παράδειγµα σε αυτήν την άσκηση, θα πρέπει να κατασκευάσετε έναν πίνακα 20 θέσεων, παρόλο που το πρόγραµµα θα χρησιµοποιήσει τόσες θέσεις, όσο το Ν που θα εισάγει ο χρήστης. Σε επόµενο µάθηµα θα µάθουµε πως δεσµεύεται ο χώρος στην µνήµη δυναµικά. ∆ηλαδή κατά τον χρόνο εκτέλεσης να δεσµεύεται ο χώρος µνήµης που απαιτείται.
  • 34. Γ. Ασκήσεις Εφαρµογή 8 (Μέσος όρος Ν αριθµών) 34∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 5: ∆οµές Επανάληψης Κατασκευάστε πρόγραµµα που: Προτρέπει τον χρήστη να εισάγει έναν αριθµό Ν. Ο αριθµός Ν να είναι µεταξύ 1 και 20 µε εφαρµογή αµυντικού προγραµµατισµού. Έπειτα να διαβάζει από την είσοδο και να εισάγει Ν αριθµούς σε έναν µονοδιάστατο πίνακα. Τέλος, να βρίσκει και να τυπώνει τον µέσο όρο των Ν αριθµών. Υπόδειξη: Όταν δεν ξέρουµε εκ των προτέρων το µέγεθος του πίνακα που θα χρησιµοποιήσουµε, δεσµεύουµε προκαταβολικά τον µέγιστο χώρο που µπορεί το πρόγραµµα να χρησιµοποιήσει. Για παράδειγµα σε αυτήν την άσκηση, θα πρέπει να κατασκευάσετε έναν πίνακα 20 θέσεων, παρόλο που το πρόγραµµα θα χρησιµοποιήσει τόσες θέσεις, όσο το Ν που θα εισάγει ο χρήστης. Σε επόµενο µάθηµα θα µάθουµε πως δεσµεύεται ο χώρος στην µνήµη δυναµικά. ∆ηλαδή κατά τον χρόνο εκτέλεσης να δεσµεύεται ο χώρος µνήµης που απαιτείται.