Ερώτηση για κλήση Διαδικασίας από Συνάρτηση

Ξεκίνησε από pvs, 30 Απρ 2020, 12:00:12 ΠΜ

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

pvs

Συνάδελφοι καλησπέρα, γνωρίζω ότι η ερώτηση έχει απαντηθεί κατά το παρελθόν αλλά θα ήθελα μία επιβεβαίωση. Το 2017 (αν δεν κάνω λάθος) είχε βγει οδηγία από το υπουργείο ότι μία συνάρτηση δεν μπορεί να καλέσει μία διαδικασία. Η ερώτηση μου είναι η εξής: αυτή η οδηγία ισχύει και φέτος? Σας ευχαριστώ.

Λαμπράκης Μανώλης

Καλημέρα

νομίζω δεν έχει αλλάξει κάτι, μία συνάρτηση δεν μπορεί να καλέσει μία διαδικασία ώστε να "διορθωθεί" αν δεν κάνω λάθος το ακόλουθο:
1) μία συνάρτηση δε μπορεί να χρησιμοποιήσει τις εντολές ΓΡΑΨΕ και ΔΙΑΒΑΣΕ
2) μία συνάρτηση μπορεί να καλέσει μία διαδικασία που μπορεί να χρησιμοποιήσει τις παραπάνω εντολές
1+2--> άρα μία συνάρτηση μπορεί έμμεσα να χρησιμοποιήσει ΓΡΑΨΕ και ΔΙΑΒΑΣΕ

έτσι βγήκε η οδηγία για να μην υπάρχει το πρόβλημα αυτό (τουλάχιστον αυτή ήταν η ιδέα νομίζω   >:D :angel: :laugh:  )

pvs

Ευχαριστώ πολύ
Παράθεση από: Λαμπράκης Μανώλης στις 30 Απρ 2020, 11:09:18 ΠΜ
Καλημέρα

νομίζω δεν έχει αλλάξει κάτι, μία συνάρτηση δεν μπορεί να καλέσει μία διαδικασία ώστε να "διορθωθεί" αν δεν κάνω λάθος το ακόλουθο:
1) μία συνάρτηση δε μπορεί να χρησιμοποιήσει τις εντολές ΓΡΑΨΕ και ΔΙΑΒΑΣΕ
2) μία συνάρτηση μπορεί να καλέσει μία διαδικασία που μπορεί να χρησιμοποιήσει τις παραπάνω εντολές
1+2--> άρα μία συνάρτηση μπορεί έμμεσα να χρησιμοποιήσει ΓΡΑΨΕ και ΔΙΑΒΑΣΕ

έτσι βγήκε η οδηγία για να μην υπάρχει το πρόβλημα αυτό (τουλάχιστον αυτή ήταν η ιδέα νομίζω   >:D :angel: :laugh:  )

sensible

ΟΔΗΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗ 2019-2020
https://drive.google.com/open?id=1Lq1OJVyG7qY00VqZ6-xnxEwAxFEMmnUg
17-9-2020

Το λέει ξεκάθαρα στη σελίδα 28 (#34 Διαδικασία Συναρτήσεις)
"Να επισημανθεί ιδιαίτερα ότι οι συναρτήσεις δεν μπορούν να έχουν εντολές εισόδου-εξόδου και
ως εκ τούτου δε δύναται να πραγματοποιηθεί κλήση μιας διαδικασίας μέσα από μια συνάρτηση."

bagelis

Έστω ότι βλέπουμε τα παρακάτω ΣΛ στις πανελλήνιες:

1. ένα υποπρόγραμμα μπορεί να κληθεί από το κύριο πρόγραμμα ή ένα άλλο υποπρόγραμμα

2. Κάθε διαδικασία ή συνάρτηση μπορεί να καλείται από το κύριο πρόγραμμα ή από άλλη διαδικασία ή συνάρτηση

Ποιές είναι οι απαντήσεις;

P.Tsiotakis

Παράθεση από: bagelis στις 01 Μαΐου 2020, 01:32:53 ΜΜ
Έστω ότι βλέπουμε τα παρακάτω ΣΛ στις πανελλήνιες:
1. ένα υποπρόγραμμα μπορεί να κληθεί από το κύριο πρόγραμμα ή ένα άλλο υποπρόγραμμα
2. Κάθε διαδικασία ή συνάρτηση μπορεί να καλείται από το κύριο πρόγραμμα ή από άλλη διαδικασία ή συνάρτηση
Ποιές είναι οι απαντήσεις;
Ως πολύ διαβασμένος, παρέθεσες αυτούσιες 2 προτάσεις απο το βιβλίο μαθητή.

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

pgrontas

Πάντως αξίζει να παρατηρήσουμε ότι λόγω της χρήσης του τελεστή η και οι δύο παραπάνω προτάσεις είναι τετριμμένα σωστές και κενές νοήματος (εφόσον τα πάντα μπορούν να κληθούν από το κυρίως πρόγραμμα).
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

alkisg

Νομίζω ότι το σκεπτικό των συγγραφέων στις παραπάνω προτάσεις, δεν είναι να χρησιμοποιήσουν το "η" σε ρόλο τελεστή boolean, αλλά όπως τον χρησιμοποιούμε μερικές φορές στην καθομιλουμένη:

"Ευκαιρώ να βρεθούμε Δευτέρα ή Τρίτη".

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

pgrontas

#8
Άλκη δεν συμφωνώ με την ερμηνεια σου.
Αν μου πεις "Ευκαιρώ να βρεθούμε Δευτέρα ή Τρίτη" και δεν μου πεις "Δευτερα και Τριτη" (και από τα συμφραζόμενα είναι γνωστό ότι θα γίνει μία συνάντηση) καταλαβαίνω οτι δεν είσαι και πολύ σίγουρος, οπότε μία μέρα ίσως δεν παίζει.
Ακόμα και αν όμως έχω άδικο, στο βιβλίο μια τέτοια καθομιλούμενη ερμηνεία ίσως είναι δεκτή.
Σε καμία περίπτωση όμως ξεκομμένη, ως ένα Σ-Λ, γιατί εκεί είναι πιο ευκολη η κυριολεκτική ερμηνεία.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

alkisg

"ένα υποπρόγραμμα μπορεί να κληθεί από το κύριο πρόγραμμα ή ένα άλλο υποπρόγραμμα"

Δεν είναι προφανές ότι εννοούνε "επιτρέπονται και τα δύο";
Υπάρχει περίπτωση να εννοούνε "μπορεί να επιτρέπεται μόνο το ένα από αυτά, αλλά δεν σας λέμε ποιο";

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

pgrontas

#10
Παράθεση από: alkisg στις 01 Μαΐου 2020, 05:54:27 ΜΜ
"ένα υποπρόγραμμα μπορεί να κληθεί από το κύριο πρόγραμμα ή ένα άλλο υποπρόγραμμα"

Δεν είναι προφανές ότι εννοούνε "επιτρέπονται και τα δύο";
Υπάρχει περίπτωση να εννοούνε "μπορεί να επιτρέπεται μόνο το ένα από αυτά, αλλά δεν σας λέμε ποιο";

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

Άλκη συμφωνούμε για το Σ-Λ. Επίσης συμφωνούμε και για στο ότι οι συγγραφείς μπορεί σε κάποια σημεία να γράφουν πιο ελεύθερα (όχι όμως σε όλα - πρέπει και κάπου να είναι σαφείς).

Εκεί που διαφωνούμε είναι όταν το βιβλίο γράφει "ένα υποπρόγραμμα μπορεί να κληθεί από το κύριο πρόγραμμα ή ένα άλλο υποπρόγραμμα", δεν αποκλείεται να εννοεί:
"Ξέρω κάποιες περιπτώσεις που ισχύει (κυρίως πρόγραμμα, μεταξύ διαδικασιών), όμως υπάρχουν κάποιες που δεν έχουν οριστεί σαφώς και διαφωνούμε με την υπόλοιπη ομάδα. Ας το στρογγυλέψουμε λίγο να είμαστε όλοι καλυμμένοι. Έτσι κι αλλιώς δεν θα κάνουμε υλοποίηση διερμηνευτή."
Φυσικά όλα αυτά είναι εικασίες και μπορεί να έχω άδικο αλλά δεν μπορώ να δώσω άλλη εξήγηση. Το σίγουρο είναι ότι ένας ακόμα λόγος για τον οποίο το βιβλίο (ειδικά το συγκεκριμένο) δεν πρέπει να λαμβάνεται ως ευαγγέλιο.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

P.Tsiotakis

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

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

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

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