Αλγοριθμικά κριτήρια (Ασάφεια διδακτικού πακέτου)

Ξεκίνησε από gpapargi, 09 Φεβ 2010, 11:35:14 ΠΜ

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

Αποτελούν οι εντολές εκχώρησης είσοδο για έναν αλγόριθμο;

Ναι
Όχι

evry

Και ακόμα δεν έχουμε μιλήσει για αποτελεσματικότητα ε?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

Παράθεση από: pgrontas στις 14 Φεβ 2010, 10:46:15 ΠΜ
Εμένα αυτό που δε μου αρέσει είναι ότι σε λειτουργικά ισοδύναμες μεταβλητές για έναν αλγόριθμο τη μια φορά τις θεωρούμε είσοδο την άλλη όχι. Αν υπάρχει στα δεδομένα δηλαδή είναι είσοδος, αν υπάρχει σε εκχώρηση δεν είναι, ενώ για την λειτουργία του αλγορίθμου έχει ακριβώς τον ίδιο ρόλο.
Όχι. Η διαφορά είναι ότι η εκχώρηση είναι μέσα στο .exe, ενώ η είσοδος είναι έξω από το .exe. Το λέει και η λέξη, αν είναι μέσα στον αλγόριθμο δεν μπορεί να είναι είσοδος. Είσοδος σημαίνει κάτι που είναι απ' έξω και μπαίνει μέσα.

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

Αυτό που λες είναι ότι θα μπορούσες να βάλεις το ίδιο περιεχόμενο σε μια εντολή εκχώρησης, και να έχεις το ίδιο αποτέλεσμα.
Αυτό που λέω είναι ότι:
1) Ως χρήστης, μπορείς να δώσεις αρχεία σαν είσοδο, αλλά δεν έχεις καν τον κώδικα της type και ούτε compiler για να πειράξεις το εκτελέσιμο (μην κολλάμε στα τεχνικά, αυτό που εννοώ είναι ότι ο αλγόριθμος είναι μαύρο κουτί για τον χρήστη).
2) Αν επικοινωνούσες με τον προγραμματιστή και το έκανε για σένα, τότε θα έφτιαχνε ένα πρόγραμμα που θα λεγόταν "type_a_specific_book" και ΔΕΝ θα ήταν ο αλγόριθμος "type" αλλά ένα συγκεκριμένο instance του.
Πόσο χρήσιμος είναι ο αλγόριθμος "Τυπώνω_τα_άπαντα_του_Κρυστάλλη";
Μήπως για instances δεν χρειάζονται αλγόριθμοι, αλλά σταθερές;

Παράθεση από: Νίκος Αδαμόπουλος στις 14 Φεβ 2010, 11:37:53 ΠΜ
Προφανώς ή θα δεχτούμε ότι οι εκχωρήσεις δεν είναι είσοδος οπότε ένας αλγόριθμος μπορεί να μην έχει και καθόλου εισόδους, ή θα δεχτούμε ότι αποτελούν είσοδο οπότε ένας αλγόριθμος θα έχει τουλάχιστον μία είσοδο.
Το να θεωρηθούν οι εκχωρήσεις ως είσοδοι δεν βοηθάει κάπου. Παράδειγμα, ο αλγόριθμος «Hello world».
(για το αν ονομάζεται αλγόριθμος ή υπολογιστική διαδικασία ή οτιδήποτε άλλο,  είναι φιλοσοφική η συζήτηση και δεν με πολυενδιαφέρει, ενώ την έννοια και τη χρησιμότητα της εισόδου τις θεωρώ πιο σημαντικές).

pgrontas

Παράθεση από: alkisg στις 14 Φεβ 2010, 07:01:52 ΜΜ
Αυτό που λες είναι ότι θα μπορούσες να βάλεις το ίδιο περιεχόμενο σε μια εντολή εκχώρησης, και να έχεις το ίδιο
Λέω και αυτό και το ανάποδο: Μπορώ να 'βγάλω' το περιεχόμενο από μια εντολή εκχώρησης, βάζοντας την μεταβλητή στα δεδομένα ή σε μια Διάβασε. Τότε δεν αποτελεί είσοδο;

Παράθεση από: alkisg στις 14 Φεβ 2010, 07:01:52 ΜΜ
Πόσο χρήσιμος είναι ο αλγόριθμος "Τυπώνω_τα_άπαντα_του_Κρυστάλλη";
Ο αλγόριθμος με τους τυχαίους αριθμούς που παρέθεσα νωρίτερα όμως είναι χρησιμος, και ας έχει την είσοδο με εκχώρηση. Εξαρτάται τι θες.

Επίσης δεν ξέρω κατά πόσο πρέπει να επιμένουμε στην μέλετη του αλγορίθμου ως μαύρο κουτί. Έχει νόημα όταν μας ενδιαφέρει το interface του, αλλά όχι όταν αναλύουμε τις εντολές του. Τελικά εξετάζουμε τους αλγορίθμους απ' έξω ή από μέσα; Μπορούμε να αποφανθούμε για περατότητα/καθοριστικότητα εξετάζοντας τον αλγόριθμο απ' έξω;

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

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

Παράθεση από: alkisg στις 14 Φεβ 2010, 07:01:52 ΜΜ
Το να θεωρηθούν οι εκχωρήσεις ως είσοδοι δεν βοηθάει κάπου. Παράδειγμα, ο αλγόριθμος «Hello world».
(για το αν ονομάζεται αλγόριθμος ή υπολογιστική διαδικασία ή οτιδήποτε άλλο,  είναι φιλοσοφική η συζήτηση και δεν με πολυενδιαφέρει, ενώ την έννοια και τη χρησιμότητα της εισόδου τις θεωρώ πιο σημαντικές).

...Ναι! Κι εγώ δεν βλέπω να βοηθάει κάπου... Αφού κι ο Knuth δέχεται τις 0 εισόδους εμείς γιατί δεν θέλουμε;

alkisg

#64
Παράθεση από: pgrontas στις 14 Φεβ 2010, 07:19:18 ΜΜ
Λέω και αυτό και το ανάποδο: Μπορώ να 'βγάλω' το περιεχόμενο από μια εντολή εκχώρησης, βάζοντας την μεταβλητή στα δεδομένα ή σε μια Διάβασε. Τότε δεν αποτελεί είσοδο;
Έχω μια αρχαία οθόνη CRT, η οποία έχει πίσω της ένα ποτενσιόμετρο με το οποίο μπορώ να ρυθμίσω το ύψος της εικόνας. Αυτό είναι μια είσοδος. Όμως, δεν έχει ρύθμιση για το πλάτος.
Αν ανοίξω την οθόνη και αλλάξω κάποια αντίσταση, θα μπορώ να ρυθμίσω το πλάτος. Δεν ξέρω όμως από ηλεκτρονικά και δεν έχω κολλητήρι και δεν μπορώ να το κάνω, όπως και ο χρήστης δεν ξέρει από κώδικα και δεν έχει IDE και δεν μπορεί να πειράξει το εσωτερικό του αλγορίθμου. Οι αντιστάσεις λοιπόν δεν είναι είσοδος της οθόνης.
Εκεί είναι η διαφορά. Αν είναι μέσα στον κώδικα, μέσα στο κουτί, δεν είναι είσοδος.

Σύμφωνοι, δεν θέλουμε σε όλα τα κριτήρια να αντιμετωπίζουμε τον αλγόριθμο ως μαύρο κουτί.

Την είσοδο την καθορίζει ο χρήστης. Για τον χρήστη, ο αλγόριθμος είναι ένα μαύρο κουτί.
Την καθοριστικότητα την ελέγχει ο εκτελεστής. Ο εκτελεστής δεν ενδιαφέρεται καν για τον αλγόριθμο, απλά απαντάει για κάθε μεμονωμένη εντολή που του δίνουν.
Την περατότητα την ελέγχει ο προγραμματιστής (όσο μπορεί). Υποθέτω μάλιστα ότι υπάρχει και η περίπτωση σε εξεζητημένα μαθηματικά προβλήματα να μην μπορέσει καν να απαντήσει θετικά ή αρνητικά. Edit - σκέφτηκα και ένα παράδειγμα: να γίνει αλγόριθμος που να υπολογίζει τα ψηφία του π και να σταματάει όταν βρει Ν συνεχόμενα εννιάρια. Εδώ για να αποφασίσουμε για την περατότητα δεν μας ενδιαφέρει καθόλου ο κώδικας του αλγορίθμου, παρά μόνο οι ιδιότητες του π από τα μαθηματικά, και δεν ξέρω αν οι μαθηματικοί γνωρίζουν αν ο π έχει 999 συνεχόμενα εννιάρια ή όχι.

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

gpapargi

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

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


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

Μπορείς και να τα δεις από την οπτική γωνία κάποιου που είναι έξω από τον αλγόριθμο. «Αν δίνω στον αλγόριθμο κάτι τότε είναι είσοδος».

Δεν συμφωνώ ότι κάτι πρέπει να μπορεί να αλλάξει την έξοδο του αλγορίθμου για να είναι είσοδος. Μπορεί πχ να είναι dummy είσοδος, δηλαδή να μη χρησιμοποιείται που πουθενά. Σε ένα πιο μαθηματικό παράδειγμα μπορεί ο αλγόριθμος να υλοποιεί μια συνάρτηση που δέχεται σαν είσοδο την τιμή του x και εκτυπώνει το f(x). Αν η συνάρτηση είναι σταθερή τότε η είσοδος δεν επηρεάζει την έξοδο.

Νομίζω ότι το μπλέξιμο γίνεται στο ποια είναι τα όρια του αλγορίθμου (που αρχίζει και που τελειώνει). Ότι είναι μετά το Αρχή και πριν Τελος_προγραμματος είναι εντος του προγράμματος και άρα εντος του αλγορίθμου που υλοποιείται από το πρόγραμμα. Μια εντολή εκχώρησης είναι ήδη μέσα. Δεν μπαίνει. Δεν είναι είσοδος. Η Διάβασε απαιτεί να εισαχθει εντος του αλγορίθμου πληροφορία από το εξωτερικό περιβάλλον. Αυτό είναι είσοδος.

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

Δεν καταλαβαίνω γιατί έχουμε μπλεχτεί τόσο πολύ σε ένα τόσο απλό θέμα.

ΥΓ
Αλκη δεν ξέρω αν ο π έχει 3 συνεχόμενα εννιάρια. Αλλά αν επιλεγείς συνεχώς τυχαίους αριθμούς τότε η πιθανότητα να σκάσουν 3 συνεχόμενα εννιάρια είναι μη μηδενική. Αν οι αριθμοί συνεχίζονται επ' άπειρο κάποια στιγμή θα δεις 3 συνεχόμενα εννιάρια αρκεί να περιμένεις αρκετά. Οποιοδήποτε pattern θα έλεγα πως έχει πιθανότητα 100% να εμφανιστεί κάποια στιγμή αν περιμένεις αρκετά (ανάλογα με την πιθανότητα που έχει το pattern να εμφανιστεί). Δεν το σκέφτηκα και πολύ αλλά μου φαίνεται μια από τις ιδιαιτερότητες του άπειρου

alkisg

Όχι 3 συνεχόμενα εννιάρια. 999 συνεχόμενα εννιάρια :).

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

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

pgrontas

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

gpapargi

Κάτι που παρέλειψα είναι ότι τα ψηφιά του π δείχνουν ομοιόμορφη κατανομή. Τέλος πάντων αυτό το είπα έτσι για πλάκα. Μπορούμε να πούμε πολλά ενδιαφέροντα πράγματα αλλά θα ξεφύγουμε.
Το ουσιώδες είναι ότι όντως δεν μπορείς αν αποφανθείς   πάντα για την περατότητα ενός αλγορίθμου. Άλλωστε  Turing απέδειξε ότι δεν υπάρχει αλγόριθμος που να λύνει τα πρόβλημα του τερματισμού (halting problem).

tom

Παράθεση από: gpapargi στις 09 Φεβ 2010, 11:35:14 ΠΜ
Το παρόν θέμα ανοίγει με σκοπό να συζητηθεί το ασαφές σημείο των αλγοριθμικών κριτηρίων. Ο στόχος είναι να γίνει μια από κοινού πρόταση για τη διόρθωση του διδακτικού πακέτου.

Σχετικά με την είσοδο...

Σχολικό βιβλίο, σελ. 25:

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

Η δική μου ερμηνεία, σχετικά με τον παραπάνω ορισμό είναι αυτή που διατύπωσα πριν κάποιες μέρες:

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

Αυτό μπορώ να το δω και στον ορισμό του σχ. βιβλίου (βλέπε παραπάνω) και στον ορισμό του knuth λίγο πιο abstract...

"An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins."

Αυτή είναι η ερμηνεία μου και μπορεί να είναι λάθος.

Αυτό που δεν καταλαβαίνω είναι:

1) Γιατί δεν στέλνουμε μια ερώτηση στο Π.Ι. να μας διευκρινίσει τον παραπάνω ορισμό; (αυτό ισχύει για όλες τις ασάφειες). Τι σημαίνει άραγε ..." με τη βοήθεια άλλων απλών εντολών"; Γιατί να πρέπει να συμφωνήσουμε σε μια πρόταση και να μη ζητήσουμε απλά μια διευκρίνηση;

2) Γιατί κάποιοι εδώ μέσα παρουσιάζουν με έντονο ύφος τις θεωρίες τους, ειδικά χωρίς να αναφέρουν τις πηγές τους?

Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

gpapargi

Παράθεση από: pronto στις 14 Φεβ 2010, 10:46:15 ΠΜ
Εμένα αυτό που δε μου αρέσει είναι ότι σε λειτουργικά ισοδύναμες μεταβλητές για έναν αλγόριθμο τη μια φορά  τις θεωρούμε είσοδο την άλλη όχι. Αν υπάρχει στα δεδομένα δηλαδή είναι είσοδος, αν υπάρχει σε εκχώρηση δεν είναι, ενώ για την λειτουργία του αλγορίθμου έχει ακριβώς τον ίδιο ρόλο.

Παναγιώτη διάβασα παραπάνω τις απόψεις σου και απομόνωσα τα παραπάνω που πιθανόν είναι η αίτια της παρεξήγησης. Το αν κάποια μεταβλητή είναι μεταβλητή εισόδου δεν έχει να κάνει με το ρόλο που έχει στον αλγόριθμο αλλά με τον τρόπο που παίρνει τη συγκεκριμένη τιμή της όταν έρθει η ώρα να γίνει η εκτέλεση. Με αλλά λόγια η είσοδος δεν αφόρα μεταβλητές αλλά εντολές.

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

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

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

gpapargi

Παράθεση από: tom στις 15 Φεβ 2010, 10:04:35 ΜΜ
Αυτό που δεν καταλαβαίνω είναι:

1) Γιατί δεν στέλνουμε μια ερώτηση στο Π.Ι. να μας διευκρινίσει τον παραπάνω ορισμό; (αυτό ισχύει για όλες τις ασάφειες). Τι σημαίνει άραγε ..." με τη βοήθεια άλλων απλών εντολών"; Γιατί να πρέπει να συμφωνήσουμε σε μια πρόταση και να μη ζητήσουμε απλά μια διευκρίνηση;


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

Παράθεση από: tom στις 15 Φεβ 2010, 10:04:35 ΜΜ
2) Γιατί κάποιοι εδώ μέσα παρουσιάζουν με έντονο ύφος τις θεωρίες τους, ειδικά χωρίς να αναφέρουν τις πηγές τους?


Το πάθος μας καμία φορά μας κάνει να μιλάμε λίγο πιο έντονα. Αλλά μη φοβάσαι. Πολλοί από μας είμαστε φίλοι και τα πίνουμε παρέα που και που   :)

tom

Παράθεση από: gpapargi στις 15 Φεβ 2010, 10:59:36 ΜΜ
Δυστυχώς Θωμά βρισκόμαστε εδώ αυτή τη στιγμή γιατί οι συγγραφείς δεν κατάλαβαν καλά τον Knuth. Αν ρωτήσεις το ΠΙ δε θα σου απαντήσει κανένας. Νομίζω ότι κάνεις δεν ξέρει κάτι παραπάνω στο θέμα των κριτήριων.

Απογοητευτικό!

Παράθεση από: gpapargi στις 15 Φεβ 2010, 10:59:36 ΜΜ
Το πάθος μας καμία φορά μας κάνει να μιλάμε λίγο πιο έντονα. Αλλά μη φοβάσαι. Πολλοί από μας είμαστε φίλοι και τα πίνουμε παρέα που και που   :)

Θα χαρώ να τα πιούμε και μαζί  8)

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

Στο τρίπτυχο:

(Α) είσοδος -> (Β) επεξεργασία ->(Γ) έξοδος

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

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

1) δεδομένα από το χρήστη

ή

2) δεδομένα από την εκφώνηση της άσκησης

Όσον αφορά το 1) έχουμε είσοδο δεδομένων στον αλγόριθμο από "έξω", μία ή περισσότερες είσοδοι

"An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins."

Όσον αφορά το 2) έχουμε μηδέν είσοδο στον αλγόριθμο από "έξω", αλλά έχουμε δεδομένα από άσκηση (ή είσοδο για την επεξεργασία - (Α))

"An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins."

Όταν λέω:

Παράθεση από: tom στις 15 Φεβ 2010, 10:04:35 ΜΜ

Η δική μου ερμηνεία, σχετικά με τον παραπάνω ορισμό είναι αυτή που διατύπωσα πριν κάποιες μέρες:

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

εννοώ ότι η εντολή εκχώρησης αποτελεί εισαγωγή (είσοδο) δεδομένων για την επεξεργασία που θα ακολουθήσει από τον αλγόριθμο! Όχι είσοδο από το εξωτερικό περιβάλλον!!! Αν αυτό εννοούν και οι άλλοι που ψήφισαν ότι η ενολή εκχώρησης είναι είσοδος νομίζω όλοι λέμε ΟΛΟΙ το ίδιο με άλλα λόγια!!!  ???

Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

tom

Στην ερώτηση της ψηφοφορίας:

"Αποτελούν οι εντολές εκχώρησης είσοδο για έναν αλγόριθμο; "

απάντησα ναι.

Αν γίνει:

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

θα απαντούσα όχι!

Αν γίνει:

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

θα απαντούσα ναι!

Πιστεύω να είμαι πλέον κατανοητός; Ε, gthal ;)

Grant's - "Try a Different Angle".
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

gthal

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

Παράθεση από: tom στις 15 Φεβ 2010, 11:46:44 ΜΜ
"Αποτελούν οι εντολές εκχώρησης είσοδο δεδομένων για έναν αλγόριθμο από το εξωτερικό περιβάλλον; "

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

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

Ας πάρουμε λίγο χρόνο να καταλάβουμε η μια πλευρά τι λέει η άλλη, γιατί νομίζω ότι έχουν πέσει απανωτά πολλά επιχειρήματα και αμφιβάλλω αν προλαβαίνουμε να "χωνέψουμε" το τι λέγεται.
Φιλικά,
Γιώργος Θαλασσινός