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

Σχετικά έγγραφα
Εισαγωγή στον Προγραμματισμό

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

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

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

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

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

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

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής:

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

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

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

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

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

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

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

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

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

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

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

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

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

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

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

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

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

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

Δομημένος Προγραμματισμός

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

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

8. Συνθήκες ελέγχου, λογικοί τελεστές

Δομημένος Προγραμματισμός (ΤΛ1006)

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

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

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

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

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

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

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

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

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

Βασικά στοιχεία της Java

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

Εντολές ελέγχου ροής if, for, while, do-while

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

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

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

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

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

Στοιχειώδης προγραμματισμός σε C++

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

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

ΕΡΩΤΗΣΕΙΣ ΔΙΑΦΟΡΩΝ ΤΥΠΩΝ ΣΤΟ ΚΕΦΑΛΑΙΟ 2.2

Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)

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

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

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)

2. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Α' μέρος: if)

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

for for for for( . */

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

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.

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

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

Δομημένος Προγραμματισμός

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

ΑΣΚΗΣΗ 4: ΟΜΕΣ ΒΑΣΙΚΩΝ ΒΡΟΧΩΝ

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

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

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

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

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

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

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

Οι εντολές ελέγχου της ροής ενός προγράμματος.

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

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

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

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

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

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

Ερωτήσεις Σωστού-Λάθους

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

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

Κεφ 2. Βασικές Έννοιες Αλγορίθμων

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

ΑΣΚΗΣΕΙΣ ΣΤΗ ΟΜΗ ΕΠΙΛΟΓΗΣ (ΑΝΑΦΕΡΟΝΤΑΙ ΟΣΑ ΠΡΟΕΡΧΟΝΤΑΙ ΑΠΟ ΤΗΝ ΤΡΑΠΕΖΑ ΘΕΜΑΤΩΝ)

Β ΛΥΚΕΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΝΟΕΜΒΡΙΟΣ 2018

Ασκήσεις Προγραμματισμού για το Μάθημα : Εφαρμογές Πληροφορικής. Π=3.14 Μεταβλητές Πραγματικές: X,A,B,Y Αρχή

Δεδομένα, τελεστές, είσοδος/έξοδος

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

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

ΙΑΓΩΝΙΣΜΑ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΑΠΟΦΟΙΤΟΙ) Κυριακή

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

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

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

Transcript:

ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η χρήση των βασικών τελεστών της Γλώσσας Προγραµµατισµού C : αριθµητικοί τελεστές, τελεστές αύξησης- µείωσης, σχεσιακοί τελεστές και λογικοί τελεστές σε συνδυασµό µε τς προτάσεις if, if- else και if-else if. 1. Η ΕΝΝΟΙΑ ΤΩΝ ΤΕΛΕΣΤΩΝ Ένας τελεστής είναι ένα σύµβολο που οδηγεί την C να εκτελέσει κάποια λειτουργία σε µεταβλητές και εκφράσεις. Οι τελεστές της C χωρίζονται σε διάφορες κατηγορίες: Οι αριθµητικοί τελεστές Τελεστές Αύξησης-Μείωσης Οι σχεσιακοί τελεστές Οι λογικοί τελεστές 1.1 Αριθµητικοί Τελεστές 1.1.1 Περιγραφή Σύµβολο Σηµασία + Πρόσθεση - Αφαίρεση * Πολλαπλασιασµός / Διαίρεση (πηλίκο ή πραγματική διαίρεση) % Υπόλοιπο Πίνακας 1: Αριθµητικοί Τελεστές 1/13

1.1.2 Σειρά Προτεραιότητας Η προτεραιότητα καθορίζει ακριβώς πως η C υπολογίζει τύπους σε αριθµητικές παραστάσεις. Η προτεραιότητα των τελεστών είναι η ίδια µε αυτή της σχολικής άλγεβρας. Ο Παρακάτω Πίνακας απεικονίζει την προτεραιότητα των µαθηµατικών τελεστών. Σειρά Τελεστής Πρώτη *, /, % Δεύτερη +, - ΠΑΡΑΔΕΙΓΜΑ Πίνακας 2: Προτεραιότητα Αριθµητικών Τελεστών main() int a; int b; a=6+2*3-4/2; b=10/5*2-2+1; printf("a equals to %d\n",a); printf("b equals to %d\n",b); Στην οθόνη του υπολογιστή εµφανίζεται το παρακάτω αποτέλεσµα: a equals to 10 b equals to 3 2/13

1.1.3 Χρήση Παρενθέσεων Για να αλλάξετε τη σειρά προτεραιότητας µπορείτε να χρησιµοποιήσετε παρενθέσεις. Οι παρενθέσεις βρίσκονται ένα επίπεδο πιο πάνω από τον πολλαπλασιασµό, τη διαίρεση και το υπόλοιπο στον πίνακα προτεραιότητας. ΠΑΡΑΔΕΙΓΜΑ main() int a; int b; a=20/(3+5)%2; b=5*(5+(6-2)+1); printf("a equals to %d\n",a); printf("b equals to %d\n",b); Στην οθόνη του υπολογιστή εµφανίζεται το παρακάτω αποτέλεσµα a equals to 0 b equals to 10 1.1.4 Πολλαπλές Εκχωρήσεις Αν σε µια παράσταση εµφανίζονται δύο ή περισσότερα σύµβολα = καθένα εκτελεί µια εκχώρηση. Αυτό εισάγει ένα νέο θέµα στη σειρά προτεραιότητας. Στη C το σύµβολο = σηµαίνει πάντα εκχώρηση της τιµής στα δεξιά στην µεταβλητή που βρίσκεται στα αριστερά. ΠΑΡΑΔΕΙΓΜΑ main () float a; float b; float c; a=scanf("%f",&a); c=5.0+(b=9.0-c); printf("a equals to %.2f\n",a); printf("b equals to %.2f\n",b); printf("c equals to %.2f\n",c); 3/13

return 0; Στην οθόνη του υπολογιστή εµφανίζεται το παρακάτω αποτέλεσµα?10.5 a equals to 1.00 b equals to 9.00 c equals to 14.00 1.1.5 Σύνθετες Εκχωρήσεις Συχνά στον προγραµµατισµό, θέλετε να αλλάξετε την τιµή µιας µεταβλητής. Δηλαδή, θέλετε να προσθέσετε ή να πολλαπλασιάσετε την τιµή µε µια παράσταση και να εκχωρήσετε το αποτέλεσµα ξανά στην αρχική µεταβλητή. Αυτό µπορεί να γίνει χρησιµοποιώντας τον ακόλουθο πίνακα. Τελεστής Παράδειγµα Ισοδύναµο += b+=200; b=b+200; -= salary-=30; salary=salary-30; *= factor*=2.5; factor=factor*2.5; /= Num_1/=3.15; Num_1=Num_1/3.15; %= Daynum%=7; Daynum=Daynum%7; 1.2 Τελεστές Αύξησης και Μείωσης Πίνακας 3: Σύνθετοι Τελεστές Η C έχει δύο µοναδικούς τελεστές που προσθέτουν ή αφαιρούν 1 σε µεταβλητές. Ο ακόλουθος πίνακας παρουσιάζει τη σχέση των τελεστών αύξησης-µείωσης µε άλλους τύπους παραστάσεων που ήδη γνωρίζετε. Τελεστής Τύπος Παράδειγµα Ισοδύναµο ++ Επιθεµατικός ++b; b=b+1; -- Επιθεµατικός --b; b=b-1; ++ Προθεµατικός b++; b=b+1; -- Προθεµατικός b--; b=b-1; Πίνακας 4: Τελεστές Αύξησης-Μείωσης 4/13

Αν µια µεταβλητή χρησιµοποιείται µε επιθεµατικό τελεστή τότε εκτελείται πρώτα ο τελεστής αύξησης ή µείωσης πριν χρησιµοποιηθεί η τιµή της µεταβλητής. Αντίθετα, ανα µια µεταβλητή χρησιµοποιείται µε προθεµατικό τελεστή τότε ο τελεστής αύξησης ή µείωσης τελείται αφού χρησιµοποιηθεί η τιµή της µεταβλητής. ΠΑΡΑ ΕΙΓΜΑ main () int a; int b; a=6; b=++a-1; printf("a equals to %d\n",a); printf("b equals to %d\n",b); Στην οθόνη του υπολογιστή εµφανίζεται το παρακάτω αποτέλεσµα: a equals to 7 b equals to 6 ΠΑΡΑ ΕΙΓΜΑ main() int a; int b; a=6; b=a++-1; printf("a equals to %d\n",a); printf("b equals to %d\n",b); Στην οθόνη του υπολογιστή εµφανίζεται το παρακάτω αποτέλεσµα: a equals to 7 b equals to 5 5/13

1.3 Σχεσιακοί Τελεστές 1.3.1 Περιγραφή Οι σχεσιακοί τελεστές χρησιµοποιούνται για να συγκρίνουν εκφράσεις θέτοντας ερωτήσεις όπως Είναι η y µεγαλύτερη από το 50; ή Είναι η x ίση µε 0. Μια έκφραση που περιέχει ένα σχεσιακό τελεστή υπολογίζεται είτε ως αληθής ( υαδικό 1) ή ως ψευδής ( υαδικό 0). Οι έξι σχεσιακοί τελεστές της C παρουσιάζονται στον παρακάτω Πίνακα. Τελεστής Σύµβολο Ίσον == Μεγαλύτερο από > Μικρότερο από < Μεγαλύτερο ή ίσο >= Μικρότερο ή ίσο <= Άνισο!= Πίνακας 5: Σχεσιακές Τελεστές 1.3.2 Προτεραιότητα Σχεσιακών Τελεστών Όπως και οι µαθηµατικοί τελεστές που παρουσιάστηκαν προηγουµένως, οι σχεσιακοί τελεστές έχουν κάποια προτεραιότητα καθένας, που καθορίζει µε ποια σειρά θα εκτελεστεί µια έκφραση πολλών τελεστών. Για τους σχεσιακούς τελεστές, ισχύουν τα ακόλουθα: Όλοι οι σχεσιακοί τελεστές έχουν χαµηλότερη προτεραιότητα από τους µαθηµατικούς τελεστές Υπάρχουν επίσης προτεραιότητα δύο επιπέδων µέσα στους σχεσιακούς τελεστές όπως δίνεται και στον παρακάτω πίνακα Τελεστής Σχετική Προτεραιότητα < <= > >= 1!= == 2 Πίνακας 6: Προτεραιότητα Σχεσιακών Τελεστών 6/13

1.4 Λογικοί Τελεστές Οι λογικοί τελεστές της C επιτρέπουν το συνδυασµό δύο ή περισσότερων σχετικών εκφράσεων σε µία έκφραση που υπολογίζεται είτε σε αληθής είτε ψευδής. Ο Πίνακας 7 παραθέτει τους τρεις λογικούς τελεστές της C. Τελεστής Σύµβολο Παράδειγµα Υπολογίζεται σε AND && x1 && x2 Αληθής (1) µόνο αν η x1 και η x2 είναι αληθής. Ψευδής (0) διαφορετικά OR x1 x2 Αληθής (1) αν είτε η x1 ή η x2 είναι αληθής. Ψευδής (0) µόνο αν και οι δύο είναι ψευδής ΝΟΤ!!x1 Ψευδής (0) αν η x1 είναι αληθής. Αληθής (1) αν η x1 είναι ψευδής Πίνακας 7: Λογικοί Τελεστές Είναι σηµαντικό να γίνει κατανοητό ότι οποιαδήποτε αριθµητική τιµή ερµηνεύεται είτε ως αληθής είτε ως ψευδής, όταν χρησιµοποιηθεί σε πρόταση της C, που αναµένει µια λογική τιµή. Οι κανόνες είναι οι ακόλουθοι: Μια τιµή µηδέν αναπαριστά το ψευδές Μια µη µηδενική τιµή αναπαριστά το αληθές 7/13

1.4.2 Προτεραιότητα των Λογικών Τελεστών Οι λογικές τελετές της C έχουν επίσης µια σειρά προτεραιότητα και µεταξύ τους και σε σχέση µε άλλους τελεστές. Ο τελεστής! έχει προτεραιότητα ίση µε τους µοναδιαίους µαθηµατικούς τελεστές ++ και --. Έτσι, ο τελεστής! έχει την υψηλότερη προτεραιότητα από τους άλλους σχεσιακούς τελεστές. Αντίθετα οι τελεστές && και έχουν πιο χαµηλή προτεραιότητα, χαµηλότερη από όλους τους µαθηµατικούς και σχεσιακούς τελεστές, αν και ο && έχει υψηλότερη προτεραιότητα από τον. 8/13

1.5 H πρόταση if H σχεσιακή λογική ενσωµατώνεται συνήθως σε προγράµµατα C µε την πρόταση if. Η if είναι µια πρόταση απόφασης. Η πρόταση if ελέγχει µια σχέση µε βάση: if (συνθήκη) µία ή περισσότερες προτάσεις της C; Αν την πρόταση if ακολουθεί µια πρόταση C, τα άγκιστρα δεν είναι απαραίτητα (Συνίσταται να τα χρησιµοποιείται) (Προσοχή: Στην πρόταση if δεν τοποθετούµε ερωτηµατικό στο τέλος της πρότασης). Η συνθήκη είναι µια σχεσιακή σύγκριση και πρέπει να περικλείεται σε παρενθέσεις και µπορεί να περιλαµβάνει µια οποιαδήποτε µεταβλητή που έχετε ορίσει ή µια αριθµητική παράσταση. Η παράσταση µπορεί να είναι µια από τις παρακάτω κατηγορίες Μια σταθερά Μια παράσταση από µεταβλητές Ένας συνδυασµός των παραπάνω κατηγοριών ΠΑΡΑ ΕΙΓΜΑ /* Programma poy pistopoiei tin ilikia enos foititi */ main() int student_age; printf("\nwhat is the student s age?"); scanf("%d",&student_age); if (student_age<18) printf("%c", x07 ); /*Hixitiko Sima */ printf("**the age can not be less than 18\n"); printf("try again \n"); printf("\nwhat is the student s age?"); scanf("%d",&student_age); printf("%d\n",student_age); printf("thank you. You entered a valid age"); 9/13

Στην οθόνη του υπολογιστή εµφανίζεται το παρακάτω αποτέλεσµα: What is the student s age? 6 ***The age can not be less that 18*** Try again. What is the student s age? 21 Thank you. You entered a valid age. 1.6 H Πρόταση else H πρόταση else δεν χρησιµοποιείται ποτέ χωρίς µια πρόταση if. Η ενότητα αυτή παρουσιάζει την πρόταση else µέσα από τη δηµοφιλή πρόταση if-else και έχει την ακόλουθη σύνταξη if (συνθήκη) ενότητα µίας ή περισσότερες προτάσεις της C; else ενότητα µίας ή περισσότερες προτάσεις της C; Το πρώτο µέρος της if-else είναι πανοµοιότυπο µε την απλή if. Αν η συνθήκη είναι αληθής, εκτελείται η ενότητα προτάσεων C µετά την if. Αν η συνθήκη είναι ψευδής όµως, εκτελείται η ενότητα προτάσεων C µετά την else. Ενώ η if καθορίζει τι συµβαίνει µόνο αν η συνθήκη είναι αληθής, η if-else καθορίζει τι σηµαίνει και αν η συνθήκη είναι ψευδής. Προσοχή: Στην τέλος της πρότασης else δεν τοποθετείται ερωτηµατικό. ΠΑΡΑ ΕΙΓΜΑ /* Programma poy pistopoiei an enas akeraios einai megalyteros apo 0 */ main() int akeraios; printf("\nwhat is the number?"); scanf("%d",&akeraios); if(akeraios>0) printf("\nmegalyteros apo miden\n"); else printf("\mikroteros i isos toy midenos\n"); printf("end of the program"); Ακολουθεί το αποτέλεσµα του προγράµµατος. Το πρόγραµµα γνωρίζει εάν o ακέραιος αριθµός είναι µεγαλύτερος του µηδενός. Στην οθόνη του υπολογιστή εµφανίζεται το παρακάτω αποτέλεσµα: 10/13

What is the number? 6 Megalyteros apo miden End of the program 1.7 H σύνθετη πρόταση else if Αυτή είναι µια ένθετη µορφή του if όπως φαίνεται και παρακάτω: if (συνθήκη 1) ενότητα 1 µίας ή περισσότερες προτάσεις της C; else if (συνθήκη 2) ενότητα 2 µίας ή περισσότερες προτάσεις της C; else ενότητα 3 µίας ή περισσότερες προτάσεις της C; επόµενη πρόταση; Εάν η πρώτη συνθήκη (συνθήκη 1), είναι αληθής, εκτελούνται οι προτάσεις της ενότητας 1, πριν το πρόγραµµα συνεχιστεί µε την επόµενη πρόταση. Εάν η πρώτη έκφραση δεν είναι αληθής, ελέγχεται η δεύτερη έκφραση (συνθήκη 2). Εάν είναι αληθής, εκτελούνται οι προτάσεις της ενότητας 2. Εάν και οι δύο προτάσεις είναι ψευδείς, εκτελούνται οι προτάσεις της ενότητας 3. ΠΑΡΑ ΕΙΓΜΑ /* Programma poy pistopoiei an enas pragmatrikos einai megalyteros */ /* mikroteros i isos me to miden */ main () int akeraios; printf("\nwhat is the number?"); scanf("%d",&akeraios); if(akeraios>0) printf("\nmegalyteros apo miden\n"); else if (akeraios==0) printf("\isos me to miden\n"); else printf("\mikroteros apo to miden\n"); printf("end of the program"); 11/13

Ακολουθεί το αποτέλεσµα του προγράµµατος: What is the number? -6 Mikroteros apo to miden End of the program 2. ΕΡΓΑΣΤΗΡΙΑΚΟ ΜΕΡΟΣ 1. Να γράψετε κώδικα σε C που να διαβάζει από το χρήστη μια ακέραια τιμή (x) και να την εκχωρεί στην µεταβλητή c, µόνο εάν η x είναι µεταξύ των τιµών -1 και 30. Αλλιώς η c να είναι μηδέν. 2. Να γράψετε κώδικα σε C ο οποίος θα διαβάζει την ηλικία του χρήστη και θα εμφανίζει αν είναι ανήλικος (ηλικία άνω των 18), ενήλικος ή υπερήλικας (ηλικία άνω των 65). 3. Να υπολογισθούν οι παρακάτω µαθηµατικές συναρτήσεις για ακέραιους αριθµούς που δίνει ο χρήστης: x = (a-b)*(a-c) 3 4. Με µια σύνθετη πρόταση if να γραφεί πρόγραµµα που να εμφανίζει αν ο χρήστης έδωσε άρτιο ή περιττό ακέραιο αριθμό. 5. Να γραφεί πρόγραµµα υπολογισµού των φόρων. Μια οικογένεια δεν πληρώνει φόρους αν έχει εισόδηµα µικρότερο από 2,000. Πληρώνει φόρο 10% αν έχει εισόδηµα από 2,000 µέχρι 5,000, 20% αν έχει εισόδηµα από 5,001 µέχρι 10,000 και 30% αν έχει µεγαλύτερο. 6. Μια χηµική εταιρία πληρώνει τους πωλητές της ανά παραγγελία. Ο πωλητής αµείβεται µε 200 την εβδοµάδα σύν 9% των µικτών πωλήσεων του για αυτή την εβδοµάδα. Να γραφεί πρόγραµµα που με δεδομένο τις µικτές πωλήσεις ενός πωλητή για την τελευταία εβδοµάδα, υπολογίζει και προβάλει την συνολική αµοιβή του πωλητή. 7. Να γραφεί πρόγραµµα που να δέχεται τη βαθµολογία ενός σπουδαστή και να τυπώνει τον αντίστοιχο χαρακτηρισµό, σύµφωνα µε τον πίνακα Βαθµολογία Χαρακτηρισµός 0,00...4,99 Ανεπαρκώς 5,00...6,99 Καλώς 7,00...8,49 Λίαν καλώς 8,50...10,00 Άριστα 12/13

8. Να γραφεί πρόγραµµα που να υπολογίζει τη µηνιαία δόση ενός δανείου. Σαν είσοδο χρησιµοποιούνται τα εξής δεδοµένα: ύψος δανείου, µήνες και επιτόκιο. Η µηνιαία δόση υπολογίζεται µε βάση τον ακόλουθο τύπο: Να τυπωθούν τα αποτελέσµατα για τα παρακάτω δεδοµένα εισόδου: άνειο Μήνες Επιτόκιο 15,000 24 6% 15,000 24 8% 13/13