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ü

Benzer belgeler
C/C++ Disk G/Ç İşlemleri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Yrd. Doç. Dr. Caner ÖZCAN

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

ALGORİTMA VE PROGRAMLAMA II

Yrd. Doç. Dr. Caner ÖZCAN

Eln 1002 Bilgisayar Programlama II

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.

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

DOSYA İŞLEMLERİ Programlama dilleri hafta -

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

KONU 7: DOSYA İŞLEME ( File Processing )

Metin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II

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

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

1 PROGRAMLAMAYA GİRİŞ

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Bilgisayar Sistemlerine Genel Bakış

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

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

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

Girdi Çıktı İşlemleri

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

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

Veritabanı Yönetim Sistemleri, 2. basım Zehra ALAKOÇ BURMA, 2009, Seçkin Yayıncılık

Algoritma ve Programlama II Recursive Fonksiyonlar Dosyalama

Eln 1001 Bilgisayar Programlama I

Nesne Yönelimli Programlama

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

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

VERİTABANI & VERİTABANI YÖNETİMİ

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

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

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

DİSK DEPOLAMA ALANLARI

Temel Bilgisayar Programlama

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

Sıralı Erişimli Dosyalar. Kütük Organizasyonu 1

ALGORİTMA VE PROGRAMLAMA II

BM-311 Bilgisayar Mimarisi

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

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

BİLG Dr. Mustafa T. Babagil 1

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

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BTP 205 İŞLETİM SİSTEMLERİ

Fiziksel Veritabanı Modelleme

BM-311 Bilgisayar Mimarisi

Düşünelim? Günlük hayatta bilgisayar hangi alanlarda kullanılmaktadır? Bilgisayarın farklı tip ve özellikte olmasının sebepleri neler olabilir?

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

10-Veri Tabanları.

Veri ve Dosya Yapıları. Kütük Organizasyonu 1

İnternet Programcılığı

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

Algoritma ve Akış Diyagramları

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

Yrd. Doç. Dr. İlhan AYDIN Güz Dönemi Fırat Ü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ü

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

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

Bölüm 10: PHP ile Veritabanı Uygulamaları

YZM 2105 Nesneye Yönelik Programlama

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

Genel Programlama II

ALGORİTMA VE PROGRAMLAMA II

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Dosyalar 1.1 Dosya Nedir?

Yeni G/Ç (new I/O) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 10 1

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

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

EM-554 İleri Bilgisayar Programlama Teknikleri Algoritma ve Akış Diyagramları

PROGRAMLAMAYA GİRİŞ DERS 2

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Dosya Saklama Ortamları (Sabit Diskler) Kütük Organizasyonu 1

İşletim Sistemi. BTEP205 - İşletim Sistemleri

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

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

PHP (II) Formlar. Dosya İşlemleri. 2002, Sanem SARIEL PHP Ders Notları 2 1. Formlar

C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 3: Giriş/Çıkış

2. Belgeye Metin Ekleme

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

Bilgisayarların Gelişimi

02 Temmuz İlgili Versiyon/lar: ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler: Muhasebe IV

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

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

C Programlama Dilininin Basit Yapıları

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

DOSYA ORGANİZASYONU. Giriş ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

BTEP243 Ders 3. class Yazım Kuralı:

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

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

Öğr. Gör. Serkan AKSU 1

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Sıralı bir dosyayı açmak için FileOpen komutundan faydalanılır. Bu komutun genel kullanılış biçimi aşağıdaki gibidir:

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0

Bilgilerin Uzun Vadeli Saklanması

Transkript:

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) Sıralı Dosya Oluşturma Sıralı Dosyadan Data Okuma Sıralı Dosyaları Güncelleme

Giriş Değişkenler ve diziler hafızada geçici olarak saklanır. Dosyalar verilerin sürekli saklanması için kullanılır. Bilgisayarlar verileri ikincil depolama cihazları olarak bilinen manyetik disklerde, optik disklerde veya flash memory gibi kalıcı hafıza birimlerinde saklar. 3

Konular Giriş Data Hiyerarşisi Files (Dosyalar) ve Streams (Kaynaklar) Sıralı Dosya Oluşturma Sıralı Dosyadan Data Okuma Sıralı Dosyaları Güncelleme

Data Hiyerarşisi Bilgisayarın işlediği tüm veriler en sonunda 1 ve 0 lara dönüşür. Bilgisayarın desteklediği en küçük veri parçasına bit (binary digit) denir. 8 bit bir byte oluşturur. Karakterler bit gruplarıyla gösterilir. Alanlar (fields) karakter gruplarıyla gösterilir. Bilgisayardaki tüm veriler arasında hiyerarşik bir yapı vardır. Bir kayıt (record) birden fazla alandan oluşur. Bir dosya (file) ise birden fazla kayıttan oluşabilir. 5

Data Hiyerarşisi Örnek veri hiyerarşisi 6

Data Hiyerarşisi İstenen bir kaydı dosyadan almak için record key kullanılır. Record key bir kaydı diğer tüm kayıtlardan ayıran alandır. Dosya içinde kayıtları organize etmenin farklı yolları vardır. Bunların arasında yaygın kullanılanlardan birisi sıralı dosya (sequential file) yapısıdır. Veritabanı (Database) birden fazla dosyadan oluşur. Veritabanını oluşturan ve yöneten programlara Veritabanı Yönetim Sistemi (DBMS-Database Management Systems) denir. 7

Konular Giriş Data Hiyerarşisi Files (Dosyalar) ve Streams (Kaynaklar) Sıralı Dosya Oluşturma Sıralı Dosyadan Data Okuma Sıralı Dosyaları Güncelleme

Files (Dosyalar) ve Streams (Kaynaklar) C++ her dosyayı byte serileri olarak görür. Her dosya, bir dosya sonu işaretçisi (end-of-file marker) ile sonlanır. Bir dosya açıldığında, bir nesne oluşturulur ve kaynak bu nesneyle ilişkilendirilir. Bu nesneyle ilşkilendirilen kaynak (stream) program ile dosya veya cihaz arasında bir iletişim kanalı oluşturur. Örneğin cin nesnesi klavyeden girişleri okur, cout nesnesi ekrana veri gönderir. 9

Files (Dosyalar) ve Streams (Kaynaklar) C++ ile dosya işlemleri yapmak için <iostream> ve <fstream> başlık dosyalarını include etmek gerekir. <fstream> başlık dosyası dosya giriş ve çıkış işlemleri için gerekli tanımlamaları içerir. 10

Konular Giriş Data Hiyerarşisi Files (Dosyalar) ve Streams (Kaynaklar) Sıralı Dosya Oluşturma Sıralı Dosyadan Data Okuma Sıralı Dosyaları Güncelleme

Sıralı Dosya Oluşturma C++ dosya yapısıyla ilgili kısıtlamaya sahip değildir. Programcı dosya yapısını kendi istediği gibi oluşturabilir. Kayıt (record) yaklaşımı C++ dosyalarında tanımlı değildir. Programcının kayıt yapısını ve ona uygun yazma ve okuma işlemlerini oluşturması gerekir. 12

Sıralı Dosya Oluşturma 13

Sıralı Dosya Oluşturma 14

Sıralı Dosya Oluşturma Veri girişi ve Notepad ile dosya içeriği 15

Sıralı Dosya Oluşturma Dosyalar ifstream, ofstream veya fstream ile açılır. ofstream dosya sadece yazmak için açılmıştır. ofstream constructor ına iki parametre gönderilmiştir. Dosya adı ve dosya açma modu. Kullanılabileek dosya açma modları ve işlevleri aşağıda verilmiştir. ios::out ile dosya varsa truncate edilerek boşaltılır yoksa yeniden açılır. 16

Sıralı Dosya Oluşturma Satır 19 da outclientfile nesnesi clients.dat dosyasıyla ilşkilendirilmiştir. ofstream outclientfile( cilents.dat ); ile default olarak yazmak için açılır. ofstream outclientfile; ile belirli bir dosya açılmaz dosya daha sonra belirlenir. Dosya açma işlemi başarılı olursa outclientfile true değilse false döndürür. 17

Sıralı Dosya Oluşturma Satır 22-26 dosya açma işleminin başarılı olup olmadığına bakar. Satır 36 da aralarında boşlukla girilen değerler sırasıyla değişkenlere aktarılır. While döngüsünden Windows ta ctrl+z, Unix te ctrl-d ile çıkılır. Programdan çıkınca outclientfile nesnesinin destructor ı çağırılır ve açılan clients.dat dosyası kapatılır. İstenirse outclientfile.close(); ile dosya doğrudan kapatılabilir. Dosya kullanımı bitmişse kapatılması gerekir. 18

Konular Giriş Data Hiyerarşisi Files (Dosyalar) ve Streams (Kaynaklar) Sıralı Dosya Oluşturma Sıralı Dosyadan Data Okuma Sıralı Dosyaları Güncelleme

Sıralı Dosyadan Data Okuma Bir dosya ifstream nesnesiyle giriş olarak açılır. ifstream constructor ı dosya adı ve açma modunu alır. Bir dosyanın içeriği değişmeyecekse açma modu ios::in olarak girilmelidir. 20

Sıralı Dosyadan Data Okuma 21

Sıralı Dosyadan Data Okuma 22

Sıralı Dosyadan Data Okuma Ekran çıkışı ve Notepad ile dosya içeriği 23

Sıralı Dosyadan Data Okuma ifstream inclientfile( clients.dat ); ile dosya default olarak okumak için açılır.!inclientfile ile dosyanın sorunsuz açıldığı kontrol edilir. Satır 48 de her iterasyonda dosyadan bir kayıt (satır) okunur. Dosya istream ve ostream nesneleri dosya pozisyon işaretçisine sahiptir. istream için seekg (seek get), ostream için seekp (seek put). ile dosya başına gidilir. 24

Sıralı Dosyadan Data Okuma Dosya üzerinde yeniden konumlanmak için ikinci bir parametre daha girilebilir. Buda yön bildirir. ios::cur bulunulan noktayı, ios::beg başlangıcı ve ios::end dosya sonunu gösterir. 25

Sıralı Dosyadan Data Okuma Dosya üzerinde bulunulan pozisyonu almak için tellg ve tellp kullanılır. Aşağıdaki kod long integer olarak bulunulan noktayı verir. 26

Konular Giriş Data Hiyerarşisi Files (Dosyalar) ve Streams (Kaynaklar) Sıralı Dosya Oluşturma Sıralı Dosyadan Data Okuma Sıralı Dosyaları Güncelleme

Sıralı Dosyaları Güncelleme Sıralı dosyalarda data güncelleme işlemi sırasında diğer datalarda bozulma riski vardır. Yeni bilginin boyutu öncekinden büyüksek sonraki bilgileri etkileyecektir. Aşağıdaki kayıtta il adını değiştirmek istersek 1000 Bursa 2300 1000 Istanbul 2300 yeni il adı devam bilginin üzerine taşacaktır. Bu tür hataları önlemek için tüm kayıtlar sabit uzunlukta alınabilir. 28