viernes, 24 de abril de 2015

clasificacion de algoritmos


El desarrollo de algoritmos es un tema fundamental en el diseño de programas o soluciones. Por lo cual, el alumno debe tener buenas bases que le sirvan para poder crear de manera fácil y rápida sus programas. 


La siguiente documentación pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar a lo largo de su carrera. 



Contenido 

Los posteriores artículos mostrarán el desarrollo del tema de algoritmo a manera de curso. Existen una serie de documentación adicional para refuerzo conceptual, dado parte importante en el proceso del tema en cuestión.

El algoritmo, una iniciación a la programación 


¿QUÉ ES ALGORITMO? 

La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. 

Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. 

¿TIPOS DE ALGORITMOS…? 

Existen dos tipos y son llamados así por su naturaleza: 

  • Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
  • Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.



Lenguajes Algorítmicos 

Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. 

Tipos de Lenguajes Algorítmicos 


  • Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). 


  • No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo). 

    INICIO 
       Edad: Entero 
       ESCRIBA “cual es tu edad?” 
       Lea Edad 
       SI Edad >=18 entonces 
          ESCRIBA “Eres mayor de Edad” 
       FINSI 
       ESCRIBA “fin del algoritmo” 
       FIN

Metodología para la creación de algoritmos

Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la metodología para la solución de un problema mediante un ordenador. La creación de un algoritmo y su programación es una etapa, pero como programador debes realizar varios pasos antes y después.

El computador es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el Problema. El proceso de programación es el siguiente: Dado un determinado problema el programador debe idear una solución y expresarla usando un algoritmo (aquí es donde entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de programación y por último ejecutar el programa en el computador el cual refleja una solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de computadores. 


La parte que corresponde a este manual es la de: “Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!”. 

Metodología para la solución de problemas por medio de computadora 


  • DEFINICIÓN DEL PROBLEMA 

    Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. 

  • ANÁLISIS DEL PROBLEMA 

    Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
    • Los datos de entrada.
    • Cual es la información que se desea producir (salida)
    • Los métodos y fórmulas que se necesitan para procesar los datos.
    Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados. 

  • DISEÑO DEL ALGORITMO 

    Las características de un buen algoritmo son:
    • Debe tener un punto particular de inicio.
    • Debe ser definido, no debe permitir dobles interpretaciones.
    • Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
    • Debe ser finito en tamaño y tiempo de ejecución.
    • Diseño del Algoritmo
    • Prueba de escritorio o Depuración
Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.

Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa). Los ciclos se clasifican en: 


Ciclos con un Numero Determinado de Iteraciones 


  • (Para): Son aquellos en que el número de iteraciones se conoce antes de ejecutarse el ciclo. La forma de esta estructura es la siguiente:
    PseudocódigoDiagrama de Flujos
       
    Dado un valor inicial exp1 asignado a la variable esta se irá aumentando o disminuyendo de acuerdo a la exp3 hasta llegar a la exp2; si se omite el paso, significa que la variable aumentará de uno en uno.

Ciclos con un Número Indeterminado de Iteraciones 


Son aquellos en que el numero de iteraciones no se conoce con exactitud, ya que esta dado en función de un dato dentro del programa. 


  • Mientras Que: Esta es una estructura que repetirá un proceso durante “N” veces, donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces ya no se ejecuta el proceso. La forma de esta estructura es la siguiente: 

    PseudocódigoDiagrama de Flujos
       
  • Repita-Hasta: Esta es una estructura similar en algunas características, a la anterior. Repite un proceso una cantidad de veces, pero a diferencia del Mientras Que, el Repita-Hasta lo hace hasta que la condición se cumple y no mientras, como en el Mientras Que. Por otra parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la condición se evalúa al final del proceso, mientras que en el Mientras Que puede ser que nunca llegue a entrar si la condición no se cumple desde un principio. La forma de esta estructura es la siguiente: 

    PseudocódigoDiagrama de Flujos
       

Ejemplo 1: 


Realizar un algoritmo que muestre los números de uno en uno hasta diez usando una estructura Para. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.

PseudocódigoDiagrama de Flujos
   



Ejemplo 2: 

Usando una estructura Mientras, realizar un algoritmo que escriba los números de uno en uno hasta 20 


PseudocódigoDiagrama de Flujos
   



Ejemplo 3: 

Realizar un algoritmo que pregunte al usuario un número comprendido en el rango de 1 a 5. El algoritmo deberá validar el numero, de manera que no continúe la ejecución del programa mientras no se escriba un numero correcto. 


PseudocódigoDiagrama de Flujos
   


No hay comentarios:

Publicar un comentario