EJERCICIOS 43 Y 44 PYTHON - 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:
Bueno, pues en este vídeo vamos a corregir los ejercicios 43 y 44, ¿vale? Y en el siguiente, para que no se alarguen y no ocupen demasiado, correjo ya los ejercicios 45 y 46, ¿vale?
00:00:02
El ejercicio 43 es el del cálculo de la energía potencial y cinética para alturas decrecientes de metro en metro desde 10 hasta 0.
00:00:18
¿De acuerdo? Lo vamos a hacer de la siguiente forma, calculando la energía inicial total, es decir, la energía que tiene el cuerpo a una altura h, la energía potencial, que vamos a considerar como el total de energía para después, restándole la energía potencial a cada una de las alturas, obtener la energía cinética por diferencia.
00:00:27
Vale, pues venga, lo que voy a hacer es crear abajo las funciones como antes para que sea más fácilmente comprensible y vamos a crear una función que se llame total, ¿de acuerdo?, con tres parámetros, más aceleración de la gravedad y altura.
00:00:50
Ahora vamos a decirle que en esa función lo que queremos es que calcule el producto de esos tres parámetros, m, g y h, y que nos devuelva el resultado.
00:01:07
Y vamos a definir ahora otra función que va a ser exactamente igual, pero que vamos a llamar energía potencial.
00:01:22
Vale, tenemos dos iguales que hacen lo mismo, pero los vamos a usar de diferente forma, porque tengo que restar una a otra, para eso necesito las dos. Ahora lo vamos a ver.
00:01:31
¿De acuerdo? Entonces, la primera, la energía total, corresponde a la energía potencial en el estado inicial y es efectivamente la energía total, por eso le damos ese nombre, mientras que reservaremos la función de energía potencial para calcularla en el resto de alturas.
00:01:50
¿De acuerdo? E ir restando en todas las alturas, desde 10 hasta 0. En la primera altura, para una altura de 10 metros, lo que vamos a hacer es obtener una energía total de X y una energía potencial que va a valer X igualmente.
00:02:06
Y la diferencia va a ser cero porque toda la energía va a ser energía potencial.
00:02:24
Únicamente cuando vaya decreciendo la altura habrá un valor de energía potencial menor que la energía total inicial
00:02:28
y por tanto esa diferencia será igual a la energía cinética para esa altura.
00:02:34
Pues venga, vamos ahora a definir aquí la función principal y vamos con ella.
00:02:41
Lo primero que hacemos es asignar el valor de la sedación de la gravedad.
00:02:47
Después vamos a pedir al usuario un input con la masa, teclee la masa del cuerpo, ¿vale?
00:02:50
Vamos a ponerle dos puntitos, que siempre queda mejor, ¿vale?
00:03:01
Y ahora vamos a hacer un bucle for. ¿Para qué? Pues para que me haga los cálculos para cada una de las alturas, desde 10 hasta 0.
00:03:05
Para eso lo que hacemos es utilizar estos parámetros en range. ¿Os acordáis? 10 menos 1 menos 1 y así irá de 1 en 1 en sentido decreciente y hasta 0.
00:03:13
Vale, pues para cada una de las alturas, para cada uno de los valores de i, que va a ser la altura, vamos a mostrar aquí un mensaje que diga para una altura de tanto, para una altura de i metros, format i, ¿vale?
00:03:24
Pues ahora, bueno, yo creo que esto es un poco redundante, voy a ponerlo todo directamente, ¿vale? Esperad, porque tenía puestas dos líneas de tantos metros, coma, un cuerpo de masa M, ¿vale?
00:03:44
Tendrá una energía potencial de tantos julios
00:04:08
Y ahora empezamos con el format, ¿vale?
00:04:22
Format
00:04:33
Entonces, la altura es I, ¿verdad?
00:04:33
La masa es M
00:04:39
Y muy importante, aquí viene la clave
00:04:41
La energía potencial es lo que yo tenga de llamar a la función energía potencial
00:04:43
con los argumentos m, g, m es el input, g es 1,8 y ahora la altura es i, ¿de acuerdo?
00:04:51
Porque estamos dentro de un bucle, ¿de acuerdo?
00:05:00
Si hemos puesto como variable i, así que mg i, ¿de acuerdo?
00:05:01
Bien, ahora en la siguiente línea vamos a calcular la energía cinética,
00:05:07
como hemos dicho, simplemente una variable y por diferencia entre la energía total, ¿vale?
00:05:12
Y, esto sí, aquí viene la clave calculada con los siguientes argumentos. La masa que ha introducido el usuario, 9,8, y una altura de 10, siempre una altura de 10, ¿de acuerdo? Menos energía potencial para Mg, y de nuevo la altura es I, ¿de acuerdo? En el bucle.
00:05:20
Porque una vez que la tenemos, pues la mostramos igualmente y decimos la energía cinética para esa altura es de tanto julio. Format, paréntesis, energía cinética. ¿De acuerdo? Y ya lo tendríamos. Así de fácil.
00:05:44
Vamos a quitar un golpe más para que no quede separado. Y ya lo tenemos. Así que si yo ahora ejecuto este programa y en la masa doy un valor de 10, pues vamos a ver que la energía total va a ser de 980.
00:06:08
La energía potencial para una altura de 10 va a ser de 980, porque coinciden, ¿de acuerdo? Y la energía cinética va a ser 0. Para 9 metros, la energía total va a ser de nuevo 980, porque es la que es, ¿verdad? 980 julios.
00:06:24
La energía potencial, sin embargo, ahora va a ser menor porque la altura va a ser 9 y va a dar 882 julios, si no me acuerdo mal. Y la energía cinética, por diferencia, es pues 980 menos 892, 98 julios.
00:06:40
Y así sucesivamente. Vamos a comprobarlo. Vaya, ¿qué he hecho yo aquí? ¿Qué es lo que pasa? Me faltará un paréntesis, supongo. No, uno, dos, sí, me falta un paréntesis.
00:06:56
Ahí vamos allá, teclea la masa del cuerpo, 10, y aquí lo tenemos todo seguido, ¿de acuerdo? Para una altura de 10 metros, un cuerpo de masa 10, que me he olvidado poner kilogramos, tendrá una energía potencial de 980 julios, de masa no sé cuántos kilogramos vamos a poner, ¿vale? Que queda más bonito.
00:07:17
Vale, pues para una altura de 10 metros, un cuerpo de masa de 10 kilogramos tendrá una energía potencial de 980. La energía cinética para esa altura es de 0 julios. Para una altura de 9 metros, un cuerpo de masa de 10 kilogramos, 882 julios. La energía cinética para esa altura, 98.
00:07:35
Y si vamos abajo del todo, para esa altura, justo al final, para una altura de cero metros, un cuerpo de masa, bueno, cero metros no, justo antes de cero metros, ya lo entendéis, un cuerpo de masa de 10 kilogramos tendrá una energía potencial de cero julios.
00:07:51
La energía cinética para esa altura es de 980 julios. Como digo, no en la altura cero, sino justo antes de que choque en la altura cero, pues ya se disipará esa energía cinética en forma de vibración, de ruido, de un rebote, de romper el suelo, de lo que sea.
00:08:05
Pero justo antes de tocar el suelo ponemos cero porque si no va a ser un lío y justo en ese momento toda la energía potencial es energía cinética. Se ha transformado en energía cinética.
00:08:21
Bueno, pues esto es el ejercicio 43. Vamos a pasar ahora a hacer el ejercicio siguiente, que es el ejercicio 44. Este ejercicio está aquí en el apartado de funciones, pero para usar funciones externas.
00:08:34
una función que ya existe y que la tenemos en el módulo random, que es lo que vamos a hacer,
00:08:49
utilizar el módulo random para importar el módulo random para utilizar una función que ya conocemos,
00:09:00
que hemos usado en muchos ejercicios, la función rampInt, ¿de acuerdo?
00:09:07
Pero bueno, un ejercicio con algunas cosas más.
00:09:10
Entonces, lo que dice 44 es que escribamos un programa que genere 100 números aleatorios,
00:09:13
comprendidos entre 1 y 100, que los muestre en pantalla y que además cuente cuántos son pares y cuántos son impares, ¿de acuerdo?
00:09:18
Bueno, pues si va a contar cuántos son pares y cuántos son impares, pues lo que vamos a hacer es, bueno, antes vamos a importar el módulo random,
00:09:26
por supuesto, y ahora lo que vamos a hacer es crear dos contadores, dos acumuladores, ¿vale? Total P que valdrá 0 y total imp de impares que valdrá 0 también, ¿de acuerdo?
00:09:33
Para utilizarlos luego en el recuento de los pares y de los impares, ¿de acuerdo? Ahora voy a poner un input sin texto que se ejecutará cuando yo pulse intro, ¿de acuerdo?
00:09:47
Entonces, fijaos, cuando pulses Enter se va a generar una lista de 100 números comprendidos, como todo el rollo, lo que pone el ejercicio, entre el 1 y el 100 de forma aleatoria.
00:09:57
Y ya está, ¿no? Yo creo que con eso ya hemos metido bastante rollo. Y ahora ponemos print. Esta es la lista de números. Dos puntos.
00:10:24
Bueno, y ahora que tenemos ya esto, lo que nos falta es el núcleo del programa, que sería generar 100 números aleatorios, con lo cual tengo un bucle con 100 iteraciones,
00:10:41
Y en ese bucle, en cada iteración, me va a generar, haciendo uso de la función runInt del módulo random, un número comprendido entre el 1 y el 100.
00:11:01
Y una vez generado el número, me va a hacer lo siguiente.
00:11:15
Si el resultado de aplicar el operador módulo entre 2 es 0, significa que ese número es par.
00:11:20
verdad luego entonces añadimos a ese acumulador una unidad
00:11:29
de lo contrario el número sin par luego añadimos
00:11:35
a total una unidad y una vez que hemos hecho este esto
00:11:41
simplemente vamos a mostrar en pantalla
00:11:49
generado, por ejemplo, se han generado un total de tantos números pares, ¿vale?
00:11:55
Punto format, pues total de, y para los impares es el mismo mensaje, pero para impares, ¿vale?
00:12:06
Se han generado un total de tantos números impares, format total imp, ¿dónde está
00:12:14
Aquí. Y ya estaría, ¿vale? Vamos a probarlo. Vale, pues cuando pulse Enter se va a generar. Voy a pulsar Enter. Ay, se me ha olvidado, por supuesto, mostrar y si no, pues no lo puedo ver.
00:12:30
vale, sí que me dice cuánto se ha generado
00:12:49
de cada tipo, pero no me los muestra
00:12:51
ahora sí, ¿verdad?
00:12:53
esta es la lista de números, pues aquí la tenemos
00:12:55
se ha generado un total de 49 números pares
00:12:57
y de 51 impares
00:12:59
le doy otra vez y me genera una lista
00:13:01
diferente, porque son números
00:13:03
aleatorios, en este caso 43 pares
00:13:05
y 57 impares
00:13:07
y este es el resultado
00:13:08
así que recapitulando
00:13:11
es un bucle for
00:13:13
con acumulador, no es más
00:13:15
va aquí en funciones para que recordéis
00:13:17
que cuando quiero utilizar una función de un módulo tengo que importar el módulo y después utilizar esta sintaxis
00:13:19
o bien otro tipo de otras formas de importar que ahora no vamos a ver.
00:13:25
Y luego ya simplemente es un programa convencional como tantos que hemos hecho.
00:13:31
Muy bien, pues eso es todo.
00:13:37
- Autor/es:
- Enrique Neira
- Subido por:
- Enrique Jose N.
- Licencia:
- Dominio público
- Visualizaciones:
- 71
- Fecha:
- 13 de febrero de 2021 - 19:54
- Visibilidad:
- Clave
- Centro:
- IES AVENIDA DE LOS TOREROS
- Duración:
- 13′ 40″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 47.92 MBytes