اطلاعیه

Collapse
No announcement yet.

تابع (زیر برنامه ) عدد صفر بر میگرداند

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

    #16
    پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

    نوشته اصلی توسط hossein.m98 نمایش پست ها
    خوب اول از همه پیشنهاد میدم حتما روی مهارت های زبان ++c/c خودتون کار کنید. ظاهرا فعلا دید درستی نسبت به کارکرد برنامه ندارید.
    خوب اگر شما در مورد توابع مطالعه کنید میبینید تابع میتونه یک یا چند ورودی داشته باشه و یک خروجی برگردونه؛ دقیقا همونطوری که توی مدرسه و در درس ریاضی به ما آموزش دادن. اما فرقی که با ریاضیات داره اینه که توی زبان c یک تابع میتونه هیچ ورودی ای نداشته باشه و یا اصلا خروجی ای هم به اصطلاح بر نگردونه.
    فرض بگیرید من میخوام یک تابع بنویسم که دو تا عدد صحیح از ورودی بگیره، جمع این دو عدد رو حساب کنه و در خروجی قرار بده. خوب در زبان c باید همه چیز تعریف شده باشه؛ در اینجا هم ما باید نوع ورودی های تابع و نوع خروجی تابع رو مشخص کنیم. کافیه بدنه تابع رو به شکل زیر بنویسیم:

    int f(int num1, int num2)
    {
    int result;
    result = num1 + num2;
    return result;
    }

    این تابع دو تا ورودی num1 و num2 رو میگیره و حاصل جمع این دوتا رو بر میگردونه. این برنامه به ساده ترین شکل نوشته شده که درکش راحت باشه. خوب برای استفاده از تابع داخل برنامه هم میشه مثل این قطعه کد عمل کرد:

    int a = 10;
    int b = 11;
    int c = f(a, b);
    lcd.print(c);

    قطعه کد بالا a و b رو میده به تابع و تابع خروجی رو توی c قرار میده. بعدش هم c رو میشه داد به تابعlcd.print تا مقدار c رو نشون بده.

    ممنون
    حالا این تابع را جای بنیسم وبعد از void loop میخاهم سه بار فراخوانی کنم
    راهنمایی بفرماید

    دیدگاه


      #17
      پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

      نوشته اصلی توسط elmvafan نمایش پست ها
      ممنون
      حالا این تابع را جای بنیسم وبعد از void loop میخاهم سه بار فراخوانی کنم
      راهنمایی بفرماید
      متوجه منظورتون نمیشم. یکم واضح تر توضیح بدید

      دیدگاه


        #18
        پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

        نوشته اصلی توسط hossein.m98 نمایش پست ها
        متوجه منظورتون نمیشم. یکم واضح تر توضیح بدید
        فرض کنید برنامه ای به صورت زیر میخواهیم بنویسیم
        این فارسی نویسی کردم بتوانم منظورم را برسونم
        Void setup
        }

        {
        Void loop
        }
        از کی پد یک عدد بگیر
        اگر عدد صفر هست . روی ال سی ددی بنویس مورد صفر . برو به زیر برنامه jinو a را برگردان . a را به توان دو برسان و نمایش بده
        اگر عدد یک هست . روی ال سی ددی بنویس مورد اول . برو به زیر برنامه jin و a را برگردان . جذر a رابگیر نمایش بده
        {
        زیر برنامه jin
        }
        از کی پد یک عدد بگیر
        عدد را در 10 ضرب کن
        اگر عدد بزرگتر از 40 بود a را برابر 7 قراربده
        اگر عدد کوچکتر از 40 بود a را برابر 35 قرار بده
        }
        جدیدترین ویرایش توسط elmvafan; ۱۰:۱۵ ۱۳۹۹/۰۱/۰۸. دلیل: اشتباه تایپی

        دیدگاه


          #19
          پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

          نوشته اصلی توسط elmvafan نمایش پست ها
          فرض کنید برنامه ای به صورت زیر میخواهیم بنویسیم
          این فارسی نویسی کردم بتوانم منظورم را برسونم
          Void setup
          }

          {
          Void loop
          }
          از کی پد یک عدد بگیر
          اگر عدد صفر هست . روی ال سی ددی بنویس مورد صفر . برو به زیر برنامه jinو a را برگردان . a را به توان دو برسان و نمایش بده
          اگر عدد یک هست . روی ال سی ددی بنویس مورد اول . برو به زیر برنامه jin و a را برگردان . جذر a رابگیر نمایش بده
          {
          زیر برنامه jin
          }
          از کی پد یک عدد بگیر
          عدد را در 10 ضرب کن
          اگر عدد بزرگتر از 40 بود a را برابر 7 قراربده
          اگر عدد کوچکتر از 40 بود a را برابر 35 قرار بده
          }
          با توضیحات شما من اینو نوشتم. البته زیادم مطمئن نیستم درست کار کنه چون تجربه کار با آردوینو نداشتم.

          void loop()
          {
          word key = kpd.waitForKey();
          int a;
          float b;
          char str[17];
          switch(key)
          {
          case 0:
          {
          lcd.clear();
          lcd.print("key = 0");
          a = jin();
          a = a*a;
          lcd.setCursor(0, 1);
          lcd.print(a);
          break;
          }

          case 1:
          {
          lcd.clear();
          lcd.print("key = 1");
          a = jin();
          b = sqrt(a);
          lcd.setCursor(0, 1);
          sprintf(str, "%f", b);
          lcd.print(str);
          break;
          }
          }
          }


          int jin(void)
          {
          int a;
          word key = kpd.waitForKey();
          key = key*10;
          if(key > 40)
          {
          a = 7;
          }
          if(key < 40)
          {
          a = 35;
          }

          return a;
          }

          دیدگاه


            #20
            پاسخ : تابع (زیر برنامه ) عدد صفر بر میگرداند

            نوشته اصلی توسط hossein.m98 نمایش پست ها
            با توضیحات شما من اینو نوشتم. البته زیادم مطمئن نیستم درست کار کنه چون تجربه کار با آردوینو نداشتم.

            void loop()
            {
            word key = kpd.waitForKey();
            int a;
            float b;
            char str[17];
            switch(key)
            {
            case 0:
            {
            lcd.clear();
            lcd.print("key = 0");
            a = jin();
            a = a*a;
            lcd.setCursor(0, 1);
            lcd.print(a);
            break;
            }

            case 1:
            {
            lcd.clear();
            lcd.print("key = 1");
            a = jin();
            b = sqrt(a);
            lcd.setCursor(0, 1);
            sprintf(str, "%f", b);
            lcd.print(str);
            break;
            }
            }
            }


            int jin(void)
            {
            int a;
            word key = kpd.waitForKey();
            key = key*10;
            if(key > 40)
            {
            a = 7;
            }
            if(key < 40)
            {
            a = 35;
            }

            return a;
            }

            ممنون
            کاملا درست هست
            کار من هم راه افتاد
            تشکر

            دیدگاه

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