Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

1 Yapılandırılmamış programlama Prosedür/Fonksiyon gerekliliği Prosedural Programlama Fonksiyon Tanımlama/Prototip/Çağırma Örnek fonksiyonlar Fonksiyon.

Benzer bir sunumlar


... konulu sunumlar: "1 Yapılandırılmamış programlama Prosedür/Fonksiyon gerekliliği Prosedural Programlama Fonksiyon Tanımlama/Prototip/Çağırma Örnek fonksiyonlar Fonksiyon."— Sunum transkripti:

1 1 Yapılandırılmamış programlama Prosedür/Fonksiyon gerekliliği Prosedural Programlama Fonksiyon Tanımlama/Prototip/Çağırma Örnek fonksiyonlar Fonksiyon Parametreleri/Argumentler Konular

2 2 Yapılandırılmamış Programlama Programımız sadece bir fonksiyondan (main) oluşuyor. Bununla beraber kütüphanelerdeki fonksiyonları da çağırıyoruz. (printf, scanf, getchar, putchar) Bu tarz bir programlamanın (yapılandırılmamış programlama olarak adlandırılır) en büyük dezavantajı lüzumsuz olarak büyümesidir. –Özellikle, aynı kod blokları/ifadeleri programda farklı yerlerde kullanılacaksa blok/ifadeler kopyalanmalı. (kod tekrarı) main DATA

3 3 Yapılandırılmamış Programlama & Prosedür/Fonksiyon gerekliliği main(){ printf(“*\n”); printf(“**\n”); printf(“***\n”); printf(“++++\n”); printf(“*\n”); printf(“**\n”); printf(“***\n”); printf(“++++\n”); } * ** *** ++++ * ** *** ++++ Problem: Ekrana yandakini yazdırmak istiyoruz. Tekrarlanmış

4 4 Prosedüral Programlama Fikir: tekrarlanmış ifadeleri çıkar, bir yerde onları birleştir ve bir isim ver. –prosedür, alt yordam veya fonksiyon olarak isimlendirilir void ucgen3( ){ printf(“*\n”); printf(“**\n”); printf(“***\n”); } void kare4( ){ printf(“++++\n”); } int main( ){ ucgen3(); kare4(); ucgen3(); kare4(); } * ** *** ++++ * ** *** ++++ main( ){ printf(“*\n”); printf(“**\n”); printf(“***\n”); printf(“++++\n”); printf(“*\n”); printf(“**\n”); printf(“***\n”); printf(“++++\n”); }

5 5 Prosedür Başlatma Prosedür kullanılınca, bir prosedür çağrılırken –prosedür/fonksiyon çağrısı yapılır –Kontrol prosedürün başında ki ilk ifadeye geçer –Prosedür adımları çalıştıktan sonra kontrol prosedürün çağrıldığı yerden sonraki ifadeye döner.

6 6 Fonksiyon Nedir? fonksiyon belli bir işi yapmak için kullanılan bir dizi ifadenin isimlendirilmesidir. –printf ekrana mesaj yazdırır –scanf klavyeden bir girdi okur –getchar klavyeden bir tek karakter okur –putchar ekrana bir tek karakter yazar –ucgen3 * karakteri kullanarak ekrana üçgen çizer –kare4 + karakterini kullanarak ekrana kare çizer. –…

7 7 Her fonksiyonda bulunması gerekenler: fonksiyon başlığı, -prototip/belirteç Kod bloğu {….} –Fonksiyon gövdesini kapsar. geriDonusTipi fonksiyonAdi(parametreler) { değişken tanımlamalar; ifade1; ifade2; … return ifade; } fonksiyon başlığı fonksiyon gövdesi Dönmesini istediğimiz değer

8 8 Fonksiyon Prototipi Geri dönüş tipi sonra fonksiyon adı ve opsiyonel olarak parantez içinde parametrelerden oluşur. –Parametreler fonksiyon çağrılırken program tarafından fonksiyona gönderilen verilerdir. int Topla3Sayi(int a, int b, int c); Bir int dönder Adı 3 parametresi var

9 9 Örnek fonksiyon prototipleri (1)Hiç parametresi olmayan ve değer döndürmeyen fonksiyon. void Fnc1(void); (2) 1 int parametresi olan ve değer döndürmeyen fonksiyon. void Fnc2(int a); (3) Parametresi olmayan ve bir int döndüren fonksiyon int Fnc3(void); (4) 2 Parametresi olan ve bir int döndüren fonksiyon int Fnc4(int a, int b);

10 10 Parametresi olmayan ve değer döndürmeyen fonksiyon(1) void ucgen4(void){ printf("*\n"); printf("**\n"); printf("***\n"); printf("****\n"); } main(void){ ucgen4(); } * ** *** **** * ** *** **** * ** *** **** void: Bu fonksiyonun Dönüş değeri yok yok bu fonksiyon üç kere çağrılıyor

11 11 Parametresi olmayan ve değer döndürmeyen fonksiyon(2) void selamver(void){ printf(“Hey! Herkese selamlar!\n"); } /* end-selamver */ main(){ selamver(); /* fonksiyon çağırılıyor */ selamver(); /* bir daha çağırılıyor */ } /* end-main */ Hey! Herkese selamlar! void:selamverfonksiyonunun geri dönüş değeri yok

12 12 Bir parametresi olan ve değer döndürmeyen fonksiyon(1) void printn(int n){ printf("n = %d\n", n); } /* end-printn */ int main(void){ printn(573); printn(-1234); return 0; } /* end-main */ n = 573 n = int n 573 olarak geçiliyor, ve fonksiyon çağırılıyor. int n olarak geçiliyor, ve fonksiyon çağırılıyor.

13 13 Bir parametresi olan ve değer döndürmeyen fonksiyon(2) void kuvvet_al(double x){ double x2 = x * x; double x6 = x2 * x2 * x2; printf("x = %.6lf\n", x); printf("x^2 = %.6lf\n", x2); printf("x^6 = %.6lf\n", x6); } /* end-kuvvet_al */ int main(void){ kuvvet_al(1.5); printf(" \n"); kuvvet_al(0.11); return 0; } /* end-main */ x = x^2 = x^6 = x = x^2 = x^6 = double x 1.5 olarak geçiliyor, ve fonksiyon çağırılıyor. double x 0.11olarak geçiliyor, ve fonksiyon çağırılıyor.

14 14 Bir parametresi olan ve değer döndürmeyen fonksiyon(3) void yildiz_yazdir(int n){ int i; for(i = 0; i < n; i++) printf("*"); printf("\n"); } /* end- yildiz_yazdir */ int main(void){ yildiz_yazdir(1); yildiz_yazdir(2); yildiz_yazdir(3); yildiz_yazdir(4); return 0; } /* end-main */ * ** *** **** int n 1 olarak geçiliyor, ve fonksiyon çağırılıyor. int n 2 olarak geçiliyor, ve fonksiyon çağırılıyor.

15 15 Aynı işi yapan Kod: void yildiz_yazdir(int n){ int i; for(i = 0; i < n; i++) printf("*"); printf("\n"); } int main(void){ int i; for(i = 1; i <= 4; i++) yildiz_yazdir(i); return 0; } * ** *** **** int n i değerini alarak geçiliyor, ve fonksiyon çağırılıyor.

16 16 Bir parametresi olan ve değer döndüren fonksiyon /* x ^ 6 döndürür*/ double us_al6(double x){ double x2 = x * x; return x2 * x2 * x2; } int main(void){ double p6 = us_al6(1.5); printf("%.6lf", p6); return 0; } /* n toplamı*/ int topla(int n){ return n * (n + 1) / 2; } int main(void){ printf("%d", topla(5)); return 0; }

17 17 2 parametresi olan ve değer döndürmeyen fonksiyon void Yazdir(int n, char c){ int i; for(i = 0; i < n; i++) printf("%c", c); printf("\n"); } /* end-Yazdir */ int main(void){ Yazdir(5, '*'); Yazdir(10, '-'); Yazdir(15, '='); return 0; } /* end-main */ ***** ===============

Benzer bir sunumlar


Google Reklamları