Λειτουργια της συναρτησης Α_Μ()

Ξεκίνησε από Scubakoumpa, 07 Μαρ 2025, 03:55:49 ΠΜ

« προηγούμενο - επόμενο »

alkisg

Γενικά με τους πραγματικούς τα πράγματα είναι πιο πολύπλοκα.
Για παράδειγμα στην Python, η εντολή print(0.1+0.1+0.1 == 0.3) τυπώνει False, λόγω περιορισμένης ακρίβειας των πραγματικών αριθμών.

Σε ερώτηση αν θέλουμε η ΓΛΩΣΣΑ να αποκρύπτει αυτό το πρόβλημα, 86.52% των εκπαιδευτικών απάντησαν "Ναι".

Έτσι, ο Διερμηνευτής θεωρεί ότι το ακέραιο μέρος του 1.999999999999999 είναι 2, επειδή υποθέτουμε ότι το 0.000000000000001 χάθηκε στις πράξεις από λάθος ακρίβειας (προσαρμόσιμο από το διάλογο επιλογών).

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

Κώδικας: python
>>> print(str(10*(0.1+0.1+0.1)))
3.0000000000000004
# Ενώ περιμέναμε ακριβώς 3
>>> print(int(10*(0.1+0.1+0.1)-0.0000000000000005))
3
# Ενώ περιμέναμε 2

Foto

Ως προς το ζήτημα των πραγματικών,  υπάρχουν τύποι που δεν έχουν θέμα γιατί δεν χρησιμοποιούν το τρόπο καταχώρησης των δεκαδικών όπως ο double ή float. Στην ουσία οι πραγματικοί έχουν το πλεονέκτημα του εκθέτη για πράξεις για επιστημονικους λόγους όπου η ακρίβεια των 17 ψηφίων είναι υπέρ αρκετή.
Το 0,1+0,1+0,1 είναι ένα άθροισμα για λογιστικές εφαρμογές. Υπάρχουν λοιπόν αριθμητικοί τύποι που δεν έχουν κανένα πρόβλημα γιατί στην ουσία έχουν ακέραιο από πίσω. Οπότε το αποτέλεσμα βγαίνει 0,3. Η python έχει επιστημονικές εφαρμογές με μεγάλη ακρίβεια, και δεν έχει τους ειδικούς τύπους για λογιστικές εφαρμογές.
Οπότε το παράδειγμα με τα 0 3 δεν είναι ζήτημα, κανονικών κσι μη γλωσσών. Δεν γνωρίζω περισσότερα για ειδικούς τύπους στη python, ίσως να υπάρχει εξωτερική βιβλιοθήκη, αλλά είναι σίγουρο ότι το Excel, χρησιμοποιεί την python. Δεν μπορεί να έχει θέμα και εδώ στο Excel.
https://support.microsoft.com/en-us/office/get-started-with-python-in-excel-a33fbcbe-065b-41d3-82cf-23d05397f53d

dpa2006

Παράθεση από: gpapargi στις 20 Μαρ 2025, 10:41:31 ΠΜΥπάρχει κάποιο reference για αυτά; Με βάση τα βιβλία μαθηματικών και συγκεκριμένα της θεωρίας Αριθμών (πχ Τσαγκάρης) το υπόλοιπο στην ευκλείδεια διαίρεση είναι ακέραιος θετικός ή μηδέν (φυσικός). Αν υπάρχει κάποια αναφορά σε βιβλίο θεωρίας αριθμών που να λέει για πραγματικό υπόλοιπο και μόνο το πηλίκο υποχρεωτικά ακέραιο,  να τη δούμε και να τη συζητήσουμε

Καλησπέρα, ρίξτε μια ματιά στα εξής:

Euclidean Division
Modulo

Βιβλιογραφία στο τέλος των σελίδων.
Επίσης


Modulo

Ευκλειδεια Διαίρεση

Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science