Unidad 1

21

Transcript of Unidad 1

1. Desarrollar el proceso de solución de un

problema. 

1.1. Identificar el problema 

¿CÓMO IDENTIFICAR UN PROBLEMA?

No podemos llegar a la solución satisfactoria de un problema si no hacemos primero el esfuerzo por conocer razonablemente dicho problema. El punto de partida para solucionar un problema es identificarlo adecuadamente.Un problema no es la ausencia de una solución y por tanto su definición no debe hacerse anotando la falta de algo, sino las manifestaciones negativas de un estado.Generalmente los problemas se hacen evidentes por sus expresiones o manifestaciones externas, por la forma como afectan a una comunidad. Un problema se refiere a una situación que denota inconveniencia, insatisfacción, o un hecho negativo.

1.1. IDENTIFICAR EL PROBLEMA 

¿QUÉ ES UN PROBLEMA?

La determinación del problema es una operación mediante la cual se especifica claramente y de un modo concreto sobre qué se va a realizar la investigación. Es el punto inicial de la cadena: Problema- Investigación- Solución; por tanto, determinará toda la posterior proyección de la investigación se debe tener en cuenta:El problema, responde al ¨ POR QUE¨, de la Investigación lo podemos definir como la situación propia de un objeto, que provoca una necesidad en un sujeto, el cual desarrollará una actividad para transformar la situación mencionada.El problema es objetivo en tanto es una situación presente en el objeto; pero es subjetivo, pues para que exista el problema, la situación tiene que generar una necesidad en el sujeto.Cualquier problema científico es consecuencia del desconocimiento de la existencia, en una esfera de la realidad, de elementos y relaciones de dicha realidad objetiva. El planteamiento del problema científico es la expresión de los límites del conocimiento científico actual que genera la insatisfacción de la necesidad del sujeto.

1.1. IDENTIFICAR EL PROBLEMAANALISIS DE LOS PROBLEMAS

Se sugiere la elaboración del Árbol de Problemas, para cada problemadetectado en la Fase anterior.

Descripción del Problema: ¿Cómo se manifiesta el problema? Lasmanifestaciones constituyen los hechos visibles y cuantificables que permitenconstatar o corroborar la existencia del problema. Éstas surgen al responder lapregunta ¿Cuáles son los hechos que permiten verificar la existencia delproblema?

Causas: Se explica el origen del problema. Para ello conviene responder a lasiguiente pregunta: ¿Cuáles son los hechos, situaciones o factores queproducen los resultados insatisfactorios que denominamos manifestaciones? Elnúmero de causas varía de un problema a otro, lo importante es que lascausas sean las suficientes y necesarias para explicar el problema.

Consecuencias: Los hechos o situaciones que describen el impacto que genera el problema sobre otros problemas, se les denomina consecuencias. La identificación de las consecuencias de un problema, permite ratificar o validar la importancia del mismo.Involucrados: Se describen las personas afectadas por el problema y en algunos casos los causantes del mismo.

1.2. ANÁLISIS DEL PROBLEMA 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?

1.3. ELABORAR ALGORITMOS DE LA SOLUCIÓN DEL PROBLEMA 

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.

1.4. ELABORAR DIAGRAMAS DE FLUJO DE LA SOLUCIÓN DEL PROBLEMA 

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.4. ELABORAR DIAGRAMAS DE FLUJO DE LA SOLUCIÓN DEL PROBLEMA

Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando séan requeridos. Algunos símbolos estándares, que se requieren con frecuencia para diagramar programas de computadora se muestran a continuación:

1.4. ELABORAR DIAGRAMAS DE FLUJO DE LA SOLUCIÓN DEL PROBLEMA

Inicio o fin del programa

Pasos, procesos o líneas de instruccion de programa de computo

Operaciones de entrada y salida

Toma de desiciónes y Ramificación

1.4. ELABORAR DIAGRAMAS DE FLUJO DE LA SOLUCIÓN DEL PROBLEMA

Conector para unir el flujo a otra parte del diagrama

Conector de pagina

Líneas de flujo

Display, para mostrar datos

Envía datos a la impresora

1.5. CREAR PSEUDOCÓDIGO DE LA SOLUCIÓN DEL PROBLEMA 

Muchas veces, en los libros de texto y publicaciones científicas relacionadas con la informática y la computación numérica, se utilizan pseudocódigo en la descripción de algoritmos, de manera que todos los programadores puedan entenderlo, aunque no todos conozcan el mismo lenguaje de programación. Generalmente, en los libros de texto, hay una explicación que acompaña la introducción que explica las convenciones particulares en uso. El nivel de detalle del pseudocódigo puede, en algunos casos, acercarse a la de formalizar los idiomas de propósito general.

Un programador que tiene que aplicar un algoritmo específico, sobre todo uno des familiarizado, generalmente comienza con una descripción en pseudocódigo, y luego "traduce" esa descripción en el lenguaje de programación meta y lo modifica para que interactúe correctamente con el resto del programa. Los programadores también pueden iniciar un proyecto describiendo la forma del código en pseudocódigo en el papel antes de escribirlo en su lenguaje de programación.

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.