- •Введение
- •Лабораторное занятие № 1 Тема: Разработка программ со структурированными типами данных
- •Лабораторное занятие № 2 Тема: Создание программ, выполняющих основные операции работы со списком
- •Лабораторное занятие № 3 Тема: Структура окна Delphi. Исследование функциональных возможностей среды Delphi
- •Лбораторное занятие № 4 Тема: Изучение основных компонентов среды Delphi
- •Лабораторное занятие № 5 Тема: Управление настройками среды разработки
- •Лабораторное занятие № 6 Тема: Создание проекта линейной структуры программы с использованием визуальных компонентов
- •Лабораторное занятие № 7 Тема: Создание проекта разветвляющейся структуры программы с использованием визуальных компонентов
- •Лабораторное занятие № 8 Тема: Создание проекта циклических структуры программы с использованием визуальных компонентов
- •Лабораторное занятие № 9 Тема: Создание проекта с использованием кнопочных компонентов
- •Лабораторное занятие № 10 Тема: Создание проекта с использованием однострочного редактора
- •Лабораторное занятие № 11 Тема: Создание проекта с использованием компонентов ввода и отображения чисел, дат и времени
- •Лабораторное занятие № 12 Тема: Создание проекта с использованием компонентов стандартных диалогов
- •Лабораторное занятие № 13 Тема: Создание проекта по обработке одномерных массивов
- •Лабораторное занятие № 14 Тема: Создание проекта по обработке двумерных массивов
- •Лабораторное занятие № 15 Тема: Создание программы с использованием компонента RadioButton и GroupBox
- •Заключение
- •Список используемых источников
Лабораторное занятие № 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.
