Κριτήριο εξόδου

Ξεκίνησε από nikosxatz, 01 Απρ 2014, 07:11:30 ΜΜ

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

nikosxatz

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

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


tdrivas

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

  • Εμφάνισε
  • Εκτύπωσε
  • Γράψε
  • Αποτέλεσματα
δεν υφίσταται ΕΞΟΔΟΣ.
Thanassis Drivas
BSc in Computer Science
MSc in Space Science Applications and Technologies
https://github.com/tdrivas

nikosxatz

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

petrosp13

Νομίζουμε ότι διυλίζουμε τον κώνωπα...
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Gnirut

Ποιο πρόβλημα επιλύει ο αλγόριθμος ΤΕΣΤ; Κανένα.
Άρα δεν είναι αλγόριθμος, είναι μια σκέτη εντολή εισόδου.

evry

Η εντολή getch() στη C κάνει το ίδιο. Διαβάζει έναν χαρακτήρα και δεν υπολογίζει ή επιστρέφει κάτι. Και όμως είναι πολύ χρήσιμη. Λύνει κάποιο πρόβλημα. Είναι άραγε αλγόριθμος?
Επίσης με βάση το βιβλίο μπορεί να έχουμε αλγόριθμο χωρίς είσοδο.

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



What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

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

Παράθεση από: evry στις 02 Απρ 2014, 11:27:49 ΠΜ
Στα πλαίσια του βιβλίου η συζήτηση αυτή δεν έχει νόημα. Τα μόνα κριτήρια που μπορεί να ζητηθούν είναι της περατότητα και της καθοριστικότητας. Όλα τα υπόλοιπα έχουν πρόβλημα έτσι όπως δίνονται στο βιβλίο.

+1

Gnirut

Παράθεση από: evry στις 02 Απρ 2014, 11:27:49 ΠΜ
Στα πλαίσια του βιβλίου η συζήτηση αυτή δεν έχει νόημα.

Ίσα ίσα μόνο στα πλαίσια του βιβλίου (με τον "συμβολαιογραφικό" ορισμό του αλγόριθμου) έχει αυτή η συζήτηση νόημα.

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

Στα πλαίσια του βιβλίου λοιπόν ο ΤΕΣΤ πληροί (σε ...φιλοσοφικό επίπεδο) όλα τα κριτήρια του βιβλίου:

1) Έχει καμμία είσοδο
2) Έχει έξοδο την τιμή που θα εισάγει ο χρήστης (η οποία βάσει του βιβλίου θα μπορούσε να αποτελεί αποτέλεσμα προς κάποιον άλλον αλγόριθμο).
3) Όλες οι εντολές είναι καθορισμένες.
4) Ο "αλγόριθμος" τελειώνει με την είσοδο του Α από το χρήστη (η περίπτωση ο χρήστης να είναι "πονηρός" και να μην εισάγει ποτέ κάποιο δεδομένο δεν ισχύει γιατί αν είναι έτσι όποιος αλγόριθμος έχει ΔΙΑΒΑΣΕ δεν θα είναι αλγόριθμος γιατί δεν θα ισχύει η περατοτητα...)
5) Κάθε μεμονωμένη εντολή είναι απλή και εκτελέσιμη.

alkisg

Παράθεση από: Gnirut στις 02 Απρ 2014, 02:00:43 ΜΜ
2) Έχει έξοδο την τιμή που θα εισάγει ο χρήστης (η οποία βάσει του βιβλίου θα μπορούσε να αποτελεί αποτέλεσμα προς κάποιον άλλον αλγόριθμο).

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

Άρα ο παραπάνω κώδικας δεν έχει έξοδο.

Για το αν είναι αλγόριθμος ή όχι, no comment... :)

Gnirut

Παράθεση από: alkisg στις 02 Απρ 2014, 02:13:11 ΜΜ
Δεν είναι όλες οι μεταβλητές των αλγορίθμων αυτόματα και αποτελέσματα.

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

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

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

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

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

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

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

Gnirut

Επεκτείνοντας, π.χ. τα παρακάτω είναι αλγόριθμοι:
Αλγόριθμος Εξίσωση
  Εμφάνισε "Βάλε τον συντελεστή της εξίσωσης χ+α=0: "
  Διαβασε α
  χ <-- -α
  Εμφάνισε χ
Τέλος Εξίσωση


Αλγόριθμος Εξίσωση
  Εμφάνισε "Βάλε τον συντελεστή της εξίσωσης χ+α=0: "
  Διαβασε α
  χ <-- -α
  Αποτελέσματα // χ //
Τέλος Εξίσωση



το παρακάτω είναι αλγόριθμος ή δεν είναι;

Αλγόριθμος Εξίσωση
  Εμφάνισε "Βάλε τον συντελεστή της εξίσωσης χ+α=0: "
  Διαβασε α
  χ <-- -α
Τέλος Εξίσωση


το παρακάτω;

Αλγόριθμος Εξίσωση
  Διαβασε α
  χ <-- -α
Τέλος Εξίσωση

nikosxatz

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

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

evry

Παράθεση από: Gnirut στις 02 Απρ 2014, 02:00:43 ΜΜ
Σε επίπεδο "αλγοριθμικής" η συζήτηση δεν έχει κανένα νόημα γιατί ο αλγόριθμος ΤΕΣΤ δεν επιλύει κανένα χρήσιμο πρόβλημα
Σου έγραψα πριν για τη συνάρτηση getch() στη C η οποία κάνει το ίδιο με την ΤΕΣΤ και θα έλεγα ότι είναι εξαιρετικά χρήσιμη και λύνει πολλά προβλήματα αλλά μάλλον το αγνόησες

Παράθεση
Σε επίπεδο ψευδογλώσσας (σε ψευδογλώσσα είναι γραμμένος ο ΤΕΣΤ) δεν υπάρχει στο βιβλίο συγκεκριμένος τρόπος να περάσει κανείς δεδομένα από έναν αλγόριθμο σε κάποιον άλλον (παρ'ολο που το βιβλίο αναφέρει στο κριτήριο της Εξόδου ότι γίνεται).
Κάνεις λάθος. Προφανώς και υπάρχει τρόπος να περάσεις δεδομένα από έναν αλγόριθμο σε έναν άλλον. Η κλήση της Αντιμετάθεσε τι είναι? δεν είναι κλήση αλγορίθμου? δεν περνάς ως παραμέτρους τα στοιχεία που θα αντιμεταθέσεις?
Δες και στη σελίδα 86 του βιβλίου την δυαδική αναζήτηση που έχει κλήση αλγορίθμου από αλγόριθμο.
Άλλωστε στο στέκι έχει ξαναειπωθεί ότι τα Δεδομένα/Αποτελέσματα αναφέρονται στη λίστα παραμέτρων του υποπρογράμματος που κωδικοποιεί τον αλγόριθμο
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

evry

Προφανώς αναφέρεσαι σε παρενέργειες των υποπρογραμμάτων, (side effects). Αυτές όμως έχουν νόημα όταν τα αντικείμενα στα οποία συμβαίνουν είναι μόνιμα (static, global). Το πρόβλημα με το παράδειγμά σου είναι ότι όταν μπω στο δωμάτιο (κλήση διαδικασίας) ότι και να κάνω (αλλαγή τοπικών μεταβλητών) θα χαθεί όταν κλείσω την πόρτα. Ο επόμενος που θα μπει δεν θα βρει τίποτα. Αν δε χαθεί σημαίνει ότι το υποπρόγραμμα επικοινωνεί με κάποια εξωτερική οντότητα άρα έχει έξοδο.

Παράθεση από: nikosxatz στις 02 Απρ 2014, 05:06:08 ΜΜ
Κατά την άποψη μου οποιαδήποτε ενέργεια μεταβάλει τη κατάσταση του περιβάλλοντος είναι έξοδος. Αν μπει κάποιος σε ένα δωμάτιο και βγει χωρίς να κάνει απολύτως τίποτα δεν είναι αλγόριθμος. Αν όμως μπει μετακινήσει μια καρέκλα ή βάλει κάτι σε ένα συρτάρι τότε έχει έξοδο διότι ο επόμενος που θα μπει θα βρει κάτι αλλαγμένο ή κάποια επιπλέον πληροφορία (αυτή μέσα στο συρτάρι)!

Νομίζω ότι έχουμε ξανα-αναφέρει ότι τα "λεγόμενα" κριτήρια αλγορίθμων είναι λάθος μετάφραση των features του Knuth, για αυτό και η συζήτηση δεν έχει νόημα.
Αυτό άλλωστε φαίνεται ξεκάθαρα όταν το βιβλίο λέει ότι ο αλγόριθμος πρέπει να έχει το χαρακτηριστικό της είσοδου, και μετά λέει ότι μπορεί να μην έχει και είσοδο. Τι σοι κριτήριο είναι αυτό?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

nikosxatz

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

Παρεπιπτώντως η συνάρτηση getch() επιστρέφει τον ASCII κωδικό του χαρακτήρα που πατήθηκε.

Gnirut

Το κεφ.4 είναι εκτός ύλης.

Το αντιμετάθεσε στη σελίδα 68 αναφέρεται ως εντολή και επί της ουσίας χρησιμοποιείται σαν macro ή inline code αν θέλεις και όχι σαν μέθοδος κλήσης άλλου αλγόριθμου.
Άλλωστε ο τρόπος κλήσης δεν είναι σαφής όπως στο κεφ.4 που είναι διαφορετικός.

Τη χρησιμότητα του getch εννοείς σαν εντολή τύπου pause; Δεν παύει να είναι μια εντολή και όχι αλγόριθμος.

evry


Παράθεση
Παρεπιπτώντως η συνάρτηση getch() επιστρέφει τον ASCII κωδικό του χαρακτήρα που πατήθηκε.
ναι αλλά σπάνια χρησιμοποιείται για αυτό, δες και στην περιγραφή της, η χρήση της είναι να "τρώει" έναν χαρακτήρα, να τον αγνοεί. στα περισσότερα προγράμματα χρησιμοποιείται για αυτό, όπως π.χ. στο παρακάτω:
Κώδικας: C
#include<stdio.h>
#include<conio.h>
main()
{
          clrscr();
          int a,b;
          printf("Enter any two numbers\n");
         scanf("%d%d",&a,&b);
         printf("Please press any key to view out out\n");
         getch();
         clrscr();
         printf("The sum of the numbers you entered is %d",a+b);
         getch();
}

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

evry

#17
Παράθεση από: Gnirut στις 02 Απρ 2014, 06:10:48 ΜΜ
Το κεφ.4 είναι εκτός ύλης.
άρα τι? είναι λάθος? ή είναι λάθος ή σωστό δεν υπάρχει κάτι άλλο.

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

Αν ακολουθείς το ΑΠΣ είσαι εντάξει, άρα το επιχείρημα περί ύλης δεν ισχύει. Ένα βιβλίο δεν μπορεί να περιέχει αντιφάσεις.

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

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

nikosxatz

H συνάρτηση getch() δεν είναι καν συνάρτηση της C!!!!!! Δεν υπάρχει σε ΚΑΝΕΝΑ πρότυπο της γλώσσας και απλά υποστηρίζεται από κάποιους compilers (βλέπε την αρχαία turbo C) ενάντια σε κάθε Standard! Δεν λέω βολεύει αλλά δεν είναι C!
H αντίστοιχη της ANSI C είναι η getchar() με πρότυπο int getchar(void) και επιστρέφει επίσης τον ASCII κωδικό του χαρακτήρα. Δεν έχει την ίδια λειτουργικότητα με τη getch() αλλά δυστυχώς είναι η μοναδική που διαθέτει η ANSI C.
Σε κάθε περίπτωση η χρήση είτε της μιας είτε της άλλης, απλά για να για να "φρενάρει" την εκτέλεση του προγράμματος, δεν αναιρεί το πρότυπο ούτε τη χρήση για την οποία έχει σχεδιαστεί.

apoldem

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

evry

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

void getch()

Δεν επιστρέφει τίποτα αλλά εσωτερικά διαβάζει το επόμενο keystroke που πάτησε ο χρήστης έτσι ώστε μόλις πατήσει κάποιος enter για να δει τα αποτελέσματα να μην κλείνει το παράθυρο.
Θυμίζω την readkey της pascal που την χρησιμοποιούσαμε σε command prompt.

Τώρα αυτή η συνάρτηση που όρισα κάνει κάτι χρήσιμο ναι ή όχι? εχει εξοδο?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

nikosxatz

Όχι έτσι που το θέτεις δεν έχει έξοδο! Αλλά δεν καταλαβαίνω τι σχέση έχει με το αρχικό post!

evry

ακριβως.
κάνει όμως κάτι χρήσιμο, μαζεύει τα σκουπίδια του input.
το αν θα το βαφτίσουμε αλγόριθμο είναι απλά θέμα ορισμού
Παράθεση από: nikosxatz στις 02 Απρ 2014, 09:10:35 ΜΜ
Όχι έτσι που το θέτεις δεν έχει έξοδο!
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

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

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

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

Τι ρόλο παίζει το μαύρο κουτί, αν όχι για να κρύψει τις εσωτερικές μεταβλητές, τον τρόπο υλοποίησης κλπ, από τα άλλα κομμάτια κώδικα; (και για το κυρίως πρόγραμμα, και από τον χρήστη; )
Δομημένος προγραμματισμός σημαίνει ότι πρέπει να μπορούμε να αναθέσουμε στον προγραμματιστή Α να υλοποιήσει τον αλγόριθμο Α,
και στον προγραμματιστή Β να υλοποιήσει τον αλγόριθμο Β ο οποίος όμως να καλεί τον αλγόριθμο Α,
και να μην μας νοιάζει καθόλου το τι εσωτερικές μεταβλητές έχει ο Α.
Να μας νοιάζει μόνο η είσοδος και η έξοδός του, δηλαδή η λίστα παραμέτρων του (ή, ανάλογα με τις συμβάσεις, τα "δεδομένα" ή "αποτελέσματά" του).
Αν ο προγραμματιστής του αλγορίθμου Α έπρεπε να δώσει στον Β όλη τη λίστα με τις 100 εσωτερικές μεταβλητές που χρησιμοποιεί, τους μετρητές, τους αθροιστές κλπ, επειδή τις μετέβαλλε και άρα θα θεωρούνταν έξοδος,
ο προγραμματιστής Β θα γούρλωνε τα μάτια και θα παραιτούνταν, δεν θα μπορούσε να γίνει καμία συνεργασία μεταξύ τους, δεν θα υπήρχε δομημένος προγραμματισμός.

Έξοδος είναι αυτά που είπε ο morfeus παραπάνω.

Gnirut

#24
Για να πάρουμε τα πράγματα από την αρχή.

Ο αλγόριθμος ΤΕΣΤ, είναι ...αλγόριθμος και είναι διατυπωμένος σε αυτό που ορίζει το βιβλίο ως "Ψευδογλώσσα". Δεν είναι δηλαδή πρόγραμμα.

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

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

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

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

Αλγόριθμος Εξίσωση
  Διαβασε α
  χ <-- -α
Τέλος Εξίσωση