شاید پیش اومده مجبور باشید یا بخواید بدون استفاده از توابع فاصله خاصی بین دو عدد رو پیدا کنید. اگر روی تقویم باشه مثال بسیار مناسبی برای طراحی الگوریتمش میتونیم بزنیم که من توی این ویدیو دقیقا همین موضوع رو تشریح کردم.
برای درک بهترش ویدیو رو به زبان انگلیسی ساختم ولی به زودی نسخه فارسیش رو هم برای خریدارها اضافه میکنم.
اگر دقیقا بخوام بگم توی این ویدیو چه چیزی تشریح میشه میتونم بگم الگوریتمی رو تعریف کردم که اختلاف بین دو روز در تقویم بدون استفاده از توابع بدست میاد. ورودی ها هم بصورت تاریخ وارد نشدن و ورودی هارو بصورت عددی میگیریم.
اگر سوالی در این مورد هم دارید میتونید همینجا کامنت بذارید برام.
برای نمونه هم با javascript این الگوریتم رو پیاده کردم که تفاوتی در پلتفرم و زبان مورد استفاده نداره و میتونید با هر زبانی روی هر پلتفرمی پیادش کنید.
ظاهرا موضوع سادهایه ولی در زمان اجرا حتما ایدهها و متدهای مختلفی به ذهنتون میرسه که هر کدوم ی پروسه خاصی دارن و من در بین اون ها این الگورتیم رو پیشنهاد میکنم.
// sorry for my dirty code! function calculate_price(){ var vorood_month = document.getElementById("vorood_date_month").value; var vorood_day = document.getElementById("vorood_date_day").value; var vorood_full = document.getElementById("vorood_date_month").value + document.getElementById("vorood_date_day").value; var khorooj_month = document.getElementById("khorooj_date_month").value; var khorooj_day = document.getElementById("khorooj_date_day").value; var khorooj_full = document.getElementById("khorooj_date_month").value + document.getElementById("khorooj_date_day").value; var vorood_month_left_days = 0; var next_month_left_days = 0; //duration calculator var duration; if(vorood_month == khorooj_month){ duration = khorooj_full - vorood_full; }else if (parseInt(khorooj_month) - parseInt(vorood_month) >= 2){ if (vorood_month >= "07"){ vorood_month_left_days = 30 - parseInt(vorood_day); }else{ vorood_month_left_days = 31 - parseInt(vorood_day); } if (parseInt(vorood_month) + 1 >= 7){ next_month_left_days = 30; }else{ next_month_left_days = 31; } duration = vorood_month_left_days + next_month_left_days + parseInt(khorooj_day); }else{ if(vorood_month >= "07"){ vorood_month_left_days = 30 - parseInt(vorood_day); duration = vorood_month_left_days + parseInt(khorooj_day); }else{ vorood_month_left_days = 31 - parseInt(vorood_day); duration = vorood_month_left_days + parseInt(khorooj_day); } } }
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.