28 Nisan 2008 Pazartesi

Tamamen Ücretsiz Dosya Paylaşım Servisi

Yazılım Geliştirme ve Analiz

Bir yazılım projesinde "ne" yapılacağı "analiz" aşamasında belirlenir.

Yazılım geliştirme sadece kodlamaktan ibaret değildir. Bir problemin çözümü olarak nitelediğimiz yazılımların ne yapacağını ve nasıl yapacağını belirlediğimiz yani problemi tanımladığımız aşama “Analiz” aşamasıdır. Yazdığınız kod ancak isteneni doğru bir biçimde yerine getiriyorsa başarılı bir yazılımdır. Bu nedenle öncelikle yazılımdan ne istendiğinin doğru bir biçimde tanımlanması gerekir.

...

Devamı için tıklayın.

Yazılım Geliştirme ve Analiz

Bir yazılım projesinde "ne" yapılacağı "analiz" aşamasında belirlenir.
Yazılım geliştirme sadece kodlamaktan ibaret değildir. Bir problemin çözümü olarak nitelediğimiz yazılımların ne yapacağını ve nasıl yapacağını belirlediğimiz yani problemi tanımladığımız aşama “Analiz” aşamasıdır. Yazdığınız kod ancak isteneni doğru bir biçimde yerine getiriyorsa başarılı bir yazılımdır. Bu nedenle öncelikle yazılımdan ne istendiğinin doğru bir biçimde tanımlanması gerekir.

Yazılım geliştirmede kodlamaya başlamadan önceki aşamada ilk olarak genel bir kapsam çıkartılması gerekir. Bu kapsamla birlikte yazılımın üzerinde çalışacağı donanım bileşenlerini de kapsayacak şekilde bir sistem analizi yapılır. Ardından yazılım ve donanım gereksinimleri ana hatlarıyla belirlenince yazılım için proje planı yapılır, gerekiyorsa ekip oluşturulur ve sonrasında yazılım isterleri çözümlenmeye başlar.

İlk olarak yukarıdaki paragrafın anlamını biraz daha açık hale getirelim. Bu yazı boyunca kavramların ve işleyişin daha iyi anlaşılması açısından bir örnek üzerinden gideceğim. Bir diyetisyen için randevu sistemi. Her bir kavramı ve adımı bu örnekler için uygulanışını da okuduğunuzda daha iyi anlayacağınızı umuyorum. (... devamı ...)

18 Nisan 2008 Cuma

Hisse Senedi Maliyet Hesaplama Konsol Uygulaması

Aşağıdaki kodu yeni bir Console uygulaması başlatarak Main metodu içine yapıştırın.
----------------------------------------------------------------

double toplamHisseAdedi= 0;
double toplamMaliyet = 0;
Console.WriteLine("Alım bilgisi: [Adet - Fiyat]");
while (true)
{
// girilen metin alınıyor
string girilen = Console.ReadLine();
if (girilen.Trim() == "")
{
break;
}
// girilen metin "-" virgül karakterinden bölüyor
// ilk öğe adet, ikinci öğe fiyat
string[] degerler = girilen.Split('-');
double adet = int.Parse(degerler[0]);
double fiyat = double.Parse(degerler[1]);
// hisse sayısı toplanıyor
toplamHisseAdedi += adet;
// toplam maliyet bulunuyor
toplamMaliyet += fiyat * adet;
}
// Sonuç yazılıyor
Console.WriteLine("Toplam hisse senedi adedi= {0}", toplamHisseAdedi);
Console.WriteLine("Ortalama hisse senedi maliyeti= {0}",toplamMaliyet/ toplamHisseAdedi);
Console.WriteLine("Toplam hisse senedi maliyeti= {0}", toplamMaliyet);
//
Console.WriteLine();
Console.WriteLine("Uygulamadan çıkmak için [Enter] tuşuna basın.");
Console.ReadLine();

Artı ya da Tire İşaretiyle Ayrılmış Birden Fazla Sayıyı Toplayan Konson Uygulaması

Aşağıdaki kodu yeni bir Console uygulaması başlatarak Main metodu içine yapıştırın.
----------------------------------------------------------------------

int toplam = 0;
//
Console.WriteLine("Toplanacak sayıları girin");
// girilen metin alınıyor
string girilen = Console.ReadLine();
// metnin içindeki boşluklar alınıyor
girilen = girilen.Replace(" ", "");
// metin içinden sayıları ayrıştırırak bir diziye alıyor
string[] mDegerler = girilen.Split(',','+');
// her bir sayi (henüz string veritipinde) teker teker
// tamsayıya dönüştürülerek toplama ekleniyor.
foreach (string mDeger in mDegerler)
{
// eğer mDeger içinde karakter yoksa, boş metinse bir sonraki
// değişkene geçilir.
if (string.IsNullOrEmpty(mDeger))
{
continue;
}
toplam += int.Parse(mDeger);
}
// Toplam ekrana yazdırılıyor...
Console.Write("Girilen {0} adet sayının toplamı= {1}",
mDegerler.Length,toplam);
//
Console.WriteLine();
Console.WriteLine("Uygulamadan çıkmak için [Enter] tuşuna basın.");
Console.ReadLine();

Girilen Bir Sayı İçindeki Rakamları Yazıyla Gösteren Konsol Uygulaması Kodu

Aşağıdaki kodu yeni bir Console projesi başlatarak Main metodu içine yazın.
--------------------------------------------------------------------------------

long sayi;
Console.Write("Bir tamsayı girin: ");
// Kullanıcıdan sayı alınıyor...
string girilen = Console.ReadLine();
// Sayı long'a çevirilebilirse, sayi değişkenine aktarılıyor.
// bu kontrolün amacı, kullanıcının girdisinin tamamının
// rakamlardan oluştuğunu kontrol etmek.
if (long.TryParse(girilen,out sayi))
{
// rakamlar teker teker kontrol edileceği için
// sayı yeniden metne dönüştürülüyor.
string sayiMetni = sayi.ToString();
foreach (char karakter in sayiMetni)
{
switch (karakter)
{
case '0':
Console.Write("Sıfır");
break;
case '1':
Console.Write("Bir");
break;
case '2':
Console.Write("İki");
break;
case '3':
Console.Write("Üç");
break;
case '4':
Console.Write("Dört");
break;
case '5':
Console.Write("Beş");
break;
case '6':
Console.Write("Altı");
break;
case '7':
Console.Write("Yedi");
break;
case '8':
Console.Write("Sekiz");
break;
case '9':
Console.Write("Dokuz");
break;
default:
break;
}
Console.Write(" ");
}

Console.WriteLine();
Console.WriteLine("Uygulamadan çıkmak için [Enter] tuşuna basın.");
Console.ReadLine();

8 Nisan 2008 Salı

Bir Metinde Kullanılan Harflerin İstatistiğini Çıkartma

Aşağıdaki örnek kodu çalıştırma için Visual Studio 2005 ile yeni bir "C# - Windows - Console" projesi başlatın ve aşagıdaki kodu Main bloğunun yerin yapıştırın.
----------------------------------------------
static void Main(string[] args)
{
Hashtable harfler = new Hashtable();
//
Console.WriteLine("Bir metin giriniz...");
string metin = Console.ReadLine();
//
// harfler çözümleniyor
foreach (char h in metin)
{
if (harfler.Contains(h))
{
int adet = (int)harfler[h];
adet++;
harfler[h] = adet;
}
else
{
harfler.Add(h, 1);
}
}
//
Console.WriteLine();
// harfler ve kullanım adetleri ekrana yazdırılıyor
foreach (char harf in harfler.Keys)
{
Console.WriteLine("Harf '{0}' - Adet:{1}",
harf, harfler[harf]);
}

Console.ReadLine();
}

5 Nisan 2008 Cumartesi

Konsolda Çalışan Hesap Makinesi

Aşağıdaki örnek kodu çalıştırma için Visual Studio 2005 ile yeni bir "C# - Windows - Console" projesi başlatın ve aşagıdaki kodu Main bloğunun yerin yapıştırın.
----------------------------------------------
static void Main(string[] args)
{
int sayi1, sayi2;
double sonuc;
Console.Write("Komut: ");
string girdi = Console.ReadLine();
// girilen metinden sayılar ayrıştırılıyor
char[] ayiraclar = new char[] {'+','-','*','/' };
string[] sayilar=girdi.Split(ayiraclar);
// sayılar string den int e dönüştürülüyor
sayi1=int.Parse(sayilar[0]);
sayi2 = int.Parse(sayilar[1]);
// komut metni içindeki işarete göre işlem yapılıyor
if (girdi.Contains("+"))
{
sonuc = sayi1 + sayi2;
}
else if (girdi.Contains("-"))
{
sonuc = sayi1 - sayi2;
}
else if (girdi.Contains("*"))
{
sonuc = sayi1 * sayi2;
}
else if (girdi.Contains("/"))
{
sonuc = (double)sayi1 / (double)sayi2;
}
else
{
Console.WriteLine("Hatalı komut!");
return;
}
Console.WriteLine("Sonuç: {0}",sonuc);
Console.WriteLine();
Console.WriteLine("Uygulamadan çıkmak için [Enter] tuşuna basın.");
Console.ReadLine();
}

Üniversite Öğrencileri İçin Dönem Sonu Başarı Notunu Hesaplama

Aşağıdaki örnek kodu çalıştırma için Visual Studio 2005 ile yeni bir "C# - Windows - Console" projesi başlatın ve aşagıdaki kodu Main bloğunun yerin yapıştırın.
----------------------------------------------
static void Main(string[] args)
{
int toplamBasariNotu = 0;
while (true)
{
Console.Write("Başarı notu: ");
// girilen metin alınıyor
string girilen = Console.ReadLine();
if (girilen.Trim()=="")
{
break;
}
// girilen metin "," virgül karakterinden bölüyor
// ilk öğe not, ikinci öğe ağırlık
string[] degerler = girilen.Split(',');
int basariNotu = int.Parse(degerler[0]);
double agirlik = double.Parse(degerler[1]);
// girilen notun başarıya katkası
int katki = (int)(basariNotu * agirlik/100);
// dönem sonu başarı notu
toplamBasariNotu += katki;
}
Console.Write("Dönem sonu başarı notunuz: ");
// başarı notu daha önce geliştirilen fonksiyon
// kullanılarak harfli sisteme dönüştürülüyor
Console.WriteLine(YuzludenHarfliyeDonustur(toplamBasariNotu));
Console.WriteLine();
Console.WriteLine("Uygulamadan çıkmak için [Enter] tuşuna basın.");
Console.ReadLine();
}

Üniversite Öğrencileri İçin Yüzlü Sistemden Harfli Sisteme Not Dönüştürme

Aşağıdaki örnek kodu çalıştırma için Visual Studio 2005 ile yeni bir "C# - Windows - Console" projesi başlatın ve aşagıdaki kodu Main bloğunun yerin yapıştırın.
----------------------------------------------
class Program
{
static void Main(string[] args)
{
// 88 yerine kullanıcıdan alınan bir değer de çalıştırılabilir.
string harliNot = YuzludenHarfliyeDonustur(88);
Console.WriteLine(harliNot);
Console.WriteLine();
Console.WriteLine("Uygulamadan çıkmak için [Enter] tuşuna basın.");
Console.ReadLine();
}
///
/// Yüzlü başarı sistemindeki notun harfli başarı sistemi karşılığını getirir.
///

/// 100 lük sistemdeki başarı notu
/// Harfli sistem başarı notu (AA-F)
static string YuzludenHarfliyeDonustur(int basariNotu)
{
// Sıfırdan küçük girişler kontrol ediliyor.
if (basariNotu <> 100)
throw new Exception("100 ya da daha küçük bir değer girin.");
if (basariNotu >= 90 && basariNotu <= 100) { return "AA"; } if (basariNotu >= 85 && basariNotu <= 89) { return "BA"; } if (basariNotu >= 80 && basariNotu <= 84) { return "BB"; } if (basariNotu >= 75 && basariNotu <= 79) { return "CB"; } if (basariNotu >= 70 && basariNotu <= 74) { return "CC"; } if (basariNotu >= 60 && basariNotu <= 69) { return "DC"; } if (basariNotu >= 50 && basariNotu <= 59)
{
return "DD";
}
return "F";
}
}