20241015 ResolExam14oct_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:
vale, pues la primera parte ya decimos que esta ya la hacemos tal cual
00:00:00
ya ni pensamos, que nuestro dato de entrada es un número entero
00:00:05
pues me hago el objeto para leer por teclado, declaro una variable
00:00:09
de tipo compatible a lo que voy a leer, número n
00:00:13
bueno, n
00:00:17
una variable un poco fea, pero bueno, y la leo, pues ya está
00:00:19
vale, pues esta parte ya no nos exige pensar demasiado
00:00:25
no se exige pensar demasiado
00:00:42
si quiero que me quede más cortito
00:00:44
pues ya a lo mejor se la declaro
00:00:47
aquí me queda un poquito más cortito el código
00:00:49
pero vamos
00:00:51
estos son detalles ahora mismo
00:00:53
sin mayor importancia
00:00:55
vale, ahora ya es cuando pensamos ya un poco más
00:00:56
en la estructura de mi aplicación
00:00:59
para plantar esa estructura
00:01:01
e irla luego perfilando, ir luego ya metiendo los detalles
00:01:03
vale, pues
00:01:05
este
00:01:07
este ejercicio decía
00:01:07
el programa tiene que escribir un mensaje por pantalla
00:01:10
pero ese mensaje tiene dos posibilidades
00:01:15
ese mensaje es
00:01:18
o bien la letra correspondiente
00:01:19
a este numerito N
00:01:22
según la tablástica que acompañaba aquí
00:01:24
o bien no es una letra
00:01:26
entonces el resultado
00:01:30
el resultado es un string
00:01:32
un string
00:01:35
¿vale? pero este string
00:01:36
tiene dos opciones
00:01:38
Y esas dos opciones dependen de qué. Vamos a ver el enunciado para ver la tabla hastia. Tengo internet.
00:01:39
Sí, pero es para proyectar la tabla hastia ahí. Sí, está aquí. Vale.
00:01:59
Entonces tenemos dos opciones. Que el carácter se corresponda a una letra, tanto mayúscula como minúscula, o que no.
00:02:09
luego esta variable resultado
00:02:16
va a ser
00:02:19
o bien
00:02:21
va a ser
00:02:23
tenemos dos posibilidades
00:02:25
o esta variable resultado es
00:02:27
el carácter
00:02:29
es
00:02:33
y aquí
00:02:34
luego habría que ver en las pruebas si no funciona o no
00:02:36
concatenamos directamente
00:02:38
con lo que me han metido
00:02:41
concatenamos directamente con lo que me han metido
00:02:42
o bien
00:02:45
tengo estas dos opciones
00:02:47
tengo dos posibles salidas
00:02:56
o result es esto o result es lo de abajo
00:02:59
entonces tiene que haber
00:03:01
una condición, como siempre, tiene que haber
00:03:03
una condición que me diga, oye result ¿qué es?
00:03:05
¿esto de arriba
00:03:09
o esto de abajo?
00:03:09
pues depende, ¿de qué va a depender?
00:03:11
de si el numerito entero
00:03:14
que me han dado se corresponde
00:03:15
con una letra
00:03:18
o no, vale
00:03:18
pero el concepto de corresponderse
00:03:21
con una letra, ahora tenemos que
00:03:23
traducirlo a una condición, como nosotros
00:03:25
conocemos, vale, pues corresponderse
00:03:27
con letra mayúscula
00:03:30
es muy fácil, que el numerito n sea
00:03:31
mayor o igual que 65
00:03:33
y menor o igual que 90
00:03:35
y corresponderse
00:03:38
con una letra minúscula es
00:03:39
que sea mayor o igual que 97
00:03:41
y que sea menor o igual que
00:03:43
122, porque dijimos que letras con tilde
00:03:45
y eso no nos contaban
00:03:47
bueno, pues entonces ya hemos dicho
00:03:48
con palabras la condición que estamos buscando
00:03:51
Que la letra sea mayor o igual que 65, el número entero, perdón, o menor o igual que 90, o, perdón, sí, y menor o igual que 90, o que sea mayor o igual que 97 y menor o igual que 122.
00:03:53
Ya está, ya tenemos la condición, pues ya tenemos el programa hecho.
00:04:09
Entonces, result va a depender, o bien result es esto, o bien result es lo otro, dependiendo de qué.
00:04:12
De esa condición que acabo de decir
00:04:27
Entonces yo podría plantar aquí
00:04:29
Esa condición que he dicho directamente
00:04:32
Y el programa ya se ha terminado y el ejercicio está terminado
00:04:33
¿Vale?
00:04:35
Pero bueno, para que no se me quede la línea tan larguísima
00:04:37
Voy a poner la condición aparte en un boolean
00:04:40
Solamente para que no me quede la
00:04:42
Condición tan larga y se vea bien
00:04:43
La condición desletra la acabo de decir
00:04:45
O que n sea mayor o igual
00:04:49
Que
00:04:52
65 y menor o igual
00:04:52
Que 90
00:04:58
Y n sea menor o igual que 90
00:04:59
Si cumple esto, mayor o igual que esto
00:05:08
Y simultáneamente, menor o igual que 90
00:05:11
Va a ser una letra mayúscula
00:05:14
Pero también vale si es minúscula
00:05:15
Luego, o esto, o
00:05:19
Y me falta el o
00:05:22
O que n sea el intervalo correspondiente a la minúscula
00:05:24
Vale, y el intervalo correspondiente a la minúscula es 97, 122.
00:05:36
97, 122.
00:05:47
Vale, pues la condición de ser letra ya está.
00:05:51
La condición de ser letra es esta.
00:05:53
Que el número n que me han metido esté comprendido en ese intervalo.
00:05:56
Vale, pues la condición de ser letra es la que me marca cómo es mi resultado.
00:06:00
si es el carácter es y la letra concatenada
00:06:07
o no es una letra
00:06:10
aquí tendríamos ya una
00:06:12
primera versión
00:06:15
entonces ahora uno hace una prueba
00:06:17
a ver si le ha olvidado algo, si esto funciona o no funciona
00:06:19
pero en principio ya estaría terminado
00:06:21
vamos a probarlo
00:06:22
vamos a probarlo
00:06:25
yo estoy reproduciendo
00:06:28
lo que vosotros
00:06:30
pues en principio
00:06:31
el proceso mental vuestro en un examen
00:06:32
el deseable
00:06:35
¿Vale? Entonces ahora
00:06:35
Uno hace una primera prueba de esto
00:06:38
A ver si lo ha tenido todo en cuenta
00:06:39
Y está todo bien
00:06:42
Entonces ejecuta esto
00:06:43
Y introduzca número
00:06:45
Vamos a meterle una letra
00:06:49
Una letra, entonces le vamos a meter el 110
00:06:51
Que sería la N minúscula
00:06:54
La N minúscula
00:06:56
110
00:06:59
¿Vale?
00:07:00
Ay, que no he puesto el system out
00:07:03
¿Vale? Primera cosa
00:07:04
De la que uno se da cuenta cuando hace las pruebas
00:07:05
Hombre, si no muestro el resultado, complicado
00:07:07
Claro, podríamos meter esto en el system.out
00:07:09
Directamente y ya el programa nos queda
00:07:12
De una línea, o sea, si no hacemos
00:07:14
Una condición aparte y encima metemos esto del system.out
00:07:15
Este ejercicio era una línea de código
00:07:18
Muy larga, eso sí, muy larga, pero una línea
00:07:20
Vale
00:07:22
Vale, volvemos a ejecutar
00:07:24
Volvemos a meterle 110
00:07:31
Y nos dice
00:07:32
Uy, mi programa está casi bien
00:07:34
Pero no está bien del todo, porque me tenía que haber sacado
00:07:36
N minúscula, no pasa nada
00:07:38
Nos vamos, aquí decimos
00:07:40
Vale, nosotros hemos dicho siempre
00:07:42
Que
00:07:45
Los caracteres
00:07:46
Y los números enteros
00:07:50
Son perfectamente intercambiables
00:07:51
Según la tabla ASCII
00:07:53
Entonces según esto
00:07:54
Uno podría pensar
00:07:56
A ver, ojo, estoy concatenando
00:07:57
Estoy concatenando
00:08:00
Con lo cual esto debería convertirlo
00:08:02
Al char que representa
00:08:05
Cuidado, porque acordaos
00:08:07
que eso depende de cómo esté declarada
00:08:09
depende, está declarada
00:08:11
como int, porque hemos dicho que se lee
00:08:13
un número entero, si está
00:08:15
declarada como int
00:08:17
a la hora de el operador más
00:08:18
convertirlo a cadena
00:08:21
lo va a convertir en la cadena del numerito
00:08:22
que representa, que en este caso es 110
00:08:25
¿vale?
00:08:26
pero si estuviera declarada como char
00:08:29
entonces no
00:08:31
aunque yo a ese char le hubiera metido
00:08:32
el 110
00:08:35
¿vale?
00:08:35
Imaginaos que yo hago esto, ¿vale?
00:08:39
O hago esto otro, ¿vale?
00:08:42
Entonces, yo aquí, si concateno con N, me va a salir 110.
00:08:51
Pero si concateno con C, me va a salir el char correspondiente a 110.
00:09:00
¿Por qué? Porque está declarada como char.
00:09:05
¿Vale? Esto ya lo vimos en un par de ejercicios.
00:09:08
entonces, cuidado cuando
00:09:10
lo de que los char y los int
00:09:13
son intercambiables según la tabla
00:09:15
ASTI
00:09:17
es así, porque de hecho
00:09:17
a esta variable char
00:09:20
yo le he dado el 110
00:09:23
y cuando luego la muestro aquí me va a mostrar
00:09:24
la n minúscula o la que sea
00:09:27
pero claro, porque está declarada como char
00:09:28
porque está declarada como char
00:09:31
esta está declarada como entero
00:09:33
está declarada como entero
00:09:35
entonces va a trabajar como entero
00:09:36
A menos que le hagamos el famoso casting a char
00:09:39
¿Vale?
00:09:42
Entonces una vez que uno hace esta prueba
00:09:43
Ya dice, ah espera que me sigue faltando el detallito
00:09:45
¿Qué detallito me faltaba?
00:09:47
Cuidado, me faltaba este detalle
00:09:49
¿Vale?
00:09:51
Entonces ahora ejecutamos esto
00:10:04
Le ponemos 110
00:10:07
Y el carácter es n minúscula
00:10:10
Que le ponemos uno que está afuera
00:10:11
200 creo que está afuera, ¿no?
00:10:14
No es una letra
00:10:16
Pues ya está
00:10:17
este era este ejercicio
00:10:21
leer el número
00:10:22
entonces la dificultad
00:10:24
de este ejercicio
00:10:25
era establecer esta condición
00:10:25
pero bueno
00:10:27
tenéis la tabla ASTI
00:10:28
para establecer esa condición
00:10:29
de ser letra o no ser letra
00:10:31
y luego
00:10:32
pues darse cuenta
00:10:33
de que tengo dos posibilidades
00:10:36
que dependen de una condición
00:10:37
y a la hora de mostrar el carácter
00:10:39
si lo mostráis tal cual
00:10:42
como está declarado como entero
00:10:44
va a mostrar el número entero
00:10:45
no queréis mostrarlo como entero
00:10:46
sino como char
00:10:49
pues entonces toca hacer el casting
00:10:50
vale, bueno, hicimos un ejercicio
00:10:51
o dos que más o menos hacían esto
00:10:55
pero eran más complicados, era una versión
00:10:57
más complicada, este era una versión
00:10:59
sencilla, de eso que habíamos
00:11:01
hecho en clase
00:11:03
vale, bueno, pues este primero
00:11:04
está, entonces
00:11:07
esto se puede hacer con un if else
00:11:11
claro, pero en este decía que
00:11:12
no usaréis un if else, con lo cual
00:11:15
con esto, que lo hemos usado hasta aburrirnos
00:11:17
lo hemos usado un montón de veces
00:11:19
eso me asustó
00:11:20
eso también cuenta como condicional
00:11:23
no, no, no, por eso especificé
00:11:25
sentencias if else
00:11:27
o if else if y switch case
00:11:29
me asusté un poco
00:11:31
es que si no, no se puede, o sea, si un programa tiene
00:11:32
varias posibilidades y no puedes usar
00:11:35
le pedí a chat
00:11:37
que vete en mi casa
00:11:39
que hiciese sin condicional
00:11:40
el 10 o ni nada
00:11:43
y me hizo una palafada
00:11:44
inmensa para que
00:11:47
restase el resultado que no es
00:11:48
el correcto al número
00:11:50
no sé
00:11:52
a ver, es que hay casos
00:11:53
si tú haciendo una operación matemática
00:12:01
puedes, o sea, poniendo aquí
00:12:02
el carácter es, y aquí
00:12:05
con patenas, con una operación matemática
00:12:06
que, pero
00:12:09
es que no, ni siquiera se me ocurre cómo
00:12:10
habría que ver qué te ha dicho, pero se me hace muy raro
00:12:12
sí, me dice la cosa muy extraña
00:12:15
Sí, no lo sé. Se me hace muy raro porque
00:12:16
en algún momento vas a tener que tomar una decisión.
00:12:18
Pero bueno, no lo sé. No sé
00:12:20
qué haría. Vale, pues este está.
00:12:21
Cuidado.
00:12:26
A ver, que yo misma lo hago
00:12:27
mucho porque necesito saber
00:12:28
en qué mundo estamos.
00:12:30
Pero cuidado con las consultas a ChatGPT,
00:12:32
a Gemini, porque ya sabéis
00:12:34
que...
00:12:36
Eso fue un poco para quitarme curiosidad.
00:12:38
Claro, o sea, no, por favor, no dejéis
00:12:40
vuestra educación en sus manos.
00:12:42
Porque llegan hasta donde llegan.
00:12:44
vale, eso no significa que no sea
00:12:46
una ayuda interesante, claro
00:12:49
venga, ejercicio 2
00:12:50
entrada, dos numeritos
00:12:53
enteros y un char
00:12:55
vale, eso sabemos hacerlo, sabemos leerlo, se acabó
00:12:57
ahora, damos por sentado
00:12:59
que op solo va a tomar, el char este
00:13:01
va a tomar estos valores, y ahora
00:13:03
tres apartaditos
00:13:05
hacer la suma, la resta
00:13:06
la multiplicación o la división
00:13:09
de n1 y n2, dependiendo
00:13:11
del operador op, eso
00:13:13
Pues clama al cielo un switch case
00:13:15
Con ese carácter y hacer la operación
00:13:17
Y se acabó, no hay más que hacer
00:13:19
Si n1 es múltiplo de n2
00:13:20
Eso lo hemos hecho
00:13:23
Incluso en las dos posibilidades
00:13:24
Y escribirlos también
00:13:28
O sea, esto lo hemos hecho en clase
00:13:29
Todo esto
00:13:31
En versión más complicada que esta
00:13:33
En este caso se traduciría a
00:13:35
Vale, pues entonces
00:13:37
Leer por teclado
00:13:51
Esto, pero con otro numerito más
00:13:53
Y un char
00:13:59
Perdón
00:13:59
Hombre, a ver, es un comentario
00:14:04
Hombre, es que no pinta nada
00:14:09
Los comentarios, la idea es que
00:14:12
Te ayuden
00:14:14
Pero un todo el código aquí
00:14:16
No te ayuda nada ese comentario
00:14:17
Venga, pues el numerito en E1
00:14:19
Vamos a leer el numerito 2
00:14:21
Y vamos a leer un char
00:14:25
Le vamos a poner el mensajito
00:14:36
Que introduzca
00:14:42
O más
00:14:43
o menos
00:14:48
o por
00:14:50
o
00:14:53
o
00:14:55
división
00:14:57
vale
00:14:59
y ahora ya esto es un char
00:15:00
como hemos leído char nosotros
00:15:03
otras veces no hay un next char
00:15:05
en realidad
00:15:07
pero como lo hacíamos
00:15:08
pues hacemos el next line
00:15:17
que sirve para leer todo
00:15:19
cualquier cosa que tú le metas hasta el salto de línea
00:15:20
la traga cualquier cosa
00:15:23
Y ahora ya, como sabemos que solo va a haber metido
00:15:24
Un único char, que es solo lo que nos interesa
00:15:28
Pues nos quedamos con el carácter en la primera posición
00:15:31
Y ya está
00:15:33
¿Vale? Eso es como lo hemos leído otras veces
00:15:34
Leo todo lo que me metas
00:15:37
Y me quedo con el carácter en la primera posición
00:15:40
Que esto ya sí que es un char
00:15:42
¿Vale? Pues ya tenemos los datos de entrada
00:15:43
Y ahora
00:15:47
Hacemos los tres apartados
00:15:48
Por libres
00:15:51
esto, pues esto el resultado es
00:15:52
o n1 más n2 o n1 menos n2
00:15:56
o n1 por n2 o n1 entre n2
00:15:58
hay que hacer una de esas cuatro cosas
00:16:00
vale, cuatro ramas
00:16:03
tiene mi aplicación
00:16:04
¿de qué dependen esas cuatro ramas?
00:16:05
del valor de una variable
00:16:08
claro, cuando identificamos la situación
00:16:09
que mi programa hace varias cosas
00:16:12
dependiendo del valor de una variable
00:16:14
ahí como programadores
00:16:16
elegantes ponemos un switch case
00:16:18
pues venga
00:16:20
en función del valor de mi char
00:16:21
que mi char
00:16:24
resulta que es
00:16:27
el char
00:16:28
más
00:16:30
¿vale? recordad que los char
00:16:31
se indican con comillas simples, no dobles
00:16:34
¿vale?
00:16:37
que mi char
00:16:40
es el char más
00:16:41
aquí si uno pone comillas
00:16:42
dobles
00:16:45
no le va a valer porque op está declarado
00:16:45
como char
00:16:51
entonces char no puede ser igual a un string
00:16:51
son tipos de datos distintos
00:16:54
son tipos de datos distintos
00:16:56
esto ya sí que es un
00:16:57
char
00:16:59
si alguno aquí quería ponerlo con doble comilla
00:17:00
luego lo único es que tiene que convertir
00:17:04
op a string
00:17:06
pero ya sabemos que concatenándolo con una cadena vacía
00:17:07
ya estaría con string
00:17:10
claro en ese caso
00:17:11
pues podrías haber convertido esto a string
00:17:17
y ya está, que aquí yo creo que no te deja
00:17:19
Directamente
00:17:21
O si te deja directamente
00:17:22
Si mira
00:17:25
Entonces
00:17:29
Al poner esto en doble comillas
00:17:31
Lo que hay aquí tiene que ser un string
00:17:33
No hay tutía
00:17:35
Entonces si tú al char ople concatenas con algo
00:17:36
Ya sabéis que eso automáticamente fuerza la conversión a string
00:17:38
Pero vamos
00:17:41
Que era mucho más sencillo
00:17:42
Pues como char es un carácter
00:17:44
Así
00:17:47
Vale, en el caso de que sea más
00:17:47
Pues ya sabemos
00:17:50
N1 más N2
00:17:51
Y break para no sacar todo lo demás
00:17:56
Y ya está
00:18:00
Y así todo
00:18:02
Más menos por
00:18:04
Y división
00:18:23
N1 menos N2
00:18:29
n1 por n2
00:18:33
y n1 entre n2, que en este caso va a ser
00:18:36
el cociente entero, porque como son
00:18:38
números enteros, vale, como no
00:18:40
en el enunciado decía
00:18:42
que partamos de que va a ser el operador
00:18:43
solo uno de estos, pues no hace falta
00:18:46
ni poner un default, pero vamos, que uno podría
00:18:48
poner un default si quiere
00:18:50
y poner el operador, no es correcto y ya está
00:18:51
pero no tenemos
00:18:54
ni que contemplar ese caso, porque nos han dicho
00:18:56
que lo va a meter bien siempre
00:18:58
no
00:18:59
Esto es como fregar la vajilla dos veces
00:19:02
Con una es suficiente
00:19:06
Vale, pero obviamente
00:19:07
Entre haber elegido un switch
00:19:13
Y haber elegido un if, el save
00:19:15
Hay más nota con un switch
00:19:17
Claro, porque
00:19:19
De alguna
00:19:22
No, por eso no suspendes el ejercicio
00:19:23
Ni de lejos
00:19:27
Pero se puntúa más si has elegido la estructura
00:19:28
Adecuada
00:19:31
si, y si funciona
00:19:33
no se puntúa mal, pero el 10
00:19:42
es si tú además has elegido un switch case
00:19:44
porque has identificado que
00:19:47
un programa con varias ramas
00:19:48
que dependen de una variable, eso es lo que
00:19:50
no, no, yo dije que ahí podíais usar
00:19:52
la que quisierais, pero vamos
00:20:00
Lo hice precisamente pensando que tú ibas a puntuar más
00:20:02
si no usábamos sentencias condicionales.
00:20:05
Bueno, no pasa nada.
00:20:07
De todas formas, no dices que también lo tienes ya mal por el...
00:20:09
Tampoco puedo adivinar lo que piensas que tienes que usar.
00:20:12
Sí, pero sí que hemos dicho varias veces,
00:20:16
y si no, pues seguimos insistiendo en ello ahora,
00:20:19
que hay diferentes formas de hacer un programa
00:20:21
y que tenemos que intentar acostumbrarnos a hacer códigos
00:20:23
que sean lo más legibles posibles,
00:20:25
Que se adapten mejor a las pautas de programación generales.
00:20:27
Las pautas del examen, los ejercicios anteriores.
00:20:32
Ya, ya, ya. Sí, sí, sí.
00:20:35
¿Sabes lo que te quiero decir?
00:20:36
Sí, no, sí te entiendo. Sí, sí, sí, tiene sentido.
00:20:37
Vale, a ver, entonces, ya está, el apartado este ya está.
00:20:41
Apartado 1 ya está, apartado 2.
00:20:48
El apartado 2 decía, decir sin eno es múltiplo de eno 2.
00:20:57
Aquí estamos otra vez con que no podemos usar
00:21:01
Sentencias condicionales
00:21:03
Pues aquí es que esto lo hemos hecho mil veces
00:21:05
Sabemos que el resultado
00:21:07
Tenemos dos posibilidades
00:21:09
¿Es múltiplo o no?
00:21:11
Esto nos hemos hartado
00:21:14
De hacerlo al principio antes de ver los if
00:21:15
El tropecientan mil veces
00:21:17
¿Es múltiplo o
00:21:18
No es múltiplo?
00:21:21
Vale, ¿de qué depende?
00:21:27
Que yo muestre una cosa o muestre la otra
00:21:28
De si n1 es múltiplo de n2 o no
00:21:29
Luego la condición, si n1
00:21:32
el resto de dividirlo entre n2
00:21:34
es igual a 0
00:21:36
o no lo es
00:21:37
de eso va a depender
00:21:38
bueno pues ya está
00:21:40
el apartado 2 se acabó
00:21:44
apartado 3
00:21:46
vale el apartado 3
00:21:51
algo similar
00:21:55
ordenados de menor a mayor
00:21:56
aquí solo tenemos dos números
00:21:59
con lo cual yo muestro
00:22:01
o n1 concatenado con n2
00:22:03
o n2 concatenado con n1
00:22:05
luego otra vez lo mismo
00:22:07
Mi resultado es
00:22:08
Hacer un system out con
00:22:09
O un mensaje o con otro
00:22:11
O con N1 concatenado con N2
00:22:13
O con N2 concatenado con N1
00:22:15
¿De qué va a depender que yo muestre un mensaje o el otro?
00:22:17
¿De si N1 es mayor que N2 o no?
00:22:19
Pues el apartado de abajo es idéntico
00:22:21
Que el de arriba pero cambiando la condición
00:22:24
Y los mensajes de salida, claro
00:22:26
El apartado 3 es lo mismo en realidad
00:22:27
Es
00:22:30
N1 es mayor
00:22:32
Que N2
00:22:35
Pues entonces lo que yo tengo que mostrar
00:22:38
Es
00:22:42
Primero n2 que es el más pequeño
00:22:42
Y luego n1
00:22:48
Intercalando esto por medio
00:22:49
Claro porque si no me haría la suma de los números enteros
00:22:52
Me haría la suma intercalando esto por medio
00:22:55
Claro
00:22:57
Que no, pues al revés
00:22:57
Esto mismo pero al revés
00:23:00
Porque entonces es n1 el más pequeño
00:23:02
Y si son iguales
00:23:04
Los va a mostrar los dos
00:23:12
Uno detrás de otro
00:23:14
Si son iguales se va a ir aquí
00:23:14
Pero es que me lo va a hacer bien
00:23:16
Porque 3, 3 va a estar ordenado
00:23:18
Vale, pues ya está
00:23:20
El apartado 3 ya está
00:23:23
Es lo mismo las dos veces
00:23:25
Tengo dos posibilidades
00:23:26
Dependen de una condición
00:23:28
Tengo dos posibilidades
00:23:29
Dependen de una condición
00:23:30
Probamos porque podemos haber hecho
00:23:31
Cualquier cosa mal
00:23:34
Introduzca número 1
00:23:36
65
00:23:41
Número 2
00:23:41
78
00:23:44
¿Ves? Algo mal hemos hecho
00:23:44
Algo mal hemos hecho
00:23:46
Porque
00:23:48
ahora es cuando
00:23:49
el string in this bound exception
00:23:53
ya nos suena que
00:23:54
¿por qué no salía eso?
00:23:56
¿cuándo nos ha salido esto? ¿por qué no salía?
00:23:59
porque no estaba esperando
00:24:02
no
00:24:03
eso cuando no estaba esperando
00:24:05
salía el input mismatch exception
00:24:07
esto no salía cuando después
00:24:08
de un número le hacíamos un next line
00:24:11
y entonces el next in
00:24:13
se quedaba con el salto de línea
00:24:15
claro, entonces aquí se me ha olvidado
00:24:16
para limpiar
00:24:19
esto, entonces estas cosas
00:24:21
pues uno se da
00:24:23
cuenta si lo prueba, a ver esto no es
00:24:24
un error de programación
00:24:27
grave ni nada, ni que penalice
00:24:29
especialmente ni nada, que bueno
00:24:31
vale
00:24:33
entonces lo volvemos a ejecutar
00:24:35
45
00:24:37
56
00:24:39
vamos a restar
00:24:40
menos 11
00:24:43
45 no es múltiplo de 56
00:24:45
Y de menor a mayor son esos
00:24:48
Vale, vamos a hacer uno al revés
00:24:50
Que sea múltiplo
00:24:52
Porque si uno tiene tiempo
00:24:53
Mejor hacer, hombre, los tres pruebas
00:24:55
Vale, vamos a poner
00:24:57
El 8 y el 4
00:24:59
Y vamos a hacer la multiplicación
00:25:07
Vale
00:25:11
El primero si es múltiplo del segundo
00:25:12
Y en orden de menor a mayor es 48
00:25:15
Bueno, pues ya está, el programa ya está hecho
00:25:18
Ya está
00:25:20
¿Vale? Un switch case
00:25:22
Entonces son más fáciles que los que hemos hecho en clase
00:25:23
Reconocedlo, son ejercicios más fáciles
00:25:27
Venga
00:25:29
Este ya está
00:25:31
Ejercicio 3
00:25:33
Leer una palabra, es decir, leer una línea
00:25:35
Next line
00:25:37
Y ahora ya, ya con if, con lo que nos dé la gana
00:25:38
Aquí ya tenemos libertad de hacer esto
00:25:42
Venga, pues vamos a leer la palabrita
00:25:44
Ejercicio 3
00:25:47
Pues venga, ejercicio 3
00:25:49
Esto
00:26:03
Introduzca
00:26:06
Palabra
00:26:25
Vale
00:26:29
Una palabra puede ser cualquier cosa
00:26:30
Pues lo leemos con nextline
00:26:33
Y con nextline lo que obtenemos es un string
00:26:34
Pues lo guardamos aquí
00:26:36
¡Hala! Ya tenemos la palabra
00:26:38
Ahora
00:26:47
Hay que hacer
00:26:48
Tres cositas
00:26:50
Primera, decir si es palíndroma
00:26:51
O no
00:26:55
Entonces, la primera
00:26:55
Apartado 1
00:26:57
Esto lo podríamos hacer también con el operador condicional
00:26:59
Si queremos, pero vamos a hacerlo
00:27:04
Con el if, para variar
00:27:06
Aquí el resultado es
00:27:07
O mostrar es palíndroma, o mostrar no lo es
00:27:09
¿De qué va a depender?
00:27:12
De si el primer char
00:27:14
Y
00:27:16
Y el
00:27:17
otros son iguales
00:27:19
¿vale? entonces aquí podríamos
00:27:21
hacer, o sea estoy haciendo el programa
00:27:23
como estoy haciendo el examen ahora mismo, estoy leyendo el enunciado
00:27:25
lo voy haciendo
00:27:27
¿vale? pues venga
00:27:28
si palabra.char
00:27:31
at
00:27:34
0, resulta que
00:27:35
este char es igual, y aquí sí que comparo con
00:27:37
doble igual, pues estoy hablando de char
00:27:39
los char son variables primitivas, se comparan con doble igual
00:27:40
solo los string se comparan
00:27:43
con igual
00:27:45
es igual
00:27:45
a la posición 3
00:27:48
entonces
00:27:55
yo puedo mostrar
00:27:57
vale
00:27:59
que no
00:28:06
pues lo mismo pero no
00:28:09
vale, entonces yo sigo leyendo
00:28:11
estoy aquí en mi examen un poco
00:28:24
bloqueado y digo
00:28:26
si la palabra es de 4 la escribo al revés
00:28:28
digo uy espera, espera, espera
00:28:30
tengo que retocar esto, me he puesto a hacer esto
00:28:32
a capón, espera
00:28:35
lo de arriba lo tengo que hacer en el caso
00:28:37
de que sea de tres letras
00:28:39
en el caso de que sea de cuatro este
00:28:40
y en cualquier otro caso estoy aquí
00:28:42
cuidado, aquí tengo un if, el seif
00:28:45
claro
00:28:46
claro
00:28:48
si es de tres hay un if dentro de ese
00:28:49
sí, bueno, claro, sí, sí
00:28:56
o sea, tengo un if, el seif y luego en cada caso
00:28:58
ya lo que sea
00:29:00
pero claro, digo, espera, espera
00:29:01
entonces ahí viene lo que a veces
00:29:03
a uno le ocurre que no ha leído bien el enunciado
00:29:06
no lo ha leído al completo
00:29:08
entonces cuando aquí uno lo lee al completo
00:29:09
y lo entiende bien, dice, ah, espérate
00:29:12
es que aquí tengo una primera estructura, que es
00:29:13
¿en qué caso estoy? ¿en 3, en 4
00:29:15
o en este? ¿en qué caso estoy?
00:29:18
tengo tres posibilidades
00:29:20
voy a hacer un if, el save, porque esas posibilidades
00:29:21
dependen del valor de una variable, no
00:29:24
si cada una de estas tres posibilidades
00:29:25
dependieran del valor de una variable
00:29:28
haría un switch case, pero no
00:29:30
dependen de una condición que es
00:29:32
que la longitud sea de 3 o que sea de 4
00:29:34
o que no, entonces esa condición
00:29:36
no es el valor de una variable, es otra, entonces aquí
00:29:38
lo que pega es un if, el save
00:29:40
¿vale? entonces digo, a ver
00:29:41
ojo, no vale empezar a
00:29:43
resolver tal cual
00:29:46
siempre uno se lee el enunciado completo
00:29:47
completo
00:29:50
y entiende bien
00:29:51
la estructura del programa
00:29:53
¿vale? entonces digo, ah, vale, vale, vale, yo me he puesto aquí
00:29:55
a programar lo bestia y no, esto va a ir
00:29:58
dentro de un if, el save, no, esta estructura no es
00:30:00
¿vale? yo aquí
00:30:02
Podía haber seguido como a piñón fijo
00:30:04
Con el primer ejercicio
00:30:05
Porque el primero eran cosas independientes
00:30:06
Eran cosas que iban en secuencia
00:30:08
Por eso las he puesto así
00:30:09
Porque eran cosas que iban en secuencia
00:30:11
Pero este no, este no va en secuencia
00:30:12
Entonces si ya me he puesto en piloto automático
00:30:15
Y sigo programando así
00:30:16
Entonces esto no va en secuencia
00:30:17
¿Qué pasa?
00:30:20
Que está lloviendo
00:30:27
Pero no veo la lluvia
00:30:28
Ah, sí, la veo ahí
00:30:31
Sobre la... vale, vale
00:30:33
Entonces aquí vamos a tener
00:30:34
esto
00:30:37
vale, mi programa va a ser esto
00:30:38
en realidad, si tiene tres letras
00:30:50
bla bla bla
00:30:52
si tiene cuatro
00:30:53
bla bla bla
00:30:55
y si no tiene ni tres ni cuatro, bla bla bla
00:30:57
este va a ser mi programa, ahora sí
00:30:59
este es mi programa al completo
00:31:01
vale, entonces voy a poner las condiciones
00:31:03
si la longitud de la palabra
00:31:06
resulta que es igual a tres
00:31:10
Entonces lo que toque
00:31:14
Si no es igual a 3
00:31:16
Pero es igual a 4
00:31:18
Entonces lo que toque
00:31:21
Y si no, lo que toque
00:31:24
Que lo que toque esta parte
00:31:26
La más fácil la puedo incorporar desde ya
00:31:27
Que es palabra no válida
00:31:30
Esta parte es la más fácil
00:31:31
A ver, estoy haciendo la estructura de mi programa
00:31:33
Luego lo voy rellenando, claro
00:31:40
Lo que intento
00:31:42
Tramitaros en otra vez es que no programéis de arriba a abajo
00:31:44
No programéis en secuencia
00:31:47
Porque eso te va a confundir
00:31:48
Y lo normal es que llegues a soluciones
00:31:51
Que no son válidas o que tienes luego que empezar a retocar
00:31:53
Vale, pues ahora ya sigo
00:31:55
Venga, este caso lo tengo resuelto
00:31:57
Uy, sí, sí, ya lo había hecho antes
00:31:59
Es esto, pues nada
00:32:00
Todo esto
00:32:02
Lo meto aquí dentro
00:32:04
Ala, ya está, si es 3
00:32:05
Miro a ver si es palindromano
00:32:11
Si es 4
00:32:14
Si es 4, ¿qué había que hacer?
00:32:16
Escribirlas al revés
00:32:17
Pues escribirlas al revés
00:32:21
Efectivamente es esto
00:32:23
Vale, ya terminamos
00:32:25
Escribir primero la posición 3
00:32:27
A 2, a 1 y a 0
00:32:29
Entonces aquí tendremos que hacer
00:32:30
Lo voy a construir arriba
00:32:34
Para que se vea mejor el string
00:32:37
Porque si no se va la línea demasiado a la derecha
00:32:39
Y será
00:32:44
Palabra.charat3
00:32:46
Más
00:32:51
Y lo paso abajo
00:32:53
Palabra.charat2
00:32:54
Más
00:33:01
Palabra.charat1
00:33:03
Más
00:33:05
Palabra.charat0
00:33:08
Vale
00:33:13
Y ahora
00:33:15
Aquí tengo que poner
00:33:20
Al revés
00:33:21
Vale
00:33:22
Y aquí
00:33:25
Me da el error de compilación
00:33:28
Que nos podíamos
00:33:31
Que ya nos ha pasado un montón de veces
00:33:32
Que el operador más
00:33:34
Cuando lo que tiene a los dos lados
00:33:38
Claro, cuando lo que tiene a los dos lados
00:33:40
Cuando no tiene un string
00:33:43
a alguno de los dos lados
00:33:47
automáticamente es la suma aritmética
00:33:48
aquí no tiene un string a ninguno de los dos lados
00:33:50
tiene char a los dos lados
00:33:53
que el char es un int
00:33:55
internamente
00:33:57
entonces te dice, cuidado, esto es la suma
00:33:58
de números enteros, un entero
00:34:01
a un string no puede
00:34:03
no, si los puede sumar, pero entonces yo tendría
00:34:04
que declarar esto como entero
00:34:08
entonces sí, pero claro, yo no quiero la suma
00:34:09
de eso
00:34:12
entonces ahora sí que
00:34:13
Tengo que poner esto aquí
00:34:16
Esto aquí
00:34:21
Esto aquí
00:34:24
Y ya está
00:34:27
Vale, pues ya está, ya tengo el programa hecho
00:34:29
Vamos a hacer una prueba antes de parar
00:34:34
Y ya paramos
00:34:35
Bueno, aparte si hay 40 cuando toca, se ha adelantado
00:34:37
Venga, vamos a poner
00:34:40
Una
00:34:47
De tres
00:34:49
Ah, como no he quitado el código de abajo
00:34:51
Por eso me ha salido dos veces
00:34:56
Pero vamos, da igual, o sea, cuando he hecho el copia y pega
00:34:57
De este, no he hecho
00:34:59
Corta y pega, he hecho copia y pega
00:35:01
Pero vamos, está bien
00:35:03
Vale, vamos a volver a ejecutarlo
00:35:04
Vamos a darle ahora una de
00:35:06
Eh, cuatro
00:35:09
Eh
00:35:11
Gato
00:35:13
Vale, vale, está bien
00:35:14
Aquí, vamos, le damos una a cualquiera
00:35:17
Que no tenga cuatro
00:35:22
Y palabra no válida
00:35:23
aquí de nuevo, a uno le podría otra vez
00:35:24
ir la duda de siempre, decir, oye, espérate, si esto se puede
00:35:28
en realidad es el entero que tiene dentro, de hecho cuando yo no tenía el doble
00:35:31
asterisco lo estaba interpretando como entero, ¿por qué me está mostrando el char
00:35:36
y no el numerito entero? por lo de siempre, porque esto está declarado
00:35:40
como char, porque charar te devuelve el char
00:35:44
entonces eso está declarado como char
00:35:48
si estuviera declarado como entero
00:35:49
no
00:35:52
me lo concatenaría con el número entero
00:35:53
de la tabla ASTI
00:35:56
a ver
00:35:57
que uno por las dudas
00:36:00
le quiere plantar un casting a char
00:36:02
se lo puede plantar pero es que en este caso es que ya es de tipo char
00:36:04
de hecho no sé si te deja
00:36:07
hacer un casting al mismo tipo al que ya eres
00:36:08
te deja
00:36:10
ah claro
00:36:12
pero si pongo un int
00:36:15
entonces sí que me va a mostrar el numerito entero
00:36:16
Vale, pues este tercero ya estaría
00:36:18
Venga, vamos a parar aquí
00:36:21
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 9
- Fecha:
- 16 de octubre de 2024 - 21:12
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 36′ 25″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 170.98 MBytes