Sol Examen diciembre ejer A - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Entonces, todo lo que diréis en esta grabación asume que estáis de acuerdo con ser grabados.
00:00:01
Vale, entonces, estamos corrigiendo el examen, ¿vale?
00:00:10
Entonces, vamos a ver el primer ejercicio, queremos hacer la clase atleta.
00:00:12
Vale, ok, empezamos.
00:00:16
Entonces, la clase atleta representa un atleta.
00:00:18
Esto quiere decir que la clase atleta es un molde, hemos dicho, ¿vale?
00:00:20
es una abstracción de lo que es un atleta en general, no un atleta en concreto. Luego,
00:00:24
a partir de allí, podré crear objetos atletas que serán cada objeto un atleta distinto
00:00:33
con sus propias características, ¿vale? Ahora, todos los atletas compartirán las mismas
00:00:39
características, ¿vale? Por ejemplo, todos tendrán un nombre, ¿sí? Pero cada atleta,
00:00:45
Cada objeto atleta tendrá un nombre distinto
00:00:51
Un valor de ese atributo distinto
00:00:53
¿Vale?
00:00:56
Entonces aquí a nivel de clase
00:00:57
Lo que voy a hacer es definir las características que tiene
00:00:58
La primera característica me dice
00:01:02
Nombre, el nombre del atleta
00:01:04
¿Vale?
00:01:06
Por ejemplo, ese aquí
00:01:06
Entonces le tengo que dar un nombre
00:01:08
¿Cómo lo hago?
00:01:09
Pienso en qué tipo puede tener un nombre
00:01:10
Y le doy string nombre
00:01:13
Esto es un atributo
00:01:15
Cada atleta tendrá un nombre
00:01:19
¿Cuál es su nombre?
00:01:20
No lo sé, hasta que crearé el objeto atleta y le daré un nombre concreto, pues no sé cuál es su nombre, ¿vale?
00:01:21
Luego me dice, tiene un Cia, ¿vale? Cia es un código, el código de identificación de atleta, ¿vale?
00:01:29
Se construye a partir de la categoría, la modalidad y un número, ¿vale?
00:01:34
Por ejemplo, el tercer atleta de la categoría 1, modalidad B, tendrá Cia 1B3, ¿vale?
00:01:38
Entonces, yo sé solo que tengo un string, es un string porque no es un número, no es, tiene una mezcla de carácteres, números y cosas por el estilo, por lo tanto es un string que admite cualquier cosa y lo pongo ahí.
00:01:43
Y finalmente tiene saltos, saltos me dice que es un array de puntuaciones obtenidas en sus saltos, ¿vale? Apuntaciones a los números enteros, me está diciendo que es un int, no, un array de int, ¿vale? Me lo dice, es un array de puntuaciones, las puntuaciones son enteros, es un array de enteros, ¿vale?
00:01:59
Que pongo aquí. Ahora, yo ya he hecho este molde. Un atleta, cuando yo creo un atleta, tendrá que tener esta información de aquí. Todos los atletas tendrán un nombre, todos los atletas tendrán un CIA, todos los atletas tendrán una serie de saltos, ¿vale?
00:02:28
Luego, ¿cuáles serán los valores concretos de cada uno de estos objetos?
00:02:43
Ya lo tenemos adelante cuando lo creamos, ¿vale?
00:02:47
Pero esto es lo que hay.
00:02:50
Aquí había dos opciones.
00:02:53
O me creo un constructor para crear esta información de aquí, ¿vale?
00:02:55
O si no, lo dejo sin constructor y luego después rellenaré estos valores de alguna forma, ¿vale?
00:03:02
Por ahora dejamos así, sin constructores, ¿vale?
00:03:10
Para simplificar
00:03:14
Pensamos que estamos en el examen
00:03:15
No quiero hacer, no sé qué es un constructor
00:03:17
Pues sigue adelante así, ¿vale?
00:03:20
Si luego queréis, después lo modificamos y ponemos un constructor
00:03:21
Vale, entonces esta es la primera parte
00:03:25
La parte de los atributos, lo ponía aquí, ¿vale?
00:03:27
Después vienen los métodos
00:03:30
Es decir, esto es lo que es
00:03:31
Las características, los atributos de una clase
00:03:33
De un objeto que tendrá
00:03:37
Este tipo, vale
00:03:39
Y ahora lo que tengo que hacer es
00:03:41
Implementar métodos, vale
00:03:43
Y me dice aquí que métodos hay
00:03:45
Hay el método saltos, vale
00:03:47
El método saltos dice, este método rellena
00:03:49
Todas las raíces altas con puntuaciones aleatorias
00:03:51
Para generar un número aleatorio
00:03:53
Recuerda que matrandom, vale, bla bla bla
00:03:55
La puntuación será entre 5 y 10
00:03:57
Vale, es decir
00:04:00
Que yo tendré aquí un método
00:04:01
Public
00:04:03
Void
00:04:04
saltos
00:04:06
que lo que hará es rellenar
00:04:09
esta array
00:04:15
entonces
00:04:15
¿cómo relleno
00:04:19
estos arrays?
00:04:21
¿vale? for
00:04:23
¿vale? cuando tengo un array tendré que hacer
00:04:24
un for para ir en todas las posiciones
00:04:27
del array
00:04:29
for int is igual a 0
00:04:29
y es menor de que?
00:04:32
¿ve?
00:04:34
saltos.length
00:04:38
Y más más
00:04:39
¿Vale? Cuidado
00:04:45
Y uno dice, si más altos está vacío
00:04:47
Ahora está vacío
00:04:49
¿Vale? Se supone que cuando yo llame
00:04:52
Este método de aquí
00:04:55
Ya habré creado algo aquí dentro
00:04:56
Entonces si le he creado un array
00:04:59
De tres posiciones
00:05:01
Pues entonces esto me lo hará por las tres posiciones
00:05:02
De la array, si esto será un array
00:05:05
De diez posiciones, me lo hará diez veces
00:05:06
No lo sé, ¿vale?
00:05:08
Está claro que así está mal hecho
00:05:11
Aquí a lo mejor debería preguntarme si saltos no es null
00:05:13
Eso sería un poquito más elegante
00:05:20
Me pregunto antes si es null, no hago nada
00:05:24
Porque si intento acceder a alguna posición de saltos sin que nadie me la haya creado
00:05:26
Pues explotaría
00:05:31
Entonces le meto esta cosa aquí para guardarme de, oye mira que no explota
00:05:32
¿Vale? Pero
00:05:38
Estos son cosas que tenemos que ir
00:05:39
Pensando y asimilando con el tiempo
00:05:42
Por ahora, se me ha olvidado
00:05:44
¿Vale? No lo pongo, lo hago más sencillo posible
00:05:46
Entonces
00:05:48
Accedo a las n posiciones
00:05:50
A las altos
00:05:53
Punto length posiciones
00:05:54
De este array aquí
00:05:55
Y por cada una de estas posiciones, ¿qué tengo que hacer?
00:05:57
Crearme un número
00:06:00
Entre 5 y 10
00:06:02
¿Vale? ¿Cómo me creo un número
00:06:04
Entre 5 y 10? Pues
00:06:06
int
00:06:08
puntuación es igual a
00:06:08
más
00:06:12
punto random
00:06:12
por 10
00:06:14
por 10
00:06:18
¿Qué hace esta cosa
00:06:24
aquí? Aparte de explotar
00:06:26
Esto me daría
00:06:28
un número entre 0 y
00:06:30
0,999999
00:06:32
¿Vale?
00:06:35
Multiplicado por 10
00:06:35
Si este número de aquí fuera un 0
00:06:36
0 por 10
00:06:39
y si este número
00:06:43
fuera 0,999999
00:06:46
este número aquí sería
00:06:47
entonces
00:06:49
esto sería 0
00:07:12
si más punto random
00:07:13
me da un 0, el límite más bajo
00:07:17
0x10, 0
00:07:19
si me diera el límite más alto
00:07:20
posible 0,999999
00:07:23
0,999999
00:07:26
x10 me daría
00:07:26
¿estamos de acuerdo?
00:07:27
ahora, este número de aquí, estamos todos de acuerdo
00:07:36
Que no es un int
00:07:38
Es un double
00:07:39
Porque este es un double
00:07:43
Multiplicado int
00:07:45
El resultado es un double
00:07:48
Y lo estoy metiendo en un int
00:07:50
Eso no le gusta
00:07:52
Porque un double no puede quedarse en un int
00:07:53
El double ocupa más en memoria que un int
00:07:55
No se puede hacer este cast directamente
00:07:58
Se lo tengo que decir
00:08:00
Por lo tanto le digo esto
00:08:01
Correcto
00:08:03
Esto dará siempre 0
00:08:06
Siempre
00:08:11
Porque este int lo aplica a este número de aquí
00:08:13
Este número es un número entre 0 y 0,9
00:08:18
Por lo tanto su parte entera será siempre 0
00:08:21
0 por 10 es 0
00:08:23
Esta cosa de aquí dará siempre 0
00:08:25
¿Dudas?
00:08:28
Claro, tengo que poner un paréntesis
00:08:38
Ahora, antes me hace esta cosa de aquí
00:08:40
Que el resultado es una cosa de este estilo
00:08:45
Y luego pilla solo la parte entera
00:08:48
Por lo tanto, aquí yo he hecho un número
00:08:50
Entre, ahora, esta cosa de aquí
00:08:52
Es entre 0 y 9
00:08:54
¿Sí?
00:08:55
Vale
00:08:58
Y si después de todo esto
00:08:59
Le sumo 1
00:09:01
Habría hecho un número de 1 a 10
00:09:03
Esta cosa de aquí
00:09:05
La hemos visto en muchos ejercicios
00:09:08
¿Vale?
00:09:10
O en algunos ejercicios
00:09:11
Pero en algunos ejercicios
00:09:12
Esto ha salido
00:09:15
hacer un número de 1 a 10 aleatorio y que lo pone por ahí lo hemos visto ahora pero era un
00:09:16
poquito más complejo y decía oye mira no lo quiero de 1 a 10 lo quiero de 5 a 10 lo de siempre no lo
00:09:22
sé hacer de 5 a 10 lo dejo así no lo sé hacer ni siquiera así pues me lo invento le pongo un
00:09:30
número le pongo de todos a 5 vale pero no me quedo 60 minutos aquí porque no sé sacar un número
00:09:37
ale no sacaré 10 5 pero adelante como lo hago esto de un número de 5 a 10 9 5 a 10 que decir
00:09:44
que el mínimo número tiene que ser 5 entonces cuando esto me da 0 quiero 5 y cuando esto me
00:09:57
0,99999
00:10:05
Quiero 10
00:10:06
¿Vale? Entonces, en realidad
00:10:08
Esto no quiero que sea un número
00:10:11
Entre 0 y 9
00:10:13
Sino quiero que sea un número entre
00:10:14
Y 5
00:10:20
¿Sí? Entonces
00:10:22
Así es, más o menos
00:10:24
Este es un número entre 0 y 5
00:10:26
Al que le sumo
00:10:28
Está
00:10:31
Si este de aquí
00:10:34
Me da 0, 0 por 6
00:10:37
más 5
00:10:41
5, por lo tanto el mínimo número es
00:10:43
5
00:10:45
y si esto da 0,9999
00:10:46
multiplicado 6 quedaría
00:10:49
2
00:10:52
5,999999
00:10:53
al que le sumo
00:10:55
5, 10,9999
00:10:56
pillo la parte entera, 10
00:10:58
si
00:11:00
por lo tanto, esto era una cosa parecida a así
00:11:04
número más, número menos
00:11:07
a lo mejor aquí tengo que poner 5 en vez que 6
00:11:08
seis que me que cinco pero la ya era más o menos por ahí si no sabía hacer esto
00:11:10
pues hacía de entre 1 y 10 me da guay
00:11:14
a ver lo voy a hacer por partes esto me da entre 0 y 0 9 en el 0
00:11:19
si lo multiplicó por 6 este de aquí me daría entre 0 y 5.9 entonces si a este
00:11:30
número de aquí le sumó 5 0 más 5 me daría 5
00:11:47
5 9 más 5 me daría 10.99 al que le pilló la parte entera y entonces me
00:11:55
sale aparte entre 55 la parte entera de 10,9 esta es la teoría no puede
00:12:08
equivocar de algo de un punto de ver lo pruebo y me lo que pasa
00:12:20
hay otras soluciones menos elegantes que éstas que es hago un número entre 1 y 10
00:12:33
in a while y mientras que ésta no sea superior a 5 pues lo vuelva a generar
00:12:44
gracias
00:12:52
inter punto
00:12:54
igual a cero
00:12:58
bile
00:13:03
punto
00:13:04
mayor que cinco
00:13:07
y or mayor que diez
00:13:10
genera un número
00:13:17
entre uno y cien
00:13:26
entre cero y noventa y nueve concretamente
00:13:27
y si no está en este rango de aquí
00:13:29
vuelve a hacerlo, vuelve a hacerlo, vuelve a hacerlo
00:13:32
hasta que te dé uno de cero
00:13:34
yo ni me voy a enterar porque esto lo hace en instantes
00:13:35
ahora es feo
00:13:38
Porque a lo mejor me ha tirado
00:13:40
A lo mejor un poquito
00:13:41
Tenga, así, entre 0 y 11
00:13:43
¿Vale? Esto estará allí
00:13:45
Sacando números entre 0 y 10
00:13:48
0 y 10, 0 y 10
00:13:50
Si es un número que no me vale, vuelve a tirar
00:13:51
Si es un número que me vale, sale
00:13:54
De aquí y ya está
00:13:56
¿Sí? Podría ser
00:13:57
Es otra forma de hacerlo, ¿vale?
00:13:59
Menos elegante que la otra, pero bueno
00:14:01
Bueno, dejamos esto
00:14:03
También
00:14:09
Esto en vez de 6 lo podría llamar
00:14:11
Número máximo
00:14:13
Y esto llamarlo número mínimo
00:14:15
Y luego hacer algo por ahí
00:14:17
¿Vale?
00:14:19
Y generar aquí
00:14:19
En vez de 5 y 6
00:14:21
Es lo que me pedían
00:14:23
Lo hago, ¿vale?
00:14:25
Tened en cuenta que esto lo estoy haciendo por cada posición de saltos
00:14:27
¿Vale? Entonces ahora que he generado
00:14:30
Una puntuación aleatoria, ¿qué hago?
00:14:31
¿Dónde la guardo?
00:14:36
En el array
00:14:38
¿En qué posición del array?
00:14:38
ni es igual a este punto me quiero ahorrar una variable hay algo
00:14:42
mal si hay dentro salto de y pongo un número
00:15:01
relatorio entre 5 y 10. Esto es saltos. La versión básica sin comprobar que el salto
00:15:16
exista, asumiendo que todo irá bien y que no hay problema. Pero esta era un guantera.
00:15:30
Ya estoy a un punto y medio de mi examen. Voy a por dos puntos y medio. No, tres puntos.
00:15:38
Media, ¿vale?
00:15:49
¿Qué hace media?
00:15:51
Public
00:15:54
No sé, es la doble
00:15:54
Media me dice
00:15:58
Este método calcula y devuelve
00:16:03
¿Vale? Entonces habrá un return
00:16:06
Entonces esto es double, no es void
00:16:07
¿Vale?
00:16:10
La media de todas las puntuaciones
00:16:11
Contenidas en el race altos
00:16:13
De un determinado atleta
00:16:15
¿Vale? Yo estoy en el atleta
00:16:16
Entonces si alguien llama media sobre un atleta
00:16:18
Lo que tengo que hacer es
00:16:20
¿Cómo calculo la media?
00:16:22
Tengo un método media
00:16:47
Dentro tiene una variable media
00:16:48
Donde dentro me calcularé la media
00:16:50
¿Vale?
00:16:52
Y al final la devuelvo
00:16:53
¿Vale?
00:16:54
¿Cómo se calcula la media?
00:16:55
Recorre la array
00:16:58
Venga
00:16:59
Aquí ya lo tengo
00:17:00
Y recorrerá la array
00:17:01
Lo copio
00:17:02
No necesidad de escribirlo otra vez
00:17:02
¿Vale?
00:17:04
Recorro toda la array
00:17:05
Solo que dentro haré una cosa distinta
00:17:06
¿Qué hago?
00:17:08
¿Y cómo lo hago?
00:17:12
En media
00:17:13
Me guardo
00:17:16
Lo que hay en media
00:17:18
Más
00:17:20
Saltos
00:17:21
De i
00:17:24
Al final de este for
00:17:25
Yo tendré dentro de media
00:17:29
La acumulación de toda la suma
00:17:31
De todas sus casillas
00:17:34
Esto lo hemos hecho
00:17:35
Hay ejercicios donde se pide media
00:17:37
Solo que esta no es la media
00:17:39
Esta es la suma de toda la puntuación
00:17:43
Como saco la media
00:17:45
Y como se
00:17:48
Cuantos saltos hay
00:17:54
Y ya esta
00:17:56
Algunos de vosotros se ha hecho aquí un int
00:18:06
De num saltos
00:18:10
Que luego ha ido sumando
00:18:13
Aquí por cada salto que sumo
00:18:18
Num saltos
00:18:20
Piú piú
00:18:21
Más más
00:18:23
Está bien, es inútil
00:18:24
Porque este dato ya lo tengo
00:18:29
Ya lo tengo aquí
00:18:31
Otra cosa es que
00:18:32
Tuviera que ver
00:18:34
Los números altos pueden no ser completos
00:18:36
Yo tengo 10 posiciones
00:18:38
Pero algunos son saltos que no cuentan
00:18:40
Entonces podría servir
00:18:43
O a lo mejor
00:18:45
Tú tienes 10 posiciones pero podrías haberme puesto
00:18:46
Solo 6 valores válidos
00:18:49
Y 4 valores dejarlos a menos 1
00:18:50
¿Vale? Porque cuatro saltos
00:18:53
Los últimos cuatro saltos no los has hecho
00:18:55
Y entonces aquí yo sumaría
00:18:56
Solo aquellos que tienen una valor
00:18:58
Que no sea menor
00:19:01
Pero no pedía nada de esto
00:19:01
Decía, tienes diez saltos, rellena todos los diez saltos
00:19:03
De hecho, cuando rellenamos los saltos, rellena todo
00:19:06
Por lo tanto
00:19:08
Esto
00:19:10
No me sirve
00:19:12
¿Dudas?
00:19:14
¿Vale? Entonces tengo
00:19:20
Mi método saltos, mi método media
00:19:21
Tened en cuenta que, os lo dije
00:19:23
no son estáticos, estos se hacen sobre los objetos
00:19:26
si yo lo haré sobre el objeto atleta 1
00:19:29
me usará saltos del atleta 1
00:19:31
si lo hago sobre el atleta 2, me usará saltos
00:19:34
del atleta 2, entonces me calculará la media del atleta 1
00:19:37
o del atleta 2, dependiendo sobre quien llama este método
00:19:40
sobre que objeto se llama este método
00:19:43
tercero y último, corte
00:19:46
corte que pilla un double
00:19:49
Dice, este método recibe una puntuación de corte como parámetro, no la media
00:19:52
O sea, vosotros os habéis inventado este método
00:19:57
No, este método recibe una puntuación de corte como parámetro
00:20:00
Y devuelve un booleano
00:20:04
Vale, entonces habrá un return de un boolean
00:20:06
Que indica si el atleta ha pasado o no la puntuación de corte en base a su puntuación media
00:20:08
O sea, que yo necesito la puntuación media de este atleta
00:20:17
Compararlo con la puntuación de corte que me han dado
00:20:22
Y si mi puntuación media es mayor de la puntuación de corte
00:20:26
Revalvo true
00:20:29
Y si no, revalvo false
00:20:30
Entonces, prototipo de este método
00:20:32
Es decir, que escribo ahora aquí
00:20:37
Public
00:20:39
Boolean
00:20:42
Corte
00:20:44
con dentro parámetro
00:20:47
double
00:20:49
doble
00:20:52
puntuación
00:20:56
de corte
00:20:58
me crea una variable
00:21:01
boolean
00:21:06
resultado
00:21:07
es igual a false por ejemplo
00:21:09
vale
00:21:12
y me pregunto si
00:21:13
La puntuación de corte
00:21:15
Es mayor
00:21:20
O igual
00:21:25
¿De qué?
00:21:27
Tengo que compararla con mi media
00:21:32
Si tengo un método
00:21:34
Que me calcula la media
00:21:40
¿Vale? Entonces no me la vuelvo a calcular
00:21:41
Llamo a este método
00:21:44
De aquí, cuando llamo a este método de aquí
00:21:46
Que será este método de aquí
00:21:48
Pues lo que hará es calcularme la media
00:21:50
Me la devuelve, quiero ser más
00:21:52
Puntilloso, porque media se tiene que llamar
00:21:54
Sobre un objeto, ¿qué objeto?
00:21:56
Este objeto
00:22:00
Entonces, si la puntuación que me ha dado
00:22:01
Es mayor
00:22:10
Pongamos mayor estricta
00:22:12
De mi media
00:22:14
Quiere decir que yo
00:22:17
No he pasado la nota de corte
00:22:18
Por lo tanto
00:22:19
Resultado
00:22:21
Es igual a falso
00:22:25
Podría
00:22:26
Esta parte de aquí evitarla
00:22:30
¿Vale? Porque ya era falso
00:22:32
Asumo que es falso
00:22:34
Si no
00:22:36
Si estoy en esta
00:22:37
En esta rama de aquí
00:22:40
Quiere decir que
00:22:42
Dis.media es mayor o igual
00:22:44
A la nota de corte
00:22:47
Por lo tanto la he aprobado
00:22:48
Por lo tanto el resultado es
00:22:50
True
00:22:52
Return
00:22:54
resultado
00:22:59
¿sí? ahora este if
00:23:00
es feo, ¿vale?
00:23:08
por esta cosa aquí, si ya era
00:23:10
falso, ¿por qué lo tengo que comprobar? está falso
00:23:12
entonces puedo cambiar
00:23:14
esto así
00:23:15
y hace lo mismo
00:23:17
si la puntuación de corte
00:23:22
es menor o igual a mi media
00:23:27
entonces cambia el resultado
00:23:29
otro, si no
00:23:30
no hará nada, como era ya false
00:23:32
pues se quedará false
00:23:34
Y dos, tres, cuatro
00:23:35
Ya he sacado un cuatro
00:23:48
Dudas
00:23:49
¿Y qué hace Atleta?
00:23:54
Nada
00:24:00
Atleta ahora mismo hace nada
00:24:00
¿Por qué?
00:24:04
Porque no tiene que hacer nada
00:24:05
No es algo que se arranca
00:24:07
Es un objeto
00:24:09
Es un paquete de información
00:24:10
Que junta
00:24:14
Informaciones de una entidad
00:24:15
con sus posibles comportamientos
00:24:18
¿vale? aquí estoy
00:24:21
modelizando un atleta que tiene esta información
00:24:23
y que puede hacer
00:24:25
estas tres cosas de aquí
00:24:26
estas son las cosas que me interesa que haga
00:24:28
este objeto ¿vale? ahora tendré
00:24:31
que hacer algo que
00:24:33
la use ¿vale? de hecho ya lo tengo
00:24:35
algo que lo use ¿vale? que es
00:24:36
el main y ya me lo daba
00:24:38
¿vale? pero
00:24:40
el main si os acordáis
00:24:43
Ahora lo miraremos
00:24:47
No trabajaba con atletas directamente
00:24:49
Trabajaba con grupos de atletas
00:24:51
Porque para hacer una competición
00:24:54
Que era mi main
00:24:56
Se necesita un grupo de atletas
00:24:57
Que compiten entre ellos
00:24:59
Entonces sigo con el ejercicio
00:25:01
Esta clase aquí la he acabado
00:25:03
Esto ya no la toco más
00:25:05
A menos que no haya hecho errores
00:25:07
O que quiera añadir otra cosa
00:25:09
Menor o igual
00:25:11
Entonces vamos a ver
00:25:16
Otro
00:25:24
Otra clase
00:25:25
La segunda clase se llamaba grupo
00:25:28
Que ya me la daban
00:25:29
Algo está, vale
00:25:31
Grupo
00:25:32
Tiene main, creo que no
00:25:34
Y como me la daban ya hecho
00:25:38
Copio
00:25:43
Lo que me daban ya hecho
00:25:44
Estaba ya un método
00:25:46
Implementado
00:25:53
Que es el método de genera nombre
00:25:55
Para crear un nombre aleatorio
00:25:56
Me lo pillo y lo copio allí
00:25:58
Y lo copio
00:26:00
Aquí dentro
00:26:07
¿Vale? Ya está, esto no lo tengo que tocar
00:26:09
Esto claramente
00:26:12
Si me lo leo un poquito
00:26:13
Entiendo, pues
00:26:16
Lo que me hace es generar
00:26:17
Un nombre, y me devuelve un string
00:26:20
Que será un nombre
00:26:22
Yo llamo esto y le me da un nombre, aleatorio
00:26:23
Sirve para cuando tendré que hacer
00:26:26
los atletas, para darle un nombre
00:26:28
para no llamarlos todos Paco
00:26:30
pues utilizo genera nombre, cosas así
00:26:31
nota
00:26:34
aquí venía esto
00:26:36
que no sé usar
00:26:37
el math.random porque
00:26:42
es la primera vez que lo veo, copio esto
00:26:44
y me hace un número entre ures 10
00:26:45
entre 0 y 9
00:26:47
pero ya salgo
00:26:49
esto se os da
00:26:51
ya he hecho, entonces no he visto nunca
00:26:54
en mi vida como se usa un math.random
00:26:56
pues aquí lo tienes
00:26:57
Y con los paréntesis correctos
00:26:58
¿Sí?
00:27:01
Vale
00:27:03
Entonces, ¿qué hace el grupo?
00:27:03
Vale, en esta clase
00:27:07
Se representa un grupo de atletas
00:27:08
¿Vale? El mismo grupo que compiten
00:27:10
En una determinada categoría
00:27:13
De una determinada modalidad
00:27:14
No creo que los saltos tengan categorías
00:27:16
En modalidad, categorías a lo mejor sí
00:27:19
Pero en modalidad no
00:27:20
¿Qué tiene un grupo?
00:27:22
Y me lo dice aquí, categoría
00:27:25
Es un número que representa distintas categorías de saltos
00:27:26
Que puede ser del 1 al 5
00:27:30
Vale, int, categoría
00:27:31
Luego está
00:27:34
Modalidad, vale
00:27:37
Es una letra que representa una modalidad de saltos
00:27:43
Vale, puede ser de A a E
00:27:46
¿Cuál es una letra? ¿Qué es?
00:27:48
¿Card?
00:27:51
Podría ser un string
00:27:56
Los strings, si os gusta
00:27:57
Y finalmente, y aquí es la parte un poquito más compleja de este ejercicio
00:27:59
Atletas
00:28:09
Atletas es un array de atletas
00:28:11
Entonces, atleta, array, atletas
00:28:14
Es un array, no de int, mas de atleta
00:28:22
¿Qué es atleta? Estos objetos de aquí
00:28:31
¿Vale?
00:28:33
Esta era la parte un poquito más compleja
00:28:35
De donde decía, si vais por aquí es porque
00:28:37
Habéis entendido los objetos
00:28:39
Habéis entendido que los objetos se pueden utilizar así
00:28:41
Y lo podéis utilizar
00:28:44
En alguno de los ejercicios que os mandé
00:28:45
O que hicimos las últimas veces
00:28:47
Se hacía algo parecido
00:28:49
No recuerdo que ejemplo era
00:28:51
Pero
00:28:54
¿Vale?
00:28:55
Entonces, y con esto
00:29:04
Estoy a cuatro y medio
00:29:06
Cuatro y medio
00:29:09
Y ahora venían
00:29:12
Los tres métodos que eran un poquito más complejos
00:29:16
¿Vale? Hasta aquí
00:29:18
Estos métodos tenían que ser sencillos
00:29:19
No se diferencian mucho de los ejercicios básicos
00:29:22
Que hemos hecho nosotros
00:29:24
¿Vale?
00:29:25
Estos de aquí
00:29:26
Eran relativamente sencillos
00:29:29
Esto es rellena una rey
00:29:31
Dado una rey
00:29:33
rellena todas sus posiciones
00:29:35
esto es, dado un array de int
00:29:37
cálcula su media
00:29:40
y este de aquí es
00:29:41
dado un array de int
00:29:43
y un numerito
00:29:46
dime si la media de este array de int
00:29:47
es superior o inferior a este numerito
00:29:49
los ejercicios que
00:29:52
si no los hemos hecho, hemos hecho algo muy parecido
00:29:53
¿vale?
00:29:56
grupo
00:29:58
primer ejercicio es
00:29:58
crea, ¿vale? crea de un int
00:30:02
Este método recibe un parámetro que representa cuántos atletas hay en un grupo
00:30:04
E instancia los atributos del objeto grupo sobre el que se llama
00:30:09
Asigna una categoría aleatoriamente, o sea un número entre 1 y 5 aleatorio
00:30:15
Una modalidad aleatoriamente, o sea una modalidad entre A y E aleatoria
00:30:20
Y rellena el array de atletas con tantos atletas como el valor que me ha pasado por parámetros
00:30:26
Crea, recibe un int
00:30:32
Si yo hago crea de 5, me tiene que crear un array de 5 atletas
00:30:33
Si yo pongo array de 27, pues un array de 27 atletas
00:30:37
Cada atleta que crea tendrá su nombre, que se generará con generaNombre
00:30:41
Cia, que será una categoría de modalidad la instancia a este método de aquí
00:30:48
Por lo tanto ya tendrá una categoría, una modalidad
00:30:54
Y finalmente 10 puntuaciones creadas alateramente
00:30:57
o sea que saltos esto tendrá ya exposiciones entonces vamos a hacer toda esta cosa aquí
00:31:03
para devolver algo no nos dice que y luego devolverá booleano deberá devolver a un
00:31:13
número no dice hago las cosas y no tengo algo algo nada por lo tanto es un hoy crea que recibe
00:31:23
un entero
00:31:32
que es
00:31:34
número de atletas
00:31:35
cuántos atletas
00:31:37
participan en este grupo
00:31:40
entonces por orden
00:31:42
asigno una categoría
00:31:44
aleatoriamente
00:31:46
tengo que hacer un número entre 1 y 5
00:31:47
¿cómo lo hago?
00:31:50
pillo esta línea de aquí
00:31:52
control c
00:32:05
control v
00:32:06
¿dónde lo guardo?
00:32:08
en categoría
00:32:10
Quiero ser más preciso
00:32:11
This.categoria
00:32:15
En la categoría de este objeto grupo
00:32:17
Porque es un objeto
00:32:19
Pongo un número entre 0 y 10
00:32:21
No, quiero un número entre 1 y 5
00:32:24
Por lo tanto, entre 0 y 5
00:32:27
No, pero más 1
00:32:30
Entre 0 y 5
00:32:32
Entre 0 y 4
00:32:34
Más 1
00:32:36
0, 4 más 1 entre 1 y 5
00:32:37
Que no lo sé hacer
00:32:42
Pues lo hago entre 0 y 5
00:32:46
O 0 y 4, que más me da
00:32:47
Os le doy a todos categoría 3
00:32:49
Siguiente
00:32:52
Modalidad
00:32:59
Modalidad es una letra entre A y E
00:33:02
¿Cómo lo hago esto?
00:33:05
Pues
00:33:09
Modalidad
00:33:09
Es igual a
00:33:11
y luego pongo modalidad
00:33:14
y luego digo que modalidad
00:33:23
es igual a modalidad
00:33:28
más
00:33:32
un número aleatorio
00:33:33
y esto lo considero un int
00:33:36
y todo esto
00:33:47
lo considero
00:33:50
Un char
00:33:53
¿Os acordáis cuando en uno de los ejercicios que hemos hecho
00:33:57
Habíamos dicho que un char era también un entero
00:34:05
Entonces podía hacer sumas con los enteros
00:34:09
Había un ejercicio donde tenía que cambiar de mayúscula a minúscula
00:34:12
De minúscula a mayúscula
00:34:16
Y simplemente era sumarle una cantidad o cosa por el estilo
00:34:17
No sé si lo habéis hecho o no
00:34:21
En clase esto salió
00:34:22
¿Vale?
00:34:25
Entonces, lo que voy a hacer es
00:34:27
Tratar este de aquí como un número
00:34:28
El número A
00:34:30
Es decir, A corresponderá a mayúscula
00:34:32
Corresponderá al, no sé, 96
00:34:34
Me lo invento
00:34:36
Le sumo a este 96 un número entre 0
00:34:37
Bueno, esto sería
00:34:40
Entre 0 y 4, si le sumo 0 se quedará
00:34:41
Si le sumo 1 verá B
00:34:44
Si le sumo 2 se vendrá C
00:34:45
¿Sí?
00:34:47
Oye, esto es demasiado complejo
00:34:50
Pillo un número
00:34:52
entre 1 y 5
00:34:56
¿sí?
00:35:01
switch
00:35:06
num
00:35:07
case
00:35:09
1
00:35:13
- Idioma/s:
- Autor/es:
- Stefano Chiesa
- Subido por:
- Stefano C.
- Licencia:
- Reconocimiento - No comercial
- Visualizaciones:
- 10
- Fecha:
- 16 de diciembre de 2022 - 14:03
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 35′ 15″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 668.02 MBytes