Τύποι δεδομένων στο pseudoglossa.gr

Ξεκίνησε από alkisg, 26 Ιουν 2011, 03:22:52 ΜΜ

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

sstergou

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

Στο Α :
το b ← 7 αναθέτει αριθμητικό τύπο στην b, οπότε από την στιγμή που συγκρίνεται με την a θα πρέπει και η a να είναι αριθμητική για αυτό και τα λάθη.

Στο Β :
Το b ← 'qwerty' αναθέτει αλφαριθμητικό τύπο στην b οπότε όλες οι υπόλοιπες συγκρίσεις είναι μεταξύ αλφαριθμητικών.

Στο Γ :
Όλες οι συγκρίσεις είναι μεταξύ αλφαριθμητικών

Νομίζω τα αποτελέσματα είναι προβλέψιμα. Η μόνη απρόβλεπτη συμπεριφορά (που όμως ήταν εν μέρει σκόπιμη) είναι αυτή που εντόπισε ο Άλκης μερικά μηνύματα πριν την οποία και θα διορθώσω σε επόμενη έκδοση.

Gnirut

Παράθεση από: sstergou στις 08 Ιουλ 2011, 08:47:41 ΜΜ
Νομίζω τα αποτελέσματα είναι προβλέψιμα.

Ναι τώρα που το εξήγησες τι γίνεται.
Γιατί δεν επιτρέπεται το διάβασμα λογικών μεταβλητών;

sstergou

Κατά την γνώμη μου οι λογικές σταθερές τιμές δεν είναι τιμές όπου προσφέρονται για αλληλεπίδραση με τον χρήστη.
Σε μια ενδεχόμενη ερώτηση του προγράμματος όπως η "θέλετε αύξουσα ταξινόμηση;" ο χρήστης δεν είναι υποχρεωμένος να ξέρει τις τιμές Αληθής ή Ψευδής, αντί αυτού είναι πιο σωστό να απαντήσει "Ναι" ή "Όχι" και μέσω αυτής της απάντησης να αρχικοποιηθεί η λογική μεταβλητή.