السلام عليكم في المحاضرة الماضية يا جماعة كملنا في
موضوع ال F statement و تحديدا اتكلمنا عن nested F
يعني لما يكون في عندي F جوا F statement وهذا
بتلزمني ان انا لما يكون عندي شرط لازم نفحص بعد شرط
معين يعني في الأول في عندي شرط بداية لما اتأكد ان
الشرط اتحققبتأكد من شرط تاني فعشان هيك بتكون في
عندى F statement جوا F statement تاني زى مثال زى
ما حكينا مثال البدلة ان اول حاجة الشخص بقوله انا
دخل واحد او اتنين او تلاتة او اربعة اذا دخل واحد
بدأت اطلقله قائمة تانية ضمن الواحد صح ولا يا جماعة
فعشان هيك جوا ال F statement الحالة الأولى حطيت F
statement تانيبعدين يا جماعة اتكلمنا عن موضوع ال
methods اللي بترجع Boolean وقلنا ان الموجود بين ال
.. ال .. القسين بتاعنا ال F statement اللي هو
الشرط مش شرط يكون Boolean expression من نوع اكبر
من أو اصغر من او .. او يساوي لأ ممكن تكون method
بترجع Boolean تمام؟ يعني ممكن يكون موجود داخل ال F
statement اللي هو ال string contains كذا يساوي
true يعني اذا كانت الجملة تحتوي على نصنفس الشيء
معين صح ولا يا جماعة بعدين قلنا انه لو انا عندى
Boolean متغير result
وكانت ال f statement بالشكل هذا if result يساوي
true ممكن
في الحالة هذه نستبدل result يساوي true ب result
الحالةما هي في الآخر إيش الفرق؟ لما أقول له result
يساوي true هذه نتيجتها يا إما true يا إما false لو
أنا خلّيت ال result لحالها if result ما هي ال
result يا إما true يا إما false يعني إذا كانت true
بتصير if true إلا لو كانت الجملة if result يساوي
false
أو لا يساوي true هذا بس تبدلها ان احط ايش في الأول
not بتصير كأنه بقول if result not true اش هي not
true اذا كها not false تمام؟ وحلنا تمرين او اكتر
من تمرين المحاضرة الماضية نيجي الان نكمل الجزئية
الأخيرة من الموضوع ال branching او ال F statement
اللي هي حاجة احنا بنسميها ال switch statement
الان عشان نفهم الـ switch statement تعالى ناخد او
نرجع نكتب مثال زي تعالى البدالة مثال البدالة كان
اول حاجة بطلب مني system.out.println enter a
number و
عند ال scanner
طيب و بعدين كنت إيش أسوي كنت أعمل سلسلة من F من F
إلس F إلس F صح ولا يا جماعة يقولنا لما يكون عندى
سلسلة من F إلس F إلس F فقط شرط واحد هو اللى بتنفذ
صح ولا تفرق لما يكون ال F منفصلين عن بعض لو كانوا
F وراها F وراها F إيش معانا الكلام هذا بيمروا
عليهم كلهم يتأكد منهم لكن لو عندى F إلس F إلس F
ببدأ بالترتيب و لو اتحقق واحدبسيب الباقي كله طيب
الان بقوله if choice يساوي واحد بده يعمل شئ معين
صح مش هيكون نعمل else if choice يساوي اتنين بده
يعمل شئ تاني else if choice تلاتة بده يعمل شئ تالت
else غير هيك بيعمل شئ رابعمش هيك يا جماعة ال F ال
S F و داخل هنا بحط اللي انا بديه اهلا بك مثلا في
خدمة العملاء اهلا بك في خدمة الصيانة مثلا و هكذا
طيب طلع لما انا كتبت الكلام هذا في حاجة علمليها
بالاصفر طلع هنا هاي شايفينها السطر السطر الأول و
بنصحني هوبنصحني ان انا لأ تعالى نشوف ايش اللي ..
لأ ليه كده مش غلط بقول لي replace chain of ifs
with switch ايش هي replace .. نترجم الجملة replace
.. ايش هي نكالة هاي الجملة replace chain ..
انا قاعد بكتبالجملة التحذير الكتبليها هذا الأصفر
مش غلط صحيح يا جماعة الأصفر هذا warning إيش يعني
warning تحذير مش غلط تمام replace chain of ifs
with switch هذا الكلام اللي هو كان كاتبه إيش معناه
الكلمة إيش يعني كلمة replaceستبدل .. chain ..
سلسلة .. استبدل سلسلة ال F بإيش .. switch ..
switch .. switch .. switch .. switch .. switch ..
switch .. switch ..
يعني الآن احنا هناخد حاجة بديلة عن مين على ال F
statement بتعمل نفس اللي بيعمله ال F statement
يعني انت في الامتحان يابتستخدم Fيا بتستخدم ال
switch إلا لو السؤال نص خلاف ذلك يعني لو جالك
تستخدم ال switch بتستخدم ال switch تمام طيب تعالى
نشوف كيف ال switch بنعملها بقول إذا أنت عندك حالة
زي هيك انه تطبيق حطيت فيه انتجر قيمة وبناء على
القيمة هذا بده ينفذ حالات معينة بتعمل التالي تكتب
كلمة switch وبين قوسين بتحط main choice وبتفتح
قوسين زي هيكسويتش وبين قوسين choice ليش حطيتها بين
قوسين ل choice لأن عليها باعتمد القرار تمام وبعدين
بتيجي جوه جوه القوسين بتاعه ل switch لان بقبل تكتب
F بصير تكتب switch وجوه هنا مافيش شرط فى شرط موجود
جوه لأ بس بحط المتغير اللى القرار باعتمد عليه تمام
اللى هو ال choice تمام لان بقوله لان ايش الخيارات
اللى عندى case واحدماذا يعني case واحد يعني لما
يكون ال choice قيمته واحد هاي معناها تمام ايش بنا
نعمل تكتب مثلا system.out.println customer service
تمام
و ممكن بعدين اطبعله جملة تانية او انافذ اي code
تانية هاي thank you
وفي الآخر بكتب كلمة break ايش هي كلمة break وقف
تمام هذا كله ال code بتنفذ امتى لما كانت لو كانت
قيمة ال choice ايش واحد لان نيجي نعمل سطر جديد و
نرجع ورا هيك و نكتب case اتنين ايش كان ال case
اتنين مش الحالة التانية لو كانت قيمة ال choice
بتنين ايش بيعمل نطبعله system.out println choose a
number from كذا لكذا ونعمل مثلا scanner s او
integer b يساوي s لتنين اي code قصدي تمام اي حاجة
و بعدين المهم لما خلص code الحالة التانية ايش بعمل
برضه برضه بعمل breakالان case تلاتة اذا كانت قيمة
ال choice تلاتة اطبع عليه system.outprintln
calling helpdesk
و
بعدين برضه بنسيح احط break
أخر حاجة إذا ما دخلش واحد أو اتنين أو تلاتة تمام
بكتب كلمة ايش default ايش يعني default لو دخل اي
حاجة كأنها else لو دخل اي حاجة غير ايش غير الواحد
والاتنين والتلاتة مثلا system.out.println بقوله
invalid choice
ايش يعني invalid choice خيار خاطرالان هو بنصحني هو
هيك بعتقد يعني انه اسهل انك تحول ال F لإيش ل
switch ل switch زي ما قلنا صياغتها العامة كانت
تالية لو كان عندك حالة زي هيك F X يساوي واحد نفس
الشيء else FX يساوي اتنين نفس شئ تاني إلس F X
يساوي تلاتة نفس شئ تالت إلس غير ذلك هذه أنا لو بدى
أحولها ل switch هتتحول كالتالت لاحظ أن هذه مجموعة
من F ال statements معتمدة على قيمة مين ال X على
طول بتيجي تكتب إيش switch و بنحط بين قصين إيش ال X
الـ X القيم المتغير اللي باعتمد عليه مش choice هذا
عشان ايه في البرنامج تمام ان هنا اسمه choice
المتغير تمام switch it بتفتح قص و بتسكق قص هيك تحت
اذا ايش الحالات بتاعة ال X واحد و اتنين و تلاتة و
ايش و غير ذلك صح ولا فبتيجي بتكتب case واحد هنا
بتكتب ال code تبعك و بعدين بتعمل ايشCase 1 Case 2
Code Break Case 3 Code Break Default وهذا ليس
لازمة لأن هنا لا يوجد الف صح ولا لأ يبقى ال
default معاها ليس إجبارية لأن بعد ال default لا
يهمك أن تضع breakليش؟ لأنه خلاص وصل للآخر لو حطت
مش غلط تمام؟ هذه صيغة ال switch ال switch تعمل عمل
ال F بالظبط هذه هي نفسها هذه واضح يا جماعة؟ واحد
بيقول طب ليش بناخدها؟ خلاص لأن هي موجودة في الجابة
ممكن تفتح كودة تلاقي مكتوب فيه switch تقول
ماخدنهاش؟ لأ هي بتعمل عمل ال F بالظبط و بيقول إنها
أسهل في الكتابة
لأ أنا أسهل في الكتاب هو هيك باعتبر طيب
هذا سؤال كويس لو اعتمد على متغيرين لو كان فيه أكبر
منه و أصغر منه هذا بتظبطش على أكبر منه و أصغر منه
صح ولا لأ هذه معلومة مهمة ال switch بتظبط في حالة
واحدة لما يكون عندك متغير رقميتمام؟ وكل ال F فيهم
أيش؟ فيهم يساوي يعني لو كان أكبر من أصغر من تمام؟
بظبطش هذا بعتمد أنه عندي مجموعة من F ال statements
كلها بتفحص متغير واحد ويساوي قيمة واضح ولا لا يا
جماعة؟ يعني حتى ال switch مش دايما انا ال F بقدر
أحولها ل switchماشي ال F بتتحول ل switch في حالة
واحدة بس إذا كانت كل ال F عبارة عن إيش يساوي يعني
أنا عندي في الآخر قرار بعتمد على قيمة متغير بس هذه
الحالة اللي بيحولها ل switch لكن لو كان أكبر من
أصغر من and و or و أكتر من شرط البعض بيضلك على
إيش؟ على ال F أنا شخصيا لما أبرمج بستخدمش ال
switch تمام؟خلاص بتعود على ال F و مرتاح عليه لكن
خلاص بتضل المعرفة أيوة ممكن
.. ممكن جوا ال case هذه بتحط هنا switch تاني تمام؟
هل جيت منجربها؟ أيوة و
الله مجربتها ع بوليان مجربها يعني هل جيت منشوفها
برضه بس هي أنا اللي بعرفه جربتها على integer و على
characterتمام لأن ال character في الآخر أيضا عبارة
عن رقم مش هو ASCII اتحول لرقم فلنجرب هذه بس لأن
المفروض أن هذا يؤدي نفس عمل ال F و لاحظوا طلعوا
معايا هنا شوية بدي أرجع أمحي هذا ال code شوية هيك
و أرجعه زي ما كان F statement هيك
كان F صح و مش حاططلي أصفر هنا لو إجيت على ال
netbeans و قلتلههنا يظهر خيار هنا ايش كتب لـ
convert F2 switch شايفين ايش عمل لحاله حولها ل
switch كتب ل switch choice case 1 كده و بعدها كتب
break case 2 break case 3 break default break لان
بعد case واحد تكتب الكود البدأكية مثلا system.out
.println high customer service
في ال case التانية system.out.println maintenance
سيانة
ماشي هلقيته بنجربها billing services خدمات
الفاتورة تمام default اخر حاجة system.out.println
invalid input
الان
خلينا نجربها تبقوا معايا طيب
enter a number لو دخلت رقم اتنينهذه راحلة على ال
maintenance وكان مطلع بعد ال F رقم
تلاتة billing services رقم ستة invalid input طب
زميلكم يقول بإن فهنحط switch جوا switch مثلا خلينا
نقول هو اجا على customer service بدنا نطلع لهقائمة
تانية صح و لا يا جماعة اعملنا هذه المحاضرة الماضية
قائمة تانية اول حاجة ان نطلب منه متغير تاني صح و
لا يا جماعة انت نسمي ايش مثلا choice2 هذا هنجيه من
ايه؟ من ال scalar هاي جيبنا المتغير التانيالان
زمان كنا نحط F في ال statement جوا F صح؟ و بتقدر
هالجيت تحط F عادي هذا يا جماعة ال code اللي جوا ال
case كود عادي تحط اللي بدك هي جوا ممكن تحط F ممكن
تحط switch تاني هالجيت بنعمل switch تاني switch ع
مين على choice اتنين وافتح قصين زي هيك الان case
واحد اذا دخل واحد طبعا واحد بعد مين بعد الواحد هذا
system.out.println aaa وما ننساش نضع break case
2 system.out.println break
default
invalid number هذا
عند ال switch داخل ال switch اللى فوق طبعا انت مش
مقيد تستخدم ال switch ممكن جوا ال switch يعني بدل
هذا تحط F statement يعني هاتي اجرب
الان انتر ا number هاي واحد دخل ع customer service
و بيستنى مني ايش رقم تاني هاي ايجي هنا بيستنى قاعد
هنا هو تمام هاي رقم تاني قوله اتنين هاي طبع ليه
PPP و طلع من البرنامج ليش طلع؟ في الآخر هو نفذ
هادي و بعدين خلص خلص ال case كلها الأولى صح مش
نفذ؟ نفذ هادي و على breakأحنا قلنا ال choice زي ال
F statement if else إذا نفذ شرط دخل على case
مستحيل يدخل على case تاني ال switch بتظبط أو بقدر
استخدمها في حالة واحدة إنه لما تكون الشرط معتمد
على متغير واحد والمتغير هذا في كل الشروط بافحص إذا
يساوي قيمة زي الحالة اللي هيكمتغير انا التنفيذ
باعتمد ع قيمته فكل ال Fات يساوي لكن لو صارت اكبر
من اصغر من في شرطين and خلاص بضلني مع ال F
statement و نفس ما انا بتعامل مع رقم ممكن استخدم
ال switch مع characters
يعني مثلا انا هناجبت scanner تمام و بدأ أقوله
enter a choice مثلا دخل خيار و بدأ يدخل a,b,c بدل
1,2,3 a,b,c فالان طبعا مافيش عنده next car فبدأ
أضطر أقوله next line تمام و هذا إيش string هاي str
و بعدين بدي أقوله car C يسوى str.car at 0 إيش عملت
أنا هنا يا جماعة أخدت أول حرف تمام من ال string
اللي دخله إذا دخل حرف هي بكون تمام نفسه فالأن أنا
بدي أقرر بناء أنا على قيمة مين ال Cبالـ F بقول F C
يساوي يساوي A اعمل كده else if C يساوي يساوي بيه
اعمل كده else if صح ولا لكن بـ switch كيف نعملها
نقول switch ايش بنحط من القصين؟ C ونفتح قصين زيه و
بقوله case A ايش معناه هذا الكلام؟ اذا كانت قيمتها
A ده القيمة طبعا لما يكون character بنحطها بين
single quotation إذا كانت Asystem.out.println
choice 1 وما ننساش نحط break case b system
.out.println choice
2
default invalid choice وفي الآخر ممكن احط break
ممكن لا مش فارق عند ال default لأن
high run
لأن هاي B هيقول ال choice اتنين هاي A واضح يا
جماعة طيب سؤال ايش بيصير لأن فهمنا استخدام ال
choice برضه بتنفع مع ال character هي بتنفع مع
القيم الرقمية اللي هي انتجرأو character لأنه قيمته
ask برضه قيمته رقم وبتنفع فقط في الحالات اللي فيها
كل هذه ال Fات مالها يساوي يساوي يساوي واضح؟ هذه بس
اللي بتبقى تتحولها ل switch لأن إيش بيصير لو أنا
شيلت break من ال breakات يعني هذه
بالظبط هيظلوا ماشي لما يصل ال break التاني عشان
هيك ينفع الشركتوريا بدون break يعني كيف مثلا لو
انت قد دخلتله خيار ايه؟ ايش هيعمل؟ هيطبع لك choice
واحد و هيروح يطبع choice اتنين لحد مايلك ال break
انتو أخدتوها هذه في المعمل؟ طيب
هي مثلا ايه؟ ايش طبع؟ choice واحدو 2 ليش طبع ال
choice 2 لأنه ليش break دخل على ال code اللي بعده
دخل على هذا السطر لحد ما أوصل ل break لو هقدر
break برضه قمتلها comment هاي
ايه طبع ال choice 1 و 2 و invalid choiceعشان هيك
لازم تحط ال brakes في الشروط اللي فوق واضحة
يا جماعة هادي؟ هيك بنكون خلصنا موضوع ال switch نجي
الآن لجزئية تانية طيب
الجزئية اللي هشرحها ال gate وهي أخر جزئية في ال
chapterجزئية مش أساسية هي نوع من طريقة طرق اختصار
ال code خليني اكتبها او اشرحها على اللوح و بعدين
بجرب الكيها عاملا
طيب كتير يا جماعة لما أحنا بنبرمج بكون عنده قيمة
متغير قيمته هتتحدث بناء على نتيجة if statement
مثلا أنا ببحث على نص بعمل برنامج ببحث و المستخدم
ببحث إذا الكلمة اللي ببحث عليها المستخدم موجودة حط
في ال string your keyword found إذا مش موجودة حط
في ال string not found يبقى قيمة ال string هتعتمد
على إيش؟على نتيجة البحث صح أو لا؟ وهي نتيجة الـ F
statement يعني قيمة المتغير التبعي تعتمد على الشرط
هذا مثال زي هيك ال result قيمة ال result سواء كانت
true أو false بتعتمد على مين؟ على ال F statement
إذا اتحقق الشرط بغض النظر أيش مكتوب هنا هتكون قيمة
ال result true ماتحققش الشرط تكون قيمة ال result
falseفالان احنا قدام حالة محددة ان يكون عندى متغير
قيمته بتعتمد على مين؟ على شرط هاد الحالة بيقوللي
انت ممكن يعني عمله في ال Java طريقة ان نختصر هذا
ال code تمام كيف؟ كالتالي بيقوللي بدل ما انت تتغلب
حالك وتكتب f statement و else وكذا تمام بدنا
نختصرها كالتالي سطر واحد بتقول result يساوي
result هذا المتغير تبعي تمام بعدين بتقوله choice
يساوي
يساوي ايه هذا مين هذا الشرط تمام كتبنا و بعدين
بنحط علامة
استفهم وبعدين بكتب كلمة true نقطتين
false هلجيت هشرح هذا السطر شايفينه بيغني عن مين عن
هذه كلها إيش هذا السطر معناه تعالوا نفهمه هلجيت
السطر هذا فيه يساوي هذا مش يساوي قولنا هذا إيش
assignment statement ال assignment statement قولنا
إيش بيعمل بحلل على اليمين و بحط النتيجة وينفي
الشمال ايش اللي عاليمين بيعمل باختصار شديد انه انا
كتبتي choice يساوي يساوي ايه وبعد علامة استفهم هذا
الشرط تمام وبعدين بعد علامة الاستفهم بتحط حاجتين
قيمتين قيمتين بتحط القيمة الاولى اذا اتحقق الشرط
وبعدين نقطتين القيمة التانية اذا مااتحققش الشرطهذا
معناه ان اول شخص يبدأ يعمل في الجزء هذا هيفحص
الشرط اذا اتحقق هياخد ال true يحطها في ال result
ماتحققش هياخد ال force يحطها في ال result فهذه
نفسها تكافئ مين تكافئ اللي فوق مرة
تانية انا عندي F statement
فايديتها انها تتحكم في قيمة متغير لأن المتغير ممكن
ياخد قيمة من قيمتين طب ايش هياخد القيمة مثلا في
حالته هذه هياخد true او false طب ايش هياخد true او
false بعتمد على الشرط هاي الشرط اللي موجود هنا اذا
تحقق الشرط بغض النظر ايش هو الشرط اللي هنا هيحط في
ال result true ماتحققش وحط في ال result false
لأن في حالة زي هيك لما يكون عندك متغير قيمته
بتختلف بناء على الشرط بقولي ممكن تختصر هذا ال code
بالشكل هذا كيف؟ بتحط المتغير تبعك بتحط بعده يساوي
احنا في النهاية هذه بتعمل assignment صح ولا؟ بس
القيمة اللي بتحط في ال result بتختلف بناء على
الشرط بقولي خلاص حط result يساوي حط الشرط تبعك وحط
بعده علامة تستفهم و بعدين حط القيمتيناللي هينحطه
في ال result إذا اتحقق الشرط وإذا ما اتحققش فهمتوا
حاجة يا جماعة طيب هرجيت عشان نتمكن منها بدنا
نجربها بأكتر من مثال هرجيت
للسرعة نفس المثال هذا بس بدل ما نعمل scanner ونطلب
المستخدم يدخل هذا بدل ما نعمل car choice يساوي
يعني بدل ما اطلب من المستخدم اعتبر ان ال character
ماله فيه قيمة الان بدي اقوله if choice يساوي a و
بعدين هنا برضه بنعمل boolean result
if
choice يساوي a روح لل result وحط فيهاtrue إلا إذا
كنت تضع فيها false طبعا هرجيت هذا مش مثال عملي ال
choice هذا المستخدم المفروض هو اللي يدخله بس هرجيت
عشان السرعة تبره موجود الآن طبعا و في الآخر بنطبع
الـ result طبعا أكيد في الحالة هذه إيش هيطبع ال
result true لأن هذا قيمته إيه لكن هذا لو قيمته بيه
هيطبع ليه false لأن هذا ال code نفسه شايفينه؟ بدي
أحوله لصيغة مختصرة لأن الصيغة المختصرة إيش هي؟
انسى ال code هذا اللي .. لأن الصيغة المختصرة بتقول
إن ال result بتعتمد على قيمة مين؟لـ choice فبأجي
تعالى على ال result وحط يساوي مش بتاعة تاخد قيمة
طيب إيش الشرط choice يساوي يساوي إيه هذا الشرط
طبعا و بعده حط علامة استفهام و بعدين إيش القيمة
تاخدها ال result إذا إذا تحقق الشرط حط فيها true
ماتحققش حط فيها false
هذا معناه شوف أول حاجة بتبحث عن يساوي لحالها هذا
كله كوم وهذا كوم تاني صح؟ امسك هنا حلل في عندي شرط
إذا اتحقق هيحط في ال result true ماتحققش محط في ال
result false و بعدين قلله في عندي طباعة result أه
هي موجودة الطباعةلأن في الحالة هذه تعالى شوف هي
run هي طبعلك false خلاص
اتدقش عليها هذه تمام هي طبعلك ايش true عشانها ايه
هذه ناخد مثال تانى
طيب عندي يا جماعة string فيها رابط اللي هو رابط
google مثلا تمام؟ وعندي جملة اسمها is valid URL
الجملة هذه مالها؟ فاضي اللي بدي أعمله التالي بدي
أقول إذا هذا كان النص رابط صحيح بدي أكتب في is
valid URL و أقول URL is valid إذا كان هذا مش رابط
صحيحبدي اكتف في ال is valid URL URL is not valid
يعني الآن اللي بدي افهمها ك if statement انا بدي
اتأكد ان هذا رابط صحيح كيف بدي اتأكد ان هذا رابط
صحيح لازم مثلا يبدأ ب HTTP يبدأ ب إيش؟ ب HTTP فلو
بدي أحله ب if statement بدي أقوله if URL starts
with خدناه ولا ما خدناهاش؟تمام إذا starts with
http إيش بنعمل بنروح ل is valid url ونحط فيها
valid نكتب فيها كلمة valid else is valid url ونحط
فيها not valid هذه f statement عادية سهلة ولا صعبة
هذه المفروض أنها سهلة ما هيهذه معناها if url
.startswithhttp يساوي true ماهي هذه starts with
ايش بترجع يا جماعة بترجع بولي true او false فبدي
اقوله اذا نتيجة هذه true نفذ هذه غير هيك حط فيها
ايش not valid طبعا هذا الشرط قلناه مش مهم نحطه
يساوي يساوي true لان هذه نتيجتها كلها true او
falseلو كتبتها مش غلط خلّيها هيك عشان نفهمها أحسن
حد يا جماعة فهم ال code هذا اللي أنا كاتبه هذا F
ال statement عادية حد مش فاهمها حد عنده مشكلة فيها
F عادية بفحص ال URL والله إذا ببدأ ب HTTP بحط في
ال is valid URL كلمة valid is حط فيها not valid
الآن السؤال هل هدي بنقدر نحوّلهاللـ Conditional
Operator اللي كتبناها قبل شوية تمام بنشوف كيف ايش
عملت انا هنا comment لل code مين المتغير انا بتغير
قيمته بحطه على الشمال is valid URL يساوي ايش بعمل
بعدها بحط الشرط اللي هو URL starts with http
you saw you saw true مش هذا الشرط لأن بعده حط
علامة استفهم إذا اتحقق الشرط بحط القيمة اللي هتنحط
في ال is valid URL إيش القيمة اللي هتنحط في is
valid URL كلمة valid بتعمل زي هيك لأنها string صح
ولا لأ بتكتب valid إذا ما اتحققش الشرط تحط نقطتين
و بتكتب not valid
لأن هذا السطر كله معناه ايش انه يعمل اللي على
الشمال قبل عند هاي الشرط فحص الشرط هذا اتحقق الشرط
بياخد القيمة اللي بعد الشرط مباشرة بحطها في ال 3
مااتحققش الشرط بحط فيها not valid لو شيلت ال true
عادي مافيش مشكلة احنا هنا مدام اي حاجة بتعملها جوا
ال Fبتعملها زي هنا بتقدر تعملها يعني هنا لو شيلنا
ال true مافيش مشكلة لو هنا برضه لو شيلنا ال true
مش مشكلة طبعا
اكيد يا جماعة و بديهي انه نوع البيانات اللي هنا
لازم يكون متوافق مع مين مع اسم ال .. اه يعني مفهعش
مثلا هنا تقوله انت حط خمسة اه مفهع تحط خمسة في ال
string اه لأتعالوا نتأكد كيف نتأكد system.out
.println is valid URL لأ لو أنا جيت عملت run ما
هو result بطل فيه متغير result ماحناش حذفنا
التعريف تبعه
طيب الآن هيران هذه طبع لي valid لكن لو ماكنش مبدأ
ب HTTP هذه
طبع لي not valid فهي هادى يا جماعة بتغني عن مين عن
ال F استثناء يليه حالة محددة لما يكون قيمة متغير
معتمد على ال F طبعا هذه الطريقة الصيغة المختصرة
بنسميها ال conditional
operator conditional operator كلمة operator معناها
زي معامل conditional يعني إيش شرطي معامل الشرطي
فبكرا مثلا في الانتحار ممكن أجيبلك F زي هيك أقولك
حولليها أو اكتبليها طريقة إيش conditional operator
بسيطة جدا تاخد المتغير تبعك تكتبه
و بعدها تختار يساوي و بعدها تختار الشرط و
بعدها تختار علامة الاستفهام و بعدها أول قيمة تختار
هي القيمة اللي هتنحط لو كان الشرط متحقق تختار
القيمة ال true و بعدها تختار القيمة لو لم تتحقق
الشرطfalse بسيطة جدا هي فيديوتها اختصار لا غير
تمام تلزم كتير دلوقت في البرامج بس هي بيقولك بدل
ما تاخد معاك كام سطر واحد اتنين تلاتة اربع خمسة
تمام انت بتكتبها في ايش في سطر واحد صح سطر طويل
شوية بس بيضلها في سطر طب ايه فانت تستعمل حاجات
اكبر كيف؟
لأ هي شرط يا if else بس إذا اتحقق حط كذا ماتحققش
حط حاجة تاني عشان ياخدوا حاجة بس مجدتين أه أو لأ
واضح يا جماعة طيب
ضال معانا وقت نحل سؤال من الكتاب ضال معانا وقت
مش بخير؟
السؤال هو هذا دعوني أكبر الحلو
على السريع طيب
هذه السؤال 11بس مش عارف اطلع الصفحة و لا نزلها طيب
هذه السؤال يا جماعة write write a switch statement
to convert a letter grade into an equivalent
numeric value on a four point scale
لأن في النظام الأمريكي مثلا باعتمد ان تقييم الطلاب
a b c d a طبعا معناها ان التقييم مثلا اكتر من
تلاتة و نصفة هاي خلينا نقرأه set the value of the
variable grade value to 4 for an a يعني هو يحول
letter لقيمة رقمية يعني انا لو دخلت aبتكون علامة
الطالب قداش 4.0 بيروح لمتغير اسمه grade value ويحط
4.0 إذا كان B بيحط في المتغير 3 إذا كان C بيحط 2
إذا كان D بيحط 1 إذا كان F بيحط 0 for any other
letterset the value 0 and display an error message
إذا كان أي حرف تاني برضه حط ال value 0 واطبعلي
رسالة error إيش يعني السؤال هذا يعني الآن المستخدم
يا جماعة بده يدخل حرف a b c d a b c d f تمام هاي
الحروف اللي بده يدخلها إذا دخل aالـ grade value هو
94 بي تلاتة سي اتنين دي واحد اف صفر غير ذلك ايضا
صفر بس هيطلع لك رسالة واش طلب منك في السؤال حلها
بأي طريقة switch system
.out.println enter a gradescanner s == new scanner
system.in string str == s.next line لأنه مافيش
character تمام؟ و بعدين كله car gradeيساوي str
.char at 0 بنااخد أول حرف بس من ال string بتاعنا
الآن الحل تبعي و بعدين فى عندنا float او اه float
grade level هذا المتغير اللى جالى يحط فيه القيمة
تمام نفترض قيمته فى البداية ايش كانت اه صفر الان
انا ايش بتدفحص يا جماعة ايش القيمة اللى بتدفحصها
ركزوا معايابتبحث ال character اللي بدخله المستخدم
وين ال character في أي متغير هيكون موجود؟ في grade
يعني الحل تبعي معتمد على grade بناء على grade
بتغير مين؟ بتغير ل grade level انت معايا ولا لا يا
جماعة؟ انا بتبحث ل grade اللي هو الحرف اللي دخله
بناء اللي عليها بتغير ل grade level طيب switch ايش
بنحط بالقسين؟ grade
الان case ايش الحالة الأولى a ايش بنعمل grade
level حط فيها جداش هيكون 4.0 حط هنا f وما تنساش
تعمل break case
b grade level 3.0
و اعمل برضه break case
C grade
level 2.0 F و break case F D
grade
level 1.0 Fعشان السرعة break نعمل ال case الأخيرة
default غير هيك grade level بحط صفر و أطبع لي
رسالة system.out.println error وهي break بعدينأنا
ماعملش F خلاص انت بتكملها لأن اذا دخلت A هتسير في
ال grade level أربع B تلاتة C اتنين D واحد غير هيك
قيمته هتكون صفر و هيطبعلك error لأن نجي في الآخر
system برا ال switch بدنا نطبع مين يا جماعة ال
grade level تعالوا نعمل run enter a gradeإذا دخلت
بي طبعلك تلاتة دخلت سي طبعلك اتنين دخلت اف طبعلك
error صفر صفر ماعملتهاش
انا ال F تمام هاي اما هو بدك اضيف case تاني case F
grade level
0 و break أنا ماكنتش أعمل ال F تمام؟ مدام ماعملتش
ال F دخل على ال default تمام؟ هيك الحل إيش؟ كامل
واضح هي يا جماعة؟ اللي أعطيك الله عفو