Ocak, 2010 için arşivler

C# Değişken Türleri

Değişkenin ne olduğunu bildiğimize göre kullanılan değişkenlerin türlerinide öğrenmemiz gerek.

Byte: İşaretsiz tamsayı (0-255).
char: Unicode Karakterleri.
Unicode (Evrensel Kod) Unicode Consortium organizasyonu tarafından geliştirilen ve her karaktere bir sayı değeri karşılığı atayan bir standarttır.
· Yeryüzündeki tüm karakterlere bir sayı değeri atamayı amaçlamaktadır.
· Zaman içinde yeni karakterler eklenebilir ama eski karakterlerin sayı değerleri aynı kalır.
bool: True veya false değeri alabilir.
sbyte: İşaretli tamsayı (-128 – +127).
short: İşaretli (Kısa) (-32,768 – +32,767).
ushort: İşaretsiz (kısa) (0 – 65,535).
int: İşaretli tamsayılar -2,147,483,648 – +2,147,483,647.
uint: İşaretsiz tamsayı 0 – 4,294,967,295.
float: Gerçek Sayı +/-1.5 * 10-45 – +/-3.4 * 1038 Yedi hassasiyet derecesi.
double: Gerçek Sayı +/-5.0 * 10-324 – +/-1.8 * 10308 15-16 hassasiyet derecesi.
decima: 28 hassasiyet derecesi Genellikle Finansal hesaplamalarda tercih edilir. “m” veya “M.” Takısını sayıya eklemelisiniz.
long: İşaretli uzun tamsayı -9,223,372,036,854,775,808 – 9,223,372,036,854,775,807.
ulong: İşaretsiz uzun tamsayı 0 – 0xffffffffffffffff. (Hexadecimal sayı ffffffffffffffff)

Yukarıdaki veri türleri değişken tanımlamalarında aşağıdaki gibi kullanılabilir;

byte degiskenismi;
char degiskenismi;
bool degiskenismi;


int degiskenismi, degiskenismi2;

double degiskenismi;

Şeklinde tanımlanabilir.

Örneğin program içerisinde;
static void Main(string[] args)
{

string ifade;

ifade=”yazılar”
byte x,y;
x=5;

Y=2;  //Dikkat bu kullanım hatalıdır:C# dili Case sensitive dir. Küçük, büyük harf duyarlıdır. y şeklinde tanımlanan değişken program içerisinde Y yerine y olarak yazılmalıdır.

int rakam=8; // int türünde rakam değişkeni oluştur ve buna 8 sayısını ata.

short a=-34,b=651; // short tipinde a ve b değişkeni oluştur, a değişkenine -34 ve b değişkeninede 651 sayısını ata.

char deger; // deger isminde char türünde değişken oluşturur.

deger=’$'; //deger değişkenine $ simgesini atar.

}

Değişken türlerine örnekler ve çeşitli tanımlamalar/değer atama biçimleri yukarıdaki gibidir.

Değişkenleri ve ifadeleri nasıl nerelerde neler aracılığı ile kullanabiliriz?

Örneğin:int toplam; int sayi1=5; ve int sayi2=9; olarak tanımladığımız 2 değeri toplamak için “+” operatörü kullanılır.

toplam=sayi1+sayi2;

Burada kullanılan “=” yukarıda değişkene değer atamada kullanılan ile aynı işlenvi görür.2 sayı toplanır ve sonuç toplam değişkenine aktarılır.

Console.WriteLine(toplam) komutu ile de ekrana yazdırıbiliriz.

Örnektede görüldüğü üzere çeşitli operatörler vasıtasıyla istenilen sonuçlara ulaşılır. Bu operatörle aşağıdaki gibidir.

Operatör türleride işlevlerine göre;
1-Aritmatiksel Operatörler (+,-,/,*,++,=-.. gibi)
2-Mantıksa Operatörler(and &&, or||)
3-Karşılaştırma Operatörleri(<,<>,>,=>.. gibi)

Yukarıdaki operatör isimlerine tıklayarak ilgili operatörler hakkında daha detaylı bilgi edinebilirsiniz.

C# Değişkenler

Variable – Değişkenler

static void Main(string[] args)
{
string ifade;
ifade="Merhaba Dünya"
Console.WriteLine(ifade);
}

C# giriş konusunda parantez içerisine yazdığımız ifadeyi bir değişkene atayarak ekrana yazacaktır. Önceki örneğin laciverti fakat tonu farklı (:

Mantıklı düşünen kişi bu işi zaten önceki örnekteki gibi ( Console.WriteLine(“Merhaba Dünya”); ) yazarak yapıyorduk. Extra 2 satıra ne gerek var, iş uzuyor gibi düşünebilir. Birde şunu düşünürsek;
Ekrana yazılacak ifade Merhaba Dünya değilde çok daha uzun.. Bu ifadeyi her seferinde yazmak yerine kısa bir tanımlama hem zaman kazanmış oluruz hemde boş yere parmaklarımızı yormamış oluruz..

Değişkenler için 2 önemli özellik;
1-Değişkenin Türü
2-Değişken İsmi

Tür olarak daha önceden öngörülen değerler belirlenmiştir. Yukarıdaki örnekte yer alan “string” ifadesi değişkenin türünü belirtmektedir.String olarak tanımlanan değişkenler alfabetik değerler içerir. Değişken tanımlamada 2. aşama ise değişkene bir isim vermektir. Yukarıdaki örnekte “ifade” sözcüğü ise değişkenin ismini belirlemektedir.
string ifade;
“DeğişkenTürü Değişkenİsmi”

Değişken tanımlarken uyulması gereken kurallar:
Değişkenİsmi rakam ile başlayamaz fakat sayı içerebilir.
Yanlış:1ifade
Doğru:i2fade1
Değişkenİsmi içerisinde boşluk olamaz.
Yanlış:ifade 1
Doğru:ifade-1 , ifade_1

Büyük küçük harf karık olabilir ancak program içerisinde kullanılırken aynı şekilde yazılmalıdırlar.
Anahtar kelime olamazlar:string int; gibi.

Değişkenler hakkında genel bilgi edindiğimize göre bizim için önceden tanımlanmış çok kullanılan değişken türlerini inceleyelim. Bu türleri kullanarak tanımlayacağımız değişkenler ile neler yapabiliriz?Nerelerde kullanılırlar?Nasıl faydalanabilir?

Değişken türlerine örnekler ve kullanımları..

C# giriş

static void Main(string[] args)
{
Console.WriteLine("Merhaba Dünya!");
}

Merhaba Dünya!

Bir programlama dili öğreniyorsanız %99 ihtimal ilk yazacağınız program (hangi dil ile olursa olsun) ekrana “Merhaba Dünya” yazacaktır.

Yukarıdaki örnek C# da yazılmıştır. Programın yazımı, derlenmesi .net frameworkü ve şu an aklıma gelmeyen onlarca detaya bu alanda girmeyeceğim. Amaç program yazmak,mantığı kavramak.

Başlangıçta yazılan kodlar her zaman static void Main(string[] args){ ile başlar araya çalıştırılmak istenen kodlar yazılır ve } ile sonlandırılır.

Console.WriteLine bir komuttur ve bu komut ekrana yazı yazmak için kullanılır.
Kullanımı: Console.WriteLine(“ yazılmak istenen şeyler “); Şeklindedir.

Programcılıkta temel olarak 3 veri tipi vardır;
1-Alfabetik karakterler – “yazı..”
2-Sayısal değerler -”1,2,3,4..”
3-Özel karakterler -”!’^+~]..”

Bu ifadelerin kullanım şekilleri ve yerleri bazı özel durumlar oluşturur.
Örneğin “Console.WriteLine” ifadesi temelde sadece yazıdır fakat bu birleşim C# için özel bir anlam ifade eder.
Veya program başında ve sonunda olan { } küme parantezi işaretleri..

Console.WriteLine(“5+2″); yazarsak ekrana 5+2 bastığını görürüz. Fakat ufak bir değişiklik ile Console.WriteLine(5+2) ” çift tırnak işaretini kaldırıp çalıştırırsak ekran bu sayıların toplamını yazacaktır.
Burdan şu sonuç çıkarılabilir bilgisayarın nasıl anlaması gerektiğini bizim bildirmemiz gerekmekte. Bunu da yaparken sadece ” çift tırnak farkı bile çeşitli farklara neden olmakta.

Console.WriteLine komutu istediğimiz yazıyı ekrana yazar ve cursor’ü bir alt satıra atlatır.
Console.Write komutu ise yazıyı yazar ve alt satıra atlamaz. Ekrana tekrar birşey basıldığında son karaktere birleşik yazı yazılır.

Örneğin;
Console.Write("1.yazı");
Console.WriteLine("2.yazı");

Yukarıdaki komutların çıktısı;
“1.yazı2.yazı” şeklindedir.
Eğer ilk komut Console.WriteLine olsa idi;
1.yazı
2.yazı
Şeklinde olacaktı veya (“1.yazı\n“) ifadesi eklenerek yine yukarıdaki sonuç elde edilebilir.

Artık ekrana bir yazı yazabiliyoruz. Peki dışarıdan alınacak herhangi bir yazıyı(klavyeden girilen ifadeyi) ekrana nasıl yazdırabiliriz derseniz bunun için (variable) değişkenler kullanılmaktadır.

Step2–>Değişkenlere..

Programlama Nedir?

Program belirli şartlar ve düzene göre yapılması öngörülen işlemlerin bütünüdür. Normal bir günde onlarca program anlık olarak yaparız. Sabah uyandığımız önce yüzün yıkanması veya birşeyler atıştırılması anlık kararlarımız ve kararımız ile uyguladıklarımızın her biri bir program örneğidir.

Bilgisayar dünyasında programlama ise aynı günlük hayatta olduğu gibi hedefe ulaşmak için doğru argümanların kullanımı ile istenilen sonuçların üretilmesi sağlanır.

Sabah yüz yıkamak için banyo girerken kapı kolunu kullanmak yada kapıyı kırarak banyoya girmek seçtiğimiz yöntemlerdir.

Bilgisayar programlama (software) için çeşitli araçlar mevcuttur. Her biri yaptığı iş ve dilin kendine has özelliğine göre çeşitli sınıflara ayrılmıştır.

Genel olarak sınıflandırma programlama dilinin insan dilini ne kadar barındırığı ile doğru orantılıdır.

Örneğin uygun bir alt yapı ile tamamen 0 ve 1 lerden oluşan bir program yazabileceğiniz gibi insan diline daha uygun if(eğer) for(‘için’) kelimeleri kullanarak da yazabilirsiniz. Bu alanda genel tercih insan diline yakın olan olmaktadır.

Kullanılmakta olan bazı dilleri buna göre sınıflandıralım:
Yüksek seviyeli diller :P ascal, VB.NET,Acces,Foxpro,Basic ,Fortran….
Orta seviyeli diller: C ,C++, C# ,Java ,ADA
Düşük seviyeli diller:Hard makina dili (0-1), assembly de burada sayılabilir.

Aradaki farkın tam olarak anlaşılabilmesi için;
Düşük seviyeli dil ile yazılan, fibonacci dizisini hesaplayan program:
8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3

Orta Seviyeli
C de yazılan fibonacci dizisini hesaplayan program:
int main(){
int x;
printf("bir sayi gir\n");
scanf("%d",&x);
printf("fibonacci=%d",fibonacci(x));
getch();
return 0;
}
int fibonacci(int x){
int fib;
if(x>1){
fib=fibonacci(x-1)+fibonacci(x-2);
return fib;
}
else
if(x==1) return 1;
else
return 0;
}

Ve son olarak Yüksek seviyeli bir dile ile aynı program C#:
static void Main(string[] args)
{
Console.WriteLine(fibbo(10));
}

static int fibbo(int n)
{
if (n <= 1)
return n;
else
return fibbo(n - 1) + fibbo(n - 2);
}

Farktan da görüldüğü üzere dil seviyesi yükseldikte yazılması gerekenler hem insan algısına yakınlaşıyor hemde gittikçe kodlar kısalıyor.

Problemleri hızlı çözmek için bilgisayar tercih edilir. Bilgisayar problemi çözemez. Bir programcı nasıl çözüleceğini bilgisayara anlayacağı şekilde ifade eder ve çözüm yolu doğru ise bilgisayar ile hızlıca uygulayarak çözüme ulaşılır.
Problem çözümü için günlük hayatta alternatif yöntemler mevcuttur içlerinden genelde en çok tercih edilen seçilir ve uygulanır.
Temelde programcının:
Problemi iyi anlaması gerekir. Buna göre giriş(input) ve çıkışlar(output) düzenlenecektir.
Çözümün planlanması aşamasında mevcut/olası girişler(input) ile istenilen çıktıların(output) elde edilmesinin ayrıntıları belirlenir.Bu da algoritmayı oluşturmaktadır.
Girişten gelen veriyi kullanarak uygun sonuç üretilmesi bir algoritma yardımı ile planlanır.
Sorun ve çözüm için uygun yöntem belirlendikten sonrada sıra bilgisayara derdimizi anlatmaya gelir. Bunun içinde bir programlama dili seçilir (düşük,orta eya yüksek seviyeli size uygun olan) ve bu dil yardımı ile programımızı yazarız.

Bilgisayar programcılığının ne olduğunu temel olarak öğrendiğimize göre günümüzün revaçta olan C# programlama dili hakkında daha fazla bilgi verebiliriz.

İlk örneğimiz ile ekrana Merhaba Dünya yazdıralım.