Saltar navegación

20241031ejerciciosDe1A10Arrays - 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 31 de octubre de 2024 por Stefano C.

23 visualizaciones

Descargar la transcripción

Voy a grabar esta clase, por lo tanto, si habláis o hacéis preguntas, me autorizáis a que se grabe vuestra voz. 00:00:01
Empezamos mal. 00:00:08
Entonces, el ejercicio 1 y 2 ya los hemos hecho, ¿verdad? 00:00:11
Entonces empezamos desde el 3. 00:00:17
Leer n números, n solicitados previamente por teclado, almacenándolos en un array. 00:00:19
Y mostrar a continuación la media de los pares y la media de los impares. 00:00:26
Vale, esto es bastante fácil, vamos a hacerlo. 00:00:29
Ejercicio básico, si no me equivoco, en Arrays. 00:00:32
Ejercicio 3. 00:00:37
Ejercicio 3. 00:00:40
En Scanner, Scanner es igual a New Scanner de System.in. 00:00:45
Importo Scanner. 00:00:59
¿Lo conseguiré? 00:01:04
No lo consigo. 00:01:05
Y a este punto voy a leer cuántos números me van a dar 00:01:06
¿Vale? 00:01:15
Entonces, si eso, dime n 00:01:15
E int n es igual a scan.nextint 00:01:22
Claramente en un programa serio debería ser un poquito más explícito que esta cosa aquí 00:01:27
¿Vale? 00:01:32
Entonces, estos son los números que voy a pillar en total 00:01:33
¿Vale? 00:01:37
Entonces, esto me sirve para poder crear el array 00:01:38
¿Vale? Esto será el tamaño del array que quiero crear 00:01:41
Por lo tanto, son números, ¿no? 00:01:45
Int, números es igual a new int, int de n 00:01:47
¿Vale? 00:01:58
Y ahora tengo que entrar en cada uno de ellos y pedir un número 00:02:00
for int i es igual a cero punto y coma i menor que n punto y coma i más más, lo que voy a hacer es, si eso, dame valor así, 00:02:03
Y pondré aquí que en números de la posición i, pondré scan.nexint. 00:02:26
Entonces esto me hará n veces pedirme un valor y guardarlo en la posición i. 00:02:46
Desde 0 hasta n-1. 00:02:53
Cuando salgo de este for, tendré mi array lleno con números. 00:02:56
Y a este punto tengo que hacer la segunda parte 00:03:01
Que es hacer la media de los pares y de los impares 00:03:05
Y aquí se puede interpretar de dos formas 00:03:08
O los valores pares y los valores impares 00:03:11
O las posiciones pares y las posiciones impares 00:03:14
Lo hacemos de las dos formas 00:03:19
Interpreto pares e impares como valor 00:03:21
entonces lo que tengo que hacer es 00:03:29
guardarme este ejercicio 00:03:32
ya lo hemos hecho, cambia la forma 00:03:34
con que me dan los datos que son array 00:03:36
pero leyéndolos de teclado 00:03:38
ya lo hemos visto 00:03:40
y habíamos visto que necesita algunos valores 00:03:41
como doble 00:03:44
contapares 00:03:45
igual a cero 00:03:47
doble 00:03:50
sumapares 00:03:51
igual a cero 00:03:54
doble 00:03:56
Conta impares 00:03:57
Igual a cero 00:04:03
Y doble 00:04:06
Suma pares 00:04:07
Igual a cero 00:04:09
En realidad no necesito que sean todos double 00:04:11
Pero bueno 00:04:13
Soma 00:04:14
No, no pone soma 00:04:17
Impares 00:04:19
Vale 00:04:23
Entonces, estos son los que tengo 00:04:25
Para poder hacer la media tendré que hacer 00:04:27
Todos los pares sumados entre ellos 00:04:29
Perdón, es esto 00:04:31
dividido cuantos pares hay. Entonces ahora lo que voy a hacer es for int x dos puntos números, si x módulo dos es cero, o sea si es par, 00:04:32
tendré que hacer que 00:04:55
contapares 00:04:59
más más 00:05:01
hay un nuevo par 00:05:02
y sumapares 00:05:04
más igual 00:05:06
si no 00:05:10
quiere decir que es un número impar 00:05:13
por lo tanto lo mismo 00:05:16
pero con los impares 00:05:18
imp 00:05:21
imp 00:05:23
contacuenta, da igual 00:05:26
es italiano esto 00:05:28
vale con tapar y sería pero si dudas no porque porque lo dice explícitamente aquí dice el 00:05:31
eterno número solicitado almacénalo en un array y mostrar a continuación la media 00:05:47
la idea es que yo quiero que utilicéis los arrays y si tú lo haces todo aquí podrías hacerlo sin 00:05:55
Usar los arrays, que de hecho es lo que 00:06:02
Hemos hecho antes, entonces estás haciendo 00:06:05
El mismo ejercicio que hemos hecho antes cuando decimos 00:06:07
Luvile, yo quiero que 00:06:08
Vosotros os acostumbréis a recorrer 00:06:13
Arrays, por lo tanto quiero que los ejercicios 00:06:15
Sobre arrays, vosotros recorráis arrays 00:06:17
¿Sí? 00:06:19
Entonces, al final 00:06:21
Sería un siso 00:06:23
Media pares 00:06:24
Más 00:06:32
Suma 00:06:35
pares dividido 00:06:38
con tapares 00:06:40
justo 00:06:41
suma impares 00:06:43
y esto 00:06:52
y esto 00:07:02
¿sí? ¿estamos todos de acuerdo? 00:07:08
entonces no, ¿por qué me decís 00:07:15
sí? ¿vale? 00:07:16
si esto os parece 00:07:19
una buena solución, no aprendéis 00:07:20
de vuestros errores, porque esto ya 00:07:22
lo hemos hecho, hemos visto que si esto 00:07:24
es cero, me hace 00:07:26
una división por cero y sale 00:07:28
Cosas raras 00:07:30
Por lo tanto, antes de poder escribir estas cosas 00:07:31
Debería poner un if 00:07:34
Conta pares 00:07:36
Mayor que cero 00:07:40
Entonces hace esto 00:07:41
Conta impares 00:07:45
Mayor que cero 00:07:47
Entonces hace esto 00:07:49
Podría poner un else, cosa por el estilo 00:07:50
Fijaos que si no pongo el bloque 00:07:53
Este if solo se aplica a la siguiente instrucción 00:07:55
Por lo tanto, esto funciona 00:07:58
Si quiero ser más claro 00:07:59
Lo pongo dentro de un bloque 00:08:02
Pero las dos cosas funcionan 00:08:04
Entonces ahora yo tengo esta cosa aquí 00:08:07
Dice cuántos quiere poner 00:08:10
Quiero poner 5 00:08:11
Y pongo 3, 5, 4, 3, 2 00:08:14
La media de los pares es 3 00:08:20
4 más 2, 6, divido 2 00:08:23
Y esto es 3, 6, 5, 11 00:08:25
dividido por 3 00:08:29
da esto, que se yo 00:08:31
no sé, no había otro 00:08:32
10, 13 00:08:34
13, 14 00:08:36
no, 13 00:08:38
16, ¿no? 16 dividido 00:08:39
4, da esto 00:08:42
no lo sabremos nunca, ¿vale? 00:08:44
pero más o menos debería funcionar 00:08:46
la otra opción 00:08:48
que podía ver aquí, era en vez de 00:08:50
considerarlo como valor, considerarlo 00:08:52
como 00:08:54
¿cómo se dice? posiciones 00:08:55
Pares e impares como posiciones 00:09:00
¿Vale? 00:09:05
Entonces, ¿qué tengo que hacer? 00:09:07
Tengo que recorrer mi array 00:09:09
Y sumar todos los valores en posiciones pares 00:09:11
Todos los valores en posiciones impares 00:09:14
Y luego dividirlo por el número de valores que tengo 00:09:17
5, 10 00:09:27
Esto también 00:09:29
16 entre 4 00:09:35
Porque por si no te lo he sumado mal 00:09:37
Make sense 00:09:40
Estoy contando algo mal 00:09:44
Ah, porque n es 5 00:09:46
Es de... 00:09:49
Ah, vale, ok, entonces sí 00:09:59
Vale, vale, perfecto 00:10:01
Esta cosa aquí, dices 00:10:02
Es que yo no quiero que esto sea 0 00:10:19
Si esto es igual a 0 me hace una división por 0 00:10:21
Y las divisiones por 0 no nos gustan 00:10:24
Porque sale nota number 00:10:26
cualquier número dividido por cero no es un número 00:10:29
es una cosa rara, es infinito 00:10:31
no es infinito 00:10:33
porque si no te diría infinito, es algo raro 00:10:37
es indeterminado, creo 00:10:39
que es distinto de ser infinito, no lo sé 00:10:41
ah, aquí 00:10:43
es el resultado que me dé aquí 00:11:01
mi definición es esto 00:11:03
por lo tanto 00:11:05
los señores 00:11:06
intentamos mantenernos 00:11:10
en lo que estamos haciendo, que son 00:11:13
trabajar con arrays 00:11:14
y esta es una cosa filosófica, matemática 00:11:16
Que interesa solo a los matemáticos 00:11:18
En el sentido de, no lo sé 00:11:20
Yo soy un informático 00:11:21
Si me planteo esta pregunta 00:11:24
De verdad, quien me la tiene 00:11:26
Que solucionar es el cliente 00:11:28
Yo estoy haciendo un programa para ti 00:11:30
Cliente que me ha dicho que tiene que hacer esto 00:11:31
Entonces yo hablaré con el cliente y le diré 00:11:34
Mira, me ha surgido el problema del cero 00:11:36
¿Cómo considero el cero? 00:11:38
Para ti. A lo mejor es un matemático y te dice 00:11:40
No, el cero tiene que ser un caso aparte 00:11:42
No puede ser cero. Yo me lo apunto 00:11:44
Y hago lo que me diga él 00:11:45
Pero aquí para estos ejercicios no hace falta 00:11:47
Vamos a hacer esto 00:11:49
Entonces voy a 00:11:51
Hacerlo de una forma fácil 00:11:53
Conta pares 00:11:57
Int 00:11:59
Suma pares 00:12:02
Int 00:12:05
Conta impares 00:12:08
Int suma impares 00:12:10
Bueno, esto tiene que ser un double 00:12:15
Par de estos 00:12:17
Habláis mucho 00:12:19
Vale, entonces, sigo adelante 00:12:34
¿Qué hago? Recorro el for int y 00:12:38
No, puedo hacerlo igual así 00:12:41
Int x, dos puntos, números 00:12:47
Fijaos que aquí puedo volver a utilizar x 00:12:52
Porque esta x de aquí solo ha existido dentro de este for 00:12:56
Como estoy fuera, ya no existe x 00:13:00
El ámbito de esa variable ha desaparecido, la puedo declarar otra vez 00:13:02
¿Vale? 00:13:06
No, lo hago de la otra forma 00:13:07
Porque necesito de toda forma 00:13:16
Inti es igual a 0 00:13:17
Y menor que n 00:13:20
O sea, yo quiero 00:13:22
Números.length 00:13:23
Y más más 00:13:26
¿Vale? 00:13:29
Porque es menor estricto 00:13:31
Entonces me va 00:13:41
Si no me perdería el último 00:13:42
Si fuera menor o igual, entonces length menos 1 00:13:44
Tengo siempre, estoy pensando 00:13:47
de hacerlo en dos tandas, vale, la primera la hago así 00:13:49
es igual a i más 2 00:13:54
y aquí lo que hago es 00:13:58
con tapares más más 00:14:03
con sumapares más igual 00:14:06
números de i 00:14:11
y luego 00:14:16
Lo mismo, pero empezando de uno y par en pares. 00:14:24
¿Esto quiere decir que hago el doble de vueltas? 00:14:33
No, porque aquí estoy haciendo la mitad y aquí estoy haciendo la otra mitad. 00:14:37
Por lo tanto, siempre haré el recorrido del entero. 00:14:43
Lo que me ahorro son ifs. 00:14:47
De preguntarme aquí, si es par, entonces súmala aquí y si no, súmala aquí. 00:14:49
¿Vale? 00:14:56
Estaría menos eficiente 00:14:56
Por lo tanto, lo hago así 00:14:59
Antes me hago un for de 2 en 2 00:15:00
Pasando por todas las posiciones pares 00:15:03
Luego me hago el mismo for de 2 en 2 00:15:04
Pero pasando por todas las impares 00:15:06
Al final 00:15:09
La misma cosa que esta cosa aquí 00:15:12
Sí, entonces, totre, claro, pero bueno. 00:15:35
¿Dudas? 00:15:51
Entonces, estas eran dos formas. 00:15:53
En el examen, pues en el examen si tengo esta pregunta, la pregunto. 00:15:55
Digo, ma' profe, ¿es así? 00:16:00
¿Se entiende las posiciones pares o se entiende los valores pares? 00:16:02
Vale, y te contesto. 00:16:05
Digo, no, no, los valores pares, si no habría hablado de posiciones. 00:16:07
El ejercicio era esto, no esto. 00:16:11
Pero como nosotros tenemos que aprender 00:16:13
Si vemos una posible solución alternativa 00:16:16
Pues por qué no 00:16:19
Siguiente ejercicio 00:16:19
Venga 00:16:23
Leer en números por teclados 00:16:25
Y a continuación 00:16:27
Realizar la media 00:16:29
Números positivos 00:16:31
La media de los negativos 00:16:33
Y contar el número de ceros 00:16:35
Pues eso me suena de algo 00:16:38
Es igual 00:16:39
Entonces como es igual lo copio 00:16:42
Control C, Control V 00:16:45
Me baso sobre el mismo 00:16:46
Pido n 00:16:50
Cargo el array con n números 00:16:52
Y a este punto 00:16:55
En vez de contapare, sumapare, containpare 00:16:57
Sumampares 00:16:59
Tendré que tener 00:17:00
Contapos 00:17:01
Sumapos 00:17:04
Contaneg 00:17:08
Sumaneg 00:17:11
y int 00:17:14
zero 00:17:16
zeros 00:17:18
¿sí? 00:17:22
entonces, ahora lo que voy a hacer 00:17:25
es recorrer todos los números 00:17:27
esta parte aquí no me sirve 00:17:29
preguntarme lo siguiente 00:17:36
x es mayor que 0 00:17:39
entonces 00:17:43
tendré que hacerlo con 00:17:46
los positivos 00:17:48
Conto un positivo y añado al positivo. 00:17:50
Si no, si x es negativo estrictamente, pues entonces lo haré con los negativos. 00:17:57
Y si no, si no es ni positivo ni negativo, zeros más más. 00:18:12
¿Sí? 00:18:21
Al final de todo esto, si tengo positivos, hago esta cosa de aquí, si tengo negativos, hago esta cosa de aquí, y si son ceros, más ceros, ceros, raros sois. 00:18:22
Diga, probablemente menos eficiente 00:18:52
Si te funciona y te hace la cosa 00:19:12
Está bien 00:19:14
Solo que tú estás haciendo tres recorridos 00:19:15
De la array en vez de uno solo 00:19:18
Menos eficiente 00:19:20
Sí, pero 00:19:21
Sí, sí 00:19:23
Entonces 00:19:47
Habrás usado una array de tres posiciones 00:19:47
No, una, dos y tres 00:19:52
O sea, de cinco 00:19:53
Porque 00:19:56
Habrás guardado estos valores en una array 00:20:00
Entonces cada 00:20:02
Son cinco posiciones, ¿no? 00:20:03
Uno y dos 00:20:07
Has hecho dos arrays 00:20:08
De dos posiciones 00:20:12
Más ceros 00:20:14
Si el array tiene una posición sola, ¿para qué? 00:20:15
Sería un array con dos posiciones, ¿no? 00:20:21
No está mal, estás usando arrays 00:20:24
Yo en este caso concreto 00:20:26
Posiblemente lo habría hecho así 00:20:28
Ahora, si 00:20:29
Si yo te dijera, por ejemplo 00:20:31
Quiero la media 00:20:34
de los números que estén entre 0 y 10 00:20:35
luego la media 00:20:38
entre 10 y 20 00:20:40
luego la media de los 20 y 30 00:20:41
la media de los 30 y 40 00:20:43
entonces tú tienes varios de estos 00:20:44
pues entonces podría ser una buena idea 00:20:47
hacer algo por el estilo 00:20:49
es más, hacer posiblemente un array bidimensional 00:20:50
que no hemos visto 00:20:54
¿sí? 00:20:56
un array de arrays, sostantivamente 00:20:59
¿dudas? 00:21:01
pues sí, mira, está aquí 00:21:03
esto se puede 00:21:04
Como vosotros sois alumnos aplicados 00:21:07
Y antes de que os lo expliques 00:21:13
Os vais a leer las slides que faltan 00:21:16
Pues habréis ya leído los arrays multidimensional 00:21:21
Y habréis hecho ya un array de array 00:21:25
O un array de array de array 00:21:27
O un array de array de array de array 00:21:28
Cuántas veces os da la gana 00:21:31
Sería absurdo que no lo hayáis hecho 00:21:32
Pero vosotros lo habéis entendido 00:21:35
Si, ya estáis listos para el examen 00:21:41
Muy bien, muy bien hecho 00:21:45
¡Dudas! 00:21:48
Número 5 00:21:50
Leer 10 números enteros 00:21:51
Debemos mostrarlo en siguiente orden 00:21:53
Primero, último, segundo, penúltimo 00:21:55
Lo tengo que leer 00:21:57
Leer 10 números 00:22:04
¿Quién los hace estos ejercicios? 00:22:05
¡Ejercicio 5! 00:22:10
Vale, ponga aquí 00:22:14
N ya no existe 00:22:15
Ahora N5 00:22:17
A 10 00:22:19
Me creo 10 00:22:20
Hago esta cosa aquí 00:22:24
dame el valor, leo 10 valores 00:22:25
vale, esta parte de aquí cambia 00:22:27
¿qué tengo que hacer aquí? 00:22:29
eh, no me acuerdo 00:22:41
ah, sí, ok 00:22:42
ahora lo tengo que escribir de un lado para el otro 00:22:44
¿cómo lo hago? 00:22:46
for inti es igual a 0 00:22:47
y menor 00:22:51
que 00:22:52
que números 00:22:57
punto length 00:22:59
dividido 2 00:23:01
y más más 00:23:04
Si hizo números de i, si hizo números de números.length, menos i, ya está. 00:23:06
1, 2, 3, 4, 5, 6, 7, 8, 9, 0, explotado. 00:23:38
¿Qué he hecho mal? Hacía el 10, será menos 1, menos 10, menos 1, menos 10, ahí. 00:23:43
Ahora, 1, 2, 3, 4, 5, 6, 7, 8, 9 y 0. 00:23:51
Pues, y me lo lee, 1, 10, 2, 9, 3, 8, 4, 7, 5, 6. 00:23:59
Aquí podría haber alguna duda sobre si esto es 3. 00:24:12
Y ahora leo 1, 2 y 3, ¿qué me escribe? 00:24:18
1, 3, pero ahora no me está escribiendo el 2 00:24:24
¿por qué no me está escribiendo el 2? 00:24:26
porque esta división me da 00:24:30
1, en vez de 1,5 00:24:34
entonces me pilla solo la posición 0 00:24:36
y la última 00:24:38
pero esto normalmente 00:24:39
se gestiona con, hay un caso 00:24:48
límite de cuando 00:24:50
esto es impar 00:24:51
y como no quiero que lo escriba dos veces 00:24:53
y si me entra en este form 00:24:56
lo escribirá dos veces 00:24:57
pues entonces lo que hago es 00:24:58
asumo, o sea, cuando llego al centro 00:25:01
escribo solo una vez el del centro 00:25:04
¿sí? entonces al final 00:25:06
me pregunto, si 00:25:08
números.length 00:25:09
módulo 2, es 1 00:25:12
si es impar 00:25:16
escríbeme 00:25:17
esta cosa aquí 00:25:19
que debería ser justo la mitad 00:25:29
¿dudas? 00:25:35
entonces, en este caso, con el de 3 00:25:40
me debería funcionar 00:25:43
me debería escribir, uy, me escribí 3 00:25:44
menos 1, siempre menos 1 00:25:46
aquí es menos 1, menos 1 por algún lado 00:25:48
entonces así, las secas 00:25:50
algo que no me cuadra 00:25:55
esto me daría posición de 1 00:25:57
sí, claro, porque esto es menor estricto 00:26:00
entonces me vale así 00:26:02
¿salga él? 00:26:04
el 10 y el 1 00:26:14
no lo dice, pero no lo dice 00:26:17
esto porque en otro ejercicio que has hecho anteriormente 00:26:26
lo hacía así, entonces has asumido que lo tenías que hacer así 00:26:28
pero no 00:26:31
Bueno, depende. 00:26:32
Imagínate que luego esto de aquí sea el input de otro programa que lee una línea cada vez 00:26:35
y hace lo que tiene que hacer. 00:26:41
Pues esto no funciona, ¿vale? 00:26:42
No lo dice, esto de ponerlo a un lado y al otro, pues en principio mejor que no. 00:26:44
Luego, oye, para nuestro nivel, más o menos también. 00:26:48
Había una pregunta aquí. 00:26:51
Señores, como consejo general, no os inventéis los ejercicios. 00:26:57
¿Cómo lo habéis interpretado? 00:27:06
Examen, probablemente... 00:28:13
A ver, no os olvidéis que este de aquí son ejercicios para practicar. 00:28:14
Entonces, tengo una duda de cómo se hace, lo interpreto de dos formas y no sé cuál es. 00:28:18
¿Qué hago? 00:28:23
No, hago los dos, porque son ejercicios. 00:28:24
¿Vale? 00:28:27
Asumo esta cosa de aquí y hace el ejercicio. 00:28:28
Luego haces el 3B asumiendo esta otra cosa y hago el otro también. 00:28:30
Y ya está, solucionado. 00:28:33
En el examen, lo más probable es que haya una imagen de lo que tiene que salir. 00:28:35
En los otros exámenes lo teníais. 00:28:42
el output 00:28:43
expected output 00:28:46
es esta cosa de aquí 00:28:48
entonces tú sabes si lo tienes que poner uno al lado 00:28:50
o uno arriba, y si aún así 00:28:52
tienes dudas, pues lo preguntas 00:28:53
y el máximo que te llevas 00:28:55
es un deberías saberlo 00:28:58
y si no, será 00:28:59
aún así, tiene razón, mira, no había pensado 00:29:02
esta cosa, y lo digas todos 00:29:04
y voy allá y lo diga el otro también 00:29:05
y si es el segundo grupo, lo sentimos 00:29:07
haberlo hecho en el primer grupo 00:29:10
haber dado cuenta de esta cosa 00:29:11
¿Sí? 00:29:13
Venga 00:29:16
Siguiente ejercicio 00:29:16
Es lo que decía él 00:29:19
Y le he contestado 00:29:37
Tú lo tenías 00:29:38
Creo, ¿eh? Debe haber entendido 00:29:40
Algo así, espera 00:30:05
Tú tenías algo así 00:30:06
5, 6, 7, 8, 9, 0 00:30:16
Algo así 00:30:20
1, 10, 2, 9 00:30:20
Eso 00:30:25
Pues no es lo que pide 00:30:26
esto es porque vosotros en vuestra vida 00:30:28
habéis hecho un ejercicio que os pedía esto 00:30:30
y entonces a partir de ahora haréis siempre 00:30:32
este ejercicio es así 00:30:34
pero no es lo que pedía 00:30:35
la habéis querido hacer así, perfecto 00:30:36
no pasa nada 00:30:39
cuando tenéis dudas 00:30:40
de este tipo, lo que decíamos antes 00:30:44
pues, haced las dos versiones 00:30:46
no sé si tengo que hacerlas así 00:30:48
o de otra forma, pues haced las dos versiones 00:30:50
ya está, porque estamos 00:30:52
practicando 00:30:54
como llegada aquí 00:30:55
vale, y si este número lo leo de teclado 00:30:58
pues lo leo de teclado 00:31:00
y si quiero que 00:31:01
no lo sé 00:31:03
y esto pero con palabras 00:31:05
pues lo hago en palabras 00:31:08
y esto pero con 00:31:09
si tenéis que practicar 00:31:10
cuanto más practicáis, más probablemente el día del examen 00:31:13
habrá algo que ya habéis visto 00:31:16
pensadlo, pensad a otra alternativa 00:31:17
vale, lo he hecho así, se podría hacer 00:31:30
Sin el índice 00:31:31
Haciéndolo sin índice 00:31:33
Se podría hacer sin force 00:31:35
Se podría hacer con wild 00:31:37
Se podría hacer, no lo sé 00:31:38
Todo lo que os haga pensar 00:31:39
Todo lo que resulte difícil 00:31:42
Es bueno 00:31:44
¿Vale? 00:31:45
Hasta si no lo sabéis hacer 00:31:48
Es bueno 00:31:50
Si vosotros planteáis un ejercicio 00:31:51
A partir de esto que no sabéis hacer 00:31:54
Lo intentáis hacer y no os sale 00:31:55
Es muy bueno 00:31:58
Traedlo aquí 00:31:59
me enseñáis el código que habéis hecho 00:32:00
estoy intentando hacer esta cosa 00:32:02
pero cuando llegue aquí me paro porque no sé 00:32:04
cómo seguir adelante, y lo razonamos juntos 00:32:06
y a lo mejor te digo, mira no lo puedes 00:32:08
hacer, te falta algo, o a lo mejor te digo 00:32:10
mira, si lo quieres hacer así, prueba 00:32:12
esta cosa aquí, y te desbloqueo 00:32:14
pero estamos pensando, que es lo 00:32:16
básico, sí 00:32:18
el segundo 00:32:20
for, este 00:32:22
nosotros en vez de 00:32:23
paint 00:32:28
tenemos un array 00:32:28
De 10 posiciones, 2, 3, 4, 5, 6, 7, 8, 9 00:32:32
Son 10 posiciones, ¿vale? 00:32:36
Desde la 0 hasta la 9 00:32:39
En vez de decir, me lo leo una... 00:32:40
No sé cómo quieres hacerlo 00:32:45
En vez de leerlo entero y hacer algo raro 00:32:47
Lo que voy a hacer es leerlo solo hasta mitad 00:32:51
¿Sí? 00:32:53
Y, por un lado tengo Y que irá creciendo en este sentido 00:32:55
Necesito otro preguntador que apunta la última casilla y se vaya en este sentido 00:33:00
Que es la longitud, que sería 10, menos 1, que es la última posición, menos i 00:33:07
Porque en el primer ciclo me pillará 0 y 9, porque i vale 0 00:33:17
En el segundo ciclo me pillará 1 y 9 menos 1 00:33:24
En el tercer ciclo, 2 y 9 menos 2 irá convergiendo hacia el centro 00:33:29
Si son pares, funciona bien 00:33:37
Si son impares, le tengo que añadir esta cosilla de aquí 00:33:40
Porque si son impares, me salta el que está en el medio 00:33:44
Estos van convergiendo una y una, una y una 00:33:48
Y se quedaría la que está en el medio aquí 00:33:53
Que no lo escribiría 00:33:55
Entonces me hago este if 00:33:57
Que si el número es impar 00:33:58
Píllame también la del me 00:34:00
Queda más claro 00:34:01
Dudas 00:34:03
Siguiente 00:34:08
Vamos a 00:34:11
Este 00:34:17
Cinco letras minúsculas 00:34:20
Se guardan en la rey 00:34:21
Luego se convierten en mayúsculas 00:34:22
Escribiendo la letra 00:34:24
En el rey mismo 00:34:25
Vale 00:34:26
ejercicio 6 00:34:27
Esta vez no tengo un intero 00:34:37
Tengo un char 00:34:39
Char 00:34:40
Bueno 00:34:41
Necesitaba ir 00:34:42
Esto lo necesitaba 00:34:43
Vale 00:34:44
char, son 5 char 00:34:45
justo 00:34:47
entonces esto es 5 00:34:48
char 00:34:50
lo voy rellenando, solo que ahora 00:34:53
esto tiene que ser un char 00:34:56
por lo tanto leo una letra 00:34:58
punto char at 00:35:00
leo una palabra y pillo la 00:35:02
primera letra de esa palabra 00:35:07
eso será mi char que guardo 00:35:08
si, con esto cargo 00:35:11
el array 00:35:13
de 5 posiciones 00:35:16
Cuando estoy aquí tengo una red de 5 posiciones 00:35:17
¿Qué tengo que hacer? 00:35:20
Pues recorrerlo 00:35:21
Y por cada posición 00:35:22
Lo que tengo que hacer es 00:35:30
Pillar el char 00:35:32
Transformarlo en 00:35:33
Minúscula 00:35:35
Las letras que me dan son minúsculas 00:35:36
Seguro 00:35:45
Las cambio en mayúsculas 00:35:46
Me voy a mirar 00:35:48
Como funcionaba eso de la 00:35:50
Estoy trabajando un char 00:35:52
entonces voy a mirar el ACI 00:35:58
y veo que me dan mayúscula 00:36:00
no, me dan minúscula 00:36:02
me dan minúscula y se la tengo que transformar en mayúscula 00:36:03
entonces si tengo una minúscula 00:36:07
para transformarla en mayúscula tengo que quitarle 00:36:08
esto que era 32 00:36:10
entonces le digo que 00:36:11
en números 00:36:15
de i 00:36:16
ponle lo que hay 00:36:18
en números de i 00:36:20
menos 32 00:36:23
acordaos que es para todos 00:36:28
Vamos a ver que pasa, se enfada 00:36:30
Porque este es un char 00:36:33
Y este es un, por lo tanto le digo 00:36:34
Si más char 00:36:38
Ah, vamos a ver si esto funciona 00:36:39
Este es un int 00:36:42
Y quiero que sea un char 00:36:46
Y luego al final, si eso 00:36:47
Como estoy trabajando con los for 00:36:52
For 00:36:56
Int 00:36:57
Que habéis hecho 00:36:59
For 00:37:02
Int 00:37:13
no, char 00:37:15
c, dos puntos 00:37:17
esto no se llama 00:37:19
número, más se llama otra forma 00:37:23
refactor 00:37:25
rename, letras 00:37:27
ahí 00:37:29
y entonces 00:37:30
de letra, pues 00:37:33
a este punto lo que le digo 00:37:38
es si eso 00:37:39
vamos a ver si funciona 00:37:41
dame valor cero 00:37:45
me vale la letra, vale 00:37:47
A, B, C, D, E 00:37:48
Y me lo pone en mayúscula 00:37:52
Casos especiales 00:37:55
Ñ, Ñ, Ñ, Ñ 00:37:58
Y claramente da carácter demoníaco 00:38:00
¿Vale? 00:38:03
Porque no está pensado para Ñ 00:38:04
Porque en el A 00:38:05
00:38:07
La Ñ está aquí 00:38:08
Y a la Ñ habría que restarle 1 00:38:10
No restarle 00:38:13
¿Vale? 00:38:17
Arreglámoslo. Si letras de i es igual a ñ, entonces letras de i es igual a ñ mayúscula. 00:38:17
¿Por qué? Porque no soy masoquista y no pongo esto menos uno. 00:38:48
Elche 00:38:54
Lo que sea 00:38:56
Fijaos que los caracteres demoníacos 00:38:58
Siguen sin funcionar 00:39:01
Si yo pongo la letra 00:39:03
O la letra U 00:39:08
Pues me siguen saliendo 00:39:10
Carácteres demoníacos 00:39:14
Entonces debería hacer un switch a este punto 00:39:16
Pero no lo voy a hacer porque 00:39:18
No tenemos tiempo 00:39:20
Suficiente en la vida para hacer este tipo de ejercicios 00:39:22
Otras cosas 00:39:25
Nosotros hemos asumido que las letras son minúsculas 00:39:34
¿Por qué? 00:39:38
Porque sí 00:39:39
Pero en realidad lo debería comprobar 00:39:40
¿Vale? 00:39:42
Entonces dame un valor 00:39:44
Cuando yo doy el valor 00:39:45
Hago lo siguiente 00:39:48
Bolean 00:39:49
Correcto 00:39:51
Es igual a 00:39:53
Falche 00:39:54
¿Veis? 00:39:59
Mientras 00:40:02
no sea correcto, pídeme un valor 00:40:03
y léetelo. Si 00:40:11
letras de I 00:40:15
es mayor que 00:40:20
mayor que A 00:40:25
y letras de I 00:40:32
es menor que Z 00:40:38
Entonces, correcto igual a true 00:40:41
Esto de aquí se me quedará buscando si la letra que has puesto es correcta 00:40:52
Si la letra no es correcta, pues te volverá a pedir el mismo valor 00:41:03
Por ejemplo, dame el valor, le pongo 1 00:41:07
No le ha gustado como valor, vuelve a pedir el valor 0 00:41:12
Y si yo sigo dándole 1 00:41:15
Se quedará para aquí siempre 00:41:17
Porque no estoy saliendo de este while 00:41:19
Estoy en este while para siempre 00:41:22
Hasta que no me des una letra 00:41:25
Cuando me das una letra 00:41:27
Correcto será true 00:41:28
Entonces not correcto será false 00:41:30
Salgo de este while y pasa al siguiente valor 00:41:32
Si me das una A 00:41:34
¡Tac! 00:41:36
He pasado al valor 2 00:41:37
Pilla siempre el primer carácter 00:41:39
Por esto 00:41:45
Que aquí se asume que tú le estás dando un carácter 00:41:47
Tú le das una palabra 00:41:54
Y le pones 00:41:55
Y le pones 00:41:56
Pues él te está pillando dos 00:42:03
Entonces no te considera 00:42:06
Tú pones gato 00:42:08
Te está pillando G 00:42:09
Entonces te lo considera 00:42:11
Si tú le das ñ 00:42:13
Pues no te la pilla ahora 00:42:15
Porque no está en el rango 00:42:17
Entonces tenemos que ponerle la ñ 00:42:21
Letras de I 00:42:24
Es justo 00:42:32
Porque me gusta así 00:42:35
Pues ahora si pongo Ñ me la pilla 00:42:42
Pues 00:42:45
Ha hecho algo raro 00:42:50
Ha hecho algo raro 00:42:52
Claro, porque se la he puesto yo directamente 00:42:57
Así a secas 00:43:00
¿Cómo? 00:43:01
Es hacer un switch, lo que hemos dicho 00:43:13
si es esto, si es esto, si es esto 00:43:15
o si es una de este 00:43:16
de aquí, entonces en vez de 00:43:19
este y facías secas 00:43:21
puedes hacer 00:43:22
una rey de casas 00:43:24
per case 00:43:26
y todo esto 00:44:35
punto 00:44:38
charat 00:44:40
pero 00:44:41
la pregunta es, ¿es malo ser tramposos? 00:44:43
no sé si no la ha pillado 00:45:24
la ha pillado 00:45:26
la 1 la ha pillado 00:45:26
Pero técnicamente ahora podría pillar cualquier cosa 00:45:29
La ñ sigue enfadado 00:45:32
Pero será por el code 00:45:35
Por eso os digo 00:45:37
No utilicéis caracteres demoníacos 00:45:39
Caracteres demoníacos nos molestan 00:45:40
Tiene siempre que estar pendiente 00:45:43
De los caracteres demoníacos 00:45:44
Y no nos gustan 00:45:45
Pido perdón a la RAE 00:45:47
Como está grabado 00:45:52
¿Por qué este es tramposo? 00:45:55
Porque aquí nos está pidiendo 00:45:59
de trabajar con string, 00:46:00
o sea, está pidiendo de trabajar con char. 00:46:02
¿Vale? Entonces, 00:46:05
utilizar string, pues, es una 00:46:06
trampa. 00:46:08
¿Sí? Porque si yo te pido 00:46:10
de trabajar con char, es por alguna 00:46:12
razón. Yo como profesor 00:46:14
es para... 00:46:16
Hoy no le está saliendo muy bien. Vale. 00:46:18
¿Dónde estamos? 00:47:28
Siete. Las cinco palabras y 00:47:29
guardar... leer cinco palabras y guardar en un array. 00:47:31
A continuación, indicar 00:47:33
si alguna de ellas es un número entero 00:47:35
vale, vamos a hacer 00:47:37
ejercicio 7, vale 00:47:38
entonces ahora lo que queremos hacer 00:47:51
es un array de string 00:47:54
son 10 00:47:55
leo 5 00:48:00
string, vale, y ahora si estoy 00:48:05
trabajando con string, que tengo que ver 00:48:07
si alguno de estos 00:48:09
eso no es 00:48:10
entonces si aquí leo todo 00:48:12
me da igual esto, esto 00:48:17
no me interesa, esto 00:48:19
no me interesa, leete una 00:48:21
palabra, ponla allí dentro 00:48:23
vale, no quiero hacerlo 00:48:24
directamente aquí 00:48:29
porque quiero trabajar con arrays 00:48:30
entonces antes relleno el array 00:48:33
y luego después juego con el array 00:48:35
pensadlo como, y si este array 00:48:37
en vez de dármelo yo ahora me lo dieran 00:48:39
mágicamente por otro lado 00:48:41
y ya está allí este array 00:48:43
pues quiero poder hacer lo que 00:48:45
lo que viene a continuación 00:48:47
vale, ¿qué hago? 00:48:49
recorro mi array 00:48:51
Esta vez lo tengo que recorrer por todo, entero, entonces lo puedo hacer así, string s letras, sabemos que letras no es, botón derecho, refactor, rename, palabras, ya está. 00:48:52
Y entonces, ahora lo que voy a hacer es aquí dentro ver si este S es o no es un número. 00:49:14
¿Cómo lo hago? 00:49:21
Varias formas, ¿vale? 00:49:41
¿Cómo lo sabemos hacer nosotros? 00:49:42
Pues vamos carácter por carácter y comprobamos si el carácter es un número. 00:49:44
Si son todos números, es un número. 00:49:49
Entonces tendré que hacer un for inti es igual a cero. 00:49:55
y menor que s.length 00:50:00
y más más 00:50:03
asumo que no sea un número 00:50:05
por lo tanto bolean num 00:50:12
es igual a falso 00:50:15
y con que, a ver, no 00:50:17
prefiero asumir que sea un número 00:50:26
y que como encuentre algo 00:50:30
que no sea un dígito o un número 00:50:33
pues entonces ya sé que no es un número 00:50:35
¿Vale? Entonces, asumo que 00:50:37
Lo que me han dado es un número 00:50:40
Y ahora lo que voy a buscar 00:50:42
Es que cada uno de su char 00:50:45
Sea un número efectivamente 00:50:46
Como no lo sea 00:50:48
Pues entonces ya está 00:50:50
Me voy a la 00:50:51
Podría hacerlo con un switch, pero no 00:50:52
Me voy aquí, que sea 00:50:56
Entre 48 y 57 00:50:58
¿Vale? Estos son los números 00:51:01
Entonces 00:51:03
Palabras 00:51:06
punto char 00:51:11
es mayor 00:51:17
igual a 49 00:51:20
palabras punto char 00:51:31
i sea menor 00:51:36
igual a 57 00:51:40
me fío 00:51:46
Se enfada 00:51:49
Porque 00:51:56
Charat int 00:51:56
On the right 00:51:59
No es palabras 00:52:01
Es palabras de 00:52:01
Palabras de I punto charat 00:52:06
Esto es un string 00:52:11
Estamos en S 00:52:13
Entonces S 00:52:18
Esto 00:52:20
Aquí estoy recorriendo palabras 00:52:21
Y estoy pillando una string 00:52:27
Y quiero ver si esta string es un número 00:52:30
Entonces ahora estoy trabajando con S 00:52:31
Y digo que por toda la longitud de S 00:52:34
Si esta S, uno de sus caracteres 00:52:37
Son números 00:52:41
Fijaos que esta condición que me pilla 00:52:44
Me pilla si son numeritos 00:52:48
Y yo lo que quiero hacer es encontrar algo que no sea un numerito 00:52:52
para decir, no eres un num 00:52:56
poner esta falso 00:52:58
entonces lo que hago es 00:53:00
not 00:53:02
si esto es verdad 00:53:09
entonces num 00:53:15
es falso 00:53:17
break 00:53:18
y a este punto aquí 00:53:20
no me acuerdo 00:53:27
que dice el enunciado 00:53:29
si hay un número 00:53:31
en general 00:53:36
cuidado que esto me pilla los 00:53:36
positivos 00:53:42
De todas formas, esto por ahora 00:53:43
Con los positivos debería funcionar 00:53:46
Si salgo de aquí 00:53:47
Esto, mirad 00:53:49
Como tiene que valer por uno cualquiera 00:53:51
Lo hago así 00:53:55
Num 00:54:03
Verac 00:54:05
A ver si esto funciona 00:54:08
Porque tengo que salir también de esto 00:54:10
Si ya lo he encontrado 00:54:13
Que uno es un número 00:54:15
Ya puedo salir, ¿no? 00:54:17
Y aquí, no, sí, no, sí, me estoy liando 00:54:18
Yo estoy buscando si es un número, ¿vale? 00:54:33
Entonces asumo que es un número 00:54:36
Si encuentro cualquier cosa que no sea un número 00:54:38
Lo pongo como falso y paso a la siguiente palabra, ¿vale? 00:54:41
Pero si esco de aquí y esto se ha mantenido true 00:54:45
Entonces tengo que salir de esto 00:54:50
Porque ya he encontrado un número 00:54:52
¿Sí? Por lo tanto vale 00:54:54
¿Sí? 00:54:57
Al final, si num, si so 00:55:00
Hay números 00:55:02
¿Sí? Vamos 00:55:04
Ahora, esto es positivo 00:55:09
No hay números 00:55:12
Pero 00:55:22
Vamos a probarlo antes con los positivos 00:55:23
A ver que efectivamente funciona 00:55:26
Son cinco palabras 00:55:27
Palabras y ya está 00:55:29
No hay número 00:55:31
una palabra, un número 00:55:33
y luego cosas raras 00:55:37
dice que no hay números 00:55:40
entonces aquí hay 00:55:42
sí, por eso 00:55:43
que no hay números, hay algo que no funciona en este ejercicio 00:55:45
vamos a comprobar 00:55:48
por qué 00:55:50
vamos a escribir 00:55:51
¿vale? para ver qué está pasando 00:56:15
entonces, iso 00:56:17
compruebo 00:56:18
más ese 00:56:22
Y aquí dentro 00:56:25
Compré 00:56:30
Mas 00:56:36
Yo creo que no pilla esto 00:56:40
Me sospecho que no pilla esto 00:56:52
Pero 00:56:54
Si yo 00:56:54
No me falte 00:56:57
Vamos a verlo 00:57:00
Probamos otra vez 00:57:10
A ver 00:57:11
Era A 00:57:12
123 00:57:15
Y dice que no hay 00:57:17
¿Vale? 00:57:18
cuando comprueba 123 y se comprueba compruebo 1 y me 23 y aquí y comprueba y comprueba 00:57:19
pero aquí debería haber entrado no sea como aquí no me está pillando esto 00:57:39
no no no está bien no debería entrar nunca si debería dejar el número a true y por lo tanto 00:57:51
cuando llega aquí debería salir del del foro externo pero no lo hace sigue comprobando la 00:58:00
siguiente palabra por tanto esta cosa de aquí no me está funcionando entonces la quito de aquí 00:58:07
y quiero salir de esto no porque si no me lo hace también me lo hace siempre 00:58:14
Entonces dices break así, vamos a probar, pero me lo hará después de la primera palabra. 00:58:24
Comprueba la primera palabra, llega aquí, break y sale, pues no me vale. 00:58:40
El break lo tiene que hacer si, solo si, no, que es lo que hemos hecho antes. 00:58:45
Si en num, entonces quiere decir que es un número y por lo tanto existe un número y debería salir, 00:59:03
Pero esto no funciona 00:59:09
O sea, sería... 00:59:10
No, no, pero está bien, está bien 00:59:24
No lo he cambiado 00:59:25
Porque si es un número aquí dentro 00:59:26
No he entrado nunca 00:59:28
Y ahí llego aquí 00:59:29
Y no me es true 00:59:29
Es que esto va a false 00:59:30
Solo cuando es algo fuera de este rango de aquí 00:59:34
Porque está en el not 00:59:40
Sí, lo entiendo 00:59:41
Pero resolvemos esto 00:59:52
O sea, esa es otra opción 00:59:54
Pero intentamos entender 00:59:56
Cuando encontráis estos problemas 00:59:57
es aquí donde estáis trabajando 00:59:59
¿vale? es cuando 01:00:02
oye mira, las soluciones están aquí, algo no está 01:00:04
funcionando, ¿qué no está funcionando? 01:00:06
y aquí estáis 01:00:09
intentando entender 01:00:10
cómo funciona Java por detrás 01:00:12
qué es lo que no está haciendo 01:00:14
y que esta cosa aquí no está 01:00:16
funcionando como debería funcionar 01:00:18
y por lo tanto ahora tengo que encontrar una alternativa 01:00:19
a esta parte de aquí ¿vale? 01:00:22
que luego se puede hacer de otra forma 01:00:23
01:00:25
es este for de aquí que quiero salir 01:00:26
por lo tanto 01:00:34
lo que hago en este caso aquí 01:00:37
no quiero perder demasiado tiempo 01:00:39
por lo tanto lo que digo es 01:00:41
interval 01:00:44
j es igual a 0 01:00:48
j menor que 01:00:50
¿qué era esto? palabras 01:00:53
palabras.es 01:00:55
.lang 01:00:58
j más más 01:00:59
No, estas son todas las palabras 01:01:02
Y estas son todas las letras dentro de una palabra 01:01:15
Entonces, ahora mi S es palabra de J 01:01:17
Entonces, ¿dónde aparece S? 01:01:25
Palabra S 01:01:28
La palabra S tengo que poner esto 01:01:29
Y, si hago todo esto, hago esta comprobación y llego aquí y vuelvo aquí arriba, 01:01:33
el booleano no se ha vuelto falso, pues entonces sigo. 01:01:47
Si se ha vuelto, no, aquí, y, no, y, num, y, not, num. 01:01:54
No, no, porque la pillaba toda. 01:02:09
Tengo que acordarme, pero, de poner que NUM es igual a TRUE aquí. 01:02:17
Creo. 01:02:23
Vamos a ver si esto funciona. 01:02:25
Entonces será A, A, 123, A, A. 01:02:30
Hay números. 01:02:35
Y si pongo todo letras, hay números también. 01:02:38
¿En qué me estoy liando? 01:02:48
¿Cómo? 01:02:51
independientemente de que sea esto 01:02:51
no, me está dando 01:03:04
en los dos casos que hay números 01:03:05
pero la idea es que si yo 01:03:07
paso de aquí y lo pongo a 01:03:15
false y llego aquí 01:03:17
cuando vuelvo 01:03:19
aquí arriba 01:03:22
lo compruebo con notNum y me sale 01:03:23
el problema no es eso 01:03:26
el problema es otro, es que 01:03:27
tanto que haya número como que no haya 01:03:29
me da la misma solución 01:03:31
entonces hay algo que 01:03:32
se ha liado, pensemoslo 01:03:34
entonces, si yo pongo que el número es true, vale, entro aquí dentro 01:03:39
el número true, no cambia nada, compruebo la palabra 01:03:43
vale, si por cada letra 01:03:48
de la palabra, si la palabra 01:03:57
si esta letra no es un número 01:04:01
entonces num va a false 01:04:04
Entonces debería llegar aquí 01:04:07
Debería volver aquí arriba 01:04:12
Y not 01:04:14
A lo mejor es num, así 01:04:16
Porque si es true 01:04:17
La primera vez entra, claro, si no, no hubiera entrado 01:04:24
Ni una vez, claro, ahora sí 01:04:27
Este era en num 01:04:29
En not num, probamos 01:04:31
123, ah, ah 01:04:34
Y dice, no hay num 01:04:38
Pero espera, eh 01:04:40
Y si en vez doy A, A, A, A, A, no hay NUM tampoco. 01:04:45
¿Primera cuál? 01:04:57
La primera, me manca el sujeto. 01:05:07
Primera palabra, la primera letra, la primera... 01:05:10
¿En qué for? 01:05:16
Sí. 01:05:30
Pero entonces, claro, todo está en los dos casos, ¿vale? 01:05:32
Entonces, ¿qué está? 01:05:35
Algo no. 01:05:38
No puedo palabra J. 01:05:45
Sí, y palabra J, vale. 01:05:47
Un momento, dejadmelo en la zona porque nos hemos liado, me he liado. 01:05:49
Número es true, entonces yo asumo que es un número, mientras que esto tiene que ser not, aquí hay algo raro, es que si fuera número true, aquí hay algo raro, asumo que es un número. 01:06:06
Vale. Entro dentro por cada una de sus letras. Esto sería que es un número. Entonces si no es un número, lo pongo a falso. Porque no es un número, porque tiene una letra. Entonces sería un falso. 01:06:27
Hay algo aquí, o sea, el programa parece funcionar 01:06:52
Pero, o sea, entonces si fuera una letra 01:06:57
Es normal que compruebe solo la primera y debería salir 01:07:00
Pero entonces num sería falso 01:07:04
Vuelvo aquí y esto es falso 01:07:07
Entonces true, debería seguir con la siguiente palabra 01:07:10
Sin embargo sale 01:07:14
Déjame 01:07:16
entonces a claro porque si no me es falso esto es falso entonces sal entonces sería así está 01:07:49
comprobando más veamos si lo pilla pues ahora sí funciona que esto es como la diapositiva pues sí 01:08:32
el eliarse vale esto de aquí es un poco feo pero esencialmente porque el lío ha salido del hecho 01:09:00
que yo quería aquí un true para que entrara pero para forzarlo a entrar la primera vez tenía que 01:09:18
ser así y como este de aquí tiene que ser not para que salga de aquí cuando 01:09:25
pasa de aquí pues entonces no funcionaba entonces esto falso 01:09:31
y esto no aún así esto estaría bien puesto que es una pizca 01:09:38
lioso pues a recuperarlo uno de estos próximos días y volver a hacerlo a ver 01:09:54
si nos liamos otra vez o si lo hacemos de golpe. La idea es parecida a otros que hemos 01:10:01
hecho. Al fin y al cabo, aquí vienen cosas de Ford dentro de Ford. Es allí donde lía 01:10:10
un poco. Un consejo. El otro problema es que nosotros hemos intentado optimizarlo lo antes 01:10:15
es posible vale a lo mejor compensa si uno se lía mucho no intentar optimizarlo no salir aquí 01:10:25
o aquí hacerlo para todos simplemente guardándose por algún lado si una vez ha encontrado un número 01:10:33
vale el lío que ha salido es porque intentábamos he intentado salir en cuanto ha encontrado un 01:10:38
número salir de los dos de los dos foros y como el break me daba poco 01:10:46
mala espina pues entonces se vuelta a poner esto de aquí 01:10:55
porque aquí cuando la primera vez que lo hemos hecho o hemos equivocado en el if 01:11:00
o nos hemos equivocado o el break no funcionaba como tenía que funcionar 01:11:05
Entonces, sin duda, es bastante complejo. 01:11:08
Lo podrías hacer con el programa que habéis hecho de te doy un número y lo transformas en letras. 01:11:46
Luego, comprobar cada vez si todos los números son esa letra. 01:11:55
Es bastante complejo. 01:12:05
¿Vale? 01:12:08
¿Uso de debugging y cosas por estilo? 01:12:08
Sí, sin duda 01:12:12
Si sabéis utilizar los debug 01:12:13
Metéis los puntos y cosas por estilo 01:12:15
Fenomenal 01:12:17
Esas son cosas que veis principalmente en entornos de desarrollo 01:12:18
Antes o después 01:12:22
Entonces 01:12:24
A mí no me interesa mucho eso 01:12:26
Porque a mí me interesa que vosotros 01:12:30
Aprendáis a razonar sobre estas cosas 01:12:32
Luego después 01:12:34
Vemos las herramientas avanzadas que te facilitan esto 01:12:35
Pero si tú ya utilizas 01:12:38
Si tú usas ChatGPT, que es la forma mejor 01:12:40
Entonces tú lo pones a ChatGPT 01:12:42
Te da el resultado, ya está 01:12:44
¿Por qué no hacerlo? 01:12:45
Pues allá afuera, en la empresa 01:12:47
Posiblemente lo eréis 01:12:49
¿Vale? En la empresa no tiene sentido 01:12:51
Perder 6 días en hacer un programa 01:12:53
Si hay la integración de actividad 01:12:55
Que te lo hacen en 20 minutos 01:12:58
Pero el problema es que 01:12:59
Cuando luego tengáis un resultado 01:13:01
Tengáis mentalidad crítica 01:13:03
Tengáis posibilidad 01:13:06
de razonar sobre lo que os ha dado 01:13:07
e entender si efectivamente 01:13:09
funciona o no, si es lo que 01:13:11
queríais o no, no sé si me explico 01:13:13
entonces, claro que el 01:13:15
debugging es lo que se usa en la 01:13:17
en la realidad 01:13:19
pero aquí nosotros no estamos 01:13:21
trabajando por debugging, es un programa sencillo 01:13:23
aquí estamos razonando 01:13:26
nosotros sobre por qué no funciona 01:13:27
estamos haciendo nosotros el trabajo 01:13:29
del debugging, por eso me gusta 01:13:30
desde mi 01:13:33
perspectiva no hemos perdido media hora 01:13:35
hemos trabajado 01:13:37
nuestras redes neuronales 01:13:40
media hora, hemos estado dándole 01:13:41
a razonar 01:13:44
sobre que está haciendo el código paso por 01:13:46
paso para entender como 01:13:47
funcionaría por debajo 01:13:49
es lógica 01:13:51
pero eso yo, o sea, en mi perspectiva 01:13:58
yo lo sabía, o sea, el falso es 01:14:08
solo aquí, aquí 01:14:10
a principio de cada ciclo lo ponen aquí 01:14:12
y la única forma para ponerlo falso es aquí 01:14:13
¿vale? la única cosa que a mí 01:14:15
me ha liado es que esto era true para entrar aquí, entonces faltaba esto y luego lo razonaba aquí, 01:14:18
pero no me funcionaba con esto. Nos podemos liar todos. El importante es que pasa si pasa esto en 01:14:25
un examen. Después de un rato me he liado demasiado, lo dejo así y pasa al siguiente ejercicio. A lo 01:14:34
mejor si tengo tiempo al final pues vuelva a ver este aquí sí pero cuidado con empezar además me 01:14:45
he liado con los números cuidado con hacer las pruebas a lo mejor esto a lo mejor porque cada 01:15:01
prueba que hace son diez minutos y si haces cinco pruebas y ninguna te funciona ya has perdido mitad 01:15:10
Del examen 01:15:15
Y si esto 01:15:16
Pasa otro 01:15:18
Ah, faltan negativos 01:15:20
A ver, faltan los negativos 01:15:25
Aquí me he liado, he hecho el 7 en el 6 01:15:27
Y el 6 en el 7, luego después lo cambiamos 01:15:30
Ok, efectivamente 01:15:31
Este de aquí, cuenta solo los positivos 01:15:34
Habrá que ver 01:15:36
Si es negativo, para ver si es negativo 01:15:38
Habrá que ver si en la primera 01:15:40
El primer carácter 01:15:42
Cuando entra aquí, que i es igual a 0 01:15:46
Sea un menos 01:15:48
¿Vale? Y cuidado, si es un menos 01:15:49
Lo tengo que editar 01:15:52
Lo tengo que... 01:16:01
Porque si yo meto un menos, él me lo considera como una palabra 01:16:03
Ahora mismo 01:16:06
Puede ser una opción 01:16:06
O sea, vale 01:16:32
No sé si hacerla aquí dentro 01:16:33
Si es igual a cero 01:16:37
Porque claro, esto es 01:16:40
Sostancialmente que si es igual a cero 01:16:43
No me haga esta comprobación 01:16:47
porque si fuera un menos 01:16:49
él ya entraría aquí y me diría 01:16:57
no, es una palabra 01:16:59
entonces aquí decirse que 01:17:00
oye cuidado, pero si 01:17:03
esta 01:17:04
si es cero 01:17:10
la palabra 01:17:18
j, que es esta palabra 01:17:21
al carácter cero 01:17:23
menos 01:17:26
num 01:17:31
vuelve a ser true 01:17:35
ya podría ser que a la próxima 01:17:38
si después de este menos hay otra cosa 01:17:42
me pondría false 01:17:45
pero si 01:17:46
en vez de ninguna otra vez, pues se queda true 01:17:48
es como resetear 01:17:51
en el caso en que 01:17:52
en la posición 0 y solo en la posición 0 01:17:54
te encuentres un menos 01:17:57
ahora, esto es bonito 01:17:58
no lo sé porque lo está haciendo 01:18:00
en cada ciclo de este for 01:18:02
entonces posiblemente 01:18:04
hacerlo aquí fuera es más eficiente 01:18:06
porque lo haría una sola vez por palabra 01:18:08
¿sí? 01:18:10
¿sí? 01:18:17
esta es una opción 01:18:19
la otra opción 01:18:21
sería 01:18:23
pero hacerla fuera me provoca 01:18:24
esto de que tengo que gestionar 01:18:27
la i fuera del 01:18:28
yo casi 01:18:31
como hemos estado mucho en este ejercicio lo dejaría así 01:18:32
y ya está, no es eficiente pero 01:18:35
está bien, queréis lo probáis 01:18:37
como lo ha hecho él 01:18:41
poniéndolo por fuera, vale 01:18:42
entonces, ahora déjame cambiar el nombre 01:18:44
vale, ejercicio número 8 01:18:48
creo un primer array, vale 01:18:53
este array de aquí y lo leo entero 01:18:58
5 posiciones 01:19:02
quiero un segundo array 01:19:03
y lo leo entero, vale 01:19:06
entonces a este punto tengo en n1 5 valores 01:19:10
en n2 otros 5 valores 01:19:13
lo que quiero hacer 01:19:16
pone de n, donde 01:19:17
si, que n es 5 01:19:21
de hecho todo esto 01:19:26
esto debería ser n, está bien 01:19:30
esto debería ser 01:19:32
n2.length 01:19:35
vale, pero bueno 01:19:37
entonces 01:19:38
ahora que llega aquí 01:19:40
esto lo quito, que tanto me sirve 01:19:41
lo que tengo que hacer es 01:19:43
mezclarlos 01:19:49
pero para mezclarlos necesito un nuevo 01:19:51
array 01:19:53
int 01:19:54
arrays es igual a new int 01:19:55
de n por 2, o aquí podría poner n1.length 01:19:59
más n2.length, también porque esto es reciente 01:20:10
sencillo porque los dos arrays son del mismo tamaño, se complicaría 01:20:14
si los dos arrays pudieran ser de tamaños distintos 01:20:18
pero luego cuando vas a pillar de uno en otro tienes que saber cuando acaba 01:20:22
pero lo haremos ese ejercicio en un futuro 01:20:28
Entonces, esto es mi resultado 01:20:30
Entonces, ahora lo que hago es 01:20:34
For int y es igual a 0 01:20:36
Y menor que n, n 01:20:39
Y más más 01:20:46
Esto debería ser n.length o cosa por el estilo 01:20:47
Como hemos utilizado n por todo lado y n es 5 01:20:50
Lo que voy a hacer es 01:20:53
Ahora tengo que pillar un valor de N1, un valor de N2 01:20:57
Y ponerlo dentro del resultado 01:21:02
N por 2 01:21:06
Porque quiero rellenar esto 01:21:11
Ahora, aquí tengo dos opciones 01:21:16
O me baso sobre los viejos arrays 01:21:18
Pero luego tendré que hacer una operación para guardarlos en lo nuevo 01:21:24
¿Sí? O me baso en el nuevo array, pero tendré que hacer una operación para pillar las viejas, ¿vale? 01:21:28
Veamos, empezamos así y vamos a ver qué más da, ¿vale? 01:21:37
Con esto quiere decir n es 5, es decir, que estoy pensando en los arrays viejos, ¿vale? 01:21:41
Entonces, lo que tengo que guardar aquí es n1 de i y n2 de i. 01:21:47
Estos son los dos valores que tengo que guardar. 01:22:00
¿Dónde tengo que guardar esto? 01:22:04
En res. 01:22:09
¿Qué posición? 01:22:10
Esto será res de algo, es igual a esta cosa aquí. 01:22:17
Y esto será res de algo, es igual a esta cosa aquí. 01:22:23
Pero ahora encontrar esto es la parte compleja. 01:22:30
¿Sí? 01:22:36
¿Por qué? 01:22:37
Si yo estoy en la posición 0, esto tiene que ir en 0 y 1 01:22:38
Si yo estoy en 1, esto tiene que ir en 2 y 3 01:22:43
Si yo estoy en 2, esto tiene que ir en 4 y 5 01:22:48
Entonces, ¿cuál es la relación entre esto y esto? 01:22:54
Me hago una tabla, ¿vale? 01:23:04
Para intentar entenderlo 01:23:09
La posición a cero, cuando y es cero, tendré que pillar la cero de n1, la cero de n2. 01:23:11
Esta de aquí se guarda en la posición cero y esta de aquí se guardará en la posición 1 de res. 01:23:22
Ahora, cuando estoy en la 1 01:23:29
Esto será 1 y 1 01:23:34
Esta se tendrá que guardar en la 2 01:23:37
Y esta se guardará en la 3 01:23:40
Independientemente de lo que vamos a cambiar 01:23:44
Pero si estamos pensando que con n no es i más 2 01:23:53
Porque si no me estoy saltando la posición 1 de la raíz original 01:23:58
Si pensara en res, pues entonces sí 01:24:05
Pero entonces no sería hasta n, sería hasta n doble 01:24:10
Entonces, por ahora estamos en la primera cosa 01:24:13
Si leo 2, sería la posición 2 y 2 de los arrays 01:24:16
Esta donde se guardaría en 4 y esta en 5 01:24:21
Entonces, ¿qué relación hay entre este número y este? 01:24:25
Entre este número y este, entre este número y este 01:24:30
Y en general, si estoy en la posición n, o la posición i, esto leería i, esto leería i, esto se guardará en i por 2, o 2i, y esto se guardará en 2i más 1. 01:24:33
Si, si os fijáis, 2 por 0 es 0, pues correcto, y 2 por 0 más 1 es 1 01:24:55
Aquí sería 1 por 2 es 2, correcto, y 1 por 2 más 1 es 3 01:25:05
2 por 2 es 4, y 2 por 2 es 4 más 1 es 5, o sea que parece funcionar 01:25:10
Entonces esto es donde tengo que guardarlo 01:25:15
Entonces, la idea es que esto sea i por 2, esto sea i por 2, más 1. 01:25:18
Si eso, Arrays.toString de Arrays, y a ver qué me dice. 01:25:38
Entonces, primer Array, 1, 2, 3, 4 y 5. 01:25:54
Segunda rey será 6, 7, 8, 9 y 10 01:25:59
1 y 6, 2 y 7, 3 y 8, 4 y 9, 5 y 10 01:26:07
¿Sí? Vale 01:26:15
Está bien 01:26:19
Primer valor con primer valor 01:26:20
¿Sí? 01:26:27
Ahora, vamos a hacer lo mismo 01:26:28
Pero con res 2 01:26:31
Y esta vez, en vez de tener en cuenta 01:26:39
de la n de los originales, voy a considerar las n del resultado, es decir, que esto irá hasta res2.length, 01:26:45
¿Sí? Entonces, esto será fácil 01:27:01
Esto será 01:27:04
¿Sí? 01:27:17
Esto es el que complica 01:27:26
¿Sí? Esto me está diciendo 01:27:27
Vas de 2 en 2 01:27:31
Y cada vez haces i e i más 1 01:27:33
¿Vale? Solo que esta 01:27:35
La tendrás que pillar de n1 01:27:37
Y esta de aquí la tendrás que pillar 01:27:39
De n2 01:27:41
¿Vale? Solo que ahora i 01:27:43
Está pasando de 0 a 10 01:27:45
Y yo tengo solo 5 posibles posiciones 01:27:48
Entonces 01:27:51
Esto será 01:27:52
Y entre 2 01:27:58
Y esto también entre 2 01:27:59
Porque tened en cuenta que 01:28:02
Esta será igual a esta 01:28:04
Entonces si hago Y entre 2 01:28:05
Cuando es 0 01:28:08
Me pilla 0 01:28:10
Cuando es 1 me pilla 0 también 01:28:11
Cuando es 01:28:14
Entonces tengo que tener cuidado 01:28:16
Será 01:28:20
Y más uno dividido por dos 01:28:22
No, porque me pilla dos veces lo mismo 01:28:26
Esto es peligroso 01:28:29
Claro, una opción es con otra variable 01:28:35
Que incremento una vez aquí 01:28:45
O sea, yo pongo aquí 01:28:48
Interposición es cero 01:28:50
Entonces aquí pongo P 01:28:53
Aquí pongo P 01:28:56
Y solo aquí hago P++ 01:28:58
Otra opción 01:29:00
es esto, pero 01:29:02
no, porque cada vez aquí sumo 2 01:29:04
y aquí sumo 1, entonces el número de ciclos 01:29:30
es siempre 5 01:29:33
si en vez quisiera, porque hay una relación 01:29:33
entre Y y P 01:29:39
pero 01:29:40
pero no es obvio 01:29:42
o sea, para que utilice 01:29:51
para pillar esta de aquí 01:29:53
pero suma 2 01:29:56
entonces me podría valer, si divido por 2 no funciona 01:29:59
y divido 2 01:30:02
Porque en la primera cosa vale 0 y 01:30:03
Entonces me pillaría la 0 01:30:06
En la segunda vuelta no vale 1, vale 2 01:30:08
Entonces me lo pillaría 01:30:11
O sea, bastaría hacer aquí 01:30:12
Y esto debería funcionar 01:30:14
Porque suma por 2 01:30:16
Y entre 2 01:30:22
Empieza 0, la primera es 0 01:30:24
La segunda 01:30:44
Cuando llega a 10 01:30:45
Pero a 10 no llegará nunca 01:30:51
Llega a 9 01:30:52
Si es 10 sale de aquí 01:30:53
Uno, dos, tres, cuatro, cinco 01:30:58
Seis, siete, ocho, nueve, cero 01:31:07
Pues ya está, no explota 01:31:10
Entonces, estas cosas 01:31:12
Al fin y al cabo es razonar, razonar, razonar 01:31:20
Habrá algunos que se lía, algunos que no 01:31:23
Los más difíciles son claramente los que tienen un for dentro de un for 01:31:26
¿Vale? Cuando surgen esas cosas allí 01:31:31
Cuando hay que comprobar una rey 01:31:33
Y por cada posición de la rey hacer un for 01:31:35
Pues se complican las cosas 01:31:38
Pues probar y probar y probar 01:31:39
¿Vale? 01:31:42
Siguiente 01:31:44
Nueve, leer los datos correspondientes 01:31:45
A dos arreglos de doce elementos numéricos 01:31:53
Y mezclarlos en un tercero de la forma 01:31:55
Tres de la tabla A, tres de la tabla B 01:31:57
Tres de la tabla A, tres de la tabla B 01:32:00
Es un poco retorcido por sí mismo 01:32:06
Números 01:32:08
Pillamos esto 01:32:09
Cuanto C, control U 01:32:10
Ejercicio nueve 01:32:12
Entonces, ahora tenemos N a doce 01:32:14
leemos 12 valores 01:32:19
de este de aquí, luego leemos 12 valores de este de aquí 01:32:24
y aquí estamos listos, ahora lo que tenemos que hacer 01:32:29
es crear un nuevo array, un array que es el doble 01:32:32
y ahora por cada uno de este de aquí 01:32:40
más o menos parecido al anterior 01:32:43
si, pero sale de 3 en 3 y hace si más 1 más 1 01:32:47
O sea, y, y más 1 y más 2. 01:32:58
Y ya está. 01:33:01
Por lo tanto, esto sería en res de y por 3. 01:33:02
¿Por 3? 01:33:21
¿Por 3? 01:33:22
¿Por 3? 01:33:23
Vamos a ver. 01:33:24
Porque este de aquí es un número que va de 0 a 11, mientras este otro tiene que ir de 1 a 24. 01:33:24
Por lo tanto, sería y por 2. 01:33:35
Es igual a... 01:33:40
Debería leer el primero. 01:33:46
Entonces, esto sería n1 de i. 01:33:47
Entonces, cuidado, ¿eh? 01:33:58
Porque los números que tengo que leer serían más 1, más 2, y guardarlos. 01:34:01
¿Justo? 01:34:13
Este de aquí sería más o igual a 3 01:34:13
Esto es más uno, sí, sí, sí 01:34:19
Estaba pensando en este otro 01:34:27
Efectivamente, es este de aquí que cambiará 01:34:29
Pero igualmente yo estoy leyendo los primeros tres de esto y los primeros tres del otro 01:34:32
Porque luego tendré que poner aquí n2 de i, ¿no? 01:34:43
O sea, lo mismo que estos de aquí. 01:34:56
Estos son los que tengo que guardar en la primera i. 01:35:03
Cuando paso a la segunda i, esto no tiene que ser 1, tiene que ser ya 3. 01:35:10
Porque luego aquí dentro uso 3, 4 y 5. 01:35:17
Entonces esto sería más igual 3. 01:35:21
Ahora a ver donde los guardo 01:35:25
Porque claro, esto debería ser 1, 2, 3, 4, 5 y 6 01:35:29
Pues a lo mejor es fácil 01:35:33
Es i multiplicado por 3 01:35:34
Igual 01:35:41
Solo que aquí le sumó 01:35:47
Aquí más 0 01:36:04
Esto sería 01:36:05
Más 1 01:36:07
Más 2 01:36:20
Más 3 01:36:22
Más 4 01:36:24
Y más 5 01:36:26
¿Funciona esto? 01:36:28
Ni idea 01:36:32
Pero suma 3, ¿eh? 01:36:32
No, porque el primero sería 0 01:36:53
0, 1, 2, 3, 4 y 5 01:36:58
Entonces el primero sería 3 01:37:01
Empezaría de 3 01:37:05
Pero entonces estaría en esta solución de aquí 01:37:06
Pensando en esto 01:37:11
En vez quería pensar en esto 01:37:13
Entonces a lo mejor no es por 3, es por 6 01:37:15
Porque cada vez que yo aumento un i 01:37:18
Me muevo de 6 posiciones en el resultado 01:37:27
Cuando i es 0 hago de 0 a 5 01:37:34
Cuando i es 1 hago de 6 a 6 más 5 01:37:42
Cuando i es 2 hago de 12 a 12 más 5 01:37:47
Esto debería funcionar 01:37:51
Esto lo guardo momentáneamente 01:37:54
Y voy a mirar si funciona 01:37:57
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 01:38:01
El otro 01:38:13
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 01:38:15
Explotado 01:38:24
Pero entonces no me vale esto 01:38:26
Vamos a ver por qué 01:38:48
Aquí el c del 36 01:38:53
Claro, pero esto sería 01:38:56
Creo, bueno, no sé 01:39:08
Porque estamos manejando 01:39:10
Dos soluciones a la vez 01:39:13
¿Dónde? ¿Aquí? 01:39:15
No, porque 0, 1 y 2 01:39:27
Y la siguiente debería ser 3 01:39:29
Entonces, yo por ahora 01:39:31
Esto lo quiero mantener así 01:39:33
Porque estoy pensando 01:39:35
En el array este de aquí 01:39:37
O sea, en n1 y n2 01:39:39
Entonces en la primera ronda de esto tengo que pillar la posición 0, 1 y 2 01:39:41
0, 1 y 2 01:39:46
En la segunda quiero 3, 4 y 5 01:39:47
3, 4 y 5, o sea 3, 4 y 5 01:39:50
Entonces mi i está variando de 3 en 3 01:39:52
O sea que esto creo que está bien y que esto creo que está bien 01:39:55
Lo que tengo que entender es esto 01:40:01
Lo que va aquí 01:40:04
Yo tengo aquí, que accede a la 36 01:40:06
Yo tengo tres arrays 01:40:17
Uno es este de aquí, con 12 posiciones 01:40:20
Uno es este de aquí, con 12 posiciones 01:40:24
Y uno que es este de aquí, que tiene 24 posiciones 01:40:26
¿Vale? 01:40:29
Entonces, cuando Y es 1 01:40:31
¿Sí? 01:40:33
Cero, perdón 01:40:35
Yo quiero acceder a estas tres 01:40:36
Y estas tres 01:40:38
¿Sí? 01:40:40
Entonces, 0 me hará 0, 1 y 2, 0, 1 y 2, y estas las pondrá aquí, y es lo que me falta aquí, y ocupará aquí 6, desde la 0 hasta la 5, ¿sí? Vale. 01:40:42
Cuando ahora aquí hago el segundo ciclo, asumiendo que esto lo he hecho bien, las posiciones que tengo que pillar ahora son la 3, 4 y 5. 01:40:58
Es decir, que ¿cuánto ha cambiado y? 01:41:08
Ha pasado de 0 a 3 01:41:13
Por lo tanto es y más 3 01:41:16
Es lo que ahora tenemos que entender 01:41:18
Por 6 no era 01:41:23
No puede ser, por nada 01:41:24
Porque si no como máximo llegaría a n 01:41:28
Y me cubre solo la mitad del array 01:41:32
Esto es el array final 01:41:34
Tendrá que ser multiplicado por algo 01:41:35
Pero por 6 posiblemente no 01:41:38
Ahora tenemos que entenderlo 01:41:39
Vamos a entenderlo 01:41:41
Entonces, este de aquí me tiene que poner, cuando i es cero, me pone cero, uno, dos, tres, cuatro y cinco. 01:41:43
Ahora, cuando i es uno, me debería hacer, pero entonces tendría sentido, tendría sentido multiplicarlo por seis, 01:41:57
Porque la segunda vez cuando tiene 1 01:42:20
Me debería hacer 6, 7, 8, 9, 10 01:42:22
Entonces esto sería por 6 01:42:24
Por 2 01:42:29
Perdón, además 01:42:32
Maí no vale 3, ahí vale 1 01:42:34
Entonces, ¿y por 2? 01:42:40
O sea, en el segundo ciclo vale 3 01:42:46
Vale, ok, ahí es el costo 01:42:47
Sí, por 2 01:42:49
Sí, sí 01:42:50
Porque es que 01:42:54
Razonamos con esto más 1 01:42:56
En vez de más 3 01:42:58
Entonces, 1, 2, 3, 4, 5 01:43:00
6, 7, 8, 9 01:43:04
10, 11 y 12 01:43:07
1, 2, ay 01:43:09
El segundo es todos 1 01:43:11
Ahí está 01:43:13
Pues ya está 01:43:21
Siguiente solución 01:43:23
Es decir, aquí yo iba 01:43:26
Desde 01:43:28
Aquí yo máximo llego a n 01:43:29
¿Vale? Entonces 01:43:32
Hagámoslo de la otra forma 01:43:34
Es decir 01:43:35
Ahora yo quiero llegar 01:43:37
Hasta 24 01:43:40
Entonces, y es fácil porque será, veamos, res2 de y es igual a algo. 01:43:41
Es igual a n1 de algo. 01:43:58
Y luego n2. 01:44:07
Entonces, esta de aquí será simplemente y más 1, más 1, más 1, perdón, más 2. 01:44:16
no, más 2 01:44:22
más 3 01:44:25
y más 4 01:44:27
y más 5 01:44:30
y ahora en vez de saltar 01:44:32
de 3 en 3, saltará de 6 en 6 01:44:34
es decir que 01:44:36
y más 01:44:37
igual 01:44:39
y esto es fácil 01:44:43
ahora tengo que pillar 01:44:47
la cosa correcta, que esta, esta y esta 01:44:48
serán igual a esta, esta y esta 01:44:51
que será la mitad 01:44:52
esta es y, y dividido por 2 01:44:56
si estoy en la 0 es 0 01:45:03
si estoy en 6 será desde la posición 3 01:45:07
si estoy en 12 será desde la posición 6 01:45:10
y esto será y dividido por 2 más 1 01:45:13
y esto será y dividido por 2 más 2 01:45:18
y ahora esto se repite 01:45:28
voy al otro 01:45:31
he pillado las mismas posiciones 01:45:33
1, 2 y 3 01:45:36
1, 1, 1, 1, 1, 1 01:45:37
1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 01:45:47
entonces 01:45:53
esto también 01:46:01
tiene sus cosillas 01:46:04
sobre todo 01:46:06
de pillar 01:46:07
la relación entre tu i 01:46:09
y cosas por el estilo 01:46:12
aquí estamos pensando de utilizar 01:46:13
i para todo 01:46:15
Tened en cuenta que la solución más sencilla sería 01:46:16
Con res3 01:46:22
3, 3, 3, 3, 3, 3, 3 01:46:32
Es gestionar dos variables 01:46:46
¿Vale? 01:46:53
Coma y j es igual a 0 01:46:54
Y salta de 6 en 6 01:46:57
Coma J salta de 3 en 3 01:47:00
Y aquí dentro lo que tú haces es 01:47:02
Utilizar la J aquí 01:47:10
No, utilizar la I aquí 01:47:12
¿Correcto? 01:47:17
Que saltará de 6 en 6 01:47:19
Y utilizar la J aquí 01:47:20
A lo mejor se ve más sencillo 01:47:22
1, 1, 1, 1, 1, 1 01:47:39
Si son unos, es el primero 01:47:42
2, 2, 2, 2 01:47:44
Pero no puede ser un número que no sea divisible entre 4 por la cuestión de que estás sumando dos que son iguales y que los dos son 12. 01:47:46
Está pensado. 01:48:08
Claro. 01:48:16
Pero eso lo deberías comprobar. 01:48:17
Entonces esto, en vez de llegar hasta el final, llegarías hasta la primera, hasta la última y luego haces alguna cosa. 01:48:19
Esto siempre es el problema 01:48:28
Si no vas de uno en uno 01:48:30
Siempre tienes el problema de este de aquí 01:48:31
Que probablemente 01:48:34
Lo que pasaría es que 01:48:36
En el último te explotaría 01:48:38
Entonces luego ya veremos 01:48:41
Que hacer cuando explota 01:48:42
Porque posiblemente lo haríamos así 01:48:44
Y lo haríamos explotar 01:48:46
Pero al explotar pillamos 01:48:48
Capturamos la excepción 01:48:50
Y decimos, ahora estamos en la última vuelta 01:48:52
La última vuelta de la goma enorme 01:48:54
como lo has hecho 01:48:55
pero no porque estoy grabando 01:48:58
acabamos porque si no no nos da tiempo 01:49:00
y luego después me lo dices 01:49:02
falta 10 01:49:03
leer por teclado la serie 6 números 01:49:09
una vez insertado sin dejar menor o mayor 01:49:11
entonces entiende que 01:49:13
siempre en una rey 01:49:15
pero esto debería ser fácil 01:49:17
entonces copio el 4 01:49:19
entonces lo que voy a hacer 01:49:26
es leerme un número 01:49:37
me lo leo, 10 carácter 01:49:39
vale, ahora empiezo a trabajar 01:49:41
entonces 01:49:43
ahora lo que tengo que hacer yo 01:49:48
pillarme dos valores 01:49:51
min y max, recorrerme 01:49:54
el array y actualizarlos 01:49:57
entonces lo que hago 01:49:59
es int min es igual a que 01:50:01
números de 0 01:50:03
int max 01:50:09
es igual a que 01:50:12
números de 0 01:50:13
fijaos que si aquí pone 01:50:15
un número cualquiera, pues os exponéis a que 01:50:21
aquí dentro se quede ese número mínimo, porque no hay ningún 01:50:25
número máximo que ese. Si yo pongo aquí 01:50:29
menos 7, pues si la red es todo de números negativos por debajo de menos 10 01:50:33
pues menos 7 se quedará como máximo. Sin embargo, no sé si me explico. 01:50:37
Entonces, la idea básica es, me pillo el primer número y asumo que ese es 01:50:41
el menor o el mayor. Y ahora lo voy a comprobar con los demás. 01:50:45
Entonces, for int i es igual a 1, porque 0 ya lo he hecho, i menor que números.length y más más, si números de i es mayor que min, es menor que min, 01:50:48
entonces es el nuevo menor 01:51:20
y si 01:51:23
números de y 01:51:36
es mayor que max 01:51:38
entonces es el nuevo max 01:51:40
esto es fácil 01:51:42
si eso 01:51:52
min 01:51:53
es min, max 01:51:55
de max 01:52:03
todos los he insertado todo 01:52:05
y después lo he comprobado 01:52:10
¿vale? 01:52:12
pregunta, ¿se podría hacer sin y? 01:52:14
min es igual a número de 1, de 0, números, lo reinicializo, ¿vale? 01:52:16
max es igual a números de 0, for int x dos puntos números, y aquí sería lo mismo, solo que uso x. 01:52:35
La única cosa es que aquí 01:52:58
Estaría 01:53:11
Haciendo la primera comprobación 01:53:12
Que es sustancialmente inútil 01:53:16
Y no la puedo evitar porque esto me lo hace por todos 01:53:17
Pero a lo mejor esto 01:53:20
Es más fácil que esto 01:53:23
Entonces dime n 01:53:26
¿Cómo dime n? 01:53:33
¿Dónde era ayer? 01:53:34
1, 2, 3, 4 01:53:36
mínimo uno máximo 01:53:38
aquí mínimo uno 01:53:42
vale 01:53:45
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Primer Curso
Autor/es:
Stefano Chiesa
Subido por:
Stefano C.
Licencia:
Reconocimiento - No comercial
Visualizaciones:
23
Fecha:
31 de octubre de 2024 - 14:01
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
1h′ 53′ 50″
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:
397.74 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid