Сначала переменные 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.
Следовательно, верно первое из толкований, т.е. первый if ветки с else не имеет. Поэтому значение переменной с не изменится, оставшись равным 12.
ответ: 12
Замечание. А как сделать, чтобы выполнялась логика второй конструкции? Очень просто: использовать блок.
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);
Циклы VBA (ч.1). Команды организации циклов Какие либо действия процедуры повторяющиеся заданное количество раз или пока выполняется или не выполняется некоторое условие называют циклом.
Процесс выполнения все операторов, заключенных в структуру цикла, один раз называется итерацией цикла.
Структуры цикла, всегда выполняющиеся заданное количество раз, называются циклами с фиксированным числом итераций. Другие типы структур цикла повторяются переменное количество раз в зависимости от некоторого набора условий. Такие циклы называются неопределенными циклами.
Блок операторов, находящийся между началом и концом цикла называется "тело цикла".
Самой простой структурой цикла является фиксированный цикл.
Значением условного выражения (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.
Следовательно, верно первое из толкований, т.е. первый if ветки с else не имеет. Поэтому значение переменной с не изменится, оставшись равным 12.
ответ: 12
Замечание.
А как сделать, чтобы выполнялась логика второй конструкции? Очень просто: использовать блок.
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);
Какие либо действия процедуры повторяющиеся заданное количество раз или пока выполняется или не выполняется некоторое условие называют циклом.
Процесс выполнения все операторов, заключенных в структуру цикла, один раз называется итерацией цикла.
Структуры цикла, всегда выполняющиеся заданное количество раз, называются циклами с фиксированным числом итераций. Другие типы структур цикла повторяются переменное количество раз в зависимости от некоторого набора условий. Такие циклы называются неопределенными циклами.
Блок операторов, находящийся между началом и концом цикла называется "тело цикла".
Самой простой структурой цикла является фиксированный цикл.