Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет 2 по основам программирования.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

Лабораторное занятие № 14 Тема: Создание проекта по обработке двумерных массивов

Цель: Приобретение навыков использования компонента String Grid для обработки массивов в системе Delphi.

ТО и ПО: OC Windows 7, Delphi 2010.

МО: методические указания.

Задание: Создать проект, осуществляющий вычисление вектора, , где квадратная матрица, размерностью 3х3, а Y и B – векторы размерностью 3. Элементы вектора Y формируются в результате выполнения умножения элементов матрицы А на элементы вектора В. Элементы матрицы А и вектора В вводить в компонент ТString Grid, результат вычисления вывести в ТString Grid.

Описание хода выполнения работы:

1 этап: Создание графического интерфейса

Запустила систему программирования Delphi 2010.

Создала Delphi – проект.

Со страницы Standart палитры компонентов поместила на форму 3 компонента TLabel для надписей соответственно: Матрица А, вектор В и вектор Y.

Со страницы Additional палитры компонентов поместила на форму 3 компонента ТString Grid.

Интерфейс размещения компонентов для диалога с пользователем представлен на рисунке 14.1.

Со страницы Standart палитры компонентов поместила на форму 3 компонента TButton.

Задала значение свойств Caption: для первой кнопки – Копировать в массив, для второй – Вычислить произведение, для третьей – Вывести результат.

Рисунок 14.1

Настроила свойства для String Grid1:

ColCount – 4;

RowCount – 4;

Options. goEditing – True;

Настроила свойства String Grid2:

ColCount – 1;

RowCount – 4;

Options. goEditing – True;

Настроила свойства String Grid3:

ColCount – 1;

RowCount – 4;

Options. goEditing – True;

2 этап: Кодирование процедур обработки:

Объявила типы двумерного массива и одномерного массива (вектора) в разделе Type:

mat=array[1..10,1..10]of real;

vek=array[1..10] of real;

Объявила глобальные переменные а типа mat, а b и y типа vek в разделе var (до раздела реализации):

var

Form10: TForm10;

a:mat;

b, y: vek;

Объявила глобальные переменные счетчиков циклов в разделе var (до раздела реализации):

i,j,c,d,x,z:integer;

Написала код процедуры для копирования элементов из Strin Grid1 – матрицы А в массив а:

procedure TForm10.Button1Click(Sender: TObject);

begin

for i:=1 to 3 do

for j:=1 to 3 do

a[i,j]:=strtofloat(stringgrid1.cells[j,i]);

end;

Написать код процедуры для вычисления произведения матрицы А на вектор В:

procedure TForm10.Button2Click(Sender: TObject);

begin

for i:=1 to 3 do

b[i]:=strtofloat(stringgrid2.Cells[0,i]);

for i := 1 to 3 do

begin y[i]:=0;

for j:=1 to 3 do

y[i]:=y[i]+a[i,j]*b[j];

end; end;

Написала код процедуры для вывода результатов вычисления из массива Y в Strin Grid3:

procedure TForm10.Button3Click(Sender: TObject);

begin for i:=1 to 3 do

stringgrid3.Cells[0,i]:=floattostrf(y[i],fffixed,6,0); end;

3 этап: Тестирование и отладка программы:

Запустила программу.

Ввела элементы матрицы А.

Нажала кнопку Копировать в массив.

Ввела элементы вектора В.

Нажала на кнопку Вычислить произведение.

Нажала а кнопку Вывести результат.

Протокол работы программы представлен на рисунке 14.2

Рисунок 14.2

Вывод: В ходе лабораторного занятия создала проект, осуществляющий вычисление вектора, , где квадратная матрица, размерностью 3х3, а Y и B – векторы размерностью 3. Элементы вектора Y формируются в результате выполнения умножения элементов матрицы А на элементы вектора В. Элементы матрицы А и вектора В вводятся в компонент ТString Grid, результат вычисления выводится в ТString Grid, благодаря чему приобрела навыки использования компонента String Grid для обработки массивов в системе Delphi.