Sol Examen diciembre ejer A pt2 - 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:
switch, num, case, uno, dos puntos, this, punto, modalidad, es igual a,
00:00:00
pillo un número, un número que sea entre uno y cinco, si es uno le pongo a,
00:00:20
Si es 2, si es 3, si es 4, si es 5
00:00:30
Entonces será B
00:00:42
Será C
00:00:44
Será D
00:00:46
Será E
00:00:48
Ya está
00:00:49
Número aleatorio entre 1 y 5
00:00:52
O sea, letra aleatoria entre A y E
00:00:56
La otra forma
00:00:58
A lo mejor me he equivocado
00:01:02
Me evita si en vez de 5 categorías
00:01:05
Eran 20 categorías
00:01:07
Me ahorra de estar aquí
00:01:09
Girando 20 veces esta cosa aquí
00:01:10
Pero bueno, se hace
00:01:12
¿Vale?
00:01:13
Entonces, he lanzado CREA
00:01:16
¿Vale? CREA me ha creado
00:01:18
Una categoría, se la ha asignado
00:01:20
Me ha creado una modalidad
00:01:22
Y se la ha asignado
00:01:24
Si queréis, para estar seguro
00:01:25
Seguro, seguro
00:01:28
Si es uno, esto, si es dos, esto, si es tres, esto, cuatro, esto
00:01:29
En cualquier otro caso, dale
00:01:37
Por si me hubiese equivocado, aquí da un seis
00:01:39
Y no sé qué hace con seis
00:01:41
¿Vale?
00:01:42
Ok
00:01:45
Sigo adelante
00:01:45
Ahora viene la parte de rellenar los atletas
00:01:47
¿Vale?
00:01:54
Me dice que en atletas
00:01:55
Tiene que haber
00:01:56
Num atletas atletas
00:01:58
por lo tanto este atletas será un nuevo array de atleta
00:02:01
¿de cuántas posiciones?
00:02:15
número de atletas
00:02:23
inicializo esto a un número de posiciones que son los que me han pasado aquí
00:02:24
si me dicen que tiene que haber 5 atletas, pues aquí habrá 5 posiciones donde cada posición habrá un atleta distinto
00:02:37
si me pone aquí 37
00:02:42
pues habrá 37 posiciones
00:02:45
con dentro una atleta distinta
00:02:47
este es como un array de enteros
00:02:48
¿vale? solo que en vez de
00:02:54
atleta aquí le ponga atleta
00:02:55
dudas
00:02:57
ahora, este está vacío
00:03:00
esto
00:03:02
es un array
00:03:04
de no sé cuántas posiciones
00:03:09
de num atletas posiciones
00:03:11
con dentro
00:03:13
objetos atletas que pero son
00:03:14
todos null
00:03:16
Ahora los tengo que rellenar
00:03:17
Tengo que acceder a cada una de estas posiciones
00:03:25
Y crear un objeto atleta
00:03:27
Y poner aquí esto
00:03:33
Y luego crear otro objeto atleta distinto
00:03:37
Y poner aquí esto
00:03:41
Y así, así, así
00:03:45
¿Vale? Vamos a hacerlo
00:03:46
Entonces, ¿cuántas veces tengo que hacer esta cosa?
00:03:49
¿Cómo lo hago?
00:03:54
Sustancialmente recorro
00:04:04
¿Qué array?
00:04:05
A menor de atletas.length
00:04:14
Podría utilizar
00:04:18
NumAtletas
00:04:20
¿Vale? Porque es el mismo número
00:04:23
Pero vale, da igual
00:04:24
A más más
00:04:25
Y ahora sustancialmente tengo que crear
00:04:27
Un objeto atleta
00:04:33
Y ponerlo en la posición A de atletas
00:04:34
Es decir, que esto será
00:04:38
Atleta
00:04:41
At
00:04:42
Atleta
00:04:45
Es igual a new atleta
00:04:49
Acordaos que atleta no tenía ningún otro constructor
00:04:54
La única cosa que se puede hacer es esta
00:04:58
Y luego
00:04:59
En atletas
00:05:02
De 0
00:05:04
de A, perdón, pondré esta atleta. Creo un nuevo atleta y lo asigno en la posición A. Es decir, que la primera vez
00:05:06
crearé un atleta y lo pondré aquí, la segunda vez pondré un atleta y lo pondré aquí, la tercera vez otro atleta
00:05:19
y lo pondré aquí. Cada vez que hago un ciclo en este for, estoy creando un nuevo atleta y lo estoy asignando
00:05:24
una posición distinta de la
00:05:32
red de atletas. Al final tendré
00:05:34
una red de atletas lleno
00:05:36
con dentro atletas, con dentro objetos
00:05:38
atleta.
00:05:40
Dudas. Esta era la parte
00:05:45
compleja de este examen.
00:05:49
Era la parte
00:05:54
de este ejercicio. Era la parte
00:05:55
de tengo que haber entendido bien los
00:05:56
objetos porque estoy usando objetos dentro de objetos.
00:05:58
Este es
00:06:02
una red de...
00:06:02
En grupo una red de atletas.
00:06:04
lo que es reciente completo cuidado pero cuando he creado una red atleta en la red atleta está
00:06:06
vacío no tiene nada entonces ahora le tengo que instancia de estas tres cosas le tengo que dar
00:06:14
valores a estos tres como lo hago como le doy un nombre atleta punto nombre paco así todos
00:06:21
se llaman paco pero como me han dado un método aquí debajo genera nombre que me
00:06:40
da un nombre aleatorio pues lo uso y lo pongáis
00:06:49
siguiente tengo que darle una cia atleta punto cia es igual a qué
00:06:55
El CIA, si os acordáis, era categoría, modalidad y un numerito, ¿vale?
00:07:06
Entonces, categoría, is.categoría, más modalidad, is.modalidad, más modalidad, un numerito, a, porque así me aseguro que está siempre distinto.
00:07:13
Y además se corresponde con la posición en la que está.
00:07:35
que no quiero empezar por cero
00:07:38
porque es feo, pues le pongo a más un
00:07:41
¿eh?
00:07:43
da error
00:07:48
porque este es un chat
00:07:49
¿cómo lo paso todo
00:07:57
a string?
00:08:00
pues poniéndolo a string
00:08:03
ya está
00:08:04
¿sí? entonces he creado
00:08:12
nombre, he creado cia
00:08:15
y finalmente
00:08:16
atleta
00:08:19
puntos altos
00:08:21
Es igual a new int de 10
00:08:23
Porque me han dicho aquí que tienen que ser 10 saltos
00:08:30
Esto me crea un nuevo array de 10 saltos
00:08:33
Pero cuidado, todos vacíos
00:08:37
¿Cómo lo relleno?
00:08:39
Atleta.saltos
00:08:44
Que era mi método
00:08:46
Que lo que hace es acceder a este array
00:08:50
Que ahora tiene un cierto número de posiciones
00:08:53
Y rellenarlas todas
00:08:55
Entonces, sin esto
00:08:56
Estoy añadiendo
00:08:59
Atletas vacíos
00:09:02
Con esto
00:09:05
Lo estoy rellenando
00:09:07
Oye, pero yo esto no me gusta
00:09:09
Yo lo quiero hacer con un
00:09:10
¿Cómo se llama esto? Con un constructor
00:09:12
¿Vale?
00:09:14
Entonces, cuando yo creo
00:09:16
Una alternativa, ¿vale?
00:09:18
Imaginamos que quiero hacer esto
00:09:23
Pero lo quiero hacer con un constructor
00:09:25
¿Vale?
00:09:30
Entonces voy aquí y me creo un constructor
00:09:31
Public
00:09:33
Atleta
00:09:35
Que recibirá atleta
00:09:37
Recibirá string nombre
00:09:40
String
00:09:41
Fia
00:09:46
¿Si?
00:09:49
Y luego
00:09:51
¿Cuántos saltos hay?
00:09:52
Int num saltos
00:09:55
Entonces dirá que
00:09:56
This.nombre es igual a nombre
00:10:02
Dis.cia es igual a cia
00:10:05
Y que dis.saltos es igual a un array de 10 saltos
00:10:11
De numsaltos saltos
00:10:23
Y luego dis.saltos
00:10:28
¿Lo relleno?
00:10:33
No, perdón
00:10:44
Y luego
00:10:45
Llamo este método de aquí
00:10:49
Y este método de aquí lo que me hace es rellenar
00:10:51
Mis saltos, que ahora ya tiene
00:10:53
Lo que ha pasado aquí
00:10:54
Si yo tuviera este
00:10:57
Constructor
00:10:59
Entonces cuando aquí creo
00:11:00
Atleta, debería hacer
00:11:03
Atleta
00:11:04
Atleta
00:11:06
Es igual a new
00:11:08
Atleta con
00:11:10
Parámetros
00:11:13
dame un nombre
00:11:14
coma
00:11:17
sucia
00:11:20
que si queréis
00:11:22
me lo creo antes
00:11:28
pero un stringer
00:11:29
cia es igual a esta cosa aquí
00:11:32
se lo paso aquí
00:11:34
cia
00:11:36
coma
00:11:37
y 10 porque quiero que tenga 10 saltos
00:11:38
entonces dos opciones
00:11:43
o me creo los atletas vacíos
00:11:46
y luego se lo relleno
00:11:48
desde aquí, utilizando el acceso
00:11:50
a sus variables y sus
00:11:52
métodos, o me creo
00:11:53
un constructor
00:11:56
que hace lo mismo al otro lado
00:11:57
y entonces desde aquí para construir un atleta
00:11:59
simplemente llamo su constructor
00:12:02
depende de como lo hayáis hecho
00:12:03
vale, nosotros
00:12:07
hemos hecho esto
00:12:09
hemos usado
00:12:11
pero también hemos accedido luego
00:12:13
a
00:12:15
Esta era la parte más compleja del examen
00:12:16
En el sentido más nuevo
00:12:22
No es tanto más compleja
00:12:23
Porque dentro de un par de meses
00:12:24
Esto lo hacéis
00:12:27
Lo deberíais hacer
00:12:29
Con simplicidad, con tranquilidad
00:12:30
Hacer esos métodos
00:12:33
En la base de la programación orientada a objetos
00:12:34
O acceder a objetos
00:12:37
Pero esto era la parte un poquito más difícil
00:12:38
De este examen
00:12:42
Porque la última cosa que hemos visto
00:12:43
¿Sí? Entonces, esto ya ha acabado el crea, ¿vale? El crea me da la categoría, la modalidad y me rellena el array de atletas con un cierto número de atletas y para cada atleta le da el nombre, el identificador y 10 saltos que luego rellena, ¿vale?
00:12:45
Entonces, a partir de ahora, los saltos ya están rellenados y puedo llamar cosas como media, etcétera, etcétera, etcétera.
00:13:10
Siguiente método, el método media, ¿vale?
00:13:26
Dice, este es atleta, perdón, el método estadística, ¿vale?
00:13:35
Estadística pilla un double y dice, este método escribe por pantalla un mensaje del tipo,
00:13:40
De los, todas las atletas
00:13:47
Que tengo, atletas
00:13:49
De la categoría
00:13:51
Mi categoría, modalidad, mi modalidad
00:13:53
Un cierto número
00:13:55
Han pasado la nota de corte
00:13:57
Interrogación, vale
00:13:59
Donde la nota de corte, uy no lo escribía
00:14:01
Pues era esta de aquí que paso
00:14:03
Vale, porque si no que es
00:14:05
Este double
00:14:07
Todo el resto se deduce
00:14:08
La única cosa que me queda es este double
00:14:13
Vale
00:14:15
Vamos a ver
00:14:15
Entonces, ¿tiene que devolver algo? No, escribe por pantalla. Entonces, public void estadística, que pilla un doble nota o puntuación, me dice string x, string resultado, string imprimir, estadística, es igual a nada.
00:14:18
Me la voy creando, ¿vale?
00:14:55
Para hacerlo más sencilla
00:14:56
Esto se hace en una línea, ¿vale?
00:14:57
De código
00:14:58
Pero vamos paso a paso
00:14:59
Tengo que ponerle
00:15:01
Empezar con
00:15:02
De los no sé cuánto atletas
00:15:03
¿Vale?
00:15:10
Entonces
00:15:11
Est es igual a
00:15:11
De los atletas
00:15:14
De la categoría
00:15:21
Bueno, vamos así
00:15:28
Los tantos atletas
00:15:30
¿Qué le pongo aquí?
00:15:31
¿Cómo sé cuántos atletas tengo?
00:15:34
Granum atletas
00:15:44
Era una variable
00:15:45
Un parámetro que solo
00:15:47
Está dentro de crea
00:15:49
Y ya no estoy dentro de crea
00:15:50
Entonces ya no existe
00:15:51
Atletas.length
00:15:52
¿Sí?
00:15:58
Entonces esto me dice si tengo
00:16:02
50 posiciones en los atletas
00:16:04
Entonces tengo 50 atletas
00:16:07
Me dice de los 50 atletas
00:16:09
¿Vale? Ok
00:16:10
Sigo
00:16:12
Este es igual a este más
00:16:13
Segundo paso
00:16:16
Tengo que decir
00:16:20
De la categoría
00:16:20
¿Y la categoría qué es?
00:16:22
Pues le añado detrás
00:16:23
De la categoría
00:16:25
¿Cómo le pongo su categoría?
00:16:28
La tengo
00:16:43
¿Vale?
00:16:44
Es un atributo de este grupo
00:16:44
Por lo tanto, categoría la tengo
00:16:48
Este es igual a este más
00:16:49
Y sigo con modalidad
00:16:55
Modalidad
00:16:59
¿Cómo saco la modalidad?
00:17:02
Dis.modalidad
00:17:08
Hoy aprenderé a escribir modalidad
00:17:10
Coma
00:17:14
Vale
00:17:19
Tengo que ponerle un numerito
00:17:20
No sé cuántos
00:17:30
Han pasado la nota
00:17:32
De corte
00:17:34
Han pasado
00:17:37
La nota de corte
00:17:47
Más
00:17:49
Punto
00:17:51
Me falta este dato de aquí
00:17:53
Este dato de aquí es el que tengo que calcular aquí
00:17:56
Todo el resto ya lo tengo
00:18:01
¿Sí?
00:18:03
Entonces
00:18:06
Int superados
00:18:07
Es igual a cero
00:18:14
Y aquí pondré superados
00:18:17
Y ahora tengo que calcular
00:18:20
Cuántos han superado la nota de corte
00:18:25
¿Cómo lo hago?
00:18:28
¿Dónde están mis atletas?
00:18:33
¿Qué recorro?
00:18:40
Igual a cero
00:18:44
Y menor de
00:18:45
Atletas.length
00:18:48
Y más más
00:18:50
Por todas las posiciones
00:18:52
De la red de atletas
00:18:56
Que son mis atletas
00:18:57
que hago
00:18:58
tenía un método que me decía
00:18:59
si ha pasado una nota de corte o no
00:19:05
por lo tanto, si
00:19:06
atletas
00:19:08
de i
00:19:13
punto
00:19:14
corte
00:19:16
de punto
00:19:17
si esta atleta de aquí
00:19:19
ha pasado
00:19:23
la nota de corte, la que me has pasado
00:19:24
entonces que hago
00:19:27
sumo una superado
00:19:29
y ya está
00:19:37
esto quiere decir que me está
00:19:44
mirando todas las posiciones
00:19:46
de atletas, haciendo en cada
00:19:48
posición de atletas si ha superado
00:19:50
la nota de corte
00:19:53
que me han pasado, y si este es
00:19:54
verdadero, entonces suma una
00:19:56
superado, si no, no, cuando salgo
00:19:58
de aquí, tendré
00:20:00
la cantidad de
00:20:02
atletas que han superado
00:20:04
esta nota de corte
00:20:06
y entonces lo escribo
00:20:08
y ahora me queda
00:20:11
escribir la estadística que ha ido rellenando está claro que todo estaba
00:20:12
cosa aquí se puede hacer esto al principio y luego crearme esta string
00:20:23
directamente aquí dentro poniendo las cosas a una línea de código solo a
00:20:29
ver qué cinco líneas códigos pues como os parezca más sencillo
00:20:33
Muchas veces esto luego al final se queda más complejo que ponerlo todo en una misma línea.
00:20:39
Espera.
00:20:45
¿Sí?
00:20:47
Y esto debería...
00:20:47
Ahora luego lo lanzamos y vemos si funciona, ¿vale?
00:20:51
Que habrá errores seguramente.
00:20:53
Porque he codificado todo sin hacer ni una prueba, ¿vale?
00:20:55
Más que si funciona o no, me interesa que sigáis todos los pasos que hemos hecho.
00:21:00
¿Vale?
00:21:08
estadística lo he hecho, la última que es muestra, public, imprime en pantalla, void, muestra, que no recibe ningún parámetro
00:21:09
lo que tiene que hacer es imprimir un listado de atletas, todas las atletas de un grupo indicando por cada atleta
00:21:28
nombre, cia, puntuación media
00:21:35
y todas las puntuaciones de sus saltos
00:21:37
¿vale? entonces tendré que recorrer
00:21:39
que
00:21:41
que array
00:21:42
otra vez
00:21:45
el mismo, la array de atletas
00:21:48
es donde tengo mis atletas
00:21:49
por cada atleta
00:21:50
que yo tenga
00:21:53
¿vale? entonces voy a recorrer
00:21:54
la array de atletas, lo que tengo que hacer
00:21:57
es escribir en pantalla
00:21:59
el nombre del atleta
00:22:01
Entonces, atletas en posición y, punto nombre.
00:22:14
Esto me da el nombre del atleta.
00:22:25
Más.
00:22:28
Un espacio.
00:22:30
¿Qué más hay después?
00:22:32
El CIA.
00:22:37
Lo he perdido.
00:22:39
Perdido, sí.
00:22:40
CIA.
00:22:40
Entonces, detrás le escribo atletas de y.
00:22:41
Punto CIA.
00:22:48
un espacio
00:22:49
la nota media
00:22:52
de ese, por ejemplo, la puntuación media
00:22:55
de este atleta
00:22:57
¿cómo lo hago?
00:22:59
tengo un método
00:23:06
que me la calcula, por lo tanto
00:23:07
atletas de I punto media
00:23:09
más
00:23:10
espacio
00:23:12
todos los
00:23:15
saltos que ha hecho
00:23:17
este señor
00:23:19
¿vale? y aquí tengo dos opciones
00:23:20
Si no me sale lo de arrays
00:23:23
Tengo que hacer un for
00:23:25
Si no, lo hago directamente con arrays
00:23:26
Hay un metodito que es
00:23:29
Arrays.tostring
00:23:30
De atletas de i
00:23:34
Puntos altos
00:23:39
Que me lo hace
00:23:41
Ya está
00:23:43
Esto se enfada
00:23:45
Porque arrays
00:23:47
Arrays
00:23:49
Si yo hago con esto
00:23:50
Ya me funciona, ¿vale?
00:23:54
Pero si no me lo sé
00:23:56
Pues tendré que calcularme
00:23:58
Esta cosa aquí, ¿vale?
00:24:00
Entonces, ¿cómo lo hago?
00:24:02
For
00:24:05
Hagamos un string
00:24:06
Que sean saltos
00:24:08
Mis saltos
00:24:10
O saltos atleta
00:24:11
Estoy dentro por cada atleta, ¿vale?
00:24:13
Por cada atleta voy a mirar
00:24:22
Todos sus saltos
00:24:24
Entonces, j igual a cero
00:24:25
J menor de atletas.altos.length
00:24:28
Atletas de I
00:24:36
Esto ya se complica, ¿eh?
00:24:39
Punto y coma
00:24:48
J más más
00:24:49
¿Qué estoy haciendo aquí?
00:24:51
Estoy haciendo un for basado sobre
00:24:54
La atleta que estoy considerando ahora
00:24:56
¿Vale?
00:24:58
Mi atletas de I es el que estoy considerando en este
00:24:59
turno, voy a mirar
00:25:01
su array de saltos
00:25:04
y miro todas las posiciones
00:25:06
¿vale? y lo que hago
00:25:07
es encadenarla
00:25:10
¿vale? a saltos
00:25:13
atleta
00:25:14
lo que hago es igual
00:25:15
al saltos atleta
00:25:20
a lo que hay
00:25:21
adentro
00:25:24
más un espacio
00:25:25
más
00:25:28
Esta cosa de aquí
00:25:29
Del atleta sí
00:25:35
El salto es J
00:25:41
Esto es un for dentro de un for
00:25:43
Esto ha aparecido por algún lado
00:25:46
Pero ya son cosas más complejas
00:25:49
¿Vale?
00:25:52
Está claro que hasta
00:25:53
Hasta muestra
00:25:55
Y hasta crea
00:25:57
Crea y muestra
00:26:01
No, perdón, estatística y muestra
00:26:02
ya eran las cosas un poquito más avanzadas
00:26:04
¿vale?
00:26:05
era lo que te permitía
00:26:07
llegar al 10
00:26:09
¿vale? pero sin
00:26:11
estas dos hasta que no nos
00:26:13
hemos metido aquí dentro
00:26:16
pues no era
00:26:18
una cosa imposible
00:26:19
y luego aquí
00:26:22
le sumo
00:26:23
esta cosa que he creado, saltos atleta
00:26:25
y ya está
00:26:28
esto me lo hace por cada atleta
00:26:36
y se acabó
00:26:38
hay errores, donde están los errores, aquí hay un error, aquí no hay un error, aquí, no había guardado esto, ya está
00:26:40
entonces ahora, si tengo suerte, me creo a competición, competición era, competición
00:27:00
me creo competición, abro esto que ya me daban
00:27:18
a ver abro con, abro con, no, con no sepa más, venga, esto, lo copio allí, vale, lo guardo y lo lanzo
00:27:35
Y ha funcionado, a la primera.
00:28:06
Le he dado una nota media del 8,5.
00:28:17
Entonces me lanza de los 15 atletas, porque crea un grupo de 15,
00:28:33
me los muestra y me dice al final que solo dos han pasado la nota de 8,5.
00:28:39
1 y 2
00:28:46
parece que funciona
00:28:48
entonces resumiendo esto
00:28:52
de este ejercicio
00:29:00
la parte esta era fácil
00:29:03
no era difícil
00:29:06
de esta, este de aquí también
00:29:08
era simplemente seguir esta zona de aquí
00:29:12
y este era un 4,5
00:29:15
Este método crea
00:29:17
Hasta el 6,5 se podía hacer
00:29:19
¿Vale?
00:29:22
Y hasta el 10
00:29:23
Puede estar un poquito más completo
00:29:26
No lo es
00:29:27
¿Vale? Pero es lo que siempre os he dicho
00:29:29
O sea, llegar al 5,6
00:29:32
Debería ser relativamente sencillo
00:29:33
Llegar al 10 debería ser completo
00:29:35
¿Dudas?
00:29:36
- Idioma/s:
- Autor/es:
- Stefano Chiesa
- Subido por:
- Stefano C.
- Licencia:
- Reconocimiento - No comercial
- Visualizaciones:
- 10
- Fecha:
- 16 de diciembre de 2022 - 14:05
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 29′ 44″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 563.56 MBytes