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

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

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

petrosp13

Παράθεση από: ntzios kostas στις 28 Μαΐου 2009, 05:44:40 ΜΜ
Παράθεση από: elf στις 28 Μαΐου 2009, 04:26:47 ΜΜ

Βέβαια η τιμή του δ δεν είναι η ίδια, αλλά τότε το:

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

που προτείνουν συνάδελφοι (γιατί η δ<-δ-1 δεν είναι η τελευταία εντολή του βρόγχου αλλά η πρώτη) πρέπει να είναι επίσης λάθος...


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

Ίσα ίσα, η πιο τυπικά σωστή απάντηση είναι αυτή αφού οι επαναλήψεις ξεκινάνε από amod10 -1 και όχι από amod10 και τελειώνουν στο 0 και όχι στο 1.
Νομίζω ότι θα θεωρηθούν σωστές και οι 2 απαντήσεις και θα πρέπει να δοθεί τέτοια οδηγία
Όποιος έχει πρόσβαση σε διόρθωση γραπτών, ας αναφέρει τις περιπτώσεις
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

vassilisB

petros_p θα συμφωνήσω απόλυτα μαζί σου. Η πλέον σωστή απάντηση είναι από a mod 10 -1 μέχρι 0. Δηλαδή αν υπήρχε εντολή μέσα στην Όσο που περιείχε το δ (π.χ. γ <-- γ + δ), τότε δεν θα συμφωνούσαμε όλοι στον παραπάνω τρόπο μετατροπής? Τι αλλάζει στη συγκεκριμένη περίπτωση?

ntzios kostas

#32
Ας υποθέσουμε ότι έχουμε το ακόλουθο τμήμα:

διάβασε α
δ<- α
όσο δ>0 επανάλαβε
   δ<-δ-1
   γ<-γ+δ
τέλος_επανάηψης
κάλεσε Διαδ(δ,α,γ)

Οι δύο βασικές προτάσεις μετατροπής είναι:

πρώτη πρόταση:

διάβασε α
για δ από α-1 μέχρι 0 με_βήμα -1
γ<-γ+δ
τέλος_επανάληψης
κάλεσε Διαδ(δ,α,γ)

δεύτερη πρόταση:

διάβασε α
για δ από α μέχρι 1 με βήμα -1
γ<-γ +(δ-1)
τέλος_επανάληψης
κάλεσε Διαδ(δ,α,γ)

αν στον αρχικό αλγόριθμο δοθεί ως α το -5, τότε η διαδικασία θα έχει ως πρώτη παράμετρο (δ) το -5.

ο πρώτος τρόπος θα έχει ως πρώτη παράμετρο το -6, άρα είναι διαφορετικό τμήμα.

ο δεύτερο τρόπος με το για θα έχει ως δ το -5.

Άρα η πρώτη μετατροπή που περιέγραψα είναι λάθος. Νομίζω τα πράγματα είναι πλέον φανερά. 





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

petrosp13

Ναι αλλά το δεύτερο τμήμα προσθέτει στο γ την αρχική τιμή του δ που ειναι α;
Είναι όμως α;
Δεν είναι
Η πρώτη τιμή που προστίθεται στο γ είναι η α-1 και φαίνεται από την αρχική δομή Όσο

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

ntzios kostas

Κάτι ξέχασα στη δεύτερη μετατροπή. Είχα στο μυαλό μου το γ<-γ+β, αλλά έγραψα το γ<-γ+δ. Οκ το διόρθωσα.

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

P.Tsiotakis

Κώστα, γενικά έχεις δίκιο (το είπα και πρωτύτερα)

ωστόσο,

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

evry

όταν λέει το ίδιο αποτελέσμα εγώ καταλαβαίνω να έχουν όλες  οι μεταβλητές τις ίδιες ακριβώς τιμές μετά το πέρας και των 2 επαναλήψεων, άρα και η δ. Νομίζω ότι πρέπει η δ στο τέλος να έχει την τιμή 0. Σε αντίθετη περίπτωση πρέπει να κοπεί μια μονάδα (από τις 5)
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis

Η τιμή του μετρητή του ΓΙΑ, μετά το βρόχο μας νοιάζει τελικά;

Είπατε στο βαθμολογικό οτι θα κοπεί ή είναι προσωπική εκτίμηση;

evry

Υπήρχαν διχογνωμίες και δεν είδα ξεκάθαρη στάση. Αύριο που τα βαθμολογικά θα συντονιστούν θα ξέρουμε με σιγουριά ποια είναι η κατάσταση
Παράθεση από: Τσιωτάκης Παναγιώτης στις 28 Μαΐου 2009, 09:20:43 ΜΜ
Η τιμή του μετρητή του ΓΙΑ, μετά το βρόχο μας νοιάζει τελικά;

Είπατε στο βαθμολογικό οτι θα κοπεί ή είναι προσωπική εκτίμηση;
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

akaie

Στο συγκεκριμένο θέμα εχω γράψει το εξής

Αν δ<>0 τότε
    Για α απο δ μέχρι 1 με βήμα -1
         γ<--γ + β
    Τέλος_επανάληψης
Τέλος_αν

Μπορεί να μου καποιος αν είναι σωστό;

P.Tsiotakis

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


Η τελική τιμή του δ μετά το βρόχο είναι 0

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


η ίδια δεν είναι ;

P.Tsiotakis

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


Η τελική τιμή του δ είναι το -1, άρα αυτό είναι "λάθος"

P.Tsiotakis

Παιδιά, απορία

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

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


Η

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


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

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

Παράθεση από: petrosp_13 στις 28 Μαΐου 2009, 08:59:05 ΜΜ
Η μια λύση κάνει λάθος στις πράξεις εντός επανάληψης και η άλλη κάνει λάθος στην τελική τιμή της μεταβλητής

ΔΕΝ είναι έτσι τα πράγματα... αλλά έτσι:

Παράθεση από: Τσιωτάκης Παναγιώτης στις 28 Μαΐου 2009, 09:57:03 ΜΜ
Στο
Για δ από (α mod 10 - 1) μέχρι 0 με_βήμα -1
  γ ← γ + β
Τέλος_επανάληψης


Η τελική τιμή του δ είναι το -1, άρα αυτό είναι "λάθος"

Συγκεντρώνω και αναλύω (βγήκε λίγο μεγάλο !!!! ):



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


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



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


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



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


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

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




Προφανώς αν η εκφώνηση ήταν:

δ <-α mod 10
Όσο δ>0 επανάλαβε
   δ<-δ-1
   γ<- (κάτι γενικώς που να χρησιμοποιεί το δ)
Τέλος_επανάληψης


...τότε τα πράγματα θα ζόριζαν!!!
Όμως η εκφώνηση είναι αυτή που είναι (  :angel: ) και είναι ισοδύναμη με την:

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


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




Για το θέμα των μετατροπών έχω καταγράψει κάποια πράγματα στο http://dide.ilei.sch.gr/keplinet/education/aepp_for.php

... και είναι το θέμα με το οποίο έκανα την παρθενική μου προσγείωση στο Στέκι:
https://alkisg.mysch.gr/steki/index.php?topic=1797.msg12871  :)

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

Με την ευκαιρία να σημειώσω ότι το να δίνουν Όσο για να μετατραπεί σε Για , όπου στη συνθήκη η ανισότητα δεν έχει και το ίσο ( = ), έχει ξαναπέσει στις Επαναληπτικές του 2007 (Θέμα 1 - Β2)

(βλ. στο http://dide.ilei.sch.gr/keplinet/education/docs/them_plir_c_kat_hmer_epan_070704.pdf
Θυμίζω ήταν τα θέματα που στο Θ2 είχε πίνακα τιμών με παρόμοια (αλλά αντίστροφη) λογική με τον φετινό πίνακα τιμών, το Θ3 ήταν το "Πέτρα-Ψαλίδι-Χαρτί", και το Θ4 το φοβερό με τα "αυγά και τα κοτόπουλα"... )

Παραθέτω το σχετικό κομμάτι από το http://dide.ilei.sch.gr/keplinet/education/aepp_for.php :

Θέμα 1 - Β2

Δίνεται το παρακάτω τμήμα αλγορίθμου:

I <- 1
Όσο Ι < 10 επανάλαβε
  Εμφάνισε Ι
  Ι <- Ι + 3
Τέλος_επανάληψης


Να ξαναγράψετε το παραπάνω τμήμα αλγορίθμου χρησιμοποιώντας την εντολή ΓΙΑ αντί της ΟΣΟ.

Λύση

Για Ι από 1 μέχρι 7 με_βήμα 3
  Εμφάνισε Ι 
Τέλος_επανάληψης


Σε αυτήν αρκετοί μαθητές δίνουν: Για Ι από 1 μέχρι 10, που όμως θα ήταν σωστό μόνο αν η συνθήκη στην αρχική δομή επανάληψης ήταν Ι <= 10.