Προγραµµατισµός Ι Αλφαριθµητικά Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι 1 Νικόλαος Δ.
|
|
- Ησιοδ Γούσιος
- 1 χρόνια πριν
- Προβολές:
Transcript
1 Αλφαριθµητικά Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι 1
2 Αλφαριθµητικά - Εισαγωγή Ένα αλφαριθµητικό (string) είναι µία ακολουθία χαρακτήρων, η οποία πρέπει να τελειώνει µε έναν ειδικό χαρακτήρα, ο οποίος είναι ο χαρακτήρας '\0' Ο χαρακτήρας αυτός ('\0') ονοµάζεται τερµατικός χαρακτήρας (null character) και οριοθετεί το τέλος του αλφαριθµητικού Προσοχή στο ότι ο τερµατικός χαρακτήρας '\0' και ο χαρακτήρας '0' είναι δύο διαφορετικοί χαρακτήρες Η ASCII τιµή του τερµατικού χαρακτήρα είναι 0 (µηδέν), ενώ του µηδενικού ψηφίου είναι 48 2
3 Κυριολεκτικά Αλφαριθµητικά Μία ακολουθία χαρακτήρων που περιέχεται µέσα σε διπλά εισαγωγικά ονοµάζεται κυριολεκτικό αλφαριθµητικό και αποθηκεύεται στη µνήµη σαν να ήταν πίνακας χαρακτήρων Για παράδειγµα, αν ο µεταγλωττιστής συναντήσει στο πρόγραµµα το αλφαριθµητικό "message" δεσµεύει για αυτό οκτώ θέσεις µνήµης, ώστε να αποθηκεύσει τους επτά χαρακτήρες του και τον τερµατικό χαρακτήρα ('\0') Αφού ένα κυριολεκτικό αλφαριθµητικό αποθηκεύεται σαν πίνακας χαρακτήρων, µπορούµε να το χρησιµοποιήσουµε και σαν «δείκτη σε χαρακτήρα», δηλαδή δείκτη µε τύπο char* 3
4 Αποθήκευση Αλφαριθµητικών Η αποθήκευση αλφαριθµητικών γίνεται σε µεταβλητές που δηλώνονται σαν πίνακες χαρακτήρων Π.χ. η πρόταση: char str[10]; δηλώνει έναν πίνακα str µε στοιχεία 10 χαρακτήρες ΣΗΜΑΝΤΙΚΗ ΠΑΡΑΤΗΡΗΣΗ Στην πραγµατικότητα, στον πίνακα str επιτρέπεται να αποθηκεύσουµε µέχρι και 9 χαρακτήρες και όχι 10, γιατί µία θέση δεσµεύεται για τον τερµατικό χαρακτήρα '\0' Γενικά, για να αποθηκεύσουµε ένα αλφαριθµητικό που µπορεί να έχει µέχρι και Ν χαρακτήρες θα πρέπει να δηλώσουµε έναν πίνακα µε Ν+1 θέσεις χαρακτήρων 4
5 Αποθήκευση Αλφαριθµητικών µε τη Δήλωση (Ι) Α Τρόπος Τη δήλωση του πίνακα την ακολουθεί ο τελεστής = και οι χαρακτήρες του αλφαριθµητικού διαχωρίζονται µε τον τελεστή κόµµα (,) µέσα σε άγκιστρα {} ΠΑΡΑΔΕΙΓΜΑ char str[8] = {'m','e','s','s','a','g','e','\0'}; Στο παραπάνω παράδειγµα η τιµή του str[0] γίνεται 'm', η τιµή του str[1] γίνεται 'e', η τιµή του str[2] γίνεται 's', κ.ο.κ. Προφανώς, η τιµή του τελευταίου στοιχείου του πίνακα str (δηλ. του str[7]) γίνεται '\0' 5
6 Αποθήκευση Αλφαριθµητικών µε τη Δήλωση (ΙΙ) Β Τρόπος Παραπλήσιος µε τον Α Τρόπο, αλλά πιο βολικός, γιατί το αλφαριθµητικό µπαίνει ανάµεσα σε διπλά εισαγωγικά "" ΠΑΡΑΔΕΙΓΜΑ char str[8] = "message"; Όπως και προηγουµένως, η τιµή του κάθε στοιχείου του πίνακα str γίνεται ίση µε τον αντίστοιχο χαρακτήρα του αλφαριθµητικού Ο µεταγλωττιστής προσθέτει αυτόµατα τον τερµατικό χαρακτήρα στο τέλος του αλφαριθµητικού, άρα η τιµή του τελευταίου στοιχείου του πίνακα (δηλ. του str[7]) γίνεται '\0' 6
7 Αποθήκευση Αλφαριθµητικών µε τη Δήλωση (ΙΙΙ) Γ Τρόπος Το κύριο µειονέκτηµα των 2 προηγούµενων τρόπων ήταν ότι ο προγραµµατιστής έπρεπε να µετρήσει τον αριθµό των χαρακτήρων του αλφαριθµητικού, να προσθέσει και τον τερµατικό χαρακτήρα, ώστε να υπολογίσει τη διάσταση του πίνακα Προφανώς, αυτή η διαδικασία είναι χρονοβόρα, ιδίως στην περίπτωση που το αλφαριθµητικό έχει πολλούς χαρακτήρες, και - εκτός από αυτό - είναι πολύ πιθανό να προκύψει και λάθος στο µέτρηµα Ο τρίτος και πιο ευέλικτος τρόπος είναι να µην δηλωθεί η διάσταση του πίνακα, ώστε να την υπολογίσει αυτόµατα ο µεταγλωττιστής ΠΑΡΑΔΕΙΓΜΑ char str[] = "message"; Σε αυτό το παράδειγµα ο µεταγλωττιστής δηµιουργεί έναν πίνακα χαρακτήρων µε τόσες θέσεις όσες χρειάζονται για να αποθηκευτούν στα στοιχεία του οι χαρακτήρες του αλφαριθµητικού "message" και ο τερµατικός χαρακτήρας Με αυτόν τον τρόπο ο προγραµµατιστής δεν χρειάζεται να µετρήσει το µήκος του αλφαριθµητικού για να υπολογίσει τη διάσταση του πίνακα 7
8 Παρατηρήσεις (Ι) Ο µεταγλωττιστής για να ανακαλύψει το τέλος ενός αλφαριθµητικού ψάχνει να βρει τον τερµατικό χαρακτήρα ('\0') Εποµένως, κάθε αλφαριθµητικό πρέπει να τελειώνει µε τον τερµατικό χαρακτήρα '\0' Επίσης, ο τερµατικός χαρακτήρας ('\0') πρέπει να υπάρχει, για να µπορούν να λειτουργήσουν σωστά και οι αντίστοιχες συναρτήσεις χειρισµού αλφαριθµητικών (π.χ. strlen(), strcpy(), ) τις οποίες θα εξετάσουµε παρακάτω 8
9 Παρατηρήσεις (ΙΙ) Ένας τρόπος για να εξασφαλιστεί ότι ο τερµατικός χαρακτήρας '\0' θα περιέχεται οπωσδήποτε σε έναν πίνακα χαρακτήρων, είναι να τεθεί στα στοιχεία του η τιµή '\0', κατά τη δήλωσή του (δηλ. να γίνει ταυτόχρονη αρχικοποίηση µε τη δήλωσή του) Π.χ. µε τη δήλωση: char str[100] = {0}; όλα τα στοιχεία του πίνακα str γίνονται ίσα µε την ASCII τιµή 0, η οποία αντιστοιχίζεται στον τερµατικό χαρακτήρα '\0' 9
10 Παρατηρήσεις (ΙΙΙ) Όπως µε όλους τους πίνακες, αν το πλήθος των χαρακτήρων είναι µικρότερο από το µέγεθος του πίνακα, οι τιµές των υπολοίπων στοιχείων αρχικοποιούνται µε µηδέν Αφού η ASCII τιµή του '\0' είναι µηδέν (0), σηµαίνει ότι αρχικοποιούνται µε '\0' Π.χ. µε τη δήλωση: char str[8] = "me"; το str[0] γίνεται 'm', το str[1] γίνεται 'e' και τα υπόλοιπα στοιχεία (str[2], str[3],, str[7]) ίσα µε '\0' 10
11 Παραδείγµατα (Ι) Το παρακάτω πρόγραµµα αποθηκεύει το κυριολεκτικό αλφαριθµητικό "This is the text" σε έναν πίνακα χαρακτήρων. Υπάρχει κάποια αδυναµία??? Η αδυναµία έγκειται στο ότι έχουν δεσµευτεί στη µνήµη 100 bytes ενώ αν η αποθήκευση του αλφαριθµητικού γινόταν ως: char str[] = "This is the text"; θα δεσµεύονταν ακριβώς 17 bytes (όσα δηλ. οι χαρακτήρες του αλφαριθµητικού (16) συν τον τερµατικό χαρακτήρα) 11
12 Παραδείγµατα (ΙΙ) Ποια είναι η έξοδος του παρακάτω προγράµµατος??? Έξοδος: 17 12
13 Παραδείγµατα (ΙΙΙ) Ποια είναι η διαφορά µεταξύ των εκφράσεων "a" και 'a'??? "a" : Αλφαριθµητικό, πίνακας χαρακτήρων µε δύο χαρακτήρες, τον χαρακτήρα 'a' και τον τερµατικό χαρακτήρα '\0' 'a' : απλώς, ο χαρακτήρας 'a' 13
14 Παραδείγµατα (ΙV) Υπάρχει προγραµµατιστικό λάθος στο παρακάτω πρόγραµµα??? Mε την εντολή char str1[] = "abc"; ο µεταγλωττιστής δηµιουργεί έναν πίνακα τεσσάρων θέσεων, για να αποθηκεύσει τους χαρακτήρες 'a', 'b', 'c' και τον '\0' και παρόµοια τον πίνακα str2 για να αποθηκεύσει τους χαρακτήρες 'e', 'f', 'g' και τον '\0'. Το λάθος συµβαίνει όταν το πρόγραµµα επιχειρεί να αποθηκεύσει τον χαρακτήρα 'w' σε θέση του πίνακα str2 που είναι εκτός των ορίων του. Άρα, µε την εντολή str2[4] = 'w' γίνεται υπερεγγραφή µνήµης και αυθαίρετη αλλοίωση των δεδοµένων που είναι αποθηκευµένα εκεί. ηλαδή, το πρόγραµµα µπορεί να εµφανίσει 'a' µπορεί όµως και να εµφανίσει 'w' αν οι πίνακες str1 και str2 έχουν αποθηκευτεί σε διαδοχικές θέσεις µνήµης. 14
15 Εµφάνιση Αλφαριθµητικών µε την printf() (Ι) Για την εµφάνιση ενός αλφαριθµητικού, µπορούµε να χρησιµοποιήσουµε τη γνωστή µας συνάρτηση printf() Για την εµφάνιση αλφαριθµητικού χρησιµοποιούµε το προσδιοριστικό %s στην εντολή printf()και έναν δείκτη στο αλφαριθµητικό Η συνάρτηση printf() εµφανίζει όλους τους χαρακτήρες από τον πρώτο χαρακτήρα στον οποίο δείχνει ο δείκτης µέχρι να συναντήσει τον τερµατικό χαρακτήρα ('\0') Στο επόµενο παράδειγµα χρησιµοποιείται το όνοµα του πίνακα (αφού το όνοµα ενός πίνακα είναι δείκτης στο πρώτο του στοιχείο) 15
16 Εµφάνιση Αλφαριθµητικών µε την printf() (ΙΙ) Προφανώς, µπορούµε να εµφανίσουµε οποιοδήποτε τµήµα του αλφαριθµητικού επιθυµούµε κάνοντας τον δείκτη να δείχνει στην ανάλογη θέση Για παράδειγµα, για να εµφανίσουµε στο προηγούµενο πρόγραµµα το τµήµα του αλφαριθµητικού από τον έκτο χαρακτήρα και µετά, δηλαδή το is text, θα γράφαµε: ή ισοδύναµα: 16
17 Εµφάνιση Αλφαριθµητικών µε την puts() Για την εµφάνιση ενός αλφαριθµητικού, µπορούµε να χρησιµοποιήσουµε και τη συνάρτηση puts(), η οποία λειτουργεί περίπου όπως και η printf() Η συνάρτηση puts() δεν χρειάζεται ως παράµετρο το προσδιοριστικό %s και απαιτεί ως µοναδική παράµετρο έναν δείκτη στην ακολουθία χαρακτήρων που επιθυµούµε να εµφανιστεί στην οθόνη και την εµφανίζει µέχρι να συναντήσει τον τερµατικό χαρακτήρα ('\0') Στο τέλος της ακολουθίας χαρακτήρων η puts() αντικαθιστά αυτόµατα τον τερµατικό χαρακτήρα ('\0') µε τον χαρακτήρα νέας γραµµής ('\n') 17
18 Παράδειγµα (Ι) Ποια είναι η έξοδος του παρακάτω προγράµµατος??? Πιθανή Έξοδος (επειδή δεν έχει αρχικοποιηθεί ο πίνακας χαρακτήρων και άρα δεν περιέχει τον τερµατικό χαρακτήρα ('\0'): ab Ξ[ 9Tⁿ 18
19 Παράδειγµα (ΙΙ) Ποια είναι η έξοδος των παρακάτω προγραµµάτων??? Έξοδος: ab 19
20 Παράδειγµα (ΙΙΙ) Ποια είναι η έξοδος του παρακάτω προγράµµατος??? Απαντήσατε Right??? Προσοχή!!! Το '0' που περιέχεται στο αλφαριθµητικό δεν αντιστοιχεί στον τερµατικό χαρακτήρα ('\0'), αλλά στους εξής τρεις χαρακτήρες: το µονό εισαγωγικό, το µηδέν και ξανά το µονό εισαγωγικό. Άρα, το πρόγραµµα εµφανίζει: Right'0'Wrong Για να ήταν η απάντησή σας σωστή, θα έπρεπε να είχαµε δηλώσει το αλφαριθµητικό ως: char str[] = "Right\0Wrong"; 20
21 Δείκτες και Αλφαριθµητικά (Ι) Ένας εναλλακτικός τρόπος για να χειριστούµε ένα κυριολεκτικό αλφαριθµητικό είναι να δηλώσουµε έναν δείκτη που να δείχνει στον πρώτο χαρακτήρα του αλφαριθµητικού αυτού Παράδειγµα: 21
22 Δείκτες και Αλφαριθµητικά (ΙΙ) Δηλώνοντας έναν δείκτη σε ένα αλφαριθµητικό µπορούµε να το χειριστούµε µε τον ίδιο τρόπο όπως αν το είχαµε αποθηκεύσει σε έναν πίνακα χαρακτήρων Δηλαδή µε τις εντολές: char *ptr = "This is text"; και char ptr[] = "This is text"; µπορούµε να χειριστούµε το αλφαριθµητικό µε τη χρήση του δείκτη ptr, γιατί και στη δεύτερη περίπτωση το ptr είναι επίσης δείκτης στη διεύθυνση του πρώτου χαρακτήρα του αλφαριθµητικού Και γιατί αυτό???? Θυµηθείτε ότι το όνοµα ενός πίνακα (χωρίς τις αγκύλες) είναι δείκτης στο πρώτο στοιχείο του 22
23 Δείκτες και Αλφαριθµητικά (ΙΙΙ) Τους χαρακτήρες ενός αλφαριθµητικού µπορούµε να τους χειριστούµε είτε χρησιµοποιώντας τη σηµειογραφία δείκτη είτε χρησιµοποιώντας τη θέση τους στον πίνακα Παράδειγµα: Παρατηρήστε ότι ο for βρόχος εκτελείται µέχρι να συναντήσουµε τον τερµατικό χαρακτήρα '\0' 23
24 char *ptr vs. char ptr[] char *ptr = "This is text"; char ptr[] = "This is text"; 1) Αν έχουµε χρησιµοποιήσει τον 2 ο τρόπο δήλωσης, δηλαδή: char ptr[] = "This is text"; µετά τη δήλωση και την αρχικοποίηση αυτή, επιτρέπεται να αποθηκεύσουµε στον πίνακα ptr ένα άλλο αλφαριθµητικό, λαµβάνοντας όµως υπόψιν τον περιορισµό ότι το µήκος του νέου αλφαριθµητικού δεν θα πρέπει να υπερβαίνει το µέγεθος του πίνακα, που ισούται µε το πλήθος των χαρακτήρων του αλφαριθµητικού αρχικοποίησης (δηλ. του "This is text") αυξηµένο κατά ένα (για τον τερµατικό χαρακτήρα '\0') 24
25 char *ptr vs. char ptr[] char *ptr = "This is text"; char ptr[] = "This is text"; 2) Αντίθετα, αν έχουµε χρησιµοποιήσει τον 1ο τρόπο δήλωσης, δηλαδή: char *ptr = "This is text"; µετά τη δήλωση και την αρχικοποίηση αυτή, επιτρέπεται να κάνουµε τον δείκτη ptr να δείξει σε ένα άλλο αλφαριθµητικό, ακόµα και αν αυτό έχει περισσότερους χαρακτήρες Παράδειγµα: 25
26 char *ptr vs. char ptr[] char *ptr = "This is text"; char ptr[] = "This is text"; 3) Αν χρησιµοποιήσουµε τον 2 ο τρόπο δήλωσης, δηλαδή: char ptr[] = "This is text"; η µεταβλητή ptr είναι πίνακας, άρα το µέγεθος της µνήµης που δεσµεύεται για τη µεταβλητή ptr είναι ίσο µε το πλήθος των χαρακτήρων του αλφαριθµητικού και µία επιπλέον θέση για τον τερµατικό χαρακτήρα '\0' Συγκεκριµένα, το µέγεθός της υπολογίζεται µε την έκφραση sizeof(ptr) Αντίθετα, αν χρησιµοποιήσουµε τον 1 ο τρόπο δήλωσης, δηλαδή: char *ptr = "This is text"; η µεταβλητή ptr είναι δείκτης σε χαρακτήρα, άρα το µέγεθος της µνήµης που δεσµεύεται για τη µεταβλητή ptr είναι ίσο µε αυτό που δεσµεύεται για τον τύπο δείκτη (σε ένα 32-bit υπολογιστή το µέγεθός της είναι 4 bytes) 26
27 char *ptr vs. char ptr[] char *ptr = "This is text"; 4) Αν χρησιµοποιήσουµε τον 1 ο τρόπο δήλωσης, δηλαδή: char *ptr = "This is text"; char ptr[] = "This is text"; η µνήµη που δεσµεύει ο µεταγλωττιστής για να αποθηκεύσει το αλφαριθµητικό είναι συνήθως µόνο για διάβασµα (read-only) και δεν επιτρέπεται να µεταβληθούν τα περιεχόµενά της Άρα, είναι πολύ πιθανό να εµφανιστεί µήνυµα λάθους κατά την εκτέλεση του προγράµµατος Αντίθετα, αν χρησιµοποιήσουµε τον 2 ο τρόπο δήλωσης, δηλαδή: char ptr[] = "This is text"; επιτρέπεται να αλλάξουν τα περιεχόµενα του πίνακα, άρα εντολές όπως η ptr[0] = 'a'; εκτελούνται κανονικά 27
28 Διάβασµα Αλφαριθµητικών µε την scanf() Για το διάβασµα ενός αλφαριθµητικού από το stdin, µπορούµε να χρησιµοποιήσουµε τη γνωστή µας συνάρτηση scanf() Για το διάβασµα αλφαριθµητικών µε τη συνάρτηση scanf() χρησιµοποιείται το προσδιοριστικό %s Η συνάρτηση scanf() στην απλή χρήση της σταµατάει το διάβασµα του αλφαριθµητικού, όταν συναντήσει τον κενό χαρακτήρα ή τον χαρακτήρα νέας γραµµής Ποια θα είναι η έξοδος του διπλανού προγράµµατος, αν ο χρήστης πληκτρολογήσει το αλφαριθµητικό: We don't need no education... Έξοδος: We 28
29 Διάβασµα Αλφαριθµητικών µε την gets() Για το διάβασµα ενός αλφαριθµητικού από το πληκτρολόγιο, µπορούµε να χρησιµοποιήσουµε τη συνάρτηση gets() Σε αντίθεση µε τη συνάρτηση scanf(), η συνάρτηση gets() διαβάζει όλους τους χαρακτήρες µέχρι να συναντήσει τον χαρακτήρα νέας γραµµής ('\n') Η gets() αντικαθιστά τον χαρακτήρα νέας γραµµής ('\n') µε τον τερµατικό χαρακτήρα ('\0') Ποια θα είναι η έξοδος του διπλανού προγράµµατος, αν ο χρήστης πληκτρολογήσει το αλφαριθµητικό: We don't need no education... Έξοδος: We don't need no education... 29
30 Παρατηρήσεις (Ι) Και οι δύο συναρτήσεις (scanf() και gets()) δέχονται σαν παράµετρο έναν δείκτη προς χαρακτήρα Υπενθυµίζεται ότι το όνοµα ενός πίνακα χωρίς αγκύλες είναι δείκτης στο πρώτο στοιχείο του πίνακα Εποµένως, στα προηγούµενα παραδείγµατα µπορεί να χρησιµοποιηθεί σαν παράµετρος το str, γιατί το str είναι δείκτης σε χαρακτήρα και συγκεκριµένα στον πρώτο χαρακτήρα του πίνακα Αρκετοί προγραµµατιστές προτιµούν τη συνάρτηση gets() έναντι της συνάρτησης scanf(), γιατί διαβάζει και τους κενούς χαρακτήρες Προσοχή όµως, γιατί και οι δύο συναρτήσεις δεν είναι απολύτως ασφαλείς για το διάβασµα αλφαριθµητικών...(δείτε τη συνέχεια) 30
31 Παρατηρήσεις (ΙΙ) Ο δείκτης που δέχονται σαν παράµετρο οι συναρτήσεις scanf() και gets() πρέπει να δείχνει σε µία µνήµη που έχει δεσµευτεί για την αποθήκευση του αλφαριθµητικού που θα εισάγει ο χρήστης Π.χ. Για να µην υπάρχει πρόβληµα π.χ.: char ptr[100]; Έξοδος: εν θα εκτελεστεί σωστά το πρόγραµµα, αφού δεν έχει δεσµευτεί µνήµη για την αποθήκευση του αλφαριθµητικού 31
32 Παρατηρήσεις (ΙΙΙ) Οι scanf() και gets() δεν ελέγχουν αν υπάρχει διαθέσιµος χώρος για την αποθήκευση όλων των χαρακτήρων του αλφαριθµητικού Εποµένως, αν ο χρήστης εισάγει ένα αλφαριθµητικό που έχει περισσότερους χαρακτήρες από το µέγεθος της δεσµευµένης µνήµης, το πρόγραµµα θα έχει απρόβλεπτη συµπεριφορά Το λέµε και το ξαναλέµε λοιπόν: Μεγάλη προσοχή όταν χρησιµοποιείτε τις scanf() και gets() για να διαβάσετε αλφαριθµητικά. Δεν είναι ασφαλείς... 32
33 Παράδειγµα Ποια είναι η έξοδος του παρακάτω προγράµµατος αν ο χρήστης εισάγει το αλφαριθµητικό: You are a moonchild...??? Ποιοι είπατε: You a 20??? Και ποιοι λέτε: You 20??? Είπε κανείς: You are a moonchild (ίσως, µε πιθανότητα %) Προσοχή στην υπέρβαση ορίων της επιτρεπόµενης δεσµευµένης µνήµης όταν χρησιµοποιείτε τις συναρτήσεις scanf() και gets() 33
34 Διάβασµα αλφαριθµητικών µε µεγαλύτερη ασφάλεια (Ι) Όταν χρησιµοποιούµε τη συνάρτηση gets(), θεωρούµε, για λόγους απλότητας, ότι το µήκος του αλφαριθµητικού που διαβάζουµε από το πληκτρολόγιο είναι µέχρι ένα λογικό πλήθος χαρακτήρων (π.χ. 100) Ωστόσο, αν θέλετε να αισθάνεστε πιο ασφαλείς ότι δεν θα δηµιουργηθεί πρόβληµα στις δικές σας εφαρµογές µε το διάβασµα ενός αλφαριθµητικού από το πληκτρολόγιο, προτείνονται κι άλλες εναλλακτικές µέθοδοι, όπως: 1) Χρησιµοποιείστε τη συνάρτηση fgets(), η οποία είναι πιο ασφαλής από την gets()(περιγράφεται στο κεφάλαιο των αρχείων), γιατί καθορίζει το µέγιστο πλήθος των χαρακτήρων που θα αποθηκευτούν στον πίνακα, άρα αποφεύγεται η υπερχείλισή του Για το διάβασµα ενός αλφαριθµητικού από το πληκτρολόγιο, µπορείτε απλώς να αντικαταστήσετε την: gets(str) µε την: fgets(str, sizeof(str), stdin) (η παράµετρος stdin αναφέρεται στο πληκτρολόγιο) 34
35 Διάβασµα αλφαριθµητικών µε µεγαλύτερη ασφάλεια (ΙΙ) 2) Στη scanf() αντί για το προσδιοριστικό %s καλύτερα να χρησιµοποιείτε το %ns, όπου το n δηλώνει το µέγιστο πλήθος των χαρακτήρων που θα διαβαστούν 3) Το µέγεθος του πίνακα, στον οποίο θα αποθηκευτεί το αλφαριθµητικό, φροντίστε να είναι αρκετά µεγάλο, ώστε να «χωράει» σίγουρα το αλφαριθµητικό (π.χ. char str[5000]) 4) Μπορείτε χρησιµοποιώντας τη συνάρτηση malloc() να δεσµεύσετε δυναµικά πολλή µνήµη, η οποία να είστε σίγουροι ότι θα χωράει το αλφαριθµητικό (π.χ bytes), να αποθηκεύσετε το αλφαριθµητικό στη µνήµη αυτή και µετά, µε χρήση της συνάρτησης realloc(), να µικραίνετε το µέγεθός της και να το κάνετε ίσο µε το µήκος του αλφαριθµητικού Περισσότερες λεπτοµέρειες για τη malloc() και τη realloc() θα δείτε στη διάλεξη που αφορά τη διαχείριση µνήµης 35
36 Διάβασµα αλφαριθµητικών µε µεγαλύτερη ασφάλεια (ΙΙΙ) 5) Αν δεν σας καλύπτει τίποτα από τα προηγούµενα, τότε µπορείτε να... φτιάξετε έναν ατέρµονο while βρόχο, ο οποίος θα διαβάζει συνέχεια χαρακτήρες µε τη συνάρτηση getchar() µέχρι είτε συναντηθεί ο χαρακτήρας '\n' είτε επιστραφεί η τιµή EOF Οι χαρακτήρες θα αποθηκεύονται σε περιοχή της µνήµης που πρέπει να έχει δεσµευτεί δυναµικά µε τη συνάρτηση malloc() (π.χ. αρχικό µέγεθος µνήµης 3000 bytes) Όταν η δεσµευµένη αυτή µνήµη γεµίσει, τότε πρέπει να καλείτε τη συνάρτηση realloc() για να µεγαλώσετε το µέγεθός της (π.χ. την πρώτη φορά που θα γεµίσει το νέο µέγεθός της να γίνει 6000 bytes, την επόµενη 9000 bytes, κ.ο.κ, δηλαδή κάθε φορά που γεµίζει να προσθέτετε 3000 bytes) Φυσικά, όλοι οι παραπάνω τρόποι είναι σίγουρα πολύ ασφαλείς, αλλά ταυτόχρονα και «παρανοϊκοί» (ή τουλάχιστον περιττοί, για ένα µη-επαγγελµατικό πρόγραµµα ενός πρωτοετούς φοιτητή...), δηλ. στο πλαίσιο του µαθήµατος, δεν χρειάζεται να τους ακολουθήσετε... 36
37 Παραδείγµατα (Ι) Γράψτε ένα πρόγραµµα το οποίο να διαβάζει ένα αλφαριθµητικό (µέχρι 100 χαρακτήρες) και να εµφανίζει τον αριθµό των χαρακτήρων του χωρίς τη χρήση της συνάρτησης strlen() 37
38 Παραδείγµατα (ΙΙ) Ποια είναι η έξοδος του παρακάτω προγράµµατος??? Έξοδος: 99 ο 38
39 Παραδείγµατα (ΙΙΙ) Γράψτε ένα πρόγραµµα το οποίο να διαβάζει 10 φορές ένα αλφαριθµητικό (µέχρι 100 χαρακτήρες) και να εµφανίζει το πλήθος των πεζών και κεφαλαίων γραµµάτων που περιέχονται σε αυτό 39
40 Η συνάρτηση strlen() Η συνάρτηση strlen() δηλώνεται στο αρχείο string.h και επιστρέφει τον αριθµό των χαρακτήρων που περιέχει ένα αλφαριθµητικό, χωρίς να µετράει τον τερµατικό χαρακτήρα ('\0') Το όνοµά της προκύπτει από την έκφραση «string length» Η συνάρτηση strlen() δέχεται σαν παράµετρο έναν δείκτη προς τη µνήµη που είναι αποθηκευµένη το αλφαριθµητικό Το πρωτότυπό της δηλώνεται ως εξής: size_t strlen(const char *str); Ο δείκτης δηλώνεται ως const ώστε να µην µπορεί η strlen() να µεταβάλει το περιεχόµενο του αλφαριθµητικού Ο τύπος size_t είναι δηλωµένος στην C βιβλιοθήκη σαν απρόσηµος ακέραιος (συνήθως ως unsigned int) 40
41 Παραδείγµατα (Ι) Γράψτε ένα πρόγραµµα το οποίο να διαβάζει ένα αλφαριθµητικό µέχρι 100 χαρακτήρες και να εµφανίζει το πλήθος των χαρακτήρων του µε χρήση της συνάρτησης strlen() 41
42 Παραδείγµατα (ΙΙ) Γράψτε ένα πρόγραµµα το οποίο να διαβάζει ένα αλφαριθµητικό µέχρι 100 χαρακτήρες και να το εµφανίζει µόνο εάν οι δύο τελευταίοι χαρακτήρες του είναι ίσοι µε 'a' 42
43 Η συνάρτηση strcpy() Η συνάρτηση strcpy() δηλώνεται στο αρχείο string.h και χρησιµοποιείται για την αντιγραφή ενός αλφαριθµητικού σε µία άλλη θέση µνήµης (string copy) Η συνάρτηση strcpy() δέχεται σαν παραµέτρους δύο δείκτες και αντιγράφει το αλφαριθµητικό στο οποίο δείχνει ο δεύτερος δείκτης (source), συµπεριλαµβανοµένου του τερµατικού χαρακτήρα, στη µνήµη που δείχνει ο πρώτος δείκτης (dest) Το πρωτότυπό της δηλώνεται ως εξής: char *strcpy(char *dest, const char *source); Όταν αντιγραφεί και ο τερµατικός χαρακτήρας, η συνάρτηση strcpy() τερµατίζει και επιστρέφει τον δείκτη dest (δηλαδή δείχνει στη διεύθυνση µνήµης που δείχνει και ο δείκτης dest) Π.χ. η παρακάτω εντολή αντιγράφει το αλφαριθµητικό "something" στον πίνακα str char str[100]; strcpy(str, "something"); 43
44 Παρατηρήσεις Η strcpy() δεν ελέγχει αν η µνήµη - στην οποία θα αντιγραφεί το αλφαριθµητικό χωράει όλους τους χαρακτήρες του, οπότε πρέπει να έχετε εξασφαλίσει ότι το µέγεθός της θα είναι αρκετά µεγάλο, ώστε να αποφευχθεί η υπερεγγραφή µνήµης Με άλλα λόγια, να προσέχετε, ώστε το µέγεθος της µνήµης που έχει δεσµευτεί για το 1ο αλφαριθµητικό να είναι αρκετά µεγάλο για να χωράει όλους τους χαρακτήρες του 2ου αλφαριθµητικού Αν δεν είναι, τότε οι πλεονάζοντες χαρακτήρες θα εγγραφούν σε µη δεσµευµένη µνήµη, το οποίο µπορεί να προκαλέσει την δυσλειτουργία του προγράµµατος Π.χ. το επόµενο πρόγραµµα δεν θα εκτελεστεί σωστά (θα εµφανιστεί λάθος κατά την εκτέλεση του προγράµµατος), γιατί το µέγεθος του πίνακα str είναι µικρότερο από ότι θα έπρεπε char str[5]; strcpy(str, "something"); Πριν την αντιγραφή του αλφαριθµητικού πρέπει να έχει προηγηθεί η δέσµευση της αντίστοιχης µνήµης 44
45 Παραδείγµατα (Ι) Γράψτε ένα πρόγραµµα το οποίο να διαβάζει ένα αλφαριθµητικό µέχρι 100 χαρακτήρες και να το αντιγράφει σε έναν πίνακα χαρακτήρων µε χρήση της συνάρτησης strcpy() 45
46 Παραδείγµατα (ΙΙ) Ποια είναι η έξοδος του παρακάτω προγράµµατος??? Έξοδος: test 46
47 Η συνάρτηση strncpy() Η συνάρτηση strncpy() δηλώνεται στο αρχείο string.h και χρησιµοποιείται για την αντιγραφή ενός συγκεκριµένου πλήθους χαρακτήρων ενός αλφαριθµητικού σε µία άλλη θέση µνήµης (string copy n chars) Η συνάρτηση strncpy() είναι παρόµοια µε τη συνάρτηση strcpy() µε τη διαφορά ότι δέχεται µία επιπλέον παράµετρο, που είναι το πλήθος των χαρακτήρων που θα αντιγραφούν Το πρωτότυπό της δηλώνεται ως εξής: char *strncpy(char *dest,const char *source,size_t count); Εάν η τιµή της παραµέτρου count είναι µικρότερη από το πλήθος των χαρακτήρων του αλφαριθµητικού στο οποίο δείχνει ο source δείκτης, τότε δεν προστίθεται ο τερµατικός χαρακτήρας '\0' στο τέλος της µνήµης που δείχνει ο dest δείκτης Εάν είναι µεγαλύτερη, τότε προστίθενται τερµατικοί χαρακτήρες '\0' στο τέλος της µνήµης που δείχνει ο dest δείκτης µέχρι να συµπληρωθεί ο αριθµός count 47
48 Παράδειγµα Ποια είναι η έξοδος του παρακάτω προγράµµατος??? Έξοδος: New text Get 48
49 Η συνάρτηση strcat() Η συνάρτηση strcat() δηλώνεται στο αρχείο string.h και χρησιµοποιείται για τη συνένωση ενός αλφαριθµητικού µε ένα άλλο (string concatenate) Η συνάρτηση strcat() δέχεται σαν παραµέτρους δύο δείκτες και προσθέτει το αλφαριθµητικό στο οποίο δείχνει ο δείκτης source στο τέλος της µνήµης που δείχνει ο δείκτης dest Ο τερµατικός χαρακτήρας '\0' προστίθεται αυτόµατα στο τέλος του νέου αλφαριθµητικού Το πρωτότυπό της δηλώνεται ως εξής: char *strcat(char *dest, const char *source); Η συνάρτηση strcat() επιστρέφει τον δείκτη dest, ο οποίος δείχνει στη µνήµη που περιέχει τα ενωµένα αλφαριθµητικά 49
50 Παρατηρήσεις Να προσέχετε, ώστε το µέγεθος της µνήµης που έχει δεσµευτεί για το 1ο αλφαριθµητικό να είναι αρκετά µεγάλο για να χωράει το άθροισµα των χαρακτήρων του 1ου και 2ου αλφαριθµητικού Αν δεν είναι, τότε οι πλεονάζοντες χαρακτήρες θα εγγραφούν σε µνήµη µετά από το επιτρεπτό όριο, υπερεγγράφοντας τα δεδοµένα που υπάρχουν εκεί Ισχύει επίσης η αντίστοιχη παρατήρηση της συνάρτησης strcpy() για τη δέσµευση µνήµης πριν τη συνένωση αλφαριθµητικών, δηλαδή πριν την αντιγραφή του αλφαριθµητικού πρέπει να έχει προηγηθεί η δέσµευση της αντίστοιχης µνήµης 50
51 Παράδειγµα Γράψτε ένα πρόγραµµα το οποίο να διαβάζει δύο αλφαριθµητικά µέχρι 100 χαρακτήρες, να τα ενώνει σε ένα τρίτο αλφαριθµητικό µε χρήση της συνάρτησης strcat() και να το εµφανίζει στην οθόνη 51
52 Η συνάρτηση strcmp() Η συνάρτηση strcmp() δηλώνεται στο αρχείο string.h και χρησιµοποιείται για τη σύγκριση αλφαριθµητικών (string compare) Η συνάρτηση strcmp() δέχεται σαν παραµέτρους δύο δείκτες και συγκρίνει το αλφαριθµητικό στο οποίο δείχνει ο δείκτης str1 µε το αλφαριθµητικό στο οποίο δείχνει ο δείκτης str2 Το πρωτότυπό της δηλώνεται ως εξής: int strcmp(const char *str1, const char *str2); Αν τα δύο αλφαριθµητικά είναι ακριβώς ίδια, τότε η συνάρτηση strcmp() επιστρέφει την τιµή µηδέν (0) Αν το πρώτο αλφαριθµητικό είναι µικρότερο από το δεύτερο, τότε επιστρέφει µία αρνητική τιµή, ενώ αν είναι µεγαλύτερο επιστρέφει µία θετική τιµή 52
53 Η συνάρτηση strcmp() Ένα αλφαριθµητικό θεωρείται µικρότερο από κάποιο άλλο αν: α) η τιµή του πρώτου µη κοινού χαρακτήρα είναι µικρότερη από την τιµή του αντίστοιχου χαρακτήρα στο δεύτερο αλφαριθµητικό β) οι χαρακτήρες τους είναι οι ίδιοι, αλλά το µήκος του είναι µικρότερο Δείτε παρακάτω, θεωρώντας ότι η σύγκριση των αλφαριθµητικών βασίζεται στις ASCII τιµές που έχουν οι χαρακτήρες τους (θυµηθείτε ότι στον ASCII κώδικα τα κεφαλαία γράµµατα έχουν µικρότερη τιµή από τα αντίστοιχα πεζά) Εποµένως, η εντολή: επιστρέφει µία αρνητική τιµή, ενώ η εντολή: strcmp("one", "one"); strcmp("yes", "Yes"); επιστρέφει µία θετική τιµή, αντίστοιχα 53
54 Συνεχίζοντας, η εντολή: Η συνάρτηση strcmp() strcmp("w", "many"); επιστρέφει µία θετική τιµή (αφού η ASCII τιµή του πρώτου µη κοινού χαρακτήρα 'w' είναι µεγαλύτερη από την αντίστοιχη του 'm'), ενώ η εντολή: strcmp("some", "something"); επιστρέφει µία αρνητική τιµή, αντίστοιχα, διότι µπορεί οι πρώτοι τέσσερις χαρακτήρες των δύο αλφαριθµητικών να είναι ίδιοι, αλλά το µήκος του πρώτου αλφαριθµητικού είναι µικρότερο από το µήκος του δεύτερου 54
55 Η συνάρτηση strncmp() Η συνάρτηση strncmp() είναι παρόµοια µε τη strcmp(), δηλώνεται κι αυτή στο αρχείο string.h και χρησιµοποιείται για να συγκρίνει ένα συγκεκριµένο πλήθος χαρακτήρων (string compare n chars) Το πρωτότυπό της δηλώνεται ως εξής: int strncmp(const char *str1,const char *str2,int count); Η παράµετρος count δηλώνει το πλήθος των χαρακτήρων που θα συγκριθούν 55
56 Παράδειγµα Γράψτε ένα πρόγραµµα το οποίο το οποίο να διαβάζει δύο αλφαριθµητικά µέχρι 100 χαρακτήρες και να τα συγκρίνει µε χρήση της συνάρτησης strcmp(). Αν τα αλφαριθµητικά είναι διαφορετικά, να συγκρίνει τους 3 πρώτους χαρακτήρες τους µε χρήση της συνάρτησης strncmp() 56
57 Διδιάστατοι πίνακες και αλφαριθµητικά (I) Οι διδιάστατοι πίνακες χρησιµοποιούνται πολύ συχνά για την αποθήκευση αλφαριθµητικών Π.χ., µε την εντολή: char str[3][40]; δηλώνεται ο πίνακας str, ο οποίος περιέχει 3 γραµµές και σε κάθε γραµµή του πίνακα µπορεί να αποθηκευτεί ένα αλφαριθµητικό µέχρι 40 χαρακτήρες Μπορούµε να αποθηκεύσουµε κυριολεκτικά αλφαριθµητικά σε έναν διδιάστατο πίνακα ταυτόχρονα µε τη δήλωσή του Π.χ. µε τη δήλωση: char str[3][40] = {"One", "Two", "Three"}; οι χαρακτήρες του "One" αποθηκεύονται στην πρώτη γραµµή του πίνακα str, του "Two" στη δεύτερη και του "Three" στην τρίτη 57
58 Διδιάστατοι πίνακες και αλφαριθµητικά (II) Θυµηθείτε από την ενότητα των «Δεικτών» ότι µπορούµε να χειριστούµε το καθένα από τα N στοιχεία str[0], str[1],..., str[n-1] ενός διδιάστατου πίνακα, έστω str[n][m], σαν δείκτη σε πίνακα που περιέχει τα Μ στοιχεία της αντίστοιχης γραµµής. Άρα, στο προηγούµενο παράδειγµα, το str[0] µπορεί να χρησιµοποιηθεί σαν δείκτης σε έναν πίνακα 40 χαρακτήρων, ο οποίος περιέχει το αλφαριθµητικό "One", ενώ µε παρόµοιο τρόπο µπορούµε να χειριστούµε και τα στοιχεία str[1] και str[2] 58
59 Παράδειγµα Ποια είναι η έξοδος του παρακάτω προγράµµατος??? Έξοδος: Monday is No.1 week day Sunday is No.7 week day 59
Ανάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Αλφαριθμητικά και Αρχεία Αλφαριθμητικά (strings) Αρχεία (files) τα βασικά στοιχεία Αλφαριθμητικά της C Συμβολοσειρές (= ακολουθίες
ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C
ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C 1 Εισαγωγή Ο προγραμματισμός είναι μια διαδικασία επίλυσης προβλημάτων με χρήση Η/Υ. Ένα πρόγραμμα είναι ένα σύνολο εντολών κάποιας γλώσσας προγραμματισμού,
C: Από τη Θεωρία στην Εφαρμογή
Δρ. Γ. Σ. Τσελίκης Δρ. Ν. Δ. Τσελίκας C: Από τη Θεωρία στην Εφαρμογή Ενδεικτικές Ασκήσεις από το Βιβλίο C: Από τη Θεωρία στην Εφαρμογή (Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας) Ενδεικτικές Ασκήσεις του Βιβλίου Ε.Α.1
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αλφαριθμητικά Αλφαριθμητικά (strings) Ένα αλφαριθμητικό είναι μια ακολουθία αλφαβητικών
Ανάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα
Η ΓΛΩΣΣΑ C Η C είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε στις αρχές της δεκαετίας του 70 από τον Dennis Ritchie στα Bell Labs. Η σημερινή μορφή της γλώσσας ακολουθεί το πρότυπο
Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής.
Από το βιβλίο C: Βήµα-Πρός-Βήµα, Κεφάλαιο 3ο Συγγραφείς: Οµάδα Waite, Mitchell Waite και Stephen Prata Εκδότης: Μ. Γκιούρδας Ανατύπωση σε ηλεκτρονική µορφή: Αλέξανδρος Στεφανίδης 3.4 Τύποι εδοµένων τής
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Σύνολο χαρακτήρων της Pascal Για
Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client
ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις
Διάλεξη 18η: Διαχείρηση Αρχείων
Διάλεξη 18η: Διαχείρηση Αρχείων Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Αρχεία CS100, 2015-2016 1 / 24 Η βιβλιοθήκη Εισόδου/Εξόδου Στο stdioh
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η εβδομάδα. Κοζάνη, 2 Δεκεμβρίου 2008. Δίνονται παραδείγματα που αποσαφηνίζουν και συμπληρώνουν όσα αναφέρθηκαν στο μάθημα σχετικά με τις δομές
1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;
1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ενότητα 14 Δυναμική διαχείριση μνήμης Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Στατική δέσμευση μνήμης Με τη δήλωση απλών μεταβλητών
2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ
Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία
2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός
Σηµειώσεις στις σειρές
. ΟΡΙΣΜΟΙ - ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ Σηµειώσεις στις σειρές Στην Ενότητα αυτή παρουσιάζουµε τις βασικές-απαραίτητες έννοιες για την µελέτη των σειρών πραγµατικών αριθµών και των εφαρµογών τους. Έτσι, δίνονται συστηµατικά
7. Βασικά στοιχεία προγραµµατισµού.
7. Βασικά στοιχεία προγραµµατισµού. ΗΜ01-Θ1Γ Δίνονται οι παρακάτω έννοιες: 1. Λογικός τύπος δεδοµένων 2. Επιλύσιµο 3. Ακέραιος τύπος δεδοµένων 4. Περατότητα 5. Μεταβλητή 6. Ηµιδοµηµένο 7. Πραγµατικός τύπος
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας
Η Γλώσσα Προγραμματισμού C (Μέρος 3 - Συναρτήσεις, Πίνακες και Δείκτες) Εισαγωγή στις Συναρτήσεις
Η Γλώσσα Προγραμματισμού C (Μέρος 3 - Συναρτήσεις, Πίνακες και Δείκτες) Εισαγωγή στις Συναρτήσεις Η φιλοσοφία σχεδίασης της C βασίζεται στη χρήση των συναρτήσεων. Έχουμε ήδη δει και χρησιμοποιήσει πολλές
Κεφάλαιο 5ο: Εντολές Επανάληψης
Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες
Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών
Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση
Τύποι, Σταθερές και Μεταβλητές
ΚΕΦΑΛΑΙΟ 3 Τύποι, Σταθερές και Μεταβλητές Η έννοια της μεταβλητής Γενικά μπορούμε να πούμε ότι η έννοια της μεταβλητής στον προγραμματισμό είναι άμεσα συνδεδεμένη με την έννοια που αυτή έχει σε μαθηματικό
Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++
Email: liliadis@fmenr.duth.gr 1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Τα προγράµµατα αποτελούνται από εντολές οι οποίες γράφονται σε έναν απλό επεξεργαστή που προσφέρει και το Περιβάλλον της Visual C++. Οι εντολές
Αρχιτεκτονική Υπολογιστών Ι
Αρχιτεκτονική Υπολογιστών Ι Επιλεγμένες εντολές και συναρτήσεις assembly Από το βιβλίο Αρχιτεκτονική Υπολογιστών & Προγραμματισμός Assembly (Συγγραφέας / Εκδότης : Παναγιώτης Παπάζογλου) Δρ. Παναγιώτης
ιαχείριση Πληροφοριών στο ιαδίκτυο
ιαχείριση Πληροφοριών στο ιαδίκτυο Εργαστήριο (Φυλλάδιο 8) ΤΕΙ Καβάλας - Σχολή ιοίκησης & Οικονοµίας Τµήµα ιαχείρισης Πληροφοριών ιδάσκων: Μαρδύρης Βασίλειος, ιπλ. Ηλ. Μηχανικός & Μηχ. Υπολογιστών, MSc
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η
Διακριτά Μαθηματικά. Απαρίθμηση: Εισαγωγικά στοιχεία Αρχή του Περιστεριώνα
Διακριτά Μαθηματικά Απαρίθμηση: Εισαγωγικά στοιχεία Αρχή του Περιστεριώνα Συνδυαστική ανάλυση μελέτη της διάταξης αντικειμένων 17 ος αιώνας: συνδυαστικά ερωτήματα για τη μελέτη τυχερών παιχνιδιών Απαρίθμηση:
ΑΣΚΗΣΗ 5 η Η σειριακή επικοινωνία ΙΙ 1.1 ΣΚΟΠΟΣ Σκοπός της άσκησης αυτής είναι η κατανόηση σε βάθος των λειτουργιών που παρέχονται από το περιβάλλον LabView για τον χειρισµό της σειριακής επικοινωνίας
Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ
Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal
Αʹ. Πίνακες. Άσκηση 1. Λύση. Άσκηση 2. Λύση. Ασκήσεις Εργαστηρίου Προγραμματισμού
Αʹ. Πίνακες Άσκηση 1 Να γράψετε ένα πρόγραμμα στη γλώσσα προγραμματισμού C, το οποίο να δημιουργεί έναν πίνακα με το όνομα E, ο οποίος να έχει ακέραιο τύπο δεδομένων και 40 θέσεις. Στη συνέχεια να αναθέσετε
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C Ιανουάριος 2013 Τι είναι ένα πρόγραμμα; Πρόγραμμα είναι μία σειρά από οδηγίες που δίνουμε στον υπολογιστή προκειμένου αυτός να κάνει κάποια συγκεκριμένη εργασία Πώς
ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑ Ρ Μ Α ΜΑΤΙ Τ ΣΜΟΣ
Τμήμα Εφαρμοσμένης Πληροφορικής ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εξάμηνο Α' Φύλλο Ασκήσεων 3 ΔΟΜΕΣ ΕΠAΝΑΛΗΨΗΣ Διδάσκοντες: Μάγια Σατρατζέμη, Αλέξανδρος Χατζηγεωργίου, Ηλίας Σακελλαρίου, Στέλιος Ξυνόγαλος
Πρόλογος. if (παράσταση) εντολή1 else εντολή2. Από εδώ και πέρα θα αναφέρεται ως K&R.
Περιεχόμενα Πρόλογος v ΚΕΦΑΛΑΙΟ 1 Προπαρασκευαστική εισαγωγή 1 ΚΕΦΑΛΑΙΟ 2 Τύποι, τελεστές, και παραστάσεις 43 ΚΕΦΑΛΑΙΟ 3 Η ροή του ελέγχου 59 ΚΕΦΑΛΑΙΟ 4 Συναρτήσεις και δομή του προγράμματος 69 ΚΕΦΑΛΑΙΟ
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ενότητα 13 Αρχεία Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αρχεία Συλλογές δεδομένων Αποθηκεύονται στην περιφερειακή μνήμη π.χ. σκληρός
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου
Εισαγωγή στις Συναρτήσεις
Εισαγωγή στις Συναρτήσεις Η φιλοσοφία σχεδίασης της C βασίζεται στη χρήση των συναρτήσεων. Έχουμε ήδη δει και χρησιμοποιήσει πολλές συναρτήσεις που έχει το σύστημα, όπως είναι οι printf(), scanf(),αλλά
Pascal - Βασικές Έννοιες
Pasal - Βασικές Έννοιες «Ο ΠΗΛΟΣ ΑΝ ΜΗ ΑΡΗ ΚΕΡΑΜΟΣ ΟΥ ΓΙΝΕΤΑΙ» Σηµαίνει: «Η λάσπη αν δε ζυµωθεί δε γίνετε κεραµίδι» ηλαδή: «Χωρίς τη δοκιµασία της πρακτικής εξάσκησης δεν αποκτάς ικανότητα, πείρα». (Αρχαία
ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 (Α) Σημειώστε δίπλα σε κάθε πρόταση «Σ» ή «Λ» εφόσον είναι σωστή ή λανθασμένη αντίστοιχα. 1. Τα συντακτικά λάθη ενός προγράμματος
2. Στοιχεία Πολυδιάστατων Κατανοµών
Στοιχεία Πολυδιάστατων Κατανοµών Είναι φανερό ότι έως τώρα η µελέτη µας επικεντρώνεται κάθε φορά σε πιθανότητες που αφορούν µία τυχαία µεταβλητή Σε αρκετές όµως περιπτώσεις ενδιαφερόµαστε να εξετάσουµε
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (2009-2010) ΥΠΕΥΘΥΝΟΙ ΔΙΔΑΣΚΟΝΤΕΣ ΕΡΓΑΣΤΗΡΙΟΥ: Α. ΦΩΚΑ, K. ΣΤΑΜΟΣ
Μηχανές Πεπερασµένων Καταστάσεων
Μηχανές Επεξεργασίας Πληροφοριών Μηχανές Πεπερασµένων Καταστάσεων Είναι µηχανές που δέχονται ένα σύνολο από σήµατα εισόδου και παράγουν ένα αντίστοιχο σύνολο σηµάτων εξόδου Σήµατα Εισόδου Μηχανή Επεξεργασίας
ΚΕΦΑΛΑΙΟ 2 ΔΙΑΤΑΞΕΙΣ, ΜΕΤΑΘΕΣΕΙΣ, ΣΥΝΔΥΑΣΜΟΙ
ΚΕΦΑΛΑΙΟ ΔΙΑΤΑΞΕΙΣ ΜΕΤΑΘΕΣΕΙΣ ΣΥΝΔΥΑΣΜΟΙ Εισαγωγή. Οι σχηματισμοί που προκύπτουν με την επιλογή ενός συγκεκριμένου αριθμού στοιχείων από το ίδιο σύνολο καλούνται διατάξεις αν μας ενδιαφέρει η σειρά καταγραφή
ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ
Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση
Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας. Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit
Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit Το υλικό του οδηγού έχει αντικατασταθεί από το βιβλίο
Διάλεξη 6: Δείκτες και Πίνακες
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 6: Δείκτες και Πίνακες (Κεφάλαιο 12, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 6-1 Περιεχόμενο
Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΜΑΘΗΜΑ : ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ 4 ο ΕΞΑΜΗΝΟ Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο
Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II (Κεφάλαια 25.2, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132
2.3. Ασκήσεις σχ. βιβλίου σελίδας 100 104 Α ΟΜΑ ΑΣ
.3 Ασκήσεις σχ. βιβλίου σελίδας 00 04 Α ΟΜΑ ΑΣ. Έξι διαδοχικοί άρτιοι αριθµοί έχουν µέση τιµή. Να βρείτε τους αριθµούς και τη διάµεσό τους. Αν είναι ο ποιο µικρός άρτιος τότε οι ζητούµενοι αριθµοί θα είναι
ΠΛΗΡΟΦΟΡΙΚΗ Ι 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
ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ
1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 26 ΑΠΡΙΛΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ
ΑΣΚΗΣΗ 1. Structural Programming
ΑΣΚΗΣΗ 1 Structural Programming Στην άσκηση αυτή θα υλοποιήσετε σε C ένα απλό πρόγραµµα Βάσης εδοµένων το οποίο θα µπορούσε να χρησιµοποιηθεί από την γραµµατεία ενός πανεπιστηµίου για την αποθήκευση και
Το πλήθος των δεικτών και οι µεγαλύτερες τιµές που µπορούν να πάρουν ορίζεται µε µία δηλωτική εντολή που λέγεται Dimension.
Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 6ο: Πίνακες Στο κεφάλαιο αυτό θα ασχοληθούµε µε µια από πιο ενδιαφέρουσες δοµές δεδοµένων, τους πίνακες. Οι πίνακες είναι σύνθετες
ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:
ΠΡΟΓΡΜΜΑΤΑ ΣΕ C Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: int b_to_d(int dyad[16]) που δέχεται ως είσοδο έναν θετικό ακέραιο δυαδικό αριθμό με τη μορφή πίνακα δυαδικών ψηφίων και επιστρέφει τον
ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C
ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον
Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 3
Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου ιδασκοντες: Ν Μαρµαρίδης - Α Μπεληγιάννης Βοηθος Ασκησεων: Χ Ψαρουδάκης Ιστοσελιδα Μαθηµατος : http://wwwmathuoigr/ abeligia/linearalgebrai/laihtml
Ανάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε
ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης
ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.
Δυαδικό Σύστημα Αρίθμησης
Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,
ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ. Mε την εντολή αυτή μπορούμε να δημιουργήσουμε έναν καινούριον υποκατάλογο.
ΟΙ ΕΝΤΟΛΕΣ ΣΤΟ MS DOS ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ ΕΝΤΟΛΗ md Mε την εντολή αυτή μπορούμε να δημιουργήσουμε έναν καινούριον υποκατάλογο. Η σύνταξη της εντολής είναι ως εξής: md π.χ. md class1 md
Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;
ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη
10 Α2. 5 Α3. (ΟΧΙ = 20-4*2^2)) H (X>Ψ ΚΑΙ X > Ψ
Α Π Α Ν Τ Η Σ Ε Ι Σ Θ Ε Μ Α Τ Ω Ν Π Α Ν Ε Λ Λ Α Δ Ι Κ Ω Ν Ε Ξ Ε Τ Α Σ Ε Ω Ν 2 0 1 4 Α Ν Α Π Τ Υ Ξ Η Ε Φ Α Ρ Μ Ο Γ Ω Ν Σ Ε Π Ρ Ο Γ Ρ Α Μ Μ Α Τ Ι Σ Τ Ι Κ Ο Π Ε Ρ Ι Β Α Λ Λ Ο Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η Σ Κ Α
Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών
Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών TINΑ ΒΡΕΝΤΖΟΥ www.ma8eno.gr www.ma8eno.gr Σελίδα 1 Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών Στους πραγματικούς αριθμούς ορίστηκαν οι
3 Αλληλεπίδραση Αντικειμένων
Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή
3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση-
Μάθηµα 3 Προχωρηµένες ιδιότητες πεδίων Μάσκες εισαγωγής Οι ιδιότητες Μορφή και Μάσκα εισαγωγής περιγράφονται µαζί γιατί έχουν κοινά χαρακτηριστικά που αφορούν την εµφάνιση. Με την ιδιότητα Μορφή καθορίζουµε
Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)
Αντικείμενα (Objects) στην Java Αντικείμενα στη Java Παύλος Εφραιμίδης Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας μηνύματα το ένα στο άλλο
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στην FORTRAN Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Fortran FORmula TRANslation: (Μία από τις πρώτες γλώσσες τρίτης γενιάς) Εκδόσεις FORTRAN (1957) FORTRAN II (1958) FORTRAN III
Σενάριο 17: Παιχνίδι μνήμης με εικόνες
Σενάριο 17: Παιχνίδι μνήμης με εικόνες Φύλλο Εργασίας Τίτλος: Παιχνίδι μνήμης με εικόνες Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω, Συνθετικές
5.1 Θεωρητική εισαγωγή
ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 5 ΚΩ ΙΚΟΠΟΙΗΣΗ BCD Σκοπός: Η κατανόηση της µετατροπής ενός τύπου δυαδικής πληροφορίας σε άλλον (κωδικοποίηση/αποκωδικοποίηση) µε τη µελέτη της κωδικοποίησης BCD
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Τελικές εξετάσεις 3 Ιανουαρίου 27 Διάρκεια εξέτασης: 3 ώρες (2:-5:) ΘΕΜΑ ο
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου.
2.1 Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου. 1) Η τιμή του χ είναι,χ Ητιμή του χ είναι 5 Ηεντολή εμφανίζει ότι υπάρχει στα διπλά εισαγωγικά ως έχει.
10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.
1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.
µηδενικό πολυώνυµο; Τι ονοµάζουµε βαθµό του πολυωνύµου; Πότε δύο πολυώνυµα είναι ίσα;
ΘΕΩΡΙΑ ΠΟΛΥΩΝΥΜΩΝ 1. Τι ονοµάζουµε µονώνυµο Μονώνυµο ονοµάζεται κάθε γινόµενο το οποίο αποτελείται από γνωστούς και αγνώστους (µεταβλητές ) πραγµατικούς αριθµούς. Ο γνωστός πραγµατικός αριθµός ονοµάζεται
ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ
ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις
2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008
Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 27 Μαρτίου 2013 Περίληψη Σκοπός της παρούσας εργασίας είναι η εξοικείωσή σας με τις θεμελιώδεις θεωρητικές και πρακτικές πτυχές
Φυσικοί αριθμοί - Διάταξη φυσικών αριθμών - Στρογγυλοποίηση
Φυσικοί αριθμοί - Διάταξη φυσικών αριθμών - Στρογγυλοποίηση TINΑ ΒΡΕΝΤΖΟΥ www.ma8eno.gr Βρέντζου Τίνα Φυσικός Μεταπτυχιακός τίτλος: «Σπουδές στην εκπαίδευση» ΜEd Email : stvrentzou@gmail.com 2 Φυσικοί
Pascal Βασικοί τύποι δεδοµένων
Pasal Βασικοί τύποι δεδοµένων «ΜΗ ΕΝ ΠΟΛΛΟΙΣ ΟΛΙΓΑ ΛΕΓΕ, ΑΛΛ ΕΝ ΟΛΙΓΟΙΣ ΠΟΛΛΑ» Σηµαίνει: "Μη λες πολλά χωρίς ουσία, αλλά λίγα που να αξίζουν πολλά" (Πυθαγόρας) Κουλλάς Χρίστος www.oullas.om oullas 2 Στόχοι
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ Γ ΛΥΚΕΙΟΥ - 02/05/2014 ΘΕΜΑ Α Α1. Έστω ο παρακάτω αλγόριθμος ταξινόμησης: Για κ από.. μέχρι 19 Για λ από 19 μέχρι κ με_βήμα -1
ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ
ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΑΡΑΣΚΕΥΗ 6 ΙΟΥΝΙΟΥ 2014 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ
1ο. Η αριθµητική του υπολογιστή
1ο. Η αριθµητική του υπολογιστή 1.1 Τί είναι Αριθµητική Ανάλυση Υπάρχουν πολλά προβλήµατα στη µαθηµατική επιστήµη για τα οποία δεν υπάρχουν αναλυτικές εκφράσεις λύσεων. Στις περιπτώσεις αυτές έχουν αναπτυχθεί
ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ
ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Συναρτήσεις Κατακερματισμού και Πιστοποίηση Μηνύματος Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
Visual Basic Βασικές Έννοιες
Visual Basi Βασικές Έννοιες «Είδα στον ύπνο µου ότι η ζωή είναι χαρά. Ξύπνησα και είδα ότι είναι χρέος. Αγωνίστηκα και είδα ότι τo χρέος είναι χαρά.» Ραµπριτανάθ Ταγκόρ Κουλλάς Χρίστος www.oullas.om oullas
Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;
Κεφάλαιο 2 Εισαγωγή Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Η Logo είναι μία από τις πολλές γλώσσες προγραμματισμού. Κάθε γλώσσα προγραμματισμού έχει σκοπό τη δημιουργία προγραμμάτων
ΙΑΝΥΣΜΑΤΑ ΘΕΩΡΙΑ ΘΕΜΑΤΑ ΘΕΩΡΙΑΣ. Τι ονοµάζουµε διάνυσµα; αλφάβητου επιγραµµισµένα µε βέλος. για παράδειγµα, Τι ονοµάζουµε µέτρο διανύσµατος;
ΙΝΥΣΜΤ ΘΕΩΡΙ ΘΕΜΤ ΘΕΩΡΙΣ Τι ονοµάζουµε διάνυσµα; AB A (αρχή) B (πέρας) Στη Γεωµετρία το διάνυσµα ορίζεται ως ένα προσανατολισµένο ευθύγραµµο τµήµα, δηλαδή ως ένα ευθύγραµµο τµήµα του οποίου τα άκρα θεωρούνται
Υπολογιστικά Συστήματα
Υπολογιστικά Συστήματα Ενότητα 6: Ασκήσεις στη Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Óõíåéñìüò ΕΚΦΩΝΗΣΕΙΣ
1 ΘΕΜΑ 1 o Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στην κόλλα σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1 5 και δίπλα τη λέξη
ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ
ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών
Τεχνικός Εφαρμογών Πληροφορικής
Τεχνικός Εφαρμογών Πληροφορικής ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΠΙΝΑΚΕΣ Εξάμηνο: 2014Β Διδάσκουσα: Ηλεκτρονική Τάξη: Κανελλοπούλου Χριστίνα_ΠΕ19 Πληροφορικής Περιεχόμενα Πίνακες Τι είναι πίνακας; Οι πίνακες χρησιμοποιούνται
Γραµµική Άλγεβρα. Εισαγωγικά. Μέθοδος Απαλοιφής του Gauss
Γραµµική Άλγεβρα Εισαγωγικά Υπάρχουν δύο βασικά αριθµητικά προβλήµατα στη Γραµµική Άλγεβρα. Το πρώτο είναι η λύση γραµµικών συστηµάτων Aλγεβρικών εξισώσεων και το δεύτερο είναι η εύρεση των ιδιοτιµών και
Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015
Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015 Βάλβης Δημήτριος Μηχανικός Πληροφορικής ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...
public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);
Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας
ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ. ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java
ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java 1 ο & 2 o ΕΠΙΠΕΔΟ Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 1/20 Απρίλιος 2011 Γλωσσών Προγραμματισμού
Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.
1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα