الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Car parking شرح

بدأه حنان2 في 5 ديسمبر 2011 · 1 رد · 572 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اريد فهم هذ البرنامج

nclude "simLib.h#

define EVENT_ARRIVEL 1

define EVENT_DEFARTURE

define LIST_QUEUE 1

define SAMPST_DELAYS

define SAMPST_DELAYS

define STREAM INTERARRIVAL 1

define STAEAM_SERVICE 2

اريد تعاريف هذي المصطلحات ..

شكررا لكم ..

#2

اولا استخدمي رمز الكود <> عند كتابة الموضوع في المرة القادمة لكي يكون الموضوع منسقا كما يلي ..

nclude "simLib.h#
define EVENT_ARRIVEL 1
define EVENT_DEFARTURE
define LIST_QUEUE 1
define SAMPST_DELAYS
define SAMPST_DELAYS
define STREAM INTERARRIVAL 1
define STAEAM_SERVICE 2

ثانيا بالنسبة للمصطلحات ( البرمجية ) ..

#include .. وهي من ضمن ايعازات Preprocessing التي توجه المترجم الخاص باللغة الى توجهات خارجية وتضمين عمليات ليست مضمنه تلقائيا ..

تعني تضمين البرنامج المكتبات الجاهزة التي يحتاجها البرنامج .. والتي تحتوي على الدوال الاساسية التي نستخدمها جميعا .. فبدلا من ان تعيدي كتابة الكود في كل مرة مجرد استخدامك للمكتبة الجاهزة يجعل الدوال داخلة ضمن البرنامج .. وهنالك العديد من المكتبات الجاهزة والتي تستعمل منذ 40 سنة ..

stdio.h المكتبة الخاصة بدوال الادخال والاخراج وهي مختصرة من Standard Input Output

math.h مكتبة الرياضيات التي تحتوي على دوال الجذر التربيعي والدوال المثلثية والكثير الكثير .. فبدلا من ان اعيد برمجة دالة الـCos مثلا .. اقوم بكتابة الكود التالي ..

#include<math.h>

void main()
{
float x,y;
y = cos(x) ;

}

بالمناسبة ..(.h) مختصرة من Header File وتعني انها ملف رأسي او دليلي ولذلك دائما ما تكون اول ما نبدأ به ( من الرأس ) ... لذلك اي ملف .h هو مكتبة جاهزة ونستدعيها باستخدام #include ..

بالنسبة للـ #define هو ايضا Preprocessing مثل السابقة لكن فائدته تختلف ..

الفائده هو لجعل اسم المتغير الذي بعده مباشرة يأخذ القيمة التي تليه .. واينما تم ذكر هذا الاسم في البرنامج فهذا يعني استبدال الاسم بالقيمة المحتواة .. اعلم انه تفسير صعب ولكن لنرى المثال ..

define EVENT_ARRIVEL 1

هذا ماكتبتيه بالسؤال .. هنا المترجم عندما يبدأ بالترجمه يبحث في الكود كله ، واينما يجد EVENT_ARRIVEL يقوم باستبداله ( داخليا ) بالقيمة (1) .. وهذا الحال بالنسبة لكل التعريفات الاخرى المستخدمة لـ#define ..

بالمناسبة .. نطلق على النواتج من تعريف #define بالـ ( ماكرو ) ..

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

تحياتي العطرة ..

1

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

مواضيع مشابهة