Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2009, 14:28   #1
strateg66
Пользователь
 
Регистрация: 07.10.2009
Сообщений: 23
По умолчанию Несократимая дробь

В задаче необходимо найти несократимую дробь, являющуюся суммой двух данных дробей. Нахожу НОД (наименьший общий делитель) и делю дробь на него до тех пор пока он не станет равен 1 (НОД для всех дробей). Почему то на выходе получаются разные типы, хотя при делении на НОД целого числа, по определению должно получится целое.

program nesokr;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
a,b,e,f,c,d,p,q:integer;


function nod(var a, b: integer): integer;
begin
if (a = 0) or (b = 0) then
nod:= 1
else
if a >= b then
begin
a := a mod b;
nod:= nod(a, b);
end
else
begin
b := b mod a;
nod:= nod(a, b);
end;
end;

begin
a:=2; b:=3;c:=3; d:=4;
p:=a*d+c*b;
q:=b*d;
while nod(p,q)>1 do
begin
p:=p/nod(p,q);
q:=q/nod(p,q);
end;
writeln ('Несократимая дробь =',p,'/',q)
end.
strateg66 вне форума Ответить с цитированием
Старый 20.12.2009, 15:34   #2
strateg66
Пользователь
 
Регистрация: 07.10.2009
Сообщений: 23
По умолчанию

НАщел другое нахождение НОДа, но все равно программа не хочет работать
program nesokr;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
a,b,e,f,c,d,p,q:integer;


function nod(var a, b: integer): integer;
begin
while (a<>0)and(b<>0) do
if a>b then a :=a mod b else b:=b mod a;
if a=0 then result:=b else result:=a;
end;

begin
a:=2; b:=3;c:=3; d:=4;
p:=a*d+c*b;
q:=b*d;
while nod(p,q)>1 do
begin
p:=p/nod(p,q);
q:=q/nod(p,q);
end;
writeln ('Несократимая дробь =',p,'/',q)
end.
strateg66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переделать дробь в натуральное число pro100-delphi Паскаль, Turbo Pascal, PascalABC.NET 2 26.09.2009 08:24