🗊 Презентация Подпрограммы. Процедуры и функции

Нажмите для полного просмотра!
Подпрограммы. Процедуры и функции, слайд №1 Подпрограммы. Процедуры и функции, слайд №2 Подпрограммы. Процедуры и функции, слайд №3 Подпрограммы. Процедуры и функции, слайд №4 Подпрограммы. Процедуры и функции, слайд №5 Подпрограммы. Процедуры и функции, слайд №6 Подпрограммы. Процедуры и функции, слайд №7 Подпрограммы. Процедуры и функции, слайд №8 Подпрограммы. Процедуры и функции, слайд №9 Подпрограммы. Процедуры и функции, слайд №10 Подпрограммы. Процедуры и функции, слайд №11 Подпрограммы. Процедуры и функции, слайд №12 Подпрограммы. Процедуры и функции, слайд №13 Подпрограммы. Процедуры и функции, слайд №14 Подпрограммы. Процедуры и функции, слайд №15 Подпрограммы. Процедуры и функции, слайд №16 Подпрограммы. Процедуры и функции, слайд №17 Подпрограммы. Процедуры и функции, слайд №18 Подпрограммы. Процедуры и функции, слайд №19 Подпрограммы. Процедуры и функции, слайд №20 Подпрограммы. Процедуры и функции, слайд №21 Подпрограммы. Процедуры и функции, слайд №22 Подпрограммы. Процедуры и функции, слайд №23 Подпрограммы. Процедуры и функции, слайд №24 Подпрограммы. Процедуры и функции, слайд №25 Подпрограммы. Процедуры и функции, слайд №26 Подпрограммы. Процедуры и функции, слайд №27 Подпрограммы. Процедуры и функции, слайд №28 Подпрограммы. Процедуры и функции, слайд №29 Подпрограммы. Процедуры и функции, слайд №30 Подпрограммы. Процедуры и функции, слайд №31

Содержание

Вы можете ознакомиться и скачать презентацию на тему Подпрограммы. Процедуры и функции. Доклад-сообщение содержит 31 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


ПОДПРОГРАММЫ Процедуры и функции
Описание слайда:
ПОДПРОГРАММЫ Процедуры и функции

Слайд 2


Общие положения Подпрограмма - именованная логически законченная группа операторов, которую можно вызвать по имени (выполнить) любое количество раз...
Описание слайда:
Общие положения Подпрограмма - именованная логически законченная группа операторов, которую можно вызвать по имени (выполнить) любое количество раз из различных мест программы.

Слайд 3


Объявление процедуры Формат объявления: procedure ( ); ; const ...; type ...; var ...; begin end;
Описание слайда:
Объявление процедуры Формат объявления: procedure ( ); ; const ...; type ...; var ...; begin end;

Слайд 4


Объявление процедуры Заголовок процедуры – имя подпрограммы, список формальных параметров, директивы. - любой корректный идентификатор (тело...
Описание слайда:
Объявление процедуры Заголовок процедуры – имя подпрограммы, список формальных параметров, директивы. - любой корректный идентификатор (тело подпрограммы) - операторы, которые будут выполнены при вызове подпрограммы , , могут отсутствовать

Слайд 5


Объявление функции Формат объявления: function ( ) : ; ; const ...; type ...; var ...; begin Result := ; // или := ; end;
Описание слайда:
Объявление функции Формат объявления: function ( ) : ; ; const ...; type ...; var ...; begin Result := ; // или := ; end;

Слайд 6


Объявление функции Заголовок функции – имя подпрограммы, список формальных параметров, тип результата, директивы. - любой корректный идентификатор...
Описание слайда:
Объявление функции Заголовок функции – имя подпрограммы, список формальных параметров, тип результата, директивы. - любой корректный идентификатор (тело подпрограммы) - операторы, которые будут выполнены при обращении к функции , , могут отсутствовать

Слайд 7


Примеры Процедура: procedure Max2 (a,b: integer; var c: integer); begin if a>b then c:=a else c:=b; end; Обращение в программе: x:=32; y:=45; . . . ;...
Описание слайда:
Примеры Процедура: procedure Max2 (a,b: integer; var c: integer); begin if a>b then c:=a else c:=b; end; Обращение в программе: x:=32; y:=45; . . . ; Max2(x,y,z); Параметры, передаваемые в подпрограмму при ее вызове, называются фактическими В примерах x, y, z – фактические параметры

Слайд 8


Примеры Функция: function Max2 (a,b: integer) : integer; begin if a>b then Result:=a else Result:=b; end; Обращение в программе: x:=32; y:=45; . . ....
Описание слайда:
Примеры Функция: function Max2 (a,b: integer) : integer; begin if a>b then Result:=a else Result:=b; end; Обращение в программе: x:=32; y:=45; . . . ; z:=Max2(x,y);

Слайд 9


Формальные параметры Список формальных параметров – последовательность объявлений однотипных параметров Объявления отделяются друг от друга точкой с...
Описание слайда:
Формальные параметры Список формальных параметров – последовательность объявлений однотипных параметров Объявления отделяются друг от друга точкой с запятой. Каждое объявление состоит из списка имен параметров, символа ‘:’ и указания их типа. Внутри объявления имена параметров разделяются запятой.

Слайд 10


Формальные параметры ПР: procedure Primer1 ( x, y : integer ; c, ch : char ; var s : real ); function Primer2 ( x : integer; c, ch : real ; var k :...
Описание слайда:
Формальные параметры ПР: procedure Primer1 ( x, y : integer ; c, ch : char ; var s : real ); function Primer2 ( x : integer; c, ch : real ; var k : integer ) : real;

Слайд 11


Способы передачи параметров в подпрограмму
Описание слайда:
Способы передачи параметров в подпрограмму

Слайд 12


Способы передачи параметров в подпрограмму
Описание слайда:
Способы передачи параметров в подпрограмму

Слайд 13


Параметры-значения Параметры-значения - локальные переменные, которые получили начальное значение при вызове подпрограммы. Если переменная передана...
Описание слайда:
Параметры-значения Параметры-значения - локальные переменные, которые получили начальное значение при вызове подпрограммы. Если переменная передана как параметр-значение, то подпрограмма создает копию переменной. Изменения этой копии не приводят к изменению исходной переменной и утериваются после завершения работы подпрограммы.

Слайд 14


Параметры-значения ПР: function DoubleByValue (X: Integer): Integer; // X – параметр-значение begin X := X*2; Result :=X; end; Вызовем функцию: Var...
Описание слайда:
Параметры-значения ПР: function DoubleByValue (X: Integer): Integer; // X – параметр-значение begin X := X*2; Result :=X; end; Вызовем функцию: Var K, J, V: Integer; begin K := 4; V := 4; J := DoubleByValue(K); // J = 8, K = 4 end;

Слайд 15


Параметры-переменные Параметры-переменные похожи скорее на указатели. Изменения параметра-переменной внутри тела подпрограммы сохраняются после...
Описание слайда:
Параметры-переменные Параметры-переменные похожи скорее на указатели. Изменения параметра-переменной внутри тела подпрограммы сохраняются после завершения работы подпрограммы и возвращаются в вызывающую программу.

Слайд 16


Параметры-переменные ПР: function DoubleByRef (var X: Integer): Integer; // X – параметр-переменная begin X := X * 2; Result := X; end; Вызовем...
Описание слайда:
Параметры-переменные ПР: function DoubleByRef (var X: Integer): Integer; // X – параметр-переменная begin X := X * 2; Result := X; end; Вызовем функцию: Var K, V, W: Integer; begin K := 4; V := 4; W := DoubleByRef(V); // W = 8, V = 8 end;

Слайд 17


Особенности Для параметров-значений и параметров-констант возможно указание в заголовке процедуры или функции значения по умолчанию. ПР: (var S:...
Описание слайда:
Особенности Для параметров-значений и параметров-констант возможно указание в заголовке процедуры или функции значения по умолчанию. ПР: (var S: string; X: Integer = 5) (const P, I: Integer; const M: real = 4.5)

Слайд 18


Особенности Для параметров, передающихся по ссылке, можно не указывать тип параметра. Такие параметры называют нетипизированными. ПР: (var S, X; out...
Описание слайда:
Особенности Для параметров, передающихся по ссылке, можно не указывать тип параметра. Такие параметры называют нетипизированными. ПР: (var S, X; out Z) (const P, I; var M) Внутри подпрограммы нетипизированные параметры несовместимы ни с какими типами. Необходимо выполнить приведение типов.

Слайд 19


Локальные объявления Локальные переменные – переменные, которые описываются и используются внутри подпрограммы В теле подпрограммы можно описать...
Описание слайда:
Локальные объявления Локальные переменные – переменные, которые описываются и используются внутри подпрограммы В теле подпрограммы можно описать константы, типы, другие подпрограммы (вложенные функции и процедуры). Область видимости локальных идентификаторов ограничена подпрограммой, где они объявлены.

Слайд 20


Локальные объявления procedure DeleteRandomSymbol (var S : string); function RandomNumber (S : string) : integer; var LenString : Integer; begin...
Описание слайда:
Локальные объявления procedure DeleteRandomSymbol (var S : string); function RandomNumber (S : string) : integer; var LenString : Integer; begin LenString:=Length(s); Result:=Random(LenString)+1; end; begin Delete(S, RandomNumber(s), 1); end; Функцию RandomNumber можно вызывать только внутри процедуры DeleteRandomSymbol.

Слайд 21


Замечания В теле функции должен быть, по крайней мере, один оператор, присваивающий значение имени функции или неявной локальной переменной Result...
Описание слайда:
Замечания В теле функции должен быть, по крайней мере, один оператор, присваивающий значение имени функции или неявной локальной переменной Result Переменная Result может участвовать в выражениях как операнд внутри тела функции Переменная Result и имя функции всегда представляют одно и то же значение

Слайд 22


Замечания ПР: function MyFunction : Integer; begin MyFunction := 5; Result := Result * 2; MyFunction := Result + 1; end; // Эта функция вернет...
Описание слайда:
Замечания ПР: function MyFunction : Integer; begin MyFunction := 5; Result := Result * 2; MyFunction := Result + 1; end; // Эта функция вернет значение 11. Использование имени функции в правой части оператора присваивания приведет к рекурсивному вызову этой функции в отличие от переменной Result

Слайд 23


Соглашения о вызове подпрограмм Директивы, определяющие правила вызова подпрограммы (в заголовке подпрограммы): register, stdcall, pascal, cdecl ПР:...
Описание слайда:
Соглашения о вызове подпрограмм Директивы, определяющие правила вызова подпрограммы (в заголовке подпрограммы): register, stdcall, pascal, cdecl ПР: procedure Proc; register; function Func(X: Integer): Boolean; stdcall; Соглашения о вызове подпрограмм определяют порядок передачи параметров

Слайд 24


Соглашения о вызове подпрограмм register задействует регистры процессора для передачи параметров и обеспечивает наиболее эффективный способ вызова...
Описание слайда:
Соглашения о вызове подпрограмм register задействует регистры процессора для передачи параметров и обеспечивает наиболее эффективный способ вызова подпрограмм. Эта директива применяется по умолчанию. Директива stdcall используется для вызова стандартных подпрограмм операционной системы. Директивы pascal и cdecl используются для вызова подпрограмм, написанных на языках Delphi и C/C++ соответственно. Директиву safecall изучим позже

Слайд 25


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

Слайд 26


Вызов процедур и функций При вызове подпрограмм необходимо помнить: На место параметров, передаваемых по ссылке можно подставлять только переменные,...
Описание слайда:
Вызов процедур и функций При вызове подпрограмм необходимо помнить: На место параметров, передаваемых по ссылке можно подставлять только переменные, нельзя – числа и константы. Если список формальных параметров отсутствует, то список фактических параметров (в том числе круглые скобки) не указывается.

Слайд 27


Перегрузка процедур и функций Рассмотрим подпрограммы, выполняющие одинаковые действия, но над переменными разных типов данных Дадим этим процедурам...
Описание слайда:
Перегрузка процедур и функций Рассмотрим подпрограммы, выполняющие одинаковые действия, но над переменными разных типов данных Дадим этим процедурам (функциям) одинаковые имена Отличаться они будут списком параметров (количеством параметров или типом параметров)‏ Такая возможность называется перегрузкой. Для этого применяется директива overload.

Слайд 28


Перегрузка процедур и функций ПР: procedure Increment (var Value: Integer); overload; // процедура 1 procedure Increment (var Value: Real); overload;...
Описание слайда:
Перегрузка процедур и функций ПР: procedure Increment (var Value: Integer); overload; // процедура 1 procedure Increment (var Value: Real); overload; // процедура 2 Какую именно процедуру использовать в том или ином случае компилятор будет определять по типам фактических аргументов, передаваемых при вызове. Var X: Integer; Y: Real; Begin X:=1; Y:=2.0; Increment(X); // Вызывается процедура 1 Increment(Y); // Вызывается процедура 2 end.

Слайд 29


Рекурсивные подпрограммы Если в теле подпрограммы происходит вызов этой же подпрограммы, такая подпрограмма называется рекурсивной. Рекурсия полезна,...
Описание слайда:
Рекурсивные подпрограммы Если в теле подпрограммы происходит вызов этой же подпрограммы, такая подпрограмма называется рекурсивной. Рекурсия полезна, например, когда основную задачу можно разделить на подзадачи, имеющие ту же структуру, что и первоначальная задача.

Слайд 30


Рекурсивные подпрограммы ПР: Функция Factorial для вычисления факториала X! = 1 * 2 * ... * (X – 1) * X Заметим, что X! = (X – 1)! * X, где 0! = 1...
Описание слайда:
Рекурсивные подпрограммы ПР: Функция Factorial для вычисления факториала X! = 1 * 2 * ... * (X – 1) * X Заметим, что X! = (X – 1)! * X, где 0! = 1 function Factorial (X: Integer) : Longint; begin if X = 0 then // Условие завершения рекурсии Factorial := 1 else Factorial := Factorial(X - 1) * X; end;

Слайд 31


Упреждающее объявление подпрограмм Косвенная рекурсия: когда первая подпрограмма вызывает вторую, а вторая - первую. Записанная первой подпрограмма...
Описание слайда:
Упреждающее объявление подпрограмм Косвенная рекурсия: когда первая подпрограмма вызывает вторую, а вторая - первую. Записанная первой подпрограмма будет содержать еще неизвестный компилятору идентификатор второй подпрограммы, т.е. возникнет ошибка. Эта проблема решается с помощью упреждающего описания подпрограмм с помощью директивы предварительного описания подпрограмм forward. ПР: procedure Proc; forward; function Func (X: Integer): Boolean; forward;



Похожие презентации
Mypresentation.ru
Загрузить презентацию