Показать сообщение отдельно
Старый 06.06.2011, 23:37   #1 (permalink)
amerten
Новичок
 
Регистрация: 06.06.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Блок-схема к программе

Помогите составить блок-схему и алгоритм по исходному коду программы.

program polinom;
uses crt;
var
i,j,n,k: integer;
q: char;
t:real;
x,y: array [1..50] of real;
a: array [1..50,1..50] of real;

function Pow (A,B: real):real;
Var t:real;
begin
t:=abs(a);
if a<0 then
Pow:=(-1)*exp(B*Ln(t))
else
pow:=exp(B*Ln(t));
end;

Begin
repeat
clrscr;

writeln ('Введите кол-во пар значений');
readln (n);
writeln('Введите пары значений "x" и "y"');
for i:=1 to n do
begin
writeln('Введите x',i);
readln (x[i]);
writeln('Введите y',i);
readln (y[i]);
end;

for i:=1 to n do
for j:= 1 to n do
a[i,j]:=pow(x[i],j-1);

for i:=1 to n do
a[i,n+1]:=y[i];

for k:=1 to n-1 do
for i:=k+1 to n do
begin
t:=a[i,k]/a[k,k];
for j:=k to n+1 do
a[i,j]:=a[i,j]-a[k,j]*t;
end;

x[n]:=a[n,n+1]/a[n,n];
for i:=n-1 downto 1 do
begin
t:=0;
for j:=n downto i+1 do
t:=t+a[i,j]*x[j];
x[i]:=(a[i,n+1]-t)/a[i,i];
end;

writeln;

writeln ('Исходная функция');
if x[1]<>0 then
write (x[1]:7:2);
for i:=2 to n do
if x[i]<>0 then
write ('+',x[i]:7:2,'*X^',i-1);
writeln ('=Y');

writeln ('Производная функции');
for i:=2 to n do
y[i]:=x[i]*(i-1);

if y[2]<>0 then
write (y[2]:7:2);
for i:=3 to n do
if y[i]<>0 then
write ('+',y[i]:7:2,'*X^',i-2);
writeln ('=Y');

writeln('Закончить работу?'); {завершение работы}
writeln('если да - нажмите "q"');
writeln('если нет - любую другую клавишу');
q:=readkey;
until q='q';
End.
amerten вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070