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

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

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

Transkript

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

2 Dosyalama İşlemleri Program ve verileri daha sonra kullanabilmek amacı ile kalıcı olarak bilgisayarın disk, disket gibi depolama birimlerinde saklamak gerekir. Bu depolama birimlerinde saklanan veri ve program gruplarına dosya(file) adı verilir. Dosyalar ise kayıtlardan (records) oluşur. Herhangi bir kişi, kurum veya malzeme ile ilgili bilgilerin belirli bir düzen içerisinde bir araya gelerek oluşturduğu yapıya kayıt adı verilir. Kayıtlar ise alanlardan (fields) oluşur. Örneğin bir üniversitedeki öğrenci işlerinde öğrencilerle ilgili bilgiler bir dosyada şu şekilde tutulmaktadır; Öğrencinin Numarası Adı, Soyadı Bölümü Kayıt Tarihi Adresi.. Bir öğrenci ile ilgili bu bilgilerin tamamına kayıt, her bir bilgiye (Numara, adı soyadı, bölüm gibi) ise alan adı verilir. Belirli bir alan (Alan1) aynı tip veri gruplarından oluşmak zorundadır.

3 Dosyalama İşlemleri Dikkat edilirse bir tablo halindeki verilerin satırları kayıtları, sütunları ise alanları gösterir. Bitlerin (0,1) birleşmesi ile karakter, karakterlerin(veya bytes) birleşmesi ile alan (field), alanların birleşmesi ile kayıtlar (record) oluşur, bir veya daha fazla kayıttan oluşan bütüne dosya (file) ve birbiri ile ilişkili dosyaların oluşturduğu yapıya veritabanı (database) adı verilir.

4 Dosyalama İşlemleri Programlama dilleri dosya oluşturma, dosya silme, dosyadan bilgi okuma ve dosyaya bilgi ekleme gibi temel işlevler için gerekli komutları içerirler. Programlama dilinde klasik dosyalama yöntemlerini saklama türüne ve kayıtlara erişim türüne göre aşağıdaki gibi sınıflandırılırlar: Saklama türüne göre: İkili (binary) ve metin (text) Kayıtlara erişim türüne göre: Sıralı (sequential) ve Rastgele (random)

5 Dosya Değişkeni C Programlama dilinde dosya işlemleri yapabilmek için bir dosya değişkeni işaretci (pointer) kullanılarak aşağıdaki gibi tanımlanır. FILE *dosyaadi ; Bilgisayar programı ile işletim sistemi dosyası arasında veri taşıyan bu değişken dosya açma, dosya kapatma, dosyaya veri ekleme ve dosyadan veri okuma işlemlerinde kullanılır.

6 Dosyalama İşlemleri Dosyalarla ilgili yapılan işlemlerde aşağıdaki adımlar takip edilir; Dosyanın açılması (fopen komutu ile) Dosya ile ilgili işlem yapılması ( kayıt okuma, yazma, düzeltme, silme gibi) Dosyanın kapatılması (fclose komutu ile) Bu işlemleri C\C++ dilinde şöyle ifade ederiz: FILE *dosya; /* dosya göstericisi */ dosya = fopen(const char dosya_adı, const char açma_amacımız);... dosya işlemleri... fclose(dosya); Bir dosyayı kullanmadan önce açmamız gerekir. Dosyayı açarken de genelde açma amacımızı belirtme zorunluluğu vardır. Eğer dosyaya bilgiler yazacak isek dosyayı yazma modunda (write-w), dosyadaki bilgileri okuyacak isek okuma modunda (read-r) açarız. Eğer bir dosyayı her iki amaç için de kullanacak isek okuma-yazma (r+) ya da Ekleme (Append -a) modunda açmak gerekir.

7 Dosya Açma Modları Not: Binary dosyalamada yukarıdaki dosya açma modlarına b harfi eklenir. rb, wb gibi FILE * dosya = fopen(filename, "r") // Dosya okuma amaçlı açıldı FILE * dosya = fopen(filename, "w") // Dosya yazma amaçlı açıldı FILE * dosya = fopen(filename, "a") // Dosya ekleme amaçlı açıldı

8 Dosya İşlem Komutları fopen: Dosya açma komutudur. Örnek: dosyam.dat adlı bir dosyayı r (read-okuma) modunda açarak adresini fp isimli değişkende saklar. fp=fopen( dosyam.dat, r ) ; fclose: Dosyayı kapatır. Örnek: fclose(fp); fprintf veya fputs(): Dosyaya veri yazar. Örnek: fputs( Ali",fp); fprintf(fp, Ali"); fscanf veya fgets(): Dosyadan veri okur. Örnek: fgets(str, 12, fp); fscanf(fp, "%s", &str); fgetc : Dosyadan bir karakter okur, Örnek: karakter = fgetc(dosya); fputc :Dosyaya bir karakter yazar, Örnek: fputc(karakter, dosya); Not: Dosya kopyalama işleminde dosya1 in sonuna gelene kadar tüm kayıtları karakter karakter dosya2 ye yazarken bu komutları aşağıdaki gibi kullanabilirsiniz: fputc(fgetc(dosya1), dosya2); feof(dosyaadi): Dosya sonuna gelinip gelinmediğini kontrol eder. Örnek: while (!feof(fp)) fscanf(fp, "%s", &str); // Dosyadan Oku printf(" %s \n, str); // ve Ekrana yaz rename(): Dosya adını değiştirir. rename("eski.txt", "yeni.txt"); remove(): Belirtilen dosyayı siler. remove("eski.txt"); unlink(): Belirtilen dosyayı siler. unlink("eski.txt");

9 Dosya İşlem Algoritmaları Sıralı Erişimli Bir Dosyaya Kayıt Eklemek: Sıralı erişimli bir dosyaya kayıt eklemek için dosyanın yazma amacı ile açılması (yani çıkış modunda) gerekir. Kayıt ekleme işlemini sıralı adımlar halinde ifade edersek; Dosyaya kayıt ekleme yani dosyaya bilgi yazmak işlemi için; Kayıt eklemek istediğimiz dosya Ekleme a ya da Yazma w modunda açılır(fopen komutu ile) Eklemek istediğimiz kayıtlar fprintf veya fputs komutları kullanılarak dosyaya yazılır Dosya kapatılır (fclose) NOT: Eğer daha önceden oluşturduğumuz bir dosyayı w (Yazma) modunda açarsak önceki kayıtlar silinir. Sıralı Erişimli Bir Dosyadaki Kayıtları Listelemek: Dosyadaki kayıtları listeleme yani dosyadan bilgi okuma işlemi için; Kayıtlarını Listelemek istediğimiz dosya okuma r modunda açılır (fopen ile) fscanf veya fgets komutu ile kayıtlar dosyadan okunur Okunan kayıtlar listelenir, ekranda gösterilir. Dosya kapatılır (fclose).

10 Dosya İşlem Algoritmaları Sıralı Erişimli Bir Dosyadaki Kayıtları Silmek: Kayıt silme işlemini sıralı adımlar halinde ifade edersek; Kayıt silmek isteğimiz dosya ( Asil dosya) Okuma r modunda açılır. sdosya=fopen("asil.txt", "r"); İkinci bir dosya (Yedek olsun) Yazma w olarak açılır. sdosyasil=fopen("yedek.txt","w"); Silinecek kayda kadar birinci dosyanın kayıtları sırası ile okunarak ikinci dosyaya yazılır. ( Asıl dosya Yedek dosya ) Silinecek dosyadan sonraki kayıtlarda ikinci dosyaya (Yedek dosya) yazılır. Her iki dosyada kapatılır. Birinci dosya silinir ( Asil dosya) //unlink("asil.txt"); İkinci dosyanın adı değiştirilerek birinci dosyanın adı verilir. ( Yedek dosyanın adı Asil olarak değiştirilir. ) // rename("yedek.txt","asil.txt");

11 Dosya İşlem Algoritmaları Sıralı Erişimli Dosyadaki Herhangi Bir Kaydı Düzeltmek Sıralı Erişimli bir dosyadaki herhangi bir kaydı değiştirmek işlemi de kayıt silme işlemine benzer. Bu işlemi de sıralı adımlar halinde ifade edersek; Kayıt düzeltmek isteğimiz dosya ( Asil dosya) Okuma r modunda açılır. sdosya=fopen("asil.txt", "r"); İkinci bir dosya (Yedek olsun) Yazma w olarak açılır. sdosyasil=fopen("yedek.txt","w"); Değişiklik yapılacak kayda kadar birinci dosyanın kayıtları sırası ile okunarak ikinci dosyaya yazılır. ( Asıl dosya Yedek dosya ) Değişiklik yapılacak kayıt ya da kayıtlar okunur, gerekli değişiklikler yapılır ve ikinci dosyaya (Yedek dosya) yazılır. Varsa sonraki kayıtlarda birinci dosyadan okunup ikinci dosyaya yazılır. ( Asıl dosya Yedek dosya ) Her iki dosyada kapatılır. Birinci dosya silinir ( Asil dosya) İkinci dosyanın adı değiştirilerek birinci dosyanın adı verilir. ( Yedek dosyanın adı Asil olarak değiştirilir. )

12 İsminizi dosyaya 5 kez yazan program #include <stdio.h> void main() Dosya değişkeni FILE *dosya; char str[100]; int i; dosya = fopen("ad.txt", "w"); for (i=0; i<5; i++) fprintf(dosya, "Bulent\n"); fclose(dosya); Ad.txt dosyasının içeriği Ad.txt dosyası yazma (w) kipinde açıldı. dosya adındaki dosya değişkenine eşlendi. Açma Modu: w write (yazma), r read (okuma), a append (ekleme), w+, r+ ve a+ hem okuma hem yazma, b binary (ikili, diğerleri ile birlikte kullanılır: w+b gibi)

13 Ad.txt dosyasının içeriğini okuyup ekrana yazan program #include <stdio.h> void main() Dosya değişkeni FILE *dosya; char str[100]; int i; dosya = fopen("ad.txt", "r"); while (!feof(dosya)) fscanf(dosya, "%s", &str); printf("%s\n", str); fclose(dosya); getchar(); Ad.txt dosyası okuma (r) kipinde açıldı. dosya adındaki dosya değişkenine eşlendi. feof();dosya sonuna gelinmediği sürece tüm kayıtları tarar. feof fonksiyonu dosya sonuna gelinince true değer döndürür. Ekran Çıktısı fscanf komutu yerine fgetc fonksiyonu da dosyadan bir karakter (byte) veri okumada aşağıdaki gibi kullanılabilir. printf("%c", fgetc(dosya));

14 Klavyeden girilenleri alarak dosyaya ekleyen program (C) #include <stdio.h> #include <string.h> void main() FILE *d; char str[100]; d = fopen("metin1.txt", "w"); do gets(str); fprintf(d, "%s\n", str); while (strlen(str)); fclose(d); Bir satır boş bırakılana kadar girilen tüm satırları dosyaya yazar scanf kullanımı boşluk karakterinde sorun çıkardığı için gets kullandık str = "" olduğunda strlen sıfır döndürür. while(0) döngüden çıkış anlamına gelir, strlen komutu için <string.h> kütüphanesinin eklenmesi gerekir.

15 Dosyadaki verileri başka bir dosyaya kopyalayan program (C) #include <stdio.h> void main() FILE *d1, *d2; char chr; d1 = fopen("metin1.txt", "r"); d2 = fopen("metin2.txt", "w"); while (1) chr = fgetc(d1); if (feof(d1)) break; fputc(chr, d2); fclose(d1); fclose(d2); while (!feof(d1)) fputc(fgetc(d1), d2); Yukarıdaki kullanım d2'ye eof karakterini de yazar. Yani d2 dosyası, d1 dosyasından 1 byte fazla olur.

16 Rasgele erişimli ve Binary dosyalama komutları fseek:dosyanın okuma yazma kafasını istenilen kaydın üzerine konumlandırır. fseek komutu ile istenilen kayda doğrudan erişim sağlanabilir. Fakat dosyadaki kaydın sıra numarası yerine dosyada kaçıncı bayta konumlanılacağı verilir. 11. kaydın başına konumlanmak için, 10. kaydın sonu olan sizeof(kayit)*10 gibi bir ifade kullanılabilir. Kullanım şekli; fseek(dosya, kayit_pozisyonu, SEEK_SET); (SEEK_SET Dosyanın başından kayit_pozisyonu (kayit uzunluğu) kadar ileriye konumlanır. SEEK_CUR ile bulunulan konumdan itibaren ileriye SEEK_END ile dosya sonundan itibaren ileriye konumlama yapılabilir). C de bir dosyanın belirli bir yerine konumlanmak için fseek, bulunduğumuz yeri öğrenmek için ftell kullanılır: ftell(dosya); Dosyanın neresinde bulunduğumuzu döndürür (kaçıncı bayt) fseek komutu ile dosyada uygun yere konumlandıktan sonra fwrite() komutu ile kayıtlar dosyaya yazılır

17 Rasgele erişimli ve Binary dosyalama komutları C de bir kayıt deseninin tamamını bir defada dosyaya eklemek için fwrite, dosyadan okumak için ise fread kullanılır: fwrite(&kayit,sizeof(kayit),1,dosya); Eğer dosyaya yazılacak kayıtlar, bir diziden alınıyorsa, dizinin kaç elemanının transfer edileceği, fwrite komutunun 3. parametresi ile belirlenir. Yazma veya Okuma işleminde dizi kullanılmıyorsa veya dizinin sadece bir elemanı yazılacaksa bu değer 1 olmalıdır. fread:kayıtları dosyadan okur. fread(&kayit,sizeof(kayit),1,dosya); fread NULL değer döndürürse kayıt okuyamamış (muhtemelen dosya sonuna gelmiş) demektir.

18 Kullanıcı Tanımlı Veri Tipleri (Yapı Tanımlama) Temel veri tiplerinin bir isim altında birleştirilmesi ile oluşturulmuş veri yapılarıdır. Genellikle bir kayıt deseni oluşturmak amacıyla kullanılırlar. Örn: telefon rehberi için ad, soyad, telno gibi 3 farklı veri bir araya gelerek bir kayıt oluşturulur. Dosyalama işlemlerinde tanımlamalı veri yapıları ile oluşturulan kayıt desenleri sıkça kullanılır. Örn: telefon rehberi dosyasına veriler ad, soyad ve telno şeklinde ayrı ayrı değil 1 kayıt olarak kaydedilir. Kullanıcı tanımlı bir veri tipi, struct degisken.. kayitadi; ifadeleri arasında aşağıdaki gibi oluşturulur; struct personel long int perno; char adi[15]; char soyadi[20]; char tel[13]; char adres[100]; float maas; kayit; personel kaydının uzunluğu byte

19 Telefon Rehberi Programı: Rasgele Erişimli Dosya Örneği Örnek. Telefon rehberi programı Kayıt deseni; struct rehber char Ad [15 ]; char Soyad [20 ]; char Telefon [11]; kayit; /* yapı sonu */ Kayıtları; a) rehber.txt isimli dosyaya kaydeden, b) ve bu dosyadaki tüm kayıtları listeleyen program

20 Telefon Rehberi Programı: Rasgele Erişimli Dosya Örneği 1/3 //Telefon rehberi - rasgele erişimli dosya örneği #include <stdio.h> #include <string.h> #include <conio.h> struct rehber char Ad [15 ]; char Soyad [20 ]; char Telefon [11]; kayit; /* yapı sonu */ //Ana program int main() char ch; do printf(" 1-Kayit Ekle \n"); printf(" 2-Kayit Listle \n"); printf(" 3-Cikis \n"); ch=getche(); FILE *rdosya; //fonksiyon prototipleri void kayitekle(); void kayitlistele(); switch(ch) case '1':kayitEkle();break; case '2':kayitListele();break; case '3':break; while(ch!='3'); getch();

21 Telefon Rehberi Programı: Rasgele Erişimli Dosya Örneği 2/3 //Kayıt Ekle void kayitekle() int kayitno=0; char cv='e'; rdosya = fopen("rehber.txt", "ab+"); do kayitno++; printf (" Ad giriniz\n"); scanf ("%s", &kayit.ad); printf (" Soyad giriniz\n"); scanf ("%s", &kayit.soyad); printf (" Telefonu giriniz\n"); scanf ("%s", &kayit.telefon); fseek( rdosya, ( kayitno - 1 ) * sizeof(kayit), SEEK_SET ); fwrite(&kayit, sizeof(kayit),1,rdosya); printf ("Devam edecekmisiniz[e/h]\n"); cv=getche(); while(toupper(cv)=='e'); fclose(rdosya);

22 Telefon Rehberi Programı: Rasgele Erişimli Dosya Örneği 3/3 //Kayıt Listele void kayitlistele() rdosya = fopen("rehber.txt", "rb+"); printf ("---Kayıtlar yaziliyor---\n"); printf ("---===================---\n"); while (!feof(rdosya)) fread( &kayit, sizeof(kayit), 1, rdosya ); printf( "%s %s %s\n", kayit.ad, kayit.soyad, kayit.telefon); fclose(rdosya);

23 Öğrenci Kayıt Programı: Sıralı Erişimli Dosya Örneği Örnek. Öğrenci Kayıt programı Kayıt deseni; struct rehber char No [10 ]; char Ad [15 ]; char Soyad [20 ]; char Telefon [11]; kayit; /* yapı sonu */ Kayıtları; a) sehber.txt isimli dosyaya kaydeden, b) ve bu dosyadaki tüm kayıtları listeleyen sıralı erişimli dosya örneği

24 Öğrenci Kayıt Programı: Sıralı Erişimli Dosya Örneği 1/2 #include <stdio.h> #include <string.h> #include <conio.h> struct rehber char No[10]; char Ad [15]; char Soyad [20]; char Telefon [11]; ; /* yapı sonu */ FILE *sdosya; //fonksiyon prototipleri void kayitekle(); void kayitlistele(); //Ana program int main() char ch; do printf("\n 1-Kayit Ekle \n"); printf(" 2-Kayit Listele \n"); printf(" 3-Cikis \n"); printf(" Seciminiz..: "); ch=getche(); switch(ch) case '1':kayitEkle();break; case '2':kayitListele();break; case '3':break; while(ch!='3'); getch(); return 0;

25 Öğrenci Kayıt Programı: Sıralı Erişimli Dosya Örneği 2/2 //Kayıt Ekle void kayitekle() struct rehber kayit; char cv='e'; sdosya = fopen("sehber.txt", "a"); do printf ("\nno giriniz\n"); scanf ("%s", &kayit.no); printf ("Ad giriniz\n"); scanf ("%s", &kayit.ad); printf ("Soyad giriniz\n"); scanf ("%s", &kayit.soyad); printf ("Telefonu giriniz\n"); scanf ("%s", &kayit.telefon); fprintf(sdosya,"%s\n%s\n%s\n,%s\n",kayit.no,kayit.ad, kayit.soyad, kayit.telefon); printf ("Devam edecekmisiniz[e/h]\n"); cv=getche(); while(toupper(cv)=='e'); fclose(sdosya); //Kayıt Listele void kayitlistele() struct rehber aktifkayit; sdosya = fopen("sehber.txt", "r"); printf ("---Kayıtlar yaziliyor---\n"); printf ("---===================---\n"); while (!feof(sdosya)) fscanf(sdosya,"%s\n%s\n%s\n%s\n",&aktifkayit.no, &aktifkayit.ad, &aktifkayit.soyad, &aktifkayit.telefon) ; // printf ekrana verileri yazar. printf("ogrenci Numarası :%s\n",aktifkayit.no); printf("adi \t:%s\n",aktifkayit.ad); printf("soyadi \t:%s\n",aktifkayit.soyad); printf("telefon \t:%s\n",aktifkayit.telefon); printf("\n*****************************\n"); // döngünün sonu fclose(sdosya);

26 Çalışma Sorusu? Sıralı erişimli veya Rasgele erişimli dosya örneklerinden birini aşağıdaki işlemleri yapacak şekilde düzenleyiniz: [1] Kayıt Ekle [2] Kayıt Listele [3] Kayıt Ara [4] Kayıt Düzelt [5] Kayıt Sil [6] Çıkış

27 Çalışma Sorusu? Bu sözlük programını dosyalama kullanarak gerçekleştiriniz? //Örnek : İngilizce Türkçe Sözlük Programı #include <stdio.h> #include <conio.h> #include <string.h> int main() char tr[][20]="kalem","honey", "box", "year", "Cuma"; char en[][20]="pen","bal", "kutu", "yil", "Friday"; char gir[20]; int i; printf ("Kelime giriniz..:"); gets(gir); for (i=0; i<5; i++) if (strcmp(gir,tr[i])==0) //girilen tr dizisinde varsa printf ("%s...: %s",tr[i], en[i]); break; if (strcmp(gir,tr[i])!=0) printf ("\nsozlukte yoktur"); getch(); return 0;

28 Sıralı Rastgele Erişimli Dosya Karşılaştırması Sıralı Erişimli dosyalarda gereksiz boşluklar oluşmadığı için dosya boyu rastgele erişimli dosyaya göre daha azdır. Fakat herhangi bir kayda erişmek için dosyanın başından itibaren o kayda kadar olan tüm kayıtların okunması gereklidir. Sıralı Erişimli Dosyalarda, bir kayıt içinde yer alan karakter dizileri dosyaya kaydedilirken boşlukları silinerek kaydedilebilir. Rastgele Erişimli Dosyalarda herhangi bir kayda dosyadaki sıra numarası biliniyorsa doğrudan erişilebilir (bu nedenle Doğrudan Erişimli Dosyalar da denir). Fakat dosyalarda gereksiz boşluklar bulunduğu için dosya boyu büyük olur. Rastgele Erişimli Dosyalarda, dosyadaki her kayıt aynı uzunluğa sahiptir ve doğrudan erişilebilir (Personel veri yapısında 160 bayt olması gibi). Bu sayede n. kayda erişmek gerektiğinde, önceki kayıtları atlamak için; (n 1) Kayıt Boyu kadar dosyada ilerleme seçeneği kullanılabilir.

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ı

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ı

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ı

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ı

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ı

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

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0 C Dosyalama Öğr. Gör. M. Ozan AKI Rev 1.0 Dosyalama Dosyalar, disk üzerinde verilerin kalıcı olarak saklanmasını ve başka bir ortama kopyalanarak taşınabilmesini sağlayan yapılardır. Dosyalama C Dili ve

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ı

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ı

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

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ı

DOSYALAR. Temel terimler Hafta. Dr. Fahri Vatansever

DOSYALAR. Temel terimler Hafta. Dr. Fahri Vatansever DOSYALAR 4 5. Hafta Temel terimler Bit: 0 veya 1 değerini alabilen bilgisayardaki en küçük veri parçasıdır. Byte: 8 bit in yan yana gelmesiyle oluşan veri grubudur. Karakter: Yazımda kullanılan harfler,

Detaylı

12. Saat : Dosyalar I (Files)

12. Saat : Dosyalar I (Files) 12. Saat : Dosyalar I (Files) Dosyalar (Files) Programın çalışma esnasında her türlü değişken içinde tutulan ve işlenen bilgiler RAM (Read Access Memory) bellekte tutulur ve program sona erdiğinde RAM

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ı

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ı

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ı

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ı

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ı

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

İSMET AKTAR ANADOLU TEKNİK LİSESİ BİLİŞİM TEKNOLOJİLERİ ALANI WEB PROGRAMCILIĞI DALI İSMET AKTAR ANADOLU TEKNİK LİSESİ BİLİŞİM TEKNOLOJİLERİ ALANI WEB PROGRAMCILIĞI DALI İnternet Programcılığı PHP Dosya Dizin İşlemleri 2011 İnternet Programcılığı - PHP Dosya Dizin İşlemleri 1 Giriş PHP'de

Detaylı

Hafta 12 Karakter Tutan Diziler

Hafta 12 Karakter Tutan Diziler BLM111 Programlama Dilleri I Hafta 12 Karakter Tutan Diziler Yrd. Doç. Dr. Caner ÖZCAN Katar (String) Tanımlama Dizileri ve çok boyutlu dizileri gördük. Katar dediğimiz şey de aslında bir dizidir. Değişken

Detaylı

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İ

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İ 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İ TBIL-303-01 Veri Yapıları ve Algoritmalar İki Yönlü Bağlantılı Liste Uygulaması HAZIRLAYAN

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ı

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

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ı

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ı

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ı

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr) 1. Kendisine gönderilen iki karakter dizisini birleştirip geriye tek bir dizi döndüren ve

Detaylı

C Konsol Giriş Çıkış Fonksiyonları

C Konsol Giriş Çıkış Fonksiyonları C Konsol Giriş Çıkış Fonksiyonları Öğr. Gör. M. Ozan AKI Rev 1.0 Stringlerde Özel Karakterler \n : Bir sonraki satırın ilk sütununa git \b : Backspace (önceki karakteri sil) \a : Bip sesi \\ : Ters bölü

Detaylı

Telefon Rehberi Uygulaması

Telefon Rehberi Uygulaması Sayfa1 Telefon Rehberi Uygulaması Uygulama, temel düzeyde, telefon rehberi üzerinedir. Kullanıcı, telefon rehberine eklediği her bir kayıt içi ad, soyad, ev telefonu ve üç adet cep telefonu bilgisi girebilmektedir.

Detaylı

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

Sıralı bir dosyayı açmak için FileOpen komutundan faydalanılır. Bu komutun genel kullanılış biçimi aşağıdaki gibidir: DOSYALAR Visual Basic de Sıralı ve Rasgele olmak üzere iki tür dosya vardır. Dosyalar en basit ifadesi ile verileri disk üzerinden (hard disk, disket vs.) işlemek amacıyla kullanılırlar ve bu yönü ile

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

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ı

Temel Giriş/Çıkış Fonksiyonları

Temel Giriş/Çıkış Fonksiyonları Temel Giriş/Çıkış Fonksiyonları Temel giriş/çıkış fonksiyonları, bütün programla dillerinde mevcuttur. Bu tür fonksiyonlar, kullanıcıya ekrana veya yazıcıya bilgi yazdırmasına, ve bilgisayara klavyeden

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN BAĞLI LİSTELER Bağlı listeler konusuna çalışmanın bazı faydaları var. Bağlı listeler gerçek programlarda kullanılabilecek bir veri yapısıdır. Bağlı listelerin güçlü ve zayıf yönlerini

Detaylı

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

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Bu hafta? Dosya Yönetimi Veri Giriş-Çıkış İşlemleri fopen fclose fprintf fscanf Dosya Yönetimi Şu ana kadar bir

Detaylı

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

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK MATLAB de Bilgisayar Programlama Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK ALT PROGRAMLAR:M-Fonksiyon Yapısı function cikis_ifadesi1, 2,, n =fonksiyon_adi

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ı

8. İŞARETCİLER (POINTERS)

8. İŞARETCİLER (POINTERS) 8. İŞARETCİLER (POINTERS) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ilişkilidir. Donanımsal açıdan adres bellekte yer gösteren

Detaylı

KONU 7: DOSYA İŞLEME ( File Processing )

KONU 7: DOSYA İŞLEME ( File Processing ) DERS: PROGRAMLAMA DİLLERİ 1 DÖNEM: 2002-2003 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ı

Detaylı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar Değer Döndüren Fonksiyonlar Çok Parametreli Fonksiyonlar Değişken Kapsamları Çok Fonksiyonlu Programlar Fonksiyon Tanımı Karmaşıkveuzunprogramları,

Detaylı

1. 100 elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

1. 100 elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini, 1. 100 elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini, pozitif tepe genliğini, negatif tepe genliğini ve ortalamasını

Detaylı

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Algoritma ve Programlama: Karar Yapıları ve Döngüler Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan

Detaylı

STRING (SÖZEL) İŞLEMLER. Yrd. Doç.Dr. Bülent Çobanoğlu

STRING (SÖZEL) İŞLEMLER. Yrd. Doç.Dr. Bülent Çobanoğlu STRING (SÖZEL) İŞLEMLER Yrd. Doç.Dr. Bülent Çobanoğlu String ve Karakter Tanımlama Tek bir karakter tanımlamak: char a; Bir karakter dizisi tanımlamak: char a[10]; Pointer kullanarak char *a= ali ; Pointer

Detaylı

Fen ve Mühendislik Uygulamalarında MATLAB

Fen ve Mühendislik Uygulamalarında MATLAB Fen ve Mühendislik Uygulamalarında MATLAB Dosya Yönetimi Fonksiyon Yapısı Doç. Dr. İrfan KAYMAZ MATLAB Ders Notları DOSYA YÖNETİMİ Şu ana kadar bir programda hesaplanan veya elde edilen veriler RAM de

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ı

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ı

Giriş. ENF102 Jeoloji

Giriş. ENF102 Jeoloji DİZİLER Arrays Giriş Aynı isim altında, aynı türde birden fazla değer tutmak için kullanılan veri yapılarıdır (Data Structure). Dizi bir kümedir; aynı türde verilere tek bir isimle erişmek için kullanılır.

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

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

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları 8- Turbo Pascal Programlama İle Dosya İşlemleri Dosya işlemleri bilgisayar programlamada verilerin tekrar kullanılması açısından çok önemlidir. Yazılan bilgisayar programlarında elde edilen sonuçlar eğer

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

DİSK DEPOLAMA ALANLARI

DİSK DEPOLAMA ALANLARI DİSK DEPOLAMA ALANLARI 1. Giriş İşlemci hızı ve hafıza kapasitesinin disk hızından çok daha hızlı bir gelişim içinde bulunduğu göz önüne alınırsa, disk kullanımında teorik ilgi ve uygulamanın önemliliği

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 Bellek ve Adresleme Dinamik Bellek

Detaylı

String Sınıfını Yönetmek

String Sınıfını Yönetmek String Sınıfı String Sınıfını Yönetmek Stringler karakterlerden oluşur. Bir string sabiti çift tırnak arasında verilmiş karakterler listesidir. "Bu örnek bir string dir" 2 Yukardaki string 27 adet karakterden

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ş Kontrol Yapıları if Seçme Deyimi if... else Seçme Deyimi while Tekrar

Detaylı

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

Dosyalarda Farklı Yaklaşımlar. Kütük Organizasyonu 1 Dosyalarda Farklı Yaklaşımlar Kütük Organizasyonu 1 Giriş Şimdiye kadar öğrendiğimiz temel dosyalama komutlarıyla (fopen,flclose, fputs vb..) dosya oluşturabilmekte, kayıt ekleyebilmekte ve her bir kaydın

Detaylı

int printf (const char *format [, argument,...]);

int printf (const char *format [, argument,...]); 1 printf (): Fonksiyonu Sayısal ve alfanümerik değerleri ekrana (çıkış elemanı olarak tanımlı ise) göndermek için kullanılan formatlı çıkış fonksiyonudur. Bu fonksiyon stdio.h başlık dosyası altında tanımlıdır.

Detaylı

2 ISINMA TURLARI - DERLEYİCİ VE DERLEME KAVRAMLARIYLA BİRLİKTE GCC DERLEYİCİSİNE BİR BAKIŞ

2 ISINMA TURLARI - DERLEYİCİ VE DERLEME KAVRAMLARIYLA BİRLİKTE GCC DERLEYİCİSİNE BİR BAKIŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Bu Kitap Kimler İçin? 1 Programlama Dili Kavramı 2 Programlama Dilinin Tarihçesi 2 Programlama Dillerinin Türleri 4 Makina Dili 4 Assembly Dili 4 Script Dilleri 5 Yüksek

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ı

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB What is a computer??? Bilgisayar Programlama MATLAB Prof. Dr. İrfan KAYMAZ What GİRİŞ is a computer??? Şu ana kadar bir programda hesaplanan veya elde edilen veriler RAM de saklanacak şekilde tanımlanmıştı.

Detaylı

Adım Adım C. Dr. Hidayet Takcı

Adım Adım C. Dr. Hidayet Takcı Adım Adım C Dr. Hidayet Takcı İlk C Programı #include #include main() printf("merhaba Dünya"); getch(); Program hakkında İlk program C de ekrana nasıl yazı yazdıracağınızı göstermektedir.

Detaylı

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir. DİZGİLER (STRINGS) Dizgiler char tipli karakterlerin gruplanmş haline dizgi(string) denilir. Bazen katar ismide kullanılabilir. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir.

Detaylı

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach() (LOOPS) while(), do-while(), for(), foreach() Döngüler (loops) while do-while for foreach while ( koşul ) işlemler; do işlemler; while (koşul ); for (başlangıç ; koşul ; arttırma) işlemler; foreach ( tip

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ı

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

Sıralı Erişimli Dosyalar. Kütük Organizasyonu 1 Sıralı Erişimli Dosyalar Kütük Organizasyonu 1 Dosya Fiziksel depolama ortamlarında verilerin saklandığı mantıksal yapılara dosya denir. Dosyalar iki şekilde görülebilir. Byte dizisi şeklinde veya Alanlar

Detaylı

Başkent Üniversitesi Mühendislik Fakültesi Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı

Başkent Üniversitesi Mühendislik Fakültesi Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı Başkent Üniversitesi Mühendislik Fakültesi 2014-2015 Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı Yer Sıra no Sınav Tarihi : 11-11-2014 Sınav Başlama Saati : 09:15 Sınav Süresi : 100 Dakika Öğretim

Detaylı

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır: C VERİ TÜRLERİ BASİT VERİ TÜRLERİ Değişkenler, program içinde üzerinde işlem yapılan, veri saklanan ve durumlarına göre programın akışı sağlanan nesnelerdir. C de bir değişken kullanılmadan önce tanımlanmalıdır.

Detaylı

Week 7. Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste

Week 7. Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste Week 7 Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste Düğüm bulma While kullanarak Loop kullanarak Düğüm bulma: While döngüsü ile Node* temp; temp=phead; while (temp->!=xvalue)

Detaylı

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

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf Giriş GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI printf Fonksiyonu scanf Fonksiyonu Verilerin kaybolmaması için hafızada değişkenler içine yerleştirilmeleri gerekir. Bu veriler iki şekilde yerleştirilebilir. Değişkene

Detaylı

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA 6. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN apaydin@beun.edu.tr EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu ALGORİTMA ÖRNEK1: İki sayının toplamı

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ı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 1 hafta Ödev No : 5 1. Aşağıdaki programların çıktısı

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ı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

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ı

Adı Soyadı : Öğrenci No :

Adı Soyadı : Öğrenci No : Adı Soyadı : Öğrenci No : Soru 1 2 3 4 Toplam Not F.Ü TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖL. YMT111 VİZE SINAVI 2013 2014 Güz (03 Aralık 2013) SORULAR Toplam 4 soru 110 Puan, cevaplarınızı soru

Detaylı

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

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Programlamaya Giriş Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Programın Yazımında İzleyeceğimiz Adımlar Problemi anla. İhtiyaçları belirle. Problemin

Detaylı

Veri Yapıları Laboratuvarı

Veri Yapıları Laboratuvarı 2013 2014 Veri Yapıları Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Hakan KUTUCU Lab. Sorumlusu: Arş. Gör. Caner ÖZCAN İÇİNDEKİLER Uygulama 1: Diziler ve İşaretçiler, Dinamik Bellek Ayırma... 4 1.1. Amaç

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ı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

Detaylı

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya MAK 1005 Bilgisayar Programlamaya Giriş Fonksiyonlar Prof. Dr. Necmettin Kaya Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en

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 Karakter Dizileri Karakter Dizilerini

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ AD SOYAD: TESLİM TARİHİ: OKUL NO: TESLİM SÜRESİ: 1 hafta Ödev No: 2 1- A)

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ı

Adı Soyadı : Öğrenci No :

Adı Soyadı : Öğrenci No : Adı Soyadı : Öğrenci No : Soru 1 2 3 Toplam Not F.Ü TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖL. YMT111 FİNAL SINAVI 2014 2015 Güz (12 OCAK 2015) SORULAR Toplam 3 soru 120 Puan, cevaplarınızı soru üzerinde

Detaylı

Bölüm 1 PROGRAMLAMAYA GİRİŞ. Bölüm 2 ALGORİTMA

Bölüm 1 PROGRAMLAMAYA GİRİŞ. Bölüm 2 ALGORİTMA İçindekiler Önsöz... 5 Bölüm 1 PROGRAMLAMAYA GİRİŞ I. GİRİŞ... 17 II. PROGRAMLAMA DİLLERİ... 19 III. İŞLEMLER... 20 A. Matematiksel İşlemler... 21 B. Karşılaştırma İşlemleri... 26 C. Mantıksal İşlemler...

Detaylı

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

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 15.02.2011 1 Genel Programlama Tekrar Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Önceki bölümde bir problemin çözümü ile

Detaylı

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İ

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İ 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İ TBIL-303-01 Veri Yapıları ve Algoritmalar LABİRENT HAZIRLAYAN 122132151 Fahri DÖNMEZ DANIŞMAN

Detaylı

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I C & C++ İlk Program Sabitler, Değişkenler Veri Tipleri, Operatörler Koşullar ve Karar Verme C & C++ C++, 80 li yılların başında AT&T Bell Laboratuarlarında geliştirilmiştir.

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 7 ****(ilk 3 soru çıktı üzerinde el

Detaylı

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

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN BLM111 Programlama Dilleri I Hafta 10 Diziler Yrd. Doç. Dr. Caner ÖZCAN Diziler Bilgisayarlar yardımıyla yapılan işlemlerde, çok sayıda veri girilmesi ve girilen verilerin işlenerek belirli bir sistematiğe

Detaylı

Programlama Dilleri Laboratuvarı

Programlama Dilleri Laboratuvarı 2014 2015 Programlama Dilleri Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. İsmail KURNAZ Laboratuvar Sorumluları: İÇİNDEKİLER Deney 1: Bilgisayar Kavramları, Algoritma Geliştirme ve Çözümü, Programlamaya

Detaylı

Kocaeli Üniversitesi Bilgisayar Mühendisliği Programlama 2 Dersi Final Sınavı. A Grubu

Kocaeli Üniversitesi Bilgisayar Mühendisliği Programlama 2 Dersi Final Sınavı. A Grubu Kocaeli Üniversitesi Bilgisayar Mühendisliği Programlama 2 Dersi Final Sınavı A Grubu Ad Soyad: 11.06.2012 Numara: İmza: 1.) Aşağıdaki pointer bildiriminin anlamı hangisidir? int(*(*ptr1)())[2]; A.) ptr

Detaylı

// hataları işaret eden referans

// hataları işaret eden referans System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin

Detaylı

Hafta 13 Fonksiyonlar

Hafta 13 Fonksiyonlar BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.

Detaylı

4. BÖLÜM: C FONKSİYONLARI

4. BÖLÜM: C FONKSİYONLARI 4. BÖLÜM: C FONKSİYONLARI C Fonksiyonları C ye yapısal dil olma özelliğini veren önemli etmenlerden biri fonksiyonlardır. Birden çok kez kullanılacak, tekrarlanacak işlemleri programın ana gövdesinden

Detaylı

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler Veri Tanımları ve Mantıksal Đşlemler Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir.

Detaylı

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

GİRİŞ/ÇIKIŞ VE TANIMLAMA DEYİMLERİ GİRİŞ/ÇIKIŞ VE TANIMLAMA DEYİMLERİ Giriş/Çıkış deyimlerine neden gerek vardır? Biçimli giriş/çıkış deyimleri, Klavye den veri girişi Dosya dan veri okuma ve dosyaya yazma Ekrana sonuçları yazdırma, Yazıcı,

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı