Проанализируйте работу программы. program math; var x, y: integer; begin x:=1; y:=1;...

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

Проанализируйте работу программы.
program math;
var x, y: integer;
begin
x:=1;
y:=1;
while x<5 do <br> begin
y:=y*2;
x:=x+1
end;
end.
Ответьте на вопросы:
1) Сколько раз исполнится тело цикла?
2) Какое значение примет х после завершения программы?
3) Какое значение примет у после завершения программы?
4) Сколько раз исполнится тело цикла, если изменить условие на x<=5 ?<br> 5) Сколько раз исполн. тело цикла, если изменить условие на x>=5 ?
6) Сколько раз исполн. тело цикла, если изменить услов. на x>0 ?
7) Что произойдёт, если из тела цикла убрать команду x:=x+1 ?
8) Сколько раз исполн. тело цикла, если измен. команду x:=x+1 на x:=x+2 ?
9) Сколько раз исполнится тело цикла, если измен. команду x:=x+1 на x:=x-1 ?


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

X увеличивается в цикле с 1 до 4, каждый раз на 1.
y каждый раз увеличивается в 2 раза, начиная с 1 и до 2^4 = 16.
1) Тело цикла исполнится 4 раза.
2) x примет значение 5.
3) y примет значение 16.
4) Если написать x <= 5, то тело цикла исполнится 5 раз.<br>На выходе будет x = 6, y = 32.
5) Если написать x >= 5, то тело цикла не будет исполнено ни разу, потому что условие сразу не выполняется.
6) Если написать x > 0, то программа зациклится. Цикл будет исполняться бесконечно, потому что x всегда > 0.
7) Если убрать команду x:=x+1, то программа тоже зациклится. Выхода не будет, потому что x всегда остается равным 1 < 5.
8) Если написать команду x:=x+2, то тело цикла исполнится 2 раза:
при x := 1 и при x := 3. На третий раз станет x = 5 и будет выход из цикла.
9) Если написать команду x:=x-1, то программа зациклится. Выхода не будет, потому что x будет уменьшаться и всегда останется < 5.


(320k баллов)