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) // это выделение дробной части числа
Поделитесь своими знаниями, ответьте на вопрос:
Информатика.логика операции над высказываниями а и в (дизъюнкция, конъюнкция и отрицание) дана логическая схема.напишите по ней логическую функцию и составьте таблицу истинности.
-32768 .. 32768 (кроме 0)
Объяснение:
16 битами можно закодировать различных значений.
По условию кодируются положительные и отрицательные числа в равном количестве, так что и тех и других половина, по 65536 : 2 = 32768 чисел.
Получается диапазон -32768 .. 32768, из которого убрали нуль.
Обычно всё же ноль в представлениях целых чисел есть. Если использовать прямой код для записи чисел, то получится как раз одинаковое количество положительных и отрицательных чисел, но два нуля (положительный и отрицательный). Для этого случая диапазон будет -32767..32767.