حتى الآن، كنا نكتب الأكواد البرمجية , حيث يكون هناك حالة أختبار . و اذا كانت نتيجة الاختبار : نعم
نقوم بطباعة صف من البيانات على الشاشة . لذلك , في هذا المقطع القصير , سوف نرى كيف
نقوم بحساب عدد الصفوف التي كانت فيها نتيجة الاختبار : نعم
و هذا قريب مما تريد ان يفعله الكمبيوتر حقيقةً . لذلك
لكي نفعل لذلك , علينا أن نضيف بعض الأكواد البرمجية إلى الأكواد التي كنا نكتبها من قبل
هذه الاكواد مشروحة هنا , و لكن أود الإشارة إلى أمثلة من هذه الأكواد الجديدة
هناك ثلاثة أشياء علينا إضافتها لنقوم بعملية العد . أولها أنني
سأقوم بتعريف متغير جديد , أسميه على سبيل المثال :count
و بالطبع سوف أعطيه قيمة ابتدائية تساوي : صفر و هذ قبل ان تبدأ ال loop
حسناً . العداد الآن مساوي للصفر . بعد ذلك و داخل اللفة (لوووب) و داخل جملة الشرط if
في ذات المكان الذي كنت أضع فيه أمر طباعة الصف كما فعلنا ذلك مرات , سأقوم الآن بوضع
سطر آخر قد يبدو مضحكا هو count=count+1
سوف أخبرك ما يمكن لهذا السطر فعله . فمهما كانت القيم المخزنة في المتغير count
سيقوم هذا الأمر باضافة واحد الى هذه القيمة بمعنى انه سينقله من ست إلى سبع أو من عشر إلى أحد عشر و هكذا
و لكن دعني اشرح لك كيف يعمل هذا الأمر في الرياضيات ,
هذا الأمر لا يعني شيئا على الاطلاق فما معنى أن قيمة تساوي نفسها + واحد
لكن سبب أن هذا يعمل في الكمبيوتر ان وظيفة العلامة + هنا مختلفة
فالإشارة في الكود البرمجي أكثر بساطة مما هي عليه في الرياضيات
و الشيئ الذي يجب أن تفهمه جيداً , ان الإشارة تقوم بتقدير الطرف الأيمن و من ثم
فبمجرد حساب هذه القيمة , فإنه يقوم بتخزين هذه القيمة
في المتغير الذي في الطرف الأيسر لذلك , تخيل انه في أول مرة سيعمل هذا الأمر فإن
العداد سيكون مساوي للصفر حتى يصل إلى هذا السطر و سيكون أول شيئ سيفعله هو تقدير
الطرف الأيمن . العداد يساوي صفر , صفر +1 تساوي 1 لذلك فإن
الطرف الأيمن يساوي 1 . و بمجرد أن ينهي هذا سيقوم بتخزين القيمة في العداد count
لذا , فالعداد الآن يساوي واحد انت الآن عرفت الوظيفة التي يفعلها هذا السطر
العداد كان مساوياً للصفر و أصبح الآن مساوياً واحد .بمعنى أنه زاد
عندما يرى هذا السطر مرة أخرى و اذا كانت جملة الشرط متحققة , فان القيمة التي
في الطرف الأيمن تحسب هكذا العداد يساوي 1 و 1+1 يساوي 2 و بمجرد حساب القيمة
فإن تلك القيمة سيتم تخزينها في العداد فالعداد الآن يساوي اثنان
في النهاية . لست مطالب بمعرفة كيف يتم هذا الأمر بالتفصيل
فقط تحتاج لتعرف أن الصيغة x=x+1 تقوم بزيادة القيمة بمقدار 1
في كل مرة يتم تنفيذها . حسناً , كنت قد قلت أن هناك ثلاثة أجزاء . علينا ان نجعل قيمة العداد صفراُ
ثم أن نضع داخل جملة الشرط هذا الأمر count=count+1 و في النهاية
سنقوم بعرض نتجة العداد بعد كل شيئ بعد نهاية الفور لوووب
بجميع حلقاتها . دعنا نحاول تجربة ذلك الآن , فاذا قمنا بتشغيل هذا سوف نرى
الحلقة يتم تنفيذها و جملة الشرط كذلك ستقوم باختبار الاسماء اذا كانت تبدأ بحرف ال A
سوف نرى هنا كل هذه الأسماء التي تبدأ بحرف A و في النهاية , فإن هناك سطر يقول ان العداد يساوي 258
يظهر من ذلك ان العد في ال for loop بدأ من الصفر
و في كل الحلقات كانت الجملة الشرطية if متحققة 258 مرة
من أصل 2000 مرة . و لذلك فإننا حصلنا في النهاية على count : 258
و قمنا بعرضها بسبب هذا السطر . و بذلك فإن السطر الذي بعد الحلقة for قد قام بوظيفته , و كل عمليات
الطباعة (العرض) قد تمت حسناً , تعالوا نقوم بهذه التجربة سوياً . فمن الأشياء السهلة
التي يمكن عملها . مثلاً : ماذا لو قمنا بإزالة هذا السطر الذي بداخل الحلقة for
هنا مازلنا ندور داخل الحلقة و مازلنا نتحقق من الجملة الشرطية . و لكن هنا
الشيئ الوحيد الذي يظهر داخل الجملة الشرطية هو count=count+1
و الذي يقوم بزيادة العداد بمقدار 1 . هنا لو قمت بتنفيذ هذا البرنامج فقط سوف احصل على
سطر واحد كناتج لهذه العملية سأقوم بالتنفيذ الآن و سيقول لي مممممممم 258 . و هذه هي البداية
هذه بداية لتقريب ما يمكن ان يفعله الكمبيوتر
فالكمبيوتر يعمل مع كم هائل من البيانات و يقوم بنوع من الغربلة من خلالها ، و من ثم إعطاء
الإجابة النهائية حسناً , هيا نجرب نوع اخر من المشكلات
و كالمعتاد , سيكون لدينا حلول مختلفة حسناً , كم عدد الاسماء التى تبدأ بحرف ال X
و بعدها قارن هذا الرقم بعدد الأسماء التي تبدأ بحرف Y اذا اردت ان احسب عدد الاسماء التي تبدأ
بحرف ال X فقط تغيير صغير . كما تعلم العداد count=count+1
سوف أقول الآن : كم عدد الأسماء التي تبدأ بحرف X
سأقوم بتنفيذ البرنامج البرنامج يقول :6 .حسناً ماذا لو أردت
ان اعرف عدد الأسماء التي تبدأ بحرف ال Y و هنا سوف نرى اننا سنترك البرنامج كما هو و لكن
فقط سنقوم بتغيير شيئ واحد .. سأغير هذا إلى Y عديدة و النتيجة هي : 17 .. و أتوقع ان هناك اسماء أكثر
تبدأ بحرف ال Y الاسماء التي تبدأ بحرف الواي اكثر من التي تبدأ بحرف الواي .. لذا فهو يقول
كم عدد البنات التي تبدأ اسمائهن بحرف ال A و كم عدد الأولاد الذين تبدأ اسمائهم
بحرف ال A حسناً , سوف اقوم باستخدام نفس المواد التي استخدمناها في المرة السابقة
و اخرى لم اكن استخدمها من قبل مثل startsWith("A"). and ("&&") row.getField("gender")=="girl"
كانت هذه هي المهمة , و في داخل الجملة الشرطية سأقول فقط
count=count+1. حسناً , 169 .. لذلك فان السؤال القادم هو
كم عدد اسماء الاولاد لذلك سأغير هذا الأمر للاولاد .. مع الوضع في الاعتبار
ان هذه العملية مشابهة تماماً لسابقتها في الحسابات فقط و كما فعلنا من قبل
print(row) و عندي الان count=count+1
حتى يمكنني اجراء الحسابات حسنا , كانت هذه نظرتنا الاولى
على عمليات الحساب الاساسية فهيا نقوم باجراء بعض التمارين