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

Ξεκίνησε από 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).Το να το βάζει κάποιος είναι κόντρα με τη θεωρία του βιβλίου.ʼρα για το συγκεκριμένο μάθημα είναι λάθος.Αυτό θέλω να πώ.Δεν καταλαβαίνω γιατι υπάρχει διαφωνία;;;;

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

P.Tsiotakis

Δυο θέματα έχουν τεθεί σε αυτή τη συζήτηση:

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

Ας ασχοληθώ με το δεύτερο.



Ο πιθανότερος λόγος που ΔΕΝ υπάρχουν τέτοια παραδείγματα στο διδακτικό πακέτο είναι πως στην ψευδογλώσσα δεν ασχολούμαστε με μηνύματα προς το χρήστη, γιατί στην ψευδογλώσσα χαράσσουμε τη λύση ενός προβλήματος και δεν ασχολούμαστε με τον Η/Υ μιας και η ψευδογλώσσα γράφεται στο χαρτί.

Θα προσπαθήσω λοιπόν με σκέψεις και βήματα λογικής να πω αυτό που εννοώ. Και όπως πάντα εκπροσωπώ μόνο τον εαυτό μου και τον κύριο Αρβίλογλου.

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

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



Έκατσα όλο το μεσημέρι και διάβασα καλά το βιβλίο και πολλά βιβλία, ακόμη και τα 7 βιβλία του Σαββάλα. Έψαξα δε, και βρήκα κάποια προγράμματα που αριθμούσαν περισσότερες απο 30 γραμμές (μέτρησα και τις τις γραμμές ΠΡΟΓΡΑΜΜΑ και ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ) και πιστεύω οτι έχω καταλάβει αρκετά πράγματα.

alkisg

Νομίζω ότι ο πιο πρόσφατος τυπικός ορισμός των διαγραμμάτων ροής είναι στο ISO 5807:1985, το οποίο όμως δεν το έχω βρει.

Ένας παλιότερος (withdrawn) ορισμός από την ECMA: http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-4,%202nd%20Edition,%20September%201966.pdf

Από όσο έχω καταλάβει, όταν μεταφέρουμε έναν αλγόριθμο σε διάγραμμα ροής, τα Δεδομένα / Αποτελέσματα πρέπει να τα βάζουμε σαν παραλληλόγραμμα (= process input / output). Η είσοδος από το πληκτρολόγιο και η έξοδος στην οθόνη κανονικά είναι το Manual Input και το Display στην παρακάτω εικόνα. Όμως για απλότητα χρησιμοποιούμε και γι' αυτές το (γενικής πλέον χρήσης) παραλληλόγραμμο.

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

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


ntzios kostas

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

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

Σούλας Βασίλης

#33
ΠαράθεσηΘα προσπαθήσω λοιπόν με σκέψεις και βήματα λογικής να πω αυτό που εννοώ. Και όπως πάντα εκπροσωπώ μόνο τον εαυτό μου και τον κύριο Αρβίλογλου.

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

Συμφωνώ απόλυτα μαζί σου Παναγιώτη.

Η Εμφάνισε είναι εντολή εξόδου (Οθόνη = συσκευή εξόδου)
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

agelos

#34
Παιδιά ο καθένας προσπαθεί να δώσει την εξήγησή του.Βλέπετε και εσείς πως δεν επικαλείστε κάτι στάνταρ,κάποιο κανόνα προκειμένου να δικαιολογήσετε γιατί να μπαίνει το "άτιμο" αυτό μήνυμα σε πλάγιο παραλληλόγραμο.Επικαλείστε την εμπειρία σας,τις γνώσεις γενικότερα,τη λογική κλπ.Επειδή και γώ το προσπάθησα και απάντηση δεν βρήκα κατέφυγα στο βιβλίο.Αν λοιπόν το δείτε στεγνά από το βιβλίο τα μηνύματα αυτά δεν είναι έξοδος αλγορίθμου και Κωστα δεν θέλω να εξηγήσω πάλι γιατί.Διάβασε τα προηγούμενα μηνύματά μου και απαντάνε και στο τελευταίο σου μήνυμα.Η εντολή αυτή φυσικά και έχει αποτέλεσμα,βοηθάει τον χρήστη αλλά δεν είναι το αποτέλεσμα του αλγορίθμου.Είναι και αυτό ένα βήμα για να βγάλει εν τέλει αποτέλεσμα ο αλγόριθμος.Άρα δεν είναι έξοδός του και άρα δεν μπαίνει στο διάγραμμα ροής του σαν πλάγιο παραλληλόγραμμο.Ίσως αν υπήρχε κάποιο σχήμα για τέτοιου είδους ενέργειες να έμπαινε με αυτό.Και η εντολή Αν έχει κάποιο αποτέλεσμα.Να την βάλω σε πλάγιο παραλληλόγραμμο;Γιαυτό λέω ότι όσοι το βάζουν αυθαιρετούν.Και δεν το λέω με την κακή έννοια.Απλά δείτε το στις απαντήσεις σας.Έτσι είναι.Όσο για το αν κοπούν μονάδες από μαθητή που δεν θα το βάλει αυτός που θα τις κόψει κάνει λάθος τη δουλειά του.Και πλέον ξεφεύγω από το βιβλίο και αυτό που λέω το στηρίζω και σε πολλά βοηθήματα που όπως και εσείς έχω διαβάσει και σε κανένα από αυτά δεν εμφανίζει τέτοια μηνύματα στο διάγραμμα ροής και ας υπάρχουν στον αλγόριθμο.
Η παρανόηση πιστεύω οφείλεται στο ότι υπάρχει η εντύπωση πώς αποτέλεσμα ενός αλγορίθμου είναι ότι εμφανίζεται στην οθόνη.Με την λογική αυτή τα υποπρογράμματα που επιστρέφουν κάτι σε άλλο υποπρόγραμμα δεν έχουν αποτέλεσμα;
Αποτέλεσμα είναι ο λόγος για τον οποίο φτιάχτηκε ο αλγόριθμος.Πχ σε αλγόριθμο που κάνει πρόσθεση είναι το αποτέλεσμα της πρόσθεσης όχι το "Δώστε δύο αριθμούς".Για αυτό δεν θα πείς και ποτέ Αποτελέσματα //ζ,"Δώστε δυο αριθμούς"//.Και πρέπει να το επιστρέφουν στον χρήστη του είτε αυτός είναι άνθρωπος (προγράμματα με την εμφάνισε) είτε άλλο πρόγραμμα (υποπρογράμματα με την παρένθεση κλπ).

Σούλας Βασίλης

Έξοδος αλγορίθμου (μία τουλάχιστον τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν αλλο αλγόριθμο σελ. 26). <> εντολές εξόδου (επικοινωνία με συσκευές εξόδου).
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

ntzios kostas

quote]Όσο για το αν κοπούν μονάδες από μαθητή που δεν θα το βάλει αυτός που θα τις κόψει κάνει λάθος τη δουλειά του.[/quote]Αν γίνει το αντίθετο και σε ένα διάγραμμα ροής δεις από ένα μαθητή να βάζει το σχήμα αυτό θα του κόψεις;

Μπορείς να μου πεις άγγελε γιατί η εντολή αυτή να βρίσκεται στη ψευδογλώσσα; Αν βρεις απάντηση θα απαντήσεις, γιατί η εντολή αυτή να βρίσκεται και στο διάγραμμα ροής.

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

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

Σούλας Βασίλης

Η άποψη μου με τα κριτήρια των αλγορίθμων είναι η εξής και την έχω καταθέσει και σε άλλη συζήτηση (https://alkisg.mysch.gr/steki/index.php?topic=1569.60). Πάντα εξετάζουμε τα κριτήρια χωρίς να ξεχνάμε την έννοια του αλγορίθμου (Είναι ένα σύνολο βημάτων, αυστηρά καθορισμένων κι εκτελέσιμων σε πεπερασμένο χρόνο, που οδηγούν στην επίλυση ενός προβλήματος) και την έννοια του προβλήματος (γενική κατάσταση με όχι γνωστή και προφανή λύση). Κάποια παραδείγματα ΄΄αλγορίθμων΄΄ που αναφέρονται εδώ δεν λαμβάνουν υπόψη τα παραπάνω και γίνονται αφορμή για συζήτηση και για να πείσουμε το συνομιλητή μας. Εγώ σε κάθε ένα από αυτά τα παραδείγματα θα ρωτούσα: Ποιό πρόβλημα επιλύει ο συγκεκριμένος αλγόριθμος; (πρόβλημα:γενική κατάσταση με όχι γνωστή και προφανή λύση)
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

P.Tsiotakis

Παράθεση από: agelos στις 30 Οκτ 2008, 05:49:49 ΜΜ
Και πλέον ξεφεύγω από το βιβλίο και αυτό που λέω το στηρίζω και σε πολλά βοηθήματα που όπως και εσείς έχω διαβάσει και σε κανένα από αυτά δεν εμφανίζει τέτοια μηνύματα στο διάγραμμα ροής και ας υπάρχουν στον αλγόριθμο.

Το είδα εγώ Κώστα, το 3ο και 4ο βιβλίο του Σαββάλα (Τζιμογιάννης-Γιούνης δηλαδή) που παρουσιάζουν μαζί φυσική γλώσσα, πρόγραμμα, ψευδογλώσσα και διάγραμμα ροής δεν έχουν ΚΑΘΟΛΟΥ μηνύματα στο δ.ρ.

Γιατί κατά τα άλλα:
- το 1ο και 2ο βιβλίο του Σαββάλα (δηλαδή Ντζιος-Κοψίνης) τα βάζουν μια χαρά
- το 5 και 6ο βιβλίο του Σαββάλα (δηλαδή Τσιωτάκης) τα βάζουν
- το 7ο βιβλίο του Σαββάλα (δηλαδή Καραίσκος-Καραμπής) τα βάζουν
- Ο βιβλιοεκδοτική-Κλειδάριθμος (δηλαδή Λαζαρίνης), δεν έχει εμφάνισε πριν το Διάβασε, αλλά τα υπόλοιπα μηνύματα τα βάζει στο δ.ρ.
- Ο Ζήτης (δηλαδή Αριστείδης Βερνάρδος- Λευτέρης Μπότσαρης) και στο παλιό αλλά και στο νέο βιβλίο που κυκλοφόρησε πριν 10 μέρες, τα βάζουν
- Ο Νέων Τεχνολογιών (δηλαδή Δουκάκης-Ψαλτίδου), δεν έχει εμφάνισε πριν το Διάβασε, αλλά τα υπόλοιπα μηνύματα τα βάζει στο δ.ρ.

Λυπάμαι, δεν έχω άλλα βοηθήματα σπίτι

Σούλας Βασίλης

Παναγιώτη στο 3ο και στο 4ο βιβλίο δεν βάζει τα μηνύματα στο δ.ρ. ενώ στον αντίστοιχο αλγόριθμο ή πρόγραμμα υπάρχουν;
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

P.Tsiotakis

Βασίλη, στην ψευδογλώσσα, δε βάζουμε μηνύματα προτροπής, πριν τις εντολές Διάβασε, στη ΓΛΩΣΣΑ συνηθίζεται αυτό (ΑΝ γίνεται).

Το βιβλίο των Τζιμογιάννη-Γιούνη, παρουσιάζει ΜΑΖΙ και τους 4 τρόπους αναπαράστασης. Στην ψευδογλώσσα ΔΕ βάζει, στο δ.ρ. ΔΕ βάζει, στη ΓΛΩΣΣΑ βάζει (π.χ. ΓΡΑΨΕ 'Δώσε αριθμό')

Σούλας Βασίλης

Παναγιώτη ουσιαστικά συμφωνούμε. Είναι αυτό που απαντάμε στην ερώτηση των μαθητών μας αν στους αλγορίθμους σε ψευδογλώσσα χρειάζονται μηνύματα προτροπής. Εγώ προσωπικά απαντώ ότι δεν χρειάζονται αλλά και κάποιος αν βάλει δεν είναι και λάθος άρα το ίδιο ισχύει και για τα δ.ρ. Τώρα αν έχουμε ένα αλγόριθμο σε ψευδογλώσσα με μηνύματα προτροπής και θέλουμε να τον μετατρέψουμε σε δ.ρ. σίγουρα θα χρειαστεί και στο διάγραμμα ροής να μπουν τα μηνύματα προτροπής.
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

P.Tsiotakis

Διορθώνω: και στο Α τεύχος των Τζιμογιάννη-Γιούνη, απο τη σελίδα 158 και εξής, στα διαγράμματα ροής βάζει τα μηνύματα.

Στα διαγράμματα ροής ΠΡΙΝ τις σελίδες αυτές δεν τα βάζει

agelos

το 1ο και 2ο βιβλίο του Σαββάλα (δηλαδή Ντζιος-Κοψίνης) τα βάζουν μια χαρά
- το 5 και 6ο βιβλίο του Σαββάλα (δηλαδή Τσιωτάκης) τα βάζουν . Αυτό δεν πιάνεται νομίζω γιατί μαζί διαφωνούμε τόση ώρα.Και γω στο δικό μου δεν τα βάζω.
- το 7ο βιβλίο του Σαββάλα (δηλαδή Καραίσκος-Καραμπής) τα βάζουν
- Ο βιβλιοεκδοτική-Κλειδάριθμος (δηλαδή Λαζαρίνης), δεν έχει εμφάνισε πριν το Διάβασε, αλλά τα υπόλοιπα μηνύματα τα βάζει στο δ.ρ.Αυτό επομένως δεν χρειάζεται να αναφερθεί.Μιλάμε για βιβλία που έχουν στον αλγόριθμο το εμφάνισε πρίν τον διάβασε και όχι στο διάγραμμα ροής.
- Ο Ζήτης (δηλαδή Αριστείδης Βερνάρδος- Λευτέρης Μπότσαρης) και στο παλιό αλλά και στο νέο βιβλίο που κυκλοφόρησε πριν 10 μέρες, τα βάζουν
- Ο Νέων Τεχνολογιών (δηλαδή Δουκάκης-Ψαλτίδου), δεν έχει εμφάνισε πριν το Διάβασε, αλλά τα υπόλοιπα μηνύματα τα βάζει στο δ.ρ. Και αυτό επομένως δεν χρειάζεται να αναφερθεί.Μιλάμε για βιβλία που έχουν στον αλγόριθμο το εμφάνισε πρίν τον διάβασε και όχι στο διάγραμμα ροής.

τα βιβλία που έχω εγώ εδώ και στα οποία στο μέν αλγόριθμο βάζει τα μηνύματα πρίν το Διαβασε αλλά όχι και στο διάγραμμα ροής είναι:
Σαββάλα: Τζιμογιάννης-Γιούνης.
Ελληνοεκδοτική: Μιχαλακόπουλος-Τσιαπαλάς
Τα υπόλοιπα που έχω δεν έχουν πουθενά μηνύματα πρίν το διάβασε.

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

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

"Μπορείς να μου πεις άγγελε γιατί η εντολή αυτή να βρίσκεται στη ψευδογλώσσα; Αν βρεις απάντηση θα απαντήσεις, γιατί η εντολή αυτή να βρίσκεται και στο διάγραμμα ροής"

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

"Το σχήμα μπορεί να διαφοροποιείται προκειμένου να προσδιορίζεται και το είδος της συσκευής απ' όπου γίνεται η είσοδος ή η έξοδος."

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

Σούλας Βασίλης

Νομίζω ότι έχει προκληθεί μια παρανόηση σχετικά με την έξοδο του αλγορίθμου και με τις εντολές εξόδου. Οι εντολές εξόδου (και εισόδου) είναι για την επικοινωνία με το εξωτερικό περιβάλλον. Η έξοδος του αλγορίθμου (μία ή περισσότερες) έχει συνάφεια με την λύση του προβλήματος.
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

agelos

Παναγιώτη.Το βιβλίο του Τζιμογιάννη - Γιούνη,το πρώτο τεύχος,το βιβλίο που είναι πράσινο από πάνω και ασπρο από κάτω και κάτω έχει κάτι κομπιούτερ και κάτι δυαδικά,που έχω εγώ εδώ δεν τα βάζει ούτε μετά τη σελίδα 158.Δεν καταλαβαίνω.Μισό λεπτό ρε παιδιά.Καταλαβαίνετε για ποια μηνύματα μιλάω τόση ωρα;ΓΙΑ ΤΑ ΜΗΝΥΜΑΤΑ ΠΡΙΝ ΤΟ ΔΙΑΒΑΣΕ ΟΧΙ ΓΙΑ ΟΛΑ ΤΑ ΜΗΝΥΜΑΤΑ.ΠΧ ΕΜΦΑΝΙΣΕ 'ΔΩΣΤΕ ΔΥΟ ΑΡΙΘΜΟΥΣ'.ΑΥΤΟ ΔΕΝ ΜΠΑΙΝΕΙ.ΟΧΙ ΓΙΑ ΜΗΝΥΜΑΤΑ ΠΟΥ ΠΡΟΚΥΠΤΟΥΝ ΣΑΝ ΑΠΟΤΕΛΕΣΜΑ.ΑΥΤΑ ΦΥΣΙΚΑ ΚΑΙ ΣΥΜΦΩΝΑ ΜΕ ΤΗ ΘΕΩΡΙΑ ΤΟΥ ΒΙΒΛΙΟΥ ΜΠΑΙΝΟΥΝ ΣΤΟΝ ΑΛΓΟΡΙΘΜΟ.ΠΧ

ΑΛΓΟΡΙΘΜΟΣ ΠΧ
ΕΜΦΑΝΙΣΕ ''ΔΩΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ''
ΔΙΑΒΑΣΕ Χ
ΑΝ Χ MOD 2=Ο ΤΟΤΕ
      ΕΜΦΑΝΙΣΕ ''ΑΡΤΙΟΣ''
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ ΠΧ

ΤΟ ΜΗΝΥΜΑ ''ΑΡΤΙΟΣ'' ΦΥΣΙΚΑ ΚΑΙ ΜΠΑΙΝΕΙ ΚΑΙ ΣΤΟ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΓΙΑΤΙ ΕΙΝΑΙ ΑΠΟΤΕΛΕΣΜΑ.ΤΟ ''ΔΩΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ'' ΔΕΝ ΜΠΑΙΝΕΙ ΓΙΑ ΤΟΥΣ ΛΟΓΟΥΣ ΠΟΥ ΕΙΠΑ.
ΡΕ ΠΑΙΔΙΑ ΔΕΝ ΣΥΝΕΝΟΟΥΜΑΣΤΕ ΤΟΣΗ ΩΡΑ.ΜΙΛΑΜΕ ΑΠΟ ΧΘΕΣ.ΔΕΝ ΕΧΕΤΕ ΚΑΤΑΛΑΒΕΙ ΓΙΑ ΠΟΙΑ ΜΗΝΥΜΑΤΑ ΜΙΛΑΩ;;;;;;;;;;;;;
Παναγιωτη επειδή δεν έχω τα άλλα βοηθήματα που αναφέρεις παραπάνω για ξανατσέκαρέ τα.Μήπως και σε αυτά δεν βάζουν τα μηνύματα που είναι πρίν το διάβασε;Επαναλαμβάνω.ΟΧΙ ΟΛΑ ΤΑ ΜΗΝΥΜΑΤΑ.

Σούλας Βασίλης

Μα και στους αλγορίθμους σε ψευδογλώσσα τα προτρεπτικά μηνύματα δεν μπαίνουν (αν κάποιος τα βάλει δεν είναι όμως λάθος). Το ίδιο ισχύει λοιπόν και για τα διαγράμματα (αλγόριθμοι σε άλλη μορφή). Ποιά είναι η διαφωνία δεν έχω καταλάβει Άγγελε. Εσύ λες μήπως ότι απαγορεύονται να μπουν; Εγώ στις λύσεις που δίνω π.χ. στα θέματα ασκήσεων των Πανελληνίων (http://users.sch.gr/vasisoulas/epanalipsi.htm) γράφοντας αλγόριθμο σε ψευδογλώσσα βάζω τα μηνύματα προτροπής γιατί πιστεύω βοηθάει κάποιον τρίτο (μαθητές) που θα διαβάσει τον αλγόριθμο να τον κατανοήσει και να δει πιο πρόβλημα αυτός επιλύει.
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

alkisg

Σελίδα 20 τετραδίου μαθητή:
Η εντολή «Αποτελέσματα // s1, s2, s3 //» μεταφράζεται στο διάγραμμα με παραλληλόγραμμο «Εκτύπωσε s1, s2, s3».

Σελίδα 59 βιβλίου καθηγητή:
Το παραλληλόγραμμο «Διάβασε Ε» του διαγράμματος μεταφράζεται στην ψευδογλώσσα ως «Δεδομένα // Ε //».

Επομένως τα Δεδομένα / Αποτελέσματα αντιστοιχούν σε παραλληλόγραμμα.

Σελίδα 37 βιβλίου μαθητή:
«Εμφάνισε "Σε ποια ηλικία άρχισες να μαθαίνεις προγραμματισμό;"»

Επομένως μπορούμε να βάζουμε βοηθητικά μηνύματα στην ψευδογλώσσα.

Η ερώτηση του Άγγελου είναι: αν μετατρέπαμε τον αλγόριθμο της σελίδας 37 σε διάγραμμα, θα βάζαμε παραλληλόγραμμο ή θα το αγνοούσαμε;
ʼγγελε, αν βρούμε σχετικό παράδειγμα σε κάποιο από τα επίσημα standards για flowcharts (ISO, ANSI, ECMA κτλ) θα σε καλύψει; Γιατί στο βιβλίο δεν έχω δει κάτι που να το επιβεβαιώνει, ούτε να το απορρίπτει.

agelos

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

Σούλας Βασίλης

Τώρα αν έχεις να μετατρέψεις ένα αλγόριθμο από ψευδογλώσσα που έχει μηνύματα προτροπής σε δ.ρ. πρέπει να τα βάλεις πάλι γιατί το νόημα της μετατροπής είναι αυτό να φτιάξω κάτι που να κάνει το ίδιο με άλλη μορφή όμως (διαγράματα ροής). 
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

alkisg

Παράθεση από: agelos στις 30 Οκτ 2008, 08:12:14 ΜΜ
Τα μηνύματα πρίν το διάβασε δεν είναι έξοδος

ΟΚ, αλλά π.χ. εγώ πάλι με βάση το βιβλίο που λέει ότι «η Εμφάνισε είναι εντολή εξόδου» πιστεύω ότι όλες οι Εμφάνισε είναι έξοδος.

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

agelos

#51
Αλκη διαφωνώ.Είναι εντολή εξόδου όχι έξοδος και χρησιμοποιείται για να δώσει την έξοδο,το αποτέλεσμα δηλαδή πρός τον χρήστη σύμφωνα πάντα με το βιβλίο..Και για αυτό λέγεται και εντολή εξόδου.Έξοδος είναι αυτό που είναι μετά την εμφάνισε.Το δεδομένο δηλαδή το αποτέλεσμα.Αν κάτι δεν είναι αποτέλεσμα τότε δεν είναι έξοδος.Μπορείς να χρησιμοποιήσεις την εντολή εξόδου για να το εμφανίσεις αλλά δεν έιναι έξοδος αυτό που εμφανίζεις.Αν δείς σε συγγράματα πανεπιστημιακά που αναφέρονται στην ψευδογλώσσα (εγώ έχω δεί σε δύο) ειδικά για την είσοδο δεν σου βάζει κάν την εντολή.Σου έχει το πλάγιο παραλληλόγραμμο και βάζει μέσα μόνο το δεδομένο πχ το χ,Δεν βάζει το Διάβασε χ.Το συγκεκριμένο θέμα λοιπόν λύνεται από το βιβλίο.Σου μιλάει για είσοδο/έξοδο στο πλάγιο πραλληλόγραμμο όχι για εντολή εισόδου/εξόδου.Σου περιγράφει τι είναι έξοδος.Άρα όσα χρειάζεσαι τα έχεις.Δεν λέω ότι είναι σωστά αυτά που λέει.Προσωπικά αν θές τη γνώμη μου διαφωνώ κιόλας.Όντως καλύτερα να βάζουμε όλα τα μηνύματα σε πλάγιο και να σχολάει.Γιατί εγώ να κάθομαι να σπάω το κεφάλι μου;Αλλά έτσι όπως σου τα λέει σου απαγορεύει να τα βάλεις στο πλάγιο γιατί δεν είναι έξοδος.Το λάθος του βιβλίου από κεί και πέρα ας το πούμε έτσι είναι ότι δεν σου δίνει το κατάλληλο σχήμα για τέτοιου είδους μηνύματα.Και εκεί αρχίζει η αυθαιρεσία πολλών συναδέλφων κατά τη γνώμη μου.και επαναλαμβάνω.δεν το λέω με την κακή έννοια και ούτε πιστεύω πως θα υπάρξει ποτέ πρόβλημα σε αυτό το σημείο στις παναλλήνιες.

Σούλας Βασίλης

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

1. Υπολογισμός εμβαδού τριγώνου
2. Υπολογισμός εμβαδού τραπεζίου
3. Υπολογισμός εμβαδού κύκλου
4. Έξοδος

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

Άγγελε σε αυτή την περίπτωση για το συγκεκριμένο πρόβλημα δεν θα βάλεις τα μηνύματα σε παραλληλόγραμμα για να δημιουργήσεις το μενού; Μπορείς να χρησιμοποιήσεις βέβαια μεταβλητές χαρακτήρων και να το αποφύγεις αλλά αν στο διάγραμμα ροής βάλω τα εμφάνισε σε παραλληλόγραμμα θα έχω λάθος;
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

alkisg

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

ntzios kostas

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

Σούλας Βασίλης

Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

Σούλας Βασίλης

Ο Αλγόριθμος σε μορφή ψευδογλώσσας φτιάχνεται για να λύσει κάποιο πρόβλημα και συνήθως αποτυπώνετε σε χαρτί. Τα προεπτικά μηνύματα είναι προαιρετικά αλλά αυτό δεν σημαίνει ότι απαγορεύονται να μπουν.  Το ίδιο ισχύει και για τους αλγορίθμους σε μορφή διαγράμματος ροής και φυσικά θα μπουν σε παραλληλόγραμμα παρότι δεν είναι αποτελέσματα. Υπάρχει κάπου γραμμένο ότι μόνο τα αποτελέσματα μπαίνουν στα παραλληλόγραμμα; Που;
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

agelos

Κώστα αυτό ενισχύει αυτό που είπα ποιό πρίν.Όντως χρησιμοποιείται για έξοδο στοιχείων γενικα.Όσων αφορά το διάγραμμα ροής στο πλάγιο παραλληλόγραμμο βάζεις την έξοδο.Άρα στο συγκεκριμενοποιεί.Τα στοιχεία που είναι έξοδος βάζεις σε αυτό το σχήμα.Δεν σου λέει ούτε ότι βάζεις την εντολή εξόδου στοιχείων ούτε ότι βάζεις την εμφανισε.Σου λέει ότι βάζεις την έξοδο.Οπότε τι είναι έξοδος.Κλπ......
Αλκη αυτή η ερωτηση προφανώς απευθύνεται στον χρήστη ούτως ώστε να δώσει κάποιο δεδομένο το οποίο θα επεξεργαστεί ο υπολογιστής για να δώσει κάποιο αποτέλεσμα.θα έφτιαχνε ποτέ κάποιος έναν αλγόριθμο για να μάθει απλά ο υπολογιστής πότε κάποιος έμαθε προγραμματισμό;Τον αλγόριθμο τον φτιάχνουμε σύμφωνα με τον ορισμό για να λύνει προβλήματα προφανώς του χρήστη.Ο υπολογιστής σαν μηχάνημα δεν ενδιαφέρεται πότε κάποιος έμαθε προγραμματισμό.
ΒΑσίλη αυτό που ρωτάς έχει σχέση με αυτό που απαντάω τώρα στον ʼλκη.Το μενού το φτιάχνουμε και από πίσω κρύβονται κάποιες διάβασε προφανώς οι οποίες πέρνουν δεδομένα από τον χρήστη.Τα δεδομένα ενδιαφέρουν όχι το μενού.Το μενού δεν είναι ο λόγος για τον οποίο φτιάχνουμε τον αλγόριθμο.Δεν λύνει δηλαδη το πρόβλημα για το οποίο φτιάχτηκε ο αλγόριθμος.Αρα δεν είναι αποτέλεσμα και άρα δεν θα το έβαζα ΣΥΜΦΩΝΑ ΠΑΝΤΑ ΜΕ ΤΗ ΘΕΩΡΙΑ ΤΟΥ ΒΙΒΛΙΟΥ.Αν έφτιαχνα ένα πρόγραμμα και χρησιμοποιούσα visual c++ πχ. και διάγραμμα ροής ,επειδή το μενού έχει κάμποση μανούρα σίγουρα θα το έβαζα σε διάγραμμα ροής φτάνει να μου έλεγε κάποια θεωρία ποιά σχήματα να χρησιμοποιήσω.
Σε αυτό που ρωτάς στο τέλος Βασίλη γραφει στη σελίδα 29 ότι μπαίνει εισοδος/εξοδος.Προφανώς απαγορεύεται να βάλεις κάτι άλλο.Αν σου πούνε σε αυτό του κουτί βάζεις μήλα εσύ θα βάλεις πορτοκάλια;Προφανώς όχι.Εμμέσως πλήν όμως σαφώς απαγορεύεται.Αν όχι τότε βάλε και την άν,βάλε και εκφασεις κλπ.

Σούλας Βασίλης

σελ 29. Πλάγιο παραλληλόγραμμο, που δηλώνει είσοδο ή έξοδο στοιχείων. Πολλές φορές το σχήμα αυτό μπορεί να διαφοροποιείται προκειμένου να προσδιορίζεται και το είδος της συσκευής απ’ όπου γίνεται η είσοδος ή η έξοδος. Ακριβώς αυτό λέει. Μια εμφάνισε με ένα προεπτικό μήνυμα ακριβώς αυτό κάνει. Έξοδο στοιχείων στην οθόνη. Ποιά είναι η διαφωνία;
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

agelos

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

Σούλας Βασίλης

Ανάλογα με το πρόβλημα. Εσύ καθορίζεις τις απαιτήσεις και φτιάχνεις τον ανάλογο αλγόριθμο.
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

Σούλας Βασίλης

- Επίλυση του προβλήματος
Για τη σωστή επίλυση του προβλήματος βασική προϋπόθεση είναι ο καθορισμός απαιτήσεων.
Καθορισμός απαιτήσεων : Σημαίνει να  α) προσδιορίσουμε τα δεδομένα που παρέχονται β) να προσδιορίσουμε τα ζητούμενα, δηλαδή τι περιμένουμε σαν αποτέλεσμα.
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

agelos

Συμφωνώ.

Αλγόριθμος Πχ
Εμφάνισε 'Δώσε δύο αριθμούς'
Διάβασε χ,ψ
Τέλος Πχ

Ποίο πρόβλημα επιλύεται;

Πρόσεχε τη διαφορά.Αν πείς

Αλγόριθμος Πχ
Εμφάνισε "Δώσε 2 αριθμούς"
Τέλος Πχ

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

Σούλας Βασίλης

Κανένα πρόβλημα δεν επιλύει. Αν δεις παλαιότερη συζήτηση που συμμετείχα υποστήριζα ότι δεν πρέπει να ξεχνάμε τον ορισμό του Αλγορίθμου. Σε αυτή την συζήτηση υποστήριζα ότι με το να χρησιμοποιούμε συντακτικά σωστά εντολές δεν σημαίνει ότι έχουμε και Αλγόριθμο. Άρα η άποψη μου είναι ότι δεν είναι Αλγόριθμος γιατί δεν επιλύει κανένα πρόβλημα με την έννοια του προβλήματος που ξέρουμε. Γενική κατάσταση που χρίζει αντιμετώπισης και η λύση δεν είναι γνωστή ούτε προφανής. Εδώ βέβαια στην συγκεκριμένη παλαιότερη συζήτηση διαφωνούσα με πολλούς συναδέλφους.
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

Σούλας Βασίλης

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

Είναι αυτό μια γενική κατάσταση με μή γνωστή και προφανή λύση;
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

agelos

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

Σωστό και αυτό.Για ποιό λόγο να φτιάξει κάποιος ένα τέτοιο πρόγραμμα;;;;;Ίσως για εκπαιδευτικούς σκοπούς.Δηλαδή το πρόβλημα που επιλύει μπορείς να πe;iς πως είναι πως χρησιμοποιείται η εντολή εμφάνισε.Ξέρεις όπως τα κλασσικά προγράμματα "Hello World".

Σούλας Βασίλης

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

Δεν είναι έξοδος του αλγορίθμου σωστά αλλά αν υπάρχουν σε ένα Αλγόριθμο σε ψευδογλώσσα και τον μετατρέψεις σε δ.ρ. θα τα βάλεις σε παραλληλόγραμο. σελ 29. Πλάγιο παραλληλόγραμμο, που δηλώνει είσοδο ή έξοδο στοιχείων. Πολλές φορές το σχήμα αυτό μπορεί να διαφοροποιείται προκειμένου να προσδιορίζεται και το είδος της συσκευής απ’ όπου γίνεται η είσοδος ή η έξοδος. Αυτό είναι το θέμα της συζήτησης και της διαφωνίας σου.
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

Σούλας Βασίλης

Τα διαγράμματα ροής και η ψευδογλώσσα είναι οι 2 αυστηροί τρόποι περιγραφής ενός αλγορίθμου. Τα προεπτικά μηνύματα δεν είναι απαραίτητα αλλά και δεν είναι λάθος όταν χρησιμοποιούνται και περισσότερο δεν απαγορεύονται όπως αν κατάλαβα καλά υποστηρίζεις. Δεν προκύπτει από πουθενά ότι απαγορεύονται.
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

alkisg

Παράθεση από: agelos στις 30 Οκτ 2008, 09:12:08 ΜΜ
Τι είναι αποτέλεσμα αλγορίθμου;

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

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

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

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

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

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

Συγκεκριμένα στην ψευδογλώσσα, Αποτέλεσμα αλγορίθμου = Εμφάνισε και Αποτελέσματα.
Χρειάζεται να το κάνουμε πιο πολύπλοκο; Δε νομίζω ότι υπονοεί κάτι τέτοιο το βιβλίο...

Σούλας Βασίλης

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

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

Ακριβώς έτσι. Συμφωνώ. Καθορισμός απαιτήσεων.
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

agelos

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

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

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

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



agelos

#71
Και κάτι ακόμα.Νομίζω ότι όλοι είμαστε επηρεασμένοι από τον προγραμματισμό.Άλλο οι αλγόριθμοι και άλλο το πρόγραμμα.Γιατί ας πούμε δεν δηλώνουμε τις μεταβλητές στο διάγραμμα ροής;Αν δεν τις δηλώσουμε θα τρέξει το πρόγραμμα;Τουλάχιστον αν δεν πείς "Δώσε 2 αριθμούς" το πρόγραμμα θα τρέξει.Δεν είναι η δήλωση μεταβλητών μέρος της λύσης του προβλήματος;
ʼλλο η υλοποίηση του προγράμματος που υλοποιεί έναν αλγόριθμο και άλλο ο αλγόριθμος.
Για να υλοποιήσεις το πρόγραμμα χρειάζεσαι χιλια δυο επιπλεόν πράγματα τα οποία δεν έχουν σχέση με το αποτέλεσμα ή με τον αλγόριθμο αλλά με λειτουργικές παραμέτρους του υπολογιστή.Αν πχ φτιάξεις ένα πρόγραμμα που χρειάζεται ελάχιστη μνήμη λέω εγώ τωρα 5KB και το τρέξεις σε υπολογιστή που έχει 3ΚΒ αν δεν τρέξει δεν σημαίνει ότι είναι λάθος ο αλγόριθμος.Δεν θα φτιάξεις καινούριο αλγόριθμο αν αυτός είναι ο καλύτερος που υπάρχει.Θα βρείς άλλη λύση.Απλά δεν τρέχει σε παλιά μηχανήματα.Πές το στο manual του προγράμματος.Ή βάλε περισσότερη μνήμη στο συγκεκριμένο PC.Αν ο χρήστης βλέπει τον κέρσορα να αναβοσβήνει και δεν δίνει δεδομένα δεν φταίει ο αλγόριθμος.Ο αλγόριθμος δίνει λύση στο πρόβλημα.Το πρόγραμμα είναι μάπα.Δώστου και ένα manual μαζι με το πρόγραμμα για να ξέρει πότε να δίνει τι.Ή βάλτου μηνύματα.Δηλαδή αυτό το πρόβλημα λύνεται και αλλιώς.Δεν χρειάζεται να εμπλέξεις τον αλγόριθμό σου σε προβλήματα που έχουν να κάνουν με τον υπολογιστή.Μπορείς απλά να εμπλουτίσεις το πρόγραμμά σου για να είναι λειτουργικό και εύχρηστο.Αυτά δεν αφορούν τον αλγόριθμο.Αφορούν το πρόγραμμα.Ο αλγόριθμος λύνει ένα συγκεκριμένο πρόβλημα.Αν πχ έχεις έναν αλγόριθμο που λέει πχ να σώσεις 1000 ονόματα σε ένα αρχείο και υλοποιήσεις το πρόγραμμα με τρόπο που τα σώνει σε ένα text χάλια και κακογραμμένα με γραμματοσειρά ότι ναναι δεν φταίει ο αλγόριθμος.Σώστα με ποιό ωραίο τρόπο εσύ.Καταλάβατε τι θέλω να πώ;Είμαστε επηρεασμένοι από τον προγραμματισμό.Σαν έξοδο ο προγραμματιστής λέει καλώδια,οθόνες κλπ.Ο αλγόριθμος λέει αποτελέσματα.Μιλάει για λύσεις σε προβλήματα.

agelos

Καλημέρα σας και πάλι.
Έκανα μία ψιλοέρευνα στα βοηθήματα που κυκλοφορούν.Σε σύνολο 12 βοηθημάτων που μπόρεσα να βρώ (με καλή πρόθεση παιδιά.Δεν πήγα να βρώ αυτά που δεν τα έχουν.Βρήκα όλα όσα μπόρεσα) σας παραθέτω παρακάτω ποιά βάζουν τα μηνύματα για τα οποία διαφωνούμε στο διάγραμμα ροής όταν υπάρχουν στον αλγόριθμο και ποιά όχι.

Τα βάζουν στο διάγραμμα ροής όταν υπάρχουν στον αλγόριθμο:
Εκδόσεις Σαββάλα : Καραίσκος - Καραμπής
Εκδόσεις Ζήτη : Βερνάρδος - Μπότσαρης
Δεν τα βάζουν στο διάγραμμα ροής όταν υπάρχουν στον αλγόριθμο:
Εκδόσεις Σαββάλα :Τζιμογιάννης - Γιούνης
Εκδόσεις Ελληνοεκδοτική : Μιχαλακόπουλος - Τσιαπάλας
Εκδόσεις Σύγχρονη Πένα : Προβατάς
Αλλού τα βάζει αλλού όχι όταν υπάρχουν στον αλγόριθμο:
Εκδόσεις Γκιούρδα : Γιαννέλης 

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

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

Laertis

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

gpapargi

Άγγελε το διάγραμμα ροής είναι αλγόριθμος. Ο σωστός διαχωρισμός είναι διάγραμμα ροής - ψευδογλώσσα και όχι διάγραμμα ροής - αλγόριθμος. Και τα 2 είναι αλγόριθμοι και αυτό που αλλάζει είναι η μορφή αναπαράστασης (στη μια περίπτωση είναι κωδικοποίηση και στην άλλη διαγραμματική τεχνική).

ʼρα όταν μιλάμε για μετατροπή του ίδιου αλγορίθμου από τη μια μορφή στην άλλη δεν αλλάζει ο αλγόριθμος (δηλαδή οι ενέργειες που γίνονται) αλλά μόνο η αναπαράσταση.

Προτείνω λοιπόν να γίνεται πιστή μεταφορά όλων των εντολών μια που τα βήματα πρέπει να είναι ίδια.

Τώρα γενικά είδα ότι έχουν πέσει στην κουβέντα πολλά πράγματα σχετικά με τα «κριτήρια» που θεωρώ ότι είναι σε λάθος κατεύθυνση. ʼσε τι λέει το βιβλίο. Οι συγγραφείς προσπάθησαν να καταλάβουν τι έλεγε ο Knuth και δεν το κατάφεραν από ότι φαίνεται. Έτσι έγραψαν κάτι που ξέρουμε ότι δεν στέκει. Δεν έχει νόημα λοιπόν να προσπαθούμε εμείς να τεντώσουμε τις ερμηνείες μας έτσι ώστε να βγει κάτι συνεπές. Όσο και να το προσπαθήσουμε πάντα θα είναι δυνατόν να καταλήξουμε με ασυνέπειες γιατί απλά αυτά που λέει το βιβλίο δεν είναι συνεπή.

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

agelos

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

gpapargi

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

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

agelos

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

gpapargi

Άγγελε αυτό που προσπαθώ να πω είναι ότι αυτό που γράφει το βιβλίο δεν είναι κάποιος αυστηρός ορισμός της εξόδου.  Και γενικά η παράγραφος των κριτηρίων είναι προβληματική και δεν μπορούμε να θεμελιώσουμε σοβαρές και συνεπείς απόψεις πάνω σε αυτή. Να μια σελίδα που αναφέρει το input/output.
http://en.wikipedia.org/wiki/Input/output

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

Παράθεση από: agelos στις 01 Νοε 2008, 10:24:32 ΠΜ
[...] μιας και δεν βρέθηκε κάποιο επιχείρημα [...] να το αντικρούσει.

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

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

Σούλας Βασίλης

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

Συμφωνώ απόλυτα και πιστεύω ότι δεν υπάρχει κάτι άλλο πάνω σε αυτό. Απλά αναπαράσταση αλγορίθμου σε άλλη μορφή και άρα όλες οι ενέργειες πρέπει να αναπαρασταθούν και στην νέα μορφή.
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

agelos

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

alkisg

Παράθεση από: agelos στις 03 Νοε 2008, 04:00:25 ΜΜ
Όπως είπα σε προηγούμενο μήνυμα φυσικά και θάπρεπε να μπαίνουν και τα μηνύματα προτροπής αλλά όχι με αυτό το σχέδιο.Και μιας και δεν δίνει σχέδιο για αυτά το βιβλίο είναι αυθαιρεσία να χρησιμοποιούμε το πλάγιο παραλληλόγραμο για αυτά.

Άγγελε ποιο σχέδιο εννοείς;
Δεν έχω δει να υπάρχει διαφορετικό σχήμα για την εντολή Εμφάνισε "απλό μήνυμα"
σε σχέση με την εντολή Εμφάνισε "κάποιο αποτέλεσμα".


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