Fonksiyon Türleri. Bildiğiniz gibi, C++'da iki fonksiyon türü ile karşılaşıyoruz. C++'nın kullanıma sunduğu hazır fonksiyonlar.
|
|
- Altan Erdoğan
- 8 yıl önce
- İzleme sayısı:
Transkript
1 Fonksiyonlar
2 Fonksiyon Nedir? Bir amaca hizmet eden program parçacıklarıdır. Fonksiyon çalıştırıldığında, bir işlemi yerine getirmesi yada bir değer döndürmesi istenecektir. Çağrılmış olan bir fonksiyon ya geriye bir sonuç değeri döndürür ve/veya fonksiyon içerisindeki operasyonlarını işlemlerini tamamlayıp çağrılan yere geri döner. Diğer programlama dillerinde metod, prosedür (yordam) v.b. isimlendirme ile adlandırılırlar. Programcılar, programların yapacağı işi fonksiyonlar vasıtasıyla anlamlı parçalara bölerek programlarının modülerlik kazanmalarını sağlar.
3 Fonksiyon Türleri Bildiğiniz gibi, C++'da iki fonksiyon türü ile karşılaşıyoruz. C++'nın kullanıma sunduğu hazır fonksiyonlar. Kullanıcı tarafından oluşturulan fonksiyonlardır.
4 Hazır Fonksiyonların Tanımı ve Kullanılması C++'nın hazır fonksiyonları, adından da anlaşılabileceği gibi, programcıya hazır olarak sunulan fonksiyonlardır. Bu fonksiyonlar bir C++ kitaplığında yer alır. Bu kitaplık dosyası programın başında #include <...> deyimi ile programa dahil edilir. Böylece program bu kitaplık içinde yer alan tüm fonksiyonları doğrudan kullanabilir.
5 Örnek: Program içinde C++'nın karakök alma sqrt() matematiksel fonksiyonu kullanmak istiyoruz. Bu fonksiyonun kullanılabilmesi için, programın başında matematik kitaplığı programa #include <cmath> şeklinde dahil edilme ve program içerisinde sqrt(sayi) şeklinde fonksiyon çağrılmalıdır.
6 <cmath> Kütüphanesi
7 Kullanıcı Tanımlı Fonksiyonların Tanımı ve Uygulaması Fonksiyonun Deklarasyonu (Function Definitions) Bir fonksiyon main veya diğer bir fonksiyon tarafından kullanılmadan önce deklare edilmesi ve tanımlanması gerekmektedir. Bu yapı aşağıda belirtildiği biçimde olacaktır. Her şeyden önce bir fonksiyonun mutlaka bir adı olmalıdır. <dönüş değeri tipi> <fonksiyon adı/ismi> (<parametreleri>) {... return...
8 Fonksiyon deklerasyonu ve tanımlanması iki farklı yoldan yapılabilir; (1) Fonksiyon çağırılmadan önce mutlaka ayrı ayrı fonksiyon deklarasyonu ve tanımı yapılmalıdır. (2) Fonksiyon çağırılmadan önce mutlaka fonksiyon deklarasyonu ve tanımı birlikte yapılmalıdır.
9
10 Prototip ve Tanımın Yapılması #include <iostream> using namespace std; int hesap1(int); // 1.tip int hesap2(int x); // 2.tip int hesap3(int x=25, int y=25); // 3.tip int hesap4(int x) // 4.tip { x=66; return x; int main() { int a=3, b=4, c=5, d=6, e=7; int hesap5 (int x); // 5.tip cout <<"a="<<hesap1(a)<<endl; cout <<"b="<<hesap2(b)<<endl; cout <<"c="<<hesap3(a,e)<<endl; cout <<"c="<<hesap3()<<endl;//dikkat! cout <<"d="<<hesap4(a)<<endl; cout <<"e="<<hesap5(d)<<endl; return 0; int hesap1 (int a) { a=33; return a; int hesap2 (int a) { a=44; return a; int hesap3 (int a, int b) { return a+b; int hesap5 (int a) { a=55; return a;
11
12 Fonksiyonun Değer Döndürmesi Bir fonksiyon çalıştığında, bir sonuç üretecektir ve bu sonucu kendisini çağıran fonksiyona istenmesi (return sonuc) durumunda gönderecektir. Bu sonucun, kendisini çağıran fonksiyona gönderilmesi veya bir başka deyişle döndürülmesi söz konusu ise, fonksiyon içinde return deyimine yer vermek gerekecektir. Fonksiyon tanımlamasında aksi belirtilmediği sürece fonksiyonların int tipinde değer döndürdükleri kabul edilir. Eğer fonksiyonumuzun farklı tipte bir değer döndürmesini istiyorsak fonksiyon tanımlamasında bu dönüş değer tipini belirtmemiz gerekmektedir.
13 Foksiyonlar return anahtar kelimesi aracılığıyla değer döndürür ve program akışı sırasında return anahtar kelimesine ulaşıldığında foksiyondan çıkılır. Örneğin bir sayının karesini alan bir fonksiyon yazalım; kareal(int sayi) { return (sayi * sayi); veya kareal(int sayi) { int k = sayi * sayi; return k;
14 Eğer geri döndürdüğü değer tipi void ise, fonksiyondan bir değer dönmez ve return yazılmaz. Eğer geri döndürdüğü değer tipi void değilse, fonksiyonda en az bir tane return ifadesi olmalıdır. #include <iostream> using namespace std; void hesap(int); int main() { int a=3; hesap(a); cout <<a<<endl; return 0; void hesap(int b) { b=33; #include <iostream> using namespace std; int hesap(int); int main() { int a=3; a=hesap(a); cout <<a<<endl; return 0; int hesap(int b) { b=33; return b;
15 Örneğin, sayi isimli fonksiyon; tamsayı değer döndürecek ise int sayi(); biçiminde tanımlanabilir. herhangi bir parametre listesi içermiyorsa int sayi(void); biçiminde ifade edilebilir. tamsayı türünde bir x parametresine sahip ise, int sayi(int x); tanımı yapılır. herhangi bir değer döndürmeyecek ise, void sayi(); biçiminde tanımı yapılabilir. herhangi bir değer döndürmeyecek ve tamsayı türünde bir x parametresini kullanacak ise, void sayi(int x); tanımı yapılabilir.
16
17 Fonksiyonlar Arasında Parametre Geçirme Her fonksiyon bir diğerinden bağımsız olarak düzenlenir. Bir fonksiyon içinde yer alan bir değişkeni bir başka fonksiyon içinde aynen kullanamayız. Bunun için farklı yöntemlere başvurulur. Bunlardan birincisi, fonksiyonlar arasında parametre geçirilmesidir. Hiç parametresi olmayan fonksiyonlar da olabilir. Bu gibi durumlarda parametre listesi boş bırakılabileceği gibi void de yazılabilir. Bir fonksiyon yardımıyla üs alma işlemlerini yerine getirmek istiyoruz. Bu işlem, x ve y verildiğinde ifadesinin değerini hesaplayacaktır. Amacımıza uygun C++ programını fonksiyonlardan yararlanmak suretiyle şu şekilde düzenleyebiliriz.
18
19 Global Değişkenler (:: Scope Resolution) :: operatörü yardımıyla Fonksiyonlar Arasında Değer Taşımak Fonksiyonlar arasında parametre geçirerek veri aktarılması işleminin nasıl gerçekleştirilebildiğini gördük. Benzer bir sonuca ulaşmak için küresel değişkenlerden de yararlanabiliriz. Küresel değişkenleri dersimizin başlarında ele alarak incelemiştik. Küresel değişkenler, programın çalışması boyunca, fonksiyonlar dahil, değeri geçerli olan değişkenlerdir. Küresel değişkenler fonksiyonların içinde değil, ondan önce tanımlanır. Bir küresel değişken tanımından sonra yer alan tüm fonksiyonlar için bu değişkenin değeri geçerlidir.
20
21 Static Değişkeninin Fonksiyonlarda Kullanımı static değişkenler fonksiyon terkedildiğinde değerlerini kaybetmezler. Aynı fonksiyon bir daha çalıştırıldığında, daha önceki değer yeniden kullanılabilir. Program içindeki bir fonksiyonun ya da küresel değişkenin başına static tanımı yapıldığı takdirde, bu fonksiyon veya değişken diğer kaynak program dosyalarına karşı erişilmez olacaktır. Bunun anlamı, diğer dosyalardan yapılacak erişimlere karşı "gizli" kalacaktır.
22
23 Fonksiyon Çağırma Yöntemleri C++ programlama dilinde fonksiyonların çağrılması iki farklı yöntemle gerçekleştirilmektedir: 1) Değer ile çağırma int topla(int a, int b) şeklinde fonksiyon tanımlı z=topla(x,y); şeklinde çağırıyoruz. bu durumda a=x ve b=y olur. 2) Referans (Başvuru) ile çağırma Bellek adresleri kullanılır. void hesap (int &p) şeklinde fonksiyon tanımlı hesap(x); şeklinde çağırıyoruz.
24 Değer ile çağırma Çağıran fonksiyondan çağrılan fonksiyona aktarılan değişken değerlerinde bir değişiklik olsa bile, bu değişiklik çağıran programdaki değişken değerlerine etki etmez. Bu değişiklikler çağrılan fonksiyon içinde parametrelerin kopyaları üzerinde gerçekleşir. #include <iostream> using namespace std; int hesap(int); int main() { int x=5; x=hesap(x); cout <<x; return 0; int hesap (int a) { a=55; return a;
25 Buradan şu sonuç çıkmaktadır; Fonksiyonlar değere göre çağrıldığında, çağrılan fonksiyon içinde parametrenin değeri değiştirilse bile bu değişiklik çağıran programda aynı isimli değişkenin değerine etki yapmaz.
26 Referans (Başvuru) ile çağırma Bellek adreslerini kullanarak fonksiyonları çağırabiliriz. Bu durumda, çağrılan fonksiyon içinde parametre değerleri üzerinde yapılacak değişikliklerin, onu çağıran fonksiyon üzerinde de etkili olduğu görülecektir. #include <iostream> using namespace std; void hesapla(int&, int&); int main() { int x=3,y=5; cout <<x<<" "<<y<<endl;// 3 5 hesapla(x,y); cout <<x<<" "<<y; //13 15 return 0; void hesapla (int& x, int& y) { x=x+10; y=y+10;
27 #include <iostream> using namespace std; void hesap(); int main () { int x=7; cout<< x <<endl; hesap(); cout<< x <<endl; return 0; void hesap() { x=77; #include <iostream> using namespace std; int hesap(int); int main () { int x=7; cout<< x <<endl; x=hesap(x); cout<< x <<endl; return 0; int hesap(int a) { a=77; return a;
28 #include <iostream> using namespace std; void hesap(); int x=7; int main() { cout<< ::x <<endl; hesap(); cout<< ::x <<endl; return 0; void hesap () { ::x=77; #include <iostream> using namespace std; void hesap(int &); int main() { int x=7; cout<< x <<endl; hesap(x); cout<< x <<endl; return 0; void hesap (int &p) { p=77;
29 Kendini çağıran fonksiyonlar Bir fonksiyon kendi kendini sürekli çağırarak çalıştırabilir. Bu tür fonksiyonlara özçağrılı (recursive) fonksiyonlar denir.
30 Fonksiyonların Aşırı Yüklenmesi (Function Overloading) İki yada daha fazla fonksiyon aynı isime sahipseler, aşırı yüklenmişlerdir. Aşırı yüklenmiş fonksiyonları kullanarak birbirleriyle ilişkili işlemleri aynı isimle çağırarak program daha sade bir hale gelir, çok fazla fonksiyon isimlerinden oluşabilecek muhtemel hatalar önlenmiş olur. Birden fazla fonksiyon argüman sayıları ve/veya argüman tipleri farklı ise aynı ismi kullanabilirler. Aşırı yüklenmiş fonksiyon tanımlanırken, fonksiyonun tüm versiyonları deklare edilir. Bu farklı versiyonlardan derleyici, argüman sayısı ve tipine göre otomatik olarak çağıracaktır.
31 Aşağıdaki örnek programda tarih dataları string ve tamsayı olarak iki farklı şekilde kullanılmıştır. Tarih isimli fonksiyon çağrılırken derleyici bu farklı tiplere göre tarih fonksiyonunu icra edecektir.
32 Fonksiyonların Aşırı Yüklenmesi
33 Esnek Argümanlı Fonksiyonlar #include <cstdarg> kütüphanesi kullanılır. Esnek argümanları oluşturan küme ardışık olarak listeye eklenmelidir. Bu türden argümanlar fonksiyonun parametre listesi kısmında üç nokta... ile belirtilir.
34 Esnek Argümanlı Fonksiyonlar cstdarg da tanımlı macro fonksiyonlar Esnek Argumanlı Fonksiyon tanımlaması yapabilmek için cstdarg kütüphanesinde üç adet makro fonksiyon bir adet tip tanımlanmıştır. Tip / Fonksiyon va_list va_start(a, n) va_arg(a, tip) va_end(a) Açıklama Tip: ardışık esnek argümalar için tip belirleyici. macro: va_list tipinde bildirilmiş a göstericisi için bellekten n elemanlı yer ayırır. macro: Veri tipi tip (int, double v.b.) ile belirlenmiş küme elemanlarına eriştirir. macro: va_list tipinde bildirilmiş a göstericisi için bellekten bölgeyi boşaltır.
35 Esnek Argümanlı Fonksiyonların Tanımlanması dönüş_tipi fonksiyon_adı( tip_değişke_listesi, int liste adedi,...) { macro fonksiyon ve diğer işlemler return donen_deger; dönüş_tipi= int fonksiyon_adı = Hesapla tip_değişke_listesi = int a, double b, float c int liste adedi = 5...= 3,4,5,6 Burada değerler va_arg(a, tip) tip tanımına göre yapılır. Örneğin double olsaydı 3.0, 4.0, 5.0, 6.0 şeklinde tanımlanmalıdır.
36 Esnek Argümanlı Fonksiyonların
37 Esnek Argümanlı Fonksiyonların
38 Esnek Argümanlı Fonksiyonların
39 Esnek Argümanlı Fonksiyonlar Polinom hesabı P(x,n) = a 0 + a 1 x + a 2 x a n x n double phesap(double x, int n,... ) { macro fonksiyon ve diğer işlemler x=1.5 ve n=4 için; phesap(1.5, 4, 1.0, -2.0, 0.2, 1.1) a 4 için : a 1 =1.0, a 2 =-2.0, a 3 =0.2, a 4 =1.1 olur.
40 Polinom hesabı : P(x,n) = a 0 + a 1 x + a 2 x a n x n a i (i = 0, 1, 2,..., n) katsayları esnek argüman olarak bildirilmiştir.
41 Dosya İşlemleri
42 Dosyalar Yoluyla Inpıt/Output İşlemleri Şimdiye kadar standart input output iostream kütüphanesi cin/cout klavyeden okuma, ekrana yazma Dosyadan okuma ve dosyaya yazma yapmak için fstream adlı standart C++ kütüphanesi Dosyadan/dosyaya bilgi akışı için kullanılacak sınıflar: ofstream: Dosyaya yazmak için kullanılacak olan akış sınıfı ifstream: Dosyadan okuma yapmak için kullanılacak olan akış sınıfı fstream: Okuma/yazma yapmayı sağlayacak olan akış sınıfı
43 Basit Örnek Bu sınıflar direk ya da endirekt olarak istream ve ostream sınıflarından türetilmişlerdir cin/cout da bu sınıflardan türetilmişlerdir. Dosya akış sınıflarını da benzer şekilde kullanabiliriz Burada artık akış dosyalar yoluyla olacak // Basit bir dosya işlemi #include <iostream> #include <fstream> using namespace std; int main () { ofstream dosyam; dosyam.open ("ornek.txt"); dosyam << "Bu yazilanlar dosyada olacak.\n"; dosyam.close(); return 0; ofstream sınıfı için open kullanılabilir. kullanım şekli: <ofstream_adı>.open (dosyaadi) dosyaadi : içine yazma işleminin yapılacağı dosyanın ismi artık ofstrean sınıfına ait olan bu nesneyi (dosyam) cout gibi kullanabilirim. Unutmayın: Artık yazma yerim cout ta olduğu gibi ekran değil dosyaadi ile belirtilmiş olan dosya output stream olarak açıyorum: sadece yazma yapacağım için yazma yapacağım akışın (stream) adı Nesnemizi kapatmayı unutmayalım
44 Basit Örnek // Basit bir dosya işlemi #include <iostream> #include <fstream> using namespace std; int main () { ofstream dosyam; dosyam.open ("ornek.txt"); dosyam << "Bu yazilanlar dosyada olacak.\n"; dosyam.close(); return 0; Sonuç olarak ornek.txt adında bir dosya yaratılır ve içine de Bu yazilanlar dosyada olacak. yazılarak alt satıra geçilir
45 Adım adım ofstream/ifstream/fstream sınıfları için uygulanacak ilk işlem bu nesneleri gerçek (fiziksel) bir dosya ile ilişkilendirmektir. Bu işlem bir dosyayı açmak (open) olarak bilinir. Açılan dosya program tarafından bir akış nesnesi (stream object) olarak tanınır. Bu akış nesnesi bu 3 sınıftan biri tarafından başlatılır. Örnekte bu ofstream sınıfına ait bir nesne idi adı da dosyam idi. ofstream dosyam; Bu akış üzerinde yapılacak giriş/çıkış işlemleri bu akış ile ilişkilendirilen fiziksel dosya üzerinde yapılcaktır. örnekte bu dosya ornek.txt idi. İlişkilendirme için yapılan işlem: dosyam.open ("ornek.txt");
46 open open fonksiyonunun genel kullanım şekli: open (dosyaninadi, mod); mod dosyanın ne şekilde açılacağını gösteren seçeneğe bağlı (optional) bir parametredir. Kullanılabilecek modlar: ios::in ios::out ios::binary ios::ate ios::app ios::trunc Giriş (input) işlemleri için aç Çıkış (output) işlemleri için aç Binary modda aç. Başlama noktasını ayarla. Eğer bu etikete değer verilmezse başlama noktası dosyanın başlangıcı olarak set edilir Her türlü çıkış işleminin dosyanın sonuna yapılmasını sağlar, kısacası yeni içeriği dosyanın içeriğinin sonuna ekler (append işlemi) Bu etiket sadece çıkış işlemleri için açılmış olan akışlarda kullanılabilir. Eğer açılan dosya zaten önceden varsa, önceki içerik silinir ve yeni içerik ile değiştirilir.
47 open open (dosyaninadi, mod); mod seçeneğe bağlıdır, kullanılmayabilir Kullanılmazsa open (dosyaninadi) şeklinde kullanılır. bu durumda varsayılan etiketler: ofstream ifstream fstream Sınıf Varsayılan mod ios::out ios::in ios::in ios::out
48 Örnek kullanımlar // Basit bir örnek #include <iostream> #include <fstream> using namespace std; int main () { ofstream dosyam; dosyam.open ("ornek.txt"); dosyam << "Bu yazilanlar burada kalsin"; dosyam<<"\nbaska bir sey olmasin\n"; dosyam.close(); return 0; ornek.txt dosyasının içeriği Bu yazilanlar burada kalsin Baska bir sey olmasin // Basit bir örnek #include <iostream> #include <fstream> using namespace std; int main () { ofstream dosyam; dosyam.open ("ornek.txt"); dosyam << "yeniden dusundum\n"; dosyam.close(); return 0; ornek.txt dosyasının içeriği yeniden dusundum Dikkat: Eski içerik silindi, yenisi yazıldı.
49 Örnek kullanımlar // Basit bir ornek #include <iostream> #include <fstream> using namespace std; int main () { ofstream dosyam; dosyam.open ("ornek.txt",ios::app); dosyam << "append kullanilirsa boyle oluyor iste"; dosyam.close(); return 0; ornek.txt dosyasının içeriği yeniden dusundum append kullanilirsa boyle oluyor iste Dikkat: ios::in olarak açılırsa, yazmaya çalışınca üzerine yazacaktır.. // Basit bir k #include <iostream> #include <fstream> using namespace std; int main () { ofstream dosyam; dosyam.open ("ornek.txt",ios::in ios::out); dosyam << "ios::in ios::out kullandim"; dosyam.close(); return 0; ornek.txt dosyasının içeriği ios::in ios::out kullandimlanilirsa boyle oluyor iste Dikkat: Yeni içerik baştan yazılmaya başlandı. Toplamda 28 karakter. Eski içeriğin üzerine yazıldı. Alt satıra geçmenin de karakter olduğunu unutmayın.
50 Dosya işlemleri ios::in ile açılırsa dosyanın başından başlayarak üzerine yazdığını gördük Ayrıca bu şekilde açılabilmesi için açılan dosyanın var olması gerekir. Eğer o isimde fiziksel bir dosya yoksa açılamayacak ve yapılan işlemler gerçekleşmeyecektir ios::out ile açılmaya çalışılan dosya için ise o isimde dosya yoksa yaratılır.
51 Dosya işlemleri Dosya açılışının başarılı olup olmadığı şu şekilde tespit edilir. <akışdosyaismi>.is_open() // Deneme1 #include <iostream> #include <fstream> using namespace std; int main () { ofstream dosyam; dosyam.open ("dene1.txt"); if (dosyam.is_open()) cout<<"acildi "<<endl; else cout<<"acilamadi yazamiyor tabii"<<endl; dosyam << "Deneme1 dosyası"; dosyam.close(); return 0; dene1.txt adında içeriği Deneme1 dosyası olan bir dosya yaratılır. Ayrıca Ekranda şu görünür: Acildi // Deneme2 #include <iostream> #include <fstream> using namespace std; int main () { fstream dosyam; dosyam.open ("dene2.txt"); if (dosyam.is_open()) cout<<"acildi "<<endl; else cout<<"acilamadi yazamiyor tabii"<<endl; dosyam << "Deneme2 dosyası"; dosyam.close(); return 0; Herhangi bir dosya yaratılamaz. Ekranda şu görünür: Acilamadi yazamiyor tabii
52 Örnek Kullanım fstream için varsayılan modun ios::in ios::out olduğunu unutmayın fstream ile dosya açarken o isimde fiziksel bir dosya olmasa da açmak isterseniz out veya app olarak açmalısınız // Deneme2 #include <iostream> #include <fstream> using namespace std; int main () { fstream dosyam; dosyam.open ("dene2.txt",ios::app); //ya da //dosyam.open ("dene2.txt",ios::out); if (dosyam.is_open()) cout<<"acildi "<<endl; else cout<<"acilamadi yazamiyor tabii"<<endl; dosyam << "Deneme2 dosyası"; dosyam.close(); return 0;
53 Dosya Kapatma Dosya ile yapılacak işlemler sona erdiğinde kapatılmalıdır Böylece tekrar bu dosyaya erişim sağlama imkanımız olur. Dosyayı kapatmak için close() fonksiyonu kullanılır Bu fonksiyon içine parametre almaz. Yaptığı iş bu dosya ile ilişkilendirilen akışı kapatıp buna ait olan buffer ları temizlemektir. Dosya kapandıktan sonra içine dosya giriş/çıkış işlemleri sona erecektir..is_open() fonksiyonu yanlış (0) olarak cevap verecektir.
54 Dosyadan okuma işlemi Okuma işlemi yapabilmek için getline komutunu kullanabiliriz. Hatırlatma: klavyeden satır okuma için getline(cin,str) kullanılarak okunan satır bilgisi str değişkeninin içine yazılıyordu. getline fonksiyonuna ilk parametre olarak cin girilmesi okuma işleminin klavyeden olacağını gösterir Dosyadan okuma yapmak için ise ilk parametre olarak akış nesnesinin ismini girmeliyiz.
55 #include <iostream> #include <fstream> using namespace std; int main () { fstream dosyam; string line; dosyam.open ("ornek.txt", ios::out); if (dosyam.is_open()) { dosyam << "Ornek.txt dosyasi"<<endl; dosyam << "Icine bazi bilgiler yazildi.\n"; dosyam << "Sonuc olarak bu dosya olustu"; else cout<<"acilamadi yazamiyor tabii"<<endl; dosyam.close(); return 0; Ornek.txt adlı dosya yaratıldı ve içine aşağıdaki bilgiler yazıldı Ornek.txt dosyasi Icine bazi bilgiler yazildi. Sonuc olarak bu dosya olustu #include <iostream> #include <fstream> using namespace std; int main () { ifstream dosyam; string line; //varsaylan olarak ios::inş eklinde aç dosyam.open ("ornek.txt"); while ( dosyam.good() ) { getline (dosyam,line); cout << line << endl << endl; dosyam.close(); return 0; Ekran çıktısı: Ornek.txt dosyasi Icine bazi bilgiler yazildi. Sonuc olarak bu dosya olustu
56 Dosya İşlemleri while ( dosyam.good() ) ne için yazıldı? good() fonksiyonu akış yazma/okuma işlemlerine hazır ise doğru değilse yanlış cevabını verecektir. Bu örnekte dosya sonuna ulaşılıncaya kadar okuma yapmaya devam etmek için kullanılmıştır
57 Etiketler.good() fonksiyonu dosyanın sonu gelene ya da herhangi bir hata ile karşılaşıncaya kadar doğru cevabını verecektir. Diğer etiketler: bad() fonksiyonu okuma ya da yazma işleminde bir hata ortaya çıkarsa doğru cevabını vercktir. Kısacası good() fonksiyonunun tersini yapar Örneğin açık olmayan bir dosyaya yazma ya da içerisinde hiç boş yer kalmayan bir dosyaya yazma yapmaya kalk ıştığımız durumda.
58 Etiketler fail() bad() fonksiyonuna benzer durumlarda doğru cevabını verecektir. Bunun yanında format hatalarında da doğru cevabını verir. Örneğin okunacak karakterler alfabetik karakter olduğu halde tamsayı okumak istediğimiz durum. eof() Açık olan dosyanın sonuna geldiğimizde doğru, diğer durumlarda yanlış cevabını verir
59 Akış Yeri Belirleme Okuma ya da yazma yerlerine işaret eden işaretçiler şu üye fonksiyonlar aracılığıyla manipüle edilebilir tellg() ve tellp() Giriş parametresi almayan ve get stream (tellg) ya da put stream (tellp) işaretçilerinin o an bulunduğu yeri tamsayı tipinde geri yollayan fonksiyonlardır Get stream seekg() ve seekp() Bu fonksiyonlar get ve put stream lerin pozisyonunu değiştirmemize yarar 2 farkklı prototip ile aşırı yüklenmişlerdir 1. prototip: içine tek parametre al ır o seekg ( position ); seekp ( position ); 2. prototip: içine tek parametre al ır o seekg ( offset, direction ); seekp ( offset, direction );
60 Akış Yeri Belirleme 1. prototip: seekg ( position ); seekp ( position ); Akışın yerini position ile belirtilen noktaya taşır Başlangıç noktası dosyanın başıdır 2. prototip:seekg ( offset, direction ); direction ile belirtilen parametreye göre bir noktaya taşır direction parametresinin alabileceği değerler: ios::beg ios::cur ios::end offset noktası akışın başından sayılır offset noktası akışın o anki pozisyonundan sayılır offset noktası akışın sonundan sayılır
61 // obtaining file size #include <iostream> #include <fstream> using namespace std; int main () { long begin,end; ofstream mfile ("example.txt"); mfile<<"deneme dosyasi olussun"<<endl; mfile<<"ornek biseyler yazalim"<<endl; mfile.close(); ifstream myfile ("example.txt"); begin = myfile.tellg(); myfile.seekg (0, ios::end); end = myfile.tellg(); myfile.close(); cout << "Bas: " << begin<<endl; cout << "son: " << end<< endl; cout << "Fark: " << (end-begin) << " byte.\n"; return 0; Dosya açılınca varsayılan olarak dosyanın başındayız Dosya sonundan başlayarak 0 byte git. Bu da bize dosyanın sonuncu karakterinin kaçıncı byte olduğu bilgisine ulaşmamızı sağlar. Neredeyim: Dosyanın son karakterinde. Ekran çıktısı: Bas: 0 son: 48 Fark: 48 byte.
62 Örnekler Ornek.txt Ornek.txt dosyasi Icine bazi bilgiler yazildi. Sonuc olarak bu dosya olustu #include <iostream> #include <iomanip> #include <fstream> using namespace std; int main () { fstream dosyam; dosyam.open ("ornek.txt", ios::out); if (dosyam.is_open()) { dosyam << "Ornek.txt dosyasi"<<endl; dosyam << "Icine bazi bilgiler yazildi.\n"; dosyam << "Sonuc olarak bu dosya olustu"; else cout<<"acilamadi yazamiyor tabii"<<endl; dosyam.close(); ifstream mfile; mfile.open("ornek.txt"); string str; int yer; while(mfile.good()) { mfile>>str; yer=mfile.tellg(); cout<<setw(15)<<str<<setw(15)<<yer<<endl; mfile.close(); return 0;
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ıC/C++ Disk G/Ç İşlemleri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü
C/C++ Disk G/Ç İşlemleri Veriler Bitler, byte, sayılar, karakter (char), karakter grubu (char *, string), struct, class, kayıtlar, tablolar, vt Dosya karakterleri ve dosya sonu işaretini içerir. İşlem
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ş Data Hiyerarşisi Files (Dosyalar) ve Streams (Kaynaklar)
DetaylıALGORİTMA VE PROGRAMLAMA I DERS NOTU#10
ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10 YZM 1105 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Esnek Argümanlı Fonksiyonlar main() Fonksiyonuna Parametre Aktarımı
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ıÖ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ı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ı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ı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ıNESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA İŞARETÇİ ELEMANLI SINIFLAR REFERANSLAR OPERATÖRLERİN AŞIRI YÜKLENMESİ ATAMA OPERATÖRÜ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü İşaretçi Elemanlı Sınıflar
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama 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ıFonksiyonlar (Altprogram)
Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.
Detaylı10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI
10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI İkincil bellekte tanımlanmış bölgelere dosya denir. Her dosyanın bir ismi vardır. Ancak dosyaların isimlendirme kuralları sistemden sisteme göre değişebilmektedir. Dosya
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 14: Çoklu İşlev İçerik Çoklu İşlevin Gerçekleştirilmesi Saf Sanal Fonksiyonlar ve Soyut Sınıflar Sanal Yıkıcı Fonksiyonlar Statik ve Dinamik Bağlama 2 Çoklu İşlev
DetaylıMetin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü
Metin Dosyaları Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü Metin Dosyaları Metin dosyaları, verileri bir kere hazırlayıp, ikincil saklama
Detaylı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ıFONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.
C PROGRAMLAMA FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra
Detaylı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ı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ı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ı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ıAlgoritma ve Programlama II Recursive Fonksiyonlar Dosyalama
Algoritma ve Programlama II Recursive Fonksiyonlar Dosyalama Rekürsif Algoritmalar Bir problemin çözümü için döngü kurulması gerekiyorsa bu ihtiyacı karşılamak için birisi çevirimli diğeri rekürsif olarak
Detaylı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ıDOSYA İŞLEMLERİ Programlama dilleri hafta -
BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA İŞLEMLERİ Programlama dilleri 1-10. hafta - Araş. Gör. Nesibe YALÇIN Dosya İşlemleri Programın çalışma esnasında
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ı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ıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor
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ı11- FONKSİYONLAR (FUNCTIONS)
1 Fonksiyon : Belirli bir işi yapan programın bir isim altına tanımlanarak, o isimle çağrılarak kullanılması. Fonksiyonun faydaları : Programın modülerliğini arttırır. Aynı işi yapan program parçası tekrar
DetaylıBİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,
BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.
Detaylı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ı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ıEln 1001 Bilgisayar Programlama I
Eln 1001 Bilgisayar Programlama I GiriŞ / ǹk¹Ş Fonksiyonlar¹ Ne ÖĆreneceĆiz? Temel Giriş/Çıkış Yapısı Giriş Fonksiyonları Karakterler için giriş fonksiyonları Scanf fonksiyonu Formatlı giriş Çıkış Fonksiyonları
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 Veri Hiyerarşisi Dosyalara Giriş
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ı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ıBTEP243 Ders 3. class Yazım Kuralı:
BTEP243 Ders 3 Sınıflar ve Nesneler Nesne tabanlı programlamada, programlamanın temeli sınıflardır (class). Nesnelerin yaratılmasında taslak (blueprint) görevi görür. Sınıflar; o Nesnelerin özelliklerinin
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ı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ıHSancak Nesne Tabanlı Programlama I Ders Notları
METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı
Detaylı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ıSunum İçeriği. Programlamaya Giriş 22.03.2011
Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon
DetaylıKONU 7: DOSYA İŞLEME ( File Processing )
DERS: PROGRAMLAMA DİLLERİ 1 DÖNEM: 2002-2003 Güz yarı yılı KONU 7: DOSYA İŞLEME ( File Processing ) HEDEFLER: 1- Dosyaları yaratabilme, okuyabilme, yazabilme ve güncelleyebilme 2- Sıralı erişim dosyalarını
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ıBİL-142 Bilgisayar Programlama II
BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri
DetaylıTemel Giriş/Çıkış Fonksiyonları
Temel Giriş/Çıkış Fonksiyonları Temel giriş/çıkış fonksiyonları, bütün programla dillerinde mevcuttur. Bu tür fonksiyonlar, kullanıcıya ekrana veya yazıcıya bilgi yazdırmasına, ve bilgisayara klavyeden
DetaylıTemel Bilgisayar Programlama
BÖLÜM 11: : Birçok programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. Bütün programlama dillerinde, sabit disk sürücüsü (Hard Disk Drive, HDD) üzerindeki verileri okumak veya diske veri
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ıDr. Fatih AY Tel:
Bilgisayar Programlama Ders 5 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyonlar Fonksiyonlar Büyük programlar geliştirmenin en iyi yolu, onu orijinal programdan daha kolay
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.
Detaylı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ı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ıSAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2015-2016 GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ
SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2015-2016 GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ Cemil Hoca Grubu PROJE ÖDEVİ ÖDEV TESLİM KURALLARI Ödevin son
Detaylı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ı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ı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ıpublic static int Toplam int x, int y
static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.
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ıPascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.
DOSYALAMALAR Programlama bilgilerin her zaman ekrana yazdırılması veya değişkenlerde tutulması yeterli olmayabilir. Programın çalışması sonucu girilen yada hesaplanan her bilgi manyetik ortama programda
Detaylıİsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1
İsimler ve Kapsam Tanım: Bir değişkenin kapsamı (scope) değişkenin görülebilir olduğu komutların alanıdır. Görülebilir olduğu alan, bir komut içinde belirlenen değerle kullanılabildiği alandır. Tanım:
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ıELN1002 BİLGİSAYAR PROGRAMLAMA 2
ELN1002 BİLGİSAYAR PROGRAMLAMA 2 DOSYALAMA Sunu Planı Veri Hiyerarşisi Dosyalar ve Akımlar(streams) Sıralı Erişim (Sequential Access) dosyalarının oluşturulması Sıralı Erişim Dosyalarından Veri Okuma Rasgele
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ı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ı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 Dosya İşlemleri (Rastgele Erişim)
DetaylıC#(Sharp) Programlama Dili
Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin
Detaylışeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;
Dosya İşlemleri Nedir? Programlarınızı girdi (input) olarak aldığı verileri bir text dosyasında yada word dosyasında vb. saklamasıdır. Artık C programınızın yaratıp içine veriler koyacağı text dosyasını
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ıDers 8: Metotlar. barisgokce.com
Ders 8: Metotlar Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Metotlar C# içerisinde bir veya birden fazla kod bulunduran kod bloklarıdır. Bir nesnenin veya sınıfın programı
Detaylı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ıOperator Aşırı Yükleme (Operator OverLoading)
Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme Operatör metotları bir nesnenin ifadeler içinde operatörlerle kullanıldığı zaman davranışını belirler. Temel veri türleri için operatörler
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ıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;
DetaylıC++ 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ıGenel Programlama II
Genel Programlama II 18.04.2011 1 DİSK DOSYALARI İLE ÇALIŞMA DOSYALARIN AÇILMASI C programlama dilinde bir dosyayı kullanabilmek için, öncelikle o dosyanın açılması gerekmektedir. Hem okuma hem de yazma
DetaylıVisual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Dosyalama İşlemleri. Ders Notları
1 Anadolu Üniversitesi Endüstri Mühendisliği Bölümü Dosyalama İşlemleri Visual Basic 6.0 Ders Notları Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi, 1999, Beyazıt İstanbul, 2
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ıELN1001 BİLGİSAYAR PROGRAMLAMA I
ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave
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ıBMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1
BMT 101 Algoritma ve Programlama I 11. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Fonksiyonlar Yük. Müh. Köksal Gündoğdu 2 C++ Hazır Fonksiyonlar Yük. Müh. Köksal Gündoğdu 3 C++ Hazır Fonksiyonlar 1. Matematiksel
DetaylıBLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA
BLM-112 PROGRAMLAMA DİLLERİ II Ders-8 Dosya İşlemleri-1 Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Giriş Değişken ve dizilerde tutulan değerler programın çalışması
DetaylıYrd. Doç. Dr. Caner ÖZCAN
Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,
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ıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak
DetaylıANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;
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 - 5 Nesneye Yönelik Programlamaya Giriş Bu
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ıC++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 3: Giriş/Çıkış
C++ Programming: Program Design Including Data Structures, Third Edition Bölüm 3: Giriş/Çıkış Bölümün Amaçları Akış (stream) nedir? Girdi/çıktı akışlarının işleyişi Standart bir giriş aygıtından veri okuması
DetaylıTemel Dosya İşlemleri. Kütük Organizasyonu 1
Temel Dosya İşlemleri Kütük Organizasyonu 1 Dosyaların Temel İşlemleri Bilgiler dosyada belirli bir düzen içerisinde yer alırlar Örn: ALAN THARP 100 100 100 JOHN BISHOP 70 80 75 PAUL AUSTER Bir satırda
DetaylıMAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya
MAK 1005 Bilgisayar Programlamaya Giriş Fonksiyonlar Prof. Dr. Necmettin Kaya Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en
Detaylı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ı/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.
Selçuk Üniversitesi Mühendislik-Mimarlık Fakültesi Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :26.11.2012, 60 dak. Dikkat!!! Soru kitapçığında
DetaylıGörsel Programlama DERS 03. Görsel Programlama - Ders03/ 1
Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit
Detaylı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ı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ı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ı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ı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ık ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.
MATRİS TRANSPOZU: Bir matrisin satırlarını sütun, sütunlarınıda satır yaparak elde edilen matrise transpoz matris denilir. Diğer bir değişle, eğer A matrisi aşağıdaki gibi tanımlandıysa bu matrisin transpoz
Detaylı