نمایش نتایج 1 تا 8 از 8

نام تاپیک: محاسبه میانگین بدون در نظر گرفتن صفر درچند تکست باکس در فرم

  1. #1

    محاسبه میانگین بدون در نظر گرفتن صفر درچند تکست باکس در فرم

    با سلام واحترام در فایل پیوستی ، می خواهم میانگین چند عدد را در فرم بدست آورم ودر صورتی که یک یا چند تکست باکس صفر باشد آنها در میانگین اعداد منظور نشوند با تشکر
    فایل های ضمیمه فایل های ضمیمه

  2. #2

    نقل قول: محاسبه میانگین بدون در نظر گرفتن صفر درچند تکست باکس در فرم

    با سلام مجدد ،دوستان واساتید محترم ، منتظر راهنمایی ارزشمند شما هستم

  3. #3
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    73
    پست
    3,626

    نقل قول: محاسبه میانگین بدون در نظر گرفتن صفر درچند تکست باکس در فرم

    سلام و روز خوش

    1- بهتره با توضیح دقیق مسئله رو روشن کنین:

    n عدد داریم که k تای اونها صفر هست (k<>n)،
    در مخرج فرمول میانگین گیری به جای n ، مقدار n-k باشه.
    همین خواسته شماست؟

    2- فرم شما bound هست یا unbound ؟

  4. #4

    نقل قول: محاسبه میانگین بدون در نظر گرفتن صفر درچند تکست باکس در فرم

    سلام وعرض ادب خدمت استاد بزرگوار وتشکر ازراهنمایی های ارزشمند شما که همیشه راه گشا وآموزنده بوده است
    فرم Unbound است وبه شی خاصی متصل نیست
    در مثال ارائه شده در فایل ، چهار عدد داریم می خواهم اگر سه عدد نوشته شود جمع اعداد تقسیم بر سه شود وعددی که صفر است در میانگین
    منظور نشود واگر دو عدد نوشته شود میانگین دو عدد حساب شود ممنون از صبر وحوصله شما

  5. #5
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    73
    پست
    3,626

    نقل قول: محاسبه میانگین بدون در نظر گرفتن صفر درچند تکست باکس در فرم

    با سلام و احترام متقابل

    این پرسش شما گرچه ظاهر ساده ای داره،
    ولی نکات مهمی درش نهفته هست و ارزش بررسی بیشتری داره.

    من اول یک نمونه براتون آماده میکنم که مشکل شما رو در کوتاه مدت حل کنه،
    بعد اگر عمری باقی بود به تدریج این نکات رو هم مطرح میکنم و راه حل هر کدوم رو هم میگم.

  6. #6
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    73
    پست
    3,626

    نقل قول: محاسبه میانگین بدون در نظر گرفتن صفر درچند تکست باکس در فرم

    این نمونه پیوست کار شما رو راه میندازه،
    ولی برنامه خوبی نیست!

    دلایلش رو در پست های بعدی توضیح میدم.

    Option Compare Database
    Option Explicit


    Private Sub BTN_CALC_Click()
    CalcAverage
    End Sub


    Private Sub BTN_CLEAR_ALL_Click()
    TB_NUMBER_1 = Null
    TB_NUMBER_2 = Null
    TB_NUMBER_3 = Null
    TB_NUMBER_4 = Null
    TB_SUM = Null
    TB_AVERAGE = Null
    TB_NON_ZERO_COUNT = Null
    TB_NON_ZERO_AVERAGE = Null
    End Sub


    Private Sub CalcAverage()
    Const N As Long = 4
    Dim sum_all As Long
    Dim non_zero_count As Long

    sum_all = 0
    non_zero_count = 0

    If TB_NUMBER_1 <> 0 Then
    non_zero_count = non_zero_count + 1
    sum_all = sum_all + TB_NUMBER_1
    End If


    If TB_NUMBER_2 <> 0 Then
    non_zero_count = non_zero_count + 1
    sum_all = sum_all + TB_NUMBER_2
    End If

    If TB_NUMBER_3 <> 0 Then
    non_zero_count = non_zero_count + 1
    sum_all = sum_all + TB_NUMBER_3
    End If

    If TB_NUMBER_4 <> 0 Then
    non_zero_count = non_zero_count + 1
    sum_all = sum_all + TB_NUMBER_4
    End If

    TB_SUM = sum_all
    TB_AVERAGE = sum_all / N

    TB_NON_ZERO_COUNT = non_zero_count

    If non_zero_count > 0 Then
    TB_NON_ZERO_AVERAGE = sum_all / non_zero_count
    Else
    TB_NON_ZERO_AVERAGE = "Atleast one number should be none zero/null !"
    End If
    End Sub


    2.png
    فایل های ضمیمه فایل های ضمیمه

  7. #7
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    73
    پست
    3,626

    نقل قول: محاسبه میانگین بدون در نظر گرفتن صفر درچند تکست باکس در فرم

    حالا چرا این برنامه پست شماره 6 خوب نیست:

    1- درستی مقادیر چک نمیشه (validation)

    2- HardCode هست - اگر تعداد شماره ها کم و زیاد بشه کد باید تغییر کنه.

    3- اگر تعداد شماره ها زیاد باشه (مثلا 20 یا 50 و ...)
    این روش عملا قابل پیاده سازی نیست - بخصوص که validation هم همپای کد اصلی بزرگ میشه و هم کد اولیه و هم نگهداری اون سخت هست.

    4- جدای از کد، خود طراحی فرم هم با کم و زیاد شدن شماره ها باید تغییر کنه،
    و در تعداد زیاد شماره ها در عمل طراحی فرم single view به مشکل میخوره و عملی نیست.

  8. #8

    نقل قول: محاسبه میانگین بدون در نظر گرفتن صفر درچند تکست باکس در فرم

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

تاپیک های مشابه

  1. پاسخ: 13
    آخرین پست: دوشنبه 12 آبان 1399, 14:00 عصر
  2. پاسخ: 1
    آخرین پست: یک شنبه 06 فروردین 1396, 10:01 صبح
  3. پاسخ: 2
    آخرین پست: جمعه 31 مرداد 1393, 11:12 صبح
  4. پاسخ: 7
    آخرین پست: سه شنبه 28 آذر 1391, 14:48 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •