Гол ялгаа – for vs while цикл
Программ гэдэг нь тодорхой даалгаврыг гүйцэтгэхийн тулд програмчлалын хэлээр бичигдсэн заавруудын багц юм. Энэ нь логик үйлдэл эсвэл математик үйлдэл байж болно. Ерөнхийдөө программ дахь мэдэгдлүүд ар араасаа биелдэг. Заримдаа олон тооны мэдэгдлийг дахин дахин гүйцэтгэх шаардлагатай болдог. Энэ зорилтыг биелүүлэхийн тулд хяналтын бүтцийг ашигладаг. Үүний хоёр нь for болон while цикл юм. Эдгээр бүтэц нь өгөгдсөн нөхцөл үнэн болтол кодын дарааллыг гүйцэтгэхэд тусалдаг. For давталтын синтакс нь эхлүүлэх, туршилтын илэрхийлэл, шинэчлэх илэрхийллээс бүрдэнэ. while давталтын синтакс нь тестийн илэрхийллийг агуулдаг. Энэ нийтлэлд for болон while давталтын хоорондох ялгааг авч үзэх болно. For болон while давталтын гол ялгаа нь давталтын тоо мэдэгдэж байгаа үед for давталтыг, давталтын тоо тодорхойгүй үед while давталтыг ашиглаж болно.
Loop гэж юу вэ?
For давталт нь C, Java гэх мэт олон програмчлалын хэлэнд хэрэглэгддэг. Энэ нь олон тооны хэллэгийг олон удаа гүйцэтгэхэд ашиглагддаг. For давталтын синтакс дараах байдалтай байна.
(эхлүүлэх; туршилтын илэрхийлэл, шинэчлэлт){
//for давталт доторх мэдэгдлүүд
}
Эхлүүлэх илэрхийлэл нь зөвхөн нэг удаа ажиллана. Дараа нь туршилтын илэрхийлэлийг үнэлнэ. Туршилтын илэрхийлэл нь хувьсагч, утга, тогтмол болон операторуудыг агуулж болно. Энэ нь Булийн илэрхийлэл юм. Хэрэв үнэлэгдсэн илэрхийлэл үнэн бол for цикл доторх код ажиллана. Давталтын төгсгөлд хүрсний дараа шинэчлэлтийн илэрхийлэл гүйцэтгэгдэнэ. Энэ нь өсөлт эсвэл бууралт байж болно. Туршилтын илэрхийллийг дахин шалгана. Хэрэв үнэлэгдсэн илэрхийлэл үнэн бол for цикл доторх хэллэгүүд ажиллана. Давталтын төгсгөлд шинэчлэлтийн илэрхийлэл хийгдэнэ. Туршилтын илэрхийлэл худал болтол энэ процесс давтагдана. Туршилтын илэрхийлэл худал бол for давталт дуусч удирдлага нь for давталтын дараа дараагийн мэдэгдэлд шилжинэ.
Зураг 01: 5 тооны нийлбэрийг тооцоолох for давталттай програм
Дээрх программ нь 1, 2, 3, 4, 5 гэсэн эхний таван тооны нийлбэрийг олох явдал юм. For давталт дахь i нь 1. Энэ нь 5-аас бага. Тиймээс нийлбэрийг тооцно.. Эхэндээ нийлбэр нь 0. Энэ нь i дээр нэмэгдэх бөгөөд энэ нь 1. Нийт нь sum хувьсагчид оноогдсон байна. Одоо нийлбэр нь 1. Дараа нь шинэчлэлтийн илэрхийлэлийг үнэлнэ. i нь нэгээр нэмэгддэг. Одоо би 2-той. Энэ нь 5-аас бага. Тэгэхээр нийлбэрийг тооцно. Өмнөх нийлбэрийн утга нь 1 бөгөөд энэ нь 2 болсон i утга дээр нэмэгдэх болно. Одоо нийлбэр нь 3. Шинэчлэх илэрхийлэл үнэлэгдэж, i нь 1-ээр нэмэгддэг. Одоо 3 байна. Энэ процесс давтагдана. i 6 болоход 6 нь тэнцүү биш эсвэл 5-аас бага тул илэрхийлэл худал болно. Тиймээс for давталт дуусна. Эцэст нь бүх таван тооны нийлбэрийг дэлгэцэн дээр хэвлэнэ.
while Loop гэж юу вэ?
Өгөгдсөн нөхцөл үнэн бол while давталт зорилтот хэллэгүүдийг гүйцэтгэдэг. while давталтын синтакс дараах байдалтай байна.
while(туршилтын илэрхийлэл){
//while цикл доторх мэдэгдлүүд
}
while давталт нь туршилтын илэрхийлэл агуулж байна. Энэ нь Булийн илэрхийлэл юм. Хэрэв үнэлэгдсэн илэрхийлэл үнэн бол while цикл доторх хэллэгүүд ажиллана. Эдгээр мэдэгдлийн төгсгөлд туршилтын илэрхийлэлийг дахин үнэлнэ. Туршилтын илэрхийлэл худал болох хүртэл энэ процесс давтагдана. Энэ нь худал болвол while давталт дуусч, хяналт нь while давталтын дараа мэдэгдэлд шилждэг.
Зураг 02: 5 тооны нийлбэрийг тооцоолох while давталттай програм
Дээрх программын дагуу нийлбэрийг 0, i-г 1 болгож эхлүүлнэ. while давталт дээр i утгыг үнэлнэ. Энэ нь 5-аас бага. Тэгэхээр нийлбэрийг тооцно. нийлбэрийн анхны утга нь 0. i утга 1 дээр нэмэгдэнэ. Одоо нийлбэр нь 1. Дараа нь i утгыг нэгээр нэмэгдүүлнэ. Одоо i утга нь 2. Энэ нь 5-аас бага байна. Тэгэхээр нийлбэрийг тооцно. Одоогийн 1 гэсэн нийлбэр нь 2 болсон i утга дээр нэмэгдэнэ. Одоо нийлбэр нь 3 байна. Дахин i утгыг нэмэгдүүлнэ. Одоо i утга нь 3. Энэ процесс давтагдана. i утга 6 болоход илэрхийлэл нь 5-аас бага эсвэл тэнцүү биш учраас худал болно. Тиймээс while давталт дуусна. Эцэст нь нийлбэрийн утгыг дэлгэцэн дээр хэвлэнэ. Хэрэв i++ гэх мэт нэмэгдэл байхгүй байсан бол i утга нь 1-тэй хэвээр үлдэнэ. 5-аас бага. Нөхцөл үргэлж үнэн байна. Тэгэхээр энэ нь хязгааргүй давталт болно.
For болон while давталтын хооронд ямар төстэй зүйл байдаг вэ?
- For болон while аль аль нь програмчлалын давталтын хяналтын бүтэц юм.
- Давталтын гүйцэтгэл нь туршилтын илэрхийллээс хамаарна.
For болон while-ийн хооронд ямар ялгаа байдаг вэ?
for vs while цикл |
|
For давталт нь программист тодорхой тооны удаа гүйцэтгэх шаардлагатай давталтыг үр дүнтэй бичих боломжийг олгодог давталтын хяналтын бүтэц юм. | while давталт нь өгөгдсөн нөхцөл үнэн бол зорилтот хэллэгүүдийг гүйцэтгэдэг давталтын хяналтын бүтэц юм. |
Хэрэглээ | |
Давталтын тоо мэдэгдэж байгаа үед for давталтыг ашиглаж болно. | Давталтын тоо тодорхойгүй үед while давталтыг ашиглаж болно. |
Эхлүүлэх | |
Эхлүүлэх нь for циклд нэг удаа тохиолддог. | While давталтын үед эхлүүлэх хэллэг нь давталтын дотор байгаа бол давталтыг давтах бүрт эхлүүлнэ. |
Товч мэдээлэл – vs while давталт
Програмчлалд заримдаа олон тооны мэдэгдлийг олон удаа давтах шаардлагатай болдог. Энэ зорилтыг биелүүлэхийн тулд давталтын хяналтын бүтэц байдаг. Үүний хоёр нь for болон while цикл юм. For болон while давталтын хоорондох ялгаа нь давталтын тоо мэдэгдэж байгаа үед for давталтыг, харин давталтын тоо тодорхойгүй үед while давталтыг ашигладаг.