Διευκρίνυση σύνταξης

Ξεκίνησε από websolutions, Χθες στις 07:30:09 ΜΜ

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

websolutions

Ο γιος μου μαθαίνει τη λογική του προραμματισμού στον διερμηνευτή της "Γλώσσας" στην Γ λυκείου.

Ως προγραμματιστής μου έκανε εντύπωση που δεν μαθαίνουν κάποια πιο χρήσιμη γλώσσα όπως π.χ. PHP, C++, JAVA, Python κτλ ας είναι όμως μιας και τη λογική του προγραμματισμού αν την μάθει έστω και εκεί θα μπορεί να την χρησιμοποιήσει και σε άλλες γλώσσες.

Όμως υπάρχει ένα παράδοξο. Στο βιβλίο για την γλώσσα δηλώνεται στην αρχή του προγράμματος η λέξη "Αλγόριθμος" και η δήλωση των μεταβλητών με την λέξη Δεδομένα // // και στην γλώσσα λειτουργεί κανονικά. Όμως στα e-class όλες οι ασκήσεις και τα παραδείγματα που έχουν χρησιμοποιούν την εντολή Πρόγραμμα και για την δήλωση μεταβλητών άλλον τρόπο από αυτόν που δείχνει η "Γλώσσα" ενώ όλο το υπόλοιπο σκέλος των προγραμμάτων λειτουργει σωστά.

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

pgrontas

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

Τώρα η ερώτηση σου ανάγεται στο γιατί υπάρχουν δύο διαφορετικές αναπαραστάσεις κωδικοποίησης οι οποίες μοιάζουν αλλά έχουν και διαφορές.
Η απάντηση σε αυτό χάνεται στην 25-ετή ιστορία του μαθήματος. Από όσο έχω καταλάβει (μπορεί να κάνω και λάθος) οι συγγραφείς είχαν στο μυαλό τους ότι τα προγράμματα θα μπορούσαν να γραφτούν με οποιαδήποτε γλώσσα προγραμματισμού. Για να μην αποκλεισθούν μαθητές που δεν κατείχαν καλά τα Αγγλικά, όρισαν και τη ΓΛΩΣΣΑ χωρίς να μπούν στον κόπο να δώσουν διερμηνευτή ή μεταγλωττιστή (αυτό το έκαναν πολύ καλοί συνάδελφοι όπως ο Άλκης αργότερα).
Οπότε η ψευδογλώσσα χρησίμευσε ως ένας τρόπος ενοποίησης όλων των διαφορετικών τρόπων αναπαράστασης που είχε σκοπό να είναι υψηλότερου επιπέδου αφαίρεσης (όμως όχι αρκετά κατά τη γνώμη μου με αποτέλεσμα να υπάρχουν αρκετές ομοιότητες με τη ΓΛΩΣΣΑ).
Στην πράξη λόγω της πανελλαδικής εξέτασης του μαθήματος, υπήρχε σύγκλιση στη ΓΛΩΣΣΑ ως γλώσσα προγραμματισμού με αποτέλεσμα να έχουμε δύο σχεδόν ίδιες μορφές κωδικοποίησης.

Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson