Напишите программу сложения двух дробей, результатом должна быть сократимая дробь
103
408
Ответы на вопрос:
// pascalabc.net 3.3, сборка 1634 от 14.02.2018 // внимание! если программа не работает, обновите версию! function nod(a,b: integer): integer; begin while b> 0 do (a,b): =(b,a mod b); result: =a end; procedure fracadd(n1,d1,n2,d2: integer; var n,d: integer); // сложение дробей n1/d1 + n2/d2 = n/d begin (n,d): =(n1*d2+n2*d1,d1*d2); var k: =nod(n,d); if k< > 1 then (n,d): =(n div k,d div k) end; begin var (a,b): =readinteger2('введите числитель и знаменатель 1й дроби: '); var (c,d): =readinteger2('введите числитель и знаменатель 2й дроби: '); var m,n: integer; fracadd(a,b,c,d,m,n); if n=1 then writeln('сумма=',m) else writeln('сумма=',m,'/',n) end. пример введите числитель и знаменатель 1й дроби: 6 15 введите числитель и знаменатель 2й дроби: 12 300 сумма=11/25 замечание: вводить только натуральные числа!
Program nd; function nod(n,m: integer): integer; begin while(n< > 0) and (m< > 0) dobeginif n> =m then n: =n mod m else m: =m mod n; end; nod: =m+n; end; var m1,m2,n1,n2,t,ch,zn: integer; begin write('введите числитель и знаменатель 1 дроби через пробел: '); readln(m1,n1); write('введите числитель и знаменатель 2 дроби через пробел: '); readln(m2,n2); ch: =(n2*m1+m2*n1) div nod(n2*m1+m2*n1,n1*n2); zn: =(n1*n2) div nod(n2*m1+m2*n1,n1*n2); write(m1,'/',n1,' + ',m2,'/',n2,' = '); if zn=1 then write(ch) else write(ch,'/',zn); end.
Учитель информатики, профессор, бухгалтер, специалисты, которые занимаются разработкой сетевых программ, программист-сетевик, операционщик, разработчик операционных систем или операционщик, программисты. больше не знаю.
Популярно: Информатика
-
5867389576M30.01.2021 06:01
-
валерія34610.02.2021 18:00
-
danilabarsap02au201.09.2020 07:03
-
DAYN777DEBIL08.04.2021 19:27
-
Наркодилер30.04.2023 00:13
-
Сашенькадельфинчик09.07.2022 08:48
-
zverrodion19991118.10.2021 23:25
-
zedl15.12.2022 04:49
-
lera11122204.07.2021 10:12
-
Серггій2607200630.11.2020 01:25