اطلاعیه

Collapse
No announcement yet.

راهنمایی در مورد نوشتن چند خط کد به زبان c

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

    راهنمایی در مورد نوشتن چند خط کد به زبان c

    سلام

    من میخوام به زبان c یک کدی بنویسم , روش نوشتنشو میدونم اما تحلیل نمیتونم بکنم .
    من 4 تا سوئیچ دارم ( به طور مثال ) میخوام بگم که اگر سوئیچ های 1 , 2 و 3 با هم زده شد , یعنی مثلا 1 منتقی شدند , یک موتور رو در یک جهت بچرخونه تا زمانیکه سوئیچ 4 زده شد ! یعنی وقتی سوئیچ 4 زده شد ( یعنی 1 منتقی شد ) کلا این این شرط بیاد بیرون و بقیه ی کد رو اجرا کنه . همین . من فکر کردم با وایل میشه این کارو کرد اما یک مشکلی داشتم باهش ک بعد میگم .
    حالا اگر فرض کنیم سوئیچ ها توی کد دیفاین شده با نام های Sw1 , Sw2 , Sw3 , Sw4 و تابع موتور با نام Motor(ON/OFF) چ جوری کدشو بنویسم !

    ممنون


    « با هر دستی بدی , با همان دست پس خواهی گرفت »
    این جمله رو فراموش نکن

    #2
    پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

    من در این مورد خاص ترجیح می دم سخت افزاری عمل کنم مگر این که کلید ها فشاری باشن.
    در اون صور یه گیت or می ذارم خروجیشو می دم به ورودی اینتراپت خارجی بعد همه ی اونارم جدا جدا می دم به پایه های ورودی خروجی و اسکن می کنم.

    دیدگاه


      #3
      پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

      نوشته اصلی توسط vahid_22002
      من در این مورد خاص ترجیح می دم سخت افزاری عمل کنم مگر این که کلید ها فشاری باشن.
      در اون صور یه گیت or می ذارم خروجیشو می دم به ورودی اینتراپت خارجی بعد همه ی اونارم جدا جدا می دم به پایه های ورودی خروجی و اسکن می کنم.
      به جای کلید سنسور فرض کن ! در اصل سنسور هست ! سنسور مادون قرمز , من میخوام وقتی 3 تا از سنسور های مادون قرمز من روی خط یا زمینه ی سیاهی رفت موتورا رو بچرخونه تا زمانی ک سنسور 4 رومی بره روی زمینه ی سیاه ! یعنی 1 منظقی شه !
      فقط هم باید نرم افزاری این کارو بکنم !
      با وایل میشه اما نمیدونم چ جوری شرطی بزارم ک وقتی سنسسور 4 رومی 1 منطقی شد کلا از وایله خارج شه !


      « با هر دستی بدی , با همان دست پس خواهی گرفت »
      این جمله رو فراموش نکن

      دیدگاه


        #4
        پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

        نوشته اصلی توسط Amir_Eshraghi
        به جای کلید سنسور فرض کن ! در اصل سنسور هست ! سنسور مادون قرمز , من میخوام وقتی 3 تا از سنسور های مادون قرمز من روی خط یا زمینه ی سیاهی رفت موتورا رو بچرخونه تا زمانی ک سنسور 4 رومی بره روی زمینه ی سیاه ! یعنی 1 منظقی شه !
        فقط هم باید نرم افزاری این کارو بکنم !
        با وایل میشه اما نمیدونم چ جوری شرطی بزارم ک وقتی سنسسور 4 رومی 1 منطقی شد کلا از وایله خارج شه !
        با سلام
        شما میتونید از دستور ;break استفاده کنید!
        این دستور میتونه به حلقه ها خاتمه بده.
        شما در آخر حلقه تون ، شرط بزارید که اگه سنسور چهارم ، روشن (1) شد ، با دستور ;break به حلقه پایان بده. :nice:
        1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
        من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
        !Electronic On! Programming On
        هوشمندانه سوال بپرسیم!
        http://ir02x6.persiangig.com/logo/eca/tanks_01.png

        دیدگاه


          #5
          پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

          نوشته اصلی توسط Mahan.Rafiee
          با سلام
          شما میتونید از دستور ;break استفاده کنید!
          این دستور میتونه به حلقه ها خاتمه بده.
          شما در آخر حلقه تون ، شرط بزارید که اگه سنسور چهارم ، روشن (1) شد ، با دستور ;break به حلقه پایان بده. :nice:
          درسته ؛ اما به این کدی ک نوشتم دقت کنید :

          کد:
           while ( (!SEN5) && (!SEN6) && (!SEN7) )
           {
            M(CW,CCW,(100+a),(100+a));
            if (!SEN4 )
            {
          break;  }
           } // R90
          اگر این شرط برقرار شد میره تو وایل ! بعد اگر سنسور 4 رومی روی خط بود همون شرط ایف رو خاتمه میده و بعد دوباره میره توی وایل ! من میخوام یک شرطی مثل این یا یک مدل دیگه بنویسم ک این کارو انجام بده !
          شما میتونید یک کد مثال بزندی ؟

          ممنون
          « با هر دستی بدی , با همان دست پس خواهی گرفت »
          این جمله رو فراموش نکن

          دیدگاه


            #6
            پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

            if رو اینطوری بنویسید:
            کد:
            if (!SEN4) break;
            1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
            من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
            !Electronic On! Programming On
            هوشمندانه سوال بپرسیم!
            http://ir02x6.persiangig.com/logo/eca/tanks_01.png

            دیدگاه


              #7
              پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

              نوشته اصلی توسط Mahan.Rafiee
              if رو اینطوری بنویسید:
              کد:
              if (!SEN4) break;
              خوب این فقط از شرط ایف خارج میشه و خاطمه میده ! از وایل ک خارج نمیکنه !
              « با هر دستی بدی , با همان دست پس خواهی گرفت »
              این جمله رو فراموش نکن

              دیدگاه


                #8
                پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

                [color=blue]خیلی عجیبه که به حلقه خاتمه نمیده و به ایف خاتمه میده! oo:
                نوشته اصلی توسط Amir_Eshraghi
                شما میتونید یک کد مثال بزندی ؟
                [color=blue][b]ابفرمایید ، اینم یه مثال:
                کد:
                char a,i;
                
                for (i=0 ; i<100 ; i++) {
                if (i==10) break;
                a++;
                }
                در این مثال حلقه 10 بار تکرار شده و بعد سریعاً از حلقه خارج میشود.
                و پس از خروج از حلقه، متغییر a مقدار 10 خواهد داشت.

                بهتره این مثال رو تست کنید و مقدار a رو روی السیدی یا... نشان دهید..
                اگه السیدی مقدار 10 را نشان داد یعنی اینکه در پروژه ای که دارید میسازید ایراد سخت افزاری یا هنگ نرم افزاری وجود دارد ، اما در صورتی که ال سی دی عدد 10 را نشان نداد و بجاش 100 را نشان داد ، یعنی اینکه مشکل از کامپایلر هستش.
                1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
                من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
                !Electronic On! Programming On
                هوشمندانه سوال بپرسیم!
                http://ir02x6.persiangig.com/logo/eca/tanks_01.png

                دیدگاه


                  #9
                  پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

                  نوشته اصلی توسط Mahan.Rafiee
                  [color=blue]خیلی عجیبه که به حلقه خاتمه نمیده و به ایف خاتمه میده! oo:
                  [color=blue][b]ابفرمایید ، اینم یه مثال:
                  کد:
                  char a,i;
                  
                  for (i=0 ; i<100 ; i++) {
                  if (i==10) break;
                  a++;
                  }
                  در این مثال حلقه 10 بار تکرار شده و بعد سریعاً از حلقه خارج میشود.
                  و پس از خروج از حلقه، متغییر a مقدار 10 خواهد داشت.

                  بهتره این مثال رو تست کنید و مقدار a رو روی السیدی یا... نشان دهید..
                  اگه السیدی مقدار 10 را نشان داد یعنی اینکه در پروژه ای که دارید میسازید ایراد سخت افزاری یا هنگ نرم افزاری وجود دارد ، اما در صورتی که ال سی دی عدد 10 را نشان نداد و بجاش 100 را نشان داد ، یعنی اینکه مشکل از کامپایلر هستش.
                  آخه مسئله اینه ک وقتی brek میزاریم از همون شرطی ک توش هست میاد بیرون ! تعریف برک همینه دیگه !
                  تست میکنم ببینم چی میشه
                  ممنون
                  « با هر دستی بدی , با همان دست پس خواهی گرفت »
                  این جمله رو فراموش نکن

                  دیدگاه


                    #10
                    پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

                    کد:
                    do
                    { 
                    .
                    .
                    .
                    }
                    while(!sens4)

                    دیدگاه


                      #11
                      پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

                      نوشته اصلی توسط Amir_Eshraghi
                      سلام

                      من میخوام به زبان c یک کدی بنویسم , روش نوشتنشو میدونم اما تحلیل نمیتونم بکنم .
                      من 4 تا سوئیچ دارم ( به طور مثال ) میخوام بگم که اگر سوئیچ های 1 , 2 و 3 با هم زده شد , یعنی مثلا 1 منتقی شدند , یک موتور رو در یک جهت بچرخونه تا زمانیکه سوئیچ 4 زده شد ! یعنی وقتی سوئیچ 4 زده شد ( یعنی 1 منتقی شد ) کلا این این شرط بیاد بیرون و بقیه ی کد رو اجرا کنه . همین . من فکر کردم با وایل میشه این کارو کرد اما یک مشکلی داشتم باهش ک بعد میگم .
                      حالا اگر فرض کنیم سوئیچ ها توی کد دیفاین شده با نام های Sw1 , Sw2 , Sw3 , Sw4 و تابع موتور با نام Motor(ON/OFF) چ جوری کدشو بنویسم !

                      ممنون
                      سلام
                      شما میتونید از دو حلقه وایل تو در تو استفاده کنی
                      شرط حلقه اول=تا وقتی سویچ 4 صفر هست وایل اجرا شه
                      شرط حلقه دوم=تا وقتی سویچ 1.2.3 یک است وایل اجرا شه
                      وتی سویچ 4 یک شه وایل اول دیگه اجرا نمیشه وهمینطور وایل دوم که درون وایل اول است :-bd افتاد
                      کرشمه ای کن و بازار ساحری بشکن @-}--@-}--@-}--به غمزه رونق و ناموس سامری بشکن
                      یاصاحب الزمان(عج)

                      دیدگاه


                        #12
                        پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

                        نوشته اصلی توسط moha3
                        سلام
                        شما میتونید از دو حلقه وایل تو در تو استفاده کنی
                        شرط حلقه اول=تا وقتی سویچ 4 صفر هست وایل اجرا شه
                        شرط حلقه دوم=تا وقتی سویچ 1.2.3 یک است وایل اجرا شه
                        وتی سویچ 4 یک شه وایل اول دیگه اجرا نمیشه وهمینطور وایل دوم که درون وایل اول است :-bd افتاد
                        یعنی:

                        کد:
                        while ( (!sw1) && (!sw2) && (!sw3) )
                        {
                        motor becharkhe;
                        }
                        while ( !sw4 )
                        {
                        break;
                        // motor nacharkhe va bere b edame ye kood 
                        }

                        درسته ؟

                        ممنون
                        « با هر دستی بدی , با همان دست پس خواهی گرفت »
                        این جمله رو فراموش نکن

                        دیدگاه


                          #13
                          پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

                          نوشته اصلی توسط moha3
                          سلام
                          شما میتونید از دو حلقه وایل تو در تو استفاده کنی
                          شرط حلقه اول=تا وقتی سویچ 4 صفر هست وایل اجرا شه
                          شرط حلقه دوم=تا وقتی سویچ 1.2.3 یک است وایل اجرا شه
                          وتی سویچ 4 یک شه وایل اول دیگه اجرا نمیشه وهمینطور وایل دوم که درون وایل اول است :-bd افتاد
                          یعنی:

                          کد:
                          while ( (!sw1) && (!sw2) && (!sw3) )
                          {
                          motor becharkhe;
                          }
                          while ( !sw4 )
                          {
                          break;
                          // motor nacharkhe va bere b edame ye kood 
                          }

                          درسته ؟

                          ممنون
                          « با هر دستی بدی , با همان دست پس خواهی گرفت »
                          این جمله رو فراموش نکن

                          دیدگاه


                            #14
                            پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

                            نوشته اصلی توسط سایمون
                            کد:
                            do
                            { 
                            .
                            .
                            .
                            }
                            while(!sens4)
                            میشه یکم توضیح بدین ؟ حلقهی doربینهایت هست ؟
                            ممنن
                            « با هر دستی بدی , با همان دست پس خواهی گرفت »
                            این جمله رو فراموش نکن

                            دیدگاه


                              #15
                              پاسخ : راهنمایی در مورد نوشتن چند خط کد به زبان c

                              [uote author=Amir_Eshraghi link=topic=98986.msg629948#msg629948 date=1410257563]
                              یعنی:

                              کد:
                              while ( (!sw1) && (!sw2) && (!sw3) )
                              {
                              motor becharkhe;
                              }
                              while ( !sw4 )
                              {
                              break;
                              // motor nacharkhe va bere b edame ye kood 
                              }

                              درسته ؟

                              ممنون
                              [/quote]
                              منظورم همچین چیزی بود
                              while(!sw4) //sw4 is 0
                              }
                              while(sw1 && sw2 && sw3 && (!sw4))
                              }

                              motor becharkhe;
                              {
                              {
                              دیگه break نمیخاد.
                              کرشمه ای کن و بازار ساحری بشکن @-}--@-}--@-}--به غمزه رونق و ناموس سامری بشکن
                              یاصاحب الزمان(عج)

                              دیدگاه

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