Введение в программирование. Сортировка массива. Средства создания программ. Стандартные модули. Структурированные типы данных, страница 12

            sound (I*120);

                delay (30000);

                                        end;

                                               nosound

10.ПОДПРОГРАММЫ. Прогр-мы,  не раздел-ые на отд-ые структ-ые эл-ты, наз-ся монолитными. Большие монолитные прогр-мы сложны для разработки, отладки и сопровожд-я. Для эфф-ного прогр-ния введено понятие подпрограммы. Подпрограмма – группа операторов, офор-мленная  как самост-ая подпрогр-ная ед-ца. Подпрограмма запис-ся однократно в опред-ой части пр-ммы, а затем в нужных местах пр-ммы обеспеч-ся только обращ-е к ней. При обращ-ии к полпр-мме в неё передаются исходные данные, а после выполн-я операторов подпрограммы в основную прог-мму передаются рез-ты расчёты. Испол-ние подпрог-ммы позволяет сократить V и улучшить общую стр-ру пр-ммы с т. зрения наглядности и читаемости. Уменьшить вероятность ошибок и облегчить процесс отладки пр-ммы. Разлож-е монолитной пр-ммы на подпр-ммы даёт возм-ть выполнять разраб-ку отдельных подпрог-мм разными прогр-тами, независимо друг от друга. В  Paskale код пр-ммы реал-ся в виде процедур и ф-ций.   Процедура – часть пр-ммы, предназначенная для решения опред-ой задачи или подзадачи. Процедура имеет туже самую стр-ру, что и пр-мма. ОБЩАЯ СТРУКТУРА ПРОЦЕДУРЫ:

procedure     <имя> (список параметров); заглавие

label  <список меток>                                  Раз-

const <константы>                                        дел                                          

type <типы>                                                  опи-

VAR  <  описание переменных >               са-  

           <  описаниепроцедур и функций> ний

Begin

   ……              все возможные операторы.

   end;

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

     <имя процедуры> (список факт-их пар-ов);

 Досрочный выход из подпр-ммы возможен только с помощью процедуры  EXIT . При описании подпр-мм и вывода  подпр-мы в основную пр-мму используются понятия формальных и фактических параметров. Формальные параметры- переменные, формально присутствующие в процедуре и определяющие тип и место подстановки фактических параметров. Фактические параметры- реальные объекты пр-мы заменяющие в теле процедуры  при её вызове формальные парам-ры, кол-во и тип   формальных и фактич-их параметров должны обязательно совпадать. Все формальные пар-ры можно разбить на 4 категории: 1) пар-ры значения- эти параметры в основной пр-мме подпр-мы не измен-ся. 2) пар-ры переменные- эти пар-ры подпр-ма может изменить, 3) пар-ры const-ты - эти пар-ры исполь-ся только в 7 ой версии Turbo Paskalя. 4)пар-ры процедуры и пар-ры ф-ции. Параметры значения передаются основной пр-ммой в подпр-мму через ТЭК в виде их копий. Тип пар-ра значения м.б. любым за искл-ем файлового.

РРР(А:real; c,d: integer, ch:char);

Отдельные группы парам-ров отделяются  друг от друга точкой с запятой . В группе указывается имя пар-ра ,и через  двоеточие его тип. Параметры одного типа , объединён-ные в группы  отделяются друг от друга запя-той. Пар-ры переменной .При передачи пар-ров перем-ых подпр-мм фактически передаются их адреса, в порядке , объявленном в заголовке подпрограммы. Это означает, что подпр-мма имеет доступ к этим пар-рам и может их изменить. Парам-р переем-ая указ-ся в заголовке подпр-мы также как и пар-р значения, только перед её именем ставится служебное слово VAR

m(A,B: real; var c: real).  Пар-ры const  указ-ся в заголовки подпрограммы подобно пар-ру значения, но перед именем пар-ра запис-ся служебное слово const ,действие к-ого распр-ся до ближайшей «;». Тип пар-ра const м.б. любым за исключением файлового. Пар-р const –ту нельзя передавать в др. подпр-мму в кач-ве факт-кого параметра. Можно испол-ть парам-ры переменные и пар-ры const-ты без указания типа. В этом случае тип фактического параметра может быть любым в соотв-вии с операторами и дв-ями, ф-циями  над формальным параметром. Пар-ры процедуры и пар-ры ф-ции в списке формальных пар-ров предворяются служебным или ключевым словом. Procedure (function)