В данном фрагменте никаких ошибок нет, все правила написания кода соблюдены, на экран выведутся числа от 2 до 20(каждое на новой строке)
2.
for i := 2 to 20 do
i := i + 1;
В очень древних реализациях Паскаля такой фрагмент заработает, но если обращаться к более современным версиям, то мы не сможем изменить переменную из заголовка цикла в теле цикла и получим ошибку.
3.
for i := 2 to 20 do
readln(i);
Этот фрагмент тоже даст ошибку, потому что переменная i уже объявлена в заголовке, а в теле цикла мы пытаемся ей задать значение с клавиатуры.
4.
for i := 2 to 20 do
A := i * i;
Этот фрагмент не вызовет ошибок, если переменная "A" у нас будет объявлена, каждый проход цикла мы будем переменной A присваивать значение . По сути, такая реализация не имеет смысла, потому что в конце мы получим просто значение A = , так как каждый проход значение заменяется следующим.
Answers & Comments
1.
for i := 2 to 20 do
writeln(i);
В данном фрагменте никаких ошибок нет, все правила написания кода соблюдены, на экран выведутся числа от 2 до 20(каждое на новой строке)
2.
for i := 2 to 20 do
i := i + 1;
В очень древних реализациях Паскаля такой фрагмент заработает, но если обращаться к более современным версиям, то мы не сможем изменить переменную из заголовка цикла в теле цикла и получим ошибку.
3.
for i := 2 to 20 do
readln(i);
Этот фрагмент тоже даст ошибку, потому что переменная i уже объявлена в заголовке, а в теле цикла мы пытаемся ей задать значение с клавиатуры.
4.
for i := 2 to 20 do
A := i * i;
Этот фрагмент не вызовет ошибок, если переменная "A" у нас будет объявлена, каждый проход цикла мы будем переменной A присваивать значение . По сути, такая реализация не имеет смысла, потому что в конце мы получим просто значение A = , так как каждый проход значение заменяется следующим.