Mantıksal Operatörler Bölüm 3
Coddy'nin C# Journey'sinin Temeller bölümünün bir parçası. Ders 24 / 69.
Birden fazla conditions kontrol edilirken, bilgisayar nihai yanıtı öğrendiği anda kontrol etmeyi durdurur (Buna kısa devre değerlendirmesi denir).
Örneğin:
int x = 0;
int y = 5;
bool result = x != 0 && y / x > 2;Burada x, 0 değerine eşittir, bu nedenle y / x > 2 ifadesini değerlendirmeyecektir. Sırayı tersine çevirseydik:
bool result = y / x > 2 && x != 0;Bu durum bir hatayla sonuçlanacaktır çünkü y, matematikte tanımsız/geçersiz olan 0'a bölünecektir.
Bu teknik, mantıksal ifadelerin değerlendirilmesini optimize etmek için kullanılır. Örneğin:
int a = 0;
int b = 2;
int c = 3;
int d = 5;
bool result = (a > 0 && b < 2) || (c < -5 && d < 10);Bu örnekte b < 2 ve d < 10 değerlendirilmeyecektir çünkü a > 0 ve c < -5 ifadelerinin her ikisi de yanlış (false) değerindedir.
Görev
BaşlangıçGüneş paneli enerji üretimi için iyi bir gün olup olmadığına karar veren bir program oluşturalım
Şu değişkenleri başlatın:
- true değerine sahip
isSunny - 5.4 değerine sahip
windSpeed - 23 değerine sahip
temperature - 9 değerine sahip
solarPanelOutput - false değerine sahip
isCloudy
Bu koşulların TÜMÜNÜ kontrol eden tek bir mantıksal ifade oluşturun:
- Hava güneşli olmalı
- Rüzgar hızı 10'dan küçük olmalı
- Güneş paneli çıkışı 15'ten küçük olmalı
- Sıcaklık 20'nin üzerinde olmalı VEYA bulut olmamalı
Kendin dene
using System;
public class Program {
public static void Main(string[] args) {
// Değişkenleri başlat
// Her yer tutucu değeri, görevin tanımladığı değerle değiştir
bool isSunny = false;
double windSpeed = 0.0;
int temperature = 0;
int solarPanelOutput = 0;
bool isCloudy = true;
// Tam mantıksal ifade
// Aşağıdaki yer tutucuyu, görevin tanımladığı ifadeyle değiştir
bool result = false;
// Aşağıdaki satırları silme
Console.WriteLine("Checking conditions for solar energy production...");
Console.WriteLine("1. Is it sunny? " + isSunny);
Console.WriteLine("2. Is wind speed safe? " + (windSpeed < 10));
Console.WriteLine("3. Can panels produce more? " + (solarPanelOutput < 15));
Console.WriteLine("4. Is temperature good OR no clouds? " + (temperature > 20 || !isCloudy));
Console.WriteLine("\nFinal result - Good day for solar energy production: " + result);
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerMod Alma OperatörüArtırma/AzaltmaSonradan Artırma/AzaltmaAritmetik Kısayollar7Temel Girdi/Çıktı
Temel ÇıktıString InterpolationGirdi OkumaParseÖzet - 120'ye KadarÖzet - True veya False5Operatörler Bölüm 2
Karşılaştırma OperatörleriMantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Kendi başına pratik yap: Online C# derleyicisi