Direnç rengini hesaplamak için C# dilinde birkaç farklı yaklaşım bulunabilir. Burada, direnç değeri ve direnç bandı renklerinden herhangi birinin bilindiği durumda, direncin geri kalan renklerini bulmak için bir yöntem örneği verilmiştir.
Bu örnek, kullanıcıdan direnç değeri ve ilk iki renk bandının değerini alır ve son iki renk bandını hesaplar. Bu hesaplama, ohm değerinin üçüncü hanelerine ve direnç toleransına dayanır.
csharp
using System;
public class Program
{
public static void Main()
{
// Kullanıcıdan direnç değerini ve ilk iki renk bandını alın
Console.Write(“Direnç değeri (Ohm): “);
double direnc = double.Parse(Console.ReadLine());
Console.Write("İlk renk bandı (örn. 'kırmızı'): ");
string renk1 = Console.ReadLine().ToLower();
Console.Write("İkinci renk bandı (örn. 'sarı'): ");
string renk2 = Console.ReadLine().ToLower();
// Renklerin değerlerini bir sözlükte saklayın
var renkDegerleri = new Dictionary<string, double>
{
{"siyah", 0},
{"kahverengi", 1},
{"kırmızı", 2},
{"turuncu", 3},
{"sarı", 4},
{"yeşil", 5},
{"mavi", 6},
{"mor", 7},
{"grigri", 8},
{"beyaz", 9},
{"altın", 0.1},
{"gümüş", 0.01}
};
// Renklerin değerlerini hesaplayın
double renk1Degeri = renkDegerleri[renk1];
double renk2Degeri = renkDegerleri[renk2];
// Direnç değerinin üçüncü hanesinin değerini bulun
double ucuncuHane = Math.Floor(direnc / Math.Pow(10, Math.Floor(Math.Log10(direnc)) - 1)) % 10;
// Dördüncü renk bandını hesaplayın
double dortuncuRenkDegeri = Math.Pow(10, ucuncuHane);
// Beşinci renk bandını hesaplayın
double besinciRenkDegeri = 0.05;
if (renk1Degeri == 0)
{
besinciRenkDegeri = 0.2;
}
else if (renk1Degeri == 1)
{
besinciRenkDegeri = 0.01;
}
// Sonuçları yazdırın
Console.WriteLine("Direnç bandı renkleri: {0}, {1}, {2}, {3}, {4}",
renk1, renk2, dortuncuRenkDegeri == 1 ? "altın" : "kahverengi",
besinciRenkDegeri == 0.05 ? "yeşil" : "mavi
// Direnç değerini yazdırın
Console.WriteLine(“Direnç değeri: {0} Ohm”, direnc);
// Hesaplanan renklerin değerlerini yazdırın
Console.WriteLine("Dörtüncü renk bandı: {0}", dortuncuRenkDegeri == 1 ? "altın" : "kahverengi");
Console.WriteLine("Beşinci renk bandı: {0}", besinciRenkDegeri == 0.05 ? "yeşil" : "mavi");
}
}
Bu kod, öncelikle renklerin değerlerini bir sözlükte saklar ve sonra kullanıcının girdiği renklerin değerlerini hesaplar. Ardından, direnç değerinin üçüncü hanesinin değerini bulur ve bu değere göre dördüncü renk bandının değerini hesaplar. Son olarak, beşinci renk bandının değerini hesaplar ve tüm sonuçları yazdırır.
Bu örnek, direnç rengini hesaplamak için bir yöntem göstermektedir. Ancak, bu hesaplama yöntemi bazı özel durumlarda doğru sonuçlar veremeyebilir. Bu nedenle, özellikle yüksek hassasiyetli uygulamalarda daha doğru bir yöntem kullanmak önemlidir.