ΣΩΣΤΟ - ΛΑΘΟΣ στα υποπρογράμματα

Ξεκίνησε από kpapad13, 12 Μαΐου 2015, 04:31:33 ΜΜ

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

petrosp13

Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Αθανάσιος Πέρδος

Παράθεση από: petrosp13 στις 14 Μαΐου 2015, 01:52:31 ΠΜ
https://alkisg.mysch.gr/steki/index.php?topic=912.msg8645#msg8645

Είναι κάτι επίσημο αυτό; Έχει σταλεί στα σχολεία; Υπάρχει στο υπουργείο αναρτημένο; Αν έχεις το έγγραφο σε παρακαλώ το ανεβάζεις;

kpapad13

Άνοιξα αυτό το θέμα όχι τόσο για να ξακαθαρίσει ο τρόπος λειτουργίας των υποπρογραμμάτων (αυτό είναι άλλη ιστορία) αλλά για την απάντηση που θα πρέπει να δοθεί σε ένα τέτοιο Σ-Λ. Υπάρχει ιστορικό με τέτοια θέματα "παίρνω μια πρόταση από το βιβλίο και τη βάζω σαν Σ-Λ". Άρα η απάντηση είναι "Σωστό για το λέει το βιβλίο";
Ας ελπίσουμε η επιλογή των θεμάτων να γίνει προσεκτικά και να μην έχουμε τέτοια προβλήματα...

gpapargi

Στις πανελλήνιες του 2007 είχε πέσει στο θέμα 1Β2
"Για ποιες από τις παρακάτω περιπτώσεις μπορεί να χρησιμοποιηθεί συνάρτηση:

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

Από ότι θυμάμαι είχε δοθεί ως οδηγία βαθμολόγησης ότι σωστά είναι τα β,δ,στ.

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


ολγα

#19
Παράθεση από: aperdos στις 13 Μαΐου 2015, 11:47:02 ΜΜ
"Κάθε διαδικασία ή συνάρτηση μπορεί να καλείται από το κύριο πρόγραμμα ή από άλλη διαδικασία ή συνάρτηση Σε κάθε περίπτωση μετά το τέλος της εκτέλεσης της διαδικασίας ή της συνάρτησης γίνεται επιστροφή ακριβώς μετά το σημείο απ' όπου κλήθηκε." Έκδοση 2014, σελ 179

"Η τεχνική αυτή εφαρμόζεται και γενικότερα, δηλαδή οποτεδήποτε μία διαδικασία ή συνάρτηση καλεί μία διαδικασία ή συνάρτηση." Έκδοση 2014 σελ 182

Εδώ δεν υπάρχει γκρίζα ζώνη. Τα ελληνικά είναι σαφέστατα.
Προφανώς τα ελληνικά δεν είναι σαφέστατα. Η προσθήκη μπήκε μάλλον, γιατί προφανώς επιτρέπεται συνάρτηση να καλεί συνάρτηση (πράγμα που έλειπε από την παλιότερη έκδοση), αλλά τελικά αυτό δεν αποδόθηκε με σαφήνεια.

Παράθεση από: aperdos στις 14 Μαΐου 2015, 01:17:44 ΠΜ

Το βιβλίο του καθηγητή που κατέβασα από τη διεύθυνση http://www.pi-schools.gr/content/index.php?lesson_id=1&ep=67&c_id=273 έχει ως απάντηση: Διαδικασία.
Όμως λίγο παρακάτω υπάρχει αρχείο word με διορθώσεις για το βιβλίο καθηγητή (το επισυνάπτω), που λέει να διορθωθεί η λέξη Διαδικασία με τη λέξη Συνάρτηση.


Η διόρθωση στο αρχείο word αφορά την ΔΤ2 Β και όχι την ΔΤ1 Β.

Εκεί αναφέρονται οι τελευταίες δύο διορθώσεις που αφορούν την ΔΤ2:

1. σελ. 203     η προτεινόμενη απάντηση ΔΤ2 Β) Διαδικασία, να γίνει        Β) Συνάρτηση

2. σελ.203-204     η προτεινόμενη απάντηση ΔΤ2 Β), να αντικατασταθεί με την εξής:   
ΔΙΑΔΙΚΑΣΙΑ Μικρότερο (Α, Β, Μικρ)
ΠΡΑΓΜΑΤΙΚΕΣ  Α, ΒΒ, Μικρ
ΑΡΧΗ
   ΑΝ Α < Β ΤΟΤΕ
      Μικρ <- Α
   ΑΛΛΙΩΣ
      Μικρ <- Β
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Μικρότερο

Μάλιστα το αξιοσημείωτο σε αυτές τις διορθώσεις είναι ότι στην πρώτη λέει να γίνει        Β) Συνάρτηση
στη δεύτερη σωστά διορθώνεται το < , αλλά αφήνεται ΔΙΑΔΙΚΑΣΙΑ Μικρότερο και δε γίνεται Συνάρτηση (όπως προτείνεται στην πρώτη).

Τελικά με βάση το πνεύμα του βιβλίου δε νομίζω ότι είναι αποδεκτό συνάρτηση να καλεί διαδικασία (λόγω Διάβασε, όπως είπαν και άλλοι πιο πριν) 

Αθανάσιος Πέρδος

#20
Παράθεση από: ολγα στις 14 Μαΐου 2015, 07:19:07 ΜΜ
Προφανώς τα ελληνικά δεν είναι σαφέστατα.

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

Παράθεση από: ολγα στις 14 Μαΐου 2015, 07:19:07 ΜΜ
Η προσθήκη μπήκε μάλλον, γιατί προφανώς επιτρέπεται συνάρτηση να καλεί συνάρτηση, αλλά τελικά αυτό δεν αποδόθηκε με σαφήνεια.
Καταθέτεις και εσύ την δική σου ερμηνεία. Σεβαστή αλλά θα μου επιτρέψεις να μείνω στις παραγράφους του σχολικού. 

Παράθεση από: ολγα στις 14 Μαΐου 2015, 07:19:07 ΜΜ
Η διόρθωση στο αρχείο word αφορά την ΔΤ2 Β και όχι την ΔΤ1 Β.

Όντως γράφει στο word ΔΤ2 το οποίο προφανώς είναι λάθος. Το σωστό είναι ΔΤ1. Και εξηγώ γιατί. Το βιβλίο καθηγητή (έντυπη μορφή 1999) γράφει Διαδικασία. Το βιβλίο καθηγητή (έντυπη μορφή 2004) γράφει Συνάρτηση. Το 2004 είναι το διορθωμένο.

Παράθεση από: ολγα στις 14 Μαΐου 2015, 07:19:07 ΜΜ
Εκεί αναφέρονται οι τελευταίες δύο διορθώσεις που αφορούν την ΔΤ2:
1. σελ. 203     η προτεινόμενη απάντηση ΔΤ2 Β) Διαδικασία, να γίνει        Β) Συνάρτηση
2. σελ.203-204     η προτεινόμενη απάντηση ΔΤ2 Β), να αντικατασταθεί με την εξής:   
ΔΙΑΔΙΚΑΣΙΑ Μικρότερο (Α, Β, Μικρ)
ΠΡΑΓΜΑΤΙΚΕΣ  Α, ΒΒ, Μικρ
ΑΡΧΗ
   ΑΝ Α < Β ΤΟΤΕ
      Μικρ <- Α
   ΑΛΛΙΩΣ
      Μικρ <- Β
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Μικρότερο

Μάλιστα το αξιοσημείωτο σε αυτές τις διορθώσεις είναι ότι στην πρώτη λέει να γίνει        Β) Συνάρτηση
στη δεύτερη σωστά διορθώνεται το < , αλλά αφήνεται ΔΙΑΔΙΚΑΣΙΑ Μικρότερο και δε γίνεται Συνάρτηση (όπως προτείνεται στην πρώτη).

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

Παράθεση από: ολγα στις 14 Μαΐου 2015, 07:19:07 ΜΜ
Τελικά με βάση το πνεύμα του βιβλίου δε νομίζω ότι είναι αποδεκτό συνάρτηση να καλεί διαδικασία (λόγω Διάβασε, όπως είπαν και άλλοι πιο πριν) 

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

Παράθεση από: gpapargi στις 14 Μαΐου 2015, 11:23:26 ΠΜ
Στις πανελλήνιες του 2007 είχε πέσει στο θέμα 1Β2
"Για ποιες από τις παρακάτω περιπτώσεις μπορεί να χρησιμοποιηθεί συνάρτηση:
α. εισαγωγή ενός δεδομένου
β. υπολογισμός του μικρότερου από πέντε ακεραίους
γ. υπολογισμός των δύο μικρότερων από πέντε ακεραίους
δ. έλεγχος αν δύο αριθμοί είναι ίσοι
ε. ταξινόμηση πέντε αριθμών
στ. έλεγχος αν ένας χαρακτήρας είναι φωνήεν ή σύμφωνο."

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

evry

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

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

Αθανάσιος Πέρδος

Παράθεση από: evry στις 14 Μαΐου 2015, 11:52:07 ΜΜ
Σίγουρα θα πρέπει να δεχτούμε όλοι ότι με βάση τον ορισμό της συνάρτησης κάθε συνάρτηση μπορεί να επιστρέφει μόνο μια τιμή.
Αυτό καταστρατηγείται αν η συνάρτηση έχει στο σώμα της Γράψε ή Διαδικασία που καλεί το Γράψε αφού και τα δυο αποτελούν κάποιου είδους έξοδο.
Δε λέω ότι δεν μπορεί συνάρτηση να καλέσει διαδικασία, αλλά είμαι σίγουρος με βάση το πνεύμα του βιβλίου ότι δεν είναι δυνατόν συνάρτηση να καλέσει διαδικασία που περιέχει Γράψε, αφού τότε θα παραβιάζεται ο ορισμός της συνάρτησης.

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

"Η εντολή ΓΡΑΨΕ έχει ως αποτέλεσμα την εμφάνιση τιμών στη μονάδα εξόδου. Συσκευή εξόδου μπορεί να είναι η οθόνη του υπολογιστή, ο εκτυπωτής, βοηθητική μνήμη ή γενικά οποιαδήποτε συσκευή εξόδου έχει οριστεί στο πρόγραμμα."

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

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

Όσο τώρα για το πνεύμα του σχολικού που συχνά αναφέρεται από πολλούς, θεωρώ ότι "πηγάζει" από τρεις προτάσεις του παραδείγματος 2 στη σελίδα 176 (Έκδοση 2014)
"Αφού το υποπρόγραμμα πρέπει να διαβάζει δεδομένα, υλοποιείται με διαδικασία. "
"Μπορεί λοιπόν να υλοποιηθεί με μία συνάρτηση, η οποία επιστρέφει έναν πραγματικό αριθμό."
"Εφόσον απαιτείται από αυτό η εκτέλεση της λειτουργίας της εκτύπωσης, πρέπει να υλοποιηθεί με διαδικασία."

Οι τρεις παραπάνω όμως προτάσεις δεν αποτελούν απαγόρευση για την κλήση υποπρογράμματος από συνάρτηση.

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

gpapargi

Το 2007 είχε γίνει μεγάλη κουβέντα, συμμετείχε πολύ κόσμος  και κυρίως είχαν αναφερθεί όλα τα σχετικά σημεία στο διδακτικό πακέτο. Δεν υπήρχε διόρθωση που να είναι υπέρ της συνάρτησης. Αυτή θα πρέπει να ήρθε αργότερα. Για να καταλάβει κανείς τη συζήτηση που είχε γίνει τότε παραθέτω 2 links. Καλό είναι να διαβαστούν από την αρχή μέχρι το τέλος.
https://alkisg.mysch.gr/steki/index.php?topic=997.0
https://alkisg.mysch.gr/steki/index.php?topic=959.0
Το δεύτερο έχει τη μεγάλη συζήτηση
Από ότι θυμάμαι η προσωπική μου άποψη ήταν ότι η χρήση Διάβασε μέσα από συνάρτηση ήταν κακή τεχνική με βάση το σκοπό της συνάρτησης και τη φιλοσοφία του βιβλίου αλλά όχι απαραίτητα συντακτικό λάθος. Τελικά μετά το θέμα αυτό καθιερώθηκε η απαγόρευση της Διάβασε Γράψε μέσα σε συνάρτηση αφού οι πανελλήνιες σφραγίζουν πλέον το συγκεκριμένο ζήτημα. Δεν μπορούμε τη μια χρονιά να θεωρούμε την ίδια ερώτηση Σ και την άλλη Λ.
Προσωπικά αποκλείω το να υπήρχε εκείνη την εποχή διόρθωση που να λέει για χρήση συνάρτησης. Όσο για την οδηγία βαθμολόγησης παραθέτω το παρακάτω link  του Σέργιου
https://alkisg.mysch.gr/steki/index.php?topic=959.msg5389#msg5389


gpapargi

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

ΟΜΩΣ

Η ΔΤ1 του τετραδίου μαθητή ρωτάει:
Τι είδους υποπρόγραμμα, διαδικασία ή συνάρτηση πρέπει να χρησιμοποιήσεις για
τα παρακάτω:
Α) Εισαγωγή τριών δεδομένων.
Β) Εισαγωγή ενός δεδομένου.
Γ) Υπολογισμός του μικρότερου από πέντε ακεραίους.
Δ) Υπολογισμός των δύο μικρότερων από πέντε ακεραίους.
Ε) Έλεγχος αν δύο αριθμοί είναι ίσοι.
Ζ) Να ταξινομεί, και να επιστρέφει ταξινομημένους, πέντε αριθμούς.
Η) Έλεγχος αν ένας χαρακτήρας είναι φωνήεν ή σύμφωνο."

Στο Β δίνεται η απάντηση Συνάρτηση.

Τότε όμως αφού σύμφωνα με το βιβλίο πρέπει να χρησιμοποιήσεις συνάρτηση για την είσοδο ενός δεδομένου, γιατί στη σελίδα 76 διαβάζει με διαδικασία; Και μάλιστα γράφει:
"Αφού το υποπρόγραμμα πρέπει να διαβάζει δεδομένα, υλοποιείται με διαδικασία."

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

Για μένα πάντως με δεδομένο το περιστατικό του 2007 το καλύτερο που μπορεί να γίνει αυτή τη στιγμή είναι να καταργηθεί και συντακτικά η Διάβασε-Γράψε μέσα σε συνάρτηση (και η κλήση διαδικασίας μέσα σε συνάρτηση) να τελειώνουμε και κυρίως... να είμαστε συνεπείς. Είναι πολύ κακό για το μάθημα η ίδια ερώτηση να απαντιέται με Σ τη μια χρονιά και με Λ την άλλη.

evry

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

ΣΥΝΑΡΤΗΣΗ   ΤΑΞΙΝΟΜΗΣΗ( Α ) : ΑΚΕΡΑΙΑ 
.......
ΑΡΧΗ
    ΚΑΛΕΣΕ ΑΥΞΟΥΣΑ( Α )
    ΚΑΛΕΣΕ ΕΚΤΥΠΩΣΗ( Α )
    ΤΑΞΙΝΟΜΗΣΗ <- Α[100]
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΔΙΑΔΙΚΑΣΙΑ ΕΚΤΥΠΩΣΗ( Α )
ΜΕΤΑΒΛΗΤΕΣ
     ΑΚΕΡΑΙΕΣ: Α[100], Ι
ΑΡΧΗ
     ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
           ΕΜΦΑΝΙΣΕ Α[Ι]
     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Αθανάσιος Πέρδος

Παράθεση από: gpapargi στις 15 Μαΐου 2015, 11:31:59 ΠΜ
Εγώ προσωπικά διαβάζοντας το βιβλίο και συγκεκριμένα τον ορισμό της συνάρτησης και της διαδικασίας καταλαβαίνω ότι στα σίγουρα η χρήση συνάρτησης για διάβασμα είναι τουλάχιστο κακή τεχνική. Δεν μπορώ να πω με σιγουριά αν απαγορεύεται ή όχι. Από τον ορισμό της συνάρτησης θα έλεγα ότι απαγορεύεται γιατί αντιβαίνει στη φιλοσοφία της. Από τα άλλα αποσπάσματα θα έλεγα πως δεν απαγορεύεται.

ΟΜΩΣ

Η ΔΤ1 του τετραδίου μαθητή ρωτάει:
Τι είδους υποπρόγραμμα, διαδικασία ή συνάρτηση πρέπει να χρησιμοποιήσεις για
τα παρακάτω:
Α) Εισαγωγή τριών δεδομένων.
Β) Εισαγωγή ενός δεδομένου.
Γ) Υπολογισμός του μικρότερου από πέντε ακεραίους.
Δ) Υπολογισμός των δύο μικρότερων από πέντε ακεραίους.
Ε) Έλεγχος αν δύο αριθμοί είναι ίσοι.
Ζ) Να ταξινομεί, και να επιστρέφει ταξινομημένους, πέντε αριθμούς.
Η) Έλεγχος αν ένας χαρακτήρας είναι φωνήεν ή σύμφωνο."

Στο Β δίνεται η απάντηση Συνάρτηση.

Τότε όμως αφού σύμφωνα με το βιβλίο πρέπει να χρησιμοποιήσεις συνάρτηση για την είσοδο ενός δεδομένου, γιατί στη σελίδα 76 διαβάζει με διαδικασία; Και μάλιστα γράφει:
"Αφού το υποπρόγραμμα πρέπει να διαβάζει δεδομένα, υλοποιείται με διαδικασία."

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

Για μένα πάντως με δεδομένο το περιστατικό του 2007 το καλύτερο που μπορεί να γίνει αυτή τη στιγμή είναι να καταργηθεί και συντακτικά η Διάβασε-Γράψε μέσα σε συνάρτηση (και η κλήση διαδικασίας μέσα σε συνάρτηση) να τελειώνουμε και κυρίως... να είμαστε συνεπείς. Είναι πολύ κακό για το μάθημα η ίδια ερώτηση να απαντιέται με Σ τη μια χρονιά και με Λ την άλλη.

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

Παράθεση από: evry στις 03 Ιουν 2007, 12:28:06 ΠΜ
  Ποιος το ήξερε? κανένας δεν το ήξερε, εδώ δεν μπορούν να αποφασίσουν οι μισοί καθηγητές και θα το ξέρουν οι μαθητές? Το θέμα είναι ότι αφού υπάρχει απάντηση στο βιβλίο καθηγητή ο καθηγητής είναι υποχρεωμένος να δώσει αυτή στους μαθητές του. Δε μπορεί να τους λέει ότι πιστεύει αυτός  για να το παίζει ξερόλας. Επειδή το μάθημα είναι πανελλαδικό ο καθηγητής είναι υπεύθυνος πρέπει να ακολουθεί το διδακτικό πακέτο και τίποτα άλλο. Για να μην χάνουν μονάδες άδικα κάποιοι μαθητές.
    Όταν λοιπόν η σωστή απάντηση είναι διαφορετική από αυτή που δίνεται από το βιβλίο καθηγητή δε νομίζεις ότι υπάρχει κάποιο πρόβλημα?

evry

Ακριβώς!!!
Χαίρομαι που τελικά συμφωνούμε.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Αθανάσιος Πέρδος

Παράθεση από: evry στις 15 Μαΐου 2015, 11:40:25 ΠΜ
Η παρακάτω συνάρτηση δέχεται έναν πίνακα, εμφανίζει όλα τα στοιχεία του σε αύξουσα σειρά, και επιστρέφει το μεγαλύτερο.
Όταν εκτελεστεί η συνάρτηση ποια είναι η έξοδός της?
Το λέω μια και θα εμφανιστούν μερικοί αριθμοί στην οθόνη.

ΣΥΝΑΡΤΗΣΗ   ΤΑΞΙΝΟΜΗΣΗ( Α ) : ΑΚΕΡΑΙΑ 
.......
ΑΡΧΗ
    ΚΑΛΕΣΕ ΑΥΞΟΥΣΑ( Α )
    ΚΑΛΕΣΕ ΕΚΤΥΠΩΣΗ( Α )
    ΤΑΞΙΝΟΜΗΣΗ <- Α[100]
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΔΙΑΔΙΚΑΣΙΑ ΕΚΤΥΠΩΣΗ( Α )
ΜΕΤΑΒΛΗΤΕΣ
     ΑΚΕΡΑΙΕΣ: Α[100], Ι
ΑΡΧΗ
     ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
           ΕΜΦΑΝΙΣΕ Α[Ι]
     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ



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

Παράθεση από: evry στις 15 Μαΐου 2015, 03:59:19 ΜΜ
Ακριβώς!!!
Χαίρομαι που τελικά συμφωνούμε.

Σε τι συμφωνούμε;
Σε αυτό;

Παράθεση από: evry στις 12 Μαΐου 2015, 04:46:30 ΜΜ
Προφανώς και ΔΕΝ μπορεί να γίνει αυτό, σε καμία περίπτωση.
Αν δεχτούμε ότι μια διαδικασία η οποία διαβάζει από το πληκτρολόγιο μπορεί να κληθεί από μια συνάρτηση τότε
η συνάρτηση ουσιαστικά θα έχει είσοδο και από εκεί και φυσικά θα μπορεί να έχει έξοδο και εκεί.
Από τη στιγμή που μια συνάρτηση δέχεται είσοδο μόνο από τη λίστα παραμέτρων και επιστρέφει αποτέλεσμα μόνο με το όνομά της και με κανένα άλλον τρόπο τότε δεν μπορεί να καλεί διαδικασία η οποία εσωτερικά έχει είσοδο/έξοδο

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

ή σε αυτό;

Παράθεση από: evry στις 03 Ιουν 2007, 12:28:06 ΠΜ
  Ποιος το ήξερε? κανένας δεν το ήξερε, εδώ δεν μπορούν να αποφασίσουν οι μισοί καθηγητές και θα το ξέρουν οι μαθητές? Το θέμα είναι ότι αφού υπάρχει απάντηση στο βιβλίο καθηγητή ο καθηγητής είναι υποχρεωμένος να δώσει αυτή στους μαθητές του. Δε μπορεί να τους λέει ότι πιστεύει αυτός  για να το παίζει ξερόλας. Επειδή το μάθημα είναι πανελλαδικό ο καθηγητής είναι υπεύθυνος πρέπει να ακολουθεί το διδακτικό πακέτο και τίποτα άλλο. Για να μην χάνουν μονάδες άδικα κάποιοι μαθητές.
    Όταν λοιπόν η σωστή απάντηση είναι διαφορετική από αυτή που δίνεται από το βιβλίο καθηγητή δε νομίζεις ότι υπάρχει κάποιο πρόβλημα?

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

evry

#29
Μα και το 2007 η διαδικασία έλεγα ότι είναι το σωστό!!! :-\ Από που έβγαλες το συμπέρασμα ότι έλεγα το αντίθετο?  :-\
Απλά για κάποιο λόγο δεν διάβασες όλη τη συζήτηση  :-\
Καλό λοιπόν θα ήταν να διαβάσεις όλο το thread ώστε να καταλάβεις ακριβώς τι έλεγα.
Αυτό που έλεγα ήταν ότι το θέμα ήταν φάουλ και ότι θα έπρεπε ή να ακυρωθεί ή να πάρουν σωστά και τα 2. Αυτό δε σημαίνει ότι συμφωνώ με το ότι μπορείς να διαβάσεις μέσα σε συνάρτηση, αλλά ότι δεν πρέπει να την πληρώσει ο μαθητής για τις ασάφειες του βιβλίου και του θέματος.
Αν διάβαζες λίγο πιο πάνω στο ίδιο thread θα έβλεπες και αυτό
https://alkisg.mysch.gr/steki/index.php?topic=959.msg5190#msg5190
όπου λέω :
Παράθεση από: evry στις 31 Μαΐου 2007, 06:04:24 ΜΜ
Παιδιά το συγκεκριμένο θέμα δηλαδή το 1.Β.2 το έχουν πάρει αυτούσιο από το τετράδιο του μαθητή. Είναι η δραστηριότητα ΔΤ1.Β σελ 109. Δεν ξέρω αν το θυμάται κανένας αλλά είχα θίξει το θέμα πριν κάποιους μήνες σε κάποιο thread με το σκεπτικό ότι η απάντηση στην ερώτηση αν η εισαγωγή ενός δεδομένου γίνεται με συνάρτηση ή διαδικασία ήταν με συνάρτηση. Όσοι έχετε αντίρρηση μπορείτε απλά να κοιτάξετε το βιβλίο καθηγητή που έχετε και έχει τις απαντήσεις. Προφανώς η απάντηση είναι με διαδικασία. Προσέξτε όμως κάτι. Το θέμα στο τετράδιο του μαθητή έχει μέσα και την περίπτωση "Εισαγωγή τριών δεδομένων". Και όμως αυτό το ερώτημα το αφαίρεσαν, ενώ τα άλλα τα έβαλαν αυτούσια, μάλλον για να μην μπερδέψουν περισσότερο τους μαθητές.

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

Είχα θίξει το ίδιο θέμα πριν πέσει στις εξετάσεις εδώ
https://alkisg.mysch.gr/steki/index.php?topic=275.msg1935#msg1935

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

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

Οπότε συνοψίζω τις απόψεις μου ώστε να είμαι ξεκάθαρος και κατανοητός όσο γίνεται

1. Αν δεχτούμε ότι μπορώ να καλώ διαδικασία μέσα από συνάρτηση η οποία περιέχει Διάβασε/Γράψε είναι σαν να χρησιμοποιώ Διάβασε/Γράψε μέσα στη Συνάρτηση, οπότε πρέπει να δεχτούμε και αυτό
2. Από τον ορισμό της συνάρτησης είναι ξεκάθαρο ότι δεν μπορεί να έχει άλλη έξοδο εκτός από την τιμή που επιστρέφει. Αν καλέσει διαδικασία και αυτη εκτυπώσει στην οθόνη δεδομένα που πήρε από τη συνάρτηση αυτό είναι έξοδος. Δηλαδή Γράψε δεν μπορείς να έχεις μέσα σε συνάρτηση ή σε διαδικασία που καλείται από συνάρτηση (αυτό ας το ονομάσουμε έμμεση έξοδο).
3. Με την εισαγωγή τα πράγματα δεν είναι τόσο ξεκάθαρα. Από τον ορισμό δε φαίνεται ότι απαγορεύεται παρά μόνο από τα συμφραζόμενα, και δεν ξέρω αν μπορούμε να στηριχτούμε σε αυτά. Για παράδειγμα λέει ότι η λίστα παραμέτρων στη διαδικασία μπορεί να είναι κενή. Και ρωτάει κάποιος: γιατί? δεν μπορεί να είναι κενή και στη συνάρτηση? Φαντάζομαι καταλαβαίνουμε όλοι γιατί δεν μπορεί
4. Δεν συμφωνώ με την απαγόρευση των Διάβασε/Γράψε μέσα σε Συνάρτηση. Δεν μου αρέσει, όμως το πνεύμα του βιβλίου σε οδηγεί εκεί.

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