denis_alekss
User-
Posts
35 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Everything posted by denis_alekss
-
Я там прочитал и вроде все как проделал, выделил синим на фото начало функции и конец, не могу понять какой клавишей проходится пошагово, чтобы видеть как проходит цикл пошагово.
-
Как пошагово тестировать этот цикл в хром или Мозиле? Вы писали вроде в инспектор, но непонятно как в нем тестировать, чтобы пошагово проходило по циклу.
-
Спасибо, наконец-то разобрался в двойном цикле, а их может быть например 4 вложенных или 5 если решается масштабная задача?
-
Вроде разобрался, но прочитайте в самом конце вопрос и дайте пожалуйста ответ там на вопрос. К примеру пользователь первоначально в вводит цифру 10 И мы нажимаем кнопку жми. Сейчас напишу как я понял, как работает двойной цикл for. nextPrime: for(let i = 2; i<=rez; i++){ for( let j = 2; j < i; j++){ if(i%j ==0) continue nextPrime; } document.write(i+"<br>"); } 1. В самом начале во Внутренним цикле for идет сравнение 2<2? (i=2, j=2) нет 2 не меньше двух, Внутренний цикл for не выполняется, так как условие ложь и идёт переход со внутреннего во внешний цикл for где выполняется инструкция с выводом document.write(i+"<br>"); Выводим в конечный результат Первую цифру 2 на экран. <————————————————————————————————--> 2. i увеличивается на один во внешнем цикле for, i =3, Далее во внутреннем цикле for идёт сравнение 2<3? (j=2, i=3) Да, 2 меньше трех и выполняется условие if Во внутреннем цикле. 3/2 дает остаток 0? Нет, не дает, Идёт возврат снова во внутренний цикл где (j=3, i=3), 3<3? Нет, не меньше, Внутренний Цикл for не выполняется Идёт переход во внешний цикл For в котором выполняется инструкция document.write(i+"<br>"); Выводим в конечный результат цифру 3 на экран. <————————————————————————————————--> 3.i увеличивается на один во внешнем цикле for, i =4, Далее во внутреннем цикле for идёт сравнение 2<4? (j=2, i=4) Да, 2 меньше 4 и выполняется условие if Во внутреннем цикле. 4/2 дает остаток 0 -это истинна и идет переход к метке nextPrimе. Запускается внешний цикл снова, увеличивается i на один во внешнем цикле for и i =5. Далее во внутреннем цикле for идёт сравнение 2<5? (j=2, i=5), Да, меньше, выполняем if во внутреннем цикле, if дает ложь. Идёт переход снова во внутренний цикл for, j увеличивается на 1 (j=3, i=5). 3<5? Да, снова выполняется условие if, 5/3 дает ложь, идет снова возврат во внутренний цикл for, (j=4, i=5), Выполняется снова if, 5/4 дает ложь, снова возврат во внутренний цикл (j=5, i=5) 5<5, Нет не меньше идёт переход во внешний цикл for где выводится через document.write(i+"<br>"); результат на экран Имеем уже на данный момент 2,3, 5 на выводе. <————————————————————————————————--> 4. i увеличивается на один во внешнем цикле for, i =6, Далее во внутреннем цикле for идёт сравнение 2<6? (j=2, i=6) Да, 2 меньше 6 и выполняется условие if Во внутреннем цикле. 6/2 дает остаток 0, идете переход к метке. Снова запускается внешний цикл for, уже i=7. Во внутреннем цикле for Идёт сравнение 2<7, да. Условие иф дает ложь при 7/2, происходит возврат во внутренний цикл for (j=3, i=7) Условие иф дает ложь при 7/3, происходит возврат во внутренний цикл for (j=4, i=7) Условие иф дает ложь при 7/4, происходит возврат во внутренний цикл for (j=5, i=7) , Условие иф дает ложь при 7/5, происходит возврат во внутренний цикл for (j=6, i=7) Условие иф дает ложь при 7/6, происходит возврат во внутренний цикл for (j=7, i=7). 7<7? Нет, Идет переход во внешний цикл for в котором document.write выводит на экран цифру семь. <————————————————————————————————--> 5. i увеличивается на один во внешнем цикле for, i =8, Далее во внутреннем цикле for идёт сравнение 2<8? (j=2, i=8) Да, 2 меньше 8 и выполняется условие if во внутреннем цикле. 8/2 дает остаток 0 -это истинна и идет переход к метке nextPrimе. Во внутреннем цикле for Идёт сравнение 2<9, да, выполняется if 9/2 дает ложь, далее j++, идет возврат во внутренний цикл, j увеличивается на 1.(j=3, i = 9). 3<9? Да, выполняется условие if. 9/3 условие истинно и идет переход к метке, а затем i увеличивается с 9 на 10 во внешнем цикле for. КАКИМ ОБРАЗОМ ВЫВОДИТСЯ 9?
-
Спасибо большое за подробное изъяснение, вопрос про внутренний цикл FOR. Почему j начинает меняться на j++ только тогда когда уже i =5, а не за каждую итерацию? Вы пишите: «, j становится равным 3 », а затем при следующей итерации во внутренем цикле j=2 и 4 делится на 2 ( хотя было 3 ). Почему j за следующей итерацией, после того как j было 3 стало 2? Важный момент, я про это: Здесь мы получаем false, возвращаемся в for( let j = 2; j < i; j++) где срабатывает j++ То есть если условие оказалось ложью мы возвращаемся снова во внутренний цикл, второй раз? Внутренний цикл запускается 2 раза если условие во внутреннем цикле for оказалось ложью? То есть происходит выход из внутреннего цикла и document.write(i+"<br>"); пропускается когда условие true? Ничего не выводится я пробовал сохранять результат в InnerHTML,а затем выводит ссылаясь на getElementById не сохраняется весь вывод всех итераций, тут наверное массив нужно создавать
-
Натуральное число, большее 1, называется простым, если оно ни на что не делится, кроме себя и 1. Как я понял, например если взять число 4, оно не простое, оно делится и на себя и на 1 и на четное 2. Теперь если глянуть на код как он работает. 1-ая итерация цикла: Идет проверка на остаток числа 3/2= есть остаток от деления. Алерт должен вывести 3 а не 2, но почему вывод вначале двйоки произошел? Ведь i = 3 за первым прогоном после i++ он стал 3 2-ая итерация цикла: Метка перешла на начало цикла и пошла проверка 4/3? Объясните, как происходит первая и вторая итерация в этом коде цифрами, что на что делится и как выводится очередность? Я модернизировал код с кнопкой, для удобности, но как происходит проверка при итерациях не понял. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Тест</title> <script> function fanta(){ let rez = one.elements.number.value; nextPrime: for(let i = 2; i<=rez; i++){ for( let j = 2; j < i; j++){ if(i%j ==0) continue nextPrime; } document.write(i+"<br>"); } } </script> </head> <body> <form id="one"> <input type="text" name="number" > <input type="submit" onClick="fanta()" value="Жми"> </form> <p id='result'></p> </body> </html>
-
Есть задача: Вывести простые числа важность: 3 Натуральное число, большее 1, называется простым, если оно ни на что не делится, кроме себя и 1. Другими словами, n > 1 – простое, если при его делении на любое число кроме 1 и n есть остаток. Например, 5 это простое число, оно не может быть разделено без остатка на 2, 3 и 4. Напишите код, который выводит все простые числа из интервала от 2 до n. Для n = 10 результат должен быть 2,3,5,7. P.S. Код также должен легко модифицироваться для любых других интервалов. Вот решение задачи вложенным циклом FOR let n = 10; nextPrime: for (let i = 2; i <= n; i++) { // Для всех i... for (let j = 2; j < i; j++) { // проверить, делится ли число.. if (i % j == 0) continue nextPrime; // не подходит, берём следующее } alert( i ); // простое число } Правильно я понимаю? Речь про строку if (i % j == 0) continue nextPrime; За первой итерацией будет проверяться остаток от деления 3/2? i до того как дойдет до второго внутреннего for из-за i++ станет 3, хотя он стартовал с 2 и затем будет в If проверяться остаток от деления 3/2 (три на два за первым прогоном цикла)?
-
Как запустить форму при нажатии на клавишу ENTER? Не реагирует на ENTER, после ввода в текстовое поле. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Тег input, атрибут type</title> <script> function fanta(){ if(one.elements.number.value == 5) alert("Все правильно!") document.getElementById('result').innerHTML = "Неправильно, введите в полее цифру 5" } </script> </head> <body> <form id="one"> <input type="text" name="number"> <input type="button" value="Жми" onClick="fanta()"> </form> <p id='result'></p> </body> </html>
-
Не получается выделить первую букву через псевдоэлемент
denis_alekss replied to denis_alekss's question in HTML Coding
Ваш пример выше неплохой, но он выделит первую букву каждого предложения, а мне нужно именно слова Новье -
Не получается выделить первую букву через псевдоэлемент
denis_alekss posted a question in HTML Coding
Как первую букву в слове "Новье" выделить жирным штифтом и цветом? <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Псевдоэлементы</title> <style> P.new:after { content: " - Новьё!"; /* Добавляем после текста абзаца */ } </style> </head> <body> <p class="new">Ловля льва в пустыне с помощью метода золотого сечения.</p> <p>Метод ловли льва простым перебором.</p> </body> </html>