Από τον αλγόριθμο στο πρόγραμμα
Γλώσσες, μεταφραστές, και το αλφάβητο της ΓΛΩΣΣΑΣ.
35 λεπτά
Θα μάθεις να
- Να κατατάσσεις τις γλώσσες προγραμματισμού σε επίπεδα και γενιές.
- Να ξεχωρίζεις τον μεταγλωττιστή από τον διερμηνευτή.
- Να γράφεις τη σωστή δομή ενός προγράμματος σε ΓΛΩΣΣΑ.
- Να χρησιμοποιείς τους τελεστές και να υπολογίζεις εκφράσεις με τη σωστή προτεραιότητα.
Από τον αλγόριθμο στο πρόγραμμα
Πρόγραμμα είναι ο αλγόριθμος γραμμένος σε γλώσσα που καταλαβαίνει ο υπολογιστής. Ο αλγόριθμος είναι η λύση· το πρόγραμμα είναι η λύση εκτελέσιμη.
| Επίπεδο γλώσσας | Χαρακτηριστικό |
|---|---|
| Γλώσσα μηχανής | δυαδικά ψηφία· εξαρτάται πλήρως από τον επεξεργαστή |
| Συμβολική (assembly) | μνημονικά ονόματα αντί για δυαδικά· εξαρτάται ακόμη από τη μηχανή |
| Υψηλού επιπέδου | κοντά στη φυσική γλώσσα και ανεξάρτητη μηχανής |
Οι γενιές: 1η γλώσσα μηχανής, 2η συμβολικές, 3η υψηλού επιπέδου (Pascal, C), 4η γλώσσες ερωτοαπαντήσεων και βάσεων δεδομένων, 5η φυσικές γλώσσες και τεχνητή νοημοσύνη.
Μεταφραστές
Ο υπολογιστής εκτελεί μόνο γλώσσα μηχανής, οπότε κάθε πρόγραμμα υψηλού επιπέδου πρέπει να μεταφραστεί.
| Μεταγλωττιστής | Διερμηνευτής | |
|---|---|---|
| Μεταφράζει | όλο το πρόγραμμα μαζί | εντολή προς εντολή |
| Παράγει | εκτελέσιμο αρχείο | τίποτα μόνιμο |
| Λάθη | αναφέρονται όλα μαζί στο τέλος | σταματά στο πρώτο |
| Ταχύτητα εκτέλεσης | μεγαλύτερη | μικρότερη |
| Χρειάζεται στην εκτέλεση | όχι | ναι, κάθε φορά |
Η αλυσίδα είναι: πηγαίο πρόγραμμα → μεταγλωττιστής → αντικείμενο πρόγραμμα → συνδέτης → εκτελέσιμο πρόγραμμα.
Η δομή ενός προγράμματος
ΠΡΟΓΡΑΜΜΑ Εμβαδόν_τριγώνουΣΤΑΘΕΡΕΣΜΙΣΟ = 0.5ΜΕΤΑΒΛΗΤΕΣΠΡΑΓΜΑΤΙΚΕΣ: βάση, ύψος, εμβαδόνΑΡΧΗΓΡΑΨΕ 'Δώσε βάση και ύψος:'ΔΙΑΒΑΣΕ βάση, ύψοςεμβαδόν ← ΜΙΣΟ * βάση * ύψοςΓΡΑΨΕ 'Εμβαδόν:', εμβαδόνΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Τρία τμήματα, με αυστηρή σειρά:
- Επικεφαλίδα — η λέξη
ΠΡΟΓΡΑΜΜΑκαι το όνομα. - Δηλώσεις — πρώτα
ΣΤΑΘΕΡΕΣ, μετάΜΕΤΑΒΛΗΤΕΣομαδοποιημένες ανά τύπο. - Κυρίως πρόγραμμα — ανάμεσα σε
ΑΡΧΗκαιΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ.
Τελεστές και προτεραιότητα
| Κατηγορία | Τελεστές |
|---|---|
| Αριθμητικοί | ^, *, /, DIV, MOD, +, - |
| Συγκριτικοί | =, <, >, <=, >=, <> |
| Λογικοί | ΟΧΙ, ΚΑΙ, Η |
Σειρά εκτέλεσης: πρώτα οι παρενθέσεις, μετά η ύψωση σε δύναμη, μετά πολλαπλασιασμός και διαιρέσεις (μαζί με DIV και MOD), μετά πρόσθεση και αφαίρεση, μετά οι συγκριτικοί, και τελευταίοι οι λογικοί με σειρά ΟΧΙ, ΚΑΙ, Η.
Οι δύο ακέραιοι τελεστές είναι από τα πιο χρήσιμα εργαλεία των εξετάσεων:
DIVδίνει το ακέραιο πηλίκο:17 DIV 5 = 3MODδίνει το υπόλοιπο:17 MOD 5 = 2
Τεχνικές σχεδίασης
- Ιεραρχική σχεδίαση — από το γενικό στο ειδικό, «από πάνω προς τα κάτω».
- Τμηματικός προγραμματισμός — το πρόγραμμα σπάει σε ανεξάρτητα τμήματα.
- Δομημένος προγραμματισμός — μόνο τρεις δομές: ακολουθία, επιλογή, επανάληψη, και καμία εντολή άλματος.
Η κατάργηση του GOTO είναι ο πυρήνας του δομημένου προγραμματισμού: κάθε τμήμα έχει μία είσοδο και μία έξοδο, οπότε η ροή διαβάζεται από πάνω προς τα κάτω χωρίς να χρειάζεται να την κυνηγήσεις.
Λυμένα παραδείγματα
Παράδειγμα 1
Υπολόγισε την τιμή της έκφρασης .
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 2
Πόσο κάνουν τα και , και τι σημαίνει το καθένα;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 3
Γιατί το παρακάτω είναι συντακτικά λάθος; ΣΤΑΘΕΡΕΣ Ρ = 3.14 · ΑΡΧΗ · Ρ ← 3.15
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 4
Το πρόγραμμα μεταγλωττίστηκε χωρίς λάθη αλλά βγάζει λάθος αποτέλεσμα. Τι είδους λάθος είναι, και πώς βρίσκεται;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Ασκήσεις
Από την πιο απλή στην πιο δύσκολη. Κρυμμένη είναι μόνο η απάντηση — ο δρόμος ως εκεί είναι δική σου δουλειά.
Ποιες είναι οι τρεις δομές του δομημένου προγραμματισμού;
Τεστ
Δεν μετράει βαθμός — μετράει να δεις τι κατάλαβες. Προσπέρασε όποια θες και γύρνα πίσω όποτε θες.
Ερώτηση 1 από 8
Τα κατάφερες;
- Να κατατάσσεις τις γλώσσες προγραμματισμού σε επίπεδα και γενιές.
- Να ξεχωρίζεις τον μεταγλωττιστή από τον διερμηνευτή.
- Να γράφεις τη σωστή δομή ενός προγράμματος σε ΓΛΩΣΣΑ.
- Να χρησιμοποιείς τους τελεστές και να υπολογίζεις εκφράσεις με τη σωστή προτεραιότητα.
Κάνε το τεστ πιο πάνω και θα δεις εδώ πού στέκεσαι.