- •Предисловие
- •Раздел 1. Изучение интегрированной среды delphi
- •1.1. Вводные замечания
- •Основные понятия
- •1.3. Контрольные вопросы
- •1.4. Задания к лабораторной работе № 1
- •Раздел 2. Программирование линейных алгоритмов в системе delphi
- •2.1. Вводные замечания
- •2.2. Основные понятия
- •2.3. Пример программирования линейного алгоритма
- •2.3.1. Разработка алгоритма
- •2.3.3.Текст программы:
- •2.4. Контрольные вопросы
- •2.5. Задания к лабораторной работе № 2
- •Раздел 3. Программирование
- •3.3.2. Разработка формы
- •3.4. Контрольные вопросы
- •3.5. Задания к лабораторной работе № 3
- •Раздел 4. Программирование простых циклических алгоритмов в системе
- •4.1. Вводные замечания
- •4.2. Основные понятия
- •4.3.1. Разработка алгоритма
- •4.4. Контрольные вопросы
- •Раздел 5. Программирование с использованием одномерных массивов в системе delphi
- •5.1. Вводные замечания
- •5.2 Основные понятия
- •5.3. Пример программирования с использованием одномерного массива
- •5.3.1. Разработка алгоритма
- •5.4. Контрольные вопросы
- •5.5. Задания к лабораторной работе № 5
- •Раздел 6. Программирование с использованием двумерных массивов в системе delphi
- •6.1. Вводные замечания
- •6.2. Основные понятия
- •6.3. Пример программирования с использованием двумерного массива
- •6.3.1. Разработка алгоритма
- •Раздел 7. Символы и строки
- •Раздел 8. Файлы
- •Задание 1
- •Раздел 9. Программирование в системе delphi с использованием подпрограмм
- •7.3. Пример программирования с использованием подпрограмм
- •Учебно-методическое обеспечение курса
- •Средства обеспечения освоения дисциплины
6.3. Пример программирования с использованием двумерного массива
Задание: Подсчитать сумму всех элементов в двумерном массиве А[4,5].
6.3.1. Разработка алгоритма
Входные данные
А - вещественный массив размером 4x5. Выходные данные
sum - вещественная переменная - сумма всех элементов массива. Промежуточные данные
i, j - индексы массива, целочисленные переменные.
Таблица 6.1 Используемые компоненты
№ |
Имя компонента |
Страница палитры компонент |
Настраиваемые свойства |
Значения |
1 |
Forml |
|
Caption |
Лабораторная работа №6 |
2 |
Label 1 |
Standard |
Caption |
Введите элементы матрицы |
3 |
Label2 |
Standard |
Caption |
Сумма элементов равна |
4 |
Label3 |
Standard |
Caption |
|
5 |
Button 1 |
Standard |
Caption |
Расчет |
6 |
StringGridl |
Additional |
FixedCols |
0 |
RowCount |
4 |
|||
FixedRows |
0 |
|||
Options |
[goEditing, goTabs] |
6.3.3. Текст программы
unit Unit 1; interface
uses
Windows, Messages, SysUfils, Classes, Graphics, Contro Forms, Dialogs,
StdCtris, Grids;
type TForml = class(TForm)
StringGridl: TStringGrid;
Label 1: TLabel;
Button1:TButton;
Label2: TLabel;
Label3: TLabel;
procedure ButtonlClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var Forml: TForml; implementation
{$R *.DFM} ?
procedure TForml.ButtonlClick(^ender: TObject); const m=4; n=5;.'
type.
mas=array [l..m,l..n] of real; var ijrinteger; a:mas; sum:real; begin
fori:=0to m-1 do
forj:=0 to n-1 do
a[i+l,j+l]:=strtofloat(stringgridl.cells[j,i]);
sum:=0;
for i:=l to m do
forj:=l to ndo
sum:=sum+a[ij];
label1 .caption:=floattostr(sum);
end;
end.
6.4. Контрольные вопросы
Написать фрагмент программы ввода двумерного целочисленного массива, в котором 5 строк и 10 столбцов.
Написать фрагмент программы вывода двумерного вещественного массива, в котором 5 строк и 6 столбцов.
Дать описание трехмерного целочисленного массива.
Дать описание четырехмерного целочисленного массива с использованием разделов описания type и var.
Заданы массивы:
var
А, В: аггау[1.Л5Д.8] of real;
t: boolean;
Какие операции над этими массивами как над единым целым допустимы в системе Delphi?
6. Ввести квадратную вещественную матрицу 4-го порядка, эле- менты которой заданы построчно, и распечатать ее по столбцам.
7. Сколько элементов содержит каждый из описанных ниже ком- понентов?
var MB: array [ А .. С ,2..5] of real;
var MC: array [FALSE..TRUE] of array [1..5] of char;
var MD: array [1..5,2.-8] of integer;
8. Присвоить нулевые значения всем элементам массива
A: array [ К .. Z ] of real
9. Для чего предназначается компонент TStringGrid?
10. Какими свойствами обладает компонент TStringGrid?
6.5. Задания к лабораторной работе № 6
Дана вещественная матрица размером NxM. Переставляя ее строки и столбцы, добиться того, чтобы наибольший элемент (один из них) оказался в верхнем левом углу.
Дана вещественная матрица размером NxM. Упорядочить ее строки по возрастанию их первых элементов.
Дана вещественная матрица размером NxM. Упорядочить ее строки по возрастанию суммы их элементов.
Дана вещественная матрица размером NxM. Упорядочить ее строки по возрастанию наибольших элементов.
Определить, является ли заданная целочисленная квадратная матрица порядка N симметричной относительно главной диагонали.
Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке, и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце. Для заданной целочисленной матрицы размером NxM напечатать индексы ее седловых точек.
Определить, является ли заданная целочисленная квадратная матрица 9-го порядка магическим квадратом, то есть такой, в котором суммы элементов во всех строках и столбцах одинаковы.
Даны целые числа А1…А10, целочисленная квадратная матрица порядка N. Заменить нулями в матрице те элементы, для которых имеются равные числа среди A1...,A110.
Дана действительная квадратная матрица порядка N. Преобразовать матрицу по правилу: первую строку сделать первым столбцом, вторую строку сделать вторым столбцом и т.д.
Даны две действительные квадратные матрицы порядка N. Получить новую матрицу умножением элементов каждой строки первой матрицы на наибольшее из элементов соответствующей строки второй матрицы.
Даны две действительные квадратные матрицы порядка N. Получить новую матрицу прибавлением к элементам каждого столбца первой матрицы минимального элемента соответствующего столбца второй матрицы.
В данной действительной квадратной матрице порядка N найти наибольший по модулю элемент. Получить квадратную матрицу порядка N-1 путем выбрасывания из исходной матрицы строки и столбца, на пересечении которых расположен элемент с найденным значением.
В данной действительной квадратной матрице порядка N найти наименьший по модулю элемент. Получить квадратную матрицу порядка N-1 путем выбрасывания из исходной матрицы строки и столбца, на пересечении которых расположен элемент с найденным значением.
14. Дана действительная матрица размером NxM, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент.
15. Дана действительная матрица, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на ее наименьший по модулю элемент.
16. Дана действительная квадратная матрица порядка N. Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее.
17. Дана действительная матрица размером NxM. Определить числа В1..,Вn, равные значениям средних арифметических элементов строк.
18. Дана действительная матрица размером NxM. Определить числа В1..,Вn, равные значениям средних арифметических элементов столбцов.
19. Дана действительная матрица размером NxM. Определить числа В1..,Вn, равные среднему арифметическому значению максимального и минимального элементов каждого столбца.
20. Все элементы с наибольшим по модулю значением в целочис- ленной квадратной матрице порядка N, заменить нулями.
21. В данной действительной квадратной матрице порядка N найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.
22. Дана действительная матрица размером NxM. Определить числа В1..,Вn, равные произведениям элементов строк.
23. Дана действительная матрица размером NxM. Определить числа В1..,Вn, равные произведению минимального и максимального элементов столбцов матрицы.
24. Дана действительная матрица размером NxM. Определить числа В1..,Вn, равные произведению минимального и максимального элементов строк матрицы.
25. Дана действительная матрица размером NxM. Определить числа В1…Вn равные максимальным значениям элементов строки
С1-.,Сn, равные минимальным значениям элементов столбцов.