Цель работы: изучить работу процедуры и функции и обрести навык написания программ с применением процедур и функций. 1. Основные понятия. Широко распространена в программах форма повторяемости, когда одна и та же последовательность действий должна выполняться на различных этапах информации. В программах такого рода в различных местах встречаются фрагменты, одинаковые по выполняемым действиям и различающиеся только в значениях исходных данных. При составлении программы приходиться задавать одну и ту же группу операторов, соответствующую каждому из повторяющихся фрагментов. Для более эффективного программирования подобных повторений в языке введено понятие подпрограммы . Повторяющаяся группа операторов оформляется в виде самостоятельной единицы – подпрограммы, записывается однократно, а в соответствующих местах программы обеспечивает лишь обращение к ней. Использование аппарата подпрограммы позволяет сократить объем и улучшить структуру программы с точки зрения наглядности и читаемости. Подпрограмма может быть рассмотрена как самостоятельная программа (со своими входными и выходными данными). В языке Паскаль подпрограммы реализуются в виде процедур и функций , которые вводятся в программу с помощью своего описания. 1.1 Описание процедуры. Процедуры описываются в специальном разделе описательной части программы вслед за разделом переменных. Любая процедура состоит, аналогично программе, из заголовка процедуры и блока. Заголовок процедуры представляет собой: PROCEDURE (); Где PROCEDURE – служебное слово, ИМЯ – имя процедуры, СПИСОК ПАРАМЕТРОВ - перечень имен для обозначения исходных данных и результатов работы процедуры с указанием их типов. Параметры, перечисленные в списке, называются формальными . Допускается описание процедуры, несодержащей формальных параметров: PROCEDURE ; Содержательная часть процедуры представляет собой блок и состоит, следовательно, из раздела описаний (меток, констант, типов, переменных, процедур, и функций) и раздела операторов, представляющего собой составной оператор BEGIN – END . Заканчивается блок процедуры точкой с запятой. Пример: Оформить в виде процедуры алгоритм вычисления степени y=xn c натуральным показателем n . PROCEDURE STEP1 (N:INTEGER;X:REAL;VAR Y:REAL;) VAR I:INTEGER; BEGIN Y:=1; FOR I:=1 TO N DO Y:=Y*X; END; В заголовке процедуры с именем STEP 1 перечислены параметры X , N , определяющие исходные данные процедуры, и параметр Y , обозначающий значение исходной степени – результат выполнения процедуры. Указан также тип всех формальных параметров. Если в заголовке процедуры параметры указаны без слова VAR , то это параметры-значения. Параметры-значения могут изменяться внутри процедуры, но для внешней программы это изменение окажется незамеченным. Для получения результатов в основной программе используются параметры-переменные. Эти параметры перечисляются после служебного слова VAR с обязательным указанием типа. Тело процедуры состоит: 1) Из описательной части, где определена переменная I , необходимая и имеющая смысл только внутри данной процедуры и называемая локальной переменной (значение локальной переменной недоступно в основной программе); 2) Из составного оператора BEGIN-END, реализующего алгоритм вычисления степени действительного числа с натуральным показателем. Это то же вычисление оформим в виде процедуры без параметров: PROCEDURE STEP2; VAR I:INTEGER; BEGIN Y:=1; FOR I:=1 TON DO Y:=Y*X; END ; В этом случае процедура STEP 2 не содержит списка формальных параметров и работает с локальной переменной I , описанной в блоке процедуры, и переменными X , N , Y называются глобальными по отношению к процедуре STEP 2 . Значение глобальных переменных доступны и могут быть использованы в любой точке основной программы (в частности, внутри данной процедуры). 1.2 Функция. Функция – это подпрограмма, результат выполнения которой есть единственное скалярное значение, присваиваемое имени этой функции. Следовательно, функции являются частным случаем процедур и принципиально отличаются от них тем, что, во-первых, результат выполнения функции – одно значение, а процедуры – одно или несколько; во-вторых, результат выполнения функции передается в основную программу, как значение имени этой функции, а результаты выполнения процедуры – как значения ее параметров. Описание функции аналогично описанию процедуры и состоит из заголовка и блока. Заголовок функции имеет вид: FUNCTION ():; Где FUNCTION – служебное слово, ИМЯ – имя функции, СПИСОК ПАРАМЕТРОВ – перечень формальных параметров (исходных данных) с указанием их типов, ТИП – тип результата: значение, которое должно приобретать имя функции. Допускается описание функции без параметров: FUNCTION : ; В содержательной части программы-функции имени должно быть присвоено некоторое значение (значение ответа), т.е. имя хотя бы один раз должно присутствовать в левой части некоторого оператора присваивания. Пример: Оформить в виде функции алгоритм вычисления степени Y=Xn : FUNCTION STEP3 (N:INTEGER; X:REAL) : REAL; VAR I:INTEGER; Y:REAL; BEGIN Y:=1; FOR I:=1 TO N DO Y := Y * X ; STEP 3:= Y END ; В заголовке функции с именем STEP 3 перечислены параметры N , X , определяющие ее исходные данные. Результат выполнения функции (значение локальной переменной Y ) присваивается ее имени STEP 3 . Тип результата (тип функции) – REAL , который указывается в заголовке функции при ее описании. Введение локальной переменной Y не обязательно, но придает описанию функции более наглядный вид. 1.3 Обращение к подпрограммам. Описание процедуры (или функции), расположенное в разделе описаний, само по себе никакого действия не вызывает. Чтобы исполнить процедуру (или функцию), необходимо в нужном месте программы поместить обращение к ней. Обращение к процедуре производится с помощью оператора процедуры, имеющего вид: (); Где ИМЯ – имя процедуры, к которой происходит обращение, СПИСОК АРГУМЕНТОВ – перечень конкретных значений (выражений) и имен, подставляемых на место формальных параметров процедуры при ее выполнении. При вызове процедуры формальные параметры, указанные в заголовке, заменяются аргументами в порядке их следования: первому слева параметру в списке ставится в соответствие первый аргумент, второму – второй и т.д. Аргументы, перечисленные в операторе процедуры, называются также фактическими параметрами. Число, тип и порядок следования формальных и фактических параметров должно совпадать. Структура программы, содержащей процедуру, имеет вид: Пример: Cоставить программу вычисления степени Z=An , где n – целое число и A<>0. Степень с целым показателем определяется следующим образом: Учитывая, что 1/An = (1/A)n и используя процедуру STEP 1, описанную в пункте 1.1, составим алгоритм рис.1 а), б) и программу. { Определение степени с целым показателем } PROGRAM STEP4; VAR M:INTEGER; A , Z : REAL ; { Вычисление степени с натуральным показателем } PROCEDURE STEP1 (N:INTEGER;X:REAL;VAR Y:REAL); VAR I:INTEGER; BEGIN Y:=1; FOR I:=1 TO N DO Y:=Y*X; END; {STEP1 } BEGIN READ (A,M); IF M=0 THEN Z:=1 ELSE IF M>0 THEN STEP1(M,A,Z) { Вызов процедуры } ELSE STEP1(M,1/A,Z); { Вызов процедуры } WRITELN(A:8:3,’ В степени ’,M:3,’ равно ’,Z) END .
Рефераты по информатикеЦель работы: изучить работу процедуры и функции и обрести навык написания программ с применением процедур и функций. 1. Основные понятия. Широко
Оценок: 316 (Средняя 5 из 5)
Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.
Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.