Предмет: Информатика, автор: ebergardtlina

Добрый день! Помогите , пожалуйста! Объясните, как это решается.. Даю 35 баллов)) (Заранее спасибо))


Определите, какое значение будет выведено на экран в результате выполнения приведенной ниже последовательности операторов:
a:=1; b:=1;
while a>=b do b:=b+a; a:=a+1;
write(b*a)

Ответы

Автор ответа: grandflow
0

Ответ:

4

Объяснение:

По шагам.

Задаем значение a=1;

Задаем значение  b=1

Начало цикла

проверяем : a>=b (1 больше или равно 1) да,  выполняем тело цикла b:=b+a (задаем значение b равное 1+1=2)

возвращаемся к проверке, но теперь у нас a=1, b=2

проверяем: a>=b (1 больше или равно 2) нет,  не выполняем тело цикла

цикл завершен,

тот факт что операторы b:=b+a; a:=a+1; написаны на одной строке, ничего не значит, так цикл выполняет либо один оператор либо все операторы, если они сгруппированы операторными скобками, в pascal это begin ... end.

выполняем

a:=a+1 (a=1+1=2)

выводим на экран результат, предварительно умножив a на b (2*2=4)

на экран будет выведено число 4.

Похожие вопросы
Предмет: Математика, автор: liliautsiaputa