20241128 CorreciónExamen_2 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
vale, pues ala
00:00:00
el ejercicio 2
00:00:02
otra función, venga
00:00:04
esta era más fácil
00:00:06
que la anterior, creo yo, vamos a ver
00:00:08
¿qué opináis vosotros?
00:00:10
vale
00:00:21
¿en todos?
00:00:21
que estrés, pero venga
00:00:25
vale
00:00:27
vale, pues a ver, entonces ejercicio 2
00:00:28
Uno que hace antes de nada leerlo, devolver máximo, nombrecito de la función, eso es lo que pide, pues venga, pide esto, pues una función que no sabemos todavía lo que devuelve, nos obligan a que se llame así, todavía no hemos llegado a leer que tiene que recibir, pues así la dejamos.
00:00:35
Venga, pues a ver
00:00:59
Esta función que recibe
00:01:02
Dos arrays de números enteros
00:01:04
Pues recibe dos arrays de números enteros
00:01:06
Ya está, no le puedo meter nada más que no sea eso
00:01:08
Trabaja con esto
00:01:11
Con dos arrays de números enteros
00:01:12
Pues nums1, por ejemplo
00:01:14
Cada uno que los llame
00:01:17
Como lo dé la gana
00:01:18
¿Qué te pasa, Juan Francisco?
00:01:19
Nada, nada, te voy a preguntar
00:01:24
Bueno
00:01:25
Pero ¿cómo te llaman a ti?
00:01:27
Juan, a palo seco, vale
00:01:34
A ver
00:01:36
Juan
00:01:38
Oye, pues es un nombre muy bonito
00:01:40
Hay que usarlo, sus padres se lo pusieron para eso
00:01:45
A ver, ahora
00:01:47
¿Qué tiene que hacer la función?
00:01:49
Pues de esos dos arrays
00:01:52
Mirará cuál tiene el valor máximo mayor
00:01:53
y lo devuelve con valor de retorno
00:01:56
luego, ¿sabemos hacer un máximo
00:01:58
de los valores de un array? de números, sí
00:02:00
pues vamos a hacer
00:02:02
el máximo del primer array
00:02:05
el máximo del segundo array
00:02:06
vamos a ver cuál de los dos es mayor
00:02:08
si es mayor el del primero, devolvemos el primero
00:02:10
si es mayor el del segundo, el del segundo
00:02:12
y si es mayor el de
00:02:14
y si son iguales, dijimos que el primero
00:02:15
es que esta versión aquí no está completa, pero vale
00:02:18
venga, pues hala
00:02:20
pues ya está, entonces vamos a hacer
00:02:22
dos máximos, ¿cómo hacíamos
00:02:24
un máximo. Mi variable máxima
00:02:26
que está aquí
00:02:29
si podemos
00:02:30
en este caso es muy fácil
00:02:33
la inicializamos al primero
00:02:34
de todos los valores.
00:02:36
Nums 1 de 0
00:02:39
Este es el primero de todos los valores.
00:02:40
Ahora
00:02:43
recorremos el array. Si
00:02:44
alguno supera el máximo, tenemos nuevo máximo
00:02:46
y punto pelota.
00:02:48
No, porque
00:02:51
si todos los números fueran negativos
00:02:52
no te calcularía el máximo.
00:02:54
Si empiezas con un 0 y el array tiene menos 1, menos 7 y menos 4, ninguno de ellos superaría ese máximo, con lo cual el máximo seguiría siendo 0.
00:02:56
Mal, el máximo tendría que ser menos 1.
00:03:05
Podrías inicializarlo, eso sí, al más pequeñito de todos los enteros.
00:03:07
Que esto, recordad que era esto de aquí.
00:03:13
¿Vale? A esto sí.
00:03:17
Porque entonces ahora ya cuando entres en el array ya el primero va a ser mayor que este y ya a partir de ahí tira.
00:03:19
Pero si iniciales a 0, no.
00:03:25
Que eso mucho lo habéis puesto a cero y os lo he puesto en los comentarios.
00:03:26
Que si todo lo único fuera negativo, pues no...
00:03:28
No es que no tuviera sentido.
00:03:31
Es que te saldría un mínimo erróneo porque te saldría a cero.
00:03:34
Noms de 1.
00:03:40
Uy, de 1 no, perdón.
00:03:42
De cero.
00:03:43
Vale, ya recorremos el array.
00:03:43
Ay, ay, ay, ay.
00:03:48
Qué exquisitos.
00:03:49
Que sí, hombre, que sí.
00:03:51
Que si no, no está bien.
00:03:52
Vale.
00:03:54
Hombre.
00:03:58
Nos hemos despertado.
00:03:59
vale, vamos a poner la llave
00:04:01
bien
00:04:03
recorremos el primer array
00:04:05
si alguno de estos
00:04:10
elementos
00:04:12
es mayor que el máximo
00:04:13
hasta ese momento
00:04:17
pues entonces
00:04:18
ya te, nums de i, perdón
00:04:20
pero es que
00:04:22
no sé si los de atrás con control menos ven algo
00:04:26
porque ahora con tanta pantalla
00:04:28
ya estáis ciegos todos
00:04:30
pues tenemos el algoritmo de máximo
00:04:31
calcado
00:04:41
algoritmo que te calcula
00:04:42
el valor máximo de un conjunto
00:04:45
de números que están en este array
00:04:47
los vamos
00:04:49
recorriendo uno por uno, si alguno de ellos
00:04:51
supera el máximo, tenemos nuevo máximo
00:04:53
vale, pues es el máximo del primer array
00:04:55
vamos a llamarle uno, porque ahora
00:04:57
hay que hacer otro máximo
00:04:59
entonces voy a llamarle uno
00:05:00
Pues lo mismo para el segundo array
00:05:02
O sea es hacer lo mismo para el otro
00:05:05
Vale
00:05:06
Pues lo mismo para el otro
00:05:11
Vale, hemos hecho lo mismo dos veces
00:05:13
Y ahora ya se trata de cuál de los dos es mayor
00:05:21
En función de eso o retorno
00:05:23
Nums1 o nums2
00:05:25
Este era mucho más fácil que el primero
00:05:26
Pues ya está
00:05:28
Si
00:05:30
Max1 es
00:05:32
Mayor o igual
00:05:35
Porque hemos dicho que en el caso de que fueran iguales devolvía el primero
00:05:36
que max2
00:05:39
pues entonces
00:05:40
devuelvo nums1
00:05:43
devuelvo el array entero
00:05:45
porque la función que devuelve
00:05:47
un array de números enteros
00:05:49
que si no se había puesto ponerlo ahí
00:05:51
la función devuelve un array de enteros
00:05:52
devuelve un array de enteros
00:05:56
el tipo de dato
00:05:57
pues devuelvo todo este array enterito
00:05:58
que no, pues será que entonces
00:06:00
el que es mayor es max2
00:06:02
pues entonces devuelvo
00:06:04
nums2
00:06:06
y se acabó, para hacer este ejercicio
00:06:09
que eran 2,5 puntos, solamente había que acordarse
00:06:13
de hacer el máximo, entonces, insisto
00:06:16
no os estoy regañando, te estoy tratando
00:06:19
de poner sobre la mesa lo que he dicho 200.000 veces
00:06:22
tenéis que memorizar las cosas
00:06:26
porque no podéis estar ideando en cada ejercicio
00:06:28
no, siempre hay que tirar de cosas que uno ya ha visto y ya sabe
00:06:31
cómo hacer, y entonces ya puede construir
00:06:34
aprendizajes y programas más grandes
00:06:36
¿vale? entonces aquí
00:06:39
si no se acuerda del máximo, ya tiene la función
00:06:41
hecha, y de cómo se declara una función
00:06:43
claro, y de
00:06:45
las cosas básicas
00:06:46
¿vale? pues como probábamos
00:06:48
esto, madre mía, que mala
00:06:51
cara traes
00:06:53
uff, no has dormido muy bien
00:06:53
bueno
00:06:56
perdón
00:06:58
aquí esto
00:07:00
este retun
00:07:03
mira, estaba justo pensando
00:07:05
a ver cuál es el primero que me salta con las llaves
00:07:09
porque se me han olvidado
00:07:11
vale, yo pongo las llaves
00:07:12
porque me lo estáis pidiendo
00:07:16
pero de verdad, iros acostumbrando
00:07:17
a no poner llaves todo el rato
00:07:21
porque al final el código
00:07:22
se hace muy gordo
00:07:24
y no solo eso, sino que cuando ya hay muchas cosas
00:07:26
dentro de otras, al final tenemos
00:07:29
200.000 llaves así, cerrando
00:07:30
Sí, claro
00:07:32
Vale, y entonces
00:07:42
Esto ahora ya decidimos que se probaba en un main
00:07:44
¿Vale?
00:07:47
El main, voy a poner dos arrays de números cualesquiera
00:07:48
Porque no tengo el
00:07:51
Entonces
00:07:52
Estoy cambiando el nombre de las variables a propósito
00:07:56
Para que ninguno, para que todo el mundo se acuerde
00:08:02
Que no tiene nada que ver el nombre de la variable aquí
00:08:04
Con el parámetro
00:08:06
5, 7
00:08:07
9, 34
00:08:10
Y este otro
00:08:12
Números 2
00:08:16
Este que tenga una media más grande
00:08:22
Me va a devolver
00:08:26
El segundo seguro
00:08:28
Y ahora ya
00:08:29
Puedo guardar aquí en mi resultado
00:08:32
El
00:08:35
Devolver máximo
00:08:42
¿De quién es?
00:08:45
Pues le paso los parámetros correctamente
00:08:46
Los nombres de los Arrays
00:08:48
Números 1 es el primer parámetro
00:08:49
Y números 2 es el segundo parámetro
00:08:51
Vale
00:08:55
Hay que hacer la llamada correctamente
00:08:56
Pasándole el nombre de los parámetros
00:08:58
Que son dos Arrays
00:09:00
Vale, y ahora hombre
00:09:01
Si queremos comprobar si realmente
00:09:04
Me ha devuelto el máximo, vamos a
00:09:06
Poner aquí
00:09:08
Un for
00:09:09
Sí, sí, sí
00:09:11
Pero bueno, vamos a
00:09:18
sí, aún sí, sí, me va a sacar
00:09:20
tu stream por defecto
00:09:31
de object que me saca el nombre de la variable
00:09:33
pero bueno, para que nadie
00:09:35
se líe con salidas del system
00:09:41
out extrañas, bueno, pues
00:09:43
ejecutamos esto
00:09:45
pues
00:09:46
este tiene mayor media que el otro, imposible
00:09:48
ni de coña
00:09:51
números uno, números dos
00:09:53
números uno, números dos
00:09:55
He puesto el nombre de alguna variable mal
00:09:57
Ah, que se ha inicializado
00:10:08
En el copia y pega, esto no lo he cambiado
00:10:11
Ni esto tampoco
00:10:13
Los copias y pega, pues tiene mucho peligro
00:10:14
¿Vale?
00:10:18
En este copias y pega, num2
00:10:19
Vale
00:10:21
No me lo puedo creer, ¿sigue saliendo el otro?
00:10:22
Esto sí que no tiene sentido
00:10:25
Eso digo yo
00:10:26
Eso mismo digo yo
00:10:29
Ah, no, aquí tampoco lo he cambiado
00:10:30
Aquí tampoco lo he cambiado
00:10:33
Ah, ahora sí que sí
00:10:34
Tiene mucho más mérito
00:10:42
Saber arreglar errores
00:10:43
De programas que salen mal
00:10:45
Que hacer programas bien de partida
00:10:47
Vale, ya está
00:10:49
Cuidado con los copias y pegas, ¿vale?
00:10:50
Primera enseñanza
00:10:53
Vale, pues ahora ya con todo el copia y pega bien hecho
00:10:54
Ahora ya sí que funciona
00:10:59
Ejercicio 3
00:11:00
¿Al main?
00:11:02
Ahí, ahí
00:11:06
Tienes la nota de la virtual, ¿eh?
00:11:07
No me acuerdo
00:11:24
cuando eran iguales
00:11:25
ah, eso, que en vez del máximo
00:11:31
me hiciste la suma, efectivamente
00:11:36
ya, ya, ya, pues cuidado con las lecturas
00:11:37
vale, venga
00:11:42
no te funciona
00:11:44
muy bien
00:11:49
muy bien
00:11:56
eso es lo que más te va a convertir
00:11:57
en persona
00:12:01
saber enmendar los errores
00:12:02
es más persona de lo que es ya
00:12:04
bueno, todos somos un proyecto
00:12:09
la mayoría nos truncamos
00:12:12
y ya no tenemos arreglo
00:12:15
pero bueno
00:12:16
Ejercicio 3
00:12:17
Vale, venga
00:12:22
Ejercicio 2
00:12:25
Facilillo, ¿no?
00:12:27
Ejercicio 3
00:12:30
Invertir el array
00:12:31
Programa
00:12:34
Rellena un array de cadenas
00:12:36
Y lo invierte
00:12:38
Aquí de nuevo, el que no lo haya hecho
00:12:39
Es porque se le ha olvidado un ladrillito
00:12:41
De todos los ladrillitos que vamos
00:12:43
Vale, pues venga, vamos al ejercicio 3
00:12:45
Aquí este ya es un programa
00:12:49
Hay que pedir por teclada, un rollo patatero
00:12:50
Pues unos cuantos
00:12:53
Este es exclusivamente mío
00:12:56
Y los otros tres
00:13:05
Prácticamente también
00:13:08
Este examen fue responsabilidad mía prácticamente
00:13:10
El anterior más a medias
00:13:12
Lo que pasa es que
00:13:17
Este estaba, Estefano, liado con una cosa
00:13:19
Y no le daba tiempo
00:13:22
Y este, sobre todo
00:13:23
¿Te puedes creer?
00:13:24
No te lo vas a creer
00:13:28
Pero, no te lo vas a creer
00:13:29
Pues los de Dao les ha ido bastante peor
00:13:31
Scan en 3
00:13:36
Venga, vamos a ver
00:13:37
¿No les ha ido peor?
00:13:38
¿Han suspendido más?
00:13:42
¿No es cuantos más? Sí, sí, completamente en serio.
00:13:43
A ver, vamos a leer.
00:13:45
Introduzca entero.
00:13:53
Pero a ver, ¿en cuál caso nos comparéis?
00:13:56
Yo creo que sois todos alumnos en conjunto,
00:13:58
que algunos ya saben más, otros menos.
00:14:00
Estáis todos en la media de lo que es un alumno ahora,
00:14:02
porque está aprendiendo.
00:14:07
Ya está.
00:14:08
Ellos no, serían uno o dos
00:14:09
El que lo diría, los demás no dirían nada
00:14:13
Pues serían esos cuatro
00:14:15
Que serían los listillos, ya está
00:14:18
Venga
00:14:20
Oye, no quiero
00:14:29
Peleas urbanas ni quiero nada
00:14:35
son compañeros
00:14:36
como vosotros
00:14:41
con las mismas
00:14:43
vale, pues a ver
00:14:45
yo aquí estoy haciendo las cosas
00:14:49
a mi bola, pero sabéis lo que estamos
00:14:52
haciendo, ¿no?
00:14:54
he creado el array con el tamaño pedido al usuario
00:14:55
hombre, claro
00:14:58
además me llevo
00:15:01
una alegría muy grande
00:15:04
ahora, vamos a pedir las cadenas
00:15:05
y lo son, lo que pasa es que yo lo estoy
00:15:08
alargando todo para que quede muy claro
00:15:21
para la gente que se está situando, pero esto lo haces
00:15:23
en mucho menos líneas
00:15:25
eso, cada llave es una línea extra
00:15:26
vale, pues entonces
00:15:30
yo lo detallo mucho
00:15:33
me hago variables que no hacen falta
00:15:35
O hago todo así para que
00:15:37
La cabeza está organizada ahora
00:15:38
Luego ya iremos acortando código
00:15:40
Venga, pues a ver
00:15:42
Introduzca cadena
00:15:43
Y ahora leemos la cadena
00:15:49
Next line
00:15:52
Vale, ahora ya
00:16:04
Rápidamente, como vosotros sois muy listos
00:16:06
Ya sabéis
00:16:09
Uy, cuidado que he leído un número y voy a empezar a leer cadenas
00:16:10
Cuidado
00:16:12
A nadie, a nadie
00:16:13
En algunas cosas os tengo muy bien enseñados
00:16:14
¿A nadie se le ha escapado esto?
00:16:17
Esto sí que lo he memorizado
00:16:19
O a casi nadie se le ha escapado eso
00:16:20
Claro, no, no, no
00:16:23
Algunas cosas, la verdad que estoy muy orgullosísima
00:16:25
Vale
00:16:29
Y ahora ya tenemos un array de cadenas
00:16:30
Hombre, por Dios
00:16:32
Esto sí que se hace en dos líneas
00:16:33
En tres líneas
00:16:36
Invertir la cadena
00:16:36
A ver
00:16:39
Tenemos este array
00:16:40
Vale
00:16:43
con cadenas.
00:16:44
Aquí, por ejemplo, este.
00:16:50
Vale, invertirlo, ¿qué va a ser?
00:16:52
Invertirlo va a ser
00:16:56
copiar esta,
00:16:57
intercambiar esta por esta.
00:16:59
Es decir, intercambiar dos valores de variables.
00:17:01
Intercambiar dos valores de variables
00:17:04
sabemos hacer, lo hemos hecho a veces.
00:17:05
Necesitamos una auxiliar, intercambiar dos valores.
00:17:07
Luego, intercambiar
00:17:10
esta por esta. Luego,
00:17:11
intercambiar esta por esta. Y en cuanto he llegado
00:17:13
a la mitad, me paro. Luego,
00:17:15
en cuanto nos damos cuenta
00:17:17
de que el programa se trata de
00:17:19
intercambiar
00:17:21
estas dos variables, luego esas dos
00:17:22
luego estas dos, vemos, ah pues me hago un for
00:17:25
que vaya desde el principio
00:17:28
hasta la mitad
00:17:30
y solo hasta la mitad
00:17:31
y en cada variable la intercambia
00:17:32
con la que está
00:17:35
en su espejo
00:17:37
y ya está, y eso es lo que tenemos que hacer
00:17:38
vale, pues vamos a
00:17:41
hacer el for que vaya hasta la mitad solo
00:17:44
entonces
00:17:45
mientras si sea menor
00:17:49
hasta la mitad hasta cuando
00:17:56
porque aquí nos quedaría
00:17:58
hasta led entre 2
00:17:59
o hasta led menos 1 entre 2
00:18:02
aquí lo mejor es que uno que haga los cálculos
00:18:04
imaginaos si la longitud es 6
00:18:06
yo tengo que
00:18:09
pararme en la 2
00:18:10
luego sería entonces mejor
00:18:11
hago la led menos 1 que es 5
00:18:14
entre 2 y me dará 2
00:18:16
porque si hago 6 entre 2 me da 3
00:18:18
se para aquí
00:18:20
entonces me tengo que parar en la length
00:18:21
menos 1 entre 2 para que se pare
00:18:25
justo en la mitad
00:18:26
y si son impares
00:18:27
claro, si son
00:18:30
impares, es decir
00:18:32
si aquí añades una más
00:18:34
porque son impares
00:18:36
claro
00:18:38
a este no llegará
00:18:42
pero es que este está justo en la mitad
00:18:44
luego este tiene que ir cambiando
00:18:46
claro
00:18:47
entonces bueno, aquí es afinar
00:18:49
los límites, esto quizás un poco, a ver
00:18:53
donde me paro, length entre 2, length menos 1 entre 2
00:18:54
es afinar un poco los límites
00:18:57
quizás lo que es un pelinín más complicado
00:18:58
claro, afinar un poquito, a ver donde
00:19:01
me paro exactamente, para que me valga
00:19:06
para tanto impar como par, o si voy a
00:19:08
tener que distinguir o no, en este caso no voy a tener que distinguir
00:19:10
pues
00:19:13
cadenas
00:19:14
punto length
00:19:18
menos
00:19:19
1 entre 2
00:19:21
vale
00:19:24
pues que tenemos que hacer
00:19:25
intercambiar cadenas de y
00:19:27
con susimétrico, esto es lo que tendremos que hacer
00:19:30
con
00:19:32
susimétrico
00:19:39
y
00:19:44
susimétrico
00:19:46
esta es la otra
00:19:47
mínima dificultad, susimétrico
00:19:50
¿Cuál va a ser?
00:19:52
Hombre, pues el simétrico de cadenas 0
00:19:53
Es cadenas de led menos 1
00:19:57
El de cadenas 1
00:19:58
Es cadena de led menos 2
00:20:00
Entonces el simétrico de cualquiera
00:20:01
Va a ser
00:20:04
Cadenas punto led menos 1
00:20:05
Menos i
00:20:08
¿Vale?
00:20:09
Menos 1 y ahora menos i
00:20:14
Ese va a ser el simétrico
00:20:16
Alguna vez hemos hecho algún ejercicio
00:20:18
En el que también hemos necesitado el simétrico
00:20:19
Para que cuando i es 0
00:20:21
el simétrico es len menos 1, está claro.
00:20:23
Cuando i es 1, el simétrico
00:20:26
es 1 antes. Cuando i es 2,
00:20:27
el simétrico es 1 antes. Entonces, ahora ya se trata
00:20:29
de intercambiar este por este.
00:20:31
Y ahora, intercambiar una variable por otra,
00:20:33
uno ya se acuerda de ese ladrillo que ya tiene
00:20:35
hecho. Ah, cambiar una variable por
00:20:37
otra, tengo que partir de un auxiliar
00:20:39
para guardar temporalmente
00:20:41
una de ellas. Vale, pues
00:20:43
voy a guardar temporalmente
00:20:45
cadenas de i. Ahora que ya
00:20:47
la tengo guardada.
00:20:49
Eso, sí, sí, sí
00:20:53
Es un string
00:20:58
Vale
00:20:59
Es que, bueno, porque igual hiciste
00:21:01
El array de int, pero
00:21:06
Debe haber sido de string
00:21:07
Vale, entonces
00:21:09
Ahora que ya lo tenemos guardado temporalmente
00:21:11
Lo podemos pisar tranquilamente
00:21:14
Y sin miedo con su simétrico
00:21:16
Que es este
00:21:18
Con su simétrico pesadilla
00:21:18
Y ahora
00:21:25
a este de aquí
00:21:27
a este de aquí
00:21:31
le damos lo que tenía el otro
00:21:34
que lo habíamos guardado temporalmente en aus
00:21:37
entonces para hacer el intercambio de una variable
00:21:39
por otra necesitamos un auxiliar
00:21:41
guardo temporalmente esta, piso esta
00:21:42
con la otra y ahora en esta piso lo que tenía
00:21:45
la otra
00:21:47
¿vale? entonces esto
00:21:47
de nuevo, como uno ya tiene, ah vale, puedo intercambiar
00:21:51
una con otra, pues ya lo planta y se acabó
00:21:53
y ya está hecho el programa
00:21:55
Entonces, vamos a mostrar
00:21:57
Ahora el nuevo array
00:22:00
A ver si realmente las ha intercambiado
00:22:02
Uy, perdón la llave
00:22:04
Dios mío
00:22:14
Dios me libre
00:22:15
Vale, venga
00:22:18
Pues el programa estaría
00:22:25
Este ya es más rollo de probar
00:22:26
Pero hay que meterle cosas
00:22:29
Lo voy a meter para que sea fácil
00:22:30
Joder, empezamos bien
00:22:32
Es que primero pide el tamaño
00:22:34
Error del usuario, no del programa
00:22:36
Venga, va a ser un array de 5
00:22:39
Cat1
00:22:42
Cat2
00:22:44
Cat3
00:22:46
Cat4
00:22:48
Cat5
00:22:50
Perfectamente invertido, ¿vale?
00:22:52
Vale
00:23:02
Pues ya está, leer cadenas
00:23:02
Y hacer el intercambio de una variable por otra
00:23:04
Tercero completo
00:23:06
Silvia también ha faltado
00:23:08
Silvia, Cristian, unos cuantos
00:23:22
A ver, venga, ejercicio 4
00:23:25
Venga, el ejercicio 4 era
00:23:30
Otra función, pues ala, otra función
00:23:51
Todavía no sabemos lo que devuelve
00:23:59
existe suma
00:24:01
¿qué se le pasa como parámetro?
00:24:03
no lo sé
00:24:06
vale, ¿qué tiene que hacer esta función?
00:24:07
¿qué os pasa?
00:24:12
relax
00:24:14
esta función
00:24:14
recibe un array de enteros
00:24:16
y un valor
00:24:19
luego tiene dos parámetros esta función
00:24:20
vale, pues vamos a poner los dos parámetros
00:24:24
una de ellas es
00:24:26
un array de enteros
00:24:28
Venga, números
00:24:30
Y la otra es un valor suelto
00:24:33
Este, vale
00:24:36
¿Qué tiene que hacer esta función?
00:24:38
Joder, ya tanta llave
00:24:42
Ya las duplico
00:24:44
¿Tiene que devolver una raíz?
00:24:45
No
00:24:48
No, que te baja nota a la misma
00:24:48
Esta función te tiene que decir
00:24:50
Si se cumple una cosa o no se cumple
00:24:53
Con lo cual la función te va a devolver un Boolean
00:24:55
Te tiene que devolver un Boolean
00:24:57
Vale
00:25:00
Porque te dice si algo
00:25:01
se cumple o no, te devolverá true
00:25:05
si se cumple, false si no
00:25:07
es como la función de exprimo
00:25:08
te devuelve true si el parámetro exprimo
00:25:10
false si no, etc.
00:25:13
vale, que tiene que verificar que se cumpla
00:25:15
si existen
00:25:17
dos números al menos
00:25:19
diferentes en este array
00:25:20
cuya suma de este valor
00:25:22
vale, pues nada
00:25:24
entonces lo primero que se le ocurre aquí a uno
00:25:26
vamos a recorrer el array
00:25:28
y para cada número, lo más fácil
00:25:30
sin complicarnos la vida
00:25:33
para cada número, volvemos a recorrerlo
00:25:34
y si encontramos otro cuya suma
00:25:37
sea ese, retuntru y terminado
00:25:39
Claro, falta añadir
00:25:40
esa condición para no repetir el mismo número
00:25:43
que esa condición es la que muchos no habéis
00:25:45
incluido. Venga, pues
00:25:47
a ver, el resultado va a ser un boolean
00:25:49
A ver, él te deja hacer lo que tú quieras
00:25:51
Venga, asumimos
00:26:01
Silencio
00:26:06
Asumimos que de partida no existe
00:26:08
No existe
00:26:10
Y ahora vamos a hacer ese recorrido
00:26:12
Que en cuanto encontremos una combinación de números
00:26:13
Cuya suma es
00:26:17
El que me han dado, ya retuntruy se acabó
00:26:18
En cuanto la encontremos
00:26:20
Pues venga, vamos a recorrer el array
00:26:21
Vamos a recorrer el array
00:26:25
Chicos
00:26:28
Yo no te he mirado
00:26:29
Ah
00:26:33
Pero con mucho cariño
00:26:35
Venga, una llave
00:26:38
Sí, claro
00:26:40
Dámelo tú a mí para notar que te he puesto
00:26:43
Vale
00:26:47
Para cada posición
00:26:50
¿Qué hacemos con cada posición?
00:26:57
Vamos a volver a recorrer todas las demás
00:26:59
Vamos a volver a recorrerlas todas
00:27:01
Y si hay alguna de ellas
00:27:02
Cuya suma con esta ahí en la que estoy
00:27:05
Me da el resultado y devuelvo tú
00:27:07
eso es lo primero que a uno se le ocurre por aquí
00:27:10
pues para cada i, vamos a volver a recorrerlas todas
00:27:12
como el i ya lo he usado
00:27:15
pues me hago esto, mientras j igual a 0
00:27:17
mientras j sea menor que otra vez el array porque lo recorro otra vez
00:27:21
punto length, incrementando j
00:27:24
entonces uno lo primero que hace es
00:27:27
si números de i
00:27:30
más
00:27:35
números de j
00:27:37
es igual
00:27:40
al valor que me han pasado
00:27:42
es igual
00:27:43
retuntru
00:27:44
esta sería la primera versión que podíamos hacer
00:27:47
que está casi bien
00:27:49
casi bien, ¿verdad?
00:27:50
¿y entendéis lo que hemos hecho?
00:27:54
claro, para cada valor
00:27:55
y, nos paramos en cada valor
00:27:57
y, no, estamos aquí
00:28:00
para cada números de y
00:28:01
y para cada números de y
00:28:03
¿qué hacemos?
00:28:06
recorremos todo el array para ver si
00:28:08
Y hay alguno, algún jota, cuya suma con i me dé valor.
00:28:09
Pero claro, aquí de repente, cuando repasamos esto, decimos,
00:28:15
uy, yo estoy en un i, recorro todo el array otra vez,
00:28:18
entonces estoy pasando también por sí mismo.
00:28:22
Entonces estoy contando la suma consigo mismo.
00:28:25
Entonces, cuidado, este if vamos a agregarle una parte que sea,
00:28:28
si i es diferente de jota, para no contar a sí mismo,
00:28:33
Y si siendo i diferente de j
00:28:37
Siendo i diferente de j
00:28:39
Pongo la otra parte aquí abajo
00:28:43
Siendo
00:28:44
Sj en el que me he parado
00:28:46
Sj diferente del i
00:28:48
La suma es igual a valor
00:28:50
Ya lo he encontrado
00:28:53
Retún tru
00:28:54
Y esta versión ya estaría bien
00:28:55
A ver, hace más iteraciones de las necesarias
00:28:58
Porque cuando tú ya estás en un i
00:29:00
Uno podría decir, hombre
00:29:01
¿Para qué voy a volver a sumar con los anteriores?
00:29:03
con esos ya he sumado cuando me paré en ese
00:29:05
voy a probar solo con los que están a continuación
00:29:07
de él y así hago menos iteraciones
00:29:09
claro
00:29:11
entonces este j en lugar
00:29:14
de empezar en 0 que empiece en i más 1
00:29:15
y me ahorro iteraciones, pero
00:29:17
podemos calzar esta versión
00:29:19
para quien necesita tenerlo todo organizado
00:29:21
y todavía en la cabeza
00:29:23
y ya está
00:29:25
¿cómo que no lo voy a cambiar? claro que lo voy a cambiar
00:29:26
este aquí cambiado
00:29:31
claro y ahora aquí me hago un retun
00:29:32
Resul como un castillo
00:29:35
Bueno, aquí podría poner un retun falso
00:29:38
Y quitar este, sí, o retun resul
00:29:45
Que sí, ya está
00:29:46
Así estaría bien
00:29:50
Pero bueno, había puesto un boolean, pues de nuevo
00:29:52
Porque pongo muchas varias adicionales para que se organice
00:29:54
Devuelve un... Tiene que volver un boolean
00:29:57
Pues aquí tengo que hacer el resultado
00:29:59
Construyo el resultado
00:30:00
Vale, pues me da igual poner aquí
00:30:01
Retun...
00:30:04
resultado y haber inicializado aquí a
00:30:06
falso, que retó un falso, bueno.
00:30:08
Lo que cada uno vayáis
00:30:11
necesitando para iros...
00:30:12
Para ir avanzando, sin liaros.
00:30:16
Bueno, pues este código está claro.
00:30:21
A ver, lo recorro dos veces
00:30:24
porque...
00:30:30
Vale, este es...
00:30:35
Está claro.
00:30:35
Este es un array con los numeritos, que solo hay uno, aquí, vale, que tienen los numeritos que sean, pues el 4, el 5, el 7, el 8, el 1, los que sean.
00:30:37
ala, este es mi array
00:31:01
ahora, ¿qué algoritmo nos hemos
00:31:05
planteado hacer? vamos a hacer un for
00:31:07
que vaya uno por uno
00:31:09
es el for de arriba, el de las i
00:31:11
es el de arriba, ahora para cada i
00:31:13
para cada i
00:31:16
de aquí, para cada i
00:31:17
¿qué va a hacer?
00:31:19
vale, pues para cada i
00:31:23
iniciamos
00:31:25
otro for, que lo
00:31:27
recorra otra vez entero
00:31:29
y ahora, sumamos este con
00:31:30
el i, este con el i
00:31:33
este con el i, este con el i
00:31:35
y si alguno, la suma
00:31:36
es igual al valor, ya lo hemos encontrado
00:31:39
entonces el for de arriba es
00:31:41
para pararnos en un número, y el for
00:31:43
de abajo es para ese número en el que nos hemos
00:31:45
parado, recorrerlo otra vez
00:31:47
e ir haciendo cada suma por separado
00:31:49
con cada uno de esos
00:31:51
¿vale?
00:31:52
pues ya está todo el examen, efectivamente
00:31:59
a ver, yo es que añado
00:32:01
muchas variables, hago muchas cosas
00:32:03
para que quede
00:32:05
no liar a quien
00:32:07
pues todavía está en fase de entenderlo
00:32:10
más o de
00:32:12
cómo hablas, por Dios, qué pesadez
00:32:13
pero esto se puede acortar
00:32:17
claro, y se queda más corto, por eso decía
00:32:20
Estefano lo de tres líneas
00:32:21
Estefano lo exagera todo
00:32:23
Ah, no, hemos hecho un main
00:32:25
vamos a hacer un main para probarlo
00:32:27
vamos a ver
00:32:30
vamos a pasarle
00:32:33
un array cualquiera
00:32:36
que sea 4, 7, 1, 5
00:32:37
y ahora vamos a llamar a la función
00:32:43
y a ver que devuelve
00:32:48
existe suma nums
00:32:50
8, me va a tener que decir true
00:32:56
porque 7 más 1 es 8 y me dice true
00:33:01
si le pasamos
00:33:07
11, pues no hay ninguno
00:33:11
que sea 11, ¿verdad?
00:33:14
Jue, sí que estoy
00:33:18
alelá, el 7 y el 4
00:33:19
Era por apurar
00:33:21
39, no hay dos números
00:33:23
que sumen 39
00:33:25
Falso
00:33:26
Bueno, se podrían hacer más pruebas, pero bueno
00:33:29
yo creo que estará bien
00:33:31
Bueno, pues este es el examen completo
00:33:32
Vale, entonces
00:33:38
- Materias:
- Programación
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado superior
- Primer Curso
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 2
- Fecha:
- 1 de diciembre de 2024 - 19:27
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 33′ 39″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 135.85 MBytes