Допустим что тело цикла должно содержать два оператора. Какие из приведенных операторов...

0 голосов
76 просмотров

Допустим что тело цикла должно содержать два оператора. Какие из приведенных операторов правильные, какие нет и почему?
a) for i:=12 to 15 do s:=s+i;

б) for a:=30 to 20 do
if a mod 3=0 then d:=d+1;

c) for x:=1 to 20 do s:=s+x;
if (xmod 2=0) or (x mod 3=0)
then d:=d+1;


Информатика (74 баллов) | 76 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Они все "неправильные", потому что в каждом из вариантов тело цикла содержит один оператор. В случаях а) и с) это оператор присваивания, в случае б) - условный оператор. Если бы тело цикла содержало более одного оператора, то по правилам языка Паскаль, эти операторы заключались бы в операторные скобки begin... end.

Подозреваю, что правильный ответ должен быть б), но дело в том, что оператор присваивания d:=d+1 принадлежит не телу цикла, а условному оператору, находящемуся в теле цикла, а для цикла оператор один - условный.

(142k баллов)