Αποστολέας Θέμα: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ  (Αναγνώστηκε 977 φορές)

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 336
ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« στις: 08 Ιούλ 2020, 04:47:01 μμ »
Καλησπέρα συνάδελφοι.
Θέλω να συζητήσω μαζί σας ένα προβληματισμό μου.

Έστω το παρακάτω πρόγραμμα:

ΠΡΟΓΡΑΜΜΑ Hello_World
ΑΡΧΗ
  ΓΡΑΨΕ 'ΚΑΛΗΜΕΡΑ ΣΥΝΑΔΕΛΦΟΙ!!!'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Ερώτηση:

Το πρόγραμμα έχει τμήμα δηλώσεων ή δεν έχει;
Οπτική γωνία Α: Δεν έχει γιατί δε δηλώνεται τίποτα όποτε είναι άχρηστο, άρα... το Τμήμα Δηλώσεων είναι προαιρετικό.
Οπτική γωνία Β: Το Τμήμα Δηλώσεων ΥΠΑΡΧΕΙ, είναι κενό, αλλά βρίσκεται μεταξύ της ΠΡΟΓΡΑΜΜΑ και της ΑΡΧΗ.

Στο ΠΑΡΑΡΤΗΜΑ Α (που είναι εκτός εξεταστέας ούτως ή άλλως) δε το κάνει σαφές...

Στην ενότητα 7.10 λέει:

" Όπως κάθε εντολή ακολουθεί αυστηρούς συντακτικούς κανόνες, έτσι και ολόκληρο το πρόγραμμα έχει αυστηρούς κανόνες για τον τρόπο που δομείται.
Η πρώτη εντολή κάθε προγράμματος είναι υποχρεωτικά η επικεφαλίδα του προγράμματος, η οποία είναι η λέξη ΠΡΟΓΡΑΜΜΑ ακολουθούμενη από το όνομα του προγράμματος. Το τελευταίο πρέπει να υπακούει στους κανόνες δημιουργίας ονομάτων της ΓΛΩΣΣΑΣ.
Στη συνέχεια ακολουθεί το τμήμα δήλωσης των σταθερών του προγράμματος, αν βέβαια το πρόγραμμά μας χρησιμοποιεί σταθερές.
Αμέσως μετά είναι το τμήμα δήλωσης μεταβλητών, όπου δηλώνονται υποχρεωτικά τα ονόματα όλων των μεταβλητών καθώς και ο τύπος τους.

Ακολουθεί το κύριο μέρος του προγράμματος, που περιλαμβάνει όλες τις εκτελέσιμες εντολές.
Οι εντολές αυτές περιλαμβάνονται υποχρεωτικά ανάμεσα στις λέξεις ΑΡΧΗ και ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ.
Τέλος, αν το πρόγραμμα χρησιμοποιεί διαδικασίες (βλ. κεφ. 10), αυτές γράφονται μετά το ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ.
Κάθε εντολή γράφεται σε ξεχωριστή γραμμή.
Αν μία εντολή πρέπει να συνεχιστεί και στην επόμενη γραμμή, τότε ο πρώτος χαρακτήρας αυτής της γραμμής πρέπει να είναι ο χαρακτήρας &.
Αν ο πρώτος χαρακτήρας είναι το θαυμαστικό (!), σημαίνει ότι αυτή η γραμμή περιέχει σχόλια και όχι εκτελέσιμες εντολές."
Στην ανακεφαλαίωση:
"Κάθε πρόγραμμα έχει τον τίτλο του, ακολουθεί το τμήμα δηλώσεων (σταθερών και μεταβλητών) και μετά ανάμεσα στις λέξεις ΑΡΧΗ και ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ βρίσκονται όλες οι εκτελέσιμες εντολές."

Εσείς καταλάβατε αν είναι ρητά προαιρετικό; Εγώ νομίζω πως είναι προαιρετικό όπως το βλέπω, έλα όμως που η δεσμευμένη λέξη ΑΡΧΗ θέτει την αρχή του Κεντρικού μέρους του προγράμματος και ταυτόχρονα τη λήξη του Τμήματος Δηλώσεων! Δε το λέει αυτό για το τμήμα δηλώσεων ρητά κάπου, αλλά εξυπακούεται.

Γιατί ρωτάω;
Σ/Λ
Όλα τα προγράμματα σε ΓΛΩΣΣΑ έχουν υποχρεωτικά Τμήμα Δηλώσεων. Σωστό ή Λάθος;

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

Και που να σφίξουν οι ζέστες θα μου πείτε, αλλά τι να κάνω, μου αρέσει να προβληματίζομαι και να ψειρίζω το μάθημα. Όσο ακόμα είναι σε ΓΛΩΣΣΑ τουλάχιστο....

« Τελευταία τροποποίηση: 11 Ιούλ 2020, 06:54:06 μμ από George Eco »

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 533
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #1 στις: 08 Ιούλ 2020, 05:26:38 μμ »
Δίνεις ένα παράδειγμα που το θεωρείς πρόγραμμα. Αλλά δεν είναι ακριβώς πρόγραμμα. Διότι δεν έχει καμία επεξεργασία. Δηλαδή ένα πρόγραμμα έχει μια εισαγωγή, μια φάση επεξεργασίας και μια εξαγωγή. Αυτό είναι ένα απλό σχέδιο. Στο παράδειγμα δεν υπάρχει αλγόριθμος. Τι κάνεις λοιπόν; Ρωτάς αν συντακτικά είναι σωστό κάτι που δεν έχει τμήμα δηλώσεων σε ένα πρόγραμμα που δεν υπάρχει τίποτα για να δηλώσεις! Σου λέει η θεωρία ότι αν δεν έχεις να δηλώσεις σταθερή δεν βάζεις τμήμα δηλώσεων σταθερών. Δεν στο λέει στις μεταβλητές γιατί δεν υπάρχει περίπτωση να γράψεις πρόγραμμα χωρίς κάτι να επεξεργάζεται, άρα να καταγράφεται σε μεταβλητές. Αν τώρα παίζεις με την περίπτωση του Hello World, ή ανάλογου, τότε έχεις ήδη κάνει έκπτωση σε αυτό που λέμε πρόγραμμα και η απάντηση πρέπει να είναι ανάλογη της έκπτωσης!





George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 336
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #2 στις: 08 Ιούλ 2020, 06:53:04 μμ »
Δίνεις ένα παράδειγμα που το θεωρείς πρόγραμμα. Αλλά δεν είναι ακριβώς πρόγραμμα. Διότι δεν έχει καμία επεξεργασία. Δηλαδή ένα πρόγραμμα έχει μια εισαγωγή, μια φάση επεξεργασίας και μια εξαγωγή. Αυτό είναι ένα απλό σχέδιο. Στο παράδειγμα δεν υπάρχει αλγόριθμος. Τι κάνεις λοιπόν; Ρωτάς αν συντακτικά είναι σωστό κάτι που δεν έχει τμήμα δηλώσεων σε ένα πρόγραμμα που δεν υπάρχει τίποτα για να δηλώσεις! Σου λέει η θεωρία ότι αν δεν έχεις να δηλώσεις σταθερή δεν βάζεις τμήμα δηλώσεων σταθερών. Δεν στο λέει στις μεταβλητές γιατί δεν υπάρχει περίπτωση να γράψεις πρόγραμμα χωρίς κάτι να επεξεργάζεται, άρα να καταγράφεται σε μεταβλητές. Αν τώρα παίζεις με την περίπτωση του Hello World, ή ανάλογου, τότε έχεις ήδη κάνει έκπτωση σε αυτό που λέμε πρόγραμμα και η απάντηση πρέπει να είναι ανάλογη της έκπτωσης!


Δίνω ένα παράδειγμα που εξ ορισμού θεωρείται πρόγραμμα. Είναι ακριβέστατα πρόγραμμα. Εμφανίζει ένα μήνυμα.
Δηλαδή αν βάλω σε μια γλώσσα προγραμματισμού να κάνει print έναν random αριθμό σε τι θα διαφέρει;
Από Wikipedia:
A computer program is a collection of instructions that can be executed by a computer to perform a specific task.
Θέλω να εμφανιστεί στην οθόνη το μήνυμα. Αυτό μόνο.
Τι εννοείς στο παράδειγμα δεν υπάρχει αλγόριθμος;

Αλγόριθμος Hello_World
   Εμφάνισε 'ΚΑΛΗΜΕΡΑ ΣΥΝΑΔΕΛΦΟΙ!!!'
Τέλος Hello_World

"Ρωτάς αν συντακτικά είναι σωστό κάτι που δεν έχει τμήμα δηλώσεων σε ένα πρόγραμμα που δεν υπάρχει τίποτα για να δηλώσεις!"
Όχι. Συντακτικά είναι ολόσωστο. Ρωτάω αν ΥΠΑΡΧΕΙ ή όχι τμήμα δηλώσεων, όταν δε δηλώνω κάτι.

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

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

Αν πω
ΓΡΑΨΕ 10 + 25 * 2
έχω κάνει επεξεργασία χωρίς μεταβλητές παρεμπιπτόντως. Η ερώτηση που κάνω είναι ξεκάθαρα θεωρητική και στόχο έχει άλλο πράγμα.

Όλα τα προγράμματα σε ΓΛΩΣΣΑ έχουν υποχρεωτικά Τμήμα Δηλώσεων. Σωστό ή Λάθος;

Καταλαβαίνεις πιστεύω πως μιλάμε για το μάθημα της Πληροφορικής στη Γ Λυκείου εδώ και προσπαθώ να καταλάβω αν το Τμήμα Δηλώσεων είναι προαιρετικό ή υποχρεωτικό έστω και κενό. ΑΥΤΗ είναι η απορία μου.
Δεν έχω κάνει καμμία έκπτωση σε αυτό που αποκαλείται πρόγραμμα. Ίσως να κάνω έκπτωση σε κάτι που εσύ αποκαλείς πρόγραμμα, ή στο τρόπο που το αντιλαμβάνεσαι, και λογικό να το βλέπεις έτσι. Αλλά ο ορισμός είναι ξεκάθαρος.

A computer program is a collection of instructions that can be executed by a computer to perform a specific task.
Ούτε κατά τον Wirth δε πάω κόντρα. Η δομή δεδομένων που έχει το πρόγραμμα μέσα του hardcoded, είναι μία συμβολοσειρά.
Ας αφήσουμε όμως ήσυχη τη wikipedia και τα κατά Wirth.

Βιβλίο Β Λυκείου, ενότητα 2.3.1:
"Πρόγραμμα είναι το σύνολο των εντολών που χρειάζεται να δοθούν στον υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος για την επίλυση του προβλήματος."

Κι ένας αλγόριθμος μπορεί ο ίδιος να παράγει είσοδο, δεν είναι απαραίτητο στοιχείο είσοδος από το χρήστη.
Δεν έχει καθιερωθεί τυχαία το "πρώτο πρόγραμμα" να είναι το Hello World.
ΤΟΣΟ λάθος να είμαστε όλοι μας;  :D
Στο δια ταύτα:
ΥΠΑΡΧΕΙ τμήμα δηλώσεων κι είναι κενό Ή μήπως δεν υπάρχει τμήμα δηλώσεων κι είναι προαιρετικό στοιχείο;
Στα πλαίσια του μαθήματος πάντα.
« Τελευταία τροποποίηση: 22 Ιούλ 2020, 11:59:28 μμ από George Eco »

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 533
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #3 στις: 08 Ιούλ 2020, 07:35:29 μμ »
Στο ερώτημα το γενικό για τη χρήση δήλωσεων μεταβλητών, ότι πρέπει να γίνεται απαντάμε ΣΩΣΤΟ. Δεν ρωτάς κάποιον για δηλώσεις εκεί που δεν υπάρχουν μεταβλητές. Είναι αυθαίρετο συμπέρασμα, όπως και η γενίκευση περί κάθε προγράμματος. Η ερώτηση είναι για προγράμματα με μεταβλητές. Αυτό έχει να κάνει με το αντίθετο, μια γλώσσα να δέχεται ορισμούς απευθείας στο μέρος του προγράμματος. Αν υπήρχε αυτή η δυνατότητα τότε θα ήταν ΛΆΘΟΣ. Εφόσον δεν επιτρέπεται η χρήση ορισμών μέσα στο κύριο πρόγραμμα, υποχρεωτικά γίνεται με δήλωση πριν από αυτό. Αυτή είναι η εξήγηση. Το παράδειγμα χωρίς μεταβλητές είναι έξω από το νόημα της ερώτησης.

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

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 533
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #4 στις: 08 Ιούλ 2020, 07:52:29 μμ »
Να συμπληρώσω ότι μια γλώσσα ορίζεται η με πρότυπο ή με την εκδοση διερμηνευτή. ή μεταφραστή. Δυστυχώς ούτε το ένα ούτε το άλλο συμβαίνει για την ΓΛΩΣΣΑ. Το πρότυπο είναι διάσπαρτα σε βιβλία και δεν είναι πλήρης.
Αν στη σύνταξη ελάχιστου αποδεκτού προγράμματος έμπαινε η γραμμή Μεταβλητές: χωρίς να υπάρχουν μεταβλητές θα ξεκαθαρίζει ότι το τμήμα δηλώσεων είναι υποχρεωτικό να εμφανίζεται . Ή αν η εντολή υποχρεωτικά συντασεται με τουλάχιστον μια μεταβλητή θα σήμαινε ότι η απουσία μεταβλητών σημαίνει και απουσία τμήματος δηλώσεων.
Γενικά η τεκμηρίωση σύνταξης μιας γλώσσας είναι υποχρεωτική και πρέπει να είναι πλήρης. Με το δίκιο σου να θες να αποφύγεις ερμηνείες από τον οποιοδήποτε.

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 336
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #5 στις: 08 Ιούλ 2020, 08:44:37 μμ »
Bugman, ζητάω απάντηση στα πλαίσια του μαθήματος.
Και ναι η ΓΛΩΣΣΑ έχει απαράδεκτη τεκμηρίωση κι είναι κι 20 ετών, το έχουμε πει χίλιες φορές και γι' αυτό το λόγο ρωτάω, μήπως κανείς έχει κάποια απάντηση ή έχει δει κάτι που εμένα μου διαφεύγει.

akalest0s

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 247
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #6 στις: 10 Ιούλ 2020, 05:43:42 μμ »
Από όσο ξέρω, δεν έχει οριστεί ακριβώς, ούτε συνάγεται ασφαλές συμπέρασμα από πουθενά. Συνεπώς πρόκειται για ένα σημείο ασαφές, που όμως είναι άνευ σημασίας, κατά τη γνώμη μου. Ένα Σ-Λ που ρωτάει κάτι τέτοιο, έχει χάσει το στόχο του. Στα σημεία που το μάθημα είναι λεπτομερές και ακριβές, ας ερωτώνται τέτοιας λεπτομέρειας Σ-Λ. Εκεί που δεν είναι, κακώς κάποιος ρωτάει κάτι τέτοιο. Γιατί απλά δεν υπάρχει ορισμένη απάντηση, οπότε ο καθένας απαντάει όπως νομίζει, δηλαδή όπως είπα, ένα Σ-Λ που έχασε το δρόμο του..

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

Για την ιστορία, εγώ θα απαντούσα ξεκάθαρα ΛΑΘΟΣ, και θα λυπόμουν για τη φλεγματικότητα που εμφυσά στο μάθημά μου ένα τέτοιο Σ-Λ.
"Abstraction is not the first stage, but the last stage, in a mathematical development." MK
"I don't want to write about a high level thing, unless I fully understand about a low level thing" DK

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 336
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #7 στις: 11 Ιούλ 2020, 04:17:05 μμ »
Καλώς τον! Ναι κι εγώ ΛΑΘΟΣ το θεωρώ. Κι από τη δική μου αρχική οπτική κι από αναμενόμενη σκοπιά καλοδιαβασμένου μαθητή.

Για του λόγου το αληθές, το έχω προτείνει εγώ ως θέμα Σ/Λ, είμαι δηλαδή ο δημιουργός και φυσικά, με ανήσυχο μυαλό, γεμάτο αυτοκριτική κι αυτοαξιολόγηση, προβληματίστηκα, όταν από ΛΑΘΟΣ ένας συνάδελφος το "διόρθωσε" σε ΣΩΣΤΟ πριν το βάλει στα παιδιά. Λέω κάτσε γιατί σκέπτεται έτσι ο συνάδελφος; Και μελετώ καλύτερα τα βιβλία του μαθήματος και προσεγγίζω πως είναι προαιρετικό το όλο θέμα, αλλά όχι ρητά ορισμένο ως προαιρετικό. Το 'ΣΩΣΤΟ' ως απάντηση όμως δεν είναι σωτό ή σωστότερο κι ούτε καν πιο safe. Έπρεπε να κοπεί ως θέμα αν υπήρχαν αμφιβολίες. Αλλά είναι ζόρικο να διακρίνεις και να κρίνεις σε πίεση χρόνου, οπότε και δε του δίνω άδικο. Το θέμα μου είναι πως στη γλώσσα μας έχει πολλή σημασία στο τι λέξεις, με ποια σειρά και τι σημεία στήξης χρησιμοποιούμε για να πούμε κάτι. Δε πιστεύω πως είμαι λάθος. Θέλω όμως να ξέρω την όλη πιθανή αντιεπιχειρηματολογία και που βασίζεται.
Δεν ανέφερα νωρίτερα πως είναι δικό μου, για να λάβω τουλάχιστο μία αμερόληπτη αρνητική κριτική επί του θέματος. Συμφωνώ πως το παράκανα και πως είναι ατυχές ως θέμα, αλλά δε πήγε το μυαλό μου σε ασάφεια, για να είμαι ειλικρινής. Νόμιζα το αυτονόητο, ξεχνώντας πως μιλάμε για... ΓΛΩΣΣΑ. Τη πάτησα σκεπτόμενος ως προγραμματιστής αυτή τη φορά ενώ έπρεπε να σκέπτομαι 100% στα πλαίσια του μαθήματος και το παραδέχομαι. Βέβαια και πολλά σημεία επί του μαθήματος κι εντός πλαισίου αυτού, τείνουν στη προσέγγισή μου, αλλά όχι 100% ρητά.

Το συμπέρασμα το είχα βγάλει ως εξής:
α) Μεμονωμένοι όλοι οι τύποι μεταβλητών μπορούν να απουσιάζουν.
β) Η δήλωση σταθερών είναι προαιρετική.
γ) Μπορώ να πω ΓΡΑΨΕ 'Γεια χαρά!'
δ) Ένας αλγόριθμος μπορεί να παράγει μόνος του είσοδο.
ε) Ορισμός προγράμματος της Β Λυκείου
στ) Αν ήταν υποχρεωτική η δήλωση τμήματος μεταβλητών θα το έλεγε ρητά. Αυτό μου δίνει δίκιο εξ ορισμού, οι λέξεις κι η σειρά τους έχουν πολλή σημασία.
Από τη θεωρία: "Στη συνέχεια ακολουθεί το τμήμα δήλωσης των σταθερών του προγράμματος, αν βέβαια το πρόγραμμά μας χρησιμοποιεί σταθερές. Αμέσως μετά είναι το τμήμα δήλωσης μεταβλητών, όπου δηλώνονται υποχρεωτικά τα ονόματα όλων των μεταβλητών καθώς και ο τύπος τους."
Το ερμηνεύω ως προαιρετικές λοιπόν από αυτό το κείμενο.

Βέβαια το φλέγον ερώτημα είναι: Το να γράψεις  ΜΕΤΑΒΛΗΤΕΣ δίχως να βάλεις κανένα τύπο, είναι δόκιμο επί χάρτου ή θα μας επιστρέψει σφάλμα; Αυτό είναι το ερώτημα που δε πέρασε από το μυαλό μου. Δε μπορώ να απαντήσω ναι ή όχι με απόλυτη σιγουριά.  Με 99% σιγουριά μπορώ. Αλλά δε μου φτάνει. Ο ανθρώπινος παράγοντας μπορεί να έχει 99.999% πιθανότητα να κάνει σφάλμα που κατ εμέν να έχει 1% πιθανότητα να συμβεί. Δε παίζω ζάρια. Θέλω 100% σίγουρες απαντήσεις, εξού και το νήμα συζήτησης.

Κατά το Διερμηνευτή του Άλκη, δεν είναι σωστό και δε του αρέσει καθόλου μάλιστα (του διερμηνευτή), άρα είναι προαιρετικό στο Διερμηνευτή. Να πω εδώ πως συμφωνώ; Έχει νόημα; Φυσικά δε μου προσφέρει την 100% σοιγουριά αυτό το γεγονός, μιας κι όλοι μας ξέρουμε πως  η ΓΛΩΣΣΑ δεν ορίζεται από το Διερμηνευτή. Κι εδώ έμπίπτει ο θεωρητικός προβληματισμός μου, έστω κι εκ των υστέρων.

Από την άλλη, να με υπερασπίστώ λίγο μετά το αυτοράπισμα:

Αφού είναι προαιρετικός ο ορισμός τύπων μεταβλητών, και προαιρετικός ο ορισμός δηλώσεων σταθερών, μιλάμε για μία λογική που δε τείνει  σε μία γλώσσα που θα πρέπει να ορίζεις τα πάντα, έστω και κενά. Άρα, λογικά, η απουσία συνεπάγεται πλήρης απουσία του τμήματος αυτού και συνάμα αυτό συνεπάγεται πως η Σ/Λ έχει ως σωστή απάντηση τη ΛΑΘΟΣ. Παραμένει όμως ασαφές στην ύλη αυτό, στη περίπτωση που ερμηνεύω λάθος το κομμάτι θεωρίας στο οποίο βασίστηκα, και γι' αυτό θέλω επιστήμονες που το διδάσκουν, να μου πουν τη γνώμη τους πάνω στο θέμα.

Επιπλέον, επειδή σε όλες τις γλώσσες επιτρέπεται να δομείς ένα Hello World, λογικά γίνεται και στη ΓΛΩΣΣΑ. Βέβαια η ΓΛΩΣΣΑ από την άλλη, ως θεωρητική γλώσσα, μονοπωλεί πολλές... ιδιαιτερότητες όπως ήδη έχουμε δει τόσες φορές. Φαντάσου λοιπόν μία ακόμα ιδιαιτερότητα που θα μονοπωλεί να ήταν ένα Hello World που απαιτεί μεταβλητή για να εμφανίσει το string ,γεγονός όμως που αχρηστεύει τη χρηστικότητα - χρησιμότητα της ΓΡΑΨΕ.
Ξέρουμε πως μπορούμε κατ' ευθείαν να γράψουμε hardcoded:
ΓΡΑΨΕ 'ΓΕΙΑ ΧΑΡΑ'

Καταλαβαίνεις όμως το προβληματισμό μου.
Ποιος μου λέει ρητά πως ο συνάδελφος που το διόρθωσε έχει 100% άδικο; Κανένας!
Αν από τη δεσμευμένη λέξη ΠΡΟΓΡΑΜΜΑ μέχρι και πριν τη δεσμευμένη λέξη ΑΡΧΗ υπάρχει το τμήμα δηλώσεων, έστω και κενό, γιατί έτσι θέλει το Υπουργείο, οι ενστάσεις μου τι αξία θα είχαν; Δε το υποστηρίζει κάτι αυτό, αλλά λέω εγώ με τη φαντασία μου σενάρια τώρα.  Κι ΕΚΕΙ ήταν που προβληματίστηκα για την ασάφεια. Πολύ τεχνικό το ζήτημα, πάνω σε μία γλώσσα που ξεκίνησε δίχως διερμηνευτή...
Προφανώς χρειάζεται πολύ υψηλή γνώση του γνωστικού αντικειμένου για τέτοιους προβληματισμούς, είναι καλό πιστεύω που βγαίνουν στη φόρα τέτοια θέματα πιθανής ασάφειας (έστω κι από αστοχία μου) και θέλω τη συμμετοχή όλων σε αυτό. Θέλω γνώμη στο αν έχω δίκιο να ερμηνεύω έτσι τη θεωρία αρχικά και κατ' επέκταση να διαλευκάνουμε ίσως αυτό το σημείο. Το ότι είναι ατυχές και σκληρό το ερώτημα, είναι γεγονός. Πολύ απαιτητικό και δεν έλέγχει πάρα πολλά πράγματα. Το εγώ μου είναι πολύ μικρό μπροστά στο να κάνουμε όλοι μας καλύτερο το μάθημα, εξου και μοιράζομαι το θέμα.

Έπειτα σου έχω κι άλλη ασάφεια!
Θα φτιάξω ξεχωριστό  thread γι' αυτό όμως...
« Τελευταία τροποποίηση: 22 Ιούλ 2020, 11:54:37 μμ από George Eco »

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 947
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #8 στις: 11 Ιούλ 2020, 07:38:46 μμ »
Από όσο ξέρω, δεν έχει οριστεί ακριβώς, ούτε συνάγεται ασφαλές συμπέρασμα από πουθενά. Συνεπώς πρόκειται για ένα σημείο ασαφές, που όμως είναι άνευ σημασίας, κατά τη γνώμη μου. Ένα Σ-Λ που ρωτάει κάτι τέτοιο, έχει χάσει το στόχο του. Στα σημεία που το μάθημα είναι λεπτομερές και ακριβές, ας ερωτώνται τέτοιας λεπτομέρειας Σ-Λ. Εκεί που δεν είναι, κακώς κάποιος ρωτάει κάτι τέτοιο. Γιατί απλά δεν υπάρχει ορισμένη απάντηση, οπότε ο καθένας απαντάει όπως νομίζει, δηλαδή όπως είπα, ένα Σ-Λ που έχασε το δρόμο του..

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

Για την ιστορία, εγώ θα απαντούσα ξεκάθαρα ΛΑΘΟΣ, και θα λυπόμουν για τη φλεγματικότητα που εμφυσά στο μάθημά μου ένα τέτοιο Σ-Λ.
Πόσο συμφωνώ !
Φιλικά,
Γιώργος Θαλασσινός

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 533
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #9 στις: 12 Ιούλ 2020, 12:47:22 πμ »
Ως έχει τώρα το ερώτημα
Όλα τα προγράμματα σε ΓΛΩΣΣΑ έχουν υποχρεωτικά Τμήμα Δηλώσεων. Σωστό ή Λάθος;

Η απάντηση ΣΩΣΤΟ είναι σωστή αν έχουμε τουλάχιστον μια μεταβλητή, και αυτό τεκμηριώνεται. Η απάντηση ΛΑΘΟΣ, δεν τεκμηριώνεται (μπορεί να συμβαίνει ή όχι). Δηλαδή η μη χρήση μεταβλητών δεν συνδέεται με την μη χρήση του τμήματος δήλωσης, τεκμηριωμένα.

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

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 336
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #10 στις: 12 Ιούλ 2020, 06:26:14 πμ »
Ως έχει τώρα το ερώτημα
Όλα τα προγράμματα σε ΓΛΩΣΣΑ έχουν υποχρεωτικά Τμήμα Δηλώσεων. Σωστό ή Λάθος;

Η απάντηση ΣΩΣΤΟ είναι σωστή αν έχουμε τουλάχιστον μια μεταβλητή, και αυτό τεκμηριώνεται. Η απάντηση ΛΑΘΟΣ, δεν τεκμηριώνεται (μπορεί να συμβαίνει ή όχι). Δηλαδή η μη χρήση μεταβλητών δεν συνδέεται με την μη χρήση του τμήματος δήλωσης, τεκμηριωμένα.

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

Είπα εγώ κάτι για νέες συμφωνίες για την υλοποίηση του Άλκη;

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

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



Γιαννούλης Γιώργος

  • Βετεράνος
  • ****
  • Μηνύματα: 75
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #11 στις: 14 Ιούλ 2020, 08:14:59 μμ »
Θα συμφωνήσω και εγώ με όσα είπε ο George Eco. Και εγώ το ίδιο παράδειγμα χρησιμοποιώ με ενα πρόγραμμα με ένα απλό ΓΡΑΨΕ για να εξηγήσω ότι δεν είναι υποχρεωτικό, όπως το καταλαβαίνω από το βιβλίο.

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

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 336
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #12 στις: 15 Ιούλ 2020, 02:13:05 πμ »
Θα συμφωνήσω και εγώ με όσα είπε ο George Eco. Και εγώ το ίδιο παράδειγμα χρησιμοποιώ με ενα πρόγραμμα με ένα απλό ΓΡΑΨΕ για να εξηγήσω ότι δεν είναι υποχρεωτικό, όπως το καταλαβαίνω από το βιβλίο.

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

Καλά ναι δε το συζητάμε για Πανελλήνιες αυτό. Ούτε καν. Αλλά είναι ένα θέμα που με προβληματίζει τόσο, όσο και του παρακάτω thread.
https://alkisg.mysch.gr/steki/index.php?topic=8397.0

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 336
Απ: ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
« Απάντηση #13 στις: 27 Ιούλ 2020, 07:57:00 πμ »
Σελ 7 ΠΑΡΑΡΤΗΜΑ Α (ναι ξέρω εκτός εξεταστέας ύλης)υποστηρίζει πως είναι πλήρως προαιρετικά τα πάντα.
Το ζητούμενο βέβαια παραμένει. :P
Υπάρχει ως κενό το Τμήμα Δηλώσεων ή όχι;