Arduino Codes -part 2( Structure -functions)



Functions

A function is a block of code that has a name and a block of statements that are executed when the function is called. The function s setup () and void loop() have already been discussed and other built- in functions will be discussed later

الدوال او الوظائف هي كتلة او حزمة او مجموعة من الاكواد التي لديها اسم محدد وحزمة من العبارات البرمجية والتي يتم تنفيذها عند استدعاء الدالة .

type function Name (parameters)
{
          Statements;
}

Custom functions can be written to perform repetitive tasks and reduce clutter in a program .Functions are declared by first declaring the function type . This is the type of value to be returned by the function such as 'int' for an integer type function . if no value is to be returned the function type would be void . After type ,declare the name given to the function and in parenthesis any parameters being passed to the function. 
الدوال حسب الطلب يمكن كتابتها لاداء مهام تكرارية او محددة ولكي تقلل من الفوضي في البرنامج بالاضافة الى تنسيق خوارزمية البرنامج يعني يصبح البرنامج مفهوم ومرتب ويسهل على الالة تنفيذ البرنامج بسهولة وبدون اخطاء . على كل الدوال يجب ان يصرح عن نوعها مثلا هل هي من النوع الصحيح مثلا int  حيث تعيد القيم الصحيحة فقط ما عدا ذلك تكون غير مقبولة

The following integer type function delay Val () is used to set a delay value in program by reading the value of a potentiometer . it first declares a local variable V, sets V to the value of the potentiometer which gives a number between 0-1023 , then divides that value by 4 for a final value between 0-255, and finally returns that value back to the main program .

int delayval ()
{
  int v;                            //create temporary variable 'v'
  v= analogRead(pot); // read potentiometer value
  v/=4;                           // converts 0-1023 to 0-255
  return v;                     // return final value
}
في المثال السابق هناك دالة من النوع الصحيح وسميت ب delay Val ()  في هذه الدالة يتم قراءة potentiometer لكن قبل ذلك يجب التصريع عن متغير محلي لنسميه v هي تمثل قيمة التماثلية التي يتم رصدلها بواسطة البورد او المتحكم حيث تكون القيم بين 0-1023 بعد ذلك يتم قسمة القيمة على 4 والتي يعيد القيم بين 0-255 ثم بعد ذلك يعيد القيمة v وبالتالي يقرى البرنامج القيم التماثلية الصحيحة فقط ولا يقبل القيم الغير صحيحة.


NOTE                                                                                                                    ملاحظة
سيتم سرد بعض الرمز التي تستخدم عند كتابة البرنامج



{ } curly braces

Curly braces (also referred to as just "braces" or "curly brackets ") define the beginning and end of function blocks and statement blocks such as the void loop() function and the for  and if statements .
الحاصرتين هذه مهمه جدا في تحدد بداية ونهاية الدالة فمثلا في void loop() تكون الحزم او الاكواد مكتوبة بين هاتين الحاصرتين وكذك يتم استخدامها مع الدوال الاخرى وايضا مع دالة for , if  كما سنلاحظ في الاكواد القادمة وكمثال
Type function ()
{
Statements;
}
حيث Type function () قد تكون أي دالة مثلا int time() or for or if … ets
Statements نقصد ان تكتب مكانة العبارات البرمجية أي الاكواد


; semicolon

A semicolon must be used to end a statement and separate elements of the program . A semicolon is also used to separate elements in a for loop .

الفاصلة المنقطة يجب ان تنتهي العبارة البرمجية او الكود بها حتي تخبر الكمبيلر او المترجم بنهاية الكود البرمجي .

int x= 13; // declares variable 'x' as the integer 13

Note : forgetting to end a line in a semicolon will result in a compiler error .
ملاحظة عدم كتابة الفاصه المنقطة بعد الكود سوف ينتج خطاء في الترجمة ويعطي المترجم رسالة خطاء .




/**/ block comments

Block comments , or multi line comments, are areas of text ignored by the program and are used for large text descriptions of code of comments that help others understand parts of the program . They begin with /* and end with*/ and can span multiple lines .

/* this  is an enclosed block comment don't  forget the closing comment they have to be balanced ! */

يستخدم الخط نجمة خط نجمة /*..*/ لكتابة التعليقات عن البرنامج بحيث ان العبارات الواقعة بداخل هذه العلامة لا يتم قراءته  ويتم تجاهله . وهي مفيدة للتوضيح عن البرامج او الادوات المستخدمة الى اخرة .

Note : while it is possible to enclose single line comments within a block comment , enclosing a second block comment is not allowed .



// line comments

Single line comments begin with //and  end with the next line of code . like block comments , they are ignored by the program and take no memory space .
// this is a single line comment .

Single line comments are often used after a valid statement to provide more information about what the statement accomplishes or to provide a future reminder .

يستخدم هذين الخطين ايضا لعمل التعليقات حيث يتجاهل البرنامج العبارات التي تأتي بعدة و يبدا البرنامج بقراءة السطر الجديد .





الإبتساماتإخفاء