Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Задание: написать и отладить программу, которая выводит таблицу значений функции S(x) для х изменяющихся в интервале от X1 до X2 c шагом h.
Панель диалога представлена на рис.3.1.
unit tema3;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.text:='0';
Edit2.text:='2';
Edit3.text:='5';
Edit4.text:='0,25';
Memo1.Clear;
Memo1.Lines.Add('Результаты ст. гр.920201 Петрова И.И.');
end;
procedure TForm1.Button1Click(Sender: TObject);
var x1,x2,x,h,a,s:extended;
N,k,c:integer;
begin
x1:=StrToFloat(Edit4.Text);
Memo1.Lines.Add(' x1='+Edit1.Text);
x2:=StrToFloat(Edit2.Text);
Memo1.Lines.Add(' x2='+Edit2.Text);
N:=StrToInt(Edit3.Text);
Memo1.Lines.Add(' N='+Edit1.Text);
h:=StrToFloat(Edit4.Text);
Memo1.Lines.Add(' h='+Edit4.Text);
c:=-1; x:=x1;
repeat
a:=1; S:=1;
for k:=1 to N do
begin
a:=c*a*x/k;
s:=s+a;
end;
Memo1.Lines.Add('при x='+FloatToStrF(x,ffFixed,6,2)+' сумма ='
+FloatToStrF(s,ffFixed,6,2));
x:=x+h;
until x>x2;
end;
end.
После отладки программы составьте тест (N=2, X1=0, X2=1, h=3), установите курсор на первый оператор (N:=), нажмите клавишу F4. После этого нажимая клавишу F7, выполните пошаговую программу и проследите, как меняются все переменные в процессе выполнения.
Дата публикования: 2014-11-04; Прочитано: 308 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!