Описательная часть: (располагается перед implementation )



Лабораторная работа № 1.4

Программирование с использованием массивов

 

     Цель лабораторной работы:

1. изучить свойства компонента TStringGrid.

2. написать и отладить программу с использованием массивов.

Теоретическая часть

 

Работа с массивами

     Массив есть упорядоченный набор однотипных элементов, объединенных под одним именем. Каждый элемент массива обозначается именем, за которым в квадратных скобках следует один или несколько индексов, разделенных запятыми, например: a[1], bb[I], c12[I,j*2], q[1,1,I*j-1].. В качестве индекса можно использовать любые порядковые типы за исключением LongInt.

     Тип массива или сам массив определяются соответственно в разделе типов (Type) или переменных (Var) с помощью ключевого слова Array следующим образом:

    Array [описание индексов] of <тип элемента массива>

Примеры описания массивов:

Const N=20;                                        // Задание максимального значения индекса;

Type TVector=array[1..N] of real;     // Описание типа одномерного массива;

Var a:TVector;                         // А – массив типа Tvector;

     Ss:array[1..10] of integer;          // Ss – массив из десяти целых чисел;

     Y:array[1..5,1..10] of char;        // Y – двумерный массив символьного типа.

     Элементы массивов могут использоваться в выражениях так же, как и обычные переменные, например:

    F:=2*a[3]+a[ss[I]+1]*3;

    A[n]:=1+sqrt(abs(a[n-1]));

Компонент TStringGrid

     При работе с массивами ввод и вывод информации на экран удобно организовывать в виде таблиц. Компонент TStringGrid предназначен для отображения информации в виде двумерной таблицы, каждая ячейка которой представляет собой окно однострочного редактора (аналогично окну TEdit). Доступ к информации осуществляется с помощью свойства Cells[ACol, ARow: Integer]: string, где ACol, Arow - индекс элемента двумерного массива. Свойства ColCount и RowCount устанавливают количество строк и столбцов в таблице, а свойства FixedCols и FixedRows задают количество строк и столбцов фиксированной зоны. Фиксированная зона выделена другим цветом, и в нее запрещен ввод информации с клавиатуры.

Практическая часть

Задание 1: создать программу для определения вектора , где А - квадратная матрица размерностью NxN, а Y, B – одномерные массивы размерностью N.      Элементы вектора Y определяются по формуле . Значения N вводить в компонент TEdit, А и B - в компонент TStringGrid. Результат, после нажатия кнопки типа TButton, вывести в компонент TStringGrid.


Настройка компонента TStringGrid

     Для установки компонента TStringGrid на форму необходимо на странице Additional меню компонентов щелкнуть мышью по пиктограмме . После этого щелкните мышью в нужном месте формы. Захватывая кромки компонента отрегулируйте его размер.


 

В инспекторе объектов значения свойств ColCount и RowCount установите 2 (две строки и два столбца), а FixedCols и FixedRows установите 1 (один столбец и одна строка с фиксированной зоной).

 

Т.к. компоненты StringGrid2 и StringGrid3 имеют только один столбец, то у них: ColCount= 1, RowCount=2, FixedCols=0 и FixedRows=1.

 

По умолчанию в компонент TStringGrid запрещен ввод информации с клавиатуры, поэтому необходимо свойство Options goEditing для компонентов StringGrid1 и StringGrid2 установить в положение True.

         

Умножение матрицы на вектор

Умножение матрицы на вектор производится по правилу «строка на столбец». При умножении матрицы на вектор-столбец число столбцов в матрице должно совпадать с числом строк в векторе-столбце. Результатом умножения матрицы на вектор-столбец есть вектор-столбец:

 

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

 

 

Пример: Найти произведение матрицы А и вектора-столбца В

Решение: по правилу умножения матриц получится

Ответ:        

Описательная часть: (располагается перед implementation )

 

 

Процедура прорисовки таблицы с установлением количества строк и столбцов и записи заголовков столбцов:

 


Дата добавления: 2020-11-15; просмотров: 107; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!