Pierwiastek kwadratowy¶
Opis problemu¶
Metoda Herona¶
Opis implementacji¶
Na początku definiujemy funkcję sqrt (linia 1), która przyjmuje dwa parametry: liczbę, której pierwiastek chcemy policzyć (\(n\)) oraz dokładność obliczeń (\(p\)). Wewnątrz funkcji zaczynamy od obliczenia pierwszego przybliżenia wartości pierwiastka kwadratowego z \(n\), które zapisujemy w zmiennej x1 (linia 2). Następnie ze wzoru obliczamy kolejne przybliżenie i zapisujemy je w zmiennej x2 (linia 3). Teraz przechodzimy do pętli warunkowej (linia 4), w której obliczenia przeprowadzamy tak długo, jak wartość bezwzględna różnicy pomiędzy kolejnymi przybliżeniami (abs(x2 - x1)) jest większa od podanej dokładności. Wewnątrz pętli obliczamy kolejne przybliżenie, które zapisujemy w zmiennej x1 (linia 5). Następnie zamieniamy wartościami zmienne x1 oraz x2 (linia 6), tak aby w zmiennej x1 było poprzednie przybliżenie, a w zmiennej x2 było kolejne przybliżenie. Po zakończeniu obliczeń i wyjściu z pętli, zwracamy wynik zapisany w zmiennej x2 (linia 8).
W części głównej definiujemy dane wejściowe do naszego problemu (linie 11 oraz 12), wywołujemy funkcję sqrt z przygotowanymi danymi (linia 14) i jej wynik zapisujemy w zmiennej result, a na koniec wypisujemy wynik na ekran (linia 16).
Metoda Herona z wykresem¶
Opis implementacji¶
Na początku importujemy moduł pyplot z biblioteki matplotlib, który posłuży nam do narysowania wykresu. Zaimportowanemu modułowi nadajemy skrótową nazwę plt (linia 1). Następnie definiujemy funkcję sqrt (linia 4), która przyjmuje dwa parametry: liczbę, której pierwiastek chcemy policzyć (\(n\)) oraz dokładność obliczeń (\(p\)). Wewnątrz funkcji zaczynamy od obliczenia pierwszego przybliżenia wartości pierwiastka kwadratowego z \(n\), które zapisujemy w zmiennej x1 (linia 5). Następnie ze wzoru obliczamy kolejne przybliżenie i zapisujemy je w zmiennej x2 (linia 6). Obie wartości zapisujemy w nowo utworzonej liście plot_values (linia 7), którą użyjemy do utworzenia wykresu. Teraz przechodzimy do pętli warunkowej (linia 8), w której obliczenia przeprowadzamy tak długo, jak wartość bezwzględna różnicy pomiędzy kolejnymi przybliżeniami (abs(x2 - x1)) jest większa od podanej dokładności. Wewnątrz pętli obliczamy kolejne przybliżenie, które zapisujemy w zmiennej x1 (linia 9). Następnie zamieniamy wartościami zmienne x1 oraz x2 (linia 10), tak aby w zmiennej x1 było poprzednie przybliżenie, a w zmiennej x2 było kolejne przybliżenie. Nowy wynik przybliżenia dopisujemy do listy plot_values (linia 11). Po zakończeniu obliczeń i wyjściu z pętli, rysujemy wykres za pomocą funkcji plot z biblioteki matplotlib (linia 13), dodajemy legendę do wykresu (linia 14), a na końcu zwracamy wynik zapisany w zmiennej x2 (linia 16).
W części głównej definiujemy dane wejściowe do naszego problemu (linie 19 oraz 20), wywołujemy funkcję sqrt z przygotowanymi danymi (linia 22) i jej wynik zapisujemy w zmiennej result, a następnie wypisujemy wynik na ekran (linia 24). Na koniec wyświetlamy wykres za pomocą funkcji show (linia 26).