Ερώτηση σχετικά με όνομα αλγορίθμου

Ξεκίνησε από despoina, 23 Οκτ 2012, 05:17:59 ΜΜ

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

despoina

Μπορεί το όνομα ενός αλγορίθμου να είναι ένα μόνο γράμμα ή ένας μόνο αριθμός ή μία σειρά αριθμών;

dpa2006

δες στο παρακάτω
λινκ
τους κανόνες ονοματολογίας για τις δεσμευμένες λέξεις και τις μεταβλητές.
Παράθεση
Πάντοτε ξεκινάμε με τη λέξη Αλγόριθμος και ακολουθεί το όνομα του αλγορίθμου. Το όνομα ενός αλγορίθμου ακολουθεί τους ίδιους κανόνες με το όνομα μιας μεταβλητής. Επιπλέον, δεν μπορεί να χρησιμοποιείται ίδιο όνομα για μια μεταβλητή και για τον αλγόριθμο. Αυτές οι λέξεις καθώς και όλες όσες είναι έντονα γραμμένες καλούνται δεσμευμένες λέξεις και δεν επιτρέπται να παρουσιαστούν αλλιώς, ούτε να χρησιμοποιηθούν με λάθος τρόπο
άρα αφου δεν μπορει να ξεκινησει απο αριθμο δεν μπορει να ειναι ένας αριθμος
δεν βλέπω το λογο να μην μπορει να ειναι ένα μόνο γράμμα,αλλά με αυτόν τον τρόπο περιορίζεις κάποιον στο να να έχει μια ιδέα για το τι αλγόρθμο έγραψες χωρίς να χρειαστεί να τον διαβάσει.
ακόμα και εσένα την ίδια όταν μετά από καιρό χρειαστεί να θυμηθείς τι αλγόριθμο έγραψες.
για παράδειγμα έναν αλγόριθμο  για το εμβαδό τριγώνου θα ήταν πιο κατανοητό να τον ονομάσεις Εμβ_Τριγώνου ή κάπως ανάλογα από το να τον ονομάσεις Ε.
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

despoina


dpa2006

Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

Νίκος Αδαμόπουλος

Παράθεση από: dpa2006 στις 23 Οκτ 2012, 05:54:21 ΜΜ
... από το να τον ονομάσεις Ε.

Βέβαια ... το Ε .... είναι δεσμευμένη λέξη!

despoina

Πού αναφέρεται ότι το Ε είναι δεσμευμένη λέξη;

P.Tsiotakis

στις συναρτήσεις της γλώσσας (κεφάλαιο 7) Δέσποινα, κάτι που μας δεσμεύει και στην ψευδογλώσσα (όπως το Τ_Ρ και το Α_Τ π.χ.)

despoina

Νόμιζα πως μας δέσμευε μόνο στη ΓΛΩΣΣΑ!Ευχαριστώ!

Σπύρος Δουκάκης

Βέβαια έχουμε προηγούμενο που δεν συμφωνεί με αυτό που περιγράφεται στο νήμα με το θέμα των εξετάσεων του 2010 που χρησιμοποιήθηκε το Ε σε όνομα μεταβλητής... Μάλλον δεν υπάρχει αυστηρότητα στο αν είναι ή δεν είναι δεσμευμένη λέξη...

Α <-  0
Β<- 0
Γ<-  0
Δ <- 0
Για Ε από 1 μέχρι 496
Διάβασε Ζ
Αν Ε = 1 Τότε Η <- Ζ
Α <- Α + Ζ
Αν Ζ ≥ 18 Τότε
Β<- Β + Ζ
Γ <- Γ + 1
Τέλος_Αν
Αν Ζ > 0 Τότε Δ <- Δ + 1
Αν Ζ < Η Τότε Η <- Ζ
Τέλος_Επανάληψης
Θ <- Α/496
Αν Γ≠0 Τότε Ι <- Β/Γ
Κ <- 496 – Γ

P.Tsiotakis

σωστά, Σπύρο
κάποιος δεν το πρόσεξε, και αυτό συμβαίνει σε όλους μας
βέβαια δε θα βάλει ποτέ κανείς μεταβλητή Τ_Ρ!!!!
αλλά αν το θυμόμαστε καλό είναι να μη χρησιμοποιούμε το Ε...

Νίκος Αδαμόπουλος

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

evry

Μπορούμε να χρησιμοποιούμε το αγγλικό Ε οπότε το πρόγραμμα είναι συντακτικά σωστό  ;)
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

dpa2006

Θα μπορούσαμε φυσικά να είναι περισσότερο περιγραφικές οι ονομασίες των μεταβλητών και όχι τόσο λακωνικές,σε σχέση με την σημασία τους.βέβαια έτσι δεν κάνουμε οικονομία χρόνου.
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

evry

όταν λες οικονομία χρόνου τι εννοείς?
τον χρόνο που χρειαζόμαστε για να γράψουμε τον αλγόριθμο?

Παράθεση από: dpa2006 στις 25 Οκτ 2012, 05:05:25 ΜΜ
Θα μπορούσαμε φυσικά να είναι περισσότερο περιγραφικές οι ονομασίες των μεταβλητών και όχι τόσο λακωνικές,σε σχέση με την σημασία τους.βέβαια έτσι δεν κάνουμε οικονομία χρόνου.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Σπύρος Δουκάκης

Οπότε με αυτό που λέει ο evry κλείνουμε το θέμα για όλα τα ονόματα δεσμευμένων λέξεων...

π.χ. Eμφάνισε, Eκτύπωσε, T_Ρ, HM, ΣΥΝ, Αλγόριθμος, Τέλος, Δεδομένα, Αποτελέσματα, Αν, Όσο, Μέχρις_ότου,  κ.ο.κ.

μόνο το Διάβασε, το Για μου ξεφεύγουν... στα πεζά... γιατί στη γλώσσα ΔΙΑΒΑΣΕ, ΓΡΑΨΕ (με Α αγγλικό) κ.ο.κ.

Ήθελα όμως να ρωτήσω και το εξής:

Η δεσμευμένη λέξη Ε (στα ελληνικά) δεν θα ήταν καλύτερα να θεωρείται δεσμευμένη όταν ακολουθείται από παρένθεση; Δηλαδή να ήταν δεσμευμένη λέξη μόνο όταν γράψουμε

Ε(

μιας και το Ε μόνο του δεν αποτελεί κάτι;

Παράθεση από: evry στις 25 Οκτ 2012, 04:01:10 ΜΜ
Μπορούμε να χρησιμοποιούμε το αγγλικό Ε οπότε το πρόγραμμα είναι συντακτικά σωστό  ;)

dpa2006

Παράθεση από: evry στις 25 Οκτ 2012, 06:37:36 ΜΜ
όταν λες οικονομία χρόνου τι εννοείς?
τον χρόνο που χρειαζόμαστε για να γράψουμε τον αλγόριθμο?

ναι,απλα εννοούσα οτι γραφοντας μικρα ονοματα μεταβλητων γραφεις πιο γρηγορα έναν αλγοριθμο.
ειναι κατι που κατα καιρους εχω ακουσει απο μαθητες μου.
δεν ειναι γενικευμενη αποψη.

Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

evry

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

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

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

Νομίζω όμως ότι στην ψευδογλώσσα κάπου στο βιβλίο καθηγητή επιτρέπει τον συμβολισμό Ε(10) για πίνακες αντί για Ε[10]. Οπότε σε αυτή την περίπτωση ίσως να εμφανιζόταν ασάφεια.

Γενικά πάντως αν κάποιος μαθητής χρησιμοποιήσει το Ε για όνομα μεταβλητής στην ψευδογλώσσα ή ακόμα και στην ΓΛΩΣΣΑ δεν νομίζω ότι υπάρχει λόγος να του κόψει κάποιος για αυτό. Απλά του λέμε να μην το κάνει.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

evry

Επειδή στο συγκεκριμένο μάθημα ο όγκος των θεμάτων είναι για 2-2.5 ώρες το πολύ δεν υπάρχει θέμα χρόνου.
Νομίζω ότι οι μαθητές πρέπει να δώσουν μεγαλύτερη βαρύτητα στην εικόνα του γραπτού και στα ονόματα των μεταβλητών τα οποία δεν πρέπει να είναι πολύ μεγάλα αλλά να είναι αρκετά κατατοπιστικά ώστε να καταλαβαίνει ο βαθμολογητής με μια ματιά τι ρόλο έχει κάθε μεταβλητή.
π.χ. αν διαβάζει έναν βαθμό είναι καλύτερο να το ονομάσει βαθ παρά σκέτο β και φυσικά όχι x,y,z ή οτιδήποτε άλλο άσχετο.
Θα βοηθήσει και τον ίδιο τον μαθητή όταν αργότερα ξαναδιαβάσει τον κώδικά του να διορθώσει τυχόν λάθη

Παράθεση από: dpa2006 στις 26 Οκτ 2012, 11:42:53 ΠΜ
ναι,απλα εννοούσα οτι γραφοντας μικρα ονοματα μεταβλητων γραφεις πιο γρηγορα έναν αλγοριθμο.
ειναι κατι που κατα καιρους εχω ακουσει απο μαθητες μου.
δεν ειναι γενικευμενη αποψη.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Λευτέρης Δουκέρης

καλησπέρα.
"Επειδή ορισμένες λέξεις χρησιμοποιούνται από την ίδια την γλώσσα (όπως το διάβασε – θα δούμε παρακάτω και άλλες ) οι λέξεις αυτές δεν μπορούν να χρησιμοποιηθούν ως ονόματα μεταβλητών . Οι λέξεις αυτές καλούνται δεσμευμένες λέξεις" .
Αρα το Ε( δεν ειναι δεσμευμένη λέξη αφου δεν μπορεί να χρησιμοποιηθεί σαν μεταβλητή αφου σύμφωνα με την ονοματολογία των μεταβλητών απαγορεύεται σαν όνομα μεταβλητής το Ε(. 
ΛΕΥΤΕΡΗΣ  ΚΕΡΑΤΕΑ
http://glavrio.blogspot.com"Ο ιδανικός δάσκαλος είναι εκείνος που γίνεται γέφυρα για να περάσει αντίπερα ο μαθητής του και όταν , πια του διευκολύνει το πέρασμα , αφήνεται χαρούμενα να γκρεμιστεί , ενθαρρύνοντας το μαθητή του να φτιάξει τις δικές του γέφυρ

alkisg

Το "Ε(" δεν είναι δεσμευμένη λέξη αφού συντακτικώς αποτελείται από 2 μέρη, το αναγνωριστικό (identifier) "Ε" και το σύμβολο "(".
Όμως το αναγνωριστικό "Ε" είναι δεσμευμένη λέξη, και επομένως δεν μπορεί να χρησιμοποιηθεί σαν όνομα μεταβλητής.
Ανάλογα, τα Για(), Από(), Διάβασε(), Γράψε(), Εμφάνισε() κτλ, είναι επίσης δεσμευμένες λέξεις και δεν μπορούν να χρησιμοποιηθούν σαν ονόματα αλγορίθμων ή υποπρογραμμάτων.

Φυσικά θα μπορούσαν να είχαν οριστεί στο βιβλίο διάφοροι τρόποι για πολλαπλή χρήση δεσμευμένων λέξεων,
όπως αυτή που είπε ο Σπύρος, το να επιτρέπεται το ίδιο όνομα σε μεταβλητή ή/και σε πίνακα ή/και σε υποπρόγραμμα ανάλογα με το συντακτικό,
ή οι τοπικές μεταβλητές π.χ. "Ε" να κάνουν override τις καθολικές συναρτήσεις Ε(),
ή τα υποπρογράμματα Για() να κάνουν override τις δεσμευμένες λέξεις "Για" κτλ,
αλλά νομίζω ότι αφού δεν έχει ρητώς οριστεί τίποτα από όλα αυτά στο βιβλίο, δεν μπορούμε να υποθέτουμε ότι ισχύουν.

despoina

Ευχαριστώ πολύ όλους σας! Και για το όνομα ενός προγράμματος ισχύουν οι ίδιοι κανόνες. Σωστά;

Νίκος Αδαμόπουλος


dpa2006

Παράθεση από: evry στις 26 Οκτ 2012, 08:25:11 ΜΜ
Προφανώς το σχόλιό μου είχε να κάνει με το γεγονός ότι το να συζητάμε για αυστηρότητα σύνταξης στην ψευδογλώσσα δεν έχει νόημα, λόγω της φύσης και του στόχου που έχει η ψευδογλώσσα. Δεχόμαστε κάποια πράγματα αρκεί να μην δημιουργούνται σοβαρές ασάφειες. Προβλήματα όπως αυτό με το Ε νομίζω μπορούμε καλή τη πίστει να τα δεχτούμε.

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

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

Νομίζω όμως ότι στην ψευδογλώσσα κάπου στο βιβλίο καθηγητή επιτρέπει τον συμβολισμό Ε(10) για πίνακες αντί για Ε[10]. Οπότε σε αυτή την περίπτωση ίσως να εμφανιζόταν ασάφεια.

Γενικά πάντως αν κάποιος μαθητής χρησιμοποιήσει το Ε για όνομα μεταβλητής στην ψευδογλώσσα ή ακόμα και στην ΓΛΩΣΣΑ δεν νομίζω ότι υπάρχει λόγος να του κόψει κάποιος για αυτό. Απλά του λέμε να μην το κάνει.
Συμφωνούμε.
δεν νομίζω οτι υπάρχει λόγος για κοπούν μονάδες.
αυτό που συνηθίζω να τους λέω είναι οτι ο πιο εύκολος τρόπος για ονομασία αλγορίθμου-προγράμματος είναι το όνομα του θέματος-υποθέματος.
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

despoina

Αν για έναν αλγόριθμο δώσουμε το όνομα Παρ_7.18 είναι σωστό; (Σκέφτηκα ότι αντί για τελεία το σύμβολο . μπορεί να σημαίνει " , " και έτσι το 7.18 ή αλλιώς 7,18  να θεωρείται πραγματικός αριθμός. Και εφόσον είναι στο τέλος του αλγορίθμου, το όνομα να θεωρείται σωστό). Διορθώστε με αν κάνω λάθος.

Νίκος Αδαμόπουλος

Παράθεση από: denia_k στις 29 Οκτ 2012, 05:28:48 ΜΜ
Αν για έναν αλγόριθμο δώσουμε το όνομα Παρ_7.18 είναι σωστό; (Σκέφτηκα ότι αντί για τελεία το σύμβολο . μπορεί να σημαίνει " , " και έτσι το 7.18 ή αλλιώς 7,18  να θεωρείται πραγματικός αριθμός. Και εφόσον είναι στο τέλος του αλγορίθμου, το όνομα να θεωρείται σωστό). Διορθώστε με αν κάνω λάθος.

Τυπικά δεν είναι σωστό!

Στη "βίβλο" του μαθήματος, σελ. 150 (βλ. και https://alkisg.mysch.gr/steki/index.php?topic=1436.0 ) αναφέρεται:

"Τα ονόματα αυτά μπορούν να αποτελούνται από γράμματα πεζά ή κεφαλαία του ελληνικού ή του λατινικού αλφαβήτου (Α-Ω, Α-Ζ), ψηφία (0-9) καθώς και τον χαρακτήρα κάτω παύλα (underscore) (_), ενώ πρέπει υποχρεωτικά να αρχίζουν με γράμμα."


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

despoina

Ευχαριστώ πολύ Νίκο! Με έχεις σώσει!  :)

despoina

Α και κάτι ακόμα που έχω απορία! Οι πραγματικοί αριθμοί στην ψευδογλώσσα αλλά και στη ΓΛΩΣΣΑ μπορούν να γραφούν με τελεία ή και με κόμμα;

petrosp13

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

despoina

Πρέπει να είναι σωστή η άποψή σου!Σε ευχαριστώ πολύ Πέτρο!