Презентация, доклад Процедуры и функции

Содержание

Разработанные программистом самостоятельные программные блоки называются подпрограммами пользователя. Они являются основой модульного программирования.

Слайд 1Занятие 3
Процедуры и функции.
Новиков Алексей Константинович
Преподаватель СПК МГППУ
Программирование на Delphi

Занятие 3Процедуры и функции.Новиков Алексей КонстантиновичПреподаватель СПК МГППУПрограммирование на Delphi

Слайд 2
Разработанные программистом самостоятельные программные блоки называются подпрограммами пользователя. Они являются основой

модульного программирования.
Разработанные программистом самостоятельные программные блоки называются подпрограммами пользователя. Они являются основой модульного программирования.

Слайд 3Достоинства подпрограмм:
Программы, написанные с учетом подпрограмм, легче тестировать и отлаживать,

у них более четкая логическая структура;
Самостоятельный характер подпрограмм позволяет поручать их составление различным программистам;
Использование подпрограмм позволяет экономить память. Память для хранения переменных, использующихся в подпрограмме, выделяется только на время ее работы и высвобождается, как только ее выполнение заканчивается.
Достоинства подпрограмм: Программы, написанные с учетом подпрограмм, легче тестировать и отлаживать, у них более четкая логическая структура;Самостоятельный

Слайд 4
Все процедуры и функции подразделяются на две группы: встроенные и определенные

пользователем.
Встроенные (стандартные) процедуры и функции являются частью языка и могут вызываться по имени без предварительного описания. Их наличие существенно облегчает разработку прикладных программ.

Все процедуры и функции подразделяются на две группы: встроенные и определенные пользователем.Встроенные (стандартные) процедуры и функции являются

Слайд 5Стандартные функции

Стандартные функции

Слайд 6Стандартные функции (продолжение)

Стандартные функции (продолжение)

Слайд 7Процедура
Процедура - это независимая именованная часть программы, которую после однократного описания

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

ПроцедураПроцедура - это независимая именованная часть программы, которую после однократного описания можно многократно вызвать по имени из

Слайд 8Процедура
Формат:
Procedure ИмяПроцедуры (ФормальныйПараметр1: Тип; ФормальныйПараметр : Тип;…);
Begin
{инструкции исполнительной части программы}
end;

ПроцедураФормат:Procedure ИмяПроцедуры (ФормальныйПараметр1: Тип; ФормальныйПараметр : Тип;…);Begin	{инструкции исполнительной части 	программы} end;

Слайд 9Формат процедуры
Для обращения к процедуре используется оператор вызова процедуры. Он состоит

из имени процедуры и списка фактических параметров, отделимых друг от друга запятыми и заключенных в круглые скобки. Список параметров отсутствует, если процедуре не предается никаких значений.
Формат:
ИмяПроцедуры (ФактическийПараметр1, ФактическийПараметр2,..);

Формат процедурыДля обращения к процедуре используется оператор вызова процедуры. Он состоит из имени процедуры и списка фактических

Слайд 10Пример.
Var d: integer; {дюйм}Sm: real; {см}
{процедура для вывода горизонтальной линии}
procedure horline;
Var

i: integer;
Begin
For i: =1 to 30 do write (‘--’);
Writeln;
End;

Пример.Var d: integer; {дюйм}Sm: real; {см}{процедура для вывода горизонтальной линии}procedure horline;Var i: integer;BeginFor i: =1 to 30

Слайд 11Пример
{основная программа}
Begin horline;
write ln (‘ дюймы | см

‘),
horline;{считаем и выводим строки таблицы}
for d:=1 to 10 do begin
sm:=2.54*d;
writeln (‘|’, d: 13, ‘|’, sm: 14: 3, ‘|’);
end;
horline; end.
Пример{основная программа}Begin  horline;write ln (‘ дюймы  |  см  ‘),horline;{считаем и выводим строки таблицы}for

Слайд 12Пример № 2
Усовершенствуем процедуру вывода линии, введя в нее два параметра:

длину выводимой строки и символ, которым рисуется линия.
Procedure horline (l:integer; s: char);
{l--pазмер линии в символах;
s--символ, которым рисуется линия}

Пример № 2Усовершенствуем процедуру вывода линии, введя в нее два параметра: длину выводимой строки и символ, которым

Слайд 13Пример № 2
Var i: integer;
Begin
For i:=1 to l do write (s);
Writeln;
End;
{Основная

программа}
Begin
Horline (10,’/’);
Horline (20,’*’);
Horline (30, ‘#’); end.

Пример № 2Var i: integer;BeginFor i:=1 to l do write (s);Writeln;End;{Основная программа}BeginHorline (10,’/’);Horline (20,’*’);Horline (30, ‘#’); end.

Слайд 14
Если процедура возвращает в программу какие-то значения, соответствующие переменные должны быть

описаны как параметры-переменные с использованием слова Var.
В таком случае объявление процедур выглядит так:
Если процедура возвращает в программу какие-то значения, соответствующие переменные должны быть описаны как параметры-переменные с использованием слова

Слайд 15
Procedure Имя (Var параметр1: тип1; Var параметра2: тип2;… Var параметрК: типК);


Var
//здесь объявление локальных переменных;
begin
//здесь инструкция процедуры
end;

Procedure Имя (Var параметр1: тип1; Var параметра2: тип2;… Var параметрК: типК); Var//здесь объявление локальных переменных;begin//здесь инструкция процедурыend;

Слайд 16Пример № 3
Запишем процедуру, выполняющую возведение в целую неотрицательную степень любого

члена.
1 Кб = 210 б; 1 Мб = 220 б; 1 Гб = 230 б.
Procedure degree (x: real; n: byte; var res: real)
Процедура возведения числа Х в целую неотрицательную степень N, результатом является параметр переменная res.

Пример № 3Запишем процедуру, выполняющую возведение в целую неотрицательную степень любого члена.1 Кб = 210 б; 1

Слайд 17
Var i: integer;
Begin res: =1;
For i:=1 to n do res: =res

* x;
End;
{основная программа }
var kb, mb, gb: real;
begin
degree (2,10, kb); degree (2, 20, kw); degree (2, 30, gb);
writeln (kb, mb, gb); end.
Var i: integer;Begin res: =1;For i:=1 to n do res: =res * x;End;{основная программа }var kb, mb,

Слайд 18Функция пользователя
Если результатом подпрограммы является только одно значение, то имеет смысл

оформить такую подпрограмму не в виде процедуры, а в виде функции. Функция пользователя аналогично процедуре, но имеются два отличия.

Функция пользователяЕсли результатом подпрограммы является только одно значение, то имеет смысл оформить такую подпрограмму не в виде

Слайд 19Отличия процедуры от функции
Функция передаёт в программу результат своей работы -

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

Слайд 20Формат
Формат:
Function ИмяФункции (ФормальныеПараметры): Тип результата;
{Описательная часть функции}
Begin
{инструкции исполнительной части функции}
ИмяФункции:

= Результат;
End;
ФорматФормат:Function ИмяФункции (ФормальныеПараметры): Тип результата;{Описательная часть функции}Begin{инструкции исполнительной части функции} ИмяФункции: = Результат;End;

Слайд 21
В разделе операторов функции должен находиться хотя бы один оператор, который

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

Слайд 22Рассмотрим возведения числа в действительную степень.
Function instep (a, b: real): real);
Begin
If

a>0 then instep: = exp(b*ln(a)) else instep: = 0;
End;
{основная программа }
Рассмотрим возведения числа в действительную степень.Function instep (a, b: real): real);BeginIf a>0 then instep: = exp(b*ln(a)) else

Слайд 23
var a, b, c;: real;
begin
writeln ( ‘Введите положительное основание и показатель

степени);
readln (a,b);
c: = instep (a,b);
if с<>0 then writeln (a, ‘ в степени ’, b, ‘=’, c);
else writeln (‘основание должно быть положительным‘);
end.

var a, b, c;: real;beginwriteln ( ‘Введите положительное основание и показатель степени);readln (a,b);c: = instep (a,b);if с0

Слайд 24Список формальных параметров может включать в себя:
параметры – значения, за

которыми указывается их тип;
параметры – переменные, перед которыми должно стоять служебное слово var и за которыми указывается их тип;
параметры – процедуры
 параметры – функции
нетипированные параметры

Список формальных параметров может включать в себя: параметры – значения, за которыми указывается их тип; параметры –

Слайд 25Например:
Function kvadru (a, b, c: real; var X1, X2: real):

Integer ;

Например: Function kvadru (a, b, c: real; var X1, X2: real): Integer ;

Слайд 26Соответствие между формальными и фактическими параметрами:
формальных и фактических параметров должно

быть одинаковое количество;
порядок следования фактических и формальных параметров должен быть
один и тот же;
тип фактического параметра должен совпадать с типом соответствующего ему формального параметра.

Соответствие между формальными и фактическими параметрами: формальных и фактических параметров должно быть одинаковое количество; порядок следования фактических

Слайд 27Параметры – значения
используются только для передачи исходных данных из основной

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

Параметры – значения используются только для передачи исходных данных из основной программы в процедуру или в функцию.

Слайд 28
Каждому формальному параметру, объявленному как параметр – переменная, должен отвечать фактический

параметр в виде переменной соответствующего типа.

Каждому формальному параметру, объявленному как параметр – переменная, должен отвечать фактический параметр в виде переменной соответствующего типа.

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть