القائمة

   الصفحة الرئيسية

   ماهي لغة ج

   أمثلة

   التحميلات

   التبليغ عن الأخطاء

   المنتدى

   كتاب تعريف اللغة

   إتصل بنا

   الموقع الشخصي

أمثلة 

  1. حساب مساحة دائرة إخفاء المثال
     حساب مساحة دائرة

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

    1          الثابت بي = 3.1415
    2          المتحول ق : حقيقي
    3          المتحول س : حقيقي
    4          أكتب "أدخل قطر الدائرة : " ،سطر
    5          أقرأ ق
    6          أجعل س = بي × (ق ÷ 2)^2
    7          أكتب "مساحة الدائرة = " ، س

    يتألف هذا البرنامج من سبع جمل. الثلاثة الأولى منها جمل تعريفية والأربعة الأخيرة جمل تنفيذية. تعرّف الجملة الأولى الثابت الهندسي بي ( π ) وهو نسبة محيط الدائرة إلى قطرها. وتعرّف الجملة الثانية متحولاً (ق) يمكنه حفظ الأعداد الحقيقية، وسيستخدم هذا المتحول لحفظ قيمة قطر الدائرة. أما الجملة الثالثة فتعرف المتحول الحقيقي س، الذي سيستخدم لحفظ مساحة الدائرة. تقوم الجملة الرابعة بكتابة العبارة: "أدخل قطر الدائرة:" في لوحة الكتابة لتنبه المستخدم إلى ضرورة إدخال عدد يمثل قطر الدائرة. تقرأ الجملة الخامسة قيمة القطر التي يدخلها المستخدم في لوحة الكتابة. ثم تحسب الجملة السادسة مساحة الدائرة من العلاقة: π ×(ق÷2)2، وتضع هذه القيمة في المتحول س. أخيراً تقوم الجملة الأخيرة بكتابة النتيجة في لوحة الكتابة. يبين الشكل التالي مثالاً لتنفيذ هذا البرنامج:

  2. حساب مضروب (عاملي) عدد صحيح إخفاء المثال
     حساب مضروب (عاملي) عدد صحيح

    يبين السرد التالي مثالاً آخر لبرنامج بسيط بلغة ج. يحسب هذا البرنامج مضروب (عاملي) عدد صحيح. ومضروب العدد الصحيح ن هو القيمة ن(ن-1)(ن-2) … (ن- (ن-1)). وقد رقمت سطور البرنامج للتوضيح.

    1          !! برنامج لحساب مضروب عدد صحيح
    2          المتحول ن : صحيح
    3          المتحول ص ، ع : صحيح
    4          أجعل ع = 1
    5          أكتب "أدخل عدداً صحيحاً لتعرف قيمة مضروبه :" ، سطر
    6          أقرأ ن
    7          أجعل ص = ن
    8          أكرر طالما ص > 1
                  {
    9              أجعل ع = ع × ص
    10             أجعل ص =  ص – 1
                  }
    11         أكتب ن ، "! =" ، ع

    السطر الأول في هذا البرنامج هو مجرد تعليق، أي شرح توضيحي، لمن يقرأ البرنامج من الناس، أما مترجم لغة ج فيتجاهل هذا السطر بكليته. عموماً، يتجاهل المترجم كل سطر مسبوق بعلامتي تعجب متتاليتين. تعرف الجملة الثانية ن بأنه متحول يمكنه حفظ الأعداد الصحيحة، وسيستخدم هذا المتحول لحفظ قيمة العدد المراد إيجاد مضروبه. أما الجملة الثالثة فتعرف المتحولين ص و ع بأنهما متحولين صحيحين أيضاً. وسيستخدم ع لحفظ قيمة مضروب العدد ن، أما ص فسيستخدم كعداد تنازلي من ن-1 إلى 2. تسند الجملة الرابعة القيمة 1 إلى المتحول ع. أما الجملة الخامسة فتكتب عبارة " أدخل عدداً صحيحاً لتعرف قيمة مضروبه :" في لوحة الكتابة. تقرأ الجملة السادسة قيمة المتحول ن التي يدخلها المستخدم. وتسند الجملة السابعة قيمة ن إلى المتحول ص. أما الجملة الثامنة فهي حلقة تكرار من نوع "أكرر طالما"، ويجري فيها تنفيذ الجملتين التاسعة والعاشرة طالما كانت قيمة العداد التنازلي ص > 1، وفي كل مرة من مرات تكرار هذه الحلقة تُضرب قيمة المتحول ع بقيمة العداد التنازلي ص، وينقص ص بمقدار 1. أخيراً تكتب الجملة الحادية عشر الناتج في لوحة الكتابة. تبين الصورة التالية مثالاً لتنفيذ هذا البرنامج.

  3. حل معادلة من الدرجة الثانية إخفاء المثال
     حل معادلة من الدرجة الثانية

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

    آ س2 + ب س + ج = 0

    الحل

    سنكتب برنامجاً  يقرأ أمثال س: آ و ب  و ج ثم يكتب المعادلة كاملة في لوحة الكتابة. بعد ذلك يحسب البرنامج المميز (م) من العلاقة:

    م = ب2 – 4آج

    فإذا كان المميز موجباً، يحسب البرنامج جذري المعدلة س1 و س2 من العلاقتين:

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

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

    ويكتب البرنامج حل المعادلة في لوحة الكتابة.

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

    البرنامج

    *(
    ------------------------------------------------------------------------------------------------
    برنامج بلغة ج لحل معادلة بمجهول واحد من الدرجة الثانية في مجال الأعداد الحقيقية
    جميع الحقوق محفوظة للمؤلف: د. محمد عمار السلكة ، 1420 هـ - 2000 م
    ------------------------------------------------------------------------------------------------
    )*
    !! الشكل العام للمعادلة آ س^2 + ب س + ج =0
    المتحول آ، ب، ج : حقيقي
    المتحول م، س1، س2 : حقيقي
    أكرر طالما صواب
              {
                    أكتب "أدخل آ ب ج (أدخل 0 قيمة لـ آ كي تنهي البرنامج) : "
                    أقرأ آ ، ب ، ج
                    إذا آ = 0  أنتهي
                    أكتب " المعادلة:  " ، آ ، " س^2 "
                    إذا ب > 0 أكتب " + "
                    أكتب  ب ،" س "
                    إذا ج > 0 أكتب " + "
                    أكتب ج  ، " = 0" ، سطر
                  أجعل م = ب^2 -  4× آ × ج
                  أكتب " المميز =  "،  م ، سطر
                  إذا (م<0)
                        أكتب "المعادلة مستحيلةالحل !"، سطر
                  وإلا
                  {
                      أجعل س1 = (-ب + جذر(م)) ÷ (2×آ)
                      أجعل س2 = (-ب - جذر(م)) ÷ (2×آ)
                      أكتب " حل المعادلة: "،سطر
                      أكتب "س1 = "، س1 ، سطر
                      أكتب "س2 = " ، س2 ، سطر
                  }
              }


    التنفيذ :
  4. حلزون أرخميدس إخفاء المثال
     حلزون أرخميدس

    أكتب برنامجاً بلغة ج لرسم المنحني المعرّف بالمعادلة التالية في جملة إحداثيات قطبية (ر، يه):

    ر= ثا × يه

    حيث ثا ثابت اعتباطي.

    يُعرَف هذا المنحني باسم حلزون أرخميدس، ويلتف المنحني حول مبدأ الإحداثيات بالمقدار يه÷(2×بي) مرة.

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

    الحل

    تعتمد إيعازات الرسم في لغة ج على جملة إحداثيات قانونية متعامدة (س،ع) مبدؤها منطبق على الزاوية السفلية اليسرى للوحة الرسم. ولرسم منحن معرف بمعادلة قطبية يجب تحويل الإحداثيات القطبية إلى إحداثيات متعامدة. فإذا كانت النقطة ن (رن ، يهن) تنتمي إلى جملة الإحداثيات القطبية (ر ، يه) التي يقع مبدؤها في النقطة (س0 ، ع0) بالنسبة لجملة الإحداثيات المتعامدة فإن الإحداثيات المتعامدة (سن ، عن) لهذه النقطة تعطى بالعلاقتين:

    سن = رن × تجب يه + س0

    عن  = رن ×  جب يه + ع0

    ولرسم المنحني ر = ثا × يه نتبع الخوارزمية التالية:

    نبدأ بالقيمة يه =0

    نكرر الخطوات 1،2،3،4 طالما أن يه < 2× بي× ن، حيث ن عدد لفات الحلزون المطلوب:

    1- نحسب ر من العلاقة ر = ثا × يه

    2- نحسب س،ع من العلاقتين:

    س= ر× تجب يه + س0  ،  ع = ر × جب يه + ع0

    3- نرسم النقطة (س،ع) في لوحة الرسم

    4- نزيد يه بمقدار صغير وليكن 0.01 راديان

    البرنامج

    يبين السرد التالي تطبيق الخوارزمية المذكورة أعلاه بلغة ج.

             *(
             -------------------------------------------------------------------------------------------
             برنامج بلغة ج لرسم منحني حلزون أرخميدس
             جميع الحقوق محفوظة للمؤلف: د. محمد عمار السلكة، 1420 هجري - 2000 م
             -------------------------------------------------------------------------------------------
             )*
             !! المعادلة العامة لمنحني الحلزون في الإحداثيات
             !! القطبية  ر = ثا × يه
             !!=======================================
             أدرج "ألوان"
             الثابت بي = 3.1415
             المتحول ر ، يه ، س ، ع ، ثا : حقيقي
             المتحول ن : صحيح
             المتحول س0 ، ع0 : صحيح
             !! ألون لوحة الرسم باللون السماوي
             !!---------------------------------------
             ألون باللون السماوي ، الورقة
             !! مبدأ الإحداثيات القطبية يقع في منتصف ورقة الرسم
             !!-----------------------------------------------------------
             أجعل س0 = حدس \ 2
             أجعل ع0 = حدع  \ 2
             !! أرسم محوري الإحداثيات المتعامدة
             !!---------------------------------------
             أرسم مستقيم من (س0، 0) إلى (س0، حدع)
             أرسم مستقيم من (0، ع0) إلى (حدس، ع0)
             !! أرسم المنحني باللون الأحمر
             !!----------------------------------
             أرسم باللون الأحمر
             !! أقرأ قيمة الثابت ثا وعدد اللفات ن
             أكتب "أدخل قيمة الثابت ثا:"
             أقرأ ثا
             أكتب "أدخل عدد لفات الحلزون:"
             أقرأ ن
             !! أرسم المنحني نقطة فنقطة بخطوة للزاوية يه قدرها0.01 راديان
             !!--------------------------------------
             أجعل يه = 0
             أكرر طالما يه < 2×بي×ن
             {
               أجعل ر = ثا × يه
               أجعل  س = ر × تجب (يه) + س0
               أجعل  ع = ر  × جب  (يه ) + ع0
               أرسم النقطة (س ، ع)
               أجعل يه = يه + 0.01
             }

    ويبين الشكل التالي نتيجة تنفيذ هذا البرنامج.

  5. أبراج هانوي باستخدام العودية (استدعاء الذات) إخفاء المثال
     أبراج هانوي

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

              !! برنامج بلغة ج لحل مسألة أبراج هانوي
              !! عدد الخطوات = 2^ن -1 حيث ن  عدد الأقراص
              المتحول عدد_الأقراص  : صحيح
              المتحول الخطوة : صحيح
              الخوارزمية أنقل (العدد ، المصدر ، الهدف ، الوسيط : صحيح)
              {
                إذا العدد > 0
                {
                  أنقل (العدد -1 ، المصدر ، الوسيط ، الهدف)
                  الخطوة = الخطوة + 1
                  أكتب الخطوة ، " : " ،  "انقل قرصاً واحداً من " ، المصدر ، " إلى " ، الهدف ، سطر
                  أنقل (العدد -1 ، الوسيط ، الهدف ، المصدر)
                }
              }
              الخطوة  = 0
              أكتب "أدخل عدد الأقراص : "
              أقرأ عدد_الأقراص
              أنقل (عدد_الأقراص ، 1، 3، 2)

    ويبين الشكل التالي مثالاً لتنفيذ هذا البرنامج

 
Site development and management by Redwan Al-Bougha
Hosting by www.OQiis.com
لغة ج - أول لغة برمجة عربية متكاملة لغة ج - أول لغة برمجة عربية متكاملة