Программирование в Делфи

Автор: Пользователь скрыл имя, 23 Февраля 2012 в 14:26, контрольная работа

Краткое описание

Используя оператор выбора, составить программу вычисления площадей различных фигур

Файлы: 1 файл

Вариант 9.doc

— 384.00 Кб (Скачать)


Вариант 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(Sender: TObject);

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',[a[i,j]]);

    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-1]);

        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.

 

 



Информация о работе Программирование в Делфи