θέμα 2(Γ)&θέμα 3

Ξεκίνησε από summer, 27 Μαΐου 2009, 03:42:09 ΜΜ

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

vistrian

Παράθεση από: Τσιωτάκης Παναγιώτης στις 28 Μαΐου 2009, 10:36:08 ΜΜ
Παιδιά, απορία

Πολλοί μαθητές έχουν δώσει τη λανθασμένη λύση:

δ ← α mod 10
Για i από δ μέχρι 1 με_βήμα -1
    γ ← γ + β
Τέλος_επανάληψης


Η

δ ← α mod 10
Για i από 1 μέχρι δ
    γ ← γ + β
Τέλος_επανάληψης


Πόσες μονάδες απο τις 5 παίρνουν; 2-3;;

Θα χάσουν 1 μόριο από τα 5
VR in Computing

Καρκαμάνης Γεώργιος

Σε αυτήν την μετατροπή πρέπει να καταλάβουμε τι σημαίνει αυτό που ορίζει η εκφώνηση της άσκησης "...που θα έχει το ίδιο αποτέλεσμα με το παρακάτω τμήμα"

Το "ίδιο αποτέλεσμα" αναφέρεται σε
ι)Να εκτελείται ο ίδιος αριθμός επαναλήψεων;

ιι) ¨Όλες οι μεταβλητές που συμμετέχουν στην μετατροπή θα πρέπει μετά την εκτέλεση να έχουν τις ίδιες τιμές με τις αντίστοιχες μεταβλητές του αρχικού τμήματος αλγορίθμου;

ιιι) Η μεταβλητή γ να έχει την ίδια τελική τιμή;

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

petrosp13

Παράθεση από: Νίκος Αδαμόπουλος στις 28 Μαΐου 2009, 11:44:20 ΜΜ



Στο:
δ <-α mod 10
Όσο δ>0 επανάλαβε
   δ<-δ-1
   γ<-γ+β
Τέλος_επανάληψης


- Στην πρώτη επανάληψη το δ θα έχει τιμή α mod 10.
- Στην τελευταία θα έχει τιμή 1.
- Μετά το τέλος των επαναλήψεων θα έχει την τιμή 0.

Δηλαδή ταυτίζεται με το προηγούμενο!


Άρα δεν καταλαβαίνω προς τι ο προβληματισμός!!!


Εδώ είναι το πρόβλημα
Στην Για, επανάληψη μετράει όταν εκτελείται το γ<--γ+β
Η πρώτη τιμή για την οποία εκτελείται είναι δ=αmod10-1
Η τελευταία τιμή για την οποία εκτελείται είναι δ=0

Η λύση που προτείνω έχει σωστότατες τιμές μέσα στην επανάληψη, αλλά λάθος τιμή εξόδου
Η λύση που προτείνετε έχει λάθος αρχική και τελική τιμή, αλλά σωστή τιμή εξόδου
Δεν υπάρχει λόγος να το συνεχίσουμε
Δεν μπορεί να μετατραπεί με άλλο τρόπο σε Για που να είναι απολύτως σωστός, άρα και τα δύο είναι εξίσου σωστά
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

vassilisB

Συγγνώμη, αλλά από τις συζητήσεις που έχω παρακολουθήσει εδώ μέσα, δεν δεχόμαστε ότι η τελική τιμή του μετρητή της ΓΙΑ μετά την επανάληψη είναι απροσδιόριστη και ΔΕΝ μπορεί να χρησιμοποιηθεί?? Άρα σην περίπτωση που η μετατροπή γίνει ως εξής :

Για δ από (α mod 10 - 1) μέχρι 0 με_βήμα -1
  γ ← γ + β
Τέλος_επανάληψης

ο μετρητής της Για (το δ δηλαδή) παίρνει μέσα στην επανάληψη ακριβώς τις ίδιες τιμές που παίρνει και ο μετρητής της Όσο σε κάθε περίπτωση.

P.Tsiotakis

Στην αρχική κωδικοποίηση σε Όσο, το δ ξεκινά με την τιμή    a mod 10  και στη συνέχεια μειώνεται κατά 1
Όπως είπε ο Πέτρος και τα 2 είναι σωστά, πάμε για άλλα

vassilisB

κ. Τσιωτάκη συμφωνώ ότι και οι 2 λύσεις πρέπει να πιαστούν σωστές. Ελπίζω μόνο να σκέφτονται με τον ίδιο τρόπο και οι βαθμολογητές, ώστε να μην χάσουν τζάμπα μόρια τα παιδιά που το έκαναν είτε έτσι είτε αλλιώς  :)

Wizard

Στο θέμα 3Γ, υπήρχε μια λύση ως εξής:
Για κ από 1 μέχρι 19
    ΑΕ[κ] <- 0
    Για j από 1 μέχρι κ
        ΑΕ[κ] <- ΑΕ[κ] + ΕΠΙΒ[j] - ΑΠΟΒ[j]
    Τέλος_επανάληψης
Τέλος_επανάληψης

Παρόλο που γίνονται πολλές επαναλήψεις, δεν πρέπει να κοπεί καμία μονάδα, σωστά;

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

Παράθεση από: vassilisB στις 29 Μαΐου 2009, 06:26:38 ΠΜ
ο μετρητής της Για (το δ δηλαδή) παίρνει μέσα στην επανάληψη ακριβώς τις ίδιες τιμές που παίρνει και ο μετρητής της Όσο σε κάθε περίπτωση.

Το μέσα είναι σχετικό...

{
αρχή
μέση
τέλος
}

Μέσα προς την αρχή, μέσα αλλά στη μέση, μέσα αλλά προς το τέλος...   :D
Ποιο να είναι το καλύτερο σημείο αναφοράς;

Η γνώμη μου είναι πως ο καλύτερος τρόπος σύγκρισης μεταξύ των δύο δομών (Όσο και Για) είναι η αντιπαραβολή των τιμών όλων των μεταβλητών στο τέλος κάθε επανάληψης. Γι' αυτό και είμαι περισσότερο υπέρ της λύσης που από την αρχή είχα προτείνει...

Παρόλα αυτά, κι εγώ θα έλεγα ότι είναι σωστά και τα δύο αφού:
α) το πλήθος των επαναλήψεων είναι ίδιο
β) το γ δεν επηρεάζεται
γ) δεν μας ενδιαφέρει το δ μετά την επανάληψη (είτε αν έχει συγκεκριμένη τιμή είτε αν θεωρούμε ότι είναι απροσδιόριστο!!) αφού ο συνολικός αλγόριθμος του θέματος 2 ξέρουμε ότι δεν επηρεάζεται από αυτήν

summer

Παράθεση από: vrose στις 29 Μαΐου 2009, 12:06:24 ΠΜ
Παράθεση από: Τσιωτάκης Παναγιώτης στις 28 Μαΐου 2009, 10:36:08 ΜΜ
Παιδιά, απορία

Πολλοί μαθητές έχουν δώσει τη λανθασμένη λύση:

δ ← α mod 10
Για i από δ μέχρι 1 με_βήμα -1
    γ ← γ + β
Τέλος_επανάληψης


Η

δ ← α mod 10
Για i από 1 μέχρι δ
    γ ← γ + β
Τέλος_επανάληψης


Πόσες μονάδες απο τις 5 παίρνουν; 2-3;;

Θα χάσουν 1 μόριο από τα 5


Αλήθεια πιστεύεις ότι ενώ τους λέει να μην χρησιμοποιήσουν άλλες μεταβλητές από την απάντηση με i θα κοπεί μόνο 1 μόριο;

gpapargi

Νίκο να σου θυμήσω μια κουβέντα που είχαμε παλιά για τις μετατροπές
https://alkisg.mysch.gr/steki/index.php?topic=1142.msg10687#msg10687
Δες από το σημεία που στέλνω και κάτω.

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

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

vassilisB

Συζήτηση για τις μετατροπές έχει γίνει πολλές φορές μέσα στο Στέκι (μπορεί να μην συμμετείχα, αλλά τις παρακολουθώ ανελλειπώς  ;D )
Εφόσον μέσα στο σχολικό βιβλίο υπάρχουν αρκετά σκοτεινά σημεία για την εντολή Για (ένα από αυτά είναι και η τελική τιμή του μετρητή μετά την επανάληψη καθώς και κατά πόσο αυτή μπορεί να χρησιμοποιηθεί) θεωρώ ότι θα ήταν τουλάχιστον άδικο να χάσει μαθητής μόρια είτε τον πρώτο τρόπο ακολούθησε είτε το δεύτερο.
Αλλώστε ακόμα και στις προτεινόμενες λύσεις από την Alfavita οι δύο προτείονουν από a mod 10 μέχρι 1 και ο τρίτος από
a mod 10 -1 μέχρι 0  :D
Στην τελική, εδώ δεν μπορούμε να συμφωνήσουμε μεταξύ μας!!!!

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

Οκ. Δε βλέπω να διαφωνούμε... Παραθέτω κι ένα απόσπασμα από τα λεγόμενά σου:

Παράθεση από: gpapargi στις 24 Σεπ 2008, 09:40:54 ΠΜ
....
Επίσης είναι λάθος να ζητάμε μετατροπή της Όσο και της Μέχρις_ότου με τελεστή < ή >  σε Για (Νίκος: στην Μέχρις_ότου ισχύει το αντίθετο... Δεν θα βάζαμε =) αφού τελικά στη συνθήκη της Για γίνεται έλεγχος με τελεστή <= ή >=.
Επίσης είναι λάθος να ζητάμε μετατροπή από Όσο ή μέχρις_ότου με αλλαγή μετρητή στη μέση σε Για, αφού αλλάζουμε τη σχετική σειρά των εντολών.
...

Όντως με τις παραπάνω προϋποθέσεις τα πράγματα θα ήταν ξεκάθαρα...

Και το συμπέρασμά σου...

Παράθεση από: gpapargi στις 29 Μαΐου 2009, 10:14:46 ΠΜ
Αλλά αυτά δεν αφορούν το συγκεκριμένο θέμα. Εδώ προφανώς απλά ζητάμε να εκτελεί το ίδιο πλήθος επαναλήψεων και να έχει το γ την ίδια τελική τιμή. Το δ δε μας ενδιαφέρει. Αν αρχίσουμε και μιλάμε και για το δ τότε μπαίνει στο παιχνίδι η συζήτηση στην οποία σε περαπέμπω γιατί εμφανίζονται ένα σωρό περίεργα θέματα.

...όπως έγραψα κι εγώ παραπάνω με βρίσκει σύμφωνο. Αν δηλαδή ο evry πάρει την τομή όλων των posts (  :D  ) καταλήγουμε στο ότι πρέπει να θεωρηθούν σωστές και οι 2 λύσεις, και νομίζω το πνεύμα του θέματος της επιτροπής δεν είχε άλλο σκοπό!

Υ.Γ. Μην ανησυχείς vassilisB, μου φαίνεται πως δε θα υπάρχει πρόβλημα...  :)

vassilisB

Έτσι θέλω να πιστεύω κι εγώ  ;)

Ακριβή

Παράθεση από: evry στις 28 Μαΐου 2009, 09:16:03 ΜΜ
όταν λέει το ίδιο αποτελέσμα εγώ καταλαβαίνω να έχουν όλες  οι μεταβλητές τις ίδιες ακριβώς τιμές μετά το πέρας και των 2 επαναλήψεων, άρα και η δ. Νομίζω ότι πρέπει η δ στο τέλος να έχει την τιμή 0. Σε αντίθετη περίπτωση πρέπει να κοπεί μια μονάδα (από τις 5)

Καλημέρα,

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

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

Παράθεση από: Ακριβή στις 29 Μαΐου 2009, 11:03:39 ΠΜ
στο βαθμολογικό συμφωνήσαμε ακριβώς αυτό.  Όλες οι μεταβλητές πρέπει να έχουν ακριβώς τις ίδιες τιμές αλλιώς το αποτέλεσμα δεν είναι ακριβώς το ίδιο.  Αν δεν συμβαίνει αυτό κόβονται μονάδες.

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

Δηλαδή εσείς τελικά ποια θα θεωρήσετε σωστή; Μου φαίνεται τελικά ότι αυτό θα πρέπει να διευκρινιστεί σε κεντρικό επίπεδο...