الدرس الخامس هياكل البيانات
2 مشترك
صفحة 1 من اصل 1
الدرس الخامس هياكل البيانات
نتناول اليوم موضوع رائع وقوي جدا من الناحية البرمجية- لقد تعلمت فيما سبق كيف تعلن عن بيانات حسب نوعها وقد كنت تعلن عنها بصورة منفصلة الآن وبنفس الطريقه سوف نعلن عنها ولكن في صورة مجمعة لتكون هيكل للبيانات وهذا الموضوع مفيد جدا في برمجه قواعد البيانات وسترى فوائد ذلك ولو اننا لم ندرس تخزين البيانات في ملفات على الاقراص حيث سنتناول ذلك في درس قادم ولكن عند تجميع البيانات في هياكل اذا قمت بتخزين الهيكل نفسه سيتم تخزين جميع عناصره دفعة واحدة دون ان تنسى اي عنصر وبالتالي يعطيك ميزة اضافيه عما لو كنت تعلن عن البيانات في صورة منفصلة كما سترى
ومثالنا اليوم عن قاعدة البيانات الافتراضية التالية سوف ندرسها بالطريقه العاديه وبطريقة هياكل البيانات لتعرف الفرق وتفهم الموضوع وفي نفس الوقت تدرك ميزات وفوائد هياكل البيانات
لنفرض ان هناك مصنع يعمل على فترتين ولكل عامل فيه سجل بيانات بالطبع لعامل الفترة الاولى والآخر لعامل الفترة الثانية ونفترض للتبسيط ان بيانات كل عامل تحتوي على اسمه ورقمه الوظيفي وراتبه اليومي حتى انه لوتغيب احدى الفترات وضع راتب يومه بالقيمة صفر حتى يتم حساب راتبه الشهري بصورة صحيحة وسيكون الاعلان عن البيانات بالصورة التاليه لنتفق عليها وفيها فائدة تكرار اشياء سبق الاشارة اليها في دروس سابقه
دعنا الآن نعلن عن هذه البيانات بالصورة العادية لنعرف الفرق
char [30] Name1;int Code1;
float Wage1; </SPAN>
بيانات موظف الفترة الثانية
char [30] Name2;
int Code2;
float Wage2;
struct OurDataBase
{
char [30] Name;
int Code;
float Wage; </SPAN>
}L1,L2;
كما رأيت بالمثال لم نستخدم متغير اسم للموظف الاول وآخر للموظف الثاني بل استخدمنا متغير واحد وسوف يتشارك اي عدد حسب تصميم الهيكل في استخدام بيانات الهيكل ولنوضح ذلك
للتعبير عن اسم الموظف الاول او موظف الفترة الاولى
للتعبير عن اسم الموظف الثاني او موظف الفترة الثانية
للتعبير عن رقم الموظف الاول او موظف الفترة الاولى
للتعبير عن رقم الموظف الثاني او موظف الفترة الثانية
للتعبير عن الراتب اليومي للموظف الاول او موظف الفترة الاولى
للتعبير عن الراتب اليومي للموظف الثاني او موظف الفترة الثانية
هل رأيت كم هي بسيطة ربما احتوى هيكل البيانات على مائة متغير مثلا سوف تخزنهم وتسترجعهم بمنتهى السرعة كما سترى فيما بعد ويمكن ايصبح تدوال البيانات السابقة داخل البرنامج سواء بالادخال من مستخدم البرنامج او بالتخصيص كما يلي L1.Name = “Mohamad Hasan”;
L1.Code = 120;
L1.Wage = 13.50;
L2.Name = “Ahamd Ali”;
L2.Code = 270;
L2.Wage = 0;
بالطبع هذه فكرة برنامج ويمكن اضافة المزيد من التحسينات من خلال تحليل البيانات فمثلا جمع المتغير L1.Wage لمدة شهر سوف يعطيك راتبه الشهر وجمع القيم التي تساوي صفر للمتغير L1.Wage لمدة شهر سوف يعطيك عدد ايام غيابه خلال الشهر وهذا يبقى دور تحليل البيانات لاستخلاص نتائج ومخرجات – المثال السابق كان لتوضيح الفكرة فقط
ومثالنا اليوم عن قاعدة البيانات الافتراضية التالية سوف ندرسها بالطريقه العاديه وبطريقة هياكل البيانات لتعرف الفرق وتفهم الموضوع وفي نفس الوقت تدرك ميزات وفوائد هياكل البيانات
لنفرض ان هناك مصنع يعمل على فترتين ولكل عامل فيه سجل بيانات بالطبع لعامل الفترة الاولى والآخر لعامل الفترة الثانية ونفترض للتبسيط ان بيانات كل عامل تحتوي على اسمه ورقمه الوظيفي وراتبه اليومي حتى انه لوتغيب احدى الفترات وضع راتب يومه بالقيمة صفر حتى يتم حساب راتبه الشهري بصورة صحيحة وسيكون الاعلان عن البيانات بالصورة التاليه لنتفق عليها وفيها فائدة تكرار اشياء سبق الاشارة اليها في دروس سابقه
الصيغة | المتغير او وعاء البيانات |
char [30] | اسم الموظف افترضنا انه متغير حرفي سعته 30 حرف |
int | الرقم الوظيفي للموظف وهو عدد صحيح |
float | الراتب اليومي للموظف وهو عدد عشري لان الراتب من المؤكد انه سيحتوي على كسور |
دعنا الآن نعلن عن هذه البيانات بالصورة العادية لنعرف الفرق
بيانات موظف الفترة الاولى
char [30] Name1;int Code1;
float Wage1; </SPAN>
بيانات موظف الفترة الثانية
char [30] Name2;
int Code2;
float Wage2;
الصورة السابقه لتمثيل بيانات البرنامج مع اثنين من الموظفين يعملون لفترتين وكلما ادخلت بيانات اسم موظف الفترة الاولى سوف تستخدم المتغير Name1 وللفترة الثانية ستستخدم المتغير Name2 فماذا لو بدلت المتغيرين بالخطأ بالطبع سيحدث خلل كبير بالبرنامج دعنا نمثل ماسبق تماما بالطريقة الجديده عن طريق استخدام هياكل البيانات
استخدام هياكل البيانات
struct OurDataBase
{
char [30] Name;
int Code;
float Wage; </SPAN>
}L1,L2;
انظر الى الصورة السابقه كم هي مختصرة انها رائعة وانا ارى فيها اختصار مفيد ودعنا نرى كيف نصيغ ذلك بالجدول الذي تعودنا عليه للتوضيح
الصيغة | التفسير |
struct | هو الامر الذي ندرسه الان ومعناه الاعلان عن هيكل بيانات |
OurDataBase | اسم الهيكل سميه كما شئت |
{ | قوس بداية البلوك |
ضع ما يحلو لك من انواع بيانات داخل البلوك | |
} | قوس نهاية البلوك – لاتنساه من فضلك |
L1,L2; | متغيرات اختياريه ترمز لمن سيشارك في استخدام البيانات المعلنه للهيكل |
كما رأيت بالمثال لم نستخدم متغير اسم للموظف الاول وآخر للموظف الثاني بل استخدمنا متغير واحد وسوف يتشارك اي عدد حسب تصميم الهيكل في استخدام بيانات الهيكل ولنوضح ذلك
للتعبير عن اسم الموظف الاول او موظف الفترة الاولى
L1.Name
للتعبير عن اسم الموظف الثاني او موظف الفترة الثانية
L2.Name
للتعبير عن رقم الموظف الاول او موظف الفترة الاولى
L1.Code
للتعبير عن رقم الموظف الثاني او موظف الفترة الثانية
L2.Code
للتعبير عن الراتب اليومي للموظف الاول او موظف الفترة الاولى
L1.Wage
للتعبير عن الراتب اليومي للموظف الثاني او موظف الفترة الثانية
L2.Wage
هل رأيت كم هي بسيطة ربما احتوى هيكل البيانات على مائة متغير مثلا سوف تخزنهم وتسترجعهم بمنتهى السرعة كما سترى فيما بعد ويمكن ايصبح تدوال البيانات السابقة داخل البرنامج سواء بالادخال من مستخدم البرنامج او بالتخصيص كما يلي L1.Name = “Mohamad Hasan”;
L1.Code = 120;
L1.Wage = 13.50;
L2.Name = “Ahamd Ali”;
L2.Code = 270;
L2.Wage = 0;
بالطبع هذه فكرة برنامج ويمكن اضافة المزيد من التحسينات من خلال تحليل البيانات فمثلا جمع المتغير L1.Wage لمدة شهر سوف يعطيك راتبه الشهر وجمع القيم التي تساوي صفر للمتغير L1.Wage لمدة شهر سوف يعطيك عدد ايام غيابه خلال الشهر وهذا يبقى دور تحليل البيانات لاستخلاص نتائج ومخرجات – المثال السابق كان لتوضيح الفكرة فقط
Aminos- .:: V I P ::.
- عدد المساهمات : 14
السٌّمعَة : 50
تاريخ التسجيل : 11/06/2010
رد: الدرس الخامس هياكل البيانات
تباركلاه عليك خاي آمين
تسلم الأيادي ما قصرت
الله يعطيك الصحة
تسلم الأيادي ما قصرت
الله يعطيك الصحة
younes-bcr- .::|| الإدارة ||::.
- عدد المساهمات : 93
السٌّمعَة : 0
تاريخ التسجيل : 09/06/2010
العمر : 36
مواضيع مماثلة
» الدرس الثاني أوامر الاشتراطات
» الدرس الاول اساسيات سي بلس بلس
» الدرس الرابع الدوال
» الدرس السادس المصفوفات
» الدرس الثامن الملفات
» الدرس الاول اساسيات سي بلس بلس
» الدرس الرابع الدوال
» الدرس السادس المصفوفات
» الدرس الثامن الملفات
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى