6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ
|
|
- Χριστός Βιτάλη
- 8 χρόνια πριν
- Προβολές:
Transcript
1 6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε ομάδες που ονομάζουμε δομές δεδομένων (data structures). Μια δομή δεδομένων είναι ο πίνακας (array). Οι πινάκες χρησιμοποιούνται για την αποθήκευση στη μνήμη του υπολογιστή ενός μεγάλου πλήθους δεδομένων που συνήθως, συνδέονται μεταξύ τους με κάποια λογική σχέση. Πίνακας (array) είναι ένα σύνολο μεταβλητών του ίδιου τύπου που έχουν κοινό όνομα. Η διάκριση των μεταβλητών που αποτελούν ένα πίνακα γίνεται με τη χρήση ενός αριθμού που προσδιορίζει τη θέση κάθε μεταβλητής και ονομάζεται δείκτης(index). Ο δείκτης του πίνακα είναι ουσιαστικά ένας ακέραιος αριθμός που συνοδεύει το κοινό όνομα όλων των μεταβλητών και τοποθετείται μέσα σε αγκύλες. Έτσι, για παράδειγμα, οι μεταβλητές: x[0], x[1], x[2] και x[3] είναι τέσσερις διαφορετικές μεταβλητές που σχηματίζουν ένα πίνακα τεσσάρων στοιχείων. Ένας πίνακας ορίζεται όπως κάθε άλλη μεταβλητή στην αρχή της συνάρτησης (π.χ. στη main() ). Ότι είναι πίνακας γίνεται κατανοητό από τις αγκύλες στο τέλος του ονόματος. Πρέπει όμως να προσδιορίσουμε τον τύπο και το μέγεθος του (ο αριθμός μέσα στις αγκύλες) όπως φαίνεται παρακάτω: char name[30]; int a[100], b[100]; Οι εντολές αυτές ορίζουν αντίστοιχα: πίνακα τριάντα θέσεων (στοιχείων) τύπου χαρακτήρα με όνομα name[ ], name[0] name[1] name[2]... name[ 29] έναν ακέραιο πίνακα τεσσάρων θέσεων με το όνομα my_class [ ] και δύο πίνακες ακεραίων αριθμών με τα ονόματα a[ ] και b[ ] αντίστοιχα, που περιλαμβάνουν εκατό θέσεις ο καθένας. a[0] a[1] a[2]... a[99] b[0] b[1] b[2]... b[99] Η παράσταση των πινάκων παραπάνω είναι αντίστοιχη με την εσωτερική διάταξη των στοιχείων στη μνήμη του υπολογιστή. 1
2 Στη γλώσσα C, το πρώτο στοιχείο ενός πίνακα έχει πάντα δείκτη 0. Αυτό σημαίνει ότι αν ο πίνακας οριστεί με την εντολή: τύπος ονομα_πίνακα[ν]; τότε τα στοιχεία του πίνακα έχουν δείκτη: 0, 1, 2,..., Ν-1 και είναι συνολικά N. Προσέξτε ότι τα στοιχεία του πίνακα είναι διατεταγμένα στη σειρά το ένα πίσω από το άλλο, χωρίς ενδιάμεσα κενά διαστήματα. Ο ορισμός ενός πίνακα είναι μια άμεση εντολή στο μεταγλωττιστή της C η οποία δεσμεύει έναν καθορισμένο αριθμό bytes για τον πίνακα αυτό. Κάθε στοιχείο του πίνακα καταλαμβάνει το ίδιο μήκος με οποιοδήποτε άλλο στοιχείο του. Το συνολικό μέγεθος ενός πίνακα σε bytes καθορίζεται από τον τύπο του. Οι πίνακες που ορίσαμε προηγουμένως (name [ ], a [ ] και b [ ]) έχουν μήκος 30*1 = 30, 4*100 = 400 και 4*100 = 400 bytes αντίστοιχα υποθέτοντας ότι εργαζόμαστε σ' έναν υπολογιστή όπου ένας ακέραιος καταλαμβάνει τέσσερα bytes και ένας χαρακτήρας ένα byte. 6.2 Απόδοση Αρχικών Τιμών & Επεξεργασία Πίνακα Όπως και με τις απλές μεταβλητές, τα στοιχεία ενός πίνακα μπορούν να λάβουν αρχικές τιμές είτε ταυτόχρονα με τον ορισμό του πίνακα είτε στο κυρίως σώμα του προγράμματος. Στην πρώτη περίπτωση οι τιμές που αποδίδονται στα στοιχεία του πίνακα σχηματίζουν μια λίστα δεδομένων που περικλείονται σε άγκιστρα... Οι επόμενες εντολές αποδίδουν στους πίνακες name [ ] και length [ ] αρχικές τιμές: char name[6] = 'G', 'Έ', 'O', 'R', 'G', 'E'; int length[3] = 1, 5, 10; float grades[ ] = 8.5, 9.0, 9.3, 10.0; Όταν ο ορισμός ενός πίνακα συνοδεύεται με την απόδοση αρχικών τιμών στα στοιχεία του, τότε δεν είναι υποχρεωτικό να προσδιορίσουμε το πλήθος των στοιχείων του (6 και 3 στα δυο πρώτα παραδείγματα παραπάνω, ενώ όπως γίνεται αντιληπτό ο πίνακας grades[ ] θα έχει 4 στοιχεία). Η απόδοση αρχικών τιμών στον πίνακα με τον τρόπο αυτόν μπορεί να γίνει μόνο στην εντολή ορισμού του. Αν ορίσουμε έναν πίνακα αλλά αποδώσουμε αρχικές τιμές μόνο σε μερικά από τα στοιχεία του, ο μεταγλωττιστής της C αποτελειώνει την εργασία απόδοσης αρχικών τιμών αποδίδοντας μηδενικές τιμές στα υπόλοιπα στοιχεία του πίνακα. Επομένως ο ορισμός: int a[5] = 1,2,3; εξασφαλίζει ότι τα στοιχεία του πίνακα a[ ] έχουν τιμές a[0]=1, a[1]=2, a[2]=3, a[3]=0 και a[4]=0. Γενικά πάντως είναι καλύτερα να δίνουμε αρχικές τιμές σε κάθε στοιχείο του πίνακα χωριστά, ώστε να έχουμε πλήρη έλεγχο του προγράμματος και των λειτουργιών του. Για το σκοπό αυτό χρησιμοποιούμε συνήθως ένα βρόχο for, αν θέλουμε για παράδειγμα όλα τα στοιχεία του να είναι μηδέν. 2
3 Παράδειγμα 1 include <stdio.h> int i ; double measure[20]; measure [i] =0.0; printf("to stoixeio %d exei timi %f\n", i+1, measure[i] ); Προσοχή!!! Στην printf, γράψαμε i+1 (και όχι i), γιατί όταν δει ο χρήστης το πρώτο στοιχείο θα πρέπει να λέει το στοιχείο 1 (και όχι το στοιχείο 0). Θα μπορούσαμε να βάλουμε το μετρητή της for(εδώ το i) να ξεκινάει από το 1, όμως το σωστό είναι όπως το βάλαμε γιατί το πρώτο στοιχείο στον πίνακα (που επίσης αναφέρεται) είναι το στοιχείο με δείκτη 0. Μια μεταβλητή i χρησιμοποιείται για την πρόσβαση των στοιχείων του πίνακα measure[ ] που πρόκειται να μηδενιστούν. Γενικά είναι δυνατό να χρησιμοποιήσουμε μια ακέραια παράσταση για τον εντοπισμό και την επεξεργασία των στοιχείων ενός πίνακα. Για παράδειγμα, η αντιγραφή του πίνακα a[20] στον πίνακα b[20] γίνεται αντιγράφοντας κάθε στοιχείο χωριστά: for(i=0;i<20;i++) b[i] = a[i]; Ο μόνος περιορισμός είναι ότι η τιμή της παράστασης δεν πρέπει να είναι μεγαλύτερη από το μέγεθος του πίνακα. Για παράδειγμα αν έχουμε ορίσει τον πίνακα: int a[100]; δεν μπορούμε να μιλήσουμε για το στοιχείο a[105] ή a[100], παρά μόνο μέχρι το στοιχείο a[99]. Παράδειγμα 2 int i ; double a[20], b[20]; a[i] = 1.0; 3
4 printf("%d \t %f\n",i,a[i] ); b[i] = i; for(i=0;i<20;i++) a[i] = b[i]; printf("printing a[i]... \n" ); printf("%d \t %f\n",i,a[i] ); Παράδειγμα 3 Έστω ότι θέλουμε να βγαλουμε το μέσο όρο της βαθμολογίας για 5 μαθήματα που δώσαμε, όπως κάναμε στο 5ο μάθημα κεφ Τώρα, θα χρησιμοποιήσουμε πίνακες, ώστε στο τέλος θα μπορούμε να ζητήσουμε από το πρόγραμμα τους βαθμούς, αφού κάθε μάθημα θα αποθηκεύεται σε μια θέση του πίνακα και δε θα σώζονται όλοι οι βαθμοί στην ίδια μεταβλητή vathmos, όπου στο τέλος υπάρχει μόνο ο τελευταίος. void main () int mathima,vathmos[5],sum; float mo; sum=0; for (mathima=0;mathima<5;mathima++) printf("dwse to %do mathima:\n",mathima+1); scanf("%d",&vathmos[mathima]); while (vathmos[mathima]<0 vathmos[mathima]>20) printf("edwses lathos vathmo,xanadwse:\n"); scanf("%d",&vathmos[mathima]); printf ("To %do mathima pires %d\n",mathima+1,vathmos[mathima]); sum=sum+vathmos[mathima]; printf("to a8roisma ws twra einai %d\n\n",sum); mo=(float)sum/5; printf ("O mesos oros einai %6.2f\n",mo); for (mathima=0;mathima<5;mathima++) printf ("To %do mathima pires %d\n",mathima+1,vathmos[mathima]); 6.3 Ορισμός συμβολικής σταθεράς Έστω ότι θέλουμε να μετατρέψουμε το παραπάνω πρόγραμμα και για έναν άλλο μαθητή, ο οποίος όμως έχει 8 μαθήματα. Έτσι πρέπει σε αρκετά σημεία να αλλάξουμε το 5 και να το κάνουμε 8 (π.χ. για το μέγεθος του πίνακα, τις συνθήκες της for, το μέσο όρο κλπ). Υπάρχει όμως περίπτωση κάποια 5, μέσα στο πρόγραμμα να μην πρέπει να αλλαχθούν, γιατί ίσως κάνουν άλλες 4
5 διεργασίες. Για να μην κάνουμε λάθος με τις αντικαταστάσεις ή δεν αλλάξουμε κάποιο, χρησιμοποιούμε τις συμβολικές σταθερές. Έτσι, κάνουμε μόνο μια αλλαγή στην αρχή που καθορίζουμε τη συμβολική σταθερά (που μπορούμε να της δώσουμε ότι όνομα θέλουμε, απλά είναι κοινό χρησιμοποιούμενο να γράφεται με κεφαλαία και δεν μπορεί να αλλάξει η τιμή της μέσα στο πρόγραμμα, αντιθέτως με τις μεταβλητές). Το πρόγραμμα όπου βλέπει τη σταθερά NUM_MATH θεωρεί ότι βλέπει τον αριθμό 8. Παράδειγμα #define NUM_MATH 8 void main () int mathima,vathmos[num_math],sum; float mo; sum=0; for (mathima=0;mathima<num_math;mathima++) printf("dwse to %do mathima:\n",mathima+1); scanf("%d",&vathmos[mathima]); while (vathmos[mathima]<0 vathmos[mathima]>20) printf("edwses lathos vathmo,xanadwse:\n"); scanf("%d",&vathmos[mathima]); printf ("To %do mathima pires %d\n",mathima+1,vathmos[mathima]); sum=sum+vathmos[mathima]; printf("to a8roisma ws twra einai %d\n\n",sum); mo=(float)sum/num_math; printf ("O mesos oros einai %6.2f\n",mo); for (mathima=0;mathima<num_math;mathima++) printf ("To %do mathima pires %d\n",mathima+1,vathmos[mathima]); Αν θέλουμε να κάνουμε το πρόγραμμα για ένα μαθητή με 5 μαθήματα, απλά αλλάζουμε τη δήλωση της σταθεράς και γράφουμε: #define NUM_MATH Πίνακες Χαρακτήρων και Αλφαριθμητικά Τα αλφαριθμητικά αποθηκεύονται στον υπολογιστή σαν πίνακες χαρακτήρων. Αλφαριθμητικό (string) είναι ουσιαστικά μια ειδική περίπτωση ενός πίνακα χαρακτήρων όπου ο τελευταίος χαρακτήρας είναι ο κενός χαρακτήρας: '\0'. (Θεωρείται ένας χαρακτήρας, όπως συμβαίνει με την αλλαγή γραμμής '\n'). 5
6 Επομένως ο ορισμός και η απόδοση αρχικών τιμών σ' ένα αλφαριθμητικό ακολουθεί τους κανόνες που περιγράψαμε στην προηγούμενη παράγραφο για τους πίνακες δεδομένων. Για παράδειγμα η εντολή: char city[15] = "Thessaloniki"; ορίζει ένα πίνακα χαρακτήρων με 15 στοιχεία που γεμίζει ως εξής: T h e s s a l o n i k i \0 Οι δύο τελευταίες θέσεις του πίνακα περιέχουν πιθανώς κάποιες τιμές αλλά δε λαμβάνουν μέρος στην επεξεργασία του αλφαριθμητικού, αφού βρίσκονται μετά το χαρακτήρα '\0' που σημειώνει το τέλος του. Επομένως, το ελάχιστο μέγεθος του πίνακα city[ ] είναι 13 στοιχεία (12 για το "Thessaloniki" και 1 ο χαρακτήρας '\0'). Αν ο πίνακας οριστεί με λιγότερες από 13 θέσεις, θα χτυπήσει λάθος στο πρόγραμμα. Η γλώσσα C προσφέρει τη δυνατότητα στον προγραμματιστή να ορίσει ένα αλφαριθμητικό χωρίς να προσδιορίσει το μήκος του: char city[] = "Thessaloniki"; Όταν ο μεταγλωττιστής της C συναντήσει έναν τέτοιο ορισμό, μετρά το πλήθος χαρακτήρων του αλφαριθμητικού, προσθέτει ένα για τον κενό χαρακτήρα, και δεσμεύει τον αντίστοιχο χώρο στη μνήμη του υπολογιστή. Σημειώστε ότι για την απόδοση αρχικών τιμών στο αλφαριθμητικό χρησιμοποιούμε τα εισαγωγικά " ", αντί των αγκίστρων και αποστρόφων που είδαμε στην προηγούμενη παράγραφο. (Υπενθύμίση: char name[6] = 'G', 'Έ', 'O', 'R', 'G', 'E'; ) Στο παράδειγμα που ακολουθεί εισάγουμε ένα αλφαριθμητικό και κατόπιν εμφανίζουμε τους μεμονωμένους χαρακτήρες του. Παράδειγμα 1 int index ; char name[20]=0; printf("enter your name:"); scanf("%s",&name); for(index=0; index<20; index++) printf("%c\n",name[index]); Εδώ, βλέπουμε ότι για να διαβαστεί ένα αλφαριθμητικό(string), που ουσιαστικά είναι πίνακας χαρακτήρων, γράφουμε με μορφοποίηση την "%s", δηλαδή scanf("%s",&name); και οι χαρακτήρες του αλφαριθμητικού μπαίνουν στον πίνακα που αναφέραμε (εδώ ο πίνακας με το όνομα name[ ] ) 6
7 6.5 Πολυδιάστατοι πίνακες Ένας πίνακας είναι πολυδιάστατος (multidimensional) αν για τον προσδιορισμό της θέσης κάποιου στοιχείου του απαιτούνται περισσότεροι από ένας ακέραιοι αριθμοί. Το πλήθος των ακεραίων ονομάζεται διάσταση (dimension) του πίνακα. Στις προηγούμενες παραγράφους γνωρίσαμε τους απλούς (μονοδιάστατους) πίνακες που όπως είδαμε αποτελούν ουσιαστικά λίστες δεδομένων. Στους δισδιάστατους πίνακες σκεφτόμαστε έναν πίνακα με γραμμές και στήλες, ενώ ο τρισδιάστατος ένα όγκο, όπως φαίνεται στην εικόνα. Στην εικόνα ο μονοδιάστατος έχει μέγεθος 5, ο δισδιάστατος 5x4 (πρώτα αναφέρονται οι γραμμές) και ο τρισδιάστατος 5x4x2. Για τους παραπάνω, θα μπορούσαμε να δηλώσουμε μέσα στο πρόγραμμα μας. int a[5]; int b[5][4]; int c[5][4][2]; Έτσι, για το δισδιάστατο πίνακα b, δίνεται η εντολή να εξασφαλίστούν είκοσι θέσεις μνήμης (των 4 bytes η κάθε μία, αφού είναι ακέραιοι). Επειδή η μνήμη του υπολογιστή είναι ουσιαστικά ένας μονοδιάστατος πίνακας, η αποθήκευση των πολυδιάστατων πινάκων γίνεται "ανά γραμμή". Όπως και στους μονοδιάστατους πίνακες ο ορισμός ενός πολυδιάστατου πίνακα μπορεί να συνοδεύεται από την απόδοση αρχικών τιμών. Για παράδειγμα μπορούμε να έχουμε: int a[5][4] = 1,2,3,4,2,4,6,8,3,5,7,9,5,6,7,8,1,2,3,4; Η γλώσσα C μπορεί ωστόσο να αναγνωρίσει και να διαβάσει τα δεδομένα απόδοσης αρχικών τιμών ακόμα και αν δίνονται σαν απλή λίστα σταθερών: int a[5][4] = 1,2,3,4,2,4,6,8,3,5,7,9,5,6,7,8,1,2,3,4; Ανάλογα με τα όσα είπαμε για τους μονοδιάστατους πίνακες, η απόδοση αρχικών τιμών σε μερικά μόνο στοιχεία ενός πολυδιάστατου πίνακα έχει ως αποτέλεσμα το μηδενισμό όλων των υπολοίπων στοιχείων του. Επομένως ένας απλός και γρήγορος τρόπος για να μηδενίσουμε όλα τα στοιχεία ενός πολυδιάστατου πίνακα είναι να γράψουμε: int array[100][200][300] = 0 ; Είναι προφανές ότι η επεξεργασία των πολυδιάστατων πινάκων γίνεται συνήθως με ένθετες επαναληπτικές διαδικασίες (κυρίως εντολές for). Για 7
8 παράδειγμα, το επόμενο πρόγραμμα υπολογίζει τον πίνακα αθροίσματος C δύο δισδιάστατων πινάκων Α και Β: Παράδειγμα 5 int A[3][3]= 1,2,3, 4,5,6, 7,8,9 ; int B[3][3]=9,8,7, 6,5,4, 3,2,1; int i,j,c[3][3] = 0 ; for(i=0; i<3; i++) for(j=0; j<3; j++) C[i][j]=A[i][j]+B[i][j]; for(i=0; i<3; i++) for(j=0; j<3; j++) printf("%d \t", C[i][j]); printf("\n"); Στο προηγούμενο παράδειγμα έχουμε: for(i=0; i<3; i++) for(j=0; j<3; j++) C[i][j]=A[i][j]+B[i][j]; όπου η πάνω for, αφού δεν έχει άγκιστρα περιλαμβάνει μια μόνο εντολή την από κάτω for, η οποία όμως είναι μαζί με την πρόσθεση. Άρα είναι ίδιο με το να γράψουμε: for(i=0; i<3; i++) for(j=0; j<3; j++) C[i][j]=A[i][j]+B[i][j]; 8
9 6.6 Ασκήσεις ΑΣΚΗΣΗ 1: Να πληκτρολογήσετε το παρακάτω πρόγραμμα και να εξηγήσετε τι κάνει. int numbers[8] = 8, 25, 136, 44, 52, 160, 95, 89; int arithmos_xristi, i; printf("enter a number to search: "); scanf("%d",&arithmos_xristi); for (i = 0; i < 8; ++i) if ( numbers[i] == arithmos_xristi ) break; if (i == 8) printf("%d is not in the list\n",arithmos_xristi); else printf("%d is the %dth element in the list\n", arithmos_xristi,i + 1); ΑΣΚΗΣΗ 2: Μετατρέψτε το παραπάνω πρόγραμμα ώστε να δέχεται τις τιμές του πίνακα numbers[8] από το πληκτρολόγιο και να ενεργεί όπως παραπάνω. Άρα θα πρέπει να γράψετε και μια εντολή επανάληψης για να παίρνουν τιμές τα στοιχεία του πίνακα από το χρήστη. ΑΣΚΗΣΗ 3: Μετατρέψτε το παραπάνω πρόγραμμα ώστε αν καταλήξει πως η τιμή που ζητήθηκε δεν υπάρχει, τότε να συνεχίζει ζητώντας νέα τιμή. Αν μετά από 8 επαναλήψεις καμία από τις τιμές που δόθηκαν δεν υπάρχει τότε μόνο να σταματάει. ΑΣΚΗΣΗ 4: Δημιουργείστε πρόγραμμα που να δέχεται από το πληκτρολόγιο 10 ονόματα φίλων σας, να τα αποθηκεύει σε ένα πίνακα και μετά να εκτυπώνει τα ονόματα τους με αντίστροφη σειρά από αυτή που τα έχετε εισάγει. Υποθέσατε ότι τα ονόματα των φίλων σας είναι μέχρι 20 χαρακτήρες. Θα χρησιμοποιήσετε τον τελεστή μείωσης metritis--. 9
5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)
5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while) 5.1 Ο βρόχος while Η εντολή while παρέχει έναν μηχανισμό επανάληψης των δηλώσεων όσο μια συνθήκη είναι αληθινή. Χρησιμοποιείται όταν ο αριθμός των επαναλήψεων
Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ
Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία
Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)
Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Υπολογισμός - Συλλογή Δεδομένων - Πίνακες
Προγραμματισμός Η/Υ Ι Υπολογισμός - - Πίνακες ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συζητήσουμε τη χρήση του πίνακα (array) για τη συλλογή
Μεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 12 Πολυδιάστατοι Πίνακες Πολυδιάστατοι πίνακες
Διαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου
Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014
Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε
Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"
Πίνακες: μια σύντομη εισαγωγή Πίνακες χαρακτήρων: τα "Αλφαριθμητικά" Πίνακες(Arrays): έννοιες και ορισμοί Ορισμός: Πίνακας (array) = σύνολο μεταβλητών του ιδίου τύπου (int, float, char,...) με ένα κοινό
int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι
Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι
Δομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Πολυδιάστατοι πίνακες Μέχρι τώρα µιλούσαµε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες,
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης
Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται
Α. 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) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων
Σκοπός της Άσκησης ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση µε τη χρήση πινάκων σαν διατάξεις αποθήκευσης δεδοµένων της Γλώσσας Προγραµµατισµού C. H συγκεκριµένη άσκηση
3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις
3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα
Υπολογισμός - Εντολές Επανάληψης
Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία
Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες.
Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες. Η C, όπως έχουμε αναφέρει, είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε για πρώτη φορά το 1972 από τον Dennis Ritchie στα AT&T Bell
Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα
Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα Τελεστές συντομογραφίας Τελεστές σύντομης ανάθεσης += παράδειγμα: sum+=10; αντί για: sum = sum
Διαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα
Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)
Κεφάλαιο 8.1-8.3 Πίνακες Ι (Διάλεξη 16) 15-1 Πίνακες (Arrays) Σε αυτή την ενότητα θα μιλήσουμε για την δομή δεδομένων Πίνακας: 1. Εισαγωγή & Σύνταξη 2. Δήλωση Πίνακα 3. Αρχικοποίηση Πίνακα 4. Πρόσβαση
Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C
Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος
Ηλεκτρονικοί Υπολογιστές
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 9: Πίνακες στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι πίνακες στη C (μονοδιάστατοι -συμβολοσειρές) Γενικά για τους πίνακες Ο πίνακας είναι μια αρκετά διαδεδομένη δομή που προσφέρεται από σχεδόν κάθε γλώσσα προγραμματισμού. Πρόκειται
Δομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διάλεξη 6: Δείκτες και Πίνακες
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 6: Δείκτες και Πίνακες (Κεφάλαιο 12, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 6-1 Περιεχόμενο
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 4: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Πίνακες Δεικτών, Παραδείγματα, Πολυδιάστατοι πίνακες Πέρασμα παραμέτρων σε προγράμματα C Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες:
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Πίνακες 2 διαστάσεων Δήλωση δισδιάστατου πινακα Οι δισδιάστατοι πίνακες χαρακτηρίζονται από τις γραμμές και τις στήλες (οι διαστάσεις) τους. Πίνακας 2 διαστάσεων: 3 γραμών και
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Πίνακες 2 διαστάσεων Δήλωση δισδιάστατου πινακα Οι δισδιάστατοι πίνακες χαρακτηρίζονται από τις γραμμές και τις στήλες (οι διαστάσεις) τους. Πίνακας 2 διαστάσεων: 3 γραμμών και
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι εντολές επανάληψης (while, do-while, for) Γενικά για τις εντολές επανάληψης Συχνά στο προγραμματισμό είναι επιθυμητή η πολλαπλή εκτέλεση μιας ενότητας εντολών, είτε για ένα
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι δείκτες στη C Η έννοια του δείκτη Την έννοια του δείκτη τη συναντήσαμε σε προηγούμενα μαθήματα. Η συνάρτηση scanf(), καταχωρίζει τιμές σε μεταβλητές χρησιμοποιώντας τον τελεστή
Προγραμματισμός I (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός I (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2017 Δρ. Δημήτρης Βαρσάμης Οκτώβριος
Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ
Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε
Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.
Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι εντολές επανάληψης (while, do-while, for) Γενικά για τις εντολές επανάληψης Συχνά στο προγραμματισμό είναι επιθυμητή η πολλαπλή εκτέλεση μιας ενότητας εντολών, είτε για ένα
C: Από τη Θεωρία στην Εφαρμογή
Δρ. Γ. Σ. Τσελίκης Δρ. Ν. Δ. Τσελίκας C: Από τη Θεωρία στην Εφαρμογή Ενδεικτικές Ασκήσεις από το Βιβλίο C: Από τη Θεωρία στην Εφαρμογή (Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας) Ενδεικτικές Ασκήσεις του Βιβλίου Ε.Α.1
ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή
ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή παράσταση_1 = Παράσταση Αρχικοποίησης παράσταση_2 = Παράσταση Ελέγχου Επανάληψης παράσταση_3 = Παράσταση Ενημέρωσης
Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C
Τεχνολογία και Προγραμματισμός Υπολογιστών Η γλώσσα προγραμματισμού C Με μια ματιά Τύπος Πίνακα Μεταβλητές με ενδείκτη Αλφαριθμητικά - Πίνακες Δισδιάστατος Πολυδιάστατος Πίνακας 2 2 Τύπος Πίνακα Σύνθετος
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 8: Πίνακες Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Τέταρτη Διάλεξη ΠΙΝΑΚΕΣ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Έστω ότι έχουμε το εξής πρόβλημα: εισάγουμε μια σειρά αριθμών από το πληκτρολόγιο και θέλουμε να βρούμε τον μέγιστο και τον ελάχιστο. Γενικά,
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Πίνακες 2 διαστάσεων Δήλωση δισδιάστατου πινακα Οι δισδιάστατοι πίνακες χαρακτηρίζονται από τις γραμμές και τις στήλες (οι διαστάσεις) τους. Πίνακας 2 διαστάσεων: 3 γραμμών και
scanf() scanf() stdin scanf() printf() int float double %lf float
Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση
Μεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 11 Πίνακες Ι Πίνακες (Arrays) Σε αυτή την ενότητα
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην
Ανάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην
2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ
2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ Τι μάθαμε μέχρι τώρα Κάθε πρόγραμμα της c++ περιέχει υποχρεωτικά μια συνάρτηση main() η οποία είναι εκείνη που εκτελείται πρώτη. Κάθε
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πίνακες Πίνακες (arrays) Πολύ συχνά είναι απαραίτητο το πρόγραμμα μας να χειριστεί
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 5ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Πίνακες 77 Στατική δομή αποθήκευσης δεδομένων (το μέγεθος ορίζεται εξαρχής και δεν αλλάζει) Αποθήκευση πολλών μεταβλητών
Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Κανόνες
Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:
Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται
Εισαγωγή στην πληροφορική
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραμματισμού
Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος
Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Μονοδιάστατοι Πίνακες (tables) Μια συλλογή μεταβλητών ίδιου τύπου οι οποίες είναι αποθηκευμένες
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα 5: Εντολές επανάληψης Κουκουλέτσος Κώστας Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστικών Συστημάτων
Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 4η Διάλεξη Πίνακες Συναρτήσεις
Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό 4η Διάλεξη Πίνακες Συναρτήσεις Πίνακες (1) Μια συλλογή μεμονωμένων τιμών δεδομένων Οι πίνακες είναι διατεταγμένοι τα στοιχεία ενός πίνακα είναι τοποθετημένα
ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2017-2018 ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΜΑΘΗΜΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εισαγωγή ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ Ένα πρόγραμμα σε C περιλαμβάνει μια ή περισσότερες συναρτήσεις
ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1
Γλώσσα Προγραμματισμού C++ ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1 Τα δεδομένα Οι σταθερές Τα δεδομένα (πληροφορίες-data) είναι απαραίτητα στοιχεία ενός προγράμματος, καθώς οι βασικές λειτουργίες ενός προγράμματος είναι
Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε
Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος
Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου (Διάλεξη 7) 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράμματα πρέπει να πάρουμε κάποια δεδομένα και να δώσουμε αποτέλεσμα Συνάρτηση εισόδου
4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)
4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for) 4.1 Μετρητές Ένας μετρητής (counter) είναι μία μεταβλητή η οποία ξεκινά με μία αρχική τιμή και αυξάνεται κατά ένα κάθε φορά που εκτελείται. Ο αλγόριθμος για έναν μετρητή
ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β
ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β 1. (10 μον.) Απαντήστε σωστό ή λάθος στις παρακάτω ερωτήσεις (αʹ) _2togo είναι έγκυρο όνομα μεταβλητής (βʹ) Αν p είναι δείκτης στο πρώτο στοιχείο
Δείκτες (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 Δήλωση Δήλωση Τύπος
5ο σετ σημειώσεων - Δείκτες
5ο σετ σημειώσεων - Δείκτες 11 Ιουνίου 01 1 Γενικά Σύμφωνα με το γενικό μοντέλο υπολογιστή, ένας υπολογιστής είναι μία μηχανή που διαθέτει μία κεντρική μονάδα επεξεργασίας η οποία μπορεί μεταξύ άλλων να
Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)
Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου (Διάλεξη 7) 1 Είσοδος/Έξοδος Σε σχεδόν όλα τα προγράμματα πρέπει να πάρουμε κάποια δεδομένα και να δώσουμε αποτέλεσμα Συνάρτηση εισόδου
Προγραμματισμό για ΗΜΥ
ΕΠΛ 34: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 12 Πίνακες εικτών (Pointers Arrays) Θέματα ιάλεξης Στην ενότητα
Διαδικαστικός Προγραμματισμός
ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Διαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 7 ο : Δείκτες Στόχοι μαθήματος Να κατανοήσετε τη δυνατότητα χρήσης διευθύνσεων ως τιμών δεδομένων. Να μπορείτε να χρησιμοποιείτε
2ο σετ σημειώσεων. 1 Εντολές εκτέλεσης υπό συνθήκη. 19 Μαρτίου 2012
ο σετ σημειώσεων 19 Μαρτίου 01 1 Εντολές εκτέλεσης υπό συνθήκη Μπορούμε να εκτελέσουμε εντολές της γλώσσας σε περίπτωση που κάποια συνθήκη ισχύει χρησιμοποιώντας την εντολή if. Συντάσσεται ως εξής: 1 if
Διαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 3 η Είσοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Γλώσσα Προγραμματισμού 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 Νέο Πρόγραμμα
Στόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες
Στόχοι και αντικείμενο ενότητας Ο τύπος του Πίνακα (βλ. ενότητα #2α) Ορισμός και αρχικοποίηση Αποθήκευση πινάκων στη μνήμη Πολυδιάστατοι πίνακες #6. Πίνακες και Δείκτες Ο τύπος του Δείκτη Η έννοια του
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο
Εντολές ελέγχου ροής if, for, while, do-while
Εντολές ελέγχου ροής if, for, while, do-while 1 Μαρτίου 014 1 Εντολές εκτέλεσης υπό συνθήκη Μπορούμε να εκτελέσουμε εντολές της γλώσσας σε περίπτωση που κάποια συνθήκη ισχύει χρησιμοποιώντας την εντολή
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην
2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1
Διάλεξη 11η: Δείκτες, μέρος 1
Διάλεξη 11η: Δείκτες, μέρος 1 Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Pointers I CS100, 2016-2017
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι πίνακες στη C (μονοδιάστατοι πίνακες) Γενικά για τους πίνακες Ο πίνακας είναι μια αρκετά διαδεδομένη δομή που προσφέρεται από σχεδόν κάθε γλώσσα προγραμματισμού. Πρόκειται
Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C
Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι δείκτες στη C Η έννοια του δείκτη Την έννοια του δείκτη τη συναντήσαμε σε προηγούμενα μαθήματα: είδαμε ότι συνάρτηση scanf(), καταχωρίζει τιμές σε μεταβλητές χρησιμοποιώντας
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 14. Πίνακες Ι. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων
Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 14. Πίνακες Ι Ιωάννης Κατάκης Πίνακες o Εισαγωγή o Δήλωση o Αρχικοποίηση o Πρόσβαση o Παραδείγματα 2 Πίνακες -Εισαγωγή o Μία δομή δεδομένων είναι ένα σύνολο
ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C
ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C 1 Εισαγωγή Ο προγραμματισμός είναι μια διαδικασία επίλυσης προβλημάτων με χρήση Η/Υ. Ένα πρόγραμμα είναι ένα σύνολο εντολών κάποιας γλώσσας προγραμματισμού,
Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 8.1-8.3 Πίνακες Ι ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 15-1 Πίνακες (Arrays) Σε αυτή την ενότητα θα µιλήσουµε για την δοµή δεδοµένων Πίνακας: 1. Εισαγωγή & Σύνταξη 2. ήλωση Πίνακα 3. Αρχικοποίηση
Δομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα 6: Πίνακες Κώστας Κουκουλέτσος, Καθηγητής Τμήμα Η.Υ.Σ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Προγραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 8: Πίνακες, Αλφαριθμητικά Πίνακες Ο πίνακας είναι μια ειδική δομή για την αποθήκευση μιας σειράς από δεδομένα του ίδιου τύπου. Η δήλωση ενός πίνακα γίνεται όπως για μια
Οι εντολές ελέγχου της ροής ενός προγράμματος.
Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 10 Ο. Δομές Ενώσεις Απαριθμητοί τύποι δεδομένων ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΣΙΝΑΤΚΑΣ Ι ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 10 Ο Δομές Ενώσεις Απαριθμητοί τύποι δεδομένων Εισαγωγή Οι βασικοί τύποι δεδομένων στην C είναι char, int, float και double Το επόμενο βήμα δεδομένων
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Συναρτήσεις εισόδου/εξόδου, τελεστές Η συνάρτηση scanf() είσοδος δεδομένων Διαβάζει από το πληκτρολόγιο (stdin) μορφοποιημένες τιμές μεταβλητών. scanf (ΣΕΙΡΑ_ΕΛΕΓΧΟΥ, δείκτης_μεταβλητής-1,
Πίνακες. Χρησιμοποιούνται για αποθήκευση συνόλου δεδομένων του ίδιου τύπου. Γραμμική Διάταξη Δήλωση Τύπος Δεδομένων ΌνομαΠίνακα[ length ]
Πίνακες Χρησιμοποιούνται για αποθήκευση συνόλου δεδομένων του ίδιου τύπου. Γραμμική Διάταξη Δήλωση Τύπος Δεδομένων ΌνομαΠίνακα[ length ] Πχ: int A[5]; Αριθμητική τιμή που εκφράζει το μέγεθος του πίνακα
3. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Β' μέρος: switch και :? )
3. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Β' μέρος: switch και :? ) 3.1 Η εντολή switch case Στην περίπτωση που θέλουμε να εξετάσουμε πολλές διαφορετικές τιμές, θα αναγκαζόμασταν να φτιάξουμε ένα κώδικα που θα περιέχει πολλά