Eğitime destek yazı dizisinin 3. ile karşınızdayız. Bu örneğimiz biraz daha zor bir örnek. Öğrenciler bu tarz kavramları öğrendikçe algoritma kurma becerileri de bir o kadar gelişiyor. Örneğimize geçelim;
Bir satıcı ürününü 100₺’ye sattığı takdirde günde 500 adet satmaktadır. Fiyatı 5₺ artırdığında satış adedi 10 adet azalmaktadır. Acaba en yüksek kârı elde edebilmesi ve daha az ürün satıp çok yorulmaması için fiyat endeksi kaç olmalıdır? Marjinal kârı bulunuz. Bulduğunuz tüm kombinasyonları listbox’a yazdırıp marjinal kârı mesaj ile gösteriniz lütfen 😉
- Bu tarz sorular farklı yöntemler ile döngüler ile yapılabilir. Bu sefer de while döngüsü kullanalım dedik ve kodumuzu while ile yazmaya çalıştık. Aslında for döngüsünde sonu belli olmadığı için her seferinde if ile kontrol etmek zorunda kalacaktık. Ama while döngüsünde bu durum otomatik olarak kontrol edildiğinden yani döngünün doğası bu tarz işlemlere daha uygun olduğundan tercihimiz while ile yapmak oldu…

- Burada multicolumn listbox kullanılmıştır. Siz de listbox‘un farklı özelliklerini properties ekranından öğrenebilirsiniz.
private void btnKarZarar_Click(object sender, EventArgs e)
{
Int32 Adet = 500; // Başlangıçtaki satış adeti
Int32 Fiyat = 100; // Başlangıçtaki satış fiyatı
Int32 iKar = Adet * Fiyat; // Başlangıçtaki kârımız
Int32 EnYuksekKar = Adet * Fiyat;
string EnYuksekKarMetni = "";
while (Adet > 0) // Adet sıfıra düşene kadar döngü başlatılıyor.
{
// Önce döngünün çalışma anındaki fiyat ve adete göre karı bulunuyor ve listeye ekleniyor.
listSatislar.Items.Add("Adet: " + Adet + " X Fiyat: " + Fiyat + " = Kar: " + (Adet * Fiyat).ToString());
// Yeni kar değerimiz bulunuyor.
iKar = Adet * Fiyat;
// Eğerki bi önceki en yüksek kardan döngünün adımındaki kar daha büyük ise en yüksek kar değişkeni güncellenmeli.
if (EnYuksekKar < iKar)
{
EnYuksekKar = Adet * Fiyat;
// En sonra message box da kullanacağımız metni değişkene atıyoruz.
EnYuksekKarMetni = "Adet: " + Adet + " X Fiyat: " + Fiyat + " = Kar: " + (Adet * Fiyat).ToString();
}
Adet = Adet - 10; // bir sonraki adıma hazırlıklar yapılıyor.
Fiyat = Fiyat + 5; // bir sonraki adıma hazırlıklar yapılıyor.
}
MessageBox.Show(EnYuksekKarMetni, "Marjinal Kar Değerleriniz");
}
Programımızın çıktısı aşağıdaki şekilde olacaktır. İyi dersler dileriz 😉
