بازدید کنید X
آیا میدانید استفاده از زعفران به اندازه خيلي زياد موجب مرگ انسان ميشود
جائي كه عشق هست ، خدا هست از لئو تولستوي
Logo

مشکلات سرور سایت

با سلام خدمت کاربران PicPars

در این هفته به مدت 4 چهار روز سایت قطع بود و از امروز هم بخش دانلود سایت قطع شده که مسولین سرور اعلام کردن: که با توجه به مشکلات ارزی 16 و اتمام ساعات اداری، در برخی بانکهای اروپایی پیگیری مشکل با کندی روبرو است و مدت زمان رفع مشکل مشخص نیست.6 بنابراین فایلهایی که روی سرور dl.picpars.com هستند فعلا قابل دانلود نیستند و ما هم امیدواریم هرچه سریعتر این مشکلات برطرف شود


انواع حلقه های for و while قسمت 3

دستورات ایجاد حلقه

ایجاد حلقه به کمک for

حلقه یعنی چه؟ حلقه یعنی یک مسیر بسته ای که CPU بطور مداوم دستورات داخل آن را اجرا می کند! (البته به نوع حلقه و شرط حلقه هم بستگی داره که میگیم)
در اینجا ما ابتدا حلقه for رو میگیم و اصول کار و برنامه نویسی اون رو توضیح میدیم. مثال:

Int a;
For (a=0; a<19; a++){
PORTD=0x00;
Wait_ms(300);
PORTD=0xff;
Wait_ms(300);
}


کارکرد برنامه: در این برنامه یعنی دستورات داخل حلقه، ابتدا پورت D رو کلا خاموش میکنه (0) و 300 میلی ثانیه صبر میکنه و بعد پورت D رو کلا روشن میکنه (1) و بعد 300 میلی ثانیه صبر میکنه و همین طور این 4 تا دستور رو تکرار میکنه. حالا ما اومدیم و تو حلقه بهش گفتیم این مجموعه 4 تایی دستورات را فقط 19 بار اجرا کن که ابتدا یک متغیر تعریف می کنیم مثلا a و بعد طبق مثال بالا باید سه دستور در for () بنویسیم دقیقا به همین ترتیب، ابتدا مقدار اولیه حلقه رو مشخص می کنیم که در اینجا من صفر بهش دادم و بعد شرط حلقه رو می نویسیم که من گفتم تا زمانی دستورات داخل حلقه رو اجرا کن که a کوچیکتر از 19هست. متغیر a در اینجا نقش یک شمارنده رو داره و بعد بهش گفتم بعد از اجرای یک بار دستورات یک واحد به a اضافه کن و همین طور ادامه میده تا به 19 برسه و وقتی شرط برقرار شد از حلقه میاد بیرون. این حلقه یک حلقه بالا شمار هست. با گام 1 یعنی یک واحد یک واحد بالا میره.

نکته:

به جای a++ می توانستیم بنویسیم a=a+2 یا a+=2 یعنی 2 واحد 2 واحد برو بالا. (گام 2)
اگر می خواستیم حلقه پایین شمار باشد باید به این صورت عمل کنیم:

For (a=19; a>0; a--)

ایجاد حلقه به کمک while

حلقه while :

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

while (1); ایجاد یک حلقه بی نهایت بدون اجرای هیچ دستوری

while (1){
دستورات برای اجرای بی نهایت
}

unsigned char x=2,y=5;
while (y > x){
دستورات
}

در این برنامه تا زمانی دستورات داخل حلقه تکرار میشود که متغیر y بزرگتر از x باشد. و در غیر این صورت از حلقه بیرون میاد، هر بار CPU به انتهای حلقه رسید دوباره به ابتدای حلقه میره و شرط رو چک میکنه اگر شرط برقرار بود دستورات داخل حلقه دوباره اجرا میشه در غیر اینصورت از حلقه خارج میشه. به برنامه زیر توجه کنید:

unsigned char x=0;
while (x){
دستورات
}

چون متغیر x=0 می باشد پس CPU هیچ گاه وارد حلقه نمی شود و دستورات داخل حلقه هم اجرا نمیشه.

حلقه do … while :

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

unsigned char x=2,y=5;
 do{
 دستورات
 } while (y > x);

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

 unsigned char i;
 do{
  i++;
 } while (i < 10);

یا در مثال زیر مقدار اولیه i برابر 5 می باشد و شرط حلقه متغیر i میاشد که با صفر شدن آن دیگر حلقه تکرار نخواهد شد و از آن خارج می شود. با هر بار اجرای حلقه یک واحد از متغیر i کم می شود تا در نهایت به صفر برسد.

 unsigned char i=5;
 do{
  i--;
 } while (i);

پایان قسمت سوم

  منبع: www.picpars.com

  لطفا مقالات، آموزش‌ها و پروژه های خود را به آدرس ایمیل نمائید تا در صورت تائید، آن را با نام خودتان در سایت منتشر کنیم.


لینک ثابت این صفحه:   


© کپی برداری از مطالب این سایت تنها با ذکر منبع مجاز می باشد

در صورت داشتن هر گونه سوال، نظر و پیشنهاد راجب این مطلب می‌توانید در قسمت نظرات همین صفحه مطرح نمائید. همچنین با شرکت در نظر سنجی های سایت، ما را در بهبود بخشیدن به مطالب یاری کنید.


آموزش ميكرو كنترلر AVR آموزش سی آموزش C آموزش AVR به زبان سی C انواع حلقه های for و while 3 دستورات ایجاد حلقه میکرو میکروکنترلر برنامه نویسی زبان سی آموزش سریع آموزش جامع

ارسال شده در مورخه : سه شنبه، 11 اسفند ماه، 1388 توسط مدیریت بازدید [3097]   پرینت

مرتبط باموضوع :

 معرفی میکرو کنترلرهای خانواده AVR  [ يكشنبه، 18 دي ماه، 1390 ] 231 مشاهده
 دستورات break و switch و goto و continue و ... قسمت 4  [ يكشنبه، 8 فروردين ماه، 1389 ] 3213 مشاهده
 متغیرها، آرایه ها، رشته ها و مقدار دهی در زبان C  [ چهارشنبه، 21 بهمن ماه، 1388 ] 2750 مشاهده
 شمارنده دو رقمی با سون سگمنت زبان C و AVR  [ چهارشنبه، 13 مرداد ماه، 1389 ] 5156 مشاهده
 شمارنده تک رقمی با سون سگمنت زبان C و AVR  [ چهارشنبه، 13 مرداد ماه، 1389 ] 3967 مشاهده
نام شما:
ایمیل شما:
وب سایت:

در مورخه : چهارشنبه، 24 فروردين ماه، 1390توسط
(مشخصات کاربر hadibaig | ارسال پیغام شخصی) (IP آدرس : )

آموزش میکرو به زبان C رو ادامه بدید خیلی عالی دمتون گرممممممممممم

ارسال جوابیه ]

 
نام شما: [ کاربر جدید ]

نام شما (ضروری): 
ایمیل شما : 
وب سایت : 
نظر:
کد امنیتی
کد امنیتی

  [ بازگشت ]
  • امتیاز بدهید
  • انتخاب ها
  • اشترک گذاری
آیا این مطالب مورد رضایت شما واقع گردید؟ لطفا با رای دادن به این مطلب ما را در بهبود بخشیدن به مطالب کمک کنید. با اینکار به سایر دوستان‌تان نیز کمک خواهید کرد.


 فایل پی دی اف فایل پی دی اف

 گرفتن پرينت از اين مطلب گرفتن پرينت از اين مطلب

 ارسال به دوستان ارسال به دوستان

 گزارش این پست به مدیر سایت گزارش این پست به مدیر سایت

سالنامه فارسی
ش ی د س چ پ ج
1234567
891011121314
15161718192021
22232425262728
2930

چهارشنبه

19

19 بهمن ماه، 1390
08/02/2012


رویداد ها:
روز نیروی هوایی

جستجو در تقویم ...
cash40-D19

آمار کاربران

نظرسنجی
نظر شما درباره سایت

خیلی عالیه
میتونه بهتر باشه
جای کار داره
خوب نیست
نظری ندارم!



شما میتوانید در این مورد نظر مکتوب خود را بنویسید: مشاهد نتایج و ثبت نظر

نظرسنجی ها

تعداد آراء: 448    نظرات: 35

لینک باکس مهم‌ترین‌ ها
  • پروژه‌ها
  • برترین‌ها
  • پر بازدید
  • بیشترین نظرات
cash10-H3

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

یک موضوع انتخاب کنید:


تبادل لینک
PicPars با تمامی وب سایتها و وبلاگها تبادل لینک میکند. ابتدا لینک ما در وب خود ثبت کنید و سپس لینک خود را از اینجا برای ما ارسال کنید. در اولین فرصت لینک شما در سایت ثبت می شود.



cash60-H16



به PicPars امتیاز دهید ممنون از حمایت شما