
Какое значение будет принимать переменная Y после выполнения фрагментов программы? a) Var Y, X:
integer; Begin Y: = 1; X: = 12; Repeat Y: = Y*X; X: = X – 2; Until X<7; Writeln (‘Y=’,Y); End. б) Var Y, X: integer; Begin Y: = 1; X: = 16; Repeat Y: = X*X; X: = X – 4; Until X<=0; Writeln (‘Y=’,Y); End. 2) Определить значение переменной у после выполнения фрагмента следующей программы: Var y:real; i:integer; begin y:= 1; i:= 2; repeat i:=3*i; y:=y+i until i > 7; Writeln ('y=',y); End.

Ответы на вопрос

правильный ответ b
........................



Давайте анализировать каждый из фрагментов программы по очереди:
- Фрагмент программы a)
pascalVar Y, X: integer; Begin Y := 1; X := 12; Repeat Y := Y * X; X := X - 2; Until X < 7; Writeln('Y=', Y); End.
Начальные значения:
- Y = 1
- X = 12
В цикле Repeat...Until выполняется умножение Y на X и вычитание 2 из X до тех пор, пока X не станет меньше 7. В этом случае Y будет равно произведению всех значений X в процессе выполнения цикла:
- Первая итерация: Y = 1 * 12 = 12, X = 12 - 2 = 10
- Вторая итерация: Y = 12 * 10 = 120, X = 10 - 2 = 8
- Третья итерация: Y = 120 * 8 = 960, X = 8 - 2 = 6
На этом этапе X стало равным 6, что меньше 7, и цикл завершился.
Теперь Y содержит значение 960, и это значение будет выведено на экране: "Y=960".
- Фрагмент программы б)
pascalVar Y, X: integer; Begin Y := 1; X := 16; Repeat Y := X * X; X := X - 4; Until X <= 0; Writeln('Y=', Y); End.
Начальные значения:
- Y = 1
- X = 16
В цикле Repeat...Until выполняется умножение Y на квадрат X и вычитание 4 из X до тех пор, пока X не станет меньше или равным 0. В этом случае Y будет равно квадрату X на каждой итерации:
- Первая итерация: Y = 16 * 16 = 256, X = 16 - 4 = 12
- Вторая итерация: Y = 12 * 12 = 144, X = 12 - 4 = 8
- Третья итерация: Y = 8 * 8 = 64, X = 8 - 4 = 4
- Четвёртая и последняя итерация: Y = 4 * 4 = 16, X = 4 - 4 = 0
Цикл завершается, так как X стало равным 0.
Теперь Y содержит значение 16, и это значение будет выведено на экране: "Y=16".
- Фрагмент программы с)
pascalVar Y: real; i: integer; begin Y := 1; i := 2; repeat i := 3 * i; Y := Y + i; until i > 7; Writeln('Y=', Y); end.
Начальные значения:
- Y = 1
- i = 2
В цикле Repeat...Until выполняется умножение i на 3 и добавление результата к Y до тех пор, пока i не станет больше 7. В этом случае Y будет равно сумме всех значений i в процессе выполнения цикла:
- Первая итерация: i = 3 * 2 = 6, Y = 1 + 6 = 7
- Вторая итерация: i = 3 * 6 = 18, Y = 7 + 18 = 25
- Третья итерация: i = 3 * 18 = 54, Y = 25 + 54 = 79
На этом этапе i стало равным 54, что больше 7, и цикл завершился.
Теперь Y содержит значение 79, и это значение будет выведено на экране: "Y=79".


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili