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

Σχετικά έγγραφα
Υπολογιστές Ι. Άδειες Χρήσης. Εντολή IF. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολή if. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Εκχώρηση Τιμών

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO. Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος.

Προγραμματισμός I (Θ)

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

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

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

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

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

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

Γ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. ΔΟΜΗ ΕΠΙΛΟΓΗΣ Διδάσκων: ΔΟΥΡΒΑΣ ΙΩΑΝΝΗΣ

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης while for do-while ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Παράδειγμα #1 Εντολή while

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων

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

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

7. Βασικά στοιχεία προγραµµατισµού.

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ

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

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

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

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

β. Ποιοι λόγοι θα μας οδηγούσαν στο να αναθέσουμε την επίλυση προβλημάτων στον υπολογιστή; (μονάδες 4) (Μονάδες 6)

Βασικές έννοιες προγραμματισμού

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

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

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

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

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

Pascal, απλοί τύποι, τελεστές και εκφράσεις

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Υπολογιστές Ι. Άδειες Χρήσης. Μεταβλητές και πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

Εργαστήριο 5. Εντολή if και παραλλαγές: if-else, πολλαπλές if, πολλαπλές if-else. Απλές και σύνθετες εντολές. Εντολή switch.

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

Πρόβλημα 29 / σελίδα 28


Συμβολικά ονόματα που δίνονται σε θέσεις μνήμης όπου αποθηκεύονται αριθμοί. ιεύθυνση

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Εισαγωγικά στοιχεία αλγορίθμων -Δομή Ακολουθίας Δομή Επιλογής ΗΜΕΡΟΜΗΝΙΑ 10/ 07/ 2017 ΟΝΟΜΑΤ/ΜΟ ΒΑΘΜΟΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

ΔΟΜΗ ΕΠΙΛΟΓΗΣ. Οι διάφορες εκδοχές της

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Δομές Διακλάδωσης. Κεφάλαιο 6 Trimos Mike

Ηλεκτρονικοί Υπολογιστές

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

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

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

ΚΟΡΥΦΑΙΟ ΦΡΟΝΤΙΣΤΗΡΙΟ korifeo.gr Μάθημα :Προγραμματισμός Εξεταζόμενη ύλη : 2o, 3o,4o,5o κεφάλαιο ΘΕΜΑ 1 ο

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2

ΕΠΙΤΡΟΠΗ ΔΙΑΓΩΝΙΣΜΩΝ 36 η Εθνική Μαθηματική Ολυμπιάδα «Ο ΑΡΧΙΜΗΔΗΣ» 23 Φεβρουαρίου 2019 Θέματα και ενδεικτικές λύσεις μεγάλων τάξεων

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ÅÐÉËÏÃÇ

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

Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών ΙΙ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ΕΚΦΩΝΗΣΕΙΣ

επιµέλεια Θοδωρής Πιερράτος

του προγράμματος diagrama_rohs.zip )

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Λογικές εκφράσεις και μεταβλητές

Σημειωματάριο Δευτέρας 9 Οκτ. 2017

Υπολογιστικά & Διακριτά Μαθηματικά

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

Κεφάλαιο 7 Βασικά Θέματα Προγραμματισμού. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

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

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

Shell Scripts: loops / if / test

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Transcript:

ΥΠΟΛΟΓΙΣΤΕΣ Ι Τι χρειάζεται η εντολή IF ΕΝΤΟΛΗ IF Μέχρι τώρα είδαμε ότι οι εντολές ενός προγράμματος εκτελούνται από την αρχή έως το τέλος διαδοχικά η μία μετά την άλλη Υπάρχουν προγράμματα όπου χρειάζεται σε κάποια περίπτωση να εκτελεστούν ορισμένες εντολές και σε κάποια άλλη όχι Η εντολή IF επιτρέπει την επιλεκτική εκτέλεση κάποιων εντολών ελέγχοντας μια συνθήκη 1 2 Παράδειγμα #1 Παράδειγμα #1 Κατασκευάστε πρόγραμμα που θα επιλύει την εξίσωση πρώτου βαθμού A+B=0 όταν δίνονται τα και Β Υπενθύμιση: Η λύση είναι αν αλλιώς δεν υπάρχει λύση PROGRAM SOLVE1 DOUBLE PRECISION A, B, X WRITE (*,*) 'Εισάγετε τους συντελεστές,β' READ (*,*) A, Β IF (ANE0) THEN X = -B/A WRITE (*,*) 'Η λύση είναι: ', X WRITE (*,*) 'Δεν υπάρχει λύση' 3 4

Συντακτικό της εντολής IF (1/4) Τι συγκρίσεις μπορεί να γίνουν ; IF ( σύγκριση ) ΤΗΕΝ εντολή1 εντολή2 εντολή1 εντολή2 Σημείωση: κάθε εντολή γράφεται μερικά κενά (ή ένα tab) πιο δεξιά για ευκρίνεια 5 Μεταξύ δύο μεταβλητών ή γενικότερα δύο παραστάσεων A και B μπορούν να γίνουν οι παρακάτω συγκρίσεις: Σύγκριση A EQ B A NE B A GT B A LT B A GE B A LE B Τι σημαίνει A = B A B A > B A < B A B A B Ετυμολογία EQual Not EQual Greater Than Less Than Greater or Equal Less or Equal Κάθε σύγκριση είναι είτε αληθής είτε ψευδής 6 Πως λειτουργεί η εντολή IF Παράδειγμα #2 IF ( σύγκριση ) ΤΗΕΝ εντολή1 εντολή2 εντολή1 εντολή2 Πρώτα γίνεται η σύγκριση Εάν η σύγκριση είναι αληθής εκτελείται το πρώτο τμήμα εντολών και το πρόγραμμα συνεχίζει μετά το Εάν η σύγκριση είναι ψευδής εκτελείται το δεύτερο τμήμα εντολών Σημείωση: Το τμήμα μπορεί να παραληφθεί 7 Κατασκευάστε πρόγραμμα που θα βρίσκει το μεγαλύτερο από δύο αριθμούς, Β που θα εισάγονται από το πληκτρολόγιο 8

Παράδειγμα #2 Παράδειγμα #2 - Επέκταση PROGRAM LARGE DOUBLE PRECISION A, B, M WRITE (*,*) 'Εισάγετε δύο αριθμούς, Β' READ (*,*) A, Β IF (AGTB) THEN M = A M = B WRITE (*,*) 'Ο μεγαλύτερος είναι', Μ Πως θα βρούμε το μεγαλύτερο από τρεις αριθμούς, Β, C που θα εισάγονται από το πληκτρολόγιο ; Σκεφτείτε το 9 10 Παράδειγμα #3 Παράδειγμα #3 Κατασκευάστε πρόγραμμα που θα βρίσκει ποιο από τα δύο σημεία του επιπέδου ( 1, 1 ) και ( 2, 2 ) βρίσκεται πιο μακριά και πόσο από το σημείο ( 0, 0 ) ( 1, 1 ) ( 2, 2 ) d 2 d 1 (0,0 ) Υπενθύμιση: Η απόσταση d 1 είναι: 11 PROGRAM DIST DOUBLE PRECISION Χ0, Υ0, Χ1, Υ1, Χ2, Υ2 DOUBLE PRECISION D1, D2 WRITE (*,*) 'Εισάγετε τα σημεία' READ (*,*) Χ0, Υ0, Χ1, Υ1, Χ2, Υ2 D1 = SQRT((X1-X0)**2+(Y1-Y0)**2) D2 = SQRT((X2-X0)**2+(Y2-Y0)**2) IF (D1GTD2) THEN WRITE (*,*) 'Μακρύτερα είναι το πρώτο', D1 WRITE (*,*) 'Μακρύτερα είναι το δεύτερο', D2 12

Παράδειγμα #4 Παράδειγμα #4 Κατασκευάστε πρόγραμμα που θα βρίσκει εάν ένα σημείο του επιπέδου ( 1, 1 ) βρίσκεται εντός ή εκτός κύκλου με κέντρο ( 0, 0 ) και ακτίνα R Στην πρώτη περίπτωση το πρόγραμμα να εμφανίζει την απόσταση από το κέντρο του κύκλου ενώ στη δεύτερη την απόσταση από την περιφέρειά του ( 1, 1 ) ( 0, 0 ) ΕΝΤΟΣ ( 0, 0 ) ΕΚΤΟΣ ( 1, 1 ) 13 PROGRAM CIRCLΕ DOUBLE PRECISION Χ0, Υ0, R, Χ1, Υ1, D WRITE (*,*) 'Εισάγετε κέντρο και ακτίνα κύκλου' READ (*,*) Χ0, Υ0, R WRITE (*,*) 'Εισάγετε το σημείο' READ (*,*) Χ1, Υ1 D = SQRT((X0-X1)**2+(Y0-Y1)**2) IF (DLER) THEN WRITE (*,*) 'Το σημείο είναι εντός ', D D = D-R WRITE (*,*) 'Το σημείο είναι εκτός ', D 14 Συντακτικό της εντολής IF (2/4) Συντακτικό της εντολής IF (3/4) IF ( σύγκριση1 ) ΤΗΕΝ εντολή IF ( σύγκριση2 ) ΤΗΕΝ εντολή IF ( σύγκριση3 ) ΤΗΕΝ εντολή εντολή Τμήμα IF 1 o τμήμα IF 2 o τμήμα IF Τμήμα Εκτελείται όταν όλες οι συγκρίσεις είναι ψευδείς 15 Ορισμένες παρατηρήσεις για την εντολή IF: Το πρώτο τμήμα IF πρέπει να υπάρχει υποχρεωτικά Το τμήμα μπορεί να παραληφθεί Μπορεί να υπάρχουν πολλά τμήματα IF Εκτελούνται οι εντολές ενός μόνο από όλα τα τμήματα μιας εντολής IF Εντός κάθε τμήματος επιτρέπεται να υπάρχουν άλλες εντολές IF 16

Συντακτικό της εντολής IF (4/4) Παράδειγμα #5# Η εντολή IF που περιγράψαμε λέγεται τμηματική εντολή IF Σε ορισμένες περιπτώσεις δεν υπάρχουν τα τμήματα IF και, και επιπλέον το τμήμα IF περιέχει μια μόνο εντολή, δηλαδή είναι της μορφής: IF ( σύγκριση ) ΤΗΕΝ εντολή Τότε η εντολή μπορεί να απλοποιηθεί σε μια γραμμή ως εξής: Κατασκευάστε πρόγραμμα που θα βρίσκει τις πραγματικές λύσεις (αν υπάρχουν) της δευτεροβάθμιας εξίσωσης A 2 + B + C = 0 όταν δίνονται τα, B και C Υπενθύμιση: ν =0 τότε έχουμε μια εξίσωση πρώτου βαθμού IF ( σύγκριση ) εντολή Οι λύσεις της δευτεροβάθμιας είναι: Η εντολή αυτή ονομάζεται λογική εντολή IF 17 18 Παράδειγμα #5# Παράδειγμα #5# (συνέχεια) PROGRAM SOLVE2 DOUBLE PRECISION A, B, C, X, D, X1, X2 WRITE (*,*) 'Εισάγετε τους συντελεστές,β,c' READ (*,*) A, Β, C IF (AEQ0) THEN C Είναι εξίσωση πρώτου βαθμού IF (BNE0) THEN X = -C/B WRITE (*,*) ' Η λύση είναι: ', X WRITE (*,*) 'Δεν υπάρχει λύση' Συνεχίζεται Συνέχεια C Είναι εξίσωση δευτέρου βαθμού D = B**2-4*A*C IF (DEQ0) THEN Χ = -Β/(2*) WRITE (*,*) ' Η λύση είναι: ', X IF (DGT0) THEN Χ1 = (-B+SQRT(D))/(2*A) Χ2 = (-B-SQRT(D))/(2*A) WRITE (*,*) ' Η λύσεις είναι:',x1,χ2 WRITE (*,*) 'Δεν υπάρχει λύση' 19 20

Σύνθετες λογικές παραστάσεις Πίνακες αλήθειας (AND) Μπορούμε να κατασκευάσουμε σύνθετες λογικές παραστάσεις με τη χρήση των λογικών τελεστών OR AND NOT IF ( σύγκριση1 AND σύγκριση2 ) ΤΗΕΝ IF ( σύγκριση1 OR σύγκριση2 ) ΤΗΕΝ IF ( NOT σύγκριση ) ΤΗΕΝ Το αποτέλεσμα μιας σύνθετης λογικής παράστασης είναι είτε αληθές είτε ψευδές και εξαρτάται από τις επιμέρους συγκρίσεις σύγκριση1 σύγκριση2 σύγκριση1 AND σύγκριση2 Πρακτικός κανόνας: Το τελικό αποτέλεσμα είναι αληθές όταν και οι δύο συγκρίσεις είναι αληθείς 21 22 Πίνακες αλήθειας (OR) Πίνακες αλήθειας (NOT) σύγκριση1 σύγκριση2 σύγκριση1 OR σύγκριση2 A A Πρακτικός κανόνας: Το τελικό αποτέλεσμα είναι αληθές όταν είτε η μία είτε η άλλη σύγκριση είναι αληθείς σύγκριση NOT σύγκριση Ο τελεστής NOT αντιστρέφει το αποτέλεσμα της σύγκρισης 23 24

Παράδειγμα #6 Παράδειγμα #6 Με ποια εντολή IF μπορούμε να βρούμε αν μια μεταβλητή X είναι μεταξύ δύο δοσμένων ορίων, Β ; Χ Β ΙF (XGEA AND XLEB) THEN ληθής ληθής ληθής Χ Β ΙF (XGEA AND XLEB) THEN ευδής ληθής Β Χ ΙF (XGEA AND XLEB) THEN ληθής ευδής ευδής ευδής 25 26 Προτεραιότητες λογικών τελεστών Παράδειγμα #7# Σε μια σύνθετη λογική παράσταση όπως πχ AGT0 AND BGT0 OR CEQ4 η σειρά των λογικών πράξεων καθορίζεται από την προτεραιότητα των τελεστών Για τελεστές ίδιας προτεραιότητας οι πράξεις γίνονται από αριστερά προς τα δεξιά Τελεστής ΝΟΤ AND OR Προτεραιότητα Υψηλή Χαμηλή Με ποια εντολή IF μπορούμε να διαπιστώσουμε αν ένας ακέραιος είναι άρτιος ή περιττός ; Υπενθύμιση: Ένας ακέραιος είναι άρτιος αν είναι πολλαπλάσιο του δύο, δηλαδή διαιρείται ακριβώς με το δύο χωρίς να αφήνει υπόλοιπο Οι πράξεις σε παρενθέσεις γίνονται πάντα πρώτες Πχ AGT0 AND (BGT0 OR CEQ4) 27 28

Παράδειγμα #7# Παράδειγμα #7# (συνάρτηση MOD) Έστω Ν ο ακέραιος Κ = Ν/2 κέραια διαίρεση με το 2 Υ = Ν-2*Κ Υπόλοιπο της διαίρεσης IF (YEQ0) THEN Έλεγχος του υπολοίπου άρτιος περιττός ή πιο σύντομα: Η συνάρτηση MOD(A,B) επιστρέφει ως αποτέλεσμα το υπόλοιπο της διαίρεσης του από τον Β IF (MOD(N,2)EQ0) THEN άρτιος περιττός Με την ίδια συνάρτηση μπορούμε να βρούμε αν ένας ακέραιος είναι πχ πολλαπλάσιο του 7: IF (Ν-2*(Ν/2)EQ0) THEN IF (MOD(N,7)EQ0) THEN 29 30 Παράδειγμα #8 Παράδειγμα #8 Δίνεται τετράγωνο με κέντρο το (0,0) και πλευρά Κατασκευάστε πρόγραμμα που θα βρίσκει αν ένα σημείο (,) είναι εντός ή εκτός του τετραγώνου Στην πρώτη περίπτωση θα εμφανίζει την απόσταση από το κέντρο των αξόνων ενώ στη δεύτερη την απόσταση από την πάνω δεξιά γωνία (,) (,) (-A/2,A/2) (A/2,A/2) Για να είναι ένα σημείο (,) εντός του τετραγώνου πρέπει: Η συντεταγμένη να είναι μεταξύ A/2 και /2 Επίσης η συντεταγμένη να είναι μεταξύ A/2 και /2 (-A/2,-A/2) (A/2,-A/2) ΕΝΤΟΣ ΕΚΤΟΣ 31 32

Παράδειγμα #8 Παράδειγμα #8 Πως βρίσκω αν το Χ είναι μεταξύ /2 και /2 ; IF (XGE-A/2 AND XLEA/2) THEN Πως βρίσκω αν το Y είναι μεταξύ /2 και /2 ; IF (YGE-A/2 AND YLEA/2) THEN Οι δύο έλεγχοι μπορούν να συνδυαστούν σε μία εντολή: IF ( XGE-A/2 AND XLEA/2 AND YGE-A/2 AND YLEA/2 ) THEN 33 PROGRAM SQUARE DOUBLE PRECISION Χ, Υ, A, D WRITE (*,*) 'Εισάγετε την πλευρά του τετραγώνου' READ (*,*) A WRITE (*,*) 'Εισάγετε το σημείο' READ (*,*) Χ, Υ IF ( XGE-A/2 AND XLEA/2 AND & YGE-A/2 AND YLEA/2 ) THEN D = SQRT(X**2+Y**2) WRITE (*,*) 'Το σημείο είναι εντός ', D D = SQRT((A/2-X)**2+(A/2-Y)**2) WRITE (*,*) 'Το σημείο είναι εκτός ', D 34 Παράδειγμα #8 Επέκταση#1 Παράδειγμα #8 Επέκταση#2 Πως θα βρούμε αν ένα σημείο είναι εντός ή εκτός παραλληλογράμμου με κέντρο την αρχή των αξόνων και πλευρές, Β ; Σκεφτείτε το Πως θα βρούμε αν ένα σημείο είναι εντός ή εκτός παραλληλογράμμου με κέντρο το σημείο ( 0, 0 ) και πλευρές, Β ; Σκεφτείτε το 35 36

Παράδειγμα #9 Παράδειγμα #9 Δίνεται κύκλος ακτίνας R με κέντρο την αρχή των αξόνων και δύο σημεία με συντεταγμένες (1,1) και (2,2) ν και τα δύο σημεία είναι εντός του κύκλου ή και τα δύο είναι εκτός του κύκλου βρείτε τη μεταξύ τους απόσταση ν ένα σημείο είναι εντός και το άλλο είναι εκτός βρείτε ποιο από τα δύο απέχει λιγότερο από την περιφέρεια του κύκλου και ποια είναι η απόσταση αυτή ( 1, 1 ) ( 2, 2 ) Τ ΔΥΟ ΣΗΜΕΙ ΕΝΤΟΣ ( 1, 1 ) Τ ΔΥΟ ΣΗΜΕΙ ΕΚΤΟΣ ( 2, 2 ) ( 1, 1 ) ( 2, 2 ) ΕΝ ΣΗΜΕΙΟ ΕΝΤΟΣ ΕΝ ΣΗΜΕΙΟ ΕΚΤΟΣ Η διακεκομμένη γραμμή δείχνει ποια απόσταση ζητείται d 1 d 2 37 38 Παράδειγμα #9 Παράδειγμα #9 Με ποια εντολή IF διαπιστώνω σε ποια από τις τρεις περιπτώσεις βρίσκομαι ; A1 = SQRT(X1**2+Y1**2) A2 = SQRT(X2**2+Y2**2) IF (A1LER AND A2LER) THEN και τα δύο σημεία εντός IF (A1GTR AND A2GTR) THEN και τα δύο σημεία εκτός ένα σημείο εντός και ένα εκτός Όμως και στις δύο πρώτες περιπτώσεις ζητείται η απόσταση μεταξύ των δύο σημείων Μπορώ να συνδυάσω τους δύο ελέγχους: A1 = SQRT(X1**2+Y1**2) A2 = SQRT(X2**2+Y2**2) IF (A1LER AND A2LER OR A1GTR AND A2GTR) THEN και τα δύο σημεία εντός ή εκτός ένα σημείο εντός και ένα εκτός 39 40

Παράδειγμα #9 Παράδειγμα #9 Πως υπολογίζω τις αποστάσεις d 1 και d 2 ; ( 1, 1 ) ( 2, 2 ) d 1 d 2 d 2 d 1 ( 2, 2 ) ( 1, 1 ) Μπορώ να συνδυάσω τις δύο περιπτώσεις υπολογίζοντας τις αποστάσεις d 1 και d 2 ως: D1 = ABS(R-A1) D2 = ABS(A2-R) D1 = A1-R D2 = R-A2 D1 = R-A1 D2 = A2-R 41 42 Παράδειγμα #9 Παράδειγμα #9 (συνέχεια) PROGRAM CIRC2 DOUBLE PRECISION R, X1, Y1, X2, Y2 DOUBLE PRECISION A1, A2, D, D1, D2 WRITE (*,*) 'Εισάγετε τα R,X1,Y1,X2,Y2' READ (*,*) R, X1, Y1, X2, Y2 A1 = SQRT(X1**2+Y1**2) A2 = SQRT(X2**2+Y2**2) IF (A1LER AND A2LER OR & A1GTR AND A2GTR) THEN D = SQRT((X1-X2)**2+(Y1-Y2)**2) WRITE (*,*) D Συνεχίζεται D1 = ABS(R-A1) D2 = ABS(A2-R) IF (D1LTD2) THEN D = D1 D = D2 WRITE (*,*) D Συνέχεια 43 44

Παράδειγμα #10 Παράδειγμα #10 Δίνεται τετράγωνο πλευράς 2 καθώς και ο εγγεγραμμένος και ο περιγεγραμμένος κύκλος Δεδομένου ενός σημείου (,) βρείτε αν αν το το σημείο αυτό: Είναι εντός του περιγεγραμμένου κύκλου (πορτοκαλί περιοχή) Είναι εντός του τετραγώνου αλλά 1 εκτός του εγγεγραμμένου κύκλου (λευκή περιοχή) Είναι εντός του περιγεγραμμένου κύκλου αλλά εκτός του -1 1 τετραγώνου (γαλάζια περιοχή) -1 Είναι εκτός του περιγεγραμμένου κύκλου Ορισμένες παρατηρήσεις: Οι συντεταγμένες των τεσσάρων γωνιών του τετραγώνου είναι: Η ακτίνα του εγγεγραμμένου κύκλου είναι 1 Η ακτίνα του περιγεγραμμένου κύκλου είναι (-1,1) (1,1) (-1,-1) (1,-1) 45 46 Παράδειγμα #10 PROGRAM INAREA DOUBLE PRECISION X, Y WRITE (*,*) 'Εισάγετε τα X, Y' READ (*,*) X, Y IF (SQRT(X**2+Y**2)LE1) THEN WRITE (*,*) 'Εντός του εγγεγραμμένου κύκλου' IF (XGE-1 AND XLE1 AND & YGE-1 AND YLE1) THEN WRITE (*,*) 'Εντός του τετραγώνου' IF (SQRT(X**2+Y**2)LESQRT(2D0)) THEN WRITE (*,*) 'Εντός του περιγεγραμμένου κύκλου' WRITE (*,*) 'Εκτός του περιγεγραμμένου κύκλου' 47