Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 4: Εντολές ελέγχου ροής Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.
Δομημένος Προγραμματισμός DR. Α Θ Α Ν Α Σ Ι Ο Σ Κ Α Κ Α Ρ Ο Υ Ν Τ Α Σ
Περιεχόμενα Τελεστές Εκφράσεις Προτάσεις Εντολές Ελέγχου Ροής
Τελεστές Ένας τελεστής (operator) είναι ένα σύμβολο ή μια λέξη της γλώσσας προγραμματισμού, που αναπαριστά συγκεκριμένη διεργασία, η οποία εκτελείται πάω σε ένα ή περισσότερα δεδομένα. Τα δεδομένα καλούνται τελεστέοι (operands) και μπορούν να είναι μεταβλητές, σταθερές ή ακόμη κλήσεις συναρτήσεων. Τα δεδομένα πρέπει να είναι του ίδιου τύπου Οι τελεστές χρησιμοποιούνται για το σχηματισμό εκφράσεων (expressions). Παράδειγμα: Στην έκφραση num + 12 ο χαρακτήεας + αναπαριστά τη διεργασία της πρόσθεσης των δύο τελεστέων, της τιμής της μεταβλητής num και της σταθεράς 12.
Κατηγορίες Τελεστών Κατηγορία Ενδεικτικοί τελεστές Αριθμητικοί +,, *, /, %,++,-- Λογικοί &&,,! συσχετιστικοί >,>=, ==,!=,<,<=
Αριθμητικοί Τελεστές σύμβολο ερμηνεία + Πρόσθεση - Αφαίρεση * Πολλαπλασιασμός / Διαίρεση % Υπόλοιπο ++ Αύξηση κατά 1 -- Μείωση κατά 1
Αριθμητικοί Τελεστές Παράδειγμα int x, y, z; x=9; y=10; z=x+y;
Αριθμητικοί Τελεστές (Μοναδιαίοι Τελεστές) Πρόταση Τιμή x Τιμή y int x = 10, y = 20; 10 20 ++x; 11 20 y = x; 10 10 y = x + y; 9 20 y = y x++; 10 11
Λογικοί Τελεστές Σύμβολο Ερμηνεία && Λογικό ΚΑΙ Λογικό Ή! Λογικό ΟΧΙ
Λογικοί Τελεστές Πίνακες Αληθείας Λογικό ΌΧΙ (NOT συμβ.σε C:!) Α ΌΧΙ Α 0 1 1 0 Λογικό ΚΑΙ (AND συμβ.σε C: &&) Α Β Α ΚΑΙ Β 0 0 0 0 1 0 1 0 0 1 1 1 Λογικό Ή (OR- συμβ.σε C: ) Α Β Α ΚΑΙ Β 0 0 0 0 1 1 1 0 1 1 1 1
Συσχετικοί Τελεστές Σύμβολο Ερμηνεία > Μεγαλύτερο >= Μικρότερο ή ίσο == Ίσον < Μικρότερο <= Μικρότερο ή ίσον
Εκφράσεις - Προτάσεις Μία έκφραση στην γενική της περίπτωση, αποτελείται από έναν ή περισσότερους τελεστέους και, προαιρετικά, από ένα ή περισσότερους τελεστές. Οι τελεστέοι, μεταβλητές, σταθερές και κλήσεις συναρτήσεων αποτελούν από μόνοι τους εκφράσεις, αλλά μπορούν να συνδιαστούν με τους τελεστές για να σχηματίσουν σύνθετες εκφράσεις.
Παράδειγμα Απλές εκφράσεις Σύνθετες εκφράσεις 9 12*20 Count Count + 1 Count,x ((count+3*x)+(x+4))*2 Count>9 (count<9)&&(count>-9)
Εκφράσεις - Προτάσεις Η πρόταση είναι μια πλήρης εντολή (command) προς τον υπολογιστή και προσδιορίζει την εκτέλεση συγκεκριμένου έργου. Το Ελληνικό ερωτηματικό (;) προσδιορίζει το τέλος κάθε πρότασης για την C.
Σημαντικότερες Κατηγορίες Προτάσεων Κατηγορία πρότασης Παράδειγμα Δήλωσης Int num Κλήσης συνάρτησης printf( Hello World ); Ελέγχου ροής if (a>b) then a else b; Ανάθεσης Num=21; μηδενική ;
Εντολές Ελέγχου Ροής Ο τρόπος εκτέλεσης εντολών που συναντήσαμε μέχρι τώρα ήταν ο ακολουθιακός. Δύο ή περισσότερες εντολές διατεταγμένες η μία μετά την άλλη εκτελούνται διαδοχικά. Η ακολουθία των εντολών Π1; Π2; Π3; Έχει σαν αποτέλεσμα την εκτέλεση της εντολής Π1, μετά της Π2 και τέλος της Π3. Π1 Π2 Π3
Εντολές Ελέγχου Ροής Για να επιτευχθεί οποιαδήποτε διαφοροποίηση από την ακολουθιακή εκτέλεση χρησιμοποιούνται ειδικές κατασκευές. Οι ειδικές κατασκευές μας επιτρέπουν να επιτύχουμε την επιθυμητή ροή ελέγχου του προγράμματός μας. Η διαμόρφωση της ροής ελέγχου, στο δομημένο προγραμματισμό, επιτυγχάνεται με την κατάλληλη χρήση προτάσεων των δύο βασικών κατηγοριών της επανάληψης (looping) και της υπο συνθήκη διακλάδωσης (conditional braching).
Υπό Συνθήκη Διακλάδωση (if) Μια πρόταση διακλάδωσης υπό συνθήκη, περιέχει έναν αριθμό εντολών, από τις οποίες επιλέγεται μόνο μία. Η πρόταση if είναι η πλέον γνωστή πρόταση αυτής της κατηγορίας και έχει την μορφή: true Π1 Ε Π2 if E then Π1 else Π2
Υπό Συνθήκη Διακλάδωση (if) Σε μία πιο σύνθετη μορφή της η πρόταση if επιτρέπει επιλογή από μεγαλύτερο (συνήθως απεριόριστο) αριθμό προτάσεων, με την ένθεση διαδοχικών προτάσεων συνθήκης. if E1 then Π1 else if E2 then Π2 else if Ε3 then Π3 : else if En then Πn else Π0 true Ε 1 true Ε 2 Π1 Π2 Π0
Παράδειγμα - Εκφώνηση Να γραφεί κείμενο όπου θα διαβάζει 2 ακέραιους από το πληκτρολόγιο και θα τυπώνει στην οθόνη τον μεγαλύτερο.
Παράδειγμα - Ψευδοκώδικας Αρχή προγράμματος Διάβασε x Διάβασε y ΟΧΙ x>y? ΝΑΙ Τύπωσε y Τύπωσε x Tέλος προγράμματος
Δομημένος Προγραμματισμός DR. Α Θ Α Ν Α Σ Ι Ο Σ Κ Α Κ Α Ρ Ο Υ Ν Τ Α Σ
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. Οι όροι χρήσης των έργων τρίτων επεξηγούνται στη διαφάνεια «Επεξήγηση όρων χρήσης έργων τρίτων». Τα έργα για τα οποία έχει ζητηθεί άδεια αναφέρονται στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/από-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.
Επεξήγηση όρων χρήσης έργων τρίτων διαθέσιμο με άδεια CC-BY διαθέσιμο με άδεια CC-BY-SA διαθέσιμο με άδεια CC-BY-ND διαθέσιμο με άδεια CC-BY-NC διαθέσιμο με άδεια CC-BY-NC-SA διαθέσιμο με άδεια CC-BY-NC-ND διαθέσιμο με άδεια CC0 Public Domain διαθέσιμο ως κοινό κτήμα χωρίς σήμανση Δεν επιτρέπεται η επαναχρησιμοποίηση του έργου, παρά μόνο εάν ζητηθεί εκ νέου άδεια από το δημιουργό. Επιτρέπεται η επαναχρησιμοποίηση του έργου και η δημιουργία παραγώγων αυτού με απλή αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού, και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η δημιουργία παραγώγων του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου και η δημιουργία παραγώγων του. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Συνήθως δεν επιτρέπεται η επαναχρησιμοποίηση του έργου.
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.