miércoles, 15 de diciembre de 2010

PRUEBAS DE ESCRITORIO

¿QUE ES UNA PRUEBA DE ESCRITORIO? Es a la comprobación que se hace de un algoritmo para saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes
 Es Importande  realizar una prueba de escritorio para eliminar  variables no nesesarias, crear variables faltantes, ocupar los ciclos adecuados.y  princiaplmente legar al objetivo del problema.
Antes de ocupar esta herramienta hay que seguir  los siguientes pasos previos:

•DEFINICIÓN DEL PROBLEMA

•ANÁLISIS DEL PROBLEMA

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:

◦Los datos de entrada de salida fórmulas y ciclos .

•DISEÑO DEL ALGORITMO
◦Prueba de escritorio o Depuración

Practica desarrollar la prueba de escritorio pára el siguiente  diagrama de flujo:

viernes, 10 de diciembre de 2010

Algoritmo de solución

Definicion: Algoritmo:
•Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]


 Las características fundamentales que debe cumplir todo algoritmo son:


 •Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de interpretación.

•Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos.

•Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende.

•Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.

•Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución.

Planteamiento del problema


Definiciones de problema:


•Problema es una cuestión que se propone con la finalidad y ánimo de aclararla o resolverla utilitzando una metodología determinada.


1. Definición del problema

Requiere que el problema sea definido y comprendido claramente para que pueda ser analizado con todo detalle .

2. Análisis del problema

El propósito del análisis de un problema es ayudar al programador para llegar a una cierta comprensión de la naturaleza del problema. El problema debe estar bien definido si se desea llegar a una solución satisfactoria.

Para poder definir con precisión el problema se requiere que las especificaciones de entrada, proceso y salida sean descritas con detalles.

•Entrada, son todos los datos que hay que ingresar para la resolución del problema.

•Proceso, son los diferentes procedimientos en los cuales usare los datos proporcionados por el usuario en el paso anterior para resolver el problema.

•Salida, la resolución del problema.

Una buena definición del problema, junto con una descripción detallada de las especificaciones de entrada y salida, son los requisitos mas importantes para llegar a una solución eficaz.

El análisis del problema exige una lectura previa del problema a fin de obtener una idea general de lo que se solicita . la segunda lectura deberá servir para responder a las preguntas:

•¿Qué información debe proporcionar la resolución del problema?

•¿Qué datos se necesitan para resolver el problema?

La respuesta a la primera pregunta indicara los resultados deseados o las salidas del problema. La respuesta a la segunda pregunta indicara que datos proporcionan o las entradas del problema.

En esta fase debemos aprender a analizar la documentación de la empresa , investigar, observar todo lo que rodea el problema.





3. Diseño de la solución

Una computadora no tiene la capacidad para solucionar mas que cuanto se le proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las instrucciones a ejecutar por la maquina constituyen, como ya sabemos el algoritmo.

La información proporcionada al algoritmo constituye su entrada y la información producida por el algoritmo constituye su salida.

Los problemas complejos se pueden resolver mas eficazmente con la computadora cuando se rompen en subproblemas que sean mas fáciles de solucionar que el original. La descomposición del problema original en subproblemas mas simples y a continuación dividir estos subproblemas en otros mas simples que puedan ser implementados para su solución en la computadora de denomina diseño descendente (top - down design ).

Es presiso representar el algoritmo mediante una determinada herramienta de programación: diagramas de flujo, pseudocódigo o diagramas N - S.

4. Codificación

Es el algoritmo traspasado a la computadora a través de un lenguaje de programación,

debe ser escrito de acuerdo a las reglas gramaticales o sintaxis del mismo.

Generamos un algoritmo el cual se denomina código, y al pasarlo a un lenguaje de programación se le llama código fuente.

5. Compilación y ejecución

Compilación, el lenguaje de programación seleccionado revisa que ya no halla errores en el código fuente.

Ejecución, ejecutar el programa después del ser compilado.

6. Verificación y pruebas

Revisar que el programa de los resultados que el usuario quiere, hay que revisar si hay algún error el cual puede ser de tipo lógico, de semántica o ejecución.



7. Depuración

Corregir los errores encontrados en la etapa anterior, si hubiese algún error se tiene que regresar hasta la etapa que sea necesaria para que la solución sea la que el usuario requiere.

8. Documentación

Son todos los comentarios, referencias desde que se dio el problema hasta que se encontró la solución.

a) documentación interna, es el encabezado, descripción, declaración del problema, son todos los comentarios que puedan llegar a servir dentro del código fuente.

b) documentación externa, son los manuales que se hacen para una mejor ejecución del programa, ahí se explicara como usar el programa.


Fases de la programación:

1.- ANALISIS: Cuando se tiene y piensa la idea o problema a ejecutar.

2.- DISEÑO: Se plantea un algoritmo con los pasos a dibujar o realizarse.

3.- IMPLEMENTACION: Los pasos de algoritmo se transforma en un código pascal y se plasman en el programa

4.- PRUEBAS: Se corre el programa y se registra su efectividad.

5.- DEPURACION: después de haber corrido el programa se hacen las correcciones necesarias.

6.- RETROALIMENTACION Y LIBERACION: Después de haber corregido los errores se regresa al paso 4 en caso de haber existido.