Alıştırma Sorularının Cevapları

  1. Metre cinsinden verilen bir uzunluğu inch (1 inch = 2.54 cm), foot (1 foot = 12 inch), yard (1 yard = 3 feet) ve mile (1 mil = 1760 yard) birimlerine dönüştüren bir program yazınız. Programınızı 640 metre için test ediniz (25196.85 inch, 2099.74 feet, 699.91 yard ve 0.3977 mil).
In [1]:
x = 100 # metre
inch = 0.0254 # metre
foot = 12*inch
yard = 3*foot
mile = 1760*yard
print('x = {:.2f} inch'.format(x / inch))
print('x = {:.2f} foot'.format(x / foot))
print('x = {:.2f} yard'.format(x / yard))
print('x = {:.2f} mile'.format(x / mile))
x = 3937.01 inch
x = 328.08 foot
x = 109.36 yard
x = 0.06 mile
  1. Bir cismin yoğunluğu kütlesiyle hacminin çarpımı olarak tanımlanır ($m = d V$). Demir ($d_{Fe} = 7.87 g cm^{-3}$, aliminyum ($d_{Al} = 2.70 g cm^{-3}$, bakır ($d_{Cu} = 8.96 g cm^{-3}$), hava ($d_{hava} = 1.283 g cm^{-3}$ ve ortalama insan vücudunun ($d_{insan} = 1.01 g cm^{-3}$) bir litresinin kaç kilogram olduğunu bulan bir program yazınız.
In [6]:
dFe = 7.87 # Demirin yogunlugu/, g/cm3 
dAl = 2.70 # Aliminyumun yogunlugu/, g/cm3 
dCu = 8.96 # Bakirin yogunlugu/, g/cm3 
dHava = 1.283 # Havanin yogunlugu/, g/cm3 
V = 1000 # 1 litrenin cm3 karsiligi
g2kg = 1e-3 # grami kilograma ceviren carpan
mFe = dFe * V
mAl = dAl * V
mCu = dCu * V
mHava = dHava * V
print("Kutleler Fe: {:.2f}, Al:{:.2f}, Cu:{:.2f}, Hava:{:.2f} kilogramdir."\
      .format(mFe*g2kg, mAl*g2kg, mCu*g2kg, mHava*g2kg))
Kutleler Fe: 7.87, Al:2.70, Cu:8.96, Hava:1.28 kilogramdir.
  1. Aşağıda verilen programdaki hataları bulup, düzeltiniz ve programı çalıştırınız.
In [10]:
from math import sin
x=1
print('sin(%g)=%g' % (x, sin(x)))
sin(1)=0.841471
  1. Aşağıdaki küçük programcıkları yazıp çalıştırarak verilen ifadelerin doğruluğunu test ediniz. Programların çalışmadığı durumlarda hatalarını bulup, düzelttikten sonra tekrar çalıştırınız.

a) sin2+cos2=1?

In [12]:
from math import pi, sin, cos
x = pi/4
val = sin(x)**2 + cos(x)**2
print(val)
1.0

b) $s = v_{0} t + 1/2 a t^{2}$ ifadesinde $v_{0} = 3 m/s$ , $t = 1 s$, $a = 2 m/s^{2}$ için s'yi hesaplayınız.

In [13]:
v0 = 3 # m/s
t = 1 # s
a = 2 # m/s**2
s = v0*t + 0.5*a*t**2
print(s)
4.0

c) Aşağıdaki ifadeleri doğrulayınız

$$(a + b)^{2} = a^{2} + 2ab + b^{2}$$$$(a − b)^{2} = a^{2} − 2ab + b^{2}$$
In [16]:
a = 3.3; b = 5.3
a2 = a**2
b2 = b**2
eq1_sum = a2 + 2*a*b + b2
eq2_sum = a2 - 2*a*b + b2
eq1_pow = (a + b)**2
eq2_pow = (a - b)**2
print('Birinci ifade: %g = %g' % (eq1_sum, eq1_pow))
print('Ikinci ifade: %g = %g' % (eq2_pow, eq2_pow))
Birinci ifade: 73.96 = 73.96
Ikinci ifade: 4 = 4
  1. Gauss fonksiyonu aşağıdaki ifade ile verilir ve neredeyse her bilim dalında en sık kullanılan fonksiyonlardan biridir. Bu fonksiyonu $\mu = 0$ ortalama değeri, $\sigma = 2$ standart sapması ve $x = 1$ için hesaplayan bir program yazınız.
$$f(x) = \frac{1}{\sqrt{2 \pi} \sigma} exp[- \frac{1}{2}( \frac{x - \mu}{\sigma} )]$$
In [20]:
import math
x = 1
mu = 0
sigma = 2
# Gauss fonksiyonu
fx = 1 / (math.sqrt(2*math.pi)*sigma)*math.exp(-1/2*((x - mu) / sigma))
print('x = {:.2f}, mu = {:.2f}, sigma = {:.2f} icin Gauss = {:g}'\
     .format(x, mu, sigma, fx))
x = 1.00, mu = 0.00, sigma = 2.00 icin Gauss = 0.155348
  1. Aşağıda santigrat dereceyi fahrenheit'a dönüştüren bazı kod satırları verilmiştir. Doğru çalışmayacak olan satırları bulup, düzeltiniz ve çalıştırınız.
In [22]:
C = 21; F = 9/5*C + 32; print(F)
C = 21.0; F = (9/5)*C + 32; print(F)
C = 21.0; F = 9*C/5 + 32; print(F)
C = 21.0; F = 9.*(C/5.0) + 32; print('%.2f' % F)
C = 21.0; F = 9.0*C/5.0 + 32; print("{:.2f}".format(F))
C = 21; F = 9*C/5 + 32; print(F)
C = 21.0; F = (1/5)*9*C + 32; print('%3.2f' % F)
C = 21; F = (1./5)*9*C + 32; print("{:f}".format(F))
69.80000000000001
69.80000000000001
69.8
69.80
69.80
69.8
69.80
69.800000