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

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

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

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

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

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

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

Διδάσκων: Δημήτριος Βαρσάμης

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

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

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

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

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

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

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Πρόβλημα 29 / σελίδα 28

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

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

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Δομημένος Προγραμματισμός (ΤΛ1006)

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

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

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

Μαλούτα Θεανώ Σελίδα 1

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων

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

Α. Ερωτήσεις Ανάπτυξης

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

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ ΤΗΣ Γ' ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Κεφάλαια 2,7,8

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

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

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

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

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

α=5, β=7, γ=20, δ=αληθής

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

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

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

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Θεωρία Προγραμματισμού

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού

ΑΕΠΠ Ερωτήσεις θεωρίας

ΕΡΩΤΗΣΕΙΣ ΔΙΑΦΟΡΩΝ ΤΥΠΩΝ ΣΤΟ ΚΕΦΑΛΑΙΟ 2.2

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Δομή Ακολουθίας

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

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Κεφάλαιο 1 Εισαγωγή στη C

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

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

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

Β.1. i. Να εξηγήσετε τι εννοούμε με τον όρο μεταφερσιμότητα των προγραμμάτων. Μονάδες 3

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

ΘΕΜΑ 1ο Α. 1-6 Σωστό Λάθος Μονάδες 12 Β. Στήλης Στήλης Β Στήλης Α Στήλης Β).

1. Εισαγωγή βασικά στοιχεία προγράμματος

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

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

Transcript:

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (Θ) 1 Εισαγωγή 2 Προγραμματιστικό Περιβάλλον DEV-C++ 3 Το πρώτο πρόγραμμα σε C 4 Μεταγλώττιση και Εκτέλεση 5 Δομή Προγράμματος σε C 6 Λεξιλόγιο της γλώσσας C Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 2 / 38

Διδακτικά εγχειρίδια - Εύδοξος Έντυπα εγχειρίδια (Εύδοξος) 1 C: Από τη Θεωρία στην Εφαρμογή, Γ. Σ. Τσελίκης - Ν. Δ. Τσελίκας 2 ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ, ΠΑΡΙΣ ΜΑΣΤΟΡΟΚΩΣΤΑΣ Ηλεκτρονικά εγχειρίδια Προσωπική Ιστοσελίδα 1 Διαφάνειες 2 Συμπληρωματικές Σημειώσεις Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 3 / 38

Εισαγωγή - Αλγόριθμος Definition Ως αλγόριθμος ορίζεται μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Πιο απλά (αλγόριθμο) ονομάζουμε μία σειρά από εντολές που έχουν αρχή και τέλος, είναι σαφείς και έχουν ως σκοπό την επίλυση κάποιου προβλήματος. Τα βήματα δημιουργίας αλγόριθμου είναι: 1 Διατύπωση του προβλήματος Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 4 / 38

Εισαγωγή - Αλγόριθμος Definition Ως αλγόριθμος ορίζεται μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Πιο απλά (αλγόριθμο) ονομάζουμε μία σειρά από εντολές που έχουν αρχή και τέλος, είναι σαφείς και έχουν ως σκοπό την επίλυση κάποιου προβλήματος. Τα βήματα δημιουργίας αλγόριθμου είναι: 1 Διατύπωση του προβλήματος 2 Κατανόηση του προβλήματος Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 4 / 38

Εισαγωγή - Αλγόριθμος Definition Ως αλγόριθμος ορίζεται μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Πιο απλά (αλγόριθμο) ονομάζουμε μία σειρά από εντολές που έχουν αρχή και τέλος, είναι σαφείς και έχουν ως σκοπό την επίλυση κάποιου προβλήματος. Τα βήματα δημιουργίας αλγόριθμου είναι: 1 Διατύπωση του προβλήματος 2 Κατανόηση του προβλήματος 3 Λύση του προβλήματος Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 4 / 38

Εισαγωγή - Αλγόριθμος Definition Ως αλγόριθμος ορίζεται μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Πιο απλά (αλγόριθμο) ονομάζουμε μία σειρά από εντολές που έχουν αρχή και τέλος, είναι σαφείς και έχουν ως σκοπό την επίλυση κάποιου προβλήματος. Τα βήματα δημιουργίας αλγόριθμου είναι: 1 Διατύπωση του προβλήματος 2 Κατανόηση του προβλήματος 3 Λύση του προβλήματος 4 Διατύπωση του αλγόριθμου Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 4 / 38

Εισαγωγή - Αλγόριθμος Definition Ως αλγόριθμος ορίζεται μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Πιο απλά (αλγόριθμο) ονομάζουμε μία σειρά από εντολές που έχουν αρχή και τέλος, είναι σαφείς και έχουν ως σκοπό την επίλυση κάποιου προβλήματος. Τα βήματα δημιουργίας αλγόριθμου είναι: 1 Διατύπωση του προβλήματος 2 Κατανόηση του προβλήματος 3 Λύση του προβλήματος 4 Διατύπωση του αλγόριθμου 5 Έλεγχος της λύσης Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 4 / 38

Εισαγωγή - Αλγόριθμος Example (1) Παρασκευή πρωινού καφέ Example (2) Υπολογισμός μέσου όρου τριών αριθμών Example (3) Υπολογισμός εμμβαδού ενός πολυγωνικού χωρίου Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 5 / 38

Εισαγωγή - Αλγόριθμος I Οι αλγόριθμοι θα πρέπει να πληρούν κάποια πρότυπα και να διατυπώνονται με συγκεκριμένο τρόπο. Έτσι ένας αλγόριθμος πρέπει να ικανοποιεί τα επόμενα κριτήρια: 1 Καθοριστικότητα, κάθε κανόνας του ορίζεται επακριβώς και η αντίστοιχη διεργασία είναι συγκεκριμένη. Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της. 2 Περατότητα, κάθε εκτέλεση είναι πεπερασμένη, δηλαδή τελειώνει ύστερα από έναν πεπερασμένο αριθμό διεργασιών ή βημάτων. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 6 / 38

Εισαγωγή - Αλγόριθμος II 3 Αποτελεσματικότητα, είναι μηχανιστικά αποτελεσματικός, δηλαδή όλες οι διαδικασίες που περιλαμβάνει μπορούν να πραγματοποιηθούν με ακρίβεια και σε πεπερασμένο χρόνο με μολύβι και χαρτί. Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή (και όχι σύνθετη). Δηλαδή μία εντολή δεν αρκεί να έχει ορισθεί αλλά πρέπει να είναι και εκτελέσιμη. 4 Επεκτασιμότητα, 5 Να έχει είσοδο δεδομένων, επεξεργασία και έξοδο αποτελεσμάτων Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 7 / 38

Εισαγωγή - Αλγόριθμος Τέσσερις είναι οι βασικοί τρόποι αναπαράστασης ενός αλγορίθμου: 1 Ελεύθερο κείμενο, που αποτελεί τον πιο αδόμητο τρόπο παρουσίασης αλγορίθμου. Ελλοχεύει η δημιουργία μιας μη εκτελέσιμης κατάστασης παραβιάζοντας έτσι το κριτήριο της αποτελεσματικότητας. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 8 / 38

Εισαγωγή - Αλγόριθμος Τέσσερις είναι οι βασικοί τρόποι αναπαράστασης ενός αλγορίθμου: 1 Ελεύθερο κείμενο, που αποτελεί τον πιο αδόμητο τρόπο παρουσίασης αλγορίθμου. Ελλοχεύει η δημιουργία μιας μη εκτελέσιμης κατάστασης παραβιάζοντας έτσι το κριτήριο της αποτελεσματικότητας. 2 Διάγραμμα ροής, που συνιστά έναν πιο γραφικό τρόπο παρουσίασης του αλγορίθμου. Η χρήση διαγραμμάτων ροής δεν είναι η πλέον ενδεδειγμένη λύση για ένα πρόβλημα και για αυτό χρησιμοποιούνται σπάνια στη βιβλιογραφία. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 8 / 38

Εισαγωγή - Αλγόριθμος Τέσσερις είναι οι βασικοί τρόποι αναπαράστασης ενός αλγορίθμου: 1 Ελεύθερο κείμενο, που αποτελεί τον πιο αδόμητο τρόπο παρουσίασης αλγορίθμου. Ελλοχεύει η δημιουργία μιας μη εκτελέσιμης κατάστασης παραβιάζοντας έτσι το κριτήριο της αποτελεσματικότητας. 2 Διάγραμμα ροής, που συνιστά έναν πιο γραφικό τρόπο παρουσίασης του αλγορίθμου. Η χρήση διαγραμμάτων ροής δεν είναι η πλέον ενδεδειγμένη λύση για ένα πρόβλημα και για αυτό χρησιμοποιούνται σπάνια στη βιβλιογραφία. 3 Φυσική γλώσσα που εκτελείται κατά βήματα. Σε αυτή την περίπτωση μπορεί να παραβιαστεί το κριτήριο του καθορισμού μεταξύ των βημάτων. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 8 / 38

Εισαγωγή - Αλγόριθμος Τέσσερις είναι οι βασικοί τρόποι αναπαράστασης ενός αλγορίθμου: 1 Ελεύθερο κείμενο, που αποτελεί τον πιο αδόμητο τρόπο παρουσίασης αλγορίθμου. Ελλοχεύει η δημιουργία μιας μη εκτελέσιμης κατάστασης παραβιάζοντας έτσι το κριτήριο της αποτελεσματικότητας. 2 Διάγραμμα ροής, που συνιστά έναν πιο γραφικό τρόπο παρουσίασης του αλγορίθμου. Η χρήση διαγραμμάτων ροής δεν είναι η πλέον ενδεδειγμένη λύση για ένα πρόβλημα και για αυτό χρησιμοποιούνται σπάνια στη βιβλιογραφία. 3 Φυσική γλώσσα που εκτελείται κατά βήματα. Σε αυτή την περίπτωση μπορεί να παραβιαστεί το κριτήριο του καθορισμού μεταξύ των βημάτων. 4 Κωδικοποίηση του αλγορίθμου σε ψευδογλώσσα ή γλώσσα προγραμματισμού. Έτσι ο αλγόριθμος παρουσιάζεται πιο συνοπτικός, συμπαγής ενώ πληρεί και τις προϋποθέσεις του Δομημένου προγραμματισμού. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 8 / 38

Αλγόριθμος Πρόγραμμα Στα πλαίσια του μαθήματος Προγραμματισμός Ι χρησιμοποιούμε την Γλώσσα Προγραμματισμού C. Στο διάγραμμα που ακολουθεί παρουσιάζονται τα βήματα της δημιουργίας ενός προγράμματος. Κειμενογράφος (Editor) Πηγαίο Πρόγραμμα Μεταγλωττιστής (Compiler) Μεταγλώττιση Συνδέτης (Linker) Σύνδεση Εκτέλεση Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 9 / 38

Αλγόριθμος Πρόγραμμα Πηγαίο Πρόγραμμα - Κειμενογράφος Είναι το αρχικό πρόγραμμα που γράφεται από τον προγραμματιστή (source code) Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 10 / 38

Αλγόριθμος Πρόγραμμα Πηγαίο Πρόγραμμα - Κειμενογράφος Είναι το αρχικό πρόγραμμα που γράφεται από τον προγραμματιστή (source code) Για την σύνταξή του απαιτείται απλά ένας κειμενογράφος - Editor (δεν είναι απαραίτητη στο στάδιο αυτό η ύπαρξη της γλώσσας προγραμματισμού στον υπολογιστή μας) Τα προγράμματα μπορούμε να τα γράψουμε και στην απλή εφαρμογή notepad Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 10 / 38

Αλγόριθμος Πρόγραμμα Πηγαίο Πρόγραμμα - Κειμενογράφος Είναι το αρχικό πρόγραμμα που γράφεται από τον προγραμματιστή (source code) Για την σύνταξή του απαιτείται απλά ένας κειμενογράφος - Editor (δεν είναι απαραίτητη στο στάδιο αυτό η ύπαρξη της γλώσσας προγραμματισμού στον υπολογιστή μας) Τα προγράμματα μπορούμε να τα γράψουμε και στην απλή εφαρμογή notepad Στην περίπτωση της γλώσσας C την οποία χρησιμοποιούμε αποθηκεύεται σαν αρχείο με κατάληξη Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 10 / 38

Αλγόριθμος Πρόγραμμα Μεταγλωττιστής - Μεταγλώττιση Είναι ένα πρόγραμμα το οποίο δέχεται σαν είσοδο ένα πρόγραμμα γραμμένο σε μία γλώσσα προγραμματισμού και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής (δηλαδή σε εντολές σε δυαδική μορφή τις οποίες μπορεί να εκτελέσει ο υπολογιστής). Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 11 / 38

Αλγόριθμος Πρόγραμμα Μεταγλωττιστής - Μεταγλώττιση Είναι ένα πρόγραμμα το οποίο δέχεται σαν είσοδο ένα πρόγραμμα γραμμένο σε μία γλώσσα προγραμματισμού και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής (δηλαδή σε εντολές σε δυαδική μορφή τις οποίες μπορεί να εκτελέσει ο υπολογιστής). Το αποτέλεσμα της μεταγλώττισης είναι ο αντικειμενικός κώδικας (αρχείο με κατάληξη ). Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 11 / 38

Αλγόριθμος Πρόγραμμα Μεταγλωττιστής - Μεταγλώττιση Είναι ένα πρόγραμμα το οποίο δέχεται σαν είσοδο ένα πρόγραμμα γραμμένο σε μία γλώσσα προγραμματισμού και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής (δηλαδή σε εντολές σε δυαδική μορφή τις οποίες μπορεί να εκτελέσει ο υπολογιστής). Το αποτέλεσμα της μεταγλώττισης είναι ο αντικειμενικός κώδικας (αρχείο με κατάληξη ). Στο στάδιο της μεταγλώττισης γίνεται και η εκσφαλμάτωση. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 11 / 38

Αλγόριθμος Πρόγραμμα Μεταγλωττιστής - Μεταγλώττιση Είναι ένα πρόγραμμα το οποίο δέχεται σαν είσοδο ένα πρόγραμμα γραμμένο σε μία γλώσσα προγραμματισμού και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής (δηλαδή σε εντολές σε δυαδική μορφή τις οποίες μπορεί να εκτελέσει ο υπολογιστής). Το αποτέλεσμα της μεταγλώττισης είναι ο αντικειμενικός κώδικας (αρχείο με κατάληξη ). Στο στάδιο της μεταγλώττισης γίνεται και η εκσφαλμάτωση. Το πρόγραμμα που παράγει ο μεταγλωττιστής δεν είναι εκτελέσιμο. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 11 / 38

Αλγόριθμος Πρόγραμμα Εκσφαλμάτωση Τα λάθη τα οποία μπορεί να υπάρξουν σε ένα πρόγραμμα είναι: Συντακτικά: τα λάθη αυτά ανιχνεύονται από τον μεταγλωττιστή κατά τη διάρκεια της μεταγλώττισης. Ο μεταγλωττιστής εμφανίζει κατάλληλα διαγνωστικά μηνύματα Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 12 / 38

Αλγόριθμος Πρόγραμμα Εκσφαλμάτωση Τα λάθη τα οποία μπορεί να υπάρξουν σε ένα πρόγραμμα είναι: Συντακτικά: τα λάθη αυτά ανιχνεύονται από τον μεταγλωττιστή κατά τη διάρκεια της μεταγλώττισης. Ο μεταγλωττιστής εμφανίζει κατάλληλα διαγνωστικά μηνύματα Λογικά: τα λάθη αυτά ανιχνεύονται από τον προγραμματιστή κατά τη διάρκεια και μετά το τέλος της εκτέλεσης του προγράμματος Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 12 / 38

Αλγόριθμος Πρόγραμμα Συνδέτης (Linker) Είναι ένα ειδικό πρόγραμμα το οποίο συνδέει το αντικείμενο πρόγραμμα με άλλα τμήματα προγράμματος που βρίσκονται στις βιβλιοθήκες της γλώσσας ή τα έχει γράψει ο προγραμματιστής Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 13 / 38

Αλγόριθμος Πρόγραμμα Συνδέτης (Linker) Είναι ένα ειδικό πρόγραμμα το οποίο συνδέει το αντικείμενο πρόγραμμα με άλλα τμήματα προγράμματος που βρίσκονται στις βιβλιοθήκες της γλώσσας ή τα έχει γράψει ο προγραμματιστής Το αποτέλεσμα είναι το τελικό εκτελέσιμο πρόγραμμα (executable αρχείο με κατάληξη ) Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 13 / 38

ΑΑλγόριθμος Πρόγραμμα Κύκλος Υλοποίησης Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 14 / 38

Προγραμματιστικό Περιβάλλον DEV-C++ Η γλώσσα προγραμματισμού που θα χρησιμοποιήσουμε στο εξάμηνο αυτό είναι η C Το λογισμικό που θα χρησιμοποιήσουμε για να αναπτύξουμε τα προγράμματά μας είναι το DEV-C++ Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 15 / 38

Προγραμματιστικό Περιβάλλον DEV-C++ Επιλέγουμε το εικονίδιο του προγραμματιστικού περιβάλλοντος DEV-C++ και εμφανίζεται το αρχικό παράθυρο της εφαρμογής Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 16 / 38

Προγραμματιστικό Περιβάλλον DEV-C++ Επιλέγουμε από το μενού File New Project ή εναλλακτικά το εικονίδιο που φαίνεται παρακάτω Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 17 / 38

Προγραμματιστικό Περιβάλλον DEV-C++ Θα εμφανιστεί το παρακάτω παράθυρο διαλόγου στο οποίο επιλέγουμε Console Application και C Project Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 18 / 38

Προγραμματιστικό Περιβάλλον DEV-C++ Στο παράθυρο διαλόγου που εμφανίζεται πατάμε Αποθήκευση για να αποθηκευτεί το Project που δημιουργούμε στο αρχείο Project1.dev Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 19 / 38

Προγραμματιστικό Περιβάλλον DEV-C++ Στο βασικό παράθυρο εμφανίζεται το αρχείο το οποίο έχει κάποιες προεγκατεστημένες εντολές της Γλώσσας Προγραμματισμού C. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 20 / 38

Το πρώτο πρόγραμμα σε C Οι προεγκατεστημένες εντολές της Γλώσσας Προγραμματισμού C στο Προγραμματιστικό Περιβάλλον DEV-C++ είναι οι παρακάτω 1 2 3 4 5 6 7 Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 21 / 38

Το πρώτο πρόγραμμα σε C Συμπληρώνουμε τις εντολές 1 2 3 4 5 6 7 8 9 και έχουμε το πρώτο πρόγραμμα στη Γλώσσα Προγραμματισμού C Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 22 / 38

Μεταγλώττιση και Εκτέλεση Για να μεταγλωττίσουμε το πηγαίο πρόγραμμα μας επιλέγουμε από το μενού Execute Compile(Ctrl + F7) ή εναλλακτικά το εικονίδιο που φαίνεται παρακάτω Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 23 / 38

Μεταγλώττιση και Εκτέλεση Αν το πρόγραμμα που έχουμε γράψει είναι συντακτικά σωστό, μπορούμε να συνεχίσουμε με την εκτέλεση. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 24 / 38

Μεταγλώττιση και Εκτέλεση Αν το πρόγραμμα που έχουμε γράψει είναι συντακτικά σωστό, μπορούμε να συνεχίσουμε με την εκτέλεση. Αν το πρόγραμμα έχει κάποια συντακτικά λάθη, τότε θα μας εμφανιστούν τα μηνύματα λαθών από τον μεταγλωττιστή. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 24 / 38

Μεταγλώττιση και Εκτέλεση Αν το πρόγραμμα που έχουμε γράψει είναι συντακτικά σωστό, μπορούμε να συνεχίσουμε με την εκτέλεση. Αν το πρόγραμμα έχει κάποια συντακτικά λάθη, τότε θα μας εμφανιστούν τα μηνύματα λαθών από τον μεταγλωττιστή. Δοκιμάστε στο πρόγραμμα σας να παραλείψετε στο τέλος της εντολής printf το ερωτηματικό ( ). Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 24 / 38

Μεταγλώττιση και Εκτέλεση Για να εκτελέσουμε το πρόγραμμα μας επιλέγουμε από το μενού Execute Run(Ctrl + F10) ή εναλλακτικά το εικονίδιο που φαίνεται παρακάτω Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 25 / 38

Μεταγλώττιση και Εκτέλεση Εκτελείται το πρόγραμμα και εμφανίζεται η κονσόλα Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 26 / 38

Μεταγλώττιση και Εκτέλεση Σε κάποιες περιπτώσεις πρέπει να φορτώσουμε κάποια απαραίτητα αρχεία, βιβλιοθήκες. Επιλέγουμε από το μενού Execute Rebuild All(Ctrl + F11) ή εναλλακτικά το εικονίδιο που φαίνεται παρακάτω Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 27 / 38

Δομή Προγράμματος σε C 1 2 3 4 5 6 7 8 9 Ένα απλό πρόγραμμα σε C αποτελείται από δυο μέρη Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 28 / 38

Δομή Προγράμματος σε C 1 2 3 4 5 6 7 8 9 Ένα απλό πρόγραμμα σε C αποτελείται από δυο μέρη Οι οδηγίες στον προεπεξεργαστή, π.χ.,, γραμμές 1, 2. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 28 / 38

Δομή Προγράμματος σε C 1 2 3 4 5 6 7 8 9 Ένα απλό πρόγραμμα σε C αποτελείται από δυο μέρη Οι οδηγίες στον προεπεξεργαστή, π.χ.,, γραμμές 1, 2. Η βασική συνάρτηση της C η οποία είναι απαραίτητη, γραμμές 3-8 Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 28 / 38

Δομή Προγράμματος σε C Η οδηγία στον προεπεξεργαστή ενσωματώνει της συναρτήσεις, τις μακροεντολές και τις σταθερές που περιέχονται στο αρχείο κεφαλίδας. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 29 / 38

Δομή Προγράμματος σε C Η οδηγία στον προεπεξεργαστή ενσωματώνει της συναρτήσεις, τις μακροεντολές και τις σταθερές που περιέχονται στο αρχείο κεφαλίδας. Τα αρχεία με κατάληξη λέγονται αρχεία κεφαλίδας και αποτελούν βιβλιοθήκες οι οποίες περιέχουν ομαδοποιημένα ένα σύνολο συναρτήσεων και άλλων αρχείων. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 29 / 38

Δομή Προγράμματος σε C Η οδηγία στον προεπεξεργαστή ενσωματώνει της συναρτήσεις, τις μακροεντολές και τις σταθερές που περιέχονται στο αρχείο κεφαλίδας. Τα αρχεία με κατάληξη λέγονται αρχεία κεφαλίδας και αποτελούν βιβλιοθήκες οι οποίες περιέχουν ομαδοποιημένα ένα σύνολο συναρτήσεων και άλλων αρχείων. Η βιβλιοθήκη (Standard Input Output) περιέχει πρότυπες συναρτήσεις για είσοδο και έξοδο. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 29 / 38

Δομή Προγράμματος σε C Η οδηγία στον προεπεξεργαστή ενσωματώνει της συναρτήσεις, τις μακροεντολές και τις σταθερές που περιέχονται στο αρχείο κεφαλίδας. Τα αρχεία με κατάληξη λέγονται αρχεία κεφαλίδας και αποτελούν βιβλιοθήκες οι οποίες περιέχουν ομαδοποιημένα ένα σύνολο συναρτήσεων και άλλων αρχείων. Η βιβλιοθήκη (Standard Input Output) περιέχει πρότυπες συναρτήσεις για είσοδο και έξοδο. Η βιβλιοθήκη (Standard Library) περιέχει πρότυπες συναρτήσεις για βασικές επεξεργασίες. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 29 / 38

Δομή Προγράμματος σε C Η οδηγία στον προεπεξεργαστή ενσωματώνει της συναρτήσεις, τις μακροεντολές και τις σταθερές που περιέχονται στο αρχείο κεφαλίδας. Τα αρχεία με κατάληξη λέγονται αρχεία κεφαλίδας και αποτελούν βιβλιοθήκες οι οποίες περιέχουν ομαδοποιημένα ένα σύνολο συναρτήσεων και άλλων αρχείων. Η βιβλιοθήκη (Standard Input Output) περιέχει πρότυπες συναρτήσεις για είσοδο και έξοδο. Η βιβλιοθήκη (Standard Library) περιέχει πρότυπες συναρτήσεις για βασικές επεξεργασίες.,. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 29 / 38

Δομή Προγράμματος σε C Η οδηγία στον προεπεξεργαστή καθορίζει μια σταθερή τιμή. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 30 / 38

Δομή Προγράμματος σε C Η οδηγία στον προεπεξεργαστή καθορίζει μια σταθερή τιμή. Με την παραπάνω οδηγία καθορίζεται η μεταβλητή να έχει σταθερή τιμή. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 30 / 38

Δομή Προγράμματος σε C Μέσα στη βασική συνάρτηση γράφουμε τις εντολές, συναρτήσεις που θέλουμε να εκτελεστούν κατά την κλήση του project. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 31 / 38

Δομή Προγράμματος σε C Μέσα στη βασική συνάρτηση γράφουμε τις εντολές, συναρτήσεις που θέλουμε να εκτελεστούν κατά την κλήση του project. Η αρχή και το τέλος της συνάρτησης δηλώνεται με τα άγκιστρα ( ). Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 31 / 38

Δομή Προγράμματος σε C Μέσα στη βασική συνάρτηση γράφουμε τις εντολές, συναρτήσεις που θέλουμε να εκτελεστούν κατά την κλήση του project. Η αρχή και το τέλος της συνάρτησης δηλώνεται με τα άγκιστρα ( ). Ότι περιέχεται ανάμεσα στα άγκιστρα λέγεται σώμα ή block της συνάρτησης. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 31 / 38

Δομή Προγράμματος σε C Μέσα στη βασική συνάρτηση γράφουμε τις εντολές, συναρτήσεις που θέλουμε να εκτελεστούν κατά την κλήση του project. Η αρχή και το τέλος της συνάρτησης δηλώνεται με τα άγκιστρα ( ). Ότι περιέχεται ανάμεσα στα άγκιστρα λέγεται σώμα ή block της συνάρτησης. Υπάρχουν πολλές δομές στην C οι οποίες έχουν σώμα που περικλείεται από άγκιστρα. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 31 / 38

Δομή Προγράμματος σε C Στην συγγραφή ενός προγράμματος πρέπει να ακολουθούμε μια τεχνική στοίχισης. Για κάθε νέο block πρέπει να αλλάζουμε στοίχιση. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 32 / 38

Δομή Προγράμματος σε C Στην συγγραφή ενός προγράμματος πρέπει να ακολουθούμε μια τεχνική στοίχισης. Για κάθε νέο block πρέπει να αλλάζουμε στοίχιση. Κάθε εντολή πρέπει να τελειώνει με το ερωτηματικό ( ). Σε διαφορετική περίπτωση μας επιστρέφει σφάλμα ο μεταγλωττιστής. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 32 / 38

Δομή Προγράμματος σε C Στην συγγραφή ενός προγράμματος πρέπει να ακολουθούμε μια τεχνική στοίχισης. Για κάθε νέο block πρέπει να αλλάζουμε στοίχιση. Κάθε εντολή πρέπει να τελειώνει με το ερωτηματικό ( ). Σε διαφορετική περίπτωση μας επιστρέφει σφάλμα ο μεταγλωττιστής. Η γλώσσα C διαχωρίζει τα κεφαλαία γράμματα από τα μικρά (case sensitive). Η εντολή ΔΕΝ είναι ίδια με την. Όλες οι εντολές στη C γράφονται με μικρά γράμματα! Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 32 / 38

Λεξιλόγιο της γλώσσας C Δεσμευμένες λέξεις (reserved words) Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 33 / 38

Λεξιλόγιο της γλώσσας C Δεσμευμένες λέξεις (reserved words) Λέξεις κλειδιά (keywords) Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 33 / 38

Λεξιλόγιο της γλώσσας C Δεσμευμένες λέξεις (reserved words) Λέξεις κλειδιά (keywords) Τελεστές (operators) Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 33 / 38

Λεξιλόγιο της γλώσσας C Δεσμευμένες λέξεις (reserved words) Λέξεις κλειδιά (keywords) Τελεστές (operators) Αναγνωριστές (identifiers) Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 33 / 38

Δεσμευμένες λέξεις Δεσμευμένες λέξεις: πρέπει να αποφεύγεται η χρήση τους ως ονόματα Ονόματα συναρτήσεων πρότυπης βιβλιοθήκης (runtime function names), όπως, κ.λ.π. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 34 / 38

Δεσμευμένες λέξεις Δεσμευμένες λέξεις: πρέπει να αποφεύγεται η χρήση τους ως ονόματα Ονόματα συναρτήσεων πρότυπης βιβλιοθήκης (runtime function names), όπως, κ.λ.π. Macro names. Είναι ονόματα που περιέχονται σε αρχεία κεφαλίδας για ορισμό μακροεντολών, π.χ.,. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 34 / 38

Δεσμευμένες λέξεις Δεσμευμένες λέξεις: πρέπει να αποφεύγεται η χρήση τους ως ονόματα Ονόματα συναρτήσεων πρότυπης βιβλιοθήκης (runtime function names), όπως, κ.λ.π. Macro names. Είναι ονόματα που περιέχονται σε αρχεία κεφαλίδας για ορισμό μακροεντολών, π.χ.,. Τype names. Είναι ονόματα τύπων σε ορισμένα αρχεία κεφαλίδας, π.χ.,. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 34 / 38

Δεσμευμένες λέξεις Δεσμευμένες λέξεις: πρέπει να αποφεύγεται η χρήση τους ως ονόματα Ονόματα συναρτήσεων πρότυπης βιβλιοθήκης (runtime function names), όπως, κ.λ.π. Macro names. Είναι ονόματα που περιέχονται σε αρχεία κεφαλίδας για ορισμό μακροεντολών, π.χ.,. Τype names. Είναι ονόματα τύπων σε ορισμένα αρχεία κεφαλίδας, π.χ.,. Ονόματα εντολών προεπεξεργαστή (preprocessor). Είναι ονόματα που χρησιμοποιεί προεπεξεργαστής της C και έχουν προκαθορισμένη σημασία, π.χ.,. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 34 / 38

Δεσμευμένες λέξεις Δεσμευμένες λέξεις: πρέπει να αποφεύγεται η χρήση τους ως ονόματα Ονόματα συναρτήσεων πρότυπης βιβλιοθήκης (runtime function names), όπως, κ.λ.π. Macro names. Είναι ονόματα που περιέχονται σε αρχεία κεφαλίδας για ορισμό μακροεντολών, π.χ.,. Τype names. Είναι ονόματα τύπων σε ορισμένα αρχεία κεφαλίδας, π.χ.,. Ονόματα εντολών προεπεξεργαστή (preprocessor). Είναι ονόματα που χρησιμοποιεί προεπεξεργαστής της C και έχουν προκαθορισμένη σημασία, π.χ.,. Ονόματα που αρχίζουν με το χαρακτήρα υπογράμμισης και έχουν δεύτερο χαρακτήρα τον ίδιο ή κεφαλαίο γράμμα, π.χ.,. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 34 / 38

Λέξεις κλειδιά Λέξεις κλειδιά: Λεκτικές μονάδες που μόνες τους ή με άλλες λεκτικές μονάδες χαρακτηρίσουν κάποια γλωσσική κατασκευή Π.χ. : αναπαριστά τον ακέραιο τύπο δεδομένων, : χρησιμοποιούνται στον έλεγχο ροής προγράμματος Οι λέξεις κλειδιά, αν και είναι ένας περιορισμός των γλωσσών, αυξάνουν την αναγνωσιμότητα και αξιοπιστία των προγραμμάτων ενώ ταυτόχρονα επιταχύνουν τη διαδικασία της μεταγλώττισης. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 35 / 38

Λέξεις κλειδιά Λέξεις κλειδιά: Λεκτικές μονάδες που μόνες τους ή με άλλες λεκτικές μονάδες χαρακτηρίσουν κάποια γλωσσική κατασκευή Π.χ. : αναπαριστά τον ακέραιο τύπο δεδομένων, : χρησιμοποιούνται στον έλεγχο ροής προγράμματος Οι λέξεις κλειδιά, αν και είναι ένας περιορισμός των γλωσσών, αυξάνουν την αναγνωσιμότητα και αξιοπιστία των προγραμμάτων ενώ ταυτόχρονα επιταχύνουν τη διαδικασία της μεταγλώττισης. Λέξεις κλειδιά όπως,,,,, έχουν γίνει κοινά αποδεκτές, διευκολύνοντας την εκμάθηση των γλωσσών προγραμματισμού. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 35 / 38

Λέξεις κλειδιά στην ANSI C: Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 36 / 38

Αναγνωριστές Αναγνωριστές: Λεκτικές μονάδες που κατασκευάζει ο προγραμματιστής. Αυτές οι λεκτικές μονάδες χρησιμοποιούνται συνήθως ως ονόματα που ο προγραμματιστής δίνει σε δικές του κατασκευές, όπως μεταβλητές, σταθερές, συναρτήσεις και δικούς του τύπους δεδομένων. Ένα όνομα προσδιορίζει μοναδιαία (uniquely identifies), από το σύνολο των κατασκευών του προγράμματος, την κατασκευή στην οποία αποδόθηκε, εξ ου και το όνομα αναγνωριστής (identifier). Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 37 / 38

Κανόνες δημιουργίας ευανάγνωστου προγράμματος Αποφύγετε ονόματα ενός χαρακτήρα, όπως,,, (εκτός από ειδικές περιπτώσεις που θα εξετασθούν αργότερα). Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 38 / 38

Κανόνες δημιουργίας ευανάγνωστου προγράμματος Αποφύγετε ονόματα ενός χαρακτήρα, όπως,,, (εκτός από ειδικές περιπτώσεις που θα εξετασθούν αργότερα). Χρησιμοποιείτε εκφραστικά ονόματα. Συγκεκριμένα: Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 38 / 38

Κανόνες δημιουργίας ευανάγνωστου προγράμματος Αποφύγετε ονόματα ενός χαρακτήρα, όπως,,, (εκτός από ειδικές περιπτώσεις που θα εξετασθούν αργότερα). Χρησιμοποιείτε εκφραστικά ονόματα. Συγκεκριμένα: ονομάστε τη μεταβλητή που αναπαριστά την ταχύτητα ως και τη μέγιστη τιμή της ή. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 38 / 38

Κανόνες δημιουργίας ευανάγνωστου προγράμματος Αποφύγετε ονόματα ενός χαρακτήρα, όπως,,, (εκτός από ειδικές περιπτώσεις που θα εξετασθούν αργότερα). Χρησιμοποιείτε εκφραστικά ονόματα. Συγκεκριμένα: ονομάστε τη μεταβλητή που αναπαριστά την ταχύτητα ως και τη μέγιστη τιμή της ή. ονομάστε τη συνάρτηση που εμφανίζει τα λάθη στην οθόνη ή. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 38 / 38

Κανόνες δημιουργίας ευανάγνωστου προγράμματος Αποφύγετε ονόματα ενός χαρακτήρα, όπως,,, (εκτός από ειδικές περιπτώσεις που θα εξετασθούν αργότερα). Χρησιμοποιείτε εκφραστικά ονόματα. Συγκεκριμένα: ονομάστε τη μεταβλητή που αναπαριστά την ταχύτητα ως και τη μέγιστη τιμή της ή. ονομάστε τη συνάρτηση που εμφανίζει τα λάθη στην οθόνη ή. Για καλύτερη αναγνωσιμότητα των μεταβλητών που αποτελούνται από δύο ή περισσότερες λέξεις αποφασίστε αν θα χρησιμοποιείτε τη μορφή ή τη μορφή. Τηρείστε τη σύμβαση σε όλο το πρόγραμμα. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 38 / 38

Κανόνες δημιουργίας ευανάγνωστου προγράμματος Αποφύγετε ονόματα ενός χαρακτήρα, όπως,,, (εκτός από ειδικές περιπτώσεις που θα εξετασθούν αργότερα). Χρησιμοποιείτε εκφραστικά ονόματα. Συγκεκριμένα: ονομάστε τη μεταβλητή που αναπαριστά την ταχύτητα ως και τη μέγιστη τιμή της ή. ονομάστε τη συνάρτηση που εμφανίζει τα λάθη στην οθόνη ή. Για καλύτερη αναγνωσιμότητα των μεταβλητών που αποτελούνται από δύο ή περισσότερες λέξεις αποφασίστε αν θα χρησιμοποιείτε τη μορφή ή τη μορφή. Τηρείστε τη σύμβαση σε όλο το πρόγραμμα. Χρησιμοποιείστε μικρά γράμματα για ονόματα μεταβλητών. Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2017 38 / 38