123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318 |
- //ДЗ: Вложенные декларативные структуры и код в них. Отображение циклических и древовидных структур. Циклы.
- //html tree
- let body = {
- tagName: 'body',
- children: [{
- tagName: 'div',
- children: [{
- tagNAme: 'span',
- children: 'Enter a data please:'
- },
- {
- tagNAme: 'br'
- },
- {
- tagNAme: 'input',
- attributs: {
- type: 'text',
- id: 'text'
- }
- },
- {
- tagNAme: 'input',
- attributs: {
- type: 'text',
- id: 'surname'
- }
- }
- ]
- },
- {
- tagName: 'div',
- children: [{
- tagNAme: 'button',
- children: 'OK',
- attributs: {
- id: 'ok'
- }
- },
- {
- tagNAme: 'button',
- children: 'Cancel',
- attributs: {
- id: 'cancel'
- }
- }
- ]
- }
- ]
- }
- //declarative fields
- /* let notebook = {
- brand: prompt("Enter a brand"),
- type: prompt("Enter a type"),
- model: prompt("Enter a model"),
- ram: +prompt("Enter ram value"),
- size: prompt("Enter display size"),
- weight:+prompt("Enter weight"),
- resolution: {
- width: +prompt("Enter resolution weight"),
- height: +prompt("Enter resolution height"),
- },
- };
- let phone = {
- brand: prompt("Enter a brand"),
- model: prompt("Enter a model"),
- ram: +prompt("Enter ram value"),
- color: prompt("Enter color"),
- };
- let person = {
- name: prompt("Enter name"),
- surname: prompt("Enter surname"),
- married: confirm('Are you merried?')
- }
- //object links
- person.smartphone = phone;
- person.laptop = notebook;
- notebook.owner = person;
- phone.owner = person;
- */
- //console.log(person.smartphone.owner.laptop.owner.smartphone == person.smartphone);//true
- //imperative array fill 3
- //let arr1 = [prompt('Enter element'), prompt('Enter element'), prompt('Enter element')];
- //console.log(arr1);
- //while confirm
- /*
- while (!confirm()) {
- console.log('not')
- }
- //array fill
- let array = [];
- let elem;
- do {
- elem = prompt('Enter element');
- if (elem) {
- array.push(elem);
- } else {
- console.log('enter element');
- }
- }
- while(elem);
- console.log(array); */
- //array fill nopush
- /* let array1 = [];
- let elem1 = prompt('Enter element');
- for (let i = 0; elem1; i++){
- let elem1 = prompt('Enter element');
- if (elem1) {
- array1[i] = elem1;
- } else {
- console.log('enter element');
- }
- }
- console.log(array1); */
- //infinite probability
- /* Создайте бесконечный цикл, который прерывается с помощью конструкции break,
- когда Math.random() > 0.9. Код должен подсчитывать количество итераций и вывести это число с помощью alert. */
- /* for (let i = 0; i >= 0; i ++ ){
- if (Math.random() > 0.9 ){
- alert(`${i}`);
- break;
- }
- else {
- console.log(i);
- }
- } */
- //empty loop
- //Сделайте цикл с prompt, который прерывается по нажатию OK и продолжается по нажатию "Отмена" c пустым телом цикла.
- /* let answ;
- do {
- answ = prompt('','1');
- console.log(!answ);
- } while(!answ); */
- //progression sum Подсчитать сумму арифметической прогрессии от 1 до N c шагом 3 (1,4,7....) используя цикл for.
- n = 25;
- let sum = 0;
- for (let i = 0; i < n; i++ ){
- sum += i;
- }
- console.log(sum);
- //chess one line
- //Сформировать строку " # # # # # " с помощью цикла for. Длина строки может быть четной и нечетной, и указывается в одном месте в коде.
- /* function string(length) {
- let str = '';
- for(let i = 0; i < length; i++)
- str +=' #'
- document.write(str)
- }
- string(30); */
- //Сформировать строку c помощью вложенных циклов. Для перевода строки используйте \n.
- /* let strNum = '';
- for (let i =0; i < 10; i++){
- strNum +='\n <br>';
-
- for (let k =0; k < 10; k++){
- strNum += `${k}`;
- }
-
- }
- document.write(strNum);
- console.log(strNum); */
- //chess
- /* function chessDesc(width, height) {
- let desk = '';
- for (let i = 0; i < width; i++){
- desk +='<br>';
- for (let k = 0; k < height; k++){
- if(i%2){
- desk += `. #`;
- } else {
- desk += `# .`;
- }
- }
- }
- document.write(desk);
-
- }
- chessDesc(15, 30); */
- //cubes Сформируйте массив из N элементов, содержащий в себе кубы индексов, т. е:
- function cubes(arr){
- let arrCube = [];
- for (let i in arr){
- arrCube.push(i**3);
- }
- return arrCube;
- }
- console.log(cubes([1,5,5,5,5,5,,5,]));
- //multiply table
- /* C помощью вложенного цикла сформируйте массив массивов "таблица умножения". Для инициализации вложенных массивов используйте
- arr[i] = [] //в i-тый элемент массива заносится новый пустой массив
- arr[5][6] должен быть равен, соответственно, 30, arr[7][2] == 14 и так далее. */
- let arr = [];
- for (let i = 0; i < 10; i++){
- arr[i] = [i];
- //console.log(arr[5]);
- for (let k = 0; k < 10; k++){
- arr[i][k] = k;
- arr[i][k] = k *i;
- }
- }
- console.log(arr[5][6]);
-
- /* matrix to html table
- Сделайте вложенный цикл, который формирует HTML-таблицу в переменной
- строкового типа из любого двумерного массива. Т. е. если в нём использовать результат
- работы предыдущего задания, то получится таблица умножения в HTML (Таблица Пифагора)
- */
- function tableFromArray(arr){
- let str = '<table>';
- for (let i = 1; i < arr.length; i++) {
- str +='<tr>';
- for (let j = 1; j < arr.length; j++){
- str +=`<td> ${arr[j][i]}</td>`;
- }
- str +='</tr>';
- }
- str +='</table>';
- document.write(str);
- }
- tableFromArray(arr);
- /* Задание на синий пояс: Треугольник
- Сформировать следующую строку - треугольник: */
- /*
- .....#.....
- ....###....
- ...#####...
- ..#######..
- .#########.
- ########### */
- function triangle(height){
- for (let i = 0; i < height; i++) {
- for (let k = height; k > i + 1; k--) { //rendering from center to left
- document.write('.')
- }
- for (let j = 0; j < i + 1; j++) { // render center
- document.write('#')
-
- }
- for (let k = height; k > i + 1 ; k--) { //rendering from center to rigth
- document.write('.')
- }
- document.write("<br>")
- }
- }
- triangle(6);
-
- //Задание на черный пояс: Электронная гадалка
- let predictArray = [];
- let history = [1,1,1,0];
- console.log(history[3]);
- let userAnswer = +prompt('enter your number');
- history.shift();
- history.push(userAnswer);
- console.log(history);
- for(let i = 0; i < 4; i++){
- predictArray[i] = history;
- //console.log(predictArray);
- for(let k = 0; k < 4; k++){
- history[k] = [];
- /* for(let n = 0; n < 4; n++){
- predictArray[i][k][n] = [];
- for(let j = 0; j < 4; j++){
- predictArray[i][k][n][j] = -1;
- }
- } */
- }
- }
- console.log(predictArray);
|