3.6 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			3.6 KiB
		
	
	
	
	
	
	
	
id, title, challengeType, forumTopicId, localeTitle
| id | title | challengeType | forumTopicId | localeTitle | 
|---|---|---|---|---|
| 587d7b86367417b2b2512b3d | Prevent Infinite Loops with a Valid Terminal Condition | 1 | 301192 | Предотвращение бесконечных циклов с допустимым условием терминала | 
Description
while петлях внутри loopy() . Не вызывайте эту функцию! функция loopy () {Задача программиста заключается в том, чтобы в конечном итоге было достигнуто условие терминала, которое сообщает программе о выходе из кода цикла. Одна ошибка - это увеличение или уменьшение переменной счетчика в неправильном направлении от состояния терминала. Другой случайный сброс счетной или индексной переменной в коде цикла, вместо того, чтобы увеличивать или уменьшать ее.
while (true) {
console.log («Привет, мир!»);
}
}
Instructions
myFunc() содержит бесконечный цикл, потому что условие терминала i != 4 никогда не будет оценивать значение false (и прерывать цикл). i будет увеличиваться на 2 каждый проход и прыгать прямо над 4, так как i нечетно для запуска. Исправьте оператор сравнения в терминальном условии, чтобы цикл выполнялся только для i меньшего или равного 4.
Tests
tests:
  - text: Your code should change the comparison operator in the terminal condition (the middle part) of the <code>for</code> loop.
    testString: assert(code.match(/i\s*?<=\s*?4;/g).length == 1);
  - text: Your code should fix the comparison operator in the terminal condition of the loop.
    testString: assert(!code.match(/i\s*?!=\s*?4;/g));
Challenge Seed
function myFunc() {
  for (let i = 1; i != 4; i += 2) {
    console.log("Still going!");
  }
}
Solution
function myFunc() {
 for (let i = 1; i <= 4; i += 2) {
   console.log("Still going!");
 }
}