منتديات برامج نت
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي
منتديات برامج نت
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي
منتديات برامج نت
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتديات برامج نت

برامج كمبيوتر و انترنت لغات برمجه و تطوير مواقع قسم خاص بالتصميم و الجرافيك
 
الرئيسيةPortalأحدث الصورالتسجيلالماكرو I_icon_mini_registerدخول
اهلاوسهلا بكم في منتديات برامج نت ارجو من جميع الزوار التسجيل مع تحيات $الادارة$

 

 الماكرو

اذهب الى الأسفل 
3 مشترك
كاتب الموضوعرسالة
DESGINER

المدير العام...}


DESGINER



الماكرو Empty
مُساهمةموضوع: الماكرو   الماكرو Icon_minitimeالإثنين مارس 16, 2009 11:15 am

هو مجموعة من التعليمات تؤدى غرض معين ويشبه إلى حد كبير الدالة function ويتم إنشاء الماكرو مرة واحدة وبعد ذلك يمكن استدعائه كلما احتجت إيه ( أى يتم تعريف الثوابت او عمليات محدده فى بداية البرنامج وتكون لها صفه العمومية للاستخدام داخل الدالة الرئيسية والدوال الفرعية )
إذن : الماكرو من ضمن بناء برنامج لغة الـــ C

كيفية إنشاء الماكرو :-
- يتم ذلك باستعمال الكلمة #define
- وهذه الكلمة تسمى directive او preprocessor ومعناها التوجيه

* الصورة العامة# define macro line
مثلا #define a 5
وهى عبارة عن تعريف طرف بطرف ومعناها عرف المتغير a بالقيمة 5
تمرين يوضح كيفية الإعلان عن الماكرو وكيفية استعماله

كود:
# include<stdio.h>
# define sum(a,b) a+b
# define mul(x,y) x*y كود:
main ( )
{
int v1=5 , v2 = 10;
printf(“\n\n sum(v1,v2) = % d”,sum(v1,v2);
printf(“\n\n mul(v1,v2) = % d”,mul(v1,v2);
} ملاحظات على البرنامج :-
- فى السطر رقم 2 استخدمنا كلمة define لتعريف ماكرو بالاسم sum ووظيفته استبدال المتغيرينa,b بالصور a+b
- كذلك فى السطر رقم 3 يستبدل المتغيرين x,y بنتيجه الضرب x*y
- ومعناها كلما قبل المترجم اللغة الطرف الأول للماكرو يستبدله بالطرف الثانى
ملاحظ هامة : المتغيرين a,b يمكن استبدالهما بأى متغيرين أو قيمتين داخل البرنامج. واسم الماكرو هو الذى يحدد العملية التى يقوم بها الماكرو ( هل هى عملية جمع أم ضرب أم ….. بناء على المعادلة الموجودة فى الطرف الأيمن من الماكرو )
* الفرق بين الماكرو وبين الدالة :- اى برنامج يمر بثلاث مراحل :-
المرحلة الأولى : كتابة وهذا يسمى source code ويخصص لملف المصدر الامتداد .C
المرحلة الثانية : ترجمة البرنامج للغة يفهمها الحاسب وتسمى هذه المرحلة compilation ويخصص للملف الامتداد .obj
المرحلة الثالثة : ربط الملف الـ object بمكتبات اللغة ليصبح قابل للتنفيذ وتسمى هذه العملية linking ويخصص لهذا الملف الإمتداد .exe
ومن خلال هذه المراحل تستطيع ان تستخرج الفرق بين الماكرو وبين الدالة كما يلى :-
1- فى مرحلة الكتابة ايس هناك فرق بين الماكرو وبين الدالة.
2- فى مرحلة الترجمة compilation يتم تحويل تعليمات الدالة الى لغة الآلة object وتنتظر وحدة الربط linking ولا تنفذ الدالة إلا فى مرحلة الربط
3- اما فى حالة الماكرو يتم استبدال الماكرو بنتيجة تنفيذ الماكرو
( فى التمرين السابق يتم استبدال الماكرو الموجود فى السطر رقم 7 بنتيجة التنفيذ مباشرة . اى يتم وضع القيمة 15 وهى نتيجة تنفيذ الماكرو مكان sum(v1,v2) وبالتالى عندما تاتى مرحلة التنفيذ يجد البرنامج نتيجة تنفيذ الماكرو جاهز وهى 15 )
\ مزايا الماكرو :-
1- بسيط فى الإنشاء
2- بسيط فى الاستعمال ويعطى فى النهاية ملف تنفيذى أصغر
3- إذا كانت العملية المطلوبة بسيطة ويمكن كتابتها فى سطر واحد نستعمل الماكرو.

تمرين :

كود:
# include<stdio.h>
# define pi 3.14159
main ( )
{
float area(float);
float radius;
printf(“enter radius sphers : “);
scanf(“%f”, &radius):
printf(“area of sphere is 2f”,area(radius));
}
/* returns ares of sphere */
float area(rad)
float rad;
{
return(4*pi*rad*rad);
}
الرجوع الى أعلى الصفحة اذهب الى الأسفل
EH@B

عضو جديد...}


EH@B



الماكرو Empty
مُساهمةموضوع: رد: الماكرو   الماكرو Icon_minitimeالجمعة مايو 22, 2009 12:38 pm

الماكرو Thankyou2MF
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://a7la-3alam.gid3an.com/forum.htm
EH@B

عضو جديد...}


EH@B



الماكرو Empty
مُساهمةموضوع: رد: الماكرو   الماكرو Icon_minitimeالجمعة مايو 22, 2009 12:47 pm

الماكرو Thankyou2MF
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://a7la-3alam.gid3an.com/forum.htm
الزعيم

عضو جديد...}






الماكرو Empty
مُساهمةموضوع: رد: الماكرو   الماكرو Icon_minitimeالجمعة مايو 22, 2009 3:42 pm

مشكوووووووووور على الدرس
تحيااااتى
الرجوع الى أعلى الصفحة اذهب الى الأسفل
DESGINER

المدير العام...}


DESGINER



الماكرو Empty
مُساهمةموضوع: رد: الماكرو   الماكرو Icon_minitimeالجمعة مايو 22, 2009 3:48 pm

شكرا لمروركم جميعا
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
الماكرو
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات برامج نت :: :::: المنتديات التقنيـــــه :::: :: لغات البرمجه :: لغه السى و السى++و السى#-
انتقل الى: