Python Örnekleri
Python ile Atış Problemi Örneği
Aşağıdaki veriler ışığında Python ile atış problemi örneği kodlayacağız. Atış sorumuz aşağıdaki şekilde açıklanmıştır:
- 50 m/s başlangıç hızıyla ve yatay eksene 60° başlangıç açısıyla bir top fırlatılmıştır.
- Topun zaman 0 ile 20 saniye arasındaki 0,5’lik artışlarla değiştiğinde bir parçacığın yatay ve dikey konumunu belirleyen bir program yazın.
- Program ayrıca topun ulaşabileceği maksimum yüksekliği de görüntülesin.
- İlk olarak while döngüsü kullanarak çözümümüzü yapalım:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import math t = 0 v = 50 g = 9.81 liste = [] print (a) while t <= 20: x= v*math.cos(60*math.pi/180)*t #radyan dereceye çevrildi y= v*math.sin(60*math.pi/180)*t - 0.5*g*t*t #radyan dereceye çevrildi liste.append (y) print(f"Yatayda aldığı yol: {x}\nDüşeyde aldığı yol: {y}\n") t+=0.5 print ("Maksimum yükseklik:",max(liste)) |
Kodu çalıştırmak için: Trinket
- İkinci olarak for döngüsü kullanarak çözümümüzü yapalım:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import numpy as np import math t = 0 v = 50 g = 9.81 liste = [] for t in np.arange (0, 20, 0.5): #artış float olduğu için np.arange kullanıldı x= v*math.cos(60*math.pi/180)*t #radyan dereceye çevrildi y= v*math.sin(60*math.pi/180)*t - 0.5*g*t*t #radyan dereceye çevrildi liste.append (y) print(f"Yatayda aldığı yol: {x}\nDüşeyde aldığı yol: {y}\n") t+=0.5 print ("Maksimum yükseklik:",max(liste)) |
Kodu çalıştırmak için: Trinket
- Daha okunaklı bir çözüm için fonksiyonları kullanalım:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
import math # Başlangıç değerleri u = 50 # m/s theta = math.radians(60) # derece cinsinden açıyı radyan cinsine dönüştürme g = 9.81 # m/s^2 # Yatay ve dikey konumları hesaplayan fonksiyonlar def x_position(t): return u * math.cos(theta) * t def y_position(t): return u * math.sin(theta) * t - 0.5 * g * t**2 # Zaman aralığı ve adım büyüklüğü t = 0 step = 0.5 max_time = 20 max_height = 0 print("Time(s) | X-Position(m) | Y-Position(m)") print("--------------------------------------") while t <= max_time: x = x_position(t) y = y_position(t) print(f"{t:7.2f} | {x:13.2f} | {y:13.2f}") if y > max_height: max_height = y t += step print("--------------------------------------") print(f"Maksimum yükseklik: {max_height:.2f} m") |
Bu program, belirtilen zaman aralığındaki her adımda topun yatay (x) ve dikey (y) konumunu yazdırır. Ayrıca, program sonunda topun ulaşabileceği maksimum yüksekliği de görüntüler. Kodu çalıştırmak için: Trinket