اطلاعیه

Collapse
No announcement yet.

کمک در مورد کار با متغیر ها در زبان بیسیک

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک در مورد کار با متغیر ها در زبان بیسیک

    سلام دوستان
    من دنبال یه روشی هستم که بتونه یه رشته عددی رو به ترتیب بریزه توی یه متغیر
    یعنی مثلا داریم
    a=12324365475682738
    حالا میخوام به ترتیب از کم ارزش یا همون سمت راستی ها شروع کنه و تک تک بریزه توی یه متغیر
    یعنی به ترتیب اینطور چیزی بده:
    b=8
    b=3
    b=7
    b=2
    و گیزی که به فکر خودم رسیده اینه که اول با دستور right اعداد رو جدا کنم و بریزم توی یه متغیر بعد با دستور high پر ارزش ترینش رو بریزم توی یه متغیر نهایی.
    شرمنده خیلی بد توضیح دادم.ممنون میشم راهنمایی بفرمایید

    #2
    پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

    سلام
    شما بهتره این مطلب رو توی بخش انجمن برنامه نویسی و اینترفیس مطرح کنی.
    حیف که فقط ++C بلدم وگرنه بهتر کمکت می کردم ولی اینو میدونم که اگه نامنظمه که بهتره از یه آرایه استفاده به به ترتیب به اون متغیر آدرس بدی و اگه پشت سر همه که باید از یه حلقه استفاده کنی.
    هر سوزنی که برای غیر خدا زدم به دستم فرو رفت (شیخ رجبعلی خیاط)

    دیدگاه


      #3
      پاسخ : کمک در مورد کار با متغیر ها در زبان بیس&#174

      من با سی کار میکنم و بیسیک یکم کار کرده بودم ولی الان زیاد یادم نیس :mrgreen:

      باید هربار عدد رو تقسیم بر 10 کنی و دوباره بریزی توی خود اون متغیر که در هربار به اندازه یک دهگان جلوتر میری
      وبعد باقیمانده تقسیم عدد بر 10 رو بخونی (میتونی با 9 اندش کنی) و در هر جایی خواستی بریزی


      a=123456
      b=a AND 9
      a=a/10
      c=a AND 9
      a=a/10
      d=a AND 9
      ...

      البت بهتره از حلقه استفاده کنی
      گذشت خصلت مردان است

      دیدگاه


        #4
        پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

        ممنون از این سرعت عالی واسه جواب دادنتون.
        والا از حلقه نمیشه استفاده کرد چون نا منظمه و باید از راست خونده بشه بره تا آخر.این قضیه تقسیم رو میشه توضیح بدین.شرمنده خوب نفهمیدم.اول and کردین بعد تقسیم؟این یعنی چی؟
        بازم ممنون

        دیدگاه


          #5
          پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

          سلام

          کد:
          $regfile = "M16def.dat"
          $crystal = 8000000
          
          $hwstack = 40
          $swstack = 16
          $framesize = 32
          
          
          
          
          
          
          
          
          Dim S As String * 20
          Dim Mid_s As String * 1
          
          Dim Len_s As Byte
          
          Dim I As Byte
          Dim B As Byte
          
          
          
          S = "12345678901234567890"
          Len_s = Len(s)
          
          
          
          
          For I = Len_s To 1 Step -1
          
            Mid_s = Mid(s , I , 1)
          
            B = Val(mid_s)
          
            Print B
          
          Next
          
          
          
          'OR
          
          
          
          For I = 1 To Len_s
          
            Mid_s = Mid(s , I , 1)
          
            B = Val(mid_s)
          
            Print B
          
          Next

          دیدگاه


            #6
            پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

            یا من متوجه نشدم یا دوستمون ! oo: !
            عدد مورد نظر ، در قالب عدد صحیح هست یا از نوع رشته ؟
            گذشت خصلت مردان است

            دیدگاه


              #7
              پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

              نوشته اصلی توسط tohid041
              یا من متوجه نشدم یا دوستمون ! oo: !
              عدد مورد نظر ، در قالب عدد صحیح هست یا از نوع رشته ؟
              دزسته من هواسم نبود کد زیر هم اضافه بشه تمومه

              کد:
              DIM NUM AS DWORD
              NUM=1234567890
              
              S=STR(NUM)


              دیدگاه


                #8
                پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

                من بیسیک کار نمیکنم ، کامل نفهمیدم چیکار کردین
                الان مشکل حل شده ؟
                گذشت خصلت مردان است

                دیدگاه


                  #9
                  پاسخ : کمک در مورد کار با متغیر ها در زبان بیس&#174

                  .
                  گذشت خصلت مردان است

                  دیدگاه


                    #10
                    پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

                    نوشته اصلی توسط shs_micro2
                    سلام دوستان
                    من دنبال یه روشی هستم که بتونه یه رشته عددی رو به ترتیب بریزه توی یه متغیر
                    یعنی مثلا داریم
                    a=12324365475682738
                    حالا میخوام به ترتیب از کم ارزش یا همون سمت راستی ها شروع کنه و تک تک بریزه توی یه متغیر
                    یعنی به ترتیب اینطور چیزی بده:
                    b=8
                    b=3
                    b=7
                    b=2
                    و گیزی که به فکر خودم رسیده اینه که اول با دستور right اعداد رو جدا کنم و بریزم توی یه متغیر بعد با دستور high پر ارزش ترینش رو بریزم توی یه متغیر نهایی.
                    شرمنده خیلی بد توضیح دادم.ممنون میشم راهنمایی بفرمایید
                    با سلام

                    خیلی راحت است اول رشته ها را یکی یکی جدا سپس به عدد تبدیل در متغیر قرار میدهیم

                    کد:
                    $regfile = "m8def.dat"
                    $crystal = 11059200
                    $baud = 9600                        ' use baud rate
                    
                    Dim Str_1 As String * 17
                    Dim Str_2 As String * 1
                    Dim Number(17) As Byte
                    Dim Cunt As Byte
                    Dim Temp As Byte
                    
                    
                    Str_1 = "12324365475682738"
                    Print "Number = " ; Str_1
                    
                    For Cunt = 1 To 17
                      Temp = 18 - Cunt
                      Str_2 = Mid(str_1 , Temp , 1)
                      Number(cunt) = Val(str_2)
                      Print "Number" ; Cunt ; " = " ; Number(cunt)
                    Next
                    
                    End                             'end program
                    و در خروجی خواهیم داشت

                    کد:
                    Number = 12324365475682738
                    Number1 = 8
                    Number2 = 3
                    Number3 = 7
                    Number4 = 2
                    Number5 = 8
                    Number6 = 6
                    Number7 = 5
                    Number8 = 7
                    Number9 = 4
                    Number10 = 5
                    Number11 = 6
                    Number12 = 3
                    Number13 = 4
                    Number14 = 2
                    Number15 = 3
                    Number16 = 2
                    Number17 = 1

                    دیدگاه


                      #11
                      پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

                      نوشته اصلی توسط Shapour-Ardebil
                      با سلام

                      خیلی راحت است اول رشته ها را یکی یکی جدا سپس به عدد تبدیل در متغیر قرار میدهیم

                      کد:
                      $regfile = "m8def.dat"
                      $crystal = 11059200
                      $baud = 9600                        ' use baud rate
                      
                      Dim Str_1 As String * 17
                      Dim Str_2 As String * 1
                      Dim Number(17) As Byte
                      Dim Cunt As Byte
                      Dim Temp As Byte
                      
                      
                      Str_1 = "12324365475682738"
                      Print "Number = " ; Str_1
                      
                      For Cunt = 1 To 17
                        Temp = 18 - Cunt
                        Str_2 = Mid(str_1 , Temp , 1)
                        Number(cunt) = Val(str_2)
                        Print "Number" ; Cunt ; " = " ; Number(cunt)
                      Next
                      
                      End                             'end program
                      و در خروجی خواهیم داشت

                      کد:
                      Number = 12324365475682738
                      Number1 = 8
                      Number2 = 3
                      Number3 = 7
                      Number4 = 2
                      Number5 = 8
                      Number6 = 6
                      Number7 = 5
                      Number8 = 7
                      Number9 = 4
                      Number10 = 5
                      Number11 = 6
                      Number12 = 3
                      Number13 = 4
                      Number14 = 2
                      Number15 = 3
                      Number16 = 2
                      Number17 = 1
                      ممنون دوستان خیلی زحمت کشیدین.این برنامه هم عالیه فقط مشکل من اینه که میخوام اعدادی که از رشته جدا میشن توی یه متغیر واحد بریزن نه چند تایعنی:
                      number=8
                      number=3
                      number=7
                      من میخوام محتویات یه رشته رو از راست تک به تک بریزم توی یه متغیر و بعد انتقال بدم به پورت ها.یعنی اولین کاراکتر سمت راست رشته رو بخونه بریزه به پورت بعد یه وقفه بعد کاراکتر بعدی و همینطوری ادامه بده تا کل رشته تموم بشه.و لازم دارم که توی رشته از اعداد دسیمال و حروف انگلیسی استفاده کنم.یعنی توی برنامه نباید نوع چیزی که توی رشته هست مهم باشه.

                      دیدگاه


                        #12
                        پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

                        دوستمون عدد رو تبدیل به رشته کاراکتری کردن و یکی یکی جدا کرده و به عدد تبدیل کرده و در متغیر مورد نظر قرار دادن .
                        روش خوبیه ولی با یک ایراد ، اینکه این توابع تبدیل حجم کد هارو افزایش میده و سرعت رو میاره پایین .
                        من روش ریاضیاتی رو ترجیح میدم ، تابعی نمیخواد و سریع تره .

                        توضیح روش (در پست های قبل بهش اشاره کردم) :

                        فرض کنیم که داریم a=12345 باقیمانه تقسیم این عدد بر 10 باید کمتر از 10 باشه (روش اند کردن احتمالا اشتباه بوده - پوزش)
                        که برای بدست آوردن یکان استفاده میکنیم ، 12345 باقیماندش با 10 میشه 5 (یه تقسیم رو کاغذ کنین)
                        که میریزیم تو متغیر مورد نظر ، حالا باید بری سراغ بعدی ، اگر 12345 رو بر 10 تقسیم کنیم میشه1234.5 و
                        چون متغیر برا اعداد ممیز دار نیس و برا اعداد صحیح است هنگام قرار گرفتن در متغیر تبدیل 1234 میشه و
                        دوباره باقیمانه تقسیمش بر 10 که میشه 4 (یه تقسیم رو کاغذ کنین) رو تو متغیر بعدی ریخه و
                        دوباره تقسیم و همینطور ادامه .
                        بهترین راه برای اینکه تمامی اینارو هی تکرار نکنیم حلقه هس (تازمانیکه a صفر نشده اجرا بشه)

                        امیدوارم که متوجه شده باشین .
                        گذشت خصلت مردان است

                        دیدگاه


                          #13
                          پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

                          نوشته اصلی توسط tohid041
                          دوستمون عدد رو تبدیل به رشته کاراکتری کردن و یکی یکی جدا کرده و به عدد تبدیل کرده و در متغیر مورد نظر قرار دادن .
                          روش خوبیه ولی با یک ایراد ، اینکه این توابع تبدیل حجم کد هارو افزایش میده و سرعت رو میاره پایین .
                          من روش ریاضیاتی رو ترجیح میدم ، تابعی نمیخواد و سریع تره .

                          توضیح روش (در پست های قبل بهش اشاره کردم) :

                          فرض کنیم که داریم a=12345 باقیمانه تقسیم این عدد بر 10 باید کمتر از 10 باشه (روش اند کردن احتمالا اشتباه بوده - پوزش)
                          که برای بدست آوردن یکان استفاده میکنیم ، 12345 باقیماندش با 10 میشه 5 (یه تقسیم رو کاغذ کنین)
                          که میریزیم تو متغیر مورد نظر ، حالا باید بری سراغ بعدی ، اگر 12345 رو بر 10 تقسیم کنیم میشه1234.5 و
                          چون متغیر برا اعداد ممیز دار نیس و برا اعداد صحیح است هنگام قرار گرفتن در متغیر تبدیل 1234 میشه و
                          دوباره باقیمانه تقسیمش بر 10 که میشه 4 (یه تقسیم رو کاغذ کنین) رو تو متغیر بعدی ریخه و
                          دوباره تقسیم و همینطور ادامه .
                          بهترین راه برای اینکه تمامی اینارو هی تکرار نکنیم حلقه هس (تازمانیکه a صفر نشده اجرا بشه)

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

                          دیدگاه


                            #14
                            پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

                            در هر صورت باید عدد رو در یک مبنا در نظر گرفت (10و16و2و8و4و...)
                            اگر منظورتون این هست که عدد در مبنای 16 هست میتونین از همون روش بالا با این تفاوت که 16 رو بجای 10 استفاده کنین
                            گذشت خصلت مردان است

                            دیدگاه


                              #15
                              پاسخ : کمک در مورد کار با متغیر ها در زبان بیسیک

                              are dige horof va adade sahih ye joraii hamon hex mishe.ba on dastori ke shoma goftin va mabnaye 16 javab mide.mamnon

                              دیدگاه

                              لطفا صبر کنید...
                              X