Как найти mod информатика

Что такое операции mod и div в Pascal? чем заключается вопрос: Что такое операции mod и div в языке Pascal. Как с нами работать?

Сложность : легкая .

Постараюсь быть краток, сразу стоит сказать что эти операции работают только с целыми числами, т.е. integer и т.д.
Сначала
операция div:
Эта операция используется для того чтобы найти целую часть от деления, как это понять? Допустим у нас есть код:

123456var n : integer;begin n := 12; n := n div 10;end.

n у нас будет равно 1. Почему? Как я и сказал div ищет целую часть от деления, т.е. у нас делится 12 на 10, это будет равно 1.2. Целая часть от деления равна 1. Вот это и делает операция div, если допустим 12 div 2, ответ 6.0, целая часть уже равна 6. Т.е. мы как бы делим 12 на 10, но в ответ записывается только целая часть от деления.

Дальше операция mod:
Эта операция уже ищет остаток от деления. Не думайте что это дробная часть, 
НЕ ПУТАЙТЕ!

Допустим есть код:

123456var n : integer;begin n := 12; n := n mod 10;end.

Тут остаток от деления равен 2. Другой пример, допустим следующее :
Тут остаток от деления равен 2. Другой пример, допустим следующее :
Эти операции в основном используются для того чтобы разбить например трехзначное число на цифры, давайте маленький пример, допустим есть число 123:
Эти операции в основном используются для того чтобы разбить например трехзначное число на цифры, давайте маленький пример, допустим есть число 123:

12345var a , b , c : integer;begin end.

Обычно начинают искать с последний цифры, у нас это 3. Чтобы её оторвать надо сделать следующее:

1a := 123 mod 10;

Т.е. мы 123 делим на 10, ответ 12.3 , а остаток равен 3. Первая цифра есть. Дальше 2. Тут делается так, сначала убирается последняя цифра, т.е. 3, с помощью div, а потом с помощью mod ищем 2-ую цифру:

1b := 123 div 10 mod 10;

Т.е. сначала у нас из-за div будет 12, а потом с помощью mod у нас появится 2. Ну а последнюю цифру можно найти так:

1c := 123 div 100;

Вот как то так. Может вы сразу не поймете, но тут надо немного по практиковаться. Удачи! Спасибо за внимание!



Знаток

(325),
закрыт



11 лет назад

Елена Семенцова

Знаток

(261)


11 лет назад

div – это Целая часть от делания a на b
mod – это Остаток от деления a на b
примеры: 19/5= 3,8
19 div 5 : 3 (19 делим на 5 и пишем в ответ целую часть, то что с лева от запятой, то есть 3)
19 mod 5 : 8 (19 делим на 5 и пишем в ответ остаток, то что с права от запятой)
удачи вам в изучении информатики)))

аня

Знаток

(411)


11 лет назад

див и мод это деление.
если ставят див, то ответ дается в виде полного числа. ну, например, нужно 17 поделить на 5. ставим див – ответ будет 3.
а мод, это когда ответ дается в виде остатка от полученного числа – 17:5=2
мод чаще применяется в элементарных циклах, где нужно четные числа отделить от нечетных – с помощью мод выявляется, дает ли цифра остаток при делении на два.

Хангелди Шарипбай

Ученик

(105)


6 лет назад

20 mod 25 = 20
Делишь 20 на 25, получается 0,8. Из этого числа берем целое число, т. е. 0 и умножаем его на 25. Получится 0. 20-0=20 Это и есть остаток от целочисленного деления.

Гаджимурад Абдулпатахов

Знаток

(253)


3 года назад

Елена Семенцева ответила неправильно!!!! Она написала :
“19 mod 5 : 8 (19 делим на 5 и пишем в ответ остаток, то что с права от запятой)”
Там должно быть не 8, а 4 так как остаток от деления – это не число которое после запятой. в данном случае остаток от деления 4!!!!

Артем Новожилов

Ученик

(135)


1 месяц назад

Лучший ответ с ошибкой в операции mod!:
19 mod 5: 4, а не 8
19/5 = эта есть дробь: три целых и четыре восьмых.
по другому это можно понять как:
(15/5) + (4/5). 15/5 – это целая часть, а 4/5 – это после запятой и вот это числов в числители и есть результат mod

Блок-схема

Так как в воскресенье на сайте открывается новая рубрика — решение задач,  мы с вами должны по-быстрому изучить основную часть математических операций, функций и процедур.

Давайте разберемся, что такое функция и процедура. Это подпрограмма — часть программы, выполняющая определенный алгоритм и допускающая обращение к ней из различных частей общей программы. В чем же разница между процедурой и функцией?

Процедуры — мини-программы.

Процедуры используются в случаях, когда в подпрограмме необходимо получить несколько результатов. Из картинки, расположенной ниже вы видите, как работает процедура. Входных данных может не быть вовсе, а может быть сто.

20131220-004613.jpg

Например, программист хочет в своем суперкоде между блоками выходящих значений прописывать 20 амперсандов. Чтобы облегчить себе задачу, он напишет простую подпрограмму.

program superpuper;
var очень много буковок; 
procedure ampersand; 
begin 
write('&&&&&&&&&&&&&&&&&&&&'); 
end;
begin 
суперсложный код;
ampersand; 
суперсложный код;
ampersand; 
суперсложный код; 
ampersand; 
суперсложный код; 
ampersand; 
end.

Функции в Паскале — мега переменные.

Функции отличается от процедуры тем, что после выполнения функции на ее месте в коде ставится одно число, буква, строка и т.д. Набор встроенных функций в языке Паскаль достаточно широк. Например, для того, чтобы подсчитать квадрат числа можно воспользоваться стандартной функцией sqr(x). Как вы, наверное, уже поняли sqr(x) требует лишь один фактический параметр — число.

Пример: a:=sqr(4).

Обратите внимание! Функции необходимо присваивать! Просто написав их в тексте программы, как процедуры, вы ничего не добьетесь!

Структура функции представлена на картинке ниже.

20131220-004554.jpg

Если в программу необходимо включить новую уникальную функцию, ее надо описать также, как процедуру. Более подробно о том, как делать собственные процедуры и функции, мы поговорим через 10 уроков. Ниже вы видите таблицу основных стандартных функций и процедур в Паскаль.

Математические функции

Имя Тип аргумента Результат вычисления Пример
Abs(x) Целый или Вещ. Модуль   х Abs(-6) = 6
Sqrt(x) Вещественный Корень из х Sqrt(25)=5
Sqr(x) Целый и Вещ. Квадрат х Sqr(5)=25
Power(x, a) Вещественный Значение ха Power(5,3)=125
Frac(x) Вещественный Дробная часть х Frac(5.67)=0.67
Sin(x) Вещественный Синус х Sin(45)=0.8509
Cos(x) Вещественный Косинус х Cos(45)=0.5253
Arctan(x) Вещественный Арктангенс х Arctan(5)=1.3734
Int(x) Вещественный Целая часть х Int(5.67)=5.0
Random(x) Целый Случайное число (0..х-1) Random(5)=4
Succ(x) Порядковый Следующий Succ(10)=11
Pred(x) Порядковый Предыдущий Pred(‘Z’)=’Y’

Математические процедуры

Inc(x, a) Целый X:=X+A Inc(5)=6
Dec(x, a) Целый X:=X-A Dec(25,20)=5

Преобразование типов

Trunc(x) Вещественный Целая часть х Trunc(5.67)=5
Round(x) Вещественный Округление х до целого Round(5.67)=6
Важно! Если х = 5.5, то результат – 6, а если х = 6.5, то результат тоже 6!?

Очень странная ошибка.

Очень странная ошибка.

Иногда нам требуется найти частное либо же остаток от деления. В такие моменты на помощь нам приходят такие операции, как div и mod. Заметим, что эти операции выполняются только над целыми числами.

Div

Для того, чтобы найти частное от деления, мы используем операцию div.

   Примеры:

  • 25 div 20 = 1;
  • 20 div 25 = 0;
  • 39 div 5 = 7;
  • 158 div 3 = 52.

Mod

Для того, чтобы найти остаток от деления, мы используем операцию mod.

    Примеры:

  • 25 mod 20 = 5;
  • 20 mod 25 = 0;
  • 39 mod 5 = 4;
  • 158 mod 3 = 2.

Чтобы окончательно понять, с чем мы имеем дело, решим следующую задачу:

Задача 1. Найти сумму цифр двухзначного числа.

Так как эта задача очень простая, мы с вами обойдемся блок-схемой и программой.

Блок-схема

Блок-схема
program Sumoftwo;
var Number, Num1, Num2, Sum: integer;
begin
write('Введите двухзначное число: ');
read(Number);  { Возьмем число 25 }
Num1 := Number div 10; { 25 div 10 = 2 }
Num2 := Number mod 10; { 25 mod 10 = 5 }
Sum := Num1 + Num2; { 2 + 5 = 7 }
write('Сумма двух чисел -- ', Sum);
end.

Задача 2. Найти сумму цифр трехзначного числа.

Чуть усложненная версия предыдущей задачи. Самая большая сложность — вторая цифра.

Блок-схема

Приоритет div и mod больше, чем приоритете + и -. Поэтому в данной программе можно обойтись без скобок.
program Sumoftree;
var Number, Sum: integer;
begin
write('Введите трехзначное число: ');
read(Number);  { Возьмем число 255 }
Sum := Number div 100 + Number mod 10 + Number div 10 mod 10; { 255 div 100 + 255 mod 10 + 255 div 10 mod 10 = 12 }
write('Сумма трёх чисел -- ', Sum);
end.

Вот и всё. На следующем уроке мы с вами начнём изучать особенности PascalABC.Net.

Помимо операций умножения и сложения, над целочисленными переменными производятся операции Div (операция целочисленного деления), Mod (вычисление остатка от целочисленного деления), операция вычитания «-».

program number7;
uses crt;
var A,B,C: integer;
begin
clrscr;
A:=17;
B:=3;
C:=A div B;
writeln ('17 div 3 = ',C);
C:=A mod B;
writeln ('17 mod 3 = ',C);
C:=A-B;
writeln ('17-3 =',C);
readln
end.

В строке №8 используется операция Div. Это операция деления нацело, т. е. в результате получится целое число без остатка. Если 17 разделить на 3, то получится 5,66666… Здесь – целое число 5, оно и будет результатом операции div.
Строка №10. Операция Mod вычисляет остаток от целочисленного деления. Если мы разделим 17 на 3, то получится 5 – целое число и 2 – остаток. Таким образом, результатом операции Mod будет число 2
Теперь запишем нашу программу в Паскале и и запустим ее.

div mod

div mod.



Дополнение к материалу.

Правила приоритета при выполнении операций в Паскале.

  • Сначала выполняются действия над переменными, которые стоят в скобках.
  • Затем вычисляются функции.
  • Затем умножение и деление.
  • Затем сложение и вычитание.

Операции, которые имеют одинаковый приоритет (сложение и вычитание, деление и умножение) выполняются слева направо, т.е. в порядке очереди.

13 ноября, 2015 Andrey K

В данной статье мы рассмотрим операторы mod и div, их применение при решении задач. Рассмотрим несколько примеров с решением, а также задачи для самостоятельного выполнения.

Успехов вам в программировании!!!


  • С помощью mod мы получаем остаток от деления числа a на число b.
a:= 21;
b:=8;
s:=21 mod 8;

Переменная s будет равна 5.

  • С помощью оператора div мы получим целую часть от деления числа a на  число b
a:= 21;
b:=8;
s:=21 div 8;

Переменная s будет равна 2.

Использование mod  при решении задач

  • Чаще всего оператор mod используется для определения кратности числа и используется в условии (оператор IF)

Задача: определить, является ли число, введенное с клавиатуры, четным.

Чтобы ответить на этот вопрос нужно поделить число a с помощью mod на 2 (a mod 2) и сравнить это значение с нулем. Условие будет выглядеть так: a mod 2 = 0

var a:integer;
begin
readln(a); // вводим число
if a mod 2 = 0 then writeln('введенное число - четное'); // если условие выполняется - выводим на экран сообщение
end.

Итак, чтобы узнать: делится ли число a на число b без остатка, нужно воспользоваться условием:

Оператор mod

Оператор mod

  • Также оператор mod используется для определения последней цифры числа

Задача:умножить последнюю цифру числа на 10 и результат вывести на экран.

Чтобы поместить последнюю цифру числа a в некоторую переменную необходимо поделить это число с помощью mod на 10. Получим: b:=a mod 10 — в переменной b окажется последняя цифра числа.

var a,b,res:integer;
begin
readln(a);
b:= a mod 10; //присваиваем переменной b последнюю цифру числа a
res:=b*10;  // умножаем b на 10
writeln(res); // выводим результат на экран
end.

Если мы хотим отделить 2-е последние цифры числа, то должны делить с помощью mod на 100; если 3 — на 1000 и т.д.

Чтобы узнать, оканчивается ли число a на цифру b необходимо воспользоваться условием:

amod10

Задача: если введенное с клавиатуры число оканчивается на 5 и делится на 7, то вывести «YES» иначе «NO»

var a:integer;
begin
readln(a);
if (a mod 7 = 0) and (a mod 10 = 5) then writeln('YES') 
                                    else writeln('NO'); 
end.

С помощью рассмотренных условий и цикла со счетчиком можно решить следующую задачу:

посчитать количество чисел, которые кратны 9 и оканчиваются на 5 в диапазоне от 1 до 500

var i, n:integer;
begin
for i:=1 to 500 do
     if (i mod 9 = 0) and (i mod 10 = 5) then n:=n+1;
writeln('Количество чисел = ', n);
end.

Использование оператора div при решении задач

Задача: дано трехзначное число. Выяснить, является ли оно палиндромом («перевертышем»), т.е. таким числом, десятичная запись которого читается одинаково слева направо и справа налево.

Отделить первую цифру числа можно, поделив его с помощью div на 100.

Отделить последнюю цифру можно, поделив его с помощью mod на 10. Вторая цифра нам не нужна для решения задачи, т.к. от нее не зависит, будет ли число палиндромом.

var a, a1, a3:integer;
begin
readln(a);
a1:=a div 100;
a3:= a mod 10;
if a1=a3 then writeln('Число ', a,' является палиндромом');
end.

Задачи для самостоятельного выполнения:

  1. Дано трехзначное число. Определить:
    • является ли сума его цифр двузначным числом
    • является ли произведение его цифр трехзначным числом
    • больше ли числа a произведение его цифр
    • кратна ли пяти сумма его цифр
    • кратна ли сумма его цифр числу a
  2.  Дано четырехзначное число. Определить:
    • равна ли сумма двух первых его цифр сумме двух его последних цифр
    • кратна ли трем сума его цифр
    • кратно ли четырем произведение его цифр
    • кратно ли произведение его цифр числу а

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

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