-
حتى الآن، كنا نكتب الأكواد البرمجية , حيث يكون هناك حالة أختبار . و اذا كانت نتيجة الاختبار : نعم
-
نقوم بطباعة صف من البيانات على الشاشة . لذلك , في هذا المقطع القصير , سوف نرى كيف
-
نقوم بحساب عدد الصفوف التي كانت فيها نتيجة الاختبار : نعم
-
و هذا قريب مما تريد ان يفعله الكمبيوتر حقيقةً . لذلك
-
لكي نفعل لذلك , علينا أن نضيف بعض الأكواد البرمجية إلى الأكواد التي كنا نكتبها من قبل
-
هذه الاكواد مشروحة هنا , و لكن أود الإشارة إلى أمثلة من هذه الأكواد الجديدة
-
هناك ثلاثة أشياء علينا إضافتها لنقوم بعملية العد . أولها أنني
-
سأقوم بتعريف متغير جديد , أسميه على سبيل المثال
: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
-
حتى يمكنني اجراء الحسابات
حسنا , كانت هذه نظرتنا الاولى
-
على عمليات الحساب الاساسية
فهيا نقوم باجراء بعض التمارين