قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 27-03-2020, 11:26 AM المشاركة 1   
افتراضي الدرس السادس عامل الزيادة والتعليق Increment Operator and Commenting Twitter FaceBook Google+



دورة برمجة الاردوينو : الدرس السادس
عامل الزيادة والتعليق Increment Operator and Commenting

عامل الزيادة increment operator هو عامل حسابي فى الاردوينو يستخدم لزيادة متغير صحيح integer بقيمة واحد one . سوف نتناول كيفية استخدام عامل الزيادة في هذا الدرس .
التعليقات comments في البرمجة هي ملاحظات notes مكتوبة في برنامج (أو سكيتش) من قبل المبرمج. تُستخدم هذه الملاحظات لشرح ما يفعله الكود ، أو لإضافة معلومات بشرية أخرى مفيدة يمكن قراءتها إلى الكود. يتم شرح كيفية ومتى وسبب استخدام التعليقات في نهاية هذا الدرس .

عامل زيادة الاردوينو Arduino Increment Operator
يستخدم عامل زيادة الاردوينو لزيادة القيمة التي يحتفظ بها المتغير بواحد. هذا مفيد في أنواع معينة من الحلقات كما سيتم عرضه لاحقًا .

عامل الزيادة – مثال 1 :
يوضح المثال أدناه عامل الزيادة المستخدم لزيادة القيمة عدة مرات.


كود:
void setup() {
  int count = 0;
  
  Serial.begin(9600);
  
  Serial.println(count++);
  Serial.println(count++);
  Serial.println(count++);
  
  Serial.println(count);
}

void loop() {
}


خرج البرنامج :



• تهيئة المتغير للزيادة Initializing the Variable to Increment
في المثال أعلاه ، يتم تعريف المتغير count وتهيئته بقيمة 0 (صفر).
من المهم تهيئة هذا المتغير قبل استخدام عامل الزيادة لأنه إذا لم تتم تهيئته ، فيمكن أن يحتوي على أي قيمة عشوائية. هنا نقوم بتهيئته إلى 0 ، ولكن يمكن استخدام أي قيمة صحيحة أخرى.

• الطباعة والتزايد Printing and Incrementing
يتم استخدام الدالة Serial.println() لطباعة قيمة count ، ولكن في نفس العبارة ، يتم استخدام عامل الزيادة (++) لزيادة القيمة التي يحتفظ بها المتغير count .
تؤدي عملية الزيادة إلى زيادة القيمة فى count من 0 إلى 1.

• الزيادة اللاحقة (ما بعد) Post Incrementing
يعد وضع ++ بعد اسم المتغير (count++) عملية زيادة لاحقة (بعد) . وهذا يعني أن المتغير يستخدم في العبارة ويزداد بعد ذلك فقط.
بسبب عملية الزيادة اللاحقة ، تتم طباعة القيمة الأولية للمتغير count (وهى 0) بواسطة الدالة println() الأولى ، ويتم زيادته فقط بعد ذلك.
تقوم الدالة println() التالية بطباعة القيمة المتزايدة الجديدة (الآن هى 1) ثم يزيد عامل الزيادة في العبارة قيمة count بعد طباعتها - يتم زيادتها الآن إلى 2.
تطبع عبارة println() الثالثة 2 وتزيد القيمة في count إلى 3.
تطبع عبارة println() النهائية قيمة count لكنها لا تستخدم عامل الزيادة. تطبع القيمة 3 التي تمت زيادة المتغير إليها مسبقًا.

عامل الزيادة – مثال 2
يعمل البرنامج التالي تمامًا مثل البرنامج السابق ، ولكن تم فصل عمليات الزيادة وعمليات الطباعة في عباراتها الخاصة.
قد يساعد هذا المثال على توضيح ما يحدث في المثال السابق. يمكننا أن نرى أن عبارة println() الأولى تطبع قيمة count وفقط بعد ذلك يتم زيادة القيمة فى count.

كود:
void setup() {
  int count = 0;
  
  Serial.begin(9600);
  
  Serial.println(count);
  count++;
  Serial.println(count);
  count++;
  Serial.println(count);
  count++;
  
  Serial.println(count);
}

void loop() {
}

من هذين المثالين ، يمكننا أن نرى أن هذا السطر المفرد من الكود:

كود:
 Serial.println(count++);

هو نفس السطرين من الكود :

كود:
Serial.println(count);
count++;

الشيء المهم الذي يجب ملاحظته هو أن الزيادة في المتغير تحدث بعد طباعته ، لذلك تتم طباعة القيمة التي يحملها المتغير قبل تحديثه إلى القيمة المتزايدة الجديدة.
كما هو الحال دائمًا ، قم بتحميل الكود إلى Arduino الخاص بك وجربه.

تعليقات البرامج (الاسكيتشات) Commenting Sketches :
تسمح لك التعليقات بكتابة الملاحظات النصية الخاصة بك مع كود البرنامج . يوضح البرنامج التالي طريقتين لكتابة التعليقات.

كود:
 /*
    Sketch Name:  comments
    
    Purpose:      Demonstrates how to use comments.
                  Increments and displays a number in the main loop.
    
    Date:             
    Author:       
*/

void setup() {
  Serial.begin(9600);       // use the serial port for printing the number
}

int count = 0;              // the number to print

void loop() {
  Serial.println(count++);  // print and increment the number
  delay(1000);              // 1 second delay between printing
}

• تعليقات متعددة الأسطر Multi-line Comments
يمكن كتابة التعليقات على أسطر متعددة عند استخدام حرفى الشرطة المائلة للأمام والنجمة للفتح (/*) واستخدام حرفى النجمة والشرطة المائلة للأمام (*/) للإغلاق كما هو موضح أعلى البرنامج .
يمكن كتابة أي تعليقات نصية بين فتح وإغلاق التعليق ويمكن أن تمتد إلى عدة أسطر. سيتم تجاهل جميع النصوص في التعليق من قبل المترجم compiler .
يمكن أيضًا استخدام هذا النمط من التعليق على سطر واحد ، ولكن يجب دائمًا إغلاقه بعلامة النجمة والشرطة الأمامية كما هو موضح أدناه.

كود:
 delay(1000);  /* 1 second delay between printing */

هناك طريقة أسهل للتعليق على سطر واحد من الكود ، باستخدام تعليق سطر واحد ، كما هو موضح أدناه.

• تعليقات سطر واحد Single Line Comments
يتم استخدام شرطة مائلة للأمام مزدوجة (//) لإنشاء تعليق سطر واحد. سيكون كل النص الموجود على يمين الخط المائل المزدوج على نفس السطر عبارة عن تعليق وسيتم تجاهله من قبل المترجم.
يمكن استخدام تعليق سطر واحد على سطر خاص به أو على يمين عبارة البرنامج.

كود:
// the delay slows down the printing of the numbers
delay(1000);  // 1 second delay between printing

فيما تستخدم التعليقات
تُستخدم التعليقات لتوضيح كيفية عمل أجزاء من البرنامج ، بدلاً من شرح لغة البرمجة الفعلية التي تتم كتابتها.
عندما تعود إلى برنامج كتبته قبل شهر أو قبل عام ، قد لا تتذكر سبب كتابة جزء من البرنامج بطريقة معينة. من خلال كتابة التعليقات في البرنامج ، فأنت تدون ملاحظات لنفسك للمساعدة في شرح ما كنت تفعله عندما كتبت البرنامج لأول مرة.

يمكن أيضًا ترتيب التعليقات كقسم رأس أو كتلة تعليق ، مثل كتلة التعليقات متعددة الأسطر في أعلى المثال أعلاه . تحتوي الكتلة على اسم البرنامج أو وصفه أو الغرض منه ، وتاريخ كتابته واسم المؤلف. يمكن أن تحتوي التعليقات أيضًا على مراجع لأي كتب أو مواقع ويب أو موارد أخرى تم استخدامها عند كتابة البرنامج .
باختصار ، فإن التعليقات وكتل التعليقات توصل معلومات مفيدة عن البرنامج لنفسك وللمبرمجين الآخرين الذين قد يستخدمون البرنامج أيضًا.

اعلانات
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 08:01 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025