اطلاعیه

Collapse
No announcement yet.

آموزش زبان سی

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

    #61
    پاسخ : آموزش زبان سی و کدویژن

    سلام
    اول از همه معضرت میخوام که این پستو رهاش کرده بودم چون کدویژنم نصب نمیشه
    ولی عزییزم خیلی راحته نگاه کن
    اول برابر با یک کرده یعنی 00000001
    بعد طبق شرط ضربرد دو میشه پس میشه 2 = 00000010
    بعد میهش 4= 00000100
    بعد میشه هشت 00001000
    به همین شکل ادامه پیدا میکنه و هر لحظه فقط یک پایه یک میشه .
    [hr]
    وامیدوارم که متوجه منظورتون شده باشم که سوال شما چی بوده .
    مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

    دیدگاه


      #62
      پاسخ : آموزش زبان سی و کدویژن

      سلام
      میشه زحمت بکشید یک گیت and با 5 ورودی در mega8 برام بنویسید.
      دستتون درد نکنه :redface:
      این مدعیان در طلبش بی خبرانند
      آن را که خبر شد خبری باز نیامد

      دیدگاه


        #63
        پاسخ : آموزش زبان سی و کدویژن

        بیا اینم گیت and با 5 ورودی روی سیگنالهای پورت C:

        if( (PINC & 0x1F) == 0x1F )
        {
        // all pins are 1
        }

        دیدگاه


          #64
          پاسخ : آموزش زبان سی و کدویژن

          چشم من رو دور دیدین دوباره گذاشتین روی تخت گاز!! :mrgreen:

          در بعضی پلاتفرم ها میتونین متغیر صحیح 64 بیتی هم تعریف کنین با نوشتن long long یا unsigned long long. البته بعضی جاها معادل این رو هم مثل int64__ رو هم دارن.
          ----
          راجع به اون مورد حلقه for هم میتونین به کد تولیدی توسط یک کامپایلر نگاه کنین. یک حلقه for بفرم زیر تبدیل به کد ماشین میشه:

          for(initial_expr; condition; statement1)
          statement2;

          assembly:
          initial_expr
          goto L1
          L2:
          statement2
          L3:
          statement1
          L1:
          if(condition != 0)
          goto L2


          و طبق این کد با اجرای دستور continue پرش به آدرس L3 صورت میگیره.

          ----
          ایضا در بعضی جاها فرم سومی از اعداد اعشاری هم داریم که بهش long double میگن و 10 بایتی هست.

          ----

          نکته : زبان C به طور خودکار به متغییر ها مقدار اولیه نمی دهد ( حتی 0 )
          البته روالهای شروع برنامه یا CSTARTUP به متغیر هایی که global تعریف شده باشن یا static ولی مقدار نداده باشیم مقدار پیش فرض صفر میده.
          ----
          استفاده از دستور goto در بعضی جاها توصیه شده مثل همون مثالی که عرض کردم. ولی بعضی جاها بشدت نهی شده. مثلا:



          goto L1;

          .
          .
          .
          for(i=0;i<10;i++)
          {
          ...
          L1:
          ...
          }



          که مشخصه چرا! به محض پرش به L1 معلوم نیست متغیر i چه مقداری داره.

          دیدگاه


            #65
            پاسخ : آموزش زبان سی و کدویژن

            سلام
            مدتی بود بی سیستم شده بودم و چون کدویژنم هم نصب نمیشد نبودمم
            ولی حالا یک مانیتور به جای مانیتور سوخته خریدیم البته خود سیستم هنوز قدیمیه ولی خدارو شکر کار میکنه تازهگیها خدارو شکر کمتر هم هنگ میکنه
            و از همه مهمتر اینکه فکر کنم کدویژنم نصب شد :wow: وای چه عالی :wow: شانسی شانسی اومد بالا بدون هیچ قفلی :wow:
            حالا فقط باید ببینم این کدویژنی که دوستان میگند اگر یاد بگیری خیلی خوبه باید ببینم چی به چیه امیدوارم که مثل بسکام کار کردن باهاش ساده باشه :mrgreen: :mrgreen:
            ولی یک چیز بدی هم هست که استادمون داره به ما ++c درس میده نه سی , البته میگه زیاد فرقی نمی کنند و فقط نمیدونم توابع ورودی خروجیش فرق می کنند آیا درست میگه ؟
            مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

            دیدگاه


              #66
              پاسخ : آموزش زبان سی و کدویژن

              نوشته اصلی توسط رضا آقازاده
              بیا اینم گیت and با 5 ورودی روی سیگنالهای پورت C:

              if( (PINC & 0x1F) == 0x1F )
              {
              // all pins are 1
              }
              اگر میشه کامل بنویس طوری که اگر کسی بخواد کامپایلش کنه بتونه
              سپاس
              مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

              دیدگاه


                #67
                پاسخ : آموزش زبان سی و کدویژن

                جناب آقای طبسی!

                از این حرفهای من بدت نیاد. ولی از قدیم گفتن عاقل یکفی بالاشاره. شما مشکلی رو مطرح کردی من نخواستم ماهی بهت بدم. چون الحمدلله مشخصه که داری اوایل راه قدم برمیداری و این فرمی که شما قید میکنی یک خیانت در حق شماست. موضوعی که شما مطرح کردی جوابش همون بود که عرض کردم. البته چیز ساده ای هست ولی خیلی وقت ها همه ما (حتی خود من) واقعا سر موضوعات ساده هم هنگ میکنیم. شما نخواستی که یک سورس تحویلت بدیم گرچه در اون صورت نه من وقتشو داشتم و نه حالشو. (درد بیدرمون پیری) اگر فکر میکنی (جسارت نباشه) واقعا این فروم کارش اینه که ماهی دستت بدن بجای توربافی من بدرد این کارها نمیخورم. علاوه براون (البته با عرض معذرت) انتظار بیجایی هم هست وقتی من نمیدونم دقیقا میخوای چکار کنی یک سورس قابل کامپایل بدم.
                اما راجع به مشکلت.
                مگر غیر از این هست که یک AND با 5 ورودی خواستی؟ این تابع چکار باید بکنه؟ مگه نه اینکه یک AND باید خروجی اش به شرطی یک بشه که همه ورودی هایش 1 باشه؟ خوب این هم همون منطق هست. حالا باید این یک تلنگری باشه به این چیزایی که خودت واقعا میدونی ولی ممکنه به خاطر چه میدونم، گرفتاری یا هر علت دیگه ای متوجه منظور خودت نشده باشی. از طرف دیگه این سورس کاملا قابل کامپایل هست فقط یک کمی حواشی میخواد که دست خودت رو میبوسه و مطمئن هستم که خودت هم میتونی. اگر مشکل یک منطق پیچیده بود میگفتم ممکنه وقتشو نداشته باشی. یا هنوز به تحلیل اولیه منطق برای نوشتن یک کد حجیم عادت نکرده باشی. ولی انصاف بده! این که یک منطق ساده هست.

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

                بازم اگر با مطالب بالا باعث ناراحتی شدم عذر میخوام. مطلقا قصدم این نبوده و نیست.

                ارادتمند.

                دیدگاه


                  #68
                  پاسخ : آموزش زبان سی و کدویژن

                  نوشته اصلی توسط سید مصطفی طبسی
                  حالا فقط باید ببینم این کدویژنی که دوستان میگند اگر یاد بگیری خیلی خوبه باید ببینم چی به چیه امیدوارم که مثل بسکام کار کردن باهاش ساده باشه :mrgreen: :mrgreen:
                  ولی یک چیز بدی هم هست که استادمون داره به ما ++c درس میده نه سی , البته میگه زیاد فرقی نمی کنند و فقط نمیدونم توابع ورودی خروجیش فرق می کنند آیا درست میگه ؟
                  باسلام
                  ++C بره شروع خیلی راحتتره ، بعدش که آشنایی پیدا کردید میتونید C رو سریعتر یاد بگیرید
                  فرقشون اینه که:
                  تو ++C برای ورودی و خروجی باید فایل سرآیند iostream.h رو باز کنیم که برای ورودی از دستور Cin و برای خروجی از Cout استفاده میشه.
                  ولی تو C باید stdio.h رو باز کنیم که برای ورودی از scanf و برای خروجی printf استفاده میشه.
                  از سختی نترس! این سختی هاست که جایگاه و مقام انسان را بالا میبرد...

                  دیدگاه


                    #69
                    پاسخ : آموزش زبان سی و کدویژن

                    با سلام و تشکر از آقای رضا زاده و دیگر دوستان
                    دوست من کو یکی از ماهی هایی که به ما دادی نام ببر :mrgreen: والا انصافا شما تا به حال دست ما توی این پست ماهی ندادی :mrgreen: نه قزا الا نه سفید و نه کپود :mrgreen:
                    منم که این سوالو از شما مجدد پرسیدم واسه این بود که یکی از دوستان توی این پست همین گیت and رو با مگا 8 خواسته بودند پس در نتیجه فکر کردم دوستمون توی معرفی مگا 8 شاید مشکل داشته باشند واسه همین خواستم کامل تر بنویسید گرچه خودمم بدم نمی یومد یک ماهی بگیرم :mrgreen:
                    مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

                    دیدگاه


                      #70
                      پاسخ : آموزش زبان سی و کدویژن

                      سلام
                      همون and با پنج ورودی کار منو حسابی راه انداخت ما کی چیزی نگفتیم دست شما درد نکنه. :applause:
                      این مدعیان در طلبش بی خبرانند
                      آن را که خبر شد خبری باز نیامد

                      دیدگاه


                        #71
                        پاسخ : آموزش زبان سی و کدویژن

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

                        اما در مورد اون سوالی که دوستمون پرسیده بودن، جوابی که آقا رضا داد واقعاً خود جواب هست؛ فقط همون بخش کامنت گذاری شده را نیاز به کدنویسی داره. البته شما می تونید بر حسب اینکه پورت ورودیتون کدوم پورت باشه و یا اینکه کدوم پین ها به عنوان ورودی هست خط اول رو هم تغییر بدید، اما همین رو اگر فقط یک خط توی بخش کامنت گذاری شده اضافه کنید کاملاً قابل کامپایل شدن هست.

                        ضمن اینکه این تاپیک مخصوص آموزش زبان c و کدویژن هست، که البته به خاطر مشکلاتی که دوستان باهاش مواجه شدند کارش عقب افتاده. بنابراین اینجا آموزش داده میشه، راه حل داده نمیشه. و جواب آقا رضا کاملاً آموزشی بود. شما وقتی تکنیک برنامه نویسی رو یاد بگیرید و یکی دوبار برنامه کامپایل کنید میبینید که واقعاً برای کدویژن نویسی همین چند خط راهنمایی کافیه.
                        دانش فنی تا به عمل تبدیل نشده، ذره ای ارزش نداره. اما بعضی وقت ها باید از دانش برای باز کردن مرزهای جدیدی در علم استفاده کرد، نه اینکه اونها رو صرفاً فقط به عمل تبدیل کرد.

                        دیدگاه


                          #72
                          پاسخ : آموزش زبان سی و کدویژن

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

                          دیدگاه


                            #73
                            پاسخ : آموزش زبان سی و کدویژن

                            سلام
                            احتمالا بخاطر ورژن کدویژنه .منم این مشکلو داشتم.ورژن بالاتر نصب کنی حله.
                            ولی انصافا هیچی بیسیک نمیشه.

                            دیدگاه


                              #74
                              پاسخ : آموزش زبان سی و کدویژن

                              یکی از مشکلاتی که همه ماها عموما باهاش دست به گریبان هستیم اینه که نمیدونیم چی میخواییم. ولی در ضمن بهترین ها رو میخواییم. و این بهترین هم معمولا به سریعترین و کم حجم ترین و کم قیمت ترین و غیرهم ختم میشه. خیلی وقتها بهترین ها رو هم جمع میکنیم و باز نمیدونیم چکار میخواییم بکنیم. اما مسئله اینجاست که اگر منظور اصلی ما از انجام یک کار صرف انجام دادنش باشه با هر ابزاری ممکنه بشه این کار رو انجام داد. بیسیک چه اشکالی داره وقتی کار شما رو راه میندازه. یا حتی اسمبلی. وقتی میخوایین یک چشمک زن ساده بسازین شاید اسمبلی از سی و بیسیک هم خیلی راحتتر باشه. درسته که وقتی سراغ یک زبان مثل C میریم هم بقولی کلاسش بالاتره هم میشه در بعضی کارهای خاص همزبان های بیشتری گیر آورد (که البته این هم مورد شک هست!!) اما به خودتون هم یک نگاهی بندازین. شما کارتون چیه؟ اگر متخصص نرم افزار هستین باید با C هم آشنا بشین. اما برای یک مهندس برق چه احتیاجی هست که حتی مثلا جاوا بلد باشه؟ وقتی بیسیک کارشو راه میندازه بهتره با همون بیسیک کار کنه تا عمرش رو تلف نکنه و ایده اصلی شو ولو با کمی دردسر جواب بگیره.

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

                              دیدگاه


                                #75
                                پاسخ : آموزش زبان سی و کدویژن

                                والا من درست نمی دونم مشکل شما دوستان چه چیزی می تونه باشه. زمانی که ما با کدویژن کار می کردیم، اصلاً مشکل و دردسر برای نصبش نداشتیم. تقریباً رو کل سیستم هاس سایت دانشگاه نصب بود و بدون هیچ مشکلی هم کار می کرد.

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

                                دیدگاه

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