1 / 16

Dersin Adı :ALGORİTMA GELİŞTİME TEKNİKLERİ Dersin Kodu :YBS506

5.HAFTA. Dersin Adı :ALGORİTMA GELİŞTİME TEKNİKLERİ Dersin Kodu :YBS506. Konu:Fonksiyonlar. Giriş. Programlamada en önemli esaslardan biri “böl ve fethet” anlayışıdır. Her bir parçanın yönetilmesi programın tümünü yönetmekten daha kolaydır. Önceden tanımlı fonksiyonlar.

gladys
Download Presentation

Dersin Adı :ALGORİTMA GELİŞTİME TEKNİKLERİ Dersin Kodu :YBS506

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 5.HAFTA Dersin Adı :ALGORİTMA GELİŞTİME TEKNİKLERİDersin Kodu :YBS506 Konu:Fonksiyonlar E-mail:speldek@bartin.edu.tr

  2. Giriş Programlamada en önemli esaslardan biri “böl ve fethet” anlayışıdır. Her bir parçanın yönetilmesi programın tümünü yönetmekten daha kolaydır.

  3. Önceden tanımlı fonksiyonlar C++ dili önceden tanımlı fonksiyonlardan oluşur. Haddi zatında bizim kullandığımız çoğu özellik birer fonksiyondurlar. Fonksiyonlar çağırılarak kullanırlar. Fonksiyon çağırmaları parametreli veya parametresiz olabilir.

  4. Önceden tanımlı fonksiyonlar MathKütübane Fonksiyonları Programın ortak matematik fonksiyonları kullanmasına imkan sağlar <cmath> kütüphanesinin içerisinde tutulur. Örnek: cout<<sqrt(900.0); yukarıdaki ifade sonuç olarak 30 verecektir. sqrt parametre olarak double bir değer alır ve double bir değere döner.

  5. Fonksiyonlar • Fonksiyon parametreleri aşağıdaki gibi olabilir • Sabit sqrt( 4 ); • Değişken sqrt( x ); • İfade sqrt( sqrt( x ) ) ; sqrt( 3 - 6x );

  6. Fonksiyonlar Fonksiyonlar Programcıya programı modüle etme imkanı verir. Yerel Değişkenler Sadece fonksiyon içerisinde bilinen değişkenler Fonksiyonun içerisinde tanımlanan tüm değişkenler yerel değişkenlerdir Parametreler Fonksiyonlar parametre alabilir ve bu parametrelerle işlem yapabilir.

  7. Fonksiyonlar Fonksiyonun işleyişi Veriyi alır İşlem yapar Sonucu döner Fonksiyon tanımlamanın formatı dönüş-değerfoksiyonİsmi(parametre listesi) { tanımlar ve yapılacaklar…. } Örnek: int karesi(int a) { return a*a; }

  8. Örnek: Karesini bulan fonksiyon Fonksiyonun dönüş değeri Fonksiyonun ismi Fonksiyona gönderilecek değişken tipi • #include"stdafx.h" • #include<iostream> • usingnamespacestd; • int karesi(int); • int _tmain(intargc, _TCHAR* argv[]) • { • int a=4; • cout<<"Karesi : "<<karesi(a)<<endl; • cout<<"Karesi : "<<karesi(5)<<endl; • getchar(); getchar(); • return 0; • } • int karesi(int x) • { • return x*x; • } Fonksiyonun prototipini main’in üstünde tanımlıyoruz Fonksiyonumuza değişken vererek çağırıyoruz Fonksiyonumuzu sabit vererek çağırıyoruz Fonksiyonumuz Karesi : 16 Karesi : 25

  9. Örnek: Kullanıcıdan değer alma, değerin karesini bulma ve ekrana yazdırma işlemlerini fonksiyonlarla yapan program. • #include<cstdlib> • #include<iostream> • usingnamespacestd; • int al(); • int karesi (int); • voidyazdir(int ); • intmain(intargc, char *argv[]) • {int x, xkare; • x=al(); • xkare=karesi(x); • yazdir(xkare); • system("PAUSE"); • return EXIT_SUCCESS; • } • int al() • {intsayi; • cout<<"Karesi AlinacakSayi : "; • cin>>sayi; • returnsayi; • } • int karesi(int a) • { • return a*a; • } • voidyazdir(intakare) • { • cout<<"\nGirilensayinin karesi"<<akare; • } Fonksiyonlarımızın prototipleri al() fonksiyonunu çağırıyoruz karesi() fonksiyonunu çağırıyoruz yazdir() fonksiyonunu çağırıyoruz

  10. Örnek: Girilen üç tane değerin en büyüğünü bulan program. Fonksiyonlarımızın prototipleri • usingnamespacestd; • intmax(int, int, int); • void al(); • intmain(intargc, char *argv[]) • { • al(); • system("PAUSE"); • return EXIT_SUCCESS; • } • intmax(int a, int b, int c) • { • intenbuyuk; • enbuyuk=a; • if(b>enbuyuk) • enbuyuk=b; • if(c>enbuyuk) • enbuyuk=c; • returnenbuyuk; • } • void al() • { • int x, y,z; • cout<<"degerler : "; • cin>>x>>y>>z; • cout<<"En buyuk : "<<max(x,y,z)<<endl; • } al() fonksiyonu ile kullanıcıdan değerleri alıyoruz Buraya Dikkat!!! al() fonksiyonu içerisinde max() fonksiyonunu çağırıyoruz

  11. Örnek:İstenilen sayının küpünü fonksiyon ile bulan program • usingnamespacestd; • int kup(int); • intmain(intargc, char *argv[]) • { • intdeger; • for(;;) • { • cout<<"\ndeger : "; • cin>>deger; • cout<<"kup : "<<kup(deger); • } • system("PAUSE"); • return EXIT_SUCCESS; • } • int kup (int a) • { • return a*a*a; • }

  12. Örnek: Faktöriyeli fonksiyon ile bulan program • #include<cstdlib> • #include<iostream> • usingnamespacestd; • intfaktoriyel(int); • intmain(intargc, char *argv[]) • { • for(int i=1;i<=10;i++) • { • cout<<i<<"!="<<faktoriyel(i)<<endl; • } • system("PAUSE"); • return EXIT_SUCCESS; • } • intfaktoriyel(int a) • {int f=1; • for(int j=1;j<=a;j++) • f*=j; • return f; • } for döngüsü içerisindeki her “i” değeri için faktoriyel() fonksiyonu çağrılıyor.

  13. Fonksiyonların Prototipi Örneklerde de gördüğümüz gibi fonksiyonların prototipleri dönüş değeri fonksiyonu ismi ve fonksiyonla gönderilecek değerleri içeriyor(intkaresi(int)). Eğer fonksiyon her hangi bir değer göndermiyorsa içine her hangi bir değer yazmaya gerekyok(int al()). Eğer fonksiyon her hangi bir değişken tipine dönmüyorsa dönüş tipine voidyazılmaldır(voidyazdir(int))

  14. intmax(int, int, int); Fonksiyonun sadece bir tane dönüş değeri olabilir. Bir fonksiyon birden fazla değer alabilir. Fonksiyonun dönüş tipi int Fonksiyonun int tipinde üç tane değer alıyor.

  15. C++ Matematik Fonksiyonları Bazı matematik fonksiyonlar

  16. C++ Matematik Fonksiyonları Bazı matematik fonksiyonlar

More Related