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

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

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

Transcript

1 ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Διαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 8 ο : Χαρακτήρες και Αλφαριθμητικά

2 Στόχοι μαθήματος 2 Να κατανοήσετε τον τρόπο με τον οποίο αναπαριστούν τα συστήματα υπολογιστών τον τύπο δεδομένων char και πώς να χειρίζεστε αντικείμενα αυτού του τύπου. Να μάθετε να χρησιμοποιείτε τις συναρτήσεις της διασύνδεσης ctype.h. Να κατανοήσετε την έννοια του αφηρημένου τύπου. Να μπορείτε να χρησιμοποιείτε τις συναρτήσεις της διασύνδεσης string.h για να χειρίζεστε αλφαριθμητικά. Να κατανοήσετε τις αρχές της απαρίθμησης και της κωδικοποίησης με ακεραίους ως στρατηγικές για τον ορισμό νέων τύπων δεδομένων. Να είστε σε θέση να ορίζετε και να χειρίζεστε απαριθμητούς τύπους στη C.

3 Αναπαράσταση Χαρακτήρων 3 Οι χαρακτήρες αποτελούν τη βάση για την επεξεργασία όλων των δεδομένων κειμένου. Αν τα αλφαριθμητικά εμφανίζονται συχνότερα στα προγράμματα, οι μεμονωμένοι χαρακτήρες αποτελούν τον θεμελιώδη τύπο για τη δόμηση όλων των άλλων μορφών δεδομένων κειμένου. Πως θα αναπαραστήσω χαρακτήρες στον Η/Υ? - Οι υπολογιστές είναι πολύ καλοί σε αριθμητικά δεδομένα (int, float) και σε πράξεις πάνω σε αυτά. - 'Αρα κάθε χαρακτήρας μπορεί να αντιστοιχιστεί σε ένα ακέραιο αριθμό...

4 Δηλαδή? 4 Αναπαράσταση (έστω ότι): Ο χαρακτήρας α αντιστοιχεί στο 97 Ο χαρακτήρας b αντιστοιχεί στο 98 Ο χαρακτήρας c αντιστοιχεί στο Ο χαρακτήρας z αντιστοιχεί στο 122 Οθόνη + Πληκτρολόγιο Τιμή στη RAM Στο πρόγραμμα μου? α Η 'a'

5 Χαρακτήρες 5 (Στην αρχή) λίγοι χαρακτήρες -> μικρός ακέραιος (< 255) άρα 1 byte είναι αρκετό. άρα ορίζω ένα νέο τύπο που συμπεριφέρεται σαν μικρός ακέραιος νεό τύπος char Aφού συμπεριφέρεται σαν ακέραιος μπορώ να κάνω και πράξεις. Οι τύποι που συμπεριφέρονται ως ακέραιοι ονομάζονται βαθμωτοί τύποι (scalar types). Οι χαρακτήρες είναι ένας βαθμωτός τύπος. Οι χαρακτήρες αποτελούν έναν ενσωματωμένο απαριθμητό τύπο (αν και δεν ορίζεται με τη χρήση της λέξης-κλειδιού enum).

6 Ο τύπος δεδομένων char (1) 6 Στη C, οι μεμονωμένοι χαρακτήρες αναπαριστάνονται με τη χρήση του προκαθορισμένου τύπου δεδομένων char. Πεδίο ορισμού: ανεπίσημα, το πεδίο ορισμού του τύπου δεδομένων char είναι το σύνολο των συμβόλων που είναι δυνατό να εμφανιστούν στην οθόνη ή υπάρχουν στο πληκτρολόγιο (γράμματα, ψηφία, σημεία στίξης, το κενό διάστημα, το πλήκτρο Enter κ.ο.κ.). Σύνολο πράξεων: εφόσον ο char είναι βαθμωτός τύπος, το σύνολο των πράξεων που είναι διαθέσιμες για τους χαρακτήρες είναι το ίδιο με τους ακέραιους. Διάβασμα χαρακτήρων από το πληκτρολόγιο: χρησιμοποιείτε τη συνάρτηση getchar(): char ch; ch = getchar(); Εμφάνιση χαρακτήρων: printf( %c %c, ch);

7 Ο τύπος δεδομένων char (2) 7 Οι μεμονωμένοι χαρακτήρες αναπαριστάνονται στο εσωτερικό του μηχανήματος, όπως και κάθε άλλος βαθμωτός τύπος, δηλ. με ένα αριθμό. Ο κωδικός που χρησιμοποιείται για την αναπαράσταση ενός συγκεκριμένου χαρακτήρα ονομάζεται κωδικός χαρακτήρα (character code). Συγκεκριμένα, έχει υιοθετηθεί το γνωστό πρότυπο κωδικοποίησης των χαρακτήρων ASCII. γιατί πριν κάθε σύστημα χρησιμοποιούσε τους δικούς του... American Standard Code for Information Interchange

8 Ο κώδικας ASCII 8 0 nul 16 dle 32 sp P 96 ` 112 p 1 soh 17 dc1 33! A 81 Q 97 a 113 q 2 stx 18 dc2 34 " B 82 R 98 b 114 r 3 etx 19 dc3 35 # C 83 S 99 c 115 s 4 eot 20 dc4 36 $ D 84 T 100 d 116 t 5 enq 21 nak 37 % E 85 U 101 e 117 u 6 ack 22 syn 38 & F 86 V 102 f 118 v 7 bel 23 etb 39 ' G 87 W 103 g 119 w 8 bs 24 can 40 ( H 88 X 104 h 120 x 9 ht 25 em 41 ) I 89 Y 105 i 121 y 10 nl 26 sub 42 * 58 : 74 J 90 Z 106 j 122 z 11 vt 27 esc ; 75 K 91 [ 107 k 123 { 12 np 28 fs 44, 60 < 76 L 92 \ 108 l cr 29 gs = 77 M 93 ] 109 m 125 } 14 so 30 rs > 78 N 94 ^ 110 n 126 ~ 15 si 31 us 47 / 63? 79 O 95 _ 111 o 127 del Κωδικός Χαρακτήρα Χαρακτήρας πχ 65 'Α'

9 Ο κώδικας ASCII (hex) 9 Για περισσότερες λεπτομέρειες για τον κώδικα ASCII εδώ Ιδιότητες της κωδικοποίησης ASCII: Οι κωδικοί των χαρακτήρων που παριστάνουν τα ψηφία 0 μέχρι 9 είναι διαδοχικοί. Τα γράμματα της αγγλικής αλφαβήτου χωρίζονται σε δύο χωριστά διαστήματα τιμών: ένα για τα κεφαλαία (A-Z) και ένα για τα πεζά γράμματα (a-z). Μέσα σε κάθε διάστημα τιμών, οι τιμές ASCII είναι διαδοχικές.

10 Ειδικοί χαρακτήρες Εκτός από τους γνωστούς χαρακτήρες που εμφανίζονται στην οθόνη και ονομάζονται εκτυπώσιμοι χαρακτήρες (printing characters), ο πίνακας ASCII περιλαμβάνει και διάφορους ειδικούς χαρακτήρες (special characters) που χρησιμοποιούνται για να επιτελούν συγκεκριμένες ενέργειες. Πίνακας ειδικών χαρακτήρων \a ηχητική προειδοποίηση (μπιπ ή κουδούνισμα) \b οπισθοδρόμηση (backspace) \f αλλαγή σελίδας \n αλλαγή γραμμής \r επιστροφή (επιστρέφει στην αρχή της τρέχουσας γραμμής χωρίς προώθηση \t στηλοθέτης (tab μεταφέρει στον επόμενο κατακόρυφο στηλοθέτη) \v κατακόρυφος στηλοθέτης \0 μηδενικός (null) χαρακτήρας (ο χαρακτήρας του οποίου ο κωδικός ASCII είναι 0) \\ ο χαρακτήρας \ \' ο χαρακτήρας ' (απαιτεί ανάποδη κάθετο μόνο σε σταθερές χαρακτήρων) \ ο χαρακτήρας (απαιτεί ανάποδη κάθετο μόνο σε αλφαριθμητικές σταθερές) \ddd ο χαρακτήρας του οποίου ο κωδικός ASCII είναι ο οκταδικός αριθμός ddd 1

11 Αριθμητική χαρακτήρων (1) 1 Στη C, οι τιμές χαρακτήρων μπορούν να χρησιμοποιηθούν σαν να ήταν ακέραιοι, χωρίς να απαιτείται κάποια ειδική μετατροπή. Το αποτέλεσμα μιας τέτοιας πράξης ορίζεται σύμφωνα με τους εσωτερικούς κωδικούς ASCII. Παρόλο που είναι έγκυρο να εφαρμόζετε οποιαδήποτε αριθμητική πράξη σε τιμές τύπου char, δεν έχουν νόημα όλες οι πράξεις για τους χαρακτήρες. Για παράδειγμα: η πράξη Α * Β είναι έγκυρη αλλά το αποτέλεσμα 4290 που προκύπτει από τον πολλαπλασιασμό των κωδικών ASCII (65 και 66 αντίστοιχα) βρίσκεται εκτός του συνόλου χαρακτήρων ASCII και δεν έχει καμία σημασία ως χαρακτήρας. int num = 'A' * 'B'; printf("%d\n", num); //εμφανίζει το 4290

12 Οι χαρακτήρες είναι αριθμοί... 1 Να γραφεί πρόγραμμα το οποίο τυπώνει όλους τους χαρακτήρες από (πεζά αγγλικά γράμματα) μαζί με τον ASCII κωδικό τους στην οθόνη. #include <stdio.h> int main(){ char x; for(x=97;x<123;x++) printf(" Code: %d Char: %c \n", x, x); printf("\n"); }

13 Αριθμητική χαρακτήρων 1 Πρόσθεση ακεραίου σε χαρακτήρα: αποτέλεσμα 5 Γενικά, η παράσταση 0 + n δίνει τον κωδικό χαρακτήρα του n-οστού ψηφίου, αν το n είναι μεταξύ 0 και 9. Αφαίρεση ακεραίου από χαρακτήρα: z 2 αποτέλεσμα x Γενικά, η παράσταση c - n δίνει τον κωδικό του χαρακτήρα που βρίσκεται n χαρακτήρες πριν από το c στην ακολουθία κωδικοποίησης. Αφαίρεση χαρακτήρα από άλλο χαρακτήρα: a A αποτέλεσμα 32 Γενικά, αν c1 και c2 είναι δύο χαρακτήρες τότε η παράσταση c1 1 c2 δίνει την απόσταση μεταξύ αυτών των χαρακτήρων στην ακολουθία κωδικοποίησης. Σύγκριση δύο χαρακτήρων μεταξύ τους: Γενικά, η παράσταση c1 1 < c2 είναι TRUE αν το c1 εμφανίζεται πριν από το c2 στον πίνακα ASCII.

14 Εφαρμογές 1 Διάγνωση αν ένας χαρακτήρας είναι αριθμητικό ψηφίο: if(ch >= '0' && ch <= '9') Διάγνωση κεφαλαίου αγγλικού γράμματος: if(ch >= 'A' && ch <= 'Z') Μετατροπή πεζού σε κεφαλαίο (συνάρτηση converttoupper()): char converttoupper(char c){ if (c >= 'a' && c <='z') return c - ('a'-'a'); return c; }

15 Η διασύνδεση ctype.h 1 islower(ch): isupper(ch): isalpha(ch): isdigit(ch): isalnum(ch): ispunct(ch): isspace(ch): tolower(ch): toupper(ch): επιστρέφει TRUE ο χαρακτήρας στη μεταβλητή ch είναι πεζό γράμμα επιστρέφει TRUE ο χαρακτήρας στη μεταβλητή ch είναι κεφαλαίο γράμμα επιστρέφει TRUE ο χαρακτήρας στη μεταβλητή ch είναι γράμμα επιστρέφει TRUE ο χαρακτήρας στη μεταβλητή ch είναι ψηφίο επιστρέφει TRUE ο χαρακτήρας στη μεταβλητή ch είναι αλφαριθμητικό (γράμμα ή ψηφίο) επιστρέφει TRUE ο χαρακτήρας στη μεταβλητή ch είναι σημείο στίξης επιστρέφει TRUE ο χαρακτήρας στη μεταβλητή ch είναι ένας από τους εξής: ' ' (κενό διάστημα), '\t', '\n', '\f', '\v' που εμφανίζονται στην οθόνη ως κενό διάστημα επιστρέφει το αντίστοιχο πεζό γράμμα επιστρέφει το αντίστοιχο κεφαλαίο γράμμα

16 Παράδειγμα 1 Η παρακάτω κατηγορηματική συνάρτηση isvowel επιστρέφει TRUE αν το όρισμα της είναι φωνήεν της αγγλικής αλφαβήτου, FALSE σε άλλη περίπτωση: bool IsVowel(char ch) { char lowerch; } lowerch = tolower(ch); switch( lowerch ) { case a : case e : case i : case o : case u : return (TRUE); default: return FALSE; }

17 Tα α αλφαριθμητικά 1 Αλφαριθμητικά = ακολουθία χαρακτήρων. για παράδειγμα : Hello Στην C (και σε άλλες γλώσσες) ένα αλφαριθμητικό (κυριολεκτικό) αναπαρίσταται μέσα σε διπλά εισαγωγικά " " "Hello" Πως μπορώ να αναπαραστήσω πολλά δεδομένα, ιδίου τύπου σε σειρά στη C? Πίνακες. Αλφαριθμητικά = Πίνακες Χαρακτήρων μιας διάστασης. Ποιο το σημαντικό στοιχείο που πρέπει να γνωρίζω όταν χειρίζομαι πίνακες? Μέγεθος του πίνακα ή αλλιώς που τελειώνει το αλφαριθμητικό.

18 Tα α αλφαριθμητικά ως πίνακες (1) 1 Στο εσωτερικό του υπολογιστή τα αλφαριθμητικά αναπαριστάνονται ως πίνακες χαρακτήρων. Οι χαρακτήρες ενός αλφαριθμητικού αποθηκεύονται σε συνεχόμενα byte. Για να προσδιοριστεί που τελειώνει το κάθε αλφαριθμητικό, αποθηκεύεται πάντα ένα μηδενικό (null) χαρακτήρα ( \0 ) στο byte που ακολουθεί αμέσως μετά τον τελευταίο χαρακτήρα ενός αλφαριθμητικού. Παράδειγμα: δήλωση του πίνακα carray και ανάθεση ως αρχική τιμή του αλφαριθμητικού Hello : char carray[6]; carray[0] = H ; carray[1] = e ; carray[2] = l ; carray[3] = l ; carray[4] = o ; carray[5] = \0 ; 0 H 1 e 2 l 3 l 4 o 5 \0

19 ΠΡΟΣΟΧΗ 1 Υπάρχει ΣΗΜΑΝΤΙΚΗ διαφορά μεταξύ ενός χαρακτήρα και ενός αλφαριθμητικού ενός χαρακτήρα. Χαρακτήρας 'α' = ακέραια τιμή 97. 'α' = 97 Αλφαριθμητικό "α" = πίνακας char με πρώτο στοιχείο το 97 και δεύτερο το '\0'. "α" 97 \0

20 Tα α αλφαριθμητικά ως πίνακες (2) 2 Επειδή κάθε αλφαριθμητικό είναι ένας πίνακας, μπορείτε να επιλέξετε τον i-οστό χαρακτήρα ενός αλφαριθμητικού str ως εξής: str [i] Για να χρησιμοποιήσετε, για οποιοδήποτε λόγο, τους χαρακτήρες ενός αλφαριθμητικού όταν χρησιμοποιείτε συμβολισμό πινάκων, μπορείτε να χρησιμοποιήσετε τον παρακάτω ιδιωματισμό for(i = 0; str[i]!= \0 ; i++){ } σώμα του βρόχου όπου γίνεται ο χειρισμός του str[i]

21 Tα α αλφαριθμητικά ως πίνακες (2) 2 Πρόγραμμα το οποίο ζητά από το χρήστη ένα αλφαριθμητικό με μέγιστο μήκος 100 και τυπώνει το αλφαριθμητικό και το μήκος του: int main() { char userstr[100]; int len; Δήλωση Αλφαριθμητικού Ανάγνωση Αλφαριθμητικού printf("please insert a String:"); gets(userstr); len = 0; for(len=0; userstr[len]!= '\0'; len++); Έλεγχος για τέλος Αλφαριθμητικού printf("%s with length %d",userstr, len); }

22 Tα α αλφαριθμητικά ως πίνακες (3) 2 Συνάρτηση που επιστρέφει τον αριθμοδείκτη θέσης του 1 ου φωνήεντος της λέξης που δέχεται, ή την τιμή -1 αν η λέξη δεν έχει κανένα φωνήεν int FindFirstVowel(char word[]) { int i; for(i = 0; word[i]!= \0 ; i++){ if (IsVowel(word[i])) return (i); } return (-1); }

23 Η διασύνδεση string.h (1) 2 Κλήση συνάρτησης strcpy(dst, src): strncpy(dst, src, n): n strcat(dst, src): strncat(dst, src, n): n strlen(s): Επιστρεφόμενη τιμή αντιγράφει χαρακτήρες από το αλφαριθμητικό src στο dst αντιγράφει το πολύ n χαρακτήρες από το αλφαριθμητικό src στο dst προσαρτά χαρακτήρες από το src στο τέλος του dst προσαρτά το πολύ n χαρακτήρες από το src στο τέλος του dst επιστρέφει το μήκος του αλφαριθμητικού s strcmp(s1, s1, s2): επιστρέφει έναν ακέραιο που υποδηλώνει το αποτέλεσμα της σύγκρισης των αλφαριθμητικών strncmp(s1, s1, s2, n): n όπως η, αλλά συγκρίνει το πολύ n χαρακτήρες

24 Συνάρτηση strcpy 2 Η συνάρτηση strcpy αντιγράφει χαρακτήρες από ένα αλφαριθμητικό (προέλευση) σε ένα άλλο αλφαριθμητικό (προορισμός Δέχεται πρώτα το όρισμα του προορισμού π.χ. char carray[6]; strcpy(carray, "hello"); Προσοχή δεν γίνεται έλεγχος! strcpy(carray, "A long string"); To μήκος του αλφαριθμητικού "A long string" είναι μεγαλύτερο από το μέγεθος του πίνακα carray. Αυτό θα προκαλέσει την εγγραφή δεδομένων μετά το τέλος του πίνακα και είναι συνηθισμένο προγραμματιστικό λάθος (υπερχείλιση περιοχής προσωρινής αποθήκευσης - buffer overflow). Τέτοια σφάλματα μπορεί να αποδειχθούν εξαιρετικά κρίσιμα σε θέματα ασφάλειας.

25 Μεταβίβαση αλφαριθμητικών σε συναρτήσεις 2 Τα αλφαριθμητικά μπορούν να μεταβιβαστούν σε συναρτήσεις ακριβώς όπως και οποιοσδήποτε άλλος πίνακας (κλήση κατ' αναφορά) Παράδειγμα: συνάρτηση αντιστροφής των χαρακτήρων ενός αλφαριθμητικού #include <stdio.h> #include <ctype.h> #include <string.h> void reverse(char array[]); main() { char str[1000]; strcpy(str,"hello my friend"); reverse(str); printf("%s\n", str); return 0; } void reverse(char array[]) { char temp[1000]; int i, end; strcpy(temp,array); end = strlen(array) - 1; i = 0; while(end >=0) { array[i] = temp[end]; i++; end--; } array[i] = '\0'; }

26 Αλφαριθμητικά 2 1. char name1[20], *name2; 2 τρόποι για να δηλώσω αλφαριθμητικό 1. printf("dwse 1o ONOMA "); 2. gets(name1); Με την gets() διαβάζω αλφαριθμητικό 3. printf("%s\n",name1); printf("dwse 2o ONOMA "); 6. // gets(name2); runtime error 7. name2=(char *)malloc(20*sizeof(char)); 8. gets(name2); Αν δηλώσω το αλφαριθμητικό ως δείκτη προς χαρακτήρα τότε όπως οι εντολές < 8. 9.> για να διαβάσω το αλφαριθμητικό 1. // name1=name2; error: incompatible types in assignment 11. strcpy(name1, name2); Εντολή ανάθεσης τιμής δε μπορώ να χρησιμοποιήσω μεταξύ αλφαριθμητικών αλλά την strcpy(dst, src)

27 Αλφαριθμητικά ως Δείκτες 2 Όπως συμβαίνει με οποιονδήποτε πίνακα, ένας πίνακας χαρακτήρων μπορεί να ερμηνευτεί και ως δείκτης προς το πρώτο του στοιχείο Επομένως, μέσω αριθμητικής δεικτών μπορεί ο προγραμματιστής να προσπελάσει μεμονωμένους χαρακτήρες ενός αλφαριθμητικού Παράδειγμα εύρεσης πρώτου φωνήεντος σε αλφαριθμητικό int FindFirstVowel(char* word) { char *cp; for(cp = word; *cp!= '\0'; cp++) if(isvowel(*cp)) return cp-word; return (-1); }

28 Η αρχή της απαρίθμησης 2 Σε αρκετές περιπτώσεις χρειάζεται να γράφουμε προγράμματα που χειρίζονται μη αριθμητικά δεδομένα. Για παράδειγμα, σε ένα πρόγραμμα υποβολής φορολογικής δήλωσης υπάρχει μια ερώτηση του τύπου Οικογενειακή κατάσταση (επιλέξτε ένα): ανύπαντρος παντρεμένος που υποβάλει κοινή δήλωση παντρεμένος που υποβάλει χωριστή δήλωση επικεφαλής νοικοκυριού χήρος/χήρα Η απάντηση σας δεν είναι ούτε αριθμητικά δεδομένα ούτε δεδομένα κειμένου.

29 Η αρχή της απαρίθμησης (2) 2 Ο καλύτερος τρόπος για να περιγράψετε τον τύπο δεδομένων θα ήταν απλώς να τον ονομάσετε δεδομένα οικογενειακής κατάστασης. Αυτός ο νέος τύπος δεδομένων έχει ως πεδίο ορισμού 5 τιμές: ανύπαντρος, παντρεμένος που υποβάλει κοινή δήλωση, παντρεμένος που υποβάλει χωριστή δήλωση, επικεφαλής νοικοκυριού, χήρος/χήρα Η διεργασία της παράθεσης όλων των δεδομένων του πεδίου ορισμού ενός τύπου δεδομένων με τη μορφή λίστας ονομάζεται απαρίθμηση (enumeration). Ένας τύπος που ορίζεται με την παράθεση όλων των στοιχείων του ονομάζεται απαριθμητός τύπος (enumeration type).

30 Αναπαράσταση απαριθμητών τύπων 3 Σε κάθε στοιχείο ενός απαριθμητού τύπου μπορούμε να αναθέσουμε ένα ακέραιο, διεργασία γνωστή ως κωδικοποίηση με ακεραίους (integer encoding). Για το παράδειγμα μας μπορούμε να εφαρμόσουμε αυτή τη στρατηγική ως εξής: #define Single 1 #define MarriedFillingJointReturn 2 #define MarriedFillingSeperateReturn 3 #define HeadOfHousehold 4 #define QualifyingSurvivingSpouse 5 Από τη στιγμή που θα ορίσετε τις σταθερές μπορείτε να δηλώσετε μια μεταβλητή τύπου int για να αναπαραστήσετε την οικογενειακή κατάσταση: int filingstatus;

31 Ορισμός νέων απαριθμητών τύπων 3 Στη C, αντί να χρησιμοποιήσετε τον τύπο int για να αναπαραστήσετε μη αριθμητικές τιμές, είναι δυνατό να ορίσετε ένα πραγματικό όνομα τύπου ο οποίος θα αναπαριστά έναν απαριθμητό τύπο. typedef enum{ λίστα στοιχείων } όνομα τύπου; όπου: - λίστα στοιχείων είναι ένας κατάλογος ονομάτων τα οποία είναι δυνατό να χρησιμοποιηθούν για την αναφορά στις μεμονωμένες τιμές που απαρτίζουν τον απαριθμητό τύπο. Τα στοιχεία της λίστας διαχωρίζονται με κόμματα. Κάθε στοιχείο μπορεί επίσης να ακολουθείται από ένα σύμβολο ίσον και μια ακέραιη σταθερά που καθορίζει μια συγκεκριμένη εσωτερική αναπαράσταση - όνομα_τύπου είναι το όνομα του νέου απαριθμητού τύπου

32 Παράδειγμα 3 Ορισμός ενός νέου τύπου weekdayt με πεδίο ορισμού τα ονόματα των ημερών της εβδομάδας typedef enum{ Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } weekdayt Στα στοιχεία του παραπάνω απαριθμητού τύπου ανατίθενται συνεχόμενες ακέραιες τιμές ξεκινώντας από το 0. Βέβαια, όπως θα δούμε στο επόμενο παράδειγμα, ο μεταγλωττιστής της C σας επιτρέπει να καθορίσετε ρητά την εσωτερική αναπαράσταση των στοιχείων ενός απαριθμητού τύπου κατά τον ορισμό του.

33 Παράδειγμα 3 Για το παράδειγμα με τη φορολογική δήλωση μπορούμε να έχουμε τη δήλωση του απαριθμητού τύπου ή typedef enum{ Single = 1, MarriedFillingJointReturn = 2, MarriedFillingSeperateReturn = 3, HeadOfHousehold = 4, QualifyingSurvivingSpouse = 5 } filingstatust; typedef enum{ Single = 1, MarriedFillingJointReturn, MarriedFillingSeperateReturn, HeadOfHousehold, QualifyingSurvivingSpouse } filingstatust;

34 Πράξεις με απαριθμητούς τύπους typedef enum{ } weekdayt Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday Αφού οι απαριθμητοί τύποι είναι στη ουσία ακέραιοι μπορούμε να κάνουμε πράξεις, όπως για παράδειγμα weekday = weekday + 1; Πρέπει όμως να είμαστε προσεκτικοί γιατί ο μεταγλωττιστής δεν ελέγχει αν το αποτέλεσμα είναι έγκυρο μέλος ενός συγκεκριμένου απαριθμητού τύπου. Αν γράφαμε την παραπάνω εντολή ανάθεσης και η Saturday, ο υπολογιστής θα έπαιρνε την τιμή 6 θα weekday είχε την τιμή Saturday πρόσθετε το 1 και θα αποθήκευε την τιμή 7 στη μεταβλητή weekday Αντίθετα, η εντολή weekday = (weekday( + 1) % 7; εξασφαλίζει ότι το αποτέλεσμα θα είναι πάντα από 0 έως 6. Οι τύποι που συμπεριφέρονται ως ακέραιοι τύποι (scalar types). weekday. ονομάζονται βαθμωτοί 3

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

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

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

Τυχαίοι αριθμοί Αλφαριθμητικά και χαρακτήρες

Τυχαίοι αριθμοί Αλφαριθμητικά και χαρακτήρες Τυχαίοι αριθμοί Αλφαριθμητικά και χαρακτήρες Παραγωγή τυχαίων αριθμών: Η συνάρτηση rand Η συνάρτηση rand() ανήκει στη βιβλιοθήκη stdlib της C. int rand(void); Για την χρήση της σε ένα πρόγραμμα εισάγουμε

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 5: Κυριολεκτικά Συνδυασμοί / Μετατροπές Τύπων Αριθμητική Χαρακτήρων Κυριολεκτικά (literals) 2 Κάποιες μεταβλητές του προγράμματος πρέπει συνήθως να αρχικοποιηθούν με συγκεκριμένη

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

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

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #4 κυριολεκτικά & μετατροπή τύπων 1 Σπύρος Λάλης Κυριολεκτικά (literals) Συχνά θέλουμε να αρχικοποιήσουμε μεταβλητές του προγράμματος με μια συγκεκριμένη τιμή υπάρχει επίσης η

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

Αλφαριθμητικά, πίνακες και δείκτες

Αλφαριθμητικά, πίνακες και δείκτες Αλφαριθμητικά, πίνακες και δείκτες Τα αλφαριθμητικά ως πίνακες Ένα αλφαριθμητικό (string) αναπαρίσταται εσωτερικά ως ένας πίνακας χαρακτήρων που τερματίζεται από τον ειδικό χαρακτήρα NULL ('\0') 1000 1001

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

Κεφάλαιο 1. Συστήματα αρίθμησης και αναπαράστασης

Κεφάλαιο 1. Συστήματα αρίθμησης και αναπαράστασης Κεφάλαιο 1 Συστήματα αρίθμησης και αναπαράστασης 1.1 Εισαγωγή Οι υπολογιστές αναπαριστούν όλα τα είδη πληροφορίας ως δυαδικά δεδομένα. Έτσι, για την ευκολότερη και ταχύτερη επεξεργασία των διαφόρων πληροφοριών,

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 2:Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)- Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγικές Έννοιες σε Strings(Αρχικοποίηση, Ανάγνωση & Εκτύπωση) Πίνακες από Strings

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%

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

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

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

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

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Χαρακτήρες Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Χαρακτήρες - Εισαγωγή Έως τώρα έχουμε κατά κύριο λόγο χρησιμοποιήσει τους αριθμητικούς τύπους

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην

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

Ψηφιακά Συστήματα. 2. Κώδικες

Ψηφιακά Συστήματα. 2. Κώδικες Ψηφιακά Συστήματα 2. Κώδικες Βιβλιογραφία 1. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Θεωρία και Ασκήσεις Ψηφιακών Ηλεκτρονικών, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 2016. [59382199] 2. Floyd Thomas L., Ψηφιακά ηλεκτρονικά,

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 9 Ο. Διαχείριση αλφαριθμητικών και πράξεις σε επίπεδο bit ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΙΝΑΤΚΑΣ Ι.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 9 Ο. Διαχείριση αλφαριθμητικών και πράξεις σε επίπεδο bit ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 9 Ο Διαχείριση αλφαριθμητικών και πράξεις σε επίπεδο bit 1 Εισαγωγή Τα αλφαριθμητικά δεδομένα καταλαμβάνουν σημαντικότατη θέση στον προγραμματισμό, ιδιαίτερα σε εφαρμογές εμπορικές

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

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

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

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

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

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

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

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

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

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

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Εισαγωγικές Έννοιες σε Strings - Πίνακες από Strings - Συναρτήσεις

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

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

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

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Μονοδιάστατοι Πίνακες (tables) Μια συλλογή μεταβλητών ίδιου τύπου οι οποίες είναι αποθηκευμένες

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings)

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings) Κεφάλαιο 9.1-9.2 Αλφαριθµητικές Σειρές Χαρακτήρων (Strings) ( ιάλεξη 19) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1) Strings στη C Ένα string είναι µία ακολουθία αλφαριθµητικών χαρακτήρων, σηµείων στίξης κτλ. Π.χ.

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

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C Τεχνολογία και Προγραμματισμός Υπολογιστών Η γλώσσα προγραμματισμού C Με μια ματιά Τύπος Πίνακα Μεταβλητές με ενδείκτη Αλφαριθμητικά - Πίνακες Δισδιάστατος Πολυδιάστατος Πίνακας 2 2 Τύπος Πίνακα Σύνθετος

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

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

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

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

Μεταβλητές τύπου χαρακτήρα

Μεταβλητές τύπου χαρακτήρα Μεταβλητές τύπου χαρακτήρα 31 Μαρτίου 014 1 Μεταβλητές τύπου char Για χειρισμό χαρακτήρων η C διαθέτει τον τύπο char. Ο τύπος είναι βαθμωτός δηλαδή ακέραιης αναπαράστασης. Τυπικά έχει μέγεθος ενός byte

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

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

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

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

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

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Αλφαριθμητικά θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τον ορισμό, τη δήλωση και τη χρήση των χαρακτήρων, συνεπώς και των αλφαριθμητικών, της Γλώσσας

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 7ο Τμήμα Διοίκησης Επιχειρήσεων Παλαιό ΕΠΔΟ α εξάμηνο Β. Φερεντίνος Δείκτες (Pointers) (1) 142 Κάθε μεταβλητή, εκτός από την τιμή της, έχει και μία συγκεκριμένη διεύθυνση

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

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

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Εισαγωγή στη C θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα Αλφαριθμητικά Πίνακες: μια σύντομη εισαγωγή Πίνακες χαρακτήρων: τα "Αλφαριθμητικά" Πίνακες(Arrays): έννοιες και ορισμοί Ορισμός: Πίνακας (array) = σύνολο μεταβλητών του ιδίου τύπου (int, float, char,...) με ένα κοινό

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

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

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

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

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

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

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι πίνακες στη C (μονοδιάστατοι -συμβολοσειρές) Γενικά για τους πίνακες Ο πίνακας είναι μια αρκετά διαδεδομένη δομή που προσφέρεται από σχεδόν κάθε γλώσσα προγραμματισμού. Πρόκειται

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

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2 Εισαγωγή στον προγραμματισμό Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2 Δομή Προγράμματος Όλα τα προγράμματα που γράψαμε έχουν λίγο πολύ την ακόλουθη μορφή: Κάποιος κώδικας εδώ main( ) {

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο

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

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

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

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

Διάλεξη 8η: Αλφαριθμητικά (strings)

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

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

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία

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

Στόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες

Στόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες Στόχοι και αντικείμενο ενότητας Ο τύπος του Πίνακα (βλ. ενότητα #2α) Ορισμός και αρχικοποίηση Αποθήκευση πινάκων στη μνήμη Πολυδιάστατοι πίνακες #6. Πίνακες και Δείκτες Ο τύπος του Δείκτη Η έννοια του

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

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

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

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

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

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

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

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++ Εντολές εισόδου - εξόδου Εισαγωγή στη C++ Το πρώτο πρόγραμμα //my first program #include using namespace std; int main(){ cout

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

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

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Δομές Δεδομένων και Κυρίως Πρόγραμμα Δομές δεδομένων εκτός από πίνακες: Structs Unions Enums Κυρίως πρόγραμμα Παράμετροι που

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αλφαριθμητικά Αλφαριθμητικά (strings) Ένα αλφαριθμητικό είναι μια ακολουθία αλφαβητικών

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

Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις

Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις Ενώσεις δεδομένων (union) τι και γιατί Συσκευές με μικρή μνήμη => ανάγκη εξοικονόμησης πόρων Παρατήρηση: αχρησιμοποίητη μνήμη. Έστω

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

Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R.

Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R. Περιεχόμενα Πρόλογος v ΚΕΦΑΛΑΙΟ 1 Προπαρασκευαστική εισαγωγή 1 ΚΕΦΑΛΑΙΟ 2 Τύποι, τελεστές, και παραστάσεις 43 ΚΕΦΑΛΑΙΟ 3 Η ροή του ελέγχου 59 ΚΕΦΑΛΑΙΟ 4 Συναρτήσεις και δομή του προγράμματος 69 ΚΕΦΑΛΑΙΟ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

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

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε

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

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

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

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

Περιεχόμενα. Πρόλογος... 21

Περιεχόμενα. Πρόλογος... 21 Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 3: Είσοδος / Έξοδος, Βασικοί Τύποι, Δήλωση Μεταβλητών Ένα Ακόμα Παράδειγμα #include int main(int argc, char* argv[]) { } putchar('h'); putchar('e'); putchar('l');

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

Συναρτήσεις διαχείρισης αλφαριθμητικών

Συναρτήσεις διαχείρισης αλφαριθμητικών Συναρτήσεις διαχείρισης αλφαριθμητικών Όνομα βιβλιοθήκης: string.h Ενδεικτικές συναρτήσεις: char *strcpy(char *s1, char *s2): Αντιγράφει την ακολουθία χαρακτήρων s2 στον πίνακα s1. Επιστρέφεται η τιμή

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

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

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2 Οικονόμου Βαγγέλησ Διάλεξη Νο 2 Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2 1 Η έννοια τησ μεταβλητήσ έδωςε λύςη ςτο πρόβλημα τησ αναφοράσ ςτην κύρια μνήμη του υπολογιςτή. Οι γλώςςεσ προγραμματιςμού υποςτηρίζουν

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

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

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

C: Από τη Θεωρία στην Εφαρμογή

C: Από τη Θεωρία στην Εφαρμογή Δρ. Γ. Σ. Τσελίκης Δρ. Ν. Δ. Τσελίκας C: Από τη Θεωρία στην Εφαρμογή Ενδεικτικές Ασκήσεις από το Βιβλίο C: Από τη Θεωρία στην Εφαρμογή (Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας) Ενδεικτικές Ασκήσεις του Βιβλίου Ε.Α.1

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

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου Εργαστήριο 2: Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας Προγραμματισμού

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

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

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

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

Ενδεικτική περιγραφή μαθήματος

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

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

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

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

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

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

Προγραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Εγγραφές Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η Ανάγκη Ομαδοποίησης Πολλές φορές έχουμε πληροφορίες διαφορετικού τύπου οι οποίες όμως έχουν μεγάλη

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

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

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 1: Εισαγωγή σε βασικές έννοιες δυαδικού συστήματος Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

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

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

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

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

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

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

Συναρτήσεις πρότυπης βιβλιοθήκης 1. Μερικές συνήθεις συναρτήσεις βιβλιοθήκης int atoi(const char *p) int fclose(file *fp)

Συναρτήσεις πρότυπης βιβλιοθήκης 1. Μερικές συνήθεις συναρτήσεις βιβλιοθήκης int atoi(const char *p) int fclose(file *fp) Συναρτήσεις πρότυπης βιβλιοθήκης Στο πρώτο μέρος δίνονται, με αλφαβητική σειρά, μερικές από τις πιο συνηθισμένες συναρτήσεις βιβλιοθήκης που συνοδεύουν τους σύγχρονους μεταγλωττιστές της C. Κάτω από το

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

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

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

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

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

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

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

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

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

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

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

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

Δεδομένα, τελεστές, είσοδος/έξοδος 2 Δεδομένα, τελεστές, είσοδος/έξοδος Τι θα δούμε σε αυτό το μάθημα 1. βασικοί τύποι δεδομένων 2. ακέραιοι 3. κινητής υποδιαστολής 4. ο τύπος decimal 5. χαρακτήρες 6. bool 7. string 8. χρήση μεταβλητών

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

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ Τετάρτη 5-12/11/2014 ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ ΕΚΠΑΙΔΕΥΤΗΣ: ΤΡΟΧΙΔΗΣ ΠΑΝΑΓΙΩΤΗΣ 1. Παράσταση και οργάνωση δεδομένων

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

Χpήσιµες Βιβλιοθήκες της γλώσσας C

Χpήσιµες Βιβλιοθήκες της γλώσσας C Χpήσιµες Βιβλιοθήκες της γλώσσας C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συναρτήσεις Επεξεργασίας Συµβολοσειρών (strings) που Παρέχονται από τη Βιβλιοθήκη Συναρτήσεις Ελέγχου

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

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

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

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

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

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

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

Δεδομένα, Τύποι και Τιμές

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

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

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Φεβρουάριος/Μάρτιος 2013 v. 0.1 Master-mind: κανόνες παιχνιδιού Στο master mind χρειάζεται να παράγονται κάθε φορά 4 τυχαία σύμβολα από ένα πλήθος 6 διαφορετικών

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

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ ( 2012-13 ) 2η διάλεξη Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Τι θα ακούσετε σήμερα Βασικοί αριθμητικοί τύποι, μετατροπές τύπων και σταθερές. Πίνακες. Πίνακες

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

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

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

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

Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R.

Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R. Περιεχόμενα Πρόλογος v ΚΕΦΑΛΑΙΟ 1 Προπαρασκευαστική εισαγωγή 1 ΚΕΦΑΛΑΙΟ 2 Τύποι, τελεστές, και παραστάσεις 43 ΚΕΦΑΛΑΙΟ 3 Η ροή του ελέγχου 59 ΚΕΦΑΛΑΙΟ 4 Συναρτήσεις και δομή του προγράμματος 69 ΚΕΦΑΛΑΙΟ

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf(%u\n, x); Β. unsigned char ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #3 2 Γενικά Στο Τετράδιο #3 του Εργαστηρίου θα εξοικειωθούμε με τη χρήση της εντολής πολλαπλής

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