Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: ΜΑΚΡΙΔΑΚΗ ΣΤΕΛΛΑ στις 21 Απρ 2019, 05:05:30 ΜΜ

Τίτλος: κληση υποπρογραμματων
Αποστολή από: ΜΑΚΡΙΔΑΚΗ ΣΤΕΛΛΑ στις 21 Απρ 2019, 05:05:30 ΜΜ
Καλησπέρα,

διορθώστε με όπου κάνω λάθος....
Μία διαδικασία μπορεί να κληθεί από ένα κύριο πρόγραμμα , μία άλλη διαδικασία ή μία συνάρτηση
Μία συνάρτηση μπορεί να κληθεί από ένα κύριο πρόγραμμα , μία άλλη συνάρτηση ή μία διαδικασία
Τίτλος: Απ: κληση υποπρογραμματων
Αποστολή από: pvs στις 21 Απρ 2019, 05:33:50 ΜΜ
Μία συνάρτηση δεν μπορεί να καλέσει διαδικασία
Τίτλος: Απ: κληση υποπρογραμματων
Αποστολή από: andreas_p στις 22 Απρ 2019, 07:58:19 ΠΜ
Ναι ! Η συνάρτηση  καλεί ΜΌΝΟ συνάρτηση  !
Τίτλος: Απ: κληση υποπρογραμματων
Αποστολή από: ΜΑΚΡΙΔΑΚΗ ΣΤΕΛΛΑ στις 22 Απρ 2019, 10:23:46 ΠΜ
Συμφωνώ .....
Όμως στη σελίδα 179 του βιβλίου γράφει :
" κάθε διαδικασία ή συνάρτηση μπορεί να καλείται από το κύριο πρόγραμμα ή από μία άλλη διαδικασία ή συνάρτηση"
Τίτλος: Απ: κληση υποπρογραμματων
Αποστολή από: Λαμπράκης Μανώλης στις 22 Απρ 2019, 10:32:26 ΠΜ
Καλημέρα... Έχει έρθει διευκρίνιση αν δεν κάνω λάθος.... Για να καλύψουμε την περίπτωση κατά την οποία η διαδικασια που θα καλέσει η συνάρτηση έχει γράψε  η διάβασε... Οπότε η συνάρτηση μπορεί να καλέσει μόνο συνάρτηση..
Τίτλος: Απ: κληση υποπρογραμματων
Αποστολή από: ΜΑΚΡΙΔΑΚΗ ΣΤΕΛΛΑ στις 22 Απρ 2019, 09:54:46 ΜΜ
Αυτό ήξερα κι εγώ αλλά στο σχολείο τους λένε άλλα....κλασικά...
Τίτλος: Απ: κληση υποπρογραμματων
Αποστολή από: bugman στις 22 Απρ 2019, 09:58:29 ΜΜ
Ο λόγος που δεν θέλουμε η συνάρτηση να γράφει ή να διαβάζει είναι για την περίπτωση που σε μια ΓΡΑΨΕ έχουμε μια συνάρτηση που ταυτόχρονα γράφει ή διαβάζει.  Σε αυτήν την περίπτωση θα έπρεπε να παρεμβάλλεται το γράψιμο ή το διάβασμα από την συνάρτηση. Το ότι αυτό δεν το δέχεται η ΓΛΩΣΣΑ μάλλον παραξενιά είναι και δεν σχετίζεται με την οποιαδήποτε "Αλγοριθμική Σκέψη".

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

Ουσιαστικά η παραξενιά της γλώσσας ΓΛΩΣΣΑ χαλάει την δυνατότητα επιμερισμού του κώδικα σε αυτόνομα υποπρογράμματα (και αναιρεί αυτό που γράφεται στη σελίδα 179, όπως αναφέρθηκε παραπάνω).

Ίσως να είναι θέμα απλοποίησης αλλά πιστεύω ότι αυτός ο διαχωρισμός κάνει  κακό παρά καλό, γιατί κάνει το μαθητή να σκέφτεται με περιορισμούς που δεν υπάρχουν αλλού εκτός από τη ΓΛΩΣΣΑ, και υποτίθεται ότι δεν έχει σκοπό να "προγραμματίζει" αλλά να εφαρμόζει την αλγοριθμική σκέψη!
Τίτλος: Απ: κληση υποπρογραμματων
Αποστολή από: wmaster στις 19 Μαΐου 2019, 01:38:01 ΜΜ
Έχει κάποιος την διευκρίνιση που επικαλείται ο Λαμπράκης Μανώλης για την κλήση διαδικασίας μέσα από συνάρτηση;
Τίτλος: Απ: κληση υποπρογραμματων
Αποστολή από: wmaster στις 19 Μαΐου 2019, 01:54:50 ΜΜ
Τελικά το βρήκα, για όποιον ενδιαφέρεται παραθέτω τον σύνδεσμο
https://edu.klimaka.gr/mathimata/lykeio/2656-anaptyxh-efarmogwn-odhgies
Τίτλος: Απ: κληση υποπρογραμματων
Αποστολή από: Καρκαμάνης Γεώργιος στις 22 Μαΐου 2019, 08:49:19 ΜΜ
Μια συνάρτηση σύμφωνα με τις οδηγίες του υπουργείου  δεν μπορεί να καλέσει διαδικασία , ασχέτως αν το βιβλίο το αναφέρει σε γενική μορφή οτι μπορεί να γίνει.