I Statement Pr

12
Διαφάνειες παρουσίασης Λογικά διαγράμματα ροής Σύνθετη εντολή Δομές ελέγχου: if

Transcript of I Statement Pr

Page 1: I Statement Pr

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

Λογικά διαγράμματα ροήςΣύνθετη εντολήΔομές ελέγχου: if

Page 2: I Statement Pr

Δομές ελέγχου

• Τροποποιούν τη σειρά εκτέλεσης των εντολών του προγράμματος

• Οι εντολές φυσιολογικά εκτελούνται κατά σειρά από την αρχή μέχρι το τέλος

• Με τις δομές ελέγχου επιτυγχάνεται:– ομαδοποίηση εντολών– εκτέλεση εντολών υπό συνθήκη– επανάληψη εντολών

Page 3: I Statement Pr

Λογικά διαγράμματα (i)

• Αρχή και τέλος

• Ολόκληρες λειτουργίες ή διαδικασίες

• Απλές εντολές

• Έλεγχος συνθήκης

Page 4: I Statement Pr

Λογικά διαγράμματα (ii)

• Λειτουργία εισόδου/εξόδου

• Επανάληψη (βρόχος)

Page 5: I Statement Pr

Σύνθετη εντολή (i)• Ομαδοποίηση πολλών εντολών σε μία• Χρήσιμη σε συνδυσμό με άλλες δομές• Συντακτικό διάγραμμα

Page 6: I Statement Pr

Σύνθετη εντολή (ii)

• Παραδείγματα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; writelnend

Page 7: I Statement Pr

Εντολή if (i)• Εκτέλεση εντολών υπό συνθήκη• Συντακτικό διάγραμμα

Page 8: I Statement Pr

Εντολή if (ii)

• Παραδείγματα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('δίσεκτο έτος')

Page 9: I Statement Pr

Εντολή if (iii)

• Παραδείγματα (συνέχεια)if changed thenbegin writeln('Το αρχείο άλλαξε'); changed := falseend 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('ίσο')

Page 10: I Statement Pr

Εντολή if (iv)

• Ένα else αντιστοιχεί στο πλησιέστερο προηγούμενο if που δεν έχει ήδη αντιστοιχιστεί σε άλλο else

• Παράδειγμαif x>0 then if y>0 then write('πρώτο τεταρτημόριο') else if y<0 then write('τέταρτο τεταρτημόριο') else write('άξονας των x')

Page 11: I Statement Pr

Άσκηση – Παράδειγμα 1: Ο αντι-ντόπινγκ έλεγχος για την ουσία εφεδρίνη, η οποία αυξάνει την παραγωγή ερυθρών αιμοσφαιρίων στο αίμα, γίνεται με την ανίχνευσή της στα δείγματα ούρων των αγωνιζομένων αθλητών. Όταν το επίπεδο συγκέντρωσης της ουσίας εφεδρίνης στα ούρα υπερβεί τα 10 μg/ml, τότε ο αθλητής υποπίπτει στο παράπτωμα του doping.

Αλγοριθμική λύση:

Page 12: I Statement Pr

Άσκηση – Παράδειγμα 2: Το κόστος στάθμευσης στο πάρκινγκ του αεροδρομίου Ελευθέριος Βενιζέλος είναι 2€ την ώρα. Όταν το όχημα παραμείνει στο χώρο στάθμευσης για περισσότερο από 24 ώρες, το κόστος επιβαρύνεται με 10€ για «φύλαξη» του οχήματος. Σχεδιάστε αλγόριθμο που θα ζητάει τη διάρκεια στάθμευσης και θα υπολογίζει το κόστος που της αναλογεί. Στη συνέχεια θα προσαυξάνει το κόστος που υπολόγισε με το «ποσό φύλαξης» (εάν ασφαλώς συντρέχει λόγος) και θα εμφανίζει στην οθόνη το κόστος που υπολόγισε. Αναπτύξτε αλγόριθμο ο οποίος θα ζητάει τη διάρκεια στάθμευσης θα υπολογίζει το κόστος που αναλογεί και θα το εμφανίζει.

Αλγοριθμική λύση: