Επίλυση άσκησης με πίνακα ενώ δεν αναφέρει πίνακα

Ξεκίνησε από tsak, 02 Απρ 2009, 01:20:30 ΜΜ

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

tsak

Καλημέρα.
Δεν ξέρω αν έχει συζητηθεί παλαιότερα το θέμα που θέλω να θείξω (αν ναι παραπέμψτε με στο αντίστοιχο link) οπότε θα το αναφέρω: τι γίνεται στην περίπτωση που ένα θέμα έχει γνωστό αριθμό επαναλήψεων χωρίς να αναφέρει ότι θα γίνει εισαγωγή στοιχείων σε πίνακα και κάποιος μαθητής χρησιμοποιήσει πίνακα; Υπάρχει συγκεριμένη οδηγία γι' αυτό το θέμα αν πρέπει να κοπούν μονάδες; Κατά την άποψή μου δεν θα ' πρεπε αλλά θα ήθελα να μου πει κάποιος που έχει κάνει βαθμολογητής αν έχει τέτοια εμπειρία στο παρελθόν.

Laertis

Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

ΨΥΛΛΟΣ ΣΩΤΗΡΗΣ

Κανονικά δεν πρέπει να κοπεί τίποτα. Στην πράξη αν δεν λέει για πίνακα υπάρχει περίπτωση (κακώς) κάποιος να κόψει.

michaeljohn

Δεν υπάρχει καμιά περίπτωση να κοπούν μονάδες.


evry

    Με το υπάρχον σύστημα δεν υπάρχει καμία περίπτωση να κοπούν μονάδες. Εμένα απλά θα μου δημιουργούσε μια αρνητική προδιάθεση >:D

Ας δούμε τώρα το παρακάτω πρόβλημα

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

Είναι φανερό ότι όποιος χρησιμοποιήσει πίνακες κάνει σπατάλη μνήμης. Θα μου πείτε ότι αυτά είναι τεχνικά θέματα ή θέματα απόδοσης και δεν αφορούν το μάθημα. Θα συμφωνήσω.
Για μια στιγμή όμως , για να δούμε τι λέει η θεωρία στη σελίδα 191.
Ένα από τα μειονεκτήματα των πίνακων είναι ότι απαιτούν μνήμη. Μάλιστα Η άσκοπη χρήση μεγάλων πινάκων μπορεί  να οδηγήσει ακόμη και σε αδυναμία εκτέλεσης του προγράμματος
Το τελευταίο είχε πέσει θέμα στις επαναληπτικές του 2002 σαν ΣΛ

Επίσης στις πανελλήνιες του 2004 το Θέμα 1)Ε ήταν
Να αναφέρετε δύο μειονεκτήματα της χρήσης των πινάκων

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

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

Αυτό κατά τη γνώμη μου είναι απίστευτη υποκρισία και αποτελεί τον ορισμό της στείρας αποστήθισης
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

michaeljohn

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

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

Παράθεσητι γίνεται στην περίπτωση που ένα θέμα έχει γνωστό αριθμό επαναλήψεων χωρίς να αναφέρει ότι θα γίνει εισαγωγή στοιχείων σε πίνακα και κάποιος μαθητής χρησιμοποιήσει πίνακα; Υπάρχει συγκεριμένη οδηγία γι' αυτό το θέμα αν πρέπει να κοπούν μονάδες; Κατά την άποψή μου δεν θα ' πρεπε αλλά θα ήθελα να μου πει κάποιος που έχει κάνει βαθμολογητής αν έχει τέτοια εμπειρία στο παρελθόν. 

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

P.Tsiotakis

θα είχε όμως πλάκα, να ζητήσουν στο ΘΕΜΑ 4, άσκηση ΠΡΟΓΡΑΜΜΑ με άγνωστο πλήθος επαναλήψεων που να ΜΟΙΑΖΕΙ με αυτές των πινάκων  :police:

xpanta

κατα τη γνώμη μου οποιοδήποτε πρόγραμμα κάνει compile Και παράγει σωστά αποτελέσματα θα πρέπει να μην χάνει μονάδες όσο "μη αποδοτικό" και αν είναι.

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

για παράδειγμα πουθενά δεν αναφέρεται ότι η "Συνάρτηση" είναι μη αποδοτική καθώς λειτουργεί με "pass by value" και όχι "pass by reference" όπως η "Διαδικασία". Με το ίδιο σκεπτικό όμως κάποιος που χρησιμοποιεί "συνάρτηση" και όχι "διαδικασία" θα πρέπει να χάνει μονάδες.


evry

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

Το ότι ένα πρόγραμμα τρέχει και βγάζει σωστό αποτέλεσμα δε σημαίνει απαραίτητα ότι αποτελεί αποδεκτή λύση. Για παράδειγμα ένας απλός αλγόριθμος για την επίλυση του προβλήματος TSP μπορεί να τρέχει αλλά δεν θα σταματήσει ποτέ (τουλάχιστον όσο ζούμε εμείς).

Παράθεση από: xpanta στις 06 Απρ 2009, 04:52:07 ΜΜ
Η έννοια της μη αποδοτικότητας θα πρέπει να παραμένει σε θεωρητικό επίπεδο καθώς μπορεί να την κατανοήσει σε βάθος μόνο κάποιος που ασχολείται με τον προγραμματισμό στην πράξη πάνω απο 3 χρόνια.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

sstergou

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

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

evry

Ναι, στη βιβλιογραφία είναι γνωστό ως
Call-by-copy-restore, call-by-value-result ή call-by-value-return

Παράθεση από: sstergou στις 06 Απρ 2009, 05:53:38 ΜΜ
Κάτι άσχετο : Το πέρασμα παραμέτρων στις διαδικασίες σύμφωνα με το βιβλίο δεν είναι με αναφορά. Ο μηχανισμός αναφέρεται στο σημείο όπου εξηγούνται οι διαδικασίες και αυτό που συμβαίνει είναι αντιγραφή τιμών δύο φορές.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

xpanta

Παράθεση από: evry στις 06 Απρ 2009, 05:14:32 ΜΜ
Θα διαφωνήσω. η έννοια της αποδοτικότητας σε εντελώς διαισθητικό επίπεδο μπορεί να γίνει κατανοητή από τον μαθητή-φοιτητή από τον πρώτο κιόλας χρόνο. Στα περισσότερα πανεπιστήμια αυτό συμβαίνει.

Ναι, σε εντελώς διαισθητικό επίπεδο μπορεί να γίνει αντιληπτή και όχι κατανοητή όμως. Συμφωνώ οτι έχει τεράστια σημασία άλλα διαφωνώ πως θα πρέπει να είναι μέρος της καθημερινότητας ενός τελειόφοιτου. Δεν αναφέρομαι σε ακραίες περιπτώσεις (όπως στο παραπάνω παράδειγμα με τις 10000000 εγγραφές).

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

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

Michael

Όταν πέρυσι που έδινα είδα το τρίτο θέμα (με τα 30 αυτοκίνητα), καθαρά από περιέργεια, αποφάσισα να το λύσω με πίνακες ακριβώς για να δω αν και πόσες μονάδες θα κοπούν.
Αποτέλεσμα: Ο ένας διορθωτής 98 και ο άλλος 96. Είχα χάσει σίγουρα 2/100 από το πρώτο Σ-Λ, όμως κατά τα άλλα το γραπτό μου ήταν άψογο απ όσο μπορώ να κρίνω (η θεωρία copy paste από το βιβλίο, ευανάγνωστος κώδικας με αναλυτικές εξηγήσεις, σχόλια, κτλ). Κατέληξα λοιπόν στο συμπέρασμα πως για τη διαφορά στη βαθμολογία το πιθανότερο είναι να ευθύνεται η χρήση πινάκων στο θέμα 3. Ο πρώτος διορθωτής δεν έκοψε τίποτα ενώ ο άλλος την τιμώρησε με 2/100 (φυσικά δεν είμαι σίγουρος 100% αν κόπηκαν για αυτόν το λόγο, κάτι τέτοιο θα συνέβαινε μόνο αν είχα τη δυνατότητα να δω το γραπτό μου). Αλλά κρίνοντας από την προσωπική μου εμπειρία, θα έλεγα ότι αν δεν γίνεται λόγος για πίνακες στην εκφώνηση καλό θα είναι να μη χρησιμοποιούνται καθόλου, εκτός φυσικά κι αν συντρέχουν άλλοι λόγοι (πίεση χρόνου, αδυναμία εξεύρεσης άλλης λύσης), οπότε αναγκαστικά το ρισκάρεις.
Πάντως το ευχάριστο είναι πως από φέτος οι υποψήφιοι θα μπορούν να βλέπουν τα διορθωμένα γραπτά τους (επιτέλους) οπότε νομίζω πως από τη νέα χρονιά τέτοια λεπτά σημεία της βαθμολόγησης (που λίγο πολύ υπάρχουν σε όλα τα μαθήματα) θα έχουν διευκρινιστεί σε κάποιο βαθμό.

evry


  Θα μπορούν να βλέπουν όλοι οι υποψήφιοι τα γραπτά τους ή μόνο αυτοί που τα γραπτά τους έχουν πάει σε 3ο βαθμολογητή?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

ntzios kostas

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


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

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

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

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

ΠαράθεσηΌταν πέρυσι που έδινα είδα το τρίτο θέμα (με τα 30 αυτοκίνητα), καθαρά από περιέργεια, αποφάσισα να το λύσω με πίνακες ακριβώς για να δω αν και πόσες μονάδες θα κοπούν.Αποτέλεσμα: Ο ένας διορθωτής 98 και ο άλλος 96. Είχα χάσει σίγουρα 2/100 από το πρώτο Σ-Λ, όμως κατά τα άλλα το γραπτό μου ήταν άψογο απ όσο μπορώ να κρίνω (η θεωρία copy paste από το βιβλίο, ευανάγνωστος κώδικας με αναλυτικές εξηγήσεις, σχόλια, κτλ). Κατέληξα λοιπόν στο συμπέρασμα πως για τη διαφορά στη βαθμολογία το πιθανότερο είναι να ευθύνεται η χρήση πινάκων στο θέμα 3. Ο πρώτος διορθωτής δεν έκοψε τίποτα ενώ ο άλλος την τιμώρησε με 2/100 (φυσικά δεν είμαι σίγουρος 100%

Η τιμωρία δεν νομίζω να επήρθε από την χρήση των πινάκων. Σε πολλούς μαθητές που έδωσα να λύσουν το 3ο θέμα που αναφέρεις,ι πολλοί εξ' αυτών χρησιμοποίησαν πίνακα και έκαναν κάποια λάθη στο πέρασμα των παραμέτρων. Μήπως το ίδιο λάθος έκανες και εσύ Μιχάλη;


Michael

Παράθεση από: ntzios kostas στις 25 Απρ 2009, 12:00:42 ΠΜ
Νομίζω ότι φέτος θα μπορούν να βλέπουν οι μαθητές τα γραπτά τους, αλλά απαγορεύεται ο βαθμολογητής να σημειώνει κάτι πάνω τους, οπότε φίλε Μιχάλη δεν θα έβγαζες πάλι άκρη.

Μπορεί ναι, μπορεί και όχι. Από τη μία, αν έβλεπες με ψύχραιμο μάτι το γραπτό σου θα μπορούσες να δεις λάθη που δεν τα νόμιζες για λάθη τη στιγμή που τα έγραφες και δεν θα σου έφταιγε πλέον ο "παράξενος" διορθωτής. Αν απο την άλλη δεν συνέβαινε αυτό, θα έψαχνες να βρεις άλλα "ύποπτα" σημεία του γραπτού, δηλαδή σημεία που μπορεί κάποιοι να τα θεωρούν σωστά (ενώ δεν είναι), και άλλοι μπορεί να μην τα θεωρούν σωστά (ενώ είναι).
Θέλω να πω δηλαδή πως ένα έμπειρο μάτι μπορεί να διακρίνει τέτοιες λεπτομέρειες σε ένα διορθωμένο γραπτό, ακόμη κι αν δεν υπάρχουν πάνω του σημάδια του βαθμολογητή. Ξέρει το βαθμό του κι αυτό είναι το μεγαλύτερο hint. Έστω πχ ένας μαθητής με 99/100 στα Μαθηματικά Γενικής και απορεί για το χαμένο 1/100. Σε ένα κατά τα άλλα άψογο γραπτό, ο καθηγητής του μπορεί να δει ότι χρησιμοποίησε τον τύπο της εφαπτόμενης ευθείας, ή ακόμη και τον κανόνα De L Hospital, πράγματα που "τυπικά" εντάσσονται στην ύλη των Μαθηματικών Κατεύθυνσης. Σε αυτήν την περίπτωση, προφανώς και ο μαθητής δεν μπορεί να κάνει κάτι, μπορεί όμως ο καθηγητής να στείλει τους μελλοντικούς μαθητές του καλύτερα πληροφορημένους.

Παρεμπιπτόντως, δεν έκανα λάθος στο πέρασμα των παραμέτρων. Αν συνέβαινε κάτι τέτοιο θα ήμουν ο πρώτος που θα με μηδένιζα. Εξάλλου, περισσότερο με το 96 συμφωνώ, παρά με το 98.

evry


  Υπάρχουν 2 πιθανότητες: να είδε ο διορθωτής κάποιο λάθος στο πέρασμα παραμέτρων ή να μην είδε. Στην πρώτη περίπτωση πίστεψέ με θα σου έκοβε παραπάνω από 2 μονάδες. Στη 2η δεν θα σου έκοβε τίποτα. Επίσης δεν κατάλαβα για ποιο λόγο θα έκοβε κάποιος από έναν μαθητή που χρησιμοποιεί πίνακες. Αν διάβαζε δύο πίνακες με 1000000 αυτοκίνητα να το καταλάβω, αλλά εδώ μιλάμε μόλις για 30, άρα δεν έχεις λόγο να κόψεις ακόμα και αν σκέφτεσαι έτσι. Από τη στιγμή που η επιτροπή έδωσε συγκεκριμένο αριθμό επαναλήψεων μπορείς να χρησιμοποιήσεις πίνακες.
   Επειδή η άσκηση δεν λέει ρητά ότι έχουμε πίνακες, δε σημαίνει ότι δε μπορούμε να χρησιμοποιήσουμε. Μπορεί κάτι να σου ξέφυγε και να μην το θυμάσαι.

Παράθεση από: ntzios kostas στις 25 Απρ 2009, 12:00:42 ΠΜ
Νομίζω ότι φέτος θα μπορούν να βλέπουν οι μαθητές τα γραπτά τους, αλλά απαγορεύεται ο βαθμολογητής να σημειώνει κάτι πάνω τους, οπότε φίλε Μιχάλη δεν θα έβγαζες πάλι άκρη.
Κατάλαβα, πάνε τα πράσινα που ήταν η χαρά του βαθμολογητή (ελπίζω τουλάχιστον τώρα τα αυτοκόλλητα να κολλάνε καλά ;) )
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr