Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
3eb06b3
Задание 1
softicer-67 Jul 31, 2021
adc45e8
Задание 1
softicer-67 Jul 31, 2021
cd798ac
Add files via upload
softicer-67 Jul 31, 2021
be59e3f
Add files via upload
softicer-67 Jul 31, 2021
ee0e203
Delete data2.json
softicer-67 Jul 31, 2021
c86ea01
Delete data.json
softicer-67 Jul 31, 2021
b8996f6
Delete 2.py
softicer-67 Jul 31, 2021
129d9dc
Delete 1.py
softicer-67 Jul 31, 2021
bf82de9
Задание 2
softicer-67 Jul 31, 2021
0ae3a5c
Задание 2
softicer-67 Jul 31, 2021
9312e4a
Задание 2
softicer-67 Jul 31, 2021
e55f906
Задача 1
softicer-67 Aug 1, 2021
94f21b6
Задача 1
softicer-67 Aug 1, 2021
1cf0ed0
Задача 1
softicer-67 Aug 1, 2021
7a2737d
Delete PARSING directory
softicer-67 Aug 2, 2021
ced9600
Задача 1
softicer-67 Aug 9, 2021
890911f
Задача 1
softicer-67 Aug 9, 2021
222f37d
Задача 2
softicer-67 Aug 9, 2021
5f10a29
Задача 3
softicer-67 Aug 9, 2021
842c6fb
Задача 1
softicer-67 Aug 11, 2021
bfb3396
Задача 1
softicer-67 Aug 11, 2021
a6809cd
Задача 1
softicer-67 Aug 11, 2021
28df0bf
Задача 1
softicer-67 Aug 11, 2021
3432963
Задача 1
softicer-67 Aug 11, 2021
18d7052
Задача 1
softicer-67 Aug 11, 2021
d3aa633
Задача 1
softicer-67 Aug 11, 2021
977dea5
Задача 1
softicer-67 Aug 11, 2021
b365d97
Задача 2
softicer-67 Aug 12, 2021
907b497
Задача 2
softicer-67 Aug 12, 2021
6be1bff
Задача 1
softicer-67 Aug 13, 2021
d318123
Задача 1
softicer-67 Aug 14, 2021
e678ab1
Add files via upload
softicer-67 Aug 14, 2021
67b6a9e
Delete 1.html
softicer-67 Aug 14, 2021
b0c600c
Rename example.js to example_1.js
softicer-67 Aug 14, 2021
afea005
Задача 2
softicer-67 Aug 14, 2021
e9d55dd
Merge remote-tracking branch 'origin/Parsing' into Parsing
softicer-67 Aug 14, 2021
ef76a80
Add files via upload
softicer-67 Aug 14, 2021
5e5b943
Delete 2.html
softicer-67 Aug 14, 2021
c377ba5
Add files via upload
softicer-67 Aug 14, 2021
36806ad
Update example_1.js
softicer-67 Aug 14, 2021
0fb4a77
Add files via upload
softicer-67 Aug 14, 2021
57f8e66
Update 1.py
softicer-67 Aug 14, 2021
50e7a73
Add files via upload
softicer-67 Aug 14, 2021
60bf376
Update 1.py
softicer-67 Aug 14, 2021
10a1e39
Update 2.py
softicer-67 Aug 14, 2021
bab37fe
Update 1.py
softicer-67 Aug 14, 2021
87471ed
Update 1.py
softicer-67 Aug 14, 2021
9167822
Update 1.py
softicer-67 Aug 14, 2021
30bd928
Update 2.py
softicer-67 Aug 14, 2021
c4d72f5
Update 2.py
softicer-67 Aug 14, 2021
07eff15
Update 2.py
softicer-67 Aug 14, 2021
b9c3812
Add files via upload
softicer-67 Aug 21, 2021
fea1f2b
Add files via upload
softicer-67 Aug 21, 2021
ab0797f
Update 3.txt
softicer-67 Aug 21, 2021
13577a1
Add files via upload
softicer-67 Aug 23, 2021
69c19be
Update 3.txt
softicer-67 Aug 23, 2021
d1f7179
Update 1.txt
softicer-67 Aug 24, 2021
b64863d
Update 1.txt
softicer-67 Aug 25, 2021
d1c95ae
Add files via upload
softicer-67 Aug 25, 2021
8bad893
Update 2.txt
softicer-67 Aug 25, 2021
15ff754
Add files via upload
softicer-67 Aug 29, 2021
ee26af4
Add files via upload
softicer-67 Aug 29, 2021
6765a58
Update main.js
softicer-67 Aug 29, 2021
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

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 30 additions & 0 deletions ALGORITMS/Lesson_6/1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
'''
1. Подсчитать, сколько было выделено памяти под переменные в ранее разработанных программах в рамках первых трех уроков.
Проанализировать результат и определить программы с наиболее эффективным использованием памяти.
Примечание: Для анализа возьмите любые 1-3 ваших программы или несколько вариантов кода для одной и той же задачи.
Результаты анализа вставьте в виде комментариев к коду. Также укажите в комментариях версию Python и разрядность вашей ОС.
'''

import sys

res = {}
for i in range(2, 10):
res[i] = []
for j in range(2, 100):
if j % i == 0:
res[i].append(j)
print(f'Числу {i} кратны {len(res[i])} чисел: {res[i]}')


sum_size = 0
sum_size1 = 0
sum_size2 = 0
sum_size += sys.getsizeof(i)
sum_size1 += sys.getsizeof(print)
sum_size2 += sys.getsizeof(res)

print('\nПеременные занимают:', sum_size, sum_size1, sum_size2)

'''
Переменные занимают: 28 72 360
'''
10 changes: 10 additions & 0 deletions JS/Lesson_1/3_4_.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
3. Чему будет равно JS-выражение 1000 + "108"
Так как 1000 - число,
а '108' - строка, то выражение будет равно '1000108'

4. Самостоятельно разобраться с атрибутами тега script (async и defer)
async подключает скрипты асинхронно,
defer тоже подключает их асинхронно,
но в более строгой последовательности.
Они как бы не блокируют html страничку во время загрузки, а параллельно грузятся

4 changes: 4 additions & 0 deletions JS/Lesson_1/example_1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
let с = prompt('Задайте температуру в градусах по Цельсию: ')
let f = (9 / 5) * с + 32
alert(`Температура в фаренгейтах: ${f}`)

3 changes: 3 additions & 0 deletions JS/Lesson_1/example_2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
let name = 'Василий'
let admin = name
console.log(admin)
15 changes: 15 additions & 0 deletions JS/Lesson_2/1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
1. Дан код:

var a = 1, b = 1, c, d;
c = ++a; alert(c); // 2; 1 + 1 (c = 2), (a = 2)
d = b++; alert(d); // 1; (b = 1) + (d = undefined), (d = 1), (b = 2)
c = (2+ ++a); alert(c); // 5; 2 + (2 + 1) (c = 5), (a = 3)
d = (2+ b++); alert(d); // 4; 1 + 2 + 1 (d = 4), (b = 3)
alert(a); // 3; a = 3
alert(b); // 3; b = 3

++a
инкремент сначала срабатывает, а потом возвращает число

a++
сначала возвращается число, а потом срабатывает инкремент
9 changes: 9 additions & 0 deletions JS/Lesson_2/2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
2. Чему будет равен x в примере ниже?

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

a = 2
1 + (2 * 2) = 5

Ответ: x равен 5
113 changes: 113 additions & 0 deletions JS/Lesson_2/3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
3. Объявить две целочисленные переменные a и b и задать им произвольные начальные значения.
Затем написать скрипт, который работает по следующему принципу:
если a и b положительные, вывести их разность;
если а и b отрицательные, вывести их произведение;
если а и b разных знаков, вывести их сумму; ноль можно считать положительным числом.


const a = Math.floor(Math.random() * (10 - -10) + -10)
const b = Math.floor(Math.random() * (10 - -10) + -10)
if (a > 0 && b > 0) console.log(a - b)
if (a < 0 && b < 0) console.log(a * b)
if ((a >= 0 && b < 0) || (a < 0 && b >= 0)) console.log(a + b)


4. Присвоить переменной а значение в промежутке [0..15].
С помощью оператора switch организовать вывод чисел от a до 15.

const a = Math.floor(Math.random() * (15 - 0) + 0)

switch (a) {
case 0:
console.log(0);
case 1:
console.log(1);
case 2:
console.log(2);
case 3:
console.log(3);
case 4:
console.log(4);
case 5:
console.log(5);
case 6:
console.log(6);
case 7:
console.log(7);
case 8:
console.log(8);
case 9:
console.log(9);
case 10:
console.log(10);
case 11:
console.log(11);
case 12:
console.log(12);
case 13:
console.log(13);
case 14:
console.log(14);
case 15:
console.log(15);
}


5. Реализовать основные 4 арифметические операции в виде функций с двумя параметрами.
Обязательно использовать оператор return.

let a = 10
let b = 5

function plus(a, b){
return a + b;
}

function minus(a, b){
return a - b;
}

function div (a, b){
return a / b;
}

function mult (a, b){
return a * b;
}

console.log(plus(a, b))
console.log(minus(a, b))
console.log(div(a, b))
console.log(mult(a, b))


6. Реализовать функцию с тремя параметрами: function mathOperation(arg1, arg2, operation),
где arg1, arg2 – значения аргументов, operation – строка с названием операции.
В зависимости от переданного значения операции выполнить одну из арифметических операций (использовать функции из пункта 3)
и вернуть полученное значение (использовать switch).

function mathOperation(arg1, arg2, operation){
switch(operation){
case 'сложение':
return arg1 + arg2;
case 'вычитание':
return arg1 - arg2;
case 'деление':
return arg1 / arg2;
case 'умножение':
return arg1 * arg2;
}
}

7. *Сравнить null и 0. Попробуйте объяснить результат.

null это что-то несуществующее, поэтому он не равен ничему, он и не true, и не false

8. *С помощью рекурсии организовать функцию возведения числа в степень.
Формат: function power(val, pow), где val – заданное число, pow – степень.

function power(val, pow){
if (pow <=0) return
if (pow === 1) return val
return val * power(val, pow - 1)
}
35 changes: 35 additions & 0 deletions JS/Lesson_3/1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
1. С помощью цикла while вывести все простые числа в промежутке от 0 до 100

for (let i = 2; i <= 100; i++) {
let prime_number = true;
for (let j = 2; j < i; j++) {
if ((i % j) === 0) {
prime_number = false;
break
}
}

if (prime_number) {
console.log(i)
}
}

//=================================================

let i = 2
while (i < 100) {
let prime_number = true
let j = 2

while (j < i) {
if (i % j === 0) {
prime_number = false
break
}
j++
}
if (prime_number) {
console.log(i)
}
i++
}
2 changes: 2 additions & 0 deletions JS/Lesson_3/2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
2. С этого урока начинаем работать с функционалом интернет-магазина. Предположим, есть сущность корзины.
Нужно реализовать функционал подсчета стоимости корзины в зависимости от находящихся в ней товаров.
26 changes: 26 additions & 0 deletions JS/Lesson_3/3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
3. Товары в корзине хранятся в массиве. Задачи:
a) Организовать такой массив для хранения товаров в корзине;
b) Организовать функцию countBasketPrice, которая будет считать стоимость корзины.


let basket = [
{ name: 'Стол', price: 5500 },
{ name: 'Ноутбук', price: 72000 }
]

function countBasketPrice(basket) {
let basketPrice = 0
for (let prod of basket){
basketPrice += prod.price
}
return basketPrice
}

console.log("Стоимость корзины: " + countBasketPrice(basket) + " руб.")



let basketPrice = 0
basket.forEach(el => basketPrice += el.price)
console.log("Стоимость корзины: " + basketPrice + " руб.")
return basketPrice
5 changes: 5 additions & 0 deletions JS/Lesson_3/4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
4.*Вывести с помощью цикла for числа от 0 до 9, не используя тело цикла. Выглядеть это должно так:
for(…){// здесь пусто}


for (i = 0; i <= 9; console.log(i++)) {}
20 changes: 20 additions & 0 deletions JS/Lesson_3/5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
5. *Нарисовать пирамиду с помощью console.log, как показано на рисунке, только у вашей пирамиды должно быть 20 рядов, а не 5:
x
xx
xxx
xxxx
xxxxx



let row = 'x';
for (let i = 0; i < 20; i++) {
console.log(row);
row += 'x';
}


for (let i = 0; i < 20; i++) {
let res = new Array(i).fill('x')
console.log(res.join(''))
}
31 changes: 31 additions & 0 deletions JS/Lesson_4/1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
1. Написать функцию, преобразующую число в объект. Передавая на вход число от 0 до 999,
надо получить на выходе объект, в котором в соответствующих свойствах описаны
единицы, десятки и сотни. Например, для числа 245 надо получить следующий объект:
{‘единицы’: 5, ‘десятки’: 4, ‘сотни’: 2}. Если число превышает 999, необходимо
выдать соответствующее сообщение с помощью console.log и вернуть пустой объект.


function f(n) {
if (n > 999) {
console.log('число больше 999');
return {}
}
if (n < 0) {
console.log('число меньше 0');
return {}
}

const arr = String(n).split('')
const len = arr.length

return {
сотни: len === 3 ? +arr[0] : 0,
десятки: len === 1 ? 0 : +arr[len - 2],
единицы: +arr[len - 1]
}
}

console.log(f(28))
console.log(f(574))
console.log(f(1000))
console.log(f(-5))
56 changes: 56 additions & 0 deletions JS/Lesson_4/2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
2. Продолжить работу с интернет-магазином:
В прошлом домашнем задании вы реализовали корзину на базе массивов. Какими объектами можно заменить их элементы?
Реализуйте такие объекты.
Перенести функционал подсчета корзины на объектно-ориентированную базу.


class Cart {
constructor(personName, cart) {
this.personName = personName
this.cart = []
}

addToCart({id, name, description, price}) {
this.cart.push({id, name, description, price})
}

itemCount() {
return this.cart.length
}

cartPrice() {
let res = 0
this.cart.forEach(el => res += el.price)
return res
}
}

const Person = new Cart('Ivan Ivanov', [])

const item1 = {
id: 1,
name: 'First item',
description: 'Lorem Ipsum is simply dummy text of the printing and typesetting industry.',
price: 500
}
const item2 = {
id: 2,
name: 'Second item',
description: 'Lorem Ipsum is simply dummy text of the printing and typesetting industry.',
price: 750
}
const item3 = {
id: 3,
name: 'Third item',
description: 'Lorem Ipsum is simply dummy text of the printing and typesetting industry.',
price: 300
}

Person.addToCart(item1)
Person.addToCart(item2)
Person.addToCart(item3)


console.log(Person)
console.log(Person.cartPrice())
console.log(Person.itemCount())
Loading