Bu sorunun pek çok cevabı olduğunu biliyorum ama yine de benimkini buraya atacağım ...
Steve McConnell's Code Complete , 2nd Edition'dan alınmıştır: "Stair-Step Erişim Tabloları:
Yine bir başka masa erişimi türü merdiven basamağı yöntemidir. Bu erişim yöntemi, bir dizin yapısı kadar doğrudan değildir, ancak çok fazla veri alanını boşa harcamaz. Şekil 18-5'te gösterilen merdiven basamağı yapılarının genel fikri, bir tablodaki girişlerin, farklı veri noktaları yerine veri aralıkları için geçerli olmasıdır.
Şekil 18-5 Merdiven basamağı yaklaşımı, bir "merdivene" çarptığı seviyeyi belirleyerek her girişi kategorize eder. Vurduğu "adım" kategorisini belirler.
Örneğin, bir not verme programı yazıyorsanız, "B" giriş aralığı yüzde 75 ile yüzde 90 arasında olabilir. İşte bir gün programlamanız gerekebilecek çeşitli notlar:
Merdiven basamağı yöntemini kullanmak için, her aralığın üst ucunu bir tabloya koyarsınız ve ardından her aralığın üst ucuna göre bir skoru kontrol etmek için bir döngü yazarsınız. Puanın bir aralığın üstünü ilk geçtiği noktayı bulduğunuzda, notun ne olduğunu bilirsiniz. Merdiven basamağı tekniğiyle, aralıkların uç noktalarını düzgün bir şekilde ele almak için dikkatli olmalısınız. İşte bu örneğe göre bir grup öğrenciye not atayan Visual Basic kodu:
Bu basit bir örnek olsa da, birden çok öğrenciyi, birden çok not verme şemasını (örneğin, farklı ödevlerde farklı puan seviyeleri için farklı notlar) ve not verme şemasındaki değişiklikleri ele alacak şekilde kolayca genelleştirebilirsiniz. "
Code Complete , 2. Baskı, sayfalar 426 - 428 (Bölüm 18).