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.
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.
Lo que sigue a continuación es la descripción de las diferentes construcciones
disponibles para el diseño de algoritmos.
Cuando 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?








0 comentarios:
Publicar un comentario