Найдите ошибку в (паскале ) программе пожалуйста

0 голосов
37 просмотров

Найдите ошибку в (паскале ) программе пожалуйста


image

Информатика (57 баллов) | 37 просмотров
0

считать выражения

0

например c = a! .где а =5. То есть с = 1*2*3*4*5

0

если считать факториал, то зачем именно процедура и почему она вызывается трижды и еще считается с -непонятно что...

0

процедуру это обязательно

0

трижды потому что там будет три разных числа

0

с это обычный пример . но чтобы его посчитать нужно сначала факториал посчитать

0

я так подозреваю что о сочетаниях идет речь, тап почему в формуле С не написать просто С:=u/(r*o)

0

попробую. Спасибо

0

получилось?

0

что при выводе С за формат указан?

Дан 1 ответ
0 голосов
Правильный ответ

Var m,n,u,r,o: integer;
c: real;
procedure factorial(a:integer; var w:integer);
var i:integer;
begin
w:=1;
for i:=2 to a do w:=w*i;
end;
begin
writeln('Введите целые числа m и n (m>n):');
write('m = ');
readln(m);
write('n = ');
readln(n);
factorial(m,u);
factorial(m-n,r);
factorial(n,o);
//число сочетаний из m объектов по n
c:=u/(r*o);
writeln('C = ',c:5:0);
end.

Пример:
Введите целые числа m и n (m>n):
m = 4
n = 2
C = 6

(194k баллов)