Post on 27-Jun-2015
La resolución de un problema mediante un ordenador consiste en el proceso que a partir de
la descripción de un problema, expresado habitualmente en lenguaje natural y en términos
propios del dominio del problema, permite desarrollar un programa que resuelva dicho
problema.
Este proceso exige los siguientes pasos:
Análisis del problema.
Diseño o desarrollo de un algoritmo.
Transformación del algoritmo en un programa (codificación).
Ejecución y validación del programa.
Los dos primeros pasos son los más difíciles del proceso. Una vez analizado el problema y
obtenido un algoritmo que lo resuelva, su transformación a un programa de ordenador es una
tarea de mera traducción al lenguaje de programación deseado.
1.1. Identificar el problemaSe tiene un problema cuando se desea encontrar uno o varios objetos desconocidos (ya sean estos números, diagramas, figuras, demostraciones, decisiones, posiciones, algoritmos, u otras cosas), que cumplen condiciones y/o relaciones, previamente definidas, respecto a uno o varios objetos conocidos. De esta manera, solucionar un problema es encontrar los objetos desconocidos de dicho problema.
1.2. Análisis del problemaCuando un usuario plantea a un programador un problema que resolver mediante
su ordenador, por lo general ese usuario tendrá conocimientos más o menos amplios sobre el
dominio del problema, pero no es habitual que tenga conocimientos de informática. Por
ejemplo, un contable que necesita un programa para llevar la contabilidad de una empresa será
un experto en contabilidad (dominio del problema), pero no tiene por qué ser experto
en programación.
Del mismo modo, el informático que va a resolver un determinado problema puede ser un
experto programador, pero en principio no tiene por qué conocer el dominio del problema;
siguiendo el ejemplo anterior, el informático que hace un programa no tiene por qué ser un
experto en contabilidad.
Por ello, al abordar un problema que se quiere resolver mediante un ordenador, el programador
necesita de la experiencia del experto del dominio para entender el problema. Al final, si se
quiere llegar a una solución satisfactoria es necesario que:
El problema esté bien definido con el máximo detalle
Las especificaciones de las entradas y salidas del problema, deben ser descritas
también en detalle:
¿Qué datos son necesarios para resolver el problema?
¿Qué información debe proporcionar la resolución del problema?
1.3. Elaborar algoritmos de la solución de problemas
Un algoritmo consiste en una especificación clara y concisa de los pasos necesarios para
resolver un determinado problema, pero para poder diseñar algoritmos es necesario disponer
de una notación, que llamaremos ‘notación algorítmica’, que permita:
Describir las operaciones puestas en juego (acciones, instrucciones, comandos,...)
Describir los objetos manipulados por el algoritmo (datos/informaciones)
Controlar la realización de las acciones descritas, indicando la forma en que estas se
organizan en el tiempo
Para poder describir cualquier tipo de acción de las que intervienen en un algoritmo, diversos
autores proponen el uso de un conjunto de construcciones lógicas (secuencia, decisión e
iteración) con las que es posible escribir cualquier programa.
1.4. Elaborar algoritmos de flujos de la solución de problemas
Los diagramas de flujo son una manera de representar visualmente el flujo de
datos a travéz de sistemas de tratamiento de información. Los diagramas de
flujo describen que operaciónes y en que secuencia se requieren para
solucionar un problema dado.
Un diagrama de flujo u organigrama es una representación diagramática que
ilustra la secuencia de las operaciones que se realizarán para conseguir la
solución de un problema. Los diagramas de flujo se dibujan generalmente
antes de comenzar a programar el código frente a la computadora. Los
diagramas de flujo facilitan la comunicación entre los programadores y la gente
del negocio. Estos diagramas de flujo desempeñan un papel vital en la
programación de un problema y facilitan la comprensión de
problemas complicados y sobre todo muy largos. Una vez que se dibuja el
diagrama de flujo, llega a ser fácil escribír el programa en cualquier idióma de
alto nivel. Vemos a menudo cómo los diagramas de flujo nos dan ventaja al
momento de explicar el programa a otros. Por lo tanto, está correcto decir que
un diagrama de flujo es una necesidad para la documentación mejor de un
programa complejo.
1.5. Crear pseudocódigo de la solución del problema
Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio, codificamos el programa en el lenguaje de computador seleccionado. Esto es, colocamos cada paso del diagrama en una instrucción o sentencia, utilizando un lenguaje que el computador reconoce.
Todos los lenguajes de programación proveen facilidades para incluir líneas de comentarios en los programas. Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa.
1.6. Prueba de escritorio de la solución del problema
La prueba de escritorio es una herramienta útil para entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la especificación sin necesidad de ejecutarlo. Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo.
Karen itzel Herbert gutierrez.4ºC informáticaAPPSMargarita romero Alvarado.