Διάλεξη 9η: Πίνακες (arrays)

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

Download "Διάλεξη 9η: Πίνακες (arrays)"

Transcript

1 Διάλεξη 9η: Πίνακες (arrays) Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Arrays CS100, / 17

2 Εισαγωγή Έστω ότι θέλουμε να αποθηκεύσουμε 100 ονόματα φοιτητών και τους βαθμούς τους Πως θα το κάναμε αυτό με μεταβλητές; Πως θα μπορούσαμε να πούμε με αυτό το τρόπο ταξινόμησε τους βαθμούς και τύπωσε τους ; Πως θα μπορούσαμε να πούμε τύπωσε μόνο εκείνους που πέρασαν το μάθημα ; ΛΥΣΗ: Πίνακες Συλλογή μεταβλητών ίδιου τύπου Σταθερό μέγεθος Ν στοιχεία: από 0 έως N-1 Στη C η αρίθμηση ξεκινάει από το 0 Πρατικάκης (CSD) Arrays CS100, / 17

3 Πίνακες Πίνακας Σύνολο από συνεχόμενες θέσεις μνήμης Όλες οι θέσεις περιέχουν δεδομένα του ίδιου τύπου Δήλωση πίνακα Γενική μορφή type array_name[position_number]; Ένα στοιχείο του πίνακα προσδιορίζεται από Το όνομα του πίνακα Τη θέση του στοιχείου μέσα στον πίνακα Έκφραση που αναφέρεται σε πίνακα Γενική μορφή array_name[position_number] Πρατικάκης (CSD) Arrays CS100, / 17

4 Πίνακες Πίνακας Σύνολο από συνεχόμενες θέσεις μνήμης Όλες οι θέσεις περιέχουν δεδομένα του ίδιου τύπου Δήλωση πίνακα Ο τύπος δεδομένων του κάθε Γενική μορφή στοιχείου του πίνακα type array_name[position_number]; Ένα στοιχείο του πίνακα προσδιορίζεται από Το όνομα του πίνακα Τη θέση του στοιχείου μέσα στον πίνακα Έκφραση που αναφέρεται σε πίνακα Γενική μορφή array_name[position_number] Πρατικάκης (CSD) Arrays CS100, / 17

5 Πίνακες Πίνακας Σύνολο από συνεχόμενες θέσεις μνήμης Όλες οι θέσεις περιέχουν δεδομένα του ίδιου τύπου Δήλωση πίνακα Γενική μορφή Το όνομα του πίνακα type array_name[position_number]; Ένα στοιχείο του πίνακα προσδιορίζεται από Το όνομα του πίνακα Τη θέση του στοιχείου μέσα στον πίνακα Έκφραση που αναφέρεται σε πίνακα Γενική μορφή array_name[position_number] Πρατικάκης (CSD) Arrays CS100, / 17

6 Πίνακες Πίνακας Σύνολο από συνεχόμενες θέσεις μνήμης Όλες οι θέσεις περιέχουν δεδομένα του ίδιου τύπου Δήλωση πίνακα Ο αριθμός στοιχείων (ή Γενική μορφή μήκος) του πίνακα type array_name[position_number]; Ένα στοιχείο του πίνακα προσδιορίζεται από Το όνομα του πίνακα Τη θέση του στοιχείου μέσα στον πίνακα Έκφραση που αναφέρεται σε πίνακα Γενική μορφή array_name[position_number] Πρατικάκης (CSD) Arrays CS100, / 17

7 Πίνακες Πίνακας Σύνολο από συνεχόμενες θέσεις μνήμης Όλες οι θέσεις περιέχουν δεδομένα του ίδιου τύπου Δήλωση πίνακα Γενική μορφή type array_name[position_number]; Ένα στοιχείο του πίνακα προσδιορίζεται από Το όνομα του πίνακα Τη θέση του στοιχείου μέσα στον πίνακα Έκφραση που αναφέρεται σε πίνακα Γενική μορφή array_name[position_number] Πρατικάκης (CSD) Arrays CS100, / 17

8 Πίνακες Πίνακας Σύνολο από συνεχόμενες θέσεις μνήμης Όλες οι θέσεις περιέχουν δεδομένα του ίδιου τύπου Δήλωση πίνακα Γενική μορφή type array_name[position_number]; Ένα στοιχείο του πίνακα προσδιορίζεται από Το όνομα του πίνακα Τη θέση του στοιχείου μέσα στον πίνακα Έκφραση που αναφέρεται σε πίνακα Γενική μορφή Το όνομα του πίνακα array_name[position_number] Πρατικάκης (CSD) Arrays CS100, / 17

9 Πίνακες Πίνακας Σύνολο από συνεχόμενες θέσεις μνήμης Όλες οι θέσεις περιέχουν δεδομένα του ίδιου τύπου Δήλωση πίνακα Γενική μορφή type array_name[position_number]; Ένα στοιχείο του πίνακα προσδιορίζεται από Το όνομα του πίνακα Τη θέση του στοιχείου μέσα στον πίνακα Έκφραση που αναφέρεται σε πίνακα Ο δείκτης θέσης (index) Γενική μορφή του στοιχείου array_name[position_number] Πρατικάκης (CSD) Arrays CS100, / 17

10 Πίνακες (2) Αρίθμηση των στοιχείων Πρώτο στοιχείο στο δείκτη θέσης (index) 0 Για πίνακα μεγέθους N, τελευταίο στοιχείο στη θέση N - 1 c[0], c[1],, c[n 1] Δήλωση πολλών πινάκων ίδιου τύπου Όπως και οι μεταβλητές int b[100], x[27]; Τα στοιχεία του πίνακα χρησιμοποιούνται σαν συνηθισμένες μεταβλητές c[0] = 3; if (x[0] == 3) { printf( %d, c[0]); Μπορούμε να κάνουμε πράξεις μέσα στο δείκτη c[5-2] == c[rand() % 42] c[n - i - 1] = c[i] Εμφωλιασμένοι δείκτες: c[c[c[1]]] Προσοχή: Ο δείκτης πίνακα (index) είναι πάντα ακέραιος c[i] μόνο άν int i; Πρατικάκης (CSD) Arrays CS100, / 17

11 Υπολογισμός στοιχείου πίνακα Η αναφορά σε πίνακα είναι έκφραση στη C array_name[expression] Πρώτα υπολογίζεται η τιμή του expression Η τιμή του expression πρέπει να είναι ακέραια (int) Η τιμή ολόκληρης της έκφρασης array_name[expression] είναι το στοιχείο του πίνακα array_name που αντιστοιχεί στην συγκεκριμένη θέση που δίνεται από το expression ο τύπος ολόκληρης της έκφρασης είναι ο τύπος των στοιχείων του πίνακα Παράδειγμα double array[100]; int i, x = 5; for (i = 0; i < 100; ++i) { scanf( %lf, &(array[i])); i = (int) (array[10 * x]); Πρατικάκης (CSD) Arrays CS100, / 17

12 Υπολογισμός στοιχείου πίνακα Η αναφορά σε πίνακα είναι έκφραση στη C array_name[expression] Πρώτα υπολογίζεται η τιμή του expression Η τιμή του expression πρέπει να είναι ακέραια (int) Η τιμή ολόκληρης της έκφρασης array_name[expression] είναι το στοιχείο του πίνακα array_name που αντιστοιχεί στην συγκεκριμένη θέση που δίνεται από το expression ο τύπος ολόκληρης της έκφρασης είναι ο τύπος των στοιχείων του πίνακα Παράδειγμα double array[100]; int i, x = 5; for (i = 0; i < 100; ++i) { scanf( %lf, &(array[i])); i = (int) (array[10 * x]); Το i παίρνει τιμές από 0 έως 99 Πρατικάκης (CSD) Arrays CS100, / 17

13 Υπολογισμός στοιχείου πίνακα Η αναφορά σε πίνακα είναι έκφραση στη C array_name[expression] Πρώτα υπολογίζεται η τιμή του expression Η τιμή του expression πρέπει να είναι ακέραια (int) Η τιμή ολόκληρης της έκφρασης array_name[expression] είναι το στοιχείο του πίνακα array_name που αντιστοιχεί στην συγκεκριμένη θέση που δίνεται από το expression ο τύπος ολόκληρης της έκφρασης είναι ο τύπος των στοιχείων του πίνακα Παράδειγμα double array[100]; int i, x = 5; for (i = 0; i < 100; ++i) { scanf( %lf, &(array[i])); i = (int) (array[10 * x]); Το array[i] είναι το i-οστό στοιχείο του πίνακα Πρατικάκης (CSD) Arrays CS100, / 17

14 Υπολογισμός στοιχείου πίνακα Η αναφορά σε πίνακα είναι έκφραση στη C array_name[expression] Πρώτα υπολογίζεται η τιμή του expression Η τιμή του expression πρέπει να είναι ακέραια (int) Η τιμή ολόκληρης της έκφρασης array_name[expression] είναι το στοιχείο του πίνακα array_name που αντιστοιχεί στην συγκεκριμένη θέση που δίνεται από το expression ο τύπος ολόκληρης της έκφρασης είναι ο τύπος των στοιχείων του πίνακα Παράδειγμα double array[100]; int i, x = 5; for (i = 0; i < 100; ++i) { scanf( %lf, &(array[i])); i = (int) (array[10 * x]); Το &(array[i]) είναι η διεύθυνση του i-οστού στοιχείου του πίνακα Πρατικάκης (CSD) Arrays CS100, / 17

15 Υπολογισμός στοιχείου πίνακα Η αναφορά σε πίνακα είναι έκφραση στη C array_name[expression] Πρώτα υπολογίζεται η τιμή του expression Η τιμή του expression πρέπει να είναι ακέραια (int) Η τιμή ολόκληρης της έκφρασης array_name[expression] είναι το στοιχείο του πίνακα array_name που αντιστοιχεί στην συγκεκριμένη θέση που δίνεται από το expression ο τύπος ολόκληρης της έκφρασης είναι ο τύπος των στοιχείων του πίνακα Παράδειγμα double array[100]; int i, x = 5; for (i = 0; i < 100; ++i) { scanf( %lf, &(array[i])); i = (int) (array[10 * x]); Το x είναι 5 Πρατικάκης (CSD) Arrays CS100, / 17

16 Υπολογισμός στοιχείου πίνακα Η αναφορά σε πίνακα είναι έκφραση στη C array_name[expression] Πρώτα υπολογίζεται η τιμή του expression Η τιμή του expression πρέπει να είναι ακέραια (int) Η τιμή ολόκληρης της έκφρασης array_name[expression] είναι το στοιχείο του πίνακα array_name που αντιστοιχεί στην συγκεκριμένη θέση που δίνεται από το expression ο τύπος ολόκληρης της έκφρασης είναι ο τύπος των στοιχείων του πίνακα Παράδειγμα double array[100]; int i, x = 5; for (i = 0; i < 100; ++i) { scanf( %lf, &(array[i])); i = (int) (array[10 * x]); Το 10 * x είναι έκφραση που πολλαπλασιάζει 2 ακέραιους Πρατικάκης (CSD) Arrays CS100, / 17

17 Υπολογισμός στοιχείου πίνακα Η αναφορά σε πίνακα είναι έκφραση στη C array_name[expression] Πρώτα υπολογίζεται η τιμή του expression Η τιμή του expression πρέπει να είναι ακέραια (int) Η τιμή ολόκληρης της έκφρασης array_name[expression] είναι το στοιχείο του πίνακα array_name που αντιστοιχεί στην συγκεκριμένη θέση που δίνεται από το expression ο τύπος ολόκληρης της έκφρασης είναι ο τύπος των στοιχείων του πίνακα Παράδειγμα double array[100]; int i, x = 5; for (i = 0; i < 100; ++i) { scanf( %lf, &(array[i])); i = (int) (array[10 * x]); Το 10 * x είναι ακέραια έκφραση που όταν υπολογιστεί θα δώσει τιμή 50 Πρατικάκης (CSD) Arrays CS100, / 17

18 Υπολογισμός στοιχείου πίνακα Η αναφορά σε πίνακα είναι έκφραση στη C array_name[expression] Πρώτα υπολογίζεται η τιμή του expression Η τιμή του expression πρέπει να είναι ακέραια (int) Η τιμή ολόκληρης της έκφρασης array_name[expression] είναι το στοιχείο του πίνακα array_name που αντιστοιχεί στην συγκεκριμένη θέση που δίνεται από το expression ο τύπος ολόκληρης της έκφρασης είναι ο τύπος των στοιχείων του πίνακα Παράδειγμα double array[100]; int i, x = 5; for (i = 0; i < 100; ++i) { scanf( %lf, &(array[i])); i = (int) (array[10 * x]); Το array[10 * x] είναι σωστή έκφραση που έχει τύπο double και θα δώσει τιμή ίση με τα περιεχόμενα του 50-στού στοιχείου Πρατικάκης (CSD) Arrays CS100, / 17

19 Υπολογισμός στοιχείου πίνακα Η αναφορά σε πίνακα είναι έκφραση στη C array_name[expression] Πρώτα υπολογίζεται η τιμή του expression Η τιμή του expression πρέπει να είναι ακέραια (int) Η τιμή ολόκληρης της έκφρασης array_name[expression] είναι το στοιχείο του πίνακα array_name που αντιστοιχεί στην συγκεκριμένη θέση που δίνεται από το expression ο τύπος ολόκληρης της έκφρασης είναι ο τύπος των στοιχείων του πίνακα Παράδειγμα double array[100]; int i, x = 5; for (i = 0; i < 100; ++i) { scanf( %lf, &(array[i])); i = (int) (array[10 * x]); Η τιμή αυτή θα μετατραπεί σε ακέραιο και θα αποθηκευτεί στο i Πρατικάκης (CSD) Arrays CS100, / 17

20 Δήλωση πινάκων Όταν δηλώνουμε πίνακες ως μεταβλητές καθορίζουμε: Τύπο Όνομα Αριθμό στοιχείων Παραδείγματα int c[30]; float myarray[31337]; Όταν δηλώνουμε πίνακες ως ορίσματα στον ορισμό συναρτήσεων καθορίζουμε: Όνομα Τύπο int myfunction(int c[]){ Όταν δηλώνουμε πίνακες ως ορίσματα στη δήλωση συναρτήσεων καθορίζουμε: Τύπο int myfunction(int []); Πρατικάκης (CSD) Arrays CS100, / 17

21 Δήλωση πινάκων Όταν δηλώνουμε πίνακες ως μεταβλητές καθορίζουμε: Τύπο Όνομα Αριθμό στοιχείων Παραδείγματα int c[30]; float myarray[31337]; Το c είναι πίνακας 30 ακεραίων Όταν δηλώνουμε πίνακες ως ορίσματα στον ορισμό συναρτήσεων καθορίζουμε: Όνομα Τύπο int myfunction(int c[]){ Όταν δηλώνουμε πίνακες ως ορίσματα στη δήλωση συναρτήσεων καθορίζουμε: Τύπο int myfunction(int []); Πρατικάκης (CSD) Arrays CS100, / 17

22 Δήλωση πινάκων Όταν δηλώνουμε πίνακες ως μεταβλητές καθορίζουμε: Τύπο Όνομα Αριθμό στοιχείων Παραδείγματα int c[30]; float myarray[31337]; Το myarray είναι πίνακας αριθμών κινητής υποδιαστολής Όταν δηλώνουμε πίνακες ως ορίσματα στον ορισμό συναρτήσεων καθορίζουμε: Όνομα Τύπο int myfunction(int c[]){ Όταν δηλώνουμε πίνακες ως ορίσματα στη δήλωση συναρτήσεων καθορίζουμε: Τύπο int myfunction(int []); Πρατικάκης (CSD) Arrays CS100, / 17

23 Δήλωση πινάκων Όταν δηλώνουμε πίνακες ως μεταβλητές καθορίζουμε: Τύπο Όνομα Αριθμό στοιχείων Παραδείγματα int c[30]; float myarray[31337]; Όταν δηλώνουμε πίνακες ως ορίσματα στον ορισμό συναρτήσεων καθορίζουμε: Όνομα Τύπο int myfunction(int c[]){ Όταν δηλώνουμε πίνακες ως ορίσματα στη δήλωση συναρτήσεων καθορίζουμε: Τύπο int myfunction(int []); Πρατικάκης (CSD) Arrays CS100, / 17

24 Δήλωση πινάκων Όταν δηλώνουμε πίνακες ως μεταβλητές καθορίζουμε: Τύπο Όνομα Αριθμό στοιχείων Παραδείγματα int c[30]; float myarray[31337]; Όταν δηλώνουμε πίνακες ως ορίσματα στον ορισμό συναρτήσεων καθορίζουμε: Όνομα Τύπο int myfunction(int c[]){ Όταν δηλώνουμε πίνακες ως ορίσματα στη δήλωση συναρτήσεων καθορίζουμε: Το όνομα επιτρέπεται Τύπο αλλά είναι προεραιτικό int myfunction(int []); Πρατικάκης (CSD) Arrays CS100, / 17

25 Αρχικοποίηση Αρχικοποίηση int n[5] = { 1, 2, 3, 4, 5 ; Αν δεν υπάρχουν αρκετά στοιχεία για αρχικοποίηση, τότε τα υπολοιπόμενα γίνονται 0 Όλα τα στοιχεία 0: int n[5] = { 0 ; for (i = 0; i < 5; ++i) { n[i] = 0; Αν βάλουμε πιο πολλά στοιχεία από όσα έχει ο πίνακας τότε θα πάρουμε λάθος Αν αρχικοποιούμε τον πίνακα μπορούμε να μη δώσουμε μέγεθος και ο πίνακας θα είναι όσος και τα στοιχεία που δίνουμε int n[] = { 1, 2, 3, 4, 5 ; 5 στοιχεία, οπότε πίνακας 5 στοιχείων Πρατικάκης (CSD) Arrays CS100, / 17

26 Παράδειγμα: ιστόγραμμα histogramc #include <stdioh> /* The size of the array * storing the grades */ #define HIST_SIZE 11 /* The size of the array * storing the histogram */ #define STUDENTS 30 /* * Computes the histogram n of array * a[] Array a[] has sizea elements */ void histogram(int n[], int a[], int sizea) { int i; for (i = 0; i < sizea; ++i) { n[a[i]]++; int main() { int hist[hist_size] = {0; int grades[students], i, j; for (i = 0; i < STUDENTS; ++i) { scanf( %d, &(grades[i])); histogram(hist, grades, STUDENTS); for (i=0; i < HIST_SIZE; i++) { printf( %7d%13d%8c, i, hist[i], ); for (j = 0; j < hist[i]; j++) { putchar( * ); printf( \n ); return 0; Πρατικάκης (CSD) Arrays CS100, / 17

27 Όρια Στη C δεν υπάρχει έλεγχος ορίων! Αν int c[10]; τότε ο πίνακας c έχει 10 στοιχεία Τα όρια του πίνακα c είναι ανάμεσα στο c[0] και c[9] Τι γίνεται αν βγούμε έξω από τον πίνακα; c[-1]; c[10]; c[ ]; Πρατικάκης (CSD) Arrays CS100, / 17

28 Παράδειγμα: crash! outofboundsc #include <stdioh> int main() { int a = 5, b = 6, c; int n[10]; printf( a = %d, b = %d\n, a, b); /* Here we get out of bounds What s going to happen depends on the system */ for (c = -3; c < 10; c++) { n[c] = 10; /* Here we get out of bounds What s going to happen depends on the system */ n[10] = 0; printf( a = %d, b = %d\n, a, b); return 0; Πρατικάκης (CSD) Arrays CS100, / 17

29 sizeof Ο τελεστής sizeof μπορεί να χρησιμοποιηθεί με Ονόματα μεταβλητών Ονόματα τύπων Σταθερές Χρήση του sizeof Επιστρέφει το μέγεθος σε bytes Έχει τύπο size_t: μέγεθος σε bytes ως ακέραιος Για πίνακες, επιστρέφει το μέγεθος του 1 στοιχείου επί το πλήθος Αν sizeof(int) είναι 4 bytes, τότε το παρακάτω πρόγραμμα θα τυπώσει 40 sizeofc int my_array[10]; printf( \%d, sizeof(my_array)); Πρατικάκης (CSD) Arrays CS100, / 17

30 Υπολογισμός Διεύθυνσης Στοιχείων Στη γλώσσα C, το όνομα ενός πίνακα είναι δείκτης στην αρχή του πίνακα Το όνομα του πίνακα αντιστοιχεί σε μια σταθερή διεύθυνση μνήμης Έστω ο πίνακας double a[100];, που αρχίζει στην διεύθυνση a Κάθε στοιχείο του πίνακα πιάνει χώρο sizeof(double) Πού βρίσκεται στη μνήμη το στοιχείο a[index]; Το πρώτο στοιχείο (index == 0) έχει διεύθυνση &a[0], που αντιστοιχεί στη θέση μνήμης a Το δεύτερο στοιχείο (index == 1) έχει διεύθυνση &a[1], που αντιστοιχεί στη θέση μνήμης a + sizeof(double) Το τρίτο στοιχείο (index == 2) έχει διεύθυνση &a[2], που αντιστοιχεί στη θέση μνήμης a + 2 * sizeof(double) κλπ H διεύθυνση (σε Bytes) στη μνήμη είναι η: a + sizeof(double) * index Πρατικάκης (CSD) Arrays CS100, / 17

31 Ο Πίνακας ως Δείκτης Έστω ο πίνακας int b[100]; Η έκφραση b[0] είναι το 1ο στοιχείο του πίνακα Η έκφραση &b[0] είναι η διεύθυνση του 1ου στοιχείου του πίνακα Η έκφραση &b[0] είναι ισοδύναμη με την έκφραση b (το όνομα του πίνακα) Αντί να γράφουμε &b[0] απλά γράφουμε b Το b είναι διεύθυνση μνήμης: δείκτης στο πρώτο στοιχείο Μπορούμε να χρησιμοποιούμε το b ακριβώς όπως ένα δείκτη Αργότερα θα δούμε ότι μπορούμε να χρησιμοποιούμε και δείκτες ως πίνακες! Ο τύπος του b είναι σταθερός δείκτης σε ακέραιο Πρατικάκης (CSD) Arrays CS100, / 17

32 Παράδειγμα: Addresses array-memoryc #include <stdioh> /* Maximum array size */ #define SIZE 10 int main() { int array[size] = {5, 42, 9, 123, 0, 1821, 31337, 1729, -1, -232; int n; for (n = 0; n < SIZE ; n++) { printf( array[%2d] = %5d, at memory address %ld\n, n, array[n], (long) &array[n]); return 0; Πρατικάκης (CSD) Arrays CS100, / 17

33 Πίνακες ως ορίσματα συναρτήσεων Δίνουμε το όνομα του πίνακα ως όρισμα Συνήθως περνάμε το μέγεθος του πίνακα ως επιπλέον όρισμα array-argumentc float mean(int array[], int length) { int i; float sum = 0; for (i = 0; i < length; i++) { sum += array[i]; return sum / length; int main(void) { int my_array[24], i; i = mean(myarray, 24); Πρατικάκης (CSD) Arrays CS100, / 17

34 Πίνακες ως ορίσματα συναρτήσεων (2) Συνάρτηση με όρισμα πίνακα αντιστοιχεί με call-by-reference Το όνομα του πίνακα είναι και δείκτης στο 1ο στοιχείο Η συνάρτηση έχει πρόσβαση στη μνήμη του πίνακα Η συνάρτηση μπορεί να αλλάξει τα περιεχόμενα του πίνακα array-argumentc void flip(int array[], int length) { for(i = 0; i < length / 2; i++) { swap(&array[i], &array[length -i -1]); Τα στοιχεία του πίνακα είναι τιμές Αν είναι ορίσματα συνάρτησης, περνούν κανονικά με call-by-value printf( %d, myarray[3]); Πρατικάκης (CSD) Arrays CS100, / 17

35 Παράδειγμα side-effectsc #include <stdioh> /* function declaration */ void f(int a[], int size, int b); /* function definitions */ int main() { int c[10] = {0; int n; int q = 30; /* Print the values of the array before the function call */ for (n = 0; n < 10; n++) { printf( %2d, %3d\n, n, c[n]); printf( \nq = %d\n\n, q); /* call function f */ f(c, 10, q); /* Print the values of the array after the function call */ for (n = 0; n < 10; n++) { printf( %2d, %3d\n, n, c[n]); printf( \nq = %d\n, q); return 0; /* Definition of function f * What does f do? */ void f(int a[], int size, int b) { while(size) { a[size-1] = size--; b = 100; Πρατικάκης (CSD) Arrays CS100, / 17

ΗΥ-150. Πίνακες (Arrays)

ΗΥ-150. Πίνακες (Arrays) ΗΥ-150 Προγραµµατισµός Πίνακες (Arrays) Προγραµµατισµός Εισαγωγικά Έστω ότι θέλουµε να αποθηκεύσουµε 100 ονόµατα φοιτητών και τους βαθµούς τους. Πως θα το κάναµε αυτό µε µεταβλητές; Πως θα µπορούσαµε να

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

ΗΥ-150. Προγραµµατισµός. Πίνακες (Arrays)

ΗΥ-150. Προγραµµατισµός. Πίνακες (Arrays) ΗΥ-150 Προγραµµατισµός Πίνακες (Arrays) Προγραµµατισµός Εισαγωγικά Έστω ότι θέλουµε να αποθηκεύσουµε 100 ονόµατα φοιτητών και τους βαθµούς τους. Πως θα το κάναµε αυτό µε µεταβλητές; Πως θα µπορούσαµε να

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

Διάλεξη 11η: Δείκτες, μέρος 1

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

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

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

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

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

Διάλεξη 10η: Πολυδιάστατοι Πίνακες

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

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

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

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

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

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 8.7 Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 17-1 Εισαγωγή Στις προηγούµενες διαλέξεις µάθαµε πώς να δηλώνουµε, αρχικοποιούµε και να επεξεργαζόµαστε πίνακες. Σήµερα θα µελετήσουµε

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

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16) Κεφάλαιο 8.1-8.3 Πίνακες Ι (Διάλεξη 16) 15-1 Πίνακες (Arrays) Σε αυτή την ενότητα θα μιλήσουμε για την δομή δεδομένων Πίνακας: 1. Εισαγωγή & Σύνταξη 2. Δήλωση Πίνακα 3. Αρχικοποίηση Πίνακα 4. Πρόσβαση

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

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

ΗΥ-150. Προγραμματισμός ΗΥ-150 Πίνακες (Arrays) Εισαγωγικά Έστω ότι θέλουμε να αποθηκεύσουμε 100 ονόματα φοιτητών και τους βαθμούς τους. Πως θα το κάναμε αυτό με μεταβλητές; Πως θα μπορούσαμε να πούμε με αυτό το τρόπο «ταξινόμησε

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1

Διάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1 Διάλεξη 13η: Δυναμική Διαχείρηση Μνήμης, μέρος 1 Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μνήμη I CS100,

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

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

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

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

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

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

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

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

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

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

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β 1. (10 μον.) Απαντήστε σωστό ή λάθος στις παρακάτω ερωτήσεις (αʹ) _2togo είναι έγκυρο όνομα μεταβλητής (βʹ) Αν p είναι δείκτης στο πρώτο στοιχείο

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

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 8.1-8.3 Πίνακες Ι ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 15-1 Πίνακες (Arrays) Σε αυτή την ενότητα θα µιλήσουµε για την δοµή δεδοµένων Πίνακας: 1. Εισαγωγή & Σύνταξη 2. ήλωση Πίνακα 3. Αρχικοποίηση

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

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2)

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2) Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2) Τι γίνεται όταν καλείται μια συνάρτηση Όταν γίνεται η κλήση μιας συνάρτησης, ο μεταγλωττιστής δεσμεύει μνήμη για τις μεταβλητές που δηλώνονται σαν παράμετροι

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

Εισαγωγή στον Προγραμματισμό (με. τη C)

Εισαγωγή στον Προγραμματισμό (με. τη C) Υποχρεωτικό Μάθημα 3 ου Εξαμήνου Χειμερινό Εξάμηνο Ακ. Έτους 20 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Εισαγωγή στον Προγραμματισμό (με τη C) Διδάσκουσα: Φατούρου Παναγιώτα faturu [at] csd.uoc.gr

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

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19) Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;

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

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

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

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

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

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

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

Διάλεξη 12η: Δείκτες, μέρος 2

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

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

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2)

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

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

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 14. Πίνακες Ι. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 14. Πίνακες Ι. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 14. Πίνακες Ι Ιωάννης Κατάκης Πίνακες o Εισαγωγή o Δήλωση o Αρχικοποίηση o Πρόσβαση o Παραδείγματα 2 Πίνακες -Εισαγωγή o Μία δομή δεδομένων είναι ένα σύνολο

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων Στόχοι και αντικείμενο ενότητας Πέρασμα Πίνακα σε Συνάρτηση #8.. Ειδικά Θέματα Αλγορίθμων Προβλήματα Αναζήτησης Γραμμική Αναζήτηση (Linear Search) Ενημέρωση Μέτρηση Δυαδική Αναζήτηση (Binary Search) Προβλήματα

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

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

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

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

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

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

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

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

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

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

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

Γλώσσες Προγραμματισμού Γλώσσες Προγραμματισμού Διδάσκων: Ανδρέας Παπασαλούρος Ιστοσελίδα: http://www.samos.aegean.gr/math/andpapas/courses/pl/default.htm Πλατφόρμα ηλεκτρονικής μάθησης: http://myria.math.aegean.gr/moodle/ Πλατφόρμα

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

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

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

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

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

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

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12) Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011 Συναρτήσεις (functions) Συνάρτηση (function) σύνολο εντολών που έχει οµαδοποιηθεί και τους έχει αποδοθεί ένα όνοµα Κλήση (calling)

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

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

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

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

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

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

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

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

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

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

Διάλεξη 15η: Αναδρομή, μέρος 1ο

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

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης Γλώσσες Προγραμματισμού Εργαστήριο 2ο Τύποι Δεδομένων - Είσοδος / Έξοδος Εργαστήριο 2ο Περίγραμμα Εργαστηριακής Άσκησης Εργαστήριο 2ο...1 Θεωρία εργαστηρίου...2 Τύποι δεδομένων...2 Η συνάρτηση printf()...3

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

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων Σκοπός της Άσκησης ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση µε τη χρήση πινάκων σαν διατάξεις αποθήκευσης δεδοµένων της Γλώσσας Προγραµµατισµού C. H συγκεκριµένη άσκηση

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

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

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

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

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014 Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε

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

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

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

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

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

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

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

16. Πίνακεσ και Συναρτήςεισ

16. Πίνακεσ και Συναρτήςεισ Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων 16. Πίνακεσ και Συναρτήςεισ Ιωάννθσ Κατάκθσ Σιμερα o Κλιςθ με τιμι o Κλιςθ με αναφορά o Πίνακεσ και ςυναρτιςεισ o Παραδείγματα Ειςαγωγι o Στισ προθγοφμενεσ

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

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

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

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

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

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

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

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δείκτες και Συναρτήσεις (Κεφάλαιο 11, KNK-2ED)

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δείκτες και Συναρτήσεις (Κεφάλαιο 11, KNK-2ED) ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δείκτες και Συναρτήσεις (Κεφάλαιο 11, KNK-2ED) Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου http://www.cs.ucy.ac.cy/courses/epl232 Το μάθημα αυτό δομήθηκε βάση

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

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

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

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. (Διάλεξη 14) Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. (Διάλεξη 14) Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός (Διάλεξη 14) 14-1 Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά ΛΑΘΟΣ τρόπος να αυξήσουμε το κατά 1 #include void AddOne (int); void AddOne

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 8: Ειδικά Θέματα Αλγορίθμων

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

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14) Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός Δείκτες (Διάλεξη 14) 14-1 Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά ΛΑΘΟΣ τρόπος να αυξήσουμε το num κατά 1 #include void AddOne (int);

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

ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ

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

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

Εργαστήριο 1: Επανάληψη Βασικών Εννοιών στη Γλώσσα C

Εργαστήριο 1: Επανάληψη Βασικών Εννοιών στη Γλώσσα C Εργαστήριο 1: Επανάληψη Βασικών Εννοιών στη Γλώσσα C Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Συναρτήσεις - Εξωτερικές μεταβλητές - Κανόνες εμβέλειας - Διάρκεια

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

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

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

Διάλεξη 5: Δείκτες και Συναρτήσεις

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 4: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Πίνακες Δεικτών, Παραδείγματα, Πολυδιάστατοι πίνακες Πέρασμα παραμέτρων σε προγράμματα C Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες:

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

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

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

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

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 5ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Πίνακες 77 Στατική δομή αποθήκευσης δεδομένων (το μέγεθος ορίζεται εξαρχής και δεν αλλάζει) Αποθήκευση πολλών μεταβλητών

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

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Πολυδιάστατοι πίνακες Μέχρι τώρα µιλούσαµε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες,

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

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

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

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

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις (Διάλεξη 18)

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις (Διάλεξη 18) Κεφάλαιο 8.7 Πίνακες & Συναρτήσεις (Διάλεξη 18) 17-1 Εισαγωγή Στις προηγούμενες διαλέξεις μάθαμε πώς να δηλώνουμε, αρχικοποιούμε και να επεξεργαζόμαστε πίνακες. Σήμερα θα μελετήσουμε πως μπορούμε να περάσουμε

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

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

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

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

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 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

Α. 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) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

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

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

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

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

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή παράσταση_1 = Παράσταση Αρχικοποίησης παράσταση_2 = Παράσταση Ελέγχου Επανάληψης παράσταση_3 = Παράσταση Ενημέρωσης

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

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

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

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

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

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

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( ) ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Μορφές μεταβίβασης ορισμάτων σε συναρτήσεις (και μεθόδους) και οι επιπτώσεις τους Επιστροφή τιμών από κλήση συναρτήσεων Υπερφόρτωση

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι δείκτες στη C Η έννοια του δείκτη Την έννοια του δείκτη τη συναντήσαμε σε προηγούμενα μαθήματα. Η συνάρτηση scanf(), καταχωρίζει τιμές σε μεταβλητές χρησιμοποιώντας τον τελεστή

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

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

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

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

Προγραμματισμός Συστημάτων

Προγραμματισμός Συστημάτων MYY502 Προγραμματισμός Συστημάτων Β. Δημακόπουλος dimako@cse.uoi.gr http://www.cse.uoi.gr/~dimako Εργαστήρια Μάλλον (!) ξεκινούν την επόμενη εβδομάδα Εγγραφές στο εργαστήριο 2 βάρδιες, 15:00 17:00 και

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

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2 Είσοδος / Έξοδος Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συνάρτηση εξόδου printf Συνάρτηση εισόδου scanf Βιβλίο µαθήµατος: Chapter 2,, Sec. 3 & 6 ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-1 Είσοδος

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 032 2 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Ενδιάμεση Εξέταση Ημερομηνία:08/03/10 Διάρκεια: 13:30 15:00 Διδάσκων: Παύλος Αντωνίου Ονοματεπώνυμο: Αριθμός Ταυτότητας: Η εξέταση

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

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

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

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

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

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

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συναρτήσεις Εξωτερικές µεταβλητές Κανόνες εµβέλειας ιάρκεια µεταβλητών Αρχικοποίηση

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

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

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

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

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

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

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

ΣΥΝΑΡΤΗΣΕΙΣ (Functions)

ΣΥΝΑΡΤΗΣΕΙΣ (Functions) ΣΥΝΑΡΤΗΣΕΙΣ (Functions) Δομή Συνάρτησης τύπος όνομα ( λίστα τυπικών παραμέτρων ) Δηλώσεις μεταβλητών εντολή_1 εντολή_2 : εντολή_ν Σώμα της συνάρτησης Δομή της Λίστας Τυπικών Παραμέτρων τύπος_1 τύπος_2

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

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Πίνακες & Δείκτες ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πίνακες Πίνακες Τα στοιχεία

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

Τύποι Δεδομένων Είσοδος/Έξοδος

Τύποι Δεδομένων Είσοδος/Έξοδος Εργαστήριο 2 ο Τύποι Δεδομένων Είσοδος/Έξοδος Εισαγωγή Σκοπός του εργαστηρίου αυτού είναι η εισαγωγή μας στους τύπους δεδομένων της C και η εξοικείωση μας με συναρτήσεις του ρεπερτορίου της ANSI C σχετικές

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Έλεγχος ισότητας για Strings: Διαβάζουμε το String option και θέλουμε ένα loop να συνεχίσει

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

Εισαγωγή στον δομημένο προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 7 η : Δείκτες Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 8: Πίνακες, Αλφαριθμητικά Πίνακες Ο πίνακας είναι μια ειδική δομή για την αποθήκευση μιας σειράς από δεδομένα του ίδιου τύπου. Η δήλωση ενός πίνακα γίνεται όπως για μια

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