Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD



Σχετικά έγγραφα
Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ:

Διαδικασιακός Προγραμματισμός

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

Εισαγωγή στην πληροφορική

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Διαδικασιακός Προγραμματισμός

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

Δομές ελέγχου ροής προγράμματος

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

a = 10; a = k; int a,b,c; a = b = c = 10;

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

Παίρνοντας Αποφάσεις 1

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

Εισαγωγή στον Προγραμματισμό

Κεφάλαιο 4ο: Εντολές επιλογής

Υπολογισμός - Εντολές Ελέγχου

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Ενότητα 1 Διάλεξη 3. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ÏÌÉÊÑÏÍ ÖÑÏÍÔÉÓÔÇÑÉÏ ÊÏÑÄÅËÉÏ

Εισαγωγή στον Προγραμματισμό

Η γλώσσα προγραμματισμού C

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Κεφάλαιο 5 Αξιωματική Σημασιολογία και Απόδειξη Ορθότητας Προγραμμάτων

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

Υπολογισμός - Εντολές Επανάληψης

Εντολή If-Then-Else Σκοπός Μαθήματος

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εντολές επιλογής Επαναλήψεις (if, switch, while)

4. Επιλογή και Επανάληψη

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

ιαφάνειες παρουσίασης #3

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ιαδικαστικός Προγραμματισμός

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 -

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014

Προγραμματισμός Ι (ΗΥ120)

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Θέματα Προγραμματισμού Η/Υ

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Προγραμματισμός Ι (HY120)

Ει αγωγή η Fortran.

Πληροφορική. Ενότητα 4: Α. Λογικές εκφράσεις (Παραστάσεις και Δείκτες). Β. Δομές Προγραμματισμού. Κωνσταντίνος Καρατζάς Τμήμα Μηχανολόγων Μηχανικών

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

Προγραμματισμός PASCAL

Εισαγωγή στους Υπολογιστές

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές»

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή IF ΕΝΤΟΛΗ IF. Παράδειγμα #1. Παράδειγμα #1

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Γ ΤΑΞΗ ΗΜΕΡΗΣΙΟΥ ΕΠΑ.Λ ΜΑΘΗΜΑ ΕΙ ΙΚΟΤΗΤΑΣ ΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΚΦΩΝΗΣΕΙΣ

Προγραμματισμός και Εφαρμογές Υπολογιστών

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Αρχεία Δεδομένων. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Υπολογιστικά Συστήματα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ ÊÁËÁÌÁÔÁ

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

Διδακτική της Πληροφορικής

Transcript:

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Δομή Επιλογής Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Δομή Επιλογής (Απόφασης) Εκτέλεση υπό συνθήκη IF THEN IF THEN ELSE IF THEN ELSE IF ELSE Εκτέλεση κατά περίπτωση SELECT CASE

Δομές Επιλογής/Απόφασης Χρησιμοποιούνται για να παρακάμψουμε την διαδοχική εκτέλεση του κώδικα Απαρτίζονται από Κάποια έκφραση ελέγχου (έκφραση λογικού τύπου δεδομένων) για την λήψη κάποιας απόφασης Αλληλουχίες εκφράσεων που εκτελούνται αναλόγως της περίπτωσης Όταν κατά την εκτέλεση του πηγαίου κώδικα βρεθεί μια τέτοια δομή ο κώδικας συνεχίζει να εκτελείται κάνοντας προκαθορισμένα (προγραμματισμένα) λογικά άλματα. Μετά την ολοκλήρωση της εκτέλεσης της δομής, ο κώδικας συνεχίζει να εκτελείται διαδοχικά

Εκτέλεση υπό συνθήκη Χρησιμοποιείται για Λήψη Αποφάσεων Η βασική μορφή [ΟΝΟΜΑ ΔΟΜΗΣ:] IF (έκφραση ελέγχου) THEN εντολές_1 [ELSE [ΟΝΟΜΑ ΔΟΜΗΣ] εντολές_2] END IF [ΟΝΟΜΑ ΔΟΜΗΣ] Προσοχή: Οι παρενθέσεις είναι υποχρεωτικές! Η έκφραση ελέγχου είναι μία έκφραση λογικού τύπου Αν η έκφραση ελέγχου είναι.true. (αληθής) εκτελούνται οι statements #1.false. (ψευδής) εκτελούνται οι statements #2 Η δομή τερματίζεται στην εντολή END IF (ή ENDIF) To «όνομα δομής» είναι προαιρετικό

Εκτέλεση υπό συνθήκη Η απλή μορφή Μόνο μία εντολή: read, print, write, = IF (έκφραση ελέγχου) εντολή Η σύνθετη μορφή Χωρίς THEN Χωρίς END IF [ΟΝΟΜΑ ΔΟΜΗΣ:] IF (έκφραση ελέγχου_1) ΤΗΕΝ εντολές _1 ELSEIF (έκφραση ελέγχου_2) ΤΗΕΝ εντολές _2 ELSEIF (έκφραση ελέγχου_3) ΤΗΕΝ εντολές_3 [ELSE [ΟΝΟΜΑ ΔΟΜΗΣ] εντολές ] ENDIF [ΟΝΟΜΑ ΔΟΜΗΣ]

Παρατηρήσεις Η αποτίμηση μιας σύνθετης συνθήκης ελέγχου τερματίζει ακριβώς τη στιγμή, που μπορεί να εξαχθεί ασφαλές συμπέρασμα για το αποτέλεσμά της π.χ. Αν x=10 τότε στη συνθήκη (x>5.or. y<x+2) μόλις γίνει η απoτίμηση της x>5 μπορεί να εξαχθεί ασφαλές συμπέρασμα για το ότι το αποτέλεσμα θα είναι.true., επομένως ο compiler δεν ελέγχει καθόλου αν y<x+2 Τρόποι ελέγχου αν μία μεταβλητή λογικού τύπου έχει τιμή.true. ΣΩΣΤΗ ΣΥΝΤΑΞΗ IF (f) THEN IF (f.eqv..true.) THEN IF (f ==.true.) THEN IF (f /=.false.) THEN ΛΑΘΟΣ ΣΥΝΤΑΞΗ Τρόποι ελέγχου αν μία μεταβλητή λογικού τύπου έχει τιμή.false. IF (.not. f) THEN IF (f.eqv..false.) THEN IF (f ==.false.) THEN IF (f /=.true.) THEN

Ένθεση δομών εκτέλεσης υπό συνθήκη Αν θέλουμε να πάρουμε διαδοχικά δύο ή περισσότερες αποφάσεις τότε ενθέτουμε δομές τύπου IF-THEN-ELSE την μία μέσα στην άλλη (εμφωλευμένες δομές) Κάθε μια δομή πρέπει να τερματίζεται με την δική της εντολή END IF

Προσοχή ΛΑΘΟΣ ΣΥΝΤΑΞΗ IF (...) THEN... ELSE IF (...) THEN... END IF Στη δομή IF ELSEIF το IF πρέπει να γράφετε στην ίδια γραμμή με το ELSE διαφορετικά θεωρείται εμφωλευμένο IF με συνέπεια να θέλει δικό του END IF ΣΩΣΤΗ ΣΥΝΤΑΞΗ IF (...) THEN... ELSE IF (...) THEN... END IF??? IF (...) THEN... ELSE IF (...) THEN... END IF END IF

Εκτέλεση κατά περίπτωση [ΟΝΟΜΑ ΔΟΜΗΣ:]SELECT CASE (selector) CASE (value-list 1) statements #1 CASE (value-list 2) statements #2 CASE DEFAULT statements #Ν END SELECT [ΟΝΟΜΑ ΔΟΜΗΣ] Οι λίστες τιμών πρέπει να είναι αμοιβαία αποκλειόμενες μεταξύ τους. (Η FTN95 βγάζει συντακτικό σφάλμα διαφορετικά) SELECTOR: έκφραση τύπου integer, logical, character VALUE-LIST: τιμή τύπου integer, logical, character STATEMENTS: ακολουθία εκφράσεων υπολογισμού

Σύνταξη Λίστας Τιμών Η λίστα τιμών στις δομές επιλογής έχει τους ακόλουθους τρόπους σύνταξης Σύνταξη Εκτέλεση αντίστοιχης επιλογής όταν ο επιλογέας λάβει τιμή Πεδίο ορισμού λίστας τιμών value1 Μόνο τη τιμή value1 [value1] value1: Μεγαλύτερη ή ίση της value1 [value1, + ) value1: value2 Οποιαδήποτε τιμή μεταξύ των value1, value2 συμπεριλαμβανομένων και των τιμών αυτών (σημ.: value1<value2) [value1, value2] :value2 Μικρότερη ή ίση της value2 (-, value2] Συνδυασμοί π.χ. (1, 2, 7, 10:17, 23) Οποιαδήποτε τιμή περιλαμβάνεται στη λίστα Απαγορεύονται οι επικαλύψεις

Παρατηρήσεις Η απλή δομή επιλογής IF-ENDIF είναι η πιο γενική από όλες. Όλα τα προβλήματα που απαιτούν κάποια δομή επιλογής μπορούν να επιλυθούν αποκλειστικά και μόνο με αυτή, όσο σύνθετα και αν είναι. (Ο κώδικας, όμως, γίνεται πολύπλοκος) Στις δομές ΙF-ELSEIF και SELECT CASE, όλες οι συνθήκες πρέπει να είναι αμοιβαία αποκλειόμενες (σε αυτό παίζει ρόλο και η σειρά εκτέλεσής τους) Όταν σε ένα πρόγραμμα υπάρχουν πολλές δομές επιλογής και ιδιαιτέρως αν αυτές είναι εμφωλευμένες, καλό είναι να τις ονοματίζουμε

Μερικές Χρήσεις της Δομής Επιλογής Απλός έλεγχος εγκυρότητας δεδομένων (εύρους αποδεκτών τιμών) Αποφυγή σφαλμάτων χρόνου εκτέλεσης, όπως π.χ. διαίρεση με το 0 Κλιμακωτές χρεώσεις Υπολογισμών τιμών συναρτήσεων με κλάδους Εύρεση Μεγίστου Ελαχίστου Απλό Μενού Επιλογών Πίνακες περιπτώσεων π.χ Περίπτωση 1 Τιμή 1 Περίπτωση 2 Τιμή 2 Περίπτωση 3 Τιμή 3 Κατηγορία Α Κατηγορία Β Περίπτωση 1 Τιμή Α1 Τιμή Β1 Περίπτωση 2 Τιμή Α2 Τιμή Β2 Περίπτωση 3 Τιμή Α3 Τιμή Β3