Συζήτηση για το 1ο θέμα

Ξεκίνησε από pgrontas, 31 Μαΐου 2007, 01:48:43 ΜΜ

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

gouvasg

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

Βήμα 1 : εισάγουμε πέντε αριθμούς απο το πρόγραμμα στη συνάρτηση
Βήμα 2 : ταξινομούμε τους αριθμούς χωρίς απαραίτητα να τους αλλάζουμε θέση βάζοντας σε 5 μεταβλητές θέση1, θέση2, θέση3, θέση4, θέση5 τη σειρά την οποία είχε ο κάθε αριθμος κατα την  εισαγωγή του στη συνάρτηση
Βήμα 3 : περνάμε μέσω της συνάρτησης στο πρόγραμμα τον πενταψήφιο αριθμό θέση1*10^4+θέση2*10^3+θέση3*10^2+θέση4*10+θέση5

Συνάδελφοι, δεν μπορώ να καταλάβω τι γίνεται φέτος...
Γεώργιος Γκούβας
Μηχ. Η/Υ-Σ
www.gouvas.eu

axi

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

gouvasg

η λύση αυτή είναι με βάση το διδακτικό πακέτο και αποκλειστικά αυτό!
Γεώργιος Γκούβας
Μηχ. Η/Υ-Σ
www.gouvas.eu

axi

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

arisbasil

Ένας μαθητής μου στο Θέμα με το GOTO και το διάγραμμα ροής έβαλε και την εντολή Διάβασε (πριν έρθει η διευκρίνηση) γιατί θεώρησε ότι παραβιάζεται η είσοδος, και δεν το άλλαξε μετά τη διευκρίνηση. Στο διάγραμμα ροής έβαλε και το Αρχή και Τέλος.
Υπάρχει περίπτωση να του κόψουν μονάδες; :-\

phaedo

arisbasil, σήμερα (χθες) στο βαθμολογικό κέντρο που ανήκω, αποφασίσαμε να μην κόψουμε κανένα μόριο και για τις 2 περιπτώσεις που αναφέρεις στο εν λόγω θέμα.

evry


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

gpapargi

Γιώργο (Γκούβα) είναι ενδιαφέρουσα η σκέψη σου αλλά σηκώνει κουβέντα.

Το είδα λίγο βιαστικά (γιατί δεν είναι εκεί το κυρίως θέμα) και μου φαίνεται πως έτσι όπως το έχεις προτείνει λειτουργεί για μονοψήφιους αριθμούς μόνο. Για διψήφιους θέλει να χρησιμοποιήσεις δυνάμεις του 100, ενώ για τυχαίο πλήθος θα πρέπει να φτιαχτεί κανονικό πρωτόκολο επικοινωνίας μεταξύ συνάρτησης και κυρίως προγράμματος. Είμαι βέβαιος ότι γίνεται αυτό αφου ουσιαστικά οι τηλεπικοινωνίες και τα δικτυα χρησιμοποιούν τέτοιες τεχνικές. Στην πραγματικότητα μεταδίδονται ακολουθίες από 0 και 1 που θα μπορούσαν να θεωρηθούν ένας αριθμός και απλά τα άκρα ξέρουν να κάνουν το σπάσιμο και την αντιστοίχιση σε πεδία ή ψηφία ή ότι άλλο χρειαστεί.

Υπάρχει όμως ένα πρόβλημα.

Χρειάζεσαι έξτρα εντολές από το κυρίως πρόγραμμα για την ανάλυση του αριθμού που επιστρέφει η συνάρτηση. Έτσι δεν θεωρείται ότι η συνάρτηση κάνει τη δουλειά. Απλά έχεις βρει έναν έξυπνο τρόπο να παιρνάς πληροφορία ταξινόμησης μέσα από έναν μόνο αριθμό. Κατά κάποιο τρόπο «διαμορφώνεις» μια φέρουσα της οποίας το ρόλο παίζουν οι δυνάμεις του 10. Έτσι παιρνάς πληροφορία.

Για να δεχτούμε όμως ότι η συνάρτηση κάνει ταξινόμηση θα πρέπει η συνάρτηση να κάνει όλη τη δουλειά. Το μόνο που θα πρέπει να μένει για το κύριο πρόγραμμα είναι η εκτύπωση των αποτελεσμάτων. Η «τηλεπικοινωνιακή» προσέγγιση για το πέρασμα κωδικοποιημένης πληροφορίας από τη συνάρτηση προς το κύριο πρόγραμμα απαιτεί έξτρα εντολές που θα χειριστούν και θα αποκωδικοποιήσουν την πληροφορία. Έτσι δεν είναι το ίδιο.

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

Όπως είπα και παραπάνω το συγκεκριμένο θέμα το είχαμε βάλει στο διαγώνισμα 14 των υποπρογραμμάτων. Επειδή κουβαλάω και εγώ ανάλογη τρέλλα με εσένα  ;) έψαξα να βρω αν υπάρχει τρύπα στο συγκεκριμένο θέμα. Είχα σκεφτεί μια άλλη προσέγγιση: Να φτιάξω συνάρτηση και να τις περνάω σαν παράμετρο πίνακα και ένα αριθμό. Η συνάρτηση θα έκανε ταξινόμηση και θα επέστρεφε το στιχειο του πίνακα που δήλωνε ο αριθμός. Το κυρίως πρόγραμμα λοιπόν θα καλούσε επαναληπτικά τη συνάρτηση και κάθε φορά θα πέρναγε σαν παράμετρο διαδοχικά τους αριθμούς 1, 2,3 κλπ. Έτσι στην πρώτη κλήση θα γύριζε το μεγαλύτερο στοιχείο στη δεύτερη το δεύτερο μεγαλύτερο κλπ. Όμως και αυτή η προσέγγιση χτειάζεται έξτρα κατάλληλο χειρισμό από κυρίως πρόγραμμα (πέρα από την έξτρα ταξινόμηση για κάθε στοιχείο). Ήθελε εντολές που θα κάνουν τις κλήσεις. Η κλήση δεν ήταν μία.  Οπότε το θέμα παρέμεινε ασφαλές. 

Η προηγούμενη παράγραφος δεν συζητήθηκε με την ομάδα εργασίας γιατί το διαγώνισμα είχε αργήσει πάρα πολύ (κυρίως εξαιτίας εμένα και του ακατάσχετου σχολιασμού μου) και ευτυχώς που ήταν ο φίλος μου o Γιώργος ο Νικολακάκης συντονιστής και τήρησε κάποιες ημερομηνίες. Αλλιώς θα το ετοιμάζαμε ακόμα  :) . Μια που το έθιξες όμως θεώρησα χρήσιμο να αναφέρω και εγώ τον έλεγχο που υποβλήθηκε το θέμα.

Ωστόσο είναι πολύ ενδιαφέρουσα η ιδέα σου. Σε χρειαζόμαστε του χρόνου για γερούς σχολιασμούς των θεμάτων που ετοιμάζουμε. Το να βρεις θέματα είναι εύκολο. Το να μην έχουν τρύπες είναι πολύ δύσκολο. Οι γεροί σχολιασμοί για να κλείσουν οι τρύπες σπανίζουν. Να σε υπολογίζουμε;

gpapargi

Να προσθέσω κάτι ακόμα.
Οι ασκήσεις που ρωτάνε αν γίνεται ή όχι κάτι και περιμένουν σαν απάντηση το «Όχι, δεν γίνεται με τίποτα» είναι πολύ επικίνδυνες. Μπορεί να νομίζουμε ότι δεν γίνεται κάτι και να βρεθεί κάποιος που να το κάνει και μετά να μας το τρίψει στη μούρη και να μην ξέρουμε τι να κάνουμε. Ολόκληρος ο κλάδος των ψυχαγωγικών μαθηματικών στηρίζεται ακριβώς πάνω σε αυτό. Επειδή εμένα είναι το χόμπυ μου κάθε φορά που ακούω ότι δεν γίνεται κάτι προσπαθώ να το κάνω. Impossible is nothing. Θέλεις απόδειξη για να είσαι πραγματικά σίγουρος ότι δε γίνεται κάτι.

Πχ λέμε εύκολα ότι η «Όσο» δεν μετατρέπεται σε «Για» σε κάθε περίπτωση. Λέμε επίσης ότι δε μετράει το να τερματίσουμε το βρόχο πρόωρα με αλλαγή του μετρητή γιατί αυτό απαγορεύεται. Με χρήση της goto όμως; Το μαύρο πρόβατο και από μαύρη τρύπα σε βγάζει. Το πρόβλημά του είναι ότι νομίζεις πάντα ότι ξέρεις και που σε στέλνει.

amanou

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

Αντώνης Μανουσάκης
Αντώνης Μανουσάκης

Ηλεκτρονικός και Μηχανικός Η/Υ

Sergio

Παράθεση από: amanou στις 02 Ιουν 2007, 12:14:18 ΜΜ
Καλημέρα και από εμένα , επειδή με προβληματίζει πολύ στο Β2 το α ερώτημα με την εισαγωγή ενός δεδομένου αν γίνεται ή όχι από συνάρτηση , μας είχε απασχολήσει και στο παρελθόν σε ένα διαγώνισμα στο κεφάλαιο 10 , όταν το είχαμε θέσει σε συζήτηση με τον Παπαργύρη και τελικά αποφασίσαμε να το βγάλουμε εκτός επειδή ήταν σκοτεινό σημείο. Θα ήθελα κάποιο συνάδελφο που είναι σε βαθμολογικό κέντρο να μας πει ποια είναι η ενδεδειγμένη απάντηση της επιτροπής για το ερώτημα αυτό. Ευχαριστώ προκαταβολικά.

Αντώνης Μανουσάκης

Σωστές απαντήσεις: β, δ, στ

Η "σύγχιση" οφείλεται στο λάθος του βιβλίου καθηγητή και όχι στο βιβλίο που έχει ο μαθητής.

Στο βιβλίο μαθητή, εκτός της περιγραφής για τη λειτουργία συναρτήσεων - διαδικασιών στη σελ. 210, υπάρχει και η αναφορά "...αφού το υποπρόγραμμα πρέπει να διαβάζει δεδομένα, υλοποιείται με διαδικασία...", στη σελ.211 για το υποπρόγραμμα Είσοδος_Δεδομένων που κάνει εισαγωγή ενός δεδομένου.

Τα βαθμολογικά κέντρα μπορούν να ζητήσουν οδηγία από το υπουργείο. Θα τους δοθεί.
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

gouvasg

Καλησπέρα,

Γιώργο φυσικά και να με υπολογίζετε.
Οσον αφορά το συγκεκριμένο, με τον ίδιο χειρισμό ακριβώς γίνεται και με πολυψήφιους αριθμούς (γιατί αποθηκεύουμε τη θέση μόνο). Για τυχαίο πλήθος δεν μας απασχολεί πρακτικά γιατί δεν ζητούσε αυτό το θέμα.
όσον αφορά τα υπόλοιπα είναι δεκτά και τεκμηριωμένα, θα σταθώ όμως σε δυο σημεία:
1ον ποτέ δεν ζητήσανε βέλτιστο και είναι έξω απο την ύλη του μαθήματος (εμένα προσωπικά με απασχόλησε σοβαρά πρώτη φορά όταν δούλευα στον ιδιωτικό τομέα)
2ο Η συνάρτηση "περνάει" μία τιμή στο κυρίως πρόγραμμα. Το πως θα χειριστούμε την τιμή στο πρόγραμμα είναι θέμα δικό μας.Σημασία έχει οτι μπορούμε τη διαδικασία της ταξινόμησης να την υλοποιήσουμε με συνάρτηση και να επιστρέψουμε κωδικοποιημένη την πληροφορία (εδώ θα ήθελα να αναφέρω κάτι που έχει ξαναγραφεί πιο πριν νομίζω, ότι στη c το κυρίως πρόγραμμα είναι η συνάρτηση main). επίσης και στη "φυσιολογική" μορφή που αναφέρεις για να κάνουμε εκτύπωση αποτελεσμάτων, η πληροφορία έρχεται κωδικοποιημένη, αποκωδικοποιείται όμως απο την εκάστοτε γλώσσα (και απο την σημασία που δίνουμε εμείς στην μεταβλητή που τη δεχόμαστε) χωρίς εμείς εμφανώς να το βλέπουμε, και εμείς την χρησιμοποιουμε αναλόγως (δεν μιλούσε η εκφώνηση για εκτύπωση). Πιθανό λοιπόν σε ενδεχόμενο πρόβλημα να μην χρειαζόταν ουτε αποκωδικοποίηση το επιστρεφόμενο αποτέλεσμα!

Μεχρι προχθές υπήρχε ένα δεδομένο στην εξέταση του μαθήματος μας: οποιαδήποτε επιστημονικά τεκμηριωμένη απάντηση ήταν σωστή. Πρόσεχαν - παρά την ασυμβατότητα του βιβλίου - τα θέματα να μην έρχονται σε αντίθεση με την επιστήμη των υπολογιστών. Κατα τη γνώμη μου αυτό το δεδομένο είναι παρελθόν. Το επόμενο θέμα που μένει να δούμε είναι τον ορισμό της επεξεργασίας (επεξεργασία είναι όταν ένας μηχανισμός επεξεργάζεται!!!)

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

Παράθεση από: Sergio στις 02 Ιουν 2007, 12:28:04 ΜΜ
Τα βαθμολογικά κέντρα μπορούν να ζητήσουν οδηγία από το υπουργείο. Θα τους δοθεί.

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

Γεώργιος Γκούβας
Μηχ. Η/Υ-Σ
www.gouvas.eu

Sergio

Οδηγίες εχθές δε δίνονταν.  Γινόταν συλλογή των ερωτήσεων.

Σήμερα, ο συντονιστής του ΒΚ μου πήρε σαφή απάντηση σε ό, τι ζήτησε.

Δε χάνεις κάτι να δοκιμάσεις και σήμερα.
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

gpapargi

Σέργιο καλησπέρα και καλή δύναμη στο δύσκολο έργο της βαθμολόγησης.

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

Η ένστασή μου εμένα δεν προκύπτει από το βιβλίο του καθηγητή αλλά από τη λογική σκέψη. Ξέρουμε ότι με βάση το βιβλίο επιτρέπεται μια συνάρτηση να καλεί διαδικασία (σελ 215). Μπορώ λοιπόν σε μια συνάρτηση να βάλω μια διαδικασία που θα κάνει είσοδο με εντολή Διάβασε και θα τη γυρίζει στη συνάρτηση. Η συνάρτηση με τη σειρά της θα τη γυρίζει στο κύριο πρόγραμμα ως τιμή επιστροφής. Αυτό είναι νόμιμο από κάθε άποψη. Σε τι διαφέρει λοιπόν από επιστημονική άποψη  αν μια συνάρτηση έχει μέσα απευθείας τη «Διάβασε» αντί της διαδικασίας που έχει τη «Διάβασε»; Πως μπορούμε να θεωρήσουμε συντακτικό λάθος το πρώτο και όχι το δεύτερο;

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

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

Η φράση που αναφέρεις από το σχολικό βιβλίο (σελ 211) κάλλιστα μπορεί να εννοεί ότι η είσοδος από διαδικασία είναι το ενδεδειγμένο και όχι ότι δε γίνεται θεωρητικά και αλλιώς. Και εγώ όταν στην τάξη κάνω είσοδο με υποπρόγραμμα λέω την ίδια φράση « αφού θέλουμε είσοδο γίνεται με διαδικασία» και εννοώ ότι αυτό είναι το ενδεδειγμένο. Δεν έχω πειστεί από κάποιο πραγματικό επιχείρημα ότι δε γίνεται με συνάρτηση.   

Αυτές είναι οι σκέψεις μου. 

gpapargi

Γιώργο όταν έγραψα «τυχαίο πλήθος» εννοούσα τυχαίο πλήθος ψηφίων σε κάθε αριθμό όχι τυχαίο πλήθος αριθμών για ταξινόμηση. Τέλος πάντων όλα αυτά γίνονται εύκολα ή δύσκολα.
Για το 1 συμφωνώ. Αν υπάρχει τρόπος να γίνει ταξινόμηση μέσα από συνάρτηση τότε υπάρχει τρύπα ανεξάρτητα από το αν θα γίνει γρήγορα ή αργά.
Για το 2 συμφωνώ ότι η πληροφορία έρχεται κωδικοποιημένη. Τα πάντα είναι κωδικοιημένα τελικά σε 0 και 1 και όλο το πρόγραμμα είνα ένας διαδικός αριθμός. Αλλά όλα αυτά είναι σε χαμηλότερο επίπεδο. Στο επίπεδο του χρήστη της γλώσσας υψηλού επιπέδου η «ταξινόμηση» μέσω συνάρτησης έχει την έξτρα κωδικοποίηση μέσα στον μοναδικό αριθμό επιστροφής και αυτό απαιτεί έξτρα χειρισμό από το πρόγραμμα. Αυτό δεν είναι το ίδιο. Θέλω να πω ότι για να δεχτώ ότι η συνάρτηση κάνει τελικά την ταξινόμηση στο επίπεδο της ΓΛΩΣΣΑΣ θα πρέπει να μου γυρίσει παραπάνω από μια μεταβλητές και να μην έχω να κάνω τίποτα από το κυρίως πρόγραμμα. Στο επίπεδο που μιλάμε (δηλαδή αυτό στο οποίο βρίσκεται ο χρήστης της γλώσσας υψηλού επιπέδου) η διαδικασία δίνει ταξινόμηση χωρίς έξτρα κωδικοποιηση και το πρόγραμμα μπορεί απευθείας να χειριστεί τις τιμές (πχ να τις εκτυπώσει). Στην περίπτωση της συνάρτησης δεν είναι το ίδιο. Δηλαδή για παράδειγμα δεν μπορώ να πω σε κάποιον άλλο «πάρε μια συνάρτηση που έφτιαξα για ταξινόμηση και χρησιμοποίησέ την έτοιμη». Θα πρέπει να του πω για την αποκωδικοποίηση που πρέπει να κάνει  στην επιστρεφόμενη τιμή. Δηλαδή θέλω να πω ότι δεν την κάνει τελικά μόνη της όλη την ταξινόμηση η συνάρτηση όπως η διαδικασία.