1 / 30

Εντολές Διακλάδωσης ή Εντολές Υπό Συνθήκη

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

aileen
Download Presentation

Εντολές Διακλάδωσης ή Εντολές Υπό Συνθήκη

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

  7. Απάντηση 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.

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

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

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

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

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

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

  14. 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.

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

  16. Απάντηση 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.

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

  18. 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);

  19. 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.

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

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

  22. Απάντηση 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.

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

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

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

  26. Απαντήσεις 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.

  27. Απαντήσεις 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.

  28. Απαντήσεις 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.

  29. Απαντήσεις 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

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

More Related