Гол ялгаа – while болон do while цикл
Програмчлалын хувьд блок хэллэгийг дахин дахин гүйцэтгэхэд шаардлагатай нөхцөл байдал байж болно. Ихэнх програмчлалын хэл нь кодыг давтахын тулд for loop, while loop, while цикл гэх мэт өөр өөр хяналтын бүтцийг дэмждэг. Гогцоонууд нь өгөгдсөн нөхцөл худал болох хүртэл олон тооны мэдэгдлийг гүйцэтгэх боломжийг олгодог. Гогцоонд хамаарах мэдэгдлүүд нь хос буржгар хаалтанд багтсан болно. Энэ нийтлэлд while loop болон do while гэсэн хоёр хяналтын бүтцийн ялгааг авч үзэх болно. while давталт нь өгөгдсөн нөхцөл үнэн байх үед хэллэг эсвэл бүлгийг давтахад ашиглагддаг. Энэ нь давталт доторх мэдэгдлүүдийг гүйцэтгэхийн өмнө нөхцөлийг шалгадаг. do while давталт нь while давталттай төстэй. Гэхдээ давталтын доторх мэдэгдлүүдийн гүйцэтгэлийн төгсгөлд нөхцөлийг шалгадаг. while давталт ба do while хоёрын гол ялгаа нь while давталт нь давталтын доторх командуудыг гүйцэтгэхийн өмнөх нөхцөлийг шалгадаг, харин do while давталт нь давталтын доторх хэллэгүүдийг гүйцэтгэсний дараа нөхцөлийг шалгадагт оршино.
While давталт гэж юу вэ?
while давталт нь өгөгдсөн нөхцөл үнэн болтол зорилтот өгүүлбэр эсвэл хэллэгийг гүйцэтгэдэг. Нэгдүгээрт, while давталт нь нөхцөл үнэн эсэхийг шалгадаг. Хэрэв нөхцөл үнэн бол нөхцөл үнэн болтол давталтыг давтана. Нөхцөл худал бол хяналтыг давталтын дараа шууд кодын дараагийн мөрөнд шилжүүлнэ. while давталт нь нэг мэдэгдэл эсвэл олон хэллэг агуулж болно. Доорх хөтөлбөрийг үзнэ үү.
Зураг 01: while давталтын жишээ
Дээрх программын дагуу x хувьсагчийг 1 болгож эхлүүлсэн. while давталтын командууд x утга 5-аас бага эсвэл тэнцүү болтол ажиллана. Эхэндээ утга нь 1, нөхцөл нь үнэн. Тиймээс x хэвлэх болно. Дараа нь x утгыг 1-ээр нэмэгдүүлнэ. Одоо x утга нь 2. Энэ нь 5-аас бага эсвэл тэнцүү байна. Тэгэхээр x нь хэвлэнэ. Дахиад x утгыг 1-ээр нэмэгдүүлнэ. Одоо x нь 3. Энэ нь 5-аас бага буюу тэнцүү байна. Тэгэхээр x дахин хэвлэх ба нэгээр нэмэгдэнэ. Одоо x нь 4. Мөн 5-аас бага эсвэл тэнцүү байна. Тэгэхээр x нь хэвлэнэ. x-ийн утга дахин нэмэгдэнэ. Дараагийн давталтанд x утга 5 болно. Энэ нь 5-тай тэнцүү байна. Гэсэн хэдий ч нөхцөл үнэн. Тиймээс x хэвлэх болно. x утгыг дахин нэмэгдүүлнэ. Энэ нь 6. Харин одоо 6 нь 5-аас их байгаа тул нөхцөл худал байна. Давталтын гүйцэтгэл дуусна. Хэрэв програмын өсөлт байхгүй бол x утга нь үргэлж 1 байх болно. Нөхцөл нь 5-аас бага тул үргэлж үнэн байх болно. Тиймээс энэ нь хязгааргүй давталт болно.
Do while гэж юу вэ?
Do while давталт нь while давталттай төстэй. Гэхдээ давталтын мэдэгдлүүдийг гүйцэтгэсний дараа нөхцөлийг шалгана. Иймээс нөхцөл үнэн ч бай, худал ч бай давталт дор хаяж нэг удаа ажиллана. Нөхцөл байдлыг давталтын гүйцэтгэлийн дараа шалгана. Хэрэв нөхцөл үнэн бол давталтын хэллэгүүд дахин ажиллана. Нөхцөл худал болтол энэ үйл явц давтагдана. Доорх хөтөлбөрийг үзнэ үү.
Зураг 02: do while давталтын жишээ
Дээрх программын дагуу x хувьсагчийг 1 болгож эхлүүлсэн. Давталт нь x утгыг гүйцэтгэж хэвлэнэ. Дараа нь x утгыг 1-ээр нэмэгдүүлнэ. Одоо 2 боллоо. Нөхцөл үнэн тул гогцоо ажиллана. x-г хэвлэж, нэмэгдүүлнэ. Одоо 3. Нөхцөл үнэн тул гогцоо гүйцэтгэнэ. x-г хэвлээд дахин нэмэгдүүлнэ. Одоо 4. Нөхцөл үнэн. Гогцоо гүйцэтгэнэ. x-г хэвлэж, нэмэгдүүлнэ. Одоо x нь 5. Гэсэн хэдий ч нөхцөл нь 5-аас бага эсвэл тэнцүү учраас үнэн байна. Тиймээс давталт дахин ажиллаж, x утгыг хэвлэнэ. Дараа нь x нь 1-ээр нэмэгдэнэ. Одоо x нь 6. Нөхцөл худал. Давталтын гүйцэтгэл дуусна.
Х-г эхэндээ 10 болгосон гэж үзье. Гэсэн хэдий ч давталтын төгсгөлд нөхцөлийг шалгасан тул давталтыг гүйцэтгэж, x утгыг хэвлэх болно. Нөхцөл байдлыг шалгахад энэ нь худал юм. Тиймээс давталтын гүйцэтгэл дуусна. Нөхцөл үнэн эсвэл худал байсан ч do while давталт дор хаяж нэг удаа ажиллана. Энэ бол do while давталтын процесс юм.
while болон do while давталтын хооронд ямар төстэй зүйл байдаг вэ?
Хоёулаа програмчлалын хяналтын бүтэц юм
while болон do while давталт хоёрын ялгаа юу вэ?
while vs do while цикл |
|
while давталт нь өгөгдсөн Boolean нөхцөл дээр үндэслэн кодыг дахин дахин гүйцэтгэх боломжийг олгодог хяналтын бүтэц юм. | Do while давталт нь блокийн төгсгөлд өгөгдсөн логикийн нөхцлөөс хамааран дор хаяж нэг удаа кодын блокийг ажиллуулж, дараа нь блокыг дахин дахин гүйцэтгэх эсвэл гүйцэтгэхгүй байх хяналтын бүтэц юм. |
Нөхцөлийн мэдэгдэл | |
while давталтын нөхцөлийн мэдэгдэл нь давталтын эхэнд байна. | do while давталтын нөхцөлийн мэдэгдэл нь давталтын төгсгөлд байна. |
Гүйцэтгэл | |
while давталт нь зөвхөн нөхцөл үнэн бол ажиллана. | Нөхцөл худал байсан ч do while нь дор хаяж нэг удаа ажиллаж болно. |
Хураангуй – while хийх ба while давталт
Програмчлалд заримдаа нэг багц мэдэгдлийг дахин дахин гүйцэтгэх шаардлагатай болдог. Үүний тулд хяналтын бүтцийг ашигладаг. Үүний хоёр нь while болон do while давталт юм. Энэ нийтлэлд while давталт ба хийх цикл хоёрын ялгааг авч үзсэн. while давталт нь өгөгдсөн нөхцөл үнэн байх үед хэллэг эсвэл бүлгийг давтахад ашиглагддаг. Do while давталт дотор давталтын доторх хэллэгүүдийн гүйцэтгэлийн төгсгөлд нөхцөлийг шалгана. Do while давталт нь while давталттай төстэй боловч нөхцөл үнэн эсвэл худал байсан ч do while давталт дор хаяж нэг удаа ажиллах боломжтой. while давталт ба do while хоёрын ялгаа нь while давталт нь давталтын доторх командуудыг гүйцэтгэхийн өмнөх нөхцөлийг шалгадаг бол do while давталт нь давталтын доторх командуудыг гүйцэтгэсний дараа нөхцөлийг шалгадаг.