Решение: Вычисление значений переменных
Определите значение целочисленных переменных $a$ и $b$ после выполнения фрагмента программы.
| Бейсик | Паскаль | Алгоритмический язык |
|---|---|---|
| a = 2599 b = (a MOD 10)*1000+26 a = (b\10) MOD 100 | a:=2599; b:= (a mod 10)*1000+26; a:= (b div 10) mod 100; | a:= 2599 b:= mod(a,10)*1000+26 a:= mod(div(b,10),100) |
| MOD и \ — операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно | div и mod — операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно | div и mod — функции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно |
Решение по шагам
3 шагаИзначально $a = 2599$. Остаток от деления $a$ на $10$ равен $9$.
$$2599 \bmod 10 = 9$$Вычисляем значение переменной $b$.
$$b = 9 \cdot 1000 + 26 = 9026$$Затем выполняется целочисленное деление $b$ на $10$, после чего берётся остаток от деления результата на $100$.
$$a = (9026 \operatorname{div} 10) \bmod 100 = 902 \bmod 100 = 2$$$a = 2$, $b = 9026$; вариант 2
Где здесь ошибаются
Путать остаток от деления с результатом целочисленного деления.
Вычислить $a = 902$ и не выполнить последнюю операцию $\bmod 100$.
Ошибочно считать, что $2599 \bmod 10 = 99$.