Επιλογή Σελίδας

Δίνεται η εξίσωση e^x – 2x – 1 = 0. Να γραφεί πρόγραμμα το οποίο να βρίσκει μια ρίζα της εξίσωσης αυτής στο διάστημα [1,2] με τη μέθοδο της διχοτόμησης, όπως περιγράφηκε στην παράγραφο 4.3 του βιβλίου σου.

…” Ο τρόπος που λειτουργεί η δυαδική αναζήτηση είναι ανάλογος με αυτόν της μεθόδου της διχοτόμησης. Η μέθοδος της διχοτόμησης (ή του Bolzano) χρησιμοποιείται για την εύρεση μιας ρίζας της εξίσωσης f(x)=0 στο διάστημα [a, b]. Ως γνωστό, στο διάστημα αυτό υπάρχει μία τουλάχιστον ρίζα, αν ισχύει f(a).f(b)<0 (για την ακρίβεια μπορεί να υπάρχει περιττός αριθμός ριζών). Με τη μέθοδο της διχοτόμησης βρίσκεται ένα σημείο x1 ( = (a+b)/2) στο μέσο του διαστήματος [a, b] και εξετάζεται, αv f(a).f(x1)<0. Αν ναι, τότε η ρίζα υπάρχει στο διάστημα [a, x1], αλλιώς στο [x1, b]. Στη συνέχεια βρίσκεται το μέσο x2 του υποδιαστήματος που υπάρχει η ρίζα και επαναλαμβάνονται τα ίδια. Έτσι σε κάθε επανάληψη εξαιρείται από την έρευνα το μισό διάστημα και προφανώς η ακολουθία τιμών x1, x2,… συγκλίνει προς τη ρίζα της εξίσωσης. Η διαδικασία τερματίζεται, όταν η προσέγγιση της ρίζας θεωρείται ικανοποιητική.”

ΛΥΣΗ

ΠΡΟΓΡΑΜΜΑ Διχοτόμηση
ΣΤΑΘΕΡΕΣ
ΔΧ=0.1 ! Η προσέγγιση στη ρίζα
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ:Χ1,Χ2, ΜΕΣΟ, ΓΙΝ
ΑΡΧΗ
ΓΡΑΨΕ 'ΔΩΣΕ Χ1,Χ2'
 ΔΙΑΒΑΣΕ Χ1, Χ2
 ΓΙΝ <-- F(Χ1)*F(Χ2)
 ΑΝ ΓΙΝ > 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Η ΕΞΙΣΩΣΗ ΔΕΝ ΕΧΕΙ ΛΥΣΗ ΣΤΟ ΠΕΔΙΟ [', Χ1, Χ2, ']'
 ΑΛΛΙΩΣ
    ΟΣΟ Α_Τ(Χ1-Χ2)>ΔΧ ΕΠΑΝΑΛΑΒΕ
        ΜΕΣΟ <-- (Χ1+Χ2)/2
        ΓΙΝ <-- F(Χ1)*F(ΜΕΣΟ)
        ΑΝ ΓΙΝ <0 ΤΟΤΕ 
           Χ1 <-- ΜΕΣΟ
        ΑΛΛΙΩΣ
           Χ2 <-- ΜΕΣΟ 
        ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Η ΡΙΖΑ ΤΗΣ ΕΞΙΣΩΣΗΣ ΕΙΝΑΙ ', ΜΕΣΟ, 'ΜΕ ΠΡΟΣΕΓΓΙΣΗ', ΔΧ
 ΤΕΛΟΣ_ΑΝ 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΣΥΝΑΡΤΗΣΗ F(Α) : ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: Α
ΑΡΧΗ
F<--Ε(Α)-2*Α-1
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Share This