Воронеж 2021 Практическая работа №1 Тема практической работы: Файл проекта. Структура и Назначение


Вывод : Сегодня я узнал, что такое фрейм, научился с ним работать. Практическая работа № 23



бет21/22
Дата02.01.2022
өлшемі0.7 Mb.
#452576
түріПрактическая работа
1   ...   14   15   16   17   18   19   20   21   22
ооп итог

Вывод : Сегодня я узнал, что такое фрейм, научился с ним работать.

Практическая работа № 23

Тема практической работы: Создание таблиц. Таблицы: заполнение и редактирование.

Цель практической работы: Изучить свойства компонента TStringGrid. Написать программу с использованием массивов.

Ход работы :

Задание №1

Рис 96 Рис 97

Листинг :

unit Unit1;

interface

uses


Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls, Buttons;

type


TForm1 = class(TForm)

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

StringGrid3: TStringGrid;

BitBtn1: TBitBtn;

Edit1: TEdit;

Label1: TLabel;

Button1: TButton;

BitBtn2: TBitBtn;

procedure FormActivate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

private


{ Private declarations }

public


{ Public declarations }

end;


const

Nmax=10;


Type

Mas1 = array[1..Nmax] of extended;

Mas2 = array[1..Nmax,1..Nmax] of extended;

Var


Form1: TForm1;

A : Mas2;

B,Y : Mas1;

N,i,j : integer;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);

begin


N:=3;

Edit1.Text:=IntToStr(N);

StringGrid1.ColCount:=N+1;

StringGrid1.RowCount:=N+1;

StringGrid2.RowCount:=N+1;

StringGrid3.RowCount:=N+1;

StringGrid1.Cells[0,0]:='Массив A:';

StringGrid2.Cells[0,0]:='Массив B:';

StringGrid3.Cells[0,0]:='Массив Y:';

begin


StringGrid1.Cells[0,i]:=' i= '+IntToStr(i);

StringGrid1.Cells[i,0]:=' j= '+IntToStr(i);

end;

end;


procedure TForm1.Button1Click(Sender: TObject);

begin


try

N:=StrToInt(Edit1.Text);

except

ShowMessage('Ошибочная запись числа '+Edit1.Text);



Edit1.SetFocus;

Exit;


end;

StringGrid1.ColCount:=N+1;

StringGrid1.RowCount:=N+1;

StringGrid2.RowCount:=N+1;

StringGrid3.RowCount:=N+1;

begin


StringGrid1.Cells[0,i]:=' i= '+IntToStr(i);

StringGrid1.Cells[i,0]:=' j= '+IntToStr(i);

end;

end;


procedure TForm1.BitBtn1Click(Sender: TObject);

var


s: extended;

begin


for i:=1 to N do

for j:=1 to N do

begin

if StringGrid1.Cells[j,i]=' ' then



begin

ShowMessage('Ошибка заполнения массива А');

Exit;

end;


try

A[i,j]:=StrToFloat(StringGrid1.Cells[j,i]);

except

ShowMessage('Ошибочная запись числа '+StringGrid1.Cells[j,i]);



Exit;

end;


end;

for i:=1 to N do

begin

if StringGrid2.Cells[0,i]=' ' then



begin

ShowMessage('Ошибка заполнения массива В!');

Exit;

end;


try

B[i]:=StrToFloat(StringGrid2.Cells[0,i]);

except

ShowMessage('Ошибочная запись числа '+StringGrid2.Cells[0,i]);



Exit;

end;


end;

for i:=1 to N do

begin

s:=0;


for j:=1 to N do

s:=s+A[i,j]*B[i];

Y[i]:=s;

StringGrid3.Cells[0,i]:=FloatToStrf(y[i],fffixed,6,2);

end;

end;


procedure TForm1.BitBtn2Click(Sender: TObject);

begin


for i:=1 to N do

begin


StringGrid2.Cells[0,i]:=' ';

StringGrid3.Cells[0,i]:=' ';

for j:=1 to N do

StringGrid1.Cells[j,i]:=' ';

end;

end; end.





Достарыңызбен бөлісу:
1   ...   14   15   16   17   18   19   20   21   22




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет