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

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

6. Εισαγωγή στον προγραµµατισµό

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

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

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

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

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

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

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

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

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

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

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΠΡΟΓΡΑΜΜΑ ΠΑΙΔΑΓΩΓΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ 2 η ΕΡΓΑΣΙΑ ΠΡΑΚΤΙΚΗΣ ΑΣΚΗΣΗΣ ΠΑΡΑΤΗΡΗΣΕΙΣ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

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

Επιµέλεια Θοδωρής Πιερράτος

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

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

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

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

ΑΕΠΠ ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 6.3 Φυσικές και Τεχνιτές Γλώσσες 6.4 Τεχνικές Σχεδίασης Προγραμμάτων

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

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

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

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

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

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

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

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

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

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

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

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

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

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

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

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

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

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α.

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

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

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

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

.EVAL push bx Xor bx,bh Add si,ax.loop dec cx. 1. Fortran. 2. Cobol. 3. Algol

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

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

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

6. 1 Η έννοια του προγράμματος

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2019 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

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

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2007

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ. ΘΕΜΑ 1 Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΚΕΡΑΙΕΣ: i

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

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΘΕΜΑ Συμβολική γλώσσα 2. Γλώσσες υψηλού επιπέδου 3. Γλώσσες τέταρτής γενιάς 4. Γλώσσα μηχανής

Εργαστήρι Πληροφορικής Αλγόριθµος 92 Σηµειώσεις Τεχνολογικής Κατεύθυνσης Γλώσσες µηχανής Αρχικά για να µπορέσει ο υπολογιστής να εκτελέσει µία οποιαδή

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση

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

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Επικοινωνία:

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Τελευταίο Μάθημα

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ΕΚΦΩΝΗΣΕΙΣ

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

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Κεφάλαια 2, 7, 8

θέμα των Πανελλαδικών Εξετάσεων

Στήλη Β Προτάσεις α. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής β. Ο βρόχος επανάληψης

6.3 Φυσικές και τεχνητές γλώσσες

Α1. Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες.

ΔΟΚΙΜΑΣΤΙΚΟ ΤΕΣΤ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 26 ΑΠΡΙΛΙΟΥ 2017 ΑΕΠΠ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΤΕΣΣΕΡΕΙΣ (4)

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

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

ΦΡΟΝΤΙΣΤΗΡΙΟ Μ.Ε. «ΠΕΡΙ ΓΝΩΣΕΩΣ»

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Transcript:

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη προγραμμάτων που είναι γνωστή ως ιεραρχική σχεδίαση και επίλυση ή αλλιώς διαδικασία σχεδίασης «από πάνω προς τα κάτω» (Top- Down Design). Πρόκειται για μια τεχνική που λίγο πολύ όλοι μας χρησιμοποιούμαι σε καθημερινή βάση αλλά δεν το συνειδητοποιούμε πάντα. Σκοπός της ιεραρχικής σχεδίασης είναι η διάσπαση ενός προβλήματος σε μικρότερα (και άρα απλούστερα) υποπροβλήματα. Λύνοντας τα υποπροβλήματα και ενώνοντας τις λύσεις τους έχουμε την λύση του αρχικού προβλήματος. Δομημένος λέγεται ο προγραμματισμός που κάνει χρήση μόνο των δομών ακολουθίας, επιλογής και επανάληψης. Υπάρχουν και άλλοι τρόποι προγραμματισμού (π.χ. αντικειμενοστραφής) οι οποίοι όμως είναι εκτός ύλης. Τα πλεονεκτήματα που αναφέρει το βιβλίο στην ενότητα 6.4.3 είναι του δομημένου προγραμματισμού σε σχέση με τον προγραμματισμό που κάνει χρήση της εντολής GOTO. Εδώ και πολλά χρόνια η χρήση της εντολής GO TO έχει σχεδόν εξαλειφθεί. Παράδειγμα Έστω ένα ηλεκτρονικό κατάστημα που πουλάει υπολογιστές. Οι πελάτες παραγγέλνουν τα εξαρτήματα που επιθυμούν και το κατάστημα αφού τα συναρμολογήσει, τα αποστέλλει στον πελάτη με εταιρία ταχυμεταφορών (courier). Να αναπτύξετε πρόγραμμα που αφού διαβάσει την τιμή των εξαρτημάτων (χωρίς ΦΠΑ), να υπολογίζει και να εμφανίζει: Λύση το κόστος συναρμολόγησης του υπολογιστή (10% επί της τιμής), το κόστος αποστολής (5% επί του κόστους εξαρτημάτων και συναρμολόγησης), τον ΦΠΑ που αντιστοιχεί (24% επί κόστους εξαρτημάτων, συναρμολόγησης και αποστολής) Την τελική τιμή Διασπάμε το αρχικό πρόβλημα σε υποπροβλήματα. Αν ένα υποπρόβλημα διασπάτε σε μικρότερα τότε το διασπάμε και αυτό κοκ. Στο σχήμα που ακολουθεί φαίνεται η ιεραρχική σχεδίαση του προβλήματος. 1

Κόστος υπολογιστή Εισαγωγή Δεδομένων Συναρμολόγηση Αποστολή ΦΠΑ Τελικό Κόστος Συναρμολόγησης Αποστολής ΦΠΑ Τελικού Συναρμολόγησης Αποστολής ΦΠΑ Τελικού Στην συνέχεια γράφουμε τις εντολές για κάθε μικρό πρόβλημα που έχει προκύψει από την ιεραρχική σχεδίαση. Αυτό ονομάζεται Τμηματικός Προγραμματισμός. Στο σχήμα φαίνονται με κόκκινο περίγραμμα τα υποπροβλήματα για τα οποία θα γράψουμε εντολές. ΔΙΑΒΑΣΕ κόστος συν (10*κόστος)/100 ΓΡΑΨΕ συν αποστολή (5*(κόστος+συν))/100 ΓΡΑΨΕ αποστολή φπα (24*(κόστος+συν+αποστολή))/100 ΓΡΑΨΕ φπα τελικό κόστος+συν+αποστολή+φπα ΓΡΑΨΕ τελικό! Εισαγωγή Δεδομένων! Συναρμολόγησης! Συναρμολόγησης! Αποστολής! Αποστολής! ΦΠΑ! ΦΠΑ! τελικού κόστους! τελικού κόστους Προγραμματιστικά Περιβάλλοντα Ένα πρόγραμμα γραμμένο σε μια γλώσσα προγραμματισμού (όπως π.χ. Java, C, Python) δεν είναι κατανοητό από τον υπολογιστή. Χρειάζεται να μετατραπεί σε γλώσσα μηχανής (η μόνη γλώσσα που καταλαβαίνει ο υπολογιστής). Αυτή την δουλειά την κάνει ο μεταγλωττιστής ή ο διερμηνευτής. Ποια είναι όμως η διαφορά τους; Ο μεταγλωττιστής παίρνει όλο το πρόγραμμα και το μετατρέπει σε γλώσσα μηχανής. Ο διερμηνευτής παίρνει μία μία τις εντολές, τις μετατρέπει σε εντολές γλώσσας μηχανής και τις δίνει 2

στον υπολογιστή για να την εκτελέσει. Ο διερμηνευτής λειτουργεί όπως και ο διερμηνέας μεταξύ δύο πολιτικών που μιλούν διαφορετικές γλώσσες. Κάθε φράση του ενός μεταφράζεται για την κατανόηση της από τον άλλο πολιτικό. Το παρακάτω σχήμα είναι από το βιβλίο και δείχνει τα στάδια που ακολουθούνται προκειμένου να καταλήξει ένα πρόγραμμα σε μορφή κατάλληλη για εκτέλεση από τον υπολογιστή. Το αρχικό ή πηγαίο πρόγραμμα είναι αυτό που γράφουμε χρησιμοποιώντας μια γλώσσα προγραμματισμού (π.χ. Python). Το αντικείμενο πρόγραμμα είναι το αρχικό όταν μετατραπεί σε γλώσσα μηχανής από τον μεταγλωττιστή. Όμως ένα πρόγραμμα μπορεί να κάνει χρήση κάποιας έτοιμης συνάρτησης. Στην ΓΛΩΣΣΑ έχουμε οκτώ τέτοιες συναρτήσεις (ΗΜ, ΣΥΝ, ΛΟΓ κλπ). Κάθε συνάρτηση είναι ένα πρόγραμμα που κάποιοι άλλοι προγραμματιστές έχουν φτιάξει για εμάς. Δουλειά του συνδέτη-φορτωτή είναι να βρει τις συναρτήσεις (σε γλώσσα μηχανής) που χρησιμοποιεί το πρόγραμμα μας και να τις ενσωματώσει στο αντικείμενο πρόγραμμα. Το τελικό πρόγραμμα (εκτελέσιμο πρόγραμμα) είναι και αυτό που μπορεί να διανεμηθεί σε όποιον θέλει να το τρέξει στον υπολογιστή του. Εκτός από τις συναρτήσεις που έχει η κάθε γλώσσα προγραμματισμού μπορούμε αν θέλουμε να φτιάξουμε και δικές μας. Στις τελευταίες ενότητες του βιβλίου θα δούμε πως κατασκευάζονται οι συναρτήσεις και ένα άλλο είδος παρόμοιων «μικρών προγραμμάτων» που ονομάζονται διαδικασίες. Οι σύγχρονες γλώσσες προγραμματισμού συνοδεύονται από πληθώρα συναρτήσεων και διαδικασιών γι αυτό και είναι χωρισμένες σε ομάδες τις οποίες και ονομάζουμε βιβλιοθήκες. Η συγγραφή προγραμμάτων είναι μία επίπονη και χρονοβόρα εργασία γι αυτό και όλοι οι προγραμματιστές σήμερα χρησιμοποιούν κατάλληλους επεξεργαστές κειμένου (συντάκτες) που διευκολύνουν κατά πολύ την δακτυλογράφηση. Ας υποθέσουμε ότι σε ένα πρόγραμμα έχουμε μία μεταβλητή με όνομα η_επίδοση_του_αθλητή την οποία και έχουμε ξαναγράψει. Δουλειά του συντάκτη είναι μόλις ξεκινήσουμε να γράφουμε την μεταβλητή να την συμπληρώσει αυτόματα για εμάς. 3

Λογικά και Συντακτικά λάθη Συντακτικά είναι τα λάθη που εντοπίζει ο διερμηνευτής ή μεταγλωττιστής σε ένα πρόγραμμα όταν προσπαθεί να το μετατρέψει σε γλώσσα μηχανής. Τέτοια λάθη είναι εύκολο να εντοπιστούν και διορθωθούν. Παραδείγματα συντακτικών λαθών: 5:6 (ο τελεστής της διαίρεσης είναι /) _x (δεν επιτρέπεται μια μεταβλητή να αρχίζει με _ ) X X+1 (το σύμβολο της εκχώρησης είναι ) Τα λογικά λάθη είναι δυσκολότερο να εντοπιστούν διότι δεν μπορεί ούτε ο διερμηνευτής ούτε ο μεταγλωττιστής να τα εντοπίσουν. Τέτοια λάθη παρουσιάζονται όταν η εντολή που γράφουμε δεν υπολογίζει αυτό που θέλαμε αλλά κάτι άλλο. Έστω ότι θέλουμε να φτιάξουμε τμήμα προγράμματος που διαβάζει δύο αριθμούς και υπολογίζει τον μέσο όρο τους. ΔΙΑΒΑΣΕ x,y ΜΟ (x+y)/3 ΓΡΑΨΕ ΜΟ Το λάθος σε αυτή την περίπτωση είναι ότι ο τύπος του μέσου όρου είναι (x+y)/2 και όχι (x+y)/3. Σωστό - Λάθος 1. Ένα πρόγραμμα σε γλώσσα μηχανής είναι μια ακολουθία δυαδικών ψηφίων. 2. Ένα πρόγραμμα σε γλώσσα μηχανής χρειάζεται μεταγλώττιση. (2004-Θ1Α) 3. Η εντολή GOTO που αλλάζει τη ροή εκτέλεσης ενός προγράμματος είναι απαραίτητη στο δομημένο προγραμματισμό. (Ε2004-Θ1Γ3) 4. Ο μεταγλωττιστής δέχεται στην είσοδό του ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. 5. Το πηγαίο πρόγραμμα εκτελείται από τον υπολογιστή χωρίς μεταγλώττιση. 6. Ο διερμηνευτής διαβάζει μία προς μία τις εντολές του πηγαίου προγράμματος και για κάθε μια εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής. (2004-Θ1Α) 7. Τα λογικά λάθη είναι συνήθως λάθη σχεδιασμού και δεν προκαλούν τη διακοπή της εκτέλεσης του προγράμματος. (Ε2002-Θ1Α4) 8. Τα συντακτικά λάθη στον πηγαίο κώδικα εμφανίζονται κατά το στάδιο της μεταγλώττισής του. (Ε2004-Θ1Γ4) 9. Το πρόγραμμα που παράγεται από το μεταγλωττιστή λέγεται εκτελέσιμο. (Ε2006-Θ1Α3) Ερωτήσεις 10. Σε ποιες στοιχειώδεις λογικές δομές στηρίζεται ο δομημένος προγραμματισμός; Να αναφέρετε τέσσερα πλεονεκτήματα του δομημένου προγραμματισμού. (Ε2003-Θ1Δ) 11. Ποια είναι τα πλεονεκτήματα του δομημένου προγραμματισμού; (Β2001-Θ1Δ1) 12. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; (2008-Θ1B2) 13. Να περιγράψετε τη διαδικασία για τη μετατροπή με μεταγλωττιστή ενός πηγαίου προγράμματος σε εκτελέσιμο πρόγραμμα, συμπεριλαμβανομένης της ανίχνευσης και διόρθωσης λαθών. (2002-Θ1Γ) 14. Ποιες είναι οι διαφορές μεταξύ μεταγλωττιστή (compiler) και διερμηνευτή (interpreter). (Ε2002-Θ1Β) 15. Πότε εμφανίζονται τα συντακτικά λάθη ενός προγράμματος και πότε τα λογικά; (2009-Θ1Γ2α) 16. Δίνονται οι παρακάτω λανθασμένες εντολές για τον υπολογισμό του μέσου όρου δύο αριθμών: 1. Γ Α+Β/2 2. Γ (Α+Β/2 3. Γ (Α+Β/2) 4

4. Γ (Α+Β):2 Να γράψετε τον αριθμό της κάθε εντολής (1, 2, 3, 4) και δίπλα τη λέξη συντακτικό ή τη λέξη λογικό, ανάλογα με το είδος του λάθους. (2009-Θ1Γ2β) 17. Δίνονται οι παρακάτω προτάσεις: Π1. Ο συνδέτης-φορτωτής μετατρέπει το 1 πρόγραμμα σε 2 πρόγραμμα Π2. Ο συντάκτης χρησιμοποιείται για να δημιουργηθεί το 3 πρόγραμμα Π3. Ο μεταγλωττιστής μετατρέπει το 4 πρόγραμμα σε 5 πρόγραμμα και οι παρακάτω λέξεις: α. αντικείμενο β. εκτελέσιμο γ. πηγαίο. i) Να γράψετε τους αριθμούς (1 5) των κενών διαστημάτων των προτάσεων και δίπλα το γράμμα της λέξης (α, β, γ) που αντιστοιχεί σωστά. ΣΗΜΕΙΩΣΗ: Κάποιες από τις λέξεις χρησιμοποιούνται περισσότερες φορές από μία. ii) Κατά την ανάπτυξη ενός προγράμματος σε ένα προγραμματιστικό περιβάλλον, με ποια χρονική σειρά πραγματοποιούνται τα βήματα που περιγράφουν οι παραπάνω προτάσεις; Να απαντήσετε γράφοντας τα Π1, Π2, Π3 με τη σωστή σειρά. (2007-Θ1Δ) Λύσεις 1. Σωστή 2. Λάθος 3. Λάθος 4. Σωστή 5. Λάθος 6. Σωστή 7. Σωστή 8. Σωστή 9. Λάθος 10. Ακολουθίας, επιλογής και επανάληψης. Σελ 136 του σχολικού βιβλίου. 11. Σελ 136 του σχολικού βιβλίου. 12. Ο μεταγλωττιστής διαβάζει ολόκληρο το πρόγραμμα (που είναι γραμμένο σε κάποια γλώσσα υψηλού επιπέδου) και το μετατρέπει σε γλώσσα μηχανής. Ο διερμηνευτής διαβάζει μία προς μία τις εντολές, τις μετατρέπει σε γλώσσα μηχανής και τις εκτελεί. 13. Χρησιμοποιώντας τον συντάκτη μιας γλώσσας υψηλού επιπέδου γράφουμε το (πηγαίο) πρόγραμμα. Ο μεταγλωττιστής το μετατρέπει σε γλώσσα μηχανής (αντικείμενο). Αν ο μεταγλωττιστής εντοπίσει συντακτικά λάθη μας ενημερώνει με κατάλληλα μηνύματα προκειμένου να τα διορθώσουμε και να ξαναυποβάλουμε το πηγαίο πρόγραμμα σε μεταγλώττιση. Η διαδικασία επαναλαμβάνεται έως ότου εξαλειφθούν όλα τα συντακτικά λάθη. Ο συνδέτης δέχεται το αντικείμενο πρόγραμμα και το συνδέει με τις βιβλιοθήκες της γλώσσας με αποτέλεσμα να παράγεται το εκτελέσιμο πρόγραμμα. Από τα αποτελέσματα του εκτελέσιμου αρχείου μπορούν να εντοπιστούν πιθανά λογικά λάθη τα οποία και διορθώνονται στο πηγαίο πρόγραμμα. Η όλη διαδικασία επαναλαμβάνεται έως ότου εξαλειφθούν όλα τα λογικά λάθη. 14. Δείτε ερώτηση 25. 15. Δείτε ερώτηση 26. 16. Λογικό, Συντακτικό, Λογικό, Συντακτικό. 17. 30. i)1. α, 2. β, 3. γ, 4. γ, 5.α ii) Π2, Π3, Π1 5