Στην γλωσσομάθεια δοκιμάστε το παρακάτω με τις 3 αυτές διαφορετικές τιμές για το χ.
Πίστευα οτι όσο μεγαλώνουμε το πλήθος των δεκαδικών κάποτε μπορεί ο υπολογιστής να το θεωρήσει ίσο.
Αλλά να θεωρήσει οτι το 5.99... είναι μεγαλύτερο απο το 6 δεν το περίμενα...
Πρόγραμμα Περίεργο
Μεταβλητες
Πραγματικές :χ,υ
Αρχή
χ <-- 5.999999999999999999999999999
!χ <-- 5.999999999999999999
!χ <-- 5.9999999999999999999
υ <-- 6
Αν χ>υ τότε
Γράψε '1'
Αλλιώς_αν χ=υ τότε
Γράψε '2'
Αλλιώς
Γράψε '3'
Τέλος_αν
Τέλος_προγράμματος Περίεργο
Μόλις το είδα ...
1 !!!
Δηλαδή; 5.999 > 6 !!!!!
Το καταφέραμε και αυτό στην πληροφορική...
Και μιλάμε τόσο πολύ για στατικούς και δυναμικούς πίνακες...
Εδώ ανατρέπονται τα πάντα όλα..
Όποιος ενδιαφέρεται μπορεί να διαβάσει σχετικά στη βοήθεια του Διερμηνευτή,
https://alkisg.mysch.gr/Βοήθεια/#epilogesGlwssa (https://alkisg.mysch.gr/%CE%92%CE%BF%CE%AE%CE%B8%CE%B5%CE%B9%CE%B1/#epilogesGlwssa),
και συγκεκριμένα την επιλογή «Στρογγυλοποίηση πραγματικών σε συγκρίσεις στο δεκαδικό», όπου υλοποιείται ένας τρόπος με τον οποίο αποφεύγεται αυτό το πρόβλημα.
Πολύ ενδιαφέρουσα σελίδα γενικότερα, όχι μόνο όσον αφορά το θέμα.
Αλλά και πάλι δεν εξηγείτε το γιατι βγαινει το 5.99999999999999999999999 > 6.
Αφού κάνει στρογγυλοποιήση στρογγυλοποίηση στα 8 ψηφία, τότε με λιγότερα από 8 ψηφία θα βγάζει ένα αποτέλεσμα και με περισσότερα άλλο, συνολικά 2 διαφορετικά αποτελέσματα όχι 3...
Το παραπάνω το πάτησε (μαλλον για πλάκα) ένας μαθητής όταν κάναμε δομές επιλογής και με ψιλοέστειλε.
1 ερμηνεία πιθανή που είπα στον μαθητή (αλλά πιθανώς λανθασμένη :( ) είναι ότι για να αποφύγουν το πρόβλημα προσθέτουν τον μικρότερο δυνατό θετικο αριθμό στο 5.9999999999999 και ελέγχουν και αυτήν την ισότητα, το οποίο μπορεί μετά να βγάζει οτι είναι μεγαλύτερο από το 6.
Αλλά αυτό ήταν μία εικασία...