FBEB-512. C++ ile Nesne Tabanlı Programlama. Güz (5. Hafta)
|
|
- Turgay Göllü
- 7 yıl önce
- İzleme sayısı:
Transkript
1 FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (5. Hafta) (Yrd. Doç. Dr. Deniz Dal)
2 Diziler (Arrays) Diziler (arrays), aynı veri tipine sahip birden fazla veriyi bünyelerinde saklayan veri yapılarıdır. (Data Structures) Değişkenler içerisinde yalnız bir tek bilgi depolarken dizileri kullanarak aynı türden birden fazla bilgiyi saklayabiliriz. Programımız içerisinde kullanacağımız 100 adet tamsayıyı 100 farklı değişken içinde saklamak yerine bu amaçla içinde 100 tamsayı saklı bir dizi kullanmak daha mantıklıdır.
3 Diziler (Arrays) C++ ta diziler statik yapılardır. Yani program işletilmeden önce depolayacakları bilgi miktarı belirlidir ve işletilme esnasında bu miktar hiçbir şekilde değiştirilemez. Daha sonraki derslerimizde göreceğimiz bazı veri yapılarının (örneğin list, queue ve stack) işletilme esnasında kapasiteleri büyüyebilir veya küçülebilir.
4 Diziler (Arrays) Bir dizinin elemanlarının hepsi aynı veri tipine sahiptir ve bellekte ardışıl olarak sıralanırlar. Bir dizinin elemanlarına indeks (index) ile ulaşılır. İndeks: Belirli bir dizi elemanına ulaşmak amacıyla pozisyon numarası olarak kullanılır. Köşeli parantezler [ ] içine yazılır. Dizinin ilk elemanının indeks değeri daima sıfırdır.!!!!!!! Örneğin (a = 5 ve b = 6 değerleri için) c[ a + b ] += 2; deyimi c[11] dizi elemanının değerine 2 ekler.
5 c dizinin adıdır. c dizisi 12 elemana sahiptir. ( c[0], c[1], c[11] ) c[0] `ın (yani dizinin ilk elemanının) değeri -45 tir.
6 !!! Dikkat!!! Dizilerin indeks numaraları sıfırdan başladığı için, c[7] ile bu dizinin yedinci elemanı farklı şeyleri ifade eder. c[7] normalde dizinin sekizinci elemanıdır.
7 Dizilerin Deklare Edilmesi Dizinin boyutunu ve dizi elemanlarının veri tipini programcı belirler. Örnek: int c[ 12 ]; deyimi c adında içinde 12 tane integer saklayan bir dizi tanımlar. Bir dizinin boyutu sıfırdan büyük bir integer değerine sahip olmalıdır.
8 Döngü ile Dizi Elemanlarına İlk Değer Atama 1. Diziyi boyutu ve saklayacağı veri tipi ile deklare et. 2. Herhangi bir döngü yapısı kullanarak herbir dizi elemanına bir ilk değer ata. (Mesela, çok yaygın bir uygulama olarak, başlangıçta tüm dizi elemanlarına sıfır değeri atanabilir.)
9 1 2 // Dizi elemanlarına ilk değer atanması 3 #include <iostream> //cout, left, right ve endl 4 #include <iomanip> //setw 5 using namespace std; int main() 11 { 12 int n[ 10 ]; // İçerisinde 10 tamsayı saklayan n adlı bir dizi deklarasyonu // Bir döngü yardımıyla dizi elemanlarına ilk değer olarak sıfır atama 15 for ( int i = 0; i < 10; i++ ) 16 n[ i ] = 0; // Dizinin i. elemanına sıfır ata cout << "Eleman" << setw( 13 ) << "Deger" << endl; cout << "Eleman" <<right<<setw( 13 ) << Deger" << endl; //varsayilan olarak zaten saga dayali cout << "Eleman" <<left<< setw( 13 ) << Deger" << endl;
10 19 20 // Dizinin herbir elemanını yazdır 21 for ( int j = 0; j < 10; j++ ) 22 cout << setw( 6 ) << j << setw( 13 ) << n[ j ] << endl; return 0; 25 } Eleman Deger
11 İlk Değer Atama Listesi ile Dizi Oluşturma Bir dizi hem deklare edilebilir hem de aynı anda ilk değer atama listesi (initializer list) yardımıyla dizi elemanlarına ilk değer atanabilir. Dizi elemanları parantez içine ( { } ) yazılan ilk değer atama listesindeki değerlerle atanırlar ve bu elemanlar birbirlerinden virgül ile ayrılırlar. Örnek: int n[] = { 10, 20, 30, 40, 50 }; Dizinin boyutu bu tanımda yazılmadığı için derleyici bu dizinin boyutunu ilk değer atama listesinin eleman sayısını temel alarak belirler. Yukaridaki deyim 5 elemanlı bir dizi tanımlar. Dizi elemanlarının indeks değerleri sırasıyla: 0, 1, 2, 3, 4 Dizi elemanlarının ilk değerleri sırasıyla: 10, 20, 30, 40, 50
12 İlk Değer Atama Listesi ile Dizi Oluşturma Eğer ilk atama değer listesindeki eleman sayısı dizinin boyutundan az ise kalan elemanlara sıfır değeri atanır. Örnek: int n[ 10 ] = { 0 }; Dizinin ilk elemanının değeri olarak sıfır seçildiği açıkça bellidir. Kalan dokuz elemanın değeri olarak yine sıfır atanacağı dolaylı olarak bilinir. Eğer ilk değer atama listesindeki eleman sayısı dizinin boyutundan fazla ise derleyici hata verir.
13 Sabit Değişkenler (Constant Variables) Bu başlık sizlere de ilginç geldi mi? (Oxymoron) Bu tür değişkenler const anahtar kelimesi ile deklare edilirler. Sadece okunabilir değişkenler (read-only variables) olarak da adlandırılırlar. Bu tür değişkenlere, deklare edildikleri anda muhakkak bir ilk değer ataması yapılır ve bu değer daha sonra değiştirilemez. Sabit değişken tanımlamak ve bunu dizilerin boyutu olarak kullanmak genel olarak tercih edilen bir yoldur. Sebep?
14 Sabit Değişkenler (Constant Variables) Sabit değişkenleri diğer değişkenlerden ayırtedebilmek için kullanılabilecek bir notasyon: Sabit değişken isimlerinin bütün karakterlerini büyük harfle yaz, değişken ismi birden fazla kelimeden oluşuyorsa kelimeleri birbirinden alt çizgilerle ayır. ÖRNEK: const int DIZI_BOYUTU;
15 1 2 // sabit degisken tanimlama ve kullanma 3 #include <iostream> //cout ve endl 4 using namespace std; int main() 8 { 9 const int X = 7; // ilk deger atanmis sabit degisken cout << "The value of constant variable X is: " << X << endl; return 0; 14 } The value of constant variable X is: 7
16 1 2 // Sabit bir degiskene deklarasyon aninda muhakkak bir ilk deger atanmalidir 3 4 int main() 5 { 6 const int X; // Error: X must be initialized 7 8 X = 7; // Error: cannot modify a const variable 9 10 return 0; 11 } Borland C++ command-line compiler error message: Error E2304 fig07_07.cpp 6: Constant variable 'x' must be initialized in function main() Error E2024 fig07_07.cpp 8: Cannot modify a const object in function main() Microsoft Visual C++.NET compiler error message: C:\cpphtp5_examples\ch07\fig07_07.cpp(6) : error C2734: 'x' : const object must be initialized if not extern C:\cpphtp5_examples\ch07\fig07_07.cpp(8) : error C2166: l-value specifies const object GNU C++ compiler error message: fig07_07.cpp:6: error: uninitialized const `x' fig07_07.cpp:8: error: assignment of read-only variable `x'
17 Bir Dizinin Elemanlarını Toplayan Program 1 2 // Bir dizinin elemanlarının değerlerini toplayan program 3 #include <iostream> //cout ve endl 4 using namespace std; int main() 8 { 9 const int DIZI_BOYUTU = 10; // Dizinin boyutunu saklayan sabit değişken 10 int a[ DIZI_BOYUTU ] = { 87, 68, 94, 100, 83, 78, 85, 91, 76, 87 }; 11 int toplam = 0; for ( int i = 0; i < DIZI_BOYUTU; i++ ) 15 toplam += a[ i ]; cout << "Dizi elemanlarinin toplami: " << toplam << endl; return 0; 20 } Dizi elemanlarinin toplami: 849
18 !!! Dikkat!!! Eğer bir dizinin elemanları bir döngü içerisinde değerlendiriliyorsa, diziye ulaşmamızı sağlayan indeks değeri hiçbir zaman sıfır değerinin altına düşmemeli ve daima dizinin sahip olduğu eleman sayısından küçük olmalıdır.
19 Karakter Dizileri Kullanarak String Manipülasyonu Karakter dizileri kullanarak string depolayabilir ve manipüle edebiliriz. String leri char veri tipi ile tanımladığımız dizilerde depolayabiliriz. Örnek: (Aşağıdaki iki kullanım birbirine denktir.) 1. char string1[] = "Hi"; 2. char string1[] = { 'H', 'i', '\0' }; Örnekteki dizi, depolanması istenen karakterleri ve dizinin en son elamanı olarak da özel bir karakter olan ve Null karakteri ('\0') diye adlandırılan string sonlandırma karakterini (string-termination character) muhafaza eder.
20 Karakter Dizileri Kullanarak String Manipülasyonu cin>> kullanarak klavyeden girilen bir string i bir karakter dizisinin içine atayabiliriz. Örnek: cin >> string1; Fakat cin>> ile dizinin kapasitesinden fazla karakterin okunabileceği unutulmamalıdır. Fazladan girilen bilgi kaybolacaktır. Null ile sonlandırılmış bir string i temsil eden bir karakter dizisi cout<< ile ekrana yazdırılabilir.
21 1 2 // Karakter dizileri string oluşturmak için kullanılabilir 3 #include <iostream> //cout, cin ve endl 4 using namespace std; int main() 9 { 10 char string1[ 20 ]; // 20 karakter saklayan bir dizi (NULL dahil) 11 char string2[] = "String Dizisi"; // 14 karakter rezerve edilir (NULL dahil) cout << "\"Merhaba Dunya\" yaz: "; 15 cin >> string1; // string1 içerisine sadece Merhaba atanır 16 // Dunya kelimesi input buffer içerisinde okunmayı bekler 17 // string1 ve string2 yi ekrana yazdir 18 cout << "1. String : " << string1 << "\n2. String : " << string2; cout << "\nkarakterleri arasina 1 bosluk birakilmis 1. String :\n"; 21
22 22 // NULL karaktere rastlayıncaya kadar 1. String i ekrana yazdır 23 for ( int i = 0; string1[ i ]!= '\0'; i++ ) 24 cout << string1[ i ] << ' '; cin >> string1; // input buffer dan Dunya yı oku ve yeniden string1 e ata 27 cout << "\n1. String : " << string1 << endl; return 0; 30 } Merhaba Dunya yaz : Merhaba Dunya 1.String : Merhaba 2.String : String Dizisi Karakterleri Arasina 1 Bosluk Birakilmis 1. String : M e r h a b a 1.String : Dunya
23 Bir Diziyi Bir Fonksiyonun Argümanı Olarak Kullanma Bir diziyi bir fonksiyona argüman olarak iletmek için: Dizinin adı parantezler olmadan kullanılır. Mesela dizimiz şu şekilde deklare edilmiş olsun. int a[ 24 ]; Bu dizinin argüman olarak kullanıldığı fonksiyon ise: DiziyiDegistir( a, 24 ); dizinin adı ve boyutu fonksiyona argüman olarak iletilir. Fonksiyon diziden istenen kadar elemanı işleyebilsin diye dizinin boyutu fonksiyona ikinci bir argüman olarak verilir. Fonksiyon ise şöyle tanımlanır. void DiziyiDegistir( int b[], int diziboyutu );
24 Bir Diziyi Bir Fonksiyonun Argümanı Olarak Kullanma Diziler fonksiyon argümanı olarak referansla (call-byreference) çağrılırlar. Fonksiyon, dizinin baslangıç adresini argüman olarak kullanır ve böylece bellekteki yeri bilinmiş olur. Çağıran fonksiyon böylelikle çağırdığı fonksiyona argüman olarak verilen bilgiyi manipule edebilme hakkını da vermiş olur. Diziler değer ile (call-by-value) fonksiyonlara arguman olarak atansalardı eğer bu bir performans eksikliğine yol açardı. (Fonksiyon içerisinde işlensin diye dizinin herbir elemanının kopyası alınırdı.) SIKLIKLA çağrılan fonksiyonlardaki kapasitesi büyük diziler böyle bir soruna sebep olurdu.
25 1 2 // Dizileri veya dizi elemanlarını fonksiyonlara argüman olarak geçme 3 #include <iostream> //cout ve endl #include <iomanip> //setw 4 using namespace std; void DiziyiDegistir( int [], int ); //prototip 11 void ElemaniDegistir( int ); //prototip int main() 14 { 15 const int DIZI_BOYUTU = 5; 16 int a[ DIZI_BOYUTU ] = { 0, 1, 2, 3, 4 }; // Diziye ilk deger ata cout << "Fonksiyona referansla gonderilmeden once dizinin icerigi: \n"; // Orjinal dizi elemanlarini ekrana yazdir 22 for ( int i = 0; i < DIZI_BOYUTU; i++ ) 23 cout << setw( 3 ) << a[ i ]; cout << endl; // Diziyi fonksiyona referansla gonder 28 DiziyiDegistir( a, DIZI_BOYUTU ); 29 cout << "Fonksiyon icinde degistirilmis dizinin icerigi: \n";
26 30 31 // Fonksiyon icinde degistirilmis dizi elemanlarini ekrana yazdir 32 for ( int j = 0; j < DIZI_BOYUTU; j++ ) 33 cout << setw( 3 ) << a[ j ]; cout << "\n\nfonksiyona degerle bir dizi elemanini gonderme: " 36 << "\nfonksiyon oncesi a[3]: " << a[ 3 ] << endl; ElemaniDegistir( a[ 3 ] ); // Dizinin a[ 3 ] elemanini degerle gonder 39 cout << "Fonksiyon sonrasi a[3]: " << a[ 3 ] << endl; return 0; 42 } // Fonksiyon tanimi 45 void DiziyiDegistir( int b[], int dizininboyutu ) 46 { 47 // Herbir dizi elemanini 2 ile carp 48 for ( int k = 0; k < dizininboyutu; k++ ) 49 b[ k ] *= 2; 50 }
27 51 // Fonksiyon tanimi 54 void ElemaniDegistir( int e ) 55 { 56 // Parametreyi 2 ile carp 57 cout << "ElemaniDegistir fonksiyonu icinde parametre: " << ( e *= 2 ) << endl; 58 } Fonksiyona referansla gonderilmeden once dizinin icerigi: Fonksiyon icinde degistirilmis dizinin icerigi: Fonksiyona degerle bir dizi elemanini gonderme: Fonksiyon oncesi a[3]: 6 ElemaniDegistir fonksiyonu icinde parametre: 12 Fonksiyon sonrasi a[3]: 6
28 const ın Dizilerde Fonksiyon Parametresi Olarak Kullanılması Dizinin deklarasyonu anında başına const anahtar kelimesi yazılır. Böylelikle fonksiyonu çağıran, çağrılan fonksiyon içinde dizi elemanlarının modifiye edilmesinin önüne geçer. Dizi elemanlarının değeri fonksiyon gövdesi içinde sabittir ve değiştirilemez. Bu özellik sayesinde programcı değerlendirilen bilginin kazara değistirilmesini engellemiş olur.
29 1 2 // const dizilerin kullanimi 3 #include <iostream> //cout ve endl 4 using namespace std; void DiziyiDegistir( const int [] ); // prototip 8 9 int main() 10 { 11 int a[] = { 10, 20, 30 }; DiziyiDegistir( a ); 14 cout << a[ 0 ] << ' ' << a[ 1 ] << ' ' << a[ 2 ] << '\n'; return 0; 17 } 18
30 21 void DiziyiDegistir( const int b[] ) 22 { 23 b[ 0 ] /= 2; // error 24 b[ 1 ] /= 2; // error 25 b[ 2 ] /= 2; // error 26 } Borland C++ command-line compiler error message: Error E2024 fig07_15.cpp 23: Cannot modify a const object in function trytomodifyarray(const int * const) Error E2024 fig07_15.cpp 24: Cannot modify a const object in function trytomodifyarray(const int * const) Error E2024 fig07_15.cpp 25: Cannot modify a const object in function trytomodifyarray(const int * const) Microsoft Visual C++.NET compiler error message: C:\cpphtp5_examples\ch07\fig07_15.cpp(23) : error C2166: l-value specifies const object C:\cpphtp5_examples\ch07\fig07_15.cpp(24) : error C2166: l-value specifies const object C:\cpphtp5_examples\ch07\fig07_15.cpp(25) : error C2166: l-value specifies const object GNU C++ compiler error message: fig07_15.cpp:23: error: assignment of read-only location fig07_15.cpp:24: error: assignment of read-only location fig07_15.cpp:25: error: assignment of read-only location
31 !!! Dikkat!!! Dizilerin fonksiyon parametresi olarak referansla gönderildiğini ve dolayısıyla fonksiyon içinde değiştirilebilecegini unutursak beklemediğimiz sonuçlarla karşılaşırız. Bunun önüne geçebilmek için const ı kullanabiliriz.
32 Dizi İçinde Lineer Arama Yapma (Linear Search) Dizi içinde herhangi bir aranan değerin varolup olmadığı ya da var ise eğer hangi indeks değerine sahip olduğu bilinmek istenebilir. Lineer Arama (Linear Search) Dizinin herbir elemanı aranan değer ile karşılaştırılır. Aranan değerin dizinin ilk elemanı olması ihtimali, son elemanı olması ihtimali ile aynıdır. Aranan değerin dizi içerisinde olmadığını garanti edebilmek için sözkonusu değer dizinin tüm elemanları ile karşılaştırılmalıdır. Halihazırda sıralı olmayan küçük dizilerde arama yaparken kullanılabilen bir metoddur.
33 1 2 // Dizi icinde lineer arama yapma 3 #include <iostream> //cout, cin ve endl 4 using namespace std; int LineerArama( const int [], int, int ); // prototip 9 10 int main() 11 { 12 const int DIZI_BOYUTU = 100; 13 int a[ DIZI_BOYUTU ]; 14 int aranandeger; // dizi icinde aranacak tamsayi for ( int i = 0; i < DIZI_BOYUTU ; i++ ) 17 a[ i ] = 2 * i; cout << "Aranacak tamsayiyi gir: "; 20 cin >> aranandeger; int indeks = LineerArama( a, aranandeger, DIZI_BOYUTU ); 24
34 25 26 if ( indeks!= -1 ) 27 cout << "Aranan degerin dizideki indeksi: " << indeks << endl; 28 else 29 cout << "Aranan deger bulunamadi..." << endl; return 0; 32 } // Aranan degeri dizinin icindeki butun elemanlarla kiyasla. 35 // Buldugun an indeksi geri gonder. 36 // Bulamazsan geriye -1 degerini gonder. 37 int LineerArama( const int dizi[], int deger, int dizininboyutu ) 38 { 39 for ( int j = 0; j < dizininboyutu; j++ ) 40 if ( dizi[ j ] == deger ) // aradigini bulduysan 41 return j; // indeksi geri gonder return -1; // aradigini bulamadiysan geriye -1 gonder 44 } Aranacak tamsayiyi gir: 36 Aranan degerin dizideki indeksi: 18 Aranacak tamsayiyi gir: 37 Aranan deger bulunamadi...
35 Çok Boyutlu Diziler (Multidimensional Arrays) Örneğin 2 boyutlu dizileri ele alalım.(matrisler) İçinde bilgi saklanan bir tablo gibi düşünülebilir. Satırlar (rows) ve sütunlar (columns) vardır. Dizinin elemanlarına iki indeksle ulaşılır. ([ x ][ y ]) Genellikle m tane satıra ve n tane sütuna sahip bir dizi m-by-n array diye adlandırılır. Bu tür diziler 2 den fazla boyuta da sahip olabilirler.
36 İki Boyutlu Bir Diziyi Deklare Etme ve İlk Değer Atama int b[ 2 ][ 2 ] = { { 1, 2 }, { 3, 4 } }; b[ 0 ][ 0 ]=1 ve b[ 0 ][ 1 ]=2 b[ 1 ][ 0 ]=3 ve b[ 1 ][ 1 ]=4 int b[ 2 ][ 2 ] = { { 1 }, { 3, 4 } }; b[ 0 ][ 0 ]=1 ve b[ 0 ][ 1 ]=0 (ima ile) b[ 1 ][ 0 ]=3 ve b[ 1 ][ 1 ]=4
37 3 satır ve 4 sütuna sahip 2 boyutlu bir dizi
38 Çok Boyutlu Dizileri Fonksiyon Parametresi Olarak Kullanma Bir boyutlu dizilerde olduğu gibi ilk boyutun kapasitesi belirtilmez. Takip eden boyutların kapasitesi ise belirtilmelidir. Derleyici ancak bu yolla ikinci satıra geçmek için kaç eleman atlayacağını bilir. Örneğin : void DiziyiYAzdir( const int a[][ 3 ] ); Bu fonksiyon 2. satıra geçebilmek icin ilk satırın 3 elemanını atlamak zorundadır.
39 Çok Boyutlu Dizilerde Bilgi Manipülasyonu Genellikle for deyimi kullanılır. Örnek: Örnek: Sadece bir satırın elemanlarını modifiye etmek için: for ( int sutun = 0; sutun < 4; sutun++ ) a[ 2 ][ sutun ] = 0; Dizinin tüm elemanlarını modifiye etmek için: total = 0; for ( satir = 0; satir < 3; satir++ ) for ( sutun = 0; sutun < 4; sutun++ ) total += a[ satir ][ sutun ];
40 Bir Dizinin En Küçük ve En Büyük Elemanını Bulma #include <iostream> //cout ve endl #include <cstdlib> //rand() #include <ctime> using namespace std; //time(0) void KucuguBuyuguBul(const int [ ], int, int&, int&); //Fonksiyon prototipi int main() { //srand(time(0)); int enkucuk, //Icinde dizinin en kucuk elemanini saklayacak degisken enbuyuk; //Icinde dizinin en buyuk elemanini saklayacak degisken const int DIZI_BOYUTU=10; //Dizinin boyutunu saklayan sabit degisken int a[dizi_boyutu]; cout<< Dizinin Icerigi:\n"; for(int i=0;i<dizi_boyutu;i++) { a[ i ]=rand()%6+1; //Dizinin i. elemanina 1 ile 6 arasinda rastgele bir sayi ata } cout<<a[ i ]<<" "; cout<<endl;
41 Bir Dizinin En Küçük ve En Büyük Elemanını Bulma KucuguBuyuguBul(a, DIZI_BOYUTU, enkucuk, enbuyuk); cout<< Dizinin En Kucuk Elemani: <<enkucuk<<endl; cout<< Dizinin En Buyuk Elemani: <<enbuyuk<<endl; } return 0;
42 Bir Dizinin En Küçük ve En Büyük Elemanını Bulma //Kendine arguman olarak aldigi dizinin en kucuk ve en buyuk elemanini bulan //fonksiyonun tanimi (Geriye referansla birden fazla degerin donduruldugune dikkat ediniz!!!!) void KucuguBuyuguBul(const int b[ ], int dizininboyutu, int &minimum, int &maksimum) { minimum=b[0]; //Dizinin en kucuk elemaninin ilk eleman oldugunu varsay maksimum=b[0]; //Dizinin en buyuk elemaninin ilk eleman oldugunu varsay for(int i=1 ; i<dizininboyutu ; i++) //i nin 1 den basladigina dikkat ediniz!!!! { if(b[ i ] < minimum) { minimum=b[ i ]; } if(b[ i ] > maksimum) { maksimum=b[ i ]; } } }
43 Selection Sort Sıralama Algoritması ile Küçükten Büyüğe Sıralama (Ascending Sort) #include <iostream> //cout ve endl #include <cstdlib> //rand() using namespace std; void DiziyiSirala(int [ ], int); //Fonksiyon prototipi int main() { const int diziboyutu=10; int a[diziboyutu]; cout<<"siralanmamis Dizinin Icerigi:\n"; for(int i=0 ; i<diziboyutu ; i++) { a[ i ]=rand()%6+1; } cout<<a[ i ]<<" "; cout<<endl;
44 Selection Sort Sıralama Algoritması ile Küçükten Büyüğe Sıralama (Ascending Sort) DiziyiSirala(a, diziboyutu); cout<<"siralanmis Dizinin Icerigi:\n"; for(int i=0 ; i<diziboyutu ; i++) cout<<a[ i ]<<" "; cout<<endl; } return 0;
45 Selection Sort Sıralama Algoritması ile Küçükten Büyüğe Sıralama (Ascending Sort) //Kendisine arguman olarak aldigi diziyi kucukten buyuge dogru siralayan fonksiyonun tanimi void DiziyiSirala(int b[ ], int dizininboyutu) { int minimumunindeksi; int gecicidegisken; } for(int i=0;i<(dizininboyutu-1);i++) { } minimumunindeksi=i; for(int j=i+1;j<dizininboyutu;j++) { } //swap yap gecicidegisken=b[ i ]; if(b[ j ]<b[minimumunindeksi]) b[ i ]=b[minimumunindeksi]; minimumunindeksi=j; b[minimumunindeksi]=gecicidegisken;
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ı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ı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ı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ıDiziler (Arrays) Çok Boyutlu Diziler
Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir.
Detaylı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ı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ıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi Dizilere Başlangıç Değeri Verme Dizilerde Arama
Detaylı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 Diziler Dizi Nedir? Dizilerin Bildirimi
DetaylıDeğişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir
DİZİLER (ARRAYS) Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir değişken tanımlamak gereklidir. string gun1,
Detaylı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ıKonular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI
BLG339 PROGRAMLAMA DİLLERİ KAVRAMI Hafta 5 Veri Tipleri (Devam) Yrd. Doç. Dr. Melike Şah Direkoğlu Konular Dizi Tipleri Kayıt Tipleri Birleşik Tipler Küme Tipleri İşaretçi ve Referans Tipleri Alındığı
DetaylıPros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar
Pointers Java haric, cogu programming languages memory address lerine ait abstract data type destigine sahiptirler C++ da buna pointer denir Pointers lar data structures ve parameter passing in karmasikligini
Detaylı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ıHSancak Nesne Tabanlı Programlama I Ders Notları
DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar
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İ 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ı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ıÖ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ı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ıDers 4: Diziler (Arrays( Arrays) barisgokce.com
Ders 4: Diziler (Arrays( Arrays) Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Diziler Aynı tipteki bir veri gurubunun bir değişken içinde saklanmasıdır. Veriler Hafızada
Detaylı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ı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ıMatlab da Dizi ve Matrisler. Mustafa Coşar
Matlab da Dizi ve Matrisler Mustafa Coşar MATLAB Değişkenleri Matlab da değişkenler; skaler, dizi(vektör), matris veya metin (string) türünde olabilirler. Örnek olarak: a=1; b=-3.2e3; c=22/5; metin= mustafa
DetaylıProgramlama Dilleri 3
Diziler (Arrays) 1 Dizi Kavramı Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların
Detaylı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ı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ı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ıBİL1001 Bilgisayar Bilimlerine Giriş 1
DEÜ Bilgisayar Bilimleri Bölümü BİL1001 Bilgisayar Bilimlerine Giriş 1 Öğr. Gör. Dr. Alper VAHAPLAR 2017 Yaz Okulu Tekrarlı Yapılar Algoritmanın belirli bir kısmının, belirli kere ya da belirli durumlar
DetaylıÖrnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf
İçindekiler 1. Giriş... 1 1.2. c++ Programı Yapısı... 2 1.3.Using Direktifi... 5 Bölüm 2. Veri türleri, değişken kavramı, sabit ve değişken bildirimleri ve c++ da kullanımı 7 2.1. Temel veri türleri...
Detaylı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ı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ı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ı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ı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ıÖrnek1: #include <iostream> #include <string> using namespace std;
BTEP243 Ders 5 Nesne İşaretçileri İşaretçiler, bildiğiniz gibi bir değişkenin bellekte tutuldukları yerin adresini tutarlar. Nesne işareçtileri konusundaki işaretçiler, nesnelerin bellek üzerinde bulundukları
Detaylı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 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ıBLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Diziler Bilgisayarlar yardımıyla yapılan işlemlerde, çok sayıda veri
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,
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
İÇİ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ı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ü Genel Bilgiler Uzman Mehmet ŞİMŞEK Ofis : Gazi Ünv., Bilgisayar Mühendisliği
DetaylıHafta 12 Karakter Tutan Diziler
BLM111 Programlama Dilleri I Hafta 12 Karakter Tutan Diziler Yrd. Doç. Dr. Caner ÖZCAN Katar (String) Tanımlama Dizileri ve çok boyutlu dizileri gördük. Katar dediğimiz şey de aslında bir dizidir. Değişken
Detaylı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ıÖ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ı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ı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ıDİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II
DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II DİZİLER Dizi, aynı tipteki verilere tek bir isimle erişmek için kullanılan bir kümedir. Bir dizi bildirildikten sonra, dizinin bütün elemanları bellekte peşpeşe
Detaylı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 İşaretçiler ve Diziler Fonksiyon
Detaylı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ı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ıALGORİTMA VE PROGRAMLAMA I DERS NOTU#8
ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 YZM 1105 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 6. BÖLÜM 2 Çok Boyutlu Diziler Çok Boyutlu Dizi 3 Bir dizi aşağıdaki gibi bildirildiğinde
Detaylı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ıİ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ıDr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net
Bilgisayar Programlama Ders 9 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Dizileri Fonksiyonlara Dizileri Fonksiyonlara Bir dizi argümanını fonksiyon içinde bir değer olarak kullanabilmek
Detaylı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ıBölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler
Bölüm 6 Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Chapter 6 Java: an Introduction to Computer Science & Programming - Walter Savitch 1 Genel Bakış Dizi: Hepsi aynı türde
DetaylıC de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma
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ı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ı2. Dereceden Denklemin Köklerini Bulan Program
2. Dereceden Denklemin Köklerini Bulan Program [crayon-5bb74e5b18b15225541464/] C++ 2.dereceden denklemin köklerini bulan program [crayon-5bb74e5b18b25989362529/] ÇIKTI; C++ 2. dereceden denklemin köklerini
DetaylıD İ Z İ L E R A R R A Y S
D İ Z İ L E R A R R A Y S 1 Örneğin 120 adet öğrencinin adını klavyeden girip, daha sonra bunları ekrandan yazdıralım. Bunun için, her öğrenci için ayrı bir değişken tanımlanmalıdır. String ad1; String
Detaylı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 Yapılar ve Birlikler enum Deyimi
DetaylıDİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek
Giriş DİZİLER Arrays 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ı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ıJAVADA DİZİ İŞLEMLERİ
JAVADA DİZİ İŞLEMLERİ Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız.
DetaylıBLM 111 ALGORİTMA VE PROGRAMLAMA I
1 BLM 111 ALGORİTMA VE PROGRAMLAMA I DİZİLER (ARRAYS) Kullanıcıdan N tane tamsayı, xi, alalım ve 1. Bu sayıların ortalamasını hesaplamak isteyelim ort = 0; for (i=0; i
DetaylıBir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.
C# da Diziler Diziler için aynı tipteki verilerin tutulduğu bir koleksiyon diyebiliriz. Örneğin integer verinin bir yığın şeklinde tutulması için dizileri kullanırız. C# da diziler referans tipinde değişkenlerdendir.
Detaylı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ıYZM 2116 Veri Yapıları
YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği BAŞLAMADAN ÖNCE Bu dersi alan öğrencilerin aşağıdaki konuları bildiği
DetaylıYAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta
YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ 3. Hafta YAPILAR Farklı veri tipindeki bilgilerin bir araya gelerek oluşturdukları topluluklara yapı (structure) denir. Yani yapılar, birbiriyle ilişkili değişkenlerin
DetaylıPointers (İşaretçiler)
Pointers (İşaretçiler) Pointers (İşaretçiler) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ile ilişkilidir. Donanımsal açıdan
DetaylıProgramlama Dilleri 1. Ders 4: Diziler
Programlama Dilleri 1 Ders 4: Diziler Genel Bakış Tanım Dizilerin tanımlanması Dizilere ilk değer verilmesi Yerel ve Global diziler Dizilerin birbirine atanması Diziler ile ilgili örnekler Çalışma soruları
Detaylı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 Bellek ve Adresleme Dinamik Bellek
Detaylı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ü Genel Bilgiler Öğretim üyesi : Doç.Dr.M.Ali Akcayol Ofis : Gazi Ünv., Bilgisayar Mühendisliği
DetaylıBLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA
BLM-111 PROGRAMLAMA DİLLERİ I Ders-11 Karakter Diziler Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Karakter ve String Karakter Karakter bir sabit tek tırnak
DetaylıBLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN
BLM111 Programlama Dilleri I Hafta 10 Diziler Yrd. Doç. Dr. Caner ÖZCAN Diziler Bilgisayarlar yardımıyla yapılan işlemlerde, çok sayıda veri girilmesi ve girilen verilerin işlenerek belirli bir sistematiğe
DetaylıDİZİLER. Bu ünitede yapılan örnekler Visual Studio 2010 programındaki Visual Basic programlama diliyle çözülmüştür.
DİZİLR GİRİŞ Bu ünitede, akış diyagramlarının yardımıyla birçok veriyi tek bir alanda nasıl saklayabileceğimiz, işleyebileceğimiz ve çağırabileceğimiz konusundaki bilgiler anlatılacaktır. Teknolojinin
Detaylı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ıYrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği
Yrd. Doç. Dr. A. Burak İER Bilgisayar Mühendisliği Algoritma Analizi İçerik: Temel Kavramlar Yinelemeli ve Yinelemesiz Algoritma Analizi Asimptotik otasyonlar Temel Kavramlar Algoritma: Bir problemin çözümüne
Detaylı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ıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 17: string Sınıfı İçerik string Yapıcı Fonksiyonları string ile Girdi/Çıktı string Operatörleri ı string Nesnesine Sayı Değeri Ekleme 2 string Birden fazla karakter
Detaylı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ı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ı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 - 2 C# Programlama Dili Elemanları Bu bölümde;
Detaylı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ı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ı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ıNESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu sunumda Prof. Dr. Yılmaz KILIÇASLAN ın Nesneye Yönelik Programlama dersi sunumlarından faydalanılmıştır.
Detaylıelemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.
Ön bilgi: Dizi tanımlayabilmeli. foreach deyimi bilinmeli. Rastgele sayılar (Random) bilinmeli. 1. Aşağıda tamsayı tipinde iki boyutlu bir dizinin nasıl tanımlandığı, bir fonksiyona parametre olarak nasıl
DetaylıDizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.
DİZİLER/ARRAY: Dizi yi çeşitli şekillerde tanımlamak mümkün. Dizi içlerinde birden fazla değer saklayabilen veri kümeleridir diye tanımlarsak uygun olur sanırım. Diziler yan yana dizilmiş kutucuklar olarak
Detaylı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ı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ı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ı#ifndef VEKTOR_H #define VEKTOR_H. struct vektor_s { double x; double y; double z; }; typedef struct vektor_s vektor_t;
02.10.2018 2018-2019 Güz Object-Oriented Programming Lab 01 Ön Çalışma - 1. soruyu çözün. - 2. soruda istenen fonksiyonların argümanlarına ve return türlerine karar verin. Nedenlerinizi kısaca açıklayın.
DetaylıOperatörlere Yeni İşlevler Yüklenmesi (Operator Overloading)
Operatörlere Yeni İşlevler Yüklenmesi (Operator Overloading) C++ da hazır olarak var olan operatörlere (+, -, *, /,!,
DetaylıNesne Yönelimli Programlama
1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin
Detaylı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ı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ı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ıDeney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri
Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri 7.0. Amaç Ve Kapsam Deneyde C dilinde kullanılan fonksiyon tanımlama ve parametre aktarım yöntemleri hakkında bilgi verilecektir. 7.1. Deneyden
DetaylıStatik veri üyeleri sınıf dosyası içerisinde, ancak sınıf bildirimi dışında başlatılmalıdır. Statik üye fonksiyonları
Statik Veri Üye ve Metotlar Genel olarak bir sınıfa ait nesnelerin verileri bellekte farklı bölgelerde yer alır. Ancak bazı durumlarda, belirli bir üyenin ortak bir alanda tek bir kopyasının bulunması
Detaylı