Έφτιαξα ένα εγχειρίδιο για μετατροπές απο την μία δομή στην άλλη και απο διάγραμμα ροής σε ψευδοκώδικα.
Το συγκεκριμένο εγχειρίδιο είναι για μαθητές που δεν έχουν κατανοήσει πλήρως τις βασικές αρχές του μαθήματος.
Είναι στην ουσία για τους "ΠΑΠΑΓΑΛΟΥΣ" μαθητές.
Δεν συμφωνώ με αυτή τη μέθοδο απλά το θεωρό ώς λύση ανάγκης.
Περιμένω τις παρατηρήσεις σας και διορθώσεις.
ΜΕΤΑΤΡΟΠΗ ΑΠΟ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΣΕ ΨΕΥΔΟΚΩΔΙΚΑ
Για να μετατρέψουμε έναν αλγόριθμο από διάγραμμα σε ψευδοκώδικα ακολουθούμε τα παρακάτω βήματα.
ΒΗΜΑ 1
Ελέγχουμε στο διάγραμμα τους Ρόμβους. Στην περίπτωση που κάποιο από τα αληθής ή ψευδής επιστρέφει προς τα πάνω, τότε αυτή η συνθήκη είναι συνθήκη δομής επανάληψης (ΣΧΗΜΑ 1 ΣΥΝΘΗΚΗ2 & ΣΥΝΘΗΚΗ3). Σε αντίθετη περίπτωση είναι συνθήκη δομής επιλογής (ΣΧΗΜΑ 1 ΣΥΝΘΗΚΗ1). Στην περίπτωση που είναι συνθήκη δομής επανάληψης τότε ελέγχουμε ποιο από τα αληθής, ψευδής επιστρέφει στην συνθήκη. Αν επιστρέφει το αληθής, τότε η συνθήκη είναι συνθήκη επανάληψης ΟΣΟ (ΣΧΗΜΑ 1 ΣΥΝΘΗΚΗ2)ενώ αν επιστρέφει από το ψευδής τότε είναι συνθήκη επανάληψης ΜΕΧΡΙΣ_ΟΤΟΥ (ΣΧΗΜΑ 1 ΣΥΝΘΗΚΗ2).
Νομίζω ότι πρέπει να το αλλάξεις σε:
Αν ο έλεγχος της συνθήκης προηγείται της εκτέλεσης των εντολών τότε πρόκειται για ΟΣΟ, διαφορετικά αν ο έλεγχος της συνθήκης γίνετια μετά την εκτέλεση των εντολών πρόκειται για ΜΕΧΡΙΣ_ΟΤΟΥ
Θα διαφωνήσω με αυτή την προσέγγιση.
Στην ΟΣΟ η εντολές βρόχου εκτελούνται όσο η συνθήκη είναι αληθής, άρα στο διάγραμμα επιστρέφει απο το αληθής.
Στην Μεχρις_Οτου η εντολές βρόχου εκτελούνται όσο η συνθήκη είναι ψευδής άρα επιστρέφει απο το ψευδής.
Να σημειώσω εδώ οτι το συγκεκριμένο εγχειρίδιο είναι για αυτοματοποιημένο τρόπο.
Δηλαδή το συνημμένο αντιστοιχεί σε Μέχρις_ότου ;
Στο διάγραμμα η συνθήκη2 είναι ΟΣΟ και η συνθήκη3 ΜΕΧΡΙΣ_ΟΤΟΥ
manosteach στο συνημμένο οι συνθήκες σε τι δομές αντιστοιχούν;;;; ::)
Παράθεση από: ikariofil στις 22 Μαΐου 2012, 01:48:15 ΜΜ
Δηλαδή το συνημμένο αντιστοιχεί σε Μέχρις_ότου ;
Το συγκεκριμένο στο συνημμένο αρχείο είναι ΟΣΟ αλλά θα πρέπει να μπεί ΟΧΙ ΣΥΝΘΗΚΗ.
Απαιτεί αυτός που θα το λύσει να έχει κατανοήσει αρκετά πράματα.
Παράθεση από: twisted στις 22 Μαΐου 2012, 02:14:34 ΜΜ
manosteach στο συνημμένο οι συνθήκες σε τι δομές αντιστοιχούν;;;; ::)
Το Δεύτερο διάγραμμα σε όσο δηλαδή
ΕΝΤΟΛΕΣ
ΟΣΟ ΣΥΝΘΗΚΗ2 ΕΠΑΝΑΛΑΒΕ
ΕΝΤΟΛΕΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Το πρώτο διάγραμμα απαιτεί κατανόηση.
μπορεί αν γραφεί σε αυτή τη μορφή
Αν ΟΧΙ ΣΥΝΘΗΚΗ1 ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΕΝΤΟΛΕΣ
ΜΕΧΡΙΣ_ΟΤΟΥ ΣΥΝΘΗΚΗ1
ΤΕΛΟΣ_ΑΝ
Ή
ΟΣΟ ΟΧΙ ΣΥΝΘΗΚΗ1 ΕΠΑΝΑΛΑΒΕ
ΕΝΤΟΛΕΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Συμφωνούμε, όμως έτσι ο μαθητής θα πρέπει να κάνει και μετατροπή από ΟΣΟ σε ΜΕΧΡΙΣ_ΟΤΟΥ και αντίστροφα, ενώ αν ακολουθήσεις το σχόλιο του ikariofil (Αν ο έλεγχος της συνθήκης προηγείται της εκτέλεσης των εντολών τότε πρόκειται για ΟΣΟ, διαφορετικά αν ο έλεγχος της συνθήκης γίνετια μετά την εκτέλεση των εντολών πρόκειται για ΜΕΧΡΙΣ_ΟΤΟΥ) δεν μπλέκεσαι με κάτι άλλο.
Να προτείνω και εγώ μια μεθοδολογία που χρησιμοποιώ σε αυτές τις περιπτώσεις
Σχεδίασε την πρώτη λογική ισοδύναμη μορφή που σου έρχεται στο μυαλό
ΔενΙσχύει <-- Αληθής
Όσο ΔενΙσχύει Επανάλαβε
Δοκίμασε να εκτελέσεις τις δυο "ισοδύναμες μορφές" με μια τυχαία τιμή, με τα άκρα των διαστημάτων και όποια ειδική περίπτωση βρεις
Αν στις παραπάνω περιπτώσεις εμφανίζουν τα ίδια τότε
ΔενΙσχύει <-- Ψευδής
Αλλιώς
Κάνε τις απαραίτητες αλλαγές ακόμα και αν χρειαστεί να κάνεις δοκιμές για να εμφανίζουν τα ίδια
Τέλος_αν
Τέλος_Επανάληψης
Φυσικά ο παραπάνω αλγόριθμος μπορεί να αντιμετωπίσει ένα μικρό πρόβλημα περατότητας, αλλά σε γενικές γραμμές δουλεύει
Παράθεση από: manosteach στις 22 Μαΐου 2012, 02:15:46 ΜΜ
Το συγκεκριμένο στο συνημμένο αρχείο είναι ΟΣΟ αλλά θα πρέπει να μπεί ΟΧΙ ΣΥΝΘΗΚΗ.
Απαιτεί αυτός που θα το λύσει να έχει κατανοήσει αρκετά πράματα.
Πολύ καλό!!! Το είχα κάνει και γω όταν ήμουν μαθητής, αυτό και αν είναι παγίδα.........
Τροποποίησα λίγο το εγχειρίδιο με βάση τις συμβουλές του ikariofil και πρόσθεσα και βήματα για την μετατροπή συνάρτησης σε διαδικασία.
Περιμένω παρατηρήσεις.
Συνάδελφε δες και το αρχείο αυτό σχετικά με τις μετατροπές από μία εντολή επανάληψης σε μία άλλη.
http://sdoukakis.files.wordpress.com/2011/04/ap_sd_pg_pekap_2011.pdf
Παράθεση από: manosteach στις 29 Μαΐου 2012, 11:16:22 ΜΜ
Τροποποίησα λίγο το εγχειρίδιο με βάση τις συμβουλές του ikariofil και πρόσθεσα και βήματα για την μετατροπή συνάρτησης σε διαδικασία.
Περιμένω παρατηρήσεις.