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

Γενικό Λύκειο => Δομή επανάληψης => Γ΄ Λυκείου => Εντολή ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ => Μήνυμα ξεκίνησε από: Sergio στις 25 Δεκ 2010, 10:37:31 ΜΜ

Τίτλος: Υπολογισμός της τιμής του ολοκληρώματος με επανάληψη
Αποστολή από: Sergio στις 25 Δεκ 2010, 10:37:31 ΜΜ
Προτείνω στους μαθητές μου ως μέτριας δυσκολίας άσκηση την παρακάτω. Η "δυσκολία" είναι περισσότερο στο επίπεδο της κατανόησης και της ανάλυσης παράσε αυτό της υλοποίησης, όπως πιστεύω είναι σκόπιμο στο πλαίσιο του μαθήματος.

Όποιος συνάδελφος τη θεωρεί χρήσιμη μπορεί να τη χρησιμοποιήσει. Όποιος εντοπίσει κάτι παρακαλώ ας σχολιάσει:


Όπως η τιμή της παραγώγου μίας συνάρτησης για κάποια τιμή του x, εκφράζει την κλήση της εφαπτόμενης στην καμπύλη σε εκείνο το σημείο, η τιμή του ολοκληρώματος μίας συνάρτησης για κάποιο πεδίο ορισμού, εκφράζει το εμβαδό της επιφάνειας που περικλείεται ανάμεσα στην καμπύλη της συνάρτησης και τον άξονα X. Ένας τρόπος για τον υπολογισμό της τιμής του ολοκληρώματος βασίζεται στην παρακάτω προσεγγιστική μέθοδο, γνωστή ως μέθοδο των τραπεζίων:
α. η επιφάνεια προς μέτρηση χωρίζεται σε πολλές, διαδοχικές, ισοπαχείς κατακόρυφες λωρίδες
β. το εμβαδό κάθε λωρίδας υπολογίζεται (κατά προσέγγιση) ως εμβαδό τραπεζίου από τη σχέση:
(Βάση_1 + Βάση_2)   x Ύψος / 2
γ. το συνολικό εμβαδό της επιφάνειας προκύπτει ως το άθροισμα των εμβαδών των επιμέρους «λωρίδων».
Να κατασκευάσετε πρόγραμμα που θα ζητάει το πεδίο ορισμού ως δύο τιμές (αρχή – τέλος) και θα υπολογίζει την τιμή του ολοκληρώματος της συνάρτησης f(x) = logx με τη μέθοδο των τραπεζίων. Οι τιμές που δίνονται για το πεδίο ορισμού θα πρέπει να γίνονται δεκτές μόνο εφόσον είναι θετικές.
Να σημειωθεί ότι η προσέγγιση της σωστής τιμής είναι ακριβέστερη όσο μειώνεται το «πάχος των λωρίδων.  Για το σκοπό αυτό, ο αλγόριθμος να χωρίζει την περιοχή σε τουλάχιστον 100 λωρίδες, πάχους όχι  μεγαλύτερου της μονάδας.
Τίτλος: Απ: Υπολογισμός της τιμής του ολοκληρώματος με επανάλη
Αποστολή από: Sergio στις 15 Ιαν 2011, 01:12:11 ΜΜ
Παραθέτω μία λύση, η οποία όμως έχει 2 λογικά λάθη.  Το ένα είναι εύκολο να εντοπιστεί στον κώδικα, το δεύτερο απαιτεί λίγο περισσότερη σκέψη.

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

Κάποια στιγμή θα τα.. πάρει το ποτάμι, αξίζει όμως να προσπαθήσετε νεαροί και δεσποινίδες :)


Κώδικας (ΓΛΩΣΣΑ) [Επιλογή]

ΠΡΟΓΡΑΜΜΑ Υπολογισμός_Τιμής_Ολοκληρώματος
ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: αρχ_τ, τελ_τ, χ, χ1, χ2, πάχος, εμβ_λωρίδας
  ΠΡΑΓΜΑΤΙΚΕΣ: Τιμή_ολ, ψ1, ψ2
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Ποιά είναι η αρχή του πεδίου ορισμού; Δώσε θετική τιμή'
    ΔΙΑΒΑΣΕ αρχ_τ
  ΜΕΧΡΙΣ_ΟΤΟΥ αρχ_τ > 0
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Ποιό είναι το τέλος του πεδίου ορισμού; Δώσε θετική τιμή'
    ΔΙΑΒΑΣΕ τελ_τ
  ΜΕΧΡΙΣ_ΟΤΟΥ τελ_τ > 0

  Τιμή_ολ <- 0

  πάχος <- (τελ_τ - αρχ_τ) /100
  ΑΝ πάχος > 1 ΤΟΤΕ
    πάχος <- 1
  ΤΕΛΟΣ_ΑΝ

  ΓΙΑ χ ΑΠΟ αρχ_τ ΜΕΧΡΙ τελ_τ ΜΕ_ΒΗΜΑ πάχος
    χ1 <- χ
    χ2 <- χ + πάχος
    ψ1 <- ΛΟΓ(χ1)
    ψ2 <- ΛΟΓ(χ2)
    εμβ_λωρίδας <- ( ψ1 + ψ2 ) * πάχος / 2
   
    Τιμή_ολ <- Τιμή_ολ + εμβ_λωρίδας
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
  ΓΡΑΨΕ 'Η τιμή του ολοκληρώματος της συνάρτησης από ', αρχ_τ, ' μέχρι ', τελ_τ, ' είναι ', Τιμή_ολ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ