Решение задач. День седьмой. Задачи Integer21-25


integer21-25

Мы снова решаем задачи. На этот раз всего лишь  Integer21-25.

Integer21. С начала суток прошло N секунд (N — целое). Найти количество секунд, прошедших с начала последней минуты.

Program Integer_21;

var n, sec: integer;

begin
  write('Введите количество секунд N: ');
  readln(n);
  sec := n mod 60;
  writeln('Количество секунд, прошедших с начала последней минуты: ', sec);
end.

Integer22. С начала суток прошло N секунд (N — целое). Найти количество секунд, прошедших с начала последнего часа.

Program Integer_22;

var n, sec: integer;

begin
  write('Введите количество секунд N: ');
  readln(n);
  sec := n mod 3600;
  writeln('Количество секунд, прошедших с начала последнего часа: ', sec);
end.

Integer23. С начала суток прошло N секунд (N — целое). Найти количество полных минут, прошедших с начала последнего часа.

Program Integer_23;

var n, min: integer;

begin
  write('Введите количество секунд N: ');
  readln(n);
  min := n mod 3600 div 60;
  writeln('Количество полных минут, прошедших с начала последнего часа: ', min);
end.

Integer24. Дни недели пронумерованы следующим образом: 0 — воскресенье, 1 — понедельник, 2 — вторник, …, 6 — суббота. Дано целое число K, лежащее в диапазоне 1–365. Определить номер дня недели для K-го дня года, если известно, что в этом году 1 января было понедельником.

Program Integer_24;

var k, number: integer;

begin
  write('Введите день года: ');
  readln(k);
  number := k mod 7;
  writeln('Номер дня недели: ', number);
end.

Integer25. Дни недели пронумерованы следующим образом: 0 — воскресенье, 1 — понедельник, 2 — вторник, …, 6 — суббота. Дано целое число K, лежащее в диапазоне 1–365. Определить номер дня недели для K-го дня года, если известно, что в этом году 1 января было четвергом.

Program Integer_25;

var k, number: integer;

begin
  write('Введите день года: ');
  readln(k);
  number:= (k+3) mod 7;
  writeln('Номер дня недели: ', number);
end.
  1. Большое спасибо!
    Кстати, правильный ли это вариант решения 4-ой задачи?

    readln(date_n);
    writeln((date_n+4) div 7);

  2. Подскажите как работает mod. Я уже все мозги сломал. Я понимаю что div работает с целой частью числа, а mod c остатком, тогда каким образом получается, что 20/7=2,85;
    а 20 mod 7=6.
    20 div 7 =2; тут все ясно. число просто делится 20 на 7 и выводится число без остатка, но как получается с mod,вообще не представляю, ибо для того что бы вывести 8 из 20 div 7; используется 20 mod 10.
    В общем помогите пожалуйста, ибо температура кипения мозга сравнялась с температурой горения солнца.

  3. Mod работает очень просто. Ваш пример: 20 mod 7 = 6. Mod делит число (или цифру) — делимое НАЦЕЛО на заданное число, являющееся делителем. То, что не делится на делитель, является остатком. Mod и выводит этот остаток от деления. В вашем примере делитель — 7, делимое — 20, остаток от деления — 6. Mod делит 20 на 7, получается 2, в остатке 6. Этот остаток (в данном случае — 6) и выводит mod. Если будет не 20, а 21 то выражение 21 mod 7 будет равным 0, так как 21 делится на 7 без остатка. Mod выводит остаток от деления. Калькулятор же делит 20 на 7, получает 2, в остатке 6, но он и 6 делит на 7, получает 0,85714285714285714285714285714286 и плюсует это к 2, выводя округлённо 2, 86.
    Для примера:
    2 mod 7 = 0, так как 2 не делится нацело на 7, значит и является остатком в данном случае;
    7 mod 7 = 0;
    25 mod 4 = 1;
    70 mod 9 = 7.
    Надеюсь, понятно объяснил.

  4. ОГРОМНОЕ человеческое спасибо, теперь, благодаря вам я наконец-то смогу успокоиться !!!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *