Post on 04-Nov-2018
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.
Ejemplo
El departamento de recursos humanos necesita una lista de todos los empleados, el departamento de contabilidad quiere una lista de los clientes que se han retrasado 20 o más días en sus pagos, y el responsable de la oficina quiere que se le avise cuando unos repuestos determinados alcancen el punto en que deben pedirse de nuevo.
Supongamos que el director de recursos humanos le dice a un programador:
“Nuestro departamento necesita una lista de todos los empleados que han estado aquí durante 5 o más años, porque queremos invitarlos a una cena especial de agradecimiento”.
Así parece una petición sencilla, un programador con experiencia sabrá que puede no haber entendido completamente el problema, para esto se hace algunas preguntas como las siguientes:
Quieren una lista de los trabajadores de jornada completa o un conjunto con los trabajadores de tiempo parcial?
Quieren una lista con los trabajadores con contratos mes a mes durante los últimos 5 años o quieren solo los empleados normales?
Debe haber trabajado los 5 años al día de hoy o al día de a cena o en alguna otra fecha?
El programador no debe tomar ninguna de estas decisiones; es el usuario el que debe responder estas cuestiones, es indispensable proporcionar al programador documentación para ayudarlo a comprender el problema y que es lo que se requiere, entender el problema puede ser uno de los aspectos más difíciles de la programación.
Análisis del problema
La primera fase de la resolución de
un problema con computadora es el
análisis del problema. Esta fase
requiere una clara definición, donde se
contemple exactamente lo que debe
hacer el programa y el resultado o
solución deseada. En esta etapa se
determina qué hace el programa.
Para poder definir bien un problema
es conveniente responder a las
siguientes preguntas:
¿Qué entradas se requieren? (tipo y
cantidad)
¿Cuál es la salida deseada? (tipo y
cantidad)
¿Qué método produce la salida
deseada?
La esencia del proceso de programación reside en plantear la lógica del programa. Durante esta fase del proceso de programación, el programador plantea los pasos del programa, decidiendo tanto que pasos a seguir como en qué orden. Hay muchas formas de plantear la solución a un problema.
Las herramientas más comunes son los algoritmos, diagramas de flujo y pseudocódigo. Las cuales conllevan a escribir los pasos del programa en el lenguaje natural.
Algoritmo
Un algoritmo es un conjunto de
instrucciones bien definida, ordenada y
finita que permite realizar una actividad
específica mediante pasos sucesivos
que no generan dudas a quien lo vaya
a ejecutar. Dado un estado inicial y una
entrada, a través de los mencionados
pasos sucesivos se llega a un estado
final, obteniendo una solución.
Características de un algoritmo
Las características fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Un algoritmo 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.
La definición de un algoritmo debe definir tres partes: Entrada, Proceso y Salida.
En el algoritmo de una receta de cocina se tendría como:
Entrada: ingredientes y utensilios empleados.
Proceso: elaboración de la receta en la cocina.
Salida: terminación del plato (por ejemplo, ensalada)
Ejemplo de algoritmo
Un cliente ejecuta un pedido a una fábrica. Esta examina en su banco de datos la ficha del cliente; si el cliente es solvente entonces la empresa acepta el pedido; en caso contrario rechazará el pedido. Redactar el algoritmo correspondiente. Los pasos del algoritmo son:
1. Inicio
2. Leer el pedido
3. Examinar la ficha del cliente
4. Si el cliente es solvente aceptar pedido; en caso contrario, rechazar pedido
5. Fin
En la vida cotidiana se emplean
algoritmos en multitud de ocasiones
para resolver diversos problemas.
Algunos ejemplos se encuentran en los
instructivos (manuales de usuario), los
cuales muestran algoritmos para usar el
aparato en cuestión o incluso en las
instrucciones que recibe un trabajador
por parte de su patrón.
Definición de diagrama de
flujo
Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se visualiza dentro del símbolo adecuado y el orden en que estos pasos se ejecutan. Se indica su secuencia conectándolos con flechas llamadas líneas de flujo porque indican el flujo lógico del algoritmo.
En esencia el diagrama de flujo es un medio de presentación visual y gráfica de flujo de datos, a través de un algoritmo, las operaciones ejecutadas dentro del sistema y la secuencia en que se ejecutan.
Se pueden decir también que un diagrama de flujo o un organigrama es una representación semigráfica del algoritmo en cuestión. Esto facilita la visión descriptiva de la ejecución del programa, así como la generación de la traza del algoritmo. Se denomina traza de un algoritmo a la ejecución manual de un programa obteniendo para cada paso un resultado.
Los símbolos utilizados en los diagramas han sido normalizados por las organizaciones ANSI (American National Institute) y por ISO (International Standard Organization) aunque el uso de estos estándar es voluntario.
Reglas para la construcción de
un diagrama de flujo Todos los símbolos han de estar
conectados.
A un símbolo de proceso pueden
llegarle varias líneas.
A un símbolo de decisión pueden
llegarle varias líneas, pero sólo saldrán
dos.
A la construcción con los símbolos
indicados es a lo que se conoce con el
nombre de Diagrama de flujo.
Desarrolle un algoritmo que le permita
leer dos valores en las variables A y B y
le permita escribir el resultado de la
suma de los dos.
1.-Leer los valores que para el caso
concreto del ejemplo son dos.
2.-Calcular la suma de dichos valores.
3.- y por último Escribir el resultado
obtenido de dicha suma.