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

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

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


Ερ.1 — Τι είναι πρόβλημα

Ερώτηση: Τι είναι ένα πρόβλημα;

Απάντηση:

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

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

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

  • Κριτήριο: «απαιτεί λύση» + «η λύση δεν είναι γνωστή/προφανής».

Ερ.2 — Βήματα επίλυσης προβλήματος

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

Απάντηση:

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

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

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

  • Κριτήριο: ≥4 στάδια με λογική σειρά (κατανόηση→αλγόριθμος→αξιολόγηση).

Ερ.3 — Η αξία της αφαίρεσης

Ερώτηση: Μπορείτε να περιγράψετε με ένα δικό σας παράδειγμα την αξία της αφαίρεσης;

Απάντηση:

  • Αφαίρεση = εντοπισμός των βασικών χαρακτηριστικών, αγνοώντας τα περιττά.
  • Παράδειγμα: για να δρομολογήσω μια διαδρομή σε χάρτη, κρατώ τις αποστάσεις/δρόμους και αγνοώ το χρώμα των κτιρίων ή τον καιρό.
  • (Άλλο: ένα Formula 1 και ένα τζιπ είναι και τα δύο αυτοκίνητα — αφαιρώ τις διαφορές τους.)

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

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

  • ΕΝΔΕΙΚΤΙΚΗ: κάθε λογικό προσωπικό παράδειγμα δεκτό. Κριτήριο: δείχνει «κρατώ βασικά, αγνοώ περιττά».

Ερ.4 — Τρόποι αναπαράστασης αλγόριθμου

Ερώτηση: Με ποιους τρόπους μπορούμε να αναπαραστήσουμε έναν αλγόριθμο;

Απάντηση:

  • Φυσική γλώσσα (με λόγια — μπορεί να είναι ασαφής).
  • Ψευδοκώδικας/ψευδογλώσσα (δομημένη, ανεξάρτητη γλώσσας).
  • Διάγραμμα ροής (γραφικά, με τυποποιημένα σύμβολα).
  • Γλώσσα προγραμματισμού (έτοιμος να εκτελεστεί).

Σύνοψη: (ενδεικτική) Φυσική γλώσσα, ψευδοκώδικας, διάγραμμα ροής, γλώσσα προγραμματισμού.

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

  • Κριτήριο: ≥3 τρόποι (ιδανικά και οι 4).

Δραστηριότητα 1 — Κάλπικα νομίσματα με μία ζύγιση

Ερώτηση: 10 σακιά × 100 νομίσματα. Γνήσιο=10 g, κάλπικο=9 g. Ένα σακί έχει μόνο κάλπικα. Πώς βρίσκουμε ποιο, με ΜΙΑ ζύγιση σε ζυγαριά ακριβείας;

Απάντηση:

  • Ιδέα: αριθμούμε τα σακιά 1..10 και παίρνουμε διαφορετικό πλήθος νομισμάτων από το καθένα: 1 από το σακί 1, 2 από το σακί 2, …, 10 από το σακί 10.
  • Συνολικά ζυγίζουμε \(1+2+\dots+10=55\) νομίσματα. Αν όλα ήταν γνήσια, το βάρος θα ήταν \(55\times10=550\) g.
  • Κάθε κάλπικο νόμισμα «λείπει» 1 g. Αν το κάλπικο είναι το σακί \(k\), πήραμε \(k\) κάλπικα → έλλειμμα \(k\) g.
  • Άρα: αριθμός κάλπικου σακιού \(= 550 - (\text{μέτρηση})\). Π.χ. μέτρηση 547 g → έλλειμμα 3 → σακί 3.

Σύνοψη: Παίρνουμε 1,2,…,10 νομίσματα από τα σακιά 1..10 (σύνολο 55). Κάλπικο σακί = 550 − ζυγισμένο βάρος (το έλλειμμα σε g δίνει τον αριθμό).

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

  • ΑΡΙΘΜΗΤΙΚΟ: επαληθευμένο με κώδικα για k=1..10. Το «κλειδί» είναι η μοναδική ταυτότητα κάθε σακιού μέσω διαφορετικού πλήθους νομισμάτων.
  • Ανάδειξη εννοιών: αφαίρεση (κρατάμε το βάρος-ταυτότητα) & αναγνώριση προτύπου.

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