Referencia: Sears-Zemansky Cap2.2 Vol1 Ed.12 p39
Diapositivas: Con varios puntos observados.
Situación propuesta
Tomar lecturas de distancias y tiempos recorridos, para obtener velocidades por tramo en Kmh
Lazos para Repetir
Usados cuando hay que repetir una operación o bloque de procedimiento. Se expresa como:
Mientras (condición): repita while (condición): …
Lazos/Bucles – Estructuras para Repetir o iterar
Vectores – Arreglos de una dimensión
Usados cuando hay que almacenar una lista de datos, similar a la del problema propuesto.
Se requiere importar la librería numpy para facilitar el manejo de los datos. np es el alias de la librería
import numpy as np
Se inicializa el arreglo, llenándolo con ceros
d=np.zeros(puntos,dtype=float) t=np.zeros(puntos,dtype=int) i=0
Los arreglos inician en la fila 0, conocida como punto inicial.
Es necesario indicar los datos son enteros(int) o reales (float).
Vectores – Arreglos de una dimensión
resultado del algoritmo:
>>> ¿puntos observados?:4 distancia recorrida (m):0 tiempo transcurrido (s):0 distancia recorrida (m):100 tiempo transcurrido (s):5 distancia recorrida (m):200 tiempo transcurrido (s):9 distancia recorrida (m):300 tiempo transcurrido (s):15 Velocidades en Kmh: 0.0 72.0 90.0 60.0
Algoritmo: Velocidad por tramos recorridos
# FCNM-ESPOL. Física con python # varios tramos de recorrido import numpy as np puntos=int(input('¿puntos observados?:')) d=np.zeros(puntos,dtype=float) t=np.zeros(puntos,dtype=int) i=0 while (i<puntos): d[i]=float(input('distancia recorrida (m):')) t[i]=int(input('tiempo transcurrido (s):')) i=i+1 #Procedimiento v=np.zeros(puntos,dtype=float) vkmh=np.zeros(puntos,dtype=float) v[0]=0 vkmh[0]=0 i=1 while (i<puntos): v[i]=(d[i]-d[i-1])/(t[i]-t[i-1]) vkmh[i]=(v[i]/1000)*60*60 i=i+1 #Salida print('Velocidades en Kmh:') i=0 while (i<puntos): print(vkmh[i]) i=i+1
Ejercicio para Taller
Velocidades por tramos, Implementar el algoritmo en python.
Lectura | d | t | V | V |
metros | seg | m/s | Kmh | |
0 | 0 | 0 | ||
1 | 100 | 5 | ||
2 | 200 | 9 | ||
3 | 300 | 15 | ||
4 | 400 | 19 | ||
5 | 500 | 25 | ||
6 | 600 | 33 | ||
7 | 700 | 38 | ||
8 | 700 | 45 | ||
9 | 800 | 55 | ||
10 | 800 | 15 |