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

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

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

agelos

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

Εμφάνισε "Δώστε δύο αριθμούς"
Διαβασε χ,τ
ζ<-χ+τ
Εκτύπωσε ζ

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

alkisg

Σε αυτό το manual του 1969 της IBM: http://www.fh-jena.de/~kleine/history/software/IBM-FlowchartingTechniques-GC20-8152-1.pdf το οποίο προτείνει για διάβασμα η wikipedia, έχει παράδειγμα όπου με το παραλληλόγραμμο κάνει έξοδο κεφαλίδας πίνακα (header).
Νομίζω ότι εντάσσεται στην ίδια κατηγορία, οπότε γενικά σε οποιαδήποτε είσοδο/έξοδο βάζουμε παραλληλόγραμμο.

Βέβαια, υπάρχουν κι άλλα σύμβολα πιο εξειδικευμένα, π.χ. το γνωστό μας παραλληλόγραμμο (= process input / output) αντιστοιχεί κυρίως στα δεδομένα / αποτελέσματα και όχι στις διάβασε / εμφάνισε / εκτύπωσε, αφού γι' αυτές υπάρχουν διαφορετικά σύμβολα για είσοδο από πληκτρολόγιο, από αρχείο, από κάρτα, από ταινία κτλ. Ευτυχώς η χρήση τους είναι προαιρετική και δεν υπάρχουν καν στο σχολικό βιβλίο, οπότε χρησιμοποιούμε παντού το παραλληλόγραμμο (και καλά κάνουμε αφού δεν υπάρχουν πια κάρτες και ταινίες).

agelos

Σε ευχαριστώ Άλκη για το εγχειρίδιο της ΙΒΜ.Πολύ ενδιαφέρον.Στη σελίδα 10 το πλάγιο παραλληλόγραμμο χρησιμοποιείται για είδοδο και έξοδο όπου σαν έξοδο περιγραφει την καταγραφή δηλαδή την εμφάνιση της επεξεργασμένης πληροφορίας.ʼρα όχι μηνύματα όπως το "δώσε 2 αριθμούς" πρίν από μία διάβασε μιας και αυτό δεν προέρχεται από επεξεργασία δεδομένων.Νομίζω ότι ποιό σαφές δεν γίνεται. 

P.Tsiotakis

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

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

Lev

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

P.Tsiotakis

στις εκδόσεις Σαββάλας κυκλοφορούν 4 βοηθήματα στο μάθημα ΑΕΠΠ

(με λένε Παναγιώτη  ;) )

alkisg

Άγγελε, έλεγα για το Figure 14 στη σελίδα 26, όπου χρησιμοποιεί το παραλληλόγραμμο για να γράφει επικεφαλίδες (group headings). Αν και τέτοια κείμενα δεν προκύπτουν άμεσα από την επεξεργασία των δεδομένων εισόδου, παρόλα αυτά είναι μέρος της εξόδου του αλγορίθμου.

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

Καρκαμάνης Γεώργιος

Άγγελε, από την στιγμή που μετατρέπεις έναν αλγόριθμο γραμμένο σε ψευδογλώσσα, σε ισοδύναμο διάγραμμα ροής, θα πρέπει να μετατρέψεις κάθε εντολή της ψευδογλώσσας σε αντίστοιχο σύμβολο στο διάγραμμα ροής. Ετσι και η εντολή Εμφάνισε πρέπει να σχεδιαστεί με το ΑΝΤΙΣΤΟΙΧΟ σύμβολο, άσχετα εάν εμφανίζει ένα  μήνυμα.

agelos

#8
Kαλημέρα σας και πάλι.Αγαπητέ Άλκη.Στη σελίδα 26 η επικεφαλίδα που γράφει,προκύπτει αν ισχύει κάποια συνθήκη.ʼρα προκύπτει από επεξεργασία δεδομένων και επομένως ορθώς σύμφωνα με την θεωρία το γράφει.Κύριε Τσιωτάκη προφανώς δεν καταλάβατε την ερώτησή μου.Αναφέρομαι στα βοηθητικά μηνύματα πρός τον χρήστη όπως μηνύματα του στύλ ¨Δώστε δύο αριθμούς¨.Όχι στα μηνύματα που προκύπτουν από επεξεργασία δεδομένων όπως στη σελίδα 36 που αναφέρατε.Διαβάστε λίγο καλύτερα αν θέλετε το πρώτο μου μήνυμα.Όσο για το αν υπάρχει βοήθημα με το όνομα Σαββάλας που σχολιάσατε νομίζω πως για οποιονδήποτε συνάδελφο είναι σαφές ότι αναφέρομαι στις εκδόσεις Σαββάλα.Δεν καταλαβαίνω για ποιό λόγο με ειρωνευτήκατε και για να μαι ειλικρινής δεν με ενδιαφέρει και να μάθω.Κύριε Καρκαμάνη στη θεωρία λέει πως μετατρέπω σε διάγραμμα ροής την είσοδο,έξοδο κλπ όχι κάθε εντολή του αλγορίθμου.Και επίσης στη θεωρία σαν έξοδος ορίζεται μία τουλάχιστον τιμή δεδομένων ως αποτέλεσμα πρός τον χρήστη.Πχ αν φτιάξω έναν αλγόριθμο που προσθέτει 2 αριθμούς το αποτέλεσμα (δηλαδή ο λόγος για τον οποίο υπάρχει ο αλγόριθμος) του αλγορίθμου είναι το άθροισμα των παραπάνω αριθμών.Όχι το μήνυμα "Δώστε 2 αριθμούς".   

P.Tsiotakis

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

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

Γιατί πχ για τη Χημεία, δε λέμε το βιβλίο του Σαββάλα αλλά το βιβλίο του Σαλτερη. Για τα μαθηματικά δε λέμε το βιβλίο του βιβλιοεκδοτικής, αλλά του Μπάρλα. Και σε τελική ανάλυση, υπάρχουν περισσότερα απο 1 βιβλία στις εκδόσεις που αναφέρθηκες δεν καταλαβαίνω σε πιο αναφέρεσαι μεταξύ των 4 για να πάνω να δω αυτό που λες. Σε ενημερώνω οτι το "με όλη την εκτίμηση" το εννοούσα και δεν είχα στόχο να σε ειρωνευτώ. Ο γραπτός λόγος πολλές φορές δε βοηθάει σε τέτοια θέματα παρ' όλα αυτά ζητάω συγγνώμη.

Ελπίζω να εξήγησα σαφέστερα τι εννοούσα, επειδή εμένα για να είμαι ειλικρινής με ενδιαφέρει...

agelos

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

P.Tsiotakis

Το:

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

είναι αλγόριθμος; Πληρεί το κριτήριο της εισόδου;

evry

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

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


Παράθεση από: agelos στις 29 Οκτ 2008, 11:56:22 ΠΜ
Και ρωτάω:
Αλγόριθμος Πχ
Εμφάνισε "Δώσε δύο αριθμούς"
Διάβασε χ,ζ
κ<-χ+ζ
Τέλος Πχ
Το παραπάνω είναι αλγόριθμος;Πληρεί το κριτήριο της εξόδου;
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

gpapargi

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

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

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

agelos

#14
Το:

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

είναι αλγόριθμος; Πληρεί το κριτήριο της εισόδου;

Το κριτήριο της εξόδου μάλλον εννοείτε.Το αν είναι αλγόριθμος ή όχι εξαρτάται από τον λόγο για τον οποίο έγινε.Αν ο λόγος για τον οποίο έγινε είναι για να διαβάζει 2 αριθμούς και να τους εμφανίζει,αν δηλαδή αυτό είναι το πρόβλημα που επιλύεται τότε σύμφωνα με τον ορισμό των αλγορίθμων (σελ. 25) είναι αλγόριθμος.Απλά είναι κακός αλγόριθμος όπως πολύ ωραία είπε ο κύριος Παπαργύρης.Αν ο λόγος για τον οποίο έγινε είναι να προσθέτει 2 αριθμούς τότε έχει πρόβλημα εξόδου διότι δεν δημιουργείται αποτέλεσμα προς τον χρήστη.
Κύριε Ευριπίδη δεν πληρείται το κριτήριο της εξόδου γιατί δημιουργείται μεν κάποιο αποτέλεσμα αλλά όχι πρός στον χρήστη (σελ. 26 σχολικού βιβλίου).Άρα το καλύτερο είναι να πώ στο μαθητή το σωστό,σύμφωνα με τη θεωρία που διδάσκεται.Αν χάσει μονάδες κάνοντας το σωστό σημαίνει ότι κάποιος άλλος δεν έκανε σωστά τη δουλειά του.Επίσης το μήνυμα δεν είναι έξοδος διότι δεν προκύπτει σαν αποτέλεσμα του αλγορίθμου πρός τον χρήστη από την επεξεργασία κάποιων δεδομένων (σε αυτό είμαι ποιό αναλυτικός σε προηγούμενο post μου.Διαβάστε το αν θέλετε).Αυτό είναι έξοδος σύμφωνα με τη θεωρία του βιβλίου (σελ. 26).Δεν το βγάζω από το μυαλό μου.Το βιβλίο το λέει.
Επίσης συμφωνώ με τον κύριο Παπαργύρη στο ότι οι ασάφειες του βιβλίου δημιουργούν παρερμηνείες.Όμως αν ακολουθήσουμε την θεωρία του βιβλίου το συγκεκριμένο ζήτημα που έθεσα είναι σαφες.Ότι δεν είναι αποτέλεσμα του αλγορίθμου προς τον χρήστη (σελ. 26) (και φυσικά το αποτέλεσμα έχει σχέση με την επίλυση του προβλήματος για το οποίο φτιάχτηκε ο αλγόριθμος (σελ. 25)) δεν είναι έξοδος και άρα δεν μπαίνει στο διάγραμμα ροής (σελ. 29).Το να το βάζει κάποιος είναι κόντρα με τη θεωρία του βιβλίου.ʼρα για το συγκεκριμένο μάθημα είναι λάθος.Αυτό θέλω να πώ.Δεν καταλαβαίνω γιατι υπάρχει διαφωνία;;;;