Для решения этого фрагмента программы следует знать принцип действия нескольких функций и операторов языка программирования Паскаль, а именно:
- если (условие) правильно – выполняются операторы программы, стоящие за ключевым словом then;
- если (условие) неверно – выполняются операторы программы, стоящие за ключевым словом else.
Результатом выполнения функции div будет целое число без дробной части, которую компьютер просто отбросит, за ненадобностью.
Например: 10/2=5,
10/3=3,33,
10/4=2,5,
однако, если воспользоваться функцией div, получится следующее:
10 div 2=5, 10 div 3=3, 10 div 4=2.
Для функции же mod, процесс деления числа 10 на 3 удобнее представить следующим образом: 10/3=(9+1)/3 – как видно из данной записи, число 10 – это сумма чисел 9 и 1.
Поскольку 9 делится на 3 без остатка, а единица нацело на тройку не делится, то компьютер, при выполнении 10 mod 3 отбросит девятку за ненадобностью, и выдаст в качестве ответа число 1 – остаток от делимого, который целочисленному делению не подлежит.
Например, воспользовавшись функцией mod, получим: 10 mod 2=0, как и 10 mod 5=0, а 10 mod 4=2 (поскольку 10=8+2, из которых 8 делится на 4 без остатка, а двойка на четыре нацело не делится).
Условный фрагмент программы, указанный в задании:
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)
переводится на русский язык так:
значение переменной а равно 125;
значение переменной b равно 25;
значение переменной с равно 12;
если целочисленное деление числа 125 на число 25 даст 0 (а это неверно: 125/25=5)
тогда
если остаток от деления 125 на 12 будет 0 (а это неверно: 125 mod 12=5)
тогда значение переменной с станет равным:
25 целочисленно делить на остаток от деления числа 125 на 12.
То есть с:= 25 div 5 (значит переменная с получит значение 5)
иначе переменная с получит значение:
125 целочисленно делить на остаток от деления числа 25 на 12.
То есть с:=125 div 1 будет равно 125.
Правильный ответ: 4) 125.