Napisz program zaokrąglający podaną liczbę x tak, aby błąd względny nie przekroczył ustalonej wartości krytycznej bladKrytyczny.
Przetestuj działanie programu zaokrąglając liczbę 0,054256, dopóki błąd względny nie przekroczy wartości 5%.
Specyfikacja:
Dane:
x - zaokrąglana wartość; liczba rzeczywista z przedziału [0, 1]
bladKrytyczny - wartość krytyczna; liczba rzeczywista z przedziału [0, 100]
Wynik:
Program zwraca na standardowe wyjście zaokrągloną liczbę.
R1ZXOuvvBS3kZ
Twoje zadanie: Program ma zaokrąglać podaną liczbę, dopóki błąd względny nie przekroczy ustalonej wartości.
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 zaokraglenie otwórz nawias okrągły double liczba przecinek int poPrzecinku zamknij nawias okrągły otwórz nawias klamrowy.
Linia 7. zamknij nawias klamrowy.
Linia 9. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 10. double x znak równości 0 kropka 054256 średnik.
Linia 11. double bladKrytyczny znak równości 5 średnik.
Linia 12. zamknij nawias klamrowy.
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 zaokraglenie otwórz nawias okrągły double liczba przecinek int poPrzecinku zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. return round otwórz nawias okrągły liczba asterysk otwórz nawias okrągły pow otwórz nawias okrągły 10 przecinek poPrzecinku zamknij nawias okrągły zamknij nawias okrągły zamknij nawias okrągły prawy ukośnik otwórz nawias okrągły pow otwórz nawias okrągły 10 przecinek poPrzecinku zamknij nawias okrągły zamknij nawias okrągły średnik.
Linia 7. zamknij nawias klamrowy.
Linia 9. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 10. double xZaokraglony przecinek bladBezwzgledny przecinek bladWzgledny średnik.
Linia 11. double x znak równości 0 kropka 054256 średnik.
Linia 12. double bladKrytyczny znak równości 5 średnik.
Linia 14. for otwórz nawias okrągły int i znak równości 1 średnik i otwórz nawias ostrokątny znak równości 6 średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 15. xZaokraglony znak równości zaokraglenie otwórz nawias okrągły x przecinek 6 minus i zamknij nawias okrągły średnik.
Linia 16. bladBezwzgledny znak równości fabs otwórz nawias okrągły x minus xZaokraglony zamknij nawias okrągły średnik.
Linia 17. bladWzgledny znak równości otwórz nawias okrągły bladBezwzgledny prawy ukośnik x zamknij nawias okrągły asterysk 100 średnik.
Linia 19. if otwórz nawias okrągły bladWzgledny zamknij nawias ostrokątny bladKrytyczny zamknij nawias okrągły otwórz nawias klamrowy.
Linia 20. xZaokraglony znak równości zaokraglenie otwórz nawias okrągły x przecinek 7 minus i zamknij nawias okrągły średnik.
Linia 21. break średnik.
Linia 22. zamknij nawias klamrowy.
Linia 23. zamknij nawias klamrowy.
Linia 25. cout otwórz nawias ostrokątny otwórz nawias ostrokątny xZaokraglony średnik.
Linia 27. return 0 średnik.
Linia 28. zamknij nawias klamrowy.
21
Ćwiczenie 2
Korzystając ze zdefiniowanej w programie stałej PIERWIASTEK_Z_2, sprawdź, z dokładnością do ilu miejsc po przecinku należy wypisać jej przybliżenie, aby błąd względny między wartością pierwotną a przybliżoną wynosił mniej niż 0,01%. Wypisz wyznaczoną liczbę cyfr.
Przykład:
Błąd względny między przybliżeniem pierwiastka z liczby 2 do dwóch cyfr po przecinku a wartością 1,41421356237 wynosi:
Potrzeba zatem przybliżenia do dwóch cyfr po przecinku, aby błąd względny wyniósł mniej niż 0,3%.
R1J8SA6dk2b9h
W wybranym edytorze wykorzystaj kod do rozwiązania 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 4. using namespace std średnik.
Linia 6. double bladWzgledny otwórz nawias okrągły double x0 przecinek double x zamknij nawias okrągły otwórz nawias klamrowy.
Linia 8. prawy ukośnik prawy ukośnik tu uzpełnij swój kod.
Linia 10. zamknij nawias klamrowy.
Linia 12. double przyblizenie otwórz nawias okrągły double wartosc przecinek int liczbaCyfr zamknij nawias okrągły otwórz nawias klamrowy.
Linia 14. prawy ukośnik prawy ukośnik tu uzpełnij swój kod.
Linia 16. zamknij nawias klamrowy.
Linia 18. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 19. const double PIERWIASTEK podkreślnik Z podkreślnik 2 znak równości 1 kropka 41421356237 średnik.
Linia 20. int liczbaCyfr znak równości 0 średnik.
Linia 22. prawy ukośnik prawy ukośnik tu uzpełnij swój kod.
Linia 24. return 0 średnik.
Linia 25. zamknij nawias klamrowy.
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 4. using namespace std średnik.
Linia 6. double bladWzgledny otwórz nawias okrągły double x0 przecinek double x zamknij nawias okrągły otwórz nawias klamrowy.
Linia 7. return fabs otwórz nawias okrągły x minus x0 zamknij nawias okrągły prawy ukośnik x średnik.
Linia 8. zamknij nawias klamrowy.
Linia 10. double przyblizenie otwórz nawias okrągły double wartosc przecinek int liczbaCyfr zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. double potega10 znak równości pow otwórz nawias okrągły 10 przecinek liczbaCyfr zamknij nawias okrągły średnik.
Linia 12. double przyblizenie znak równości potega10 asterysk wartosc średnik.
Linia 13. int przyblizenie10 znak równości otwórz nawias okrągły int zamknij nawias okrągły przyblizenie średnik.
Linia 14. return przyblizenie10 prawy ukośnik potega10 średnik.
Linia 15. zamknij nawias klamrowy.
Linia 17. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 18. const double PIERWIASTEK podkreślnik Z podkreślnik 2 znak równości 1 kropka 41421356237 średnik.
Linia 19. int liczbaCyfr znak równości 0 średnik.
Linia 21. while otwórz nawias okrągły bladWzgledny otwórz nawias okrągły przyblizenie otwórz nawias okrągły PIERWIASTEK podkreślnik Z podkreślnik 2 przecinek liczbaCyfr zamknij nawias okrągły przecinek PIERWIASTEK podkreślnik Z podkreślnik 2 zamknij nawias okrągły zamknij nawias ostrokątny 0 kropka 0001 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 22. liczbaCyfr plus plus średnik.
Linia 23. zamknij nawias klamrowy.
Linia 25. cout otwórz nawias ostrokątny otwórz nawias ostrokątny liczbaCyfr otwórz nawias ostrokątny otwórz nawias ostrokątny endl średnik.
Linia 26. return 0 średnik.
Linia 27. zamknij nawias klamrowy.
31
Ćwiczenie 3
Liczba Eulera może być zdefiniowana przez sumę następującego szeregu:
Sprawdź, dla jakiego błąd względny wyznaczonego przybliżenia liczby będzie mniejszy niż 0,0000005. Jako wartość dokładną przyjmij stałą matematyczną M_E. Wypisz minimalną wartość .
RYS4zweZtd0V3
W wybranym edytorze wykorzystaj kod do rozwiązania 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 4. using namespace std średnik.
Linia 6. double bladWzgledny otwórz nawias okrągły double x0 przecinek double x zamknij nawias okrągły otwórz nawias klamrowy.
Linia 8. prawy ukośnik prawy ukośnik uzupełnij program.
Linia 10. zamknij nawias klamrowy.
Linia 12. double wyznaczE otwórz nawias okrągły int n zamknij nawias okrągły otwórz nawias klamrowy.
Linia 14. prawy ukośnik prawy ukośnik uzupełnij program.
Linia 16. zamknij nawias klamrowy.
Linia 18. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 19. double bladOczekiwany znak równości 0 kropka 0000005 średnik.
Linia 20. int n znak równości 0 średnik.
Linia 22. prawy ukośnik prawy ukośnik uzupełnij program.
Linia 24. return 0 średnik.
Linia 25. zamknij nawias klamrowy.
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 4. using namespace std średnik.
Linia 6. double blad podkreślnik wzgledny otwórz nawias okrągły double x0 przecinek double x zamknij nawias okrągły otwórz nawias klamrowy.
Linia 7. return fabs otwórz nawias okrągły x minus x0 zamknij nawias okrągły prawy ukośnik x średnik.
Linia 8. zamknij nawias klamrowy.
Linia 10. double wyznacz podkreślnik e otwórz nawias okrągły int n zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. double e znak równości 0 kropka 0 średnik.
Linia 12. double next znak równości 1 kropka 0 średnik.
Linia 13. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny n średnik plus plus i zamknij nawias okrągły otwórz nawias klamrowy.
Linia 14. if otwórz nawias okrągły i wykrzyknik znak równości 0 zamknij nawias okrągły.
Linia 15. next asterysk znak równości 1 kropka 0 prawy ukośnik i średnik.
Linia 16. e plus znak równości next średnik.
Linia 17. zamknij nawias klamrowy.
Linia 18. return e średnik.
Linia 19. zamknij nawias klamrowy.
Linia 21. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 22. double blad podkreślnik oczekiwany znak równości 0 kropka 0000005 średnik.
Linia 23. int n znak równości 0 średnik.
Linia 25. while otwórz nawias okrągły blad podkreślnik wzgledny otwórz nawias okrągły wyznacz podkreślnik e otwórz nawias okrągły n zamknij nawias okrągły przecinek M podkreślnik E zamknij nawias okrągły zamknij nawias ostrokątny blad podkreślnik oczekiwany zamknij nawias okrągły otwórz nawias klamrowy.
Linia 26. plus plus n średnik.
Linia 27. zamknij nawias klamrowy.
Linia 29. cout otwórz nawias ostrokątny otwórz nawias ostrokątny n otwórz nawias ostrokątny otwórz nawias ostrokątny endl średnik.
Linia 30. return 0 średnik.
Linia 31. zamknij nawias klamrowy.