ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Σχετικά έγγραφα
Εισαγωγή στον Προγραμματισμό

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

Εισαγωγή στον δομημένο προγραμματισμό

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος lantzos@teiser.gr

Εισαγωγή στον Προγραμματισμό

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομές ελέγχου ροής προγράμματος

Προγραμματισμός Ι. Θεματική ενότητα 4: Έλεγχος ροής Προτάσεις υπό συνθήκη διακλάδωσης

Η γλώσσα προγραμματισμού C

Δομημένος Προγραμματισμός

Υπολογισμός - Εντολές Επανάληψης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

Προγραμματισμός Η/Υ (ΤΛ2007 )

Διάλεξη 5η: Εντολές Επανάληψης

Κεφάλαιο : Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Κεφάλαιο : Επαναλήψεις (for, do-while)

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 4

Υπολογισμός - Εντολές Ελέγχου

Η γλώσσα προγραμματισμού C

Προγραμματισμός Η/Υ (ΤΛ2007 )

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3

Εργαστήριο 5. Εντολή if και παραλλαγές: if-else, πολλαπλές if, πολλαπλές if-else. Απλές και σύνθετες εντολές. Εντολή switch.

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Η γλώσσα προγραμματισμού C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Η γλώσσα προγραμματισμού C

ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Δομές ελέγχου & επανάληψης

Αρχές Προγραμματισμού

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Προγραμματισμός Ι. Θεματική ενότητα 8: Δημιουργία προγραμμάτων

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Προγραμματισμός Ι (HY120)

8. Συνθήκες ελέγχου, λογικοί τελεστές

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

Δομές Ελέγχου και Επανάληψης

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

ιαφάνειες παρουσίασης #3

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

10. Εντολές επανάληψηςκαι οι εντολές

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής

ΗΥ-150. Προγραμματισμός

for for for for( . */

Δομημένος Προγραμματισμός (ΤΛ1006)

Προγραμματισμό για ΗΜΥ

Εισαγωγή στον Προγραμματισμό (με. τη C)

Μεθόδων Επίλυσης Προβλημάτων

Δομημένος Προγραμματισμός

Θέματα Προγραμματισμού Η/Υ

Ενδεικτική περιγραφή μαθήματος

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Προγραμματισμός Ι (ΗΥ120)

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 5 ο Μέρος 5 ο Μέρος Εντολές Επανάληψης: FOR - WHILE. Περιγραφή

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

3. Εκφράσεις και έλεγχος ροής

Ηλεκτρονικοί Υπολογιστές

Διαδικασιακός Προγραμματισμός

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

Οντοκεντρικός Προγραμματισμός

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Μεθόδων Επίλυσης Προβλημάτων

ΗΥ-150. Προγραμματισμός

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C»

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Αντικειμενοστραφής Προγραμματισμός

Προγραμματισμός I (Θ)

Προγραμματισμός Ι. Προτάσεις επανάληψης βρόχοι

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Προγραμματισμός Ι (ΗΥ120)

Transcript:

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Έλεγχος ροής Δομή επιλογής (if, switch) Δομές επανάληψης (while, do-while, for) Διακλάδωση χωρίς συνθήκη (break, continue, goto) CEID - Προγραμματισμός σε ANSI C 2

Αλγοριθμικές δομές - ακολουθία - επιλογή ΕΛΕΓΧΟΣ ΡΟΗΣ Ακολουθία - επανάληψη Π1 Π2 Π3 CEID - Προγραμματισμός σε ANSI C 3

Δομή Επιλογής (1) Απλή Περιορισμένη Ε Ε Π1 Π2 Π1 If E then Π1 else Π2 If E then Π1 CEID - Προγραμματισμός σε ANSI C 4

Δομή Επιλογής (2) Ε If E1 then Π1 else if E2 then Π2 else Π3 Π1 Π2 Ε2 Π3 CEID - Προγραμματισμός σε ANSI C 5

Δομή Επιλογής (3) Πολλαπλή Ε Π1 Π2 Π3... Πv CEID - Προγραμματισμός σε ANSI C 6

Επιλογή στη C-if If (<έκφραση>) <πρόταση1> [else <πρόταση2>] απλή ή σύνθετη If (<έκφραση>) <πρόταση1> else if (<έκφραση2>) <πρόταση2> else if (<έκφραση3>) <πρόταση3> else <πρόταση4> Εμφωλευμένο If CEID - Προγραμματισμός σε ANSI C 7

Παράδειγμα #include <stdio.h> main ( ) { float num; printf( Δώσε αριθμό: ); scanf( %f, &num); If (num < 0) printf( Η απόλυτη τιμή του %f είναι: %f\n, num, -num); else printf( Η απόλυτη τιμή του %f είναι: %f\n, num, num); printf( Η απόλυτη τιμή του %f είναι: %f\n, num, (num<0)?-num:num); CEID - Προγραμματισμός σε ANSI C 8

Επιλογή στη C-switch (1) switch (<έκφραση>) { case <σταθ-εκφρ1>: <προτ1> case <σταθ-εκφρ2>: <προτ2> case <σταθ-εκφρv> : <προτv> default: <πρόταση> CEID - Προγραμματισμός σε ANSI C 9

Επιλογή στη C-switch (2) Κανόνες Κάθε <σταθ-έκφρi> πρέπει να είναι μία τιμή int ή char ή μία έκφραση μόνο με τέτοιες τιμές Δύο <σταθ-εκφρi> δεν μπορεί να έχουν την ίδια τιμή Αν <έκφραση>=<σταθ-εκφρx> τότε εκτελούνται όλες οι παρακάτω της x προτάσεις (χρήση break) H <πρόταση> εκτελείται μόνο όταν καμμιά από τις <πρότi> δεν ικανοποιείται Η default δεν είναι απαραίτητο να είναι στο τέλος CEID - Προγραμματισμός σε ANSI C 10

Παράδειγμα switch (choice) { case 1: x=a+b; break; case 2: x=a-b; break; case 3: x=a*b; break; case 4 x=a/b; break; default: printf( Ανύπαρκτη επιλογή ); break; CEID - Προγραμματισμός σε ANSI C 11

Δομές (ή Βρόχοι) Επανάληψης Μέρη Έκφραση τερματισμού - Συνθήκη - Μετρητής Σώμα επανάληψης Τύποι Δομή επανάληψης με συνθήκη - εισόδου - εξόδου Δομή επανάληψης με μετρητή CEID - Προγραμματισμός σε ANSI C 12

Δομή Επανάληψης με Συνθήκη Εισόδου While E do Σ (Pascal) while E (C) Ε (To Σ μπορεί να μην εκτελεστεί ποτέ) Σ CEID - Προγραμματισμός σε ANSI C 13

Δομή Επανάληψης με Συνθήκη Εξόδου repeat Σ until E (Pascal) do Σ while E (C) (To Σ θα εκτελεστεί τουλάχιστον μία φορά) Σ Α Ε CEID - Προγραμματισμός σε ANSI C 14

Δομή Επανάληψης με Μετρητή Μ=Ε1 Μ=Μ+1 Μ<=Ε2 Α Σ For M:=E1 to E2 do Σ (Pascal) CEID - Προγραμματισμός σε ANSI C 15

Δομή Επανάληψης στη C: while while (<έκφραση>) <πρόταση> while (count<limit) { count++; printf( count is %d\n, count); <επόμενη πρόταση> while count<limit true count++ Printf( count is %d\n, count); <επόμενη πρόταση> CEID - Προγραμματισμός σε ANSI C 16

Δομή Επανάληψης στη C: do while do do <επόμενη πρόταση> while (<έκφραση>); count++ printf( count is %d\n, count); do { count++; printf( count is %d \n, count); while (count<limit) <επόμενη πρόταση> while count<limit; <επόμενη πρόταση> true CEID - Προγραμματισμός σε ANSI C 17

Δομή Επανάληψης στη C: for αρχικοποίηση έλεγχος ενημέρωση count=1; for (<εκφρ1> ; <εκφρ2>; <εκφρ3> <πρόταση> count++; count<limit; true for (count=1;count<limit;count++) { printf( count is %d \n, count); <επόμενη πρόταση> printf( count is %d\n, count); <επόμενη πρόταση> CEID - Προγραμματισμός σε ANSI C 18

Ισοδυναμία Δομών Επανάληψης for (e1;e2;e3) Π1 e1; while (e2) { Π1; e3; e1; do { Π1; e3; while (e2) CEID - Προγραμματισμός σε ANSI C 19

Επιλογή Δομής Επανάληψης Προτιμούμε τη δομή με συνθήκη εισόδου (while) από αυτή με συνθήκη εξόδου (do-while) Προτιμούμε την for από την while, αν υπάρχει (ή μπορεί να οριστεί) απαριθμητής που συνοδεύεται από αρχικοποίηση και ανανέωση της τιμής του. CEID - Προγραμματισμός σε ANSI C 20

Διακλάδωση χωρίς συνθήκη Διαχείριση ειδικών περιπτώσεων σε προτάσεις επανάληψης - break - continue Ρητή διακλάδωση - goto <ετικέτα> CEID - Προγραμματισμός σε ANSI C 21

Πρόταση break (1) Προκαλεί την έξοδο μόνο από τον πιο εσωτερικό βρόχο Καταστρέφει τη δόμηση του κώδικα Υπάρχει πάντα τρόπος να γραφεί κώδικας χωρίς τη χρήση της. CEID - Προγραμματισμός σε ANSI C 22

Πρόταση break (2) while (<έκφραση>) { if ειδική περίπτωση { προτάσεις επεξεργασίας ειδικής περίπτωσης break; προτάσεις επεξεργασίας κανονικών περιπτώσεων CEID - Προγραμματισμός σε ANSI C 23

Πρόταση break (3) for (i=0; i<max; i++) { if (num[i]<0) break; : printf(...); for (i=0; (i<max) && (num[i]>=0); i++) { : : printf(...); CEID - Προγραμματισμός σε ANSI C 24

Πρόταση continue (1) Προκαλεί την έναρξη της επόμενης επανάληψης for, while ή do Επηρεάζει μόνο το πιο εσωτερικό βρόχο CEID - Προγραμματισμός σε ANSI C 25

Πρόταση continue (2) while (<έκφραση>) { if κανονική περίπτωση { προτάσεις επεξεργασίας κανονικής περίπτωσης continue; προτάσεις επεξεργασίας ειδικών περιπτώσεων CEID - Προγραμματισμός σε ANSI C 26

Πρόταση continue (3) for (i=0; i<max; i++) { if (num[i]<0) continue; : printf(...); For (i=0; (i<max) && (num[i]>=0); i++) { : : printf(...); CEID - Προγραμματισμός σε ANSI C 27

Πρόταση goto Καταστρέφει την δόμηση του κώδικα Είναι πάντα εύκολο να γράφεις κώδικα χωρίς τη χρήση τους CEID - Προγραμματισμός σε ANSI C 28