2.7 KiB
2.7 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
587d7b86367417b2b2512b3d | Prevent Infinite Loops with a Valid Terminal Condition | 1 | Evite Loops Infinitos com uma Condição Terminal Válida |
Description
while
loop dentro loopy()
. NÃO chame esta função! função loopy () {É tarefa do programador garantir que a condição do terminal, que informa ao programa quando sair do código de loop, seja atingida. Um erro é incrementar ou decrementar uma variável do contador na direção errada da condição do terminal. Outro é acidentalmente redefinir uma variável de contador ou índice dentro do código de loop, em vez de incrementar ou decrementar.
while (true) {
console.log ("Olá, mundo!");
}
}
Instructions
myFunc()
contém um loop infinito porque a condição terminal i != 4
nunca será avaliada como false
(e quebrará o loop) - i
aumentarei em 2 cada passo, e saltará sobre 4, já i
é estranho iniciar. Corrija o operador de comparação na condição do terminal para que o loop seja executado apenas para i
menor ou igual a 4. Tests
tests:
- text: Seu código deve mudar o operador de comparação na condição terminal (a parte intermediária) do loop <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: Seu código deve corrigir o operador de comparação na condição terminal do loop.
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