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

Programming9 PDF

Uploaded by

Azoz Boj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
175 views

Programming9 PDF

Uploaded by

Azoz Boj
Copyright
© © All Rights Reserved
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