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.

почему программа не работает?!

текстом напиши условие...

я не сдаю инфу но ттак как я в айти классе требуют также

Var s, n: integer;<br />Begin<br /> Readln (s);<br /> S := 3* (s div 10);<br /> N := 1;<br /> While s&lt; 221 do begin<br /> S := s + 13;<br /> N := n * 2<br /> End;<br /> Writeln (n)<br />End.

Определите, сколько существует различных целых значений переменной s, при вводе которых данная программа выведет число 128. Для Вашего удобства программа представлена на четырёх языках программирования

Оформи вопрос нормально, задание напиши, а не мозаику в комментариях, нечего не понятно, что требуется. Твоя программа не работает так как ты пропустил ; в коде о чем тебе и написано внизу.

Ответ
3 (2 оценки)
1
NiNJaG0o 3 года назад
Светило науки - 23 ответа - 0 раз оказано помощи

Ответ:

Существует только одно значение S = 130 при котором эта программа выведет 128

Объяснение:

S линейно возрастает в цикле и никогда не уменьшается, следовательно насколько бы мы не увеличивали количество шагов в цикле вывод программы не измениться, при i = 130 n = 128. Все последующие разы цикл while не выполняется, после i = 221 в данном случае оператор for избыточен, так как становиться s > 221.

Остались вопросы?