BLM 112- Programlama Dilleri II. Hafta 11 Dosya İşlemleri Rasgele Erişimli Dosyalar

Benzer belgeler
BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN

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

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

Yrd. Doç. Dr. Caner ÖZCAN

BLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

Hafta 12 Karakter Tutan Diziler

Hafta 13 Fonksiyonlar

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

Genel Programlama II

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

Hafta 7 C Programlama Diline Giriş ve C Derleyicisi

Hafta 5 Algoritma Örnekleri ve Analizi

Hafta 11 Çok Boyutlu Diziler

Yrd. Doç. Dr. Caner ÖZCAN

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

Hafta 4 Döngü Yapıları

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

Chapter 11 Dosya İşleme

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

BLM 112- Programlama Dilleri II. Hafta 1 Giriş, Kapsama Kuralları ve Rasgele Sayı Üretimi

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Temel Bilgisayar Programlama

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-4 Döngü Yapıları. Yrd. Doç. Dr. Ümit ATİLA

BLM 111 Algoritma ve Programlama I Güz 2018

Bilgisayar Programlama. 1.Hafta

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN

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

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar

ALGORİTMA VE PROGRAMLAMA I

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Eln 1002 Bilgisayar Programlama II

Yrd. Doç. Dr. Caner ÖZCAN

ALGORİTMA VE PROGRAMLAMA II

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Akış Diyagramı)

ALGORİTMA VE PROGRAMLAMA I DERS#1

ALGORİTMA VE PROGRAMLAMA I

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

C PROGRAMLAMA D İ L İ

Yrd. Doç. Dr. Caner ÖZCAN

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

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

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

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

ALGORİTMA VE PROGRAMLAMA II

Dosyalar 1.1 Dosya Nedir?

İSMET AKTAR ANADOLU TEKNİK LİSESİ BİLİŞİM TEKNOLOJİLERİ ALANI WEB PROGRAMCILIĞI DALI

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

Standard Template Library

Göstericiler (Pointers)

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-7 C Programlama Diline Giriş

ALGORİTMA VE PROGRAMLAMA II

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

ALGORİTMA HAZIRLAMA. Temel tanımlar ve işleyiş. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

YZM 2105 Nesneye Yönelik Programlama

BÖLÜM 12: DOSYA İŞLEMLERİ

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

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

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ü

Hafta 1 Programlamaya Giriş

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

1 PROGRAMLAMAYA GİRİŞ

Week 5 Examples and Analysis of Algorithms

Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

DOSYALAR. Temel terimler Hafta. Dr. Fahri Vatansever

T.C. MARDİN ARTUKLU ÜNİVERSİTESİ MİDYAT MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI (UZAKTAN ÖĞRETİM) ÖNLİSANS PROGRAMI Eğitim Öğretim Yılı

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı

Temel Bilgisayar Programlama

Dosyalarda Farklı Yaklaşımlar. Kütük Organizasyonu 1

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

8. İŞARETCİLER (POINTERS)

BİL1001 Bilgisayar Bilimlerine Giriş 1

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

ALGORİTMA VE PROGRAMLAMA II

Özyineleme (Recursion)

Verileri Sıralı ve Random Erişimli Dosyalamak

YZM 2116 Veri Yapıları

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı Đlkbahar Dönemi 13 Nisan Ad, Soyad Öğrenci No.

YZM 2116 Veri Yapıları

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

Genel Programlama II

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

ALGORİTMA VE PROGRAMLAMA II

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( )

Transkript:

Bir insanı değerlendirmek için nelere sahip olmadığına değil, sahip olduklarıyla neler yaptığına bak. 1 BLM 112- Programlama Dilleri II Hafta 11 Dosya İşlemleri Rasgele Erişimli Dosyalar Dr. Öğr. Üyesi Caner Özcan

Rasgele Erişimli Dosyalar 2 Rasgele erişimli dosyalar İstenilen kayda diğer kayıtlar üzerinde arama yapmadan erişim. Dosya içindeki kayıtlara anlık erişim Yeni veri mevcut veriyi bozmadan dosyaya eklenebilir Daha önce saklanan kayıt üzerine yazılmadan güncellenebilir veya silinebilir Sabit kayıt uzunluğu kullanılarak uygulanır Sıralı erişimli dosyalarda sabit kayıt uzunluğu yoktur. 2

Rasgele Erişimli Dosyalar 3 Rasgele erişimli dosyadaki veri biçimlendirilmemiş ("raw bytes" olarak saklanır) Aynı tipteki tüm veriler (örn. int tipi) aynı miktarda hafıza alanı kullanır. Aynı tipteki kayıtlar aynı uzunluktadır İçeriği insanlar tarafından okunabilir değildir 3

Rasgele Erişimli Dosya Oluşturma 4 Biçimlendirmesiz I/O fonksiyonları fwrite fread Örneğin: Hafızanın bir bölgesinden dosyaya bayt transferi yapar. Dosyadan hafızanın bir bölgesine bayt transferi yapar fwrite( &number, sizeof( int ), 1, myptr ); &number Bayt ların kendisinden transfer edileceği yer sizeof( int ) Transfer edilecek bayt sayısı Örn: 1 girilirse diziler için dizinin bir elemanının transfer edilmesi myptr Dosyayı gösteren pointer. 4

Rasgele Erişimli Dosya Oluşturma 5 Struct veri yapısını dosyaya yazdırma fwrite( &myobject, sizeof (struct mystruct), 1, myptr ); sizeof nesnenin kapladığı hafıza miktarını gösterir Birden fazla dizi elemanı yazdırmak için İlk parametre diziyi gösteren pointer olmalı Üçüncü parametre de yazdırılacak eleman sayısını belirtmeli 5

Rasgele Erişimli Dosya Oluşturma 6 6

Rasgele Erişimli Dosyaya Yazma 7 fseek : Dosyadaki konumu belirten işaretçinin konumunu ayarlar. fseek( pointer, offset, symbolic_constant ); pointer dosyayı gösteren işaretçi offset dosyadaki konumu gösteren işaretçi (ilk pozisyon 0) symbolic_constant dosyanın neresinden okumaya başlayacağımızı gösterir. SEEK_SET dosyanın başından başla SEEK_CUR dosyanın mevcut bulunulan konumundan başla SEEK_END dosyanın sonundan başla 7

Rasgele Erişimli Dosyaya Yazma 8 8

Rasgele Erişimli Dosyaya Yazma 9 9

Rasgele Erişimli Dosyadan Okuma 10 fread Dosyadan belirtilen kadar bayt okuyup hafızaya atar fread( &client, sizeof (struct clientdata), 1,myPtr ); Birden fazla sabit uzunlukta dizi elemanı okuyabilir. Diziyi gösteren işaretçi oluştur Okunacak eleman sayısını belirt Birden çok eleman okumak için üçüncü parametrede belirt 10

Rasgele Erişimli Dosyadan Okuma 11 11

Örnek Uygulama 12 Bu uygulamada Banka hesap bilgileri üzerinde çeşitli anlık işlemlerin yapılabilmesi için rasgele erişimli dosya kullanımı gösterilecektir. Yapılacak işlemler Mevcut hesapları güncelle Yeni hesap ekle Mevcut bir hesabı sil Dosyadaki hesap bilgilerini formatlı biçimde bir metin dosyasına yazdır. 12

Örnek Uygulama 13 13

Örnek Uygulama 14 14

Örnek Uygulama 15 15

Örnek Uygulama 16 16

Örnek Uygulama 17 17

Örnek Uygulama 18 18

Örnek Uygulama 19 19

Örnek Uygulama 20 20

Ev Ödevi 21 Hasta takip sistemi Hasta no, adı, yaşı ve hastalık bilgisini tutacak bir struct oluştur Belli sayıda hasta girişi yap. Dosya içerisinde hasta no ya göre arama yap. Hasta kaydı sil Hasta kaydı düzenle. Dosyadan hastaları listele 21

Gelecek Hafta 22 Bitwise İşlemler 22

Kaynaklar 23 Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin Yayıncılık, 12. Baskı, 2015. Kaan Aslan, A dan Z ye C Klavuzu 8. Basım, Pusula Yayıncılık, 2002. Paul J. Deitel, C How to Program, Harvey Deitel. A book on C, All Kelley, İra Pohl 23

24 S o r u l a r? Dinlediğiniz için teşekkürler CANER ÖZCAN canerozcan@karabuk.edu.tr