Что такое подпрограмма?
В каком случае при повторении действий используют цикл, а в каком подпрограмму?
Для чего используют подпрограммы?
При вызове процедуры или функции формальные параметры, указанные в заголовке, …
Формальные параметры — это
Соответствие между фактическими и формальными параметрами должно быть следующим:
396.00K
Категория: ПрограммированиеПрограммирование

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

1.

Цель урока:
Изучить понятие "подпрограмма" и
возможности реализации подпрограммы в
языке программирования Паскаль.
Научиться решать задачи на компьютере с
использованием подпрограмм.

2. Что такое подпрограмма?

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

3. В каком случае при повторении действий используют цикл, а в каком подпрограмму?

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

4. Для чего используют подпрограммы?

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

5.

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

6.

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

7. При вызове процедуры или функции формальные параметры, указанные в заголовке, …

заменяются фактическими
параметрами в порядке их следования.

8. Формальные параметры — это

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

9. Соответствие между фактическими и формальными параметрами должно быть следующим:

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

10.

program primer1;
procedure okl;
begin
writeln (‘Это подпрограмма.’);
end;
procedure ok2;
begin
writeln ('Еще одна подпрограмма.');
end;
begin
writeln (‘Привет!’);
okl;
writeln ('Снова привет!');
okl;
writeln ('А это что такое?');
ok2;
end.
Привет!
Это подпрограмма.
Снова привет!
Это подпрограмма.
А это что такое?
Еще одна
подпрограмма.

11.

2. Найти большее из трех данных чисел, используя
подпрограмму нахождения большего из двух.
I. Используем процедуру
Вспомогательный алгоритм
нет
x>y
z:=x
начало
Ввод
a, b, c
max(x, y)
да
Основной алгоритм
z:=y
выход (z)
x, y, z - Формальные параметры
max(a,b,m1)
max(m1,c,m)
Вывод
m
конец
a, b, c - Фактические параметры

12.

2. Найти большее из трех данных чисел, используя
подпрограмму нахождения большего из двух.
I. Используем процедуру
program pr2;
var a, b, c, m, m1: real;
procedure max(x, y: real; var z: real);
begin
параметры переменные
if x>y then z:=x else z:=y
end;
параметры значения
begin
writeln(‘a=’); readln (a);
writeln(‘b=’); readln (b);
m1 – большее из a и b
writeln(‘c=’); readln (c);
m – большее из m1 и c
max(a, b, m1);
x, y, z – локальные переменные,
max(m1, c, m);
writeln (‘max= ', m);
a, b, c, m, m1- глобальные
end.
переменные

13.

2. Найти большее из трех данных чисел, используя
подпрограмму нахождения большего из двух.
II. Используем функцию
Вспомогательный алгоритм
начало
Вход (x, y)
да
нет
Ввод
a, b, c
max:=y
m:=max(max(a,b),c)
x>y
max:=x
Основной алгоритм
Выход
(max)
x, y, z - Формальные параметры
Вывод
m
конец
a, b, c - Фактические параметры

14.

2. Найти большее из трех данных чисел, используя
подпрограмму нахождения большего из двух.
II. Используем функцию
program pr2;
var a, b, c, m, m1: real;
function max(x, y: real): real;
begin
if x>y then max:=x else max:=y
end;
begin
writeln(‘a=’); readln (a);
writeln(‘b=’); readln (b);
writeln(‘c=’); readln (c);
m:=max(max(a, b), c);
writeln (‘max= ', m);
end.

15.

Вывести на экран 5 строк примерно такого текста:
Привет,
Привет,
Привет,
Привет,
Привет,
Катя! Поздравляю тебя с новым годом!
Таня! Поздравляю тебя с новым годом!
Вася! Поздравляю тебя с новым годом!
Коля! Поздравляю тебя с новым годом!
Боря! Поздравляю тебя с новым годом!
В программе использовать процедуру для вывода текста.

16.

program primer;
var s: string;
procedure ok;
begin
writeln (‘Привет’, s,’! Поздравляю тебя с новым годом! ’);
end;
begin
s:=‘Катя’;
ok;
s:=‘Таня’;
ok;
s:=‘Вася’;
ok;
s:=‘Коля’;
ok;
s:=‘Боря’;
ok;
end.

17.

2 max(a, b) min(a 3, b)
Найти
, используя подпрограммы
min(c, a b)
нахождения большего и меньшего из двух чисел.
m :
Вспомогательные алгоритмы
Вход (x, y)
да
Вход (x, y)
нет
x>y
max:=x
нет
x<y
max:=y
Выход
(max)
да
min:=x
min:=y
Выход
(min)

18.

Основной алгоритм
program pr2;
var a, b, c, m: real;
function max(x, y: real): real;
начало
begin
if x>y then max:=x else max:=y
Ввод
end;
a, b, c
function min(x, y: real): real;
begin
2 max(a, b) min(a 3, b)
m :
if x<y then min:=x else min:=y
min(c, a b)
end;
begin
Вывод
writeln(‘a=’); readln (a);
m
writeln(‘b=’); readln (b);
writeln(‘c=’); readln (c);
конец
m:=(2*max(a, b)+min(a+3,b))/min(c,a-b);
writeln (‘max= ', m);
end.

19.

2 max(a, b) min(a 3, b)
m :
min(c, a 8)
Найти
, используя подпрограммы
нахождения большего и меньшего из двух чисел.
Вспомогательные алгоритмы
Вход (x, y)
да
Вход (x, y)
нет
x>y
max:=x
нет
x<y
max:=y
Выход
(max)
да
min:=x
min:=y
Выход
(min)

20.

Параметры - значения в основной программе не
меняются.
Используются для передачи исходных данных в
подпрограмму (отсутствует слово var).

21.

Параметры - переменные подпрограмма может
изменить в основной программе.
Используется для определения результатов выполнения
процедуры (обязательно var).

22.

• Локальные переменные объявляются
внутри подпрограммы и доступны
только ей самой, т.е. недоступны
основной программе.
• Глобальные переменные объявляются
в основной программе и доступны как
программе, так и всем подпрограммам.
English     Русский Правила