MANTIKSAL YAPILAR
Programların akış şemalarında farklı
satırlar arasında bağlantı kurmak yerine mantıksal yapılar kullanılır.
1. Doğrusal yapı: İşlemleri sıra ile çalıştırır.
2. Karar yapısı: İki olasılıktan birini seçmek ve ona göre devam
etmek için kullanılır.
3. Döngüsel yapı: Bir dizi işlemi tekrarlamak için kullanılır.
4. Durumsal yapı: Belirli bir duruma göre farklı işlemlerin
yapılmasına olanak sağlar.
MODÜLLER VE İŞLEVLERİ
Programı yazmaya başlamadan önce
ayrıntılı bir şekilde düşünülüp planlanması ve gruplanması gerekir. Modüller
büyük bir yazılım projesinin gruplara ayrılması daha kolay çalışılmasını
sağlar.
MODÜL: Yazılımın bir veya daha fazla rutin işlemini içeren
parçasına verilen isimdir.
Modülleri oluştururken aşağıdaki
noktalara dikkat edilmesi önerilir:
1. Her bir modül başlar,
işlemleri yapar ve biter. Süreç içerisinde modüller arasında dallanma olmaz.
2. Her bir modülün tek bir işlevi vardır: yazdırma, karekök bulma, büyük harfe çevirme vb.
2. Her bir modülün tek bir işlevi vardır: yazdırma, karekök bulma, büyük harfe çevirme vb.
3. Her modül
rahat anlaşılabilecek ve kolayca güncelleyebilmenizi kadar kısa olmalıdır.
4. Modülün uzunluğu işlevine ve
yönerge sayısına göre değişebilir.
5. Modüller süreç akışlarını
kontrol etmek için oluşturulur.
BAĞLILIK VE BİRLEŞİM
Modüller hem farklı işlemleri
yürütecek kadar birbirinden bağımsız olmalı hem de aynı veriler ile çalışacak
kadar birleşik olmalıdır. Birbirine zıt bu iki kavram bağlılık ve birleşim
olarak adlandırılır.
“Bağlılık” bir modülün
diğer modüllerden bağımsız çalışabilme yeteneğidir. Her bir modül, bağımsız
olarak tanımlanmış işlem setini çalıştırır ve sonucu gönderir. Ancak modüller
çalışırken verileri almaları ve sonucu göndermeleri sürecinde bilgi paylaşır.
Bu veri paylaşımı sürecinde “birleşim” yaşanır. Birleşim, modüller arası
iletişim oluşmasını sağlar.
YEREL VE GLOBAL DEĞİŞKENLER
Modül içinde tanımlanmış
değişkenler “yerel”; modüller dışında program genelinde kullanılmak üzere
tanımlanmış değişkenler ise “global” değişkenler olarak
adlandırılır. Yerel değişkenler, yalnızca tanımlandıkları modül içerisinde
kullanılabilir. Global olarak tanımlanan değişkenler ise bütün modüller
tarafından tanınır.
Aşağıdaki resimde global ve yerel değişkenlerin nerelerde geçerli olduğu görülmektedir.
Yerel değişkenler, yalnızca
tanımlandıkları modül içerisinde kullanılabilir. Diğer modüllerin bu
değişkenlere ilişkin hiçbir bilgisi bulunmaz. Böylece değişken isimlerinin
çakışması gibi sorunlar yaşanmaz.
Global olarak tanımlanan
değişkenler ise bütün modüller tarafından tanınır. Program çalıştığı sürece
hafızada tutulan ve işlem yapılabilen değişkenlerdir. Program akışında bağlılık
oluşturmak için gereklidir. Programın çalışma sürecinde değişkenler için
kullanılan bir hiyerarşi vardır. Buna göre önce yerel değişken, sonra parametre
ve daha sonra da global değişken kullanılır.
Aşağıdaki resimde global ve yerel değişkenlerin nerelerde geçerli olduğu görülmektedir.
PARAMETRE
Fonksiyon bildiriminde,
fonksiyona girdi olarak, kullanılan değişkenlere
Parametre denir.(Parametreyi anlatabilmek için fonksiyonu da bilmeniz gerekir. Fonksiyondan önceki derslerde bahsetmiştik.
Parametrelerin kullanımı benzer
değişken isimlerinin çakışmasını önleyerek sürecin daha hızlı ilerlemesini
sağlar.
Modüller ayrı ayrı çalışır ve veriler parametreler aracılığı ile iletilir.
“Parametreler” bir modülden diğerine geçen yerel değişkenlerdir.
ÖRNEK: Üçgenin alanını hesaplayan programın PYTHON kodunu yazınız.
ÇÖZÜM:
Ekran Görüntüsü:
program çalıştırıldığında 3 ve 6 değeri için ekrana 9 sonucunu verir.
ÖRNEK:Şimdi yapacağımız örnekte önce PYTHON DA fonksiyon tanımlaması yapılacak sonra da o fonksiyonda PARAMETRE NİN işlevini VE DÖNEN DEĞER İ anlamış olacağız.
Soruya geçelim..
Klavyeden girilen 2 sayının çarpımını bulan fonksiyonun PYTHON kodunu yazınız.?
ÇÖZÜM:
PYTHONDAKİ KODLARIMIZ:
Ekran Görüntüsü:
Sayılar girelim ve programı deneyelim:
Modüller ayrı ayrı çalışır ve veriler parametreler aracılığı ile iletilir.
“Parametreler” bir modülden diğerine geçen yerel değişkenlerdir.
ÖRNEK: Üçgenin alanını hesaplayan programın PYTHON kodunu yazınız.
ÇÖZÜM:
def ucgenAlan(a,h): alan=(a*h)/2 return alan alansonucu=ucgenAlan(3,6) print(alansonucu)
Ekran Görüntüsü:
program çalıştırıldığında 3 ve 6 değeri için ekrana 9 sonucunu verir.
ÖRNEK:Şimdi yapacağımız örnekte önce PYTHON DA fonksiyon tanımlaması yapılacak sonra da o fonksiyonda PARAMETRE NİN işlevini VE DÖNEN DEĞER İ anlamış olacağız.
Soruya geçelim..
Klavyeden girilen 2 sayının çarpımını bulan fonksiyonun PYTHON kodunu yazınız.?
ÇÖZÜM:
PYTHONDAKİ KODLARIMIZ:
def carpanFonksiyon(sayi1, sayi2): carpmaSonucu = sayi1 * sayi2 return carpmaSonucu sayi1=int(input("sayı giriniz:")) sayi2=int(input("2.sayıyı girin:")) print(carpanFonksiyon(sayi1,sayi2))
Ekran Görüntüsü:
Sayılar girelim ve programı deneyelim:
Birinci sayıyı giriniz:10
İkinci sayıyı giriniz:5
Girdiğiniz sayıların çarpımı: 50
Örnek kodda satırlarda geçen ifadeleri soru-cevapla açıklamaya çalışalım:
sayi1 ve sayi2 nedir?
cvp: sayi1 ve sayi2 değişken adlarıdır. Bu ikisi aynı zamanda Fonksiyomuzun parametreleridir. Örneğimizde iki parametre vardır biri sayi1 diğeri sayi2 dir.
def nedir ?neden kullanıldı?
cvp: Pythonda kendi fonksiyonlarınızı tanımlamak için kullanılır.
carpanFonksiyon nedir?
cvp: Şuan kendi fonksiyonumuzu yazıyoruz.. istediğimiz ismi verebiliriz.Yani bu bizim fonksiyonumuzun adıdır.
cvp: Şuan kendi fonksiyonumuzu yazıyoruz.. istediğimiz ismi verebiliriz.Yani bu bizim fonksiyonumuzun adıdır.
print nedir?
cvp: Pythonda bilgisayar EKRANINDA ne yazmasını istiyorsak onu ekrana yazdırır.
raw_input veya input nedir?
Kullanıcıdan bilgi girişi yapmasını istediğimizde kullanırız.Bu örnekte kullanıcıdan 1. sayıyı ve 2. sayıyı girmesini istedik. o yüzden kullandık. raw_input ve input arasında faklılık vardır. Örnekler yaptıkça farklılığın ne olduğunu anlatacağız.
Kullanıcıdan bilgi girişi yapmasını istediğimizde kullanırız.Bu örnekte kullanıcıdan 1. sayıyı ve 2. sayıyı girmesini istedik. o yüzden kullandık. raw_input ve input arasında faklılık vardır. Örnekler yaptıkça farklılığın ne olduğunu anlatacağız.
PYTHON KODU YAZILDI.... ŞİMDİ KODU TEST ETME ZAMANI:
Birinci sayıyı giriniz:5
İkinci sayıyı giriniz:7
Girdiğiniz sayıların çarpımı: 35
şeklinde programımız çalışır.
şeklinde programımız çalışır.
BU ÖRNEKLE NE ÖĞRENDİM?
sayi1, sayi2 fonksiyonun parametresidir.
carpmaSonucu ise fonsiyonun sonucudur bu sonuca dönen değer de denir.
sayi1, sayi2 fonksiyonun parametresidir.
carpmaSonucu ise fonsiyonun sonucudur bu sonuca dönen değer de denir.
DÖNEN DEĞERLER
Bir fonksiyonu çağırıp belirli işlemleri gerçekleştirdiğimiz zaman
fonksiyon bize bir ya da daha fazla işlem sonucunu döndürür.
Dönen değer, fonksiyon sonucudur.
Bu işlem, fonksiyonu adı ile çağırarak gerçekleşir. İşlem sonucundaki
değer, geçici olarak ilgili değişkene atanır.
Fonksiyon, çalışmasını bitirdiğinde artık o isme atanmış bir değer bulunmaz çünkü bu
değer, çağıran modüle geri dönmüştür.
ÖRNEK 1:
def adiniziGirin(x): a=x+' Merhaba ' b= x+ ' Hello' c = x+ 'Selam' sonuc = a+b+c return sonuc; print(adiniziGirin('İhsan'))
İŞTE EKRAN SONUCU:
İhsan Merhaba İhsan HelloİhsanSelam şeklinde çıkar.
ÖRNEK 2:
def fonksiyonIhsan(a):
if a<0:
return 'Gireceğiniz sayı sıfırdan küçük olamaz'
else:
return a
ÖRNEK 3: İSTENİLEN ŞEKLİN HACMİNİ HESAPLAYAN PROGRAMIN PYTHON KODLARINI
YAZINIZ?(ŞEKİLLER Küp=kup,Diktörtgen Prizma=dikp, Küre=kure )
ÇÖZÜM:
def hacimhesapla() :
print("Girmek hesaplamak istediğiniz hacimin geometrik şeklini girin
\n" "örn: Küp=kup,Diktörtgen Prizma=dp, Küre=kure")
hesap = input("Hesaplamak istediğiniz geometrik şekli giriniz: ")
if hesap == "kup" :
a = int(input("bir kenar uzunluğunu girin: "))
hacim= (a**3)
return hacim
a = int(input("bir kenar uzunluğunu girin: "))
hacim= (a**3)
return hacim
elif hesap == "dikp":
a = int(input("a kenar uzunluğunu girin: "))
b = int(input("b kenar uzunluğunu girin: "))
c = int(input("c kenar uzunluğunu girin: "))
hacim = (a*b*c)
return hacim
a = int(input("a kenar uzunluğunu girin: "))
b = int(input("b kenar uzunluğunu girin: "))
c = int(input("c kenar uzunluğunu girin: "))
hacim = (a*b*c)
return hacim
elif hesap = = "kure" :
r = int(input("r yarıçapını girin: "))
hacim = ((4/3)*3.14x(r**3))
return hacim
r = int(input("r yarıçapını girin: "))
hacim = ((4/3)*3.14x(r**3))
return hacim
else:
print("Lütfen doğru geometrik şekil adı girin.")
print("Lütfen doğru geometrik şekil adı girin.")
print(hacimhesapla())
3 Yorumlar
KahramanıOlunanİnsan(Değişken)
YanıtlaSil2005(integer)
Kahraman(Amasonunudüşünenkahramanolamaz
KahramanıOlunanİnsan(Değişken)
YanıtlaSil1905(İnteger)
Kahraman(AmaSonunuDüşünenKahramanOlamaz)
KahramanıOlunanİnsan(Değişken)
YanıtlaSil1905(İnteger)
Lbısbnbo(AmaSonunuDüşünenKahramanOlamaz)