Merhaba değerli THT üyeleri, bu gün sizlere herhangi bir yazılım dilini en iyi öğrenme yöntemlerinden birini anlatacağım. Yazılım dilleri içerisinde bir çok fonksiyon barındırır. Bu fonskiyonları iyice öğrenmek uzun zaman ister. Yazılım dillerindeki fonksiyonları hızlı bir şekilde öğrenmek için farklı farklı yöntemler geliştirilmiştir. Fakat hem benim çok önerdiğim hem de bu gün sizlerle işleyeceğimiz yöntem problem çözme yöntemi. Genelde bir yazılım dili kursuna başladığınızda konular bittikçe size ödev olarak problemler verirler. Mesela üs alma fonksiyonu. Bu problemleri çözmek için algoritma bilginizin de yeterli seviyede olması gerekmektedir. Algoritma bilgisi problem çözme aşamasında hem size kolaylık sağlar hem de çözüm hızınızı ciddi derecede arttırır. Peki algoritma nedir?
Algoritma Nedir
Algoritma bir problemi çözmek veya bir amaca ulaşmak için tasarlanan yol haritasıdır. Bir başlangıç noktası ve bir bitiş noktası vardır. Arada ise başlangıç noktasından bitiş noktasına ulaşmak için tasarlanmış işlemler vardır. Algoritma düşündüğünüz gibi sadece yazılımda işimize yaramaz. Hayatımızın her noktasında faydasını görebiliriz. Örneğin bir sorunla karşılaştığınızda bu sorunu çözme aşamasında çok yararını görebilirsiniz. Ya da öğrenciyseniz matematik problemlerini çözme konusunda yardımcı olucaktır. Zaten yazılım dilleri de matematik temellidir.
Örnek bir algoritma
Peki algoritmanın problemle ne alakası var? Problemimizi çözerken direk atlamak yerine bir yol haritası çizmeliyiz. Bu konumuzda problemleri python dili üzerinden anlatacağım. Hemen başlayalım.
1. Problem - Üs Alma
Amaç: Kullanıcıdan alınan sayının istenilen üssünü hesaplayarak kullanıcıya vermek.
Yol haritası: 1- Kullanıcıdan taban al.
2- Kullanıcıdan kuvvet al.
3- Tabanı kendisiyle alınan kuvvet kadar çarp.
4- Sonucu kullanıcıya ver.
1. Aşama
Python:
taban = int(input("Bir taban giriniz: "))
2. Aşama
Python:
taban = int(input("Bir taban giriniz: "))
kuvvet = int(input("Bir kuvvet giriniz: "))
3. Aşama
Python:
taban = int(input("Bir taban giriniz: "))
kuvvet = int(input("Bir kuvvet giriniz: "))
sonuc=1
for i in range(kuvvet):
sonuc = sonuc*taban
4. Aşama
Python:
taban = int(input("Bir taban giriniz: "))
kuvvet = int(input("Bir kuvvet giriniz: "))
sonuc=1
for i in range(kuvvet):
sonuc = sonuc*taban
print("Sonuç: " + str(sonuc))
2. Problem - Beden Kütle Endeksi Hesaplama
Amaç: Kullanıcıdan boy ve kilo alarak beden kütle endeksine göre zayıf, normal, kilolu veya obez olduğu çıktısını vermek.
Yol haritası: 1- Kullanıcıdan boy al.
2- Kullanıcıdan kilo al.
3- Beden kütle endeksini hesapla.
4- Beden kütle endeksine göre kullanıcının durumunu belirle, kullanıcıya sonucu ver.
1. Aşama
Python:
boy = float(input("Boy:"))
2. Aşama
Python:
boy = float(input("Boy:"))
kilo = int(input("Kilo:"))
3. Aşama
Python:
boy = float(input("Boy:"))
kilo = int(input("Kilo:"))
endeks = kilo/(boy**2)
4. Aşama
Python:
boy = float(input("Boy:"))
kilo = int(input("Kilo:"))
endeks = kilo/(boy**2)
if endeks<18.5:
print("n Zayıf")
elif endeks > 18.5 and endeks <=25 :
print("n Normal")
elif endeks > 25 and endeks <=30:
print("n Kilolu")
elif endeks > 30:
print("n Obez")
3. Problem - Bir Sayının Bölenlerini Bulma
Amaç: Kullanıcıdan bir sayı alarak bu sayının pozitif bölenlerini kullanıcıya vermek.
Yol haritası: 1- Kullanıcıdan bir sayı al.
2- Sayının pozitif bölenlerini hesapla.
3- Kullanıcıya pozitif bölenleri ver.
1. Aşama
Python:
sayi = int(input("Bir sayı giriniz: "))
2. Aşama
Python:
sayi = int(input("Bir sayı giriniz: "))
bolen_listesi = []
for i in range(1,sayi+1):
if (sayi % i == 0):
bolen_listesi.append(i)
Python:
sayi = int(input("Bir sayı giriniz: "))
bolen_listesi = []
for i in range(1,sayi+1):
if (sayi % i == 0):
bolen_listesi.append(i)
print(str(sayi) + " sayısının pozitif bölenleri: " + str(bolen_listesi))
4. Problem - Mükemmel Sayı
Amaç: Kullanıcıdan alınan sayının mükemmel sayı olup olmadığını kontrol etmek.
Mükemmel Sayı: "Bir sayının kendisi dışında bütün pozitif bölenlerinin toplamı kendisine eşit olan sayılara mükemmel sayı denir."
Yol haritası: 1- Kullanıcıdan bir sayı al.
2- Sayının mükemmel sayı olup olmadığını hesapla.
3- Kullanıcıya sonucu ver.
1. Aşama
Python:
sayi = int(input("Sayi Giriniz:"))
2. Aşama
Python:
sayi = int(input("Sayi Giriniz:"))
toplam = 0
for i in range(1, sayi):
print(i)
if (sayi % i == 0):
toplam += i
3. Aşama
Python:
sayi = int(input("Sayi Giriniz:"))
toplam = 0
for i in range(1, sayi):
print(i)
if (sayi % i == 0):
toplam += i
if (sayi == toplam):
print("Mükemmel Sayidir.")
else:
print("Mükemmel Sayi Degildir")
4. Problem - Hesap Makinesi
Amaç: Kullanıcıdan 2 sayı ve işlem alarak sonucu kullanıcıya vermek.
Yol haritası: 1- Kullanıcıya işlemleri ver.
2- Kullanıcıdan 2 tane sayı ve işlem al.
3- Hesaplama yap.
4- Kullanıcıya sonucu ver.
1. Aşama
Python:
print("""İşlemler:
1- Toplama
2- Çıkarma
3- Çarpma
4- Bölme
""")
2. Aşama
Python:
print("""İşlemler:
1- Toplama
2- Çıkarma
3- Çarpma
4- Bölme
""")
secim = input("Seçim :")
sayi1 = int(input("1. Sayı Giriniz: "))
sayi2 = int(input("2. Sayı Giriniz: "))
3. Aşama
Python:
print("""İşlemler:
1- Toplama
2- Çıkarma
3- Çarpma
4- Bölme
""")
secim = input("Seçim :")
sayi1 = int(input("1. Sayı Giriniz: "))
sayi2 = int(input("2. Sayı Giriniz: "))
def Carp(x, y):
return x * y
def Bol(x, y):
return x / y
def Topla(x, y):
return x + y
def Cikar(x, y):
return x - y
4. Aşama
Python:
print("""İşlemler:
1- Toplama
2- Çıkarma
3- Çarpma
4- Bölme
""")
secim = input("Seçim :")
sayi1 = int(input("1. Sayı Giriniz: "))
sayi2 = int(input("2. Sayı Giriniz: "))
def Carp(x, y):
return x * y
def Bol(x, y):
return x / y
def Topla(x, y):
return x + y
def Cikar(x, y):
return x - y
if secim == '1':
print("n" , sayi1 , " + " , sayi2 , " = " , Topla(sayi1,sayi2) )
elif secim == '2':
print("n" , sayi1 , " - ", sayi2 , " = " , Cikar(sayi1,sayi2) )
elif secim == '3':
print("n" , sayi1 , " * ", sayi2 , " = " , Carp(sayi1,sayi2) )
elif secim == '4':
print("n" , sayi1 , "/ " , sayi2 , " = ", Bol(sayi1,sayi2) )
else:
print(" Lütfen işlem yapmak için 1-2-3-4 seçeneklerinden birini seçiniz. ")
Konuyu okuduğunuz için teşekkürler. Buradaki problemler basit - orta seviye problemlerdir. İlerledikçe daha zor problemler yapabilir, hatta kendiniz problem uydurup onu çözmeyi deneyebilirsiniz. İyi çalışmalar.
Son düzenleme:




