PDA

نسخه کامل مشاهده نسخه کامل : کمک فوری خیلی فوری میخوام



پسراژدهاسوار
16-10-2013, 13:59
n امین روز سال چند شنبه میشود؟ مثلا اگر n=34 باشد میشه 2 اردیبهشت

Mohammad_HNF
17-10-2013, 14:06
چطوری یه برنامه بنویسم که یه عدد دریافت کنه بعد مثلا بگه روز و ماه و سالشو مثل این 32 که میشه 2 اردیبهشت یعنی 31 روز اردیبهشت داره 2 روز بعدش میشه 2اردیبهشت

لطفا سوالت رو واضح تر بگو تا بتونم کمکت کنم

n00b
17-10-2013, 19:03
سلام../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
************
این برنامه همون کاری که می خواید رو انجام میده..//// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
***************

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
***********
موفق باشید! [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

Mohammad_HNF
24-10-2013, 18:32
سلام معذرت می خوام ولی بهتر بود که در حلقه دوم دستور if رو اینطوری بنویسید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

n00b
24-10-2013, 20:32
سلام../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
*************
خوشحالم از این که برنامه رو خوندید و ممنون که جواب دادید../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
****************
مشکل اینجاست که اگه از 30=< استفاده کنید// با وارد کردن اعداد 30 61 92 123 154 185 216 246 276 306 336 و اعداد قبل + 1 و.../// برنامه نتیجه ی اشتباه نمایش میده../// (یکم بهش فکر کنید متوجه میشید چرا..///)./// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
************
موفق باشید! [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


***************************
اینا اعدادی هستند که با وارد کردنشون// شماره روز برابر صفر میشه///
************

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
***************
عدد 62 میشه 31 + 31 یعنی روز 31 ماه 2../// ولی اگه این عدد رو تو برنامه وارد کنید نتیجه میشه روز 1 ماه 3 که اشتباه هستش..///
***********
برنامه با وارد کردن هر دو عدد 31 و 32 نتیجه ی روز 1 ماه 2 رو نمایش میده../// که این مقدار برای عدد 31 اشتباه هستش..////
***************
اعداد بالا + 1 هم همین نتیجه رو میدن..//////////// از اعداد بالا بین اعداد بزرگتر از 217 اگه این اعداد رو با یک جمع کنید و تو برنامه وارد کنید// به دلیل مشکلی که تو حلقه دوم وجود داره مقدار روز برای ماه های 7 به بعد برابر 31 میشه که اشتباه هستش/// (این مشکل برای برنامه ی اول که خودم نوشتم وجود داره// و تو برنامه ی شما نتیجه مثل نتیجه ی اعداد 31 و 32 میشه//)..////
********
و کلی عدد دیگه هم هست..//////

n00b
24-10-2013, 22:02
این طور که معلومه هر دو برنامه مشکل داره../// متأسفانه وقتی برنامه قبل رو می نوشتم زیاد روش فکر نکردم و اون مشکلات پیش اومد..//// واقعاً متأسفم../// امیدوارم منو ببخشید../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
*********************
این برنامه ی جدیدی هستش که نوشتم/// فقط امیدوارم این بار درست کار کنه../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
*****************

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
******************
ممنون که نظر دادید/// حالا برنامه بهتر از قبل کار می کنه..//// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

**************


موفق باشید![ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

پسراژدهاسوار
25-10-2013, 20:26
سلا م میشه بگی چرا if رو کوچکتر مساوی 5 گذاشتی و یه توضیح در مورد برنام ات؟ راستی ممنون از توجهت:n11::n16:

n00b
25-10-2013, 22:17
سلام...////
****************
دو خط اول برنامه تعريف متغيير هايي هستش که بهشون نياز داريم.///
*******************

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
**********
متغيير intInput ورودي کاربر رو نگه ميداره// متغيير intDay شماره ي روز (در ماه) و متغيير intMonth شماره ي ماه رو ذخیره میکنه..///
**************
تو خط بعدي ورودي رو از کاربر دريافت مي کنيم و داخل متغيير intInput قرار ميديم// و تو خط بعديش شماره ماه رو برابر 1 قرار ميديم../// (شماره ماه بايد يه عدد بين 1 تا 12 باشه و مقدار 0 قابل قبول نيست.//)///
**********

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
**************
خط بعدي تعريف يه حلقه هستش که 11 بار تکرار ميشه../// (0 1 2 3... تا 10 که جمعاً میشه 11 تا عدد.// 6ماه 31 روزه و 5ماه 30 روزه// بیشتر از این نیازی نیست که بررسی بشه///)///
**********

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
***************
تو خط بعدي يه شرط وجود داره که بررسي مي کنه حلقه چند بار اجرا شده// اگه حلقه کمتر از 6 بار اجرا شده باشه يعني برنامه در حال بررسي 6 ماه اول سال هستش و ماه ها 31 روزه هستند/// و در صورت بزرگتر بودن عدد ورودي از 31// تعداد 31 روز از عدد ورودي کسر ميشه و يکي به مقدار ماه اضافه ميشه..///
***********
تو قسمت بعدي يه شرط وجود داره که بررسي مي کنه اگه عدد ورودي از 31 بزرگتر نباشه حلقه متوقف بشه// (اگه این شرط رو نذاریم برنامه ماه های 30 روزه رو هم بررسی می کنه و ممکنه شماره روز به اشتباه 0 بشه و مقدار ماه یکی بیشتر از مقدار درست محاسبه بشه// مثل اتفاقی که تو برنامه ی قبل می افتاد///)..////
**************
قسمت دوم شرط اول در صورتي اتفاق مي افته که تعداد دفعات اجراي حلقه از 6 بيشتر باشه// در اين صورت يعني برنامه در حال بررسي ماه های بعدی سال هستش و در این ماه ها تعداد روز های هر ماه 30 روز هستش// و اگه عدد ورودی از 30 بزرگتر باشه تعداد 30 روز ازش کم میشه و یکی به مقدار ماه اضافه میشه..///
******************
و اگر مقدار ورودی کمتر از 30 باشه حلقه متوقف میشه/// اینجوری سرعت برنامه یه مقدار افزایش پیدا می کنه و از به کار گیری بیهوده ی منابع سیستم جلوگیری میشه///
************
در آخر مقدار متغییر intDay رو برابر مقدار ورودی که تا اینجای برنامه حتماً به یه عدد کوچکتر از 31 یا 32 تبدیل شده قرار میدیم// که شماره ی روز رو مشخص می کنه..///
**************
و نتیجه رو به کاربر نشون میدیم..///
*********************
یه روش دیگه برای نوشتن این برنامه استفاده از عملگر های ریاضی تقسیم، باقی مانده و تفریق هستش..//// که خیلی ساده تره..///
********
موفق باشید!

n00b
25-10-2013, 22:53
این برنامه هم کار همون برنامه ی بالا رو انجام میده// و با عملگر های ریاضی تقسیم، باقی مانده و... نوشته شده.../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
**************

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
****************
تو برنامه ی اول intInput > 30 And intInput <> 31 معادل intInput > 31 هستش و اشتباهه// این باعث میشه شرط دوم هم ماه ها رو 31 روزه در نظر بگیره../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
**************
ای کاش از اولش تو این تاپیک پست نمی دادم..//// همش خراب کاری شد..//// (اصلاً شاید به خاطر همین اینجا رو ترک کنم!!!//)./// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
***********
موفق باشید! [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

پسراژدهاسوار
26-10-2013, 17:40
من اینو نوشتو درست جواب داد

a = InputBox("Enter adad ")


If a <= 186 Then
m = a \ 31
m = m + 1
r = a Mod 31
End If
If a > 186 And a <= 365 Then
a = a - 186
m = a \ 30
m = m + 7
r = a Mod 30
End If

Print "mah:"; m
Print "rooz:"; r
End Sub
راستی دمت گرم کاش همه مث تو بودن از اینجا نرو داش:n04::n22:

n00b
26-10-2013, 18:39
سلام../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
************
برنامه ی شما مثل همون برنامه ی آخری هستش که نوشتم../// اما اگه تو برنامتون مضارب 31 کوچکتر و مساوی از 186 و (مضارب 30) + 186 رو وارد کنید// برنامه نتیجه ی اشتباهی رو به دست میاره..//// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
*****************
این اعداد رو امتحان کنید./// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
***********

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
**************
اگه با این روش راحت تر هستید برنامه ی آخر رو بررسی کنید/// اون برنامه هم به همین روش نوشته شده// فقط چند تا شرط اضافه تر داره که باعث میشه با اعداد بالا مشکلی نداشته باشه../// اگه توضیح خواستید بگید./// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
**********
موفق باشید! [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

Mohammad_HNF
05-11-2013, 21:07
سلام ببخشید اما کد شما درست جواب نمیده لطفاً این عدد ها رو امتحان کنید متوجه می شید
31
62
93
124
155 و................
همینطور 31 عدد به این ها اضافه کنید میبینید که روز آنها را 0 چاپ می کنه.

n00b
05-11-2013, 21:51
سلام../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
************
تو برنامه ی آخر این مشکل وجود نداره../// لطفاً دوباره امتحان کنید../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
******************
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
*******************
موفق باشید! [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


***************************
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

Mohammad_HNF
06-11-2013, 13:54
سو تفاهم نشه من با آقای پسر اژدها سوار بودم وقتی عدد هایی رو که ذکر کردم بزنید متوجه می شید که کدشون اشتباه است:n26: