pascal_9.pdf

(100 KB) Pobierz
Obsługa klawiszy rozszerzonych i własne Menu
Turbo Pascal cześć 9
ver. 1.1
Na dzisiejszej lekcji poznamy dwa najpopularniejsze typy algorytmów wykorzystywane w
programowaniu. Pierwszy nosi nazwę algorytmu iteracyjnego i większość programów, które pisaliśmy były
napisane tą metodą. Iteracja definiuje się poprzez powtarzaniu tej samej czynności (operacji). Klasycznym
przykładem zastosowania tego algorytmu jest schemat Hornera (metoda wyznaczania wartości funkcji)
Omówię teraz szczegółowo ten schemat, proszę zwrócić szczególną uwagę na to zadanie gdyż na podstawie
niego tworzyć będziemy wiele innych.
Zadani 1
Obliczanie wartości wielomianu o zadanych współczynnikach.
Np.
W dla x=1 wartość wielomianu wynosi
(
x
)
= x
3
x
2
+
5
-
5
W , zatem wartość
=
3
×
1
+
5
×
1
-
5
=
3
wielomianu wynosi y=3
(
Jak widzimy, zapisałem wielomian 3 stopnia. Wykonujemy tu 2 potęgowania, 3 mnożenia i 3 dodawani lub
inaczej 5 mnożeń i 3 dodawania
Powyższy wielomian można zapisać inaczej:
d
x
)
=
ax
3
+
bx
2
+
cx
(
Ułatwiliśmy sobie, gdyż teraz uzyskaliśmy 3 mnożenia i 3 dodawania.
Jest to szczególny przykład dla wielomianu stopnia 3. Ale rozwiązanie takie dla informatyka jest marne,
musimy napisać algorytm ale wielomianu n-tego stopnia. Zobaczmy:
x
)
=
((
ax
+
b
)
x
+
c
)
x
(
Grupując identycznie jak poprzednio uzyskamy wielomian:
n a
x
)
=
a
x
n
+
a
x
n
-
1
+
...
+
a
x
+
0
1
n
-
1
n
0
Pamiętaj: ja tu zmieniłem tylko formę zapisu, wielomian pozostał bez zmian !
Aby obliczyć wartość wielomianu będziemy potrzebowali danych pomocniczych
n – liczba całkowita – stopień wielomianu
n a
(
x
)
=
(((...(
a
x
+
a
1
)
x
+
a
2
)
x
+
...
+
a
n
-
2
)
x
+
a
n
-
1
)
x
+
n
0 - współczynniki wielomianu
y – wartość wielomianu
Aby obliczyć wartość wielomianu dla wartości argumentu x można zapisać posłużę się zależnością.
a
n
Jak widać posłużyłem się składaniem funkcji. Zwróćmy uwagę na ostatni zapis, poprzez wstawianie w miejsce
y kolejnych funkcji coraz wyżej uzyskamy funkcję wyjściową. Celem tego rysunku było zaprezentowanie
pewnej zależności, którą można zapisać w postaci układu równań:
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
1
(
Weźmy dowolny wielomian:
d
W +
W +
W
W
a ,...,
322273475.001.png
í
y
: 0
= n
a
,
gdzie
i
=
1
..
Ten sposób obliczenia wartości wielomianu nazywamy Schematem
y
:
=
y
×
x
+
a
i
Hornera.
Pomocniczo napiszę algorytm za pomocą schematu blokowego.
Zadanie 2 na ocenę
Napisz program obliczający wartość funkcji w oparciu o schemat Hornera, wprowadź zmienne pomocnicze.
Wskazówki:
Podajemy stopień wielomianu – n
Podajemy wartość x
Na podstawie n algorytm ma wygenerować n-1 zmiennych a0,a1,a2,…. (zalecam używanie typu tablicowego),
które z klawiatury wprowadzi użytkownik,
Dla osób którym udało się napisać w pełni sprawny program - zadanie dodatkowe:
Zadanie 3
Napisz program wyznaczający max w ciągu liczb wpisanych dowolnie z klawiatury
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
2
ì
322273475.002.png 322273475.003.png
Zgłoś jeśli naruszono regulamin