BTP205 – Görsel Programlama

Slides:



Advertisements
Benzer bir sunumlar
el ma 1Erdoğan ÖZTÜRK ma ma 2 Em re 3 E ren 4.
Advertisements

Prof.Dr.Şaban EREN Yasar Üniversitesi Fen-Edebiyat Fakültesi
Fonksiyonlar.
Değişken , Veri Türleri ve Operatörler
Değişkenler ve bellek Değişkenler
DOĞAL SAYILAR.
JavaScript Birinci Hafta.
T.C. İNÖNÜ ÜNİVERSİTESİ Arapgir Meslek YÜKSEKOKULU
Atlayarak Sayalım Birer sayalım
BEIER CÜMLE TAMAMLAMA TESTİ
Diferansiyel Denklemler
ÖRNEKLEME DAĞILIŞLARI VE TAHMİNLEYİCİLERİN ÖZELLİKLERİ
Atama ve Girdi/Çıktı Komutları
Bölüm 4 – Kontrol İfadeleri:1.kısım
4 Kontrol Yapıları: 1.Bölüm.
Bölüm 2: Program Denetimi
BPR151 ALGORİTMA VE PROGRAMLAMA - I
OOP4 LAB.
KIR ÇİÇEKLERİM’ E RakamlarImIz Akhisar Koleji 1/A.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
BPR151 ALGORİTMA VE PROGRAMLAMA - I
DEĞİŞKENLER VERİ TÜRLERİ ve OPERATÖRLER
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
HİSTOGRAM OLUŞTURMA VE YORUMLAMA
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Prof. Dr. Leyla Küçükahmet
Karar ifadeleri ve Döngüler
Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Hazırlayan : Nuri AVCI
HAZIRLAYAN:SAVAŞ TURAN AKKOYUNLU İLKÖĞRETİM OKULU 2/D SINIFI
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bölüm 3 – Yapısal Programlama
ÖRNEKLEM VE ÖRNEKLEME Dr.A.Tevfik SÜNTER.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
TÜRKİYE KAMU HASTANELERİ KURUMU
Yapısal Program Geliştirme – if, if-else
C# İle Veri Yapıları Ve Programlama
Operatörler ve Denetim Yapıları
BPR152 ALGORİTMA VE PROGRAMLAMA - II
.Net teknolojisi ve C# Yasin Gedik Dokuz Eylül Üniversitesi (4. Sınıf) Microsoft Danışman Öğrenci
C ile Programlamaya Giriş
BPR152 ALGORİTMA VE PROGRAMLAMA - II
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Bölüm 2 – Kontrol Yapıları
4 X x X X X
Koşul İfadeleri ve Akış Kontrolü Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini.
Mukavemet II Strength of Materials II
Akış Kontrol Mekanizmaları
Chapter 6: Using Arrays.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller Aslı Ergün.
Chapter 4: Making Decisions
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 2: Koşula Göre İşlem Yapma
Değişkenler bellekte bulunan verilerdir. Değer tipleri veriyi direk olarak bellek bölgesinden alırken, Referans tipleri başka bir nesneye referans gösterirler.
Çoklu dallanma seçimi: switch
ANA BABA TUTUMU ENVANTERİ
1 DEĞİŞMEYİN !!!
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Mantıksal Operatörler ve Denetim Yapıları
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
HAYAT BİLGİSİ SORULARI.
ÇOK DEĞİŞKENLİ FONKSİYONLARDA
Diferansiyel Denklemler
PROGRAM DENETİM DEYİMLERİ
String class String karakterler dizisidir
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller
Değerler ve Değişkenler
Nesne Tabanlı Programlama 2
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
2. HAFTA 2. Hafta.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Sunum transkripti:

BTP205 – Görsel Programlama C# Temelleri

Bugün… Değişkenler ve İfadeler Akış kontrolü Yorumlar Değişkenler Operatörler Namespaces (Ad alanları) Akış kontrolü if, switch while, do-while, for, foreach İkili operatörler

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

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ı

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

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

Tamsayı Tipleri (integer) 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ı short System.Int16 –32768 ve 32767 aralığında tamsayı 2 ushort System.UInt16 0 ve 65535 aralığında tamsayı 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ı long System.Int64 –9223372036854775808 ve 9223372036854775807 aralığında tamsayı 8 ulong System.UInt64 0 ve 18446744073709551615 aralığında tamsayı u: unsigned-işaretsiz s: signed-işaretli

Noktalı Sayı Tipleri (Floating Point) Diğer Adı Aralığı Byte sayısı float System.Single 4 double System.Double 8 decimal System.Decimal 16

Hassasiyet Tip Hassasiyet float 7-8 basamak double 15-16 basamak decimal 28 basamak Decimal veri tipi genellikle daha yüksek hassasiyet isteyen para birimleri için kullanılır!

Char veri tipinin 2 byte ve Unicode olarak saklandığına dikkat ediniz! Diğer Basit Tipler Tip 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 Char veri tipinin 2 byte ve Unicode olarak saklandığına dikkat ediniz!

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); } Burada iki değişken tanımlanıyor Değişkenlere Değerler atanıyor Değişkenler ekrana yazdırılıyor. "myInteger" is 17.

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

Bazı Console.WriteLine() Suretleri

Ekrana bir int yazdırma int x = 17, y = 25; Console.WriteLine(x); Console.WriteLine(x.ToString()); Console.Write(“x = ”); Console.WriteLine(“x = ” + x); Console.WriteLine(“x = ” + x.ToString()); Console.WriteLine(“x = {0}, y = {1}.”, x, y); 17 x = 17 x = 17, y = 25.

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

Örnek: Geçerli Değişken İsimleri myBigVar VAR1 _test i myVariable MyVariable MYVARIABLE

Örnek: Geçersiz Değişken İsimleri a+b 99bottles namespace double my-result

Anahtar Kelimeler abstract 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

C# Bağlamsal Anahtar Kelimeler add 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 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.

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

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

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

Ö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

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 1 item 2”

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;

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

Matematiksel Operatörler Kategori Örnek + Binary (ikili) var1 = var2 + var3; – var1 = var2 – var3; * var1 = var2 * var3; / var1 = var2 / var3; % var1 = var2 % var3; Unary (tekli) var1 = +var2; var1 = –var2; % : mod (bölümünden kalan) operatörü Örnek: 8 % 3  2.

Artırma ve Azaltma Operatörleri Kategori Örnek ++ Unary (tekli) var1 = ++var2; -- var1 = --var2; var1 = var2++; var1 = var2--; Önce arttır, sonra atama yap Önce atama yap, sonra arttır

Alıştırma var1=25, var2=6, var3=5 int var1, var2 = 5, var3 = 6; var1 = var2++ * --var3; Console.WriteLine("var1={0}, var2={1}, var3={2}", var1, var2, var3); var1=25, var2=6, var3=5

Değişken Değerlerini Yazdırma int var1 = 3, var2 = 5; Console.WriteLine("var1 = {0}, var2 = {1}", var1, var2); var1 = 3, var2 = 5

Değişken Değerlerini Yazdırma int var1 = 3, var2 = 5; Console.WriteLine("{0}{1}{0}{1}{1}", var1, var2); 35355

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

Tamsayıları (int) Okuma int age; Console.WriteLine("Yasiniz: "); age = int.Parse(Console.ReadLine()); Console.WriteLine("Yasiniz {0}.", age); Eşdeğer kod: Convert.ToInt32(Console.ReadLine());

Double değerleri okuma double w; Console.WriteLine("Agirliginiz (kg.): "); w = double.Parse(Console.ReadLine()); Console.WriteLine("{0} kilogramsiniz", w); Equivalent code: Convert.ToDouble(Console.ReadLine());

Atama Operatörleri Operatör Örnek Eşdeğeri = 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;

Operatör Öncelikleri Öncelik Operatörler En yüksek ++, -- (son ek olarak), +, - (unary) *, /, % +, - =, *=, /=, %=, +=, -= En düşük ++, -- (ön ek olarak)

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

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

Karşılaştırma Operatörleri Anlamı == Eşittir != Eşit değildir < Küçüktür > Büyüktür <= Küçük eşittir >= Büyük eşittir

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);

Temel Mantık Operatörleri Adı Örnek && AND – VE (a > 0) && (a < 10) || OR – VEYA (a <= 0) || (a >= 10) ! NOT – DEĞİL !(a < 100)

‘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!");

‘Eğer’ İfadeleri if (koşul) <koşul doğru ise çalıştırılacak ifadeler>; { <ifade 1>; <ifade 2>; }

if..else if (koşul) < koşul doğru ise çalıştırılacak ifadeler>; < koşul yanlış ise çalıştırılacak ifadeler >; Birden fazla ifade yer alırsa süslü parantez kullanınız.

‘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

Ö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; } if (b < c) min = b; Console.WriteLine(«En kucuk sayi {0}.", min);

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

Sık karşılaşılan hatalar if (var1 = 1) {…} if (var1 == 1 || 2) {…}

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

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

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

break kullanmayi unutmayiniz! switch Örneği C dilinde yalnızca tamsayı değerler koşul olarak kullanılabilir, ancak C# dilinde, metinler de kullanılabilir. switch (mtnMeslek) { case "ogretmen": MessageBox.Show("Siz cocuklari egitiyorsunuz"); break; case "programci": MessageBox.Show("Siz muhtemelen zeki ama anti-sosyalsiniz"); case «muhasebeci": MessageBox.Show("Siz bir sayma makinesisiniz"); default: MessageBox.Show("switch ifadesine uyan meslek bulunamadi"); } break kullanmayi unutmayiniz!

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

Üç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;

Döngüler

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());

while Döngüsü while (koşul) { <ifadeler> }

do-while Döngüsü do { <ifadeler> } while (koşul);

foreach Döngüsü foreach (<tip> <ad> in <liste>) { <ifadeler> }

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]); }

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); }

Alıştırma İlk 10 asal sayıyı ekrana yazan bir program yazınız.

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)

Sonsuz Döngüler while (true) { … }

Örnek int 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”); }

Bitwise Operatörler & (Bitwise AND) | (Bitwise OR) ~ (Bitwise NOT) ^ (Bitwise XOR)

Örnekler 0110 & 0101 = 0100 (1&1=1, aksi taktirde 0) 0110 ^ 0101 = 0011 (aynı0, farklı1) ~0110 = 1001 (01, 10)

Kaydırma Operatörleri >> (Sağa kaydır) << (Sola kaydır) >>= <<=

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