Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Clase 10-11-23 - 1 - 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:
Bueno, pues entonces, y vamos, el enunciado está de aquí.
00:00:00
Está en un bucle todo el rato, se introduzca una letra minúscula.
00:00:06
Una vez que ya tiene una entrada que es una letra minúscula,
00:00:12
muestra todos los caracteres de esa letra minúscula hasta el final.
00:00:17
Vale, entonces, primera estructura del ejercicio que uno piensa,
00:00:20
un bucle, un bucle que está todo el rato, leo, leo, leo,
00:00:24
una vez que he salido de ahí, lo que yo tendré es un carácter.
00:00:27
¿Y ahora qué tengo que hacer?
00:00:31
Pues recorrer, como aquí estaba la tablástica, ese carácter es un número.
00:00:33
Pues recorrer todos los números desde él hasta el 122.
00:00:38
Un bucle que me recorre desde él hasta el 122.
00:00:43
Aquí tenemos la tablástica, ya hemos dicho que el carácter y el número son intercambiables.
00:00:46
Vale, pues dos bucles, el primero para leer y el segundo para recorrer
00:00:53
desde ese carácter hasta el 122 y mostrarlo.
00:00:57
Ese sería el ejercicio.
00:01:01
Pues vamos a hacerlo.
00:01:03
A ver.
00:01:07
Hay muchas formas de hacer cada cosa.
00:01:13
Yo le he dicho que hay muchas maneras.
00:01:15
Yo voy a hacer aquí una, pero hay muchas maneras de hacerlo.
00:01:17
No tenéis que haberlo resuelto, ni como esta, ni parecida a esta.
00:01:21
Andrés, no comas, que lo he dicho muchas veces, que en clase no se come.
00:01:24
¿Vale?
00:01:27
Vale, a ver.
00:01:30
Sí, Moisés, se ha metido la pata.
00:01:36
Tú, porque te escondes detrás del monitor y puedas comer a veces,
00:01:38
pues haya escondido, no significa que se pueda comer.
00:01:41
No se puede ni se debe.
00:01:43
Pero claro, no me voy a estar encima de vosotros todo el día.
00:01:45
No.
00:01:48
Examen 8.
00:01:50
Noviembre.
00:01:54
Luego lo subimos a la ola virtual.
00:01:56
El examen.
00:01:58
Pues venga, ejercicio 1 del examen.
00:02:07
Vale.
00:02:10
Ejercicio 1.
00:02:14
Entonces, ya más o menos uno se hace una idea analizándolo y viéndolo.
00:02:16
Un primer bucle de lectura.
00:02:19
Y luego otro bucle para recorrer de ese numerito hasta el 122.
00:02:21
Ya más o menos se hace una idea, ¿no?
00:02:24
Pues venga, plantamos el primer bucle y lo vamos refinando.
00:02:26
Y luego ya plantamos el segundo.
00:02:29
Entonces, el primer bucle es el que va a estar leyendo caracteres
00:02:34
mientras nos introduzca una minúscula.
00:02:40
Y en ese bucle está, lee carácter, lee carácter, lee carácter.
00:02:43
Ahí todo el rato.
00:02:46
Lee carácter, lee carácter, lee carácter.
00:02:48
Todo el rato así.
00:02:51
Y así mientras el carácter leído, llamémosle car, por ejemplo.
00:02:53
Lee carácter car.
00:02:56
Mientras el carácter leído no sea letra minúscula, ¿verdad?
00:02:58
Ese sería el bucle.
00:03:09
Mientras la condición no sea letra minúscula.
00:03:12
Ese sería el primer bucle.
00:03:14
Y ahora ya el segundo, pues habrá que hacerlo.
00:03:16
Vale, pues el carácter car que leemos aquí.
00:03:18
Como esto es leer carácter, pues tendré que usar un escáner.
00:03:21
Pues nada, un escáner.
00:03:24
Uy, ¿qué hago yo? Estoy mezclando las dos cosas.
00:03:35
New escáner.
00:03:38
New escáner.
00:03:42
Vale, pues tengo que leer el carácter.
00:03:50
¿Vale?
00:03:52
Entonces, ahora ya me empiezan a surgir preguntas.
00:03:53
Que esas preguntas son las que tenemos que ir resolviendo
00:03:57
en función de las cosas que sabemos.
00:03:59
Que ya nos hemos aprendido y que ya hemos estudiado.
00:04:01
Vale, ¿yo tengo que leer un número o tengo que leer texto?
00:04:03
No es texto.
00:04:07
Es texto, no es un número.
00:04:08
Vale, pues cuando era texto, leíamos con next line.
00:04:10
¿Verdad? Leíamos con next line.
00:04:13
Vale, pues entonces, cuando es texto, leemos con next line.
00:04:15
Pues entonces, esa es la herramienta que conocemos para leer texto.
00:04:19
Next line.
00:04:22
Otra cosa es que alguno de vosotros haya mirado más escáner
00:04:23
cuando en su momento lo vimos y lea de otra manera.
00:04:27
Vale, no hay problema.
00:04:30
Pero entonces hemos visto.
00:04:31
O leo números o carácteres o texto.
00:04:32
Cuando leo texto, leo con eso.
00:04:34
Es lo que nosotros hemos aprendido a hacer.
00:04:35
Vale, entonces, según eso, car, ¿qué es?
00:04:37
Car es un string.
00:04:40
Porque next line me devuelve un string, ¿verdad?
00:04:41
Venga, pues vamos a declararlo aquí.
00:04:43
Vale.
00:04:46
Este es el carácter leído.
00:04:47
Y ahora, vamos a poner el mensajito para que la aplicación
00:04:49
no sea tan sosa.
00:04:51
Introduzca letra minúscula.
00:04:53
Vale, entonces, aquí el tío introduce texto.
00:05:02
Una letra, se supone texto.
00:05:05
Una letra.
00:05:07
Y repito, como es texto, next line.
00:05:08
Es que no hay otra.
00:05:10
Vale, pues ese bucle está así todo el rato.
00:05:11
Ya está, ese bucle se acabó.
00:05:13
Me falta la condición.
00:05:14
Ese bucle se ha acabado.
00:05:15
Luego ya me falta el de abajo que también son dos líneas.
00:05:16
Ese bucle se acabó a falta de poner la condición.
00:05:19
Introduzca minúscula.
00:05:21
Introduzca minúscula.
00:05:22
Introduzca minúscula.
00:05:23
Minúscula.
00:05:24
¿Cuándo este bucle ya no se va a ejecutar más?
00:05:25
Cuando la letra sea efectivamente minúscula.
00:05:27
Entonces aquí la dificultad es la condición, claro.
00:05:30
Vale.
00:05:33
Entonces, char es el string, la cadena de texto
00:05:34
en la cual se ha leído el carácter.
00:05:38
Vale.
00:05:40
Pero nosotros sabemos, porque lo hemos visto varias veces
00:05:41
y lo repasamos el día antes del examen,
00:05:44
lo repasamos, que tenemos este, esto de aquí.
00:05:47
Para quedarnos con el carácter en cualquier posición.
00:05:53
Vale, esto lo usamos el día antes del examen.
00:05:56
Vale, pues yo quiero quedarme con el carácter
00:05:59
en la posición primera a ver si realmente es una minúscula.
00:06:01
¿Y cómo puedo saber si es una minúscula?
00:06:05
Bueno, porque esté comprendido aquí,
00:06:08
porque esté comprendido entre el 97 y el 122.
00:06:10
Vale, ejercicios con char hicimos unos cuantos.
00:06:15
Vale, pues entonces, esta condición la puedo poner.
00:06:21
Vale, char, characero, será ya el char primera letra.
00:06:32
El char primera letra.
00:06:37
Y ahora, ¿qué quiero yo ver?
00:06:38
Que sea, a ver, que no sea minúscula.
00:06:40
Y la condición de no ser minúscula será
00:06:44
si es menor que 97 o mayor que 122.
00:06:46
Si es menor que 97 o mayor de 122, no es minúscula.
00:06:51
Pues entonces vuelvo a entrar.
00:06:55
¿Vale?
00:06:58
Pues esa será mi condición.
00:06:59
Mientras esto sea menor de 97
00:07:00
o
00:07:11
sea mayor que 122.
00:07:20
¿Vale?
00:07:27
¿Vale?
00:07:31
Pues este bucle ya está.
00:07:32
Ya se acabó.
00:07:33
¿Vale?
00:07:34
Esta era la mayor dificultad del ejercicio.
00:07:35
Poner esa condición.
00:07:37
¿Vale?
00:07:39
Pues lo demás ya estaba.
00:07:40
Todo el rato leyendo un texto.
00:07:42
Todo el rato leyendo un texto.
00:07:44
Mientras el primer carácter de ese texto
00:07:46
cumpla esa condición.
00:07:48
Entonces esto lo revisamos a propósito el día antes.
00:07:49
¿Vale?
00:07:53
Pero ya hubo diezimos ejercicios que están ahí.
00:07:54
¿Vale?
00:07:57
Pues ya está.
00:07:58
Ojo, obviamente me sale.
00:07:59
¿Por qué me sale?
00:08:00
Porque CAR está sin inicializar.
00:08:02
Entonces la primera vez CAR no tiene nada.
00:08:04
Esto ya nos ha pasado mil veces.
00:08:07
Ah, vale.
00:08:08
Pues vamos a inicializar CAR de manera
00:08:09
que el carácter en la posición 0
00:08:12
no cumpla esta condición para poder entrar.
00:08:15
Cumpla esa condición para poder entrar.
00:08:19
¿Vale?
00:08:21
Bueno, pues inicializamos CAR a cualquier cadena,
00:08:22
a cualquiera,
00:08:25
en la cual esta condición sea cierta.
00:08:26
Pues nos vamos aquí.
00:08:30
¿Vale?
00:08:33
Pues yo qué sé.
00:08:34
Puedo inicializar CAR con la S mayúscula, por ejemplo.
00:08:35
O sea, con cualquiera que no cumpla la condición.
00:08:38
Con cualquiera.
00:08:40
Pues con la S mayúscula.
00:08:41
Con cualquiera.
00:08:43
Entonces entrará aquí.
00:08:44
Entrará.
00:08:47
Te dirá el primer carácter.
00:08:48
Que es letra minúscula.
00:08:50
Ya no entrará más.
00:08:52
Estupendo.
00:08:53
Que no es letra minúscula.
00:08:55
Vuelve a entrar.
00:08:57
Y así todo el rato.
00:08:58
Entonces este es el bucle que verifica la entrada.
00:08:59
¿Vale?
00:09:01
O sea, la dificultad obviamente no está aquí.
00:09:02
Porque esto es,
00:09:03
lo hemos hecho mil veces.
00:09:04
La dificultad aquí estaba
00:09:05
en poner esta condición.
00:09:07
¿Vale?
00:09:09
En poner esa condición.
00:09:10
No, porque es la condición de no ser minúscula.
00:09:15
Entonces no ser minúscula es que sea menor.
00:09:17
Porque si es igual a 97 es minúscula.
00:09:19
Que es la A.
00:09:21
¿Ves?
00:09:25
La A ya sería minúscula.
00:09:26
Es que esta condición es la condición de
00:09:27
mientras no sea minúscula,
00:09:29
entra.
00:09:31
O sea, sale cuando es minúscula.
00:09:32
Y entra cuando no lo es.
00:09:34
Entonces no ser minúscula es estrictamente menor que 97.
00:09:36
Porque si es menor o igual,
00:09:39
para la A te entraría.
00:09:40
¿Vale?
00:09:41
Para la A te entraría.
00:09:42
Esta condición es estrictamente no ser minúscula.
00:09:43
¿Vale?
00:09:47
Esta condición en realidad,
00:09:49
sería una condición idéntica,
00:09:51
así uno quiere poner esta,
00:09:53
que es la misma condición.
00:09:54
Podrías poner la condición no ser minúscula.
00:10:02
Y ser minúscula sería,
00:10:05
ahora ya sí,
00:10:06
que sea mayor o igual que 97
00:10:07
y menor o igual que 122.
00:10:09
O sea, la condición de arriba y la de abajo,
00:10:11
que voy a poner ahora,
00:10:13
son la misma.
00:10:14
Está lo mismo como la hayáis expresado.
00:10:16
Mayor o igual que 97.
00:10:19
Y menor o igual que 122.
00:10:24
¿Vale?
00:10:32
O sea, esta condición y esta,
00:10:36
reflejan exactamente lo mismo.
00:10:39
Me da igual decir,
00:10:42
o es menor que 97,
00:10:43
o es mayor que 122,
00:10:45
que decir no es,
00:10:47
simultáneamente,
00:10:48
mayor o igual que 97
00:10:49
y menor o igual que 122.
00:10:50
Me da igual cómo lo expreso.
00:10:52
¿Vale?
00:10:53
Cada uno lo entiende, a lo mejor,
00:10:54
menor de una manera o de otra.
00:10:55
Lo que importa es que esa tiene que ser
00:10:56
la condición de no ser minúscula.
00:10:58
Porque mientras no sea minúscula,
00:11:00
yo vuelvo a entrar y vuelvo a entrar
00:11:01
y vuelvo a entrar.
00:11:02
¿Vale?
00:11:03
Pues este es el bucle
00:11:04
que va pidiendo las entradas.
00:11:05
Ya está.
00:11:06
Y ahora ya,
00:11:07
cuando salimos por aquí,
00:11:08
cuando salimos por aquí,
00:11:09
ya sabemos que esta cadena
00:11:11
que yo acabo de leer,
00:11:12
tiene su primer carácter una minúscula.
00:11:14
Ya lo sabemos seguro.
00:11:16
Lo sabemos seguro,
00:11:17
porque si no,
00:11:18
no habríamos salido de este bucle.
00:11:19
Pues ahora ¿qué hay que hacer?
00:11:21
Un bucle que vaya desde ese carácter,
00:11:22
y aquí la clave es que recordéis,
00:11:25
que lo hemos dicho muchas veces,
00:11:27
que carácter y número entero
00:11:28
que lo codifica en la tabla ACI son iguales.
00:11:30
Los puedo intercambiar uno por otro.
00:11:32
Pues que carácter y número es igual.
00:11:35
Pues ahora tengo que hacer un bucle
00:11:37
que me recorre desde ese número,
00:11:39
desde ese car,
00:11:41
desde ese carácter,
00:11:42
hasta 122.
00:11:43
Y me los muestra.
00:11:45
Hay comodísimo el FOR.
00:11:46
Ese FOR que vaya
00:11:48
desde la posición del carácter
00:11:49
que me ha llegado hasta 122.
00:11:50
Y ya está.
00:11:52
¿Vale?
00:11:53
Pues venga.
00:11:54
Entonces esto sería
00:11:56
para cada numerito entero mío N,
00:11:58
por ejemplo,
00:12:00
o I, como queréis llamar,
00:12:01
igual a cuál?
00:12:03
Al primero del que yo voy a partir,
00:12:05
que es este,
00:12:07
el carácter que me han dado,
00:12:08
que está aquí.
00:12:09
Mientras I sea menor o igual que 122.
00:12:12
Porque 122 es el último.
00:12:16
Es este último.
00:12:19
El último.
00:12:21
Incrementando en una unidad cada vez.
00:12:26
Pues aquí ya estoy teniendo
00:12:29
todos esos caracteres.
00:12:31
Polinesios.
00:12:34
A ver si consigo.
00:12:36
Ahora.
00:12:40
Vale, ya los estoy teniendo todos.
00:12:41
El que me han dado,
00:12:43
más el siguiente,
00:12:45
luego el otro,
00:12:46
y luego el otro,
00:12:47
y luego el otro,
00:12:48
y luego el otro,
00:12:49
y luego el otro.
00:12:50
Los estoy teniendo todos.
00:12:51
¿Verdad?
00:12:52
Hasta 122.
00:12:53
Ahora ya mostramos esto.
00:12:54
Aquí, ¿qué nos pasaba cuando lo hacíamos?
00:12:55
Que si mostramos el número directamente,
00:12:56
el System.out.println me mostraba el número.
00:12:58
Entonces, si hacíais esa prueba,
00:13:00
lo veíais rápido,
00:13:02
y entonces,
00:13:03
¿a qué conclusión llegábamos?
00:13:04
Ah, cuidado.
00:13:05
Haz el Castina Chat
00:13:06
para que te lo muestre bien.
00:13:07
¿Vale?
00:13:08
Podríamos hacer la prueba,
00:13:09
pero bueno,
00:13:10
nos ahorramos tiempo.
00:13:11
Vale.
00:13:12
Entonces.
00:13:13
Ya está.
00:13:15
¿Vale?
00:13:16
Pues ya está.
00:13:17
Este es el ejercicio.
00:13:18
¿Vale?
00:13:19
Voy a ponerlo ahí.
00:13:20
Un bucle de verificación de entrada,
00:13:23
y luego ya un bucle for,
00:13:25
que te muestra los numeritos.
00:13:26
¿Ya está?
00:13:28
Ya está el ejercicio.
00:13:29
¿Vale?
00:13:30
¿Es así?
00:13:31
Sí, es así.
00:13:32
Claro,
00:13:33
pero si las cosas,
00:13:34
no,
00:13:35
la dificultad no está
00:13:36
en lo largas o cortas que sean,
00:13:37
sino en decir,
00:13:38
vale,
00:13:39
tengo que hacer esto.
00:13:40
Lo hago,
00:13:41
lo relleno y se acabó.
00:13:42
En ver mi estructura en la cabeza,
00:13:43
completarla,
00:13:44
y no puedes hacer líneas,
00:13:45
y líneas,
00:13:46
y líneas.
00:13:47
¿Vale?
00:13:50
O sea,
00:13:51
la dificultad de programar,
00:13:52
no es que los programas sean así.
00:13:53
Los programas no son así.
00:13:54
Es uno,
00:13:55
rápidamente organizar,
00:13:56
bueno,
00:13:57
rápidamente o lentamente organizarse
00:13:58
y decir,
00:13:59
vale,
00:14:00
tengo que resolver estos dos problemas.
00:14:01
El primero,
00:14:02
un bucle que me está leyendo.
00:14:03
Vale,
00:14:04
una vez que lo tengo,
00:14:05
¿ahora qué tengo que hacer?
00:14:06
Venga,
00:14:07
pues voy al otro.
00:14:08
¿Cómo resuelvo eso?
00:14:09
Y eso se programa normalmente
00:14:10
en muy pocas líneas.
00:14:11
En muy pocas líneas.
00:14:12
Pero claro,
00:14:13
hay que,
00:14:14
vale,
00:14:19
entonces,
00:14:20
podéis haberlo hecho
00:14:21
de diferentes maneras.
00:14:22
Pero en cualquier caso,
00:14:23
siempre tendrá que haber habido
00:14:24
un bucle que va leyendo
00:14:25
y luego otro para mostrar.
00:14:26
Pero eso mismo,
00:14:29
pues igual lo habéis hecho
00:14:30
de otras maneras,
00:14:31
con otro bucle,
00:14:32
con otras cosas.
00:14:33
¿Vale?
00:14:34
A lo mejor habéis puesto
00:14:37
un do while
00:14:38
en vez de un while.
00:14:39
Aquí esto es lo que pegaba
00:14:40
a la unfold,
00:14:41
porque aquí esto yo tenía
00:14:42
que ir corriendo
00:14:43
una cantidad de números enteros
00:14:44
entre uno y otro.
00:14:45
Pues eso es un for, ¿no?
00:14:46
Y así ya tengo
00:14:47
la variable aquí,
00:14:48
etc.
00:14:49
Vale, pues,
00:14:55
dime.
00:14:56
A ver,
00:14:57
que me puedo haber,
00:14:58
puedo haber hecho algo mal.
00:14:59
Igual le he puesto
00:15:00
una URI y no la veo.
00:15:01
Dime, dime.
00:15:02
Yo ejecuto eso
00:15:03
y me sale desde la S
00:15:04
hacia la Z.
00:15:05
Pero no es que yo ingrese
00:15:06
una letra
00:15:07
por teclado.
00:15:08
¿Cómo que no ingresas
00:15:10
una letra?
00:15:11
A ver, no sé,
00:15:12
que igual le hemos hecho
00:15:13
algo mal.
00:15:14
Algo no lo hemos mirado.
00:15:15
Vamos a ver.
00:15:16
Vamos a ver.
00:15:18
Vamos a ver.
00:15:27
Ahora llega la fase
00:15:31
de la prueba.
00:15:32
¿Vale?
00:15:33
Siempre he dicho
00:15:34
que no lo olvidéis.
00:15:35
Uno hace la prueba
00:15:36
y haciendo la prueba
00:15:37
puede decir,
00:15:38
uy, que me equivoco en esta.
00:15:39
Vamos a verlo,
00:15:40
¿vale?
00:15:41
Pues venga,
00:15:42
vamos a introducir,
00:15:43
primero le introduzco
00:15:44
una que no sea minúscula.
00:15:45
A ver si me la vuelve a pedir.
00:15:46
Me la va a pedir.
00:15:47
Le introduzco el 7,
00:15:48
me la vuelve a pedir.
00:15:49
Vale, parece que sí que se,
00:15:50
si no le doy una minúscula
00:15:51
parece que no le gusta.
00:15:52
Parece que no le gusta.
00:15:54
Vale, vamos a darle
00:15:55
ahora una minúscula.
00:15:56
La B.
00:15:57
Vale, le ha gustado la B
00:15:59
y me las ha imprimido todas
00:16:00
entre la B y la Z.
00:16:01
Vale, en principio,
00:16:03
hombre, uno tiene que hacer
00:16:04
más pruebas,
00:16:05
no vaya a ser que alguna,
00:16:06
en algún caso concreto,
00:16:07
raro,
00:16:08
pero bueno,
00:16:09
en este caso es un programa
00:16:10
de pocas líneas
00:16:11
con esta prueba
00:16:12
que funciona.
00:16:13
Yo creo que podemos concluir
00:16:14
que,
00:16:15
no lo sé,
00:16:17
vamos a probar.
00:16:18
Ponemos la A,
00:16:20
sí.
00:16:21
No funcionaría
00:16:23
si yo hubiera puesto
00:16:24
igual la,
00:16:25
el menor o igual,
00:16:26
lo que decía él.
00:16:27
¿Vale?
00:16:28
Dime.
00:16:34
¿Lo tienes igual-igual seguro?
00:16:41
Es imposible que lo tengas igual,
00:16:45
si lo tienes igual
00:16:46
te tiene que dar
00:16:47
el mismo resultado.
00:16:48
La condición la tienes
00:16:53
que tener distinta
00:16:54
o tienes,
00:16:55
vete a saber.
00:16:56
¿Vale?
00:16:57
Vale, venga,
00:16:59
vamos a por el siguiente.
00:17:00
A ver.
00:17:05
Vale.
00:17:11
Venga, ejercicio 2.
00:17:13
Vale.
00:17:19
Este era el más largo,
00:17:20
pero para mí
00:17:23
el más fácil,
00:17:24
porque es que es hacer
00:17:25
sumas acumulativas
00:17:26
que estamos hasta narices.
00:17:27
¿Ya está?
00:17:29
Nada más que eso,
00:17:30
hacer,
00:17:31
y encima lo mismo,
00:17:32
la misma,
00:17:33
acumular sumas
00:17:34
acumulativas
00:17:35
que estamos
00:17:36
hasta narices.
00:17:37
Y encima lo mismo,
00:17:38
la misma,
00:17:39
aquí una suma acumulativa
00:17:40
y aquí otra más.
00:17:41
¿Ya está?
00:17:42
Meterlo en un menú
00:17:43
como el que habíamos hecho
00:17:44
justo el día anterior.
00:17:45
Para recordar,
00:17:47
cuando lo vimos un momento
00:17:48
el switch case,
00:17:49
que ya lo dijimos,
00:17:50
pues para recordarlo.
00:17:51
Vale,
00:17:52
pero este era el más fácil,
00:17:53
yo creo.
00:17:54
¿Vale?
00:17:55
Y este,
00:17:57
para mí era el más difícil,
00:17:59
bueno,
00:18:01
pero porque había que hacerlo
00:18:02
de las cifras,
00:18:03
el buque de las cifras,
00:18:04
pero si eso ya lo habíais hecho
00:18:05
y entendido,
00:18:06
eso mismo que habíamos hecho,
00:18:07
el mismo ejercicio de las cifras,
00:18:08
el mismo,
00:18:09
este,
00:18:10
plantarlo aquí.
00:18:11
¿Vale?
00:18:12
Entonces,
00:18:13
pero claro,
00:18:14
pues bueno,
00:18:15
uno tenía que tener,
00:18:16
tenía que haber interiorizado eso
00:18:17
y haberlo entendido
00:18:18
y haberlo...
00:18:19
Pero interiorizar
00:18:22
la suma acumulativa
00:18:23
es más fácil
00:18:24
que lo de sacar las cifras.
00:18:25
Vale,
00:18:28
pues venga,
00:18:29
vamos al 2.
00:18:30
A ver,
00:18:32
ejercicio 2.
00:18:33
Dice programa
00:18:34
que muestra un menú
00:18:35
con tres opciones
00:18:36
y para cada opción
00:18:38
tiene que hacer
00:18:39
una cosa distinta.
00:18:40
Pues venga,
00:18:41
menú con tres opciones.
00:18:42
Esto es que no hay
00:18:44
otra forma de hacerlo.
00:18:45
Bueno,
00:18:46
hay muchas,
00:18:47
pero la bonita
00:18:48
es esto,
00:18:49
como ya
00:18:50
hemos dicho.
00:18:51
Pues venga,
00:18:52
aquí os dije,
00:18:53
me da igual
00:18:54
para facilitar
00:18:55
las cosas,
00:18:56
dije me da igual
00:18:57
que la opción de entrada
00:18:58
la pongáis como un A,
00:18:59
como un número,
00:19:00
como os guste más,
00:19:01
para facilitar
00:19:02
la lectura vuestra
00:19:03
del número.
00:19:04
Si la ponéis como A,
00:19:05
tenéis que leerlo
00:19:06
con next line
00:19:07
y si la ponéis como 1,
00:19:09
pues con next line.
00:19:10
Las dos formas
00:19:11
que tenemos de leer.
00:19:12
Vale,
00:19:13
yo la voy a dejar como A
00:19:14
para que sea tal
00:19:15
como el enunciado,
00:19:16
que igual complica
00:19:17
más que como numerito,
00:19:18
porque tienes que comparar
00:19:19
con el equals,
00:19:20
pero vamos,
00:19:21
que es lo de menos.
00:19:22
Vale,
00:19:23
venga,
00:19:24
pues a ver,
00:19:25
voy a dejarlo como A,
00:19:26
directamente
00:19:27
como decía el enunciado.
00:19:28
A media,
00:19:30
venga.
00:19:32
B,
00:19:35
sumar múltiplos.
00:19:41
Y esta,
00:19:58
F,
00:20:00
salir.
00:20:02
Vale,
00:20:04
y ahora que hacíamos,
00:20:05
leer opción.
00:20:06
Bueno,
00:20:07
pues la opción,
00:20:08
como yo la he puesto
00:20:10
como A, B o C,
00:20:11
eso es texto,
00:20:12
pues leemos
00:20:13
con un next line,
00:20:14
porque es texto.
00:20:17
Vale,
00:20:20
entonces significa
00:20:21
que el escáner
00:20:22
lo tengo que declarar.
00:20:23
El escáner
00:20:34
lo pongo por ahí.
00:20:35
Y ahora la opción,
00:20:36
ya me adelanto,
00:20:37
no vuelvo a repetir
00:20:38
el proceso que hago siempre
00:20:39
de empezar a hacer las cosas
00:20:40
y luego decir,
00:20:41
ah,
00:20:42
pero la tengo que declarar
00:20:43
fuera para ti.
00:20:44
Ya esas cosas
00:20:45
las podemos ir adelantando
00:20:46
de partida.
00:20:47
Como este do while
00:20:48
tendrá aquí el while
00:20:49
mientras la opción
00:20:50
sea diferente de salir,
00:20:51
pues ya podemos adelantarnos
00:20:52
y decir la declaración
00:20:53
de la opción,
00:20:54
vamos a hacerla fuera.
00:20:56
Vamos a dejar de repetir
00:20:57
todo el rato
00:20:58
el mismo proceso
00:20:59
ya directamente
00:21:01
la declaro fuera
00:21:03
porque ya sé
00:21:04
que es que voy a necesitar
00:21:05
declararla fuera
00:21:06
para que luego aquí dentro
00:21:07
vale,
00:21:08
no,
00:21:09
pues venga,
00:21:10
leemos la opción
00:21:11
y ahora el switch case.
00:21:12
Vale,
00:21:17
en función de la opción
00:21:18
hago una opción
00:21:19
o hago una
00:21:20
o hago la otra
00:21:21
y ahí ya sí que van
00:21:22
las sumas acumulativas
00:21:23
en cada case.
00:21:24
Vale,
00:21:25
en el caso
00:21:26
de que esa opción
00:21:27
sea a
00:21:29
vale,
00:21:33
como es texto,
00:21:34
como es texto,
00:21:35
recordad que el texto
00:21:36
va entre comillas dobles
00:21:37
obviamente,
00:21:38
si yo fuera un número
00:21:39
y lo que estuviera leyendo
00:21:40
ahí pondría
00:21:41
uno,
00:21:42
pero lo que estoy leyendo
00:21:43
es un texto
00:21:44
y quiero ver
00:21:45
si ese texto es a,
00:21:46
pues el texto
00:21:47
se lo indico a jala
00:21:48
siempre entre comillas dobles.
00:21:49
Vale,
00:21:50
entonces aquí
00:21:51
pondré lo que haya
00:21:52
que poner,
00:21:53
ahora lo ponemos
00:21:54
aquí en el caso
00:22:01
de que sea la opción b
00:22:02
pues aquí
00:22:03
habrá que poner
00:22:04
lo que haya que poner
00:22:05
y en el caso
00:22:08
de que sea
00:22:09
la opción c
00:22:10
que es la de salir
00:22:12
pues nada,
00:22:13
lo que uno le dé la gana,
00:22:14
si uno quiere poner
00:22:15
ahí un mensajito saliendo
00:22:16
pues lo que sea
00:22:17
porque ahí ya no hay
00:22:18
nada que hacer.
00:22:19
Que además
00:22:23
os acordáis
00:22:24
y ponéis un default
00:22:25
para que el programa
00:22:27
sea un poco más bonito
00:22:28
y cuando el usuario
00:22:30
mete una opción
00:22:31
que no es ni la a,
00:22:32
ni la b,
00:22:33
ni la c,
00:22:34
le avisen,
00:22:35
en lugar de volver
00:22:36
solo a pedir sin más
00:22:37
sin avisar
00:22:38
que además le avisen,
00:22:39
pues venga,
00:22:40
pues mucho mejor,
00:22:42
va a quedar un menú
00:22:43
mucho más
00:22:44
claro para el usuario,
00:22:45
opción no válida.
00:22:46
Vale,
00:22:48
y ahora esto
00:22:49
cuando se va a repetir,
00:22:50
switch case,
00:22:52
aquí acaba el switch case
00:22:53
y ahora todo esto
00:22:55
mientras
00:22:56
la opción
00:22:59
no sea igual
00:23:00
a
00:23:02
la de salir.
00:23:03
Vale,
00:23:07
esto.
00:23:08
Vale,
00:23:10
aquí si usabais
00:23:11
que la entrada fuera
00:23:13
con texto,
00:23:14
teníais que acordaros
00:23:15
a lo que también
00:23:16
hemos repetido muchas veces.
00:23:17
¿Perdón?
00:23:19
Dije que lo podíais
00:23:21
poner con números,
00:23:22
con letras,
00:23:23
como que si yo lo he puesto
00:23:24
ahí con letras,
00:23:25
pues con letras,
00:23:26
si lo poníais con letras,
00:23:27
teníais que acordaros
00:23:28
que lo hemos dicho varias veces
00:23:29
de que los textos
00:23:30
no se comparan
00:23:31
los string con doble igual,
00:23:32
si lo comparan con equals.
00:23:33
Vale,
00:23:35
teníais que acordaros.
00:23:36
Pero vamos,
00:23:38
eso lo he insistido
00:23:39
que es varias veces
00:23:40
que ese error
00:23:41
no lo podéis cometer
00:23:42
porque uno se cree
00:23:43
que el código
00:23:44
Java no te lo detecta
00:23:45
porque a Java
00:23:46
le da igual,
00:23:47
ya entenderemos
00:23:48
cuando veamos objetos.
00:23:49
Si uno pone esto,
00:23:50
al compilador
00:23:55
le parece maravilloso
00:23:56
porque esto significa
00:23:57
algo en Java,
00:23:58
en términos de objetos
00:23:59
y recordar que los string
00:24:00
son objetos,
00:24:01
esto significa algo,
00:24:02
pero no significa
00:24:03
lo que nosotros queremos,
00:24:04
entonces cuando veamos objetos
00:24:06
entenderemos ya
00:24:07
qué significa eso,
00:24:08
pero no significa
00:24:09
lo que nosotros queremos,
00:24:10
nosotros hasta lo hemos dicho,
00:24:11
cuando yo quiero comparar
00:24:12
si una cadena es igual a otra,
00:24:13
nunca la comparo así,
00:24:14
sino que la comparo
00:24:16
con el punto equals,
00:24:17
vale,
00:24:18
entonces si lo hacíais
00:24:19
en lugar de con numeritos,
00:24:20
con cadenas,
00:24:22
pues entonces
00:24:23
había que acordarse
00:24:24
de que entonces
00:24:25
lo hacíamos así,
00:24:26
vale,
00:24:28
vale,
00:24:31
bueno pues este es
00:24:32
mi programa,
00:24:33
me falta completar los case,
00:24:34
que los case son
00:24:35
las sumas,
00:24:36
acumulativas y ya está,
00:24:37
vale,
00:24:38
el menú,
00:24:39
el mismo que hicimos
00:24:40
el de anterior,
00:24:41
vamos,
00:24:42
tú muestras las opciones,
00:24:43
leo y en fin
00:24:44
de relación
00:24:45
una cosa u otra,
00:24:46
vale,
00:24:47
cuando vimos el switch case
00:24:48
en su momento
00:24:49
ya dijimos
00:24:50
que el switch case
00:24:51
pega fenomenal
00:24:52
en un programa con menú,
00:24:53
vale,
00:24:54
porque en función
00:24:55
de la opción
00:24:56
yo hago una cosa
00:24:57
de otra,
00:24:58
bueno pues ahora ya
00:24:59
nos vamos a cada caso,
00:25:00
no es que haga falta,
00:25:05
tú tienes que cerrar
00:25:06
todos los que abras,
00:25:07
vamos a ver,
00:25:08
yo es que he abierto este,
00:25:09
vamos a ver
00:25:12
que si este paréntesis
00:25:13
de aquí,
00:25:14
yo le he puesto
00:25:16
por claridad,
00:25:17
pero ese paréntesis,
00:25:18
ese paréntesis
00:25:20
me hacía falta
00:25:21
cuando lo había puesto
00:25:22
igual,
00:25:23
porque si no
00:25:24
él no aplicaba
00:25:25
solo el primer término
00:25:26
de la igualdad,
00:25:27
pero con igual
00:25:28
no hace falta,
00:25:29
vale,
00:25:30
entonces,
00:25:31
uy,
00:25:32
espérate aquí
00:25:33
me está sobrando,
00:25:34
que es que lo he puesto
00:25:35
donde no era,
00:25:36
esto no va aquí,
00:25:37
sino que va aquí,
00:25:38
porque este es
00:25:39
el final del switch,
00:25:40
es el final del switch,
00:25:41
vale,
00:25:42
vale,
00:25:43
pues ya está,
00:25:44
este es el programa
00:25:45
a falta de completar
00:25:46
los cases,
00:25:47
claro,
00:25:48
los dos,
00:25:49
el A y el B,
00:25:50
vale,
00:25:51
el caso A,
00:25:52
¿qué tiene que hacer
00:25:53
el caso A?
00:25:54
En el caso de que
00:25:55
entremos la A,
00:25:56
pide cinco números
00:25:57
y muestra la media
00:25:58
de los que han sido pares
00:25:59
y la media de los que
00:26:00
han sido impares,
00:26:01
es decir,
00:26:02
dos sumas acumulativas,
00:26:03
pero dos sumas acumulativas
00:26:04
en este caso
00:26:05
sobre cinco números
00:26:06
tal cual,
00:26:07
o sea,
00:26:08
no hay que pedir
00:26:09
hasta que se introduzca
00:26:10
un negativo,
00:26:11
hasta que se introduzca
00:26:12
un cero,
00:26:13
es más fácil,
00:26:14
es un bucle de lectura,
00:26:15
pero que sabemos
00:26:16
que se va a ejecutar
00:26:17
cinco veces,
00:26:18
punto pelota,
00:26:19
cinco se va a ejecutar,
00:26:20
es más fácil
00:26:21
que lo que hemos hecho
00:26:22
porque entonces
00:26:23
ya planto un for,
00:26:24
planto un for,
00:26:25
me hago la suma acumulativa
00:26:26
y se acabó,
00:26:27
pues venga,
00:26:28
como tengo que hacer
00:26:29
dos sumas acumulativas,
00:26:30
dos sumas acumulativas,
00:26:31
pues entonces
00:26:32
nos vamos a declarar
00:26:33
dos variables
00:26:34
para hacer las sumas
00:26:35
acumulativas,
00:26:36
la suma de los pares,
00:26:37
que ya como sabemos
00:26:38
cómo funciona esto,
00:26:39
sabemos que
00:26:40
inicializamos a cero
00:26:41
y la suma de los impares,
00:26:42
que como ya sabemos
00:26:43
cómo funciona esto,
00:26:44
pues la inicializo a cero,
00:26:45
es decir,
00:26:46
la suma de los impares,
00:26:47
que como ya sabemos
00:26:48
cómo funciona esto,
00:26:49
y ahora ya,
00:26:51
bucle de lectura
00:26:52
de números,
00:26:54
este bucle,
00:26:56
repito,
00:26:57
no hace falta
00:26:58
que sea un while
00:26:59
porque la condición no es
00:27:00
mientras el número leído
00:27:01
sea diferente de cero,
00:27:02
mientras sea no sé qué,
00:27:03
no, aquí me están diciendo
00:27:04
cinco,
00:27:05
pues el bucle for
00:27:06
es un bucle
00:27:07
que es el que usamos
00:27:08
cuando sabemos exactamente
00:27:09
la cantidad de veces
00:27:10
que se va a ejecutar algo,
00:27:11
pues aquí me dicen tal cual,
00:27:12
tienes que leer cinco,
00:27:13
pues estupendo,
00:27:14
un bucle for
00:27:15
con la sintaxis
00:27:16
para que se ejecute
00:27:17
cinco veces,
00:27:18
que es esta,
00:27:19
le digo a la cero
00:27:20
mientras ella sea menor
00:27:21
que cinco,
00:27:22
incrementando y,
00:27:23
ala,
00:27:24
ya tengo un bucle
00:27:25
que se ejecuta
00:27:26
cinco veces,
00:27:27
¿vale?,
00:27:28
cinco veces,
00:27:29
lo que hemos usado
00:27:30
otras veces,
00:27:31
bueno,
00:27:32
pues ahora,
00:27:33
¿qué tengo que hacer
00:27:34
cada una de esas veces?,
00:27:35
leer un número
00:27:36
y actualizar la suma
00:27:37
acumulativa,
00:27:38
la de pares
00:27:39
o la de impares,
00:27:40
según toque,
00:27:41
según si el número
00:27:42
es par o impar,
00:27:43
¿vale?,
00:27:44
según si el número
00:27:45
es par o impar,
00:27:46
vale,
00:27:47
entonces,
00:27:48
leo el número,
00:27:49
introduzca número,
00:27:50
¿vale?,
00:27:51
y ahora leemos
00:27:52
el numerito,
00:27:53
int n
00:27:54
igual a
00:27:55
scan punto,
00:27:56
venga,
00:27:57
next int,
00:27:58
y ahora ya,
00:27:59
ese número,
00:28:00
¿qué suma acumula?,
00:28:01
¿a qué suma se integra?,
00:28:02
¿a esta o a esta?,
00:28:03
depende,
00:28:04
depende de si el número
00:28:05
es par o es impar,
00:28:06
porque es
00:28:07
la suma
00:28:08
acumulativa,
00:28:09
¿vale?,
00:28:10
entonces,
00:28:11
¿qué suma acumula?,
00:28:12
¿a qué suma se integra?,
00:28:13
a esta o a esta,
00:28:14
depende,
00:28:15
depende de si el número
00:28:16
es par o es impar,
00:28:17
porque esta
00:28:18
acumula la suma
00:28:19
de los que sean pares
00:28:20
de esos 5,
00:28:21
y esta
00:28:22
acumula la suma
00:28:23
de los que sean impares,
00:28:24
pues depende,
00:28:25
pues aquí es donde
00:28:26
pongo el if,
00:28:27
¿vale?,
00:28:28
entonces,
00:28:29
si el numerito
00:28:30
leído
00:28:31
es par,
00:28:32
es par,
00:28:33
esta es la condición
00:28:34
de ser par,
00:28:35
que ya hemos usado
00:28:36
muchas veces,
00:28:37
pues entonces
00:28:38
suma pares
00:28:39
más
00:28:40
igual
00:28:41
n,
00:28:42
¿vale?,
00:28:43
¿vale?,
00:28:45
y si no,
00:28:47
y si no,
00:28:50
aquí puedo poner
00:28:52
un else,
00:28:53
porque es que no hace
00:28:54
falta poner un else if,
00:28:55
porque si no es par
00:28:56
es impar,
00:28:57
es que no hay tu tía,
00:28:58
no hay tu tía,
00:28:59
si esta no se da,
00:29:00
es que es impar,
00:29:01
y si no es par
00:29:02
o lo que es lo mismo,
00:29:03
si es impar,
00:29:04
pues la suma
00:29:05
acumulativa
00:29:06
que actualizo
00:29:07
es esta,
00:29:08
¿vale?,
00:29:10
y ya está,
00:29:12
ya tengo la suma
00:29:13
acumulativa
00:29:14
de esos cinco números
00:29:16
que yo leo,
00:29:17
un bucle que se lee
00:29:18
cinco veces,
00:29:19
ni guay,
00:29:20
ni nada,
00:29:21
no me hace falta,
00:29:22
introduzco un número,
00:29:23
suma acumulativa
00:29:24
de los pares
00:29:25
o a los impares,
00:29:26
depende,
00:29:27
y ahora ya
00:29:28
cuando tengo esas sumas
00:29:29
es cuando yo digo,
00:29:30
vale,
00:29:31
ahora ya me falta
00:29:32
mostrar el resultado,
00:29:33
pero el resultado
00:29:34
me han dicho,
00:29:35
no es directamente
00:29:36
muéstrame la suma
00:29:37
de los pares
00:29:38
y de los impares,
00:29:39
sino la media,
00:29:40
bueno,
00:29:41
entonces,
00:29:42
ah,
00:29:43
me falta un contador,
00:29:44
o sea,
00:29:45
la media de los pares
00:29:46
será suma pares
00:29:47
entre los pares
00:29:48
que hayan llegado,
00:29:49
que no sé cuantos
00:29:50
habrán sido,
00:29:51
si uno,
00:29:52
dos,
00:29:53
tres,
00:29:54
y suma impares
00:29:55
será esta
00:29:56
entre los impares
00:29:57
que hayan llegado,
00:29:58
¿vale?,
00:29:59
ah,
00:30:00
claro,
00:30:01
para hacer la media
00:30:02
de falta del contador,
00:30:03
¿vale?,
00:30:04
ya lo hemos hecho
00:30:05
otras veces,
00:30:06
vale,
00:30:07
pues no pasa nada,
00:30:08
nos ponemos aquí
00:30:09
nuestro contador,
00:30:10
impares
00:30:11
igual a cero,
00:30:12
y ahora ya,
00:30:13
si el número es par,
00:30:14
si el número es par,
00:30:15
además de
00:30:16
sumarlo,
00:30:17
incremento el
00:30:18
count pares,
00:30:19
¿vale?,
00:30:20
o sea,
00:30:21
estoy haciendo
00:30:22
porque lo hago
00:30:23
así automáticamente,
00:30:24
realmente los impares
00:30:25
serán cinco menos
00:30:26
los pares,
00:30:27
no hace falta
00:30:28
que tengan
00:30:29
los dos contadores,
00:30:30
obviamente,
00:30:31
¿no?,
00:30:32
pero bueno,
00:30:33
si uno va haciendo
00:30:34
así automáticamente
00:30:35
para,
00:30:36
para verlo más claro,
00:30:37
count pares
00:30:38
más más,
00:30:39
y si es impar,
00:30:41
y si es impar,
00:30:45
pues count impares
00:30:48
más más,
00:30:50
vale,
00:30:51
ya tiene el número
00:30:52
de pares y de impares,
00:30:53
insisto,
00:30:54
en realidad,
00:30:55
no hace,
00:30:56
como sabemos que son cinco,
00:30:57
no hace falta
00:30:58
llevar las dos cuentas,
00:30:59
contamos uno
00:31:00
y los otros serán
00:31:01
cinco menos
00:31:02
los que han sido pares,
00:31:03
serán los impares,
00:31:04
pero bueno,
00:31:05
como vamos
00:31:06
así incrementalmente
00:31:07
poniendo cosas,
00:31:08
uno a lo mejor
00:31:09
lo planta así,
00:31:10
porque va rápido,
00:31:11
lo ve claro,
00:31:12
luego otra cosa,
00:31:13
cuando se pone a refinar
00:31:14
ya una versión que funciona,
00:31:15
de su problema,
00:31:16
la versión que funciona,
00:31:17
pues ya puede empezar
00:31:18
a refinar y decir,
00:31:19
ah, vale,
00:31:20
mira,
00:31:21
esto me sobra,
00:31:22
esto puedo hacerlo
00:31:23
de esta manera,
00:31:24
vale,
00:31:25
bueno,
00:31:26
pues ahora ya sí,
00:31:27
ahora ya una vez
00:31:28
acabado este for,
00:31:29
ya podemos mostrar
00:31:30
la media,
00:31:31
vale,
00:31:32
y ya podríamos mostrar
00:31:33
la media
00:31:34
de los pares
00:31:35
es,
00:31:36
y ahora,
00:31:37
aquí ya,
00:31:38
ponemos
00:31:39
suma pares
00:31:40
entre
00:31:41
cont pares,
00:31:42
vale,
00:31:43
ya está,
00:31:44
esa es la suma
00:31:45
de los pares,
00:31:46
y a la de los impares
00:31:47
lo mismo,
00:31:48
pero con impares,
00:31:49
la media
00:31:50
de los impares
00:31:51
es
00:31:52
suma impares
00:31:53
entre
00:31:54
cont impares
00:31:55
o entre
00:31:56
cinco menos
00:31:57
cont pares,
00:31:58
me da igual,
00:31:59
si habéis usado
00:32:00
esa solución
00:32:01
antes,
00:32:02
me da igual,
00:32:03
me da igual,
00:32:04
me da igual,
00:32:05
me da igual,
00:32:06
me da igual,
00:32:07
me da igual,
00:32:08
si habéis usado
00:32:09
ese segundo contador
00:32:10
o no,
00:32:11
me da lo mismo,
00:32:12
vale,
00:32:13
pues la opción
00:32:14
A ya estaría,
00:32:15
un segundo Inín,
00:32:16
esto sí que es clavado
00:32:17
reproducir
00:32:18
lo que hemos
00:32:19
repetido
00:32:20
un montón de veces,
00:32:21
sumas,
00:32:22
cuentas,
00:32:23
bucles,
00:32:24
es clavado eso,
00:32:25
plantado aquí
00:32:26
dentro del case,
00:32:27
dime,
00:32:28
claro,
00:32:29
claro,
00:32:30
claro,
00:32:31
claro,
00:32:32
claro,
00:32:33
claro,
00:32:34
claro,
00:32:35
claro,
00:32:36
ahora,
00:32:37
luego,
00:32:38
en la fase de pruebas,
00:32:39
si uno se pone a hacer
00:32:40
un montón de pruebas,
00:32:41
diría,
00:32:42
ostras,
00:32:43
cuidadín,
00:32:44
porque sí,
00:32:45
yo,
00:32:46
solo he metido impares,
00:32:47
el contador de pares
00:32:48
es cero
00:32:49
y acordémonos
00:32:50
que nos ha pasado
00:32:51
tres veces
00:32:52
que al dividir
00:32:53
entre cero,
00:32:54
te da
00:32:55
Arithmetic Exception,
00:32:56
cuidado,
00:32:57
entonces uno,
00:32:58
cuando hace las pruebas
00:32:59
y a lo mejor
00:33:00
hace un primer caso
00:33:01
de prueba,
00:33:02
mete dos pares
00:33:03
y tres impares,
00:33:04
es cuando veo
00:33:05
unas letras rojas,
00:33:06
Arithmetic Exception
00:33:07
divide by cero,
00:33:08
que es lo que dice,
00:33:09
dice,
00:33:10
ah,
00:33:11
claro,
00:33:12
entonces ahí podría,
00:33:13
eso yo ya no lo he esperado,
00:33:14
lo espero que lo hagáis
00:33:15
en este ejercicio,
00:33:16
pero uno ya refinaría,
00:33:17
diría,
00:33:18
oye,
00:33:19
cuidado,
00:33:20
antes de hacer
00:33:21
este System Out,
00:33:22
voy a mirar
00:33:23
si el contador de pares
00:33:24
es diferente de cero,
00:33:25
porque si es cero,
00:33:26
no muestro esto,
00:33:27
digo,
00:33:28
no ha habido impares
00:33:29
o no ha habido pares,
00:33:30
lo que fuera,
00:33:31
vale,
00:33:32
o pongo cero,
00:33:33
y cuando me dé
00:33:34
ese error
00:33:35
de división por cero,
00:33:36
que eso no se puede hacer
00:33:37
porque es una indeterminación,
00:33:38
estos System Out
00:33:39
los debería meter
00:33:40
en un IF,
00:33:41
en el cual verificaría
00:33:42
antes que con pares
00:33:43
es mayor que cero,
00:33:44
porque si no es
00:33:45
mayor que cero,
00:33:46
muestro directamente
00:33:47
no hay pares
00:33:48
o lo que yo quiera,
00:33:49
lo que me diga él,
00:33:50
vale,
00:33:51
vale,
00:33:52
entonces esas cosas,
00:33:53
uno,
00:33:54
bueno,
00:33:55
ya pues puede
00:33:56
a priori
00:33:57
ya darse cuenta
00:33:58
y decir,
00:33:59
uy,
00:34:00
no hay pares,
00:34:01
no hay impares,
00:34:02
bueno,
00:34:03
darse cuenta
00:34:04
y decir,
00:34:05
uy,
00:34:06
estoy haciendo una división,
00:34:07
cuidado con esta división,
00:34:08
que de ir por cero
00:34:09
nunca va a salir,
00:34:10
o puede darse cuenta
00:34:11
luego cuando hace
00:34:12
un conjunto de pruebas
00:34:13
completo,
00:34:14
vale,
00:34:15
pues nada,
00:34:16
opción A,
00:34:17
la suma y la cuenta,
00:34:18
y dentro de un bucle
00:34:19
que en este caso
00:34:20
es más fácil
00:34:21
que hacerlo con un while
00:34:22
hasta que me llegue
00:34:23
un negativo,
00:34:24
me llegue un cero,
00:34:25
porque es que son cinco,
00:34:26
como son cinco,
00:34:27
un foro,
00:34:28
venga,
00:34:29
pues el caso A
00:34:30
ya está,
00:34:31
¿y quién saca esto
00:34:32
a una función
00:34:33
porque le queda
00:34:34
mucho código
00:34:35
dentro del case?,
00:34:36
vale,
00:34:37
que lo saca
00:34:38
a una función
00:34:39
y llama a esa función,
00:34:40
pues fenomenal,
00:34:41
vale,
00:34:42
estaba valorado
00:34:43
cero cinco
00:34:44
lo de funciones
00:34:45
en algún punto
00:34:46
de las calificaciones,
00:34:47
vale,
00:34:48
y el caso B,
00:34:49
que ya sería
00:34:50
el último,
00:34:51
ya acabamos
00:34:52
el ejercicio,
00:34:53
ya descansamos
00:34:54
un momento,
00:34:55
aquí,
00:34:56
solicitamos
00:34:57
dos números enteros,
00:34:58
y ahora
00:34:59
nos dedicamos
00:35:00
a sumar
00:35:01
otra suma acumulativa,
00:35:02
todos los números
00:35:03
inferiores al segundo,
00:35:04
eso lo hemos hecho,
00:35:05
es el ejercicio
00:35:06
de uno más dos
00:35:07
más tres
00:35:08
más n,
00:35:09
es ese ejercicio
00:35:10
clavado,
00:35:11
pero dentro de un if,
00:35:12
solo de todos esos,
00:35:13
solo los que sean
00:35:14
múltiplos,
00:35:15
los que cumplen
00:35:16
una condición,
00:35:17
ser múltiplos
00:35:18
del otro,
00:35:19
pues es lo mismo,
00:35:20
es una suma acumulativa
00:35:21
con un if,
00:35:22
vale,
00:35:23
el mismo ejercicio
00:35:24
de siempre,
00:35:25
pues venga,
00:35:26
vamos a meter
00:35:27
los números,
00:35:28
vamos a leer los números,
00:35:29
aquí hay que leer dos,
00:35:30
introduzca
00:35:31
primer número,
00:35:32
y leemos
00:35:33
el primer numerito,
00:35:34
venga,
00:35:35
vamos a llamarlo
00:35:36
n1,
00:35:37
introduzca
00:35:38
segundo número,
00:35:39
porque eso
00:35:40
me dice
00:35:41
el apartado,
00:35:42
este,
00:35:43
que tengo
00:35:44
que leer
00:35:45
dos números,
00:35:46
vale,
00:35:47
segundo número,
00:35:48
introduzca
00:35:49
tercer número,
00:35:50
introduzca
00:35:51
cuarto número,
00:35:52
introduzca
00:35:53
quinto número,
00:35:54
introduzca
00:35:55
quinto número,
00:35:56
introduzca
00:35:57
cuarto número,
00:35:58
introduzca
00:35:59
segundo número,
00:36:00
vale,
00:36:01
y ahora,
00:36:02
que tenemos que hacer,
00:36:03
pues este ejercicio
00:36:04
era
00:36:05
exactamente
00:36:06
todos los inferiores
00:36:07
al
00:36:08
primero
00:36:09
que sean
00:36:10
múltiplos
00:36:11
al segundo,
00:36:12
vale,
00:36:13
pues este ejercicio
00:36:14
es
00:36:15
n1
00:36:16
es el primero,
00:36:17
pues es
00:36:18
el ejercicio
00:36:19
que hemos hecho
00:36:20
de 1
00:36:21
más 2
00:36:22
más 3
00:36:23
más 4
00:36:24
más n1,
00:36:25
ese mismo,
00:36:26
esa suma acumulativa,
00:36:27
pero repito,
00:36:28
metiendo el if
00:36:29
dentro de esos
00:36:30
1 más 2 más 3,
00:36:31
solo
00:36:32
el que,
00:36:33
ese numerito,
00:36:34
el resto de i
00:36:35
entre n2 y a 0,
00:36:36
vale,
00:36:37
es ese mismo ejercicio,
00:36:38
pues venga,
00:36:39
como es una suma acumulativa,
00:36:40
pues lo mismo,
00:36:41
suma
00:36:42
igual a 0,
00:36:43
y ahora ya
00:36:44
hacemos la suma,
00:36:45
vamos a recorrer
00:36:46
todos los números
00:36:47
inferiores a n1,
00:36:48
para recorrerlos
00:36:49
de nuevo,
00:36:50
o me hago yo
00:36:51
un while
00:36:52
como hacíamos
00:36:53
al principio,
00:36:54
de cada una variable
00:36:55
n
00:36:56
que empiece
00:36:57
con 1
00:36:58
y va incrementándose
00:36:59
hasta llegar
00:37:00
a n1,
00:37:01
vale,
00:37:02
lo hago así,
00:37:03
pero que tontería
00:37:04
si ya el for
00:37:05
lo puedo hacer
00:37:06
todo en una línea
00:37:07
con la variable
00:37:08
de dentro,
00:37:09
que parece
00:37:10
a la medida
00:37:11
de utilidad
00:37:12
sobre todo
00:37:13
del for,
00:37:14
bueno,
00:37:15
pues si lo hago
00:37:16
con un for,
00:37:17
me es mucho
00:37:18
más fácil,
00:37:19
esa variable
00:37:20
empieza valiendo
00:37:21
1
00:37:22
y mientras
00:37:23
esa variable
00:37:24
sea menor
00:37:25
empieza valiendo
00:37:26
1,
00:37:27
2,
00:37:28
3,
00:37:29
así hasta n1,
00:37:30
1,
00:37:31
2,
00:37:32
3,
00:37:33
hasta n1,
00:37:34
¿qué hago con
00:37:35
esa variable?
00:37:36
La podría ir
00:37:37
acumulando en la suma
00:37:38
y ya tendría
00:37:39
el ejercicio
00:37:40
de 1,
00:37:41
2,
00:37:42
3,
00:37:43
más n,
00:37:44
ese es el ejercicio,
00:37:45
pero no tengo
00:37:46
que ir acumulando
00:37:47
en la suma
00:37:48
todos,
00:37:49
si no solo
00:37:50
los que sean
00:37:51
múltiplos
00:37:52
de n2,
00:37:53
vale,
00:37:54
si el ejercicio
00:37:55
entre n2
00:37:56
es igual
00:37:57
a 0,
00:37:58
entonces es
00:37:59
múltiplo,
00:38:00
es múltiplo,
00:38:01
pues lo llevo
00:38:02
a la suma,
00:38:03
vale,
00:38:04
y ya está,
00:38:05
y ahora ya mostraríamos,
00:38:06
la suma es
00:38:07
bla,
00:38:08
bla,
00:38:09
bla,
00:38:10
vale,
00:38:11
otra suma
00:38:12
acumulativa
00:38:13
que suma
00:38:14
los números
00:38:15
entre 1
00:38:16
y n1,
00:38:17
pero solo
00:38:18
los que cumplen
00:38:19
esta condición,
00:38:20
vale,
00:38:21
aquí de nuevo
00:38:22
ya paramos,
00:38:23
uno se podría
00:38:24
hacer pruebas,
00:38:25
primera prueba
00:38:26
que tendría que arreglar,
00:38:27
lo de cuando
00:38:28
lees un número,
00:38:29
cuando,
00:38:30
cuando lees una cadena
00:38:31
después de un número,
00:38:32
que aquí se va a dar,
00:38:33
¿verdad?,
00:38:34
estamos leyendo
00:38:35
numeritos,
00:38:36
y luego el bucle
00:38:37
vuelve arriba,
00:38:38
el do while,
00:38:39
y me vuelve a hacer
00:38:40
un,
00:38:41
un next line aquí,
00:38:42
entonces es el primer
00:38:43
arreglito que había
00:38:44
que hacer,
00:38:45
que habría que hacer,
00:38:46
¿no?,
00:38:47
pero eso,
00:38:48
bueno,
00:38:49
eso nos preocupa menos,
00:38:50
si uno hace pruebas,
00:38:51
también vería
00:38:52
el mismo problema
00:38:53
que hemos dicho antes,
00:38:54
si el segundo número
00:38:55
que yo meto
00:38:56
es el 0,
00:38:57
a la hora de ver
00:38:58
si un número es múltiplo
00:38:59
de 0,
00:39:00
hay que dividir,
00:39:01
me va a volver a dar
00:39:02
la arithmetic exception,
00:39:03
entonces este programa,
00:39:04
si yo el n2
00:39:05
que meto es 0,
00:39:06
me va a dar ese error,
00:39:07
pero bueno,
00:39:08
yo ahí no he,
00:39:09
no me he metido,
00:39:10
ni he esperado
00:39:11
que lo verificáreis,
00:39:12
ni lo esperamos,
00:39:13
ni nada,
00:39:14
asumimos que mete
00:39:15
dos números enteros,
00:39:16
de hecho,
00:39:17
puede que el enunciado
00:39:18
dijera que le podíamos
00:39:19
dar por sentado
00:39:20
que,
00:39:21
que asumimos
00:39:22
que son positivos,
00:39:23
sí,
00:39:24
vale,
00:39:25
el 0 no es positivo,
00:39:26
con lo cual no puede
00:39:27
meter el 0,
00:39:28
y ya está,
00:39:29
vale,
00:39:30
pues venga,
00:39:31
este segundo ya está,
00:39:32
vale,
00:39:33
nos faltaría arreglarlo,
00:39:34
porque si yo ejecuto esto,
00:39:35
efectivamente,
00:39:36
después de leer un número,
00:39:37
no me va a dejar leer
00:39:38
la opción,
00:39:39
porque se va a ver quedado,
00:39:40
o sea,
00:39:41
me muestra el menú
00:39:42
por primera vez,
00:39:43
vamos a ver,
00:39:44
la media,
00:39:45
me pide los 5 números,
00:39:46
2,
00:39:47
3,
00:39:48
4,
00:39:49
5 y 6,
00:39:50
vale,
00:39:51
la media de los pares es 4,
00:39:52
la de los impares es 4,
00:39:53
vale,
00:39:54
habría que,
00:39:55
y ahora,
00:39:56
efectivamente,
00:39:57
me muestra el menú,
00:39:58
y no se ha quedado
00:39:59
a la espera de la opción,
00:40:00
no se ha quedado,
00:40:01
pero esto ya lo podíamos
00:40:02
prever,
00:40:03
porque me ha leído
00:40:04
un número,
00:40:05
y luego le hago un next line,
00:40:06
entonces se chupa
00:40:07
el salto de línea
00:40:08
del next line,
00:40:09
vale,
00:40:10
pero es que aquí
00:40:11
lo que tenemos que hacer
00:40:12
entonces es cuidadín,
00:40:13
después de acabar
00:40:14
cada una de estas opciones,
00:40:15
poner el next line,
00:40:16
vale,
00:40:17
vale,
00:40:18
vamos a parar aquí
00:40:19
antes de que,
00:40:20
para descansar un poquito,
00:40:23
y luego,
00:40:25
corregimos el otro,
00:40:27
y no he mirado
00:40:29
a ver si se ha callado
00:40:30
o no se ha callado
00:40:31
el micrófono,
00:40:32
bueno,
00:40:33
parece que se está moviendo.
00:40:34
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 7
- Fecha:
- 13 de noviembre de 2023 - 12:09
- Visibilidad:
- Público
- Centro:
- IES ROSA CHACEL
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 773.23 MBytes