2-4-2.حلقه ها (حلقه های while)
يكشنبه, ۲۷ مرداد ۱۳۹۲، ۰۴:۱۳ ب.ظ
دومین نوع از حلقه ها، حلقه هایی هستند که دارای تعداد مشخص تکرار نیستند و تا زمانی که شرط داخل آنها درست باشد اجرا میشوند.
به این نوع حلقه ها، حلقه های while گفته میشود. تفاوت این نوع حلقه ها با حلقه های for در این است که نیازی به اندیس حلقه نمی باشد.
برای توضیحات بیشتر به ادامه مطلب مراجعه نمائید.
تنها ویژگی حلقه های while شرط اجرای حلقه است که در صورت درست بودن، اجرا ادامه یافته و در غیر این صورت از آن خارج می شود.شکل کلی نمایش آن به صورت زیر است:
همانگونه که در تصویر مشاهده می شود، ظاهر این حلقه ها از حلقه های for ساده تر است ولی باید به این نکته توجه داشت که شرط درون آن بسیار مهم است و در صورت بکار بردن شرط اشتباه حلقه بی نهایت تکرار و به اصطلاح loop می شود.
در ادامه تمرین 1 از صفحه 45 را حل می کنیم.
- فلوچارتی رسم نمائید که عددی از ورودی دریافت نموده و کامل بودن آنرا یررسی نماید.(عدد کامل عددی است که مجموع مقسوم علیه های آن با خودش برابر باشد)
ابتدا فلوچارت را رسم نموده و سپس توضیح می دهیم.
توضیحات:
m مجموع مقسوم علیه های n
s اعدادی که n بر آنها تقسیم میگردد
n عددی که کاربر وارد می کند
همانگونه که مشاهده می نمائید در آغاز برنامه m را برابر صفر قرار داده ایم زیرا هنوز مقسوم علیه n پیدا نشده و s را برابر 2 قرار دادیم زیرا اولین عددی است که باید n بر آن تقسیم گردد.
پس از آن عدد n توسط برنامه خوانده می شود و شرط اول را بررسی می نماید و اگر s برابر یا کوچکتر از نصف n بود شرط درست است و شرط بعدی را بررسی می نماید، اگر باقیمانده عدد خوانده شده بر s صفر بود پس یک مقسوم علیه را پیدا کرده و آنرا با m جمع می کند و یک واحد به s اضافه می شود و اگر باقیمانده صفر نبود فقط یک واحد به s اضافه می شود، این روند تا زمانی که s بزرگتر از نصف n نشده ادامه یافته و پس از درست نبودن شرط، از حلقه خارج شده و آخرین شرط را بررسی می کند. در اینجا اگر m برابر n باشد جمله kamel ast چاپ شده و در غیر این صورت جمله kamel nist چاپ می شود و برنامه پایان می پذیرد.
در پست بعدی حلقه های تودرتو را توضیح می دهیم.
- ۹۲/۰۵/۲۷