Διαδικαστικός Προγραμματισμός
|
|
- Έρις Τομαραίοι
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Ενότητα 9: Χαρακτήρες και Αλφαριθμητικά Καθηγήτρια Μαρία Σατρατζέμη
2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
4 Σκοποί ενότητας Να κατανοήσετε τον τρόπο με τον οποίο αναπαριστούν τα συστήματα υπολογιστών τον τύπο δεδομένων char και πώς να χειρίζεστε αντικείμενα αυτού του τύπου. Να μάθετε να χρησιμοποιείτε τις συναρτήσεις της διασύνδεσης ctype.h. Να κατανοήσετε την έννοια του αφηρημένου τύπου. Να μπορείτε να χρησιμοποιείτε τις συναρτήσεις της διασύνδεσης string.h για να χειρίζεστε αλφαριθμητικά. Να κατανοήσετε τις αρχές της απαρίθμησης και της κωδικοποίησης με ακεραίους ως στρατηγικές για τον ορισμό νέων τύπων δεδομένων. Να είστε σε θέση να ορίζετε και να χειρίζεστε απαριθμητούς τύπους στη C. 4
5 Βαθμωτοί τύποι Οι τύποι που συμπεριφέρονται ως ακέραιοι ονομάζονται βαθμωτοί τύποι (scalar types). Στη C, οι βαθμωτοί τύποι μετατρέπονται αυτομάτως σε ακεραίους κάθε φορά που τους χρησιμοποιούμε σε μια παράσταση. 5
6 Χαρακτήρες Οι χαρακτήρες αποτελούν τη βάση για την επεξεργασία όλων των δεδομένων κειμένου. Αν τα αλφαριθμητικά εμφανίζονται συχνότερα στα προγράμματα, οι μεμονωμένοι χαρακτήρες αποτελούν τον θεμελιώδη τύπο για τη δόμηση όλων των άλλων μορφών δεδομένων κειμένου. Οι χαρακτήρες αποτελούν έναν ενσωματωμένο απαριθμητό τύπο (αν και δεν ορίζεται με τη χρήση της λέξης-κλειδιού enum). Οι χαρακτήρες είναι ένας βαθμωτός τύπος και συνεπώς συμπεριφέρονται ως ακέραιοι. 6
7 Ο τύπος δεδομένων char (1) Στη C, οι μεμονωμένοι χαρακτήρες αναπαριστάνονται με τη χρήση του προκαθορισμένου τύπου δεδομένων char. Πεδίο ορισμού: ανεπίσημα, το πεδίο ορισμού του τύπου δεδομένων char είναι το σύνολο των συμβόλων που είναι δυνατό να εμφανιστούν στην οθόνη ή υπάρχουν στο πληκτρολόγιο (γράμματα, ψηφία, σημεία στίξης, το κενό διάστημα, το πλήκτρο Enter κ.ο.κ.). Σύνολο πράξεων: εφόσον ο char είναι βαθμωτός τύπος, το σύνολο των πράξεων που είναι διαθέσιμες για τους χαρακτήρες είναι το ίδιο με τους ακέραιους. Διάβασμα χαρακτήρων από το πληκτρολόγιο: χρησιμοποιείτε τη συνάρτηση getchar(): char ch; ch = getchar(); Εμφάνιση χαρακτήρων: printf( %c, ch); 7
8 Ο τύπος δεδομένων char (2) Οι μεμονωμένοι χαρακτήρες αναπαριστάνονται στο εσωτερικό του μηχανήματος, όπως και κάθε άλλος βαθμωτός τύπος, δηλ. με ένα αριθμό. Ο κωδικός που χρησιμοποιείται για την αναπαράσταση ενός συγκεκριμένου χαρακτήρα ονομάζεται κωδικός χαρακτήρα (character code). Συγκεκριμένα, έχει υιοθετηθεί το γνωστό πρότυπο κωδικοποίησης των χαρακτήρων ASCII. 8
9 Ο κώδικας ASCII Ιδιότητες της κωδικοποίησης ASCII: Οι κωδικοί των χαρακτήρων που παριστάνουν τα ψηφία 0 μέχρι 9 είναι διαδοχικοί. Τα γράμματα της αγγλικής αλφαβήτου χωρίζονται σε δύο χωριστά διαστήματα τιμών: ένα για τα κεφαλαία (A-Z) και ένα για τα πεζά γράμματα (a-z). Μέσα σε κάθε διάστημα τιμών, οι τιμές ASCII είναι διαδοχικές. 9
10 Ειδικοί χαρακτήρες Εκτός από τους γνωστούς χαρακτήρες που εμφανίζονται στην οθόνη και ονομάζονται εκτυπώσιμοι χαρακτήρες (printing characters), ο πίνακας ASCII περιλαμβάνει και διάφορους ειδικούς χαρακτήρες (special characters) που χρησιμοποιούνται για να επιτελούν συγκεκριμένες ενέργειες. Πίνακας ειδικών χαρακτήρων \a ηχητική προειδοποίηση (μπιπ ή κουδούνισμα) \b οπισθοδρόμηση (backspace) \f αλλαγή σελίδας \n αλλαγή γραμμής \r επιστροφή (επιστρέφει στην αρχή της τρέχουσας γραμμής χωρίς προώθηση \t στηλοθέτης (tab μεταφέρει στον επόμενο κατακόρυφο στηλοθέτη) \v κατακόρυφος στηλοθέτης \0 μηδενικός (null) χαρακτήρας (ο χαρακτήρας του οποίου ο κωδικός ASCII είναι 0) \\ ο χαρακτήρας \ \' ο χαρακτήρας ' (απαιτεί ανάποδη κάθετο μόνο σε σταθερές χαρακτήρων) \ ο χαρακτήρας (απαιτεί ανάποδη κάθετο μόνο σε αλφαριθμητικές σταθερές) \add ο χαρακτήρας του οποίου ο κωδικός ASCII είναι ο οκταδικός αριθμός add 10
11 Αριθμητική χαρακτήρων (1) Στη C, οι τιμές χαρακτήρων μπορούν να χρησιμοποιηθούν σαν να ήταν ακέραιοι, χωρίς να απαιτείται κάποια ειδική μετατροπή. Το αποτέλεσμα μιας τέτοιας πράξης ορίζεται σύμφωνα με τους εσωτερικούς κωδικούς ASCII. Παρόλο που είναι έγκυρο να εφαρμόζετε οποιαδήποτε αριθμητική πράξη σε τιμές τύπου char, δεν έχουν νόημα όλες οι πράξεις για τους χαρακτήρες. Για παράδειγμα: η πράξη Α * Β είναι έγκυρη αλλά το αποτέλεσμα 4290 που προκύπτει από τον πολλαπλασιασμό των κωδικών ASCII (65 και 66 αντίστοιχα) βρίσκεται εκτός του συνόλου χαρακτήρων ASCII και δεν έχει καμία σημασία ως χαρακτήρας. int num = 'A' * 'B'; printf("%d\n", num); //εκτυπώνει
12 Αριθμητική χαρακτήρων(2) Πρόσθεση ακεραίου σε χαρακτήρα: αποτέλεσμα 5 Γενικά, η παράσταση 0 + n δίνει τον κωδικό χαρακτήρα του n-οστού ψηφίου, αν το n είναι μεταξύ 0 και 9. Αφαίρεση ακεραίου από χαρακτήρα: z 2 αποτέλεσμα x Γενικά, η παράσταση c - n δίνει τον κωδικό του χαρακτήρα που βρίσκεται n χαρακτήρες πριν από το c στην ακολουθία κωδικοποίησης. Αφαίρεση χαρακτήρα από άλλο χαρακτήρα: a A αποτέλεσμα 32 Γενικά, αν c1 και c2 είναι δύο χαρακτήρες τότε η παράσταση c1 c2 δίνει την απόσταση μεταξύ αυτών των χαρακτήρων στην ακολουθία κωδικοποίησης. Σύγκριση δύο χαρακτήρων μεταξύ τους: Γενικά, η παράσταση c1 < c2 είναι TRUE αν το c1 εμφανίζεται πριν από το c2 στον πίνακα ASCII. 12
13 Εφαρμογές Διάγνωση αν ένας χαρακτήρας είναι αριθμητικό ψηφίο: if(ch >= '0' && ch <= '9') Διάγνωση κεφαλαίου αγγλικού γράμματος: if(ch >= 'A' && ch <= 'Z') Μετατροπή πεζού σε κεφαλαίο: char ch; printf("dwse ena pezo aggliko gramma: "); ch = getchar(); printf("to antistoixo kefalaio einai: "); printf("%c\n", ch-32); 13
14 Η διασύνδεση ctype.h 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' που εμφανίζονται στην οθόνη ως κενό διάστημα επιστρέφει το αντίστοιχο πεζό γράμμα επιστρέφει το αντίστοιχο κεφαλαίο γράμμα 14
15 Παράδειγμα Η παρακάτω κατηγορηματική συνάρτηση επιστρέφει TRUE αν το όρισμα της είναι φωνήεν της αγγλικής αλφαβήτου: bool IsVowel(char ch) { char lowerch; lowerch = tolower(ch); switch( lowerch ) { case a : case e : case i : return (TRUE); default: return false; } } case o : case u : 15
16 Tα αλφαριθμητικά ως πίνακες (1) Στο εσωτερικό του υπολογιστή τα αλφαριθμητικά αναπαριστάνονται ως πίνακες χαρακτήρων. Οι χαρακτήρες ενός αλφαριθμητικού αποθηκεύονται σε συνεχόμενα byte. Για να προσδιοριστεί που τελειώνει το κάθε αλφαριθμητικό, ο μεταγλωττιστής της C αποθηκεύει πάντα ένα μηδενικό (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 ; H e l l o \0 16
17 Tα αλφαριθμητικά ως πίνακες (2) Επειδή κάθε αλφαριθμητικό είναι ένας πίνακας, μπορείτε να επιλέξετε τον i-οστό χαρακτήρα ενός αλφαριθμητικού str ως εξής: str [i] Για να χρησιμοποιήσετε, για οποιοδήποτε λόγο, τους χαρακτήρες ενός αλφαριθμητικού όταν χρησιμοποιείτε συμβολισμό πινάκων, μπορείτε να χρησιμοποιήσετε τον παρακάτω ιδιωματισμό for(i = 0; str[i]!= \0 ; i++){ str[i] } σώμα του βρόχου όπου γίνεται ο χειρισμός του 17
18 Tα αλφαριθμητικά ως πίνακες (3) Στη συνέχεια, παρουσιάζεται η υλοποίηση μιας συνάρτησης που επιστρέφει τον αριθμοδείκτη θέσης του 1 ου φωνήεντος της λέξης που δέχεται, ή την τιμή -1 αν η λέξη δεν έχει κανένα φωνήεν int FindFirstVowel(char word[]) { int i; for(i = 0; word[i]!= \0 ; i++){ if (IsVowel(word[i])) return (i); } return (-1); } 18
19 Η διασύνδεση string.h (1) Κλήση συνάρτησηςεπιστρεφόμενη τιμή strcpy(dst, src): src strncpy(dst, src, n): strcat(dst, src): του strncat(dst, src, n): στο strlen(s): strcmp(s1, s2): αλφαριθμητικών strncmp(s1, s2, n): αντιγράφει χαρακτήρες από το αλφαριθμητικό στο dst αντιγράφει το πολύ n χαρακτήρες από το αλφαριθμητικό src στο dst προσαρτά χαρακτήρες από το src στο τέλος dst προσαρτά το πολύ n χαρακτήρες από το src τέλος του dst επιστρέφει το μήκος του αλφαριθμητικού s επιστρέφει έναν ακέραιο που υποδηλώνει το αποτέλεσμα της σύγκρισης των όπως η, αλλά συγκρίνει το πολύ n χαρακτήρες 19
20 Συνάρτηση strcopy Η συνάρτηση strcpy αντιγράφει χαρακτήρες από ένα αλφαριθμητικό (προέλευση) σε ένα άλλο αλφαριθμητικό (προορισμός) Δέχεται πρώτα το όρισμα του προορισμού π.χ. char carray[6]; strcpy(carray, "A long string"); To μήκος του αλφαριθμητικού "A long string" είναι μεγαλύτερο από το μέγεθος του πίνακα carray. Αυτό θα προκαλέσει την εγγραφή δεδομένων μετά το τέλος του πίνακα και είναι συνηθισμένο προγραμματιστικό λάθος (υπερχείλιση περιοχής προσωρινής αποθήκευσης - buffer overflow) Τέτοια σφάλματα μπορεί να αποδειχθούν εξαιρετικά κρίσιμα σε θέματα ασφάλειας. 20
21 Μεταβίβαση αλφαριθμητικών σε συναρτήσεις Τα αλφαριθμητικά μπορούν να μεταβιβαστούν σε συναρτήσεις ακριβώς όπως και οποιοσδήποτε άλλος πίνακας (κλήση κατ' αναφορά) Παράδειγμα: συνάρτηση αντιστροφής των χαρακτήρων ενός αλφαριθμητικού #include <stdio.h> #include <ctype.h> void reverse(char array[]); main() { char string[1000] = "Hello my friend"; reverse(string); printf("%s\n", string); system("pause"); } void reverse(char array[]) { } char temp[1000]; int i, end; strcpy(temp, array); //αντιγραφή του αλφαριθμητικού //στον προσωρινό πίνακα temp for(i=0; array[i]!= '\0'; i++) //εύρεση τέλους end = i; i = 0; while(end >=0) { array[i] = temp[end]; i++; end--; } array[i] = '\0'; 21
22 Αλφαριθμητικά 1. char name1[20], *name2; 2 τρόποι για να δηλώσω αλφαριθμητικό 2. printf("dwse 1o ONOMA "); 3. gets(name1); Με την gets() διαβάζω αλφαριθμητικό 4. printf("%s\n",name1); printf("dwse 2o ONOMA "); 7. // gets(name2); runtime error 8. name2=(char *)malloc(20*sizeof(char)); 9. gets(name2); Αν δηλώσω το αλφαριθμητικό ως δείκτη προς χαρακτήρα τότε όπως οι εντολές < 8. 9.> για να διαβάσω το αλφαριθμητικό 10. // name1=name2; error: incompatible types in assignment Εντολή ανάθεσης τιμής δε μπορώ να χρησιμοποιήσω 11. strcpy(name1, name2); μεταξύ αλφαριθμητικών αλλά την strcpy(dst, src) 22
23 Αλφαριθμητικά ως Δείκτες Όπως συμβαίνει με οποιονδήποτε πίνακα, ένας πίνακας χαρακτήρων μπορεί να ερμηνευτεί και ως δείκτης προς το πρώτο του στοιχείο. Επομένως, μέσω αριθμητικής δεικτών μπορεί ο προγραμματιστής να προσπελάσει μεμονωμένους χαρακτήρες ενός αλφαριθμητικού. Παράδειγμα εύρεσης πρώτου φωνήεντος σε αλφαριθμητικό int FindFirstVowel(char* word) { char *cp; } for(cp = word; *cp!= '\0'; cp++) if(isvowel(*cp)) return cp-word; return (-1); 23
24 Η αρχή της απαρίθμησης (1) Σε αρκετές περιπτώσεις χρειάζεται να γράφουμε προγράμματα που χειρίζονται μη αριθμητικά δεδομένα. Για παράδειγμα, σε ένα πρόγραμμα υποβολής φορολογικής δήλωσης υπάρχει μια ερώτηση του τύπου Οικογενειακή κατάσταση (επιλέξτε ένα): ανύπαντρος παντρεμένος που υποβάλει κοινή δήλωση παντρεμένος που υποβάλει χωριστή δήλωση επικεφαλής νοικοκυριού χήρος/χήρα Η απάντηση σας δεν είναι ούτε αριθμητικά δεδομένα ούτε δεδομένα κειμένου. 24
25 Η αρχή της απαρίθμησης (2) Ο καλύτερος τρόπος για να περιγράψετε τον τύπο δεδομένων θα ήταν απλώς να τον ονομάσετε δεδομένα οικογενειακής κατάστασης. Αυτός ο νέος τύπος δεδομένων έχει ως πεδίο ορισμού 5 τιμές: ανύπαντρος, παντρεμένος που υποβάλει κοινή δήλωση, παντρεμένος που υποβάλει χωριστή δήλωση, επικεφαλής νοικοκυριού, χήρος/χήρα. Η διεργασία της παράθεσης όλων των δεδομένων του πεδίου ορισμού ενός τύπου δεδομένων με τη μορφή λίστας ονομάζεται απαρίθμηση (enumeration). Ένας τύπος που ορίζεται με την παράθεση όλων των στοιχείων του ονομάζεται απαριθμητός τύπος (enumeration type). 25
26 Αναπαράσταση απαριθμητών τύπων Σε κάθε στοιχείο ενός απαριθμητού τύπου μπορούμε να αναθέσουμε ένα ακέραιο, διεργασία γνωστή ως κωδικοποίηση με ακεραίους (integer encoding). Για το παράδειγμα μας μπορούμε να εφαρμόσουμε αυτή τη στρατηγική ως εξής: #define Single 1 #define MarriedFillingJointReturn 2 #define MarriedFillingSeperateReturn 3 #define HeadOfHousehold 4 #define QualifyingSurvivingSpouse 5 Από τη στιγμή που θα ορίσετε τις σταθερές μπορείτε να δηλώσετε μια μεταβλητή τύπου int για να αναπαραστήσετε την οικογενειακή κατάσταση: int filingstatus; 26
27 Ορισμός νέων απαριθμητών τύπων Στη C, αντί να χρησιμοποιήσετε τον τύπο int για να αναπαραστήσετε μη αριθμητικές τιμές, είναι δυνατό να ορίσετε ένα πραγματικό όνομα τύπου ο οποίος θα αναπαριστά έναν απαριθμητό τύπο. typedef enum{ λίστα στοιχείων } όνομα τύπου; όπου: - λίστα στοιχείων είναι ένας κατάλογος ονομάτων τα οποία είναι δυνατό να χρησιμοποιηθούν για την αναφορά στις μεμονωμένες τιμές που απαρτίζουν τον απαριθμητό τύπο. Τα στοιχεία της λίστας διαχωρίζονται με κόμματα. Κάθε στοιχείο μπορεί επίσης να ακολουθείται από ένα σύμβολο ίσον και μια ακέραιη σταθερά που καθορίζει μια συγκεκριμένη εσωτερική αναπαράσταση - όνομα_τύπου είναι το όνομα του νέου απαριθμητού τύπου 27
28 Παράδειγμα (1) Ορισμός ενός νέου τύπου weekdayt με πεδίο ορισμού τα ονόματα των ημερών της εβδομάδας typedef enum{ Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } weekdayt Στα στοιχεία του παραπάνω απαριθμητού τύπου ανατίθενται συνεχόμενες ακέραιες τιμές ξεκινώντας από το 0. Βέβαια, όπως θα δούμε στο επόμενο παράδειγμα, ο μεταγλωττιστής της C σας επιτρέπει να καθορίσετε ρητά την εσωτερική αναπαράσταση των στοιχείων ενός απαριθμητού τύπου κατά τον ορισμό του. 28
29 Παράδειγμα (2) Για το παράδειγμα με τη φορολογική δήλωση μπορούμε να έχουμε τη δήλωση του απαριθμητού τύπου ή typedef enum{ Single = 1, MarriedFillingJointReturn = 2, MarriedFillingSeperateReturn = 3, HeadOfHousehold = 4, QualifyingSurvivingSpouse = 5 } filingstatust; typedef enum{ Single = 1, MarriedFillingJointReturn, MarriedFillingSeperateReturn, HeadOfHousehold, QualifyingSurvivingSpouse } filingstatust; 29
30 Πράξεις με απαριθμητούς τύπους typedef enum{ } weekdayt Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday Αφού οι απαριθμητοί τύποι είναι στη ουσία ακέραιοι μπορούμε να κάνουμε πράξεις, όπως για παράδειγμα weekday = weekday + 1; Πρέπει όμως να είμαστε προσεκτικοί γιατί ο μεταγλωττιστής δεν ελέγχει αν το αποτέλεσμα είναι έγκυρο μέλος ενός συγκεκριμένου απαριθμητού τύπου. Αν γράφαμε την παραπάνω εντολή ανάθεσης και η weekday είχε την τιμή Saturday, ο υπολογιστής θα έπαιρνε την τιμή 6 θα πρόσθετε το 1 και θα αποθήκευε την τιμή 7 στη μεταβλητή weekday. Αντίθετα, η εντολή weekday = (weekday + 1) % 7; εξασφαλίζει ότι το αποτέλεσμα θα είναι πάντα από 0 έως 6. 30
31 Τέλος Ενότητας
Διαδικαστικός Προγραμματισμός
ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Διαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 8 ο : Χαρακτήρες και Αλφαριθμητικά Στόχοι μαθήματος 2 Να κατανοήσετε τον τρόπο με τον οποίο αναπαριστούν τα συστήματα υπολογιστών
Τυχαίοι αριθμοί Αλφαριθμητικά και χαρακτήρες
Τυχαίοι αριθμοί Αλφαριθμητικά και χαρακτήρες Παραγωγή τυχαίων αριθμών: Η συνάρτηση rand Η συνάρτηση rand() ανήκει στη βιβλιοθήκη stdlib της C. int rand(void); Για την χρήση της σε ένα πρόγραμμα εισάγουμε
Αλφαριθμητικά, πίνακες και δείκτες
Αλφαριθμητικά, πίνακες και δείκτες Τα αλφαριθμητικά ως πίνακες Ένα αλφαριθμητικό (string) αναπαρίσταται εσωτερικά ως ένας πίνακας χαρακτήρων που τερματίζεται από τον ειδικό χαρακτήρα NULL ('\0') 1000 1001
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Αλφαριθμητικά θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 9 η Χαρακτήρες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 2:Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)- Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγικές Έννοιες σε Strings(Αρχικοποίηση, Ανάγνωση & Εκτύπωση) Πίνακες από Strings
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Εισαγωγή στη C θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 2: Μεταβλητές και Σταθερές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης
Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C
Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 9 Ο. Διαχείριση αλφαριθμητικών και πράξεις σε επίπεδο bit ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΙΝΑΤΚΑΣ Ι.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 9 Ο Διαχείριση αλφαριθμητικών και πράξεις σε επίπεδο bit 1 Εισαγωγή Τα αλφαριθμητικά δεδομένα καταλαμβάνουν σημαντικότατη θέση στον προγραμματισμό, ιδιαίτερα σε εφαρμογές εμπορικές
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Χαρακτήρες Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Χαρακτήρες - Εισαγωγή Έως τώρα έχουμε κατά κύριο λόγο χρησιμοποιήσει τους αριθμητικούς τύπους
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην
Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Εισαγωγικές Έννοιες σε Strings - Πίνακες από Strings - Συναρτήσεις
Δομές Δεδομένων. Ενότητα 1: Εισαγωγή-Υλοποίηση του ΑΤΔ Σύνολο με Πίνακα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.
Ενότητα 1: Εισαγωγή-Υλοποίηση του ΑΤΔ Σύνολο με Πίνακα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα
Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης
Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται
Μεταβλητές τύπου χαρακτήρα
Μεταβλητές τύπου χαρακτήρα 31 Μαρτίου 014 1 Μεταβλητές τύπου char Για χειρισμό χαρακτήρων η C διαθέτει τον τύπο char. Ο τύπος είναι βαθμωτός δηλαδή ακέραιης αναπαράστασης. Τυπικά έχει μέγεθος ενός byte
2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Δομημένος Προγραμματισμός
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 2: Τύποι μεταβλητών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 3: Συναρτήσεις printf() και scanf() Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Ανάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ
Μεταγλωττιστές Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 10: Συναρτήσεις Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 3: Εισαγωγή και Εμφάνιση Δεδομένων Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες
Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος
Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Μονοδιάστατοι Πίνακες (tables) Μια συλλογή μεταβλητών ίδιου τύπου οι οποίες είναι αποθηκευμένες
Δομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαδικαστικός Προγραμματισμός
Διαδικαστικός Προγραμματισμός Ενότητα 3: Εντολές ελέγχου επανάληψη Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011
Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include
Διαδικαστικός Προγραμματισμός
Διαδικαστικός Προγραμματισμός Ενότητα 7: Δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών
Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Αναφορά
ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης ΥΠΟΛΟΓΙΣΤΕΣ ΙI Τύποι δεδομένων, μεταβλητές, πράξεις Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό
Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C
Τεχνολογία και Προγραμματισμός Υπολογιστών Η γλώσσα προγραμματισμού C Με μια ματιά Τύπος Πίνακα Μεταβλητές με ενδείκτη Αλφαριθμητικά - Πίνακες Δισδιάστατος Πολυδιάστατος Πίνακας 2 2 Τύπος Πίνακα Σύνθετος
Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)
Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)
Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ
ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τον ορισμό, τη δήλωση και τη χρήση των χαρακτήρων, συνεπώς και των αλφαριθμητικών, της Γλώσσας
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 8 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών
scanf() scanf() stdin scanf() printf() int float double %lf float
Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση
Ηλεκτρονικοί Υπολογιστές
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 9: Πίνακες στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings)
Κεφάλαιο 9.1-9.2 Αλφαριθµητικές Σειρές Χαρακτήρων (Strings) ( ιάλεξη 19) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1) Strings στη C Ένα string είναι µία ακολουθία αλφαριθµητικών χαρακτήρων, σηµείων στίξης κτλ. Π.χ.
Δομημένος Προγραμματισμός
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα6: Εμφωλυευμένες δομές κώδικα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται
ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ
ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας
Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο
Εισαγωγή στην Πληροφορική & τον Προγραμματισμό
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 3 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα
Επεξεργασία κειμένου και συμβολοσειρών σε C
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)
Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2
Εισαγωγή στον προγραμματισμό Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2 Δομή Προγράμματος Όλα τα προγράμματα που γράψαμε έχουν λίγο πολύ την ακόλουθη μορφή: Κάποιος κώδικας εδώ main( ) {
6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ
6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Συναρτήσεις διαχείρισης αλφαριθμητικών
Συναρτήσεις διαχείρισης αλφαριθμητικών Όνομα βιβλιοθήκης: string.h Ενδεικτικές συναρτήσεις: char *strcpy(char *s1, char *s2): Αντιγράφει την ακολουθία χαρακτήρων s2 στον πίνακα s1. Επιστρέφεται η τιμή
Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2
Οικονόμου Βαγγέλησ Διάλεξη Νο 2 Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2 1 Η έννοια τησ μεταβλητήσ έδωςε λύςη ςτο πρόβλημα τησ αναφοράσ ςτην κύρια μνήμη του υπολογιςτή. Οι γλώςςεσ προγραμματιςμού υποςτηρίζουν
Διαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 3 η Είσοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή
Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής
Ενότητα 5: Δείκτες και Δυναμική Δέσμευση- Αποδέσμευση Μνήμης στη C/ Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με δείκτες /Ένα πακέτο για τον ΑΤΔ Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν
Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών
Δομημένος Προγραμματισμός Ενότητα 5(γ): Εργαστηριακή Άσκηση Αναπλ. Καθηγητής: Κωνσταντίνος Στεργίου Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Ανάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Δομές Δεδομένων και Κυρίως Πρόγραμμα Δομές δεδομένων εκτός από πίνακες: Structs Unions Enums Κυρίως πρόγραμμα Παράμετροι που
Διάλεξη 8η: Αλφαριθμητικά (strings)
Διάλεξη 8η: Αλφαριθμητικά (strings) Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) strings CS100, 2016-2017
Εντολές εισόδου - εξόδου. Εισαγωγή στη C++
Εντολές εισόδου - εξόδου Εισαγωγή στη C++ Το πρώτο πρόγραμμα //my first program #include using namespace std; int main(){ cout
Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Πληροφορική Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής Άδειες Χρήσης
Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου
Εργαστήριο 2: Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας Προγραμματισμού
Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 8: Αρχεία και Δομές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 5: Εντολές συνθήκης Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι πίνακες στη C (μονοδιάστατοι -συμβολοσειρές) Γενικά για τους πίνακες Ο πίνακας είναι μια αρκετά διαδεδομένη δομή που προσφέρεται από σχεδόν κάθε γλώσσα προγραμματισμού. Πρόκειται
Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.
Ενότητα 11: Τεχνικές Κατακερματισμού Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις
3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα
Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Παρατηρήσεις
Διαδικαστικός Προγραμματισμός
Διαδικαστικός Προγραμματισμός Ενότητα 8: Παραδείγματα με μονοδιάστατους πίνακες, συναρτήσεις, δείκτες, πέρασμα παραμέτρων με αναφορά Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 8: Πίνακες Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις
Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις Ενώσεις δεδομένων (union) τι και γιατί Συσκευές με μικρή μνήμη => ανάγκη εξοικονόμησης πόρων Παρατήρηση: αχρησιμοποίητη μνήμη. Έστω
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 6 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών
Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης Υπολογιστές Ι Εισαγωγή Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα 1 : Εισαγωγή Κώστας Κουκουλέτσος, Καθηγητής Τμήμα Η.Υ.Σ Άδειες Χρήσης Το παρόν εκπαιδευτικό
Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R.
Περιεχόμενα Πρόλογος v ΚΕΦΑΛΑΙΟ 1 Προπαρασκευαστική εισαγωγή 1 ΚΕΦΑΛΑΙΟ 2 Τύποι, τελεστές, και παραστάσεις 43 ΚΕΦΑΛΑΙΟ 3 Η ροή του ελέγχου 59 ΚΕΦΑΛΑΙΟ 4 Συναρτήσεις και δομή του προγράμματος 69 ΚΕΦΑΛΑΙΟ
Περιεχόμενα. Πρόλογος... 21
Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31
Εισαγωγή στον δομημένο προγραμματισμό
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 7 η : Δείκτες Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 7ο Τμήμα Διοίκησης Επιχειρήσεων Παλαιό ΕΠΔΟ α εξάμηνο Β. Φερεντίνος Δείκτες (Pointers) (1) 142 Κάθε μεταβλητή, εκτός από την τιμή της, έχει και μία συγκεκριμένη διεύθυνση
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαδικαστικός Προγραμματισμός
ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Διαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 7 ο : Δείκτες Στόχοι μαθήματος Να κατανοήσετε τη δυνατότητα χρήσης διευθύνσεων ως τιμών δεδομένων. Να μπορείτε να χρησιμοποιείτε
Δομημένος Προγραμματισμός
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 7: Πίνακες Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο
Προγραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Εγγραφές Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η Ανάγκη Ομαδοποίησης Πολλές φορές έχουμε πληροφορίες διαφορετικού τύπου οι οποίες όμως έχουν μεγάλη
Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ
Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία
Δεδομένα, Τύποι και Τιμές
Προγραμματισμός Η/Υ Ι Δεδομένα, Τύποι και Τιμές ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Οι περισσότερες προγραμματιστικές εργασίες περιλαμβάνουν χειρισμό
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα 5: Εντολές επανάληψης Κουκουλέτσος Κώστας Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστικών Συστημάτων
Γλώσσα Προγραμματισμού C
Προγραμματισμός HY: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 10 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών
C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο
C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός
Δεδομένα, τελεστές, είσοδος/έξοδος
2 Δεδομένα, τελεστές, είσοδος/έξοδος Τι θα δούμε σε αυτό το μάθημα 1. βασικοί τύποι δεδομένων 2. ακέραιοι 3. κινητής υποδιαστολής 4. ο τύπος decimal 5. χαρακτήρες 6. bool 7. string 8. χρήση μεταβλητών
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 11 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών
Στοιχειώδης προγραμματισμός σε C++
Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.
Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:
στους Ηλεκτρονικούς Υπολογιστές 5 ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ email: leo@mail.ntua.gr url: http://users.ntua.gr/leo Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Προγραμματισμός I (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός I (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2017 Δρ. Δημήτρης Βαρσάμης Οκτώβριος