Αποστολέας Θέμα: ΘΕΜΑ Δ  (Αναγνώστηκε 3811 φορές)

Laertis

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 1466
  • Δεν αντέχω την (συμ)-πίεσηηη .......
    • ΑΣΚΗΣΕΙΣ-ΘΕΜΑΤΑ ΑΕΠΠ
Απ: ΘΕΜΑ Δ
« Απάντηση #30 στις: 13 Ιούν 2017, 02:16:42 μμ »
Μία ερώτηση, προς όλους τους συναδέλφους, γιατί το έγραψα πριν και μάλλον πέρασε στο ντούκου. Οι μαθητές οι οποίοι κάλεσαν τη συνάρτηση βάζοντας αριθμό ως όρισμα (π.χ. 1 ή 4) πως θα βαθμολογηθούν; Γιατί το σχολικό βιβλίο λέει ότι οι παράμετροι είναι μεταβλητές. Υπάρχει καμία οδηγία για αυτό; Επίσης το είδα γραμμένο και σε λύσεις συναδέλφου. Με καλή διάθεση εννοείται η παρατήρηση  :)

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

Sergio

  • Αστέριος Φανίκος, Καθηγητής Πληροφορικής, fanikosaATschDOTgr
  • Δεινόσαυρος
  • *****
  • Μηνύματα: 801
  • Κάλλιο γνώση, παρά γρόσι.. (ΛΑΪΚΗ ΠΑΡΟΙΜΙΑ)
    • Προσωπική Σελίδα
Απ: ΘΕΜΑ Δ
« Απάντηση #31 στις: 16 Ιούν 2017, 10:10:44 πμ »
ΛΥΣΗ η οποία, στη συνάρτηση ΣΥΝΑΠ δεν κάνει χρήση τοπικής μεταβλητής για τον υπολογισμό του αποτελέσματος αλλά χρησιμοποιεί τη ΣΥΝΑΠ ως κοινή μεταβλητή (ΣΥΝΑΠ <- ΣΥΝΑΠ + ...) έχει βαθμολογική απώλεια ;;

Τι λέτε;
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

epsilonXi

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 117
Απ: ΘΕΜΑ Δ
« Απάντηση #32 στις: 16 Ιούν 2017, 12:03:08 μμ »
δε βλέπω το λόγο...

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

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

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

novaro

  • Θαμώνας
  • ***
  • Μηνύματα: 37
Απ: ΘΕΜΑ Δ
« Απάντηση #33 στις: 16 Ιούν 2017, 01:10:50 μμ »
ΛΥΣΗ η οποία, στη συνάρτηση ΣΥΝΑΠ δεν κάνει χρήση τοπικής μεταβλητής για τον υπολογισμό του αποτελέσματος αλλά χρησιμοποιεί τη ΣΥΝΑΠ ως κοινή μεταβλητή (ΣΥΝΑΠ <- ΣΥΝΑΠ + ...) έχει βαθμολογική απώλεια ;;

Τι λέτε;
Από αυτά που γνωρίζω όταν δηλώνεται η συνάρτηση δημιουργείται από τον μεταγλωττιστή μια τοπική μεταβλητή με το όνομα της συνάρτησης που μπορεί να χρησιμοποιηθεί από τον προγραμματιστή όπως κάθε άλλη μεταβλητή.
Έτσι λοιπόν μπορούμε να κάνουμε ανάθεση σε αυτήν ενώ δεν έχει δηλωθεί καν από εμάς. Η τελική της τιμή  πριν την εντολή ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ είναι και αυτή που επιστρέφεται.

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2225
Απ: ΘΕΜΑ Δ
« Απάντηση #34 στις: 16 Ιούν 2017, 01:24:19 μμ »
Ναι αλλά αυτό παραπέμπει σε αναδρομή και θα δημιουργήσει συντακτικό λάθος..
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

novaro

  • Θαμώνας
  • ***
  • Μηνύματα: 37
Απ: ΘΕΜΑ Δ
« Απάντηση #35 στις: 16 Ιούν 2017, 01:40:12 μμ »
Ναι αλλά αυτό παραπέμπει σε αναδρομή και θα δημιουργήσει συντακτικό λάθος..
Για να γίνει αναδρομή πρέπει να γίνει κλήση της συνάρτησης με τα πλήρη ορίσματα της και τις παρενθέσεις. Αλλιώς αναφερόμαστε στην τοπική μεταβλητή.
Ίσως αυτή η σύγχυση που δημιουργήθηκε να είχε ως αποτέλεσμα σε γλώσσες όπως η pascal η ανάθεση να μπορεί να γίνεται και σε άλλη μεταβλητή την result.

Function Factorial(n : Integer) : Integer;
Begin
   If n = 1 Then
      Factorial := 1
   Else
      Factorial := n*Factorial(n-1);
End;

Στο παράδειγμα της Pascal η factorial είναι μεταβλητή γι'αυτό μπορεί να βρίσκεται και στο αριστερό μέρος της εντολής εκχώρησης ενώ δεξιά γίνεται η αναδρομική κλήση της συνάρτησης με ορίσμα το n-1.

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1015
Απ: ΘΕΜΑ Δ
« Απάντηση #36 στις: 16 Ιούν 2017, 11:42:46 μμ »
ΣΥΝΑΠ <- ΣΥΝΑΠ + .....

γίνεται κλήση της ΣΥΝΑΠ μέσα απ ' τον εαυτό της ....

1.   Αναδρομή
2.  Με λανθασμένο τρόπο


Α

novaro

  • Θαμώνας
  • ***
  • Μηνύματα: 37
Απ: ΘΕΜΑ Δ
« Απάντηση #37 στις: 17 Ιούν 2017, 12:13:54 πμ »
ΣΥΝΑΠ <- ΣΥΝΑΠ + .....

γίνεται κλήση της ΣΥΝΑΠ μέσα απ ' τον εαυτό της ....

1.   Αναδρομή
2.  Με λανθασμένο τρόπο


Α
Αν το ελέγξες πάω πάσο. Δεν έχω λογο να επιμένω .

Sergio

  • Αστέριος Φανίκος, Καθηγητής Πληροφορικής, fanikosaATschDOTgr
  • Δεινόσαυρος
  • *****
  • Μηνύματα: 801
  • Κάλλιο γνώση, παρά γρόσι.. (ΛΑΪΚΗ ΠΑΡΟΙΜΙΑ)
    • Προσωπική Σελίδα
Απ: ΘΕΜΑ Δ
« Απάντηση #38 στις: 17 Ιούν 2017, 09:07:46 μμ »
Σε αυτό το θέμα έχω πραγματικά προβληματιστεί:
Α. Ως πληροφορικός συμφωνώ με την τοποθέτηση του Ανδρέα.
Β. Ως δάσκαλος διδάσκω το ίδιο.
Γ. Ως μαθητής, αλλά και (πιθανά) ως δάσκαλος που θέλω να διδάξω με βάση τους στόχους του μαθήματος, το διδακτικό πακέτο και την ύλη του μαθήματος, τα πράγματα περιπλέκονται:


1. Παρ.7.8 (Εντολή εκχώρησης):
Σύνταξη
Όνομα-Μεταβλητής <- έκφραση
Λειτουργία
Υπολογίζεται η τιμή της έκφρασης στη δεξιά πλευρά και εκχωρείται η τιμή αυτή στη μεταβλητή, που αναφέρεται στην αριστερή πλευρά.

Συμπέρασμα 1α: Στην αριστερή πλευρά μιας εντολή εκχώρησης υπάρχει όνομα μεταβλητής
Συμπέρασμα 1β: Στη δεξιά πλευρά μιας εντολή εκχώρησης υπάρχει έκφραση


2. Παρ.10.5. (Διαδικασίες και συναρτήσεις):
Οι συναρτήσεις εκτελούνται απλά με την εμφάνιση του ονόματος τους σε οποιαδήποτε έκφραση.

Συμπέρασμα 2: Η εμφάνιση του ονόματος μιας συνάρτησης σε μια έκφραση αποτελεί κλήση της συνάρτησης


3. Παρ.10.5.1. (Ορισμός και κλήση συναρτήσεων):
Στις εντολές του σώματος της συνάρτησης πρέπει υποχρεωτικά να υπάρχει μία εντολή εκχώρησης τιμής στο όνομα της συνάρτησης..

Συμπέρασμα 3: Στις εντολές του σώματος της συνάρτησης, το όνομα της συνάρτησης παίζει το ρόλο μεταβλητής.


4. Παρ.10.5.1. (Ορισμός και κλήση συναρτήσεων):
Κάθε συνάρτηση εκτελείται, όπως ακριβώς εκτελούνται οι ενσωματωμένες συναρτήσεις της γλώσσας. Απλώς αναφέρεται το όνομα της σε μια έκφραση ή σε μία εντολή και επιστρέφεται η τιμή της.

Συμπέρασμα 4: (ΙΔΙΟ με το συμπέρασμα 2) Η εμφάνιση του ονόματος μιας συνάρτησης σε μια έκφραση αποτελεί κλήση της συνάρτησης.


5. Παρ.10.7. (Αναδρομή)
ΕΚΤΟΣ ύλης


Κάπως έτσι αρχίζουν οι συγκρούσεις.

Στο πλαίσιο της ύλης, η αναδρομή (τόσο ως ύλη όσο και ως ΕΝΝΟΙΑ) ΔΕΝ διδάσκεται.

Με βάση το συμπέρασμα 3, στις εντολές του σώματος της συνάρτησης, το όνομα της συνάρτησης παίζει το ρόλο μεταβλητής, κάτι το οποίο «επιβεβαιώνεται» και από το συμπέρασμα 1α.

Με βάση το συμπέρασμα 2 (όπως επαναλαμβάνεται και στο 4 και υποστηρίζεται από το συμπέρασμα 1β) η αναφορά του ονόματος της συνάρτησης σε μια έκφραση αποτελεί κλήση στη συνάρτηση.


Ναι, αλλά στο σώμα της συνάρτησης είναι μεταβλητή!! (προσπαθώ να σκεφτώ ως μαθητής τώρα..) 

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

Ναι, αλλά στο δεξιό μέλος μιας εντολής εκχώρησης υπάρχει έκφραση!! Και η αναφορά του ονόματος της συνάρτησης σε μια έκφραση αποτελεί κλήση!!

Ναι ρε φίλε, αλλά μην ξεχνάς, είμαστε ΜΕΣΑ στη συνάρτηση, και εκεί το όνομά της είναι μεταβλητή..

Ναι αλλά στο δεξιό σκέλος, που το όνομα συμπεριλαμβάνεται σε έκφραση, δεν είναι κλήση;;

Πας καλά;; Να καλέσει ΤΙ?? Τον εαυτό της;;; Σοβαρέψου !! Αφού είπαμε, μέσα στην ίδια τη συνάρτηση, το όνομά της λειτουργεί ως μεταβλητή, το λέει και το βιβλίο: (Κλήση συνάρτησης) «Στις εντολές του σώματος της συνάρτησης πρέπει υποχρεωτικά να υπάρχει μία εντολή εκχώρησης τιμής στο όνομα της συνάρτησης».. (Εντολή εκχώρησης) «Υπολογίζεται η τιμή της έκφρασης στη δεξιά πλευρά και εκχωρείται η τιμή αυτή στη μεταβλητή, που αναφέρεται στην αριστερή πλευρά».   Άκου κει.. Να καλεί τον εαυτό της.. Πολύ φαντασία έχεις..

Τέλος πάντων.. Μάλλον παραμπήκα στο πετσί του ρόλου (του μαθητή).


Καταληκτικά: Παρά το γεγονός πως ως δάσκαλος διδάσκω πως πρέπει να χρησιμοποιούν τοπική μεταβλητή για τον υπολογισμό του αποτελέσματος και να εκχωρούν την τιμή της στο όνομα της συνάρτησης, όταν βρίσκομαι αντιμέτωπος με ερωτήματα της μορφής ΓΙΑΤΙ να μη χρησιμοποιήσουμε το όνομα της συνάρτησης κανονικά αφού λειτουργεί ως μεταβλητή τους αναβάλω την απάντηση για αργότερα.  Έτσι, αναγκάζομαι (στο δεύτερο πέρασμα της σχετικής ενότητας) να μιλήσω για αναδρομή (πολύ απαλά) ΜΟΝΟ-ΚΑΙ-ΜΟΝΟ για να εξηγήσω πως ΔΕΝ πρέπει να αναφέρεται το όνομα της συνάρτησης σε έκφραση για λόγους που είναι «εκτός ύλης»

Εν τούτοις, στο πλαίσιο των εξετάσεων, κλίνω υπέρ της άποψης πως ΛΥΣΗ η οποία, στη συνάρτηση ΣΥΝΑΠ δεν κάνει χρήση τοπικής μεταβλητής για τον υπολογισμό του αποτελέσματος αλλά χρησιμοποιεί τη ΣΥΝΑΠ ως κοινή μεταβλητή (ΣΥΝΑΠ <- ΣΥΝΑΠ + ...) ΔΕΝ πρέπει να έχει βαθμολογική απώλεια.
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

novaro

  • Θαμώνας
  • ***
  • Μηνύματα: 37
Απ: ΘΕΜΑ Δ
« Απάντηση #39 στις: 17 Ιούν 2017, 09:25:04 μμ »
Αστέριε το έτρεξες σε ΓΛΩΣΣΑ και κάνει όντως αναδρομή; Εγώ δεν το έτρεξα αλλά ξέρω ότι αν δεν βάλεις παρένθεση και ορίσματα αν υπάρχουν δεν καλείται η συνάρτηση αλλά αναφερόμαστε στη μεταβλητή. Είπα και σε προηγούμενο ποστ ότι στην Pascal για αυτό το λόγο βάλανε την τοπική μεταβλητη result.

Sergio

  • Αστέριος Φανίκος, Καθηγητής Πληροφορικής, fanikosaATschDOTgr
  • Δεινόσαυρος
  • *****
  • Μηνύματα: 801
  • Κάλλιο γνώση, παρά γρόσι.. (ΛΑΪΚΗ ΠΑΡΟΙΜΙΑ)
    • Προσωπική Σελίδα
Απ: ΘΕΜΑ Δ
« Απάντηση #40 στις: 17 Ιούν 2017, 09:37:53 μμ »
Αστέριε το έτρεξες σε ΓΛΩΣΣΑ και κάνει όντως αναδρομή; Εγώ δεν το έτρεξα αλλά ξέρω ότι αν δεν βάλεις παρένθεση και ορίσματα αν υπάρχουν δεν καλείται η συνάρτηση αλλά αναφερόμαστε στη μεταβλητή. Είπα και σε προηγούμενο ποστ ότι στην Pascal για αυτό το λόγο βάλανε την τοπική μεταβλητη result.

Ο Διερμηνευτής το ερμηνεύει ως κλήση και γι' αυτό παράγει μήνυμα λάθους:
"Περίμενα αριστερή παρένθεση για τις παραμέτρους του υποπρογράμματος «ΣΥΝΑΠ»."

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

Το πρόβλημα, όπως το περιέγραψα παραπάνω, έχει να κάνει με την απουσία της αναδρομής από την ύλη, το κείμενο του βιβλίου, αλλά και τις αναπαραστάσεις των μαθητών από το "εντός ύλης" διδαγμένο.
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

novaro

  • Θαμώνας
  • ***
  • Μηνύματα: 37
Απ: ΘΕΜΑ Δ
« Απάντηση #41 στις: 17 Ιούν 2017, 10:00:14 μμ »
Αυτό το περίμενα που λέει είναι ότι όντως περιμένει τις παρενθέσεις για να κάνει αναδρομή. Και στο κεφάλαιο της αναδρομής η κλήση γίνεται στο δεξιό μέρος και με παρενθέσεις και παραμέτρους.
Το γιατί χωρίς παρενθέσεις δεν αποτιμάται η μεταβλητή αλλά περιμένει παρενθέσεις για αναδρομή είναι θέμα που μόνο ο Άλκης μπορεί να το απαντήσει.


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

epsilonXi

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 117
Απ: ΘΕΜΑ Δ
« Απάντηση #42 στις: 18 Ιούν 2017, 12:17:35 πμ »
εγώ νομίζω ότι κουβεδιάζουμε περισσότερο απ' όσο χρειάζεται...

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

δεν έχει καμμία σημασία αν είναι στην ύλη η αναδρομή ή όχι... όταν τους λες για μετρητές που αυξάνονται κατά ένα, μιλάς για αναδρομή;

θα μού πεις ότι δεν είναι το ίδιο... και θα σού πω πάλι ότι δεν έχει σημασία  :P

σημασία έχει να βγαίνει ένα σωστό νόημα, λογική


alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5165
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: ΘΕΜΑ Δ
« Απάντηση #43 στις: 18 Ιούν 2017, 07:15:29 πμ »
Σόρρυ παιδιά δεν το είχα δει το θέμα.


3. Παρ.10.5.1. (Ορισμός και κλήση συναρτήσεων):
Στις εντολές του σώματος της συνάρτησης πρέπει υποχρεωτικά να υπάρχει μία εντολή εκχώρησης τιμής στο όνομα της συνάρτησης..

Συμπέρασμα 3: Στις εντολές του σώματος της συνάρτησης, το όνομα της συνάρτησης παίζει το ρόλο μεταβλητής.

Αυτό το συμπέρασμα είναι αυθαίρετο. Ο Διερμηνευτής υλοποιεί το ίδιο συντακτικό κλήσης συναρτήσεων όπως και η Pascal: το όνομα της συνάρτησης είναι μεταβλητή όταν και μόνο όταν είμαστε στο εσωτερικό μιας συνάρτησης, και στο αριστερό μέρος μιας εντολής εκχώρησης. Οπουδήποτε αλλού αποτελεί κλήση της συνάρτησης.

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

Έτσι για παράδειγμα στην Pascal η εντολή st := Keypress + Keypress, καλεί δύο φορές την συνάρτηση Keypress που διαβάζει ένα πλήκτρο από το πληκτρολόγιο χωρίς να περιμένει Enter.

Η μεταβλητή Result της Pascal δεν υπήρχε στην Standard Pascal και εισήχθηκε σε νεότερες εκδόσεις της Turbo Pascal σαν βοήθημα, αν ποτέ χρειαστεί να διαβάσουμε την τιμή που έχουμε καταχωρήσει στη συνάρτηση. Δεν νομίζω ότι η μεταβλητή Result μας ενδιαφέρει καθόλου στα πλαίσια της ΓΛΩΣΣΑΣ.

Όσο για τα εκτός ύλης κλπ, είναι τελείως λάθος να αλλάζουμε τους κανόνες της ΓΛΩΣΣΑΣ ανάλογα με το τι είναι κάθε χρονιά στην ύλη. Η ΓΛΩΣΣΑ είναι και διαδικασιακή και αντικειμενοστραφής και event driven κλπ, ακόμα κι αν δεν είναι στην ύλη όλα αυτά τα χρόνια ο οδηγούμενος από τα γεγονότα προγραμματισμός, ή αν δεν έχει υλοποιηθεί στον Διερμηνευτή κλπ.

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

novaro

  • Θαμώνας
  • ***
  • Μηνύματα: 37
Απ: ΘΕΜΑ Δ
« Απάντηση #44 στις: 18 Ιούν 2017, 08:47:32 πμ »
Άλκη θεωρώ πραγματικά τιμή μου να συμμετέχω σε μια συζήτηση μαζί σου μιας και όλα αυτά τα χρόνια σε θεωρώ έναν επιστήμονα πολύ μπροστά από την εποχή του. Δηλαδή έκανε πράγματα όταν αυτά ήταν δύσκολα για τους πολλούς και χάρισε τα μέγιστα στο κομμάτι της αλγοριθμικής σκέψης στην Ελλάδα. Δεν ξέρω αν το έχουν κάνει αλλά έπρεπε να σε έχουν ήδη βραβεύσει για την προσφορά σου.

Τώρα όσον αφορά τη λεπτομέρεια αυτή δεν ξέρω αν στο stackoveflow όλοι είναι σωστοί και γνωρίζουν αλλά βρήκα αυτό:

https://stackoverflow.com/questions/34979207/why-i-can-use-function-name-in-pascal-as-variable-name-without-definition
Αναφέρεται στην Pascal πάνω στην οποία είναι φτιαγμένος ο διερμηνευτής.

****************************************************
In case of usage of function name at the right side of equation, it is interpreted as variable, not as function calls:

Test := Test + 1; // Increments Test value
but you still can to call function recursively using brackets:

Test := Test() + 1; // Recursion
So, you have three ways to return value from the function (for your example):

function Test : integer;
begin
    Test := 2; // Function result = 2
    Result := 2; // Same to previous
    Exit(2); // Sets function result to 2 end exits immediately
end;
It is up to you which method to use.
******"******************"*******************†*

Κάτι μου έρχεται στο μυαλό σχετικά με r-values και l-values. Το ερώτημα είναι αν στο δεξιό μέρος της εκχώρησης το όνομα της συνάρτησης είναι η rvalue της μεταβλητής με το όνομα της συνάρτησης ή γίνεται κλήση. Η lvalue της είναι σίγουρα η διεύθυνση της μεταβλητής γι'αυτό και κάνουμε εκχώρηση. Με αυτά που είπαμε αφού στο δεξιό μέρος δεν γίνεται αποτίμηση αλλά κλήση σημαίνει ότι η μεταβλητή δεν μπορεί να συμμετέχει σε εκφράσεις γιατί δεν μπορεί να αποτιμηθεί η  r-value της.

Επίσης θέλω να δηλώσω ότι προσφέρομαι να συνεισφέρω αν υπάρχει διάθεση να μεταφέρεις την ΓΛΩΣΣΑ σε android.

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

Και για να μην είμαι και ανώνυμος μιας και δεν έχει νόημα. σε μια επιστημονική κοινότητα.

Σαρικας Σάββας
Καθηγητής Πληροφορικής

« Τελευταία τροποποίηση: 18 Ιούν 2017, 09:31:13 πμ από novaro »