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

ЛАБОРАТОРНАЯ РАБОТА

По дисциплине “Основы программирования”

На тему

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

Цель работы: получение навыков работы с процедурами и двумерными массивами.

Постановка задачи:

1. Изучить способы описания и использования многомерных массивов, назначение процедур, их описание и обращение к ним.

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

3. Программно реализовать алгоритмы.

Задание к работе:

1. Дана матрица n*m. В каждой Строке выбрать минимальный элемент, затем среди них найти наибольший. Вывести индексы найденного элемента.

2. Набрать программу, отладить ее, протестировать. Распечатать текст программы и результаты ее работы на тестовых данных.

Ход выполнения работы

1. Блок-схема:

Z:=b[1] y:=1

b[x]:=z

Z:=a[x, y]

C[i]:=y

+

+

Рисунок 1. Блок-схема программы

2. Текст программы

Program lab52;

Const

Max=10;

Type

Mat=array[1..max] of array[1..max] of integer;

Var

A:mat;

B:array[1..max] of integer;

C:array[1..max] of Byte;

I, j:byte;

Procedure vvod_m(Var a:mat;Var i, j:Byte);

Var x, y:byte;

Begin

Writeln(‘Введите мерность матрици ‘);

Write(‘i=’); readln(i);

Write(‘j=’); readln(j);

Writeln(‘Введите массив:’);

For x:=1 to i do

For y:=1 to j do

Begin

Write(‘a[‘,x,’,’,y,’]=’);

Readln(a[x, y])

End

End;

Procedure Proc(a:mat;i, j:byte);

Var

B:array[1..max] of integer;

C:array[1..max] of Byte;

X, y:byte;

Z:integer;

Begin

For x:=1 to i do

Begin

Z:=a[x,1];

C[i]:=1;

For y:=2 to j do

If a[x, y]<z then

Begin

Z:=a[x, y];

C[i]:=y

End;

B[x]:=z;

End;

Z:=b[1];

Y:=1;

For x:=2 to i do if b[x]>z then

Begin

Z:=b[x];

Y:=x

End;

Writeln(‘Искомый элемент-a[‘,y,’,’,c[y],’]=’,a[y, c[y]]);

End;

Begin

Vvod_m(a, i,j);

Proc(a, i,j)

End.

3. Результаты работы:

1. Тест №1.

Искомый элемент – a[2,1]=3.

Рисунок 2. Результат теста №1.

2. Тест №2.

Искомый элемент – a[3,1]=2.

Рисунок 3. Результат теста №2.


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