alarm
Задайте вопрос
Информатика
Olaf

3. Виправте помилки у програміДрук простих чиселconst LIMIT = 500;var i,j, lim: word; beginwriteln;for i:=1 to LIMIT do beginj:=2; lim:=round(sqrt(i));while (i modj <> 0) and (i <= lim) do inc(i);if (i > lim) then write(i,'');endendВисновок:

ответы: 1
Зарегистрируйтесь, чтобы добавить ответ
Ответ:

1. Ошибка синтаксиса: пропущен пробел между mod и j в строке while (i modj <> 0) and (i <= lim) do inc(i);

2. В цикле for не допустимо присваивание переменной счетчика. В данном случае в циклу for i:=1 to LIMIT происходит увеличение переменной на 1: Inc(i)

3. Логическая ошибка. В цикле while надо перебирать делители от числа 2 до lim. Поэтому второе условие (i<=lim) должно быть записано так: (j<=lim). И увеличение переменной же j: Вместо Inc(i) должно быть Inc(j)

4. Неверное условие if (i > lim) необходимо заменить на if (j > lim)

5. В операторе печати надо указать разделитель пробел: write(i, '_');

6. Ошибка синтаксиса: пропущена точка после последнего end.

В итоге программа примет вид:

program test;

const LIMIT = 500;

var i,j, lim: word;

begin

writeln;

for i:=1 to LIMIT do begin

j:=2;

lim:=round(sqrt(i));

while (i mod j <> 0) and (j <= lim) do inc(j);

if (j > lim) then write(i,' ');

end;

writeln

end.

Результат выполнения программы:

382
Ivan
Чтобы ответить необходимо зарегистрироваться.

Другие вопросы: - Информатика

посчитайте.НАПИСАТЬ ПРОГРАММУ ДЛ

как решить z/=2что означает дейс

Ниже приведены запросы к поисков

, В таблице приведены запро

посчитайте Python задания не с

с ++ Симметричная последовательн

Контакты
Реклама на сайте