ALGORITMOS
Presentación del blog
El presente material fue compilado con el fin de que pueda usarlo como material guía en el inicio a loa programación.
Debido a su facilidad de comprensión puede ser usado por cualquier persona interesada en iniciar estudios en el área de programación.
La capacidad para resolver problemas se adquiere a través de la práctica; le recomiendo que haga uso de algoritmos para poder resolver todo tipo de problemas, así como también de aplicar los conocimientos adquiridos en la lectura y comprensión de la información enfocada exclusivamente a algoritmos.
OBJETIVOS:
2. Ser capaz de diferenciar los métodos de representación y formulación de algoritmos, así como de conocer las características más importantes de cada técnica.
3. Conocer las diferentes algorítmicas como componentes básicos de los programas y aplicar la combinación de ellas para el desarrollo de algoritmos mas complejos.
Definición de 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
- 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.
Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
- 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 (pseudocódigo).
1. 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.
Una vez que se ha comprendido lo que se desea de la computadora , es necesario definir:
1. Los datos de entrada.
2. Cual es la información que se desea producir (salida).
3. Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy práctica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.
3. Diseño del algoritmo:
Las características de un buen algoritmo son:
1. Debe tener un punto particular de inicio.
2. Debe ser definido, no debe permitir dobles interpretaciones.
3. Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
4. Debe ser finito en tamaño y tiempo de ejecución.
4. Codificación:
La codificación es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o pseudocódigo), es una serie de instrucciones detalladas, en un código reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.
5. Prueba y Depuración:
Los errores humanos dentro de la programación de computadoras son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solución sin errores se le llama depuración.
La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de la solución, por ello se debe considerar con el mismo interés y entusiasmo.
Resulta conveniente observar los siguientes principios al realizar una depuración, ya que de este trabajo depende el éxito de nuestra solución.
6. Documentación:
Es la guía o comunicación escrita en sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas.
A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).
La documentación se divide en tres partes:
- Documentación interna: Son los comentarios o mensajes que se añaden al código fuente para hacer más claro el entendimiento de un proceso.
- Documentación externa: Se define en un documento escrito los siguientes puntos:
- Descripción del problema.
- Nombre del autor.
- Algoritmo (diagrama de flujo o pseudocódigo).
- Diccionario de datos.
- Código fuente (programa).
- Manual de usuario: Describe paso a paso la manera como funciona el programa, con el fin de que el usuario obtenga el resultado deseado.
7. Mantenimiento:
Se lleva a cabo después de terminado el programa, cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta. para poder realizar este trabajo se requiere que el programa este correctamente documentado.
Recomendaciones para el diseño de Diagramas de Flujo
Herramientas gráficas y alfanuméricas
Las tres herramientas más utilizadas comúnmente para diseñar algoritmos son:
Está representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre sí mediante líneas que indican el orden en que se deben ejecutar los procesos.
Los símbolos mas utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI).
- Diagramas de flujo
- Pseudocódigos.
- Diagrama estructurado (nnssi-schneiderman).
Está representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre sí mediante líneas que indican el orden en que se deben ejecutar los procesos.
Los símbolos mas utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI).
Recomendaciones para el diseño de Diagramas de Flujo
- Se debe usar solamente líneas de flujo horizontales y/o verticales.
- Se debe evitar el cruce de líneas utilizando los conectores.
- Se deben de usar conectores solo cuando sea necesario.
- No deben quedar líneas de flujo sin conectar.
- se deben trazar los símbolos de manera que se puedan leer de arriba hacia bajo y de izquierda a derecha.
- Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la lectura de los programas. En esencia, el pseudocódigo se puede definir como un lenguaje de especificaciones del algoritmo.
Es la representación narrativa de los pasos que deben seguir un algoritmo para dar solución a un problema determinado. El pseudocódigo utiliza palabras que indican el proceso a realizar.
Ventajas de utilizar un pseudocódigo a un Diagrama de Flujo.
- Ocupa menos espacio en una hoja de papel.
- Permite representar en forma fácil operaciones repetitivas complejas.
- Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de programación.
- Si se siguen las reglas se pueden observar claramente los niveles que tiene cada operación.
Diagramas estructurados (Nassi-Schneiderman)
Un diagrama estrurado N-S también conocido como diagrama de chapin es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se representa en la siguiente forma:
INICIO
ACCIÓN 1
ACCIÓN 2
.....
FIN
Comentario: Son algunos de los símbolos principales que se utilizan en la creación de Diagramas de Flujo.
Resolución de problemas con
computadoras: fases
El proceso
de resolución de un problema con una computadora conduce a la escritura de un
programa y su ejecución. Aunque el proceso de diseñar programas es, esencialmente,
un proceso creativo, se puede considerar una serie una serie fases o pasos comunes, que
generalmente deben seguir todos los programadores.
Características de los algoritmos
Las
características fundamentales que debe cumplir todo algoritmo son:
o Debe ser
preciso.
o Debe tener
un orden.
Entrada:
Ingredientes y utensilios empleados.
Proceso:
Elaboración de la receta de cocina.
Salida: Terminación
del plato (ejemplo, cordero).
Para la resolución de algoritmos es necesario utilizar el programa de PSeInt el cual lo puede descargar de Internet.
Es importante tener el conocimiento acerca del funcionamiento de los mismo.
BIBLIOGRAFIA
Tomado del libro de Estructuras Discretas
Autor: Ing. Julia Elena Figueroa
Creado Por: Omar A. Cantarero
Es importante tener el conocimiento acerca del funcionamiento de los mismo.
BIBLIOGRAFIA
Tomado del libro de Estructuras Discretas
Autor: Ing. Julia Elena Figueroa
Creado Por: Omar A. Cantarero



