Quellcode durchsuchen

Rafa corrigiendo algunas instrucciones README-es.md

Rafael Arce Nazario vor 8 Jahren
Ursprung
Commit
882b94108f
1 geänderte Dateien mit 47 neuen und 39 gelöschten Zeilen
  1. 47
    39
      README-es.md

+ 47
- 39
README-es.md Datei anzeigen

@@ -55,41 +55,48 @@ tiene una serie de instrucciones que toman los valores asignados a los parámetr
55 55
 
56 56
 La primera oración de una función se llama el *encabezado* y su estructura es como sigue:
57 57
 
58
-`tipo nombre(tipo parámetro01, ..., tipo parámetro0n)`
58
+```cpp
59
+tipo nombre(tipo parámetro_1, ..., tipo parámetro_n)`
60
+```
59 61
 
60 62
 Por ejemplo,
61 63
 
62
-`int ejemplo(int var1, float var2, char &var3)`
64
+```cpp
65
+int ejemplo(int var1, float var2, char &var3)
66
+```
63 67
 
64 68
 sería el encabezado de la función llamada `ejemplo`, que devuelve un valor entero. La función recibe como argumentos un valor entero (y guardará una copia en `var1`), un valor de tipo `float` (y guardará una copia en `var2`) y la referencia a una variable de tipo  `char` que se guardará en la variable de referencia `var3`. Nota que `var3` tiene el signo `&` antes del nombre de la variable. Esto indica que `var3` contendrá la referencia a un carácter.
65 69
 
66 70
 ###Invocación
67 71
 
68
-Si queremos guardar el valor del resultado de la función `ejemplo` en la variable `resultado` (que deberá ser de tipo entero), invocamos la función pasando argumentos de manera similar a:
72
+La siguiente línea asigna a la variable x el resultado de la llamada a `ejemplo`:
69 73
 
70
-`resultado=ejemplo(2, 3.5, unCar);`
74
+Si queremos guardar el valor del resultado de la función `ejemplo` en la variable `resultado` (que deberá ser de tipo entero), invocamos la función pasando argumentos de manera similar a:
71 75
 
72
-Nota que al invocar funciones no incluyes el tipo de las variables en los argumentos como en la definición de la función `ejemplo`. El tercer parámetro `&var3` es una variable de referencia, esto significa que lo que se está enviando en el tercer argumento de la invocación es una *referencia* a la variable `unCar`. Los cambios que se hagan en la variable `var3` están cambiando el contenido de la variable `unCar`.
76
+```cpp
77
+x = ejemplo(2, 3.5, unCar);
78
+```
73 79
 
74
-También puedes usar el resultado de la función sin tener que guardarlo en una variable. Por ejemplo puedes imprimirlo:
80
+Nota que al invocar funciones no incluyes el tipo de las variables en los argumentos como en la definición de la función. El tercer parámetro `&var3` es una variable de referencia, esto significa que lo que se está enviando es una *referencia* a la variable `unCar`. Las asignaciones que se hagan a la variable `var3` dentro de la función `ejemplo` cambian el valor de `unCar`.
75 81
 
76
-`cout << "El resultado de la función ejemplo es:" << ejemplo(2, 3.5, unCar);`
82
+El resultado de una función puede ser dirigido al objeto `cout` para ser desplegado en el terminal, como muestra la siguiente línea:
77 83
 
78
-o utilizarlo en una expresión aritmética:
84
+```cpp
85
+cout << "El resultado de la función ejemplo es:" << ejemplo(2, 3.5, unCar);`
86
+```
79 87
 
80
-`y=3 + ejemplo(2, 3.5, unCar);`
88
+o puede ser utilizado en una expresión aritmética:
81 89
 
90
+```cpp
91
+y = 3 + ejemplo(2, 3.5, unCar);`
92
+```
82 93
 
83 94
 
84 95
 ###Funciones sobrecargadas (‘overloaded’)
85 96
 
86
-Las funciones sobrecargadas son funciones que poseen el mismo nombre, pero *firma* diferente.
87
-
88
-La firma de una función se compone del nombre de la función, y los tipos de parámetros que recibe, pero no incluye el tipo que devuelve.
89
-
90
-Los siguientes prototipos de funciones tienen la misma firma:
97
+Las funciones sobrecargadas son funciones que poseen el mismo nombre, pero tiene *firmas* diferente.La firma de una función se compone del nombre de la función, y los tipos de parámetros que recibe, pero no incluye el tipo que devuelve. Los siguientes prototipos de funciones tienen **firmas iguales**:
91 98
 
92
-```
99
+```cpp
93 100
 int ejemplo(int, int) ;
94 101
 void ejemplo(int, int) ; 
95 102
 string ejemplo(int, int) ;
@@ -97,17 +104,18 @@ string ejemplo(int, int) ;
97 104
 
98 105
 Nota que todas tienen el mismo nombre, `ejemplo`, y reciben la misma cantidad de parámetros del mismo tipo `(int, int)`.
99 106
 
100
-Los siguientes prototipos de  funciones tienen firmas diferentes:
107
+Los siguientes prototipos de  funciones tienen **firmas diferentes**:
101 108
 
102
-```
109
+```cpp
103 110
 int ejemplo(int) ;
104 111
 int olpmeje(int) ;
105 112
 ```
113
+
106 114
 Nota que a pesar de que las funciones tienen la misma cantidad de parámetros con mismo tipo `int`, el nombre de las funciones es distinto.
107 115
 
108 116
 Los siguientes prototipos de funciones son versiones sobrecargadas de la función `ejemplo`:
109 117
 
110
-```
118
+```cpp
111 119
 int ejemplo(int) ;
112 120
 void ejemplo(char) ;
113 121
 int ejemplo(int, int) ;
@@ -115,9 +123,9 @@ int ejemplo(char, int) ;
115 123
 int ejemplo(int, char) ;
116 124
 ```
117 125
 
118
-Todas las funciones de arriba tienen el mismo nombre, `ejemplo`, pero distintos parámetros.  La primera y segunda función tienen la misma cantidad de parámetros, pero los argumentos son de distintos tipos.  La cuarta y quinta función tienen argumentos de tipo `char` e `int`, pero en cada caso están en distinto orden.
126
+Todas las funciones de arriba tienen el mismo nombre, `ejemplo`, pero distintos tipos y/o ordenes de parámetros.  La primera y segunda función tienen la misma cantidad de parámetros, pero los argumentos son de distintos tipos.  La cuarta y quinta función tienen argumentos de tipo `char` e `int`, pero en cada caso están en distinto orden.
119 127
 
120
-En este último ejemplo la función `ejemplo` es sobrecargada ya que hay cinco funciones con firmas distintas pero con el mismo nombre.
128
+En este último ejemplo la función `ejemplo` es sobrecargada ya que hay cinco funciones con firmas distintas pero con el mismo nombre.
121 129
 
122 130
 
123 131
 ###Valores predeterminados
@@ -169,7 +177,7 @@ Se pueden asignar valores predeterminados ("default") a los parámetros de las f
169 177
 
170 178
 ##Películas DVD y base de datos DVD
171 179
 
172
-DVD son las siglas para “digital versatile disk” o “digital video disk” que en español significa disco versátil digital o disco de video digital. Este es un formato de disco óptico para almacenamiento digital  inventado por Philips, Sony, Toshiba, y Panasonic en 1995.  Los DVD ofrecen una capacidad de almacenamiento mayor que los discos compactos (CD), pero tienen las mismas dimensiones.  Los DVD pueden ser utilizados para almacenar cualquier dato digital, pero son famosos por su uso en la distribución de películas en los hogares.
180
+DVD son las siglas para “digital versatile disk” o “digital video disk” que en español significa disco versátil digital o disco de video digital. Este es un formato de disco óptico para almacenamiento digital  inventado por Philips, Sony, Toshiba, y Panasonic en 1995.  Los DVD ofrecen una capacidad de almacenamiento mayor que los discos compactos (CD), pero tienen las mismas dimensiones.  Los DVD pueden ser utilizados para almacenar cualquier dato digital, pero son famosos por su uso en la distribución de películas.
173 181
 
174 182
 
175 183
 ---
@@ -195,15 +203,18 @@ DVD son las siglas para “digital versatile disk” o “digital video disk”
195 203
 
196 204
 ## Sesión de laboratorio:
197 205
 
198
-En esta sesión de  laboratorio vamos a utilizar una base de datos de películas DVD mantenida por http://www.hometheaterinfo.com/dvdlist.htm. Esta base de datos contiene 44MB de información de películas que han sido distribuidas en DVD. Alguna de la información almacenada en esta base de datos es: título del DVD, estudio de publicación, fecha de publicación, tipo de sonido, versiones, precio, clasificación, año y  género.  Los campos de la información de cada película son almacenados en texto con el siguiente formato:
199
-
206
+En esta sesión de  laboratorio vamos a utilizar una base de datos de películas DVD mantenida por [http://www.hometheaterinfo.com/dvdlist.htm](http://www.hometheaterinfo.com/dvdlist.htm). Esta base de datos contiene 44MB de información de películas que han sido distribuidas en DVD. Algunos de los campos de esta base de datos son: título del DVD, estudio de publicación, fecha de publicación, tipo de sonido, versiones, precio, clasificación, año y  género.  Los campos de cada película están almacenados en un archivo de texto usando el siguiente formato:
200 207
 
201
-`DVD_Title|Studio|Released|Status|Sound|Versions|Price|Rating|Year|Genre|Aspect|UPC|DVD_ReleaseDate|ID|Timestamp`
208
+```
209
+DVD_Title|Studio|Released|Status|Sound|Versions|Price|Rating|Year|Genre|Aspect|UPC|DVD_ReleaseDate|ID|Timestamp`
210
+```
202 211
 
203 212
 Por ejemplo, 
204 213
 
205 214
 ```
206
-Airplane! (Paramount/ Blu-ray/ Checkpoint)|Paramount||Discontinued|5.1 DTS-HD|LBX, 16:9, BLU-RAY|21.99|PG|1980|Comedy|1.85:1|097361423524|2012-09-11 00:00:00|230375|2013-01-01 00:00:00
215
+Airplane! (Paramount/ Blu-ray/ Checkpoint)|Paramount||Discontinued|5.1 DTS-HD|
216
+LBX, 16:9, BLU-RAY|21.99|PG|1980|Comedy|1.85:1|097361423524|2012-09-11 00:00:00|
217
+230375|2013-01-01 00:00:00
207 218
 ```
208 219
 
209 220
 
@@ -230,7 +241,7 @@ El primer paso en esta experiencia de laboratorio es familiarizarte con las func
230 241
     getMovieName
231 242
     getMovieByName
232 243
     ```
233
-    
244
+
234 245
     En el archivo `movie.cpp` encontrarás las definiciones de las funciones. Nota que algunas versiones de la función `showMovie` usan el objeto llamado `fields` de clase `QStringList`. El propósito de ese objeto es poder acceder cada uno de los campos de información de la película usando un índice entre 0 y 14.  Por ejemplo, fields[0] accede al título de la película, fields[1] accede el estudio, fields[8] al año, etc.  
235 246
 
236 247
 ----
@@ -241,21 +252,18 @@ El primer paso en esta experiencia de laboratorio es familiarizarte con las func
241 252
 
242 253
 ### Ejercicio 2 - Invocar y modificar funciones
243 254
 
244
-En este ejercicio modificarás la función `main` y algunas de las funciones pre-definidas para que desplieguen solo algunas de las películas en la base de datos, desplieguen solo parte de la información contenida, o que desplieguen la información en un formato específico.
255
+En este ejercicio modificarás la función `main` y algunas de las funciones pre-definidas para que desplieguen información sobre una o más películas de la base de datos.
245 256
 
246 257
 #### Instrucciones
247 258
 
248
-1. Abre el archivo `main.cpp` y modifica la función `main` para que despliegue en la pantalla las películas en las posiciones 80 hasta la 100.
249
-
250
-2. Ahora modifica  la función `main` para que despliegue en la pantalla solo las películas que contengan “forrest gump” en el título.
251
-
252
-3. Modifica nuevamente la función `main` para que despliegue en la pantalla solo la película en la posición 75125 usando la composición de funciones y la función `showMovie`.
253
-
254
-4. Para la película en la parte 3 de este ejercicio, modifica la función `main` para que solo despliegue el nombre y el rating de la película.
255
-
256
-5. Modifica la función `getMovieInfo` que se encuentra en el archivo `movie.cpp` para que también reciba por referencia el nombre de la película y le asigne un valor. Recuerda que también debes modificar el prototipo de esta función que se encuentra en `movie.h`.
259
+1. Realiza las siguientes implementaciones en la función `main` (archivo `main.cpp`):
260
+    * Añade código para que despliegue en el terminal las películas en las posiciones 80 hasta la 100.
261
+    * Añade código para que despliegue en el terminal solo las películas que contengan “forrest gump” en el título.
262
+    * Añade código para que despliegue en el terminal solo la película en la posición 75125 usando  composición de funciones y la función `showMovie`.
263
+    * Añade código para que despliegue en el terminal el nombre y el rating de la película en la posición 75125.
264
+1. Modifica la función `getMovieInfo` que se encuentra en el archivo `movie.cpp` para que en adición a los parámetros que ya recibe también reciba por referencia el **nombre** de la película y le asigne un valor. Recuerda que también debes modificar el prototipo de esta función que se encuentra en `movie.h`.
257 265
 
258
-6. Para la película en la parte 3, modifica la función `main` para que, utilizando `getMovieInfo`,  despliegue el nombre, el rating, el año y el género de la película en una sola línea. Ayuda: nota que la función `getMovieInfo` tiene parámetros por referencia.
266
+1. Para la película en la posición 75125, añade código a la función `main` para que, utilizando `getMovieInfo`,  despliegue el nombre, el rating, el año y el género de la película en una sola línea. Ayuda: nota que la función `getMovieInfo` tiene parámetros por referencia.
259 267
 
260 268
 ### Ejercicio 3 - Definir e implementar funciones
261 269
 
@@ -265,9 +273,9 @@ Las funciones cuyos prototipos están en `movie.h` están implementadas en el ar
265 273
 
266 274
 1. Estudia las funciones que ya están implementadas en `movie.cpp` para que te sirvan de ejemplo para las funciones que vas a crear. 
267 275
 
268
-2. Implementa una función llamada `getMovieStudio` que reciba una cadena de caracteres ("string") con la info de una película y devuelva el nombre del estudio de la película. Recuerda añadir el prototipo de la función en el archivo `movie.h`. Invoca la función `getMovieStudio` desde `main()` para desplegar el nombre y el estudio de la película en la posición 75125 y así demostrar su funcionamiento.
276
+2. Implementa una función llamada `getMovieStudio` que reciba una cadena de caracteres ("string") con la info de una película y **devuelva** el nombre del estudio de la película. Recuerda añadir el prototipo de la función en el archivo `movie.h`. Invoca la función `getMovieStudio` desde `main()` para desplegar el nombre y el estudio de la película en la posición 75125 y así demostrar su funcionamiento.
269 277
 
270
-3. Implementa una función sobrecargada `getMovieInfo` que devuelva el nombre del estudio además del nombre, rating, año y género. Invoca la función `getMovieInfo` desde `main()` para desplegar el nombre,  estudio, rating, año y género de la película en la posición 75125 y así demostrar su funcionamiento.
278
+3. Implementa una función sobrecargada `getMovieInfo` que **devuelva** el nombre del estudio además del nombre, rating, año y género. Invoca la función `getMovieInfo` desde `main()` para desplegar el nombre,  estudio, rating, año y género de la película en la posición 75125 y así demostrar su funcionamiento.
271 279
 
272 280
 4. Implementa una función `showMovieInLine` que **despliegue** la información que despliega `showMovie` pero en una sola línea. La función debe tener un parámetro de modo que reciba el "string" de información de la película. Invoca la función `showMovieInLine` desde `main()` para desplegar la información de la película en la posición 75125 y así demostrar su funcionamiento.
273 281