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) // это выделение дробной части числа
var
a : array [1..9] integer;
i : integer;
begin
for i := 1 to 9 do
if i mod 3 = 1 then a[i] := i
else if i mod 3 = 2 then a[i] := sqr (i - 1)
else a[i] := a[i - 1] div i;
for i := 1 to 9 do
write (a[i], ' ');
end.
var
b, a : array [1..15] of integer;
i, sa, sb : integer;
begin
randomize;
sa := 0; sb := 0;
for i := 1 to 15 do
begin
a[i] := trunc (random (100)) + 1;
write (a[i], ' ');
sa := sa + a[i];
end;
writeln;
for i := 1 to 15 do
begin
b[i] := sqr (a[i]) - a[i]);
write (b[i], ' ');
sb := sb + b[i];
end;
writeln;
writeln (abs (sb - sa));
end.