Программирование в среде Delphi. Практикум к лабораторным работам по курсу «Информатика», страница 7

Форма приложения с исходными данными и результатами расчета показана на рис. 2.9.

Рис. 2.9. Простейшие приемы работы с двумерными массивами

Формируем процедуры обработки нажатия кнопок и компилируем программу. Текст модуля приводим ниже:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms, Dialogs, Grids, StdCtrls, ExtCtrls, TeeProcs,

TeEngine, Chart, Series;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Label1: TLabel;

Edit1: TEdit;

StringGrid1: TStringGrid;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit2: TEdit;

Label5: TLabel;

Edit3: TEdit;

procedure FormCreate(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

Type

massiv = array [1..30,1..30] of real;

var

A : massiv;   // двумерный массив

N  : integer;  // Размер массива

D  : real;  // Число D

// процедура формирования заголовков таблиц

procedure TForm1.FormCreate(Sender: TObject);

var i,j : integer;

begin

for i:=1 to 8 do

for j:=1 to 8 do

begin

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

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

end;

end;

// процедура закрытие приложения

procedure TForm1.Button4Click(Sender: TObject);

begin

Close

end;

// процедура обработки кнопки "О программе"

procedure TForm1.Button3Click(Sender: TObject);

begin

Application.MessageBox('Программу выполнил студент '+

'группы С-11 Сазонов Н.Н.','О программе')

end;

// процедура обработки кнопки "Решение"

procedure TForm1.Button1Click(Sender: TObject);

var i, j : integer;

Kol : integer;   // количество

begin

try

D:=StrToFloat(Edit2.Text);

for i:=1 to N do

for j:=1 to N do

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

except

Application.MessageBox('Ошибка в данных!',

'Критическая ошибка');

Exit;  // выход из процедуры

end;

Kol:=0;

for i:=1 to N do

for j:=1 to N do

if (A[i,j]<=D)and(i<j)then

Kol:=Kol+1;

Edit3.Text:=IntToStr(Kol);

end;

// процедура установки размера массива

procedure TForm1.Button2Click(Sender: TObject);

begin

n:=StrToInt(Edit1.Text);

StringGrid1.RowCount:=n+1;

StringGrid1.ColCount:=n+1;

end;

end.

2.11. Простейшие приемы работы со строками

Разработать приложение, позволяющее подсчитывать количество пар символов «!?» и удалять из массива строк все символы «/». В главной форме должны находиться исходная таблица строк, таблица измененных строк, кнопка «Установить размер массива», кнопка «Решение», кнопка «О программе», кнопка «Выход».

При нажатии кнопки «Решение» программа должна считать значения одномерного массива строк, выполнить некоторые действия над массивом строк, поместить результирующий массив в таблицу-результат. Действия над строкой оформить в виде функции или процедуры.

Вставляем в пустую форму компонент Edit1 для ввода размера массива строк, четыре кнопки Button1-Button4 для запуска соответствующих процедур, таблицу StringGrid1 для ввода массива строк, таблицу StringGrid2 для вывода результирующей таблицы, компонент Edit2 для вывода количества пар символов.

Форма приложения с исходными данными и результатами расчета показана на рис. 2.10.

Формируем процедуры обработки нажатия кнопок и компилируем программу. Текст модуля приводим ниже:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

Forms, Dialogs, Grids, StdCtrls, ExtCtrls, TeeProcs, TeEngine,

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Label1: TLabel;

Edit1: TEdit;

StringGrid1: TStringGrid;

Label2: TLabel;

Label3: TLabel;

StringGrid2: TStringGrid;

Label4: TLabel;

Label5: TLabel;

Edit2: TEdit;

procedure FormCreate(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation