Pascal – язык структурного программирования. ПРОЦЕДУРЫ Учитель Комкова М.C. Гимназия МИИТ г. Москва • Программу, состоящую только из операторов, называют МОНОЛИТНОЙ. • Программу, содержащую процедуры и функции называют МОДУЛЬНОЙ. Определение • ПРОЦЕДУРА - часть программы, имеющая имя и предназначенная для решения определенной задачи. Каждая процедура определяется только однажды, но может использоваться многократно. Процедуры определяются в разделе описаний вслед за разделом переменных. Структура процедуры PROCEDURE Name; prоcedure - служебное слово; BEGIN Name - идентификатор отражающий смысл данной задачи; ИНСТРУКЦИЯ Описание процедуры само по себе никакого действия не вызывает END; Чтобы исполнить процедуру, необходимо в нужном месте программы поместить обращение к ней, указав Name; Пример • • • • • • • • • • • Program Stroka; Uses crt; { Stroka - имя программы } procedure Str_Simw; { Str_Simw - имя процедуры } begin while wherex<40 do write('$'); { - тело процедуры } writeln end; Begin clrscr; Str_Simw; Str_Simw; { - вызов процедуры (два раза)} Readkey; End. • Процедуры позволяют избежать повторения фрагментов программ и таким образом сократить размеры программы. • Процедуры позволяют разбить программу на законченные блоки. • Переменные, описанные VAR после слова PROGRAM , называют ГЛОБАЛЬНЫМИ. • Глобальные переменные передаются в любую часть программы, в том числе и в процедуры. • • • • • • • • • • • Program Stroka; Uses crt; var i: integer;{ i - глобальная переменная } procedure St_Sim; begin for i:=1 to 40 do write('$'); writeln; end; Begin clrscr; St_Sim; St_Sim; End. • Переменные , описанные в процедуре, называют ЛОКАЛЬНЫМИ ,так как они используются только в данной процедуре. Доступа к ним из программы нет. • Program Stroka; Uses crt; • procedure St_Sim; • var i: integer;{i - локальная переменная} • begin • for i:=1 to 40 do write('-'); • end; • Begin • clrscr; • St_Sim; • Readkey; • End. • Часто процедура содержит список параметров. • procedure имя (СПИСОК ПАРАМЕТРОВ); • ... • Список параметров - перечень имен для обозначения исходных данных и • результатов работы процедуры с указанием их типов. Параметры, перечисляемые в списке, называют ФОРМАЛЬНЫМИ • Вывести на экран строку содержащую задаваемое с клавиатуры число символов. • Program Stroka; Uses crt; • var m: integer; {m – глобальная переменная} • procedure Str_Sim( n: integer; c: char); { n, c - параметрызначения } • var i:integer; { i - локальная переменная } • begin • for i:=1 to n do write(c); { конструкция печати символов } • writeln; • end; • Begin • clrscr; • Str_Sim(64,'*'); { вызов процедуры с указанием числа звездочек } • writeln; writeln; • write('Сколько символов напечатать? :'); readln(m); • Str_Sim(m,'=');{ вызов процедуры с указанием числа знаков '='} • End. • Параметры-значения нельзя использовать для передачи результатов из процедуры в основную программу ! Если возникла такая необходимость, то применяют формальные параметры-переменные ,перед которыми в списке формальных параметров стоит var. Program Pr1; Uses crt; crt; var x: integer; procedure Izm(y: integer); integer); begin y:=1 end; Begin x:=0; Izm(x); write(x) End. Результат: x=0. Program Pr2; Uses var x: integer; procedure Izm(var y: begin y:=1 end; Begin x:=0; Izm(x); write(x) End. Результат: x=1.