Пример программы с использованием подпрограмм

Задача.

Задан двумерный массив целых чисел. Определить количество четных чисел в массиве.

Составим: процедуру ввода элементов массива;

функцию подсчета количества четных чисел;

процедуру вывода двумерного массива в виде матрицы.

  1. Таблица идентификаторов
Наименование переменной Обозначения в программе
  Имя массива a
  Количество строк n
  Количество столбцов m
  Индексы массива I,j
  1. Листинг программы.

program pp_1;

type

mas=array[1..10,1..10] of integer;

var

a:mas; n,m,i,j:integer;

{ Процедура ввода массива }

procedure input_mas(n,m:integer; var a:mas);

begin

for i:=1 to n do

for j:=1 to n do readln(a[i,j]);

end;

{Функция подсчета количества нечетных чисел}

function kol(n,m:integer; a:mas):integer;

var

k:integer;

begin

kol:=0;

for i:=1 to n do

for j:=1 to n do

if not odd(a[ i,j ]) then k:=k+1;

kol:=k;

end;

{Процедура вывода матрицы}

procedure print_mas(n,m:integer; a:mas);

begin

for i:=1 to n do

begin

for j:=1 to n do write(a[i,j],‘ ‘);

writeln;

end;

end;

{ Исполнительная часть основной программы }

begin

writeln(‘Введите n<=10, m<=10’);

readln (n,m);

writeln(‘Введите элементы массива по строкам’);

input_mas(n,m,a);

writeln(‘Исходная матрица’);

print_mas(n,m,a);

writeln(‘Количество нечетных чисел =’,kol(n,m,a));

readln;

end.

Вопросы для самоконтроля

  1. В каких случаях прибегают к построению подпрограмм?
  2. В каком месте программы располагаются функции или процедуры?
  3. Что такое процедура?
  4. Какова структура процедуры?
  5. Как передается информация в процедуру?
  6. Каким образом возвращаются результаты работы процедуры в основную программу?
  7. Какое соответствие должно быть между формальными и фактическими параметрами?
  8. Какие переменные называются глобальными? Время существования глобальных переменных?
  9. Какие переменные называются локальными? Время существования локальных переменных?
  10. Когда используют директиву forward?
  11. В каких случаях целесообразно прибегать к построению функций?
  12. Как передается информация в функцию?
  13. Каким образом возвращается результат работы функции в основную программу?

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: