Θέμα Α

Ξεκίνησε από gpapargi, 01 Ιουν 2012, 10:02:52 ΠΜ

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

Γιάννης Αναγνωστάκης

Παράθεση από: anasta στις 01 Ιουν 2012, 10:12:49 ΜΜ
όταν ι=1 τότε Α[1]=1 και Α[Α[1]]=Α[1]=1
όταν ι=2 τότε Α[2]=2 και Α[Α[2]]=Α[2]=2
κτλ κτλ...
οπότε δεν γίνεται καμία αντιμετάθεση

το Α[1] ειναι 10 αρχικά...όχι 1

spin

Τα περισσότερα τα καλύψατε ήδη.

Α1.3
Ασχέτως από το αν το λέει το βιβλίο, είναι επιστημονικά απαράδεκτο, γι αυτό έπρεπε να αποφευχθεί.

Α2
Χαζή και άνευ εκπαιδευτικής αξίας παγίδα το "11.0-13.0".
Δηλαδή ποιο σημαντικό διδακτικό στόχο θα έχαναν αν έβαζαν "11.4-13.2";
(Εκτός αν ήθελαν να ελέγξουν ποιος ξέρει αν η ΓΛΩΣΣΑ υποστηρίζει auto type casting/converting ή όχι!)

Νίκος Αδαμόπουλος

Παράθεση από: Vagnes στις 01 Ιουν 2012, 10:15:53 ΜΜ

          Για i απο 1 μέχρι 11 - i
               Αντιμετάθεσε Α[ i ] , Α[11 - i]
          Τέλος_επανάληψης

Άν αυτό μετατραπεί σε όσο και εκτελεστεί δε θα γίνει σωστά η αντιμετάθεση??

Πέρα από τo ότι το τετράδιο μαθητή αναφέρει "Ποτέ μην χρησιμοποιείς εντολές που αλλάζουν την αρχική τιμή, την τελική τιμή, το βήμα ή τη μεταβλητή που ελέγχει την επανάληψη μέσα σε ένα βρόχο ΓΙΑ", και το επισημαίνει και η σχετική οδηγία του Υπουργείου, για ποιο λόγο ο μαθητής να θέλει να αλλάζει διαρκώς η τιμή στο μέχρι; Εξυπηρετεί κάτι αυτό; Επίσης, ακόμα κι αν θελήσουμε να το μετατρέψουμε σε Όσο, από πού προκύπτει ότι η μετατροπή θα γινόταν έτσι:

Όσο i <= 11 - i επανάλαβε     ;;;

Αυτό που είναι σίγουρο είναι ότι η μετατροπή γίνεται έτσι:

Όσο i <= τελική_τιμή επανάλαβε

... αλλά ποια θα είναι η τελική_τιμή; Ποιος μας λέει ότι σε κάθε επανάληψη θα έχουμε ξανά τον υπολογισμό:

τελική_τιμή <- 11 - i    ;;;

Κανείς δεν το λέει! Μάλιστα σε κάποιες πραγματικές γλώσσες η αποτίμηση της τελικής τιμής γίνεται μόνο μία φορά στην αρχή της Για...

Π.χ.:

"Changing the value of start, end, or step does not affect the iteration values determined when the loop was first entered."

anasta

Παράθεση από: merlin στις 01 Ιουν 2012, 10:16:24 ΜΜ
Όταν ι=1, Α[ι]=10

ναι οκ, είχα άλλον πίνακα στο μυαλό μου κ όχι τον ανάποδο του θέματος, χαζομάρα.
και πάλι όμως για δοκίμασε αυτό κ εξήγησέ μου...

υποτίθεται οτι εκτελούνται οι εντολές:
    b <-- Α [ i ]       
    Α [ i ] <-- Α [ Α [ i ] ]
    Α [ Α [ i ] ] <-- b
έστω i=3, τότε
όταν εκτελείται η εντολή b <-- Α τότε β=Α[3]=8
μετά Α[3]<--Α[Α[3]] που σημαίνει Α[Α[3]]=Α[8]=3, δηλαδή το Α[3] γίνεται 3
και όταν εκτελείται η εντολή Α[Α] <-- b έχουμε:
Α[Α[3]]=Α[3]<--8
που κάνω λάθος????
όταν το πρωτοδιάβασα το μεσημέρι κ εγώ εντυπωσιαστηκα από την απάντηση του μαθητή,
με μία δεύτερη σκέψη-ματιά που προσπάθησα να το επαληθεύσω είδα οτι κάτι δεν πάει καλά.
πολύ πιθανό να μου διαφεύγει κάτι βέβαια.


merlin

Παράθεση από: anasta στις 01 Ιουν 2012, 10:47:44 ΜΜ
ναι οκ, είχα άλλον πίνακα στο μυαλό κ όχι τον ανάποδο του θέματος,
και πάλι όμως για δοκίμασε αυτό κ εξήγησέ μου...

υποτίθεται οτι εκτελούνται οι εντολές:
    b <-- a       
    a <-- a[a]
    a[a] <-- b
έστω i=3, τότε
όταν εκτελείται η εντολή b <-- a τότε β=α[3]=8
μετά α[3]<--α[α[3]] που σημαίνει α[α[3]]=α[8]=3, δηλαδή το α[3] γίνεται 3
και όταν εκτελείται η εντολή   a[a] <-- b έχουμε:
α[α[3]]=α[3]<--8
που κάνω λάθος????


πουθενά δεν κάνεις λάθος! Αυτό είπα και εγώ στο πρώτο μου ποστ, εξαρτάται από την υλοποίηση.

Πες μου εμένα τώρα αν κάνω εγώ λάθος:

ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 5
      ΚΑΛΕΣΕ Αντιμετάθεση(Α[ι],Α[Α[ι]])
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Γι' αυτό πιστεύω ότι δεν πρέπει να κόψουν κάτι...
Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20

anasta

Παράθεση από: merlin στις 01 Ιουν 2012, 10:54:04 ΜΜ
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 5
      ΚΑΛΕΣΕ Αντιμετάθεση(Α[ι],Α[Α[ι]])
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Αυτό δεν είναι λάθος.
το παρακάτω όμως:
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5
   Β <-- Α [ Ι ]
   Α [ Ι ] <-- Α [ Α [ Ι ] ]
   Α [ Α [ Ι ] ] <-- Β
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
είναι λάθος.
εύχομαι για τον μαθητή σου να το πάρουν σωστό.

dski

Παράθεση από: merlin στις 01 Ιουν 2012, 01:39:21 ΜΜ
Ένας μαθητής στο Α3.β. έγραψε:

Για ι από 1 μέχρι 5
      αντιμετάθεσε Α[ι],Α[Α[ι]]
Τέλος_επανάληψης

Αν και εξαρτάται από την υλοποίηση του αλγορίθμου (π.χ. με διαδικασία swap), δε μπορώ παρά να τον συγχαρώ για την πρωτοτυπία του. Ελπίζω να μην του κόψουν μονάδες πάντως...


Παραδέχομαι ότι η απάντηση του μαθητή ήταν πράγματι έξυπνη αλλά από την άλλη δε μου φαίνεται και σωστή... Χωρίς να θέλω να κάνω τον "κακό" 'η τον "έξυπνο" προσωπικά θα έκοβα μονάδες για μια τέτοια απάντηση. Και ο λόγος δεν είναι φυσικά ότι μπορεί να υπάρχουν όντως προβλήματα στην εκτέλεση ανάλογα με την υλοποίηση των εντολών κτλ αλλά γιατί ο αλγόριθμος αυτός δεν έχει καμία γενικότητα και δουλεύει μόνο και μόνο επειδή ο πίνακας έχει τις συγκεκριμένες τιμές με τη συγκεκριμένη σειρά. Ίσως πει κάποιος ότι δεν εξετάζεται η γενικότητα ή η αποδοτικότητα του αλγορίθμου, όμως εδώ νομίζω ότι ξεπερνάμε το όριο... Αν δεχτούμε ως απόλυτα σωστή την απάντηση του μαθητή τότε θα έπρεπε να δεχτούμε και μια λύση στο στυλ Α[1]=1, Α[2]=2,Α[3]=3 κοκ. Κι αυτές οι εντολές αντιμεταθέτουν τα στοιχεία του πίνακα. Άρα σωστό; (ΟΚ η ερώτηση ζητούσε να συμπληρωθεί η δομή της επανάληψης εννοώ όμως αν ζητούνταν γενικά ένας αλγόριθμος αναστροφής των στοιχείων του συγκεκριμένου πίνακα, η δική μου λύση δε θα ήταν σωστή με αυτό το σκεπτικό;)



petrosp13

Παράθεση από: dski στις 01 Ιουν 2012, 11:48:10 ΜΜ
ο αλγόριθμος αυτός δεν έχει καμία γενικότητα και δουλεύει μόνο και μόνο επειδή ο πίνακας έχει τις συγκεκριμένες τιμές με τη συγκεκριμένη σειρά.

Ο μαθητής όμως θα σου απαντήσει ότι σκέφτηκα αυτό τον τρόπο γιατί μου δόθηκαν αυτές οι τιμές!
Αν μου δινόταν σε γενική μορφή, δεν θα το έλυνα έτσι
Και δεν θα μπορούμε να απαντήσουμε κάτι σε αυτό
Μπράβο στο παιδί που το σκέφτηκε, είναι το μη αναμενόμενο
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

dski

Παράθεση από: petrosp13 στις 01 Ιουν 2012, 11:50:53 ΜΜ
Ο μαθητής όμως θα σου απαντήσει ότι σκέφτηκα αυτό τον τρόπο γιατί μου δόθηκαν αυτές οι τιμές!

Προσωπικά δε με ικανοποιεί αυτή η απάντηση. Δε τη θεωρώ καλό οδηγό για την ανάπτυξη αλγορίθμων.Αν τη δεχτώ θα πρέπει, με το ίδιο σκεπτικό, να δεχτώ ως απόλυτα σωστό και το Α[1]=1, Α[2]=2, Α[3]=3 κοκ που έγραψα πιο πάνω. Δε νομίζω πως αυτή (πρέπει να) είναι η φιλοσοφία του μαθήματος και της εξέτασης... Είπαμε, έξυπνο, μη αναμενόμενο, κτλ κτλ, μπράβο στο μαθητή για την ευρηματικότητα του αλλά εξακολουθώ να το θεωρώ λάθος ή, στην καλύτερη περίπτωση, όχι απόλυτα σωστό...

petrosp13

Απλά, μην ξεχάσεις έστω και για ένα δευτερόλεπτο, ότι ο συγκεκριμένος μαθητής, όσο και να λατρεύει την ΑΕΠΠ, εκείνη την στιγμή παίζει το μέλλον του μέσα σε μια 3ωρη εξέταση και οποιαδήποτε λύση του "κάτσει" και δει ότι δουλεύει, δεν θα την σκεφτεί δεύτερη φορά για να την γράψει πάνω στην πίεση του χρόνου..
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

evry

Δημήτρη νομίζω ότι η συγκεκριμένη απάντηση πρέπει να γίνει δεκτή, από τη στιγμή που δουλεύει. Αν η επιτροπή ήθελε να το αποφύγει δεν θα έβαζε τόσο απλά νούμερα αλλά κάποια άλλα.
Αφού κάποιος μαθητής το σκέφτηκε δεν μπορείς να του κόψεις.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Γιάννης Αναγνωστάκης

Παράθεση από: dski στις 02 Ιουν 2012, 12:32:49 ΠΜ
Προσωπικά δε με ικανοποιεί αυτή η απάντηση. Δε τη θεωρώ καλό οδηγό για την ανάπτυξη αλγορίθμων.Αν τη δεχτώ θα πρέπει, με το ίδιο σκεπτικό, να δεχτώ ως απόλυτα σωστό και το Α[1]=1, Α[2]=2, Α[3]=3 κοκ που έγραψα πιο πάνω. Δε νομίζω πως αυτή (πρέπει να) είναι η φιλοσοφία του μαθήματος και της εξέτασης... Είπαμε, έξυπνο, μη αναμενόμενο, κτλ κτλ, μπράβο στο μαθητή για την ευρηματικότητα του αλλά εξακολουθώ να το θεωρώ λάθος ή, στην καλύτερη περίπτωση, όχι απόλυτα σωστό...

Το θέμα δεν ζητούσε από το μαθητή να υποδείξει ένα τρόπο διδασκαλίας της εντολής Αντιμετάθεσε σε γενική μορφή..αλλά ζητούσε να συμπληρώσει ορισμένα κενά έτσι ώστε το συγκεκριμένο τμήμα αλγορίθμου για τον συγκεκριμένο πίνακα να εκτελεί την συγκεκριμένη λειτουργία....Προφανώς η λύση του παιδιού είναι ολόσωστη.

ipoulis

Παράθεση από: janag79 στις 02 Ιουν 2012, 02:46:10 ΠΜ
Το θέμα δεν ζητούσε από το μαθητή να υποδείξει ένα τρόπο διδασκαλίας της εντολής Αντιμετάθεσε σε γενική μορφή..αλλά ζητούσε να συμπληρώσει ορισμένα κενά έτσι ώστε το συγκεκριμένο τμήμα αλγορίθμου για τον συγκεκριμένο πίνακα να εκτελεί την συγκεκριμένη λειτουργία....Προφανώς η λύση του παιδιού είναι ολόσωστη.
Συμφωνώ
Δεν νομίζω ότι πρέπει μια λύση να μας αρέσει για να είναι σωστή.
Επίσης ο μαθητής έχει να λύσει συγκεκριμένη άσκηση με συγκεκριμένα δεδομένα και όχι άλλον πίνακα.
Επίσης είχε αντιμετάθεσε και όχι τις 3 εκχωρήσεις (που πράγματι δεν πάει καλά)
Οπότε για τα συγκεκριμένα δεδομένα που είχε ο μαθητής έδωσε σωστή (και φοβερά πρωτότυπη) λύση,

evry

Πάντως τώρα που το ξαναβλέπω δεν μπορούμε να είμαστε σίγουροι είναι 100% σωστό με αντιμετάθεσε. Θα πρέπει να ξέρουμε τον τρόπο μεταβίβασης παραμέτρων στην αντιμετάθεσε. (π.χ. με call-by-name δεν δουλεύει)
Τέλος πάντων όπως και να έχει η λύση είναι αρκετά έξυπνη, ο μαθητής αυτός απέδειξε ότι έχει κατανοήσει αυτά που θέλουμε και δεν υπάρχει λόγος να χάσει μονάδες
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

merlin

Αν οι εντολές μέσα στη Για ήταν αναλυτικά οι 3 γραμμές της αντιμετάθεσης (με το temp) τότε είμαι σίγουρος ότι δε θα το έλυνε έτσι ο μαθητής.
Άλλωστε έχει γράψει σχεδόν τέλεια στο υπόλοιπο διαγώνισμα (100 μείον ένα λαθάκι στο Γ θέμα - έβαλε σε λάθος σημείο μια εμφάνισε), οπότε νομίζω ότι ο διορθωτής θα το λάβει υπ' όψη του.

Όσο για το Αντιμετάθεσε, στην ψευδογλώσσα είμαστε λίγο χαλαροί ως προς το τι σημαίνει βήμα βήμα. Εννοώ ότι ο μαθητής καταλαβαίνει ότι με την εντολή αυτή (η οποία στην ουσία δεν είναι μόνο μια αλλά περισσότερες, ή ένα υποπρόγραμμα), απλά αλλάζουν τιμές 2 κουτάκια στη μνήμη (είτε είναι μεταβλητές είτε στοιχεία πίνακα).

Δε μας ενδιαφέρει ο τρόπος με τον οποίο θα συμβεί αυτή η αντιμετάθεση, αρκεί να γίνεται.
'Αλλωστε με C,C++ (με pointers), με Java (στέλνοντας τον πίνακα και τα indexes), με Visual Basic (με call by Reference), ακόμα και με διαδικασία στη ΓΛΩΣΣΑ, δε θα είχε πρόβλημα στην υλοποίηση της αντιμετάθεσης, θα λειτουργούσε μια χαρά.

Το μόνο που σκέφτομαι είναι ότι ο διορθωτής μπορεί να μην καθήσει να ασχοληθεί και τόσο πολύ και να του κόψει...
Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20