М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Zhora231
Zhora231
09.07.2020 00:29 •  Информатика

Составьте программу, вычисляющую для двух дробей a/b и c/d (a,b,c,d - натуральные числа): деление умножение сложение. результат представить в виде простых несократимых дробей в виде функции. pascal

👇
Ответ:
Как-то так)

var a,b,c,d,e,f:integer;
function nod(m,n:integer):integer;
begin
while m<>n do
if m>n then m:=m-n
       else n:=n-m;
nod:=m
end;
begin
write('введите числитель1, знаменатель1, числитель2, знаменатель2');
readln(a,b,c,d);
e:=a*d+b*c;
f:=b*d;
 if f=0 then write('на 0 делить нельзя')
else
if e=0 then writeln('сложение =  ',e) 
      else begin
       e:=e div nod(abs(e),f); 
       f:=f div nod(abs(e),f); 
       writeln('сложение =  ',e,'\',f); 
       end;
e:=a*c;
f:=b*d;
 if f=0 then write('на 0 делить нельзя')
else
if e=0 then writeln('умножение = ',e)
else begin
 e:=e div nod(abs(e),f);
       f:=f div nod(abs(e),f);
       writeln('умножение =  ',e,'\',f);
         end;
e:=a*d;
f:=b*c;
if f=0 then write('на 0 делить нельзя')
else
         if e=0 then writeln('деление=  ',e)
else begin e:=e div nod(abs(e),f);
       f:=f div nod(abs(e),f);
       writeln('деление =  ',e,'\',f); 
        end; 
     end.
4,7(68 оценок)
Открыть все ответы
Ответ:
tati9860406
tati9860406
09.07.2020
Const
handsfree = true;

type
mas100_100 = array[1..100, 1..100] of integer;

var
a1, a2, a3: mas100_100;
i, j, m, n: integer;

procedure InitializeMatrix(var a: mas100_100; m, n: integer);
var
i, j: integer;
begin
writeln('Данные матрицы');
for i := 1 to m do 
begin
for j := 1 to n do
if handsfree then begin
a[i, j] := random(30);
write(a[i, j]:2, ' ')
end
else
read(a[i, j]);
writeln;
end;
end;

begin
writeln('Введите размер матриц');
readln(m, n);

InitializeMatrix(a1, m, n);
InitializeMatrix(a2, m, n);

writeln('Вывод результата');
for i := 1 to m do 
begin
for j := 1 to n do 
begin
a3[i, j] := a1[i, j] * a2[m + 1 - i, n + 1 - j];
write(a3[i, j], ' ');
end;
writeln;
end;

readln;
end.
4,6(46 оценок)
Ответ:
КсенияА2006
КсенияА2006
09.07.2020
Const
handsfree = true;

type
mas100_100 = array[1..100, 1..100] of integer;

var
a1, a2, a3: mas100_100;
i, j, m, n: integer;

procedure InitializeMatrix(var a: mas100_100; m, n: integer);
var
i, j: integer;
begin
writeln('Данные матрицы');
for i := 1 to m do 
begin
for j := 1 to n do
if handsfree then begin
a[i, j] := random(30);
write(a[i, j]:2, ' ')
end
else
read(a[i, j]);
writeln;
end;
end;

begin
writeln('Введите размер матриц');
readln(m, n);

InitializeMatrix(a1, m, n);
InitializeMatrix(a2, m, n);

writeln('Вывод результата');
for i := 1 to m do 
begin
for j := 1 to n do 
begin
a3[i, j] := a1[i, j] * a2[m + 1 - i, n + 1 - j];
write(a3[i, j], ' ');
end;
writeln;
end;

readln;
end.
4,6(8 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ