Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/30: Рейтинг темы: голосов - 30, средняя оценка - 4.80
30 / 16 / 1
Регистрация: 11.04.2010
Сообщений: 534
1

Что такое div и mod

09.04.2015, 14:30. Показов 5815. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу никак понять - div - целое число от деления, а mod - остаток от деления.

Но когда я использовал пример вывести на экран только чётные числа от 0 до 20 используя mod:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Program chet1;
Var
    I,a:=integer;
Begin
    For i:=0 to 20 do
        Begin
            A:=I mod 2;
            If a=0 then
            Write(i);
            Write(‘ ‘);
        End;
Readln
End.
У меня mod сделал операцию прибавления на +2. Но ведь mod - это остаток от деления. Он находит остаток от деления, так как же тогда в моём случае?

Объясните пожалуйста новичку, как работает div b mod.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2015, 14:30
Ответы с готовыми решениями:

вычислить A:= 4*7 mod 5 div 2/3 - trunc(0.724) B:= Abs (round (5/2)-7 div 15+8 mod 9)
A:= 4*7 mod 5 div 2/3 - trunc(0.724) B:= Abs (round (5/2)-7 div 15+8 mod 9)

Что такое div и mod?
Что такое операции div и mod?

Доказать,что число 121,является полиндромом. Через div и mod?
Помогите пожалуйста.

Доказать что число 3535 является полиндромом! Через div и mod.
Помогите,срочно надо

8
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
09.04.2015, 14:34 2
Лучший ответ Сообщение было отмечено Gastello как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Program chet1;
Var
    I,a:integer;
Begin
    For i:=0 to 20 do
        Begin
            A:=I mod 2;
            If a=0 then
            Write(i);
            Write(' ');
        End;
Readln
End.
вот и четные числа:
0 2 4 6 8 10 12 14 16 18 20 все правильно - у остальных(из диапазона 0..20) остаток от деления не равен 0
1
30 / 16 / 1
Регистрация: 11.04.2010
Сообщений: 534
09.04.2015, 14:50  [ТС] 3
Я не могу всё-равно понять, тогда выражение, что в нём делится?

Pascal
1
A:=I mod 2;
и

Pascal
1
2
If a=0 then
            Write(i);
Как правильно понять? Какую роль играет в данной программе переменная A? Так же вопрос, в теле цикла переменная
Pascal
1
i
содержит уже конечный результат или только прохождение первого цикла - 0?

Знаю, вопросы могут показаться глупыми, но может быть так я быстрее пойму.
0
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
09.04.2015, 15:17 4
Лучший ответ Сообщение было отмечено Gastello как решение

Решение

В а- остаток от деления переменной цикла I на 2.
Если а=0 то печатаем переменную i
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,077
Записей в блоге: 1
09.04.2015, 17:44 5
Лучший ответ Сообщение было отмечено Gastello как решение

Решение

Возможно, в таком виде будет проще понять происходящее:
Pascal
1
2
3
4
5
6
7
8
var
  i: Integer;
begin
  for i:=0 to 20 do      { для i от 0 до (включая) 20 }
    if i mod 2 = 0 then  { если остаток от деления i на 2 = 0 }
      Write(i,' ');      { то вывести i и пробел }
  ReadLn;                { ждать нажатия Enter }
end.
1
30 / 16 / 1
Регистрация: 11.04.2010
Сообщений: 534
09.04.2015, 18:34  [ТС] 6
bormant - Да, пример прекрасен и понятен. Единственное не пойму, ведь mod - это остаток от деления? Тогда получается в данном случае он прибавляет на 2 с прохождением каждого цикла до 20, я правильно понял?

Можно мне объяснить механизм деления mod в этом цикле? Что на что он делит? Где делимое, а где делитель?

Добавлено через 30 минут
К примеру:
0 / 2 = 0 (первый цикл - нет остатка)
1 / 2 = 0,5 (второй цикл - остаток (не знаю как записать такой остаток))
2 / 2 = 1 (третий цикл - нет остатка)
3 / 2 = 1 (четвертый цикл - остаток 1)

Это примерно так происходит?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,077
Записей в блоге: 1
09.04.2015, 23:54 7
Да, именно так.

В паскале цикл
for счетчик:=нач_значение to кон_значение do оператор;
выполняется так:
1) вычисляется нач_значение и кон_значение
2) счетчик получает нач_значение
3) если счетчик больше кон_значение, выход из цикла
4) иначе выполняется оператор
5) значение счетчика увеличивается на 1
6) переход к (3)

Для цикла
for счетчик:=нач_значение downto кон_значение do оператор;
отличия в шагах
3) если счетчик меньше кон_значение, выход из цикла
5) значение счетчика уменьшается на 1

Оператор
if условие then оператор;
выполняется просто, если условие истинно, выполняется оператор.

По шагам:
i=0, вычисляется (0 mod 2) -> 0, вычисляется (0=0) -> True, выполняется Write(0,' '),
i=1, вычисляется (1 mod 2) -> 1, вычисляется (1=0) -> False,
i=2, вычисляется (2 mod 2) -> 0, вычисляется (0=0) -> True, выполняется Write(2,' '),
i=3, вычисляется (3 mod 2) -> 1, вычисляется (1=0) -> False
...
i=20, вычисляется (20 mod 2) -> 0, вычисляется (0=0) -> True, выполняется Write(20,' ')

Ну а остаток от деления -- достаточно вспомнить школьное деление в столбик:
19 mod 2, берем 9, 9*2=18, 19-18=1
или
m mod n = m-(m div n)*n
1
2 / 2 / 0
Регистрация: 07.08.2014
Сообщений: 80
12.04.2015, 13:36 8
Mod - остаток от деления.

Div - целое от деления
0
APALoff
12.04.2015, 17:04     Что такое div и mod
  #9

Не по теме:

chopikus, спасибо "Кэп"! Эта информация есть в первой строке первого поста.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2015, 17:04

Div/mod
Помогите пожалуйста! Могу ли я написать программу используя div. a не mod. Дано целое число X....

div, mod
ввести двух значное число.найти младшую,старшую,максимальную цифру числа,сумму цифр и произведение...

Что такое mod?
У меня есть вопрос. Просто у меня есть задание: Используя операции целочисленного деления и...

Что такое mod в с++ ?
что такое mod в с++ и как он работает? например, m=12*17^9 mod 23. (m должно получиться 15)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru