Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεTheodora Anania Τροποποιήθηκε πριν 9 χρόνια
1
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) http://www.corelab.ece.ntua.gr/courses/programming/ 1Νίκος ΠαπασπύρουΕισαγωγή στον Προγραμματισμό Διαφάνειες παρουσίασης #3 Λογικά διαγράμματα ροής Σύνθετη εντολή Δομές ελέγχου: if, case, for, while, repeat
2
2Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Δομές ελέγχου u Τροποποιούν τη σειρά εκτέλεσης των εντολών του προγράμματος u Οι εντολές φυσιολογικά εκτελούνται κατά σειρά από την αρχή μέχρι το τέλος u Με τις δομές ελέγχου επιτυγχάνεται: l ομαδοποίηση εντολών l εκτέλεση εντολών υπό συνθήκη l επανάληψη εντολών
3
3Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Λογικά διαγράμματα(i) u Αρχή και τέλος u Ολόκληρες λειτουργίες ή διαδικασίες u Απλές εντολές u Έλεγχος συνθήκης
4
4Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Λογικά διαγράμματα(ii) u Λειτουργία εισόδου/εξόδου u Επανάληψη (βρόχος)
5
5Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Σύνθετη εντολή(i) u Ομαδοποίηση πολλών εντολών σε μία u Χρήσιμη σε συνδυσμό με άλλες δομές u Συντακτικό διάγραμμα
6
6Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Σύνθετη εντολή(ii) u Παραδείγματα begin x:= 2; y:=3; z:=3; writeln(x, y, z) end begin x:= 2; y:=3; begin z:=3; write(x, y, z) end; writeln end
7
7Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή if(i) u Εκτέλεση εντολών υπό συνθήκη u Συντακτικό διάγραμμα
8
8Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή if(ii) u Παραδείγματα if x>10 then x:=x+1 if age<10 then write('παιδί') if (year>1900) and (year<=2000) then write('20ός αιώνας') if (year mod 4 = 0) and (year mod 100 <> 0) or (year mod 400 = 0) and (year mod 4000 <> 0) then write('δίσεκτο έτος')
9
9Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή if(iii) u Παραδείγματα (συνέχεια) if changed then begin writeln('Το αρχείο άλλαξε'); changed := false end if x mod 2 = 0 then write('άρτιος') else write('περιττός') if mine then begin me:=1; you:=0 end else begin me:=0; you:=1 end if x > y then write('μεγαλύτερο') else if x < y then write('μικρότερο') else write('ίσο')
10
10Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή if(iv) Ένα else αντιστοιχεί στο πλησιέστερο προηγούμενο if που δεν έχει ήδη αντιστοιχιστεί σε άλλο else u Παράδειγμα if x>0 then if y>0 then write('πρώτο τεταρτημόριο') else if y<0 then write('τέταρτο τεταρτημόριο') else write('άξονας των x')
11
11Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή case(i) u Εκτέλεση υπό συνθήκη για πολλές διαφορετικές περιπτώσεις u Προσφέρεται π.χ. αντί του: if month=1 then write('Ιανουάριος') else if month=2 then write('Φεβρουάριος') else if month=3 then write('Μάρτιος') else if...... else if month=12 then write('Δεκέμβριος')
12
12Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή case(ii) u Συντακτικό διάγραμμα
13
13Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή case(iii) u Παραδείγματα case month of 1: write('Ιανουάριος'); 2: write('Φεβρουάριος'); 3: write('Μάρτιος');... 12: write('Δεκέμβριος') end (* case *) case month of 1,3,5,7,8,10,12 : write('31 μέρες'); 4,6,9,11 : write('30 μέρες'); 2 : write('28 ή 29') end (* case *)
14
14Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή for(i) u Βρόχος με σταθερό αριθμό επαναλήψεων u Συντακτικό διάγραμμα
15
15Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή for(ii) u Παραδείγματα for i:=1 to 10 do writeln(i) for i:=10 downto 1 do writeln(i) for i:=41 downto -3 do write('*') f:=1; for i:=1 to 15 do f:=f*i
16
16Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή for(iii) u Παραδείγματα (συνέχεια) for i:=1 to 5 do begin for j:=1 to 10 do write('*'); writeln end ********** ** **** ****** ******** ********** for i:=1 to 5 do begin for j:=1 to 2*i do write('*'); writeln end
17
17Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή for(iv) u Ειδικές περιπτώσεις για τα όρια: for i:=10 to 10 do... (* μία φορά *) for i:=12 to 10 do... (* καμία φορά *) u Η μεταβλητή ελέγχου δεν είναι ορισμένη μετά το τέλος του βρόχου u Η μεταβλητή ελέγχου δεν μπορεί να μεταβληθεί (π.χ. με ανάθεση) μέσα στο σώμα του βρόχου u Τα όρια υπολογίζονται μια φορά στην αρχή
18
18Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή while(i) u Βρόχος όσο ικανοποιείται μια συνθήκη u Συντακτικό διάγραμμα u Παραδείγματα while x>15 do k:=k+2 while state and (x>15) do begin x:=x-5; write(x) end
19
19Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή while(ii) u Διάγραμμα ροής while συνθήκη do σώμα
20
20Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή while(iii) u Ο αριθμός επαναλήψεων γενικά δεν είναι γνωστός εκ των προτέρων u Αν η συνθήκη είναι αρχικά ψευδής, ο βρόχος τερματίζεται χωρίς να εκτελεστεί το σώμα
21
21Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή repeat(i) u Βρόχος μέχρι να ικανοποιηθεί μια συνθήκη u Συντακτικό διάγραμμα u Παράδειγμα x:=1; repeat writeln(x); x:=2*x until x>=500
22
22Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή repeat(ii) u Διάγραμμα ροής
23
23Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή repeat(iii) u Ο έλεγχος της συνθήκης γίνεται στο τέλος κάθε επανάληψης (και όχι στην αρχή) u Το σώμα του βρόχου εκτελείται τουλάχιστον μία φορά u Ο αριθμός επαναλήψεων γενικά δεν είναι γνωστός εκ των προτέρων
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.