اهلا بك

الكاتب

مرحبا بكم

البحث فى المدونه

اشترك ليصلك كل جديد

احصل على كل جديد فى عالم التدوين لحظه بلحظه اشترك الان

السبت، 28 فبراير 2015

الدرس 1: نظرة عامة على لغة ج

الدرس 1: نظرة عامة على لغة ج
في هذا الدرس ستجد مقدمة عامة حول اللغة المعلوماتية ج وكذلك البرنامج الذي تحتاجه لاستعمالها.


 1. برنامج الخوارزمي
بداية، يجب عليك تحميل برنامج الخوارزمي من أجل تنفيذ مشاريع وتطبيقات البرمجة بلغة g


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

2. الأوامر التعريفية
تستخدم الأوامر التعريفية كما يدل اسمها في تعريف أسماء مميِّزة لعناصر البرنامج المختلفة، كالمتحولات والتوابع والخوارزمياتبحيث يمكن استدعاء، أي استخدام، هذه العناصر في البرنامج من خلال أسمائهاوتأخذالأوامر التعريفية في لغة ج صيغة جمل اسمية، تبدأ باسم معرف بأل يعبر عن نوع العنصر المراد تعريفه. مثلاً، يعرف الأمر التالية متغيرا صحيحاً اسمه ص.
المتحول ص صحيح
والمتحول الصحيح هو المتغير الذي يمكن أن نضع فيه أعداداً صحيحة، أي تنتمي إلى مجموعة الأعداد الصحيحة.أما الأمر التالية فيعرف الثابت الحقيقي بي (p):
الثابت بي = 3.1415

يبين الجدول التالي الأنواع المختلفة للأوامر التعريفية في لغة ج والكلمة المفتاحية البادئة لكل منها.
الكلمة المفتاحية
وظيفة الجملة
مثال
المتحول
تعريف المتحولات(المتغيراتالتي ستستخدم في البرنامج، ونوع كل منها.
المتحول س حقيقي
يعرف هذا الأمر متحولاً اسمه س يمكن أن نخزن فيه قيمة لعددحقيقي.
الثابت
تعريف الثوابت التي ستستخدم في البرنامج، وقيمة كل منها.
الثابت بلانك = 6.625 × 10^-34
يعرف هذا الأمر ثابتاً عددياً حقيقياً اسمه بلانك وقيمته6.625×10-34 (ثابت بلانك في الفيزياء)
النوع
تعريف أنواع بيانات مركبة، كالصفائف (المصفوفات)والوحدات.
النوع شعاع صفيفة [3] من حقيقي
يعرف هذا الأمر نوعاً مركباً اسمه شعاع، يتكون من صفيفة منأعداد حقيقية.
الخوارزمية
تعريف خوارزميات جديدة، يمكن بعد ذلك استخدامها في البرنامج.
الخوارزمية أضرب_عقدي (س،ع عقدي، صعقدي){ … }
يعرف هذا الأمر خوارزمية اسمها "أضرب_عقديتقوم بضرب متحولين عقديين (س و عوتضع الناتج في المتحول العقدي ص.
التابع
تعريف توابع (دوالجديدة لاستخدامها في البرنامج.
التابع طويلة (ش شعاع) -> حقيقي{ … }
يعرف هذا الأمر تابعاً اسمه "طويلةيأخذ متحولاً شعاعياً (ش)ويرجع عدداً حقيقياً يمثل طويلة هذا الشعاع.

2. الأوامر التنفيذية
تقوم الأوامر التنفيذية بعمل معين، ككتابة عبارة على شاشة الكتابة، أو إسناد قيمة لمتحول عددي، أو قراءة حرف من ملفوتأخذ الأوامر التنفيذية صيغة جمل فعلية، تبدأ بفعل مضارع على وزن أَفعَلُ (مثل أَكتبُ، أَرسمُ، أُكرِّرُ) . مثلاً، تقوم الجملة التالية عند تنفيذها بإسناد ناتج العملية الحسابية 66 ÷ 3 إلى المتحول س.
أجعل س = 66 ÷ 3
أما الأمر التالية فترسم دائرة على شاشة الرسم:
أرسم دائرة مركزها(100 ، 120) قطرها50
ويبين الجدول التالي أنواع الأوامر التنفيذية في لغة ج، والكلمة المفتاحية البادئة لكل منها.
الكلمة المفتاحية
وظيفة الجملة
مثال
أَكتُبُ
كتابة العبارات على شاشة الكتابة (أو في ملف).
أكتب "مجموع و 5 =" ، 4+5
عندما ينفذ هذا الأمر تظهر العبارة:
مجموع و 5 = 9
على شاشة الكتابة
أَقرأ
قراءة قيمة يدخلها المستخدم على شاشة الكتابة (أو من ملف).
أقرأ عدد_التلاميذ
عندما ينفذ هذا الأمر ينتظر البرنامج المستخدم ليدخل عدداً على شاشة الكتابة ثم يقرأ البرنامج هذا العدد ويضعه في المتحول عدد_التلاميذ
أَجعلُ
إسناد قيمة لمتحول.
أجعل ع س^2 + 3
عندما ينفذ هذا الأمر يضع البرنامج قيمة العبارة الحسابية :س2+3 في المتحول ع.
إذا .. وإلا
التنفيذ الشرطي لمجموعة من الأوامر.
إذا ص > 360 أجعل ص = 0وإلا أجعل س ص
عند تنفيذ هذا الأمر يقوم البرنامج باختبار قيمة المتحول ص.فإذا كانت ص > 360 يضع البرنامج القيمة في ص، وإلا يضع البرنامج في المتحول س قيمة ص.
أُكَّررُ
تنفيذ أمر واحد أو أكثر عدداً من المراتولهذا الأمرعدة أشكال.
أكرر من د = 1 إلى 10أكتب مربع "، د ، " = " ، د^2
عندما ينفذ هذا الأمر المركبة ينفذ البرنامج الأمرجملة"أكتب"، 10 مرات من أجل د=1 حتى د=10. أي أن البرنامج سيكتب في المرة الأولىمربع 1 = 1"، وفي الثانية"مربع 2 = 4"، وهكذا ...
أَنتهي
الإنهاء القسري للبرنامج.
إذا س صفر أنتهي
عنما ينفذ هذا الأمر يختبر البرنامج المتحول س، فإذا كانت قيمته = 0 ينتهي تنفيذ البرنامج مباشرة.
أُنفِّذ
تنفيذ الخوارزميات والتوابع.
أنفذ جداء_مصفوفتين (آ ، ب ، ج)
عندما ينفذ هذا الأمر يقوم البرنامج باستدعاء (تنفيذ)الخوارزمية "جداء_مصفوفتينعلى ثلاثة متغيرات فعلية هي آ، ب، ج.
أَرجِعُ (للخوارزميات)
أُرجع (للتوابع)
الرجوع القسري من الخوارزميات، أو إرجاع قيم التوابع (أي الدوال).
أرجع (س ÷ 2)
عندما ينفذ هذا الأمر يعود البرنامج من التابع الذي يقوم بتنفيذه إلى البرنامج الرئيسي ويرجع قيمة العبارة (س÷2) كقيمة لهذا التابع.
أَرسُم
رسم الأشكال الهندسية(مستقيم، دائرة...) على شاشة الرسمولهذا الأمرعدة صيغ تبعاً لنوع الشكلالهندسي المطلوب رسمه.
أرسم مستقيم من (0 ، 0) إلى (20 ، 100)
عند تنفيذ هذا الأمر يرسم البرنامج مستقيماً من النقطة (0،0)إلى النقطة (20، 100) على شاشة الرسم.
أُلّونُ
رسم الأشكال المملوءة على شاشة الرسم.
ألون باللون الأزرق ، دائرة مركزها (50 ، 50)قطرها 30
يرسم هذا الأمر دائرة مركزها (50،50) وقطرها 30 مملوءة باللون الأزرق
أَنقُشُ
كتابة العبارات على شاشة الرسم.
أنقش عند (100 ، 100) س+ع
يكتب هذا الأمر قيمة العبارة س+ع على شاشة الرسم عند النقطة التي تبلغ إحداثياتها (100،100)
أَفتحُ
فتح ملف للقراءة أو الكتابة.
أفتح ملف_النص للقراءة من "C:\text.txt"
يفتح هذا الأمر ملفاً اسمه ملف_النص للقراءة، ويربطه بالملف"C:\text.txtالموجود على القرص الصلب للحاسوب.
أُغلقُ
إغلاق ملف مفتوح.
أغلق ملف_النص
يغلق هذا الأمر الملف ملف_النص
ويمكن للبرنامج أن يحتوي على أي عدد من الأوامر التعريفية والتنفيذية وبأي ترتيب ممكنولا يشترط أن تكون الأوامر التعريفية في أول البرنامج حصراًبل يمكن مزج الأوامر التعريفية والتنفيذية في أي موضع من البرنامج.

3. إيعازات المترجم
تحتوي لغة ج على إيعازين خاصين بالمترجم، يجري تنفيذهما أثناء ترجمة البرنامجويبين الجدول التالي هذين الإيعازين ووظيفة كل منهما.
الكلمة المفتاحية
وظيفة الجملة
مثال
أَدرِجْ
إدراج ملف آخر يحتوي جملاً بلغة ج في البرنامج الذي تجري ترجمته.
أدرج "رياضيات"
عندما يجد مترجم لغة ج هذا الأمر، يقوم بقراء الملف"رياضياتوترجمة ما يحتويه من أوامر تعريفية أو تنفيذية، ثم يعود ويكمل ترجمة البرنامج الأصلي.
بَدِّل
استبدال كلمات بكلمات أخرى أو تراكيب معقدة بغية تسهيل كتابة البرنامج، أو إضافة مفردات جديدة إلى لغة ج.
بدل مستقيما بـ "مستقيم"
عندما يجد مترجم لغة ج هذا الأمر يقوم باستبدال كل ورود لكلمة "مستقيمافي نص البرنامج بكلمة "مستقيم".ويحدث هذا الاستبدال داخل المترجم ولا يغير النص الأصلي للبرنامجلذلك يمكن للمبرمج أن يكتب:
أرسم مستقيما من (20،20) إلى (100،150) لأن ذلكأصح في اللغة العربية من أرسم مستقيم من (20،20)إلى (100،150). مع أن كلمة "مستقيماليست من الكلمات المعرفة أساساً في لغة ج، وبالرغم من ذلك يعرف المترجم أن كلمة "مستقيمامرادفة لكلمة"مستقيمفيترجم الجملة دون أن يصدر رسالة خطأ.

4. أمثلة بسيطة لبرامج بلغة ج
حساب مساحة دائرة
يبين المثال التالي برنامجاً بسيطاً بلغة ج، يحسب مساحة دائرة بعد قراءة قطرهاوقد رقمت أسطر البرنامج للإشارة إليها في الشرح التاليولا تشكل هذه الأرقام جزءاً من البرنامج في لغة ج.
1   الثابت بي = 3.14152   المتحول ق حقيقي3   المتحول س حقيقي4   أكتب "أدخل قطر الدائرة : " ،سطر5   أقرأ ق6   أجعل س بي × (ق ÷ 2)^27    أكتب "مساحة الدائرة = " ، س
يتألف هذا البرنامج من سبع أوامرالثلاثة الأولى منها أوامر تعريفية والأربعة الأخيرة أوامر تنفيذية:
1- يعرّف الأمر الأول الثابت الهندسي بي (πوهو نسبة محيط الدائرة إلى قطرها.
2- يعرّف الأمر الثاني متغيرا(قيمكنه حفظ الأعداد الحقيقية، وسيستخدم هذا المتحول (المتغيرلحفظ قيمة قطر الدائرة.
3- أما الأمر الثالث فيعرف المتحول الحقيقي س، الذي سيستخدم لحفظ مساحة الدائرة.
4- يقوم الأمر الرابع بكتابة العبارة: "أدخل قطر الدائرة:" على شاشة الكتابة لتنبه المستخدم إلى ضرورة إدخال عدد يمثل قطر الدائرة.
5- يقرأالأمر الخامس قيمة القطر التي يدخلها المستخدم على شاشة الكتابة.
6- ثم يحسب الأمر السادس مساحة الدائرة من العلاقةπ×(ق÷2)2، وتضع هذه القيمة في المتحول س.
7- أخيراً يقوم الأمر الأخير بكتابة النتيجة على شاشة الكتابة.يبين الشكل التالي مثالاً لتنفيذ هذا البرنامج:

حساب عاملي عدد صحيح

يبين السرد التالي مثالاً آخر لبرنامج بسيط بلغة جيحسب هذا البرنامج عاملي عدد صحيحوعاملي العدد الصحيحن هو القيمة ن(ن-1)(ن-2) …1وقد رقمت سطور البرنامج للتوضيح.
1     !! برنامج لحساب عاملي عدد صحيح2     المتحول ن صحيح3     المتحول ص ، ع صحيح4     أجعل ع = 15     أكتب "أدخل عدداً صحيحاً لتعرف قيمة عامليه :" ، سطر6     أقرأ ن7     أجعل ص ن8     أكرر طالما ص > 1       {9         أجعل ع ع × ص10       أجعل ص ص 1        }11    أكتب ن ، "! =" ، ع
1- السطر الأول في هذا البرنامج هو مجرد تعليق، أي شرح توضيحي، لمن يقرأ البرنامج من الناس، أما مترجم لغة ج فيتجاهل هذا السطر بكليتهعموماً، يتجاهل المترجم كل سطر مسبوق بعلامتي تعجب متتاليتين.
2- يعرف الأمر الثاني ن بأنه متغير يمكنه حفظ الأعداد الصحيحة، وسيستخدم هذا المتغير لحفظ قيمة العدد المراد حساب عامله.
3- أما الأمر الثالث فيعرف المتغيرينن ص و ع بأنهما متغيرين صحيحين أيضاًوسيستخدم ع لحفظ قيمة عاملي العدد ن، أما ص فسيستخدم كعداد تنازلي من ن-1 إلى 2.
4- يسند الأمر الرابع القيمة إلى المتغير ع.
5- أما الأمر الخامس فيكتب عبارة " أدخل عدداً صحيحاً لتعرف قيمة عامليه: "على شاشة الكتابة. 
6- يقرأ الأمر السادس قيمة المتغير ن التي يدخلها المستخدم.
7- ويسند الأمر السابع قيمة ن إلى المتحول ص.
8- أما الأمر الثامن فهو حلقة تكرار من نوع "أكرر طالما"، ويجري فيها تنفيذ الأمرين التاسع والعاشر طالما كانت قيمة العداد التنازلي ص > 1، وفي كل مرة من مرات تكرار هذه الحلقة تُضرب قيمة المتغير ع بقيمة العداد التنازلي ص، وينقص ص بمقدار 1.
9- أخيرا يكتب الأمر العاشر الناتج على شاشة الكتابة. تبين الصورة التالية مثالاً لتنفيذ هذا البرنامج.

التعليقات
0 التعليقات

0 التعليقات:

إضغط هنا لإضافة تعليق

إرسال تعليق

Blogger Widgets