Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Директива 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.





Дата публикования: 2014-11-02; Прочитано: 452 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...