السلام عليكم ورحمة الله وبركاته ازيكم الشباب معمليين انا اتمنى تكونوا بخير. نتكمل مع بعض شباب شرح في كورس البرولوج. والنهاردة نكمل اه رقم اتنين.
السكشن اللي فاتت شباب شرحنا يعني ايه برولوج. مكونات البرنامج بتاعي. يعني ايه يعني ايه وطبقنا شباب الامثال اللي عملي زي ما شوفنا في الفيديوهات اللي فاتت.
طيب. السكشن ده شباب ان شاء الله مكملين مع بعض في الشابتر الاول اللي هو انتردكشن تو برولوج. و النهاردة عايزين نتعلم حاجة جديدة اسمها Recursive Rules طيب حدا فكرنا شباب يعني ايه اصلا الRules قلنا شباب البرنامج بتاع بتكون من حاجتين هما Facts و ايه شباب و Rules قلنا ان الFacts زي ما حاجات صحيحة يعني فيه Relation ما بين كذا و كذا فدو عبارة عن معطيات الشباب او عبارة عن حاجات هي او انا ايه شباب دخلتها للبرنامج.
اما كنا نقول يا شباب هي او حاجات معينة بتعتمد على حاجات تانية صحيحة. يعني يعني علشان اول اقول ان في relation y ما بين two object دول شباب لازم يكون متأكد ان في relation x ما بين اتنين object دول يعني الدول شباب لو كانت صحيحة عندي او العلاقة دي كانت صحيحة او مثبتة او كانت true اذا العلاقة دي شباب هي كمان true فدي كده كانت rule او قاعدة عندي شباب او شرطة عندي في البرنامج فبالتالي عشان انا انفذ relation y ما بين variable 1 والvariable 2 لازم اروح اشوف شباب relation X ما بين variable 1 و variable 2 صحيحة ولا لا طيب ايه هي بقى recursive rule قالك rule شباب بتتشك على نفسها يعني لو في هنا relation Y هلاقي برضو من ناحية تانية شباب relation Y تمام لو كان في هنا relation معينة اسمها وليكن parent هلاقي من ناحية تانية برضو relation parent فلعشان اثبت صحة relation parent من the two objects اللي مثبتين عند شباب يجب أن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن نحن يحصل يكون فيه معين او شرط معين او حاجة معينة تخليني ايه شباب تخليني اوقف اللي انا بعمله فالكلام ده هنشوفه كله ان شاء الله النهاردة مع وانزلنا نطبقه وانزلنا ناخد بنا من الشرط ده اللي مش هيدخلنا في الفنانية له بشباب نرجع للتسلسل و نطبق مثال رئيسي في حاجة اسمها يعني ايه هنا يقول لي اللي هو السلف بتاعك يا شباب يعني ايه يعني مثلا اللي هو والدك وجدك والد جدك وجد جدك وهكذا يا شباب لحد ايه حتى نصل الى اخر عائلة او اخر شباب حسنا انت لا تدخل مواطنات لبرنامجك كلهم اسمهم اسلافك كلهم اسمهم الـPredecesors لك يعني ان لدي شخص اسمه احمد محمد ابراهيم محمود. وانا قلت في البرنامج ان احمد هو اه محمد هو والد احمد. وابراهيم هو والد محمد. ومحمود هو والد ابراهيم.
وجيت اقول له مين هم بتوع احمد. بفروض البرنامج اللي بقى عليه مين شباب اتباع لهم محمد وابراهيم ومحمود هم دول الاسلاف او السلف بتاع من شباب بتاع احمد. تمام? فانا عندي في المثال اللي موجود عندي دلوقتي عندي قلت له ايه شباب?
ان عندي هي الايه? للبي. والبي للسي.
والسي للدي. تمام? فعايز دلوقتي لما ادي له السؤال ولو مين هما?
من الشباب من الشباب من الشباب من الشباب من الشباب من الشباب من الشباب من الشباب من الشباب من الشباب من الشباب من الشباب من الشباب من الشباب وبي وسي. فانا عايز اعمل برنامج او اعمل رولة شباب ايه? بتعمل لي الحاجات دي كلها. اقول له مين والد مين وكذا يا شباب في كل الترليل اللي عندي.
بعدين اقول له اطبع لي فاطبع لي ايه يا شباب? اللي ايه والبي والسي. طيب انا عارف يا شباب ابسط الوالد الشخصي هو واحد أسلافه يعني C هو والد D إذا C هو والد من أجل D هذه معروفة ومنتهية ولم يوجد أي مشاكل فقل هنا أن هناك والد بين X و Y إذا كان هناك والد بين X و Y يعني ايه يا شباب يعني لو اي اتنين شباب بينهم علاقة parent اذا شبابهم بينهم علاقة ايه Bridges sister يعني السيل اللي عندي هنا هي parent للدي اذا هي bridges sister للدي وهنا البيه شباب parent للسي اذا هي bridges sister لمين و هكذا مع ال B هل نحن ننتهي لا نحن لم ننتهي لو قلت له من هم ال B سيقول لك أنه يسكت على ال C لماذا على حسب ال rule تمام يا شباب.
انا عايز حاجة تانية تربط الA والB بين يا شباب B الD. الحلقة دي هتكون عبارة عن ايه? ممكن واحد يقول لي ايه? طب في علاقة ما بين من ومين? ما بين الB والD?
ان الB لدى. اذا الB هي كمان ايه يا شباب? هي لدى. هقول له ماشي.
ده كده طيب والان لفوق? فهيرجع يدور تاني؟ لا مش عارف طيب ولو في حاجة بعد الايه تاني؟ فالموضوع طول معي لذلك كان يجب أن أفكر في شيء الذي يتنادي نفسها حتى تصل لنهاية التري الذي لدي فقلت لدي حل ثاني أن يمكن أن تكون تبقى لو كانت لو لم تكن لها تبقى لشيء آخر مثل تمام ستكون لل D طيب ازاي اثبت ان ال B دلوقتي بريج السسر لل D قالك ماهو ال B بيرنت الحالة التانية اللي هي مين اللي هي C و C تبقى مين يا شباب تبقى بريج السسر لل D طيب ازاي اثبت ان C بريج السسر اللي دي. بناء على الرول الاولى. اللي هيبقى بريد السيسر لها لو كانت ايه شباب? لو كانت بيرنت لها.
اه فبالتالي ممكن ان انا اضبط الرول بتاعتي بالشكل ده. اني لو ما فيش بيرنت اذا هيكون في ايه شباب? هيكون في بريد السيسر ما بين الاكس والواي اذا كان ايه?
إذا كانت في علاقة بيرنت ما بين X و 3 مثل Z مثلا عايز ما بين P و D تبقى P ديت من شباب بيرنت الحاجة الثانية ايه واذاكن ازاي السيه تمام? اللي هي ايه شباب ما بين اكس وزد? وايه شباب?
وكان فيه علاقة ما بين مين ومين يا شباب? بين الزد اللي هي الحاجة التالتة ديت. وايه شباب?
والواي. اللي هي الحاجة اللي عند تحت. يعني عشان نثبت ان ال B بريج السسر لل D تبقى بيرنت لـ A الحاجة التانية زي ال C وال C تبقى بريج السسر لل D هي ال C بالفعل بيرنت لل D على حسب الرول الأولى هي ايه شباب هي بريج السسر لل D تبقى بالفعل P BD وهكذا يا شباب م�� A A هي parent للP و P من قليل أثبتنا بأنها BD إذن أن A تبقى BD تمام جدا معناه كده ان الاتنين دول مهمين يا شباب عندي واحد قولي طيب اللي فوق ديت ملهاش اي لازمة ليه احنا نعمل اللي تحته خلاص طب ايه يا شباب بعد ديت كده لحالة تانية وحالة تانية بريدي سيسر لدي طيب تبقى بريج السيسر لدي امتى لو هي بيرنت الحاجة ثالثة زي السي والسي تبقى بريج السيسر لدي طيب تبقى بريج السيسر لدي امتى لما تبقى بيرنت الحاجة ما هوش موجودة واصلا والحاجة الثالثة بايه شباب? تبقى لدي. وهكذا شباب.
تفضل تنادي في. تنادي في وي اللوب بتاعتي مش عايزة ايه شباب? مش عايزة تنتهي علشان كل مرة لما اجي اسبت شغالة لازم انافز ايه? لازم انافز الاتنين دولة.
يعني كل مرة اجي انافز ازاي شباب? ومش هوصل لناتج. فبالتالي عمرو ما هوصل لناتج هنا.
فهوصل ايه شباب في انفاينية لوب. علشان كده قلت ان انا لازم الكونديشن ده يكون موجود عندي في الاول. لان لو الكونديشن ده هتحقق انه لقيت عندي مبين اذا ال X بلوجي سيصل ال Y مباشرة انا مش محتاج اعمل ايه شباب مش محتاج انزل للتحت دي تمام فبالتالي ال role اللي عندي اتحققت بالفعل فمش محتاج انزل تحت فبالتالي مش محتاج انادي على نفسي تاني فمش محتاج اخش في ايه شباب في infinite loop تمام تمام جدا يعني بالمختصر كده لو انا فتحت السلالة بتاعي تاني بقوله ان هنا ال X هي bridge scissor لل Y عشان هي parent ليها ماشي وان ال X اللي عندي هي bridge scissor لل Z عشان هي parent للي Y والY هي ايه شباب هي bridge scissor لل Z وهنا شباب هي ال اكسل عندي بيرنت للواي واحد والواي واحد بريد السلسلة الزي. ليه?
لان الواي واحد هي بيرنت الواي اتنين. والواي اتنين كانت بريد السلسلة الزي. ليه? لان الواي اتنين هي parent للزد وقف مش هقول هي predecessor للحاجة تانية لا خلاص انا كده وقفت بناء على ايه شباب زي ما قلنا بناء على الرول الاولى اللي مش هتخلينا يخش في لوب او infinite loop تمام لما استطيع الى ازالة البرنامج بقوله كده شباب بناء على الشكل اللي عندي ده اللي X اللي عندي هنا علشان تكون بريدس فيسر للزد لازم تكون ايه شباب لازم تكون اولا ممكن تبقى بيرنت ليه طيب لا هي مش بيرنت ليها ايه شباب بقولوا هي مش بيرنت لها فبالتالي ندخل على الرول التانية خلاص ممكن تبقى ازا كانت ايه ازا كانت بيرنت الحاجة تانية ازاي وليكن الواي وكان الواي ده لمين تمام يا شباب فبناءنا على البرنامج اللي احنا كتبناه السكشن اللي فات عادي نسأل سؤال واحد ونقوله بريج السيسر بام و اكس يعني بام هو بريج السيسر لمين يا شباب ومفروض البرنامج يطبع لي ان الاكس ده هيساوي مين يعني حسب البرنامج انا بقوله هو البام بريج السيسر لمين تمام ده الكود كتبناه السكشن اللي فات ووضحنا مين بيرنت المين وهكذا يا شباب طب اتتالي حسب رسمة البام عندي هو والد للبوب والبوب والد لبات وان وبات والد لجم فلم اقول له ان البام بريدوسسر لمين يطبع لي بوب ويطبع لي بات ويطبع لي جم ويطبع لي ان. تمام?
عايزين نجرب البرنامج ده كده ونشوف شباب ندخل الكود ده ونشوفه هطبع لنا ايه. نفتح البرنامج زي ما قلنا عندنا برنامجين يا اما يسوي نستشتغل اي برنامج رياحة. نعمل نفتح هنلاقي نفتح نعمل من شباب نختاره على.
هيفتح معنا شباب ايه? بعدين هنا هقول له فايل. وافتح شباب الفايل اللي انا كنت اشغال عليه قبل كده. اللي هو وعمل ايه شباب?
هضيف لي الجزء الجديد بتاعي بتاع اللي انا لسه ضايفه دلوقتي. وعمل سيف يا شباب وزي ما قولنا بنعمل ايه? بنعمل قبل بنيجي نعمل اي حاجة بعد ما نعمل سيف بنعمل ونختار الفايل اللي هنكون شباب اول هنكتب لبرنامج والبرنامج يدور على الحلول داخل الفايل ده.
قال له هنا والداني يا شباب اسم الفايل بتاعي اللي هو ماشي يا شباب? السؤال دلوقتي اللي عايزين نسأله هو بام ويكس. يعني بام لمين?
ونكبر الخط شوية. بديتس بسر بيامو اكس وندغط ايه شباب وندغط انتر قال لي ايه قال لي ان ال اكس ممكن تبقى بب وممكن تبقى بان وممكن تبقى بات وممكن تبقى بجيم يعني يا شباب يعني الى عندك هو بيرنت البوب والبات والان والجيم زي ما احنا قلنا تمام لو انا عاد اجلس سؤال طيب وقل لهم مين هما هايقول لي ايه شباب نيجي هنا ونقول له ايه الآن أريد أن أقول لهم من هم أبناء الجيم واضغط إنتر قال لي أن أبناء الجيم هم بات وبام وتوم وبوب من هم هم؟ بات وبام وبوب وتوم و هنا جم هو شباب بده بيرنت دي والبوب بيرنت البات اللي هو بريد السسر للجم والبام هي بيرنت البوب وبوب بريد السسر للجم و طم هي بيرنت البوب والبوب بريد السسر للجم فطبعا لي بات وبوب وبام وطم الشباب هم باب وبوب وتوم وبات. تمام كده شباب? دي كده معنى كلمة وان ازاي رول يا شباب ايه?
بتنادي على نفسها. زي ما قلنا ان هي كده يا شباب هنا وتحت ايه يا شباب? برضو.
و كما قلنا تضع الاول لانه لا يحدث انفاينية لوب لانه يبدأ ببرنامجه بالترتيب الاول فلو انفذت لا يحتاج الى تشكي على التحت فبقى تنفذت فبينهي عملية الريكيرجين و لا يضطر ان ينادي نفسه ايه يا شباب طيب دلوقتي شباب بيقول لي ايه بيقول لي عايزة عرفني معنا كلمة procedure تمام بيقول لي procedure زي شباب شاف انت كده الاتنين رول اللي عنده دول الاتنين دول شباب بوصفوا نفس الحاجة يعني ايه الاتنين دول شباب الاتنين رول دول بوصفوا نفس relation اللي هي procedural relation تمام فلما لاي عندك clues او اكتر كده بوصفوا نفس relation بنسميهم يا شباب بنسميهم procedural تمام يا شباب بالسجرة. طيب آآ دلوقتي سأقول لك هنا ازاي نعمل في البرنامج. طبعا زي ما احنا عارفين هو كود كده او سطر شباب اكتر من سطر. مش بنفزه. بيبقى عبارة عن او تعليمات.
لكن ما بشوفوش. بنعمله بشترك لدى شباب اللي هو ما بين العلامتين دولي. لو عندي اكتر من سطر. ويا شباب لو كومنت عبارة عن سطر واحد ما بين العلامة دي. زي بالزبط السطر ده شباب.
اللي هو باعرف بيه اللي هو الرول. او rule one فدي شباب ايه حاجة زي هنت اللي انا كده بس ما بشوفهاش. طيب نخش تاني شباب على الجزء التاني من بتاع النهاردة.
وبقول لي يعني ايه شباب? بقول لي ازاي بي يجاوب على الاشئلة اللي انا بدي هاله ديت. يعني ازاي انا لما دخلت له هنا مسلا بفرح طبيعي مين هم شباب? و سوف نطبع لكم من هم الـPredicisors of Gym كيف يدخل و يبحث عن كل هذه الأشياء و يظهر لهم أنه يتكلم؟ قال لي أنه هو البروجي الشباب الـBernie Pateber السؤال الذي يدخله هو عبارة عن مجموعة من الـGoals مجموعة أهداف معينة يحاول أن يحققها الشباب من خلال أن يؤكد أن كل الأجزاء التي يدخله هذه أو التي يسأل عنها هي عبارة عن True هل دخلت له سؤال معين؟ السؤال ده ممكن مكون من جزء او اكتر من جزء كل جزء من دول الشباب بيروح يتاسبت ان هو الترو فوق تمام ممكن سؤال زي كده انا لما دخلت على رول الرول دي مكونة من جزئين بيثبت ان الجزء ده ترو وده ترو فيثبت ان الجزء الكامل عبارة عن ترو فيقول لي ان السؤال بتاعك كله عبارة عن ترو شباب فبروح طبيعي ليه ترو او الناتج بتاعه تمام كيف يثبت أن كل هذه الأشياء مباشرة؟ بكل بساطة، مجموعة الفاكس والأشياء التي تدخلها تعتبر أكسيميز، وعبارة عن مجموعة بديهيات والسؤال الذي يدخله الوزر يعتبره عبارة عن سيرب، نظرية ويحاول من خلال البديهيات التي لديه أن يثبت صحة النظرية أو السؤال الذي تدخله وبالتالي يصل إلى النتج تمام يا شباب؟ مثلا مثال صغير يقول لي لو قلت البرنامج مجموعة من البدايات مثلا كل الرجال بغير معصم من الخطأ وتقول له سكرات عبارة عن رجل ليس المفروض أن النظرية تقولك أن سكرات هو أيضا يغلط البرنامج فهم منين هو كمان بيغلط.
البرنامج بيمشي شباب بنفس المنطقة ده. فانت لو قلت له هنا يعني ده شباب بيكون معصم الخطأ ازا كان ايه? ازا كان يعني ازا كان يعني من ومن وما شباب اللي هم بيغلطوا عادي. وتحته قلت له عبارة عن من.
هو كمان عبارة عن رجل. فبالتالي ايه شباب? لما اسأل سؤال هل السكرات بيغلط?
هيقول ليه شباب? سيقول لي صحيح بالفعل السكرات بيغلط ليه؟ لأنه طلع فوق عرف أن السكرات رجل وأن كل الرجال بيغلط فقال لك أن السكرات كمان بيغلط ده كده بالضبط نفس المبدأ اللي برنامج بتاعي بيشتغل عليه فده لما دخل له الـRules بتاعتي اللي احنا شفناها من شوية بتاعت الـProcedural اللي هو Rule 1 و Rule 2 وتحت قلت له شهد سؤال بسيط زي كده قلت له إيه؟ قلت له عندي Brady sister Tom وBet هل Tom Brady sister لBet؟ ودخلت البرنامج بتاعي وقلت له انتر قال لك ايه يا شباب قال لي true بالفعل هو tom bleeds the sister of who لبد طيب البرنامج وصل ازاي بقى للحل ده وعرف اني tom bleeds the sister of who لبد وطبعا ل true قال لي على حسب الفاكتس والرولز اللي عندك فوق عندك مجموعة من الفاكتس اكبر شوية من يرنط من ومن يرنط من وعندك اثنين رولة تتوالي ل فبالتالي عندما تخلل السؤال كيف يفعل ب يفعل ايه يذهب ويبحث عن كمه في البرنامج بتاعه فوق اول واحد هيقابلها هي دي predecessor x و z فيروح معاوض عن ايه شباب معاوض عن elixir الاولى بالكلمة اللي في الاول اللي هي tom و z بالكلمة التانية اللي هي بين شباب اللي هي يبقى يعمل X بطم و Z ببات وروح يدور في الجول ويعرف يحسر في الRule ويعرف ان عشان يبقى فيه predecessor ما بين X و Z لازم يكون فيه variant ما بين X و Z يعني لازم يكون فيه علشان يكون فيه predecessor ما بين X و Z ما بين تم و بات لازم يكون في بيرنت ما بين تم و بات. وروح يدور في اللي عنده ما بين تم و بات مش هيلاقي ولا بيرنت يا شباب ايه ما بين تم و بات. ما فيش غير واحدة بس ما بين تم و ليز.
وانا طبعا عايزين ما بين تم و بات. فبالتالي ما لقاش ولا بيرنت. فبالتالي معرفش يحقق ولا يثبت ان رولي الوليدة صحيحة.
فهروح داخل على كلمة ايه يا شباب? اللي هي التانية ديت. طيب يحاول يثبت ان التانية هي اللي صحيحة.
التانية ما بين اكس وزيت اللي هم ما تم وبات اذا كان ايه اذا كان بيرنت ما بين اكس وواي اذا كان الشخص الاول فيه علاقة بيرنت بتجمعه بينه وبين شخص تاني خالص يعني ايه شباب يعني لو كان فيه علاقة بيرنت بتجمع اكس اللي هو ايه اللي هو تم وشخص تالت تمام وكان الشخص التالت ده هو بليد السسر لمين لا الشخص التاني اللي هو ايه اللي هو بات طيب ننزل قالك ان الاولى خلاص ما نفعلش مرة فاتت نخش على التاني زي ما قلنا تم بإكس والز بات فبالتالي نحاول نشوف ايه شباب في بيرنت ما بين إكس اللي هي تم وشخص تالت نروح ندور عندنا على كلمة بيرنت وندور في الفاكس اللي عندنا هل في بيرنت ما بين تم وأي شخص تاني قال له اه في بيرنت هي ما بين تم وبوب وتحت كمان في بيرنت ما بين تم وليز مشيل بالترتيب فناخد الأولى ما بين تم وبوب فبالتالي الـ X اللي عندي بقت بتم وعند وي وي ذي بقت بايه شباب بقت حاليا ببوب ماشي فاروح اشوف الجزء التاني من الرول اللي عندي خلاص عرفت ان الاكس اللي عندي هنا بطم والوي بيكان ببوب اروح اشوف بقى الجزء التاني طب هل في علاقة بريديس سيسر مبين بوب وز اللي هي كانت اصلها بات فاشوف كلمة بريد السسر فارجع على اللفة التانية من الاولى شباب على كلمة بريد السسر اللي فوق ما بين الـ X و Z اللي هم مين ومين دلوقتي يا شباب اللي هم بوب و بات طيب يكون امتى فيه علاقة بريد السسر ما بين بوب وبات اذا كان في علاقة بين بوب وبات. نروح ندور هناك يا شباب على علاقة ما بين بوب وبات. بالفعل في هنا علاقة ما بين البوب وبات.
اذا في علاقة ما بين وبات. ازا دي كمان بقت تمام? وازا دي كمان اسبتنا ان هي ازا يا شباب الاتنين دول يبقى ايه? يبقى الجزء الكبير ده كله. يبقى السؤال بتاعي هو كمان تمام يا شباب?
تمام جدا? فلما نجي نقسم البرنامج عندي بالشكل ده ونقول كنت بس أسأل على اللي هو عندي اني بقى البات وده ما حصلش مش موجود عندي. الحاجة التانية اني بقى الحاجة التانية زي و اللي بات.
طيب هو تم بيرنت الواي والواي بيرنت البات معنا كده ان الواي مشترك عندي دمام شباب فناخد الجزء التاني كده وندور بيه في الفاكتيس اللي عندي هنلاقي ان فيه علاقة بيرنت ما بين مين ومين شباب ما بين تم وبوب فبالتالي بعوض عن الواي بب تحت بلاقي ان في علاقة بريديس سيسر ما بين مين ومين ما بين البب و البات لان بب هو بيرنت البات اذا في علاقة دي شباب يزال مولنا بريديس سيسر ما بين بب و بات اذا في بريديس سيسر ما بين بب و بات وفي بيرنت ما بين توم و بب اذا ايه شباب اذا هيحصل عندي سنة ان الشرط اللي عندي اتحققه بالفعل يلاقي ان في بريديس سيسر ما بين توم و بات هذا بالضبط يا شباب البرنامج الذي يتعامل معه و هذه كلها الخطوات التي حصلت حسناً الآن عندما سألت البرنامج الذي يتعامل معه كما قلنا نقوم بإستخدام الـ Reconsult لكي نتأكد أن لا يتعادل ما يحدث في الكلام الذي يحدث كما قلنا كلها يا شباب و طبعاً True نريد أن نعرف بقى كل الخطوات التي حصلت لديك البرنامج الذي يتعامل معها لكنني لم أرى لأن البرنامج يقوم بإطباء الخطوات التي يعمل عليها نكتب أمر يسمى Trace نضغط Enter قال لي True يعني نفذ الأمر وهو Trace نعطيه سؤال آخر بريدج السيسر تم او بات هل تم بريدج السيسر لبات واضغط انتر ونبص لشباب على الحاجات اللي طبعها لي لقينا ايه بالضبط طبعها لي كل الاخطوات اللي مشي عليها قال لي اول حاجة خالص بناديها على البريدج السيسر اللي هي من فوق ايه يا شباب? ليه ده السؤال اللي انا ده طوله? فبروح ادور على السطور اللي عندي في عندي ايه?
تتحقق امتى لو البرنت اتحققت فروح اعمل call ما بين ال parent و tom و bat تمام في عندي فوق خالص parent ما بين tom و bat لا ما فيش اي parent من tom و bat فروح طبيعي ليه شباب fail فشل انه لاقي parent ما بين tom و bat فعمل ايه تاني شباب رح نازل على الحاجة اللي تحت اللي هي bridge assessor ما بين من و مين ما بين ال x و z اللي هم tom و bat اللي احنا قلنا عليها بتتنفذ امتى لما لما كون في بيرنت ما بين طم وبين حد معين اللي هو الواي قال لهنا روح ينادي على كول بتاع بيرنت طم وحد معين اللي هو الواي تمام راح لاقي ايه تحت في الكود لاقي ان بالفعل طم هو بيرنت المين لبوب فراح معاوض عن الواي باي شباب بي بوب وروح داخل على الجزء التاني وروح معاوض عن الواي دي بوب ويحاول يشوف ايه شباب ويبلي دي سويسر مبين بين البوب والبات. فتحت قال لي ايه هنا كول? بالفعل ان في عندي حاجة اسمها بين بوب وبات.
ازا في فوق هنا بين بوب وبات. ازا البوب لبات. واحنا من شوية قلنا ان التوم المين?
بيرنت للبوب إذن إيه شباب إذن أن الطم بريد السسر لمين لي البات فهنا قليل من شوية قلنا أن البيورنت ما بين بوب وبات فبالتالي البوب بريد السسر للبات فبالتالي أن الطم للبيت. يعني كل الخطوات اللي احنا قلنا عليها هنا يا شباب. ودي بالزبط موجودة عندي في الكود.
في الكود بتاعي. يعني ايه كول يا ابن ادي رول معينة فيل يعني فشل ان هو يحقق الجزء ده او الجول ده. ويجزت يا شباب.
ممكن مختلفة من البرنامج للتاني. هنا مكتوب اجزت. عندي هنا مكتوب ايه يا شباب ان هو لقى حل معين ايه يا شباب او عوض عن كنو انا والكنو تانية وطلعت عندي. تمام كده شباب؟ ده كده معنا كلمة اتريس البرنامج وعرفنا البرنامج ازاي بيوصل للحل بتاعي اي سؤال تكتبه تحت برضو شباب ايه هيديك ازاي يوصل الى البرنامج فعايز اديك سؤال زي مثلا Bridges, Scissors, X, Gem يعني حتل يمين هما Bridges, Scissors بتوقع جيم واتغط انتر انتر نبص شباب بيكتبلي كل الخطوات اللي بيوصل عليها لحد ما يوصل شباب ايه لكل Bridges, Scissors بتوقع جيم وده كده كل الخطوات اللي طلع عليها شباب وكل خطوات اللي يعملها علشان يوصل للحلول كلها وقال لي هنا ايه عندك اربعة سلوشن نطلع كده للأول ادي دي كل خطوات دي يا شباب علشان يوصل لإكس ممكن تبقى بات خطوات دي كلها علشان يوصل لإكس ممكن تبقى بام خطوات دي كلها علشان يوصل لإكس ممكن تبقى بتم خطوات دي كلها يا شباب علشان يوصل لإكس تبقى بب تمام فكلمة اتريس تخلين شباب انه يطبع لي كل الخطوات اللي بشتغل عليها.
طيب عايز الغيها بكتب امر يعني خلاص ما تعملش روح كتب السؤال تاني رح طبع ايه شباب طبع للاجابات على طول مغل ما يطبع لي خطوات اللي اعملها. تمام? فكده عرفنا ازاي البرنامج بتاعي بيدور على الحلول وعرفنا ايه فائدة كلمة عندي في البرولوج. تحت هنا في جزء نظر يقول لي ايه دلوقتي عايز يفرق ما بين ال declarative meaning وال procedural meaning في الكود بتاعي هرفنا قبل كده يعني ايه فرق بين declarative ويه شباب ال procedural لما كنا بنقول ان برولوج تبع declarative language لغة توصفية تمام بس يبقى هنا بقول لك ان في عند هنا جزء procedural برضو محتاج ان البرامر ياخد باله منه.
يعني الجزء بتاعك او التوصيفي بيهتم ايه يا شباب? ان انت ازاي توصف بتاعتك في اين? في البرنامج. وان انت ازاي كمان يا شباب تكون محدد شكل الاوتبوت اللي هطلع لك.
يعني انت عايز قيم تطلع لك ما بين قيم X of variable او غيره ولا عايز قيم Yes و No هو اللي تطلع لك ان الكلام ده صح او غلط او غيره فانت بتحدد الحاجات ده كلها وان البرامر بيهتم شدة بجزء declarative في البرنامج بتاعي طيب ايه هو بقى جزء procedural في البرنامج ان انت ممكن مثلا تفكر ان ازاي البرنامج اصلا طلع الاوت كما نفكر منذ قليل كيف يتم تقيم البرنامج للحلول نفكر كيف يتم تقيم الـrelation و ترجمتها في الكود كل هذه الأشياء نقول أنها بسجل كبروغرامر لا تهتم بها كثيرا على الأدل لا يفرق معك كيف تدخل الـrelation و كيف تدخل الـoutput حيكون شكله ايه. تمام? فالحاجات دي انت ما تفكرش فيها او انت بتكتب الكود بتاعك.
بس ما ينفعش تهملها بشكل تام. ويعندنا اخيرا شوية حاجات نازلة موجودة عندكم في الكتابة يا شباب بنات الناس تبص عليها وتركز فيها. بيقول لك مثلا ان ازاي برنامج بتاعك بتكون من شوية اجزاء بنسميها تمام? دول اللي هم تلات انواع اللي هم بيقول لك تحت شباب يعني ايه اصلا زي ما قلنا هي عبارة عن مجموعة او عبارة عن مجموعة او سطور لنفس و تحت شباب بيقولك ايه يعني ايه اصلا كويري اللي هو شباب بنسميه الكويستيشن اللي بندخله تمام البرنامج بتاعي بيحل الكويري ده ازاي او طلع اجابة السؤال ده ازاي زي ما قلنا طبعا ان هو بيدور في الحلقة في اللي عنده.
ويقسم كل جزء يا شباب عبارة عن جول ويحاول يعمل لكل الجولز اللي موجودة. يعني حاجات شوية حاجات ناظر يا شباب موجودة في اخر الكتاب اللي عندك. ويقول لك الحاجات دي كلها. كلها مصالحات ديت احنا شفناها في الشابطر بتاعنا اللي هو شابطر واحد عارفنا عن ايه اعرفنا عن ايه عارفنا عن ايه وعارفنا عن ايه وعارفنا عن ايه كلها يا شباب عرفناها اسناء البرنامج عايز الناس كلها تبقى عارفةها. ولغاية كده بنقول ان احنا خلصنا الشابطر بتاعنا.
شابطر واحد. اتمنى الناس كلها تطبق الفيديو يا شباب ورايا واشوفكو على خير ان شاء الله في السكشن اللي جاي. اشتركوا في القناة شكرا