Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемkafinf.pi.sfedu.ru
1 Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 5
2 Содержание Особенности процедуры Особенности функции Пример использования подпрограммы
3 Процедура - это поименованное сложное действие, которое представляет собой совокупность операторов, вычисляющих некоторое число результатов в зависимости от некоторого числа аргументов. Процедура или функция определяется в разделе описаний основной программы или другой процедуры(функции). Процедура(функция) имеет ту же структуру, что и основная программа, т.е. состоит из заголовка, описательной части и выполняемой части.
4 PROCEDURE ( ); PROCEDURE PR1 ( A,B,C : INTEGER; VAR S: REAL); Оператор процедуры служит для вызова процедуры из основной программы или из другой процедуры(функции). ( ); PR1 (A,B,C,S);
5 Особенности процедуры: заголовок процедуры включает служебное слово procedure; описание процедуры заканчивается точкой с запятой. Все имена, описанные в программе до процедуры, действуют во всей программе и в любой ее подпрограмме (если они там не описаны заново). Они называются глобальными, в отличие от локальных имен, описанных в процедуре и действующих лишь в ней.
6 Данные для обработки могут передаваться процедуре через глобальные имена или через аргументы процедуры. В процедуре каждый аргумент имеет свое имя -формальный параметр, описываемый в заголовке процедуры по схеме procedure ( ) : или var :
7 Функция Функция - это подпрограмма, определяющая единственное скалярное, вещественное или строковое значение. Функция предназначена для вычисления какого-либо одного значения и используется в выражениях аналогично стандартным функциям. FUNCTION ( ): ; FUNCTION PRF (A,B,C: INTEGER) : REAL;
8 Отличия функции от процедуры: заголовок функции начинается со служебного слова function и заканчивается указанием типа значения функции: function (список описаний формальных параметров): ; раздел операторов функции должен содержать хотя бы один оператор присваивания имени функции; обращение к функции - не оператор, а выражение вида ( ).
9 Отличия функции от процедуры: результатом обращения к функции может быть одно единственное значение; после обращения к функции управление передается на выполнение следующей операции данного выражения (в соответствии с приоритетом). S:=PRF ( A,B,C); Writeln ( PRF ( A,B,C)); If PRF ( A,B,C)>20 then K=K+1;
10 . Формальные и фактические параметры. При описании процедуры (функции) в ее заголовке могут быть указаны параметры следующих видов: параметры-значения; параметры-переменные; параметры-константы; параметры-процедуры; параметры-функции.
11 При записи параметров необходимо помнить: число формальных и фактических параметров должно быть одинаково; порядок следования и тип фактических параметров должен совпадать с порядком и типом соответствующих формальных параметров; идентификаторы формальных и фактических параметров могут совпадать; формальные параметры в языке Турбо Паскаль в заголовке находятся вместе с описаниями и объявлять их в разделе описаний процедуры(функции) не требуется; формальные параметры должны иметь простые или ранее определенные типы.
12 Рекурсией называется способ задания функции, при котором значение функции при определенном значении аргументов выражается через уже заданные значения функции при других значениях аргументов.
13 составить программу, которая для заданных четырех натуральных чисел а, b, с, d напечатает наибольшие общие делители первой и второй пар чисел и сравнит их по величине. В программе определим рекурсивную функцию nod(x,y) по формулам x, если у = 0 nod(x,y) = nod(y.x). если х < у nod(x mod у,у), если х > у 21 и 15, nod(21,15) = nod(6,15) = nod(15,6) = nod(3,6) = nod(6,3) = nod(0,3) = nod(3,0) = 3.
14 program four; var a,b,c,d,m,n:integer; function nod(x,у:integer): integer; var h:integer; begin if y=0 then h:=x else if xn then writeln('первый > второго') else if m
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.