Какими значениями будут равны переменные c и d после выполнения указанного фрагмента программы? c: =10; a: =46

  • 16
Какими значениями будут равны переменные c и d после выполнения указанного фрагмента программы? c: =10; a: =46; b: =7; d: =a; while d> =b do begin c: =c-1; d: =d-2*b; end; a) 6; -2; b) 7; 4; c) 7; -1; d) 9; 2; e)
Лёха
43
Чтобы решить данную задачу, нам нужно последовательно выполнить указанный фрагмент программы и отслеживать значения переменных c и d.

Итак, у нас есть следующий фрагмент программы:

c := 10;
a := 46;
b := 7;
d := a;
while d >= b do begin
c := c - 1;
d := d - 2 * b;
end;

Первоначально, устанавливаем значения переменных:
c = 10,
a = 46,
b = 7,
d = a.

Затем мы входим в цикл while и проверяем условие d >= b, то есть 46 >= 7 - это верно.

Во время первой итерации цикла:
c присваивается новое значение: c = 10 - 1 = 9,
d присваивается новое значение: d = 46 - 2 * 7 = 46 - 14 = 32.

Условие цикла второй раз проверяется: 32 >= 7 - это также верно.

Во время второй итерации цикла:
c присваивается новое значение: c = 9 - 1 = 8,
d присваивается новое значение: d = 32 - 2 * 7 = 32 - 14 = 18.

Поскольку условие цикла (d >= b) по-прежнему выполняется, мы продолжаем итерации.

В третий раз:
c присваивается новое значение: c = 8 - 1 = 7,
d присваивается новое значение: d = 18 - 2 * 7 = 18 - 14 = 4.

На этом этапе условие цикла (4 >= 7) больше не выполняется, поэтому мы завершаем цикл и продолжаем выполнение программы.

Таким образом, после выполнения указанного фрагмента программы значением переменной c будет 7, а значением переменной d будет 4.

Ответ: b) 7; 4.