|
@@ -4,7 +4,7 @@
|
4
|
4
|
![main2.png](images/main2.png)
|
5
|
5
|
![main3.png](images/main3.png)
|
6
|
6
|
|
7
|
|
-[Verano 2016 - Rafa - Ive]
|
|
7
|
+[Verano 2016 - Rafa - Ive- Tatiana]
|
8
|
8
|
|
9
|
9
|
Una de las ventajas de utilizar programas de computadoras es que podemos realizar tareas repetitivas fácilmente. Los ciclos como `for`, `while`, y `do-while` son estructuras de control que nos permiten repetir un conjunto de instrucciones. A estas estructuras también se les llama *estructuras de repetición*.
|
10
|
10
|
|
|
@@ -51,7 +51,7 @@ Los únicos comandos que entiende el robot son:
|
51
|
51
|
1. Verificar si hay una puerta en la pared del norte (N), sur (S), este (E) u oeste (W) del cuarto donde se encuentra.
|
52
|
52
|
2. Moverse al cuarto que queda justo al norte (N), sur (S), este (E) u oeste (W) del cuarto actual.
|
53
|
53
|
4. Crear variables y asignarle valores.
|
54
|
|
-3. Realizar operaciones suma, resta, multiplicación y división.
|
|
54
|
+3. Realizar operaciones de suma, resta, multiplicación y división.
|
55
|
55
|
5. Usar estructuras de decisión y repetición.
|
56
|
56
|
6. Desplegar resultados a pantalla.
|
57
|
57
|
|
|
@@ -95,7 +95,7 @@ int main(int argc, char *argv[]) {
|
95
|
95
|
|
96
|
96
|
En el ejemplo estamos creando un robot dentro de un espacio cuadrado que solo sabe verificar si hay una puerta hacia el oeste y (si hay puerta) caminar hacia esa misma dirección. Veamos la función, línea por línea.
|
97
|
97
|
|
98
|
|
-La primera línea crea el único objeto que debes crear, un objeto de clase `MainGameWindow`. El parámetro `Mode::SQUARE_TOP_LEFT` especifica que la cuadrícula será cuadrada y que el robot comenzará en la esquina superior izquierda. Otras opciones para el parámetro son `RECT_TOP_LEFT`, `RECT_RANDOM` y `PYRAMID_RANDOM`.
|
|
98
|
+La primera línea crea el único objeto que debes crear, un objeto de clase `MainGameWindow`. El parámetro `Mode::SQUARE_TOP_LEFT` especifica que la cuadrícula será un cuadrado y que el robot comenzará en la esquina superior izquierda. Otras opciones para el parámetro son `RECT_TOP_LEFT`, `RECT_RANDOM` y `PYRAMID_RANDOM`.
|
99
|
99
|
|
100
|
100
|
`MainGameWindow *w = new MainGameWindow(Mode::SQUARE_TOP_LEFT);`
|
101
|
101
|
|
|
@@ -152,11 +152,11 @@ Supón que el robot se encuentra en el cuarto superior izquierdo (extremo noroes
|
152
|
152
|
1. Carga a `QtCreator` el proyecto `CountingSquares`. Hay dos maneras de hacer esto:
|
153
|
153
|
|
154
|
154
|
* Utilizando la máquina virtual: Haz doble “click” en el archivo `CountingSquares.pro` que se encuentra en el directorio `/home/eip/labs/repetitions-countingsquares` de la máquina virtual.
|
155
|
|
- * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el commando `git clone http:/bitbucket.org/eip-uprrp/repetitions-countingsquares` para descargar la carpeta `repetitions-countingsquares` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `CountingSquares.pro`.
|
|
155
|
+ * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el comando `git clone http:/bitbucket.org/eip-uprrp/repetitions-countingsquares` para descargar la carpeta `repetitions-countingsquares` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `CountingSquares.pro`.
|
156
|
156
|
|
157
|
157
|
2. Configura el proyecto. El proyecto consiste de varios archivos. **Solo escribirás código en el archivo** `main.cpp`. Los demás archivos contienen funciones que implementan la funcionalidad de las instrucciones que entiende el robot.
|
158
|
158
|
|
159
|
|
-3. Al escribir tu algoritmo debes asegurarte de que el objeto `MainGameWindow` es creado usando el argumento `Mode::SQUARE_TOP_LEFT`. Recuerda, el robot no sabe de antemano cuantos cuartos hay. Prueba tu algoritmo con algunos ejemplos.
|
|
159
|
+3. Al escribir tu algoritmo debes asegurarte de que el objeto `MainGameWindow` es creado usando el argumento `Mode::SQUARE_TOP_LEFT`. Recuerda, el robot no sabe de antemano cuántos cuartos hay. Prueba tu algoritmo con algunos ejemplos.
|
160
|
160
|
|
161
|
161
|
4. Si el tamaño de la cuadrícula es 3x3, ¿cuántos cuartos debe visitar el robot para completar tu algoritmo? ¿Qué tal 4x4? ¿Qué tal $$n \times n$$ cuartos?
|
162
|
162
|
|
|
@@ -221,4 +221,6 @@ Utiliza los enlaces "Entrega" en Moodle para entregar el algoritmo del Ejercicio
|
221
|
221
|
|
222
|
222
|
## Referencias
|
223
|
223
|
|
224
|
|
-[1] Luther A. Tychonievich, Mark S. Sherriff, and Ryan M. Layer, http://nifty.stanford.edu/2015/tychonievich-sherriff-layer-counting-squares/
|
|
224
|
+[1] Luther A. Tychonievich, Mark S. Sherriff, and Ryan M. Layer, http://nifty.stanford.edu/2015/tychonievich-sherriff-layer-counting-squares/
|
|
225
|
+
|
|
226
|
+
|