PYI_R_W14_M30 Schemat Hornera - efektywna metoda obliczania wartości wielomianów
Jak działa schemat Hornera zapisany iteracyjnie i rekurencyjnie.
Jak zapisać za pomocą pseudokodu obie wersje algorytmu. obliczającego wartość wielomianu z wykorzystaniem schematu Hornera oraz jak dokonać ich analizy.
Jak zaimplementować algorytm w języku programowania.
Teraz czas sprawdzić swoją wiedzę i umiejętności w praktyce.
Wyświetl „Podaj stopień wczytywanego wielomianu: "
StopienWielomianu <- dane z klawiatury
1. wynik <- wynik * x + wspolczynniki[i], 2. Wyświetl i, 3. dla i = 0, 1, 2 ... StopienWielomianu wykonuj, 4. x <- dane z klawiatury
Wyświetl "Podaj "
1. wynik <- wynik * x + wspolczynniki[i], 2. Wyświetl i, 3. dla i = 0, 1, 2 ... StopienWielomianu wykonuj, 4. x <- dane z klawiatury
Wyświetl "współczynnik"
wspolczynniki[i] <- dane z klawiatury
Wyswietl „Podaj argument, dla którego chcesz obliczyć wielomian:”
1. wynik <- wynik * x + wspolczynniki[i], 2. Wyświetl i, 3. dla i = 0, 1, 2 ... StopienWielomianu wykonuj, 4. x <- dane z klawiatury
wynik <- wspolczynniki[0]
dla i = 1,2,3... StopienWielomianu wykonuj:
1. wynik <- wynik * x + wspolczynniki[i], 2. Wyświetl i, 3. dla i = 0, 1, 2 ... StopienWielomianu wykonuj, 4. x <- dane z klawiaturySchemat Hornera można zapisać w sposób iteracyjny. Możliwe odpowiedzi: 1. Prawda, 2. Fałsz
Horner() dla wielomianu o stopniu 5. Możliwe odpowiedzi: 1. 5, 2. 4, 3. 6, 4. 8Zapoznaj się z pseudokodem i wykonaj ćwiczenie.
Przedstawione zadanie zostało opracowane przez Centralną Komisję Egzaminacyjną i weszło w skład zbioru zadań przygotowujących do egzaminu maturalnego w roku 2015.
Wielomianem parzystym nazywamy wielomian stopnia 2n postaci:
tzn. taki, w którym występują tylko parzyste potęgi zmiennej.
Bazując na schemacie Hornera, zdefiniuj funkcję testowa(stopien, lista_wsp, argument), która dla podanego zestawu parametrów oblicza wartość parzystego wielomianu.
Dane wejściowe:
n- liczba całkowita>= 0(stopień wielomianu)x- liczba rzeczywista (argument)a...- liczby rzeczywiste (wspólczynniki wielomianu)
Wynik:
Przykładowe wykonania:
testowa(stopien, lista_wsp, argument), działającej zgodnie z opisem.
2. Sprawdzenie, czy funkcja dla parametrów 3, [6, 8, -2, 23], 2 zwraca wartość 527.
3. Sprawdzenie, czy funkcja dla parametrów 3, [6, 8, -2, 23], 5 zwraca wartość 98723.
1. def testowa(stopien, lista_wsp, argument):
2. # tutaj dodaj własny kod
3. return None
4.
5. # niżej podaj przykład wywołania funkcji
6. wynik = testowa(3, [6, 8, -2, 23], 2)
7. print(wynik)
8. print(wynik==527)
9. #
10. wynik = testowa(3, [6, 8, -2, 23], 5)
11. print(wynik)
12. print(wynik==98723)Zdefiniuj funkcję suma_poteg(lista_elementow), która obliczy sumę potęg kolejnych elementów listy, gdzie podstawą będzie element, a wykładnikiem indeks tego elemenu w liście.
Elementy listy muszą być typu int lub float. Jeśli którykolwiek z elementów listy będzie innego typu, funkcja powinna zwrócić wartość False.
Przykładowe wywołania:
suma_poteg().
2. Sprawdzenie, czy funkcja suma_poteg() poprawnie zwraca wartość False dla ustalonych parametrów.
3. Sprawdzenie, czy funkcja suma_poteg() poprawnie zwraca wartość dla ustalonych parametrów.
Kod:
1. def suma_poteg(lista):
2. # tutaj Twój kod
3. return None
4.
5. # tu przykładowe wywołania
6. print(suma_poteg([-2, -3, -4, 1]))
7. print(suma_poteg([-2, "3", -4, 1]))
8. print(suma_poteg([-2, -3.5, -4, 1.4]))Zdefiniuj funkcję iloczyn_poteg_odwrotny(lista_elementow), która obliczy iloczyn potęg kolejnych elementów listy (w której przede wszystkim należy odwrócić ich kolejność), gdzie podstawą będzie element, a wykładnikiem indeks tego elementu w liście.
Elementy listy muszą być typu int lub float. Jeśli którykolwiek z elementów listy będzie innego typu, funkcja powinna zwrócić wartość False.
Przykładowe wywołania:
iloczyn_poteg_odwrotny().
2. Sprawdzenie, czy funkcja iloczyn_poteg_odwrotny() poprawnie zwraca wartość False dla ustalonych parametrów.
3. Sprawdzenie, czy funkcja iloczyn_poteg_odwrotny() poprawnie zwraca wartość dla ustalonych parametrów.
Kod:
1. def iloczyn_poteg_odwrotny(lista):
2. # tutaj Twój kod
3. return None
4.
5. # tu przykładowe wywołania
6. print(iloczyn_poteg_odwrotny([-2, -3, -4, 1]))
7. print(iloczyn_poteg_odwrotny([-2, "3", -4, 1]))
8. print(iloczyn_poteg_odwrotny([-2, -3.5, -4, 1.4]))