δίνεται η συνάρτηση
ΣΥΝΑΡΤΗΣΗ funfair(a):ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: a
ΑΡΧΗ
funfair <- a/2
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
η συνάρτηση funfair επιστρέφει το πηλίκο της ακέραιας διαίρεσης του a με το 2
...
δίνεται η επικεφαλίδα
ΣΥΝΑΡΤΗΣΗ funfair(a):ΑΚΕΡΑΙΑ
στην παρακάτω εκχώρηση η μεταβλητή χ είναι ακεραίου τύπου
χ <- funfair(a)
αφορμή για τα παραπάνω -χωρίς άμεση σχέση- είναι το 1ο Σ/Λ από τις επαναληπτικές του 2017
"η μεταβλητή Χ είναι ακεραίου τύπου στην εντολή εκχώρησης χ<-Α_Μ(α)/2 "
το οποίο για κλειστού τύπου ερώτημα το θεωρώ αδόκιμο.
Η μεταβλητή Χ είναι ακεραίου τύπου στην εντολή εκχώρησης χ<-Α_Μ(α)/2
Λάθος ξεκάθαρο.
Παράθεση από: ApoAntonis στις 23 Μαΐου 2023, 09:18:26 ΠΜδίνεται η συνάρτηση
ΣΥΝΑΡΤΗΣΗ funfair(a):ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: a
ΑΡΧΗ
funfair <- a/2
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
η συνάρτηση funfair επιστρέφει το πηλίκο της ακέραιας διαίρεσης του a με το 2
ΟΧΙ. Η funfair πρέπει κανονικά να "σκάσει" γιατί είναι ακεραίου τύπου και το πηλίκο επιστρέφει πραγματικό.
funfair <- A_M(a/2)
funfair <- a DIV 2
δεν είναι C η ΓΛΩΣΣΑ όταν διαιρείς και αποθηκευεις το αποτέλεσμα σε ακέραιο να κρατάει μόνο το ακέραιο μέρος. Στην ΓΛΩΣΣΑ η ποσότητα στο δεξι μέρος πρέπει να είναι ίδιου τύπου με την με την μεταβλητή που εκχωρείται. Άρα η απάντηση στο Σ/Λ είναι λάθος προφανώς.
Η έκφραση δεξιά έχει έναν τύπο, η μεταβλητή αριστερά έχει κάποιον τύπο επίσης,
γιατί να δίνει η έκφραση τον τύπο της μεταβλητής;
Γιατί στην ΓΛΩΣΣΑ θεωρείται λογικό η αντικακονικού τερματισμού αν το εντοπίσει ο διερμηνευτης πριν την εκτέλεση η κατά την εκτέλεση. Δεν καταλαβαίνω που υπάρχει σημείο διαφωνίας, έτσι έχει οριστεί από τους συγγραφείς.