Автор: Пользователь скрыл имя, 23 Февраля 2012 в 14:26, контрольная работа
Используя оператор выбора, составить программу вычисления площадей различных фигур
Вариант 9
Задача 1.
Используя оператор выбора, составить программу вычисления площадей различных фигур.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
RadioGroup1: TRadioGroup;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit3: TEdit;
Label5: TLabel;
Button1: TButton;
Button2: TButton;
Label6: TLabel;
Edit4: TEdit;
Label7: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.RadioGroup1Click(
Var P,L,S: real;
i: byte;
begin
i:=RadioGroup1.ItemIndex+1;
Edit1.Show;
Label3.Show;
Edit2.Show;
Label4.Show;
Edit4.Hide;
Label7.Hide;
case i of
1: begin
Label3.Caption:='P';
Label4.Caption:='L';
end;
2: begin
Label3.Caption:='P';
Label4.Caption:='H';
end;
3: begin
Label4.Caption:='R';
Label3.Caption:='H';
end;
4: begin
Label4.Caption:='R';
Label3.Caption:='L';
end;
5: begin
Label3.Caption:='R';
Label4.Hide;
Edit2.Hide;
end;
6: begin
Label3.Caption:='R';
Label4.Show;
Label4.Caption:='h';
Edit2.Show;
Label7.Show;
Edit4.Show;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
Var P,L,S,H,a: real;
i: byte;
begin
i:=RadioGroup1.ItemIndex+1;
case i of
1: begin
P:=StrToFloat(Edit1.Text);
L:=StrToFloat(Edit2.Text);
S:=P*L;
Edit3.Text:=Format('%f',[S]);
end;
2: begin
P:=StrToFloat(Edit1.Text);
H:=StrToFloat(Edit2.Text);
S:=(P*H)/2;
Edit3.Text:=Format('%f',[S]);
end;
3: begin
P:=StrToFloat(Edit1.Text);
H:=StrToFloat(Edit2.Text);
S:=2*Pi*P*H;
Edit3.Text:=Format('%f',[S]);
end;
4: begin
P:=StrToFloat(Edit1.Text);
H:=StrToFloat(Edit2.Text);
S:=Pi*P*H;
Edit3.Text:=Format('%f',[S]);
end;
5: begin
P:=StrToFloat(Edit1.Text);
S:=4*Pi*Sqr(P);
Edit3.Text:=Format('%f',[S]);
end;
6: begin
P:=StrToFloat(Edit1.Text);
H:=StrToFloat(Edit2.Text);
a:=StrToFloat(Edit4.Text);
S:=Pi*P*(2*H+a);
Edit3.Text:=Format('%f',[S]);
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
end;
end.
Задача 2
Составить программу вычисления используя все циклы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button1: TButton;
BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var n, i: integer;
S: real;
begin
n:=StrToInt(Edit1.Text);
S:=0;
for i:=1 to n do
begin
s:=s+(1+1/sqr(2*i+1));
end;
Edit2.Text:=Format('%f', [S]);
S:=0;
i:=1;
while i<=n do
begin
s:=s+(1+1/sqr(2*i+1));
i:=i+1;
end;
Edit3.Text:=Format('%f', [S]);
S:=0;
i:=1;
repeat
s:=s+(1+1/sqr(2*i+1));
i:=i+1;
until i>n;
Edit4.Text:=Format('%f', [S]);
end;
end.
Задача 3
Написать программу, вычисляющую произведение максимального и минимального элементов матрицы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, ExtCtrls, Grids;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
BitBtn1: TBitBtn;
Label4: TLabel;
Edit3: TEdit;
Button2: TButton;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a: array[1..10,1..10] of integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Var i,j,n,m: integer;
begin
n:=StrtoInt(Edit1.Text);
m:=StrtoInt(Edit2.Text);
Randomize;
for i:= 1 to n do
for j:= 1 to m do
with StringGrid1 do
begin
a[i,j]:=5-random(30);
Cells[j-1,i-1]:=Format('%5d',[
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var max, min,i,j,n,m: integer;
begin
n:=StrtoInt(Edit1.Text);
m:=StrtoInt(Edit2.Text);
for i:= 1 to n do
for j:= 1 to m do
with StringGrid1 do
begin
A[i,j]:=StrToInt(Cells[j-1,i-
end;
max:=A[1,1];
min:=A[1,1];
for i:= 1 to n do
for j:= 1 to m do
begin
if A[i,j]>max then max:=A[i,j];
if A[i,j]<min then min:=A[i,j];
end;
Edit3.Text:=IntToStr(max*min);
end;
end.