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

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

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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

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ı

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ı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 DOSYALAMA Sunu Planı Rasgele Erişim (Random Access) Dosyaları Rasgele Erişim Dosyalarına Veri Yazma Rasgele Erişim Dosyalarından Veri Okuma 1 Sıralı Erişim Dosyası Bir

Detaylı

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

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

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ı

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ı

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ş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon Tanımı Fonksiyon

Detaylı

PROGRAMLAMA TEMELLER. C Program Yap s

PROGRAMLAMA TEMELLER. C Program Yap s PROGRAMLAMA TEMELLER 1 C Program Yap s 2 Aç klama sat r Program kodlar n makine diline çeviren C dili derleyicisi /* ve */ karakterleri aras nda kalan bölümleri ihmal eder. /* Aç klama Sat r */ Sadece

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ı

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ı

Hafta 12 Karakter Tutan Diziler

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

Detaylı

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

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING) ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING) 1. HAFTA KARAKTER Karakterler, programlarda kullanılan temel simgelerdir. Her karakterin ASCII kod tablosunda bir tamsayı değer karşılığı vardır ve C programlama

Detaylı

Microsoft Office Excel 2007

Microsoft Office Excel 2007 2014 Microsoft Office Excel 2007 Öğr. Gör. Serkan KORKMAZ Harran Üniversitesi Birecik Meslek Yüksekokulu İçindekiler MİCROSOFT OFFİCE EXCEL 2007... 4 EXCEL ORTAMINDA ÇALIŞMAK... 4 EXCEL ÇALIŞMA SAYFASI...

Detaylı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

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ı

Ders 6: Karşılaştırma Deyimleri

Ders 6: Karşılaştırma Deyimleri Ders 6: Karşılaştırma Deyimleri Giriş Program içerisinde bazen iki veya daha fazla değerin karşılaştırılması gerekebilir Bunun için, bütün programlama dillerinde karşılaştırma deyimleri mevcuttur C dili,

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ı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 3. DERS NOTU Konu: MATLAB de Temel İşlemler Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU 1 MATLAB (Matrix Laboratory) sayısal hesaplama dilidir. MathWorks firması tarafından geliştirilmiş

Detaylı

C Konsol ve Komut Satırı

C Konsol ve Komut Satırı C Konsol ve Komut Satırı Öğr. Gör. M. Ozan AKI Rev 1.0 C:\> Konsol ekranı, işletim sistemi ve dosya yönetiminin metin tabanlı yönetilebilmesini sağlayan arabirimdir. Windows işletim sistemi ortaya çıkmadan

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ Yrd. Doç. Dr. Fatih TOSUNOĞLU Erzurum Teknik Üniversitesi Mühendislik Fakültesi İnşaat Mühendisliği Bölümü DERS NOTU 3 KONU: M-dosya yapısı ve Kontrol Yapıları M-Dosya Yapısı

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ı

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ı

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ı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar

mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar Algoritma ve Programlamaya Giriş mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar İçerik Algoritma Akış Diyagramları Programlamada İşlemler o o o Matematiksel Karşılaştırma Mantıksal Programlama

Detaylı

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz 13 Aralık 2007 Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL Đlgili Modül/ler : Raporlar KULLANICI TANIMLI RAPORLAR Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz Kendi isteklerinize özel rapor tasarımları

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

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

MİCROSOFT WORD. Araç çubukları: menü çubuğundan yapabileceğimiz işlemleri daha kısa zamanda araç çubukları ile yapabiliriz. MİCROSOFT WORD Office programlarının içersinde genelde yazı yazmak amaçlı kullanılan bir programdır Microsoft Word. Aşıdaki şekilde çalışma sayfası görülür. Şimdi Word çalışma sayfasını inceleyelim. Microsoft

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş Özlem AYDIN NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü C DİLİNİN BİR ÜST-KÜMESİ OLARAK C++ Genel olarak, C de mevcut olan her şey C++ da da vardır. C dilinde

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ı

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur Python büyük-küçük harf ayrımı yapar. Pythonda kod yazarken girintiler kullanılır Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur Klavyeden girilen bir değeri okumak ad=input("adınızı giriniz")

Detaylı

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

MatLab. Mustafa Coşar mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar

MatLab. Mustafa Coşar mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar MatLab Mustafa Coşar mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar Sunum Planı MatLab Hakkında Ekran Yapısı Programlama Yapısı Matlab da Programlamaya Giriş Sorular MatLab Hakkında MatLab;

Detaylı

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1 PROGRAM - ALGORİTMA AKIŞ ŞEMASI Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Algoritma bir sorunun

Detaylı

Matematiksel Operatörler

Matematiksel Operatörler Matematiksel Operatörler Genel olarak matematiksel işlemlerde kullanılan operatörlerdir. Operatör Anlamı Açıklama ^ Üs Alma C^3 Matematikdeki üs operatörüdür. Verilen ilk sayının ikinci sayı kadar kuvvetini

Detaylı

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

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

Detaylı

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA BÖLÜM-II ALGORİTMA I. GİRİŞ Bilgisayar dünyasında, insanın

Detaylı

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB BİLGİSAYAR PROGRAMLAMA MATLAB Arş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Bu hafta? 1. Matlab ve Programlama Ortamı 2. Matlab Komut Penceresi 3. Matlab de değişken tanımlama 4.

Detaylı

Ders 2: Veri Tipleri, Değişkenler ve Sabitler

Ders 2: Veri Tipleri, Değişkenler ve Sabitler Ders 2: Veri Tipleri, Değişkenler ve Sabitler Giriş Orta ve yüksek seviyeli dillerin hemen hemen hepsinde veri tipi ve değişken kavramı bulunmaktadır. Bu kısımda C programlama dilindeki temel veri tipleri,

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ı

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ı

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler Dizi Tanımı Değişkenler aynı anda tek bir değer tutabilen temel değişkenler ve birden fazla değer saklayabilen

Detaylı