Arduino:Справочник языка Arduino/Функции/Математические функции/constrain(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
м (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">»)
 
Нет описания правки
 
(не показаны 3 промежуточные версии 2 участников)
Строка 8: Строка 8:
== Параметры ==
== Параметры ==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
x: проверяемое значение, любой тип
x: проверяемое значение, любой тип
a: нижняя граница области допустимых значений, любой тип
a: нижняя граница области допустимых значений, любой тип
Строка 16: Строка 16:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
x: если x входит в область допустимых значений [a..b]
x: если x входит в область допустимых значений [a..b]
a: если x  меньше a
a: если x  меньше a
Строка 24: Строка 24:
== Пример ==
== Пример ==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
sensVal = constrain(sensVal, 10, 150);// ограничиваем значения sensVal диапазоном от 10 до 150
sensVal = constrain(sensVal, 10, 150);// ограничиваем значения sensVal диапазоном от 10 до 150
</syntaxhighlight>
</syntaxhighlight>
Строка 32: Строка 32:
В силу специфики реализации функции constrain() следует избегать использования других функций в качестве параметров.
В силу специфики реализации функции constrain() следует избегать использования других функций в качестве параметров.


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
constrain(a--, 10, 150);  // может привести к некорректным результатам
constrain(a--, 10, 150);  // может привести к некорректным результатам
   
   
Строка 44: Строка 44:


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}
[[Категория:Справочник языка Arduino]]
[[Категория:Справочник языка Arduino]]
[[Категория:Функции языка Arduino]]
[[Категория:Функции языка Arduino]]

Текущая версия от 11:28, 8 июля 2023

Проверка/Оформление/Редактирование: Мякишев Е.А.


constrain(x, a, b)

Функция проверяет и если надо задает новое значение, так чтобы оно было в области допустимых значений, заданной параметрами.

Параметры

x: проверяемое значение, любой тип
a: нижняя граница области допустимых значений, любой тип
b: верхняя граница области допустимых значений, любой тип

Возвращаемое значение

x: если x входит в область допустимых значений [a..b]
a: если x  меньше a
b: если x больше b

Пример

sensVal = constrain(sensVal, 10, 150);// ограничиваем значения sensVal диапазоном от 10 до 150

Замечания по использованию функции

В силу специфики реализации функции constrain() следует избегать использования других функций в качестве параметров.

constrain(a--, 10, 150);   // может привести к некорректным результатам
 
a--;
constrain(a, 10, 150) // так корректно

См.также

Внешние ссылки