Λύσεις — Κεφάλαιο 2 · Από τον Αλγόριθμο στην Ανάπτυξη Προγράμματος (σελ. 32)
Απαντήσεις στις Ερωτήσεις (μοντέλα καταρράκτη/σπείρας, προγραμματιστικά υποδείγματα, δομημένος & αντικειμενοστρεφής προγραμματισμός, σύγχρονες γλώσσες).
Ερ.1 — Φάσεις μοντέλου καταρράκτη
Ερώτηση: Ποιες είναι οι βασικές φάσεις για τη διαδικασία ανάπτυξης ενός συστήματος λογισμικού στο μοντέλο του καταρράκτη;
Απάντηση:
-
- Ανάλυση απαιτήσεων (τι πρέπει να κάνει).
-
- Σχεδίαση (πώς — αρχιτεκτονική/δομές).
-
- Υλοποίηση (γράψιμο κώδικα).
-
- Ολοκλήρωση (ένωση τμημάτων & έλεγχος).
-
- Λειτουργία & συντήρηση.
Σύνοψη: (ενδεικτική) Ανάλυση απαιτήσεων → Σχεδίαση → Υλοποίηση → Ολοκλήρωση → Λειτουργία & συντήρηση (διαδοχικές φάσεις).
Κριτήρια αξιολόγησης:
- Κριτήριο: οι 5 φάσεις με σωστή σειρά.
Ερ.2 — Βασικά προγραμματιστικά υποδείγματα
Ερώτηση: Ποια είναι τα βασικά προγραμματιστικά υποδείγματα;
Απάντηση:
- Τα βασικά προγραμματιστικά υποδείγματα είναι δύο:
- Προστακτικός προγραμματισμός (imperative): εντολές που υλοποιούν τα βήματα ενός αλγόριθμου, ενεργώντας σε μεταβλητές και αλλάζοντας την κατάστασή τους (Cobol, Fortran, Pascal, C). Σε αυτόν εντάσσονται ο δομημένος (με υποκατηγορία τον διαδικαστικό) και ο αντικειμενοστραφής προγραμματισμός.
- Δηλωτικός προγραμματισμός (declarative): βασίζεται στην περιγραφή του σκοπού που ζητείται να επιτύχει το πρόγραμμα· υποκατηγορίες ο συναρτησιακός (Lisp, Logo) και ο λογικός (Prolog).
Σύνοψη: (ενδεικτική) Ο προστακτικός (imperative) και ο δηλωτικός (declarative) προγραμματισμός.
Κριτήρια αξιολόγησης:
- Κριτήριο: αναφορά προστακτικού και δηλωτικού υποδείγματος.
- ΠΑΓΙΔΑ: ο δομημένος και ο αντικειμενοστραφής προγραμματισμός δεν είναι ξεχωριστά βασικά υποδείγματα στο βιβλίο· ανήκουν στον προστακτικό.
Ερ.3 — Χαρακτηριστικά δομημένου προγραμματισμού
Ερώτηση: Ποια είναι τα βασικά χαρακτηριστικά του δομημένου προγραμματισμού;
Απάντηση:
- Οι εντολές οργανώνονται σε ομάδες (blocks) που ακολουθούν την ιεραρχική λογική ροής.
- Υπάρχει δυνατότητα χρήσης υπορουτινών και δομών όπως η if-then-else.
- Δεν βασίζεται στη διακλάδωση της ροής με την εντολή goto, που οδηγούσε σε μη δομημένα προγράμματα.
- Υποκατηγορία του είναι ο διαδικαστικός προγραμματισμός, όπου το πρόγραμμα αποτελείται από αυτοτελείς ομάδες εντολών, τις διαδικασίες (π.χ. Pascal).
Σύνοψη: (ενδεικτική) Εντολές σε ομάδες (blocks) με ιεραρχική λογική ροής, υπορουτίνες και δομές όπως if-then-else, χωρίς διακλάδωση με goto.
Κριτήρια αξιολόγησης:
- Κριτήριο: blocks/ιεραρχική ροή + υπορουτίνες/δομές ελέγχου + αποφυγή goto.
Ερ.4 — Χαρακτηριστικά αντικειμενοστρεφούς
Ερώτηση: Ποια είναι τα βασικά χαρακτηριστικά του αντικειμενοστραφούς προγραμματισμού;
Απάντηση:
- Βασίζεται σε αντικείμενα που αλληλεπιδρούν μεταξύ τους — πρότυπο που ταιριάζει περισσότερο στη λογική οργάνωσης και λειτουργίας του πραγματικού κόσμου.
- Περιστρέφεται γύρω από την έννοια της κλάσης (class), η οποία περιγράφει αντικείμενα που περιέχουν δεδομένα στη μορφή ιδιοτήτων (properties) και κώδικα στη μορφή μεθόδων (methods).
- Π.χ. κλάση Όχημα με ιδιότητες Χρώμα, Τιμή, Αριθμός Τροχών, Ταχύτητα και μεθόδους Επιτάχυνε, Φρέναρε· το «Αυτοκίνητο 1» είναι αντικείμενο της κλάσης με δικές του τιμές ιδιοτήτων.
- Οι κλάσεις έχουν κληρονομικότητα: μεταφέρουν τα χαρακτηριστικά και τις μεθόδους τους στις κλάσεις και στα αντικείμενα που κατασκευάζονται από αυτές.
Σύνοψη: (ενδεικτική) Αντικείμενα που αλληλεπιδρούν· κλάσεις που περιγράφουν αντικείμενα με ιδιότητες (δεδομένα) και μεθόδους (κώδικα)· κληρονομικότητα.
Κριτήρια αξιολόγησης:
- Κριτήριο: κλάση + αντικείμενα + ιδιότητες/μέθοδοι (+ κληρονομικότητα).
Ερ.5 — Σύγχρονες γλώσσες
Ερώτηση: Αναφέρετε μερικές σύγχρονες γλώσσες προγραμματισμού.
Απάντηση:
- Python (μικτά υποδείγματα), Java (αντικειμενοστραφής), C++ (αντικειμενοστραφής), Visual Basic (μικτό πρότυπο), Prolog (λογικός προγραμματισμός).
- (Κλασικές γλώσσες: Pascal, C, Fortran, Cobol.)
Σύνοψη: (ενδεικτική) Π.χ. Python, Java, C++, Visual Basic, Prolog.
Κριτήρια αξιολόγησης:
- ΕΝΔΕΙΚΤΙΚΗ: δεκτές διάφορες σύγχρονες γλώσσες. Κριτήριο: ≥3 υπαρκτές γλώσσες.