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

Σχετικά έγγραφα
Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

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

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

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

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

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

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

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Οικονομικά Μαθηματικά

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Πληροφορική II. Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι. τύποι δεδομένων. Δρ. Γκόγκος Χρήστος

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

ΜΑΘΗΜΑ: ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

ΜΑΘΗΜΑ: Ηλεκτρονικά Ισχύος

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ(Visual Basic)

Δομημένος Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Οργανωσιακή Συμπεριφορά Ενότητα 1: Η έννοια της οργάνωσης και διοίκησης

Θερμοδυναμική - Εργαστήριο

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 3: Constructors και destructors

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

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

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΣΧΕΔΙΟ ΣΤΟΝ Η/Υ. Ενότητα 5: Εντολή Array. Παπαδόπουλος Χρήστος Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων

Θερμοδυναμική - Εργαστήριο

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Οικονομικά Μαθηματικά

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Κληρονομικότητα. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Μεταγλωττιστές. Ενότητα 4: Τυπικές γλώσσες (Μέρος 3 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Υπολογιστικά Συστήματα

ΑΣΚΗΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: Δρ. Μαυρίδης Δημήτριος. ΤΜΗΜΑ: Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Μαθηματικά. Ενότητα 9: Όριο Συνάρτησης στο Διηνεκές. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προγραμματισμός H/Y Ενότητα 7: Αρχεία. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

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

ΑΝΑΛΥΣΗ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΩΝ ΚΑΤΑΣΤΑΣΕΩΝ

ΣΧΕΔΙΟ ΣΤΟΝ Η/Υ. Ενότητα 4: Εντολή σχεδίασης Arc Εντολές επεξεργασίας Copy, Explode. Παπαδόπουλος Χρήστος Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Μαθηματικά. Ενότητα 3: Εξισώσεις και Ανισώσεις 1 ου βαθμού. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Οικονομικά Μαθηματικά

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προγραμματισμός και Εφαρμογές Υπολογιστών

Ηλεκτρικές Μηχανές Ι. Ενότητα 2: Τριφασικοί Μετασχηματιστές. Τσιαμήτρος Δημήτριος Τμήμα Ηλεκτρολόγων Μηχανικών Τ.Ε

Ειδικά Θέματα Προγραμματισμού

Θερμοδυναμική - Εργαστήριο

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Οργανωσιακή Συμπεριφορά Ενότητα 10: Διαδικασίες για τη λήψη αποφάσεων στην οργάνωση

Οικονομικά Μαθηματικά

Λογιστικές Εφαρμογές Εργαστήριο

Ηλεκτρικές Μηχανές Ι. Ενότητα 1: Εισαγωγή. Τσιαμήτρος Δημήτριος Τμήμα Ηλεκτρολόγων Μηχανικών Τ.Ε

Οικονομικά Μαθηματικά

Ηλεκτρονικοί Υπολογιστές

Οικονομικά Μαθηματικά Ενότητα 11: Δείκτης Κερδοφορίας

Μαθηματικά. Ενότητα 6: Ασκήσεις Ορίων Συνάρτησης. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Φιλικές συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΑΝΤΙΡΡΥΠΑΝΤΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΑΙΩΡΟΥΜΕΝΩΝ ΣΩΜΑΤΙΔΙΩΝ Ενότητα 2: Αιωρούμενα σωματίδια & Απόδοση συλλογής Αν. Καθ. Δρ Μαρία Α. Γούλα Τμήμα Μηχανικών

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Χρηματοοικονομική Διοίκηση Ενότητα 1: Εισαγωγή

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 9: Ειδικά θέματα γλώσσας C/C++. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΜΑΘΗΜΑ: Μεταγλωττιστές

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

ΣΧΕΔΙΟ ΣΤΟΝ Η/Υ. Ενότητα 8: Εισαγωγή στις διαστάσεις (Dimension). Παπαδόπουλος Χρήστος Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων

Διοίκηση Ανθρώπινων Πόρων Ενότητα 3: Νεοκλασική τακτική στη διοίκηση του προσωπικού

Φωνολογική Ανάπτυξη και Διαταραχές

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

Υπολογιστικά Συστήματα

Transcript:

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

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

Σκοποί ενότητας Σκοπός της ενότητας είναι να κατανοήσει ο φοιτητής τη δημιουργία και χρησιμότητα του δισδιάστατου πίνακα, την πρόσβαση στα στοιχεία ενός δισδιάστατου πίνακα, την αρχικοποίησή του και την εμπέδωση όλων των παραπάνω μέσα από παραδείγματα ώστε να απλοποιηθούν οι εργασίες προγραμματισμού για την επεξεργασία μεγάλου πλήθους δεδομένων. 4

Περιεχόμενα ενότητας Δισδιάστατος Πίνακας. Δήλωση Πίνακα. Πρόσβαση στα Στοιχεία Δισδιάστατου Πίνακα. Αρχικοποίηση Πίνακα. Παραδείγματα. 5

Δισδιάστατοι Πίνακες Οι δισδιάστατοι πίνακες στη C μοιάζουν με μαθηματικούς πίνακες δύο διαστάσεων και αποτελούνται από γραμμές και στήλες. Αποτελούνται από στοιχεία του ιδίου τύπου, όπως και οι μονοδιάστατοι πίνακες. 6

Δήλωση δισδιάστατου πίνακα Τύπος_δεδομένων όνομα_πίνακα[πλήθος_γραμμών] [πλήθος_στηλών]; Π.χ. int a[3][4]; Κάθε θέση μνήμης έχει δύο αριθμούς από τους οποίους ο ένας προσδιορίζει τη γραμμή και ο άλλος τη στήλη στην οποία βρίσκεται η θέση μνήμης. 7

Βασικά χαρακτηριστικά του Δισδιάστατου Πίνακα (1) Ο τύπος δεδομένων του πίνακα αντιστοιχεί στον τύπο δεδομένων των στοιχείων του πίνακα. Δηλαδή μπορεί να είναι int, float, char, κτλ. Ένας πίνακας κρατάει δεδομένα του ίδιου τύπου και μόνο. Το όνομα είναι το όνομα που δίνουμε σε έναν πίνακα όπως σε μια απλή μεταβλητή, π.χ. Α, tei, deep, κλπ. 8

Δήλωση Πίνακα Παράδειγμα: int Α [ 2 ] [ 4 ]; Δηλώνει ένα δισδιάστατο πίνακα 2x4 με όνομα Α. float B[3][5]; Δηλώνει ένα δισδιάστατο πίνακα 3x5 με όνομα B. 9

Πρόσβαση σε στοιχείο δισδιάστατου πίνακα (1) Πρόσβαση σε συγκεκριμένο στοιχείο ενός 2- διάστατου πίνακα μπορούμε να κάνουμε με τη βοήθεια δύο δεικτών, από τους οποίους ο πρώτος δείχνει τη γραμμή και ο δεύτερος τη στήλη στην οποία βρίσκεται το αντίστοιχο στοιχείο. Όταν λέμε ότι διαβάζουμε έναν πίνακα, εννοούμε ότι διαβάζουμε στοιχείοστοιχείο του πίνακα 10

Πρόσβαση σε στοιχείο δισδιάστατου πίνακα (2) Είναι σημαντικό να αναφερθεί ότι το πρώτο στοιχείο ενός πίνακα έχει δείκτες 0 για την 1η διάσταση (γραμμή) και 0 για τη 2η (στήλη). Παράδειγμα: int M[2][4]; το 1ο στοιχείο του πίνακα M είναι το M[0][0], και το τελευταίο το M[1][3] (2η γραμμή και 4η στήλη). 11

Αρχικοποίηση Δισδιάστατου Πίνακα (1) Όπως στο μονοδιάστατο πίνακα και τα στοιχεία ενός δισδιάστατου πίνακα μπορούν να αρχικοποιηθούν μαζί με τη δήλωσή του. Οι αρχικές τιμές αποδίδονται στα στοιχεία του πίνακα ανά γραμμή. Παράδειγμα int B[3][4] = {11,3,6,7,8,9,3,7,8,9,21,33}; 12

Αρχικοποίηση Δισδιάστατου Πίνακα (2) Αν η λίστα των τιμών είναι μικρότερη από το πλήθος των στοιχείων του πίνακα, ο μεταγλωττιστής αποδίδει την τιμή 0 στα υπόλοιπα στοιχεία του δισδιάστατου πίνακα. Παράδειγμα: int A[3][3]={2,4,6}; τα στοιχεία της δεύτερης και τρίτης γραμμής γίνονται 0. 13

Αρχικοποίηση Δισδιάστατου Πίνακα (3) Σε αντίθεση με το μονοδιάστατο πίνακα, δεν μπορούμε να δηλώσουμε το εξής: int x[] []={0,1,2,3,4,5,6}, χωρίς να δηλώσουμε τις ακριβείς διαστάσεις, γιατί δε γίνεται κατανοητό το ποιες είναι οι διαστάσεις του πίνακά μας. Έτσι, ο πίνακας θα μπορούσε να είναι 6Χ1, 3Χ2, 2Χ3, 1Χ6. 14

Τοποθέτηση τιμών σε δισδιάστατο πίνακα Στην περίπτωση ενός δισδιάστατου πίνακα χρειαζόμαστε δύο δομές for, τη μια εμφωλευμένη στην άλλη. Η πρώτη μετράει τις γραμμές του πίνακα, ξεκινώντας από τη θέση 0, και η δεύτερη τις στήλες του. 15

Δημιουργία και εμφάνιση δισδιάστατου πίνακα Σχήμα 1. Δημιουργία και εμφάνιση δισδιάστατου πίνακα, πηγή: Διδάσκων, 2014. 16

Άθροισμα των στοιχείων ενός δισδιάστατου πίνακα int A[2][2]; int i,j,sum; sum=0; for(i=0;i<2;i++) { for(j=0;j<2;j++) { printf("dwse to stoixeio A(%d,%d)\n", i, j); scanf("%d", &A[i][j]); sum=sum+a[i][j];} } 17

Υπολογισμός αθροίσματος κάθε γραμμής δισδιάστατου πίνακα for(i=0;i<2;i++) {ath=0; {for(j=0;j<2;j++) ath=ath+a[i][j]; printf("grammh %d = %d\n",i+1,ath);}} 18

Υπολογισμός αθροίσματος κάθε στήλης δισδιάστατου πίνακα for(j=0;j<2;j++) {ath_sth=0; {for(i=0;i<2;i++) ath_sth=ath_sth+a[i][j]; printf("sthlh %d = %d\n",j+1,ath_sth);}} 19

Βιβλιογραφία μαθήματος Kernighan, B. & Ritchie D. (1990). H Γλώσσα Προγραμματισμού C, Κλειδάριθμος, Αθήνα. Καρολίδης Δ. (2013). Μαθαίνετε εύκολα C. ISBN 978-960- 93-5034-1. Τσελίκης Γ. & Τσελίκας, Ν. (2012).C Από τη θεωρία στην Εφαρμογή (β Έκδοση). ISBN: 978-960-93-1961-4. Χατζηγιαννάκης, Ν. (2012). Η γλώσσα C σε βάθος. Κλειδάριθμος, Αθήνα. 20

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