1- الدوال فى لغة السى Functions in C
الدالة هى جزء من كود البرنامج والتى تقوم بتنفيذ مهمة محددة بشكل متكرر ويتم استدعاؤها أثناء سريان البرنامج الرئيسى . الدوال لها اثنان من الخصائص الرئيسية : دخلها يكون له بارامتر أو أكثر وخرجها له بارامتر واحد (البارامتر هو عامل متغير تعتمد عليه الدالة أى محدد أو معلم للدالة) . كل من هذه البارامترات إما أن يكون متغير أو مصفوفة من المتغيرات , كما أن هذه البارامترات (المحددات) قد تكون فارغة .
المثال التالى يوضح هيكل الدالة :
كود:
void function (void) // Function with empty input and output parameters.
{// Call the function with bracket.
// Portion of code where the routine running of the function.
} // Function closing bracket.
void function (int A) // function with input and output parameter.
{// Call the function with clasp.
// Portion of code where the routine running of the function.
} // Function closing bracket.
int function (void) // Function with empty input parameter entire output.
{// Call the function with clasp.
// Portion of code where the routine running of the function.
} // Closing bracket function.
int function (int A) // function with an input and output parameter integer.
{// Call the function with clasp.
// Portion of code where the routine running of the function.
} // Closing bracket function.
أسماء الدوال يجب أن يتحقق فيها القواعد المتبعة فى تسمية المتغيرات .
المثال التالى يوضح دالة يمكنها حساب حاصل ضرب عددين بعلامة عشرية :
كود:
float Product (float A, float B) // Function to calculate the product of A and B.
{// Call the function with clasp.
float RESULT;
RESULT = A * B; // Product of A and B.
return RESULT; // The function returns the result stored in RESULT.
} // Closing bracket function.
مثال آخر لدالة تقوم بمهام أكثر تعقيدا , حيث يمكنها حساب مساحة دائرة بمعلومية نصف قطرها :
يتم حساب مساحة الدائرة من المعادلة A =
r
حيث
هى القيمة التقريبية 3.1416 .
كود:
float Value_PI (void) // Function that returns the value of π.
{// Call the function with clasp.
float PI = 3.1416;
return PI;
} // Closing bracket function.
فى الحالة التى يكون بالدالة متغيرات داخلية , يجب إعلانها فى بدايتها وقبل البدء أى فعل أو تعليمة أخرى .
كود:
float Area_Circle (float Radius) // Function to calculate the area of a circle.
{// Call the function with clasp.
float Area;
Area = Value _PI () * Radius * Radius // Calculate the area of the circle.
return Area;
} // Closing bracket function.
يتم إنشاء الدوال بالمطور , لكن يوجد بالمتجم دوال محددة مسبقا ويمكن التعرف عليها وتناولها وفقا لمحددات الدخل والخرج وأهم تلك الدوال هى الدالة الرئيسية . وأهميتها تكمن فى حقيقة أنه عندما تعمل فأن جميع برنامج الميكروكونترولر يعمل تبعا لها تلقائيا بمجرد توصيل القدرة للميكروكونترولر . الدالة الرئيسية فى الحالة الخاصة بالميكروكونترولر لا تحتوى على بارامترات (محددات) دخل أو خرج , المثال التالى يوضح طريقة التعبير عنها :
كود:
void main (void) // declaration of the main function.
{// Call the main function.
// Main Program code microcontroller.
} // Closing the main function.
الدوال المعدة بمعرفة المطور يجب إعلانها قبل الدالة الرئيسية , وعامة الدالة التى تستدعى عن طريق دالة أخرى يجب إعلانها قبل الدالة التى تستدعيها .
العلاقات المثلثية والوظائف الرياضة الأخرى مثل الوغاريتمات والأسس وغيرها يمكن أن تستخدم المكتبة المعرفة مسبقا بالمترجم تحت اسم C_Math .
2- إنشاء البرنامج بلغة السى Creating a program in C language