Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JS Begin homework #1

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
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
11 changes: 11 additions & 0 deletions JavaScript Begin/hw1/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// В переменных a и b хранятся числа. Написать
// программу, которая выводит в консоль произведение
// и сумму этих чисел.

{
const a = 21;
const b = 24;

console.log(`Произведение чисел ${a} и ${b} равно ${a * b}`);
console.log(`Сумма чисел ${a} и ${b} равна ${a + b}`);
}
9 changes: 9 additions & 0 deletions JavaScript Begin/hw1/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// В двух переменных хранятся строки символов.
// Написать программу, которая выведет в консоль
// суммарное количество символов в обоих строках.

const firstString = 'Один';
const secondString = 'Два';
const concatString = firstString + secondString;

console.log(concatString.length);
11 changes: 11 additions & 0 deletions JavaScript Begin/hw1/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// *Написать программу, которая запрашивает у
// пользователя ввод трёхзначного числа, а потом
// выводит в консоль сумму цифр введённого числа.

const threeDigitNumber = prompt('Введите трехзначное число: ');

const thirdNumber = threeDigitNumber % 10;
const secondNumber = (threeDigitNumber - thirdNumber) % 100 / 10;
const firstNumber = (threeDigitNumber - thirdNumber - secondNumber * 10) / 100;

console.log(firstNumber * secondNumber * thirdNumber);
23 changes: 23 additions & 0 deletions JavaScript Begin/hw10/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Пользователь вводит текстовую строку. Определить с
// помощью регулярного выражения, является ли
// введённая строка:
// 1.Датой.
// 2.Адресом электронной почты.
// 3.*Номером телефона

{
const str = prompt('Введите значение: ');
const dateRegexp = /^(0[1-9]|[12][0-9]|3[0-1])\.(0[1-9]|1[0-2])\.(0[0-9]{2}[1-9]{1}|[1-9]{1}[0-9]{3})$/;
const emailRegexp = /^(\w+)@([a-z]{2,})\.([a-z]{2,})$/;
const phoneRegexp = /^(8|\+?7)\-?(9[0-9]{2})\-?([0-9]{3})\-?([0-9]{2})\-?([0-9]{2})$/;

if (dateRegexp.test(str)) {
console.log('Введенное значение является датой');
} else if (emailRegexp.test(str)) {
console.log('Введенное значение является электронным адресом');
} else if (phoneRegexp.test(str)) {
console.log('Введенное значение является телефоном');
} else {
console.log('Введенное значение некорректно');
}
}
15 changes: 15 additions & 0 deletions JavaScript Begin/hw2/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// В переменных a и b хранятся числа. Вывести в
// консоль наибольшее из них.

{
const a = 4;
const b = 7;

if (a > b) {
console.log(a);
} else if (a < b) {
console.log(b);
} else {
console.log('Оба числа одинаковые');
}
}
49 changes: 49 additions & 0 deletions JavaScript Begin/hw2/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// Запросить у пользователя ввод числа от 1 до 12.
// Вывести в консоль название месяца, соответствующее
// этому числу (1 — январь, 2 — февраль и т.д.).

{
const num = prompt('Введите число от 1 до 12: ');

switch (+num) {
case 1:
console.log('Январь');
break;
case 2:
console.log('Февраль');
break;
case 3:
console.log('Март');
break;
case 4:
console.log('Апрель');
break;
case 5:
console.log('Май');
break;
case 6:
console.log('Июнь');
break;
case 7:
console.log('Июль');
break;
case 8:
console.log('Август');
break;
case 9:
console.log('Сентябрь');
break;
case 10:
console.log('Октябрь');
break;
case 11:
console.log('Ноябрь');
break;
case 12:
console.log('Декабрь');
break;
default:
console.log('Читай задание внимательно!');
break;
}
}
24 changes: 24 additions & 0 deletions JavaScript Begin/hw2/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// *В переменных circle и square хранятся площади круга
// и квадрата соответственно. Написать программу,
// которая определяет, поместится ли круг в квадрат.

const circle = 14.2;
const square = 16;

// Площадь круга можно вычислить по формуле S = 3.14 * r^2, где r - радиус.
// Площадь квадрата можно вычислить по формуле S = 4 * r^2, где r - радиус вписанной окружности.

// Получаем радиус окружности, возведенный в квадрат.
const circleDoubleRadius = (circle / 3.14).toFixed(3);
// Получаем радиус вписанной в квадрат окружности, возведенный в квадрат.
const innerCircleDoubleRadius = (square / 4).toFixed(3);

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

console.log(circleDoubleRadius, innerCircleDoubleRadius);
if (innerCircleDoubleRadius >= circleDoubleRadius) {
console.log('Круг в квадрат поместится');
} else {
console.log('Круг в квадрат не поместится');
}
11 changes: 11 additions & 0 deletions JavaScript Begin/hw3/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Вывести в консоль сумму всех целых чисел от 50 до 100.

{
let sum = 0;

for (let i = 50; i <= 100; i++) {
sum += i;
}

console.log(sum);
}
24 changes: 24 additions & 0 deletions JavaScript Begin/hw3/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// Вывести в консоль таблицу умножения на 7.
// 7 x 1 = 7
// 7 x 2 = 14
// …
// 7 x 9 = 63

{
const num = 7;
let i = 1;

while (i <= 9) {
console.log(`${i} x ${num} = ${i * num}`);
i++;
}

// while (true) {
// if (i > 9) {
// break;
// }

// console.log(`${i} x ${num} = ${i * num}`);
// i++;
// }
}
25 changes: 25 additions & 0 deletions JavaScript Begin/hw3/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// *Запросить у пользователя ввод числа N. Вывести в
// консоль среднее арифметическое всех нечётных
// чисел от 1 до N.

{
const N = prompt('Введите целое число: ');
let sum = 0;
let oddNumCount = 0;

// Вариант 1
// for (let i = 1; i <= +N; i++) {
// if (i % 2 !== 0) {
// sum += i;
// oddNumCount += 1;
// }
// }

// Вариант 2
for (let i = 1; i <= +N; i = i + 2) {
sum += i;
oddNumCount += 1;
}

console.log(sum / oddNumCount);
}
14 changes: 14 additions & 0 deletions JavaScript Begin/hw4/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Создайте объект user, содержащий поле name со
// значением ‘John’.
// Запросить у пользователя ввод числа. Записать
// введенное значение в поле age объекта user.

{
const user = {
name: 'John'
};

user.age = +prompt('Введите число: ');

console.log(user);
}
15 changes: 15 additions & 0 deletions JavaScript Begin/hw4/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// Создать копию объекта user с именем admin.
// Добавить новому объекту поле role со значением ‘admin’.


{
const user = {
name: 'John'
};

user.age = +prompt('Введите число: ');

const admin = Object.assign({}, user, { role: 'admin' });

console.log(user, admin);
}
17 changes: 17 additions & 0 deletions JavaScript Begin/hw4/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// Записать все значения полей объекта admin в
// отдельные переменные. Имена переменных
// должны совпадать с названиями полей.

{
const user = {
name: 'John'
};

user.age = +prompt('Введите число: ');

const admin = Object.assign({}, user, { role: 'admin' });

const { name, age, role } = admin;

console.log(name, age, role);
}
14 changes: 14 additions & 0 deletions JavaScript Begin/hw5/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Создайте массив целых чисел из 10 элементов.
// Выведите в консоль сумму всех элементов массива.

{
const arr = [0, 1, 2, 4, 8, 16, 32, 64, 128, 256];

let sum = 0;

arr.forEach(function(i) {
sum += i;
});

console.log(sum);
}
14 changes: 14 additions & 0 deletions JavaScript Begin/hw5/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Создайте массив целых чисел из 10 элементов.
// Создайте новый массив на основе исходного, в
// котором каждый элемент будет вдвое больше
// элемента исходного массива с таким же индексом.
// (a[1] = 3, b[1] = 6, где a — исходный массив, b — новый массив).

{
const arr = [0, 1, 2, 4, 8, 16, 32, 64, 128, 256];
const newArr = arr.map(function(i) {
return i * 2;
});

console.log(arr, newArr);
}
21 changes: 21 additions & 0 deletions JavaScript Begin/hw5/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Создайте массив целых чисел из 10 элементов.
// *Найдите и выведите в консоль наибольший и наименьший элементы исходного массива.

{
const arr = [0, 1, 2, 4, 8, 16, 32, 64, 128, 256];

let min = arr[0];
let max = arr[0];

arr.forEach(function(i) {
if (i < min) {
min = i;
}

if (i > max) {
max = i;
}
});

console.log(min, max);
}
11 changes: 11 additions & 0 deletions JavaScript Begin/hw6/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Напишите функцию diff, которая получает в качестве
// параметров 2 числа и возвращает разницу между
// наибольшим и наименьшим.

{
function diff(firstNum, secondNum) {
return firstNum > secondNum ? firstNum - secondNum : secondNum - firstNum;
}

console.log(diff(1, 5));
}
20 changes: 20 additions & 0 deletions JavaScript Begin/hw6/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Напишите функцию isWord, которая принимает на
// вход текстовую строку. Функция возвращает true, если
// строка состоит из одного слова и false, если из
// нескольких.

{
const isWord = (str) => {
const words = str.split(' ');

if (words.length === 1) {
return words[0] ? true : 'Строка пустая!';
} else {
return false;
}
};

console.log(isWord(''));
console.log(isWord('слово'));
console.log(isWord('два слова'));
}
17 changes: 17 additions & 0 deletions JavaScript Begin/hw6/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// *Напишите функцию pow(a, x), которая вернёт
// значение числа a, возведённого в степень x

{
// Работает только для случаев, когда x представляет собой целое число не менее 1
function pow(a, x) {
let result = 1;

for (let i = 1; i <= x; i++) {
result *= a;
}

return result;
}

console.log(pow(9, 2));
}
Loading