Ejercicios IF 1 - 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:
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
Sí
00:02:32
No
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
Es
00:12:03
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
If
00:17:38
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
sn
00:28:14
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
Sn
00:29:43
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
2
00:31:20
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
y
00:31:53
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