var n: integer; // степень числа res: integer; // результат idx: integer; // индекс для цикла begin write('Введите степень числа: '); readln(n); res := 1; if n < 0 then begin writeln('Степень должна быть неотрицательной.'); halt(-1); // завершение программы end else if n >= 30 then begin writeln('Переполнение типа Integer.'); halt(-2); end else if n > 0 then begin for idx := 1 to n do res := res * 2; end; writeln('Результат возведения 2 в степень ', n, ': ', res, '.'); end.
Программа содержит следующие итерации, где x принимает значения из списка [-2, 0, 2], следовательно цикл проработает 3 раза.
1.
х = -2
у = 0
у = 0 + 2*(-2) = -4
2.
х = 0
у = -4
у = -4 + 2*0 = -4
3.
х = 2
у = -4
у = -4 + 2*2 = 0
Результатом программы будет являться 0
p.s range(от, до (не вкл.), шаг)