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



ارسال پاسخ
تعداد بازدید 1555
نویسنده پیام
lsg آفلاین


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

تشکر شده : 5
اموزش برنامه نویس ویژوالبیسیک_vb6
سلام از امروز آموزش vb رو شروع می کنیم خواهش اسپم ندید

خب اول ازهمه برید vb6 رو دانلود کنید

بلدنیستید از کجا ؟ خب مشکلی نیست لینک داناود

خب یه چیزی بگم تا من بخش ها رو آماده می کنم شما یکم باهاش ور برید ببینید اصلاً چیه ای ویژوال بیسیک که میگن ادمه ،حیونه ،چیه ؟
از همین الان به دوستان تند رو هم میگم که مثل این تند رو های سوریه نکنن کارمون به .......... میکشه

یه توضیح کوچیک درمورد وی بی :
ویژوال بیسیک توسعه یافته زبان برنامه‌نویسی بیسیک می‌باشد. بیسیک توسط پروفسور جان کمنسی و توماس کرتز از کالج دارتموث برای نوشتن برنامه‌های ساده ایجاد شد. طراحی آن از اواسط دهه ۱۹۶۰ آغاز گردید. ویژوال بیسیک تا نسخه ۳ به صورت ۱۶ بیتی بود. از نسخه ۵ به بعد فقط ویرایش ۳۲ بیتی آن ارائه شد. (نسخه ۴ هم به صورت ۱۶ بیتی و هم به صورت ۳۲ بیتی عرضه شده بود.)
ویژوال بیسیک از نسخه ۶ به بعد بر پایه چارچوب دات‌نت (NET.) ارائه شد. اگر چه با ظهور ویژوال بیسیک دات نت اکثربرنامه‌نویسان ویژوال بیسیک ۶ به آن گرویدند، ولی نسخه ۶ همچنان طرفداران ویژه‌ی خود را دارد.
ویژوال بیسیک برای توسعه سریع نرم افزار (RAD یا Rapid Application Development) بر پایه رابط گرافیگی کاربر (GUI یا Graphical User Interface) توسعه داده شد. دسترسی آسان و سریع به پایگاه دادهها با استفاده از DAO ،RDO یا ADO و ایجاد کنترل‌های اکتیو ایکس از جمله مواردی هستند که این زبان را برای RAD مناسب کرده‌اند.
برنامه‌نویسی در ویژوال بیسیک به صورت رخدادگرا می‌باشد. در برنامه‌نویسی تجاری، ویژوال بیسیک جز محبوب‌ترین‌ها است. بنابه آماری که در سال ۲۰۰۳ منتشر شد، ۵۳٪ از برنامه‌های تجاری با استفاده از این زبان تولید شده‌ اند


شنبه 08 تیر 1392 - 13:03
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
lsg آفلاین



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

تشکر شده : 5
پاسخ : 1 RE اموزش برنامه نویس ویژوالبیسیک_vb6
مقدمه :
با ورود رایانه به بازار نرم افزار ها و برنامه های کاربردی بسیاری به همراه آن برای برطرف کردن نیاز های روز مره و روز افزون کاربران پدید آمد . از جمله این نرم افزار ها و برنامه های کاربردی می توان به زبان های مختلف برنامه نویسی و..... اشاره کرد . از بین زبان های برنامه نویسی ویژوالبیسک به علت شی گرا بودن و در اختیار گذاشتن کتابخانه های مختلف قادر است نیاز های کاربران را در سطح گسترده ای بر طرف سازد .
در این تاپیک سعی میکنم با بیان مثال های ساده و سلیس(روان ) بودن متن به صورت مقدماتی شما رو با مفاهیم پر کاربرد ویژوال بیسک آشنا کنم .
نکته دیگه اینکه مباحث مطرح شده در این تاپیک جنبه بیان مفاهیم و کلیات قواعد اصلی زبان ویژوال بیسک را دارد و برای به دست آوردن مهارت کافی لازمه مطالعه با لا و تمرین و همراه بودنه با ماست (ماست خوردنی نه )


نکته دیگه این که اگه میبینید غلط املایی دارم به این دلیله که دارم از تو مخم می نویسم پس ببخشید

شنبه 08 تیر 1392 - 22:30
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
lsg آفلاین



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

تشکر شده : 5
پاسخ : 2 RE اموزش برنامه نویس ویژوالبیسیک_vb6
الگوریتم و فلور چارت :

خب این مبحث پایه و اساس برنامه نویسیه پس باید اینو خوب یاد بگیرید . الگوریتم و فلور چارت تنها چیز هایی هستن که بین تمام زبان های برنامه نویسی به طور کامل مشترک هستن ((همه برای یکی یکی برای همه ))

بریم سر اصل مطلب اون فرعش بود :::
شما برای تمامی کار های روزمره خود یک روال خواص رو طی می کنید تا اون کار انجام بشه .
برای مثال وقتی که کاری مثل غذا خوردن را انجام میدید مراحل غذا خوردن با این صورت هست :
1-با استفاده از قاشق غذای خود را بر می دارید 2- غذا رو داخل دهان می زارید 3قاشق رو می زارید سره جاش 4- خوب غذا رو می جوید
((اوفففففف من خودم نمیدونستم غذا خوردن هم اینقده سخته ))پس شما برای رفع گرسنگی که راهه حلش غدا خوردن هست این مراحل رو طی می کنید و نمیتونید یکی از این مراحل رو انجام ندید مگر سیر باشد و غذا نخوری خب پس باید طبق این مراحل پیش برید تا مشکل سیری هم حل بشه .
یعنی شما در تمام کار های خود یک روال و برنامه رو طی می کنید هرچند شاید در بعضی موارد جزئی با هم تفاوت داشته باشن

خب دقت کنید :: به این کار می گن الگوریتم پس چیز سختی نیست

در برنامه نویسی رایانه هم دقیقاً این مورد حاکم است .
شما برای حل یک مسئله و یا یک مشکل باید مرحله به مرحله به کامپیوتر یاد بدید که چکار بکن چکار نکن و بهش بفهمونین که این مشکل رو چطوری حل کن .
در واقع هر برنامه ای که می نویسید (انشاء الله ) باید یک مسئله رو حل کنه و برنامه شما مراحل رو قدم به قدم به فرمان شما میره تا اون مسئله رو حل کنه . به این مراحل قدم به قدم که برای حل مسئله به کار گرفته می شود الگوریتم گفته میشود .
برای مقال وقتی که می خواهید برنامه ای بنویسید که فاکتوریل عدد 7 رو محاسبه کنه اولا باید بدونید که این مسئله است و برای هر مسئله ای راه حلی به نام الگوریتم باید به کامپیوتر معرفی نمود .
کامپیوتر خود به خود نمیتواند فاکتوریل یک عدد را حساب کند مگر اینکه فرمول محاسبه فاکتوریل یک عدد را با استفاده از یک برنامه به اون نشون بدیم .
بنا بر این با توجه به مطالب گفته شده یک تعریف جامع و کلی از الگوریتم می گم :
الگوریتم مجمعه دستور العمل هایی مشخص است که مراحل انجام یک کار و یا مسئله را بازیانی دقیق و با جزییات کافی که چگونگی ترتیب کامل عملیات و کار ها را ذکر می کند .

نکته:کلمه الگوریتم از دانشمند بزرگ و پرآوازه یعنی خوارزمی گرفته شده است .

خب تا مرحله دوم فعل .............برمیگردیم با شما

شنبه 08 تیر 1392 - 22:53
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
تشکر شده: 1 کاربر از lsg به خاطر این مطلب مفید تشکر کرده اند: yas16 /
lsg آفلاین



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

تشکر شده : 5
پاسخ : 3 RE اموزش برنامه نویس ویژوالبیسیک_vb6
قسمت دوم ::::::::::::الگوریتم و فلورچارت

هنگامی که یک الگوریتم را می نویسید دقت کنید که موارد زیر حتماًدر اون رعایت شه :
-آغاز و پایان الگوریتم به طور دقیق مشخص باشد
-مراحل داری جزییات کافی باشد
-مراحل با زبانی دقیق نوشته شود .مثلاً عبارت "حدود ظهر است" برای کامپیوتر نامفهومه است و باید دقیق ذکر کنید که مثلاً "ساعت 11.52" ظهر است .
-مراحل به ترتیب و درست نوشته شود .

الگوریتمی که داری ویژگی های فوق باشد الگوریتم درستی است و برای کامپیوتر به طور کامل قابل ترجمه و تفهمیم است .

انواع دستور العمل ها ::::::::
1- دستور العمل های محاسباتی و انتسابی : در این نوع دستور العمل ها می توانید مقداری را به یک متغیر نسبت دهید و یا عملیات محاسباتی انجام دهید .
مثلاً در دستور (first=hello) مقدار hello را به متغیر first نسبت میدهد یعنی هر و قت گفتیم first یعنی hello یا بلعکس
و یا دستور (sec=2*5)که ابتدا عدد 2 را در 5 ضرب می کند سپس آن را در متغیر sec قرار می دهد یعنی هر وقت گفتیم sec یعنی اول 2 رو در 5 ضرب کن بعد جواب رو بده.
2- عبارات توضیحی: برای اضافه کردن توضیح با الگوریتم یا برنامه استفاده میشود . که برای جدا کردناز آن ، دستور العمل ها داخل پرانتز قرار می گیرد
3- دستور العمل های شرطی: به وسیله ی این دستور العمل ها می توان شرطی را بر رسی کرد در صورتی که آن شرط درست باشد عبارت عبارت بعد از آن اجرا می شود . برای مثال دستورِ"اگر 3 >2 باشد آنگاه چاپ کن درست است"
((( منظور از چاپ کن در برنامه نویسی معمولاً نمایش دادن است .))) این الگوریتم تنها در صورتی عبارت "درست است " را چاپ می کند که عدد 3 از 2 بزرگتر باشد و چون این عبارت همیشه درست است در نتیجه همواره در هنگام اجرای برنامه عبارت "درست است " چاپ میشود .
4- دستور العمل های خوروجی :به صورت "چاپ کن مقدار مورد نظر " مورد استفاده قرار میگیرد . حال با استفاده از مطالب ذکر شده یک مسئله ذکر می کنیم و الگوریتم و یا شبه کد آن را می نویسیم :

مثال : الگوریتمی بنویسید که دو عدد را بگیرد و آن ها را با هم جمع کند و سپس حاصل جمع آن ها را در خروجی نمایش دهد .

خب الگوریتم مورد نظر به این صورت هست :
1. شروع
2. دو عدد a, b را دریافت کن
3. s=a+b
4. s را چاپ کن
5. پایان

توضیح : همان طور که در الگوریتم بالا می بینید مرحله به مرحله و قدم به قدم راه حل مسئله نوشته شده است . در خط 1 برنامه شروع شده و در خط 5 پایان یافته است ( دو مرحله اصلی اول و سوم ) از خطوط 2 تا 4 دستور العمل ها و کد ها نوشته شده اند (دومین مرجله اصلی ). در خط 2 الگوریتم 2 عدد دلخواه aو b را به s نبست میدهد یعنی در s قرار می دهد . سپس در مرحله 3 مجموع دو عدد aو b را چاپ میکند و مسئله به همین راحتی حل میشود .

یکشنبه 09 تیر 1392 - 09:29
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
lsg آفلاین



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

تشکر شده : 5
پاسخ : 4 RE اموزش برنامه نویس ویژوالبیسیک_vb6

قسمت
سوم::::: الگوریتم وفلورچارت

مثال ها:

1- الگوریتمی بنویسید که طول را برحسب سانتی متر ازکاربر گرفته و آن را تبدیل به متر کند .
حل : ابتدا به الگوریتم توجه کنید :
شروع

Aرا بگیر

A=a*100

Aرا چاپ کن

پایان

توضیح:تنها موردی که ممکن است نیاز به توضیح داشته باشد خط سوم است .این یک ویژگی درالگوریتم و به تبع زبان های برنامه نویسی است. زبان های برنامه نویسی این ویژگی رابه متغیر ها می دهند که در طول اجرای برنامه هربار مقدار جدیدی را بپذیرند ومقادیر قبلی جای خود را به مقادیر جدید بدهند.درخط 3از این ویژگی استفاده کرده ایم . ابتدا عددa راکه توسط برنامه از کاربر گرفته شده است را در 100 ضرب کرده و سپس آن را مساوی a قرار می دهیم تا جای گزین مقدار قبلی a یعنی عدد گرفته شده تسوط کاربر شود .(یکم به مغزت فشار بیار J ) البته در این الگوریتم هیچ نیازی به قرار دادن a*100 درهمان متغیر a نداشتیم و می توانستیم این مقدار را در یک متغیر دیگر مانندb قرار دهیم سپس در خط 4 دستور می دادیم که b را چاپ کند. اما در بعضی الگوریتم ها استفاده از این ویژگی ضروری است و بدون استفاده از این ویژگی حل مسئله امکان پذیر نیست . در ادامه چنین مثال
هایی را ذکر میکنیم
تمرین: سعی کنید یه 7 8 تا کار تو زندگی پیدا کنید و برای اونا الگوریتم کتبی بنویسید و تمرین کنید
خب دراینجا لازمه با یک دستور العمل بسیار مهم و پر کاربرد در الگوریتم و فلورچارت آشنا شوید:


چگونگی ایجاد حلقه ی تکرار و استفاده ازآن در حل مسائل:


دربسیاری از برنامه ها شما مجبور هستید که دستور العملی را چندید بار به صورت محدود یا نا محدود تکرار کنید . در این صورت برای انجام این کار الگوریتم و فلورچارت راه ساده ای را برای شما پیشنهاد می کند و آن ایجاد حلقه های تکرار است
. اهمیت حلقه های تکرار در مثال های جلسه آینده بیش از پیش برای شما آشکار خواهد شد . ایجاد حلقه تکرار بدین صورت است، به عنوان مثال شما مجموعه ای از دستورالعمل ها را از خط 100 تا 105 برنامه فرضی خود نوشته اید و در خط 105 نیاز دارید
که درصورت برقراری یک شرط خواص یا با دستور العمل (اگر مشخص میشود ) و یا تعداددفعات تکرار دلخواه (یعنی چند بار اون کد تکرار بشه ) خطوط 100 تا 105 دوباره اجرا شوند . این خطوط تا زمانی که شما شرطی برای بیرون آمدن از
حلقه تکرار نگذارید و یا تعداد دفعات آن را محدود نکنید ادامه خواهند یافت برای برقراری حلقه تکرار کافی است در خط 105 برنامه فرضی خود عبارت (برگرد به خط 100) را بنویسید و برنماه به خط 100 برگشته و درصورتی که دوباره به 105 برود باز هم به خط 100 ارجاع داده میشود و در صورتی که شرطی برای نقض این حلقه قرار ندهید ، حلقه تا بینهایت ادامه خواهد یافت (این عمل موجب متوقف شدن برنامه میشود و اگر الگوریتمی شامل چنین حلقه های تکراری باشد الگوریتم استانداردی نیست !)


در جلسه بعد مثال هایی از حلقه های تکرار ذکر میشود

منتظر نظرات شما هستیم


شنبه 15 تیر 1392 - 17:49
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
yas16 آفلاین



ارسال‌ها : 1
عضویت: 19 /11 /1391
محل زندگی: lorestan
شناسه یاهو: nemoone1213@yahoo.com
تشکرها : 1

پاسخ : 6 RE اموزش برنامه نویس ویژوالبیسیک_vb6
نقل قول از lsg

قسمت
سوم::::: الگوریتم وفلورچارت

مثال ها:

1- الگوریتمی بنویسید که طول را برحسب سانتی متر ازکاربر گرفته و آن را تبدیل به متر کند .
حل : ابتدا به الگوریتم توجه کنید :
شروع

Aرا بگیر

A=a*100

Aرا چاپ کن

پایان

توضیح:تنها موردی که ممکن است نیاز به توضیح داشته باشد خط سوم است .این یک ویژگی درالگوریتم و به تبع زبان های برنامه نویسی است. زبان های برنامه نویسی این ویژگی رابه متغیر ها می دهند که در طول اجرای برنامه هربار مقدار جدیدی را بپذیرند ومقادیر قبلی جای خود را به مقادیر جدید بدهند.درخط 3از این ویژگی استفاده کرده ایم . ابتدا عددa راکه توسط برنامه از کاربر گرفته شده است را در 100 ضرب کرده و سپس آن را مساوی a قرار می دهیم تا جای گزین مقدار قبلی a یعنی عدد گرفته شده تسوط کاربر شود .(یکم به مغزت فشار بیار J ) البته در این الگوریتم هیچ نیازی به قرار دادن a*100 درهمان متغیر a نداشتیم و می توانستیم این مقدار را در یک متغیر دیگر مانندb قرار دهیم سپس در خط 4 دستور می دادیم که b را چاپ کند. اما در بعضی الگوریتم ها استفاده از این ویژگی ضروری است و بدون استفاده از این ویژگی حل مسئله امکان پذیر نیست . در ادامه چنین مثال
هایی را ذکر میکنیم
تمرین: سعی کنید یه 7 8 تا کار تو زندگی پیدا کنید و برای اونا الگوریتم کتبی بنویسید و تمرین کنید
خب دراینجا لازمه با یک دستور العمل بسیار مهم و پر کاربرد در الگوریتم و فلورچارت آشنا شوید:


چگونگی ایجاد حلقه ی تکرار و استفاده ازآن در حل مسائل:


دربسیاری از برنامه ها شما مجبور هستید که دستور العملی را چندید بار به صورت محدود یا نا محدود تکرار کنید . در این صورت برای انجام این کار الگوریتم و فلورچارت راه ساده ای را برای شما پیشنهاد می کند و آن ایجاد حلقه های تکرار است
. اهمیت حلقه های تکرار در مثال های جلسه آینده بیش از پیش برای شما آشکار خواهد شد . ایجاد حلقه تکرار بدین صورت است، به عنوان مثال شما مجموعه ای از دستورالعمل ها را از خط 100 تا 105 برنامه فرضی خود نوشته اید و در خط 105 نیاز دارید
که درصورت برقراری یک شرط خواص یا با دستور العمل (اگر مشخص میشود ) و یا تعداددفعات تکرار دلخواه (یعنی چند بار اون کد تکرار بشه ) خطوط 100 تا 105 دوباره اجرا شوند . این خطوط تا زمانی که شما شرطی برای بیرون آمدن از
حلقه تکرار نگذارید و یا تعداد دفعات آن را محدود نکنید ادامه خواهند یافت برای برقراری حلقه تکرار کافی است در خط 105 برنامه فرضی خود عبارت (برگرد به خط 100) را بنویسید و برنماه به خط 100 برگشته و درصورتی که دوباره به 105 برود باز هم به خط 100 ارجاع داده میشود و در صورتی که شرطی برای نقض این حلقه قرار ندهید ، حلقه تا بینهایت ادامه خواهد یافت (این عمل موجب متوقف شدن برنامه میشود و اگر الگوریتمی شامل چنین حلقه های تکراری باشد الگوریتم استانداردی نیست !)


در جلسه بعد مثال هایی از حلقه های تکرار ذکر میشود

منتظر نظرات شما هستیم


ببخشید استاد تو خط اول a کوچیک باید نوشته بشه فک کنم,درسته؟

پنجشنبه 10 مرداد 1392 - 19:59
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
lsg آفلاین



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

تشکر شده : 5
پاسخ : 7 RE بخش بعدی
مثال ها :




الگوریتمی بنویسید که
اعداد 1 تا 1000 را چاپ کند ؟





توضیح :دقت کنید فردی که
این ذهنیت برایش پیش بیاید که به راحتی .پو به صورت دستی می توانیم به کامپیوتر
بگوییم ( اعداد 444،35،000،1،0 را چاپ کن ) و یا اینکه کلیه اعداد را بنویسیم و در
پایان دستور نمایش آن را صادر کنیم راه حل منطقی و درستی به نظر نمی آید . و اصولا
راه حل اول اصلا امکان پذیر نیست چون گفتیم که یک الگوریتم باید کاملا مشخص باشد و
سه نقطه (000) اصلا برای رایانه مفهومی ندارد . ولی راه حل دوم با صرف وقت زیاد (
نوشتن اعداد از 1 تا 1000)امکان پذیر است اما تنها در صورتی که به ما نگویند که
الگوریتمی بنویسید که اعداد 1 تا 10000000000 را چاپ کند


خوب
همانطور که حدس زده اید تنها راه منطقی و استاندارد برای حل این مسئله و نوشتن
الگوریتم آن استفاده از حلقه های تکرار است . ابتدا به الگوریتم و سپس به توضیح آن
دقت کنید :


شروع


عدد
1 را در a قرار بده


a را چاپ کن .


4-a+1 را در a
قرار بده یا اینکه (a=a+1)


اگر
a>1001
باشد
آنگاه برگرد به خط 3 در غیر این صورت برو به 6


پایان
.


توضیح
: الگوریتم را باید به دقت بررسی کنیم . و حتما ابهاماتی برای شما پیش آمده است .
الگوریتم در خط 1 شروع شده و در خط 6 پایان می یابد . در خط 2 با یک تیر دو نشان
زده ایم . اول اینکه متغیر a را تعریف کرده ایم ثانیا
عدد 1 را به آن نسبت داده ایم . پس حال اگر برنامه عدد a را چاپ کند ، 1 را نمایش
خواهد داد . پس خط 3 عدد 1 را چاپ می کند . در مورد خط 4 باید توجه کنید که از
ویژگی که در مثال 1 گفته شد استفاده کرده ایم یعنی یک مقدار جدید با استفاده از
خود متغیر a به صورت a+1 ایجاد کرده و دوباره در a قرار داده ایم . این عمل موجب جایگزین شدن مقدار جدید به جای
مقدار قبلی در متغیر a می شود . ابتدا a که اکنون شامل عدد 1 است را با 1 جمع کرده (2)
و
سپس دوباره در a قرار می دهیم . این عمل باعث جایگزین شدن مقدار 2 به جای 1 در متغیر a می شود . پس بعد از پایان خط 4 ، متغیر a شامل عدد 2 خواهد بود . حال به سراغ خط اصلی یعنی خط 5 می رویم .
در خط 5 یک شرط با عبارت شرطی (اگر ... آنگاه ...در غیر اینصورت ...) چک می شود .
این عبارت ، یعتی ( اگر a>1001 باشد آنگاه برگرد به 3 ) یک حلقه ی تکرار بین
خطوط 3 تا 5 ایجاد میکند . یعنی تا زمانی که a که در هر بار اجرای حلقه یک واحد به آن اضافه می شود کوچکتر از
1001 باشد حلقه اجرا خواهد شد و زمانی که a
برابر 1001 باشد ، 1001 چاپ نشده و برنامه شرط در غیر اینصورت را اجرا خواهد کرد .
دقت کنید که نیازی به ذکر قسمت ( در غیر اینصورت ) نداشتیم . چون در صورت درست نبودن شرط برنامه خود به خود به
خط بعدی منتقل می شد و برنامه در خط 6 پایان می پذیرفت . اما در مورد اینکه چرا
عدد 1001 را نوشته ایم باید یک بار برنامه را همانند رایانه اجرا کنیم . فرض کنید
عدد a به 999 رسیده است و خط 3 را اجرا کرده و عدد 999 را نمایش داده
است . حال در خط چهارم مقدار a به
1000 می رسد . ما خط 5 را به دو صورت می توانستیم بنویسیم تا عدد 1000 را نیز چاپ کند . یکی a>1001
و
دیگری a

چهارشنبه 16 مرداد 1392 - 17:29
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
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