Τεχνολογία και Προγραμματισμός Υπολογιστών Ενότητα 5: Τύπος πίνακα,Μεταβλητές με δείκτη, Πολυδιάστατοι πίνακες Επίκουρος Καθηγητής Χρήστος Μακρής Τμήμα.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Το αλφαριθμητικό (string)
Advertisements

Πίνακες-Αλφαριθμητικά
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜMΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
Ολυμπιάδα Πληροφορικής
ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Πέρασμα παραμέτρων, συναρτήσεις δόμησης και αποδόμησης.
Μετατροπή Εκφράσεων σε C
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Επανάληψη.
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αλφαριθμητικά (Strings)
Δομές Δεδομένων και Αρχεία Ενότητα 4: Ευρετηριασμένα Αρχεία Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας.
1 Εμπορικό και Οικονομικό Δίκαιο Εταιρείες Παππά Βιβή Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Γενική Οικονομική Ιστορία Ενότητα # 3: Οι μεγάλες αυτοκρατορίες Διδάσκων: Ιωάννα-Σαπφώ Πεπελάση Τμήμα: Οικονομικής Επιστήμης.
Τεχνολογία και ποιοτικός έλεγχος Σιτηρών & Αρτοσκευασμάτων Ενότητα 7: Λειτουργικά προϊόντα δημητριακών. Θεοφάνης Γεωργόπουλος, Kαθηγητής Εφαρμογών, Τμήμα.
Ιστορία και Θεολογία των Εκκλησιαστικών Ύμνων Ενότητα 2: Η πρώτη περίοδος της εκκλησιαστικής υμνογραφίας (Α´ - Δ´αι.) Γεώργιος Φίλιας Θεολογική Σχολή Τμήμα.
Εισαγωγή στη Νοσηλευτική Επιστήμη Ενότητα 7: Σχιζοφρένεια - Διδασκαλία Αυτοφροντίδας. Κοτρώτσιου Ευαγγελία, Καθηγητής, Τμήμα Νοσηλευτικής, T.E.I. Θεσσαλίας.
Αρχαίο Ελληνικό Δράμα: Ευριπίδης Ενότητα 17: Ερμηνευτικές παρατηρήσεις στίχων της Μήδειας Μενέλαος Χριστόπουλος Τμήμα Φιλολογίας.
Αρχαίο Ελληνικό Δράμα: Ευριπίδης Ενότητα 1: Γραμματικός και συντακτικός σχολιασμός στίχων 1-48 της Μήδειας Μενέλαος Χριστόπουλος Τμήμα Φιλολογίας.
Εισαγωγή στη Νοσηλευτική Επιστήμη Ενότητα 9: Επικοινωνία. Κοτρώτσιου Ευαγγελία, Καθηγητής, Τμήμα Νοσηλευτικής, T.E.I. Θεσσαλίας.
Γενική Οικονομική Ιστορία Ενότητα # 2: Η Ευρώπη πριν από τη Βιομηχανική Επανάσταση Διδάσκων: Ιωάννα-Σαπφώ Πεπελάση Τμήμα: Οικονομικής Επιστήμης.
Αντικειμενοστραφής Προγραμματισμός (Θ) Ενότητα 5: Είσοδος/ Έξοδος Κλειώ Σγουροπούλου Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Ανοικτά Ακαδημαϊκά Μαθήματα στο.
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ευάγγελος Γ. Ούτσιος Θεόδωρος Γ. Λάντζος.
ΔΟΜΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ C 1.Σχόλια 2.Οδηγίες προεπεξεργαστή 3.Ορισμοί τύπων 4.Δηλώσεις συναρτήσεων (πρωτότυπα) 5.Ορισμός της main 6.Ορισμοί συναρτήσεων.
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ (1) ΔΙΔΑΣΚΩΝ: Αυλωνίτης Μάρκος ΕΞΑΜΗΝΟ Β ΄ ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ.
Εορτολογία Ενότητα 2: Η εορτή του Πάσχα Γεώργιος Φίλιας Θεολογική Σχολή Τμήμα Κοινωνικής Θεολογίας.
Αρχαίο Ελληνικό Δράμα: Ευριπίδης Ενότητα 16: Ερμηνευτικές παρατηρήσεις στίχων της Μήδειας Μενέλαος Χριστόπουλος Τμήμα Φιλολογίας.
1 Ενοποιημένες Χρηματοοικονομικές Καταστάσεις Στάδια Κατάρτισης των ΕΟΚ Δρ. Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Επιχειρηματικότητα Ενότητα # 3: Γενικές επισκοπήσεις για την επιχειρηματική δράση στην πράξη στην Ελλάδα. Από την ιδέα στην υλοποίηση: Το νομικό πλαίσιο.
1 Λογιστική Εθνικών Λογαριασμών Διανεμητικές Συναλλαγές Διακομιχάλης Μιχαήλ Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Διδακτική της Πληροφορικής
Τεχνολογία και Προγραμματισμός Υπολογιστών
Επανάληψη.
Ο Υπαλληλικός Κώδικας του 1951
Χαρακτήρες και συμβολοσειρές
Η μονιμότητα των δημοσίων υπαλλήλων
Το Αντικείμενο του Λογικού Σχεδιασμού
Τεχνολογία και Προγραμματισμός Υπολογιστών
Προγραμματισμός Ι Εισαγωγικά θέματα.
Πίνακες Προγραμματισμός Ι
Αρχαίο Ελληνικό Δράμα: Ευριπίδης
Οι διοικητικές εκκαθαρίσεις
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στη Νοσηλευτική Επιστήμη
Ενισχυτική διδασκαλία
Ενισχυτική διδασκαλία
ΒΟΗΘΕΙΑ ΣΕ επεμβατικεσ πραξεισ
Εισαγωγή στη Νοσηλευτική Επιστήμη
for (παράσταση_1; παράσταση_2; παράσταση_3)
Δομές διακλάδωσης, επαναλήψεις, μέθοδοι
Ταξινόμηση Ορισμός: Δοθέντων των στοιχείων a1,a2,… ,an η ταξινόμηση συνίσταται στην αντιμετάθεση της θέσης των στοιχείων ώστε να τοποθετηθούν με μια νέα.
Τεχνολογία και Προγραμματισμός Υπολογιστών
Λογιστική Κόστους Ενότητα # 1: Εισαγωγή Διδάσκουσα: Σάνδρα Κοέν
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Αρχαίο Ελληνικό Δράμα: Ευριπίδης
Ποιοτικός Έλεγχος Πρώτων Υλών
Αρχαίο Ελληνικό Δράμα: Ευριπίδης
Αρχαίο Ελληνικό Δράμα: Ευριπίδης
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(6)
Ενότητα 10: Άτμιση του Ξύλου.
Αρχαίο Ελληνικό Δράμα: Ευριπίδης
«Από τη MicroWorlds Pro στην Python»
Η χιονονιφάδα και το τρίγωνο του Pascal
Αρχαίο Ελληνικό Δράμα: Ευριπίδης
Πρωτογενείς τύποι δεδομένων
Αρχαίο Ελληνικό Δράμα: Ευριπίδης
Επιχειρησιακές Επικοινωνίες
ΑΣΚΗΣΕΙΣ C.
ΑΣΚΗΣΕΙΣ.
Μεταγράφημα παρουσίασης:

Τεχνολογία και Προγραμματισμός Υπολογιστών Ενότητα 5: Τύπος πίνακα,Μεταβλητές με δείκτη, Πολυδιάστατοι πίνακες Επίκουρος Καθηγητής Χρήστος Μακρής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών

Τύπος πίνακα,Μεταβλητές με δείκτη, Πολυδιάστατοι πίνακες

3 Τίτλος Ενότητας Τύπος Πίνακα  Σύνθετος τύπος δεδομένων  Αναπαριστά ένα σύνολο ομοειδών τιμών - π.χ. βαθμοί ενός μαθητή, θερμοκρασίες ενός μήνα  Χαρακτηριστικά: μέγεθος πίνακα, τύπος στοιχείων

4 Τίτλος Ενότητας Δήλωση - Αρχικοποίηση Δήλωση [ ] π.χ. float bathmos[5]; Αρχικοποίηση float bathmos[5]={10, 8, 12.5, 15.5, 14}; float bathmos[ ]={10, 8, 12.5}; (προσοχή στο πλήθος των αρχικών τιμών, οι υπόλοιπες αρχικοποιούνται με 0)

5 Τίτλος Ενότητας Προσπέλαση - Αναφορά  Τα στοιχεία ενός πίνακα αποθηκεύονται σε γειτονικές (διαδοχικές) θέσεις μνήμης.  Ο πίνακας είναι μία δομή τυχαίας προσπέλασης bathmos bathmos[0]bathmos[1] bathmos[4] Δείκτης θέσης

6 Τίτλος Ενότητας Μεταβλητές με ενδείκτη - Ανάθεση  Οι μεταβλητές με δείκτη χρησιμοποιούνται όπως οι κοινές μεταβλητές. π.χ. x=bathmos[3]*2; y=(bathmos[i]+10)/5;  Oι μεταβλητές με δείκτη χρησιμοποιούνται για ανάθεση/επεξεργασία των τιμών στα στοιχεία του πίνακα. π.χ. bathmos[3]=14; bathmos[j]=bathmos[j+1]+10; - π.χ. βαθμοί ενός μαθητή, θερμοκρασίες ενός μήνα  Χαρακτηριστικά: μέγεθος πίνακα, τύπος στοιχείων

7 Τίτλος Ενότητας Παράδειγμα Θεωρούμε μονοδιάστατο πίνακα 20 ακεραίων στοιχείων (int num[20]). Nα γραφεί κώδικας C που να αυξάνει τα αρνητικά στοιχεία κατά 1 και να μειώνει τα θετικά κατά 2. for (i=0; i<20; i++) if (num[i] <0) num[i]++; else num[i]-=2;

8 Παράδειγμα αρχικοποίησης πίνακα Παράδειγμα εύρεσης μέσου όρου στοιχείων πίνακα Παράδειγμα εύρεσης ελάχιστης τιμής πίνακα Παράδειγμα εύρεσης μέγιστης τιμής πίνακα Παράδειγμα ψαξίματος σε πίνακα

9 Τίτλος Ενότητας Αλφαριθμητικά - Πίνακες  Αλφαριθμητικό = ακολουθία αλφαβητικών και αριθμητικών χαρακτήρων (π.χ. αριθμός σειράς μηχανήματος, ISBN βιβλίου κλπ) Pascal -> ειδικός τύπος (string) C -> πίνακας χαρακτήρων με τελευταίο στοιχείο το μηδενικό χαρακτήρα (‘\0’)

10 Τίτλος Ενότητας Αλφαριθμητικά (2)  Εκτύπωση printf(“Hello”); printf(“Ο αριθμός είναι %s\n”, str);  Εισαγωγή scanf(“%s”, str); ή scanf(“%s”, &str[0]); διαβάζει μέχρι το πρώτο κενό προσοχή στην υπέρβαση του μεγέθους  Χαρακτηριστικά: μέγεθος πίνακα, τύπος στοιχείων

11 Τίτλος Ενότητας Παράδειγμα #include #define MAX_CHARS 80 main ( ) { char str[MAX_CHARS]; int i; printf(“Δώσε αλφαριθμητικό:”); scanf(“%s”, str); for (i=0; i<10; i++) printf(“%s\n”, str); } i=0; while (str[i]!=‘\0’) printf(“%c”, str[ι++]);

12 Τίτλος Ενότητας Συναρτήσεις Αλφαριθμητικών char *gets(char *s) int puts (const char *s) int strlen(cs) int strcmp(cs,ct) char *strcpy(s,ct) char *strcat(s,ct) fgets(char*s, int n, FILE *fstream); (διαβάζει το πολύ n-1 χαρακτήρες σταματώντας αν συναντήσει χαρακτήρα νέας γραμμής)

Παράδειγμα ανάγνωσης και εκτύπωσης συμβολοσειράς Παράδειγμα αρχικοποίησης συμβολοσειράς Παράδειγμα αντίστροφης εκτύπωσης συμβολοσειράς Παράδειγμα χρήσης συναρτήσεων Παράδειγμα που από μία συμβολοσειρά αποκόπτονται τα κενά

14 Τίτλος Ενότητας Δισδιάστατος Πίνακας (1)  Αναπαράσταση 10 φοιτητών και 4 μαθημάτων: χρήση δισδιάστατου πίνακα. int bathmos[10][4] (πίνακας 10 στοιχείων, κάθε στοιχείο πίνακας 4 ακεραίων ή πίνακας 10 γραμμών και 4 στηλών.  bathmos[0][1] -> βαθμός 2ου μαθήματος, πρώτου φοιτητή  Αποθήκευση στη μνήμη κατά γραμμές (σαν μονοδιάστατος)

15 Τίτλος Ενότητας Διδιάστατος Πίνακας (2) Αρχικοποίηση int bathmos[4][3]={ {14,15,18} {12,14,16} {18,15,17} {13,19,18}} Μαθήματα (Στήλες) Φοιτητές (Γραμμές)

16 Πολλαπλασιασμός πινάκων Υλοποίηση λεξικού μετάφρασης όρων

17 Τίτλος Ενότητας Τύπος Δείκτη (1)  Ορισμός: Μεταβλητή δείκτη (pointer variable) ή δείκτης (pointer) = μεταβλητή με τιμή μία διεύθυνση της κύριας μνήμης  Δεν υπάρχει τέτοια δυνατότητα σε όλες τις γλώσσες  Μεταβλητή με δείκτη (indexed variable): είναι κάτι διαφορετικό

Τέλος Ενότητας

19 Τίτλος Ενότητας Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Σημειώματα

21 Τίτλος Ενότητας Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0.

22 Τίτλος Ενότητας Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.