Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Εντολές Διακλάδωσης ή Εντολές Υπό Συνθήκη If λογική έκφραση Then εντολή ή Else εντολή.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Εντολές Διακλάδωσης ή Εντολές Υπό Συνθήκη If λογική έκφραση Then εντολή ή Else εντολή."— Μεταγράφημα παρουσίασης:

1

2 Εντολές Διακλάδωσης ή Εντολές Υπό Συνθήκη If λογική έκφραση Then εντολή ή Else εντολή

3 Δομή επιλογής Η δομή επιλογής είναι μια ολοκληρωμένη πρόταση η οποία περικλείει μια συνθήκη και δύο ομάδες εντολών, από τις οποίες θα εκτελεστούν, η μεν πρώτη ομάδα στην περίπτωση που ικανοποιείται η συνθήκη η δε δεύτερη ομάδα στην περίπτωση που δεν ικανοποιείται η συνθήκη ΑΝ συνθήκη ΤΟΤΕ Εντολή α1 Εντολή α2 : ΑΛΛΙΩΣ Εντολή ψ1 Εντολή ψ2 : ΤΕΛΟΣ ΑΝ Β’ ομάδα εντολών Α’ ομάδα εντολών Συνθήκη Ψευδής Αληθής Ψευδής Συνθήκη Αληθής Α’ ομάδα εντολών Συνθήκη Ψευδής Β’ ομάδα εντολών

4 ΣΤΟΧΟΙ •Να κατανοήσουμε τη χρήση και εφαρμογή της εντολής If…. Then…. Else • Nα αναλύσουμε την εντολή If - Then – Else • Να κατανοήσουμε την χρήση της εντολής σε παραδείγματα • Να επιλύσουμε προβλήματα με τη χρήση της εντολής If….Then…. Else

5 Εντολές Διακλάδωσης 1.Εντολές διακλάδωσης ή επιλογής. 2. Εντολή If Then Else. 3. Εντολή Case. (α) If συνθήκη Then εντολή (β) If συνθήκη Then εντολή Else εντολή

6 Ορισμός Εντολών (γ) If συνθήκη Then εντολή Else if συνθήκη Then εντολή …… Else if συνθήκη Then εντολή Else εντολή

7 Παράδειγμα Να γράψετε ένα πρόγραμμα που να διαβάζει ένα αριθμό. Να υπολογίζετε στη συνέχεια και να τυπώνετε την τετραγωνική του ρίζα αν ο αριθμός είναι θετικός. Αν είναι αρνητικός να τυπώνετε ένα ανάλογο μήνυμα, “αρνητικός αριθμός”.

8 Απάντηση Program sample2_1; Uses wincrt; Var x:real; Begin Write(‘Dose ena arithmo…’); Readln(x);writeln; If x>=0 then write(‘H tetragoniki riza tou arithmou einai:’,sqrt(x):8:2) else write(x:7:2,’O arithmos einai arnitikos’); End.

9 ΠΡΟΓΡΑΜΜΑ Απόλυτη_Τιμή ‘Εισαγωγή δεδομένων ΓΡΑΨΕ ”Δώσε τον αριθμό” ΔΙΑΒΑΣΕ α ‘Επεξεργασία δεδομένων ΑΝ α>0 ΤΟΤΕ Απόλυτη_Τιμή ← α ΑΛΛΙΩΣ Απόλυτη_Τιμή ← -α ΤΕΛΟΣ ΑΝ ‘Εκτύπωση αποτελεσμάτων ΓΡΑΨΕ ”Η απόλυτη τιμή είναι: ”, Απόλυτη_Τιμή ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Μνήμη. Περιοχή μεταβλητών α Απόλυτη_Τιμή 1356 Οθόνη Δώσε τον αριθμό 1356 Η απόλυτη τιμή είναι: 1356 Αληθής

10 ΠΡΟΓΡΑΜΜΑ Απόλυτη_Τιμή ‘Εισαγωγή δεδομένων ΓΡΑΨΕ ”Δώσε τον αριθμό” ΔΙΑΒΑΣΕ α ‘Επεξεργασία δεδομένων ΑΝ α>0 ΤΟΤΕ Απόλυτη_Τιμή ← α ΑΛΛΙΩΣ Απόλυτη_Τιμή ← -α ΤΕΛΟΣ ΑΝ ‘Εκτύπωση αποτελεσμάτων ΓΡΑΨΕ ”Η απόλυτη τιμή είναι: ”, Απόλυτη_Τιμή ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Μνήμη. Περιοχή μεταβλητών α Απόλυτη_Τιμή Οθόνη Δώσε τον αριθμό Η απόλυτη τιμή είναι: 3495 Ψευδής

11 Δομή επιλογής Αν δε θέλουμε να εκτελεστεί καμιά εντολή στην περίπτωση που η συνθήκη είναι ψευδής μπορούμε να παραλείψουμε και τη λέξη ΑΛΛΙΩΣ ΑΝ συνθήκη ΤΟΤΕ Εντολή 1 Εντολή 2 : ΤΕΛΟΣ ΑΝ Oμάδα εντολών Συνθήκη Ψευδής Αληθής Ψευδής Συνθήκη Αληθής

12 ΠΡΟΓΡΑΜΜΑ Απόλυτη_Τιμή ‘Εισαγωγή δεδομένων ΓΡΑΨΕ ”Δώσε τον αριθμό” ΔΙΑΒΑΣΕ α ‘Επεξεργασία δεδομένων Απόλυτη_Τιμή ← α ΑΝ α<0 ΤΟΤΕ Απόλυτη_Τιμή ← -α ΤΕΛΟΣ ΑΝ ‘Εκτύπωση αποτελεσμάτων ΓΡΑΨΕ ”Η απόλυτη τιμή είναι: ”, Απόλυτη_Τιμή ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Μνήμη. Περιοχή μεταβλητών α Απόλυτη_Τιμή 1356 Οθόνη Δώσε τον αριθμό 1356 Η απόλυτη τιμή είναι: 1356 Ψευδής

13 ΠΡΟΓΡΑΜΜΑ Απόλυτη_Τιμή ‘Εισαγωγή δεδομένων ΓΡΑΨΕ ”Δώσε τον αριθμό” ΔΙΑΒΑΣΕ α ‘Επεξεργασία δεδομένων Απόλυτη_Τιμή ← α ΑΝ α<0 ΤΟΤΕ Απόλυτη_Τιμή ← -α ΤΕΛΟΣ ΑΝ ‘Εκτύπωση αποτελεσμάτων ΓΡΑΨΕ ”Η απόλυτη τιμή είναι: ”, Απόλυτη_Τιμή ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Μνήμη. Περιοχή μεταβλητών α Απόλυτη_Τιμή Οθόνη Δώσε τον αριθμό Η απόλυτη τιμή είναι: 3495 Αληθής 3495

14 Επεξεργασία Υπό Συνθήκη Παράδειγμα_1 Μια εταιρεία πωλήσεων μέσω ταχυδρομείου, προσφέρει έκπτωση 10% στην αξία του εμπορεύματος για παραγγελίες μεγαλύτερες των 1000 ECU. Για παραγγελίες μικρότερες των 1000ECU, το πληρωτέο ποσό είναι ίσο με την αξία των αγαθών. Να γράψετε ένα πρόγραμμα το οποίο θα λαμβάνει υπόψη τα πιο πάνω.

15 PROGRAM IF_1; Uses wincrt; Var timi_emprmts,pliroteo,ekptosi:real; Begin write(‘ Dose tin timi tou emporeumatos….: ’); Readln(timi_emprmts); Pliroteo:=timi_emprmts; If timi_emprts>= 1000 then ekptosi:=timi_emprmts * 0.1; pliroteo:=timi_emprmts - ekptosi; writeln(‘ H plirotea timi se ECU einai…’,pliroteo:8:2); End.

16 Παράδειγμα_2 Να γράψετε ένα πρόγραμμα που θα αποφασίζει για την πραγματοποίηση μιας αγοράς, με δεδομένα το μηνιαίο εισόδημα, την περιουσία της συζύγου και τον αριθμό των παιδιών. Όταν το μηνιάιο εισόδημα είναι μεγαλύτερο από 2000 ECU, ή η περιουσία της συζύγου είναι μεγαλύτερη από ECU, και ο αριθμός των παιδιών ίσος με μηδέν, τότε συνιστάται η αγορά σπόρ αυτοκινήτου. Αλλιώς συνιστάται η αγορά κοινού αυτοκινήτου.

17 Απάντηση PROGRAM if__2; Uses wincrt; Var eisodima, periousia:real; paidia:Integer; Begin Write(‘Dose to miniaio eisodima…’); Readln(eisodima); Write(‘Periousia tis syzygou…’); Readln(periousia); Write(‘Posa paidia exete; ‘); Readln(paidia); If ((eisodima>2000)or (periousia>=200000)) and (paidia=0) Then writeln(‘ Agorase spor autokinhto’) else writeln(‘Agorase aplo autkinhto’); End.

18 Παράδειγμα με πολλαπλή επιλογή Γράψε ένα πρόγραμμα για το πιο κάτω πρόβλημα. Ένας χοντρέμπορας προσφέρει διαφορετική έκπτωση ανάλογα με τον πελάτη. Οι επαγγελματίες έχουν έκπτωση 10%, οι λιανοπώλες 15%, ενώ όλοι οι άλλοι πελάτες δεν έχουν καμιά έκπτωση.

19 PROGRAM if_3; Uses wincrt; Var timi_eidous,pliroteo:real; Kat_pelati:char; Begin Write(‘Dose tin timi eidous:’); Readln(timi_eidous); Writeln(‘Dose tin katigoria pelati:’); Writeln(‘1. Epaggelmatias’); Writeln(‘2. Lianopolis ’); Writeln(‘3. Allos ’); Readln(kat_pelati);

20 case kat_pelati of ‘1’ :pliroteo:=timi_eidous*(1-0.1); ‘2’ :pliroteo:=timi_eidous*(1-0.15); ‘3’ :pliroteo:=timi_eidous; Else pliroteo:=0; writeln(‘ Lathos eisagwgis’); End. Writeln(‘ H plirotea timi se ECU einai…’,pliroteo:8:2); End.

21 Τύπος δεδομένων Char(χαρακτήρας) Ο τύπος δεδομένων Char (character=χαρακτήρας) μας δίνει τη δυνατότητα να χρησιμοποιήσουμε γράμματα και σύμβολα στο πρόγραμμά μας. Μια μεταβλητή τύπου Char, παίρνει ως τιμή ένα οποιδήποτε χαρακτήρα σε εισαγωγικά. Στη μεταβλητή αποθηκεύεται μόνο ο χαρακτήρας χωρίς τα εισαγωγικά.

22 Παράδειγμα Να γραφεί ένα πρόγραμμα το οποίο να διαβάζει ένα ακέραιο αριθμό απ΄οτο 1…7 και να τυπώνει την αντίστοιχη μέρα της εβδομάδας. Το ‘1’ αντιστοιχεί στη Κυριακή.

23 Απάντηση Program Xaraktiras; Uses wincrt; Var n:Char; Begin Write(‘Dose ena akeraio arithmo apo to 1…7’);Readln(n); If n=‘1’ then writeln(‘Kyriakh’) Else if n=‘2’ then writeln(‘Deutera’) Else if n=‘3’ then writeln(‘Trith’) Else if n=‘4’ then writeln(‘Tetarth’) Else if n=‘5’ then writeln(‘Pempth’) Else if n=‘6’ then writeln(‘Paraskeui’) Else if n=‘7’ then writeln(‘Savvato’) Else writeln(‘ Akyros arithmos… ksanaprosp;athise’); End.

24 Ασκήσεις 1.Να γράψετε ένα πρόγραμμα το οποίο να διαβάζει ένα ακέραιο αριθμό από το 1…12 και να τυπώνει τον αντίστοιχο μήνα του χρόνου. Το ένα ‘1’, αντιστοιχεί στον Γενάρη. 2. Να γραφεί ένα πρόγραμμα που να δέχεται δύο αριθμούς. Στην έξοδο να δίνετε ο μεγαλύτερος αριθμός με το μήνυμα, ¨Ο Megalyteros arithmos einai…¨.

25 Ασκήσεις 3. Μια εταιρεία ταχυδρομικών πωλήσεων υπολογίζει το πληρωτέο ποσό ανάλογα με την αξία των εμπορευμάτων. Αν η αξία του εμπορεύματος είναι μικρότερη από 1000 ECU, το πληρωτέο ποσό επιβαρύνεται με 50 ECU για έξοδα αποστολής. Γράψετε ένα πρόγραμμα που με δεδομένη την αξία του εμπορεύματος, να υπολογίζει το πληρωτέο ποσό.

26 Ασκήσεις 4. Μια εταιρεία ηλεκτρικών ειδών, προσφέρει έκπτωση 10% σε παραγγελίες αξίας μεγαλύτερης των 800 ECU. Όσοι είναι πελάτες για περισσότερο από 5 χρόνια θα έχουν έκπτωση 4% της αξίας της παραγγελίας. Γράψετε ένα πρόγραμμα, που θα υπολογίζει το πληρωτέο ποσό με δεδομένα την αξία παραγγελίας και τη χρονική διάρκεια που είναι κάποιος πελάτης.

27 Απαντήσεις Program askisi_1; Uses wincrt; n:Char; Begin Write(‘Dose ena akeraio arithmo apo to 1…12’);Readln(n); If n=‘1’ then writeln(‘Genaris’) Else if n=‘2’ then writeln(‘Fevrouarios’) Else if n=‘3’ then writeln(‘Martios’) Else if n=‘4’ then writeln(‘Aprillios’) Else if n=‘5’ then writeln(‘Maios’) Else if n=‘6’ then writeln(‘Iounios’) Else if n=‘7’ then writeln(‘Ioulios’) Else if n=‘8’ then writeln(‘Augoustos’) Else if n=‘9’ then writeln((‘septemvrios’) Else if n =’10’ then writeln(‘Oktomvrios’) Else if n=’11’ then writeln(‘Noemvrios’) Else if n=’12’ then writeln(‘Dekemvrios’) Else writeln(‘ Akyros arithmos… ksanaprosp;athise’); End.

28 Απαντήσεις Program askisi_2; Uses wincrt; Var x,y,megalyteros:real; Begin writeln(‘ Dose dyo arithmous’); readln(x,y); writeln(‘Arithmos 1=‘,x,’Artithmos 2=‘,y); If x>y then megalyteros:=x Else megalyteros:=y; writeln(‘ O megalyteros arithmos einai…’,megalyteros:10:2); End.

29 Απαντήσεις Program Askisi_3; Uses wincrt; Var timi_eidous,pliroteo:real; Begin write(‘ Timi eidous se ECU..’); readln(timi_eidous); If timi_eidous< 1000 then pliroteo:=timi_eidous + 50 else pliroteo:=timi_eidous; writeln(‘ Pliroteo poso se ECU…’, pliroteo:2:2); End.

30 Απαντήσεις Program askisi_4; Uses wincrt; Var paraggelia, pliroteo:real; diarkeia: Integer; Begin write(‘Paraggelia se ECU..’); readln(paraggelia); write(‘ Synergasia gia posa xronia’); readln(diarkeia); If paraggelia< 800 then Begin If diarkeia < 5 then pliroteo:=paraggelia else pliroteo:=paraggelia*(1-0.04); end

31 Else Begin if diarkeia < 5 then pliroteo:=paraggelia*(1-0.1) else pliroteo:=paraggelia*( ); end; writeln(‘ To pliroteo poso se ECU einai..’, pliroteo:2:2); END.


Κατέβασμα ppt "Εντολές Διακλάδωσης ή Εντολές Υπό Συνθήκη If λογική έκφραση Then εντολή ή Else εντολή."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google