Saltar navegación

20241114 ProgrEstruct-Funciones_ejer_2 - 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 17 de noviembre de 2024 por Raquel G.

8 visualizaciones

Descargar la transcripción

Venga, pues ejercicio 6 00:00:00
Vale, pues entonces 00:00:03
El ejercicio 6 nos pide una función 00:00:18
Entonces hacemos nuestra función 00:00:19
Y luego ya si queremos probarla 00:00:21
Ya nos vamos al main y probamos lo que queramos 00:00:24
Pero nosotros vamos a programar nuestra función 00:00:26
Que la función es independiente 00:00:28
De cualquier main que la llame 00:00:30
Es independiente, va por libre 00:00:32
Vale, esta función, ¿qué requisitos tiene? 00:00:33
Va a recibir 00:00:37
Muchos números enteros 00:00:38
No sé cuántos 00:00:40
entonces lo más cómodo es que le pase un array 00:00:40
y ese array ya que tenga el tamaño que sea 00:00:44
entonces vamos a hacer que esta función le paso yo un array 00:00:46
ese array tendrá los números que sean 00:00:51
y me va a devolver el valor máximo de todos ellos 00:00:53
con lo cual si el array es de enteros 00:00:57
lo que me va a devolver es un entero 00:01:00
entonces tengo ya tanto el valor de retorno como el parámetro 00:01:01
pues venga, si hacemos la 00:01:05
la función 00:01:07
me va a devolver un numerito entero 00:01:10
que es el mayor de todos 00:01:13
luego al devolver un numerito entero 00:01:14
tipo de dato del valor que me devuelvo 00:01:16
en entero 00:01:19
la función es el máximo, el máximo de que 00:01:19
repito 00:01:23
si yo quiero que sea 00:01:24
el máximo de cualquier cantidad 00:01:27
de enteros 00:01:29
no tiene sentido que yo lo plante de esta manera 00:01:29
porque en algún momento tendría que parar 00:01:33
tendría que decidir cuantos le paso 00:01:34
le paso 3, le paso 5, le paso 7 00:01:36
entonces no lo sé 00:01:38
le puedes pasar cualquier cantidad de números enteros 00:01:40
pues entonces no tengo más alternativa 00:01:42
que decir, ah, pues quita 00:01:44
le paso un array 00:01:46
y ya está, y en ese array 00:01:47
que vayan los que sean 00:01:50
y ahora 00:01:51
este array que tamaño tendrá 00:01:52
no lo sé, depende 00:01:55
habrá veces que llamemos a la función 00:01:58
habrá veces que llamemos a la función 00:02:00
pasando un array de 7 00:02:03
Bueno, pero habrá veces que la llamemos 00:02:05
Pasando un array de 5 00:02:08
Bueno, no lo sé 00:02:09
Aquí lo único que hemos comprometido 00:02:10
Es que cuando llamemos a máximo 00:02:12
Desde el main 00:02:14
Cuando llamemos a máximo 00:02:15
Le pasemos un array 00:02:17
Es lo único que hemos comprometido 00:02:19
Cuando llamemos a máximo 00:02:21
Lo que le pasemos ahí tiene que ser un array 00:02:22
El tamaño, pues el que sea 00:02:24
Una vez será uno, de tres será otro 00:02:26
Pero lo que está claro es 00:02:27
Que el tamaño de ese array 00:02:29
Aquí lo podemos averiguar 00:02:30
Porque para eso tenemos esto 00:02:32
Entonces, nosotros aquí dentro sabemos que el tamaño de ese array lo puedo obtener de esta manera. 00:02:33
Vale, pues entonces, ahora, con este array, ¿qué tenemos que hacer? 00:02:42
Ver cuál es el valor máximo de todas las posiciones que tiene. 00:02:46
Entonces, el algoritmo para ver el máximo de un conjunto de valores, ya lo vimos. 00:02:50
Ese ya lo vimos y ya lo tenemos aprendido. 00:02:55
¿Qué es? 00:02:57
Bueno, el resultado final mío, ¿cuál va a ser? 00:02:58
Pues el resultado final mío va a ser este valor, que es el que yo voy a querer devolver. 00:03:00
Este es el resultado final mío, un valor que tengo que averiguar y que luego va a ser el que devuelva. 00:03:07
¿Cómo averiguo este valor? 00:03:13
Siguiendo el algoritmo de máximo, que ya nos sabemos qué es. 00:03:14
El máximo inicial, el primero de todos. 00:03:18
Y ahora empezamos a hacer un recorrido, o lo que es lo mismo, un bucle. 00:03:22
porque para hacer un recorrido 00:03:27
sobre un conjunto de valores 00:03:29
necesito un bucle 00:03:30
un recorrido o un bucle que pase por todos 00:03:31
en cada uno de ellos 00:03:35
si supera al que es máximo 00:03:37
hasta ese momento 00:03:39
lo sobrescribe 00:03:40
entonces ese algoritmo como ya nos lo sabemos 00:03:42
lo único que tenemos que hacer es aplicarlo 00:03:45
a este caso 00:03:46
aquí mi conjunto de valores me van llegando 00:03:48
por teclado, no, los tengo ya en el array 00:03:51
luego es facilísimo 00:03:53
inicializar máximo al primero de todos 00:03:55
es facilísimo 00:03:57
porque será este 00:03:58
y ahora me hago un recorrido 00:04:00
para todos y cada uno de los valores 00:04:03
del array 00:04:05
¿cómo recorremos un array? 00:04:05
pues ya lo sabemos 00:04:09
un array lo recorremos siempre de esta manera 00:04:11
vale, y ahora este for 00:04:13
¿qué me hace para cada 00:04:19
posición del array? 00:04:21
para cada elemento 00:04:23
pues aplica el algoritmo de máximo 00:04:24
Que es, oye, si este elemento en el que estamos parados, este elemento números de i resulta que es mayor que el que sea máximo hasta ese momento, tienes nuevo máximo. 00:04:27
Así que actualiza. 00:04:38
Y este es el algoritmo de máximo que ya lo explicamos y ya lo tenemos aprendido. 00:04:41
Entonces, gracias a que lo tenemos aprendido, lo podemos aplicar rápidamente a cualquier situación en la que lo necesitemos. 00:04:47
De ahí la importancia en que lo tengáis todo en la cabeza. 00:04:53
porque si tenéis que partir de cero en cada ejercicio 00:04:57
es imposible aprender, os he dicho lo mismo mil veces 00:05:01
no se construye un aprendizaje desde cero 00:05:04
se construye desde sucesivos ladrillos que se van poniendo 00:05:07
vale, entonces el algoritmo ya está aplicado 00:05:11
recorremos todos los valores 00:05:14
el que supere al máximo 00:05:19
se convierte en el nuevo máximo 00:05:22
y así todos y cada uno de ellos 00:05:24
Cuando el for ha terminado 00:05:25
Y solo cuando el for ha terminado 00:05:27
Solo en ese momento 00:05:30
Cuando el for ha terminado ya 00:05:31
Tenemos el valor máximo 00:05:33
¿Y qué tenemos que hacer con él? 00:05:35
Devolverlo 00:05:37
Oye, devuelve el valor que tú quieres 00:05:38
Es el que acabo de averiguar 00:05:40
Lo devolvemos y ya está 00:05:41
Pues ya está nuestra función 00:05:42
¿Vale? 00:05:44
Y ahora ya esta función 00:05:47
La usa quien quiera donde quiera 00:05:48
Por ejemplo, nosotros en nuestro main 00:05:50
Por ejemplo, vamos a hacernos un array de enteros 00:05:53
Para no leerlo por teclado 00:05:55
Y no perder mucho tiempo 00:05:59
Pues vamos a hacérnoslo inicializándolo 00:06:00
Directamente desde aquí 00:06:02
Que lo podíamos hacer así, ¿verdad? 00:06:04
Que también lo tenéis memorizado y aprendido 00:06:06
Pues venga, este 00:06:08
Menos 00:06:10
¿Eh? 00:06:12
No, el new int no hace falta 00:06:14
No, no, esto 00:06:16
A la vez te hace 00:06:20
Te lo hace todo, ya 00:06:22
Porque si no el new de antes 00:06:24
Se queda sobrescrito por este 00:06:27
Con el primer new habilita una dirección de memoria 00:06:29
Y con esto habilita otra que sobrescribe la anterior 00:06:31
Claro 00:06:33
Y ahora aquí ya podríamos mostrar 00:06:35
Podríamos 00:06:37
¿Qué vamos a mostrar aquí? 00:06:39
Le pasamos 00:06:42
Máximo de nums 00:06:43
¿Vale? 00:06:45
Entonces 00:06:49
Esta llamada 00:06:49
cada vez que lleguemos a máximo 00:06:52
hay que pasarle un array 00:06:55
no hay tutía, hay que pasarle un array 00:06:56
cada vez que lleguemos a máximo, hay que pasarle un array 00:06:59
bueno, pues nums es un array 00:07:01
pues le paso nums 00:07:02
nada de pasarle cosas raras ni cosas que os inventáis 00:07:04
el nombre del array es nums 00:07:07
por eso es lo que le paso, nums, el nombre del array 00:07:09
y ahora 00:07:11
esta función lo que ocurre es que me devuelve 00:07:12
un valor, se lo podríamos asignar 00:07:15
a una variable y mostrar 00:07:17
el contenido de la variable 00:07:19
pero bueno, me ahorro ese paso 00:07:20
directamente se lo paso al system out 00:07:22
y system out me va a mostrar 00:07:24
lo que esta función 00:07:26
me devuelve 00:07:29
¿no? pero está claro, ¿no? que me da igual 00:07:29
hacer esto, a lo mejor así lo veis más claro 00:07:32
guardo el resultado 00:07:35
aquí 00:07:36
un momento 00:07:37
y lo muestro, me da lo mismo 00:07:42
hacerlo así, guardarlo 00:07:45
en una variable, mostrar la variable 00:07:47
que directamente pasarle al 00:07:48
system out esto, porque eso 00:07:50
se evalúa 00:07:52
como ese valor, se evalúa como ese valor 00:07:54
se lo paso ya directamente al system out 00:07:56
me da lo mismo 00:07:58
con una variable intermedia 00:07:59
que ahorrándomela directamente 00:08:01
¿qué ibas a preguntar? 00:08:03
porque ese es el algoritmo 00:08:08
de máximo que tienes que tener estudiado 00:08:10
el algoritmo de máximo 00:08:12
o mínimo es, tienes un conjunto de valores, tienes que ver 00:08:14
cuál es el máximo 00:08:16
lo inicializas al primero de todos 00:08:16
y luego ya te pones a ver los demás 00:08:19
a ver, me he vuelto a ver el primero otra vez 00:08:22
pero da igual, a lo mismo, podría empezar desde uno 00:08:24
el algoritmo es así 00:08:26
tú tienes un conjunto de valores 00:08:27
y aquí la cajita donde vas a guardar el máximo 00:08:30
inicialmente la cajita es uno de ellos 00:08:32
el primero, por ejemplo, uno de ellos 00:08:34
y ahora ya empiezas a mirar los demás 00:08:36
uno tras otro en secuencia 00:08:38
si alguno de ellos supera el que es máximo 00:08:40
lo sobrescribe 00:08:43
y así vas uno tras otro 00:08:43
¿Vale? Entonces tenéis que tener 00:08:45
Todo lo demás estudiado porque si no 00:08:48
Se produce mucho atasco 00:08:50
Entonces nada, pues si ejecutamos esto 00:08:53
Pues el máximo es 7 00:08:55
¿Vale? 00:08:56
Venga, pues nos piramos 00:08:59
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:
8
Fecha:
17 de noviembre de 2024 - 17:30
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
09′ 03″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
33.64 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid