Паскаль не умеет брать корень из отрицательного числа (!), поэтому если вы введете х, значение которого окажется меньше 25, то на выходе получите y = NaN
Постфиксную запись удобно воспринимать как манипуляции со стеком — аналогом длинной трубки с отверстием внизу. в которую можно класть шары, при этом каждый следующий шар проталкивает дальше предыдущие.
Идём по записи 1) 5 — кладём в стек 5 2) 13 — кладём в стек 13 3) 7 — кладём в стек 7 4) - — вытаскиваем из стека два последних шара (13 и 7) и кладём обратно их разность 13 - 7 = 6 5) * — вытаскиваем из стека два последних шара (5 и 6) и кладём обратно их произведение (5 * 6 = 30). 30 и будет ответом.
Постфиксную запись удобно воспринимать как манипуляции со стеком — аналогом длинной трубки с отверстием внизу. в которую можно класть шары, при этом каждый следующий шар проталкивает дальше предыдущие.
Идём по записи 1) 5 — кладём в стек 5 2) 13 — кладём в стек 13 3) 7 — кладём в стек 7 4) - — вытаскиваем из стека два последних шара (13 и 7) и кладём обратно их разность 13 - 7 = 6 5) * — вытаскиваем из стека два последних шара (5 и 6) и кладём обратно их произведение (5 * 6 = 30). 30 и будет ответом.
begin
var x,y:real;
write('Введите значение X: '); readln(x);
if x>1 then
y:=(x-25).Sqrt
else
if x<1 then
y:=x.Sqr+3*x;
write('y(',x,') = ',y);
end.
Примечание:
Паскаль не умеет брать корень из отрицательного числа (!), поэтому если вы введете х, значение которого окажется меньше 25, то на выходе получите y = NaN