Есть стек чисел (условно) бесконечной глубины.
Операция (сложение, вычитание, умножение, деление и т. д.) выполняется над элементом(ами) в самом верху стека. Результат отправляется обратно в стек.
Это дает возможность выполнять сложные вычисления с учетом правил приоритета операторов, т. к. можно хранить результаты предыдущих вычислений в стеке.
Например, (5 + 1) * (6 - 2) запишется так:
5 1 + (сейчас в стеке по адресу 0 лежит 6) 6 2 - (сейчас в стеке по адресу -1 лежит 6, а по адресу 0 лежит 4) * (сейчас в стеке по адресу 0 лежит 24).
Стек:
Адрес Число
0 24
-1 -
-2 -
... -
Сумма бесконечна так как нет второго предела
<span>Var x,y: real;
Begin
readln (x,y);
if (x>=0)and(x*x+y*y>=3*3)and(x*x+y*y<=5*5)
then writeln('YES')
else writeln('NO')
End<span>.
Пример:
4 1
YES</span></span>
<h3>PascalABC.NET 3.4.2, сборка 1857 от 05.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var Число := ReadInteger('Введите натуральное число:');
var (Четных, Нечетных) := (0, 0);
while Число > 0 do
begin
if (Число mod 10).IsOdd then Inc(Нечетных)
else Inc(Четных);
Число := Число div 10
end;
Println('Нечетных', Нечетных, 'четных', Четных)
end.
<h2>Введите натуральное число: 1406439</h2><h2>Нечетных 3 четных 4 </h2>