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

يبدأ كل أمر بلغة ج بكلمة مفتاحية تعبر عن نوع ووظيفة ذلك الأمر. كذلك تستخدم في صياغة الأوامر كلمات قياسية أخرى، وحروف، ورموز تربط أجزاء الأمر مع بعضها. تشكل جملة هذه الكلمات مجموعة الكلمات المحجوزة في لغة ج.

 


1. الكلمات المحجوزة

الكلمات المحجوزة هي الكلمات التي لا يجوز للمبرمج استخدامها كأسماء للمتغيرات (المتحولات)، أو الخوارزميات، أو الدوال (التوابع) التي يرغب بتعريفها في برنامجه. والهدف من ذلك منع الالتباس بين الكلمات الأصيلة التي تشكل مفردات لغة ج والكلمات المعرفة من قبل المبرمج. يبين الجدول التالي سرداً بجـميع الكلمات المحجوزة في لغة ج.

كلمات مفتاحية

النوع ، المتحول ، الثابت ، الخوارزمية ، التابع.

أجعل ، أكتب ، أقرأ ، أرسم ، ألون ، أنقش ، أنفذ ، أكرر ، إذا ، أرجع، أنتهي، أفتح ، أغلق. أدرج، بدل.

حروف وكلمات مستخدمة في بناء الأوامر

في ، عند ، طالما ، من ، إلى ، حتى ، وإلا.

صحيح، حقيقي، صغير، منطقي، حرف، ملف.

صفيفة، وحدة، مؤشر.

نفي، صواب، خطأ.

سطر، الورقة، مرة، بخطوة، للقراءة، للكتابة.

النقطة، مستقيم ، دائرة ، مستطيل، مثلث ، إهليلج ، مركزها ، قطرها، مركزه، قطريه ، رؤوسه ، باللون ، بدقة.

دوال وثوابت مبيتة

جب ، تجب ، جذر ، لغ ، عجب ، عتجب ، عظل ، حدس ، حدع ، جديد، صحيح.


2. الأسماء

عند كتابة البرامج بلغة ج يحتاج المبرمج أن يعرف أسماء المتغيرات، والثوابت، والدوال، والعناصر الأخرى. ولكي تتميز العناصر المختلفة عن بعضها، يجب أن يكون لكل منها اسم فريد يميزه عن غيره.

وتتكون الأسماء الصحيحة في لغة ج من الحروف الأبجدية والأرقام فقط، ولا يجوز استخدام علامات الترقيم المختلفة (مثل : ؟ { ، ... إلخ) في هذه الأسماء، باستثناء الشرطة السفلية (_) التي يسمح باستخدامها. كما يشترط ألا يبدأ الإسم برقم، وألا يحتوي على فراغ أبيض بين حروفه وأرقامه. ويجب ألا يطابق الإسم إحدى الكلمات المحجوزة بلغة ج. مثلاً، الأسماء التالية هي أسماء صحيحة ومقبولة بلغة ج:

س
نق1
سرعة_الحركة
نسبة_الزيادة_السنوية

 أما الأسماء التالية فهي أسماء غير مقبولة بـلغة ج:

12س !! غير مقبول لأنه يبدأ برقم
مقدار النمو !! غير مقبول لأنه يحتوي على فراغ أبيض
ل؟ !! غير مقبول لأنه يحتوي على علامة ترقيم ( ؟)
المتحول !! غير مقبول لأنه يطابق كلمة محجوزة

 ومن المستسحن ألا يزيد طول الإسم في لغة ج على 20 حرفاً. مع ذلك، لا يوجد ما يمنع من كتابة أسماء يزيد طولها على 20 حرفاً، شريطة أن تكون الأحرف العشريـن الأولى في هذه الأسماء غير متطابقة. لأن المترجم يقرأ الـعـشرين حرفاً الأولى من كل اسم ويسقط الباقي. لذلك يعتبر الإسمين التاليين متطابقين من وجهة نظر الـمترجم لأن أحرفهما العشرين الأولى متطابقة :

سرعة_انتقال_الصوت_في_الهواء
سرعة_انتقال_الصوت_في_الماء

 غني عن القول أنه يجب ألا يعرف الإسم أكثر من مرة واحدة، وأن لا يستخدم الإسم الواحد لتعريف أكثر من شيء واحد. والعناصر التي يمكن تعريفها بلغة ج هي واحدة من الأنواع التالية:

· الثوابت

· المتحولات

· الأنواع (أنواع البيانات المعرفة من قبل المترجم)

· الخوارزميات

· التوابع

· البدائل (أو المترادفات)


3. الأعداد

تستخدم لغة ج نوعين رئيسيين من الأعداد:

1- الأعداد الصحيحة

2- الأعداد الحقيقية

 الأعداد الصحيحة

تستخدم الأعداد الصحيحة في لغة ج لـتمثيل القيم العددية الصحيحة. ويتكون العدد الصحيح من سلسلة أرقام عشرية (0 – 9)، وقد تـسبقه إشارة (+) أو (-). ومثال على ذلك، تشكل الرموز التالية أعداداً صحيحة مقبولة بلغة ج:

120
-54
9999
+2

 
الأعداد الحقيقية

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

3.1415
0.0001
-1250.0

 

 الثوابت المنطقية

تستخدم لغة ج الثابتين المنطقيين:

صواب : ويعبر عن المنطق الصحيح.

خطــــأ ويعبر عن المنطق الخاطىء .

ويستخدم هذين الثابتين في العلاقات المنطقية.

 

 الثوابت الحرفية

يتألف الثابت الحرفي في لغة ج من حرف واحد (أو أي رمز طباعي) محصور بين علامتي اقتباس (تنصيص) مفردتين، مثل : ‘ى‘ ، ‘ف‘ ، ‘:‘ … إلخ. وتوجد علامة الاقتباس المفردة في لوحة المفاتيح القياسية للحاسوب الشخصي على مفتاح الحرف ع. ويمكن طباعتها بالضغط على مفتاح Shift ثم مفتاح ع دون رفع الإصبع عن المفتاح Shift.

وللثابت الحرفي في لغة ج قيمة عددية، وهي قيمة العدد الموافق لهذا الحرف في صفحة الـرموز التي يستخدمها نظام تشغيل الحاسوب. ويبين الجدول التالي القيم العددية للرموز المختلفة في صفحة الرموز 1256 ، التي تدعم الحروف العربية في نظام الويندوز. ويـلاحظ أن الحروف العربية تشغل مجال الأعداد من 193 (ء) إلى 237 (ي) في هذه صفحة. وتتخلل سلسلة الحروف العربية بعض الرموز غير العربية وبعض الرموز غير الأبجدية، مثل الرمز رقم 224.

 

 الثوابت النصية

يتألف الثابت النصي من سلسلة رموز (حروف، أرقام، علامات ترقيم) محصورة بين علامتي اقتباس مزدوجتين ("). ويمكن للثابت النصي أن يحتوي على أي رمز طباعي ما عدا علامة الاقتباس المزدوجة نفسها. وفيما يلي أمثلة لـثوابت نصية صحيحة في لغة ج:

"هذا ثابت نصي"
"أدخل المصفوفة الأولى:"
"123456789"
" س + ع = "

 ولإدراج علامة الاقتباس المزدوجة نفسها في الثابت النصي، يجب أن تسبق هذه العلامة بالرمز /. ولإدراج الرمز / في الثابت النصي يجب أن يسبق بالرمز / نفسه ، كما هو واضح في المثال التالي:

أكتب "لإدراج علامة الاقتباس المزدوجة (/") في الثابت النصي يجب أن تسبق بالرمز //."

 عند تنفيذ هذه الجملة تظهر العبارة التالية في لوحة الكتابة:

لإدراج علامة الاقتباس المزدوجة (") في الثابت النصي يجب أن تسبق بالرمز /.


4. العلاقات

 

العلاقات الحسابية

تتكون العبارة الحسابية في لغة ج من مجموعة من الحدود - كالثوابت والمتحولات والتوابع - تربطها مجموعة من العوامل الحسابية. وتقسم العوامل الحسابية إلى نوعين:

1- عوامل أحادية تؤثر على حد واحد فقط (مثل عامل القيمة المطلقة)، 

2- عوامل ثنائية تؤثر على حدين متجاورين (مثل الجمع والضرب).

وتوفر لغة ج العوامل الحسابية التالية:

اسم العامل

رمزه

نوعه

نتيجة تطبيقه

أمثلة

موجب

+

أحادي

ناتج ضرب الحد بالقيمة +1

+س
+16

سالب

-

أحادي

ناتج ضرب الحد بالقيمة -1

-4
-ص

القيمة المطلقة

||

أحادي

القيمة المطلقة للحد

|5-7|
|-12|

الجمع

+

ثنائي

ناتج جمع الحدين

سر + 1
1 + 3

الطرح

-

ثنائي

ناتج طرح الحد الثاني من الأول

6 – 5
ع – 3

الضرب

×

ثنائي

جداء الحدين

6.2 × 7
نق×3.14

القسمة

÷

ثنائي

ناتج قسمة الحد الأول على الثاني

12 ÷ 2.5
يه ÷ بي

القسمة الصحيحة

\

ثنائي

ناتج القسمة الصحيحة للحد الأول على الثاني

7\2
ط\ع

الأس

^

ثنائي

الحد الأول مرفوعاً إلى الحد الثاني

2^3
ص^-4

كما تحتوي لغة ج على التدوال الرياضية المبيتة التالية:

اسم الـدالة

نتيجة الـدالة

بالحروف اللاتينية

أمثلة

جب

جيب زاوية

sin

جب (يه÷180×3.14)

تجب

تجيب زاوية

cos

تجب 6.28

جذر

الجذر التربيعي

sqrt

جذر س

لغ

اللوغاريتم الطبيعي

log

لغ (ن+1)

عجب

الجيب العكسي

arcsin

عجب 1

عتجب

التجيب العكسي

arccos

عتجب س

عظل

الظل العكسي

arctg

عظل 8

صحيح

الجزء الصحيح لعدد حقيقي

E

صحيح (6.123)

وفيما يلي أمثلة لعبارات حـسابية مقبولة في لغة ج:

123
12 + 8
س – ع × 3.5
ص^2 ÷ 125
سه
مط × جب (يه×3.14÷180) + 150

 وتقيم العلاقات الحسابية في لغة ج من اليمين إلى اليسار، مع مراعاة أسبقية (أولوية) تنفيذ العوامل الحسابية المختلفة. فللضرب والقسمة أسبقية في العمليات الحسابية على الجمع والطرح، وللأس (أي الرفع إلى القوة) أسبقية على العوامل الأربعة الآنفة الذكر. يبين الجدول التالي أسبقية تقييم العوامل المختلفة في لغة ج مرتبة من الأعلى إلى الأدنى.

درجة الأسبقية

العامل

1

العاملين الحسابيين الأحاديين (-) و (+)

2

أي عبارة موضوعة بين قوسين

3

القيمة المطلقة لعلاقة حسابية

4

الدوال الرياضية المبيتة

5

الدوال المعرفة من قبل المبرمج

6

الأس

7

الضرب والقسمة

8

الجمع والطرح

العلاقات المنطقية

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

عامل المقارنة

رمزه

قيمة العبارة المنطقية

مثال

أكبر

>

صواب إذا كان الحد اليميني أكبر من الحد اليساري

س > ع

أكبر أو يساوي

>= أو =>

صواب إذا كان الحد اليميني أكبر أو يساوي الحد اليساري

س >= (ع+1)

أصغر

<

صواب إذا كان الحد اليميني أصغر من الحد اليساري

ص<3

أصغر أو يساوي

<= أو =<

صواب إذا كان الحد اليميني أصغر أو يساوي الحد اليساري

(1-س) =< 8.5

يساوي

=؟

صواب إذا كان الحد اليميني يساوي تماماً الحد اليساري

ع =؟ 16

لا يساوي

<>

صواب إذا كان الحد اليميني لا يساوي الحد اليساري

سر <> 600÷د

علاوة على ذلك توفر لغة ج العوامل المنطقية الثلاثة المعروفة، وهي النفي، والإتحاد، والتقاطع. ويبين الجدول التالي وظيفتها.

العامل المنطقي

اسم العامل

نوعه

وظيفته

مثال

النفي

نفي

أحادي

نفي العبارة المنطقية

نفي (س>10)

الإتحاد

أو

ثنائي

الإتحاد المنطقي لعلاقتين منطقيتين

(س>10) أو (س=؟0)

التقاطع

و

ثنائي

التقاطع المنطقي لعلاقتين منطقيتين

(يه=؟180) و (ع<>0)

وفيما يلي بعض الأمثلة على العلاقات المنطقية

10 >= 5

 وقيمة هذه العبارة هي صواب لأن 10 هي فعلاً أكبر من 5.

نفي (7 < 3)

قيمة هذه العبارة هي صواب حتماً لأن نتيجة العبارة المنطقية 7 < 3 هي خطأ و عكسها صواب.

(ن >ي) و (ي <> 12) 

 نتيجة هذه العبارة المنطقية هي صواب إذا كانت قيمة المتغير ن أكبر تماماً من قيمة المتغير ي وكانت قيمة المتغير ي لا تساوي 12.


5. الفقرات

تتكون الفقرة من مجموعة أوامر محصورة بين لامتين {}. تدل اللامة المفتوحة { على بداية الفقرة بينما تدل اللامة المغقلة } على نهايتها. ويمكن للفقرة أن تحتوي على أي نوع من الأوامر ما عدا أوامر تعريف الدوال والخوارزميات. ويمكن أن تتكون الفقرة من أمر واحد فقط، عندئذ يجوز اسقاط القوسين المحددين لها. وتستخدم الفقرات في بناء أوامر التحكم بمسار التنفيذ كأدوات التكرار، والأدوات الشرطية إذا ... وإلا وكذلك في تعريف متون الخوارزميات والدوال.


6. التعليقات

تستخدم التعليقات في لغة ج لتوضيح البرنامج - كطريقة عمله وبنى البيانات المستخدمة فيه- لقرائه من البشر. أما مترجم لغة ج فيتجاهل التعليقات تجاهلاً تاماً. ورغم أن التعليقات عنصر غير إلزامي في البرامج، إلا أن استخدامها هام جداً، لما لها من دور كبير في توضيح البرنامج وتسهيل أعمال تنقيحه وتطويره لاحقاً. وتقدم لغة ج نوعين من التعليقات:

 تعليق السطر الواحد

تُسبق تعليقات السطر الواحد بعلامتي تعجب (!!) متتاليتين ليس بينهما فراغ. ويتجاهل المترجم كل شيء يرد بعد هاتين العلامتين حتى بداية الـسطر التالي. مثال:

!! هذا تعليق يتجاهله مترجم لغة ج حتى نهاية السطر

تعليق متعدد الأسطر

توضع هذه التعليقات بين محددين. يدل المحدد الأول على بداية التعليق ويتألف من نجمة وقوس مفتوح *( ليس بينهما فراغ، أما المحدد الثاني فـيدل على نهاية التعليق ويتألف من قوس مغلق ونجمة )* دون فراغ بينهما. ويتجاهل مترجم ج كل ما هو محصور بين المحددين. مثال:

*( هذا تعليق. يمكن كتابة أي نص هنا فالمترجم يتجاهل كل ما هو موجود بين هاذين المحددين )*

تسمح لغة ج باستخدام تعليقات متداخلة، أي وضع تعليق داخل تعليق آخر. ولـهذه الميزة أهمية خاصة عند الرغبة في إلغاء جزء من برنامج يحتوي على تعليقات دون حذفه فعلياً من نص البرنامج.  حيث يمكن إخفاء هذا الجزء عن مترجم لغة ج داخل محددي شرح، كما في المثال التالي:

*( لن يرى مترجم لغة ج الجزء التالي من البرنامج لأنه موضوع بين محددي تعليق )*
*(
أكرر طالما س>0 *( س متحول حقيقي )*
أجعل س = س - 1
)*


تأليف

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

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

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

 

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


المراجع

http://www.jeemlang.com


 

أضف تعليقا


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

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