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

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ı

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ı

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ı

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ı

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

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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

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ı

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ı

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ı

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ı

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ı

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ı

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

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ı

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ı

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ı

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ı

1.SORU. Genişlemiş ascii karakterlerinin kodlarını karşılarına yazan C programını

1.SORU. Genişlemiş ascii karakterlerinin kodlarını karşılarına yazan C programını 1.SORU. Genişlemiş ascii karakterlerinin kodlarını karşılarına yazan C programını a. while döngüsü, b. do-while c. for döngüleri ile ayrı ayrı yazınız. Çözüm (while): int harf=0; while(harf

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ı

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ı

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri 7.0. Amaç Ve Kapsam Deneyde C dilinde kullanılan fonksiyon tanımlama ve parametre aktarım yöntemleri hakkında bilgi verilecektir. 7.1. Deneyden

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 VERİ YAPILARI Sunu Planı Kendini-gösteren Yapılar Dinamik Bellek Tahsisi Bağlı Listeler Yığınlar Kuyruklar Ağaçlar 1 Veri Yapıları Şu ana kadar, diziler, matrisler ve yapılar

Detaylı

İÇİNDEKİLER İÇİNDEKİLER KODLAB

İÇİNDEKİLER İÇİNDEKİLER KODLAB İÇİ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ı

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar

Detaylı

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

3- Turbo Pascal Programlamada Giriş Çıkış İşlemleri 3- Turbo Pascal Programlamada Giriş Çıkış İşlemleri 3.1 Turbo Pascal Bilgisayar Programına Veri Girişi Programlamanın en önemli kısımlarından birisi programa veri girişinin yapılmasıdır. Yazdığımız bir

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 KARAKTERLER KARAKTER DİZİLERİ (STRING) Sunu Planı Karakterler ve Stringler Karakter İşleme Kütüphanesi String Dönüşüm Fonksiyonları Standart Giriş/Çıkış Kütüphane Fonksiyonları

Detaylı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

Detaylı

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir. BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir. TC programı çalıştırıldığında C++ çalışma ortamı açılır. C++ çalışma ortamında istenirse yeni bir

Detaylı

ATATÜRK ÜNİVERSİTESİ BİLGISAYAR MÜHENDİSLİĞİ BÖLÜMÜ BM 104- NESNEYE YÖNELİK PROGRAMLAMA DERSİ 2013-2014 BAHAR DÖNEMİ ÖDEV-3

ATATÜRK ÜNİVERSİTESİ BİLGISAYAR MÜHENDİSLİĞİ BÖLÜMÜ BM 104- NESNEYE YÖNELİK PROGRAMLAMA DERSİ 2013-2014 BAHAR DÖNEMİ ÖDEV-3 ATATÜRK ÜNİVERSİTESİ BİLGISAYAR MÜHENDİSLİĞİ BÖLÜMÜ BM 104- NESNEYE YÖNELİK PROGRAMLAMA DERSİ 2013-2014 BAHAR DÖNEMİ ÖDEV-3 (Son Teslim Tarihi: 06.06.2014 17:30 a kadar ) Teslim: Arş. Gör. Ferhat Bozkurt

Detaylı

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

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders08/ 1 Yapısal Veri Tipleri C dili genişletilebilen bir dildir. Var olan veri tipleri kullanılarak yeni veri tipleri tanımlanıp kullanılabilir. Programlama

Detaylı

Bigisayar Programlama

Bigisayar Programlama Bigisayar Programlama (GÜZ 2015) DERS-02: C de Programlamaya Giriş Yrd. Doç Dr. Yakup EMÜL Cumhuriyet Üniv., Teknoloji Fakültesi Yazılım Mühendisliği Bölümü yakupemul@cumhuriyet.edu.tr Ofis Saatleri :

Detaylı

1 Temel Kavramlar. Veritabanı 1

1 Temel Kavramlar. Veritabanı 1 1 Temel Kavramlar Veritabanı 1 Veri Saklama Gerekliliği Bilgisayarların ilk bulunduğu yıllardan itibaren veri saklama tüm kurum ve kuruluşlarda kullanılmaktadır. Veri saklamada kullanılan yöntemler; Geleneksel

Detaylı

BLGM 343 DENEY 8 * TCP İLE VERİ İLETİŞİMİ

BLGM 343 DENEY 8 * TCP İLE VERİ İLETİŞİMİ BLGM 343 DENEY 8 * TCP İLE VERİ İLETİŞİMİ Amaçlar 1. TCP protokolünün öğrenilmesi 2. Ağ programlamada kullanacağımız sistem komutlarının öğrenilmesi 3. Ağ programlamanın kavranması TCP ile veri alışverişi

Detaylı

Resim 7.20: Yeni bir ileti oluşturma

Resim 7.20: Yeni bir ileti oluşturma F İLETİLER Konuya Hazırlık 1. E-posta adresinden yeni bir ileti nasıl oluşturulur? 1. İLETI GÖNDERME a. Yeni bir ileti oluşturma: Yeni bir ileti oluşturmak için Dosya/Yeni/E-posta iletisi seçilebileceği

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları Döngüler Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut for Komutu do-while Komutu İçiçe Döngüler break ve continue Komutları while Komutu Döngü komutları komutların bir çok kez yeniden yürülmesini

Detaylı

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA BÖLÜM15 D- VERİ TABANI PROGRAMI 1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA 1.1. Veri Tabanı Kavramları Veritabanı (DataBase) : En genel tanımıyla, kullanım amacına uygun olarak düzenlenmiş veriler

Detaylı

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

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir: Programın Akışının Denetimi Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar iki gruba ayrılabilir: Yönlendiriciler

Detaylı

YEDEKLEME PROGRAMI KURULUM VE KULLANIMI

YEDEKLEME PROGRAMI KURULUM VE KULLANIMI YEDEKLEME PROGRAMI KURULUM VE KULLANIMI Kurulum 1..zip dosyasını açınız. 2. Açılan dosyanın içindeki Yedekleme klasörünü açınız. 3. Yedekleme.exe dosyasını açınız. 4. Üst pencerede ki ekran gözükecektir.

Detaylı

Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek :

Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek : Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek : scanf() Fonksiyonu Birçok programda ekrana verilerin yazdırılması yanısıra klavyeden veri okunması gerekebilir. scanf() fonksiyonu klavyeden veri okumak

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

Detaylı

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar Bölüm 5 Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar İçindekiler 5.1 Formatlı Yazdırma............................ 34 5.2 Döngü Deyimleri............................. 34 5.2.1

Detaylı

Yukarıdaki örnekte görüldüğü üzere her php komut satırı noktalı virgül (;) ile biter.

Yukarıdaki örnekte görüldüğü üzere her php komut satırı noktalı virgül (;) ile biter. PHP Kod Yapısı Basit PHP Kod Yapısı PHP Scriptleri ile başlar ve ile biter. PHP Kodlarımız bu aralığa yazılır. Ayrıca çoğu sunucu

Detaylı

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Ders 4: Diziler (Arrays( Arrays) barisgokce.com Ders 4: Diziler (Arrays( Arrays) Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Diziler Aynı tipteki bir veri gurubunun bir değişken içinde saklanmasıdır. Veriler Hafızada

Detaylı

VISUAL BASIC DOSYA İŞLEMLERİ

VISUAL BASIC DOSYA İŞLEMLERİ VISUAL BASIC DOSYA İŞLEMLERİ Visual Basic programlama dili ile yapılan çözümlemelerde, programa girilen verilerin ve/veya programın çalıştırılması sonucunda elde edilen bilgilerin bir kayıt saklama ortamına

Detaylı

AGSoft Çocuk Gelişim Takip Programı Kullanım Kılavuzu

AGSoft Çocuk Gelişim Takip Programı Kullanım Kılavuzu Giriş Bölümü: Program ilk açıldığında karşımıza Kullanıcı Adı ve Şifre giriş bölümü gelir. Kullanıcı Adı: Programa giriş yapacak kullanıcının kodunu ve şifresini yazdıktan sonra Tamam tuşu ile programa

Detaylı

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.

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. 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. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

case değer default case break

case değer default case break Çok Yollu seçim Çok-Yollu seçim yöntemleri ikiden fazla alternatif için seçim yapmamızı sağlar. C çok-yollu seçim işleminde iki yönteme sahiptir : switch ifadesi else-if (iç-içe geçmemiş if ifadeleri)

Detaylı

PYTHON PROGRAMLAMA DİLİ

PYTHON PROGRAMLAMA DİLİ PYTHON PROGRAMLAMA DİLİ Ege Bilmuh GNU/Linux ve Özgür Yazılım Çalışma Grubu http://tinyurl.com/ozgurbilmuh Enes Ateş enes@enesates.com 03.05.2012 Önceki Hafta Python Nedir, Kimler Kullanır? Python'ı Çalıştırmak

Detaylı

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Ü 2015-2016 GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

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Ü 2015-2016 GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ 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Ü 2015-2016 GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ Cemil Hoca Grubu PROJE ÖDEVİ ÖDEV TESLİM KURALLARI Ödevin son

Detaylı

BTP 205 İŞLETİM SİSTEMLERİ

BTP 205 İŞLETİM SİSTEMLERİ BTP 205 İŞLETİM SİSTEMLERİ DOSYA SİSTEMİ Dr. Önder EYECİOĞLU 2012 DOSYA SİSTEMİ 1. Dosya Kavramı: 1. Dosya Özellikleri 2. Dosya Türleri 3. Dosya Operasyonları 4. Dosya Yapısı 5. Dahili Dosya Yapısı 2.

Detaylı

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

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü İşletim Sistemleri Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, Abraham Silberschatz, Greg Gagne, Peter B. Galvin, Operating System Concepts 9/e, Wiley,

Detaylı

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109 vii 1 Neden Ruby? 2 Ruby Kurulumu 5 Windows ta Ruby Kurulumu 5 Linux ve Mac OS ta Ruby Kurulumu 6 Doğru Geliştirme Ortamının Seçimi 6 Diğer Ruby Uyarlamaları 9 Örnek Kodlar Hakkında 10 İnternet Adresi

Detaylı

Proses. Prosesler 2. İşletim Sistemleri

Proses. Prosesler 2. İşletim Sistemleri 2 PROSESLER Proses Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkinbirdenfazlaprosesolabilir. Görev

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

AYDES PROJESİ MESAJ KUTUSU EĞİTİM DOKÜMANI

AYDES PROJESİ MESAJ KUTUSU EĞİTİM DOKÜMANI AYDES PROJESİ MESAJ KUTUSU İÇINDEKILER 1. DOKÜMAN SÜRÜMLERİ... 4 2. MESAJ KUTUSU ÖZELLİKLERİ... 4 2.1 Mesaj Kutusu Seçim... 4 2.1.1 Mesaj Dizinleri Listeleme / Mesaj Gösterme... 5 2.1.2 Mesaj Silme...

Detaylı