Archive for Mart 2013
C# Dilinde Metodlar
Metod Nedir? Ne İşe Yarar?
Önce metodun ne olduğunu öğrenelim. Metod, iş yapan komut parçacıklarıdır. En kısa şekilde tanımlamak istersek herhalde en doğrusu bu olur.Örnek verecek olursak, Console sınıfının altında yer alan ReadLine() ve WriteLine() birer metodtur.
Kafamızda daha iyi canlanması için günlük hayattan bir örnek verelim.
Bir şirketin Muhasebe, Sekreterlik ve Temizlik işini de yapan şirket sahibini düşünelim. Ahmet bey, birgün keşke benim işim sadece Muhasebe ile ilgilenmek olsaydı deyip, şirkete bir temizlikçi ve bir tanede sekreter alırsa bir problemin parçalara ayrılarak sonucunu bulunmasını sağlamış olur. Yani şirketin yönetimi ile ilgilenerek verdiği komutlar ile temizlikçiyi ve sekreteri yönlendirmiş olur. Ahmet Bey'in yapması gereken tek şey temizlikçiyi kontrol edip sekretere şunu ara ve şunları söyle demesidir.
Bu verdiğim örneği metod ile ilişkilendirecek olursak, Console ekranında yazdığımız main bloğu Ahmet Bey'in metodları öğrenmeden önceki halidir. Toplama işleminide faktöriyel hasaplamayıda main bloğu içinde yapan ve yaptığı işleri her zaman tekrarlayan bu nedenle çok yorulan bir şirket sahibi :)
Peki bir temizlikçi alsa ve her seferinde temizlemektense senin işin burayı temizlemek deyip kendi işine bakarsa daha iyi olmaz mıydı? O zaman bizde hemen temizlikçiyi alalım. Hemen bir temizle metodu yazarak istediğimiz zaman çağıralım.
Umarım kafanızda bir şeyler canlanmıştır.
C# Dilinde Metodlar
[erişim belirleyici] [dönen değerin türü] [metod adı] ([metoda gelen değişkenler ve türleri]){
Metodun Gövdesi....
}
Yukarıda gördüğünüz şekil bir metodun yapısını oluşturur.
Erişim Belirleyici : Metoda dışarıdan ulaşılıp ulaşılamayacağını.
Dönen Değerin Türü : Metodun geriye döndüreceği değerin türü. Değer döndürmüyorsa void'tir.
Metod Adı : Metoda dışarıdan ulaşılacak ismi.
Gelen Değişkenler : Metodun dışarıdan alacağı değerler ve türlerdir.
Örnek : 5 ile 6 sayılarını toplayan ve aynı sayıların faktöriyellerinin toplamını bulan programı yazınız?
Çözümü metodları kullanmadan yazarsak;
static void Main(string[] args)
{
int s1 = 5;
int s2 = 6;
Console.WriteLine(s1+s2);
int fakt5 = 1;
for (int i = 1; i <=5; i++)
{
fakt5 *= i;
}
int fakt6 = 1;
for (int j = 1; j <= 6; j++)
{
fakt6 *= j;
}
Console.WriteLine(fakt5+fakt6);
Console.ReadLine();
}
Şimdi de Metodlarımızı kullanarak, gereksiz yazacaklaramızdan kurtulalım.
class Program
{
private static int topla(int s1, int s2)
{
int sonuc = s1 + s2;
return sonuc;
}
private static int fakt(int sayi)
{
int sonuc = 1;
for (int i = 1; i <=sayi; i++)
{
sonuc *= i;
}
return sonuc;
}
static void Main(string[] args)
{
Console.WriteLine(topla(5,6));
Console.WriteLine(topla(fakt(5),fakt(6)));
Console.ReadLine();
}
}
17 Mart 2013 Pazar
Posted by omerfarukkaya
Çok Boyutlu Dizi C#
10
|
5
|
15
|
20
|
15
|
25
|
20
|
20
|
5
|
8
|
2
|
10
|
50
|
80
|
25
|
(3,4) bir dizimiz olsun bu dizinin satırları toplamını veren programı yazınız.
int[,] dizi = new int[3, 4];
dizi[0, 0] = 10; dizi[0, 1] = 5; dizi[0, 2] = 15; dizi[0, 3] = 20;
dizi[1, 0] = 15; dizi[1, 1] = 25; dizi[1, 2] = 20; dizi[1, 3] = 20;
dizi[2, 0] = 5; dizi[2, 1] = 8; dizi[2, 2] = 2; dizi[2, 3] = 10;
int sat = 0;
for (int i = 0; i <=2; i++)
{
for (int j = 0; j < 4; j++)
{
sat = sat + dizi[i, j];
}
Console.WriteLine(i + 1 + ". satırın toplamı " + sat + " ");
sat = 0;
}
(3,4) bir dizimiz olsun bu dizinin sütunları toplamını veren programı yazınız.
int[,] dizi = new int[3, 4];
dizi[0, 0] = 10; dizi[0, 1] = 5; dizi[0, 2] = 15; dizi[0, 3] = 20;
dizi[1, 0] = 15; dizi[1, 1] = 25; dizi[1, 2] = 20; dizi[1, 3] = 20;
dizi[2, 0] = 5; dizi[2, 1] = 8; dizi[2, 2] = 2; dizi[2, 3] = 10;
int sut = 0;
for (int i = 0; i <=3; i++)
{
for (int j = 0; j <=2; j++)
{
sut = sut + dizi[j,i];
}
Console.WriteLine(i + 1 + ". satırın toplamı " + sut + " " + i + 1 + ". sütunun toplamı : " + sut);
sut = 0;
}
30
|
38
|
37
|
50
|
(3,4) bir dizimiz olsun bu dizinin sütunları toplamını veren programı yazınız.
int[,] dizi = new int[3, 4];
dizi[0, 0] = 10; dizi[0, 1] = 5; dizi[0, 2] = 15; dizi[0, 3] = 20;
dizi[1, 0] = 15; dizi[1, 1] = 25; dizi[1, 2] = 20; dizi[1, 3] = 20;
dizi[2, 0] = 5; dizi[2, 1] = 8; dizi[2, 2] = 2; dizi[2, 3] = 10;
int sut = 0;
for (int i = 0; i <=3; i++)
{
for (int j = 0; j <=2; j++)
{
sut = sut + dizi[j,i];
}
Console.WriteLine(i + 1 + ". satırın toplamı " + sut + " " + i + 1 + ". sütunun toplamı : " + sut);
sut = 0;
}
16 Mart 2013 Cumartesi
Posted by omerfarukkaya
Bir Diziyi Ters Çevirme
Bu örneğimizde dizimiz başka bir diziye tersten atanır.
int[] dizi = new int[10];
int[] tdizi = new int[10];
int s=9;
Console.WriteLine("******** Normal Dizimzi ***********");
for (int i = 0; i <=9; i++)
{
dizi[i] = i + 1;
Console.Write(dizi[i] + " ");
tdizi[s] = dizi[i];
s--;
}
Console.WriteLine();
Console.WriteLine("******** Ters Dizimzi ***********");
for (int j = 0; j < dizi.Length; j++)
{
Console.Write(tdizi[j]+" ");
}
Console.ReadLine();
Bir diziyi kendi içinde ters çeviren program
int syc = dizi.Length - 1;
int a = dizi.Length - 1;
for (int i = 0; i >= dizi.Length / 2; i++)
{
a = dizi[syc - i];
dizi[syc - i] = dizi[i];
dizi[i] = a;
}
for (int j = dizi.Length-1; j >=0; j--)
{
Console.WriteLine(dizi[j]);
}
Posted by omerfarukkaya
Çift ve Tek Sayıları Ayrı Dizilere Aktarma
1 ile 10 arasındaki sayılardan çift ve tek olanları ayırıp, tek sayıları hafızada tutan ve çift sayıları da hafızada tutan iki ayrı diziye aktarıp ekranda gösterme.
int[] cdizi = new int[5];
int[] tdizi = new int[5];
int sc = 0;
int st = 0;
for (int i = 1; i <= 10; i++)
{
if (i % 2 == 0)
{
cdizi[sc] = i;
sc++;
}
else
{
tdizi[st] = i;
st++;
}
}
Console.WriteLine("***********Çift Elemanlar**********");
for (int j = 0; j < cdizi.Length; j++)
{
Console.Write(cdizi[j] + " ");
}
Console.WriteLine("\n***********Tek Elemanlar**********");
for (int k = 0; k < tdizi.Length; k++)
{
Console.Write(tdizi[k] + " ");
}
Console.ReadLine();
Tek Boyutlu Dizi Oluşturma Mantığı ve Syntax'ı
Tek boyutlu bir dizi nasıl oluşturulur?
int[] dizi = new int[3] { 1, 5, 9 };
İsterseniz bu oluşturduğumuz diziyi ekrana yazdırıp elemanlarını kontrol edebilirsiniz. Ancak dikkat etmeniz gereken şey dizi mantığına uygun şekilde hafızadaki adresi doğru gösterebilmektir.
Örneğin; dizi[0] diye yazdığımızda istediğimiz elemanın 1 olduğunu yazmış oluruz. dizi[2] yazığımızda ise istenilen eleman 9'dur. Yani 3 elemanlı bir dizinin indexleri 0,1 ve 2'dir.
Yukardaki örneğimiz dizinin elemanlarını kendisi manual olarak atar. Peki 50 elemanlı bir dizi oluşturmak istersek bunu tek tek yazmamız ne kadar mantıklı olur. Bunu önlemek için, sıradaki örneğimizde elemanları döngü yardımı ile atayacağız.
döngü ile dizi oluşturma ve elemanlarını console ekranına yazdırma
int[] dizi = new int[10];
for (int i = 0; i < dizi.Length ; i++)
{
dizi[i]=i+1;
Console.Write(dizi[i]+" ");
}
Console.ReadLine();
bir dizinin elemanlarını toplayan ve sonucu ekranda gösteren program
int[] dizi = new int[10];
int top = 0;
for (int i = 0; i < dizi.Length ; i++)
{
dizi[i]=i+1;
top = top + dizi[i];
}
Console.WriteLine(top);
Console.ReadLine();
C# Ebob ve Ekok Bulma
Bu gün de yine basit bir matematik işlemi olan ebob-ekok bulma işleminin Csharpkodunu sizlerle paylaşacağım. Ebob ve ekok kavramlarının matematiksel boyutunu anlatmaya gerek olmadığını düşünerek, programdan biraz bahsetmek istiyorum. Program, klavyeden girilen iki sayının ebob ve ekok değerlerini buluyor.
Console.WriteLine("sayi1");
int s1 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("sayi2");
int s2 = Convert.ToInt16(Console.ReadLine());
int k = 0;
if (s1 > s2)
{
k = s2;
}
else if (s2 > s1)
{
k = s1;
}
else
{
k = s1;
}
int ebob = 1;
for (int i = 2; i <= k; i++)
{
if (s1 % i == 0 && s2 % i == 0)
{
if (ebob < i)
{
ebob = i;
}
}
}
Console.WriteLine("EBOB : " + ebob);
Console.WriteLine("EKOK : "+ (s1*s2)/ebob);
Console.ReadLine();
Sık Kullanılan HTML Tagları(Etiketleri)
1-) HTML etiketleri < > arasına yazılır.
2-) Bir web sayfası, <html> etiketi ile başlar
3-) HTML dokümanına ait tanımlamaların yapıldığı etiket <head> dir.
4-) HTML dokümanının başlık çubuğunda yer alacak başlık yazısı <title> etiketleri arasına yazılır.
5-) HTML dokümanının esas içerik kısmının yer aldığı etiket <body> dir.
6-) Alt satıra geçmek için kullanılan etiket, <br> dir.
7-) Başlık etiketlerinde yazı boyutu en büyük olan <h1> dir
8-) Bir çizgi eklemek için kullanılan etiket <hr> dir.
9-) Boşluk bırakmak için kullanılır.
10-) Link(Bağlantı) oluşturmak için <a> etiketi kullanılır.
11-) Oluşturulacak linke ait dosyanın belirlendiği HTML parametresi href dir.
12-) Linkin tıklanması durumunda sayfanın aynı pencere içerisinde açılmasını sağlayan HTML parametresi target = "_self" dir.
13-) Linkin tıklanması durumunda sayfanın yeni pencerede açılmasını sağlayan HTML parametresi target = "_blank" dir.
14-) Tablo oluşturmak için kullanılan HTML etiketi <table> dır.
15-) Tablo içerisinde satır açmak için kullanılan HTML etiketi <tr> dir.
16-) Tablo içerisinde sütun açmak için kullanılan HTML etiketi <td> dir.
17-) Tabloda aynı sütunları birleştirmeye yarayan parametre colspan dır.
18-) Bir tablonun arka planına resim yerleştirmek için kullanılan parametre background dur.
19-) Bir tablonun arka plan rengini değiştirmek için kullanılan parametre bgcolor dır.
20-) Bir tablonun kenarlık kalınlığını belirlemek için kullanılan parametre <border> dır.
21-) Paragraf için kullanılan HTML etiketi <p> dir.
22-) Bir yazıyı kalın(bold) yapmak için kullanılan HTML etiketi <b> dir.
23-) Sayfaya resim yerleştirmek için kullanılan HTML etiketi <img> dir.
24-) Mail adres bağlantısı <a href ="mailto:cuybs@outlook.com"> cuybs@outlook.com </a> dır.
25-) Resmin kaynağını belirtmek için kullanılan HTML parametresi src dir.
26-) Mouse ile resmin üzerine gelindiğinde çıkması istenilen bir mesajın çıkmasını sağlayan HTML parametresi alt dır.
27-) Bir tablo veya resmin genişliğini ayarlamaya yarayan HTML parametresi width dir.
28-) Bir tablo veya resmin yüksekliğini ayarlamaya yarayan HTML parametresi height dir.
29-) Bir yazının yazı tipi karakterini değiştirmeye yarayan parametre face dir.
30-) Kayan yazı oluşturmak için kullanılan HTML etiketi <marquee> dir.
31-) Bir form oluşturmak için kullanılan HTML etiketi <form> dur.
15 Mart 2013 Cuma
Posted by omerfarukkaya
Veritabanı ders-12
Örnek : Personel isimli tabloda her bir unvankodlu personel içinde en düşük ücret alanı listeleyen sorguyu yazınız?
select MIN(maas), unvankod
from personel
group by unvankod;
Eğer bizden maaşı 1000'e eşit olanların sayılarını ve unvankodlarını listeleyen sorgu istenmiş olsaydı;
select COUNT(maas), unvankod
from personel
group by unvankod
having maas = 1000
Veritabanı ders-11
UPDATE KULLANIMI
Update, kayıtlı bir veriyi güncellemek için kullanılır. Set ile yeni değeri belirtip, Where kısmında ise değişecek değerler yazılır.
Örnek : Personel isimli tablodaki unvankodu 5 ve unvankodu 6 olanların maaşlarını 1000 yapan sorguyu yazınız?
Örnek : Personel isimli tablodaki unvankodu 5 ve unvankodu 6 olanların maaşlarını 1000 yapan sorguyu yazınız?
set maas = 1000
where unvankod = 5
and
unvankod = 6;
Veritabanı ders-10
INSERT INTO Personel(Ad, Soyad, il, yas)
VALUES('Ömer Faruk', 'KAYA', 'BİNGÖL' , 22);
Yukarıdaki sorgu ile Personel tablosunun; Ad, Soyad, il ve yas alan adlarına, values satırında belirttiğimiz değerleri aktarır. Dikkat edilirse, 1. satırda yazılı olan alan adlarının sırası ile 2. satırdaki yazılan değerlerin sırası aynıdır. Eğer sıra farklı olur ise, örneğin; il alan adına karşılık yaş değeri yazılmış olsaydı, string verileri kabul eden bir alan adına integer değer atamaya çalışılmış olacak ve doğal olarak hata verecekti.
INSERT INTO Personel
VALUES('Ömer Faruk', 'KAYA', 22, 'BİNGÖL' );
Yukarıdaki örneğin farkı ise; bir tablo oluşturulduğu zaman alan adlarından hangisi önce oluşturulduysa o alan adı values satırında öncelikli değerdir. O zaman personel tablomuzun alan adları şu şekilde oluşturulmuştur;
Personel(Ad, Soyad, yas, il) sıralamasında oluşturulmuştur.
Peki değer eklemek istediğimiz alan adları sadece ad ve soyad olsaydı aynı zamanda yas ve il bilgisine hiçbir değer eklemek istemeseydik sorguyu nasıl yazabilirdik?
INSERT INTO Personel
VALUES('Ömer Faruk', 'KAYA', null, null );
Veritabanı ders-9
Örnek : Ömer Faruk'tan daha yüksek maaş alanları getiren sorguyu yazınız?
SELECT ad
FROM calisanlar
WHERE maas>
(SELECT maas
FROM calisanlar
WHERE ad = 'Ömer Faruk');
Yukardaki örnek bir subquery yani alt sorgu sorusudur.
Örnek : İş_id'si 143 olanın maaşından büyük olanların maaşını ve iş id'si 141 olanın meslektaşlarının ad meslek ve maaş bilgilerini getiren sorguyu yazınız?
SELECT ad, meslek, maas
FROM calisanlar
WHERE meslek =
(SELECT meslek
FROM calisanlar
WHERE is_id = 141)
AND maas >
(SELECT maas
FROM calisanlar
WHERE is_id = 143);