Διάβασμα παράλληλων πινάκων

Ξεκίνησε από ntzios kostas, 03 Φεβ 2010, 08:37:17 ΠΜ

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

ntzios kostas

Έστω ο παρακάτω αλγόριθμος: Μία ομάδα μπάσκετ αποτελείται από 10 παίκτες. Να γίνει αλγόριθμος που να διαβάζει για τον καθέναν το όνομά του και τους πόντους που πέτυχε σε κάθε έναν από τους 20 αγώνες που έδωσε η ομάδα. Να εμφανίζει το όνομα του παίκτη και τους πόντους που πέτυχε από τον τελευταίο στον πρώτο αγώνα:
Απάντηση

για παικ από 1 μέχρι 10
   διάβασε Ον[παικ]
   για αγ από 1 μέχρι 20
      διάβασε Π[παικ,αγ]
   τέλος_επανάληψης
τέλος_επανάληψης

για παικ από 1 μέχρι 10
   γράψε Ον[παικ]
   για αγ από 20 μέχρι 1 με_βήμα -1
      γράψε Π[παικ,αγ]
   τέλος_επανάληψης
τέλος_επανάληψης

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

gthal

Κατά τη δική μου γνώμη, Κώστα, και στις δύο περιπτώσεις ο μαθητής δεν έχει κατανοήσει πλήρως το ζητούμενο (πιθανόν και από επιπολαιότητα).
Η κατανόηση προβλήματος και αναγνώριση δεδομένων-ζητούμενων είναι σημαντικότατο κομμάτι της δουλειάς μας φέτος και άρα αξιολογείται.
Γιαυτό, θα του έκοβα και μονάδες, της τάξης του 5% - έτσι, στο στυλ "την άλλη φορά να προσέχεις"   >:D
Φιλικά,
Γιώργος Θαλασσινός

P.Tsiotakis

Αν βάλεις i, j  στους δείκτες των πινάκων Κώστα  :D  το βρίσκω σωστό καθώς κάνει αυτό που λέει η εκφώνηση.
το θέμα που θέτεις στο τέλος,  είναι πιο σημαντικο: το

για παικ από 1 μέχρι 10
   διάβασε Ον[παικ]
τέλος_επανάληψης
για παικ από 1 μέχρι 10
   για αγ από 1 μέχρι 20
      διάβασε Π[παικ,αγ]
   τέλος_επανάληψης
τέλος_επανάληψης

που δεν κάνει αυτό που λέει η εκφώνηση, θα χάσει μονάδες; Με τα σημερινά δεδομένα του μαθήματος μάλλον όχι. Θα έπρεπε όμως;;;;
Έχουμε ένα τέτοιο στα κριτήρια, οπότε η απάντηση είναι άγνωστη  :D

ntzios kostas

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

Ρωτάω, λοιπόν,  να δω πόσο οι υπόλοιποι συνάδελφοι είναι αυστηροί σε κάτι τέτοιο.

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

P.Tsiotakis

θα το βάλω στις ασάφειες του σχολικού  :D ;D :-X

tom

Παράθεση από: Τσιωτάκης Παναγιώτης στις 04 Φεβ 2010, 10:11:02 ΠΜ
Αν βάλεις i, j  στους δείκτες των πινάκων Κώστα  :D  το βρίσκω σωστό καθώς κάνει αυτό που λέει η εκφώνηση.
το θέμα που θέτεις στο τέλος,  είναι πιο σημαντικο: το

για παικ από 1 μέχρι 10
   διάβασε Ον[παικ]
τέλος_επανάληψης
για παικ από 1 μέχρι 10
   για αγ από 1 μέχρι 20
      διάβασε Π[παικ,αγ]
   τέλος_επανάληψης
τέλος_επανάληψης

που δεν κάνει αυτό που λέει η εκφώνηση, θα χάσει μονάδες; Με τα σημερινά δεδομένα του μαθήματος μάλλον όχι. Θα έπρεπε όμως;;;;
Έχουμε ένα τέτοιο στα κριτήρια, οπότε η απάντηση είναι άγνωστη  :D

Αν δε βάλεις i και j υπάρχει κάποιο πρόβλημα ή κάνετε χιούμορ ;)

Λοιπόν η γνώμη μου σχετικά με την ερώτηση. Νομίζω ότι η σειρά της εισόδου δεδομένων δεν έχει σημασία αρκεί ο χρήστης να καταλαβαίνει τι εισάγει. Με τη λύση που παρουσιάζει ο Κώστας μάλλον δεν καταλαβαίνει μιας και βλέπει μόνο έναν κέρσορα να αναβοσβήνει  8)

Ενώ αν ο κώδικας ήταν έτσι:

για παικ από 1 μέχρι 10
   γράψε "Δώσε το όνομα του ",παικ," παίκτη: "
   διάβασε Ον[παικ]
   για αγ από 1 μέχρι 20
      γράψε "Δώσε τους πόντους του παίκτη ",Ον[παικ]," για τον  ",αγ," ο αγώνα: "
      διάβασε Π[παικ,αγ]
   τέλος_επανάληψης
τέλος_επανάληψης

μάλλον θα καταλάβαινε.

Αλλά και έτσι να ήταν Παναγιώτη:

για παικ από 1 μέχρι 10
        γράψε "Δώσε το όνομα του ",παικ," παίκτη: " 
   διάβασε Ον[παικ]
τέλος_επανάληψης
για παικ από 1 μέχρι 10
   για αγ από 1 μέχρι 20
        γράψε "Δώσε τους πόντους του παίκτη ",Ον[παικ]," για τον  ",αγ," ο αγώνα: "     
   διάβασε Π[παικ,αγ]
   τέλος_επανάληψης
τέλος_επανάληψης

πάλι σωστό μου φαίνεται...συμφωνείς;

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

Στην έξοδο αλλάζουν λίγο τα πράγματα αλλά και πάλι η εκφώνηση είναι ασαφής:

"Να εμφανίζει το όνομα του παίκτη και τους πόντους που πέτυχε από τον τελευταίο στον πρώτο αγώνα:"

Θα προτιμούσα να δω:

"Να εμφανίζει για κάθε παίκτη το όνομα του και τους πόντους που πέτυχε από τον τελευταίο στον πρώτο αγώνα, με την παρακάτω μορφή:"

Θωμάς     4   5   6   ..........
Κώστας    3   10   9  ...........

Δεν μπορούμε να έχουμε ειδικές απαιτήσεις με γενικές εκφωνήσεις.

Ξέρετε πότε θα έκοβα; Αν έκανε αυτό:

για παικ από 1 μέχρι 10
   γράψε Ον[παικ]
   για αγ από 1 μέχρι 20
      γράψε Π[παικ,αγ]
   τέλος_επανάληψης
τέλος_επανάληψης

εμφάνιζε δηλαδή από την αρχή προς το τέλος.


Κάτι τελευταίο για τον Κώστα. Νομίζω ότι θα προτιμούσα δείκτες i και j για τον απλό λόγο ότι είναι πιο δύσκολο να δημιουργήσουν παρανοήσεις.

π.χ. ο δείκτης παικ αντιπροσωπεύει α/α αλλά κάποιος μαθητής μπορεί να μπερδευτεί και να νομίσει ότι αντιπροσωπεύει όνομα (όταν βλέπεις παίκ πάει το μυαλό σου για παράδειγμα στο Blanco Ismael και όχι στον α/α του στο δελτίο αγώνα ή στο 18 που είναι η φανέλα του >:D), κάτι που κάνει το Ον[παικ]. Θα προτιμούσα να βάλεις α_α_παικ. Η χρήση του "αγ" ως προσδιοριστικού του αγώνα είναι πιο εύστοχη!

The devil is in the details!

Περιμένω τη γνώμη σας... :)
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

ntzios kostas

ΠαράθεσηΑν δε βάλεις i και j υπάρχει κάποιο πρόβλημα ή κάνετε χιούμορ ;)
Χιούμορ. Για εμένα αν βάλεις το i και j υπάρχει πρόβλημα.  :) :) Να σκεφτείς ότι μόνο στη φυσαλίδα τα χρησιμοποιώ και εκεί σκεφτομαι το j από φέτος να το βγάλω. Δηλαδή πέρυσι οι μαθητές μου το το αντικαταστούσαν από μόνοι τους με πιο σχετικό όνομα.

Φίλε Θωμά αν σε ρώταγε ένας μαθητής τι εκφράζει το ι τι θα του απαντούσες; Εννοειται εκφράζει παίκτη. Έτσι αν σου δώσω την απάντηση σε ελεύθερο κείμενο θα λέγαμε:

για κάθε παίκτη από τον 1ο μέχρι και τον 10ο
....διάβασε το όνομα του παίκτη και
....για κάθε αγώνα από 1 μέχρι και τον 20ο
.........διάβασε τους πόνους του παίκτη στον αγώνα.



Δήλαδή στον πίνακα είναι αποθηκευμένα το όνομα  του 1ου παίκτη του 2ου παίκτη κ.τλ. Νομίζω δηλαδή ότι η χρήση του παικ είναι η καταλληλότερη.

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

Σκέψου ότι η είσοδος τιμών δεν γίνεται κατά ανάγκη από το πληκτρολόγιο.

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

pgrontas

#7
Στο αρχικό ερώτημα που τέθηκε, θα ήθελα η εκφώνηση να είναι πιο σαφής προκειμένου να μπορούμε να είμαστε πιο αυστηροί (τουλάχιστον για την είσοδο). Δηλαδή θα μπορούσε να προσθέσει "να διαβάζει για τον καθένα παίκτη... πριν προχωρήσει στον επόμενο".
Για τα ονόματα των δεικτών, αυτό που λέω συνήθως είναι ότι ένα καλό όνομα μεταβλητής μπορεί να μας γλιτώσει από βαρετά σχόλια.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

tom

Παράθεση από: ntzios kostas στις 04 Φεβ 2010, 05:37:33 ΜΜ

Φίλε Θωμά αν σε ρώταγε ένας μαθητής τι εκφράζει το ι τι θα του απαντούσες; Εννοειται εκφράζει παίκτη. Έτσι αν σου δώσω την απάντηση σε ελεύθερο κείμενο θα λέγαμε:

για κάθε παίκτη από τον 1ο μέχρι και τον 10ο
....διάβασε το όνομα του παίκτη και
....για κάθε αγώνα από 1 μέχρι και τον 20ο
.........διάβασε τους πόνους του παίκτη στον αγώνα.



Δήλαδή στον πίνακα είναι αποθηκευμένα το όνομα  του 1ου παίκτη του 2ου παίκτη κ.τλ. Νομίζω δηλαδή ότι η χρήση του παικ είναι η καταλληλότερη.

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

Σκέψου ότι η είσοδος τιμών δεν γίνεται κατά ανάγκη από το πληκτρολόγιο.

Με εκτίμηση Κώστας

Θα του έλεγα ότι εκφράζει τη θέση ενός πίνακα, στον οποίο αποθηκεύονται ονόματα παικτών.

για κάθε θέση πίνακα παικτών από τη 1η μέχρι και τη 10η
....διάβασε το όνομα του παίκτη και αποθήκευσε το μέσα σε μονοδιάστατο πίνακα σε αυτή τη θέση πίνακα παικτών
....για κάθε θέση πίνακα αγώνων από τη 1η μέχρι και την 20η
.........διάβασε τους πόντους του παίκτη και αποθήκευσε τους σε δυσδιάστατο πίνακα σε αυτή τη θέση πίνακα παικτών και σε αυτή τη θέση πίνακα αγώνων. >:D :D :laugh:

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

Τώρα όσον αφορά τα διευκρινιστικά μηνύματα σε καμία περίπτωση δεν είπα ότι απαιτουμε από τον μαθητή να τα χρησιμοποιεί, αλλά ότι δεν απαιτούμε να εισάγει τα δεδομένα με συγκεκριμένη σειρά, αφού στην εκφώνηση δεν είναι ξεκάθαρο. Όπότε αν ο μαθητής καταλαβαίνει τι βάζει πότε no problem. Μπορείς να αξιολογήσεις όμως αν το καταλαβαίνει; Κατά τη γνώμη μου όχι μέσα από τη συγκεκριμένη μορφή άκησης...


Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

ntzios kostas

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

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

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

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

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

evry


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

gthal

Δεν καταλαβαίνω, γιατί από κάποιους θεωρείται ασαφής η εκφώνηση ?

Το ερώτημα για την είσοδο και εκείνο για την έξοδο των δεδομένων είναι πανομοιότυπα διατυπωμένα (κατ' εμέ δηλώνοντας σαφώς τη σειρά που θέλουν να γίνουν τα πράγματα - και η οποία είναι ίδια και στα δύο).
Αναρωτιέμαι λοιπόν:

1.  Είναι το πρώτο λιγότερο σαφές από το δεύτερο ?
και, (αυτό κατά τη γνώμη μου κάνει το ερώτημα του Κώστα πολύ-πολύ ενδιαφέρον: )
2. Γιατί η τάση μας είναι προς το "ας τα διαβάζει όπως θέλει αλλά έπρεπε να τα εμφανίζει όπως ζητήθηκε"  ?!?!?!?!
Φιλικά,
Γιώργος Θαλασσινός

pgrontas

Για μένα η διαφορά μεταξύ εισόδου και εξόδου είναι ότι στην είσοδο με όποιον και από τους δύο πιθανούς τρόπους να τα διαβάσει διατηρεί την παραλληλία, την συσχέτιση δηλαδή των δεδομένων μέσω του δείκτη.
Αντίθετα στην έξοδο, αν εμφανιστούν πρώτα όλα τα ονόματα και μετά όλοι οι πόντοι χάνεις την συσχέτιση.
Νομίζω, λοιπόν ότι το λάθος στην έξοδο είναι πιο 'χοντρό' και γι'αυτό λέω ότι αν θέλουμε να δώσουμε την ίδια βαρύτητα στο λάθος της εισόδου πρέπει να ενισχύσουμε την εκφώνηση.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson