20251007 ProgrEstr-EjerTernario_5 - 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:
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
Sí
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
No
00:07:49
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
Es
00:08:00
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