زمان جاری : یکشنبه 30 اردیبهشت 1403 - 9:37 قبل از ظهر
نام کاربری : پسورد : یا عضویت | رمز عبور را فراموش کردم



lsg آفلاین



ارسال‌ها : 11
عضویت: 7 /12 /1391

تشکر شده : 5
پاسخ : 8 RE اموزش برنامه نویس ویژوالبیسیک_vb6
مثال 3 : الگوریتمی بنویسید که یک عدد را از کاربر گرفته و فاکتوریل آن را محاسبه و نمایش دهد .بدون هیچ توضیحی حلقه ی تکرار مربوط و الگوریتم را نوشته و سپس در مورد آن بحث می کنیم:

-1شروع

-2عدد a را بگیر

3- n=1 قرار بده

4- اگر a-n>=1 و n=1 آنگاه b=(a-n)*a قرار بده

5- اگر a-n>=1 و n>1 آنگاه b=(a-n)*b قرار بده

6- n=n+1 قرار بده

7- اگر a-n>=1 آنگاه برگرد به خط 4

‫-8عدد را چاپ کن.

‫-9پایان



‫توضیح :واضح است که برنامه در خط 1 شروع و در خط 9 پایان می یابد . همانطور که دقت می کنید خطوط 4 تا 7 برنامه تشکیل یک حلقه را می دهند و تا زمانی که شرط خط 7 نقض نشود برنامه ادامه خواهد یافت . در خط 2 برنامه عددی دلخواه را از کاربر می گیرد و در خط 3 متغیر عددی nرا تعریف می کند و به آن مقدار 1 را نسبت می دهد . خط های بعدی باید به دقت بررسی شوند . در خط 4 و 5 دو شرط مشابه تعریف می شوند و تنها تفاوت آن ها در1 بودن یا نبودن متغیر n است که در شرط 4 اگر n=1 باشد (که همواره برای اولین بار این شرط بررسی می شود و سپس در برگشت های بعدی حلقه شرط 5 بررسی می شود ) متغیر دیگری به نام b تعریف می کند و یک عدد کمتر از a را در a ضرب کرده و در b قرار می دهد . ‪ و در خط 7 هم حلقه کامل می شود . برای بررسی بهتر الگوریتم یک عدد فرضی را در نظر می گیریم و تمام مراحل الگوریتم را مانند رایانه بر روی آنها انجام می دهیم به عنوان مثال کاربر. و عدد 5 را وارد می کند
و برنامه هم طبق دستورالعمل ما در خط 2 این عدد را به متغیر a نسبت می دهد . در خط 3 متغیر n تعریف شده و مقدار 1 را می گیرد . مسلما در این مرحله شرط خط 4 درست است چرا که a-n که برابر 4 است در a یعنی 5 ضرب می شود و در متغیر b قرار داده می شود تا مقدار اولیه ی متغیر a که در مراحل بعدی مورد نیاز است دچار تغییر نشود . در این مرحله چون n=1 است واضح است که خط 5 اجرا نمی شود و در خط 6 یک عدد به مقدار n اضافه می شود و تبدیل به 2 می شود و چون a-n که در اینجا 2-5=3 است و بزرگتر از 1 پس خط 7 نیز درست بوده و برنامه به خط 4 برمی گردد ( البته می توانید به خط 5 ارجاع بدهید چون مطمئن هستیم عددی که بعد از 1 در n قرار می گیرد چون طبیعی است بزرگتر از 1 خواهد بود ) حال a-n برابر 3 و n>1 است پس خط 5 اجرا می شود یعنی مقدار a-n که حالا 3 است در عدد قبلی b که 5*4=20 است ضرب می شود و در b قرار می گیرد . پس b اکنون شامل عدد 60 است و سپس n=3 می شود و حلقه به همین منوال ادامه می یابد . خط 4 نیز تکرار خواهد شد تا جایی که n=5 می شود در این صورت a-n برابر صفر خواهد شد ( چون عدد گرفته شده5 بود ) و شرط های 4 و 5 و تابع 7 نقض می شوند و برنامه از حلقه خارج می شود و خط 8 اجرا شده و عدد نهایی که در b قرار گرفته است نمایش داده خواهد شد و برنامه توسط خط 9 به پایان می رسد و خروجی تحویل کاربر داده می شود .



شنبه 19 مرداد 1392 - 15:47
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
پرش به انجمن :

theme designed for MyBB | RTL by MyBBIran.com