Организация программ с использованием процедур: Методические указания к выполнению лабораторной работы № 3

Страницы работы

Содержание работы

Лабораторная работа № 3

Организация программ с использованием процедур

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

2. Изучение механизма передачи параметров по ссылке.

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

Дано несколько массивов чисел. Длины массивов заданы в вариантах. Требуется в каждом массиве найти наибольший и наименьший элементы и напечатать их.

Содержание отчета

1.  Постановка задачи. Исходные данные.

2.  Анализ решения задачи. Алгоритм решения (блок – схема алгоритма).

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

4.  Результат выполнения программы.

5.  Анализ допущенных ошибок. Выводы по работе.

Методические указания к выполнению работы

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

2.  Если в качестве параметра процедуре указывается массив, то его необходимо передавать по ссылке для экономии памяти (использовать параметры-переменные).

3.  Пример выполнения программы:

Program lab_18;

Uses CRT;

type  TArray = array [1..10] of integer;

var   A,B,C: TArray;

procedure Min_Max(var M: TArray; N:integer; var Min, Max: integer);

var

  i: integer;

begin

  Min:= M[1]; Max:=M[1];

  for i:=2 to N do

  begin

    if M[i]>Max then Max:=M[i];

    if M[i]<Min then Min:=M[i]

  end

end;

procedure ReadArray(var M: TArray; N:integer);

var i: integer;

begin

  write('Введите ',N,' элемента(ов) массива: ');

  for i:=1 to N do read(M[i]);

end;

procedure WriteResult(var M: TArray; N,L:integer);

var Min, Max: integer;

begin

  Min_Max(M, N, Min, Max);

  writeln('Массив ',L,' --------------');

  writeln('Мин. элемент: ',Min,'  Макс. элемент: ',Max);

end;

begin

  ClrScr;

  ReadArray(A,3);

  ReadArray(B,5);

  ReadArray(C,4);

  WriteResult(A, 3, 1);

  WriteResult(B, 5, 2);

  WriteResult(C, 4, 3);

end.

Протокол выполнения программы:

Введите 3 элемента(ов) массива: 7 6 9

Введите 5 элемента(ов) массива: 3 8 5 4 6

Введите 4 элемента(ов) массива: 2 4 3 5

Массив 1 --------------

Мин. элемент: 6  Макс. элемент: 9

Массив 2 --------------

Мин. элемент: 3  Макс. элемент: 8

Массив 3 --------------

Мин. элемент: 2  Макс. элемент: 5

Варианты заданий:

Тип элементов

Количество элементов

Массив 1

Массив 2

Массив3

1-3

Целые

3

4

-

4-6

Вещественные

4

5

5

7-9

Целые

5

3

-

10-12

Вещественные

3

4

3

13-15

Целые

4

5

-

16-18

Вещественные

5

3

6

19-21

Целые

3

5

-

22-24

Вещественные

4

5

2

25-27

Целые

5

3

-

28-30

Вещественные

3

4

4

Контрольные вопросы

1.  В чем отличия формальных и фактических параметров?

2.  Чем отличаются глобальные и локальные переменные?

3.  В каких случаях используются параметры-значения и параметры-переменные?

4.  В чем отличия функций от процедур?

5.  Что включает в себя заголовок процедуры?

6.  Что включает в себя заголовок функции?

Похожие материалы

Информация о работе