¿Has terminado el curso de programación básica y buscas saber mas de la programación? Me gustaría aportar a la comunidad con conocimiento en el área de desarrollo con algunos conceptos sencillos en el mundo de la programación.
A medida que se van presentando problemas y los vas resolviendo con un código del cual te sientes orgulloso, llegas a darte cuenta que hay ciertos patrones que suelen aparecer en múltiples códigos, ciertas variables que tienen comportamientos similares sin importar la naturaleza del algoritmo.
Voy a explicar 3 conceptos interesantes, contadores, acumuladores y centinelas.
Contadores
Un contador, no es mas que una variable que cuenta (¿Parece obvio, no?). Los contadores suelen aparecer en ciclos o funciones recursivas (Tema bastante interesante).
var i = 1;
var par = 0;
while (i <= 10) {
if ( i % 2 == 0 ){
par++;
}
i++;
}
En este código, el contador es la variable “par”, normalmente son inicializadas en 0 antes de un ciclo y suelen aumentar su valor (par++
) si se cumplen ciertas condiciones, en este caso, cuenta la cantidad de números pares que hay entre 1 y 10
Acumuladores
Los acumuladores son variables que almacenan datos de una suma continua, su característica mas común es que su valor suele ser siempre una suma o resta del valor actual con un dato nuevo.
var notas = [8, 7, 10, 9, 5];
var acum = 0;
var promedio;
for (var i = 0; i < notas.length; i++){
acum = acum + notas[i];
}
promedio = acum / notas.length;
La variable que actúa como contador es “acum”, normalmente se inicializan en 0 antes de una ciclo y suelen sumar su valor actual con un nuevo dato (acum = acum + notas[i]
). En este caso, suma todas las notas al recorrer el array notas y luego calcula el promedio.
Centinelas
Tambien llamados “banderas”, los centinelas son variables, normalmente de tipo lógicas (boolean), conservan un estado hasta que un evento requiera cambiarlo y ejecutar otra funcionalidad.
var arrelo = [1, 6, 8, 7, 9, 12];
var band = false;
var i = 0;
while (!band && i < arreglo.length){
if (arreglo[i] == 9){
band = true;
}else{
i++;
}
}
if (band){
console.log('Encontramos el numero 9')
}else{
console.log('No encontramos el numero 9')
}
La variable “band” es la que vive como un centinela o bandera. Es una variable lógica que es inicializada en falso y hace que el ciclo while se ejecute hasta conseguir el numero 9 dentro de la variable “arreglo”. Podemos ver que luego del ciclo, preguntamos por el valor de band para saber si existe o no el numero 9 dentro de “arreglo”
Espero poder haber ayudado a comprender estos pequeños conceptos que les van a presentar en muchos proyectos a lo largo de su carrera como programador.
Curso Básico de Programación