Автор: Пользователь скрыл имя, 20 Декабря 2010 в 21:03, контрольная работа
Простейшая программа в среде Delphi.
Цель работы: Научиться конструировать главную форму программы простейшими стандартными компонентами.
Постановка задачи:
1.Создать главную форму и присвоить ей имя, соответствующее лабораторной работе.
2.Сконструировать простейший калькулятор.
3.Написать обработчики, реализующие основные арифметические действия калькулятора.
4.Изучить структуру Unit главной формы.
public
{ Public declarations }
end;
var
Form1: TForm1;
Check: Byte;
implementation
{$R *.dfm}
function AbsReal(X : Extended):Extended;
begin
Result := Abs(X);
end;
function F(X : Double):Double;
begin
Result:=1/sqrt(1+3*x+2*x*x);
end;
function IntegralRect(a : Double; b : Double; Epsilon : Double):Double;
var
i : Integer;
n : Integer;
h : Double;
s1 : Double;
s2 : Double;
begin
n := 1;
h := b-a;
s2 := h*F((a+b)/2);
repeat
n := 2*n;
s1 := s2;
h := h/2;
s2 := 0;
i := 1;
repeat
s2 := s2+F(a+h/2+h*(i-1));
i := i+1;
until not (i<=n);
s2 := s2*h;
until not (AbsReal(s2-s1)>3*Epsilon);
Result := s2;
end;
function IntegralTrap(a : Double; b : Double; Epsilon : Double):Double;
var
i : Integer;
n : Integer;
h : Double;
s1 : Double;
s2 : Double;
begin
n := 1;
h := b-a;
s2 := h*(F(a)+F(b))/2;
repeat
s1 := s2;
s2 := 0;
i := 1;
repeat
s2 := s2+F(a-h/2+h*i);
i := i+1;
until not (i<=n);
s2 := s1/2+s2*h/2;
n := 2*n;
h := h/2;
until not (AbsReal(s2-s1)>3*Epsilon);
Result := s2;
end;
function IntegralSimps(a : Double; b : Double; Epsilon : Double):Double;
var
h : Double;
s : Double;
s1 : Double;
s2 : Double;
s3 : Double;
x : Double;
begin
s2 := 1;
h := b-a;
s := F(a)+F(b);
repeat
s3 := s2;
h := h/2;
s1 := 0;
x := a+h;
repeat
s1 := s1+2*F(x);
x := x+2*h;
until not (x<b);
s := s+s1;
s2 := (s+s1)*h/3;
x := AbsReal(s3-s2)/15;
until not (x>Epsilon);
Result := s2;
end;
procedure TForm1.ToolButton1Click(
begin
RadioGroup1.ItemIndex:=0;
Check:=1;
form1.Edit1.Text:='';
end;
procedure TForm1.ToolButton3Click(
begin
RadioGroup1.ItemIndex:=1;
Check:=2;
form1.Edit1.Text:='';
end;
procedure TForm1.ToolButton5Click(
begin
RadioGroup1.ItemIndex:=2;
Check:=3;
form1.Edit1.Text:='';
end;
procedure TForm1.Button1Click(Sender: TObject);
var s:String ;
begin
case Check of
1:str(IntegralRect(0,1,0.0001)
2:str(IntegralTrap(0,1,0.0001)
3:str(IntegralSimps(0,1,0.
end ;
form1.Edit1.Text:=s;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Check:=1;
end;
end
2) Пример работы программы:
Лабораторная работа №12
Стандартные диалоговые компоненты
Цель работы: Изучить способы работы с основными стандартными диалоговыми компонентами
Постановка задачи: Разработать программу, в которой предусмотреть сохранение значения определенного интеграла и его графического образа в файле. При помощи локального меню предоставить также возможность чтения образа интеграла, ранее сохраненного в файле, в компоненту класса TImage.
1)Листинг
программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
StdCtrls, Menus;
type
TForm1 = class(TForm)
Label4: TLabel;
Button1: TButton;
ColorDialog1: TColorDialog;
Button2: TButton;
Button3: TButton;
PopupMenu1: TPopupMenu;
gfjfjggf1: TMenuItem;
gfhf1: TMenuItem;
fghgfhf1: TMenuItem;
fghgfh1: TMenuItem;
Label1: TLabel;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Col: TColor;
int,intp,pogr,rashcet : Real;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Col:=Form1.Color;
if ColorDialog1.Execute()=True then
Col:=ColorDialog1.Color;
Form1.Color:=Col;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
int:=0;
pogr:=0;
rashcet:=0;
Application.CreateForm(TForm2,
Form2.ShowModal;
Form2.Free;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
StdCtrls, jpeg, ExtCtrls;
type
TForm2 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label1: TLabel;
Label2: TLabel;
Button4: TButton;
Label8: TLabel;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2:
TForm2;
implementation
uses Unit1,
Unit3;
{$R *.dfm}
function f(x:real):real; {интегрируемая функция}
begin
f:=1/sqrt(1+3*x+2*x*x);
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.close;
end;
procedure TForm2.Button2Click(Sender: TObject);
var h,i,z,a,b,n:real; {описание переменных}
begin
a:=0;b:=1;
n:=40;z:=0;
h:=(b-a)/n;
i:=a;
while (i<=b) do {цикл расчета по формуле трапеций}
begin
z:=z+h*(f(i)+f(i+h))/2;
i:=i+h;
end; {конец цикла}
int:=z;
rashcet:=rashcet+1;
Label1.Caption:='Ответ на 3 форме';
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
if rashcet>1 then begin
Application.CreateForm(TForm3,
Form3.ShowModal;
Form3.Free;
end else
Application.MessageBox('
Информация о работе Контрольная работа по "Программирование"