Чему будет равно значение переменной c в итоге исполнения куска
Чему будет одинаково значение переменной c в итоге
выполнения куска программы
a:=125; b:=25; c:=12; if a div 25=0 then
if a mod 12=0 then c:=b div (a mod c)
else c:=a div (b mod c);
1) 0; 2) 1; 3) 12; 4) 125.
1 ответ
Варвара Зинухина
Сначала переменные a,b,c получат значения.
Значением условного выражения (a div 25) = 0 будет False (ошибочно), так как 125 / 5 = 5, а не 0.
Как следует, в первом условном операторе обязан производиться код в блоке, стоящий после ключевого слова else, если таковое имеется.
Рассмотрим кусок программки, как он записан:
if a div 25=0 then
if a mod 12=0 then c:=b div (a mod c)
else c:=a div (b mod c);
Отступы придумали не взирая: они подсобляют понимать логику программы.
Мы лицезреем ДВА if, ДВА then и только ОДНО else. Какому же if оно сопоставляется?
Иными словами, какая из двух следующих конструкций верная?
if a div 25=0 then
if a mod 12=0 then c:=b div (a mod c) else c:=a div (b mod c);
if a div 25=0 then
if a mod 12=0 then c:=b div (a mod c)
else c:=a div (b mod c);
Правила языка Паскаль просто дозволяют разрешить проблему: ключевое слово else связывается с ближайшим к нему предыдущим if, не имеющим else.
Как следует, верно 1-ое из толкований, т.е. 1-ый if ветки с else не имеет. Потому значение переменной с не поменяется, оставшись одинаковым 12.
Ответ: 12
Замечание.
А как сделать, чтобы производилась логика 2-ой конструкции? Очень просто: использовать блок.
if a div 25=0 then
begin if a mod 12=0 then c:=b div (a mod c) end
else c:=a div (b mod c);
Значением условного выражения (a div 25) = 0 будет False (ошибочно), так как 125 / 5 = 5, а не 0.
Как следует, в первом условном операторе обязан производиться код в блоке, стоящий после ключевого слова else, если таковое имеется.
Рассмотрим кусок программки, как он записан:
if a div 25=0 then
if a mod 12=0 then c:=b div (a mod c)
else c:=a div (b mod c);
Отступы придумали не взирая: они подсобляют понимать логику программы.
Мы лицезреем ДВА if, ДВА then и только ОДНО else. Какому же if оно сопоставляется?
Иными словами, какая из двух следующих конструкций верная?
if a div 25=0 then
if a mod 12=0 then c:=b div (a mod c) else c:=a div (b mod c);
if a div 25=0 then
if a mod 12=0 then c:=b div (a mod c)
else c:=a div (b mod c);
Правила языка Паскаль просто дозволяют разрешить проблему: ключевое слово else связывается с ближайшим к нему предыдущим if, не имеющим else.
Как следует, верно 1-ое из толкований, т.е. 1-ый if ветки с else не имеет. Потому значение переменной с не поменяется, оставшись одинаковым 12.
Ответ: 12
Замечание.
А как сделать, чтобы производилась логика 2-ой конструкции? Очень просто: использовать блок.
if a div 25=0 then
begin if a mod 12=0 then c:=b div (a mod c) end
else c:=a div (b mod c);
Курыкина
Олеся
Столько исправлений: окно непрерывно запирается, теснее два месяца не могут исправить (((
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов