اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام.
    ببینید من اصلا نمیفهمم که زیر برنامه و یا فراخانی call یعنی چی دیگه!!!برای من گنگ هست .نمیدونم کجا میشه ازش استفاده کرد و چرا باید ازش استفاده کنیم>اگه دوستان لطف کنن یه توضیح کاربردی بدن تا درک کنم این چیه خیلی خیلی ممنون میشم :applause:.مثلا در برنامه زیر call چیکار میکنه؟فرق declare sub و sub test چیه؟
    dim a as byte ,b as byte
    declare sub test (b1 as byte,byval b2 as byte
    a = 65
    call test (a,5)
    test a , 5
    print a
    end
    sub test(b1 as byte , byval b2 as byte)
    print b1
    print bcd(b2)
    b1 = 10
    b2 = 15
    end sub
    خیلی ممنونم که توضیح میدین.
    به سمت نور خورشید حرکت کن،تو میتونی تابش خورشید رو حس کنی ،حتی اگه کور باشی.
    (پیش به سوی هدف)

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

    زیر برنامه قسمتی از برنامه هست که جهت جلوگیری از تکرار و م حجیم شدن برنامه و همچنین بهم ریختگی برنامه
    و دیباگ و عیب یابی راحت استفاده میشه اگر جایی سرعت خیلی مهم باشه میشه از این مزایا صرفه نظر کرد و کد رو دوباره تکرار کرد جهت کم کردن دستور پرش ، این تا اینجاش حالا یه مثال
    فرض کن شما یه ال سیدی داری که پیغامهای برنامه رو نشون میده
    اگر هر بار که میخواهی یه جمله بنویسی یکبار قسمت نوشتن متن رو ال سیدی رو تو برنامه اضافه کنی
    شاید 10 تا پیغام هم نتونی بنویسی و کل برنامه میشه همین ولی اگر اسم زیر برنامه نوشت رو بزاری مثلا wr2lcd
    هر جا خواستیش فقط یک متغییر پاس میدی بهش و اگر زیر برنامت مشکل داشت فقط یکجا دیباگ می کنی نه چند جا
    موفق باشی
    همیشه به یاد خدا باش !

    دیدگاه


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

      آیا این دستور مثل gosub نیست؟
      چه فرقی داره باهاش؟
      به سمت نور خورشید حرکت کن،تو میتونی تابش خورشید رو حس کنی ،حتی اگه کور باشی.
      (پیش به سوی هدف)

      دیدگاه


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

        خیر ...

        اگرچه در هر دوی این دستورات عمل پرش انجام میشه .اما یک تفاوت اساسی با هم دارند :

        با دستور gosub میکرو فقط به اون خط پرش میکنه و دستوراتش رو بدون دخل و تصرف اجرا میکنه . ولی در دستور فراخوانی زیربرنامه ، میکرو اطلاعاتی رو به اون زیربرنامه میفرسته و ازش خروجی میگیره .

        امیدوارم پاسخم قانع کننده بوده باشه برای شما

        دیدگاه


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

          بله فهمیدم فرقشو ممنون.
          ببینید در این دستور call test (var1 , var2) a خوب ما بعد از end معرفی میکنیم زیر برنامه رو ولی نمیدونم میکرو var 1 و var2 رو چیکار میکنه یعنی چی نیاز داره بهش یا کار این دو تو پرانتز چیه؟!!
          آخه من این پرانتز ها و متغییر های داخلشو ن رو نمیزارم هم اجرا میشه>حالا نمیدونم چه نیازی به داخل این پرانتز ها داره؟!!!حتی اصلا یه متغییر دیگه که ربطی نداره به زیر برنامه هم میزارم باز عادی کار میکنه.حالا نمیفهمم این متغییرهای داخل پرانتز چه بدرد میخورن.میشه لطف کنین بگین کارش چیه و چه نیازی میشه؟!!
          به سمت نور خورشید حرکت کن،تو میتونی تابش خورشید رو حس کنی ،حتی اگه کور باشی.
          (پیش به سوی هدف)

          دیدگاه


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

            من شخصا فقط از GOSUB استفاده میکنم
            اما امکان نداره اینطوری که گفتی کار انجام بده VAR1 و VAR2 دوتا متغییر محلی هستن و شما اگر ارسال نکنید بالاخره یه مقداری دارند و از اون مقادیر استفاده میکنه
            شما تو زیر برنامت بنویس متغییر 1 با 2 جمع بشه اگر حاصل مثلا 10 شد یه کاری انجام بده ، بعد تست کن ببین بدون پاس دادن متغییر ها اون کار رو انجام میده؟
            همیشه به یاد خدا باش !

            دیدگاه


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

              بله حق با شما بود.این دوتا متغییر های اصلی رو از برنامه ی اصلی میگیرن و به متغییر فرعی تابع پاس میدن یعنی میریزن تو اون متغییر های زیر تابع و بعد در زیر تابع نسبت به این متغییرها تحلیل انجام میده و بعد از پایان تجزیه و تحلیل متغییر ها بدست آمده رو دوباره به متغییر های اصلی تابع بر میگردونن.و تابع اصلی ادامه میده.البته بستگی به byerf va bayval هم داره.
              به سمت نور خورشید حرکت کن،تو میتونی تابش خورشید رو حس کنی ،حتی اگه کور باشی.
              (پیش به سوی هدف)

              دیدگاه


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

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

                دیدگاه


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

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

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

                  دیدگاه

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