c7 17 - code (if then else)

Post on 12-Jan-2017

44 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

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.

top related