Понятие подпрограмм. Подпрограммы в языке Паскаль

Содержание

Слайд 2

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

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

ГЛАВНАЯ

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

Слайд 3

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

ГЛАВНАЯ

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

Подпрограмма – повторяющая группа операторов, оформленная в виде самостоятельной программной единицы. ГЛАВНАЯ
1

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

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

Слайд 4

В языке Pascal механизм подпрограмм реализуется в виде ПРОЦЕДУР (PROCEDURE) и ФУНКЦИЙ

В языке Pascal механизм подпрограмм реализуется в виде ПРОЦЕДУР (PROCEDURE) и ФУНКЦИЙ (FUNCTION) Процедура Функция Подпрограмма
(FUNCTION)

Процедура

Функция

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

Слайд 5

Подпрограммы ПРОЦЕДУРЫ (PROCEDURE)

Подпрограммы ПРОЦЕДУРЫ (PROCEDURE)

Слайд 6

Общий вид структуры подпрограммы

Program pr;
Var a,b:integer;
Рrосеdurе <имя> (формальные параметры);
VAR (описание локальных параметров,

Общий вид структуры подпрограммы Program pr; Var a,b:integer; Рrосеdurе (формальные параметры); VAR
они могут быть или не быть)
begin
тело процедуры
end;
BEGIN
<имя> (Фактические параметры)
END.

Слайд 7

Параметры

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

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

Слайд 8

Пример

Составить программу сложения 2-х чисел
Program pr;
Var a,b,s:real;
Procedure summa(x,y:real; var s:real);
Begin
S:=x+y;
End;
Begin
Writeln(‘сложить 2

Пример Составить программу сложения 2-х чисел Program pr; Var a,b,s:real; Procedure summa(x,y:real;
числа’);
Summa(a,b,s);
Writeln(‘s=’,s);
End.

фактические

формальные

параметры-значений, входные, при выходе не сохраняются

параметры-переменные, выходные, при выходе сохраняются

Слайд 9

Формальные и фактические параметры должны совпадать
по 3 признакам:

Формальные и фактические параметры должны совпадать по 3 признакам:

Слайд 10

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

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

Слайд 11

program primer;
var s: string;
procedure ok;
begin
writeln (‘Привет’, s,’!

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

Слайд 12

Подпрограммы ФУНКЦИИ (FUNCTION)

Подпрограммы ФУНКЦИИ (FUNCTION)

Слайд 13

Функции

function <имя_функции> (<описание входных данных>): <тип_функции>;
begin
<операторы>;
<имя_функции> := <результат>
end;

Функция - подпрограмма, имеющая

Функции function ( ): ; begin ; := end; Функция - подпрограмма,
единственный результат, записываемый в ячейку памяти, имя которой совпадает с именем функции.

В блоке функции обязательно должен присутствовать оператор <имя_функции>:=<результат>.

Перечень формальных параметров и их типов

Тип результата

!

Для вызова функции её имя со списком параметров может быть в любом месте программы(в выражении, в условиях, в операторе write).

Слайд 14

Функция поиска максимального из 2-х

program n_20;
var a, b, c, d,

Функция поиска максимального из 2-х program n_20; var a, b, c, d,
f: integer;
Function max(x,y:integer):integer;
begin
if x>y then max:=x
else max:=y;
end;
begin
readln (a, b, c, d);
f:=max(max(a, b),max(c, d));
writeln ('f=', f);
end.

Описание переменных

Раздел
описания
Под-
программы

Раздел операторов
главной
программы

Слайд 15

Найти , используя подпрограммы нахождения большего и меньшего из двух чисел.

Вспомогательные алгоритмы

Найти , используя подпрограммы нахождения большего и меньшего из двух чисел. Вспомогательные алгоритмы

Слайд 16

program pr2;
var a, b, c, m: real;
function max(x, y: real):

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;
function min(x, y: real): real;
begin
if x end;
begin
writeln(‘a=’); readln (a);
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.

Слайд 18

Требуется найти разность факториалов F=M!-K!
PROGRAM 4;
VAR F,M,K:1NTEGER;
FUNCTION FACT(N:INTEGER):INTEGER;
VAR P, I:INTEGER;

Требуется найти разность факториалов F=M!-K! PROGRAM 4; VAR F,M,K:1NTEGER; FUNCTION FACT(N:INTEGER):INTEGER; VAR

BEGIN
P:=1;
FOR I =2 TO N DO
P=P*I;
FACT:=P;
END;
BEGIN
READ(M,K);
F:=FACT(M) - FACT(K);
WRITE (F)
END.

М=4
К=3

Слайд 20

Опорный конспект

Запись вспомогательных алгоритмов в языках программирования осуществляется с помощью подпрограмм.

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

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

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

Процедура

Функция

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

Слайд 21

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

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

Слайд 22

Практическая
работа

Практическая работа

Слайд 23

Подпрограммы ФУНКЦИИ (FUNCTION)

Подпрограммы ФУНКЦИИ (FUNCTION)

Слайд 26

Подпрограммы ПРОЦЕДУРЫ (PROCEDURE)

Подпрограммы ПРОЦЕДУРЫ (PROCEDURE)