Temel Bilgisayar Programlama



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

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

DOSYA İŞLEMLERİ Programlama dilleri hafta -

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ALGORİTMA VE PROGRAMLAMA II

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

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

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

Eln 1002 Bilgisayar Programlama II

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

Yrd. Doç. Dr. Caner ÖZCAN

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

DOSYALAR. Temel terimler Hafta. Dr. Fahri Vatansever

Genel Programlama II

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

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

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

Yrd. Doç. Dr. Caner ÖZCAN

Dosyalar 1.1 Dosya Nedir?

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

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

ALGORİTMA VE PROGRAMLAMA II

Eln 1001 Bilgisayar Programlama I

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

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

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

12. Saat : Dosyalar I (Files)

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

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

Bilgisayar Programlama MATLAB

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Temel Giriş/Çıkış Fonksiyonları

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

Fen ve Mühendislik Uygulamalarında MATLAB

GİRİŞ/ÇIKIŞ VE TANIMLAMA DEYİMLERİ

ALGORİTMA VE PROGRAMLAMA II

Verileri Sıralı ve Random Erişimli Dosyalamak

MATLAB de Programlama & Dosya Yönetimi. EE-346 Hafta 6 Dr. Ayşe DEMİRHAN

BİLGİSAYAR PROGRAMLAMA DERSİ

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

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

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

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMA DERSİ

Dr. Fatih AY Tel: fatihay@fatihay.net

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

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

Dr. Fatih AY Tel: fatihay@fatihay.net

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

ALGORİTMA VE PROGRAMLAMA I

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

BİL1001 Bilgisayar Bilimlerine Giriş 1

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

Girdi Çıktı İşlemleri

Algoritmalar ve Programlama. Algoritma

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

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

ELN1001 BİLGİSAYAR PROGRAMLAMA I

3- Turbo Pascal Programlamada Giriş Çıkış İşlemleri

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

ALGORİTMA VE PROGRAMLAMA II

Şimdi başka bir problem üzerinde çalışalım.

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

Fen ve Mühendislik Uygulamaları ile MATLAB

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

Hafta 12 Karakter Tutan Diziler

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

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Veri Yapıları ve Algoritmalar

ART S602W Standalone Kart Okuyucu

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Fonksiyonlar (Altprogram)

Ekran 1: Ziraat Bankasından alınan Excel formatındaki ZIRAATBANKASI.XLS isimli dosya

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

Dinamik Kodlama. [X] [X] Yeni Fonksiyon

BİLGİ GİRİŞ VE MESAJ PENCERELERİ. 1-Sadece kullanıcıya mesaj vermek için kullanılır.

PROGRAMLAMA TEMELLER. C Program Yap s

YEDEKLEME PROGRAMI KURULUM VE KULLANIMI

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Final Sınavı Soru Toplam Puanlar

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

MİCROSOFT WORD. Araç çubukları: menü çubuğundan yapabileceğimiz işlemleri daha kısa zamanda araç çubukları ile yapabiliriz.

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ü

2. Belgeye Metin Ekleme

FORTRAN da Giriş/Çıkış Ve Tanımlamalar

C Programlama Dilininin Basit Yapıları

Sınav tarihi : Süre : 60 dak.

Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos

Pointer Kavramı. Veri Yapıları

Bilgisayar Sistemlerine Genel Bakış

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

1 PROGRAMLAMAYA GİRİŞ

Dosyalama olarak: HTML, PDF, DOC ve XLS dosya türlerini kullanabilirsiniz. Kütüphane Modülü açıldığında Vet.Asistanı Kütüphanesi ekrana gelmektedir.

PROGRAMLAMAYA GİRİŞ DERS 2

C Programlama printf() Fonksiyonu

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

Temel Bilgisayar Programlama

Değişken atama Kullanıcıdan veri girişi istendiğinde kullanılır. 1. Bir değişkene değer atama (örn: a=4 gibi) 2. Klavyeden veri girme

MPLAB IDE v7.60 PROGRAMI KULLANIMI

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

Temel Kavramlar-2. Aşağıda depolama aygıtlarının kapasitelerini inceleyebilirsiniz.

Transkript:

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 yazmak için hazır fonksiyonlar tanımlanmıştır. C programlama dilinde, disk dosyasına erişim iki yöntemle yapılır. Bunlar üst düzey ve alt düzey olarak adlandırılır. Üst düzey G/Ç yöntemi ANSI C tarafından desteklenmektedir. Bu kısımda Üst düzey G/Ç konu edilecektir. Dosya Açma ve Kapama Bir dosyaya okuma/yazma yapmak için onun açılması gerekir. Dosya açmak için fopen(), kapatmak için fclose() fonksiyonu kullanılır. Bu fonksiyonlar stdio.h başlık dosyasında tanımlanmıştır. Genel olarak, dosya açma kapama adımları şu şekildedir: FILE *dosya; /* dosya göstericisi */ dosya = fopen(const char dosya_adı, const char mod); dosya işlemleri fclose(dosya); Burada FILE, stdio.h içerisinde bildirilmiş bir yapıdır. mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Dosya açma modları Açılış Modu İşlem Türü Salt okunur (read only). Dosyanın açılabilmesi için önceden oluştrulmuş r olması gerekir. Bu modda açılmş olan bir dosyaya yazma yapılamaz. Yalnızca yazma (write only). Dosya diskte kayıtlı olsun veya olamsın dosya w yeniden oluşturulur. Bu modda açılmış olan bir dosyadan okuma yapılamaz. Ekleme (append). Kayıtlı bir dosyanın sonuna veri eklemek için açılır. Bu a modda açılmış olan bir dosyadan okuma yapılamaz. Okuma ve yazma. Bu modda açılmış olan bir dosyanın daha önce var olması r+ gerekir. Okuma ve yazma. Bu modda açılmış olan bir dosya var olsun veya olmasın w+ dosya yeniden oluşturulur. a+ Okuma ve yazma. Kayıtlı bir dosyanın sonuna veri eklemek için açılır. deneme.dat adlı bir dosyanın, yazmak için açılıp açılmadığını test etmek için aşağıdaki kod kullanılır: Öğr.Gör. Fatih ÖCAL Sayfa 1

FILE *yaz; /* dosya göstericisi */ yaz = fopen("deneme.dat", "w"); if( yaz == NULL ) { puts("dosya acilmiyor"); exit(1); } /* açılırsa! dosya işlemleri */ fclose(yaz); NOT: deneme.dat dosyası ile ana program aynı dizin içinde olmalıdır. Aksi halde, dosyanın tam yolu bildirilmelidir. Örneğin dosyanın yolu: C:\WINDOWS\DESKTOP\deneme.dat ise dosya açılırken yaz = fopen("c:\\windows\\desktop\\deneme.dat", "w"); şeklinde açık yol bildirilmelidir. Metin ve İkili İşletim sistemlerinde genelde iki çeşit dosya kullanımına rastlanmaktadır. Bunlar metin (text) ve ikili (binary) dosyalar olmak üzere ikiye ayrılır. Dosyanın hangi türden olduğu açılırken fopen() fonksiyonu ile belirtilebilir. Açılış modunda metin dosyaları için t, ikili dosyalar için b eklenir. Örneğin "r+t" şeklinde bir açılış modu var olan bir dosyanın okuma yazma ve metin olarak açılacağı anlamına gelir. Benzer olarak "wb" açılış modu dosyanın ikili modda oluşturulacağını gösterir. Fakat bu belirleme yapılmamışsa, varsayılan açılış modu metindir (yani t). Dosya Fonksiyonları Bu kısımda, aşağıda verilen dosyalama foksiyonlarının bazılarının kullanımı, örnek programlar üzerinde anlatılmıştır. Üst düzey dosyalama fonksiyonları Fonksiyon fopen() fclose() putc() getc() feof() Görevi Dosya oluşturur, açar Dosyayı kapatır Dosyaya bir karakter yazar Dosyadan bir karakter okur Dosya sonuna gelindiğini sorgular Öğr.Gör. Fatih ÖCAL Sayfa 2

fprintf() fscanf() fputs() fgets() fwrite() fread() Dosyaya formatlı veri yazar Dosyadan formatlı veri okur Dosyaya katar yazar Dosyadan katar okur Dosyaya dizi yazar Dosyadan dizi okur Örnek 11.1: Bir dosyaya veri yazma Öğr.Gör. Fatih ÖCAL Sayfa 3

Oluşturulan dosyanın içeriğini görmek için: Dosya içeriği herhangi bir editör ile görülebilir. Mesela not defteri ile açalım. NOT:ogrenci.txt dosyası daha önce oluşturulmuşsa Program 11.1 önceki verileri silip yerine yeni verileri yazacaktır. Bu dosyaya yeni bir veri eklemek için fopen() fonksiyonunu 'a' modu ile kullanılmalıdır. Bir dosyadan veri okumanın bir çok şekli vardır. Veri okuma işlemine basit bir örnek Program 11.2 de verilmiştir. Bu program ogrenci.txt dosyasında kayıtlı öğrencilerden, en düşük notu, en yüksek notu ve sınıf ortalamasını (0'lar hariç) hesaplamaktadır. Örnek 11d.2 Bir dosyadan veri okuma Öğr.Gör. Fatih ÖCAL Sayfa 4

Bir program içinde birden çok dosya açmak mümkündür. Örneğin bir dosyadan okunan veriler farklı bir formatta başka bir dosyaya yazılması istenebilir.program 16.3 kelvin.sckdosyasında bulunan 100 adet kelvin cinsinden sıcaklık bilgilerini derece karşılıklarını derece.sck dosyasına yazar. Bu iki sıcaklık arasındaki çevrim kuralı: K = 273 + C şeklindedir. Örnek 11.3a: Dosyaya veri kaydı Öğr.Gör. Fatih ÖCAL Sayfa 5

Örnek 11.3: Bir dosyada saklı verileri farklı bir biçimde başka bir dosyaya yazma Öğr.Gör. Fatih ÖCAL Sayfa 6

Standart C Programlama Dili'nde bilgisayarın sahip olduğu ekran, klavye ve portlar birer dosya olarak tanımlanmıştır. Bu dosyalara standart dosyalar denir. Program çalışmaya başladığında beş adet standart dosya otomatik olarak açılır. C, stdio.h başlık dosyasında tanımlanan bütün bu standart dosyalara birer sembolik isim vermiştir. Bu isimler aşağıdaki tabloda listelenmiştir. Öğr.Gör. Fatih ÖCAL Sayfa 7

Standart Dosya adı stdout stderr stdin stdprn stdaux Görevi Standart çıkış ortamı (ekran) Standart hata çıkış ortamı (ekran) Standart giriş ortamı (klavye) Standart LPT (paralel port) Standart COM (seri port) Bu dosyaların sembolik isimleri birer dosya göstericisidir. Bu sebeple FILE yapısal değişkeni ile kullanılabilen dosya fonksiyonları bu dosyalar için de kullanılabilir. Örneğin, ekrana (standart çıkışa) bir yazı bastırmak için: fprintf(stdout,"merhaba C\n"); Bilgilerin yazıcıya gönderilmesi için yine fprintf fonksiyonu kullanılır. Örneğin: fprintf(stdprn,"merhaba C\n"); satırı yazıcıya Merhaba C iletinini gönderir. Ayrıca, LPT1 veya PRN ismini dosya ismi olarak kullanıp yazıcıya basım yapmak da mümkündür. Örneğin: FILE *dg; dg = fopen("lpt1","wt"); fprintf(dg,"merhaba C\n"); flcose(dg); NOT; Tablo 16.3 de verilen standart dosyalardan stdprn ve stdaux Turbo C'de tanımlı iken Standart C'de tanımlı değildir. (bkz: stdio.h) Örnek 11.4 Turbo C derleyicisinde derlendiğinde hem ekrana hemde yazıcıya birer mesaj yazar. Örnek 11.4: Standart dosyaların kullanımı Öğr.Gör. Fatih ÖCAL Sayfa 8

NOT: Eğer yazıcı bağlı yada açık değilse, işletim sistemi kullanıcıyı uyaracak ve programın çıktısı şöyle olacaktır: Bu mesaj *ekrana* yazilacak Yazma hatası yazılan aygıt PRN Durdur, yeniden dene, Yoksay, iptal?d KAYNAKÇA Fatih Öcal Ders notları(1989-2012). A. Bingul, C Programlama, http://www1.gantep.edu.tr/~bingul/c/index.php Ç. Çebi, C Programlama Dersi, http://www.cagataycebi.com F. Kadifeli, A. C. C. Say, M. U. Çağlayan, C Programlama Dili, 2007, http://www.kadifeli.com/fedon/stdcprtr.php Emre Ayrılmaz. C# 3.0 ile Programlama Temelleri. Bilge Adam Yayınları, İstanbul:2008 Mehmet Aktaş, EBİL Eğitim ve Yazılım Ltd. Şti. Mustafa Aksu, Algoritma ve Programlamaya Giriş Ders Notları. <www.hakankör.com.tr> www.gokhandokuyucu.com <eylül 2011> Öğr.Gör. Fatih ÖCAL Sayfa 9