ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
|
|
- Ὀλυμπιόδωρος Πολίτης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Τέταρτη Διάλεξη ΠΙΝΑΚΕΣ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Έστω ότι έχουμε το εξής πρόβλημα: εισάγουμε μια σειρά αριθμών από το πληκτρολόγιο και θέλουμε να βρούμε τον μέγιστο και τον ελάχιστο. Γενικά, είναι εύκολο να υλοποιηθεί ένα πρόγραμμα για το σκοπό αυτό (βλ. και τρίτη σειρά ασκήσεων). Τι γίνεται όμως, αν, μετά από την εύρεση του μεγίστου και ελαχίστου, θέλουμε να υποβάλουμε τους ίδιους αριθμούς και σε περαιτέρω επεξεργασία; Μία λύση θα ήταν να τους ξαναβάζαμε με το χέρι απαράδεκτη εκτός από πολύ μικρό αριθμό δεδομένων και πολύ μικρά προγράμματα, μάλλον χωρίς ιδιαίτερη χρησιμότητα. Δεύτερη λύση είναι το πρόγραμμα να γράψει τους αριθμούς σε ένα αρχείο και να το ξαναδιαβάσει όποτε χρειαστεί. Αυτό έχει τρία προβλήματα: η σειριακή ανάγνωση μας επιβάλλει και μια σειρά χειρισμού των αριθμών, αν έχουμε χιλιάδες αριθμούς τρώμε δίσκο και η ανάγνωση και εγγραφή είναι συγκριτικά χρονοβόρες και για μαζικό χειρισμό δεδομένων θα επιβραδύνει το πρόγραμμα. Η τρίτη λύση είναι η χρήση πινάκων (arrays). Οι πίνακες είναι ειδική περίπτωση ή η πρώτη απλή περίπτωση τωνλεγόμενων δομών δεδομένων που θα μελετήσουμε στη γενικότητά τους σε επόμενο μάθημα. Πίνακας (array) είναι ένα σύνολο μεταβλητών του ιδίου τύπου που έχουν κοινό όνομα. Αυτές διακρίνονται η μία από την άλλη, από έναν ακέραιο αριθμό που ονομάζεται αριθμοδείκτης ή απλά δείκτης του πίνακα. Αν ένας πίνακας έχει Ν στοιχεία, τότε ο αριθμοδείκτης κυμαίνεται από μηδέν μέχρι Ν-1. Τρόπος δήλωσης και γραφής: Δήλωση ακέραιου πίνακα με δέκα στοιχεία: int a[10]; Απόδοση της τιμής 9 στο πρώτο και στο δέκατο στοιχείο του παραπάνω πίνακα: a[0] = a[1] = 9; Τύπος όνομα μέγεθος Είχαμε πει ότι οι μεταβλητές έχουν τύπο και όνομα, ενώ οι συναρτήσεις έχουν τύπο, όνομα και προαιρετική λίστα παραμέτρων με τύπους και ονόματα. Οι πίνακες έχουν τύπο, όνομα και μέγεθος που ισούται με τον αριθμό των στοιχείων τους. Μια απλή μεταβλητή καταλαμβάνει μία θέση μνήμης ή τόσες όσες χρειάζονται για τον τύπο της. Ένας πίνακας καταλαμβάνει το γινόμενο των bytes που αντιστοιχούν στον τύπο επί το μέγεθος του πίνακα. Αυτό το ποσό μνήμης δεσμεύεται αμέσως μόλις γίνει η δήλωση του πίνακα. Τα στοιχεία του πίνακα αποθηκεύονται στη σειρά το ένα μετά το άλλο (αυτό το τονίζουμε επειδή δεν είναι δεδομένο με τους δείκτες που θα δούμε παρακάτω μπορούμε να κατασκευάσουμε δομές δεδομένων όπου δεν ισχύει απαραίτητα η διαδοχική τοποθέτηση). Για να βρούμε το μέγεθος σε bytes που καταλαμβάνει μία απλή μεταβλητή μπορούμε να χρησιμοποιήσουμε τον τελεστή sizeof, π.χ. για τη μεταβλητή var γράφουμε: sizeof(var). Το ίδιο μπορούμε να κάνουμε και για έναν τύπο μεταβλητής, π.χ. sizeof(float). Το ίδιο ακριβώς μπορούμε να κάνουμε και για έναν πίνακα. Επιπλέον, αν είμαστε κάπου μέσα σε ένα πολύ μεγάλο πρόγραμμα και θέλουμε να βρούμε επί τόπου το μέγεθος ενός πίνακα (τον αριθμό των στοιχείων του) με όνομα έστω anarray, τότε αρκεί να γράψουμε:
2 sizeof(anarray) / sizeof(anarray[0]). Σύνηθες λάθος εκτέλεσης: απόπειρα πρόσβασης στοιχείου πίνακα που δεν έχει οριστεί. Π.χ. έχουμε μία δομή for με μια ακέραιη μεταβλητή ελέγχου που χρησιμεύει ως αριθμοδείκτης κάποιου πίνακα και σε κάποια στιγμή λόγω πράξεων που εκτελούνται στα πλαίσια του προγράμματος, ξεπερνά το μέγεθος του πίνακα. Χρειάζεται προσοχή! Εδώ είναι που μπορεί να βοηθήσει ο τελεστής sizeof με τον τρόπο που δείξαμε. Αρχικοποίηση όπως και με τις απλές μεταβλητές, δηλαδή είτε στη δήλωση είτε μετά: στη δήλωση: int length[3] = {1, 3, 5}; στο κύριο σώμα του προγράμματος, είτε ένα-ένα στοιχείο κατά περίπτωση είτε όλα μαζί συνήθως με κάποια δομή for. Στην αρχικοποίηση με δήλωση μπορούμε να παραλείψουμε το μέγεθος μέσα στις αγκύλες γιατί ο μεταγλωττιστής θα μετρήσει τα στοιχεία που θα βρει στη λίστα μέσα στα άγκιστρα: int length[] = {1, 3, 5}; /* σωστό! */ Αν στη δήλωση ορίσουμε μόνο μερικά στοιχεία, τα υπόλοιπα συμπληρώνονται αυτόματα με 0. Π.χ. float x[5] = {1.2, 3.24, 6.8}; εδώ τα δύο τελευταία είναι ίσα με 0. Αυτό επιτρέπει ένα καλό τέχνασμα για να αρχικοποιούμε μεμιάς μεγάλους πίνακες: αρκεί να αρχικοποιήσουμε ένα στοιχείο του, ως εξής: int big[10000] = {0}; Όλα έγιναν αυτόματα μηδέν! Παραδείγματα με for για άλλες περιπτώσεις για τις οποίες δε μας κάνει το μηδέν ως αρχική τιμή: int i, x[50]; for(i=0; i<50; i++) x[i] = i; Ας δώσουμε διαφορετικές τιμές στα στοιχεία με άρτιο αριθμοδείκτη από αυτά με περιττό: for(i=0; i<25; i++){ } x[2*i] = 1; x[2*i+1] = 0; Δηλαδή μπορούμε να βάλουμε ακόμη και ολόκληρες (ακέραιες) παραστάσεις για αριθμοδείκτη αρκεί να μη βγαίνουν εκτός ορίων του πίνακα. Πίνακες χαρακτήρων και αλφαριθμητικά. Μέχρι τώρα όταν θέλαμε να τυπώσουμε κάτι στην οθόνη καλούσαμε την printf και μέσα βάζαμε κάποια φράση σε. Αυτά είναι τα λεγόμενα αλφαριθμητικά (strings). Από την άλλη, είδαμε ότι υπάρχουν και μεταβλητές char που όταν τους αποδίδουμε τιμή πρόκειται για ένα και μόνο χαρακτήρα σε απλά εισαγωγικά ' '. Τι συμβαίνει εδώ; Οι πίνακες μπορούν να είναι και τύπου char. Τα αλφαριθμητικά αποθηκεύονται σαν πίνακες χαρακτήρων που όμως έχουν επιπλέον και έναν αόρατο χαρακτήρα στο τέλος, τον λεγόμενο κενό χαρακτήρα '\0' (καμία σχέση με το κενό διάστημα, ' '). Οι πίνακες χαρακτήρων δεν είναι αλφαριθμητικά εφόσον δεν έχουν τον κενό χαρακτήρα στο τέλος. Ένα αλφαριθμητικό με Ν γράμματα έχει μέγεθος Ν+1 λόγω και του κενού
3 χαρακτήρα. Για να ορίσουμε και αρχικοποίησουμε ένα αλφαριθμητικό, θα ορίσουμε έναν πίνακα τύπου char, αλλά δεν είναι ανάγκη να ορίσουμε το μέγεθός του, διότι ο μεταγλωττιστής θα το αποδώσει αυτόματα: char lala[] = Kozani city ; Τα διπλά εισαγωγικά τονίζουν τη διαφορετική φύση των αλφαριθμητικών από τους γενικούς πίνακες χαρακτήρων. Σημείωση: για να τυπώσω ένα αλφαριθμητικό αποθηκευμένο σε μεταβλητή με τη συνάρτηση printf χρησιμοποιώ την προδιαγραφή %s, δηλαδή, π.χ. δίνει printf( %s, lala); Kozani city Πολυδιάστατοι πίνακες. Οι πίνακες που εξετάσαμε μέχρι εδώ είναι μονοδιάστατοι και μοιάζουν περισσότερο με αυτό που λέμε στα μαθηματικά, ανύσματα. Μπορούν όμως να οριστούν και πίνακες όπου η θέση ενός στοιχείου προσδιορίζεται από δύο αριθμοδείκτες. Αυτοί οι πίνακες μοιάζουν με αυτούς που ξέρουμε από τα μαθηματικά και λέμε ότι έχουν διαστατικότητα (dimensionality) δύο, αντίθετα από αυτούς που είδαμε ως εδώ και που έχουν διαστατικότητα ένα. Στην πραγματικότητα, μπορούν να οριστούν πίνακες διαστατικότητας Ν γενικότερα. Αυτοί χρειάζονται Ν αριθμοδείκτες για να προσδιοριστεί η θέση ενός στοιχείου τους. Βλέπουμε ότι τέτοιοι πίνακες για να δηλωθούν χρειάζονται τύπο, όνομα, διαστατικότητα και μέγεθος ανά διάσταση, δηλαδή πλήθος στοιχείων που το γράφουμε σε ξεχωριστές αγκύλες. Δήλωση: Δήλωση πίνακα με 5 γραμμές και 4 στήλες. int a[5][4]; Κάθε γραμμή είναι στην πραγματικότητα με τη σειρά της ένας μονοδιάστατος πίνακας. Αυτός είναι ο λόγος που γράφουμε a[m][n] και όχι a[m, n] όπως θα κάναμε σε άλλες γλώσσες προγραμματισμού. Αρχικοποίηση: int b[2][3] = {{1, 2, 3}, {3, 2, 5}}; Μπορούμε να τα γράψουμε και το ένα κάτω από το άλλο για πιο ευανάγνωστα: int b[2][3] = {{1, 2, 3}, {3, 2, 5}}; Αλλά θα μπορούσαν να δοθούν και σα μία μονοκόμματη λίστα {1, 2, 3, 3, 2, 5} και ο μεταγλωττιστής θα ήξερε που να τα βάλει. Όταν αρχικοποιούμε ταυτόχρονα με τη δήλωση, μπορούμε να αφήσουμε την πρώτη (και μόνο την πρώτη!) διάσταση απροσδιόριστη διότι θα οριστεί αυτόματα με την αρχικοποίηση, π.χ.: int b[][3] = {{1, 2, 3}, {3, 2, 5}};
4 Σημείωση 1: πρώτα πάνε οι γραμμές και μετά οι στήλες οι οποίες και μεταβάλλονται πιο γρήγορα (δηλαδή στην πράξη τα στοιχεία είναι αποθηκευμένα στη σειρά με τη λογική [1][1], [1][2],...[1][Ν],[2][1],[2][2],...[2],[Ν],...[Ν][1],[Ν][2]...[Ν][Ν]. Σημείωση 2: μπορούμε να έχουμε και περισσότερες από δύο διαστάσεις. Οι πιο δεξιές μεταβάλλονται γρηγορότερα. Επεξεργασία: ταιριάζουν ένθετες δομές for. Έτσι, σε προγράμματα που χρησιμοποιούν πίνακες δύο διαστάσεων είναι πολύ συνηθισμένες οι επαναλήψεις της μορφής ΔΕΙΚΤΕΣ for (i = 0; i < m; i++) for (j = 0; j < n; j++) somearray[i][j] = κάποια_παράσταση(i, j); Είχαμε δει στην εντολή scanf το σύμβολο & μπροστά από τη μεταβλητή ανάγνωσης. Αυτός είναι ο τελεστής διεύθυνσης που δίνει τη διεύθυνση της μεταβλητής όπου επιδρά. Η διεύθυνση μπορεί να αποδοθεί σε μια μεταβλητή που λέγεται δείκτης (pointer). Οι μεταβλητές δείκτη ή απλά δείκτες (pointers) είναι μεταβλητές που η τιμή τους είναι ίση με τη διεύθυνση μιας άλλης μεταβλητής. Οι δείκτες επιταχύνουν την πρόσβαση στα δεδομένα και το χειρισμό τους και προσφέρουν ευελιξία στη διαδικασία ανάπτυξης λογισμικού επιτρέποντας εναλλακτικούς τρόπους απεύθυνσης (addressing). Οι δείκτες, όπως και οι συνήθεις μεταβλητές, δηλώνονται στην αρχή του προγράμματος ή της συνάρτησης που τους χρησιμοποιεί και με τρόπο εντελώς ανάλογο. Όπως υπάρχουν τύποι μεταβλητών έτσι υπάρχουν και αντίστοιχοι τύποι δεικτών (char, int, float, double κλπ) ανάλογα με το τι τύπου μεταβλητή είναι αυτή της οποίας τη διεύθυνση αποθηκεύει ένας δείκτης. Για τον ορισμό και γενικότερα το χειρισμό των δεικτών υπάρχουν δύο τελεστές. Τον ένα είδαμε ήδη και είναι ο τελεστής διεύθυνσης &. Ο άλλος είναι το * και είναι ο τελεστής περιεχομένου (ανάλογα με τη χρήση του * ο μεταγλωττιστής καταλαβαίνει αν πρόκειται για τελεστή περιεχομένου ή για σημείο πολλαπλασιασμού). Έτσι, αν x και px είναι μια πραγματική μεταβλητή και ένας δείκτης επίσης πραγματικού τύπου, μπορούμε να γράψουμε px = &x; x = *px; όπου, η πρώτη σχέση βρίσκει τη διεύθυνση της x (μέσω του τελεστή &) και την αποδίδει στον δείκτη px και η δεύτερη σχέση βρίσκει το περιεχόμενο που υπάρχει στη διεύθυνση την αποθηκευμένη στον δείκτη px και την αποδίδει στη μεταβλητή x. Για την πρώτη σχέση λέμε ότι ο δείκτης px δείχνει στη μεταβλητή x ενώ η δεύτερη λέγεται dereference (ελληνικά;) του δείκτη px. Με βάση τα παραπάνω μπορούμε να παρουσιάσουμε αλλά και να εξηγήσουμε καλύτερα τον τρόπο δήλωσης των μεταβλητών δείκτη. Π.χ. για να ορίσουμε έναν δείκτη πραγματικού τύπου px θα γράψουμε: float *px; Αυτή η εντολή διατυπωμένη με λόγια λέει ότι αν πάρουμε το περιεχόμενο της διεύθυνσης που είναι αποθηκευμένη στο px θα προκύψει ένας πραγματικός αριθμός. Προσοχή! Το όνομα του δείκτη είναι px και όχι *px! Ο τελεστής * στη δήλωση μας μπαίνει εκεί
5 για να μας πει τι θα συμβεί αν πάρουμε το περιεχόμενο της διεύθυνσης px. Βλέπουμε ότι όπως και οι συνήθεις μεταβλητές έτσι και οι δείκτες έχουν όνομα και τύπο στον οποίο δείχνουν. Εκτός από τους ήδη γνωστούς τύπους δεικτών μπορούν να οριστούν και δείκτες τύπου void που είναι κάτι σαν δείκτες γενικής χρήσης χρήσιμοι σε ορισμένες ειδικές περιπτώσεις που θα παρουσιάσουμε αργότερα. Δείκτες και εντολές απόδοσης. Ένας δείκτης, όπως και μια απλή μεταβλητή, μπορεί να μπει στο αριστερό σκέλος μιας εντολής απόδοσης για να του αποδοθεί μια διεύθυνση. Είδαμε ήδη ένα παράδειγμα. Μπορεί να εξισωθεί και με έναν άλλο δείκτη. Σε κάθε περίπτωση, αυτό συνεπάγεται αλλαγή του περιεχομένου της μεταβλητής στην οποία δείχνει ο δείκτης. Δείκτες και πίνακες. Στη C υπάρχει πολύ στενή σχέση μεταξύ δεικτών και πινάκων. Μπορούμε να δουλέψουμε με πίνακες χρησιμοποιοώντας δείκτες αλλά και να αναφερόμαστε σε δείκτες με τον ίδιο τρόπο που αναφερόμαστε σε στοιχεία πινάκων. Αυτό είναι κατανοητό αν σκεφτούμε ότι οι πίνακες είναι ομάδες μεταβλητών τοποθετημένες σε διαδοχικές διευθυνσεις επομένως μπορούμε μεταβάλλοντας κατάλληλα την τιμή μιας μεταβλητής δείκτη που δείχνει κάπου μέσα σε έναν πίνακα να έχουμε πρόσβαση στα διάφορα στοιχεία του. Επίσης μπορούμε να αναφερθούμε σε έναν πίνακα μέσω της διεύθυνσης ενός συγκεκριμένου στοιχείου του και είναι πιο βολικό να διαλέξουμε το πρώτο. Πράγματι, αυτή είναι και η σύμβαση που υιοθετείται από τη γλώσσα C: Έστω ένα πίνακας float pinax[300] ή κάτι ανάλογο. Τότε το όνομά του, π.χ. pinax είναι συνώνυμο με τη θέση (διεύθυνση) του πρώτου στοιχείου του, pinax[0]. Για να αποκτήσουμε πρόσβαση στα στοιχεία του πίνακα, εκτός από τον κλασσικό τρόπο με αριθμοδείκτες, pinax[0], pinax[1] κλπ, έχουμε και άλλον ένα που βασίζεται στη λεγόμενη αριθμητική δεικτών, δηλαδή μπορούμε να γράψουμε αντίστοιχα *pinax, *(pinax+1), κλπ. Τι θα πει αυτό; Προσθέτοντας 1, 2, κλπ σε ένα δείκτη προχωρούμε στην επόμενη διεύθυνση. Δεν αυξάνουμε το δείκτη κυριολεκτικά κατά 1 αλλά είναι μια συντομογραφία για να πούμε ότι πάμε τόσα bytes πιο πέρα όσα είναι αυτά που χρειάζονται για την αποθήκευση μεταβλητής του τύπου όπου δείχνει ο δείκτης (εδώ float). Προσοχή! Υπάρχει ένας περιορισμός, ότι οι πίνακες είναι σταθερές δείκτη δηλαδή δεν επιτρέπεται να τους αλλάξουμε την τιμή και να αποδώσουμε κάποια άλλη μέσω μιας εντολής απόδοσης. Μόνο αλλάζοντας με τον κλασσικό τρόπο ένα-ένα τα στοιχεία του μπορούμε να αλλάξουμε έναν πίνακα! Πάντως, λόγω της παραπάνω ισοδυναμίας μπορούμε να αποδώσουμε έναν ολόκληρο πίνακα σε έναν δείκτη, δηλαδή, π.χ.: float array[10]; float *ptr; ptr = array; εννοώντας ότι ο δείκτης θα δείχνει στο πρώτο στοιχείο του πίνακα. Η τελευταία παραπάνω εντολή είναι το ίδιο σα να γράφαμε: ptr = &array[0]; Η αριθμητική δεικτών μου επιτρέπει να αναπαραστήσω με πολλούς τρόπους ένα στοιχείο πίνακα: *(ptr+i) και array[i] είναι το ίδιο πράγμα (περιεχόμενο του i+1 στοιχείου του array).
6 ptr+i και &(ptr[i]) σημαίνουν το ίδιο πράγμα (διεύθυνση του i+1 στοιχείου του array). Σημείωση: το μηδέν δεν είναι ποτέ έγκυρη διεύθυνση δεδομένων. Οταν ένας δείκτης πάρει την τιμή 0 χρησιμοποιούμε και τη συμβολική σταθερά NULL. Το 0 χρησιμεύει για τη σηματοδότηση ανώμαλης κατάστασης. Εκτός από το 0 οι δείκτες και οι ακέραιοι δεν είναι εναλλάξιμοι, δηλαδή δε μπορούμε να χρησιμοποιούμε δείκτη στη θέση ακέραιου ή ακέραιο στη θέση δείκτη. Επίσης, δε μπορούμε να προσθέτουμε δείκτες. Η αριθμητική δεικτών είναι απλώς μια συμβολική αναφορά στη μετατόπιση κατά έναν αριθμό διευθύνσεων. Με τη βοήθεια του τελεστή περιεχομένου και σε συνδυασμό με άλλους τελεστές όπως αυτός της αύξησης, μπορώ να εκφράσω με συνοπτικό τρόπο σύνθετες διαδικασίες. Παράδειγμα: int *pa, *pb, i, a[10], b[10] = {0}; for (i=0; i<10, i++) a[i] = i; pa = a; pb = b; for(i=0; i<10; i++) { } *pb = *pa++; *pb++ for(i=0; i<a0, i++) printf( %d %d \n, a[i], b[i]); Στο παραπάνω for όπου εξισώνονται τα στοιχεία του πίνακα, πρέπει να λάβουμε υπ' όψιν ότι η προτεραιότητα του τελεστή αύξησης είναι μεγαλύτερη από αυτή του τελεστή περιεχομένου. Έτσι, η εντολή αναλύεται ως εξής: *pb = *pa++; *pb = *pa; pa = pa+1; και μπορεί να μεταφραστεί από γλώσσα δεικτών σε γλώσσα πινάκων: b[i] = a[i]; i = i+1; Προσοχή! Μετά από τα παραπάνω, ο κάθε δείκτης δείχνει στη θέση μνήμης ακριβώς στο τελευταίο στοιχείο του αντίστοιχου πίνακα. Αν λοιπόν θέλαμε να τυπώσουμε τα στοιχεία χρησιμοποιώντας δείκτες αντί για στοιχεία πίνακα, θα έπρεπε να θυμηθούμε να επαναφέρουμε τους δείκτες στην αρχή, οπότε το πρόγραμμα θα ξαναγραφόταν έτσι:... int *pa, *pb, i, a[10], b[10] = {0}; for (i=0; i<10, i++) a[i] = i;
7 pa = a; pb = b; for(i=0; i<10; i++) { } *pb = *pa++; *pb++ pa = a; pb = b; for(i=0; i<a0, i++) printf( %d %d \n, *pa++, *pb++); Δείκτες σε πίνακες χαρακτήρων. Λόγω της ισοδυναμίας δεικτών-πινάκων, μπορούμε να ορίσουμε ένα αλφαριθμητικό ορίζοντας ένα δείκτη που να δείχνει στην αρχή του αλφαριθμητικού. char *pstring = Kozani city ; printf( %s\n,pstring); Μάλιστα, αντίθετα από τους πίνακες, μπορώ να το κάνω να δείχνει αλλού: Αν ορίσω pstring = Ioannina city ; char qstring[] = Kozani city ; εδώ δε μπορώ να αλλάξω την τιμή του. Πάντως, μπορώ να τυπώσω: printf( %s\n,qstring); Αλλά, όπως και με τους πίνακες γενικότερα, η τιμή του είναι αμετάβλητη. Αν την πειράξω το πιθανότερο είναι να πάρω σφάλμα χρόνου εκτέλεσης. Πίνακες δεικτών. Οι πίνακες μπορούν να περιέχουν οποιοδήποτε είδος μεταβλητών αρκεί να είναι του ιδίου τύπου. Έτσι, μπορεί να περιέχουν και δείκτες. Αν οι δείκτες δείχνουν σε άλλους πίνακες, τότε μπορούμε να έχουμε μια πολύ ευέλικτη δομή δεδομένων γιατί μπορούμε να σχηματίσουμε κάτι σαν πίνακα που οι γραμμές του να έχουν διαφορετικό μήκος η κάθε μία. Για την ακρίβεια, κάθε στοιχείο του μπορεί να δείχνει σε πίνακα με διαφορετικό μήκος. Η πιο προφανής και συνήθης εφαρμογή είναι ένας πίνακας που αποθηκεύει αλφαριθμητικά διαφορετικού μήκους: char *strings[4] = { lala, lalala, lalalala, la }; Παρατηρούμε ότι όπως και με τις απλές μεταβλητές, βάζουμε τον τελεστή * στη δήλωση. Δεν είναι ούτε καν απαραίτητο οι πίνακες να είναι αποθηκευμένοι στη μνήμη με την ίδια σειρά που είναι δηλωμένοι στον πίνακα οι αντίστοιχοι δείκτες. Τέλος, η ισοδυναμία δεικτών- πινάκων συνεπάγεται ότι ένας πίνακας με δείκτες μπορεί με τη σειρά του να αναπαρασταθεί από ένα δείκτη στο πρώτο του στοιχείο οδηγώντας σε δείκτες σε
8 δείκτες. Π.χ. σε σχέση με το παραπάνω μπορούμε να ορίσουμε char **sp; sp = strings; Οι δείκτες παρέχουν ευελιξία και τη δυνατότητα πολύ συμπυκνωμένων εκφράσεων για σύνθετες διαδικασίες. Δεν πρέπει όμως να το παρακάνουμε γιατί υπάρχει κίνδυνος σύγχυσης και λαθών ενώ και το πρόγραμμα καταντά δυσνόητο. Ορίσματα γραμμής εντολής: argc, *argv[] = αριθμός ορισμάτων και τιμές ορισμάτων (το 0 στοιχείο είναι το ίδιο το όνομα του προγράμματος) Δυναμική διαχείριση μνήμης: malloc, calloc, realloc
Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"
Πίνακες: μια σύντομη εισαγωγή Πίνακες χαρακτήρων: τα "Αλφαριθμητικά" Πίνακες(Arrays): έννοιες και ορισμοί Ορισμός: Πίνακας (array) = σύνολο μεταβλητών του ιδίου τύπου (int, float, char,...) με ένα κοινό
Διαβάστε περισσότερα6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ
6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 8 η Δείκτες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότερα5ο σετ σημειώσεων - Δείκτες
5ο σετ σημειώσεων - Δείκτες 11 Ιουνίου 01 1 Γενικά Σύμφωνα με το γενικό μοντέλο υπολογιστή, ένας υπολογιστής είναι μία μηχανή που διαθέτει μία κεντρική μονάδα επεξεργασίας η οποία μπορεί μεταξύ άλλων να
Διαβάστε περισσότεραint array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι
Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι δείκτες στη C Η έννοια του δείκτη Την έννοια του δείκτη τη συναντήσαμε σε προηγούμενα μαθήματα. Η συνάρτηση scanf(), καταχωρίζει τιμές σε μεταβλητές χρησιμοποιώντας τον τελεστή
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα 6: Πίνακες Κώστας Κουκουλέτσος, Καθηγητής Τμήμα Η.Υ.Σ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Διαβάστε περισσότεραΤμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος
Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Μονοδιάστατοι Πίνακες (tables) Μια συλλογή μεταβλητών ίδιου τύπου οι οποίες είναι αποθηκευμένες
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η εβδομάδα. Κοζάνη, 2 Δεκεμβρίου 2008. Δίνονται παραδείγματα που αποσαφηνίζουν και συμπληρώνουν όσα αναφέρθηκαν στο μάθημα σχετικά με τις δομές
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 4η σειρά ασκήσεων. Κοζάνη, 1 Νοεμβρίου 2007. Πρόγραμμα p4-1 (μεταγλώττιση και εκτέλεση) Πολύ απλό το πρώτο, για προθέρμανση! Πριν πατήσετε enter
Διαβάστε περισσότεραΚεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες.
Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες. Η C, όπως έχουμε αναφέρει, είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε για πρώτη φορά το 1972 από τον Dennis Ritchie στα AT&T Bell
Διαβάστε περισσότεραΔομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 3 Επανάληψη Γ μέρος 1. Στόχος του εργαστηρίου Στόχος του τρίτου εργαστηρίου είναι
Διαβάστε περισσότερα3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις
3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Διαβάστε περισσότεραΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες
Σκοπός της Άσκησης ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση των δεικτών (pointers). Οι δείκτες δίνουν την δυνατότητα σε προγράμματα να προσομοιώνουν τη
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 13 η Δομές & Ενώσεις Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή
Διαβάστε περισσότεραΕισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C
Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 4ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΟΙ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Με τους τελεστές σύγκρισης, συγκρίνουμε τις
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό «C»
Εισαγωγή Στον Προγραµµατισµό «C» Δείκτες Πανεπιστήµιο Πελοποννήσου Τµήµα Επιστήµης & Τεχνολογίας Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Μνήµη Υπολογιστή Η µνήµη RAM (Random Access Memory) ενός υπολογιστή
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 3: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αριθμητική Δεικτών Δείκτες και Πίνακες Παραδείγματα Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διαβάστε περισσότεραΠρογραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Χαρακτήρες Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Χαρακτήρες - Εισαγωγή Έως τώρα έχουμε κατά κύριο λόγο χρησιμοποιήσει τους αριθμητικούς τύπους
Διαβάστε περισσότεραΥπολογισμός - Συλλογή Δεδομένων - Πίνακες
Προγραμματισμός Η/Υ Ι Υπολογισμός - - Πίνακες ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συζητήσουμε τη χρήση του πίνακα (array) για τη συλλογή
Διαβάστε περισσότεραΚεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C
Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%
Διαβάστε περισσότεραΛύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΣΥΝΑΡΤΗΣΕΙΣ ΣΤΗ C (1/3) +- Στη C χρησιμοποιούμε συχνα τις συναρτήσεις (functions),
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL
8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δείκτες Τι είναι ένας δείκτης (pointer); Όταν δηλώνoυμε μια μεταβλητή σε ένα πρόγραμμα
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Διαβάστε περισσότεραΔιαδικαστικός Προγραμματισμός
ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Διαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 7 ο : Δείκτες Στόχοι μαθήματος Να κατανοήσετε τη δυνατότητα χρήσης διευθύνσεων ως τιμών δεδομένων. Να μπορείτε να χρησιμοποιείτε
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 10 η Αλφαριθμητικά Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης
Διαβάστε περισσότεραΔιάλεξη 11η: Δείκτες, μέρος 1
Διάλεξη 11η: Δείκτες, μέρος 1 Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Pointers I CS100, 2016-2017
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δεύτερη Διάλεξη Βασικά στοιχεία της γλώσσας προγραμματισμού C Μία γλώσσα προγραμματισμού όπως και μια ανθρώπινη γλώσσα μπορεί να μελετηθεί ως προς το αλφάβητό της,
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Αλφαριθμητικά θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΠρογραμματισμός ΙI (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017
Διαβάστε περισσότεραΠίνακες. 1 Πίνακες. 30 Μαρτίου 2014
Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα6: Εμφωλυευμένες δομές κώδικα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 14 η Διαχείριση Μνήμης και Δομές Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη
Διαβάστε περισσότεραΔιάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Εισαγωγικές Έννοιες σε Strings - Πίνακες από Strings - Συναρτήσεις
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Κανόνες
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Μεταβλητές-Σταθερές-Παράμετροι Τα στοιχεία
Διαβάστε περισσότερα3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)
Εργαστήριο 3: 3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Η C++, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες.
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 4: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Πίνακες Δεικτών, Παραδείγματα, Πολυδιάστατοι πίνακες Πέρασμα παραμέτρων σε προγράμματα C Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες:
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ
Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες
Στόχοι και αντικείμενο ενότητας Ο τύπος του Πίνακα (βλ. ενότητα #2α) Ορισμός και αρχικοποίηση Αποθήκευση πινάκων στη μνήμη Πολυδιάστατοι πίνακες #6. Πίνακες και Δείκτες Ο τύπος του Δείκτη Η έννοια του
Διαβάστε περισσότεραΗ πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης
Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 2:Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)- Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγικές Έννοιες σε Strings(Αρχικοποίηση, Ανάγνωση & Εκτύπωση) Πίνακες από Strings
Διαβάστε περισσότεραΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι περιλαμβάνει μια μεταβλητή; ΔΕΙΚΤΕΣ. Διεύθυνση μεταβλητής. Δείκτης
ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Τι περιλαμβάνει μια μεταβλητή; ΔΕΙΚΤΕΣ Πρώτα να δούμε τι ακριβώς συμπεριλαμβάνει μια μεταβλητή τύπος Καθορίζει το μέγεθος στην μνήμη σε Bytes τιμή Η αριθμητική τιμή που αποθηκεύεται στην
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Αναφορά
Διαβάστε περισσότεραΟικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2
Οικονόμου Βαγγέλησ Διάλεξη Νο 2 Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2 1 Η έννοια τησ μεταβλητήσ έδωςε λύςη ςτο πρόβλημα τησ αναφοράσ ςτην κύρια μνήμη του υπολογιςτή. Οι γλώςςεσ προγραμματιςμού υποςτηρίζουν
Διαβάστε περισσότεραΑναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.
ΤΡΙΤΗ ΔΙΑΛΕΞΗ Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.): Σύνταξη τύπος όνομαα; τύπος όνομαβ{όνομαα}; όνομαβ
Διαβάστε περισσότεραΚεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)
Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;
Διαβάστε περισσότερα10 η Διάλεξη C++ - Πίνακες. Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ
10 η Διάλεξη C++ - Πίνακες Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ Ανακεφαλαίωση Κατά την κλήση μιας συνάρτησης κατ αξία οι τιμές των ορισμάτων αντιγράφονται στις αντίστοιχες τυπικές παραμέτρους
Διαβάστε περισσότερα8 FORTRAN 77/90/95/2003
ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1: Εισαγωγή... 17 1.1. Ανασκόπηση της ιστορίας των υπολογιστών... 18 1.2. Πληροφορία και δεδομένα... 24 1.3. Ο Υπολογιστής... 26 1.4. Δομή και λειτουργία του υπολογιστή... 28 1.5.
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 9 η Χαρακτήρες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης
Διαβάστε περισσότεραΕισαγωγή στον δομημένο προγραμματισμό
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 7 η : Δείκτες Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών
Διαβάστε περισσότεραΠρογραμματισμός I (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός I (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2017 Δρ. Δημήτρης Βαρσάμης Οκτώβριος
Διαβάστε περισσότεραΒασικές Αρχές Προγραμματισμού
Βασικές Αρχές Προγραμματισμού Κεφάλαιο 2 ΗγλώσσαC Ιστορική Αναδρομή ΗανάπτυξητηςC ξεκίνησε το 1972 στα εργαστήρια Bell από τον Dennis Ritchie με σκοπό την ανάπτυξη ενός λειτουργικού συστήματος για τον
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 6: Πίνακες και Δείκτες Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΠρογραμματισμό για ΗΜΥ
ΕΠΛ 34: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 12 Πίνακες εικτών (Pointers Arrays) Θέματα ιάλεξης Στην ενότητα
Διαβάστε περισσότεραδιανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ
ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ Σύνολο στοιχείων ίδιου τύπου (1/2) Ένα σύνολο στοιχείων ίδιου τύπου διακρίνεται σε δύο κατηγορίες με βάση τη διάσταση: Μονοδιάστατο Αν μπορούμε να θεωρούμε ότι τα στοιχεία είναι συνεχόμενα
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό με C++
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό με C++ Ενότητα # 5: Pointers Κωνσταντίνος Κουκουλέτσος Τμήμα Αυτοματισμού Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή
Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 4 η Τελεστές Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης
Διαβάστε περισσότεραΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ
ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ Κεφαλαία και μικρά γράμματα ελληνικού αλφαβήτου: Α Ω και α ω Κεφαλαία και μικρά γράμματα λατινικού αλφαβήτου: A Z και a z Αριθμητικά ψηφία: 0 9 Ειδικοί χαρακτήρες: + - * / =. ( ),! & κενός
Διαβάστε περισσότεραΠρογραμματισμός I (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός I (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2017 Δρ. Δημήτρης Βαρσάμης Οκτώβριος
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου 2.4.1 Δομή ακολουθίας ΚΕΦΑΛΑΙΟ 7 7.1 7.9 Σταθερές (constants): Προκαθορισμένες τιμές που παραμένουν
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Δείκτες (pointers) και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Αριθμητική Δεικτών - Δείκτες και Πίνακες - Παραδείγματα Διδάσκων: Παναγιώτης
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πίνακες Πίνακες (arrays) Πολύ συχνά είναι απαραίτητο το πρόγραμμα μας να χειριστεί
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δομές & Ενώσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Δομές & Ενώσεις Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι 1 Δομές (Structures) Δομή (structure) στη C είναι μία συλλογή από μεταβλητές οποιουδήποτε
Διαβάστε περισσότεραΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ
ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 9 Πολυδιάστατοι Πίνακες Θέματα Διάλεξης Στην ενότητα αυτή
Διαβάστε περισσότεραΚεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )
Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΔιαδικαστικός Προγραμματισμός
Διαδικαστικός Προγραμματισμός Ενότητα 7: Δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραΕπανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ
Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε
Διαβάστε περισσότερα2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ
ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)
Διαβάστε περισσότεραΤεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C
Τεχνολογία και Προγραμματισμός Υπολογιστών Η γλώσσα προγραμματισμού C Με μια ματιά Τύπος Πίνακα Μεταβλητές με ενδείκτη Αλφαριθμητικά - Πίνακες Δισδιάστατος Πολυδιάστατος Πίνακας 2 2 Τύπος Πίνακα Σύνθετος
Διαβάστε περισσότεραΟι δείκτες στη γλώσσα C
Οι δείκτες στη γλώσσα C Δείκτης είναι µία µεταβλητή η οποία περιέχει σαν τιµή µία διεύθυνση της µνήµης Η τιµή ενός δείκτη δείχνει σε µία άλλη µεταβλητή, η οποία µπορεί να προσεγγισθεί έµµεσα µε τους ειδικούς
Διαβάστε περισσότεραΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 7ο Τμήμα Διοίκησης Επιχειρήσεων Παλαιό ΕΠΔΟ α εξάμηνο Β. Φερεντίνος Δείκτες (Pointers) (1) 142 Κάθε μεταβλητή, εκτός από την τιμή της, έχει και μία συγκεκριμένη διεύθυνση
Διαβάστε περισσότεραΑντικειμενοστραφείς Γλώσσες Προγραμματισμού C++ / ROOT
Αντικειμενοστραφείς Γλώσσες Προγραμματισμού Ιωάννης Παπαδόπουλος Τμήμα Φυσικής, Πανεπιστήμιο Ιωαννίνων Οκτώβριος 2018 1/28 1 (implicit) μετατροπές 2 (Functions) 3 (Pointers) 4 (Arrays) 2/28 (implicit)
Διαβάστε περισσότεραlab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή
ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 00497 -Δεν ελέγχετε αν η createlist εκτελλέστικε σωστά και δεν τερµατίζετε το πρόγραµµα σε διαφορετική -Σωστά βρίσκετε το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος. -Σωστά τερµατίζετε
Διαβάστε περισσότεραΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ
1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 26 ΑΠΡΙΛΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ
Διαβάστε περισσότεραΔιάλεξη 9η: Πίνακες (arrays)
Διάλεξη 9η: Πίνακες (arrays) Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Arrays CS100, 2016-2017 1 / 17
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος... 21
Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Δομές Δεδομένων και Κυρίως Πρόγραμμα Δομές δεδομένων εκτός από πίνακες: Structs Unions Enums Κυρίως πρόγραμμα Παράμετροι που
Διαβάστε περισσότεραΕνδεικτική περιγραφή μαθήματος
ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.
Διαβάστε περισσότεραΓ ΓΥΜΝΑΣΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ ΓΛΩΣΣΑ MicroWorlds Pro
Για να μπορέσουμε να εισάγουμε δεδομένα από το πληκτρολόγιο αλλά και για να εξάγουμε εμφανίσουμε αποτελέσματα στην οθόνη του υπολογιστή χρησιμοποιούμε τις εντολές Εισόδου και Εξόδου αντίστοιχα. Σύνταξη
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 4: Δομές Ελέγχου Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότερα