• Чему будет равно значение с переменной c в результате выполнения фрагмента программы a:=125; b:=25 ; c:=12; if a div

Ответы 2

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

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

    • Автор:

      stevenson
    • 4 года назад
    • 0
  • Чтобы узнать, какой будет правильный ответ из предложенных четырех ответов, можно составить программу решения этой задачи на языке программирования Pascal ABC. Эта программа будет иметь вид:program zadacha;uses crt;var a,b,c,d: integer;begina:=125; b:=25 ; c:=12;if a div 25=0 thenif 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.
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years