На паскале написать программу сокращения дроби , где N – целое, M – натуральное число. Использовать алгоритм Евклида. Разработать тесты для проверки правильности работы программы.
На паскале написать программу сокращения дроби , где N – целое, M – натуральное число. Использовать алгоритм Евклида. Разработать тесты для проверки правильности работы программы.
Ответ(ы) на вопрос:
Гость
//Pascal ABC.NET v3.0 сборка 1111
Var
a,b,c,d:integer;
begin
read(a,b);
c:=a;
d:=b;
while (a<>0) and (b<>0) do
if a>b then a:=a mod b else b:=b mod a;
writeln(c div (a+b));
writeln('---');
writeln(d div (a+b));
end.
//А теперь программа для тестов, выведет 1000 результатов в файл
Var
a,b,c,d,i:integer;
f:text;
begin
assign(f,'text.txt');
rewrite(f);
for i:=1 to 1000 do
begin;
a:=random(1,100);
b:=random(1,100);
c:=a;
d:=b;
while (a<>0) and (b<>0) do
if a>b then a:=a mod b else b:=b mod a;
writeln(f,c,' ',c div (a+b));
writeln(f,'=':length(inttostr(c)));
writeln(f,d,' ',d div (a+b));
writeln(f);
end;
close(f);
end.
Не нашли ответ?
Похожие вопросы