Как раскрывать модуль?

Как решать уравнения с модулем: основные правила

30 декабря 2016

Модуль — одна из тех вещей, о которых вроде-бы все слышали, но в действительности никто нормально не понимает. Поэтому сегодня будет большой урок, посвящённый решению уравнений с модулями.

Сразу скажу: урок будет несложный. И вообще модули — вообще тема относительно несложная. «Да конечно, несложная! У меня от неё мозг разрывается!» — скажут многие ученики, но все эти разрывы мозга происходят из-за того, что у большинства людей в голове не знания, а какая-то хрень. И цель этого урока — превратить хрень в знания.:)

Немного теории

\

Ещё один важный факт: модуль никогда не бывает отрицательным. Какое бы число мы ни взяли — хоть положительное, хоть отрицательное — его модуль всегда оказывается положительным (или в крайнем случае нулём). Именно поэтому модуль часто называют абсолютной величиной числа.

Кроме того, если объединить определение модуля для положительного и отрицательного числа, то получим глобальное определение модуля для всех чисел. А именно: модуль числа равен самому этому числу, если число положительное (или ноль), либо равен противоположному числу, если число отрицательное. Можно записать это в виде формулы:

\

Ещё есть модуль нуля, но он всегда равен нулю. Кроме того, ноль — единственное число, которое не имеет противоположного.

Таким образом, если рассмотреть функцию $y=\left| x \right|$ и попробовать нарисовать её график, то получится вот такая «галка»:

График модуля и пример решения уравненияМодуль — это расстояние между точками на числовой прямой

Из этого определения также следует, что модуль всегда неотрицателен. Но хватит определений и теории — перейдём к настоящим уравнениям.:)

Основная формула

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

Спокойствие, только спокойствие. Начнём с самых простых вещей. Рассмотрим что-нибудь типа такого:

\

Итак, модуль$x$ равен 3. Чему может быть равен $x$? Ну, судя по определению, нас вполне устроит $x=3$. Действительно:

\

Теперь немного усложним задачу. Пусть вместо переменной $x$ под знаком модуля тусуется функция $f\left( x \right)$, а справа вместо тройки поставим произвольное число $a$. Получим уравнение:

\

Ну и как такое решать? Напомню: $f\left( x \right)$ — произвольная функция, $a$ — любое число. Т.е. вообще любое! Например:

\

или:

\

Обратим внимание на второе уравнение. Про него сразу можно сказать: корней у него нет. Почему? Всё правильно: потому что в нём требуется, чтобы модуль был равен отрицательному числу, чего никогда не бывает, поскольку мы уже знаем, что модуль — число всегда положительное или в крайнем случае ноль.

\

И внезапно получается, что подмодульное выражение $2x+1$ действительно положительно — оно равно числу 5. Т.е. мы можем спокойно решать это уравнение — полученный корень будет кусочком ответа:

\

Особо недоверчивые могут попробовать подставить найденный корень в исходное уравнение и убедиться, что действительно под модулем будет положительное число.

Теперь разберём случай отрицательного подмодульного выражения:

\

\

Да, такой алгоритм существует. И сейчас мы его разберём.

Избавление от знака модуля

\

Таким образом, наше уравнение с модулем распадается на два, но уже без модуля. Вот и вся технология! Попробуем решить парочку уравнений. Начнём вот с такого

\

Отдельно рассмотрим, когда справа стоит десятка с плюсом, и отдельно — когда с минусом. Имеем:

\

Вот и всё! Получили два корня: $x=1,2$ и $x=-2,8$. Всё решение заняло буквально две строчки.

Ок, не вопрос, давайте рассмотрим что-нибудь чуть посерьёзнее:

\

Опять раскрываем модуль с плюсом и минусом:

\

Опять пара строчек — и ответ готов! Как я и говорил, в модулях нет ничего сложного. Нужно лишь запомнить несколько правил. Поэтому идём дальше и приступаем с действительно более сложным задачам.

Случай переменной правой части

А теперь рассмотрим вот такое уравнение:

\

Это уравнение принципиально отличается от всех предыдущих. Чем? А тем, что справа от знака равенства стоит выражение $2x$ — и мы не можем заранее знать, положительное оно или отрицательное.

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

А во-вторых, если права часть всё-таки положительна (или равна нулю), то можно действовать точно так же, как раньше: просто раскрыть модуль отдельно со знаком «плюс» и отдельно — со знаком «минус».

Таким образом, сформулируем правило для произвольных функций $f\left( x \right)$ и $g\left( x \right)$ :

Применительно к нашему уравнению получим:

\

Ну, с требованием $2x\ge 0$ мы как-нибудь справимся. В конце концов, можно тупо подставить корни, которые мы получим из первого уравнения, и проверить: выполняется неравенство или нет.

Поэтому решим-ка само уравнение:

\

Подозреваю, что кто-то из учеников уже начал скучать? Что ж, рассмотрим ещё более сложное уравнение:

\

Хоть оно и выглядит злобно, по факту это всё то же самое уравнение вида «модуль равен функции»:

\

И решается оно точно так же:

\

С неравенством мы потом разберёмся — оно какое-то уж слишком злобное (на самом деле простое, но мы его решать не будем). Пока лучше займёмся полученными уравнениями. Рассмотрим первый случай — это когда модуль раскрывается со знаком «плюс»:

\

Ну, тут и ежу понятно, что нужно всё собрать слева, привести подобные и посмотреть, что получится. А получится вот что:

\

Выносим общий множитель ${{x}^{2}}$ за скобку и получаем очень простое уравнение:

\

\

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

Теперь точно так же разберёмся со вторым уравнением, которое получается при раскрытии модуля со знаком «минус»:

\

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

\

\

\

Как учесть это требование? Да просто подставим найденные корни и проверим: выполняется неравенство при этих $x$ или нет. Имеем:

Таким образом, корень $x=1,5$ нас не устраивает. И в ответ пойдут лишь два корня:

\

Как видите, даже в этом случае ничего сложного не было — уравнения с модулями всегда решаются по алгоритму. Нужно лишь хорошо разбираться в многочленах и неравенствах. Поэтому переходим к более сложным задачам — там уже будет не один, а два модуля.

Уравнения с двумя модулями

Но детский сад закончился — пора рассмотреть что-нибудь посерьёзнее. Начнём с уравнений вот такого типа:

\

Это уравнение вида «модуль равен модулю». Принципиально важным моментом является отсутствие других слагаемых и множителей: только один модуль слева, ещё один модуль справа — и ничего более.

Кто-нибудь сейчас подумает, что такие уравнения решаются сложнее, чем то, что мы изучали до сих пор. А вот и нет: эти уравнения решаются даже проще. Вот формула:

\

Всё! Мы просто приравниваем подмодульные выражения, ставя перед одним из них знак «плюс-минус». А затем решаем полученные два уравнения — и корни готовы! Никаких дополнительных ограничений, никаких неравенств и т.д. Всё очень просто.

Давайте попробуем решать вот такую задачу:

\

Элементарно, Ватсон! Раскрываем модули:

\

Рассмотрим отдельно каждый случай:

\

Со вторым уравнением всё чуть интереснее, но тоже очень и очень просто:

\

Как видим, всё решилось буквально в пару строчек — другого от линейного уравнения мы и не ожидали.:)

В итоге окончательный ответ: $x=1$.

Ну как? Сложно? Конечно, нет. Попробуем что-нибудь ещё:

\

\

Возможно, кто-то сейчас спросит: «Эй, что за бред? Почему «плюс-минус» стоит у правого выражения, а не у левого?» Спокойно, сейчас всё объясню. Действительно, по-хорошему мы должны были переписать наше уравнение следующим образом:

\

Затем нужно раскрыть скобки, перенести все слагаемые в одну сторону от знака равенства (поскольку уравнение, очевидно, в обоих случаях будет квадратным), ну и дальше отыскать корни. Но согласитесь: когда «плюс-минус» стоит перед тремя слагаемыми (особенно когда одно из этих слагаемых — квадратное выражение), это как-то более сложно выглядит, нежели ситуация, когда «плюс-минус» стоит лишь перед двумя слагаемыми.

Но ведь ничто не мешает нам переписать исходное уравнение следующим образом:

\

Что произошло? Да ничего особенного: просто поменяли левую и правую часть местами. Мелочь, которая в итоге немного упростит нам жизнь.:)

В общем, решаем это уравнение, рассматривая варианты с плюсом и с минусом:

\

Первое уравнение имеет корни $x=3$ и $x=1$. Второе вообще является точным квадратом:

\

Поэтому у него единственный корень: $x=1$. Но этот корень мы уже получали ранее. Таким образом, в итоговый ответ пойдут лишь два числа:

\

Миссия выполнена! Можно взять с полки и скушать пирожок. Там их 2, ваш средний.:)

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

\

\

Как видим, у нас действительно возник общий множитель. Теперь, если собрать все модули с одной стороны, то можно вынести этот множитель за скобку:

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

\

Таким образом, исходное уравнение с двумя модулями свелось к двум простейшим уравнениям, о которых мы говорили в самом начале урока. Такие уравнения решаются буквально в пару строчек.:)

Данное замечание, возможно, покажется излишне сложным и неприменимым на практике. Однако в реальности вам могут встретиться куда более сложные задачи, нежели те, что мы сегодня разбираем. В них модули могут комбинироваться с многочленами, арифметическими корнями, логарифмами и т.д. И в таких ситуациях возможность понизить общую степень уравнения путём вынесения чего-либо за скобку может оказаться очень и очень кстати.:)

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

Тем не менее, это уравнение решается даже проще, чем то, что мы рассматривали ранее. И если вы поймёте почему, то получите ещё один приём для быстрого решения уравнений с модулями.

Итак, уравнение:

\

Нет, это не опечатка: между модулями именно плюс. И нам нужно найти, при каких $x$ сумма двух модулей равна нулю.:)

В чём вообще проблема? А проблема в том, что каждый модуль — число положительное, либо в крайнем случае ноль. А что будет, если сложить два положительных числа? Очевидно, снова положительное число:

\

Последняя строчка может натолкнуть на мысль: единственный случай, когда сумма модулей равна нулю — это если каждый модуль будет равен нулю:

\

А когда модуль равен нулю? Только в одном случае — когда подмодульное выражение равно нулю:

\

\

Таким образом, у нас есть три точки, в которых обнуляется первый модуль: 0, 1 и −1; а также две точки, в которых обнуляется второй модуль: −2 и 1. Однако нам нужно, чтобы оба модуля обнулялись одновременно, поэтому среди найденных чисел нужно выбрать те, которые входят в оба набора. Очевидно, такое число лишь одно: $x=1$ — это и будет окончательным ответом.

Метод расщепления

Что ж, мы уже рассмотрели кучу задач и изучили множество приёмов. Думаете, на этом всё? А вот и нет! Сейчас мы рассмотрим заключительный приём — и одновременно самый важный. Речь пойдёт о расщеплении уравнений с модулем. О чём вообще пойдёт речь? Давайте вернёмся немного назад и рассмотрим какое-нибудь простое уравнение. Например, это:

\

В принципе, мы уже знаем, как решать такое уравнение, потому что это стандартная конструкция вида $\left| f\left( x \right) \right|=g\left( x \right)$. Но попробуем взглянуть на это уравнение немного под другим углом. Точнее, рассмотрим выражение, стоящее под знаком модуля. Напомню, что модуль любого числа может быть равен самому числу, а может быть противоположен этому числу:

\

Собственно, в этой неоднозначности и состоит вся проблема: поскольку число под модулем меняется (оно зависит от переменной), нам неясно — положительное оно или отрицательное.

Но что если изначально потребовать, чтобы это число было положительным? Например, потребуем, чтобы $3x-5 \gt 0$ — в этом случае мы гарантированно получим положительное число под знаком модуля, и от этого самого модуля можно полностью избавиться:

\

Таким образом, наше уравнение превратится в линейное, которое легко решается:

\

Правда, все эти размышления имеют смысл только при условии $3x-5 \gt 0$ — мы сами ввели это требование, дабы однозначно раскрыть модуль. Поэтому давайте подставим найденный $x=\frac{5}{3}$ в это условие и проверим:

\

Получается, что при указанном значении $x$ наше требование не выполняется, т.к. выражение оказалось равно нулю, а нам нужно, чтобы оно было строго больше нуля. Печалька.:(

\

Очевидно, что в модуль раскроется со знаком «минус». Но тогда возникает странная ситуация: и слева, и справа в исходном уравнении будет торчать одно и то же выражение:

\

Интересно, при каких таких $x$ выражение $5-3x$ будет равно выражению $5-3x$? От таких уравнений даже Капитан очевидность подавился бы слюной, но мы-то знаем: это уравнение является тождеством, т.е. оно верно при любых значениях переменной!

А это значит, что нас устроят любые $x$. Вместе с тем у нас есть ограничение:

\

Другими словами, ответом будет не какое-то отдельное число, а целый интервал:

\

Наконец, осталось рассмотреть ещё один случай: $3x-5=0$. Тут всё просто: под модулем будет ноль, а модуль нуля тоже равен нулю (это прямо следует из определения):

\

Но тогда исходное уравнение $\left| 3x-5 \right|=5-3x$ перепишется следующим образом:

\

Таким образом, помимо интервала нас устроит ещё и число, лежащее на самом конце этого интервала:

Объединение корней в уравнениях с модулем

Куда важнее другое: мы только что разобрали универсальный алгоритм решения уравнения с модуляем! И состоит этот алгоритм из следующих шагов:

  1. Приравнять каждый модуль, имеющийся в уравнении, к нулю. Получим несколько уравнений;
  2. Решить все эти уравнения и отметить корни на числовой прямой. В результате прямая разобьётся на несколько интервалов, на каждом из которых все модули однозначно раскрываются;
  3. Решить исходное уравнение для каждого интервала и объединить полученные ответы.

Разбиение числовой оси на интервалы с помощью точек

Ну и какие тут интервалы? Понятно, что их три:

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

На первый взгляд, такая запись может показаться неудобной, нелогичной и вообще какой-то бредовой. Но поверьте: после небольшой тренировки вы обнаружите, что именно такой подход наиболее надёжен и при этом не мешает однозначно раскрывать модули. Лучше уж использовать такую схему, чем каждый раз думать: отдавать левый/правый конец в текущий интервал или «перекидывать» его в следующий.

На этом урок заканчивается. Скачивайте задачи для самостоятельного решения, тренируйтесь, сравнивайте с ответами — и увидимся в следующем уроке, который будет посвящён неравенствам с модулями.:)

Решение уравнений с модулем

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

Немного теории. Каждое число имеет две характеристики: абсолютное значение числа, и его знак.

Например, число +5, или просто 5 имеет знак «+» и абсолютное значение 5.

Число -5 имеет знак «-» и абсолютное значение 5.

Абсолютные значения чисел 5 и -5 равны 5.

Абсолютное значение числа х называется модулем числа и обозначается |x|.

Как мы видим, модуль числа равен самому числу, если это число больше или равно нуля, и этому числу с противоположным знаком, если это число отрицательно.

Это же касается любых выражений, которые стоят под знаком модуля.

Правило раскрытия модуля выглядит так:

|f(x)|= f(x), если f(x) ≥ 0, и

|f(x)|= — f(x), если f(x) < 0

Например |x-3|=x-3, если x-3≥0 и |x-3|=-(x-3)=3-x, если x-3<0.

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

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

Одно уравнение существует на числовом промежутке, на котором выражение, стоящее под знаком модуля неотрицательно.

А второе уравнение существует на промежутке, на котором выражение, стоящее под знаком модуля отрицательно.

Рассмотрим простой пример.

Решим уравнение:

|x-3|=-x2+4x-3

1. Раскроем модуль.

|x-3|=x-3, если x-3≥0, т.е. если х≥3

|x-3|=-(x-3)=3-x, если x-3<0, т.е. если х<3

2. Мы получили два числовых промежутка: х≥3 и х<3.

Рассмотрим, в какие уравнения преобразуется исходное уравнение на каждом промежутке:

А) При х≥3 |x-3|=x-3, и наше уранение имеет вид:

x-3=-x2+4x-3

Внимание! Это уравнение существует только на промежутке х≥3!

Раскроем скобки, приведем подобные члены:

x2 -3х=0

и решим это уравнение.

Это уравнение имеет корни:

х1=0, х2=3

Внимание! поскольку уравнение x-3=-x2+4x-3 существует только на промежутке х≥3, нас интересуют только те корни, которые принадлежат этому промежутку. Этому условию удовлетворяет только х2=3.

Б) При x<0 |x-3|=-(x-3) = 3-x, и наше уравнение приобретает вид:

3-x=-x2+4x-3

Внимание! Это уравнение существует только на промежутке х<3!

Раскроем скобки, приведем подобные члены. Получим уравнение:

О чем эта статья

Статья продолжает цикл «Первые шаги в разработке на 1С», в ней детально рассмотрены следующие вопросы:

  • Что такое программный модуль и из каких разделов он состоит?
  • Для чего нужен модуль приложения? Почему их два? Когда какой запускается? Какие есть тонкости работы?
  • Какие события связаны с началом работы системы, как и где их обрабатывать?
  • Для чего нужен модуль внешнего соединения? Когда и как его использовать?
  • Когда используется модуль сеанса?
  • Что такое общие модули? Какие у него свойства и правила работы? Для чего нужно использовать свойство “Повторное использование возвращаемых значений”?
  • Когда используется модуль формы и какие события в нем могут быть обработаны?
  • Для чего предназначен модуль объекта? Из каких разделов он состоит? Как посмотреть доступные события модуля?
  • Какие тонкости работы существуют с модулями менеджера значения (для констант) и модулями набора записей (для регистров)?
  • В чем отличия между модулем объекта и модулем менеджера? Когда нужно использовать последний?

Применимость

В статье рассматривается платформа «1C:Предприятие» 8.3.4.496. Материал актуален и для текущих релизов платформы.

Модули в «1С:Предприятие 8.3»

  • Модуль приложения
  • Модуль внешнего соединения
  • Модуль сеанса
  • Общие модули
  • Модуль формы
  • Модуль объекта
  • Модуль менеджера

Модули – это те объекты, где содержится программный код.

В Платформе существует достаточно большое количество видов модулей, каждый из которых имеет свое предназначение и особенности.

Любая строка кода должна находиться в каком-либо модуле. Различают модули общего предназначения и модули объекта. Некоторые модули могут быть скомпилированы как на Клиенте, так и на Сервере, а некоторые только на Сервере.

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

Внутри каждой процедуры можно обращаться к переменной модуля. Кроме того, внутри самой процедуры может быть еще одно объявление переменной с таким же именем. Это будет локальная переменная данной процедуры.

Несмотря на одинаковое название, это две разные переменные: одна используется внутри конкретной процедуры, а другая – вне ее.

В некоторых модулях для переменных может указываться место компиляции (доступность) на Сервере или на Клиенте. Например:

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

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

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

Так, например, при открытии формы элемента прежде всего выполняется раздел основной программы модуля формы.

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

Модуль приложения

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

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

Это могут быть события от ридера магнитных карт, фискального регистратора. И эти события можно каким-то образом тоже обработать.

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

Модуль приложения не будет работать, если запуск программы 1С осуществляется, например, в режиме com-соединения. В этом случае окно программы не создается.

Следует отметить, что в Платформе 8.3 существует два разных модуля приложения: модуль Управляемого приложения и модуль Обычного приложения. События модуля управляемого приложения отрабатываются при запуске Тонкого и Толстого клиента Управляемого приложения и Веб-клиента.

Модуль Обычного приложения работает при запуске Толстого клиента в режиме Обычного приложения, в котором присутствует обычный командный интерфейс в виде Главного меню.

Если приложение работает и в режиме Управляемого, и в режиме Обычного приложения, то необходимо описывать процедуры-обработчики как для модуля Управляемого приложения, так и для модуля Обычного приложения.

Модуль Управляемого приложения можно выбрать из контекстного меню корневого узла конфигурации.

Также этот модуль можно открыть из палитры свойств корневого элемента конфигурации.

Чтобы открыть модуль Обычного приложения, следует обратиться к настройкам конфигурации (команда Параметры в меню Сервис).

Откроется форма Параметры. На закладке Общие должен быть указан режим редактирования конфигурации Управляемое приложение и Обычное приложение.

В этом случае модуль Обычного приложения также можно будет открыть из свойств корневого узла.

Список событий, которые можно обрабатывать, для Управляемого и Обычного приложения одинаков.

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

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

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

Есть два события, связанные с началом работы системы (“перед” и “при”). Два события, связанные с завершением работы системы (“перед” и “при”). А также обработка внешнего события (например, события торгового оборудования).

Когда выполняется обработчик события “перед”, считается, что действие еще не совершено. Когда выполняется обработчик события “при” – действие уже совершено.

Событие ПередНачаломРаботыСистемы возникает в тот момент, когда производится запуск Предприятия 8.3, но само приложение еще не появилось на экране. У данного события есть такой параметр, как Отказ.

Если этот параметр примет значение Истина, то приложение не запустится. Событие ПриНачалеРаботыСистемы предполагает, что действие уже совершено, окно уже создано, и в этом случае мы можем, например, отобразить какую-то специальную форму. От запуска отказаться уже нельзя.

Аналогично перед завершением работы системы приложение еще открыто и можно отказаться от его завершения. При завершении работы системы окно приложения уже закрылось. Возможно выполнить лишь дополнительные действия, например, по удалению каких-то файлов или отправке электронного письма.

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

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

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

Процедуры, функции и переменные модуля приложения могут быть описаны как экспортные.

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

Например, из модуля формы какого-либо объекта можно вызвать процедуру или функцию модуля приложения. Однако для описания общих алгоритмов рекомендуется использовать Общие модули. Основное предназначение модуля приложения – обработать точку старта и точку завершения.

Модуль внешнего соединения

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

В отличии от модуля приложения, который инициируется в момент интерактивного запуска приложения, модуль внешнего соединения работает в режиме com-соединения, т.е. когда создается объект 1С:Предприятие 8 и осуществляется подключение к определенной базе.

В этом модуле есть события: ПриНачалеРаботыСистемы и ПриЗавершенииРаботыСистемы.

Модуль внешнего соединения можно открывать используя либо контекстное меню на уровне корневого объекта конфигурации, либо палитру свойств для корневого узла.

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

В Модуле внешнего соединения возможно описывать экспортные переменные и экспортные методы, которые будут доступны на той стороне, где происходит внешний вызов 1С:Предприятие 8.3.

Поскольку во внешнем соединении нет пользовательского интерфейса, Модуль внешнего соединения компилируется целиком на Сервере.

Модуль сеанса

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

Открыть Модуль сеанса можно либо через контекстное меню, либо через палитру свойств корневого узла.

В Модуле сеанса предусмотрено событие УстановкаПараметровСеанса.

При старте приложения данная процедура вызывается самой первой. Параметры сеанса нужны при любой работе приложения: как при интерактивном запуске, так и при запуске в режиме внешнего соединения.

В Модуле сеанса описываются различные действия по инициализации параметров сеанса в зависимости от разных условий.

В данном модуле, как правило, описываются несколько процедур, которые вызываются из процедуры УстановкаПараметровСеанса. Поэтому все эти процедуры выделены в отдельный модуль.

Модуль сеанса всегда исполняется в привилегированном режиме. Это означает, что не будет выполняться проверка прав доступа при обращении к базе данных. Модуль сеанса компилируется на Сервере, т.е. возможно обращение к любым серверным методам (в том числе и чтение значений из базы).

В Модуле сеанса возможно определять только процедуры и функции, т.е. нет раздела описания переменных и нет раздела основной программы. В Модуле сеанса нельзя описывать экспортные методы.

Если при запуске системы необходимо выполнить некоторые действия на Сервере, например, создать элемент какого-либо справочника, то, как вариант, возможно использовать Модуль сеанса, т.к. он компилируется на Сервере и всегда достоверно выполняется при старте системы. Однако при этом необходимо учитывать следующие моменты:

  • процедура УстановкаПараметровСеанса выполняется не только при старте системы, а также при обращении к неинициализированным параметрам сеанса. Т.е. обработчик УстановкаПараметровСеанса может вызываться неоднократно в процессе работы приложения;
  • если количество элементов в массиве параметров сеанса равно нулю (у массива требуемых параметров тип данных Неопределено), то это момент запуска приложения;
  • поскольку Модуль сеанса работает в привелигированном режиме и проверки прав доступа не будет, следует очень аккуратно работать с объектами базы данных, так как пользователь может получить доступ к тем данным, которые ему не должны быть предоставлены;
  • при запуске системы достоверно еще не известно: будет ли запущено приложение. При этом в обработчике события УстановкаПараметровСеанса могут быть произведены лишние действия.
Общие модули

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

Логически связанные методы можно группировать в разные Общие модули. Эти модули создаются внутри ветки Общие.

Можно добавить любое количество общих модулей. Чтобы методы Общих модулей были доступны в других местах конфигурации, необходимо их определять с ключевым словом Экспорт. Клиентские процедуры общих модулей будут доступны на Клиенте, а серверные – на Сервере.

В Общих модулях доступен только раздел описания процедур и функций. Т.е. в Общем модуле нельзя описывать переменные и нельзя описывать раздел основной программы.

Если необходима глобальная переменная, то можно использовать либо параметры сеанса, либо экспортные переменные модуля приложения.

Для Общих модулей можно задавать некоторые параметры, которые будут влиять на поведение данного модуля. Если для Общего модуля выставлено свойство Глобальный, то объявленные в данном модуле экспортные методы будут доступны из вне напрямую, без каких-либо дополнительных указаний.

Т.е. данный Общий модуль будет участвовать в формировании глобального контекста конфигурации.

Свойство Глобальный для общих модулей может быть полезным. Однако не стоит его использовать повсеместно для всех общих модулей.

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

Если флаг Глобальный для Общего модуля не указан, то компиляция данного модуля будет выполняться в момент первого обращения к нему (т.е. уже после старта системы).

Кроме того, использование глобальных общих модулей влияет на понимание кода. Вызов методов не глобального общего модуля осуществляется через имя Общего модуля и имя метода, например:
МодульРасчетаСебестоимости.РаспределитьКосвенныеЗатраты();

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

Для Общего модуля в Палитре свойств можно установить свойство Привилегированный.

В привилегированном модуле не контролируются права доступа. Это необходимо в том случае, если в Общем модуле требуется выполнять массовую обработку данных, получение данных из базы.

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

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

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

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

Если Общий модуль является привилегированным, то процедуры этого модуля могут быть скомпилированы только на Сервере.

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

Т.е. возникает потребность временно расширить права пользователя, а потом вернуть их в исходное состояние. Этот эффект может быть получен при использовании привилегированных Общих модулей.

Для этого в привилегированном Общем модуле следует оформить процедуру, которая обращается к нужным данным.

Данная процедура будет вызываться из соответствующего документа. Т.е. пользователю на момент вызова этой процедуры фактически предоставляются расширенные права.

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

Кроме того, если перевести режим редактирования конфигурации в Управляемое приложение и обычное приложение, то будет возможен еще один контекст компиляции – Клиент (обычное приложение).

Таким образом, выделяется четыре варианта функционирования программы. В зависимости от запущенного приложения, в зависимости от работы на Клиенте или на Сервере будут доступны или недоступны определенные Общие модули.

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

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

При этом процедура не может быть доступна в контексте, который не доступен в целом для всего модуля.

Если директиву компиляции для процедуры (функции) не указывать, то она будет скомпилирована во всех контекстах, определенных для модуля.

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

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

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

При таком подходе в отдельных Общих модулях будут располагаться клиентские процедуры, и в отдельных Общих модулях – процедуры серверные.

В названиях общих модулей рекомендуется это указывать. Например: РегламентныеПроцедурыСервер, РегламентныеПроцедурыКлиент.

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

Важно! С Клиента возможно обращаться к экспортным серверным методам Общего модуля, но только в том случае, если данный Общий модуль скомпилирован только на Сервере. При этом для обеспечения доступа с Клиента предназначен специальный флажок Вызов Сервера.

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

Цель данного механизма – ускорить повторные вызовы. Для настройки подобного поведения необходимо в Палитре свойств модуля выставить соответствующее значение для свойства Повторное использование возвращаемых значений.

По умолчанию для данного свойства определено значение Не использовать. Другие возможные значения: кэшировать На время вызова, либо На время сеанса.

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

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

Тем не менее, существуют определенные временные ограничения. Очистка кэша происходит автоматически через 20 минут после попадания значения в кэш.

Модуль формы

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

Кроме событий, связанных с элементами управления формы (кнопки, поля ввода) существуют события, связанные непосредственно с самой формой.

Например, можно обработать событие открытия формы и провести некую начальную инициализацию. Также можно обработать событие закрытия формы и проверить, а все ли правильно ввел пользователь.

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

В модуле управляемой формы можно объявлять процедуры и функции, можно объявлять переменные и описывать раздел основной программы.

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

Список событий управляемой формы виден также в списке свойств непосредственно для самой формы. Данный список вызывается в редакторе управляемых форм.

В управляемой форме можно обработать событие записи элемента. Данное событие присутствует только для форм объектов (справочников, документов и некоторых других). Если форма не привязана к конкретному объекту, то событие записи отсутствует.

Для модуля обычной формы перечень стандартных событий несколько меньше, т.к. в управляемой форме многие события сделаны парными (одно выполняется на Клиенте, а другое на Сервере). В обычной форме весь код исполняется на Клиенте.

Модуль объекта

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

В принципе, событие записи существует и в Модуле формы. Но событие записи в Модуле формы возникает в процессе интерактивной записи, при работе с конкретной формой.

Событие записи в Модуле объекта будет выполняться при любой записи из любой формы данного объекта. Кроме того, если объект записывается программно, в этом случае будет срабатывать событие модуля объекта.

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

Модуль данного объекта можно вызывать через контекстное меню, из Палитры свойств объекта и из окна редактирования объекта.

Ниже на рисунке представлен перечень доступных событий модуля справочника.

В Модуле объекта можно размещать раздел описания переменных, описывать произвольные функции, которые могут быть и не связаны с событием, а также раздел основной программы.

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

Следует отметить, что все процедуры Модуля объекта скомпилированы на Сервере. Соответственно директивы компиляции у процедур и функций Модуля объекта указывать не требуется. У некоторых объектов конфигурации не существует Модулей объектов.

Это связано с особенностями самих объектов. К таким объектам относятся Константы и Регистры. Для Констант не существует модуля объекта, но существует очень похожий модуль, который называется Модулем менеджера значения.

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

Весь контекст модуля исполняется на Сервере.

Для регистров существует Модуль набора записей.

В данном модуле также имеется возможность обрабатывать события записи и выполнять проверку заполнения.

В Модулях объектов, Модулях менеджера значения (для констант) и Модулях набора записей (для регистров) можно описывать методы, которые можно делать экспортными, и эти методы будут доступны из вне.

Т.е. помимо использования фиксированных методов класса объектов можно создавать для объекта дополнительные методы в Модуле объекта. В данном модуле следует описать соответствующую процедуру с ключевым словом Экспорт.

Тогда будет возможно обращаться к этой процедуре из вне. Причем данный метод будет отображаться в контекстной подсказке. Новые методы в контекстной подсказке выделяются синим шрифтом (синий значок p( ) для процедур и f( ) для функций).

Аналогичным образом можно создавать новое свойство, объявив переменную с ключевым словом Экспорт. К этому свойству также можно будет обращаться из вне.

Таким образом возможно расширять функциональность объектов (доопределять новые методы и новые свойства). При этом свойства являются динамическими и не сохраняются в базе данных.

Если необходимо использовать для объекта свойство, которое будет храниться в базе данных, следует создавать реквизит объекта.

Модуль менеджера

Данный модуль существует для многих объектов (справочники, документы, регистры и др.). Модуль открывается либо через контекстное меню для объекта, либо через Палитру свойств, либо через окно редактирования.

В Модуле менеджера можно переопределить некоторые стандартные события.Например, в ОбработкеПолученияДанныхВыбора, когда выбирается элемент из справочника, можно сделать какую-то дополнительную фильтрацию или проверку.

Кроме этого в Модуле менеджера можно создать дополнительные методы и указать, что они являются экспортными. В этом случае возможно обращение к данным методам из вне.

Для того, чтобы выполнить данное обращение, необходимо получить тип данных СправочникМенеджер.

Отличие экспортных методов Модуля менеджера и Модуля объекта состоит в том, что для обращения к методу Модуля объекта вначале нужно получить сам объект (т.е каким-то образом получить ссылку и далее эту ссылку преобразовать в объект).

После этого будут доступны экспортные переменные и методы Модуля объекта. Для Модуля менеджера обращение более простое, например:
Справочники.Контрагенты.ИмяМетода

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

Второе отличие в том, что МодульОбъекта вызывается в контексте конкретного элемента. Соответственно можно считать, что он применим для данного элемента (в большинстве случаев закладывается именно такая логика).

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

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

Кроме того, обращение к Модулю объекта – это все-таки более длительное действие. Поэтому решать данную задачу в модуле менеджера более предпочтительно.

На этом завершим наше знакомство с модулями в конфигурации системы «1С:Предприятие». Если подвести краткое резюме всему вышенаписанному, то в сухом остатке получаются следующие выводы:

  • Программный модуль – это часть конфигурации, которая может содержать только текст на встроенном языке 1С
  • Программные модули классифицируются по видам, которые мы рассмотрели в этой статье. Каждый вид определяется местом размещения и доступным программным контекстом.
  • Структура модуля состоит из некоторых разделов, которые располагаются в определенной последовательности. Состав разделов определяется видом модуля.

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

Пока весь наш программный код мы рассматривали отрывочно от прикладного решения, и как правило, писали его в какой-то своей небольшой тестовой конфигурации. А вы в курсе, что «нельзя просто так взять» и начать редактировать код типовой конфигурации? Нет? Тогда в следующей статье мы все это объясним!

PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.

Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)

Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.

Модуль в модуле

Среди примеров на модули часто встречаются уравнения где нужно найти корни модуля в модуле, то есть уравнение вида
||a*x-b|-c|=k*x+m.
Если k=0, то есть правая сторона равна постоянной (m) то проще искать решение уравнения с модулями графически. Ниже приведена методика раскрытия двойных модулей на распространенных для практики примерах. Хорошо разберите алгоритм вычисления уравнений с модулями, чтобы не иметь проблем на контрольных, тестах, и просто, чтобы знать.

Пример 1. Решить уравнение модуль в модуле |3|x|-5|=-2x-2.
Решение: Всегда начинают раскрывать уравнения с внутреннего модуля
|x|=0 <-> x=0.
В точке x=0 уравнения с модулем разделяется на 2.
При x < 0 подмодульная функция отрицательная, поэтому при раскрытии знак меняем на противоположный
|-3x-5|=-2x-2.
При x>0 или равно, раскрывая модуль получим
|3x-5|=-2x-2.
Решим уравнение для отрицательных переменных (x < 0). Оно разлагается на две системы уравнений. Первое уравнение получаем из условия, что функция после знака равенства неотрицательна. Второе — раскрывая модуль в одной системе принимаем, что подмодульная функция положительная, в иной отрицательная — меняем знак правой или левой части (зависит от методики преподавания).
Из первого уравнения получим что решение не должно превышать (-1), т.е.
Это ограничение полностью принадлежит области в которой решаем. Перенесем переменные и постоянные по разные стороны равенства в первой и второй системе
и найдем решение
Оба значения принадлежат промежутку что рассматривается, то есть являются корнями.
Рассмотрим уравнение с модулями при положительных переменных
|3x-5|=-2x-2.
Раскрывая модуль получим две системы уравнений
Из первого уравнения, которое является общим для двух сиcтем, получим знакомое условие
которое в пересечении с множеством, на котором ищем решение дает пустое множество (нет точек пересечения). Итак единственными корнями модуля с модулем являются значения
x=-3; x=-1,4.

Примеров с модулями где есть один или несколько вложенных модулей в интернете или методичке можно найти немало. Схема их вычислений ничем не отличается от приведенной выше. Для проверки знаний прошу решить следующие задачи.

Равнение на модуль в модуле:

Модуль числа легко найти, и теория, которая лежит в его основе, важна при решении задач.

Свойства и правила раскрытия, используемые при решении упражнений и на экзаменах, будут полезны школьникам и студентам.

Что такое модуль в математике

Модуль числа описывает расстояние на числовой линии от нуля до точки без учета того, в каком направлении от нуля лежит точка. Математическое обозначение: |x|.

Иными словами, это абсолютная величина числа. Определение доказывает, что значение никогда не бывает отрицательным.

Свойства модуля

Важно помнить о следующих свойствах:

  1. Правило раскрытия: абсолютная величина любого числа больше или равна нулю:
  2. Если абсолютные значения содержат выражения противоположных значений, они равны:
  3. Значение числа не превышает величину его модуля:
  4. Правило раскрытия при произведении:
  5. Правило, применимое при делении:
  6. При возведении в степень:
  7. Сумма величин:
  8. Двойной модуль:

Модуль комплексного числа

Абсолютной величиной комплексного числа называют длину направленного отрезка, проведенного от начала комплексной плоскости до точки (a, b).

Этот направленный отрезок также является вектором, представляющим комплексное число a + bi, поэтому абсолютная величина комплексного числа – это то же самое, что и величина (или длина) вектора, представляющего a+ bi.

Как решать уравнения с модулем

Уравнение с модулем – это равенство, которое содержит выражение абсолютного значения. Если для действительного числа оно представляет его расстояние от начала координат на числовой линии, то неравенства с модулем являются типом неравенств, которые состоят из абсолютных значений.

Уравнения типа |x| = a

Уравнение |x| = a имеет два ответа x = a и x = –a, потому что оба варианта находятся на координатной прямой на расстоянии a от 0.

Равенство с абсолютной величиной не имеет решения, если величина отрицательная.

Если |x| &lt, a представляет собой расстояние чисел от начала координат, это значит, что нужно искать все числа, чье расстояние от начала координат меньше a.

Уравнения типа |x| = |y|

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

Например, для равенства |x − a| = |x + b| есть два варианта: (x − a) = − (x + b) или (x − a) = (x + b).

Далее простая арифметика − нужно решить два равенства относительно x.

Уравнения типа |x| = y

Уравнения такого вида содержат абсолютную величину выражения с переменной слева от нуля, а справа – еще одну неизвестную. Переменная y может быть как больше, так и меньше нуля.

Для получения ответа в таком равенстве нужно решить систему из нескольких уравнений, в которой нужно убедиться, что y – неотрицательная величина:

Решение неравенств с модулем

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

Уравнения вида |x| = a

Пример 1 (алгебра 6 класс). Решить: |x| + 2 = 4.

Решение.

Такие уравнения решаются так же, как и равенства без абсолютных значений. Это означает, что, перемещая неизвестные влево, а константы – вправо, выражение не меняется.

После перемещения константы вправо получено: |x| = 2.

Поскольку неизвестные связаны с абсолютным значением, это равенство имеет два ответа: 2 и −2.

Ответ: 2 и −2.

Пример 2 (алгебра 7 класс). Решить неравенство |x + 2| ≥ 1.

Решение.

Первое, что нужно сделать, это найти точки, где абсолютное значение изменится. Для этого выражение приравнивается к 0. Получено: x = –2.

Это означает, что –2 – поворотная точка.

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

Разделим интервал на 2 части:

  1. для x + 2 ≥ 0

Общим ответом для этих двух неравенств является интервал .

Окончательное решение – объединение ответов отдельных частей:

x ∈ (–∞, –3] ∪ ∪ [–1, + ∞).

Уравнения вида |x| = |y|

Пример 1 (алгебра 8 класс). Решить уравнение с двумя модулями: 2 * |x – 1| + 3 = 9 – |x – 1|.

Решение:

Ответ: x1 = 3, x2 = − 1.

Пример 2 (алгебра 8 класс). Решить неравенство:

Решение:

Уравнения вида |x| = y

Пример 1 (алгебра 10 класс). Найти x:

Решение:

Очень важно провести проверку правой части, иначе можно написать в ответ ошибочные корни. Из системы видно, что не лежит в промежутке .

Ответ: x = 0.

Модуль суммы

Модуль разности

Абсолютная величина разности двух чисел x и y равна расстоянию между точками с координатами X и Y на координатной прямой.

Пример 1.

Пример 2.

Модуль отрицательного числа

Для нахождения абсолютного значения числа, которое меньше нуля, нужно узнать, как далеко оно расположено от нуля. Поскольку расстояние всегда является положительным (невозможно пройти «отрицательные» шаги, это просто шаги в другом направлении), результат всегда положительный. То есть,

Проще говоря, абсолютная величина отрицательного числа имеет противоположное значение.

Модуль нуля

Известно свойство:

Вот почему нельзя сказать, что абсолютная величина – положительное число: ноль не является ни отрицательным, ни положительным.

Модуль в квадрате

Модуль в квадрате всегда равен выражению в квадрате:

Примеры графиков с модулем

Часто в тестах и на экзаменах встречаются задания, которые возможно решить, лишь проанализировав графики. Рассмотрим такие задания.

Пример 1.

Дана функция f(x) = |x|. Необходимо построить график от – 3 до 3 с шагом 1.

Решение:

Объяснение: из рисунка видно, что график симметричен относительно оси Y.

Пример 2. Необходимо нарисовать и сравнить графики функций f(x) = |x–2| и g(x) = |x|–2.

Решение:

Объяснение: константа внутри абсолютной величины перемещает весь график вправо, если ее значение отрицательное, и влево, если положительное. Но постоянная снаружи будет передвигать график вверх, если значение положительное, и вниз, если оно отрицательное (как –2 в функции g (x)).

Координата вершины x (точка, в которой соединяются две линии, вершина графа) – это число, на которое график сдвигается влево или вправо. А координата y – это значение, на которое график сдвигается вверх или вниз.

Строить такие графики можно с помощью онлайн приложений для построения. С их помощью можно наглядно посмотреть, как константы влияют на функции.

Метод интервалов – один из лучших способов найти ответ в задачах с модулем, особенно если в выражении их несколько.

Для использования метода нужно совершить следующие действия:

  1. Приравнять каждое выражение к нулю.
  2. Найти значения переменных.
  3. Нанести на числовую прямую точки, полученные в пункте 2.
  4. Определить на промежутках знак выражений (отрицательное или положительное значение) и нарисовать символ – или + соответственно. Проще всего определить знак с помощью метода подстановки (подставив любое значение из промежутка).
  5. Решить неравенства с полученными знаками.

Пример 1. Решить методом интервалов.

Решение:

Результатом будет сумма всех подходящих интервалов.

Среди примеров часто встречаются уравнения, где нужно найти корни равенств такого вида: ||ax – b| – c| = kx + m.

Лучше всего понять принцип на примере.

Пример 1. Решить

Решение:

Первым делом нужно раскрыть внутренний модуль. Для этого рассматривается два варианта:

В первом случае выражение положительное, а во втором отрицательное. Исходя из этого, получаем:

Нужно упростить два уравнения:

Далее каждое из равенств разделяется еще на два:

Получено четыре результата:

Самое важное, что нужно знать: модуль не может быть отрицательным.

Поэтому, если представлено выражение, похожее на |2 – 4x| = –7 стоит помнить, что равенство неверно даже без поисков ответов.

В качестве итогов, напомним все свойства, которые помогут в решении задач:

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

Решать равенства и неравенства можно разными способами, но лучше всего использовать графический способ или метод интервалов.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *