unidad 1 metodología para la solución de problemasyaqui.mxl.uabc.mx/~cmarquez/clase1.pdf ·...

24
M.S.C. Elvia Cristina Márquez Salgado Unidad 1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Upload: phungphuc

Post on 04-Nov-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

M.S.C. Elvia Cristina Márquez Salgado

Unidad 1

METODOLOGÍA PARA LA

SOLUCIÓN DE PROBLEMAS

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.

Ejercicio

Hacer un algoritmo.

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 un símbolo de inicio nunca le llegan

líneas.

De un símbolo de fin no parte ninguna

línea.

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.