b tp205 – görsel programlama

69
BTP205 – Görsel Programlama C# Temelleri 1

Upload: eugenia-norris

Post on 03-Jan-2016

50 views

Category:

Documents


0 download

DESCRIPTION

B TP205 – Görsel Programlama. C# Temelleri. Bugün…. Değişkenler ve İfadeler Yorumlar Değişkenler İfadeler Operat örler Namespace s (Ad alanları) Akış kontrolü if, switch while, do-while, for, foreach İkili operatörler. Temel C# Sözdizimi. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: B TP205  –  Görsel Programlama

BTP205 – Görsel Programlama

C# Temelleri

1

Page 2: B TP205  –  Görsel Programlama

Bugün…

• Değişkenler ve İfadeler– Yorumlar– Değişkenler– İfadeler– Operatörler– Namespaces (Ad alanları)

• Akış kontrolü– if, switch– while, do-while, for, foreach– İkili operatörler

2

Page 3: B TP205  –  Görsel Programlama

Temel C# Sözdizimi

• Boşluklar (boşluk, yeni satır, tab) C# derleyicisi tarafından göz ardı edilir

• İfadeler noktalı virgül (;) ile sonlandırılır• C# kodları büyük-küçük harf duyarlıdır• C# blok-yapılı bir dildir ve bloklar ayraçlar ile

sınırlanır (‘{’ ve ‘}’)• Kodlarınızı yazarken okunabilir olması için – içerden başlamaya dikkat ediniz– yorumlar yazınız

3

Page 4: B TP205  –  Görsel Programlama

Yorumlar• Tip I/* Tek yorum satırı *//* Çoklu- Yorum Satırı*/

• Tip II// Başka bir tekli yorum satırıa = 0; // sayacı sıfırla

• Tip III/// Dokümantasyon için kullanılan özel yorum satırları

4

Page 5: B TP205  –  Görsel Programlama

Değişkenler

• Değişkenleri, verinin içinde saklandığı kutular olarak düşünebiliriz

• Değişkenlerin tipleri, isimleri ve değerleri vardır

int num = 5;• Burada, int değişkenin tipi, num ismi ve 5‘de

değeridir• Bütün değişkenler kullanılmadan önce

tanımlanmalıdır5

Page 6: B TP205  –  Görsel Programlama

Basit Tipler

• Basit tipler sayıları Boolean (doğru ya da yanlış) değerleri kapsar

• Sayıları ifade etmek için birçok tip vardır, çünkü her tipi ifade edebilmek için farklı sayıda byte gerekir

6

Page 7: B TP205  –  Görsel Programlama

Tamsayı Tipleri (integer) Tip Diğer adı İzin verilen değer aralığı Byte sayısı

sbyte System.SByte –128 ve 127 aralığında tamsayı 1

byte System.Byte 0 ve 255 aralığında tamsayı 1

short System.Int16 –32768 ve 32767 aralığında tamsayı 2

ushort System.UInt16 0 ve 65535 aralığında tamsayı 2

int System.Int32 –2,147,483,648 ve 2,147,483,647 aralığında tamsayı 4

uint System.UInt32 0 ve 4,294,967,295 aralığında tamsayı 4

long System.Int64 –9223372036854775808 ve 9223372036854775807 aralığında tamsayı 8

ulong System.UInt64 0 ve 18446744073709551615 aralığında tamsayı 8

7u: unsigned-işaretsiz s: signed-işaretli

Page 8: B TP205  –  Görsel Programlama

Noktalı Sayı Tipleri (Floating Point)Tip Diğer Adı Aralığı Byte sayısı

float System.Single 4

double System.Double 8

decimal System.Decimal 16

8

Page 9: B TP205  –  Görsel Programlama

HassasiyetTip Hassasiyet

float 7-8 basamak

double 15-16 basamak

decimal 28 basamak

9

Decimal veri tipi genellikle daha yüksek hassasiyet isteyen para birimleri için

kullanılır!

Page 10: B TP205  –  Görsel Programlama

Diğer Basit TiplerTip Diğer adı İzin verilen aralık

char System.Char Tekil Unicode karakter, 0 ve 65535 aralığında bir tamsayı olarak saklanır

bool System.Boolean Doğru ya da yanlış

string System.String Bir karakter dizisi

10

Char veri tipinin 2 byte ve Unicode olarak

saklandığına dikkat ediniz!

Page 11: B TP205  –  Görsel Programlama

Değişken Tanımlama, Değer Atama ve Yazdırma Örneği

static void Main(string[] args){

int myInteger;string myString;myInteger = 17;myString = "\"myInteger\" is";Console.WriteLine("{0} {1}.", myString, myInteger);

}

11

Burada iki değişken tanımlanıyor

DeğişkenlereDeğerler atanıyor

Değişkenler ekrana yazdırılıyor.

"myInteger" is 17.

Page 12: B TP205  –  Görsel Programlama

Değişken Değerlerini Yazdırma

• Değişken değerlerini ekrana yazdırmak için Console.Write() veya Console.WriteLine() metodlarını kullanınız

• Console.WriteLine() metodu satırın sonuna yeni bir satır ekler

• Metodların birçok veri tipini yazdırmak üzere farklı suretleri vardır, en uygun olanı kullanınız

12

Page 13: B TP205  –  Görsel Programlama

Bazı Console.WriteLine() Suretleri

13

Page 14: B TP205  –  Görsel Programlama

Ekrana bir int yazdırma

• int x = 17, y = 25;• Console.WriteLine(x);• Console.WriteLine(x.ToString());• Console.Write(“x = ”);• Console.WriteLine(x);• Console.WriteLine(“x = ” + x);• Console.WriteLine(“x = ” + x.ToString());• Console.WriteLine(“x = {0}, y = {1}.”, x, y);

14

1717x = 17x = 17x = 17x = 17, y = 25.

Page 15: B TP205  –  Görsel Programlama

Değişken İsimlendirme

• İlk karakter bir harf ya da alt çizgi (_) olmalıdır• Devam eden karakterler harf, alt çizgi ya da

sayı olabilir• Rezerve edilmiş kelimeler değişken ismi olarak

kullanılamaz– Eğer rezerve bir kelimeyi değişken ismi olarak kullanmak

isterseniz, başına bir at karakteri (@) getirebilirsiniz

15

Page 16: B TP205  –  Görsel Programlama

Örnek: Geçerli Değişken İsimleri

• myBigVar• VAR1• _test• i• myVariable• MyVariable• MYVARIABLE

16

Page 17: B TP205  –  Görsel Programlama

Örnek: Geçersiz Değişken İsimleri

• a+b• 99bottles• namespace• double• my-result

17

Page 18: B TP205  –  Görsel Programlama

Anahtar Kelimelerabstract const extern int out short typeof

as continue false interface override sizeof uint

base decimal finally internal params stackalloc ulong

bool default fixed is private static unchecked

break delegate float lock protected string unsafe

byte do for long public struct ushort

case double foreach namespace readonly switch using

catch else goto new ref this virtual

char enum if null return throw void

checked event implicit object sbyte true volatile

class explicit in operator sealed try while

18

Page 19: B TP205  –  Görsel Programlama

C# Bağlamsal Anahtar Kelimeleradd ascending async await by descending dynamic

equals from get global group in into

join let on orderby partial remove select

set value var where yield

19

Bağlamsal anahtar kelimeler bazı dil yapılandırmalarında kullanılırlar. Bu yapılandırmalarda tanımlayıcı olarak kullanılamazlar. Aksi taktirde, tanımlayıcı olabilirler.

Page 20: B TP205  –  Görsel Programlama

Macar Notasyonu

• Değişkenin tipini gösteren bir önek başa eklenir– nAge– iAge– fDelimeter– btnClick– txtName

20

Page 21: B TP205  –  Görsel Programlama

Deve Stili

• İlk kelime küçük harfle başlar, diğerleri byük harfle devam eder– age– firstName– lastName– birthDay

21

Page 22: B TP205  –  Görsel Programlama

Pascal Stili

• Bütün kelimeler büyük harfle başlar– Age– FirstName– LastName– WinterOfDiscontent

22

Page 23: B TP205  –  Görsel Programlama

Önceleme dizgeleri (Escape Sequences)

Önceleme dizgesi Üretilen karakter Unicode Değeri

\’ Tek tırnak işareti 0x0027

\” Çift tırnak işareti 0x0022

\\ Ters bölü çizgisi 0x005C

\0 Null 0x0000

\a Alarm (bip sesi çıkarır) 0x0007

\b Geri silme tuşu 0x0008

\f Sayfa başı tuşu 0x000C

\n Yeni satır 0x000A

\r Satır başına getirme 0x000D

\t Yatay tab 0x0009

\v Dikey tab 0x000B

23

Page 24: B TP205  –  Görsel Programlama

Karakter dizileri (string) üzerine…

• \u sonrasında Unicode karakterler kullanabilirsiniz– “Karli\’s string”– “Karli\u0027s string”

• Eğer bir karakter dizisinin önüne @ işareti koyarsanız bütün önceleme dizgeleri yok sayılır– “C:\\inetpub\\wwwroot\\”– @“C:\inetpub\wwwroot\”– “A short list:\nitem 1\nitem 2”– @“A short list:

item 1item 2”

24

Page 25: B TP205  –  Görsel Programlama

Değişken Tanımlama ve Değer Atama

• int age;• age = 25;• int age = 25;• int xSize, ySize;• int xSize = 4, ySize = 5;• int xSize, ySize = 5;

25

Page 26: B TP205  –  Görsel Programlama

Operatörler

• Toplama, çıkarma vb. işlemler operatörler aracılığıyla yapılır

• Üç operatör kategorisi vardır:– Unary (tekli) – tek terim üzerinde işlem yapar– Binary (ikili) – iki terim üzerinde işlem yapar– Tertiary (üçlü) – üç terim üzerinde işlem yapar

26

Page 27: B TP205  –  Görsel Programlama

Matematiksel OperatörlerOperatör Kategori Örnek

+ Binary (ikili) var1 = var2 + var3;

– Binary (ikili) var1 = var2 – var3;

* Binary (ikili) var1 = var2 * var3;

/ Binary (ikili) var1 = var2 / var3;

% Binary (ikili) var1 = var2 % var3;

+ Unary (tekli) var1 = +var2;

– Unary (tekli) var1 = –var2;

27

% : mod (bölümünden kalan) operatörüÖrnek: 8 % 3 2.

Page 28: B TP205  –  Görsel Programlama

Artırma ve Azaltma OperatörleriOperatör Kategori Örnek

++ Unary (tekli) var1 = ++var2;

-- Unary (tekli) var1 = --var2;

++ Unary (tekli) var1 = var2++;

-- Unary (tekli) var1 = var2--;

28

Önce arttır,sonra atama yap

Önce atama yap, sonra arttır

Page 29: B TP205  –  Görsel Programlama

Alıştırma

int var1, var2 = 5, var3 = 6;var1 = var2++ * --var3;Console.WriteLine("var1={0}, var2={1}, var3={2}", var1, var2, var3);

29

var1=25, var2=6, var3=5

Page 30: B TP205  –  Görsel Programlama

Değişken Değerlerini Yazdırma

int var1 = 3, var2 = 5;Console.WriteLine("var1 = {0}, var2 = {1}", var1, var2);

30

var1 = 3, var2 = 5

Page 31: B TP205  –  Görsel Programlama

Değişken Değerlerini Yazdırma

int var1 = 3, var2 = 5;Console.WriteLine("{0}{1}{0}{1}{1}", var1, var2);

31

35355

Page 32: B TP205  –  Görsel Programlama

Metinleri (string) Okuma

string userName;Console.Write("İsminiz: ");userName = Console.ReadLine();Console.WriteLine("Hoş geldin {0}!", userName);

32

İsminiz: BilgeHoş geldin Bilge!

Page 33: B TP205  –  Görsel Programlama

Tamsayıları (int) Okuma

• int age;• Console.WriteLine("Yasiniz: ");• age = int.Parse(Console.ReadLine());• Console.WriteLine("Yasiniz {0}.", age);

33

Eşdeğer kod:Convert.ToInt32(Console.ReadLine());

Page 34: B TP205  –  Görsel Programlama

Double değerleri okuma

• double w;• Console.WriteLine("Agirliginiz (kg.): ");• w = double.Parse(Console.ReadLine());• Console.WriteLine("{0} kilogramsiniz", w);

34

Equivalent code:Convert.ToDouble(Console.ReadLine());

Page 35: B TP205  –  Görsel Programlama

Atama OperatörleriOperatör Örnek Eşdeğeri

= var1 = var2;

+= var1 += var2; var1 = var1 + var2;

-= var1 -= var2; var1 = var1 – var2;

*= var1 *= var2; var1 = var1 * var2;

/= var1 /= var2; var1 = var1 / var2;

%= var1 %= var2; var1 = var1 % var2;

35

Page 36: B TP205  –  Görsel Programlama

Operatör ÖncelikleriÖncelik Operatörler

En yüksek ++, -- (son ek olarak), +, - (unary)

*, /, %

+, -

=, *=, /=, %=, +=, -=

En düşük ++, -- (ön ek olarak)

36

Page 37: B TP205  –  Görsel Programlama

Ad Alanları (Namespaces)

• Hazır kütüphaneleri sağlamanın .NET yolu– C ve C++’daki başlık (header) dosyaları– Java’daki paketler

• .NET sınıfları ad alanlarında gruplanmıştır– Sin, Cos, Atan, Acos, Pi, Sqrt, vb. Math ad alanı– Int32, Double, vb. System ad alanı– Windows Forms sınıfları System.Windows.Forms– Kayıt defteri (registry) operasyonları Microsoft ad alanı

• Programlarınızı ya da DLL’lerinizi ayrı bir ad alanı içinde yazabilirsiniz, örneğin şirketinizin isminde

37

Page 38: B TP205  –  Görsel Programlama

Akış Kontrolü

• Dallanma (if, switch, üçlü operatörler)• Döngüler (for, while, do-while, foreach)

38

Page 39: B TP205  –  Görsel Programlama

Karşılaştırma OperatörleriOperatör Anlamı

== Eşittir

!= Eşit değildir

< Küçüktür

> Büyüktür

<= Küçük eşittir

>= Büyük eşittir

39

Page 40: B TP205  –  Görsel Programlama

Boolean Değişkenler

• Boolean bir değişken doğru ya da yanlış değerleriniz alabilir– bool isWhite = true;– isWhite = false;

• Karşılaştırma sonuçları boolean değişkenlerde tutulabilir– bool isLong = (height > 195);– bool isWhite = (color == Color.White);

40

Page 41: B TP205  –  Görsel Programlama

Temel Mantık OperatörleriOperatör Adı Örnek

&& AND – VE (a > 0) && (a < 10)

|| OR – VEYA (a <= 0) || (a >= 10)

! NOT – DEĞİL !(a < 100)

41

Page 42: B TP205  –  Görsel Programlama

‘Eğer’ İfadeleri

int height;Console.Write("Boyunuzu giriniz (cm.) ");height = int.Parse(Console.ReadLine());if (height > 190) Console.WriteLine("Siz uzun bir kişisiniz!");else Console.WriteLine("Boyunuz normaldir!");

42

Page 43: B TP205  –  Görsel Programlama

‘Eğer’ İfadeleri

if (koşul) <koşul doğru ise çalıştırılacak ifadeler>;

if (koşul){ <ifade 1>; <ifade 2>;}

43

Page 44: B TP205  –  Görsel Programlama

if..else

if (koşul) < koşul doğru ise çalıştırılacak ifadeler>;else < koşul yanlış ise çalıştırılacak ifadeler >;

• Birden fazla ifade yer alırsa süslü parantez kullanınız.

44

Page 45: B TP205  –  Görsel Programlama

‘if’ üzerine..

• Parantezler (‘(’ and ‘)’) mutlaka gereklidir• Süslü parantezler (‘{’ and ‘}’) birden fazla ifade var

ise kullanılmalıdır:if (test){ ifade1; ifade2;}

• else kısmı atılabilir• if ifadeleri iç içe yazılabilir

45

Page 46: B TP205  –  Görsel Programlama

Örnek: 3 sayıdan en küçüğünü bulma

int a, b, c, min;Console.WriteLine("3 sayi giriniz:");Console.Write("a = ");a = int.Parse(Console.ReadLine());Console.Write("b = ");b = int.Parse(Console.ReadLine());Console.Write("c = ");c = int.Parse(Console.ReadLine());

if (a < b){ if (a < c) min = a; else

min = c;}else{ if (b < c) min = b; else min = c;}

Console.WriteLine(«En kucuk sayi {0}.", min);

46

Page 47: B TP205  –  Görsel Programlama

Koşulları kontrol etmeif (var1 == 1) { // bir şeyler yap.}else { if (var1 == 2) { // başka bir şeyler yap. } else { if (var1 == 3 || var1 == 4) { // başka bir şeyler yap. } else { // başka bir şeyler yap. } }

}

if (var1 == 1) { // bir şeyler yap.}else if (var1 == 2) { // başka bir şeyler yap.}else if (var1 == 3 || var1 == 4) { // başka bir şeyler yap.}else { // başka bir şeyler yap.}

47

Page 48: B TP205  –  Görsel Programlama

Sık karşılaşılan hatalar

• if (var1 = 1) {…}• if (var1 == 1 || 2) {…}

48

Page 49: B TP205  –  Görsel Programlama

‘switch’ İfadeleriswitch (<testDegiskeni>){ case <karsilastirmaDegeri1>: <eğer <testDegiskeni > == <karsilastirmaDegeri1> ise calistirilacak ifadeler> break; case < karsilastirmaDegeri2>: <eğer <testDegiskeni > == <karsilastirmaDegeri2> ise calistirilacak ifadeler> break; . . . case <karsilastirmaDegeriN>: <eğer <testDegiskeni > == <karsilastirmaDegeriN> ise calistirilacak ifadeler> break; default: <eğer <testDegiskeni> != karsilastirmaDegerleri ise calistirilacak ifadeler> break;}

49

Page 50: B TP205  –  Görsel Programlama

Örnek 1switch (var1){ case 1: // Bir şey yap. break; case 2: // Başka bir şey yap. break; case 3: case 4: // Başka bir şey yap. break; default: // Başka bir şey yap. break;}

50

Page 51: B TP205  –  Görsel Programlama

Örnek 2switch (secim){ case 1: Console.WriteLine(“1 sectiniz”); break; case 2: Console.WriteLine(“2 sectiniz”); break; case 3: Console.WriteLine(“3 sectiniz”); break; default: Console.WriteLine(“1 ile 3 arasinda bir tamsayi seciniz.”); break;}

51

Page 52: B TP205  –  Görsel Programlama

switch Örneğiswitch (mtnMeslek){ case "ogretmen": MessageBox.Show("Siz cocuklari egitiyorsunuz"); break; case "programci": MessageBox.Show("Siz muhtemelen zeki ama anti-sosyalsiniz"); break; case «muhasebeci": MessageBox.Show("Siz bir sayma makinesisiniz"); break; default: MessageBox.Show("switch ifadesine uyan meslek bulunamadi"); break;}

52

C dilinde yalnızca tamsayı değerler

koşul olarak kullanılabilir, ancak C# dilinde, metinler

de kullanılabilir.

break kullanmayi unutmayiniz!

Page 53: B TP205  –  Görsel Programlama

Örnek 3switch (mtnHayvan){ case “kus”: Console.WriteLine(“2 bacagi vardir.”); break; case “at”: case “kopek”: case “kedi”: Console.WriteLine(“4 bacagi vardir.”); break; case “kirkayak”: Console.WriteLine(“40 bacagi vardir.”); break; case “yilan”: Console.WriteLine(“Hic bacagi yoktur.”); break; default: Console.WriteLine(“Bu hayvanı bilmiyorum!”); break;} 53

Page 54: B TP205  –  Görsel Programlama

Üçlü Operatör

• ? :• <test> ? <DogruİseSonuc> : < YanlisİseSonuc >• 3 operand üzerinde çalıştığı için Tertiary denir

(unary ve binary operatörler sırasıyla 1 ve 2 operand üzerinde çalışırlar)

• Örnek:– if (a < b) min = a; else min = b;– min = (a < b) ? a : b;

54

Page 55: B TP205  –  Görsel Programlama

Döngüler

55

Page 56: B TP205  –  Görsel Programlama

for Döngüsü

for (öndeğerleme; koşul; değiştirme_ifadesi){ <ifadeler>}• Örnek:for (i = 0; i < 10; i++) { Console.WriteLine("i = " + i.ToString());}

56

Page 57: B TP205  –  Görsel Programlama

while Döngüsü

while (koşul){ <ifadeler>}

57

Page 58: B TP205  –  Görsel Programlama

do-while Döngüsü

do{ <ifadeler>} while (koşul);

58

Page 59: B TP205  –  Görsel Programlama

foreach Döngüsü

foreach (<tip> <ad> in <liste>){ <ifadeler>}

59

Page 60: B TP205  –  Görsel Programlama

for döngüsü ile ayları yazdırma

string[] aylar = new string[] {"Ocak", "Şubat", "Mart", "Nisan", "Mayis", "Haziran", "Temmuz", "Agustos", "Eylul", "Ekim", "Kasim", "Aralik" };

for (int i = 0; i < months.Length; i++){ MessageBox.Show(months[i]);}

60

Page 61: B TP205  –  Görsel Programlama

foreach döngüsü ile ayları yazdırma

string[] aylar = new string[] {"Ocak", "Şubat", "Mart", "Nisan", "Mayis", "Haziran", "Temmuz", "Agustos", "Eylul", "Ekim", "Kasim", "Aralik" };

foreach (string ay in aylar){ MessageBox.Show(ay);}

61

Page 62: B TP205  –  Görsel Programlama

Alıştırma

• İlk 10 asal sayıyı ekrana yazan bir program yazınız.

62

Page 63: B TP205  –  Görsel Programlama

Döngüleri kesmek

• break – döngüyü derhal bitirir• continue – döngünün o anki çevrimini bitirir• return – fonksiyondan geri döner• goto – belirlenmiş bir noktaya sıçrar (kullanmayın)

63

Page 64: B TP205  –  Görsel Programlama

Sonsuz Döngüler

while (true){ …}

64

Page 65: B TP205  –  Görsel Programlama

Örnekint sayi;while (true){ Console.Write(“1 ile 100 arasinda bir sayi giriniz: ”); sayi = Convert.ToInt32(Console.ReadLine()); if (sayi >= 1 && sayi <= 100) break; else { Console.WriteLine(“1 ile 100 arasinda girmelisiniz.”); Console.WriteLine(“Lütfen tekrar deneyin!\n”); }}

65

Page 66: B TP205  –  Görsel Programlama

Bitwise Operatörler

• & (Bitwise AND)• | (Bitwise OR)• ~ (Bitwise NOT)• ^ (Bitwise XOR)

66

Page 67: B TP205  –  Görsel Programlama

Örnekler

• 0110 & 0101 = 0100 (1&1=1, aksi taktirde 0)• 0110 | 0101 = 0111 (0|0=0, aksi taktirde 1)• 0110 ^ 0101 = 0011 (aynı0, farklı1)• ~0110 = 1001 (01, 10)

67

Page 68: B TP205  –  Görsel Programlama

Kaydırma Operatörleri

• >> (Sağa kaydır)• << (Sola kaydır)• >>=• <<=

68

Page 69: B TP205  –  Görsel Programlama

Sonuçlar

• int a = 16;• int b = a >> 2; // b 4 olur• int c = a << 4; // c 256 olur• a >>= 2; // a 4 olur• a <<= 4; // a 64 olur

69