Директива forward

 

Если одна подпрограмма использует другую, а та, в свою очередь, использует первую, возникает проблема размещения этих процедур в программе. Какую из них поместить в программе первой? В этих случаях прибегают к директиве forward.

Например:

procedure pp1(a,b:integer):forward;

procedure pp2(c: real); {Вторая процедура}

var x,y:integer;

begin

pp1(x, y);

end;

procedure pp1; {Первая процедура}

var z:real;

begin

pp2 (z);

end;

 

Задача.

 

Задан одномерный массив вещественных чисел. Найти максимальный элемент массива и определить его номер.

Составим программу с использованием двух процедур:

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

процедура поиска максимального элемента и определение его номера.

Для передачи массива в процедуру введем пользовательский тип mas.

 

program PP;

type

mas=array[1..100] of integer; {пользовательский тип}

var { глобальные переменные }

a:mas;

max:real;

n,max,kmax:integer;

 

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

var i:integer; {локальная переменная}

begin

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

end;

procedure max_m(n:integer; a:mas; var max,kmax:integer );

var i:integer;

begin

max:=a[1];kmax:=1;

for i:=1 to n do

if a[i]>max then

begin max:=a[i]; kmax:=i; end;

end;

begin

writeln(‘ Введите n<=100’) ; readln( n );

writeln (‘ Введите элементы массива ‘);

input_mas(n,a);

max_m(n,a,max,kmax );

writeln(‘max=’,max,‘kmax=’,kmax);

readln;

end.

 








Дата добавления: 2015-05-21; просмотров: 533;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.