Κεφάλαιο 1 Αρχή ήμισυ παντός. Πλάτων, 427-347 π.χ., Φιλόσοφος Τι θα μάθουμε σήμερα: -AND, OR, NOT -Ενσωματωμένες συναρτήσεις -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD -Προτεραιότητα πράξεων 1
Λογικές και Μαθηματικές Εκφράσεις Κανόνας True = 1 False=0 AND= * OR= + ΠΑΡΑΔΕΙΓΜΑ 1) Α:=TRUE B:=FALSE Ποια είναι η τιμή της παρακάτω λογικής έκφρασης; Α AND B=; ΛΥΣΗ Αντικαθιστούμε τις αντίστοιχες τιμές των μεταβλητών Α και Β και έτσι προκύπτει: True AND False Δηλαδή 1 * 0=0 ΑΡΑ True AND False=False 2) Α:=TRUE B:=FALSE Ποια είναι η τιμή της παρακάτω λογικής έκφρασης; True OR False 2
ΛΥΣΗ Αντικαθιστούμε τις αντίστοιχες τιμές των μεταβλητών Α και Β και έτσι προκύπτει: True OR False Δηλαδή 1 + 0=1 ΑΡΑ True OR False=TRUE Κανόνας Ο τελεστής ΝΟΤ αντιστρέφει την τιμή που ακολουθεί. Aν ακολουθεί True μετατρέπει το σε False και αν ακολουθεί False το μετατρέπει σε True. ΠΑΡΑΔΕΙΓΜΑ Not True=False Not False=True ΣΗΜΕΙΩΣΗ: Στην Pascal δεν έχει σημασία αν γράψουμε κάποια εντολή κεφαλαία ή μικρά(δεν είναι case sensitive γλώσσα η Pascal) 3
Ενσωματωμένες Συναρτήσεις Υπάρχουν συγκεκριμένες συναρτήσεις ενσωματωμένες στη βιβλιοθήκη της Pascal οι οποίες βοηθάνε στην αναπαράταση κάποιων μαθηματικών τύπων και όχι μόνο στη γλώσσα προγραμματισμού Pascal. 1) ABS Η συνάρτηση αυτή επιστρέφει την απόλυτη τιμής της παράστασης στην παρένθεση. ΠΑΡΑΔΕΙΓΜΑ: Πως μπορώ να αναπαραστήσω την παρακάτω μαθηματική εξίσωση: Ζ= x-3 Την αναπαραστώ ως εξής: Ζ:=abs(x-3) 2) TRUNC Η συνάρτηση αυτή επιστρέφει την ακέραια τιμή της παρένθεσης χωρίς τα δεκαδικά ψηφία. ΠΑΡΑΔΕΙΓΜΑ: laouris:=trunc(5.77) Το αποτέλεσμα είναι: LAOURIS:=5 3) ROUND Η συνάρτηση αυτή στρογγυλοποιεί την τιμή της παρένθεσης είτε προς τα πάνω είτε προς τα κάτω, ανάλογα με τα στοιχεία της υποδιαστολής. Αν είναι >=0.5 τότε η στρογγυλοποίηση γίνεται προς τα πάνω. Διαφορετικά η στρογγυλοποίηση γίνεται προς τα κάτω. laouris:=round(3.77)=4 LAOURIS:=ROUND(3.49)=3 4
LAOURIS:=round(3.5)=4 4) SQRT Η συνάρτηση αυτή επιστρέφει την ρίζα της τιμής που βρίσκεται στην παρένθεση. ΠΑΡΑΔΕΙΓΜΑ: LAOURIS = x + 3 ΛΥΣΗ: laouris:=sqrt(x+3) 5) SQR Η συνάρτηση αυτή επιστρέφει το τετράγωνο της τιμής που βρίσκεται στην παρένθεση. ΠΑΡΑΔΕΙΓΜΑ: Να εκφράσετε την παρακάτω μαθηματική εξίσωση σε γλώσσα προγραμματισμού Pascal: LAOURIS=X 2 ΛΥΣΗ LAOURIS:=sqr(Χ) 6) ODD Η συνάρτηση αυτή επιστρέφει True αν η τιμή της παρένθεσης είναι περιττός αριθμός. Διαφορετικά επιστρέφει την τιμή False. ΠΑΡΑΔΕΙΓΜΑ: LAOURIS:=ODD(5) LAOURIS:=TRUE LAOURIS:=ODD(6) LAOURIS:=FALSE 5
7) SIN Η συνάρτηση αυτή επιστρέφει το ημίτονο της τιμής της παρένθεσης. ΠΑΡΑΔΕΙΓΜΑ: laouris:=sin(90 o ) LAOURIS:=1 8) COS Η συνάρτηση αυτή επιστρέφει το συνιμήτονο της τιμής της παρένθεσης ΠΑΡΑΔΕΙΓΜΑ: LAOURIS:=cos(90) LAOURIS:= 0 ο ΣΗΜΑΝΤΙΚΗ ΣΗΜΕΙΩΣΗ: Δεν υπάρχει συνάρτηση η οποία να επιστρέφει την εφαπτομένη στη Γλώσσα Προγραμματισμού Pascal. Ως εφαπτομένη μπορούμε να ορίσουμε: ημ(χ) συν(χ) 9) PRED Η συνάρτηση αυτή επιστρέφει τον προηγούμενο ακέραιο αριθμό της παρένθεσης: ΠΑΡΑΔΕΙΓΜΑ: LAOURIS:=PRED(9) LAOURIS:=8 LAOURIS:=PRED(-9) LAOURIS:=-10 10) SUCC Η συνάρτηση αυτή επιστρέφει τον επόμενο ακέραιο αριθμό της παρένθεσης: ΠΑΡΑΔΕΙΓΜΑ: laouris:=succ(9) laouris:=10 6
LAOURIS:=succ(-9) laouris:=-8 11) CHR Κάθε χαρακτήρας που εισάγεται στον υπολογιστή έχει ένα τακτικό αριθμό. Στην πληροφορική υπάρχουν ειδικά αλφάβητα (π.χ. ASCII, UNICODE). Κάθε χαρακτήρας ο οποίος εισάγεται στον υπολογιστή αντιπροσωπεύει ένα αριθμό σε αυτό το αλφάβητο. Για παράδειγμα: Α) Όταν πληκτρολογήσω: Α τότε ο τακτικός αριθμός ο οποίος καταλαβαίνετε από τον υπολογιστή είναι το 65. Β) Όταν πληκτρολογήσω: a τότε ο τακτικός αριθμός ο οποίος αντιστοιχεί σε αυτό το γράμμα είναι το 97. Η συνάρτηση CHR επιστρέφει το χαρακτήρα που αντιστοιχεί στον αριθμό που βρίσκεται στην παρένθεση. Για παράδειγμα: LAOURIS:=CHR(65) laouris:= A LAOURIS:=chr(98) laouris:= b 12) ORD Η συνάρτηση αυτή επιστρέφει τον τακτικό αριθμό που αντιστοιχεί στο χαρακτήρα της παρένθεσης. Για παράδειγμα: Laouris:=ord( A ) Laouris:=65 Laouris:=ord( c ) Laouris:=99 13) EXP Η εκθετική συνάρτηση exp, επιστρέφει τον αριθμό e στη δύναμη που αντιστοιχεί στον αριθμό της παρένθεσης. Για παράδειγμα: 7
Laouris:=exp(3) laouris:= e 3 Laouris:=exp(x+7) laouris:=e x+7 14) LN Η συνάρτηση LN επιστρέφει το λογάριθμο με βάση 10 του αριθμού της παρένθεσης. Για παράδειγμα Laouris:=LN(x) 15) ARCTAN Η συνάρτηση αυτή επιστρέφει το τόξο της εφαπτομένης του αριθμού της παρένθεσης. Για παράδειγμα: Laouris:= ARCTAN(x) Μαθηματικοί τελεστές: Πρόσθεση + Αφαίρεση - Πολλαπλασιασμός * Διαίρεση / 8
Ακέραια διαίρεση Υπόλοιπο DIV MOD Εφαρμογές Μαθηματικών Τελεστών 1) Laouris:=5 +3 (=8) 2) Laouris:=5-3 (=2) 3) Laouris:=5*3 (=15) 4) Laouris:=5/3 (1 2 / 3 ) ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD Οι τελεστέ αυτοί μπορούν να εφαρμοστούν μόνο σε ακέραιες τιμές και το αποτέλεσμα θα είναι και αυτό ακέραιο. DIV Επιστρέφει το ακέραιο πηλίκο της διαίρεσης ενός αριθμού με ένα άλλο. Για παράδειγμα: Laouris:=5 div 2 laouris:=2 Laouris:=2 div 5 laouris:=0 MOD Επιστρέφει το ακέραιο υπόλοιπο της διαίρεσης δύο ακέραιων αριθμών. Για παράδειγμα: Laouris:=5 mod 2 laouris:=1 Laouris:=2 mod 5 laouris:=2 Προτεραιότητα πράξεων 1 Παρενθέσεις () 2 ΝΟΤ 3 * / DIV MOD AND 9
4 + - OR 5 = <> > < <= >= ΑΣΚΗΣΕΙΣ 1) Να γράψετε το αποτέλεσμα των πιο κάτω λογικών εκφράσεων: 10
A := True; B := False; a) A AND B b) A OR B c) A OR NOT B d) (A AND B) OR A e) A AND NOT B f) A OR B AND A g) A AND B OR A AND B h) A AND B OR NOT A AND NOT A OR A AND B i) A AND (5=5) OR (7>10) AND NOT B OR (9<7) j) (177>=178) OR A AND NOT B OR (7=7) AND NOT A OR B 2) Να γράψετε το αποτέλεσμα των πιο κάτω λογικών εκφράσεων: Α:=True; B:=False; C:=False; D:=True; E:=False; F:=True; a) A AND B OR C AND D OR E AND F b) NOT A OR NOT B AND NOT F OR F AND NOT E c) (B=A) AND (A>B) OR (E>=D) 11
d) E OR NOT F AND (B>=A) OR (B=D) AND (D>=A) OR (D<=A) e) A OR NOT B AND (A<D) OR (B>E) 3) Να μετατρέψετε τις παρακάτω μαθηματικές εκφράσεις σε κατάλληλη γλώσσα προγραμματισμού: a) A=(k-z 3 )+z* (z-1) 2 b) A=( (X+k 2 ) - Y 2 ) 2 c) A=7*A * 7x d) (A+1) 2 e) A= X Y Z /(4* X ) f) A X 5 ( ) ( y ) y3 y g) A= K * x*(3 2 4 2 ) h) A=3*A * ( 3*x - 7 y ) i) 8 A b 2 4* a* c 2* a A b 4* c (2 b) 2 12
j) k) A b 4* c (2 b) a b 2 c 5 4) Να υπολογίσετε τα αποτελέσματα των παρακάτω παραστάσεων. a) Ζ:=20/6 b) Ζ:=30 MOD 7 c) Z:=20 DIV 6 d) Z:=(20 DIV 6)+(30 MOD 7) e) Z:=29 MOD 3 f) Z:=3 DIV 2 g) Z:=3/2 h) Z:=3 MOD 2 i) Z:=5 DIV 6 j) Z:=5 MOD 6 k) Z:=5/6 l) Z:=1 DIV 2 m) Z:=1 MOD 2 13
n) Z:=1/2 o) Z:=5 DIV 3 MOD 2 p) Z:=5 DIV(3 MOD 2) q) Z:=3*2/4-1 r) Z:=PRED(88)-SUCC(77) +ROUND(7.77) s) Z:=7 MOD 2 + 2 MOD 7 + 10 DIV 3-3 DIV 10 t) Z:=ROUND(9.3)-SQRT(36) TRUNC(10.67543)+SQR(3) u) Z:='PROGRAMMING' + ' ' + ' LANGUAGE' v) Z:=succ(-9)+pred(-7) 5. ΝΑ ΓΡΑΨΕΤΕ ΤΙΣ ΤΙΜΕΣ ΤΩΝ ΠΙΟ ΚΑΤΩ ΕΚΦΡΑΣΕΩΝ A = TRUE B = TRUE C = FALSE D = 0.98E2 1. A AND (B OR C)... 2. NOT A OR NOT C... 3. A AND (D<100) AND C... 4. A AND C OR B AND C... 6. ΝΑ ΓΡΑΨΕΤΕ ΣΤΗΝ PASCAL ΛΟΓΙΚΕΣ ΕΚΦΡΑΣΕΙΣ ΓΙΑ ΤΟΥΣ ΠΙΟ ΚΑΤΩ ΕΛΕΓΧΟΥΣ 14
1. Η μεταβλητή Laouris να είναι μεγαλύτερη του 5. 2. Η μεταβλητή Χ να είναι αρνητικός αριθμός. 3. Η μεταβλητή laouris να είναι μεταξύ του 1 και 20 Ή μεταξύ 100 και 120, συμπεριλαμβανομένων. 4. Η μεταβλητή laouris να είναι περιττός αριθμός. 5. Η μεταβλητή NUMBER να είναι πολλαπλάσιο του 10 και συγχρόνως πολλαπλάσιο του 100. 7. ΝΑ ΓΡΑΨΕΤΕ ΣΤΗΝ PASCAL ΤΙΣ ΠΙΟ ΚΑΤΩ ΕΚΦΡΑΣΕΙΣ 1. A=x 2 + (x-1) 2 2. W= X - Y 2 3. C=3A * 4. Y= 4B 2 A 4X 2(x - y) 5. D= 5+X + C 3Y 6. W= 3 Y (3 ) 2 4 8. ΝΑ ΓΡΑΨΕΤΕ ΤΙΣ ΤΙΜΕΣ ΤΩΝ ΠΙΟ ΚΑΤΩ ΕΚΦΡΑΣΕΩΝ 1. ROUND(19.7) - SUCC(5)... 2. 'SUMMER' + 'HOLIDAYS'... 3. 25 MOD 20 + 16 DIV 3... 4. SQRT(25) TRUNC(5.67)... 5. NOT (10 >= 8) OR (10 < 5)... 6. (7 * 2 < 20) OR (4 < 10-6) AND (3 < 5)... 15
ΑΣΚΗΣΕΙΣ ΑΠΟ ΠΑΛΙΕΣ ΕΞΕΤΑΣΕΙΣ 1) (ΠΑΓΚΥΠΡΙΕΣ 2014) 16
2) (ΠΑΓΚΥΠΡΙΕΣ 2013) 17
3) (ΠΑΓΚΥΠΡΙΕΣ 2012) 4) (ΠΑΓΚΥΠΡΙΕΣ 2011) 18
5) (ΠΑΓΚΥΠΡΙΕΣ 2010) 6) (ΠΑΓΚΥΠΡΙΕΣ 2009) 19
7) (ΠΑΓΚΥΠΡΙΕΣ 2008) 20
8) (ΠΑΓΚΥΠΡΙΕΣ 2007) 9) (ΠΑΓΚΥΠΡΙΕΣ 2006) 21
10) (ΓΕΝΑΡΗΣ 2007-CCS) 11) (ΠΑΓΚΥΠΡΙΕΣ 2005) 12) 22
(ΠΑΓΚΥΠΡΙΕΣ 2005) 13) (ΕΝΙΑΙΕΣ 2002) 23
14) (ΕΝΙΑΙΕΣ 2002 Β ΣΕΙΡΑ) 15) (ΕΝΙΑΙΕΣ 2002 Β ΣΕΙΡΑ) 24
16) (ΠΑΓΚΥΠΡΙΕΣ 2004) 17) (ΠΑΓΚΥΠΡΙΕΣ 2004-Β ΣΕΙΡΑ) ΤΙΠΟΤΑ ΔΕΝ ΧΑΡΙΖΕΤΑΙ, ΤΑ ΠΑΝΤΑ ΚΑΤΑΚΤΩΝΤΑΙ!!! 25