Saltar navegación

20241128 CorreciónExamen_1 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 1 de diciembre de 2024 por Raquel G.

3 visualizaciones

Descargar la transcripción

¿De qué? Venga, vamos a ejercicio 1. 00:00:00
Pues entonces, estáis en el examen. 00:00:04
Empezáis vuestra clase, ejercicio 1. 00:00:06
¿Qué es lo primero que hacéis? 00:00:09
Leer, efectivamente, enunciado y asegurarse de que uno lo entiende bien. 00:00:12
Vale. 00:00:17
Entonces, realizar una función. 00:00:18
Vale. 00:00:20
El nombre de la función os lo doy dado 00:00:21
para que luego a mí me sea más fácil corregirlo 00:00:23
porque a veces me ponéis nombres de funciones tan 00:00:26
hiper, mega 00:00:28
extraños que luego no encuentro 00:00:30
entonces, os doy el nombre de la función 00:00:32
pero claro, no os doy ni los parámetros que tiene que 00:00:34
recibir el valor de retorno, se lo deducís 00:00:36
vale, lo que digo, esta función necesita 00:00:38
entonces, esto 00:00:40
será, lo que me tenéis que 00:00:42
hacer es una función, con lo cual 00:00:44
a ver, que 00:00:46
con lo cual lo que me tenéis que hacer es 00:00:47
algo así, una función 00:00:52
que reciba 00:00:54
Esto es lo que hay que hacer. 00:00:59
Vale. 00:01:01
Luego ya esta función se probará en el main. 00:01:02
Pero eso es aparte. 00:01:05
Uno hace la función. 00:01:07
La función es absolutamente independiente. 00:01:08
Tiene su cometido. 00:01:11
Trabaja con unos datos de entrada en caso de haberlos 00:01:13
y devuelve un valor o no. 00:01:15
A lo mejor con lo que hace dentro es suficiente. 00:01:20
Bueno, y esa función es independiente. 00:01:22
Pues eso es lo que se pide, hacer la función. 00:01:23
Y luego vamos a hacer un main para probarla. 00:01:25
Para que os sirva a vosotros 00:01:29
Para ver si realmente os está funcionando o no 00:01:30
Pero esto es lo que se pide hacer 00:01:32
Una función 00:01:35
Bueno, para hacer una función ya sabemos que necesitamos 00:01:35
Parámetros de entrada 00:01:39
¿Necesita parámetros de entrada para trabajar o no? 00:01:41
Pues sí, porque nos dicen 00:01:44
Oye, la función va a recibir 00:01:45
Una array de cadenas de texto 00:01:47
Pues entonces esto ya lo tenemos 00:01:48
Entonces si la función recibe 00:01:51
Una array de cadenas de texto 00:01:53
¿Es esto lo único que tiene que recibir? 00:01:54
no os inventéis 00:01:57
más argumentos 00:01:59
la función trabaja con esto 00:02:00
puede que la función por dentro 00:02:02
necesite variables auxiliares para hacer 00:02:04
cosas, si las necesita se 00:02:07
declaran ahí dentro, porque son variables 00:02:08
auxiliares solo para trabajar aquí 00:02:10
pero lo que le viene desde 00:02:12
fuera para trabajar es solo 00:02:14
una raíz de cadenas de texto, solo eso 00:02:16
pues es lo único que se pone ahí, no se ponen 00:02:18
más variables 00:02:21
bueno, pues esta función con estas cadenas 00:02:21
de texto, ¿qué va a hacer? 00:02:25
Pues va a hacer, calcular la longitud media de esas cadenas. 00:02:27
Cada cadena tendrá una longitud, pues la media de las longitudes. 00:02:32
Y luego devolverá como valor de retorno otro array de cadenas 00:02:35
que contenga cadenas, pero ¿cuáles? 00:02:40
Pues las cadenas del primer array cuya longitud sea menor o igual que la media. 00:02:42
Entonces, recibe un array de cadenas, devuelve otro array de cadenas, 00:02:50
luego esto que se pone aquí 00:02:54
ya lo tenemos 00:02:56
lo que va a devolver es esto 00:02:58
vale 00:02:59
y ahora 00:03:01
¿qué tiene que hacer? 00:03:02
calcular la media de las longitudes 00:03:04
y una vez que tiene la media 00:03:06
construir un array 00:03:09
que tenga solamente 00:03:10
las cadenas del array parámetro 00:03:12
cuya longitud sea menor o igual que la media 00:03:15
y ese array lo devolvemos 00:03:17
luego son como esas tres partes 00:03:19
vamos a hacer la primera parte 00:03:21
calcular 00:03:22
longitud media 00:03:24
esto es hacer una media 00:03:27
hacer una media sabemos perfectamente 00:03:30
cómo se hace 00:03:32
las longitudes son números enteros 00:03:32
pues venga, vamos a calcular 00:03:35
la longitud media 00:03:38
entonces para hacer una media hacemos primero 00:03:39
la suma acumulativa y dividimos entre el total 00:03:43
esa es la media 00:03:46
primero la suma acumulativa de los valores 00:03:46
y cuando tengamos la suma acumulativa 00:03:49
dividimos entre el total de valores 00:03:51
Bueno, pues la suma acumulativa 00:03:54
Siempre hacemos de esta misma manera 00:03:56
Empieza con 0 00:03:59
Y ahora, esta suma acumulativa 00:04:00
Que va a ir recorriendo 00:04:03
Todas las cadenas del array que me han pasado 00:04:04
Las va a ir recorriendo todas ellas 00:04:06
Bueno, pues aquí tendremos un for 00:04:09
Que recorra mi array 00:04:11
Que me han pasado por parámetro 00:04:13
Vale 00:04:15
Este for es el que va a ir 00:04:27
Incorporando en la variable suma 00:04:30
Con la sentencia de siempre 00:04:33
la sentencia de la suma acumulativa, la que va a ir incorporando en la variable suma 00:04:35
todos los sumandos que la integran. 00:04:39
¿Y los sumandos que la integran cuáles van a ser? 00:04:41
Pues cada una de las longitudes de estas cadenas. 00:04:45
La longitud de la cadena 0, la longitud de la cadena 1, la longitud de la cadena 2. 00:04:48
Es decir, cadena de i.length 00:04:52
Cadenas de i.length 00:04:57
¿Vale? Pues ya tenemos el for 00:05:04
Voy a poner la llavecita por si nos estreséis 00:05:07
¿Vale? Ya tenemos el for que hace una suma acumulativa de toda la vida 00:05:14
Aquí lo único que puede tener un pelín de es 00:05:20
Que lo que vamos sumando a la suma acumulativa es todos y cada uno de los tamaños de las cadenas. 00:05:24
A la suma acumulativa va la longitud de la primera, y luego va la longitud de la segunda, y luego la longitud de la tercera, y así. 00:05:33
Oye, paz, silencio. 00:05:43
Vale, esta es la suma de las longitudes, pero nos han pedido la media. 00:05:46
Bueno, pues la media es 00:05:51
Esa suma entre el total de cadenas que tengo 00:05:53
Pues entonces 00:05:55
La media es esa suma 00:05:57
Entre el total de cadenas que tengo 00:06:01
¿Y cuántas cadenas tengo? 00:06:03
Pues tantas como hay en el array 00:06:05
Es decir, esto 00:06:06
Tantas como hay en el array 00:06:08
Vale, pues ya tengo 00:06:09
La media de las longitudes 00:06:12
Una suma acumulativa normal y corriente 00:06:14
Y luego dividida por el total 00:06:16
Para que sea una media 00:06:18
Ahora, ¿qué tenemos que hacer? 00:06:19
Tenemos que construir un nuevo array 00:06:23
Y recorrer este primero 00:06:25
Este parámetro que nos han pasado 00:06:27
Recorrer este primero de aquí 00:06:29
Andoni, cállate de una vez 00:06:32
¿Vale? Recorrer este primer array 00:06:35
Y cada 00:06:38
Y cada cadena de esa 00:06:39
Cuya longitud sea menor o igual que la media 00:06:41
Menor o igual 00:06:44
Pues lo metemos en ese otro array 00:06:45
Solo vamos a copiar en el otro array 00:06:46
Las cadenas 00:06:49
de este cuya longitud sea menor 00:06:51
que la media que acabamos de calcular 00:06:53
luego, la primera duda que nos surge 00:06:55
es, a ver, este array 00:06:58
nuevo, ¿qué tamaño 00:06:59
tiene? ¿qué tamaño le reservo? 00:07:01
es que no sé 00:07:04
no sé cuántas cadenas 00:07:05
van a tener menor 00:07:07
longitud que la media, no lo sé 00:07:09
entonces, mi array resultado 00:07:11
que va a ser un array de cadenas 00:07:13
mi array resultado 00:07:15
pues aquí me quedo 00:07:17
para un rato, ¿no? 00:07:19
Y digo, uy, ¿qué tamaño le doy a mi array resultado? 00:07:21
Vale, pues aquí, a ver, podemos resolver de muchas maneras. 00:07:26
Podríamos darle el mismo tamaño que el original y rellenándolo desde el principio 00:07:32
y la parte que me sobra, que sea la que tenga null, cortarla. 00:07:38
Podemos operar de muchas maneras, pero la más sencilla es, 00:07:42
oye espera, voy a meter aquí un contador 00:07:45
que me vaya 00:07:48
voy a hacer un contador 00:07:50
que me cuente 00:07:52
cuántas cadenas tienen 00:07:53
como longitud menor 00:07:56
que esta media 00:07:58
lo cuento antes 00:07:59
y ahora ya este string 00:08:01
que tenga como tamaño ese contador 00:08:03
eso sería lo más fácil, es más largo de código 00:08:05
que esa primera otra opción que he dicho 00:08:08
de darle la longitud del original 00:08:10
y luego cortarlo que no hayamos rellenado 00:08:12
es más largo de código, pero quizás 00:08:14
es más fácil de hacer para vosotros 00:08:17
porque es lo que hacemos todo el rato, contar, sumar 00:08:19
pues venga, vamos a contar 00:08:21
cadenas de 00:08:22
longitud 00:08:28
menor o 00:08:28
igual que la media 00:08:35
vamos a contarlas 00:08:37
con el único propósito, repito 00:08:38
de darle tamaño a este array 00:08:41
que lo tenemos ahí, que no sabemos que tamaño 00:08:43
va a tener, con único propósito 00:08:45
pues venga, vamos a contar 00:08:46
como contamos siempre 00:08:49
un contador, recorremos nuestro array 00:08:50
casi nunca usáis el forEach 00:08:52
porque lo mencionamos 00:08:57
y no lo hemos usado en los ejercicios prácticamente 00:08:58
para nada, por unos 00:09:00
pequeños efectos secundarios que veremos más cuando veamos 00:09:03
objetos, pero bueno, por comodidad 00:09:05
lo voy a poner 00:09:07
¿vale? 00:09:08
bueno, no, venga 00:09:18
no lo pongo para que nos liéis, cuando veáis 00:09:19
la corrección, no lo pongo, ya usaremos este 00:09:20
forEach con objetos tranquilamente 00:09:23
Pues venga, vamos a contar cuántas cadenas de mi array parámetro tienen longitud menor o igual 00:09:24
Pues ahora, si cadenas de y.length 00:09:34
Es decir, el tamaño de la cadena es menor o igual que la media 00:09:41
¡Hala! Esta va a ir al array 00:09:49
Esta va a ir al array, pues la contamos 00:09:51
Bueno, pues ya tenemos aquí el for 00:09:54
Le voy a poner llaves al for 00:09:58
Para que no me regañéis 00:10:00
Uy, ahí no 00:10:02
Aquí abajo 00:10:04
Al con más más ese ya no le pongo llaves 00:10:05
Que es demasiado 00:10:11
Vale, entonces este 00:10:11
Este trozo de código 00:10:15
Es un trozo de código solamente para contar 00:10:17
Cuántas cadenas 00:10:19
De la array original 00:10:21
Van a tener un tamaño menor que la media 00:10:22
Porque esas van a ser las que vayan al otro 00:10:25
entonces si las tenemos contadas 00:10:27
ya hemos resuelto este problema 00:10:30
que tamaño le damos al array definitivo 00:10:32
ya lo hemos resuelto 00:10:34
ya está 00:10:36
y ahora ya nos queda la tercera parte 00:10:37
que también hemos hecho muchas veces 00:10:40
pues vamos recorriendo un array 00:10:43
la que toque la guardo en el otro 00:10:45
en la posición que toque y dejo incrementada la posición 00:10:48
es decir, ahora ya vamos a recorrer 00:10:50
el array parámetro para ir copiando 00:10:54
mientras i sea menor 00:10:56
que cadenas 00:10:58
punto len 00:11:00
no, estoy recorriendo el original 00:11:01
y cada cadena que sea menor o igual que la media 00:11:08
lo copio en el otro, el otro está vacío todavía 00:11:10
tiene nul, el otro está vacío 00:11:12
pues que hacemos con esto 00:11:14
cadenas de i 00:11:19
punto len 00:11:22
resulta que es 00:11:24
menor o igual que la media 00:11:28
esta toca copiarla 00:11:30
luego esta toca 00:11:32
llevarla a alguna posición 00:11:34
de result, a alguna 00:11:36
toca copiarla 00:11:38
y este problema ya lo hemos visto muchas veces 00:11:39
¿a qué posición la copiamos? 00:11:46
porque aquí habéis plantado todos 00:11:48
alegremente, o casi todos, y 00:11:50
claro, magnífico, y te vas 00:11:51
dejando unos huecazos en medio 00:11:54
copias la 0 en la 0, luego 00:11:55
que hay 3 que no copias, te quedan ahí 3 huecos 00:11:58
vacíos, luego copias la 4 en la 4 00:12:00
no queremos eso, queremos 00:12:02
que las que vamos copiando de la raya original 00:12:04
vayan seguidas en el otro 00:12:06
esto lo hemos resuelto muchas veces 00:12:08
claro 00:12:09
entonces, ¿en qué posición? 00:12:12
pues venga, vamos a ponerla en una posición 00:12:14
que se inicie en 0 00:12:16
que se inicie en 0 00:12:17
y la voy dejando incrementada 00:12:21
¿vale? 00:12:23
que esto ya lo hemos resuelto muchas veces 00:12:26
pues ya está 00:12:28
de la raya original 00:12:30
vamos copiando en posiciones 00:12:32
consecutivas de result 00:12:34
en consecutivas, no a saltos 00:12:36
no a saltos 00:12:38
en posiciones consecutivas 00:12:39
vamos guardando 00:12:41
esto, vale 00:12:43
y ya está, y ahora ya devolvemos 00:12:53
result 00:12:56
y listo 00:12:56
se acabó la función 00:13:06
vale 00:13:07
entonces la función son como varias partes 00:13:11
varios ladrillos, como digo siempre 00:13:14
de cosas que hemos hecho, pero claro 00:13:16
insisto en lo de siempre 00:13:17
primero uno tiene que organizar 00:13:19
su código y decir, ah, tengo que hacer esto y luego esto 00:13:22
y luego esto, una vez que lo tiene organizado 00:13:24
cada uno de esos ladrillos 00:13:26
no los tiene que pensar de cero 00:13:27
porque ya los hemos hecho muchas veces y ya los tiene 00:13:29
memorizados en la cabeza, dice, ah, vale 00:13:32
tengo que hacer una media 00:13:34
genial, hago una media 00:13:35
una suma acumulativa donde voy sumando 00:13:37
todas las longitudes de las cadenas 00:13:39
y cuando tenga ya la suma 00:13:42
divido por el total de cadenas 00:13:44
vale, ahora me hago 00:13:46
un array, me hago un array 00:13:48
resultado en el que voy copiando 00:13:50
vamos copiando en posiciones 00:13:51
consecutivas del resultado 00:13:53
para eso tenemos que hacer esto 00:13:55
voy copiando una posición 00:13:57
que empieza siendo 0 y luego la voy 00:14:00
incrementando, para así 00:14:02
ir copiando en posiciones consecutivas 00:14:04
de este, ¿y cuáles voy copiando? 00:14:06
pues voy copiando solo cada una de las 00:14:08
y es de estas 00:14:11
cuya longitud sea menor o igual que la media 00:14:12
y ahora este problema que queda 00:14:14
ya pero no sé qué tamaño darle 00:14:17
bueno pues vamos a contar antes 00:14:18
cuántos espacios vas a necesitar 00:14:19
pues vas a necesitar estos espacios 00:14:22
vamos a contarlos, tantos como cadenas 00:14:24
tengan longitud menor o igual que la media 00:14:26
vale, pues ya está la función 00:14:28
ahora si hacemos un main para probarla 00:14:32
aquí el main, ni había que leer por teclado ni nada 00:14:34
para que fuera más corto 00:14:36
el ejercicio 00:14:38
y entonces 00:14:44
ah, es que esta no es la versión definitiva 00:14:46
vale, la versión definitiva 00:14:52
la tengo 00:14:54
en otro sitio 00:14:57
vale, bueno, había que probar con una RAI de números 00:14:59
cualquiera, vamos a ponerlo 00:15:01
entonces habíamos dicho, venga, probad 00:15:03
Con el array este 00:15:07
De cadenas 00:15:09
Que era soy y un montón de cosas varias 00:15:10
Vale, vamos a poner 00:15:15
Tres, otra larga 00:15:29
Para ver si elimina la del medio 00:15:31
Al menos 00:15:33
Un cerdo no es muy larga 00:15:34
Vamos a poner un cerdito 00:15:43
Por mi torrinco ese estaría bien 00:15:44
Vale, entonces aquí me falta 00:15:50
Llave 00:15:55
y el punto y coma, vale 00:15:57
este main estaba puesto un poco a propósito 00:15:59
para que os acordarais 00:16:02
de que uno puede a la vez que declara un array 00:16:03
inicializarlo entre llaves 00:16:06
con los valores, entonces en mi main 00:16:07
ya tengo un ejemplo concreto 00:16:09
entonces ahora ya con un ejemplo concreto 00:16:10
llamo a la función 00:16:13
vale, pues entonces 00:16:14
mi función 00:16:16
me devolverá un resultado 00:16:20
por ejemplo lo guardamos 00:16:22
aquí 00:16:29
filtradas 00:16:29
y como se llama la función 00:16:32
esto también era para ver que sabíais llamar a la función 00:16:35
pues se llama la función 00:16:38
con su nombre y pasándole 00:16:40
el dato que uno quiera 00:16:42
pues queremos pasarle este dato 00:16:44
cadenas, este array en concreto 00:16:46
le vamos a pasar 00:16:48
el resultado como es un array hay que guardar una variable 00:16:49
si no lo guardo en una variable 00:16:52
el resultado lo pierdo 00:16:53
y ahora hombre para comprobar si realmente 00:16:55
lo ha filtrado, vamos a mostrarlo 00:16:58
venga 00:17:00
filtradas de ahí 00:17:18
vamos a ver 00:17:21
si nos funciona a la primera 00:17:23
todo el mundo sabe llamar a la función 00:17:25
si tiene valor de retorno, pues tiene que 00:17:27
guardarlo en un sitio y luego ya hacer con él 00:17:29
lo que sea, en nuestro caso mostrarlo 00:17:32
pues a este main 00:17:33
lo llamamos 00:17:36
y esta es la única que no superaba 00:17:37
la media, debe ser que la media era 00:17:41
muy larga, podríamos 00:17:43
Comprobarlo, pero bueno 00:17:45
Suponemos que está bien 00:17:46
¿Puedes bajar al último array? 00:17:48
En la función 00:17:51
O en el main 00:17:52
Vale 00:17:53
¿Perdón? 00:18:12
Pues no sé deciros 00:18:24
Este es el código, está en mi prueba 00:18:25
No sé qué código tenéis vosotros 00:18:27
Luego lo miramos a ver 00:18:29
En vuestro código 00:18:31
Que hay, pero vamos 00:18:33
A ver, si el código es idéntico 00:18:33
El resultado tiene que ser idéntico 00:18:38
Si el resultado es distinto, el código es distinto 00:18:39
Eso sí que es 00:18:42
Impepinable 00:18:43
Un descansito 00:18:45
Vale, un descansito 00:18:48
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:
3
Fecha:
1 de diciembre de 2024 - 19:26
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
18′ 52″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
81.08 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid