20241008 ProgrEstruct-Decision-Ejer_7 - 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, vamos a seguir nuestro patrón de pensamiento estructurado, organizado,
00:00:00
porque aunque los ejercicios sean pequeños y rápidamente a lo mejor veáis una forma rápida de hacerlo,
00:00:06
simplificada, pues nosotros vamos a seguir ahora mismo un orden muy estructurado y estricto
00:00:13
para acabar de coger el tranquillo y no perdernos.
00:00:19
Venga, pues entonces, nuestros pasos siempre son, leo el enunciado y miro a ver si entiendo lo que dice, lo entendemos, ¿no? Me dan cuatro números, ¿cuál es el menor y cuál es el mayor? ¿Vale? Entendemos lo que hay que hacer.
00:00:23
Venga, datos de entrada, los cuatro números. Bueno, a partir de aquí ya vamos a pensar un poco en qué posibilidades se nos ocurren.
00:00:39
Pues bueno, tenemos posibles salidas. Posibles salidas son que el primero sea el más pequeño, el segundo sea el más pequeño, el tercero sea el más pequeño o el cuarto sea el más pequeño.
00:00:50
y que el primero sea el más pequeño
00:01:05
perdón, el primero sea el más grande
00:01:07
el segundo sea el más grande, el tercero sea el más grande
00:01:09
o el cuarto sea el más grande
00:01:11
vale, pues entonces tenemos como dos partes
00:01:12
podríamos decir, vale, primero voy a ver
00:01:15
cuál es el más pequeño, para lo cual
00:01:17
tengo cuatro posibilidades, pues ahí ya
00:01:19
seguramente con un if el 6
00:01:21
para las cuatro opciones lo tenga
00:01:23
y luego, para ver cuál es
00:01:24
el más grande, es otra parte
00:01:27
pues como ahí hay cuatro salidas, pues un if
00:01:28
el 6, entonces yo ya tengo una pequeña estructura
00:01:31
que es, mi programa lo voy a organizar
00:01:33
en
00:01:35
cuatro partes, primera, leer los datos
00:01:35
segunda parte, hacer lo primero
00:01:39
que me piden, que es ver cuál es el más pequeño
00:01:43
vale, veo cuál es el más pequeño
00:01:45
eso ya lo tengo hecho
00:01:47
ahora voy a ver cuál es el más grande
00:01:48
vale, hago eso, eso ya
00:01:50
lo tengo hecho
00:01:53
y ahora voy a mostrar los resultados
00:01:54
si es que no lo he mostrado
00:01:57
en su momento cuando lo he averiguado en cada parte
00:01:59
entonces más o menos lo organizamos así
00:02:01
ahora ya podemos pensar la primera parte
00:02:03
ver cuál es el más pequeño
00:02:06
como son cuatro, tengo cuatro posibilidades
00:02:07
que sea el primero, el segundo, el tercero y el cuarto
00:02:09
bueno, pues ahí seguramente
00:02:11
o con un if, el seif
00:02:12
que marca bajo qué condición
00:02:15
es este camino
00:02:18
o este o este o este
00:02:20
de los cuatro, pues seguramente lo resuelva así
00:02:21
pues ya está, con esto ya
00:02:24
que he dicho más o menos en palabras y he pensado
00:02:25
ya tengo una plantilla
00:02:28
del ejercicio, ya bastante
00:02:29
organizada en la cabeza y ya me pongo
00:02:31
a programar
00:02:33
que luego me queda algo y digo, bueno, si esto
00:02:34
seguramente lo podría haber simplificado así, pues ya está
00:02:37
ya lo simplificaré, pero ahora mismo
00:02:40
lo vamos
00:02:41
estructurando, venga
00:02:43
pues nada
00:02:45
este estábamos hablando que era
00:02:47
el
00:02:49
11, ejercicio 11
00:02:50
vale, vale
00:03:00
entonces leer, como vamos a tener
00:03:09
que leer números, pues esto ya lo
00:03:11
cogemos y por
00:03:13
comodidad le vamos a poner un único
00:03:19
mensajito, introduzca cuatro enteros
00:03:21
seguidos y luego ya según declaro hago el
00:03:23
nesín, nesín, nesín, vale
00:03:25
y ahora ya los voy a declarar aquí
00:03:46
n1
00:03:48
igual a
00:03:50
y así con todos
00:03:52
vale, pues me sobra
00:04:03
aquí esta coma, bueno
00:04:24
pues ya tengo los cuatro números
00:04:26
declarados, declarados en la
00:04:28
misma línea, por tanto las separaciones
00:04:30
están con coma
00:04:32
y a la vez que los declaro ya les doy
00:04:33
un primer valor, a la vez que los declaro
00:04:36
los estoy inicializando
00:04:38
con la particularidad de que los estoy inicializando
00:04:39
con un valor
00:04:42
que se va a introducir por teclado, luego hasta que no se
00:04:43
introduzca, aquí la consola está esperando
00:04:46
y aquí está esperando y aquí
00:04:48
y aquí, vale
00:04:50
la primera parte de leer los datos ya la tengo
00:04:51
entonces yo ahora ya digo, venga pues
00:04:53
no me lío, voy a hacer la primera
00:04:56
ver cuál es el mayor de todos
00:04:57
entonces tenemos dos opciones, no, perdón
00:04:59
Tenemos cuatro opciones. O bien, el mayor es N1 y esto mismo con cualquiera de los otros. No sé qué va a pasar, pero una de ellas va a pasar. No sé cuál va a pasar, pero una de ellas va a pasar.
00:05:01
vale, entonces tengo cuatro posibilidades
00:05:34
aquí por lo menos tres if
00:05:38
vale, un if me abre dos caminos
00:05:41
dos if me abren tres caminos
00:05:44
tres if me abren cuatro caminos
00:05:46
cada if, el número de ifs es una unidad inferior
00:05:48
a los caminos que me abren
00:05:52
entonces en este caso, pues bueno
00:05:53
los voy a separar con if, else, if
00:05:56
y así no los han ido
00:05:58
el primer caso cuando va a ser
00:05:59
si n1 es mayor que todos los demás
00:06:02
mayor o igual que n2
00:06:04
y así con todos
00:06:06
y n1
00:06:08
es mayor o igual
00:06:11
que n3
00:06:12
y n1
00:06:15
es mayor o igual
00:06:19
que n4
00:06:20
pues si se cumple esa condición
00:06:22
este es el mayor
00:06:23
como he puesto mayor o igual
00:06:25
no significa que sea el único mayor
00:06:27
si es igual a alguno de los otros
00:06:30
pues sería el mayor junto con otro
00:06:33
pero da igual, el resultado estaría bien dado
00:06:35
vale
00:06:37
entonces, si se cumple esta condición
00:06:39
el programa va a ir por aquí, que es lo que yo quiero
00:06:41
pero ¿qué pasa
00:06:44
si no se cumple?
00:06:45
si no se cumple, de nuevo se me abren dos ramas
00:06:47
o bien el mayor
00:06:49
es n, o se me abren tres
00:06:51
en realidad, o bien el mayor es n2
00:06:53
o bien el mayor es n3, o bien el mayor es n4
00:06:55
entonces yo aquí podría
00:06:57
claro, podría yo aquí
00:06:59
poner otro if, voy a ver si estoy en el segundo
00:07:01
caso, ¿verdad? lo voy a poner con anidados
00:07:03
y luego el save, para que quede claro
00:07:05
vale, el n1 no es el mayor
00:07:07
bueno, voy a ver si es el n2
00:07:09
el mayor, pongo aquí
00:07:11
esto cambiando, n2 es
00:07:16
mayor o igual que n1 y
00:07:18
n2 es mayor o igual
00:07:20
que n3 y
00:07:22
n2 es mayor o igual
00:07:24
que n4
00:07:26
en este caso
00:07:27
se cumpliría esta rama
00:07:29
vale, pero que pasa si tampoco
00:07:35
tampoco eso
00:07:38
pues si tampoco eso
00:07:39
de nuevo tengo otras dos posibilidades
00:07:42
de nuevo tengo otras dos
00:07:44
pues voy a ver
00:07:45
si la que se
00:07:47
cumple ahora es que el mayor sea n3
00:07:50
vamos a verlo
00:07:51
pues está aquí dentro
00:07:53
pero ahora con n3
00:07:55
n3 es mayor o igual que n1
00:07:58
y n3 es mayor o igual
00:08:00
que n2
00:08:02
y N3 es mayor o igual que N4
00:08:04
sí, ah, pues ya tengo esta
00:08:08
y si tampoco
00:08:10
pues si no se ha cumplido esta
00:08:15
me ha desaparecido el
00:08:19
si no se ha cumplido esta, luego estoy en el else
00:08:31
y tampoco se ha cumplido esta, luego he entrado en el else
00:08:37
y tampoco se ha cumplido esta, no se ha cumplido ni la DN1
00:08:41
ni la DN2, ni la DN3, no se ha cumplido ninguna de ellas
00:08:44
es porque entonces el mayor es n4
00:08:47
pues esa es la que me falta ahí, ¿no?
00:08:50
vale, pues aquí he contemplado
00:09:00
las cuatro opciones y efectivamente
00:09:02
hay tres if, tiene que haber
00:09:04
tres if para que haya cuatro posibilidades
00:09:06
¿vale?
00:09:08
aquí, a ver, mirad en la
00:09:10
sintaxis, lo que se hace
00:09:12
en la rama del sí de este if
00:09:14
es sólo esta sentencia, sólo esta
00:09:15
por eso no he puesto llaves
00:09:18
por eso no la he puesto
00:09:20
aunque repito, lo recomendable es siempre
00:09:21
ponerla sobre todo ahora para no liarse
00:09:24
¿vale? pero no lo he puesto
00:09:25
ahora para que
00:09:28
recordad que
00:09:29
no hace falta y solo hay una, ¿y qué pasa en el ELSE?
00:09:31
pues en el ELSE
00:09:35
lo que hay en el ELSE de nuevo es una única
00:09:36
sentencia, es esta
00:09:38
solo hay esta, lo que hay en el ELSE
00:09:39
solo hay esta, con lo cual
00:09:42
esta llave del ELSE también es
00:09:44
opcional, y la voy a quitar para que
00:09:46
se vea claro, porque
00:09:48
este ELSE tiene dentro una
00:09:50
única sentencia, que es toda esta
00:09:52
recordad que dije que la sentencia de decisión
00:09:54
es una
00:09:57
una única línea de código, no muchas
00:09:58
pero es una única sentencia
00:10:01
eso es solo una sentencia
00:10:03
que es la sentencia if con su else
00:10:04
y como es la única que está dentro del else
00:10:06
como es la única, yo puedo no poner
00:10:09
llaves ahí, puedo no ponerlas
00:10:11
porque solo tiene esa, vale
00:10:12
pues ahora me meto en este if
00:10:14
este if efectivamente solo tiene una dentro
00:10:16
solo tiene una dentro
00:10:19
luego puedo no ponerle llaves
00:10:20
y ahora tengo este else
00:10:22
y este else que tiene ahí dentro, también una única
00:10:24
sentencia, esta
00:10:26
solo tiene una, que es esa, una sentencia
00:10:27
compleja, porque es de decisión, pero solo una
00:10:30
con lo cual esta llave
00:10:32
también se la puedo quitar
00:10:34
si las pones
00:10:35
es lo recomendable, pero las estoy
00:10:38
quitando a propósito para que quede
00:10:40
claro que esto es una única sentencia
00:10:42
la sentencia edición if
00:10:44
una única sentencia, no confundáis con
00:10:46
una línea de código con sentencia
00:10:48
eso es una única sentencia if
00:10:50
toda en pack
00:10:51
que va dentro del ELSE, es la única sentencia
00:10:52
del ELSE, ¿vale?
00:10:55
entonces mi ELSEIF, el SEIF este
00:10:57
no tiene ninguna llave, ni le hace falta
00:10:59
en este caso, porque dentro de cada
00:11:01
EIF y cada ELSE solo hay una sentencia
00:11:03
ni le hace falta, ¿vale?
00:11:05
bueno, pues esta parte de ver cuál es el mayor
00:11:07
ya estaría
00:11:09
lo que pasa es que, bueno, queda
00:11:11
feo
00:11:13
otro viene, mira este código
00:11:14
y madre mía, tiene muchos
00:11:17
IFANIDADOS, entonces le cuesta
00:11:19
más ve realmente que hace
00:11:21
esto, porque tiene que ir entrando en los else
00:11:23
entonces
00:11:25
aquí que situación tenemos, la que hemos dicho
00:11:26
tengo un else y un if anidado dentro
00:11:28
esto lo puedo representar
00:11:30
con un else if
00:11:33
y así
00:11:34
lo que hace el código queda más claro
00:11:36
entonces, lo anterior
00:11:39
con else if queda un poco más bonito
00:11:40
queda un poco más bonito
00:11:42
y sería esto
00:11:46
sería
00:11:48
que se cumple la primera
00:11:57
vale, el seif
00:11:59
si no la
00:12:05
segunda, pues esto
00:12:07
claro, que
00:12:09
el seif la otra
00:12:11
y ya que no, entonces
00:12:12
este código y el de arriba son iguales
00:12:24
pero aquí se ve más claro que estos
00:12:26
son cuatro ramas
00:12:28
¿vale? aquí se ve
00:12:30
mucho más claro que mi programa va
00:12:32
por cuatro caminos distintos, porque los veo
00:12:34
todos ahí, o este, o este, o este
00:12:36
o este, no están ahí como anidados
00:12:38
y además cada rama veo muy cerquita, automáticamente encima de ella,
00:12:40
la condición a la que están asociadas.
00:12:45
Este código y el de arriba son idénticos, pero en este veo claramente
00:12:47
que tengo cuatro posibilidades para mi programa,
00:12:51
que salga por aquí, que salga por aquí, que salga por aquí, que salga por aquí
00:12:54
y además veo cada una de las posibilidades a qué condición está asociada.
00:12:58
La de arriba está asociada a esta condición, esta está asociada a esta,
00:13:03
esta a esta y esta a ninguna de las anteriores, a ninguna.
00:13:06
y recordad que son excluyentes la máquina virtual funciona entra primero por aquí que
00:13:10
ésta es true que ésta es true se va lo que hay dentro y se acabó ya no hace nada más hemos
00:13:19
terminado continúa hacia abajo que está es falso entonces así que mira esto pero en cuanto encuentra
00:13:26
una true hace lo que hay dentro
00:13:34
y fuera, se acabó
00:13:36
a ver, esto es importante
00:13:38
porque podría ocurrir
00:13:40
que
00:13:41
no es este el caso
00:13:43
bueno, si es el caso, podría ocurrir
00:13:45
que se den varias condiciones simultáneamente
00:13:48
imaginaos en este
00:13:50
caso que
00:13:52
yo meto cuatro números
00:13:53
iguales
00:13:56
imaginaos que meto cuatro números iguales
00:13:57
en este caso
00:14:00
son true todas
00:14:02
¿verdad? que serían true todas
00:14:03
las tres primeras
00:14:05
serían true las tres primeras
00:14:06
¿verdad?
00:14:08
entonces, ¿qué haría la máquina virtual?
00:14:10
evalúa la primera
00:14:12
como esa es cierta
00:14:13
hace lo que hay aquí
00:14:15
y ya está
00:14:17
y no evalúa ninguna más
00:14:18
aunque también sean ciertas, da igual
00:14:21
no va a entrar por este camino
00:14:24
en cuanto encuentra una que es cierta
00:14:25
hace lo que hay aquí y continúa
00:14:28
en este ejemplo nuestro en concreto
00:14:30
en este ejemplo nuestro, es que
00:14:32
queremos que funcione así, en cuanto una
00:14:34
es cierta, dice, ah, eso es lo que hay que
00:14:36
hacer, y el resto paso
00:14:38
o sea, en el caso raro
00:14:40
que serían los cuatro iguales
00:14:42
pues si los cuatro iguales, esta sería true
00:14:44
diría el mayor es el primero
00:14:46
que es igual que los demás, luego estaría bien
00:14:48
y ya esta no las evalúa
00:14:50
¿vale? pero simplemente
00:14:51
que sepáis que ese es el funcionamiento
00:14:54
porque en función de
00:14:55
cómo haga una
00:14:58
de las cosas, a lo mejor podría pensar
00:15:00
Oye, si se cumple tanto esta como esta
00:15:02
Quiero que me haga las dos cosas
00:15:04
Pues no lo hagáis con un if-else-if
00:15:06
No lo hagáis así
00:15:08
Si queréis que
00:15:09
Se haga esto
00:15:12
Si se cumple esta
00:15:14
Y también esto, si se cumple esta
00:15:15
Tendréis que separarlo en dos if separados
00:15:17
¿Vale?
00:15:20
Voy a ponerlo aquí
00:15:22
Por ejemplo, vamos a imaginar que tenemos
00:15:23
Una
00:15:32
Condición aquí, para que el compilador
00:15:33
no se ponga tonto
00:15:36
voy a poner aquí, vamos a ver que tenemos una condición
00:15:37
que ahora mismo le doy true, ya está, me da igual
00:15:42
lo que valga, vale, me da igual lo que valga
00:15:44
entonces
00:15:46
una condición 1
00:15:47
y yo tengo aquí
00:15:50
una condición
00:15:52
2
00:15:54
me da igual lo que valga, da igual, es solo
00:15:55
para declarar una variable condición
00:15:58
y ahora voy a hacer un if, el se if
00:15:59
este if condición 1
00:16:02
pues aquí hago
00:16:06
lo que sea
00:16:08
y luego pongo aquí
00:16:09
un else if
00:16:11
condición 2
00:16:16
y aquí hago lo que sea
00:16:19
y el else aquí también es opcional
00:16:21
puede estar o no, si no está significa
00:16:23
que si no se cumple ni esta ni esta
00:16:26
no se hace nada, vale, entonces voy a
00:16:28
no ponerlo
00:16:29
vale, pues entonces
00:16:31
vosotros veis este código
00:16:34
y uno podría pensar
00:16:36
uno podría pensar así de buenas a primeras
00:16:39
como se cumple la primera se hace esto
00:16:41
pero es que también se cumple la segunda
00:16:43
luego también se hace esto
00:16:45
podría a lo mejor uno pensar, si lo ve de buenas a primeras
00:16:47
ese código hecho, que el resultado
00:16:49
va a ser ejecutar las dos cosas
00:16:51
¿verdad? porque se cumple
00:16:54
tanto la primera como la segunda
00:16:55
pero no, no funciona así
00:16:57
la máquina virtual entra por aquí
00:16:59
¿esta se cumple? sí, pues hace esto
00:17:01
y terminó, ya se va
00:17:04
abajo y terminó, ¿vale?
00:17:06
que vosotros queréis
00:17:08
que como se cumplen las dos
00:17:09
Cuando se cumplan las dos, que se hagan las dos cosas
00:17:11
Hay que transformar este código
00:17:14
Y lo tendréis que transformar
00:17:15
En este código de aquí
00:17:17
Si condición uno
00:17:18
Entonces
00:17:21
Sentencias
00:17:22
Y ahora ese if se acabó
00:17:26
Empieza otro if nuevo
00:17:28
Si condición dos
00:17:30
Entonces
00:17:34
Sentencias
00:17:35
¿Vale? O sea, estos son
00:17:38
Dos códigos distintos
00:17:43
que funcionan de forma completamente distinta
00:17:45
en esta
00:17:48
si se cumplen las dos condiciones
00:17:49
solo se va a ejecutar esto
00:17:51
solo esto, pero en este
00:17:53
si se cumplen las dos condiciones
00:17:55
se va a ejecutar las dos
00:17:58
porque son dos ifs independientes
00:18:00
son dos sentencias if, primero esta
00:18:01
se cumple, hago esto, acabo
00:18:03
me voy a la siguiente sentencia
00:18:05
que es otro if, evalúo, se cumple, se acabó
00:18:06
son dos sentencias independientes
00:18:09
¿vale?
00:18:11
pero esta es una única sentencia
00:18:13
Entonces, cuando esta se cumpla
00:18:15
Se hará esto y se acabó
00:18:17
Hemos terminado la sentencia, seguimos por aquí
00:18:18
¿Vale?
00:18:20
Bueno, pues entonces
00:18:25
Esto está claro, ¿no?
00:18:26
Bueno, lo voy a
00:18:30
Vale, y aquí se hacen las dos cosas
00:18:31
Bueno, esto como no molesta
00:18:57
Aquí, lo dejo aquí
00:19:04
Vale, pues entonces
00:19:05
Ya tendríamos aquí
00:19:08
¿Cuál es el mayor?
00:19:10
Y ahora, ¿qué me falta del ejercicio?
00:19:13
cuál es el menor, por lo mismo, pero cambiando
00:19:15
el mayor igual por el menor igual
00:19:17
pues ya está
00:19:19
entonces
00:19:20
cambiamos todo esto por menor
00:19:34
y cambiamos esto
00:19:41
por menor, vale
00:19:51
entonces
00:20:20
pues ya está, esta es una versión
00:20:21
una versión del programa
00:20:23
hecha en partes, primero leo
00:20:25
ahora
00:20:28
voy a ver cuál es el mayor
00:20:29
tengo cuatro posibilidades, cuatro ramas
00:20:32
aquí está con if, if, if anidado
00:20:34
aquí compacto
00:20:36
que queda más bonito
00:20:38
y ahora, segunda parte, voy a ver cuál es el menor
00:20:39
como tengo cuatro posibilidades, cuatro ramas
00:20:42
pues de nuevo un if, if, if con las cuatro
00:20:44
con las tres condiciones, la que no y ya está
00:20:46
y esa es una manera
00:20:48
cómoda y fácil de hacerlo
00:20:50
pues
00:20:51
que se puede hacerlo de otra manera, por supuesto
00:20:53
no lo puedo ir enfocando, a lo mejor hay número por número
00:20:56
vale, vas
00:20:58
el primero, vas a ver si es
00:21:00
o sea, te haces dos variables, mayor y menor
00:21:01
y las vas rellenando, el primero
00:21:04
lo cumple, pues ya tengo el mayor relleno
00:21:06
ahora, el menor
00:21:08
lo mismo, lo podéis
00:21:09
haber planteado de muchas otras maneras
00:21:12
más cómodo, más corto, más
00:21:14
como se os haya ocurrido, dime
00:21:16
por ejemplo, si hay más
00:21:18
¿cómo si hay más de un número?
00:21:20
imagínate, en el mes
00:21:25
a ver, en el examen he enunciado
00:21:26
la idea es que deje muy claro todo
00:21:28
por ejemplo, pues asume
00:21:30
que solo pueden ser números distintos
00:21:33
Si hay alguna ambigüedad
00:21:34
La vamos a intentar definir
00:21:37
Y si leéis un enunciado y veis que hay alguna ambigüedad
00:21:38
Pues lo preguntáis
00:21:41
Y en este caso, ¿qué hago?
00:21:42
Pues lo preguntáis
00:21:44
Este caso no lo tengas en cuenta
00:21:45
Vamos a hacer
00:21:46
El 13
00:21:55
Y así introducimos
00:21:56
Y luego ya también podemos corregir algún otro
00:21:59
Que veáis por aquí medio raro
00:22:01
Vamos a
00:22:04
Bueno, lo hemos probado
00:22:06
Vamos, siempre es bueno probarlo
00:22:12
Porque podemos haber escrito cualquier burrada
00:22:14
Vale, cuatro números enteros
00:22:15
5, 7, 2 y 9
00:22:23
Vale
00:22:26
Esto me lo hice dos veces
00:22:28
Porque como lo hemos hecho de dos maneras
00:22:30
Con el 6 anidado y sin anidar
00:22:31
Vale, pues
00:22:33
Le voy a dar ahora con dos iguales
00:22:35
Que sea el más pequeño
00:22:39
Menos 4, menos 4, 6 y 2
00:22:40
El mayor es 6, el menor menos 4
00:22:43
Bueno, parece que sí, tampoco tenía más
00:22:45
Bueno, parece que funciona
00:22:47
Pero se nos podría haber escapado algo
00:22:50
Bueno
00:22:52
Venga, pues hemos dicho que el 13
00:22:53
Bueno, dice
00:22:56
Introduzca un número
00:23:19
Entre 1 y 7
00:23:21
Dime
00:23:26
Sí
00:23:28
Estas
00:23:31
O sea
00:23:35
Ah, esto de aquí
00:23:39
Vale
00:23:44
Vale, pues venga
00:24:07
Ejercicio 13
00:24:11
Que lo teníamos por aquí
00:24:13
Leer un número entero
00:24:14
Suponemos comprendido entre 1 y 7
00:24:16
No podemos verificarlo
00:24:18
Porque para verificarlo tendríamos que tener un bucle
00:24:20
Que estuvieramos todo el rato pidiéndole hasta que metiera un 7
00:24:21
No sabemos bucles
00:24:24
Pues asumimos que
00:24:25
Que lo va a meter bien
00:24:27
Y si no, pues nos vamos y ya está
00:24:29
Vale, pues venga
00:24:31
¿Un rango dónde?
00:24:33
Pero
00:24:43
¿Poner un rango dónde?
00:24:44
Pero poner un rango
00:24:48
¿En qué? ¿Variables que solo puedan tener valores
00:24:48
De 1 al 7?
00:24:50
Ya, pero
00:24:56
¿Qué tipo le darías a esa variable?
00:24:57
Sí, ¿qué tipo le darías?
00:25:04
O sea, las variables tienen que tener un tipo, ¿no?
00:25:05
Entonces, ¿cómo casarías una variable
00:25:08
que solo pueda tener un 2, 3, 4, 5, 6, 7?
00:25:11
¿Qué tipo le darías?
00:25:13
Vale, int.
00:25:16
¿Y ahora qué haces?
00:25:17
Ponía con un booleano algo
00:25:19
y pondría
00:25:20
el número, tiene que ser
00:25:21
menor que o igual a 5.
00:25:24
Ah, bueno, sí, claro.
00:25:26
Claro.
00:25:28
Y si no, cierras el programa.
00:25:30
Ah, vale, vale, sí, eso es lo que íbamos a poner.
00:25:32
Pero me refiero que no puedes
00:25:34
obligarle
00:25:35
A que te meta ese número
00:25:37
No puedes obligarle
00:25:40
A menos que le metieras en un bucle infinito
00:25:41
Que está pidiéndoselo todo el rato
00:25:43
Pero es que no sabemos hacer bucles
00:25:45
Entonces
00:25:46
Bueno, por ahora le decimos
00:25:48
Que introduzca un número
00:25:53
Entre
00:25:54
1 y 7
00:26:03
Y lo leemos
00:26:05
Aquí
00:26:12
Vale, entonces efectivamente
00:26:13
Puede habernos hecho caso
00:26:23
o no, vamos a decir
00:26:27
si no nos ha hecho caso le decimos
00:26:28
pues lo sentimos
00:26:30
entonces vamos a ver
00:26:31
si
00:26:34
nos ha hecho caso
00:26:36
entonces si
00:26:38
n num
00:26:39
es
00:26:42
mayor o igual que 0
00:26:43
y
00:26:48
num es menor
00:26:48
o igual que 7
00:26:52
entonces nos ha hecho caso y ya podemos
00:26:53
aquí hacer el código que vamos a hacer
00:26:56
Y si no, pues le podemos poner un mensajito de despedida.
00:26:57
Ah, perdón, mayor o igual, mayor que cero estrictamente, sí, sí.
00:27:08
El número no es válido.
00:27:15
Vale, entonces, si el número introducido no es válido, el programa se va a ir al ELSE,
00:27:20
va a mostrar el mensaje y cuando yo el ELSE ha terminado,
00:27:30
sigue la siguiente instrucción y como ya no hay nada, el programa va a terminar.
00:27:33
Vale, entonces, si metemos un número no válido, el programa muestra el mensaje y ha acabado. Solamente va a hacer cosas aquí. Entonces, aquí tendríamos que poder ir a todo el código. Vale, aquí lo único es que nos queda un código un poco más ilegible, porque si yo tengo que meter aquí todo lo que hace mi programa, todo,
00:27:36
y si eso es muy largo, eso ya
00:28:05
empieza ya tabulado ya directamente
00:28:07
entonces ya empieza demasiado metido a la izquierda
00:28:09
es solamente una cuestión de estilo y de elegibilidad
00:28:12
¿vale? entendéis que
00:28:14
tal y como yo lo he planteado, todo mi programa
00:28:15
el que opera con estos números
00:28:17
sea corto, sea largo, todo mi programa
00:28:19
va a ir ya aquí tabulado
00:28:21
porque es que si no lo tabulo es un estilo muy feo
00:28:22
no pasa nada
00:28:25
pero ya esto empieza a ser un poquito ilegible
00:28:26
porque un montón de sentencias ya van a estar aquí
00:28:29
entonces bueno
00:28:31
Puedo cambiar un poquito esto
00:28:33
A lo mejor lo puedo cambiar
00:28:37
Para que tenga otra estructura
00:28:38
Y es
00:28:40
Por ejemplo, vamos a poner la negada de esta condición
00:28:42
¿Vale?
00:28:45
Vamos a poner
00:28:48
Bueno, ¿qué ibas a decir?
00:28:49
Si no lo podrías hacer, por ejemplo
00:28:51
Yo que tenía pensado usar char y string
00:28:52
Que cosa
00:28:55
Ya, pero es que todavía no he metido a hacerlo
00:28:55
O sea, estoy cambiando esto para que no se me quede
00:28:58
Todo mi código tabulado
00:29:00
yo lo hice
00:29:02
que bueno
00:29:04
teniendo eso
00:29:05
el string cambiaba
00:29:07
martes, miércoles, jueves
00:29:08
y que si no era
00:29:09
ni uno, ni dos, ni tres
00:29:10
hasta el siete
00:29:11
pues salió el chart
00:29:12
o sea, sin un
00:29:13
era diferente
00:29:14
vale
00:29:15
vale
00:29:16
pero como todavía
00:29:17
nosotros no sabemos
00:29:18
cómo vamos a hacer el código
00:29:18
tenemos esta estructura
00:29:19
todavía esto para nosotros
00:29:21
es una caja negra
00:29:22
¿vale?
00:29:23
es una caja negra
00:29:23
entonces
00:29:24
tenemos aquí una estructura
00:29:24
en la que vemos
00:29:27
que
00:29:28
yo aquí voy a meter un programa
00:29:28
todavía no sé cuál es
00:29:29
pero sé que este programa
00:29:30
se va a quedar aquí
00:29:32
tabulado a la derecha. Entonces, ya queda un poco
00:29:33
feo. ¿Vale? Entonces,
00:29:35
vamos a
00:29:37
cambiar esto y vamos a decirlo.
00:29:39
Si esta condición
00:29:41
no se cumple, si esta condición
00:29:43
no se cumple, ahí es cuando pongo el mensaje
00:29:45
de despedida y cierro
00:29:47
el programa. ¿Vale?
00:29:49
Eso lo podríamos hacer.
00:29:51
Es decir,
00:29:53
entonces, si
00:29:55
esta condición no se
00:29:57
cumple toda ella,
00:29:59
es decir, si no es verdad que
00:30:01
el número esté comprendido entre 0 y 7
00:30:03
y por las leyes del
00:30:04
álgebra de Boole, esto sería
00:30:07
lo mismo que decir
00:30:09
la negada de esta o la negada de la
00:30:09
otra, es decir, si num menor o igual que 0
00:30:13
perdón, si num
00:30:15
menor o igual que 0 o num mayor
00:30:17
que 7, ¿vale? es lo mismo
00:30:19
decir la negada
00:30:21
de todo esto o decir
00:30:22
o esta no o bien esta no
00:30:24
¿vale? da igual como lo
00:30:27
expresemos, pues entonces aquí es cuando muestro
00:30:29
el mensajito, así
00:30:31
muestro el mensajito
00:30:35
y
00:30:37
si tuviera alguna forma
00:30:39
de decirle al programa para
00:30:41
termina, sería perfecto
00:30:43
porque entonces ahora
00:30:45
yo ya no tendría que poner else
00:30:47
¿vale? no tendría que poner
00:30:49
else
00:30:51
y esto
00:30:52
me sobra y si llega a este punto
00:30:55
es porque el programa no ha terminado
00:30:57
entonces si entra en el id
00:30:59
Entra por aquí y el programa se cierra
00:31:01
Fuera
00:31:03
Y si no se cierra es porque no ha entrado aquí
00:31:04
Luego seguiría con la siguiente
00:31:07
Bueno, eso siempre podéis hacerlo
00:31:09
Hay una sentencia que es
00:31:11
Esta
00:31:13
¿Vale?
00:31:15
Con la que el programa
00:31:17
Termina
00:31:20
Entonces, ahora yo aquí ya seguiría con mi código
00:31:22
¿Vale?
00:31:25
Es decir, y esto significaría
00:31:27
Verifica la condición
00:31:29
que no se cumple la condición
00:31:31
que no se cumple
00:31:34
adiós y fuera
00:31:35
vale, y el programa ha terminado
00:31:37
pero que ocurre si la condición esta
00:31:39
no se cumple
00:31:42
o lo que es lo mismo si el número es válido
00:31:44
si el número es válido no entra aquí
00:31:45
por lo cual no entrará aquí
00:31:46
el programa no se va a cerrar
00:31:48
y seguiríamos con la siguiente
00:31:50
entonces yo aquí ya pongo mi programa
00:31:52
y no necesito meterlo en un ELSE ni en nada
00:31:54
no necesito tabular ni nada
00:31:57
porque no tiene que ir a un ELSE
00:31:58
porque si ha llegado a este punto
00:32:00
si ha llegado es porque no entró aquí
00:32:02
porque si entró habría terminado
00:32:04
¿vale?
00:32:06
entonces lo digo, aprovecho esta coyuntura
00:32:08
para decirlo porque esta es una forma
00:32:11
de cerrar siempre un programa
00:32:12
pero es una forma fea
00:32:13
porque ¡pum!
00:32:15
no se ve muy bien el flujo del código
00:32:18
es una forma de forzar
00:32:20
terminar el programa
00:32:22
lo mejor es que un programa termine
00:32:24
porque se han terminado todas las sentencias
00:32:26
Porque se ha acabado, porque hemos llegado al final.
00:32:28
Así es como terminan los programas.
00:32:30
No porque yo lo he forzado así.
00:32:32
¿Vale? No porque yo lo he forzado así.
00:32:34
Entonces, efectivamente,
00:32:37
planteando el código,
00:32:40
habéis planteado vosotros,
00:32:41
ahorráis hacer esto.
00:32:42
¿Vale? Entonces, yo por ahora lo voy a dejar esto así.
00:32:43
Si el número no es válido,
00:32:45
vamos al mensaje y va a salir.
00:32:47
Y ahora ya vamos a hacer el código.
00:32:49
¿Vale? Vamos a hacer el programa
00:32:52
que tenemos que hacer.
00:32:53
Vale, bueno, vamos a parar
00:32:54
un momentito aquí antes de hacerlo.
00:32:56
Gracias.
00:32:58
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 9
- Fecha:
- 10 de octubre de 2024 - 16:55
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 33′
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 142.38 MBytes