Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
|
|
- Δάμων Φιλιππίδης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 6η σειρά ασκήσεων. Κοζάνη, 16 Νοεμβρίου Ας υποθέσουμε ότι θέλουμε να αναπτύξουμε μία εφαρμογή για προβλήματα στα οποία υπεισέρχονται έννοιες του διανυσματικού λογισμού. Θέλουμε να ξεκινήσουμε από ένα είδος βιβλιοθήκης πάνω στην οποία θα βασιστούμε ώστε να αναπτύξουμε και μελλοντικά να αναβαθμίζουμε εύκολα την εφαρμογή μας. Για να είναι εύχρηστη αυτή η βιβλιοθήκη, θα πρέπει οι ευκολίες που μας παρέχει να μη μας απασχολούν και πολύ με τις τεχνικές εσωτερικές τους λεπτομέρειες ώστε να μπορούμε να εστιάσουμε την προσοχή μας στην ουσία των προβλημάτων που θα λύσουμε. Μια βασική έννοια του διανυσματικού λογισμού είναι προφανώς το ίδιο το διάνυσμα. Στη συνέχεια θα δούμε τι είδους βήματα θα μπορούσαμε να κάνουμε προς την υλοποίηση μιας τέτοιας βιβλιοθήκης παίρνοντας ως παράδειγμα το διάνυσμα στις δύο διαστάσεις. Άσκηση p6-1 (μεταγλώττιση και εκτέλεση) Δημιουργήστε ένα project, ονομάστε το p6 και δημιουργήστε τα παρακάτω αρχεία που θα ανήκουν σε αυτό: α) Ένα αρχείο με το όνομα p6main.c και τα ακόλουθα περιεχόμενα (με γαλάζιο οι γραμμές που δίνονται ήδη από το περιβάλλον ανάπτυξης και με κόκκινο αυτές που θα προσθέσουμε): #include <stdio.h> int main(char argc, char *argv[]) { point zero, *a; zero.x = 0.0; zero.y = 0.0; printf("δώσε συντεταγμένες ενός σημείου. \n"); scanf("%lf", &a->x); scanf("%lf", &a->y); printf("aπόσταση από την αρχή: %lf \n", distance(&zero,a)); system("pause"); return 0; Στο πρόγραμμα αυτό βλέπουμε ότι υπάρχει ένας καινούριος τύπος με το όνομα point για την αποθήκευση δεδομένων που αφορούν σημεία στο επίπεδο. Προφανώς αυτόν τον τύπο τον έχουμε δημιουργήσει εμείς και θα δούμε σε λίγο τον ορισμό του στο αρχείο επικεφαλίδας p6lib.h που έχουμε κάνει include. Επίσης, βλέπουμε μία συνάρτηση με το όνομα distance που παίρνει ως ορίσματα δείκτες σε μεταβλητές τύπου point 6 1 / 8
2 (ή ισοδύναμα, διευθύνσεις τέτοιων μεταβλητών). Από αυτή την άποψη και οι δύο μεταβλητές zero και point θα μπορούσαν από την αρχή να δηλωθούν ως δείκτες. Απλώς δηλώσαμε τη μία μόνο ως δείκτη ώστε να δείξουμε τη χρήση και των δύο τελεστών μέλους, της τελείας και του βέλους. Τι κάνει το πρόγραμμα; Ορίζει ένα σημείο με το όνομα zero και συντεταγμένες 0 (δηλαδή αυτό που λέμε αρχή των αξόνων ) και διαβάζει συντεταγμένες για ένα άλλο σημείο που του δίνουμε. Μετά, τυπώνει την απόσταση του άλλου σημείου από την αρχή των αξόνων. Προσέξτε στη scanf, ότι αν και το a είναι δείκτης, αυτό δε σημαίνει ότι πρέπει να παραλείψουμε το & διότι, όπως θα δούμε σε λίγο, το μέλος x ή y που παίρνουμε με το βέλος (->) δεν είναι δείκτης, άρα χρειάζεται το & (η προτεραιότητα του βέλους είναι πιο υψηλή από του & και έτσι είναι σα να γράψαμε &(a->x)). β) Ένα αρχείο με το όνομα p6lib.c και τα ακόλουθα περιεχόμενα: #include <math.h> double distance( point *a, point *b) { double dx, dy; dx = b->x - a->x; dy = b->y - a->y; return sqrt( dx*dx + dy*dy ); Σε αυτό το αρχείο ορίζεται η συνάρτηση distance που έχει παραμέτρους δύο δείκτες σε σημεία του επιπέδου (μεταβλητές τύπου point) και επιστρέφει την απόσταση των σημείων. Όπως ξέρουμε, η απόσταση μεταξύ δύο σημείων x 1, y 1 και x 2, y 2 είναι d= x 2 x 1 2 y 2 y 1 2 Προσέξτε την οδηγία για να συμπεριληφθεί το αρχείο math.h ώστε να μπορεί να κληθεί η συνάρτηση της τετραγωνικής ρίζας (sqrt). γ) Ένα αρχείο επικεφαλίδας με το όνομα p6lib.h και τα ακόλουθα περιεχόμενα: #ifndef P6LIB_H #define P6LIB_H struct simio { double x, y; ; typedef struct simio point; double distance(point *, point * ); #endif Να και ο ορισμός του τύπου point! Στην πραγματικότητα μάλιστα, έχει δηλωθεί μία δομή δεδομένων με το όνομα simio και μετά, για να μην επαναλαμβάνουμε συνέχεια το struct simio της δώσαμε το ψευδώνυμο point με την εντολή typedef. Η δομή αυτή έχει δύο μέλη που είναι οι συντεταγμένες του σημείου. Υπάρχουν δύο συντεταγμένες, άρα πρόκειται για σημείο στο επίπεδο. Εδώ δηλώνεται επίσης και η συνάρτηση distance που ορίζεται στο προηγούμενο αρχείο. Άσκηση p6-2 (μεταγλώττιση και εκτέλεση) Στο αρχείο επικεφαλίδας p6lib.h που δημιουργήσατε, εισάγετε άλλη μία δήλωση δομής δεδομένων 6 2 / 8
3 και ένα μνημονικό όνομα, όπως φαίνεται παρακάτω (με κόκκινο οι νέες γραμμές που θα προστεθούν): #ifndef P6LIB_H #define P6LIB_H struct simio { double x, y; ; typedef struct simio point; struct dianysma { point a, b; double length; double (*calclength)(); ; typedef struct dianysma vector; double distance(point *, point * ); #endif Εδώ βλέπουμε να ορίζεται άλλη μία δομή δεδομένων με όνομα dianysma και μνημονικό όνομα τύπου το vector, η οποία έχει ως μέλη δύο αντίτυπα της προηγούμενης δομής που ορίσαμε, δηλαδή δύο σημεία του επιπέδου και μία double μεταβλητή με το όνομα length. Προφανώς εδώ ορίζουμε έναν τύπο για να περιγράφουμε διανύσματα στο επίπεδο και τα μέλη του είναι τα σημεία που ορίζουν τα άκρα του, καθώς και το μήκος του. Αλλά υπάρχει και κάτι ακόμη ενδιαφέρον εδώ, και συγκεκριμένα το μέλος calclength που το όνομά του δείχνει ότι προορίζεται να έχει σχέση με τον υπολογισμό του μήκους και όπως φαίνεται από τη δήλωσή του είναι δείκτης σε συνάρτηση που επιστρέφει double. Δηλαδή η νέα δομή δεδομένων που δημιουργήσαμε (και μαζί και ο νέος τύπος vector) εξοπλίζεται μέσω της δυνατότητας να δείξει σε μια συνάρτηση, με μία μέθοδο υπολογισμού των δεδομένων της. Προσοχή! Είναι απαραίτητο ο ορισμός της δομής dianysma να μπει μετά από την typdef όπου ορίζεται ο τύπος point αλλιώς ο μεταγλωττιστής δε θα καταλάβει τι είναι αυτά τα μέλη τύπου point που υπάρχουν στη νέα μας δομή και θα βγάλει μήνυμα λάθους. Στο αρχείο με το κύριο πρόγραμμα πραγματοποιήστε τις παρακάτω αλλαγές (με γαλάζιο ο,τι έμεινε από πριν και με κόκκινο οι νέες γραμμές): #include <stdio.h> int main(char argc, char *argv[]) { vector v; v.calclength = distance; 6 3 / 8
4 printf("δώσε συντεταγμένες ενός σημείου. \n"); scanf("%lf", &v.a.x); scanf("%lf", &v.a.y); printf("δώσε συντεταγμένες ενός σημείου. \n"); scanf("%lf", &v.b.x); scanf("%lf", &v.b.y); printf("μήκος διανύσματος: %lf \n", v.calclength(&v.a, &v.b)); Εδώ ορίζουμε μία μεταβλητή τύπου vector, δίνουμε τις συντεταγμένες των σημείων που το αποτελούν και βάσει αυτών υπολογίζουμε και εμφανίζουμε το μήκος του. Αξίζει να προσέξουμε τα εξής: Μετά από τον ορισμό του διανύσματος v ορίζουμε ότι το μέλος του calclength θα δείχνει στη συνάρτηση distance. Έτσι, θα μπορεί να χρησιμεύσει στον υπολογισμό του μήκους του ανύσματος. Όταν διαβάζουμε τις συντεταγμένες, ουσιαστικά καλούμε το μέλος του μέλους: η παράσταση v.a.x σημαίνει η τιμή του x που είναι μέλος του σημείου a που είναι μέλος του διανύσματος v. Στο τέλος, κάνουμε χρήση του μέλους calclength που δείχνει στη distance και περνώντας του ως ορίσματα τις διευθύνσεις από τα σημεία-μέλη του διανύσματος παίρνουμε το μήκος του. Άσκηση p6-3 (μεταγλώττιση και εκτέλεση) Με τη βοήθεια του τύπου vector ορίσαμε μία κατηγορία μαθηματικών οντοτήτων (διανύσματα) που χαρακτηρίζεται από μια σειρά από δεδομένα (συντεταγμένες κλπ) τα οποία υπόκεινται σε συγκεκριμένους χειρισμούς. Θα θέλαμε να κάνουμε αυτή την κατηγορία οντοτήτων πιο συμπαγή. Δηλαδή θα θέλαμε να τυποποιήσουμε τους χειρισμούς των δεδομένων της και συγχρόνως να αποκρύψουμε τις λεπτομέρειες των σχετικών υπολογισμών από το κύριο πρόγραμμα και γενικά την καλούσα συνάρτηση, ώστε να μην απασχολούν τους μελλοντικούς χρήστες όταν χρησιμοποιούν αυτή την κατηγορία. Πρώτα τροποποιούμε το αρχείο επικεφαλίδας. Εδώ θα κάνουμε μόνο μία προσθήκη προς το τέλος, γι' αυτό και δεν το γράφουμε ολόκληρο (και πάλι, με κόκκινο τα νέα στοιχεία ή αλλαγές): #ifndef P6LIB_H #define P6LIB_H... double distance(point *, point * ); vector newvector( void ); #endif Δηλαδή προσθέσαμε μία ακόμη συνάρτηση που επιστρέφει μία μεταβλητή τύπου vector. Το τι κάνει αυτή θα δούμε στη συνέχεια. Μετά, τροποποιούμε και το αρχείο p6lib.c όπου ορίζουμε τη νέα μας συνάρτηση κάτω από τα 6 4 / 8
5 προηγούμενα περιεχόμενα. Και πάλι αφού πρόκειται απλώς για μια προσθήκη στο τέλος του αρχείου παραλείπουμε τις προηγούμενες γραμμές.... vector newvector( void ) { vector v; v.a.x = v.a.y = v.b.x = v.b.y = 0.0; v.calclength = distance; return v; Η νέα συνάρτηση είναι πολύ απλή: ορίζει μία τοπική μεταβλητή v τύπου vector, κάνει το μέλος-δείκτη-σεσυνάρτηση να δείχνει τη distance και επιστρέφει τη v. Επίσης, δίνεται μια καλή ευκαιρία να προσθέσουμε και άλλες λεπτομέρειες όπως το να αποδώσουμε μηδενικές αρχικές συντεταγμένες στα σημεία του διανύσματος. Στη συνέχεια θα δούμε γιατί το κάναμε αυτό. Τέλος, τροποποιούμε το κύριο πρόγραμμα. Και εδώ επίσης η αλλαγή είναι μία: αντικαθιστούμε την εντολή v.calclength = distance; με την vector v = newvector(); Το πλεονέκτημα μπορεί να φαίνεται αμελητέο αλλά έχουμε κερδίσει κάτι: κατά την ανάπτυξη του κύριου προγράμματος δεν ασχολούμαστε με τεχνικές λεπτομέρειες όπως ποια συνάρτηση αντιστοιχίζεται σε ποιον δείκτη για τον υπολογισμό του μήκους ή πότε και πώς θα αποδοθούν αρχικές τιμές στο διάνυσμα. Αυτό είναι κάτι που γίνεται εσωτερικά. Επιπλέον αργότερα μπορεί να εμπλουτίσουμε τη δομή struct dianysma με νέα στοιχεία και πιθανά να τροποποιήσουμε τη newvector αναλόγως χωρίς να χρειαστεί να πειράξουμε το ίδιο το πρόγραμμα που θα παραμείνει αναλλοίωτο. Άσκηση p6-4 (μεταγλώττιση και εκτέλεση) Στην ίδια λογική της μεταφοράς των τεχνικών λεπτομερειών μπορούμε να μεταφέρουμε και την ανάγνωση των συντεταγμένων σε μία συνάρτηση που να καλείται από το κύριο πρόγραμμα και να κάνει όλη τη σχετική δουλειά. Πρώτα θα δηλώσουμε αυτή τη συνάρτηση στο αρχείο επικεφαλίδας. Αφού ασχολείται με συντεταγμένες θα μπορούσαμε να της δώσουμε ένα ταιριαστό όνομα όπως setcoordinates. Ωστόσο, προτιμούμε να της δώσουμε ένα πιο γενικό όνομα όπως setvector. Η γενικότητα είναι μια καλή τακτική που παρέχει ευελιξία κατά την αναβάθμιση ενός προγράμματος εξ άλλου εδώ έχουμε λόγους για αυτή την επιλογή που θα γίνουν σύντομα φανεροί. Η δήλωση της setvector μπαίνει στο τέλος του p5lib.h (πριν το #endif βέβαια!) και είναι η εξής: void setvector(vector * ); Στη συνέχεια τροποποιούμε το αρχείο p6lib.c προσθέτοντας τον ορισμό της νέας συνάρτησης: #include <stdio.h> #include <math.h>... (προηγούμενες συναρτήσεις) void setvector(vector *v) { 6 5 / 8
6 printf("δώσε συντεταγμένες ενός σημείου. \n"); scanf("%lf", &v->a.x); scanf("%lf", &v->a.y); printf("δώσε συντεταγμένες ενός σημείου. \n"); scanf("%lf", &v->b.x); scanf("%lf", &v->b.y); Εδώ παρατηρούμε κατ' αρχήν ότι συμπεριλάβαμε και το αρχείο <stdio.h>. Αυτό είναι λογικό και απαραίτητο αφού σε αυτό το αρχείο μεταφέρουμε της λειτουργίες εκτύπωσης και ανάγνωσης (printf, scanf). Στη συνέχεια βλέπουμε ότι ο ορισμός της συνάρτησης δεν εξαντλείται σε ένα απλό copy-paste από το κύριο πρόγραμμα. Η παράμετρος της συνάρτησης θα είναι κάποιο διάνυσμα που έχουμε δηλώσει και αρχικοποιήσει με τη newvector. Αυτό θα πρέπει μετά την κλήση της συνάρτησης να έχει αλλαγμένες συντεταγμένες σύμφωνα με την είσοδο που το πρόγραμμα δέχτηκε από το χρήστη. Άρα, το διάνυσμα πρέπει να περνάει μέσω διεύθυνσης και όχι μέσω τιμής αλλιώς οι αλλαγές θα αφορούσαν ένα τοπικό αντίγραφο του διανύσματος και θα χάνονταν χωρίς να περάσουν σε αυτό με το τέλος της συνάρτησης. Γι αυτό η παράμετρος εισόδου δηλώνεται ως δείκτης με τη βοήθεια του τελεστή *. Το πέρασμα μέσω διεύθυνσης έχει συνέπειες και στην εσωτερική δομή της συνάρτησης. Η παράμετρος είναι δείκτης επομένως ο τελεστής μέλους τελεία πρέπει να αντικατασταθεί από τον τελεστή μέλους βέλος, όπως δείχνουμε με τα έντονα γράμματα, ώστε από το διάνυσμα να πάρουμε τα μέλη-σημεία. Δε χρειάζεται να το κάνουμε και για τα σημεία από τα οποία θα πάρουμε τις συντεταγμένες γιατί αυτά δεν έχουν οριστεί ως μέλη στη δομή struct simio (βλ. και άσκηση 1 στην παρούσα σειρά). Τέλος, αλλάζουμε το κύριο πρόγραμμα φέρνοντάς το στην παρακάτω μορφή: #include <stdio.h> int main(char argc, char *argv[]) { vector v = newvector( ); setvector( &v ); printf("μήκος διανύσματος: %lf \n", v.calclength(&v.a, &v.b)); Εξυπηρετώντας τον αρχικό σκοπό μας, της μεταφοράς των τεχνικών λεπτομερειών στο παρασκήνιο, πετύχαμε επιπλέον να φέρουμε το κύριο πρόγραμμα σε μια μορφή πολύ απλούστερη και πιο κατανοητή και ευανάγνωστη από την αρχική. Άσκηση p6-5 (μεταγλώττιση και εκτέλεση) Στη μορφή που έχει πάρει το πρόγραμμά μας, η εκτύπωση του μήκους απαιτεί την κλήση της distance (μέσω του calclength) η οποία υπολογίζει αυτή την ποσότητα. Αυτό δεν είναι καλή 6 6 / 8
7 τακτική γιατί αν θέλουμε να χρησιμοποιούμε συχνά το μήκος ενός διανύσματος που παραμένει αμετάβλητο, θα επιβαρύνουμε το πρόγραμμα με τη συχνή επανάληψη των ίδιων υπολογισμών. Θα ήταν καλό να υπολογίσουμε μία φορά το μήκος και να το εμφανίζουμε όποτε χρειαστεί. Για το σκοπό αυτό θα μεταφέρουμε τον υπολογισμό του μήκους μέσα στη setvector (τώρα δικαιώνεται η επιλογή μας να διαλέξουμε ένα γενικό όνομα). Για την εμφάνιση του μήκους θα μπορούσαμε να χρησιμοποιήσουμε το ίδιο το μέλος v.length του διανύσματος και αυτό θα κάνουμε προς το παρόν. Τροποποιήστε το αρχείο p6lib.c προσθέτοντας στο τέλος της setvector μία κλήση της calclength: v->length = v->calclength(&v->a, &v->b); Αυτή η προσθήκη δικαιώνει την αρχική μας επιλογή για το όνομα που δώσαμε στη συνάρτηση ανάγνωσης συντεταγμένων. Τώρα, πρόκειται για μια συνάρτηση που θέτει όλα τα μέλη του διανύσματος και έτσι της αξίζει ένας πιο γενικός προσδιορισμός. Και πάλι όπως πριν, το πέρασμα μέσω διεύθυνσης επιβάλλει τη χρήση του τελεστή μέλους βέλος. Άσκηση p6-6 (μεταγλώττιση και εκτέλεση) Το τελευταίο βήμα για την τελειοποίηση είναι να ξεφορτωθούμε και την εμφάνιση του μέλους length στην εκτύπωση του μήκους. Θέλουμε ο μελλοντικός χρήστης ή προγραμματιστής να μην ασχολείται καθόλου με την εσωτερική δομή του αντικειμένου μας (εν προκειμένω διανύσματος) και να επικοινωνεί με αυτό μέσω κατάλληλων συναρτήσεων διασύνδεσης. Αυτές επειδή θα επιτελούν τη γενική λειτουργία ανταλλαγής δεδομένων, θα μπορούν να τυποποιηθούν ώστε να έχουν λίγο πολύ πανομοιότυπη δομή και για όλες τις άλλες κατηγορίες δεδομένων στην εφαρμογή μας. Αυτό είναι καλό για το χρήστη και τον προγραμματιστή γιατί θα μπορεί να μάθει πολύ πιο εύκολα και γρήγορα τη χρήση της βιβλιοθήκης που αναπτύσσουμε χωρίς να ασχολείται με τις εσωτερικές λεπτομέρειες που μπορεί να αλλάζουν δραματικά σε κάθε κατηγορία δεδομένων. Εδώ θα υλοποιήσουμε μια πολύ απλή συνάρτηση που την ονομάζουμε getlength και μόνο σκοπό έχει να επιστρέφει το μήκος του διανύσματος. Για να το κάνει αυτό θα πρέπει να πάρει από κάπου το μήκος του. Υπάρχουν δύο τρόποι για να το πετύχουμε: Ορίζουμε την getlength ως αυτοτελή συνάρτηση τύπου double που παίρνει ως όρισμα ένα διάνυσμα ή δείκτη σε αυτό και επιστρέφει το μήκος του. Αυτή είναι η πιο απλή περίπτωση και θα την υλοποιήσουμε εδώ. Προσθέτουμε στο διάνυσμα (στη δήλωση της δομής struct dianysma, δηλαδή) ένα δείκτη σε συνάρτηση που τον ονομάζουμε getlength και με δεδομένο ένα διάνυσμα v μπορούμε να γράψουμε v.getlength( ) (ή v->getlength( ), αν πρόκειται για δείκτη σε διάνυσμα). Για να υλοποιήσουμε την πρώτη εκδοχή: Στο τέλος του αρχείου p6lib.h δηλώνουμε τη νέα συνάρτηση ως εξής: double getlength(vector * ); Στο τέλος του αρχείου p6lib.c ορίζουμε τη συνάρτηση ως εξής: double getlength(vector *v) { return(v->length); Στο κύριο πρόγραμμα τροποποιούμε την εντολή εκτύπωσης του μήκους ως εξής: printf("μήκος διανύσματος : %lf \n", getlength(&v)); Αυτή είναι μια απλή και αποτελεσματική λύση, αλλά κάπως υπολείπεται της τελειότητας γιατί μελλοντικά μπορεί να χρειαστεί να αλλάξουμε κάτι σε σχέση με αυτή (το όνομά της, τη λίστα ορισμάτων της) και αν έχουμε να συντηρήσουμε ένα μεγάλο πρόγραμμα θα πρέπει να ανατρέξουμε σε όλα τα σημεία όπου 6 7 / 8
8 εμφανίζεται αυτή για να τη διορθώσουμε. Η λύση με το μέλος-δείκτη σε συνάρτηση είναι πιο πολύπλοκη στην υλοποίησή της αλλά υπερτερεί στο θέμα της συντήρησης του λογισμικού επειδή σε περίπτωση τροποποιήσεων δεν έχουμε παρά να αλλάξουμε το πού δείχνει ο δείκτης, κάτι που λογικά θα γίνεται μια φορά στην αρχή του προγράμματος. Άσκηση p6-7 (ανάπτυξη κώδικα για το σπίτι!) Υλοποιήστε τη δεύτερη λύση στο πρόβλημα ανάκτησης του μήκους. Θα πρέπει να μπορούμε να γράψουμε στο κύριο πρόγραμμα μια εντολή της μορφής printf("μήκος διανύσματος : %lf \n", v.getlength()); Η getlength θα μπορούσε να υλοποιηθεί και ως αυτοτελής δείκτης σε συνάρτηση, χωρίς να είναι μέλος του διανύσματος. Είναι όμως προτιμώτερο να υλοποιηθεί ως μέλος του επειδή μπορεί αντικείμενα της εφαρμογής μας άλλης κατηγορίας να έχουν και αυτά την ιδιότητα μήκος που θα θέλαμε να ανακτήσουμε (π.χ. ένα ευθύγραμμο τμήμα ή ένα στερεό με ιδιότητες όπως μήκος, πλάτος και ύψος ). Τότε, θα έπρεπε να γράψουμε διαφορετικές συναρτήσεις με άλλο όνομα η κάθε μία, ανάλογα με το είδος των αντικειμένου που θα ήταν όρισμα. Αν όμως επιλέξουμε να υλοποιούμε συναρτήσεις-μέλη για το σκοπό αυτό, έχουμε και πάλι βέβαια να αναπτύξουμε μία συνάρτηση για κάθε είδος αντικειμένου, αλλά κερδίζουμε σε ομοιομορφία και άρα ταχύτητα εξοικείωσης τρίτων με το λογισμικό. Πράγματι, με τον τρόπο αυτό, σε κάθε αντικείμενο που έχει μήκος μπορούμε να αντιστοιχίσουμε και μία μέθοδο εμφάνισής του, δηλαδή μία συνάρτηση που θα έχει πάντα το ίδιο όνομα, π.χ. getlength, χωρίς να υπάρχει πρόβλημα εφόσον είναι μέλος άλλης δομής κάθε φορά. Άσκηση p6-8 (ανάπτυξη κώδικα για το σπίτι!) Γράψτε παρόμοιες συναρτήσεις και μέλη της δομής dianysma για να ορίζεται η τιμή των συνιστωσών του διανύματος και να μπορείτε να τις εμφανίζεται. Όπως ξέρουμε, για ένα διάνυσμα που ορίζεται από τα σημεία x 1, y 1 και x 2, y 2 οι συνιστώσες του είναι x=x 2 x 1 και y= y 2 y 1, αντίστοιχα. Προτεινόμενες απαντήσεις λύσεις. coming soon / 8
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η εβδομάδα. Κοζάνη, 2 Δεκεμβρίου 2008. Δίνονται παραδείγματα που αποσαφηνίζουν και συμπληρώνουν όσα αναφέρθηκαν στο μάθημα σχετικά με τις δομές
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 8η σειρά ασκήσεων. Κοζάνη, 7 Δεκεμβρίου 2007. Κάθε πρόγραμμα εξαρτάται από αλγόριθμους και δομές δεδομένων, αλλά μόνο λίγα απαιτούν κάποια καινοτομία
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 5η σειρά ασκήσεων. Κοζάνη, 7 Νοεμβρίου 2007. Άσκηση p5-1 (μεταγλώττιση και εκτέλεση) Δημιουργήστε ένα project, ονομάστε το p5 και δημιουργήστε
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η σειρά ασκήσεων (μέρος 2). Κοζάνη, 14 Δεκεμβρίου 2007. Κάθε πρόγραμμα εξαρτάται από αλγόριθμους και δομές δεδομένων, αλλά μόνο λίγα απαιτούν
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων
Διαβάστε περισσότεραΔομημένος Προγραμματισμός (ΤΛ1006)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 8η εβδομάδα. Κοζάνη, 26 Νοεμβρίου 2008. Οι ασκήσεις αυτής της σειράς βασίζονται σε παραδείγματα από το βιβλίο του Β. Σεφερίδη C για αρχάριους
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ασκήσεις Επανάληψης Άσκηση 1 Το παρακάτω πρόγραμμα περιέχει μια δομή επανάληψης τύπου for. Να ξαναγραφεί ώστε να έχει ακριβώς την ίδια λειτουργία, χρησιμοποιώντας
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΚεφάλαιο V: Δομές και ενώσεις. 5.1 Δομές.
Κεφάλαιο V: Δομές και ενώσεις. 5.1 Δομές. Όπως αναφέραμε στο προηγούμενο κεφάλαιο η ομαδοποίηση της πληροφορίας στον προγραμματισμό είναι ιδιαίτερα σημαντική. Ένα παράδειγμα ομαδοποίησης της πληροφορίας
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 13 Πίνακες & Συναρτήσεις Εισαγωγή Στις προηγούμενες
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα
Διαβάστε περισσότεραΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 2 Γενικά Στο Εργαστήριο αυτό θα αναλύσουμε τη χρήση της βασικής εντολής ελέγχου ροής
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΧρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.
Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δεύτερη Διάλεξη Βασικά στοιχεία της γλώσσας προγραμματισμού C Μία γλώσσα προγραμματισμού όπως και μια ανθρώπινη γλώσσα μπορεί να μελετηθεί ως προς το αλφάβητό της,
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 6η εβδομάδα. Κοζάνη, 19 Νοεμβρίου 2008. Σε αυτή την ομάδα ασκήσεων συνδυάζουμε τις μέχρι τώρα γνώσεις μας από τις δομές επανάληψης και επιλογής,
Διαβάστε περισσότερα5ο σετ σημειώσεων - Δείκτες
5ο σετ σημειώσεων - Δείκτες 11 Ιουνίου 01 1 Γενικά Σύμφωνα με το γενικό μοντέλο υπολογιστή, ένας υπολογιστής είναι μία μηχανή που διαθέτει μία κεντρική μονάδα επεξεργασίας η οποία μπορεί μεταξύ άλλων να
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος... 21
Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 1η εβδομάδα. Κοζάνη, 5 Οκτωβρίου 2007. Βασικά στοιχεία γραφής προγραμμάτων με τη C: α) Case Sensitive!!! β) Δυνατότητα εισαγωγής σχολίων με /*
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
Εισαγωγή στον Προγραµµατισµό Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Συναρτήσεις 19.11.16 Β. Ντουφεξή 2 Προβλήματα: Οσο μεγαλώνουν τα προγράμματα, γίνονται πιο πολύπλοκα.
Διαβάστε περισσότεραΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ
ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας
Διαβάστε περισσότεραΗ πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης
Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 9 Συναρτήσεις Μέρος II Θέματα ιάλεξης Μη- ομημένος
Διαβάστε περισσότερα#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2017 (27/1/2017) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Διαβάστε περισσότεραΣυναρτήσεις και διαδικασίες
Συναρτήσεις και διαδικασίες Χρήση συναρτήσεων βιβλιοθήκης Εντολή κλήσης της συνάρτησης printf: printf( Hello, world\n ); Μια συνάρτηση είναι ένα σύνολο εντολών που έχουν ομαδοποιηθεί και τους έχει αποδοθεί
Διαβάστε περισσότερα3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)
Εργαστήριο 3: 3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Η C++, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες.
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C Οι συναρτήσεις τι είναι Πρόκειται για ανεξάρτητα τμήματα ενός προγράμματος (υποπρογράμματα) που επιτελούν συγκεκριμένες εργασίες. Καλούνται από το κυρίως
Διαβάστε περισσότεραΚλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )
ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Μορφές μεταβίβασης ορισμάτων σε συναρτήσεις (και μεθόδους) και οι επιπτώσεις τους Επιστροφή τιμών από κλήση συναρτήσεων Υπερφόρτωση
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Δομές Δεδομένων
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 4η σειρά ασκήσεων. Κοζάνη, 1 Νοεμβρίου 2007. Πρόγραμμα p4-1 (μεταγλώττιση και εκτέλεση) Πολύ απλό το πρώτο, για προθέρμανση! Πριν πατήσετε enter
Διαβάστε περισσότεραΗ-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr
Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην
Διαβάστε περισσότεραΚεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε
Διαβάστε περισσότεραΒήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα
Απλά Προγράμματα Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα Οι Βασικοί κανόνες Κατανόηση
Διαβάστε περισσότεραΠρογραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Προεπεξεργαστής Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαδικασία Μεταγλώττισης πρόγραµµα επεξεργασίας κειµένου if a
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 3 η Είσοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Διαβάστε περισσότεραΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;
ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Τι είναι ; Συναρτήσεις Αυτόνομα τμήματα κώδικα (υποπρογράμματα) που πραγματοποιούν μια καθορισμένη εργασία. Χρήσιμες για περιπτώσεις που ο ίδιος υπολογισμός επαναλαμβάνεται πολλές φορές
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #1
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #1 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #1 2 Γενικά Στο Τετράδιο #1 του Εργαστηρίου γίνεται μια αναλυτική περιγραφή της μεθοδολογίας
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Τέταρτη Διάλεξη ΠΙΝΑΚΕΣ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Έστω ότι έχουμε το εξής πρόβλημα: εισάγουμε μια σειρά αριθμών από το πληκτρολόγιο και θέλουμε να βρούμε τον μέγιστο και τον ελάχιστο. Γενικά,
Διαβάστε περισσότεραΔιανύσματα στις 3 Διαστάσεις
project 2 Διανύσματα στις 3 Διαστάσεις Περιεχόμενα: Prj02.1 Το Πρόβλημα... 485 Prj02.2 Ο Τύπος Vector3 και οι Δημιουργοί... 486 Prj02.3 Οι Τελεστές Σύγκρισης... 487 Prj02.4 Οι Τελεστές +, -, *, ^... 488
Διαβάστε περισσότεραΕπανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ
Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε
Διαβάστε περισσότεραΕισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C
Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος
Διαβάστε περισσότεραΑ. 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) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Διαβάστε περισσότεραΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β
ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β 1. (10 μον.) Απαντήστε σωστό ή λάθος στις παρακάτω ερωτήσεις (αʹ) _2togo είναι έγκυρο όνομα μεταβλητής (βʹ) Αν p είναι δείκτης στο πρώτο στοιχείο
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 2:Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)- Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγικές Έννοιες σε Strings(Αρχικοποίηση, Ανάγνωση & Εκτύπωση) Πίνακες από Strings
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ 2 ο ΣΕΤ ΑΣΚΗΣΕΩΝ Οι ασκήσεις αυτού του φυλλαδίου καλύπτουν τα παρακάτω θέματα: Συναρτήσεις (κεφάλαιο Functions)
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραint array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι
Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι
Διαβάστε περισσότεραlab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1
ΑΕΜ ΒΑΘΜΟΣ 449 PASS 451 PASS 476-1733 PASS 1779-1899 FAIL 1900 FAIL Page 1 1901 PASS 1904 PASS 1908 PASS 1909 PASS 1910 - Page 2 1911 PASS 1914 Οριακό PASS 1915 PASS 1926 PASS Page 3 1927 PASS 1928 Οριακό
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή
ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 12: Συναρτήσεις & Δείκτες Αλλαγή του «εξωτερικού» περιβάλλοντος Αν σαν παράμετρος μιας συνάρτησης δοθεί μια μεταβλητή, σαν πραγματική παράμετρος θα περαστεί η τιμή της.
Διαβάστε περισσότερα3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις
3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα
Διαβάστε περισσότεραΠρογραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)
Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΠρογραμματισμός ΙI (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017
Διαβάστε περισσότεραΠρογραμματιστικές Ασκήσεις, Φυλλάδιο 1
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ C Προγραμματιστικές Ασκήσεις, Φυλλάδιο Εκφώνηση: 9/3/0 Παράδοση: 5/4/0,.59 Άσκηση 0 η : Το πρόβλημα της βελόνας του Buffon Θέμα της εργασίας
Διαβάστε περισσότεραΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 4ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Συναρτήσεις (functions) 56 Τεμαχισμός του προγράμματος σε μικρότερα κομμάτια που είναι πιο κατανοητά, πιο εύκολα
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 10η σειρά ασκήσεων. Κοζάνη, 10 Ιανουαρίου 2008. Έχοντας γνωρίσει τις εντολές και μεθόδους που επιτρέπουν την ανάπτυξη δομημένου κώδικα, μπορούμε
Διαβάστε περισσότεραΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ ΣΤΗΝ ΕΥΘΥΓΡΑΜΜΗ ΚΙΝΗΣΗ
ΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ ΣΤΗΝ ΕΥΘΥΓΡΑΜΜΗ ΚΙΝΗΣΗ Αλγεβρική τιμή διανύσματος Όταν ένα διάνυσμα είναι παράλληλο σε έναν άξονα (δηλαδή μια ευθεία στην οποία έχουμε ορίσει θετική φορά), τότε αλγεβρική τιμή του διανύσματος
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 13 η Δομές & Ενώσεις Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης
ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης Στο εργαστήριο αυτό, θα εξοικειωθούμε με τους τύπους δεδομένων που μας παρέχει η γλώσσα C, θα χρησιμοποιήσουμε τις δομές επανάληψης (for, while, do...while),
Διαβάστε περισσότεραΒασικές Αρχές Προγραμματισμού
Βασικές Αρχές Προγραμματισμού Κεφάλαιο 2 ΗγλώσσαC Ιστορική Αναδρομή ΗανάπτυξητηςC ξεκίνησε το 1972 στα εργαστήρια Bell από τον Dennis Ritchie με σκοπό την ανάπτυξη ενός λειτουργικού συστήματος για τον
Διαβάστε περισσότεραΚεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C
Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%
Διαβάστε περισσότεραΕξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή
Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)
Διαβάστε περισσότεραΕργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης
Γλώσσες Προγραμματισμού Εργαστήριο 2ο Τύποι Δεδομένων - Είσοδος / Έξοδος Εργαστήριο 2ο Περίγραμμα Εργαστηριακής Άσκησης Εργαστήριο 2ο...1 Θεωρία εργαστηρίου...2 Τύποι δεδομένων...2 Η συνάρτηση printf()...3
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η
Δ.Π.Θ. - Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2017-2018 Τομέας Συστημάτων Παραγωγής Εξάμηνο Β Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης ΜΑΘΗΜΑ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Διαβάστε περισσότεραΕνώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις
Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις Ενώσεις δεδομένων (union) τι και γιατί Συσκευές με μικρή μνήμη => ανάγκη εξοικονόμησης πόρων Παρατήρηση: αχρησιμοποίητη μνήμη. Έστω
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 10η εβδομάδα. Κοζάνη, 14 Ιανουαρίου 2009. Τα προγράμματα 1 έως 4 αφορούν την ταξινόμηση και αναζήτηση δεδομένων. Το πρόγραμμα 5 υλοποιεί μια στοίβα
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής
ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Εισαγωγικά
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις της C Τα Λοιπά Στοίβα και μηχανισμός κλήσης Αναδρομικές συναρτήσεις Στατικές μεταβλητές Άλλα θέματα Μηχανισμός
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C Οι συναρτήσεις τι είναι Πρόκειται για ανεξάρτητα τμήματα ενός προγράμματος (υποπρογράμματα) που επιτελούν συγκεκριμένες εργασίες. Καλούνται από το κυρίως
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Διαβάστε περισσότεραΥπερφόρτωση τελεστών
Υπερφόρτωση τελεστών 19 Νοεμβρίου 2012 1 Γενικά Στα προηγούμενα είδαμε ότι ορίζοντας μία κλάση, ορίζουμε ένα νέο τύπο τον οποίο μπορούμε να χρησιμοποιήσουμε για να δηλώσουμε αντικείμενα αυτής της νέας
Διαβάστε περισσότεραΗ βασική συνάρτηση προγράμματος main()
Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα
Διαβάστε περισσότεραΚεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 4: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Πίνακες Δεικτών, Παραδείγματα, Πολυδιάστατοι πίνακες Πέρασμα παραμέτρων σε προγράμματα C Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες:
Διαβάστε περισσότεραΠρογραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Εγγραφές Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η Ανάγκη Ομαδοποίησης Πολλές φορές έχουμε πληροφορίες διαφορετικού τύπου οι οποίες όμως έχουν μεγάλη
Διαβάστε περισσότεραΑπλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων
Απλά Προγράμματα Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα Οι Βασικοί κανόνες Κατανόηση
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 10: Συναρτήσεις Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Διαβάστε περισσότεραΕνδεικτική περιγραφή μαθήματος
ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό με C++
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στον Προγραμματισμό με C++ Ενότητα # 6: Συναρτήσεις Κωνσταντίνος Κουκουλέτσος Τμήμα Αυτοματισμού Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Μερικές χρήσιμες οδηγίες
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Μερικές χρήσιμες οδηγίες Ιωάννινα-Κοζάνη, Ιανουάριος 2008. Α. Στάδια Ανάπτυξης Γενικά, διακρίνουμε τη φάση της ανάλυσης, του σχεδιασμού και της υλοποίησης. Για το κάθε
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ενότητα 14 Δυναμική διαχείριση μνήμης Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Στατική δέσμευση μνήμης Με τη δήλωση απλών μεταβλητών
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός
Διαβάστε περισσότεραΠρογραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται
Διαβάστε περισσότεραΕναλλακτικές εντολές για ανάγνωση/εγγραφή
Εναλλακτικές εντολές για ανάγνωση/εγγραφή Ανάγνωση από το πληκτρολόγιο και εγγραφή στην οθόνη γίνεται με τις εντολές Εναλλακτικές μορφές είναι οι Οι τελευταίες μπορούν να επεκταθούν για ανάγνωση και εγγραφή
Διαβάστε περισσότεραΚεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.
Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων. Έως τώρα σε ένα πρόγραμμα έχουμε μάθει να εισάγουμε δεδομένα από το πληκτρολόγιο χρησιμοποιώντας την συνάρτηση scanf() και να εκτυπώνουμε δεδομένα
Διαβάστε περισσότεραΕνδεικτικές λύσεις και στατιστικά
Προγραμματισμός 1 Σύντομο Quiz 25/9/9 Ενδεικτικές λύσεις και στατιστικά Ερώτηση 1: Γράψτε παρακάτω συνάρτηση η οποία δέχεται ως παραμέτρους ένα string και ένα χαρακτήρα και επιστρέφει τον αριθμό των εμφανίσεων
Διαβάστε περισσότερα