unidad 1

6
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 problema Se 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.

Upload: kaareensitaah

Post on 27-Jun-2015

41 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Unidad 1

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.

Page 2: Unidad 1

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.

Page 3: Unidad 1

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.

Page 4: Unidad 1

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.