Пример использования функции программиста
program p; Var c1,c2: integer; {числа НОД которых надо найти } nd; integer; {наибольший общий делитель}
(функция программиста) function Nod (a: integer; b: integer;): integer; Var r: integer; {остаток от деления числа a на b} Begin While(a mod b)<>0 do Begin r:= a mod b; {остаток от деления} a:=b; b:=r; end; nod:=b; end; {основная программа} Begin writeln (‘Вычисление наибольшего общего делителя (НОД)’) Write (‘Введите в одной строке два целых положительных числа через пробел’); Readln (c1, c2); nd:=Nod (c1, c2); Writeln(‘НОД чисел ’, c1, ’ и ’, c2,’ это ’,nd); end; Процедуры. Довольно часто уже на этапе разработки алгоритма программы можно обнаружить, что некоторые одинаковые или очень похожие действия в программе должны выполняться несколько раз. Избежать дублирования инструкций можно, если повторяющие инструкции удалить из текста программы и оформить их как процедуру, а в то место программы, где раньше были удаленные и теперь оформленные как процедура инструкции, поместить инструкцию вызова процедуры. В Turbo Pascal процедурой называется имеющая имя последовательность инструкций, предназначенная для решения определенной задачи. Основная программа и определенная программистом процедура взаимодействуют следующим образом (рис. 10). Если во время работы основной программы встречается инструкция вызова процедуры, то выполнение инструкции основной программы приостанавливается и выполняются инструкции процедуры. После того, как будут выполнены все инструкции процедуры, продолжается выполнение основной программы с той инструкции, которая следует за инструкцией вызова процедуры.
Рис.10. Взаимодействие основной программы и процедуры программиста Объявление процедуры. В общем виде объявление процедуры программиста выглядит так:
|