H ΓΛΩΣΣΑ C. Μάθηµα 4: Τελεστές και η οµή Ελέγχου (if$else) ηµήτρης Ψούνης

Σχετικά έγγραφα
Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

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

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

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

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

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

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

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

H ΓΛΩΣΣΑ C. Μάθηµα 7: Πίνακες. ηµήτρης Ψούνης

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

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

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

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

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

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

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

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

H ΓΛΩΣΣΑ C. Μάθηµα 17: Είσοδος/Έξοδος: Επικοινωνία µε το Λειτουργικό Σύστηµα. ηµήτρης Ψούνης

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

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

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

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

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

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

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

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

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

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

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

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

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

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

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

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

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

H ΓΛΩΣΣΑ C. Μάθηµα 8: είκτες. ηµήτρης Ψούνης

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

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

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

Εισαγωγή στην γλώσσα προγραμματισμού C

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

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

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

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

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

2.1. Εντολές Σχόλια Τύποι Δεδομένων

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

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

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

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

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

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

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

3. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Β' μέρος: switch και :? )

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

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

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

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

for for for for( . */

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

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

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

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

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

H ΓΛΩΣΣΑ C. Μάθηµα 12: υναµική έσµευση Μνήµης. ηµήτρης Ψούνης

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

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

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

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 6 Εντολές Επανάληψης Ασκήσεις. Γιώργος Λαμπρινίδης

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

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

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

Προγραµµατισµός στην Basic

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

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

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 5 Εντολές Επανάληψης for while do while. Λαμπρινίδης Γεώργιος

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

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

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

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

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Βασικές Αρχές Προγραμματισμού

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

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

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

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

ΕΠΑ.Λ ΧΡΥΣΟΥΠΟΛΗΣ Γ Πληροφορική Προγραµµατισµός Υπολογιστών Κεφάλαιο 9 Σηµειώσεις 03. Εντολή Εκχώρησης - Αντικατάστασης

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

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

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

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

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

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

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

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

Transcript:

H ΓΛΩΣΣΑ C Μάθηµα 4: Τελεστές και η οµή Ελέγχου (if$else) ηµήτρης Ψούνης

2 Περιεχόµενα Μαθήµατος Α. Τελεστές 1. Παραστάσεις στην C 1. Απλές Παραστάσεις 2. Σύνθετες Παραστάσεις 2. Ο τελεστής καταχώρησης 3. Μαθηµατικοί Τελεστές 1. ιµελείς Μαθηµατικοί Τελεστές 2. Μονοµελείς Μαθηµατικοί Τελεστές 3. Προτεραιότητα Μαθηµατικών Τελεστών 4. Σχεσιακοί Τελεστές 1. Ορισµοί 2. Προτεραιότητα Σχεσιακών Τελεστών 5. Λογικοί Τελεστές 1. Ορισµοί 2. Προτεραιότητα Λογικών Τελεστών 6. Τελεστές Συντοµογραφίας Πράξεων 7. Συγκεντρωτικός Πίνακας Προτεραιότητας Τελεστών B. Η οµή Ελέγχου 1. Γενικά 2. Πρώτη µορφή δοµής ελέγχου (απλή if) 3. εύτερη µορφή δοµής ελέγχου (if...else) 4. Εµφωλιασµένες δοµές ελέγχου 5. Τρίτη µορφή δοµής ελέγχου (if;else if;else) 6. Γενίκευση για διαδοχικούς ελέγχους 7. ;και ο τριαδικός τελεστής?: Γ. Ασκήσεις

A. Τελεστές 1. Παραστάσεις στην C 1. Απλές Παραστάσεις Για την ώρα έχουµε δει 3 µορφές παραστάσεων που µπορούµε να χρησιµοποιήσουµε σε ένα πρόγραµµα: Μεταβλητές (π.χ. x,y,z) (όπου είδαµε ότι πρέπει να τις δηλώσουµε πρώτα ορίζοντας τον τύπο δεδοµένων τους) Αριθµητικές Σταθερές (π.χ. 5, 8.0, 3.2543) (όπου χρησιµοποιούµε απ ευθείας αριθµούς στο πρόγραµµά µας και ο διαχωρίσµος είναι ότι οι ακέραιοι δεν έχουν υποδιαστολή (. ) ενώ οι δεκαδικοί έχουν υποδιαστολή) Συµβολικές Σταθερές (π.χ. PI, N) (που τις έχουµε ορίσει είτε µε την οδηγία #define είτε µε την λέξη κλειδί const) 3

A. Τελεστές 1. Παραστάσεις στην C 2. Σύνθετες Παραστάσεις Μπορούµε να ορίσουµε µε χρήση των απλών παραστάσεων, πιο σύνθετες παραστάσεις έτσι ώστε: Να κάνουµε µαθηµατικές πράξεις Όπου χρησιµοποιούµε τελεστές που κάνουν πράξεις (όπως π.χ το + για την πρόσθεση και το / για την διαίρεση) Να κάνουµε συγκρίσεις: Όπου χρησιµοποιουµε τελεστές που κάνουν σύγκριση (όπως π.χ. το <= για το µικρότερο ή ίσο) Να κάνουµε λογικές πράξεις: Όπως π.χ. το το οποίο θα εκτελεί την λογική πράξη OR µεταξύ των παραστάσεων στις οποίες εφαρµόζεται. Να καταχωρούµε µία τιµή σε µία µεταβλητή: Όπου χρησιµοποιούµε το =, για να αποθηκεύσουµε το αποτέλεσµα µιας παράστασης σε µια µεταβλητή 4

5 A. Τελεστές 2. Ο Τελεστής Καταχώρησης Ο τελεστής καταχώρησης (εκχώρησης) είναι το σύµβολο ίσον ( = ) Η σύνταξη είναι: όνοµα_µεταβλητής = παράσταση; και η λειτουργία είναι: Υπολογίζεται η τιµή της παράστασης (που µπορεί να είναι ένας περίπλοκος υπολογισµός, όχι απαράιτητα µόνο µία αριθµητική σταθερά) Αποθηκεύεται το αποτέλεσµα στην µεταβλητή που έχει όνοµα όνοµα_µεταβλητής Παραδείγµατα: x=1+4; Θα έχει σαν αποτέλεσµα να αποθηκευτεί (καταχωρηθεί) στο x η τιµή 5. x=16/(3+1); Θα έχει σαν αποτέλεσµα να αποθηκευτεί (καταχωρηθεί) στο x η τιµή 4.

A. Τελεστές 3. Μαθηµατικοί Τελεστές 1. ιµελείς µαθηµατικοί Τελεστές Οι µαθηµατικοί τελεστές εκτελούν τις συνηθισµένες µαθηµατικές πράξεις Είναι οι εξής: 6 Ονοµα Τελεστή Σύµβολο Χρήση Παράδειγµα Πρόσθεση + ΠΑΡ+ΠΑΡ x+y Πολ/µός * ΠΑΡ*ΠΑΡ x*y Αφαίρεση - ΠΑΡ-ΠΑΡ x-y ιαίρεση / ΠΑΡ/ΠΑΡ x/y Υπόλοιπο ιαίρεσης % ΠΑΡ%ΠΑΡ x%y Όπου ΠΑΡ είναι µία µαθηµατική παράσταση Οι τελεστές αυτοί λέγονται διµελείς διότι έχουν αριστερό και δεξί µέρος (δύο µέλη)!

A. Τελεστές 3. Μαθηµατικοί Τελεστές 1. ιµελείς µαθηµατικοί Τελεστές 7 Μεταγλωττίστε και εκτελέστε το ακόλουθο πρόγραµµα prakseis.c Υπάρχουν ακόµη κάποια σηµεία που θα µάθουµε στην διάρκεια του µαθήµατος, όπως η σύνταξη της εντολής if$else if$else και ο τελεστής ισότητας ( == ). Παρατηρήστε ιδιαίτερα πως λειτουργεί η πράξη της διαίρεσης, π.χ. Για την πράξη 7/3. είτε ότι το αποτέλεσµα της πράξης είναι 2!! Αυτό συµβαίνει διότι αποθηκεύεται το αποτέλεσµα µιας διαίρεσης σε έναν ακέραιο αριθµό (όχι πραγµατικό). Στην περίπτωση αυτή θα αποθηκεύεται µόνο το ακέραιο µέρος του αριθµού

A. Τελεστές 3. Μαθηµατικοί Τελεστές 1. ιµελείς µαθηµατικοί Τελεστές /* prakseis.c: Anadeiknyei tin xrisi twn dimelwn mathimatikwn praksewn */ 8 #include <stdio.h> main() int x,y,z; int telestis; printf("\ndwste ton 1o akeraio: "); scanf("%d",&x); printf("dwste ton 2o akeraio: "); scanf("%d",&y); printf("dwste ton telesti\n 0 gia +\n 1 gia -\n 2 gia /\n 3 gia *\n 4 gia %"); printf("\nepilogi? "); scanf("%d",&telestis); if (telestis==0) z=x+y; printf("%d+%d=%d",x,y,z); else if (telestis==1) z=x-y; printf("%d-%d=%d",x,y,z);

A. Τελεστές 3. Μαθηµατικοί Τελεστές 1. ιµελείς µαθηµατικοί Τελεστές else if (telestis==2) z=x*y; printf("%d*%d=%d",x,y,z); else if (telestis==3) z=x/y; printf("%d/%d=%d",x,y,z); else if (telestis==4) z=x%y; printf("%d\%%d=%d",x,y,z); 9

10 A. Τελεστές 3. Μαθηµατικοί Τελεστές 2. Μονοµελείς µαθηµατικοί Τελεστές Οι µονοµελείς µαθηµατικοί τελεστές είναι 2: το ++ και το -- Εκτελούν µια πράξη που είναι εξαιρετικά συνηθισµένη όταν γράφουµε ένα πρόγραµµα, την αύξηση µιας µεταβλητής κατά 1 και τη µείωση µιας µεταβλητής κατά 1. Ονοµα Τελεστή Σύµβολο Χρήση Παράδειγµα Μοναδιαία Αύξηση ++ ΜΕΤ++ ή ++ΜΕΤ i++ ++j Μοναδιαία Μείωση -- ΜΕΤ ή --ΜΕΤ i --i --j Όπου ΜΕΤ είναι το όνοµα µιας µεταβλητής. Παρατηρήστε ότι υπάρχουν 2 χρήσεις: Η προθεµατική (πρώτα ο τελεστής και µετά η µεταβλητή) Η µεταθεµατική (πρώτα η µεταβλητή και µετά ο τελεστής)

11 A. Τελεστές 3. Μαθηµατικοί Τελεστές 2. Μονοµελείς µαθηµατικοί Τελεστές Η µοναδιαία αύξηση ως εντολή: ++x; Έχει το ίδιο αποτέλεσµα µε την εντολή: x=x+1; Και ακριβώς το ίδιο αποτέλεσµα έχει και η εντολή x++; x++; Η µοναδιαία µείωση ως εντολή: ++x; Έχει το ίδιο αποτέλεσµα µε την εντολή: x=x+1; Και ακριβώς το ίδιο αποτέλεσµα έχει και η εντολή x--; x++;

A. Τελεστές 3. Μαθηµατικοί Τελεστές 2. Μονοµελείς µαθηµατικοί Τελεστές Στην προθεµατική µορφή ΠΡΩΤΑ γίνεται η αύξηση κατά 1 και έπειτα υπολογίζεται η παράσταση. Π.χ. Στο τµήµα κώδικά: x=1; y=++x; 12 Στην 2 η γραµµή: Πρώτα γίνεται η αύξηση του x κατά 1, άρα το x γίνεται 2. Έπειτα υπολογίζεται η παράσταση άρα αποθηκεύεται στο y η τιµή 2. Στην µεταθεµατική µορφή ΠΡΩΤΑ υπολογίζεται η παράσταση (σαν να µην υπάρχει το ++), έπειτα αυξάνεται η τιµή της µεταβλητής. Π.χ. Στο τµήµα κώδικά: x=1; y=x++; Στην 2 η γραµµή: Πρώτα υπολογίζεται η παράσταση άρα αποθηκεύεται στο y η τιµή 1

A. Τελεστές 3. Μαθηµατικοί Τελεστές 2. Μονοµελείς µαθηµατικοί Τελεστές Προσπαθήστε να βρείτε την εκτύπωση του προγράµµατος, προτού το µεταγλωττίσετε και το τρέξετε! /*monadiaioi.c: Anadeikniei tin leitoyrgia twn monadiaiwn telestwn*/ #include <stdio.h> main() int x=1; int y=1; printf("%d,%d",x++,++y); printf("\n%d,%d",x++,++y); printf("\n%d,%d",x++,++y); printf("\n%d,%d",x,y); 13

A. Τελεστές 3. Μαθηµατικοί Τελεστές 3. Προτεραιότητα Μαθηµατικών Τελεστών Σε µία περίπλοκη παράσταση, είναι σηµαντικό να γνωρίζουµε µε ποια σειρά γίνονται οι πράξεις, δηλαδή να ορίσουµε την προτεραιότητα των τελεστών Προτεραιότητα Τελεστές 1. ++,-- 2. *, /, % 3. +, - Κατά σειρά προτεραιότητας πρώτα οι µοναδιαίοι, έπειτα πολλαπλασιασµός, διαίρεση και mod, και τέλος πρόσθεση αφαίρεση Αν σε µία παράσταση υπάρχουν σύµβολα µε την ίδια προτεραίοτητα, τότε οι πράξεις εφαρµόζονται από αριστερά προς τα δεξιά! 14 Έτσι π.χ. Η παράσταση: z=x+y/x-y Θα κάνει τις πράξεις µε την εξής σειρά: z=(x+(y/x))-y Συµβουλή: Χρησιµοποιούµε παρενθέσεις για να µην κάνουµε λάθος µε την σειρά µε την οποία θέλουµε να γίνουν οι πράξεις!

A. Τελεστές 4. Σχεσιακοί Τελεστές 1. Ορισµοί Οι σχεσιακοί τελεστές συγκρίνουν δύο τιµές και επιστρέφουν 1 (που αντιστοιχεί στο ΑΛΗΘΕΣ αν ισχύει η σύγκριση) και 0 (που αντιστοιχεί στο ΨΕΥ ΕΣ αν δεν ισχύει η συνθήκη) Είναι οι εξής: Ονοµα Τελεστή Σύµβολο Χρήση Παράδειγµα Ισον == ΠΑΡ==ΠΑΡ x==y Μεγαλύτερο > ΠΑΡ>ΠΑΡ x>y Μεγαλύτερο ή ίσο >= ΠΑΡ>=ΠΑΡ x>=y Μικρότερο < ΠΑΡ<ΠΑΡ x<y Μικρότερο ή ίσο <= ΠΑΡ<=ΠΑΡ x<=y ιάφορον!= ΠΑΡ!=ΠΑΡ x!=y Όπου ΠΑΡ είναι µία µαθηµατική παράσταση 15

A. Τελεστές 4. Σχεσιακοί Τελεστές 1. Ορισµοί Παραδείγµατα: 16 8+1==9 Αποτέλεσµα: 1 (ΑΛΗΘΕΣ) 6*2==5+4+3 Αποτέλεσµα: 1 (ΑΛΗΘΕΣ) 5%2!= 5/2 Αποτέλεσµα: 0 (ΨΕΥ ΕΣ) 7>9 Αποτέλεσµα: 0 (ΨΕΥ ΕΣ) Σηµαντικό! Λέµε ότι το αποτέλεσµα επιστρέφεται Αυτό σηµαίνει ότι η παράσταση ενός σχεσιακού τελεστή, υπολογίζεται και έπειτα αντικαθίσταται µε την τιµή 0 ή 1. Έτσι π.χ. η εντολή: z=(1<2); Έχει ως αποτέλεσµα να αποθηκευτεί στην z η τιµή 1.

A. Τελεστές 4. Σχεσιακοί Τελεστές 1. Ορισµοί Σχετικά µε τους σχεσιακούς τελεστές: Το συνηθέστερο είναι να γράφουµε µια παράσταση σύγκρισης δύο παραστάσεων µέσα σε µια εντολή συνθήκης if$else$ όπου ανάλογα µε το αν αληθεύει ή όχι η συνθήκη, εκτελούµε διαφορετικές εντολές. Ωστόσο είναι σηµαντικό να καταλάβουµε ότι το αποτέλεσµα ενός σχεσιακού τελεστή θα είναι είτε 0 είτε 1. Προσοχή! Ο έλεγχος ισότητας γίνεται µε το == (τελεστής ισότητας) και όχι µε το = (που είδαµε ότι είναι ο τελεστής καταχώρησης) 17 Τι θα κάνει άραγε αυτός ο κώδικας; x=(x!=x)<(x==x); Μεταγλωττίστε και εκτελέστε το πρόγραµµα της επόµενης διαφάνειας για την εξάσκηση µε τους σχεσιακούς τελεστές

A. Τελεστές 4. Σχεσιακοί Τελεστές 1. Ορισµοί /*sxesiakoi.c: Anadeikniei tin leitoyrgia twn sxesiakwn telestwn*/ #include <stdio.h> Προσπαθήστε να βρείτε την εκτύπωση του προγράµµατος, προτού το µεταγλωττίσετε και το τρέξετε! main() int x=1; int y=2; int z; z=(x>y); printf("\nx>y:%d",z); z=(x>=y); printf("\nx>=y:%d",z); z=(x==y); printf("\nx==y:%d",z); z=(x<=y); printf("\nx<=y:%d",z); 18 z=(x<y); printf("\nx<y:%d",z);

19 A. Τελεστές 4. Σχεσιακοί Τελεστές 2. Προτεραιότητα Σχεσιακών Τελεστών Ακόµη και οι σχεσιακοί τελεστές έχουν προτεραιότητα. Αυτό γίνεται γιατί µπορεί να έχουµε εκκεντρικές παραστάσεις που χρησιµοποιούν ταυτόχρονα πολλούς σχεσιακούς τελεστές. Αν και δεν πρόκειται να το συναντήσουµε στην πράξη το αναφέρουµε για λόγους πληρότητας: Προτεραιότητα Τελεστές 1. <, <=,>,>= 2.!=,== Και πάλι ισχύει η προτεραιότητα από αριστερά προς τα δεξιά όταν έχουµε τελεστές ίδιας προτεραιότητας. Έτσι π.χ. στην παράσταση: (1<2)<(3>=2); Θα υπολογιστούν πρώτα στην παράσταση οι παρενθέσεις: 1 < 1 Άρα τελικά η τιµή της παράστασης είναι: 0

A. Τελεστές 5. Λογικοί Τελεστές 1. Ορισµοί Οι λογικοί τελεστές αποτελούν την εφαρµογή των λογικών πράξεων AND, OR και ΝΟΤ Είναι οι εξής: 20 Ονοµα Τελεστή Σύµβολο Χρήση Αληθεύει (=1) όταν Ψευδής (=0) όταν AND && ΠΑΡ1 && ΠΑΡ2 Η ΠΑΡ1 είναι αληθής (1) ΚΑΙ Η ΠΑΡ2 είναι αληθής (1) OR ΠΑΡ1 ΠΑΡ2 Η ΠΑΡ1 είναι αληθής (1) Ή Η ΠΑΡ2 είναι αληθής (1) Η ΠΑΡ1 είναι ψευδής (1) Ή Η ΠΑΡ2 είναι ψευδής (1) Η ΠΑΡ1 είναι ψευδής (0) ΚΑΙ Η ΠΑΡ2 είναι ψευδής (0) NOT!!ΠΑΡ Η ΠΑΡ είναι ψευδής (0) Η ΠΑΡ είναι αληθής (1) Όπου ΠΑΡ είναι µία παράσταση που είναι 0 ή 1 (συνήθως είναι µια παράσταση που χρησιµοποιεί σχεσιακούς τελεστές) Στην πραγµατικότητα: Η C ερµηνεύει ως ψευδές ΜΟΝΟ το 0, και ως αληθές ΟΠΟΙΑ ΗΠΟΤΕ τιµή διάφορη του 0.

A. Τελεστές 5. Λογικοί Τελεστές 1. Ορισµοί Παραδείγµατα: 21 (5<3) && (3<5) Αποτέλεσµα: 0 (ΨΕΥ ΕΣ) (7+3==10) (4<2) Αποτέλεσµα: 1 (ΑΛΗΘΕΣ) ((5+2!=3)&&(1<4)) (2<4) Αποτέλεσµα: 0 (ΨΕΥ ΕΣ)!(7<7) Αποτέλεσµα: 1 (ΑΛΗΘΕΣ) Σηµαντικό! Λέµε ότι το αποτέλεσµα επιστρέφεται Αυτό σηµαίνει ότι η παράσταση ενός σχεσιακού τελεστή, υπολογίζεται και έπειτα αντικαθίσταται µε την τιµή 0 ή 1. Έτσι π.χ. η εντολή: z=(1<2)&&(2>3); Έχει ως αποτέλεσµα να αποθηκευτεί στην z η τιµή 0.

A. Τελεστές 5. Λογικοί Τελεστές 2. Προτεραιότητα Λογικών Τελεστών Αν και οι λογικοί τελεστές έχουν προτεραιότητα, καλό θα είναι να την καθορίζουµε και µε παρενθέσεις. Η προτεραιότητα (εφόσον αυτή δεν καθορίζεται µε παρενθέσεις) είναι: 22 Προτεραιότητα Τελεστές 1.! 2. && 3. Με προτεραιότητα από αριστερά προς τα δεξιά, αν έχουµε δύο φορές εµφάνιση του ίδιου τελεστή.

A. Τελεστές 5. Λογικοί Τελεστές 2. Προτεραιότητα Λογικών Τελεστών Προσπαθήστε να βρείτε την εκτύπωση του προγράµµατος, προτού το µεταγλωττίσετε και το τρέξετε! /* logikoi.c: Anadeikniei tin leitoyrgia twn logikwn telestwn */ #include <stdio.h> main() int x=1; int y=2; int z; 23 z=(y>x) && (x<x); printf("%d",z); z=(x=x) && (y==y); printf("%d",z);

A. Τελεστές 6. Τελεστές Συντοµογραφίας Πράξεων 1. Ορισµοί Επειδή κάποιες πράξεις γίνονται πολύ συχνά όταν γράφουµε ένα πρόγραµµα, υπάρχουν κάποιοι τελεστές που είναι συντοµογραφίες πιο σύνθετων παραστάσεων: 24 Ονοµα Τελεστή Σύµβολο Χρήση Παράδειγµα Είναι συντοµογραφία της παραστασης: Αύξηση µεταβλητής += ΜΕΤ+=ΠΑΡ x+=5; x=x+5; Μειωση µεταβλητής -= ΜΕΤ-=ΠΑΡ x-=2; x=x-2; ιαίρεση µεταβλητής /= ΜΕΤ/=ΠΑΡ x/=y; x=x/y; Πολ/µος µεταβλητής *= ΜΕΤ*=ΠΑΡ x*=a+b; x=x*(a+b) Modulo µεταβλητής %= MET%=ΠΑΡ x%=8; x=x%8; Όπου ΜΕΤ είναι µία µεταβλητή και ΠΑΡ είναι µια παράσταση που υπολογίζεται σε µία τιµή

25 A. Τελεστές 7. Συγκεντρωτικός Πίνακας Προτεραιότητας Τελεστών Υπάρχουν ακόµη µερικοί τελεστές που θα τους µάθουµε σε επόµενα µαθήµατα: Τελεστές δεικτών: *, ->, και & Τελεστές λογικών πράξεων σε bytes: &, και ^ Τελεστές ολίσθησης: >> και << Ο τριαδικός(!) τελεστής?: (αυτόν θα τον µάθουµε σήµερα) Και µερικοί ακόµη$ Ωστόσο, ο πίνακας της ακόλουθης διαφάνειας είναι πολύτιµη αναφορά κατά τη συγγραφή των προγραµµάτων µας.

26 A. Τελεστές 7. Συγκεντρωτικός Πίνακας Προτεραιότητας Τελεστών Προτεραιότητα Τελεστές 1. () [] ->. 2.! ++ -- * & (type) sizeof + - 3. * / % 4. + - 5. << >> 6. < <= > >= 7. ==!= 8. & 9. ^ 10. 11. && 12. 13.?: 14. = += -= *= /= %= &= ^= = <<= >>= 15.,

27 B. Η οµή Ελέγχου 1. Εισαγωγή Όπως είδαµε, οι εντολές ενός προγράµµατος εκτελούνται σειριακά η µία µετά την άλλη. Μέσω της δοµής ελέγχου (if) έχουµε δικαίωµα να εκτελούµε διαφορετικές εντολές ανάλογα µε το αν ικανοποιείται µια συνθήκη. Η συνθήκη συντάσσεται συνήθως µε χρήση των λογικών και των σχεσιακών τελεστών που είδαµε νωρίτερα. Έτσι έχουµε την δυνατότητα µέσω της δοµής ελέγχου, να κάνουµε διαφορετικές ενέργειες ανάλογα µε το αν ικανοποιούνται συνθήκες που ορίζουµε εµείς Αυτό είναι πάρα πολύ σηµαντικό και είναι ένα από τα κύρια χαρακτηριστικά του προγραµµατισµού. Άλλο κύριο χαρακτηριστικό είναι η επανάληψη που εκτελούµε πολλές φορές την ίδια ενέργεια. Θα την δούµε σε επόµενο µάθηµα.

28 B. Η οµή Ελέγχου 2. Πρώτη Χρήση οµής Ελέγχου: Απλή if Η εντολή συνθήκης στην 1 η της χρήση συντάσσεται ως εξής: [προηγουµενες εντολές] ΙΑΓΡΑΜΜΑ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ if (συνθήκη) εντολή1; [προηγούµενες εντολές] [επόµενες εντολές] Αφού εκτελεστούν οι προηγούµενες εντολές Ελέγχεται η συνθήκη (συνήθως θα είναι µια παράσταση που θα χρησιµοποιεί κάποιον σχεσιακό/λογικό τελεστή) Αν η συνθήκη είναι ΑΛΗΘΗΣ εκτελείται η εντολή1 και έπειτα οι (επόµενες εντολές) Αν η συνθήκη είναι ΨΕΥ ΗΣ εκτελούνται απευθείας οι (επόµενες εντολές) συνθήκη ΟΧΙ [επόµενες εντολές] ΝΑΙ εντολή1

29 B. Η οµή Ελέγχου 2. Πρώτη Χρήση οµής Ελέγχου: Απλή if Αν θέλουµε να εκτελέσουµε περισσότερες από µία εντολές, εφόσον ικανοποιείται η συνθήκη, τότε θα πρέπει να τις βάλουµε µεταξύ αριστερού και δεξιού άγκιστρου [προηγουµενες εντολές] if (συνθήκη) εντολή1; εντολή2; εντολήν; [επόµενες εντολές] Συνοπτικά! Αν θέλουµε να τρέξουµε µία εντολή, δεν οφείλουµε να βάλουµε άγκιστρα Αν θέλουµε να τρέξουµε περισσότερες από µία εντολές ΟΦΕΙΛΟΥΜΕ να βάλουµε άγκιστρα! (σύνολο εντολών µε άγκιστρα λέγεται και µπλοκ κώδικα) ΙΑΓΡΑΜΜΑ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ [προηγούµενες εντολές] συνθήκη ΟΧΙ [επόµενες εντολές] ΝΑΙ εντολή1; εντολή2; εντολήν;

30 B. Η οµή Ελέγχου 2. Πρώτη Χρήση οµής Ελέγχου: Απλή if Συµβουλή 1: Παρατηρήστε ότι στο συντακτικό της if, γράφουµε την συνθήκη σε παρένθεση και ΕΝ ακολουθείται από ερωτηµατικό! Έτσι αν κατά λάθος γράψουµε µια if της µορφής if (x>y); x=x+1; y=y+2; Τότε το πρόγραµµα µας δεν θα έχει την επιθυµητή συµπεριφορά! Συµβουλή 2: είτε ότι οι εντολές που είναι µέσα σε if στοιχίζονται λίγο «πιο δεξιά». Αυτό είναι πάγια προγραµµατιστική τακτική για να έχει το πρόγραµµα µας µια καλαίσθητη µορφή. Έχουµε ήδη δει ότι και ο κώδικας µιας συνάρτησης µετατοπίζεται πιο «δεξιά».

31 B. Η οµή Ελέγχου /* if_01.c: Deixnei tin xrisi tis if */ #include <stdio.h> Μεταγλωττίστε, εκτελέστε και µελετήστε το παρακάτω πρόγραµµα που δείχνει την 1 η χρήση της εντολής if Πόσες συγκρίσεις θα γίνουν κατά την εκτέλεση του προγράµµατος; main() int x; int y; printf("dwste ton akeraio x: "); scanf("%d",&x); printf("dwste ton akeraio y: "); scanf("%d",&y); if (x<y) printf("\n%d<%d",x,y); if (x<=y) printf("\n%d<=%d",x,y); if (x==y) printf("\n%d==%d",x,y); if (x>y) printf("\n%d>%d",x,y); if (x>=y) printf("\n%d>=%d",x,y);

32 B. Η οµή Ελέγχου 3. εύτερη Χρήση οµής Ελέγχου: if$else Η δοµή ελέγχου, στην 2η της χρήση συντάσσεται ως εξής: [προηγουµενες εντολές] if (συνθήκη) εντολήα; else εντολήβ; [επόµενες εντολές] Αφού εκτελεστούν οι προηγούµενες εντολές Ελέγχεται η συνθήκη (συνήθως θα είναι µια παράσταση που θα χρησιµοποιεί κάποιον σχεσιακό/λογικό τελεστή) Αν η συνθήκη είναι ΑΛΗΘΗΣ εκτελείται η εντολή Α και έπειτα οι (επόµενες εντολές) Αν η συνθήκη είναι ΨΕΥ ΗΣ εκτελείται η εντολή Β και έπειτα οι (επόµενες εντολές) ΙΑΓΡΑΜΜΑ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ [προηγούµενες εντολές] ΝΑΙ συνθήκη ΟΧΙ εντολήa εντολήb [επόµενες εντολές]

33 B. Η οµή Ελέγχου 3. εύτερη Χρήση οµής Ελέγχου: if$else Οµοίως µε την πρώτη χρήση µπορούµε να έχουµε πολλές εντολές που εκτελούνται είτε στην if είτε στην else, βάζοντας τις ανάµεσα στα άγκιστρα: ΙΑΓΡΑΜΜΑ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ [προηγούµενες εντολές] [προηγουµενες εντολές] if (συνθήκη) εντολήα_1;... εντολήα_ν; else εντολήβ_1;... εντολήβ_n; [επόµενες εντολές] Εντολή A 1 Εντολή A 2 $ Εντολή A N ΝΑΙ συνθήκη [επόµενες εντολές] ΟΧΙ Εντολή B 1 Εντολή B 2 $ Εντολή B N

34 B. Η οµή Ελέγχου 3. εύτερη Χρήση οµής Ελέγχου: if$else Μεταγλωττίστε, εκτελέστε και µελετήστε το παρακάτω πρόγραµµα που δείχνει την 1 η χρήση της εντολής if Πόσες συγκρίσεις θα γίνουν κατά την εκτέλεση του προγράµµατος; /* if_02.c: Deixnei tin xrisi tis if..else */ #include <stdio.h> main() int x; printf("dwste enan akeraio: "); scanf("%d",&x); if(x%2==0) printf("o arithmos einai artios!"); else printf("o arithmos einai perittos!");

35 B. Η οµή Ελέγχου 3. εύτερη Χρήση οµής Ελέγχου: if$else Το απολύτως τυπικό συντακτικό της εντολής if$else είναι το ακόλουθο (και µόνον αυτό): if (συνθήκη) µπλοκ εντολώνα [else µπλοκ εντολώνβ] Όπου Μπλοκ Εντολών είναι είτε µία εντολή είτε περισσότερες εντολές. Ο συµβολισµός [$] δηλώνει ότι το κοµµάτι του else είναι προαιρετικό, δηλαδή µπορεί να υπάρχει, µπορεί και να µην υπάρχει. Τυπικά: Αυτή η µορφή συγκροτεί ΜΙΑ εντολή (απόφασης). Ωστόσο πρέπει να είµαστε προσεκτικοί ότι η εντολή απόφασης δεν παίρνει ερωτηµατικό στο τέλος της σε αντίθεση µε τις υπόλοιπες εντολές που έχουµε µάθει

36 B. Η οµή Ελέγχου 4. Εµφωλιασµένες οµές Ελέγχου Η δοµή ελέγχου είναι απλά µία εντολή! Άρα µπορούµε να έχουµε π.χ. µία εντολή if µέσα σε µία εντολή if όσες φορές θέλουµε Αυτό αναφέρεται και σαν εµφωλιασµένες εντολές συνθήκης Μελετήστε την παραλλαγή προηγούµενου προγράµµατος. Πόσες συγκρίσεις θα γίνουν στο πρόγραµµα αυτό; /* if_03.c: Deixnei tin xrisi tis if */ #include <stdio.h> main() int x; int y; printf("dwste ton akeraio x: "); scanf("%d",&x); printf("dwste ton akeraio y: "); scanf("%d",&y); if(x<y) printf("isxyei x<y"); else if(x==y) printf("isxyei x=y"); else printf("isxyei x>y");

37 B. Η οµή Ελέγχου 5. Τρίτη Χρήση οµής Ελέγχου: if$else if $ else Σε προγράµµατα όπως το προηγούµενο υπάρχουν 3 περιπτώσεις που µπορούµε να έχουµε στο πρόγραµµα µας. Συνηθίζεται η σύνταξη να γίνεται µε τον εξής τρόπο: [προηγούµενες εντολές] if (πρώτη συνθήκη) (εντολέςα) else if (δεύτερη συνθήκη) (εντολέςβ) else (εντολέςγ) [επόµενες εντολές] ΙΑΓΡΑΜΜΑ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ [προηγούµενες εντολές] πρώτη συνθήκη ΟΧΙ δεύτερη συνθήκη ΟΧΙ Εντολές Γ [επόµενες εντολές] ΝΑΙ ΝΑΙ Εντολές Α Εντολές Β

38 B. Η οµή Ελέγχου 6. Γενίκευση για διαδοχικούς ελέγχους Ο συλλογισµός για να κάνουµε διαδοχικούς ελέγχους µπορεί να γενικευτεί όπως φαίνεται στο σχήµα π.χ. για να κάνουµε έναν έλεγχο Ν περπτώσεων. Ωστόσο για να κάνουµε έλεγχο για ακόµη περισσότερες περιπτώσεις, έχουµε ένα ακόµη εργαλείο, την εντολή switch που θα δούµε σε επόµενο µάθηµα. Στην επόµενη διαφάνεια το διάγραµµα ροής προγράµµατος της χρήσης αυτής. [προηγούµενες εντολές] if (πρώτη συνθήκη) (εντολές1) else if (δεύτερη συνθήκη) (εντολές2) else if (συνθήκην) (εντολέςν) else (εντολέςν+1) [επόµενες εντολές]

[προηγούµενες εντολές] 39 B. Η οµή Ελέγχου 6. Γενίκευση [προηγούµενες εντολές] if (συνθήκη1) (εντολές1) else if (συνθήκη2) (εντολές2) else if (συνθήκην) (εντολέςν) else (εντολέςν+1) Συνθήκη 1 ΟΧΙ Συνθήκη 2 ΟΧΙ Εντολές Ν+1 ΝΑΙ ΝΑΙ Εντολές 1 Εντολές 2 $ $ Συνθήκη $ Ν ΟΧΙ ΝΑΙ Εντολές Ν [επόµενες εντολές] [επόµενες εντολές]

40 B. Η οµή Ελέγχου 7. $ και ο τελεστής?: Για πιο προχωρηµένους (και ελαφρώς πειραγµένους) προγραµµατιστές προσφέρεται και µια συντοµογραφία της εντολής if$else$ Έτσι αντί να γράφουµε: if (Χ) Α else Β Μπορούµε να γράψουµε µε χρήση του τριαδικού τελεστή?: την εξής εντολή: Χ? Α : Β Το ακόλουθο πρόγραµµα επιδεικνύει (πολύ προχωρηµένη) χρήση του τελεστή?: Μόνο για τους πολύ φιλόδοξους!

41 B. Η οµή Ελέγχου 7. $ και ο τελεστής?: /* ternary.c:eksereuna ton telesti?: */ #include <stdio.h> main() int x,y,z; /* Kai i if epistrefei mia timi */ x=0; y=1; if(x<y) z=0; else z=1; printf("%d",z); /* Isodynamos tropos me ton telesi?: */ x=1; y=0; z = x<y? 0 : 1; printf("%d",z); /* kai mporoyme na to xrisimopoiisoyme ws orisma. */ printf("%d",x<y?0:1);

42 Γ. Ασκήσεις Εφαρµογή 1 Γράψτε ένα πρόγραµµα C το οποίο θα ελέγχει και θα εκτυπώνει κατάλληλο µήνυµα αν κάποιος είναι ανήλικος (<18), ενήλικος (18$65), συνταξιούχος (>65)

43 Γ. Ασκήσεις Εφαρµογή 2 Γράψτε ένα πρόγραµµα C το οποίο θα λαµβάνει ως είσοδο δύο ακέραιους αριθµούς και θα τυπώνει τον µεγαλύτερο από τους 2.

44 Γ. Ασκήσεις Εφαρµογή 3 Γράψτε ένα πρόγραµµα C το οποίο θα λαµβάνει ως είσοδο τρεις ακέραιους αριθµούς και θα τυπώνει τον µεγαλύτερο από τους 3.

45 Γ. Ασκήσεις Εφαρµογή 4 Γράψτε ένα πρόγραµµα C το οποίο θα λαµβάνει ως είσοδο τρεις ακέραιους αριθµούς και θα τους τυπώνει σε αύξουσα σειρά. Παραθέτουµε ένα παράδειγµα εκτέλεσης του προγράµµατός σας: Eisagete ton 1o arithmo: 8 Eisagete ton 2o arithmo: 5 Eisagete ton 3o arithmo: 9 H diataksi einai: 5,8,9

46 Γ. Ασκήσεις Εφαρµογή 5 Γράψτε ένα πρόγραµµα C το οποίο Να δέχεται από τον χρήστη σαν είσοδο έναν ακέραιο αριθµό, που θα απεικονίζει δευτερόλεπτα. Να υπολογίζει πόσες ώρες, λεπτά και δευτερόλεπτα είναι η είσοδος του χρήστη. Η παρακάτω είναι η επιθυµητή έξοδος αν ο χρήστης εισάγει το 1000: Eisagete plithos deyteroleptwn: 5000 Wres: 1 Lepta: 23 Deyterolepta: 20 Υπόδειξη: Μελετήστε πως µπορείτε να χρησιµοποιήσετε τους τελεστές / και % για να επιτύχετε το επιθυµητό αποτέλεσµα!

47 Γ. Ασκήσεις Εφαρµογή 6 Σε µια (εσφαλµένη) εκδοχή του µπαρµπουτιού δύο παίκτες ρίχνουν δύο ζάρια (ο καθένας) και νικάει ο παίκτης µε µεγαλύτερο άθροισµα στα ζάρια. Γράψτε ένα πρόγραµµα σε C που θα ζητάει από το χρήστη να εισάγει το αποτέλεσµα κάθε ζαριού κάθε παίκτη (έστω Α και Β) και να τυπώνει στην οθόνη τον παίκτη που νίκησε.

48 Γ. Ασκήσεις Εφαρµογή 7 Ένα έτος είναι δίσεκτο αν είναι: Πολλαπλάσιο του 4 µε την ειδική περίπτωση ότι Αν είναι πολλαπλάσιο του 100 και όχι του 400 τότε δεν είναι δίσεκτο. Γράψτε ένα πρόγραµµα C που θα δέχεται σαν είσοδο χρήστη το έτος και θα τυπώνει αν είναι δίσεκτο ή όχι. Παραθέτουµε 4 εκτελέσεις που το πρόγραµµα σας πρέπει να απαντά µε τον ίδιο τρόπο: Eisagete etos: 2018 Einai Disekto! Eisagete etos: 2100 Den einai Disekto! Eisagete etos: 2000 Einai Disekto! Eisagete etos: 2021 Den einai Disekto! Υπόδειξη: Για να ελέγξουµε αν ένας αριθµός x είναι π.χ. πολλαπλάσιο του 4, θα πρέπει το υπόλοιπο της διαίρεσης του x µε το 4 να είναι 0.