Similar presentations:
Подпрограммы. Процедуры. Функции. Turbo Pascal. Решение задач
1.
ПодпрограммыПроцедуры
Функции
Дибиров Магомедшапи Дибиргаджиевич
2.
Подпрограмма-функцияФункция – вид подпрограмм, независимая
именованная часть программы, которую можно
вызывать
по
имени
для
выполнения
определенных действий.
Упоминание имени функции в тексте программы
приводит к активизации функции и называется
ее вызовом.
По структуре функция повторяет структуру
программы и содержит почти все те же
элементы, что и обычная программа.
В отличие от процедуры имя функции имеет
значение и тип.
3.
Подпрограмма-функцияСтруктура подпрограммы:
Function <имя> [ (список) ] : <тип>;
{ Раздел описания }
Begin
…
End;
(список) – список формальных параметров.
4.
Переменные…Результат работы функции возвращается через имя
функции.
Вызов функции может осуществляться только как часть
выражения, в котором функция выступает в роли
параметра.
5.
Пример:составить программу
нахождения суммы двух чисел.
Program Summa;
Uses CRT;
Function Summ(a, b:real):real;
var c:real;
begin
c:=a+b; summ:=c
end;
Var x, y: real;
Begin clrscr;
write (’x, y : ’); read (x, y);
write (’сумма = ’, summ (x, y):6:2);
readkey
End.
6.
Пример:составить программу нахождения
площади прямоугольного треугольника
Program treugolnik;
Uses CRT;
Function St ( a, b : real ):real;
var s:real;
begin
s:= a * b; st := s/2
end;
Var x, y: real;
Begin clrscr;
write (’x, y : ’); read (x, y);
write (’Площадь = ’, st (x, y):6:2);
readkey
End.
7.
Задание:• Составить программу для вычисления
значения выражения F. Поиск значения
оформить в виде функции.
x3 2 x 2
F
2
x y 1
1
F
1
1
2
2
x y
x y
8.
Пример:3
2
x
2
x
составить программу F
нахождения
x y 2 1
Program Funct1;
Uses CRT;
Function F1(a, b : real):real;
var f:real;
begin
f:=(a*a*a+2*a*a)/(sqr(a+b)+1);
f1:=f
end;
Var x, y : real;
Begin clrscr;
write (’x, y : ’); read (x, y);
write (’f = ’, f1(x,y):6:2);
readkey
End.
9.
Пример:составить программу
нахождения
F
1
1
1
x y2 x2 y
Program Funct2;
Uses CRT;
Function F2(a, b:real):real;
var f:real;
begin
f:=1/(a+b); f2:=f
end;
Var x, y : real;
Begin clrscr;
write (’x, y : ’); read (x, y);
write(’ F = ’, F2(f2(x,y*y), f2(x*x,y)):7:2);
readkey
End.
10.
Площадь треугольника: формула Геронаs p p a p b p c
a
b
a b c
p
2
c
d
a
b
c
e
g
f
Задание: составить программу
нахождения площади
пятиугольника зная параметры a,
b, c, d, e, f, g. Написать
подпрограмму-процедуру для
поиска площади составляющих
пятиугольника.
11.
Решение задачи по формуле ГеронаProgram Plosad; Uses CRT;
Function st (A, B, C : real) : real;
Var p, g : real;
Begin { begin_geron }
p:=(a+b+c)/2; g:= sqrt(p*(p-a)*(p-b)*(p-c)); st := g
End; { end_geron }
Var a, b, c, d, e, f, g : real;
Begin
clrscr;
write (’ Vvedite a, b, c, d, e, f, g: ’);
read (a, b, c, d, e, f, g);
write (’ Plosad 5-ugolnika ravna = ’, st (a, b, g) + st (b, c, f) + st (c, d, e):6:2);
readkey
End.
12.
Задание:• Составить программу поиска средней скорости
автомобиля на пути от А до В, зная скорости на
участках АB, BC, CD. Поиск скорости на указанных
участках оформить в виде подпрограммы.
B
A
D
C
AB=___км; t1=___ч
BC=___км; t2=___ч
CD=___км; t3=___ч