Анастасия8 лет назад
ПожаловатьсяПожаловаться

Чему будет равно значение с переменной 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

Ответы2

Аватар
Максим8 лет назад
Чтобы узнать, какой будет правильный ответ из предложенных четырех ответов, можно составить программу решения этой задачи на языке программирования Pascal ABC. Эта программа будет иметь вид: 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.
Рекомендации Учи.Ответов
УЧИ.РУ
Разобраться в сложных темах по школьным предметам помогут курсы Учи.ру
Заниматься
Аватар
Людмила8 лет назад

Для решения этого фрагмента программы следует знать принцип действия нескольких функций и операторов языка программирования Паскаль, а именно:

  • функция 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.