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

Σχετικά έγγραφα
ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών

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

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

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

Το πρόβλημα: Εμβαδόν σφαίρας

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

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

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

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

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

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

Εισαγωγή στην Tcl. Τί είναι η Tcl;

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

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

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

Ανάπτυξη και Σχεδίαση Λογισμικού

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

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

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

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

οµές Επιλογής Εντολές if και switch

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

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

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

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

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 1 ο Εργαστήριο. Εισαγωγή στο Matlab

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

Ερωτήσεις Ασκήσεις Επανάληψης για τις Διακοπές των Χριστουγέννων

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

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

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

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

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

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

Εισαγωγή στη Matlab Βασικές Συναρτήσεις

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

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

Συναρτήσεις στη Visual Basic 6.0

Πληροφορική ΙΙ Θεματική Ενότητα 5

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Δομές επανάληψης

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

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

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Εντολές ελέγχου και επανάληψης

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

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

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

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

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

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Ψευδοκώδικας. November 7, 2011

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

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

HY118-Διακριτά Μαθηματικά. Προτασιακός Λογισμός. Προηγούμενη φορά. Βάσεις της Μαθηματικής Λογικής. 02 Προτασιακός Λογισμός

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

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

HY118-Διακριτά Μαθηματικά

Εισαγωγή στην Αριθμητική Ανάλυση

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο

Πρώτη επαφή με το μαθηματικό πακέτο Mathematica

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ

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

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

Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα

Κεφαλαιο 2.2 ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΕΣ ΑΛΓΟΡΙΘΜΟΙ

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

3 ο Εργαστήριο Μεταβλητές, Τελεστές

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Τύποι δεδομένων, τελεστές, μεταβλητές

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

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

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

true (1) αν και οι δύο είσοδοι είναι true (1) true (1) αν τουλάχιστον μια είσοδος είναι true (1)

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

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

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

Transcript:

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και Τεχνολογία Μια Εισαγωγή Έλεγχος συνθηκών - if Ας μελετήσουμε το πρόβλημα του υπολογισμού του ελάχιστου της συνάρτησης στο διάστημα [ L, R ]. Έτσι, θα πάρουμε μια ιδέα για τους ελέγχους συνθηκών. Γνωρίζουμε πως το ελάχιστο βρίσκεται στο κρίσιμο σημείο x c = b 2. 2 f ( x) x bx c Αν το x c [L,R ], τότε το ελάχιστο είναι το f ( x c ). Αν το x c [L,R ], τότε το ελάχιστο είναι είτε το f ( L ), είτε το f (R). Να γραφεί πρόγραμμα, το οποίο να ζητάει τους πραγματικούς αριθμούς L, R, b και c και να εμφανίζει το ελάχιστο της f ( x ) στο [ L, R ], καθώς και την τιμή του x στην οποία εμφανίζεται. Υπάρχουν 3 περιπτώσεις: (1) (2) (3) x c > R L x c R x c < L min = f(r) min = f(x c ) min = f(l) Ο ψευδο του αλγορίθμου: if x c < L εμφάνισε f(l) και L if L x c R εμφάνισε f(x c ) και x c εμφάνισε f(r) και R Για να μετατρέψουμε τον ψευδοκώδικα σε πρόγραμμα MATLAB χρειαζόμαστε: i. μια δομή γλώσσας που να επιτρέπει τη σύγκριση τιμών, ii. μια δομή γλώσσας που να εκτελεί το κατάλληλο τμήμα κώδικα, ανάλογα με το αποτέλεσμα της σύγκρισης. ver. 150105 Τμήμα Μαθηματικών ΕΚΠΑ 1

Άρα, υπάρχει η ανάγκη, ένα πρόγραμμα να μην εκτελείται πάντα σειριακά: αλλά έτσι: ή έτσι: κτλ. Δηλαδή, διάφορα τμήματα κώδικα εκτελούνται υπό συνθήκη. Στο MATLAB, αυτό γίνεται με την εντολή if. Η πιο βασική της μορφή είναι η δομή if-: Σύνταξη της if-: if λογική_έκφραση τμήμα κώδικα που εκτελείται αν η λογική έκφραση είναι αληθής τμήμα κώδικα που εκτελείται αν η λογική έκφραση είναι ψευδής ver. 150105 Τμήμα Μαθηματικών ΕΚΠΑ 2

Λογικές ( Boolean) εκφράσεις: Όπως οι αριθμητικές εκφράσεις (πράξεις) όταν υπολογίζονται παράγουν αριθμητικές τιμές, οι λογικές εκφράσεις παράγουν την τιμή true (Αληθές) ή false (Ψευδές). Το false αντιστοιχεί στο 0 (και το 0 στο false). Το true αντιστοιχεί στο 1 (και οποιαδήποτε μη μηδενική τιμή αντιστοιχεί στο true). Οι λογικές εκφράσεις υλοποιούνται με σχεσιακούς τελεστές (έναντι των αριθμητικών τελεστών των αριθμητικών εκφράσεων). Μαθηματικά MATLAB < < <= > > >= = == ~= Παράδειγμα της εντολής if: Εκτελείται αν η συνθήκη είναι αληθής. Εκτελείται αν η συνθήκη είναι ψευδής. x=5; y=2; if (x>y) disp( Το x είναι μεγαλύτερο του y. ); disp( Το x είναι μικρότερο ή ίσο του y. ); Λογικές Πράξεις: Οι λογικές πράξεις υλοποιούνται με τους λογικούς τελεστές: Σύζευξη (ΚΑΙ AND): && Διάζευξη (Ή OR): Άρνηση (ΔΕΝ NOT): ~ διμελείς τελεστές Στο αρχικό παράδειγμα, ας υποθέσουμε ότι θέλουμε να εμφανίσουμε τα f( x c ) και x c αν είμαστε στην περίπτωση (2), (δηλαδή αν το x c [L,R ] ) ή ένα πληροφοριακό μήνυμα σε αντίθετη περίπτωση. Για να ελέγξουμε εάν το x R. c x c [L,R ], απαιτούνται δύο συγκρίσεις: πρέπει το xc L ΚΑΙ το ver. 150105 Τμήμα Μαθηματικών ΕΚΠΑ 3

xc = -b/2; if xc>=l && xc<=r fxc = c-(b/2)^2; fprintf('f(xc) = %6.3f xc = %6.3f\n', fxc,xc) disp('είτε xc < L, είτε xc > R') Πίνακας αληθείας: p q p&&q p q true true true true true false false true false true false true false false false false Αν το p είναι true, τότε το ~p είναι false. Αν το p είναι false, τότε το ~p είναι true. Προτεραιότητα τελεστών: πρώτα οι αριθμητικοί τελεστές μετά οι σχεσιακοί τελεστές και η άρνηση μετά οι διμελείς λογικοί τελεστές Άλλες δομές του if: Σκέτο if : if λογική έκφραση π.χ. if L>R temp = L; L = R; R = temp; if if : if λογική έκφραση 1 if λογική έκφραση 2 if λογική έκφραση 3... Εκτελείται, αν η λογική έκφραση 1 είναι true. Εκτελείται, αν η λογική έκφραση 1 είναι false και η λογική έκφραση 2 είναι true. Εκτελείται, αν η λογική έκφραση 1 είναι false και η λογική έκφραση 2 είναι false, αλλά η λογική έκφραση 3 είναι true. Εκτελείται, αν όλες οι παραπάνω λογικές εκφράσεις είναι false. ver. 150105 Τμήμα Μαθηματικών ΕΚΠΑ 4

Ας δούμε τώρα το πρόγραμμα για το αρχικό μας πρόβλημα, δηλαδή της εύρεσης του ελάχιστου 2 της συνάρτησης f ( x) x bx c στο διάστημα [ L, R ]. % Script Eg1_2 % % min της x^2+bx+c στο [L,R] % Είσοδος δεδομένων b=input('δώσε το b: '); c=input('δώσε το c: '); L=input('Δώσε το L: '); R=input('Δώσε το R, με L<R: '); fprintf('δευτεροβάθμια: x^2+bx+c, b = %5.2f, c = %5.2f \n', b, c); fprintf('διάστημα: [L,R], L = %5.2f, R = %5.2f \n \n', L, R); %Υπολογισμός κρίσιμου σημείου xc= - b/2; if xc < L % Το min είναι στο αριστερό όριο fl = L^2+b*L+c; fprintf('x ελαχιστοποίησης = %5.2f \n', L) fprintf('ελάχιστη τιμή της f = %5.2f \n', fl) if L <= xc && xc <=R % Το min στο κρίσιμο σημείο fxc = c (b/2)^2; fprintf('x ελαχιστοποίησης = %5.2f \n', xc) fprintf('ελάχιστη τιμή της f = %5.2f \n', fxc) % Το min στο δεξί όριο fr = R^2 + b*r +c fprintf('x ελαχιστοποίησης = %5.2f \n', R) fprintf('ελάχιστη τιμή της f = %5.2f \n', fr) Μια βελτίωση της δομής του προγράμματος: Διαχωρισμός της εξόδου από τους υπολογισμούς + : Λιγότερη πληκτρολόγηση (των εντολών εξόδου) : Ίσως ανάγκη δημιουργίας επιπλέον μεταβλητών... xc= - b/2; if xc < L xmin = L; if L <= xc && xc <=R xmin = xc; xmin = R; fmin = xmin^2 + b*xmin +c; fprintf('x ελαχιστοποίησης = %5.2f \n', xmin) fprintf('ελάχιστη τιμή της f = %5.2f \n', fmin) 1 φορά! ver. 150105 Τμήμα Μαθηματικών ΕΚΠΑ 5

Παρατηρούμε εδώ, πως χρησιμοποιήσαμε ως επιπλέον μεταβλητή το xmin, αλλά επειδή κάναμε τον υπολογισμό του min της f έξω από το if, αντικαταστήσαμε τις τρεις μεταβλητές fl, fxc και fr με μία (fmin). Κάποια επιπλέον στοιχεία: min και max: Εύρεση ελάχιστου / μέγιστου μεταξύ δύο τιμών (μεταβλητών ή αριθμητικών εκφράσεων) Σύνταξη: min(αριθμητική έκφραση 1, αριθμητική έκφραση 2) Αν x πραγματικός αριθμός: floor(x) στρογγυλοποίηση προς το -. ceil(x) στρογγυλοποίηση προς το +. round(x) στρογγυλοποίηση προς το πλησιέστερο fix(x) στρογγυλοποίηση προς το 0 Αν x, y θετικοί ακέραιοι: rem(x,y) υπόλοιπο της διαίρεσης του x με το y. [Μπορεί να εφαρμοστεί και σε πραγματικές τιμές] Άλλες χρήσιμες συναρτήσεις: sqrt(x) x abs(x) x exp(x) e x log(x) ln( x) log10(x) log(x) sin(x) ημ(x) cos(x) συν(x) tan(x) εφ(x) rand( ) τυχαίος αριθμός στο (0,1) Shortcircuiting Σε μια σύνθετη λογική έκφραση, το 2 ο μέρος υπολογίζεται μόνο όταν δε μπορεί να βγει συμπέρασμα (να υπολογιστεί το αποτέλεσμα) μόνο από το 1 ο. ver. 150105 Τμήμα Μαθηματικών ΕΚΠΑ 6

Άρα στη λογική έκφραση ( ΛΕ ): ΛΕ1 && ΛΕ2 η ΛΕ2 υπολογίζεται μόνο εάν η ΛΕ1 είναι true. Αυτό συμβαίνει διότι αν η ΛΕ1 ήταν false, το αποτέλεσμα θα ήταν ούτως ή άλλως false. Ομοίως, στη λογική έκφραση: ΛΕ1 ΛΕ2 η ΛΕ2 υπολογίζεται μόνο εάν η ΛΕ1 είναι false. Καταλήγουμε επομένως στο συμπέρασμα πως είναι προτιμότερο να συντάσσεται πρώτα η έκφραση που δε δημιουργεί προβλήματα, π.χ., (x~=0) && (y/x==0) και η απλούστερη από τις δύο εκφράσεις, για παράδειγμα: (x>1) (3*x^2-2*x < y/(x^2 + 2)). Π.χ., η έκφραση (3==7) && (2==(3/0)) θα επέστρεφε ως αποτέλεσμα false (0) και όχι σφάλμα, που κάποιος θα περίμενε. Ένα παράδειγμα σύνθετης λογικής έκφρασης είναι ο έλεγχος για το εάν ένα έτος είναι δίσεκτο. Ένα έτος θεωρείται δίσεκτο εάν διαιρείται με το 4 αλλά όχι με το 100 ή αν διαιρείται με το 400. Ο τρόπος που θα εκφράζαμε τη λογική αυτή έκφραση είναι: (rem(year,4) == 0 && rem(year,100) ~= 0) rem(year,400) == 0 ή καλύτερα: rem(year,400) == 0 (rem(year,4) == 0 && rem(year,100) ~= 0) Σύγκριση λογικών μεταβλητών με τις τιμές true / false: Παρακάτω, βλέπουμε δύο παραδείγματα, στα οποία χρησιμοποιούνται δύο λογικές μεταβλητές (isleapyear και iseven) και μία ακέραια μεταβλητή (n). Παράδειγμα 1: Αντί της: if isleapyear == true προτιμάται η: if isleapyear. Παράδειγμα 2: Αντί της : if rem(n,2) == 0 iseven = true; iseven = false; προτιμάται η: iseven = (rem(n,2) == 0);. ver. 150105 Τμήμα Μαθηματικών ΕΚΠΑ 7