Skocz do zawartości


Zdjęcie

[delphi]Małe zadanko


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 Bies

Bies

    Nowy

  • 3 postów

Napisano 04 03 2008 - 22:43

Witam Wszystkich!
Mam mały problem, mianowicie chodzi o napisanie programu w Delphi:


1)Napisać program obliczający wartość wielomianu w(x) w 21 równoodległych punktach
x Î [0.99, 1.01] ( krok = 0.001) korzystając z podanych poniżej postaci:
a ) w(x) = (x - 1)6,
b ) w(x) = x6 - 6x5 + 15x4 - 20x3 + 15x2 - 6x + 1,
c ) w(x)=(((((x-6)x+15)x-20)x+15)x-6)x+1. ( algorytm Hornera).

Jeśli ktoś może mi pomóc, będę bardzo wdzięczny

  • 0

#2 Marko_

Marko_

    Stały użytkownik

  • 279 postów

Napisano 04 03 2008 - 23:41

Aktualnie nie mam zainstalowanego Delphi więc zaproponuję tylko procedurę a nie cały program. Oczywiście znasz Delphi i język obiekt Pascal w stopniu choć podstawowym.


Procedury deklarujesz w obszarze public lub private twojej Klasy np TForm.
var tablica_wynikow:Array[0..20] of Extended; - w sekcji VAR

w(x) = (x - 1)6

Procedure TForm1.fun1;
var
i:byte;
j:Extended;
begin
j:=0.99
for i:=0 to 20 do
begin
j:=j+0.001;
tablica_wynikow[i]:=(j-1)*6;
end;
end;

w(x)=(((((x-6)x+15)x-20)x+15)x-6)x+1

http://www.lo.stary-sacz.iap.pl/text/piotr...tmy/horner.html

Procedure TForm1.fun3;
var
i:byte;
x:Extended;
begin
x:=0.99
for i:=0 to 20 do
begin
x:=x+0.001;
tablica_wynikow[i]:=((((((((((x-6)*x)+15)*x)-20)*x)+15)*x)-6)*x)+1;
end;
end;

w(x) = x6 - 6x5 + 15x4 - 20x3 + 15x2 - 6x + 1

Przekształcę ten wielomian na postać Hornera czy tak ? jeśli źle to popraw :rolleyes:

w(x)=(((((x-6)x+15)x-20)x+15)x-6)x+1
co jest wielomianem z punktu C.

Wynik wykonania procedury masz w tablicy tablica wyników z niej pobierasz dane i np., rysujesz wykres ... .

  • 0

Zobacz więcej tematów z tagiem: Delphi



Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych