Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Clase 10-11-23 - 1 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 13 de noviembre de 2023 por Raquel G.

7 visualizaciones

Descargar la transcripción

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
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
sumar múltiplos. 00:19:41
Y esta, 00:19:58
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
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
¿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
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
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 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
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
y mientras 00:37:23
esa variable 00:37:24
sea menor 00:37:25
empieza valiendo 00:37:26
así hasta n1, 00:37:30
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
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
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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid