![](/user_photo/2706_HbeT2.jpg)
- •Тема: Процедуры и функции
- •Рекурсия
- •Лабораторная работа №4 Тема: Процедуры и функции
- •Задание 1
- •Задание 2
- •Задание 3
- •Контрольные вопросы по данной теме
- •Тема: Массивы Понятие структуры
- •Массив – однородная совокупность элементов
- •Индекс массива
- •Вычисление индекса массива
- •Основные действия с массивами
- •Ввод массива
- •Вывод массива
- •Пример решения задачи с использованием массивов
- •Вопросы для повторения
- •Лабораторная работа №5 Тема: Одномерные массивы Задание 1
- •Задание 2
- •Рекомендации к решению задач
- •Решение: Приведем общие рассуждения.
- •Удаление нескольких элементов из массива. Удалить из массива все элементы, значение которых равно максимальному.
- •Задание 3
- •Виды сортировок
- •Двумерные массивы – матрицы
- •Основные действия с матрицами
- •Представление массива в памяти
- •Сколько памяти выделяется для массива?
- •Примеры решения задач
- •Текст программы
- •Текст программы
- •Вопросы для повторения
- •Лабораторная работа №6 Тема: Двумерные массивы Задание 1
- •Задание 2
- •Литература
Текст программы
Program summa;
Type
Matrix=array [1..10, 1..10] of integer;
Var
A, b, c: matrix;
N, m, i, j: byte;
Procedure vvod (var m: matrix);
Var k, h: byte;
Begin
For i:=1 to n do {переменная n для процедуры является глобальной, а значит «известной»}
For j:=1 to m do {переменная m для процедуры является глобальной, а значит «известной»}
M[i,j]:= random(10);
End;
Procedure print (m: matrix);
Var k, h: byte;
Begin
For i:=1 to n do
begin
For j:=1 to m do
Write (M[i, j]: 4);
Writeln;
End;
End;
Begin {начало основной программы}
Writeln(‘Введите размерность матрицы:’);
Readln(N, M);
Vvod(a); Print(a);
Writeln; {вставим пустую строку чтобы разделить вывод матриц}
Vvod(b); Print(b);
Writeln; {вставим пустую строку чтобы разделить вывод матриц}
For i:=1 to N do
For j:=1 to M do
C[i, j]:= a[i, j]+b[i, j];
Print(c);
End.
Вопросы для повторения
Что представляет собой двумерный массив?
Как в Паскале описывается двумерный массив?
Как осуществляется доступ к элементам двумерного массива?
Как осуществить ввод матрицы?
Как осуществить вывод матрицы на экран?
Есть следующее описание переменных: var a,b: array [1..15, 0..8] of real; t: boolean; Какие из указанных операций допустимы в Паскале?
a:= b; a:=a+b; t:=a<>b; read(a); a[1]:=a[8]; a[2,3]:=b[4,8]+b[1,1].
Какое из описаний вызовет ошибку "Structure too large" (структура превышает максимально допустимый объём статической памяти) :
Type Vector = Array[Byte] Of Integer; Var C : Array[1..10] Of Vector;
Var K : Array [Byte, Byte] Of real;
Var S : Array[–10000..10000] Of integer.
Можно ли в Паскале описать трехмерный массив? А n-мерный? Как это сделать? Как осуществляется доступ к элементам n-мерного массива?
Лабораторная работа №6 Тема: Двумерные массивы Задание 1
Задание:Сформировать квадратную матрицу порядкаnпо заданному образцу:
Указания к выполнению:выполнить все этапы решения задачи самостоятельно. Вывод матрицы на экран оформить в виде процедуры.
Вариант 1.
1 |
2 |
3 |
... |
n-1 |
N |
N |
n-1 |
n-2 |
... |
2 |
1 |
1 |
2 |
3 |
... |
n-1 |
N |
N |
n-1 |
n-2 |
... |
2 |
1 |
... |
... |
... |
... |
... |
|
N |
n-1 |
n-2 |
... |
2 |
1 |
Вариант 2.
0 |
0 |
0 |
... |
0 |
1 |
0 |
0 |
0 |
... |
2 |
0 |
... |
... |
... |
... |
... |
... |
0 |
0 |
n-2 |
... |
0 |
0 |
0 |
n-1 |
0 |
... |
0 |
0 |
n |
0 |
0 |
... |
0 |
0 |
Вариант 3.
n |
0 |
0 |
... |
0 |
0 |
0 |
n-1 |
0 |
... |
0 |
0 |
0 |
0 |
n-2 |
... |
0 |
0 |
... |
... |
... |
... |
... |
... |
0 |
0 |
0 |
... |
2 |
0 |
0 |
0 |
0 |
... |
0 |
1 |
Вариант 4.
1 |
n |
1 |
n |
... |
N |
2 |
n-1 |
2 |
n-1 |
... |
n-1 |
3 |
n-2 |
3 |
n-2 |
... |
n-2 |
... |
... |
... |
... |
... |
... |
n-1 |
2 |
n-1 |
2 |
... |
2 |
n |
1 |
n |
1 |
... |
1 |
Вариант 5.
1 |
1 |
1 |
... |
1 |
1 |
0 |
1 |
1 |
... |
1 |
0 |
0 |
0 |
1 |
... |
0 |
0 |
... |
... |
... |
... |
... |
... |
0 |
1 |
1 |
... |
1 |
0 |
1 |
1 |
1 |
... |
1 |
1 |
Вариант 6.
1 |
1 |
1 |
... |
1 |
1 |
2 |
2 |
2 |
... |
2 |
0 |
3 |
3 |
3 |
... |
0 |
0 |
... |
... |
... |
... |
... |
... |
n-1 |
n-1 |
0 |
... |
0 |
0 |
n |
0 |
0 |
... |
0 |
0 |
Вариант 7.
1 |
2 |
3 |
... |
n-1 |
N |
2 |
3 |
4 |
... |
n |
0 |
3 |
4 |
5 |
... |
0 |
0 |
... |
... |
... |
... |
... |
... |
n-1 |
N |
0 |
... |
0 |
0 |
n |
0 |
0 |
... |
0 |
0 |
Вариант 8.
1 |
0 |
0 |
... |
0 |
N |
0 |
2 |
0 |
... |
n-1 |
0 |
0 |
0 |
3 |
... |
0 |
0 |
... |
... |
... |
... |
... |
... |
0 |
2 |
0 |
... |
n-1 |
0 |
1 |
0 |
0 |
... |
0 |
N |
Задание:вычислить сумму элементов матрицы в заштрихованной области.
Указание к выполнению:выполнить все этапы решения задачи самостоятельно. Ввод и вывод матрицы оформить в виде процедур.
Вариант 9.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 10.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 11.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 12.
|
|
|
|
|
H столбец |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
K строка |
|
|
| |||||
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
Вариант 13.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 14.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 15.
|
|
|
|
|
H столбец |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
K строка |
|
|
| |||||
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|