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.
  1. İlk olarak while döngüsü kullanarak çözümümüzü yapalım:
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

  1. İkinci olarak for döngüsü kullanarak çözümümüzü yapalım:
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

  1. Daha okunaklı bir çözüm için fonksiyonları kullanalım:
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

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu