IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> задача на дроби, сложение дробей!
zoha
сообщение 27.12.2011 18:42
Сообщение #1


Хакер
*

Группа: Пользователи
Сообщений: 49
Пол: Мужской

Репутация: -  -4  +


Даны 2 дроби А/В и С/D (ADCй - натуральное число). Составить программу для сложения дробей. Результат должен быть несократимой дробью.
Что то не так! Проверьте пожалуйста!

Код
Program 3;
var n, i: integer;

begin
Readln (n);
writeln('Dividers: ');

for i := 1 to n div 2 do
  if (n mod i) = 0 then begin
    write(i,'  ');
      end;
writeln(n);
readln
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
potter-by
сообщение 5.01.2012 13:03
Сообщение #2





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +



{Дополнительные переменные введены на случай,
если требуется сохранение исходных данных (в конце вывод действий)}
var a,b,c,d,a1,c1,nod_b,nod_d,zn,ch: integer;
begin
write('Введите числитель 1-й дроби: ');
readln(a);
repeat
write('Введите знаменатель 1-й дроби: ');
readln(b);
until b<>0;
write('Введите числитель 2-й дроби: ');
readln©;
repeat
write('Введите знаменатель 2-й дроби: ');
readln(d);
until d<>0;
nod_b:=b;
nod_d:=d;
while nod_b<>nod_d do
if nod_b>nod_d then nod_b:=nod_b-nod_d
else nod_d:=nod_d-nod_b;
zn:=(b*d) div nod_d;
a1:=zn div b;
c1:=zn div d;
ch:=a*a1+c*c1;
//writeln(ch,'/',zn);
a1:=ch;
c1:=zn;
while a1<>c1 do
if a1>c1 then a1:=a1-c1
else c1:=c1-a1;
ch:=ch div a1;
zn:=zn div a1;
writeln(a,'/',b,'+',c,'/',d,'=',ch,'/',zn);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 3:03
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"