В Паскале над переменными типа integer есть операции div и mod :
A div b – целочисленное деление числа a на число b , дробная часть при этом отбрасывается
Результат деления меньшего числа на большее =0
A mod b – получение остатка от целочисленного деления a на число b .
Результат деления меньшего числа на большее = меньшему числу
Например:
4 9 div 1 0 = 4
4 9 div 5 = 9
53 div 5 =
39 div 6 =
1 6 div 7 =
345 div 1 0 =
1 234 div 1 000 =
44 div 1 000 =
1 23 div 500 =
1 5 mod 2 = 1
3 1 mod 17 =
1 8 mod 3 =
24 5 mod 1 0 =
1 243 mod 1 00 =
1 5 mod 7=
44 1 3 mod 1 0 =
45 mod 1 00 =
36 mod 1 00 =
Var a,b,c: integer; begin a:=2+20 mod 3; b:=2+19 mod 3; c:= 2+ 18 mod 3; writeln(‘a=‘,a,’b=‘,b,’c=‘,c); end.
A=4
B=3
C=2
Использование mod при решении задач
- Определить является ли число а, введённое с клавиатуры чётным?
Var a:integer; begin readln(a); if a mod 2=0 then writeln(‘ введённое число а – чётное ’) end.
Какое условие надо проверить , чтобы узнать делится ли нацело число а на число b ?
Чтобы узнать делится ли число а на число b без остатка надо проверить условие a mod b=0
Использование mod при решении задач
- Узнать оканчивается ли число введённое с клавиатуры на 7?
Var a:integer; begin readln(a); if a mod 10=7 then writeln (‘ число оканчивается на 7 ’) else writeln(‘ на 7 число не оканчивается ’) end.
Действие a mod 10 позволяет находить последнюю цифру в любом целом числе.
Использование оператора div при решении задач
- Выяснить, является ли трёхзначное число введённое с клавиатуры палиндромом.
(палиндром это выражение которое читается одинаково как слева направо так и наоборот)
Введём обозначения: а- трёхзначное число, введённое с клавиатуры а1 - число сотен а3 – число единиц
Var a,a1,a3:integer; begin writeln(‘ введи трёхзначное число ’); readln(a); a1:=a div 100; a3:= a mod 10; if a1=a3 then writeln(‘ палиндром ’) else writeln(‘ не палиндром ’); end.
Задачи для самостоятельного решения
- Найти разность между трехзначным числом и числом, составленным из тех же цифр, но взятых в обратном порядке.
- В четырёхзначном числе найти сумму первых двух цифр этого числа и сумму двух последних цифр этого числа. Равны ли эти суммы, выдать соответствующие сообщения.