Γειά σας και καλή σχολική χρονιά. θα ήθελα την βοήθεια σας για δυο προτάσεις σωστό λάθος. η πρώτη πρόταση λέει το αποτέλεσμα της έκφρασης 3div2 μπορεί να εκχωρηθεί σε πραγματική μεταβλητή .είναι σωστό ή λάθος και γιατί? και η δεύτερη πρόταση λέει το αποτέλεσμα της έκφρασης 15/5 μπορεί να εκχωρηθεί σε ακέραια μεταβλητή. είναι σωστό ή λάθος και γιατι?
καλησπέρα σε όλους
το αποτέλεσμα του 3 div 2=1 είναι ακέραιο λόγω του τελεστή div .... σε πραγματική μεταβλητή όμως μπορούμε να αποθηκεύσουμε ακέραιο αποτέλεσμα, οπότε είναι σωστό.
το αποτέλεσμα 15/5=5.0 είναι πραγματικό λόγω του /, σε ακέραια μεταβλητή όμως δεν μπορούμε να αποθηκεύσουμε πραγματικό αποτέλεσμα οπότε είναι λάθος
Αν υποθέσουμε ότι πέφτει η παρακάτω ερώτηση Σ/Λ ποιά πιστεύετε ότι είναι η σωστή απάντηση;
Σε εμφωλευμένους βρόχους, η τιμή της μεταβλητής του εξωτερικού βρόχου παραμένει σταθερή, όσο μεταβάλλεται η τιμή της μεταβλητής του
εσωτερικού βρόχου.
Στη ΓΙΑ...ΑΠΟ..ΜΕΧΡΙ οκ αυτό ισχύει, όμως στην ΟΣΟ και στη ΜΕΧΡΙΣ_ΟΤΟΥ είναι δυνατό ο δείκτης της εξωτερικής επανάληψης να αλλάζει στην εσωτερική.
Άστοχο και ασαφές ερώτημα..
και:
μέσω υποπρογραμμάτων που καλούν υποπρογράμματα μπορεί να δημιουργηθεί ατέρμων βρόχος (Σωστό ή Λάθος);
μέσω υποπρογραμμάτων που καλούν υποπρογράμματα μπορεί να χαθεί η ιδιότητα της περατότητας (Σωστό ή Λάθος);
:)
Το πρώτο σωστό, αν δημιουργουν κύκλο που δεν σπάει κάπως
Και το δεύτερο το ιδιο
Ουσιαστικά πρόκειται για αμοιβαία/έμμεση αναδρομή (https://en.wikipedia.org/wiki/Mutual_recursion)
π.χ.
bool is_even(unsigned int n) {
if (n == 0)
return true;
else
return is_odd(n - 1);
}
bool is_odd(unsigned int n) {
if (n == 0)
return false;
else
return is_even(n - 1);
}
Δεν είναι δυνατόν μαθητής που δεν ξέρει τι είναι αναδρομή να απαντήσει σε ένα τέτοιο ΣΛ.
Οι μαθητές έχουν συνδυάσει την περατότητα με την έννοια της επανάληψης. Που έχουν ακούσει για ισοδυναμία επανάληψης-αναδρομής?
Το ερώτημα είναι ουσιαστικά εκτός ύλης.
Αν έπεφτε ως εκτέλεση αλγορίθμου με πίνακα τιμών ίσως να είχε νόημα αλλά σαν ΣΛ είναι ακραίο.
Επίσης να υπενθυμίσω ότι το θέμα Α εξετάζει θεωρία!
Η έκφραση 3 div 2 ΔΕΝ μπορεί να εκχωρηθεί σε πραγματική μεταβλητή καθώς στην εντολή εκχώρησης η έκφραση και η μεταβλητή πρέπει να είναι του ίδιου τύπου.
Το ίδιο ισχύει και για την έκφραση 15/5
Καλημέρα σε όλους
Η θεωρία λέει αυτό σαν ορισμό, όμως νομίζω δεν έχει λάβει αυτή την περίπτωση υπόψη...σε πραγματική μεταβλητή μπορείς να εκχωρήσεις ακέραιο περιεχόμενο...
Οπου βλεπεις div και mod εχει ακεραιο αποτελεσμα ενω με την γραμμη κλασματος πραγματικό.Τουλάχιστον αυτο λεω στους μαθητες μου.
Καλημερα σε όλους
οι τελεστές div και mod δίνουν ακέραιο αποτέλεσμα και ο τελεστής / δίνει πραγματικό αποτέλεσμα ... αυτό είναι δεδομένο ... όμως το ακέραιο αποτέλεσμα μπορεί να αποθηκευτεί σε πραγματική μεταβητή, αυτό είναι το ερώτημα ...η γνώμη μου είναι αυτή τουλάχιστον ..
άλλο ο τύπος του αποτελέσματος της πράξης (div, mod ακέραια και / πραγματικό), άλλο ο τύπος της μεταβλητής που θα αποθηκευτεί τελικά (σε πραγματικές μεταβλητές αποθηκεύονται ακέραια αποτελέσματα, σε ακέραιες μεταβλητές δεν αποθηκεύονται πραμγατικά αποτελέσματα )
Συμφωνούμε ότι σε πραγματική μεταβλητή μπορεί να εκχωρηθεί ακέραια τιμή (η οποία βέβαια θα αποθηκευτεί ως πραγματικός)
Αυτό μού γεννά και το παρακάτω ερώτημα:
Καλώντας ένα υποπρόγραμμα, μπορώ να περάσω ως (πραγματική) παράμετρο μία ΑΚΕΡΑΙΑ μεταβλητή, ενώ η αντίστοιχη τυπική παράμετρος είναι δηλωμένη ΠΡΑΓΜΑΤΙΚΗ;
Η προσωπική μου άποψη είναι φυσικά πως ναι, αλλά συμφωνούμε όλοι σε αυτό;
(γιατί βάζει μια ελαστικότητα σ' εκείνη την ιδιότητα των παραμέτρων περί ταύτισης του τύπου πραματικής με τυπική)
Όχι γιατί ο τρίτος κανόνας ορίζει ότι οι αντίστοιχες παράμετροι πρέπει να είναι ίδιου τύπου..
Καλημέρα,
σύμφωνα με τον ορισμό της εντολής εκχώρησης τιμής σε μια πραγματική μεταβλητή ΔΕΝ μπορείς να εκχωρήσεις ακέραια καθώς η έκφραση και η μεταβλητή πρέπει να είναι του ίδιου τύπου. Όλα τα υπόλοιπα είναι εικασίες.
σε μια πραγματικη μεταβλητη εννοειται οτι μπορεις να εκχωρησεις μια ακεραια τιμη γιατι ο,τι ειναι ακεραιο ειναι και πραγματικο πχ
χ<-5 με το χ πραγματικο ειναι μια νομιμοτατη εκχωρηση.δεν χρειαζεται να γραψεις χ<-5.0 πχ γιατι το 5 ειναι πραγματικος αριθμος.
οσον αφορα τωρα τις συναρτησεις και τις διαδικασιες οι τυποι των παραμετρων πρεπει να ειναι ακριβως ομοιοι με τους τυπους των μεταβλητων οποτε δεν μπορεις να περασεις μια ακεραια μεταβλητη σε πραγματικη παραμετρο.υπαρχει λογος για αυτο αλλα ξεφευγει πολυ απο τα ορια του μαθηματος.ας τον εξηγησω για οποιον ενδιαφερεται .οταν περνας μια ακεραια μεταβλητη σε μια πραγματικη παραμετρο η τιμη αυτη δεν μετατρεπεται σε πραγματικη.παρολα αυτα η συναρτηση θα προσπαθησει να της συμπεριφερθει σαν πραγματικη και αυτο θα οδηγησει καποιες φορες σε μη αναμενομενα αποτελεσματα.καποιες γλωσσες σου επιτρεπουν να το κανεις και η ευθυνη ειναι ολη δικη σου οταν θα δεις τα αποτελεσματα.σε προειδοποιουν παντως οτι υπαρχει αναντιστοιχια μεταβλητης,παραμετρου.στα πλαισια του μαθηματος λογικα και για μενα σωστα το απαγορευσαν.
Παράθεση από: epsilonXi στις 18 Μαΐου 2018, 03:31:23 ΜΜ
και:
μέσω υποπρογραμμάτων που καλούν υποπρογράμματα μπορεί να δημιουργηθεί ατέρμων βρόχος (Σωστό ή Λάθος);
μέσω υποπρογραμμάτων που καλούν υποπρογράμματα μπορεί να χαθεί η ιδιότητα της περατότητας (Σωστό ή Λάθος);
:)
ΠΡΟΓΡΑΜΜΑ ΠΦΦ
ΑΡΧΗ
ΚΑΛΕΣΕ ΠΡΩΤΗ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΔΙΑΔΙΚΑΣΙΑ ΠΡΩΤΗ
ΑΡΧΗ
ΓΡΑΨΕ "ΓΕΙΑ"
ΚΑΛΕΣΕ ΔΕΥΤΕΡΗ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
ΔΙΑΔΙΚΑΣΙΑ ΔΕΥΤΕΡΗ
ΑΡΧΗ
ΓΡΑΨΕ "ΚΑΛΗΝΥΧΤΑ"
ΚΑΛΕΣΕ ΠΡΩΤΗ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Καλημέρα,
αν το 5 είναι πραγματικός αριθμός στην Γλώσσα, πως μπορείς να το χρησιμοποιήσεις σε αριθμητική έκφραση με τελεστή Div ?
Συμπεραίνω ότι το 5 είναι ακέραιος, στην Γλώσσα, ενώ το 5.0 είναι πραγματικός. Επομένως αν η χ είναι δηλωμένη ως πραγματικός τότε χ<-- 5 είναι λάθος, η μεταβλητή και η έκφραση δεν είναι του ίδιου τύπου.
Παράθεση από: wmaster στις 10 Ιουν 2018, 09:47:54 ΠΜ
Καλημέρα,
αν το 5 είναι πραγματικός αριθμός στην Γλώσσα, πως μπορείς να το χρησιμοποιήσεις σε αριθμητική έκφραση με τελεστή Div ?
Συμπεραίνω ότι το 5 είναι ακέραιος, στην Γλώσσα, ενώ το 5.0 είναι πραγματικός. Επομένως αν η χ είναι δηλωμένη ως πραγματικός τότε χ<-- 5 είναι λάθος, η μεταβλητή και η έκφραση δεν είναι του ίδιου τύπου.
το div συντασσεται μονο με ακεραιους που σημαινει οτι αν κανει ειναι δηλωμενο σαν πραγματικο ή γραψεις 5.0 div 5 θα το θεωρησει συντακτικο λαθος. ο πραγματικος συμπεριλαμβανει τον ακεραιο οχι το αντιθετο.το div συντασσεται μονο με ακεραιους!!το αποτελεσμα
7 div 2=3 ειναι ακεραιο φυσικα και μπορει να εκχωρηθει σε πραγματικη μεταβλητη γιατι ο,τι ειναι ακεραιο ειναι και πραγματικο.στην πραγματικη μεταβλητη βαζεις το αποτελεσμα του div που ειναι ακεραιο.ακομα μπορεις να συγκρινεις πραγματικους και ακεραιους αφου και οι 2 ειναι αριθμητικοι και μπορεις να εκχωρησεις ακεραιο σε πραγματικο.το αντιθετο δεν γινεται
ΠΑΡΑΔΕΙΓΜΑ ΑΣΚΗΣΗ
Να γινει προγραμμα που θα διαβαζει 10 αριθμους και να βρισκει το μεσο ορο τους.επειδη δεν ξερεις τι αριθμους θα δωσει ο χρηστης δηλωνεις το χ που ειναι ο αριθμος που διαβαζεται σαν πραγματικο.ο χρηστης οταν θελει να δωσει τον αριθμο 18 δεν ειναι αναγκασμενος να γραψει 18.0 και 18 σκετο να γραψει ειναι δεκτο.
Σύμφωνα με το βιβλίο ο ακέραιος δεν είναι πραγματικός καθώς είναι διαφορετικός τύπος.
Ναι το div χρησιμοποιείται μόνο σε ακεραίους, δεν υποστήριξα το αντίθετο.
Σε αυτό που κατά την γνώμη μου κάνεις λάθος είναι ότι στην ΓΛΩΣΣΑ (όχι στα μαθηματικά) Μεταβλητή<-- έκφραση, η μεταβλητή και η έκφραση πρέπει να είναι του ίδιου τύπου (έτσι γράφει το βιβλίο), οι αριθμητικοί τύποι στην Γλώσσα είναι δύο. Δεν αναφέρει ότι εξαιρούνται οι αριθμητικοί τύποι.
Σχετικά με αυτό που γράφεις στο "παράδειγμα άσκηση": δεν πρέπει να βγάζουμε αυθαίρετα συμπέρασμα για το πως λειτουργεί σε υπολογιστή (αν πχ εμφανιστεί συντακτικό λάθος) παρά μόνο στο χάρτι και πάντα σύμφωνα με το βιβλίο, καθώς δεν υπάρχει ΕΠΙΣΗΜΟΣ μεταγλωττιστής η διερμηνευτής.
χ <-- 2 είναι δεκτό και για πραγματική μεταβλητή
Γιατί να πρέπει να γραφεί ως 2.0;
Γιατί, σύμφωνα με τον ορισμό της εντολής εκχώρησης τιμής Μεταβλητή<-- έκφραση, η μεταβλητή και η έκφραση πρέπει να είναι του ίδιου τύπου (έτσι γράφει το βιβλίο), οι αριθμητικοί τύποι στην Γλώσσα είναι δύο διαφορετικοί τύποι.
Γιατί το 2 να είναι ΜΟΝΟ ακέραια τιμή;
Κάθε τιμή αντιστοιχεί σε συγκεκριμένο τύπο δεδομένων. Το 2 δεν έχει δεκαδικό σημείο.
Το συγκεκριμένο εδάφιο από το σχολικό βιβλίο είναι προβληματικό και πρέπει να αλλάξει. (Δηλαδή ο wmaster έχει κάποιο δίκιο.)
Ωστόσο αν δεχθούμε ότι δεν μπορούμε να εκχωρήσουμε ακέραια τιμή σε πραγματική μεταβλητή τότε δεν θα έχουμε πρόβλημα και στην αποτίμηση των παρακάτω συνθηκών;
2 = 2.0
2.0 > 3
Το πρόβλημα εντοπίζεται στην εκχώρηση τιμή και όχι στην σύγκριση αφού για τους συγκριτικούς τελεστές δεν υπάρχει κάτι σχετικό, νομίζω, στο βιβλίο.
Συμφωνώ με τον evry ότι το εδάφιο της εντολής εκχώρησης πρέπει να αλλαχθεί.
Άρα, για να καταλάβω
Προσθέτουμε βαθμούς ή θερμοκρασίες ή τιμές αζώτου ή ...
Θα πρέπει πλέον να λέω στους μαθητές να αρχικοποιούν το άθροισμα έτσι;;;
Σ <-- 0.0
Νόμιζα ότι το 0 είναι ακέραιο και πραγματικό ενώ το 0.0 είναι μόνο πραγματικό
κάνουμε τα στραβά μάτια ότι ο ακέραιος γίνεται έμμεσα casting σε πραγματικό και αφού δεν έχουμε απώλεια πληροφορίας δεν τρέχει τίποτα. Υπάρχει ένα θεματάκι όμως ;)