Asosiy farq – agar boshqacha boʻlsa va almashtirish
Dasturlashda qaror qabul qiluvchi tuzilmalar mavjud. if else va switch shulardan ikkitasi. Ifoda qiymatlar, operatorlar, konstantalar va hokazolardan iborat. If else, agar berilgan ifoda rost bo'lsa, operatorlar blokini bajarishga yoki berilgan ifoda noto'g'ri bo'lsa, ixtiyoriy blokni bajarishga imkon beradi. Kalit o'zgaruvchining yoki ifodaning qiymatini ko'p yo'nalishli tarmoq orqali dastur bajarilishini boshqarish oqimini o'zgartirishga ruxsat berish uchun ishlatiladi. Agar dasturchi bitta o'zgaruvchining qiymatini tekshirmoqchi bo'lsa, u holda switch iborasidan foydalanishi mumkin. Ushbu maqola if else va switch o'rtasidagi farqni muhokama qiladi. If else va switch o'rtasidagi asosiy farq shundaki, if else'da ijro bloki if operatoridagi ifodani baholashga asoslanadi, switchda esa bajariladigan operatorlar unga uzatilgan yagona o'zgaruvchiga bog'liq.
Boshqa bo'lsa nima?
Agar boshqa ikkita blok mavjud boʻlsa. Ular if va else. if blokida baholash uchun ifoda mavjud. Agar bu rost bo'lsa, if blokidagi buyruqlar bajariladi. Agar shart noto'g'ri bo'lsa, u holda else blokiga tegishli bayonotlar bajariladi. Dasturlash tillari har qanday nolga teng va nol bo'lmagan qiymatlarni rost deb qabul qiladi. Nol va null noto'g'ri deb hisoblanadi. if va else kalit so'zlardir. Shuning uchun ularni identifikator sifatida ishlatib bo‘lmaydi.
01-rasm: if else ifodalari bilan dastur
Yuqoridagi dasturga koʻra, raqam butun sonlarni saqlashi mumkin boʻlgan oʻzgaruvchidir. U 5 qiymatini o'z ichiga oladi. If blokida ifoda tekshiriladi. Agar raqamni nolga bo'lgandan keyin qolgan 0 bo'lsa, bu raqam juft ekanligini anglatadi. Agar qolgan 1 bo'lsa, u holda raqam toq bo'ladi. 5 raqami g'alati. Shuning uchun else bloki bajariladi.
Switch nima?
Agar dasturchi bitta oʻzgaruvchining qiymatini tekshirmoqchi boʻlsa, u holda kalitdan foydalanishi mumkin. Bu ko'p tanlovli tanlov bayonotidir. Kommutatorda ko'plab holatlar ifodalari bo'lishi mumkin. O'zgaruvchi kommutatorga o'tkazilganda, u har bir case bayonotining qiymati bilan taqqoslanadi. Tegishli qiymat topilsa, o'sha aniq holatning bayonotlari bajariladi. Ushbu bayonotlar tanaffus sodir bo'lguncha bajariladi. Agar case operatorlarida break operatorlari bo'lmasa, u holda bajarilishi switch operatorining oxirigacha amalga oshiriladi. Agar holatlardan hech biri to'g'ri bo'lmasa, standart holat bajariladi. Sukut boʻyicha tanaffus bayonoti talab qilinmaydi.
02-rasm: Kalitli dastur
Yuqoridagi dasturga ko'ra, num1 va num2 ikkita butun qiymatdan iborat. Operator - bu belgi. U kalitga uzatiladi. U barcha holatlar bayonotlari bilan tekshiriladi. O'tkazilgan operator bo'linishdir. Shuning uchun bo'linish hisoblab chiqiladi va chop etiladi. Keyin bajarish break iborasi tufayli switchdan chiqib ketadi. Tanaffusga erishilganda, boshqaruv kalitdan keyingi qatorga o'tkaziladi. Odatda, switch iborasi koʻpincha bir nechta holat iboralaridan birini tanlash uchun klaviatura buyrugʻidan foydalanadi.
If else va switch oʻrtasidagi oʻxshashlik nimada?
Agar Aks holda va switch ikkalasi ham dasturlashda qaror qabul qiluvchi tuzilmalardir
If else va switch oʻrtasidagi farq nima?
agar boshqacha boʻlsa va almashtirish |
|
If else bu shart rost boʻlsa, iboralar blokini bajaradigan va shart notoʻgʻri boʻlsa, ixtiyoriy blokni bajaradigan boshqaruv strukturasidir. | Switch operatori tanlovni boshqarish mexanizmining bir turi boʻlib, oʻzgaruvchi yoki ifoda qiymatiga koʻp yoʻnalishli tarmoq orqali dastur bajarilishini boshqarish oqimini oʻzgartirish imkonini beradi. |
Bajarish | |
If Aks holda, baholangan ifodaga qarab if yoki else bloki bajariladi. | Kommutator tanaffusga yetguncha yoki kalit tugaguniga qadar birin-ketin ishlarni bajaradi. |
Baholash | |
if ifodasi baholaydi, butun sonlar, belgilar, suzuvchi nuqta raqamlari yoki mantiqiy turlari. | Switch bayonoti belgilar va butun sonlarni baholaydi. |
Standart ijro | |
Agar if blokining sharti notoʻgʻri boʻlsa, else blokidagi gaplar bajariladi. | Kommutatorda, agar case iboralarining hech biri mos kelmasa, birlamchi iboralar bajariladi. |
Sinov | |
If else belgisi tenglik va mantiqiy ifodalarni tekshiring. | Oʻtish moslamasi tenglikni tekshiradi. |
Xulosa – agar boshqacha boʻlsa va almashtirish
Dasturlashda qaror qabul qilishning ikkita tuzilmasi if else va switchdir. If else iborasi shartli bayonot bo'lib, shartning to'g'ri yoki noto'g'riligiga qarab bir qator bayonotlarni bajaradi. Kalit bitta o'zgaruvchini tekshirish uchun ishlatilishi mumkin. If else va switch o'rtasidagi farq shundaki, if else ijro bloki if operatoridagi ifodani baholashga asoslanadi, switch operatori esa unga o'tkaziladigan bitta o'zgaruvchiga qarab bajariladigan operatorlarni tanlaydi.