[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:04.68,Default,,0000,0000,0000,,حتى الآن، كنا نكتب الأكواد البرمجية , حيث يكون هناك حالة أختبار . و اذا كانت نتيجة الاختبار : نعم Dialogue: 0,0:00:04.68,0:00:08.98,Default,,0000,0000,0000,,نقوم بطباعة صف من البيانات على الشاشة . لذلك , في هذا المقطع القصير , سوف نرى كيف Dialogue: 0,0:00:08.98,0:00:13.38,Default,,0000,0000,0000,,نقوم بحساب عدد الصفوف التي كانت فيها نتيجة الاختبار : نعم Dialogue: 0,0:00:13.38,0:00:17.62,Default,,0000,0000,0000,,و هذا قريب مما تريد ان يفعله الكمبيوتر حقيقةً . لذلك Dialogue: 0,0:00:17.62,0:00:21.96,Default,,0000,0000,0000,,لكي نفعل لذلك , علينا أن نضيف بعض الأكواد البرمجية إلى الأكواد التي كنا نكتبها من قبل Dialogue: 0,0:00:21.96,0:00:26.00,Default,,0000,0000,0000,,هذه الاكواد مشروحة هنا , و لكن أود الإشارة إلى أمثلة من هذه الأكواد الجديدة Dialogue: 0,0:00:26.00,0:00:30.40,Default,,0000,0000,0000,,هناك ثلاثة أشياء علينا إضافتها لنقوم بعملية العد . أولها أنني Dialogue: 0,0:00:30.40,0:00:34.59,Default,,0000,0000,0000,,سأقوم بتعريف متغير جديد , أسميه على سبيل المثال \N:count Dialogue: 0,0:00:34.59,0:00:38.53,Default,,0000,0000,0000,,و بالطبع سوف أعطيه قيمة ابتدائية تساوي : صفر و هذ قبل ان تبدأ ال\Nloop Dialogue: 0,0:00:38.53,0:00:43.16,Default,,0000,0000,0000,,حسناً . العداد الآن مساوي للصفر . بعد ذلك و داخل اللفة (لوووب) و داخل جملة الشرط\Nif Dialogue: 0,0:00:43.16,0:00:48.16,Default,,0000,0000,0000,,في ذات المكان الذي كنت أضع فيه أمر طباعة الصف كما فعلنا ذلك مرات , سأقوم الآن بوضع Dialogue: 0,0:00:48.16,0:00:52.91,Default,,0000,0000,0000,,سطر آخر قد يبدو مضحكا هو \Ncount=count+1 Dialogue: 0,0:00:52.91,0:00:57.47,Default,,0000,0000,0000,,سوف أخبرك ما يمكن لهذا السطر فعله . فمهما كانت القيم المخزنة في المتغير\Ncount Dialogue: 0,0:00:57.47,0:01:02.01,Default,,0000,0000,0000,,سيقوم هذا الأمر باضافة واحد الى هذه القيمة \Nبمعنى انه سينقله من ست إلى سبع أو من عشر إلى أحد عشر و هكذا Dialogue: 0,0:01:02.01,0:01:06.48,Default,,0000,0000,0000,,و لكن دعني اشرح لك كيف يعمل هذا الأمر\Nفي الرياضيات , Dialogue: 0,0:01:06.48,0:01:10.96,Default,,0000,0000,0000,,هذا الأمر لا يعني شيئا على الاطلاق \Nفما معنى أن قيمة تساوي نفسها + واحد Dialogue: 0,0:01:10.96,0:01:15.95,Default,,0000,0000,0000,,لكن سبب أن هذا يعمل في الكمبيوتر ان وظيفة العلامة + هنا مختلفة Dialogue: 0,0:01:15.95,0:01:20.48,Default,,0000,0000,0000,,فالإشارة في الكود البرمجي أكثر بساطة مما هي عليه في الرياضيات Dialogue: 0,0:01:20.48,0:01:25.14,Default,,0000,0000,0000,,و الشيئ الذي يجب أن تفهمه جيداً , ان الإشارة تقوم بتقدير الطرف الأيمن \Nو من ثم Dialogue: 0,0:01:25.14,0:01:29.47,Default,,0000,0000,0000,,فبمجرد حساب هذه القيمة , فإنه يقوم بتخزين هذه القيمة Dialogue: 0,0:01:29.47,0:01:33.85,Default,,0000,0000,0000,,في المتغير الذي في الطرف الأيسر \Nلذلك , تخيل انه في أول مرة سيعمل هذا الأمر فإن Dialogue: 0,0:01:33.85,0:01:38.19,Default,,0000,0000,0000,,العداد سيكون مساوي للصفر حتى يصل إلى هذا السطر\Nو سيكون أول شيئ سيفعله هو تقدير Dialogue: 0,0:01:38.19,0:01:42.36,Default,,0000,0000,0000,,الطرف الأيمن . العداد يساوي صفر , صفر +1 تساوي 1 \Nلذلك فإن Dialogue: 0,0:01:42.36,0:01:46.54,Default,,0000,0000,0000,,الطرف الأيمن يساوي 1 . و بمجرد أن ينهي هذا\Nسيقوم بتخزين القيمة في العداد\Ncount Dialogue: 0,0:01:46.54,0:01:50.87,Default,,0000,0000,0000,,لذا , فالعداد الآن يساوي واحد \Nانت الآن عرفت الوظيفة التي يفعلها هذا السطر Dialogue: 0,0:01:50.87,0:01:54.95,Default,,0000,0000,0000,,العداد كان مساوياً للصفر و أصبح الآن مساوياً واحد .بمعنى أنه زاد Dialogue: 0,0:01:54.95,0:01:59.10,Default,,0000,0000,0000,,عندما يرى هذا السطر مرة أخرى و اذا كانت جملة الشرط متحققة , فان القيمة التي Dialogue: 0,0:01:59.10,0:02:03.66,Default,,0000,0000,0000,,في الطرف الأيمن تحسب هكذا\Nالعداد يساوي 1 و 1+1 يساوي 2 و بمجرد حساب القيمة Dialogue: 0,0:02:03.66,0:02:08.10,Default,,0000,0000,0000,,فإن تلك القيمة سيتم تخزينها في العداد\Nفالعداد الآن يساوي اثنان Dialogue: 0,0:02:08.10,0:02:12.96,Default,,0000,0000,0000,,في النهاية . لست مطالب بمعرفة كيف يتم هذا الأمر بالتفصيل Dialogue: 0,0:02:12.96,0:02:17.34,Default,,0000,0000,0000,,فقط تحتاج لتعرف أن الصيغة \Nx=x+1\Nتقوم بزيادة القيمة بمقدار 1 Dialogue: 0,0:02:17.34,0:02:22.57,Default,,0000,0000,0000,,في كل مرة يتم تنفيذها . \Nحسناً , كنت قد قلت أن هناك ثلاثة أجزاء . علينا ان نجعل قيمة العداد صفراُ Dialogue: 0,0:02:22.57,0:02:27.78,Default,,0000,0000,0000,,ثم أن نضع داخل جملة الشرط هذا الأمر\Ncount=count+1\Nو في النهاية Dialogue: 0,0:02:27.78,0:02:33.20,Default,,0000,0000,0000,,سنقوم بعرض نتجة العداد بعد كل شيئ \Nبعد نهاية الفور لوووب Dialogue: 0,0:02:33.20,0:02:39.48,Default,,0000,0000,0000,,بجميع حلقاتها . \Nدعنا نحاول تجربة ذلك الآن , فاذا قمنا بتشغيل هذا سوف نرى Dialogue: 0,0:02:39.48,0:02:44.20,Default,,0000,0000,0000,,الحلقة يتم تنفيذها و جملة الشرط كذلك ستقوم باختبار الاسماء اذا كانت تبدأ بحرف ال\NA Dialogue: 0,0:02:44.20,0:02:48.98,Default,,0000,0000,0000,,سوف نرى هنا كل هذه الأسماء التي تبدأ بحرف A\Nو في النهاية , فإن هناك سطر يقول ان العداد يساوي 258 Dialogue: 0,0:02:48.98,0:02:54.13,Default,,0000,0000,0000,,يظهر من ذلك ان العد في ال\Nfor loop\Nبدأ من الصفر Dialogue: 0,0:02:54.13,0:02:58.73,Default,,0000,0000,0000,,و في كل الحلقات كانت الجملة الشرطية\Nif\Nمتحققة 258 مرة Dialogue: 0,0:02:58.73,0:03:03.63,Default,,0000,0000,0000,,من أصل 2000 مرة . و لذلك فإننا حصلنا في النهاية على\Ncount : 258 Dialogue: 0,0:03:03.63,0:03:08.17,Default,,0000,0000,0000,,و قمنا بعرضها بسبب هذا السطر . و بذلك فإن السطر الذي بعد الحلقة\Nfor \Nقد قام بوظيفته , و كل عمليات Dialogue: 0,0:03:08.17,0:03:12.81,Default,,0000,0000,0000,,الطباعة (العرض) قد تمت \Nحسناً , تعالوا نقوم بهذه التجربة سوياً . فمن الأشياء السهلة Dialogue: 0,0:03:12.81,0:03:17.29,Default,,0000,0000,0000,,التي يمكن عملها . مثلاً : ماذا لو قمنا بإزالة هذا السطر الذي بداخل الحلقة\Nfor Dialogue: 0,0:03:17.29,0:03:21.82,Default,,0000,0000,0000,,هنا مازلنا ندور داخل الحلقة و مازلنا نتحقق من الجملة الشرطية . و لكن هنا Dialogue: 0,0:03:21.82,0:03:25.97,Default,,0000,0000,0000,,الشيئ الوحيد الذي يظهر داخل الجملة الشرطية هو\Ncount=count+1 Dialogue: 0,0:03:25.97,0:03:30.62,Default,,0000,0000,0000,,و الذي يقوم بزيادة العداد بمقدار 1 . هنا لو قمت بتنفيذ هذا البرنامج\Nفقط سوف احصل على Dialogue: 0,0:03:30.62,0:03:35.80,Default,,0000,0000,0000,,سطر واحد كناتج لهذه العملية \Nسأقوم بالتنفيذ الآن و سيقول لي مممممممم 258 . و هذه هي البداية Dialogue: 0,0:03:35.80,0:03:39.71,Default,,0000,0000,0000,,هذه بداية لتقريب ما يمكن ان يفعله الكمبيوتر Dialogue: 0,0:03:39.71,0:03:43.88,Default,,0000,0000,0000,,فالكمبيوتر يعمل مع كم هائل من البيانات و يقوم بنوع من الغربلة من خلالها ، و من ثم إعطاء Dialogue: 0,0:03:43.88,0:03:47.90,Default,,0000,0000,0000,,الإجابة النهائية \Nحسناً , هيا نجرب نوع اخر من المشكلات Dialogue: 0,0:03:47.90,0:03:52.02,Default,,0000,0000,0000,,و كالمعتاد , سيكون لدينا حلول مختلفة\Nحسناً , كم عدد الاسماء التى تبدأ بحرف ال\NX Dialogue: 0,0:03:52.02,0:03:56.19,Default,,0000,0000,0000,,و بعدها قارن هذا الرقم بعدد الأسماء التي تبدأ بحرف \NY\Nاذا اردت ان احسب عدد الاسماء التي تبدأ Dialogue: 0,0:03:56.19,0:03:59.75,Default,,0000,0000,0000,,بحرف ال \NX\Nفقط تغيير صغير . كما تعلم العداد \Ncount=count+1 Dialogue: 0,0:03:59.75,0:04:03.62,Default,,0000,0000,0000,,سوف أقول الآن : كم عدد الأسماء التي تبدأ بحرف\NX Dialogue: 0,0:04:03.62,0:04:07.41,Default,,0000,0000,0000,,سأقوم بتنفيذ البرنامج \Nالبرنامج يقول :6 .حسناً ماذا لو أردت Dialogue: 0,0:04:07.41,0:04:11.54,Default,,0000,0000,0000,,ان اعرف عدد الأسماء التي تبدأ بحرف ال \NY\Nو هنا سوف نرى اننا سنترك البرنامج كما هو و لكن Dialogue: 0,0:04:11.54,0:04:16.15,Default,,0000,0000,0000,,فقط سنقوم بتغيير شيئ واحد .. سأغير هذا إلى \NY عديدة\Nو النتيجة هي : 17 .. و أتوقع ان هناك اسماء أكثر Dialogue: 0,0:04:16.15,0:04:21.28,Default,,0000,0000,0000,,تبدأ بحرف ال \NY\Nالاسماء التي تبدأ بحرف الواي اكثر من التي تبدأ بحرف الواي .. لذا فهو يقول Dialogue: 0,0:04:21.28,0:04:26.09,Default,,0000,0000,0000,,كم عدد البنات التي تبدأ اسمائهن بحرف ال\NA\Nو كم عدد الأولاد الذين تبدأ اسمائهم Dialogue: 0,0:04:26.09,0:04:30.97,Default,,0000,0000,0000,,بحرف ال \NA \Nحسناً , سوف اقوم باستخدام نفس المواد التي استخدمناها في المرة السابقة Dialogue: 0,0:04:30.97,0:04:39.31,Default,,0000,0000,0000,,و اخرى لم اكن استخدمها من قبل مثل \NstartsWith("A"). and ("&&") \Nrow.getField("gender")=="girl" Dialogue: 0,0:04:39.31,0:04:47.14,Default,,0000,0000,0000,,كانت هذه هي المهمة , و في داخل الجملة الشرطية سأقول فقط Dialogue: 0,0:04:47.14,0:04:55.50,Default,,0000,0000,0000,,count=count+1.\Nحسناً , 169 .. لذلك فان السؤال القادم هو Dialogue: 0,0:04:55.81,0:05:04.15,Default,,0000,0000,0000,,كم عدد اسماء الاولاد\Nلذلك سأغير هذا الأمر للاولاد .. مع الوضع في الاعتبار Dialogue: 0,0:05:04.15,0:05:10.20,Default,,0000,0000,0000,,ان هذه العملية مشابهة تماماً لسابقتها في الحسابات\Nفقط و كما فعلنا من قبل Dialogue: 0,0:05:10.20,0:05:16.02,Default,,0000,0000,0000,,print(row) \Nو عندي الان \Ncount=count+1 Dialogue: 0,0:05:16.02,0:05:21.16,Default,,0000,0000,0000,,حتى يمكنني اجراء الحسابات \Nحسنا , كانت هذه نظرتنا الاولى Dialogue: 0,0:05:21.16,0:05:25.02,Default,,0000,0000,0000,,على عمليات الحساب الاساسية \Nفهيا نقوم باجراء بعض التمارين