Post on 25-Jun-2015
description
Elaboración de Algoritmos
Definición
• Por algoritmo se entiende "una lista de instrucciones donde se especifica una sucesión de operaciones necesarias para resolver cualquier problema de un tipo dado".
• Para representarlo, se utiliza, fundamentalmente, dos tipos de notación: pseudocódigo y diagramas de flujo.
¿Qué es un algoritmo?
• Los algoritmos son modos de resolución de problemas, cabe aclarar que no sólo son aplicables a la actividad intelectual, sino también a todo tipo de problemas relacionados con actividades cotidianas.
Características de un algoritmo
• Los pasos que deben seguirse deben estar estrictamente descritos.
• Cada acción debe ser precisa.• Debe ser general, es decir, que pueda ser
aplicable a todos los elementos de una misma clase.
O escrito de otra forma
Debe generar el mismo resultado
siempre que se siga.
CONCRETO
FINITO
DEFINIDO
PRECISO
NO AMBIGUO
EFICIENTE
LEGIBLE
Estructura
Datos•Corresponden a los datos requeridos para realizar el algoritmo (datos de entrada) y los datos que son generados (datos de salida)
Procesos•Conforma el grupo de instrucciones que realizan las operaciones con los datos
Estructuras de control
•Determinan la organización de las instrucciones que deben ser realizadas.
Elementos• Las instrucciones que
se van a realizar deben estar bien estructuradas y tener un orden lógico, con el fin de evitar inconsistencias en el resultado.
• Es necesario identificar que datos se necesitan ingresar, cuales sirven de forma auxiliar y cuales se van a generar.
Definición de variables y constantes
ProcesoEstructuras de control
Entrada Salida
Cuerpo del algoritmo
¿Cómo se hace un algoritmo?
• El NO programador haría lo siguiente:• Buscar la página de cines en el diario local y
mirar si ve la película anunciada. Si la ve anunciada mira en qué cine la hacen y se va a verla. Si no la ve anunciada, espera a los estrenos de lasemana que viene.
El programador sin embargo, lo haría de este otro modo:
Buscar la página de cines en el diario local, con fecha de hoy
Revisar la cartelera de arriba abajo y de izquierdaa derecha, buscando entre los títulos existentes.Si se encuentra el título La Guerra de las
Galaxias, no seguir buscando. Apuntar el nombre del cine, su dirección y los horarios
Si no se encuentra el título en la cartelera, esperar una semana y volver a empezar el proceso a partir del punto 1 de esta lista.
1
2
3
4
Técnicas de diseño
• Está técnica permite dividir el problema en pequeñas partes, a las cuales se les da solución por separado, luego se integran las soluciones para resolver el problema principal.
Top Down
Divide y vencerás
Técnicas de representación
•Es una técnica que permite representar gráficamente las operaciones y estructuras que se van a realizar, mediante una simbología estándar, con un único punto de inicio y uno de finalización.
Diagrama de flujo
•Está técnica permite representar el algoritmo mediante un lenguaje más estructurado, facilitando su posterior codificación.
Pseudocódigo
Pseudocódigo: ¿Cómo se hace?Cada instrucción que se va a realizar debe comenzar por un verbo, ejemplo: Muestre, Haga, Lea, etc.
Se debe mantener una identación o sangría sobre el margen izquierdo para identificar fácilmente el comienzo y final de las estructuras
La representación de las estructuras son similares u homónimas de los lenguajes de programación, ejemplo: inicio, fin, mientras que, repita hasta, si entonces sino, etc.
1
2
3
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables desde un dispositivo estándar de entrada.
Calcular : Denota la realización de cualquier operación aritmética que genere valores para ser
almacenados en una variable.
Imprimir : Representa la acción de enviar datos desde variables a un dispositivo estándar de salida.
Fin: Denota el punto de finalización del algoritmo.
Faces de diseño
Análisis del problema
Definición del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
Alg
ori
tmo
Definición del problema
Está dada por el enunciado del problema, el cuál debe ser claro y
completo
Es importante que conozcamos exactamente que se desea.
Mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa.
Análisis del problema
Entendido el problema para resolverlo es preciso analizar
Los datos de salida o
resultados que se esperan
Los datos de entrada que nos
suministran
Áreade
Trabajo
Fórmulas Recursos
Selección alternativa
Analizado el problema Posiblemente tengamos varias formas de resolverlo
Solución ..1
Solución ..2
Solución ..3
Solución ..5
Lo importante es determinar cuál
es la mejor alternativa
La que produce los resultados Esperados en el menor tiempo y al menor
costo
Se debe tener en cuenta el principio de que las
cosas siempre se podrán hacer de una mejor
forma.
Diagramación
Una vez que
sabemos
cómo resolver el
problema
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Plasmar la
solución
mediante el
Pseudocódigo
Prueba de escritorio
Esta prueba consiste en:
Dar diferentes datos
de entrada al programa
seguir la secuencia indicada
hasta
obtener los resultados
Tipos de datos
Tipos de
Datos
Carácter
Real
Entero
Booleano
cadena
Numéricos
Lógicos
Carácter
Operadores
Aritméticos
Lógicos
Relacionales
+- >
<=
NoY &&O ||
/ ^
%>=<=
!= <>
Bibliografía
• Fundamentos de Programación. Algoritmos y Estructuras. Luis Jayanes Aguilar. Editorial Mc Graw Hill.
• http://fuxion.tripod.cl/fundamentos.htm#QUE%20HERRAMIENTAS