Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Θεωρία => Μήνυμα ξεκίνησε από: manosteach στις 22 Μαΐου 2012, 01:02:45 ΜΜ

Τίτλος: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: manosteach στις 22 Μαΐου 2012, 01:02:45 ΜΜ
Έφτιαξα ένα εγχειρίδιο για μετατροπές απο την μία δομή στην άλλη και απο διάγραμμα ροής σε ψευδοκώδικα.
Το συγκεκριμένο εγχειρίδιο είναι για μαθητές που δεν έχουν κατανοήσει πλήρως τις βασικές αρχές του μαθήματος.
Είναι στην ουσία για τους "ΠΑΠΑΓΑΛΟΥΣ" μαθητές.
Δεν συμφωνώ με αυτή τη μέθοδο απλά  το θεωρό ώς λύση ανάγκης.
Περιμένω τις παρατηρήσεις σας και διορθώσεις. 
Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: ikariofil στις 22 Μαΐου 2012, 01:28:16 ΜΜ
ΜΕΤΑΤΡΟΠΗ ΑΠΟ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΣΕ ΨΕΥΔΟΚΩΔΙΚΑ
Για να μετατρέψουμε έναν αλγόριθμο από διάγραμμα σε ψευδοκώδικα ακολουθούμε τα παρακάτω βήματα.

ΒΗΜΑ 1
Ελέγχουμε στο διάγραμμα τους Ρόμβους. Στην περίπτωση που κάποιο από τα αληθής ή ψευδής επιστρέφει  προς τα πάνω, τότε αυτή η συνθήκη είναι συνθήκη δομής επανάληψης (ΣΧΗΜΑ 1  ΣΥΝΘΗΚΗ2 & ΣΥΝΘΗΚΗ3). Σε αντίθετη περίπτωση είναι συνθήκη δομής επιλογής (ΣΧΗΜΑ 1  ΣΥΝΘΗΚΗ1). Στην περίπτωση που είναι συνθήκη δομής επανάληψης τότε ελέγχουμε ποιο από τα αληθής, ψευδής επιστρέφει στην συνθήκη. Αν  επιστρέφει το αληθής, τότε η συνθήκη είναι συνθήκη επανάληψης  ΟΣΟ (ΣΧΗΜΑ 1  ΣΥΝΘΗΚΗ2)ενώ αν επιστρέφει από το ψευδής τότε είναι  συνθήκη επανάληψης ΜΕΧΡΙΣ_ΟΤΟΥ (ΣΧΗΜΑ 1  ΣΥΝΘΗΚΗ2).

Νομίζω ότι πρέπει να το αλλάξεις σε:

Αν ο έλεγχος της συνθήκης προηγείται της εκτέλεσης των εντολών τότε πρόκειται για ΟΣΟ, διαφορετικά αν ο έλεγχος της συνθήκης γίνετια μετά την εκτέλεση των εντολών πρόκειται για ΜΕΧΡΙΣ_ΟΤΟΥ

Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: manosteach στις 22 Μαΐου 2012, 01:33:18 ΜΜ
Θα διαφωνήσω με αυτή την προσέγγιση.
Στην ΟΣΟ η εντολές βρόχου εκτελούνται όσο η συνθήκη είναι αληθής, άρα στο διάγραμμα επιστρέφει απο το αληθής.
Στην Μεχρις_Οτου  η εντολές βρόχου εκτελούνται όσο η συνθήκη είναι ψευδής άρα επιστρέφει απο το ψευδής.

Να σημειώσω εδώ οτι το συγκεκριμένο εγχειρίδιο είναι για αυτοματοποιημένο τρόπο.
Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: ikariofil στις 22 Μαΐου 2012, 01:48:15 ΜΜ
Δηλαδή το συνημμένο αντιστοιχεί σε Μέχρις_ότου ;

Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: manosteach στις 22 Μαΐου 2012, 01:49:55 ΜΜ
Στο διάγραμμα η συνθήκη2 είναι ΟΣΟ και η συνθήκη3 ΜΕΧΡΙΣ_ΟΤΟΥ
Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: twisted στις 22 Μαΐου 2012, 02:14:34 ΜΜ
manosteach στο συνημμένο οι συνθήκες σε τι δομές αντιστοιχούν;;;; ::)
Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: manosteach στις 22 Μαΐου 2012, 02:15:46 ΜΜ
Παράθεση από: ikariofil στις 22 Μαΐου 2012, 01:48:15 ΜΜ
Δηλαδή το συνημμένο αντιστοιχεί σε Μέχρις_ότου ;
Το συγκεκριμένο στο συνημμένο αρχείο είναι ΟΣΟ αλλά θα πρέπει να μπεί ΟΧΙ ΣΥΝΘΗΚΗ.
Απαιτεί αυτός που θα το λύσει να έχει κατανοήσει αρκετά πράματα.
Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: manosteach στις 22 Μαΐου 2012, 02:22:21 ΜΜ
Παράθεση από: twisted στις 22 Μαΐου 2012, 02:14:34 ΜΜ
manosteach στο συνημμένο οι συνθήκες σε τι δομές αντιστοιχούν;;;; ::)
Το Δεύτερο διάγραμμα σε όσο δηλαδή
ΕΝΤΟΛΕΣ
ΟΣΟ ΣΥΝΘΗΚΗ2 ΕΠΑΝΑΛΑΒΕ
ΕΝΤΟΛΕΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Το πρώτο διάγραμμα απαιτεί κατανόηση.
μπορεί αν γραφεί σε αυτή τη μορφή
Αν ΟΧΙ ΣΥΝΘΗΚΗ1 ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΕΝΤΟΛΕΣ
ΜΕΧΡΙΣ_ΟΤΟΥ ΣΥΝΘΗΚΗ1
ΤΕΛΟΣ_ΑΝ

Ή
ΟΣΟ ΟΧΙ ΣΥΝΘΗΚΗ1 ΕΠΑΝΑΛΑΒΕ
ΕΝΤΟΛΕΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: twisted στις 22 Μαΐου 2012, 02:27:22 ΜΜ
Συμφωνούμε, όμως έτσι ο μαθητής θα πρέπει να κάνει και μετατροπή από ΟΣΟ σε ΜΕΧΡΙΣ_ΟΤΟΥ και αντίστροφα, ενώ αν ακολουθήσεις το σχόλιο του ikariofil (Αν ο έλεγχος της συνθήκης προηγείται της εκτέλεσης των εντολών τότε πρόκειται για ΟΣΟ, διαφορετικά αν ο έλεγχος της συνθήκης γίνετια μετά την εκτέλεση των εντολών πρόκειται για ΜΕΧΡΙΣ_ΟΤΟΥ) δεν μπλέκεσαι με κάτι άλλο.
Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: evry στις 22 Μαΐου 2012, 04:02:02 ΜΜ
Να προτείνω και εγώ μια μεθοδολογία που χρησιμοποιώ σε αυτές τις περιπτώσεις

Σχεδίασε την πρώτη λογική ισοδύναμη μορφή που σου έρχεται στο μυαλό
ΔενΙσχύει <-- Αληθής
Όσο ΔενΙσχύει Επανάλαβε
    Δοκίμασε να εκτελέσεις τις δυο "ισοδύναμες μορφές" με μια τυχαία τιμή, με τα άκρα των διαστημάτων και όποια ειδική περίπτωση βρεις
    Αν στις παραπάνω περιπτώσεις εμφανίζουν τα ίδια τότε
          ΔενΙσχύει <-- Ψευδής
    Αλλιώς
          Κάνε τις απαραίτητες αλλαγές ακόμα και αν χρειαστεί να κάνεις δοκιμές για να εμφανίζουν τα ίδια
    Τέλος_αν
Τέλος_Επανάληψης

Φυσικά ο παραπάνω αλγόριθμος μπορεί να αντιμετωπίσει ένα μικρό πρόβλημα περατότητας, αλλά σε γενικές γραμμές δουλεύει             
Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: Stefevan στις 22 Μαΐου 2012, 04:12:38 ΜΜ
Παράθεση από: manosteach στις 22 Μαΐου 2012, 02:15:46 ΜΜ
Το συγκεκριμένο στο συνημμένο αρχείο είναι ΟΣΟ αλλά θα πρέπει να μπεί ΟΧΙ ΣΥΝΘΗΚΗ.
Απαιτεί αυτός που θα το λύσει να έχει κατανοήσει αρκετά πράματα.

Πολύ καλό!!! Το είχα κάνει και γω όταν ήμουν μαθητής, αυτό και αν είναι παγίδα.........
Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: manosteach στις 29 Μαΐου 2012, 11:16:22 ΜΜ
Τροποποίησα λίγο το εγχειρίδιο με βάση τις συμβουλές του ikariofil και πρόσθεσα και βήματα για την μετατροπή συνάρτησης σε διαδικασία.
Περιμένω παρατηρήσεις.
Τίτλος: Απ: ΕΓΧΕΙΡΙΔΙΟ
Αποστολή από: Σπύρος Δουκάκης στις 30 Μαΐου 2012, 09:13:38 ΠΜ
Συνάδελφε δες και το αρχείο αυτό σχετικά με τις μετατροπές από μία εντολή επανάληψης σε μία άλλη.

http://sdoukakis.files.wordpress.com/2011/04/ap_sd_pg_pekap_2011.pdf

Παράθεση από: manosteach στις 29 Μαΐου 2012, 11:16:22 ΜΜ
Τροποποίησα λίγο το εγχειρίδιο με βάση τις συμβουλές του ikariofil και πρόσθεσα και βήματα για την μετατροπή συνάρτησης σε διαδικασία.
Περιμένω παρατηρήσεις.