Предмет: Информатика,
автор: ebergardtlina
Добрый день! Помогите , пожалуйста! Объясните, как это решается.. Даю 35 баллов)) (Заранее спасибо))
Определите, какое значение будет выведено на экран в результате выполнения приведенной ниже последовательности операторов:
a:=1; b:=1;
while a>=b do b:=b+a; a:=a+1;
write(b*a)
Ответы
Автор ответа:
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.
Похожие вопросы
Предмет: Українська мова,
автор: angelinavisocka2
Предмет: Математика,
автор: liliautsiaputa
Предмет: Русский язык,
автор: Ksykus
Предмет: Литература,
автор: Sonya66684372