Как записать дату на планете Z в формате, используемом на Земле?
Информатика

На планете Z, год делится на месяцы, где все месяцы имеют M дней. От начала года прошло D дней. Как записать эту дату

На планете Z, год делится на месяцы, где все месяцы имеют M дней. От начала года прошло D дней. Как записать эту дату в формате, используемом на Земле?

9.11 означает, что сейчас идет 9-й день 11-ого года.

Какие операторы программы нужно использовать для решения этой задачи?

Program Ufo;
Var M, D : integer; // Известные данные
month, day: integer; // Найденные данные
Begin
[ Readln / Writeln / Integer] (M, D);
month := [ D mod M / D mod M / D / M ];
day := [ D mod M / D div M / M mod D / M div D];
[ writeln / readln] ( [ day / D / month / M] ,’.’ , [ month / day / D / M] );
End
Верные ответы (1):
  • Zolotoy_Monet
    Zolotoy_Monet
    10
    Показать ответ
    Задача: Как записать дату на планете Z в формате, используемом на Земле?

    Разъяснение:
    Для того чтобы записать дату на планете Z в формате, используемом на Земле, нужно учесть, что на планете Z год делится на месяцы, которые все имеют одинаковое количество дней M. Известно, что с начала года прошло D дней.

    Чтобы решить эту задачу, можно использовать операторы программы, предоставленные в коде:

    1. Считываем значения M и D с помощью команды `Readln`.

    2. Находим номер месяца, используя оператор `D mod M`. Результат этой операции будет остатком от деления числа D на M. Это даст нам номер месяца, в котором находится указанная дата. Результат сохраняем в переменную `month`.

    3. Также находим количество дней, прошедших с начала месяца, используя оператор `D div M`. Результат этой операции представляет собой целую часть от деления числа D на M. Это даст нам номер дня в месяце. Результат сохраняем в переменную `day`.

    4. Выводим значения `day`, ".", и значения `month` в формате "день.месяц", используя команду `Writeln`.

    Таким образом, код программы будет выглядеть следующим образом:


    Program Ufo;
    Var
    M, D: integer; // Известные данные
    month, day: integer; // Найденные данные

    Begin
    Readln(M, D);
    month := D mod M;
    day := D div M;
    Writeln(day, '.', month);
    End


    Пример использования:
    Пусть известно, что на планете Z год делится на 10 месяцев и с начала года прошло 42 дня. Мы можем записать эту дату в формате, используемом на Земле, следующим образом:

    Ввод:

    10 42


    Вывод:

    4.2


    Совет:
    Чтобы лучше понять эту задачу, полезным будет провести небольшой анализ предложенного кода. Обратите внимание на использование операторов модуля (`mod`) и деления (`div`). Они позволяют нам расчитать нужные значения для номера месяца и дня. Обратите внимание на наличие команды `Writeln`, которая выводит результат на экран. Если возникнут вопросы, не стесняйтесь задавать.

    Упражнение:
    На планете Z год делится на 8 месяцев, а с начала года прошло 24 дня. Какая дата будет записана на Земле?
Написать свой ответ: