أخر تحديث
   16/09/2003
   4:05 AM BAG

My AfternicDomain Name RegistrationsDomain Name AuctionsDomain Name ResearchAfternic CommunityDomain Name NewsHelp

الصفحة الرئيسية

صفحة البرمجة الشيئية
الدرس الاول

الدرس الثاني
الدرس الثالث
الدرس الرابع
الدرس الخامس

     

اساسيات البرمجة كائنية المنحنى

    

الدرس الثاني: السلام عليكم ...

 

قبل البدء بفهم اساسيات البرمجة كائنية المنحنى (Object Oriented Programming)، يجب اولا فهم مبدأ البرمجة التقليدية و التي تدعى بالبرمجة اجرائية المنحنى (Procedure Oriented Programming) او مايختصر بــ POP، المستخدمة عند كتابة البرامج بلغات البرمجة الاجرائية التقليدية مثل لغة باسكال (Pascal) و لغة سي (C). (ملاحظة: لتعلم المزيد حول لغة باسكال يمكنك الانتقال الى دروس لغة باسكال لـريان – ولتعلم المزيد حول لغة سى و سى بلس بلس يمكنك الانتقال الى دروس سي لـزهرة النرجس و دروس من سى الى سى بلس بلس لـشهرزاد في باب لغات برمجة من هذا الموقع).

 ان البرامج المكتوبة بهذه اللغات الاجرائية تتضمن مجموعة من الايعازات (instructions ) منظمة على شكل مجاميع تدعى بالـدوال (functions). اي ان البرنامج المكتوب بطريقة البرمجة اجرائية المنحنى يتكون من مجموعة دوال (functions) تتشارك هذه الدوال في البيانات المعرفة في البرنامج. حيث ان البيانات ستوضع في مكان عام و يسمح لجميع الدوال من التعامل معها بسهولة وحرية. وهذا ما تمتاز به البرمجة الاجرائية حيث يمكن تقسيم البرامج الكبيرة الى اجزاء صغيرة (دوال) تتشارك هذه الدوال بنفس البيانات المخصصة لتلك البرامج.

 وهذا يعني ان تلك البيانات العامة (Global Data) ستكون معرضة للتعامل و التغيير من قبل جميع الدوال التي تستخدمها.

 نعم، وكما هو الحال في لغة سى (C) فأن البيانات ستعرف في بداية البرنامج كبيانات عامة، و بعدها سيتم استخدام الدوال التي تعمل على تلك البيانات والتي ستكتب في نهاية البرنامج.

 

 لاحظ البرنامج التالي المكتوب باسلوب البرمجة اجرائية المنحنى (باستخدام لغة سى (C) ) والذي يستخدم التركيب (Struct) كمتغيرات عامة تستخدم من قبل الدالتين display و erase وذلك لـــرسم نقطة.

#include “conco.h”

#include “stdio.h”

 

struct point

{

  char ch;

  int x,y;

}

 

void display(struct point pt);

void erase(struct point pt);

 

 

main( )

{

   struct point pt;

   pt.ch=”*”;

   pt.x=40;

   pt.y=13;

   display(pt);

   getch( );

   erase(pt);

}

 

void display (struct point pt)

{

   gotoxy(pt.x , pt.y);

   printf(“%c”,pt.ch);

}

 

void erase (struct point pt)

{

   gotoxy(pt.x , pt.y);

   printf(“   “);

}

   

الدرس السابق الدرس التالي