Bladeren bron

README-es.md edited online with Bitbucket

Jose R Ortiz Ubarri 8 jaren geleden
bovenliggende
commit
ec98c88691
1 gewijzigde bestanden met toevoegingen van 22 en 21 verwijderingen
  1. 22
    21
      README-es.md

+ 22
- 21
README-es.md Bestand weergeven

6
 ![main2.png](images/main2.png)
6
 ![main2.png](images/main2.png)
7
 ![main3.png](images/main3.png)
7
 ![main3.png](images/main3.png)
8
 
8
 
9
-[Verano 2016 - Ive]
9
+[Verano 2016 - Ive- Tatiana]
10
 
10
 
11
-La *programación orientada a objetos* (object oriented programming, OOP) es un paradigma de programación que promueve el diseño de programas en el que distintos objetos interactúan entre sí para resolver un problema.   C++ es uno de los lenguajes de programación que promueve la programación orientada a objetos, permitiendo que los programadores creen sus propias clases desde cero o derivadas de otras clases existentes. Algunos otros lenguajes que promueven OOP son Java, Python, javascript y PHP.  
11
+La *programación orientada a objetos* (object oriented programming-OOP) es un paradigma de programación que promueve el diseño de programas en el que distintos objetos interactúan entre sí para resolver un problema. C++ es uno de los lenguajes de programación que promueve la programación orientada a objetos, permitiendo que los programadores creen sus propias clases desde cero o derivadas de otras clases existentes. Otros lenguajes que promueven OOP son Java, Python, Javascript y PHP.  
12
 
12
 
13
-En OOP, cada objeto encapsula dentro de él ciertas propiedades sobre el ente que está modelando (por ejemplo, un objeto que modela un *punto* encapsula dentro de sí las coordenadas *x* y *y* del punto que representa). Además, cada objeto contiene *metodos*, i.e. acciones que puede realizar sobre sus propiedades o sobre otros objetos. Por ejemplo, un objeto de clase *punto* puede realizar la acción de cambiar el valor de su coordenada *x*.
13
+En OOP, cada objeto encapsula dentro de él ciertas propiedades sobre el ente que está modelando. Por ejemplo, un objeto que modela un *punto* que encapsula dentro de sí las coordenadas *x* y *y* del punto que representa. Además, cada objeto permite realizar ciertas acciones sobre sí, i.e. contiene sus *métodos*. Por ejemplo, un objeto de la clase *punto* puede realizar la acción de cambiar el valor de su coordenada *x*.
14
 
14
 
15
-Cuando la clase de objetos que necesitamos utilizar en nuestro programa no ha sido predefinida en el alguna librería, necesitamos declarar e implementar nuestra propia clase. Para esto definimos *clases* que contengan datos con ciertas *propiedades* o *atributos* y acciones que queremos hacer con esos datos por medio de *métodos* o *funciones miembro*. De esta manera, podremos organizar la información y procesos en *objetos* que tienen las propiedades y métodos de una clase. En la experiencia de laboratorio de hoy practicarás la implementación de una clase y algunos de sus métodos, completando un programa que simula un partido de baloncesto entre dos jugadores, mantiene la puntuación del juego y las estadísticas globales de los dos jugadores.
15
+Cuando la clase de objetos que necesitamos utilizar en nuestro programa no ha sido predefinida en el alguna librería, necesitamos declarar e implementar nuestra propia clase. Para esto, definimos *clases* que contengan datos con ciertas *propiedades* o *atributos*, y acciones que queremos hacer con esos datos por medio de *métodos* o *funciones miembro*. De esta manera, podremos organizar la información y los procesos en *objetos* que tienen las propiedades y métodos de una clase. En la experiencia de laboratorio de hoy, practicarás la implementación de una clase y algunos de sus métodos, completando un programa que simula un partido de baloncesto entre dos jugadores, mantiene la puntuación del juego y las estadísticas globales de los dos jugadores.
16
 
16
 
17
 
17
 
18
 ## Objetivos:
18
 ## Objetivos:
32
 
32
 
33
 3. Estudiado los conceptos e instrucciones para la sesión de laboratorio.
33
 3. Estudiado los conceptos e instrucciones para la sesión de laboratorio.
34
 
34
 
35
-4. Tomado el quiz Pre-Lab disponible en Moodle.
35
+4. Tomado el quiz Pre-Lab, disponible en Moodle.
36
 
36
 
37
 
37
 
38
 
38
 
44
 
44
 
45
 ## El juego
45
 ## El juego
46
 
46
 
47
-El esqueleto de programa que te proveemos simula un partido de baloncesto entre dos jugadores. El programa utiliza OOP y simula el partido creando un objeto de clase BBPlayer para cada jugador e invocando sus métodos. El objeto que representa cada jugador contiene atributos tales como el nombre del jugador y estádisticas de juego, e.g. tiros intentados y anotados. Durante el juego, cada tiro anotado vale dos puntos. El programa incluye funciones  aleatorias y fórmulas para determinar el jugador que intenta el tiro, si anota el tiro y el jugador que coge el rebote.  Durante el partido simulado se mantiene la puntuación de cada jugador y se actualizan los datos para cada jugador. Al final del partido se despliega una tabla con las estadísticas.
47
+El esqueleto del programa que te proveemos simula un partido de baloncesto entre dos jugadores. El programa utiliza OOP y simula el partido creando un objeto de clase BBPlayer para cada jugador e invocando sus métodos. El objeto que representa cada jugador contiene atributos tales como el nombre del jugador y estadísticas de juego, e.g. tiros intentados y anotados. Durante el juego, cada tiro anotado vale dos puntos. El programa incluye funciones  aleatorias y fórmulas para determinar el jugador que intenta el tiro, si anota el tiro y el jugador que coge el rebote.  Durante el partido simulado se mantiene la puntuación de cada jugador y se actualizan los datos para cada jugador. Al final del partido se despliega una tabla con las estadísticas.
48
 
48
 
49
 El algoritmo que simula el juego es el siguiente:
49
 El algoritmo que simula el juego es el siguiente:
50
 
50
 
54
 3.  while (ninguno ha ganado):
54
 3.  while (ninguno ha ganado):
55
 4.    simular tiro al canasto
55
 4.    simular tiro al canasto
56
 5.    if (anotó):
56
 5.    if (anotó):
57
-6.      actualizar estadisticas de quien tiró al canasto
57
+6.      actualizar estadísticas de quien tiró al canasto
58
 7.      if (puntuación >= 32):
58
 7.      if (puntuación >= 32):
59
 8.        informar que jugadorEnOfensiva ganó
59
 8.        informar que jugadorEnOfensiva ganó
60
 9.      else:
60
 9.      else:
61
 10.        intercambiar jugadorEnOfensiva
61
 10.        intercambiar jugadorEnOfensiva
62
 11.   else:
62
 11.   else:
63
-12.     actualizar estadisticas de quien tiró al canasto
64
-13.     determinar quien atrapa rebote
65
-14.     actualizar estadisticas de quien atrapó rebote
63
+12.     actualizar estadísticas de quien tiró al canasto
64
+13.     determinar quién atrapa rebote
65
+14.     actualizar estadísticas de quien atrapó rebote
66
 15.     asignar jugadorEnOfensiva
66
 15.     asignar jugadorEnOfensiva
67
 16. mostrar estadísticas de los jugadores
67
 16. mostrar estadísticas de los jugadores
68
 ```
68
 ```
71
 
71
 
72
 ### La clase `BBPlayer`
72
 ### La clase `BBPlayer`
73
 
73
 
74
-Para esta experiencia de laboratorio, definirás una clase `BBPlayer` que contenga los atributos y métodos que se describen a continuación. Como algunas de las funciones que ya están definidas en el código provisto utilizan atributos y métodos de esta clase, es importante que utilices los mismos nombres que te indicamos. El código comentado en la función `main` y en `test_BBPlayer` también te ayudará a determinar el tipo de dato que debe devolver el método y el orden y tipo de sus parámetros.
74
+Para esta experiencia de laboratorio, definirás una clase `BBPlayer` que contenga los atributos y métodos que se describen a continuación. Como algunas de las funciones que ya están definidas en el código provisto que utilizan atributos y métodos de esta clase, es importante que utilices los mismos nombres que te indicamos. El código comentado en la función `main` y en `test_BBPlayer` también te ayudará a determinar el tipo de dato que debe devolver el método, el orden y el tipo de sus parámetros.
75
 
75
 
76
 #### Atributos
76
 #### Atributos
77
 
77
 
94
 * `reboundMade()`: método que registra un rebote atrapado.
94
 * `reboundMade()`: método que registra un rebote atrapado.
95
 * `addGame()`: método que registra que se jugó un partido.
95
 * `addGame()`: método que registra que se jugó un partido.
96
 * `score()`: método para adquirir la puntuación del jugador.
96
 * `score()`: método para adquirir la puntuación del jugador.
97
-* `printStats()`: método para desplegar las estádisticas del jugador. *(método incluido en `main.cpp`)*
97
+* `printStats()`: método para desplegar las estadísticas del jugador. *(método incluido en `main.cpp`)*
98
 
98
 
99
 ---
99
 ---
100
 
100
 
115
 
115
 
116
 ## Sesión de laboratorio:
116
 ## Sesión de laboratorio:
117
 
117
 
118
-Tu tarea durante la sesión de laboratorio será el definir la clase `BBPlayer` con los atributos y prototipos de los métodos que se listan arriba. El esqueleto del programa incluye la definición de algunos métodos. Tu debes completar el resto.
118
+Tu tarea durante la sesión de laboratorio será definir la clase `BBPlayer` con los atributos y prototipos de los métodos que se listan arriba. El esqueleto del programa incluye la definición de algunos métodos. Tu debes completar el resto.
119
 
119
 
120
-El esqueleto del programa también incluye la función `test_BBPlayer` que hace pruebas unitarias a cada una de las funciones del programa. Las pruebas están comentadas y, según vayas definiendo las funciones, debes irlas descomentando, probando y modificando la función  hasta que pase la prueba. Una vez todas las funciones estén listas y hayan pasado las pruebas, probarás el programa completo removiendo los comentarios que sean necesarios en el código de la función `main`.
120
+El esqueleto del programa también incluye la función `test_BBPlayer` que hace pruebas unitarias a cada una de las funciones del programa. Las pruebas están comentadas y, según vayas definiendo las funciones, debes irlas descomentando, probando y modificando la función hasta que pase la prueba. Una vez todas las funciones estén listas y hayan pasado las pruebas, probarás el programa completo removiendo los comentarios que sean necesarios en el código de la función `main`.
121
 
121
 
122
 
122
 
123
 ### Ejercicio 1 - Bajar y entender el código provisto
123
 ### Ejercicio 1 - Bajar y entender el código provisto
124
 
124
 
125
-#### Instrucciones:
125
+#### Instrucciones
126
 
126
 
127
 1. Carga a `QtCreator` el proyecto `basket01`. Hay dos maneras de hacer esto:
127
 1. Carga a `QtCreator` el proyecto `basket01`. Hay dos maneras de hacer esto:
128
 
128
 
129
-    * Utilizando la máquina virtual: Haz doble “click” en el archivo `basket01.pro` que se encuentra  en el directorio `/home/eip/labs/classes-basker01` de la máquina virtual.
130
-    * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el commando `git clone http:/bitbucket.org/eip-uprrp/classes-basker01` para descargar la carpeta `classes-basker01` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `basket01.pro`.
129
+    * Utilizando la máquina virtual: Haz doble “click” en el archivo `basket01.pro` que se encuentra  en el directorio `/home/eip/labs/classes-basket01` de la máquina virtual.
130
+    * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el comando `git clone http:/bitbucket.org/eip-uprrp/classes-basket01` para descargar la carpeta `classes-basket01` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `basket01.pro`.
131
 
131
 
132
 2. El ejecutable correrá en el terminal y  debes seleccionar esa opción desde la ventana de "Projects". Para acceder a esta ventana, seleccionas "Projects" en el menú vertical de la izquierda. Luego en `Build & Run` seleccionas `Run` y luego marcas la caja que dice `Run in terminal`.
132
 2. El ejecutable correrá en el terminal y  debes seleccionar esa opción desde la ventana de "Projects". Para acceder a esta ventana, seleccionas "Projects" en el menú vertical de la izquierda. Luego en `Build & Run` seleccionas `Run` y luego marcas la caja que dice `Run in terminal`.
133
 
133
 
135
 
135
 
136
 ### Ejercicio 2 - Definir la clase `BBPlayer`
136
 ### Ejercicio 2 - Definir la clase `BBPlayer`
137
 
137
 
138
+####Instrucciones
139
+
138
 1. Define la clase `BBPlayer` con las especificaciones que se proveen en la sección **La clase BBPlayer**. Para cada uno de los métodos que se especifican en esa sección:
140
 1. Define la clase `BBPlayer` con las especificaciones que se proveen en la sección **La clase BBPlayer**. Para cada uno de los métodos que se especifican en esa sección:
139
 
141
 
140
-    a. Incluye su prototipo en la definición de la clase
142
+    a. Incluye su prototipo en la definición de la clase.
141
 
143
 
142
     b. Si el método ya ha sido implementado, remueve los comentarios de las secciones correspondientes a esa función en  `test_BBPlayer`.
144
     b. Si el método ya ha sido implementado, remueve los comentarios de las secciones correspondientes a esa función en  `test_BBPlayer`.
143
 
145
 
178
 
180
 
179
 ## Entrega
181
 ## Entrega
180
 
182
 
181
-Utiliza "Entrega" en Moodle para entregar el archivo `main.cpp`. Recuerda utilizar buenas prácticas de programación, incluir el nombre de los programadores y documentar tu programa.
183
+Utiliza "Entrega" en Moodle para entregar el archivo `main.cpp`. Recuerda utilizar buenas prácticas de programación, incluye el nombre de los programadores y documenta tu programa.
182
 
184
 
183
 
185
 
184
 
186
 
199
 
201
 
200
 ---
202
 ---
201
 
203
 
202
----
203
-
204
+---