Nesne Yönelimli Programlamaya Giriş - 1. Cem Ahmet MERCAN 09/04/2009

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

Download "Nesne Yönelimli Programlamaya Giriş - 1. Cem Ahmet MERCAN 09/04/2009"

Transkript

1 Nesne Yönelimli Programlamaya Giriş - Cem Ahmet MERCAN 09/04/009

2 Nesne Yönelimli Programlama ) Object - Oriented Programming ( Bilgisayar programının, nesneler ve aralarındaki ilişkiler biçiminde yapılandırılmasıdır. Nesneler, sınıf denilen kalıplar kullanılarak oluşturulur. Bazı dillerde herşey bir nesnedir. Bunlara tam nesne yönelimli diller denir. Diğerlerinde ise nesneler kullanılabilmesine rağmen, herşey bir nesne değildir. C++, ikinci gruba girer.

3 Başlangıçta Programlama Değişken Tanımı Değişken Tanımı Değişken Tanımı if/ goto Değiş. Sonu Program alt alta yazılmış işler (komutlar) listesinden ibaret. Sınama (if) ve Atlama (goto) komutları ile kod basit bir listenin ötesinde bir işlev görür.

4 Başlangıçta Programlama Küçük kodlar için en basit yaklaşım. Küçük programlar için yazması en kolayı. Herşey programcının emrinde: Tüm verilere her yerden ulaşılabilir, her noktadan bir diğer noktaya atlanabilir.

5 Başlangıçta Programlama Birkaç yüz satırlık kodu takip etmek zor. Birkaç bin satır kodu anlamak imkansız gibi! Programın tekrar kullanım olanağı son derece sınırlı. Problemdeki en ufak bir değişiklik, kodda büyük değişiklikler gerektirebilir.

6 Programlar Kaç Satır? RedHat 7. ( 0 0 ): kernel mozilla XFree gcc LAPACK gimp mysql tetex qt-.. 0 Fedora 9 ( ): kernel OpenOff ice Gcc Ent. Sec. Client eclipse Mono f irefox bigloo. 0b gcc

7 Çözüm: Böl, Parçala, Yönet! (ama nasıl?)

8 Programlamada İstenen Özellikler Minimum Karmaşıklık Bakım Kolaylığı Taşınabilirlik Genişleyebilirlik Yeterli ve Gerekli Miktarda Özellik İçermek Yeniden Kullanılabilirlik Yüksek Çağrılma / Düşük Çeşitte Çağırma Bölümler Arası Maksimum Ayrışma Katmanlı Yapıda olmak Standart (Tanıdık ve Anlaşılabilir) bir yapı

9 Programlama Modelleri ) Paradigmaları ( Unstructured, Structured, Procedural, Modular, Object -oriented, Component based, DataFlow,...

10 Unstructured Programlama Değişken Tanımı Değişken Tanımı Değişken Tanımı if/ goto Değiş. Sonu Program alt alta yazılmış komutlardan oluşan tek bir dosya. Sınama (if) ve Atlama (goto) komutları ile değişik girdilerde / durumlarda da programın çalışması sağlanır.

11 Unstructured Programlama Sınama (if) ve Atlama (goto) komutları ile kod kolayca programcının anlama sınırlarının ötesinde bir karışıklığa ulaşır. Birkaç bin satır kodda takip etmek imkansız

12 yin: x=0; Örnek Program ) Unstructured Programlama ( int x=0, y=0; double xd[0][00], xb[0],xr[00],z; z=0.0; xin: z=z+xd[y][x]*xr[x]; x=x+; if (x<00) goto xin; xb[y]=z; y=y+; if (y<0) goto yin;

13 Programlama Modelleri ) Paradigmaları ( Unstructured, Structured, Procedural, Modular, Object -oriented, Component based, DataFlow,

14 Structured Programlama Değişken Tanımı Değişken Tanımı Değişken Tanımı for/ while Değiş. Sonu For-while-do döngü yapısı teoride bir if-goto ile aynı şey ise de, pratikte döngünün sınırlarının daha aşikar olmasını sağladığından okunurluk sağlar.

15 Örnek Program ) Structured Programlama ( int x, y; double xd[0][00], xb[0],xr[00],z; for (y=0; y<0; y++) { z=0.0; for (x=0; x<00; x++) { z=z+xd[y][x]*xr[x]; } xb[y]=z; }

16 Örnek Program (Kimlik Karşılaştır) Nüfus Cüzdanında 6 bilgi var! char Seri ] 4 [; char No] 8 [; char Tc] [; char Soyad ] [; char Ad] [; char Baba ] [; char Ana] [; char Dyeri ] [; unsigned DTarihi; char Cins; char MedeniHali; char Dini] 6 [; char Kan] 8 [; char KO_ il] [; char KO_ ilce] [; char KO_ mahkoy ] [; char KO_ ciltno] 8 [; char KO_ aileno ] 8 [; char KO_ sirano ] 8 [; char Veril _ Yer ] [; char Veril _ Neden ] 6 [; char KayitNo ] 8 [; unsigned Veril _ Tarihi; char Hazirlayan ] 64 [; char Onaylayan ] 64 [; char OnceSoyad ] [; En az x 6 = 5 Bilgi Karşılaştırılacak Güv enli çözüm 6 x5 = 0 Parametre ister.

17 int bulunan=-99; Kimlik Karşılaştır (Kod örneği, 78 parametreli) for (x=0 == ) then x<kayit_sayisi == ) then x++) { if (!strncmp(seri[x],a_seri,n_seri) &&!strncmp(no[x], a_no,n_no) &&! strncmp(tc[x], a_tc,n_tc) &&!strncmp(soyad[x], a_soyad, n_soyad) &&! strncmp(ad[x], a_ad, n_ad) &&!strncmp(baba[x], a_baba, n_baba) &&! strncmp(ana[x], a_ana, n_ana) &&!strncmp(dyeri[x], a_dyeri, n_dyeri) && (DTarihi == a_dtarihi) && (sizeof(a_dtarihi) == n_dtarihi) && (Cins == a_cins) && (n_cins == ) && (MedeniHali == a_medenihali) &&! strncmp(dini[x], a_dini, n_dini) &&!strncmp(kan[x], a_kan, n_kan) &&! strncmp(ko_il[x], a_ko_il, n_ko_il) &&!strncmp(ko_ilce[x], a_ko_ilce, n_ko_ilce) &&...

18 Kimlik Karşılaştır [Devamı] (Kod örneği, 78 parametreli)...!strncmp(ko_mahkoy[x], a_ko_mahkoy,n_ko_mahkoy) &&! strncmp(ko_ciltno[x], a_ko_ciltno, n_ko_ciltno) &&!strncmp(ko_aileno[x], a_ko_aileno, n_ko_aileno) &&!strncmp( KO_sirano[x], a_ko_sirano, n_ko_sirano) &&!strncmp(veril_yer[x], a_veril_yer, n_veril_yer) &&! strncmp( Veril_Neden[x], a_veril_neden, n_veril_neden) &&! strncmp(kayitno[x], a_kayitno, n_kayitno) && (Veril_Tarihi == A_Veril_Tarihi) && (sizeof(veril_tarihi) == n_veril_tarihi) &&! strncmp(hazirlayan[x], a_hazirlayan, n_hazirlayan)!strncmp( Onaylayan[x], a_onaylayan, n_onaylayan) &&!strncmp(oncesoyad[x], a_oncesoyad, n_oncesoyad)) { bulunan=x; break;} } if (bulunan<0) printf( Aranan Kayit Bulunamadi!\n ); else printf( Aynisi BULUNDU! Kayit No: %d\n,bulunan);

19 Programlama Modelleri ) Paradigmaları ( Unstructured, Structured, Procedural, Modular, Object -oriented, Component based, DataFlow,

20 Procedural Programlama Global Değişken G Yerel Değişken M Prosedür A Prosedür A Yerel Değişken Z Değiş. Sonu 4 Yerel Değişken P

21 Procedural Programlama Global Değişken G Yerel Değişken M Prosedür A Prosedür A Yerel Değişken Z Değiş. Sonu 4 5 Input Output Yerel Değiş. P Yerel Değiş. X

22 Örnek Program ) Procedural Programlama ( int main() { double xd[0][00], xb[0],xr[00]; matvecmul (double *res, double *mat, double *vec, int rown, int coln ) { double z; for (y=0; y<rown; y++) { matvecmul(xb,xd,xr,0,00); return 0; } } z=0.0; for (x=0; x<coln; x++) z=z+mat[(y*coln)+x]*vec[x]; res[y]=z; }

23 Procedural Programlama Özellikle diziler pointer ile fonksiyona geçilmesini gerektirdiği için tehlikededir. Pointer ile erişimde sorunlar: C'de dizi boyutu saklanmaz, diziler tehlikededir. Pointer aritmetiği hataya açıktır. Pointer ile ulaşılan veri değiştirilebilir. Değiştirilmesi gereken verinin içeriği sınırlanamaz.

24 Kimlik Karşılaştırması 4 (78 parametreli) int bulunan=-99; for (x=0; x<kayit_sayisi; x++) { if ( karsilastir( Seri[x],a_Seri,n_Seri, No[x],a_No,n_No, Tc[x],a_Tc,n_Tc, Soyad[x],a_Soyad,n_Soyad, Ad[x],a_Ad,n_Ad, Baba[x],a_Baba,n_Baba, Ana[x],a_Ana,n_Ana, Dyeri[x],a_Dyeri,n_Dyeri, Dtarihi,a_DTarihi,n_DTarihi, Cins,a_Cins,n_Cins, MedeniHali,a_MedeniHali, Dini[x],a_Dini,n_Dini,Kan[x],a_Kan,n_Kan, KO_il[x],a_KO_il,n_KO_il, KO_ilce[x],a_KO_ilce,n_KO_ilce, KO_mahkoy[x],a_KO_mahkoy,n_KO_mahkoy, KO_ciltno[x],a_KO_ciltno,n_KO_ciltno,...

25 Kimlik Karşılaştırması 5 (78 parametreli)... KO_aileno[x],a_KO_aileno,n_KO_aileno, KO_sirano[x],a_KO_sirano,n_KO_sirano, Veril_Yer[x],a_Veril_Yer,n_Veril_Yer, Veril_Neden[x],a_Veril_Neden,n_Veril_Neden, KayitNo[x],a_KayitNo,n_KayitNo, Veril_Tarihi,a_Veril_Tarihi,n_Veril_Tarihi, Hazirlayan[x],a_Hazirlayan,n_Hazirlayan, Onaylayan[x],a_Onaylayan,n_Onaylayan, OnceSoyad[x], a_oncesoyad,n_oncesoyad)) { bulunan=x; break;} } if (bulunan<0) printf( Aranan Kayit Bulunamadi!\n ); else printf( Aynisi BULUNDU! Kayit No: %d\n,bulunan);

26 Procedural Programlama Prosedür A Prosedür A Değiş. Sonu

27 Procedural Programlama Global Değişken G Prosedür A int Prosedür A Yerel Değişken M Yerel Değişken Z Değiş. Sonu int int char Struct double double int

28 Struct struct T arih { int Gun; int Ay; int Yil; }; bayram. Gun= ; bayram. Ay= 4 ; bayram. Yil= ; tatiller[0 ]. Gun= ; tatiller[5 ]. Yil= ; struct Tarih bayram; struct Tarih tatiller[ 0 ]; struct T arih * birgun; birgun = &bayram; birgun- > Gun= 0 ; birgun- > Ay= 8 ;

29 Örnek Program (Kimlik Karşılaştır) struct Kimlik Struct Kimlik { char Seri ] 4 [; char No] 8 [; char Tc] [; char Soyad ] [; char Ad] [; char Baba ] [; char Ana] [; char Dyeri ] [; char Cins; char MedeniHali; char Dini] 6 [; char Kan] 8 [; char KO_ il] [; char KO_ ilce] [; char KO_ mahkoy ] [; char KO_ ciltno] 8 [; char KO_ aileno ] 8 [; unsigned Dtarihi; char KO_ sirano ] 8 [; char Veril _ Yer ] [; char Veril _ Neden ] 6 [; char KayitNo ] 8 [; unsigned Veril _ Tarihi; char Hazirlayan ] 64 [; char Onaylayan ] 64 [; char OnceSoyad ] [; };

30 Kimlik Karşılaştırması 7 (78 parametreli) struct Kimlik aranan; struct Bakilacak bakilacak; struct Kimlik mevcut_kayitlar[kayit_sayisi]; int bulunan=-99; for (x=0; x<kayit_sayisi; x++) { if ( karsilastir( mevcut_kayitlar[x], aranan,bakilacak)) { bulunan=x; break; } } if (bulunan<0) printf( Aranan Kayit Bulunamadi!\n ); else printf( Aynisi BULUNDU! Kayit No: %d\n,bulunan);

31 Örnek Program (Kimlik Karşılaştır) Struct Kimlik / / DAHA SADE OLSA DAHA KULLANISLI OLURDU! struct Kimlik { char Seri ] 4 [; char No] 8 [; char Tc] [; char Soyad ] [; char Ad] [; char Baba ] [; char Ana] [; char Dyeri ] [; char Cins; char MedeniHali; char Dini] 6 [; char Kan] 8 [; char KO_ il] [; char KO_ ilce] [; char KO_ mahkoy ] [; char KO_ ciltno] 8 [; char KO_ aileno ] 8 [; unsigned Dtarihi; char KO_ sirano ] 8 [; char Veril _ Yer ] [; char Veril _ Neden ] 6 [; char KayitNo ] 8 [; unsigned Veril _ Tarihi; char Hazirlayan ] 64 [; char Onaylayan ] 64 [; char OnceSoyad ] [; };

32 Örnek Program (Kimlik Karşılaştır) Struct Kimlik struct Kimlik struct Kimlik struct Kimlik { { { char Soyad ] [; char Soyad ] [; char Soyad ] [; char Dini] 6 [; char Ad] [; char Ad] [; char Ad] [; char Kan] 8 [; }; char Baba ] [; char Baba ] [; char KO_ il] [; char Ana] [; char Ana] [; char KO_ ilce] [; char Dyeri ] [; char Dyeri ] [; char KO_ mahkoy ] [; unsigned Dtarihi; unsigned Dtarihi; char KO_ ciltno] 8 [; char Cins; char Cins; char KO_ aileno ] 8 [; char MedeniHali; char MedeniHali; char KO_ sirano ] 8 [; }; };

33 Kimlik Karşılaştırması 0 (78 parametreli) struct Kimlik aranan; struct Bakilacak bakilacak; struct Kimlik mevcut_kayitlar [ Kayit_Sayisi ]; int bulunan=-99; for (x=0; x<kayit_sayisi; x++) { if ( karsilastir ( mevcut_kayitlar [ x], aranan, bakilacak )) { bulunan=x; break; } } if (bulunan<0) printf( Aranan Kayit Bulunamadi!\n ); else printf( Aynisi BULUNDU! Kayit No: %d\n,bulunan);

34 Procedural Programlama Prosedür A Global Değişken G Yerel Değişken M Yerel Değişken Z. Değiş Sonu Prosedür A

35 Procedural Programlama Tek dosyada çok fazla fonksiyon kontrolü ve genel yapının anlaşılmasını engeller. Yazılan kodun başka projelerde de kullanılması zorlaştırır. Kodu başka programcılara kullandırmanın tek yolu tüm kodu vermektir. Kodu başka programcıların kullanmasının tek yolu kabaca da olsa tüm kodu anmalarıdır ki, hiçbir ayrıma gidilmeden verilecek yüzlerce binlerce fonksiyonu anlamak çok zor!

36 Procedural Programlama. Değiş Sonu Prosedür A Prosedür A Struct Struct Struct Struct Struct Struct

37 Procedural Programlama Tek dosyada çok fazla fonksiyon beraberinde birçok global değişken, macro ve diğer fonksiyonların kullandığı alt fonksiyonlar getirir. Kodu başka bir yerde kullanmaya kalkılınca bu yapılardan hangisinin hangi fonksiyon için gerekli olduğunu takip etmek çok zor. Kopyala yapıştır yöntemi binlerce satırda işe yaramaz. Başka dosyadan getirilen kod ile yeni dosyadaki kodda aynı isimli değişken/fonksiyon varsa tüm kodu gözden geçirmek gerekir ki çok zor!

38 Programlama Modelleri ) Paradigmaları ( Unstructured, Structured, Procedural, Modular, Object -oriented, Component based, DataFlow,

39 Modular Programlama Program herbiri kendi verisine sahip, belli bir iş için özelleşmiş ayrık parçalara ayrılır. Her parçanın kendi işileri için fonksiyonları vardır. Program, ana programın modülünün diğer modülleri (diğer modüllerin fonksiyonlarını) çalıştırması şeklinde bir ayrık yapıdadır. Modüller arası haberleşme bu amaçla yazılmış fonksiyonlar yolu ile olur.

40 Modular Programlama Modul Bildirimleri Global Değişken G Yerel Değişken M Prosedür Yerel Değişken Z Değiş. Sonu

41 Modular Programlama Modul Bildirimleri Global Değişken G Yerel Değişken M Struct Tanımı Procedür Tanımı Procedür Tanımı 4 5 Struct T anımı Procedür Tanımı 6 7 Yerel Değişken Z Procedür Tanımı Prosedür Değiş. Sonu Struct T anımı Procedür Tanımı Procedür Tanımı

42 Modular Programlama # include < A> Global Değişken G Yerel Değişken M Struct T anımı Procedür T anımı Procedür T anımı 4 5 # include < A> 6 7 Yerel Değişken Z Prosedür Değiş. Sonu

43 Örnek Program ) Procedural Programlama ( // ANA PROGRAM prog. cpp #include matvec.h int main() { double xd[0][00], xb[0],xr[00]; matvecmul(xb,xd,xr,0,00); return 0; } // M ODULE matvec. cpp #include matvec.h matvecmul (double *res, double *mat, double *vec, int rown, int coln ) { double z; for (y=0; y<rown; y++) { z=0.0; for (x=0; x<coln; x++) z=z+mat[(y*coln)+x]*vec[x]; // HEADER matvec. h matvecmul (double *res, double *mat, double *vec, int rown, int coln ); } } res[y]=z;

44 Modular Programlama Modüller veri ve fonksiyon karmaşasına bir çözüm getirir. Ancak bu struct ve fonksiyon çeşitliği sorununu çözmez, artırır. Ayrık veri yapıları, veri tipi güvenliğini bozar. Hazırlanırken ayrı yerlerde oldukları için modül yazımı kolaydır, ama kullanırken tekrar bir araya geldikleri için kullanımları karışıklaşır. Verileri ayrılığı, bilmediğiniz bir kodun verilerini koruma zorunluluğunu (zorluğunu) getirir.

45 Örnek Program (Kimlik Karşılaştır) Struct Kimlik MODULE A MODULE B MODULE C Tümü Aynı struct Kimlik struct Kimlik struct Kimlik İsimde! { { { char Soyad ] [; char Soyad ] [; char Soyad ] [; char Dini] 6 [; char Ad] [; char Ad] [; char Ad] [; char Kan] 8 [; }; char Baba ] [; char Baba ] [; char KO_ il] [; char Ana] [; char Ana] [; char KO_ ilce] [; char Dyeri ] [; char Dyeri ] [; char KO_ mahkoy ] [; unsigned Dtarihi; unsigned Dtarihi; char KO_ ciltno] 8 [; char Cins; char Cins; char KO_ aileno ] 8 [; char MedeniHali; char MedeniHali; char KO_ sirano ] 8 [; }; };

46 Örnek Program (Kimlik Karşılaştır) Struct Kimlik / / MODULE A, parametreli Kimlik struct' ını kullanıyor Karsilastir ( struct * Kimlik a, struct Kimlik b ) {... }; / / MODULE B, 8 parametreli Kimlik struct' ını kullanıyor Karsilastir ( struct * Kimlik a, struct Kimlik b, struct Bakilacak c ) {... }; / / MODULE C, 7 8 parametreli Kimlik struct' ını kullanıyor Karsilastir ( struct * Kimlik a, struct Kimlik b, struct Bakilacak c ) {... };

47 Programlama Modelleri (Paradigmaları) Unstructured, Structured, Procedural, Modular, Object- oriented, Component based, DataFlow,

48 Object - Oriented Programlama Global Değişken G int Yerel Değişken M Method Method 4 Yerel Değişken Z Değiş. Sonu int Pro te cte d: Public: char double double int Method Method Method Method int 4

49 Class class Tarih { priv ate: public: int Gun; int Ay; int Yil; int gun() { return Gun;} int ay() { return Ay;} int yil() { return Yil;} bool Tarih:: ayarla( int g, int a, int y) } { if (( g > 0 )&&( g< = )) return false; if (( a > 0 )&&( a< = )) return false; if (( y > 0 )&&( g< = )) return false; Gun= g; Ay= a; Yil= y; return true; bool ayarla( int g, int a, int y); };

50 Class T arih bayram; Tarih tatiller[ 0 ]; T arih * birgun; bayram. Gun= ; bayram. Ay= 4 ; bayram. Yil= ; HATA! HATA! HATA! Derlenemez birgun = &bayram; tatiller[0 ]. ayarla(,, 0 0 ); x= tatiller[5 ]. gun(); bayram. ayarla(,4, ); cout< < Gün: < < bayram. gun(); birgun- > ayarla(,, ); cout< < Ay: < < bayram. ay(); cout< < Yıl: < < bayram. yil(); birgun- > ayarla(, 6, ); birgun- > ayarla(-,0,- 9 );

51 Örnek Program ) Object - Oriented Programlama ( // ANA PROGRAM prog. cpp #include matvec.h // M ODULE matvec. cpp #include matvec.h int main() { matrix xd(0,00); vector xb(0), xr(00); return 0; } xb=xd*xr; // HEADER matvec. h matrix::matrix (int x, int y) {... } vector * matrix::operator* (matrix x, vector y) {... } vector::vector(int s) {... } vector & vector::operator= (vector & a) {... } class matrix {... } class vector {... }

52 Programlama Modelleri (Paradigmaları) Unstructured, Structured, Procedural, Modular, Object -oriented, Component based, DataFlow,

53 Referanslar ) ( More than a Gigabuck : Estimating GNU/ Linux' ssize '' by David A. Wheeler, located at wwwdwheeler.. com / sloc ) ( Estimating the Total Development Cost of a Linux Distribution By Amanda McPherson, Brian Proff itt, and Ron Hale- Evans. wwwlinuxfoundation.. org/ publications / estimatinglinux. php ) ( Code Complete, second edition, Steve McConnell, Microsoft Press, ISBN : ) 4 ( Introduction to Object - Oriented Programming Using C + +, Peter Müller, gd. tuwien. ac. at / languages / c/ c+ + oop - pmueller / tutorial. html ) 5 ( en. wikipedia. org/ wiki / Object - orientated _ programming

Nesne Yönelimli Programlamaya Giriş - 2. Cem Ahmet MERCAN 16/04/2009

Nesne Yönelimli Programlamaya Giriş - 2. Cem Ahmet MERCAN  16/04/2009 Nesne Yönelimli Programlamaya Giriş - 2 Cem Ahmet MERCAN http://www.be.itu.edu.tr/~mercan/ 16/04/2009 Nesne Yönelimli Programlama Kavramlar Class (Sınıf): Nesneyi tanımlayan teorik yapıdır. Nesnenin yetenek

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ı

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

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ı

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri ORACLE DA KÜRSÖRLER Gerekli sistem değişkenleri SQL%ISOPEN : kürsör açıksa değeri true, kapalı ise değeri false SQL%ROWCOUNT : sql ile işlem gören kayıt sayısı bulunur. SQL%FOUND : sql işlemi sonucu, en

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ı

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ı

Telefon Rehberi Uygulaması

Telefon Rehberi Uygulaması Sayfa1 Telefon Rehberi Uygulaması Uygulama, temel düzeyde, telefon rehberi üzerinedir. Kullanıcı, telefon rehberine eklediği her bir kayıt içi ad, soyad, ev telefonu ve üç adet cep telefonu bilgisi girebilmektedir.

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ı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma C Programlama Dr. Serkan DİŞLİTAŞ 7.1. Metot Kavramı Programlama dillerinde bütün kod satırlarının

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ı

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ı

Linux Assembly Programlamaya Giriş

Linux Assembly Programlamaya Giriş Linux Assembly Programlamaya Giriş Barış Metin Konular gcc / gas / ld Intel ve AT&T söz dizimleri gdb INT 80H C kütüphane fonksiyonları Stack Frame Örnek

Detaylı

8. İŞARETCİLER (POINTERS)

8. İŞARETCİLER (POINTERS) 8. İŞARETCİLER (POINTERS) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ilişkilidir. Donanımsal açıdan adres bellekte yer gösteren

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ı

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ı

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 Program Akış Kontrol Yapıları Kontrol Komutları Normal şartlarda C dilinde bir programın çalışması, komutların

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ı

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ı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 1 hafta Ödev No : 5 1. Aşağıdaki programların çıktısı

Detaylı

TEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

TEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1 PARAMETRİKÇOKŞEKİLLİLİK: TEMPLATES Binnur Kurt kurt@cs.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi C++ ile Nesneye Dayalı Programlama 1 Sınıf Yapısı Kalıtım Çok Şekillilik Templates

Detaylı

BİLG Dr. Mustafa T. Babagil 1

BİLG Dr. Mustafa T. Babagil 1 BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)

Detaylı

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

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Nisan 2009 9031150 - Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Referans: Bugün: 1. Ders Notları. Ders #4.1 Tekrar Dowhile ve for döngüleri Diziler Göstergeler 1. Tekrar for döngüleri Genel yazılımı

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ı

Fall Object-Oriented Programming Laboratory 03

Fall Object-Oriented Programming Laboratory 03 2017-2018 Fall Object-Oriented Programming Laboratory 03 17.10.2017 1. Çok Dosyalı Proje. Aşağıda, katilimci structure ı için oluşturulmuş bir programın kaynak kodu verilmiştir. Kaynak kodu okuyun ve programın

Detaylı

T.C. MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI. 2011-12 Bahar Yarıyılı

T.C. MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI. 2011-12 Bahar Yarıyılı T.C. MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI 2011-12 Bahar Yarıyılı ALGORİTMA VE PROGRAMLAMA BİL 133 5 AKTS Kredisi 1. yıl 1. yarıyıl Lisans Zorunlu 4 saat/hafta

Detaylı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

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ı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

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ı

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ı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/ GENEL TEKRAR 1) /*Kullanıcının belirlediği sayı kadar dikdörtgenin kenar bilgilerini kullanıcıdan alan, dikdörtgenlerin alan ve çevresini alt fonksiyon yardımı ile hesaplayan ve sonuçları ekrana yazan

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ı

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ı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

Detaylı

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr.

Detaylı

Lambda İfadeleri (Lambda Expressions)

Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya

Detaylı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

Detaylı

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

Bölüm 2 - C ile Programlamaya Giriş 1 Bölüm 2 - C ile Programlamaya Giriş Başlıklar 2.1 Giriş 2.2 Basit C Programları: Bir Metni Yazdırmak 2.3 Basit C Programları: İki Tam Sayıyı Toplamak 2.4 Hafıza Konuları 2.5 C de Aritmetik 2.6 Karar

Detaylı

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir. İST 205 Bilgisayar Programlama III C Programlamaya Giriş ve Matematiksel-İstatistiksel Uygulamalar Y.Doç.Dr. Levent Özbek Ankara Üniversitesi Fen Fakültesi İstatistik Bölümü Tel: 0.312.2126720/1420 ozbek@science.ankara.edu.tr

Detaylı

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur:

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur: Jval tipi /blugreen/homes/plank/cs360/include/jval.h içerisinde bir Jval tipi tanımlanmıştır.büyük bir union yapısı aşağıdadır: typedef union { int i; long l; double d; void *v; char *s; char c; unsigned

Detaylı

BLM 111 Algoritma ve Programlama I Güz 2018

BLM 111 Algoritma ve Programlama I Güz 2018 BLM 111 Algoritma ve Programlama I Güz 2018 Eğitmen: Dr. Umut Konur konur@beun.edu.tr 2618 Asistanlar: Batuhan Cem Öğe, Murat Varul, Ersin Kılıç Ders kitabı: Deitel & Deitel, C ve C++, Prentice Hall Başvuru

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ı

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ Nesneye Yönelik Programlama C++ ile Beaglebone Black de Bluetooth Haberleşmesi Danışman: Yrd. Doç. Dr. Mehmet YAKUT Sinan

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ı

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; } for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) ifadeler; Başlangıç değeri; koşul içinde tanımladığımız değişkene ilk değerin atanmasını sağlar. Koşul: Döngünün

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak

Detaylı

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

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders08/ 1 Yapısal Veri Tipleri C dili genişletilebilen bir dildir. Var olan veri tipleri kullanılarak yeni veri tipleri tanımlanıp kullanılabilir. Programlama

Detaylı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

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ı

Lab Notları 4. for ( ilklenme yeri bir kez çalışır ; Kontrol yeri her döngüde bakılır ; Güncelleme yeri her döngüde )

Lab Notları 4. for ( ilklenme yeri bir kez çalışır ; Kontrol yeri her döngüde bakılır ; Güncelleme yeri her döngüde ) Lab Notları 4 1. Döngüler Bir program yazıldığı vakit bazı durumlarda bir satırın birden çok kez çalıştırılması düşünülebilir. Örneğin ekrana 1 den 100 e kadar sayılar yazılmak isteniyor. Bu durumda hepsini

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

DERSİN WEB SİTESİ:

DERSİN WEB SİTESİ: BİLGİSAYAR PROGRAMLAMA II C++ Programlamaya Giriş http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié THEORY AND PROBLEMS of PROGRAMMING WITH C++ Second Edition JOHN R. HUBBARD, Ph.D. Professor

Detaylı

Karma C/C + + Kodlama

Karma C/C + + Kodlama Karma C/C+ + Kodlama /********************************************************** * Bâkır EMRE * emre ~ enderunix.org * EnderUNIX Yazılım Gelistirme Takım ı * http:/ /www.enderunix.org * * Sürüm : 1.0 *

Detaylı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

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

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

Detaylı

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ DÖNEM SONU SINAVI GÜZ 2009-2010 13 Ocak 2010, Sınav Süresi: 120 dakika. İsim

Detaylı

Bölüm 1 PROGRAMLAMAYA GİRİŞ. Bölüm 2 ALGORİTMA

Bölüm 1 PROGRAMLAMAYA GİRİŞ. Bölüm 2 ALGORİTMA İçindekiler Önsöz... 5 Bölüm 1 PROGRAMLAMAYA GİRİŞ I. GİRİŞ... 17 II. PROGRAMLAMA DİLLERİ... 19 III. İŞLEMLER... 20 A. Matematiksel İşlemler... 21 B. Karşılaştırma İşlemleri... 26 C. Mantıksal İşlemler...

Detaylı

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

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri 49 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B02) Çalıştırılabilir C ifadeleri ya bir işlem gerçekleştirir ( girilen verilerin toplanması

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ı

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır: C VERİ TÜRLERİ BASİT VERİ TÜRLERİ Değişkenler, program içinde üzerinde işlem yapılan, veri saklanan ve durumlarına göre programın akışı sağlanan nesnelerdir. C de bir değişken kullanılmadan önce tanımlanmalıdır.

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ı

Object-Oriented Programming Lab 4. - Sıcaklık değeri, Kelvin biriminde saklansın. Varsayılan sıcaklık değeri K olsun.

Object-Oriented Programming Lab 4. - Sıcaklık değeri, Kelvin biriminde saklansın. Varsayılan sıcaklık değeri K olsun. 04.08.2017 Object-Oriented Programming Lab 4 1. class sicaklik sicaklik class ı oluşturun. - Sıcaklık değeri, Kelvin biriminde saklansın. Varsayılan sıcaklık değeri 273.15 K olsun. - okucel, okufah ve

Detaylı

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler Programlama Dilleri 1 Ders 12: Belirleyiciler ve Niteleyiciler Genel Bakış Giriş Yer Belirleyicilerle Bildirim İşlemi auto Belirleyicisi register Belirleyicisi static Belirleyicisi Statik ve Global Değişkenlerin

Detaylı

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar. DİZİLER 8. Bölüm Dizi aynı ad altında toplanmış ve aynı tipte olan değişkenlerin sıralı bir listesidir. C de bir dizi için bildirim yapılırken kullanılan genel kural şudur. tip dizi_ismi[eleman_sayısı];

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ı

Eln 1002 Bilgisayar Programlama II

Eln 1002 Bilgisayar Programlama II Eln 1002 Bilgisayar Programlama II C»de Dosya ğşleme : S¹ral¹ EriŞim Ne ÖĆreneceĆiz? Dosyalar ve Streamler Sequential (sıralı) erişim dosyaların yaratılması Sıralı Erişim Dosyalarından Veri Okuma Sıralı

Detaylı

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

BMT 101 Algoritma ve Programlama I Güz Dönemi. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 2016 2017 Güz Dönemi Yük. Müh. Köksal Gündoğdu 1 Elektrik Elektronik ve Bilgisayar Yük. Müh. Köksal Gündoğdu koksalgundogdu@ekargemuhendislik.com Yük. Müh. Köksal Gündoğdu

Detaylı

Ruby. Prof.Dr.Timur Karaçay Başkent Üniversitesi

Ruby. Prof.Dr.Timur Karaçay Başkent Üniversitesi Ruby Prof.Dr.Timur Karaçay Başkent Üniversitesi Eylül 2014 2 Aren e ve Altan a ii Önsöz Ruby dilinin yaratıcısı Yukihiro Matsumoto, onu kısaca Matz diye çağırırlar, yarattığı dili şöyle anlatıyor: Ruby

Detaylı

Bilgisayar Programlama. 1.Hafta

Bilgisayar Programlama. 1.Hafta Bilgisayar Programlama 1.Hafta Ders Planı 1. Bilgisayar Programlamaya Giriş 2. C Derleyicileri 3. GCC Kullanımı 4. Veri Tipleri ve Operatörler 5. Kontrol Yapıları 6. Döngüler 7. Döngüler 2. Hafta 8. Fonksiyonlar

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 Koşul Karşılaştırma Operatörleri Mantıksal

Detaylı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar İki Yönlü Bağlantılı Liste Uygulaması HAZIRLAYAN

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ı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 7 ****(ilk 3 soru çıktı üzerinde el

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 22.03.2011 1 Yapılar ( Structures ) Yapılar ( structures ); tam sayı, karakter vb. veri tiplerini gruplayıp, tek bir çatı altında toplar. Bu gruplandırma içinde aynı ya da farklı veri

Detaylı

C Programlama printf() Fonksiyonu

C Programlama printf() Fonksiyonu C Programlama printf() Fonksiyonu Standart C kütüphanesinin bir parçası olan printf() C Programlama Dili'nin genel amaçlı çıktı alma fonksiyonudur. Girdi ve çıktı deyimleri gerçekte C dilinin bir parçası

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ı

Teknikleri. Önsöz. iskender atasoy

Teknikleri. Önsöz. iskender atasoy Linux Altı nda Grafik Programlama Teknikleri Önsöz Linux atında yazılım geliştirmeyi düşünüyorsunuz veya geliştiriyorsunuz.artık programlarınızı görsel bileşenler ile süslemek istiyorsanız bu doküman sizlere

Detaylı

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) 1. Kendisine gönderilen iki karakter dizisini birleştirip geriye tek bir dizi döndüren ve

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 7: Yapılar Diziler İçerik Yapıların Tanımı Yapılara İlk Değer Atama Yapı Elemanlarına Erişim İç içe Yapılar Yapılar ve Fonksiyonlar 2 Yapılar (structures) içinde

Detaylı

/* Çember alanını hesaplar */

/* Çember alanını hesaplar */ ÖNİŞLEME KOMUTLARI /* Çember alanını hesaplar */ #include #define PI 3.14 int yaricap; float alan; printf( "Çemberin yarı çapını giriniz> " ); scanf( "%d", &yaricap ); alan = PI * yaricap * yaricap;

Detaylı

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir. PHP'nin Temelleri PHP Nedir? PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler (operatörler), işlemcilerle oluşturulan deyimler ve nihayet

Detaylı

BİLİNİRLİK ALANI ve ÖMÜR, KONTROL DEYİMLERİ

BİLİNİRLİK ALANI ve ÖMÜR, KONTROL DEYİMLERİ BİLİNİRLİK ALANI ve ÖMÜR, KONTROL DEYİMLERİ Kaynak: C ve Sistem Programcıları Derneği Kurs notu Öğr.Gör.Dr. Mahmut YALÇIN Bilinirlik Alanı Bilinirlik alanı (scope), bir ismin tanınabildiği program aralığıdır.

Detaylı

5. PROGRAMLA DİLLERİ. 5.1 Giriş

5. PROGRAMLA DİLLERİ. 5.1 Giriş 5. PROGRAMLA DİLLERİ 8.1 Giriş 8.2 Yazılım Geliştirme Süreci 8.3 Yazılım Geliştirme Sürecinde Programlama Dilinin Önemi 8.4 Programlama Dillerinin Tarihçesi 8.5 Programlama Dillerinin Sınıflandırılması

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki

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 Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

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

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu

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ı

Programlamaya Giriş Karar Yapıları, Tekrarlı İfadeler(Döngüler)

Programlamaya Giriş Karar Yapıları, Tekrarlı İfadeler(Döngüler) Programlamaya Giriş Karar Yapıları, Tekrarlı İfadeler(Döngüler) Konular Program Blokları Sıra Yapısı Kontrol Yapıları Karar Yapıları (İf) İf/Else İç İçe İf/Else Switch-Case (Çoklu Dallanma Yapıları) Döngüler

Detaylı

Yordamsal Tabanlı Programlama

Yordamsal Tabanlı Programlama Yordamsal Tabanlı Programlama Procedural Programming (Yordamsal Programlama) Subprograms, functions/procedures kullanarak programı kısımlara ayırma prensibiyle çalışır. Programlamadaki karmaşıklık yordamlar

Detaylı

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar Bölüm 5 Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar İçindekiler 5.1 Formatlı Yazdırma............................ 34 5.2 Döngü Deyimleri............................. 34 5.2.1

Detaylı

Programlama Dilleri Laboratuvarı

Programlama Dilleri Laboratuvarı 2014 2015 Programlama Dilleri Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. İsmail KURNAZ Laboratuvar Sorumluları: İÇİNDEKİLER Deney 1: Bilgisayar Kavramları, Algoritma Geliştirme ve Çözümü, Programlamaya

Detaylı

BİLG214. 20.10.2009 Dr. Mustafa T. Babagil 1

BİLG214. 20.10.2009 Dr. Mustafa T. Babagil 1 BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)

Detaylı

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları Döngüler Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut for Komutu do-while Komutu İçiçe Döngüler break ve continue Komutları while Komutu Döngü komutları komutların bir çok kez yeniden yürülmesini

Detaylı