|
|
|
|
7
|
![main3.png](images/main3.png)
|
7
|
![main3.png](images/main3.png)
|
8
|
|
8
|
|
9
|
|
9
|
|
10
|
-Como habrás aprendido en experiencias de laboratorio anteriores, lograr que un programa compile es solo una pequeña parte de programar. El compilador se encargará de decirte si hubo errores de sintaxis, pero no podrá detectar errores en la lógica del programa. Es muy importante el probar las funciones del programa para validar que producen los resultados correctos y esperados.
|
|
|
|
|
10
|
+Como habrás aprendido en experiencias de laboratorio anteriores, lograr que un programa compile es solo una pequeña parte de programar. El compilador se encargará de decirte si hubo errores de sintaxis, pero no podrá detectar errores en la lógica del programa. Es muy importante probar las funciones del programa para validar que producen los resultados correctos y esperados.
|
11
|
|
11
|
|
12
|
-Una manera de hacer estas pruebas es “a mano”, esto es, corriendo el programa múltiples veces, ingresando valores representativos (por medio del teclado) y visualmente verificando que el programa devuelve los valores esperados. Una forma más conveniente es implementar funciones dentro del programa cuyo propósito es verificar que otras funciones produzcan resultados correctos. En esta experiencia de laboratorio practicarás ambos métodos de verificación.
|
|
|
|
|
12
|
+Una manera de hacer estas pruebas es “a mano”, esto es, corriendo el programa múltiples veces, ingresando valores representativos (por medio del teclado) y visualmente verificando que el programa devuelve los valores esperados. Otra forma más conveniente es implementar funciones dentro del programa cuyo propósito es verificar que otras funciones produzcan resultados correctos. En esta experiencia de laboratorio practicarás ambos métodos de verificación.
|
13
|
|
13
|
|
14
|
##Objetivos:
|
14
|
##Objetivos:
|
15
|
|
15
|
|
|
|
|
|
165
|
|
165
|
|
166
|
###Ejercicio 1: Diseñar pruebas "a mano"
|
166
|
###Ejercicio 1: Diseñar pruebas "a mano"
|
167
|
|
167
|
|
168
|
-En este ejercicio practicarás cómo diseñar pruebas para validar funciones, utilizando solamente la descripción de la función y la interfaz que se usa para interactuar con la función.
|
|
|
|
|
168
|
+En este ejercicio practicarás cómo diseñar pruebas para validar funciones, utilizando solamente la descripción de la función y la interfaz gráfico que se usa para interactuar con la función.
|
169
|
|
169
|
|
170
|
-El ejercicio **NO requiere programación**, solo requiere que entiendas la descripción de la función, y tu habilidad para diseñar pruebas. Este ejercicio y el Ejercicio 2 son una adaptación del ejercicio en [1].
|
|
|
|
|
170
|
+El ejercicio **NO requiere programación**, solo requiere que entiendas la descripción de la función, y tu habilidad para diseñar pruebas. Este ejercicio y el Ejercicio 2 son una adaptación de la actividad descrita en [1].
|
171
|
|
171
|
|
172
|
**Ejemplo 3.** Supón que una amiga te provee un programa. Ella asegura que el programa resuelve el siguiente problema:
|
172
|
**Ejemplo 3.** Supón que una amiga te provee un programa. Ella asegura que el programa resuelve el siguiente problema:
|
173
|
|
173
|
|
|
|
|
|
200
|
|
200
|
|
201
|
---
|
201
|
---
|
202
|
|
202
|
|
203
|
-
|
|
|
204
|
![figure5.png](images/figure5.png)
|
203
|
![figure5.png](images/figure5.png)
|
205
|
|
204
|
|
206
|
**Figura 5** - Interfaz de la función `3 Sorts`.
|
205
|
**Figura 5** - Interfaz de la función `3 Sorts`.
|
|
|
|
|
209
|
|
208
|
|
210
|
|
209
|
|
211
|
|
210
|
|
212
|
-* **Dice:** cuando el usuario marca el botón `Roll them!`, el programa genera dos números aleatorios entre 1 y 6. El programa informa la suma de los números aleatorios.
|
|
|
|
|
211
|
+* **Dice:** cuando el usuario marca el botón `Roll them!`, el programa genera dos enteros aleatorios entre 1 y 6. El programa informa la suma de los enteros aleatorios.
|
213
|
|
212
|
|
214
|
---
|
213
|
---
|
215
|
|
214
|
|
|
|
|
|
236
|
---
|
235
|
---
|
237
|
|
236
|
|
238
|
|
237
|
|
239
|
-* **Zulu time:** Dada una hora en tiempo Zulu (Hora en el Meridiano de Greenwich) y la zona militar en la que el usuario desea saber la hora, el programa muestra la hora en esa zona. El formato para el dato de entrada es en formato de 23 horas `####`, por ejemplo `2212` sería las 10:12 pm. La lista de zonas militares válidas la puedes encontrar en http://en.wikipedia.org/wiki/List_of_military_time_zones. Lo que sigue son ejemplos de cómo deben ser los resultados del programa:
|
|
|
|
|
238
|
+* **Zulu time:** Dada una hora en tiempo Zulu (Hora en el Meridiano de Greenwich) y la zona militar en la que el usuario desea saber la hora, el programa muestra la hora en esa zona. El formato para el dato de entrada es en formato de 23 horas `####`, por ejemplo `2212` sería las 10:12 pm. Puedes encontrar la lista de zonas militares válidas en http://en.wikipedia.org/wiki/List_of_military_time_zones. Lo que sigue son ejemplos de cómo deben ser los resultados del programa:
|
240
|
|
239
|
|
241
|
* Dada hora Zulu 1230 y zona A (UTC+1), el resultado debe ser 1330.
|
240
|
* Dada hora Zulu 1230 y zona A (UTC+1), el resultado debe ser 1330.
|
242
|
* Dada hora Zulu 1230 y zona N (UTC-1), el resultado debe ser 1130.
|
241
|
* Dada hora Zulu 1230 y zona N (UTC-1), el resultado debe ser 1130.
|
|
|
|
|
530
|
|
529
|
|
531
|
In this exercise you will practice how to design tests to validate functions, using only the function's description and the graphical user interface that is used interact with the function.
|
530
|
In this exercise you will practice how to design tests to validate functions, using only the function's description and the graphical user interface that is used interact with the function.
|
532
|
|
531
|
|
533
|
-The exercise **DOES NOT require programming**, it only requires that you understand the function’s description, and your ability to design tests. This exercise and Exercise 2 are an adaptation of the exercise in [1].
|
|
|
|
|
532
|
+The exercise **DOES NOT require programming**, it only requires that you understand the function’s description, and your ability to design tests. This exercise and Exercise 2 are an adaptation of the activity described in [1].
|
534
|
|
533
|
|
535
|
**Example 3** Suppose that a friend provides you with a program. She makes sure the program solves the following problem:
|
534
|
**Example 3** Suppose that a friend provides you with a program. She makes sure the program solves the following problem:
|
536
|
|
535
|
|
|
|
|
|
570
|
---
|
569
|
---
|
571
|
|
570
|
|
572
|
|
571
|
|
573
|
-* **Dice:** when the user presses the `Roll them!` button, the program generates two random integers between 1 and 6. The program informs the sum of the two random numbers.
|
|
|
|
|
572
|
+* **Dice:** when the user presses the `Roll them!` button, the program generates two random integers between 1 and 6. The program informs the sum of the two random integers.
|
574
|
|
573
|
|
575
|
---
|
574
|
---
|
576
|
|
575
|
|