Λογότυπο ήδη-έτερον
Βασική Θεωρία

🤔 Λογικά λάθη

Ακόμη κι αν ένα πρόγραμμα δεν έχει συντακτικά λάθη και εκτελείται κανονικά, αυτό δεν σημαίνει ότι δεν μπορεί να εμφανίζει λογικά λάθη. Τα λογικά λάθη εμφανίζονται όταν το πρόγραμμα δίνει λάθος αποτελέσματα, παρόλο που εκτελείται χωρίς σφάλματα. Η αναγνώριση αυτών των λαθών απαιτεί προσεκτικό έλεγχο και δοκιμαστική εκτέλεση με διαφορετικά δεδομένα.

👩‍💻 Παράδειγμα 3 – Εντοπισμός λογικού λάθους

Ας δούμε ένα παράδειγμα όπου αναπτύσσεται πρόγραμμα που διαβάζει την τιμή ενός τετραδίου και υπολογίζει αν ένας μαθητής έχει αρκετά χρήματα για να αγοράσει συγκεκριμένο αριθμό τετραδίων.

Δεδομένα εισόδου:

  • Τιμή τετραδίου: 1.2€
  • Πλήθος τετραδίων: 2
  • Διαθέσιμο ποσό: 3€

Ερωτήματα:

  • α) Είναι εφικτή η αγορά σύμφωνα με τα δεδομένα;
  • β) Είναι εφικτή η αγορά με βάση το πρόγραμμα;

🔢 Κώδικας σε ΓΛΩΣΣΑ [5.6] – Πρόγραμμα αγοράς τετραδίων

ΠΡΟΓΡΑΜΜΑ Αγορά_τετραδίων
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: τιμή, πλήθος, διαθέσιμο_ποσό, οφειλόμενο
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε την τιμή του τετραδίου:'
  ΔΙΑΒΑΣΕ τιμή
  ΓΡΑΨΕ 'Δώσε το πλήθος των τετραδίων:'
  ΔΙΑΒΑΣΕ πλήθος
  ΓΡΑΨΕ 'Δώσε το διαθέσιμο ποσό'
  ΔΙΑΒΑΣΕ διαθέσιμο_ποσό
  οφειλόμενο <- τιμή + πλήθος
  ΑΝ οφειλόμενο <= διαθέσιμο_ποσό ΤΟΤΕ
    ΓΡΑΨΕ 'Η αγορά είναι εφικτή'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Η αγορά δεν είναι εφικτή'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

❗ Απάντηση

  • α) Σύμφωνα με την εκφώνηση: Η συνολική αξία είναι 1.2€ x 2 = 2.4€, και το διαθέσιμο ποσό είναι 3€. Άρα, η αγορά είναι εφικτή.

  • β) Σύμφωνα με το πρόγραμμα: Το οφειλόμενο ποσό υπολογίζεται ως: 1.2 + 2 = 3.2€. Το διαθέσιμο ποσό είναι 3€, άρα η αγορά δεν είναι εφικτή σύμφωνα με το πρόγραμμα.

🔧 Συμπεράσματα – Προτάσεις διόρθωσης

Το λογικό λάθος εντοπίζεται στον υπολογισμό του οφειλόμενου ποσού. Το λάθος είναι στην εξής εντολή:

οφειλόμενο <- τιμή + πλήθος

Αντί αυτής της εντολής, πρέπει να χρησιμοποιήσουμε:

οφειλόμενο <- τιμή * πλήθος

💡 Συμβουλή

Μερικές φορές, το λογικό λάθος δεν εντοπίζεται στην εντολή που εμφανίζεται το λανθασμένο αποτέλεσμα, αλλά σε προηγούμενη εντολή.

Ο Ευκλείδης λειτουργεί μέσω τεχνητής νοημσύνης