Similar presentations:
Подпрограммы на языке Pascal
1. Подпрограммы на языке Pascal
2.
Подпрограммы используют при создании больших программ, вкоторых содержатся повторяющиеся группы операторов.
Повторяющиеся операторы оформляют в виде самостоятельной
программы и называют её подпрограммой. Каждая подпрограмма
имеет имя, дающее возможность к ней обращаться в
соответствующих местах программы.
Подпрограмма – это программа внутри большой головной
программы, имеет такую же структуру, что и программа
3.
Информация между основной программой иподпрограммой передаётся глобальными параметрами,
действующими в любой части программы. Глобальные
параметры описываются в основной программе.
Внутри подпрограммы используют локальные параметры –
их имена и значения описываются и действуют в пределах
данной подпрограммы и недоступны вызывающей
программе.
Локальные переменные являются формальными, они лишь
резервируют место для фактических. При вызове процедуры
формальные параметры заменяются фактическими
4.
В Паскале имеется два вида подпрограмм: процедурыи функции.
Их структура похожа на структуру основной
программы.
5.
Описание процедурыPROCEDURE <имя> [ (Список формальных параметров)];
[Описательная часть]
Label ;
Const;
Type;
Var;
Begin
Тело процедуры
End;
Количество и типы формальных и фактических
параметров должны совпадать. Фактические
параметры указываются в скобках при вызове
процедуры. Они заменяют формальные параметры
при выполнении программы
6.
В основной программе процедура вызываетсятоже с указанием параметров:
<ИМЯ> (Список параметров);
Например,
Ploshad3 (AB, BC, AC, S);
Пример:
Вычислить площадь выпуклого четырёхугольника, заданного
длинами 4-х сторон и диагональю
По формуле Герона можно вычислить
площадь треугольника
B
S p ( p a) ( p b) ( p c)
S1
A
S2
D
C
a b c
p
2
7.
Program geron;uses CRT;
var AB, BC, CD, DA, AC, S1, S2: real;
Procedure Ploshad3(var a, b, c, s :real);
var p:real;
begin
Формальные параметры
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
end;
begin
Clrscr;
Writeln('Задайте стороны 4-угольника ABCD и его диагональ AC');
readln (AB, BC, CD, DA, AC);
Ploshad3(AB , BC , AC , S1);
Ploshad3(DA, AC, CD, S2);
Фактические параметры
Writeln ('Площадь ABCD= ', S1+S2:8:2);
readln;
end.
8.
Описание функцииFunction <имя> [ (Список формальных параметров)]: тип;
[Описательная часть]
Label ;
Const;
Type;
Var;
Begin
Тело функции, в которой обязательно
должно быть присваивание
Имя_ функции_:= значение
End;
Обращение к функции
производится по имени
функции с указанием
фактических параметров
9.
Составить программу, подсчитывающую число сочетаний безповторений из n элементов по к
Известно, что число сочетаний из n
элементов по к вычисляется по
формуле
n!
C
k!(n k )!
Алгоритм
вычисления
факториала
10.
11.
Задача 1.Составить программу, определяющую
число сочетаний из N по K. Выполнить её для N=4, К=2.
2
Схемы составного алгоритма:
Головной алгоритм
1
Начало
2
Подалгоритм
вычисления
факториала
4
KF := Fact (K)
5
DF := Fact (N-K)
6
C := NF / (KF * DF)
7
Вывод C
Конец
i :=1; KF :=1
2
8
Ввод N,K
3
i :=1; NF :=1
Fact (n)
нет
2
i := 1;
4
F := 1
i <= N
5
10
нет
i := i + 1
да
11
i :=1; DF :=1
NF := NF * i
3
i <= n
4
да
9
KF := KF * i
нет
да
F := F * i
6
нет
i := i + 1
i := i + 1
Возврат F
12
i<=N-K
да
15
C := NF/(KF*DF)
5
6
8
7
i <= K
Ввод N, K
NF := Fact (N)
Схема «простого» алгоритма,
решающего эту же задачу без подпрограмм
1
Начало
1
3
1
16
Вывод C
13
DF := KF * i
14
i := i + 1
17
Конец