Λύσεις — Κεφάλαιο 2 · Από τον Αλγόριθμο στην Ανάπτυξη Προγράμματος (σελ. 32) – ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ

Λύσεις — Κεφάλαιο 2 · Από τον Αλγόριθμο στην Ανάπτυξη Προγράμματος (σελ. 32)

Απαντήσεις στις Ερωτήσεις (μοντέλα καταρράκτη/σπείρας, προγραμματιστικά υποδείγματα, δομημένος & αντικειμενοστρεφής προγραμματισμός, σύγχρονες γλώσσες).


Ερ.1 — Φάσεις μοντέλου καταρράκτη

Ερώτηση: Ποιες είναι οι βασικές φάσεις για τη διαδικασία ανάπτυξης ενός συστήματος λογισμικού στο μοντέλο του καταρράκτη;

Απάντηση:

    1. Ανάλυση απαιτήσεων (τι πρέπει να κάνει).
    1. Σχεδίαση (πώς — αρχιτεκτονική/δομές).
    1. Υλοποίηση (γράψιμο κώδικα).
    1. Ολοκλήρωση (ένωση τμημάτων & έλεγχος).
    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 υπαρκτές γλώσσες.

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Β' ΕΠΑΛ - ΣΧΟΛΙΚΟ ΒΙΒΛΙΟ ΜΑΘΗΤΗ (PDF)