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

2013
знаков
1
таблица
6
изображений

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

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

на тему

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


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

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

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

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

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

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

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

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


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

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



-

z:=b[1] y:=1

 

b[x]:=z

 

z:=a[x,y]

c[i]:=y

 
+

-

Овал: конецБлок-схема: документ: ‘a[',y,',',c[y],']=',a[y,c[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.


Информация о работе «Алгоритмические языки: использование процедур при работе с двумерными массивами»
Раздел: Информатика, программирование
Количество знаков с пробелами: 2013
Количество таблиц: 1
Количество изображений: 6

Похожие работы

Скачать
274963
85
0

... ячейка, а имя переменной превращается в адрес ячейки. Появление этого адреса происходит в результате работы специального оператора языка (NEW), однако его значение в большинстве случаев не используется при программировании на алгоритмических языках типа Паскаль. Условимся считать, что адрес ячейки, которая будет хранить переменную А, есть А. Или, другими словами, А - это общее имя переменной и ...

Скачать
112819
0
0

... . Объясните, для чего служат разрешения и привилегии в Windows NT. Зав. кафедрой --------------------------------------------------   Экзаменационный билет по предмету СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Билет № 22 Перечислите возможности и инструменты системы программирования Microsoft Developer Studio. Укажите для чего предназначается буфер в системах ввода-вывода, ...

Скачать
69354
1
0

... , сколько времени потребуется для его составления, как много места для возможных ошибок? Естественно, об этом задумывались и авторы языков программирования. Поэтому во всех существующих языках имеются типы переменных, отвечающие за хранение больших массивов данных. В языке Паскаль они так и называются: "массивы".    Массивом будем называть упорядоченную последовательность данных одного типа, ...

Скачать
91405
0
0

... с внешнего устройства (из входного файла) в основную память ЭВМ, операция вывода - это пересылка данных из основной памяти на внешнее устройство (в выходной файл). Файлы на внешних устройствах часто называют физическими файлами. Их имена определяются операционной системой. В программах на языке Паскаль имена файлов задаются с помощью строк. Например, имя файла на диске может иметь вид: ...

0 комментариев


Наверх