- •Департамент образования и науки
- •1. Этапы решения задач на эвм. Алгоритмизация. Блок-схемы.
- •2. Назначение системы программирования.
- •3.Связь функция - клавиатура в интегрированной среде Turbo Pascal
- •4. Команды экранного редактора
- •4.1 Команды перемещения курсора
- •4.2 Команды вставки/удаления
- •4.3 Команды работы с блоками
- •5. Технология компиляции
- •6. Технология отладки программы
- •7. Программирование линейных алгоритмов
- •Задание 1
- •8. Программирование разветвляющихся вычислительных процессов
- •Задание 2
- •9. Программирование циклов с параметром
- •Задание 3
- •10. Программирование циклов с условием
- •Задание 4
- •11. Работа с векторами
- •Задание 5
- •12. Работа с матрицами
- •Задание 6
- •13. Обработка символьных строк
- •Задание 7
- •14. Записи. Файлы.
- •Задание 8
- •15. Процедуры
- •Задание 9
- •16. Функции
- •Задание 10
12. Работа с матрицами
Двумерный массив состоит из элементов с двумя индексами: один показывает номер столбца в массиве, другой - номер строки.
В Турбо-Паскале возможны массивы и большей размерности. Для их описания возможны два подхода:
а) массив рассматривается как массив других массивов:
type
x=array[1..100] of real;
y=array[1..2] of x;
б) массив рассматривается как многоиндексный
type y=array[ 1...100,1...2 ] of real;
Оба описания равноценны.
Задание 6
ЦЕЛЬ РАБОТЫ:
Научиться составлять алгоритмы и программы для обработки двумерных массивов.
ПРИМЕР 1:Получить матрицу, элементами которой являются
произведения номеров строк i и номеров столбцов j.
А Л Г О Р И Т М
алгтаблица умножения
резр: цел таб [1..9,1..9]
раб i,j: цел
нач
нцдля iот1до9
нцдля jот1до 9
р[i,j]:=i*j
вывод p[i,j]
кц
кц
П Р О Г Р А М М А
program umnog;
type mat=array[1..9,1..9] of integer;
var i,j:integer;
p:mat;
begin
for i:=1 to 9 do
begin
for j:=1 to 9 do
begin
p[i,j]:=i*j;
write (p[i,j]:3)
end;
writeln;
end
end.
ПРИМЕР 2:Из матрицы А[3,4] получить вектор В, элементами которого являются наибольшие элементы столбцов матрицы.
А Л Г О Р И Т М
алгмассив максимумов
арг а: вещ таб [1..3,1..4]
резb: вещ таб [1..4]
рабi,j: цел
нач
нцдляiот1до3
нцдляjот1до4
ввод a[i,j]
кц
кц
нцдляjот1до4
b[j]:=a[1,j]
нцдляiот2до3
если b[j]<a[i,j]
то b[j]:=a[i,j]
все
кц
выводb[j]
кц
кон
П Р О Г Р А М М А
program mag_max;
type x=array[1..3,1..4] of integer;
y=array[1..4] of integer;
var i,j:integer;
a:x; b:y;
begin
writeln ('Введите матрицу А');
for i:=1 to 3 do begin
for j:=1 to 4 do begin
read(a[i,j]);
write (' ')
end;
writeln
end;
writeln ('Массив В');
for j:=1 to 4 do
begin
b[j]:=a[1,j];
for i:=2 to 3 do
if b[j]<a[i,j]
then b[j]:=a[i,j];
write(b[j]:4:1)
end
end.
ПОРЯДОК РАБОТЫ
1. Разработать алгоритм и программу примера 1 (табл.10). Выполнить программу, проанализировать результат.
2. Разработать алгоритм и программу примера 2 (табл.11). Матрицу сформировать из случайных целых чисел.
СОДЕРЖАНИЕ ОТЧЕТА
Отчет должен содержать условия, алгоритмы, тексты программ, исходные данные и результаты по двум примерам.
ТАБЛИЦА 10
Сформируйте квадратную матрицу порядка n по заданному образцу. Протестируйте программу для массива, состоящего из 10*10 элементов.
1)
(n-четное) |
2) |
3) |
4) |
5) |
6) |
7) |
8) |
9) |
10) |
ТАБЛИЦА 11
НОМЕР |
УСЛОВИЕ |
1 |
Найти среднее арифметическое элементов матрицы Х(n,m) и сформировать вектор У из элементов, больших среднего арифметического. |
2 |
Сформировать одномерный массив из элементов, стоящих над главной диагональю матрицы K(m,m). Найти сумму элементов этого массива. |
3 |
Из матрицы У(k,k) получить вектор Т, элементами которого являются элементы главной диагонали матрицы. |
4 |
Из матрицы А(3,4) получить вектор В, элементами которого являются произведения элементов в каждой строке матрицы. |
5 |
Создать вектор М, содержащий количество отрицательных элементов каждого столбца матрицы z(3,4). |
6 |
В матрице X(m,m) найти максимальный диагональный элемент и вывести всю строку, в которой он расположен. |
7 |
Вычислить сумму элементов двух главных диагоналей матрицы С(5,5). |
8 |
Вычислить среднее арифметическое четных элементов матрицы У(4,5). |
9 |
Сформировать вектор С из элементов матрицы L(m,n), больших заданного числа Z. |
10 |
Сформировать Вектор Т из четных элементов матрицы P(k,l). Найти в нем максимальный элемент. |