// ДЗ: Циклы // задание 1 while confirm { while (true) { let result = confirm('Продолжить?'); if (result) { // Выполнить действия, когда пользователь нажмет "ОК" break; } // Выполнить действия, когда пользователь нажмет "Отмена" } } // задание 2 array fill { let items = []; while (true) { let item = prompt('Введите элемент массива:'); if (item === null) { break; } items.push(item); } } // задание 3 array fill nopush { let items = []; let i = 0; while (true) { let item = prompt('Введите элемент массива:'); if (item === null) { break; } items[i] = item; i++; } } // задание 4 infinite probability { let count = 0; while (true) { count++; if (Math.random() > 0.9) { break; } } alert(`Цикл выполнился ${count} раз`); } // задание 5 empty loop { while (true) { let result = prompt('Продолжить?'); if (result === null) { continue; } // Выполнить действия, когда пользователь нажмет "ОК" break; } } // задание 6 progression sum { let N = 10; let sum = 0; for (let i = 1; i <= N; i += 3) { sum += i; } console.log(sum); // 25 } // задание 7 chess one line { let length = 10; let str = ''; for (let i = 0; i < length; i++) { if (i % 2 === 0) { str += ' '; } else { str += '#'; } } console.log(str); // " # # # # # " } // задание 8 numbers { let str = ''; for (let i = 0; i < 10; i++) { for (let j = 0; j < 10; j++) { str += j; } str += '\n'; } console.log(str); } // задание 9 chess { let size = 8; let str = ''; for (let i = 0; i < size; i++) { for (let j = 0; j < size; j++) { if ((i + j) % 2 === 0) { str += '.'; } else { str += '#'; } } str += '\n'; } console.log(str); } // задание 10 cubes { let n = 5; let arr = []; for (let i = 0; i < n; i++) { arr.push(i ** 3); } console.log(arr); // [0, 1, 8, 27, 64] } // задание 11 multiply table { let arr = []; for (let i = 0; i <= 10; i++) { arr[i] = []; for (let j = 0; j <= 10; j++) { arr[i][j] = i * j; } } console.log(arr); } // задание 12 read array of objects { function readArrayOfObjects() { let objects = []; while (true) { let obj = {}; while (true) { let key = prompt('Введите ключ:'); if (key === null) break; let value = prompt('Введите значение:'); if (value === null) break; obj[key] = value; } objects.push(obj); if (!confirm('Хотите ввести еще один объект?')) break; } return objects; } } // задание 13 ромбик { let size = 10; let middle = Math.floor(size / 2); for (let i = 0; i < size; i++) { let row = ''; for (let j = 0; j < size; j++) { if (Math.abs(middle - i) + Math.abs(middle - j) <= middle) { row += '#'; } else { row += '.'; } } console.log(row); } } // задание 14 DOM: multiply table { let table = document.createElement('table'); for (let i = 1; i <= 10; i++) { let row = document.createElement('tr'); for (let j = 1; j <= 10; j++) { let cell = document.createElement('td'); cell.innerText = i * j; row.appendChild(cell); } table.appendChild(row); } document.body.appendChild(table); } // задание 15 DOM: highlight cell { let table = document.createElement('table'); for (let i = 1; i <= 10; i++) { let row = document.createElement('tr'); for (let j = 1; j <= 10; j++) { let cell = document.createElement('td'); cell.innerText = i * j; cell.addEventListener('mouseover', function () { this.style.backgroundColor = 'yellow'; }); cell.addEventListener('mouseout', function () { this.style.backgroundColor = ''; }); row.appendChild(cell); } table.appendChild(row); } document.body.appendChild(table); } // задание 16 DOM: Highlight cross { const table = document.getElementById('table'); table.addEventListener('mouseover', highlight); table.addEventListener('mouseout', unhighlight); function highlight(event) { const td = event.target; const tr = td.parentElement; const colIndex = td.cellIndex; const rowIndex = tr.rowIndex; // Подсветить ячейку td.style.backgroundColor = 'yellow'; // Подсветить строку for (let i = 0; i < tr.children.length; i++) { tr.children[i].style.backgroundColor = 'yellow'; } // Подсветить столбец for (let i = 0; i < table.rows.length; i++) { table.rows[i].children[colIndex].style.backgroundColor = 'yellow'; } } function unhighlight(event) { const td = event.target; const tr = td.parentElement; const colIndex = td.cellIndex; const rowIndex = tr.rowIndex; // Снять подсветку с ячейки td.style.backgroundColor = ''; // Снять подсветку со строки for (let i = 0; i < tr.children.length; i++) { tr.children[i].style.backgroundColor = ''; } // Снять подсветку со столбца for (let i = 0; i < table.rows.length; i++) { table.rows[i].children[colIndex].style.backgroundColor = ''; } } }