ВУЗ:
Составители:
Рубрика:
19
Оператор присваивания:
2. Идентификатор типа в конце заголовка функции определяет тип
значения функции. Это может быть простой тип (порядковый или тип real),
строковый или тип “указатель”.
3. В основной программе функция вызывается внутри выражения (т.е.
имя функции должно стоять справа от оператора присваивания) или в списке
параметров оператора writeln.
Вызов функции:
Пример 4:
Рассмотрим
пример использования подпрограммы функции для
вычисления числа сочетаний (из n по m).
)!(!
!
mnm
n
m
n
C
−
=
var n,m:byte;
cnm:longint;
function fact (k:byte):longint; {функция вычисляет значение k!}
var p:longint; i:byte;
begin
p:=1;
переменная
Имя
подпрограммы
функции
выражение
:=
;
Фактические
параметры
Имя функции
,
( )
20
if k>1 then for i:=2 to k do
p:=p*i;
fact:=p; {присваивание имени функции результата
работы функции}
end;
{основная программа}
begin
writeln(′ввод n и m′);
readln(n,m);
cnm:=fact(n) div fact(m) div fact(n-m); {вызовы функций}
writeln(′число сочетаний= ′,cnm);
end.
Пример 5:
Найти значение функции y(x): y(x)=ax
2
+bx+c, где
a=
∑
=
np
i
ip
1
)(
b
∑
=
=
nt
i
it
1
)( c=
∑
=
n
r
i
ir
1
)( ;
Для накопления элементов массива использовать функцию. Функцию для
вычисления в общем виде можно представить как:
sum=
∑
=
k
i
i
z
1
coust max=40;
type m=1. . max;
mas= array[m] of real;
var i,np,nt,nr:byte;
p,t,r:mas;
x,y:real;
function sum (z:mas,k:byte):real; {вычисление суммы элементов массива}
var j:byte; s:real;
begin
s:=0;
for j:=1 to k do s=s+z(j);
sum:=s; {результат присвоен имени функции}
end;
procedure masread (var z:mas,k:byte); {процедура ввода массива}
var l:byte;
begin
writeln (′ввод ′,k,′ элементов массива′);
for l:=1 to k do read (z[l]);
Оператор присваивания: if k>1 then for i:=2 to k do
p:=p*i;
fact:=p; {присваивание имени функции результата
переменная работы функции}
end;
:= выражение ; {основная программа}
Имя begin
подпрограммы writeln(′ввод n и m′);
функции readln(n,m);
cnm:=fact(n) div fact(m) div fact(n-m); {вызовы функций}
writeln(′число сочетаний= ′,cnm);
end.
2. Идентификатор типа в конце заголовка функции определяет тип
значения функции. Это может быть простой тип (порядковый или тип real), Пример 5:
строковый или тип указатель. Найти значение функции y(x): y(x)=ax2+bx+c, где
3. В основной программе функция вызывается внутри выражения (т.е. np nt nr
имя функции должно стоять справа от оператора присваивания) или в списке a= ∑ p(i)
i =1
b= ∑ t (i)
i =1
c= ∑
i =1
r (i) ;
параметров оператора writeln.
Для накопления элементов массива использовать функцию. Функцию для
Вызов функции: вычисления в общем виде можно представить как:
k
Имя функции
sum= ∑
i =1
zi
Фактические
( параметры
) coust max=40;
type m=1. . max;
mas= array[m] of real;
, var i,np,nt,nr:byte;
p,t,r:mas;
Пример 4: x,y:real;
function sum (z:mas,k:byte):real; {вычисление суммы элементов массива}
Рассмотрим пример использования подпрограммы функции для
var j:byte; s:real;
вычисления числа сочетаний (из n по m). begin
n! s:=0;
Cm = for j:=1 to k do s=s+z(j);
n m!(n − m)! sum:=s; {результат присвоен имени функции}
var n,m:byte; end;
cnm:longint; procedure masread (var z:mas,k:byte); {процедура ввода массива}
function fact (k:byte):longint; {функция вычисляет значение k!} var l:byte;
var p:longint; i:byte; begin
begin writeln (′ввод ′,k,′ элементов массива′);
p:=1; for l:=1 to k do read (z[l]);
19 20
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »
