Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί Ενότητας Εξοικείωση του σπουδαστή στη χρήση των εντολών ελέγχου ροής και επανάληψης Ανάπτυξη προγραμματιστικής λογικής και σωστής κρίσης στην επιλογή των ενδεδειγμένων εντολών για την λύση διαφορετικών προβλημάτων 4
Περιεχόμενα Εντολές ελέγχου ροής: if, switch. Εντολές επανάληψης for, while και do-while. Οι εντολές break και continue σε βρόχο επανάληψης. Εμφωλευμένες εντολές 5
Εντολή ελέγχου ροής: if Καθορίζει αν θα εκτελεστούν οι εντολές μέσα στα άγκιστρά της, ανάλογα με το αν ισχύει κάποια συνθήκη (αν είναι true). Στην πλήρη μορφή της, η εντολή ακολουθείται από το else (δηλ. αλλιώς ή διαφορετικά). Οι εντολές του else εκτελούνται αν η συνθήκη του if δεν ισχύει. 6
Εντολή ελέγχου ροής: switch Χρησιμοποιείται για διακρίνουμε περιπτώσεις ανάλογα με την τιμή μιας μεταβλητής. Η τιμή της μεταβλητής συγκρίνεται διαδοχικά με κάθε σταθερά μέχρι να διαπιστωθεί ισότητα. Στην περίπτωση αυτή εκτελούνται οι εντολές αυτού του case, μέχρι να βρεθεί ένα break. Αν δεν διαπιστωθεί ισότητα με κάποια σταθερά σε case, εκτελούνται οι εντολές του default. Αν δεν υπάρχει default, ο υπολογιστής συνεχίζει με τις εντολές μετά το άγκιστρο κλεισίματος της switch. 7
Εντολή επανάληψης : for Χρησιμοποιείται για να πετύχουμε επανάληψη μιας ομάδας εντολών του προγράμματος, συγκεκριμένο αριθμό φορών (συνήθως). Η εντολή συνήθως χρησιμοποιεί έναν μετρητή, για να μετρά τις επαναλήψεις. 8
Εντολή επανάληψης : while Χρησιμοποιείται όταν δεν γνωρίζουμε τον αριθμό των επαναλήψεων. Η while επαναλαμβάνει τις εντολές που ακολουθούν (μέσα στα άγκιστρα), όσο η συνθήκη μέσα στις παρενθέσεις είναι «αληθής». Η συνθήκη ελέγχεται πριν από κάθε επανάληψη (άρα πριν και από την 1 η ). Αυτό σημαίνει ότι μπορεί να μην γίνει ούτε μία επανάληψη! 9
Εντολή επανάληψης do-while Χρησιμοποιείται όταν δεν γνωρίζουμε τον αριθμό των επαναλήψεων. Η do-while επαναλαμβάνει τις εντολές που περικλείει (μέσα στα άγκιστρα), όσο η συνθήκη μέσα στις παρενθέσεις είναι «αληθής». Η συνθήκη ελέγχεται μετά από κάθε επανάληψη. Αυτό σημαίνει ότι οι εντολές μέσα στα άγκιστρα θα τρέξουν τουλάχιστον μία φορά! 10
Εντολές break και continue (1) break: όταν η εντολή break εκτελείται μέσα σε έναν επαναληπτικό βρόγχο, σταματά άμεσα τις επαναλήψεις του. Το πρόγραμμα συνεχίζει με τις εντολές που ακολουθούν. Μπορεί να χρησιμοποιηθεί με όλες τις επαναληπτικές εντολές (for, while, do-while) 11
Εντολές break και continue (2) continue: όταν η εντολή continue εκτελείται μέσα σε έναν επαναληπτικό βρόγχο, σταματά την τρέχουσα επανάληψη και αρχίζει αμέσως την επόμενη. Αυτό σημαίνει ότι δεν εκτελούνται οι εντολές μέσα στα άγκιστρα που απομένουν να εκτελεστούν για να ολοκληρωθεί η τρέχουσα επανάληψη. Μπορεί να χρησιμοποιηθεί με όλες τις επαναληπτικές εντολές (for, while, do-while), σε βρόχο επανάληψης. 12
Η εντολή goto Στέλνει τον υπολογιστή σε κάποιο σημείο του προγράμματος από όπου θα συνεχίσει να τρέχει εντολές. Η goto συνδυάζεται με κάποια ετικέτα, η οποία «μαρκάρει» ένα σημείο του προγράμματος (είναι κάτι σαν διεύθυνση). Μια ετικέτα (label) έχει ένα όνομα και έπειτα άνω-κάτω τελεία. 13
Βιβλιογραφία Συνδουκάς Δημήτρης 2007, Εισαγωγή στη γλώσσα προγραμματισμού C, Εσωτερική έκδοση του ΤΕΙ Χατζηγιαννάκης Ν. Μ., Η Γλώσσα C σε βάθος (4η έκδοση), Εκδόσεις Κλειδάριθμος, 2012, ISBN: 978-960-461-498-1. Τσελίκης Γ. Σ., Τσελίκας Ν. Δ., C: Aπό τη Θεωρία στην Εφαρμογή, Εκδότης: Νικόλαος Τσελίκας, 2012, ISBN: 978-960-93-1961-4. Schildt H., Οδηγός της C (3η έκδοση), Εκδόσεις Χ. Γκιούρδα και ΣΙΑ, 2000, ISBN: 978-960-512-228-7. Zhang T., Μάθετε τη C σε 24 Ώρες, Εκδόσεις Χ. Γκιούρδα και ΣΙΑ, 2000, ISBN: 960-512-233-2. Aitken Jones, Πλήρες Εγχειρίδιο της C, Εκδόσεις Χ. Γκιούρδα και ΣΙΑ, 2006, ISBN: 978-960-512-491-5. 14
Τέλος Ενότητας
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 16
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 17