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

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

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


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

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

Απάντηση:

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

Σύνοψη: (ενδεικτική) Ανάλυση απαιτήσεων → Σχεδίαση → Υλοποίηση → Ολοκλήρωση → Λειτουργία & συντήρηση (διαδοχικές φάσεις).

Κριτήρια αξιολόγησης:

  • Κριτήριο: οι 5 φάσεις με σωστή σειρά.

Ερ.2 — Βασικά προγραμματιστικά υποδείγματα

Ερώτηση: Ποια είναι τα βασικά προγραμματιστικά υποδείγματα;

Απάντηση:

  • Προστακτικός (imperative): εντολές που αλλάζουν την κατάσταση μεταβλητών (π.χ. C, Pascal) — με ειδική περίπτωση τον δομημένο.
  • Δηλωτικός (declarative): περιγραφή του σκοπού — συναρτησιακός (Lisp) & λογικός (Prolog).
  • Αντικειμενοστρεφής (OOP): οργάνωση σε αντικείμενα (Java, C++, Python).

Σύνοψη: (ενδεικτική) Προστακτικός (& δομημένος), δηλωτικός (συναρτησιακός/λογικός), αντικειμενοστρεφής.

Κριτήρια αξιολόγησης:

  • Κριτήριο: αναφορά προστακτικού/δηλωτικού/αντικειμενοστρεφούς.

Ερ.3 — Χαρακτηριστικά δομημένου προγραμματισμού

Ερώτηση: Ποια είναι τα βασικά χαρακτηριστικά του δομημένου προγραμματισμού;

Απάντηση:

  • Χτίζει το πρόγραμμα μόνο με τρεις βασικές δομές: ακολουθία, επιλογή, επανάληψη.
  • Αποφεύγει το goto (που έδινε μη δομημένο «spaghetti» κώδικα).
  • Αποτέλεσμα: κώδικας πιο ευανάγνωστος, αξιόπιστος και συντηρήσιμος.

Σύνοψη: (ενδεικτική) Χρήση μόνο ακολουθίας/επιλογής/επανάληψης, χωρίς goto → ευανάγνωστος, αξιόπιστος, συντηρήσιμος κώδικας.

Κριτήρια αξιολόγησης:

  • Κριτήριο: οι 3 δομές + αποφυγή goto.

Ερ.4 — Χαρακτηριστικά αντικειμενοστρεφούς

Ερώτηση: Ποια είναι τα βασικά χαρακτηριστικά του αντικειμενοστρεφούς προγραμματισμού;

Απάντηση:

  • Οργάνωση σε αντικείμενα (δεδομένα + λειτουργίες) και κλάσεις.
  • Ενθυλάκωση (απόκρυψη δεδομένων), κληρονομικότητα (μια κλάση κληρονομεί από άλλη), πολυμορφισμός (ίδια λειτουργία, διαφορετική συμπεριφορά).

Σύνοψη: (ενδεικτική) Αντικείμενα/κλάσεις με ενθυλάκωση, κληρονομικότητα και πολυμορφισμό.

Κριτήρια αξιολόγησης:

  • Κριτήριο: αντικείμενα/κλάσεις + ≥2 από ενθυλάκωση/κληρονομικότητα/πολυμορφισμό.

Ερ.5 — Σύγχρονες γλώσσες

Ερώτηση: Αναφέρετε μερικές σύγχρονες γλώσσες προγραμματισμού.

Απάντηση:

  • Python (μικτό υπόδειγμα), Java (αντικειμενοστρεφής), C/C++, JavaScript.
  • (Κλασικές/ιστορικές: Pascal, C, Fortran, Cobol· δηλωτικές: Lisp, Prolog.)

Σύνοψη: (ενδεικτική) Π.χ. Python, Java, C/C++, JavaScript (κ.ά.).

Κριτήρια αξιολόγησης:

  • ΕΝΔΕΙΚΤΙΚΗ: δεκτές διάφορες σύγχρονες γλώσσες. Κριτήριο: ≥3 υπαρκτές γλώσσες.

 ΣΧΟΛΙΚΟ ΒΙΒΛΙΟ