Saltar navegación

20251007 ProgrEstr-EjerTernario_5 - 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 7 de octubre de 2025 por Raquel G.

1 visualizaciones

Descargar la transcripción

La estructura es la de siempre, ¿está claro? El tema es, la estructura es la de siempre, la duda es, ¿qué le asigno yo a mensaje? 00:00:00
Pues, si actuamos organizadamente, en función de una condición, o bien yo le asigno sí es la mayúscula, o bien yo le asigno no la mayúscula sería, 00:00:18
y aquí la mayúscula sería, a este texto, 00:00:40
le tengo que concatenar ese valor mayúscula del primer car 1 00:00:50
que yo se supone que tengo que obtener, ¿vale? 00:00:55
O sea, los dos mensajes a mostrar son, 00:00:58
uno, sí, es la mayúscula, o no, la mayúscula sería 00:01:00
y lo que tengo que poner a continuación es un valor calculado, 00:01:05
un valor calculado, con lo cual al ser un valor calculado 00:01:08
tendrá que estar una variable y yo la concatenaré, 00:01:11
La mayúscula sería, bueno, vamos a crearnos ahí una variable char para poner esa mayúscula calculada, cuando la calculemos. 00:01:14
Entonces nos faltan aquí dos cosas para completar este programa. 00:01:26
La condición que me dice a mí si la segunda es la mayúscula de la primera. 00:01:30
Y luego, ¿qué valor le doy a este char? 00:01:36
Para que sea exactamente la mayúscula de la primera. 00:01:40
esas dos cosas son las que me faltan 00:01:43
cuando las tenga 00:01:46
pues ya tengo mi programa hecho 00:01:46
¿vale? me falta la condición 00:01:49
que me dice 00:01:52
si la primera es mayúscula de la segunda 00:01:54
y me falta este valor 00:01:55
calculado que yo 00:01:58
concatenaré al mensaje de salida 00:02:00
que me dirá 00:02:01
cuál es esa mayúscula 00:02:04
la condición 00:02:05
pues viendo la tabla 00:02:07
así está claro 00:02:10
la minúscula está, si hacemos la resta de 97, 65 00:02:10
nos da 32, pues la mayúscula está 00:02:16
32 posiciones por detrás 00:02:18
luego, la condición de que la mayúscula 00:02:21
de que la segunda sea la mayúscula de la primera 00:02:25
pues la podemos poner tranquilamente 00:02:27
que car2 menos car1 sea igual 00:02:29
a 32, ¿verdad? 00:02:34
o al revés, porque ¿cuál es la que está detrás? 00:02:36
la minúscula está detrás 00:02:39
Entonces la condición sería 00:02:40
Si car1 está a 32 posiciones 00:02:42
Por delante de car2 00:02:46
Entonces es la mayúscula 00:02:47
¿Vale? 00:02:49
Dos caracteres que cumplan esto 00:02:52
Siempre y cuando 00:02:54
El primero 00:02:56
Sea 00:02:58
Una letra minúscula 00:02:59
Siempre y cuando el primero sea uno de estos 00:03:01
Pues entonces 00:03:04
El segundo 00:03:06
Va a ser uno de estos, luego el mayúsculo 00:03:07
lo que pasa es que claro, este programa tiene sentido 00:03:09
si yo asumo 00:03:12
que el usuario, el primer carácter que me va a meter 00:03:13
es una letra minúscula, porque si me mete 00:03:16
cualquier otra cosa, me mete el 1 00:03:18
pues me dice que 00:03:20
sí, que el dc1 yo que sé es su 00:03:22
mayúscula, vale 00:03:24
entonces podemos ahora meter luego que valide 00:03:26
el dato, luego esta 00:03:28
condición está clara, vale 00:03:30
y ahora, ¿cómo teniendo 00:03:31
yo un carácter cualquiera lo pongo en mayúscula? 00:03:34
pues de nuevo operando 00:03:37
si yo tengo un carácter cualquiera de estos 00:03:38
y le quito 32 00:03:40
me coloco en este 00:03:41
luego si yo tengo 00:03:43
mi carácter car1 00:03:46
y le quito 32 00:03:47
me coloco 00:03:51
en el mayúsculo 00:03:53
¿vale? pero claro aquí nos sale este error 00:03:55
de compilación que ya lo conocemos y que ya no salió 00:03:57
aquí que 00:04:00
aquí que 00:04:01
estamos haciendo 00:04:07
¿vale? importante para que 00:04:08
estamos con el operador 00:04:10
aritmético de resta 00:04:13
estamos mezclando dos tipos 00:04:14
de datos distintos 00:04:17
entonces, recordad 00:04:18
recordad que con los operadores 00:04:20
aritméticos 00:04:25
se pueden mezclar operadores 00:04:25
pero claro, hay que tener 00:04:28
muy controlado que pasa cuando 00:04:31
mezclamos tipos de datos 00:04:33
en general cuando uno 00:04:34
construye una expresión 00:04:37
con operadores aritméticos 00:04:39
la construye para sumar 00:04:40
de estar multiplicado por operadores 00:04:43
pero en determinadas ocasiones 00:04:44
que hemos visto 00:04:50
por una 00:04:51
uno puede mezclar en expresiones 00:04:51
tipos de datos distintos 00:04:54
con superiores aritméticos 00:04:57
este es uno de esos casos 00:04:58
estamos mezclando un char 00:04:59
con un int 00:05:02
porque 32 lo construye Java 00:05:04
como en SoundMesh 00:05:06
podemos ir usando el operador 00:05:07
menos en este caso 00:05:10
¿Qué es lo que hace la máquina virtual? Pues el CAR1, que es un char, lo promociona al int que lo representa. En este caso, lo promocionaría, si CAR1 fuera, por ejemplo, la letra B, lo promocionaría a 98, al entero 98. 00:05:12
y ahora ya 00:05:32
hace la resta 00:05:34
98 menos 32 00:05:36
pero el resultado lo deja como entero 00:05:37
lo deja como entero 00:05:40
por eso el compilador me dice aquí 00:05:41
ojo, el resultado es entero 00:05:43
porque yo he promocionado del más bajito 00:05:46
que es char al alto que es in 00:05:48
con lo cual no me lo guardes en un char 00:05:50
pero nosotros lo queremos en formato char 00:05:52
no lo queremos en in, lo queremos en char 00:05:55
¿cómo solucionábamos esto 00:05:57
para forzar a esto, 00:06:00
guardarlo como char otra vez. 00:06:02
Lo forzábamos con un casting, ¿verdad? 00:06:04
Así lo forzábamos. 00:06:08
¿Vale? 00:06:11
Entonces, repito, desde el principio. 00:06:12
Al hacer la operación matemática 00:06:14
con un operador matemático, 00:06:16
¿vale? 00:06:19
Pues estoy mezclando dos tipos distintos. 00:06:22
El más bajito, que en este caso es char, 00:06:27
porque es solo un byte 00:06:29
se promociona el más alto 00:06:31
que es entero, en el caso del char 00:06:33
¿qué significa promocionarse? 00:06:35
convertirse en el entero que lo representa 00:06:37
en la tabla hasti, el entero que sea 00:06:38
se hace la resta 00:06:41
y el número entero que te queda te lo da como resultado 00:06:43
al ser un entero 00:06:45
no puede ir a char 00:06:47
él te avisa, claro, pero es que a ti no te interesa 00:06:48
el formato entero 00:06:51
a ti te interesa el formato char 00:06:52
pues este formato entero 00:06:54
lo podemos pasar a formato char 00:06:56
haciendo el casting 00:06:59
que habíamos dicho que en determinadas ocasiones 00:07:02
y de forma controlada 00:07:04
entonces 00:07:06
esto 00:07:08
se convertiría en esto 00:07:10
ahora ya sí 00:07:13
esta seguramente 00:07:27
sea, si lo hemos hecho bien 00:07:30
el char 00:07:31
mayúsculo de car1 00:07:32
que lo concateno aquí 00:07:34
vale, vamos a hacer la prueba 00:07:36
Primer carácter A, segundo carácter A 00:07:40
00:07:43
Vamos a pasarle ahora a uno que no 00:07:43
Primer carácter C, segundo carácter F 00:07:46
La mayúscula sería C 00:07:50
Vale 00:07:52
¿Entendido esto que hemos hecho aquí? 00:07:54
Aquí lo más crítico de entender 00:07:58
Que int y char 00:08:02
Sí, son intercambiables 00:08:04
Pero cuidado 00:08:06
Un int no puede ir en un char 00:08:06
si ese IN yo sé 00:08:09
que representa un carácter de la tabla ASTI 00:08:12
no pasa nada para meterlo en un char 00:08:14
me hago esto 00:08:16
y al hacerle esto 00:08:17
ese IN 00:08:22
ya lo convierto en el char 00:08:23
correspondiente de la tabla ASTI para ese número 00:08:26
¿vale? 00:08:28
entonces siempre que yo tenga un numerito entero 00:08:30
que yo sepa 00:08:32
que se refiere a una posición de la tabla ASTI 00:08:33
de un char que yo quiero 00:08:36
y lo quiero en char 00:08:38
pues le hago eso delante y ya lo tengo 00:08:39
en chat 00:08:42
vale, entonces, aquí lo único es que 00:08:42
efectivamente 00:08:50
si yo ahora hago esto 00:08:51
y le pongo cualquier cosa 00:08:56
ahora lo pongo otra vez 00:08:58
si yo le pongo 00:09:04
cualquier cosa que no sea un carácter 00:09:05
en minúscula, del rango de minúsculas 00:09:08
el programa deja de tener sentido, claro 00:09:09
entonces convendría 00:09:12
para que sea un mínimo 00:09:14
más robusto, meterle una mínima 00:09:15
validación 00:09:18
y es que ahora ya el programa le ampliamos 00:09:18
con otra rama 00:09:22
una rama, el carácter que has metido 00:09:22
es válido para mí o no 00:09:25
si no es válido, se acabó 00:09:27
y si es válido, ahora ya te digo 00:09:29
si el segundo es 00:09:32
la mayúscula, no lo es 00:09:33
al abrir otra rama 00:09:34
tenemos una condición 00:09:37
perdón 00:09:39
a ver, lo que haya 00:09:44
que detallaremos 00:09:47
enunciado lo que tenéis que hacer. 00:09:49
Lo que no esté detallado 00:09:51
que hay que hacerlo, no hay por qué hacerlo. 00:09:53
Vale, vamos a poner una condición 00:09:56
de carácter 00:09:57
válido. La condición 00:09:59
de carácter válido, ¿cuál va a ser? 00:10:03
Que sea un carácter minúscula, 00:10:05
el primero. Pues 00:10:07
ser carácter minúscula es fácil de 00:10:09
programar. Que sea 00:10:11
mayor o igual que 27 y 00:10:13
menor o igual que 122. 00:10:15
Carácter válido, entonces, 00:10:17
es igual a car1 00:10:18
mayor o igual que 97 00:10:22
y también 00:10:24
simultáneamente 00:10:26
y también simultáneamente 00:10:27
menor o igual 00:10:31
que 122 00:10:37
¡Hala! Ya tengo otra condición 00:10:39
carácter válido que me permite 00:10:49
abrir en mi programa otra rama 00:10:50
¿Vale? Pues vamos a abrir esa rama 00:10:52
la primera de todas 00:10:55
Vamos a ver, primero nos vamos 00:10:56
a preguntar, ¿el carácter es 00:11:00
válido? Entonces 00:11:02
para que sea más fácil 00:11:05
ponemos el no delante 00:11:08
¿el carácter no es válido? 00:11:09
pues mostramos 00:11:12
carácter no válido 00:11:13
y ahora 00:11:18
vamos a asumir ahora ya 00:11:21
que el carácter es válido 00:11:24
ahora ya entramos en la condición 00:11:25
hemos insertado 00:11:27
una rama adicional al principio 00:11:30
si no es válido 00:11:31
carácter no válido 00:11:34
si lo es 00:11:35
ya me pregunto mi condición original 00:11:37
y ya está 00:11:40
hemos insertado una condición al principio 00:11:40
para abrir una rama más 00:11:44
si no 00:11:45
es válido 00:11:47
muestro esto 00:11:49
y en el caso de que lo sea ya hago esto de aquí 00:11:50
vale, vamos a probarlo 00:11:54
a ver si yo meto un carácter 00:12:12
que no sea una letra minúscula 00:12:14
y el carácter no es válido 00:12:16
si meto esto también me dice no válido hasta que no meta una letra minúscula no 00:12:18
lo hace 00:12:34
bueno qué pasó aquí porque no está el simbolito rojo 00:12:37
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Primer Curso
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
1
Fecha:
7 de octubre de 2025 - 13:41
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
13′ 26″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
59.03 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid