Разберем оператор по шагам. Обозначим Т - промежуточный результат операции.y:= round(y*(7 div 4) mod 7/3)/y - trunc(0.724);1) T:= 7 div 4 ⇒ T:=1, тип T целочисленный.2) T:=y*T, тип Т определяется типом y.3) T:=T mod 7, в операции mod операнды могут быть только целочисленными, следовательно, тип у в 2) может быть только целочисленным, иначе мы получим на данном шаге ошибку. Результат операции - Т целочисленного типа.4) T:=T/3; T - вещественного типа.5) T;=round(T); T - целочисленного типа.6) T:=T/y, T - вещественного типа.7) Trunc(0.724)
вернет 0 целочисленного типа.8) Т:=T-0 не изменит значения и типа Т: Т по-прежнему остается вещественным.9) y:=T; для корректного присваивания y должен иметь вещественный тип, но это, как указано в 3), вызовет ошибку при выполнении 2).Итог: оператор недопустим и будет отмечен ошибочным при компиляции
Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу вычисления a и b и сравните их, если x=10: a: =(x+6)*scr(x)-sqrt(x-1); b: =abs(x-15)*sqr(x+1)/242; . 99
Внимание! Если программа не работает, обновите версию!
begin
var x:=10;
var a:=(x+6)*Sqr(x)-Sqrt(x-1);
var b:=Abs(x-15)*Sqr(x+1)/242;
Writeln('a=',a,', b=',b,', a-b=',a-b)
end.
Результат
a=1597, b=2.5, a-b=1594.5