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

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

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

alkisg

Έγινε ban στους Ευστάθιο, Ευσταθία και prosexe και διαγράφηκαν τα μηνύματά τους.

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

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

merlin

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

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

1) Μια συνάρτηση μπορεί να καλέσει διαδικασία.
2) Μια συνάρτηση ΔΕΝ πρέπει να έχει εντολές εισόδου / εξόδου (πιο πολύ με ενοχλεί το εξόδου), διότι αντιβαίνει στη ίδια τη λογική της συνάρτησης όπως την έχουν οι μαθητές από τα μαθηματικά. Δε γίνεται να "βγάζει" τιμές ΚΑΙ σε συσκευή -ές εξόδου ΚΑΙ σε αυτόν που την κάλεσε.
3) Μια συνάρτηση ΔΕΝ μπορεί να καλέσει διαδικασία η οποία περιέχει τις παραπάνω εντολές, διότι βλέποντας τη συνάρτηση σαν black box (όπως θα έπρεπε), καταλήγουμε στο πρόβλημα 2.
Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20

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

Παράθεση από: itt στις 22 Μαΐου 2015, 12:24:30 ΠΜ
Γιατί δεν βλέπω κανένα νόημα στο να σου πω ποιος είμαι. Έχω να προσφέρω κάποια πράγματα στη συζήτηση, άμα θες τα ακούς, άμα δεν θες όχι και εφόσον δεν σε θίγουν σαν άτομο δεν βλέπω το πρόβλημα.

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


Παράθεση από: alkisg στις 22 Μαΐου 2015, 12:23:27 ΜΜ
Έγινε ban στους Ευστάθιο, Ευσταθία και prosexe και διαγράφηκαν τα μηνύματά τους.
Πέρα από το δικό μου μήνυμα που διαγράψατε εσείς, διέγραψα και εγώ οποιαδήποτε άλλη αναφορά υπήρχε στα μηνύματα μου. Όσο για μια συγκεκριμένη αναφορά της "κυρίας", αν μου δώσει τα στοιχεία της θα την ενημερώσει ο Διευθυντής μου για το που ακριβώς βρισκόμουν χθες το πρωί.

bugman

1. Η επιστροφή τιμής στη συνάρτηση στα διάφορα API των Windows (βιβλιοθήκες) που δεν είναι μηδενική σημαίνει λάθος. Δηλαδή εκεί χρησιμοποιούν συναρτήσεις για να επιστρέφουν λάθος άμεσα, ενώ με το πέρασμα τιμών μπορούμε να επιστρέφουμε τιμές (γιατί μπορούμε να περάσουμε μια αναφορά σε ένα αντικείμενο ή σε μια δομή και εκεί να πάρουμε αλλαγές).

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


itt

Παράθεση από: bugman στις 24 Μαΐου 2015, 10:50:20 ΠΜ
1. Η επιστροφή τιμής στη συνάρτηση στα διάφορα API των Windows (βιβλιοθήκες) που δεν είναι μηδενική σημαίνει λάθος. Δηλαδή εκεί χρησιμοποιούν συναρτήσεις για να επιστρέφουν λάθος άμεσα, ενώ με το πέρασμα τιμών μπορούμε να επιστρέφουμε τιμές (γιατί μπορούμε να περάσουμε μια αναφορά σε ένα αντικείμενο ή σε μια δομή και εκεί να πάρουμε αλλαγές).

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

Δεν χρειάζεται να χρησιμοποιήσεις συναρτήσεις για κάτι τέτοιο anyway. Άμα θες τόσο fine grained έλεγχο, μπορείς να έχεις μια διαδικασία που θα επιστρέφει και έναν ακέραιο που αναπαριστά το status της κλήσης (αν υπήρξε error και ποιο). Μπορεί να λυθεί δηλαδή με διαδικασίες και convention, χωρίς να χρειαστεί να επιτρέψεις εντολές IO μέσα σε συναρτήσεις.

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

#65
Συνάδερφοι θα παραθέσω τι γράφει το διδακτικό πακέτο.
-------------------------------------------------------------------------------------------
Βιβλίο Μαθητή Έκδοση 2014
Σελ 131
7.6 | Συναρτήσεις
Πολλές γνωστές συναρτήσεις από τα μαθηματικά χρησιμοποιούνται συχνά και περιέχονται στη ΓΛΩΣΣΑ. Οι συναρτήσεις αυτές είναι:
ΗΜ(Χ) Υπολογισμός ημιτόνου
ΣΥΝ(Χ) Υπολογισμός συνημιτόνου
...

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

Βιβλίο Καθηγητή
σελ 195
Η Pascal έχει δύο ειδών υποπρογράμματα, τις functions και τις procedures, οι οποίες έχουν τα χαρακτηριστικά των αντιστοίχων της ΓΛΩΣΣΑΣ.


Τετράδιο Μαθητή Έκδοση 2014
Σελ 178
4.1. ΔΙΑΔΙΚΑΣΙΕΣ
...
Μια διαδικασία μπορεί να κληθεί από το κυρίως πρόγραμμα ή από άλλη διαδικασία ή συνάρτηση, προκειμένου να εκτελέσει τη λειτουργία για την οποία γράφτηκε και στη συνέχεια ο έλεγχος του προγράμματος επιστρέφει στην επόμενη εντολή απ' αυτή που κάλεσε τη διαδικασία.
...

ΣΕλ 180-181
4.2. ΣΥNAΡΤHΣΕΙΣ
Μια συνάρτηση είναι μια διαδικασία που επιστρέφει μια τιμή με το όνομά της. Η συνάρτηση διαφέρει από τη διαδικασία γιατί ενώ μπορεί να δεχθεί πολλές παραμέτρους, επιστρέφει πάντα μια μόνο τιμή. Οι συναρτήσεις μπορούν να εκτελούν οποιαδήποτε λειτουργία επιθυμεί ο χρήστης, γι' αυτό και καλούνται συναρτήσεις ορισμένες από το χρήστη (user-defined functions) σε αντιδιαστολή με τις ενσωματωμένες συναρτήσεις της γλώσσας.
---------------------------------------------------------------------------------------------------------

Παράθεση από: merlin στις 22 Μαΐου 2015, 01:40:08 ΜΜ
Το όλο θέμα είναι σαφώς γκρίζα ζώνη και δε θα έπρεπε να πέσει σαν ερώτημα αν πρώτα δε διευκρινιστεί επίσημα μέσω κάποιας οδηγίας.

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

1) Μια συνάρτηση μπορεί να καλέσει διαδικασία.
2) Μια συνάρτηση ΔΕΝ πρέπει να έχει εντολές εισόδου / εξόδου (πιο πολύ με ενοχλεί το εξόδου), διότι αντιβαίνει στη ίδια τη λογική της συνάρτησης όπως την έχουν οι μαθητές από τα μαθηματικά. Δε γίνεται να "βγάζει" τιμές ΚΑΙ σε συσκευή -ές εξόδου ΚΑΙ σε αυτόν που την κάλεσε.
3) Μια συνάρτηση ΔΕΝ μπορεί να καλέσει διαδικασία η οποία περιέχει τις παραπάνω εντολές, διότι βλέποντας τη συνάρτηση σαν black box (όπως θα έπρεπε), καταλήγουμε στο πρόβλημα 2.

Συγγνώμη Παρασκευά αλλά το διδακτικό πακέτο γράφει όλα τα παραπάνω. Από πού προκύπτει ο συλλογισμός σου;

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

Παράθεση από: bugman στις 24 Μαΐου 2015, 10:50:20 ΠΜ
1. Η επιστροφή τιμής στη συνάρτηση στα διάφορα API των Windows (βιβλιοθήκες) που δεν είναι μηδενική σημαίνει λάθος. Δηλαδή εκεί χρησιμοποιούν συναρτήσεις για να επιστρέφουν λάθος άμεσα, ενώ με το πέρασμα τιμών μπορούμε να επιστρέφουμε τιμές (γιατί μπορούμε να περάσουμε μια αναφορά σε ένα αντικείμενο ή σε μια δομή και εκεί να πάρουμε αλλαγές).

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


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





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

Για αυτό άλλωστε έγραψα:
Παράθεση από: aperdos στις 15 Μαΐου 2015, 09:47:16 ΠΜ
Ελπίζω μιας και διαπιστώνεται σύγχυση στο συγκεκριμένο θέμα όπως και στο πρώτο χαρακτηριστικό των υποπρογραμμάτων (μία είσοδος - μία έξοδος),  η νέα ομάδα εργασίας να καταθέσει τις απαραίτητες διευκρινήσεις και παραδείγματα ώστε να λυθούν οι απορίες και να σταματήσουν οι παρερμηνείες.   

Παράθεση από: aperdos στις 15 Μαΐου 2015, 02:09:24 ΜΜ
Πρέπει όμως να είναι ξεκάθαρο για όλους τι ακριβώς συμβαίνει και κυρίως για τους μαθητές.

merlin

Θανάση δεν καταλαβαίνω τι δεν καταλαβαίνεις από αυτό που είπα.
Στο κομμάτι του διδακτικού πακέτου που έχουν οι μαθητές, διαβάζω στην παράγραφο 10.5, σελίδα 175 ότι οι διαδικασίες μπορούν να εκτελέσουν οποιαδήποτε λειτουργία από αυτές που μπορεί να εκτελέσει ένα πρόγραμμα. Να διαβάσει / τυπώσει δεδομένα, να εκτελέσει υπολογισμούς κλπ.
Στη συνάρτηση αντίθετα γράφει ότι η λειτουργία τους είναι πιο περιορισμένη, δεν αναφέρει ότι έχουμε διάβασμα / εκτύπωση αλλά μόνο υπολογισμούς, όπου επιστρέφεται μόνο μια τιμή στο τέλος. Επίσης αναφέρει την ομοιότητά τους με τις συναρτήσεις των μαθηματικών και τις ήδη ενσωματωμένες συναρτήσεις της Γλώσσας.
Στη σελίδα 176 στο τέλος, γράφει ότι αφού απαιτείται η λειτουργία της εκτύπωσης, ΠΡΕΠΕΙ να υλοποιηθεί με διαδικασία (τα κεφαλαία δικά μου).
Συμπέρασμα: Σαν μαθητής καταλαβαίνω ότι μου απαγορεύουν να χρησιμοποιήσω εντολή εξόδου σε συνάρτηση. Το καταλαβαίνω και από τα μαθηματικά και τον ορισμό των συναρτήσεων που γνωρίζω. Το καταλαβαίνω και από τις υπόλοιπες συναρτήσεις τις γλώσσας που γνωρίζω με παρόμοια χρήση.
Η απαγόρευση αυτή φυσικά δεν ισχύει σε όλες τις γλώσσες, μιας και όπως γνωρίζεις για παράδειγμα στη C, λέγονται όλες συναρτήσεις.
Αν όμως σαν καθηγητής αρχίσω να λέω τι ισχύει σε κάθε γλώσσα, θα επιτρέψω την μεταβολή του μετρητή εντός της για ... από ... μέχρι ..., θα επιτρέψω τη δημιουργία πίνακα με on demand μέγεθος, ακόμη και δημιουργία πίνακα δυναμικά με μεταβαλλόμενο μέγεθος (όπως π.χ. γίνεται στην gml).
Θέλω να καταλήξω ότι σε αυτή τη φάση, οι μαθητές πρέπει να έχουν ξεκάθαρα εργαλεία στα χέρια τους με ξεκαθαρισμένες χρήσεις το καθένα.
Υ.Γ. Μια απάντηση σε ένα σωστό - λάθος (και στο βιβλίο καθηγητή που δεν βλέπουν οι μαθητές) δεν έχει την ίδια βαρύτητα με μια εξήγηση μερικών γραμμών στο βιβλίο μαθητή.
Ελπίζω να έγινα πιο κατανοητός.
Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20

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

Άρα Παρασκευά αυτό που γράφει το βιβλίο καθηγητή και το τετράδιο μαθητή δεν συνδιαμορφώνουν την διδασκαλία σου αλλά μένεις μόνο στο βιβλίο μαθητή. Ναι έτσι όπως το παρουσιάζεις ένας μαθητής θα μπορούσε  να καταλήξει στα συμπεράσματα που περιγράφεις. Πάντως το πρέπει δεν έχει μόνο την έννοια του υποχρεωτικά. Έχει και την έννοια της προτροπής. Επίσης πουθενά δεν αναφέρεται ότι απαγορεύεται η χρήση εισόδου - εξόδου από συνάρτηση.
Εγώ από την άλλη θεωρώ το διδακτικό πακέτο ενιαίο και είμαι αντίθετος στην αποσπασματική θεώρηση των εννοιών. Και μην με παρεξηγείς. Δεν λέω τι συμβαίνει σε άλλες γλώσσες. Λέω τι γράφει το βιβλίο καθηγητή σελ 195, και το τετράδιο μαθητή σελ 180 δηλαδή ότι οι συναρτήσεις και οι διαδικασίες στην Pascal έχουν τα ίδια χαρακτηριστικά με τις συναρτήσεις και τις διαδικασίες στη Γλώσσα καθώς και ποια είναι αυτά τα χαρακτηριστικά.
Αφού λοιπόν δεν έχει την ίδια βαρύτητα για σένα το τι γράφει το βιβλίο καθηγητή και το τετράδιο μαθητή είναι λογικό να έχουμε διαφορετική θεώρηση στο συγκεκριμένο θέμα.
Ελπίζω να δοθεί μια οδηγία και να λήξει το θέμα.

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

Παράθεση από: aperdos στις 20 Μαΐου 2015, 02:20:59 ΜΜ
Αυτό που έγραψα ας με διορθώσει κάποιος αλλά θεωρώ ότι συμφωνεί με το άρθρο των Π. Τσιωτάκης, Σ. Στέργου, Ν. Αδαμόπουλος, Α. Ψαλτίδου  με τίτλο "Το διδακτικό πακέτο του μαθήματος Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Ασάφειες και επακόλουθα προβλήματα." από το βιβλίο "ΑΕΠΠ Παρελθόν, Παρόν, Μέλλον" που επιμελήθηκε ο Σπύρος Δουκάκης. Παραθέτω λοιπόν το τμήμα του άρθρου που προσεγγίζει το θέμα.
---------
Το βιβλίο μαθητή [Βακάλη κ.α. (2009), σ. 211] αναφέρει ότι: «Η συνάρτηση είναι ένας τύπος υποπρογράμματος που υπολογίζει και επιστρέφει μόνο μία τιμή με το όνομά της (όπως οι μαθηματικές συναρτήσεις)». Τόσο η αναφορά αυτή, όσο και άλλες στις σελίδες 211 - 212, οδηγούν στο συμπέρασμα πως η συνάρτηση ως υποπρόγραμμα στη ΓΛΩΣΣΑ δε διαθέτει τη δυνατότητα επικοινωνίας με το χρήστη, απλά χρησιμοποιείται για διενέργεια υπολογισμών και επιστροφή μιας και μόνο τιμής. Έτσι, φαίνεται ότι οι εντολές ΔΙΑΒΑΣΕ και ΓΡΑΨΕ δεν μπορούν να χρησιμοποιηθούν στο κύριο μέρος της συνάρτησης. Παρόλα αυτά δεν υπάρχει σαφής αναφορά στο διδακτικό πακέτο για το θέμα αυτό, ούτε κάποιο σχετικό παράδειγμα.
Η απαγόρευση χρήσης των εντολών ΓΡΑΨΕ και ΔΙΑΒΑΣΕ σε μία συνάρτηση εξασφαλίζει το πλεονέκτημα της αναφορικής ακεραιότητας (referential transparency). Αυτό σημαίνει ότι το αποτέλεσμα μίας συνάρτησης εξαρτάται αποκλειστικά από τις τιμές των παραμέτρων της. Η συγκεκριμένη προσέγγιση μειώνει το χάσμα των συναρτήσεων της ΓΛΩΣΣΑΣ με αυτές των Μαθηματικών. Η αναφορική ακεραιότητα όμως μπορεί να παραβιαστεί εάν από μια συνάρτηση κληθεί διαδικασία που επιτελεί είσοδο δεδομένων, τα οποία στη συνέχεια μεταβιβάζονται στη συνάρτηση. Μία ενδεχόμενη εξασφάλιση της αναφορικής ακεραιότητας των συναρτήσεων θα πρέπει να περιλαμβάνει και την απαγόρευση κλήσης διαδικασίας από συνάρτηση. Το παραπάνω όμως δεν συμβαδίζει με την φιλοσοφία του τμηματικού προγραμματισμού, όπου ένα υποπρόγραμμα που επιτελεί μία λειτουργία θα πρέπει να μπορεί να χρησιμοποιηθεί από άλλα υποπρογράμματα.
----------------------------

Και οι δύο πλευρές βασίζουν τα επιχειρήματά τους σε συγκεκριμένες αναφορές του διδακτικού πακέτου και δεν λένε ό,τι λένε στον αέρα. Απλώς οι αναφορές αυτές είναι αντικρουόμενες! Μάλλον είναι τόσο ακραίο να ισχυρίζεται κάποιος ότι είναι ξεκάθαρο ότι επιτρέπονται οι εντολές εισόδου/εξόδου μέσα στις συναρτήσεις της ΓΛΩΣΣΑΣ, όσο ακραίο είναι και να ισχυρίζεται κάποιος άλλος ότι είναι ξεκάθαρο ότι δεν επιτρέπονται. Συνήθως όπου υπάρχει καπνός υπάρχει και φωτιά! Και μόνο η ύπαρξη των δύο πλευρών, αλλά και της συγκεκριμένης κουβέντας, αυτό δείχνει την ύπαρξη ασάφειας!

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

Πάντως, θεωρώ ότι η συγκεκριμένη κουβέντα έχει αρχίσει να κουράζει, παραμονή μάλιστα της εξέτασης του μαθήματος! Θα πρότεινα λοιπόν μια προσωρινή έστω ανακωχή...  ;)

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

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


merlin

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

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

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

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

Τέλος, το ΠΡΕΠΕΙ, το εκλαμβάνεις εσύ ως προτρεπτικό, για μένα είναι σαφές. Αν ήθελαν μια έκφραση που να δηλώνει προτροπή, τότε θα μπορούσαν να χρησιμοποιήσουν για παράδειγμα: "είναι καλύτερο να", "είναι προτιμότερο να", "συνηθίζουμε να", "είναι καλή πρακτική να", μπορώ να γράψω πολλά ακόμη, η ελληνική γλώσσα είναι πολύ πλούσια.

Σταματώ εδώ, μιας και νομίζω ότι οι θεματοδότες αν ήταν να πάρουν το μήνυμα, το πήραν. Αν θέλεις κάνουμε την κουβέντα από αύριο.
Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20

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

Παράθεση από: aperdos στις 26 Μαΐου 2015, 07:15:32 ΠΜ
Μάλιστα. Αφού είμαστε ακραίοι και σας κουράζουμε τότε θα ακολουθήσουμε την προτροπή σας και θα σταματήσουμε τη συζήτηση. Να σας ευχαριστήσουμε και για την μέχρι τώρα φιλοξενία των ακραίων θέσεων μας που απορρέουν από την μελέτη του διδακτικού πακέτου.

Πολλές φορές η βιασύνη είναι κακός σύμβουλος.

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

Laertis

Η ειρωνία κύριε Πέρδο πρέπει να είναι το τελευταίο σας καταφύγιο....

Ο συνάδερφος Νίκος έχει απόλυτο δίκιο ... Η συζήτησή αυτή είναι φαύλος κύκλος, έχει γίνει κι έχει ξαναγίνει και δεν οδήγησεσε κανένα συμπέρασμα ούτε σε καμία λύση. Και ειδικά τώρα που ίσως προκαταβάλει κάποιους καλοθελητές και δημιουργήσει πανικό ....
Το θέμα αποτελεί ασάφεια εδώ και χρόνια, δεν απαγορεύεται να το συζητάμε αλλά είναι κουραστικό να ανακυκλώνουμε ατελειώτες συζητήσεις που οδηγούν πάντα στο να συμφωνήσουμε στην ασάφεια .....
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

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

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

Laertis

Παράθεση από: aperdos στις 26 Μαΐου 2015, 06:34:33 ΜΜ
Από την άλλη βέβαια δεν νιώθω ότι με κυνηγάνε για να καταφύγω κάπου. Ας κοιτάξει ο κύριος Λαέρτης τον τρόπο με τον οποίο εκφράστηκε για τους φροντιστές πρόσφατα και μετά να μιλήσει για ειρωνεία.

Χαίρομαι που βρέθηκε ακόμα ένας υποστηρικτής-υπέρμαχος των εξετάσεων προσομοίωσης ή μη, του ΟΕΦΕ. Εγώ τουλάχιστον παραδέχτηκα ότι χρησιμοποίησα το ειρωνικό ύφος για να κατακρίνω ένα θεσμό στον οποίο δε πιστέυω,  και όχι για να καταφερθώ προσωπικά σε κάποιον. Δεν έχω να χωρίσω τίποτα με κανέναν.
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola