Раздел операторов основной программы

END.

Имена, объявленные в разделе описаний основной программы, действуют в разделе операторов основной программы и в любой подпрограмме. Эти имена называются глобальными. Имена, объявленные в какой-либо подпрограмме, действуют в этой подпрограмме и в любой, объявленной в ней процедуре или функции. Такие имена называются локальными. Они недоступны для операторов основной программы. Область действия меток переходов в пределах каждой программной единицы своя. Нельзя перейти по оператору GOTO из одной процедуру в другую.

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

Даны два массива М1 и М2, содержащие К1 и К2 целых чисел, соответственно. Определить максимальные числа в каждом из этих массивов, сравнить найденные значения между собой и вывести большее из них на экран.

Схема алгоритма

       
 
   
 

 

 


нет

 
 

 


да

       
 
   
 

 


Выделим глобальные переменные, которые используются в главной программе: М1, М2, К1, К2, Мах1, Мах2.

 

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

Uses crt;

Type Tmas=array[1..1000] of integer;

Var M1, M2: Tmas;

K1, K2, Max1, Max2 : integer;

{ Процедура ввода длины массива и самого массива }

Procedure Vvod(Var K:integer; Var M:Tmas);

Var i:integer;

Begin

Write(' Введите длину массива');

Readln(K);

Writeln(' Введите элементы массива целых чисел, через пробел');

For i:=1 to K do

Read(M[i]); readln;

End; { конец процедуры ввода}

{ Процедура поиска максимального элемента в массиве}

Procedure Poisk_max(K:integer; M:Tmas; Var Max:integer);

Var i:integer;

Begin

Max:=M[1]; { За максимум принимаем первый элемент}

For i:=2 to K do

If M[i]>Max then Max:=M[i]; {Запоминаем новый максимум}

End;

{ Начало основной программы}

Begin

Clrscr;

Writeln(' Ввод первого массива');

Vvod(K1, M1);

Writeln(' Ввод второго массива');

Vvod(K2,M2);

Poisk_max(K1, M1, Max1);

Poisk_max(K2, M2, Max2);

If Max1>Max2 then writeln(' Max1 больше и оно = ',Max1)

Else writeln(' Max2 больше и оно = ',Max2);

Readkey; { Останов для просмотра результатов}

End.

 








Дата добавления: 2015-09-28; просмотров: 915;


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

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

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

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