ΤΕΣΤ (ΑΣΚΗΣΕΙΣ) ONLINE
98 Tests / Διαγωνίσματα

Κεφάλαιο 19.3 – Σελίδα 119-120 – ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ΄ ΛΥΚΕΙΟΥ – Απαντήσεις – Λύσεις

Εκσφαλμάτωση — Λογικά Λάθη

Παράδειγμα 3 (σελ. 119)

Στο πρόγραμμα «Αγορά_τετραδίων» (κώδικας σε ΓΛΩΣΣΑ [5.6]), με τιμή=1,2€, πλήθος=2 και διαθέσιμο ποσό=3€: α) Με βάση την εκφώνηση είναι η αγορά εφικτή; β) Με βάση το πρόγραμμα είναι εφικτή; Εντοπίστε το λογικό λάθος και προτείνετε διόρθωση.

Σκέψη / Μεθοδολογία: Υπολογίζουμε το πραγματικό κόστος (τιμή × πλήθος) βάσει της εκφώνησης και το συγκρίνουμε με αυτό που υπολογίζει στην πραγματικότητα η εντολή του προγράμματος (τιμή + πλήθος).

Λύση:

α) Σύμφωνα με την εκφώνηση, το κόστος είναι τιμή × πλήθος = 1,2 × 2 = 2,4€. Αφού 3€ > 2,4€, η αγορά είναι εφικτή. β) Σύμφωνα με το πρόγραμμα, οφειλόμενο_ποσό <- τιμή + πλήθος = 1,2 + 2 = 3,2€. Αφού 3,2€ > 3€, το πρόγραμμα τυπώνει ότι η αγορά ΔΕΝ είναι εφικτή. Εντοπίζουμε ότι η εντολή υπολογισμού χρησιμοποιεί πρόσθεση αντί για πολλαπλασιασμό.

Απάντηση: α) Ναι, με βάση την εκφώνηση η αγορά είναι εφικτή (κόστος 2,4€ < 3€ διαθέσιμα). β) Με βάση το πρόγραμμα, ΟΧΙ — υπολογίζει οφειλόμενο 3,2€ > 3€. Το λογικό λάθος βρίσκεται στην εντολή «οφειλόμενο_ποσό <- τιμή + πλήθος», που πρέπει να διορθωθεί σε «οφειλόμενο_ποσό <- τιμή * πλήθος», αφού το συνολικό κόστος υπολογίζεται με πολλαπλασιασμό, όχι πρόσθεση.

Πρόσεξε:

  • Το λογικό λάθος δεν βρισκόταν στη συνθήκη «οφειλόμενο_ποσό <= διαθέσιμο_ποσό» ούτε στους κλάδους ΤΟΤΕ/ΑΛΛΙΩΣ, αλλά στην εντολή υπολογισμού πριν από αυτούς.