R while sikli
Sikllar
Sikllar ko‘rsatilgan shart bajarilib turgan ekan, kod blokini takroran bajara oladi.
Sikllar qulay, chunki ular vaqtni tejaydi, xatolarni kamaytiradi va kodni o‘qish uchun qulayroq qiladi.
R’da ikkita sikl buyrug‘i bor:
whilesikllariforsikllari
R while sikllari
while sikli yordamida shart TRUE bo‘lib turgan ekan, bir qator ko‘rsatmalarni bajarishimiz mumkin:
Misol
i 6 dan kichik bo‘lib turgan ekan, i qiymatini chiqaring:
i <- 1
while (i < 6) {
print(i)
i <- i + 1
}
O‘zingiz sinab ko‘ring »
Yuqoridagi misolda sikl 1 dan 5 gacha bo‘lgan sonlarni chiqarishda davom etadi. Sikl 6 da to‘xtaydi, chunki 6 < 6 FALSE bo‘ladi.
while sikli tegishli o‘zgaruvchilar oldindan tayyor bo‘lishini talab qiladi: bu misolda i indeks o‘zgaruvchisini aniqlab, unga 1 qiymatini berishimiz kerak.
Eslatma: i o‘zgaruvchisini oshirishni unutmang, aks holda sikl cheksiz davom etadi.
Break
break operatori yordamida while sharti TRUE bo‘lsa ham siklni to‘xtatishimiz mumkin:
Misol
i 4 ga teng bo‘lganda sikldan chiqing.
i <- 1
while (i < 6) {
print(i)
i <- i + 1
if (i == 4) {
break
}
}
O‘zingiz sinab ko‘ring »
Sikl 3 da to‘xtaydi, chunki biz i 4 ga teng bo‘lganda (i == 4) break operatori yordamida siklni tugatishni tanladik.
Next
next operatori yordamida siklni to‘xtatmasdan bitta iteratsiyani o‘tkazib yuborishimiz mumkin:
Misol
3 qiymatini o‘tkazib yuboring:
i <- 0
while (i < 6) {
i <- i + 1
if (i == 3) {
next
}
print(i)
}
O‘zingiz sinab ko‘ring »
Sikl 3 qiymatiga yetganda uni o‘tkazib yuboradi va aylanishda davom etadi.
Yahtzee!
If .. Else va while siklini birga ishlatish
Amaliy misol ko‘rsatish uchun, faraz qilaylik, biz Yahtzee o‘yinini o‘ynayapmiz!
Misol
Agar zar soni 6 bo‘lsa, "Yahtzee!" deb chiqaring:
dice <- 1
while (dice <= 6) {
if (dice < 6) {
print("No Yahtzee")
} else {
print("Yahtzee!")
}
dice <- dice + 1
}
O‘zingiz sinab ko‘ring »
Sikl 1 dan 5 gacha bo‘lgan qiymatlardan o‘tganda "No Yahtzee" deb chiqaradi. 6 qiymatiga yetgan har safar esa "Yahtzee!" deb chiqaradi.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
