From ea5afa77fa1c614515491937c0eb407e66a3b65c Mon Sep 17 00:00:00 2001 From: OKitel Date: Mon, 3 Oct 2022 22:10:32 +0200 Subject: [PATCH] docs: add translation to Russian for js-basics 3-making-decisions --- .../translations/README.ru.md | 182 ++++++++++++++++++ .../translations/assignment.ru.md | 33 ++++ 2 files changed, 215 insertions(+) create mode 100644 2-js-basics/3-making-decisions/translations/README.ru.md create mode 100644 2-js-basics/3-making-decisions/translations/assignment.ru.md diff --git a/2-js-basics/3-making-decisions/translations/README.ru.md b/2-js-basics/3-making-decisions/translations/README.ru.md new file mode 100644 index 00000000..07a86768 --- /dev/null +++ b/2-js-basics/3-making-decisions/translations/README.ru.md @@ -0,0 +1,182 @@ +# Основы JavaScript: ветвление + +![Основы JavaScript: ветвление](../../../sketchnotes/webdev101-js-decisions.png) + +> Скетчноут [Tomomi Imura](https://twitter.com/girlie_mac) + +## Предлекционный квиз + +[Предлекционный квиз](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/11) + +Ветвление и управление порядком выполнения вашего кода делает ваш код пригодным для повторного использования и надежным. В этом разделе рассматривается синтаксис для управления потоком данных в JavaScript и его значение при использовании с логическими типами данных. + +[![Ветвление](https://img.youtube.com/vi/SxTp8j-fMMY/0.jpg)](https://youtube.com/watch?v=SxTp8j-fMMY "Ветвление") + +> 🎥 Нажмите на изображения выше, чтобы посмотреть видео о ветвлении. + +> Вы можете пройти этот урок на [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101-if-else/?WT.mc_id=academic-13441-cxa)! + +## Краткий обзор Булевых переменных + +Логические (булевы) переменные могут принимать только два значения: `true` (истина) или `false` (ложь). Они помогают принимать решения о том, какие строки кода должны быть исполнены при выполнении определенных условий. + +Установите для своей булевой переменной значение true или false следующим образом: + +`let myTrueBool = true` +`let myFalseBool = false` + +✅ Булевы переменные названы в честь английского математика, философа и логика Джорджа Буля.(1815–1864). + +## Операторы сравнения и булевы переменные + +Операторы сравнения используются для оценки условий путем выполнения сравнений, которые создают логическое значение. Ниже приведен список часто используемых операторов. + +| Символ | Описание | Пример | +| ------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | +| `<` | **Меньше**: Сравнивает два значения и возвращает `true`, если значение слева меньше, чем справа. | `5 < 6 // true` | +| `<=` | **Меньше или равно**: Сравнивает два значения и возвращает `true`, если значение слева меньше или равно значению справа. | `5 <= 6 // true` | +| `>` | **Больше**: Сравнивает два значения и возвращает `true`, если значение слева больше, чем справа. | `5 > 6 // false` | +| `>=` | **Больше или равно**: Сравнивает два значения и возвращает `true`, если значение слева больше или равно значению справа. | `5 >= 6 // false` | +| `===` | **Строгое равенство**: Сравнивает два значения и возвращает `true`, если значения справа и слева равны и имеют один и тот же тип данных. | `5 === 6 // false` | +| `!==` | **Неравенство**: Сравнивает два значения и возвращает логическое значение, противоположное тому, которое вернул бы оператор строгого равенства. | `5 !== 6 // true` | + +✅ Проверьте свои знания, написав несколько сравнений в консоли браузера. Не удивило ли вас какое-либо из возвращенных значений? + +## Оператор «if» + +Оператор `if` будет запускать код внутри своего блока, если условие истинно. + +```javascript +if (условие) { + //Условие было истинным. Код в этом блоке будет исполнен. +} +``` + +Логические операторы часто используются для формирования условия. + +```javascript +let currentMoney; +let laptopPrice; + +if (currentMoney >= laptopPrice) { + //Условие было истинным. Код в этом блоке будет исполнен. + console.log("Приобретение нового ноутбука!"); +} +``` + +## Оператор If..Else + +Оператор `else` запустит код внутри своего блока, если условие ложно. Это опциональная часть оператора `if`. + +```javascript +let currentMoney; +let laptopPrice; + +if (currentMoney >= laptopPrice) { + //Условие было истинным. Код в этом блоке будет исполнен. + console.log("Приобретение нового ноутбука!"); +} else { + //Условие было ложным. Код в этом блоке будет исполнен. + console.log("Пока не могу позволить себе новый ноутбук!"); +} +``` + +✅ Проверьте свое понимание этого кода, запустив его в консоли браузера. Измените значения переменных currentMoney и laptopPrice, чтобы изменить возвращаемый `console.log()`. + +## Логические операторы и булевы значения + +Решения могут потребовать более одного сравнения, которые могут быть связаны вместе логическими операторами для получения общего булевого значения. + +| Символ | Описание | Пример | +| ------ | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `&&` | **Логическое И**: Сравнивает два логических выражения. Возвращает true **только**, если обе стороны истинны | `(5 > 6) && (5 < 6 ) //Одна сторона ложна, другая истинна. Возвращает false` | +| `\|\|` | **Логическое ИЛИ**: Сравнивает два логических выражения. Возвращает true, если хотя бы одна сторона истинна | `(5 > 6) \|\| (5 < 6) //Одна сторона ложна, другая истинна. Возвращает true` | +| `!` | **Логическое НЕ**: Возвращает противоположное значение логического выражения | `!(5 > 6) // 5 не больше 6, но "!" вернет true` | + +## Условия и решения с логическими операторами + +Логические операторы могут использоваться для формирования условий в операторах if..else. + +```javascript +let currentMoney; +let laptopPrice; +let laptopDiscountPrice = laptopPrice - laptopPrice * 0.2; //Цена ноутбука со скидкой 20 процентов + +if (currentMoney >= laptopPrice || currentMoney >= laptopDiscountPrice) { + //Условие было истинным. Код в этом блоке будет исполнен. + console.log("Getting a new laptop!"); +} else { + //Условие было ложным. Код в этом блоке будет исполнен. + console.log("Can't afford a new laptop, yet!"); +} +``` + +### Оператор отрицания + +До сих пор вы видели, как можно использовать оператор if...else для создания условной логики. +Все, что входит в `if`, должно оцениваться как «истина/ложь». Используя оператор `!`, вы можете _отрицать_ выражение. Это будет выглядеть так: + +```javascript +if (!условие) { + // выполняется, если условие ложно +} else { + // выполняется, если условие истинно +} +``` + +### Тернарные выражения + +`if...else` — не единственный способ выразить логику ветвления. Вы также можете использовать тернарный оператор. Его синтаксис выглядит следующим образом: + +```javascript +let variable = условие ? <вернуть это если true> : <вернуть то если false> +``` + +Ниже приведен более наглядный пример: + +```javascript +let firstNumber = 20; +let secondNumber = 10; +let biggestNumber = firstNumber > secondNumber ? firstNumber : secondNumber; +``` + +✅ Потратьте минуту, чтобы прочитать этот код несколько раз. Вы понимаете, как работают эти операторы? + +Вышенаписанный код следует понимать следующим образом: + +- если `firstNumber` больше, чем `secondNumber` +- тогда присвоить значение `firstNumber` в переменную `biggestNumber` +- иначе присвоить значение `secondNumber` в переменную `biggestNumber`. + +Тернарное выражение — это просто компактный способ написания кода ниже: + +```javascript +let biggestNumber; +if (firstNumber > secondNumber) { + biggestNumber = firstNumber; +} else { + biggestNumber = secondNumber; +} +``` + +--- + +## 🚀 Челлендж + +Создайте программу, которая сначала будет написана с помощью оператора if..else, а затем перепишите ее с помощью тернарного оператора. Какой синтаксис вы предпочитаете? + +--- + +## Постлекционный квиз + +[Постлекционный квиз](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/12) + +## Обзор и самообучение + +Подробнее о множестве операторов, доступных пользователю[на MDN](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators). + +Пройдите замечательный [поиск оператора](https://joshwcomeau.com/operator-lookup/) Джоша Комо! + +## Задание + +[Операторы](assignment.ru.md) diff --git a/2-js-basics/3-making-decisions/translations/assignment.ru.md b/2-js-basics/3-making-decisions/translations/assignment.ru.md new file mode 100644 index 00000000..b065ee1a --- /dev/null +++ b/2-js-basics/3-making-decisions/translations/assignment.ru.md @@ -0,0 +1,33 @@ +# Операторы + +## Инструкции + +Поиграйте с операторами. Вот идея для программы, которую вы можете реализовать: + +У вас есть группа студентов, оцениваемых по двум разным системам. + +### Первая система оценивания + +Одна система оценок определяется как оценки от 1 до 5, где 3 и выше означают, что вы прошли курс. + +### Вторая система оценивания + +Другая система оценок имеет следующие оценки: «A, A-, B, B-, C, C-», где «A» — высшая оценка, а «C» — самая низкая проходная оценка. + +### Задание + +Учитывая следующий массив allStudents, представляющий всех учащихся и их оценки, создайте новый массив `studentsWhoPass`, содержащий всех успешно прошедших курс учащихся. + +> ПОДСКАЗКА: используйте цикл, if...else и операторы сравнения: + +```javascript +let allStudents = ["A", "B-", 1, 4, 5, 2]; + +let studentsWhoPass = []; +``` + +## Подведение итогов + +| Критерии | Образцовый | Соответствует ожиданиям | Необходимы улучшения | +| -------- | --------------------------- | ------------------------------ | ------------------------------- | +| | Представлено полное решение | Представлено частичное решение | Представлено решение с ошибками |