Каким будут значение переменных j,k после выполнения условного оператора: if j>k then j:=k-2 else...

Тематика Информатика
Уровень 5 - 9 классы
программирование условный оператор переменные алгоритмы Pascal if then else вычисления
0

Каким будут значение переменных j,k после выполнения условного оператора: if j>k then j:=k-2 else k:=k-2 if j>k then j:k-2 else dec (k,2); а) j=3, k=5 б)j=3, k=3 в)j=3, k=2 ?

avatar
задан месяц назад

2 Ответа

0

После выполнения условного оператора значение переменных j и k будет следующим:

a) j=1, k=3 b) j=1, k=3 c) j=1, k=0

Пояснение:

  • При условии j>k (j=3, k=5), выполняется вторая часть условного оператора: j:=k-2, что приводит к j=3-2=1.
  • При условии j>k (j=1, k=3), выполняется вторая часть условного оператора: j:=k-2, что приводит к j=3-2=1.
  • При условии j>k (j=1, k=1), выполняется вторая часть условного оператора: dec(k,2), что приводит к k=1-2=-1, что не имеет смысла, поэтому значение k останется равным 0.

Таким образом, правильный ответ: а) j=1, k=3; б) j=1, k=3; в) j=1, k=0.

avatar
ответил месяц назад
0

Давайте разберем условный оператор и его выполнение для каждого из заданных случаев.

Оператор, который мы анализируем, выглядит следующим образом:

if j > k then
    j := k - 2
else
    k := k - 2;

if j > k then
    j := k - 2
else
    dec(k, 2);

Для каждого случая определим значения j и k после выполнения этих операторов.

а) j = 3, k = 5

  1. Первый условный оператор: if j > k then j := k - 2 else k := k - 2;

    • Здесь j = 3 и k = 5. Поскольку j не больше k, выполняется else-ветка: k := k - 2, то есть k = 5 - 2 = 3.
  2. Второй условный оператор: if j > k then j := k - 2 else dec(k, 2);

    • Теперь j = 3 и k = 3. Поскольку j не больше k, опять выполняется else-ветка: dec(k, 2), что означает уменьшение k на 2. Таким образом, k = 3 - 2 = 1.

Итоговые значения: j = 3, k = 1.

б) j = 3, k = 3

  1. Первый условный оператор: if j > k then j := k - 2 else k := k - 2;

    • Здесь j = 3 и k = 3. Поскольку j не больше k, выполняется else-ветка: k := k - 2, то есть k = 3 - 2 = 1.
  2. Второй условный оператор: if j > k then j := k - 2 else dec(k, 2);

    • Теперь j = 3 и k = 1. Поскольку j больше k, выполняется then-ветка: j := k - 2, что означает j = 1 - 2 = -1.

Итоговые значения: j = -1, k = 1.

в) j = 3, k = 2

  1. Первый условный оператор: if j > k then j := k - 2 else k := k - 2;

    • Здесь j = 3 и k = 2. Поскольку j больше k, выполняется then-ветка: j := k - 2, то есть j = 2 - 2 = 0.
  2. Второй условный оператор: if j > k then j := k - 2 else dec(k, 2);

    • Теперь j = 0 и k = 2. Поскольку j не больше k, выполняется else-ветка: dec(k, 2), что означает уменьшение k на 2. Таким образом, k = 2 - 2 = 0.

Итоговые значения: j = 0, k = 0.

Таким образом, итоговые значения переменных j и k после выполнения условного оператора для каждого случая будут:

а) j = 3, k = 1

б) j = -1, k = 1

в) j = 0, k = 0

avatar
ответил месяц назад

Ваш ответ

Вопросы по теме