Dr. Fatih AY Tel:

Benzer belgeler
Fonksiyonlar (Altprogram)

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

Fonksiyonlar - Functions. Örnek. Örneğin. C dilinde 5/13/2011. ENF-102 Jeoloji

Dr. Fatih AY Tel: fatihay@fatihay.net

Hafta 13 Fonksiyonlar

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Fonksiyonlar. Yrd.Doç.Dr.Bülent Çobanoğlu

Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek :

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

FONKSIYONLAR(ISLEVLER)

Genel Programlama I Ders 6

Dr. Fatih AY Tel: fatihay@fatihay.net

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

ALGORİTMA VE PROGRAMLAMA I

MATEMATĠKSEL ĠġLEMLER

Bilgisayar programlama III Fonksiyonlar

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

ALGORİTMA VE PROGRAMLAMA I

Ders 5: Temel Kütüphane Fonksiyonlar

Bölüm 2 - C ile Programlamaya Giriş

PROGRAMLAMAYA GİRİŞ DERS 2

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Dr. Fatih AY Tel: fatihay@fatihay.net

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

Fonksiyonlar -Genel Test- A

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

ALGORİTMA VE PROGRAMLAMA II

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

2. BÖLÜM (2nci hafta)

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

C Programlama Dilininin Basit Yapıları

Internet Programming II

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

İM 205-İnşaat Mühendisleri için MATLAB. Irfan Turk Fatih Üniversitesi,

Bigisayar Programlama

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 11: Metot Kavramı

Program Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme:

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

sayi=3 harf=a reelsayi=8.72 Bellek durumu 5. İşaretç iler (pointers)

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

BİLGİSAYAR PROGRAMLAMA MATLAB

public static int Toplam int x, int y

ÜNİTE İÇİNDEKİLER HEDEFLER MATEMATİKSEL METOTLAR. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA. (Math Sınıfı ve Metotları)

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-7 C Programlama Diline Giriş

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

Burada dikkat edilmesi gereken nokta, bilinmeyen veya değişkeninizi yazarken diğer bilinmeyenler ile arasına boşluk koymanız gerektiğidir.

Internet Programming II

RAPOR VE FORMLARDA KULLANILAN FONKSİYONLAR

ELN1001 BİLGİSAYAR PROGRAMLAMA I

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Bilgisayar Programlama MATLAB

BİLGİSAYAR PROGRAMLAMA

Programlama Dillerinde Kullanılan Veri Tipleri

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİ

ELN1001 BİLGİSAYAR PROGRAMLAMA I

Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan

Eln 1001 Bilgisayar Programlama I

Sınav tarihi : Süre : 60 dak.

1. C dilinde fonksiyon bildirimi için hangisi gereklidir?

Temel Giriş/Çıkış Fonksiyonları

C PROGRAMLAMA D İ L İ

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

BÖLÜM 4: DEĞİŞKENLER, SABİTLER VE OPERATÖRLER

C++ Dersi: Nesne Tabanlı Programlama

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Algoritma ve Programlama: Karar Yapıları ve Döngüler

C PROGRAMLAMA DİLİNE GİRİŞ

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

DÜZENLEME: Sayfa 0

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

MATLABA GİRİŞ 1. MATLAB. Komut penceresi. MATLAB adı, MATrix LABoratory (Matrix Laboratuarı) kelimelerinden gelir.

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

Excel' de formüller yazılırken iki farklı uygulama kullanılır. Bunlardan;

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

ALGORİTMA VE PROGRAMLAMA (Bölüm 3)

SAB104 Bilgisayar Programlama

BÖLÜM 4 FONKSİYONLAR. Fonksiyonlar programların etkinliğini, kolay yazılmasını, anlaşılmasını ve bellekte daha az yer kaplamasını sağlayan bloklardır.

Genel Programlama II

Diziler (Arrays) Çok Boyutlu Diziler

BM202 SAYISAL ÇÖZÜMLEME

Python ile Programlamaya Giris

Adım Adım C. Dr. Hidayet Takcı

BİL1001 Bilgisayar Bilimlerine Giriş 1

Lambda İfadeleri (Lambda Expressions)

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

MatLab. Mustafa Coşar

Bölüm 9. Altprogramlar ISBN

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

HSancak Nesne Tabanlı Programlama I Ders Notları

C++ Dersi: Nesne Tabanlı Programlama

int faktoriyel(int sayi) { int sonuc = 1; for(int i=sayi;i>0;i--) sonuc*=i; return sonuc; } int main() { int sayi = faktoriyel(5); }

PASCAL ARŞİVİ BÖLÜM Giriş. 7.2 Sistem Birimi ve Katarlar Chr

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Transkript:

Bilgisayar Programlama Ders 5 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Fonksiyonlar Fonksiyonlar Büyük programlar geliştirmenin en iyi yolu, onu orijinal programdan daha kolay idare edilebilir küçük program modüllerine bölmektir. Modüller C de fonksiyon olarak yazılırlar. C programları, genellikle programcının yazacağı yeni fonksiyonlarla, daha önceden C standart kütüphanesi içinde tanımlanmış fonksiyonların birleştirilmesi ile yazılır. C kütüphaneleri genel matematik işlemleri, karakter işlemleri, giriş/çıkış işlemleri ve diğer birçok önemli işlemi yerine getiren birçok fonksiyonu içermektedir. 2

Programları daha hızlı ve daha kolay yapmak amacıyla ANSI C standart kütüphanesi içerisindeki fonksiyonları incelemek önemlidir. ANSI C kütüphanesindeki fonksiyonların kullanılması taşınırlığı arttırmaktadır. Örn. printf, scanf, pow fonksiyonları gibi fonksiyonlar standart kütüphane fonksiyonlarıdır. 3

Fonksiyonlar, fonksiyon çağrıları sayesinde çağırılırlar. Fonksiyon çağırmak demek fonksiyonu kullanmamız gerektiği anda onu programa dahil etmek demektir. Fonksiyon çağrıları, fonksiyonun ismini ve fonksiyonun görevlerini yerine getirebilmesi için gerekli olan bilgileri (argümanlar olarak) içerir. 4

Patron işçiye görev verir ve işin sonunda kendisine rapor verilmesini ister. Patron işçinin görevini nasıl yerine getirdiğini bilmez. Uygulama detayları gizlenebildiği için yazılım mühendisliği kolaylaşır. main işçi 1 işçi 2 işçi 3 işçi 4 işçi 5 5

Matematik Kütüphanesi Fonksiyonlar fonksiyonun ismi argüman listesi (bağımsız değişkenler) printf ( %.2f, sqrt(900.0)); Matematik kütüphanesi fonksiyonunu math.h #include<math.h> 6

Fonksiyon Tanım Örnek sqrt(x) x in karekökü sqrt(900.0) 30.0 değerini verir sqrt(9.0) 3.0 değerini verir exp(x) e x üstel fonksiyon exp(1.0) 2.718252 değerini verir exp(2.0) 7.389056 değerini verir log(x) log10(x) x in e tabanına göre logaritması x in 10 tabanına göre logaritması log(7.389056) 2.0 değerini verir log(2.718252 ) 1.0 değerini verir log10(1.0) 0.0 değerini verir log10(10.0) 1.0 değerini verir log10(100.0) 2.0 değerini verir fabs(x) x in mutlak değeri x>0 ise x değerini verir x=0 ise 0.0 değerinin verir x<0 ise x değerini verir ceil (x) x i kendinden sonraki ilk tamsayıya atar ceil(9.2) 10.0 değerini verir ceil(-9.8) -9.0 değerini verir 7

Fonksiyon Tanım Örnek floor(x) x i kendinden küçük ilk tamsayıya atar floor(9.2) 9.0 değerini verir floor(-9.8) -10.0 değerini verir pow(x,y) x y, x üzeri y pow(2,7) 128.0 değerini verir pow(9,0.5) 3.0 değerini verir fmod(x,y) sin(x) cos(x) x/y işleminin kalanını bulur x in sinüsünü hesaplar (x radyan) x in kosinüsünü hesaplar (x radyan) Fmod(13.657, 2.333) 1.992 değerini verir sin(0.0) 0.0 değerini verir cos(0.0) 1.0 değerini verir tan(x) x in tanjantını hesaplar (x radyan) tan(0.0) 0.0 değerini verir 8

Fonksiyon Tanımları Fonksiyonlar main fonksiyonu şu ana kadar yapılan standart kütüphane işlemlerini yaptırmak için kullanılıyordu. Kendi fonksiyonumuzu oluşturalım 9

10

Birden ona kadar olan tam sayıların karesini alan kare fonksiyonunu kullanan program tanımlanmıştır. kare fonksiyonu, main altındaki printf ifadesi içinden çağırılmıştır. printf ( %d, kare(x)); kare fonksiyonu, x değerinin kopyasını y parametresi sayesinde alır. Daha sonra y*y hesabını yapar. Sonuç, main içindeki printf fonksiyonuna döndürülür ve printf sonucu yazdırır. Bu süreç, for sayesinde 10 kez tekrarlanır. 11

kare fonksiyonunun tanımı, kare nin bir y tamsayısı beklediğini gösterir. Fonksiyon isminden önceki int anahtar kelimesi, kare nin sonucunun yine bir tamsayı olarak döndürüleceğini gösterir. kare içindeki return ifadesi hesaplamanın sonucunu çağırıcı fonksiyona döndürür. int kare (int); fonksiyon prototipdir. Parantezin içindeki int, derleyiciye kare fonksiyonunun çağırıcı fonksiyondan bir tamsayı beklediğini bildirir. Fonksiyon isminin solundaki int ise derleyiciye, kare fonksiyonunun kendini çağıran bir fonksiyona bir tamsayı sonucu döndüreceğini bildirir. 12

Derleyici, kare fonksiyonu çağırıldığında fonksiyonun ilk hali(prototipi) ile karşılaştırma yaparak, çağrının doğru tipte dönüş değerine sahip oluşunu, doğru sayıda argüman ve doğru argüman tipleri kullanmasını ve argümanların doğru sırada oluşlarını kontrol eder. geri dönüş tipi fonksiyonun ismi (parametre listesi) { } bildirimler ifadeler 13

Parametre listesi, fonksiyon çağırıldığında fonksiyonun alacağı parametrelerin bildirimlerini içeren, virgüllerle ayrılmış bir listedir. Eğer fonksiyon bir herhangi bir değer almıyorsa parametre listesi void olur. Her parametre için (eğer tipi int değilse) parametre tipi ayrı ayrı belirtilmelidir. Eğer tip belirtilmezse int olarak algılanacaktır. geri dönüş tipi fonksiyonun ismi (parametre listesi) { } bildirimler ifadeler 14

15

sqrt fonksiyonu double olarak belirlenmiştir!! Fonksiyonlar ALIŞTIRMALAR 1. 25 sayısının karekökünü hesaplatan kodu yazınız. printf("%.1f",sqrt(25)); 2. e sayısının 4. kuvvetini bulan kodu yazınız. printf("%.3f",exp(4)); 3. ln(3.4743) değerini hesaplatan kodu yazınız. printf("%.3f",log(3.4743)); 4. log (1453) değerini hesaplatan kodu yazınız. printf("%.3f",log10(1453)); 5. -43.2 ve 67.45 sayılarının mutlak değerlerini tek duyarlılıkla yazdıran kodu yazınız. printf("%.3f",fabs(-43.2)); 6. -5.3 sayısını -5 çıkartan kodu yazdırınız. printf("%.3f",ceil(-5.3)); 7. -5.3 sayısını -6 çıkartan kodu yazınız. printf("%.3f",floor(-5.3)); 16

ALIŞTIRMALAR Fonksiyonlar 8. 5 4.34 sayısının değerini hesaplayan kodu yazınız. printf("%.3f",pow(5,4.34)); 9. sin(30) değerini hesaplayan kodu yazınız. printf("%.3f",sin(30)); 10. cos(30) değerini hesaplayan kodu yazınız. printf("%.3f",cos(30)); 11. tan(30) değerini hesaplayan kodu yazınız. printf("%.3f,tan(30)); 12. printf("%.2f",ceil(-7.65)); komutunun çıktısı ne olur? -7.00 13. printf("%.2f",floor(-9.63)); komutunun çıktısı ne olur? -10.00 17

5. DERSİN SONU 18