ALGORITMO Y PSEUDOCÓDIGO
Concepto de algoritmo
Un Algoritmo es una serie ordenada de instrucciones, pasos o procesos que
llevan a la solución de un determinado problema. Los hay tan sencillos y
cotidianos como seguir la receta del médico, abrir una puerta, lavarse las
manos, etc; hasta los que conducen a la solución de problemas muy
complejos.
Los Algoritmos permiten describir claramente una serie de instrucciones que
debe realizar el computador para lograr un resultado previsible. Vale la pena
recordar que un procedimiento de computador consiste de una serie de
instrucciones muy precisas y escritas en un lenguaje de programación que el
computador entienda, en este curso utilizaremos el entorno de desarrollo de
Scratch para programar nuestros algoritmos.
Características de los algoritmos
Las características fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso: tiene que indicar el orden de realización
de cada paso.
Un algoritmo debe estar definido: Si se sigue un algoritmo dos veces, se
debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito: el algoritmo se debe terminar en algún
momento; o sea, debe tener un número finito de pasos.
Un algoritmo debe ser legible: El texto que lo describe debe ser claro,
tal que permita entenderlo y leerlo fácilmente.
Un algoritmo debe definir tres partes: Entrada, Proceso y Salida.
Concepto de pseudocódigos
En ciencias de la computación, y análisis numérico, el pseudocódigo
(o lenguaje de descripción algorítmico) es una descripción de alto
nivel compacta e informal del principio operativo de un programa
informático u otro algoritmo.
Utiliza las convenciones estructurales de un lenguaje de programación real,
pero está diseñado para la lectura humana en lugar de la lectura mediante
máquina, y con independencia de cualquier otro lenguaje de programación.
Normalmente, el pseudocódigo omite detalles que no son esenciales para la
comprensión humana del algoritmo, tales como declaraciones de variables,
código específico del sistema y algunas subrutinas.
Importancia de los algoritmos
Los algoritmos son muy importantes a la hora de programar ya que son los
pasos exactos para resolver un problema. Esto quiere decir que es
un procedimientocomputacional bien definido que requiere de datos de
entrada y produce un valor como salida.
Importancia de los pseudocódigos
En programación, lenguaje artificial e informal útil para programadores para
el desarrollo de algoritmos.
No es un lenguaje de programación verdadero y, por lo tanto, no puede ser
compilado y ejecutado. Sí existen algunos intérpretes que ejecutan
pseudocódigos, pero especialmente con fines didácticos, por ejemplo el
programa PSeInt, que permite aprender fácilmente programación usando
pseudocódigo en español.
En pseudocódigo se describen los algoritmos utilizando una mezcla de
lenguaje común, con instrucciones de programación, palabras claves, etc. El
objetivo es que el programador se centre en la solución lógica del algoritmo y
no en la implementación en un lenguaje de programación concreto (con las
posibles complicaciones en las reglas sintácticas), o en otras palabras, sólo
ayudan a "pensar" un programa antes de escribirlo en un lenguaje de
programación formal.
Diferencia entre algoritmos y pseudocódigos
El seudocódigo se refiere a fragmentos de programas que parecen un lenguaje
de programación, pero en realidad no son ningún lenguaje de programación
específico. Está destinado a capturar la esencia de un algoritmo, sin quedar
atrapado en detalles específicos del lenguaje de programación.
Un algoritmo es una secuencia de pasos a seguir para realizar alguna acción.
Un algoritmo toma un conjunto de entradas, realiza sus pasos, produce su
salida y termina.
Por ejemplo, suponga que necesita sumar un montón de números en una lista
para producir la suma. Un algoritmo realmente simple para eso podría ser:
Inicialice una variable para mantener la suma a un valor inicial de 0.
Recorre la lista y agrega cada elemento a la suma.
Cuando llegue al final de la lista, deténgase.
Esa es una descripción del algoritmo en inglés. El mismo algoritmo descrito
en el pseudocódigo podría verse así:
sum: = 0 para cada elemento e en la lista do: sum: = sum + ereturn sum
El seudocódigo parece un programa, pero no está en ningún lenguaje de
programación en particular. Sin embargo, captura la estructura y la esencia del
algoritmo.
Investigue tres ejemplos de algoritmos
Recetas de cocina
Explican el paso a paso para crear una comida con una cantidad finita de
ingredientes. El estado inicial serían los ingredientes sin procesar y el estado
final la comida preparada.
Manuales
Sirven de guía para ejecutar procesos, desde cómo armar una biblioteca hasta
cómo activar un teléfono móvil. En estos casos, el estado final es el producto
armado, instalado, encendido, en funcionamiento, etc.
Operaciones matemáticas
En matemáticas, algunos ejemplos de algoritmos son la multiplicación, en
donde seguimos una secuencia de operaciones para obtener un producto; o la
división, que nos permite determinar el cociente de dos números. El algoritmo
de Euclides, con el cual sacamos el máximo común divisor de dos enteros
positivos es otro ejemplo de algoritmo.
Investigue tres ejemplos de pseudocódigos
Debajo de estas líneas encontraremos una serie de ejemplos de algoritmos
escritos en pseudocódigo, con el objetivo de poder comprender mejor su
estructura y lo relativamente sencillo que es su implementación.
Pedir dos números enteros y mostrar ‘Verdadero’ si el primero es mayor
1. ALGORITMO Decir;
2. VAR
3. ENTERO x, z;
4. INICIO
5. ESCRIBIR(«Ingresar dos números»);
6. LEER( x, z );
7. SI( x > z )
8. ESCRIBIR(«Verdadero»);
9. FIN SI
10. FIN
Leer tres números y deducir si se han introducido en orden creciente
1. ALGORITMO N32;
2. VAR
3. ENTERO a, b, c ;
4. INICIO
5. ESCRIBIR(«Ingresar tres números»);
6. LEER( a, b, c );
7. SI (a < b) AND (b < c)
8. ESCRIBIR(«En orden ascendente»);
9. SINO
10. ESCRIBIR(«En orden descendente»);
11. FIN SI
12. FIN
Pedir dos valores y en caso de que no sean iguales indicar cuál es el mayor
1. ALGORITMO Leer;
2. VAR
3. ENTERO x, y;
4. INICIO
5. ESCRIBIR(«Ingresar dos números»);
6. LEER(x, y);
7. SI( x == y )
8. ESCRIBIR(«Son iguales»);
9. SINO
10. SI( x > y )
11. ESCRIBIR(«x es mayor»);
12. SINO
13. ESCRIBIR(«y es mayor»);
14. FIN SI
15. FIN_SI
16. FIN
Pedir un número y mostrarlo por pantalla
1. ALGORITMO Mostrar;
2. VAR
3. ENTERO entrada;
4. INICIO
5. ESCRIBIR(«Ingresar un número»);
6. LEER( entrada );
7. ESCRIBIR( entrada );
8. FIN
Pedir un número al usuario y mostrar el nombre del día al corresponde
(1=lunes)
1. Usando CASO:
2. ALGORITMO DIA_CASO;
3. VAR
4. ENTERO d;
5. INICIO
6. ESCRIBIR(«Ingresar un número del 1 al 7»);
7. LEER( d );
8. SI (d >=1 ) AND (d <= 7)
9. EN_CASO_DE d HACER
10. a: ESCRIBIR(«Lunes»);
11. b: ESCRIBIR(«Martes»);
12. c: ESCRIBIR(«Miércoles»);
13. d: ESCRIBIR(«Jueves»);
14. e: ESCRIBIR(«Viernes»);
15. f: ESCRIBIR(«Sábado»);
16. g: ESCRIBIR(«Domingo»);
17. FIN CASO
18. SINO
19. ESCRIBIR(«El valor ingresado no es válido»);
20. FIN SI
21. FIN
Usando PARA
1. ALGORITMO DIA_PARA;
2. VAR
3. ENTERO contador;
4. INICIO
5. PARA contador DESDE 1 HASTA 7
6. EN_CASO_DE contador HACER
7. a: ESCRIBIR(«Lunes»);
8. b: ESCRIBIR(«Martes»);
9. c: ESCRIBIR(«Miércoles»);
10. d: ESCRIBIR(«Jueves»);
11. e: ESCRIBIR(«Viernes»);
12. f: ESCRIBIR(«Sábado»);
13. g: ESCRIBIR(«Domingo»);
14. FIN CASO
15. FIN_PARA
16. FIN
Pedir dos números y mostrar la suma de ambos
1. ALGORITMO Sumar;
2. VAR
3. ENTERO Numero1, Numero2, Resultado;
4. INICIO
5. ESCRIBIR(«Ingresar dos números para sumar: «);
6. LEER(Numero1, Numero2);
7. Resultado <- Numero1 + Numero2;
8. ESCRIBIR(«La suma es: «, Resultado);
9. FIN
Algoritmo que muestra por pantalla el triple de un número real
1. ALGORITMO Multiplicar;
2. VAR
3. REAL a, y;
4. INICIO
5. ESCRIBIR(«Ingresar un número»);
6. LEER( a );
7. a <- a * 3;
8. ESCRIBIR(a);
9. FIN
Algoritmo que pide un número y escribe su cuadrado
1. ALGORITMO Cuadrados_1;
2. VAR
3. ENTERO nNumero, nCuadrado;
4. INICIO
5. ESCRIBIR(«Ingresar un número»);
6. LEER( nNumero );
7. nCuadrado <- SQR(nNumero);
8. ESCRIBIR(nCuadrado);
9. FIN