أنت هنا:برمجها»اللغة ج»الدرس 5: قراءة وكتابة المعطيات
الدرس 5: قراءة وكتابة المعطيات الدرس 5: قراءة وكتابة المعطيات
قيم الموضوع
(1 تصويت)

نتطرق في هذا الدرس إلى أكثر الأوامر شيوعا وضرورة للمبتدئين في البرمجة. ألى وهي أوامر الكتابة والقراءة.


1. بيئة تنفيذ البرامج

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

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

النافذة مزودة بمنزلقة تسمح برؤية سطور النص السابقة التي انزلقت خارج حدود النافذة.

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

أما النافذة الثانية فهي شاشة الرسم وتظهر فيها نتيجة تنفيذ أوامر الرسم، كالأمر أرسم والأمر ألون. وهي نافذة بيانية صرفة لا يمكن للمستخدم الكتابة فيها مباشرة وإن كان يمكنه الكتابة فيها بشكل غير مباشر من خلال أوامر الرسم الخاصة .


الأمر أكتب

يستخدم الأمر أكتب لكتابة العبارات على شاشة الكتابة. والصيغة العامة للأمر أكتب هي:

أكتب عبارة [، عبارة …] [سطر]

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

مثال 1

!! برنامج بسيط جدا بلغة ج
أكتب "أهلاً بك مع لغة ج"

عند تنفيذ هذا البرنامج تظهر عبارة "أهلاً بك مع لغة ج" على شاشة الكتابة، كما في الصورة التالية:

مثال 2

أكتب "مجموع العددين 8 و 7 هو " ، 8+7

عند تنفيذ هذا البرنامج تظهر عبارة "مجموع العددين 8 و 7 هو 15" على شاشة الكتابة. كما هو مبين في الصورة التالية:

وللانتقال إلى سطر جديد على شاشة الكتابة، تستخدم في الأمر أكتب كلمة سطر التي تسبب انتقال مكان الكتابة إلى سطر جديد، كما هو مبين في المثال التالي:

أكتب "هذا هو السطر الأول " ، سطر ، "وهذا هو السطر الثاني"

عندما ينفذ هذا الأمر يظهر السطرين التاليين على شاشة الكتابة:


الأمر أقرأ

يستخدم الأمر أقرأ لقراءة القيم التي يدخلها المستخدم على شاشة الكتابة والصيغة العامة للأمر أقرأ هي:

أقرأ متحول [، متحول …]

والمتغيرات التي يمكن قراءة قيمها من شاشة الكتابة هي المتغيرات الحسابية والنصية فقط.

مثال 1

!! برنامج لحساب مساحة مستطيل ومحيطه
!!----------------------------------
المتحول ط ، ع : حقيقي !! ط : طول المستطيل ، ع: عرض المستطيل
أكتب "أدخل طول المستطيل:"
أقرأ ط
أكتب "أدخل عرض المستطيل:"
أقرأ ع

أكتب "مساحة المستطيل = " ، ط × ع
أكتب سطر
أكتب "محيط المستطيل = " ، 2 × (ط+ع)

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

مثال 2

!! برنامج لحساب باقي قسمة عدد صحيح على عدد صحيح آخر
!!-------------------------------------------------

المتحول ص ، ض : صحيح

أكتب "أدخل المقسوم : "
أقرأ ص
أكتب "أدخل المقسوم عليه: "
أقرأ ض

أكتب "حاصل قسمة " ، ص ، " على " ، ض ، " = " ، ص\ض ، سطر
أكتب "باقي قسمة " ، ص ، " على " ، ض ، " = " ، ص - (ص\ضض

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


تمارين تطبيقية


التمرين 5.1

أنجز برنامجا يمكن من قراءة متغيرات من النوع الصحيح من لوحة المفاتيح.
مثلا :
أكتب التاريخ (اليوم الشهر السنة): 14 11 1436
اليوم: 14 
الشهر: 11 
السنة1436

أدخل قيم أخرى مغايرة وانظر ماذا يحدث.
غير الكتابة بحيث يكون الشهر واليوم والسنة منفصلين بالرمز '-'.


 التمرين 5.2

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


 التمرين 5.3

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


التمرين 5.4

أنجز برنامجا يمكن من تحديد المقاومة المكافئة لـ مقاومات قو قو قو نوع حقيقي).
-إذا كانت المقاومات في الدارة على التوالي :

 ق تواليق1+ق2+ق3

-إذا كانت المقاومات في الدارة على التوازي :

ق توازي= (ققق3)÷(قق2+قق3+ق2×ق3)


 التمرين 5.5

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

مساحةم(م –أ)(م – ب)(م – ج) .

حيث تمثل م محيط المثلث.


 التمرين 5.6

أنجز برنامجا يمكن من  حساب مجموع أعداد (النوع صحيحمن خلال لوحة المفاتيح ، لكن باستعمال :
1) 5 متغيرات.
2متغيرين.
 


 التمرين 5.7

1)  أنجز برنامجا يمكن من  حساب السعر الإجمالي الكل (نوع حقيقيلمنتوج معين من خلال ثمنه الأصلي أصل (نوع صحيحوالنسبة المئوية ضريبة (نوع صحيحالمضافة.  استعمل العلاقة التالية لكن خذ بعين الاعتبار الأسبقية والتحويل الذاتي لنوع المتغير. 

الكل أصل + (أصل × ضريبة) ÷ 100 

2عكسيا الآن ، أنجز برنامجا يمكن من  حساب الثمن الأصلي الكل(نوع حـقيقيلمنتوج معين من خلال الثمن الأصلي أصل (نوع صـحيحوالنسبة المئوية ضريبة(نوع صحيحالمضافة.


 التمرين 5.8

أنجز برنامجا يمكن من تحديد المسافة م (نوع حقيقيبين نقطتين أوب للمستوى المعرف بالإحداثيات(أفصول أأرتوب أو (أفصول بأرتوب بالمطلوب إدخالهما من طرف المستعمل، أظهر النتائج على الشاشة.

 


مشروع: القذف المائل  

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

تنطلق القذيفة بالسرعة الابتدائية سر0التي تصنع الزاوية يه مع الأفق.ويمكن تحليل هذه السرعة إلى مركبتينكما هو واضح في الشكل التالي:

  • مركبة أفقية سر0فقدرها سر0× تجب(يه)

  • ومركبة شاقولية سر0ش قدرها سر0 × جب(يه)

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

سرف(ز) = سر0ف = سر0 × تجب (يه) = ثابت             (1)

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

س(ز) = سر0ف × ز = سر0 × تجب(يه) × ز              (2)

أما المركبة الشاقولية للسرعة فسوف تتغير بتأثير الثقالة ويمكن أن نكتب معادلة السرعة الشاقولية على الشكل التالي:

سرش = سر0ش ثقا × ز = سر0 × جب (يه)ثقا × ز (3)

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

ع(ز) = سر0 × جب (يه) × ز – 0.5× ثقا × ز2      (4)

ولحساب مدى القذيفة نوجد الزمن الذي ينعدم عنده ارتفاع القذيفة من المعادلة (4) :

ز(سر0 × جب (يه) – 0.5 × ثقا × ز) = 0             (5)

إما ز = 0 وهي لحظة إطلاق القذيفة.

أو ز = سر0 × جب (يه) ÷ (0.5 × ثقا) وهي لحظة وصول القذيفة إلى مداه
وبتعويض هذه القيمة في المعادلة (2) نحصل على معادلة مدى القذيفة م:

أما الإرتفاع الأعظم للقذيفة فيحدث عندما تنعدم المركبة الشاقولية لسرعة القذيفة أي عندما:

سرش = سر0× جب (يه)ثقا × ز = 0 ¬ ز = سر0× جب(يه) ÷ ثقا (7)

وهي لحظة وصول القذيفة إلى الإرتفاع الأعظم. وبالتعويض في المعادلة (4) :

الإرتفاع الأعظم =  سر02 × جب2 (يه) ÷ (2 × ثقا)


أخيراً لحساب المدى الأعظم للقذيفة عند سرعة ابتدائية قدرها سر0 نشتق المعادلة (6) بالنسبة للزاوية يه ونعدم المشتق فنحصل على زاوية القذف التي يصل عندها القذيفة إلى أبعد مدى ممكن من أجل سرعة إبتدائية سر0:

وهي زاوية القذف التي يصل عندها قذيفة سرعتها الإبتدائية سر0 إلى أعظم مدى ممكن. ويكون المدى الأعظم :

المدى الأعظم = 2 × سر02 × جب 45 × تجب 45 ÷ ثقا (9)

البرنامج:

الثابت ثقا = 9.8 !! تسارع الجاذبية الأرضية
الثابت بي= 3.1415
المتحول سر0 ، يه : حقيقي

أكتب "أدخل سرعة القذف (م//ثا):"
أقرأ سر0

أكتب "أدخل زاوية القذف (درجة):"
أقرأ يه

أجعل يه = يه × بي ÷ 180

أكتب "زمن وصول القذيفة إلى مداها = " ، سر0 × جب(يه) ÷ (0.5 × ثقا) ، " ثانية" ، سطر

أكتب "مدى القذيفة = " ، 2 × سر0^2 × جب(يه) × تجب (يه) ÷ ثقا ÷ 1000 ، " كم" ، سطر

أكتب "زمن وصول القذيفة إلى قمة مسارها = " ، سر0 × جب(يه) ÷ ثقا ، " ثانية" ، سطر

أكتب "ارتفاع القذيفة الأعظمي = " ، سر0^2 × (جب(يه))^2 ÷ 2 ÷ ثقا ، " متر" ، سطر

أكتب "المدى الأقصى للقذيفة عند سرعة قذف قدرها " ، سر0 ، " م//ثا هو " ، 2 × سر0^2 × جب(بي÷4) × تجب (بي÷4) ÷ ثقا ÷ 1000 ، " كم" ، سطر

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


تأليف

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

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

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

 

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


المراجع

http://www.jeemlang.com


 

أضف تعليقا


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

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