Мы снова решаем задачи. На этот раз всего лишь 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.
Большое спасибо!
Кстати, правильный ли это вариант решения 4-ой задачи?
readln(date_n);
writeln((date_n+4) div 7);
Скажите, а почему нет решений задач Intager 26-30?
Сил не хватило решить
Подскажите как работает 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.
В общем помогите пожалуйста, ибо температура кипения мозга сравнялась с температурой горения солнца.
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.
Надеюсь, понятно объяснил.
Извините, описался, 2 mod 7 = 2
ОГРОМНОЕ человеческое спасибо, теперь, благодаря вам я наконец-то смогу успокоиться !!!