11-06-2009, 02:07 AM | رقم المشاركة : 1 | |||||
|
ماهي لغة ج ؟؟
ماهي لغة ج ؟؟ يقول مطور اللغة و هو د.محمد عمار السَلكة طلب مني أحد الأصدقاء ذات يوم أن أبدي رأيي في منهاج كان قد أعده لتدريس علوم الحاسوب للأطفال وطلاب المدارس في إحدى المعاهد. وكان من جملة أهداف هذا المنهاج تعليم طلاب المراحل الدراسية المبكرة برمجة الحاسوب من خلال لغات برمجة بسيطة مثل LOGO و BASIC. وقد لفت نظري أن هذه اللغات على بساطتها لا تناسب الطلاب العرب الصغار لاعتمادها على اللغة الإنكليزية. وكما هو معروف، تعتمد غالبية لغات البرمجة رفيعة المستوى High Level Languages على اللغة الإنكليزية، وتستخدم الأحرف اللاتينية قلباً وقالباً، مما يجعلها بعيدة المنال عن الطلاب العرب، خاصة أولئك الذين مازالوا في المراحل التعليمية المبكرة، ولم يتقنوا اللغات الأجنبية اتقاناً كافياً. فتولد عندي دافع قوي للعمل على تطوير لغة برمجة عربية تكون سهلة وميسرة، ولا تقل مع ذلك في قدراتها عن لغات البرمجة رفيعة المستوى المعروفة مثل C و PASCAL. لتكون وسيلة مناسبة لتعليم الطلاب العرب مبادئ البرمجة بلغتهم الأم. وأن تكون هذه اللغة من روح مناهجهم، ومن صميم المفردات التي ألفوها في حياتهم الدراسية. وتشكلت لدي قناعة بأن إدخال الحاسوب إلى المناهج التعليمية في العالم العربي يجب أن ينطلق من تعليم الطلاب برمجة الحاسوب بواسطة لغة برمجة تمكنهم من السيطرة على مفاهيم البرمجة الأساسية بلغتهم الأم، وتتوافق وتنسجم مع مناهجهم الأخرى في الرياضيات والعلوم واللغة العربية. وشرعت في العمل على تطوير هذه اللغة، وتوصلت إلى لغة برمجة عالية المستوى مشتقة من اللغة العربية، تكتب بحروفها وأرقامها، وتستخدم مفرداتها، وتلتزم بقواعدها. وتتمتع بالبساطة والوضوح. ويمكن بواسطتها برمجة كل ما يحتاجه الطالب من برامج وخوارزميات تفيده في دراسته. وقد رأيت أن أطلق على هذه اللغة اسم ج لشبهها في جوانب عديدة بلغة البرمجة المعروفة C. كما قمت بتطوير برنامج يتيح كتابة، وتنقيح، وتنفيذ البرامج بلغة ج، وأطلقت على هذا البرنامج اسم الخوارزمي تقديراً للعالم الشهير محمد بن موسى الخوارزمي. وقد شاء الله أن أنشغل عن اتمام اللمسات الأخيرة لهذا البرنامج فترة من الزمن، وأن يبقى هو ولغة ج حبيساً في أحد الدروج، إلى أن قلت أعبائي مؤخراً وأكملت ما بدأته منذ أكثر من 7 سنوات. وإني إذ أضع هذا العمل المتواضع بين أيدي الطلاب والمدرسين العرب في كل مكان لأرجو أًن تتحقق منه الفائدة والمتعة، وأن يكون وسيلة لتعليم برمجة الحاسوب في المدارس والمعاهد بدلاً من لغات البرمجة الأجنبية -------------------------------- أمثلة : حساب مساحة دائرة يبين المثال التالي برنامجاً بسيطاً بلغة ج، يحسب مساحة دائرة بعد قراءة قطرها. وقد رقمت أسطر البرنامج للإشارة إليها في الشرح التالي. ولا تشكل هذه الأرقام جزءاً من البرنامج في لغة ج. كود:
1 الثابت بي = 3.1415 كود:
2 المتحول ق : حقيقي 3 المتحول س : حقيقي 4 أكتب "أدخل قطر الدائرة : " ،سطر 5 أقرأ ق 6 أجعل س = بي × (ق ÷ 2)^2 7 أكتب "مساحة الدائرة = " ، س يتألف هذا البرنامج من سبع جمل. الثلاثة الأولى منها جمل تعريفية والأربعة الأخيرة جمل تنفيذية. تعرّف الجملة الأولى الثابت الهندسي بي ( π ) وهو نسبة محيط الدائرة إلى قطرها. وتعرّف الجملة الثانية متحولاً (ق) يمكنه حفظ الأعداد الحقيقية، وسيستخدم هذا المتحول لحفظ قيمة قطر الدائرة. أما الجملة الثالثة فتعرف المتحول الحقيقي س، الذي سيستخدم لحفظ مساحة الدائرة. تقوم الجملة الرابعة بكتابة العبارة: "أدخل قطر الدائرة:" في لوحة الكتابة لتنبه المستخدم إلى ضرورة إدخال عدد يمثل قطر الدائرة. تقرأ الجملة الخامسة قيمة القطر التي يدخلها المستخدم في لوحة الكتابة. ثم تحسب الجملة السادسة مساحة الدائرة من العلاقة: π ×(ق÷2)2، وتضع هذه القيمة في المتحول س. أخيراً تقوم الجملة الأخيرة بكتابة النتيجة في لوحة الكتابة. يبين الشكل التالي مثالاً لتنفيذ هذا البرنامج: حساب مضروب (عاملي) عدد صحيح يبين السرد التالي مثالاً آخر لبرنامج بسيط بلغة ج. يحسب هذا البرنامج مضروب (عاملي) عدد صحيح. ومضروب العدد الصحيح ن هو القيمة ن(ن-1)(ن-2) … (ن- (ن-1)). وقد رقمت سطور البرنامج للتوضيح كود:
1 !! برنامج لحساب مضروب عدد صحيح كود:
2 المتحول ن : صحيح 3 المتحول ص ، ع : صحيح 4 أجعل ع = 1 5 أكتب "أدخل عدداً صحيحاً لتعرف قيمة مضروبه :" ، سطر 6 أقرأ ن 7 أجعل ص = ن 8 أكرر طالما ص > 1 { 9 أجعل ع = ع × ص 10 أجعل ص = ص – 1 } 11 أكتب ن ، "! =" ، ع السطر الأول في هذا البرنامج هو مجرد تعليق، أي شرح توضيحي، لمن يقرأ البرنامج من الناس، أما مترجم لغة ج فيتجاهل هذا السطر بكليته. عموماً، يتجاهل المترجم كل سطر مسبوق بعلامتي تعجب متتاليتين. تعرف الجملة الثانية ن بأنه متحول يمكنه حفظ الأعداد الصحيحة، وسيستخدم هذا المتحول لحفظ قيمة العدد المراد إيجاد مضروبه. أما الجملة الثالثة فتعرف المتحولين ص و ع بأنهما متحولين صحيحين أيضاً. وسيستخدم ع لحفظ قيمة مضروب العدد ن، أما ص فسيستخدم كعداد تنازلي من ن-1 إلى 2. تسند الجملة الرابعة القيمة 1 إلى المتحول ع. أما الجملة الخامسة فتكتب عبارة " أدخل عدداً صحيحاً لتعرف قيمة مضروبه :" في لوحة الكتابة. تقرأ الجملة السادسة قيمة المتحول ن التي يدخلها المستخدم. وتسند الجملة السابعة قيمة ن إلى المتحول ص. أما الجملة الثامنة فهي حلقة تكرار من نوع "أكرر طالما"، ويجري فيها تنفيذ الجملتين التاسعة والعاشرة طالما كانت قيمة العداد التنازلي ص > 1، وفي كل مرة من مرات تكرار هذه الحلقة تُضرب قيمة المتحول ع بقيمة العداد التنازلي ص، وينقص ص بمقدار 1. أخيراً تكتب الجملة الحادية عشر الناتج في لوحة الكتابة. تبين الصورة التالية مثالاً لتنفيذ هذا البرنامج. حل معادلة من الدرجة الثانية أكتب برنامجاً بلغة ج لحل معادلة من الدرجة الثانية بمجهول واحد (س)، واقتصر في الحل على مجال الأعداد الحقيقية. علماً أن للمعادلة الشكل العام : آ س2 + ب س + ج = 0 الحل سنكتب برنامجاً يقرأ أمثال س: آ و ب و ج ثم يكتب المعادلة كاملة في لوحة الكتابة. بعد ذلك يحسب البرنامج المميز (م) من العلاقة: م = ب2 – 4آج فإذا كان المميز موجباً، يحسب البرنامج جذري المعدلة س1 و س2 من العلاقتين: س1 = (-ب + جذر (م) )÷ 2آ س2 = (-ب - جذر (م) )÷ 2آ ويكتب البرنامج حل المعادلة في لوحة الكتابة. أما إذا كان المميز سالباً فيكتب البرنامج إشعاراً باستحالة حل المعادلة في مجال الأعداد الحقيقية. ويكرر البرنامج نفسه إلى أن يدخل المستخدم الصفر كقيمة لأمثال س2. كود:
)* كود:
!! الشكل العام للمعادلة آ س^2 + ب س + ج =0 المتحول آ، ب، ج : حقيقي المتحول م، س1، س2 : حقيقي أكرر طالما صواب { أكتب "أدخل آ ب ج (أدخل 0 قيمة لـ آ كي تنهي البرنامج) : " أقرأ آ ، ب ، ج إذا آ = 0 أنتهي أكتب " المعادلة: " ، آ ، " س^2 " إذا ب > 0 أكتب " + " أكتب ب ،" س " إذا ج > 0 أكتب " + " أكتب ج ، " = 0" ، سطر أجعل م = ب^2 - 4× آ × ج أكتب " المميز = "، م ، سطر إذا (م<0) أكتب "المعادلة مستحيلةالحل !"، سطر وإلا { أجعل س1 = (-ب + جذر(م)) ÷ (2×آ) أجعل س2 = (-ب - جذر(م)) ÷ (2×آ) أكتب " حل المعادلة: "،سطر أكتب "س1 = "، س1 ، سطر أكتب "س2 = " ، س2 ، سطر } } التنفيذ : يتبع
|
|||||
11-06-2009, 02:09 AM | رقم المشاركة : 2 | |||||
|
[align=center]حلزون أرخميدس كود:
------------------------------------------------------------------------------------------- برنامج بلغة ج لرسم منحني حلزون أرخميدس جميع الحقوق محفوظة للمؤلف: د. محمد عمار السلكة، 1420 هجري - 2000 م ------------------------------------------------------------------------------------------- )* !! المعادلة العامة لمنحني الحلزون في الإحداثيات !! القطبية ر = ثا × يه !!======================================= أدرج "ألوان" الثابت بي = 3.1415 المتحول ر ، يه ، س ، ع ، ثا : حقيقي المتحول ن : صحيح المتحول س0 ، ع0 : صحيح !! ألون لوحة الرسم باللون السماوي !!--------------------------------------- ألون باللون السماوي ، الورقة !! مبدأ الإحداثيات القطبية يقع في منتصف ورقة الرسم !!----------------------------------------------------------- أجعل س0 = حدس \ 2 أجعل ع0 = حدع \ 2 !! أرسم محوري الإحداثيات المتعامدة !!--------------------------------------- أرسم مستقيم من (س0، 0) إلى (س0، حدع) أرسم مستقيم من (0، ع0) إلى (حدس، ع0) !! أرسم المنحني باللون الأحمر !!---------------------------------- أرسم باللون الأحمر !! أقرأ قيمة الثابت ثا وعدد اللفات ن أكتب "أدخل قيمة الثابت ثا:" أقرأ ثا أكتب "أدخل عدد لفات الحلزون:" أقرأ ن !! أرسم المنحني نقطة فنقطة بخطوة للزاوية يه قدرها0.01 راديان !!-------------------------------------- أجعل يه = 0 أكرر طالما يه < 2×بي×ن { أجعل ر = ثا × يه أجعل س = ر × تجب (يه) + س0 أجعل ع = ر × جب (يه ) + ع0 أرسم النقطة (س ، ع) أجعل يه = يه + 0.01 } ويبين الشكل التالي نتيجة تنفيذ هذا البرنامج. أبراج هانوي تسمح لغة ج للخوارزميات والتوابع، أن تستدعي (تنفذ) نفسها ضمن متنها. تسمى هذه الميزة بالعودية. وتسمح العودية بحل العديد من مسائل البرمجة المعقدة بسهولة تامة. وتعتبر مسألة أبراج هانوي مثالاً نمطياً لاستخدام العودية في البرمجة. يبين المثال التالي حلاً لمسألة أبراج هانوي بلغة ج. كود:
!! برنامج بلغة ج لحل مسألة أبراج هانوي كود:
!! عدد الخطوات = 2^ن -1 حيث ن عدد الأقراص المتحول عدد_الأقراص : صحيح المتحول الخطوة : صحيح الخوارزمية أنقل (العدد ، المصدر ، الهدف ، الوسيط : صحيح) { إذا العدد > 0 { أنقل (العدد -1 ، المصدر ، الوسيط ، الهدف) الخطوة = الخطوة + 1 أكتب الخطوة ، " : " ، "انقل قرصاً واحداً من " ، المصدر ، " إلى " ، الهدف ، سطر أنقل (العدد -1 ، الوسيط ، الهدف ، المصدر) } } الخطوة = 0 أكتب "أدخل عدد الأقراص : " أقرأ عدد_الأقراص أنقل (عدد_الأقراص ، 1، 3، 2) ويبين الشكل التالي مثالاً لتنفيذ هذا البرنامج التحميلات: إسم الملف------------ الحجم------------- تاريخ التحديث--------تحميل برنامج الخوارزمي------------2.66ميجا ---------------إضغط هنا[/URL] كتاب تعريف اللغة------------1.91ميجا ---------------إضغط هنا[/URL] ------------------------------------ كيف نبداء بإستخدام هذة اللغة: لكي نبدأ مع لغة البرمجة العربية ج لابد من تحميل الخوارزمي وهو برنامج يتيح كتابة، وتنقيح، وتنفيذ البرامج بلغة ج وتركيبه على جهازك الشحصي. وهذ هو رابط لملف فلاش يشرح طريقة تحميل وتركيب برنامج الخوارزمي على جهازك الشخصي: رابط التحميل اضغط هنا[/URL][/align]
|
|||||
11-06-2009, 10:54 AM | رقم المشاركة : 3 | |||
|
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية . |
|||
11-11-2009, 01:50 PM | رقم المشاركة : 4 | |||||
|
السلام عليكم ورحمة الله وبركاته
|
|||||
11-11-2009, 06:15 PM | رقم المشاركة : 5 | |||||
|
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
|
|||||
11-11-2009, 08:08 PM | رقم المشاركة : 6 | |||||
|
بوركتِ غاليتي سلسبيل على طرحك المميز
|
|||||
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
ماهى الفيروسات الكمبيوترية ؟؟؟ | سلسبيل الخير | تطوير المواقع والمنتديات والاستايلات ولغات البرمجة وإشهار المواقع ومحركات البحث | 4 | 29-04-2010 04:16 AM |
ماهي حقيقة العبودية..؟ | مسلمة وافتخر | عقيدة أهل السنة والجماعة | 2 | 17-11-2009 02:43 PM |
ماهي البرمجة اللغوية العصبية؟ | نردينيا | الصحة العامة والصحة النفسية والتنمية البشرية | 1 | 20-06-2009 01:25 AM |
|