Files
freeCodeCamp/curriculum/challenges/spanish/02-javascript-algorithms-and-data-structures/debugging/prevent-infinite-loops-with-a-valid-terminal-condition.spanish.md
2018-10-08 13:34:43 -04:00

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

El tema final es el bucle infinito temido. Los bucles son excelentes herramientas cuando necesita que su programa ejecute un bloque de código un cierto número de veces o hasta que se cumpla una condición, pero necesitan una condición de terminal que termine el bucle. Es probable que los bucles infinitos congelen o bloqueen el navegador, y causen un caos general en la ejecución del programa, que nadie quiere. No fue un ejemplo de un bucle infinito en la introducción a esta sección - que no tenía condición terminal para salir de la while bucle interior loopy() . ¡NO llames a esta función!
function loopy() {
  while(true) {
    console.log("Hello, world!");
  }
}
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.

Instructions

El 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