const
AOper: array [0..3] of string = ('+', '-', '*', '/');
var
a, b, Oper: Integer;
r: Real;
begin
Randomize; // инициализация датчика случайных чисел
a := Random (1001);
b := Random (1001);
Oper := Random (4);
case Oper of
0: r := a + b;
1: r := a - b;
2: r := a * b;
3:if b <> 0 then begin
r := a / b;
end else begin
WriteLn ('Произошла ошибка при делении на ноль');
Exit;
end
else r := -1;
end;
WriteLn (a);
WriteLn (b);
WriteLn (Aoper [Oper]);
if (r >= 0) and (r - Trunc (r) = 0) then begin // если в результате получилось положительное целое число
WriteLn ('yes');
WriteLn (r :6 :0);
end else
WriteLn (' no');
ReadLn;
end.
Объяснение:
r - Trunc (r) // это выделение дробной части числа
Пошаговое объяснение:
89425 6 - 30 34725 28740 3 - 1 1427
Пошаговое объяснение:
7/12 + 5/18 =
Объяснение: чтобы вычесть или сложить дроби с разными знаменателями,нужно найти НОЗ(Наименьший общий знаменатель) либо его называют НОК(Наименьшее общее кратное).Для того чтобы найти НОЗ(НОК разницы не имеет), нужно разложить число.Но это процесс очень долгий,поэтому есть ещё один Смотришь на самый большой знаменатель, в данном случае 18. Т.к. 18 на 12 не поделишь,то самый большой знаменатель умножаешь на 2(либо на любое число,главное чтобы каждый знаменатель делился на то что ты умножила). 18 · 2 = 36. Смотрим,36 на 12 и 18 делится.Значит подходит.Объясню почему умножила не на 3 а на 2.Потому что НОЗ(НОК) должен быть наименьший.Мы выяснили что знаменатель будет 36.Теперь:
36 : 12 = 3 = это число на которое мы умножим числитель в дроби 7/12
36 : 18 = 2 = это тоже число на которое мы умножим именно числитель,никак не знаменатель дроби 5/18
Записывается это так:
7³/12 + 5²/18 = 21/36 + 10/36 = 31/36
Надеюсь,понятно:)