Resolución de problemas

arr.push(elem)
for(var i = 0; i < arr.length; i++) {
  // statements
}
var arr = [];
var actual = 0;
var prev = 1;
var prevPrev = 0;
for(var i = 0; i < 10; i++) {
    actual = prev + prevPrev;
    prevPrev = prev;
    prev = actual;
    arr.push(actual);
}
console.log(arr);

Decir qué hace el siguiente código:

"Unfortunately, no one can be told what programming is. You have to see it for yourself."

-Morpheus

Paso 1: rara vez se empieza con código

Paso 2: abstraerse de formalismos

  • for  < --- > recorrer estructuras de datos, repetir comportamiento, etc
  • if  < --- > condición que requiera control de flujo
  • switch < --- > conjunto de condiciones que requieran control de flujo dado un único valor
  • arr.push / str += char < --- > agregar un elemento a una lista / cadena de caracteres
  • arr.pop < --- > remover el último elemento de una lista
  • while < --- > repetir comportamiento hasta cumplir con cierto estado
// inicializo un array vacío
// inicializo una variable para el valor de la secuencia actual
// inicializo una para el valor previo al actual
// inicializo una variable para el valor anterior al previo


// repito 10 veces
// |-- el valor actual de la secuencia es igual a la suma de los dos anteriores
// |
// |-- agrego el valor actual al array


// imprimo por pantalla

Abstracción del ejemplo anterior

Paso 3: ir de abstracción a implementación concreta

Made with Slides.com