miércoles, 15 de junio de 2011
martes, 26 de abril de 2011
Algoritmo y Programación
Un algoritmo es una serie de operaciones detalladas y no ambiguas. En otras palabras un algoritmo es un conjunto de reglas para resolver una cierta clase de problemas.
Ejemplo: La receta de la ABUELA para hacer "Arepas Dulces" es un algoritmo.
Un algoritmo es el medio por el que se explica cómo puede resolverse un problema, mediante aproximaciones paso a paso.
Las características fundamentales que debe cumplir todo algoritmo son:
· Debe ser preciso. e indicar el orden de realización de cada paso.
· Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
· Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe tener un número finito de pasos.
Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos lenguajes permiten describir los pasos con mayor o menor detalle.
La clasificación de los lenguajes para algoritmos puede enunciarse de la siguiente manera:
· Lenguaje Natural: Es aquél que describe en español, para nuestro caso, los pasos a seguir utilizando un vocabulario cotidiano.
· Lenguaje de Diagrama de Flujo: Es aquél que se vale de diversos símbolos para representar las ideas o acciones a desarrollar.
· Lenguaje Natural de Programación: Son aquéllos que están orientados a la solución de problemas que se definen de una manera precisa. Generalmente son aplicados para la elaboración de fórmulas o métodos científicos.
El lenguaje natural tiene las siguientes características:
ü Evita la ambigüedad (algo confuso que se puede interpretar de varias maneras).
ü Son precisos y bien definidos.
ü Utilizan términos familiares al sentido común.
ü Elimina instrucciones innecesarias.
· Lenguaje de Programación de Algoritmos: Es aquél que se utiliza para introducir en la computadora un algoritmo específico. Se les conoce también como Lenguaje de Programación.
Ejemplo de corrida en frio de un algoritmo:
Leer n;
acum<-0;
FinPara
Ejemplo: La receta de la ABUELA para hacer "Arepas Dulces" es un algoritmo.
Un algoritmo es el medio por el que se explica cómo puede resolverse un problema, mediante aproximaciones paso a paso.
Las características fundamentales que debe cumplir todo algoritmo son:
· Debe ser preciso. e indicar el orden de realización de cada paso.
· Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
· Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe tener un número finito de pasos.
Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos lenguajes permiten describir los pasos con mayor o menor detalle.
La clasificación de los lenguajes para algoritmos puede enunciarse de la siguiente manera:
· Lenguaje Natural: Es aquél que describe en español, para nuestro caso, los pasos a seguir utilizando un vocabulario cotidiano.
· Lenguaje de Diagrama de Flujo: Es aquél que se vale de diversos símbolos para representar las ideas o acciones a desarrollar.
· Lenguaje Natural de Programación: Son aquéllos que están orientados a la solución de problemas que se definen de una manera precisa. Generalmente son aplicados para la elaboración de fórmulas o métodos científicos.
El lenguaje natural tiene las siguientes características:
ü Evita la ambigüedad (algo confuso que se puede interpretar de varias maneras).
ü Son precisos y bien definidos.
ü Utilizan términos familiares al sentido común.
ü Elimina instrucciones innecesarias.
· Lenguaje de Programación de Algoritmos: Es aquél que se utiliza para introducir en la computadora un algoritmo específico. Se les conoce también como Lenguaje de Programación.
Ejemplo de corrida en frio de un algoritmo:
// Calcula el promedio de una lista de N datos
Proceso Promedio
Escribir "Ingrese la cantidad de datos:";Leer n;
acum<-0;
Para i<-1 Hasta n Hacer
Escribir "Ingrese el dato ",i,":";
Escribir "Ingrese el dato ",i,":";
Leer dato;
acum<-acum+dato;FinPara
prom<-acum/n;
Escribir "El promedio es: ",prom;
FinProceso
* Formato de todos los mensajes de error o informes.
Esta documentación cubre los aspectos del programa relativos a la sintaxis de lenguaje. Esta documentación está contenida en los comentarios entre llaves, paréntesis o asteriscos. Algunos temas a considerar son:
ESTÁNDARES DE CALIDAD EN DISEÑO DE ALGORITMO Y CONSTRUCCION DE PROGRAMAS
Introducción
Se han realizado algunas investigaciones respecto a la necesidad de diseñar algoritmos correctos y eficientes utilizando los elementos de un lenguaje de programación. El acto de diseñar un algoritmo puede considerarse como una tarea que difícilmente podrá ser del todo automatizada. Es decir que todo problema algorítmico resulta inmediato de resolver, otros son bastante complejos.
La investigación en esta área ha permitido descubrir un conjunto de métodos o esquemas de diseño hacia los cuales puede orientarse la realización de muchos algoritmos.
No obstante, idear un algoritmo continúa siendo una labor bastante creativa donde los conocimientos y la experiencia del propio diseñador tienen un papel fundamental.
Una forma de facilitar esta labor consiste en recurrir a técnicas conocidas de diseño de algoritmos, es decir, a esquemas muy generales que pueden adaptarse a un problema particular al detallar las partes generales del esquema, requiere un análisis minucioso del problema de forma que la solución se vaya construyendo en etapas. Aun así, hay problemas cuya solución no puede hallarse sino mediante un proceso de búsqueda, a pesar de lo complejas que son las operaciones. Por último, Si el hábil programador dispone de un recetario de algoritmos de donde poder seleccionar el más adecuado para cada problema, su tarea se simplifica.
Aprender los principios básicos del diseño de algoritmos podemos preguntarnos por un método aceptable. El mas entendido, y quizás el mejor, es organizar el diseño sobre un esquema de algoritmo o una técnica de diseño que haya demostrado su utilidad para otros problemas. Este método de trabajo es practicable, puesto que existe un número reducido de esquema y técnicas de diseño. El conocimiento de técnicas de diseño es solo un primer paso para el diseñador, que debe completarse con otros conocimientos y, sobre todo, con la experiencia.
Formas de trazabilizar un algoritmo
Algunas consideraciones pueden contribuir a mejorar la calidad de los algoritmos y programa mediante la reducción del número de errores que aparecen al desarrollarlos. También influyen haciendo que nuestros algoritmos resulten más fáciles de leer y entender para otras personas. Los criterios de estilo pueden reflejarse en un conjunto de normas de estilo de codificación. Ello asegura que tanto algoritmos como programa resulten legibles y puedan modificarse fácilmente en caso de necesidad. Generalmente, estas normas de estilo se dirigen hacia aspectos como la forma de construir los nombres de variables o tipo de datos que aparezcan.
Formas y técnicas de documentar algoritmos y programasLa documentación
Un programa de computadora necesita siempre de una documentación que permita a los usuarios aprender a utilizarlos y mantenerlo, la documentación del programa se puede concretar a manual del usuario y manual de mantenimiento.
Manual del usuario
La documentación de un programa suele producirse con dos propósitos, el primero seria explicar las funciones del software y describir el modo de utilizarlas estas están diseñadas para ser leídas por el usuario del programa y la segunda describir el software en si para poder mantener el sistema en una etapa posterior de su ciclo de vida.
La documentación de usuario es un instrumento muy importante. Una buena documentación de usuario hará al programa más accesible.
El manual de usuario debe contener los siguientes puntos.
* Ordenes necesarias para cargar el programa en memoria desde el almacenamiento secundario y comenzar su funcionamiento.
* Nombres de los archivos externos a los que accede el programa.* Formato de todos los mensajes de error o informes.
* Opciones en el funcionamiento del programa.
* Descripción detallada de la función realizada por el programa. * Descripción detallada de cualquier salida producida por el programa.
Manual de mantenimiento
El manual de mantenimiento es la documentación requerida para mantener un programa durante su ciclo de vida. Se divide en dos categorías, documentación interna y documentación externa.
Documentación interna* Descripción detallada de la función realizada por el programa.
Manual de mantenimiento
El manual de mantenimiento es la documentación requerida para mantener un programa durante su ciclo de vida. Se divide en dos categorías, documentación interna y documentación externa.
Esta documentación cubre los aspectos del programa relativos a la sintaxis de lenguaje. Esta documentación está contenida en los comentarios entre llaves, paréntesis o asteriscos. Algunos temas a considerar son:
* Cabecera de programa (breve descripción del programa)
* Nombres significativos para describir identificadores.
* Comentarios relativos a la función del programa.
* Claridad de estilo y formato, líneas en blanco para separa módulos.
* Comentarios significativos.
* Nombres significativos para describir identificadores.
* Comentarios relativos a la función del programa.
* Claridad de estilo y formato, líneas en blanco para separa módulos.
* Comentarios significativos.
Documentación externa
Documentación ajena al programa fuente, que se suele incluir en un manual que acompaña al programa. Esta documentación debe incluir:
* Listado actual del programa fuente. * Especificación del programa.
* Diagrama de estructura que representa la organización jerárquica de los módulos que comprenden el programa.
* Explicaciones de formulas complejas.
* Especificación de los datos a procesar.
* Formatos de pantallas utilizados para interactuar con los usuarios.
* Cualquier indicación especial que pueda servir a los programadores que deben mantener el programa.
Reglas de documentación
Un programa bien documentado es aquel que otras personas pueden leer, usar y modificar. Existe muchos tipos de documentación y con frecuencia los temas a incluir dependen del programa. A continuación señalamos algunas características esenciales de documentación de un programa.
Un comentario de cabecera para el programa que incluye:
* Descripción del programa.* Diagrama de estructura que representa la organización jerárquica de los módulos que comprenden el programa.
* Explicaciones de formulas complejas.
* Especificación de los datos a procesar.
* Formatos de pantallas utilizados para interactuar con los usuarios.
* Cualquier indicación especial que pueda servir a los programadores que deben mantener el programa.
Reglas de documentación
Un programa bien documentado es aquel que otras personas pueden leer, usar y modificar. Existe muchos tipos de documentación y con frecuencia los temas a incluir dependen del programa. A continuación señalamos algunas características esenciales de documentación de un programa.
Un comentario de cabecera para el programa que incluye:
* Autor y fecha.
* Descripción de la entrada y salida del programa.
* Descripción de cómo utilizar el programa.
* Hipótesis sobre tipos de datos esperados.
* Breve descripción de los algoritmos globales y estructurados de datos.
* Descripción de las variables importantes.
* Descripción de la entrada y salida del programa.
* Descripción de cómo utilizar el programa.
* Hipótesis sobre tipos de datos esperados.
* Breve descripción de los algoritmos globales y estructurados de datos.
* Descripción de las variables importantes.
Suscribirse a:
Entradas (Atom)