Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: Λευτέρης Δουκέρης στις 31 Μαρ 2013, 05:19:23 ΜΜ

Τίτλος: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Λευτέρης Δουκέρης στις 31 Μαρ 2013, 05:19:23 ΜΜ
Καλησπέρα . Υπάρχουν δύο διαφορετικές απόψεις που έχω συναντήσει και με έχουν προβληματίσει ως προς το κριτήριο της ΕΙΣΟΔΟΥ για τον αν είναι υποχρεωτικό να τηρείται η όχι σε έναν αλγόριθμο.
1)   δεν είναι υποχρεωτικό γιατί μπορεί ένας αλγόριθμος (απλούστατος βέβαια να εμφανίζει μόνο ένα μήνυμα . π.χ
Αλγόριθμος πχ
Εμφάνισε 'hello word'
Τέλος Πχ

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

2)   Αφού η είσοδος αποτελεί κριτήριο ενός αλγόριθμου πρέπει οπωσδήποτε να πληρείται .
Έχετε άποψη αν η 1 ή 2 άποψη είναι σωστή;

Εχει πέσει σωστό λάθος το παρακάτω:
Ένας αλγόριθμος μπορεί να μην έχει έξοδο.
Στο ερώτημα
Ένας αλγόριθμος μπορεί να μην έχει είσοδο
απαντάμε σωστό ή λάθος.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: P.Tsiotakis στις 31 Μαρ 2013, 10:07:34 ΜΜ
είσοδος δε σημαίνει διάβασε

κατά τη γνώμη μου:

- το μήνυμα "hello world" με αφηρημένο τρόπο (και με την έννοια της εισόδου του βιβλίου) αποτελεί είσοδο
- ένας αλγόριθμός πάντοτε πρέπει να έχει είσοδο και έξοδο (θεμελιώδες κριτήριο)
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 01 Απρ 2013, 08:44:37 ΠΜ
Καλημέρα
Είχε γίνει μεγάλη συζήτηση παλαιότερα, χωρίς να υπάρξει καθολική συμφωνία.
Η γνώμη μου είναι ότι για να είναι κάτι είσοδος πρέπει να είναι αρχικά έξω από τον αλγόριθμο και στη συνέχεια να μπει μέσα. Δηλαδή στα πλαίσια του μαθήματος το Διάβασε. Πέρα από το μάθημα θα ήταν και η είσοδος από αρχείο.

Αν δεχτούμε μηνύματα εκτύπωσης (Εμφάνισε «Καλημέρα») ή εκχωρήσεις τιμών (S<-0) στην είσοδο τότε, όλα τα μηνύματα στην οθόνη, όλες οι εκχωρήσεις τιμής και γενικά  όλες οι σταθερές θα είναι είσοδος.

Την παράγραφο των αλγοριθμικών κριτηρίων οι συγγραφείς την πήραν από το βιβλίο του Knuth. Άνοιξα λοιπόν τον Knuth για να δω τι θα ήθελαν να πουν οι συγγραφείς και είδα ότι δεν τα λέει έτσι.
Ο Knuth αναφέρει ως «χαρακτηριστικά» (features) την είσοδο την έξοδο και αυτό που το βιβλίο μετέφρασε ως «αποτελεσματικότητα». «Κριτήρια» αποκαλεί την περατότητα και την καθοριστικότητα. Το «χαρακτηριστικό» είναι πιο ελαφριά έκφραση από το κριτήριο και αν δεν πληρείται από τον κώδικα δε σημαίνει ότι δεν είναι και αλγόριθμος. Αν όμως δεν πληρείται κάποιο κριτήριο τότε δεν είναι αλγόριθμος.

Για μένα... οι συγγραφείς δε μετέφεραν σωστά το νόημα του βιβλίου του Knuth.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: vtsakan στις 02 Απρ 2013, 11:00:22 ΠΜ
Προσωπικά είμαι της αποψης πως είσοδος και έξοδος δεν σημαίνει διάβασε και γράψε απαραίτητα.
Αντιλαμβάνομαι πως η είσοδος είναι ένα σημείο του αλγορίθμου το οποίο δίνει με κάποιο τρόπο αρχικές τιμές σε μεταβλητές απαραίτητες για την πορεία του αλγορίθμου. Αυτό μπορεί να γίνει είτε με Διάβασε, είτε με αρχικοποίηση μεταβλητών είτε με χρήση συνάρτησης παραγωγής τυχαίας τιμής, είτε....

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

Στα πλαίσια του μαθήματος ωστόσο, νομίζω πως η απάντηση είναι σαφής:
Ένας αλγόριθμος μπορεί να μην έχει είσοδο -> Λάθος
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 02 Απρ 2013, 11:33:23 ΠΜ
Θέτω κάποιους προβληματισμούς ως προς που μπορεί να οδηγηθούμε αν δεχτούμε ότι οι αρχικοποιήσεις είναι είσοδος.

Αν υπολογίζω κάποιο άθροισμα, η αρχικοποίηση μετρητή είναι είσοδος; Πχ στον κώδικα:
Σ<--0
Για ι από 1 μέχρι 100
  Σ<--Σ+ι^2
Τέλος_επανάληψης

Είναι είσοδος το Σ<--0 ;

Αν είναι είσοδος...  το επόμενο ερώτημα είναι αν στον παρακάτω κώδικα το Σ<--0 είναι είσοδος;
Διάβασε ν
Σ<--0
Για ι από 1 μέχρι ν
  Σ<--Σ+ι^2
Τέλος_επανάληψης

Με άλλα λόγια ποια είναι η είσοδος στον δεύτερο κώδικα; Γίνεται το Σ<--0 να είναι είσοδος στον πρώτο κώδικα και όχι στον δεύτερο;
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: petrosp13 στις 02 Απρ 2013, 11:43:42 ΠΜ
Πάλι αναλωνόμαστε σε ασάφειες του βιβλίου...
Δεν θα βγάλουμε άκρη παιδιά
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 02 Απρ 2013, 12:06:12 ΜΜ
Πράγματι στα ασαφή σημεία του βιβλίου δεν μπορούμε να βγάλουμε άκρη. Μπορούμε όμως να καταλάβουμε τι έχει λογική και τι όχι.
Εγώ διαφωνώ με το να προσπαθούμε κάτι να το βγάλουμε σωστό μόνο και μόνο επειδή το λέει το βιβλίο. Μπορεί το βιβλίο να κάνει λάθος. Εδώ ξέρουμε ότι το βιβλίο πήρε τα κριτήρια από τον Knuth. Αν διαβάσουμε λοιπόν τον Knuth (για να δούμε τι ήθελε να πει το σχολικό βιβλίο) θα δούμε ότι δεν μετέφερε καλά τα νοήματα. Αντί για χαρακτηριστικό (feature) που λέει ο Knuth την είσοδο, το σχολικό βιβλίο τα ονόμασε όλα κριτήρια.
Δεν καταλαβαίνω γιατί εμείς πρέπει να βγάλουμε το βιβλίο σώνει και καλά σωστό. Αν δεν το έλεγε το βιβλίο κανείς δε θα πίστευε ότι η αρχικοποίηση μεταβλητής είναι είσοδος.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: vtsakan στις 02 Απρ 2013, 12:55:08 ΜΜ
Εαν ξεφύγουμε απο το σχολικό βιβλίο, τότε η κουβέντα μας θα έπρεπε να αναφέρεται στο αν μία ομάδα εντολών επιλύει ένα γενικό προβλημα ή όχι. Ο ορισμός του προβλήματος στην επιστήμη της αλγοριθμικής ορίζει σαφώς πως το πρόβλημα πρέπει να είναι γενικό. Ο αλγόριθμος λύνει το πρόβλημα και κάθε εκτέλεση του αλγορίθμου ένα στιγμιότυπο του προβλήματος. Συνεπώς, οι εντολές

Σ<--0
Για ι από 1 μέχρι 100
  Σ<--Σ+ι^2
Τέλος_επανάληψης

ΚΑΙ

Διάβασε ν
Σ<--0
Για ι από 1 μέχρι ν
  Σ<--Σ+ι^2
Τέλος_επανάληψης

στα αυστηρά πλαίσια της αλγοριθμικής δεν είναι αλγόριθμος, αλλά μία υπολογιστική διαδικασία.

Φυσικά, στα πλαίσια του μαθήματος, δεν γίνεται τέτοια διάκριση ούτε έχει νόημα σε ένα εισαγωγικό μάθημα μία τέτοια κουβέντα.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: sstergou στις 02 Απρ 2013, 02:18:11 ΜΜ
Όποιος έχει όρεξη πάντως μπορεί να διαβάσει και τα εξής : https://alkisg.mysch.gr/steki/index.php?topic=2609.0
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 02 Απρ 2013, 02:53:48 ΜΜ
Παράθεση από: vtsakan στις 02 Απρ 2013, 12:55:08 ΜΜ
Εαν ξεφύγουμε απο το σχολικό βιβλίο, τότε η κουβέντα μας θα έπρεπε να αναφέρεται στο αν μία ομάδα εντολών επιλύει ένα γενικό προβλημα ή όχι. Ο ορισμός του προβλήματος στην επιστήμη της αλγοριθμικής ορίζει σαφώς πως το πρόβλημα πρέπει να είναι γενικό. Ο αλγόριθμος λύνει το πρόβλημα και κάθε εκτέλεση του αλγορίθμου ένα στιγμιότυπο του προβλήματος. Συνεπώς, οι εντολές

Σ<--0
Για ι από 1 μέχρι 100
  Σ<--Σ+ι^2
Τέλος_επανάληψης

ΚΑΙ

Διάβασε ν
Σ<--0
Για ι από 1 μέχρι ν
  Σ<--Σ+ι^2
Τέλος_επανάληψης

στα αυστηρά πλαίσια της αλγοριθμικής δεν είναι αλγόριθμος, αλλά μία υπολογιστική διαδικασία.

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

Γιατί ο δεύτερος κώδικας δεν είναι αλγόριθμος αλλά υπολογιστική διαδικασία;
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Λευτέρης Δουκέρης στις 02 Απρ 2013, 07:38:09 ΜΜ
ΚΑΛΗΣΠΕΡΑ.
Συμφωνώ και εγώ ότι αναλωνόμαστε σε ασάφειες του βιβλίου.
Ρώτησα όμως όλους τους συναδέρφους εδώ , επειδή μαθητές μου , που είναι  άριστοι με
ρώτησαν
Αν το κριτήριο της εισόδου σε έναν αλγόριθμο είναι υποχρεωτικό.
Απάντησα "Ναι" με σκεπτικό οτι αφού το βιβλίο μας το αναφέρει σαν κριτήριο αρα .... λογικά είναι
υποχρεωτικό.
Αν κατάλαβα καλά όλοι συμφωνούμε με το "ναι" στο συγκεκριμένο Σωστό - Λάθος.
Οπότε καλύφτηκα πλήρως. ΕΥΧΑΡΙΣΤΩ
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: vtsakan στις 02 Απρ 2013, 08:06:18 ΜΜ
Παράθεση από: gpapargi στις 02 Απρ 2013, 02:53:48 ΜΜ
Γιατί ο δεύτερος κώδικας δεν είναι αλγόριθμος αλλά υπολογιστική διαδικασία;

Γιατί κάθε φορά που εκτελείται δίνει το ίδιο αποτέλεσμα.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 02 Απρ 2013, 08:29:41 ΜΜ
Παράθεση από: vtsakan στις 02 Απρ 2013, 08:06:18 ΜΜ
Γιατί κάθε φορά που εκτελείται δίνει το ίδιο αποτέλεσμα.

Ο δεύτερος κώδικας διαβάζει το ν και το έχει στο δεξί άκρο της Για. Δε δίνει το ίδιο αποτέλεσμα σε κάθε εκτέλεση.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 02 Απρ 2013, 08:44:41 ΜΜ
Παράθεση από: lefteris_doy στις 02 Απρ 2013, 07:38:09 ΜΜ
ΚΑΛΗΣΠΕΡΑ.
Συμφωνώ και εγώ ότι αναλωνόμαστε σε ασάφειες του βιβλίου.
Ρώτησα όμως όλους τους συναδέρφους εδώ , επειδή μαθητές μου , που είναι  άριστοι με
ρώτησαν
Αν το κριτήριο της εισόδου σε έναν αλγόριθμο είναι υποχρεωτικό.
Απάντησα "Ναι" με σκεπτικό οτι αφού το βιβλίο μας το αναφέρει σαν κριτήριο αρα .... λογικά είναι
υποχρεωτικό.
Αν κατάλαβα καλά όλοι συμφωνούμε με το "ναι" στο συγκεκριμένο Σωστό - Λάθος.
Οπότε καλύφτηκα πλήρως. ΕΥΧΑΡΙΣΤΩ

Εγώ προσωπικά δε συμφωνώ με το "ναι" στο συγκεκριμένο σωστό-λάθος. Το βιβλίο λέει ότι μπορεί να έχει και "καμία" τιμή σαν είσοδο πράγμα που σημαίνει ότι ο αλγόριθμος μπορεί και να μην έχει είσοδο. Και αυτό έρχεται σε αντίθεση με αυτό που λέει παραπάνω ότι ο αλγόριθμος πρέπει απαραίτητα να έχει είσοδο. Για μένα λοιπόν αυτά που γράφει στο συγκεκριμένο θέμα το βιβλίο δεν έχουν νόημα και άρα δεν πρέπει να πέσει ερώτηση πάνω σε αυτό.

Για μένα αυτό που έχει σημασία είναι αν το βιβλίο έχει κάποιο εμφανές λάθος θα το κάνουμε σωστό επειδή το λέει το βίβλίο ή θα πούμε ότι έχει λάθος; Εγώ προσωπικά κάνω το δεύτερο. Το σχολικό βιβλίο δεν έχει κάποια βαρύτητα από βιβλιογραφική άποψη. Δεν μπορώ δηλαδή να πάω σε ένα καθηγητή πανεπιστημίου και να του πω "κάνεις λάθος γιατί έτσι τα λέει το βιβλίο της Γ λυκείου". Θα μου απαντήσει πολύ απλά "γι αυτό δε στήριξαν οι ακαδημαικοί το μάθημα της ΑΕΠΠ όταν πήγε να καταργηθεί προ διετίας... γιατί τους τα λέτε λάθος". (Για όσους δε θυμούνται αυτά είπε ο Γεωργιάδης όταν ρωτήθηκε)
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: axi στις 02 Απρ 2013, 09:23:42 ΜΜ
Ρε παιδιά έτσι για να μου φύγει η απορία.
Πως γίνεται η είσοδος να αποτελεί κριτήριο, τη στιγμή που
το σχολικό βιβλίο γράφει ότι ο αλγόριθμος μπορεί να έχει κανένα ,ένα
ή περισσότερα δεδομένα εισόδου;
Αν φύγει η λέξη κριτήριο μια χαρά ταιριάζει.
Με πρόλαβε ο Γιώργος.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Νίκος Αδαμόπουλος στις 02 Απρ 2013, 10:09:03 ΜΜ
Παράθεση από: Παναγιώτης Τσιωτάκης στις 31 Μαρ 2013, 10:07:34 ΜΜ
- το μήνυμα "hello world" με αφηρημένο τρόπο (και με την έννοια της εισόδου του βιβλίου) αποτελεί είσοδο

Παράθεση από: gpapargi στις 01 Απρ 2013, 08:44:37 ΠΜ
Αν δεχτούμε μηνύματα εκτύπωσης (Εμφάνισε «Καλημέρα»)  στην είσοδο ...

Γιατί τα μηνύματα που εμφανίζονται στην οθόνη να μπορούν να θεωρηθούν ως είσοδος; Έξοδος δεν είναι;
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Νίκος Αδαμόπουλος στις 02 Απρ 2013, 10:49:54 ΜΜ
Παράθεση από: gpapargi στις 02 Απρ 2013, 12:06:12 ΜΜ
Εδώ ξέρουμε ότι το βιβλίο πήρε τα κριτήρια από τον Knuth. Αν διαβάσουμε λοιπόν τον Knuth (για να δούμε τι ήθελε να πει το σχολικό βιβλίο) θα δούμε ότι δεν μετέφερε καλά τα νοήματα. Αντί για χαρακτηριστικό (feature) που λέει ο Knuth την είσοδο, το σχολικό βιβλίο τα ονόμασε όλα κριτήρια.

Για ξέρουμε γιατί ακριβώς μιλάμε:

Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: ntzios kostas στις 02 Απρ 2013, 11:10:45 ΜΜ
Ευχαριστούμε Νίκο.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: P.Tsiotakis στις 03 Απρ 2013, 12:13:21 ΠΜ
είσοδος ειναι η πρωτογενής τιμή προς χρήση
είσοδο δεν αποτελεί μόνο η τιμή που διαβάζεται

ψυχραιμία, δεν έχω σκοπό να γκρεμίσω το σύμπαν

στο

Αλγόριθμος Αλ
α <- "γεια σας"
Εμφάνισε α
Τέλος Αλ

Αλγόριθμος Αλ
Διάβασε α
Εμφάνισε α
Τέλος Αλ

Αλγόριθμος Αλ
Εμφάνισε "γεια σας"
Τέλος Αλ

διακρίνω την εντολή εξόδου (Εμφάνισε) από το μήνυμα που περιλαμβάνει

Ένας αλγόριθμος πρεπει πάντα να πληρει το κριτήριο της εισόδου = να δέχεται (διαβάζει) ή να παράγει τιμές που θα επεξεργάζεται
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: alkisg στις 03 Απρ 2013, 07:34:27 ΠΜ
Πέρα από το χαρακτηρισμό της ως κριτήριο ή μη, με βάση το βιβλίο, νομίζω ότι η έννοια της εισόδου ενός αλγορίθμου είναι πολύ καλά καθορισμένη:

Αν φανταστούμε έναν αλγόριθμο ή ένα υποπρόγραμμα σαν ένα μαύρο κουτί,
οποιαδήποτε τιμή έξω από αυτό το μαύρο κουτί που διαβιβάζεται σε αυτό και πιθανώς επηρεάζει την έξοδό του, αποτελεί είσοδο.
Είναι το πρώτο μέρος από το κλασσικό Είσοδος → Επεξεργασία → Έξοδος.
Οι αναθέσεις τιμής δεν είναι είσοδος, εμπεριέχονται στο μαύρο κουτί.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: vtsakan στις 03 Απρ 2013, 09:28:27 ΠΜ
Παράθεση από: gpapargi στις 02 Απρ 2013, 08:29:41 ΜΜ
Ο δεύτερος κώδικας διαβάζει το ν και το έχει στο δεξί άκρο της Για. Δε δίνει το ίδιο αποτέλεσμα σε κάθε εκτέλεση.

Έχεις δίκιο. Δεν το πρόσεξα. Ο δεύτερος φυσικά και είναι αλγόριθμος!
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 09:51:38 ΠΜ
Δεν μπορώ να καταλάβω που είναι το μπέρδεμα. Το βιβλίο είναι σαφές:
"Είσοδος (input). Καμμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο..."
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: petrosp13 στις 03 Απρ 2013, 10:32:15 ΠΜ
Παράθεση από: alkisg στις 03 Απρ 2013, 07:34:27 ΠΜ
Οι αναθέσεις τιμής δεν είναι είσοδος, εμπεριέχονται στο μαύρο κουτί.

Άρα ο παρακάτω αλγόριθμος δεν πληρεί το κριτήριο της εισόδου;;;; (επαναλαμβάνω, δεν θα βγάλουμε άκρη)

Αλγόριθμος χ
  α <-- 2
  β <-- α ^ 2
  Εμφάνισε β
Τέλος χ
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 10:38:57 ΠΜ
Παράθεση από: petrosp13 στις 03 Απρ 2013, 10:32:15 ΠΜ
Άρα ο παρακάτω αλγόριθμος δεν πληρεί το κριτήριο της εισόδου;;;; (επαναλαμβάνω, δεν θα βγάλουμε άκρη)

Αλγόριθμος χ
  α <-- 2
  β <-- α ^ 2
  Εμφάνισε β
Τέλος χ


Πληροί το κριτήριο. Δεν έχει καμμία είσοδο.
Είναι επιτρεπτό και σύμφωνα με το βιβλίο.
Ένας αλγόριθμος μπορεί να μην έχει είσοδο.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 03 Απρ 2013, 11:07:31 ΠΜ
Παράθεση από: vtsakan στις 03 Απρ 2013, 09:28:27 ΠΜ
Έχεις δίκιο. Δεν το πρόσεξα. Ο δεύτερος φυσικά και είναι αλγόριθμος!

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

Διάβασε ν
Σ<--0
Για ι από 1 μέχρι ν
  Σ<--Σ+ι^2
Τέλος_επανάληψης
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 03 Απρ 2013, 11:16:25 ΠΜ
Παράθεση από: Gnirut στις 03 Απρ 2013, 10:38:57 ΠΜ
Πληροί το κριτήριο. Δεν έχει καμμία είσοδο.
Είναι επιτρεπτό και σύμφωνα με το βιβλίο.
Ένας αλγόριθμος μπορεί να μην έχει είσοδο.

Σύμφωνα με αυτό που γράφεις, ένας αλγόριθμος μπορεί να μην έχει είσοδο και παρόλα αυτά να πληρεί το κριτήριο της εισόδου. Δηλαδή είτε έχει είσοδο είτε δεν έχει είσοδο... το κριτήριο το πληρεί. Τι νόημα έχει να λέμε ότι ο αλγόριθμος πληρεί το κριτήριο της εισόδου ανεξάρτητα από το αν έχει είσοδο ή όχι;
Τι νόημα έχει να μιλάμε για το κριτήριο της εισόδου;
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 03 Απρ 2013, 11:22:07 ΠΜ
Παράθεση από: alkisg στις 03 Απρ 2013, 07:34:27 ΠΜ
Πέρα από το χαρακτηρισμό της ως κριτήριο ή μη, με βάση το βιβλίο, νομίζω ότι η έννοια της εισόδου ενός αλγορίθμου είναι πολύ καλά καθορισμένη:

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

  • Η Διάβασε είναι είσοδος, είτε από το πληκτρολόγιο είτε από αρχείο.
  • Οι πρωτογενείς τιμές είναι είσοδος (παράδειγμα, είσοδος της seed μιας random από το ρολόι ή από τις κινήσεις ποντικιού + πληκτρολογίου του χρήστη).
  • Η εντολή Δεδομένα ενός αλγορίθμου είναι είσοδος.
  • Αν έχουμε ένα υποπρόγραμμα (συνάρτηση, διαδικασία) Υ με παράμετρο π, και το καλέσουμε ως Υ(2), το 2 έχει την ίδια έννοια με τα Δεδομένα, και αποτελεί είσοδο για αυτό το υποπρόγραμμα.
Οι αναθέσεις τιμής δεν είναι είσοδος, εμπεριέχονται στο μαύρο κουτί.

Άλκη συμφωνώ σε όλα όσα γράφεις. Μια μικρή διευκρίνηση μόνο για να καταλάβω τι ακριβώς εννοείς όταν λες "πρωτογενείς τιμές". Υποθέτω αν εκχωρώ τιμές σε 5 μεταβλητές και μετά τις επεξεργάζομαι (πχ τις προσθέτω) αυτές δεν είναι είσοδος (και για μένα και για σένα). Υπάρχουν 2 κόσμοι: ο "μέσα" στον αλγόριθμο και ο "έξω" από τον αλγόριθμο. Για να είναι είσοδος θα πρέπει να είναι αρχικά στον "έξω" κόσμο και να "μπει" στον μέσα.
Είναι πρωτογενείς τιμές αυτές οι 5 μεταβλητές;
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: petrosp13 στις 03 Απρ 2013, 11:37:19 ΠΜ
Παράθεση από: gpapargi στις 01 Απρ 2013, 08:44:37 ΠΜ
Ο Knuth αναφέρει ως «χαρακτηριστικά» (features) την είσοδο την έξοδο και αυτό που το βιβλίο μετέφρασε ως «αποτελεσματικότητα». «Κριτήρια» αποκαλεί την περατότητα και την καθοριστικότητα. Το «χαρακτηριστικό» είναι πιο ελαφριά έκφραση από το κριτήριο και αν δεν πληρείται από τον κώδικα δε σημαίνει ότι δεν είναι και αλγόριθμος. Αν όμως δεν πληρείται κάποιο κριτήριο τότε δεν είναι αλγόριθμος.

Για μένα... οι συγγραφείς δε μετέφεραν σωστά το νόημα του βιβλίου του Knuth.


Αυτό τα εξηγεί όλα νομίζω
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: P.Tsiotakis στις 03 Απρ 2013, 11:40:57 ΠΜ
απ' ότι φαίνεται δε μπορούμε να ξεχωρίσουμε τις έννοιες "είσοδος" και "διάβασε" και δεν έχει και πολύ νόημα να ψάχνουμε στο λεξικό πια
ας ελπίσουμε να αλλάξει κάτι (το βιβλίο ή εμείς) για να μπορούμε να τις εξηγούμε
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 11:42:48 ΠΜ
Παράθεση από: gpapargi στις 03 Απρ 2013, 11:16:25 ΠΜ
Σύμφωνα με αυτό που γράφεις, ένας αλγόριθμος μπορεί να μην έχει είσοδο και παρόλα αυτά να πληρεί το κριτήριο της εισόδου. Δηλαδή είτε έχει είσοδο είτε δεν έχει είσοδο... το κριτήριο το πληρεί. Τι νόημα έχει να λέμε ότι ο αλγόριθμος πληρεί το κριτήριο της εισόδου ανεξάρτητα από το αν έχει είσοδο ή όχι;
Τι νόημα έχει να μιλάμε για το κριτήριο της εισόδου;

Π.χ.
Κώδικας [Επιλογή]

Αλγόριθμος πχ1
α<-α+1
Τέλος πχ1

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

Ο παρακάτω όμως είναι αλγόριθμος:
Κώδικας [Επιλογή]

Αλγόριθμος πχ2
α <- 1
α <- α+1
Τέλος πχ2

εδώ η πρωτογενής τιμή είναι το 1.

Καταλαβαίνω γενικώς τι υπονοείτε, αλλά από τη στιγμή που το βιβλίο αναφέρεται σε "κριτήρια" που πρέπει να πληρούνται έτσι θα εξεταστούν οι μαθητές, ασχέτως του αν ο Knuth αναφέρεται όχι σε "κριτήρια" αλλά σε "χαρακτηριστικά".
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: alkisg στις 03 Απρ 2013, 12:03:40 ΜΜ
Παράθεση από: gpapargi στις 03 Απρ 2013, 11:22:07 ΠΜ
Άλκη συμφωνώ σε όλα όσα γράφεις. Μια μικρή διευκρίνηση μόνο για να καταλάβω τι ακριβώς εννοείς όταν λες "πρωτογενείς τιμές". Υποθέτω αν εκχωρώ τιμές σε 5 μεταβλητές και μετά τις επεξεργάζομαι (πχ τις προσθέτω) αυτές δεν είναι είσοδος (και για μένα και για σένα). Υπάρχουν 2 κόσμοι: ο "μέσα" στον αλγόριθμο και ο "έξω" από τον αλγόριθμο. Για να είναι είσοδος θα πρέπει να είναι αρχικά στον "έξω" κόσμο και να "μπει" στον μέσα.
Είναι πρωτογενείς τιμές αυτές οι 5 μεταβλητές;

Να προσπαθήσω να το ξεκαθαρίσω με ένα παράδειγμα:
Κώδικας (ΓΛΩΣΣΑ) [Επιλογή]

ΠΡΟΓΡΑΜΜΑ ΧωρίςΕίσοδο
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: χ, ψ
ΑΡΧΗ
  χ <- 1
  ψ <- Διπλάσιο(χ)
  ΓΡΑΨΕ ψ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΣΥΝΑΡΤΗΣΗ Διπλάσιο(δ): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: δ
ΑΡΧΗ
  Διπλάσιο <- 2*δ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


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

Σαν μαύρο κουτί λοιπόν αυτός ο αλγόριθμος είναι αποτυχημένος. Δεν έχει νόημα να φτιάξουμε συσκευές που να επιτελούν αυτόν τον αλγόριθμο, γιατί θα απαντάνε πάντα "2" χωρίς να περιμένουν τίποτα από εμάς.

Όμως:

Έχουμε κι άλλο ένα μαύρο κουτί. Τη συνάρτηση Διπλάσιο. Αυτή είναι χρήσιμη. Παίρνει σαν είσοδο τη μεταβλητή δ. Θα ήταν χρήσιμο να φτιάξουμε μια συσκευή "Διπλάσιο", γιατί θα μας έλυνε κάποιο πρόβλημα, τον υπολογισμό του διπλασίου μιας τιμής που θα της εισάγαμε.


Άρα, το "1" δεν αποτελεί είσοδο για τον αλγόριθμο/μαύρο κουτί "ΧωρίςΕίσοδο", αποτελεί όμως είσοδο για τον αλγόριθμο/μαύρο υποκουτάκι "Διπλάσιο".
Όπως το λες δηλαδή Γιώργο, εξ' ορισμού είσοδος είναι κάτι που είναι έξω από τον αλγόριθμο και μπαίνει μέσα.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 12:08:59 ΜΜ
"Άρα, το "1" δεν αποτελεί είσοδο για τον αλγόριθμο/μαύρο κουτί "ΧωρίςΕίσοδο", αποτελεί όμως είσοδο για τον αλγόριθμο/μαύρο υποκουτάκι "Διπλάσιο"."

Εαν το "1" ήταν "2", δεν θα άλλαζε την έξοδο του αλγόριθμου;
Θα την άλλαζε. Άρα γιατί δεν είναι πρωτογενής τιμή, π.χ. κάτι σαν seed.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: alkisg στις 03 Απρ 2013, 12:11:03 ΜΜ
Γιατί ο αλγόριθμος είναι το κείμενο που έγραψες.
Αν αλλάξεις το κείμενο, έχεις άλλον αλγόριθμο, όχι άλλη είσοδο.
Έφτιαξες δηλαδή έναν αλγόριθμο που γράφει πάντα "2",
και μετά τον άλλαξες και έφτιαξες άλλον αλγόριθμο που γράφει πάντα "4".

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

Με άλλα λόγια, φαντάσου ότι το κάνεις .exe και μου το δίνεις σε δισκέτα. Έχω τον αλγόριθμο και μπορώ να τον τρέξω αλλά δεν έχω τον κώδικά του. Πώς θα αλλάξω την έξοδο του αλγορίθμου/μαύρου κουτιού; Αλλάζοντας την είσοδο. Τον κώδικα όμως δεν μπορώ να τον αλλάξω αφού δεν τον έχω... Η αλλαγή του κώδικα σημαίνει και αλλαγή του αλγορίθμου, του .exe, όχι της εισόδου.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Νίκος Αδαμόπουλος στις 03 Απρ 2013, 12:17:11 ΜΜ
Παράθεση από: Παναγιώτης Τσιωτάκης στις 03 Απρ 2013, 12:13:21 ΠΜ
Αλγόριθμος Αλ
Εμφάνισε "γεια σας"
Τέλος Αλ

Πάντως εγώ πιστεύω πως αν το "γεια σας" το θεωρήσουμε είσοδο τότε το μπλέκουμε πολύ το πράγμα...!
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 12:24:16 ΜΜ
Παράθεση από: Παναγιώτης Τσιωτάκης στις 03 Απρ 2013, 11:40:57 ΠΜ
απ' ότι φαίνεται δε μπορούμε να ξεχωρίσουμε τις έννοιες "είσοδος" και "διάβασε" και δεν έχει και πολύ νόημα να ψάχνουμε στο λεξικό πια
ας ελπίσουμε να αλλάξει κάτι (το βιβλίο ή εμείς) για να μπορούμε να τις εξηγούμε

Π.χ. "πονηρή" άσκηση
Κώδικας [Επιλογή]

Αλγοριθμος πχ
Διάβασε χ,ψ ή Δεδομένα //χ,ψ//
α<-1
β<-α
Τέλος πχ

Πόσες εισόδους έχει ο αλγόριθμος;

Σύμφωνα με το βιβλίο 2, ασχέτως του αν τα χ,ψ δεν χρησιμοποιούνται πουθενά στον αλγόριθμο.
Σύμφωνα με τον Knuth όμως θα μπορούσαμε να πούμε ότι δεν έχει καμμία είσοδο, γιατί σε αντίθεση με το βιβλίο, κατά τον Knuth, οι έξοδοι πρέπει να έχουν σχέση με τις εισόδους.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 12:32:46 ΜΜ
Παράθεση από: alkisg στις 03 Απρ 2013, 12:11:03 ΜΜ
Γιατί ο αλγόριθμος είναι το κείμενο που έγραψες.
Αν αλλάξεις το κείμενο, έχεις άλλον αλγόριθμο, όχι άλλη είσοδο.
Έφτιαξες δηλαδή έναν αλγόριθμο που γράφει πάντα "2",
και μετά τον άλλαξες και έφτιαξες άλλον αλγόριθμο που γράφει πάντα "4".

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

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

Καταλαβαίνω τι θέλεις να πεις, αλλά εγώ σου απαντώ ..."by the (ΑΕΠΠ) book".
Εαν το "1" δεν το θεωρήσουμε πρωτογενή τιμή στο πρόγραμμα που έστειλες τότε ο αλγόριθμος του προγράμματος δεν πληροί τα "by the (ΑΕΠΠ) book" κριτήρια που πρέπει να πληροί ένας αλγόριθμος..., ενώ φυσικά είναι ένας μια χαρά αλγόριθμος...
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 12:36:31 ΜΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 03 Απρ 2013, 12:17:11 ΜΜ
Πάντως εγώ πιστεύω πως αν το "γεια σας" το θεωρήσουμε είσοδο τότε το μπλέκουμε πολύ το πράγμα...!

Εγώ πάντως το κατανοώ ως πρωτογενές δεδομένο.
Οπότε το ερώτημα είναι το "τι είναι και τι θεωρούμε πρωτογενές δεδομένο".

Την έννοια του πρωτογενούς δεδομένου τη θέτει το βιβλίο της ΑΕΠΠ.
Κατά τον Knuth το να μην εχει γενικά καμμία είσοδο ένας αλγόριθμος δεν αποτελεί κάτι λάθος.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: alkisg στις 03 Απρ 2013, 12:59:40 ΜΜ
Παράθεση από: Gnirut στις 03 Απρ 2013, 12:32:46 ΜΜ
Καταλαβαίνω τι θέλεις να πεις, αλλά εγώ σου απαντώ ..."by the (ΑΕΠΠ) book".
Εαν το "1" δεν το θεωρήσουμε πρωτογενή τιμή στο πρόγραμμα που έστειλες τότε ο αλγόριθμος του προγράμματος δεν πληροί τα "by the (ΑΕΠΠ) book" κριτήρια που πρέπει να πληροί ένας αλγόριθμος..., ενώ φυσικά είναι ένας μια χαρά αλγόριθμος...

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

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

Η φράση κλειδί είναι αυτή που είπε ο Γιώργος, "είσοδος είναι κάτι που είναι έξω από τον αλγόριθμο και μπαίνει μέσα".
Αν δεν είναι γενικώς αποδεκτό αυτό, θα είναι πολύ πιο δύσκολο να βγει άκρη με τα υπόλοιπα.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 03 Απρ 2013, 01:13:28 ΜΜ
Παράθεση από: alkisg στις 03 Απρ 2013, 12:11:03 ΜΜ
Γιατί ο αλγόριθμος είναι το κείμενο που έγραψες.
Αν αλλάξεις το κείμενο, έχεις άλλον αλγόριθμο, όχι άλλη είσοδο.
Έφτιαξες δηλαδή έναν αλγόριθμο που γράφει πάντα "2",
και μετά τον άλλαξες και έφτιαξες άλλον αλγόριθμο που γράφει πάντα "4".

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

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

Ακριβώς έτσι όπως τα γράφει ο Άλκης. Δες το και αλλιώς Gnirut:
Η αρχή του αλγορίθμου σηματοδοτείται από το "Πρόγραμμα Χωρίς_είσοδο" και τέλος του αλγορίθμου από το "Τέλος_προγράμματος". Ότι είναι ανάμεσα σε αυτά τα 2 είναι ο αλγόριθμος. Τιμές που ανατίθενται σε μεταβλητές εκεί μέσα είναι ήδη εντός του αλγορίθμου. Δεν έρχονται απέξω, άρα δεν είναι είσοδος.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 03 Απρ 2013, 01:23:07 ΜΜ
Παράθεση από: Gnirut στις 03 Απρ 2013, 12:24:16 ΜΜ
Π.χ. "πονηρή" άσκηση
Κώδικας [Επιλογή]

Αλγοριθμος πχ
Διάβασε χ,ψ ή Δεδομένα //χ,ψ//
α<-1
β<-α
Τέλος πχ

Πόσες εισόδους έχει ο αλγόριθμος;

Σύμφωνα με το βιβλίο 2, ασχέτως του αν τα χ,ψ δεν χρησιμοποιούνται πουθενά στον αλγόριθμο.
Σύμφωνα με τον Knuth όμως θα μπορούσαμε να πούμε ότι δεν έχει καμμία είσοδο, γιατί σε αντίθεση με το βιβλίο, κατά τον Knuth, οι έξοδοι πρέπει να έχουν σχέση με τις εισόδους.

Τυπικά δε μας χαλάει αυτό. Πχ σε μια μαθηματική συνάρτηση το y (ανεξάρτητη μεταβλητή) έχει σχέση με το x (ανεξάρτητη μεταβλητή). Παρόλα αυτά υπάρχει η f(x)=5 δηλαδή η σταθερή συνάρτηση. Το "δεν εξαρτάται το y από το x" που συμβαίνει επί της ουσίας, είναι σαν να λες ότι εξαρτάται με την τετριμμένη έννοια της σταθερής συνάρτησης.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 01:26:08 ΜΜ
Παράθεση από: alkisg στις 03 Απρ 2013, 12:59:40 ΜΜ
Δεν είναι μια χαρά αλγόριθμος. Αυτό είναι το "κριτήριο", ότι εφόσον ΔΕΝ έχει είσοδο, δεν είναι και χρήσιμος, αφού βγάζει πάντα το ίδιο πράγμα.
Γιατί, ένας αλγόριθμος που εμφανίζει ένα fixed splash screen δεν είναι χρήσιμος;
Μπορεί να μην είναι generic αλλά κάνει κάτι χρήσιμο, κάτι για το οποίο τον φτιάξαμε, εμφανίζει κάποιο fixed μήνυμα.
Δεν υπάρχει κριτήριο "χρησιμότητας" ή "περισσότερης χρησιμότητας" ενός αλγορίθμου.

Παράθεση από: alkisg στις 03 Απρ 2013, 12:59:40 ΜΜ
Τα κριτήρια ή χαρακτηριστικά ή όπως αλλιώς τα πούμε, θεσπίστηκαν για να ξεχωρίζουμε την ποιότητα των αλγορίθμων. Ένας αλγόριθμος που πάντα βγάζει "2" είναι κακογραμμένος και άχρηστος. Θα πρέπει να ξαναγραφεί ώστε να έχει και κάποια είσοδο για να λύνει μια κατηγορία προβλημάτων (π.χ. υπολογισμός διπλασίου) και όχι ένα instance προβλήματος (π.χ. υπολογισμός του διπλασίου του 1).
Ένας αλγόριθμος μπορεί να είναι κακογραμμένος αλλά δεν παύει να είναι αλγόριθμος, σύμφωνα με τον ορισμό. Ένας αλγόριθμος με μια απλή δομή ακολουθίας που υπολογίζει το άθροισμα δύο fixed αριθμών μπορεί να μην ένας γενικός καλογραμμένος αλγόριθμος αλλά είναι ένας έγκυρος αλγόριθμος.

Παράθεση από: alkisg στις 03 Απρ 2013, 12:59:40 ΜΜ
Για τα πρωτογενή δεδομένα, όπως και να τα ορίσεις, θα πρέπει πάντως να μπορεί να αλλαχθεί η τιμή τους χωρίς να αλλάζει ο αλγόριθμος.
Εδώ σου απάντησα ότι μιλώ καθαρά πάνω στον ορισμό του κριτηρίου εισόδου που θέτει το βιβλίο της ΑΕΠΠ και μόνο, αλλιώς επί του σκεπτικού σου συμφωνώ μαζί σου. Ο Knuth άλλωστε αναφέρει ότι ένας αλγόριθμος μπορεί να μην έχει εισόδους (zero inputs), χωρίς να λέει τίποτα για "πρωτογενείς τιμές" κλπ.

Το βιβλίο της ΑΕΠΠ όμως, όπως το διαβάζω και το καταλαβαίνω εγώ, είναι σαφές:
"Η περίπτωση που δεν δίνονται τιμές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή άλλων απλών εντολών"

Δηλαδή (κατά ΑΕΠΠ) ένας αλγόριθμος χωρίς καμμία εξωτερική είσοδο π.χ.:
με μια αρχικοποίηση του τύπου
α <- rnd(5)
α <- α+1
πρωτογενής τιμή είναι η τυχαία τιμή που παράγει η γεννήτρια με seed 5 (ο αλγόριθμος επεξεργάζεται την τιμή που προκύπτει από την συναρτήση παραγωγής τυχαίων αριθμών).

με μια αρχικοποίηση του τύπου
α <- 1
α <- α+1
πρωτογενής τιμή είναι το 1 (ο αλγόριθμος επεξεργάζεται την τιμή που προκύπτει από την απλή εντολή α<-1).
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 01:42:40 ΜΜ
Παράθεση από: gpapargi στις 03 Απρ 2013, 01:23:07 ΜΜ
Τυπικά δε μας χαλάει αυτό. Πχ σε μια μαθηματική συνάρτηση το y (ανεξάρτητη μεταβλητή) έχει σχέση με το x (ανεξάρτητη μεταβλητή). Παρόλα αυτά υπάρχει η f(x)=5 δηλαδή η σταθερή συνάρτηση. Το "δεν εξαρτάται το y από το x" που συμβαίνει επί της ουσίας, είναι σαν να λες ότι εξαρτάται με την τετριμμένη έννοια της σταθερής συνάρτησης.

Στο παράδειγμα δεν έχει σχέση το χ με το ψ, τα χ,ψ είναι είσοδοι (δεδομένα που εισάγονται), το β και το α είναι έξοδοι.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 01:57:05 ΜΜ
Συνοψίζοντας και χαριτολογώντας:

Π.χ. για τον αλγόριθμο
Κώδικας [Επιλογή]

Αλγόριθμος Αλ
Εμφάνισε "γεια σας"
Τέλος Αλ

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

Εαν δεν θεωρήσουμε ως "πρωτογενή τιμή" το "γειά σας", τότε θεωρητικώς ο ορισμός του βιβλίου για τα κριτήρια ενός αλγορίθμου καταρρέει για το συγκεκριμένο παράδειγμα, οπότε ο παραπάνω αλγόριθμος δεν είναι αλγόριθμος, πράγμα που δεν ισχύει γιατί είναι ένας μια χαρά αλγόριθμος που τρέχει σε όλες τις γλώσσες προγραμματισμού...
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: P.Tsiotakis στις 03 Απρ 2013, 02:54:12 ΜΜ
Παράθεση από: Gnirut στις 03 Απρ 2013, 01:57:05 ΜΜ
Συνοψίζοντας και χαριτολογώντας:

Π.χ. για τον αλγόριθμο
Κώδικας [Επιλογή]

Αλγόριθμος Αλ
Εμφάνισε "γεια σας"
Τέλος Αλ

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

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

Αλληλούια
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: alkisg στις 03 Απρ 2013, 03:16:44 ΜΜ
Παράθεση από: Gnirut στις 03 Απρ 2013, 01:26:08 ΜΜ
Γιατί, ένας αλγόριθμος που εμφανίζει ένα fixed splash screen δεν είναι χρήσιμος;

Ναι, δεν είναι χρήσιμος. Οι splash screens έχουν σαν δεδομένο τη συνθήκη τερματισμού, η οποία ικανοποιείται όταν το κυρίως πρόγραμμα έχει ετοιμαστεί και είναι έτοιμο να δεχτεί δεδομένα από το χρήστη. Δηλαδή το δεδομένο του Αλγορίθμου SplashScreen είναι το signal που στέλνει η εξωτερική διαδικασία που τερματίζει το splash screen. Αν κάποιος βγάλει ένα πρόγραμμα στο Android market που εμφανίζει μια splash screen η οποία δεν τερματίζει ποτέ και δεν αφήνει καν το χρήστη να σηκώσει το τηλέφωνο, δεν νομίζω ότι κανείς θα το θεωρήσει χρήσιμο και θα το αγοράσει. ΟΚ, εκτός αν ο σκοπός είναι να κόψουμε διά παντός τα τηλεφωνήματα. :)

Παράθεση από: Gnirut στις 03 Απρ 2013, 01:57:05 ΜΜ
Εαν δεν θεωρήσουμε ως "πρωτογενή τιμή" το "γειά σας", τότε θεωρητικώς ο ορισμός του βιβλίου για τα κριτήρια ενός αλγορίθμου καταρρέει για το συγκεκριμένο παράδειγμα, οπότε ο παραπάνω αλγόριθμος δεν είναι αλγόριθμος, πράγμα που δεν ισχύει γιατί είναι ένας μια χαρά αλγόριθμος που τρέχει σε όλες τις γλώσσες προγραμματισμού...

Δεν μπορώ με τίποτα να δεχτώ σαν αφετηρία το ότι "το βιβλίο θα πρέπει να βγαίνει σωστό".
Ως αφετηρία θα ξεκινήσω με τον ορισμό της εισόδου, "Είσοδος είναι κάτι έξω από τον αλγόριθμο που μπαίνει σε αυτόν και πιθανώς επηρεάζει τις εξόδους του". Κι αν έχω αμφιβολία για τον αν τον κατάλαβα καλά, θα ψάξω σχετικά επιστημονικά συγγράμματα.
Παρόλα αυτά, δεν θεωρώ ότι το βιβλίο είναι λάθος σε αυτό το σημείο, κι ας αφήνει κάποιες λαβές για παρεξήγηση. Σαν παράδειγμα για τα πρωτογενή δεδομένα αναφέρει τη random, ακριβώς επειδή είναι κάτι που μπορεί να πάρει διαφορετικές τιμές χωρίς να μεταβληθεί ο αλγόριθμος.
Το x <- 1 δεν μπορεί να μεταβληθεί χωρίς να μεταβάλλεις τον αλγόριθμο (το κείμενό του) και άρα δεν είναι πρωτογενές δεδομένο.

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

Εγώ ήθελα απλά να συμφωνήσουμε ότι το "Εμφάνισε 'Hello world'" δεν έχει καμία είσοδο. Ανεξάρτητα από το πώς ερμηνεύει ο καθένας τα πρωτογενή δεδομένα ή τον ορισμό του αλγορίθμου που δίνει το βιβλίο της ΑΕΠΠ. Αλλιώς όταν συζητάμε με Πληροφορικούς εκτός Ελληνικής Β/θμιας εκπαίδευσης που δεν έχουν διαβάσει ποτέ το βιβλίο της ΑΕΠΠ δεν θα μπορούμε να συνεννοηθούμε, γιατί θα χρησιμοποιούμε τοπικό ορισμό της εισόδου και όχι τον γενικώς αποδεκτό.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 03:39:31 ΜΜ
Το συγκεκριμένο splash screen που αναφέρομαι γράφει απλώς:
"Fatal error, press the reset button"
και καλειται:
on huge_unrecoverable_fatal_error do
     display doomsday_splash_screen()...
:D


"Εγώ ήθελα απλά να συμφωνήσουμε ότι το "Εμφάνισε 'Hello world'" δεν έχει καμία είσοδο."
Όπως είδες και παραπάνω συμφωνούμε απόλυτα!

"Αλλιώς όταν συζητάμε με Πληροφορικούς εκτός Ελληνικής Β/θμιας εκπαίδευσης που δεν έχουν διαβάσει ποτέ το βιβλίο της ΑΕΠΠ δεν θα μπορούμε να συνεννοηθούμε"
Πάντως μεταξύ μας "δεν" μπορούμε να συνεννοηθούμε επειδή έχουμε διαβάσει το βιβλίο της ΑΕΠΠ και όχι επειδή δεν το έχουμε διαβάσει................
:-\



Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: alkisg στις 03 Απρ 2013, 03:57:13 ΜΜ
Παράθεση από: Gnirut στις 03 Απρ 2013, 03:39:31 ΜΜ
Το συγκεκριμένο splash screen που αναφέρομαι γράφει απλώς:
"Fatal error, press the reset button"

Αυτό επίσης δεν είναι χρήσιμο. Θα ήταν πιο χρήσιμο αν έπαιρνε ως είσοδο το .dll στο οποίο έγινε το κρασάρισμα και το εμφάνιζε στην έξοδό του, κάτι και το οποίο κάνει η BSOD των Windows. Αλλά δε νομίζω ότι η κύρια διαφωνία μας είναι περί της χρησιμότητας ή όχι οπότε δεν έχει και νόημα να επιμένουμε εκεί.

Παράθεση από: Gnirut στις 03 Απρ 2013, 03:39:31 ΜΜ
Πάντως μεταξύ μας "δεν" μπορούμε να συνεννοηθούμε επειδή έχουμε διαβάσει το βιβλίο της ΑΕΠΠ και όχι επειδή δεν το έχουμε διαβάσει................
:-\

Νομίζω ότι το μόνο πρόβλημα στην παρούσα συζήτηση είναι οι αναφορές στο βιβλίο της ΑΕΠΠ, οι οποίες ξεκινάνε με "εγώ αυτό το ερμηνεύω έτσι:". Δεν είδα κάποιον να έχει αντίρρηση στον ορισμό της εισόδου με αναφορά σε κάποια άλλη πηγή...
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 04:12:30 ΜΜ
"Παρόλα αυτά, δεν θεωρώ ότι το βιβλίο είναι λάθος σε αυτό το σημείο, κι ας αφήνει κάποιες λαβές για παρεξήγηση. Σαν παράδειγμα για τα πρωτογενή δεδομένα αναφέρει τη random, ακριβώς επειδή είναι κάτι που μπορεί να πάρει διαφορετικές τιμές χωρίς να μεταβληθεί ο αλγόριθμος.
Το x <- 1 δεν μπορεί να μεταβληθεί χωρίς να μεταβάλλεις τον αλγόριθμο (το κείμενό του) και άρα δεν είναι πρωτογενές δεδομένο."

Δεν παίρνεις πραγματικά διαφορετικές τιμές. Την ίδια επαναλαμβανόμενη ακολουθία τυχαίων αριθμών παίρνεις ουσιαστικά κάθε φορά που εκτελείς τον αλγόριθμο.
Εαν θεωρήσεις ότι χρησιμοποιείς μια random με σταθερό seed όπως λ.χ. κάτι σαν rnd(6), seed το 6, επί της ουσίας (εαν περάσεις τον κωδικα της συνάρτησης μέσα στον αλγόριθμο) στην αρχή του αλγόριθμού σου θα έχεις κάποια μεταβλητη που θα αρχικοποιείται ως seed<-6. Εν ολίγοις το ίδιο πράγμα έχεις με το χ<-1.

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

Ο καθένας το ερμηνεύει κάπως, δεν διεκδικεί (ούτε εγώ) το αλάθητο. Το συζητάμε το πράγμα.

Για την ΑΕΠΠ, καθαρά, δεν θα ενδιαφερόμασταν να συζητήσουμε ποτέ ως πληροφορικοί εκτός σχολείου.
Από τη στιγμή όμως που μας πληρώνουν να κάνουμε αυτό το μάθημα και από τη στιγμή που υπάρχει περίπτωση να μας ρωτήσει κάποιος μαθητής κάποια απορία, δεν κάνει κακό να ανταλλάσουμε μεταξύ μας απόψεις σε πιθανώς διφορούμενα θέματα του μαθήματος.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: alkisg στις 03 Απρ 2013, 04:54:18 ΜΜ
Παράθεση από: Gnirut στις 03 Απρ 2013, 04:12:30 ΜΜ
"Παρόλα αυτά, δεν θεωρώ ότι το βιβλίο είναι λάθος σε αυτό το σημείο, κι ας αφήνει κάποιες λαβές για παρεξήγηση. Σαν παράδειγμα για τα πρωτογενή δεδομένα αναφέρει τη random, ακριβώς επειδή είναι κάτι που μπορεί να πάρει διαφορετικές τιμές χωρίς να μεταβληθεί ο αλγόριθμος.
Το x <- 1 δεν μπορεί να μεταβληθεί χωρίς να μεταβάλλεις τον αλγόριθμο (το κείμενό του) και άρα δεν είναι πρωτογενές δεδομένο."

Δεν παίρνεις πραγματικά διαφορετικές τιμές. Την ίδια επαναλαμβανόμενη ακολουθία τυχαίων αριθμών παίρνεις ουσιαστικά κάθε φορά που εκτελείς τον αλγόριθμο.
Εαν θεωρήσεις ότι χρησιμοποιείς μια random με σταθερό seed όπως λ.χ. κάτι σαν rnd(6), seed το 6, επί της ουσίας (εαν περάσεις τον κωδικα της συνάρτησης μέσα στον αλγόριθμο) στην αρχή του αλγόριθμού σου θα έχεις κάποια μεταβλητη που θα αρχικοποιείται ως seed<-6. Εν ολίγοις το ίδιο πράγμα έχεις με το χ<-1.

Να ένα χαρακτηριστικό παράδειγμα.
Εγώ θεωρώ ότι όταν οι συγγραφείς αναφέρθηκαν στη random(), την εννοούσαν σαν κανονική random() και όχι όπως την λες παραπάνω με βάση συγκεκριμένες γλώσσες/βιβλιοθήκες προγραμματισμού.
Ένας τρόπος για πραγματική random() είναι να της κάνεις seed() με βάση π.χ. το ρολόι, time(). Άρα το πρωτογενές δεδομένο στη συγκεκριμένη υλοποίηση της random θα ήταν η τιμή του ρολογιού, γιατί αυτό είναι που αλλάζει σε διαφορετικές εκτελέσεις του αλγορίθμου.
Σε μια άλλη υλοποίηση, μπορεί να είχαμε μια hardware γεννήτρια τυχαίων αριθμών. Άρα πρωτογενές δεδομένο είναι ο ίδιος ο τυχαίος αριθμός. Σε άλλη, όπως γίνεται στο /dev/random του linux, να έπαιρνε seed από την εντροπία του συστήματος, συμβάντα περιφερειακών εισόδου κτλ.

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

Για μένα το σημαντικό ήταν το θέμα του ορισμού της εισόδου. Εφόσον συμφωνούμε ότι το "Εμφάνισε 'Hello world'" δεν έχει είσοδο, μου αρκεί. Για τα υπόλοιπα, πρωτογενή δεδομένα / υπολογιστικές διαδικασίες κτλ, έχουμε διαφορετική άποψη, αλλά δεν το θεωρώ και τόσο σημαντικό να υπάρξει σύγκλιση. :)
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: vtsakan στις 03 Απρ 2013, 04:57:50 ΜΜ
Οτι αναφέρεται σε αυτό το post δεν προορίζεται για χρήση στο μάθημα ΑΕΠΠ.

Λαμβάνοντας υπόψη την παραπάνω κουβέντα, κάποιες παρατηρήσεις, χρησιμοποιώντας τις σημειώσεις του Ζάχου.

1. Ένα σύνολο εντολών σε μια γλώσσα προγραμματισμού αποτελεί μία υπολογιστική διαδικασία.
2. Όταν μία υπολογιστική διαδικασία λύνει ένα πρόβλημα τότε είναι αλγόριθμος.
2.α Όταν αναφέρουμε πως ένα πρόβλημα λύνεται, εννοείται πως λύνεται για κάθε πιθανό στιγμιότυπο.

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

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

Το επόμενο βήμα του συλλογισμού μου με οδηγεί να μελετήσω με μεγαλύτερη ακρίβεια τι είναι και τι οχι πρόβλημα στην αλγοριθμική. Μιας και όλοι συμφωνούμε πως ένα πρόβλημα στην αλγοριθμική πρέπει να είναι γενικό, προσωπική μου άποψη είναι πως το κλασσικό πρόγραμμα "Hello World"  δεν είναι αλγόριθμος. Ποιο είναι άραγε το αλγοριθμικό πρόβλημα (γενικό) που επιλύει; Είναι μία πολύ διάσημη υπολογιστική διαδικασία.

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

Όσον αφορά την ΑΕΠΠ, νομίζω πως η απάντηση είναι σαφής. Κάθε αλγόριθμος πρέπει να έχει είσοδο.

Αυτές οι σκεψεις μου για το θέμα.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Gnirut στις 03 Απρ 2013, 07:22:09 ΜΜ
Παράθεση από: alkisg στις 03 Απρ 2013, 04:54:18 ΜΜ
Να ένα χαρακτηριστικό παράδειγμα.
Εγώ θεωρώ ότι όταν οι συγγραφείς αναφέρθηκαν στη random(), την εννοούσαν σαν κανονική random() και όχι όπως την λες παραπάνω με βάση συγκεκριμένες γλώσσες/βιβλιοθήκες προγραμματισμού.
Ένας τρόπος για πραγματική random() είναι να της κάνεις seed() με βάση π.χ. το ρολόι, time(). Άρα το πρωτογενές δεδομένο στη συγκεκριμένη υλοποίηση της random θα ήταν η τιμή του ρολογιού, γιατί αυτό είναι που αλλάζει σε διαφορετικές εκτελέσεις του αλγορίθμου.
Σε μια άλλη υλοποίηση, μπορεί να είχαμε μια hardware γεννήτρια τυχαίων αριθμών. Άρα πρωτογενές δεδομένο είναι ο ίδιος ο τυχαίος αριθμός. Σε άλλη, όπως γίνεται στο /dev/random του linux, να έπαιρνε seed από την εντροπία του συστήματος, συμβάντα περιφερειακών εισόδου κτλ.

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

Για μένα το σημαντικό ήταν το θέμα του ορισμού της εισόδου. Εφόσον συμφωνούμε ότι το "Εμφάνισε 'Hello world'" δεν έχει είσοδο, μου αρκεί. Για τα υπόλοιπα, πρωτογενή δεδομένα / υπολογιστικές διαδικασίες κτλ, έχουμε διαφορετική άποψη, αλλά δεν το θεωρώ και τόσο σημαντικό να υπάρξει σύγκλιση. :)

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

Οι γεννήτριες που αναφέρεις είναι με είσοδο κάποιας μορφής δεδομένου που λειτουργεί ως seed (εντροπία, ρολόι κλπ). Σε αυτήν την περίπτωση δεν μιλάμε για "πρωτογενή δεδομένα" αλλά έχουμε μία ή περισσότερες εισόδους στον αλγόριθμο (ώρα συστήματος, θερμοκρασία συστήματος, κίνηση στο bus ή στο σκληρό κ.ο.κ), οπότε δεν υπάρχει "μπέρδεμα" σχετικά με το "κριτήριο εισόδου" που αναφέρουν οι συγγραφείς του βιβλίου της ΑΕΠΠ.

Γενικώς πάντως από ο,τι κατάλαβα δεν διαφωνούμε σε τίποτα.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Νίκος Αδαμόπουλος στις 03 Απρ 2013, 10:59:19 ΜΜ
Παράθεση από: Gnirut στις 03 Απρ 2013, 01:57:05 ΜΜ
Συνοψίζοντας και χαριτολογώντας:

Π.χ. για τον αλγόριθμο
Κώδικας [Επιλογή]

Αλγόριθμος Αλ
Εμφάνισε "γεια σας"
Τέλος Αλ

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

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

Παράθεση από: alkisg στις 03 Απρ 2013, 04:54:18 ΜΜ
Για μένα το σημαντικό ήταν το θέμα του ορισμού της εισόδου. Εφόσον συμφωνούμε ότι το "Εμφάνισε 'Hello world'" δεν έχει είσοδο, μου αρκεί.

Κι εμένα!  :)
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: P.Tsiotakis στις 03 Απρ 2013, 11:17:28 ΜΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 03 Απρ 2013, 10:59:19 ΜΜ
Εμένα δεν με χαλάει αν το "γεια σας" θεωρείται "πρωτογενής τιμή". Από ό,τι βλέπω όμως συμφωνούμε στο ότι αντιστοιχεί στο "καμία είσοδος"... επομένως... δεν αποτελεί είσοδο! Αμήν!  :angel:
Κι εμένα!  :)

Αποτελεί "καμία είσοδος δε δίνεται"
όχι
"καμία είσοδος"
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: Νίκος Αδαμόπουλος στις 04 Απρ 2013, 12:16:10 ΠΜ
Παναγιώτη, θα μας τρελάνεις!  :D ;D
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: ntzios kostas στις 04 Απρ 2013, 11:56:12 ΜΜ
Διάβασα παιδιά τα περισσότερα post για το κριτήριο της εισόδου. Η άποψη μου είναι ότι είσοδος είναι και τα δεδομένα της ίδιας της εκφώνησης. Δεν μπορώ να δεχτώ ότι η εκφώνηση να γίνει αλγόριθμος που θα εμφανίζει όλους  τους ακέραιους από το 1 μέχρι 10 δεν στέκει αλλά αντίθετα  η εκφώνηση να γίνει αλγόριθμος που να διαβάζει έναν αριθμό και να εμφανίζει τους ακέραιους από 1 μέχρι 10 στέκει.

Επίσης δεν μπορώ να δεχτώ ότι η καταγραφή των βημάτων για να παρασκευάσω το αγαπημένο μου φαγητού δεν είναι αλγόριθμος. Αν ήταν έτσι, τότε στα προβλήματα που δεν λύνονται αλγοριθμικά πρέπει να βάλουμε και αυτά τα οποία δεν απαιτούν  η λύση τους να δέχεται τιμή από το εξωτερικό περιβάλλον (με το διάβασε δηλαδή).   
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: gpapargi στις 05 Απρ 2013, 08:40:59 ΠΜ
Η απάντηση σε αυτό που γράφεις Κώστα είναι ότι η είσοδος δεν είναι κριτήριο αλλά χαρακτηριστικό (Knuth). Άρα αν ένας κώδικας δεν έχει είσοδο, δε σημαίνει ότι δεν είναι και αλγόριθμος. Η λέξη "χαρακτηριστικό" είναι πιο ήπια. Αντίθετα η λέξη "κριτήριο" είναι πιο βαριά. Αν δεν το έχει δεν είναι αλγόριθμος.   
Κριτήρια είναι η περατότητα και η καθοριστικότητα. Τα άλλα 3 είναι χαρακτηριστικά.
Τίτλος: Απ: Tο κριτήριο της ΕΙΣΟΔΟΥ υποχρεωτικό ή όχι;
Αποστολή από: pmouz στις 09 Απρ 2013, 11:58:26 ΜΜ
Ένα από τα προβλήματα σε όλη την υπόθεση πιστεύω ότι είναι η φράση με την έντονη γραφή:

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

Εδώ θα έπρεπε να δίνει ένα παράδειγμα.