var s,i, n: integer;
begin
for i:=1 to 1000 do begin
s:=i;
n := 1;
while s < 221 do begin
s := s + 13;
n := n * 2
end;
if n=128 then begin writeln(i) break; end;
end;
end.
почему программа не работает?!
begin
for i:=1 to 1000 do begin
s:=i;
n := 1;
while s < 221 do begin
s := s + 13;
n := n * 2
end;
if n=128 then begin writeln(i) break; end;
end;
end.
почему программа не работает?!



Ответ
3
(2 оценки)
1
NiNJaG0o
3 года назад
Светило науки - 23 ответа - 0 раз оказано помощи
Ответ:
Существует только одно значение S = 130 при котором эта программа выведет 128
Объяснение:
S линейно возрастает в цикле и никогда не уменьшается, следовательно насколько бы мы не увеличивали количество шагов в цикле вывод программы не измениться, при i = 130 n = 128. Все последующие разы цикл while не выполняется, после i = 221 в данном случае оператор for избыточен, так как становиться s > 221.
текстом напиши условие...
я не сдаю инфу но ттак как я в айти классе требуют также
Var s, n: integer;<br />Begin<br /> Readln (s);<br /> S := 3* (s div 10);<br /> N := 1;<br /> While s< 221 do begin<br /> S := s + 13;<br /> N := n * 2<br /> End;<br /> Writeln (n)<br />End.
Определите, сколько существует различных целых значений переменной s, при вводе которых данная программа выведет число 128. Для Вашего удобства программа представлена на четырёх языках программирования
Оформи вопрос нормально, задание напиши, а не мозаику в комментариях, нечего не понятно, что требуется. Твоя программа не работает так как ты пропустил ; в коде о чем тебе и написано внизу.