язык Pascal !!!!!
Дан алгоритм:
Подпрограмма
1)ввести натуральное число M,N
2)если M=N перейти к п. 5, иначе к следующему пункту
3)если M>N, то M:=M-N; иначе N:=N-M
4)перейти к п. 2
5)Передать значение M в основную программу
6) Конец подпрограммы
Основная программа
1)ввести значение A,B,C,D
2)E:=A*D-B*C
3)F:=B*D.
4)если Е=о , вывести значение Е и перейти к п. 9, иначе перейти к следующему пункту
5)M:=|E|, N:=F; перейти к подпрограмме вычисления НОД
6)G:=M;
7)E и F нацело разделить на G
8)вывести значение E и F на печать
9)конец программы
Нужно написать программу по данному алгоритму.
Answers & Comments
function nod(n,m:longword);
begin
while n<>m do
if n>m then
n:=n-m
else
m:=m-n;
nod:=m;
end;
var a,b,c,d,f,g:longword;
e:longint;
begin
read(a,b,c,d);
e:=a*d-b*c;
if e=0 then
write('0')
else
begin
f:=b*d;
g:=nod(abs(e),f);
e:=e div g;
f:=f div g;
write(e,' ',f);
end;
end.