Вопрос задан 02.09.2026 в 11:16. Предмет Информатика. Спрашивает Melnik Yaroslav.

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. Получилось beginfor, а такого слова в Паскале нет.

Ещё нужна точка с запятой между writeln(i) и break:

writeln(i);
break;

Исправленный вариант по смыслу:

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.

Такая программа должна вывести 130.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос