mdoumeni’s blog

Απλά ένα ακόμα ιστολόγιο Blogs.sch.gr

Αρχεία για ‘ΑΕΠΠ’


ΑΕΠΠ ΚΕΦ 6 (συνέχεια) και 10

ΚΕΦΑΛΑΙΟ 6, 10

ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Στη θεωρία του κεφαλαίου αυτού θα εντάξεις την ενότητα 6.4 του κεφαλαίου 6 (βλ. σελ 131-136).

<Κεφάλαιο 6>

ΕΝΤΟΛΗ GOTO: παράδειγμα προς αποφυγή, το μαύρο πρόβατο τού προγραμματισμού

Στα πρώτα χρόνια δημιουργίας Γλωσσών Προγραμματισμού κυριαρχούσε ο αδόμητος προγραμματισμός και κυρίως η εντολή διακλάδωσης GOTO που ευθύνεται γι αυτόν και θεωρείται το μαύρο πρόβατο του προγραμματισμού (βλ βιβλίο σελ 134, παράδειγμα).

Η χρήση αυτής της εντολής είχε τα ακόλουθα αποτελέσματα:

1. μεγάλα προγράμματα και ιδιαίτερα μπερδεμένα,

2. απαιτούνταν πάρα πολύς χρόνος για τη συγγραφή, διόρθωση και συντήρηση.

Όλες οι σύγχρονες γλώσσες υποστηρίζουν το δομημένο προγραμματισμό και διαθέτουν εντολές που καθιστούν τη χρήση της εντολής GOTO περιττή. Για λόγους συμβατότητας και μόνο, μερικές την διατηρούν ακόμα στο ρεπερτόριο των εντολών τους.

Η εντολή GOTO δεν θα μας απασχολήσει και καλό είναι να μην χρησιμοποιείται.

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ: η καλή μεθοδολογία προγραμματισμού

Ο δομημένος προγραμματισμός είναι μία μεθοδολογία σύνταξης προγραμμάτων, η οποία στηρίζεται  στη χρήση τριών και μόνο στοιχειωδών δομών:

1. τη δομή ακολουθίας,

2. τη δομή επιλογής,

3. και τη δομή επανάληψης

4. και διέπεται από την αρχή ότι κάθε πρόγραμμα όπως και κάθε υποπρόγραμμα, έχει μία είσοδο και μία έξοδο.

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

1. διευκολύνει τη δημιουργία απλούστερων προγραμμάτων που γράφονται για να επιλυθούν σύνθετα πολλές φορές προβλήματα,

2. κι αυτό επιτυγχάνεται γιατί διευκολύνει την ανάλυση του προγράμματος σε τμήματα,

3. βοηθά στην άμεση μεταφορά του αλγορίθμου σε πρόγραμμα,

4. βοηθά στον περιορισμό των λαθών κατά την ανάπτυξη του προγράμματος,

5. διευκολύνει την κατανόηση του προγράμματος από τρίτους,

6. βοηθά στην ευκολότερη διόρθωση και συντήρηση του προγράμματος.

Για όλα τα παραπάνω, σήμερα ο όρος δομημένος προγραμματισμός θεωρείται ότι περιέχει τόσο την ιεραρχική σχεδίαση όσο και τον τμηματικό προγραμματισμό.

<Κεφάλαιο 10>

Ο τμηματικός προγραμματισμός είναι ένα από τα βασικότερα συστατικά του δομημένου προγραμματισμού.

Ας δούμε πως προέκυψε:

Από την αρχή της εμφάνισης των υπολογιστών γίνονται προσπάθειες ανάπτυξης τεχνικών προγραμματισμού που σκοπό έχουν:

1. να διευκολύνουν τη συγγραφή απλών, κομψών προγραμμάτων,

2. να μειώσουν τα λάθη,

3. να βοηθήσουν στην ευκολότερη κατανόηση του προγράμματος από τρίτους*,

4. και να επιτρέψουν την παρακολούθηση και συντήρηση του προγράμματος.

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

Ο καλύτερος τρόπος για να επιτευχθεί ο παραπάνω στόχος αλλά και να αντιμετωπισθούν σύνθετα προβλήματα είναι η ιεραρχική σχεδίαση προγράμματος ή αλλιώς «από πάνω προς τα κάτω» ή top-down program design.

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

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

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

Η ιεραρχική σχεδίαση προγράμματος υλοποιείται με τον τμηματικό προγραμματισμό.

ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων η οποία αντιμετωπίζει το πρόγραμμα σαν ένα σύνολο από απλούστερα τμήματα προγραμμάτων(βλ σελ 205).

Το καθένα από αυτά τα τμήματα αντιστοιχεί σε υποπρόβλημα του κύριου προβλήματος. Θεωρείται  ανεξάρτητη ενότητα και γράφεται ξεχωριστά από τα υπόλοιπα τμήματα προγράμματος.

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

1. Διευκολύνει την ανάπτυξη του αλγορίθμου και του αντίστοιχου προγράμματος.

Με τη σταδιακή επίλυση υποπροβλημάτων και τη δημιουργία των αντίστοιχων υποπρογραμμάτων τελικά επιλύεται το συνολικό πρόβλημα.

2. Διευκολύνει την κατανόηση και διόρθωση του προγράμματος.

Ο χωρισμός του προγράμματος σε μικρότερα αυτοτελή και ανεξάρτητα τμήματα επιτρέπει τη γρήγορη διόρθωση τους από διαφορετικούς πολλές φορές προγραμματιστές (*βλ. προηγ. σελ.).

3. Απαιτεί λιγότερο χρόνο και προσπάθεια στη συγγραφή του προγράμματος. Από τη στιγμή που ένα υποπρόγραμμα έχει γραφτεί για να κάνει μία λειτουργία, μπορεί να καλείται από πολλά σημεία του προγράμματος. Έτσι το πρόγραμμα είναι πιο απλό ενώ μειώνεται το μέγεθός του, ο χρόνος συγγραφής του και τα λάθη του.

4. Επεκτείνει τις δυνατότητες των Γλωσσών Προγραμματισμού.

Όλα τα υποπρογράμματα μαζί συνθέτουν «βιβλιοθήκες» που προσθέτουν κι άλλες δυνατότητες σε μία γλώσσα προγραμματισμού από αυτές που ήδη προσφέρει (ενσωματωμένες συναρτήσεις π.χ. ΗΜ(x), Τ_Ρ(x)).

ΥΠΟΠΡΟΓΡΑΜΜΑ

Υποπρόγραμμα λέγεται το τμήμα προγράμματος που επιτελεί αυτόνομο έργο και έχει γραφτεί χωριστά από το υπόλοιπο πρόγραμμα.

ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΥΠΟΠΡΟΓΡΑΜΜΑΤΩΝ

1. Κάθε υποπρόγραμμα έχει μία είσοδο και μία έξοδο. Συγκεκριμένα ενεργοποιείται με την είσοδο σε αυτό, που γίνεται πάντοτε στην αρχή του, εκτελεί ορισμένες ενέργειες και απενεργοποιείται με την έξοδο, που γίνεται πάντοτε από το τέλος του.

2. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα. Αυτό σημαίνει ότι μπορεί να σχεδιαστεί, να αναπτυχθεί και να συντηρηθεί αυτόνομα.

3. Κάθε υποπρόγραμμα πρέπει να μην είναι πολύ μεγάλο. Δηλαδή να είναι τόσο ώστε να είναι εύκολα κατανοητό και να εκτελεί μία λειτουργία.

ΌΛΑ ΟΣΑ ΠΡΕΠΕΙ ΝΑ ΞΕΡΟΥΜΕ ΓΙΑ ΕΝΑ ΥΠΟΠΡΟΓΡΑΜΜΑ;

Τα υποπρογράμματα γράφονται μετά το τέλος του κύριου προγράμματος.

Οι διευθύνσεις επιστροφής (return address) των υποπρογραμμάτων αποθηκεύονται από το μεταφραστή στη στοίβα χρόνου εκτέλεσης (execution time stack) (βλ σελ 219). Ένα υποπρόγραμμα χρησιμοποιεί και ορίζει παραμέτρους για να επικοινωνεί με τα άλλα τμήματα προγράμματος.

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

Υπάρχουν δύο είδη υποπρογράμματος. Η ΔΙΑΔΙΚΑΣΙΑ και η ΣΥΝΑΡΤΗΣΗ.

Κάθε διαδικασία ή συνάρτηση μπορεί να καλείται: από το κύριο πρόγραμμα ή από άλλη διαδικασία ή συνάρτηση.

ΔΙΑΔΙΚΑΣΙΑ: είναι ένας τύπος υποπρογράμματος που μπορεί να εκτελεί όλες τις λειτουργίες ενός προγράμματος, δηλαδή εισαγωγή δεδομένων (ΔΙΑΒΑΣΕ), υπολογισμούς (ΕΝΤΟΛΗ ΕΚΧΩΡΗΣΗΣ), εμφάνιση ή εκτύπωση αποτελεσμάτων (ΓΡΑΨΕ). Το όνομα της βασίζεται στην ονοματολογία της ΓΛΩΣΣΑΣ.

Η λίστα παραμέτρων δεν είναι υποχρεωτική.

Για να καλέσουμε μία ΔΙΑΔΙΚΑΣΙΑ γράφουμε :

ΚΑΛΕΣΕ <όνομα της ΔΙΑΔΙΚΑΣΙΑΣ>

ΣΥΝΑΡΤΗΣΗ: είναι ένας τύπος υποπρογράμματος που υπολογίζει και επιστρέφει μόνο μία τιμή με το όνομά της, Όπως οι μαθηματικές συναρτήσεις (ΕΝΤΟΛΗ ΕΚΧΩΡΗΣΗΣ). Μπορεί να επιστρέψει ΑΚΕΡΑΙΑ, ΠΡΑΓΜΑΤΙΚΗ, ΧΑΡΑΚΤΗΡΑ ή ΛΟΓΙΚΗ τιμή. Το όνομα της βασίζεται στην ονοματολογία της ΓΛΩΣΣΑΣ.

Η λίστα παραμέτρων είναι υποχρεωτική.

Για να καλέσουμε μία ΣΥΝΑΡΤΗΣΗ γράφουμε το όνομα της ΣΥΝΑΡΤΗΣΗΣ μέσα σε μία έκφραση.

ΠΑΡΑΜΕΤΡΟΙ

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

ΠΡΑΓΜΑΤΙΚΕΣ ΠΑΡΑΜΕΤΡΟΙ

Η λίστα των πραγματικών παραμέτρων καθορίζει τις παραμέτρους στην κλήση του υποπρογράμματος.

ΤΥΠΙΚΕΣ ΠΑΡΑΜΕΤΡΟΙ ή ΟΡΙΣΜΑΤΑ

Η λίστα των τυπικών παραμέτρων ή ορίσματα καθορίζει τις παραμέτρους στη δήλωση του υποπρογράμματος.

ΚΑΝΟΝΕΣ ΧΡΗΣΗΣ ΠΑΡΑΜΕΤΡΩΝ

Οι λίστες παραμέτρων πρέπει να ακολουθούν τρεις κανόνες:

1. ίδιο πλήθος πραγματικών και τυπικών παραμέτρων,

2. ίδια σειρά και διάταξη πραγματικών και τυπικών παραμέτρων

3. ίδιο κατ’ αντιστοιχία τύπο πραγματικών και τυπικών παραμέτρων (βλ σελ 220).

ΠΡΟΓΡΑΜΜΑ Παράδειγμα

ΜΕΤΑΒΛΗΤΕΣ

ΑΚΕΡΑΙΑ: α

ΠΡΑΓΜΑΤΙΚΗ: β Πραγματικές Παράμετροι

ΧΑΡΑΚΤΗΡΕΣ: γ

……………………….

ΚΑΛΕΣΕ    Διαδ1  (α, β, γ)

……………………                                                                          Τυπικές Παράμετροι ή ορίσματα

ΔΙΑΔΙΚΑΣΙΑ   Διάδ1  (κ, λ, μ)

ΑΚΕΡΑΙΑ: κ

ΠΡΑΓΜΑΤΙΚΗ: λ

ΧΑΡΑΚΤΗΡΕΣ: μ

………………………….

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

1. Να διατυπώσετε τον ορισμό του τμηματικού προγραμματισμού.
2. Τι ονομάζεται υποπρόγραμμα (subprogram) στον τμηματικό προγραμματισμό;
3. Ποιες ιδιότητες πρέπει να διακρίνουν τα υποπρογράμματα;
4. Ποια είναι τα πλεονεκτήματα του τμηματικού προγραμματισμού;
5. Να διατυπώσετε τον ορισμό της παραμέτρου.
6. Ποια είναι τα δύο είδη υποπρογραμμάτων που μπορούν να χρησιμοποιηθούν εφαρμόζοντας την τεχνική του τμηματικού προγραμματισμού με τη ΓΛΩΣΣΑ;
7. Πως ορίζεται και καλείται και που γράφεται μια συνάρτηση (όνομα, λίστα παραμέτρων, τι προσέχουμε);
8. Πως ορίζεται και καλείται και που γράφεται μια διαδικασία (όνομα, λίστα παραμέτρων);
9. Τι είναι και ποια η εμβέλεια για πραγματικές και τυπικές παραμέτρους (ή απλά παράμετροι ή ορίσματα);
10. Τι είναι διεύθυνση επιστροφής, που αποθηκεύεται και πώς λειτουργεί η στοίβα χρόνου εκτέλεσης;
11. Ποιους κανόνες πρέπει να ακολουθούν πάντα οι λίστες παραμέτρων των υποπρογραμμάτων; (σελ 220)

ΑΣΚΗΣΕΙΣ: ΔΤ1 και ΔΤ2 σελ 109, ΔΤ1 σελ 57 και ΔΣ2 σελ 58

ΑΕΠΠ Κεφ 6

ΚΕΦΑΛΑΙΟ 6

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

ΓΕΝΙΚΑ

Πρόγραμμα = Δεδομένα + Δομές Δεδομένων + Υλοποίηση Αλγορίθμου

Ο υπολογιστής δεν είναι μία έξυπνη μηχανή απλά διαχειρίζεται ακολουθίες δύο ψηφίων 0 και 1:

1. τις αποθηκεύει στη μνήμη,

2. τις ανακτά,

3. κάνει στοιχειώδεις πράξεις με αυτές τις ακολουθίες,

4. τις συγκρίνει.

Η/Υ + Πρόγραμμα: Λύνουν συγκεκριμένα προβλήματα.

Το Υλικό Υπολογιστών (Hardware) βελτιώνεται συνεχώς.

Οι Γλώσσες Προγραμματισμού (Software) αναπτύχθηκαν με σκοπό την επικοινωνία ανθρώπου με μηχανή (1945 Φον Νόυμαν) και εξελίσσονται με αργούς ρυθμούς.

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

Κανόνας: Δεν υπάρχει καλύτερη γλώσσα προγραμματισμού. (*βλ πριν τις ερωτήσεις)

1. ΓΛΩΣΣΑ ΜΗΧΑΝΗΣ

Με ψηφία 0 και 1.

Συνδεδεμένη με την αρχιτεκτονική της μηχανής.

π.χ. ENIAC (Διακόπτες και καλώδια).

2. ΣΥΜΒΟΛΙΚΕΣ ΓΛΩΣΣΕΣ

Με συμβολικά ονόματα για απλές εντολές.

Δύσκολο να γραφούν και να συντηρηθούν.

Συνδεδεμένη με την αρχιτεκτονική της μηχανής.

Με συμβολομεταφραστή (assembler).

Π.χ. ADD INDEX

3. ΓΛΩΣΣΕΣ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ (3ης γενιάς)

1957 FORTRAN

FORmula TRANslation

Μαθηματικά επιστημονικά προβλήματα.

Χρειάζεται το δικό της μεταγλωττιστή.

1960 COBOL

COmmon Business Oriented Language

Εμπορικές εφαρμογές.
1960 ALGOL

ALGOrithmic Language

Γενικής φύσης προβλήματα.
1965 PL/1

Programming Language/1

Προσπάθεια να καλύψει όλους τους τομείς.

Εξέλιξη FORTRAN + COBOL.

1965 LISP

LISt Processor

Τεχνητή Νοημοσύνη.
1970 PROLOG

Programming LOGic

Τεχνητή Νοημοσύνη.
1967 LOGO Λόγος Εκπαιδευτικές εφαρμογές μαθητών.
1964 BASIC

Beginner’s All Purpose Symbolic Instruction Code

Εκπαίδευση Αρχαρίων.

Χρήση διερμηνευτή (interpreter).

1970 PASCAL Γλώσσα γενικής χρήσης. Δομημένος Προγραμματισμός.
1972 C, C++ Λειτουργικά Συστήματα (Unix). Αντικειμενοστραφής.
1970-80 dBase, Clipper, Access Διαχείριση Βάσεων Δεδομένων.ΠροςΓλώσσες 4ης Γενιάς
Τα

τελευταία

χρόνια

JAVA Γλώσσα Διαδικτύου.
Event driven programming Γλώσσες Οδηγούμενες από το γεγονός (κλικ ποντικιού).
Visual programming Οπτικός Προγραμματισμός (Γραφικό περιβάλλον).

3.1 ΠΛΕΟΝΕΚΤΗΜΑΤΑ

1. Ανθρώπινος τρόπος έκφρασης

2. Μεταφερσιμότητα (ανεξαρτησία από τον υπολογιστή)

3. Ευκολία στην εκμάθηση και εκπαίδευση

4. Εύκολη διόρθωση λαθών και συντήρηση

5. Λιγότερος χρόνος και λιγότερο κόστος παραγωγής προγραμμάτων.

3.2 ΚΑΤΗΓΟΡΙΕΣ

Με βάση το σκοπό για τον οποίο είναι φτιαγμένες ή τη χρήση:

1. Διαδικασιακές

2. Αλγοριθμικές

3. Αντικειμενοστραφείς: Λαμβάνουν ως δομικά στοιχεία τα δεδομένα βάσει των οποίων μορφοποιούνται τα αντικείμενα. Ιεραρχική Σχ.+ Τμηματικός Προγ.+ Δομημένος Προγ. (C++, PASCAL)

4. Συναρτησιακές (LISP)

5. Μη διαδικασιακές (PROLOG)

6. Ερωταπαντήσεων (SQL)

7. Γενικής χρήσης (BASIC, PASCAL, Επιστημονικές FORTRAN και Εμπορικές COBOL)

8. Συστημάτων (C)

9. Τεχνητής Νοημοσύνης (LISP, PROLOG)

10. Ειδικής Χρήσης (Για γραφικά, Εκπαίδευση, ρομποτική, Ολοκληρωμένα κυκλώματα-Αυτοματισμός, Βάσεων Δεδομένων (dBase, Clipper, Access, SQL).

4. ΓΛΩΣΣΕΣ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ (4ης ΓΕΝΙΑΣ)

Γλώσσες ερωταπαντήσεων (χρήση από προγραμματιστές αλλά και από χρήστες με λίγες γνώσεις, SQL).

ΦΥΣΙΚΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΓΛΩΣΣΕΣ

ΓΕΝΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ

1. Το αλφάβητο (Γράμματα και ψηφία).

2. Λεξιλόγιο (Λέξεις).

3. Γραμματική

Τυπική (Κανόνες σύνθεσης λέξεων)

Συντακτικό (Κανόνες σύνταξης λέξεων).

4. Σημασιολογία (Νόημα λέξεων, εκφράσεων και προτάσεων).

ΔΙΑΦΟΡΕΣ

Η δυνατότητα εξέλιξης.

Φυσικές γλώσσες: μεγάλη δυνατότητα εξέλιξης.

Τεχνητές γλώσσες: στασιμότητα ή μικρή βελτίωση σε επίπεδο διαλέκτου και σε επίπεδο επέκτασης.

ΠΑΡΑΛΛΗΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Α. Περισσότεροι επεξεργαστές

Β. Μοιράζονται την ίδια μνήμη

Γ. Λειτουργούν παράλληλα εκτελώντας διάφορες εντολές του ίδιου προγράμματος

Δ. Ασύλληπτες ταχύτητες

Ε. Απαιτούν τμηματικό προγραμματισμό.

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

Το πρόγραμμα γράφεται στον συντάκτη (Editor).

Το σύνολο των εντολών του προγράμματος ονομάζεται πηγαίος κώδικας (Source Code).

Πηγαίος Κώδικας

_

Μεταγλώττιση(συντακτικός έλεγχος σε όλες τις εντολές)

_

Αντικείμενο Πρόγραμμα

_

Σύνδεση από το συνδέτη

_

Εκτελέσιμο Πρόγραμμa
Source Compilation

By Compiler

object

obj

Linking by Linker executable prg

Όταν εντοπίζονται λάθη λογικά κατά την εκτέλεση, διορθώνονται εντολή-εντολή με διερμηνευτή (interpreter).

*ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Κανόνας: Δεν υπάρχει καλύτερη γλώσσα προγραμματισμού.

Η επιλογή της γλώσσας προγραμματισμού εξαρτάται από:

1) από το είδος της εφαρμογής

2) από το υλικό (Hardware) και το λογισμικό (Software)

3) από τις γνώσεις του προγραμματιστή

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

1. Ποια είναι τα στάδια επίλυσης ενός προβλήματος με υπολογιστή;
2. Με τι ασχολείται ο προγραμματισμός; Ποιο είναι το βασικό στοιχείο ενός προγράμματος;
3. Τι είναι αυτό που δίνει την εντύπωση ότι οι υπολογιστές είναι έξυπνες μηχανές ενώ είναι απλώς μια ψευδαίσθηση;
4. Ποιες καταστάσεις καταλαβαίνει ο υπολογιστής και ποιες οι στοιχειώδεις ενέργειες που εκτελεί με αυτές;
5. Ποιος είναι ο βασικός σκοπός για τον οποίο αναπτύχθηκαν οι γλώσσες προγραμματισμού;
6. Τι είναι γλώσσα μηχανής; Ανάφερε ποιες δυσκολίες παρουσιάζονταν παλιότερα με τις γλώσσες μηχανής;
7. Τι γνωρίζεις για τις συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου (σκοπός δημιουργίας και μειονεκτήματα);
8. Τι είναι ο συμβολομεταφραστής;
9. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου από αυτές του χαμηλού επιπέδου;
10. Ποιες γλώσσες υψηλού επίπεδου γνωρίζετε; Αναφέρετε βασικά χαρακτηριστικά για κάθε μία.
11. Τι ονομάζουμε οπτικό προγραμματισμό και τι προγραμματισμό οδηγούμενο από το γεγονός;
12. Ποιες είναι οι κατηγορίες των γλωσσών προγραμματισμού υψηλού επιπέδου; Να δοθεί ένα παράδειγμα για κάθε κατηγορία.
13. Σε ποιες κατηγορίες ταξινομούμε τις γλώσσες προγραμματισμού με βάση την περιοχή χρήσης τους; Να δοθεί ένα παράδειγμα για κάθε κατηγορία.
14. Υπάρχει η καλύτερη γλώσσα προγραμματισμού;
15. Πώς προσδιορίζεται μία γλώσσα;
16. Να δοθεί ο ορισμός του αλφαβήτου, του λεξιλογίου, της γραμματικής και της σημασιολογίας μιας γλώσσας.
17. Ποιες είναι οι κυριότερες διαφορές των φυσικών και των τεχνητών γλωσσών; Σε τι επίπεδο μια γλώσσα προγραμματισμού μπορεί να βελτιωθεί;
18. Ποιες τεχνικές σχεδίασης προγραμμάτων γνωρίζετε;
19. Τι καλείται ιεραρχική σχεδίαση προγράμματος;
20. Τι καλείται τμηματικός προγραμματισμός;
21. Ποιο σκοπό έχει και που βασίζεται ο δομημένος προγραμματισμός;
22. Ποια είναι τα πλεονεκτήματα του δομημένου προγραμματισμού;
23. Τι κάνει ένας μεταγλωττιστής;
24. Τι κάνει ένας διερμηνευτής;
25. Ποια είναι η διαδικασία δημιουργίας ενός εκτελέσιμου προγράμματος;
26. Ποια είναι τα είδη λαθών που εμφανίζονται σ’ ένα πρόγραμμα κατά τη διαδικασία ανάπτυξής του;
27. Ποιες είναι οι διαφορές μεταγλωττιστή και διερμηνευτή;
28. Ποια προγράμματα και εργαλεία περιέχει ένα προγραμματιστικό περιβάλλον;


Αλλαγή μεγέθους γραμματοσειράς
Αντίθεση
Μετάβαση σε γραμμή εργαλείων