HARİTA MÜHENDİSLERİ İÇİN C DİLİ UYGULAMALARI

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

Download "HARİTA MÜHENDİSLERİ İÇİN C DİLİ UYGULAMALARI"

Transkript

1 HARİTA MÜHENDİSLERİ İÇİN C DİLİ UYGULAMALARI C BİLGİSAYAR PROGRAMLAMA DERSLERİ İÇİN UYGULAMALAR HAZIRLAYAN Prof.Dr. İ. Öztuğ BİLDİRİCİ

2 İÇİNDEKİLER 1. PROGRAMLAMA ORTAMI Proje Klasörü Visual Studio.NET EXPRESS BASİT PROGRAMLAR İlk Program printf ile hesaplama Tam Sayılarla Hesaplama Reel Sayılarla Hesaplama Formatlı Sayı Gösterimi İki nokta arasındaki kenar hesabı İki Nokta Arasında Açıklık Açısı Hesabı for Çevrimi ile Toplama Faktöriyel İç İçe for Çevrimi: Çarpım Tablosu Programı Alan Hesabı e Sayısının Hesabı KARAKTER, DİZİ ve POINTER KULLANILAN ÖRNEKLER Dizi Kullanarak Alan Hesabı Pointer Kullanımı Karakter Dizileri Örneği FONKSİYON KULLANILAN PROGRAMLAR Fonksiyonlara Değer Aktarma Açıklık Açısının Fonksiyon Olarak Programlanması Açıklık Açısı ve Kenarı Birlikte Döndüren Fonksiyon Fonksiyonlar Arası Dizi Aktarma Fonksiyon Olarak Alan Hesabı...27 İ.Ö.BİLDİRİCİ,

3 5. DOSYA KULLANIMI Dosyadan Okuma Dosyaya Yazma İki Boyutlu Dizilerle Çalışma: Matris Çarpımı İLERİ TEKNİKLER Struct, Union ve Typedef Struct ve Dosya Kullanımı Komut Satırından Parametre Almak Sisteme Komut Göndermek Header File Kullanmak C++ ÖRNEKLERİ Ekrandan Veri Giriş Çıkışı Dosya İşlemleri Nesneye Yönelik Programlama...41 İ.Ö.BİLDİRİCİ,

4 1. PROGRAMLAMA ORTAMI Metinde verilen uygulamalar herhangi bir yazılım geliştirme ortamına bağlı değildir. Laboratuar uygulamalarında yazılım geliştirme ortamı olarak Microsoft Visual Studio 6.0 ya da Microsoft Visual Studio.Net kullanılmaktadır. Bu bölümde her iki ortamda da console application (komut satırından çalışan program) oluşturma konusunda kısaca bilgi verilecektir. Günümüzde kullanılan tüm yazılım geliştirme ortamları proje mantığına göre çalışırlar. Proje mantığında proje dosyasında projeyi oluşturan kod dosyalarının adresleri ve proje ile ilgili genel ayarlamalar saklanır. Kod dosyaları yanında başka dosyalarda oluştuğundan proje bir klasörde saklanır. 1.1 Proje Klasörü Projeniz için ilk olarak Windows Explorer (Windows Gezgini) ile bir klasör oluşturun. Windows Explorer iki şekilde açılabilir: 1. Masaüstünde My Computer ikonuna sağ tuş ile tıklayın. Burada Explore (Araştır) seçin. 2. Windows tuşu ve e tuşuna birlikte basın. Windows tuşu klavyede sol tarafta Ctrl ve Alt tuşları arasındaki tuştur. Windows tuşu Ctrl Alt Aşağıdaki şekilde Windows Explorer penceresi görülmektedir. Pencerenin sol tarafında bilgisayarınızdaki kayıt ortamları (disket, sabit diskler, CD, masaüstü vb). Sağ tarafta ise sol tarafta seçilen elemanın içeriği görülmektedir. Çalışma klasörü olarak d:\harita\xxxxxxxxx\prjy (x ler yerine numaranızı yazınız, y yerine proje no yazınız) kullanılacaktır. Klasör açmak için sol pencerede D diskini seçin sağ pencerede boş alanda farenin sağ tuşuna basın New Folder (Yeni Klasör) seçin. Kullandığınız bilgisayarda D diski yok ise aynı işlemi C diskinde yapınız. Bu anda New Folder olarak adlandırılmış bir klasör oluşacaktır. Bu yazı seçilmiş durumda iken (karartılmış durumda) klavyeden klasör ismini girip enter tuşuna basın. Klasör ismi değişmiş olacaktır. Fare ile çift tıklayarak bu klasörü açabilirsiniz. Klasör ismi olarak harita girerken mutlaka küçük harflerle yazınız! İ.Ö.BİLDİRİCİ,

5 Disket Sabit diskler CD Bu alanda farenin sağ tuşu ile tıklayın! Klasörler açılmış ise yeniden açmaya çalışmayınız! Örneğin harita klasörü varsa açın, içinde numaranız olup olmadığına bakın yoksa açın. İşlemi doğru yapmış iseniz Windows Explorer penceresi aşağıdaki gibi görünecektir. Pencereyi minimize edip programlama ortamını çalıştırın. İ.Ö.BİLDİRİCİ,

6 Pencereyi minimize etmek için bu ikona tıklayın! Sağ pencerede daha sonra kendi klasörünüz altında oluşturacağınız proje klasörünüzü diskete kopyalamak için sol pencerede proje klasörü üzerinde farenin sağ tuşuna tıklayın. Açılan menüden Send to Floppy seçin. Klasörü seçip, sürükleyip disket sürücü (Floppy A:) ikonu üzerine bırakarak da aynı işlemi yapabilirsiniz. Disketten proje klasörü kopyalamak için ise D diskinde açtığınız klasör (numaranız) görünürken disket sürücü (Floppy A:) ikonuna tıklayın sağ tarafta disketin içeriği görünecektir. Buradan proje klasörünü seçin, sürükleyip D diskinde açtığınız klasöre (numaranız) sürükleyin. 1.2 Visual Studio.NET EXPRESS 2010 Laboratuarda VisualStudio.NET yüklü ise bu bölümdeki açıklamaları takip ediniz. VisualStudio6.0 kullanılıyorsa bu bölümü atlayabilirsiniz. Start (Başlat) > Programs (Programlar) > Microsoft Visual C Express seçerek programı çalıştırın. Yeni projeye başlamak için File > New > Project ile aşağıdaki pencerenin görüntülenmesini sağlayın. İ.Ö.BİLDİRİCİ,

7 Installed templates kısmından Win32 seçin, sağ taraftaki pencereden Win32 Console Application seçin. Location kutusunun yanındaki butona (Browse...) basarak açmış olduğunuz klasörü gösterin (D:\HARITA\), name olarak proje1 girin. Create directory for solution kutusunu işaretlemeyin! OK butonuna basın. Next butonuna bastıktan sonra gelen pencerede Empty Project seçin. İ.Ö.BİLDİRİCİ,

8 Projeniz açılınca, görünüm aşağıdaki gibi olmalıdır. Sol tarafta bulunan Solution Explorer penceresinde Surce Files ikonuna farenin sağ tuşu ile tıklayın, açılan penceren add new item seçin. İ.Ö.BİLDİRİCİ,

9 C++ File seçin ve dosya adı olarak proje1 (ya da başka bir isim) verin. Kod dosyası eklendikten sonra dosya adının üzerine farenin sağ tuşu ile tıklayın. Açılan menüden rename seçerek dosyanın uzantısını c yapın. İ.Ö.BİLDİRİCİ,

10 Benzer şekilde projenize başlık dosyası da (Header File) ekleyebilirsiniz. Yazdığınız kodu derlemek ve bağlamak için (compile & link) build menüsünden build... (kısayol F7), kodu çalıştırmak için ise Debug menüsünden Start Without Debugging... (kısayol Ctrl F5) seçilir. Projenizi kaydetmek için File > Save all seçin. Projenizi sık sık kaydetmeniz sizin yararınızadır! İ.Ö.BİLDİRİCİ,

11 Dikkat: Bir projede yalnızca bir main fonksiyonu olabilir. Bir programı bitirip yeni bir programa geçmek için yeni bir proje oluşturmak gerekir. Önceden kaydettiğiniz projenizi açmak için proje klasöründe oluşan vcxproj ya da sln uzantılı dosyayı (örneğin proje1.sln) açınız. Kod dosyasını (örneğin proje1.c) tıklayarak açmayınız!!! Projenizi yedeklerken geçici olarak proje klasörü altında oluşturulan ve diskte fazla yer kaplayan Debug klasörünü silebilirsiniz. 2. BASİT PROGRAMLAR 2.1 İlk Program Ekrana Merhaba mesajı yazdıran bir program kodu aşağıdaki gibidir: /*prg01*/ #include <stdio.h> main() printf("\nmerhaba"); yukarıdaki kodu inceleyelim: include tanımlamaları hemen her C programının başında yer alır. Burada programda kullanılan fonksiyonların hangi kütüphaneden alınacağı bildirilir. ve ile bir programlama bloğu tanımlanır. Programlama blokları içi içe kullanılabilir. printf ekranda veri görüntülemek için kullanılan temel C fonksiyonlarından biridir. Her ifade ; ile sonlandırılır. C dilinde bir program fonksiyonlardan (alt program parçacıklarından) oluşur. Bir programda en az bir fonksiyon olmak zorundadır. Programın çalışmaya başlayacağı fonksiyon main olarak adlandırılır. Bu ad değiştirilemez. Bu bağlamda bir program tek bir fonksiyondan oluşuyorsa o fonksiyonun adı main olmak zorundadır. /* ve */ işaretleri arasında kalan bölüm derleyici tarafından dikkate alınmaz. Bu bölüme program hakkında notlar yazılabilir. 2.2 printf ile hesaplama printf fonksiyonu altında hesaplama da yapmak mümkündür: /*prg02*/ #include <stdio.h> /* printf fonksiyonu ile hesaplama */ main() printf("\n12*2=%i",12*2); printf("\n12/2=%i",12/2); Buradaki %i ifadesi ile ilgili yerde integer tipli bir değişken görüntüleneceği belirtilmektedir. \n ile ekranda imlecin bir alt satıra geçmesi sağlanır. \t tab anlamında olup imleci sekiz boşluk sağa öteler, \a ise alarm anlamında olup kısa bir ses çalınmasını sağlar. Programın çalışması sonucunda aşağıdaki gibi bir ekran görüntüsü elde edilir: 12*2=24 İ.Ö.BİLDİRİCİ,

12 12/2=6 2.3 Tam Sayılarla Hesaplama Verilen iki sayının toplamını, çıkarmasını, çarpmasını yapan bir program için aşağıdaki kod kullanılabilir: /*prg03*/ #include <stdio.h> int x,y; printf("\n\thesaplayici\n"); printf("\nx="); scanf("%i",&x); printf("\ny="); scanf("%i",&y); printf("\n\nx+y=%i\tx-y=%i",x+y,x-y); printf("\n\nx*y=%i\tx/y=%i",x*y,x/y); Yukarıdaki kodu kısaca inceleyelim. İlk olarak integer (tam sayı) tipinde x ve y değişkenleri tanımlanmıştır. Önceki kodlardan farklı olarak printf içerisinde \t kullanılmıştır. Bunun anlamı ekranda kürsörün sekiz karakter sağa ötelenmesidir. Bunu klavyeden tab tuşuna basılmış gibi düşünebiliriz. scanf fonksiyonunda ise ilk olarak tırnak içerisinde ekrandan okunacak değerin formatı belirtilir. Burada %i bir tamsayı değerin okunacağı anlamına gelir. & işareti ise ileride ayrıntıları verilecek olarak pointer anlamındadır. Burada sadece &x kodunun x değişkenine bellekte ayrılan adresi gösterdiğinin bilinmesi yeterlidir. main fonksiyonunun önünde yer alan int bildirimi main fonksiyonunun geriye tamsayı döndürdüğünü belirtmektedir. Geriye döndürülen değer son satırda return fonksiyonu ile belirtilir. Bu değer bu program için 0 olarak belirlenmiştir. Fonksiyonun geriye bir değer döndürmediği int yerine void ile belirtilebilir. Ancak main fonksiyonu için void bildirimi LINUX gcc derleyicisi tarafından kabul edilmez. 2.4 Reel Sayılarla Hesaplama Tamsayılarla hesap yapan program (prg03) bölme işleminde tam bölünme olmaması durumunda bölme sonucunun ondalıklı kısımlarını vermez. Ondalıklı kısımları elde etmek için reel sayılarla işlem yapılmalıdır. Bu amaçla C iki değişken tipi içermektedir. Reel sayılar için kullanılan değişken tiplerinden float 4 byte, double 8 byte uzunluğundadır. prg03 kodunu bir kez de float tipi kullanarak yazabiliriz. /*prg04*/ #include <stdio.h> float x,y; printf("\n\thesaplayici\n"); printf("\nx="); scanf("%f",&x); printf("\ny="); scanf("%f",&y); printf("\n\nx+y=%f\nx-y=%f",x+y,x-y); printf("\n\nx*y=%f\nx/y=%f",x*y,x/y); İ.Ö.BİLDİRİCİ,

13 scanf ve printf fonksiyonlarında bu kez %i yerine %f geldiğini görüyoruz. %f float değişkenler için kullanılan format tanımlamasıdır. Bu kodu çalıştırdığımızda sayıların ondalık kısımlarının da görüntülendiğini görürüz. Aynı kodu double tipi kullanarak yazmak gerekirse, float yerine double %f yerine ise %lf kullanılması gerekir. Reel sayı kullanılması gereken programlarda yeterli hesap inceliğini riske atmamak için genel olarak float değil double değişken tipi tercih edilir. 2.5 Formatlı Sayı Gösterimi Verilen üç sayının toplamını ve ortalamasını bulan bir program yazarak, sonuçların iki basamaklı olarak gösterilmesi sağlayalım. /*prg05*/ #include <stdio.h> double top=0.0,sayi; printf("\n\thesaplayici\n"); printf("\n1.sayi="); scanf("%lf",&sayi); top=top+sayi; printf("\n2.sayi="); scanf("%lf",&sayi); top=top+sayi; printf("\n3.sayi="); scanf("%lf",&sayi); top=top+sayi; printf("\ntoplam=%.2lf",top); top=top/3; printf("\nortalama=%.2lf",top); Değişken tanımlamalarında, double top=0.0 ifadesi top adlı değişkenin başlangıç değerinin sıfır olarak atandığını ifade etmektedir. C dilinde değişkenlere başlangıç değeri vermek çoğu zaman gerekli ve yararlıdır. Çünkü başlangıç değeri belirtilmemiş değişkenlerin programın başlama anındaki değerleri kullanılan derleyiciye göre sıfır olmayabilir. C bu açıdan diğer pek çok programlama dilinden ayrılır. top=top+sayi şeklinde bir ifade matematiksel açıdan geçersiz olarak düşünülebilir. Matematiksel olarak bu eşitliğin sağlanabilmesi için sayi değişkeninin sıfıra eşit olması gerekir. Ancak buradaki = işareti eşitlik anlamında değil değer ataması anlamında kullanılmıştır. Bu ifade bilgisayar programlama açısından top değişkeninin halihazırdaki değerine sayi değişkeninin değeri ekle ve elde edilen değeri tekrar top değişkenine ata şeklinde anlaşılmalıdır. Bu mantıktan hareketle neden top değişkenine başlangıç değeri atandığı daha kolay anlaşılabilir. printf fonksiyonlarında kullanılan %.2f format bildirimleri, ilgili değişkenin değerinin ondalık kısmının iki basamak olarak gösterilmesini sağlar. Printf fonksiyonunda kullanılan format bildirimleri şunlardır: d desimal o oktal x heksadesimal u unsigned (işaretsiz) c karakter s string (karakter katarı) f float (kayar nokta) İ.Ö.BİLDİRİCİ,

14 Bu harfler, bir yüzde işaretinden sonra kullanırlar. Bu iki harf arasına şunlar ilave edilebilir: - sahasının içinde sola dayanmış (n) minimum saha uzunluğunu belirler. n ile m yi birbirinden ayırır (m) float tipi için noktadan sonraki hane sayısı l 'long' tipi olduğunu belirtmek için Değişik formatlı gösterimler için aşağıdaki programı çalıştırıp inceleyin. /*prg06*/ #include <stdio.h> int a; /* basit tamsayı tipi */ long int b; /* uzun tamsayı tipi */ short int c; /* kısa tamsayı tipi */ unsigned int d; /* işaretsiz (+ - siz) tamsayı */ char e; /* karakter tipi */ float f; /* reel sayı (tek incelikli) */ double g; /* çift incelikli reel sayıkta */ a = 1023; b = 2222; c = 123; d = 1234; e = 'X'; f = ; g = ; printf("a = %d\n",a); /* desimal */ printf("a = %o\n",a); /* oktal */ printf("a = %x\n",a); /* heksadesimal */ printf("b = %ld\n",b); /* uzun desimal */ printf("c = %d\n",c); /* kısa desimal */ printf("d = %u\n",d); /* işaretsiz */ printf("e = %c\n",e); /* karakter */ printf("f = %f\n",f); /* reel sayı */ printf("g = %f\n",g); /* çift incelikli reel sayı */ printf("\n"); printf("a = %d\n",a); /* basit 'int' çıktı */ printf("a = %7d\n",a); /* 7 uzunlukta bir saha kullan*/ printf("a = %-7d\n",a); /* sola dayalı 7 lik saha */ printf("\n"); printf("f = %f\n",f); /* tek incelikli reel sayı */ printf("f = %12f\n",f); /* 12 lik bir saha kullan*/ printf("f = %12.3f\n",f); /* noktadan sonra 3 hane */ printf("f = %12.5f\n",f); /* noktadan sonra 5 hane */ printf("f = %-12.5f\n",f); /* sola dayalı 12 hane */ 2.6 İki nokta arasındaki kenar hesabı Verilen iki noktanın koordinatlarından iki nokta arasındaki kenar, s = 2 ( x x ) + ( y ) y1 ifadesinden hesaplanır. Burada karekök almak için sqrt fonksiyonu, math.h kütüphanesindedir. /*prg07*/ #include<math.h> İ.Ö.BİLDİRİCİ,

15 double x1,y1,x2,y2,s; printf("\nx1="); scanf("%lf",&x1); printf("\ny1="); scanf("%lf",&y1); printf("\nx2="); scanf("%lf",&x2); printf("\ny2="); scanf("%lf",&y2); s=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); printf("\nkenar=%.2f",s); 2.7 İki Nokta Arasında Açıklık Açısı Hesabı İki nokta arasında açıklık açısı (semt) hesabı, y t = 12 arctan x 2 2 y x 1 1 bağıntısından hesaplanır. Buradan elde edilen açılara bölge düzeltmelerinin getirilmesi gerekir. Bölge düzeltmeleri ise pay ve paydanın negatif ya da pozitif olmasına göre yapılır g g g C de trigonometrik fonksiyonlar yalnızca radyan birimi ile çalışır. π sayısını veren bir kütüphane fonksiyonu yoktur. Bu nedenle yeterli incelikte π sayısı trigonometrik ters fonksiyonlar yardımıyla elde edilebilir. π = 2arcsin(1) /*prg08*/ #include<math.h> double x1,y1,x2,y2,t,pi; printf("\nx1="); scanf("%lf",&x1); printf("\ny1="); scanf("%lf",&y1); printf("\nx2="); scanf("%lf",&x2); printf("\ny2="); scanf("%lf",&y2); pi=2*asin(1.0); x1=x2-x1; y1=y2-y1; t=atan(y1/x1); t=t*200/pi; if(x1<0) t=t+200; if(t<0) t=t+400; İ.Ö.BİLDİRİCİ,

16 printf("\naciklik Acisi=%.5f",t); Yukarıdaki kodu incelersek bölme işleminde, sıfıra bölüm olasılığına karşı bir önlem alınmadığını görürüz. Başka bir deyişle arctan fonksiyonu kullanılmadan önce açıklık açısının 0, 100, 200 ve 300 gibi bir değeri olup olmadığı araştırılmalıdır. Bu düşünceye göre program kodu aşağıdaki gibi değiştirilebilir. /*prg09*/ #include<math.h> double x1,y1,x2,y2,t,pi; printf("\nx1="); scanf("%lf",&x1); printf("\ny1="); scanf("%lf",&y1); printf("\nx2="); scanf("%lf",&x2); printf("\ny2="); scanf("%lf",&y2); pi=2.0*asin(1.0); if(abs(x2-x1)<=1.e-7) if(y2>y1) t=100.0; else t=300.0; else x1=x2-x1; y1=y2-y1; t=atan(y1/x1); t=t*200/pi; if(x1<0) t=t+200; if(t<0) t=t+400; printf("\naciklik Acisi=%.5lf\n",t); 2.8 for Çevrimi ile Toplama for çevrimi kullanılarak kullanıcı tarafından verilen sayıda sayının toplamını ve ortalamasını hesaplayan bir program kodu aşağıda verilmiştir. /*prg10*/ İ.Ö.BİLDİRİCİ,

17 int i,j; double top=0.0,sayi; printf("\n kac sayi toplanacak?"); scanf("%i",&j); for (i=1;i<=j;i=i+1) printf("%i.sayi=",i); scanf("%lf",&sayi); top=top+sayi; printf("\ntoplam=%.2lf\tortalama=%.2lf",top,top/(i-1)); 2.9 Faktöriyel Verilen sayının faktöriyelini hesaplayan program: /*prg11*/ int x,i; double fa=1.0; printf("\nx="); scanf("%i",&x); for (i=x;i>=1;i=i-1) fa=fa*i; printf("\nx!=%.0lf",fa); Matematiksel olarak faktöriyel değeri tam sayı olmasına karşın yukarıdaki program kodunda fa değişkeni double olarak tanımlanmıştır. Bunun nedeni, hızla büyüyen faktöriyel değerini int tipi ile hesaplamadan doğan güçlüktür. fa değişkeni int ve long int olarak da tanımlanarak denenebilir. Bu durumda printf içindeki format ifadesi %.0lf yerine int için %i long int için %ld şeklinde değiştirilmelidir. Ancak yukarıdaki kod belli bir büyüklükten sonra (yaklaşık 168!) double tipi ile de hesaplama yapamayacağından program kırılır. Buna karşı bir önlem olarak program aşağıdaki gibi geliştirilebilir. Aşağıdaki kod, negatif bir sayı verilmedikçe, hesaplamaya da devam etmektedir. /*prg12*/ int x=1,i; double fa=1.0; printf("\a\tfaktoriyel Programi, cikis icin negatif sayi girin"); while(x>=0) fa=1.0; printf("\nx ="); scanf("%i",&x); if(x>=0&&x<=168) for (i=x;i>=1;i=i-1) fa=fa*i; printf("x!=%.0lf",fa); else İ.Ö.BİLDİRİCİ,

18 printf("hesaplanamiyor"); printf("\n\tbitti---"); 2.10 İç İçe for Çevrimi: Çarpım Tablosu Programı Aşağıdaki kısa kod 1 den 10 a kadar sayılar için çarpım tablosunu ekranda gösterir: /*prg13*/ int x,y; for (x=1;x<=10;x=x+1) printf("\n"); for (y=1;y<=10;y=y+1) printf("%4i",x*y); Program çalışması sonucu aşağıdaki ekran görüntüsü elde edilir printf fonksiyonu içinde kullanılan %4i" ifadesi ekranda dört karakterlik yere x*y çarpımının sonucunu sağa dayalı olarak yazdırmaktadır. Sola dayalı yazdırmak için %-4i kullanılmalıdır Alan Hesabı Köşe koordinatları bilinen bir şeklin alanı, 1 2 ( x y x y ) F = n n+ 1 n+ 1 n bağıntısı ile hesaplanır. Buna göre nokta koordinatlarını sıra ile alan, kullanıcı esc tuşuna basınca alanı hesaplayan bir program kodu aşağıdaki gibidir. /*prg14*/ /*Bu program LINUX altinda calismaz!*/ #include<conio.h> #include<math.h> İ.Ö.BİLDİRİCİ,

19 double x1,y1,xn,yn,xm,ym,f=0.0; int i=0,j=0; do j=j+1; printf("\nx%i=",j); scanf("%lf",&xm); printf("\ny%i=",j); scanf("%lf",&ym); if(j==1) x1=xm; y1=ym; else f=f+(xn*ym-xm*yn); yn=ym; xn=xm; printf("\ndevam icin bir tusa basin, cikis esc"); i=_getch(); while(i!=27); f=f+(xm*y1-x1*ym); f=fabs(f)/2.0; printf("\nf=%.2lf",f); Kullanıcıdan nokta sayısı sorularak alan hesaplanmak istenirse kod aşağıdaki gibi değiştirilebilir: /*prg15*/ #include<math.h> double x1,y1,xn,yn,xm,ym,f=0.0; int j,n; printf("\nnokta Sayisi="); scanf("%i",&n); for(j=1;j<=n;j++) printf("\nx%i=",j); scanf("%lf",&xm); printf("\ny%i=",j); scanf("%lf",&ym); if(j==1) x1=xm; y1=ym; else f=f+(xn*ym-xm*yn); yn=ym; xn=xm; f=f+(xm*y1-x1*ym); f=fabs(f)/2.0; printf("\nf=%.2lf",f); Test amacıyla aşağıdaki veriler kullanılabilir: NN Y X İ.Ö.BİLDİRİCİ,

20 F= e Sayısının Hesabı Doğal logaritmanın tabanı olan e sayısı seri yardımıyla hesaplanabilir e = ! 2! 3! double tipinin verebildiği maksimum inceliği elde etmek için, serinin terim değeri den küçük oluncaya kadar hesaplama yapılacaktır. Program doğru çalışırsa 18 terim hesaplanacaktır (derleyici ve işlemciye göre değişebilir). /*prg16*/ int i=0,j; double e=1.0,payda,fark=1.e-15; do i=i+1; payda=1.0; for(j=i;j>=1;j--) payda=payda*j; e=e+1.0/payda; while (1.0/payda>=fark); printf("\n%i terim ile hesaplanan e=%.14lf",i,e); 3. KARAKTER, DİZİ ve POINTER KULLANILAN ÖRNEKLER 3.1 Dizi Kullanarak Alan Hesabı Dizi kullanılarak aşağıdaki gibi bir program yazılabilir: /*prg17*/ #include<conio.h> #include<math.h> #define max 100 double x[max],y[max],f=0.0; int j,n; char cevap='e'; do f=0.0; İ.Ö.BİLDİRİCİ,

21 printf("\nnokta Sayisi(max%i)=",max-2); scanf("%i",&n); if(n>2&&n<max-1) for(j=0;j<=n-1;j++) printf("\nx%i=",j); scanf("%lf",&x[j]); printf("\ny%i=",j); scanf("%lf",&y[j]); x[n]=x[0]; y[n]=y[0]; for(j=0;j<=n-1;j++) f=f+(x[j]*y[j+1]-x[j+1]*y[j]); f=fabs(f)/2.0; printf("\nf=%.2lf",f); printf("\ndevam mi?e/h"); cevap=getch(); while(cevap=='e'); printf("\n----b i t t i---"); #define ile sabitler tanımlanır. Yukarıdaki kodda dizi boyutu max adlı sabit ile tanımlanmıştır. Bu şekilde tanımlamanın avantajı sadece #define satırında değişiklik yapılarak dizi boyutunun değiştirilebilmesidir. C dilinde dizi indisleri sıfırdan başlar. Bu nedenle x ve y dizilerinin indisleri 0-99 arasındadır. 3.2 Pointer Kullanımı Pointer, bir değişkene bellekte ayrılan yerin adresini içeren bir değişken tipidir. /*prg18*/ #include<conio.h> int i; int *ptr; char cvp; do printf("\nbir sayi girin"); scanf("%i",&i); ptr=&i; printf("girdiginiz sayi=%i, adresi=%u",i,ptr); printf("devam mi? e/h"); cvp=getch(); while(cvp=='e' cvp=='e'); 3.3 Karakter Dizileri Örneği char değişken tipi tek bir karakteri tanımlar. Bir kelime ya da cümleyi saklayabilmek için char tipinde bir dizi kullanmak gerekir. Dizi kullanılmasından dolayı, dizi boyutunun yani saklayacağımız karakter bilginin uzunluğunu belirlemek zorunludur. Karakter dizilerinde girilen karakterin bitişi \0 ile belirlenir. Bu karakter ASCII kodu sıfır olan karakter olup, rakam olarak İ.Ö.BİLDİRİCİ,

22 0 ile ilgisi yoktur. Karakterin bitişi bu şekilde belirtilmek zorunda olduğundan tanımlanan uzunluğun tamamı kullanılamaz, bir eksiğine kadar kullanılabilir. Örnek: S e l a m \0 Uzunluğu 6 olan bu dizide son karakter \0 olmak zorunda olduğundan beş karakterlik kısmı kullanılabilir. Yukarıdaki değişkenin uzunluğu 10 olsaydı, S e l a m \0 Dört karakterlik kısım kullanılmazdı. Kullanılamayan kısımlar (6,7,8,9) aslında boş değildir. Buralarda compiler tarafından atanmış rasgele değerler ya da önceden kalma değerler olabilir. Karakter işlemleri için çok sayıda kütüphane fonksiyonu olduğundan, çoğu kez karakterin sonlandırılmasıyla uğraşılmasına gerek kalmaz. Sadece tanımlanan uzunluğun bir karakterinin \0 için kullanılacağının bilinmesi yeterlidir. Aşağıdaki kod kullanıcıya adı ve soyadını sorarak, bir karakter dizisine atamaktadır. Ardından ilk boşluk aranarak (space) onun yerine \0 atanıp, karakterin soyadı kısmı kesilmektedir. /*prg19*/ #include<string.h> #include<conio.h> int i; char cvp, adsoyad[80]; do printf("\nadinizi soyadinizi girin:"); gets(adsoyad); printf("\nadiniz soyadiniz:%s",adsoyad); printf("\nuzunlugu=%i",strlen(adsoyad)); for (i=0;i<=79;i++) if(adsoyad[i]==' ') adsoyad[i]='\0'; break; printf("\nadiniz:%s",adsoyad); printf("\ndevam mi? e/h"); cvp=getch(); while(cvp=='e' cvp=='e'); Yukarıda kullanılan gets ve strlen fonksiyonları, string.h kütüphanesine ait fonksiyonlardır. gets, scanf fonksiyonu gibi çalışır, ekrandan karakter okunmasını sağlar. Strlen ise karakterin geçerli uzunluğunu verir. Yukarıdaki kodda adsoyad dizisinin tanımlı uzunluğu 80 dir. Ancak bu 80 karakterin bir kısmı kullanılır. strlen programın çalışması sırasında kullanıcı tarafından girilen kısmının uzunluğunu verir. Örneğin kullanıcı Ali Kuş şeklinde bir giriş yapmış ise, strlen geriye 7 değerini döndürür. Bunun anlamı ilk 7 karakterlik kısım dolu, sekizinci karakterde \0 mevcut demektir, geri kalan karakterler kullanılmamaktadır. İ.Ö.BİLDİRİCİ,

23 4. FONKSİYON KULLANILAN PROGRAMLAR 4.1 Fonksiyonlara Değer Aktarma Fonksiyonlar arası değer aktarma iki şekilde olabilir. Çağıran fonksiyon çağırılan fonksiyona ilgili değişkenlerin değerini aktarabilir ya da adresini aktarabilir. Değer aktarma durumunda çağırılan fonksiyonda yapılan değişiklik çağıran fonksiyonda etkili olmaz. Değişikliklerin etkili olması için adres aktarması yapmak gereklidir. Bu amaçla pointer kullanılması gereklidir. İki değişkenin değerini değiş tokuş etmek amacıyla aşağıdaki kodu yazalım. /*prg20*/ #include <stdio.h> void degistokus(int, int ); /*fonksiyon prototipi*/ int x,y; printf("\nx="); scanf("%i",&x); printf("\ny="); scanf("%i",&y); degistokus(x,y); /*değer aktarma*/ printf("\nx=%i\ty=%i",x,y); void degistokus(int a, int b) int c; c=a; a=b; b=c; Yukarıdaki kodu çalıştırın. Ana fonksiyonda x ve y değişkenlerine atanan değerlerin degistokus fonksiyonunda değiş tokuş edilmesine rağmen ana fonksiyonda etkili olmadığı görülecektir. Bunun nedeni ana fonksiyondaki değişkenlerin bir kopyalarının alt fonksiyona aktarılmasıdır. Alt fonksiyondaki değişikliğin etkili olması için yukarıdaki kod aşağıdaki şekilde düzenlenmelidir. /*prg21*/ #include <stdio.h> void degistokus(int *, int *); /*fonksiyon prototipi*/ int x,y; printf("\nx="); scanf("%i",&x); printf("\ny="); scanf("%i",&y); degistokus(&x,&y); /*adres aktarma*/ printf("\nx=%i\ty=%i",x,y); void degistokus(int *a, int *b) int c; İ.Ö.BİLDİRİCİ,

24 c=*a; *a=*b; *b=c; Yukarıdaki kodlarda & operatörü kullanılmıştır. Adres operatörü olarak tanımlanan & operatörü bir değişkenin adresini verir. Bunun tersi * operatörüdür. * operatörü verilen adresteki değeri döndürür (içerik alma operatörü). 4.2 Açıklık Açısının Fonksiyon Olarak Programlanması Açıklık açısını hesaplayan kod bir fonksiyon olarak yazılırsa, değişik programlarda kolaylıkla yeniden kullanılabilir. /*prg22*/ #include<conio.h> #include<math.h> double aciklik_acisi(double x1,double y1,double x2,double y2) double pi,t; /* pi sayısı...*/ pi=2.0*asin(1.0); /* açıklık açısı */ if(abs(x2-x1)<=1.e-7) /*payda sıfır ise*/ if(y2>y1) t=100.0; else t=300.0; else x1=x2-x1; y1=y2-y1; t=atan(y1/x1)*200.0/pi; if(x1<0)t=t+200; if(t<0) t=t+400; return(t); double x1,y1,x2,y2,t; char cvp; do printf("\nx1="); scanf("%lf",&x1); printf("y1="); scanf("%lf",&y1); printf("x2="); scanf("%lf",&x2); printf("y2="); scanf("%lf",&y2); t=aciklik_acisi(x1,y1,x2,y2); printf("\naciklik Acisi=%.5lf",t); printf("\ndevam mi?e/h"); cvp=_getch(); while(cvp!='h'); İ.Ö.BİLDİRİCİ,

25 printf("\n---->bitti"); Fonksiyon prototipi kullanılarak yazım: /*prg23*/ #include<conio.h> #include<math.h> double aciklik_acisi(double,double,double,double); double x1,y1,x2,y2,t; char cvp; do printf("\nx1="); scanf("%lf",&x1); printf("y1="); scanf("%lf",&y1); printf("x2="); scanf("%lf",&x2); printf("y2="); scanf("%lf",&y2); t=aciklik_acisi(x1,y1,x2,y2); printf("\naciklik Acisi=%.5lf",t); printf("\ndevam mi?e/h"); cvp=_getch(); while(cvp!='h'); printf("\n---->bitti"); double aciklik_acisi(double x1,double y1,double x2,double y2) double pi,t; /* pi sayısı...*/ pi=2.0*asin(1.0); /* açıklık açısı */ if(abs(x2-x1)<=1.e-7) /*payda sıfır ise*/ if(y2>y1) t=100.0; else t=300.0; else x1=x2-x1; y1=y2-y1; t=atan(y1/x1)*200.0/pi; if(x1<0)t=t+200; if(t<0) t=t+400; return(t); İ.Ö.BİLDİRİCİ,

26 4.3 Açıklık Açısı ve Kenarı Birlikte Döndüren Fonksiyon Bir fonksiyonun iki değer döndürebilmesi için pointer kullanmak gerekir. Fonksiyon geriye direkt olarak bir değer döndürmemekte, çağıran fonksiyondan (main) gönderilen iki değişkenin adresini alarak hesaplanan değerleri bu adresler yoluyla çağıran fonksiyona aktarmaktadır. Öte yandan, fonksiyon kodu main fonksiyonundan sonra yer aldığı için, main fonksiyonundan önce fonksiyonun prototipi verilmiştir. /*prg24*/ #include<conio.h> #include<math.h> void aci_kenar(double,double,double,double,double *,double *); double x1,y1,x2,y2,t,s; char cvp; do printf("\nx1="); scanf("%lf",&x1); printf("y1="); scanf("%lf",&y1); printf("x2="); scanf("%lf",&x2); printf("y2="); scanf("%lf",&y2); aci_kenar(x1,y1,x2,y2,&t,&s); printf("\naciklik Acisi=%.5lf\tkenar=%.2lf",t,s); printf("\ndevam mi?e/h"); cvp=_getch(); while(cvp!='h'); printf("\n---->bitti"); void aci_kenar(double x1,double y1,double x2,double y2,double *t,double *s) double pi; /* kenar hesabı*/ *s=sqrt(pow((x2-x1),2)+pow((y2-y1),2)); /* pi sayısı...*/ pi=2.0*asin(1.0); /* açıklık açısı */ if(abs(x2-x1)<=1.e-7) /*payda==0 mi?*/ if(y2>y1) *t=100.0; else *t=300.0; else x1=x2-x1; y1=y2-y1; *t=atan(y1/x1)*200.0/pi; if(x1<0) *t=*t+200; if(*t<0) İ.Ö.BİLDİRİCİ,

27 *t=*t+400; 4.4 Fonksiyonlar Arası Dizi Aktarma Fonksiyonlara değişkenlerin aktarılmasını daha önce inceledik. Fonksiyonlar arası dizi değişkenlerinin aktarılması biraz farklıdır. Dizi değişkenleri için tanımlanan değişken ismi parantezsiz kullanılırsa o dizinin ilk elemanının pointerını tanımlar. x biri dizi olmak üzere aşağıdaki iki ifade birbiri ile eşdeğerdir. x &x[0] Aşağıdaki örnekte 5 elemanına atama yapılan bir dizinin bir fonksiyona aktarılarak ekranda görüntülenmesi sağlanmaktadır. Burada dizinin aktarılma şekline ve fonksiyon prototipinin nasıl tanımlandığına dikkat edin. /*prg25*/ #include <stdio.h> #define max 100 void diziyaz(double *,int); /*fonksiyon prototipi*/ double x[max]; int i,j; i=5; for(j=0;j<i;j++) x[j]=2*j+1; diziyaz(x,i); void diziyaz (double *x,int i) int j; for(j=0;j<i;j++) printf("\nx(%i)=%.0lf",j,x[j]); Aşağıdaki örnek ise karakter dizileri fonksiyonlara aktarılmaktadır. Buradaki fonksiyonlardan yaz1 de fonksiyona aktarılan karakter dizisinin içeriği, dizi kullanılarak ekrana yazılmakta, yaz2 de ise aynı işlem pointer kullanılarak gerçekleştirilmektedir. Bu örnekte pointer ve dizi kavramlarının birbirleriyle ilişkisi daha açık olarak görülmektedir. /*prg26*/ #include <stdio.h> void yaz1(char *text) int x=0; while(text[x]!='\0') putchar(text[x]); x++; void yaz2(char *text) İ.Ö.BİLDİRİCİ,

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

Sınav tarihi : Süre : 60 dak. Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Final Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 31.05.2016 Süre : 60 dak. 1. Ekranda ne görüntülenir? int i =

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ı

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ı

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ı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 18.04.2011 1 DİSK DOSYALARI İLE ÇALIŞMA DOSYALARIN AÇILMASI C programlama dilinde bir dosyayı kullanabilmek için, öncelikle o dosyanın açılması gerekmektedir. Hem okuma hem de yazma

Detaylı

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

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden

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ı

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ı

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ı

Eln 1002 Bilgisayar Programlama II

Eln 1002 Bilgisayar Programlama II Eln 1002 Bilgisayar Programlama II C»de Dosya ğşleme : S¹ral¹ EriŞim Ne ÖĆreneceĆiz? Dosyalar ve Streamler Sequential (sıralı) erişim dosyaların yaratılması Sıralı Erişim Dosyalarından Veri Okuma Sıralı

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ı

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ Prof. Dr. Necmettin Kaya C PROGRAMLAMA DİLİ ÖZELLİKLERİ C programlama dili, 1972 yılında Bell Labortuvarı nda Dennis Ritchie tarafından geliştirilmiştir.

Detaylı

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri BLM-111 PROGRAMLAMA DİLLERİ I Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Temel Veri Tipleri C dilinde

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

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

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

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ı

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ı

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak. Selçuk Üniversitesi Mühendislik-Mimarlık Fakültesi Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :26.11.2012, 60 dak. Dikkat!!! Soru kitapçığında

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ı

Diziler (Arrays) Çok Boyutlu Diziler

Diziler (Arrays) Çok Boyutlu Diziler Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir.

Detaylı

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ı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü Final Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :09.01.2013, 60 dak. Dikkat!!! Soru kitapçığında ve

Detaylı

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

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya BMB1002 Bilgisayar Programlamaya Giriş Dosyalar Prof. Dr. Necmettin Kaya Dosyalar, verilen saklanması ve daha sonra okunması için bilgi içeren ve kalıcı olarak saklanabilen ortamlardır. Dosya işlemleri,

Detaylı

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

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI Bu bölümde, C programlama dilinde kullanılan temel giriş ve çıkış fonksiyonları ele alınacaktır. C programlama dilinde default (varsayılan) giriş cihazı klavye

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ı

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

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin); case 2 : C = 0.5088-0.0011*(B-135); break; case 3 : C = 0.4978-0.0010*(B-145); break; case 4 : C = 0.4878-0.0009*(B-155); break; default : printf("yanlış seçenek\n");} cout

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ı

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ı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

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ı

3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta)

3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta) 3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta) Bilgisayar belleğine veri aktarılabilmesi (veri okutulması) için scanf() veya cin (consol input un kısaltılmışı) komutları kullanılabilir. Sonuçlarının ekrana aktarılması

Detaylı

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

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak

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ı

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI C programlama dilinde, diğer programlama dillerinde olduğu gibi, işlemler, ilk satırdan başlamak üzere sırayla çalışır. Program kontrol yapıları ise, programın

Detaylı

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN ESM-361 Mikroişlemciler 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN Bit operatörleri Bit operatörleri bit düzeyinde işlem yapan operatörlerdir; yani sayıları bir bütün olarak değil, bit bit

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ı

BİL1001 Bilgisayar Bilimlerine Giriş 1

BİL1001 Bilgisayar Bilimlerine Giriş 1 DEÜ Bilgisayar Bilimleri Bölümü BİL1001 Bilgisayar Bilimlerine Giriş 1 Öğr. Gör. Dr. Alper VAHAPLAR 2017 Yaz Okulu Tekrarlı Yapılar Algoritmanın belirli bir kısmının, belirli kere ya da belirli durumlar

Detaylı

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

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :13.04.2017 60 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

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ı

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ı

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

Detaylı

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

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

Detaylı

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi 2011-2012 Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Programlama Dili Nedir? 2 Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını

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 Veri Hiyerarşisi Dosyalara Giriş

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ı

C Programlama Dilinde Değişkenler

C Programlama Dilinde Değişkenler C Programlama Dilinde Değişkenler Değişkenler bir programlama dilinin en önemli bileşenlerindendir. En basit bir aritmetik işlemin bile kullanıcının girdiği değerleri saklamak için çeşitlik bellek alanlarına

Detaylı

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

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II DİZİLER Dizi, aynı tipteki verilere tek bir isimle erişmek için kullanılan bir kümedir. Bir dizi bildirildikten sonra, dizinin bütün elemanları bellekte peşpeşe

Detaylı

BLM 111 ALGORİTMA VE PROGRAMLAMA I

BLM 111 ALGORİTMA VE PROGRAMLAMA I 1 BLM 111 ALGORİTMA VE PROGRAMLAMA I DİZİLER (ARRAYS) Kullanıcıdan N tane tamsayı, xi, alalım ve 1. Bu sayıların ortalamasını hesaplamak isteyelim ort = 0; for (i=0; i

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 PROGRAMLAMA DİLİNE GİRİŞ

C PROGRAMLAMA DİLİNE GİRİŞ C PROGRAMLAMA DİLİNE GİRİŞ C Dilinin Tarihçesi 1972 de Dennis Ritchie tarafından AT&T Bell Laboratuarlarında B dilinden geliştirildi. C dili konusundaki ilk kitap 1978 de Dennis Ritchie ve Brain Kernighan

Detaylı

DOSYA İŞLEMLERİ Programlama dilleri hafta -

DOSYA İŞLEMLERİ Programlama dilleri hafta - BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA İŞLEMLERİ Programlama dilleri 1-10. hafta - Araş. Gör. Nesibe YALÇIN Dosya İşlemleri Programın çalışma esnasında

Detaylı

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

PROGRAMLAMA. Dosyalama İşlemleri. Yrd. Doç. Dr. Bülent Çobanoğlu. Sakarya Üniversitesi Mekatronik Mühendisliği. Yrd.Doç.Dr. PROGRAMLAMA Dosyalama İşlemleri Yrd. Doç. Dr. Bülent Çobanoğlu Sakarya Üniversitesi Mekatronik Mühendisliği Yrd.Doç. Dosyalama İşlemleri Program ve verileri daha sonra kullanabilmek amacı ile kalıcı olarak

Detaylı

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

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

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 Diziler Dizi Nedir? Dizilerin Bildirimi

Detaylı

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

Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri BLM111 Programlama Dilleri I Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Caner ÖZCAN C Dilinde Temel Veri Tipleri C dilinde kullanılacak değişkenler ve veri tipleri

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ı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

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ı

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ı

STRİNG DİZİLER(KATARLAR)

STRİNG DİZİLER(KATARLAR) STRİNG DİZİLER(KATARLAR) Giriş Katar bir char tipinde bildirilen karakter dizisidir. Katarlar (strings), içeriği harfler, rakamlar, veya bazı semboller olan text bilgilerini tutmak(saklamak) için kullanılır.

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

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

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 11. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Fonksiyonlar Yük. Müh. Köksal Gündoğdu 2 C++ Hazır Fonksiyonlar Yük. Müh. Köksal Gündoğdu 3 C++ Hazır Fonksiyonlar 1. Matematiksel

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

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ı

BLM 111 ALGORİTMA VE PROGRAMLAMA I

BLM 111 ALGORİTMA VE PROGRAMLAMA I 1 BLM 111 ALGORİTMA VE PROGRAMLAMA I ÇOK BOYUTLU DİZİLER, YAPILAR [MULTIDIMENSIONAL ARRAYS, STRUCTURES] ÇOK BOYUTLU DİZİLER Çok boyutlu diziler tanımlayabiliriz. İki boyutta, çok boyutlu diziler bellek

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ı

NAZMİYE DEMİREL ORTAOKULU BİLİŞİM TEKNOLOJİLERİ DERSİ 1. DÖNEM 6. SINIFLAR DERS NOTU EXCEL 2007 DERS NOTLARI

NAZMİYE DEMİREL ORTAOKULU BİLİŞİM TEKNOLOJİLERİ DERSİ 1. DÖNEM 6. SINIFLAR DERS NOTU EXCEL 2007 DERS NOTLARI EXCEL 2007 DERS NOTLARI Bir hesap tablosu programıdır. Excel, her türlü veriyi (özellikle sayısal verileri) tablolar ya da listeler halinde tutma ve bu verilerle ilgili ihtiyaç duyacağınız tüm hesaplamaları

Detaylı

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

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA BLM-112 PROGRAMLAMA DİLLERİ II Ders-8 Dosya İşlemleri-1 Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Giriş Değişken ve dizilerde tutulan değerler programın çalışması

Detaylı

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

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ ( BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi 2018-19 Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (e-mail: edemir@sirnak.edu.tr ) 04.10.2018 1 MATLAB da Workspace ve Workspace

Detaylı

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır stringh floath Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır 32 Sorgulama İfadesi - if Deyimi (5 Hafta) Bu deyim sorgulamanın tek basamakta yapılacağı yerlerde

Detaylı

C Programlama printf() Fonksiyonu

C Programlama printf() Fonksiyonu C Programlama printf() Fonksiyonu Standart C kütüphanesinin bir parçası olan printf() C Programlama Dili'nin genel amaçlı çıktı alma fonksiyonudur. Girdi ve çıktı deyimleri gerçekte C dilinin bir parçası

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ı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

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ı

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ı

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ı

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ı

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/ GENEL TEKRAR 1) /*Kullanıcının belirlediği sayı kadar dikdörtgenin kenar bilgilerini kullanıcıdan alan, dikdörtgenlerin alan ve çevresini alt fonksiyon yardımı ile hesaplayan ve sonuçları ekrana yazan

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ı

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ı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Örnekler 2 Örnek1:

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DİNAMİK BELLEK YÖNETİMİ TEMEL G/Ç FONKSİYONLARI Dinamik Bellek Tahsisi Tanımlanmış olan dizilere eleman sayısı ve elemanlarının tiplerine göre, sistem belleğinde bir yer

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ı

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 Dosya İşlemleri (Rastgele Erişim)

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU 1 M-Dosya Yapısı Bir senaryo dosyası (script file) özel bir görevi yerine getirmek

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ı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

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ı

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

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

String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü String ve Karakter Dizileri #include Temel giriş çıkış akımları nesnelerinin tanımlandığı kütüphanedir. cin,cout,cerr,clog, wcin,wcout,wcerr,wclog nesneleri içerir. using namespace std; //std

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ı

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ı

Ders 4: Temel Giriş/Çıkış Fonksiyonları

Ders 4: Temel Giriş/Çıkış Fonksiyonları Ders 4: Temel Giriş/Çıkış Fonksiyonları Giriş 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

Detaylı

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 14.04.2015 Süre : 60 dak. 1. Tür dönüşümleri... olmak üzere iki

Detaylı