X y 2 что здесь написано
Перейти к содержимому

X y 2 что здесь написано

  • автор:

Комплексные числа

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

  • 1 Определение
  • 2 Операции
    • 2.1 Алгебраический смысл
    • 2.2 Геометрический смысл

    Определение

    Комплексное число — это пара из двух действительных чисел, вида $(x, y)$, где $x$ — действительная часть, а $y$ — мнимая часть. Комплексные числа удобно представлять на плоскости в виде вектора, идущего к точке с координатами $(x, y)$. Ещё один популярные способ определять комплексные числа — записывать комплексное число $(x, y)$ в виде $x + i \cdot y$, где $i$ называется мнимой единицей. Особенность мнимой единицы в том, что $i \cdot i = -1$

    Алгебраический смысл

    Из второго определения комплексных чисел можно легко вывести всевозможные арифметические операции с комплексными числами.

    $(x_1 + i \cdot y_1) + (x_2 + i \cdot y_2) = (x_1 + x_2) + i \cdot (y_1 + y_2)$

    $(x_1 + i \cdot y_1) — (x_2 + i \cdot y_2) = (x_1 — x_2) + i \cdot (y_1 — y_2)$

    $(x_1 + i \cdot y_1) \cdot (x_2 + i \cdot y_2) = (x_1 \cdot x_2 — y_1 \cdot y_2) + i \cdot (x_1 \cdot y_2 + x_2 \cdot y_1)$

    Число $\overline$ называется сопряженным числом $z$ и имеет формулу $x — i \cdot y$. Легко заметить, что $(x + i \cdot y) \cdot (x — i \cdot y) = x^2 + y^2$. Тогда из этого можно вывести формулу деления.

    Геометрический смысл

    Вернёмся к первому определению и посмотрим, что означают операрации с комплексными числами в геометрическом смысле.

    $(x_1, y_1) + (x_2, y_2) = (x_1 + x_2,\:y_1 + y_2)$

    $(x_1, y_1) — (x_2, y_2) = (x_1 — x_2,\:y_1 — y_2)$

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

    $(x_1, y_1) \cdot (x_2, y_2) = (x_1 \cdot x_2 — y_1 \cdot y_2,\:x_1 \cdot y_2 + x_2 \cdot y_1)$

    Замечаем, что $x$ координата вектора это длина вектора умноженная на косинус угла вектора, а $y$ координата вектора это длина вектора умноженная на синус угла вектора. Т.е. $x = L \cdot \cos \alpha$, $y = L \cdot \sin \alpha$. Тогда $x_1 \cdot x_2 — y_1 \cdot y_2 = L_1 \cdot L_2 \cdot (\cos \alpha_1 \cdot \cos \alpha_2 — \sin \alpha_2 \cdot \sin \alpha_2) = L_1 \cdot L_2 \cdot \cos(\alpha_1 + \alpha_2)$ (По формуле двойного угла). Аналогично $x_1 \cdot y_2 + x_2 \cdot y_1 = L_1 \cdot L_2 \cdot \cos(\alpha_1 + \alpha_2)$. Тогда при произведении двух комплексных чисел результат в векторном виде имеет длину, равную произведению двух векторов, соответствующих множителям, а угол этого вектора равен сумме углов, соответствующих множителям.

    Тоже самое можно вывести для деления, оставим это читателю в качестве упражнения.

    Применения

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

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

    Автор конспекта: Филипп Грибов

    По всем вопросам пишите в telegram @grphil

    Исследование функции и построение графика

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

    Что будет дальше?

    • Общая схема исследования
    • Полный пример исследования функции
    • Примеры решений для разных типов функций
    • Сервисы построения графиков онлайн
    • Теория и практика: ссылки
    • Решебник
    • Видео

    Исследование функции и построение графика

    Общая схема исследования

    график функции с точками и асимптотами

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

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

    Начнем, конечно же, с плана. Исследование функции — объемная задача (пожалуй, самая объемная из традиционного курса высшей математики, обычно от 2 до 4 страниц с учетом чертежа), поэтому, чтобы не забыть, что в каком порядке делать, следуем пунктам, описанным ниже.

    Алгоритм

    1. Найти область определения. Выделить особые точки (точки разрыва).
    2. Проверить наличие вертикальных асимптот в точках разрыва и на границах области определения.
    3. Найти точки пересечения с осями координат.
    4. Установить, является ли функция чётной или нечётной.
    5. Определить, является ли функция периодической или нет (только для тригонометрических функций).
    6. Найти точки экстремума и интервалы монотонности.
    7. Найти точки перегиба и интервалы выпуклости-вогнутости.
    8. Найти наклонные асимптоты. Исследовать поведение на бесконечности.
    9. Выбрать дополнительные точки и вычислить их координаты.
    10. Построить график и асимптоты.

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

    Схема исследования в формате pdf: скачать.

    Полный пример решения онлайн

    Лучшее спасибо — порекомендовать эту страницу

    Провести полное исследование и построить график функции $$ y(x)=\frac. $$

    1) Область определения функции. Так как функция представляет собой дробь, нужно найти нули знаменателя. $$1-x=0, \quad \Rightarrow \quad x=1.$$ Исключаем единственную точку $x=1$ из области определения функции и получаем: $$ D(y)=(-\infty; 1) \cup (1;+\infty). $$

    2) Исследуем поведение функции в окрестности точки разрыва. Найдем односторонние пределы:

    Так как пределы равны бесконечности, точка $x=1$ является разрывом второго рода, прямая $x=1$ — вертикальная асимптота.

    3) Определим точки пересечения графика функции с осями координат.

    Найдем точки пересечения с осью ординат $Oy$, для чего приравниваем $x=0$:

    Таким образом, точка пересечения с осью $Oy$ имеет координаты $(0;8)$.

    Найдем точки пересечения с осью абсцисс $Ox$, для чего положим $y=0$:

    Уравнение не имеет корней, поэтому точек пересечения с осью $Ox$ нет.

    Заметим, что $x^2+8>0$ для любых $x$. Поэтому при $x \in (-\infty; 1)$ функция $y>0$ (принимает положительные значения, график находится выше оси абсцисс), при $x \in (1; +\infty)$ функция $y\lt 0$ (принимает отрицательные значения, график находится ниже оси абсцисс).

    4) Функция не является ни четной, ни нечетной, так как:

    5) Исследуем функцию на периодичность. Функция не является периодической, так как представляет собой дробно-рациональную функцию.

    6) Исследуем функцию на экстремумы и монотонность. Для этого найдем первую производную функции:

    Приравняем первую производную к нулю и найдем стационарные точки (в которых $y’=0$):

    Получили три критические точки: $x=-2, x=1, x=4$. Разобьем всю область определения функции на интервалы данными точками и определим знаки производной в каждом промежутке:

    При $x \in (-\infty; -2), (4;+\infty)$ производная $y’ \lt 0$, поэтому функция убывает на данных промежутках.

    При $x \in (-2; 1), (1;4)$ производная $y’ >0$, функция возрастает на данных промежутках.

    При этом $x=-2$ — точка локального минимума (функция убывает, а потом возрастает), $x=4$ — точка локального максимума (функция возрастает, а потом убывает).

    Найдем значения функции в этих точках:

    Таким образом, точка минимума $(-2;4)$, точка максимума $(4;-8)$.

    7) Исследуем функцию на перегибы и выпуклость. Найдем вторую производную функции:

    Приравняем вторую производную к нулю:

    Полученное уравнение не имеет корней, поэтому точек перегиба нет. При этом, когда $x \in (-\infty; 1)$ выполняется $y» \gt 0$, то есть функция вогнутая, когда $x \in (1;+\infty)$ выполняется $y» \lt 0$, то есть функция выпуклая.

    8) Исследуем поведение функции на бесконечности, то есть при .

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

    Попробуем определить наклонные асимптоты вида $y=kx+b$. Вычисляем значения $k, b$ по известным формулам:

    Получили, у что функции есть одна наклонная асимптота $y=-x-1$.

    9) Дополнительные точки. Вычислим значение функции в некоторых других точках, чтобы точнее построить график.

    10) По полученным данным построим график, дополним его асимптотами $x=1$ (синий), $y=-x-1$ (зеленый) и отметим характерные точки (фиолетовым пересечение с осью ординат, оранжевым экстремумы, черным дополнительные точки):

    Примеры решений по исследованию функции

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

    Задача 1. Исследовать функцию методами дифференциального исчисления и построить график.

    Задача 2. Исследовать функцию и построить ее график.

    Задача 3. Исследовать функцию с помощью производной и построить график.

    Задача 4. Провести полное исследование функции и построить график.

    Задача 5. Исследовать функцию методом дифференциального исчисления и построить график.

    Задача 6. Исследовать функцию на экстремумы, монотонность, выпуклость и построить график.

    Поможем с исследованием функции: быстро, подробно

    Задача 7. Проведите исследование функции с построением графика.

    Задача 8. Построить график функции $y=y(x)$, заданной параметрически

    Задача 9. Исследовать функцию и построить ее график $r=1+tg \phi$.

    Задача 10. Исследовать функцию и построить ее график $(x^2+y^2)^3=4x^2y^2$.

    Задача 11. Провести полное исследование периодической функции $y = \cos 3x – 2 \sin 6x$ и построить её график.

    Задача 12. Провести полное исследование и построить график функции $y=f(x)$ с помощью Excel. Найти наибольшее и наименьшее значения функции на отрезке $[-3; -1]$.

    Задача 13. Провести полное исследование и построить график функции.

    Как построить график онлайн?

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

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

    Графический калькулятор Desmos

    Desmos.com
    Невероятно гибкий и функциональный графический калькулятор. Интутивно понятно вводятся формулы (прямо на ходу преобразуются), автоматически подбираются масштаб и цвета графика для максимальной наглядности. Например, для функции $y(x)=\frac$ буквально за минуту построены основной график и асимптоты, вот что получилось:

    ввод функций в Desmos
    график функции в Desmos

    При этом сайт сам пометил важные точки на графике (см. серым): локальный экстремум, пересечение с осями.

    Вы можете менять масштаб, цвета, вид линий; добавлять на график точки, линии, кривые, табличные данные и даже анимацию!

    Посмотрите, какую красоту Desmos умеет рисовать (точнее, его пользователи):

    художественные графики в Desmos

    Сайт для построения графиков y(x).ru

    y(x).ru
    Это уже наш продукт, возможно, не такой красивый и интерактивный, но вполне подходящий для учебных целей. Можно строить онлайн несколько графиков одновременно, при этом выбирать и обычный, и параметрический вид, и даже задание в полярных координатах. Цвет и масштаб можно менять вручную. Вот так вводятся графики:

    ввод функций в yotx.ru

    И такой график получается в итоге:

    график функции в yotx.ru

    Из минусов можно заметить, что вводить, например, горизонтальные асимптоты не так просто: если в Desmos мы просто написали $x=2$, то здесь пришлось вводить параметрическую функцию $x(t)=2, y(t)=t$. Цвета и масштаб тоже пришлось подбирать вручную (иначе все графики оказались бы красными и мелкими).

    Другие сайты

    Еще несколько сервисов, которые обладают меньшим удобством/функциональностью, но тоже достойны внимания:

    • ru.numberempire.com Можно построить сразу несколько функций, цвета подбираются автоматически, график интерактивный (положение и масштаб меняются мышкой).
    • mathsolution.ru Можно строить несколько графиков, выбирая толщину линий и цвет, скрывать/отображать сетку, менять масштаб, сохранять картинки в файл.
    • easyto.me При построении нескольких графиков на одном поле предыдущие не редактируются. В остальном функции как у прежних: выбор цвета, толщины линии, масштаба чертежа.
    • grafikus.ru Кроме обычных графиков можно также строить трехмерные (3d). Можно построить несколько графиков разного типа (обычный,параметрический, в полярных координатах). Цвет и толщину линии выбрать нельзя. Интерактивности нет

    Больше знаний: теория и практика

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

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

    Официальные инструкции, примеры и видео-инструкции на английском можно найти тут: Learn Desmos.

    Решебник

    Срочно нужна готовая задача? Более сотни разных функций с полным исследованием уже ждут вас. Подробное решение, быстрая оплата по SMS и низкая цена — около 50 рублей. Может, и ваша задача уже готова? Проверьте!

    Полезные видео-ролики

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

    Классный старый научно-популярный фильм «Математика. Функции и графики». Объяснения на пальцах в прямом смысле слова самых основ.

    Таблица истинности С++. Почему здесь разные результаты?

    Здравствуйте! Я никак не могу понять, почему у меня разнятся ответы.
    Есть выражение «(x ≡ z ) ∨ (x → (y ∧ z))», необходимо найти все возможные x, y и z, при которых функция примет значение 0. Для решения я написал следующее:

    #include using namespace std; int main()

    И получил:
    000
    010
    100
    101
    110
    111
    Хотя должен был иметь на выходе только 110 и 100, поэтому я решил расчленить выражение на две части:

    #include using namespace std; int main()

    Результат:
    100
    101
    110
    End of cycle 1
    001
    011
    100
    110

    Из этого следует, что если между выражениями стояло бы логическое ИЛИ, то должно было бы получиться как раз 100 и 110.

    Подскажите, пожалуйста, что я упускаю

    • Вопрос задан 01 февр.
    • 162 просмотра

    Базовая математика в JavaScript — числа и операторы

    В этой части курса мы обсуждаем математику в JavaScript — как мы можем использовать operators (en-US) и другие функции, чтобы успешно манипулировать числами для выполнения наших задач.

    Необходимые условия: Базовая компьютерная грамотность, базовое понимание HTML и CSS, понимание того, что такое JavaScript.
    Цель: Ознакомление с основами математики в JavaScript.

    Все любят математику

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

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

    Типы чисел

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

    • Целые — это целые числа, такие как: 10, 400, или -5.
    • С плавающей точкой(или: с плавающей запятой) — имеют целую и дробную части, например: 12.5 или 56.7786543.
    • Doubles — тип чисел с плавающей точкой, которые имеют большую точность, чем стандартные числа с плавающей точкой (что означает, что они точны для большего числа десятичных знаков).

    У нас даже есть разные типы числовых систем:

    • Бинарная — низкоуровневый язык компьютеров; нули и единицы (0 и 1);
    • Восьмеричная — 8-ми разрядная, использует 0–7 в каждом столбце;
    • Десятичная — 10-ти разрядная, использует 0-9 в каждом столбце;
    • Шестнадцатеричная — 16-ти разрядная, используют 0–9 и потом a–f в каждом столбце. Вы, возможно, уже встречали эти числа, когда задавали цвет в CSS.

    Прежде чем взорвётся ваш мозг, остановитесь прямо здесь и сейчас!

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

    Во-вторых, в отличие от некоторых других языков программирования, JavaScript имеет только один тип данных для чисел, как вы догадались это Number . Это означает, независимо от типа чисел, с которыми вы работаете в JavaScript, обрабатывать вы их будете точно так же.

    Для меня всё — числа

    Давайте быстро поиграем с некоторыми числами, чтобы снова познакомиться с основным синтаксисом, который нам нужен. Введите команды, перечисленные ниже, в вашу консоль (developer tools JavaScript console), или используйте простую встроенную консоль.

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

    var myInt = 5; var myFloat = 6.667; myInt; myFloat; 
    typeof myInt; typeof myFloat; 

    Арифметические операторы

    Арифметические операторы — это основные операторы, которые мы используем для различных математических операций, например таких, как сложение или вычитание:

    Оператор Имя Функция Пример
    + Сложение Объединение чисел в одно целое. 6 + 9
    Вычитание Вычитает правое число от левого. 20 — 15
    * Умножение Умножает два числа вместе. 3 * 7
    / Деление Делит левое число на правое. 10 / 5
    % Модуль числа Возвращает значение остатка при делении первого числа на второе. Результат будет иметь тот же знак, что и первое число. 11 % 3 = 2 (поскольку число 3 вмещается три раза, остатком будет число 2)
    ** показатель степени Возводит базовое число в указанную степень, то есть количество базовых чисел, указанных экспонентой, умножается вместе. Впервые он был представлен в EcmaScript 2016. 5 ** 5 (возвращает 3125, или как: 5*5*5*5*5)

    Примечание: Иногда числа участвующие в математических операциях называют операндами ( operands (en-US) ).

    Нам, вероятно, не нужно учить вас базовым математическим операциям, но мы хотели бы проверить ваше понимание синтаксиса. Попробуйте ввести приведённые ниже примеры в свою консоль (developer tools JavaScript console), или используйте встроенную консоль, с которой вы уже знакомы, чтобы ознакомиться с синтаксисом.

      Для начала попробуйте ввести простые примеры, такие как:

    10 + 7; 9 * 8; 60 % 3; 
    var num1 = 10; var num2 = 50; 9 * num1; num2 / num1; 
    5 + 10 * 3; (num2 % 9) * num1; num2 + num1 / 8 + 2; 

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

    Приоритет операторов

    Давайте взглянем на последний пример сверху. Предположим, что num2 содержит значение 50 и num1 содержит значение 10 (как и было обозначено выше):

    + num1 / 8 + 2; 

    Будучи человеком, вы, вероятно, прочитаете это как «50 плюс 10 равно 60», затем «8 плюс 2 равно 10», и, наконец, «60 делить на 10 равно 6».

    Но браузер видит это по-другому: «10 делить на 8 равно 1.25», затем «50 плюс 1.25 плюс 2 равно 53.25».

    Это происходит из-за приоритета операторов — некоторые операторы будут применены перед другими в процесс вычисления суммы (в программировании её называют выражением). Приоритет операторов в JavaScript ничем не отличается от приоритета арифметических операций, который вы изучали в школе — умножение и деление всегда выполняются первыми, затем сложение и вычитание (сумма всегда вычисляется слева направо).

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

    (num2 + num1) / (8 + 2); 

    Результат этого выражения равен 6.

    Примечание: полный список операторов JavaScript и приоритетов их выполнения можно найти по этой ссылке: Expressions and operators.

    Операторы инкремента и декремента

    Иногда вам захочется повторно добавить или вычесть единцу к/из значению числовой переменной. Это можно сделать с помощью оператора инкремента ( ++ ) и декремента ( — ). Мы использовали ++ в нашей игре «Угадай число» в статье первое погружение в JavaScript, где мы добавляли 1 к переменной guessCount , в которой хранилось значение количества попыток пользователя после каждого хода.

    Примечание: инкремент и декремент часто используются в циклах, о которых вы узнаете позже. Например, если вы захотите пройтись по списку цен и добавить к каждой налог с продаж, вам придётся в цикле обойти каждую цену и провести необходимые вычисления для учёта налога. Инкремент будет использован для перехода на новую ячейку списка при необходимости. У нас есть несложный пример реализации такого списка — попробуйте и взгляните на код чтобы посмотреть, сможете ли вы найти инкременты! Мы взглянем на циклы поближе позже по ходу курса.

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

    Таким образом, вы можете применить инкремент только к существующим переменным:

    var num1 = 4; num1++; 

    Так, вторая странность! Если вы сделаете это, вы получите значение 4 — браузер возвращает текущее число, после чего применяет к нему оператор инкремента. Вы можете удостовериться в том, что инкремент был применён, узнав значение переменной ещё раз:

    То же самое для — : попробуйте пример ниже

    var num2 = 6; num2--; num2; 

    Примечание: вы можете заставить делать это в другом порядке — применить инкремент/декремент и только потом вернуть значение. Для этого необходимо записать оператор слева от переменной, а не справа. Попробуйте пример сверху ещё раз, но в этот раз используйте ++num1 и —num2 .

    Операторы присваивания

    Операторы присваивания — операторы, которые присваивают значение переменным. Мы уже много раз использовали самый простой из них, = , он просто приравнивает значение переменной слева к значению справа:

    var x = 3; // x содержит значение 3 var y = 4; // y содержит значение 4 x = y; // x теперь содержит значение y (x == 4) 

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

    Operator Name Purpose Example Shortcut for
    += Присваивание сложения Прибавляет значение справа к переменной слева и возвращает новое значение переменной x = 3; x += 4; x = 3; x = x + 4;
    -= Присваивание вычитания Вычитает значение справа из переменной слева и возвращает новое значение переменной x = 6; x -= 3; x = 6; x = x — 3;
    *= Присваивание умножения Умножает переменную слева на значение справа и возвращает новое значение переменной x = 2; x *= 3; x = 2; x = x * 3;
    /= Присваивание деления Делит переменную слева на значение справа и возвращает новое значение переменной x = 10; x /= 5; x = 10; x = x / 5;

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

    Заметьте, что значение справа может быть как числом (константой), так и переменной, например:

    var x = 3; // x содержит значение 3 var y = 4; // y содержит значение 4 x *= y; // x содержит значение 12 

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

    Активное обучение: меняем размеры коробки

    В этом упражнении вы будете пользоваться числами и операторами для работы с размерами коробки. Коробка рисуется с помощью API браузера, которое называется Canvas API. Вам не следует беспокоиться о том, как это работает — просто сосредоточьтесь на математике. Ширина и высота коробки (в пикселях) определяются переменными x и y , которые изначально равны 50.

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

    • Поменяйте строчку с размером x так, чтобы коробка была шириной 50px, причём 50 должно быть вычислено с помощью чисел 43 и 7 и арифметического оператора.
    • Поменяйте строчку с размером y так, чтобы коробка была высотой 75px, причём 75 должно быть вычислено с помощью чисел 25 и 3 и арифметического оператора.
    • Поменяйте строчку с размером y так, чтобы коробка была высотой 250, при этом 250 вычислено с помощью двух чисел и оператором взятия остатка (модуль).
    • Поменяйте строчку с размером y так, чтобы коробка была высотой 150px, причём 150 вычислено с помощью трёх чисел и операторов вычитания и деления.
    • Поменяйте строчку с размером x так, чтобы коробка была шириной 200px, при этом 200 вычислено с помощью числа 4 и оператора присваивания.
    • Поменяйте строчку с размером y так, чтобы коробка была высотой 200px, причём 200 вычислено с помощью чисел 50 и 3 и операторов умножения и присваивания сложения.

    Не расстраивайтесь, если вы не поняли код сверху. Нажмите кнопку Reset для запуска программы снова. Если вы смогли ответить верно на все вопросы, попробуйте поэкспериментировать с кодом ещё (или, например, предложить друзьям несколько заданий).

    Операторы сравнения

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

    Оператор Имя Назначение Пример
    === Строгое равенство Проверяет левое и правое значения на идентичность 5 === 2 + 4
    !== Строгое неравенство Проверяет левое и правое значения на неидентичность 5 !== 2 + 3
    Меньше Проверяет, меньше ли левое значение правого 10 < 6
    > Больше Проверяет, больше ли левое значение правого 10 > 20
    Меньше или равно Проверят, меньше ли левое значение правому (или равно ему) 3
    >= Больше или равно Проверят, больше ли левое значение левого (или равно ему) 5 >= 4

    Примечание: вы можете заметить, что некоторые люди используют == и != в их программах для сравнения на равенство и неравенство — это валидные JavaScript-операторы, но они отличаются от === / !== — первая пара проверяет на равенство/неравенство значений, не рассматривая их типы. Вторая пара — строгая версия первой, которая проверяет типы операндов. При использовании строгой версии выявляется больше ошибок, поэтому мы рекомендуем использовать именно её.

    Если вы попробуете использовать эти операторы в консоли, вы увидите, что все они возвращают значения true / false — о типе данных boolean мы писали в прошлой статье. С их помощью мы можем принимать решения в нашей программе, например:

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

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

    button>Запустить машинуbutton> p>Машина остановленаp> 
    var btn = document.querySelector("button"); var txt = document.querySelector("p"); btn.addEventListener("click", updateBtn); function updateBtn()  if (btn.textContent === "Start machine")  btn.textContent = "Stop machine"; txt.textContent = "The machine has started!"; > else  btn.textContent = "Start machine"; txt.textContent = "The machine id stopped."; > > 

    Мы использовали оператор равенства внутри функции updateBtn() . В этом случае мы не проверяем пару математических выражений на равенство значений — мы просто смотрим, является ли текст на кнопке определённой строкой — что по сути является тем же самым. Если кнопка при нажатии содержит «Start machine», мы меняем содержимое метки на «Stop machine» и обновляем метку. Если же текст кнопки — «Stop machine», при нажатии мы возвращаем все обратно.

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

    Итого

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

    В следующей статье мы изучим текст и то, как мы работаем с ним в JavaScript.

    Примечание: если вам хочется узнать подробнее о том, как математика реализуется в JavaScript, вы можете посмотреть главный раздел JavaScript MDN. Статьи Числа и даты и Выражения и операторы — хороший вариант для начала.

    • Назад
    • Обзор: Первые шаги в JavaScript
    • Далее

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

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