Πρόγραμμα αντι Αλγορίθμου

Ξεκίνησε από hermione, 06 Δεκ 2005, 01:20:05 ΜΜ

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

hermione

Έστω ότι κάποιο θέμα στις Πανελλαδικές ζητά αλγόριθμο και το πιτσιρίκι γράψει πρόγραμμα. Λέτε να υπάρξει πρόβλημα στη βαθμολόγηση?  ???

manpap

Στον ορισμό της κωδικοποίησης αναφέρεται ότι ένας αλγόριθμος μπορεί να αποδοθεί σαν πρόγραμμα είτε σε ψευδογλώσσα είτε σε οποιαδήποτε γλώσσα προγραμματισμού. Η ΓΛΩΣΣΑ θεωρείται μία εκπαιδευτική γλώσσα προγραμματισμού.
Όταν γράφουμε αυτό που λέμε (Αλγόριθμο ... Τέλος) ουσιαστικά γράφουμε τον αλγόριθμο σε Ψευδογλώσσα, ενώ όταν γράφουμε ΠΡΟΓΡΑΜΜΑ ... ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ γράφουμε τον αλγόριθμο σε ΓΛΩΣΣΑ, άρα πιστέυω σε καμία περίπτωση δεν είναι λάθος.
Από εκεί και πέρα τα προβλήματα που δημιουργούνται είναι άλλα. Από την εμπειρία μου σαν βαθμολογητής μπορώ να πώ ότι γενικά δεν χάνονται βαθμοί αν αντί για αλγόριθμο γραφεί πρόγραμμα αρκεί να είναι 100% σωστός. Τι εννοώ:
1. Τι συμβαίνει αν έχουν δηλωθεί λάθος ή ελλιπώς οι μεταβλητές, ή σταθερές;
    (Προσωπικά το τμήμα δηλώσεων δεν το βαθμολόγησα ποτέ αρνητικά. Άλλοι όμως;)
2. Τι συμβαίνει αν ζητείται να υπολογιστεί κάτι χωρίς να ζητηθεί να εμφανιστεί; Αν γράφεις αλγόριθμο μπορείς να το αποδώσεις με Αποτελέσματα, στο πρόγραμμα πρέπει(?) να υπάρχει ΓΡΑΨΕ ώστε να πληρείται το κριτήριο της Εξόδου;
3. Αν ζητάει και εμφάνιση στην οθόνη και εμφάνιση στόν εκυπωτή, τότε θα πρέπει να γίνει πρόγραμμα να υπάρχει σχετικό σχόλιο για το που κατευθύνει το ΓΡΑΨΕ.
4. Τι συμβαίνει αν λέει δίνεται (άρα Δεδομένα) και όχι διαβάζεται;
    (προσωπικά τα θεωρώ ισοδύναμα και δεν βαθμολογώ αρνητικά (βλέπε άσκηση με διόδια και περυσινό 3ο με πίνακες). Στο περυσινό δεν έλεγε να διαβάζονται οι πίνακες. Αν όμως έκανες πρόγραμμα το σωστό είναι να τους διαβάσεις, κάτι που μεταφράζεται σε 2 για παραπάνω από αν έκανες αλγόριθμο.
5. Επίσης υπάρχουν ακόμα κάποια ασαφή σημεία σε ορισμένες εντολές (π.χ. με_βημα ή με βήμα χωρίς κάτω παύλα, το Αν σε μία γραμμή χωρίς τέλος αν, ενώ στο πρόγραμμα υποχρεωτικά τελος_αν για κάθε αν, το επίλεξε που ορίζεται με διαφορετικό τρόπο στο 2ο - επιτρέπει συνθήκες και στο 8ο κεφάλαιο - δεν επιτρέπει, και αρκετά άλλα)
Σε όλα τα παραπάνω πιστεύω υπάρχει κατανόηση και κατά κανόνα δε χάνονται μονάδες. Ίσως όμως να έπρεπε ... ή μάλλον ένας τυπικός βαθμολογητής μπορεί να έκοβε.
Πάντως προσωπικά ενθαρύνω τους μαθητές μου να γράφουν αυστηρά σε ΓΛΩΣΣΑ.
Περιμένω με ενδιαφέρον και άλλες απόψεις, ειδικά από συναδέλφους βαθμολογητές
Συντηρώ το μυαλό μου ακοίμητο, λαγαρό, ανήλεο. Το αμολώ να παλεύει ακατάλυτα. Άλλο αργαστήρι να κάνω το σκοτάδι φως δεν έχω.
Ν. Καζαντζάκης

che

Καλησπέρα,

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

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

Με εκτίμηση,

Άρης Βερνάρδος

Η άποψή μου είναι ότι όταν ζητείται αλγόριθμος μπορείς να γράψεις είτε ψευδογλώσσα, είτε ΓΛΩΣΣΑ. Όταν όμως ζητείται πρόγραμμα, τότε πρέπει να γράψεις ΓΛΩΣΣΑ. Κι αυτό, γιατί το πρόγραμμα είναι πληρέστερο από τον αντίστοιχο αλγόριθμο. Όμως, και πάλι υπάρχει πρόβλημα. Θα αναφερθώ στο Θέμα 3 των Ημερησίων Ενιαίων Λυκείων 2005. Αυτό το θέμα θα είχε πρόβλημα να γραφεί σε ΓΛΩΣΣΑ και ήταν μονόδρομος να γραφεί σε ψευδογλώσσα. Κι αυτό, γιατί οι πίνακες είναι στατικές δομές δεδομένων. Αν έγραφε κάποιος πρόγραμμα τι θα έλεγε;
Διάβασε Ν
Για i από 1 μέχρι Ν
       Διάβασε Α
Τέλος_επανάληψης
Μάλλον δε χρειάζεται να πω ότι κάτι τέτοιο δεν ευσταθεί. Έτσι, θα πρέπει αναγκαστικά οι πίνακες, καθώς και η τιμή του Ν, να θεωρηθούν δεδομένα και να μην ασχοληθεί ο μαθητής με την εισαγωγή τους, γιατί τότε υπάρχει πρόβλημα. Οι πιό παλιοί θα θυμούνται ότι το ίδιο πρόβλημα υπήρξε με το Θέμα 3 των Ημερησίων Ενιαίων Λυκείων 2001.
Α. Βερνάρδος
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Ε.Μ.Π.
Καθηγητής Πληροφορικής ΠΕ19

Laertis

Το πρόβλημα αυτό απασχολεί κάθε χρονιά, εδώ και 6 χρόνια, τους συναδέλφους αλλά κυρίως τους μαθητές. Το πρόγραμμα σπουδών και η εξεταστέα ύλη κάθε χρονιάς ορίζει ότι "οι μαθητές θα μπορούν να διατυπώνουν τις λύσεις των ασκήσεων είτε σε οποιαδήποτε μορφή παράστασης αλγορίθμου είτε σε ΓΛΩΣΣΑ όπως αυτή ορίζεται στο διδακτικό εγχειρίδιο" .
Όπως ανέφερε και ο φίλος Άρης προηγουμένως, υπήρξαν κατά καιρούς θέματα που "παραβαίνουν" κατα κάποιο τρόπο αυτή την οδηγία και απασχόλησαν ιδιάιτερα όλους τους βαθμολογητές.  Π.χ.

1) Θέμα 3ο Ημερησίων Λυκείων 2001
Ζητούνταν ξεκάθαρα πρόγραμμα σε ΓΛΩΣΣΑ αλλά οι οδηγίες απο την επιτροπή εξετάσεων προς τους βαθμολογητές "δεχτηκαν" ως σωστή και τη χρήση ψευδογλώσσας αφαιρώντας το ερώτημα 3α όπου ζητούνταν το τμήμα δηλώσεων. Εγώ έτυχα τότε σε αρκετά γραπτά που έλυσαν σε ψευδογλώσσα την άσκηση και ανέφεραν περιφραστικά εκτός αλγορίθμου τον τύπο κάθε μεταβλητής οπότε θεώρησα ως σωστή και πλήρη την απάντηση.

2) Το περυσινό Θέμα 3 στα Ημερήσια Λύκεια, όπως σωστά προανέφερε  και ο φίλος Άρης, κατεύθυνε με την εκφώνηση τους μαθητές να κάνουν χρήση ψευδογλώσσας

3) Οι ασκήσεις που περιλαμβάνουν υποπρογράμματα (-το βλέπω πιθανό να μπαίνει φέτος ως Θέμα 3ο ή 4ο-) πρέπει υποχρεωτικά να λυθούν σε ΓΛΩΣΣΑ.

4) Αν κάποιος μαθητής ( πιστέψε με έτυχα αρκετούς στις βαθμολογήσεις 5 χρόνων) δώσει λύση μιας άσκησης σε Basic ή Pascal ή C τότε τι γίνεται ; Ρητορικό το ερώτημα ... Εγώ πάντως τις θεωρούσα αποδεκτές λύσεις.

Εγώ, αντιθέτως απο το συνάδελφο manpap, λέω στα παιδιά να δίνουν μεγαλύτερη σημασία στην ψευδογλώσσα για να είναι ευκολότερη η εκμάθηση της ΓΛΩΣΣΑΣ στη συνέχεια , αλλά επισημαίνω τις περιπτώσεις που μπορεί να συναντήσουν στην εκφώνηση μιας άσκησης και τις αποδεκτές λύσεις που μπορούν να δώσουν. Ιδιαίτερα στο 10ο Κεφάλαιο και στις ασκήσεις με υποπρογράμμα .

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

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

Άρης Βερνάρδος

Φίλε Γιώργο,
συμφωνώ μαζί σου σε όλα. Στο 1) που αναφέρεις, σου έχει ξεφύγει. Αναφέρεσαι στο Θέμα 4 και όχι στο 3. Στο τέλος που μιλάς για λύσεις σε γλώσσες άλλες, κάποτε γινόντουσαν δεκτές οι λύσεις σε Basic και σε Pascal (ποτέ σε C). Τώρα, κάτι τέτοιο δεν ισχύει. Φυσικά, τώρα το θέμα θα μπορούσε να πάει αλλού και να μιλάμε μέχρι αύριο: Αν κάποιος ξέρει να λύσει τα θέματα σε C, και τα λύσει σωστά, μήπως θα έπρεπε να πάρει "20 με τόνο";
Α. Βερνάρδος
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Ε.Μ.Π.
Καθηγητής Πληροφορικής ΠΕ19

gkark

Να ρωτήσω κάτι που αναφέρθηκε και παραπάνω
1) αν σε μια εκφώνηση που  ζητήτε λύση σε αλγόριθμο, υπάρχουν μεταβλητές που πρέπει να δηλωθουν σαν δεδομένα τότε αν κάποιος αντί για αλγόριθμο γράψει πρόγραμμα ,τις μεταβλητές αυτές πρέπει να τις διαβάσει ή όχι;(κατα την γνώμη μου πρέπει να διαβαστούν).Ειναι σωστό αυτό και αποδεχτό;
2) Το ίδιο για τους πίνακες. Οταν δίνεται ο πίνακας πχ Α τότε στον αλγόριθμο δηλώνεται στα δεδομένα. Στο πρόγραμμα τι γίνεται διαβάζεται ή όχι;
3)Οι μεταβλητές που ζητήτε να υπολογίζονται και όχι να  εμφανίζονται πρέπει στον αλγόριθμο να δηλώνται  στα αποτελέσματα αλλα στο πρόγραμμα πρέπει να εφαμνίζονται με το ΓΡΑΨΕ;

Laertis

Φίλε Άρη ευχαριστώ για τη διόρθωση ...
 Είχα πολύ καιρό να γράψω στο στέκι και παρασύρθηκα απο τον οίστρο  ;D

Όσο γιἀυτά που ρωτάς gkark :
1) αν έχω καταλάβει σωστά την ερώτησή σου, της οποίας η διατύπωση δεν είναι και καλύτερη, στον αλγόριθμο μπορείς να κάνεις χρήση της δηλωτικής εντολής Δεδομένα // ... // ενώ στο πρόγραμμα υποχρεωτικά διαβάζεις τις μεταβλητές.

2) Το ίδιο ισχύει και για τους πίνακες. Απλά, σε παραπάνω Post ο φίλος Άρης (comp-edu) ανέφερε τη διαφορά που προκύπτει σε κάποιες ασκήσεις και την αδυναμία χρήσης προγράμματος σε ΓΛΩΣΣΑ

3)  Η δηλωτική εντολή Αποτελέσματα//... // είναι η αντίστοιχη εντολή εξόδου όταν ως εντολή εισόδου χρησιμοποιείς την Δεδομένα // ... //. Στον προγραμματισμό δεν υπάρχει τέτοιο πράγμα, οπότε διαβάζεις και γράφεις.

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

P.Tsiotakis


1. Ο αλγόριθμος μπορεί να παρουσιαστεί σε ψευδογλώσσα η πρόγραμμα. Το δίλλημα δεν είναι αλγόριθμος ή πρόγραμμα, αλλά ψευδογλώσσα ή πρόγραμμα.

2. Κάθε αλγόριθμος (ψευδογλώσσα ή πρόγραμμα) πρέπει να ικανοποιεί τα 5 κριτήρια.
Είναι δυνατόν να γραφεί αλγόριθμος που δεν θα έχει είσοδο ή έξοδο μεταβλητών;