На всякий случай я ещё выложу правильное решение второй задачи( во вложении) либо код здесь:
const n=10;
var mas:array[1..n] of integer;
i,x:integer;
begin
x:=1;
for i:=1 to n do
begin
write('Input a[',i,']=');
readln(mas[i]);
x:=x*abs(mas[i]);
end;
writeln('the answer is:', x);readln;
<span>end.
Вариант из первого решения предложенного вам не скомпилируется, потому что не объявлена константа n. Кроме того в нем нет вывода ответа и непонятно, что за числа надо вводить с клавиатуры (в моем примере оно спросит input a[1] = </span>
1. V = k*I = 50*8 бит = 400
2. i = V/k = 2^10/ 2^6 = 2^4 = 16
Вроде так, верхнюю таблицу чертить не обязательно, она просто для того, чтобы не запутаться
Для решения задачи достаточно знать правила работы всех используемых в данном фрагменте операторов.
Вначале выполняются присваивания <span>s:=0; i:=1;
Затем начинает выполняться цикл, в котором проверяется условие i>1. При подстановке в условие значения i получим 1>1. Это условие не выполняется (выражение имеет значение false), значит не будет выполняться и тело цикла </span><span>begin s:=s+1/I; i:=i-1; end;
</span>Следовательно, значение переменной S останется = 0.