ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Μερικές χρήσιμες οδηγίες

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Μερικές χρήσιμες οδηγίες"

Transcript

1 ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Μερικές χρήσιμες οδηγίες Ιωάννινα-Κοζάνη, Ιανουάριος Α. Στάδια Ανάπτυξης Γενικά, διακρίνουμε τη φάση της ανάλυσης, του σχεδιασμού και της υλοποίησης. Για το κάθε ένα από αυτά υπάρχει πολλή θεωρία και σχολές για το πώς πρέπει να γίνονται όταν πρόκειται για κάποιο μεγάλο project. Εδώ θα περιοριστούμε βέβαια, σε απλές καιπρακτικές συμβουλές. Ανάλυση Πριν προχωρήσουμε στην υλοποίηση ενός προγράμματος για την επίλυση συγκεκριμένου προβλήματος, αναλύουμε αυτό το πρόβλημα. Όσο καλύτερη η ανάλυση τόσο περισσότερο κόπο γλιτώνουμε όταν αναπτύσσουμε και αργότερα αναβαθμίζουμε το πρόγραμμά μας. Σχεδιασμός Όταν σχεδιάζουμε ένα πρόγραμμα είναι καλό να αναρωτηθούμε: αν χρειαστεί να κάνω κάτι ελαφρά διαφορετικό από αυτό που θέλω τώρα, πόσο εύκολα θα μπορέσω να τροποποιήσω το πρόγραμμά μου για να το πετύχω αυτό; Θα μπορώ να το προσαρμόσω με όσο το δυνατό πιο λίγες αλλαγές σε όσο το δυνατό πιο λίγα σημεία; Ή μήπως θα χρειαστεί να το ξαναγράψω από την αρχή; Πρακτικά, αυτό επιτυγχάνεται με το να επιδιώκουμε να βρούμε τουλάχιστον δύο τρόπους για την υλοποίηση μιας ενέργειας και να διαλέγουμε αυτόν που έχει λιγότερα στοιχεία τα οποία ενδέχεται να αλλάξουν στο μέλλον. Υλοποίηση Αυτό είναι πολύ απλά ο καθαυτό προγραμματισμός. Σε αυτό το σημείο θα πρέπει να πούμε ότι είναι χρήσιμο να σπάζουμε το πρόγραμμά μας σε επιμέρους αρχεία με συναρτήσεις που μπορεί να χρησιμοποιήσουμε και σε άλλα έργα. Όσο μεγαλώνει ένα project και γίνεται πιο πολύπλοκο, με περισσότερα ιεραρχικά επίπεδα, αυξάνεται η ανάγκη να χρησιμοποιούμε αρχεία επικεφαλίδας για να περιλαμβάνουμε συναρτήσεις και άλλα στοιχεία που έχουμε ορίσει, όπου χρειάζεται. Σε ένα αρχείο επικεφαλίδας μπορώ να περιλάβω τα εξής: ορισμούς συμβολικών σταθερών άλλες οδηγίες #include δηλώσεις δομών και ενώσεων δεδομένων που θα μου χρειαστούν στις συναρτήσεις μου δηλώσεις τύπων απαρίθμησης δηλώσεις νέων τύπων (απλών και παραγώγων) με struct και typedef δηλώσεις πρωτότυπων συναρτήσεων εξωτερικές μεταβλητές κλπ. Τα αρχεία επικεφαλίδας είναι καλό να έχουν και το κατάλληλο περιτύλιγμα που τα προφυλάσσει από πολλαπλή συμπερίληψη: #ifndef MYHEADER_H #define MYHEADER_H... (περιεχόμενα του αρχείου)... #endif Όσο πιο μεγάλο το πρόγραμμα τόσο πιο χρήσιμη είναι αυτή η πρακτική. Μερικά πρακτικά θέματα Κρατάμε ένα ημερολόγιο της ανάπτυξης του λογισμικού. Επίσης, καθώς αναπτύσσουμε τις συναρτήσεις μας, καλό είναι να γράφουμε κάπου πώς λειτουργούν και τι κάνουν αυτές, είτε για προσωπική μας χρήση είτε για να βοηθήσουμε όποιον άλλον βασιστεί στο πρόγραμμά μας. Όταν θέλουμε να κάνουμε κάτι πολυσύνθετο, γράφουτε στο χαρτί ή στον ΗΥ με λόγια ένα-ένα τα βήματα που θα κάνουμε 1) πρώτα αυτό 2) μετά εκείνο και τα ακολουθούμε πιστά. Κρατάμε αντίγραφα ασφαλείας του κώδικα που αναπτύσσετε! Δεν είναι αδύνατο να σβήσουμε

2 κατά λάθος το αποτέλεσμα δουλειάς πολλών ημερών! Η C μας δίνει μεγάλη ελευθερία στο στυλ γραφής. Δεν πρέπει να κάνουμε κακή χρήση αυτής της ελευθερίας. Να υιοθετήσουμε ένα ευανάγνωστο ύφος και με αυτό να γράφουμε πάντα τα δικά μας προγράμματα. Επίσης, προσθέτουμε διευκρινιστικά σχόλια σε διάφορα σημεία. Σαν ένας πρακτικός ορισμός μπορεί να ειπωθεί ότι το ιδανικό δομημένο πρόγραμμα είναι αυτό που μπορούμε να το διαβάσουμε από την αρχή μέχρι το τέλος χωρίς το μάτι να πηδήσει σε προηγούμενες ή επόμενες σειρές ούτε μία φορά και στο τέλος να έχουμε καταλάβει 100% τι κάνει. Το να επιτύχουμε πλήρως αυτό το στόχο είναι πρακτικά ανέφικτο, επιδιώκουμε όμως να τείνουμε όσο το δυνατό πιο κοντά στο ιδανικό. Μια συνοπτική παρουσίαση των σταδίων ανάπτυξης μπορεί να είναι και η εξής: ξεκινάμε από απαιτήσεις εισόδου και εξόδου κάνουμε διάγραμμα ροής δεδομένων και καθορίζουμε τις συναρτήσεις Σπάμε το πρόγραμμα σε υποπρογράμματα και αυτά σε μικρότερα, αν χρειαστεί. Αυτά καλό είναι να κυμαίνονται από 20 ως 50 γραμμές κώδικα (περίπου μία οθόνη). Ανάλυση από πάνω προς τα κάτω, υλοποίηση (γράψιμο κώδικα) από κάτω προς τα πάνω. Δηλαδή, αφού έχουμε σχεδιάσει το πρόγραμμα, αρχίζουμε να γράφουμε τις θεμελιωδέστερες συναρτήσεις και μετά αυτές που τις καλούν κ.ο.κ. μέχρι να φτάσουμε στην κορυφή που είναι η main. Μετά, ακολουθεί το στάδιο των διορθώσεων (εδώ μπορεί και να διαπιστώσουμε ότι πρέπει να αλλάξουν διάφορα στοιχεία του σχεδιασμού επειδή δεν είχαμε προβλέψει όσα μπορεί να πάνε στραβά). Β. Δοκιμές και διορθώσεις Αυτό είναι ίσως και το κομμάτι που φοβίζει περισσότερο και φαίνεται σαν η πιο μεγάλη ταλαιπωρία (ίσως όχι άδικα). Γι' αυτό και δίνουμε μεγαλύτερη έκταση σε αυτό το μέρος. Συνηθισμένα λάθη και ύποπτα σημεία Μερικά λάθη είναι τόσο συνηθισμένα (και όχι μόνο μεταξύ των αρχάριων!) ώστε αξίζει να τα καταγράψουμε και να τα ελέγχουμε ως συνήθεις ύποπτους κάθε φορά που κάτι πάει στραβά ακόμη κι όταν δεν πάει κάτι φανερά στραβά! Τα περισσότερα από αυτά θα εκδηλωθούν είτε κατά τη μεταγλώττιση είτε κατά την εκτέλεση, αλλά υπάρχουν και μερικά που θα περάσουν και τα δύο αυτά στάδια και θέλουν ιδιαίτερη προσοχή. Αν κάθε φορά που έχουμε σφάλμα ψάχνουμε πρώτα ανάμεσα σε αυτά, τα συνήθη λάθη, σύντομα θα συνηθίσουμε και θα τα βρίσκουμε κατευθείαν. Ας κάνουμε λοιπόν στον εαυτό μας τις παρακάτω ερωτήσεις: 1. βάλαμε ελληνικό ερωτηματικά (;) στο τέλος κάθε απλής εντολής; μήπως λείπει από καμία; 2. βάλαμε ελληνικό ερωτηματικό στο τέλος της do...while; μήπως λείπει από καμία τέτοια; 3. μήπως κατά λάθος βάλαμε και κανένα παραπανήσιο ελληνικό ερωτηματικό σε καμία σύνθετη εντολή if, for, while; (π.χ. έπρεπε να γράψουμε while(x>0){...διάφορες εντολές...} και γράψαμε while(x>0) ; {...διάφορες εντολές...} που είναι συντακτικά σωστό αλλά τελείως διαφορετικό από εκείνο που θέλαμε! 4. κλείσαμε όλα τα άγκιστρα { και } ; Τα άγκιστρα πάνε πάντα σε ζευγάρια` όποιος ξέρει να βάζει σωστά τα άγκιστρα ξέρει το 50% του δομημένου προγραμματισμού! 5. κλείσαμε όλες τις παρενθέσεις ( και ) ; 6. κλείσαμε όλα τα διπλά εισαγωγικά και ; 7. βάλαμε τη σωστή προδιαγραφή μορφοποίησης στις εντολές printf και scanf (%d για ακέραιους, %f για πραγματικούς, %c για χαρακτήρες, %s για αλφαριθμητικά) ; 8. γράψαμε με τον ίδιο συνδυασμό μικρών και κεφαλαίων ένα όνομα μεταβλητής ή συνάρτησης σε όλη του την εμβέλεια (κύριο πρόγραμμα ή συνάρτηση όπου εμφανίζεται); Όπως δηλώσαμε ένα όνομα, έτσι πρέπει και να εμφανίζεται παντού. Άλλο το abc, άλλο το Abc και άλλο το ABC. 9. μήπως μπερδέψαμε κάπου το 0 (μηδέν) με το Ο (κεφαλαίο όμικρον); 10. έχουμε μία και μόνο μία συνάρτηση main στο πρόγραμμά μας ή κάνοντας copy-paste από εδώ κι από εκεί προσθέσαμε και... διεκδικητή για την αρχηγία του προγράμματος; 11. έχουμε κάνει include το αρχείο επικεφαλίδας που χρειάζεται για τη δουλειά μας; 12. μήπως έχουμε μπερδέψει τα σημεία στίξης (τελεία αντί για κόμμα, κόμμα αντί για τελεία,

3 κόμμα ή τελεία αντί για ελληνικό ερωτηματικό μέσα σε ένα for κλπ) ; 13. μήπως μπερδέψαμε κάποιο άγκιστρο με παρένθεση ή το ανάποδο; 14. μήπως αντί για αγκύλες [ ] στα στοιχεία ενός πίνακα βάλαμε παρενθέσεις ( και ); (συνηθισμένο σφάλμα του διδάσκοντα που επί χρόνια προγραμμάτιζε σε Fortran όπου δεν υπάρχουν αγκύλες!) Σε αυτή την περίπτωση ο μεταγλωττιστής θα νομίσει ότι πρόκειται για κάποια συνάρτηση και πιθανότατα δε θα πει τίποτε! 15. Μήπως έχουμε ξεχάσει να δηλώσουμε κάποια συνάρτηση ή την ορίζουμε μετά τη main χωρίς να προηγείται έστω το πρωτότυπο ή έχουμε ξεχάσει κάποιο δικό μας header file όπου δηλώνουμε τις συναρτήσεις μας; 16. Μήπως έχουμε βάλει τελεστή ανάθεσης (απλό ίσον, =) αντί για τελεστή ελέγχου ισότητας (διπλό ίσον, = =); Π.χ. το if(x == y) και το if(x = y) είναι και τα δύο συντακτικά σωστά και ο μεταγλωττιστής δε θα παραπονεθεί καθόλου! Αλλά το πρώτο σημαίνει: αν το x είναι ίσο με το y, τότε.... Ενώ το δεύτερο σημαίνει: θέσε x ίσο με το y αν τώρα, το x είναι διαφορετικό από μηδέν, τότε.... Καμία σχέση το ένα με το άλλο! 17. Μήπως περνάμε σε μια συνάρτηση ορίσματα κατά τιμή ενώ θέλαμε να τα περάσουμε κατά διεύθυνση; ή το αντίστροφο; 18. Μήπως το όνομα μιας εξωτερικής μεταβλητής είναι ακριβώς ίδιο με αυτό μιας τοπικής; Θυμηθείτε ότι σε μια τέτοια περίπτωση, η τοπική υπερισχύει (overrides) πάνω στην εξωτερική. Οσο πιο τοπική τόσο περισσότερο υπερισχύει και είναι σα να μην υπάρχει η πιο εξωτερική. 19. Μήπως οι αριθμοδείκτες ενός πίνακα έγιναν μεγαλύτεροι από το μέγεθός του ή μικρότεροι από το μηδέν; 20. Μήπως ζητάμε το περιεχόμενο (κάνουμε dereference) ενός δείκτη που δε δείχνει κάπου; Ένα συνηθισμένο σφάλμα εκτέλεσης είναι το λεγόμενο segmentation fault: αυτό οφείλεται σε αναφορά σε περιοχή της μνήμης που δεν έχει δεσμευτεί, π.χ. όταν ένας αριθμοδείκτης ξεπερνά τα όρια ενός πίνακα, για παράδειγμα, έχουμε έναν πίνακα με 5 στοιχεία, example[5] και ζητάμε το έκτο: i = 5;...; x = example[i]; Αλλη συχνή περίπτωση που οδηγεί σε τέτοιο σφάλμα είναι κακή χρήση των δεικτών. Οι δείκτες πρέπει να δείχνουν κάπου (εκτός από NULL) αν θέλουμε να πάρουμε το περιεχόμενό τους. Αν ένας δείκτης δεν έχει οριστεί να δείχνει σε κάποια μεταβλητή θα πάρουμε τέτοιο σφάλμα. Ιδιαίτερα πονηρό σφάλμα είναι εκείνο κατά το οποίο ένας δείκτης έχει τεθεί ίσος με τη διεύθυνση κάποιου άλλου ο οποίος σε κάποια στιγμή γίνεται NULL. Παράδειγμα: int x, **p, *q;... q = &x; p = &q;... q = NULL;... printf( έχουμε και λέμε: %d \n, **p); /* segmentation fault! */ Ενέργειες και πρωτοβουλίες για διόρθωση σφαλμάτων Αφού τελειώσουμε με τα συντακτικά σφάλματα απομένουν τα σφάλματα εκτέλεσης και τα λογικά σφάλματα. Για να τα βρούμε, αν αποτύχει ο έλεγχος με βάση τις ερωτήσεις που δώσαμε πιο πάνω, θα πρέπει να δοκιμάσουμε το πρόγραμμα βάζοντάς του δεδομένα για τα οποία ξέρουμε το αποτέλεσμα (π.χ. από υπολογισμό με το χέρι, από τη θεωρία τη σχετική με το πρόβλημα, από άλλα προγράμματα που ξέρουμε ότι δουλεύουν σωστά για το συγκεκριμένο πρόβλημα και τα συγκεκριμένα δεδομένα κλπ). Αν υποθέσουμε ότι βγαίνει ένα λάθος αποτέλεσμα ή ακόμη και ένα σφάλμα εκτέλεσης και δεν ξέρουμε πού ακριβώς προκύπτει τότε, για να βρούμε την πηγή του, εφαρμόζουμε τη μέθοδο της διχοτόμησης. Αυτή συνίσταται στα εξής βήματα: α) βεβαιωνόμαστε ότι τα δεδομένα εισόδου είναι εν τάξει (π.χ. δεν έχουμε βάλει χαρακτήρα αντί για ακέραιο, τιμή μιας μεταβλητής στη θέση μιας άλλη κλπ). β) τότε το λάθος προφανώς βρίσκεται κάπου μεταξύ της ανάγνωσης δεδομένων και του τέλους του προγράμματος. Βάζουμε κάπου στη μέση του προγράμματος μια εντολή printf για την εκτύπωση μιας ή περισσότερων μεταβλητών που έχουν σχέση με το λάθος που αντιμετωπίζουμε. Έτσι το

4 πρόγραμμα χωρίστηκε σε δύο μέρη. Αν παίρνουμε λογικές και αναμενόμενες τιμές τότε το λάθος βρίσκεται στο δεύτερο μέρος, μετά από την printf, αλλιώς το πρόβλημα βρίσκεται στο πρώτο μέρος, πριν από την printf. γ) Στο μέρος του προγράμματος που εντοπίσαμε εφαρμόζουμε και πάλι την ίδια διαδικασία, δηλαδή βάζουμε μία printf κάπου στη μέση και με τη βοήθειά της διαπιστώνουμε σε ποια υποπεριοχή του προγράμματος εντοπίζεται το λάθος. δ) Συνεχίζοντας έτσι και μπαίνοντας σε καλούμενα υποπρογράμματα αν χρειαστεί, εντοπίζουμε ακριβώς το σημείο όπου παρουσιάζεται το λάθος. Ειδικά στην περίπτωση που εντοπίζουμε λάθος στην κλήση μιας συνάρτησης, πριν μπούμε στο εσωτερικό της, πρέπει να ελέγξουμε αν τα ορίσματα περνάνε μέσω τιμής ή μέσω διεύθυνσης και να βεβαιωθούμε αν είναι αυτό που θέλουμε. Τώρα, έστω ότι εντοπίσαμε πού ακριβώς υπάρχει σφάλμα αλλά δεν καταλαβαίνουμε τι φταίει. Μία λύση είναι να τροποποιήσουμε το πρόγραμμα και να δοκιμάσουμε να κάνουμε αυτό που γίνεται εκεί με κάποιον άλλο ισοδύναμο τρόπο. Αν το λάθος διορθώθηκε τότε είμαστε εν τάξει και επίσης, μπορεί να γίνει φανερό τι έφταιγε. Αν δε διορθώθηκε μπορεί τουλάχιστον να γίνει πιο σαφής η προέλευσή του. Μία άλλη ενέργεια που πρέπει να κάνουμε είναι να ψάξουμε όχι μόνο αυτό που υπάρχει αλλά και αυτό που δεν υπάρχει. Συγκεκριμένα, ας δώσουμε ένα παράδειγμα από πραγματική εμπειρία με τις σειρές ασκήσεων του μαθήματος. Στην έκτη σειρά ασκήσεων υπήρχε η παρακάτω εντολή: vector vec = newvector( ); Η συνάρτηση newvector αρχικοποιούσε μια μεταβλητή τύπου vector όπου vector ήταν μια δομή δεδομένων για την αναπαράσταση διανυσμάτων στο επίπεδο. Ενώ όλο το υποπρόγραμμα ήταν ακριβώς ίδιο με αυτό που δινόταν στο φυλλάδιο (το οποίο ήταν δοκιμασμένο), σε κάποια δοκιμή το πρόγραμμα δεν μεταγλωττιζόταν αλλά σταματούσε με το μήνυμα invalid initializer με αριθμό γραμμής αυτόν της παραπάνω εντολής. Αυτό που είχε συμβεί ήταν ότι στο αντίστοιχο header file έλειπε η δήλωση της συνάρτησης newvector, δηλαδή η παρακάτω γραμμή vector newvector( void ); η οποία είχε σβηστεί κατά λάθος σε κάποιο copy-paste. Εξ αιτίας αυτού του τυχαίου σβησίματος δεν πάει αμέσως το μυαλό στο να ελέγξουμε το αντίστοιχο αρχείο, ωστόσο τέτοια λάθη συμβαίνουν αρκετά συχνά, με πιο συνηθισμένη περίπτωση το να ξεχάσουμε μια προσωρινή, δοκιμαστική αλλαγή που κάναμε προηγουμένως. Τα παραπάνω μας οδηγούν να διατυπώσουμε τους εξής κανόνες: α) όταν εμφανίζεται ένα ακατανόητο πρόβλημα σε μια εντολή, ελέγχουμε αν όλα είναι εν τάξει με τις μεταβλητές, συναρτήσεις κλπ που εμφανίζονται σε αυτή την εντολή (π.χ. οι συναρτήσεις είναι δηλωμένες στα header files, οι μεταβλητές είναι του τύπου που θέλουμε κλπ). β) προσοχή στα copy-paste! γ) ο,τι αλλάζουμε, αφαιρούμε ή προσθέτουμε προσωρινά, θυμόμαστε να το επαναφέρουμε ή διαγράψουμε όταν τελειώσουμε με τις δοκιμές! Άλλες πρακτικές οδηγίες Όταν το πρόγραμμα τυπώνει λάθος αποτελέσματα, πρώτα κυττάζουμε μήπως έχουμε λάθος κωδικό μορφοποίησης σε κάποια εντολή printf ή fprintf, π.χ. θέλουμε να τυπώσουμε ένα float και αντί για %d βάζουμε %f ή θέλουμε να το αλλάξουμε και να τυπώσουμε ένα double αλλά ξεχνάμε να αλλάξουμε το %f σε %lf. Η πρόσθεση δεικτών δεν είναι αποδεκτή πράξη. Αλλά η αφαίρεση είναι αποδεκτή κι έτσι π.χ. μπορούμε να βρούμε τη μεσαία θέση μεταξύ δύο δεικτών ως εξής: mid = low+(high-low)/2; (ενώ το mid = (low+high)/2 θα ήταν λάθος). Έστω ένας πίνακας Α[n]. Τότε τα στοιχεία Α[-1] και Α[n] είναι έξω από τα όρια του πίνακα. Ωστόσο, οι αριθμητικές πράξεις δεικτών που περιλαμβάνουν το πρώτο στοιχείο μετά το τέλος του πίνακα, δηλαδή το A[n], επιτρέπονται και θα λειτουργήσουν σωστά. Γ. Οι μεταγλωττιστές στην πράξη Windows, πρόγραμμα Dev-C++ Οι οδηγίες αυτές βασίστηκαν στην έκδοση , αλλά λίγο-πολύ ισχύουν και για την παλιότερη έκδοση που χρησιμοποιήθηκε στο μάθημα.

5 Έστω ότι θέλουμε να αναπτύξουμε ένα πρόγραμμα που αποτελείται από τρία αρχεία: το pmain.c, το plib.c και το plib.h. Το πρώτο περιέχει την κύρια συνάρτηση (main), το δεύτερο ορίζει κάποιες συναρτήσεις που θα αναπτύξουμε και το τρίτο έχει τις δηλώσεις αυτών των συναρτήσεων και άλλα στοιχεία (εξωτερικές μεταβλητές, ορισμούς συμβολικών σταθερών κλπ). Ακολουθούμε τα εξής βήματα: Αρχείο ---> Νέο > Έργο [Enter]: μας βγάζει σε ένα παράθυρο που έχει διάφορους τύπους εφαρμογών. Διαλέγουμε: Console Application και από κάτω επιλέγουμε C project (ή έργο C). Στο κουτάκι κάτω αριστερά γράφουμε ένα όνομα για το έργο, π.χ. ptest και πατάμε ΟΚ. Μας βγάζει το σχετικό πλαίσιο όπου ζητείται να διαλέξουμε πού θα σώσουμε το project. Αφού διαλέξουμε φάκελλο, μας ανοίγει το project με ένα αρχείο που έχει τα παρακάτω περιεχόμενα: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { system("pause"); return 0; } (στην έκδοση που είχαμε στο μάθημα λείπουν το stdlib.h και το system( PAUSE )). Αριστερά, φαίνεται η δομή του project με τα αρχεία που περιέχει (προς το παρόν ένα με default όνομα main.c). Αυτό το αρχείο που έχει ήδη τη main (εμείς απλώς θα συμπληρώσουμε ο,τι μας χρειάζεται) θα το σώσουμε ως pmain.c Πάμε: Αρχείο ---> Αποθήκευση ως... [Enter] και στο σχετικό πλαίσιο γράφουμε όνομα pmain. Από κάτω από εκεί που βάζουμε το όνομα υπάρχει ο τύπος του αρχείου. Εκεί λέει C source files (*.c). Δεν το αλλάζουμε. Σώζουμε το αρχείο. Τώρα, θα προσθέσουμε το αρχείο plib.c που θα περιέχει τις συναρτήσεις μας. Πάμε: Αρχείο ---> Νέο > Πηγαίο Αρχείο [Enter] Μας βγάζει ερώτηση Να προστεθεί το νέο αρχείο στο έργο; Πατάμε Yes. Στο αριστερό πλαίσιο θα δούμε το νέο αρχείο στη δομή του project ως Ανώνυμο. Το αρχείο αυτό είναι στο προσκήνιο και είναι κενό. Θα το σώσουμε ως plib.c. Πάμε: Αρχείο ---> Αποθήκευση ως... [Enter] και στο σχετικό πλαίσιο γράφουμε όνομα plib. Από κάτω από εκεί που βάζουμε το όνομα υπάρχει ο τύπος του αρχείου. Εκεί λέει C source files (*.c). Δεν το αλλάζουμε. Σώζουμε το αρχείο. Τώρα, θα προσθέσουμε το αρχείο plib.h που θα περιέχει τις δηλώσεις των συναρτήσεων μας. Πάμε: Αρχείο ---> Νέο > Πηγαίο Αρχείο [Enter] Μας βγάζει ερώτηση Να προστεθεί το νέο αρχείο στο έργο; Πατάμε Yes. Στο αριστερό πλαίσιο θα δούμε το νέο αρχείο στη δομή του project ως Ανώνυμο. Το αρχείο αυτό είναι στο προσκήνιο και είναι κενό. Θα το σώσουμε ως plib.h. Πάμε: Αρχείο ---> Αποθήκευση ως... [Enter] και στο σχετικό πλαίσιο γράφουμε όνομα plib. Από κάτω από εκεί που βάζουμε το όνομα υπάρχει ο τύπος του αρχείου. Εκεί λέει C source files (*.c). Πατάμε το μικρό βελάκι για να ανοίξει το πτυσσόμενο μενού και διαλέγουμε Header files (*.h, *.hpp, *.rh, *.hh). Σώζουμε το αρχείο.

6 Προσθέτουμε στο αρχείο plib.h το παρακάτω περιεχόμενο: #ifndef PLIB_H #define PLIB_H #include <stdio.h> void myfunction( void ); #endif Παρατηρείστε ότι περιλάβαμε και το αρχείο stdio.h. Σώζουμε το αρχείο από Αρχείο ---> Αποθήκευση ή από το σχετικό εικονίδιο. Προσθέτουμε στο αρχείο plib.c το παρακάτω περιεχόμενο: #include "plib.h" void myfunction ( void ) { printf("\nthis is a function\n"); } Τώρα καταλαβαίνουμε ότι έπρεπε να μπει κάπου και το stdio.h αφού υπάρχει μία printf. Εμείς επιλέξαμε να το βάλουμε στο plib.h το οποίο μετά κάνουμε include εδώ. Σώζουμε το αρχείο από Αρχείο ---> Αποθήκευση ή από το σχετικό εικονίδιο. Προσθέτουμε στο αρχείο pmain.c το παρακάτω περιεχόμενο (με έντονα γράμματα τα καινούρια στοιχεία που προσθέτουμε): #include <stdio.h> #include <stdlib.h> #include "plib.h" int main(int argc, char *argv[]) { myfunction(); system("pause"); return 0; } Σώζουμε το αρχείο από Αρχείο ---> Αποθήκευση ή από το σχετικό εικονίδιο. Μεταγλώττιση: Εκτέλεση ---> Δημιουργία. Διαβάζουμε τα μηνύματα στο κάτω μέρος. Αν υπάρχει κάποιο μήνυμα λάθους μπορούμε να μεταβούμε στο σημείο στο οποίο αναφέρεται κάνοντας διπλό κλικ στο μήνυμα. Τότε, η αντίστοιχη γραμμή στο πρόγραμμα θα τονιστεί. Εκτέλεση: Εκτέλεση ---> Εκτέλεση ή Εκτέλεση ---> Δημιουργία και Εκτέλεση. UNIX/Linux Για αρκετά μικρές εφαρμογές τα πράγματα είναι πολύ απλά αφού μπορούμε να βάλουμε όλα τα

7 αρχεία μας (πηγαία και επικεφαλίδας) σε ένα κατάλογο, να μεταβούμε εκεί από τη γραμμή εντολών και να τυπώσουμε cc pmain.c plib.c και να πατήσουμε Enter (δε χρειάζεται να περιλάβουμε το plib.h). Το εκτελέσιμο αρχείο θα έχει το όνομα a.out οπότε για να το τρέξουμε αρκεί να τυπώσουμε./a.out και να πατήσουμε Enter. Αν θέλουμε να δώσουμε άλλο όνομα στο αρχείο, π.χ. myprog, μπορούμε να τυπώσουμε: cc pmain.c plib.c -o myprog και μετά, για να το τρέξουμε:./myprog Για πιο μεγάλα projects με πολλά αρχεία πηγαίου κώδικα και επικεφαλίδας μπορούμε να χρησιμοποιήσουμε το make, ένα utility του UNIX/Linux που επιτρέπει να μεταγλωττίζονται μόνο τα αρχεία που τροποποιήσαμε και όχι όλο το πρόγραμμα από την αρχή. Για να τρέξει το make πρέπει να φτιάξουμε ένα αρχείο κειμένου το οποίο λέγεται makefile και περιέχει οδηγίες για το make ώστε να κάνει τη μεταγλώττιση. Το makefile πρέπει να βρίσκεται στον ίδιο κατάλογο με τα άλλα αρχεία μας. Ένα αρχείο makefile για το παράδειγμά μας θα μπορούσε να είναι το εξής:.c.o: cc -c -g $*.c OBJECTS = pmain.o plib.o CMD = test.exe $(CMD): $(OBJECTS) makefile cc -o $(CMD) $(OBJECTS) clean: /bin/rm *.o ## Dependencies pmain.o: plib.h plib.o: plib.h plib.h: Οι γραμμές που αρχίζουν με # είναι σχόλια (και όχι οδηγίες στον προεπεξεργαστή! - αυτό δεν είναι γραμμένο σε γλώσσα C!) Στην αρχή, δίνεται ο κανόνας που λέει οτι ο μεταγλωττιστής (cc) θα κάνει μεταγλώττιση κάθε πηγαίου αρχείου με κατάληξη c. Από αυτά θα προκύψουν τα αντικειμενικά αρχεία με κατάληξη o. Στα αρχεία αυτά δίνουμε συλλογικά το όνομα OBJECTS, ενώ το εκτελέσιμο αρχείο (CMD) θέλουμε να λέγεται test.exe. Οι επόμενες γραμμές λένε ότι ο μεταγλωττιστής (βασικά ο linker) θα πάρει τα εκτελέσιμα και θα τα ενώσει για να δώσει το εκτελέσιμο με το όνομα που ορίσαμε. Μπορούμε να ορίσουμε επίσης και πρόσθετες λειτουργίες όπως με το προσδιοριστικό clean που μπορούμε να το θέσουμε σαν επιλογή στο make και τότε αυτό θα έχει σαν αποτέλεσμα να σβηστούν τα αντικειμενικά αρχεία και να μείνουν μόνο τα πηγαία και το εκτελέσιμο. Τέλος, καθορίζονται και οι εξαρτήσεις, δηλαδή ποιο αρχείο σχετίζεται με ποια, ώστε αν αλλάξουν αυτά να μεταγλωττιστούν εκ νέου και όσα εξαρτώνται από αυτά. Παραδείγματα: Με έναν editor (όπως ο vi, emacs ή gedit) μπορούμε να γράψουμε τα τρία αρχεία pmain.c, plib.c και plib.h που περιγράψαμε πιο πάνω, καθώς και το makefile με τα παραπάνω περιεχόμενα. Αν γράψουμε απλά

8 make και πατήσουμε Enter θα δούμε τα εξής: cc -c -g pmain.c cc -c -g plib.c cc -o test.exe pmain.o plib.o δηλαδή πρώτα μεταγλωττίστηκαν ένα-ένα τα αρχεία c και μετά ενώθηκαν. Η επιλογή -g επιτρέπει να ενσωματωθούν χρήσιμες πληροφορίες για τη χρήση προγραμμάτων αποσφαλμάτωσης (debugging). Η επιλογή -c εμποδίζει το linker να δράσει, δηλαδή να ενώσει το αντικειμενικό αρχείο με τις βιβλιοθήκες πριν μεταγλωττιστούν και τα υπόλοιπα, ώστε να μπορέσει να τα ενώσει όλα μαζί στο τέλος. Αν πάμε να αλλάξουμε ένα αρχείο, π.χ. το plib.c (π.χ. να προσθέσουμε ένα σχόλιο) και μετά ξαναγράψουμε make, θα δούμε το εξής: cc -c -g plib.c cc -o test.exe pmain.o plib.o δηλαδή μόνο το αλλαγμένο αρχείο μεταγλωττίστηκε ξανά. Αν ξανατρέξουμε το make, θα δούμε το εξής: make: `test.exe' is up to date. με προφανές νόημα. Μπορούμε να δοκιμάσουμε και την επιλογή clean: > make clean /bin/rm *.o και αν ξανατρέξουμε το make θα πάρουμε: cc -c -g pmain.c cc -c -g plib.c cc -o test.exe pmain.o plib.o αφού τώρα δεν υπάρχουν μεταγλωττισμένα αρχεία πηγαίου κώδικα (τα σβήσαμε όλα με το clean). Τέλος, αν αλλάξουμε το plib.h από το οποίο εξαρτώνται τα άλλα δύο, όπως περιγράφεται και στο makefile, και τρέξουμε το make θα πάρουμε το εξής: cc -c -g pmain.c cc -c -g plib.c cc -o test.exe pmain.o plib.o αφού λόγω της εξάρτησης πρέπει να ενημερωθούν και τα άλλα δύο αρχεία που έχουν κάνει include το plib.h

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 1η εβδομάδα. Κοζάνη, 5 Οκτωβρίου 2007. Βασικά στοιχεία γραφής προγραμμάτων με τη C: α) Case Sensitive!!! β) Δυνατότητα εισαγωγής σχολίων με /*

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

Διαβάστε περισσότερα

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα Αλφαριθμητικά Πίνακες: μια σύντομη εισαγωγή Πίνακες χαρακτήρων: τα "Αλφαριθμητικά" Πίνακες(Arrays): έννοιες και ορισμοί Ορισμός: Πίνακας (array) = σύνολο μεταβλητών του ιδίου τύπου (int, float, char,...) με ένα κοινό

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

Διαβάστε περισσότερα

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

Προγραμματισμός Ι. Πολλαπλά Αρχεία. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Πολλαπλά Αρχεία. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Πολλαπλά Αρχεία Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Πολλαπλά Αρχεία Όταν γράφουμε μεγάλα προγράμματα θέλουμε να έχουμε ανεξάρτητα κομμάτια κώδικα

Διαβάστε περισσότερα

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128] ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2017 (27/1/2017) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

Διαβάστε περισσότερα

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω.

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω. Τι είναι το debug μαμα? Με απλά λόγια, debug (αποσφαλμάτωση αλλά που να κάθεσαι να το πεις), είναι η διαδικασία εντοπισμού και διόρθωσης σφαλμάτων που υπάρχουν σε κώδικα (ασχέτως γλώσσας προγραμματισμού).

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δεύτερη Διάλεξη Βασικά στοιχεία της γλώσσας προγραμματισμού C Μία γλώσσα προγραμματισμού όπως και μια ανθρώπινη γλώσσα μπορεί να μελετηθεί ως προς το αλφάβητό της,

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η εβδομάδα. Κοζάνη, 2 Δεκεμβρίου 2008. Δίνονται παραδείγματα που αποσαφηνίζουν και συμπληρώνουν όσα αναφέρθηκαν στο μάθημα σχετικά με τις δομές

Διαβάστε περισσότερα

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προεπεξεργαστής Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαδικασία Μεταγλώττισης πρόγραµµα επεξεργασίας κειµένου if a

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός

Διαβάστε περισσότερα

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Α. 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) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών

Διαβάστε περισσότερα

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

Διαβάστε περισσότερα

Εισαγωγή στο περιβάλλον Code::Blocks

Εισαγωγή στο περιβάλλον Code::Blocks Εισαγωγή στο περιβάλλον Code::Blocks Στο παρόν εγχειρίδιο παρουσιάζεται η διαδικασία ανάπτυξης, μεταγλώττισης και εκτέλεσης ενός προγράμματος C στο περιβάλλον του Code::Blocks. Η διαδικασία αυτή παρουσιάζεται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Μεταβλητές τύπου χαρακτήρα

Μεταβλητές τύπου χαρακτήρα Μεταβλητές τύπου χαρακτήρα 31 Μαρτίου 014 1 Μεταβλητές τύπου char Για χειρισμό χαρακτήρων η C διαθέτει τον τύπο char. Ο τύπος είναι βαθμωτός δηλαδή ακέραιης αναπαράστασης. Τυπικά έχει μέγεθος ενός byte

Διαβάστε περισσότερα

5ο σετ σημειώσεων - Δείκτες

5ο σετ σημειώσεων - Δείκτες 5ο σετ σημειώσεων - Δείκτες 11 Ιουνίου 01 1 Γενικά Σύμφωνα με το γενικό μοντέλο υπολογιστή, ένας υπολογιστής είναι μία μηχανή που διαθέτει μία κεντρική μονάδα επεξεργασίας η οποία μπορεί μεταξύ άλλων να

Διαβάστε περισσότερα

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 8η σειρά ασκήσεων. Κοζάνη, 7 Δεκεμβρίου 2007. Κάθε πρόγραμμα εξαρτάται από αλγόριθμους και δομές δεδομένων, αλλά μόνο λίγα απαιτούν κάποια καινοτομία

Διαβάστε περισσότερα

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++ ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση του περιβάλλοντος Dev C++ το οποίο θα χρησιμοποιηθεί για την υλοποίηση

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ Α. ΠΡΙΝ ΤΗΝ ΕΓΚΑΤΑΣΤΑΣΗ Το πρόγραμμα BloodShed Dev-C++ είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης* κώδικα για γλώσσες

Διαβάστε περισσότερα

Λύσεις για τις ασκήσεις του lab5

Λύσεις για τις ασκήσεις του lab5 Εισαγωγή Λύσεις για τις ασκήσεις του lab5 Επειδή φάνηκε να υπάρχουν αρκετά προβλήματα σχετικά με τον τρόπο σκέψης για την επίλυση των προβλημάτων του lab5, θα συνοδεύσουμε τις λύσεις με αρκετές επεξηγήσεις,

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 2: Μεταβλητές και Σταθερές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης

Διαβάστε περισσότερα

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 6η σειρά ασκήσεων. Κοζάνη, 16 Νοεμβρίου 2007. Ας υποθέσουμε ότι θέλουμε να αναπτύξουμε μία εφαρμογή για προβλήματα στα οποία υπεισέρχονται έννοιες

Διαβάστε περισσότερα

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη Πώς βλέπουμε τις ιδιότητες των αντικειμένων που έχουμε δημιουργήσει; Ανοίγουμε το σενάριο CarWorld και δημιουργούμε μερικά αντικείμενα των κλάσεων

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 5η σειρά ασκήσεων. Κοζάνη, 7 Νοεμβρίου 2007. Άσκηση p5-1 (μεταγλώττιση και εκτέλεση) Δημιουργήστε ένα project, ονομάστε το p5 και δημιουργήστε

Διαβάστε περισσότερα

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

Διαβάστε περισσότερα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 1 η Εισαγωγή στη Γλώσσα C Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

Διαβάστε περισσότερα

Πληροφορική 2. Γλώσσες Προγραμματισμού

Πληροφορική 2. Γλώσσες Προγραμματισμού Πληροφορική 2 Γλώσσες Προγραμματισμού 1 2 Γλώσσες προγραμματσιμού Επιτρέπουν την κωδικοποίηση των αλγορίθμων Η εκτέλεση ενός προγράμματος θα πρέπει να δίνει τα ίδια αποτελέσματα με την νοητική εκτέλεση

Διαβάστε περισσότερα

Βασικές Αρχές Προγραμματισμού

Βασικές Αρχές Προγραμματισμού Βασικές Αρχές Προγραμματισμού Κεφάλαιο 2 ΗγλώσσαC Ιστορική Αναδρομή ΗανάπτυξητηςC ξεκίνησε το 1972 στα εργαστήρια Bell από τον Dennis Ritchie με σκοπό την ανάπτυξη ενός λειτουργικού συστήματος για τον

Διαβάστε περισσότερα

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

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 Οριακό

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι δείκτες στη C Η έννοια του δείκτη Την έννοια του δείκτη τη συναντήσαμε σε προηγούμενα μαθήματα. Η συνάρτηση scanf(), καταχωρίζει τιμές σε μεταβλητές χρησιμοποιώντας τον τελεστή

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

Ενδεικτική περιγραφή μαθήματος

Ενδεικτική περιγραφή μαθήματος ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.

Διαβάστε περισσότερα

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Εισαγωγικά

Διαβάστε περισσότερα

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014 Πίνακες 0 Μαρτίου 014 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα του συγκεκριμένου τύπου. Στην περίπτωση που θέλουμε

Διαβάστε περισσότερα

lab2 -Στην printf να βάζεις \n έτσι ώστε να αλλάζει γραµµή όποτε σου εµφανίζει κάποιο µήνυµα.

lab2 -Στην printf να βάζεις \n έτσι ώστε να αλλάζει γραµµή όποτε σου εµφανίζει κάποιο µήνυµα. Α. Μ. Βαθμός Σχόλιο 1183 lab2 - Πολύ καλή δουλειά κατά τα άλλα 1194 1238 1239 FAIL 1240 1241 1242 1243 1244 1245 1246 - πολύ καλό (*υπάρχουν οι τελεστές = ). Ο κώδικας είναι καλά σχολιασµένος -

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η σειρά ασκήσεων (μέρος 2). Κοζάνη, 14 Δεκεμβρίου 2007. Κάθε πρόγραμμα εξαρτάται από αλγόριθμους και δομές δεδομένων, αλλά μόνο λίγα απαιτούν

Διαβάστε περισσότερα

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 - Καλή δουλειά 1242 1243 1244 1245 - Κακή χρήση συναρτήσεων. Κάνεις τον ίδιο έλεγχο και εντός και εκτός της συνάρτησης. Θα έπρεπε να έχεις βρεί ένα τρόπο

Διαβάστε περισσότερα

1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ»

1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ» 1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ» 1. Πήγαινε στο μενού Αρχείο και επίλεξε Άνοιγμα. Άνοιξε το αρχείο sample.x. Ανοίγουν δυο παράθυρα. Παρατήρησε τα ονόματα τους: Πηγαίος κώδικας... και

Διαβάστε περισσότερα

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Φτάσαμε σιγά σιγά στο τέλος του βιβλίου. Αντί για κάποιον επίλογο σκέφτηκα να συλλέξω κάποια πράγματα που θα ήθελα να πω σε κάποιον ο οποίος αρχίζει

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ερωτήσεις Επανάληψης

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ερωτήσεις Επανάληψης Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ερωτήσεις Επανάληψης Α. Ερωτήσεις Στο τέλος δίνονται υποδείξεις για την απάντηση μερικών ερωτήσεων. 01 Ερώτηση: Στις παρακάτω εντολές τι πρόβλημα υπάρχει;

Διαβάστε περισσότερα

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%

Διαβάστε περισσότερα

Η βασική συνάρτηση προγράμματος main()

Η βασική συνάρτηση προγράμματος main() Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 2η σειρά ασκήσεων. Κοζάνη, 19 Οκτωβρίου 2007. Δεν ξεχνάμε τα εξής: Case Sensitive!!! Άλλα τα κεφαλαία και άλλα τα μικρά! Με ο,τι τρόπο γράψουμε

Διαβάστε περισσότερα

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης H ΓΛΩΣΣΑ C Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C ηµήτρης Ψούνης 2 Περιεχόµενα Μαθήµατος Α. Θεωρία 1. Κύκλος Ανάπτυξης Προγράµµατος 1. Συγγραφή και Μεταγλώττιση ενός προγράµµατος 2. Εκτέλεση του προγράµµατος

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Περιεχόμενα. Πρόλογος... 21

Περιεχόμενα. Πρόλογος... 21 Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31

Διαβάστε περισσότερα

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1 Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα Προγραμματισμός II 1 lalis@inf.uth.gr Χρήση λογισμικού που ήδη υπάρχει Τα πολύπλοκα συστήματα αναπτύσσονται σταδιακά, «χτίζοντας» πάνω σε υπάρχουσα λειτουργικότητα

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης Στο εργαστήριο αυτό, θα εξοικειωθούμε με τους τύπους δεδομένων που μας παρέχει η γλώσσα C, θα χρησιμοποιήσουμε τις δομές επανάληψης (for, while, do...while),

Διαβάστε περισσότερα

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

Διαβάστε περισσότερα

Προγραμματισμός I (Θ)

Προγραμματισμός I (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός I (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2017 Δρ. Δημήτρης Βαρσάμης Οκτώβριος

Διαβάστε περισσότερα

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο

Διαβάστε περισσότερα

Διαδικασία Ανάπτυξης Λογισμικού

Διαδικασία Ανάπτυξης Λογισμικού Διαδικασία Ανάπτυξης Λογισμικού Ανάλυση Απαιτήσεων (προϋποθέτει κατανόηση του προβλήματος και τη συλλογή πληροφοριών και των απαιτήσεων από το σύστημα) Σχεδιασμός (ορισμός διεργασιών για να ικανοποιηθούν

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ασκήσεις Επανάληψης Άσκηση 1 Το παρακάτω πρόγραμμα περιέχει μια δομή επανάληψης τύπου for. Να ξαναγραφεί ώστε να έχει ακριβώς την ίδια λειτουργία, χρησιμοποιώντας

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τέταρτη Διάλεξη ΠΙΝΑΚΕΣ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Έστω ότι έχουμε το εξής πρόβλημα: εισάγουμε μια σειρά αριθμών από το πληκτρολόγιο και θέλουμε να βρούμε τον μέγιστο και τον ελάχιστο. Γενικά,

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 7: Δομές Επανάληψης - Αναγνωσιμότητα 19/10/2015 Επανάληψη εκτέλεσης: while 2 while () lexpr true false body Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται

Διαβάστε περισσότερα

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΣΥΝΑΡΤΗΣΕΙΣ ΣΤΗ C (1/3) +- Στη C χρησιμοποιούμε συχνα τις συναρτήσεις (functions),

Διαβάστε περισσότερα

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Σύντομες εισαγωγικές σημειώσεις για την. Matlab Σύντομες εισαγωγικές σημειώσεις για την Matlab Δήλωση Μεταβλητών Για να εισάγει κανείς δεδομένα στη Matlab υπάρχουν πολλοί τρόποι. Ο πιο απλός είναι στη γραμμή εντολών να εισάγουμε αυτό που θέλουμε και

Διαβάστε περισσότερα

Mεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία

Mεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία Mεταγλωττιστές 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex Σκοπός: Το μάθημα αυτό αναφέρεται: στις κανονικές εκφράσεις στην δομή και το περιεχόμενο του αρχείου-εισόδου του flex Γενικά Θεωρία Κατά την

Διαβάστε περισσότερα

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

Διαβάστε περισσότερα

ΙΔΕΟΚΑΤΑΣΚΕΥΕΣ: ΣΚΕΦΤΟΜΑΙ ΚΑΙ ΓΡΑΦΩ

ΙΔΕΟΚΑΤΑΣΚΕΥΕΣ: ΣΚΕΦΤΟΜΑΙ ΚΑΙ ΓΡΑΦΩ 1 ΙΔΕΟΚΑΤΑΣΚΕΥΕΣ: ΣΚΕΦΤΟΜΑΙ ΚΑΙ ΓΡΑΦΩ Κώστας Κύρος 2 ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 1 3 ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 2 Γίνε και εσύ ένας συγγραφέας! Γράψε τη δική σου μικρή ιστορία. Εκτύπωσέ την και δώσ την στους φίλους σου για να

Διαβάστε περισσότερα

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 3 η Είσοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

Διαβάστε περισσότερα

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while) 5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while) 5.1 Ο βρόχος while Η εντολή while παρέχει έναν μηχανισμό επανάληψης των δηλώσεων όσο μια συνθήκη είναι αληθινή. Χρησιμοποιείται όταν ο αριθμός των επαναλήψεων

Διαβάστε περισσότερα

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου Εργαστήριο 2: Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας Προγραμματισμού

Διαβάστε περισσότερα

CE121 Προγραµµατισµός 2. Εισαγωγή σε Makefiles. CE121 -

CE121 Προγραµµατισµός 2. Εισαγωγή σε Makefiles. CE121 - CE121 Προγραµµατισµός 2 Εισαγωγή σε Makefiles 1 Η διαδικασία µεταγλώττισης myprog.c gcc myprog 2 Η διαδικασία µεταγλώττισης myprog.c preprocessor (cc1) /tmp/cczxt.i assembler (as) compiler (cc1) /tmp/cczxt.o

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 3ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΕΚΤΥΠΩΣΗ ΚΕΙΜΕΝΟΥ Ένα κείμενο μπορεί να εκχωρηθεί ως τιμή μιας μεταβλητής

Διαβάστε περισσότερα

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Χαρακτήρες Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Χαρακτήρες - Εισαγωγή Έως τώρα έχουμε κατά κύριο λόγο χρησιμοποιήσει τους αριθμητικούς τύπους

Διαβάστε περισσότερα

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων. Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων. Έως τώρα σε ένα πρόγραμμα έχουμε μάθει να εισάγουμε δεδομένα από το πληκτρολόγιο χρησιμοποιώντας την συνάρτηση scanf() και να εκτυπώνουμε δεδομένα

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 3: Συναρτήσεις printf() και scanf() Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 8η εβδομάδα. Κοζάνη, 26 Νοεμβρίου 2008. Οι ασκήσεις αυτής της σειράς βασίζονται σε παραδείγματα από το βιβλίο του Β. Σεφερίδη C για αρχάριους

Διαβάστε περισσότερα

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr Κανόνες Ομαλής Λειτουργίας Ερχόμαστε στην ώρα μας Δεν καπνίζουμε και τρώμε εντός της αίθουσας

Διαβάστε περισσότερα

1. Τα τμήματα της επιφάνειας εργασίας των Windows

1. Τα τμήματα της επιφάνειας εργασίας των Windows 1. Τα τμήματα της επιφάνειας εργασίας των Windows Εικονίδια συντομεύσεων (αρχείου-φακέλου) Εικονίδια Ανενεργά Ενεργό Επιφάνεια (αρχείου-φακέλου) παράθυρα παράθυρο εργασίας Γραμμή μενού Γραμμή εργαλείων

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 2:Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)- Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγικές Έννοιες σε Strings(Αρχικοποίηση, Ανάγνωση & Εκτύπωση) Πίνακες από Strings

Διαβάστε περισσότερα