Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions 1.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Homework</title>
</head>
<body>
<!--
Обязательное задание.

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

Подсказка. Чтобы лучше разобраться возьмите этот код и запустите в отладчике в
браузере со включенными точками остановки.
-->
<script>
"use strict";

let a = 1, b = 1, c, d;

/*
Ваш комментарий, почему переменная `c` хранит данное значение?
Происходит инкремент значения переменной a и дальнейшее присвоение переменной
c с выводом в лог. (2)
*/
c = ++a; //a=2
console.log(c);

/*
Ваш комментарий, почему переменная `d` хранит данное значение?
присвоением к d значения b, инкримент b, вывод в лог (1)
*/
d = b++; // b =2
console.log(d);

/*
Ваш комментарий, почему переменная `c` хранит данное значение?
инкримент a, сложение с 2 и присвоение к c (5)
*/
c = 2 + ++a; //a=3
console.log(c);

/*
сложение 2 и b, присвоение к d, инкремент b и вывод в консоль d (4)
вывод в консоль a (3), вывод в консоль b (3)
Ваш комментарий, почему переменная `d` хранит данное значение?
*/
d = 2 + b++; //b=3
console.log(d);

console.log(a);
console.log(b);
</script>
</body>
</html>
35 changes: 35 additions & 0 deletions 2.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Homework</title>
</head>
<body>
<!--
Обязательное задание.

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

Подсказка. Чтобы лучше разобраться возьмите этот код и запустите в отладчике в
браузере со включенными точками остановки.
-->
<script>
"use strict";

let a = 2;
let x = 1 + (a *= 2);

/*
присвоение a значения 2, в скобках a=a*2 (4), сложение с 1 и присвоение к x
вывод в консоль x (5)
вывод в консоль a (4)

Ваш комментарий, почему переменные `x` и `a` хранят данные значения?
*/
console.log(x);
console.log(a);

</script>
</body>
</html>
35 changes: 35 additions & 0 deletions 3.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Homework</title>
</head>
<body>
<!--
Обязательное задание.

Необходимо попросить пользователя ввести два числа в переменные `a` и `b`.
Необходимо вывести в консоль один результат из следующих проверок:
1. Если оба числа в переменных `a` и `b` положительные, вывести разность
чисел `a` и `b`, а именно, вычесть из переменной `a` значение переменной `b`.
2. Если оба числа в переменных `a` и `b` отрицательные, вывести произведение
чисел `a` и `b`.
3. Если числа в переменных `a` и `b` разных знаков, вывести сумму чисел
`a` и `b`.
В остальных случаях программа не должна ничего выводить.
-->
<script>
"use strict";

const a = Number.parseInt(prompt('введите значения переменной a'));
const b = Number.parseInt(prompt('введите значения переменной b'));
if (a > 0 && b > 0) {
console.log(a - b);
} else if (a < 0 && b < 0) {
console.log(a * b);
} else if ((a < 0 && b > 0) || (a > 0 && b < 0)) {
console.log(a + b);
}
</script>
</body>
</html>
79 changes: 79 additions & 0 deletions 4.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Homework</title>
</head>
<body>
<!--
Обязательное задание.

Необходимо реализовать четыре функции, каждая функция должна принимать по два
числа и выполнять одну из операций (каждая функция выполняет одну из них):
1. Сложение
2. Разность
3. Умножение
4. Деление

Необходимо сделать так, чтобы функция вернула число, например выражение
`console.log(sum(2, 6));` должно вывести число 8 в консоль (sum - функция
сложения в данном примере, ваши названия функций могут отличаться).

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

Функциям всегда передаются корректные числа, проверки на NaN, Infinity делать
не нужно.

Необходимо для всех функций прописать комментарии jsdoc https://jsdoc.app/.
-->
<script>
"use strict";

/**
* Сложение двух чисел
* @param {number} первое число для сложения.
* @param {number} второе число для сложения.
* @return {number} результат сложения.
*/
function addition(a, b) { // функция сложения, вернуть a + b
return a + b;
}

/**
* Вычитание двух чисел
* @param {number} уменьшаемое.
* @param {number} вычитаемое.
* @return {number} разность.
*/
function subtraction(a, b) { // функция вычитания, вернуть a - b
if (a < b) {
return b - a;
}
return a - b;
}

/**
* Умножение двух чисел
* @param {number} первый множитель.
* @param {number} второй множитель.
* @return {number} произведение.
*/
function multiplication(a, b) { // функция умножения, вернуть a * b
return a * b;
}

/**
* деление двух чисел
* @param {number} делимое.
* @param {number} делитель.
* @return {number} частное.
*/
function division(a, b) { // функция деления, вернуть a / b
return a / b;
}

</script>
</body>
</html>
97 changes: 97 additions & 0 deletions 5.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Homework</title>
</head>
<body>
<!--
Обязательное задание.

Необходимо скопировать и вставить в данный скрипт все функции из 4 задания.
Необходимо реализовать функцию:
mathOperation(arg1, arg2, operation);
Параметры:
arg1 - первое число.
arg2 - второе число.
operation - строка, которая содержит один символ из: "+", "-", "*", "/".
Функция mathOperation должна вернуть результат операции, который был передан в
параметр operation для двух первых аргументов (arg1 и arg2).
Функция mathOperation должна использовать для вычисления функции из 4 задания.

Примеры вызова функции:
console.log(mathOperation(5, 3, "+")); // 8
console.log(mathOperation(5, 3, ":)")); // NaN

Функции mathOperation всегда передаются корректные числа, проверки на NaN,
Infinity делать не нужно, однако, в случае если был передан некорректный
аргумент в параметр operation, необходимо вернуть NaN.

Необходимо для всех функций прописать комментарии jsdoc https://jsdoc.app/.
-->
<script>
"use strict";

/**
* Сложение двух чисел
* @param {number} первое число для сложения.
* @param {number} второе число для сложения.
* @return {number} результат сложения.
*/
function addition(a, b) { // функция сложения, вернуть a + b
return a + b;
}

/**
* Вычитание двух чисел
* @param {number} уменьшаемое.
* @param {number} вычитаемое.
* @return {number} разность.
*/
function subtraction(a, b) { // функция вычитания, вернуть a - b
if (a < b) {
return b - a;
}
return a - b;
}

/**
* Умножение двух чисел
* @param {number} первый множитель.
* @param {number} второй множитель.
* @return {number} произведение.
*/
function multiplication(a, b) { // функция умножения, вернуть a * b
return a * b;
}

/**
* деление двух чисел
* @param {number} делимое.
* @param {number} делитель.
* @return {number} частное.
*/
function division(a, b) { // функция деления, вернуть a / b
return a / b;
}

/**
* математические операции (+,-,*,/)
* @param {number} первое число для операции
* @param {number} второе число для операции
* @param {string} математическая операция
* @return {number} результат операции
*/
function mathOperation(arg1, arg2, operation) {
switch (operation) {
case '+': return addition(arg1, arg2);
case '-': return subtraction(arg1, arg2);
case '*': return multiplication(arg1, arg2);
case '+': return division(arg1, arg2);
default: return NaN;
}
}

</script>
</body>
</html>
55 changes: 55 additions & 0 deletions 6.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Homework</title>
</head>
<body>
<!--
Необязательное задание.

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

Пример:
console.log(declinationOfNumber(1, "яблоко", "яблока", "яблок")); // "яблоко"
console.log(declinationOfNumber(2, "мяч", "мяча", "мячей")); // "мяча"
console.log(declinationOfNumber(5, "стул", "стула", "стульев")); // "стульев"

Функция должна работать с любым словом и любым целым положительным числом.
Все аргументы, которые будут передаваться функции будут верны.
-->
<script>
"use strict";

function declinationOfNumber(count, one, two, five) {
const digit = count % 100;
if (digit >=11 && digit <=19) {
return five;
} else if ((digit % 10) === 1) {
return one;
} else if ((digit % 10) > 1 && (digit % 10) < 5) {
return two;
} else {
return five;
}
}

// Число яблок, можно пробовать поставить свое целое, положительное число.
const applesNumber = 5;
// Получаем от функции одно из слов "яблоко", "яблока" или "яблок".
const word = declinationOfNumber(applesNumber, "яблоко", "яблока", "яблок");
// Выводим корректную строку, например:
// "У меня есть 1 яблоко."
// "У меня есть 2 яблока."
// "У меня есть 5 яблок."
// При любом целом, положительном числе в applesNumber, строка, которая
// выводится в console.log, должна иметь правильное склонение слова "яблоко".
console.log(`У меня есть ${applesNumber} ${word}.`);

</script>
</body>
</html>