Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Clase 17-11-23 - 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 venga, vamos a completar ya con este.
00:00:00
¿Vale? Ahora me preguntas si quieres después.
00:00:04
Ah, vale. De todas maneras, luego si quieres te lo mido, de todas maneras.
00:00:07
Vale, que está pausado.
00:00:11
Vale, pues a ver, de nuevo le he denunciado entender exactamente lo que pide
00:00:16
y luego ya ver cómo lo hago.
00:00:21
Pero la primera parte de entender exactamente qué tengo que hacer,
00:00:24
me pongo a programar así, a tirar líneas de código por las bordas,
00:00:28
esa primera parte es mucho más importante de la que creéis.
00:00:31
Aquí, estoy todo el rato viendo caracteres, un carácter, un carácter, un carácter.
00:00:36
Si me introduce uno que no sea letra mayúscula, le aviso.
00:00:40
No es letra mayúscula, un carácter, un carácter, un carácter.
00:00:44
Cuando yo introduzco la Z mayúscula, se acabó.
00:00:47
Luego ahí ya empiezo a ver, ¿vale?
00:00:50
Otra vez un bucle, un bucle que está todo el rato,
00:00:52
le he carácter, le he carácter, le he carácter, otra vez un bucle.
00:00:54
¿Qué tipo de bucle?
00:00:57
Bueno, hombre, pues como yo no sé cuántos caracteres voy a pedir,
00:00:58
porque es hasta que introduzca Z, de nuevo un guay.
00:01:02
Y planto la condición que sea.
00:01:05
Y ahora ya, ¿cuál es el resultado final?
00:01:08
Pues de todos esos caracteres que se han introducido,
00:01:10
los que sean letras mayúsculas y solo eso, mostrarlos concatenados, ¿vale?
00:01:14
Entonces, aquí, la solución, la solución ideal,
00:01:20
pues lo que hemos hecho siempre.
00:01:26
Vale, yo sé que una concatenación de un carácter sobre otro,
00:01:28
un carácter sobre otro, un carácter sobre otro,
00:01:31
responde como si fuera una suma acumulativa, ¿verdad?
00:01:33
Bueno, pues entonces vamos a reproducir ese ejercicio.
00:01:37
Primero me hago el bucle de lectura.
00:01:42
Bueno, pues el bucle de lectura, para variar,
00:01:44
me lo voy a hacer con un do while.
00:01:48
El bucle de lectura, ¿qué hago aquí dentro?
00:01:50
¿Qué tengo que hacer varias veces?
00:01:53
Leer carácter.
00:01:55
Si el carácter no es mayúscula, aviso.
00:01:57
Y si es mayúscula, miro a ver qué hago con él.
00:02:00
Bueno, pues leer carácter.
00:02:03
Cada uno a lo mejor habréis optado.
00:02:05
Yo el carácter leído, he declarado una variable char,
00:02:08
pero como es un único carácter, para que se guarde en char.
00:02:12
¿Vale?
00:02:15
Y ahora, para no liarnos con el escáner,
00:02:16
cuando leemos texto, estamos usando next line solamente,
00:02:19
para leer texto.
00:02:23
Y entonces, si yo uso next line,
00:02:26
esto me devuelve el carácter leído en modo string, ¿verdad?
00:02:29
Me lo devuelve como string, me lo devuelve como string.
00:02:33
Pero yo solo quiero el carácter en la primera posición.
00:02:36
Recordad este método, que te devuelve, dado un string,
00:02:40
en mi caso, este string que acabo de leer,
00:02:45
dado un string, dado un string,
00:02:48
ese método me devuelve el carácter en la posición que yo quiera.
00:02:51
Yo quiero la primera, la primera.
00:02:55
Vale, pues por eso pongo cero, cero es la primera.
00:02:58
Bueno, pues ahora, esto es el carácter leído del teclado,
00:03:01
que ya puedo guardar en mi variable char.
00:03:05
El next line solo lo tengo que guardar en string,
00:03:08
no hay otra, porque scan next line me devuelve en string.
00:03:12
Pero si yo le saco el carácter en la posición cero,
00:03:16
eso ya es un char, eso ya es un char y lo puedo guardar en char.
00:03:19
Vale, pues eso para leer el carácter.
00:03:23
Ahora, este bucle será mientras el carácter sea diferente de la Z mayúscula.
00:03:26
Como recordáis que los char y los números son perfectamente intercambiables,
00:03:30
según la correspondencia de la tabla ASCII,
00:03:35
pues uno se busca la tabla ASCII.
00:03:38
Oye, ¿y la Z mayúscula cuál es?
00:03:40
Pues la Z mayúscula es la noventa.
00:03:43
¿Cómo la Z?
00:03:52
¿No lo estáis viendo?
00:03:54
Ah, vale.
00:03:56
La noventa, la Z mayúscula es la noventa.
00:03:57
Pues ya está, tengo la condición perfectamente hecha.
00:04:00
¿Vale?
00:04:04
Mientras mi carácter sea diferente de noventa.
00:04:05
Entonces, leo mientras sea diferente de noventa.
00:04:07
A ver, ¿qué habéis leído con next line?
00:04:11
Pues entonces tendríais que guardar una variable string.
00:04:15
Vamos a llamarlo char leído, para distinguir la de la otra.
00:04:22
¿Qué habéis leído con next line sin más?
00:04:27
Entonces hay que guardar en variable string.
00:04:30
Imaginaos que en lugar de así, estáis leyendo así.
00:04:34
¿Vale?
00:04:43
Entonces esto va a una string.
00:04:44
Pero entonces ya la condición, la condición esta del while, no será esta.
00:04:46
La condición del while entonces ahora tendrá que ser,
00:04:52
mientras mi cadena leída no sea igual a Z.
00:04:56
¿Vale?
00:05:09
Me da igual una cosa que otra.
00:05:10
Lo que importa es que sepáis manejarlo todo.
00:05:11
El carácter es un tipo de dato, un carácter.
00:05:14
Y un carácter además es intercambiable con un número entero.
00:05:18
Y se compara con el igual, doble igual, como sea.
00:05:22
Porque es una variable primitiva.
00:05:25
Los string son cadenas de texto que se comparan con otras cadenas de texto,
00:05:27
con el equals.
00:05:33
No con el doble igual.
00:05:34
Entonces si char leído es la cadena de texto, el string Z,
00:05:36
y lo quiero comparar con el string que sea,
00:05:39
y lo quiero comparar con Z,
00:05:41
tendrá que ser con el igual.
00:05:43
Y si es que no sea igual, el no delante.
00:05:45
Que es un único char, que es un único char.
00:05:49
Entonces lo comparo con igual o con doble igual.
00:05:52
Pero es un único char, una variable primitiva.
00:05:54
No es un string.
00:05:56
Me da igual una cosa que otra.
00:05:57
Esto si es string, esto si es char.
00:05:59
Que también podríais haber puesto esto, que es lo mismo.
00:06:03
Me da igual poner 90, que haber puesto esto otro.
00:06:06
Estaría haciendo lo mismo.
00:06:13
¿Verdad?
00:06:16
Me da igual decir el carácter char char diferente de Z,
00:06:17
con Z entre comillas simples,
00:06:20
que decir diferente de 90.
00:06:22
Es lo mismo.
00:06:24
Porque son perfectamente intercambiables.
00:06:25
El número con el char, según me diga la tabla ASCII.
00:06:27
Luego esta condición y esta condición son idénticas.
00:06:31
Son la misma.
00:06:34
Me da igual 90 que el char Z.
00:06:35
Me da igual, porque la tabla ASCII los fija como iguales.
00:06:38
¿Vale?
00:06:41
Y luego, si esto de aquí no está guardado en modo char,
00:06:42
sino que está en modo string,
00:06:45
no puedo compararlo así.
00:06:47
Porque los string no los comparo así.
00:06:49
Entonces, si está en modo string, lo comparo así.
00:06:51
¿Vale?
00:06:54
¿Vale?
00:06:59
Bueno, entonces vamos a quedarnos con la opción de char,
00:07:00
que es la más cómoda para luego hacer el resto del programa.
00:07:03
¿Vale?
00:07:11
Voy a comentar esto, char diferente de N.
00:07:15
Me falta aquí cerrar esto.
00:07:19
Y aquí esto lo descomento y comento esto.
00:07:25
¿Vale?
00:07:28
Entonces lo hemos leído ya directamente como char.
00:07:29
He leído la cadena, me he quedado con el char en la posición 0.
00:07:31
Ya está como char.
00:07:34
Pues entonces, como ya está como char,
00:07:36
la condición está.
00:07:38
Esta.
00:07:41
O esta, me da igual.
00:07:42
Vale.
00:07:44
Ahora, ¿qué me dice el programa?
00:07:46
Si el carácter no es letra mayúscula, avisa.
00:07:49
Bueno, pues, ser letra mayúscula,
00:07:52
no ser letra mayúscula, perdón,
00:07:56
significará, según la tabla ASCII,
00:07:58
ser menor de 65 o mayor de 90.
00:08:00
Porque las letras mayúsculas están todas seguidas
00:08:04
entre 65 y 90.
00:08:08
Entonces, la condición de no ser mayúscula será esta.
00:08:10
Si el carácter es menor de 65 o es mayor que 90,
00:08:15
entonces, o es menor que la A o es mayor que la Z.
00:08:20
Si ocurre cualquiera de las dos cosas, no es mayúscula.
00:08:24
Lo muestro.
00:08:27
Vale.
00:08:29
Y si sí que es letra mayúscula,
00:08:30
entonces es cuando ya lo voy concatenando.
00:08:32
Silencio los de atrás.
00:08:35
Si es letra mayúscula,
00:08:37
entonces es cuando lo voy concatenando
00:08:39
a una variable string
00:08:42
que va concatenado a todos esos caracteres,
00:08:44
que empieza en el vacío.
00:08:46
Esta es la famosa suma acumulativa
00:08:48
o concatenación acumulativa que hemos hablado tanto.
00:08:50
Empieza en el vacío.
00:08:53
Y sobre ella, sobre ella,
00:08:54
voy poniéndole todos los caracteres
00:08:57
que sean mayúscula.
00:08:59
Sobre ella.
00:09:02
Que me llegue una mayúscula,
00:09:03
se va sobre result.
00:09:04
Siguiente iteración del wine.
00:09:06
Que me lleve otra mayúscula,
00:09:07
se va sobre result.
00:09:08
Así, así todo el rato.
00:09:09
Que no es mayúscula,
00:09:11
muestro el mensajito.
00:09:12
Luego el bucle será este.
00:09:14
Un bucle que lee carácter.
00:09:16
Y en función del carácter,
00:09:21
o avisa o concatena.
00:09:22
Vale.
00:09:25
Aquí no hace falta poner tantas llaves.
00:09:26
Condición está de aquí.
00:09:29
Cuando ya he terminado,
00:09:32
muestro el resultado.
00:09:33
Y ya está.
00:09:34
Mientras el carácter leído
00:09:38
sea diferente de Z.
00:09:39
Que el Z en ASCII es 90.
00:09:41
O sea, esto.
00:09:44
O puedes poner esto.
00:09:45
Está lo mismo.
00:09:47
O incluso podríamos poner aquí,
00:09:49
que uno lo ve más claro
00:09:51
si no tiene la tabla ASCII.
00:09:52
Mientras sea menor que A
00:09:54
y mayor que Z.
00:09:57
Así a lo mejor lo ves más claro.
00:09:59
Porque los caracteres y los números
00:10:00
de la tabla ASCII son intercambiables.
00:10:02
Car menor que A
00:10:05
es que esté por delante en la tabla ASCII.
00:10:07
Que sea menor que el numerito entero
00:10:09
asociado a la A.
00:10:11
O sea, esto y lo que he puesto antes
00:10:12
es lo mismo también.
00:10:14
Es lo mismo.
00:10:15
Me da igual el char A
00:10:17
que el número entero asociado a A
00:10:19
en la tabla ASCII.
00:10:21
Me da igual el char Z
00:10:22
que el número entero asociado a Z
00:10:24
en la tabla ASCII.
00:10:25
Les puedo comparar con menor, mayor.
00:10:26
Hay un orden entre ellos.
00:10:27
¿Vale?
00:10:33
Aquí si yo hubiera leído como string
00:10:36
el problema que para esta condición
00:10:39
no tengo problema
00:10:42
porque lo hacemos como hemos dicho.
00:10:43
Mientras el string sea diferente del Z.
00:10:45
Pero aquí sí que tendría luego
00:10:47
que coger el char en la posición 0
00:10:50
de char leído,
00:10:52
tendría que cogerlo
00:10:53
para compararlo con estos char.
00:10:54
Ahí sí que tendría
00:10:56
porque el string no lo puedo comparar
00:10:57
con un char directamente.
00:10:59
Char leído no podría poner
00:11:01
char leído menor que A
00:11:02
porque es un string.
00:11:03
No puedo compararlo con un char.
00:11:04
Pero me quedaría con el char A0
00:11:06
y ya está.
00:11:08
Me quedaría lo mismo.
00:11:09
Bueno, más o menos entendéis
00:11:11
todos los caracteres y todo eso.
00:11:12
Es importante que os vaya quedando claro.
00:11:14
Vale, venga.
00:11:21
Pues vamos a pararlo aquí entonces.
00:11:22
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 6
- Fecha:
- 17 de noviembre de 2023 - 14:26
- Visibilidad:
- Público
- Centro:
- IES ROSA CHACEL
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 218.62 MBytes