0% found this document useful (0 votes)
229 views

Programming9 PDF

Uploaded by

Azoz Boj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
229 views

Programming9 PDF

Uploaded by

Azoz Boj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 136

‫‪٩‬‬

‫البرمجة‬
‫فريق الت أ�ليف‪:‬‬
‫اأ‪ .‬شهد العويوي‬ ‫اأ‪ .‬غدير النتشة‬ ‫د‪ .‬سعيد عساف «منسقًا»‬
‫أا‪ .‬ميساء دنديس‬ ‫د‪ .‬غسان شاهين‬

‫اأ‪ .‬معاذ اأبو سليقة‬ ‫اأ‪ .‬اإبراهيم قدح‬


‫قررت وزارة التربية والتعليم في دولة فلسطين‬
‫اعتم�د هذا الكت�ب بدء ًا من الع�م الدراسي ‪ ٢٠١٩ /٢٠١٨‬م‬

‫ال�إ شراف الع�م‬


‫د‪ .‬صـبري صيــدم‬ ‫رئــيـــــس لــجــنـــة الـمن�هــــج‬
‫د‪ .‬بصــري صالــــح‬ ‫ن�ئـب رئيـس لجـنــة المنـ�هـج‬
‫اأ‪ .‬ثـــــروت زيـــــــد‬ ‫رئـــيـــــس مـركـــــز الـمـنـ�هـــج‬

‫الدائـــرة الفنية‬
‫اأ‪ .‬كمال فحمـاوي‬ ‫اإشـــــــــــراف فـــنــــي‬
‫اأسحار حروب‬ ‫تصــميـــــم فــنــــــــــي‬

‫اأ‪ .‬رائد شريدة‬ ‫تــحــريــر لــغــوي‬


‫د‪ .‬سميـــــة النخّالــــة‬ ‫مت�بعة المح�فظ�ت الجنوبية‬

‫الطبعة ال�أولى‬
‫‪ ٢٠١٩‬م‪ ١٤٤٠ /‬ھ‬
‫تــقــديــم‬

‫يتصــف ال�إ صــلاح التربــوي باأنــه المدخــل العقلانــي العلمــي النابــع مــن ضــرورات الحالــة‪ ،‬المســتند اإلــى واقعيــة النشـاأة‪ ،‬ال�أمــر الــذي‬
‫انعكــس علــى الرؤيــة الوطنيــة المطــورة للنظــام التعليمــي الفلســطيني فــي محــاكاة الخصوصيــة الفلســطينية وال�حتياجــات ال�جتماعيــة‪،‬‬
‫والعمــل علــى اإرســاء قيــم تعــزز مفهــوم المواطنــة والمشــاركة فــي بنــاء دولــة القانــون‪ ،‬مــن خــلال عقــد اجتماعــي قائــم علــى الحقــوق‬
‫والواجبــات‪ ،‬يتفاعــل المواطــن معهــا‪ ،‬ويعــي تراكيبهــا واأدواتهــا‪ ،‬ويســهم فــي صياغــة برنامــج اإصــلاح يحقــق ال�آمــال‪ ،‬ويلامــس ال�أمانــي‪،‬‬
‫ويرنــو لتحقيــق الغايــات وال�أهــداف‪.‬‬

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

‫ومــن منطلــق الحــرص علــى تجــاوز نمطيــة تل ّقــي المعرفــة‪ ،‬وصــول� ً لمــا يجــب اأن يكــون مــن اإنتاجهــا‪ ،‬وباســتحضار وا ٍع لعديــد‬
‫المنطلقــات التــي تحكــم رؤيتنــا للطالــب الــذي نريــد‪ ،‬وللبنيــة المعرفيــة والفكريّــة المتوخّ ــاة‪ ،‬جــاء تطويــر المناهــج الفلســطينية وفــق رؤيــة‬
‫محكومــة باإطــار قوامــه الوصــول اإلــى مجتمــع فلســطيني ممتلــك للقيــم‪ ،‬والعلــم‪ ،‬والثقافــة‪ ،‬والتكنولوجيــا‪ ،‬وتلبيــة المتطلبــات الكفيلــة‬
‫بجعــل تحقيــق هــذه الرؤيــة حقيقــة واقعــة‪ ،‬وهــو مــا كان لــه ليكــون لــول� التناغــم بيــن ال�أهــداف والغايــات والمنطلقــات والمرجعيــات‪،‬‬
‫فقــد تاآلفــت وتكاملــت؛ ليكــون النتــاج تعبيــراً عــن توليفــة تحقــق المطلــوب معرفيـاً وتربويـاً وفكريـاً‪.‬‬

‫ث ّمــة مرجعيــات تؤطّــر لهــذا التطويــر‪ ،‬بمــا يع ـ ّزز اأخــذ جزئيــة الكتــب المقــر ّرة مــن المنهــاج دورهــا الماأمــول فــي التاأســيس؛ لتــوازن‬
‫اإبداعــي خـلّاق بيــن المطلــوب معرفيـاً‪ ،‬وفكريـاً‪ ،‬ووطنيـاً‪ ،‬وفــي هــذا ال�إ طــار جــاءت المرجعيــات التــي تــم ال�ســتناد اإليهــا‪ ،‬وفــي طليعتهــا‬
‫وثيقــة ال�ســتقلال والقانــون ال�أساســي الفلســطيني‪ ،‬بال�إ ضافــة اإلــى وثيقــة المنهــاج الوطنــي ال�أول؛ ّ‬
‫لتوجــه الجهــد‪ ،‬وتعكــس ذاتهــا علــى‬
‫مجمــل المخرجــات‪.‬‬

‫ومــع اإنجــاز هــذه المرحلــة مــن الجهــد‪ ،‬يغــدو اإزجــاء الشــكر للطواقــم العاملــة جميعهــا؛ مــن فــرق التاأليــف والمراجعــة‪ ،‬والتدقيــق‪،‬‬
‫وال�إ شــراف‪ ،‬والتصميــم‪ ،‬وللجنــة العليــا اأقــل مــا يمكــن تقديمــه‪ ،‬فقــد تجاوزنــا مرحلــة الحديــث عــن التطويــر‪ ،‬ونحــن واثقــون مــن‬
‫تواصــل هــذه الحالــة مــن العمــل‪.‬‬

‫وزارة التربية والتعليم‬


‫مــركــز الــمـنـاهـج الفلسطينية‬
‫اآب ‪2018 /‬‬
‫مقدمة‬

‫تش ّكل تكنولوجيا المعلومات وعلوم الحاسوب أاهم مرتكزات التقدم في عصرنا الحاضر‪ ،‬وارتبط التطور ال�قتصادي بعمل‬
‫الشركات والمؤسسات الصغيرة والمتوسطة‪ ،‬وخاصة العاملة في قطاع تكنولوجيا المعلومات والحاسوب‪ ،‬وبداأت الشركات الناشئة‬
‫تظهر نتيجة ل�أفكار ريادية تاأتي من فئة الشباب الصغار عموماً‪.‬‬
‫تُ َع ّد مرحلة التعليم ال�أساسية حجر الزاوية في بناء شخصية المتعلم‪ ،‬واإكسابه المعارف والمهارات اللازمة للمشاركة والمنافسة‬
‫على المستوى العالمي‪ ،‬وتمكينه من مواكبة المستجدات في المجال�ت المعرفية والتكنولوجية‪ .‬ومن هنا ف إا ّن امتلاك القدرة على‬
‫البرمجة هي جزءاً رئيساً في بناء شخصية المتعلم‪ ،‬وتعزز فرص المشاركة في التطور العلمي وال�قتصادي‪.‬‬
‫اإ ّن تعلّم البرمجة جزء أاصيل من تقدّم النظام التربوي؛ ل� أ ّن البرمجة تسهم في رفع قدرات الطلبة في مجال�ت عدة‪ ،‬مثل التفكير‬
‫الناقد‪ ،‬وحل المشكلات؛ لذا فقد َحرصنا على تمكين الطلبة من البرمجة عن طريق العمل‪ ،‬وال�كتشاف‪.‬‬
‫تض ّمن هذا الكتاب اأنشطة منظّمة للمفاهيم البرمجية بلغة سكراتش‪ ،‬وهي لغة ت ّم تطويرها في مختبرات جامعة ماساتشوستس‬
‫للتقنيات‪ ،1‬لتكون في متناول الجميع بسهولة ويسر؛ ل�أن ّها تعتمد على مجموعة سهلة من الَّ ِلبنات اأو ال�أوامر التي يتم تركيبها‪ ،‬اأو‬
‫الصور‪ ،‬والرسومات‪ ،‬والصوت‪ ،‬واأفلام الفيديو‪ ،‬والموسيقى بطرق تفاعلية سهلة‬ ‫اإدراجها لتوظف اإمكانات التكنولوجيا في التعامل مع ّ‬
‫ال�إ نشاء‪ ،‬والفهم والتطوير ل�ألعاب‪ ،‬وقصص‪ ،‬وبرامج تطبيقية متنوعة‪.‬‬
‫توصف دروس الكتاب بعد الوحدة ال�أولى باأن ّها ليست تراكمية‪ ،‬ويمكن للمعلم والطالب اختيار البرنامج الذي يرغب العمل‬
‫عليه‪ ،‬وينتقل بسرعة بين الدروس‪َ ،‬وفق حاجة البرنامج الذي يقوم ببنائه‪ ،‬ول� يلتزم بتسلسل ترقيم الدروس الوارد فيه‪ ،‬وفي بداية تطبيق‬
‫التعليم الصفي‪ ،‬وينصح اأن يقوم المعلم باستعراض جميع البرامج بشكل عامّ وسريع‪ ،‬مبيناً النشاط والمقاطع البرمجية‪ ،‬كما يبين للطلبة‬
‫اأسس البرمجة وخوارزمياتها؛ حتى يساعد الطلبة في بناء البرامج التي يرغبون بها منذ البداية‪ ،‬اأ ّما ال�أوامر والمقاطع البرمجية‪ ،‬فتكون‬
‫اأسهل للتعلم‪ ،‬واأكثر معنى‪ ،‬حين يتم التعرف اإليها كجزء من حل المشكلة‪ ،‬وحين تكون لدى المتعلم حاجة ل�ستخدام تلك ال�أوامر‪،‬‬
‫واأ ّما مفتاح العمل في البرمجة فيكمن في ثلاث مهارات‪ ،‬تبداأ بالتخيل‪ ،‬وهنا يجب اأن نشجع الطلبة على ابتكار ال�أفكار واقتراحها‪،‬‬
‫والبحث عن طرق تنفيذها برمجياً‪ ،‬والمهارة الثانية هي البرمجة‪ ،‬وهنا ينفذ الطالب ما تخيله‪ ،‬وما يرغب في اأن يكون منتجه النهائي‬
‫باستخدام البرمجة‪ ،‬اأ ّما المهارة الثالثة فهي مشاركة المتعلم باأفكاره‪ ،‬واإنتاجه‪ ،‬ومهاراته مع الطلبة ال�آخرين داخل الصف وخارجه‪،‬‬
‫حيث يعرض ذلك في معارض ومسابقات‪ ،‬ويضعه على الشبكة العالمية كنشاط يتم نشره باسمه‪.‬‬
‫يعتمد تقويم عمل الطلبة على مقدار الجهد الذي بذلوه في التعلم‪ ،‬وفي البرمجة‪ ،‬وفي اإنتاج برامج تستخدم عدد ًا من المقاطع‬
‫البرمجية‪ ،‬ويمكن اأن يكون التقويم مباشرة اأثناء العمل‪ ،‬وحل الواجبات‪ ،‬كاأن ُيطلب من الطالب تنفيذ ال�أوامر والمقاطع البرمجية على‬
‫الشاشة‪ ،‬وتوظيفها‪ ،‬واستخدام الَّ ِلبنات بطلاقة اأمام المعلم‪.‬‬
‫اإن ّنا نؤمن بقدرات المعلمين‪ ،‬والمشرفين التربويين‪ ،‬ومديري مدارس‪ ،‬و أاولياء ال�أمور‪ ،‬وذوي العلاقة بالشاأن التربوي وحرصهم‬
‫ال�أكيد على تحقيق اأهداف الوزارة‪ ،‬ومن منطلق تح ُّمل المسؤولية والمشاركة‪ ،‬نضع هذا الكتاب بين اأيديهم‪ ،‬على اأمل رفده‬
‫بمقترحاتهم وتغذيتهم الراجعة؛ ما يؤدي اإلى تجويد العمل وتحسينه‪ ،‬بما يخدم مصلحة الوطن والطلبة‪.‬‬

‫فريق الت أ�ليف‬

‫‪1- Scratch is developed by the Lifelong Kindergarten Group at the MIT Media Lab. It is available for free at‬‬
‫‪https://scratch.mit.edu”.‬‬
‫المحتوي�ت‬
‫‪٢‬‬ ‫أاس�سي�ت التع�مل مع سكراتش‬ ‫الوحدة ال�أولى‪:‬‬
‫‪4‬‬ ‫الدرس ال�أول‪ :‬مراجعة سكراتش‬
‫‪12‬‬ ‫الدرس الثاني‪ :‬اأساسيات التحكم بالكائن‬
‫‪13‬‬ ‫الدرس الثالث‪ :‬بث الرسائل واستقبالها‬
‫‪14‬‬ ‫الدرس الرابع‪ :‬تسجيل ال�أصوات واإدخالها في برامج سكراتش‬
‫‪16‬‬ ‫الدرس الخامس‪ :‬ال ّر ّسام في سكراتش‬
‫‪19‬‬ ‫الدرس السادس‪ :‬تغيير اسم كائن‬
‫‪20‬‬ ‫الدرس السابع‪ :‬الكتابة باللغة العربية على ال ّر ّسام في برنامج سكراتش‬
‫‪21‬‬ ‫الدرس الثامن‪ :‬المتغيرات‬
‫‪23‬‬ ‫الصور‬
‫الدرس التاسع‪ :‬مح ّرر ّ‬
‫‪28‬‬ ‫الدرس العاشر‪ :‬متغيرات ولبنات تظهر على المنصة‬

‫‪٢٩‬‬ ‫تطبيق�ت برمجية‬ ‫الوحدة الث�نية‪:‬‬


‫‪31‬‬ ‫الصور من ال�إ نترنت اإلى برنامج سكراتش‬
‫الدرس الحادي عشر‪ :‬تحميل ّ‬
‫‪32‬‬ ‫الدرس الثاني عشر‪ :‬تحميل الفيديو في سكراتش‬
‫‪3٥‬‬ ‫الدرس الثالث عشر‪ :‬فيديو من الطبيعة‬
‫‪39‬‬ ‫الدرس الرابع عشر‪ :‬اإضافة شريط اأخبار‬
‫‪40‬‬ ‫الدرس الخامس عشر‪ :‬الوسط الحسابي‬
‫‪42‬‬ ‫الدرس السادس عشر‪ :‬ال َّر ْقم ال ّس ّر ّي لفتح الهاتف المحمول‬
‫‪49‬‬ ‫الدرس السابع عشر‪ :‬اللوائح‬
‫‪٥2‬‬ ‫الدرس الثامن عشر‪ :‬اأسئلة واإجابات‬
‫‪٥٥‬‬ ‫الدرس التاسع عشر‪ :‬عمليات بنكية على حساب جا ٍر‬

‫‪٥٩‬‬ ‫برمجة تف�علية‬ ‫الوحدة الث�لثة‪:‬‬


‫‪61‬‬ ‫الدرس العشرون‪ :‬ال�شتراك في المكتبة‬
‫‪6٥‬‬ ‫الدرس الحادي والعشرون‪ :‬البرمجة والرياضيات‬
‫‪69‬‬ ‫الدرس الثاني والعشرون‪ :‬نقل كائن مع برمجته اإلى كائن اآخر‬
‫‪٧0‬‬ ‫الدرس الثالث والعشرون‪ :‬الَّ ِلبنات ال�إ ضافية‬
‫‪٧1‬‬ ‫الدرس الرابع والعشرون‪ :‬رسم مثلث قائم الزاوية‬
‫‪٧4‬‬ ‫الدرس الخامس والعشرون‪ :‬ضبط المنبه‬
‫‪81‬‬ ‫الدرس السادس والعشرون‪ :‬استخدام الكاميرا لتحريك كائن على الشاشة‬
‫‪84‬‬ ‫الدرس السابع والعشرون‪ :‬خلفيات متحركة‬
‫‪8٥‬‬ ‫الدرس الثامن والعشرون‪ :‬بائع الفواكه‬
‫‪90‬‬ ‫الدرس التاسع والعشرون‪ :‬دفتر العناوين‬
‫‪9٥‬‬ ‫الدرس الثلاثون‪ :‬لعبة الهدف‬

‫‪١٠٠‬‬ ‫برمجة تطبيق�ت حي�تية‬ ‫الوحدة الرابعة‪:‬‬


‫‪102‬‬ ‫الدرس الحادي والثلاثون‪ :‬ال�آلة الحاسبة‬
‫‪106‬‬ ‫الدرس الثاني والثلاثون‪ :‬كتابة ح ّرة على المنصة‬
‫‪109‬‬ ‫الدرس الثالث والثلاثون‪ :‬مسابقة المغرور مع المثابر‬
‫‪112‬‬ ‫الدرس الرابع والثلاثون‪ :‬متابعة المصروفات‬
‫‪116‬‬ ‫الدرس الخامس والثلاثون‪ :‬المصعد‬
‫‪120‬‬ ‫الدرس السادس والثلاثون‪ :‬قائمة المهامّ‬
‫‪124‬‬ ‫الدرس السابع والثلاثون‪ :‬تصميم ساعة حائط‬
‫‪12٧‬‬ ‫نص‬
‫الدرس الثامن والثلاثون‪ :‬اإيجاد حرف في جملة اأو ّ‬
‫الوحدة ال�أولى‬
‫أاس�سي�ت التع�مل مع سكراتش‬

‫مقدمة الوحدة‬
‫ال ّرسومات وال ّزخارف فنون اإنسانية قديمة‪ .‬فزائر المعالم التاريخية في فلسطين يجد ما يس ّره من‬
‫الفنون الزخرفية الجميلة‪ ،‬وما فسيفساء قصر هشام‪ ،‬اأو الفن المعماري البديع في قبة الصخرة‪ ،‬وعلى جدران‬
‫كنيسة القيامة‪ ،‬اإلّ� شواهد لهذه الزخارف‪ ،‬ونماذج لها‪ .‬اأ ّما في العراق‪ ،‬ومصر‪ ،‬وبلاد الشام‪ ،‬وبلاد المغرب‬
‫العربي‪ ،‬ف إا ّن الفن الزخرفي يتجلّى في اأبهى صوره‪ .‬وقد اأبدع قدماء المصريين في فن الزخارف منذ ما يزيد‬
‫عن ‪ 6‬اآل�ف سنة‪.‬‬

‫‪2‬‬
‫أاهداف الوحدة‬

‫ُيتَوقَّع من الطلبة بعد دراسة هذه ال َوحدة‪ ،‬والتف�عل مع أانشطته�‪ ،‬أان يكونوا ق�درين على‪:‬‬
‫‪َ -1‬تذكُّر اأساسيات البرمجة في سكراتش‪ ،‬والتعامل مع الكائنات‪ ،‬وحركتها‪.‬‬
‫‪ -2‬تصميم زخارف جميلة ببرامج سهلة‪.‬‬
‫‪ -3‬رسم ال�أشكال الهندسية باستخدام ال�إ حداثيات‪.‬‬
‫‪ -4‬استخدام حلقات ال َّتكرار المتداخلة؛ لرسم زخارف هندسية‪.‬‬
‫‪ -٥‬تسجيل ال�أصوات وتضمينها في برامج سكراتش‪.‬‬
‫‪ -6‬استخدام رسام سكراتش‪.‬‬
‫‪ -٧‬اإعداد كائنات اأو خلفيات تتضمن الكتابة باللغة العربية‪.‬‬
‫‪ -8‬برمجة التواصل بين الكائنات‪.‬‬

‫‪3‬‬
‫الدرس ال�أول‬
‫مراجعة سكراتش‬

‫أاتذكّر‪:‬‬
‫ُيطلق على الشّخص الذي يقوم بكتابة ال�أوامر المتحكّمة والضابطة ل�إ نجاز عمل معين‬
‫اسم (المبرمج)‪.‬‬
‫ُت َع ّد لغ ُة البرمجة ‪-‬باأبسط صورها‪ -‬اآلية تواصل بين ال�إ نسان وال�آلة على شكل مجموعة‬
‫سطور من ال�أوامر المكتوبة بطريقة محدّدة‪ .‬ومن خلالها‪ ،‬يمكن لجهاز الحاسوب‪ ،‬اأو اأ ّي‬
‫جهاز ما ّدي اآخر (سيارة‪ ،‬وجهاز ن ّقال‪ ،‬ومك ّيف‪ )...‬تنفيذ تلك ال ّسطور؛ للحصول على‬
‫خرج المتوقّع‪ ،‬حيث تُكتب البرمجة ضمن قواعد ومفردات واآل ّيات محدّدة يفهمها ال�إ نسان‬ ‫ال ُم َ‬
‫وال�آلة‪ ،‬تدعمها بيئة برمج ّية محدّدة ُتس ّمى لغات البرمجة‪ ،‬ومن ال�أمثلة عليها‪ :‬لغة سكراتش‬
‫(‪ ،)Scratch‬وجافا‪ ،‬وفيجوال بيسك‪ ،‬و‪ ،C‬و‪ ،HTML‬وكثير غيرها‪.‬‬
‫تُكتب البرامج من خلال لغات البرمجة‪ ،‬وتختلف ك ّل لغة برمج ّية عن غيرها بالمفردات‪،‬‬
‫والقواعد ال ّلازمة لكتابتها‪.‬‬

‫توجد عدّة نسخ من برنامج سكراتش‪ ،‬بعضها يمكن تحميله على جهاز الحاسوب‪ ،‬ث ّم استخدامه‪ ،‬وبعضها‬
‫ال�آخر يمكن استخدامه‪ ،‬والعمل عليه من خلال ال�إ نترنت‪ ،‬وفي هذا الكتاب‪ ،‬سنستخدم النسخة المتوفرة حالياً؛‬
‫للتحميل على جهاز الحاسوب‪.‬‬

‫‪4‬‬
‫منصّ ة العمل سكراتش (‪)Scratch‬‬
‫ُت َع ّد سكراتش (‪ )Scratch‬أاحد بيئات البرمجة ال ّرسومية مفتوحة المصدر‬
‫(‪ ،)Open Source‬التي تسمح ب إانشاء ال�ألعاب‪ ،‬ونسج القصص والحكايات‬
‫التفاعل ّية‪ ،‬وال ّرسوم المتح ّركة‪ ،‬وح ّل المشكلات الحيات ّية‪ ،‬من خلال مفاهيم‬
‫برمج ّية بسيطة‪ ،‬وبطريقة شائقة وممتعة‪ ،‬مفعمة بال�ألوان‪ ،‬والحركات‪،‬‬
‫والصور‪ ،‬وال ّرسومات المختلفة‪ ،‬حيث تظهر البرمجة‬ ‫وال�أصوات‪ ،‬والنّصوص‪ّ ،‬‬
‫خلالها على شكل لَ ِبنات (‪ )Blocks‬تمثّل اأوامر مج ّمعة‪ ،‬تشبه تركيب قطع اللّيجو‬
‫التي يستخدمها ال�أطفال في األعابهم‪.‬‬

‫أاول�ً تنصيب منصّ ة العمل سكراتش‪:‬‬


‫جماعي ضمن‬‫ّ‬ ‫تم ّكنني بيئة العمل سكراتش من تصميم المشاريع البرمج ّية‪ ،‬وبنائها في اإطار فرد ّي أاو‬
‫(مجتمع سكراتش) ال�فتراضي عبر ال�إ نترنت (‪ ،)Online‬اأ ّما اإذا لم تكن تمتلك اتّصال� ً مباشراً ودائماً‬
‫بال�إ نترنت‪ ،‬فيمكن تنصيب البرنامج ليعمل دون الحاجة اإلى ال�تصال بال�إ نترنت بتحميل (�‪Scratch Of‬‬
‫‪ )fline Editor‬اإلى جهازي الحاسوبي‪ ،‬من خلال الموقع‪:‬‬
‫(‪.)https://scratch.mit.edu/download/scratch2‬‬
‫تنصيب بيئة عمل سكراتش (‪:)Offline‬‬
‫بمساعدة معلمي‪ ،‬اأقوم بتنصيب بيئة العمل سكراتش المتوافقة مع نظام التشغيل لجهازي الحاسوبي من‬
‫خلال الموقع‪ ،)https://scratch.mit.edu/download/scratch2( :‬مع ضرورة التّنصيب المسبق‬
‫لبرنامج “‪ ”Adobe AIR‬المتوفّر في الموقع‪ ،‬كما ّ‬
‫توضحه الخطوات الثلاث في الشّ كل ال�آتي‪:‬‬

‫‪5‬‬
‫ث�ني ً� واجهة منصّ ة العمل سكراتش‪:‬‬
‫تُقسم الواجهة ال ّرئيسة لبرنامج سكراتش (‪ )Scratch‬اإلى مناطق عدّة‪ ،‬كما هو مب ّين في الشكل اأدناه‪:‬‬

‫‪ .1‬شريط القوائم‪.‬‬
‫‪ .2‬شريط ال�أدوات‪.‬‬
‫‪ .3‬منطقة المنصة (‪ِ :)Stage‬مساحة العمل التي تض ّم الكائنات المستخدمة في المشروع‪.‬‬
‫‪ .4‬الكائن (‪.)Sprite‬‬
‫‪ .5‬خلفية المنصة (‪.)Background‬‬
‫‪ .6‬منطقة الكائنات(‪ ،)Sprites‬وتحوي جميع الكائنات المستخدمة بالمشروع‪.‬‬
‫‪ .7‬شريط التبويبات (‪.)Script�Costumes�Sound‬‬
‫‪ .8‬منطقة البرمجة (‪ :)Script Area‬ال ِمساحة التي تتج ّمع فيها المقاطع البرمج ّية‪.‬‬
‫‪ .9‬منطقة لَ ِبنات ال�أوامر (‪.)Blocks Area‬‬
‫‪ .10‬نقطة (‪ ،)x,y‬وتمثل موضع الكائن على المنصة (‪.)Stage‬‬
‫‪ .11‬اأيقونة اختيار لغة واجهة العرض‪.‬‬
‫‪6‬‬
‫مراجعة المنصّ ة والحركة عليه�‬
‫منصة برنامج سكراتش (‪ )Scratch‬تشبه المسرح من حيث الحدود‪ ،‬وال�أبعاد‪،‬‬ ‫تعلمت سابقاً اأ ّن ّ‬
‫بناء على رغبة‬
‫ويمكن تغيير المشهد بتغيير صورة الخلفية لهذه المنصة‪ ،‬والتّنقل بين المنصات المختلفة‪ً ،‬‬
‫المستخدم‪ ،‬واإضافة الشخص ّيات (الكائنات)‪ ،‬والتحكّم بمواقعها‪ ،‬وحركتها‪ ،‬وسرعتها‪ ،‬واألوانها‪ ،‬ومظاهرها‪.‬‬

‫أاتذكّر‪:‬‬
‫‪ .1‬اإحداثيات المنصة‪.‬‬
‫المنصة‬
‫ّ‬ ‫‪ .2‬يتقاطع المحوران في منتصف‬
‫(نقطة ال�أصل)‪ ،‬و ُيع َّبر عنها بال�إ حداثيات‬
‫(‪.)y=0، x=0‬‬
‫‪ .3‬باستخدام لَ ِب َنة ال�أمر‪ :‬اذهب اإلى الموضع‪،‬‬
‫اأجعل الكائن ينتقل بين النّقاط ال�آتية‪:‬‬
‫(‪.)0،0( ،)120- ،60-( ،)87- ،50( ،)120،110-( ،)90،80-‬‬
‫ ينقل ال�أمر" انزلق" اأيضاً الكائن من مكان ل�آخر‪ ،‬وبفترة زمنية محددة‪ ،‬قد تطول‪،‬‬
‫وقد تقصر َوفق القيم المدخلة في اللَّ ِب َنة‪ ،‬وكلّما كان زمن ال�نزل�ق اأطول كانت‬
‫سرعة ال�نتقال اأق ّل‪.‬‬
‫‪ .4‬التحكم بالقلم‪ -‬حجمه‪ ،‬ولونه‪:‬‬
‫ ما الفرق بين اجعل لون القلم مساوياً ‪ ،20‬وغ ّير‬
‫حجم القلم بمقدار ‪20‬؟ وما وظيفة الَّ ِلبنات في‬
‫الشكل المجاور؟‬

‫‪7‬‬
‫ في البرنامج ال�آتي‪ ،‬اأ ّي ال�أشكال ال�أربعة هو ناتج تنفيذ البرنامج؟‬

‫سؤال‪:‬‬
‫� اأركّب لَ ِبنات برمجية مناسبة؛ لرسم اأشكال هندسية بسيطة‪:‬‬
‫مربع‪ ،‬ومستطيل‪ ،‬ومتوازي اأضلاع‪ ،‬ومثلث متساوي ال�أضلاع‪.‬‬

‫‪ -‬اأرسم ال�أشكال ال�آتية‪:‬‬

‫‪8‬‬
‫‪ -‬لرسم الشكل ال�آتي‪ ،‬ت ّم استخدام ‪ 6‬سداسيات‪ ،‬مع دورة بين ك ّل سداسي والذي يليه‪ ،‬قيمتها ‪60‬‬
‫درجة (‪ ،)360/6‬لماذا؟‬

‫؟‬ ‫‪ -‬لتصبح عملية الرسم بطيئة‪ ،‬اأين اأضيف لَ ِب َنة انتظار‬

‫‪ -‬ما ال َّتكرارات المتداخلة في البرنامج؟ وما ال َّتكرار الذي يرسم شكلا ً سداسياً واحداً؟ وما ال َّتكرار الذي‬
‫يرسم ستّة اأشكال سداسية؟‬

‫‪ -‬تتك ّون خوارزمية رسم الشكل السداسي من َتكرار خطوتين‪ :‬الحركة مسافة ‪ 50‬خطوة‪ ،‬والدوران‬
‫بزاوية مقدارها ‪ 60‬درجة‪ .‬لماذا قياس زاوية الدوران ل� يساوي ‪ 120‬درجة؟‬

‫‪ -‬اأكتب خوارزمية (خطوات) سير البرنامج‪.‬‬


‫‪....................................................................‬‬
‫‪....................................................................‬‬

‫‪9‬‬
‫‪ -‬اأرسم ال�أشكال ال�آتية باستخدام البرنامج السابق‪ ،‬مع تغيير العدد ‪ 6‬بعدد اآخر‪ ،‬واأجد العدد المستخدم‬
‫لرسم ك ّل شكل‪.‬‬

‫أاتعلّم‪:‬‬
‫حين اأرسم زخرفاً يتكون من عدّة اأشكال منتظمة‪ ،‬فبدل� ً من‬
‫كتابة برنامج لك ّل منها‪ ،‬ف إان ّني اأكتب برنامجاً واحداً‪ ،‬واأدخل‬
‫المتغيرات المطلوبة (عدد ال�أضلاع مثلاً)‪ ،‬باستخدام لَ ِب َنة‬
‫تحسس‪.‬‬ ‫"اساأل" من قائمة المقاطع البرمجية‪ّ :‬‬
‫ لرسم ال�أشكال السابقة‪ ،‬اأدخ ُل البرنامج ال�آتي‪ ،‬و(اأتاأكّد من‬
‫اإجابتي‪ ،‬واأرسم اأشكال� ً اأخرى)‪.‬‬
‫ اأعطي البرنامج اسماً‪ ،‬مثل رسم اأشكال منتظمة‪ ،‬واأحفظه‬
‫في مكان مناسب على الحاسوب‪.‬‬

‫‪10‬‬
‫أاتعلّم‪:‬‬
‫اأ ُ‬
‫حفظ برامج سكراتش في ملفات على الحاسوب‪ ،‬واأعي ُد فتحها عند العودة اإليها من جديد‪.‬‬

‫‪ -‬اأص ّمم اأشكال� ً زخرفية من اختياري‪ ،‬واأل ّونها‪.‬‬


‫‪A, F, K, A, L,‬‬ ‫‪ -‬اأص ّمم رس َم الحروف ال�آتية على المنصة‪Y :‬‬

‫‪11‬‬
‫الدرس الث�ني‬
‫أاس�سي�ت التحكم ب�لك�ئن‬

‫ التحكم من المنصة‪ ،‬وتشمل‪ :‬تصغير‪ ،‬اأو تكبير‪ ،‬اأو حذف اأو مضاعفة‪.‬‬
‫ اأج ّرب ال�أيقونات الظاهرة اأعلاه؛ للتحكم بالكائن‪ ،‬واأكتب ما ينتج عند تنفيذها‪.‬‬

‫‪12‬‬
‫الدرس الث�لث‬
‫بث الرس�ئل واستقب�له�‬

‫بث الرسائل واستقبالِها‪ ،‬ولَ ِب َنة ّ‬


‫"بث رسالة " هي اإحدى لَ ِبنات قائمة‬ ‫تتواصل الكائنات فيما بينها عن طريق ِّ‬
‫ال�أحداث ترسل الرسائل للكائنات ال�أخرى‪ ،‬ولَ ِب َنة‪ :‬عندما تستقبل تن ّبه الكائن حين تصله رسالة ما‪.‬‬

‫لمعرفة الك�ئن الذي ّ‬


‫بث الرس�لة‪:‬‬
‫عند الضغط بزر الفاأرة ال�أيمن على لَ ِب َنة ّ‬
‫"بث رسالة "‪ ،‬تظهر عدّة‬
‫خيارات‪ ،‬منها اأختار‪ :‬اأظهر المرسلات‪ ،‬كما في ّ‬
‫الصورة المجاورة‪.‬‬
‫وعند اختيار اأظهر المرسلات‪ ،‬يظهر مربع اأصفر‬
‫بث الرسالة‪.‬‬
‫حول الكائن الذي ّ‬

‫لمعرفة الك�ئن أاو الك�ئن�ت التى استقبلت الرس�لة‪:‬‬


‫عند الضغط بزر الفاأرة ال�أيمن على َل ِب َنة ّ‬
‫"بث رسالة "‪ ،‬تظهر عدّة‬
‫خيارات‪ ،‬منها اأختار‪ :‬اأظهر المستقبلات‪ ،‬كما في ّ‬
‫الصورة المجاورة‪.‬‬
‫وعند اختيار‪ :‬اأظهر المستقبلات‪ ،‬تظهر‬
‫مربعات لونها اأصفر حول الكائنات‬
‫التي استقبلت الرسالة‪.‬‬

‫‪13‬‬
‫الدرس الرابع‬
‫تسجيل ال�أصوات و إادخ�له� في برامج سكراتش‬

‫أاهداف الدرس‪ :‬اأن يتع ّرف الطالب اإلى طرق تسجيل ال�أصوات من الميكروفون‪،‬‬
‫اأو من ال�إ نترنت‪.‬‬

‫أاول�ً تسجيل صوت ب�لميكروفون‪:‬‬


‫اأفتح صوت هذا الكائن (‪.)1‬‬ ‫‪.1‬‬
‫اأضغط على اأيقونة ميكروفون؛ لتظهر‬ ‫‪.2‬‬
‫خيارات التسجيل (‪.)2‬‬
‫اأضغط على الدائرة‪ ،‬وعندما تصبح حمراء‪،‬‬ ‫‪.3‬‬
‫فذلك يعني اأ ّن البرنامج بداأ بتسجيل‬
‫الصوت (‪.)3‬‬
‫اأبداأ التسجيل بصوت شخص بالميكروفون‪،‬‬ ‫‪.4‬‬
‫اأو من صوت موجود على ّ‬
‫مسجل‪.‬‬

‫‪ .5‬اإذا اأردت التعديل على الصوت‪ ،‬اأو حذف‬


‫جزء منه‪ ،‬اأختار تحرير كما في ّ‬
‫الصورة‬
‫المجاورة‪ ،‬ث ّم اأحدّد الجزء الذي اأريد‬
‫حذفه مثلاً‪ ،‬ث ّم اأضغط على تحرير‪ ،‬واأختار‬
‫قص‪ ،‬اأو حذف‪.‬‬ ‫ّ‬

‫‪14‬‬
‫نص‪ ،‬أاو نشرة أاخب�ر‪ ...‬من إ‬
‫ال�نترنت‪:‬‬ ‫ث�ني ً� تحميل صوت نشيد‪ ،‬أاو قراءة ّ‬
‫أابحث في محرك بحث مناسب‪،‬‬ ‫ ‬
‫مثل جوجل (‪ )Google‬عن اأغنية‪ ،‬اأو‬
‫نشيد‪ ،‬اأو اأ ّي مادة مسجلة بالصوت‪،‬‬
‫من نوع ‪mp3‬؛ ل�إ ضافتها اإلى برنامج في‬
‫سكراتش‪.‬‬
‫مثلاً‪ ،‬اأبحث عن «تحميل نشيد موطني‪.‬‬ ‫ ‬
‫‪.»mp3‬‬
‫يظهر النشيد‪ ،‬ومعه امتداد ‪.mp3‬‬ ‫ ‬
‫اأحفظه في ملف مناسب من نوع ‪.mp3‬‬ ‫ ‬
‫بعد حفظه‪ ،‬يمكن تغيير اسم الملف اإلى اسم مناسب لتذكّره‪ ،‬مثلاً‪.mp3( :‬نشيد موطني)‪.‬‬ ‫ ‬
‫بعد حفظه‪ ،‬يمكن رفعه كصوت ل� أ ّي كائن في اأ ّي برنامج في سكراتش‪ ،‬ث ّم تشغيله بوساطة اأمر‪:‬‬ ‫ ‬
‫شغل الصوت‪.‬‬

‫مشروع‪ :‬اأح ّمل نشيد موطني‪ ،‬واأدرجه كصوت لكائن (مثلا ً صورة طالب يبدو اأنه ينشد) في‬
‫برنامج سكراتش‪.‬‬

‫‪15‬‬
‫الدرس الخ�مس‬
‫ال ّر ّس�م في سكراتش‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬رسم كائن جديد واستخدامه في البرمجة‬

‫رسم ك�ئن جديد‪:‬‬

‫رسام‬
‫‪ .1‬لرسم كائن جديد في ّ‬
‫سكراتش‪ ،‬اأنقر على اأيقونة‪ :‬رسم كائن جديد‪.‬‬
‫‪ .2‬عند البدء بالرسم‪ ،‬اأرسم في منتصف ال ّر ّسام؛ (حفاظاً على اإحداثيات الكائن على المنصة)‪.‬‬
‫‪ .3‬ستظهر لي شاشة‪ ،‬تم ّكنني من الرسم بداخلها ما اأشاء‪ ،‬كما في ّ‬
‫الصورة ال�آتية‪:‬‬

‫حيث‪:‬‬
‫‪ :‬لتغيير مركز الكائن‪.‬‬ ‫ ‬
‫‪ :‬قلب الكائن من اأعلى ل�أسفل‪ ،‬وبالعكس‪.‬‬ ‫ ‬
‫‪ :‬قلب الكائن يميناً‪ ،‬ويساراً‪.‬‬ ‫ ‬
‫‪16‬‬
‫قص جزء من الكائن‪.‬‬
‫‪ّ :‬‬ ‫ ‬
‫‪ :‬التراجع عن خطوات رسم الكائن‪.‬‬ ‫ ‬
‫‪ :‬اإعادة خطوات رسم الكائن‪.‬‬ ‫ ‬
‫‪ :‬اإضافة صورة من جهازي؛ للتعديل عليها‪.‬‬ ‫ ‬
‫‪ :‬اإضافة اأحد مظاهر الكائنات من مكتبة سكراتش‪.‬‬ ‫ ‬
‫مسح جميع الرسومات الموجودة على منصة الرسم‪.‬‬ ‫ ‬
‫‪ :‬يمكّنني من تغيير اسم المظهر‪.‬‬ ‫ ‬

‫إاض�فة مظهر جديد للك�ئن‪:‬‬


‫ بالنقر على أايقونة رسم مظهر جديد‪ ،‬يمكنني رسم‬
‫مظهر جديد للكائن باستخدام ر ّسام سكراتش‪ ،‬يضاف‬
‫اإلى المظاهر الموجودة‪.‬‬

‫تعديل على مظهر أاو مظ�هر ك�ئن من المكتبة‪ ،‬ب�ستخدام ّ‬


‫رس�م سكراتش‪:‬‬
‫‪ .1‬بالنقر على مظهر الكائن‪:‬‬

‫‪17‬‬
‫‪ .2‬ب إامكاني استخدام ال�أدوات؛ لتعديل شكل الكائن‪ ،‬اأو مظهره‪ ،‬مثل اإضافة األوان للشكل الحالي‪ ،‬كما‬
‫الصورة ال�آتية‪:‬‬
‫في ّ‬

‫‪18‬‬
‫الدرس الس�دس‬
‫تغيير اسم ك�ئن‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬معرفة طريقة تغيير اسم الكائن‪.‬‬

‫ ل�أختار اسم جديد للكائن يناسب موضوع البرنامج‪ ،‬اأضغط على علامة‬
‫التعجب الزرقاء بجانب الكائن‪ ،‬اأو على زر الفاأرة ال�أيمن‪ ،‬واأختار كلمة‬
‫‪.info‬‬

‫ اأكتب ال�سم الذي اأريده في المكان المخصص‪ ،‬واأضغط على السهم؛ للعودة اإلى الكائن‪.‬‬

‫ األ�حظ اأ ّن اسم الكائن تغ ّير‪.‬‬

‫‪19‬‬
‫الدرس الس�بع‬
‫الكت�بة ب�للغة العربية على ال ّر ّس�م‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬الكتابة باللغة العربية في سكراتش‪.‬‬
‫‪ -‬نقل برنامج من ال ّر ّسام في ميكروسوفت اإلى سكراتش‪.‬‬
‫الصور اإلى برامج سكراتش‪.‬‬ ‫‪ -‬رفع ّ‬

‫ل� توفر النسخة ‪ Scratch 2‬اإمكانية الكتابة باللغة العربية‬


‫على ال ّر ّسام في سكراتش عند اإنشاء الكائنات‪ ،‬وحتّى اأستطيع‬
‫الكتابة‪ ،‬يجب ال�ستعانة بطرق وبرامج خارجية اأسهلها واأكثرها‬
‫انتشاراً ما ياأتي‪:‬‬
‫‪ .1‬أاستخدم برنامج ال ّر ّسام للكتابة‪ ،‬ث ّم ال�حتفاظ بالكتابة‬
‫كصورة‪ ،‬واأضيفها على برنامج سكراتش‪ ،‬من خلال‬
‫الخطوات ال�آتية‪:‬‬
‫ اأفتح برنامج ال ّر ّسام (‪.)Paint‬‬
‫ اأكتب الجملة التي اأريد‪.‬‬
‫ اأختارها‪ ،‬واأحفظها في ملف‪.‬‬
‫‪ .1‬ال�حتفاظ بالكتابة كصورة‪ :‬عند التخزين‪ ،‬يمكن تخزين‬
‫الصورة من نوع ‪ ، PNG‬اأو‪ ، GIF‬اأو ‪.JPEG‬‬ ‫ّ‬
‫الصورة اإلى سكراتش من خلال ال�أيقونة‪ :‬رفع كائن من ملف‪ ،‬واأحياناً تق ّل جودة ّ‬
‫الصورة‬ ‫‪ .2‬يت ّم استدعاء ّ‬
‫عند رفعها اإلى سكراتش‪.‬‬

‫مشروع‪ :‬اأكتب اسمي الرباعي في ال ّر ّسام‪ ،‬واأحفظه‪ ،‬ث ّم اأنقله اإلى سكراتش‪ ،‬واأجعل ك ّل كلمة‬
‫تاأخذ لوناً مختلفاً عن الكلمتين المجاورتين لها‪.‬‬
‫‪20‬‬
‫الدرس الث�من‬
‫المتغيرات‬

‫في البرمجة‪ُ ،‬يعطى المتغير قيمة محددة يمكن اأن تكون نصية اأو عددية ‪ ،‬ول� تتغ ّير تلك القيمة اإلّ� اإذا‬
‫اأجريت عليها عمليات تغيير‪ ،‬وهي تشبه المتغيرات في الرياضيات‪ .‬يحتفظ المتغير بقيمة واحدة في ا ٍآن‬
‫واحد‪ ،‬على خلاف ال ّلائحة التي يمكن اأن تحتفظ باأكثر من قيمة (قائمة من القيم)‪.‬‬
‫من قائمة البيانات‪.‬‬ ‫وفي اإطار عمل سكراتش‪ ،‬يمكن اإنشاء المتغ ّير بالنقر على زر‬

‫التع�مل مع المتغيرات‪:‬‬
‫يوجد خمس لَ ِبنات برمجية ذات علاقة بالمتغيرات‪ ،‬والتعامل معها‪ ،‬هي‪:‬‬

‫ال�ستخدام‬ ‫ال ِّل ِبنَة‬


‫ال�إ علام بقيمة المتغير‪.‬‬

‫اإسناد قيمة معينة (‪ )0‬للمتغير (س)‪.‬‬

‫تغيير قيمة المتغير (س) بمقدار معين (‪.)1‬‬

‫اإظهار المتغير (س) على منصة العرض‪.‬‬

‫اإخفاء المتغير (س) من منصة العرض‪.‬‬

‫حذف المتغير و إاع�دة تسميته‪:‬‬


‫في بعض ال�أحيان‪ ،‬قد يحتاج المبرمج اإلى اإجراء تعديلات على المتغيرات التي‬
‫اأنشاأها‪ ،‬مثل‪ :‬اإعادة تسمية المتغير اأو حذفه‪ ،‬ويتم ذلك عن طريق النقر بزر الفاأرة‬
‫ال�أيمن على المتغير المراد اإجراء التعديل عليه من قائمة البيانات‪ ،‬حيث تظهر قائمة‬
‫يمكن من خلالها اختيار ال�إ جراء المناسب (اإعادة تسمية المتغير اأو حذفه)‪.‬‬
‫‪21‬‬
‫وعند اختيار تعديل اسم المتغير‪ ،‬تظهر شاشة جديدة ل�إ دخال ال�سم‬
‫الجديد للمتغير‪ ،‬وبالضغط على زر موافق‪ ،‬يتم التعديل على ال�سم‪.‬‬

‫إاسن�د قيمة للمتغير‪:‬‬


‫تتعدد اأنواع القيم التي يمكن اإسنادها للمتغير‪ ،‬واأشكالها‪ ،‬حيث‬
‫يمكن للقيمة المسندة للمتغ ّير اأن تكون‪:‬‬
‫ قيمة ثابتة‪ ،‬مثل (‪.)0‬‬
‫ قيمة تمثّل حاصل عملية حسابية‪ ،‬مثل‪:‬‬
‫ قيمة متغير اآخر‪ ،‬مثل‪:‬‬

‫ قيمة جديدة للمتغير (س) باستخدام قيمته السابقة ضمن‬


‫عملية اأو عمليات حسابية‪ ،‬حيث تصبح القيمة المسندة‬
‫الجديدة للمتغ ّير تساوي ناتج اإجراء العملية اأو العمليات‬
‫المطلوبة عليه‪.‬‬
‫سؤال‪:‬‬

‫اإذا كانت قيمة (س) الحالية ‪ ،7‬ف إا ّن‬


‫القيمة المسندة لـ (س) بعد اإجراء العمليات عليها‬
‫تصبح ناتج اإجراء العمليات المبينة‪ ،‬اأج ُد قيمة (س)‬
‫الجديدة‪.‬‬

‫‪22‬‬
‫الدرس الت�سع‬
‫مح ّرر الصّ ور‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬اإضافة التاأثيرات الرسومية للكائنات‪.‬‬
‫‪ -‬تغيير حجم الكائن برمجياً‪.‬‬
‫‪ -‬تغيير اتجاه الكائن برمجياً‪.‬‬

‫الصور‪.‬‬
‫كثير من الناس يستهويهم توثيق اللحظات المه ّمة والسعيدة في حياتهم اليومية عن طريق التقاط ّ‬
‫وفي كثير من ال�أحيان‪ ،‬قد تبدو ذات جودة سيئة؛ بسبب العوامل الخارجية‪ ،‬مثل ال�إ ضاءة السيئة‪ ،‬واأشعة‬
‫الصور‪ ،‬وتحسين جودتها‪.‬‬ ‫الشمس‪ ،‬وغيرها من المؤثرات‪ .‬وفي برنامج سكراتش‪ ،‬يمكن تحرير ّ‬

‫التحضير لتصميم البرن�مج‪:‬‬


‫اأول�ً‪ -‬اإضافة كائن التدوير «‪»Rotate‬؛ من اأجل تدوير ّ‬
‫الصورة‪.‬‬ ‫ ‬
‫ثانياً‪ -‬اإضافة كائن التكبير «‪»Zoom In‬؛ من اأجل تكبير ّ‬
‫الصورة‪.‬‬ ‫ ‬
‫ثالثاً‪ -‬اإضافة كائن التصغير «‪»Zoom Out‬؛ من اأجل تصغير ّ‬
‫الصورة‪.‬‬ ‫ ‬
‫الصورة اإلى وضعها ال�أصلي‪.‬‬
‫رابعاً‪ -‬اإضافة كائن استعادة للوضع ال�أصلي «‪»Reset‬؛ من اأجل اإعادة ّ‬ ‫ ‬
‫خامساً‪ -‬اإضافة كائن ّ‬
‫الصورة المراد التحسين عليها‪.‬‬ ‫ ‬
‫سادساً‪ -‬اإنشاء المتغيرات ال ّلازمة لحفظ قيم التاأثيرات الرسومية‪ ،‬مثل‪ :‬اللّون‪ ،‬والسطوع‪ ،‬والبكسلة‪،‬‬ ‫ ‬
‫والتلاشي‪ ،‬والفسيفساء‪.‬‬

‫خطوات سير البرن�مج‪:‬‬


‫ اأول�ً‪ -‬عند النقر على كائن التدوير «‪ ،»Rotate‬يتغ ّير اتجاه الكائن ّ‬
‫(الصورة) بمقدار ‪ 90‬درجة‪.‬‬
‫ ثانياً‪ -‬عند النقر على كائن التكبير «‪ ،»Zoom In‬يكبر حجم الكائن ّ‬
‫(الصورة) بمقدار مع ّين‪.‬‬

‫‪23‬‬
‫ ثالثاً‪ -‬عند النقر على كائن التصغير «‪ ،»Zoom Out‬يصغر حجم الكائن ّ‬
‫(الصورة) بمقدار مع ّين‪.‬‬
‫ رابعاً‪ -‬عند النقر على كائن استعادة الوضع السابق «‪ ،»Reset‬يزول تاأثير التاأثيرات الرسومية على ّ‬
‫الصورة‪،‬‬
‫للصورة‪ ،‬واستعادة ال�تجاه ال�أصلي لها‪.‬‬
‫واستعادة الحجم ال�أصلي ّ‬
‫ خامساً‪ -‬عند تغ ّير قيمة متغ ّير السطوع‪ ،‬واللّون‪ ،‬والتلاشي‪ ،‬والبكسلة‪ ،‬والفسيفساء باستخدام المنزلقة‬
‫(الصورة) مساوياً للقيمة التي ت ّم‬
‫لك ّل من المتغيرات المذكورة‪ ،‬سيصبح تاأثير قيمة ك ّل متغير على الكائن ّ‬
‫اختيارها بوساطة المنزلقة‪.‬‬

‫أاول�ً إاض�فة الك�ئن�ت‪:‬‬


‫ من منطقة الكائنات‪ ،‬اأختار الكائن ّ‬
‫(الصورة المراد اإجراء التحسين عليها) من الحاسب‬
‫ال�آلي‪.‬‬
‫ من مكتبة الكائنات‪ ،‬اأضيف الكائن (‪)Button3‬؛ ل�ستخدامه كز ّر لتدوير ّ‬
‫الصورة‪.‬‬
‫نصاً يد ّل على وظيفة ال ّز ّر‪ ،‬مثل‪.)Rotate( :‬‬
‫ باستخدام ر ّسام سكراتش‪ ،‬اأضيف ّ‬

‫ث�ني ً� ث�ني ً�� إانش�ء المتغيرات‪:‬‬


‫ أانشئ متغيراً؛ لحفظ قيمة ك ّل من‪ :‬السطوع‪ ،‬واللون‪ ،‬والتلاشي‪،‬‬
‫والبكسلة‪ ،‬والفسيفساء‪.‬‬
‫‪،‬‬ ‫اإلى منزلقة‬ ‫ اأغ ّير نوع العرض للمتغير من عادي‬
‫عن طريق الضغط بز ّر الفاأرة ال�أيمن على المتغير الظاهر على المنصة‪ ،‬فتظهر‬
‫الصورة‪.‬‬
‫موضح في ّ‬‫قائمة باأنواع العرض‪ ،‬كما هو ّ‬

‫ملاحظة‪ :‬لتغيير قيمة المتغير‪ ،‬اأسحب ز ّر المنزلقة يميناً ويساراً باستخدام مؤشر الفاأرة‪.‬‬

‫‪24‬‬
‫ اأتحكّم بتاأثير التاأثيرات الرسومية‪ :‬السطوع‪ ،‬واللّون‪،‬‬
‫والتلاشي‪ ،‬والبكسلة‪ ،‬والفسيفساء‪ ،‬باستخدام المنزلقة‪.‬‬
‫ اأحرص على اأ ّن القيمة المختارة للمتغيرات يظهر اأثرها‬
‫دائماً على الكائن ّ‬
‫(الصورة)‪.‬‬

‫ث�لث ً� ث�لث ً�� تدوير الصّ ورة‪:‬‬


‫رسام سكراتش‪ ،‬اأو من الحاسوب‪ ،‬ف إا ّن اتجاه‬ ‫عند اختيار الكائن من المكتبة‪ ،‬اأو اإضافة كائن‪ ،‬سواء من ّ‬
‫الصورة التي ال ُت ِقطت في اتجاه غير مريح‪ ،‬وغير‬
‫الكائن ال�أصلي يكون باتجاه اليمين (‪ )90‬درجة‪ .‬وقد تكون ّ‬
‫الصورة اأدناه‪.‬‬
‫موضح في ّ‬
‫الصورة‪ ،‬كما هو ّ‬ ‫مناسب للعين‪ ،‬لذلك يحتاج المستخدم اإلى تدوير ّ‬

‫‪25‬‬
‫ اأستخدم اللَّ ِب َنة البرمجية‪« :‬استدر»؛ لتدوير ّ‬
‫الصورة في ك ّل مرة‬
‫يت ّم فيها النقر على ز ّر تدوير‪.‬‬

‫الصورة في اأربعة اتجاهات فقط‪ ،‬هي‪ :‬اليمين (‪،)90‬‬ ‫ملاحظة‪ - :‬يحتاج المستخدم اإلى تدوير ّ‬
‫واليسار (‪ ،)90-‬وال�أعلى (‪ ،)0‬وال�أسفل (‪.)180‬‬
‫‪ -‬في ك ّل مرة يت ّم فيها النقر على ز ّر التدوير‪،‬‬
‫ف إان ّني اأضيف ‪ 90‬درجة على ال�تجاه‬
‫السابق للكائن‪.‬‬
‫(الصورة)؛ حتّى يغ ّير اتجاهه‪.‬‬
‫بث رسالة اإلى الكائن ّ‬ ‫‪ -‬عند النقر على ز ّر تدوير‪ ،‬اأ ّ‬

‫رابع ً� تغيير حجم الصّ ورة‪:‬‬


‫الصورة‪ ،‬اأغ ّير حجم الكائن ّ‬
‫(الصورة) بمقدار‬ ‫ لتكبير حجم ّ‬
‫موجب‪.‬‬
‫الصورة‪ ،‬اأغ ّير حجم الكائن ّ‬
‫(الصورة) بمقدار سالب‪.‬‬ ‫ لتصغير حجم ّ‬

‫‪26‬‬
‫خ�مس ً� استع�دة الوضع ال�أصلي للصورة‪:‬‬

‫ في الوضع ال�أصلي للصورة‪ ،‬تكون القيمة ال�أصلية لمتغير السطوع‪،‬‬


‫ومتغير اللّون‪ ،‬ومتغير التلاشي‪ ،‬ومتغير البكسلة‪ ،‬ومتغير الفسيفساء‬
‫مساوي ًة لصفر (‪.)0‬‬
‫ ويكون الحجم مساوياً لمقدار معين يحدّده المستخدم‪ ،‬مثلاً‪:‬‬
‫(‪.)65%‬‬
‫ ويكون ال�تجاه اإلى اليمين (‪)90‬‬
‫درجة‪.‬‬

‫المشروع‪:‬‬
‫الصورة التي ُيرغب بتحريرها‪ ،‬بوساطة‬
‫الصور ككائنات؛ للتحسين عليها‪ ،‬واختيار ّ‬ ‫ أاضيف مزيد ًا من ّ‬
‫ال ّز ّر ْين‪« :‬التالي»‪ ،‬و«السابق»‪.‬‬
‫ اأضيف تاأثيرات جديدة من قائمة المظاهر‪« :‬اجعل تاأثير (‪ )--‬مساوياً (‪.») --‬‬
‫ اأضيف اإطاراً للصورة‪.‬‬
‫ اأغ ّير الخلفية اإلى خلفية مناسبة‪.‬‬

‫‪27‬‬
‫الدرس الع�شر‬
‫متغيرات ولبن�ت تظهر على المنصة‬

‫لبنات ُت ْع ِلم عن قيمتها الحال ّية عند التاأشير عليها وتختفي من المنصة عند الغاء التاأشير‬
‫كيف تظهر على المنصة؟‬ ‫ال َّل ِب َنة‬

‫المتغيرات‪:‬‬

‫‪28‬‬
‫الوحدة الث�نية‬
‫تطبيق�ت برمجية‬

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

‫‪29‬‬
‫أاهداف الوحدة‬

‫ُيتَوقَّع من الطلبة بعد دراسة هذه ال َوحدة‪ ،‬والتف�عل مع أانشطته�‪ ،‬أان يكونوا ق�درين على‪:‬‬
‫‪ -1‬تحميل الصور والفيديو من ال�نترنت وتضمينها في برامج سكراتش‪.‬‬
‫‪ -2‬برمجة ظهور الكائن في مواقع متتالية‪.‬‬
‫‪ -3‬برمجة معادل�ت رياضية‪.‬‬
‫‪ -4‬استخدام الجمل الشرطية في عمليات المقارنة‪.‬‬
‫‪ -٥‬توظيف البرمجة في محاكاة تطبيقات الهواتف المحمولة‪.‬‬

‫‪30‬‬
‫الدرس الح�دي‬
‫عشر‬
‫ال�نترنت إالى برن�مج سكراتش‬
‫تحميل الصّ ور من إ‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫الصور بنوعيها‪ :‬المتحرك‪ ،‬والثابت من ال�إ نترنت‪.‬‬
‫‪ -‬اإحضار ّ‬
‫الصور في ملفات‪.‬‬ ‫حفظ ّ‬
‫الصور‪ ،‬واستحداث كائنات جديدة منها‪.‬‬ ‫‪ -‬التعديل على ّ‬
‫‪ -‬عند تحديد النوع‪ ،‬اأو اختياره‪ ،‬أاختار‪:‬‬
‫‪ .1‬صورة؛ للصورة الثابتة‪ .2 .‬متحركة؛ للصور المتحركة‪.‬‬
‫‪ -‬اأنقر على ز ّر الفاأرة ال�أيمن‪ ،‬واأختار ‪ ،save image as‬واأحفظها بال�سم والمكان المناسبين‪.‬‬
‫‪ -‬اأذهب اإلى المظاهر‪ ،‬واأعمل مضاعفة اأشكال جديدة‪ ،‬ث ّم تشكيلها‪ ،‬منها (اأذهب اإلى درس‪ :‬كيف‬
‫رسام سكراتش؟)‪.‬‬ ‫اأستخدم ّ‬

‫المشروع‪ :‬من ال�إ نترنت‪ ،‬اأبحث عن صورة طائرة وهي تهبط على مدرج المطار‪ ،‬واأب ّين كيف‬
‫تقوم الطائرة ب إانزال عجلاتها قبل الهبوط‪.‬‬

‫‪31‬‬
‫الدرس الث�ني‬
‫عشر‬
‫تحميل الفيديو في سكراتش‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫ لتّع ّرف اإلى طرق استخدام الفيديو في برنامج سكراتش‪.‬‬
‫ تسجيل الصوت المرافق لبرامج الفيديو‪.‬‬

‫يقبل برنامج سكراتش اإضافة فيديو‪ ،‬بعد تحويل الفيديو اإلى صورة ‪ ،GIF‬وبعد تحميل الفيديو في‬
‫سكراتش‪ ،‬وبرمجته‪ ،‬يمكن التحكم بعدد من الخصائص فيه‪ ،‬مثل‪ :‬زيادة سرعة شريط الفيديو‪ ،‬اأو جعله‬
‫فضل األّ� تزيد مدّة الفيديو الذي‬
‫يتحرك بصورة بطيئة‪ .‬ول� أ ّن اأفلام الفيديو عادة ما تكون كبيرة الحجم‪ُ ،‬ي َّ‬
‫اأح ّمله في برنامج سكراتش عن ‪ 30‬ثانية‪ .‬وتت ّم عملية اإضافة الفيديو لبرامج سكراتش بالخطوات ال�آتية‪:‬‬
‫‪ .1‬تحميل الفيديو‪ :‬أابحث عن الفيديو المراد‬
‫استخدامه عن طريق ال�إ نترنت‪ ،‬فلو اأردت‬
‫تحميل فيديو عن الطبيعة‪ ،‬اأبحث في محرك‬
‫البحث عن كلمات لها علاقة بالطبيعة‪ ،‬فمثلا ً‬
‫فيديو طبيعة‪ ،‬من البرامج التي يت ّم عرضها‪،‬‬
‫اأختار فيديو قصير مدته ‪ 30-20‬ثانية‪ ،‬واأحرص‬
‫على اختيار اأشرطة الفيديو التي بها سماح‬
‫للاستخدام؛ ل�أغراض تعليمية‪.‬‬
‫‪ .2‬من خلال رابط هذا الفيديو‪ ،‬اأستطيع تنزيل‬
‫الفيديو الذي ل� يتعارض مع حقوق الطبع‬
‫والملكية بعدّة طرق‪ ،‬فبعضها يسمح ب إاضافة حرف ‪ S‬مك ّرر مرتين ‪ SS‬قبل كلمة ‪ ،youtube‬كما في‬
‫الصورة المجاورة‪.‬‬
‫ّ‬

‫‪32‬‬
‫‪ .3‬يظهر خيار تحميل الفيديو؛ ليتم تحميله‪ ،‬وتخزينه‬
‫على الجهاز‪.‬‬
‫‪ .4‬يستخدم برنامج سكراتش المتوفر حالياً صوراً من‬
‫نوع ‪GIF‬؛ لذلك اأقوم بتحويل الفيديو اإلى صورة من‬
‫نوع ‪ ،GIF‬وهي عملية بسيطة يمكن عملها مباشرة‬
‫(‪ ،)ONLINE‬وذلك باتّباع الخطوات ال�آتية‪:‬‬
‫ اأكتب على محرك البحث ‪.Convert Video to GIF‬‬

‫ اأختار الموقع ال�آتي‪:‬‬

‫ أاضيف الفيديو (صور ‪ )GIF‬ككائن من الملف الذي ت ّم حفظه فيه؛ ليظهر الفيديو على شكل‬
‫الصور‪ ،‬ث ّم األ�حظ اأ ّن الفيديو الذي مدّته ‪ 25‬ثانية تح ّول اإلى صورة ‪ GIF‬تتكون من‬‫مجموعة من ّ‬
‫‪ 375‬مظهراً‪ ،‬ول� أ ّن الفيديو تح ّول من نوع ل�آخر‪ ،‬ف إان ّه يفقد الصوت؛ لذلك يت ّم رفع صوت الفيديو‬
‫بخطوات اإضافية‪.‬‬

‫‪33‬‬
‫تسجيل صوت للفيديو‪:‬‬

‫‪ .1‬في برنامج سكراتش‪ ،‬اأفتح اأصوات هذا الكائن (والذي اأصبح مجموعة كبيرة من المظاهر) (‪.)1‬‬

‫‪ .2‬اأضغط على اأيقونة الميكروفون؛ لتظهر لد ّي خيارات التسجيل (‪.)2‬‬


‫‪ .3‬اأضغط على الدائرة في الشكل اأعلاه‪ ،‬وعندما تصبح حمراء‪ ،‬ف إا ّن ذلك يعني اأ ّن البرنامج قد بداأ بتسجيل‬
‫الصوت (‪.)3‬‬
‫‪ .4‬اأذهب اإلى الفيديو ال�أصلي في موقعه على ال�إ نترنت‪ ،‬اأو من الملف الذي ت ّم تخزينه قبل تحويله اإلى ‪GIF‬؛‬
‫ل� أ ّن تحويل الملف اإلى ‪ GIF‬يكون صوراً دون صوت‪.‬‬
‫الصورة‪ ،‬ث ّم اأحدّد الجزء‬
‫‪ .5‬اإذا اأردت التعديل على الصوت‪ ،‬اأو حذف جزء منه‪ ،‬اأختار (تحرير‪ ،)4‬كما في ّ‬
‫قص‪ ،‬اأو حذف‪.‬‬ ‫الذي اأريد حذفه‪ ،‬واأختار ّ‬
‫‪ .6‬برمجة صور (‪ :)GIF‬ث ّم اأكتب كود حركة الكائن‪ ،‬ول� أ ّن الفيديو اأصبح مجموعة متسلسلة من ّ‬
‫الصور‪،‬‬
‫ك ّل منها عبارة عن مظهر للكائن‪ ،‬فك ّل ما يلزم لبرمجته هو ال َّتكرار باستمرار؛ للانتقال من مظهر ل�آخر‪.‬‬

‫‪34‬‬
‫الدرس الث�لث‬
‫عشر‬
‫فيديو من الطبيعة‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬تطبيق مهارات اإضافة فيديو لبرامج سكراتش‪.‬‬
‫‪ -‬تصميم كائنات (اأو اأزرار)‪ ،‬واستخدامها؛ للتحكّم بتشغيل البرنامج‪،‬‬
‫اأو اإيقافه‪.‬‬
‫‪ -‬التحكّم بطرق عرض الفيديو‪ ،‬مثل السرعة‪ ،‬والصوت‪.‬‬

‫ اأتع ّرف اإلى كيفية اإضافة فيديو في برامج سكراتش ‪ ،‬وكيفية التحكم بطريقة ال�أداء‪.‬‬
‫ اأحضر شريط عن الطبيعة من اأحد المصادر ال�آتية‪:‬‬
‫ومسموح تحميلُه‪.‬‬
‫ٌ‬ ‫‪ -‬فيديو سابق متوفر على ال�إ نترنت‪،‬‬
‫‪ -‬رفع فيديو قمت بتصويره‪.‬‬

‫تحويل الفيديو إالى ‪ ،GIF‬ث ّم إادراجه كك�ئن‪:‬‬


‫اأبحث عن مقطع فيديو من مقاطع الطبيعة الجميلة من اأحد المواقع الموثوقة من اأ ّي مصدر من المصادر‬
‫الثلاثة السابقة‪.‬‬
‫ اأخ ّزن الفيديو على جهاز الحاسوب‪.‬‬
‫ اأح ّول الفيديو اإلى صورة ‪.GIF‬‬
‫ اأرفع صورة ‪GIF‬؛ لتصبح كائناً في البرنامج‪ ،‬واأل�حظ اأ ّن مظاهر الكائن هي مجموعة صور‪.‬‬
‫ اأح ّرر مظاهر الفيديو من حيث مضاعفة بعض المظاهر‪ ،‬اأو حذفها‪.‬‬
‫سجل الصوت الذي رافق الفيديو‪.‬‬ ‫ اأ ّ‬
‫ اأريد اأن تظهر المنصة بالشكل ال�آتي‪:‬‬
‫‪ -‬صورة من الطبيعة‪.‬‬ ‫‪ -‬كلمة الطبيعة‪.‬‬
‫‪ -‬متغير التحكم بشدّة الصوت‪.‬‬ ‫‪ -‬اإشارة توقيف الفيديو‪ ،‬اأو تشغيله‪.‬‬
‫‪35‬‬
‫الخلفية‪:‬‬
‫خلفية بيضاء‪( ،‬وبال�إ مكان تغييرها َوفق اختيار المبرمج)‪ ،‬وعليها كلمة داخل مستطيل مل ّون ‪،Nature‬‬ ‫ ‬
‫اأو اأ ّي نص اآخر‪،‬‬
‫ت ّم تصميمها باستخدام ال ّر ّسام‪ ،‬وداخله نص‪( ،‬وبال�إ مكان تغيير النص اإلى اللغة العربية‪ ،‬وتغيير الشكل‬ ‫ ‬
‫اإلى اآخر)‪.‬‬
‫اأرسم اإشارة التشغيل‪ ،‬واإشارة التوقّف‪.‬‬ ‫ ‬
‫اأ َع ّرف من قائمة البيانات متغ ّير شدّة الصوت‪ ،‬واأجعله‬ ‫ ‬
‫ظاهراً‪ ،‬واأختار وضعية المنزلقة‪.‬‬

‫برمجة الك�ئن�ت‪:‬‬
‫ حتّى يبد أا البرنامج بتشغيل الفيديو‪ ،‬يجب اأن يضغط المستخدم على كائن التشغيل؛ ل ُت ّ‬
‫بث رسالة‪:‬‬
‫اشتغل‪ ،‬ث ّم تختفي الرسالة‪.‬‬
‫ يلتقط الفيديو رسالة التشغيل‪ ،‬ويبداأ بالتشغيل‪.‬‬
‫ يلتقط كائن اإيقاف البرنامج رسالة‪ :‬اشتغل‪ ،‬ويظهر على المنصة مكان كائن التشغيل‪.‬‬
‫‪36‬‬
‫يبث رسالة‪ :‬توقّف‪ ،‬ث ّم تختفي‪ ،‬لتعود اإشارة‪:‬‬
‫ حين يضغط المستخدم على كائن اإيقاف التشغيل‪ ،‬ف إان ّه ّ‬
‫بدء التشغيل‪ ،‬بالظهور‪ ،‬ليتمكّن من التشغيل مرة اأخرى‪.‬‬
‫ التحكم في سرعة تنفيذ الفيديو‪ ،‬بوضع زمن انتظار بين ك ّل مظهر والذي يليه‪.‬‬

‫أاتعلّم‪:‬‬
‫في حالة التشغيل‪ ،‬يكون كائن اإيقاف البرنامج ظاهراً‪ ،‬وجاهزاً ل�ستقبال اأمر ال�إ يقاف‪ ،‬اأ ّما في حالة‬
‫التوقّف‪ ،‬فيكون كائن التشغيل ظاهراً‪ ،‬ومستعداً لتشغيل الفيديو‪.‬‬

‫سؤال‪:‬‬
‫ما عمل الَّ ِلبنات (ال�أوامر) ال�آتية في البرنامج‪:‬‬
‫بث‪ :‬توقّف‪.‬‬ ‫ ّ‬
‫بث‪ :‬اشتغل‪.‬‬ ‫ ّ‬
‫ عندما تستقبل توقّف ‪...‬‬
‫ ما عمل ال َّتكرار باستمرار في مقاطع برمجة الفيديو؟‬
‫ ما اللَّ ِب َنة التي تزيد سرعة الفيديو‪ ،‬اأو تقلل منها؟ ‪...‬‬

‫‪37‬‬
‫المشروع‪ :‬اأحاول اأن اأقوم بما اأستطيع م ّما ياأتي‪:‬‬

‫‪ .1‬تغيير الخلفية اإلى خلفية مناسبة اأختارها‪ ،‬اإ ّما من ال�إ نترنت‪ ،‬اأو صورة اأرسمها في ال ّر ّسام‪.‬‬
‫‪ .2‬تغيير الفيديو اإلى فيديو اخر من ال�إ نترنت‪ ،‬اأو مقاطع فيديو اأص ّورها اأنا وزملائي‪ ،‬نقوم بتصويرها‪ ،‬واأخ ّزنها‪.‬‬

‫‪38‬‬
‫الدرس الرابع‬
‫عشر‬
‫إاض�فة شريط أاخب�ر‬

‫خطوات عمل المشروع‪:‬‬

‫‪ .1‬اأكتب عبارة‪ :‬اأخبار التكنولوجيا باللغة العربية‬


‫ككائن‪ ،‬واأنقلها من ال ّر ّسام‪.‬‬
‫‪ .2‬عند بداية النشرة‪ ،‬تبداأ الكلمة بالظهور بحجم‬
‫يكبر رويداً رويداً‪.‬‬
‫‪ .3‬اأبرمج ظهور كلم َتي اأخبار التكنولوجيا‪ ،‬ث ّم طاولة‬
‫المذيع‪ ،‬من خلال رسم بسيط في ال ّر ّسام‪.‬‬
‫الصورة اأدناه‪ ،‬يمثّل‬ ‫نصاً‪ ،‬كما في ّ‬ ‫‪ .4‬اأضيف ّ‬
‫الخبر العاجل‪ ،‬واأحفظه ككائن‪ ،‬واأكتب لبناته‬
‫البرمجية‪.‬‬

‫المشروع‪:‬‬
‫‪ .1‬اأضيف كائن مذيع النشرة‪ ،‬واأمامه ما يشبه‬
‫الطاولة من مكتبة الكائنات‪.‬‬
‫‪ .2‬اأضيف صوتاً للمذيع بتسجيل عبر ميكروفون‬
‫بصوت الطالب‪.‬‬

‫‪39‬‬
‫الدرس الخ�مس‬
‫عشر‬
‫الوسط الحس�بي‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬تصميم برنامج لحساب الوسط الحسابي‪.‬‬
‫‪ -‬توظيف العمليات الحسابية‪.‬‬

‫تعلمت في الرياضيات اأ ّن الوسط الحسابي لمجموعة من القيم هو ناتج مجموع القيم‪ ،‬مقسوماً على‬
‫ُ‬
‫عددها‪.‬‬
‫الوسط الحسابي= مجموع القيم‪ ،‬مقسوماً على عددها‪ ،‬ويمكن بوساطة سكراتش برمجة مقاطع برمجية‬
‫بطرق عدّة لحساب الوسط الحسابي‪.‬‬

‫سؤال‪:‬‬
‫يوجد ثلاثة متغيرات في هذا البرنامج‪ ،‬اأحدها هو متغير المجموع‪ ،‬وظيفته‪ :‬جمع القيمة‬
‫الجديدة لمجموع القيم التي سبقته‪ .‬اأجد المتغيرات ال�أخرى‪:‬‬
‫ المتغير‪-------------- :‬‬
‫ وظيفته‪--------------- :‬‬
‫ المتغير‪-------------- :‬‬
‫ وظيفته‪--------------:‬‬

‫‪40‬‬
‫سؤال‪:‬‬
‫ما معنى اللَّ ِب َنة ال�آتية؟‬

‫أاتعلّم‪:‬‬
‫ يمكن تعريف متغير بدل�لة نفسه؛ كاأن نقول‪ :‬اإ ّن القيمة الجديدة لمتغير المجموع = القيم الحالية‬
‫للمتغير‪ ،‬مضافاً اإليها قيمة جديدة‪.‬‬
‫ حين اأقول‪ :‬اجعل س= س ‪1 +‬؛ هذا يعني اأن اأجعل القيمة الجديدة للمتغير س تساوي قيمته‬
‫الحالية‪ ،‬مضافاً اإليها ‪ ،1‬فلو كانت س= ‪ ،7‬ف إا ّن قيمتها الجديدة تصبح ‪ ،8‬اأو تعني‪ :‬زد واحداً‬
‫صحيحاً لقيمة المجموع الحالية‪.‬‬

‫سؤال‪:‬‬
‫اإذا كانت س= ‪ ،5‬فما قيمة س بعد تنفيذ اللَّ ِب َنة‪« :‬اجعل س = س ‪3 +‬؟ ‪...............‬‬

‫المشروع‪ :‬اأحاول تطوير البرنامج ب إادخال ك ّل ال�آتية‪ ،‬اأو بعضها‪:‬‬

‫‪ .1‬تعديل البرنامج‪ ،‬بحيث اإن ّه‪ ،‬ودونما تحديد عدد القيم‪ ،‬اأستم ّر في اإدخال القيم‪ ،‬وللتوقف‪ ،‬اأضغط على‬
‫كائن اآخر (يمكن تصميمه بال ّر ّسام‪ ،‬مثل (توقّف ‪ ،)STOP‬اأو استدعاء كائن من المكتبة)‪.‬‬
‫‪ .2‬اأضيف جملة تقول‪( :‬المعدل هو‪.)...... :‬‬

‫‪41‬‬
‫الدرس الس�دس‬
‫عشر‬
‫ال َّر ْقم ّ‬
‫الس ّر ّي لفتح اله�تف المحمول‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬مضاعفة الكائنات‪.‬‬
‫‪ -‬التطبيق على لَ ِب َنة الربط‪.‬‬
‫‪ -‬استخدام الجملة الشرطية (اإذا‪ ،‬واإلّ�)‪.‬‬

‫ليلى طالبة في الصف التاسع‪ ،‬تسعى دائماً لمحاولة فهم كيفية عمل‬
‫الس ّر ّي (�‪Pass‬‬ ‫ال�أجهزة من حولها‪ .‬تساءلت عن مبداأ عمل شاشة ال َّر ْقم ّ‬
‫‪ )word‬في الهواتف الذكية‪.‬‬
‫وفي هذا الدرس‪ ،‬ستقوم ليلى بتطبيق مبداأ عمل نظام شاشة اإدخال ال َّر ْقم‬
‫الس ّر ّي الخاصة بالهاتف الذكي‪ ،‬من خلال اإطار عمل ‪.Scratch‬‬ ‫ّ‬
‫اإ ّن الهواتف المحمولة الذكية من ال�أجهزة واسعة ال�ستخدام بين الناس‪.‬‬
‫الس ّريّة‪،‬‬‫ومن الجدير بالذكر اأ ّن معظم مستخدمي هذه الهواتف يميلون اإلى ّ‬
‫وال�أمان‪ ،‬والخصوص ّية؛ لذلك يت ّم استخدام ال َّر ْقم ال ّس ّر ّي (‪.)Password‬‬

‫وصف نش�ط ال َّر ْقم ّ‬


‫الس ّر ّي‪:‬‬
‫الس ّر ّي من ‪ 10‬اأزرار‪ ،‬ك ٌّل منها يحمل َر ْقماً من ‪ 0‬اإلى ‪.9‬‬ ‫ تتكون شاشة اإدخال ال َّر ْقم ّ‬
‫ يتو ّجب على المستخدم النقر على ال�أزرار المناسبة؛ من اأجل اإدخال ال َّر ْقم ّ‬
‫الس ّر ّي‪.‬‬
‫الس ّر ّي داخلياً ضمن اإعدادات البرنامج‪.‬‬ ‫ ُيخ َّزن ال َّر ْقم ّ‬
‫ ُيسمح للمستخدم اإدخال اأرقام (بالنقر عليها) قبل اأن يتم فحص صحة ال َّر ْقم ّ‬
‫الس ّر ّي ال ُم ْد َخل‪.‬‬

‫إاعداد المنصة لتظهر عند البدء‪ ،‬كم� في الصّ ورة أاعلاه‪:‬‬


‫ يختار صاحب الهاتف الخلفية لتكون مستطيلا ً اأخضر اللّون‪.‬‬
‫‪42‬‬
‫ ينشئ عشرة اأزرار مكتوباً عليها ال�أرقام ‪ ،0-9‬مرتّبة بالتتابع‪.‬‬
‫الس ّر ّي الذي ل� يظهر على الشاشة بعد اإدخاله‪ ،‬وتخزينه‪.‬‬‫ يقوم صاحب الهاتف باختيار ال َّر ْقم ّ‬
‫الس ّر ّي‪ ،‬تفتح الشاشة لتطبيقات اأخرى على الهاتف‪ ،‬اإذا كان مطابقاً للرقم‬ ‫ حين يت ّم اإدخال ال َّر ْقم ّ‬
‫الس ّر ّي‪ ،‬واإذا لم يكن مطابقاً‪ ،‬ف إان ّه يطلب اإعادة اإدخال ال َّر ْقم ّ‬
‫الس ّر ّي‪ ،‬كمحاولة جديدة‪.‬‬ ‫ّ‬

‫رسم الخلفية‪:‬‬
‫ من المنصة‪ ،‬اأختار خلفية جديدة في ال ّر ّسام‪ ،‬واأرسم مستطيلا ً لونه اأخضر‪.‬‬

‫إاض�فة الك�ئن�ت‪:‬‬
‫كت�بة رقم لل ّز ّر‪:‬‬
‫ من مكتبة الكائنات‪ ،‬اأختار كائن ز ّر (‪.)Button1‬‬
‫‪.‬‬ ‫ اأختار قائمة المظاهر‪ ،‬وفي ال ّر ّسام‪ ،‬اأختار ّ‬
‫نص‬
‫ص‪ ،‬واأكتب رقم الكائن فوق ال ّز ّر‪.‬‬ ‫ اأختار لوناً للنّ ّ‬
‫ مزيد من ال�أزرار‪ :‬اأنشئ ‪ 9‬نسخ من الكائن‬
‫‪Button1‬؛ ليصبح عدد ال�أزرار ‪ ،10‬ويتم ذلك‬
‫بطريقتين‪ ،‬هما‪:‬‬
‫‪ ،‬وبوساطتها‬ ‫من قائمة ال�أدوات‬ ‫‪ -‬من المنصة‪ ،‬اأستخدم اأداة المضاعفة‬
‫اأضغط على الكائن في المنصة‪ ،‬فتنشاأ منه نسخة (كائن) جديدة‪.‬‬
‫‪43‬‬
‫‪ -‬من قائمة الكائنات اأسفل الشاشة‪ ،‬اأضع الفاأرة على الكائن‪ ،‬ث ّم اأضغط‬
‫بز ّر الفاأرة ال�أيمن‪ ،‬فتظهر مجموعة خيارات‪ ،‬اأختار مضاعفة‪ ،‬فتنشاأ من‬
‫الكائن نسخة جديدة‪.‬‬

‫أاتعلّم‪:‬‬
‫ يمكن اأن اأنشئ اأكثر من نسخة (مضاعفة) من الكائن‪ ،‬وك ّل منها تُ َع ُّد كائناً مستق ّلا ً‬
‫بذاته‪ ،‬ويمكن برمجته بمقاطع برمجية تشبه المقاطع البرمجية للنسخ ال�أخرى‪ ،‬اأو‬
‫تختلف عنها‪.‬‬

‫ك�ئن�ت ال�أزرار‪ ،‬وترتيبه� على المنصة‪:‬‬


‫ اأرتّب ال�أزرار كما هي مرتّبة في لوحات الهواتف الخلوية‪ ،‬كما هو ظاهر في ّ‬
‫الصورة اأعلاه‪.‬‬
‫ لك ّل ز ّر مظهران‪ ،‬اأحدهما قبل الضغط على الكائن‪ ،‬والثاني بعد الضغط عليه‪.‬‬

‫إانش�ء ك�ئن للبدء‪:‬‬


‫من قائمة كائن جديد‪ ،‬اأختار رسم كائن جديد بمظهرين‪ ،‬حيث اأنتقل اإلى شاشة ال ّر ّسام‪.‬‬
‫نص ‪ ،‬اأكتب كلمة (‪ )Enter Password, Save Password‬لك ّل مظهر‪ ،‬واأضعها‬ ‫من خلال كتابة ّ‬
‫داخل مستطيل‪ ،‬واأل ّونه بلون مناسب‪.‬‬

‫‪44‬‬
‫تحديد المتغ ّيرات‪:‬‬
‫الس ّر ّي الذي يتك ّون من عدّة‬ ‫ متغ ّير؛ لحفظ ال َّر ْقم ّ‬
‫منازل‪ ،‬ويت ّم تخزينه واإخفاؤه؛ حتى ل� يظهر بعدها‪،‬‬
‫واأس ّميه (ال َّر ْقم ّ‬
‫الس ّر ّي)‪.‬‬
‫ متغ ّير للرقم المدخل‪ ،‬واأس ّميه (ال َّر ْقم ال ُم ْد َخل)‪.‬‬
‫ متغ ّير عدّاد؛ لحساب طول ال َّر ْقم ال ُم ْد َخل الذي‬
‫يجب األّ� تزيد منازله عن عدد منازل ال َّر ْقم ّ‬
‫الس ّر ّي‪،‬‬
‫واأس ّميه (عدد ال�أرقام التي ت ّم النقر عليها)‪ ،‬ويزداد‬
‫هذا العدّاد بمقدار واحد‪ ،‬كلما ت ّم النقر على َر ْقم‬
‫جديد‪.‬‬

‫سؤال‪ :‬لماذا ت ّم التاأشير على متغ ّير ال َّر ْقم ال ُم ْد َخل‪ ،‬ومتغ ّير عدد ال�أرقام التي ت ّم النقر عليها‬
‫‪ ،‬بينما لم يت ّم التاأشير على متغ ّير ال َّر ْقم ّ‬
‫الس ّر ّي؟‬ ‫ب إاشارة‬

‫برمجة ال�أزرار‪:‬‬
‫ عند الضغط على ال ّز ّر‪ ،‬تتم ثلاثة اأمور‪ ،‬هي‪:‬‬
‫‪ -‬يخرج صوت بوب (‪.)Pop‬‬
‫‪ -‬يزيد عدد ال�أرقام التي ت ّم النقر عليها بواحد‪.‬‬
‫‪ -‬عندما تستلم ال�أزرار رسالة استع ّد للاإ دخال‪ ،‬تاأخذ شكل ز ّر غير مضغوط‪.‬‬
‫ يت ّم ربط ال َّر ْقم الجديد بال�أرقام ال ُم ْد َخ َلة سابقاً؛ ليصبح ال َّر ْقم الجديد هو ال َّر ْقم ال ُم ْد َخل‪.‬‬
‫ ال َّر ْقم ال ُم ْد َخل = ال َّر ْقم ال ُم ْد َخل حتّى اللّحظة‪ ،‬مضافاً اإليه َر ْق َم ال ّز ّر الجديد كمنزلة جديدة على اليمين‪،‬‬
‫ويتم هذا باستخدام عملية‪ :‬اربط‪.‬‬

‫‪45‬‬
‫مث�ل‪ :‬برمجة ال ّز ّر رقم ‪:5‬‬

‫كيف اأدخل برمجة بقية ال�أزرار التي اأرقامها ‪.9، 8 ،7 ،6 ،0،4 ،3‬‬ ‫سؤال‪:‬‬

‫أاتعلّم‪:‬‬
‫ عملية الربط تجعل المقطعين ال�أول والثاني جملة واحدة‪.‬‬

‫سؤال�ن‪ � :‬اأدخل الَّ ِلبنات المجاورة‪ ،‬واأل�حظ‬


‫ناتج ك ّل منها‪ ،‬واأكتبه‪.‬‬

‫‪ -‬ما الفرق في الترتيب بين ربط كلمتين باللغة العربية‪،‬‬


‫وربط كلمتين باللغة ال�إ نجليزية؟‬

‫الس ّر ّي‪ ،‬والت أ�كد من ال�أرق�م ال ُم ْد َخ َلة‪:‬‬ ‫برمجة إادخ�ل ال َّر ْقم ّ‬
‫ عند النقر على كائن البدء‪ ،‬يتم طلب اإدخال ال َّر ْقم ال ّس ّر ّي‪.‬‬
‫ اأجعل عدد ال�أرقام التي ت ّم النقر عليها = صفر؛ (استعداداً‬
‫ل�ستقبال اأرقام جديدة)‪.‬‬
‫ اأجعل ل�ئحة ال َّر ْقم ال ُم ْد َخ ل فارغة‪.‬‬
‫ حتّى ُيسمح بالدخول اإلى الهاتف‪ ،‬ل� ب ّد من توفر شرطين‪:‬‬
‫‪ .1‬اإذا اأصبح عدد ال�أرقام ال ُم ْد َخ َلة يساوي طول كلمة ال ّس ّر‪.‬‬
‫‪ .2‬اإذا كان ال َّر ْقم ال ُم ْد َخل يساوي ال َّر ْقم ال ّس ّر ّي‪ ،‬واإلّ� تُطلب‬
‫المحاولة مرة اأخرى‪.‬‬
‫‪46‬‬
‫أاتعلّم‪:‬‬
‫ يمكن وضع عدّة جمل شرطية متداخلة‪،‬‬
‫وعدم تحقق الجملة الشرطية ل� يجعل‬
‫الكائن ين ّفذ ال�أوامر التي بداخلها‪.‬‬
‫ حين تُستخدم الجملة الشرطية‪ :‬اإذا‪....‬‬
‫واإلّ� ‪ ،...‬ف إا ّن تحقُّق شرط اإذا يجعل الكائن‬
‫ين ّفذ ال�أوامر التي بداخلها‪ ،‬وعدم تحقُّقها‬
‫يجعل الكائن ين ّفذ ال�أوامر بداخل‪ :‬واإلّ�‪.‬‬
‫ص داخلها‪،‬‬ ‫ لبنة طول َتحسب طول النّ ّ‬
‫بما فيها الفراغات بين الكلمات‪ ،‬اأج ّرب‬
‫ال�آتية‪ ،‬واأكتب الجواب‪......................... :‬‬

‫البرن�مج ك�ملاً‪:‬‬

‫‪47‬‬
‫المشروع‪ :‬اأقوم بعمل ما اأستطيع من ال�إ ضافات ال�آتية للبرنامج‪:‬‬

‫‪ .1‬أاضيف للبرنامج مجموعة أاوامر‪ ،‬بحيث تنشئ متغ ّير ًا جديد ًا يقوم بعدد مرات‬
‫ظهور عبارة‪« :‬حاول مرة اأخرى»‪ ،‬واإن اأصبحت ‪ 5‬مرات‪ ،‬يقفل الشاشة‪ ،‬ول�‬
‫يمكن اإدخال رقم جديد اإلّ� بعد اإعادة التشغيل‪.‬‬
‫‪ .2‬اأضيف للبرنامج خلفية جديدة من ال�إ نترنت ُتظهر واجهة هاتف حقيقي في حال‬
‫ت ّم تسجيل الدخول بنجاح‪.‬‬
‫‪ .3‬اأضيف للبرنامج ما يجعله يح ّمل فيديو‪ ،‬ويفتحه‪ ،‬اأو ُيصدر صوتاً مميزاً عند‬
‫النجاح في تسجيل الدخول‪.‬‬

‫‪48‬‬
‫الدرس الس�بع‬
‫عشر‬
‫اللوائح‬

‫من ال�ستخدامات الشائعة للحاسوب هو التعامل مع البيانات التي يتم تخزينها وحفظها بصورة منظمة‪ ،‬وتجعل‬
‫عملية الوصول للبيانات واسترجاعها تت ّم بشكل سريع ودقيق‪ .‬وهناك عدة برامج لحفظ البيانات‪ ،‬منها برنامج‬
‫سكراتش الذي يوفر لبنات برمجية لتخزين البيانات وحفظها‪ ،‬ث ّم استرجاعها‪ ،‬اأو اإجراء العمليات المختلفة عليها‪.‬‬
‫اللائحة‪:‬‬
‫يمكن التفكير في اللائحة في سكراتش باأن ّها‬
‫قائمة من البيانات المرتبة‪ ،‬لكل معلومة فيها‬
‫عنوان‪ ،‬وهو رقم (موقع‪ /‬ترتيب) المعلومة في‬
‫القائمة‪ ،‬فعلى سبيل المثال‪ :‬يمكن اإنشاء قائمة‬
‫اأسماء‪ ،‬وقائمة عنوان‪ ،‬وقائمة رقم هاتف‪،‬‬
‫وقائمة علامات الرياضيات‪ ،‬اأو علامات المواد‬
‫ال�أخرى‪ ،‬وتوزيع الطلبة في الصفوف‪ ،‬وما شابه‪،‬‬
‫وكل معلومة في اللائحة تُس ّمى عنصراً‪.‬‬
‫في الصورة المجاورة‪ ،‬توجد ‪ 3‬لوائح‪ ،‬تضم ك ّل منها ‪ 7‬عناصر‪ ،‬وال�أولى اسمها ل�ئحة ال�سم‪ ،‬والثانية ل�ئحة‬
‫اسم الوالد‪ ،‬والثالثة ل�ئحة اسم العائلة‪.‬‬
‫وللوصول اإلى عنصر في اللائحة‪ ،‬ف إانني اأقوم بذلك عن طريق رقم العنصر‪ ،‬واأستخدم (موقع‪ /‬ترتيب) العنصر في‬
‫اللائحة‪ ،‬فمثلاً‪ :‬نادية هي العنصر الرابع في ل�ئحة ال�سم‪.‬‬

‫سؤال‪ :‬ما ال�سم في ك ّل من ال�آتية‪:‬‬

‫‪49‬‬
‫إاض�فة العن�صر إالى اللائحة ‪:‬‬
‫توجد طريقتان ل�إ ضافة العناصر اإلى اللائحة‪ ،‬ال�أولى من خلال الذهاب اإلى اللائحة على المنصة‪ ،‬الضغط‬
‫على اإشارة زائد (‪ )+‬في الجهة اليسرى السفلى من اللائحة (على يسار معلومة طول التي تبين عدد العناصر‬
‫في اللائحة)‪ ،‬وهنا يضاف عنصر اأو عناصر جديدة ل ّلائحة‪.‬‬
‫والطريقة الثانية من خلال البرمجة‪:‬‬
‫ اإضافة العنصر اإلى اآخر موقع في اللائحة‪.‬‬
‫ اإضافة العنصر اإلى موقع (عنوان) في اللائحة (في‬
‫هذا المثال‪ ،‬اأضيف اسم سليمان ليصبح العنصر‬
‫الرابع في ل�ئحة اسم الوالد)‪.‬‬
‫ من خلال ال�إ دخال اأثناء تنفيذ البرنامج‪ ،‬كما في المثال‬
‫ال�آتي‪ ،‬يتم اإدخال خمسة اأسماء اإلى ل�ئحة اسم‪،‬‬
‫وخمسة اأسماء اإلى ل�ئحة اسم الوالد‪ ،‬وخمسة اأسماء‬
‫اإلى ل�ئحة اسم العائلة‪.‬‬

‫استبدال عنصر ب آ�خر في العنوان نفسه‪:‬‬


‫ل�ستبدال العنصر الثالث في ل�ئحة اسم العائلة ليصبح مثلا ً (زيد) بدل� ً من شريف‪ ،‬اأستخدم اللَّ ِب َنة ال�آتية‪:‬‬

‫حذف عن�صر من اللوائح‪:‬‬


‫‪ .1‬تُحذف عناصر من اللوائح من خلال الذهاب اإلى اللائحة على المنصة‪ ،‬والضغط على العنصر‪ ،‬وحذفه‬
‫بالنقر على اإشارة ‪.X‬‬
‫‪50‬‬
‫‪ .2‬من خلال البرمجة‪:‬‬
‫ حذف العنصر وعنوانه (وهنا يت ّم تعديل ترقيم العناوين‪،‬‬
‫ف العنصر رقم ‪ ،2‬ف إا ّن العنصر رقم ‪3‬‬ ‫حيث اإن ّه لو ُح ِذ َ‬
‫يصبح العنصر رقم ‪ ،2‬والعنصر رقم ‪ 4‬يصبح العنصر‬
‫رقم ‪ ،3‬وهكذا الى اآخر اللائحة)‪.‬‬
‫ال�ستعلام أاو البحث عن عنصر في اللوائح‪:‬‬
‫العبارة ال�آتية تحتمل الصحة أاو الخطاأ‪ ،‬ف إاذا كان‬
‫«خالد» ضمن ل�ئحة اسم الوالد‪ ،‬فقيمتها صحيحة‪،‬‬
‫واإلّ� فقيمتها خاطئة‪.‬‬
‫مث�ل‪:‬‬
‫على البحث عن عناصر‬
‫واستخداماتها‪ :‬اأستخدم البرنامج‬
‫ال�آتي للبحث عن اسم في قائمة‬
‫اسم الوالد‪.‬‬

‫المشروع‪:‬‬
‫اأبحث في ل�ئحة ال�سم‪ ،‬اأو اسم الوالد‪ ،‬اأو اسم العائلة‪ ،‬ث ّم في اللائحة المختارة‪ ،‬ومنها اأجد ال�سم كاملاً‪،‬‬
‫واأكتبه على الشاشة‪.‬‬

‫‪51‬‬
‫الدرس الث�من‬
‫عشر‬
‫أاسئلة و إاج�ب�ت‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬تصميم مسابقات من اأسئلة واإجابات‪.‬‬
‫‪ -‬التعامل مع طول اللائحة‪ ،‬واستخدامه في العمليات المنطقية‪.‬‬

‫اأراد سامر اأن ُي ِع ّد مسابقة لطلبة الصف‪ ،‬يحدّد فيها عدد ال�أسئلة‪ ،‬و ُيدخل ال�أسئلة واإجاباتها‪ ،‬ويضعها في‬
‫ل�ئحة‪ ،‬ث ّم يطرح ال�أسئلة على مستخدم البرنامج‪ ،‬ويستقبل ال�إ جابات‪ ،‬ث ّم يخبر المستخدم عن عدد ال�أسئلة‬
‫التي كانت اإجاباتها صحيحة‪ ،‬وعدد تلك التي كانت اإجاباتها غير صحيحة‪.‬‬
‫وصف البرن�مج وخطواته‪:‬‬
‫ال�ج�ب�ت‪:‬‬‫‪ .1‬حفظ ال�أسئلة‪ ،‬وحفظ إ‬
‫ اأحدّد ثلاث لوائح‪ :‬واحدة لحفظ ال�أسئلة‪ ،‬واأس ّميها (اأسئلة)‪ ،‬والثانية لحفظ ال�إ جابات‪ ،‬واأس ّميها‬
‫(ال�إ جابات الصحيحة)‪ ،‬والثالثة لحفظ اإجابات الطالب واأسميها (اإجابات الطالب)‪.‬‬
‫ في البداية‪ ،‬اأجعل عدد ال�أسئلة المضافة = صفر؛ استعداداً ل�إ دخال اأسئلة جديدة‪.‬‬
‫ اأساأل عن عدد ال�أسئلة المناسبة للمسابقة‪ ،‬واأضعها في متغير اأس ّميه (عدد ال�أسئلة المضافة)‪.‬‬
‫ اأستخدم عدد ال�أسئلة المضافة عدداً لل َّتكرارات في حلقة دورانية‪ ،‬تقوم ك ّل دورة بما ياأتي‪:‬‬
‫‪ -‬تساأل‪ ،‬اأو تطلب اإدخال السؤال‪.‬‬
‫‪ -‬تضيفه ل ّلائحة (اأسئلة)‪.‬‬
‫‪ -‬تساأل‪ ،‬اأو تطلب اإدخال الجواب‪ ،‬وتستقبل ال�إ جابة‪.‬‬
‫‪ -‬تضيفه ل ّلائحة (ال�إ جابات الصحيحة)‪.‬‬
‫ اأ ْع ِل ُم عن ال�نتقال اإلى مرحلة اإدخال ال�إ جابات‪ ،‬واأ ّ‬
‫بث رسالة‪ :‬ابداأ ال�إ جابة‪.‬‬
‫ال�ج�ب�ت‪ ،‬وع ّد الصحيحة‪ ،‬وغير الصحيحة منه�‪.‬‬ ‫‪ .2‬طرح ال�أسئلة‪ ،‬واستقب�ل إ‬
‫ اأجعل عدد ال�أسئلة الصحيحة = صفر‪( ،‬ولحذف عدد ال�أسئلة الصحيحة‪ ،‬يكون الناتج عن استخدام‬
‫سابق للبرنامج)‪.‬‬
‫‪52‬‬
‫اأجعل عدد ال�إ جابات غير الصحيحة = صفر‪( ،‬ولحذف عدد ال�إ جابات غير الصحيحة‪ ،‬يكون الناتج‬ ‫ ‬
‫عن استخدام سابق للبرنامج)‪.‬‬
‫اأضيف متغيراً‪ ،‬اأس ّميه (س)؛ لمتابعة عدد العناصر التي تت ّم قراءتها من اللوائح‪.‬‬ ‫ ‬
‫اأك ّرر طرح ال�أسئلة عدداً من المرات‪ ،‬مساوياً لعدد العناصر في ل�ئحة ال�أسئلة‪.‬‬ ‫ ‬
‫بعد طرح السؤال‪ ،‬وقبل ال�نتقال لطرح السؤال التالي‪ ،‬يحكم البرنامج على صحة ال�إ جابة‪ ،‬ف إان‬ ‫ ‬
‫كانت‪:‬‬
‫‪ -‬صحيحة‪ ،‬يزيد عدد ال�إ جابات الصحيحة واحداً‪.‬‬
‫‪ -‬واإذا كانت ال�إ جابة غير صحيحة‪ ،‬فيزيد عدد ال�إ جابات غير الصحيحة واحداً‪.‬‬
‫برن�مج سؤال وجواب‪:‬‬
‫ لماذا ت ّم اإعطاء المتغيرات ال�آتية القيم المبينة‪:‬‬
‫‪ -‬عدد ال�إ جابات الصحيحة = صفر‪.‬‬
‫‪ -‬عدد ال�إ جابات غير الصحيحة = صفر‪.‬‬
‫‪ -‬المتغير س = ‪.1‬‬
‫ لماذا اأستخدم طول ل�ئحة‪ :‬اأسئلة‪ ،‬ليمثل عدد‬
‫ال َّتكرارات في الحلقة الدورانية‪.‬‬
‫ اإذا كان السؤال الثالث في ل�ئحة ال�أسئلة هو «ما‬
‫اأخفض بقعة في الكرة ال�أرضية؟»‪ ،‬فمتى يكون‬
‫جواب الجملة الشرطية (اإذا كانت ال�إ جابة = العنصر‬
‫س من ل�ئحة ال�إ جابات الصحيحة) صحيحة‪ ،‬وما‬
‫الذي يحدث اإذا كانت ال�إ جابة صحيحة؟ وما الذي‬
‫يحدث اإذا كانت غير صحيحة؟‬

‫‪53‬‬
‫نستخدم المقاطع المجاورة لتهيئة‬
‫المتغيرات واللوائح ل�ستقبال قيم‬
‫جديدة‪ ،‬لذلك تم جذف عناصر‬
‫اللوائح واإعطاء القيمة صفر لكل‬
‫متغير‪.‬‬

‫سؤال‪ :‬ما الذي يحدث لو ُح ِذ َف ِت اللَّ ِب َن ِ‬


‫تان ال� آ ِ‬
‫تيتان‬
‫في بداية مقاطع البرمجة في اإدخال ال�أسئلة؟‬

‫المشروع‪ :‬اأحاول اأن اأضيف ما اأستطيع من تعديلات للبرنامج من ال�آتية‪:‬‬


‫ اأضيف مجموعة من ال�أسئلة التي اأختارها‪ ،‬واأختار اإجاباتها (يمكن طرح اأسئلة حساب‪ ،‬اأو علوم‪ ،‬اأو‬
‫لغة عربية‪ ،‬اأو اإنجليزية‪ ،‬اأو اأ ّي موضوعات اأخرى)‪.‬‬
‫ اأضيف تصفيقاً حين تكون ال�إ جابة صحيحة‪.‬‬
‫ اأعطي فرصة للمحاولة مرة ثانية حين تكون ال�إ جابة غير صحيحة‪.‬‬
‫ اأط ّبق البرنامج مع زملائي في الصف‪ ،‬اأو مع اأفراد اأسرتي‪.‬‬
‫ اأعدّل البرنامج؛ لتصبح عملية اإضافة ال�أسئلة تراكمية فيه (كلما اأضيفت اأسئلة جديدة تضاف‬
‫لمجموعة ال�أسئلة المحفوظة اأصلا ً في اللائحة)‪.‬‬
‫‪54‬‬
‫الدرس الت�سع‬
‫عشر‬
‫عملي�ت بنكية على حس�ب ج�رٍ‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬برمجة العمليات البنكية البسيطة‪.‬‬
‫‪ -‬اإنشاء المتغ ّيرات‪ ،‬واإظهارها على المنصة‪.‬‬

‫يهدف المشروع اإلى تعريف الطلبة بالعمليات (الحركات) ال�أساسية المتعلقة بالحساب الجاري في‬
‫المصارف (البنوك)‪ .‬واإ ّن هناك اأنواعاً مختلفة للحسابات التي يفتحها ال�أفراد في المصارف‪ ،‬منها الحساب‬
‫الجاري‪ ،‬وحساب التوفير‪ ،‬وغيرها‪.‬‬
‫ يحاول البرنامج تقليد (محاكاة) العمليات ال�أساسية التي تحصل على الحساب الجاري‪ ،‬وهي السحب‪،‬‬
‫وال�إ يداع‪ ،‬ومعرفة الرصيد‪.‬‬
‫ يساأل البرنامج ال ُمستخدَم عن العملية التي يريد تنفيذها‪ ،‬هل هي سحب‪ ،‬اأم اإيداع؟‬
‫ عند اختيار عملية سحب مبلغ من الحساب‪ ،‬يطلب البرنامج من المستخدم اإدخال المبلغ الذي يرغب‬
‫بسحبه‪.‬‬
‫البرنامج فيما اإذا كان الرصيد المتوفر في الحساب كافياً؛ اأي اأن ّه اأكبر من المبلغ المطلوب‬
‫ُ‬ ‫ يفحص‬
‫سحبه‪.‬‬
‫ اإذا كان المبلغ المطلوب اأكبر من المتوفر‪ ،‬يقوم ب إاظهار رسالة‪ :‬اإ ّن الرصيد غير ٍ‬
‫كاف‪.‬‬
‫ اإذا كان المبلغ المطلوب اأق ّل من الرصيد‪ ،‬يقوم البرنامج بتحديث الرصيد‪ ،‬عن طريق طرح قيمة المبلغ‬
‫المطلوب من الرصيد‪ ،‬ويقوم بتسجيل هذه العملية في نهاية قائمة العمليات البنكية على شكل مبلغ‬
‫بالسالب؛ ليدل على عملية «سحب»‪.‬‬
‫ عند اختيار عملية اإيداع مبلغ اإلى الحساب‪ ،‬يطلب البرنامج من المستخدم اإدخال المبلغ الذي يرغب‬
‫ب إايداعه‪.‬‬
‫ يقوم البرنامج بتحديث الرصيد عن طريق اإضافة قيمة المبلغ المودع اإلى الرصيد‪ ،‬ويقوم بتسجيل هذه‬
‫العملية في نهاية قائمة العمليات البنكية على شكل مبلغ بالموجب؛ ليدل على عملية «اإيداع»‪.‬‬
‫‪55‬‬
‫ بعد اإتمام عملية السحب‪ ،‬اأو ال�إ يداع‪ُ ،‬يظ ِهر البرنامج رسالة تقول‪ :‬اإ ّن الرصيد ال�آن هو «قيمة الرصيد»‬
‫المحدث في البرنامج‪ ،‬ويظهر المتغ ّير «الرصيد»‪.‬‬
‫البرنامج بعد ذلك المستخد َم ع ّما اإذا كان يرغب بكشف حساب لجميع العمليات البنكية‪ ،‬ف إاذا‬ ‫ُ‬ ‫ يساأل‬
‫اأجاب بنعم‪ ،‬يقوم ب إاظهار قائمة العمليات البنكية التي تحتوي على جميع العمليات التي ت ّم تنفيذها‬
‫سابقاً‪.‬‬

‫البرن�مج‪:‬‬
‫ اأنشئ متغ ّيرات من قائمة البيانات‪ ،‬تُستخدَم في العمليات البنكية البسيطة‬
‫كما ياأتي‪:‬‬
‫المتغ ّير المبلغ‪ ،‬والمتغ ّير اإيداع‪ ،‬والمتغ ّير رصيد‪.‬‬
‫ ثم اأنشئ ل�ئحة كشف حساب‪.‬‬

‫عملية السحب من الحس�ب‪:‬‬


‫اأساأل صاحب الحساب عن الرصيد‪.‬‬ ‫ ‬
‫اأساأل صاحب الحساب‪ :‬ما العملية التي يريد‪( ،‬سحب‪ ،‬اأم اإيداع)؟ واأنتظر اإجابته‪.‬‬ ‫ ‬
‫اأخ ّزن ال�إ جابة في متغ ّير اسمه «ال�ختيار»‪.‬‬ ‫ ‬
‫اأفحص ما اإذا كان ال�ختيار هو سحب مبلغ‪ ،‬ف إاذا كان كذلك‪ ،‬اأقوم بتصفير المتغ ّير «المبلغ»‪ ،‬واأظ ِهر‬ ‫ ‬
‫المتغ ّير «رصيد»‪ ،‬والمتغ ّير «المبلغ»‪.‬‬
‫اأطلب من المستخدم اإدخال قيمة المبلغ الذي يرغب بسحبه‪ ،‬واأخ ّزن ال�إ جابة في المتغ ّير «المبلغ»‪.‬‬ ‫ ‬
‫قبل اإتمام عملية السحب‪ ،‬يجب اأن اأفحص ما اإذا كان الرصيد كافياً؛ (اأي اأكبر من المبلغ المراد‬ ‫ ‬
‫سحبه)‪.‬‬

‫‪56‬‬
‫سؤال‪:‬‬
‫ماذا يحصل فيما لو لم تت َّم عملية الفحص لهذه الحالة؟‬

‫ اأستخدم اأمر (اإذا كان الرصيد اأكبر من المبلغ‪ ،‬اأو يساويه‪ ...‬واإلّ�)؛ ل�أتاأكد من اأ ّن الرصيد اأكبر من‬
‫المبلغ المطلوب‪ ،‬اأو يساويه‪.‬‬
‫ اإذا كان المبلغ المطلوب اأق ّل من الرصيد‪ ،‬يقوم البرنامج بطرح المبلغ من الرصيد‪ ،‬ث ّم يقوم ب إادراج المبلغ‬
‫المسحوب على شكل سالب في ل�ئحة كشف حساب‪.‬‬

‫أاف ّكر‪:‬‬
‫لماذا قام البرنامج بضرب المبلغ بسالب واحد؟‬

‫ اإذا كان الرصيد اأق ّل من المبلغ المطلوب سحبه‪ ،‬ف إا ّن البرنامج ُيظ ِهر رسالة باأ ّن الرصيد غير ٍ‬
‫كاف‪.‬‬

‫سؤال‪ :‬هل يمكن ال�ستغناء عن اأمر‪« :‬اجعل المبلغ مساوياً المبلغ * ‪»1-‬؟ لماذا؟‬

‫ال�يداع في الحس�ب‪:‬‬
‫عملية إ‬
‫ اإذا كان ال�ختيار هو «اإيداع» مبلغ‪ ،‬اأقوم بتصفير المتغ ّير «المبلغ»‪ ،‬واأظ ِهر متغ ّي َري «رصيد»‪ ،‬و»المبلغ»‪.‬‬
‫ اأطلب من المستخدم اإدخال قيمة المبلغ الذي يرغب ب إايداعه‪ ،‬واأحفظ ال�إ جابة في المتغ ّير «المبلغ»‪.‬‬
‫ تت ّم اإضافة المبلغ اإلى الرصيد‪ ،‬ث ّم ُيدرِج المستخدم المبلغ المو َدع في ل�ئحة العمليات البنكية‪.‬‬
‫إاذا لم يت َّم إادخ�ل عملية سحب‪ ،‬أاو عملية إايداع‪ ،‬تظهر رسالة تقول‪« :‬اختيارك غير صحيح‪ ..‬حاول‬
‫ل�حقاً»‪.‬‬

‫‪57‬‬
‫المشروع‪:‬‬
‫ اأحاول تحسين البرنامج‪ ،‬اأو تطويره‪.‬‬
‫ يتم اإظهار الرصيد على الشاشة‪ ،‬واإضافة خيار طلب كشف حساب‪ ،‬واإظهار عناصر ل�ئحة كشف حساب‪.‬‬

‫‪58‬‬
‫الوحدة الث�لثة‬
‫برمجة تف�علية‬

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

‫‪59‬‬
‫أاهداف الوحدة‬

‫ُيتَوقَّع من الطلبة بعد دراسة هذه ال َوحدة‪ ،‬والتف�عل مع أانشطته�‪ ،‬أان يكونوا ق�درين على‪:‬‬
‫‪ -1‬برمجة اآلية اإنشاء حساب وتسجيل الدخول اإليه‪.‬‬
‫‪ -2‬برمجة عمليات حسابية متقدمة‪.‬‬
‫‪ -3‬استخدام الكاميرا في التفاعل مع البرامج‪.‬‬
‫‪ -4‬برمجة ال�ألعاب‪.‬‬
‫‪ -٥‬برمجة البحث في اللوائح‪.‬‬

‫‪60‬‬
‫العشرون‬
‫الدرس‬
‫ال�شتراك في المكتبة‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬اإنشاء لوائح؛ لتخزين البيانات‪.‬‬
‫‪ -‬التعامل مع طرق التسجيل‪ ،‬والدخول اإلى المواقع ال�إ لكترونية‪.‬‬
‫بناء على شروط معينة‪.‬‬ ‫‪ -‬التحكّم في تن ّقل الخلفيات‪ً ،‬‬

‫نشاء حساب جديد (فتح‬‫والمنصات ال�جتماعية‪ ،‬مثل الفيسبوك‪ ،‬اإ َ‬


‫ّ‬ ‫اأحياناً يلز ُم ال�شترا ُك في المواقع‪،‬‬
‫حساب) (‪ ،)sign up‬ويشمل اسم المستخدم‪ ،‬وكلمة س ّر خاصة به‪ ،‬وهذه المواقع ل� تسمح باستخدام‬
‫ال�سم نفسه ل�أكثر من مستخدم‪ .‬وفي هذا النشاط‪ ،‬ترغب اإحدى المكتبات بالسماح فقط للمشتركين‬
‫بالدخول اإليها‪ ،‬واستخدام المكتبة‪ ،‬وال�ستعارة من كتبها‪ ،‬ومصادرها المختلفة‪ .‬والمطلوب هو اأن اأص ّمم‬
‫برنامجاً يسمح ال�شتراك في المكتبة بعد تخزين اسم المستخدم‪ ،‬وكلمة س ّر ّ‬
‫خاصة‪ ،‬ث ّم بعد ذلك يصبح‬
‫الدخول للمكتبة ممكناً‪ ،‬باستخدام ال�سم‪ ،‬وكلمة ّ‬
‫الس ّر‪.‬‬

‫التحضير لتصميم البرن�مج‪:‬‬


‫ أاول�ً� اأنشئ شاشة دخول‪ ،‬تب ّين اسم المكتبة‪ ،‬واإشارة الدخول‪ ،‬واأخرى للاشتراك‪ ،‬ورابعة للتسجيل‪.‬‬
‫ ث�ني ً�� اأص ّمم اإشارة للتسجيل تطلب اسم المستخدم‪ ،‬وكلمة ال ّس ّر‪.‬‬
‫ ث�لث ً�� اأص ّمم اإشارة للدخول تسمح للمشترك بالدخول‪ ،‬بعد اأن ُي ْد ِخل كلمة ّ‬
‫الس ّر‪.‬‬
‫ رابع ً�� اأبرمج خطوات اإضافة مشترك جديد‪( ،‬اأو تسجيله)‪.‬‬
‫ خ�مس ً�� اأبرمج خطوات السماح للمشترك بالدخول اإلى المكتبة‪ ،‬ب إادخال ال�سم‪ ،‬وكلمة ّ‬
‫الس ّر‪.‬‬

‫‪61‬‬
‫تصميم خطوات سير البرن�مج‪:‬‬
‫‪ .1‬اأعلن عن البدء‪ ،‬واأ ّن المجال مفتوح للتسجيل‪ ،‬واأنشئ حساباً باس ٍم جديد‪ ،‬وكلمة س ّر ّ‬
‫خاصة بالمشترك‪،‬‬
‫في حال اأن ّه استخدم المكتبة ل�أول مرة‪ ،‬اأ ّما اإذا كان مشتركاً ّ‬
‫مسجلا ً في المكتبة‪ ،‬فعليه اإدخال اسم‬
‫حسابه‪ ،‬و َر ْقمه ّ‬
‫الس ّر ّي الذي خ ّزنه سابقاً؛ من اأجل الدخول للمكتبة‪.‬‬
‫‪ .2‬في حالة اختيار التسجيل لشخص جديد‪:‬‬
‫خاصاً يختاره المستخدم لحسابه‪ ،‬واأضيفه اإلى ل�ئحة المشتركين‪ ،‬واأ ّما اإذا كان هذا‬ ‫ اأ ْد ِخل اسماً ّ‬
‫ال�سم موجوداً في قائمة المشتركين سابقاً‪ ،‬فيت ّم اإعلامه اأ ّن هذا ال�سم هو لمستخدم اآخر‪ ،‬وعليه‬
‫اختيار اسم غيره‪.‬‬
‫الخاصة بحساب المشترك‪ ،‬حيث ل� يمكن الدخول اإلى الحساب دون اإدخالها‪.‬‬ ‫ّ‬ ‫ اأ ْد ِخل كلمة ّ‬
‫الس ّر‬
‫مسجل سابقاً‪:‬‬
‫‪ .3‬في حالة اختيار الدخول للمكتبة لمشترك ّ‬
‫دخل اس َم المشترك‪ ،‬ف إاذا كان ضمن قائمة المشتركين‪ ،‬يطلب منه البرنامج اأن ُيدخل كلمة ّ‬
‫الس ّر‪.‬‬ ‫ اأ ِ‬
‫ اأ ِ‬
‫دخل كلمة ال ّس ّر‪ ،‬ف إاذا كانت صحيحة‪ ،‬يدخل الشخص اإلى المكتبة‪ ،‬واإلّ�‪ ،‬ف إا ّن البرنامج يرفض دخوله‪.‬‬

‫أاتعلّم‪:‬‬
‫لك ّل اسم من ال�أسماء في قائمة المشتركين َر ْقم يب ّين ترتيبه (عنوانه) فيها‪ ،‬فلو اشتملت القائمة على‬
‫اأربعة اأسماء‪ ،‬ف إا ّن لك ّل منها ترتيب فيها‪ ،‬واأستفيد من هذه الخاصية للبحث عن اسم فيها‪.‬‬

‫سؤال‪ :‬في القائمة ال�آتية‪ ،‬ترتيب خالد هو ‪ ،1‬وترتيب ليلى هو ‪ ،3‬وهكذا‪ ،‬ما ترتيب طارق؟‬
‫‪ -‬اأستخدم الَّ ِلبنات ال�آتية في عملية البحث‪:‬‬
‫لكل شخص في اللائحة ترتيب‬
‫اسم الشخص‬
‫‪1‬‬ ‫خالد‬
‫‪2‬‬ ‫اأمل‬
‫‪3‬‬ ‫ليلى‬
‫‪4‬‬ ‫طارق‬

‫‪62‬‬
‫ من قائمة البيانات‪ ،‬اأنشئ اللائحتين‪ :‬قائمة المشتركين‪ ،‬وكلمات الدخول‪،‬‬
‫كما في الشكل المجاور‪.‬‬

‫إاض�فة مشترك جديد‪:‬‬


‫عند اإدخال ال�سم‪ ،‬يفحص البرنامج اإذا ما كان ال�سم موجوداً اأم ل� في مجموعة الَّ ِلبنات‬ ‫ ‬
‫كما في مقطع التسجيل‪.‬‬
‫اإذا كان ال�سم موجوداً في قائمة المشتركين‪ ،‬فلا يت ّم قبوله؛ حتّى ل� يصبح اأكثر من مستخدم بال�سم‬ ‫ ‬
‫البرنامج المستخد َم بذلك؛ حتّى يعيد ال�إ دخال‪.‬‬
‫ُ‬ ‫نفسه‪ ،‬و ُي ْع ِلم‬
‫اإذا لم يكن ال�سم ال ُم ْد َخل ضمن قائمة المشتركين؛ اأي اأن ّه مشترك جديد‪ ،‬ينتقل البرنامج للسؤال‬ ‫ ‬
‫عن كلمة ال ّس ّر‪.‬‬
‫صبحت مشتركاً في المكتبة»‪.‬‬ ‫َ‬ ‫ببث رسالة‪« :‬اأ‬‫اإعلام المستخدم اأن ّه قد اأصبح مشتركاً في المكتبة‪ّ ،‬‬ ‫ ‬

‫دخول المشترك إالى المكتبة‪:‬‬


‫ يبد أا البرنامج بطلب اإدخال اسم المشترك‪« :‬اأدخل اسم مستخدم»‪.‬‬

‫‪63‬‬
‫البرنامج ما اإذا كان ال�سم موجوداً اأم ل�‪.‬‬
‫ُ‬ ‫عند اإدخال ال�سم‪ ،‬يفحص‬ ‫ ‬
‫اإذا كان ال�سم موجوداً في قائمة المشتركين‪ ،‬فلا يت ّم قبوله‪.‬‬ ‫ ‬
‫‪ -‬لماذا ل� يت ّم قبوله؟ ‪...............................‬‬
‫البرنامج المستخد َم بذلك؛ حتى يعيد‬ ‫ُ‬ ‫ُي ْع ِلم‬ ‫ ‬
‫ال�إ دخال‪.‬‬
‫الس ّر‪ ،‬ف إاذا كانت‬ ‫يساأل البرنامج عن كلمة ّ‬ ‫ ‬
‫صحيحة‪ ،‬يت ّم دخوله‪ ،‬واإلّ� ُي ْع ِلمه اأن ّها غير‬
‫صحيحة‪.‬‬
‫اإظهار صورة تُظهر المنظر من داخله في مكتبة‬ ‫ ‬
‫مدرستي‪.‬‬

‫المشروع‪:‬‬
‫الس ّر‪ ،‬ف إاذا فشل اأحذف ال�سم من قائمة المشتركين‪ ،‬واأع ِل ُم‬
‫اأعطي المشترك ثلاث محاول�ت؛ ل�إ دخال كلمة ّ‬
‫المشترك اأن يقوم بالتسجيل من جديد‪.‬‬

‫‪64‬‬
‫الدرس الح�دي‬
‫والعشرون‬
‫البرمجة والري�ضي�ت‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬التع ّرف اإلى العمليات الحسابية‪.‬‬
‫‪ -‬التعامل مع المتغيرات واللوائح‪.‬‬
‫‪ -‬برمجة المتتالية الهندسية‪ ،‬والحسابية‪ ،‬ومتتالية فيبوناتشي‪.‬‬

‫اأكمل ال�أنماط ال�آتية‪:‬‬


‫ح ّد ‪9‬‬ ‫ح ّد ‪8‬‬ ‫ح ّد ‪٧‬‬ ‫ح ّد ‪6‬‬ ‫ح ّد ‪٥‬‬ ‫ح ّد ‪4‬‬ ‫ح ّد ‪3‬‬ ‫ح ّد ‪2‬‬ ‫ح ّد ‪1‬‬
‫‪218٧‬‬ ‫‪81‬‬ ‫‪2٧‬‬ ‫‪9‬‬ ‫‪3‬‬
‫‪1٧92‬‬ ‫‪٥6‬‬ ‫‪28‬‬ ‫‪14‬‬ ‫‪٧‬‬
‫في النمطين السابقين‪ ،‬األ�حظ وجود الح ّد ال�أول‪ ،‬وك ّل ح ّد يساوي الح ّد السابق له‪ ،‬مضروباً بقيمة‬
‫ثابتة تُس ّمى مجموعة القيم التي يكون ك ّل ح ّد فيها مساوياً للح ّد السابق‪ ،‬مضروباً بقيمة ثابتة بالمتتالية‬
‫الهندسية‪ ،‬وتُس ّمى القيم ُة الثابت ُة اأ َ‬
‫ساس المتتالية‪.‬‬
‫ ما قيمة اأساس المتتالية ال�أولى؟ ‪...............‬‬
‫ ما قيمة اأساس المتتالية الثانية؟ ‪................‬‬
‫تُس ّمى القي ُم في المتتالية الحدو َد‪ ،‬وك ّل منها مرتبط برتبته (موقعه)؛ ففي المتتالية ال�أولى‪ ،‬الح ّد ال�أول = ‪،3‬‬
‫والح ّد الرابع = ‪ ،81‬والح ّد السابع = ‪ ،...‬والح ّد التاسع = ‪ ،...‬اأ ّما الح ّد السابع في المتتالية الثانية = ‪ ،...‬وحدّها‬
‫الثامن = ‪. ...‬‬

‫أاتعلّم‪:‬‬
‫لمعرفة حدود المتتالية الهندسية‪ ،‬يلزم معرفة حدّها ال�أول‪ ،‬واأساسها‪ ،‬كما ياأتي‪:‬‬
‫الح ّد ال�أول‪ ،‬الح ّد ال�أول × ال�أساس‪ ،‬والح ّد الثاني × ال�أساس‪ ،‬والح ّد الثالث ‪ x‬ال�أساس‪.... ،‬‬
‫الح ّد العاشر= ‪.......... × ........‬‬

‫‪65‬‬
‫أاو أاجده� بطريقة أاخرى‪:‬‬
‫الح ّد ال�أول‪ ،‬الح ّد ال�أول × ال�أساس‪ ،‬والح ّد ال�أول (ال�أساس × ال�أساس)‪ ،‬والح ّد ال�أول (ال�أساس‬
‫× ال�أساس × ال�أساس)‪.‬‬
‫الح ّد العاشر = الح ّد ال�أول × ( ال�أساس × ‪.)...‬‬

‫علمت حدّها ال�أول‪ ،‬واأ َ‬


‫ساسها‪ ،‬وعد َد الحدود فيها‪.‬‬ ‫ُ‬ ‫والبرنامج ال�آتي يجد جميع عناصر متتالية حسابية‪ ،‬اإذا‬

‫سؤال‪ :‬لماذا كُ ِّر َر في َح ْلقة‪ :‬اإضافة الحدود للقائمة (عدد الحدود ‪)1 -‬؟‬
‫‪ -‬اأشرح معنى الجملة الواردة في اللَّ ِب َنة المجاورة‪.‬‬
‫‪........................................‬‬
‫ما الذي يتم داخل عملية الضرب في هذه الجملة؟ ‪....................................‬‬

‫‪66‬‬
‫المشروع‪:‬‬
‫اأج ُد حدود المتتالية التي حدّها ال�أول ‪ ،5‬واأساسها ‪ ،2‬وعدد حدودها ‪ ،12‬ث ّم اأحسب مجموعها‪.‬‬ ‫ ‬
‫الحدود ‪ ،.... ... ... ... ... ... ... ... ... ... 10 ،5‬ومجموع حدودها = ‪.........‬‬
‫اأكتب برنامجاً يقوم بالسؤال عن ‪ :‬الح ّد ال�أول‪ ،‬واأساس المتتالية الحسابية‪ ،‬وعدد الحدود‪ ،‬ث ّم يجد‬ ‫ ‬
‫مجموعها‪.‬‬
‫‪ -‬ما المتغيرات الواجب اإضافتها؟ ‪...........‬‬
‫‪ -‬اأكتب البرنامج في دفتري‪ ،‬ث ّم اأن ّفذه على الحاسوب‪ ،‬واأتاأكّد من ّ‬
‫صحة البرنامج‪.‬‬
‫اأضيف مقاطع برمجية تجعل البرنامج يحسب قيمة اأ ّي ح ّد في المتتالية عند معرفة رتبته‪ ،‬ث ّم اأستخدم‬ ‫ ‬
‫الملاحظة ال�آتية‪ :‬الح ّد السابع= الح ّد ال�أول × (ال�أساس‪ ،‬مضروباً في نفسه ‪ 6‬مرات)‪ ،‬والح ّد رقم‬
‫س = الح ّد ال�أول × (ال�أساس‪ ،‬مضروباً في نفسه س ‪ 1 -‬مرة)‪.‬‬
‫اأص ّمم برنامجاً لحساب مجموع المتتالية الحسابية‪.‬‬ ‫ ‬
‫اأص ّمم برنامجاً لحساب حدود متتالية فيبوناتشي‪.‬‬ ‫ ‬

‫المتت�لية الحس�بية‪:‬‬
‫ اأكمل النمط ال�آتي‪ ،‬واأكتشف قاعدته‪:‬‬
‫الح ّد ‪10‬‬ ‫الح ّد ‪8‬‬ ‫الح ّد ‪4‬‬ ‫الح ّد ‪3‬‬ ‫الح ّد ‪2‬‬ ‫الح ّد ‪1‬‬
‫‪19‬‬ ‫‪11‬‬ ‫‪9‬‬ ‫‪7‬‬ ‫‪5‬‬

‫الح ّد ال�أول = ‪ ،.....‬والح ّد الثامن = ‪ ،......‬واأساس المتتالية = ‪......‬‬


‫ و ُيطلق عليها المتتالية الحسابية ‪ .... ،11 ،9 ،7 ،5‬حدّها ال�أول ‪ ،5‬واأساسها ‪.2‬‬
‫ قاعدة المتتالية الحسابية هي‪ :‬قيمة الح ّد = الح ّد السابق ‪........ +‬‬
‫ قيمة الح ّد الذي رتبته ن = الح ّد ال�أول ‪ × )....( +‬ال�أساس‪.‬‬
‫ اأكتب برنامجاً لحساب قيمة اأ ّي ح ّد بعد اإدخال الح ّد ال�أول‪ ،‬وال�أساس‪.‬‬

‫‪67‬‬
‫يوجد في الري�ضي�ت عدي ٌد من المتت�لي�ت‪ ،‬من أاشهره�‪:‬‬
‫متت�لية فيبون�تشي‪:‬‬
‫العالم ليوناردو فيبوناتشي هو عالم من اإيطاليا‪ ،‬عاش في الفترة ‪ 1250 - 1170‬ميلادي‪ ،‬تل ّقى علومه على يد‬
‫العلماء العرب في الجزائر‪ ،‬واكتشف متتالية ُت َع ّد من اأهم المتتاليات في العلوم والفنون‪ ،‬وهي‪،2 ،1 ،1 :‬‬
‫‪..... ،34 ،13 ،8 ،5 ،3‬؛ اأي اأ ّن كل ح ّد هو مجموع الحدّين السابقين له‪ ،‬ومن الممتع محاولة كتابة‬
‫ردت اأيضاً اأن اأج َد مجموع س من الحدود‪.‬‬
‫برنامج بلغة سكراتش‪ ،‬يحسب قيمة الح ّد رقم س‪ ،‬وربما اأ ُ‬
‫الح ّد رقم س = الح ّد رقم (س ‪ + )1 -‬الح ّد رقم (س ‪.)2 -‬‬

‫‪68‬‬
‫الدرس الث�ني‬
‫والعشرون‬
‫نقل ك�ئن مع برمجته إالى ك�ئن آاخر‬

‫اأستطيع نقل كائن مع برمجته اإلى كائن اآخر بالضغط على ز ّر الفاأرة‬
‫ال�أيمن‪ ،‬واأختار‪ :‬احفظ الملف على جهاز الحاسوب‪ ،‬كما في ّ‬
‫الصورة‬
‫المقابلة‪.‬‬
‫وعند ذلك يت ّم حفظ هذا الكائن على الجهاز‪ ،‬وينزل‬
‫الصورة‪ ،‬حيث يحتوي هذا الملف على الكائن‬ ‫الملف‪ ،‬كما في ّ‬
‫مع جميع خصائصه‪ ،‬ومقاطعه البرمجية‪ ،‬كما كانت في البرنامج‬
‫ال�أصلي‪ ،‬وبعدها يمكن اإضافته في برامج اأخرى‪.‬‬

‫‪69‬‬
‫الدرس الث�لث‬
‫والعشرون‬
‫الَّ ِلبن�ت إ‬
‫ال�ض�فية‬

‫يعطي برنامج سكراتش اإمكانية اإنشاء لبنات جديدة‪ ،‬فمثلاً‪ :‬لو احتجنا اإنشاء لَ ِب َنة اسمها «مربّع»‪،‬‬
‫يوضح خطوات‬ ‫فبال�إ مكان عمل ذلك بتعريف اللَّ ِب َنة من خلال مقاطع برمجية ترسم المربّع‪ ،‬والشكل ال�آتي ّ‬
‫اإنشاء لَ ِب َنة مربّع‪ ،‬واستخدامها في البرمجة‪:‬‬

‫المشروع‪:‬‬
‫اأنشئ لَ ِب َنة لرسم مثلث متساوي ال�أضلاع‪،‬‬ ‫ ‬
‫واأستخدمها في الرسم‪.‬‬
‫ما ناتج تنفيذ الَّ ِلبنات المجاورة‪.‬‬ ‫ ‬
‫اأستخدم لَ ِب َنة المجموع في برنامج‪.‬‬ ‫ ‬
‫اأع ّرف لَ ِب َنة اإضافية‪ ،‬واأستخدمها في برنامج‪.‬‬ ‫ ‬
‫‪70‬‬
‫الدرس الرابع‬
‫والعشرون‬
‫رسم مثلث ق�ئم الزاوية‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬المقارنة بين ‪ 3‬قيم (اأصغر‪ ،‬واأكبر)‪.‬‬
‫‪ -‬التطبيق على نظرية فيثاغورس‪.‬‬

‫اأرادت ليلى عمل اختبار اأضلاع مثلث؛ لمعرفة ما اإذا كانت تشكّل مثلثاً قائم الزاوية اأم ل�‪.‬‬

‫خطوات سير البرن�مج‪:‬‬


‫عند النقر على ال َعلم‪ُ ،‬يطلب اإدخال اأطوال ال�أضلاع ال�أول‪ ،‬والثاني‪ ،‬والثالث‪ ،‬وحفظها في متغيراتها‪.‬‬ ‫‪.1‬‬
‫تت ّم المقارنة بين اأطوال ال�أضلاع؛ ل�إ يجاد الضلع ال�أكبر (ال َو َتر)‪.‬‬ ‫‪.2‬‬
‫بعد اإيجاد ال َو َتر‪ ،‬اأط ّبق نظرية فيثاغورس على ال�أضلاع اأ×اأ = ب×ب ‪ +‬ج×ج‪.‬‬ ‫‪.3‬‬
‫عند تحقُّق نظرية فيثاغورس‪ ،‬اأرسم المثلث القائم الزاوية‪ ،‬واإلّ� اأقول‪ :‬مثلث غير قائم الزاوية‪.‬‬ ‫‪.4‬‬

‫التحضير للبرن�مج‪:‬‬
‫اإبقاء الكائن في منتصف المنصة (‪ ،)0،0‬متجهاً اإلى اليمين‪.‬‬ ‫‪.1‬‬
‫اإنشاء متغيرات ال�أضلاع ال�أول‪ ،‬والثاني‪ ،‬والثالث‪.‬‬ ‫‪.2‬‬
‫بث رسالة‪« :‬تح ّقق من نظرية فيثاغورس»‪.‬‬ ‫بعد استلام اأطوال ال�أضلاع‪ ،‬يت ّم ّ‬ ‫‪.3‬‬
‫عند استقبال الرسالة‪ ،‬تبداأ عملية الحساب؛ للتح ّقق من اأ ّن ال�أطوال تح ِّقق نظرية فيثاغورس‪ ،‬ويبداأ الرسم‬ ‫‪.4‬‬
‫اإن تح ّققت‪.‬‬
‫اإضافة لَ ِب َنة؛ لرسم المثلث الذي يح ّقق نظرية فيثاغورس‪.‬‬ ‫‪.5‬‬

‫‪71‬‬
‫البرن�مج‪:‬‬

‫‪72‬‬
‫المشروع‪ :‬اأضيف لبنات من اأجل‪:‬‬
‫‪ .1‬اإيجاد ِمساحة المثلث‪ ،‬وطباعتها على الشاشة‪.‬‬
‫‪ .2‬اإيجاد محيط المثلث‪ ،‬وطباعتها على الشاشة‪.‬‬
‫‪ .3‬رسم مربع على ك ّل ضلع من اأضلاع المثلث‪.‬‬

‫‪73‬‬
‫الدرس الخ�مس‬
‫والعشرون‬
‫ضبط المنبه‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬معرفة اآلية عمل ضبط المنبه (‪.)set alarm‬‬
‫‪ -‬اإيقاف جرس المنبه (‪.)stop‬‬
‫‪ -‬عمل عملية غفوة للمنبه (‪.)snooze‬‬
‫‪ -‬التحكم بالصوت‪.‬‬
‫‪ -‬التحكم بالمظاهر‪.‬‬
‫‪ -‬التعديل في كائنات موجودة في المكتبة‪.‬‬

‫اأم ُل طالبة مجتهدة‪ ،‬تحرص على ال�ستيقاظ باكراً؛ للوصول اإلى المدرسة في الوقت المناسب‪ .‬تستخدم‬
‫الخاص بها‪،‬‬
‫ّ‬ ‫اأمل المنبه؛ بهدف تنبيهها عند وقت ال�ستيقاظ الذي تحدّده مسبقاً‪ .‬اأرادت اأمل عمل المنبه‬
‫الذي يشبه ساعة المنبه (‪ )Alarm‬الموجودة على اأجهزة الهاتف المحمول‪ .‬اأساعدها في تصميم تطبيق‬
‫المنبه‪ ،‬وبرمجته‪.‬‬

‫التحضير لتصميم البرن�مج‪:‬‬


‫صوت الرنين في موع ِد التنبيه‪.‬‬
‫َ‬ ‫ أاول�ً� اإضافة كائن الجرس الذي من المفترض اأن ُيصدر‬
‫ ث�ني ً�� تصميم ز ّر ضبط التوقيت (ٍ‪ )Setting‬في المنبه‪.‬‬
‫ ث�لث ً�� تصميم ز ّر اإيقاف المنبه (‪ )Stop‬عن الرنين‪.‬‬
‫ رابع ً�� تصميم ز ّر الغفوة (‪.)Snooze‬‬
‫ خ�مس ً�� اإضافة خلفية مناسبة‪.‬‬
‫ س�دس ً�� اإنشاء متغيرات ل�زمة؛ لتخزين ساعة التنبيه‪ ،‬ودقيقة التنبيه‪ ،‬واليوم الحالي‪.‬‬
‫ س�بع ً�� عرض الزمن الحالي (الساعة‪ ،‬والدقيقة‪ ،‬والثانية الحالية) على المنصة‪.‬‬
‫‪74‬‬
‫خطوات سير البرن�مج‪:‬‬
‫أاول�ً� يظهر الوقت الحالي في تطبيقات ضبط المنبه؛ لمساعدة المستخدم في تحديد الوقت‪ ،‬وتقديره؛‬ ‫ ‬
‫لذا يجب اأن اأعرض الوقت الحالي على منصة العرض‪.‬‬
‫ث�ني ً�� اأضغط (انقر) على ز ّر ضبط المنبه‪.‬‬ ‫ ‬
‫ث�لث ً�� اأساأل عن ساعة التنبيه‪.‬‬ ‫ ‬
‫رابع ً�� اأساأل عن دقيقة التنبيه‪.‬‬ ‫ ‬
‫خ�مس ً�� عند وصول الزمن في جهاز الحاسوب اإلى الساعة ال ُم ْد َخ َلة (ساعة التنبيه)‪ ،‬والدقيقة ال ُم ْد َخ َلة‬ ‫ ‬
‫(دقيقة التنبيه)‪ ،‬اأجعل المنبه يبداأ بالرنين‪.‬‬
‫س�دس ً�� يختفي ز ّر التوقف في البداية‪ ،‬ويظهر حين ير ّن جرس التنبيه‪ ،‬وعندما ينقر المستخدم على ز ّر‬ ‫ ‬
‫اإيقاف المنبه يقف صوت الرنين‪.‬‬
‫س�بع ً�� يختفي ز ّر الغفوة في البداية‪ ،‬ويظهر عندما ير ّن جرس التنبيه‪ ،‬وعندما‬ ‫ ‬
‫ينقر المستخدم على ز ّر الغفوة‪ ،‬يتوقف الرنين لفترة محددة (‪ 10‬دقائق مثلاً)‪،‬‬
‫ث ّم يعود الرنين بعدها من جديد‪.‬‬

‫أاول�ً إاض�فة الك�ئن�ت‪:‬‬


‫من مكتبة الكائنات‪ ،‬اأختار الجرس (‪،)Bell‬‬ ‫ ‬
‫وكائن ز ّر (‪)Button2‬؛ ل�ستخدامه كز ّر لضبط‬
‫ساعة المنبه‪.‬‬
‫باستخدام ال ّر ّسام في سكراتش‪ ،‬اأضيف عبارة‪:‬‬ ‫ ‬
‫اإعداد المنبه (‪.)Set alarm‬‬
‫باستخدام ال ّر ّسام في سكراتش‪ ،‬اأح ّول شكل الجرس اإلى مظاهر مل ّونة‪.‬‬ ‫ ‬
‫اأضيف الكائن ‪ Button3‬من مكتبة الكائنات؛ ل�ستخدامه كز ّر للتوقف‪.‬‬ ‫ ‬
‫باستخدام ال ّر ّسام في سكراتش‪ ،‬اأضيف كلمة توقّف (‪.)stop‬‬ ‫ ‬
‫اأضيف الكائن ‪ Button4‬من مكتبة الكائنات؛ ل�ستخدامه كز ّر للغفوة‪ ،‬واأضيف اإليه كلمة ‪.Snooze‬‬ ‫ ‬
‫األ ّون كائن الجرس‪ ،‬واأ ِع ّد مظاهره اأثناء الرنين‪.‬‬ ‫ ‬
‫‪75‬‬
‫ث�ني ً� عرض التوقيت الح�لي للس�عة‪ ،‬والدقيقة‪ ،‬والث�نية‪:‬‬

‫هل يمكن معرفة التوقيت الحالي لجهاز الحاسوب من خلال اإطار عمل سكراتش؟‬

‫أاتعلّم‪:‬‬
‫ ب إامكان المستخدم الحصول على السنة‪ ،‬والشهر‬
‫الحالي‪ ،‬والتاريخ‪ ،‬واليوم من ال�أسبوع‪ ،‬والساعة‪،‬‬
‫والدقيقة‪ ،‬والثانية‪ ،‬استناداً اإلى ساعة جهاز الحاسوب‬
‫ال ُمستخدَم من خلال لَ ِب َنة‪ :‬في هذه اللحظة من‬
‫التحسس‪ ،‬حيث يوجد سبعة خيارات‪،‬‬ ‫ّ‬ ‫داخل قائمة‬
‫هي‪ :‬السنة‪ ،‬والشهر‪ ،‬وتاريخ اليوم‪ ،‬ويوم ال�أسبوع‪،‬‬
‫والساعة‪ ،‬والدقيقة‪ ،‬والثانية‪.‬‬
‫ في تطبيق ضبط ساعة المنبه‪ ،‬اأحتاج اإلى عرض قيمة الساعة‪ ،‬والدقيقة‪ ،‬والثانية على المنصة‪.‬‬
‫سؤال‪ :‬كيف لي اأن اأقوم بذلك؟ ‪...................................................‬‬

‫أاتذكّر‪ :‬يمكن اإظهار المتغيرات على المنصة‪ ،‬مع المنزلقة‪ ،‬اأو دونها‪.‬‬

‫اأكتب ناتج ك ّل من الَّ ِلبنات ال�آتية‪:‬‬ ‫سؤال‪:‬‬

‫‪76‬‬
‫أاتعلّم‪:‬‬
‫والج ُمعة ‪ ،6‬والسبت ‪.7‬‬‫تُ َعرف اأيام ال�أسبوع في سكراتش باأرقامها‪ :‬ال�أحد ‪ ،1‬وال�إ ثنين ‪ُ ،...،2‬‬ ‫ ‬
‫ثان ‪ ،1‬وشباط ‪ ،2‬واآذار ‪ ،...،3‬وكانون اأول ‪.12‬‬ ‫اأشهر السنة ‪ 12‬شهراً‪ :‬كانون ٍ‬ ‫ ‬
‫في سكراتش‪ ،‬الساعة‪ ،‬والدقيقة‪ ،‬والثانية هي ساعة جهاز الحاسوب‪ ،‬ودقيقته‪ ،‬وثانيته‪.‬‬ ‫ ‬
‫يمكن عرض الساعة‪ ،‬والدقيقة‪ ،‬والثانية على المنصة ب َل ِب َنة‪« :‬قل»‪ ،‬اأو مباشرة‪ ،‬بتاأشير المربع اأيسر‬ ‫ ‬
‫اللَّ ِب َنة في هذه اللحظة‪.‬‬

‫ث�لث ً� ضبط شدّة الصوت‪:‬‬


‫‪ ،‬واأج ّرب الضغط عليها‪ ،‬وهي‬ ‫من قائمة البيانات‪ ،‬لتحديد شدّة الصوت‪ ،‬اأختار اأيقونة‬
‫ظاهرة في المنصة بز ّر الفاأرة ال�أيمن؛ ل�أرى اأربعة خيارات هي‪ :‬عرض عادي‪ ،‬وعرض كبير‪ ،‬والمنزلقة‪،‬‬
‫ِ‬
‫واختف‪ ،‬ث ّم اأختار المنزلقة‪ ،‬واأل�حظ‪...................... .‬‬

‫أاتعلّم‪:‬‬
‫يمكن للمتغير اأن يظهر ومعه منزلقة ُتستخدم لزيادة قيمته مباشرة‪ ،‬اأو اإنقاصها‪ ،‬فمثلاً‪ :‬حين تظهر شدة‬
‫الصوت مع المنزلقة‪ ،‬يمكن تغيير شدة الصوت بوساطة المنزلقة‪.‬‬

‫رابع ً� حفظ س�عة زمن التنبيه‪ ،‬ودقيقته‪ ،‬أاو تخزينه�‪:‬‬


‫اإنشاء متغيرات؛ لتخزين ساعة التنبيه‪ ،‬ودقيقته‪.‬‬

‫‪77‬‬
‫يت ّم تحديد المتغيرات واللوائح‪ ،‬وتعيينها من قائمة البيانات‪ ،‬وهنا اأحتاج اإلى مجموعتين من‬
‫المتغيرات كما ياأتي‪:‬‬
‫ دقيقة‪ ،‬وساعة‪ ،‬وثانية‪ ،‬ويوم‪ :‬وهذه قيم موجودة في جهاز الحاسوب الذي اأستخدمه‪.‬‬
‫ يوم التنبيه‪ ،‬وساعته‪ ،‬ودقيقته‪ :‬وهي القيم المستخدمة لضبط ساعة المنبه‪.‬‬

‫برن�مج إاعداد س�عة المنبه‬

‫اإدخال موعد التنبيه‬

‫اإذا كان موعد التنبيه = الزمن في ساعة الحاسوب‪َ ،‬يرِن الجرس‬

‫خ�مس ً� رنين الجرس‪ ،‬و إايق�فه بشكل ت� ّم‪ ،‬و إايق�فه لفترة محددة‪:‬‬
‫ الغفوة (‪َ :)Snooze‬ل ِب َنة‪ :‬اجعل (اأوقف الرنين) مساوياً (نعم)‪ ،‬تاأمر‬
‫الرنين بالتوقّف‪ ،‬ولَ ِب َنة‪ :‬انتظر‪ ،‬تجعله يصمت فقط مدة ‪ 10‬دقائق = ‪600‬‬
‫ويبث رسالة الرنين التي يلتقطها الجرس‪ ،‬ويبداأ الرنين من جديد‪،‬‬ ‫ثانية‪ّ ،‬‬
‫واأستطيع اأن اأجعل فترة الغفوة اأكثر من ‪ 10‬دقائق‪ ،‬اأو اأق ّل حسبما اأريد‪.‬‬
‫ التوقف (‪ :)Stop‬لَ ِب َنة‪ :‬اجعل (اأوقف الرنين) مساوياً (نعم)‪ ،‬تاأمر الرنين‬
‫بالتوقّف‪ ،‬ول� ترسل رسالة رنين‪ ،‬فيبقى صامتاً‪.‬‬

‫‪78‬‬
‫أاتعلّم‪:‬‬
‫يمكن التحكم بمتغير‪ :‬اجعل الرنين‪ ،‬ليكون واحداً من حالتين‪ :‬نعم‪ ،‬اأو ل�‪ ،‬وذلك بتعيين قيمة له من‬
‫خلال لَ ِب َنة‪ :‬اجعل‪ ،‬في قائمة المتغيرات‪ ،‬والعبارات ال�آتية متكافئة‪.‬‬

‫المشروع‪:‬‬
‫‪.‬‬ ‫حصلت على صوت الجرس‪ ،‬واأغ ّيره اإلى رن ّة اأخرى‬ ‫ُ‬ ‫‪ .1‬اأحدّد من اأين‬
‫‪ .2‬اأغ ّير زمن الغفوة من ‪ 10‬دقائق اإلى ‪ 7‬دقائق‪.‬‬
‫‪ .3‬اأضيف اأيقونة‪ ،‬تُظهر يوم ال�أسبوع‪ ،‬ث ّم اأجعل هذه ال�أيقونة تظهر على المنصة‪ ،‬واأستفيد من المقاطع ال�آتية‪:‬‬
‫بحيث اأستطيع اأن اأجعل الوقت على الحاسوب يظهر كما في الشكل‪ ،‬باستخدام المقطع البرمجي‬
‫المرفق‪ ،‬واأن اأضع هذا المقطع في البرنامج ال�أصلي‪ ،‬والمتغيرات التي يمكن اأن اأستغني عنها‪.‬‬

‫‪79‬‬
80
‫الدرس الس�دس‬
‫والعشرون‬
‫استخدام الك�ميرا لتحريك ك�ئن على الش�شة‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬تعلُّم فتح كاميرا من خلال سكراتش‪.‬‬
‫‪ -‬التحكم في كائن من خلال كاميرا‪.‬‬
‫‪ -‬التحكم في الكائن من خلال التحكم في حركة المنصة‪.‬‬
‫‪ -‬التحكم بشفافية المنصة‪.‬‬
‫‪ -‬تعلُّم كتابة الشرط باستخدام عمليات المقارنة‪.‬‬

‫أاراد اأيمن كتابة برنامج؛ لتحريك الكرة على المنصة من خلال الكاميرا ‪ ،‬اأساعده بال�ستعانة بالخطوات‬
‫ال�آتية‪( :‬يمكن تنفيذ هذا النشاط فقط اإذا توفرت كاميرا مرتبطة بالحاسوب)‬
‫مسموح استخدا ُمها‪ ،‬اأو من مكتبة الكائنات‪،‬‬
‫ٌ‬ ‫ اأدرج صورة للخلفية تمثّل الملعب‪ ،‬اإ ّما صورة من ال�إ نترنت‬
‫اأو صورة موجودة لد ّي‪.‬‬
‫ اأدرج كائن الكرة‪ ،‬واأرسم كائن الهدف في منطقة ال ّر ّسام‪.‬‬

‫‪81‬‬
‫ اأ ِ‬
‫دخل عدداً من القيم لشفافية الفيديو‪،‬‬
‫مثلاً‪ ،100 ، 0 ، 10 :‬واأل�حظ الشاشة‪،‬‬
‫ث ّم اأستنتج‪...................... .‬‬

‫ال�أوامر الخ�صة ب�لك�ميرا‪:‬‬


‫ ماذا يعني ال َّرقم ‪ 20‬في اللَّ ِب َنة المجاورة؟‬

‫ اأغ ّير ال َّر ْقم من ‪ 20‬اإلى اأرقام اأخرى‪ ،‬واأل�حظ الناتج‪.‬‬

‫‪82‬‬
‫تثبيت الهدف في مكان ِه‬
‫ُ‬

‫المشروع‪ :‬اأحاول اأن اأضيف للبرنامج‪:‬‬

‫ عند اإصابة الهدف‪ ،‬اأزيد علامة مختلفة لك ّل لون‪.‬‬


‫ اأجعل الهدف يتح ّرك عشوائياً‪.‬‬

‫‪83‬‬
‫الدرس الس�بع‬
‫والعشرون‬
‫خلفي�ت متحركة‬

‫يقوم المبرمجون اأو مخرجو ال�ألعاب اأو‬


‫المسرحيات بتغيير الخلفيات‪ ،‬ويت ّم تحريك‬
‫الخلفية من يمين المنصة الى يسارها اأو العكس‪،‬‬
‫اأو من اأسفل المنصة اإلى اأعلاها‪ ،‬اأو العكس‪ ،‬وذلك‬
‫بتحريك اأكثر من كائن لتبدو كخلفيات متحركة‬
‫على المنصة‪ .‬اأحضر كائنين من المكتبة‪ ،‬اأو من‬
‫الصور المخزنة على الجهاز‪ ،‬اأو من ال�إ نترنت‪.‬‬
‫ّ‬

‫ اأستكشف ماذا يحدث للكائن عند اأمره بالذهاب اإلى موضع تكون فيه س اأكبر من ‪ ،240‬اأو اأقل من‬
‫‪.-240‬‬

‫ اأبرمج ك ّل من الكائنين كما في الشكلين المجاورين‪.‬‬

‫لماذا اس ُتخدمت عملية المقارنة (‪ > 460-‬الموضع س)؟‬

‫‪84‬‬
‫الدرس الث�من‬
‫والعشرون‬
‫ب�ئع الفواكه‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬برمجة عمل بائع الفواكه‪ ،‬ومحاكاته‪.‬‬
‫‪ -‬ربط المتغيرات بعضها مع بعض‪.‬‬
‫‪ -‬اإنشاء عدّة نسخ من الكائن‪.‬‬
‫‪ -‬اإظهار المتغ ّيرات على المنصة‪.‬‬

‫ولعمل محاكاة لمتجر بيع الفواكه‪ ،‬اأحتاج اإلى ما ياأتي‪:‬‬


‫ بائع‪.‬‬
‫ بضاعة‪.‬‬
‫ ُمشْ َت ٍر‬

‫يحدّد البائع في الصباح اأسعار الخضروات والفواكه المتوفرة في متجره؛ اإذ‪:‬‬


‫ يحذف اأسعار اليوم السابق‪.‬‬
‫ يحذف ال�أثمان المتبقية من البيع السابق‪.‬‬
‫ يقول للمشتري‪ :‬اأهلاً‪ ،‬وسهلاً‪.‬‬
‫ يساأل الزبون (المشتري) ع ّما يحتاجه‪ :‬كم كيلو غرام من الموز؟‪ ،‬ث ّم كم كيلو غرام من التفاح؟‪ ،‬ث ّم‬
‫كم كيلو غرام من ال ِبطّيخ؟‬
‫ يحسب المجموع الكلي‪.‬‬

‫‪85‬‬
‫الك�ئن�ت‪:‬‬
‫‪ .1‬من قائمة الكائنات‪ ،‬اأختار الكائنات‪ :‬ال ِبطّيخ‬
‫(‪ ،)Watermelon‬والموز (‪،)Bananas‬‬
‫والتفاح (‪ ،)Apple‬واأح ّول اأسماءها اإلى‬
‫اللغة العربية‪.‬‬
‫‪ .2‬اأختار المشتري من الكائنات‪ ،‬وهو ‪،.....‬‬
‫واأغ ّير اسمه اإلى المشتري‪.‬‬
‫‪ .3‬اأختار البائع من الكائنات‪ ،‬وهو ‪،.......‬‬
‫واأغ ّير اسمه اإلى جمال‪.‬‬
‫‪ .4‬اأستخدم اللَّ ِب َنة‪ :‬اأنشئ نسخة من نفسي؛ ل�إ ظهار‬
‫عدّة صور من كائنات الفواكه على الشاشة‪.‬‬
‫(توجد الفواكه في مجموعات عند البائع)‪.‬‬

‫َتكرار عدة نُسخ من الفواكه‪:‬‬


‫يب ّين الشكل المجاور كيفية اإظهار أاكثر من صورة لكائن‬
‫(التفاحة)‪ ،‬باستخدام لَ ِب َنة اأنشئ نسخة من نفسي‪:‬‬
‫الخاص ب إاظهار مجموعة من ك ّل‬
‫ّ‬ ‫ اأكتب المقطع البرمجي‬
‫من الموز‪ ،‬وال ِبطّيخ‪.‬‬
‫‪----------------------‬‬
‫‪----------------------‬‬

‫‪86‬‬
‫برمجة عملية البيع‪:‬‬
‫اأنشئ المتغ ّيرات ال�آتية في قائمة البيانات‪:‬‬
‫المجموع‬ ‫ثمن‬ ‫ثمن‬ ‫ثمن‬ ‫ع‬ ‫سعر كغم سعر كغم سعر كغم‬ ‫اسم‬
‫الكلّ ّي‬ ‫التفاح‬ ‫الموز‬ ‫ال ِبطّيخ‬ ‫التفاح‬ ‫الموز‬ ‫ال ِبطّيخ‬ ‫المتغ ّير‬
‫مجموع اأثمان‬ ‫ما الذي‬
‫الكمية‬ ‫سعر كغم‬ ‫سعر كغم‬ ‫سعر كغم‬
‫ع × ال ِبطّيخ ع × الموز ع × التفاح الموز‪ ،‬وال ِبطّيخ‪،‬‬ ‫يمثله‬
‫التفاح بالكيلو غرام‬ ‫الموز‬ ‫ال ِبطّيخ‬
‫والتفاح‪.‬‬ ‫المتغ ّير؟‬

‫أاتعلّم‪:‬‬
‫خاصاً به‪،‬‬
‫اأحدّد المتغ ّيرات في قائمة البيانات من المقاطع البرمجية‪ ،‬حيث ُيعطى ك ّل متغ ّير اسماً ّ‬
‫وال�سم يمكن اأن يكون حرفاً‪ ،‬اأو كلم ًة‪ ،‬اأو عدّة كلمات‪ ،‬ول�إ ظهار المتغ ّير على المنصة‪ ،‬اأضغط المربع‬
‫الصغير على يسار اسم المتغ ّير مرة واحدة‪.‬‬

‫يستعد الب�ئع ليوم جديد‪:‬‬


‫‪ .1‬اأجعله يقف خلف مكان عرض الفواكه‪ ،‬واأجعله بحجم مناسب‪ ،‬واتجاه مناسب‪ ،‬وفي المقاطع‬
‫المقابلة‪ ،‬اأجد‪:‬‬
‫ موضع البائع ( ‪.) ،‬‬
‫ نسبة حجم الكائن من الحجم ال�أصلي ____‪.%‬‬
‫ اتجاه الكائن (يمين المنصة‪ ،‬يسارها‪ ،‬فوقها)‪----- .‬‬
‫‪ .2‬اأحذف اأسعار اليوم السابق‪ ،‬واأجعل قيمة ك ّل منها = صفر‪ ،‬ث ّم اأدخل بدل� ً منها قيماً جديدة‪.‬‬
‫‪ .3‬يحدّد البائع سعر كيلو ك ّل نوع من الفاكهة‪.‬‬

‫‪87‬‬
‫ بعد ذلك‪ ،‬يعلن اأ ّن المح َّل مفتوح‪ ،‬ويقول للزبائن‪ :‬اأهلاً‪ ،‬وسهلاً‪ ،‬ويغ ّير مظهره للمظهر المجاور؛‬
‫استعداداً ل�ستقبال الزبائن بهيئة جميلة‪.‬‬

‫‪.‬‬

‫‪88‬‬
‫المشروع‪ :‬اأضيف اإلى البرنامج السابق ما اأمكن من التحسينات‪ ،‬اأو ال�إ ضافات‪ ،‬مثل‪:‬‬

‫اإضافة صنف جديد من الفواكه‪.‬‬ ‫‪.1‬‬


‫وضع خلفية مناسبة للنشاط‪.‬‬ ‫‪.2‬‬
‫اإضافة شرط يمنع اإدخال سعر‪ ،‬اأو عدد كيلوغرامات اأق ّل من صفر‪.‬‬ ‫‪.3‬‬
‫خصم ‪( 10%‬اأو اأ ّي نسبة اأخرى) اإذا اأصبح مجموع الفاتورة اأكثر من ‪ ،49‬وخصم ‪ ،20%‬اأو اأ ّي‬ ‫‪.4‬‬
‫نسبة اأخرى‪ ،‬عندما يصبح المجموع الكلي اأكثر من ‪.99‬‬
‫حين يعطي الشاري ورقة نقد اأكبر من قيمة المجموع‪ ،‬اأضيف لبنات تطلب المبلغ المدفوع‪،‬‬ ‫‪.5‬‬
‫ومجموع الفاتورة منه‪ ،‬ويحدد قيمة الباقي للاإ رجاع للشاري؟‬
‫اأكتب الفاتورة كاملة‪ ،‬لتشمل اأربعة اأعمدة‪ :‬الصنف‪ ،‬والكمية‪ ،‬وسعر ال َوحدة‪ ،‬وثمن الصنف‪.‬‬ ‫‪.6‬‬
‫‪89‬‬
‫الدرس الت�سع‬
‫والعشرون‬
‫دفتر العن�وين‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬تطبيق استخدام المتغ ّيرات واللوائح‪.‬‬
‫‪ -‬العمليات المنطقية وعمليات المقارنة‪.‬‬

‫أارادت زميلتي اإنشاء دفتر عناوين‪ ،‬تحفظ به ‪ 6‬معلومات عن صديقاتها‪ ،‬وهي‪ :‬ال�سم‪ ،‬و َر ْقم الهاتف‪،‬‬
‫والمدينة‪ ،‬وعنوان السكن‪ ،‬والبريد ال�إ لكتروني‪ ،‬والعمر‪ .‬اأساعدها‪ ،‬واأكتب خطوات تصميم دفتر العناوين‪،‬‬
‫ث ّم اأكتب برنامجاً يؤ ّدي ال َمه ّمة المطلوبة‪.‬‬

‫التحضير لتصميم البرن�مج‪:‬‬


‫للمعلومات التي‬ ‫ست لوائح‬‫أاول�ً� اإنشاء ّ‬ ‫ ‬
‫تو ّد حفظها‪.‬‬
‫ث�ني ً�� تصميم كائن‪ :‬اإضافة شخص جديد‬ ‫ ‬
‫لدفتر العناوين‪.‬‬
‫ث�لث ً�� تصميم كائن؛ للبحث عن شخص ما‬ ‫ ‬
‫اإذا كان موجوداً في الدفتر اأم ل�‪.‬‬
‫رابع ً�� اإضافة كائن يمثّل الشخص صاحب‬ ‫ ‬
‫الدفتر‪ ،‬يساأل عن معلومات الشخص‪،‬‬
‫ويد ّونها‪ ،‬ويحفظها‪.‬‬
‫خ�مس ً�� اإضافة بيانات‪ ،‬واأشخاص جدد‪.‬‬ ‫ ‬
‫س�دس ً�� البحث عن شخص اإن كان موجوداً‬ ‫ ‬
‫في القائمة اأم ل�‪.‬‬

‫‪90‬‬
‫تصميم خطوات سير البرن�مج‪:‬‬
‫ ال�إ علان عن البدء‪ ،‬واأ ّن الدفتر مفتوح وجاهز ل�ستقبال بيانات ال�أشخاص‪ ،‬ومن خلال كائن اإضافة‪،‬‬
‫عند النقر عليه؛ يعلن اأ ّن الدفتر جاهز ومستع ّد ل�إ ضافة اأشخاص جدد‪.‬‬

‫إادخ�ل البي�ن�ت للدفتر‪:‬‬


‫ السؤال عن اسم الشخص‪ ،‬واإدخاله في ل�ئحة ال�أسماء‪،‬‬
‫ف إاذا كان ال�سم غير موجود في الدفتر‪ ،‬تت ّم اإضافته اإلى‬
‫ل�ئحة اأسماء ال�أشخاص‪ ،‬واإذا كان موجوداً‪ ،‬فيت ّم اإعلام‬
‫المستخدم بذلك‪ ،‬وينتظر اإدخال اسم جديد غير موجود‬
‫في ل�ئحة اأسماء ال�أشخاص‪.‬‬

‫ السؤال عن َر ْقم الهاتف المحمول‪،‬‬


‫واستقبال ال�إ جابة‪ ،‬اإذا كان ال َّر ْقم ال ُم ْد َخل‬
‫يتك ّون من عشر منازل‪ ،‬ومحصور بين‬
‫ال َّر ْقمين (‪ )05 00 00 00 00‬وال َّر ْقمين‬
‫(‪ ،)05 99 99 99 99‬تت ّم اإضافته‬
‫اإلى ل�ئحة اأرقام الهواتف (الدارج هو اأ ّن‬
‫اأرقام الهواتف المحمولة هي ‪ 10‬منازل‪،‬‬
‫تبداأ بـ ‪ ،)05‬واإذا كان ال َّر ْقم غير ذلك‪،‬‬
‫فيت ّم اإعلام المستخدم‪ ،‬و ُيك َّرر السؤال‬
‫دخل َر ْقماً مقبول�ً‪.‬‬ ‫عليه؛ حتّى ُي ِ‬
‫‪91‬‬
‫السؤال عن مدينة السكن‪ ،‬واستقبال ال�إ جابة‪ ،‬وتدوينها في ل�ئحة المدينة‪.‬‬ ‫ ‬
‫السؤال عن السكن بالتفصيل (الحي مثلاً‪ ،‬اأو الشارع)‪ ،‬وتدوينه في عنوان السكن‪.‬‬ ‫ ‬
‫السؤال عن البريد ال�إ لكتروني (‪ ،)email‬وتدوينه في ل�ئحة البريد ال�إ لكتروني‪.‬‬ ‫ ‬
‫السؤال عن العمر‪ ،‬واستقبال ال�إ جابة‪ ،‬اإذا كان العمر بين ‪ 120-0‬سنة‪ ،‬فيضيفه للائحة العمر‪ ،‬واإذا كان‬ ‫ ‬
‫خارج هذا المجال‪ ،‬فيت ّم اإعلام المستخدم‪ ،‬ويك ّرر السؤال عليه؛ حتّى ُي ْد ِخل عمراً مقبول�ً‪.‬‬

‫البحث عن أاسم�ء ال�أشخ�ص في الدفتر‪:‬‬


‫ تبداأ عملية البحث بالسؤال عن اسم الشخص‪ ،‬وتُستقبل ال�إ جابة‪.‬‬
‫ تبداأ عملية البحث عن ال�سم في ل�ئحة اأسماء ال�أشخاص من البداية‪ ،‬وتستمر حتّى تجد ال�سم‪.‬‬
‫ اإذا ُو ِج َد ال�سم في ل�ئحة اأسماء ال�أشخاص‪ ،‬فتت ّم طباعة ك ّل المعلومات عن‬
‫الشخص على المنصة‪ ،‬واإن لم تجده تنتقل للاسم الثاني في اللائحة‪ ،‬وهكذا‬
‫تستمر؛ حتّى تصل عملية البحث اإلى نهاية اللائحة‪ ،‬واإن لم تجده تُ ْع ِلم‬
‫المستخدم بعدم وجود هذا ال�سم في دفتر العناوين‪.‬‬
‫‪92‬‬
‫أاتعلّم‪:‬‬
‫لك ّل اسم من ال�أسماء في اللائحة َر ْقم يب ّين عنوانه فيها‪ ،‬فلو اشتملت اللائحة على اأربعة اأسماء‪،‬‬
‫ف إا ّن لك ّل منها عنوان (ترتيب)؛ فعنوان اأسامة هو ‪ ،1‬وعنوان هند هو ‪ ،3‬وهكذا‪ ،‬واأستفيد من هذه‬
‫الخاصية للبحث عن اسم‪ ،‬اأو عنصر في القائمة‪.‬‬
‫ اأستخدم الَّ ِلبنات ال�آتية في عملية البحث‪:‬‬
‫لكل شخص في اللائحة ترتيب‬
‫اسم الشخص‬
‫‪1‬‬ ‫اأسامة‬
‫‪2‬‬ ‫سهى‬
‫‪3‬‬ ‫هند‬
‫‪4‬‬ ‫طلال‬

‫من ق�ئمة البي�ن�ت‪ ،‬أانشئ المتغ ّيرين‪ :‬عدّاد‪ ،‬ونتيجة البحث‪ ،‬كم� في الشكل ال�آتي‪:‬‬
‫ أاستخدم متغ ّير عدّاد؛ لحفظ ترتيب العنصر‬
‫الذي اأفحص مطابقته للاسم الذي يت ّم البحث‬
‫عنه‪.‬‬
‫ أاستخدم متغ ّير نتيجة البحث؛ لحفظ ترتيب‬
‫ال�سم المطابق للاسم الذي يت ّم البحث عنه‪.‬‬
‫ اإعطاء المعلومات المتوفرة‪ ،‬لتظهر مدة ‪1.5‬‬
‫ثانية‪.‬‬

‫‪93‬‬
‫المشروع‪ :‬اأحاول اأن اأقوم بما اأستطيع من ال�آتية‪:‬‬
‫‪ .1‬اإعادة كتابة جزء من البرنامج يجعله يقف حين يجد ال�سم دون فحص بقية ال�أسماء‪.‬‬
‫‪ .2‬اإضافة ل�ئحة تساأل عن اسم العائلة‪ ،‬واإضافته للائحة ال�أسماء‪.‬‬
‫‪ .3‬اإضافة طريقة بحث ُت َخ ِّير المستخدم بين البحث عن طريق ال�سم‪ ،‬اأو عن طريق َر ْقم الهاتف‪.‬‬
‫‪ .4‬اإضافة طريقة بحث تجد جميع من يسكنون في مدينة واحدة‪.‬‬
‫‪ .5‬تغيير كائن ال�إ ضافة؛ ليصبح باللغة العربية (اأضف)‪.‬‬

‫‪94‬‬
‫الثلاثون‬
‫الدرس‬
‫لعبة الهدف‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬تصميم كائنات تحاكي كائنات حقيقية في ال ّر ّسام‪.‬‬
‫‪ -‬التحكّم في حركة مجموعة من الكائنات‪.‬‬
‫‪ -‬تحكيم الفوز اأو الخسارة‪ ،‬بناء على شروط اللعب‪.‬‬

‫اأراد عبد الله تصميم لعبة تتك ّون من بندقية صيد‪ ،‬تصيب اأهدافاً طائرة‪ ،‬اأو متحركة كال�آتي‪:‬‬
‫ أاول�ً� تصميم البندقية بوساطة ال ّر ّسام‪.‬‬
‫ ث�ني ً�� اإضافة هدف متحرك على شكل طائر جميل من مكتبة الكائنات‪.‬‬
‫ ث�لث ً�� اإنشاء عدّاد يزداد بمقدار واحد‪ ،‬كلّما ت ّمت اإصابة الهدف‪.‬‬
‫ رابع ً�� تحديد شرط اأو شروط توقّف اللعبة‪.‬‬

‫أاول�ً تصميم البندقية‪:‬‬


‫تتكون البندقية من اأربعة مستطيلات‪ ،‬ك ّل منها بلون مختلف‪.‬‬ ‫ ‬
‫توضع الرصاصة في البندقية‪.‬‬ ‫ ‬
‫توضع البندقية في موضع معين على الشاشة (اأسفل الشاشة‪ ،‬الموضع (‪ )160- ،0‬مثلاً)‪ ،‬ويكون‬ ‫ ‬
‫اتجاهها للاأعلى عند بدء اللعب‪ ،‬ويت ّم توجيهها يميناً بوساطة الضغط على السهم ال�أيمن‪ ،‬ويساراً‬
‫بوساطة الضغط على السهم ال�أيسر‪.‬‬
‫تبقى الرصاصة ملتصقة بالبندقية‪ ،‬وتتجه يميناً اأو يساراً مع اتجاه البندقية‪.‬‬ ‫ ‬
‫تنطلق الرصاصة من البندقية عند الضغط على مفتاح المسافة‪.‬‬ ‫ ‬

‫ث�ني ً� إاض�فة الهدف‪:‬‬


‫ في هذه المرحلة‪ ،‬اأجعل الهدف هو طائر الب ّبغاء (‪ )Parrot‬من مكتبة الكائنات‪.‬‬
‫‪95‬‬
‫ث�لث ً� إاص�بة الهدف‪:‬‬
‫ اإذا أاصابت (ل�مست) الرصاصة الطائر بعد انطلاقها من البندقية‪ ،‬ف إا ّن اللاعب يربح نقطة اإضافية‪،‬‬
‫وتختفي الرصاصة‪ ،‬لتعود اإلى البندقية؛ استعداداً ل�نطلاقها مرة اأخرى‪.‬‬
‫الصاد ّي للطائر)‪ ،‬يخسر‬
‫حداثي ّ‬
‫ّ‬ ‫الصاد ّي للرصاصة ال�إ‬
‫حداثي ّ‬
‫ّ‬ ‫ واإذا اأخطاأت الرصاصة الهدف (تعدّى ال�إ‬
‫اللاعب نقطة‪ ،‬وتختفي الرصاصة‪ ،‬لتعود اإلى البندقية؛ استعداداً ل�نطلاقها مرة اأخرى‪.‬‬

‫رسم البندقية والرص�صة‪:‬‬


‫ رسم البندقية‪:‬‬
‫‪ -‬اأختار رسم كائن جديد من المنصة الرئيسة في سكراتش‬
‫(ينتقل العمل اإلى منطقة ال ّر ّسام)‪.‬‬

‫‪ -‬اأرسم اأربعة مستطيلات تختلف في حجمها من ال�أكبر‬


‫للاأصغر‪ ،‬وبدرجات األوان مناسبة‪ ،‬كما في الشكل‬
‫المجاور‪ ،‬ويجب رسم الكائن في مركز منصة ال ّر ّسام‪.‬‬
‫‪ -‬اأغ ّير اسم كائن (البندقية) من المنصة من خلال الخطوات‬
‫المبينة في الشكل المجاور َوفق الخطوات ‪.3 ،2 ،1‬‬

‫‪96‬‬
‫رسم الرص�صة‪:‬‬
‫‪ -‬اأرسم كائناً جديداً هو (الرصاصة) في ّ‬
‫رسام سكراتش على شكل كرة صغيرة‪،‬‬
‫وباللون ال�أحمر (اأو لون اآخر)‪.‬‬

‫إاش�رة بداية اللعب‪:‬‬


‫‪ -‬في ال ّر ّسام‪ ،‬اأص ّمم كائناً جديداً على شكل سهم لونه اأخضر‪ ،‬ول�حقاً اأبرمجه‪ ،‬بحيث‬
‫يبث رسالة البداية؛ لبدء اللعب‪ ،‬حينما يت ّم الضغط عليه‪.‬‬ ‫ّ‬

‫الخلفية‪:‬‬
‫‪ -‬ل� أ ّن الصيد يت ّم في مناطق فيها ماء واأشجار؛ لكثرة الطيور حول الماء‪ ،‬اأحضر خلفية‬
‫غابة‪ ،‬وبحيرة (‪ )Lake‬من مكتبة الخلفيات‪.‬‬

‫برمجة الك�ئن�ت‪:‬‬
‫بعد اأن اكتملت عناصر اللعبة الرئيسة‪ ،‬اأكتب البرنامج‪.‬‬
‫ برمجة الط�ئر‪:‬‬

‫‪97‬‬
‫ برمجة ك�ئن إاش�رة بداية اللعب‪:‬‬
‫تظهر اإشارة البدء في طرف المنصة ال�أيمن السفلي‪ ،‬موضع‬
‫(‪ ،)133- ،175‬وعند الضغط عليها‪ ،‬تُ َب ّث رسالة‪ :‬ابداأ‬
‫اللعبة‪ ،‬ث ّم تختفي‪.‬‬

‫ برمجة ك�ئن البندقية‪:‬‬


‫‪ -‬عند استقبال اأمر البدء باللعب‪ ،‬تظهر البندقية في منتصف‬
‫اأسفل الشاشة‪ ،‬وتتجه اإلى ال�أعلى‪.‬‬
‫‪ -‬يتم التحكم باتجاه البندقية يميناً اأو يساراً بوساطة اأسهم‬
‫اليمين‪ ،‬اأو اليسار‪.‬‬

‫ برمجة ك�ئن الرص�صة‪:‬‬


‫‪ -‬يجب اأن يبقى موضع الرصاصة ملاصقاً لموضع بندقية الصيد‪.‬‬
‫‪ -‬عند استدارة البندقية يميناً اأو يساراً‪ ،‬تتحرك الرصاصة لذات‬
‫ال�تجاه (حتّى تبقى مع اتجاه البندقية)‪.‬‬
‫‪ -‬تنطلق الرصاصة عند الضغط على مفتاح المسافة‪.‬‬
‫‪ -‬تبقى الرصاصة داخل البندقية لحين ال�إ طلاق‪.‬‬

‫‪98‬‬
‫تقرير إاص�بة الهدف‪ ،‬أاو عدم إاص�بته‪:‬‬

‫المشروع‪ :‬اأحاول اأن اأضيف ما اأستطيع من ال�آتية‪:‬‬


‫‪ .1‬بعد اأن اأحصل على عدد اإصابات يصل اإلى ‪ ،5‬اأنتقل اإلى مست ًوى ٍ‬
‫ثان تكون فيه حركة الطائر اأكثر‬
‫سرعة؛ اأي اأ ّن اإصابته تصبح اأصعب‪.‬‬
‫‪ .2‬اأضيف طائراً جديداً‪ ،‬تكون اإصابته ممنوعة‪ ،‬واإن اأصابه الصياد بالخطاأ‪ ،‬يخسر واحداً‪ ،‬بينما يربح‬
‫واحداً عند اإصابة الطائر ال�أول (طائر يس ّبب الربح‪ ،‬وطائر يس ّبب الخسارة)‪.‬‬
‫‪ .3‬اأغ ِّير موضع البندقية اإلى الزاوية اليسرى السفلى‪.‬‬
‫‪ .4‬اإذا وصل عدد ال�إ صابات اإلى ‪ ،10‬اأكتب عبارة ‪ :‬ممتاز‪ ،‬حصلت على ‪ 10‬نقاط‪ ،‬ث ّم اأتوقّف‪.‬‬
‫‪.‬‬ ‫‪ .5‬اأغ ّير اإشارة البدء اإلى‪:‬‬
‫‪99‬‬
‫الوحدة الرابعة‬
‫برمجة تطبيق�ت حي�تية‬

‫مقدمة الوحدة‬
‫ال�أجهزة وال�أدوات التي اأراها في البيت‪ ،‬والمدرسة‪ ،‬والمستشفى‪ ،‬والمصنع‪ ،‬وعديد ال�أماكن ال�أخرى‪،‬‬
‫هي اأدوات تسير بناء على برامج كتبها اأشخاص يعرفون البرمجة‪ .‬فال�آلة الحاسبة‪ ،‬والمصعد‪ ،‬والساعة‪ ،‬ما‬
‫هي اإلّ� اأمثلة بسيطة على ال�أدوات التي اأصبح ال�ستغناء عنها اأمراً صعباً‪ .‬ويعتمد تطور هذه ال�أجهزة بصورة‬
‫رئيسة على دقّة البرمجة التي تس ّيرها‪.‬‬

‫‪100‬‬
‫أاهداف الوحدة‬

‫ُيتَوقَّع من الطلبة بعد دراسة هذه ال َوحدة‪ ،‬والتف�عل مع أانشطته�‪ ،‬أان يكونوا ق�درين على‪:‬‬
‫‪ -1‬الربط بين المتغيرات والقيم الثابتة‪.‬‬
‫‪ -2‬برمجة العمليات الحسابية ال�أساسية‪.‬‬
‫‪ -3‬استخدام القلم بصورة متقدمة‪.‬‬
‫‪ -4‬برمجة القصص والرسوم المتحركة‪.‬‬
‫‪ -٥‬برمجة تغيير الخلفيات‪.‬‬
‫‪ -6‬التعامل مع اللوائح‪ :‬اإضافة‪ ،‬وتعديل‪ ،‬وحذف‪.‬‬
‫‪ -٧‬توظيف اإعدادات الحاسوب في البرمجة‪.‬‬
‫‪ -8‬برمجة التعامل مع الجمل النصية‪.‬‬

‫‪101‬‬
‫الدرس الواحد‬
‫والثلاثون‬
‫ال�آلة الح�سبة‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬تصميم اآلة حاسبة على المنصة‪.‬‬
‫‪ -‬التعامل مع البيانات ال ُم ْد َخ َلة في الحاسبة‪ ،‬واإخراج النتائج‪.‬‬
‫‪ -‬التعرف اإلى مزيد من اأوامر الجمل الشرطية‪.‬‬

‫يوفر اإطار عمل سكراتش مجموعة من الَّ ِلبنات البرمجية‪ ،‬وظيفتها اإجراء العمليات الحسابية المختلفة‪ ،‬بما‬
‫فيها العمليات الحسابية ال�أساسية‪ :‬الجمع‪ ،‬والطرح‪ ،‬والضرب والقسمة‪.‬‬

‫التحضير لتصميم البرن�مج‪:‬‬


‫ أاول�ً� اأرسم كائنات (اأزرار) تحاكي اأزرار ال�أرقام في ال�آلة الحاسبة‪،‬‬
‫واأزراراً تحاكي اأزرار العمليات الحسابية ال�أساسية‪ ،‬وز ّر المساواة؛‬
‫لعرض الناتج‪.‬‬
‫ ث�ني ً�� اأنشئ المتغيرات اللازمة لتخزين القيم المستخدمة في‬
‫اإجراء العملية الحسابية‪ ،‬واأعرضها‪ ،‬مثل‪ :‬ال َّر ْقم ال�أول «س»‪،‬‬
‫وال َّر ْقم الثاني «ص»‪ ،‬و«العملية»‪ ،‬و«النتيجة»‪.‬‬

‫أاول�ً إاض�فة الك�ئن�ت‪:‬‬


‫اأرسم كائنات (اأزرار) تحاكي اأزرار ال�آلة الحاسبة‪ ،‬باستخدام‬
‫رسام سكراتش‪ ،‬ك ّل زر منها يحمل َر ْقماً من ‪ 0‬اإلى ‪ ،9‬واأزرار‬
‫العمليات الحسابية ال�أساسية ( ‪ ، )/ ،* ، - ،+‬وز ّر المساواة‪.‬‬

‫‪102‬‬
‫ث�ني ً� إادخ�ل ال�أرق�م‪:‬‬
‫ اأنقر على اأزرار ال�أرقام؛ لتكوين ال َّر ْقمين ال�أول‪ ،‬والثاني‪ ،‬ويجب‬
‫تخزين ال َّر ْقم ال�أول في المتغير «س»‪ ،‬وال َّر ْقم الثاني في المتغير‬
‫«ص»‪.‬‬
‫ من الضروري اأن تكون قيمة ال َّر ْقم ال�أول «س»‪ ،‬وال َّر ْقم الثاني‬
‫«ص»‪ ،‬و«العملية»‪ ،‬و«النتيجة» فارغة عند بداية تشغيل‬
‫البرنامج‪.‬‬

‫كيف اأحدّد اأ ّن ال َّر ْقم المدخل هو ال َّر ْقم ال�أول اأو ال َّر ْقم الثاني؟‬

‫أاتعلّم‪:‬‬
‫ ال َّر ْقم ال�أول‪ :‬هو ال َّر ْقم الذي يت ّم اإدخاله قبل اختيار العملية الحسابية‪ ،‬و ُيخ َّزن في المتغير س‪.‬‬
‫ ال َّر ْقم الثاني‪ :‬هو ال َّر ْقم الذي يت ّم اإدخاله بعد اختيار العملية الحسابية‪ ،‬و ُيخ ّزن في المتغير ص‪.‬‬

‫مث�ل‪:‬‬
‫في البداية‪ ،‬تكون قيمة ال َّر ْقم ال�أول «س» فارغة‪ ،‬وعند النقر على ال ّز ّر «‪ »1‬تصبح قيمة «س»‬
‫‪ ،‬اإذن «س» الجديدة‬ ‫مساوية لقيمتها السابقة (فراغ)‪ ،‬مربوطة بقيمتها الجديدة (‪)1‬‬
‫= ‪ .1‬وعند النقر على ال ّز ّر «‪ »2‬تصبح قيمة «س» مساوية لقيمتها السابقة (‪ ،)1‬مربوطة بقيمتها‬
‫‪ ،‬اإذن «س» الجديدة = ‪.12‬‬ ‫الجديدة (‪)2‬‬

‫‪103‬‬
‫برمجة أازرار ال�أرق�م‪:‬‬
‫ اأفحص قيمة العملية الحسابية‪:‬‬
‫‪ -‬اإذا كانت العملية الحسابية فارغة‪ ،‬ف إا ّن ال َّر ْقم‬
‫ال�أول لم يت َّم اإدخاله؛ لذا اأخ ّزن ال َّر ْقم ال ُم ْد َخل‬
‫خصص لتخزين ال َّر ْقم ال�أول «س»‪.‬‬ ‫في المتغير ال ُم َّ‬
‫‪ -‬اإذا كانت العملية الحسابية غير فارغة (ت ّم‬
‫الضغط على ز ّر العملية)‪ ،‬فيكون قد ت ّم اإدخال‬
‫ال َّر ْقم ال�أول؛ لذا اأخ ّزن ال َّر ْقم المدخل في‬
‫المتغير المخصص لتخزين ال َّر ْقم الثاني «ص»‪.‬‬
‫ لتكوين ال َّر ْقم ال�أول‪ ،‬اأخ ّزن قيم الكائنات (ال�أزرار) التي ت ّم النقر عليها قبل النقر على العملية الحسابية في‬
‫الخاص بتخزين ال َّر ْقم ال�أول «س»‪.‬‬
‫ّ‬ ‫المتغير‬
‫ لتكوين ال َّر ْقم الثاني‪ ،‬اأخ ّزن قيم الكائنات (ال�أزرار) التي ت ّم النقر عليها بعد النقر على العملية الحسابية في‬
‫الخاص بتخزين ال َّر ْقم الثاني «ص»‪.‬‬
‫ّ‬ ‫المتغير‬
‫أال�حظ‪ :‬عند اإدخال ال�أرقام والعمليات اإلى ال�آلة الحاسبة‪ ،‬تُعرض ال�أرقام ال ُم ْد َخ َلة‪ ،‬والعملية‬
‫خصص لعرض النتيجة على المنصة‪.‬‬ ‫الحسابية في المكان ال ُم َّ‬
‫ُت َعرض النتيجة في ال�آلة الحاسبة في صندوق مستطيل الشكل فوق ال�أزرار‪ ،‬ويمكن‬
‫) اإلى عرض‬ ‫تغيير طريقة عرض المتغير «النتيجة» من عرض العادي (‬
‫)؛ لمحاكاة طريقة العرض في ال�آلة الحاسبة التقليدية‪ ،‬وعن طريق‬ ‫كبير(‬
‫النقر بز ّر الفاأرة ال�أيمن على متغير «النتيجة»‪ ،‬تظهر قائمة بطرق العرض للمتغيرات‪،‬‬
‫عندها اأختار العرض الكبير من القائمة‪.‬‬
‫ اأقوم بربط قيم المتغيرات الثلاث‪« :‬س»‪ ،‬و«العملية»‬
‫و«ص» بعد الضغط على ك ّل رقم؛ لتحديث قيمة‬
‫المتغير «النتيجة» بعد ك ّل نقرة‪.‬‬

‫‪104‬‬
‫مث�ل‪:‬‬
‫‪.‬‬ ‫اإذا كان المتغير «س» = ‪ ،3‬و«العملية» = ‪ ،+‬و «ص» = ‪ ،12‬ف إا ّن «النتيجة»=‬

‫ث�لث ً� إادخ�ل العملية الحس�بية (برمجة أازرار العملي�ت الحس�بية)‪:‬‬


‫خصص‬‫ أانقر على زر عملية حسابية‪ ،‬واأخ ّزنها في المتغير ال ُم َّ‬
‫لتخزين العملية «العملية»‪.‬‬
‫خصص للنتيجة‪ ،‬واأربط‬ ‫ اأعرض العملية الحسابية في المكان ال ُم َّ‬
‫قيم المتغيرات «النتيجة» و«العملية»‪.‬‬

‫رابع ً� حس�ب النتيجة‪ ،‬وعرضه� (برمجة ز ّر المس�واة)‪:‬‬


‫ اأفحص العملية الحسابية التي اأ ِ‬
‫دخلت‪ ،‬واأختار اللَّ ِب َنة المناسبة؛ ل�إ جراء‬
‫العملية الحسابية بين ال َّر ْقم ال�أول «س»‪ ،‬وال َّر ْقم الثاني «ص»‪.‬‬
‫ اأخ ّزن القيمة الناتجة عن العملية الحسابية في المتغير «النتيجة»‪.‬‬

‫مث�ل‪ :‬اإذا نُ ِق َر على ز ّر الجمع «‪ ،»+‬ف إا ّن المتغير‬


‫«النتيجة» =‬

‫المشروع‪:‬‬
‫ اأضيف الَّل ِبنات البرمجية المناسبة؛ ل�إ ضافة اإمكانية اإجراء عملية حسابية جديدة على ال َّر ْقم الناتج‪.‬‬
‫ملاحظة‪ :‬في هذه الحالة‪ ،‬تُ َع ّد قيمة المتغير «النتيجة» مساوية لل َّر ْقم ال�أول «س»؛ لذا اأف ّرغ المتغير‬
‫«ص»‪ ،‬والمتغير «العملية»؛ للاستعداد ل�إ دخال قيمة وعملية جديدتين‪.‬‬

‫ اأستخدم اأزرار ال�أرقام والعمليات على لوحة المفاتيح الخاصة بالجهاز (‪ )keyboard‬بدل� ً من ال�أزرار‬
‫ال�فتراضية التي ص َّمم ُتها (من قائمة المقاطع البرمجية ال�أحداث)‪.‬‬
‫ اأضيف عمليات حسابية جديدة‪ ،‬مثل‪( :‬الجذر التربيعي‪ ،‬وباقي القسمة‪ ...،‬اإلخ) للاآلة الحاسبة التي ص ّمم ُتها‪.‬‬
‫‪105‬‬
‫الدرس الث�ني‬
‫والثلاثون‬
‫كت�بة ح ّرة على المنصة‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬التحكّم بالكائن من خلال مؤشر الفاأرة‪.‬‬
‫‪ -‬ضبط مركز الكائن في ال ّر ّسام‪.‬‬

‫اأراد اأسامة اأن يكتب على المنصة بخ ّط يشبه خط اليد‪ ،‬باستخدام المنصة كلوح اأبيض‪.‬‬

‫التحضير لتصميم البرن�مج‪:‬‬


‫ أاول�ً� اإضافة كائن القلم‪.‬‬
‫ ث�ني ً�� تصميم كائن لمسح المنصة (‪.)clear‬‬

‫خطوات سير البرن�مج‪:‬‬


‫ أاول�ً� عند النقر على ال َعلم‪ ،‬يبداأ القلم بالذهاب اإلى موضع مؤشر الفاأرة‪ ،‬ويبقى ملاصقاً له‪.‬‬
‫ ث�ني ً�� عند الضغط على زر الفاأرة ال�أيسر‪ ،‬وتحريك القلم‪ ،‬يكتب القلم على المنصة‪.‬‬
‫ ث�لث ً�� عند الضغط على كائن المسح (‪ ،)clear‬يت ّم مسح ك ّل ما ت ّمت كتابته على المنصة‪.‬‬

‫أاول�ً إاض�فة ك�ئن القلم‪:‬‬


‫من مكتبة الكائنات‪ ،‬اأضيف كائن القلم‪.‬‬
‫‪.‬‬ ‫اأضغط على مظاهر القلم‪ ،‬واأحدّد مركز المظهر‪ ،‬باستخدام اأيقونة تحديد مركز المظهر‬
‫الصورة‪.‬‬
‫موضح في ّ‬ ‫اأجعل مركز المظهر على حافّة القلم‪ ،‬كما هو ّ‬

‫‪106‬‬
‫سؤال‪:‬‬
‫لماذا اأقوم بهذه الخطوة؟ ‪...............‬‬

‫ث�ني ً� تصميم ز ّر المسح (‪:)clear‬‬


‫بداخله‪ ،‬اأو اأ ّي كلمة اأخرى‬ ‫رسام سكراتش‪ ،‬اأرسم مربعاً‪ ،‬واأكتب كلمة (‪)clear‬‬ ‫باستخدام ّ‬
‫باللغة العربية (اأنظر اإلى الكتابة باللغة العربية)‪.‬‬

‫ث�لث ً� برمجة الك�ئن�ت‪:‬‬


‫ برمجة كائن القلم‪.‬‬
‫ برمجة كائن ‪.clear‬‬

‫‪107‬‬
‫المشروع‪- :‬‬

‫‪ -‬اأرسم كائنات ملونة‪ ،‬وعند الضغط عليها‪ ،‬يتم تغ ّير لون القلم‪ ،‬واأكتب ما ياأتي‪:‬‬
‫ك� َد المعلّ ُم أا ْن يكونَ رسول�»‪.‬‬ ‫« قُ ْم للمعلّ ِم وفّ ِه التبجيلا‬

‫‪ -‬اأضيف متغيراً جديداً‪ ،‬واأستخدمه في تغيير حجم الخط‪.‬‬


‫ص المكتوب‪.‬‬‫‪ -‬اأص ّمم ممحاة؛ لمسح جزء من النّ ّ‬

‫‪108‬‬
‫الدرس الث�لث‬
‫والثلاثون‬
‫مس�بقة المغرور مع المث�بر‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬بناء قصص مع رسوم متحركة‪.‬‬
‫‪ -‬تسجيل ال�أصوات‪ ،‬واستخدامها في رواية القصص‪.‬‬

‫في هذا الدرس‪ ،‬اأتع ّرف اإلى اآلية برمجة القصص‪ ،‬واأورد مثال� ً بسيطاً‪ ،‬يتحدث فيه الق ّط المغرور مع الفاأر‬
‫المثابر‪ ،‬ث ّم اأؤلّف بعد ذلك قصة اأكبر‪ ،‬هي ال�أرنب‪ُّ ،‬‬
‫والس َل ْحفاة‪ ،‬حيث يمكن تعدّد الخلفيات‪ ،‬واإدارة حوار‬
‫اأكبر بين ال�أرنب‪ُّ ،‬‬
‫والس َل ْحفاة‪.‬‬

‫التحضير للبرن�مج‪:‬‬
‫اإحضار كائن الق ّط بعدّة مظاهر (مظهرين‬ ‫ ‬
‫على ال�أقل)‪َ ،‬‬
‫ليبدو متحركاً اأثناء ال�نتقال من‬
‫موضع ل�آخر‪.‬‬
‫اإحضار كائن الفاأر بعدّة مظاهر (مظهرين‬ ‫ ‬
‫على ال�أقل)‪.‬‬
‫اإحضار خلفية مناسبة للسباق من مكتبة الخلفيات‪.‬‬ ‫ ‬
‫يبداأ اللقاء بين الق ّط والفاأر في الزاوية السفلية‬ ‫ ‬
‫اليسرى للمنصة‪.‬‬
‫‪ -‬يقول الق ّط‪ :‬مرحباً‪.‬‬
‫‪ -‬يرد الفاأر‪ :‬اأهلا ً بك‪.‬‬
‫‪ -‬يقول الق ّط‪ :‬ما راأيك اأن نتسابق؟‬
‫‪ -‬يقول الفاأر‪ :‬حسناً‪ ،‬هيا نبداأ‪.‬‬
‫‪ -‬يع ّد الفاأر‪ :‬واحد‪ ،‬اثنان‪ ،‬ثلاثة‪.‬‬
‫‪109‬‬
‫ يبداأ السباق‪ ،‬وعند الحافّة؛ اأي حتّى يصل الموضع س=‪ ،200‬يستدير الكائن ‪ 90‬درجة‪ ،‬ليتّجه للاأعلى‪،‬‬
‫ث ّم يسير يساراً حتّى الموضع ص= ‪ ،155‬ث ّم يستدير يساراً‪ ،‬ويسير حتّى الموضع س= ‪ ،200-‬ث ّم يستدير‬
‫يساراً‪ ،‬ويسير ليصل عند الموضع ص= ‪.115-‬‬

‫‪ -‬اإذا كانت سرعة الفاأر اأق ّل من سرعة القط‪ ،‬فكيف تع ّبر عنها داخل البرنامج؟‬ ‫سؤال�ن‪:‬‬
‫‪ -‬ما اللَّ ِب َنة التي تجعل الفاأر يعطي الق ّط الدور للحديث؟‬

‫اأثناء السير‪ ،‬تكون سرعة الفاأر اأق ّل‬ ‫ ‬


‫من سرعة الق ّط‪.‬‬
‫لكن عند الزاوية العليا‪ ،‬يق ّرر الق ّط‬ ‫ ‬
‫ثوان (‪6-7‬‬ ‫المغرور اأن يرتاح لعدّة ٍ‬
‫ٍ‬
‫ثوان)‪ ،‬اأو ينام‪.‬‬
‫بينما يستمر الفاأر المثابر في‬ ‫ ‬
‫السير‪ ،‬ليصل خ ّط النهاية قبل‬
‫الق ّط المغرور‪.‬‬
‫‪ -‬يقول الفاأر‪ :‬لقد فُ ْزت‪.‬‬
‫بعد لحظات‪ ،‬يصل الق ّط المغرور‬ ‫ ‬
‫اإلى خ ّط النهاية‪ ،‬ويتفاجاأ بوصول‬
‫الفاأر قبله‪.‬‬
‫‪ -‬يقول الق ّط‪ :‬ما هذا؟! كيف‬
‫اأخسر؟!‬
‫خسرت؛ ل�أن ّك‬ ‫َ‬ ‫‪ -‬يقول الفاأر‪:‬‬
‫مغرور‪.‬‬

‫‪110‬‬
‫المشروع‪:‬‬
‫دخل التسجيلات المشار اإليها بصوتي اأنا وزميلي (اأنظر اإلى شرح اإدخال صوت اإلى برامج سكراتش)‪.‬‬ ‫اأ ِ‬ ‫ ‬
‫عند بناء قصة ال�أرنب‪ُّ ،‬‬
‫والس َل ْحفاة‪ ،‬اأختار ُصوراً متحركة للاأرنب من ال�إ نترنت‪ ،‬واأدخلها في بناء القصة‬ ‫ ‬
‫(اأنظر اإلى اإضافة ُصور متحركة اإلى برامج سكراتش)‪.‬‬
‫وح َكم‪.‬‬
‫سجل حواراً بين ثلاثة اأشخاص‪ :‬متساب َق ْينِ ‪َ ،‬‬ ‫اأ ّ‬ ‫ ‬
‫اأضيف مشج َع ْينِ ‪ ،‬واحد لك ّل كائن‪.‬‬ ‫ ‬
‫اأضيف موسيقى هادئة مناسبة تُعزف اأثناء السباق‪.‬‬ ‫ ‬
‫‪111‬‬
‫الدرس الرابع‬
‫والثلاثون‬
‫مت�بعة المصروف�ت‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬اإجراء عمليات بين عناصر من لوائح مختلفة‪.‬‬
‫‪ -‬التحكم بنوع القيم المدخلة للمتغيرات‪.‬‬

‫ص ّممت اأم ُل برنامجاً لتساعد اأسرتها في اإدارة مصروفات المنزل‪.‬‬

‫التحضير لتصميم البرن�مج‪:‬‬


‫ أاول�ً� اإضافة الكائن ز ّر «اإضافة المصروفات»‪.‬‬
‫ ث�ني ً�� اإنشاء المتغيرات اللازمة؛ لتخزين ك ّل من‪ :‬الدخل‪ ،‬ومجموع المصروفات‪ ،‬والمد ََّخرات‪.‬‬

‫خطوات سير البرن�مج‪:‬‬


‫أاول�ً� يساأل المستخدم عن الدخل الشهري‪.‬‬ ‫ ‬
‫ث�ني ً�� ل�إ ضافة مصروفات ال�أسرة‪ ،‬ينقر المستخدم على الكائن «ز ّر» اإضافة المصروفات‪.‬‬ ‫ ‬
‫ث�لث ً�� يساأل المستخدم عن نوعية المصروف المراد اإضافته‪( ،‬مثل‪ :‬اإيجار المنزل)‪.‬‬ ‫ ‬
‫رابع ً�� يساأل المستخدم عن المبلغ المدفوع‪.‬‬ ‫ ‬
‫خ�مس ً�� يحسب المستخدم مجموع المصروفات ال ُم ْد َخلة تراكمياً‪.‬‬ ‫ ‬
‫س�دس ً�� يحسب المستخدم المد ََّخرات المتبقية من الدخل‬ ‫ ‬
‫بعد اإضافة ك ّل مصروف من مصروفات ال�أسرة‪.‬‬

‫‪112‬‬
‫أاول�ً أاول�ً� إاض�فة الك�ئن�ت‪:‬‬
‫ اأ ِع ُّد كائناً اأستخدمه ككائن ل�إ ضافة المصروفات‪.‬‬
‫نص على ال ّز ّر؛ من اأجل مساعدة المستخدم في ال�ستدل�ل على‬ ‫(اأستخدم ّ‬
‫رسام سكراتش؛ ل�إ ضافة ّ‬
‫وظيفته)‪.‬‬

‫ث�ني ً� سؤال المستخدم عن دخله الشهري‪:‬‬


‫ عند بداية البرنامج‪ ،‬اأساأل المستخدم عن دخله الشهري‪.‬‬
‫؛ بهدف تخزين قيمة الدخل؛‬ ‫ اأنشئ متغير‬
‫ل�ستخدامه ل�حقاً في حساب المد ََّخرات المتبقية‪.‬‬
‫‪.‬‬ ‫ اأخ ّزن اإجابة المستخدم في المتغير‬

‫ث�لث ً� إاض�فة المصروف�ت‪:‬‬


‫ يمكن للمستخدم أان يقوم ب إاضافة اأكثر من مصروف‬
‫واحد‪ ،‬كما اأن ّه يحتاج للاحتفاظ بجميع المصروفات في‬
‫حال اأراد معرفة المصروفات غير الضرورية؛ لحذفها في‬
‫المرات القادمة‪.‬‬
‫ ينشئ ل�ئحة لتخزين نوعية المصروفات‪( ،‬مثل‪ :‬اإيجار منزل)‪.‬‬
‫ ينشئ ل�ئحة لتخزين المبلغ المدفوع (السعر)‪،‬‬
‫ وعند النقر على «ز ّر اإضافة المصروفات»‪:‬‬
‫‪ -‬يساأل عن نوعية المصروف‪.‬‬
‫‪ -‬يضيف ال�إ جابة اإلى ل�ئحة المصروفات‪.‬‬
‫‪ -‬يساأل عن سعر المصروف ال ُم ْد َخل‪.‬‬
‫‪ -‬يضيف ال�إ جابة اإلى ل�ئحة السعر‪.‬‬

‫‪113‬‬
‫رابع ً� تحديث قيمة مجموع المصروف�ت والمد ََّخرات‪:‬‬
‫ في ك ّل مرة ُيضاف مصروف اإلى ل�ئحة المصروفات‪ ،‬يجب اإعلام المستخدم بمجموع المصروفات‬
‫الكلّ ّي‪ ،‬بال�إ ضافة اإلى قيمة المد ََّخرات المتبقية؛ حتّى يبقى على اطّلاع على وضعه المالي‪.‬‬
‫ يحسب مجموع ال�أسعار (المبالغ المدفوعة) للمصروفات المدرجة في ل�ئحة السعر‪.‬‬

‫أاتذكّر‪ :‬يمكن الرجوع اإلى قيمة عنصر من ل�ئحة معينة‪ ،‬باستخدام موقع العنصر‪.‬‬

‫أال�حظ‪ :‬في ك ّل مرة ُيحسب فيها مجموع المصروفات‪ ،‬ف إا ّن المجموع يحتفظ بقيمة مجموع المصروفات‬
‫السابقة؛ لذا قبل القيام بحساب المجموع الجديد‪ ،‬يجب اإسناد القيمة ‪ 0‬لمجموع المصروفات‪.‬‬

‫أاتعلّم‪:‬‬
‫يمكن الوصول اإلى عناصر ل�ئحة معينة‬
‫من اأول عنصر حتى اآخر عنصر‪ ،‬باستخدام‬
‫ال َّتكرار‪ ،‬مع تغيير رتبة (موقع) العنصر بمقدار‬
‫‪ .1‬ومن الجدير بالذكر اأ ّن موقع العنصر ال�أول‬
‫في اللائحة هو ‪.1‬‬

‫ يحسب مجموع المصروفات بعد اإضافة ك ّل مصروف‪.‬‬


‫ يحسب قيمة المد ََّخرات بعد اإضافة ك ّل مصروف باستخدام المعادلة ال�آتية‪:‬‬
‫المد ََّخرات = الدخل – مجموع المصروف�ت‪.‬‬

‫‪114‬‬
‫وفي بداية مت�بعة مصروف�ت جديدة‪ ،‬يحرص المستخدم أان‪:‬‬
‫ تُحذف بيانات المصروفات السابقة‪.‬‬
‫‪ُ -‬تحذف اأسعار المصروفات‪.‬‬
‫‪ -‬تُسند القيمة ‪ 0‬اإلى الدخل‪.‬‬
‫‪ -‬تُسند القيمة ‪ 0‬اإلى المد ََّخرات‪.‬‬
‫‪ -‬تُسند القيمة ‪ 0‬اإلى مجموع المصروفات‪.‬‬
‫ يساأل المستخدم عن قيمة دخل الشهر الجديد‪.‬‬
‫ تُخ ّزن قيمة الدخل الجديد داخل متغير «الدخل»‪.‬‬

‫المشروع‪ :‬اأحاول اإدخال ما اأستطيع من التعديلات ال�آتية على البرنامج‪:‬‬

‫ في حال اإدخال سعر مصروفات اأكبر من قيمة المد ََّخرات‪ ،‬ف إا ّن قيمة المد ََّخرات ستكون قيمة سالبة؛‬
‫وهذا يعني اأ ّن ال�أسرة اأصبح عليها ديون‪ .‬اأشغّل صوتاً ُي ْع ِلم العائلة بذلك‪.‬‬
‫ عند اإدخال قيم غير عددية في المكان المخصص ل�إ دخال السعر‪ ،‬ف إا ّن عملية حساب المجموع‪،‬‬
‫وحساب المد ََّخرات سوف تفشل‪ .‬اأتح ّقق من اأ ّن قيمة السعر هي قيمة َر ْقم ّية‪ ،‬وليست ّ‬
‫نص ّية‪.‬‬

‫‪115‬‬
‫الدرس الخ�مس‬
‫والثلاثون‬
‫المصعد‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬رسم كائنات تمثّل اأجزاء المصعد (ال�أبواب‪ ،‬والمعلومات‬
‫ال�إ رشادية‪ ،‬والتحكم به)‪.‬‬
‫‪ -‬العمليات المنطقية‪.‬‬
‫‪ -‬عمليات المقارنة‪.‬‬
‫‪ -‬الجمل الشرطية (اإذا واإلّ�‪ ،‬ك ّرر حتّى‪ ،‬وانتظر حتّى)‪.‬‬
‫‪ -‬برمجة تغيير المظاهر واستخدامها‪.‬‬

‫يعمل اأحمد مهندساً في شركة المصاعد‪ ،‬طلبت الشركة منه برمجة مصعد لعمارة جديدة‪ ،‬اأساعد اأحمد‬
‫في برمجة المصعد‪.‬‬
‫التحضير لتصميم البرن�مج‪:‬‬
‫ أاول�ً� رسم مصعد يتك ّون من حائط‪ ،‬ودفَّ َتي باب له‪.‬‬
‫ ث�ني ً�� تصميم كائنات اأرقام طوابق المصعد‪.‬‬
‫ ث�لث ً�� تصميم كائنات فتح المصعد‪ ،‬واإغلاقه‪.‬‬
‫ رابع ً�� تصميم كائنات ال�تجاه ل�أعلى‪ ،‬ول�أسفل‪.‬‬
‫ خ�مس ً�� رسم الطوابق‪.‬‬
‫ س�دس ً�� اإضافة كائن ال�أرقام بعدّة مظاهر‪ ،‬يمثّل رقم الطابق‪.‬‬
‫ س�بع ً�� اإنشاء متغيرات (الطابق الجديد‪ ،‬والطابق الحالي‪ ،‬وال�تجاه)‪.‬‬
‫خطوات سير البرن�مج‪:‬‬
‫ أاول�ً� عند النقر على العلم‪ ،‬يجعل متغيرات الطابق الحالي‪ ،‬والطابق الجديد‪ ،‬وال�تجاه جاهز ًة ل�ستقبال‬
‫قيم جديدة‪.‬‬
‫ ث�ني ً�� عند النقر على رقم الطابق‪ ،‬يحفظه في متغير الطابق الجديد‪ّ ،‬‬
‫ويبث‪ :‬انتقل‪.‬‬
‫‪116‬‬
‫ ث�لث ً�� يقوم بفحص ما اإذا الطابق الجديد اأكبر من الطابق الحالي‪ ،‬ويقوم بتغيير ال�تجاه‪.‬‬
‫ رابع ً�� ينتقل بين الطوابق (يتغير المظهر اإلى مظهر الطابق الجديد (لون الطابق))‪.‬‬

‫أاول�ً إاض�فة الك�ئن�ت‪ ،‬وتصميمه�‪:‬‬

‫رسام سكراتش‪ ،‬اأرسم الشكل ال�آتي الذي يمثّل حائط َ‬


‫جانبي المصعد‪ ،‬وبابه‪ ،‬واأزرار فتحه‪ ،‬واإغلاقه‪:‬‬ ‫ باستخدام ّ‬

‫ رسم اتجاه المصعد‪ ،‬واأرقام الطوابق‪ ،‬واألوان الطوابق‪.‬‬

‫‪117‬‬
‫إانش�ء المتغيرات‪:‬‬
‫ اأنشئ المتغيرات (الطابق الحالي‪ ،‬والطابق الجديد‪ ،‬وال�تجاه)‪.‬‬

‫ث�ني ً� برمجة الك�ئن�ت‪:‬‬


‫فتح ال�أبواب‪ ،‬و إاغلاقه�‪:‬‬
‫ يمكن تحريك اأبواب المصعد‪ ،‬بحيث يت ّم اإغلاقهما‪ ،‬اأو فتحهما بشكل متناسق‪ ،‬ودون تداخل‪.‬‬
‫ يفتح الباب‪ ،‬و ُيغلق بانزل�ق الكائن اإلى موضع معين على المنصة‪.‬‬

‫‪118‬‬
‫برمجة التنقل بين الطوابق‪:‬‬

‫المشروع‪:‬‬
‫ اأضيف كائنات في الطوابق؛ للصعود للمصعد‪ ،‬والنزول منه‪.‬‬
‫ اأضيف الطابق رقم ‪ 4‬للبرنامج‪.‬‬

‫‪119‬‬
‫الدرس الس�دس‬
‫والثلاثون‬
‫ق�ئمة المه� ّم‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬تصميم اأجندة بالمهامّ المطلوبة‪.‬‬
‫‪ -‬اإضافة كائنات باستخدام ال ّر ّسام‪.‬‬
‫‪ -‬تحديد زمن ال َمه َّمة‪ ،‬ويومها‪ ،‬واإجراء تعديلات على ال�أجندة‪.‬‬

‫علي القيام بها‪ ،‬وتحديد ال َمه َّمة التي ساأبداأ بتنفيذها‪ ،‬والزمن الذي اأقوم‬
‫اأحتاج الى تنظيم المهام التي ّ‬
‫بتنفيذها فيه‪ ،‬وترتيب تنفيذ ك ّل مهمة بالنسبة ل�أهميتها‪.‬‬

‫التحضير لتصميم البرن�مج‪:‬‬


‫لتنظيم مواعيد المهمات‪ ،‬يلزمني قائمتين‪:‬‬ ‫ ‬
‫اإحداهما قائمة المهامّ‪ ،‬وال�أخرى تاريخ ال َمه َّمة‪،‬‬
‫مع اإمكانية ال�إ ضافة‪ ،‬اأو التحديث‪.‬‬
‫اإضافة ز ّر ال�إ ضافة (‪)+ Add‬؛ من اأجل اإضافة‬ ‫ ‬
‫مهمة اإلى قائمة المهامّ‪.‬‬
‫اإضافة ز ّر التحديث (‪)Update‬؛ من اأجل تحديث‬ ‫ ‬
‫وصف َمه ّمة من قائمة المهامّ‪.‬‬
‫اإضافة ز ّر لحذف َمه ّمة واحدة (‪.)Delete x‬‬ ‫ ‬
‫اإضافة ز ّر لحذف جميع المهامّ (‪.)Delete all‬‬ ‫ ‬
‫اإنشاء ل�ئحتين‪ :‬واحدة لحفظ المهامّ التي يقوم‬ ‫ ‬
‫المستخدم ب إاضافتها‪ ،‬والثانية لحفظ التواريخ‪.‬‬

‫‪120‬‬
‫خطوات سير البرن�مج‪:‬‬
‫ أاول�ً� عند نقر المستخدم على ز ّر ال�إ ضافة «‪ُ ،»Add +‬يساأل المستخدم عن ال َمه َّمة المراد اإضافتها‪،‬‬
‫ث ّم يساأله عن تاريخ ال َمه َّمة ال ُم ْد َخلة‪.‬‬
‫ ث�ني ً�� عند نقر المستخدم على ز ّر التحديث «‪ ،»Update‬يساأل المستخدم عن موقع ال َمه َّمة المراد‬
‫تحديثها في قائمة المهامّ‪ ،‬وعلى المبرمج التاأكد من وجود َمه ّمة في الموقع ال ُم ْد َخل‪ ،‬وفي حال وجود‬
‫َمه ّمة في الموقع ال ُم ْد َخل‪ ،‬يجب استبدال ال َمه َّمة المحفوظة بال َمه َّمة الجديدة‪.‬‬

‫أاول�ً إاض�فة الك�ئن�ت‪:‬‬

‫ من مكتبة الكائنات‪ ،‬اأضيف الكائن (‪)Button3‬؛ ل�ستخدامه كز ّر ل�إ ضافة المهامّ‪ .‬وباستخدام ّ‬
‫رسام‬
‫نصاً يد ّل على وظيفة ال ّز ّر‪ ،‬مثل‪Add. :‬‬
‫سكراتش‪ ،‬اأضيف ّ‬
‫نص‪ ،‬مثل ‪ ،Update‬باستخدام‬‫فضل اإضافة ّ‬ ‫ اأضيف كائناً؛ لتحديث المهامّ من مكتبة الكائنات‪ ،‬كما ُي َّ‬
‫رسام سكراتش‪.‬‬
‫ّ‬

‫ث�ني ً� إاض�فة َمه ّمة‪:‬‬


‫عند النقر على كائن (اإضافة َمه ّمة)‪ُ ،‬يساأل عن‪:‬‬
‫ ال َمه َّمة‪ ،‬ث ّم اإضافة ال�إ جابة اإلى ل�ئحة قائمة البيانات‪.‬‬
‫ تاريخ ال َمه َّمة‪ ،‬ث ّم اإضافة ال�إ جابة اإلى ل�ئحة قائمة تاريخ‬
‫ال َمه َّمة‪.‬‬
‫ اإعلام المستخدم بنجاح محاولة ال�إ ضافة‪.‬‬

‫‪121‬‬
‫المه َّمة‪:‬‬
‫ث�لث ً� تحديث َ‬
‫حتّى تت ّم عملية تحديث ال َمه َّمة‪ ،‬األ�حظ اأ ّن ك ّل َمه ّمة في اللائحة هي عنصر له َر ْقم يد ّل على موقعه فيها‪،‬‬
‫واأستخدم هذا ال َّر ْقم؛ للوصول اإلى العنصر؛ ل�أن ّه العنوان الذي يم ّيزه من بقية العناصر‪.‬‬
‫ عند النقر على ز ّر التحديث‪ُ ،‬يساأل المستخدم عن موقع ال َمه َّمة (العنصر) المراد تحديثه في ل�ئحة‬
‫المهامّ‪.‬‬
‫دخل َر ْقم عنصر خارج نطاق عدد العناصر‪ ،‬اأتاأكّد من اأ ّن موقع ال َمه َّمة ال ُم ْد َخل موجود في ل�ئحة‬‫ اإذا اأ ِ‬
‫المهامّ؛ اأي اأتاأكد من اأ ّن الموقع المطلوب اأق ّل‪ ،‬اأو يساوي طول ل�ئحة المهامّ‪ ،‬كما في السطر الرابع من‬
‫المقطع البرمجي (اإذا كان في القائمة تسعة عناصر فقط‪ ،‬فلا يجوز اأن اأساأل عن العنصر رقم ‪ 13‬مثلاً)‪.‬‬
‫ استبدال ال َمه َّمة القديمة بمهمة جديدة‪ ،‬واإعلام الشخص بنجاح التحديث‪.‬‬
‫ عند عدم وجود الموقع ال ُم ْد َخل‪ ،‬اأقوم ب إاعلام الشخص اأ ّن ال َّر ْقم المطلوب غير موجود‪.‬‬

‫‪122‬‬
‫رابع ً� حذف َمه ّمة‪:‬‬
‫في بعض ال�أحيان‪ ،‬يحتاج المستخدم اإلى حذف َمه ّمة من قائمة مهامه؛ لذا‪:‬‬
‫ اأضيف كائن (ز ّر الحذف ‪)Delete x‬؛ حتّى يت ّم حذف َمه ّمة معينة‬
‫عند النقر عليه‪.‬‬
‫ اأساأل المستخدم عن موقع ال َمه َّمة المراد حذفها‪.‬‬
‫ اأتح ّقق من وجود الموقع ال ُم ْد َخل‪ .‬وفي حال التاأكد من صحة الموقع‪،‬‬
‫اأحذف ال َمه َّمة من قائمة المهامّ‪ ،‬كما اأحذف تاريخ ال َمه َّمة من ل�ئحة تاريخ المهامّ‪.‬‬
‫ اإضافة كائن حذف الك ّل (‪.)Delete All‬‬

‫المشروع‪ :‬اأحاول ما اأستطيع تعديله من ال�آتية‪:‬‬

‫ تحديث ال َمه َّمة دون تحديث تاريخها‪ ،‬اأو تحديث التاريخ دون تحديث ال َمه َّمة‪.‬‬
‫ التح ّقق من اأ ّن تاريخ ال َمه َّمة ليس اأق ّل من تاريخ اليوم الحالي‪.‬‬
‫ اإضافة ل�ئحة فيها ساعة ال َمه َّمة‪.‬‬
‫ اإضافة تذكير قبل ال َمه َّمة ُبر ْبع ساعة‪( ،‬اأو َوفق رغبة المستخدم قبل يوم‪ ،‬اأو اأسبوع مثلاً)‪.‬‬

‫‪123‬‬
‫الدرس االس�بع‬
‫والثلاثون‬
‫تصميم س�عة ح�ئط‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬ربط البرامج بساعة جهاز الحاسوب‪.‬‬
‫‪ -‬التحكم بحركة الكائن بصورة دائرية‪.‬‬

‫اأرادت اأسي ُل عمل ساعة حائط باستخدام برنامج سكراتش‪ ،‬وتوقيت هذه الساعة يكون َوفق توقيت ساعة‬
‫جهاز الحاسوب‪.‬‬

‫التجهيز لعمل الس�عة‪:‬‬


‫‪ .1‬اأص ّمم ساعة حائط‪ ،‬اأو اأحضر صورة لساعة من ال�إ نترنت‪ ،‬كما في‬
‫الصورة المجاورة‪ ،‬واأضيفها ككائن في منتصف المنصة‪.‬‬‫ّ‬
‫‪ .2‬اأص ّمم ثلاثة عقارب للساعة‪ ،‬ك ّل كائن عبارة عن خط مستقيم مل ّون‬
‫يمثّل عقارب الساعة‪ ،‬والدقائق‪ ،‬والثواني‪.‬‬

‫في ال ّر ّسام‪ ،‬أاحدّد مركز المظهر على الطرف ال�أيسر لك ّل كائن‬ ‫ ‬


‫الصورة المجاورة؛ ل�عتبارها نقطة تجميع‬ ‫من العقارب‪ ،‬كما في ّ‬
‫للعقارب‪.‬‬
‫اأضع الكائنات جميعها في منتصف المنصة باستخدام اأمر (اذهب‬ ‫ ‬
‫اإلى (‪.))0 ،0‬‬
‫اأنقل كائنات العقارب َط َبقة للاأمام‪ ،‬باستخدام ال�أمر‪( :‬انتقل اإلى‬ ‫ ‬
‫المقدمة)‪.‬‬
‫التحسس‪ ،‬واأختار لَ ِب َنة‪ :‬الدقيقة في هذه اللّحظة‪.‬‬
‫ّ‬ ‫اأذهب اإلى‬ ‫ ‬
‫‪124‬‬
‫ اأضغط على السهم؛ ل�إ ظهار قائمة من الخيارات‪.‬‬
‫ اأختار (الدقيقة‪ ،‬الساعة‪ ،‬الثانية)‪.‬‬

‫الَّلبِن�ت البرمجية الخ�صة بعمل س�عة الح�ئط‪:‬‬


‫ برمجة عقرب الثواني‪:‬‬

‫أاتعلّم‪:‬‬
‫عدد الثواني في الدقيقة = ‪ ،60‬ولجعل مجموع الثواني مساوياً لمجموع زوايا الدائرة‪ ،‬يت ّم ضرب قيمة‬
‫الثواني بال َّر ْقم (‪ ،)6‬وبذلك يصبح الناتج (‪.)360‬‬

‫ عقرب الدق�ئق‪:‬‬

‫سؤال‪:‬‬
‫لماذا ت ّم الضرب بالعدد ‪6‬؟ ‪.............‬‬

‫ عقرب الس�ع�ت‪( :‬الدورة فيه� ‪ 12‬س�عة)‪.‬‬

‫‪125‬‬
‫سؤال‪:‬‬
‫كيف اأ ّ‬
‫فسر المعادلة السابقة؟ ‪..................‬‬

‫المشروع‪:‬‬
‫ اأضيف منبهاً اإلى ساعة الحائط‪ ،‬بحيث تُصدر صوتاً عندما ياأتي وقت المنبه‪.‬‬
‫ لَ ِب َنة الدقيقة في هذه اللحظة تعطي عدة خيارات‪ ،‬اأختار منها اليوم‪ ،‬والتاريخ‪ ،‬والشهر‪ ،‬والسنة‪،‬‬
‫خاصاً بي‪ ،‬بحيث يظهر التاريخ‪ ،‬واليوم‪.‬‬
‫وباستخدامها‪ ،‬اأص ّمم تقويماً ّ‬
‫ اأضيف منبهاً للساعة‪ ،‬بحيث تر ّن عند عدّة اأوقات ُم ِه ّمة لي‪ ،‬مثل موعد الصلاة‪.‬‬

‫‪126‬‬
‫الدرس الث�من‬
‫والثلاثون‬
‫إايج�د حرف في جملة أاو ّ‬
‫نص‬

‫أاهداف الدرس‪ُ :‬يتوقّع من الطلبة اأن يكونوا قادرين على‪:‬‬


‫‪ -‬قراءة جملة‪ ،‬وتحديد عدد مرات َتكرار حرف فيها‪.‬‬

‫نص‪ ،‬اأو حرف في جملة؛ من اأجل تصويب الكلمة‪ ،‬اأو استبدالها بكلمة‬ ‫عاد ًة ما اأبحث عن كلمة في ّ‬
‫اأخرى‪ ،‬اأو البحث عن حرف‪ ،‬واستبداله باآخر‪.‬‬

‫وصف نش�ط إايج�د حرف في جملة‪:‬‬


‫عاد ًة اأبداأ بجملة فارغة (صفحة بيضاء)‪ ،‬وبعدد اأحرف يساوي صفر ًا‪.‬‬ ‫ ‬
‫يطلب الكائن اإدخال الجملة التي سيت ّم البحث فيها عن حرف مع ّين‪.‬‬ ‫ ‬
‫اأ ْد ِخل الجملة‪ ،‬واأحفظها في متغ ّير‪ ،‬اأس ّميه (جملة)‪ ،‬اأو اأ ّي اسم اآخر اأجده اأكثر ملاءمة‪.‬‬ ‫ ‬
‫يساأل الكائن عن الحرف الذي ساأبحث عنه في الجملة‪.‬‬ ‫ ‬
‫اأدخل الحرف الذي سيت ّم البحث عنه‪ ،‬واأحفظه في متغ ّير‪ ،‬اأس ّميه (الحرف هو)‪.‬‬ ‫ ‬
‫تفحص حروف الجملة حرفاً حرفاً‪ ،‬وكلّما وجدت الحرف الذي اأبحث عنه‪ ،‬اأزيد عدد مرات وجود‬ ‫اأ ّ‬ ‫ ‬
‫الحرف في الجملة بمقدار ‪ 1‬في متغ ّير عدّاد‪ ،‬اأس ّميه (عدد مرات الحرف)‪.‬‬

‫خطوات سير البرن�مج‪:‬‬

‫تعريف متغ ّيرات البرن�مج‪:‬‬


‫التعريف‬ ‫اسم المتغ ّير‬
‫الجملة التي يتم اإدخالها‪.‬‬ ‫جملة‬
‫هو الحرف الذي نبحث عنه‪.‬‬ ‫الحرف هو‬
‫عدّاد َي ُع ّد عدد الحروف التي ت ّمت قراءتها من الجملة‪.‬‬ ‫س‬
‫عدّاد َي ُع ّد عدد م ّرات ظهور الحرف الذي يت ّم البحث عنه في الجملة‪.‬‬ ‫عدد مرات الحرف‬
‫‪127‬‬
‫مث�ل‪ :‬اإذا كانت الجملة ال ُم ْد َخ َلة هي مقطع «تقع قبة الصخرة المشرفة في القدس»‪ ،‬واأريد‬
‫اأن اأجد عدد اأحرف «ر» فيها‪ ،‬ف إانّ‪:‬‬
‫ جملة = تقع قبة الصخرة المشرفة في القدس‪.‬‬
‫ الحرف= ر‪.‬‬
‫ س= يتغ ّير من ‪ 1‬اإلى طول الجملة (بما فيها الفراغات بين الكلمات)‪.‬‬

‫اأخت ِبر صحة برنامجي عند اإدخال الجمل ال�آتية‪:‬‬ ‫سؤال‪:‬‬

‫عدد مرات ظهور الحرف‬ ‫الحرف الذي أابحث عنه‬ ‫الجملة‬


‫ت‬ ‫سكراتش هي لغة برمجة حديثة‪.‬‬
‫‪3‬‬ ‫‪12333643‬‬

‫تبدو المنصة الرئيسة كم� في الشكل ال�آتي‪:‬‬

‫‪128‬‬
‫أاتعلّم‪:‬‬

‫؛ لمعرفة طول الجملة‪ ،‬اأو الكلمة‪.‬‬ ‫اأستخدم ال�أمر‬

‫برن�مج إايج�د حرف في جملة‪:‬‬

‫‪129‬‬
‫المشروع‪ :‬اأحاول ما اأستطيع من ال�آتية‪:‬‬

‫ اأعدّل البرنامج؛ ل�أجد اأحرف العلة في جملة باللغة ال�إ نجليزية (اأتذكّر اأ ّن اأحرف العلة هي‪:‬‬
‫ (‪.))Vowel letters a, e, i, o, u‬‬
‫موجودة عند اإدخاله‪.‬‬ ‫ في عنوان ال�إ يميل‪ ،‬اأبحث اإن كانت اإشارة‬
‫نص (اأتذكّر اأ ّن الفراغ يفصل بين الكلمة والتي تليها)‪.‬‬
‫ البحث عن كلمة في ّ‬

‫‪130‬‬
‫تم بحمد اللّه‬

‫‪131‬‬
‫لجنة المن�هج الوزارية‪:‬‬
‫م‪ .‬فواز مج�هد‬ ‫د‪ .‬بصري ص�لح‬ ‫د‪ .‬صبري صيدم‬
‫أا‪ .‬عبد الحكيم أابو ج�موس‬ ‫أا‪ .‬عزام ابو بكر‬ ‫أا‪ .‬ثروت زيد‬
‫م‪ .‬وس�م نخلة‬ ‫د‪ .‬سمية النخ�لة‬ ‫د‪ .‬شهن�ز الف�ر‬
‫د‪ .‬إايه�ب القبج‬ ‫أا‪ .‬ط�لب الح�ج‬

‫المش�ركون في ورش�ت كت�ب البرمجة للصف الت�سع ال�أس�سي‪:‬‬

‫اأ‪ .‬اإبرهيم قدح‬ ‫اأ‪ .‬معاذ اأبو سليقة‬ ‫د‪ .‬سعيد عساف‬
‫اأ‪ .‬منذر شواهنة‬ ‫اأ‪ .‬محمد اأبو حطب‬ ‫اأ‪ .‬محمد اأبو قرع‬
‫اأ‪ .‬اأمجد اأبو زهرة‬ ‫اأ‪ .‬محمود رجبي‬ ‫اأ‪ .‬علا عبد الله‬
‫اأ‪ .‬محمود الحيح‬ ‫اأ‪ .‬فادي الجنيدي‬ ‫اأ‪ .‬وليد بدوي‬
‫اأ‪ .‬ول�ء عمر‬ ‫اأ‪ .‬اإلهام عويسات‬ ‫اأ‪ .‬شيرين سنقرط‬
‫اأ‪ .‬وفاء حمامدة‬ ‫اأ‪ .‬شرين السيوري‬ ‫اأ‪ .‬دعاء اأبو زياد‬
‫اأ‪ .‬لمى عتيلي‬ ‫اأ‪ .‬سهام بدران‬ ‫اأ‪ .‬سمر اأبو حجله‬
‫اأ‪ .‬سماهر غياظة‬ ‫اأ‪ .‬كفاح عساف‬

You might also like