© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Fonksiyonlar –Programı modüler hale getirir –Yerel değişkenler,

Slides:



Advertisements
Benzer bir sunumlar
Fonksiyonlar - Functions
Advertisements

Makine Müh. & Jeoloji Müh.
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Göstericiler (Pointers)
Zeynep Çelik Sunar….
Altprogramların Uygulanması
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 9 – Biçimlendirilmiş Giriş/Çıkış Outline 9.1Giriş.
Değişken Bildirimleri
Atama ve Girdi/Çıktı Komutları
String Kütüphanesindeki Arama Fonksiyonları
Bölüm 10 Yapılar ve Birleşimler
Bölüm 3 – Yapısal Programlama
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Nesne Tabanlı Programlama
Fonksiyonlar.
NESNE TABANLI PROGRAMLAMA -METOTLAR-
Görsel C# Programlama Güz 2009 (6. Hafta).
C ile Programlamaya Giriş
6 Metodlar.
Metotlar.
FONKSİYONLAR.
METOTLAR.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Gelişmiş Envanter Uygulaması.
 2006 Pearson Education, Inc. All rights reserved Kontrol İfadeleri: 2. Bölüm.
Bölüm 5 - Fonksiyonlar index 5.1 Giriş 5.2 C de Program Modülleri
Chapter 8: Advanced Method Concepts
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Bölüm 10 - Yapılar, Birlikler, Bit İşleme ve Sayma.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Bu derste şunları öğreneceğiz: –CheckBox es kullanımı.
Bölüm 6 - Diziler indeks 6.1 Giriş 6.2 Diziler
Bölüm 7 - Göstericiler İndeks 7.1 Giriş
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Bilgisayar Programlama
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 5.1 Test-Driving the Inventory Application.
Bölüm 4 – C’de Program Kontrolü
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Bölüm 6 - Diziler indeks 6.1Giriş 6.2Diziler 6.3Dizilerin.
Bölüm 8 - Karakterler ve Dizgiler
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Veri.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Bölüm 2 - C ile Programlamaya Giriş Başlıklar 2.1Giriş.
Bölüm 5 - Fonksiyonlar index 5.1 Giriş 5.2 C de Program Modülleri
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Faiz Hesaplama Uygulaması Amaçlar Bu derste öğrenilecekler:
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
C PROGRAMLAMA FONKSİYONLAR Hazır fonksiyonlar (math, rand) Kullanıcı Tanımlı Fonksiyonlar Değer ile Çağırma.
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 11 – Dosya İşleme Outline 11.1Giriş 11.2Veri.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Tutorial 9 – Araba Ödeme Hesaplaması Uygulaması Bu.
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Bölüm 7 - Diziler İçerik 7.1 Giriş 7.2 Diziler 7.3 Dizileri Tanımlama 7.4 Dizileri Kullanan Örnekler 7.5 Referanslar ve Referans Parametreler.
Görsel C# ile Windows Programlama
1 Yapılandırılmamış programlama Prosedür/Fonksiyon gerekliliği Prosedural Programlama Fonksiyon Tanımlama/Prototip/Çağırma Örnek fonksiyonlar Fonksiyon.
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
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.
Copyright © 2013 Pearson Education, Inc.. All rights reserved.
BİLGİSAYAR programlama II
Copyright © 2013 Pearson Education, Inc.. All rights reserved.
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
Bölüm10 İteratif İyileştirme Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Fonksiyonlar ve Diziler
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
C Programlama Dili Bilgisayar Mühendisliği.
C’de Fonsiyonlar Aslı Ergün.
Bölüm 6: Kullanıcı Tanımlı Fonksiyonlar I
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Fonksiyonlar-2.
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Fonksiyonlar –Programı modüler hale getirir –Yerel değişkenler, fonksiyonların içerisinde tanımlanır. Sadece tanımlandığı fonksiyon tarafından bilinir –Parametreler Fonksiyonlar arasındaki bilgi alışverişi Yerel değişkenler Fonksiyonların yararları –Bölme ve Zaptetme Yönetilebilir program geliştirme –Yazılımı yeniden kullanabilme Varolan fonksiyonları yeni programlar için blok olarak inşa etme Soyutlama – içsel detayları gizleme (kütüphane fonksiyonları) –Kodları tekrar yazmayı engelleme

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Fonksiyon Tanımları Fonksiyon Tanımlama biçimleri return-değer-tipi function-name( parametere-listesi ) { bildirimler ve ifadeler } –Fonksiyon adı: herhangi geçerli tanımlayıcı –Veri tipi döndürme: sonucun veri tipi (varsayılan int ) void – fonksiyonlar geriye değer döndürmez –Parametre-listesi: parametreleri belirtilmiş, virgülle ayrılmış listedir A type must be listed explicitly for each parameter unless, the parameter is of type int Her parametre için parametre tipleri ayrı ayrı belirtilmelidir (eğer tipleri int değilse)

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Fonksiyon Tanımlama Fonksiyon Tanımlama biçimleri (devam) return-değer-tipi function-name( parametere-listesi ) { bildirimler ve ifadeler } –Bildirimler ve ifadeler: fonksiyonun gövdesi Değişkenler blokların içinde tanımlanabilir (kısıtlanabilir) Fonksiyonlar diğer fonksiyonların içinde tanımlanamaz. –Geri dönüş kontrolu Eğer boş değer geri dönüyorsa (hiç bir değer dönmüyorsa) –return; –veya, sağ paranteze ulaşıncaya kadar Eğer bir değer geri dönüyorsa –return ifade(geri dönecek değer) ;

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_03.c (Part 1 of 2)

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_03.c (Part 2 of 2) Program çıktısı

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_04.c (Part 1 of 2)

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_04.c (Part 2 of 2) Program çıktısı Enter three integers: Maximum is: 85 Enter three integers: Maximum is: 85 Enter three integers: Maximum is: 85

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 5.6Fonksiyon Prototipleri Fonksiyon prototipi –Fonksiyon adı –Parametreler – fonksiyonun içinde tuttuğu şeyler –Return type – fonksiyonun veri dönüşü tipi (varsayılan int ) –Fonksiyonları onaylamakta kullanılır –Eğer fonksiyon prototipi programın içerisinde yer almazsa, prototipe ihtiyaç duyulur –Prototip ile fonksiyonlar int maksimum( int x, int y, int z ); 3 ints içerir int değeri döndürür Geçiş kuralları ve dönüşümler –Kendinden küçük tiplere dönüşümler hata oluşturabilir

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 5.6Fonksiyon Prototipleri

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 5.7Öncü (Header) Dosyalar Öncü Dosyalar –Kütüphane fonksiyonları için fonksiyon prototipleri içerir –,, vs... –Yükleme... #include #include Öncü dosya düzenleme –Fonksiyonlarla dosya oluşturma –filename.h olarak kayıt etme. –# include "filename.h“ ile başka dosyalara yükleme –Fonksiyonları tekrar kullanma.

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 5.7Öncü Dosyalar

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 5.8Fonksiyon çağırma: Değere Göre ve Referansa Göre Değere göre –Argümanın kopyası fonksiyona gönderir. –Kopyayı değiştirmek, orijinal değişkenin değerini etkilemez –Fonksiyonun argüman’ı değiştirmeye ihtiyaç duymadığı zaman kullanılmalıdır. Önemli sorunların oluşmasını engeller Referansa göre –Orijinal argümanı gönderir. –Argümanı değiştirmek, orijinal değişkenin değerini etkiler –Sadece güvenilir fonksiyonlar ile kullanılmalı Şimdi, değere göre çağırmaya bakalım

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 5.9Rasgele Sayılar Üretme rand fonksiyonu –yükle –0 ve RAND_MAX (en az ) arasında sayı “random” geri döndürme. i = rand(); –Pseudorandom “random” sayıların önceden ayarlanmış dizisi Her fonksiyon çağrılmasında aynı dizi tekrar eder. Derecelendirme (Scaling) –1 ile n arasında random sayı alma 1 + ( rand() % n ) rand() % n 0 ile n–1 arasında bir sayı döndürür 1 ile n arasında random sayıya 1 ekleme yapar. 1 + ( rand() % 6) –1 and 6 arasında sayı

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 5.9 Rasgele Sayılar Üretme srand fonksiyonu (rassallaştırma) – –Farklı bir dizide rasgele sayılar oluşturulmasını sağlar –Unsigned(işaretsiz) tipte bir tamsayıyı argüman olarak kullanır srand( seed ); –srand( time( NULL ) );/*yükle */ time( NULL ) –Program çalıştırıldığı esnadaki saniye cinsinde oluşturur –“(Randomizes) rasgele seçmeler" çekirdek

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_07.c

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Program çıktısı

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_08.c (Part 1 of 3)

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_08.c (Part 2 of 3)

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_08.c (Part 3 of 3) Program Çıktısı Face Frequency

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_09.c (Part 1 of 2)

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_09.c (Part 2 of 2) Program Çıktısı Enter seed: Enter seed: Enter seed:

© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 5.10Örnek: Şans Oyunu Barbut(craps) similasyonu Kurallar –İki zar atılır İlk atışta 7 veya 11 (top.), oyuncu kazanır. İlk atışta 2, 3, veya 12 (top.), oyuncu kaybeder. İlk atışta 4, 5, 6, 8, 9, 10 – oyuncunun puanı –Kazanmak için kendi puanını 7 gelmeden önce tekrar atması gerekir.

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_10.c (Part 1 of 4)

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_10.c (Part 2 of 4)

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_10.c (Part 3 of 4)

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. fig05_10.c (Part 4 of 4)

Outline © Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Program Çıktısı Player rolled = 11 Player wins Player rolled = 5 Point is 5 Player rolled = 8 Player rolled = 3 Player rolled = 5 Player wins Player rolled = 2 Player loses Player rolled = 5 Point is 5 Player rolled = 7 Player loses