KONU 7: DOSYA İŞLEME ( File Processing )

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

Download "KONU 7: DOSYA İŞLEME ( File Processing )"

Transkript

1 DERS: PROGRAMLAMA DİLLERİ 1 DÖNEM: 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ı tanıma 3- Rasgele (doğrudan) erişim dosyalarını tanıma 4- Bu dosyalar üzerinde G/Ç işlemleri yapma İÇERİK: Veri hiyerarşisi Sıralı erişim dosyası yaratma Sıralı erişim dosyasından okuma Sıralı erişim dosyalarını güncelleme Rasgele erişimli dosyalar Sıralı erişim dosyalarını yaratma Sıralı erişim dosyalarına yazma Sıralı erişim dosyasından sıralı okuma VERİ HİYERARŞİSİ Bilgisayarlarda her sayı ya da alfabetik karakterin 0 ve 1 lerle temsil edildiğini biliyorsunuz. Karakterlerin bitlerden oluşması gibi alanlar da karakter (veya baytlardan) oluşur. Alan bir anlamı olan bir grup karakterdir. Bir kayıt ise (C++ da class, C de struct ) birden fazla alandan meydana gelir. Örneğin bir muhasebe sisteminde bir çalışana ait bir kayıtta aşağıdaki alanlar bulunabilir. 1- Sicil no 2- Adı 3- Adresi 4- Ücreti 5- Vergi oranı Dolayısıyla bir kayıt birbiriyle alakalı alanlardan meydana gelir kaydın olduğu bir dosyadan bir kayda erişmek istediğimizi düşünelim. Genellikle bu erişimi kolaylaştırmak için kaydın bir alanı anahtar ( record key ) olarak belirlenir ve erişim esnasında kullanılır. Yukardaki örnekte sicil no kayıt anahtarı olarak kullanılabilir. Şirketlerin birden fazla dosyaları vardır: muhasebe, alacak hesapları, stok, personel, vb gibi. Birbiriyle ilgili dosyaların bir veri tabanı programı kullanılarak veri tabanında tutulması pek çok kolaylık sağlar: veri bütünlüğü, veri tutarlılığı, bakım kolaylığı, mükerrer veri olmaması gibi. Veri tabanlarını yaratmak ve erişimi sağlamak, bakımlarını yapmnak için Veri Tabanı Yönetim Sistemi (DBMS) denen yazılımlar mevcuttur. 1

2 C++ bir dosyayı baytlar sırası ( sequence of bytes ) olarak görür. Her dosya, dosya sonunu belirten bir işaret ile biter. C++ da dosya işlemleri yapabilmek için <iostream> ve <fstream> başlık dosyaları dahil edilmelidir. <fstream> başlık dosyası ifstream (giriş işlemleri için) ve ofstream (çıkış işlemleri için) gerekli sınıf ( class ) tanımlarını içerir. SIRALI DOSYA YARATMA Örnek: Her müşteri için hesap no, müşter, adı, bakiyesi, vb. tutulacak. Program, kullanıcının kayıtları hesap no sırasında gireceğini varsaymaktadır. // fig s.761 // create a sequential file #include <iostream> using std::cout; using std::cin; using std::ios; using std::cerr; using std::endl; #înclude <fstream> using std::ofstream; #include <cstdlib> ofstream MusteriDosyasi( musteri.dat, ios::out ); // musteri.dat çıkış // için açılır (open) if (!MusteriDosyasi) // dosya düzgün açılırsa 0 döndürür cerr << Dosya açılamadı << endl; exit(1); // sıfır harici bir değer programın bir hata sonucu bittiğini gösterir. Bu değer op.sys e... cout << Hesap no, Ad, Bakiye bilgilerini giriniz.\n << Girişi bitirmek için EOF giriniz.\n? ; int hesap; char ad[20]; double bakiye; while (cin >> account >> ad >> bakiye ) //EOF olmadıkça bu koşul doğrudur MusteriDosyasi << hesap << << ad << << bakiye << \n ; cout <<? ; return 0; // EOF olunca main biter. Musteri.dat dosyası kapatılır. Hesap no, Ad, Bakiye bilgilerini giriniz. Girişi bitirmek için EOF giriniz.? 100 Jones 24.98? 200 Doe ? 300 White 0.00? 400 Stone 42.16? 500 Rich ? ^Z 2

3 Dosya açma durumları ( file open modes ) ios::app ios::in ios::out ios::trunc ios::binary dosyanın sonuna ekle dosyayı giriş için aç dosyayı çıkış için aç dosyanın içeriğini at dosyayı ikili (metin olmayan) giriş çıkış için aç SIRALI DOSYADAN OKUMA YAPMA ( reading from sequential access file ) // fig s #include <fstream>.. void satiryazdir(int, const char * const, double); ifstream MusteriDosyasi( musteri.dat, ios::in ); da olur // ios::in konulmasa if (!MusteriDosyasi) cerr << Dosya açılamadı\n ; exit(1); int hesap; char ad[20]; double bakiye; cout << setiosflags( ios::left ) setw( 10) << HESAP NO << setw(13) << ADI << BAKİYE\n << setiosflags( ios::fixed ios::showpoint ); while ( MusteriDosyasi >> hesap >> ad >> bakiye ) satiryazdir(hesap, ad, bakiye); return 0; ad is a char pointer to a const char void satiryazdir(int hes, const char * char ad, double bak) cout << setiosflags( ios::left ) setw( 10) << hes << setw(13) << ad << setw(7) << setprecision(2) << resetiosflags( ios::fixed ) << bal << \n ; HESAP NO ADI BAKIYE 100 Jones Doe White Stone Rich ss atlandı 3

4 SIRALI ERİŞİM DOSYALARININ GÜNCELLENMESİ Yukarıda yaratılmış olan musteri dosyasındaki bir veri değiştirilmek (güncellenmek) istendiğinde diğer verilerin bozulma riski vardır. Örneğin White ismini Worthington yapmak istersek, bu isim orijinal isim olan Whhite dan 6 karakter daha uzun olduğundan kendisinden sonra gelen kaydı bozar. Bunu önlemek için 300 White 0.00 a kadar olan kayıtlar yeni bir dosyaya kopyalanıp 300 Worthington 0.00 yazılıp geri kan kayıtlar da yeni dosyaya aktarılabilir. Bir seferde çok sayıda kayıt güncellenecekse bu yöntem kabul edilebilir. RASGELE ERİŞİMLİ DOSYALAR Belirli bir kaydın hemen bulunmasu gerektiği durumlarda kullanılır. Bankada belirli bir müşteri hesabına (dosyada daha önce gelen müşteri kayıtları okunmadan ) erişilmesi, kayıt sırasında belirli bir öğrenci numarasına daha önceki tüm numaralar okunmadan erişilmesi gibi. C++ dosyalar üzerinde bir yapı oluşturmadığı için bunu programcı yapmalıdır. Rasgele erişimli dosya yaratmak için pek çok teknik vardır. Bunların en kolayında, tüm kayıtların sabit uzunluklu olması tercih edilir / gerekir. Kayıtların sabit uzunluklu olması aranan bir kaydın dosyanın başına göre kaçıncı bayttan ( byte offset ) başladığını hesaplamamızı mümkün kılar. RASGELE ERİŞİMLİ DOSYALARI YARATMAK Bu tür dosyalara genellikle class veya struct ile tanımlanmış bir grup alanı bir anda yazdırırız, tek bir sayıyı değil. Örnek: 100 müşteri için 100 sabit uzunluklu kayıt tutulacak. Her kayıtta hesap no (kayıt anahtarı), ad, soyad, bakiye alanları bulunacak. Program, bir hesabı güncelleyebilmeli, yeni hesap ekleyebilmeli, hesap silebilmeli ve tüm hesapları listeleyebilmeli. Aşağıda rasgele erişimli bir dosyanın nasıl açıldığını, struct ile kayıt yapısının nasıl tanımlandığı (musveri.h adlı başlık dosyasında) gösterilmektedir. Program öncelikle 100 kayda boş struct lar yazarak kayıtların ik değer atamalarını yapmaktadır. Boş struct da hesap no için 0, ad ve soyad için null dizgi, ve bakiye için 0.0 vardır. // musveri.h // struct musteri nin tanımı #ifndef MUSVERI_H #define MUSVERI_H Header file musveri.h struct musteri aşağıdaki tüm programlarda int hesapno; bu başlık dosyası kullanılacak char soyad[15]; char ad[10]; double bakiye; ; #endif 4

5 // fig s.774 // creating random-access file sequentially #include <iostream> using std::cerr; using std::endl; using std::ios; #include <fstream> using std::ofstream; #include <cstdlib> #include musveri.h ofstream kredi( kredi.dat, ios::binary); // kredi.dat file is associated with // ofstream object kredi if (!kredi ) cerr << kredi dosyası açılamadı << endl; exit(1); musteri bosmusteri = 0,,, 0.0 ; for ( int i = 0; i <100, i++ ) kredi.write( reinterpret_cast<const char *>( &bosmusteri ), sizeof(musteri)); return 0; kredi.write( reinterpret_cast<const char *>( &bosmusteri ), sizeof(musteri)); cümlesinin anlamı: kredi.dat ile ilişkilendirilmiş kredi nesnesine ( object ) musteri yapısı büyüklüğündeki bosmusteri yapısını yazar. NOTE THAT the first argument of write function must be of type const char *. However, the data type of &bosmusteri is musteri *. To convert &bosmusteri to the appropriate pointer type, the expression reinterpret_cast<const char *>( &bosmusteri ) uses the cast operator reinterpret_cast to convert the address of bosmusteri to a const char *, so the call to write compiles without issuing a syntax error. 5

6 RASGELE-ERİŞİMLİ DOSYAYA VERİLERİ RASGELE YAZMA Aşağıdaki program kredi.dat dosyasına veri yazar. Dosyaya verileri tam yerlerine yazmak için ofstream fonksiyonları write ve seekp kullanır. Fonksiyon seekp, dosyaya yazıacak kaydın tam yerini ayarlar ve write verileri yazar. // fig s.775 // writing to a random access file #include <iostream> using std::cerr; using std::endl; using std::ios; using std::cin; using std::cout; #include <fstream> using std::ostream; #include <cstdlib> #include musveri.h ofstream kredi( kredi.dat, ios::binary); // kredi.dat file is associated with // ofstream object kredi if (!kredi ) cerr << kredi dosyası açılamadı << endl; exit(1); cout << Hesap numarasını ( 1 ile 100 arasında )giriniz. << Bitirmek için 0 giriniz.\n? ; musteri mus; cin >> mus.hesapno; while ( mus.hesapno > 0 && mus.hesapno <= 100 ) cout << Ad, soyad ve bakiye giriniz.\n? ; cin >> mus.ad >> mus.soyad >> mus.bakiye; // kredi dosyasında gerekli adrese konumlan kredi.seekp( ( mus.hesapno 1 ) * sizeof (musteri) ); kredi.write( reinterpret_cast<const char *>(&mus), sizeof(musteri) ); cout << Hesap numarasını giriniz:\n? ; cin >> mus.hesapno; return 0; 6

7 Hesap numarasını ( 1 ile 100 arasında )giriniz.bitirmek için 0 giriniz.? 37 Ad, soyad ve bakiyeyi giriniz:? Bakır Deniz 0.00 Hesap numarasını giriniz:? 29 Ad, soyad ve bakiyeyi giriniz:? Baki Naci Hesap numarasını giriniz:? 96 Ad, soyad ve bakiyeyi giriniz:? Sarı Sami Hesap numarasını giriniz:? 88 Ad, soyad ve bakiyeyi giriniz:? Simit Davut Hesap numarasını giriniz:? 0 kredi.seekp( ( mus.hesapno 1 ) * sizeof (musteri) ); Parantez içindeki aritmetik ifade, yazılacak yadın, dosya içine baştan kaçıncı bayttan başlacağını hesaplar. Musteri 50 bayt ise, hesapno 4 ise, hesapno 4 olan kayıt 200.bayttan itibaren yazılacak demektir. Dosya konumlandırma işaretçisi ( file position pointer ) bu adrese konumlanır. RASGELE-ERİŞİMLİ BİR DOSYAYI SIRALI OKUMA s.777 Daha önce yarattığımız rasgele-erişimli dosyayı sıralı okuyacağız yani ilk kayıttan başlayarak sırayla her kaydı. Öncelikle birkaç önmeli konuya bakalım: ifstream fonksiyonu read belirlenen bayt uzunluğundaki veriyi dosyadan okur. Örneğin kredi.read(reinterpret_cast<char *>(?mus ), sizeof(musteri) ); = kredi dosyasından musteri uzunluğunda baytı okuyup mus yapısına koyar. NOT: read fonksiyonunun ilk argümanı char * olmak durumundadır. Aşağıdaki program kredi.dat dosyasındaki bütün kayıtları sırayla okur ve okunan her bir kaydın veri içerip içermediğine bakar. Döngü koşulunu inceleyecek olursak: while ( kredi &&!kredi.eof() ) dosya sonuna gelip gelinmediğini anlamak için eof fonksiyonunu kullanır. Dosya sonuna gelindiyse döngüden çıkılır. İkinci bir koşul da && işaretinin sol tarafında yer alan kredi sözcüğüyle belirtilmiştir. kredi dosyası okunurken bir hata oluşursa bu noktaya false döner ve yine döngüden çıkılır. OutputLine fonksiyonunun 2 argümanına dikkat edelim: 1- ostream objesi 2-musteri yapısı (structure). Görüldüğü gibi, cout gibi bir ostream objesini argüman olarak vermek mümkündür. 7

8 Program: Rasgele erişimli dosyasını sıralı okunması // fig reading a random access file sequentially #include <iostream> using std::cerr; using std::endl; using std::ios; using std::cout; #include <iomanip> using std::setprecision; using std::setiosflags; using std::resetiosflags; using std::setw; #include <fstream> using std::ifstream; using std::ostream; #include <cstdlib> #include musveri.h ; void outputline( ostream&, const clientdata & ); ifstream kredi( kredi.dat, ios::in); // kredi.dat file is associated with // ifstream object kredi if (!kredi ) cerr << kredi dosyası açılamadı << endl; exit(1); cout << setioflags( ios:: left ) << setw (10) << HESAP NO << setw(16) << SOYADI << setw(11) << ADI << resetiosflags(ios::left) << setw(10) << BAKİYE << endl; musteri mus; kredi.read(reinterpret_cast<char *>( &mus ), sizeof( musteri )); while ( kredi &&!kredi.eof() ) if (mus.hesapno!= 0 ) outputline ( cout, mus); kredi.read(reinterpret_cast<char *>( &mus ), sizeof( musteri )); return 0; void outputline( ostream &output, const musteri &c) output << setiosflags( ios::left ) << setw (10) << c.hesapno << setw(16) << c.soyad 8

9 << setw(11) << c.ad << setw(10) << setprecision(2) << resetiosfalgs( ios::left) << setiosflags( ios::fixed ios::showpoint) << c.bakiye << \n ; HESAP NO SOYADI ADI BAKİYE 29 Baki Naci Dakik Selin Bakır Deniz Simit Davut Sarı Sami

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

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Konular Giriş Data Hiyerarşisi Files (Dosyalar) ve Streams (Kaynaklar)

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. 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ı

C ++ Ders 7. Hata Denetimi ve Dosya İşlemleri. Prof. Dr. M. Serdar ÇELEBİ, İTÜ

C ++ Ders 7. Hata Denetimi ve Dosya İşlemleri. Prof. Dr. M. Serdar ÇELEBİ, İTÜ C ++ Ders 7 Hata Denetimi ve Dosya İşlemleri Prof. Dr. M. Serdar ÇELEBİ, İTÜ C ++ Stream ler Stream Byte ların dizisi şeklinde bilginin transferidir. I/O Operasyonları: Giriş: Bir giriş cihazından ( klavye,

Detaylı

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

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

Detaylı

1 PROGRAMLAMAYA GİRİŞ

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

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

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ı

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İ 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ı

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ı 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İLG214. 20.10.2009 Dr. Mustafa T. Babagil 1

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

Detaylı

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 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ı

Fall Object-Oriented Programming Laboratory 02 - Structures

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

Detaylı

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

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

Detaylı

DOSYA İŞLEMLERİ Programlama dilleri hafta -

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ı

#ifndef COMPLEX_H #define COMPLEX_H

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

Detaylı

PROGRAMLAMA. Dosyalama İşlemleri. Yrd. Doç. Dr. Bülent Çobanoğlu. Sakarya Üniversitesi Mekatronik Mühendisliği. Yrd.Doç.Dr.

PROGRAMLAMA. Dosyalama İşlemleri. Yrd. Doç. Dr. Bülent Çobanoğlu. Sakarya Üniversitesi Mekatronik Mühendisliği. Yrd.Doç.Dr. PROGRAMLAMA Dosyalama İşlemleri Yrd. Doç. Dr. Bülent Çobanoğlu Sakarya Üniversitesi Mekatronik Mühendisliği Yrd.Doç. Dosyalama İşlemleri Program ve verileri daha sonra kullanabilmek amacı ile kalıcı olarak

Detaylı

#ifndef FATURA_H #define FATURA_H

#ifndef FATURA_H #define FATURA_H 06.10.2018 2018-2019 Güz Object-Oriented Programming Lab 06 Ön Çalışma - Uygulamanın 1. ve 2. sorularında istenen fatura ve mevduat class ları için constructor metodunun (.cpp syasındaki) tanımını ve static

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 DOSYALAMA Sunu Planı Rasgele Erişim (Random Access) Dosyaları Rasgele Erişim Dosyalarına Veri Yazma Rasgele Erişim Dosyalarından Veri Okuma 1 Sıralı Erişim Dosyası Bir

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN GİRİŞ Değişken ve dizilerde tutulan değerler programın çalışması esnasında değerlerini korurlarken programın çalışması sona erdiğinde veri kaybolur. Dosyalar verinin kalıcı olarak

Detaylı

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

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

Detaylı

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

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

Detaylı

Temel Dosya İşlemleri. Kütük Organizasyonu 1

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ı

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

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

Detaylı

Fall Object-Oriented Programming Laboratory 03

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

Detaylı

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar: Dosyalama Çoğu programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. C programlama dilinde, disk dosyasına erişme (okuma ve yazma için) iki farklı yöntemle yapılır. Bunlar üst düzey ve alt

Detaylı

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

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

Detaylı

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

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

Detaylı

Eln 1002 Bilgisayar Programlama II

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

Detaylı

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

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

Detaylı

Chapter 11 Dosya İşleme

Chapter 11 Dosya İşleme 1 Chapter 11 Dosya İşleme 11.1 Giriş 11.2 Veri Hiyerarşisi 11.3 Dosya ve Akışlar(Stream) 11.4 Sıralı erişimli dosya yaratmak 11.5 Sıralı Erişimli dosyadan Veri okumak 11.6 Rasgele Erişimli Dosyalar 11.7

Detaylı

Ad Soyad: İmza: Object-Oriented Programming Quiz 4 60dk. Kapalı kitap. Kapalı defter. Kapalı cep telefonu. Hesap makinesi yok.

Ad Soyad: İmza: Object-Oriented Programming Quiz 4 60dk. Kapalı kitap. Kapalı defter. Kapalı cep telefonu. Hesap makinesi yok. Ad Soyad: İmza: Object-Oriented Programming Quiz 4 60dk. Kapalı kitap. Kapalı defter. Kapalı cep telefonu. Hesap makinesi yok. 21.12.2018 1. (30 puan) Aşağıda, aralarında herhangi bir kalıtım (inheritance)

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

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

Detaylı

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01 Bilgisayar i Mimarisii i Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01 İZMIR ÜNIVERSITESI İZMIR ÜNIVERSITESI MYO BILGISAYAR PROGRAMLAMA

Detaylı

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Ö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ı

Bölüm 14 İleri C Konuları

Bölüm 14 İleri C Konuları Bölüm 14 İleri C Konuları Nuri ÖZALP (ANKARA ÜNİVERSİTESİ) İLERİ PROGRAMLAMA İLERİ C KONULARI 1 İçerik 14.1 Giriş 14.2 UNIX ve DOS Sistemlerinde Girdi/Çıktı Yönlendirme 14.3 Değişken Uzunluklu Argüment

Detaylı

#ifndef VEKTOR_H #define VEKTOR_H. struct vektor_s { double x; double y; double z; }; typedef struct vektor_s vektor_t;

#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ı

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya BMB1002 Bilgisayar Programlamaya Giriş Dosyalar Prof. Dr. Necmettin Kaya Dosyalar, verilen saklanması ve daha sonra okunması için bilgi içeren ve kalıcı olarak saklanabilen ortamlardır. Dosya işlemleri,

Detaylı

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

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

Detaylı

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

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ı

Object-Oriented Programming Laboratuvar 11

Object-Oriented Programming Laboratuvar 11 Object-Oriented Programming Laboratuvar 11 19.12.2017 We use abstract class Employee to represent the general concept of an employee. The classes that derive directly from Employee are SalariedEmployee

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN GİRİŞ Değişken ve dizilerde tutulan değerler programın çalışması esnasında değerlerini korurlarken programın çalışması sona erdiğinde veri kaybolur. Dosyalar verinin kalıcı olarak

Detaylı

Şekil 4-3 do while döngüsünün çalışması.

Şekil 4-3 do while döngüsünün çalışması. Şekil 4-3 do while döngüsünün çalışması. Burada önce döngü içine girilir, işlem1, işlem2, işlemler gerçekleştirilir ve sonra işlemlerin devam edilip edilmeyeceği hakkında while (koşul); ile verilir (Şekil

Detaylı

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur. C++ Statements En küçük çalışabilir birime statement (ifade) denir. Statements semicolon (;) ile sonlandırılır. Yalnız başına ; null statement ifade eder Örnek: while (*str++ = *inbuf++) ; { ve } arasında

Detaylı

C ++ Ders 6. Çoklubenzesim

C ++ Ders 6. Çoklubenzesim Ders 6 Çoklubenzesim Çoklubenzesim Farkli siniflardaki nesnelerin ayni fonksiyon çagrilmasina farkli sekilde cevap verebilmesini saglar. Sanal fonksiyonlar araciligiyla uygulanir. Kök-siniftan bir pointer

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Veri Hiyerarşisi Dosyalara Giriş

Detaylı

Inheritance. Inheritance (turetim)

Inheritance. Inheritance (turetim) Inheritance (turetim) Bir cok problemin cozumu icin belirlenen class lar hierarsik bir yapi seklinde organize edilebilir C++ gibi bir cok Object-oriented diller class benzerliklerinin etkin bir sekilde

Detaylı

Object-Oriented Programming Laboratuvar 10

Object-Oriented Programming Laboratuvar 10 Object-Oriented Programming Laboratuvar 10 12.11.2017 1. Aşağıda declaration ı verilen Time class ının definition ını yazın. Bir Time objesindeki zaman değerini bir saniye arttıran tick metodunu ekleyin.

Detaylı

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Dosyalama İşlemleri. Ders Notları

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ı

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

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ı

Pros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar

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ı

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Ders 5 Miras Alma Prof. Dr. M. Serdar ÇELEBİ, İTÜ Inheritance (Miras) Eski sınıflardan yeni sınıflar yaratılmasıdır. Yeni (türetilmiş) sınıf, eski (kök) sınıfın özellik ve davranışlarını gösterir. Türetilmiş

Detaylı

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Ders 5 Miras Alma Inheritance (Miras) Eski sınıflardan yeni sınıflar yaratılmasıdır. Yeni (türetilmiş) sınıf, eski (kök) sınıfın özellik ve davranışlarını gösterir. Türetilmiş (Derived) sınıf, kök (base)

Detaylı

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı

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

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

Detaylı

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

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

Detaylı

C++ Operatörler (Operators)

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

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 23 May. 2016 PHP Dosya İşlemleri Form yolu ile kullanıcıdan alınan bilgilerin veri tabanı yerine

Detaylı

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

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

Detaylı

ALGORİTMA VE PROGRAMLAMA I

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

Detaylı

Göstericiler (Pointers)

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

Detaylı

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200)

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) 2012 Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) İstanbul Yazılım ve Elektronik Teknolojileri 01.01.2012 MFM-200 Mifare Kart Yazıcı/Okuyucu Modül Genel Özellikler Ürün Kodu MFM-200 Protokol ISO14443A, ISO15693

Detaylı

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

ş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ı

Operatörlere İşlev Yükleme

Operatörlere İşlev Yükleme Binnur Kurt kurt@ce.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi Operatörler C tip-duyarlı ve -odaklı bir dildir. Her operatör belirli tiplerde operand alır. C de temel tiplerden

Detaylı

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.

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ı

Algoritma ve Programlama II Recursive Fonksiyonlar Dosyalama

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

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Dosya İşlemleri (Rastgele Erişim)

Detaylı

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

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

Detaylı

BİLG Dr. Mustafa T. Babagil 1

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

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

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

Detaylı

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

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

Detaylı

En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder

En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder C++ Statements C++ control structures En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder Ornek: while (*str++ = *inbuf++) ; {

Detaylı

Veri Tabanı Hafta Dersi

Veri Tabanı Hafta Dersi Veri Tabanı - 1 2. Hafta Dersi Dersin Hedefleri Geleneksel Dosya Sistemleri Veri Tabanı Kavramları Veri Tabanı Yönetim Sistemleri Veri Modelleri Veri nedir? Bilgisayarlarda veri nasıl saklanır? Bilgisayarlardaki

Detaylı

BİL-142 Bilgisayar Programlama II

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

Detaylı

C ++ Ders 8. Stream ve Şablon Yapıları. Prof. Dr. M. Serdar ÇELEBİ, İTÜ

C ++ Ders 8. Stream ve Şablon Yapıları. Prof. Dr. M. Serdar ÇELEBİ, İTÜ C ++ Ders 8 Stream ve Şablon Yapıları Prof. Dr. M. Serdar ÇELEBİ, İTÜ C ++ Stream ler Stream Byte ların dizisi şeklinde verinin transferidir G/Ç Operasyonları: Giriş: Bir giriş cihazından ( klavye, disk

Detaylı

Eln 1001 Bilgisayar Programlama I

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ı

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

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

Detaylı

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

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ı

Temel Bilgisayar Programlama

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ı

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

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

Detaylı

10/17/2007 Nesneye Yonelik Programlama 3.1

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

Detaylı

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

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

Detaylı

Genel Programlama II

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ı

Bigisayar Programlama

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

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

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ı

Stack Islemleri. Postfix ve Infix notasyonlari. Stack ozellikleri

Stack Islemleri. Postfix ve Infix notasyonlari. Stack ozellikleri Veri Yapilari Stacks Stacks Queues Lists Stack nedir Stack de tanimli islemler Push Pop Empty Full Inialization Stack in gerceklestirilmesi 10/7/2004 Veri yapilari 3.1 10/7/2004 Veri yapilari 3.2 Stack

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

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

Detaylı

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Ders 9 C ++ Ön İşlemciler Prof. Dr. M. Serdar ÇELEBİ, İTÜ C ++ Önişlemciler Giriş #include Önişlemci Direktifi #define Önişlemci Direktifi: Sembolik Sabitler #define Önişlemci Direktifi : Makrolar

Detaylı

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

TUŞ TAKIMI (KEYPAD) UYGULAMALARI 12. Bölüm TUŞ TAKIMI (KEYPAD) UYGULAMALARI Tuş Takımı (Keypad) Hakkında Bilgi Tuş Takımı Uygulaması-1 74C922 Tuş Takımı Enkoder Entegresi Tuş Takımı Uygulaması-2 (74C922 İle) Bu bölümde tuş takımı diğer

Detaylı

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

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

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

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

Detaylı

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ış 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ı

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

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

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA SANAL FONKSİYONLAR VE ÇOK BİÇİMLİLİK Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü GİRİŞ C++, hem derleyici-zamanlı hem de çalışmazamanlı çok biçimliliği destekler.

Detaylı

C PROGRAMLAMA D İ L İ

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

Detaylı

1 Temel Kavramlar. Veritabanı 1

1 Temel Kavramlar. Veritabanı 1 1 Temel Kavramlar Veritabanı 1 Veri Saklama Gerekliliği Bilgisayarların ilk bulunduğu yıllardan itibaren veri saklama tüm kurum ve kuruluşlarda kullanılmaktadır. Veri saklamada kullanılan yöntemler; Geleneksel

Detaylı

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

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

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

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

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

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ı

YILDIZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR ve ÖĞRETİM TEKNOLOJİLERİ EĞİTİMİ BÖLÜMÜ. KONU 1: BİLGİSAYARLAR ve C++ İLE PROGRAMLAMAYA GİRİŞ

YILDIZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR ve ÖĞRETİM TEKNOLOJİLERİ EĞİTİMİ BÖLÜMÜ. KONU 1: BİLGİSAYARLAR ve C++ İLE PROGRAMLAMAYA GİRİŞ YILDIZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR ve ÖĞRETİM TEKNOLOJİLERİ EĞİTİMİ BÖLÜMÜ DERS: PROGRAMLAMA DİLLERİ 1 DERSİ VEREN: Öğr. Gör. Filiz Eyüboğlu SINIF: 2 DÖNEM: 1 TÜM DERS NOTLARI: www.bto.yildiz.edu.tr,

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı

Dosyalar 1.1 Dosya Nedir?

Dosyalar 1.1 Dosya Nedir? 1 Dosyalar 1.1 Dosya Nedir? Bilgisayar kullanımını gerektiren çoğu işler çok sayıda veri kullanır. Üstelik, aynı konularda bilgi veren verilerin gruplandırılarak bilgisayar izlencesinin her yürütülüşünde

Detaylı