R1GFQ6NNTMUDK
Obraz przedstawia wzór schematu Hornera zapisany na granatowym tle.

PYI_R_W14_M30 Schemat Hornera - efektywna metoda obliczania wartości wielomianów 

Źródło: Obraz wygenerowany za pomocą Copilot, domena publiczna.
Już wiesz
  • 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.

Ćwiczenie 1
R5V1O2CP7OETX
Uzupełnij pseudokod. 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 klawiatury
Ćwiczenie 2
RKQCAN3A2HQ51
Wskaż poprawną odpowiedź.
Schemat Hornera można zapisać w sposób iteracyjny. Możliwe odpowiedzi: 1. Prawda, 2. Fałsz
Ćwiczenie 3
R1N4F8ZG69NHX
Wskaż, ile razy zostanie wywołana funkcja rekurencyjna Horner() dla wielomianu o stopniu 5. Możliwe odpowiedzi: 1. 5, 2. 4, 3. 6, 4. 8
Ćwiczenie 4
R3ZNXD3X4RXQ3
Oblicz iteracyjny schematem Hornera wartość wielomianu x^3 - 4 * x^2 + 2 * x - 5 gdzie x = 3 Możliwe odpowiedzi: 1. 12, 2. -8, 3. -5, 4. -10
Ćwiczenie 5
RO6GBMC7SECLO
Oblicz rekurencyjnym schematem Hornera wartość wielomianu x^6 - 3 * x - 2 * x^4 + 47 gdzie x = 3 Możliwe odpowiedzi: 1. 495, 2. 605, 3. 580, 4. 305
1
Ćwiczenie 6
R1U28R6VT2UQG
Ustaw w odpowiedniej kolejności podane instrukcje tak, aby powstał algorytm iteracyjny. Elementy do uszeregowania: 1. wspolczynniki[i] <- dane z klawiatury, 2. Wyświetl i, 3. dla i = 0,1,2... StopienWielomianu wykonuj, 4. Wyświetl wynik, 5. Wyswietl „Podaj argument, dla którego chcesz obliczyć wielomian:”, 6. Wyświetl "Wartość wielomianu dla argumentu x = ", 7. x <- dane z klawiatury, 8. Wyświetl "Podaj ", 9. Wyświetl „Podaj stopień wczytywanego wielomianu: ", 10. StopienWielomianu <- dane z klawiatury, 11. dla i = 1,2,3... StopienWielomianu wykonuj:, 12. Wyświetl " współczynnik", 13. wynik <- wynik * x + wspolczynniki[i], 14. wynik <- wspolczynniki[0]
1
Ćwiczenie 7

Zapoznaj się z pseudokodem i wykonaj ćwiczenie.

Linia 1. funkcja Horner otwórz nawias okrągły wspolczynniki otwórz nawias kwadratowy zamknij nawias kwadratowy przecinek StopienWielomianu przecinek x zamknij nawias okrągły. Linia 2. jeżeli StopienWielomianu znak równości 0. Linia 3. zwróć x asterysk Horner otwórz nawias okrągły wspolczynniki przecinek StopienWielomianu ‑ 1 przecinek x zamknij nawias okrągły. Linia 4. w przeciwnym razie. Linia 5. zwróć wspolczynniki otwórz nawias kwadratowy 0 zamknij nawias kwadratowy. Linia 7. StopienWielomianu otwórz nawias ostrokątny minus dane z klawiatury. Linia 8. dla i znak równości 1 przecinek 2 przecinek 3 kropka kropka kropka StopienWielomianu wykonuj. Linia 9. Wyświetl cudzysłów Podaj współczynnik cudzysłów. Linia 10. wspolczynniki otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias ostrokątny minus dane z klawiatury. Linia 11. Wyswietl cudzysłów Podaj argument przecinek dla którego chcesz obliczyć wartość wielomianu dwukropek cudzysłów. Linia 12. x otwórz nawias ostrokątny minus dane z klawiatury. Linia 13. wynik otwórz nawias ostrokątny minus Horner otwórz nawias okrągły wspolczynniki otwórz nawias kwadratowy zamknij nawias kwadratowy przecinek StopienWielomianu przecinek x zamknij nawias okrągły. Linia 14. Wyświetl cudzysłów Wynik znak równości cudzysłów. Linia 15. Wyświetl x.
R163SLX5EFAON
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
1
Ćwiczenie 8

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:

R(x)=anx2n+an1x2n2++a2x2+a0

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:

Wartość R(x)

Przykładowe wykonania:

Linia 1. print otwórz nawias okrągły testowa otwórz nawias okrągły 3 przecinek otwórz nawias kwadratowy 3 przecinek 2 przecinek 1 przecinek 0 zamknij nawias kwadratowy przecinek 1 zamknij nawias okrągły zamknij nawias okrągły. Linia 2. 6. Linia 3. print otwórz nawias okrągły testowa otwórz nawias okrągły 3 przecinek otwórz nawias kwadratowy 1 przecinek 1 przecinek 1 przecinek 0 zamknij nawias kwadratowy przecinek 2 kropka 1 zamknij nawias okrągły zamknij nawias okrągły. Linia 4. 109 kropka 624221. Linia 5. print otwórz nawias okrągły testowa otwórz nawias okrągły 3 przecinek otwórz nawias kwadratowy 1 przecinek 1 przecinek 1 przecinek 0 zamknij nawias kwadratowy przecinek 5 zamknij nawias okrągły zamknij nawias okrągły. Linia 6. 16275. Linia 7. print otwórz nawias okrągły testowa otwórz nawias okrągły 3 przecinek otwórz nawias kwadratowy 6 przecinek 8 przecinek minus 2 przecinek 23 zamknij nawias kwadratowy przecinek 1 zamknij nawias okrągły zamknij nawias okrągły. Linia 8. 35. Linia 9. print otwórz nawias okrągły testowa otwórz nawias okrągły 3 przecinek otwórz nawias kwadratowy 3 przecinek 2 przecinek 1 przecinek 0 zamknij nawias kwadratowy przecinek 2 zamknij nawias okrągły zamknij nawias okrągły. Linia 10. 228.
R150GRMBlTbFm
Twoje zadania: 1. Zdefiniowanie funkcji 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)
Linia 1. def testowa otwórz nawias okrągły stopien przecinek lista podkreślnik wsp przecinek argument zamknij nawias okrągły dwukropek. Linia 2. kratka tutaj dodaj własny kod. Linia 3. return None. Linia 5. kratka niżej podaj przykład wywołania funkcji. Linia 6. wynik znak równości testowa otwórz nawias okrągły 3 przecinek otwórz nawias kwadratowy 6 przecinek 8 przecinek minus 2 przecinek 23 zamknij nawias kwadratowy przecinek 2 zamknij nawias okrągły. Linia 7. print otwórz nawias okrągły wynik zamknij nawias okrągły. Linia 8. print otwórz nawias okrągły wynik znak równości znak równości 527 zamknij nawias okrągły. Linia 9. kratka. Linia 10. wynik znak równości testowa otwórz nawias okrągły 3 przecinek otwórz nawias kwadratowy 6 przecinek 8 przecinek minus 2 przecinek 23 zamknij nawias kwadratowy przecinek 5 zamknij nawias okrągły. Linia 11. print otwórz nawias okrągły wynik zamknij nawias okrągły. Linia 12. print otwórz nawias okrągły wynik znak równości znak równości 98723 zamknij nawias okrągły.
1
Ćwiczenie 9

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:

Linia 1. print otwórz nawias okrągły suma podkreślnik poteg otwórz nawias okrągły otwórz nawias kwadratowy 2 kropka 01 przecinek 4 kropka 3 przecinek 5 kropka 4 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 2. 34 kropka 46. Linia 3. print otwórz nawias okrągły suma podkreślnik poteg otwórz nawias okrągły otwórz nawias kwadratowy 1 przecinek 22 przecinek 33 przecinek 5 kropka 01 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 4. 1237 kropka 751501. Linia 5. print otwórz nawias okrągły suma podkreślnik poteg otwórz nawias okrągły otwórz nawias kwadratowy 53245324 kropka 03 przecinek 2 przecinek 4 kropka 5 przecinek 5 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 6. 148 kropka 25. Linia 7. print otwórz nawias okrągły suma podkreślnik poteg otwórz nawias okrągły otwórz nawias kwadratowy 53245324 kropka 03 przecinek cudzysłów A cudzysłów przecinek 4 kropka 5 przecinek 5 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 8. False.
R1XugM4B5qQpJ
Twoje zadania: 1. Zdefiniowanie funkcji 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]))
Linia 1. def suma podkreślnik poteg otwórz nawias okrągły lista zamknij nawias okrągły dwukropek. Linia 2. kratka tutaj Twój kod. Linia 3. return None. Linia 5. kratka tu przykładowe wywołania. Linia 6. print otwórz nawias okrągły suma podkreślnik poteg otwórz nawias okrągły otwórz nawias kwadratowy minus 2 przecinek minus 3 przecinek minus 4 przecinek 1 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 7. print otwórz nawias okrągły suma podkreślnik poteg otwórz nawias okrągły otwórz nawias kwadratowy minus 2 przecinek cudzysłów 3 cudzysłów przecinek minus 4 przecinek 1 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 8. print otwórz nawias okrągły suma podkreślnik poteg otwórz nawias okrągły otwórz nawias kwadratowy minus 2 przecinek minus 3 kropka 5 przecinek minus 4 przecinek 1 kropka 4 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły.
1
Ćwiczenie 10

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:

Linia 1. print otwórz nawias okrągły iloczyn podkreślnik poteg podkreślnik odwrotny otwórz nawias okrągły otwórz nawias kwadratowy 2 przecinek 0 przecinek 1 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 3. print otwórz nawias okrągły iloczyn podkreślnik poteg podkreślnik odwrotny otwórz nawias okrągły otwórz nawias kwadratowy minus 2 przecinek minus 3 przecinek minus 4 przecinek cudzysłów A cudzysłów zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 4. False. Linia 5. print otwórz nawias okrągły iloczyn podkreślnik poteg podkreślnik odwrotny otwórz nawias okrągły otwórz nawias kwadratowy 2 przecinek 1 przecinek 1 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 6. 4. Linia 7. print otwórz nawias okrągły iloczyn podkreślnik poteg podkreślnik odwrotny otwórz nawias okrągły otwórz nawias kwadratowy 2 przecinek 20 kropka 3 przecinek 324432 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 8. 81 kropka 2. Linia 9. print otwórz nawias okrągły iloczyn podkreślnik poteg podkreślnik odwrotny otwórz nawias okrągły otwórz nawias kwadratowy 3 przecinek 4 przecinek 20 przecinek 0 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 10. 8640.
RGDkYyzcfRPZm
Twoje zadania: 1. Zdefiniowanie funkcji 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]))
Linia 1. def iloczyn podkreślnik poteg podkreślnik odwrotny otwórz nawias okrągły lista zamknij nawias okrągły dwukropek. Linia 2. kratka tutaj Twój kod. Linia 3. return None. Linia 5. kratka tu przykładowe wywołania. Linia 6. print otwórz nawias okrągły iloczyn podkreślnik poteg podkreślnik odwrotny otwórz nawias okrągły otwórz nawias kwadratowy minus 2 przecinek minus 3 przecinek minus 4 przecinek 1 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 7. print otwórz nawias okrągły iloczyn podkreślnik poteg podkreślnik odwrotny otwórz nawias okrągły otwórz nawias kwadratowy minus 2 przecinek cudzysłów 3 cudzysłów przecinek minus 4 przecinek 1 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły. Linia 8. print otwórz nawias okrągły iloczyn podkreślnik poteg podkreślnik odwrotny otwórz nawias okrągły otwórz nawias kwadratowy minus 2 przecinek minus 3 kropka 5 przecinek minus 4 przecinek 1 kropka 4 zamknij nawias kwadratowy zamknij nawias okrągły zamknij nawias okrągły.