Transcript for:
ملخص أساسي عن لغة LC

أهلا بكم في الويك 1 من كرسي سيس فافتي في الويك ده هنتعلم لغة LC احنا في الويك اللي فاتت تعلمنا البرمجة من خلال الاسكراتش وشتان الفارق ما بين البرمجة بالجرافيك والرسوميات والبرمجة بالتكست كود فلغة LC معتمدة على LC وكل اللغات اللي هتجي ان شاء الله بعد كده او شغلك بشكل عام ان شاء الله هيكون معتمدة على ولكن انت كواحد مبتدئ وانا كواحد مبتدئ واي حد ما تعلمش برموج قبل كده المعروضة بيكون صعبة جدا بالنسبة له لان انا في حياة العادية ما بستخدمش يعني انا لما بكون مسك الموبايل بتاعي او الكمبيوتر او اي جهاز لما بحب مثلا اشغل اغنية ما بكتبش كود علشان اشغل الغنية دي انا بفتح الابليكيشن والابليكيشن ده عبارة عن جرافيك ورسوميات اصلا فانا في حياة العادية ما بكتبش كود لكن انت في لغة ال-C علشان تشغل اغنية هتكتب كود علشان تفتح ملف هتكتب كود علشان تطبع كلمة هالورلد هتكتب كود وعلشان تعمل اي حاجة في الدنيا هتكتب كود فانت هتكون معتمد على التكست كود طيب سؤال بسيط جدا هو التكست كود ده موضوع مكون من ايه؟ يعني هي اللغة اللي مكتوب بها التكست كود دي ببساطة اللغة الانجليزية طيب سؤال مهم جدا هل الكمبيوتر بيفهم انجليزي؟ الاجابة لا طيب لما الكمبيوتر ما بيفهمش انجليزي ازاي الكمبيوتر بيفهم لغة ال-C واللغات المكتوبة بالتكست كود؟ هفهملك الموضوع ده ولكن بالمثال التالي لو انت دلوقتي عندك شخص ما بيعرفش يتكلم غير اللغة الانجليزية وشخص داني ما بيعرفش يتكلم غير اللغة الاسبانية الاتنين دول ازاي يتواصلوا مع بعض؟ ببساطة من خلال المترجم يكون وفي وسط ما بينهم بيفهم انجليزي وبيفهم اسباني فالوسط ده يخلى الاتنين دول يقدروا يتواصلوا مع بعض كذلك في البرمجة فعشان تخلي الكمبيوتر ما بيفهمش غير السفر والواحد يفهم لغة برمجة مكتوبة أغلبها باللغة الانجليزية فانت هاني محتاج لمترجم المترجم ده أو الكمبيلر ده عمل لنا حاجة عظيمة جدا خلانا دلوقتي عشان نتواصل مع الكمبيوتر ما بقيناش مضطرين ان احنا نكتب ألاف من الأصفار والوحيد لأ احنا بنستخدم لغة البرمجة اللي احنا عاوزينها اللي مكتوبة بالانجليزي اللي مكتوبة بلغة احنا بنفهم ويقوم المترجم بتحويل الكود اللي أنا كتبته ده لأصفار وحيدة علشان الكمبيوتر يفهمه فإنت دلوقتي مش مطالب غير إنك تتعلم لغة البرمجة اللي إنت هتستخدمها وبما إننا هنستخدم لغة LC ففيه نقطتين مهمين جداً لازم إن أنا أتكلم عليهم أول نقطة إن مش ده الويك الوحيد اللي هنتكلم فيه على لغة LC يعني اتفكرش إن إحنا هنتكلم على لغة LC في الويك ده وخلاص شكراً على كده لأ لغة LC مكملة معنا كذا ويك يعني إحنا في الويك ده هنتعلم فقط المفاهيم الأساسية زي الفانكشنز واللوبس والكنديشنز وكل المفهوم الأساسية دي هيتعلمها من خلال لغة LC تاني النقطة وهي أن لغة LC بتتكتب على محرر أكواد أو تاكست إيديتور وده عكس الاسكراتش وهنا ناس كتير جدا بتتعطل حتى ديفيد بنفسه تكلم عن الموضوع ده وقال لك خلي بقالك ما تشتغلش على أي محرر أكواد خارج دلوقتي إحنا بنوفر لك محرر أكواد علشان ما تعطلش نفسك فواحد دلوقتي هيرد علينا يقولنا إزاي يعني هتعطل إزاي برضو هقولك يا معلم أنا الجهاز بتاعي ممكن يكون محدس لكن إنت لا فيشتغل معاي لكن إنت ما اشتغلش معاك أنا ممكن دلوقتي يكون بيتابعني 10,000 واحد منهم 100 واحد بس الجهاز بتاعه محدس الباقي دول هتقابلهم مشاكل كتيرة جدا وانت دلوقتي اخر حاجة محتاجها هو انت هتقابلك اي مشكلة انت لو في مشكلة قابلتك دلوقتي ولاية نفسك مش عارف تشتغل ممكن تبعد اصلا عن المجال ده فابعد خلص عن اي مشكلة قابلك و 650 وفرت لك بيئة عمل كاملة فيها كل حاجة تحتاجها البيئة دي ممكن تشتغل بيها على الموبايل بتاعك ممكن تشتغل بيها على الويندوز او الماك او لو جهازك سريع او بطيء او متحدث او مش متحدث تقدر تشتغل بيها على كل حاجة. كمان البيئة دي هي اصلا هي. فو انت شغال عليها هتلاقي نفسك شغال بشكل اعتيادي عادي جدا. ما فيش اي مشكلة. تمام? وهنتعلم ان شاء الله كل حاجة فيها وما تقلوش خالص. مبدايا انا هسيب لك اللينك ده علشان تكون متابعة معي خطوة بخطوة. اول ما هتدخل على اللينك ده هتلاقي الوجه دي كده قدامك. بيقول لك دلوقتي ان انت عندك فيجيوال استوديو كود فور تمام? ودلوقتي بيقول لك انت لازم تسجل عندك بالجيت هوب. فلازم يكون عندك على جيت هوب علشان تقدر دلوقتي ان انت تسجل. معنا. اضغط دلوقتي على هيبدأ دلوقتي ان هو يفتح لك. طبعا انا مسجل على جيت هب فيفتح دلوقتي على طول. ولكن لو انت مش مسجل هيجيب لك دلوقتي الاتكاونت بتاعك تقدر دلوقتي ان انت تسجل وهيدخلك هنا عادي جدا. فهو دلوقتي عامل لك بيئة عمل كاملة على فيها كل حاجة تحتاجها. وكل ده موجودة عندك على يعني مش محتاج ان اجازك يكون سريع او ان انت تثبت حاجة او ان في اي حاجة تعتلك. كل ده موجودة عندك وتقدر دلوقتي حرفيا تشتغل على لغة. لنبدأ قبل أن نتعلم أي شيء في لغة C يجب أن أفهم الوجه الذي أمامي يجب أن أعرف ما هو هذا الجزء ما هو هذا الترمينال ما هو هذا الجزء في النصف وإذا قمت بقفل الترمينال بالغلط وقفلت الإكسبلورر ماذا أفعل؟ إذا قمت بالقفل الترمينال بالغلط فإذا قمت بالضغط على حرف الز من فوق فسيفتح لك إذا قمت بالضغط على هذا الجزء وعادي جدا طيب ايه هو الإكسبلورر وايه هو الترمينال وايه هو الجزء ده مبدايين الجزء في النصف هو الجزء الذي نكتبه فيه لغة lc سنتعلم إن شاء الله ونرى هذا الكلام مع بعض جزء الترمينال هو الجزء الذي نكتبه فيه الكمند أوامر اللينكس خلي بالك أن البيئة دي معمولة على النظام اللينكس أنا ممكن أكون فتح من نظام الويندوز وأنت تكون فتح من نظام الماك ولكن البيئة دي معمولة على نظام اللينكس يعني ايه نظام اللينكس؟ ان الأنظمة بتاعتنا معتمدة على الجرافيك النظام اللينكس معتمد على الجرافيك ولكن أغلبه معتمد على الأوامر معتمد على الكماند لو أنت تريد أن تفتح ملف تكتب كوماند وتكتب أمر لو أنت تريد أن تفتح فولدر أو أغنية أو تريد أن تشغل ملف سي كما سنفعل مع بعض تكتب عندك كوماند يشغلك ملف السيدة أو يحولك ملف السيدة لملف يفهمه الكمبيوتر وكل هذا سنرى مع بعض أما جزء الإكسبلورر هذا فهو الجزء الذي يكون موجود فيه كل ملفات وفلدرات ستكون موجودة ولكن بشكل جرافيك عادي جدا فممكن دلوقتي اجي هنا في الجزء ده واعملك دلوقتي ملف جديد باجي هنا في الجزء ده وبضغط دلوقتي على click key mean فبيظهر لي دلوقتي المربع ده ممكن دلوقتي اضغط هنا على new file عشان يعملي دلوقتي فايل جديد فممكن دلوقتي اعمل ملف C ممكن اعملك دلوقتي ملف اسميها لو او اسميه test او اسميه بالاسم اللي انت عاوزه ولكن علشان تخليه ملف C لازم يكون بامتداد.c لازم يكون بامتداد.c طالما انت بتعمل ملف C واضغط الآن على Enter وبهذا قمت بعمل أول ملف C سنقوم بعمل أول برنامج في لغة Lc تفكر في أول برنامج قمنا به بالسكرتش الذي كان يجعل الشخصية تقول كلمة Hello World أو نفس هذا البرنامج سنقوم به الآن بلغة Lc فأنا الآن أريد أن تطبع هذه اللغة في الترمينال كلمة Hello World هذه اللغة ليست جرافيكية لا يوجد شيء أشدها هنا فأضعها هنا فتكون لبازلز أو بلوك أو الكلمة التي تعودنا إليها هذه اللغة مكونة من الـ Text Code أي كلام تكتبه يعني أوامر كتابية طيب أنا دلوقتي عاوز أطبع كلمة معينة الأمر المسؤول عن الطباع في لغة الـ C اسمه Printf داخل أمر الـ Printf أو داخل علامتين التنصيص اللي جوه الـ Printf ممكن تكتب أي نص أنت عاوزه فدلوقتي أنا لو كتبت لك Hello هيتم طباعة النص ده لو كتبت لك أي نص تاني كلمة عبد الرحمن أي كلمة أنت عاوزها هيتم طباعة النص ده فتعبت دلوقتي لما نكتب لك كلمة Hello كومة World و لا تنسى بعد كتابتك لأي أمر في لغة LC أن تأتي في النهاية وتكتب لك semicolon semicolon بعد نهاية أي أمر أقول لك أنني أنهيت كتابته لو لم أكتب لك semicolon سيظهر خطأ فلازم أن أكتبه أنا كتبت الأمر بشكل صحيح ولكن هل يشغل الأمر؟ الإجابة لا لا لماذا؟ تعالي لنفهم في اللغة هناك أشياء يجب أن تكون عاملهم أول شيء أن تكون عامل container أو حوية تضع فيها كل الأكواد التي تريد أن تضعها هذه الحوية تسمى main و لا تريد أن تركز فيها ولا كلمة أكتبها الآن main و الكرلي ديفيد لم يشرح أي شيء عن هذا الجزء قال لك أن هذا الجزء سيتشرح بالكامل بعد ذلك لا تشغل نفسك به ما أريدك أن تفهمه أن في هذا الجزء ما بين الكرلي و الكرلي كل أكواد البرنامج تكتبها هنا لو كنت تقوم بعمل ألحظة فتضع كل الأكواد هنا لو كنت تقوم بعمل أي برنامج في الدنيا فكل أكواد البرنامج تضع هنا الان البرينت F دي الكود ده هيتحط دلوقتي جوه الكيرلي بريس دول الانت مين في لغة LC بتوازي الوين جرين فلاج في الاسكراتش فاكر الايفنت اللي كان اسمه وين جرين فلاج؟ او الايفنت ده كان بداية البرنامج بتاعك فاي كود كنت بتكتبه كنت لازم تكتبه داخل الايفنت ده لو في اي كود كنت كتبه برا مش هيشتغل معاك نفس الموضوع ده بالضبط في لغة LC فاي كود عاوز يتكلم عنك يشتغل عندك في البرنامج اللازم يكون موجود عندك داخل وصلت وما تركز فيها خالص خلي دلوقتي تركيزك على الامر ده طيب حلو قوي هل هيشتغل الامر ده الاجابة برضو لأ لسه عندي حاجة تانية وهي ببساطة ان انت لازم تقول دلوقتي للغة دي انت جايب الامر ده منين بالزبط يعني ايه الكلام ده مثال بسيط لو دلوقتي والدك بيقول لك رح للمكتب افتحه وجيب لي دلوقتي كتاب معين فانت هترد بكل تلقائية وتقول له اجيب لك الكتاب ده من اي رف بالزبط لانه لو ما قل لكش الرف اللي موجود في الكتاب انت مش هتعرف تجيب الكتاب ده كزلك اللغة دي اللغة دي بتقول لك انت جايب الامر ده من اي رف بالزبط او جايب الامر ده منين بالزبط فانت اي امر بتكتبه لازم تجي عندك فوق هنا وتقول له انت جايبي الامر ده منين بالزبط وبرضو تاني ما تركز في الكود اللي انا هكتبه دلوقتي. كل كلمة هتتكتب هنا هيتم شرحها بعد كده ان شاء الله بالتفصيل. كل اللي انا عاوزك تركز فيه هو الكود ده بس. تمام? فهكتب لك عندك هنا انكلود انكلود لملف عندك اسمه استي دي اي او دوت اتش. ده اللي موجود فيه الامر اللي اسمه طيب حلوة جدا هل هتشتغل دلوقتي? الاجابة اه دلوقتي كده خلاص هتشتغل انت دلوقتي عملت كل الشروط المطلوبة منك. طيب ازاي اشغل ملف C ده انا ما عنديش هنا ولا زرار ولا اي حاجة اشغله ازاي هنبدأ دلوقتي بقى نتعامل مع الكماند في الترمينال لأول مرة في حياتنا انا دلوقتي عاوز اشغل الملف ده او ببساطة عاوز دلوقتي اعمل خطوةين اول خطوة هو ان انا احول الملف ده لملف بيفهمه الكمبيوتر وتاني خطوة هو ان انا اشغل الملف التاني مش ده طيب تعالوا كده واحدة واحدة ازاي احول الملف ده لملف بيفهمه الكمبيوتر هكتب عندي في الترمينال هنا الكماند ده اللي اسمه واسم الملف اللي انا عاوز احوله. اسم الملف ده كان ايه? اسم الملف ده كان هلو. فاكتب عندي دلوقتي هلو. وركز نظرك في المكان ده. هضغط دلوقتي هنا على انتر فهيعمل لك دلوقتي ملف اصبر معي دلوقتي. هيعمل لك دلوقتي ملف الملف الجديد ده هو الملف المكتوب بالبينري. المكتوب بالاصفار والوحيد. اللغة اللي بيفهمها الكمبيوتر. وبكده اقدر دلوقتي ان انا اشغل الملف التاني اللي فوق ده. تمام? طيب ازاي بشغلو? بروح برضو عندي هنا في الترميز. من المكان الذي أقوم بوضعه. من هذا المكان. كيف أكتب هذا؟ أكتب الآن.. يعني من المكان الذي أقوم بوضعه. ستجد ملف اسمه Hello. لو سمحت أشغله. سأضغط على فتح كلمة Hello World أو أشغلك الملف. هذا كل شيء. لكن الكود في بعض المشاكل أو بعض الملاحظات. دعنا نأخذه معا لنفهم معا كيف تعمل هذه اللغة. قمت بطبع كلمة Hello World ولكن اركز. معي هنا هتلاقي دلوقتي كلمة وجنبها لزق فيها. المفروض ان دولار ساين ده يكون على سطر جديد. ليه لزق في كلمتها? لان ببساطة انا ما عملتش سطر جديد. المفروض ان انا كنت اعمل سطر جديد بعد ما اكتب كلمة هتقول لي طب هو ليه اصلا ما عملش سطر جديد من نفسه? هقول لك لانه ما بيعملش حاجة من نفسه. في البرمجة انت اللي لازم تعمل كل حاجة. انا قلت لك قبل كده ان الكمبيوتر غبي. انت اللي لازم تقول له كل خطوة بنفسك. فالمفروض ان انت تجيلي هنا بعد كلمة Hello World وتعملي سطر جديد هتقول لي يا عم كبر دماغك دي كلمة عادية يعني مش حوار يعني هقول لك افرد بقى ان انت مثلا بتطبع اكتر من كلمة عند دلوقتي انت عندك الامر ده وعندك امر تاني تحته وعندك امر تالت تحته وعندك امر رابع تحته مثلا يعني المفروض والبادئ ان هو يطبع لك كل واحدة على سطر الوحدة ولكن ده مش هيحصل تجي نشغل الملف ده ونشوف تعال دلوقتي لما نشوف بس يطرس وقال هنا انا اشغل اني ملف فيهم هل اشغل الملف اللي كان تم تحويله الباينري هتقول لي جرب سوف نرى مكاننا الآن إذا ضغطت على enter ستتابع لك كلمة هلو ولد واحدة فقط ما هذا؟ كنت أكتب لك أربع كلمات أو أربع سطور كيف تتابع لك كلمة واحدة أو سطر واحد؟ سأقول لك ببساطة لأن الشغل الجديد الذي قمت بعمله لم تحوله لملف باينري ملف الباينري كان متحول لأنه كان موجود فيه كلمة هلو ولد فقط كود الأولين الذي كتبناه لملف باينري اما الكود الجديد ده احنا محولناهوش لملف باينري. المفروض ان بعد اي تعديل انت هتعمله اي تعديل حتى لو هتعدى الحرف واحد بس. اي تعديل انت هتعمله المفروض ان انت هتحول الملف ده بالكامل تاني لملف باينري. فتعالى دلوقتي لما نعمل الموضوع ده مع بعض. فهولك دلوقتي ميك هلو. حولي دلوقتي ملف انت هضغط دلوقتي على انتر. فملف هلو اللي فوق ده اصبح دلوقتي ملف جديد او ملف محدس. ملف محدس موجود فيه الكود الجديد بتاعي. فقدر دلوقتي ان انا اشغل وفولك دلوقتي. من المكان اللي انا واقف فيه شغال دلوقتي ملف اسمه هلو هضغط دلوقتي على انتر بص بقى المشكلة اللي هتحصل قالك هلو ورلد هلو ورلد هلو ورلد هلو ورلد على نفس السطر وبعدهم الدولار ساين ما اعملكش سطر جديد ودي مشكلة كبيرة جدا فلازم انت بعد كل امر تحط انت سطر جديد طيب السطر ده بعمله ازاي بعمله من خلال حاجة اسمها باك سلاش ان الباك سلاش ده بتلاقيه عندك فوق زرار الانتر من فوق تمام? فاخد دلوقتي دي واحطها هنا واحطها هنا واحطها هنا. فبكده انا عملت سطر جديد لكل كود عندي. طيب سؤال دلوقتي للناس المركزة. هل هشغل ملف القديم? هل اجي لك هنا واغلك. اكيد لا لان دلوقتي لو ضغطت لك على انتر فبص عرض لك الكود القديم الكود اللي انت كنت محوله. التعديل اللي انت عملته ده انت محولتوش لبيناري. فطالما انا عملت تعديلي بقى لازم دلوقتي ان انا احوله لبيناري. تعالى بس لما نفضي بتاعنا ده فعشان نفضيه بنكتب عندنا امر اسمه. اسمه clear علشان بس انكم شايفين كل حاجة والدنيا عندنا تكون نظيفة وكده. فعلشان احوله بكتب عندي ميك واسم الملف هلو. وهضغط دلوقتي على انتر. فدلوقتي تم تحويله فقدر دلوقتي ان انا اشغله. فقولك دلوقتي دوت سلاش هلو. لو سمحت شغلهولي وهضغط دلوقتي على انتر فشغلهولك. وعملك سطر جديد لكل امر انت عملته. وبكده نكون عملنا اول برنامج في لغة LZ.