Alıştırmalar ve Problemler
Problem 1
Kullanıcıdan dört sayı isteyin. Kullanıcının girdiği sayıları float formatına çevirin.
- Kullanıcının girdiği sayıları sırayla bir listeye yerleştirin. Yani 4 elemanlı tek boyutlu bir listenin elemanlarını kullanıcıya doldurtun. Listeyi ekrana yazdırın.
- Bu listenin tüm elemanlarının iki katını,
fordöngüsü kullanarak elde edin ve sonucu ekrana yazdırın. - Eğer girilen sayılardan en az bir tanesi 5’ten büyükse ekrana
... sayıları 5'ten büyüktür.yazsın. Burada “…” yerine kullanıcının girdiği sayılar yazsın. Aksi taktirde5'ten büyük sayı girmediniz.yazsın.
Problem 2
Bir liste oluşturun ve o listenin elemanları 4, 8, 15, 16, 23, 42 olsun. for döngüsü ve .append() fonksiyonu kullanarak listenin sonuna 1’den 80’a kadar sayılar ekleyin. Elde ettiğiniz yeni listenin adı yeniListe olsun.
- Bilgilendirme:
[3,7]listesinin birinci elemanı7’dir.yeniListelistenin birinci, beşinci ve son elemanını ekrana yazdırın. yeniListelistesinin son beş elemanını ekrana yazdırın.yeniListelistesinin son elli elemanının toplamını ekrana yazdırın.yeniListelistesinin son elli elemanının çarpımını ekrana yazdırın.yeniListelistesindeki tüm çift elemanları yerineTrue, tüm tek elemanları yerineFalseyazın.yeniListelistesinin elemanlarını alt alta olacak şekildeyeniListe.txtdosyasına yazdırın.
Problem 3
- \(1\)’den \(42\) sayısına kadar olan tüm sayıları toplayın. Sonu ekrana yazdırın.
- \(1\)’den \(42\) sayısına kadar olan tüm çift sayıları toplayın. Ekrana yazdırın.
- \(1\)’den \(89\)’a kadar (\(89\) dahil) olan tüm sayıları
fordöngüsünü kullanarak ekrana yazdıran bir betik yazın. Bu döngü, 18’de duracak şekilde olsun.
Problem 4
- Bir fonksiyon yazın. Bu fonksiyon ekrana sadece
Naber Dünyalı?yazdırsın. - Bir fonksiyon yazın. Bu fonksiyon ekrana
Merhaba Dünyalı. Ben $100$'a kadar saymayı biliyorum.yazsın ardından ekrana \(0\)’dan \(100\)’e kadar (\(100\) dahil) tüm sayıları yazdırsın. - Bir fonksiyon yazın. Bu fonksyion bir adet değişkeni alsın (Ör.
fonksiyon1(sayi)) ve karesini geri döndürsün. - Bir fonksiyon yazın. Bu fonksiyon bir adet değişkeni alsın.
a sayısının kübü ...yazsın ve kübünü geri döndürsün. Burada “a” fonksiyonun aldığı değişken ve “…” o değişkenin kübü olacaktır. - Bir fonksiyon yazın. Bu fonksiyon iki adet değişken alsın. Birinci değişkenden ikinci değişkene kadar olan tüm sayıların toplamını ekrana yazdırsın ve değerini döndürsün.
- Bir fonksiyon yazın. Bu fonksiyon bir adet değişken alsın. Girilen değişken \(x^2-1=0\) denkleminin çözümü ise
Truedeğil iseFalsedöndürsün. - Bir fonksiyon yazın. Bu fonksiyon beş adet değişken alsın. Bu değişkenler bir cismin uzay-zaman koordinatları x,y,z,t ve x eksenine göre göreli (rölatif) hızı olsun. Eğer hız değişkenin değeri ışık hızından büyükse ekrana bunun mümkün olamayacağını yazsın. Eğer hız değişkeni ışık hızından küçükse, uzay-zaman koordinatlarının yere göre (duran gözlemci) ne olacağını hesaplasın ve yeni koordinatları ekrana yazdırsın. Bunun için Lorentz Dönüşümünü kullanmanız gerekir. Buna ek olarak fonksiyon Galileo Dönüşümüne göre ne olacağını da hesaplasın ve ekrana yazdırsın. Fonksiyon, Lorentz dönüşümü ile elde ettiğiniz yeni uzay-zaman koordinatlarını döndürsün.
Problem 5
Modül
Aşağıdaki soruları, oluşturduğunuz fiz365.py dosyası içerisine cevaplayın. Ardından calistir.py adında bir betik dosyasında yazdıklarınızı çağırın.
fiz365.pydosyasının içerisinenumpymodülününpismiyle çağırın.faktoriyel()adında bir fonksiyon yazın. Bu fonksiyon bir tam sayı alsın ve o sayının faktöriyelini döndürsün. Eğer verilen sayı tam sayı değilseFalsedeğeri döndürsün.isinstance(sayi, int)fonksiyonu,sayidegiskeninininttipinde olup olmadığını sınar. EğerintiseTruedeğeri döndürür. Eğer değilseFalsedeğeri döndürür.
topla()adında bir fonksyion yazın. Bu fonksyion bir tam sayı alsın ve birden o sayıya kadar olan tüm tam sayıların toplamını döndürsün. Eğer sayı tam sayı değilseFalsedeğeri döndürsün.obeb()adında bir fonksyion yazın. Bu fonksyion iki tam sayı alsın ve o sayıların ortak bölenlerinin en büyüğünü döndürsün. Eğer verilen sayı tam sayı değilseFalsedeğeri döndürsün.okek()adında bir fonksyion yazın. Bu fonksyion iki tam sayı alsın ve o sayıların ortak katlarının en küçüğünü döndürsün. Eğer verilen sayı tam sayı değilseFalsedeğeri döndürsün.dik_mi()adında bir fonksyion yazın. Bu fonksiyon üç sayı alsın ve bu üç sayıdan bir dik üçgen oluşuyor mu denesin. Eğer oluşuyorsaTruedönmüyorsaFalsedeğeri döndürsün.- Sayıları sıralamak için
np.sort([sayi1, sayi2])fonksiyonunu kullanabilirsiniz.
- Sayıları sıralamak için
calistir.pydosyası içerisinefiz365modülünüf365ismi ile çağırın ve aşağıdaki fonksiyonları çalıştırın. Çıktılarını ekrana ne olduklarını belirterek yazdırın.faktoriyel(5),faktoriyel(5.5)topla(5),topla(5.5)obeb(12, 28),obeb(12, 28.5)okek(8, 28),okek(8, 28.5),okek(8.3, 28). Sonuç neden tam sayı yaniintşeklinde değil de.0şeklinde oluyor? Açıklayınız.dik_mi(3, 5, 4),dik_mi(3, 4, 6)
fizik365.pydosyasını kaydedin ve yedekleyin. Bu dosyayı dersin geri kalanında kullanacağız.
Problem 6
Karışık Alıştırmalar
Aşağıdaki sorularda fonksiyonları yazın. Ardından uygun değerler için fonksyionları çağırın ve çıktısını ekrana yazdırın.
- Bir fonksiyon yazın. Bu fonksiyon iki adet değişken alsın. Birinci değişkenden ikinci değişkene kadar (ikinci değişken dahil değil) olan tüm sayıların toplamını ekrana yazdırsın ve değerini döndürsün.
- Bir fonksiyon yazın. Bu fonksiyon bir adet değişken alsın. Girilen değişken \(x^3+2x^2-x-1=0\) denkleminin çözümü ise
Truedeğil iseFalsedöndürsün. - Bir fonksyion yazın. Bu fonksiyon bir adet değişken alsın. Bu değişken uzaklık gibi olsun ve 1 boyutlu negatif elektrik yükünün girilen (değişken) uzaklıktaki elektrik potansiyelini birimiyle beraber ekrana yazdırsın ve değerini döndürsün.
- Bir fonksiyon yazın. Bu fonksiyon iki adet değişken alsın. Birinci değişken konumdaki belirsizlik gibi olsun.İkinci değişken de momentumdaki belirsizlik gibi olsun. Girilen değerleri Heisenberg Belirsizlik İlkesine uyup uymadığını kontrol etsin. Eğer uyuyorsa
Trueeğer uymuyorsaFalsedöndürsün. - Bir fonksiyon yazın. Bu fonksiyon üç adet değişken alsın. Bu değişkenler; kütle 1, kütle 2 ve uzaklık olsun. Fonksiyonda, girilen kütle ve uzaklık değerleri kullanılarak iki kütle arasında oluşan çekim kuvvetinin değerini birimiyle beraber ekrana yazdırsın. Sonuç değerini de döndürsün.
- Bir fonksiyon yazın. Bu fonksiyon dört adet değişken alsın. Bu değişkenler; ilk uzaklık, ilk hız, zaman ve ivme olsun. Fonksiyonda, girilen değerler kullanılarak, başlangıçta \(x_0\) konumunda olan ve ilk hızı \(v_0\) olan bir cismin \(a\) ivmesi altında \(t\) saniye sonra hangi konumda olacağı belirlensin. Sonucu birimiyle beraber ekrana yazdırın. Sonuç değerini döndürsün. Burada tüm büyüklüklükler skalerdir.
- Bir fonksiyon yazın. Bu fonksiyon iki adet değişken alsın. Bu değişkenler; başlangıç hızı ve atış açısı olsun. Fonksiyonda, yatay düzlemde, \(v_0\) ile \(\theta\) açısıyla atılan bir cismin hangi konumda tekrar yatay düzlemde olacağı bulunsun. Atıştan sonra hangi konumda olduğu, havada geçirdiği süre ve maksimum çıkabileceği yükseklik ekrana yazdırılsın. Bu üç değerden oluşan bir tuple oluşturun. Fonksiyon bu tuple’ı döndürsün. Burada tüm büyüklüklükler skalerdir.
Problem 7
Matris çarpımı
- 2 adet 3x3 matris oluşturun. Bunlardan bir tanesi 1’den 10’a kadar (10 dahil değil) diğeri ise 10’dan 19’a kadar olsun.
- Bu iki matrisi
@ile çarpın ve sonucu ekrana yazdırın. sonucadında 3x3’lük sıfır matrisi oluşturun.- İlk matrisin birinci, ikinci ve üçüncü satırlarını ekrana yazdırın.
- İkinci matrisin tüm sütunlarını ayrı ayrı ekrana yazdırın.
- İlk matrisin ilk satırını ikinci matrisin ilk sütunu ile çarpın. Çıkan sonucu
sonucelemanın birinci satır birinci sütunundaki elemanına atayın. - İlk matrisin ikinci satırını ikinci matrisin ilk sütunu ile çarpın. Çıkan sonucu
sonucelemanın birinci satır ikinci sütunundaki elemanına atayın. - İlk matrisin üçüncü satırını ikinci matrisin ilk sütunu ile çarpın. Çıkan sonucu
sonucelemanın birinci satır üçüncü sütunundaki elemanına atayın. - İlk matrisin ikinci satırını ikinci matrisin ilk sütunu ile çarpın. Çıkan sonucu
sonucelemanın ikinci satır birinci sütunundaki elemanına atayın. mat_carpadında bir fonksiyon oluşturun ve bu fonksiyon iki adet matris alsın. İki matrisi,fordöngü(leri)sü yardımı ile çarpsın. Adımlar aşağıdaki gibidir.- Bu fonksiyon, matrislerin boyutlarını incelesin. Eğer matrislerin boyutu, ilk matrisin boyutu NxM, ikinci matrisin boyutu MxT şeklinde değilse
Falsedeğerini döndürsün. - Eğer herhangi bir matrisin tüm elemanları 0 ise Bir matrisin tüm elemanları sıfırdır. şeklinde ekrana yazı yazsın ve
fordöngüsüne girmeden sonucu uygun boyutta 0 matrisi döndürsün. - Eğer herhangi bir matris birim matris ise … matrisi birim matristir. şeklinde ekrana yazı yazsın ve
fordöngüsüne girmeden sonucu ekrana yazsın.
- Bu fonksiyon, matrislerin boyutlarını incelesin. Eğer matrislerin boyutu, ilk matrisin boyutu NxM, ikinci matrisin boyutu MxT şeklinde değilse
- Yukarıdaki yazdığınız fonksiyonu uyarı metinleri ekranda yazacak şekilde bir çok kez çağırın.
- Eğer
mat_carp()fonksiyonunu çağırırken girdilerden birisi bir boyutlu array olursa, hata alacaksınız. Bunun nedeni hakkında düşünün ve gerekli düzenlemeyi yapın.
Problem 8
Dalga Fonksiyonun Normalizasyonu
normalize_et_dalgaFonkadında bir fonksiyon yazın. Bu fonksiyonun bir adet numpy array tipi değişken alsın.- Alınan array en genel olarak sanal sayılardan oluşsun. Array’in her elemanını kendisinin sanal eşleniği (
np.conj()) kendisini çarpsın ve çıkan sonuçları toplayıp bir adet sayı elde etsin. - Fonksiyona girdi olarak verilen arrayi, elde edilen bu sayının kareköküne (
np.sqrt()) bölsün ve elde edilen arrayi geri döndürsün. - Girdi 1 boyutlu array değilse, bu fonksiyon sadece arrayler için çalışmaktadır. yazsın. Bunun için
np.ndim()fonksiyonunu kullanbilirsiniz. Fonksiyon girdisi bir boyutlu array değilseNonedeğerini döndürsün.
- Alınan array en genel olarak sanal sayılardan oluşsun. Array’in her elemanını kendisinin sanal eşleniği (
- Bu fonksiyonu
[1, 1]değerleri için çağırın. xAxisadında ve içeriği0’dan1’e kadar 100 elemanlı bir array oluşturun. Yardım:np.linspace(baslangicSayi, bitisSayi, adet)yAxisadında ve içeriği0’dan1’e kadar 100 elemanlı bir array oluşturun.- Çizim yapmak için
matplotlib.pyplotmodülünüpltismiyle çağırın ve x ve y eksenlerini çizdirin. Çizginin rengi siyahkolsun. [1, 1]arayini normalize ettiğimizde elde ettiğimiz arrayi de kırmızı ilerçizdirin.- Bunun için 3. ve 4. adımı
normalize_et_dalgaFonkfonksiyonunu kullanarak tekrarlamanız gerekir. Fonksiyonu çağırdığınızda geri dönen iki değerden ilkixAxis’in 0’dan o noktaya kadar olan değerlerini belirleyecek, ikincisi iseyAxis’in 0’dan o noktaya kadar olan değerlerini belirleyecek.
- Bunun için 3. ve 4. adımı
- Bu adımda bilgisayar kod yazmanıza gerek yoktur. Kuantum dalga fonksiyonu aşağıdaki gibi verilmiştir. Aşağıdaki verilen gösterimler eşdeğerdir.
\[ |\psi> = A \left(\sin\theta|\uparrow> + \cos\theta|\downarrow>\right) \]
\[ |\psi> = A\sin\theta \left(\begin{matrix}1\\0\end{matrix}\right) + A\cos\theta\left(\begin{matrix}0\\1\end{matrix}\right) \]
\[ |\psi> = A\left(\begin{matrix}\sin \theta\\\cos \theta\end{matrix}\right) \]
Bu kuantum durumu normalize olması için A ne olmalıdır? Yardım: \(|<\psi|\psi>|^2=1\) için \(A\) ne olmalıdır?
- Aşağıdaki dalga fonksiyonunu el ile normalize ediniz.
normalize_et_dalgaFonkfonksiyonunu kullanarak yaptığınız hesabı kontrol ediniz.
\[ |\psi> = A \left((1+i)|\uparrow> + (1-i)|\downarrow> \right) \]
Problem 9
Temel Python
- Ekrana “Hello World” yazdırın.
- 3 ve 2’yi toplayın. Cevabı ekrana yazdırın.
- 2’nin kökünü hesaplayın ve ekrana yazdırın.
degisken1= 5vedegisken2 = 3olsun.degisken1vedegisken2değişkenlerinin değerlerini yer değiştirin.degisken1= 5olsun. Bu değişkenin tek mi veya çift mi olduğunu sınayan bir program yazın.degisken1= 5vedegisken2 = 3olsun. Eğerdegisken1,degisken2’den büyükse ekrana “degisken1 büyük” yazdırın. Aksi durum için ise “degisken2 büyük” yazdırın.- 0’dan 30’a kadar olan sayıları (0 ve 30 dahil) ekrana yazdırın.
- 0’dan 30’a kadar olan sayıların iki katını (0 ve 30 dahil) ekrana yazdırın.
- 0’dan 30’a kadar olan sayılardan sadece çift olanlarını (0 ve 30 dahil) ekrana yazdırın.
- 0’dan 30’a kadar olan sayıları ekrana yazdırın, ancak 12 ve 27’yi yazdırmayın.
Problem 10
Kendisiyle İşlem Yaptırma
- 0’dan 30’a kadar olan sayıları (0 ve 30 dahil) toplayın.
\[\sum_{i=0}^{30}i\]
- 1’dan 10’a kadar olan sayıları (1 ve 10 dahil) çarpın.
\[\prod_{i=1}^{10}i = 10!\]
- 0’dan 30’a kadar olan sayıları (0 ve 30 dahil) toplayın ancak 12 ve 27’yi toplamaya dahil etmeyin.
\[\sum_{i=0,i\ne12,27}^{30}i\]
- 0’dan 30’a kadar olan sayıların iki katını (0 ve 30 dahil) toplayın.
\[\sum_{i=0}^{30}2i\]
Problem 11
Fonksiyonlar
fonk1adında bir fonksiyon yazın. Bu fonksiyon ekrana “Hello World” yazdırsın.fonk2adında bir fonksiyon yazın. Bu fonksiyon bir sayı alsın ve bu sayının iki katını ekrana yazdırsın.fonk3adında bir fonksiyon yazın. Bu fonksiyon bir sayı alsın ve o sayının tek mi çift mi olduğunu ekrana yazdırsın.fonk4adında bir fonksiyon yazın. Bu fonksiyon bir sayı alsın ve o sayının 0’dan büyük olup olmadığını ekrana yazdırsın.fonk5adında bir fonksiyon yazın. Bu fonksiyon bir sayı alsın ve o sayının karesini geri döndürsün.fonk6adında bir fonksiyon yazın. Bu fonksiyon bir sayı alsın ve sıfırdan o sayıya kadar olan tüm sayıları toplayıp sonucu geri döndürsün.fonk7adında bir fonksiyon yazın. Bu fonksiyon iki sayı alsın ve bu sayıların toplamını geri döndürsün.fonk1’i çağırın.fonk2’yi,fonk3’ü,fonk4’ü,fonk5’i vefonk6’yı 30 için çağırın.fonk7’yı, 30 ve 35 için çağırın.fonk8adında bir fonksiyon yazın. Bu fonksiyon,fonkvexadında iki parametre alsın. Buradafonkbir fonksiyon olacaktır.fonk8ana fonksiyonumuzun içerisinde bufonkfonksiyonunuxçağırın ve sonucu ekrana yazdırın.fonk8’i,fonk5ve 30 için çağırın.
Problem 12
Numpy Arrayler
- Elemanları 3,4,9,1 olan ve adı
arr1olan bir numpy arrayi oluşturun. arr1arrayinin 2. elemanını ekrana yazdırın. (9 olan elemanı)- Elemanları 11,22,33,44,55,66,77,88,99,100 olan ve adı
arr2olan bir numpy arrayi oluşturun. arr2arrayinin 3. elemanından 7. elemanına kadar olan elemanları ekrana yazdırın. (elemanlar 0’dan başlar)arr2arrayinin elemanlarınıfordöngüsü kullanarak toplayın.
Problem 13
Matrisler
- Birinci satırı 3,4,5 ikinci satırı 9,1,2 ve üçüncü satırı 11,12,13 olan ve adı
mat1olan bir numpy arrayi oluşturun. - Bu matrisin 0. satırını ekrana yazdırın.
- Bu matrisin 2. sütununu ekrana yazdırın.
- Bu matisin 1. satırının 1. sütunundaki elemanı ekrana yazdırın.
- Bu matrisin elemanları
fordöngüsü kullanarak toplayın.
Problem 14
Algoritmalar
algo1adında bir fonksiyon yazın. Bu fonksiyon bir sayı alsın ve o sayının faktöriyelini geri döndürsün.algo2adında bir fonksiyon yazın. Bu fonksiyon bir sayı alsın ve o sayıya kadar olan tüm sayılara bölünüp bölünmediğini ekrana yazdırsın. Örn. 8 için 1’e, 2’ye, 4’e bölünür.algo3adında bir fonksiyon yazın. Bu fonksiyon iki sayı alsın ve bu sayıdan büyük olanını ekrana yazdırsın.algo4adında bir fonksiyon yazın. Bu fonksiyon bir array alsın ve arrayin ortasındaki elemanı ekrana yazdırsın. Örn: [1,2,3] -> 2. Eğer arrayin eleman sayısı çift ise ortadaki iki elemanı ekrana yazdırın. Örn: [1,2,3,4] -> 2,3algo5adında bir fonksiyon yazın. Bu fonksiyon bir array alsın ve bu arrayin elemanlarının yerini tersten yazsın. Örn: [1,2,3] -> [3,2,1]. (numpy’ınreverseözelliğini kullanmayın.)algo6adında bir fonksiyon yazın. Bu fonksiyon bir arrayin içindeki elemanları küçükten büyüğe sıralasın. (numpy’ınsortözelliğini kullanmayın.)algo7adında bir fonksiyon yazın. Bu fonksiyon bir array alsın ve elemanlarının simetriğindeki elemanları toplayıp ekrana yazdırsın. Örn: [1,3,5,9] -> 1+9=10, 3+5=8. Eğer arrayin eleman sayısı tek ise ortadaki elemanı toplamadan ekrana yazdırsın. Örn: [1,3,5,9,11] -> 1+11=12, 3+9=12, 5.algo8adında bir fonksiyon yazın. Bu fonksiyon bir array alsın ve bu array her elemanını bir sonraki elemanla toplayıp bir array yaratsın. Örn. [1,2,3,4] -> [1+2, 2+3, 3+4] -> [3,5,7].algo9adında bir fonksiyon yazın. bir matris alsın ve bu matrisin transpozunu geri döndürsün. (numpy’ınTözelliğini kullanmayın.)algo10adında bir fonksiyon yazın. bir matris alsın ve bu matrisin elemanlarının toplamını geri döndürsün. (numpy’ınsumözelliğini kullanmayın.)algo11adında bir fonksiyon yazın. iki matris alsın ve bu matrislerin çarpımını geri döndürsün. (numpy’ındotözelliğini veya@özelliğini kullanmayın.)
Problem 15
Formülden Algoritma Yazma
algofonk1adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın.
\[f(x)=x^{2}+4x-7\]
algofonk2adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın.
\[f(x)=\frac{sin(x)}{x}\]
algofonk3adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın.
\[f(x)=\prod_{i=1}^{x}i=x!\]
algofonk4adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın.
\[f(x)=\sum_{i=0}^{x}i\]
algofonk5adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın.
\[f(x)=\sum_{i=0}^{x}\sqrt{i}\]
algofonk6adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın.
\[f(x)=\sum_{i=3}^{x-5}i^{2}\]
algofonk7adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın.
\[f(x,a)=\sum_{i=0}^{a}x\]
algofonk8adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın.
\[f(x,a,b)=\sum_{i=a}^{b}\frac{x \times i}{a \times b}\]
algofonk9adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın. Buradaxbir array.
\[f(x)=\sum_{i}x_{i}\]
algofonk10adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın. Buradaxbir array.
\[f(x)=\prod_{i}x_{i}\]
algofonk11adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın. Buradax, n boyutlu bir array.
\[f(x)=\sum_{i}^{n-1}x_{i}+x_{i+1}\]
algofonk12adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın. Buradax, n boyutlu bir array.
\[f(x,a,b)=\sum_{i=0}^{n-1}a \times x_{i}+b \times x_{i+1}\]
algofonk13adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın. Buradag, tek değişkenli bir fonksiyon.
\[f(g)= g(3)\]
algofonk14adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın. Buradag, tek değişkenli bir fonksiyon vexbir sayı.
\[f(g,x)= g(3)\times x\]
algofonk15adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın. Buradag, tek değişkenli bir fonksiyon vexbir sayı.
\[f(g,x)= g(x)\times g(x)\]
algofonk16adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın. Buradag, tek değişkenli bir fonksiyon vexn boyutlu bir array.
\[f(g,x)= \frac{g(x_{0})+g(x_{1})}{2}\]
algofonk17adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın. Buradag, tek değişkenli bir fonksiyon vexn boyutlu bir array.
\[f(g,x)= \sum_{i=0}^{n}g(x_{i})\]
algofonk18adında bir fonksiyon yazın. Bu fonksiyon aşağıdaki formülü hesaplasın. Buradag, tek değişkenli bir fonksiyon vexn boyutlu bir array.
\[f(g,x)= \sum_{i=0}^{n-1}g(x_{i})+g(x_{i-1})\]
Problem 16
Zor Algoritmalar
algoZor1adında bir fonksiyon yazın. iki matris alsın ve bu matrislerin çarpımını ters bir şekilde yapsın. Yani birinci matrisin sütunları ile ikinci matrisin satırları çarpılsın. Bu fonksiyon sadece kare matrisler için çalışsın.algoZor2adında bir fonksiyon yazın. Bu fonksiyon bir kompleks matris alsın. Bu matrisin hermisyen olup olmadığını kontrol edip sonucu ekrana yazdırsın. Yani kompleks konjugesinin transpozu (dagger’ı) kendine eşit mi değil mi kontrol etsin.algoZor3adında bir fonksiyon yazın. Bu fonksiyonx,yvezkartezyen koordinatlarını alsın ve bu koordinatlarır,thetavephiküresel koordinatlarına çevirip değerleri geri döndürsün.algoZor4adında bir fonksiyon yazın. Bu fonksyionvec2dadında iki bileşenli array vethetaadında bir açı alsın. Bu fonksiyonvec2dvektörünüthetaaçısıyla döndürsün ve bu fonksiyon yeni dönmüş vektörü geri döndürsün.algoZor5adında bir fonksiyon yazın. Bu fonksiyonvec3dadında bir üç bileşenli bir array,thetavephiadında açılar alsın. Bu fonksiyonvec3dvektörünüthetavephiaçılarıyla döndürsün ve yeni dönmüş vektörü geri döndürsün.algoZor6adında bir fonksiyon yazın. Bu fonksiyonspinFermiadında iki bileşenli bir array,thetaadında bir açı,xBool,yBoolvezBooladlarında 3 adet mantıksal değişken alsın. Bu fonksiyonspinFermifermion spin vektörünü Pauli-spin matrislerini kullanarak ilethetaaçısıyla döndürsün. EğerxBooldoğru isexeksenine göre döndürsün,yBooldoğru iseyeksenine göre döndürsün,zBooldoğru isezeksenine göre döndürsün. Bu fonksiyon döndürülen vektörü geri döndürsün.algoZor7fonksiyonunu kullanarak Stern-Gerlach deneyini simüle edin. Bunun için spini \(z\) yönünde olan bir parçacığın spin vektörünü önce \(x\) yönünde, sonra da \(y\) yönünde döndürün.algoZor8adında bir fonksiyon yazın. Bu fonksiyonhamiltadında Hamiltonyen matrisini alsın ve enerji özdeğerlerini ve buna karşılık gelen özdurumları bulup ekrana yazdırsın.algoZor9adında bir fonksiyon yazın. Bu fonksiyonyukyük miktarı,x,yvezkoordinatlarını alsın ve bu yükün \(x,y,z\) noktasındaki elektrostatik potansiyelini geri döndürsün.algoZor10adında bir fonksiyon yazın. Bu fonksiyonyuk1,yuk2yük miktarlarını,x,yvezaralarındaki mesafeyi veren koordinatları alsın ve bu iki yük arasındaki Coulomb kuvvetinin büyüklüğünü geri döndürsün.algoZor11adında bir fonksiyon yazın. Bu fonksiyon düzgün yoğunluğa sahip bir sonsuz uzunluktaki bir çubuğun yük dağılımını veren fonksiyonuyukDagılımıFonk,rkoordinatını alsın ve çubuktanrkadar uzaklıktaki elektrostik potansiyel değerini geri döndürsün.yukDagılımıFonkfonksiyonuxkoordinatında yük dağılımının değerini veren bir fonksiyon olmalı.
Problem 17
Aşağıdaki denklemde verilen ve \(g\) fonksiyonunu hesaplayan fonk1 adında bir python fonksiyonu yazın.
fonk1fonksiyonuf1,f2fonksiyonlarını ve bir adetxVecadında numpy arrayini input olarak alsın.fonk1fonksiyonu \(g\) fonksiyonun değerini döndürsün.- Denklemdeki \(n\),
xVecdeğişkeninin uzunluğudur ve \(x_{i}\), \(\vec{x}\) vektörünün (arrayinin) bileşenleridir.
Fonksiyon: \[ g(f_{1}(\vec{x}),f_{2}(\vec{x}),\vec{x}) = x_{0}\sum_{i=1}^{n} \frac{f_1(x_i)}{f_2(x_{i-1})} \]
Problem 18
fonk2 adında bir fonksiyon yazın. Bu fonksiyon xVec adında bir adet array alsın ve her elemanını kendinden bir sonraki elemanla toplayıp sonucu döndürsün. Örneğin [1,2,3,4] alsın, [3,5,7] döndürsün.
fonk2fonksiyonunu[11,22,33,44,55,66,77,88,99]dizisiyle çağırın ve sonucu ekrana yazdırın.
Problem 19
\(42\) ile \(100\) arasındaki (100 dahil değil) tüm tek sayıları ekrana yazdırın.
Problem 20
Aşağıdaki kodun nasıl çalıştığını açıklayın.
- En altta bu kodun nasıl çalışmaya başladığı ile ilgili satırlar verilmiştir. Bu adımların devamını siz yazın.
- Cevabınızı, sisteme yükleyeceğiniz
.pydosyasına yorum şeklinde yani#ile başlayan satırlarla açıklayın. - Aşağıda yazılı olan betiği cevap kağıdınıza tekrar yazmayın.
- Cevabınızı yazarken önce aşağıda yazılan açıklamaları yazın.
sayi= 5 # Satır 1
asalCarp= [] # Satır 2
for i in range(2,sayi): # Satır 3
if sayi%i==0: # Satır 4
asalMi= True # Satır 5
for j in range(2,i): # Satır 6
if i%j==0: # Satır 7
asalMi= False # Satır 8
break # Satır 9
if asalMi: # Satır 10
asalCarp.append(i) # Satır 11
asalCarp.append(sayi) # Satır 12
print(asalCarp) # Satır 13Betiğin çalışması:
# (satır 1) sayi değişkenine 6 ata.
# (satır 2) asalCarp değişkenine boş bir liste ata.
# (satır 3) for döngüsüne gir. --> i=>2, sayi=>6
# (satır 4) sayi=>6 sayısı i=>2'ye tam bölünüyor mu? --> Evet --> if koşuluna gir.
# (satır 5) asalMi değişkenine True ata.
# (satır 6) 2. for döngüsüne gir. --> j=>2 --> for döngüsünden çık çünkü range(2,2) boş bir liste.
# (satır 10) asalMi değişkeni True mu? --> Evet.
# (satır 11) i'yi yani 2'yi asalCarp değişkeninin sonuna ekle.
# (satır 3) ...... DEVAM EDİN ......Problem 21
- Ekrana
Soru başlamıştır.yazdırın. - Elemanları
4,8,15,16,23,42olan bir liste oluşturun. Numpy array de kabul edilecektir. fordöngüsü kullanarak tüm elemanları teker teker ekrana yazdırın.- Ardından ekrana
Soru bitmiştir.yazdırın.
Problem 22
Numpy
Numpy paketini kullanarak aşağıdaki matrisi oluşturun ve mat1 değişkenine atayın. mat1 değişkeninin ilk sütunundaki tüm elemanları yazdırın. Son satırdaki tüm elemanları ekrana yazdırın. Not: Elemanları teker teker print etmeyin.
\[ \begin{bmatrix*} 1 & 2 & 3 & 4\\ 5 & 6 & 7 & 8\\ 9 & 10 & 11 & 12\\ 13 & 14 & 15 & 16 \end{bmatrix*} \]
Problem 23
Numpy
fonk_tekIndis42adında bir fonksiyon yazın. Bu fonksiyon bir adet bir boyutlu numpy arrayini alsın. Bu arrayin tüm tek sayılı indekslerini 0 yapsın ve sonucu geri döndürsün.fonk_tekIndis42fonksiyonunu 4, 8, 15, 16, 23, 42 sayılarından oluşan array için çağırın ve fonksiyondan dönen arrayi ekrana yazdırın.
Problem 24
Numpy
fonk_diag42adında bir fonksyion yazın. Bu fonksiyon bir adet iki boyutlu numpy arrayi yani matrisi alsın. Bu arrayin köşegen elemanlarını 42 yapsın ve sonucu geri döndürsün.fonk_diag42fonksiyonunu 12x12 boyutlu birim matris için çağırın ve geri dönen sonucu ekrana yazdırın.
Problem 25
- Fibonacci dizisinde sayıları veren,
fonk_fibonacciisimli bir fonksiyon yazın. Bu fonksiyon bir tam sayı,n, alsın ve o tam sayı kadar elemanı olan bir numpy arrayi döndürsün. Örneğin;n=4verilmiş isefonk_fibonacci(n)fonksiyonu \(F_{1}\), \(F_{2}\), \(F_{3}\), \(F_{3}\) elemanlarından oluşan arrayi döndürmeli. fonk_fibonacci(10)fonksiyonunu çağırın ve sonucu ekrana yazdırın.
Bilgilendirme: Fibonacci dizisi \(F_{n}=F_{n-1} + F_{n-2}\) ve \(F_{1}=1\) ve \(F_{2}=1\) olarak tanımlanır.
Problem 26
Numpy
- Ekrana
Soru başlamıştır.yazdırın. - Elemanları
421,142,412,42olan iki boyutlu (\(2\times2\) matris gibi) bir numpy array oluşturun.421,142ilk satırda,412,42ikinci satırda olsun. fordöngüsü kullanarak tüm elemanları teker teker ekrana yazdırın. Yazım formatıMATRIS [0,0] = 421şeklinde olmalıdır.- Ekrana
2. soru bitmiştir.yazdırın.
Problem 27
- Satırları
1,2,3,4,5,6ve7,8,9olan bir matris oluşturun. - Oluşturduğunuz matrisin tüm elemanlarını
fordöngüsü kullanarak çarpın.
Referanslar
- https://www.programiz.com/python-programming/examples
- https://www.freecodecamp.org/news/python-code-examples-sample-script-coding-tutorial-for-beginners/#-for-loops-in-python
- Algorithms in Python – Full Course for Beginners: https://www.youtube.com/watch?v=fW_OS3LGB9Q
- Vektör döndürme: https://stackoverflow.com/questions/14607640/rotating-a-vector-in-3d-space, https://en.wikipedia.org/wiki/Euler%E2%80%93Rodrigues_formula
- Bir vektörü Pauli-Spin matrisleri ile döndürme: https://quantummechanics.ucsd.edu/ph130a/130_notes/node279.html
- Sonsuz uzunluktaki çubuğun elektrostatik potansiyeli: http://hyperphysics.phy-astr.gsu.edu/hbase/electric/potlin.html