duduromeroa.com

Algoritmos en programación: parte 2

Ejercicios con pseudo algoritmos


George Póyla, matemático. Resolver problemas de diseño. www.duduromeroa.com

Por Eduardo Romero
, Guayaquil, Ecuador

Contacto duduromeroa@gmail.com


#fundamentosProgramacion, #algoritmos, #javascript, #Guayaquil, #duduromeroa


Muchos de los conceptos relacionados a los fundamentos en algoritmos serán también explicados en código de programación. El lenguaje a usar será Javascript. Si deseas revisar a profundidad ese lenguaje, puedes ir a esta sección.



¿Un algoritmo es similar a una expresión matemática?

Los algoritmos fueron, desde su origen hace tres mil años de antigüedad, operaciones matemáticas en secuencia para demostrar resultados. Es decir, evidenciar pasos comprobados y validados.

Practicando pseudocódigo

En esta sección propuse una sintaxis para diseño de pseudocódigo, con algunos términos en español, pero mantiendo ciertas palabras claves en sintaxis de lenguajes de programación, como Javascript.

Vamos con el primer y sencillo ejercicio:

Secuencia de números

Mostrar una secuencia de números, del 1 al 18, pero con incrementos de 3:

  • 'Mostrar una secuencia' exige una iteración (repetición) de operaciones. La sintaxis FOR es adecuada en lenguajes de programación.
  • Tener en cuenta que al actualizar el valor de 'num', se debe sumar lo que ese enlace ya tiene, más el valor de incremento (en este caso, el 3).
  • La condición 'soloSi <= tope' solo recibirá a los números menores a 18, y ejecutará la actualización solo si esa condición se cumple en cada iteración.

INICIA Iteración del 1 al 18
num = 0, tope = 18;
FOR (con num, soloSi num <= tope, num = num + 3){
EsCierto:
 AhoraEs num = num + 3;
 Mostrar num;
}
//Interno num ahoraEs 0, 3, 6, 9....18
TERMINA



En sintaxis de Javascript, el ejemplo anterior se lo traduce en:

En Javascript

var num = 0;
var tope = 18;
for (num; num <= tope; num = num + 3){
    console.log(num);
}

Revisar bucles en Javascript



Redondear cifra decimal

Aplicaremos solo matemática y el operador módulo (signo %) para extraer el residuo de una división.

  • EL valor de 'cantDeci' nos permite indicar la cantidad de decimales finales

INICIA Redondeo de decimal
valor = 3.141699472;
cantDeci = 10;
preResultado = (valor * cantDeci) + 0.5;
ObtieneResiduoDiv = preResultado - (preResultado % 1);
resultadoFinal = ObtieneResiduoDiv / cantDeci;
Mostrar resultadoFinal;
FIN



Traducido a Javascript, el método toFixed(1) redondea la cifra a un decimal.

En Javascript

var valor = 3.141699472; 
console.log(valor.toFixed(1));
// 3.1

Revisar método en Javascript

BIBLIOGRAFÍA
Cormen, T., Leiserson, Ch., Rivest, R., Stein, C. (2022) Introduction to Algorithms (4ta. Ed.) MIT press.

Neapolitan, R. (2015) Foundations of Algorithms Jones, Bartlett Learning Press.

Horowitz, E., Sahni, S., Rajasekaran, S. (1999) Computer algorithms Computer Science Press, W. H. Freeman.

Knuth, Donald, E. (1997) The art of computer programming. 3ed. Vol. 1. Addison Wesley Longman ed.

Soto Apolinar, Efraín (2011) Diccionario ilustrado de conceptos matemáticos. 3ed edición. México.