Δείκτες στην C (επανάληψη)
|
|
- Λίγεια Φωτόπουλος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Δείκτες στην C (επανάληψη) Γλώσσα C & Unix Τμήμα Πληροφορικής, ΑΠΘ B εξάμηνο lpis.csd.auth.gr/curriculum/c+unix/uncl202.html
2 Εισαγωγή Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Συνήθως αυτή η διεύθυνση ανήκει σε κάποια άλλη μεταβλητή. Η 1η μεταβλητή «δείχνει» την 2η μεταβλητή. 2
3 Μια μεταβλητή δείχνει σε κάποια άλλη Διεύθυνση Μνήμης Περιεχόμε να 'a'
4 Δήλωση Δείκτη Οι δείκτες πρέπει να δηλώνονται πριν χρησιμοποιηθούν. Η δήλωση ενός δείκτη αποτελείται από το σύμβολο * και το όνομά του: τύπος *όνομα Ο τύπος του δείκτη καθορίζει το είδος των μεταβλητών στο οποίο μπορεί να δείχνει. Π.χ. int *ip Αυτό που δείχνει η ip είναι ακέραιος Η έκφραση *ip είναι τύπου int 4
5 Τελεστές Δεικτών & και * Τελεστής & Μοναδιαίος τελεστής (μόνο ένας τελεστέος) Επιστρέφει τη διεύθυνση μνήμης του τελεστέου Η διεύθυνση μνήμης της μεταβλητής. Τελεστής * Συμπληρωματικός του & Μοναδιαίος τελεστής Επιστρέφει την τιμή της μεταβλητής που είναι αποθηκευμένη στη διεύθυνση μνήμης του τελεστέου Η τιμή στην διεύθυνση μνήμης.... 5
6 Παράδειγμα Τελεστών Δεικτών void main(void) { int q, count, *m; count= 100; m = &count q = *m; Ο δείκτης m περιέχει τη διεύθυνση μνήμης της count. Καθορίζει τη θέση της τιμής της count μέσα στην μνήμη Όχι την ίδια την τιμή της count Η μεταβλητή q θα περιέχει την τιμή της μεταβλητής count (100) 6
7 Απόδοση τιμής σε δείκτες Οι δείκτες μπορούν να χρησιμοποιηθούν τόσο στο δεξιό όσο και στο αριστερό μέλος μιας εντολής απόδοσης. #include <stdio.h> void main(void) { int x; int *p1, *p2; Οι δείκτες p1, p2 περιέχουν τη διεύθυνση της μεταβλητής x p1 = &x; p2 = p1; printf( Διεύθυνση p1:%p και p2:%p,p1,p2); 7
8 Αριθμητική δεικτών Επιτρέπονται μόνο 2 αριθμητικές πράξεις: πρόσθεση, αφαίρεση Έστω ο δείκτης p1 με τιμή 2000 Δείχνει στη διεύθυνση μνήμης 2000 Οι ακέραιοι καταλαμβάνουν 4 bytes. Αν γράψουμε p1++, τότε το περιεχόμενο του p1 γίνεται 2004, όχι 2001! Κάθε φορά που αυξάνεται ο p1, δείχνει στον επόμενο ακέραιο. Το ίδιο ισχύει και για τις μειώσεις. Π.χ. p1 - κάνει την τιμή του δείκτη να έχει τιμή Γενικά, κάθε φορά που ένας δείκτης: Αυξάνεται κατά 1 δείχνει στην θέση μνήμης του επόμενου στοιχείου του βασικού του τύπου. Μειώνεται κατά 1 δείχνει στην θέση μνήμης του προηγούμενου στοιχείου του βασικού του τύπου. 8
9 Αριθμητική δεικτών - Παράδειγμα #include <stdio.h> void main() { int x, *p1; p1 is (after ++) p1 is (after --) p1 is x = 5; p1 = &x; printf("p1 is %d\n",p1); p1++; printf("(after ++) p1 is %d\n",p1); p1--; printf("(after --) p1 is %d\n",p1); getchar(); 9
10 Αριθμητική δεικτών p = p + 9 Ο δείκτης p δείχνει στο 9ο στοιχείο του βασικού τύπου του δείκτη που ακολουθεί από το σημείο στο οποίο έδειχνε. Αφαίρεση ενός δείκτη από έναν άλλο. Συνήθως έχει νόημα όταν οι 2 δείκτες αναφέρονται σε κάποιο κοινό αντικείμενο (π.χ. σε πίνακα) Η αφαίρεση δίνει ως αποτέλεσμα τον αριθμό των στοιχείων μεταξύ των δύο τιμών των δεικτών. Σύγκριση δεικτών Π.χ. p < q Τα p, q αναφέρονται σε πίνακα 10
11 Αριθμητική δεικτών Δεν επιτρέπονται: Πρόσθεση δεικτών Πρόσθεση-αφαίρεση πραγματικών αριθμών από δείκτες 11
12 Δείκτες και Πέρασμα Παραμέτρων σε Συναρτήσεις Όταν καλούμε μια συνάρτηση από το κυρίως πρόγραμμα με μεταβλητές ως παραμέτρους, τότε αντιγράφεται η τιμή τους μέσα στην συνάρτηση Δεν μπορούμε να αλλάξουμε τις ίδιες τις μεταβλητές που περιείχαν τις τιμές αυτές. Αυτό το είδος κλήσης συνάρτησης ονομάζεται κλήση με τιμή. 12
13 Παράδειγμα swap Κλήση με τιμή void swap1(int x, int y) { int temp; temp = x; x = y; y = temp; Η συνάρτηση swap1 δέχεται ως παραμέτρους 2 ακέραιες τιμές και τις αντιμεταθέτει. Αυτό όμως γίνεται τοπικά μέσα στην συνάρτηση και δεν έχει νόημα έξω από αυτήν, αφού όπως έχουμε πει, οι τυπικές παράμετροι μιας συνάρτησης έχουν εμβέλεια μέσα στην ίδια την συνάρτηση. 13
14 Κλήση με αναφορά Με τη χρήση των δεικτών μπορούμε να περνάμε σε μια συνάρτηση τις διευθύνσεις μνήμης των μεταβλητών αντί για τις ίδιες τις μεταβλητές. Έτσι μπορούμε να αλλάξουμε το περιεχόμενο της διεύθυνσης μνήμης που μας δίνεται σαν παράμετρος και με αυτόν τον τρόπο να αλλάξει η τιμή της μεταβλητής που δόθηκε ως παράμετρος. Αυτό το είδος περάσματος παραμέτρων σε μια συνάρτηση λέγεται κλήση με αναφορά. 14
15 Παράδειγμα swap Κλήση με αναφορά void swap2(int *x, int *y) { int temp; temp = *x; *x = *y; *y = temp; Αφού τελειώσει η συνάρτηση οι αλλαγές των τιμών των μεταβλητών θα διατηρηθούν, επειδή έγιναν πάνω στις ίδιες τις μεταβλητές και όχι σε ένα αντίγραφο τους, όπως στην κλήση με τιμή. Η συνάρτηση swap2 αντιμεταθέτει τις τιμές που περιέχονται στις διευθύνσεις μνήμης που της δίνονται ως παράμετροι. 15
16 Κυρίως πρόγραμμα #include <stdio.h> void swap(int *x, int *y); void main (void) { int a, b; a = 10; b = 20; swap1(a, b); printf( swap 1-a:%d,b:%d,a,b); swap2(&a,&b); printf( \nswap 2-a:%d,b:%d,a,b); Κατά την κλήση με τιμή δίνονται οι τιμές των μεταβλητών. Κατά την κλήση με αναφορά θα πρέπει να δοθούν οι διευθύνσεις των μεταβλητών, των οποίων οι τιμές θέλουμε να αλλάξουν. 16
17 Δείκτες και Πίνακες Η σχέση μεταξύ πινάκων και δεικτών είναι πολύ στενή. Το όνομα ενός πίνακα είναι στην ουσία ένας δείκτης στο 1ο στοιχείο του πίνακα. Π.χ. πίνακας χαρακτήρων p[10] Η διεύθυνση μνήμης του πρώτου στοιχείου του μπορεί να δοθεί είτε ως &p[0], είτε ως p. Η έκφραση (p == &p[0]) είναι αληθής. 17
18 Δείκτες και Πίνακες Τα στοιχεία των πινάκων είναι ίδιου τύπου και αποθηκεύονται συνεχόμενα στη μνήμη του υπολογιστή. Μπορούμε να χρησιμοποιούμε με ισοδύναμο τρόπο τις εκφράσεις &p[i] και p+i p[i] και *(p+i) int *p, i[10]; p = i; p[5] = 100; *(p+5) = 100; Ισοδύναμες εκφράσεις 18
19 Διαχείριση στοιχείων πίνακα Η C παρέχει 2 μεθόδους για τη διαχείριση στοιχείων πινάκων. Μέσω της αριθμητικής δεικτών Μέσω του αύξοντα αριθμού των στοιχείων του πίνακα Πότε θα πρέπει να χρησιμοποιείται η μία μέθοδος και πότε η άλλη; Κριτήριο για την επιλογή αποτελεί η ταχύτητα λειτουργίας του προγράμματος. 19
20 Διαχείριση στοιχείων πίνακα Όταν τα στοιχεία του πίνακα προσπελαύνονται αυστηρώς σειριακά (αύξουσα-φθίνουσα σειρά), τότε η χρήση αριθμητικής δεικτών είναι πιο γρήγορη Όταν τα στοιχεία του πίνακα προσπελαύνονται τυχαία, τότε η χρήση του αύξοντος αριθμού στοιχείου στον πίνακα έχει την ίδια απόδοση με την χρήση αριθμητικής δεικτών Κοστίζει περίπου τον ίδιο χρόνο με τον υπολογισμό μιας σύνθετης έκφρασης με δείκτη. 20
21 Παράδειγμα - Εκτύπωση string for (t= 0; s[t]!= '\0'; t++) putch(s[t]); while (*s!= \0 ) putch(*s++); Η 2η υλοποίηση είναι πιο γρήγορη και στην πραγματικότητα έτσι υλοποιούνται τέτοιου είδους συναρτήσεις. 21
22 Πέρασμα Πινάκων σε Συναρτήσεις Στη C δεν γίνεται να περαστούν τα περιεχόμενα ενός ολόκληρου πίνακα ως παράμετρος σε μια συνάρτηση. Αυτό που μπορεί να περαστεί στη συνάρτηση είναι η διεύθυνση μνήμης του πρώτου στοιχείου του πίνακα Το όνομά του. Δίνουμε το όνομα του πίνακα ως παράμετρο κατά την κλήση μιας συνάρτησης. 22
23 Πέρασμα Πινάκων σε Συναρτήσεις Παράδειγμα void main(void) { int p[10];... func(p); Περνάμε ως παράμετρο στην συνάρτηση func την διεύθυνση του πρώτου στοιχείου του πίνακα p. 23
24 Ορισμός τυπικής παραμέτρου πίνακα Η συνάρτηση που δέχεται τον πίνακα ως παράμετρο μπορεί να τον δηλώσει ως δείκτη πίνακα με μέγεθος πίνακα χωρίς μέγεθος 24
25 Ορισμός τυπικής παραμέτρου πίνακα - Παράδειγμα void func1(int *a) {.. void func3(int a[]) {.... void func2(int a[10]) {... Όλοι οι τρόποι κωδικοποίησης της συνάρτησης είναι αποδεκτοί Λένε στον compiler, ότι η συνάρτηση περιμένει μια διεύθυνση μνήμης προς ακέραιο αριθμό 25
26 Πέρασμα Πινάκων σε Συναρτήσεις Αφού περνάμε μια διεύθυνση μνήμης σαν παράμετρο σε μια συνάρτηση, σημαίνει ότι κάνουμε κλήση με αναφορά. Αν αλλάξουμε το περιεχόμενο των στοιχείων αυτού του πίνακα μέσα στην συνάρτηση, οι αλλαγές θα είναι μόνιμες. Η συνάρτηση δεν μπορεί να ξέρει το μέγεθος του πίνακα. Δέχεται μόνο τη διεύθυνση του 1ου στοιχείου του πίνακα. Πρέπει εμείς να περνάμε ως παράμετρο και το μέγεθος του πίνακα. 26
27 Πέρασμα Πινάκων σε Συναρτήσεις - Παράδειγμα void reverse(int *pinakas, int mikos) { int i,temp; for (i = 0; i < (mikos / 2); i++) { temp = pinakas[i]; pinakas[i] = pinakas[mikos-1-i]; pinakas[mikos-1-i] = temp; Περνάμε ως παράμετρο στη reverse τη διεύθυνση και το μέγεθος ενός πίνακα αριθμών και αντιστρέφει τα στοιχεία του void main(void) { int i, a[] = {1,2,3,4,5; int size = sizeof(a)/sizeof(a[0]); reverse(a,size); for (i = 0; i < size; i++) printf( %2d,a[i]); Τελικά θα τυπωθούν τα στοιχεία του πίνακα με την ανάποδη σειρά. 27
28 Προβλήματα με Δείκτες Όταν ένας δείκτης περιέχει λάθος τιμή, είναι ένα από τα δυσκολότερα λάθη για να εντοπιστεί Το πρόβλημα είναι ότι κάθε φορά που διαβάζεται ή γράφεται η περιοχή μνήμης που δείχνει, αυτό γίνεται σε μια άγνωστη περιοχή της μνήμης. Στην ανάγνωση το κακό είναι μικρό, αφού απλά διαβάζονται σκουπίδια. Στην εγγραφή, μπορεί να «καταστρέφονται» (γράφοντας από πάνω) άλλα τμήματα του κώδικα ή των μεταβλητών. Αυτό μπορεί να εμφανιστεί σαν λάθος κατά την εκτέλεση του προγράμματος αργότερα από το σημείο που γίνεται. Έτσι μπορεί να αναζητείται το πρόβλημα σε λάθος σημείο, αφού τίποτα δεν θα υποδεικνύει ότι το πρόβλημα είναι στον δείκτη. 28
29 Λάθος μη-αρχικοποίησης void main(void) { int x, *p; Χρήση ενός δείκτη που δεν έχει αρχικοποιηθεί. x = 10; *p = x; Αναθέτουμε την τιμή 10 σε μια άγνωστη θέση στη μνήμη, αφού ο δείκτης p, δεν έχει αρχικοποιηθεί σε κάποια θέση μνήμης 29
30 Λάθος ανάθεσης void main(void) { int x, *p; x = 10; p = x; Κατά λάθος ανάθεση σε ένα δείκτη μιας τιμής, αντί μίας διεύθυνσης μνήμης 30
31 Πίνακες Δεικτών Παράδειγμα Ταξινόμηση μιας ομάδας γραμμών κειμένου με αλφαβητική σειρά Απλουστευμένη εκδοχή της sort του Unix Οι γραμμές κειμένου έχουν διαφορετικά μήκη μεταξύ τους Δεν μπορούν να συγκριθούν ή να μεταφερθούν με μία μόνο ενέργεια 31
32 Ταξινόμηση γραμμών κειμένου Οι γραμμές που πρέπει να ταξινομηθούν είναι αποθηκευμένες «κολλητά» η μία μετά την άλλη σε έναν μεγάλο πίνακα χαρακτήρων Κάθε γραμμή μπορεί να προσπελαστεί με ένα δείκτη στον πρώτο χαρακτήρα της Οι δείκτες αποθηκεύονται σε πίνακα Αντί να εναλλαχθούν οι γραμμές κειμένου, εναλλάσσονται οι δείκτες του πίνακα 32
33 Ταξινόμηση γραμμών κειμένου Πλεονεκτήματα: Δεν υπάρχει περίπλοκη διαχείριση της μνήμης Δε χρονοτριβεί το πρόγραμμα από την μετακίνηση των γραμμών Διαδικασία: Διάβασε όλες τις γραμμές εισόδου Ταξινόμησέ τις Τύπωσέ τις ταξινομημένες 33
34 Κύριο Πρόγραμμα #include <stdio.h> #include <string.h> #define MAXLINES 5000 // Μέγιστος αριθμός γραμμών char *lineptr[maxlines]; // Πίνακας δεικτών σε γραμμές main() { int nlines; // Αριθμός διαβασμένων γραμμών if ((nlines = readlines(lineptr, MAXLINES)) >= 0) { sort(lineptr, nlines); Ταξινόμησε writelines(lineptr, nlines); τις return 0; Τύπωσε γραμμές Διάβασε τις τις γραμμές else { printf("error: input too big to sort\n"); return 1; 34
35 Συνάρτηση ανάγνωσης γραμμών readlines #define MAXLEN 1000 // Μέγιστο μήκος γραμμής int readlines(char *lineptr[], int maxlines) { int len, nlines; Διαβάζει γραμμή char *p, line[maxlen]; nlines = 0; while ((len = getline(line, MAXLEN)) > 0) if (nlines >= maxlines p = alloc(len) == NULL) return -1; Σταματάει σε μηδενική γραμμή else { Σβήνει το newline line[len-1] = '\0'; Αντιγράφει την γραμμή strcpy(p,line); στο χώρο που δεσμεύθηκε lineptr[nlines++] = p; Δέσμευσε Εάν πολλές χώρο γραμμές στη μνήμη Βάλε τον για pointer επέστρεψε την γραμμή στον πίνακα error return nlines; Πάνε στην Εάν επόμενη δεν χωράει θέση/γραμμή επέστρεψε Επέστρεψε τον αριθμό γραμμών που error διαβάστηκαν 35
36 Συνάρτηση ανάγνωσης 1 γραμμής getline // Διαβάζει γραμμή στο s, Επιστρέφει μήκος γραμμής int getline(char s[],int lim) { int c, i; for (i=0; i<lim-1 && (c=getchar())!=eof && c! ='\n'; s[i] = c; if (c == '\n') { s[i] = c; ++i; s[i] = '\0'; return i; 36 ++i) Διαβάζει χαρακτήρα Τερματισμός string και Σταματάει επιστροφή στο μήκους τέλος αρχείου (CTRL-Z), Το ENTER συμπεριλαμβάνεται στο ENTER και σε μεγάλη στο string γραμμή
37 Συνάρτηση δέσμευσης μνήμης alloc #define ALLOCSIZE // διαθέσιμη μνήμη static char allocbuf[allocsize]; // αποθήκη // επόμενη ελεύθερη θέση static char *allocp = allocbuf; // επιστροφή δείκτη σε n χαρακτήρες char *alloc(int n) { if (allocbuf+allocsize-allocp>=n) { allocp += n; Επόμενη ελεύθερη θέση return allocp - n; Επέστρεψε τον παλιό δείκτη else return 0; Χωράει? Δεν υπάρχει χώρος Επέστρεψε 0 37
38 Πώς δουλεύει η alloc 38
39 Συνάρτηση εκτύπωσης γραμμών writelines void writelines(char *lineptr[], int nlines) { int i; for (i = 0; i < nlines; i++) Εναλλακτικά printf("%s\n", lineptr[i]); void writelines(char *lineptr[], int nlines) { while (nlines-- > 0) printf("%s\n", *lineptr++); Τυπώνεται το 1ο string που δείχνει ο πίνακας και μετά πάει στον επόμενο δείκτη/string Η nlines μειώνεται Σταματάμε όταν φτάσει στο 0 39
40 Ταξινόμηση με επιλογή select sort Ξεκινάμε από το 1ο στοιχείο του πίνακα (εξωτερικός βρόχος) Το συγκρίνουμε με όλα τα υπόλοιπα (εσωτερικός βρόχος) Αν κάποιο είναι μικρότερο, το αντικαθιστά στην 1η θέση Η διαδικασία συνεχίζεται (εσωτερικός βρόχος) για όλα τα στοιχεία του πίνακα Όταν τελειώσει ο εσωτερικός βρόχος η 1η θέση έχει το μικρότερο στοιχείο Συνεχίζουμε την ίδια διαδικασία από τη θέση 2 (εξωτερικός βρόχος), κ.ο.κ. Στο τέλος όλα τα στοιχεία έχουν μπει στην σωστή σειρά 40
41 Συνάρτηση ταξινόμησης γραμμών με επιλογή (select sort) void sort(char *v[], int n) { int i, j; for(i = 0; i < n - 1; i++) for(j = i + 1; j < n; j++) if (strcmp(v[i],v[j]) > 0) swap(v, i, j); 41
42 Ανταλλαγή δυο στοιχείων (δεικτών) του πίνακα void swap(char *v[], int i, int j) { char *temp; temp = v[i]; v[i] = v[j]; v[j] = temp; Κάθε στοιχείο του πίνακα είναι δείκτης σε χαρακτήρα (string) 42
43 Άσκηση 5.7 Ξαναγράψτε την readlines ώστε να αποθηκεύει τις γραμμές σε ένα πίνακα που δίνεται από την main, αντί να καλεί την alloc για να της παραχωρεί μνήμη. Σε τι διαφέρει από το προηγούμενο πρόγραμμα? 43
44 Εναλλακτική readlines char lines[maxlines][maxlen]; main() {... Πίνακας 2 διαστάσεων if ((nlines = readlines2(lines, MAXLINES)) >= 0) {... int readlines2(char lines[][maxlen], int maxlines) { int len, nlines = 0; while ((len = getline(lines[nlines], MAXLEN)) > 0) if (nlines >= maxlines) return -1; else { lineptr[nlines] = lines[nlines]; lines[nlines++][len - 1] = '\0'; return nlines; Σύνδεση με τον πίνακα 44δεικτών Ανάγνωση κατευθείαν στη σωστή θέση
45 Διαφορές των 2 προγραμμάτων Το 2ο πρόγραμμα είναι ταχύτερο γιατί δεν χρησιμοποιεί την strcpy για να αντιγράψει τη γραμμή που διαβάστηκε στον ενιαίο χώρο στη μνήμη που δεσμεύει η alloc Το 2ο πρόγραμμα σπαταλάει πολύ μνήμη γιατί ο πίνακας 2 διαστάσεων καταλαμβάνει πάντα τον ίδιο χώρο στη μνήμη, άσχετα με το αν οι γραμμές τον χρησιμοποιούν ή όχι 45
46 Σπατάλη χώρου μνήμης h e l l o \0 w o r l d \0 T h i s i s \0 a n \0 e x a m l e \
47 Οικονομία χώρου μνήμης h e l l o \0 w o r l d \0 T h i s i s \
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΔιάλεξη 11η: Δείκτες, μέρος 1
Διάλεξη 11η: Δείκτες, μέρος 1 Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Pointers I CS100, 2016-2017
Διαβάστε περισσότεραΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 7ο Τμήμα Διοίκησης Επιχειρήσεων Παλαιό ΕΠΔΟ α εξάμηνο Β. Φερεντίνος Δείκτες (Pointers) (1) 142 Κάθε μεταβλητή, εκτός από την τιμή της, έχει και μία συγκεκριμένη διεύθυνση
Διαβάστε περισσότεραΔιάλεξη 6: Δείκτες και Πίνακες
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 6: Δείκτες και Πίνακες (Κεφάλαιο 12, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 6-1 Περιεχόμενο
Διαβάστε περισσότεραΑνάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large)
Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συναρτήσεις Εξωτερικές µεταβλητές Κανόνες εµβέλειας ιάρκεια µεταβλητών Αρχικοποίηση
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας
Διαβάστε περισσότεραΔείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8
Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως
Διαβάστε περισσότεραΕισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C
Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Διαβάστε περισσότεραΠίνακες. 1 Πίνακες. 30 Μαρτίου 2014
Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε
Διαβάστε περισσότεραΕπανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ
Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 3: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αριθμητική Δεικτών Δείκτες και Πίνακες Παραδείγματα Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 13 Πίνακες & Συναρτήσεις Εισαγωγή Στις προηγούμενες
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραΔείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8
Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος
Διαβάστε περισσότεραείκτες και Πίνακες (2)
είκτες και Πίνακες (2) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πολυδιάστατοι πίνακες Πέρασµα παραµέτρων σε προγράµµατα C ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1-1 Πίνακες εικτών Πίνακας δεικτών είναι
Διαβάστε περισσότεραΒαθμός Σχόλια. lab6 PASS PASS. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string.
Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 1242 1243 - Πολύ καλή δουλειά κατά τα άλλα, µπράβο. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string.h
Διαβάστε περισσότεραΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες
Σκοπός της Άσκησης ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση των δεικτών (pointers). Οι δείκτες δίνουν την δυνατότητα σε προγράμματα να προσομοιώνουν τη
Διαβάστε περισσότερα5ο σετ σημειώσεων - Δείκτες
5ο σετ σημειώσεων - Δείκτες 11 Ιουνίου 01 1 Γενικά Σύμφωνα με το γενικό μοντέλο υπολογιστή, ένας υπολογιστής είναι μία μηχανή που διαθέτει μία κεντρική μονάδα επεξεργασίας η οποία μπορεί μεταξύ άλλων να
Διαβάστε περισσότεραΑ. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότερα3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις
3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα
Διαβάστε περισσότεραΔιάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες
Στόχοι και αντικείμενο ενότητας Ο τύπος του Πίνακα (βλ. ενότητα #2α) Ορισμός και αρχικοποίηση Αποθήκευση πινάκων στη μνήμη Πολυδιάστατοι πίνακες #6. Πίνακες και Δείκτες Ο τύπος του Δείκτη Η έννοια του
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Παρατηρήσεις
Διαβάστε περισσότεραΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β
ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β 1. (10 μον.) Απαντήστε σωστό ή λάθος στις παρακάτω ερωτήσεις (αʹ) _2togo είναι έγκυρο όνομα μεταβλητής (βʹ) Αν p είναι δείκτης στο πρώτο στοιχείο
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
Εισαγωγή στον Προγραµµατισµό Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Συναρτήσεις 19.11.16 Β. Ντουφεξή 2 Προβλήματα: Οσο μεγαλώνουν τα προγράμματα, γίνονται πιο πολύπλοκα.
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο
Διαβάστε περισσότεραΔιάλεξη 5: Δείκτες και Συναρτήσεις
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 5: Δείκτες και Συναρτήσεις (Κεφάλαιο 11, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 5-1 Περιεχόμενο
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου
Διαβάστε περισσότεραΚεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)
Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή
Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές
Διαβάστε περισσότεραΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή
ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή παράσταση_1 = Παράσταση Αρχικοποίησης παράσταση_2 = Παράσταση Ελέγχου Επανάληψης παράσταση_3 = Παράσταση Ενημέρωσης
Διαβάστε περισσότεραΠίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"
Πίνακες: μια σύντομη εισαγωγή Πίνακες χαρακτήρων: τα "Αλφαριθμητικά" Πίνακες(Arrays): έννοιες και ορισμοί Ορισμός: Πίνακας (array) = σύνολο μεταβλητών του ιδίου τύπου (int, float, char,...) με ένα κοινό
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αλφαριθμητικά Αλφαριθμητικά (strings) Ένα αλφαριθμητικό είναι μια ακολουθία αλφαβητικών
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δείκτες Τι είναι ένας δείκτης (pointer); Όταν δηλώνoυμε μια μεταβλητή σε ένα πρόγραμμα
Διαβάστε περισσότεραΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ Εμβέλεια Μεταβλητών Εμβέλεια Μεταβλητής Οι μεταβλητές που έχουμε δει μέχρι τώρα είναι
Διαβάστε περισσότεραΔιάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1
Διάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1 Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μνήμη I CS100,
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 2:Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)- Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγικές Έννοιες σε Strings(Αρχικοποίηση, Ανάγνωση & Εκτύπωση) Πίνακες από Strings
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΗ βασική συνάρτηση προγράμματος main()
Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα
Διαβάστε περισσότεραΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 4ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Συναρτήσεις (functions) 56 Τεμαχισμός του προγράμματος σε μικρότερα κομμάτια που είναι πιο κατανοητά, πιο εύκολα
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Δείκτες (pointers) και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Αριθμητική Δεικτών - Δείκτες και Πίνακες - Παραδείγματα Διδάσκων: Παναγιώτης
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 4: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Πίνακες Δεικτών, Παραδείγματα, Πολυδιάστατοι πίνακες Πέρασμα παραμέτρων σε προγράμματα C Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες:
Διαβάστε περισσότεραΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δείκτες και Συναρτήσεις (Κεφάλαιο 11, KNK-2ED)
ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δείκτες και Συναρτήσεις (Κεφάλαιο 11, KNK-2ED) Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου http://www.cs.ucy.ac.cy/courses/epl232 Το μάθημα αυτό δομήθηκε βάση
Διαβάστε περισσότεραΟρισμός μεταβλητών δεικτών και αρχικοποίηση
Ορισμός μεταβλητών δεικτών και αρχικοποίηση Η έννοια του δείκτη Κάθε μεταβλητή σχετίζεται με μια θέση στην κύρια μνήμη του Η/Υ η οποία έχει τη δική της ξεχωριστή διεύθυνση Ο δείκτης είναι μια μεταβλητή
Διαβάστε περισσότεραΠρογραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα
Διαβάστε περισσότεραscanf() scanf() stdin scanf() printf() int float double %lf float
Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση
Διαβάστε περισσότεραC: Από τη Θεωρία στην Εφαρμογή
Δρ. Γ. Σ. Τσελίκης Δρ. Ν. Δ. Τσελίκας C: Από τη Θεωρία στην Εφαρμογή Ενδεικτικές Ασκήσεις από το Βιβλίο C: Από τη Θεωρία στην Εφαρμογή (Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας) Ενδεικτικές Ασκήσεις του Βιβλίου Ε.Α.1
Διαβάστε περισσότεραint array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι
Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι
Διαβάστε περισσότεραΗβασικήσυνάρτηση προγράμματος main()
Ηβασικήσυνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Ησυνάρτησηείναι ένα υποπρόγραμμα που
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 3: Είσοδος / Έξοδος, Βασικοί Τύποι, Δήλωση Μεταβλητών Ένα Ακόμα Παράδειγμα #include int main(int argc, char* argv[]) { } putchar('h'); putchar('e'); putchar('l');
Διαβάστε περισσότεραΚεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C
Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Διαβάστε περισσότεραΔομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 3 Επανάληψη Γ μέρος 1. Στόχος του εργαστηρίου Στόχος του τρίτου εργαστηρίου είναι
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Αλφαριθμητικά θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 14 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)
Διαβάστε περισσότεραΛύσεις για τις ασκήσεις του lab5
Εισαγωγή Λύσεις για τις ασκήσεις του lab5 Επειδή φάνηκε να υπάρχουν αρκετά προβλήματα σχετικά με τον τρόπο σκέψης για την επίλυση των προβλημάτων του lab5, θα συνοδεύσουμε τις λύσεις με αρκετές επεξηγήσεις,
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι δείκτες στη C Η έννοια του δείκτη Την έννοια του δείκτη τη συναντήσαμε σε προηγούμενα μαθήματα. Η συνάρτηση scanf(), καταχωρίζει τιμές σε μεταβλητές χρησιμοποιώντας τον τελεστή
Διαβάστε περισσότεραΔιάλεξη 5η: Εντολές Επανάληψης
Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016
Διαβάστε περισσότεραΓλώσσα Προγραμματισμού C
Προγραμματισμός HY: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Δομές Δεδομένων
Διαβάστε περισσότεραSheet2 Α.Μ FAIL. οριακό PASS. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h
Α.Μ. 1375 FAIL 1413 1417 1420 1421 FAIL 1422 FAIL 1424 1425 FAIL 1426 FAIL - Πρώτα να ελέγχετε αν η malloc επέστρεψε NULL και µετά να προσπαθείτε να προσπελάσετε τη δεσµευµένη µνήµη - Όταν διαβάζετε string
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων
Διαβάστε περισσότεραΚεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 8.7 Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 17-1 Εισαγωγή Στις προηγούµενες διαλέξεις µάθαµε πώς να δηλώνουµε, αρχικοποιούµε και να επεξεργαζόµαστε πίνακες. Σήµερα θα µελετήσουµε
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Μεταβλητές-Σταθερές-Παράμετροι Τα στοιχεία
Διαβάστε περισσότεραΤεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C
Τεχνολογία και Προγραμματισμός Υπολογιστών Η γλώσσα προγραμματισμού C Με μια ματιά Τύπος Πίνακα Μεταβλητές με ενδείκτη Αλφαριθμητικά - Πίνακες Δισδιάστατος Πολυδιάστατος Πίνακας 2 2 Τύπος Πίνακα Σύνθετος
Διαβάστε περισσότεραΕπανάληψη για τις Τελικές εξετάσεις
Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 8: Πίνακες, Αλφαριθμητικά Πίνακες Ο πίνακας είναι μια ειδική δομή για την αποθήκευση μιας σειράς από δεδομένα του ίδιου τύπου. Η δήλωση ενός πίνακα γίνεται όπως για μια
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Διαβάστε περισσότεραΕισαγωγή στις Συναρτήσεις
Εισαγωγή στις Συναρτήσεις Η φιλοσοφία σχεδίασης της C βασίζεται στη χρήση των συναρτήσεων. Έχουμε ήδη δει και χρησιμοποιήσει πολλές συναρτήσεις που έχει το σύστημα, όπως είναι οι printf(), scanf(),αλλά
Διαβάστε περισσότεραΕργαστήριο 1: Επανάληψη Βασικών Εννοιών στη Γλώσσα C
Εργαστήριο 1: Επανάληψη Βασικών Εννοιών στη Γλώσσα C Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Συναρτήσεις - Εξωτερικές μεταβλητές - Κανόνες εμβέλειας - Διάρκεια
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2
Διαβάστε περισσότεραΗ πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης
Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται
Διαβάστε περισσότεραΚεφάλαιο Πίνακες Ι. (Διάλεξη 16)
Κεφάλαιο 8.1-8.3 Πίνακες Ι (Διάλεξη 16) 15-1 Πίνακες (Arrays) Σε αυτή την ενότητα θα μιλήσουμε για την δομή δεδομένων Πίνακας: 1. Εισαγωγή & Σύνταξη 2. Δήλωση Πίνακα 3. Αρχικοποίηση Πίνακα 4. Πρόσβαση
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 12 Πολυδιάστατοι Πίνακες Πολυδιάστατοι πίνακες
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 12: Συναρτήσεις & Δείκτες Αλλαγή του «εξωτερικού» περιβάλλοντος Αν σαν παράμετρος μιας συνάρτησης δοθεί μια μεταβλητή, σαν πραγματική παράμετρος θα περαστεί η τιμή της.
Διαβάστε περισσότεραΓλώσσες Προγραμματισμού
Γλώσσες Προγραμματισμού Διδάσκων: Ανδρέας Παπασαλούρος Ιστοσελίδα: http://www.samos.aegean.gr/math/andpapas/courses/pl/default.htm Πλατφόρμα ηλεκτρονικής μάθησης: http://myria.math.aegean.gr/moodle/ Πλατφόρμα
Διαβάστε περισσότεραΠρογραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής
ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός
Διαβάστε περισσότεραΕπεξεργασία Αρχείων Κειµένου
Επεξεργασία Αρχείων Κειµένου Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αρχεία Κειµένου Γενικά Συναρτήσεις Επεξεργασίας Αρχείων Κειµένου ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Αρχεία Γενικά
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΚεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ερωτήσεις Επανάληψης
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ερωτήσεις Επανάληψης Α. Ερωτήσεις Στο τέλος δίνονται υποδείξεις για την απάντηση μερικών ερωτήσεων. 01 Ερώτηση: Στις παρακάτω εντολές τι πρόβλημα υπάρχει;
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε
Διαβάστε περισσότεραΗλεκτρονικοί Υπολογιστές
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 9: Πίνακες στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΔιάλεξη 8η: Αλφαριθμητικά (strings)
Διάλεξη 8η: Αλφαριθμητικά (strings) Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) strings CS100, 2016-2017
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις (Functions) Οι βασικές λειτουργικές ενότητες ενός προγράμματος C Καλούνται με ορίσματα που αντιστοιχούνται σε
Διαβάστε περισσότεραΚεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (
Διαβάστε περισσότεραΤμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος
Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Μονοδιάστατοι Πίνακες (tables) Μια συλλογή μεταβλητών ίδιου τύπου οι οποίες είναι αποθηκευμένες
Διαβάστε περισσότεραΕισαγωγή στον δομημένο προγραμματισμό
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 7 η : Δείκτες Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών
Διαβάστε περισσότεραΕργαστήριο 9: Αρχεία
Εργαστήριο 9: Αρχεία Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αρχεία, Είσοδος/Έξοδος από/προς αρχεία - Δυαδικά αρχεία - Παραδείγματα ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ.
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 11 Πίνακες Ι Πίνακες (Arrays) Σε αυτή την ενότητα
Διαβάστε περισσότεραΔιάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Εισαγωγικές Έννοιες σε Strings - Πίνακες από Strings - Συναρτήσεις
Διαβάστε περισσότερα