Algoritmo Diagramas de Nassi – Schneiderman
Enviado por marx98 • 29 de Abril de 2015 • 4.179 Palabras (17 Páginas) • 411 Visitas
Algoritmo
Diagramas de Nassi – Schneiderman
Estructuras secuencias
Estructuras de decisión
Estructuras de repetición
Bibliografía Consultada
PRESENTACION
Los algoritmos, como procedimiento para solucionar problemas, han existido desde muchos siglos atrás, sin embargo, se han convertido en tema de interés de estudiante y profesionales por cuanto son el fundamento de la programación de computadores.
Desarrollar un programa de computador significa: indicarle al computador, en un lenguaje que él pueda entender, todos y cada uno de los pasos que debe ejecutar para lograr el objetivo propuesto, pero antes de pensar en decirle al computador cómo hacer algo, es necesario que el programador sepa cómo hacerlo. Es allí donde entra a jugar un papel preponderante el desarrollo de algoritmos, pues antes de escribir un programa es necesario diseñar el algoritmo para solucionar el problema en cuestión.
Existen varias técnicas para representar algoritmos, las más conocidas son: pseudocódigo, diagrama de flujo y diagrama N-S. En este documento se desarrolla la metodología de diagramas N-S o también conocida como diagramas de Chapin.
ALGORITMO
Se sabe que la palabra algoritmo se dio en honor del matemático persa del siglo IX, Khowârizmî. Con éste término se hace referencia a un conjunto de reglas, ordenadas de forma lógica, para desarrollar un cálculo o para solucionar un problema, ya sea de forma manual o utilizando una máquina. Actualmente es frecuente hablar de algoritmo como paso previo al desarrollo de un programa de computador.
Los algoritmos están, con mayor o menor complejidad, en todas las actividades desarrolladas por el hombre y han sido utilizados por todos, infinidad de veces, sin embargo, cuando se aborda el tema como parte de la educación formal se mitifica y se difunde el prejuicio sobre que es un tema complicado.
Desde los primeros años de escolaridad se trabaja con algoritmos, en especial en el campo de las matemáticas. Los métodos utilizados para sumar, restar, multiplicar y dividir son algoritmos que cumplen perfectamente las características de precisión, finitud, definición y eficiencia.
Para que la solución de un problema sea llevada hasta un lenguaje de programación, los pasos expresados en el algoritmo deben ser lo más detallados posible, de manera que cada uno de ellos implique una operación trivial; es decir, que los pasos no impliquen procesos que requieran de una solución algorítmica. En caso de presentarse esta situación, el algoritmo debe ser refinado, lo que equivale a desarrollar nuevamente el algoritmo para la tarea concreta a la que se hace mención.
Si el problema que se desea solucionar es muy grande o complejo, es recomendable dividirlo en tareas que se puedan abordar independientemente y que resulten más sencillas de solucionar. A esto se le llama diseño modular.
Características de un algoritmo
Un algoritmo debe tener al menos las siguientes características:
Ser preciso: esto significa que las operaciones o pasos del algoritmo deben desarrollarse en un orden estricto, ya que el desarrollo de cada paso debe obedecer a un orden lógico.
Ser definido. Ya que en el área de programación, el algoritmo se desarrolla como paso fundamental para desarrollar un programa, es necesario tener en cuenta que el computador solo desarrollará las tareas programadas y con los datos suministrados; es decir, no puede improvisar y tampoco se inventará o adivinará el dato que necesite para realizar un proceso. Por eso, el algoritmo debe estar plenamente definido; esto es, que cuantas veces se ejecute, el resultado depende estrictamente de los datos suministrados. Si se ejecuta con un mismo conjunto de datos de entrada, el resultado será siempre el mismo.
Ser finito: esta característica implica que el número de pasos de un algoritmo, por grande y complicado que sea el problema que soluciona, debe ser limitado. Todo algoritmo, sin importar el número de pasos que incluya, debe llegar a un final. Para hacer evidente esta característica, en la representación de un algoritmo siempre se incluyen los pasos inicio y fin.
Presentación formal: para que el algoritmo sea entendido por cualquier persona interesada es necesario que se exprese en alguna de las formas comúnmente aceptadas; pues, si se describe de cualquier forma puede no ser muy útil ya que solo lo entenderá quien lo diseñó. Las formas de presentación de algoritmos son: el pseudocódigo, diagrama de flujo y diagramas de Nassi/Schneiderman, entre otras.
Corrección: el algoritmo debe ser correcto, es decir debe satisfacer la necesidad o solucionar el problema para el cual fue diseñado. Para garantizar que el algoritmo logre el objetivo, es necesario ponerlo a prueba; a esto se le llama verificación o prueba de escritorio.
Eficiencia: hablar de eficiencia o complejidad de un algoritmo es evaluar los recursos de cómputo que requiere para almacenar datos y para ejecutar operaciones frente al beneficio que ofrece. En cuanto menos recursos requiere será más eficiente el algoritmo.
La vida cotidiana está llena de soluciones algorítmicas, algunas de ellas son tan comunes que no se requiere pensar en los pasos que incluye la solución. La mayoría de las actividades que se realizan diariamente están compuestas por tareas más simples que se ejecutan en un orden determinado, lo cual genera un algoritmo. Por ejemplo, son tareas comunes, realizar una llamada telefónica, buscar un número en el directorio telefónico, buscar un anuncio en las páginas amarillas del directorio, preparar café, regar las plantas, poner en funcionamiento un automóvil, cambiar una llanta, entre muchas otras.
Muchos de los procedimientos utilizados para desarrollar tareas cotidianas son algorítmicos, sin embargo, esto no significa que todo lo que se hace está determinado por un algoritmo. El cumplimiento de las características mencionadas anteriormente permitirá determinar si un procedimiento es o no es algorítmico.
Una receta de cocina para preparar un plato cualquiera puede ser un algoritmo, pero también puede no serlo, dependiendo de las especificaciones. Si una de las instrucciones a desarrollar dice "aplicar sal al gusto" ya puede afirmarse que no es un algoritmo, porque contiene un elemento subjetivo, no definido. Esta misma acción podría aparecer de la forma "aplicar 20 gramos de sal", en cuyo caso no se requiere del gusto (subjetivo) de quien lo aplica y por tanto no contradice el principio de la algoritmia.
El primer paso en el diseño de un algoritmo es conocer la temática a tratar, el segundo será pensar en las actividades a realizar y el orden en que deben ejecutarse para lograr el objetivo, el tercero y no menos
...