أنت هنا:برمجها»اللغة ج»الدرس 10: البنيات
الدرس 10: البنيات الدرس 10: البنيات
قيم الموضوع
(3 أصوات)

تستخدم البنية، وتعرف في لغة ج باسم المركب و السجل أيضاً، لتعريف أنواع البيانات المركبة، ويسمح بوضع البيانات المختلفة الأنواع، التي ترتبط مع بعضها ارتباطاً وثيقاً، في بنية منطقية واحدة.

 


البنيات

تعمل البنية في لغة ج عمل struct في اللغة البرمجية C أو record في اللغة البرمجية Pascal للعارفين بهذا الأمر. وتعرف البـنية (المركب أو السجل) بواسطة جملة لها الصيغة التالية:

مركب|سجل { <اسم (عنصر)> [، <اسم (عنصر)> …] : <نوع> … }

ومن أبسط الأمثلة على استخدام البنية، تمثيل الأعداد العقدية (المركبة). وكما هو معلوم، يتكون العدد العقدي من عددين حقيقيين، يُعرَف الأول بالجزء الـحقيقي، ويُعرَف الثاني بالجزء التخيلي. ويوضح المثال التالي طريقة تمثيل الأعداد العقدية باستخدام مفهوم البنية:

1    النوع عدد_عقدي:
    مركب
       {
      ح : حقيقي !! الجزء الحقيقي للعدد العقدي
      خ : حقيقي !! الجزء التخيلي للعدد العقدي
       }

2   المتحول ع : عدد_عقدي
3    أجعل ع.ح = 3.4
4    أجعل ع.خ = 6.5

5    أكتب "الجزء الحقيقي : " ، ع.ح
6    أكتب "الجزء التخيلي : " ، ع.خ

تعرف الجملة الأولى في هذا المثال نوع جديد اسمه "عدد_عقدي"، وهو مركب يضم عددين حقيقيين، هما ح و خ. يعبر العدد الأول ح عن الجزء الحقيقي للعدد العقدي، بينما يعبر الثاني خ عن الجزء التخيلي. وتعرّف الجملة الثانية متغيرا اسمه ع، ونوعه عدد_عقدي. أما الجملة 3 فتضع القيمة 3.4 في الجزء الحقيقي ح للمتغير ع، وتضع الجملة 4 القيمة 6.5 في الجزء التخيلي لنفس المتغير. أخيراً تقوم الجملتين 5 و 6 بكتابة قيمة جـزئي العدد ع. وكما هو واضح في هذا المثال يمكن الوصول إلى عناصر الوحدة بواسطة مؤثر النقطة "." .


تمارين تطبيقية


التمرين 
10.1

أنجز مشروعا يقوم بحساب مجموع عددين عقديين ينتميان إلى المجموعة C، لكن باستعمال البنية مركب ودالة تكون نتيجتها بنية مركب كذلك.
النوع عدد_عقدي:
مركب
{
  ح حقيقي!! الجزء الحقيقي للعدد العقدي
  خ حقيقي!! الجزء التخيلي للعدد العقدي
}
مثال :
س+ i ش= ( أ+ i ب) + ( ج+ i د) 
حيث أن:
سأج
ش ب د


التمرين 10.2
أكتب برنامجاً لإيجاد حل معادلة بمجهول واحد من الدرجة الثانية مهما تكن قيمة المميز.
نعلم أنه إذا كان المميز >= صفر فإن للمعادلة جذرين حقيقيين يعطيان بالعلاقتين:

س1 = (- ب جذر (م)) ÷ (2×آ)     (1)
س2 = (- ب جذر (م)) ÷ (2×آ)     (2)

أما إذا كان المميز سالباً فإن للمعادلة جذرين تخيليين يعطيان بالعلاقتين:

س1 = -ب ÷ (2×آ) + جذر(م) ÷ (2×آت     (3)
س1 = -ب ÷ (2×آ) - جذر(م) ÷ (2×آت      (4)

يحسب البرنامج قيمة المميز من العلاقة م=ب2-4آج فإذا كان المميز سالباً يحسب البرنامج الجذرين التخيليين للمعادلة من العلاقتين (1) و (2) أعلاه، أما إذا كان المميز موجباً فيحسب البرنامج جذري المعادلة من العلاقتين (3) و (4).


التمرين 10.3
باستعمال جدول للأشخاص (الاسم ، النسب، رقم الزنقة، الشارع، الرقم البريدي، المدينة، رقم الهاتف)، أنجز مشروعا يقوم بالبحث التلقائي عن معلومات شخص معين انطلاقا من اسمه أو ...، نفترض أن جدول الأشخاص مهيأ سابقا بالمعلومات.


تأليف

المؤلف الأصلي: الدكتورمحمد عمار السَلكة (دمشق - سوريا)

الموقع الشخصي: http://www.drsalka.com

البريد الإلكتروني: عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.

 

ضبط بتصرف: محمد عبد الرحمان (الدار البيضاء - المغرب) 


المراجع

http://www.jeemlang.com


 

أضف تعليقا


إصنعها يريد أن يتأكد أنك لست روبوتا، لذلك أحسب ما يلي:

كود امني
تحديث