Proqramlaşdırmada ikidən artıq dəyişənin müqayisəsi
Salamlar. Bu məqalədə proqramlaşdırmaya yeni başlayanda qarşılaşdığım bir problemin həllini bölüşəcəm. Problem proqramlaşdırmada dəyişənlərin müqayisəsi ilə bağlıdır. (Bir çox proqramlaşdırma dillərində dəyişənlərin müqayisəsi eynidir, lakin bu məqaləni c# dilini əsas götürərək yazıram.)
Problem: Yeni başlayanların müqayisə zamanı yol verdiyi səhv:
Həlli: && operatorlarından istifadə
İzahı:
C# dilində iki ədədi müqayisə etmək üçün əvvəlcə tam tipli iki dəyişən təyin edərik. Daha sonra if şərt operatoru və riyaziyyat fənnindən bildiyimiz müqayisə əməlləri (>, <, >=, <=, = əvəzinə == və ≠ əvəzinə != ) vasitəsilə bu dəyişənləri müqayisə edərik. Aşağıdakı nümunədə bunu daha aydın görə bilərik:
Ancaq bu üsulla üç ədədi müqayisə etməyə çalışsaq görərik ki, Visual Studio avtomatik olaraq yazdığımız sətrin altına qırmızı xətt çəkir və “Error List” pəncərəsində xətanı göstərir:
Xətada “bool və int tipli operandlara > operatoru tətbiq edilə bilməz” deyilir. Halbuki kimsə deyə bilər ki, “Axı burada bool tipli heçnə təyin etməmişik?!“ Təbii ki, bunu deyən haqlıdır: Biz bool tipli heçnə təyin etməmişik! Ancaq bilmək lazımdır ki, proqramlaşdırmadakı riyazi əməliyyatlar həmişə riyaziyyat fənnindən öyrəndiyimiz kimi olmur. Çünki proqramlaşdırmada məntiq biraz fərqli olur. Başa düşmək lazımdır ki,
1. If şərt operatoru yalnız bool tipli nəticə qaytaran şərtlər qəbul edir.
2. Müqayisə operandları bool tipində nəticə qaytarır.
Bunları bildikdən sonra nəyə görə Visual Studio’da həmin xətanın çıxdığını analiz etmək olar. Beləki, x > y > z sətrində debuqqer əvvəlcə x > y sətrini yoxlayır və bool tipli nəticə qaytarır. Daha sonra x > y sətrindən aldığı bool tipli nəticəni z ilə yoxlayır. z tam tiplidir yəni int tipindədir. Bool tipi ilə int tipini isə müqayisə etmək olmaz!
Məsələnin həllinə gəldikdə isə operandlar köməyimizə gəlir. Ümumiyyətlə operandlar şərtlərdə çox istifadə olunur. Bu məsələnin həlli üçün biz && operatorundan (oxunuşu: ‘və’) istifadə edə bilərik. Aşağıdakı şəkilə baxaraq və operandının (&&) necə istifadə olunduğunu görə bilərsiniz.
Bu məqalədə çatdırmaq istədiklərim bunlar idi. Əgər əlavə olaraq operatorlar haqqında oxumaq istəsəniz bu keçiddən ətraflı məlumat əldə edə bilərsiniz.
Şərhlər ( 3 )
Təşəkkürlər, Ceyhun Abbasov.
Təşəkkürlər, Ceyhun.
Uğurlar. Davamlı olmasını arzu edirəm.
Çox aktual və əla mövzudur. Təşəkkür edirəm. Davamını səbirsizliklə gözləyirik!