Schemat Hornera pptx

background image

Schemat Hornera

background image

Czym jest schemat Hornera ?

Schemat Hornera – sposób obliczenia
wartości wielomianu dla danej wartości
argumentu wykorzystujący minimalną liczbę
mnożeń.

background image

Przykład wyznaczenia wartości wielomianu
schematem Hornera

3x

4

+2x

3

+7x

2

+9x+5

Weźmy pod uwagę pierwsze cztery elementy naszego

wielomianu. Możemy dla tych elementów wyłączyć
wspólny czynnik przed nawias. Tym czynnikiem jest x:

(3x

3

+2x

2

+7x+9)x+5

Teraz "wyciągamy" przed nawias x z pierwszych trzech

elementów w nawiasie:

((3x

2

+2x+7)x+9)x+5)

Następnie wyłączmy przed nawias następne x z dwóch

pierwszych elementów w wewnętrznym nawiasie:

(((3x+2)x+7)x+9)x+5

background image

Schemat Hornera a schemat klasyczny

Stąd:

3*x*x*x*x+2*x*x*x+7*x*x+9*x+5,

czyli 10 mnożeń i 4

dodawania

(((3*x+2)*x+7)*x+9)*x+5,

czyli 4 mnożenia i 4 dodawania

n*(1+n)/2

–dla wielomianu w zwykłej postaci

n

– dla wartości wielomianu obliczonej przy pomocy schematu

Hornera

background image

Przykład dla wielomianów wyższych stopni

Dla wielomianu stopnia 100 (n=100):

Schematem klasycznym:

n*(1+n)/2=100*(1+100)/2=

5050

mnożeń

Schematem Hornera:

100

mnożeń

background image

Pętle w Delphi (w Pascalu)

Pętla pozwala na powtórzenie przez program

danej operacji określoną ilość razy. Są trzy
rodzaje pętli w Delphi (Pascal’u):

Pętla „while”

Pętla „repeat”

Pętla „for”

background image

Pętla „while”

while <warunek> do <instrukcje>

Dopóki warunek spełniony wykonywane są
instrukcję

Warunek sprawdzany jest na początku

Przykład:

suma:=0;
while suma<10 do suma:=suma+1;

background image

Pętla „repeat”

repeat <instrukcje> until <waunek>

powtarzaj <instrukcję> do momentu , aż zostanie
spełniony <warunek>

- zawsze wykona się przynajmniej jeden raz;

- rozkazy nie muszą być ograniczone przez begin-
end, robi to tutaj para repeat-until;

Przykład:

suma:=0;
repeat suma:=suma+1 until suma=4;

background image

Pętla „for”:

For <p wartość zmiennej sterującej> to <k wartość

zmiennej sterującej> do <instrukcje>

Przykład:
For i:=0 to 10 do
write (‘liczba’,i);

- „i” jest zmienną typu integer, którą należy wcześniej
zadeklarować;

- wartość i zwiększa się z o 1 z każdym wykonaniem
<instrukcji>

Pętle for stosujemy wtedy gdy wiemy ile razy
<instrukcje> mają być wykonane

background image

Pętla „for”

Przykład:

For i:=10 downto 0 do
write (‘liczba’,i);

Odmiana pętli for gdzie wartość zmienne

sterującej jest w każdym kroku zmniejszana o
1;

background image

Instrukcja warunkowa „if”

if <warunek> then <instrukcje gdy spelniony> else

<instrukcje gdy nie spełniony>

Instrukcja „if” sprawdza <warunek> jeżeli jest on spełniony

wykonywane są odpowiednie instrukcję jeżeli nie to
wykonywana jest instrukcja wpisana po słowie kluczowym
„else”.

Przykłady:

if a>0 then write(‘wieksze’);

If a=>0 then write(‘wieksze lub rowne’) else
write(‘mniejsze’);

background image

Instrukcja wielokrotnego wyboru
„case”

case wyrażenie

of

  wybór 1: <instrukcje>;
  ...
  wybór n: <instrukcje>;
  else
  (kod)

end

;

Słowo case wraz z of tworzą instrukcję warunkową (case..of). Może
być używana jako
zamiennik instrukcji warunkowych

If

...

Then

. Stosuje się ją w

przypadku mało efektywnego wykorzystania instrukcji if ... then, tzn.
gdy należy sprawdzić większą liczbę możliwych warunków.

Instrukcja case ma to do siebie, że działa jedynie na typach
wyliczeniowych jak Char, Byte, Integer,

Cardinal

itp., nie można jej

na przykład użyć aby sprawdzić zawartość zmiennej typu

String

.

background image

Instrukcja wielokrotnego wyboru
„case”

Przykład:

liczba:byte;
case liczba of
1: write(‘wybrales 1’);
2: write (‘wybrales 2’);
else
write (‘wybrales inna liczbe’);
end;


Document Outline


Wyszukiwarka

Podobne podstrony:
Obliczanie wartosci wielomianów schemat Hornera
Schemat Hornera
Obliczanie wartosci wielomianów schemat Hornera
Schemat Hornera
Schemat Hornera

więcej podobnych podstron