Bilgisayar Bilimi Fonksiyonlar-2.

Slides:



Advertisements
Benzer bir sunumlar
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Advertisements

Yinelemeli Algoritma Analizi & Asimptotik Notasyon
Bilgisayar Programlama Güz 2011
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
DÖNGÜLER For While Do While.
switch - case Yapısı Döngü Yapıları
Visual Basic 6.0 Ders Notları
Değişken Bildirimleri
Bölüm 4 – Kontrol İfadeleri:1.kısım
Bölüm 2: Program Denetimi
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
Özyinelemeli(Recursive) Algoritma Tasarımı
Karar ifadeleri ve Döngüler
PROSEDÜRLER (YORDAMLAR) (FONKSİYONLAR VE ALT PROGRAMLAR)
Recursion (Özyineleme)
Bölüm 3 – Yapısal Programlama
Yapısal Program Geliştirme – if, if-else
Erişim Denetimi, Fonksiyon
Fonksiyonlar.
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
Operatörler ve Denetim Yapıları
BPR152 ALGORİTMA VE PROGRAMLAMA - II
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
Özyineleme(Recursion)
Recursion (Özyineleme)
Çoklu dallanma seçimi: switch
BM-103 Programlamaya Giriş Güz 2014 (7. Sunu)
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
JAVA’DA DÖNGÜLER.
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
PROGRAM DENETİM DEYİMLERİ
4. KONTROL VE DÖNGÜ KOMUTLARI
BM-103 Programlamaya Giriş Güz 2014 (9. Sunu)
Python Aslı Ergün.
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
Göğüşhan KILIÇ twitter.com/gogushan_kilic PHP’ye Giriş OLMAYA HAZIR MIYIZ?
Akış Kontrolü ve Döngüler
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
BMS-301 Kabuk Programlama Güz 2015 (6. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Algoritmalar ve Programlama I Ders 10: ALTPROGRAM KAVRAMI ve FONKSİYON
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
3. HAFTA 3. Hafta.
4. Hafta1 4. HAFTA. 4. Hafta2 Fonksiyonlar  Büyük problemler, küçük parçalara bölünerek kolay çözülür  Yazılımlar benzer modüller içerirler  Hata ayıklama.
Fonksiyonlar.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
BİLGİSAYAR programlama II
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
1 Değişken alanları Geçici değişkenler Birleşik ifadeler(bloklar) ve değişkenler Değişken Depolama Süresi ve Alanı –Local ve global değişkenler –Static.
Hafta2 Rekürsif Algoritmalar
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PHP'de Program Denetimi
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
BİLGİSAYAR PROGRAMLAMA Ders 8: Fonksiyonlar
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Excel’de VBA Programlama (Visual Basic Application)
Problem Çözme Yaklaşımları
PINAR KARTALO Ğ LU.  Belirli sayıda i ş lemlerin tekrarlanması için kullanılan döngülerdir. for döngüleri ba ş langıç ve biti ş de ğ erleri arasında.
YAPISAL PROGRAMLAMA Hafta-6
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bölüm 6: Kullanıcı Tanımlı Fonksiyonlar I
Bilgisayar Bilimi Fonksiyon Yazma.
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Döngüler.
Bilgisayar Bilimi Fonksiyonlar-1.
Bilgisayar Bilimi Problem Çözme Süreci-3.
MTM216 GÖRSEL PROGRAMLAMA
Sunum transkripti:

Bilgisayar Bilimi Fonksiyonlar-2

1. Global Değişkenler Fonksiyonların içerisinde tanımlanan değişkenler yerel değişkenlerdir. Bu değişkenlerin bazı özellikleri vardır: Bu değişkenler, hafızada aktif kullanıldıkları sürece yani sadece fonksiyon çalışırken korunur. Fonksiyondan çıkıldığında bu değişkenler de program tarafından unutulur ve hafızada ayrılan yerde başka değişkenler tarafından kullanılır. Aynı değişken adı çakışma olmaksızın farklı fonksiyonlarda kullanılabilir. Bir fonksiyon sonlanmadan diğeri çalışmaya başlayamayacağı için aynı değişken kullanılması sorun yaratmaz. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

1. Global Değişkenler Yerel değişkenler geçicidir; fonksiyonlar çağırıldığında kaybolur. Bazen bu çalışma sürecinden bağımsız bir değişkene ihtiyaç duyulur. Global değişken: Ne zaman hangi fonksiyon çağırılırsa çağırılsın, program tarafından tanınan ve hafızada sürekli yeri olan bir değişken. Bir değişken, bir nesneye atandığı zaman tanımlanır. Bir fonksiyona atanan değişken o fonksiyon için yereldir. Ancak global olarak tanımlanır ise programın tümü tarafından tanınır ve kullanılır. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

2.1. Varsayılan (Default) Parametreler Parametreli fonksiyonlar çağırılırken bir değer gönderilmesi gerekir. Bazı durumlarda bu değer gönderilmeden de fonksiyon çalıştırılmak istenirse, fonksiyonun tanımlama aşamasında gönderilmesi istenen parametreye varsayılan olarak bir değer verilmesi gerekir. Örneğin a=input() ya da a=input(“Adınızı giriniz”) def gerisayim(n=5): for sayac in range(n, -1, -1): print(sayac) gerisayim() print() gerisayim(8) Ekran Çıktısı 5 4 3 2 1 8 7 6 Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

2.2. Varsayılan ve Diğer Parametreler def AralikTopla(n, m=100): # Tek değer varsayılan atama toplam = 0 for deger in range(n, m + 1): toplam += deger Yukarıdaki AralikTopla() fonksiyonunun ikinci (m) parametresine değer girilmez ise varsayılan olarak 100 değeri alınır. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

2.2. Varsayılan ve Diğer Parametreler def AralikTopla(n=0, m=100): # İki değer varsayılan atama toplam = 0 for deger in range(n, m + 1): toplam += deger Yukarıdaki AralikTopla() fonksiyonunun birinci (n), ikinci (m) parametrelerine değer girilmez ise varsayılan olarak sırasıyla 0 ve 100 değerleri alınır. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

2.2. Varsayılan ve Diğer Parametreler def AralikTopla(n=0, m): # Tek değer varsayılan atama toplam = 0 for deger in range(n, m + 1): toplam += deger Yukarıdaki AralikTopla() fonksiyonunun birinci (n) parametresine değer girilmez ise varsayılan olarak 0 değeri alınır. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

2.3. Öz Yineleme Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme, böyle çalışan fonksiyonlara da özyinelemeli fonksiyonlar denilir. Özyinelemeli algoritmalarda, tekrarlar fonksiyonun kendi kendisini kopyalayarak çağırması ile elde edilir. Bu kopyalar işlerini bitirdikçe kaybolur. Bu yönteme en uygun örnek faktöriyel problemidir. #Özyineleme ile faktöriyel hesaplama def faktoriyel(n): #Gelen n değerinin faktöriyeli alır. if n == 0: return 1 else: return n * faktoriyel(n-1) def main(): # Fonksiyonumuza çeşitli değerler ile test edelim print(” 0! = “, faktoriyel(0)) print(” 1! = “, faktoriyel(1)) print(” 6! = “, faktoriyel(6)) print(“10! = “, faktoriyel(10)) main() Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

2.3. Öz Yineleme Sonuç Ekranı 0! = 1 1! = 1 6! = 720 10! = 3628800 0! = 1 1! = 1 6! = 720 10! = 3628800 Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

2.3. Öz Yineleme Öz yinelemeli fonksiyonlar kendilerini çağırarak işlem yapan fonksiyonlardır. Yukarıdaki örnekte parametre olarak gelen değerden başlayarak birer azaltıp kendini çağırma işlemi yapar. Bu çağırma işlemi, döngü parametre değeri, 0 olasıya kadar devam eder. 0 olduğunda kendini çağırma işlemi durur ve geriye doğru değerler çarpılarak sonuç bulunur. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

2.4. Öz Yineleme Olmadan Faktöriyel Hesaplama def faktoriyel(n): sonuc = 1 while n: sonuc *= n n -= 1 return sonuc def main(): print(” 0! = “, faktoriyel(0)) print(” 1! = “, faktoriyel(1)) print(” 6! = “, faktoriyel(6)) print(“10! = “, faktoriyel(10)) main() Sonuç Ekranı 0! = 1 1! = 1 6! = 720 10! = 3628800 Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

2.5. Fibonacci Sayıları Sonuç Ekranı def fibonacci(n): if n <= 0: return 0 elif n == 1: return 1 else: return fibonacci(n 2) + fibonacci(n 1) sira=int(input(“Görmek istediğiniz fibonacci sıra numarasını giriniz.:”)) print(fibonacci(sira)) Sonuç Ekranı Görmek istediğiniz fibonacci sıra numarasını giriniz.:22 17711 Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

2.5. Fibonacci Sayıları Fibonacci Sayıları: Her sayının kendisinden önce gelen iki sayının toplamı şeklinde yazılıp devam ettiği sayı dizisine Fibonacci Sayı Dizisi denir. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610,… Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

3. Fonksiyonları Tekrar Kullanılabilir Yapma Fonksiyonlar programlar içerisinde defalarca kullanılabilir. Aynı amaçlı fonksiyonların birden fazla program tarafından da kullanılması istenebilir. Bu durumda tanımlanan fonksiyon, amacına uygun çağrışım yapacak bir isim verildikten sonra kullanılmak istenen programlarda “from” komutu ile dosya adı yazılarak çağırılabilir. Kullanımı from <dosya adı> import <fonksiyon adı> Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

3. Fonksiyonları Tekrar Kullanılabilir Yapma Örnek # Asal sayının kontrol edildiği fonksiyon tanımlama from math import sqrt def AsalKontrol(n): # Fonksiyona gelen değer asal ise geriye True, değilse False döner. bolen= 2 kok = sqrt(n) while bolen <= kok: if n % bolen == 0: # Kalan kontrolü yapılıyor return False # Tam bölünme işlemi gerçekleşti. Asal Değil bolen += 1 # Bir sonraki bölen değerine geçiliyor. return True # Tüm değer kontrollerinden sonra kalanlı bölme gerçekleşmediğinde, True değeri dönüyor. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019

3. Fonksiyonları Tekrar Kullanılabilir Yapma Yukarıda yazılan kodlar, gönderilen sayının asal olup olmadığını kontrol eder. Gelen sayı asal ise geriye True, değilse False gönder. Kodlar yazıldıktan sonra dosya Kontrol.py adı ile kaydedilmelidir. Aşağıdaki kod, kendisi ile aynı dizinde bulunan Kontrol.py dosyasında bulunan AsalKontrol fonksiyonunu kullanıyor. from Kontrol import AsalKontrol # Kontrol dosyasındaki AsalKontrol fonksiyonu programa ekleniyor sayi = int(input(“Bir sayı giriniz.: “)) if AsalKontrol(sayi): print(sayi, “ASAL”) else: print(sayi, “ASAL değil”) Diğer bir yol ise şu şekildedir: import Kontrol if Kontrol.AsalKontrol(sayi): print(num, “sayısı ASAL sayıdır.”) print(num, “sayı ASAL değildir.”) Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni 06.04.2019