Mamy daną funkcję oraz jej pochodną . Wiemy, że funkcja ma jedno miejsce zerowe znajdujące się w przedziale .
Napisz program, który za pomocą metody stycznych wyznaczy przybliżoną wartość miejsca zerowego funkcji w danym przedziale i wypisze ją z dokładnością do trzeciego miejsca po przecinku (nie zaokrąglaj ostatniej cyfry).
Przetestuj swój program dla następujących danych:
Specyfikacja problemu:
Dane:
funkcja – funkcja , której przybliżoną wartość miejsca zerowego należy obliczyć
pochodna – funkcja będąca pochodną funkcji
x1 – początek przedziału; liczba rzeczywista
x2 – koniec przedziału; liczba rzeczywista
Wynik:
wynik – przybliżona wartość miejsca zerowego funkcji; liczba rzeczywista
RAHBrYSj48Wox
Przykładowe rozwiązanie zadania:
Linia 1. kratka include otwórz nawias ostrokątny iostream zamknij nawias ostrokątny.
Linia 2. kratka include otwórz nawias ostrokątny cmath zamknij nawias ostrokątny.
Linia 3. using namespace std średnik.
Linia 5. double funkcja otwórz nawias okrągły double x zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. return x asterysk sin otwórz nawias okrągły x zamknij nawias okrągły plus x asterysk x asterysk x minus 5 średnik.
Linia 7. zamknij nawias klamrowy.
Linia 9. double pochodna otwórz nawias okrągły double x zamknij nawias okrągły otwórz nawias klamrowy.
Linia 10. return x asterysk cos otwórz nawias okrągły x zamknij nawias okrągły plus sin otwórz nawias okrągły x zamknij nawias okrągły plus 3 asterysk x asterysk x średnik.
Linia 11. zamknij nawias klamrowy.
Linia 13. double metodaStycznych otwórz nawias okrągły double x0 przecinek double e zamknij nawias okrągły otwórz nawias klamrowy.
Linia 14. double xn przecinek xn1 znak równości x0 prawy ukośnik 2 średnik.
Linia 16. do otwórz nawias klamrowy.
Linia 17. xn znak równości xn1 średnik.
Linia 18. xn1 znak równości xn minus funkcja otwórz nawias okrągły xn zamknij nawias okrągły prawy ukośnik pochodna otwórz nawias okrągły xn zamknij nawias okrągły średnik.
Linia 19. zamknij nawias klamrowy while otwórz nawias okrągły fabs otwórz nawias okrągły xn1 minus xn zamknij nawias okrągły zamknij nawias ostrokątny e zamknij nawias okrągły średnik.
Linia 21. return xn1 średnik.
Linia 22. zamknij nawias klamrowy.
Linia 24. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 25. double x1 znak równości 1 średnik.
Linia 26. double x2 znak równości 2 średnik.
Linia 27. int przyblizenie znak równości metodaStycznych otwórz nawias okrągły otwórz nawias okrągły x1 plus x2 zamknij nawias okrągły prawy ukośnik 2 przecinek 0 kropka 0001 zamknij nawias okrągły asterysk 1000 średnik.
Linia 28. double wynik znak równości przyblizenie prawy ukośnik 1000 kropka 0 średnik.
Linia 30. cout otwórz nawias ostrokątny otwórz nawias ostrokątny wynik otwórz nawias ostrokątny otwórz nawias ostrokątny endl średnik.
Linia 32. return 0 średnik.
Linia 33. zamknij nawias klamrowy.
31
Ćwiczenie 2
Napisz program, który za pomocą metody stycznych obliczy rozwinięcie dziesiętne liczby πpi z dokładnością do piątego miejsca po przecinku. Wykorzystaj funkcje sin() oraz cos() z biblioteki cmath.
Pamiętaj, że .
Rozwiązanie wypisz z dokładnością do pięciu miejsc po przecinku, bez zaokrąglania.
Specyfikacja problemu:
Dane:
πpi – liczba niewymierna
Wynik:
wynik – rozwinięcie dziesiętne liczby πpi z dokładnością do pięciu miejsc po przecinku; liczba rzeczywista
R1XLM236K0Y59
Przykładowe rozwiązanie zadania:
Linia 1. kratka include otwórz nawias ostrokątny iostream zamknij nawias ostrokątny.
Linia 2. kratka include otwórz nawias ostrokątny cmath zamknij nawias ostrokątny.
Linia 3. using namespace std średnik.
Linia 5. double licz podkreślnik pi otwórz nawias okrągły double e zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. double xn przecinek xn1 znak równości 3 średnik.
Linia 8. do otwórz nawias klamrowy.
Linia 9. xn znak równości xn1 średnik.
Linia 10. xn1 znak równości xn minus sin otwórz nawias okrągły xn zamknij nawias okrągły prawy ukośnik cos otwórz nawias okrągły xn zamknij nawias okrągły średnik.
Linia 11. zamknij nawias klamrowy while otwórz nawias okrągły fabs otwórz nawias okrągły xn1 minus xn zamknij nawias okrągły zamknij nawias ostrokątny e zamknij nawias okrągły średnik.
Linia 13. return xn1 średnik.
Linia 14. zamknij nawias klamrowy.
Linia 16. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 17. int przyblizenie znak równości licz podkreślnik pi otwórz nawias okrągły 0 kropka 00001 zamknij nawias okrągły asterysk 100000 średnik.
Linia 18. double wynik znak równości przyblizenie prawy ukośnik 100000 kropka 0 średnik.
Linia 20. cout otwórz nawias ostrokątny otwórz nawias ostrokątny wynik otwórz nawias ostrokątny otwórz nawias ostrokątny endl średnik.
Linia 22. return 0 średnik.
Linia 23. zamknij nawias klamrowy.