** паскале написать программу сокращения дроби , где N – целое, M – натуральное число....

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

На паскале написать программу сокращения дроби , где N – целое, M – натуральное число. Использовать алгоритм Евклида. Разработать тесты для проверки правильности работы программы.


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

За 5 баллов не уверен, что Вам ответ с тестами напишут. Разве что от нечего делать кто-то..

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

//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.

(38.6k баллов)