📘 3.3 – İşlem Sırası ve Parantez Kullanımı
🔹 Açıklama:
Birden fazla aritmetik veya mantıksal işlemi tek satırda gerçekleştirmek istiyorsak işlem önceliği konusunu doğru anlamamız gerekir. C# dilinde, işlemler belirli bir sıraya göre değerlendirilir ve bu sıra aşağıdaki gibi işler:
- Parantez içindekiler
- Çarpma (
*), bölme (/), mod (%) - Toplama (
+), çıkarma (-) - Karşılaştırmalar (
<,>,==,!=, …) - Mantıksal işlemler (
&&,||,!)
Ancak bu sırayı parantez ile değiştirebiliriz. Bu, işlemlerin doğru sıralamayla yapılmasını sağlamak için kritik önemdedir.
📍 Kullanım Alanları:
- Aritmetik işlemlerde hatasız sonuç almak
- Karmaşık hesaplamaların yönetimi
- Mantıksal koşulların sırasını kontrol etmek
- İndirim, vergi, puan gibi zincir hesaplamalarda
- Kodun okunabilirliğini ve hata ayıklanabilirliğini artırmak
🎯 Kazanımlar:
- Operatörlerin öncelik sırasını kavrayabilme
- Parantez kullanımıyla hesaplamaları düzenleme
- Karışık ifadelerde hata yapmadan doğru sonuç elde etme
- Hesaplama işlemlerinde tutarlılık ve güvenlik sağlama
- Parantezin yalnızca görünüş değil, işlevsel bir unsur olduğunu anlama
🧪 3.3 – İşlem Sırası ve Parantez Kullanımı: Örneklerle Uygulama
📌 Örnek 1: İşlem Önceliğini Göstermek
🎯 Amaç:
Parantez kullanmadan ve parantezle işlem farkını göstermek.
🎨 Form Elemanları:
lblSonuc(Label)btnHesapla(Button)
💻 Kod:
private void btnHesapla_Click(object sender, EventArgs e)
{
int sonuc1 = 10 + 2 * 5; // işlem sırasına göre önce çarpma
int sonuc2 = (10 + 2) * 5; // parantez önce işlem görür
lblSonuc.Text = $"Sonuç 1: {sonuc1}\nSonuç 2: {sonuc2}";
}
📝 Açıklama:
Bu örnek işlem sırasının etkisini doğrudan görmeyi sağlar. Öğrenciler aynı ifadede parantezle ve parantezsiz sonuç farkını öğrenir.
📌 Örnek 2: Aritmetik ve Mantıksal Karışık İşlem
🎯 Amaç:
Hem sayısal hem mantıksal işlemlerin önceliklerini göstermek.
🎨 Form Elemanları:
lblDurum(Label)btnKontrolEt(Button)
💻 Kod:
private void btnKontrolEt_Click(object sender, EventArgs e)
{
int a = 5, b = 10, c = 20;
bool durum = a + b > c || a * 2 > b;
lblDurum.Text = durum ? "Koşul sağlandı." : "Koşul sağlanmadı.";
}
📝 Açıklama:
Aritmetik işlemler (+, *) önce yapılır, sonra karşılaştırma (>), en son mantıksal (||). Bu sıra iç içe yapıları doğru kurmak için gereklidir.
📌 Örnek 3: Parantez ile Karışıklığı Gidermek
🎯 Amaç:
Mantıksal bir ifade içinde parantezle işlemi düzenlemek.
🎨 Form Elemanları:
lblCikti(Label)btnHesapla(Button)
💻 Kod:
private void btnHesapla_Click(object sender, EventArgs e)
{
bool a = true, b = false, c = false;
bool sonuc1 = a || b && c;
bool sonuc2 = (a || b) && c;
lblCikti.Text = $"Sonuç1: {sonuc1}\nSonuç2: {sonuc2}";
}
📝 Açıklama:
Bu örnek parantez ile anlam kaymasının ne kadar büyük fark oluşturabileceğini gösterir. && operatörü ||’dan önce gelir, parantezle bu değiştirilebilir.
📌 Örnek 4: Hesaplama ile Not Ortalaması
🎯 Amaç:
Ağırlıklı ortalama hesaplamak ve parantezle işlem sırasını vurgulamak.
🎨 Form Elemanları:
txtVize(TextBox),txtFinal(TextBox)btnHesapla(Button)lblOrtalama(Label)
💻 Kod:
private void btnHesapla_Click(object sender, EventArgs e)
{
if (double.TryParse(txtVize.Text, out double vize) &&
double.TryParse(txtFinal.Text, out double final))
{
double ortalama = (vize * 0.4) + (final * 0.6);
lblOrtalama.Text = $"Ortalama: {ortalama:F2}";
}
else
{
MessageBox.Show("Geçerli not giriniz.");
}
}
📝 Açıklama:
Parantezler hesaplamaların okunmasını ve hata ayıklamayı kolaylaştırır. Özellikle ağırlıklı ortalama gibi zincir hesaplamalarda şarttır.
📌 Örnek 5: Karışık Mantıksal Durum
🎯 Amaç:
Birden fazla koşulun işlem sırasına göre değerlendirilmesi.
🎨 Form Elemanları:
txtA,txtB,txtC(TextBox)btnDurum(Button),lblSonuc(Label)
💻 Kod:
private void btnDurum_Click(object sender, EventArgs e)
{
if (int.TryParse(txtA.Text, out int a) &&
int.TryParse(txtB.Text, out int b) &&
int.TryParse(txtC.Text, out int c))
{
bool sonuc = (a > b && b > c) || (a == b && c < b);
lblSonuc.Text = sonuc ? "Koşul sağlandı" : "Koşul sağlanmadı";
}
else
{
MessageBox.Show("Geçerli sayılar giriniz.");
}
}
📝 Açıklama:
İşlem önceliğini anlamadan bu tür mantıksal ifadeleri yönetmek zordur. Parantezle işlem sırası netleşir ve hata riski azalır.
✅ Özet:
Bu örneklerle işlem sırası şu becerileri kazandırır:
- Kodların beklenmedik sonuçlar vermesini engeller
- Gelişmiş mantık bloklarını doğru kurdurur
- Öğrenciyi “hata yapmamaya” değil, “doğru düşünmeye” yönlendirir






