21 de junio de 2017

Pruebas de escritorio.

   En las secciones correspondientes al algoritmo de Euclides de las entradas Diagramas de flujo y Pseudo código respectivamente, se muestran esencialmente el mismo algoritmo en dos notaciones distintas. El algoritmo de Euclides determina el Máximo Común Divisor (MCD) de dos números enteros positivos.

   Una prueba de escritorio es un tipo de prueba algorítmica que consiste en la validación y verificación del algoritmo a través de la ejecución de las sentencias que lo componen (proceso) para determinar sus resultados (salida) a partir de un conjunto inicial determinado de elementos (entrada).
 
    Por simplicidad y para facilitar la comprensión de la prueba se repetirá aquí la versión en diagrama de flujo, pero se puede y recomienda consultar también la versión en Pseudo código:
Algoritmo de Euclides para determinar el MCD.

   Suponga que desea saber cuál es MCD de 15 y 4. Una prueba de escritorio para el algoritmo de MCD consistiría, en primer lugar, de la identificación de las variables involucradas, es decir:

      m =
      n =
      r =

   La sentencia Obtener(m, n) (proceso de entrada) definirá los valores de las variables m y n respectivamente que, con base en lo planteado en el algoritmo y en lo que se desea saber sería:

      m = 15
      n = 4
      r =

mientras que r se define en función de la expresión r = m mod n, es decir:

      m = 15
      n = 4
      r = 3

el siguiente paso es verificar la condición del while (¿es el residuo r distinto de cero?). Como dicha condición es evaluada como verdadera (tres es distinto de cero), se tendría la siguiente secuencia de valores para las variables con base en las operaciones descritas si se sigue el lado derecho del diamante, mismas que constituyen las operaciones realizadas dentro del ciclo:

      m = 15, 4
      n = 4, 3
      r = 3, 1

para la primera iteración o ejecución del ciclo. Como el residuo es distinto de cero, la condición del ciclo es verdadera y sea realiza una segunda iteración, generando ahora los valores:

      m = 15, 4, 3
      n = 4, 3, 1
      r = 3, 1, 0
 
de donde puede verse, que el MCD de 15 y 4 es 1 (almacenado en n) cuando la condición del ciclo se hace falsa, debido a que el residuo es finalmente cero.

   Asegúrese de comprender el proceso descrito y genere usted mismo cada uno de los valores descritos para corroborar lo aquí expuesto. También utilice ahora los mismos valores pero intercambiados, ¿qué sucede? ¿qué secuencia de valores se genera? ¿cuál es el MCD? ¿cuál es ahora el MCD de 15 y 10? ¿cuál es el MCD de 10 y 15?

   Pruebe con otros valores hasta que comprenda el funcionamiento del algoritmo, y compruebe los resultados de sus pruebas de escritorio con los algoritmos descritos en diagrama de flujo y pseudo código respectivamente.