
14. Даны две дроби A/B и C/D (A,B,C,D-натуральные числа). Составить программу для вычитания из первой дроби второй. Реузультат должен быть несократимой дробью.
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
MiH@N |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Репутация: ![]() ![]() ![]() |
помогите решить с кратким объяснением(если можно).(пробовал сам но не удаётся 'Реузультат должен быть несократимой дробью"-выполнить это условие
![]() 14. Даны две дроби A/B и C/D (A,B,C,D-натуральные числа). Составить программу для вычитания из первой дроби второй. Реузультат должен быть несократимой дробью. |
compiler |
![]()
Сообщение
#2
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
дублировать темы это не хорошо Задачи по теме «Подпрограммы»
тем более Оzzя тебе уже все решил... Сообщение отредактировано: compiler - -------------------- Спасибо!
Удачи! |
MiH@N |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Репутация: ![]() ![]() ![]() |
не совсем понял как решил...
|
compiler |
![]()
Сообщение
#4
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
не совсем понял как решил... на каком этапе остановился?1)читаешь две дроби(четыре целых числа) 2)считаешь числитель и знаменатель для результирующей дроби 3)сокращаешь дробь 3а) поиск НОД-а 3б) деление числителя и знаменателя на НОД 4)вывод результата Сообщение отредактировано: compiler - -------------------- Спасибо!
Удачи! |
MiH@N |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Репутация: ![]() ![]() ![]() |
так прафильно будет?
undefinedprogram program zadanie 3;
uses crt;
function nod(a,b:integer):integer;
begin
while a<>b do if a>b then a:=a-b else b:=b-a;
nod:=a;
end;
function nok(a,b:integer):integer;
begin
nok:=round((a*b)/nod(a,b));
end;
procedure minus(a,b,c,d:integer;var x,y:integer);
var m:integer;
begin
x:=a*(nok(b,d) div b)-c*(nok(b,d) div d);
y:=nok(b,d);
m:=nod(abs(x),y);
x:=x div m;
y:=y div m;
end;
var n1,n2,m1,m2,x,y:integer;
begin
clrscr;
write('Введите числитель первой дроби: ');readln(n1);
repeat
write('Введите знаменатель первой дроби: ');readln(n2);
until n2>0;
write('Введите числитель второй дроби: ');readln(m1);
repeat
write('Введите знаменатель второй дроби: ');readln(m2);
until m2>0;
minus(n1,n2,m1,m2,x,y);
clrscr;
if m1>=0 then writeln(n1,'/',n2,'-',m1,'/',m2,'=',x,'/',y) else
writeln(n1,'/',n2,'-(',m1,'/',m2,')=',x,'/',y);
readkey;
end.
|
compiler |
![]()
Сообщение
#6
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
замечательно!
только следует добавить одно условие if x<>0 then begin
m:=nod(abs(x),y);
x:=x div m;
y:=y div m; end;
-------------------- Спасибо!
Удачи! |
MiH@N |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
compiler |
![]()
Сообщение
#8
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
а такое условие не нужно ты ж вроде это при чтении проверяешьа можно поточнее-куда добавить?? в процедуру minus, противном случае если отнять два равных числа получим глюк)-------------------- Спасибо!
Удачи! |
MiH@N |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Репутация: ![]() ![]() ![]() |
а в блок-схеме как это намалевать?
|
compiler |
![]()
Сообщение
#10
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
а в блок-схеме как это намалевать? по поиску можешь найти программы которые это сделают...-------------------- Спасибо!
Удачи! |
MiH@N |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 22.04.2025 1:50 |