Проанализируйте работу программы. program math; var x, y: integer; begin x:=1; y:=1; while x меньше 5 do begin y:=y*2; x:=x+1 end; end. Ответьте на вопросы: 1) Сколько раз исполнится тело цикла? 2) Какое значение примет х ...

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