ELN1002 BİLGİSAYAR PROGRAMLAMA 2



Benzer belgeler
RASYONEL SAYILAR KESİR ÇEŞİTLERİ Basit Kesir. olduğuna göre, a, b tamsayı ve b 0 olmak üzere, a şeklindeki ifadelere

TEOG. Tam Sayılar ve Mutlak Değer ÇÖZÜM ÖRNEK ÇÖZÜM ÖRNEK TAMSAYILAR MUTLAK DEĞER

Mustafa YAĞCI, Parabolün Tepe Noktası

MUTLAK DEĞER. Sayı doğrusu üzerinde x sayısının sıfıra olan uzaklığına x in mutlak değeri denir ve x ile. gösterilir. x x. = a olarak tanımlanır.

SAYILARIN ÇÖZÜMLENMESĐ ve BASAMAK KAVRAMI

1. x 1 x. Çözüm : (x 1 x. (x 1 x )2 = 3 2 x 2 2x = 1 x + 1 x2 = 9. x x2 = 9 x2 + 1 x2. 2. x + 1 x = 8 ise x 1 x

Örnek...1 : a, b ve c birbirlerinden farklı birer rakamdır. a.b+9.b c en çok kaçtır?

MAK 1005 Bilgisayar Programlamaya Giriş. Diziler. Prof. Dr. Necmettin Kaya

ASAL SAYILAR. Asal Sayılar YILLAR MATEMATĐK ĐM

c) Bire bir fonksiyon: eğer fonksiyonun görüntü kümesindeki her elemanının tanım kümesinde yalnız bir karşılığı varsa bu fonksiyonlara denir.

İstatistik I Bazı Matematik Kavramlarının Gözden

LOGARİTMA Test -1. olduğuna göre, x kaçtır? olduğuna göre, x aşağıdakilerden hangisidir? A) 3 B) 9 C) 16 D) 64 E) 81.

ÜNİTE - 7 POLİNOMLAR

FONKSĐYONLAR MATEMATĐK ĐM. Fonksiyonlar YILLAR

İKİNCİ DERECEDEN DENKLEMLER

İÇİNDEKİLER. Ön Söz...2. Matris Cebiri...3. Elementer İşlemler Determinantlar Lineer Denklem Sistemleri Vektör Uzayları...

0;09 0; : işleminin sonucu kaçtır? A) ;36 0; a = 0,39 b = 9,9 c = 1,8 d = 3,7.

Üslü Sayılar MATEMATİK. 5.Hafta. Hedefler. Öğr.Gör. Esrin PALAS BOZKURT Öğr.Gör. Muhsin ÇELİK. Bu üniteyi çalıştıktan sonra;

VEKTÖRLER ÜNİTE 5. ÜNİTE 5. ÜNİTE 5. ÜNİTE 5. ÜNİT

ÇOKGENLER Çokgenler çokgen Dışbükey (Konveks) ve İçbükey (Konkav) Çokgenler dış- bükey (konveks) çokgen içbükey (konkav) çokgen

( ) ( ) ( ) Üslü Sayılar (32) 2. ( ) ( 2 (2) 3. ( ) ( ) 3 4. ( 4 9 ) eşitliğini sağlayan a değeri kaçtır? (0) 0,6 0,4 : 4,9 =?

SAYILAR DERS NOTLARI Bölüm 2 / 3

RASYONEL SAYILAR. ÖRNEK: a<0<b<c koşulunu sağlayan a, b, c reel sayıları. tan ımsız. belirsiz. basit kesir

YILLAR ÖSS-YGS

Kesir Örnek Çözüm. 1. Yandaki şekilde bir TEST Taralı alanı gösteren. bütün 8 eş parçaya bölünmüş ve bu parçalardan 3 tanesi

BÖLÜM 5. MATRİS ve DETERMİNANTLAR 5.1. MATRİSLER. Taşkın, Çetin, Abdullayeva. reel sayılardan oluşan. olmak üzere tüm a.

TYT / MATEMATİK Deneme - 2

LYS LİMİT VE SÜREKLİLİK KONU ÖZETLİ ÇÖZÜMLÜ SORU BANKASI

İntegral Uygulamaları

DENEY 3: EŞDEĞER DİRENÇ, VOLTAJ VE AKIM ÖLÇÜMÜ

MATEMATİK TESTİ. 5. a, b birer gerçek sayı ve a + b < 3tür. Bu sayıların sayı doğrusunda gösterilişi aşağıdakilerden hangisindeki gibi olabilir?

İÇİNDEKİLER SAYISAL YETENEK SÖZEL YETENEK

İlişkisel Veri Modeli. İlişkisel Cebir İşlemleri

SAYILAR TEMEL KAVRAMLAR

Seyyar (Gezgin) Satıcı Problemi. Ders 13

FRENLER FRENLERİN SINIFLANDIRILMASI

B - GERĐLĐM TRAFOLARI:

LOGARİTMA. Örnek: çizelim. Çözüm: f (x) a biçiminde tanımlanan fonksiyona üstel. aşağıda verilmiştir.

Komisyon DGS TAMAMI ÇÖZÜMLÜ 10 DENEME SINAVI ISBN Kitapta yer alan bölümlerin tüm sorumluluğu yazarına aittir.

sayısından en az kaç çıkarmalıyız ki kalan sayı 6,9,12 ve 15 ile kalansız bölünebilsin? ()

YILLAR ÖSS-YGS /LYS /1 0/1 ÇÖZÜM: 1) xοy A ise ο işlemi A da kapalıdır.

SAYISAL ANALİZ. Matris ve Determinant

DENKLEM ÇÖZME DENKLEM ÇÖZME. Birinci dereceden İki bilinmeyenli. 2x 2 + 5x + 2 = 0. 3x x = 0. 5x + 3 = 0. x + 17 = 24.

THÉVENİN, NORTON, MAKSİMUM GÜÇ TEOREMİ ve DEVRE PARAMETRELERİ

9. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

Algoritma Geliştirme ve Veri Yapıları 4 Algoritma ve Yazılımın Şekilsel Gösterimi. Mustafa Kemal Üniversitesi

2005 ÖSS BASIN KOPYASI SAYISAL BÖLÜM BU BÖLÜMDE CEVAPLAYACAĞINIZ TOPLAM SORU SAYISI 90 DIR. Matematiksel İlişkilerden Yararlanma Gücü,

POLİNOMLARIN ÇARPANLARA AYRILMASI

b göz önünde tutularak, a,

MUTLAK DEĞER. a ε R olmak üzere; Mutlak Değer MATEMATĐK ĐM YILLAR ) GENEL ÖRNEKLER.

DERS 4. Determinantlar, Leontief Girdi - Çıktı Analizi

Cebir Notları Mustafa YAĞCI, Eşitsizlikler

Cebirsel ifadeler ve Özdeslik Föyü

Devirli Ondalık Sayıyı Rasyonel Sayıya Çevirme:

1. Değişkenler ve Eğriler: Matematiksel Hatırlatma

c

2011 RASYONEL SAYILAR

DENEY 6. İki Kapılı Devreler

Bu ürünün bütün hakları. ÇÖZÜM DERGİSİ YAYINCILIK SAN. TİC. LTD. ŞTİ. ne aittir. Tamamının ya da bir kısmının ürünü yayımlayan şirketin

SAYI ÖRÜNTÜLERİ VE CEBİRSEL İFADELER


İKİ DEĞİŞKENLİ ARİTMETİK FONKSİYONLAR. Funda ÇETİN YÜKSEK LİSANS TEZİ MATEMATİK GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ HAZİRAN 2007 ANKARA

Üslü İfadelerde İşlemler (Temel Kurallar) - Çalışma Kağıdı Ortaokul Matematik Kafası $ = k) 81 $ 243 = Kerim Hoca. p) 125 $ 625 = w) 3

BOYUT ANALİZİ- (DIMENSIONAL ANALYSIS)

İKİNCİ BÖLÜM REEL SAYI DİZİLERİ

Yarım Toplayıcı (Half Adder): İki adet birer bitlik sayıyı toplayan bir devredir. a: Birinci Sayı a b c s. a b. s c.

İntegralin Uygulamaları

Velilere Yönelik Soru Formu

DENEY 2 Wheatstone Köprüsü

1 a) TEVENİN (THEVENIN) TEOREMİNİN DENEYSEL OLARAK DOĞRULANMASI. Amaç: Tevenin teoremini doğrulamak ve yük direnci üzerinden akan akımı bulmak.

çizilen doğru boyunca birim vektörü göstermektedir. q kaynak yükünün konum vektörü r ve Q deneme E( r) = 1 q

DENKLEM ve EŞİTSİZLİKLER

TYT / MATEMATİK Deneme - 6

Terimler: Sabit Terim: Katsayılar: ÖR: 3x 2-4x cebirsel ifadesine göre aşağıdaki. Terimler: Sabit Terim: Katsayılar: Terimler: Sabit Terim:

ORTĐK ÜÇGEN ve EŞ ÖZELLĐKLĐ NOKTALAR

SAYI KÜMELERİ. Örnek...1 :

ÖZEL EGE LİSESİ EGE BÖLGESİ OKULLAR ARASI 17. MATEMATİK YARIŞMASI 11. SINIF TEST SORULARI

BİREYSEL YARIŞMA SORULARI. IV. BAHATTİN TATIŞ MATEMATİK YARIŞMASI Bu test 30 sorudan oluşmaktadır. 2 D) a = olduğuna göre, a

Ünite Planı Şablonu. Öğretmenin. Fatma BAĞATARHAN Yunus Emre Anadolu Lisesi. Ġnönü Mahallesi. Bingöl. Adı, Soyadı. Okulunun Adı

BÖLÜM 3 : RASLANTI DEĞİŞKENLERİ

KIVIRMA İŞLEMİNİN ŞEKİL ve BOYUTLARI

DRC. 4. Sekiz basamaklı herhangi bir özel sayı x = abcdefgh olsun. Deneme - 2 / Mat. c m. m m. y Cevap A. Cevap D 21, 25, = = =. 21.

ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ

Cevap D. 6. x = 3, y = 7, z = 9 olduğundan x + y < y ve. Cevap C. 7. x ile y aralarında asal olduğundan x 2 ile y sayıları da. Cevap A.

Yerel Topluluklar ve Yönetimler Arasında Sınır-Ötesi Đşbirliği Avrupa Çerçeve Sözleşmesine Ek Protokol

Kapalılık (closure) Birleşme özelliği (associative law) Yer değiştirme özelliği (commutative law) Ters (inverse) Dağılım özelliği (distributive law)

ALGORİTMA İ VE PROGRAMLAMA

1.Hafta. Statik ve temel prensipler. Kuvvet. Moment. Statik-Mukavemet MEKANİK

DRC üst taban, 6 alt taban olmak üzere 12 mavi kare vardır. 4. Sekiz basamaklı herhangi bir özel sayı x = abcdefgh olsun. Deneme - 2 / Mat.

MATEMATİK 1 TESTİ (Mat 1)

Harita Dik Koordinat Sistemi

(THE REARRANGEMENT INEQUALITY ) DERS NOTLARI

İÇİNDEKİLER ORAN VE ORANTI KESİR PROBLEMLERİ HAVUZ VE İŞ PROBLEMLERİ

II. DERECEDEN DENKLEMLER

SAYISAL ÇÖZÜMLEME. Sayısal Çözümleme

ORAN ve ORANTI-1 ORAN-ORANTI KAVRAMI. 1. = olduğuna göre, aşağıdaki ifadelerin. + c c sisteminin çözümüne. 3. olduğuna göre, nin değeri

MATRİSLER. r r r A = v v v 3. BÖLÜM. a a L a. v r. a = M a. Matris L L L L. elemanları a ( i = 1,2,..., m ; j = 1,2,... n) cinsinden kısaca A = [ ]

DENKLEM ve EŞİTSİZLİKLER ÜNİTE 2. ÜNİTE 2. ÜNİTE 2. ÜNİTE 2. ÜNİT

ORAN ORANTI ORAN ORANTI ORANTININ ÖZELLİKLERİ ÖRNEK - 1 TANIM. x ve y tamsayıdır. x y

KONU ANLATIM FÖYÜ MATEMATİĞİN ALTIN ORANI MATEMATİK

Transkript:

ELN00 BİLGİSAYAR PROGRAMLAMA YİNELEME (RECURSION) Sunu Plnı Yinelemenin nlmı Yinelemeli fonksiyon tnımınd temel ve genel durum Bsit değişken tipleriyle yinelemeli fonksiyon oluşturm Dizi prmetreleriyle yinelemeli fonksiyon oluşturm Yinelemenin nsıl çlıştığının nlşılmsı

Yinelemeli fonksiyon çğrısı Yinelemeli çğrı, çğrıln fonksiyonun çğırn fonksiyonl ynı olduğu ir fonksiyon çğrısıdır. Diğer ir deyişle, fonksiyon kendi kendini çğırdığı zmn, yinelemeli çğrı oluşur. Burd kçınılmsı gereken, sonsuz döngüye girilmemesidir. Yinelemeli çözüme ulşmk Bir prolemin yinelemeli çözümü dikktli ir şekilde oluşturulmlıdır. Olmsı gereken, her yineleme dımının izi proleminin sit çözümüne ir dım dh yklştırmsıdır. Prolemin sit çözümüne temel durum dı verilmektedir. Her yineleme lgoritmsı en zındn ir temel durum ve ir genel(yineleme) durum içermelidir.

Yinelemeli Fonksiyonlr için genel ypı if (sit çözüm kullnılildiği durum geçerliyse) değilse sit çözümü uygul fonksiyonu yinele Genel durum Temel durum den n e kdr oln tmsyılrın toplnmsı için yinelemeli fonksiyon Prolem: toplm(4) fonksiyonun ypıln çğrının döndüreceği değer 0 olmlıdır. ++3+4 = 0 Prolemin sit çözümü, den kdr oln tmsyılrın toplmının olmsıdır. Böylece temel durumu şu şekilde çıkriliriz: if (n == ) return ; 3

den n e kdr oln tmsyılrın toplnmsı için yinelemeli fonksiyon Genel durum için: den n e kdr oln syılrın toplmı şu şekilde yzılilir: n + (n-) + (n-) + + vey n + ((n-) e kdr oln tmsyılrın toplmı) yni n + ((n-) + (n-) + + ) vey toplm(n) = n + toplm(n-) Burd görülmesi gereken, toplm(n-) diyerek, sit çözüm oln toplm() çözümüne ir dım dh yklşmmızdır. den n e kdr oln tmsyılrın toplnmsı için yinelemeli fonksiyon int toplm(int n) //n i (n-) e kdr oln toplm ekleyerek // den n e kdr oln syılrın toplmını ulur. //Önkoşul n e ir syı tnmış olmlı ve n>0 //Dönüş değeri: den n e kdr oln toplm if ( n == ) //temel durum return ; else return (n + toplm(n-)); //genel durum } 4

toplm(4) çğrı sırlmlrı return 4 + toplm(3) 4+6 = 0 Çğrı : toplm(4) n 4 return 3 + toplm() 3+3 = 6 Çğrı : toplm(3) n 3 return + toplm() + = 3 Çğrı 3: toplm() n n == return Çğrı 4: Toplm() n n fktöriyel hesı için yinelemeli fonksiyon Prolem: fkt(4) fonksiyon çğrısı 4 değerine ship olmlıdır, 4*3** = 4 Cevın ilindiği en sit çözüm, 0! = çözümüdür. Bu durumd temel durumumuz: if (syi == 0) return ; şeklinde oluşur.

n fktöriyel hesı için yinelemeli fonksiyon Genel durum: n. Syının fktöriyeli n*(n den önceki syılr) şeklinde yzılilir. n * (n-) * (n-) * (n-3) * * n * fkt(n-) Burd dikkt edilmesi gereken, her yineleme dımının izi fkt(0) temel durumun ir dım yklştırdığıdır. Yinelemeli Çözüm int fkt(int syi) //Önkoşul: syi değişkenine değer tnmış olmlı ve syi > 0 } if (syi == 0) else return ; return syi*fkt(syi -); 6

Diğer doğl olrk yinelemeli örnekler 0 = ve = * 4 Genel olrk x 0 = ve x n = x*x n- x tmsyısı için ve n > 0 Burd x n, x n- cinsinden yinelemeli olrk tnımlnilir. Üslü syılr örneği int Power(int x, int n) //Önkoşul: n >= 0, x ve n ynı nd 0 olmz. if ( n==0) //temel durum return ; else return ( x*power( x, n-)); //genel durum * Fonksiyon gövdesinde döngü kurmkt çözüm için diğer ir yoldur. 7

Dh geniş ir tnım -3 değeri nedir -3 = / 3 = / 8 Genel olrk x n = / x -n x n i, n < 0 durumund x -n cinsinden yinelemeli olrk tnımlyiliriz. power fonksiyonunun yinelemeli tnımı flot power(flot x, int n) //önkoşul: x!= 0 ve n tnmış olmsı } if (n == 0) return ; else if (n>0) return (x * power(x, n-)); else return (.0 / power(x, -n)); 8

Bzı durumlrd temel durum hiçir şey ypmmktır void yildizlri_yzdir(int n) //tek ir stırd n det yıldız yzdırır. //önkoşul: n tnmış olmlıdır. } if (n <= 0) //hiçirşey ypm else printf( * ); yildizlri_yzdir(n-); } if ( n > 0) printf( * ); yildizlri_yzdir(n-); } void yinelemeli fonksiyon yildizlri_yzdir(3) Çğrı : y_y(3) * yzdırıldi n 3 Çğrı : y_y() * yzdırıldi n Çğrı 3: y_y() * yzdırıldi n Çğrı 4: n y_(0) 0 hiçir şey ypm 9

Yinelemeli ir fonksiyon int ul(int, int ) //önkoşul: tnmış olmlı ve > 0 && tnmış olmlı ve >= 0 //Sonuç = if (<) //temel durum return 0; else return ( + ul(-, )); //genel durum } ul(0,4) return + ul(6,4) + = Çğrı : ul(0,4) 0 4 return + ul(,4) +0 = Çğrı : ul(6,4) 6 4 < return 0 Çğrı 3: toplm(,4) 4 0

Dizi elemnlrını ters sırd yzdırmk için yinelemeli fonksiyon Prolem Bu mçl şğıdki prototip kullnılcktır: void ters_yzdir(const int dizi[], int ilk, int son); 80FF4 3 4 9 Çğrı: ters_yzdir(dizi, 0, 3) fonksiyonunun üreteceği sonuç: 9 4 3 Temel Durum ve Genel Durum Temel durum, dh küçük elemnlı diziler cinsinden olilir. 0 elemnlı ir diziyle ypılilecek hiçir şey yoktur. Arycğımız genel çözüm, izi temel durum dım dım yklştırmlıdır. Yni, her yinelemeli çğrıd, işlenecek dizinin uzunluğu ir düşürülmelidir. Genel durumd ir elemn işlemek, ve en küçük diziye doğru ilerlemek, nihi olrk izi 0 elemnlı diziye ulştırcktır. Genel durumd, ilk elemnı d yzdıriliriz, dizi[ilk], vey son elemnı d yzdıriliriz, dizi[son]. Dizi[son] u yzdırck olursk; dizi[son] u yzdırdıktn sonr, hl ters dizilimle yzdırılck elemnlrımız olur.

Dizilerde yineleme kullnımı int ters_yzdir(const int dizi[], int ilk, int son) //dizi elemnlrını ters sırd yzdırır. //Önkoşul: ilk ve son tnmış olmlı, ilk < son if (ilk <= son) //genel durum printf( %d, dizi[son]); ters_yzdir(dizi,ilk,son-); } } //temel durum -- oş ters_yzdir(dizi,0,) Çğrı : ters_yzdir(dizi,0,) dizi[] yzildi ilk son Çğrı : ters_yzdir(dizi,0,) 0 ilk son 0 dizi[] yzildi Çğrı 3: ters_yzdir(dizi,0,0) dizi[0] yzildi ilk son Çğrı 4: ters_yzdir(dizi,0,-) hiçir şey ypm 0 0 ilk son 0 -

Yineleme & tekrrlm Şimdiye kdr yptığımız örneklerde, tekrrlm (itertion) yerine yineleme (recursion) kullnıldı. Tekrrlmlı çözümler döngüleri kullnırken, yinelemeli çözümler if ifdesini kullnmktdır. Bzı prolemler çısındn, yinelemeli çözümler çok dh doğl ir yol oluşturmktdır. Bu yöntem ilerleyen zmnd göreceğimiz gii, çoğunlukl ypılndırılmış (structured) değişkenleri kullnırken krşımız çıkck oln çözüm yöntemi olcktır. Bir fonksiyon çğrıldığınd Çğırn loktn çğrıln loğun ilk stırın doğru ir kontrol trnsferi gerçekleştirilir. Fonksiyon loğu çlıştırıldıktn sonr, çğırn lokt doğru yere ir geri dönüş gerçekleştirilmelidir. Bu doğru nokty geri dönüş(return) dresi dı verilmektedir. Bir fonksiyon çğrıldığınd, çlışm zmnı yığını(run-time stck) kullnılır. Bu yığının sonun fonksiyon çğrısıyl ilgili ir fliyet kydı yerleştirilir. 3

Yığın(Stck) fliyet pencereleri Fliyet kydı, u fonksiyon çğrısı için fonksiyonun dönüş dresini, değişken listesini, lokl değişkenlerini, ve dönüş değerini tutmk için gerekli yeri içerir. Fonksiyonun son kpnn küme prntezine erişildiğinde vey fonksiyon kodund return ifdesine erişildiğinde, o fonksiyon çğrısı için oluşturuln fliyet kydı yığındn geri lınır(popped off). Bu işlemden sonr, eğer void değilse, fonksiyonun dönüş değeri, çğırn loktki geri dönüş dresine yerleştirilir. Yinelemeli Fonksiyon int fonk(int, int ) //Önkoşul: ve tnmış olmlı //Sonuç: geri dönüş değeri int ; if ( == 0) //temel durum = 0; else if (>0) //ilk genel durum = + fonk(, -); //komut 0 else //. genel durum = fonk(-, -); //komut 70 return } 4

Yığın Fliyet Kyıtlrı x = fonk(,); //komut 00 deki orijinl çğrı 00 Komut 00 e ypıln çğrı fonk(,) için u kydı yığın yerleştirir. Yığın Fliyet Kyıtlrı x = fonk(,) ; //komut 00 deki orijinl çğrı 0 + fonk(,) 00 Komut 0 de ypıln çğrı fonk(,) için u kydı yığın yerleştirir. fonk(,) için kyıt

Yığın Fliyet Kyıtlrı x = fonk(,) ; 0 + fonk(,0) 0 + fonk(,) 00 //komut 00 deki orijinl çğrı Komut 0 de ypıln çğrı fonk(,0) için u kydı yığın yerleştirir. fonk(,) için kyıt fonk(,) için kyıt Yığın Fliyet Kyıtlrı x = fonk(,) //komut 00 deki orijinl çğrı 0 0 0 + fonk(,0) 0 + fonk(,) 00 fonk(,0) için kyıt değeriyle yığındn lınır fonk(,) için kyıt fonk(,) için kyıt 6

Yığın Fliyet Kyıtlrı x = fonk(,); //komut 00 deki orijinl çğrı + fonk(,0) = + 0 0 + fonk(,) 00 fonk(,) için kyıt değeriyle yığındn lınır Komut 00 e ypıln çğrı fonk(,) için u kydı yığın yerleştirir. Yığın Fliyet Kyıtlrı x = fonk(,); //komut 00 deki orijinl çğrı 0 + fonk(,) = + 00 fonk(,) için kyıt değeriyle yığındn lınır 7

Ödev 8 Vezir Prolemi Sekiz tne vezir strnç thtsı üzerine, iririni göremeyecek şekilde yerleştirilmelidir. Aynı stır, ynı sütun ve ynı diygonl üzerinde iki vezir krşı krşıy gelmeyecektir. Yerleşim, stır sütun numrlrı üzerinden gerçekleştirilecektir. Prolemin hem tekrrlmlı hem de yinelemeli çözümünü ulunuz. 8