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

Γενικό Λύκειο => Γ΄ Λυκείου => Θεωρία => Μήνυμα ξεκίνησε από: Skara στις 03 Οκτ 2008, 02:12:19 ΜΜ

Τίτλος: Εισοδος Αλγορίθμου
Αποστολή από: Skara στις 03 Οκτ 2008, 02:12:19 ΜΜ
Η πρόταση " Ένας αλγόριθμος πρέπει πάντα να έχει είσοδο ." είναι σωστή ή όχι;
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: P.Tsiotakis στις 03 Οκτ 2008, 08:43:06 ΜΜ
πρέπει ΑΠΑΡΑΙΤΗΤΑ πάντα να έχει, ναι
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: papaluk στις 04 Οκτ 2008, 01:55:49 ΠΜ
Το σχολικό αναφέρει μια, καμία η περισσότερες.. και εξηγεί τι σημαίνει καμία (γεννήτριες συναρτήσεις κτλ). Συνεπώς θεωρώ ότι μπορεί να μην έχει καμία, ενώ επιπρόσθετα το σχολικό για την έξοδο αναφέρει ρητά τουλάχιστο μια.
Άρα θεωρώ την πρόταση λανθασμενη
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: stavrax στις 04 Οκτ 2008, 08:22:45 ΠΜ
εγώ πάλι, την θεωρώ σωστή!
(το βιβλίο αναφέρει ξεκάθαρα ότι ο αλγόριθμος πρέπει να έχει πάντα είσοδο)
Την περίπτωση που δεν έχει καμμία ... την ερμηνεύει αναφέροντας ότι η καμία είναι ουσιαστικά τουλάχιστον μία !!!

Παράδειγμα: Να γραφεί αλγόριθμος που ελέγχει άν ο αριθμός 234532082351 είναι πρώτος ή όχι

Αλγόριθμος τάδε
   χ<-234532082351
   κλπ κλπ
Τελος τάδε

Ο παραπάνω αλγόριθμος επεξεργάζεται μια πρωτογενή τιμή ... άρα ικανοποιεί το κριτήριο της καμμίας/μίας εισόδου.


Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: petrosp13 στις 04 Οκτ 2008, 12:28:10 ΜΜ
Προφανώς, ως είσοδος νοείται η ύπαρξη δεδομένων, μέσω των οποίων θα παραχθούν πληροφορίες
Άρα, τα δεδομένα είναι απαραίτητα, ανεξάρτητα αν θα τα δίνει ο χρήστης
Ωστόσο, η πρόταση είναι μπερδεμένη, καθώς το βιβλίο ορίζει ότι ο αλγόριθμος πρέπει να πληρεί το κριτήριο της εισόδου, αλλά υπάρχει και περίπτωση όπου δεν υπάρχει είσοδος σε αλγόριθμο
Εγώ θα την θεωρούσα λανθασμένη
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 04 Οκτ 2008, 05:19:57 ΜΜ
Κώδικας (Ψευδογλώσσα) [Επιλογή]

Αλγόριθμος ΠαραγωγήΔύοΤυχαίωνΑριθμώνΑπόΤοΈναΩςΤοΔέκα
  χ1 ← Τυχαίος(10)
  χ2 ← Τυχαίος(10)
Αποτελέσματα // χ1, χ2 //
Τέλος ΠαραγωγήΔύοΤυχαίωνΑριθμώνΑπόΤοΈναΩςΤοΔέκα


Όπου Τυχαίος(Ν): άλλος αλγόριθμος (=συνάρτηση) παραγωγής τυχαίων αριθμών.
Το παραπάνω θεωρώ ότι είναι μια χαρά αλγόριθμος (σύμφωνα με αυτά που γράφει το βιβλίο στη σελίδα 26), και επομένως θεωρώ την πρόταση ***edit*** σωστή (νόμιζα ότι το βιβλίο δεν θεωρούσε ότι η random αποτελεί είσοδο, αλλά με προσεκτική ανάγνωση καταλαβαίνω ότι τη θεωρεί είσοδο, και συμφωνώ απόλυτα με αυτό).


Παράθεση από: stavrax στις 04 Οκτ 2008, 08:22:45 ΠΜ
Αλγόριθμος τάδε
   χ<-234532082351
   κλπ κλπ
Τελος τάδε

Νομίζω ότι το 234532082351 σ' αυτήν την περίπτωση δεν είναι είσοδος αλλά απλή σταθερά. Η είσοδος δεν μπορεί να είναι μέρος του κώδικα (="κουτί επεξεργασίας").

(http://www.bbc.co.uk/schools/gcsebitesize/design/images/dt_e_mc_csc3.gif)
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: P.Tsiotakis στις 04 Οκτ 2008, 06:46:06 ΜΜ
Μιας και η ζωή κάνει κύκλους, δείτε τη συζήτηση (2006) στο:
https://alkisg.mysch.gr/steki/index.php?topic=387.0

όπου παρατέθηκαν απόψεις για το θέμα και τότε...
θα επανέλθω στο θέμα ταπεινά, αφού ανασυντάξω δυνάμεις ...
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Καρκαμάνης Γεώργιος στις 06 Οκτ 2008, 12:21:34 ΠΜ
Στις επαναληπτικές του 2003 υπήρξαν στο 1ο θέμα δύο υποερωτήματα, όπου στο καθένα από αυτά δίνονταν και μια αλληλουχία εντολών όπου έπρεπε ο μαθητής να απαντήσει εάν ικανοποιούσε  όλα τα κριτήρια ή όχι.
Η δεύτερη αλληλουχία εντολών ήταν η εξής:

α <- 1
Όσο α<>6 επανάλαβε
   α <- α+2
Τέλος_επανάληψης
Εκτύπωσε α

Η επίσημη απάντηση που δόθηκε ήταν ότι δεν ικανοποιεί το κριτήριο της περατότητας.
Άρα θα σκεφτεί κάποιος ότι ικανοποιεί το κριτήριο της εισόδου εφόσον δεν έγινε καμία αναφορά σε αυτό. Και ποια είναι η είσοδος σε αυτήν την αλληλουχία εντολών; Μήπως η απλή εντολή α<-1;
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Laertis στις 06 Οκτ 2008, 08:55:17 ΠΜ
Η εντολή α<--1 θεωρείται ως είσοδος

Παράθεση από: Skara στις 03 Οκτ 2008, 02:12:19 ΜΜ
Η πρόταση " Ένας αλγόριθμος πρέπει πάντα να έχει είσοδο ." είναι σωστή ή όχι;

Η πρόταση είναι σωστή. Ως κριτήριο η είσοδος πρέπει να υπάρχει πάντα είτε "εξωτερικά" (Διάβασε) είτε με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 06 Οκτ 2008, 09:21:58 ΠΜ
Παράθεση από: Βιβλίο μαθητή, σελίδες 25-26
Είσοδος (input). Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να
δίνονται ως είσοδοι στον αλγόριθμο. Η περίπτωση που δεν δίνονται τι-
μές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξερ-
γάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παρα-
γωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών.

Συνάδελφοι, κατά τη γνώμη μου το "άλλων απλών εντολών" εννοεί άλλων απλών εντολών που να παράγουν πρωτογενείς τιμές, και αυτό σημαίνει τιμές που να μην είναι σταθερές σε κάθε εκτέλεση, δηλαδή να μην περιέχονται στον κώδικα. Επομένως είτε να προκύπτουν από random είτε από τα milliseconds του ρολογιού του υπολογιστή όταν εκτελεστεί το πρόγραμμα είτε από κάποια άλλη παρόμοια "απλή εντολή". Για παράδειγμα, "Διάβασε την τρέχουσα θερμοκρασία του επεξεργαστή από τη θύρα I/O 5335" (= απλή εντολή που παράγει πρωτογενή δεδομένα).

Όπως πολύ σωστά θυμήθηκε ο Παναγιώτης, το είχαμε ξανασυζητήσει πριν δύο χρόνια, διαβάστε το σχετικό link που δίνει παραπάνω.

Δε νομίζω ότι θα βρείτε πουθενά να χαρακτηρίζεται η εντολή
Α <- 1
ως είσοδος, όχι μόνο στο σχολικό βιβλίο, πουθενά.

Ελεύθερη μετάφραση της σχετικής παραγράφου του βιβλίου:
Για να έχουμε έναν αλγόριθμο που να μην έχει εντολή Διάβασε ούτε εντολή Δεδομένα και ο οποίος να κάνει και κάτι χρήσιμο, τότε πρέπει απαραίτητα να γίνεται σε κάποια φάση χρήση πρωτογενών δεδομένων, δηλαδή κλήση της εντολής random ή ισοδύναμης.
Το παραπάνω παράδειγμα με τον πρώτο αριθμό, αφού εκτελεστεί ολόκληρος ο αλγόριθμος, η τελική απάντηση θα είναι "είναι πρώτος" ή "δεν είναι πρώτος". Θα είναι όμως πάντα η ίδια απάντηση, αφού δεν υπάρχει είσοδος. Επομένως ο αλγόριθμος δεν είναι χρήσιμος. Αν θεωρήσουμε τον αλγόριθμο ως μαύρο κουτί, τότε ο αλγόριθμος που θα φτιάξουμε θα είναι ισοδύναμος με τον
Κώδικας (Ψευδογλώσσα) [Επιλογή]

Αλγόριθμος Έλεγξε_αν_ο_234532082351_είναι_πρώτος
Εμφάνισε "Δεν είναι πρώτος"
Τέλος Έλεγξε_αν_ο_234532082351_είναι_πρώτος

που προφανώς ούτε είσοδο έχει ούτε χρήσιμος είναι.

Αν όμως θέλαμε το 234532082351 να είναι είσοδος τότε θα έπρεπε να το γράψουμε ως
Κώδικας (Ψευδογλώσσα) [Επιλογή]

Αλγόριθμος Έλεγξε_αν_ο_Χ_είναι_πρώτος
Διάβασε Χ !Εδώ δίνουμε είσοδο το 234532082351

!...Και ακολουθεί ο κανονικός αλγόριθμος
Τέλος Έλεγξε_αν_ο_Χ_είναι_πρώτος


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

Αντίθετα, τα δεδομένα που δίνει ο χρήστης καθώς και τα milliseconds του ρολογιού κατά τη στιγμή της εκτέλεσης (ή η θερμοκρασία, αν έχουμε σχετικό αισθητήρα συνδεδεμένο στον Η/Υ) δεν είναι ενσωματωμένα στον κώδικα, και γι' αυτό είναι είσοδος.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Laertis στις 06 Οκτ 2008, 01:46:37 ΜΜ
Άλκη,
έχουμε δει πολλές φορές πράγματα που υποστηρίζει το βιβλίο να μην στηρίζονται στην πράξη. Με βάση το βιβλίο, το α<--1 και στο συγκεκριμένο παράδειγμα θεωρείται είσοδος. Κακώς δόθηκε αυτή η εντολή. Εγώ θα έβαζα Δεδομένα //α// στη θέση του.

Η είσοδος όμως είναι απαραίτητο κριτήριο των αλγορίθμων; Κατά το βιβλίο ναι.

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

Το πρόβλημα ξεκινά απο το τι θεωρούμε αλγόριθμο και τι απλά υπολογιστική διαδικασία κάτι που το βιβλίο δεν διαχωρίζει σαφώς.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 06 Οκτ 2008, 04:46:57 ΜΜ
Γιώργο νομίζω ότι δεν με κατάλαβες, συμφωνώ απόλυτα με το βιβλίο σε αυτό το θέμα.

Δηλαδή πιστεύω τα παρακάτω:

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

Δε γράφω πολλά για να φανεί ξεκάθαρα το που διαφωνούμε. Θεωρώ εντελώς απίθανο να εννοούσε ο συγγραφέας ότι "απλή εντολή παραγωγής πρωτογενών τιμών είναι και το α <- 1", θα προσπαθήσω να έρθω σε επικοινωνία μαζί του για να το ξεδιαλύνουμε. Επειδή φέτος είμαι σε Γυμνάσιο δεν μπορώ να στείλω απορία μέσω συμβούλου, όποιος όμως είναι σε Λύκειο και θέλει μπορεί να το κάνει.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 06 Οκτ 2008, 05:23:09 ΜΜ
Καλησπέρα και από εμένα. Συμφωνώ με αυτά που ειπώθηκαν, αλλά πιστεύω ότι είσοδος είναι και τα δεδομένα που μας παρέχει η ίδια η εκφώνηση του προβλήματος.
δείτε την άσκηση ΔΣ1 σελίδα 34 μετατροπή νομισμάτων. Αν την λύσουμε δεν νομίζω ότι θα  χρησιμοποιήσουμε ούτε την εντολή διάβασε ούτε την "εντολή" δεδομένα. Τα δεδομένα της είναι είδη γνωστά από την εκφώνηση του προβλήματος.
Νομίζω ότι έτσι εξηγείται και η εντολή α<- 1. Είναι ένα δεδομένο από την εκφώνηση του προβλήματος για το οποίο έγινε αυτός ο αλγόριθμος.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: stavrax στις 07 Οκτ 2008, 01:34:47 ΠΜ
Συμφωνώ κώστα και επαυξάνω:

νομίζω ότι το μπέρδεμα που αντιμετωπίζουμε όλοι προκύπτει από την λέξη είσοδος!!
Δηλαδή:
1) είσοδος προς τον υπολογιστή είναι (χοντρικά) η μεταφορά πληροφορίας από τον "έξω κόσμο" προς τον Η/Υ
(εδώ μάλλον συμφωνούμε όλοι)
2) είσοδος προς έναν αλγόριθμο είναι ...
(εδώ μάλλον υπάρχουν οι διαφωνίες μας)

Μήπως αν ξεδιαλύνουμε το ότι άλλο η μια είσοδος και άλλο η άλλη, θα μπορέσουμε να συμφωνήσουμε στο ότι η εντολή
χ<--334532452341
μπορεί να θεωρηθεί σαν είσοδος? (κάτι σαν kickStart του αλγορίθμου?)
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 07 Οκτ 2008, 09:51:13 ΠΜ
Παράθεση από: stavrax στις 07 Οκτ 2008, 01:34:47 ΠΜ
Μήπως αν ξεδιαλύνουμε το ότι άλλο η μια είσοδος και άλλο η άλλη, θα μπορέσουμε να συμφωνήσουμε ...

Μακάρι, αλλά δε νομίζω! :)
Π.χ. εγώ είσοδο/έξοδο σε ένα κλειστό σύστημα θεωρώ την αλληλεπίδραση που έχει με ό,τι βρίσκεται έξω από αυτό.

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

Το α <- 1 πάλι δεν μπορώ να το θεωρήσω είσοδο, αφού βρίσκεται μέσα στο κλειστό σύστημα που λέγεται αλγόριθμος.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 07 Οκτ 2008, 10:04:51 ΠΜ
Κώστα, στην άσκηση που λες οι ισοτιμίες δεν είναι δεδομένα ούτε είσοδος αλλά απλές σταθερές. Το ποσό είναι δεδομένο και θα πρέπει να εισαχθεί με την εντολή Δεδομένα ή την εντολή Διάβασε, και φυσικά αποτελεί την είσοδο του αλγορίθμου.

Αντίστοιχα, στον υπολογισμό του εμβαδού ενός κύκλου το π δεν είναι δεδομένο αλλά σταθερά.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 07 Οκτ 2008, 11:40:06 ΠΜ
Δηλαδή Άλκη αν για παράδειγμα έχουμε την άσκηση να γίνει αλγόριθμος-πρόγραμμα το οποιο να υπολογίζει το άθροισμα και να εμφανίζει το πλήθος των όρων
1+1/2+1/3... μέχρι το άθροισμα να περάσει το 1000.

ποια είναι η είσοδος;
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: gpapargi στις 07 Οκτ 2008, 12:18:08 ΜΜ
Αυτό που λέει ο Άλκης (και εγώ μαζί) είναι ότι τα 1, 1/2, 1/3 κλπ δεν είναι είσοδος. Είναι μέρος του αλγορίθμου το να τα παράγει. Για να είναι κάτι είσοδος πρέπει να είναι αρχικά «έξω» από τον αλγόριθμο και στη συνέχεια να μπει «μέσα». Εδώ οι τιμές είναι ήδη μέσα στον αλγόριθμο… ο αλγόριθμος παράγει τις τιμές.

Θεωρώ βέβαια ότι ο αλγόριθμος ξεκινάει στην πρώτη γραμμή με το
«Αλγόριθμος πρόσθεση» και ότι είναι από κάτω είναι μέρος του αλγορίθμου.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 07 Οκτ 2008, 12:39:54 ΜΜ
Καλημερά Γιώργο.

Άρα αυτή η εκφώνηση του προβλήματος δεν έχει νοήμα και το σχολικό πρέπει να αποσύρει αρκετές αντίστοιχες ασκήσεις.


ΠαράθεσηΓια να είναι κάτι είσοδος πρέπει να είναι αρχικά «έξω» από τον αλγόριθμο και στη συνέχεια να μπει «μέσα». .
στο προηγούμενο πρόβλημα και σε άλλα που υπόθηκαν και βρήσκονται και στο σχολικό το "έξω" βρίσκεται στην εκφώνηση και το "μέσα" το βάζει ο προγραμματιστής και όχι κατανάγκη ο χρήστης χρησιμοποιώντας και σταθερές για την αποθήκευσή τους.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: gpapargi στις 07 Οκτ 2008, 02:04:25 ΜΜ
Γιατί να μην έχει νόημα; Θα έχεις ένα αλγόριθμο που κάνει πάντα το ίδιο πράγμα. Για μένα το λάθος υπάρχει στην ασαφή γραφή του βιβλίου. Σου λέει ότι ο αλγόριθμος «πάντα» πρέπει να ικανοποιεί το κριτήριο της εισόδου και από την άλλη σου λέει ότι ο αλγόριθμος μπορεί να έχει και «καμία» τιμή σαν είσοδο.

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

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

Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 07 Οκτ 2008, 02:23:52 ΜΜ
Γιώργο, αν έχει νόημα ικανοποιεί όλα τα κριτήρια και της εισόδου. Ασχέτως αν κάνει το ίδιο πράγμα. Τώρα τι βγαίνει ως συμπέρασμα για την είσοδος από τον ορισμό που δίνει το σχολικό, πράγματι υπάρχει πρόβλημα.


Στο παράδειγμα που έδωσα δεν ήθελα να μάθω τι είναι 1, 1/2,1/3 αλλά ποιά είναι η είσοδος.
Στον αλγόριθμο να κατασκευαστεί ένα μαγικό τετράγωνο ποια είναι η είσοδος;
Στο θέμα των εξετάσεων του 2001 με το μαθητή με 600000 δρχ και το υπολογιστικό σύστημα που είναι η εισοδος;
Στο θέμα ΔΣ4 σχολικό σελίδα 82 ποια είναι η είσοδος;
Στο θέμα ΔΣ6 σελίδα 26 ποια είναι η είσοδος;
κτλ...

Εγώ μπορώ να πω ότι είσοδος για όλα τα παραδείγματα, είναι τα δεδομένα από την εκφώνηση. Μπορείτε να βρείτε κάτι άλλο;
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 07 Οκτ 2008, 03:28:02 ΜΜ
Δηλαδή συνάδελφοι στον υπολογισμό περιφέρειας ενός κύκλου,
περιφέρεια <- 2*π*R
λέτε στους μαθητές ότι είσοδος (=δεδομένα) του αλγορίθμου είναι το 2, το π και το R;

Και κατά προέκταση, είναι όλες οι σταθερές δεδομένα; Ή μόνο αυτές που αναφέρονται στην εκφώνηση; Κι αν όχι, πώς τις ξεχωρίζετε;
Για παράδειγμα, στον παραπάνω υπολογισμό που είπε ο Κώστας, δεδομένα είναι το 1, 2, 3 (που μετράει ο μετρητής i), το 1/2, 1/3, 1/4 (που μετράει το 1/i), το 1+1/2, 1+1/2+1/3 (που υπολογίζει το sum) και το 1000;

Άλλη απορία. Η εντολή ανάθεσης τιμής είναι δηλαδή εντολή εισόδου; Γιατί τότε λέμε ότι εντολή εισόδου είναι η Διάβασε;
Κι αν είναι, τότε γιατί το
x <- y
ή το
i <- i + 1
δεν είναι είσοδοι;

Κι άλλη απορία. Ποιες "απλές εντολές" είναι τελικά εντολές εισόδου; Μόνο η ανάθεση τιμής; Γιατί να μην είναι και η ΑΝ ή η ΟΣΟ ή η αντιμετάθεσε που είναι επίσης απλές;


Γράφω και το πρωτότυπο κομμάτι από το βιβλίο του Knuth, μήπως ρίξει φως στο θέμα:
Παράθεση
3) Input. An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins. These inputs are taken from specified sets of objects. In Algorithm E, for example, there are two inputs, namely m and n, which are both taken from the set of positive integers.

Ο Αλγόριθμος Ε που αναφέρεται είναι ο αλγόριθμος του Ευκλείδη για μέγιστο κοινό διαιρέτη, και όπως φαίνεται παραπάνω δεν ισχυρίζεται ότι το 0 και το 1 και οι υπόλοιπες σταθερές που χρησιμοποιεί ο αλγόριθμος είναι είσοδοι.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 07 Οκτ 2008, 11:52:53 ΜΜ
Κάτι πρόβλημα έχει σήμερα το site και τώρα μπόρεσα να μπω.


Άλκη οι αλγόριθμοι που σου ανέφερα έχουν είσοδο;
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 08 Οκτ 2008, 09:52:20 ΠΜ
Σύμφωνα με το βιβλίο, όχι, οι ασκήσεις
"κάντε ένα πρόγραμμα που να μετράει από το 1 ως το 10", ή
"να γράφει το αποτέλεσμα μιας συνάρτησης για x από 1 ως 10 με βήμα 0.01"
δεν έχουν είσοδο. Και συμφωνώ μαζί του. Είναι κλειστά συστήματα που παράγουν πάντα τα ίδια αποτελέσματα, επομένως η έξοδός τους δεν εξαρτάται από την είσοδο αφού δεν υπάρχει είσοδος.

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

Στην πράξη όμως σπάνια θα δούμε τέτοιους αλγορίθμους (εγώ δεν νομίζω να έχω δει κανέναν σε πραγματικό κώδικα). Π.χ. τον παραπάνω αλγόριθμο αν τον υλοποιούσε κάποιος προγραμματιστής θα τον μετέφραζε ως "να γράφει τις τιμές της συνάρτησης από Α ως Τ με βήμα Β", έτσι ώστε ο αλγόριθμος να έχει 3 εισόδους και να είναι και πιο ευέλικτος/χρήσιμος.
Ή, για τον υπολογισμό των 1000 πρώτων δεκαδικών του π, δεν θα έγραφαν τέτοιον αλγόριθμο, θα έβαζαν το 1000 σαν είσοδο (=εντολή Διάβασε) με όνομα Ν ώστε να αποφεύγουν να κάνουν compile κάθε φορά. Ας μην ξεχνάμε ότι όταν γραφόταν αυτές οι γραμμές (του Knuth) το compile έπαιρνε αρκετό χρόνο, δεν ήταν το "πατάω F9 και είμαι έτοιμος" που είναι τώρα.


Εν ολίγοις, πιστεύω ότι η συγκεκριμένη παράγραφος που συζητάμε είναι μια χαρά.
Διαφωνώ στο ότι τα αναγραφόμενα κριτήρια είναι υποχρεωτικά για να χαρακτηριστεί ως αλγόριθμος ένα κομμάτι κώδικα. Βέβαια θα απόφευγα να ζητήσω από τους μαθητές να υλοποιήσουν αλγορίθμους που να μην ικανοποιούν αυτά τα κριτήρια (δηλαδή δεν θεωρώ δόκιμο το ότι το βιβλίο έχει τέτοιες ασκήσεις).
Συγκεκριμένα για το κριτήριο της εισόδου, εάν αυτή απουσιάζει, ίσως απλά να χαρακτήριζα τον συγκεκριμένο αλγόριθμο "όχι καλοσχεδιασμένο", αφού θα παράγει πάντα την ίδια έξοδο, και επομένως αυτή μπορεί κάλλιστα να αντικατασταθεί από απλές εντολές ΓΡΑΨΕ ή από lookup table. Το τελευταίο το έχω δει συχνά σε "πραγματικά" προγράμματα, έχουν απλά ένα πινακάκι με τις τιμές που χρειάζονται, π.χ. τα πρώτα 1000 δεκαδικά του π. Και φυσικά ένα πινακάκι δεν χαρακτηρίζεται ως αλγόριθμος...
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Καρκαμάνης Γεώργιος στις 08 Οκτ 2008, 12:37:29 ΜΜ
Συνάδερφοι οπως βλέπετε η συζήτηση δεν οδηγεί πουθενά. Εχουμε χωριστεί σε δυο στραπόδεδα :Σε αυτούς που πιστεύουν ότι οι απλές εντολές θεωρούνται ως είσοδο και στους υπόλοιπους με την αντίθετη άποψη. Και τα δυο στρατόδετα αντιπαραθέτουν ηχηρά παραδείγματα για να δικαιολογήσουν την αποψή τους. Το αποτέλεσμα είναι πως κάποιος τρίτος που παρακολουθεί την σηζήτηση δεν μπορεί να  αποφασίσει ποιες απο τις δυο απόψεις είναι η πιο σωστή.
Νομίζω ότι δεν θα βγάλουμε καμία άκρη.
Μια λύση είχε δοθεί απο τον Αλκη σε παλιότερο θέμα η οποία ήταν :
1. να επικοινωνήσουμε με τον συγγραφέα του βιβλίου ώστε να μας διατυπώση τις απόψεις του για αυτό το θέμα και γενικά τι εννοεί με τον όρο "καμία μια ή περισσότερες απο μια εισοδους".
και συμπληρώνω :
2. να διατυπωθούν στους συγγραφείς όλες αυτές οι απόψεις και οι προβληματισμοί που αναφέρθηκαν παραπάνω
3. να  επιδιώξουμε να δοθεί μια επισημη απάντηση  απο το παιδαγωγικό ινστιτούτο , ανάλογη αυτή που είχει βγει για τους τελεστές div και mod για να καταλάβουμε επιτέλους τι ακριβώς γίνεται.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 08 Οκτ 2008, 01:59:48 ΜΜ


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

Οι περισσότεροι αλγόριθμοι δεν απαιτούν δεδομένα από τον χρήστη για να λειτουργήσουν. Μην έχουμε στο μυαλό μας μόνο τους αλγόριθμους που γίνονται πρόγραμμα. Υπάρχουν και οι άλλοι που δεν θα τους εκτελέσει ο υπολογιστής. Στα βιβλία μαγείρικής οι περισσότεροι αλγόριθμοι δεν απαιτούν δεδομένα από τον χρήστη, αυτόν δηλαδή που θα απολαύσει τα αποτελέσματα. (Είναι μεσημέρι ... καταλαβαίνετε)
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 08 Οκτ 2008, 02:36:28 ΜΜ
Παράθεση από: ntzios kostas στις 08 Οκτ 2008, 01:59:48 ΜΜ
Οι περισσότεροι αλγόριθμοι δεν απαιτούν δεδομένα από τον χρήστη για να λειτουργήσουν.

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

Για παράδειγμα, όλοι οι αλγόριθμοι ταξινόμησης χρειάζονται τον πίνακα Π και το πλήθος των στοιχείων Ν. Το ίδιο και οι αλγόριθμοι αναζήτησης, εύρεσης μεγίστου, ελαχίστου κτλ.
Μάλιστα ο Knuth περιγράφει τα δεδομένα (=κρέας, αλάτι, κτλ) και τα αποτελέσματα σε έναν αλγόριθμο μαγειρικής, αλλά είναι πολύ μεγάλο για να το αντιγράψω εδώ... :)

Εξάλλου το βιβλίο καθηγητή προτείνει σε περιπτώσεις μεγάλης εισόδου να χρησιμοποιούνται εντολές σαν τη read data της basic (αντίστοιχη με το αρχείο εισόδου του Διερμηνευτή και της Γλωσσομάθειας) ακριβώς για να ξεχωρίζει η είσοδος και να μην χρησιμοποιούνται εντολές ανάθεσης για εισαγωγή τιμών, χαλώντας έτσι την είσοδο του αλγορίθμου.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 08 Οκτ 2008, 02:46:31 ΜΜ
Μπράβο...
ΠαράθεσηΜάλιστα ο Knuth περιγράφει τα δεδομένα (=κρέας, αλάτι, κτλ) και τα αποτελέσματα σε έναν αλγόριθμο μαγειρικής, αλλά είναι πολύ μεγάλο για να το αντιγράψω εδώ... Smiley
Το κρέας και το αλάτι τα βάζει ως δεδομένα. Το κρέας και το αλάτι ο χρήστης δεν ξέρει ότι έχουν μπει στο φαί του, άρα δεν τα δίνει αυτός, Την ποσότητά τους ή την ύπαρξή τους πρέπει να την ξέρει ο προγραμματιστής, αυτός που έγραψε την συνταγή.
Η πρώτη εντολή της συνταγής μπορεί να είναι: Βάλε δύο κιλά κρέας στην κατσαρόλα (αντίστοιχα χ<- 2)
Και δεν θα λέει: ζήτα από τον χρήστη για το φαγητό πόσο κρέας θέλει; Αν ζήταγε πάντως από εμένα θα είχα πεθάνει της πείνας πάντως  :)
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 08 Οκτ 2008, 11:26:00 ΜΜ
Το κυρίως μέρος από το mail που έστειλα:
Παράθεση
Είναι στο τέλος της σελίδας 25 και μιλάει για τα κριτήρια των αλγορίθμων:
        Είσοδος (input). Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να
        δίνονται ως είσοδοι στον αλγόριθμο. Η περίπτωση που δεν δίνονται τι-
        μές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξερ-
        γάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παρα-
        γωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών.
       
Πάνω σ' αυτό, και μετά από αρκετή συζήτηση (https://alkisg.mysch.gr/steki/index.php?topic=1569.0), πολλοί συνάδελφοι πιστεύουν ότι η εντολή ανάθεσης τιμής
        α <- 1
αποτελεί είσοδο για ένα πρόγραμμα, ενώ οι υπόλοιποι πιστεύουν ότι είσοδο αποτελούν μόνο η εντολή Διάβασε, η εντολή Δεδομένα της ψευδογλώσσας (χρησιμοποιείται περίπου σαν τις παραμέτρους εισόδου των υποπρογραμμάτων) καθώς και εντολές παραγωγής πρωτογενών τιμών όπως είναι η random (αλλά όχι η ανάθεση τιμής).

Ένα πιο χαρακτηριστικό παράδειγμα:
        «Να γράψετε πρόγραμμα που να υπολογίζει τη συνάρτηση y(x) = x²-3x+2 για όλες τις τιμές του x από -1 έως 3 σε βήματα του 0.1.»
Με την παρακάτω υλοποίηση:
        Αλγόριθμος Άσκηση1
        Για x από -1 μέχρι 3 με_βήμα 0.1
            Εμφάνισε x^2-3*x+2
        τέλος_επανάληψης
        Τέλος ʼσκηση1

Έχει αυτός ο αλγόριθμος είσοδο ή όχι; Οι πρώτοι πιστεύουν ότι το -1, το 3 και το 0.1 είναι είσοδος, οι δεύτεροι ότι ο αλγόριθμος αυτός δεν έχει είσοδο.

Μια ανεπίσημη απάντηση μας αρκεί, απλά να συμφωνήσουμε σε έναν κοινό ορισμό θέλουμε.

Απάντηση του συγγραφέα του σχετικού κεφαλαίου:
Παράθεση
Με απλά λόγια θα έλεγα το εξής.
Συμφωνώ με εκείνους που λενε ότι ουσιαστικά το input δίνεται
με το Διάβασε. Με την ίδια (αντίθετη) λογική και το α=1 και
το for/while κλπ είναι είσοδος. Δηλαδή, εν τέλει κάθε ανάθεση
είναι είσοδος ?

Προσωπικά η απάντηση με κάλυψε και τον ευχαριστώ κι από εδώ για το ενδιαφέρον που έδειξε. Εάν κάποιος θέλει κάτι πιο επίσημο, δηλαδή από το Π.Ι., νομίζω ότι μόνο με σχετικό ερώτημα μέσω συμβούλων έχουμε κάποιες πιθανότητες για έγγραφη απάντηση.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 09 Οκτ 2008, 12:56:13 ΠΜ
Αυτός ο αλγόριθμος δηλαδή που έδωσες δεν υφίσταται είναι λάθος. Ο αλγόριθμος που έχει το σχολικό βιβλίο στην ενότητα της Γ' Γυμνασίου δεν υφίσταται. Ο αλγόριθμος για την παρασκευή μιας συνταγής δεν υφίσταται. Δηλαδή ένας αλγόριθμος υφίσταται αν πρέπει να μου δώσει και ο χρήστης κάτι την ώρα που εκτελείται.

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

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

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


Ειλικρινά ο στόχος μου είναι πάντως να βγάλουμε μία άκρη.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Laertis στις 09 Οκτ 2008, 09:33:42 ΠΜ
Μου αρέσει η απάντηση του συγγραφέα ...

Ήξοις αφίξοις ....
Με την απάντηση αυτή καλύπτονται όλες οι απόψεις  :D

Προφανώς όλες οι αναθέσεις τιμών δεν είναι είσοδος, αλλά απο την άλλη -η αντίθετη λογική- δέχεται ότι είναι είσοδος το α=1 στην αρχή ενός αλγορίθμου.

Η λογική του βιβλίου όμως ποιά είναι ;

Καλά τα λέει ο knuth, καλά τα λέει ο Άλκης και ο Γιώργος, αλλά το βιβλίο λέει :

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

Εφόσον είναι απαραίτητη η είσοδος (έστω και με καμία τιμή) πρέπει να την ανακαλύψουμε αλλιώς δεν υπάρχει αλγόριθμος.
Ή θα αλλάξει η διατύπωση στο κριτήριο εισόδου ή εγώ θα επιμένω να λέω στα παιδιά ότι η αρχική εντολή εκχώρησης τιμής  α<--1 "θεωρείται" είσοδος για να ονομάσουμε αλγόριθμο αυτό που υλοποιούμε.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: gpapargi στις 09 Οκτ 2008, 12:00:21 ΜΜ
Καλημέρα
Αυτό που ήθελα να πω είναι ότι δεν είναι αναγκαίο ο αλγόριθμος να έχει είσοδο ανεξάρτητα από το τι λέει το βιβλίο. Απλά θα είναι ένας αλγόριθμος που κάνει πάντα το ίδια πράγμα και δεν έχει ενδιαφέρον.

Να μερικά παραδείγματα:

Αλγόριθμος μήνυμα
  Εμφάνισε «Καλημέρα»
Τέλος μήνυμα

Αυτό προφανώς δεν έχει είσοδο.

Να ένα ακόμα

Αλγόριθμος αριθμοί
Για ι από 1 μέχρι 100
  Εμφάνισε ι
Τέλος_επανάληψης
Τέλος αριθμοί

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

Να και ένας τρίτος αλγόριθμος

Αλγόριθμος άθροισμα
S<-0
Για ι από 1 μέχρι 100
  S<-S+ι
Τέλος_επανάληψης
Εμφάνισε S
Τέλος άθροισμα

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

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

Αν δει κανείς τον Knuth (από όπου είναι παρμένα τα κριτήρια) λέει:
“[…] an algorithm has five important features”
Μιλάει δηλαδή για «χαρακτηριστικά» (features) και όχι κριτήρια. Τη λέξη criteria την αναφέρει στην καθοριστικότητα αλλά όχι στην είσοδο. Άρα για μένα δεν υπάρχει αυτή η βαριά σημασία της λέξης «κριτήρια» που υπονοεί ότι αν κάποιο δεν πληρείται τότε δεν είναι αλγόριθμος (όπως πχ τα κριτήρια ισότητας τριγώνων καθορίζουν αν 2 τρίγωνα είναι ίσα ή όχι). Η λέξη «κριτήρια» εμφανίστηκε κατά τη μεταφορά στα ελληνικά και πολύ κακώς της δίνουμε εμείς τόσο βαριά σημασία.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 09 Οκτ 2008, 01:51:49 ΜΜ
Παράθεση από: Laertis στις 09 Οκτ 2008, 09:33:42 ΠΜ
Κάθε αλγόριθμος ικανοποιεί απαραίτητα τα επόμενα κριτήρια μπλα..μπλα

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

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

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

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

@Κώστας: νομίζω αυτά που ρωτάς τα ξανασυζητήσαμε πιο πάνω... Για τις συνταγές μαγειρικής, αν θες διάβασε το βιβλίο του Knuth, θεωρεί ότι έχουν είσοδο (eggs, flour, etc.) και έξοδο (TV dinner, etc.) αλλά τις αναφέρει σε αντιδιαστολή με τους αλγορίθμους, κυρίως επειδή δεν έχουν definiteness. Δεν αναφέρει αν ο χρήστης δίνει τα αυγά και το αλεύρι στο μάγειρα ή αν ο ίδιος ο χρήστης κάνει και το μάγειρα ή αν ο μάγειρας πηγαίνει μόνος του και τα αγοράζει από το σουπερμάρκετ.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: gpapargi στις 09 Οκτ 2008, 02:51:29 ΜΜ
Ρε Άλκη... εκείνες οι διορθώσεις που γράφαμε εκείνο το Σαββατοκύριακο και περιείχαν και τα ουσιαστικά ζητήματα πέρα από τα τυπογραφικά... τι απέγιναν; Υπάρχει καμία περίπτωση να τις δούμε ποτέ ενσωματωμένες στο βιβλίο; Τα περιείχαν όλα αυτά τα θέματα και άλλα πολλά.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: stavrax στις 09 Οκτ 2008, 03:17:40 ΜΜ
Τελικά κατατάσσομαι κι εγώ ανάμεσα στα δύο στρατόπεδα:
Το βιβλίο μας έχει μπλέξει λιγάκι.
Προτείνω όσοι από μας είναι σε σχολείο να κινήσουν την προβλεπόμενη διαδικασία ταυτόχρονα μπας και πάρουμε καμμία επίσημη απάντηση από τις αρχές  :police:

Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 09 Οκτ 2008, 04:21:21 ΜΜ
Να γίνει πρόγραμμα που να εμφανίζει όλους τους πρώτους από το 1 μέχρι 10000.

Το σχολικό βιβλίο σελίδα 11 γράφει: Η σωστή επίλυση ενός προβλήματος προϋποθέτει τον ακριβή προσιορισμό των δεδομένων που παρέχει το πρόβλημα.=>

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

Συμφωνώ και με τους δύο Γιώργηδες.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 09 Οκτ 2008, 04:48:30 ΜΜ
Παράθεση από: ntzios kostas στις 09 Οκτ 2008, 04:21:21 ΜΜ
Να γίνει πρόγραμμα που να εμφανίζει όλους τους πρώτους από το 1 μέχρι 10000.

Κώδικας (Ψευδογλώσσα) [Επιλογή]
Αλγόριθμος ΟιΠρώτοιΑπόΤο1ΜέχριΤο10000
  Εμφάνισε "
    2     3     5     7    11    13    17    19    23    29
   31    37    41    43    47    53    59    61    67    71
   73    79    83    89    97   101   103   107   109   113
  127   131   137   139   149   151   157   163   167   173
  179   181   191   193   197   199   211   223   227   229
  233   239   241   251   257   263   269   271   277   281
  283   293   307   311   313   317   331   337   347   349
  353   359   367   373   379   383   389   397   401   409
  419   421   431   433   439   443   449   457   461   463
  467   479   487   491   499   503   509   521   523   541
  547   557   563   569   571   577   587   593   599   601
  607   613   617   619   631   641   643   647   653   659
  661   673   677   683   691   701   709   719   727   733
  739   743   751   757   761   769   773   787   797   809
  811   821   823   827   829   839   853   857   859   863
  877   881   883   887   907   911   919   929   937   941
  947   953   967   971   977   983   991   997  1009  1013
1019  1021  1031  1033  1039  1049  1051  1061  1063  1069
1087  1091  1093  1097  1103  1109  1117  1123  1129  1151
1153  1163  1171  1181  1187  1193  1201  1213  1217  1223
1229  1231  1237  1249  1259  1277  1279  1283  1289  1291
1297  1301  1303  1307  1319  1321  1327  1361  1367  1373
1381  1399  1409  1423  1427  1429  1433  1439  1447  1451
1453  1459  1471  1481  1483  1487  1489  1493  1499  1511
1523  1531  1543  1549  1553  1559  1567  1571  1579  1583
1597  1601  1607  1609  1613  1619  1621  1627  1637  1657
1663  1667  1669  1693  1697  1699  1709  1721  1723  1733
1741  1747  1753  1759  1777  1783  1787  1789  1801  1811
1823  1831  1847  1861  1867  1871  1873  1877  1879  1889
1901  1907  1913  1931  1933  1949  1951  1973  1979  1987
1993  1997  1999  2003  2011  2017  2027  2029  2039  2053
2063  2069  2081  2083  2087  2089  2099  2111  2113  2129
2131  2137  2141  2143  2153  2161  2179  2203  2207  2213
2221  2237  2239  2243  2251  2267  2269  2273  2281  2287
2293  2297  2309  2311  2333  2339  2341  2347  2351  2357
2371  2377  2381  2383  2389  2393  2399  2411  2417  2423
2437  2441  2447  2459  2467  2473  2477  2503  2521  2531
2539  2543  2549  2551  2557  2579  2591  2593  2609  2617
2621  2633  2647  2657  2659  2663  2671  2677  2683  2687
2689  2693  2699  2707  2711  2713  2719  2729  2731  2741
2749  2753  2767  2777  2789  2791  2797  2801  2803  2819
2833  2837  2843  2851  2857  2861  2879  2887  2897  2903
2909  2917  2927  2939  2953  2957  2963  2969  2971  2999
3001  3011  3019  3023  3037  3041  3049  3061  3067  3079
3083  3089  3109  3119  3121  3137  3163  3167  3169  3181
3187  3191  3203  3209  3217  3221  3229  3251  3253  3257
3259  3271  3299  3301  3307  3313  3319  3323  3329  3331
3343  3347  3359  3361  3371  3373  3389  3391  3407  3413
3433  3449  3457  3461  3463  3467  3469  3491  3499  3511
3517  3527  3529  3533  3539  3541  3547  3557  3559  3571
3581  3583  3593  3607  3613  3617  3623  3631  3637  3643
3659  3671  3673  3677  3691  3697  3701  3709  3719  3727
3733  3739  3761  3767  3769  3779  3793  3797  3803  3821
3823  3833  3847  3851  3853  3863  3877  3881  3889  3907
3911  3917  3919  3923  3929  3931  3943  3947  3967  3989
4001  4003  4007  4013  4019  4021  4027  4049  4051  4057
4073  4079  4091  4093  4099  4111  4127  4129  4133  4139
4153  4157  4159  4177  4201  4211  4217  4219  4229  4231
4241  4243  4253  4259  4261  4271  4273  4283  4289  4297
4327  4337  4339  4349  4357  4363  4373  4391  4397  4409
4421  4423  4441  4447  4451  4457  4463  4481  4483  4493
4507  4513  4517  4519  4523  4547  4549  4561  4567  4583
4591  4597  4603  4621  4637  4639  4643  4649  4651  4657
4663  4673  4679  4691  4703  4721  4723  4729  4733  4751
4759  4783  4787  4789  4793  4799  4801  4813  4817  4831
4861  4871  4877  4889  4903  4909  4919  4931  4933  4937
4943  4951  4957  4967  4969  4973  4987  4993  4999  5003
5009  5011  5021  5023  5039  5051  5059  5077  5081  5087
5099  5101  5107  5113  5119  5147  5153  5167  5171  5179
5189  5197  5209  5227  5231  5233  5237  5261  5273  5279
5281  5297  5303  5309  5323  5333  5347  5351  5381  5387
5393  5399  5407  5413  5417  5419  5431  5437  5441  5443
5449  5471  5477  5479  5483  5501  5503  5507  5519  5521
5527  5531  5557  5563  5569  5573  5581  5591  5623  5639
5641  5647  5651  5653  5657  5659  5669  5683  5689  5693
5701  5711  5717  5737  5741  5743  5749  5779  5783  5791
5801  5807  5813  5821  5827  5839  5843  5849  5851  5857
5861  5867  5869  5879  5881  5897  5903  5923  5927  5939
5953  5981  5987  6007  6011  6029  6037  6043  6047  6053
6067  6073  6079  6089  6091  6101  6113  6121  6131  6133
6143  6151  6163  6173  6197  6199  6203  6211  6217  6221
6229  6247  6257  6263  6269  6271  6277  6287  6299  6301
6311  6317  6323  6329  6337  6343  6353  6359  6361  6367
6373  6379  6389  6397  6421  6427  6449  6451  6469  6473
6481  6491  6521  6529  6547  6551  6553  6563  6569  6571
6577  6581  6599  6607  6619  6637  6653  6659  6661  6673
6679  6689  6691  6701  6703  6709  6719  6733  6737  6761
6763  6779  6781  6791  6793  6803  6823  6827  6829  6833
6841  6857  6863  6869  6871  6883  6899  6907  6911  6917
6947  6949  6959  6961  6967  6971  6977  6983  6991  6997
7001  7013  7019  7027  7039  7043  7057  7069  7079  7103
7109  7121  7127  7129  7151  7159  7177  7187  7193  7207
7211  7213  7219  7229  7237  7243  7247  7253  7283  7297
7307  7309  7321  7331  7333  7349  7351  7369  7393  7411
7417  7433  7451  7457  7459  7477  7481  7487  7489  7499
7507  7517  7523  7529  7537  7541  7547  7549  7559  7561
7573  7577  7583  7589  7591  7603  7607  7621  7639  7643
7649  7669  7673  7681  7687  7691  7699  7703  7717  7723
7727  7741  7753  7757  7759  7789  7793  7817  7823  7829
7841  7853  7867  7873  7877  7879  7883  7901  7907  7919
7927  7933  7937  7949  7951  7963  7993  8009  8011  8017
8039  8053  8059  8069  8081  8087  8089  8093  8101  8111
8117  8123  8147  8161  8167  8171  8179  8191  8209  8219
8221  8231  8233  8237  8243  8263  8269  8273  8287  8291
8293  8297  8311  8317  8329  8353  8363  8369  8377  8387
8389  8419  8423  8429  8431  8443  8447  8461  8467  8501
8513  8521  8527  8537  8539  8543  8563  8573  8581  8597
8599  8609  8623  8627  8629  8641  8647  8663  8669  8677
8681  8689  8693  8699  8707  8713  8719  8731  8737  8741
8747  8753  8761  8779  8783  8803  8807  8819  8821  8831
8837  8839  8849  8861  8863  8867  8887  8893  8923  8929
8933  8941  8951  8963  8969  8971  8999  9001  9007  9011
9013  9029  9041  9043  9049  9059  9067  9091  9103  9109
9127  9133  9137  9151  9157  9161  9173  9181  9187  9199
9203  9209  9221  9227  9239  9241  9257  9277  9281  9283
9293  9311  9319  9323  9337  9341  9343  9349  9371  9377
9391  9397  9403  9413  9419  9421  9431  9433  9437  9439
9461  9463  9467  9473  9479  9491  9497  9511  9521  9533
9539  9547  9551  9587  9601  9613  9619  9623  9629  9631
9643  9649  9661  9677  9679  9689  9697  9719  9721  9733
9739  9743  9749  9767  9769  9781  9787  9791  9803  9811
9817  9829  9833  9839  9851  9857  9859  9871  9883  9887
9901  9907  9923  9929  9931  9941  9949  9967  9973"
Τέλος ΟιΠρώτοιΑπόΤο1ΜέχριΤο10000


Έλυσα το πρόβλημα. Η Εμφάνισε δηλαδή είναι εντολή εισόδου;

Κώστα άστο, δεν πρόκειται να συμφωνήσουμε. Όσοι είναι σε Λύκειο και θέλουν ας κινήσουν τις προβλεπόμενες διαδικασίες.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 09 Οκτ 2008, 04:56:28 ΜΜ
Παράθεση από: gpapargi στις 09 Οκτ 2008, 02:51:29 ΜΜ
Ρε Άλκη... εκείνες οι διορθώσεις που γράφαμε εκείνο το Σαββατοκύριακο και περιείχαν και τα ουσιαστικά ζητήματα πέρα από τα τυπογραφικά... τι απέγιναν; Υπάρχει καμία περίπτωση να τις δούμε ποτέ ενσωματωμένες στο βιβλίο; Τα περιείχαν όλα αυτά τα θέματα και άλλα πολλά.

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

Επομένως μόνο μέσω σχολικών συμβούλων, ώστε να φτάσει ο κόμπος στο χτένι, να αποφασίσουν να διαθέσουν κονδύλια και τότε να τους στείλουμε ξανά όλο το πακέτο.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 09 Οκτ 2008, 05:12:13 ΜΜ
Τι σχέση έχει το εμφάνισε. Είσοδος είναι το 1 και το 10000. Πώς έλυσες το πρόβλημα είναι άλλο θέμα. Αν η εκφώνηση ήταν διαφορετική 2 έως το 100 θα ήταν άλλα τα αποτελέσματα. Άρα τα αποτελέσματά σου εξαρτώνται από την εκφώνηση. ʼρα αυτά είναι είσοδος. Τις τιμές αυτές τις εισάγει ο προγραμματιστής για τη λύση του προβλήματος ενώ σε άλλα προβλήματα τις εισάγει ο χρήστης.  

Νομίζω και εγώ ότι το εξαντλήσαμε το θέμα. Πάντως μπορεί να μην συμφωνήσαμε, αλλά οι κουβέντες αυτές κάνουν πιστεύω πολύ καλό σε μας και στο μάθημα. Ελπίζω κάποιος από τους "μεγάλους" να τις διαβάζουν και να καταλάβουν ότι δεν είναι δυνατόν να πετάνε μία πρόταση και να μας αφήνουν να ταλαντευόμαστε γύρω από τα ρήματα, τα αντικείμενα και τα υποκείμενά της για να βγάλουμε κάποια συμπεράσματα.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 09 Οκτ 2008, 05:17:54 ΜΜ
Παράθεση από: ntzios kostas στις 09 Οκτ 2008, 05:12:13 ΜΜ
Τι σχέση έχει το εμφάνισε. Είσοδος είναι το 1 και το 10000.

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

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

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

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

Νομίζω ότι μπλέκεις την είσοδο ενός αλγορίθμου με την εκφώνηση του προβλήματος! :)
(εκτός αν δεν κατάλαβα καθόλου τι εννοείς...)
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 09 Οκτ 2008, 05:39:15 ΜΜ
Κάπως νομίζω ότι πάμε να βγάλουμε άκρη. Όταν λέμε είσοδο μιλάμε είσοδο κατά τη φάση εκτέλεσης του αλγόριθμου ή είσοδος κατά τη φάση δημιουργίας του αλγόριθμου; Πιστεύω κάπου εκεί υπάρχει η διαφορά μας. Αλλά δεν είμαι σίγουρος. 
Κάνω παράθεση τις συνεπαγωγές που έκανα πριν:
ΠαράθεσηΤο σχολικό βιβλίο σελίδα 11 γράφει: Η σωστή επίλυση ενός προβλήματος προϋποθέτει τον ακριβή προσιορισμό των δεδομένων που παρέχει το πρόβλημα.=>

=>Τα δεδομένα αυτά είναι τα δεδομένα για την λύση του προβλήματος=> είναι τα δεδομένα για το πρόγραμμα που θα φτιάξω και θα λύσει το πρόβλημα. => όμως τα δεδομένα = είσοδος (εκτός αν δεν είναι)=> είσοδος είναι το 1 και το 10000 για το δικό μου πρόγραμμα που θα λύση το πρόβλημα.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 09 Οκτ 2008, 07:02:05 ΜΜ
Ε, κατά τη φάση εκτέλεσης προφανώς...
(τουλάχιστον για μένα, ας καταθέσουν κι οι άλλοι την άποψή τους...)

Δηλαδή αφού έχει σχεδιαστεί ένας αλγόριθμος, τον κοιτάμε από την πλευρά του εκτελεστή, και πρέπει να μπορούμε να δούμε ποια "κριτήρια" ικανοποιούνται χωρίς καν να γνωρίζουμε την εκφώνηση.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 09 Οκτ 2008, 07:20:37 ΜΜ

Εδώ πιστεύω είναι το πρόβλημα που δημιουργήθηκε. Σωστό είναι αυτό που λες αλλά μήπως είσοδος μπορεί να περιλαμβάνει και στοιχεία (δεδομένα) του ίδιου του προβλήματος; Περιμένω και εγώ την άποψη των υπολοίπων.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Laertis στις 09 Οκτ 2008, 08:56:50 ΜΜ
Παράθεση από: alkisg στις 09 Οκτ 2008, 01:51:49 ΜΜ
Εκτός όμως από πιο σωστό (κατά την άποψή μου), είναι και πιο απλό να υιοθετηθεί η άποψη του Knuth ότι τα κριτήρια δεν είναι κριτήρια αλλά χαρακτηριστικά (τα οποία έτσι κι αλλιώς μας παιδεύουν και πέρα από το συγκεκριμένο "κριτήριο" της εισόδου), παρά να αλλάξουμε την ίδια την έννοια της εισόδου (και δημιουργώντας έτσι πολύ περισσότερες ασυνέπειες και προβλήματα) στην προσπάθειά μας να δικαιολογήσουμε μια και μόνη λανθασμένη λέξη ("απαραίτητα").

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

Παράθεση από: alkisg στις 09 Οκτ 2008, 01:51:49 ΜΜ
Αν θες π.χ. να προετοιμάσεις τους μαθητές σου για ένα θέμα στις πανελλαδικές που να ζητάει "ποια είναι η είσοδος του παρακάτω αλγορίθμου;" πώς θα μπορέσεις να τους εξηγήσεις πότε μια ανάθεση τιμής θεωρείται είσοδος και πότε μια εντολή Για θεωρείται είσοδος;
Αν θες προσπάθησε με μένα σαν να είμαι μαθητής σου, χωρίς καμία διάθεση ειρωνίας πραγματικά δεν έχω καταλάβει σε ποιες περιπτώσεις θεωρείτε την ανάθεση τιμής είσοδο και σε ποιες περιπτώσεις όχι!

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

Παράθεση από: alkisg στις 09 Οκτ 2008, 01:51:49 ΜΜ
Ενώ με την άλλη, "μη αντίθετη" άποψη, είσοδος είναι μόνο η Διάβασε και τα Δεδομένα. Τελεία. Random και λοιπές "απλές εντολές παραγωγής πρωτογενών τιμών" δεν έχουμε στην ψευδογλώσσα και στη ΓΛΩΣΣΑ, οπότε είναι πολύ απλό να ξεχωρίζει κάποιος μαθητής την είσοδο. Και είναι συνεπές και με την έννοια της εισόδου γενικά (block διάγραμμα είσοδος / επεξεργασία / έξοδος) αλλά και με την έννοια της εξόδου, "Εμφάνισε" και "Αποτελέσματα". Αλλιώς θα πρέπει να αρχίσουμε την ίδια συζήτηση και για την έξοδο! :)

Την συζήτηση την έχουμε πιάσει παλαιότερα για την αποτελεσματικότητα, για τις συναρτήσεις, για την επίλεξε, για τις στατικές και δυναμικές δομές (στοίβα, ουρά) κ.α ..
Η μη αντίθετη άποψη είναι και η σωστή κατα τη γνώμη μου αλλά έλα ντε που ο συγγραφέας δεν το υποστηρίζει στο βιβλίο αλλά μόνο πρώτη φορά σε αυτό το thread και μάλιστα με χρησμό Πυθίας.
Μικρή όμως σημασία έχει το τι υποστηρίζω και τι λέω εγώ.
Το θέμα είναι τι διδάσκεται γενικά από όλους μας σε ένα Πανελλαδικώς εξεταζόμενο μάθημα.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: P.Tsiotakis στις 12 Οκτ 2008, 08:35:47 ΜΜ
Είσοδος (input). Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται  ως είσοδοι στον αλγόριθμο. Η περίπτωση που δεν δίνονται τιμές δεδομένων  εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών  ή με τη βοήθεια άλλων απλών εντολών.

Κατά την ταπεινή μου άποψη: Στον ορισμό, το κόκκινο αφορά στην εντολή Διάβασε. Μπορεί με το Διάβασε να δίνονται μία, πολλές ή και καμία τιμή δεδομένων [=από το πληκτρολόγιο απο τον χρήστη, ή απο άλλον αλγόριθμο].
Αν ΔΕΝ δίνεται ΚΑΜΙΑ τιμή με Διάβασε, τότε:
- χρησιμοποιείται συνάρτηση παραγωγής τυχαίων αριθμών, προφανώς η RANDOM, RAND  ή κάτι τέτοιο στις γλώσσες προγραμματισμού. Εμείς στο σχολικό μας βιβλίο δεν έχουμε ΤΙΠΟΤΑ τέτοιο.
- Χρησιμοποιούνται απλές εντολές. Αναφέρεται στο παράδειγμα που ως επισκέπτης είχα παραθέσει στις 12/4/2006:

Αλγόριθμος ΚΥΡΙΑΚΟΣ
   Β <- 1
   Α <- Β+2
   Εμφάνισε Α
Τέλος ΚΥΡΙΑΚΟΣ

που θεωρώ οτι η πρώτη εντολή (Β <- 1) αποτελεί είσοδο με τη χρήση απλών εντολών. Αλλιώς (απουσία της), ο αλγόριθμος δεν μπορεί να συνεχίσει

ΔΕ θεωρώ οτι όλες οι σταθερές τιμές στην κωδικοποίηση είναι είσοδος στον αλγόριθμο. Μόνο οι πρώτες εντολές εκχώρησης που τροφοδοτούν με τιμές που θα χρειαστούν στον αλγόριθμο.




Παράθεση από: alkisg στις 08 Οκτ 2008, 11:26:00 ΜΜ

Απάντηση του συγγραφέα του σχετικού κεφαλαίου:
Παράθεση
Με απλά λόγια θα έλεγα το εξής.
Συμφωνώ με εκείνους που λενε ότι ουσιαστικά το input δίνεται με το Διάβασε. Με την ίδια (αντίθετη) λογική και το α=1 και το for/while κλπ είναι είσοδος. Δηλαδή, εν τέλει κάθε ανάθεση είναι είσοδος ?

Άλκη, και γω με τη σειρά μου, θα ήθελα να ευχαριστήσω, το μέλος μιας συγγραφικής ομάδας, που μας έδωσε ένα βιβλίο με τις υπογραφές τους γεμάτο ασάφειες, που παλεύουμε όλοι εδώ χρόνια με κόπο και αγωνία να αμβλύνουμε και την πρώτη φορά που θυμάμαι να πρέπει να ασχοληθεί (αυτός/ή ή όποιο μέλος αυτής της ομάδας) με ένα απλό ανεπίσημο email, αφιερώνει 10 δευτερόλεπτα για απάντηση...
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Καρκαμάνης Γεώργιος στις 13 Οκτ 2008, 12:35:17 ΠΜ
Πρώτα θα εκφράσω ένα <b>ευχαριστώ</b> στον Άλκη που  έκανε τον κόπο να ενοχλήσει τον συγγραφέα.

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

Σύμφωνα με την απάντηση......σκέφτομαι και αναρωτιέμαι:
α) ποια είναι είσοδος τελικά;
      Δεδομένα, Διάβασε, απλές αναθέσεις τιμών στην αρχή του αλγορίθμου, for/while ;
β) ποια δεν είναι είσοδος τελικά;
     εδώ;;;;;;;;;;;;;;;
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 13 Οκτ 2008, 12:48:12 ΠΜ
Τα ίδια θα πω πάλι ουσιαστικά, απλά με άλλα λόγια. Ελπίζω να μην ακουστώ απότομος... :) :) :)

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

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


Γνώμη μου είναι ότι μιλάει για συγκεκριμένες απλές εντολές παρόμοιες με τη random και όχι οποιεσδήποτε. Για παράδειγμα, in al,θύρα (διάβασμα μιας πόρτας του Η/Υ - είτε ρολόι, είτε θερμοκρασία είτε ό,τι άλλο τυχαίο έχει).
Κι αυτό αυθαιρεσία είναι, δε λέω όχι. Αλλά τουλάχιστον είναι απλό, σαφές, μοιάζει και με τη λειτουργία της random και σέβεται και την έννοια της εισόδου (δεν είναι τυχαίο μάλιστα που η εντολή assembly λέγεται in).


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


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


Υ.Γ. δεν ξέρω ποιο πρόβλημα λύνει ο παραπάνω αλγόριθμος, αλλά αν κάποιος μαθητής στον έλυνε έτσι:
Αλγόριθμος  ΚΥΡΙΑΚΟΣ
   Εμφάνισε 1 + 2
Τέλος ΚΥΡΙΑΚΟΣ
τι θα του έλεγες για την είσοδο; Δεν είναι γελοίο που η είσοδος "εξαφανίζεται" γράφοντας διαφορετικά τον ίδιο αλγόριθμο;

Υ.Γ. #2 θα ήταν χρήσιμο να ακούσουμε κι άλλες γνώμες γι' αυτό που είπαμε πιο πριν με τον Κώστα, αν δηλαδή η είσοδος αφορά τον αλγόριθμο ή το πρόβλημα. Δηλαδή αν δεν ξέρουμε την εκφώνηση δεν μπορούμε να καταλάβουμε εάν μια εντολή sum <- 0 είναι είσοδος ή όχι;
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: gpapargi στις 13 Οκτ 2008, 10:19:51 ΠΜ
Ο αλγόριθμος και το πρόβλημα είναι διαφορετικά πράγματα. Μπορεί το πρώτο να φτιάχνεται για να λύσει το δεύτερο αλλά αυτό δεν τα κάνει ίδια.
Υπάρχουν προβλήματα που δεν έχουν αλγόριθμο που να τα λύνει (πχ το μη υπολογίσιμο πρόβλημα του τερματισμού).
Υπάρχουν προβλήματα που λύνονται το καθένα από αυτά από 2 διαφορετικούς αλγορίθμους.
Επίσης υπάρχουν διαφορετικά προβλήματα που λύνονται από τον ίδιο ακριβώς αλγόριθμο. Μιλάω για προβλήματα που αν και έχουν τελείως διαφορετική περιγραφή τελικά έχουν κρυμμένο το ίδιο μαθηματικό μοντέλο από πίσω τους και η επίλυσή τους απαιτεί την εκτέλεση πανομοιότυπων βημάτων.

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

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

Τέλος να δώσω ένα παράδειγμα. Έστω το παρακάτω πρόβλημα:
«Να φτιαχτεί αλγόριθμος που διαβάζει ένα αριθμό και να εκτυπώνει το διπλάσιό του»

Και να ο αλγόριθμος σε ψευδογλώσσα:

Αλγόριθμος διπλασιασμός
Διάβασε x
y<-2
διπλάσιος <- y * x
Εμφάνισε διπλάσιος
Τέλος διπλασιασμός

Ποια είναι η είσοδος; Νομίζω πως κανείς δε θα πει ότι είναι και το x αλλά και το 2.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: sstergou στις 13 Οκτ 2008, 04:07:29 ΜΜ
Συμφωνώ με Άλκη και Γιώργο, είσοδος είναι μόνο τα Διάβασε, Δεδομένα αφού δεν έχουμε συναρτήσεις παραγωγής τυχαίων.

Πρόκειται απλά για άλλη μια αστοχία του βιβλίου. Γιατί αυτή πρέπει να δικαιολογηθεί; Ανάμεσα στις άλλες τόσες έχουμε ακόμα μία.

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

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

Για μένα αλγόριθμος που βγάζει το ίδιο αποτέλεσμα κάθε φορά που εκτελείται δεν έχει νόημα. Τον εκτελείς μια φορά, σημειώνεις το αποτέλεσμα και τέλος.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: P.Tsiotakis στις 13 Οκτ 2008, 04:51:42 ΜΜ
Η διαφορά των 2 παρακάτω αλγορίθμων:
Αλγόριθμος διπλασιασμός1
Διάβασε x
διπλάσιος ← 5 * Τ_Ρ(x)
Εμφάνισε διπλάσιος
Τέλος διπλασιασμός1
       Αλγόριθμος διπλασιασμός2
x ← 1253
διπλάσιος ← 5 * Τ_Ρ(x)
Εμφάνισε διπλάσιος
Τέλος διπλασιασμός2

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

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

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

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

ΥΓ: Αν και όταν υπάρξει διευκρίνηση του ΠΙ για το θέμα αυτό, θα την υιοθετήσω χωρίς δεύτερη σκέψη.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: sstergou στις 13 Οκτ 2008, 05:28:00 ΜΜ
Τυπικά μιλώντας η εντολή :  x ← 1253 δεν είναι απαραίτητη


Κώδικας (Αλγόριθμος) [Επιλογή]
Αλγόριθμος  διπλασιασμός1
Διάβασε x
διπλάσιος ← 5 * Τ_Ρ(x)
Εμφάνισε διπλάσιος
Τέλος διπλασιασμός1
Κώδικας (Αλγόριθμος) [Επιλογή]
Αλγόριθμος  διπλασιασμός2
x ← 1253
διπλάσιος ← 5 * Τ_Ρ(x)
Εμφάνισε διπλάσιος
Τέλος διπλασιασμός2
Κώδικας (Αλγόριθμος) [Επιλογή]
Αλγόριθμος  διπλασιασμός3
Εμφάνισε 5 * Τ_Ρ(1253)
Τέλος διπλασιασμός3
Κώδικας (Αλγόριθμος) [Επιλογή]

Αλγόριθμος  διπλασιασμός4
Εμφάνισε 176,98870020
Τέλος διπλασιασμός4

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

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

Κάτι σαν το λίνουξ μου ακούγεται  >:D
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: P.Tsiotakis στις 13 Οκτ 2008, 05:30:48 ΜΜ
Κι αν ο προγραμματιστής γράφει έναν αλγόριθμο για την πάρτη του και είναι και εκτελεστής;

Και ναι, στο:
Αλγόριθμος  διπλασιασμός3
Εμφάνισε 5 * Τ_Ρ(1253)
Τέλος διπλασιασμός3

το "5 * Τ_Ρ(1253)" είναι είσοδος  :D
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: sstergou στις 13 Οκτ 2008, 05:44:15 ΜΜ
Παίρνοντας την εξαίσια αυτή ιδέα ένα βήμα παραπέρα ,θα έλεγα ότι αν και δεν υπάρχει σαφής ένδειξη στον διπλασιασμό4 η είσοδος υπονοείται και είναι η ίδια με αυτή του διπλασιασμού2, απλά ο προγραμματιστής μη έχοντας κάπου να δώσει λογαριασμό, αφού ο ίδιος χρησιμοποιεί και εκτελεί τα προγράμματά του, αποφάσισε να μην τη βάλει  :D
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Michael στις 13 Οκτ 2008, 08:33:41 ΜΜ
Είσοδος (input). Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Η περίπτωση που δεν δίνονται τιμές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών.

Η πρώτη πρόταση με είχε απασχολήσει πολύ στο παρελθόν. Για την ακρίβεια δεν καταλάβαινα ποια είναι η διαφορά ανάμεσα στο να "μην έχει είσοδο" και στο να "έχει καμία είσοδο". Μετά από αρκετή σκέψη κατέληξα στο ότι στα πλαίσια του μαθήματος και για κάθε πρακτικό (= βαθμολογικό) λόγο, το κριτήριο αυτό είναι αδύνατον να παραβιαστεί. Τώρα, για την ουσία του πράγματος δεν έχω άποψη, αν δεν υπήρχε η τελευταία φράση ("ή με τη βοήθεια άλλων απλών εντολών") θα νόμιζα ότι αναφέρεται μόνο σε γεννήτριες τυχαίων αριθμών. Μέχρι να διευκρινιστούν ποιες απ όλες είναι αυτές οι "απλές εντολές", το μυστήριο για μένα θα παραμένει.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 13 Οκτ 2008, 09:21:38 ΜΜ
Αν φύγουμε λίγο από την ψευδογλώσσα και πάμε σε αλγόριθμους που δεν λύνονται με υπολογιστή.
Παρασκευή συνταγής μαγειρικής. Προγραμματιστής: Αυτός που έγραψε το βιβλίο μαγειρικής
Υπολογιστής:Ο Μάγειρας
Χρήστης: Ο Πελάτης

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

Στο βιβλίο πάντως του Χαλάτση που είναι μετάφραση του ANDREW LISTER ως είσοδος του αλγόριθμου γράφει τα υλικά του μουσακά. Υλικά και ποσότητές που ο χρήστης δεν δίνει (ουτε ξέρει από τι αποτελείται ο μουσακάς), αλλά είναι καθορισμένα από το βιβλίο μαγειρικής και καθορίστηκαν από τον προγραμματιστή. Μελιτζάνες<- 2
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Michael στις 13 Οκτ 2008, 09:39:49 ΜΜ
Τότε όμως γιατί η "είσοδος" θεωρείται κριτήριο? Αυτό είναι που δεν καταλαβαίνω. Μπορεί δηλαδή κάποιος να φτιάξει μια άσκηση (ερώτηση κατανόησης) που αποτελείται από μια ακολουθία εντολών και ικανοποιεί όλα τα άλλα κριτήρια πλην της εισόδου?
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: sstergou στις 13 Οκτ 2008, 10:34:56 ΜΜ
Η μόνη είσοδος που μπορώ να σκεφτώ στο παράδειγμά σου είναι ο αριθμός των μερίδων (οπότε και ποσότητα υλικών) και η επιθυμία του πελάτη.

Η εντολή μελιτζάνες ← 2 δεν επιλέγει μία τιμή από ένα συγκεκριμένο σύνολο διαφορετικών πιθανών τιμών, οπότε κατά τη γνώμη μου δεν αποτελεί είσοδο. Αυτό δεν σημαίνει πως η συνταγή ή κάτι αντίστοιχο τέλος πάντων δεν είναι αλγόριθμος.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 13 Οκτ 2008, 10:47:47 ΜΜ
ΠαράθεσηΗ μόνη είσοδος που μπορώ να σκεφτώ στο παράδειγμά σου είναι ο αριθμός των μερίδων (οπότε και ποσότητα υλικών) και η επιθυμία του πελάτη.
Αυτό δεν είναι είσοδος. Είναι σαν να έχεις ένα σωρό προγράμματα στον υπολογιστή σου και κάνεις κλικ σε ένα από αυτά. Δεν είναι είσοδος για το συγκεκριμένο πρόγραμμα ότι το επέλεξες μεταξύ των άλλων.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: sstergou στις 13 Οκτ 2008, 10:52:22 ΜΜ
Για τον αλγόριθμο ΕκτέλεσεΣυνταγήΤσελεμεντέ η επιλογή συνταγής είναι είσοδος.
Για τον αλγόριθμο ΦτιάξεΜουσακά προφανώς δεν είναι. Σε αυτή την περίπτωση τότε μόνο ο αριθμός των μερίδων.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 13 Οκτ 2008, 11:55:46 ΜΜ
Παράθεση από: Michael στις 13 Οκτ 2008, 08:33:41 ΜΜ
Τώρα, για την ουσία του πράγματος δεν έχω άποψη, αν δεν υπήρχε η τελευταία φράση ("ή με τη βοήθεια άλλων απλών εντολών") θα νόμιζα ότι αναφέρεται μόνο σε γεννήτριες τυχαίων αριθμών. Μέχρι να διευκρινιστούν ποιες απ όλες είναι αυτές οι "απλές εντολές", το μυστήριο για μένα θα παραμένει.

Michael φαντάσου ότι είσαι ένας αλγόριθμος:
Ο επεξεργαστής βαριεστημένα εκτελεί τις εντολές σου. Αναθέσεις τιμής, πράξεις, πίνακες κτλ απλά απασχολούν την ALU, τν FPU και γράφουν στη RAM, τίποτα σπουδαίο. Ξαφνικά όμως μια εντολή Διάβασε σου λέει να κάνεις κάτι συνταρακτικό, να έρθεις σε επαφή με τον έξω κόσμο! Εκτελείται λοιπόν μια εντολή in al,61h και διαβάζεις από τη θύρα του πληκτρολογίου. Να μια είσοδος, μια τιμή από ένα σύνολο τιμών η οποία μπορεί να αλλάξει τα αποτελέσματα του αλγορίθμου.
Στη συνέχεια έρχεται ένα interrupt που λέει ότι κουνήθηκε το ποντίκι. Διαβάζεις από τη σειριακή θύρα, in al,3f8h (σόρρυ δεν έχω ενημερωθεί για τις USB) και έχεις άλλη μία είσοδο.
Μετά ο αλγόριθμος γράφει στην οθόνη ή στον εκτυπωτή και έχεις έξοδο.
Αλλά έχει τελειώσει το χαρτί του εκτυπωτή, οπότε στέλνει σήμα και έχεις πάλι μια νέα πληροφορία που μπορεί να αλλάξει τα αποτελέσματα του αλγορίθμου.
Τότε καλείς έναν άλλο αλγόριθμο, ο οποίος θα βγάλει ένα διάλογο στο χρήστη και θα του ζητήσει να πατήσει "ΟΚ" ή "Ακύρωση εκτύπωσης". Η τιμή που σου επιστρέφει ο αλγόριθμος αυτός πάλι είναι είσοδος για σένα. Ενώ για τον αλγόριθμο "διάλογος", είσοδος ήταν το κουμπί που πάτησε ο χρήστης.

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


Για παράδειγμα αλγορίθμου χωρίς είσοδο, δες λίγο παραπάνω τα μηνύματα σχετικά με τον υπολογισμό των 10000 πρώτων αριθμών. Όσοι αλγόριθμοι δεν έχουν είσοδο, έχουν πάντα το ίδιο αποτέλεσμα, επομένως μπορούν να αντικατασταθούν από μία και μοναδική εντολή Εμφάνισε.
Και γι' αυτό η είσοδος είναι σημαντική, γιατί αλλιώς οι αλγόριθμοι είναι χρήσιμοι μόνο την πρώτη φορά που θα εκτελεστούν. Αφού τρέξουν μια φορά, τους πετάμε και σημειώνουμε κάπου το αποτέλεσμα... Δεν θα έλεγα ότι δεν είναι αλγόριθμοι, όπως ισχυρίζεται το βιβλίο (οπότε με αναγκάζει να το λέω κι εγώ), αλλά θα έλεγα ότι είναι κακοσχεδιασμένοι.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 14 Οκτ 2008, 12:12:29 ΠΜ
ΠαράθεσηΓια παράδειγμα αλγορίθμου χωρίς είσοδο, δες λίγο παραπάνω τα μηνύματα σχετικά με τον υπολογισμό των 10000 πρώτων αριθμών. Όσοι αλγόριθμοι δεν έχουν είσοδο, έχουν πάντα το ίδιο αποτέλεσμα, επομένως μπορούν να αντικατασταθούν από μία και μοναδική εντολή Εμφάνισε.
Και γι' αυτό η είσοδος είναι σημαντική, γιατί αλλιώς οι αλγόριθμοι είναι χρήσιμοι μόνο την πρώτη φορά που θα εκτελεστούν. Αφού τρέξουν μια φορά, τους πετάμε και σημειώνουμε κάπου το αποτέλεσμα... Δεν θα έλεγα ότι δεν είναι αλγόριθμοι, όπως ισχυρίζεται το βιβλίο (οπότε με αναγκάζει να το λέω κι εγώ), αλλά θα έλεγα ότι είναι κακοσχεδιασμένοι.
Γενικότερα δεν συμφωνώ ότι είναι κακοσχεδιασμένοι οι αλγόριθμοι. Κακοσχεδιασμένο ίσος είναι το πρόβλημα για το οποίο δημιουργήθηκαν. Αλλά και πάλι αν βάλουμε το παράδειγμα με το μουσακά που ανέφερα παράπανω οι χρήστες είναι πολλοί του αλγόριθμου, ίσως και οι ίδιοι κάθε φορά. Το αποτέλεσμά του δεν είναι πάντα αριθμός που το σημείωσα και πάντα θα τον έχω σημειωμένο, αλλά μπορεί να είναι μία πάστα που την έφαγα και θέλω και άλλη.  :)
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 14 Οκτ 2008, 09:56:44 ΠΜ
Κώστα επειδή οι οδηγίες μαγειρικής δεν ικανοποιούν όλα τα "κριτήρια" των αλγορίθμων, είναι ακατάλληλοι σαν παραδείγματα, καλύτερα να μη συζητάμε γι' αυτούς αλλά για κάποιο άλλο παρόμοιο παράδειγμα των Η/Υ.

Ας πούμε λοιπόν ότι κάποιος ζητάει αλγόριθμο για το κακοδιατυπωμένο πρόβλημα του "να τυπώνει πάντα μια συγκεκριμένη σελίδα στον εκτυπωτή".
Σε αντιστοιχία με την μαγειρική, το αποτέλεσμα (=πάστα) είναι η σελίδα, τα υλικά είναι τα γράμματα και τα σχέδια που θέλουμε να έχει η σελίδα, και δουλειά του αλγορίθμου είναι να μετατρέψει αυτά τα υλικά σε δισδιάστατο πίνακα από pixels, δηλαδή να κάνει rasterize τις γραμματοσειρές, να ζωγραφίσει κύκλους και ορθογώνια κτλ. Δηλαδή με ορολογία Πληροφορικής ο αλγόριθμος είναι ένα πρόγραμμα postscript to bitmap.

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

Ο σχεδιαστής όμως του αλγορίθμου θα πρέπει να σκεφτεί διαφορετικά. Αφού θα φτιάξει που θα φτιάξει postscript to bitmap converter, δεν έχει κανένα νόημα να τον περιορίσει by hardcoding την είσοδο.

Φτιάχνει λοιπόν έναν αλγόριθμο
Αλγόριθμος ΣχεδίασεΣελίδα
Δεδομένα //postscript//
...
Αποτελέσματα //bitmap//
Τέλος ΣχεδίασεΣελίδα

Ναι αλλά ο πελάτης δεν θέλει να πληκτρολογεί κάθε φορά τα δεδομένα.
Αυτός λοιπόν είναι ο ρόλος των αρχείων, και γι' αυτό βάζουμε τα δεδομένα που θέλει ο πελάτης σε ένα αρχείο .ps (ή .pdf ή .doc κτλ).

Επομένως ο τελικός μας αλγόριθμος θα ήταν
Αλγόριθμος ΤύπωσεΣελίδα
Δεδομένα //όνομα αρχείου postscript//
..
Αποτελέσματα //bitmap//
Τέλος

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

Εδώ λοιπόν μπαίνει στο παιχνίδι το user interface του λειτουργικού, που είναι άλλος αλγόριθμος.
Συγκεκριμένα στα Windows θα κάναμε συντόμευση για το πρόγραμμα ΤύπωσεΣελίδα, και θα του δίναμε παράμετρο (=πάλι είσοδος) το όνομα αρχείου της σελίδας του πελάτη.
Δηλαδή
C:\TupwseSelida.exe C:\Users\Pelatns\Documents\Arxeio.ps

Κι αν δεν μιλάμε για Windows αλλά για μηχάνημα κατασκευής καφέ, το user interface αντιστοιχεί το κουμπάκι που πατάει ο χρήστης για να διαλέξει τι καφέ θέλει.

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

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


Παρεμπιπτόντως, το ερώτημα του αν ένας (καλοσχεδιασμένος) αλγόριθμος που δεν έχει είσοδο μπορεί να θεωρηθεί αλγόριθμος, θεωρώ ότι είναι ισοδύναμο με το κατά πόσο μια συντόμευση των Windows (ή μία εντολή του DOS) μπορεί να χαρακτηριστεί αλγόριθμος.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 14 Οκτ 2008, 12:44:19 ΜΜ
Όλα αυτά που είπες Άλκη είναι σωστά. Μπορεί να κρίνεις ότι ένας αλγόριθμος δεν είναι καλοσχεδιασμένος και εγώ μαζί σου, αλλά όμως παρ'όλο που είναι κακοσχεδιασμένος παραμένει αλγόριθμος.

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

ΠαράθεσηΑυτό που λέω είναι ότι ακόμα και για κακοδιατυπωμένα προβλήματα δεν πρέπει να σχεδιάζουμε κακοσχεδιασμένους αλγορίθμους
. Στην άσκηση με το υπολογιστικό σύστημα των εξετάσεων του 2001. Αν ο μαθητής έπερνε πρωτοβουλία και έλεγε αντί για 600000 την αξία του υπολογιστή έγραφε
διάβασε αξία
χρ_τσέπη<- 5000
χρ_γονέων<-5000
όσο χρ_τσεπη< αξία επανάλαβε
....
θα έπαιρνε άριστά;
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: sstergou στις 14 Οκτ 2008, 02:08:31 ΜΜ
Έχει πλάκα αυτό το παράδειγμα, αυτό σκεφτόμουν όταν έλεγα για άστοχα θέματα λόγω μη ύπαρξης πραγματικής εισόδου.

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

Κώδικας (Αλγόριθμος) [Επιλογή]

Αλγόριθμος θέμα
   Εβδομάδες <- 7 !Υπολογισμός κάπως έτσι : την πρώτη εβδομάδα 5, την δεύτερη 15, την τρίτη 35.... οπότε 7 εβδομάδες
   Εμφάνισε εβδομάδες
Τέλος θέμα


Ένα άστοχο θέμα του παρελθόντος δεν πρέπει να επηρεάζει την κρίση μας για το τι είναι σωστό και συμβαδίζει με την πληροφορική γενικότερα. Αν είναι να θεωρούμε τα θέματα και το κείμενο του βιβλίου σωστά εκ των προτέρων το πιο πιθανό είναι να καταλήγουμε σε λογικά αδιέξοδα...
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: evry στις 14 Οκτ 2008, 02:45:09 ΜΜ

  Ναι αυτό πράγματι θα είχε πλάκα γιατί αν κατάλαβα καλά πρόκειται για το άθροισμα n όρων μια γεωμετρικής προόδου με πρώτο όρο το 5000 και λόγο 2. Το άθροισμα αυτό θα ήταν

     Σ = 5000 + 2*5000 + 2*(2*5000) + 2(*2*(2*5000) ) + ....

όμως αυτό όπως γνωρίζουν οι μαθητές είναι : Σ = 5000 * (2^ν - 1) / (2-1) = 5000*(2^ν - 1)
βάζουμε Σ = 600000 και λύνουμε ως προς ν με χρήση λογαρίθμου. Θέλουμε το ελάχιστο ν έτσι ώστε Σ >= 600000

Οπότε ο αλγόριθμος είναι απλά μια εντολή εκχώρησης. Ένας μαθητής που είναι δυνατός στα μαθηματικά θα μπορούσε να το είχε σκεφτεί.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: P.Tsiotakis στις 14 Οκτ 2008, 03:02:09 ΜΜ
ακόμα και αν διαβάζεται η αξία του υπολογιστή, πάλι δε λύνεται με μια εντολή εκχώρησης η άσκηση;
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 14 Οκτ 2008, 03:18:31 ΜΜ
Επειδή βαριέμαι να ψάξω το θέμα, απαντώ στο περίπου:

ΨευτοΑλγόριθμος Άσκηση
Δεδομένα // κανένα, κάνετε λάθος που βάζετε αυτή την άσκηση //
  ΠραγματικόςΑλγόριθμοςΥπολογισμού(5000, 5000, 60000, εβδομάδες)
Αποτελέσματα // εβδομάδες //
Τέλος ʼσκηση

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


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

Ο ΨευτοΑλγόριθμος που ισοδυναμεί με την ψευτο-είσοδο, ισοδυναμεί επίσης με μια συντόμευση των Windows...
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 04:15:22 ΜΜ
ΠαράθεσηΕν ολίγοις, είσοδος είναι οτιδήποτε μπορεί να μεταβάλλει τα αποτελέσματα του αλγορίθμου αφού έχει προηγουμένως ξεκινήσει η εκτέλεσή του. Οποιαδήποτε πληροφορία δηλαδή μπορεί να πάρει από το "εξωτερικό" περιβάλλον του. Για παράδειγμα αλγορίθμου χωρίς είσοδο, δες λίγο παραπάνω τα μηνύματα σχετικά με τον υπολογισμό των 10000 πρώτων αριθμών. Όσοι αλγόριθμοι δεν έχουν είσοδο, έχουν πάντα το ίδιο αποτέλεσμα, επομένως μπορούν να αντικατασταθούν από μία και μοναδική εντολή Εμφάνισε.
Και γι' αυτό η είσοδος είναι σημαντική, γιατί αλλιώς οι αλγόριθμοι είναι χρήσιμοι μόνο την πρώτη φορά που θα εκτελεστούν. Αφού τρέξουν μια φορά, τους πετάμε και σημειώνουμε κάπου το αποτέλεσμα... Δεν θα έλεγα ότι δεν είναι αλγόριθμοι, όπως ισχυρίζεται το βιβλίο (οπότε με αναγκάζει να το λέω κι εγώ), αλλά θα έλεγα ότι είναι κακοσχεδιασμένοι.

Συμφωνώ απόλυτα μαζί σου Άλκη. Η έννοια την εισόδου είναι δυναμική έννοια. (Θεωρία συστημάτων αυτομάτου ελέγχου). ʼρα καμμία είσοδος σε ένα αλγόριθμο είναι ένας αλγόριθμος χωρίς διάβασε. Αυτό δεν σημαίνει ότι δεν είναι αλγόριθμος απλά θα έλεγα ότι είναι ένας στατικός αλγόριθμος.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 04:31:27 ΜΜ
Έστω ότι φτιάχνουμε 2 αλγορίθμους που λύνουν την δευτεροβάθμια εξίσωση. Στον πρώτο οι συντελεστές δίνονται με εντολή διάβασε και στο δεύτερο με <-- εσωτερικά. Θα λέγαμε ότι ο πρώτος έχει 3 εισόδους και ο δεύτερος καμμία. Και οι 2 αλγόριθμοι είναι σωστοί με βάση το κριτήριο της εισόδου. Άρα αλγόριθμος χωρίς διάβασε και με <-- είναι καμμία είσοδος. Αλγόριθμος χωρίς διάβασε και χωρίς <-- δεν είναι αλγόριθμος γιατί δεν επιλύει κανένα πρόβλημα.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: P.Tsiotakis στις 14 Οκτ 2008, 04:52:06 ΜΜ
Αλλά Βασίλη, πως γίνεται να μην έχει κανείς πρόβλημα εισόδου και ο δεύτερος να μην έχει είσοδο;

Συμφωνώ με το τρόπο που πας να το παρουσιάσεις, μια πιθανή επανδιατύπωση θα με βρει ακόμα πιο σύμφωνο
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 04:59:51 ΜΜ
Άρα συνοψίζοντας θα έλεγα τα εξής : Ένα από τα κριτήρια του σωστού αλγορίθμου (σωστός αλγόριθμος αυτός που επιλύει προβλήματα) είναι η είσοδος (καμμία, μία ή περισσότερες). Καμμία είσοδος σημαίνει όχι διάβασε και να υπάρχουν <-- οπότε μπορεί να επιλύει πρόβλημα άρα είναι σωστός αλγόριθμος (με το ορισμό του προβλήματος που ξέρουμε που δεν έχει λύση γνωστή ή προφανής, παράδειγμα σύστημα 3Χ2 εξισώσεων με τους συντελεστές δοσμένους με <--) . Αν δεν έχει ούτε διάβασε ούτε <-- παραβιάζει το κριτήριο της εισόδου με την έννοια ούτε καμμία (σημαίνει όχι διάβασε και να υπάρχουν <--), ούτε μια η παραπάνω (διάβασε). 
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 05:06:54 ΜΜ
Αλγόριθμος μήνυμα
Εμφάνισε 'Καλημέρα'
Τέλος

Παραβιάζει το κριτήριο της εισόδου. (Ούτε καμμία είσοδος, που σημαίνει όχι διάβασε και ναι <--, ούτε μία οι περισσότερες που σημαίναι ένα ή περισσότερα διάβασε). Άλλωστε προφανώς ο παραπάνω δεν είναι σωστός αλγόριθμός γιατί δεν μπορώ να σκεφτώ ποιό πρόβλημα επιλύει!!
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: sstergou στις 14 Οκτ 2008, 05:14:18 ΜΜ
Νομίζω ότι κάνουμε κύκλους πάλι.

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

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

Αν απαντηθεί αυτό νομίζω μετά πρέπει να μας βασανίσει το ερώτημα για τη Ζωή το Σύμπαν και τα Πάντα, ε Άλκη;  8)
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 05:17:18 ΜΜ
Τώρα αν κάποιος μου πει.

Αλγόριθμος μήνυμα
Χ<--'Καλημέρα'
Εμφάνισε χ
Τέλος

είναι αυτός σωστός αλγόριθμος; Η απάντηση είναι όχι διότι χρησιμοποίησες την εντολή <-- μόνο για να πληρεί οπτικά τα κριτήρια του σωστού αλγορίθμου. Ουσιαστικά όμως πάλι δεν επιλύει πρόβλημα. Άρα παραδείγματα αλγορίθμων που έχουν βελάκια χωρίς να είναι απαραίτητα για να επιλύουν κάποιο πρόβλημα και επομένως μπορούν να εκφυλιστουν τελικά σε αλγορίθμους χωρίς βελάκια δεν είναι σωστοί αλγόριθμοι.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 14 Οκτ 2008, 05:20:08 ΜΜ
Συνάδελφοι πάνω σε αυτό ακριβώς, δώστε μια παραπάνω εξήγηση μπας και καταλάβω τι εννοείτε:
Έστω το απλό πρόβλημα "κάντε έναν αλγόριθμο που να μετράει από το Α ως το Τ με βήμα Β".
Κάποιος το δίνει σαν (κακοδιατυπωμένη κατά την άποψή μου) άσκηση με συγκεκριμένα νούμερα:
"κάντε έναν αλγόριθμο που να μετράει από το 1 ως το 10 με βήμα 2"

Ένας μαθητής το λύνει με αναθέσεις τιμής:
Α <- 1
Τ <- 10
Β <- 2
Για ι από Α μέχρι Τ με_βήμα Β
 Εμφάνισε ι
τέλος_επανάληψης

Ένας άλλος μαθητής το λύνει χωρίς αναθέσεις τιμής:
Για ι από 1 μέχρι 10 με_βήμα 2
 Εμφάνισε ι
τέλος_επανάληψης

Τι διαφορά έχουν τα δύο παραπάνω όσον αφορά στην είσοδο, όπως την ορίζετε;

@sstergou: 42 (http://en.wikipedia.org/wiki/Answer_to_Life,_the_Universe,_and_Everything) ;)
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 05:30:34 ΜΜ
ΠαράθεσηΣυνάδελφοι πάνω σε αυτό ακριβώς, δώστε μια παραπάνω εξήγηση μπας και καταλάβω τι εννοείτε:
Έστω το απλό πρόβλημα "κάντε έναν αλγόριθμο που να μετράει από το Α ως το Τ με βήμα Β".
Κάποιος το δίνει σαν (κακοδιατυπωμένη κατά την άποψή μου) άσκηση με συγκεκριμένα νούμερα:
"κάντε έναν αλγόριθμο που να μετράει από το 1 ως το 10 με βήμα 1"

Ένας μαθητής το λύνει με αναθέσεις τιμής:
Α <- 1
Τ <- 10
Β <- 2
Για ι από Α μέχρι Τ με_βήμα Β
  Εμφάνισε ι
τέλος_επανάληψης

Ένας άλλος μαθητής το λύνει χωρίς αναθέσεις τιμής:
Για ι από 1 μέχρι 10 με_βήμα 2
  Εμφάνισε ι
τέλος_επανάληψης

Τι διαφορά έχουν τα δύο παραπάνω όσον αφορά στην είσοδο, όπως την ορίζετε;

Η άποψη μου είναι η εξής: οι αλγόριθμοι που γράφεις εκφυλίζονται σε:
Αλγόριθμος μέτρημα
Εμφάνισε '1'
Εμφάνισε '3'
Εμφάνισε '5'
Εμφάνισε '7'
Εμφάνισε '9'
Εμφάνισε '11'
Τέλος

Άρα παραβιάζουν το κριτήριο της εισόδου (ούτε καμμία, ούτε μια η περισσότερες είσοδοι). Φαίνεται άλλωστε καθαρά ότι δεν είναι σωστός αλγόριθμος γιατί το πρόβλημα να μετρήσω από το 1 μέχρι το 11 ανά δύο δεν είναι πρόβλημα που η λύση του δεν είναι γνωστή ούτε προφανής!!!
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Laertis στις 14 Οκτ 2008, 05:32:00 ΜΜ
Παράθεση από: sstergou στις 14 Οκτ 2008, 05:14:18 ΜΜ
Νομίζω ότι κάνουμε κύκλους πάλι.

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

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

Αν απαντηθεί αυτό νομίζω μετά πρέπει να μας βασανίσει το ερώτημα για τη Ζωή το Σύμπαν και τα Πάντα, ε Άλκη;  8)

Μη βιάζεσαι Στάθη, έχουμε να πιάσουμε και το κριτήριο της εξόδου και της αποτελεσματικότητας. Εκεί να δεις .... :D
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 05:37:52 ΜΜ
Η έννοια του αλγορίθμου σχετίζεται με την έννοια του προβλήματος (γενική κατάσταση με όχι γνωστή και προφανή λύση). Αν το λάβουμε αυτό υπόψη πιστεύω θα σταματήσουμε να δίνουμε παραδείγματα που ουσιαστικά με κάτι που έχει την μορφή αλγορίθμου ουσιαστικά δεν λύνουμε προβλήματα γι αυτό και εκφυλίζονται τελικά σε κάτι με μορφή αλγόριθμου χωρίς <-- και χωρίς διάβασε άρα παραβιάζουν το κριτήριο της εισόδου (παραβιάζουν το κριτήριο της εισόδου δεν σημαίνει καμμία είσοδος) άρα όχι σωστός αλγόριθμος.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: sstergou στις 14 Οκτ 2008, 05:47:58 ΜΜ
Παράθεση από: Σούλας Βασίλειος στις 14 Οκτ 2008, 05:37:52 ΜΜ
Αν το λάβουμε αυτό υπόψη πιστεύω θα σταματήσουμε να δίνουμε παραδείγματα που ουσιαστικά με κάτι που έχει την μορφή αλγορίθμου ουσιαστικά δεν λύνουμε προβλήματα γι αυτό και εκφυλίζονται τελικά σε κάτι με μορφή αλγόριθμου χωρίς <-- και χωρίς διάβασε άρα παραβιάζουν το κριτήριο της εισόδου (αυτό δεν σημαίνει καμμία είσοδος)

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

Αυτό σημαίνει ότι δεν είναι σωστοί ή ότι δεν λύνουν κάποιο πρόβλημα;

Γιώργο, δεν έχει συζητηθεί ακόμη τι είναι δεδομένο ή μήπως κάνω λάθος  :)
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 06:04:33 ΜΜ
Αλγόριθμος σύστημα3επι2
α1<--3
β1<--6
γ1<--9.3
α2<--3.8
β2<--6
γ2<---2.3
α3<--3
β3<--6
γ3<---9.3
.
.
.
.
.
Τέλος

Ο παραπάνω είναι ένας αλγόριθμος που λύνει ένα σύστημα εξισώσεων 3Χ2 (δεν τον έκανα ολόκληρο). Η λύση του συγκεκριμένου προβλήματος δεν είναι γνωστή ούτε προφανής. Άρα οποιοσδήποτε είχε να λύσει ένα τέτοιο πράγμα επειδή εμπίπτει στον ορισμό του προβλήματος θα χρησιμοποιούσε ένα αλγόριθμο με <-- και όχι τον εκφυλισμένο γιατί για να γράψει τον εκφυλισμένο τότε θα έπρεπε να το λύσει στο χαρτί πριν (αλγόριθμος με ελεύθερο κείμενο όπου αντί για βελάκια το =) (μη προφανής η λύση που λέγαμε). Αλλά το να μετράω από το 1 μέχρι το 11 δεν είναι πρόβλημα με μη προφανή λύση για αυτό και χωρίς να φτιάξω κάτι στο χαρτί γράφω τον εκφυλισμένο

Αλγόριθμος μέτρημα
Εμφάνισε '1'
Εμφάνισε '3'
Εμφάνισε '5'
Εμφάνισε '7'
Εμφάνισε '9'
Εμφάνισε '11'
Τέλος

ʼρα πάντα εξετάζουμε την έννοια του αλγορίθμου σε σχέση με το πρόβλημα το οποίο χρονικά προηγείται της κατασκευής του αλγορίθμου. Ο αλγόριθμος για να είναι σωστός πρέπει να επιλύει προβλήματα (όχι γνωστή και μη προφανής λύση). Προβλήματα με γνωστή λύση ή προφανή λύνονται με κάτι που έχει την μορφή αλγορίθμου χωρίς διάβασε χωρίς <-- άρα παραβιάζουν το κριτήριο της εισόδου και ουσιαστικά δεν είναι σωστοί αλγόριθμοι.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: sstergou στις 14 Οκτ 2008, 06:31:31 ΜΜ
Και τι θεωρείται προφανές;
Κάτι που είναι προφανές για σένα μπορεί εγώ να μην το καταλαβαίνω. Είναι δυνατόν αυτό να αποτελέσει κριτήριο για το αν ένας αλγόριθμος έχει είσοδο ή όχι;

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

Για το πρόβλημα βρες την τετραγωνική ρίζα του 8475; Δεν νομίζω η λύση να είναι προφανής.
Και όμως μπορείς να γράψεις Εμφάνισε Τ_Ρ(8475).
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 06:55:05 ΜΜ
ΠαράθεσηΚαι τι θεωρείται προφανές;
Κάτι που είναι προφανές για σένα μπορεί εγώ να μην το καταλαβαίνω. Είναι δυνατόν αυτό να αποτελέσει κριτήριο για το αν ένας αλγόριθμος έχει είσοδο ή όχι;

Προφανής λύση είναι να λύσω παράδειγμα  το εξής πρόβλημα. Να γραφεί ένας αλγόριθμος που να μετρά από το 1 μέχρι το 10. Συμφωνείς;
Μπορείς κατευθείαν να γράψεις τον ''αλγόριθμο'' αυτό με κωδικοποίηση χωρίς καμμία άλλη ενέργεια; Χρειάζεσαι βελάκια; Πιστεύω όχι. Άρα ούτε βελάκια ούτε διάβασε άρα παραβίαση του κριτηρίου εισόδου.

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

έχουν ουσιαστικό λόγο ύπαρξης γιατί έχω ένα πρόβλημα με γνωστή λύση αλλά μη προφανή. εαν σου δώσω ένα σύστημα 3 επι 2 μπορείς να γράψεις κατευθείαν αλγόριθμο με εμφάνιση της λύσης (όχι σχηματισμό της λύσης μέσα στην εμφάνισε) χωρίς προηγουμένως στο χαρτί να το λύσεις (άρα αλγόριθμο πάλι με =); Όχι. ʼρα θα χρησιμοποιήσεις <-- και θα γράψεις την λύση.

ΠαράθεσηΓια το πρόβλημα βρες την τετραγωνική ρίζα του 8475; Δεν νομίζω η λύση να είναι προφανής.
Και όμως μπορείς να γράψεις Εμφάνισε Τ_Ρ(8475).

Συμφωνώ. Καλείς την συνάρτηση Τ_Ρ από την βιβλιοθήκη που μέσα της περιέχει <-- και όχι διάβασε. ʼρα ικανοποιεί το κριτήριο της εισόδου γιατί έχει καμμία είσοδο.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: sstergou στις 14 Οκτ 2008, 07:08:32 ΜΜ
Δεν μπορώ να καταλάβω γιατί η συνάρτηση Τ_Ρ έχει εκχώρηση.
Η είσοδός της συνάρτησης στην ψευδογλώσσα το πιο πιθανό είναι να γίνεται με την δεσμευμένη λέξη Δεδομένα. Αλλά δεν μιλάμε για την είσοδο της συνάρτησης μιλάμε για αυτή του υποτιθέμενου αλγορίθμου που λύνει το πρόβλημα "βρες τη ρίζα ...". Άλλο παράδειγμα

"Υπολόγισε τον κύβο του αριθμού 1234,11345".
Τώρα έχουμε : Εμφάνισε 1234,11345^3

Δεν βλέπω όμως να βγάζουμε άκρη..
Συμφωνώ ότι διαφωνούμε :)

Για όλα τα παραπάνω μπορώ να θέσω ένα επιχείρημα, για αυτό όμως δεν έχω τίποτε να πω, ειλικρινά δεν το χωράει το μυαλό μου!!
Παράθεση από: Σούλας Βασίλειος στις 14 Οκτ 2008, 06:55:05 ΜΜ
ʼρα ικανοποιεί το κριτήριο της εισόδου γιατί έχει καμμία είσοδο.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 07:11:47 ΜΜ
Προβλήματα με προφανή λύση είναι αυτά που ακούγοντας την εκφώνηση κατευθείαν μπορείς να εμφανίσεις την λύση (όχι να την σχηματίσεις μέσα στην Εμφάνισε). Αν το πρόβλημα δεν έχει προφανή λύση για να το λύσεις στατικά (π.χ μια συγκεκριμένη δευτεροβάθμια εξίσωση χρειάζεσαι <-- στον αλγόριθμο και όχι διάβασε άρα καμμία είσοδο) και για να το λύσεις δυναμικά χρειάζεσαι και <-- και διάβασε και συγκεκριμένα 3 διάβασε (3 εισόδους). Άρα οι αλγόριθμοι που λύνουν προφανή προβλήματα είναι αυτοί που παραβιάζουν το κριτήριο εισόδου.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 07:15:22 ΜΜ
Για ποιό λόγο το παραβιάζω το κριτήριο εισόδου το θεωρείτε είναι καμμία είσοδος; Παραβιάζω το κριτήριο εισόδου σημαίνει ότι ένα πρόβλημα με προφανή λύση δεν χρειάζεται σωστό αλγόριθμο για να λυθεί!!!!!!
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: sstergou στις 14 Οκτ 2008, 07:32:14 ΜΜ
Εκχώρηση χρειάζεσαι για να υπολογίσεις κάτι και όχι απαραίτητα για να δηλώσεις την είσοδο στον αλγόριθμό σου.

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

Το τελευταίο παράδειγμα που έγραψα έχει μασκαρεμένη εκχώρηση αφού χρησιμοποιεί έκφραση μέσα στην Εμφάνισε; Αυτό εννοείς;
Η λύση του πάντως δεν είναι γνωστή ούτε προφανής, αν και για το τελευταίο κάποιος μπορεί να έχει αντίθετη γνώμη.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 08:13:58 ΜΜ
Είσοδος είναι οτιδήποτε μπορεί να μεταβάλλει τα αποτελέσματα του αλγορίθμου από το ΄΄εξωτερικό΄΄ περιβάλλον του αφού έχει προηγουμένως ξεκινήσει η εκτέλεσή του. Αυτή είναι η έννοια της εισόδου στα καθολικά συστήματα (έχει δυναμική έννοια η είσοδος). Άρα στους αλγορίθμους είσοδο έχουμε με την εντολή εισόδου διάβασε ή //Δεδομένα//. ʼρα σε ένα αλγόριθμο με τρεις διάβασε έχουμε 3 εισόδους. Ποια είναι η σκοπιμότητα των αλγορίθμων; Να λύνουν προβλήματα και πρόβλημα είναι μια κατάσταση που η λύση δεν είναι γνωστή και προφανής. Τώρα ας εξετάσουμε το κριτήριο του σωστού αλγορίθμου Είσοδος σε σχέση με τα προβλήματα που έχουμε να λύσουμε. Το κριτήριο της εισόδου αναφέρεται όχι με την έννοια της ύπαρξης ή όχι εισόδου, αλλά αν ικανοποιήται ή όχι το συγκεκριμένο κριτήριο. Ικανοποιήται όταν έχω καμμία, μια η παραπάνω εισόδους και δεν ικανοποιήται με το όχι καμμία και όχι μια ή παραπάνω εισόδους.(συμπλήρωμα). ʼρα έχοντας ένα πρόβλημα με όχι γνωστή λύση και μη προφανή π.χ. δευτεροβαθμια εξίσωση αν το λύσω δυναμικά θα πρέπει να χρησιμοποιήσω διάβασε άρα ικανοποιήται το κριτήριο της εισόδου (έχω 3 εισόδους), αν το λύσω στατικά δηλαδή με συγκεκριμένους συντελεστές δεν έχω διάβασε αλλά θα χρησιμοποιήσω απαραίτητα <-- (απαραίτητα γιατί η λύση δεν είναι προφανής, κάποιος μπορεί να πει ότι το λύνω στο χαρτί και κατευθείαν με εμφάνισε το γράφω στον αλγόριθμο, αυτό είναι το ίδιο έγραψες αλγόριθμο σε μορφή κειμένου και χρησιμοποίησες το = στο χαρτί και μετά το χρησιμοποίησες ή κάποιος μπορεί να πεί ότι σχηματίζω την λύση κατευθείαν στην εμφάνισε αλλά και αυτό είναι το ίδιο δεν είναι προφανής η λύση). ʼρα καμμία είσοδος σημαίνει λύνω στατικά ένα πρόβλημα με όχι γνωστή και μη προφανή λύση φτιάχνοντας αλγόριθμο χωρίς διάβασε αλλά με <--). ʼρα ο αλγόριθμος είναι σωστός γιατί ικανοποιεί το κριτήριο της εισόδου γιατί έχει καμμία. Τώρα αν έχουμε εκφωνήσεις προβλημάτων με προφανή λύση τότε δεν θέλουμε ούτε διάβασε και ούτε <--, άρα όχι καμμία και ούτε μια η περισσότερες είσοδοι, άρα παραβίαση του κριτηρίου της εισόδου.
Π.χ.
Να γραφτεί αλγόριθμος που να μετρά από το 1 μέχρι το 11 ανα 2.

Αλγόριθμος μέτρημα
Εμφάνισε ΄1΄
Εμφάνισε ΄3΄
Εμφάνισε ΄5΄
Εμφάνισε ΄7΄
Εμφάνισε ΄9΄
Εμφάνισε ΄11΄
Τέλος

Να γραφτεί αλγόριθμος που να εμφανίζει το μήνυμα καλημέρα

Αλγόριθμος μήνυμα
Εμφάνισε ΄Καλημέρα΄
Τέλος

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

Αν κάποιος γράψει

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

Θα ρωτήσω το εξής. Το πρόβλημα προηγήται της δημιουργίας του αλγορίθμου. Ποιό πρόβλημα επιλύει ο συγκεκριμένος αλγόριθμος; Να γραφτεί αλγόριθμος που να διαβάζει ένα αριθμό και να τον εμφανίζει. Αυτό είναι πρόβλημα όπου η λύση δεν είναι γνωστή και προφανής;ʼρα ποτέ δεν πρέπει να εξετάζουμε ένα αλγόριθμο αποκομμένο από το πρόβλημα.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 14 Οκτ 2008, 09:24:27 ΜΜ
Συγνώμη εγώ θέλω όταν ξυπνάω ο υπολογιστής να μου γράφει καλημερά .
Το πρόβλημά μου είναι πώς θα μου γράφει καλημέρα όταν ανοίγει ο υπολογιστής. Πληρώνω έναν προγραμματιστή και μου γράφει το πρόγραμμα

Αλγόριθμος κδξφ
εμφάνισε 'καλημέρα'.
τέλος κδξφ

Τρομερό! Για μένα έλυσε το πρόβλημα της ζωής μου.


Δεν μπορούμε να χαρακτηρίζουμε κάτι ότι δεν είναι αλγόριθμος επειδή δεν έχει είσοδο από τον χρήστη. Αφού φτάνει με συγκεκριμένα βήματα στη λύση του προβλήματος που για κάποιον η λύση είναι πολύ χρήσιμη.
Μην προσβάλουμε λοιπόν το πρόβλημα και αυτόν που το έχει :).  Αν το πρόβλημα είναι να εμφανιστεί καλημέρα θα γράψω τον παραπάνω αλγόριθμο. Ικανοποιεί το κριτήριο της εισόδου;  Για εμένα ναι, αφού είναι αλγόριθμος. Άχρηστος μπορεί, κουτός μπορεί, μπορούσε να γινόταν καλύτερα μπορεί, είναι όμως αλγόριθμος.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 09:39:19 ΜΜ
Κώστα μαζί σου. Συμφωνώ. είναι αλγόριθμος ο οποίος δεν ικανοποιεί το κριτήριο εισόδου τόσο απλό είναι!!!! Άλλωστε για αυτό ονομάζονται κριτήρια σωστού αλγορίθμου. Το πως λέγεται ένας αλγόριθμος που δεν είναι ΄΄σωστός΄΄ μπορείς να τον πεις όπως τον λες αλλά σωστό αλγόριθμο δεν μπορείς να τον πεις. Και αλγόριθμο τον λες. 8)
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 14 Οκτ 2008, 09:52:11 ΜΜ
Δεν λέει όμως το βιβλίο κριτήρια σωστού αλγόριθμου λέει απλά κριτήρια αλγόριθμου. Και εγώ καταλαβαίνω όποιος δεν τα ικανοποιεί ότι δεν είναι αλγόριθμος όχι ότι είναι ένας μη σωστός αλγόριθμος.

Και γιατί δεν είναι σωστός αλγόριθμος. Αφού λύνει το πρόβλημά μου; Άρα το ίδιο το πρόβλημα έχει πρόβλημα όχι ο αλγόριθμος.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: P.Tsiotakis στις 14 Οκτ 2008, 09:54:26 ΜΜ
κάθε αλγόριθμος πρέπει απαραίτητα να πληρεί το κριτήριο της εισόδου  :D  ::)  >:D
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Laertis στις 14 Οκτ 2008, 10:49:25 ΜΜ
Πρέπει κάποια στιγμή να εξετάσουμε αν αυτή η κουβέντα ικανοποιεί το κριτήριο της περατότητας ..... :D ;D
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: evry στις 14 Οκτ 2008, 10:56:26 ΜΜ

  Δεν υπάρχουν σωστοί και λάθος αλγόριθμοι αλλά αλγόριθμοι και υπολογιστικές διαδικασίες. Τουλάχιστον αυτό λέει το βιβλίο και αυτό αναφέρεται γενικά στη βιβλιογραφία.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Σούλας Βασίλης στις 14 Οκτ 2008, 11:08:48 ΜΜ
Να γραφεί αλγόριθμος που να διαβάζει την βάση και το ύψος ενός τριγώνου και υπολογίζει το εμβαδό του.

Αλγόριθμος τρίγωνο
Εμφάνισε 'Δώσε την βάση του τριγώνου'
Διάβασε βάση
Εμφάνισε 'Δώσε το ύψος του τριγώνου'
Διάβασε ύψος
Ε<--Τ_Ρ((βάση*ύψος/2)^3) !???????????????
Εμφάνισε 'Το εμβαδό είναι:',Ε
Τέλος

Ερωτήματα : Είναι αλγόριθμος; Αν ναι το κριτήριο της αποτελεσματικότητας που είναι; Λύνει το πρόβλημα μου;

Η αποψή μου. Είναι αλγόριθμος αν τον δεις απλά σαν κώδικα αλλά αν τον δεις σε σχέση με το πρόβλημα που καλείται να επιλύσει δεν είναι σωστός. Το σωστός έχει το νόημα αν με το πρόβλημα που πάει σετ το επιλύει (αποτελεσματικότητα). Δεν πρέπει να βλέπουμε τον κώδικα απλά ξεκομένο από το πρόβλημα. Η άποψη είναι ότι στο βιβλίο έπρεπε να γράφει κριτήρια σωστού αλγορίθμου. Το σωστού με την έννοια ότι ελέγχω αυτά τα κριτήρια όχι νέτα σκέτα πάνω στο κώδικα αλλά σε σχέση με το πρόβλημα. Ο αλγόριθμος είναι αλληλένδετος με το πρόβλημα που επιλύει. Άλλωστε η αποτελεσματικότητα μόνο έτσι ελέγχεται.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 14 Οκτ 2008, 11:29:14 ΜΜ
ΠαράθεσηΔεν πρέπει να βλέπουμε τον κώδικα απλά ξεκομένο από το πρόβλημα.
Αυτό είναι σωστό. Έρχεσαι στα λόγια μου.


Αποτελεσματικότητα; Λέω είναι πολύ αργά για τέτοια κουβέντα. :).
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: alkisg στις 15 Οκτ 2008, 12:02:20 ΠΜ
Η αποτελεσματικότητα ορίζεται σε επίπεδο λειτουργίας, όχι σε επίπεδο αλγορίθμου:
https://alkisg.mysch.gr/steki/index.php?topic=29.msg8748#msg8748

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

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

Οποιοδήποτε πρόγραμμα μπορεί να εκτελεστεί από υπολογιστή, ικανοποιεί εξ' ορισμού την αποτελεσματικότητα, ανεξάρτητα από το αν λύνει κάποιο πρόβλημα, από το αν το λύνει λάθος κτλ.
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: ntzios kostas στις 15 Οκτ 2008, 08:29:16 ΠΜ
ΠαράθεσηΟποιοδήποτε πρόγραμμα μπορεί να εκτελεστεί από υπολογιστή, ικανοποιεί εξ' ορισμού την αποτελεσματικότητα, ανεξάρτητα από το αν λύνει κάποιο πρόβλημα, από το αν το λύνει λάθος κτλ.
Ειλικρινά χαίρομαι που συμφωνούμε 8)
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Petros στις 21 Σεπ 2009, 04:00:27 ΜΜ
Παράθεση από: Τσιωτάκης Παναγιώτης στις 14 Οκτ 2008, 09:54:26 ΜΜ
κάθε αλγόριθμος πρέπει απαραίτητα να πληρεί το κριτήριο της εισόδου  :D  ::)  >:D


σωστά αφού σαφώς αναφέρεται ανάμεσα στα κριτήρια που οφείλει να πληρεί κάθε αλγόριθμος. Βέβαια ο ορισμός του κριτηρίου παρακάτω, απλώς το καθιστά αδύνατο να μην μπορεί να τηρηθεί! η είσοδος είναι πεπερασμένος αριθμός δεδομένων. Το "0 1 ή και περισσότερα" απλώς περιλαμβάνει οποιαδήποτε δυνατή περίπτωση!
   
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Νίκος Αδαμόπουλος στις 21 Σεπ 2009, 09:02:53 ΜΜ
Παράθεση...που οφείλει να πληροί κάθε αλγόριθμος...
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Petros στις 23 Σεπ 2009, 08:55:16 ΠΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 21 Σεπ 2009, 09:02:53 ΜΜ
Παράθεση...που οφείλει να πληροί κάθε αλγόριθμος...

ο debuger χτύπησε...   :D
Τίτλος: Απ: Εισοδος Αλγορίθμου
Αποστολή από: Νίκος Αδαμόπουλος στις 23 Σεπ 2009, 09:32:25 ΠΜ
Παράθεση από: Petros στις 23 Σεπ 2009, 08:55:16 ΠΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 21 Σεπ 2009, 09:02:53 ΜΜ
Παράθεση...που οφείλει να πληροί κάθε αλγόριθμος...

ο debuger χτύπησε...   :D

?