Подпрограммы

Содержание

Слайд 2

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

Подпрограммы

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

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

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

Определение

Подпрограмма – функционально самостоятельная часть программы, обладающая собственным именем и набором

локальных имен.
Слайд 4

Структура процедуры Procedure имя (формальные параметры); Var блок описания локальных переменных Begin тело процедуры End;

Структура процедуры

Procedure имя (формальные параметры);
Var
блок описания локальных переменных
Begin
тело процедуры
End;

Слайд 5

Вызов подпрограммы Вызов подпрограммы осуществляется по ее имени из любых точек

Вызов подпрограммы

Вызов подпрограммы осуществляется по ее имени из любых точек программы

и любое количество раз
Имя_процедуры (параметр1, параметр2, . . .);
Слайд 6

Пример: требуется разделить чертой вывод результатов на экран. Например: {__________________________} PROGRAM

Пример: требуется разделить чертой вывод результатов на экран. Например:
{__________________________}
 PROGRAM EDITOR;
{раздел

описания констант, типов, переменных}

PROCEDURE LINIA;
var i: integer;
begin
write ('{ ');
for i:=1 to 78 do write ('_');
writeln (' }');
end;
begin

LINIA;

LINIA;
END.

PROGRAM EDITOR;
var p: char; dl: integer;

Procedure LINIA (pod: char; kol: integer);
var i: integer;
begin
write('{');
for i:=1 to kol do write(pod);
writeln('}');
end;
begin
writeln('Введите символ для подчеркивания');
readln(p);
writeln('Введите длину строки');
readln(dl);

LINIA (p, dl) ;

LINIA ('*', 50) ;
end.

Слайд 7

Схема алгоритма (основная программа и подпрограмма)

Схема алгоритма (основная программа и подпрограмма)



Слайд 8

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

Параметры

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


Между фактическими параметрами в операторе вызова процедуры и формальными параметрами в заголовке описания процедуры устанавливается соответствие:
по количеству;
типу (real, integer…);
по сущности (переменная, массив…)
Слайд 9

Пример формальные параметры Процедура ЭКЗАМЕН (студент, предмет, дата, оценка) ВЫЗОВ фактические

Пример

формальные параметры
Процедура ЭКЗАМЕН (студент, предмет, дата, оценка)
ВЫЗОВ
фактические параметры
ЭКЗАМЕН(Иванов, Программирование, 13.01,

оценка);
ЭКЗАМЕН(Михеев, Информатика, 38.02, оценка);
студент := Василевский;
предмет := Математический анализ;
ЭКЗАМЕН(студент, предмет, 24.12, оценка);
ЭКЗАМЕН(23.09, Сидоров, История, оценка);
Слайд 10

Процедура: Procedure имя (формальный параметр1, формальный параметр2…); PROCEDURE ST (VAR A:MAS;

Процедура:
Procedure имя (формальный параметр1, формальный параметр2…);
PROCEDURE ST (VAR A:MAS; N,L: INTEGER;

VAR K: INTEGER);
………………
end;
Вызов процедуры:
имя процедуры (фактический параметр1, фактический параметр2. . .);
ST(X,NR,0,K); ST(Р,8,G,S);

Соответствие параметров

Слайд 11

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

Параметры-значения Параметры - переменные

Если процедура возвращает в программу какие-то значения, соответствующие

переменные должны быть описаны как параметры-переменные с использованием оператора Var, исходные данные для подпрограммы – параметры-значения.
Procedure center (a:real, Var h:real, y: real);
Var предшествует тем параметрам, значения которых должны быть (или могут быть) изменены процедурой!!!
Слайд 12

ПРИНЦИПИАЛЬНАЯ СТРУКТУРА ПРОГРАММЫ PROGRAM Имя программы; USES Список используемых библиотек (модулей);

ПРИНЦИПИАЛЬНАЯ СТРУКТУРА ПРОГРАММЫ

PROGRAM Имя программы;
USES
Список используемых библиотек (модулей);
CONST
Определение констант программы;
TYPE
Описание типов;
VAR
Определение

глобальных переменных программы;
ОПРЕДЕЛЕНИЕ ПРОЦЕДУР (заголовки и, возможно тела процедур)
ОПРЕДЕЛЕНИЕ ФУНКЦИЙ(заголовки и, возможно тела функций)
BEGIN
Основной блок программы (тело программы)
……
END.
Слайд 13

ПРИ ВЫЗОВЕ ПРОЦЕДУРЫ ВЫПОЛНЯЮТСЯ СЛЕДУЮЩИЕ ДЕЙСТВИЯ Формальные параметры заменяются фактическими. Выполняется

ПРИ ВЫЗОВЕ ПРОЦЕДУРЫ ВЫПОЛНЯЮТСЯ СЛЕДУЮЩИЕ ДЕЙСТВИЯ

Формальные параметры заменяются фактическими.
Выполняется тело

процедуры.
Происходит возврат в вызывающую программу.
После вызова процедуры выполняется оператор, следующий за вызовом.
Слайд 14

Знать днём и ночью

Знать днём и ночью

Слайд 15

Знать ночью и днём

Знать ночью и днём

Слайд 16

Пример Лабораторная работа №5. Разработка и использование подпрограмм Цель работы: получение

Пример

Лабораторная работа №5.
Разработка и использование подпрограмм
Цель работы: получение практических

навыков по программированию с использованием подпрограмм.
Задание по лабораторной работе
Разработать подпрограмму определения результатов решения задачи лабораторной работы № 2.
Программа должна содержать:
ввод исходных данных;
вызов подпрограммы;
вывод результатов.
При необходимости в подпрограмме следует предусмотреть проверку аргументов задачи на допустимость
Слайд 17

Схема обобщенного алгоритма

Схема обобщенного алгоритма

Слайд 18

Схема обобщенного алгоритма да нет

Схема обобщенного алгоритма

да

нет