2.8 KiB
2.8 KiB
id, title, localeTitle, challengeType
id | title | localeTitle | challengeType |
---|---|---|---|
587d7b86367417b2b2512b3d | Prevent Infinite Loops with a Valid Terminal Condition | Prevenga los bucles infinitos con una condición de terminal válida | 1 |
Description
while
bucle interior loopy()
. ¡NO llames a esta función!
function loopy() {El trabajo del programador es asegurarse de que finalmente se alcance la condición del terminal, que le indica al programa cuándo salir del código de bucle. Un error es aumentar o disminuir una variable de contador en la dirección incorrecta de la condición del terminal. Otro es restablecer accidentalmente un contador o variable de índice dentro del código de bucle, en lugar de incrementarlo o disminuirlo.
while(true) {
console.log("Hello, world!");
}
}
Instructions
myFunc()
función contiene un bucle infinito debido a que la condición terminal i != 4
Nunca será evaluada como false
(y romper el bucle) - i
aumentará en 2 de cada pasada, y saltar a la derecha durante 4 desde i
es impar para empezar. Corrija el operador de comparación en la condición de terminal para que el bucle solo se ejecute para i
menor o igual a 4.
Tests
tests:
- text: Su código debe cambiar el operador de comparación en la condición del terminal (la parte media) del bucle <code>for</code> .
testString: 'assert(code.match(/i\s*?<=\s*?4;/g).length == 1, "Your code should change the comparison operator in the terminal condition (the middle part) of the <code>for</code> loop.");'
- text: Su código debe arreglar el operador de comparación en la condición terminal del bucle.
testString: 'assert(!code.match(/i\s*?!=\s*?4;/g), "Your code should fix the comparison operator in the terminal condition of the loop.");'
Challenge Seed
function myFunc() {
for (let i = 1; i != 4; i += 2) {
console.log("Still going!");
}
}
Solution
// solution required