أعجوبة

البرمجيات الحُرة والمفتوحة المصدر

أدوات المستخدم

أدوات الموقع


docs:البرمجة_للمبتدئين_باستخدام_كلمات

اختلافات

عرض الاختلافات بين النسخة المختارة و النسخة الحالية من الصفحة.

رابط إلى هذه المقارنة

جانبي المراجعة السابقةالمراجعة السابقة
المراجعة التالية
المراجعة السابقة
docs:البرمجة_للمبتدئين_باستخدام_كلمات [2013/09/10 21:27] كفاح عيسىdocs:البرمجة_للمبتدئين_باستخدام_كلمات [2022/04/07 14:04] (حالي) – [الدرس الثاني : لعبة "اضمر رقما"] كفاح عيسى
سطر 1: سطر 1:
 +{{tag>مقالات برمجة مبتدئين كلمات}}
 +
 +
 +====== البرمجة للمبتدئين باستخدام "كلمات" ======
 +
 +[[http://www.kalimat-lang.com/wiki/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9|"كلمات"]] هي لغة برمجة عربية سهلة تعمل على معظم أنظمة التشغيل.
 +
 +===== مقدمة =====
 +أصبح الناشئة اليوم *مستهلكين* بارعين للتقنية، يمضون أيامهم على هواتفهم الذكية أو حواسيبهم يلعبون بالألعاب بل ويتبارون أيهم يملك إصدارة أحدث أو عنده مهارة أكبر في الاستخدام.
 +
 +نأمل في أن يتوجه الناس و خصوصا الأطفال إلى الابتكار والإبداع بدلا من الاستهلاك وأن تكون عندهم القدرة على بناء برامج مهما كانت بسيطة. لأن ذلك سينطلق بهم بالضرورة إلى مستوى أعلى في فهم الحاسوب والتعامل معه. ونأمل أيضا أن يتوجه عدد أكبر من الناشئة إلى سبر أغوار الحاسوب والاحتراف في بناء البرمجيات.
 +
 +وهنا نأتي إلى موضوعنا ... البرمجة!
 +
 +ما هو برنامج الحاسوب ؟
 +
 +**برنامج** الحاسوب هو مجموعة من الخطوات (الأوامر الموجهة للحاسوب) يكتبها **المبرمج** ليقوم الحاسوب بتنفيذها لتحقيق غاية ما.
 +
 +نتعامل مع ما يشبه برمجة الحاسوب كثيرا في حياتنا ... تخيل أن تكتب لشخص آخر على ورقة مجموعة من الخطوات ...
 +
 +مثلا الأب والأم خارج البيت ويكتبان لابنهما مجموعة خطوات لينفذها إذا ما عاد إلى البيت من المدرسة :
 +
 +<note>//ولدنا العزيز، \\
 +خرجنا أنا وأمك للتسوق. نرجو منك أن تفعل ما يلي، \\
 +أولا - أغلق الباب الخارجي ولا تفتح لأي شخص. \\
 +ثانيا - تأكد من تغيير ملابسك فور وصولك إلى البيت. \\
 +ثالثا - إذا كنت جائعا، قم بتسخين الطعام الموجود في الثلاجة وأكله. \\
 +رابعا - افتح جدولك الدراسي لليوم - مادةً مادةً - قم بالمراجعة و إنهاء الواجب المدرسي لكل مادة. \\
 +خامسا - إلى حين رجوعنا إلى البيت يمكنك أن تأخذ قيلولة إذا كنت نعسانا أو أن تلعب أو أن تشاهد التلفاز. \\
 +مع أطيب تحياتنا ومحبتنا لك  \\
 +أبوك وأمك//
 +</note>
 +ما كتبناه هنا هو برنامج حقيقي، به مجموعة من الأوامر التي تم صياغتها على شكل خطوات لتحقيق غاية.
 +كانت هنالك مقدمة للبرنامج لتهيئته للتنفيذ : التحية وذكر خروج الأب والأم وطلب تنفيذ الخطوات، ثم مجموعة الخطوات نفسها. فلنصنف أنواع أو أنماط الخطوات : \\
 +أ - القيام بتنفيذ أمر مباشر : اغلق الباب ...، غير ملابسك ...، سخن الطعام، خذ قيلولة .... \\
 +ب - شرط (إذا كان الحال كذا نفذ الأمر كذا) : إذا كنت جائعا قم بتسخين الطعام ... \\
 +ج - تكرار مجموعة من الأوامر على قدر مجموعة من العناصر : لكل مادة من المواد الدراسية التي أخذتها اليوم ، قم بمراجعتها وعمل الواجب المنزلي.  أو تكرار مجموعة من الأوامر إلى أن يتحقق شرط معين : إلى حين وصولنا إلى البيت قم بفعل كذا أو كذا. 
 +
 +وهكذا انتهى البرنامج.
 +
 +ذاك برنامج موجه للبشر والأمثلة على البرامج الموجهة للبشر كثيرة، أشهرها وصفات تحضير الطعام. وهي عبارة عن مجموعة من الأوامر التي يتم صياغتها على شكل خطوات للوصول في النهاية إلى تجهيز الطبق.
 +
 +تتميز فكرة البرمجة هنا أن مجموعة الخطوات تلك *مكتوبة* لكي يمكن تنفيذها من قبل طرف آخر بعيدا عمن كتبها.
 +
 +فلننتقل من برمجة البشر إلى برمجة الحواسيب  ...
 +الحقيقة أن الحاسوب ليس سوى آلة يمكنها القيام بأمور محددة وبسيطة فقط لا غير. أي أن الحاسوب لا يعرف إلا عددا قليلا من المفردات التي يمكنك استخدامها معه. مثلا ...
 +  * قراءة ما يكتبه المستخدم على لوحة المفاتيح أو القراءة من ملف  على وحدة التخزين أو من الشبكة.
 +  * القيام بعمليات معالجة للنصوص و حسابية و منطقية (تنفيذ مشروط). 
 +  * إخراج النتائج على الشاشة أو على ملف.
 +... وهكذا.
 +
 + ولكن ميزات  الحاسوب، رغم بساطته، أنه : \\
 +أولا - مثابرٌ و ذو جَلَد، فلا يتعب من طول الأوامر ولا يمل من التكرار. \\
 +ثانيا - ذو ذاكرة قوية يمكنه تذكر كل شيء تريده أن يتذكره \\
 +ثالثا - ماهر بالرياضيات فيقدر على حساب الأرقام مهما كانت معقدة \\
 +رابعا - غبي جدا (يخلو من أي ذكاء أو قدرة على فهم ما يجب عمله لوحده) ولكنه في الوقت نفسه دقيق جدا. لذلك عليك التفصيل تماما في إعلامه بما يجب عليه أن يعمل. \\
 +
 +فالحاسوب إذا خادم مطيع لا يعصيك ما أمرته ويفعل ما يؤمر ... الحالة الوحيدة التي قد يعصي الحاسوب لك فيها أمرا هي أن تُقَصّر أنت في التعبير بشكل كاف  أو دقيق عما تريد أو أن تعطيه معلومات خاطئة فيلتبس عليه الأمر. حينئذ فقط يستنكف البرنامج إما بإعطاء نتائج خاطئة أو بإعطاء رسالة خطأ أو بأن يُصاب بالشلل بل قد يصل به الحال إلى أن ينهار كلية.
 +
 +تخيل الحاسب رجلا آليا ينفذ أوامرك ... ولكن الرجل الآلي ذاك لا يأخذ الأوامر منك بشكل مباشر (افعل كذا وكذا وأنت تراقبه) بل يأخذ الأوامر منك كاملة (بكافة تفاصيلها وشروطها وما يجب أن يستقرئه وما يجب أن يفعله) قبل أن يبدأ بتنفيذ أي شيء. فإذا أخطأت أنت في أوامرك فعليك برمجته مرة أخرى من جديد وكذلك عليك برمجته من جديد إذا رغبت بأن يقوم بخطوات أكثر أو أن يحقق غاية جديدة.
 +
 +أنت في هذه الحالة بالنسبة للحاسب مبرمج، تكتب له ماذا يفعل (أو كيف يتصرف) مع المستخدم وهو شخص مختلف عنك من وجهة نظر الحاسب. فكأن الحاسب هو خادم المبرمج، ينفذ المهام والخطوات والتعليمات التي سبق وأن أعطاه إياها المبرمج ... يقوم بتنفيذ التعليمات تلك على الحاسب ويتفاعل مع المستخدم فور أن يطلب منه المستخدم البدء بالتنفيذ.
 +
 +
 +نعرج هنا على مجموعة من الأمثلة (الدروس)، كل يدرس يعلمك إمكانات جديدة في البرمجة. عليك أولا أن تكتب الدرس و تجعله يعمل، ثم تُحلل ما كتبته و تقوم بتغيير بعض الأشياء لتتأكد من فهمك ومن ثم يمكنك عمل أي شيء آخر.
 +
 +تجد في هذا الرابط [[http://www.kalimat-lang.com/wiki/%D8%AA%D8%AD%D9%82%D9%8A%D9%82_%D8%A7%D9%84%D8%B0%D8%A7%D8%AA_%D9%81%D9%8A_%D9%83%D8%AA%D8%A7%D8%A8%D8%A9_%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA_%D8%A8%D9%84%D8%BA%D8%A9_%D9%83%D9%84%D9%85%D8%A7%D8%AA|مرجعا للغة "كلمات"]] و [[http://www.kalimat-lang.com/wiki/%D8%AF%D9%84%D9%8A%D9%84_%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_%D9%83%D9%84%D9%85%D8%A7%D8%AA|هنا دليلا سريعا للاستخدام]].
 +
 +----
 +
 +===== مفاهيم أساسية =====
 +
 +تتضمن برمجة الحاسوب التعامل مع مجموعة بسيطة من المفاهيم الأساسية والتي ينطلق منها البرمج ليصنع الشئ الذي يريد.
 +البرمجة (وبشكل أساسي) تدور حول وجود بيانات (في ملفات أو على الشابكة أو تؤخذ من المستخدم أو تعطى له) ومتغيرات لحفظ البيانات أو أجزاء منها وأوامر للحساب أو القراءة أو الإظهار و جمل شرطية تحكم عملية تنفيذ الأوامر التي بداخلها وحلقات تدور على مجموعة من الأوامر عدد معين من المرات. 
 +==== المُتغيرات ====
 + المُتغيرات هي أوعية تحوي معلومات. ويتم تسمية كل وعاء باسمه الخاص والفريد. ويمكن للمُبرمج إعادة ملء وعاء المتغير بأي شيء يريد. و يمكن للمتغيرات أن تحوي أنواعا مختلفة من المعلومات، مثل :
 +
 +  * نص: أي حروف ورموز وأرقام، وتُسمى كذلك بسلسلة المحارف (المحرف مصطلح أعم من الحرف يشمل الرموز والأرقام). وتوضع النصوص داخل إشارات تنصيص (") حتي يتمكن الحاسوب من تمييزها عن أوامر اللغة نفسها.
 +
 +  * رقم: مثل 5234.234 ويمكن إجراء أنواع الحسابات الرياضية المختلفة على المتغيرات الرقمية.
 +
 +  * منطق: يحمل أحد قيمتين **صحيح** أو **خطأ**
 +
 +  * مصفوفة: قائمة من المتغيرات يكون الوصول إليها عبر فهرس المصفوفة الرقمي الذي يبدأ ب واحد (1).
 +
 +  * قاموس: قائمة من المتغيرات لكل متغير فيها مفتاح مختلف يعينه المبرمج.
 +
 +ملاحظة: عليك أن تعرف أن إشارة المساواة "=" المُستخدمة في التعامل مع المتغيرات تعني **تعيين القيمة** وهي ليست مساواة الرياضيات (التي تستخدمها في المعادلات ص = 6×س +3). فمثلا //س = س + 4// تعني تعيين قيمة جديدة ل س بحيث تكون القيمة السابقة ل س زائد أربعة.
 +
 +<html>
 +<div dir="rtl" style="background-color: rgb(240, 240, 250);"><pre style="direction:rtl; text-align:right" >الاسم = <span style="color:magenta;">"محمد عيسى"</span> <br>العمر = 13 <br>المواد.الدراسية.المفضلة = [<span style="color:magenta;">"اللغة العربية"</span>، <span style="color:magenta;">"الرياضيات"</span>، <span style="color:magenta;">"العلوم"</span>]<br>برنامج.النشاطات.الإسبوعي = {<span style="color:magenta;">"السبت"</span> => <span style="color:magenta;">"متابعة حلقة جديدة من دكتور هو"</span>، <span style="color:magenta;">"الأحد"</span> => <span style="color:magenta;">"المساعدة في تنظيف البيت"</span>، <span style="color:magenta;">"الإثنين"</span> => <span style="color:magenta;">"محطة اللعب"</span>، <span style="color:magenta;">"الثلاثاء"</span> => <span style="color:magenta;">"لعب كرة القدم مع أصدقائي"</span>}<br><br>أحب.الرسم = <span style="color:blue;">خطأ</span> <br>أحب.السباحة = <span style="color:blue;">صحيح</span> <br><br><span style="color:magenta;">-- في العام القادم
 +</span> العمر = العمر + 1 <br></pre></div>
 +</html>
 +
 +
 +==== التفاعل مع المُستخدم ====
 +أبسط أشكال التفاعل مع المستخدم هو طباعة نصوص وقراءة قيم، ويتم ذلك من خلال الأمرين **اطبع** و **اقرأ**.
 +يتقبل أمر **اطبع** أي عدد من المعطيات. سواء أكانت نصوصا أم متغيرات. حيث يقوم بطباعتها بالترتيب الذي ترد فيه.
 +أما أمر **اقرأ** فيمكنه طباعة نص للمستخدم ومن ثم قراءة قيمة نصية أو رقمية إذا كان اسم المتغير مسبوقا بإشارة الرقم **#**.
 +
 +
 +==== جُملة شَرطيّة ====
 +ينفذ الحاسوب مجموعة الأوامر المرتبطة بالجملة الشرطية إذا تحقق الشرط فقط. وفما عدا ذلك فإنه يقفز عن تلك الأوامر كأنها ليست موجودة.
 +
 +<html>
 +
 +<div dir="rtl" style="background-color: rgb(240, 240, 250);"><pre style="direction:rtl; text-align:right"><span style="color:blue;">اقرأ</span> <span style="color:magenta;">"أدخل لونك المفضل: "</span>، اللون <br>اللون = تقليم (اللون)<br><br><span style="color:blue;">إذا</span> اللون = <span style="color:magenta;">"أزرق"</span> :<br>    حدد.لون.النص (4)<br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"الأزرق لَونٌ هادئ"</span> <br><span style="color:blue;">وإلا</span> <span style="color:blue;">إذا</span> اللون = <span style="color:magenta;">"أحمر"</span> :<br>    حدد.لون.النص (8)<br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"الاحمر لونٌ حار"</span> <br><span style="color:blue;">وإلا</span> :<br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"لم استطع التعرف على اللون"</span> <br><span style="color:blue;">تم</span> <br></pre></div>
 +</html>
 +
 +==== حلقة ====
 +يستطيع الحاسوب أن يدور في حلقة لأي عدد تشاء من المرات للقيام بأعمال مختلفة. تذكر إذا دخل الحاسوب في حلقة لا نهائية فسيصاب برنامجك بالشلل.
 +
 +<html>
 +
 +<div dir="rtl" style="background-color: rgb(240, 240, 250);"><pre style="direction:rtl; text-align:right"><span style="color:blue;">لكل</span> س <span style="color:blue;">من</span> - 5 <span style="color:blue;">إلى</span> 5 <span style="color:blue;">بخطوة</span> 2.5 :<br>    <span style="color:blue;">اطبع</span> س <br><span style="color:blue;">تابع</span> <br><br>الإجابة = 0 <br><span style="color:blue;">كرر</span> <span style="color:blue;">مادام</span> الإجابة <> 64 :<br>    <span style="color:blue;">اقرأ</span> <span style="color:magenta;">"كم حاصل ضرب ثمانية في ثمانية؟ "</span>، # الإجابة <br><span style="color:blue;">تابع</span></pre></div>
 +
 +</html>
 +ملاحظة : الرمز "<>" المُستَخدم في الشرط يعني "لا يساوي".
 +
 +==== الدالة و الإجراء ====
 +
 +الدالة و الإجراء هي طريقة لتبسيط كتابة النص المصدري وإعادة استخدام الأجزاء المتكررة. فهي تتيح لك تجميع أي  عدد من الأوامر في وحدة واحدة لتقوم باستدعاء اسم الدالة أو الإجراء فيقوم النظام بتنفيذ مجموعة الأوامر التي فيها. ويمكن تحديد أي عدد من المتغيرات التي تُمرر إلى الدالة أو الإجراء.
 +الفرق الوحيد بينهما هو أن الدالة تُرجع نتيجة يمكن وضعها في متغير أما الإجراء فهو لتنفيذ الأوامر دون إرجاع أية نتيجة.
 +
 +<html>
 +<div dir="rtl" style="background-color: rgb(240, 240, 250);"><pre  style="direction:rtl; text-align:right"><br>قدم.التحية (<span style="color:magenta;">"سامي"</span>)<br><br>العلامات = [89، 90، 88، 96، 93، 85]<br><br>العلامة.النهائية = احسب.المتوسط (العلامات)<br><span style="color:blue;">اطبع</span> <span style="color:magenta;">"العلامة النهائية هي : "</span>، العلامة.النهائية <br><br><span style="color:blue;">إجراء</span> قدم.التحية (الاسم):<br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"أهلا بك يا "</span>، الاسم <br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"عدد الحروف في اسمك هو: "</span>، عدد (الاسم)<br><span style="color:blue;">نهاية</span> <br><br><br><span style="color:blue;">دالة</span> احسب.المتوسط (قيم):<br>    المجموع = 0 <br>    العدد = 0 <br>    <span style="color:blue;">لكل</span> قيمة <span style="color:blue;">في</span> قيم :<br>        المجموع = المجموع + قيمة <br>        العدد = العدد + 1 <br>    <span style="color:blue;">تابع</span> <br>    <br>    <span style="color:blue;">ارجع ب:</span> المجموع ÷ العدد <br><span style="color:blue;">نهاية</span></pre></div>
 +</html>
 +----
 +
 +
 +==== الدرس الأول : برنامج يُرحب بالمستخدم ويسأله ====
 +في هذا الدرس ستتعلم كيف تطبع نصوصا على الشاشة وكيف تقرأ ما يكتبه المستخدم وتستخدم ما يدخله مستخدم الحاسب في طباعة رسالة له. تذكر أنت هنا المُبرمج ولَستَ مُتستخدم الحاسب!
 +
 +
 +<html>
 +<!--
 +<div dir="rtl" style="background-color: rgb(240, 240, 250);"><pre 
 +style="direction:rtl; text-align:right"><span style="color:blue;">اطبع</span> <span style="color:magenta;">"بسم الله الرحمن الرحيم"</span> <br><span style="color:blue;">اطبع</span> <span style="color:magenta;">"سلامٌ على العالم!"</span> <br>انتظر (1000)<br>امسح.الشاشة ()<br><span style="color:blue;">اقرأ</span> <span style="color:magenta;">"ما اسمك؟ "</span>، الاسم <br><span style="color:blue;">اقرأ</span> <span style="color:magenta;">"ما عمرك؟ "</span>، # العمر <br>حدد.لون.النص (12)<br><span style="color:blue;">اطبع</span> <span style="color:magenta;">"أهلا بك يا "</span>، الاسم، <span style="color:magenta;">" لا بد أنك من مواليد "</span>، 2013 - العمر <br><span style="color:blue;">اطبع</span> <span style="color:magenta;">"مع السلامة :)"</span> <br></pre></div>
 +-->
 +</html> 
 +
 +{{:docs:hello.png}}
 +
 +
 +==== الدرس الثاني : لعبة "اضمر رقما" ====
 +سيطلب البرنامج من المستخدم أن يضمر أي رقم وسيطلب منه إجراء بعض العمليات الحسابية عليه ليعرف كم يبقى معه بالضبط! :)
 + 
 +
 +<html>
 +<!--
 +<div dir="rtl" style="background-color: rgb(240, 240, 250);"><pre style="direction:rtl; text-align:right"><span style="color:blue;">اطبع</span> <span style="color:magenta;">"مرحبا بك ..."</span> <br><span style="color:blue;">علامة</span> البداية <br><span style="color:blue;">اقرأ</span> <span style="color:magenta;">"هل ترغب باللعب(نعم أم لا)؟ "</span>، الجواب <br><br><span style="color:blue;">إذا</span> الجواب = <span style="color:magenta;">"نعم"</span> :<br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"اضمر رقما [إضغط إدخال عندما تجهز]"</span> <br>    <span style="color:blue;">اقرأ</span> إدخال <br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">" خذ من أبيكَ مِثلَهُ [إضغط إدخال]"</span> <br>    <span style="color:blue;">اقرأ</span> إدخال <br>    <span style="color:magenta;">    -- توليد رقم عشوائي زوجي من 2 إلى 22
 +</span> رقم = عشوائي (10)× 2 + 2 <br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"خذ مني "</span>، رقم، <span style="color:magenta;">" [إضغط إدخال]"</span> <br>    <span style="color:blue;">اقرأ</span> إدخال <br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"ارمِ نصف ما معك في البحر [إضغط إدخال]"</span> <br>    <span style="color:blue;">اقرأ</span> إدخال <br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"أَرجع إلى أبيك ما أخذتَه منه [إضغط إدخال]"</span> <br>    <span style="color:blue;">اقرأ</span> إدخال <br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"سأحاول أن أعرف كم بقي معك ..."</span> <br>    انتظر (1000)<br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"ممم. بقي معك ... لقد عرفت ! "</span>، رقم ÷ 2، <span style="color:magenta;">" !!"</span> <br>    <span style="color:blue;">اذهب</span> <span style="color:blue;">إلى</span> البداية <br><span style="color:blue;">وإلا</span> :<br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"لا بأس. مع السلامة :)"</span> <br><span style="color:blue;">تم</span> <br></pre></div>
 +-->
 +</html>
 +{{:docs:anumber.png}}
 +
 +<note>
 +الرموز الخاصة : \\
 + عالي + خ  = ×   ... إشارة الضرب \\
 + عالي + هـ = ÷   ... إشارة القسمة \\
 + عالي + ي  = ]   ... فتحة مستطيل \\
 + عالي + ب  = [   ... إغلاق مستطيل \\
 + عالي + د  = >   ... أكبر من \\
 + عالي + ج  = <   ... أصغر من 
 +</note>
 +
 +
 +
 +==== الدرس الثالث : لعبة "البلدان" ====
 +يسأل البرنامج المستخدم عن عواصم بلدان أو بلدان عواصم ليعطيك في النهاية علامتك من عشرة.
 +
 +<html>
 +<!--
 +<div dir="rtl" style="background-color: rgb(240, 240, 250);"><pre style="direction:rtl; text-align:right">بلدان.عواصم = {<span style="color:magenta;">"اليابان"</span> => <span style="color:magenta;">"طوكيو"</span>، <span style="color:magenta;">"بلجيكا"</span> => <span style="color:magenta;">"بروكسل"</span>، <span style="color:magenta;">"إيطاليا"</span> => <span style="color:magenta;">"روما"</span>، <span style="color:magenta;">"إسبانيا"</span> => <span style="color:magenta;">"مدريد"</span>، <span style="color:magenta;">"ألمانيا"</span> => <span style="color:magenta;">"برلين"</span>، <span style="color:magenta;">"عمان"</span> => <span style="color:magenta;">"مسقط"</span>، <span style="color:magenta;">"اليمن"</span> => <span style="color:magenta;">"صنعاء"</span>، <span style="color:magenta;">"المغرب"</span> => <span style="color:magenta;">"الرباط"</span>، <span style="color:magenta;">"تركيا"</span> => <span style="color:magenta;">"اسطنبول"</span>، <span style="color:magenta;">"موريتانيا"</span> => <span style="color:magenta;">"نواكشط"</span>}<br>البلدان = مفاتيح (بلدان.عواصم)<br>العلامة = 0 <br><span style="color:blue;">اطبع</span> <span style="color:magenta;">"أهلا بك في لعبة البلدان"</span> <br><br><span style="color:blue;">لكل</span> بلد <span style="color:blue;">في</span> البلدان :<br>    <span style="color:blue;">اطبع</span> <span style="color:magenta;">"سؤال: "</span> ... <br>    <span style="color:magenta;">    -- فلنسأل عشوائيا مرة عن دولة العاصمة ومرة عن عاصمة الدولة
 +</span> <span style="color:blue;">إذا</span> عشوائي (2)&gt; 0 :<br>        <span style="color:blue;">اطبع</span> <span style="color:magenta;">"ما هي الدولة التي عاصمتها "</span>، بلدان.عواصم [بلد]، <span style="color:magenta;">" ؟ "</span> ... <br>        <span style="color:blue;">اقرأ</span> الإجابة <br>        الإجابة.الصحيحة = بلد <br>    <span style="color:blue;">وإلا</span> :<br>        <span style="color:blue;">اطبع</span> <span style="color:magenta;">"ما هي عاصمة "</span>، بلد، <span style="color:magenta;">" ؟ "</span> ... <br>        <span style="color:blue;">اقرأ</span> الإجابة <br>        الإجابة.الصحيحة = بلدان.عواصم [بلد]<br>    <span style="color:blue;">تم</span> <br>    <br>    الإجابة = تقليم (الإجابة)<br>    <br>    <span style="color:blue;">إذا</span> الإجابة = الإجابة.الصحيحة :<br>        <span style="color:blue;">اطبع</span> <span style="color:magenta;">"أحسنت!"</span> <br>        العلامة = العلامة + 1 <br>    <span style="color:blue;">وإلا</span> :<br>        <span style="color:blue;">اطبع</span> <span style="color:magenta;">"خطأ! الإجابة الصحية كانت "</span>، الإجابة.الصحيحة، <span style="color:magenta;">" ولكن إجابتك كانت "</span>، الإجابة، <span style="color:magenta;">"."</span> <br>    <span style="color:blue;">تم</span> <br>    <br>    انتظر (1000)<br>    امسح.الشاشة ()<br><span style="color:blue;">تابع</span> <br><br><span style="color:blue;">اطبع</span> <span style="color:magenta;">"علامتك في اللعبة "</span>، العلامة، <span style="color:magenta;">" من 10!"</span> <br></pre></div>
 +-->
 +</html>
 +
 +{{:docs:countries_and_capitals.png}}
 +<note>
 +الألوان : \\
 +{{http://www.kalimat-lang.com/w/files/a/ae/Color-map.png}}
 +</note>
 +
 +==== الدرس الرابع : الرسم ====
 +بإمكانك رسم خطوط ودوائر ونقاط (تذكر أن نقطة 0،0 هي في أعلى يمين الشاشة وأن النقطة 800،600 (وهي أبعد نقطة يمكن رسمها) تقع في أسفل يسار الشاشة. ونرسم هنا بعض المعادلات الرياضية أيضا ... مستخدمين درس الإزاحة والتكبير والتدوير الذي أخذته في مقرر الرياضيات.
 +
 +<html>
 +
 +
 +<div dir="rtl" style="background-color: rgb(240, 240, 250);"><pre style="direction:rtl; text-align:right"><span style="color:blue;">لكل</span> أ <span style="color:blue;">من</span> 0 <span style="color:blue;">إلى</span> 20 :<br>    س1 = عشوائي (800)<br>    ص1 = عشوائي (600)<br>    س2 = عشوائي (800)<br>    ص2 = عشوائي (600)<br>    لون = عشوائي (15)<br>    نصف.القطر = عشوائي (50)<br>    <span style="color:blue;">ارسم.خط</span> (س1، ص1)- (س2، ص2)، لون <br>    <span style="color:blue;">ارسم.نقطة</span> (س1 + 5، ص1 - 3)، لون <br>    <span style="color:blue;">ارسم.مستطيل</span> (س1، ص1)- (س2، ص2)، لون <br>    <span style="color:blue;">ارسم.دائرة</span> (س2، ص1)، نصف.القطر، لون، <span style="color:blue;">صحيح</span> <br><span style="color:blue;">تابع</span> <br><br>انتظر (2000)<br>امسح.الشاشة ()<br>رسم.بياني.خلفية ()<br><br><span style="color:blue;">لكل</span> س <span style="color:blue;">من</span> - 8 <span style="color:blue;">إلى</span> 8 <span style="color:blue;">بخطوة</span> 0.1 :<br>    ص = 0.6 × س + 2 <br>    رسم.بياني.نقطة (س، ص)<br>    ص = جذر (25 - س × س)<br>    رسم.بياني.نقطة (س، ص)<br>    ص = جا (س)<br>    <br>    <span style="color:blue;">إذا</span> س <> 0 :<br>        ص = 1 ÷ س <br>        رسم.بياني.نقطة (س، ص)<br>    <span style="color:blue;">تم</span> <br><span style="color:blue;">تابع</span> <br><br><span style="color:blue;">إجراء</span> رسم.بياني.نقطة (س، ص):<br>    <span style="color:blue;">ارسم.دائرة</span> (س × 50 + 400، ص × 50 + 300)، 2، 12، <span style="color:blue;">صحيح</span> <br><span style="color:blue;">نهاية</span> <br><br><span style="color:blue;">إجراء</span> رسم.بياني.خلفية ():<br>    <span style="color:blue;">لكل</span> أ <span style="color:blue;">من</span> 1 <span style="color:blue;">إلى</span> 16 :<br>        <span style="color:blue;">ارسم.خط</span> (أ × 50، 0)- (أ × 50، 600)، 14 <br>        <span style="color:blue;">ارسم.خط</span> (0، أ × 50)- (800، أ × 50)، 14 <br>    <span style="color:blue;">تابع</span> <br>    <br>    <span style="color:blue;">ارسم.خط</span> (0، 300)- (800، 300)، 0 <br>    <span style="color:blue;">ارسم.خط</span> (400، 0)- (400، 600)، 0 <br><span style="color:blue;">نهاية</span> <br></pre></div>
 +</html>
 +{{:docs:random.png|}}
 +{{:docs:equations.png|}}
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki