Чему будет одинаково значение с переменной 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
Задать свой вопросprogram zadacha;
uses crt;
var a,b,c,d: integer;
begin
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);
writeln (c=, ,c);
end.
В нашем случае наружная команда If употребляется в неполной форме (отсутствует ветвь else). Сообразно правилу работы команды If неполной формы, для данных значений a, b и c условие a div 25=0 не будет выполняться, т.е. будет ошибочным, потому что a div 25=5. Это означает, что все команды после служебного слова then (а это команды if a mod 12=0 then c:=b div (a mod c) else c:=a div (b mod c);) производиться не будут. Отсюда можно сделать вывод, что в процессе выполнения программки значение числа c не поменяется, т. е. остается одинаковым 12. Таким образом, ответом к данной задачке будет число под цифрой 3). Число с будет одинаково 12.
Для решения этого фрагмента программки следует знать принцип деяния нескольких функций и операторов языка программирования Паскаль, а конкретно:
- функция div означает целочисленное дробленье;
- функция mod отдаёт остаток от дробленья;
- Ветки оператора if (условие) then else ; производятся так:
- если (условие) верно выполняются операторы программки, стоящие за ключевым словом then;
- если (условие) ошибочно производятся операторы программки, стоящие за главным словом else.
Образцы использования функций div и mod
Результатом исполненья функции 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.
-
Вопросы ответы
Статьи
Информатика
Статьи
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.
Математика.
Химия.
Русский язык.
Разные вопросы.