Browse Source

homework4 done

holevchuk.evgeny 1 year ago
parent
commit
19d908d9ad

+ 12 - 0
hw04/10_progression_sum.js

@@ -0,0 +1,12 @@
+let sum = 0;
+let start = 1
+let end = 10;
+let step = 3;
+let lastMemberNumber = start + step * (end - 1); // вычисляем последний член арифметической прогрессии от 'start' до 'end' c шагом 'step' = 28
+
+for (let i = start; i <= lastMemberNumber; i+=step) {
+	console.log(i); // члены арифметической прогрессии прогрессии - 1, 4, 7, 10, 13, 16, 19, 22, 25, 28
+	sum += i;
+}
+
+console.log(sum); // сумма арифметической прогрессии от 'start' до 'end' c шагом 'step' = 145

+ 12 - 0
hw04/11_chess_one_line.js

@@ -0,0 +1,12 @@
+let strSpace = ' ';
+let strHash = '#';
+let strResult = '';
+let strHashLength = 5;
+let strSpaceLength = 6;
+
+for (let i = 1, j = 1; i <= strHashLength || j <= strSpaceLength; i++, j++) {
+	if(j <= strSpaceLength) strResult += `${strSpace}`;
+	if(i <= strHashLength) strResult += `${strHash}`;
+}
+
+console.log(`"${strResult}"`);

+ 8 - 0
hw04/12_numbers.js

@@ -0,0 +1,8 @@
+let str = '';
+for (let i = 0; i < 10; i++) {
+	str += '\n';
+	for (let i = 0; i < 10; i++) {
+		str += i;
+	}
+}
+console.log(str);

+ 12 - 0
hw04/13_chess.js

@@ -0,0 +1,12 @@
+let str = '';
+let pattern = '.#';
+const rows = 10;
+const columns = 6;
+
+for (let i = 0; i < rows; i++) {
+	str += '\n';
+	for (let j = 0; j < columns; j++) {
+		i % 2 ? str += pattern.split('').reverse().join('') : str += pattern;
+	}
+}
+console.log(str);

+ 7 - 0
hw04/14_cubes.js

@@ -0,0 +1,7 @@
+let arr = [];
+
+for (let i = 0; i <= 10; i++) {
+	arr.push(Math.pow(i, 3));
+}
+
+console.log(arr);

+ 12 - 0
hw04/15_multiply_table.js

@@ -0,0 +1,12 @@
+let multiplyTable = [];
+
+for (let i = 1; i <= 10; i++) {
+	multiplyTable[i] = [];
+
+	for (let j = 1; j <= 10; j++) {
+		multiplyTable[i][j] = j * i;
+	}
+}
+
+console.log(multiplyTable[5][6]); // 30
+console.log(multiplyTable[7][2]); // 14

+ 25 - 0
hw04/16_matrix_to_html_table.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="UTF-8">
+	<title>Title</title>
+	<style>
+		table {
+			width: 400px;
+			height: 400px;
+			border: 1px solid red;
+			text-align: center;
+			border-collapse: collapse;
+			table-layout: fixed;
+		}
+
+        td {
+            border: 1px solid red;
+        }
+	</style>
+</head>
+<body>
+
+<script src="16_matrix_to_html_table.js"></script>
+</body>
+</html>

+ 25 - 0
hw04/16_matrix_to_html_table.js

@@ -0,0 +1,25 @@
+let multiplyTable = [];
+
+for (let i = 1; i <= 10; i++) {
+	multiplyTable[i] = [];
+
+	for (let j = 1; j <= 10; j++) {
+		multiplyTable[i][j] = j * i;
+	}
+}
+
+const htmlTable = (arr) => {
+	let result = "<table>";
+	for(let i = 1; i < arr.length; i++) {
+		result += "<tr>";
+		for(let j = 1; j < arr[i].length; j++){
+			result += `<td>${arr[i][j]}</td>`;
+		}
+		result += "</tr>";
+	}
+	result += "</table>";
+
+	return result;
+}
+
+document.querySelector('body').insertAdjacentHTML('beforeend', htmlTable(multiplyTable));

+ 62 - 0
hw04/1_html_tree.js

@@ -0,0 +1,62 @@
+let body = {
+	tagName: 'body',
+	paired: true,
+	children: [
+		{
+			tagName: 'div',
+			paired: true,
+			children: [
+				{
+					tagName: 'span',
+					paired: true,
+					content: 'Enter a data please:'
+				},
+				{
+					tagName: 'br',
+					paired: false,
+				},
+				{
+					tagName: 'input',
+					paired: false,
+					attrs: {
+						id: 'name',
+						type: 'text'
+					}
+				},
+				{
+					tagName: 'input',
+					paired: false,
+					attrs: {
+						id: 'surname',
+						type: 'text'
+					}
+				}
+			]
+		},
+		{
+			tagName: 'div',
+			paired: true,
+			children: [
+				{
+					tagName: 'button',
+					paired: true,
+					attrs: {
+						id: 'ok'
+					},
+					content: 'OK'
+				},
+				{
+					tagName: 'button',
+					paired: true,
+					attrs: {
+						id: 'cancel'
+					},
+					content: 'Cancel'
+				}
+			]
+		}
+	]
+}
+
+alert(body.children[1].children[1].content);
+alert(body.children[0].children[3].attrs.id);

+ 25 - 0
hw04/2_declarative_fields.js

@@ -0,0 +1,25 @@
+var notebook = {
+	brand: prompt('Enter a notebook brand'),
+	type:  prompt('Enter a notebook type'),
+	model: prompt('Enter a notebook model'),
+	ram: +prompt('Enter a notebook ram amount'),
+	size: +prompt('Enter a notebook size'),
+	weight: +prompt('Enter a notebook weight'),
+	resolution: {
+		width: +prompt('Enter a notebook resolution width'),
+		height: +prompt('Enter a notebook resolution height'),
+	},
+};
+
+var phone = {
+	brand: prompt('Enter phone brand'),
+	model: prompt('Enter phone model'),
+	ram: +prompt('Enter phone ram amount'),
+	color: prompt('Enter phone color'),
+};
+
+var person = {
+	name: prompt('Enter person name'),
+	surname: prompt('Enter person surname'),
+	married: confirm('Does person married?'),
+}

+ 33 - 0
hw04/3_object_links.js

@@ -0,0 +1,33 @@
+var notebook = {
+	brand: "HP",
+	type:  "440 G4",
+	model: "Y7Z75EA",
+	ram: 4,
+	size: "14",
+	weight: 1.8,
+	resolution: {
+		width: 1920,
+		height: 1080,
+	},
+};
+
+var phone = {
+	brand: "meizu",
+	model: "m2",
+	ram: 2,
+	color: "black",
+};
+
+var person = {
+	name: "Donald",
+	surname: "Trump",
+	married: true,
+}
+
+person.smartphone = phone;
+person.laptop = notebook;
+
+person.smartphone.owner = person;
+person.laptop.owner = person;
+
+console.log(person.smartphone.owner.laptop.owner.smartphone == person.smartphone) // true

+ 5 - 0
hw04/4_imperative_array_fill_3.js

@@ -0,0 +1,5 @@
+let arr = [];
+
+arr.push(prompt('Фамилия'), prompt('Имя'), prompt('Отчество'));
+
+console.log(arr);

+ 4 - 0
hw04/5_while_confirm.js

@@ -0,0 +1,4 @@
+while (!confirm('Прервать цыкл?')) {
+	alert('Еще в цыкле');
+}
+alert('Вышли из цыкла');

+ 10 - 0
hw04/6_array_fill.js

@@ -0,0 +1,10 @@
+let arr = [];
+let index = 0;
+
+while (true) {
+	arr.push(prompt('Напишите елемент масива'));
+	if(arr[index] === null) {
+		break;
+	}
+	index++;
+}

+ 10 - 0
hw04/7_array_fill_nopush.js

@@ -0,0 +1,10 @@
+let arr = [];
+let index = 0;
+
+while (true) {
+	arr[index] = prompt('Напишите елемент масива');
+	if(arr[index] === null) {
+		break;
+	}
+	index++;
+}

+ 10 - 0
hw04/8_infinite_probability.js

@@ -0,0 +1,10 @@
+let index = 1;
+
+while (true) {
+	if(Math.random() > 0.9) {
+		break;
+	}
+	index++;
+}
+
+alert(index);

+ 1 - 0
hw04/9_empty_loop.js

@@ -0,0 +1 @@
+while (prompt("Для продолжкния цыкла нажмите 'Отмена'") !== "") {}