4-MANTIKSAL YAPILAR-MODÜLLER İŞLEVLERİ-BAĞLILIK VE BİRLEŞİM-YEREL VE GLOBAL DEĞİŞKENLER-


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.
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.

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:
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.
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.



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.


BU ÖRNEKLE NE ÖĞRENDİM?

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

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

elif hesap = = "kure" :
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(hacimhesapla())





Yorum Gönder

3 Yorumlar

  1. KahramanıOlunanİnsan(Değişken)
    2005(integer)
    Kahraman(Amasonunudüşünenkahramanolamaz

    YanıtlaSil
  2. KahramanıOlunanİnsan(Değişken)
    1905(İnteger)
    Kahraman(AmaSonunuDüşünenKahramanOlamaz)

    YanıtlaSil
  3. KahramanıOlunanİnsan(Değişken)
    1905(İnteger)
    Lbısbnbo(AmaSonunuDüşünenKahramanOlamaz)

    YanıtlaSil