Saltar navegación

20241008 ProgrEstruct-Decision-Ejer_7 - 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 10 de octubre de 2024 por Raquel G.

9 visualizaciones

Descargar la transcripción

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
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
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
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
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
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
nos ha hecho caso 00:26:36
entonces si 00:26:38
n num 00:26:39
mayor o igual que 0 00:26:43
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
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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid