c7 17 - code (if then else)
TRANSCRIPT
Γ7.17 Δομή Διακλάδωσης Κώδικας
if…Then…else
Παναγιώτης Παπέττας
01/05/2023 2
Να σχεδιάζουμε λογικά διαγράμματα με μια συνθήκη, else.
Να μετατρέπουμε λογικό διάγραμμα σε πρόγραμμα.
Να χρησιμοποιούμε τη προκαταρκτική εκτέλεση για να ελέγξουμε την ορθότητα του προγράμματος μας.
Τι θα μάθουμε σήμερα:
01/05/2023 3
Η δομή διακλάδωσης:
01/05/2023 4
Παράδειγμα 6
Ένας συμμαθητής σας δυσκολεύεται να βρίσκει τη λύση της εξίσωσης α’ βαθμού ax+b=0.
Να σχεδιάσετε το λογικό διάγραμμα για το πιο πάνω πρόβλημα που θα δέχεται το a και b και θα υπολογίζει το x.
Σε περίπτωση που δοθεί a=0 να τυπώνει το μήνυμα «Αδύνατη».
Τέλος να γράψετε την προκαταρκτική εκτέλεση για την εξίσωση 2x+4=0.
(Σημείωση: Η λύση της εξίσωσης είναι x=-b/a). Να γράψετε την προκαταρκτική εκτέλεση για αρχικές τιμές a=2 και b=4.
Σχεδιασμός λογικών διαγραμμάτων με μια απλή συνθήκη
01/05/2023 5
01/05/2023 6
Μεταβλητές Απόφαση Παρουσίαση
a b X a=0 T/F
2 4 -4/2=-2 2=0 F -2
01/05/2023 7
program probl6; var a,b,x:real; begin readln(a,b); if (a=0) then begin writeln('Αδύνατη'); end else begin x:=-b/a; writeln('X=',x:5:0); end; end.
Για να υλοποιήσουμε προβλήματα δομής διακλάδωσης πρέπει να χρησιμοποιήσουμε την εντολή if…then…else. Η εντολή ελέγχει μια συνθήκη,
αν η συνθήκη είναι αληθής (true) τότε εκτελείται μια ομάδα εντολών, διαφορετικά (false) εκτελείται μια άλλη ομάδα εντολών και προχωρεί στην
επόμενη εντολή.
Αν οι ομάδες εντολών αποτελούνται μόνο από μια
εντολή, μπορούμε να παραλείψουμε το begin και
end
Πάνω (πριν) από την εντολή else δεν βάζουμε ;
Η ομάδα εντολών 2 δεν είναι υποχρεωτική. Μπορεί
να έχουμε δομή διακλάδωσης χωρίς else.
01/05/2023 8
program probl6; var a,b,x:real; begin readln(a,b); if (a=0) then begin writeln(‘Αδύνατη') end else begin x:=-b/a; writeln('X=',x:5:0) end end.