Στο πρόγραμμα «Αγορά_τετραδίων» (κώδικας σε ΓΛΩΣΣΑ [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€. Το λογικό λάθος βρίσκεται στην εντολή «οφειλόμενο_ποσό <- τιμή + πλήθος», που πρέπει να διορθωθεί σε «οφειλόμενο_ποσό <- τιμή * πλήθος», αφού το συνολικό κόστος υπολογίζεται με πολλαπλασιασμό, όχι πρόσθεση.
Πρόσεξε:
