أنت هنا:برمجها»اللغة ج»تطبيقات متنوعة الجزء 2
تطبيقات متنوعة - الجزء 2 تطبيقات متنوعة - الجزء 2
قيم الموضوع
(1 تصويت)
في آخر فقرة من هذا الدرس نبرز لك فيها بعد المشاريع تم إنجازها باللغة البرمجية ج.


 

رسم مجموعة نقاط تجريبية

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

*(--------------------------------------------------------------------
برنامج بلغة ج لرسم منحني يمثل مجموعة نقاط تجريبية
المستوى : ثانوي/جامعي
جميع الحقوق محفوظة للمؤلف: د. محمد عمار السلكة ، 1420 هجري - 2000 م
---------------------------------------------------------------------)*

الثابت عدد_النقاط_الأعظمي = 20  !! العدد الأعظمي للنقاط التجريبية الممكن إدخالها
الثابت الهامش_الأيمن = 15       !! عرض الهامش الفارغ يمين الرسم
الثابت الهامش_الأيسر = 100
الثابت الهامش_الأعلى = 15
الثابت الهامش_الأسفل = 30
الثابت طول_السهم = 10          !! طول رأس السهم
الثابت عرض_السهم = 3           !! عرض رأس السهم

أدرج "مترادفات"
أدرج "ألوان"

المتحول س ، ع : صفيفة [عدد_النقاط_الأعظمي] من حقيقي
المتحول عدد_النقاط  ، د : صحيح
المتحول أكبر_س ، أصغر_س ،  أكبر_ع ، أصغر_ع : حقيقي
المتحول طول_س ، طول_ع : صحيح
المتحول مقياس_س ، مقياس_ع : حقيقي
المتحول س0 ، ع0 : حقيقي

التابع تس (س:حقيقي)->حقيقي
{
  أرجع (س-أصغر_س) × مقياس_س + الهامش_الأيسر
}

التابع تع (ع:حقيقي)->حقيقي
{
  أرجع (ع-أصغر_ع) ×مقياس_ع + الهامش_الأسفل
}

أكتب "أدخل عدد النقاط: "
أقرأ عدد_النقاط

!! أقرأ سلسلة الإحداثيات س وأوجد أكبر وأصغر قيمة
أكتب "أدخل سلسلة القيم س : " ، سطر
أقرأ س[1]
أجعل أكبر_س = س[1]
أجعل أصغر_س = س[1]
أكرر من د = 2 إلى عدد_النقاط
{
  أقرأ س[د]
  إذا س[د] > أكبر_س
    أجعل أكبر_س = س[د]
  إذا س[د] < أصغر_س
    أجعل أصغر_س = س[د]
}
!! أقرأ سلسلة القيم ع وأوجد أكبر وأصغر قيمة
أكتب "أدخل سلسلة القيم ع:" ، سطر
أقرأ ع[1]
أجعل أكبر_ع = ع[1]
أجعل أصغر_ع = ع[1]
أكرر من د=2  إلى عدد_النقاط
{
  أقرأ ع[د]
  إذا ع[د] > أكبر_ع
    أجعل أكبر_ع = ع[د]
  إذا ع[د] < أصغر_ع
    أجعل أصغر_ع = ع[د]
}

!! أحسب مقياس الرسم
!!-----------------
أجعل طول_س = حدس - (الهامش_الأيمن + الهامش_الأيسر)
أجعل طول_ع = حدع - (الهامش_الأسفل + الهامش_الأعلى)

أجعل مقياس_س = طول_س ÷ |  أكبر_س - أصغر_س |
أجعل مقياس_ع = طول_ع ÷ | أكبر_ع - أصغر_ع |

!! أحسب إحداثيات مبدأ الإحداثيات
!!-----------------------------

إذا أصغر_س < صفر
  أجعل س0 = |أصغر_سمقياس_س + الهامش_الأيسر
وإلا أجعل س0 = صفر + الهامش_الأيسر

إذا أصغر_ع < صفر
  أجعل ع0 = |أصغر_عمقياس_ع + الهامش_الأسفل
 وإلا أجعل ع0 = صفر + الهامش_الأسفل

!! أرسم محاور الإحداثيات
!!---------------------
ألون باللون الأصفر ،  الورقة
أرسم باللون الأسود
أنقش عند (حدس،ع0-عرض_السهم)  "س"
أنقش عند (س0-عرض_السهم، حدع)  "ع"
!! أرسم المحور س ورأس السهم الخاص به
أرسم مستقيم من (الهامش_الأيسر،ع0) إلى (حدس ، ع0)
أرسم مستقيم من (حدس-طول_السهم،ع0+عرض_السهم) إلى (حدس،ع0)
إلى (حدس-طول_السهم،ع0-عرض_السهم)
!! أرسم المحور ع ورأس السهم الخاص به
أرسم مستقيم من (س0،الهامش_الأسفل) إلى (س0 ، حدع)
أرسم مستقيم من (س0-عرض_السهم، حدع-طول_السهم) إلى (س0، حدع)
إلى (س0+عرض_السهم،حدع-طول_السهم)

!! أرسم خطوط الشبكة
أرسم باللون الرمادي
أكرر من د=1 إلى عدد_النقاط
{
  إذا تس(س[د]) <> س0
     أرسم مستقيم من ( تس(س[د]) ، الهامش_الأسفل)
إلى (تس(س[د]) ، طول_ع+الهامش_الأسفل)
  إذا تع(ع[د]) <> ع0
    أرسم مستقيم من ( الهامش_الأيسر ، تع(ع[د]) )
إلى ( طول_س+الهامش_الأيسر ، تع(ع[د])  ) 
}

أرسم باللون الأسود
أكرر من د=1 إلى عدد_النقاط
{
  أنقش عند ( تس(س[د]) + 20 ، ع0-10) س[د]
  أنقش عند ( س0 -10 ، تع(ع[د]) + 5)  ع[د]
}

!! أرسم المنحني
!!-------------
ألون باللون الأخضر
أكرر من د=1 إلى عدد_النقاط
  ألون دائرة مركزها (  تس(س[د]) ، تع(ع[د]) ) قطرها 7

أكرر  من  د = 1 إلى عدد_النقاط-1
{
  أرسم باللون الأحمر
  أرسم مستقيم من ( تس (س[د]) ، تع(ع[د]) )  إلى  ( تس(س[د+1]) ، تع(ع[د+1]) )
}
ويبين الشكل التالي تنفيذ هذا البرنامج لرسم النقاط التجريبية (الإحداثياتالتالية :

(-5،-10)، (-2،-8)، (0،-3)، (1،0)، (3،5)، (5،9)، (6،12)، (9،16)، (10،20)، (12،26).




نسب ورود الحروف في نص عربي

!!--------------------------------------------------------------
!! برنامج بلغة ج لحساب نسب ورود الحروف الأبجدية في نص عربي
!! جميع الحقوق محفوظة للمؤلف: د.محمد عمار السلكا ، شوال 1420
!!--------------------------------------------------------------

أدرج "حروف"                   !! أدرج الملف المكتبي لمعالجة الحروف
أدرج "ألوان"                  !! أدرج الملف المكتبي للألوان
أدرج "رياضيات"

الثابت نه = 255               !! علامة نهاية الملف

المتحول ن : صفيفة [255] من حقيقي  !! نسب ورود الأحرف
المتحول ح : حرف
المتحول ملف_النص :  ملف       !! الملف الذي يحوي النص المراد دراسته
المتحول اسم_الملف : نص        !! اسم الملف الذي يحوي النص المراد دراسته
المتحول مج : صحيح             !! المجموع الكلي للأحرف الأبجدية في الملف
المتحول أكبر_نسبة : حقيقي     !! أكبر نسبة ورود لحرف في الملف
المتحول العداد : صحيح

!! أولاً لنقم بتصفير المتحولات
أكرر من ح = 1 إلى 255
  أجعل ن[ح] = 0
مج = 0

أكتب "أدخل اسم الملف الذي يحوي النص الذي تريد دراسته : "
أقرأ  اسم_الملف
أفتح ملف_النص للقراءة من اسم_الملف
إذا ملف_النص = 0
{
  أكتب " لم أتمكن من فتح الملف " ، اسم_الملف ، سطر
  قف
}

أكتب "الرجاء الإنتظار بينما أقوم بقراءة الملف"
العداد  = 0
أقرأ من ملف_النص:  ح        !! أقرأ حرفاً واحداً من  الملف
أكرر طالما ح <> نه          !! أكرر طالما الحرف ح ليس محدد نهاية الملف
{
     إذا العداد >= 1000
    {
        أكتب " ."
        العداد = 0
     }
     إذا أبجدي (ح)          !! هل الحرف ح أبجدي
     {
        ن[ح] = ن[ح] + 1     !! أزيد عداد الحرف ح بمقدار واحد
         أجعل مج = مج + 1  !! أزيد المجموع الكلي بمقدار واحد
     }
    أقرأ من ملف_النص : ح   !! أقرأ الحرف التالي من  الملف
    العداد = العداد + 1
}
أكتب سطر
أغلق ملف_النص

!! أحسب نسب الورود (بالمئة) وأحدد الحرف ذي نسبة الورود الأعظمية
أكبر_نسبة = 0
أكرر من ح=‘ء‘ إلى ‘ي‘
  إذا أبجدي (ح)
  {
    ن[ح] = (ن[ح] ÷ مج) × 100
    إذا ن[ح] > أكبر_نسبة
      أكبر_نسبة= ن[ح]
   }


المتحول س ، ع : صحيح
المتحول المقياس ، الخطوة ، أكبر_قيمة : صحيح


ألون باللون الأصفر ، الورقة
أرسم باللون الأحمر
أنقش عند (400 ، 25 ) " نسب ورود الأحرف الأبجدية في " ، اسم_الملف

!! أرسم محاور الإحداثيات، حيث مبدأ الإحداثيات في النقطة (50،60)
أرسم باللون الأسود
أرسم مستقيم من (50، 60) إلى ( حدس-10 ،60)
أرسم مستقيم من (50،60) إلى (50، حدع-10)

أكبر_قيمة = صحيح (أكبر_نسبة)
أكبر_قيمة =  تدوير (أكبر_قيمة ، 10)
المقياس = صحيح ( (حدع-70)  ÷  أكبر_قيمة)
الخطوة = أكبر_قيمة \20
ع = الخطوة
أرسم باللون الرمادي
أكرر طالما ع <=  أكبر_قيمة
{
  أرسم مستقيم من (50، ع×المقياس+60) إلى (حدس -10،ع×المقياس+60)
   ع = ع + الخطوة
}

ع = 0
أرسم باللون الأسود
أكرر طالما ع <= أكبر_قيمة
{
  أنقش عند (50 ، ع×المقياس+65) ع
  ع = ع + 2 × الخطوة
}   

ألون باللون السماوي
س = 50
أكرر من ح = ‘ء‘ إلى ‘ي‘
{
  إذا أبجدي (ح)
  {
    أنقش عند (س + 10 ، 50) ح
    ألون مستطيل من (س  ، 60 ) إلى (س + 15  ، ن[ح] × المقياس + 60 )
    أكتب " نسبة ورود الحرف : "  ،  ح  ، " =  "، ن[ح] ،  سطر
    س = س + 15
  }
}
أكتب "العدد الكلي للحروف الأبجدية في النص : " ، مج



تأليف

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

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

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

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


المراجع

 http://www.jeemlang.com


 

أضف تعليقا


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

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