Разработка приложения с использованием подпрограмм и модулей Постановка задачи:
Разработать приложение, состоящее из нескольких Unit в соответствии с индивидуальным заданием.
В программе предусмотреть возможность выбора функции, для которой будет рассчитываться таблица. Функции поместитm в отдельный модуль.
Задание:Необходимо вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для х изменяющихся от до с шагом . Близость значений S(x) и Y(x) во всем диапазоне значений x указывает на правильность вычисления S(х) и Y(x).
Memo1.Lines.Add('Лабораторная работа №7 (на базе варианта 6');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
x,x1,x2,x2n,h,S,Y,deltas : extended;
n,nf,i : Integer;
Begin
x1:=StrToFloat(edit1.Text);
x2:=StrToFloat(edit2.Text);
If x2<x1 Then
Begin
x:=x1;
x1:=x2;
x2:=x;
End;
n:=StrToInt(edit3.Text);
h:=(x2-x1)/n;
edit4.Text:=FloatToStr(h);
x:=x1;
Repeat
//Вычисление S
S:=x;
nf:=1;
x2n:=x;
For i:=1 To n Do
Begin
nf:=nf*2*i*(2*i+1); // (2*n+1)!
x2n:=x2n*x*x; // x^(2*n+1)
deltas:=x2n/nf;
S:=S+deltas;
End;
//Подключение модуля mathfunc
y:=yx(x);
Memo1.Lines.Add('S = ' + FloatToStrF(S, ffFixed,12,10)+ ' Y = '+
FloatToStrF(Y, ffFixed,12,10));
x:=x+h;
Until x>x2;
End;
end.
unit mathfunc;
interface
function Yx(x:Extended):extended;
implementation
function Yx(x:Extended):extended;
begin
Result:=(exp(x)-exp(-x))/2;
end;
end.
Результат работы программы:
1. При запуске программы появляется следующее окно:
2. После нажатия кнопки «ПУСК»:
Выводы: изучили возможности DELPHI для написания подпрограмм и создания модулей. Составили и отладили программу, использующую внешний модуль Unit с подпрограммой.