ALGORİTMA VE PROGRAMLAMA II

Benzer belgeler
ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II

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

Yrd. Doç. Dr. Caner ÖZCAN

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ALGORİTMA VE PROGRAMLAMA II

Temel Bilgisayar Programlama

Yrd. Doç. Dr. Caner ÖZCAN

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

ALGORİTMA VE PROGRAMLAMA I

DOSYA İŞLEMLERİ Programlama dilleri hafta -

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

Eln 1002 Bilgisayar Programlama II

ALGORİTMA VE PROGRAMLAMA II

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

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I

Genel Programlama II

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II

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

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

ALGORİTMA VE PROGRAMLAMA I

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

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

Dosyalar 1.1 Dosya Nedir?

Eln 1001 Bilgisayar Programlama I

ALGORİTMA VE PROGRAMLAMA I

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ü

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I DERS#1

ALGORİTMA VE PROGRAMLAMA I

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

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ALGORİTMA VE PROGRAMLAMA II

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

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

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Ş (

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

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

ALGORİTMA VE PROGRAMLAMA I

Bilgisayar Programlama MATLAB

DOSYALAR. Temel terimler Hafta. Dr. Fahri Vatansever

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

ELN1001 BİLGİSAYAR PROGRAMLAMA I

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

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

Fen ve Mühendislik Uygulamalarında MATLAB

YZM 2105 Nesneye Yönelik Programlama

Hafta 12 Karakter Tutan Diziler

12. Saat : Dosyalar I (Files)

ALGORİTMA VE PROGRAMLAMA I

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

C Programlama Dilininin Basit Yapıları

Dr. Fatih AY Tel: fatihay@fatihay.net

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

YZM 2105 Nesneye Yönelik Programlama

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

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

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING)

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

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

Girdi Çıktı İşlemleri

BİL1001 Bilgisayar Bilimlerine Giriş 1

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

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

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

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

C PROGRAMLAMA D İ L İ

Hafta 13 Fonksiyonlar

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10

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

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

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

YZM 3215 İleri Web Programlama

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

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

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

PASCAL PROGRAMLAMA DİLİ YAPISI

C PROGRAMLAMA D İ L İ

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

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

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

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

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

Dr. Fatih AY Tel: fatihay@fatihay.net

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

PROGRAMLAMA TEMELLER. C Program Yap s

YZM 2116 Veri Yapıları

3. Bölüm Algoritmalar

Yrd. Doç. Dr. Caner ÖZCAN

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

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

PROGRAMLAMAYA GİRİŞ DERS 2

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

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

Bigisayar Programlama

Transkript:

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ş Dosyalar ve Akışlar Genel Dosya Komutları Dosyaya Yazma ve Okuma fprintf ve fscanf fonksiyonlarının kullanımı

5. BÖLÜM 3 Dosya İşlemleri - Bölüm 1

Veri Hiyerarşisi 4 Bir bilgisayardaki en küçük veri parçası 0 ya da 1 değerini alabilir. Bunun sebebi, iki kararlı durum içeren elektronik cihazları üretmenin basit ve ekonomik olmasıdır. Böyle veri parçalarına bit (ikili basamak anlamına gelen binary digit teriminin kısaltmasıdır, basamak iki değerden birini alabilir) denir. Bilgisayar devreleri, bir bitin değerini anlamak, bite değer yerleştirmek ve bit değerlerini tersine çevirmek (0 ise 1 e, 1 ise 0 a) gibi basit bit işlemlerini gerçekleştirirler.

Veri Hiyerarşisi (devam ) 5 Programcılar için bitler biçimindeki düşük seviyeli verilerle çalışmak oldukça zahmetlidir. Bunun yerine, programcılar rakamlar (yani 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), harfler (yani A-Z, a-z) ve özel semboller (örneğin $, @, %, &, *,, :,? ve diğerleri ) formundaki verilerle çalışmayı tercih ederler. Rakamlar, harfler ve özel semboller karakterler olarak adlandırılırlar.

Veri Hiyerarşisi (devam ) 6 Bilgisayarlar yalnızca 1 ve 0 ları işleyebildiğinden, her karakter, 1 ve 0 ların değişik biçimde dizilişleriyle temsil edilir. Yazılımcılar programlarını ve veri parçalarını karakterlerle yaratır ve bilgisayarlar da bu karakterleri, bitlerin dizilişleri biçiminde yönetir ve işlerler.

Dosyalara Giriş 7 Değişkenler ve diziler içinde depolanan veriler bellekte tutulurlar ve geçicidirler. Bu türde veriler program sonlandığında bellekten kaybolurlar. Dosyalar büyük miktarda veriyi kalıcı olarak tutmak için kullanılır. Bilgisayarlar dosyaları ikincil depolama cihazlarında, özellikle de disk depolama cihazlarında tutarlar.

Dosya ve Akışlar (Stream) 8 C, her dosyayı basit olarak bitlerin art arda geldiği bir akış olarak görür. Her dosya ya dosya sonu belirteci (end-of-file) ya da sistemde yönetici veri yapısı tarafından belirlenmiş özel bir byte sayısı ile sonlanır. Bir dosya açıldığında, dosya ile ilgili bir akış ilişkilendirilir. Program çalışmaya başladığında, üç dosya ve bu dosyalarla ilişkili akışlar; standart giriş (standart input) standart çıkış (standart output) standart hata (standart error)

Dosya ve Akışlar (devam ) 9 Akışlar, dosyalar ile program arasında haberleşme kanalları oluşturur. Örneğin, standart giriş akışı programın klavyeden veri okumasını ve standart çıkış akışı programın ekrana veri yazdırmasını sağlar.

Dosya ve Akışlar (devam ) 10 Standart kütüphane, dosyalardan okuma yapmak ve dosyalara veri yazmak için bir çok fonksiyon sunmaktadır. fgetc fonksiyonu, getchar gibi, dosyadan bir karakter okur. fputc fonksiyonu, putchar gibi dosyadan okunan karakteri output olarak ortaya koyar. fgets ve fputs fonksiyonları dosyadan bir satır okumak ya da dosyaya bir satır yazdırmak için kullanılır.

Genel Dosya Komutları 11 Bir dosyaya okuma ve yazma yapmak için ilk işlem dosyayı açmaktır. Dosya açmak için fopen() Kapatmak için fclose() Bu fonksiyonlar stdio.h kütüphanesi içerisinde tanımlanmıştır.

Genel Dosya Komutları (devam ) 12 Genel olarak dosya açma ve kapatma adımları şu şekildedir. FILE *pdosya; /* dosya işaretçisi*/ pdosya = fopen(const char dosya_adı, const char mod); fclose(pdosya);

Genel Dosya Komutları (devam ) 13 FILE *pdosya; /* dosya işaretçisi*/ ifadesi, pdosya nın FILE yapısını gösteren bir işaretçi olduğunu belirtmektedir. C programı, her dosyayı ayrı bir FILE yapısıyla yönetir. Yazılımcı dosyaları kullanabilmek için FILE yapısının özelliklerini bilmelidir.

Genel Dosya Komutları (devam ) 14 Dosya açma işlemi için kullanılan fopen() fonksiyonundaki mod değişkeni için değişkenler ve tanımları aşağıdaki tabloda belirtilmiştir.

Genel Dosya Komutları (devam ) 15 Bir dosyaya erişmek ve üzerinde işlem yapabilmek için ise o dosyanın açılıp açılmadığını test etmek gerekir.

fprintf() ve fscanf() 16 fprintf() ve fscanf() fonksiyonları dosyaya veri yazma ve dosyadan veri okuma işlemlerinde kullanılarlar. Veriler üzerinde değişim yaparak çalışırlar.

fprintf() ve fscanf() (devam ) 17 fprintf() fonksiyonunu kullanarak bir dosyaya sayı (int) yazarken, sayının dosyanın ASCII metnine çevrilmesi gerekir. fprintf(fptr,"%d", sayi); Yine fscanf() fonksiyonu ile bir dosyadan bir sayı okurken, sayının fscanf() fonksiyonunun dahili format yapısına çevrilmesi gerekir. fscanf (fptr,"%d", &sayi);

Örnek 1: fprintf() ile Dosyaya Veri Yazma 18 Okuma ve yazma modunda hangiyildayiz.txt isimli bir dosya yaratınız. Dosyanın içerisine fprintf() kullanarak: Bu sene 2015 yilindayiz yazdırınız. Iki string ve bir integer kullanılacaktır. İşiniz bittikten sonra dosyayı fclose() ile kapatmayı unutmayınız.

Örnek 1: fprintf() ile Dosyaya Veri Yazma 19

Örnek 2: fscanf() ile Dosyadan Veri Okuma 20 Daha önce oluşturduğumuz hangiyildayiz.txt isimli bir dosyayı fscanf() kullanarak okuyalım. Yıl bilgisini bularak ekrana yazdıralım. İşiniz bittikten sonra dosyayı fclose() ile kapatmayı unutmayınız. Dikkat: Bu sene ifadesinde arada boşluk var. %s ile okurken boşluklar alınmaz.

Örnek 2: fscanf() ile Dosyadan Veri Okuma 21 Bu sene ifadesinde boşluğu silin.

22 Örnek 3: Dosyaya Veri Yazma ve Dosyadan Veri Okuma 2 tane öğrencinin aşağıdaki bilgileri klavyeden okunacak ve daha sonra ogrenci.txt isim dosyaya yazdırılacaktır. No: int Ad: char[50]; Not: int Klavyeden okuma ve dosyaya yazma işlemleri için aşağıdaki fonksiyon kullanılacaktır. void DosyaYaz() Daha sonra dosya okuma işlemi yapılarak, okunan bilgiler ekrana yazdırılacaktır. void DosyaOku()

23 Örnek 3: Dosyaya Veri Yazma ve Dosyadan Veri Okuma

KAYNAKLAR 24 N. Ercil Çağıltay ve ark., C DERSİ PROGRAMLAMAYA GİRİŞ, Ada Matbaacılık, ANKARA; 2009. Milli Eğitim Bakanlığı "Programlamaya Giriş ve Algoritmalar Ders Notları", 2007 C Programlama Dili, Şerafettin ARIKAN Problem Solving and Program Design in C, Hanly, Koffman http://www.algoritmaveprogramlama.com

25 İYİ ÇALIŞMALAR Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr