Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Schemat Hornera Mgr inż. Michał Szucki.

Podobne prezentacje


Prezentacja na temat: "Schemat Hornera Mgr inż. Michał Szucki."— Zapis prezentacji:

1 Schemat Hornera Mgr inż. Michał Szucki

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

3 Przykład wyznaczenia wartości wielomianu schematem Hornera
3x4+2x3+7x2+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: (3x3+2x2+7x+9)x+5 Teraz "wyciągamy" przed nawias x z pierwszych trzech elementów w nawiasie: ((3x2+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

4 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

5 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ń

6 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”

7 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;

8 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;

9 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

10 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;

11 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’);

12 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.

13 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;


Pobierz ppt "Schemat Hornera Mgr inż. Michał Szucki."

Podobne prezentacje


Reklamy Google