Срочно, помогите пожалуйста. 1) Напишите пожалуйста программу в Паскале ,которая бы содержала и функцию и процедуру
Answers & Comments
jdjfjfufjrjdjfj
На основе подпрограммы факториала вычислить число сочетаний Cnm из N элементов по M, использовав формулу: Сnm = N!/((N-M)!*M!). Реализовать 2 варианта решения - c процедурой и с функцией. На голосовании 6 лет назад Вариант 1(на основе функции) Program zd; var N,M:integer; function Fact(x:integer):longint; begin if x=1 then Fact:=1 else fact:=x*fact(x-1); end; begin readln(N,M); write('N!/((N-M)!*M!)=',Fact(N)div(Fact(N-M)*Fact(M) )); end. 2 Функция Cnm program Cnm; var n,m:integer; function factorial(n: Byte): word; Begin if n=0 then factorial:=1 else factorial:=n*factorial(n-1); End; Begin read(n,m); if n>m then writeln(factorial(n) div factorial(n-m)*factorial(m)) else write('ERROR. n must be > than m');
End. можете сделать лучше
0 votes Thanks 0
Bronzor1
Нужно, чтобы процедура и функция была в одной программе, а вы скинули две разные программы.
Answers & Comments
На голосовании 6 лет назад
Вариант 1(на основе функции)
Program zd;
var N,M:integer;
function Fact(x:integer):longint;
begin
if x=1 then Fact:=1
else fact:=x*fact(x-1);
end;
begin
readln(N,M);
write('N!/((N-M)!*M!)=',Fact(N)div(Fact(N-M)*Fact(M) ));
end.
2
Функция Cnm
program Cnm;
var n,m:integer;
function factorial(n: Byte): word;
Begin
if n=0 then factorial:=1
else factorial:=n*factorial(n-1);
End;
Begin
read(n,m);
if n>m then writeln(factorial(n) div factorial(n-m)*factorial(m))
else write('ERROR. n must be > than m');
End.
можете сделать лучше
procedure foo(str: string);
begin
writeln(str);
end;
function foo1(str: string): string;
begin
foo1:= str;
end;
begin
foo('I am a procedure');
n:= foo1('I am a function');
writeln(n);
end.