Saltar navegación

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

Clase 17-11-23 - 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 17 de noviembre de 2023 por Raquel G.

6 visualizaciones

Descargar la transcripción

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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid