Ćwiczenie 0

Przeanalizuj i popraw poniższy kod. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile(10) jest 4.
  • Wynikiem funkcji ile(100) jest 7.
def ile(zakres): licznik = 1 while zakres > 0: zakres = zakres //2 licznik += 1 return licznik print(ile(10)) print(ile(100))
Rozwiąż ćwiczenie

Ćwiczenie 1Pierwiastek kwadratowy

Napisz funkcję pierwiastek(x, eps), której wynikiem jest z dokładnością eps. Pierwszym argumentem x jest liczba dodatnia większa lub równa 1, a drugim – mała liczba dodatnia, np. 0,00001. Sprawdź działanie funkcji dla parametrów 2 i 0.1 oraz 2 i 0.01.

def pierwiastek(x, eps): #zdefiniuj funkcję i sprawdź jej działanie pass
Rozwiąż ćwiczenie

Ćwiczenie 2Dowolny pierwiastek

Napisz funkcję pierwiastek(x, n, eps), której wynikiem jest  z dokładnością eps. Pierwszym argumentem x jest liczba dodatnia większa lub równa 1, drugim – stopień pierwiastka, a trzecim – mała liczba dodatnia, np. 0,00001. Sprawdź działanie funkcji dla parametrów 2, 2 i 0.1 oraz 2, 3 i 0.01.

Wskazówka: zmodyfikuj algorytm z ćwiczenia 1 – dodaj dodatkowy parametr n i podnieś c do n-tej potęgi.

def pierwiastek(x, n, eps): #zdefiniuj funkcję i sprawdź jej działanie pass
Rozwiąż ćwiczenie

Ćwiczenie 3Miejsce zerowe funkcji

Napisz program, za pomocą którego znajdziesz miejsce zerowe funkcji określonej wzorem f (x) = 2x3x – 5 w przedziale 〈0, 100〉 z dokładnością 0,001. Wykorzystaj algorytm połowienia.

def f(x): return 2 * x ** 3 - x - 5 def miejsce_zerowe(eps): #zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji miejsce_zerowe(0.001) jest 1.479339599609375.
testResult = miejsce_zerowe(0.001)==1.479339599609375
1.479339599609375
miejsce_zerowe(0.001)
Rozwiąż ćwiczenie

Ćwiczenie 4Funkcja malejąca w przedziale

Napisz program, za pomocą którego znajdziesz miejsce zerowe funkcji określonej wzorem f(x) = – 1/4x2 + x + 2 w przedziale 〈2, 10〉 z dokładnością 0,001. Wykorzystaj algorytm połowienia.

def f(x): return -1/4 * x ** 2 + x + 2 def miejsce_zerowe(eps): #zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji miejsce_zerowe(0.001) jest 5.4638671875.
testResult = miejsce_zerowe(0.001)==5.4638671875
5.4638671875
miejsce_zerowe(0.001)
Rozwiąż ćwiczenie

Zadanie 1Metoda Newtona-Raphsona

Innym algorytmem obliczania pierwiastka jest metoda Newtona-Raphsona. Znajdź informacje o tej metodzie i jej zastosowaniach, a następnie zaimplementuj ją do obliczania pierwiastka kwadratowego z liczby i sprawdź, czy jest wydajniejsza od metody połowienia. 

Wskazówka

Znajdowanie pierwiastka kwadratowego można sprowadzić do szukania długości boku kwadratu o zadanym polu.

Szukany jest , czyli bok kwadratu o polu a. Jeżeli zacząć od prostokąta o bokach x i a/x, gdzie za x można przyjąć np. 1, to obliczanie kolejnych przybliżeń x pozwoli znaleźć szukany pierwiastek.

Dokładność można zweryfikować przez wyznaczenie różnicy długości boków prostokąta x a/x.

 

def newton_raphson(a, eps): #zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji newton_raphson(2, 0.1) jest 1.4166666666666665.
testResult = newton_raphson(2, 0.1)==1.4166666666666665
1.4166666666666665
newton_raphson(2, 0.1)
Wynikiem funkcji newton_raphson(2, 0.01) jest 1.4166666666666665.
testResult = newton_raphson(2, 0.01)==1.4166666666666665
1.4166666666666665
newton_raphson(2, 0.01)
Wynikiem funkcji newton_raphson(2, 0.001) jest 1.4142156862745097.
testResult = newton_raphson(2, 0.001)==1.4142156862745097
1.4142156862745097
newton_raphson(2, 0.001)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 1

Napisz funkcję porownaj(l1, m1, l2, m2), której wynikiem dla danych dwóch liczb , będzie 0 – gdy liczby są równe, 1 – gdy pierwsza liczba jest większa od drugiej, i 2 – gdy druga liczba jest większa od pierwszej. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji porownaj(1, 2, 3, 4) jest 2.
  • Wynikiem funkcji porownaj(100, 100, 5, 5) jest 0.
def porownaj(l1, m1, l2, m2): #zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji porownaj(2, 4, 6, 12) jest 0.
testResult = porownaj(2, 4, 6, 12)==0
0
porownaj(2, 4, 6, 12)
Wynikiem funkcji porownaj(4, 4, 99, 100) jest 1.
testResult = porownaj(4, 4, 99, 100)==1
1
porownaj(4, 4, 99, 100)
Wynikiem funkcji porownaj(1, 4, 4, 12) jest 2.
testResult = porownaj(1, 4, 4, 12)==2
2
porownaj(1, 4, 4, 12)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 2

Napisz program, za pomocą którego znajdziesz z dokładnością eps i wyznaczysz liczbę kroków potrzebnych, aby otrzymać żądane przybliżenia. Sprawdź działanie funkcji dla  oraz dokładności 0,1, 0,01, 0,001 i 0,0001.

def pierwiastek(x, eps): a = 0 b = x ile = 0 #zdefiniuj ciąg dalszy funkcji i sprawdź jej działanie pass
Wynikiem funkcji pierwiastek(2, 0.2) jest 1.375, 4
testResult = pierwiastek(2, 0.2)==1.375, 4
1.375, 4
pierwiastek(2, 0.2)
Wynikiem funkcji pierwiastek(2, 0.02) jest 1.421875, 7
testResult = pierwiastek(2, 0.02)==1.421875, 7
1.421875, 7
pierwiastek(2, 0.02)
Wynikiem funkcji pierwiastek(2, 0.002) jest 1.416015625, 10
testResult = pierwiastek(2, 0.002)==1.416015625, 10
1.416015625, 10
pierwiastek(2, 0.002)
Rozwiąż ćwiczenie
Ta strona wykorzystuje pliki cookies w celu zapewnienia wygody przy korzystaniu z pełnej funkcjonalności. Więcej informacji