Операция деления по модулю: %

Операция деления по модулю: %

     Операция деления по модулю используется в целочисленной арифметикe. Ее результатом является остаток от деления целого числа, стоящего слева от знака операции, на число, расположенное справa от него. Например, 13 % 5 (читается как "13 по модулю 5") имеет значение 3, поскольку справедливо равенство 13 = 2*5 + 3.

     Не пытайтесь производить данную операцию над числами с плавающей точкой она просто не будет выполняться.

     На первый взгляд эта операция может показаться некоторым экзотическим средством, используемым лишь математиками, но на самом деле она применяется на практике и довольно удобна при программировании ряда задач. Одно широко распространенное применение - содействие пользователю в управлении ходом программы. Предположим, например, что вы пишите программу обработки счетов, которая должна предусматривать дополнительную плату раз в три месяца. Для этого нужно только вычислить оста ток от деления номера месяца на 3 (т.е. month % 3), проверить, равен ли результат 0, и, если равен, добавить к счету величину дополнительной платы. После того как вы познакомились с "оператором if", вы сможете лучше представить себе, как все это работает.

Приведем пример программы, использующей операцию %

/* секунды в минуты */

/* переводит секунды в минуты и секунды */

 #define SM 60 /* число секунд в минуте */

main( )

{

int sec, mm, left;

printf(" Перевод секунд в минуты и секунды ! ");

printf(" Укажите число секунд, которое вы хотели бы перевести в минуты " );

scanf(" %d", &sec); /* ввод числа секунд */

mm = sec %  SM; /* число минут */

left = sec % SM; /* оставшееся число секунд */

printf(" %d секунды это %d минуты, %d секунды ", sec, mm, left);

}

Вот результат ее работы

Перевод секунд в минуты и секунды!

Укажите число секунд, которое вы хотели бы перевести в минуты.

234

234 секунды это 3 минуты 54 секунды.

     Недостатком этой диалоговой программы является то, что она обрабатывает только одну входную величину. Сумеете ли вы сами изменить программу так, чтобы она предлагала вам вводить новые значения? Мы вернемся к этой задаче в разделе вопросов в конце главы, но, если вы найдете свое собственное решение, мы будем очень рады.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Операция

Из книги Самоучитель UML автора Леоненков Александр

Операция В третьей сверху секции прямоугольника записываются операции или методы класса. Операция (operation) представляет собой некоторый сервис, предоставляющий каждый экземпляр класса по определенному требованию. Совокупность операций характеризует функциональный


7.11 Операция Логическое И

Из книги C++ автора Хилл Мюррей

7.11 Операция Логическое И логическое_И_выражение: выражение amp; amp; выражениеОперация amp; amp; группирует слева направо. Она возвращает 1, если оба операнда ненулевые, и 0 в противном случае. В протвоположность операции amp; операция amp; amp; гарантирует вычисление слева направо;


7.15 Операция Запятая

Из книги Базы данных: конспект лекций автора Автор неизвестен

7.15 Операция Запятая запятая_выражение: выражение , выражениеПара выражений, разделенных запятой, вычисляется слева направо, значение левого выражения теряется. Тип и значение результата являются типом и значением правого операнда. Эта операция группирует слева направо.


1. Операция выборки.

Из книги Справочное руководство по C++ автора Страустрап Бьярн

1. Операция выборки. Операция выборки на языке SQL реализуется оператором Select следующего вида: Select все атрибуты From имя отношения Where условие выборки; Здесь вместо того, чтобы писать «все атрибуты», можно использовать значок «*». В теории языка структурированных запросов


2. Операция проекции.

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

2. Операция проекции. Операция проекции на языке структурированных запросов реализуется даже проще, чем операция выборки. Напомним, что при применении операции проекции выбираются не строки (как при применении операции выборки), а столбцы. Поэтому достаточно перечислить


1. Операция объединения.

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

1. Операция объединения. Для того чтобы реализовать операцию объединения двух отношений приходится использовать одновременно два оператора Select, каждый из которых соответствует какому-то одному из исходных отношений-операндов. И к этим двум базовым операторам Select


2. Операция пересечения.

Из книги Язык Си - руководство для начинающих автора Прата Стивен

2. Операция пересечения. Операция пересечения и операция разности двух отношений на языке структурированных запросов реализуются похожим образом (мы рассматриваем наиболее простой способ представления, так как, чем проще метод, тем он экономичнее, актуальнее и,


R.5.3.3 Операция new

Из книги Цифровой журнал «Компьютерра» № 210 автора Журнал «Компьютерра»


R.16.3.1 Операция #

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

R.16.3.1 Операция # Если непосредственно перед параметром в строке замены идет лексема #, то при подстановке параметр и операция # будут заменены на строку литералов, содержащую имя соответствующего параметра макровызова. В символьной константе или строке литералов,


R.16.3.2 Операция ##

Из книги автора

R.16.3.2 Операция ## Если в строке замены между двумя лексемами, одна из которых представляет параметр макроопределения, появляется операция ##, то сама операция ## и окружающие ее обобщенные пробелы удаляются. Таким образом, результат операции ## состоит в конкатенации.Пусть


Операция ??

Из книги автора

Операция ?? Еще одной особенностью типов с разрешением принимать значения null, о которой вам следует знать, является то, что с такими типами можно использовать появившуюся в C# 2005 специальную операцию, обозначаемую знаком ??. Эта операция позволяет присвоить типу значение,


Пример A-18. Генерация простых чисел, с использованием оператора деления по модулю (остаток от деления)

Из книги автора

Пример A-18. Генерация простых чисел, с использованием оператора деления по модулю (остаток от деления) #!/bin/bash# primes.sh: Генерация простых чисел, без использования массивов.# Автор: Stephane Chazelas.# Этот сценарий не использует класический алгоритм "Решето Эратосфена",#+ вместо него


Операция деления: /

Из книги автора

Операция деления: /      В языке Си символ / указывает на операцию деления. Величина, стоящая слева от этого знака, делится на величину, расположенную справа от него. Например, в результате выполнения оператора: four = 12.0/3.0;переменной four будет присвоено значение 4.0. Заметим,


Новые деления на галактической линейке Дмитрий Вибе

Из книги автора

Новые деления на галактической линейке Дмитрий Вибе Опубликовано 27 января 2014 Расстояние — главный астрономический параметр. Без расстояния нет ни звёздной динамики, ни теории звёздной эволюции, ни космологии. Но измерить расстояние до объекта,


Операция @

Из книги автора

Операция @ Операция @ применяется к переменной и возвращает ее адрес. Тип результата представляет собой типизированный указатель на тип переменной. Например: var r: real; pr: ^real := @r;


Операция new

Из книги автора

Операция new Операция new имеет вид: new ИмяКласса(ПараметрыКонструктора) Она вызывает конструктор класса ИмяКласса и возвращает созданный объект.Например: type My = class constructor Create(i: integer); begin end; end; var m: My := new My(5); Эквивалентным способом создания объекта является вызов