Θέμα Β

Ξεκίνησε από gpapargi, 05 Ιουν 2024, 10:59:40 ΜΜ

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

Vagnes

Παράθεση από: akalest0s στις 06 Ιουν 2024, 04:26:49 ΜΜΓιατί να του κόψουν;
Γιατί άφησε 2 ορίσματα στη συνάρτηση... Δε θα κοπεί τιποτα λες?

akalest0s

#16
Όχι, δεν βλέπω πρόβλημα. Πιο νοικοκυρεμένο να βάλεις F(χ). Αλλά δεν υπάρχει η παραμικρή ασυμφωνία με την εκφώνηση ("ώστε να επιτελεί την ίδια λειτουργία με τη ΔΙΑΔΙΚΑΣΙΑ Διαδ")

edit>
Για να ακριβολογήσουμε, η β στην διαδικασία θα πάει κενή (μάλλον, δεν έχουμε τον κώδικα πιο πριν), και θα γυρίσει ως ψ. Στη συνάρτηση θα πάει επίσης κενή (μάλλον), αλλά δεν υπάρχει μηχανισμός επιστροφής. Στο βιβλίο δεν υπάρχει αναφορά για το αν επιτρέπεται στις συναρτήσεις να στέλνεται μια πραγματική παράμετρος κενή. Στις διαδικασίες ξέρουμε ότι επιτρέπεται. Δεν υπάρχει συνεπώς έρισμα για να πιαστείς και να πεις "απαγορεύεται αυτό, κόψε μονάδες". Αντίθετα υπάρχει ένδειξη ότι μάλλον επιτρέπεται και στις συναρτήσεις (λογικό το ότι και ο διερμηνευτής το επιτρέπει).
Αυτή είναι η γνώμη μου.
"Abstraction is not the first stage, but the last stage, in a mathematical development." MK
"I don't want to write about a high level thing, unless I fully understand about a low level thing" DK

Vagnes

Ευχαριστώ για την απάντηση.. θα φανεί στο χειροκρότημα λοιπόν!!!

sgsfak

Καλησπερα, να κανω κι εγω μια ερωτηση στους εμπειροτερους: Στο Β4α με τον ορισμο της συναρτησης ενας μαθητης (που τυχαινει και γιος μου  :) ) δεν εγραψε την αναθεση τιμης στο ονομα της συναρτησης (ενω εγραψε σωστα τις παραμετρους και τον επιστρεφομενο τυπο της συναρτησης)

Με δεδομενο οτι το ερωτημα επαιρνε 7 μον (πολλες κατα τη γνωμη μου) ποσο πιστευετε οτι θα χασει;

Ευχαριστω
--
Stelios

petrosp13

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

andreas_p


NIKOS_KALYVAS

Για το Β4 μια πολύ ενδιαφέρουσα προσέγγιση από μαθήτρια. Χαρακτήρισε τη συνάρτηση (τον τύπο της) ως ΑΚΕΡΑΙΑ επειδή δέχεται έναν ακέραιο αριθμό τον υψώνει στο τετράγωνο και προσθέτει το 10.5*4(=42) άρα προκύπτει πάντα ακέραιος αριθμός. Επομένως ΑΚΕΡΑΙΑ.
ΝΙΚΟΣ ΚΑΛΥΒΑΣ
Καθηγητής Πληροφορικής (ΠΕ86)

akalest0s

Η σκέψη είναι όντως ωραία. Αλλά μάλλον δεν θα το πάρουν για σωστό: 
Το Β4, αν και δεν αναφέρεται ρητά, κινείται στα πλαίσια της Γλώσσας. Άρα, 10.5*4 δεν κάνει 42, αλλά 42.0
"Abstraction is not the first stage, but the last stage, in a mathematical development." MK
"I don't want to write about a high level thing, unless I fully understand about a low level thing" DK

dpa

Παράθεση από: akalest0s στις 06 Ιουν 2024, 04:38:59 ΜΜΓια να ακριβολογήσουμε, η β στην διαδικασία θα πάει κενή (μάλλον, δεν έχουμε τον κώδικα πιο πριν), και θα γυρίσει ως ψ. Στη συνάρτηση θα πάει επίσης κενή (μάλλον), αλλά δεν υπάρχει μηχανισμός επιστροφής. Στο βιβλίο δεν υπάρχει αναφορά για το αν επιτρέπεται στις συναρτήσεις να στέλνεται μια πραγματική παράμετρος κενή. Στις διαδικασίες ξέρουμε ότι επιτρέπεται. Δεν υπάρχει συνεπώς έρισμα για να πιαστείς και να πεις "απαγορεύεται αυτό, κόψε μονάδες". Αντίθετα υπάρχει ένδειξη ότι μάλλον επιτρέπεται και στις συναρτήσεις (λογικό το ότι και ο διερμηνευτής το επιτρέπει).
Αυτή είναι η γνώμη μου.
Στην κλήση συνάρτησης στην παρένθεση έχουμε "μια λίστα μεταβλητών των οποίων οι τιμές μεταβιβάζονται στη συνάρτηση". (σ. 177). Αν κάποιος κάνει κλήση της συνάρτησης με (α, β) -και υλοποίησή της ανάλογα- και το β δεν έχει πάρει τιμή στο ΚΠ ποια τιμή θα στείλει στη συνάρτηση;

akalest0s

Ακριβώς την ίδια διατύπωση έχουμε και στις διαδικασίες. Αφού λοιπόν στις διαδικασίες επιτρέπεται η μεταβίβαση κενής παραμέτρου, γιατί στις συναρτήσεις όχι;
"Η λίστα παραμέτρων είναι μια λίστα μεταβλητών, των οποίων οι τιμές μεταβιβάζονται προς τη διαδικασία κατά την κλήση" (επίσης σελίδα 177, λίγο πιο κάτω από αυτό που παραθέτεις)

Υπάρχουν συζητήσεις στο στέκι, στις οποίες θίγεται η ανεπαρκής θεωρητική υποστήριξη των μηχανισμών κλήσης και επιστροφής του διδακτικού πακέτου. Να πω ένα παραδειγματάκι. Αν ένας μαθητής, σε άλλο υποθετικό θέμα, καλέσει διαδικασία με σταθερά, τι τιμή θα επιστρέψει στην πραγματική παράμετρο κατά την επιστροφή; Θα κόβαμε μονάδες για αυτό; Είναι κάτι που περιγράφεται θεωρητικά στο βιβλίο; Στο τετράδιο μαθητή όμως, το κάνει (πύργοι Ανόι).

Η προσπάθεια υπεραπλούστευσης στο μάθημα, οδηγεί σε σκοτεινά σημεία. Τουλάχιστον ας μην ζητάμε τα ρέστα από τους μαθητές.
"Abstraction is not the first stage, but the last stage, in a mathematical development." MK
"I don't want to write about a high level thing, unless I fully understand about a low level thing" DK

dpa

Στην παράγραφο 10.5.1 γράφει αυτό που παρέθεσα και στην 10.5.2 γράφει "... των οποίων οι τιμές μεταβιβάζονται προς τη διαδικασία ... ή/και επιστρέφονται στο ΚΠ...". 
Μπορεί να έχει δηλαδή μόνο παραμέτρους που μεταβιβάζονται, οπότε η διαδικασία εμφανίζει τα αποτελέσματα. Όταν θέλουμε κάτι να επιστρέφεται από τη διαδικασία, τότε είναι που στέλνουμε κενή μεταβλητή, για να παραλάβει και να επιστρέψει το αποτέλεσμα στο ΚΠ.

akalest0s

Δεν υπάρχει η διάκριση που λες. Εννοιολογικά, εμείς μπορούμε να το σκεφτόμαστε έτσι. Αλλά δεν θα δουλέψει έτσι.
Στο σημείο που λες, 10.5.2, περιγράφει θεωρητικά τι συμβαίνει. Είναι αυτό που έχουμε στο μυαλό μας ότι θα συμβεί, ο σκοπός μας.
Επιπρόσθετα, φαίνεται να ισχύει αυτό που λες, έτι περισσότερο, γιατί παρακάτω θα πει "Όταν υπάρχουν πολλές παράμετροιτότε άλλες χρησιμοποιούνται για να μεταβιβάσουν τιμές στη διαδικασία και άλλες για να επιστρέψουν τιμές στο κύριο πρόγραμμα."


Ωστόσο, πήγαινε λίγο παρακάτω, 10.5.3, σελίδα 181. Στο "εφαρμοσμένο" παράδειγμα, είναι ξεκάθαρος ο μηχανισμός ως προς το θέμα μας:
"Οι τιμές που υπάρχουν στις μεταβλητές του προγράμματος Α,ΒΔιαφκαι Αθρ1 δίνονται κατά την κλήση στις μεταβλητές της διαδικασίας ΧΥΔιαφοράΆθροισμα. "
Ομοίως και στο σχήμα 10.2, πιο κάτω. Τα βελάκια στο (β) δείχνουν ξεκάθαρα ότι οι κενές μεταβλητές Διαφ1 και Αθρ1 στέλνονται στις αντίστοιχες Διαφορά, Άθροισμα.

Δεν υπάρχει περιθώριο αμφισβήτησης για τις διαδικασίες σε αυτό που συζητάμε. Για συναρτήσεις δεν λέει καθαρά πουθενά τι γίνεται αν στείλεις κενή παράμετρο. 
Συνεπώς, ανεπαρκές έρισμα για να κόψεις μονάδες 
(λυπάμαι για αυτά τα προβλήματα και την λύση του ποδαριού "μην κόψεις μονάδες", αλλά δυστυχώς έτσι είναι)
"Abstraction is not the first stage, but the last stage, in a mathematical development." MK
"I don't want to write about a high level thing, unless I fully understand about a low level thing" DK

evry

Παράθεση από: dpa στις 07 Ιουν 2024, 11:07:42 ΠΜΣτην κλήση συνάρτησης στην παρένθεση έχουμε "μια λίστα μεταβλητών των οποίων οι τιμές μεταβιβάζονται στη συνάρτηση". (σ. 177). Αν κάποιος κάνει κλήση της συνάρτησης με (α, β) -και υλοποίησή της ανάλογα- και το β δεν έχει πάρει τιμή στο ΚΠ ποια τιμή θα στείλει στη συνάρτηση;
Που ξέρεις ότι δεν έχει πάρει τιμή. Έχει κάποιες τελίτσες πιο πάνω. Πρόκειται για τμήμα προγράμματος και όχι για πρόγραμμα.
Επίσης αν η μεταβλητή που δεν έχει τιμή δεν βρίσκεται στο δεξί μέλος εκχώρησης μέσα στο υποπρόγραμμα δεν καταλαβαίνω που είναι το πρόβλημα.
Δεν μπορούμε να υποχρεώσουμε τους μαθητές να κάνουν τη λύση που έχουμε εμείς στο μυαλό μας. Αν η λύση τους είναι σωστή πρέπει να τη δεχθούμε.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Parnaoutakis

Παράθεση από: Γιαννούλης Γιώργος στις 06 Ιουν 2024, 11:47:02 ΠΜΠάντως στις λύσεις του Β2 μπορεί κάποιος να το λύσει και ως εξής:
1.  i mod 2 = 1
2. A[i,j] <- κ*j + (i-1)/2*8
3. κ
4. λ*j+(i-2)/2*12
5. λ <- λ


1: 1=1  ( ή οποιαδήποτε αληθή συνθηκη)
2: A[i, j] ← ( (i-1) mod 2 + 2 ) * ( j + ( i div 3 ) * 4 )
3: 0  ( ή οποιαδήποτε τιμη)
4: 0 ( ή οποιαδήποτε τιμη)
5: κ ← 0 ( ή οποιαδήποτε εκχώρηση)

tsabatman

Παράθεση από: Γιαννούλης Γιώργος στις 06 Ιουν 2024, 11:47:02 ΠΜΠάντως στις λύσεις του Β2 μπορεί κάποιος να το λύσει και ως εξής:
1.  i mod 2 = 1
2. A[i,j] <- κ*j + (i-1)/2*8
3. κ
4. λ*j+(i-2)/2*12
5. λ <- λ


Το θέμα είναι.. μπορεί κάποιος να το λύσει κι έτσι; Εννοώ έχετε γνωρίσει τέτοιον μαθητή; 😊