Διαφωνια στο διαγραμμα ροης

Ξεκίνησε από agelos, 28 Οκτ 2008, 09:39:17 ΠΜ

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

evry

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

Κώδικας: ΓΛΩΣΣΑ
Αλγόριθμος Τετράγωνα
   Διάβασε πλήθος
   Σ <- 0
   Για α από 1 μέχρι πλήθος
       Σ <- Σ + α^2
   Τέλος_Επανάληψης
   Αποτέλεσμα <- Σ
   Εμφάνισε Αποτέλεσμα


και ας αφαιρέσουμε τις εντολές εισόδου/εξόδου, θα πάρουμε το παρακάτω
Κώδικας: ΓΛΩΣΣΑ
Αλγόριθμος Τετράγωνα
   πλήθος <- 100
   Σ <- 0
   Για α από 1 μέχρι πλήθος
       Σ <- Σ + α^2
   Τέλος_Επανάληψης
   Αποτέλεσμα <- Σ


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

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

Τώρα αν δεν σε έπεισα με τα παραπάνω με αναγκάζεις να κάνω αυτό που είναι η τελευταία επιλογή μου (και η χειρότερη) να επικαλεστώ δηλαδή το σχολικό βιβλίο.
Είπες ότι
Παράθεση από: agelos στις 29 Οκτ 2008, 06:00:23 ΜΜ
δεν πληρείται το κριτήριο της εξόδου γιατί δημιουργείται μεν κάποιο αποτέλεσμα αλλά όχι πρός στον χρήστη (σελ. 26 σχολικού βιβλίου).
Το βιβλίο όμως δε λέει ακριβώς αυτό, λέει το παρακάτω

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

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

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

agelos

#16
Δεν είναι το σκεπτικό μου Ευριπίδη.Είναι η θεωρία του βιβλίου.
"Εσύ λες ότι αν δεν εμφανίζει το αποτέλεσμα δεν είναι αλγόριθμος."
Δεν το λέω εγώ.Το βιβλίο το λέει.

Αλγόριθμος Τετράγωνα
   πλήθος <- 100
   Σ <- 0
   ΓΙΑ α ΑΠΟ 1 ΜΕΧΡΙ πλήθος
       Σ <- Σ + α^2
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   Αποτέλεσμα <- Σ

Δεν είναι αλγόριθμος σύμφωνα με τη θεωρία του βιβλίου διότι δεν εμφανίζει αποτέλεσμα πρός τον χρήστη.Αυτό λέει το βιβλίο σελ. 26.Και μιάς και μιλάς για τη λογική.Αν φτιάξεις ένα πρόγραμμα (και μιλάμε για πρόγραμμα και όχι για αλγόριθμο.Στο πρόγραμμα πολύ σωστά λαμβάνουμε και τέτοια προβλήματα υπ' όψιν) και σου εμφανίζει σε μαύρο φόντο με μαύρο το αποτέλεσμα έχει πρόβλημα εξόδου διότι δεν εμφανίζει αποτέλεσμα πρός τον χρήστη.Και γι αυτό αν είσαι καλός προγραμματιστής ΘΑ ΤΟ ΔΙΟΡΘΩΣΕΙΣ.Ετσί δεν είναι;Δηλαδή θα δώσεις έξτρα εντολές στον αλγόριθμό σου προκειμένου να αντιμετωπίσουν αυτό το πρόβλημα.Προκειμένου δηλαδή ο αλγόριθμός σου να βγάζει έξοδο.Ή θα το αφήσεις έτσι;;;;;;;;;;;;;
Δεν ασχολήθηκα με την φράση "πρός ένα άλλο αλγόριθμο" διότι νομίζω ότι είναι προφανές και ισχύει το ίδιο.Αν φτιάξεις έναν αλγόριθμο με σκοπό να τροφοδοτήσει έναν άλλο αλγόριθμο τότε ο χρήστης σε αυτή την περίπτωση είναι αυτός που χρησιμοποιεί το αποτέλεσμα του αλγορίθμου που έφτιαξες.Δηλαδή ο άλλος αλγόριθμος.Γι αυτό και βάζουμε τη μεταβλητή που έχει το αποτέλεσμα (μιλάω πχ για τις διαδικασίες και αντίστοιχο ισχύει και στις συναρτήσεις) στην παρένθεση και δεν την αφήνουμε απλά μέσα στο υποπρόγραμμα.Η παρένθεση στην οποία βάζεις τη μεταβλητή σου είναι όπως το εμφάνισε αν χρήστης είναι ο άνθρωπος.Δεν λέει πουθενα στο βιβλίο ότι χρήστης είναι απαραίτητα ο χρήστης του υπολογιστή,δηλαδή ο άνθρωπος.Σαν χρήστη αναφέρει τον χρήστη του αλγορίθμου.Και δίνει και παραδείγματα που δεν έχουν σχέση με υπολογιστές.Πχ σελ.26.
Για ποιό λόγο είναι τελευταία επιλογή σου το βιβλίο;Νομίζω ότι θα έπρεπε να είναι η πρώτη αφού αυτό διδάσκουμε καλώς ή κακώς.

evry

Παράθεση από: agelos στις 29 Οκτ 2008, 06:53:47 ΜΜ
Δεν είναι το σκεπτικό μου Ευριπίδη.Είναι η θεωρία του βιβλίου.
"Εσύ λες ότι αν δεν εμφανίζει το αποτέλεσμα δεν είναι αλγόριθμος."
Δεν το λέω εγώ.Το βιβλίο το λέει.
Το βιβλίο δεν λέει αυτό. Έχω την εντύπωση ότι προσπαθείς να ερμηνεύσεις το βιβλίο όπως θέλεις. Ξαναγράφω την ακριβής φράση του βιβλίου
Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μια τιμή δεδομένων ως αποτέλεσμα προς τον χρήστη ή προς έναν άλλον αλγόριθμο.
και ξαναλέω ότι όταν το αποτέλεσμα ενός αλγορίθμου αποθηκεύεται σε μια μεταβλητή αυτή η μεταβλητή θεωρείται έξοδος προς έναν άλλον αλγόριθμο. Αν διαφωνείς με αυτό δεν έχω κάποιο καλύτερο επιχείρημα, αλλά με το δικό σου σκεπτικό σχεδόν όλοι οι αλγόριθμοι που υπάρχουν σε ξένα και ελληνικά πανεπιστημιακά βιβλία προγραμματισμού και αλγορίθμων δεν είναι αλγόριθμοι γιατί δεν έχουν Εμφάνισε.

Παράθεση
Και μιάς και μιλάς για τη λογική.Αν φτιάξεις ένα πρόγραμμα και σου εμφανίζει σε μαύρο φόντο με μαύρο το αποτέλεσμα έχει πρόβλημα εξόδου διότι δεν εμφανίζει αποτέλεσμα πρός τον χρήστη.Και γι αυτό αν είσαι καλός προγραμματιστής ΘΑ ΤΟ ΔΙΟΡΘΩΣΕΙΣ.Ετσί δεν είναι;Ή θα το αφήσεις έτσι;;;;;;;;;;;;;
Δε μίλησα για πρόγραμμα, μίλησα για αλγόριθμο και ένας αλγόριθμος μπορεί να βγάζει λάθος αποτέλεσμα και να παραμένει αλγόριθμος, είναι απλά θέμα ορισμού. Άλλωστε το τι χρώμα θα εμφανίσει τα γράμματα δεν είναι θέμα του αλγορίθμου αλλά του προγράμματος. Με τη δική σου λογική όμως αν εμφανίζει τα γράμματα άσπρα είναι αλγόριθμος αλλά αν τα εμφανίζει μαύρα δεν είναι? Πρόκειται για διαφορετικό αλγόριθμο? Το θεωρείς αυτό λογικό? ???

Παράθεση
Αν φτιάξεις έναν αλγόριθμο με σκοπό να τροφοδοτήσει έναν άλλο αλγόριθμο
Ποτέ δεν το κάνεις αυτό. Όλοι οι αλγόριθμοι μπορούν να τροφοδοτήσουν άλλους αλγορίθμους. ʼλλωστε αυτή είναι όλη η ιδέα του τμηματικού προγραμματισμού
Απάντησέ μου στην παρακάτω ερώτηση
Το παρακάτω είναι αλγόριθμος?
Κώδικας: ΓΛΩΣΣΑ
ΔΙΑΔΙΚΑΣΙΑ Τετράγωνα(πλήθος, αποτέλεσμα)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: πλήθος, αποτέλεσμα, α, Σ
ΑΡΧΗ
  πλήθος <- 100
   Σ <- 0
   Για α από 1 μέχρι πλήθος
       Σ <- Σ + α^2
   Τέλος_Επανάληψης
   Αποτέλεσμα <- Σ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

γιατί δεν έχει πουθενά Γράψε αλλά έχει λίστες μεταβίβασης παραμέτρων
Υποθέτω ότι θα συμφωνήσεις πως είναι. Ενώ το παρακάτω δεν είναι αλγόριθμος?
Κώδικας: ΓΛΩΣΣΑ
Αλγόριθμος Τετράγωνα
  πλήθος <- 100
   Σ <- 0
   Για α από 1 μέχρι πλήθος
       Σ <- Σ + α^2
   Τέλος_Επανάληψης
   Αποτέλεσμα <- Σ
Τέλος Τετράγωνα


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

Παράθεση
Για ποιό λόγο είναι τελευταία επιλογή σου το βιβλίο;Νομίζω ότι θα έπρεπε να είναι η πρώτη αφού αυτό διδάσκουμε καλώς ή κακώς.
Πρώτη επιλογή είναι η λογική και μετά είναι το βιβλίο. Όταν αυτά αλλάξουν σειρά δεν ξέρω κατά πόσο μπορείς να λέγεσαι επιστήμονας αφού δεν προάγεις την επιστημονική σκέψη αλλά δέχεσαι de facto ότι γράφεται σε ένα βιβλίο ακόμα και τα λάθη του και τους ορισμούς που δεν είναι αυστηροί.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

agelos

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

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

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

"Άλλωστε το τι χρώμα θα εμφανίσει τα γράμματα δεν είναι θέμα του αλγορίθμου αλλά του προγράμματος."

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

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

Δηλάδη όλοι οι αλγόριθμοι είναι υποπρογράμματα;;;;;;;;;;;;;;;;;;;;

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

"Πρώτη επιλογή είναι η λογική και μετά είναι το βιβλίο".

Μάλιστα.Και αν εγώ βαθμολογήσω δηλαδή ένα παιδί πρώτα πρέπει να λάβω υπ'οψιν τη δική σου λογική ή οποιουδήποτε καθηγητή δηλαδή καμμια 5 με 10000 λογικές και μετά το βιβλίο;;;;;;;;;;;;;;;;;;;;;;;;

Δεν είναι έτσι βρε Ευριπίδη.Καλό είναι να λέμε καμμια φορά "Ναι ρε φίλε.Έχεις δίκιο.Κάνω λάθος".Έτσι ίσως πάμε κάποτε μπροστά.

evry

Παράθεση από: agelos στις 29 Οκτ 2008, 08:38:15 ΜΜ
Δηλάδη όλοι οι αλγόριθμοι είναι υποπρογράμματα;;;;;;;;;;;;;;;;;;;;
Όλοι οι αλγόριθμοι μπορούν να υλοποιηθούν σαν υποπρογράμματα.

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

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


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

alkisg

Αχ αυτή η έξοδος τι μπελάδες φέρνει... :)

Έξοδος = Παραλληλόγραμμο, Αποτελέσματα, Εμφάνισε, Τύπωσε, Εκτύπωσε, ΓΡΑΨΕ, παράμετροι εξόδου υποπρογράμματος
Είσοδος = Παραλληλόγραμμο, Δεδομένα, Διάβασε, ΔΙΑΒΑΣΕ, παράμετροι εισόδου υποπρογράμματος

Αυτά και μόνο αυτά!!! Πόσο δύσκολο ήταν να το γράψουν έτσι καθαρά στο βιβλίο και να ησυχάζαμε;  ???

P.Tsiotakis

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

Αλγόριθμος Πχ
Εμφάνισε "Δώσε δύο αριθμούς"
Διάβασε χ,ζ
κ<-χ+ζ
Εμφάνισε χ, ζ
Τέλος Πχ

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

Αλγόριθμος Πχ2
Εμφάνισε "Δώστε δύο αριθμούς"
Διαβασε χ,τ
ζ<-χ+τ
Τέλος Πχ2

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

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

Μια κωδικοποίηση μπορεί να αξιολογηθεί για την εκπλήρωση των 5 κριτηρίων ΧΩΡΙΣ να απαιτείται να δοθεί η εκφώνηση.



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

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

agelos

#22
Παναγιώτη δεν υπάρχουν μόνο τα κριτήρια στους αλγορίθμους.Υπάρχει και ορισμός για τους αλγορίθμους.Και λέει σαφέστατα ότι σκοπός τους είναι η επίλυση ενός προβλήματος.Διάβασέ τον αν θέλεις.Έτσι όπως το θέτεις αλγόριθμος είναι οποιαδήποτε ακολουθία από εντολές σε οποιαδήποτε σειρά φτάνει να έχουν μέσα τη βασική εντολή εμφάνισε,να μην έχουν ατέρμονους βρόχους και να μην υπάρχει περίπτωση να δόσει ο χρήστης - προφανώς τυχαία αφού δεν έχουν κάποιο σκοπό - κάποιο δεδομένο που θα τους κολήσει όπως πχ 0 σαν πηλίκο.

Λές επίσης ότι ο αλγόριθμος:
Αλγόριθμος Πχ2
Εμφάνισε "Δώστε δύο αριθμούς"
Διαβασε χ,τ
ζ<-χ+τ
Τέλος Πχ2
"έχει έξοδο. Κάθε αλγόριθμος που έχει κάποια απο τις εντολές Εμφάνισε, Εκτύπωσε, Αποτελέσματα ή Γράψε  έχει έξοδο."
Συνεχίζεις να αυθαιρετείς.Δεν το λέει πουθενά αυτό στο βιβλίο.Διάβασε αν θέλεις τον ορισμό της εξόδου και προσπάθησε επίσης αν θέλεις να τον καταλάβεις.Αν δεν καταλαβαίνεις τι σημαίνει αποτέλεσμα διάβασε τι είναι έξοδος σε συνδυασμό με το τι είναι αλγόριθμος.Ο συνδυασμός των δύο δίνει επακριβώς τι σημαίνει αποτέλεσμα.

"Όταν ΜΕΤΑΤΡΕΠΟΥΜΕ μια κωδικοποίηση σε διάγραμμα ροής, τότε ΜΕΤΑΦΕΡΟΥΜΕ (όπως έγραψε και ο Ευρυπίδης), μια μια τις εντολές απο το πρώτο στο δεύτερο, χρησιμοποιώντας κάθε φορά το κατάλληλο γεωμετρικό σχήμα (μεταξύ αυτών που παρουσιάζονται στο σχολικό βιβλίο)."
Πάλι αυθαιρετείς.Που στο βιβλίο το λέει αυτό το πράγμα;;;;;;;;;;;

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

Laertis

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

Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola

ntzios kostas

Φίλε Άγγελε προσπαθείς να πείσεις σε κάτι που έχεις εξαρχής λάθος. Γιατί να βρίσκεται στον αλγόριθμο που δίνεις η εντολή εμφάνισε 'δώσε δύο αριθμούς'; Τον ίδιο αλγόριθμο μπορούσες να τον παρουσιάσεις σε διάγραμμα ροής. Όσο λάθος λοιπόν, είναι η ύπαρξη αυτής της εντολής στο παράδειγμά σου (σε μορφή ψευδοκώδικα) τόσο λάθος είναι και στο διάγραμμα ροής. Και όσο σωστή είναι η ύπαρξή της σε μορφή κωδικοποιήσης τόσο σωστή είναι και στο διάγραμμα ροής.


Φιλικά
Ντζιός Κώστας



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

evry

Παράθεση από: agelos στις 29 Οκτ 2008, 10:14:36 ΜΜ
Μάλλον δεν θα έχεις δεί πρόγραμμα μεγαλύτερο από 30 γραμμές.Γιατί αν έχεις δεί τότε μάλλον θα πρέπει να το ξανασκεφτείς αυτό.
Φαντάζομαι ότι το βιβλίο του Παναγιώτη περιέχει τουλάχιστον 30 γραμμές κώδικα οπότε το σχόλιό σου είναι άστοχο. Εκτός όμως από τέτοιο είναι και μειωτικό απέναντι στον συνάδελφο. Δε νομίζω κάποιος να σε προσέβαλε ούτε να σε μείωσε. Αν δεν έχεις επιχειρήματα μπορείς απλά να το παραδεχτείς και όχι να απαντάς με τέτοια σχόλια προσωπικού περιεχομένου που δεν έχουν καμία σχέση με το αντικείμενο της συζήτησης. Όπως και εσύ είπες πρέπει κάποτε να παραδεχόμαστε το λάθος μας και ότι έτσι ίσως να πάμε κάποτε μπροστά. Δε νομίζω ότι με τέτοια σχόλια πηγαίνουμε μπροστά.


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

alkisg

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

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

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

agelos

#27
Καλημέρα σας και πάλι.Φίλε Άλκη έχεις δίκιο.Παραφέρθηκα στο προηγούμενο μήνυμα.Αν δείς,έσβησα αυτά που μάλλον ήταν όντως προσβλητικά.Ζητώ επίσης συγνώμη σε οποιονδήποτε ενδεχομένως προσέβαλλα.
Βέβαια και μένα με ειρωνεύτηκαν κάποιες φορές (δές πρώτα μηνύματα όπως "συνάδελφος Σαββάλας","κύριε agelos",κάτι γελάκια από εναν κλπ) αλλά δεν είδα να ζήτησε κανείς συγνώμη ούτε να θίχτηκε κανείς από εσας.Νομίζω πως προκλήθηκα λιγάκι....Τέλος πάντων.Δεν υπάρχει πρόβλημα.
Φίλε Ευριπίδη σε σένα ζητώ προσωπικά συγνώμη γιατί έσύ δεν με προκάλεσες και ίσως ήμουν λίγο προσβλητικός απέναντί σου.Πέρα από αυτο λές δεν έχω επιχειρήματα.Έχω φίλε μου.Τέλος πάντων και σε αυτό.Έχεις τη γνώμη σου,έχω τη γνώμη μου.....
Φίλε Κώστα που στηρίζεις ότι έχω εξ αρχής λάθος;Οι εντολές που βρίσκονται πρίν το διάβασε όπως εμφάνισε "Δώσε δύο αριθμούς" είναι ενέργειες του αλγορίθμου που και αυτές βοηθούν στο να φτάσει ο αλγόριθμος στο αποτέλεσμα.Όμως δεν είναι έξοδος σύμφωνα με τη θεωρία του βιβλίου και επομένως είναι αυθαιρεσία να το βάζει κάποιος με το σύμβολο της εξόδου στο διάγραμμα ροής.Να στο πώ αλλιώς:Όταν λές πχ σε έναν αλγόριθμο Αποτελέσματα υπάρχει περίπτωση να πείς Αποτελέσματα //ζ,κ,"Δώσε 2 αριθμούς"//.Να σου το πώ και αλλιώς:Αν είναι έξοδος τότε ο αλγόριθμος
Αλγόριθμος Πχ
Εμφάνισε "Δώσε 2 αριθμούς"
Διαβασε χ,ζ
Τέλος Πχ
είναι σωστός.Σου φαίνεται σωστός;Ποιά είναι η έξοδός του;Ποιό πρόβλημα επιλύεται;Για ποιόν λόγο δηλαδή κάποιος χρήστης θα έτρεχε αυτό τον αλγόριθμο;Για να του υπολογίσει τί;Θα έστεκε μόνο σαν υποπρόγραμμα και βέβαια σε αυτή την περίπτωση υπάρχει επιστροφή δεδομένων μέσω των παρενθέσεων.Τα δεδομένα που επιστρέφονται τότε,η έξοδος δήλαδή είναι τα χ,ζ.
Εν τέλει το πρόβλημα είναι ότι η θεωρία του βιβλίου δεν καλύπτει τις συγκεκριμένες ενέργειες όσων αφορά το διάγραμμα ροής και αυθαίρετα πολλοί συνάδελφοι τις βάζουν σαν έξοδο.Αυτή είναι η γνώμη μου και νομίζω την απέδειξα.

alkisg

Παράθεση από: agelos στις 30 Οκτ 2008, 08:47:53 ΠΜ
Βέβαια και μένα με ειρωνεύτηκαν κάποιες φορές (δές πρώτα μηνύματα όπως "συνάδελφος Σαββάλας","κύριε agelos",κάτι γελάκια από εναν κλπ) αλλά δεν είδα να ζήτησε κανείς συγνώμη ούτε να θίχτηκε κανείς από εσας.Νομίζω πως προκλήθηκα λιγάκι....Τέλος πάντων.Δεν υπάρχει πρόβλημα.

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

Καλημέρα σε όλους! :)

evry

Ωραία, τώρα που ηρεμήσαν τα πνεύματα μπορούμε να συνεχίσουμε την κουβέντα  :)

Κατ'αρχήν συμφωνώ με το παράδειγμα που έδωσε ο Άγγελος στο τελευταίο μήνυμά του. Αυτό κατά τη γνώμη μου δεν έχει έξοδο. Όπως και να το δει κανείς είτε το πάρει λογικά είτε με βάση το βιβλίο θα δει ότι εννοούμε έξοδο κάθε τιμή δεδομένων που παίζει το ρόλο αποτελέσματος προς τον χρήστη.
   Στο παράδειγμα που είχα δώσει εγώ το αποτέλεσμα υπολογιζόταν απλά δεν εμφανιζόταν στην οθόνη ούτε υπήρχε το Αποτελέσματα. Προφανώς έπρεπε να υπάρχει στο τέλος η δήλωση Αποτελέσματα //   // και ο ʼλκης έχει δίκιο σε αυτό. Όμως το Αποτελέσματα // // είναι απλά μια δήλωση, δεν είναι τμήμα του αλγορίθμου, είτε το βάλεις είτε όχι ο αλγόριθμος δεν αλλάζει θα παραμείνει ο ίδιος. ʼρα θα έχει και τις ίδιες ιδιότητες. Ξέρω ότι η διαφωνία μας εδώ έγκειται σε έναν μη αυστηρό ορισμό του βιβλίου και κατά τη γνώμη μου και οι δυο έχουμε τα δίκια μας αλλά το σκεπτικό που προτείνω παραπάνω μου φαίνεται πιο κοντά στη φιλοσοφία της αλγοριθμικής γενικότερα.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr