ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Εισαγωγή: Μορφοποίηση, Εκφράσεις, Επιλογή, Επανάληψη (Κεφάλαια , KNK-2ED)

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Εισαγωγή: Μορφοποίηση, Εκφράσεις, Επιλογή, Επανάληψη (Κεφάλαια , KNK-2ED)"

Transcript

1 ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Εισαγωγή: Μορφοποίηση, Εκφράσεις, Επιλογή, Επανάληψη (Κεφάλαια , KNK-2ED) Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Το μάθημα αυτό δομήθηκε βάση των διαλέξεων του Αναπλ. Καθηγητή Δημήτρη Ζεϊναλιπούρ Εισαγωγική Επισήμανση Σε αυτή τη διάλεξη θα έχουμε τη δυνατότητα να δούμε πως υλοποιούνται γνωστές εντολές (if, for, while, switch, κτλ ) στην γλώσσα C Ευτυχώς, δεν υπάρχουν πολλές διαφορές με την JAVA, άρα δε θα χρειαστεί να δώσουμε όλες τις εισαγωγικές επεξηγήσεις. Παρακαλώ δείτε το υλικό του ΕΠΛ131, εάν χρειάζεται. Θα δώσουμε ωστόσο έμφαση στην ακριβή σύνταξη, κοινά λάθη και παραλήψεις όσο και σε νέους τελεστές που δεν έχετε διδαχθεί. Δε θα δούμε πολλά παραδείγματα, αλλά θα εμπεδώσετε τις έννοιες μέσω της Άσκησης 1. Εργαλεία 1

2 Ανάθεση Μια μεταβλητή μπορεί να πάρει μια τιμή μέσω ανάθεσης (assignment): height = 8; Ο αριθμός 8 είναι μια σταθερά (constant). Προτού ανατεθεί μια τιμή σε μια μεταβλητή πρέπει πρώτα να δηλωθεί Ανάθεση Μια σταθερά αντιστοιχισμένη σε float μεταβλητή περιέχει συνήθως ένα δεκαδικό ψηφείο profit = ; Είναι καλύτερα να προσαρτήσετε το γράμμα f σε μια σταθερά κινητής υποδιαστολής, εάν έχει αντιστοιχιστεί σε float μεταβλητή: profit = f; Εάν δεν συμπεριληφθεί το f μπορεί να προκληθεί προειδοποίηση από το πρόγραμμα μεταγλώττισης. Εργαλεία 2

3 Ανάθεση Όταν μια μεταβλητή έχει αντιστοιχιστεί σε μια τιμή, μπορεί να χρησιμοποιηθεί για στον υπολογισμό της τιμής μιας άλλης μεταβλητής: height = 8; length = 12; width = 10; volume = height * length * width; /* volume is now 960 */ Η δεξιά πλευρά μιας ανάθεσης μπορεί να είναι ένας τύπος (expression) με σταθερές, μεταβλητές και τελεστές. Εκτύπωση της τιμής μιας μεταβλητής Η printf μπορεί να χρησιμοποιηθεί για την εμφάνιση της τρέχουσας τιμής μιας μεταβλητής. Για να γράψετε το μήνυμα Height: h όπου h είναι η τρέχουσα τιμή της μεταβλητής height, θα χρησιμοποιήσουμε το ακόλουθο κάλεσμα του printf: printf("height: %d\n", height); Όπου %d είναι ένα σύμβολο κράτησης θέσης που υποδεικνύει που θα εκτυπωθεί η τιμή του height. Εργαλεία 3

4 Εκτύπωση της τιμής μιας μεταβλητής Το %d λειτουργεί μόνο για μεταβλητές int; για να εκτυπώσετε μια μεταβλητή float, χρησιμοποιείστε %f. Από προεπιλογή, το %f εμφανίζει έναν δεκαδικό αριθμό με έξι ψηφία μετά την υποδιαστολή. Για να αναγκάσετε το %f να δείξει p ψηφία μετά το δεκαδικό σημείο, τοποθετήστε το.p μεταξύ % και f. Για να εκτυπώσετε τη γραμμή Profit: $ χρησιμοποιήστε την ακόλουθη κλήσης της printf: printf("profit: $%.2f\n", profit); Δεν υπάρχει όριο στον αριθμό των μεταβλητών που μπορούν να εκτυπωθούν με μία μόνο κλήση της printf: printf("height: %d Length: %d\n", height, length); Παράδειγμα 1 Υπολογισμός του βάρους διαστάσεων ενός κουτιού Οι ναυτιλιακές εταιρείες συχνά χρεώνουν επιπλέον την μεταφορά κουτιών που είναι μεγάλα αλλά πολύ ελαφριά, ορίζοντας το τέλος χρέωσης βάση του όγκου αντί του βάρους. Η συνήθης μέθοδος για τον υπολογισμό του βάρους διαστάσεων (dimensional weight) είναι να διαιρέσετε τον όγκο με το 166 (ο επιτρεπόμενος αριθμός κυβικών ίντσων ανά λίβρα). Το πρόγραμμα dweight.c υπολογίζει το βάρος διαστάσεων ενός συγκεκριμένου κουτιού: Dimensions: 12x10x8 Volume (cubic inches): 960 Dimensional weight (pounds): 6 Εργαλεία 4

5 Παράδειγμα 1 Υπολογισμός του βάρους διαστάσεων ενός κουτιού Η διαίρεση αναπαριστάτε με / στην C, οπότε ο προφανής τρόπος για τον υπολογισμό του βάρους διάστασης είναι: weight = volume / 166; Στην C, ωστόσο, όταν ένας ακέραιος διαιρείται με έναν άλλο, η απάντηση είναι "περικομμένη": όλα τα ψηφία μετά την υποδιαστολή χάνονται. Ο όγκος ενός κουτιού με διαστάσεις είναι 960 κυβικές ίντσες. Διαιρώντας τον όγκο με τον αριθμό 166 μας δίνει 5 αντί για Παράδειγμα 1 Υπολογισμός του βάρους διαστάσεων ενός κουτιού Μια λύση είναι να προσθέσουμε τον αριθμό 165 στον όγκο πρωτού το διαιρέσουμε με το 166: weight = (volume + 165) / 166; Ένα κουτί με όγκο 166 θα μας δώσει βάρος 331/166, δηλαδή 1, ενός αν είχε όγκο 167 θα είχε βάρος 332/166, ή αλλιώς 2. Εργαλεία 5

6 Παράδειγμα 1 Υπολογισμός του βάρους διαστάσεων ενός κουτιού dweight.c /* Computes the dimensional weight of a 12" x 10" x 8" box */ #include <stdio.h> int main(void) { int height, length, width, volume, weight; height = 8; length = 12; width = 10; volume = height * length * width; weight = (volume + 165) / 166; printf("dimensions: %dx%dx%d\n", length, width, height); printf("volume (cubic inches): %d\n", volume); printf("dimensional weight (pounds): %d\n", weight); return 0; } Αρχικοποίηση Μια μεταβλητή που δεν έχει αρχικοποιηθεί με μια τιμή ονομάζεται uninitialized. Η προσπάθεια πρόσβασης στην τιμή μιας μεταβλητής που δεν έχει αρχικοποιηθεί οδηγεί σε απρόβλεπτα αποτελέσματα. Σε κάποιους μεταγλωττιστές, μπορεί ακόμα και να προκαλέσουν κατάρρευση του προγράμματος. Η αρχική τιμή μιας μεταβλητής μπορεί να συμπεριληφθεί στη δήλωσή της: int height = 8; Η τιμή 8 λέγεται ότι είναι μια initializer. Στην ίδια δήλωση μπορούν να αρχικοποιηθούν πολλές μεταβλητές ταυτόχρονα: int height = 8, length = 12, width = 10; Each variable requires its own initializer. int height, length, width = 10; /* initializes only width */ Εργαλεία 6

7 Εκτύπωση εκφράσεων Η printf μπορεί να εμφανίσει την τιμή οποιασδήποτε αριθμητικής παράστασης. Οι δηλώσεις volume = height * length * width; printf("%d\n", volume); θα μπορούσε να αντικατασταθεί με το printf("%d\n", height * length * width); Ανάγνωση εισόδου Η scanf απαιτεί ένα format string για να καθορίσετε την εμφάνιση των εισερχόμενων δεδομένων. Ένα παράδειγμα χρήσης της scanf που διαβάζει μια τιμή int : scanf("%d", &i); /* reads an integer; stores into i */ Το σύμβολο & συνήθως είναι απαραίτητο (όχι πάντα). Διαβάζοντας μια τιμή float είναι περίπου το ίδιο: scanf("%f", &x); Όπου "%f" επισημαίνει στην scanf να κοιτάξει για ένα αριθμό float (ο αριθμός μπορεί να περιέχει ένα δεκαδικό σημείο). Εργαλεία 7

8 Παράδειγμα 1 (revised) Υπολογισμός του βάρους διαστάσεων ενός κουτιού To dweight2.c είναι μια βελτιωμένη εκδοχή του προγράμματος για τον υπολογισμό του βάρος διαστάσεων, στο οποίο ο χρήστης εισάγει τις διαστάσεις. Σε κάθε κλήση της scanf προηγείται ένα κάλεσμα της printf που εμφανίζει μια προτροπή στον χρήστη να εισάγει την τιμή. Παράδειγμα 1 (revised) Υπολογισμός του βάρους διαστάσεων ενός κουτιού dweight2.c /* Computes the dimensional weight of a box from input provided by the user */ #include <stdio.h> int main(void) { int height, length, width, volume, weight; printf("enter height of box: "); scanf("%d", &height); printf("enter length of box: "); scanf("%d", &length); printf("enter width of box: "); scanf("%d", &width); volume = height * length * width; weight = (volume + 165) / 166; printf("volume (cubic inches): %d\n", volume); printf("dimensional weight (pounds): %d\n", weight); return 0; } Δεν απαιτείται το σύμβολο για νέα γραμμή Εργαλεία 8

9 Παράδειγμα 1 (revised) Υπολογισμός του βάρους διαστάσεων ενός κουτιού Δείγμα εξόδου του προγράμματος: Enter height of box: 8 Enter length of box: 12 Enter width of box: 10 Volume (cubic inches): 960 Dimensional weight (pounds): 6 Ορισμός ονομάτων για σταθερές Οι dweight.c και dweight2.c βασίζονται στην σταθερά 166, του οποίου η έννοια μπορεί να μην είναι ξεκάθαρη σε κάποιον που διαβάζει το πρόγραμμα. Η Χρήση του macro definition, μπορεί να δώσει όνομα στην σταθερά: #define INCHES_PER_POUND 166 Κατά την προεπεξεργασία, η δήλωση weight = (volume + INCHES_PER_POUND - 1) / INCHES_PER_POUND; θα γίνει weight = (volume ) / 166; Η τιμή μιας μακροεντολής μπορεί να είναι μια έκφραση: #define RECIPROCAL_OF_PI (1.0f / f) Χρήση μόνο κεφαλαία γράμματα Απαραίτητη η χρήση παρένθεσης Εργαλεία 9

10 Περιεχόμενα Διάλεξης Μορφοποιήση I/O Formatted I/O (Κεφ. 3) printf, scanf, ορίσματα Εκφράσεις Expressions (Κεφ. 4) Αριθμητικοί Τελεστές, Τελεστές Ανάθεσης, Μοναδιαίοι & Σχεσιακοί Τελεστές, Λογικοί Τελεστές Εντολές Επιλογής Selection (Κεφ. 5) If then else, macros, switch Εντολές Επανάληψης Repetition (Κεφ. 6) while, do, for, break, continue, goto Μορφοποίηση Εξόδου της printf Η printf μας επιτρέπει να εκτυπώσουμε στην έξοδο, π.χ., printf("age: %d", 32); Προδιαγραφή Μετατροπής (Conversion Specification) Όπου m (minimum field width) και p (precision) είναι σταθερές και X (conversion specifier) είναι γράμμα %m.px : δεξιά στοίχιση,π.χ.,("%5.3d", 40)=> 040 %-m.px: αριστερή, π.χ., ("%-5.3d", 40)=> 040 Νόμιμες Δηλώσεις: m.p ή m ή.p και για Χ έχουμε: d (decimal, π.χ., 0 9) o (octal 0 7) και x (hexadecimal 0 F) i (integer): Σε scanf σαρώνει σε d (56), o (056) ή x (0x56) e (exponential, π.χ., 8.392e+02) Εκθετική f (float in fixed decimal, π.χ., 8.7) Πραγματική g (exponential fixed decimal ανάλογα με το μέγεθος). Εργαλεία 10

11 Παράδειγμα Μορφοποίηση Εξόδου της printf /* Prints int and float values in various formats */ #include <stdio.h> int main(void) { int i; float x; i = 40; x = f; printf(" %d %5d %-5d %5.3d %-5.3d \n", i, i, i, i, i); printf(" %10.3f %10.3e %-10g \n", x, x, x); return 0; } Output: e Ακολουθίες Escape Οι ακολουθίες Escape επιτρέπουν σε συμβολοσειρές να περιέχουν μη εκτυπώσιμους χαρακτήρες (ελέγχου) Alert (bell) \a Backspace \b New line \n Horizontal tab \t ή χαρακτήρες με ειδικό νόημα \" : printf("\"hello!\""); => "Hello!" \\ : printf("\\"); => \ Εργαλεία 11

12 Ακολουθίες Escape Μια συμβολοσειρά μπορεί να περιέχει οποιονδήποτε αριθμό από ακολουθίες διαφυγής: printf("item\tunit\tpurchase\n\tprice\tdate\n"); Η εκτέλεση αυτής της δήλωσης εκτυπώνει τα ακόλουθα: Item Unit Purchase Price Date Η Συνάρτηση scanf (Λογική Σάρωσης) Είχαμε πει ότι η συνάρτηση scanf διαβάζει δεδομένα από το Standard Input με ένα συγκεκριμένο (προσδιορισμένο) format, π.χ., Η χρήση του & θα εξηγηθεί στη διάλεξη 5. int i, j; float x, y; Μέχρι τότε να δίνεται σε όλες τις μεταβλητές scanf("%d%d%f%f", &i, &j, &x, &y); Ουσιαστικά, η scanf επιχειρεί να βρει τους τύπους αγνοώντας τα white space χαρακτήρες (\n newline, \t horizontal tab, \v vertical tab και form feed \f.) Παράδειγμα με Δεδομένα σε Πολλαπλές γραμμές όπου το \n: e e3 ssrsrrrsssrrssssrrrrrr (s = skipped; r = read) Τα \v και \t είχαν χρήση παλιά σε εκτυπωτές αλλά όχι σήμερα. Η scanf δεν διαβάζει το τελευταίο \n, άρα παραμένει στο input buffer για την επόμενη εντολή που διαβάζει από το stdin Εργαλεία 12

13 Η Συνάρτηση scanf (Λογική Σάρωσης) Ακέραιος (%d): διαβάζει ένα ένα χαρακτήρα μέχρι την εύρεση χαρακτήρα ψηφίου (0 9) ή χαρακτήρα προσήμου (+, ). Στη συνέχεια διαβάζει από το stdin μέχρι να βρει ένα χαρακτήρα που δεν είναι ψηφίο. π.χ., abc: ac Συμβολοσειρά (%s): διαβάζει ένα ένα χαρακτήρα μέχρι την εύρεση του χαρακτήρα NUL (\0). Αριθμός Κινητής Υποδιαστολής (%f %e %g): Χαρακτήρας προσήμου (προαιρετικός), μετά Ψηφία (ενδεχομένως με δεκαδική ακρίβεια), μετά Έκθετης (προαιρετικό): Χαρακτήρας e (ή E), προαιρετικό πρόσημο και 1 ή περισσότερα ψηφία Π.χ., e+02 Σημείωση: Πολλοί προγραμματιστές προτιμούν να σαρώνουν την είσοδο ως συμβολοσειρά και στη συνέχεια να κάνουν τις ανάλογες μετατροπές (για καλύτερο έλεγχο και ασφάλεια) Η Συνάρτηση scanf (Λογική Σάρωσης) Παράδειγμα 1: scanf("%d%d%f%f", &i, &j, &x, &y); Είσοδος: e3 Πιο κάτω δείχνουμε τι θα έκανε η scanf: %d: Αποθηκεύει 1 στο i και βάζει το πίσω στο stdin. %d: Αποθηκεύει 20 στο j και βάζει το. πίσω στο stdin. %f: Αποθηκεύει 0.3 στο x και βάζει το πίσω. %f: Αποθηκεύει στο y και βάζει το \n πίσω. Παράδειγμα 2: scanf("%d%d", &i, &j); Είσοδος: 2,3 // αγνοούνται μόνο τα whitespace! Πιο κάτω δείχνουμε τι θα έκανε η scanf: i=2 και «,3» μένει στο stdin για την επόμενη κλήση (το "," δεν είναι whitespace). Εργαλεία 13

14 Η Συνάρτηση scanf (Λογική Σάρωσης) Προβληματική Κλήση 1: scanf("hello: %d", &i); (Input) Something 34 => Δεν σαρώνει το 34 (Input) Hello: 34 => Σαρώνει το 34 στo i Προβληματική Κλήση 2: scanf("%d\n", &i); Δηλώσαμε ότι θέλουμε να σαρώσουμε το πρότυπο "%d\n" άρα για επιτυχή τερματισμό του προγράμματος πρέπει να δώσουμε: α) <ακέραιο>\n, ή β)τουλάχιστο ένα χαρακτήρα και ένα \n (για διακοπή). Προβληματική Κλήση 3: #define MAX "50 char name[max]; scanf("%s", name); printf("%s", name); (Input) Hello34 => Σαρώνει το "Hello34\0" στο name (Input) Hello 34 => Σαρώνει το "Hello\0" στο name Για σάρωση λέξεων που χωρίζονται με space έχουμε δυο επιλογές: fgets(name, sizeof(name), stdin); scanf("%" MAX "[^\n]", name); Δεν υπάρχει & μπροστά στο name Παράδειγμα Υπολογισμού του UPC Ψηφίου Ισοτιμίας (Parity Digit) Τα περισσότερα προϊόντα φέρουν ένα Universal Product Code (UPC). Παράδειγμα UPC A => Νόημα των ψηφίων κάτω από τον κωδικό: 0 ο ψηφίο: Τύπος Αντικειμένου (π.χ., 3: φάρμακα) 1 ο 5 ο ψηφία: Κατασκευαστής 6 ο 10 ο ψηφία: Προϊόν και μέγεθος 11 ο Ψηφίο: Ψηφίο Ισοτιμίας που χρησιμοποιείται για διόρθωση ενός ψηφίου λάθους (π.χ., εάν δεν σαρωθεί ορθά ένα από τα πρώτα 11 ψηφία) Εργαλεία 14

15 Παράδειγμα Υπολογισμού του UPC Ψηφίου Ισοτιμίας (Parity Digit) Τρόπος υπολογισμού Ψηφίου Ισοτιμίας στο UPC A: even = 0 o + 2 o + 4 o + 6 o + 10 o ψηφίο odd = 1 o + 3 o + 5 o + 7 o + 9 o ψηφίο total = (3*even + odd) 1 Check_Digit = 9 (total % 10); Παράδειγμα Υπολογισμού του UPC Ψηφίου Ισοτιμίας (Parity Digit) /* Computes a Universal Product Code check digit */ #include <stdio.h> int main(void) { int i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, even, odd, total; printf("enter the first (single) digit: "); scanf("%1d", &i0); printf("enter first group of five digits: "); scanf("%1d%1d%1d%1d%1d", &i1, &i2, &i3, &i4, &i5); printf("enter second group of five digits: "); scanf("%1d%1d%1d%1d%1d", &i6, &i7, &i8, &i9, &i10); even = i0 + i2 + i4 + i6 + i8 + i10; odd = i1 + i3 + i5 + i7 + i9; total = (3 * even) + odd - 1; printf("check digit: %d\n", 9 - (total % 10)); return 0; } Σημειώστε πως η scanf ξεχωρίζει τα ψηφία μέσω του ορίσματος πλάτους «%1d» Εργαλεία 15

16 Σύγχυση της printf με scanf Μολονότι το κάλεσμα της scanf και printf μπορεί να μοιάζει, υπάρχουν σημαντικές διαφορές μεταξύ των δύο. Ένα συνηθισμένο λάθος είναι να βάλεις & μπροστά από τις μεταβλητές κατά το κάλεσμα της printf: printf("%d %d\n", &i, &j); /*** WRONG ***/ Σύγχυση της printf με scanf Έστω η ακόλουθη κλήση της scanf: scanf("%d, %d", &i, &j); η scanf θα αναζητήσει πρώτα έναν ακέραιο στην είσοδο, τον οποίο θα αποθηκεύσει στη μεταβλητή i. η scanf στη συνέχεια, θα προσπαθήσει να ταιριάξει το κόμμα με τον επόμενο χαρακτήρα εισόδου. Εάν ο επόμενος χαρακτήρας εισόδου είναι κενό (space), και όχι κόμμα, η scanf θα τερματίσει χωρίς να διαβάσει μια τιμή για το j. Εργαλεία 16

17 Περιεχόμενο Διάλεξης Μορφοποιημένη Είσοδος/Έξοδ. (Κεφ. 3) printf, scanf, ορίσματα Εκφράσεις & Τελεστές (Κεφ. 4) Αριθμητικοί Τελεστές, Τελεστές Ανάθεσης, Μοναδιαίοι & Σχεσιακοί Τελεστές, Λογικοί Τελεστές Εντολές Επιλογής (Κεφ. 5) If then else, macros, switch Εντολές Επανάληψης (Κεφ. 6) while, do, for, break, continue, goto Εκφράσεις & Τελεστές (Expressions & Operators) Ορισμοί Έκφραση (Expression): εξίσωση η οποία δείχνει πως θα υπολογιστεί μια τιμή (π.χ., b + c) Τελεστής (Operator): πράξη (π.χ., +) Τελεσταίοι (Operands): Όροι μιας πράξης (π.χ., b, c) Η C έχει όλους τους τελεστές που είδατε και στα πλαίσια της JAVA, συμπεριλαμβανομένων: Αριθμητικοί τελεστές: +, -, *, /, % Τελεστές ανάθεσης, π.χ., a = b Τελεστές αύξησης / μείωσης, π.χ., a++, a Λογικοί τελεστές, π.χ., a>3 && b<1 κτλ. Εργαλεία 17

18 Αριθμητικοί Τελεστές Εάν int και float τελεστές αναμειχθούν, το αποτέλεσμα είναι τύπου float f έχει την τιμή 11.5, και 6.7f / 2 έχει την τιμή Η συμπεριφορά των / και % για ακέραιες τιμές ορίζεται από την υλοποίηση (implementation defined) => καλό να αποφεύγεται! -9/7 = -1 σε μερικά CPU και -9/7=-2 σε άλλα! Η τιμή του i%jείναι το υπόλοιπο του i όταν διαιρεθεί με το j. 10 % 3 είναι 1, and 12 % 4 είναι 0. Χρησιμοποιείται πάντα παρενθέσεις σε εκφράσεις, εναλλακτικά θα εφαρμόζεται η προτεραιότητα των τελεστών. Highest: +-(unary), π.χ., b = a; */% Lowest: +-(binary) Τα δεκαδικά στοιχεία δεν υπάρχουν Ο τελεστής % απαιτεί μόνο ακέραιους Εταιρικότητα Τελεστών (Operator Associativity) Το θέμα της Εταιρικότητα (Associativity) προκύπτει όταν έχουμε δυο ή περισσότερους τελεστές με ΙΣΗ προτεραιότητα (χωρίς παρενθέσεις!) π.χ., i-j k Αριστερή Εταιρικότητα (left associative): εάν ομαδοποιεί τους τελεσταίους από αριστερά στα δεξιά. Π.χ., οι δυαδικοί αριθμητικοί τελεστές (*, /, %, +, and -) i-j k ισοδύναμο με (i - j) k i*j/k ισοδύναμο με (i * j) / k Δεξιά Εταιρικότητα (right associative): εάν ομαδοποιεί τους τελεσταίους από δεξιά στα αριστερά Π.χ., οι μοναδιαίοι αριθμητικοί τελεστές (+ και -) -+i ισοδύναμο με -(+i) i+j/kισοδύναμο με i+(j/k) Ανεξάρτητα από Εταιρικότητα, η C δεν ορίζει τη σειρά εκτέλεσης των όρων μιας έκφρασης, π.χ.,(a + b)*(c - d) Εργαλεία 18

19 Τελεστής Ανάθεσης (Assignment Operator) Παραδείγματα int i; i = 72.99f; /* i is now 72 */ i = j = k = 0; /* μαζική αρχικοποίηση */ O τελεστής ανάθεσης έχει δεξιά Εταιρικότητα: i=(j=(k=0)); /* μαζική αρχικοποίηση */ int i; float f; f = i = 33.3f; // το i έχει τιμή 33 και το f 33.0 Σύνθετη Ανάθεση (Compound) έχει δεξιά Εταιρικότητα: += -= *= /= %= i += 2; /* ίδιο με i = i + 2; */ i =+ 2; /* Προσοχή: ίδιο i = (+2); */ Τελεστής Αύξησης/Μείωσης (Increment/Decrement Operator) Ο τελεστής αύξησης (++) / μείωσης (--) μπορεί να χρησιμοποιηθεί ως προθεματικός (prefix) ή επιθεματικός (postfix) τελεστής KAI επηρεάζει την τιμή μιας μεταβλητής Παράδειγμα: Άμεση αύξηση i: Πρώτα αύξηση μετά εκτύπωση i = 1; printf("i is %d\n", ++i); /* prints "i is 2" */ printf("i is %d\n", i); /* prints "i is 2" */ i = 1; Πρώτα εκτύπωση μετά αύξηση printf("i is %d\n", i++); /* prints "i is 1" */ printf("i is %d\n", i); /* prints "i is 2" */ Εργαλεία 19

20 Αποτίμηση Αριθμητικών Εκφράσεων (Αrithmetic Expression Evaluation) Πίνακας Τελεστών που συζητήθηκαν μέχρι στιγμής: Προτεραιότητα Όνομα Σύμβολο(α) Εταιρικότητα 1 increment (postfix) a++ left to right decrement (postfix) a-- 2 increment (prefix) ++a right to left decrement (prefix) --a unary plus + unary minus - 3 multiplicative * / % left to right 4 additive + - left to right 5 assignment = *= /= %= += -= right to left Τι θα εκτελεστεί; a = b += c++ - d + --e / -f (a = (b += (((c++) - d) + ((--e) / (-f))))) Χρησιμοποιείται Παρενθέσεις! Γενική Παρατήρηση: Οι μοναδιαίοι τελεστές έχουν ψηλότερη προτεραιότητα από τους δυαδικούς τελεστές Αποτίμηση Αριθμητικών Εκφράσεων (Αrithmetic Expression Evaluation) Υπάρχουν ασαφείς (ambiguous) εκφράσεις στη C που οδηγούν σε απροσδιόριστη συμπεριφορά (undefined behavior) ενός προγράμματος. Δηλ., διαφορετικοί μεταγλωττιστές => διαφορετική συμπ. a = 5; c = (b = a + 2) - (a = 1); Αρισ. Εταιρ Έκφρασης Εάν εκτελεστεί πρώτα (b = a + 2) τότε b=7, a=1 και c=6 (GCC) Εάν εκτελεστεί πρώτα το (a = 1)τότε a=1, b=3 και c=2 Κάποιοι μεταγλωττιστές μπορεί να δώσουν προειδοποίηση: operation on a may be undefined ή "warning: unsequenced modification and access to 'a' [ Wunsequenced]" Συμπέρασμα: Χρησιμοποιείτε ΠΑΝΤΑ παρενθέσεις σε εκφράσεις Αποφεύγετε ΠΑΝΤΑ έντεχνες εκφράσεις που μπορεί να οδηγήσουν σε απροσδιόριστη συμπεριφορά Εργαλεία 20

21 Συνήθη λάθη Προσέξτε για απροσδόκητα αποτελέσματα σε συνδεδεμένες αναθέσεις: int i; float f; f = i = 33.3f; Στο i αντιστοιχεί η τιμή 33, οπότε στο f αντιστοιχεί η τιμή 33.0 (όχι η 33.3). Είναι παράνομο να τοποθετήσετε οποιοδήποτε άλλο είδος έκφρασης στην αριστερή πλευρά μιας παράστασης ανάθεσης: 12 = i; /*** WRONG ***/ i + j = 0; /*** WRONG ***/ -i = j; /*** WRONG ***/ Το πρόγραμμα μεταγλώττισης θα παρουσιάσει ένα μήνυμα σφάλματος, π.χ. invalid lvalue in assignment. Συνήθη λάθη ΠΡΟΣΟΧΗ: v += e δεν είναι πάντα "ισοδύναμο" με v = v + e. Π.χ. Ένα πρόβλημα είναι η προτεραιότητα του χειριστή: i*=j+kδεν είναι το ίδιο με το i=i*j+k. Έστω και αν το i=+jθα μεταγλωττίσει ως σωστό, είναι ισοδύναμο με το i = (+j). Εργαλεία 21

22 Αποτίμηση Λογικών Εκφράσεων (Logical Expression Evaluation) Λογική Έκφραση στη C: Έκφραση που αποτιμάται σε 0 (false) ή 1 (true) π.χ., (a>3) ή (3<a && a<5) Σε πολλές γλώσσες (όπως η JAVA), μια λογική έκφραση παράγει ένα Boolean ή λογικό τύπο (π.χ., βασικός τύπος boolean ή τύπος κλάσης Boolean). Στη C99 υπάρχει όπως είδαμε ο _Bool τύπος που είναι και αυτός ουσιαστικά μια ακέραια τιμή. Boolean Τιμές στη C (και C99) Για να γίνουν τα προγράμματα πιο κατανοητά, οι προγραμματιστές παραδοσιακά όριζαν macros με ονόματα όπως TRUE και FALSE: #define TRUE 1 #define FALSE 0 if (flag == TRUE) ή if (flag) Προσοχή: Zero: 0 FALSE Positives: 1 TRUE Negatives: -1 TRUE H C99 παρέχει τον τύπο _Bool (στην πράξη απλά ένας ακέραιος ο οποίος λαμβάνει μόνο τις τιμές 0, 1). Εάν περιλάβουμε την <stdbool.h> τότε μπορούμε να χρησιμοποιήσουμε τα macros true και false αλλά και τις δηλώσεις: bool flag; Εργαλεία 22

23 Αποτίμηση Λογικών Εκφράσεων (Logical Expression Evaluation) Σχεσιακοί Τελεστές (Relational Operators) < less than > greater than <= less than or equal to >= greater than or equal to == equal to!= not equal to Τελεστές Ισότητας (Equality Operators) == equal to!= not equal to Λογικοί Τελεστές (Logical Operators)! logical negation (μοναδιαίος τελεστής, δεξιά εταιρικότητα) && logical and (δυαδικός τελεστής, αριστερή εταιρικότητα) logical or (δυαδικός τελεστής, αριστερή εταιρικότητα) Προσοχή: Διαφορετικό από & και που είναι οι λεγόμενοι δυαδικοί τελεστές που θα δούμε προς το τέλος του μαθήματος. Αποτίμηση Λογικών Εκφράσεων (Logical Expression Evaluation) Παραδείγματα Προτεραιότητα λογικών τελεστών μικρότερη από τους αριθμητικούς τελεστές: π.χ., i + j<k-1 σημαίνει (i+j)<(k-1) Η Εταιρικότητα των σχεσιακών τελεσ. είναι αριστερή: π.χ., i < j < k σημαίνει (i < j) < k Εάν η πρόθεση μας ήταν να ελέγξουμε ότι j μεταξύ i και k έπρεπε να γράψουμε: i<j&&j<k. Τόσο το && όσο και το βραχυκυκλώνουν ( short circuit ) μια αποτίμηση: αποτιμούν το αριστερότερο σκέλος και μετά τα δεξιότερα (εάν χρειάζεται). (i!= 0) && ((j / i) > 0) // εάν δεν ισχύει το πρώτο σκέλος της έκφρασης δεν εκτελείται το δεξιό Εργαλεία 23

24 Περιεχόμενο Διάλεξης Μορφοποιημένη Είσοδος/Έξοδ. (Κεφ. 3) printf, scanf, ορίσματα Εκφράσεις (Κεφ. 4) Αριθμητικοί Τελεστές, Τελεστές Ανάθεσης, Μοναδιαίοι & Σχεσιακοί Τελεστές, Λογικοί Τελεστές Εντολές Επιλογής (Κεφ. 5) If then else, macros, switch Εντολές Επανάληψης (Κεφ. 6) while, do, for, break, continue, goto H Εντολή Επιλογής if..else Η εντολή επιλογής if επιτρέπει την εκτέλεση μιας ή περισσότερων εντολών, εάν η τιμή της λογικής έκφρασης expression αποτιμάται σε μη μηδενική τιμή if ( expression ) { stmt1; stmt2; } else if (expression) { stmt1; stmt2; } else { stmt1; stmt2; } Συνηθισμένο Λάθος I: if (i = 0), ενώ εννοούσαμε if (i == 0) Μπορείτε να γράφετε (0 == i), έτσι ώστε εάν σας ξεφύγει ένα = να πάρετε λάθος μεταγλώττισης (lvalue) Έλεγχος Εύρους 0 i < n: i<0 ή n<=i: if (0 <= i && i < n) if (i < 0 n <= i) Εργαλεία 24

25 H Εντολή Επιλογής if..else Μια εντολή if μπορεί να έχει μια ρήτρα else : if ( expression ) statement else statement Η δήλωση που ακολουθεί τη λέξη else εκτελείται εάν η παράσταση έχει την τιμή 0. Παράδειγμα: if (i > j) max = i; else max = j; H Εντολή Επιλογής if..else Δεν είναι ασυνήθιστο για τις εντολές if να είναι ένθετες μέσα σε άλλες if : if (i > j) if (i > k) max = i; else max = k; else if (j > k) max = j; else max = k; Ευθυγραμμίζοντας κάθε else με το αντίστοιχο if διευκολύνει την γραφή του προγράμματος. Εργαλεία 25

26 H Εντολή Επιλογής if..else Για να αποφύγετε τη σύγχυση, μην διστάσετε να προσθέσετε αγκύλες: if (i > j) { if (i > k) max = i; else max = k; } else { if (j > k) max = j; else max = k; } H Εντολή Επιλογής if..else Συνηθισμένο Λάθος ΙΙ ( dangling else ): if (y!= 0) if (x!= 0) result = x / y; else printf("error: y is equal to 0\n"); Σε ποιο if ανηκει το else ; Μάθημα: Χρησιμοποιείται πάντα { } παρενθέσεις σε εντολές if, while, do, κτλ.! Στις διαφάνεια ίσως να μην χρησιμοποιούνται πάντα για εξοικονόμηση χώρου. Στον κώδικα σας ωστόσο να χρησιμοποιούνται ΠΑΝΤΑ. Εργαλεία 26

27 Παράδειγμα Υπολογισμός της αποζημίωσης ενός μεσίτη Όταν αγαθά πωλούνται ή αγοράζονται μέσω ενός μεσίτη, η προμήθεια του μεσίτη συχνά εξαρτάται από την αξία των αγαθών που είναι υπό διαπραγμάτευση. Ας υποθέσουμε ότι ο μεσίτης χρεώνει τα ποσά που εμφανίζονται στον ακόλουθο πίνακα: Transaction size Commission rate Under $2,500 $ % $2,500 $6,250 $ % $6,250 $20,000 $ % $20,000 $50,000 $ % $50,000 $500,000 $ % Over $500,000$ % Η ελάχιστη χρέωση είναι $39. Παράδειγμα Υπολογισμός της αποζημίωσης ενός μεσίτη /* Calculates a broker's commission */ #include <stdio.h> int main(void) { float commission, value; printf("enter value of trade: "); scanf("%f", &value); if (value < f) commission = 30.00f +.017f * value; else if (value < f) commission = 56.00f f * value; else if (value < f) commission = 76.00f f * value; else if (value < f) commission = f f * value; else if (value < f) commission = f f * value; else commission = f f * value; if (commission < 39.00f) commission = 39.00f; printf("commission: $%.2f\n", commission); return 0; } broker.c Εργαλεία 27

28 Η Μακροεντολή Τριαδικός Τελεστής (expr1)? expr2 : expr3 Άλλος τρόπος διατύπωσης If then else είναι με τη χρήση Μακροεντολής (Macro): (expr1)? expr2 : expr3 Ίδιο με: If (expr1!= 0) { return expr2; } else { return expr3; } Έχει το πλεονέκτημα ότι το αποτέλεσμα μπορεί να ανατεθεί σε μεταβλητή αλλά δυσχεραίνει τον δομημένο προγραμματισμό. Παράδειγμα: int i = 1, j = 2, k; k = i > j? i : j; /* k is now 2 */ k = (i >= 0? i : 0) + j; /* k is now 3 */ printf("%d\n", i > j? i : j); /* prints 2 */ return i > j? i : j; /* returns 2 */ H Εντολή Επιλογής switch Η εντολή πολλαπλής επιλογής switch διαβάζεται ευκολότερα από πολλαπλά if και είναι συχνά και γρηγορότερη. switch ( control expression ) { case constant expression : statements; break; case constant expression : statements; break; default : statements } Θεληματική Παράληψη break switch (grade) { case 2: case 1: printf("passing"); break; case 0: printf("failing"); break; default: printf("illegal grade"); break; } int or char Π.χ., 5 ή 5+10 Εργαλεία 28

29 Περιεχόμενο Διάλεξης Μορφοποιημένη Είσοδος/Έξοδ. (Κεφ. 3) printf, scanf, ορίσματα Εκφράσεις & Τελεστές (Κεφ. 4) Αριθμητικοί Τελεστές, Τελεστές Ανάθεσης, Μοναδιαίοι & Σχεσιακοί Τελεστές, Λογικοί Τελεστές Εντολές Επιλογής (Κεφ. 5) If then else, macros, switch Εντολές Επανάληψης (Κεφ. 6) while, do, for, break, continue, goto Εντολές Επανάληψης της C while ( expression ) statement; το expression αποτιμάται πριν το loop. while ( expr ) { stmt1; stmt2; } while (1) Άπειρο (έξοδος με break,return,exit) Κοινό λάθος: while (expr); stmt ή if (expr); do statement while ( expression ) ; το statement εκτελείται πάντα τουλάχιστο μια φορά Καλή ιδέα να χρησιμοποιούνται ΠΑΝΤΑ οι { } και να υπάρχει στοίχιση. for ( expr1 ; expr2 ; expr3 ) statement Διατυπώνεται και με while: i = 10; while (i > 0) { i--; } Εργαλεία 29

30 Η Εντολή while Η εντολή while : i = 1; while (i < n) i = i * 2; Για n ίσο με 10: i = 1; i is now 1. Is i<n? Yes; continue. i = i * 2; iis now 2. Is i<n? Yes; continue. i = i * 2; iis now 4. Is i<n? Yes; continue. i = i * 2; iis now 8. Is i<n? Yes; continue. i = i * 2; iis now 16. Is i<n? No; exit from loop. Ορίζει τον τερματισμό Copyright 2008 W. W. Norton & Company. All rights reserved. 59 Παράδειγμα Άθροιση μιας σειράς αριθμών Το πρόγραμμα sum.c αθροίζει μια σειρά ακεραίων που εισάγονται από το χρήστη: This program sums a series of integers. Enter integers (0 to terminate): The sum is: 107 Copyright 2008 W. W. Norton & Company. All rights reserved. 60 Εργαλεία 30

31 Παράδειγμα Άθροιση μιας σειράς αριθμών /* Sums a series of numbers */ #include <stdio.h> int main(void) { int n, sum = 0; sum.c } printf("this program sums a series of integers.\n"); printf("enter integers (0 to terminate): "); scanf("%d", &n); while (n!= 0) { sum += n; scanf("%d", &n); } printf("the sum is: %d\n", sum); return 0; Copyright 2008 W. W. Norton & Company. All rights reserved. 61 Εντολές Επανάληψης της C (Επανάληψη For) Για απαρίθμηση n στοιχείων Απαρίθμηση (πάνω) από 0 σε n 1: for (i = 0; i < n; i++) Απαρίθμηση (πάνω) από 1 σε n: for (i = 1; i <= n; i++) Απαρίθμηση (κάτω) από n 1 σε 0: for (i = n 1; i >= 0; i ) Απαρίθμηση (κάτω) από n σε 1: for (i = n; i > 0; i ) ΠΟΤΕ δεν χρησιμοποιείται πραγματική τιμή στον μετρητή για αποφυγή προβλημάτων (π.χ., f==10.0f) Επεξήγηση Σύνταξης for (; i > 0; --i) => Χωρίς αρχικοποίηση for (; i > 0;) => Ίδιο με while (i>0) for (;;) => Infinite Loop for (int i = 0; i < n; i++) => OK για C99 (gcc -std=c99 το i δεν έχει τιμή εκτός του scope του loop) for (int i = 0, j = 0; i < n; i++) // όπως και στη JAVA Εργαλεία 31

32 Η εντολή for Για παράδειγμα, έστω for (i = 10; i > 0; --i) printf("t minus %d and counting\n", i); Η αντίστοιχη εντολή με while : i = 10; while (i > 0) { printf("t minus %d and counting\n", i); --i; } Η εντολή for στη C99 Στην C99, η πρώτη έκφραση στην εντολή for μπορεί να αντικατασταθεί με δήλωση. Αυτή η δυνατότητα επιτρέπει στον προγραμματιστή να δηλώσει μια μεταβλητή για χρήση από τον βρόχο: for (int i = 0; i < n; i++) Η μεταβλητή i δεν χρειάζεται να έχει δηλωθεί πριν από την εντολή. Εργαλεία 32

33 Η εντολή for στη C99 Μια μεταβλητή που δηλώνεται στην for δεν είναι προσβάσιμη έξω από το σώμα του βρόχου for (int i = 0; i < n; i++) { printf("%d", i); /* legal; i is visible inside loop */ } printf("%d", i); /*** WRONG ***/ Εντολές Επανάληψης της C (Έξοδος από Loops) To κανονικό σημείο εξόδου μιας επανάληψης είναι η αρχή (while ή for) ή το τέλος (do). Έλεγχος ροής: break (loops, switch), continue (μόνο σε loops), goto τα οποία δουλεύουν για ένα επίπεδο. while ( ) { switch ( ) { break; } } To goto μπορεί να ανακατευθύνει τη ροή εκτέλεσης σε οποιαδήποτε έκφραση σε συνάρτηση, η οποία είναι σημειωμένη (labeled). Ενάντια στον Δομημένο Προγραμματισμό => Να αποφεύγεται, εφόσον οδηγεί σε κώδικα spaghetti. Εργαλεία 33

34 Η εντολή continue Ένας βρόχος που χρησιμοποιεί την εντολή continue: n = 0; sum = 0; while (n < 10) { scanf("%d", &i); if (i == 0) continue; sum += i; n++; /* continue jumps to here */ } Ο ίδιος βρόχος γραμμένος χωρίς την εντολή continue: n = 0; sum = 0; while (n < 10) { scanf("%d", &i); if (i!= 0) { sum += i; n++; } } Εργαλεία 34

Διάλεξη 2: Εισαγωγή - Μορφοποίηση, Εκφράσεις, Επιλογή, Επανάληψη

Διάλεξη 2: Εισαγωγή - Μορφοποίηση, Εκφράσεις, Επιλογή, Επανάληψη Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 2: Εισαγωγή - Μορφοποίηση, Εκφράσεις, Επιλογή, Επανάληψη (Κεφάλαια 3-4-5-6, KNK-2ED) Ηλίας Αθανασόπουλος (Η παρουσιάση έχει

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

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

Υπολογισμός - Εντολές Επανάληψης Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

Διαβάστε περισσότερα

Υπολογισμός - Εντολές Ελέγχου

Υπολογισμός - Εντολές Ελέγχου Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Ελέγχου ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

Διαβάστε περισσότερα

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

Διαβάστε περισσότερα

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

Διαβάστε περισσότερα

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13) Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις Επανάληψη για την ενδιάμεση εξέταση (Διάλεξη 13) 13-1 Πρόβλημα 1 Γράψετε τον ορισμό μίας συνάρτησης η οποία υπολογίζει το μέγιστο 2 ακεραίων αριθμών και

Διαβάστε περισσότερα

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

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

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

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

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

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 3: Εντολές ελέγχου επανάληψη Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 7 ομές Επαναλήψεις Ο βρόχος While ομές Έλεγχου

Διαβάστε περισσότερα

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εντολές ελέγχου ροής προγράμματος (if-else & switch) Η εντολή if-else Η εντολή if-else υπάρχει σχεδόν σε όλες τις γλώσσες προγραμματισμού. Χρησιμοποιείται για τον έλεγχο της

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Πέμπτη (5 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/

Διαβάστε περισσότερα

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήμερα Διάλεξη 9 - Δευτέρα while() τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές

Διαβάστε περισσότερα

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

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

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

Διαβάστε περισσότερα

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

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης Στόχοι και αντικείμενο ενότητας Έλεγχος ροής προγράμματος (βλ. ενότητα #4) Δομή επανάληψης #5.. Εντολές Επανάληψης Προτάσεις επανάληψης Εντολές while, do while Εντολή for Περί βρόχων (loops) Τελεστές,

Διαβάστε περισσότερα

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

οµές Επιλογής Εντολές if και switch οµές Επιλογής Εντολές if και switch οµή Ελέγχου Control Structure Ένας συνδυασµός ατοµικών εντολών σε µία λογική µονάδα, όπου υπάρχει µόνο ένα σηµείο εισόδου και ένα σηµείο εξόδου. οµή Ελέγχου για Επιλογή

Διαβάστε περισσότερα

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

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 3 ο : Εντολές ελέγχου > επανάληψη Στόχοι μαθήματος Να μάθετε τις λεπτομέρειες των εντολών while και for και τις περιπτώσεις

Διαβάστε περισσότερα

3. Εκφράσεις και έλεγχος ροής

3. Εκφράσεις και έλεγχος ροής 3. Εκφράσεις και έλεγχος ροής Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να διακρίνετε ανάμεσα σε μεταβλητές μέλη και αυτόματες μεταβλητές Να περιγράφετε την αρχικοποίηση των μεταβλητών μελών Να αναγνωρίζετε

Διαβάστε περισσότερα

Διάλεξη 6: Δείκτες και Πίνακες

Διάλεξη 6: Δείκτες και Πίνακες Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 6: Δείκτες και Πίνακες (Κεφάλαιο 12, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 6-1 Περιεχόμενο

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

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

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 2 ο : Εντολές ελέγχου > εντολές υπό συνθήκη Στόχοι μαθήματος Να κατανοήσετε τη σχέση μεταξύ εντολών και παραστάσεων. Να αναγνωρίζετε

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 4: Τελεστές Τελεστές: Τελεστής Ανάθεσης 2 Το σύμβολο της ανάθεσης είναι το = Προσοχή: το σύμβολο ελέγχου ισότητας είναι το ==. Η μορφή των προτάσεων ανάθεσης είναι:

Διαβάστε περισσότερα

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

8. Συνθήκες ελέγχου, λογικοί τελεστές Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 8. Συνθήκες ελέγχου, λογικοί τελεστές Ιωάννης Κατάκης Σήμερα o Λογικές παραστάσεις Σχεσιακοί τελεστές Λογικοί τελεστές o if -else o switch Λογικές παραστάσεις

Διαβάστε περισσότερα

5 &6. Τύποι δεδομένων, τελεστές και

5 &6. Τύποι δεδομένων, τελεστές και Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 5 &6. Τύποι δεδομένων, τελεστές και αριθμητικές εκφράσεις Ιωάννης Κατάκης Σήμερα o Τύποι δεδομένων int, char, float, double o Τελεστές = + - * / % o Αριθμητικές

Διαβάστε περισσότερα

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε

Διαβάστε περισσότερα

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 3 η Είσοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 7: Δομές Επανάληψης - Αναγνωσιμότητα 19/10/2015 Επανάληψη εκτέλεσης: while 2 while () lexpr true false body Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται

Διαβάστε περισσότερα

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος Κεφάλαιο 5.1-5.3: Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) 9-1 Δομές Έλεγχου Προγράμματος Μέχρι τώρα είδαμε τις ακόλουθες δομές έλεγχου (program control structure) ενός προγράμματος Α) Sequence π.χ. int

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #6 εκτέλεση σε επανάληψη 1 Σπύρος Λάλης Εκτέλεση σε επανάληψη: while while () lexpr body true false Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται σε μια τιμή

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εντολές ελέγχου ροής προγράμματος (if-else & switch) Η εντολή if-else Η εντολή if-else υπάρχει σχεδόν σε όλες τις γλώσσες προγραμματισμού. Χρησιμοποιείται για τον έλεγχο της

Διαβάστε περισσότερα

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά

Διαβάστε περισσότερα

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου (Διάλεξη 7) 1 Είσοδος/Έξοδος Σε σχεδόν όλα τα προγράμματα πρέπει να πάρουμε κάποια δεδομένα και να δώσουμε αποτέλεσμα Συνάρτηση εισόδου

Διαβάστε περισσότερα

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;.. Επιλογή - Επανάληψη Η εντολή if-else Ο τελεστής παράστασης συνθήκης H εντολή switch Η εντολές for και while Η εντολή do-while Η εντολές break - continue - goto Μαθηματικές συναρτήσεις Λέξεις κλειδιά στη

Διαβάστε περισσότερα

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

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως

Διαβάστε περισσότερα

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου (Διάλεξη 7) 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράμματα πρέπει να πάρουμε κάποια δεδομένα και να δώσουμε αποτέλεσμα Συνάρτηση εισόδου

Διαβάστε περισσότερα

9. Εντολές επανάληψηςκαι η εντολή

9. Εντολές επανάληψηςκαι η εντολή Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 9. Εντολές επανάληψηςκαι η εντολή while Ιωάννης Κατάκης Σήμερα o Εισαγωγή στις δομές επανάληψης o Εντολή while o Τελεστές prefix και postfix Δομές ελέγχου προγράμματος

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Τελεστής σύντοµης ανάθεσης Τελεστής σύντοµης ανάθεσης (shorthand assignment operator) µεταβλητή = µεταβλητή τελεστής

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Συναρτήσεις εισόδου/εξόδου, τελεστές Η συνάρτηση scanf() είσοδος δεδομένων Διαβάζει από το πληκτρολόγιο (stdin) μορφοποιημένες τιμές μεταβλητών. scanf (ΣΕΙΡΑ_ΕΛΕΓΧΟΥ, δείκτης_μεταβλητής-1,

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών

Διαβάστε περισσότερα

Κεφάλαιο : Επαναλήψεις (for, do-while)

Κεφάλαιο : Επαναλήψεις (for, do-while) Κεφάλαιο 5.4-5.11: Επαναλήψεις (for, do-while) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήµερα while(){ τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές Παραδείγµατα Σήµερα for(){ Η εντολές break/continue;

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης Προγραμματισμός Η/Υ Ενότητα 5: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής του προγράμματος

Διαβάστε περισσότερα

scanf() scanf() stdin scanf() printf() int float double %lf float

scanf() scanf() stdin scanf() printf() int float double %lf float Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο) Προγραμματισμός Η/Υ Ενότητα 2β: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας του Τελεστή

Διαβάστε περισσότερα

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

Διαβάστε περισσότερα

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

Οι εντολές ελέγχου της ροής ενός προγράμματος. Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Περιεχόµενα Τύποι εδοµένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθµητικές εκφράσεις

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Τελεστές - Κατηγορίες Εκφράσεις - Κατηγορίες Υπολογισμός εκφράσεων Προτάσεις - Κατηγορίες

Διαβάστε περισσότερα

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 5.1-5.3: Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 9-1 οµές Έλεγχου Προγράµµατος Μέχρι τώρα είδαµε τις ακόλουθες δοµές έλεγχου (program control structure) ενός προγράµµατος

Διαβάστε περισσότερα

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

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής: Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 3 ο Μέρος 3 ο Μέρος Παραστάσεις και Τελεστές Εντολή καταχώρησης Για να καταχωρήσουμε μία τιμή σε μια μεταβλητή χρησιμοποιούμε τον τελεστή καταχώρησης

Διαβάστε περισσότερα

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int

Διαβάστε περισσότερα

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2 Εισαγωγή στην C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Σύνταξη και Σηµασιολογία της C Σχολιασµός Μεταβλητές / Σταθερές Τύποι εδοµένων και Τελεστές Βιβλίο µαθήµατος: Chapter 2,, Sec.

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις

Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις (Διαλέξεις 5-6) 1 Περιεχόμενα Τύποι Δεδομένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθμητικές εκφράσεις a+b. 2 1 Τύποι Δεδομένων

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

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

Εντολές ελέγχου ροής if, for, while, do-while Εντολές ελέγχου ροής if, for, while, do-while 1 Μαρτίου 014 1 Εντολές εκτέλεσης υπό συνθήκη Μπορούμε να εκτελέσουμε εντολές της γλώσσας σε περίπτωση που κάποια συνθήκη ισχύει χρησιμοποιώντας την εντολή

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Έλεγχος ροής Δομή επιλογής (if, switch) Δομές επανάληψης (while, do-while, for) Διακλάδωση

Διαβάστε περισσότερα

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

Λογικό και (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0) 0ι Λογικοί Τελεστές: Πρόκειται για τελεστές που μας επιτρέπουν να συνδυάσουμε απλές εκφράσεις συσχετισμού και να δημιουργήσουμε πιό πολύπλοκες λογικές εκφράσεις. Εχουμε λοιπόν: && Λογικό "και" (AND) μας

Διαβάστε περισσότερα

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6)

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις (Διαλέξεις 5-6) 1 Περιεχόμενα Τύποι Δεδομένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθμητικές εκφράσεις a+b. 2 Τύποι Δεδομένων

Διαβάστε περισσότερα

Γλώσσα Προγραμματισμού C

Γλώσσα Προγραμματισμού C Προγραμματισμός HY: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #5 εκτέλεση υπό συνθήκη 1 Σπύρος Λάλης Ροή εκτέλεσης Μέχρι στιγμής η ροή εκτέλεσης του κώδικα είναι αυστηρά γραμμική Οι εντολές που γράφουμε στον κώδικα μας εκτελούνται μια προς

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 2: Μεταβλητές και Σταθερές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 5 Δομές Ελέγχου Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Δομές Ελέγχου Οι Boehm και Jacopini απέδειξαν ότι οποιοσδήποτε αλγόριθμος

Διαβάστε περισσότερα

Διάλεξη 5η: Εντολές Επανάληψης

Διάλεξη 5η: Εντολές Επανάληψης Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2017-2018 ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΜΑΘΗΜΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εισαγωγή ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ Ένα πρόγραμμα σε C περιλαμβάνει μια ή περισσότερες συναρτήσεις

Διαβάστε περισσότερα

Προγραμματισμό για ΗΜΥ

Προγραμματισμό για ΗΜΥ ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 3 Εισαγωγή στην C Θέματα ιάλεξης Σύνταξη και Σημασιολογία

Διαβάστε περισσότερα

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

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

Διαβάστε περισσότερα

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

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα Η ΓΛΩΣΣΑ C Η C είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε στις αρχές της δεκαετίας του 70 από τον Dennis Ritchie στα Bell Labs. Η σημερινή μορφή της γλώσσας ακολουθεί το πρότυπο

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής Προγραμματισμός Η/Υ Ενότητα 4: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής ενός προγράμματος

Διαβάστε περισσότερα

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

Διαβάστε περισσότερα

Επανάληψη για τις Τελικές εξετάσεις

Επανάληψη για τις Τελικές εξετάσεις Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δεύτερη Διάλεξη Βασικά στοιχεία της γλώσσας προγραμματισμού C Μία γλώσσα προγραμματισμού όπως και μια ανθρώπινη γλώσσα μπορεί να μελετηθεί ως προς το αλφάβητό της,

Διαβάστε περισσότερα

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

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C 1 Εισαγωγή Ο προγραμματισμός είναι μια διαδικασία επίλυσης προβλημάτων με χρήση Η/Υ. Ένα πρόγραμμα είναι ένα σύνολο εντολών κάποιας γλώσσας προγραμματισμού,

Διαβάστε περισσότερα

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 4 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

Διαβάστε περισσότερα

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές 3 ο Εργαστήριο Μεταβλητές, Τελεστές Μια μεταβλητή έχει ένα όνομα και ουσιαστικά είναι ένας δείκτης σε μια συγκεκριμένη θέση στη μνήμη του υπολογιστή. Στη θέση μνήμης στην οποία δείχνει μια μεταβλητή αποθηκεύονται

Διαβάστε περισσότερα

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

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις Θεματική ενότητα 3: Tελεστές εκφράσεις Τελεστές (operators) Εκφράσεις (expressions) Σύμβολα ή λέξεις που αναπαριστούν συγκεκριμένες διεργασίες, οι οποίες εκτελούνται πάνω σε ένα ή περισσότερα δεδομένα.

Διαβάστε περισσότερα