Это так же называется обратной польской записью. Числа, которые встречаются интерпретатору, помещаются в стек. А операции совершаются над числами лежащими в вершине стека. Последовательность будет такая: а - помещается на вершину стека, b - помещается на вершину, а проталкивается вглубь стека. И т.д. После ввода цифры 7 стек будет иметь вид "abc7", где 7 лежит на вершине стека. Затем приходит черед арифметических операций: "+" - берутся два числа, лежащие в вершине стека, складываются, и вместо них на вершину стека ложится их сумма. Теперь стек будет таким: "ab(c+7)". Следующая операция "*" - берутся b и (с+7) и умножаются. Результат помещается на вершину стека. Стек: "а(b*(c+7))". И последнее действие "-" - из a вычитается b*(c+7). В результате выражение будет иметь вид: а - b(c+7).
На Паскале:
program prog;
var
a:array[1..20] of integer = (1,3,2,5,3,2,1,3,5,2,6,3,5,6,2,3,4,5,7,6);
i,c:integer;
begin
c:=0;
for i:=1 to 20 do if a[i]>3 then c:=c+1;
write('Количество дней с температурой воздуха больше 3 градусов: ', c);
end.
На Питоне:
c = 0
a = [1,3,2,5,3,2,1,3,5,2,6,3,5,6,2,3,4,5,7,6]
for i in a:
if i > 3: c+=1
print(f'Количество дней с температурой воздуха больше 3 градусов: {c}')
Если нужно вводить температуру с клавиатуры:
На Паскале:
program prog;
var
a:array[1..20] of integer;
i,c:integer;
begin
c:=0;
for i:=1 to 20 do begin
write('Введите температуру ', i, '-го дня: '); readln(a[i]);
if a[i]>3 then c:=c+1;
end;
write('Количество дней с температурой воздуха больше 3 градусов: ', c);
end.
На Питоне:
c = 0
a = [int(input(f'Введите температуру {i+1}-го дня: ')) for i in range(20)]
print(a)
for i in a:
if i > 3: c+=1
print(f'Количество дней с температурой воздуха больше 3 градусов: {c}')
а - b(c+7).