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

Γενικό Λύκειο => Γ΄ Λυκείου => Δομή επανάληψης => Μήνυμα ξεκίνησε από: Kalli στις 01 Νοε 2010, 01:50:02 ΜΜ

Τίτλος: Max και Min
Αποστολή από: Kalli στις 01 Νοε 2010, 01:50:02 ΜΜ
Γεια σας συνάδελφοι! Εχω μια ερώτηση για το μέγιστο και ελάχιστο. Αν η άσκηση ζητάει το max και min 200 βαθμών, γράφουμε:

max<--0
min <-- 21
Για i από 1 μέχρι 200
    Διάβασε β
    Αν max<β τότε
        max<--β
    Τελος_αν
    Αν min >β τότε
        min <--β
    Τελος_αν
Τελος_επαναληψης

Είναι σωστό και το παρακάτω;;;;;;;
max<--0
min <-- 21
Για i από 1 μέχρι 200
    Διάβασε β
    Αν max<β τότε
        max<--β
    Αλλιώς
        min <--β
    Τελος_αν
Τελος_επαναληψης
Τίτλος: Απ: Max και Min
Αποστολή από: petrosp13 στις 01 Νοε 2010, 02:05:37 ΜΜ
Όταν μια τιμή δεν είναι μεγαλύτερη της μέγιστης, δεν σημαίνει αυτόματα ότι είναι και μικρότερη της ελάχιστης
max=8
min=2
και εξετάζεται π.χ. το 6. Θα το βάλεις min επειδή δεν είναι μεγαλύτερο του max;;;;

Ο πρώτος αλγόριθμος είναι σωστός εφόσον εξασφαλίζεται ότι οι βαθμοί είναι στην κλίμακα 0-20
Τίτλος: Απ: Max και Min
Αποστολή από: Δημήτρης Γκίνης στις 01 Νοε 2010, 03:40:48 ΜΜ
@Kalli:
Γνώμη μου είναι ότι όπου ζητείται μέγιστο ή ελάχιστο από μια σειρά αριθμών (το ίδιο ισχύει και για χαρακτήρες φυσικά), καλό είναι να συμβουλεύουμε τους μαθητές μας να ορίζουν ως μέγιστο (ή ελάχιστο ) τον πρώτο από τους αριθμούς (ή χαρακτήρες) και να συγκρίνουν τους υπόλοιπους με αυτό .
Όχι ότι η λογική που παρουσιάζει το παράδειγμά σου είναι λάθος (αναφέρομαι στο να θέτεις  στο max την τιμή 0 και στο min το 21, γιατί κατά τα άλλα θα συμφωνήσω με τον petrosp13 ότι η δεύτερη λύση είναι λάθος), αλλά αρκετοί μαθητές τείνουν να εφαρμόζουν την μεθοδολογία αυτή ως "τυφλοσούρτη" με αποτέλεσμα σε ασκήσεις όπως το παρακάτω παράδειγμα να την πατάνε:
"Να γραφεί αλγόριθμος μου διαβάζει 100 αριθμούς και βρίσκει τον μέγιστο από αυτούς και τον εμφανίζει"
Τίτλος: Απ: Max και Min
Αποστολή από: mour στις 01 Νοε 2010, 04:16:24 ΜΜ
Παράθεση από: Δημήτρης Γκίνης στις 01 Νοε 2010, 03:40:48 ΜΜ
@Kalli:
Γνώμη μου είναι ότι όπου ζητείται μέγιστο ή ελάχιστο από μια σειρά αριθμών (το ίδιο ισχύει και για χαρακτήρες φυσικά), καλό είναι να συμβουλεύουμε τους μαθητές μας να ορίζουν ως μέγιστο (ή ελάχιστο ) τον πρώτο από τους αριθμούς (ή χαρακτήρες) και να συγκρίνουν τους υπόλοιπους με αυτό .
Όχι ότι η λογική που παρουσιάζει το παράδειγμά σου είναι λάθος (αναφέρομαι στο να θέτεις  στο max την τιμή 0 και στο min το 21, γιατί κατά τα άλλα θα συμφωνήσω με τον petrosp13 ότι η δεύτερη λύση είναι λάθος), αλλά αρκετοί μαθητές τείνουν να εφαρμόζουν την μεθοδολογία αυτή ως "τυφλοσούρτη" με αποτέλεσμα σε ασκήσεις όπως το παρακάτω παράδειγμα να την πατάνε:
"Να γραφεί αλγόριθμος μου διαβάζει 100 αριθμούς και βρίσκει τον μέγιστο από αυτούς και τον εμφανίζει"

Συμφωνώ απόλυτα με αυτη την άποψη και επι πλέον η κλίμακα των βαθμών στο λύκειο είναι από 0 έως και 100  ;)
Τίτλος: Απ: Max και Min
Αποστολή από: Νίκος Αδαμόπουλος στις 01 Νοε 2010, 06:41:53 ΜΜ
... και για να το πάρει το ποτάμι, το:

   Αν max<β τότε
        max<--β
    Τελος_αν
    Αν min >β τότε
        min <--β
    Τελος_αν

... θα ήταν ισοδύναμο με το

    Αν max<β τότε
        max<--β
    αλλιώς_αν min >β τότε
        min <--β
    Τελος_αν

... αν δεν υπήρχε περίπτωση να ίσχυαν ταυτόχρονα και οι δύο συνθήκες max<β και min>β. Αυτό όντως θα συνέβαινε αν είχες εκχωρήσει τον πρώτο αριθμό που διαβάζεται ως αρχική τιμή του max και min. Π.χ.

Διάβασε β
max<--β
min <-- β
Για i από 2 μέχρι 200
    Διάβασε β
    Αν max<β τότε
        max<--β
    αλλιώς_αν min >β τότε
        min <--β
    Τελος_αν
Τελος_επαναληψης

Όμως, αφού στην αρχή βάζεις κάποιες ακραίες τιμές (αν ξέρεις τα όρια) τότε υπάρχει περίπτωση να έχουμε πρόβλημα. Π.χ. αν όλοι οι αριθμοί είναι διαφορετικοί μεταξύ τους και διαβάζονται με αύξουσα σειρά τότε θα είναι συνεχώς μέχρι το τέλος αληθής η πρώτη συνθήκη και το min δεν λάβει ποτέ άλλη τιμή πέραν της αρχικής (το 21 δηλαδή). Γενικά λοιπόν θέλει προσοχή και κάθε περίπτωση είναι διαφορετική!