FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (4. Hafta) (Yrd. Doç. Dr. Deniz Dal)

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (4. Hafta) (Yrd. Doç. Dr. Deniz Dal)"

Transkript

1 FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (4. Hafta) (Yrd. Doç. Dr. Deniz Dal)

2 Hata Ayıklama (Debugging) Yazdığımız programlar ya hiç çalıģmayabilir ya da çalıģır ama beklediğimiz sonuçları üretmez. ÇALIġAN AMA BEKLEDĠĞĠMĠZ GĠBĠ SONUÇLAR ÜRETMEYEN programlarımızdaki MANTIKSAL hataları bulmak için Visual Studio programının DEBUG menüsü seçeneklerinden faydalanırız. Debug Menüsü -> Run To Cursor (Ctrl+F10) : Ġmlecin bulunduğu satırın öncesindeki bütün satırlar Visual Studio tarafından iģletilir ve kontrol imlecin olduğu satırda kullanıcıya devredilir. Debug Menüsü -> Step Over (F10) : Kontrolü devralan kullanıcı F10 tuģu yardımıyla programın kalan satırlarını manuel olarak iģletir. F10 tuģu fonksiyonların içerisine dallanmaz. Debug Menüsü -> Step Into (F11) : F11 tuģu yardımıyla fonksiyonların içerisine de girilir. Programlarımızdaki mantıksal hataları tespit edebilmenin bir baģka yolu da hatanın kaynaklanabileceğini düģündüğümüz noktanın (noktaların) öncesine veya sonrasına cout deyimleri eklemektir.

3 Fonksiyonlar (Functions) Matematik Kütüphanesi Fonksiyonları Fonksiyon Tanımı Fonksiyon Prototipleri Standart Kütüphaneden Header Dosyaları Recursive (Tekrarlamalı) Fonksiyonlar Değer ile ya da Referansla Fonksiyon Çağırma Fonksiyonların AĢırı Yüklenmesi Fonksiyon Kalıpları

4 Fonksiyonlara GiriĢ En iyi program yazma ve geliģtirme pratiği tek bir büyük program yazmak yerine onu daha kolay kontrol altında tutmamıza yardımcı olabilecek küçük programların birleģimi halinde oluģturmaktır. Bu yönteme Divide&Conquer ( Böl&Yönet ) adı verilir. Bir fonksiyon gerektiğinde fonksiyon adı ile çağrılır ve fonksiyonun iģleyeceği bilgiler argüman (parametre) olarak fonksiyona yerleģtirilir. Örneğin bir patron (fonksiyonu çağıran) bir çalıģanını (çağrılan fonksiyon) yanına çağırır ve doldurması için eline bir dosya verir (argüman). ÇalıĢanı iģini bitirdiği zaman iģlenmiģ dosyayı patronuna geri götürür (return).

5 Matematik Kütüphanesi Fonksiyonları Bu fonksiyonlar standart kütüphaneden <cmath> header dosyası include edilerek kullanılabilir. Örnek: cout<<sqrt(900.0); Bu örnekte matematik kütüphanesi fonksiyonlarından sqrt çağrılır rakamı bu fonksiyonun argümanı olarak adlandırılır. Yukarıdaki deyim ekrana sonuç olarak 30.0 yazdırır. sqrt fonksiyonu kendisine double veri tipinde bir argüman alır ve yine double veri tipinde bir değer döndürür. Matematik kütüphanesinin bütün fonksiyonları geriye double veri tipinde bir değer döndürürler. Fonksiyon argümanları sabit bir sayı, değiģken ya da bunların karması olabilir.

6 Matematik Kütüphanesi Fonksiyonları FONKSİYON TANIM ÖRNEK ceil( x ) cos( x ) x argümanını kendinden büyük ilk tamsayıya yuvarlar. Radyan cinsinden x argümanına kosinüs fonksiyonunu uygular. ceil( 9.2 ) is 10.0 ceil( -9.8 ) is -9.0 cos( 0.0 ) is 1.0 exp( x ) Exponansiyel Fonksiyon e x exp( 1.0 ) is exp( 2.0 ) is fabs( x ) floor( x ) fmod( x, y ) x argümanının mutlak değerini hesaplar. x argümanını kendinden küçük ilk tamsayıya yuvarlar. x sayısının y sayısına bölümünden kalan ondalıklı sayıyı hesaplar. log( x ) Doğal logaritma hesaplar. (e tabanında) fabs( 5.1 ) is 5.1 fabs( 0.0 ) is 0.0 fabs( ) is 8.76 floor( 9.2 ) is 9.0 floor( -9.8 ) is fmod( 2.6, 1.2 ) is 0.2 log( ) is 1.0 log( ) is 2.0 log10( x ) 10 tabanında logaritma hesaplar. log10( 10.0 ) is 1.0 log10( ) is 2.0 pow( x, y ) sin( x ) sqrt( x ) tan( x ) pow( 2, 7 ) is 128 x argümanının y. kuvvetini hesaplar.x y pow( 9,.5 ) is 3 Radyan cinsinden x argümanına sinüs fonksiyonunu uygular. sin( 0.0 ) is 0 Pozitif x argümanının karekökünü hesaplar. Radyan cinsinden x argümanına tanjant fonksiyonunu uygular. sqrt( 9.0 ) is 3.0 tan( 0.0 ) is 0

7 Fonksiyonlar Nasıl Çağrılır? 1. #include <iostream> //cout ve cin kullanimi icin 2. using namespace std; 3. int KaresiniAl(int); //fonksiyon prototipi veya imzası (signature) 4. int main() 5. { 6. for(int i=1;i<=10;i++) 7. cout<<karesinial(i)<< ; 8. cout<<endl; 9 return 0; 10. } 11. //fonksiyon tanimi 12. int KaresiniAl(int y) 13. { 14. return y*y; 15. }

8 Fonksiyon Formatı döndürülen veri tipi fonksiyonun adı (parametre listesi) { deklarasyonlar ve deyimler; return anahtar kelimesi; } Parametre listesindeki birden fazla parametre birbirlerinden virgül ile ayrılır. Herbir parametre fonksiyon içerisinde bir değiģken olarak kullanılacağı için bir isme ve bir veri tipine sahiptir. Döndürülen veri tipi void ise bu fonksiyon hiçbir veri geri döndürmez ve return anahtar kelimesi kullanılmak zorunda değildir.

9 Void Fonksiyonlar void Print(); adlı fonksiyon deklarasyonu Print adlı fonksiyonun hiçbir argüman almadığını ve hiçbir değer geri döndürmediğini söyler bize. #include <iostream> //cout kullanimi icin using namespace std; void Print(); //fonksiyon prototipi int main() { Print(); return 0; //program sorunsuz sona erdiyse } //fonksiyon tanimi void Print() { cout<< Bu fonksiyon hicbir arguman almaz ve hicbirsey geri cevirmez.\n ; }

10 Paskal Notasyonu Fonksiyonlar isimlendirilirken en fazla kullanılan metodlardan biri Paskal notasyonudur (pascal notation). Bu notasyon, fonksiyon ismi birden fazla kelime içeriyorsa ilk kelime de dahil bütün kelimelerin ilk karakterlerinin büyük harfle yazıldığı bir notasyondur. KaresiniAl, AsalMi, Swap gibi.

11 Fonksiyon Prototipi Fonksiyon prototipi, derleyiciye, kullanılacak fonksiyonun adını, döndürülecek veri tipini, kaç parametre alınacağını ve tiplerini, bu parametrelerin hangi sırada olacağını hatırlatır. Parametre olarak kullanılan değiģkenlerin isimleri prototip içine yazılmaz. Sadece değiģkenlerin veri tipleri yazılır. Eğer fonksiyon prototipte tanımlandığı gibi çağrılmazsa derleyici hata verir. Bütün bunlar fonksiyon kullanımını daha da kolaylaģtırmak ve yapılacak yanlıģları önlemek içindir. Eğer fonksiyon, çağrılmadan önce tanımlanmıģsa prototipe gerek yoktur. Sonra tanımlanmıģsa gerek vardır. Örneğin: int Maksimum(int,int,int); prototipi Maksimum adlı fonksiyonun 3 integer parametre alacağını ve geriye yine bir integer döndüreceğini söyler.

12 Header Dosyaları Standart kütüphanenin her bir elemanı, bünyesinde barındırdığı fonksiyonların prototiplerini ve tanımlarını header file dediğimiz ve include deyimi ile programımızın baģına eklediğimiz dosyaların içinde saklar. Standart kütüphaneden eklediğimiz header dosyaları < ile > karakterleri arasına konur. Kullanıcının oluģturduğu header dosyaları ise ile karakterleri arasına yerleģtirilir ve uzantısı.h dir. Örnek : #include <iostream> #include fbeb512.h

13 C++ Standart Kütüphanesinin Header Dosyaları C++ Standard Library Header File <iostream> Açıklama Standart input ve output işlemleri için gerekli fonksiyon prototiplerini ve tanımlarını içerir. Mesela cout ve cin kullanabilmek için bu header dosyası gereklidir. <iomanip> Veriyi formatlı yazdırabilmek için gerekli fonksiyon prototiplerini ve tanımlarını içerir. Mesela setprecision kullanabilmek için bu header dosyası gereklidir. <cmath> <cstdlib> Matematik kütüphanesinde tanımlı fonksiyonların prototiplerini ve tanımlarını içerir. (pow, ceil veya floor gibi) Rakamları metinlere, metinleri rakamlara çeviren fonksiyonların ve rastgele sayı üreten fonksiyonların prototiplerini ve tanımlarını içerir. (atoi, atof, rand veya srand gibi)

14 C++ Standart Kütüphanesinin Header Dosyaları C++ Standard Library Header File <ctime> <vector>, <list>, <deque>, <queue>, <stack>, <map>, <set>, <bitset> <cctype> <cstring> Açıklama Zaman ve tarih manipülasyonu için kullanılan fonksiyonların prototiplerini ve tanımlarını içerir. (time gibi) Bunlar C++ standart kütüphanesi içinde depolama amaçlı kullanılan sınıfların (classes) header dosyalarıdır. Karakterlere ve metin dizilerine uygulanabilecek testleri içeren fonksiyonların prototiplerini ve tanımlarını içerir. Mesela bir karakterin harf mi veya noktalama işareti mi olduğunu bulmamıza yarayan bir fonksiyon bu header dosyası eklenerek kullanılabilir. (Ya da küçük harfleri büyük harflere çeviren ya da tam tersi.) (isdigit, islower, tolower veya toupper gibi) C programlama dilinin stiline uygun string proses etmek için kullanılacak fonksiyonların prototiplerini ve tanımlarını içerir. (strcpy veya strncmp gibi)

15 C++ Standart Kütüphanesinin Header Dosyaları C++ Standard Library Header File Açıklama <fstream> <string> <sstream> Hard diskteki bir dosyadan bilgi okuma veya dosyaya bilgi yazma amacıyla kullanılacak fonksiyonların prototiplerini ve tanımlarını içerir. C++ Standart kütüphanesinde tanımlı string sınıfının (class) tanımını içerir. Bellekteki stringlerin okunması ve yazılması için gerekli fonksiyonların prototiplerini ve tanımlarını içerir. <functional> C++ Standart kütüphanesinde mevcut algoritmalara ait sınıfların ve fonksiyonların tanımlarını içerir.

16 C++ Standart Kütüphanesinin Header Dosyaları C++ Standard Library Header File <iterator> <algorithm> Açıklama C++ kütüphanesindeki depolayıcıların içindeki verilere ulaşmak için gerekli sınıf tanımlamalarını içerir. C++ kütüphanesindeki depolayıcıların içindeki verileri manipule etmek için gerekli fonksiyonları içerir. (find, count veya swap gibi)

17 Rastgele integer Sayı Üretme Standart kütüphaneden <cstdlib> include edilir ve burada tanımlı rand() fonksiyonu bu iģ için kullanılır. rand() fonksiyonu 0 ile RAND_MAX arasında rastgele bir tamsayı üretir. RAND_MAX cstdlib kütüphanesi içerisinde tanımlı sabit bir sayıdır ve değeri Ģu an itibariyle dir. rand() fonksiyonunun ürettiği rastgele sayı istenilen aralığa modülüs(%) operatörü kullanılarak çekilir. Örneğin rand()%6 bize 0 ile 5 arasında integer sayılar üretir. Örneğin rand()%6+1 bize 1 ile 6 arasında integer sayılar üretir. rand() fonksiyonu programımızı test (debug) ederken bize kolaylık olsun diye programı çalıģtırdığımız her sefer aynı sayıyı üretir.

18 Soru ile 122 arasında rastgele bir tamsayı üretecek C++ deyimi aģağıdakilerden hangisidir? a) rand()% b) rand()% c) rand()%90+32 d) rand()%32+90 e) Hocam!! Bu tür sorularla aklımızı karıģtırmayınız

19 srand() Fonksiyonu Programımızı test ettikten ve tam olarak çalıģtığına emin olduktan sonra programın çalıģtırıldığı her sefer farklı bir sayı üretilsin isteriz. Bunun için yine standart kütüphanenin <cstdlib> header dosyasından srand fonksiyonunu kullanırız. srand fonksiyonu kendisine unsigned int veri tipine sahip bir argüman alır. Bu argüman çekirdek değer(seed) olarak adlandırılır. Her seferinde farklı bir çekirdek değer girmek yerine srand fonksiyonuna argüman olarak standard kütüphanenin <ctime> header dosyasının içinde tanımlı time fonksiyonu kullanılır. Örneğin time(0) (time fonksiyonu sıfır değerini kendisine argüman olarak almıģ) bilgisayarın o anki saat değerini saniye cinsinden geri döndürür. srand(time(0)) ise üretilen bu saat değerini unsigned integer e çevirir ve çekirdek değer olarak kullanır.

20 Örnek: rand() Fonksiyonu #include <iostream> //cout kullanimi icin #include <cstdlib> //rand() fonksiyonu icin using namespace std; int main() { } cout<< Uretilebilecek Maximum Sayi: <<RAND_MAX<<endl; for(int i=1;i<=20;i++) cout<<(1+rand()%6)<<endl; return 0;

21 Örnek: srand(seed) Fonksiyonu #include <iostream> //cout kullanimi icin #include <cstdlib> //rand() ve srand(seed) fonksiyonu icin using namespace std; int main() { unsigned int seed; cout<< Cekirdek degeri girin : ; cin>>seed; srand(seed); } for(int i=1;i<=20;i++) cout<<(1+rand()%6)<<endl; return 0;

22 Örnek: srand(time(0)) Fonksiyonu #include <iostream> //cout kullanimi icin #include <cstdlib> //rand() ve srand(seed) fonksiyonu icin #include <ctime> //time() fonksiyonu icin using namespace std; int main() { srand(time(0)); //programin calistigi andaki saat degeri cout<< Saatin Tam Su Anki Degeri: <<time(0)<<endl; for(int i=1;i<=20;i++) cout<<(1+rand()%6)<<endl; return 0; }

23 Recursive (Rikörsif) (Tekrarlamalı) Fonksiyonlar ġu ana kadar gördüğümüz ve tanımladığımız fonksiyonlarda hiyerarģik bir yapı içerisinde bir fonksiyon baģka bir fonksiyonu çagırıyordu. Bazı problemler icin fonksiyonların kendi kendilerini çagırmaları daha faydalı olabilir. Bu tür fonksiyonlara Recursive (Rikörsif) (tekrarlamalı) fonksiyonlar denir. Bir rikörsif fonksiyonun ne zaman kendi kendini çağırmayı durduracağını bilmesi gerekir. Biz buna temel durum (base case) diyoruz. Eğer bu Ģart sağlanmazsa program sonsuza kadar çalıģır. Öte yandan rikörsif fonksiyonlarla gerçekleģtirilebilen iģlemler döngüler ile de yapılabilirler.

24 Örnek: Rikörsif Faktoriyel Hesaplama #include <iostream> using namespace std; int Faktoriyel(int); //fonksiyon prototipi int main() { for(int i=0;i<=10;i++) cout<<i<<! <<Faktoriyel(i)<<endl; return 0; //program sorunsuz sona erdiyse } //Rikörsif faktoriyel hesaplama fonksiyonu tanimi int Faktoriyel(int sayi) { if(sayi <=1)//temel durum return 1; else //recursive durum return sayi*faktoriyel(sayi-1); }

25 5!

26 Değer ya da Referans ile Fonksiyon Çağırma Birçok bilgisayar dilinde argümanlar fonksiyonlara iki Ģekilde iletilirler. Değer ile (call-by-value) ya da referans ile (call-byreference). Değer ile bir argüman bir fonksiyona verildiğinde argümanın bir kopyası alınır ve fonksiyon içinde değerlendirilir. Fonksiyon içinde argüman değerine yapılan değiģiklikler fonksiyonun çağrıldığı yerdeki değiģkeni etkilemez. (ORJĠNAL EVRAKIN FOTOKOPĠSĠ) Bu sunuda Ģu ana kadar gördüğümüz örneklerde güvenli olduğu için hep bu yolu kullandık. Ama bazı durumlarda referans ile fonksiyon çağırmak icap eder. Bu yolla, fonksiyonu çağıran, fonksiyonun içinde gönderdiği argümanın değiģtirilmesine de izin vermiģ olur. (ORJĠNAL EVRAK) Bu tür bir fonksiyona en güzel örnek swap fonksiyonudur. Referans parametresi ya da argümanı ile ilgilendiğimizi göstermek için & karakterini kullanırız.

27 ĠKĠ DEĞĠġKENĠN DEĞERĠNĠN YER DEĞĠġTĠRMESĠ (SWAPPING) A B Elinizdeki TV kumandası yardımıyla kayıtlı 2 kanalın yerini nasıl değiģtirirsiniz? gecicidegisken=a; A=B; B=geciciDegisken;!!! GEÇĠCĠ BĠR DEĞĠġKENE ĠHTĠYAÇ VAR!!!

28 Değer ile Swap Fonksiyonu (ÇalıĢmaz) #include <iostream> using namespace std; void Swap(int,int); //fonksiyon prototipi int main() { int a=2,b=5; cout<< Swap Fonksiyonu Cagrilmadan Once:\n ; cout<< a= <<a<< b= <<b<<endl; Swap(a,b); cout<< Swap Fonksiyonu Cagrildiktan Sonra:\n ; cout<< a= <<a<< b= <<b<<endl; return 0; } //Fonksiyon tanimi void Swap(int a, int b) { int gecicidegisken=a ; a=b; b=gecicidegisken; }

29 Referans ile Swap Fonksiyonu (ÇalıĢır) #include <iostream> using namespace std; void Swap(int&,int&); //fonksiyon prototipi int main() { int a=2,b=5; cout<< Swap Fonksiyonu Cagrilmadan Once:\n ; cout<< a= <<a<< b= <<b<<endl; Swap(a,b); cout<< Swap Fonksiyonu Cagrildiktan Sonra:\n ; cout<< a= <<a<< b= <<b<<endl; return 0; } //Fonksiyon tanimi void Swap(int &a, int &b) { int gecicidegisken=a ; a=b; b=gecicidegisken; }

30 Soru Fonksiyonlar return komutuyla sadece bir değer geriye çevirirler. Geriye birden fazla değer çevirebilmek için ne yapmamız gerekir?

31 Referans ile DeğiĢken Kontrolü Referanslar baģka değiģkenlerin yerine takma isim (alias) olarak da kullanılabilirler. Alias (orijinal değiģkenin baģka bir adı olarak da düģünülebilir) olarak tanımlanan bir değiģken üzerinde yapılan her türlü iģlem orjinal değiģken uzerinde de gerçekleģir. Alias değiģkenler MUHAKKAK ilk değerli (initialization) olarak deklare edilmelidirler. Örnek: int count = 1; int &ref = count; ref++; count değişkeninin değeri ref adlı alias kanalıyla bir artırılır.

32 Fonksiyon AĢırı Yüklemesi (Function Overloading) C++ aynı fonksiyon adına sahip birden fazla fonksiyonun kullanımına izin verir. Ancak bu durum sadece aynı adlı fonksiyonların farklı argüman listelerine ya da dönüģ değerlerine sahip olması durumunda geçerlidir. C++ derleyicisi aģırı yüklenmiģ bir fonksiyon çağrıldığında fonksiyonun kaç argümana sahip olduğuna, argüman veri tiplerine ve argümanların sırasına bakarak uygun fonksiyonu çalıģtırır. Fonksiyon aģırı yüklemesi, genellikle, benzer iģleri farklı veri tipleri üzerinde yapan aynı ada sahip fonksiyon tanımları için kullanılır. Örnek: int KaresiniAl(int x){return x*x;} double KaresiniAl(double y){return y*y;}

33 Fonksiyon Kalıpları (Function Templates) Fonksiyon kalıpları kullanarak aynı iģlemi farklı veri tipleri üzerinde yapan fonksiyonlar için birden fazla fonksiyon tanımı yapmak zorunda kalmayız. Fonksiyon kalıpları template anahtar kelimesi ile baģlar ve veri tipleri class anahtar kelimesi ile < ve > karakterleri arasında tanımlanır.

34 Fonksiyon Kalıpları (Function Templates) #include <iostream> using namespace std; template <class T> //Fonksiyon Prototipi T Maximum(T,T,T); int main() { int int1=5,int2=7,int3=17; Maximum(int1,int2,int3); double double1=7.32,double2=13.45,double3=21.56; Maximum(double1,double2,double3); return 0; } template <class T> //Fonksiyon Tanimi T Maximum(T value1,t value2,t value3) { T max=value1; if(value2>max) max=value2; if(value3>max) max=value3; return max; }

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

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 11. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Fonksiyonlar Yük. Müh. Köksal Gündoğdu 2 C++ Hazır Fonksiyonlar Yük. Müh. Köksal Gündoğdu 3 C++ Hazır Fonksiyonlar 1. Matematiksel

Detaylı

Dr. Fatih AY Tel:

Dr. Fatih AY Tel: 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

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon Tanımı Fonksiyon

Detaylı

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

Ders 5: Temel Kütüphane Fonksiyonlar

Ders 5: Temel Kütüphane Fonksiyonlar Ders 5: Temel Kütüphane Fonksiyonlar Giriş Bu kısımda, C Programlama Dili'nde sık kullanılan ve diğer bölümlerde yararlanacağımız kütüphane fonksiyonlarının bazıları işlenecektir. Kütüphane fonksiyonu

Detaylı

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

Detaylı

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

Fonksiyonlar. Yrd.Doç.Dr.Bülent Çobanoğlu Fonksiyonlar Yrd.Doç.Dr.Bülent Çobanoğlu Fonksiyonlar Bir ana program alt programlardan (prosedür, metot, alt yordam veya fonksiyonlardan) oluşabilir. Yapısal programlama dillerinde (Pascal, C, C++, Visual

Detaylı

10/17/2007 Nesneye Yonelik Programlama 3.1

10/17/2007 Nesneye Yonelik Programlama 3.1 Procedure-Based Programming in C++ Çoğu gerçek dünya problemleri binlerce kod satırı gerektirir ( MS Windows NT 5.0 25 million dan fazla kod satırından oluşmaktadır). Yazılımın tasarımı, kodlanması ve

Detaylı

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya

Detaylı

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

Fonksiyonlar - Functions. Örnek. Örneğin. C dilinde 5/13/2011. ENF-102 Jeoloji Fonksiyonlar - Functions Giriş 10 7 8 9 5 6 4 3 Büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra birleştirmekten geçer. Buna Böl ve fethet - divide and conquer denir. 2

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA İŞARETÇİ ELEMANLI SINIFLAR REFERANSLAR OPERATÖRLERİN AŞIRI YÜKLENMESİ ATAMA OPERATÖRÜ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü İşaretçi Elemanlı Sınıflar

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 5: Fonksiyonlar İçerik Standart Kütüphane Fonksiyonları Kullanıcı Tarafından Tanımlanan Fonksiyonlar Fonksiyon Tanımı Fonksiyon Prototipi void Fonksiyonları Parametreli

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C ve Fonksiyonlar Fonksiyon Tanımı 8. BÖLÜM 3 Fonksiyonlar

Detaylı

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

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. C PROGRAMLAMA FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra

Detaylı

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

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların

Detaylı

Hafta 13 Fonksiyonlar

Hafta 13 Fonksiyonlar BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.

Detaylı

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b. Diziler Dizi Nedir Ortak özelliğe sahip birden fazla bilginin oluşturduğu bütün bilgi kümelerine veya hafızada art arda sıralanmış aynı türden verilerin oluşturduğu yapıya dizi denir. Kısaca; Bellekte

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Derse Giriş Ders Web Sitesi: www.canerozcan.net Ofis Saatleri: Salı 11:00-13:00 Perşembe 15:30-17:30 ya da email ile randevu alınız: canerozcan@karabuk.edu.tr Kaynak Kitaplar:

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 11: Bileşim, Arkadaş ve Diğer Araçlar İçerik Bileşim Arkadaş Fonksiyonlar ve Sınıflar Arkadaş Fonksiyonlar Arkadaş Sınıflar Sabit Nesneler Sabit Üye Fonksiyonlar

Detaylı

Bilgisayar programlama III Fonksiyonlar

Bilgisayar programlama III Fonksiyonlar Bilgisayar programlama III Fonksiyonlar Fonksiyon C deki program modülleridir Verilen girdilere göre bir çıktı üreten veya işlem gerçekleştiren manalı, isimlendirilmiş kod parçasıdır. Kullanıcı tanımlı

Detaylı

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

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş Özlem AYDIN NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü C DİLİNİN BİR ÜST-KÜMESİ OLARAK C++ Genel olarak, C de mevcut olan her şey C++ da da vardır. C dilinde

Detaylı

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

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

MATLAB MATLAB MAT LAB MAT LAB MATLAB

MATLAB MATLAB MAT LAB MAT LAB MATLAB MATLAB 1.DERS MATLAB MATLAB, bilim adamları ve mühendislere, Fortran ve C gibi gelenekselleşmiş dillerde program yazmaksızın, matrislere dayalı problemleri çözmede kullanılmak üzere bir sayısal hesaplama

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

Detaylı

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

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Hazır Fonksiyonlar Standart Kütüphane

Detaylı

Genel Programlama I Ders 6

Genel Programlama I Ders 6 Genel Programlama I 04.11.2010 Ders 6 1 Fonksiyonlar C'de alt programlara fonksiyon denir. Fonksiyon sözcüğü burada matematiksel anlamıyla değil diğer programlama dillerinde kullanılan, "alt program",

Detaylı

Fonksiyon Türleri. Bildiğiniz gibi, C++'da iki fonksiyon türü ile karşılaşıyoruz. C++'nın kullanıma sunduğu hazır fonksiyonlar.

Fonksiyon Türleri. Bildiğiniz gibi, C++'da iki fonksiyon türü ile karşılaşıyoruz. C++'nın kullanıma sunduğu hazır fonksiyonlar. Fonksiyonlar Fonksiyon Nedir? Bir amaca hizmet eden program parçacıklarıdır. Fonksiyon çalıştırıldığında, bir işlemi yerine getirmesi yada bir değer döndürmesi istenecektir. Çağrılmış olan bir fonksiyon

Detaylı

Imports ifadesi, program satırlarının en üstüne (Public Class satırından önce) yazılmalıdır. Aksi halde hata mesajı ile karşılaşılır.

Imports ifadesi, program satırlarının en üstüne (Public Class satırından önce) yazılmalıdır. Aksi halde hata mesajı ile karşılaşılır. HAZIR FONKSİYONLAR IMPORTS ifadesi Imports, Microsoft firmasının Visual Studio ile Netframe altında tanımladığı ortak kütüphaneleri kullanabilme ifadesidir. Bu ifade sayesinde Visual Studio içindeki programlama

Detaylı

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

Sınav tarihi : Süre : 60 dak. Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Final Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 31.05.2016 Süre : 60 dak. 1. Ekranda ne görüntülenir? int i =

Detaylı

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

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

C++ Operatörler (Operators)

C++ Operatörler (Operators) C++ Operatörler (Operators) Konular Operatörler o Aritmetiksel (Matematiksel) Operatörler o Karşılaştırma Operatörleri o Mantıksal Operatörler o Atama Operatörleri o Bit Düzeyinde Operatörler o Özel Amaçlı

Detaylı

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2015-2016 GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ Cemil Hoca nın Grubu 3. ve 4. ÖDEV DOKÜMANI (Bu ödev hem 3.

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

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

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak. Selçuk Üniversitesi Mühendislik-Mimarlık Fakültesi Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :26.11.2012, 60 dak. Dikkat!!! Soru kitapçığında

Detaylı

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU Diziler Yrd.Doç.Dr.Bülent ÇOBANOĞLU Dizi (Array) Nedir? Bellekte sürekli yer kaplayan artarda sıralanmış aynı türden verilerin oluşturduğu kümeye dizi (array) denir. Dizi, çok fazla miktardaki tek tip

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar BLM-112 PROGRAMLAMA DİLLERİ II Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

Detaylı

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

Algoritma ve Programlama: Karar Yapıları ve Döngüler Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan

Detaylı

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

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar Değer Döndüren Fonksiyonlar Çok Parametreli Fonksiyonlar Değişken Kapsamları Çok Fonksiyonlu Programlar Fonksiyon Tanımı Karmaşıkveuzunprogramları,

Detaylı

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu WEB TASARIM I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta PHP Tanımı ve Sunucu Kurulumları 2. Hafta PHP Yazım Notasyonu

Detaylı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

Detaylı

11- FONKSİYONLAR (FUNCTIONS)

11- FONKSİYONLAR (FUNCTIONS) 1 Fonksiyon : Belirli bir işi yapan programın bir isim altına tanımlanarak, o isimle çağrılarak kullanılması. Fonksiyonun faydaları : Programın modülerliğini arttırır. Aynı işi yapan program parçası tekrar

Detaylı

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

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir. BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir. TC programı çalıştırıldığında C++ çalışma ortamı açılır. C++ çalışma ortamında istenirse yeni bir

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 6: Diziler İçerik Diziler Dizi Elemanlarına İlk Atama Diziler ve Fonksiyonlar İki Boyutlu Diziler İki Boyutlu Dizi Tanımı İki Boyutlu Dizi Elemanlarına Erişim

Detaylı

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

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 2 C Programlarının Yapısı 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 yapıtaşlarıdır. Bir C programının,

Detaylı

Bigisayar Programlama

Bigisayar Programlama Bigisayar Programlama (GÜZ 2015) DERS-02: C de Programlamaya Giriş Yrd. Doç Dr. Yakup EMÜL Cumhuriyet Üniv., Teknoloji Fakültesi Yazılım Mühendisliği Bölümü yakupemul@cumhuriyet.edu.tr Ofis Saatleri :

Detaylı

Program AkıĢ Kontrol Yapıları

Program AkıĢ Kontrol Yapıları C PROGRAMLAMA Program AkıĢ Kontrol Yapıları Normal Ģartlarda C dilinde bir programın çalıģması, komutların yukarıdan aģağıya doğru ve sırasıyla iģletilmesiyle gerçekleģtirilir. Ancak bazen problemin çözümü,

Detaylı

Program akıģı sırasında belirtilen satır numaralı yere gitmek için kullanılır. Genel formu: [<satır numarası>] GOTO <satır numarası 1> GOTO n

Program akıģı sırasında belirtilen satır numaralı yere gitmek için kullanılır. Genel formu: [<satır numarası>] GOTO <satır numarası 1> GOTO n KONTROL DEYİMLERİ Kontrol deyimleri bir programın normal akıģını değiģtirmek için kullanılır. Aksi söylenmedikçe programın komut satırları birbiri ardına çalıģtırılır. Program içindeki yapılan sorgulamalara

Detaylı

String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü String ve Karakter Dizileri #include Temel giriş çıkış akımları nesnelerinin tanımlandığı kütüphanedir. cin,cout,cerr,clog, wcin,wcout,wcerr,wclog nesneleri içerir. using namespace std; //std

Detaylı

3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta)

3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta) 3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta) Bilgisayar belleğine veri aktarılabilmesi (veri okutulması) için scanf() veya cin (consol input un kısaltılmışı) komutları kullanılabilir. Sonuçlarının ekrana aktarılması

Detaylı

Fall Object-Oriented Programming Laboratory 02 - Structures

Fall Object-Oriented Programming Laboratory 02 - Structures 2017-2018 Fall Object-Oriented Programming Laboratory 02 - Structures 10.10.2017 1. Diziler. Bir tamsayi dizisinin elemanlarını ekrana yazdırmak için void printarr(int arr[], int elem_count) prototipli

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Derse Giriş Ders Web Sitesi: www.canerozcan.net Ofis Saatleri: Salı 11:00-13:00 Perşembe 15:30-17:30 ya da email ile randevu alınız: canerozcan@karabuk.edu.tr Kaynak Kitaplar:

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :13.04.2017 60 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

FBEB-512. C++ ile Nesne Tabanlı Programlama. Güz (5. Hafta)

FBEB-512. C++ ile Nesne Tabanlı Programlama. Güz (5. Hafta) FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (5. Hafta) (Yrd. Doç. Dr. Deniz Dal) Diziler (Arrays) Diziler (arrays), aynı veri tipine sahip birden fazla veriyi bünyelerinde saklayan veri yapılarıdır.

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler C Programlama Dr. Serkan DİŞLİTAŞ 3.1. Sabitler Sabitler, tanımlanmasıyla birlikte program içerisinde

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 1 Fonksiyonlar Değişken Kontrol Fonksiyonları isset() Fonksiyonu Parametre olarak aldığı değişken

Detaylı

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak:  Published by Juan Soulié Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama

Detaylı

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA MATLAB 3.DERS disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA Daha önceki derslerimizde input komutu ile klavye üzerinden MATLAB programlama ortamına veri girmeyi öğrenmiştik. Bu dersimizde ise disp

Detaylı

#ifndef COMPLEX_H #define COMPLEX_H

#ifndef COMPLEX_H #define COMPLEX_H 16.10.2018 2018-2019 Güz Object-Oriented Programming Lab 03 Ön Çalışma - Bir kompleks sayının genliğini ve açısını hesaplamak için gerekli C/C++ fonksiyonları bulun, kütüphanelerini ve prototiplerini yazın,

Detaylı

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

BÖLÜM 4: DEĞİŞKENLER, SABİTLER VE OPERATÖRLER BÖLÜM 4: DEĞİŞKENLER, SABİTLER VE OPERATÖRLER C programlama dilinde, değişken, sabit, etiket ve fonksiyon isimleri programcı tarafından tanımlanır. İsimler, İngiliz alfabesini oluşturan 26 harf kullanılarak

Detaylı

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin); case 2 : C = 0.5088-0.0011*(B-135); break; case 3 : C = 0.4978-0.0010*(B-145); break; case 4 : C = 0.4878-0.0009*(B-155); break; default : printf("yanlış seçenek\n");} cout

Detaylı

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

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden

Detaylı

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

sayi=3 harf=a reelsayi=8.72 Bellek durumu 5. İşaretç iler (pointers) 5. İşaretç iler (pointers) C dilinin öyle bir özelliği vardır ki, programlama dilleri arasında kendisini diğerlerinden ayıran bir fark olarak sunulur: işaretçiler. Aslında, bazı diğer dillerde de direkt

Detaylı

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir. MATRİS TRANSPOZU: Bir matrisin satırlarını sütun, sütunlarınıda satır yaparak elde edilen matrise transpoz matris denilir. Diğer bir değişle, eğer A matrisi aşağıdaki gibi tanımlandıysa bu matrisin transpoz

Detaylı

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

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf Giriş GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI printf Fonksiyonu scanf Fonksiyonu Verilerin kaybolmaması için hafızada değişkenler içine yerleştirilmeleri gerekir. Bu veriler iki şekilde yerleştirilebilir. Değişkene

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 14: Çoklu İşlev İçerik Çoklu İşlevin Gerçekleştirilmesi Saf Sanal Fonksiyonlar ve Soyut Sınıflar Sanal Yıkıcı Fonksiyonlar Statik ve Dinamik Bağlama 2 Çoklu İşlev

Detaylı

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3 Genel Bakış Giriş Rastgele Sayı Rastgele Sayı Üreteci rand Fonksiyonunun İşlevi srand Fonksiyonunun İşlevi Monte Carlo Yöntemi Uygulama 1: Yazı-Tura

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

Detaylı

Bölüm 9. Altprogramlar ISBN

Bölüm 9. Altprogramlar ISBN Bölüm 9 Altprogramlar ISBN 0-321-49362-1 Giriş Bu bölümde, programlarda sıkça kullanılan işlemlerin bir araya gruplanması ile oluşturulan altprogramlar incelenecektir. Altprogramlar sayesinde bir programda

Detaylı

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır stringh floath Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır 32 Sorgulama İfadesi - if Deyimi (5 Hafta) Bu deyim sorgulamanın tek basamakta yapılacağı yerlerde

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 10: Yapıcı ve Yıkıcı Fonksiyonlar Yapıcı Fonksiyonlar İçerik Yapıcı Fonksiyon Tanımı Üyelere İlk Atama Yapıcı Fonksiyonu Yükleme Yapıcı Fonksiyon Çağırımı Kopya

Detaylı

BİLGİSAYAR PROGRAMLAMA

BİLGİSAYAR PROGRAMLAMA TAŞIT TEKNOLOJİLERİ KULÜBÜ BİLGİSAYAR PROGRAMLAMA C++ TEMEL ANLATIM 1 WWW.TASİTTEKNOLOJİLERİ.COM Bu materyal,bilgisayar programlama dersine çalışmakta sorun yaşayan arkadaşlarımız için Karabük Üniversitesi

Detaylı

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21 İÇİNDEKİLER VII İÇİNDEKİLER 1 PYTHON 1 Neden Python? 2 Python Sürümleri 2 Python Kurulumu 3 Windows Üzerinde Python 3 Ubuntu Üzerinde Python 6 Komut Satırında Python Çalıştırma 6 Windows komut istemi üzerinde

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 9: Sınıf İçerik Sınıf Tanımı Nesne Tanımı İkili Kapsam Çözme Operatörü UML ile Sınıfların Gösterimi 2 Sınıf kavramı, nesne-tabanlı programlamanın temelini oluşturur.

Detaylı

Giriş. ENF102 Jeoloji

Giriş. ENF102 Jeoloji DİZİLER Arrays Giriş Aynı isim altında, aynı türde birden fazla değer tutmak için kullanılan veri yapılarıdır (Data Structure). Dizi bir kümedir; aynı türde verilere tek bir isimle erişmek için kullanılır.

Detaylı

Standard Template Library

Standard Template Library Standard Template Library Uluslararası Bilgisayar Enstitüsü Ege Üniversitesi Ahmet Bilgili & Serkan Ergun STL ANSI/ISO Standard C++ ın içerdiği algoritmalar ANSI/ISO Standard C++ ın içerdiği algoritmalar

Detaylı

C de Detaylı Üs Alma Programı

C de Detaylı Üs Alma Programı C de Detaylı Üs Alma Programı Bu uygulama yazısında C de pow() fonksiyonunu kullanmadan üs hesabı yapan programı yazmaya çalıştım. Başta tanımladığım float tipinde 2 fonksiyon sayesinde + lı ve li üs değerleriyle

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

Detaylı

RAPOR VE FORMLARDA KULLANILAN FONKSİYONLAR

RAPOR VE FORMLARDA KULLANILAN FONKSİYONLAR RAPOR VE FORMLARDA KULLANILAN FONKSİYONLAR Rapor ve formlarda kullanılan fonksiyonları ve açıklamalarını bu makalede bulabilirsiniz. 1- MIN(number, number) 2- MAX(number, number) 3- MOD(number, divisor)

Detaylı

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

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

Detaylı

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü MATLAB a GİRİŞ Doç. Dr. Mehmet İTİK Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü İçerik: MATLAB nedir? MATLAB arayüzü ve Bileşenleri (Toolbox) Değişkenler, Matris ve Vektörler Aritmetik işlemler

Detaylı

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

BMT 101 Algoritma ve Programlama I 5. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 5. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Programlamaya Giriş Yük. Müh. Köksal Gündoğdu 2 Programlama Dili Bilgisayar dünyası 1960 lardan bu yana pek çok dille tanıştı.

Detaylı

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

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

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

int faktoriyel(int sayi) { int sonuc = 1; for(int i=sayi;i>0;i--) sonuc*=i; return sonuc; } int main() { int sayi = faktoriyel(5); } FONKSİYONLAR Fonksiyon, programcı tarafından seçilen bir kod bloğuna isim vermek için kullanılan araçtır. Fonksiyon ismi program içerisinde çağrıldığında fonksiyonun temsil ettiği kod çalıştırılır. Örneğin

Detaylı

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB Bilgisayar Programlama MATLAB Doç. Dr. Ġrfan KAYMAZ Matlab Ders Notları Konular: MATLAB ortamının tanıtımı Matlab sistemi (ara yüzey tanıtımı) a) Geliştirme ortamı b) Komut penceresi c) Başlatma penceresi

Detaylı

Algoritma ve Programlama II Recursive Fonksiyonlar Dosyalama

Algoritma ve Programlama II Recursive Fonksiyonlar Dosyalama Algoritma ve Programlama II Recursive Fonksiyonlar Dosyalama Rekürsif Algoritmalar Bir problemin çözümü için döngü kurulması gerekiyorsa bu ihtiyacı karşılamak için birisi çevirimli diğeri rekürsif olarak

Detaylı

Fonksiyonlar -Genel Test- A

Fonksiyonlar -Genel Test- A 1 Fonksiyonlar -Genel Test- A 1. C dilinde fonksiyon bildirimi için hangisi gereklidir? (a) Fonksiyonun döndüreceği veri tipi (b) Fonksionun adı (c) Fonksiyon parantezi ( ) (d) Hepsi 2. C dilinde fonksion

Detaylı