ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »