Δομές Διακλάδωσης Μην ελπίζεις ότι θα ξεφύγεις αν κάνεις κάποιο κακό. Γιατί κι αν ξεφύγεις απ’ τη προσοχή των άλλων, θα υποπέσεις στην αντίληψη της συνείδησής σου. Ισοκράτης
Στόχοι Μαθήματος Οι μαθητές να μπορούν : να χρησιμοποιούν τους λογικούς τελεστές AND και OR. να γνωρίζουν τη διαφορά μεταξύ της διαδοχικής δομής και της δομής διακλάδωσης. να χρησιμοποιούν την εντολή If / Then. να χρησιμοποιούν την εντολή If / Then / Else. να χρησιμοποιούν την εντολή Case / Of / Else.
Η Εντολή If … Then Η εντολή αυτή χρησιμοποιείται, όταν ο προγραμματιστής επιθυμεί να εκτελέσει μια ή περισσότερες εντολές του προγράμματος, στην περίπτωση που ισχύει μια συνθήκη ή και περισσότερες. εάν ο καιρός είναι βροχερός τότε θα πάρω ομπρέλα.
Η Εντολή If … Then Η γενική μορφή σύνταξης της εντολής είναι: <Διαδικασία> End If όπου: IF, THEN, END : είναι δεσμευμένες λέξεις <Συνθήκη> : καθορίζει τη ροή εκτέλεσης των εντολών που ακολουθούν. <Διαδικασία> : αποτελείται από τις εντολές που εκτελούνται σε περίπτωση που η συνθήκη είναι αληθής.
Η Εντολή If … Then If grade >= 50 then print “επιτυχία” end if Αληθής Τύπωσε “επιτυχία” Ψευδής If grade >= 50 then print “επιτυχία” end if
Η Εντολή If … Then … Else Με την εντολή αυτή ο προγραμματιστής δεν ορίζει μόνο τη <Διαδικασία> που ο Η.Υ. θα εκτελέσει στην περίπτωση που η συνθήκη ελέγχου της δομής διακλάδωσης είναι αληθής, αλλά επίσης ορίζει και τη <Διαδικασία> που ο Η.Υ. θα εκτελέσει στην περίπτωση που η συνθήκη της δομής διακλάδωσης είναι ψευδής. εάν ο καιρός είναι βροχερός τότε θα πάω θέατρο αλλιώς θα πάω στο γήπεδο.
Η Εντολή If … Then … Else Η γενική μορφή σύνταξης της εντολής είναι: <Διαδικασία 1> ELSE <Διαδικασία 2> End If όπου: IF, THEN, ELSE : είναι δεσμευμένες λέξεις. <Συνθήκη> : καθορίζει τη ροή εκτέλεσης των εντολών που ακολουθούν. <Διαδικασία 1> : αποτελείται από τις εντολές που εκτελούνται σε περίπτωση που η συνθήκη είναι αληθής. <Διαδικασία 2> : αποτελείται από τις εντολές που εκτελούνται σε περίπτωση που η συνθήκη είναι ψευδής.
Η Εντολή If … Then … Else Grade>=50 Display Display “επιτυχία” Ψευδής Grade>=50 Αληθής Display “επιτυχία” Display “αποτυχία” If grade>= 50 then print “επιτυχία” else print “αποτυχία” end if
Περιπτωσιακή Δομή
Πολλαπλή Διακλάδωση Χρησιμοποιείται όταν υπάρχουν πολλές επιλογές με την εντολή Select/Case/Else. Η γενική μορφή της εντολής είναι: Select Case <Έκφραση επιλογής> Case <Τιμή επιλογής 1> <Διαδικασία 1> Case <Τιμή επιλογής 2> <Διαδικασία 2> Case <Τιμή επιλογής ν> <Διαδικασία ν> Case Else <Εναλλακτική διαδικασία> End Select
Πολλαπλή Διακλάδωση όπου: Select Case, Else: είναι δεσμευμένες λέξεις. <Έκφραση επιλογής>: είναι μια μεταβλητή στην οποία έχει δοθεί προηγουμένως μια τιμή. <Τιμή επιλογής>: είναι η τιμή με βάση την οποία θα γίνει η επιλογή της αντίστοιχης διαδικασίας. Εάν μια ομάδα τιμών επιλογής αποτελείται από περισσότερες της μιας τιμές τότε μεταξύ τους οι τιμές χωρίζονται με κόμμα. <Διαδικασία>: είναι η διαδικασία που θα εκτελεστεί στην περίπτωση που έχει επιλεγεί η αντίστοιχη τιμή επιλογής. <Εναλλακτική Διαδικασία>: είναι η διαδικασία που θα εκτελεστεί στην περίπτωση που καμιά από τις τιμές επιλογής δεν ισούται με την τιμή της έκφρασης επιλογής, εφόσον υπάρχει τμήμα Else. Δεν είναι υποχρεωτικό και μπορεί να παραλειφθεί. End Select: είναι δεσμευμένη λέξη με την οποία τελειώνει η εντολή Case.
Πολλαπλή Διακλάδωση Select Case Operator Case “+” Result = A + B End Select
Λογικοί τελεστές – AND & OR Η πιο πάνω διαδικασία είναι αληθείς μόνο εάν και οι δύο συνθήκες είναι αληθείς. Λογικός τελεστής OR εάν <συνθήκη1> OR <συνθήκη2> τότε Η πιο πάνω διαδικασία είναι αληθείς εάν τουλάχιστο μία από τις δύο συνθήκες είναι αληθείς.
Σύνθετες Συνθήκες A B A OR B A AND B NOT A True False (6 = 9) AND (8 = 8) FALSE (5 >= 8) OR TRUE TRUE