Λύσεις — Κεφάλαιο 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. Το «κλειδί» είναι η μοναδική ταυτότητα κάθε σακιού μέσω διαφορετικού πλήθους νομισμάτων.
- Ανάδειξη εννοιών: αφαίρεση (κρατάμε το βάρος-ταυτότητα) & αναγνώριση προτύπου.