تعریف یک حلقه در تابع

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • neda-a

    • 2014/11/25
    • 53

    [حل شده] تعریف یک حلقه در تابع

    سلام
    من میخوام یک تابع تعریف کنم که با گرفتن ورودی عملیات زیر را تا جایی که مقدار ورودی از صفر بیشتر هست انجام بدهد خروجی مجموع جواب های هر بار تکرار حلقه باشه
    (عملیات : اگر نام ورودی t فرض کنیم t/10+1)
    مثلا اگر ورودی 3 باشد
    چون 3بزرگتر از 0 است مقدار x= 3/10+1 را انجام بدهد (که می شود 1.3) بعد یکی از 3 کم کند و دوباره شرط را بررسی کند و اینبار مقدار x=1.2 شده و در تکرار بعد مقدار x=1.1 و نهایتا خروجی تابع بشود 1.3+1.2+1.1
    چطور باید اینو بنویسم؟
  • amir_ts

    • 2015/03/17
    • 1247

    #2
    با سلام
    این تابع رو ملاحظه کنید.

    کد:
    [LEFT]
    [/LEFT]
    Function Divide(l As Long) As Double
        Dim dVal As Double
    
        Do While l > 0
            dVal = dVal + l / 10 + 1
            l = l - 1
        Loop
        Divide = dVal
    
    End Function
    [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

    کامنت

    • neda-a

      • 2014/11/25
      • 53

      #3
      ممنونم از وقتی که گذاشتید ولی متاسفانه این کد منو به جواب نرسوند

      کامنت

      • amir_ts

        • 2015/03/17
        • 1247

        #4
        نوشته اصلی توسط neda-a
        ممنونم از وقتی که گذاشتید ولی متاسفانه این کد منو به جواب نرسوند
        آیا با استفاده از تابع به جواب صحیح نمیرسید؟
        اگر ممکنه توضیح بدید.
        [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

        کامنت

        • امين اسماعيلي
          مدير تالار ويژوال بيسيك

          • 2013/01/17
          • 1198
          • 84.00

          #5
          داداش میشه دومیشو که یکی ازش کم میکنیو بگی چیطور میشه 1.2
          در پناه خداوندگار ایران زمین باشید و پیروز

          کامنت

          • amir_ts

            • 2015/03/17
            • 1247

            #6
            نوشته اصلی توسط امين اسماعيلي
            داداش میشه دومیشو که یکی ازش کم میکنیو بگی چیطور میشه 1.2
            وقتی مقدار l یکی ازش کم میشه میاد بالا عدد 2 تقسیم بر 10 به علاوه 1 میشه و 1.2 بست میاد.!!!!!
            [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

            کامنت

            • neda-a

              • 2014/11/25
              • 53

              #7
              ممنون از همه اساتیدی که وقت گذاشتن
              یکی از اساتید جواب سوال را دادن و جواب را میذارم برای دوستانی که ممکنه به این مساله برخورد کنن

              کد:
              Function neda(m)
              Dim x
              x = 0
              Do While m > 0
                     x = x + (m / 10) + 1
                      
                      m = m - 1
                  Loop
              neda = x
              
              
              
              [End Function

              کامنت

              • neda-a

                • 2014/11/25
                • 53

                #8
                البته این کد هم درست هست
                نوشته اصلی توسط amir_ts
                با سلام
                این تابع رو ملاحظه کنید.

                کد:
                [LEFT]
                [/LEFT]
                Function Divide(l As Long) As Double
                    Dim dVal As Double
                
                    Do While l > 0
                        dVal = dVal + l / 10 + 1
                        l = l - 1
                    Loop
                    Divide = dVal
                
                End Function

                کامنت

                چند لحظه..