Saltar navegación

Ejercicios IF 1 - 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 4 de octubre de 2024 por Stefano C.

26 visualizaciones

Descargar la transcripción

Entonces, estos serán unos ejercicios sobre if, ¿vale? 00:00:00
Vamos a corregir el ejercicio 4, y si vosotros habláis me dais permiso de grabaros. 00:00:03
Realizar un programa que lea un número que debe ser menor que 10 e indique si exprimimos o no. 00:00:10
Esto es fácil, a lo mejor es de esos que son tan fáciles que pensáis, no es así como se hace. 00:00:16
Ejer 4. 00:00:24
entonces 00:00:25
se lee, ¿no? al fondo 00:00:28
¿sí? entonces 00:00:30
hago un main 00:00:32
pelín más grande, ¿está bien? 00:00:34
entonces, lo que tengo 00:00:45
que hacer es leer un número 00:00:47
y que este número sea menor que 10, ¿vale? 00:00:49
scanner 00:00:52
scanner es igual a 00:00:53
new scanner 00:00:54
de system.in 00:00:55
aquí importo 00:00:58
scanner, vale 00:01:02
Leo un número 00:01:03
int n es igual a scan.nextint 00:01:05
Antes le digo 00:01:09
Acordaos que cada vez que leéis algo 00:01:13
Le tenéis que decir que vais a leer 00:01:15
Eso 00:01:17
Dame un número 00:01:18
¿Sí? 00:01:22
Ok, tengo este número 00:01:24
La primera cosa que voy a hacer es comprobar 00:01:26
Si es en el rango de números que me gustan a mí 00:01:28
Si no es en el rango de números que me gustan a mí 00:01:31
Y le voy a decir, mira, te has equivocado, porque yo quiero un número de 0 a 10, ¿sí? 00:01:34
Vale, entonces me pregunto, si n es menor que 0 o n es mayor que 10, pues el número no es válido, ¿sí? 00:01:41
Si es menor que 0 o mayor que 10 00:02:06
Estricto, porque 0 y 10 lo quiero 00:02:12
¿Dudas hasta aquí? 00:02:14
Vale 00:02:17
Si no, quiere decir que estoy en la sección 00:02:17
En la que el número que me han dado es correcto 00:02:23
¿Vale? 00:02:27
Y ahora necesitaría saber qué es un número primo 00:02:27
Número primo es un número que... 00:02:30
00:02:32
Me explico 00:02:36
sería end si tú lo quieres 00:02:38
entre 0 y 10 00:02:40
pero yo no estoy comprobando 00:02:41
si es menor o mayor 00:02:43
lo podrías poner al revés 00:02:45
porque si lo veis que vosotros 00:02:48
os acostumbráis al end y usáis solo el end 00:02:50
y el or no sabéis que es, pues aquí 00:02:52
el número primo 00:02:53
un número primo es un número que es divisible 00:02:58
solo por sí mismo y por uno 00:03:00
entonces 00:03:02
si tuviéramos un while, un for 00:03:04
O algunos mecanismos de iteración 00:03:06
Podríamos hacer cosas guay 00:03:08
Tipo pillar el número 00:03:11
Empezar a dividirlo por el número anterior 00:03:12
Y luego por dos números anteriores 00:03:14
Y luego por tres números anteriores 00:03:16
Y ver que efectivamente solo es divisible por sí mismo 00:03:17
Y por el uno 00:03:20
El problema es que no tenemos eso 00:03:20
Entonces por ahora lo tenemos que hacer 00:03:23
De una forma fea 00:03:25
Es la razón de por qué te ha puesto de 0 a 10 00:03:27
¿Por qué solo de 0 a 10? 00:03:30
No te habría puesto cualquier número 00:03:32
Que es lo que haremos cuando veremos el iterador 00:03:33
Habrá el programa de 00:03:36
Dime si el número introducido es 00:03:38
Primo o no 00:03:40
Pero por ahora no 00:03:41
Entonces lo que tenemos que hacer nosotros 00:03:43
Es saber cuáles son los números primos 00:03:46
De 0 a 10 00:03:48
1, 3, 5, 7 00:03:50
1, 2 00:03:53
2 no es primo 00:03:54
1, 2 00:03:56
3, 5, 7 00:03:58
¿Vale? 0 es primo 00:04:00
No tengo ni idea 00:04:01
Vamos a hacer 00:04:02
Vale, hop, resuelto el problema del 0, ¿vale? 00:04:04
Ok, entonces, si n es 1, o n es 2, o n es 3, o n es 5, o n es 7, 00:04:09
si es uno de estos números primos 00:04:31
si eso es primo 00:04:35
el se 00:04:39
si eso no es primo 00:04:42
ahí, ya está, he hecho el ejercicio 00:04:47
duda 00:04:50
¿cómo? ¿por qué? 00:04:51
¿eh? lo dice Google 00:04:57
¿es dividible por uno y por sí mismo? 00:04:59
sí, bueno, no sé, vale, asumamos que no 00:05:01
¿en serio? Google dice que no es primo 00:05:03
va, está bueno 00:05:09
Ahora luego lo busco 00:05:10
Según la definición parecía 00:05:14
Pero se harán estas cosas matemáticas raras 00:05:16
Por lo que 1 más 1 no es 2 00:05:18
Cosas por el estilo 00:05:20
Ahí, solucionado el problema del 1 00:05:21
¿Dónde está el problema del 1? 00:05:27
No hay problema del 1, ¿vale? 00:05:29
Es un número de 2 a 10 00:05:30
Y ya está 00:05:31
¿Vale? 00:05:34
Aquí, por ahora 00:05:36
El problema matemático 00:05:38
Es una excusa 00:05:41
Se usan estas cosas de matemática, del bisiesto, para que el programa haga algo. 00:05:42
Pero, sustancialmente, donde estáis trabajando es esto. 00:05:52
A mí no me cambia el programa informático si aquí pongo n igual a 1 o no lo pongo. 00:05:55
La idea es que esto es un if dentro de un if. 00:06:01
Más o menos. 00:06:05
Podría 00:06:05
Podría hasta evitar este if de aquí 00:06:07
Poner esto directamente 00:06:13
Si es uno de estos, decir es primo 00:06:15
Y si no, decir 00:06:17
O no es primo, o es mayor que 10 00:06:18
¿Sí? 00:06:21
Sería menos 00:06:24
Hilar menos finos 00:06:25
Pero 00:06:27
¿Sí? 00:06:28
¿Ok? 00:06:30
Esto era el 4, ¿vale? 00:06:31
Lo que pasa es que parece demasiado sencillo 00:06:33
Porque claro, si yo te digo ahora 00:06:36
AME de 2 a 100, pues aquí 00:06:37
esta cosa aquí se vuelve un poquito 00:06:39
más larga. Si te digo AME de 2 a 00:06:41
5 millones, pues 00:06:43
es todavía más complejo. 00:06:45
Necesitaría algo que 00:06:48
me compruebe, un algoritmo 00:06:49
que me diga si un número 00:06:52
es primo o no, que es lo que haremos 00:06:53
después. ¿Por qué? Porque 00:06:55
para poder saber si 5 es primo 00:06:57
yo tengo que hacer que 00:06:59
5 dividido 5 es posible. 00:07:01
Vale, fenomenal. 5 dividido 4 00:07:03
no es entero 00:07:05
5 dividido 3 no es entero 00:07:06
5 dividido 2 no es entero 00:07:08
y 5 dividido 1 si se puede hacer 00:07:10
si esto consigo hacerlo 00:07:12
pues entonces puedo decir que 5 es primo 00:07:14
y es una operación 00:07:16
que tengo que hacer 00:07:19
si me das 5 como número 00:07:20
por 5, 4, 3, 2, 1 00:07:22
si me das 27 00:07:25
27, 26, 25, 24, 23, 22 00:07:26
en su formato más sencillo 00:07:29
porque en realidad 00:07:32
no es el algoritmo que se utiliza 00:07:33
de verdad. Hay optimizaciones de esto. Pero como ahora nosotros solo tenemos el if, la 00:07:35
única opción que se nos queda es esta, hacer un listado de cuáles son los valores que 00:07:43
me valen y ya está. ¿Dudas? Vale. Ahora entramos en vez de un ejercicio un poquito 00:07:47
más interesante. Esto habría molado que lo hubieses hecho vosotros. El ejercicio 5 00:07:55
dice, realiza un programa que lea un número entero de tres cifras e indique si se lee 00:08:05
igual de izquierda a derecha y de derecha a izquierda. Esto es interesante. Vamos a 00:08:20
hacerlo. Este de aquí empieza a ser un problemilla que os podéis meter a pensar un poco. Este 00:08:25
tipo de problemas son los interesantes. No el dímese un número de par o impar, porque 00:08:35
es una operación y es vale si la operación lo hago bien no sé la operación se pensó un ratito 00:08:41
y lo intento pero esto no esto es tengo que empezar a machacar la cosa y se puede hacer 00:08:46
al menos dos formas pues vamos a ver si hacemos las dos primero de todo como no leo un número 00:08:53
que como soy vago lo copio esta vez dame un número de tres cifras podría asumir directamente que me 00:09:03
dan un número de tres cifras y empezar a trabajar o comprobar que este número es 00:09:17
de tres cifras teniendo en cuenta que parte de vuestro trabajo como 00:09:22
programadores será comprobar los datos que os dan vale asumir que cuando os dan 00:09:25
un dato tú le has pedido una cosa y el usuario como no te da otra entonces tú 00:09:31
tienes que decirle oye mira no es todos estos formularios que hacéis en internet 00:09:35
que cuando le dais no lanza y pone en rojo una casilla y dice aquí tenías que 00:09:39
poner algo, o has puesto un DNI pero falta un número, pues este tipo de datos es aquí, 00:09:44
¿vale? Entonces vamos a comprobarlo. Es un if al fin y al cabo. ¿Cómo sé si un número 00:09:51
num, un número n, es de tres cifras? Length. Es un número. ¿Existe length? ¿Puedo hacer 00:09:56
length sobre un int? No. ¿Por qué os queréis tan poco? If n es menor de 100 o n es mayor 00:10:05
de 999, y estos son todos los números de tres cifras que conozco. ¿O no? Pues entonces 00:10:28
Porque me complico, lo paso a string 00:10:34
Luego hago un método 00:10:36
Luego veremos 00:10:37
Qué hacemos 00:10:40
Ahora no estamos en luego 00:10:41
Porque luego podemos hacer un aeropuerto 00:10:43
Pero ahora no estamos en luego, estamos aquí 00:10:45
¿Vale? Es una versión fácil 00:10:47
¿Que puedo transformar esto en string? 00:10:49
Y cosas así, pues hacemos dos versiones 00:10:52
Versión numérica 00:10:55
Y versión 00:10:56
String 00:10:59
Por ahora estamos en versión numérica 00:11:01
Trabajamos con números 00:11:04
¿Vale? Entonces, si el número es así, el número no es válido, porque es o de dos cifras o de cuatro cifras, por lo tanto no me vale. 00:11:05
¿Sí? Si no, tened en cuenta que esto se puede hacer al revés. 00:11:21
En vez de poner esta cosa aquí, yo puedo poner como condición, si n es mayor que 99 y n es menor que 1000, y me estoy preguntando al revés que esto. 00:11:27
¿Sí? 00:11:43
O también puedo hacer, si n es menor que 100 o n es mayor que 999. 00:11:44
Y luego todo esto 00:11:54
Lo niego 00:11:56
Esta cosa de aquí 00:11:58
Buleánicamente 00:12:05
Equivalente a esta 00:12:07
Porque es el revés 00:12:09
De esto, con el not 00:12:11
Lo das 00:12:13
O sea que, está claro que 00:12:17
Si uso esto de aquí 00:12:20
Lo que ahora he puesto aquí 00:12:21
Irá en el else 00:12:23
Y lo que pongo en el else irá aquí 00:12:24
Porque estoy comprobando 00:12:26
El revés 00:12:28
El booleano lo que es guay es que es true or false 00:12:29
Uno o el otro 00:12:32
¿Sí? Vale 00:12:33
Else 00:12:34
A ver, el else es 00:12:37
Vale, si yo llego aquí 00:12:41
Quiere decir que 00:12:43
N es de tres cifras 00:12:44
¿Sí? ¿Están de acuerdo? Vale 00:12:46
Hagamos lo mismo 00:12:51
O parecido, pero en versión string 00:12:52
¿Sí? Para versión string 00:12:57
Lo que hacemos es 00:12:59
String n es igual 00:13:01
String ns 00:13:03
número en string, ¿vale? es igual 00:13:05
a esto, ¿sí? ¿lo puedo hacer? 00:13:09
a este punto lo que puedo preguntarme es 00:13:16
si ns.lang 00:13:19
es distinto 00:13:24
de 3, entonces el número 00:13:28
no es válido, yo he transformado 00:13:32
el número en un string 00:13:35
entonces, si es un número de tres cifras 00:13:37
me ocupará tres caracteres 00:13:40
si digo que 00:13:42
la longitud es distinta 00:13:44
de tres, será un número de dos 00:13:46
de uno, de cinco, no me vale 00:13:48
a mí me vale solo de tres cifras 00:13:50
en los dos casos 00:13:52
tanto si lo hago numéricamente 00:13:54
utilizando el número, utilizando int 00:13:56
aquí estoy trabajando con int 00:13:58
como si utilizo string 00:13:59
cuando estaré en el else 00:14:01
n es de tres cifras 00:14:03
el número que me han dado es de tres cifras 00:14:07
me he cerciorado 00:14:09
de dos formas distintas 00:14:10
aquí numéricamente 00:14:13
y aquí 00:14:14
característicamente 00:14:15
que n es de tres cifras 00:14:17
es un número válido para mi programa 00:14:21
dudas hasta aquí 00:14:23
sigo 00:14:25
vale 00:14:29
ahora la ventaja que tenemos 00:14:30
es que sabemos que son 00:14:36
tres cifras y uso solo tres cifras, no hay ningún problema más, ¿vale? El problema 00:14:38
que podría tener si tuviera números que no sé de cuántas cifras son, es que no lo 00:14:47
puedo hacer si no tengo un iterativo, ¿vale? Lo que voy a hacer ahora en tres cifras, lo 00:14:56
puedo hacer porque con if digo, esta, esta, esta, ¿vale? Y trabajo con tres, sé que 00:15:02
son tres. Si no sé cuántas cifras son, puedo 00:15:05
lograr saberlo con esto. Con esto podría saber 00:15:09
cuántas cifras son. Pero luego ahora le debería decir, me pongo que son 00:15:13
diez, pues empieza a hacer cosas por cada una de estas cifras. Si son siete, por 00:15:17
estas. Si son cuatro, por estas. Y como no sé hacer algo 00:15:21
n veces, porque todavía no he visto los iterativos, 00:15:25
pues no lo puedo hacer. Ahora esto es una versión 00:15:30
fea, porque claro, estamos haciendo nosotros ejercicios que requerirían 00:15:33
para ser bonitos, un while o un for 00:15:38
y como no tengo el while y el for, porque no tengo ni idea de que es, pues entonces 00:15:41
lo hago con if y salen feos, son soluciones a problemas 00:15:45
básicos, o sea, lo bonito de esto 00:15:50
sería decir, dame un número y te digo si es 00:15:54
palíndromo, si se puede leer de un lado para el otro 00:15:57
¿Vale? Cualquier número 00:16:01
Solo que no lo puede hacer 00:16:03
Solo con if este problema 00:16:05
Porque con este if 00:16:06
Puede hacer problemas como 00:16:08
Dame un número de 3 cifras 00:16:09
O de 5 cifras 00:16:11
O de 27 cifras 00:16:12
Que viene un infierno 00:16:14
Pero se puede hacer 00:16:15
Y entonces lo puede hacer solo con if 00:16:16
Sin nada 00:16:18
¿Sí? 00:16:19
Entonces 00:16:21
¿Qué vamos a hacer? 00:16:21
Son 3 cifras 00:16:25
¿Lo hacemos antes con string 00:16:26
Que sale más fácil? 00:16:30
Entonces, ¿cómo lo hago con string? 00:16:31
Charat 00:16:38
Me puedes dictar que escribo 00:16:38
Venga 00:16:47
Cuando el número será igual 00:16:48
Leyéndolo por aquí o por aquí 00:16:57
Cuando el primer y último número 00:17:00
Serán iguales 00:17:07
Porque el número del centro será siempre igual 00:17:08
Que lo lea por así o lo lea por allí 00:17:10
El número del centro va a siempre ser igual 00:17:12
Lo que me interesa es que los últimos 00:17:13
Los extremos sean el mismo 00:17:16
Porque si son distintos 00:17:18
No se lee igual casi así 00:17:20
Tiene que ser 232 00:17:21
O 494 00:17:24
¿Sí? 00:17:27
Entonces simplemente tengo que preguntarme 00:17:29
Si el primer 00:17:31
Número es igual al último número 00:17:32
¿Cómo hago esto? 00:17:36
Me falta algo 00:17:38
Charat ¿De qué? ¿De quién? 00:17:45
¿Sobre quién lo hago el charat? 00:17:48
Charat es un método 00:17:55
De string 00:17:57
Necesito una string para hacer algo sobre eso 00:17:59
No puedo hacer charat 00:18:01
Charat 00:18:03
No puedo hacer charat 00:18:04
Porque no sé sobre qué lo estoy haciendo 00:18:07
El carácter en posición 00:18:11
Dos 00:18:12
¿De qué? 00:18:15
¿Sí? 00:18:17
Entonces necesito una string 00:18:18
¿Qué string? 00:18:19
En ese punto 00:18:20
Siempre complicándoos la vida 00:18:22
Yendo desde mayor a menor 00:18:38
Porque para qué leer un número de la izquierda a la derecha 00:18:40
cuando se puede leer de derecha a izquierda 00:18:42
si esto es verdadero 00:18:44
quiere decir que 00:18:46
es como lo habéis llamado 00:18:47
capicú o palíndromo 00:18:53
no lo dice 00:18:55
entonces capicú es para número 00:19:06
capicú 00:19:09
un acento aquí 00:19:16
pero nosotros no lo usamos 00:19:17
vale, y si no 00:19:20
si eso 00:19:22
nope 00:19:26
vale 00:19:27
ya está, he hecho el ejercicio 00:19:29
Si uso string, si sé convertir string a int, int a string y cosas por el estilo 00:19:32
Pues este es el ejercicio 00:19:39
Esto posiblemente es la versión más sencilla de este ejercicio que se puede hacer 00:19:43
Es la cuestión de, yo aquí le veo al menos tres o cuatro algoritmos 00:19:48
Pero no todos son sencillos de implementar de forma igual 00:19:54
El de números 00:19:58
¿Cómo hago lo mismo? Pero mis redes neuronales no han sido entrenadas para utilizar string, 00:20:06
entonces no tengo ni idea de cómo convertir un int en un string y por lo tanto no voy a utilizar int. 00:20:13
No voy a utilizar string. 00:20:21
Para eso, lo que tengo que hacer es descomponer de alguna forma mi número de tres cifras en tres dígitos. 00:20:22
¿Cómo lo puedo hacer? 00:20:36
Int, unidad, ¿cómo dado un número de tres cifras puedo sacar su unidad? 00:20:39
Exacto, en el módulo 10, el resto de la división entera por 10. 00:20:52
Si yo tengo 352, dividido 10, ¿cuánto haría? 00:21:08
35, con resto de, uy, lo que buscaba. 00:21:14
¿Sí o no? 00:21:22
entonces, si no he entendido 00:21:22
los strings, más vale 00:21:26
que haya entendido el módulo 00:21:28
porque si no, perfecto 00:21:29
ok, ahora quiero 00:21:34
decenas, no me sirve 00:21:36
porque en realidad no lo voy a comprobar 00:21:38
pero ya que estamos 00:21:40
decenas, ¿cómo saco las decenas 00:21:41
de n? 00:21:44
antes de la unidad 00:21:47
quiero las decenas, te he dicho 00:21:51
no me va a servir, pero quiero las decenas 00:21:52
¿no? 00:21:54
¿Qué hago? No, porque me daría 352 modos 100, me da 52, me da 3 con resto de 52, es n dividido 10 como enteros, 00:21:57
entonces sustancialmente me daría 35, y a este 35, ¡easy! ¡Pum! 00:22:19
Hay que saber jugar con el operador, hay que saber que la división entre enteros da un entero, hay que trabajar con esto, 00:22:32
hay que empezar a hilar todo lo que un tío que habla con un acento raro os ha dicho desde hace 25 horas de clase. 00:22:44
¿Se entiende esto? 00:22:56
Probámoslo sobre este 152. 00:22:58
N dividido 10, ¿cuánto hace? 00:23:00
Daría esto. 00:23:02
Justo. 00:23:05
Pero como es un int y esto es un int 00:23:05
El resultado de esto es la división como int 00:23:10
Es decir, me da esto 00:23:13
Y ahora le digo, a este de aquí haces módulo 10 00:23:16
Dividido por 10 daría 3 00:23:20
Con resto 5 00:23:23
Por lo tanto la operación está aquí 00:23:25
Sobre 352 me devuelve 5 00:23:28
Centenas 00:23:31
¿Cómo se harán las centenas? 00:23:37
N, o N dividido 100, módulo 10. 00:23:44
Me gusta también N menos decenas menos unidades, dividido 100. 00:24:04
Vale también. 00:24:19
Aquí ni siquiera uso el módulo. 00:24:20
¿Podría utilizar esto para esto? 00:24:22
No, porque me remane un número más grande. 00:24:24
Aquí no lo uso mal. 00:24:28
¿Vale? Pero la idea es que si he entendido esto de aquí, pues a lo mejor no lo cambio al último. 00:24:30
Pero esto funcionaría también. 00:24:38
¿Sí? Entonces, después de estos tres pasos, he descompuesto, descomponido, descompuesto, 00:24:43
el número que me han dado, que sé ser de tres cifras, porque si esto no supiera que son de tres cifras ya tengo un problema. 00:24:54
en unidades, decenas y centenas. 00:25:01
Hemos dicho que las decenas no me interesan. 00:25:05
Porque siempre se harán lo mismo de un lado para el otro. 00:25:08
Lo que quiero para que esto sea capicúo es que las unidades sean iguales a las centenas. 00:25:12
Entonces, ¿qué hago? 00:25:18
Si unidades es igual a centenas, es capicúo. 00:25:19
Y si no, unidades. 00:25:35
fijaos que la condición aquí habría podido ser 00:25:38
si esto es igual a esto 00:25:49
y me ahorro las variables 00:25:57
solo que si yo lo hago así 00:26:03
probablemente el 97% de vosotros lo entiende 00:26:12
si yo os disparo este código de aquí 00:26:16
al 50% de vosotros 00:26:19
le viene un 00:26:21
aneurisma o similar. 00:26:24
¿O no? 00:26:27
Tú ves esto, 00:26:31
esta es la solución. 00:26:33
Y os quedáis como, ¿qué? 00:26:34
Ahora, veis esto 00:26:37
y os quedáis como, ¿qué? 00:26:38
Pero luego, después de un rato, 00:26:40
pensándolo. 00:26:43
¿Sí? 00:26:45
Entonces, ¿cuál es mejor? Ninguno. 00:26:47
Dan asco los dos. 00:26:48
Los tres en concreto. 00:26:51
Entonces, aquí hemos visto al menos dos formas de solucionarlo, numéricamente o con string. 00:26:52
Se podría también hacer una combinación de las dos, depillando estos tres, transformarlos en string, 00:27:07
luego hacer un equals entre los string de un lado y su número escrito al revés. 00:27:14
Pero sería más complejo, más trabajo para nada 00:27:20
¿Vale? Estos son más eficientes como ejercicio 00:27:23
Yo aquí, por ejemplo, habría podido hacer 00:27:27
String sn 00:27:30
Que sería al revés 00:27:33
¿Vale? 00:27:35
Es igual a charat0 00:27:36
No, charat2 00:27:41
Más 00:27:43
Perdón, ns 00:27:44
ns.charat2 00:27:46
más 00:27:50
ns.charat1 00:27:51
más 00:27:54
ns.charat0 00:27:58
y luego preguntarme 00:28:00
bueno, esto no me lo da 00:28:06
si no lo hago así 00:28:08
y luego preguntarme si 00:28:09
ns.equals 00:28:11
no, porque si hago 0, 1, 2 00:28:15
lo estoy leyendo otra vez 00:28:24
en el mismo sentido 00:28:25
Antes el primer carácter, luego el segundo, luego el tercero. 00:28:27
En vez de este de aquí, lo estoy combinando leyendo el último, luego el del centro y luego el primero. 00:28:29
O sea, estoy escribiendo NS al revés, a la izquierda. 00:28:35
Pero en SN quiero que esté más a la derecha. 00:28:43
¿Esto es el número que he leído? 00:28:46
Esto es el número al revés. 00:28:49
Estoy escribiendo este número al revés. 00:28:51
Entonces, si este número es 123, yo quiero primero pillar esto. 00:28:53
Luego este y luego este. 00:29:00
Y así escribo 321. 00:29:03
Posición cero. 00:29:07
Es charata de cero. 00:29:11
Cero, uno, dos. 00:29:17
¿Es ya la segunda vez que intentas leer las cosas de derecha a izquierda? 00:29:20
Pues no, de izquierda a derecha. 00:29:23
¿Vale? 00:29:25
Japón, otra cuestión. 00:29:26
O árabe. 00:29:28
¿Vale? 00:29:29
Entonces, si no fiáis, esto podéis hacer si, iso, en ese. 00:29:31
Y luego ver que efectivamente 00:29:37
Lo he escrito al revés aquí 00:29:40
Si eso 00:29:41
Entonces si estos son así 00:29:44
Esto luego queda igual 00:29:48
Y esto habría que meterlo 00:29:49
Dentro de esta cosa aquí 00:30:01
Si no 00:30:03
Si bla bla bla bla bla bla 00:30:09
Contra el f 00:30:12
Ahí, vale 00:30:14
Entonces 00:30:15
Tres soluciones damos aquí 00:30:17
La solución número uno 00:30:19
La numérica 00:30:23
¿Sí? Está aquí 00:30:25
Trabajo todo solo con int 00:30:27
Solución número dos 00:30:29
Pillo 00:30:32
El número lo transformo en un string 00:30:33
Escribo su contrario 00:30:36
Y luego compruebo que los dos contrarios sean iguales 00:30:38
¿Vale? 00:30:41
Esto habría que ponerlo aquí dentro 00:30:43
Ahí 00:30:47
Antes compruebo que tenga 00:30:49
Que sea de tres cifras 00:30:52
Si no es de tres cifras, esto no lo puedo hacer 00:30:54
¿Sí? 00:30:55
Pero si aquí estoy seguro que es de tres cifras 00:30:58
Pues entonces escribo su 00:31:00
Opuesto y luego comprobo este 00:31:02
Y si no, con este de aquí 00:31:04
Comprobando carácter por carácter 00:31:06
El primero con el último 00:31:08
Posiblemente por eso tú habías puesto dos aquí y uno aquí 00:31:09
Ecer aquí, porque lo vi y ya salió 00:31:12
Vamos a ver si funciona 00:31:13
Dame un número de tres cifras 00:31:16
no válido 00:31:23
2 que viene ese, ¿dónde es que tiene ese? 00:31:25
¿por qué me he equivocado aquí? 00:31:30
esto quiero yo 00:31:34
entonces, si pongo 2 00:31:35
pues esto válido, vale 00:31:38
si pongo 00:31:39
esto, no válido tampoco 00:31:41
si pongo un número 00:31:43
243 00:31:45
me dice que no es 00:31:47
válido, y fijaos que el 243 00:31:49
me lo escribe como 342 00:31:52
si pongo 00:31:55
535 00:31:56
pues entonces capicúo 00:31:59
porque se lee al revés 00:32:01
dudas? 00:32:02
una cosa, estos son ejercicios muy sencillos 00:32:06
y por lo tanto yo los desarrollo 00:32:09
y luego los pruebo 00:32:11
no lo hagáis 00:32:12
lo que deberíais intentar hacer vosotros 00:32:13
es probarlos 00:32:17
¿si? 00:32:18
No cada pasito, pero cada paso. 00:32:19
Aquí escribo una línea y lo pruebo. 00:32:27
Pero, por ejemplo, antes de probar esta parte de aquí, compruebo esta parte de aquí. 00:32:30
Este if de aquí, una vez que lo he escrito, pues hago un par de pruebas para ver que efectivamente pilla los números que yo quiero. 00:32:36
Cuando ya esto está hecho, me olvido de este problema, me centro en esta parte de aquí y desarrollo un nuevo problema solo aquí, pero donde ya puedo asumir que es de tres cifras. 00:32:42
¿Se entiende? 00:32:57
Esto se llama divide-tímpera. 00:32:59
Divide-vincerás. 00:33:02
La informática y sobre todo la primera parte de la informática donde vosotros trabajáis ahora 00:33:03
Se basa en pillar un problema grande, dividirlo en problemas pequeñitos 00:33:09
Solucionar los problemas pequeñitos y combinar las soluciones 00:33:15
Divide el problema grande en problemas pequeños 00:33:19
Para que puedas enfrentarte a los pequeños 00:33:24
Y luego después cuando tienes la solución de los pequeños pues sigue adelante 00:33:27
Que es la forma de cómo se hace el algoritmo al fin y al cabo 00:33:30
Tengo que hacer este ejercicio 00:33:32
Este ejercicio se compone de dos partes principales 00:33:35
Verificar que el dato es correcto 00:33:37
Y luego comprobar que es capicuo 00:33:39
Entonces lo que se hace es dividirlo en dos problemas 00:33:42
El primer problema es verifico que el dato es correcto 00:33:45
Cuando he solucionado esto me pongo a pensar 00:33:48
Verifica un dato correcto 00:33:51
Como puedo ver si es capicuo 00:33:54
¿Dudas? 00:33:57
¿Hay más ejercicio para corregir? 00:34:02
Autor/es:
Stefano Chiesa
Subido por:
Stefano C.
Licencia:
Reconocimiento - No comercial
Visualizaciones:
26
Fecha:
4 de octubre de 2024 - 12:45
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
34′ 07″
Relación de aspecto:
16:10 El estándar usado por los portátiles de 15,4" y algunos otros, es ancho como el 16:9.
Resolución:
1152x720 píxeles
Tamaño:
101.26 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid