JavaRush /جاوا بلاگ /Random-SD /ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2)
Bender
سطح
Маунтин-Вью

ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2)

گروپ ۾ شايع ٿيل
جنهن اڃان تائين پروگرامنگ جي بنيادي ڳالهين تي هارورڊ ليڪچر نه ڏٺو آهي، هتي وڃو: https://javarush.com/quests/QUEST_HARVARD_CS50 =)

تعارف. CS50 ڪورس جو ڍانچو

ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 1دوستو! تعارف ۾، اسان توهان کي CS50 جي جوڙجڪ جي باري ۾ ياد ڏياريندا (يا توهان کي ڪنهن کي ٻڌايو). ڪورس 12 هفتا رهي ٿو. هر هفتي ٻه ليڪچر آهن، گڏوگڏ هر قسم جا سيمينار ۽ وضاحتون. جيئن ئي ليڪچر تيار ٿيندا ته هن جهڙو مضمون شايع ڪنداسين. ان ۾ ليڪچرن جي مختصر وضاحت، ”شارٽس“ تي نوٽس ۽ اضافي معلومات، گڏوگڏ عملي ڪمن جا ترجما شامل هوندا. صفر هفتي ليڪچر هيٺ ڏنل مسئلن کي ڍڪي ڇڏيو:
  • بائنري نمبر سسٽم.
  • ASCII
  • Algorithms ۽ algorithmic سوچ
  • مرتب ڪندڙ
  • ڇنڊڇاڻ جي ٻولي
  • بوليان اظهار
  • حالتون
  • سائيڪلون
  • متغير
  • افعال
  • صفا
  • وهڪرو
  • واقعا
هفتو 0 مقصد:
  • سمجھو ته معلومات کي ڊجيٽل طور تي ڪيئن نمائندگي ڪري سگهجي ٿو.
  • سکو بنيادي سافٽ ويئر تعميرات ۽ تصورات.
  • اسڪريچ استعمال ڪندي پنهنجو پنهنجو اينيميشن، راند يا انٽرايڪٽو سرگرمي ٺاهيو.
  • پنهنجن دوستن کي متاثر ڪريو =).

CS50 هفتو 0 (ليڪچر 1-2): نوٽس

الگورتھم

ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 2اسان کي اميد آهي ته توهان اڳي ئي ليڪچر ڏٺا هوندا ۽ سمجهي چڪا هوندا ته الورورٿم مسئلن جي حل (مختلف مسئلا، رياضياتي مسئلا يا ”ميٽرو اسٽيشن N تائين ڪيئن پهچجي“) کي مرحلن ۾ ٽوڙي ٿو. ان کان علاوه، هر قدم هڪ محدود وقت ۾ مڪمل ٿيڻ گهرجي، ۽ پاڻ کي ڪجهه قدمن جو تعداد هجڻ گهرجي. پڻ، ايندڙ قدم پوئين تي منحصر آهي. توهان وڌيڪ پڙهي سگهو ٿا الگورتھم بابت، مثال طور، هتي . جيڪڏهن توهان انگريزي ڄاڻو ٿا، ته هتي ڊيوڊ ملان جي هڪ شاندار TED اينيميشن آهي: https://youtu.be/6hfOvs8pY1k جيتوڻيڪ عام طور تي وڊيو ۾ معلومات ورجائي ٿي ته ليڪچر ۾ =).

بائنري نمبر سسٽم

ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 3اسان وٽ 10 آڱريون آهن ۽ سسٽم ڊيسيمل آهي. يعني، اسان 0، 1، 2، 3، 4، 5، 6، 7، 8، 9 نمبر استعمال ڪندي ڪنهن به نمبر کي ظاهر ڪري سگھون ٿا، پوءِ اهو ڪيترو به وڏو نه هجي. ان تي منحصر ڪري سگهجي ٿو ته انگ ۾ ڪٿي آهي، ان جو مطلب ٿي سگهي ٿو. مختلف شيون: جيڪڏهن هي انگ آخري آهي، ته پوءِ اهو يونٽن جي جاءِ تي آهي، پڇاڙيءَ وارو عدد ڏهه واري جاءِ تي آهي، اڃا به اڳتي کاٻي پاسي سوين هنڌن تي آهي، وغيره. لازمي طور تي، ڪنهن به انگ کي انگن جي رقم جي طور تي لکيو وڃي ٿو، جن مان هر هڪ کي ڏهن سان ضرب ڪيو وڃي ٿو هڪ خاص طاقت. يونٽن جي صورت ۾ - صفر. مثال طور، 1573 = 3*10 0 + 7*10 1 +5*10 2 +1*10 3 . اهو انگ جنهن سان انگن کي ضرب ڪيو وڃي ٿو ان کي نمبر سسٽم جو بنياد سڏيو ويندو آهي. ڊيسيمل سسٽم لاءِ، بنيادي طور تي ڏهه آهي. ڪمپيوٽر جون آڱريون نه آهن، پر ٻه حالتون آهن: شرطي طور تي "موجوده وهندو آهي" ۽ "موجوده وهندو ناهي"، صفر ۽ هڪ. ان مطابق، ڪمپيوٽر جي ميموري ۾ سڀ انگ (۽ عام طور تي معلومات) صرف ٻن عددن تي مشتمل آهن - 0 ۽ 1. انهن جي جڳهه، ڊيسيمل نمبر سسٽم جي صورت ۾، انگن اکرن کي ظاهر ڪري ٿو. صرف ھاڻي تعداد کي ڏھن جي طاقتن سان نه پر ٻن طاقتن سان ضرب ڪيل انگن جي مجموعن ۾ تبديل ڪري سگھجي ٿو. 0 بائنري ۾ = 0 1 بائنري ۾ = 1 2 بائنري ۾ = 10 7 10 = 111 2 بائنري مان ڊيسيمل ۾ تبديل ڪرڻ سکو. توھان شايد اڳ ۾ ئي سمجھندا آھيو ته اھو ڪيئن ٿيو آھي - اسان صرف ساڄي پاسي کان شروع ٿيندڙ انگ جو عدد وٺون ٿا ۽ ان کي ان جي عدد سان ملندڙ طاقت سان ان کي ضرب ڏيون ٿا، ۽ ھر ھڪ عدد سان گڏ سڀ ڪجھ شامل ڪريو. مثال: اچو ته بائنري نمبر 101101 2 جو ڊيسيمل اينالاگ ڳوليون 2 ساڄي طرف کان هڪ = 1*2 0 اڳيون صفر = 0*2 1 ساڄي طرف کان ٽيون = 1*2 2 چوٿين هڪ = 1*2 3 .. ۽ پوءِ 101101 2 = 1*2 0 + 0*2 1 + 1*2 2 + 1*2 3 + 0*2 4 + 1*2 5 = 1 + 0 + 4 + 8 + 0 + 32 = 45 10 تصور ڪريو اٺ بلب هڪ قطار ۾ ترتيب ڏنل آهن. انهن مان هر هڪ پنهنجي سوئچ آهي. روشني بلب مان هر هڪ خارجي آهي. توهان ڇا تصور ڪري سگهو ٿا، پهرين ليڪچر کي ياد ڪريو (اتي هڪ اهڙي ڊيوائس آهي) يا هتي توهان لاء هڪ ويجٽ آهي: http://cdn.cs50.net/2016/x/psets/0/pset0/bulbs.html Play ان سان گڏ، مشق "احساس" ان کي بائنري سسٽم. ڊيسيمل کان بائنري ۾ تبديل ڪرڻ. هتي، پڻ، هر شيء بلڪل سادو آهي، جيڪڏهن توهان جوهر سمجهي. هتي اسان وٽ نمبر 57 10 آهي . ان کي بائنري سسٽم ۾ تبديل ڪرڻ لاء، توهان کي اهو طئي ڪرڻو پوندو ته ٻن جي وڌ ۾ وڌ طاقت هن نمبر کان وڌيڪ نه آهي. 2 6 = 64. اهو واضح طور تي تمام گهڻو آهي. پر 2 5 = 32. ھاڻي اسان سڀ کان اھم عدد طئي ڪيو آھي. 32 10= 100000 2 . ھاڻي اسان کي ڳولي رھيا آھن ايندڙ انگ اکر. 57-32 = 25. ھاڻي 25 لاءِ اسان ٻن جي طاقت ڳولي رھيا آھيون جيڪو 25 کان وڌيڪ نه ھجي. 2 4 = 16. ان جو مطلب آھي ته اسان جو ايندڙ عدد به برابر آھي 1. 32+16 = 48 10 = 110000 2 . 57 – 48 = 9. 2 3 = 8، هي 9 کان گهٽ آهي. ان جو مطلب آهي ته ايندڙ عدد به هڪ هوندو. 32 + 16 + 8 = 56 10 = 111000 2 . 57-56 = 1، اھو آھي، رڳو ھڪڙي طاقت بچي آھي، 2 0 . اهڙيء طرح 57 10 = 111001 2 . جيڪڏهن اوچتو ڪجهه واضح نه رهي، توهان وڪي بڪ ۾ وڌيڪ پڙهي سگهو ٿا، ۽ جيڪڏهن توهان انگريزي ۾ مضبوط آهيو، هتي ليڪچر ۾ هڪ ننڍڙو اضافو آهي.

ASCII

ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 4ڪمپيوٽر صرف صفر ۽ هڪ کي سمجهي ٿو، ۽ ان جي ياداشت کي سوئچ سان روشني بلب جي تمام ڊگهي تار جي طور تي نمائندگي ڪري سگهجي ٿو، جيئن توهان مٿي ڏٺو. اسان اڳ ۾ ئي سمجهون ٿا ته ڪمپيوٽر ۾ انگن جي نمائندگي ڪيئن ڪجي. باقي معلومات بابت ڇا؟ خط، تصويرون؟ اچو ته انگريزي الفابيٽ ۾ 26 اکر آهن. اهو آهي، نظرياتي طور تي، اسان صرف بائنري سسٽم ۾ 0 کان 25 تائين انگن اکرن جي نمائندگي ڪري سگهون ٿا. هيٺ ڏنل سوال پيدا ٿئي ٿو: اسان ڪيئن سمجهي سگهون ٿا ته اسان وٽ ننڍو اکر آهي يا وڏو؟ اوقاف جي نشانين بابت ڇا؟ پوشیدہ نشانيون جهڙوڪ اسپيس؟ مختصر ۾، اسان کي هڪ ڪوڊنگ سسٽم جي ضرورت آهي، ڪيپ! 1960 جي ڏهاڪي ۾، اتي ڪيتريون ئي مختلف اسڪيمون هيون جيڪي اکرن کي انڪوڊ ڪيون ويون. هڪجهڙائي جو فقدان هڪ مسئلو ثابت ٿيو، ۽ 1963 ۾، آمريڪي معيار جي انسٽيٽيوٽ، ANSI، ASCII (آمريڪي معياري ڪوڊ فار انفارميشن انٽرچينج) انڪوڊنگ اسڪيم ٺاهي ۽ متعارف ڪرايو. هر ASCII ڪردار ست بِٽس يا ست بِٽس تي مشتمل هوندو آهي، جن مان هر هڪ 0 يا 1 جي قيمت وٺي سگهي ٿو. 7 بِٽ بائنري ۾ 0 کان 127 تائين انگ رکي سگهن ٿا، مطلب ته اسان وٽ 128 نمبر آهن اکرن کي انڪوڊ ڪرڻ لاءِ. اهو لڳي ٿو ته اهو ڪافي آهي انگريزي تقرير انڪوڊ ڪرڻ لاء؟ اچو ته ڳڻيون: az - 26 آپشنز AZ - 26 وڌيڪ 0-9 - 10 ,;:~& ۽ ٻيا اوقاف جا نشان - 32 ۽ هڪ وڌيڪ جاءِ. ڪل - 95 اکر. باقي 33 خالي جا اختيار نام نهاد ڪنٽرول اکرن لاءِ استعمال ڪيا ويا آهن، جهڙوڪ لائن فيڊ يا گاڏين جي واپسي: https://ru.wikipedia.org/wiki/ASCII#/media/File:ASCII_Code_Chart.svg جي وچ ۾ فرق ڪرڻ ضروري آهي. اکر 0-9 ۽ عددي قدر 0-9. اکر 0-9 ASCII قدر 48-57 جي نمائندگي ڪن ٿا. اهو نوٽ ڪرڻ دلچسپ آهي ته انهن ASCII قدرن جي ساڄي چار بٽ عددي قدرن جي بائنري نمائندگي آهن 0-9. اهو ڪجهه حد تائين ASCII قدرن ۽ انهن جي حقيقي عددي قدرن جي وچ ۾ تبديل ڪرڻ جو طريقو آسان بڻائي ٿو. اچو ته پروگرامنگ شروع ڪريون؟

ڇڪڻ

ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 5تنهن ڪري، اسڪراچ. توهان کي ليڪچر ۾ هن بصري پروگرامنگ ٻولي ۽ ان جي بنيادي ڪمن بابت ٻڌايو ويو. ڪوشش ڪرڻ لاءِ سکريچ پاڻ لاءِ، لنڪ جي پيروي ڪريو ۽ ڪلڪ ڪريو ”شامل“. هڪ دفعو رجسٽر ٿيو، توهان آن لائن پروگرامنگ شروع ڪري سگهو ٿا. ها، رستي جي ذريعي، اڄ سکريچ جزوي طور تي Russified آهي. مدد، جيتوڻيڪ، اڃا تائين انگريزيء ۾ آهي. جيڪڏھن توھان چاھيو، توھان راند ڪري سگھوٿا ۽ شاگردن جي منصوبن جو ڪوڊ پڻ ڏسي سگھو ٿا جيڪي ليڪچر ۾ ڏيکاريا ويا آھن. هتي آهي Pikachu پيسٽري ڪيچ . يا هڪ منصوبو فضول کي مختلف ڪنٽينر ۾ ترتيب ڏيڻ سان: https://scratch.mit.edu/projects/71161586/ ڊيوڊ ۽ ڪمپني توهان کان پڇي ٿو پريشان نه ٿيو جيڪڏهن توهان سوچيو ٿا ته توهان اهڙا پيچيده منصوبا نٿا ڪري سگهو: هن سطح کي اڳ ۾ ئي ڪجهه مهارت جي ضرورت آهي .

مشق

  1. اسڪراچ ۾ ٿيندڙ عملن کي بهتر سمجهڻ لاءِ، توهان ڪيترن ئي منصوبن لاءِ سورس ڪوڊ ڊائون لوڊ ڪري سگهو ٿا هتان . چوڌاري راند ڪريو ۽ ڏسو. ڪنهن ٻئي جو ڪوڊ سکڻ تمام مفيد آهي. اھو ھڪڙو بھترين طريقو آھي اھو معلوم ڪرڻ جو انھن پروگرامن جي اندر ڇا آھي جيڪي توھان پاڻ اڃا تائين بالغ نه ٿيا آھن. هڪ دفعو توهان اهو سمجهڻ شروع ڪيو ته اهي ايپليڪيشنون ڪيئن ڪم ڪن ٿيون، توهان محفوظ طور تي اڳتي وڌائي سگهو ٿا.

  2. هاڻي اهو وقت آهي پاڻ کي ڪجهه ڪرڻ جو. چيلنج اهو آهي ته مذاق ڪريو جڏهن ته شروع کان هڪ ننڍڙو منصوبو لاڳو ڪرڻ. اهو ٿي سگهي ٿو حرکت پذير، راند، انٽرويو عمل.

پروجيڪٽ گهرجون:
  • پروگرام ۾ گهٽ ۾ گهٽ ٻه اسپرائٽس (ڪردار، تصويرون) هجڻ گهرجن ۽ انهن مان هڪ ضرور بلي نه هجڻ گهرجي =).
  • اتي گهٽ ۾ گهٽ ٽي لکتون هجڻ گهرجن (عمل).
  • گهٽ ۾ گهٽ هڪ شرط، هڪ لوپ، ۽ هڪ متغير عمل ڪيو وڃي.
  • پروگرام ۾ گهٽ ۾ گهٽ هڪ آواز ضرور شامل ڪيو وڃي.
اهو آهي، جوهر ۾، توهان جو پروجيڪٽ ليڪچر ۾ لکيل ماڻهن کان وڌيڪ پيچيده هوندو، پر Pikachu ۽ ڪچرو گڏ ڪرڻ بابت ڏيکاريل رانديڪن کان وڌيڪ آسان. تنهن ڪري توهان جو پروجيڪٽ شايد ڪيترائي درجن پزل استعمال ڪندو جيڪي اسڪراچ ڪوڊ ٺاهيندا آهن. جيڪڏهن ڪجهه ڪم نٿو ڪري، توهان کي مسئلو حل ڪرڻ لاء توهان جي طريقي کي تبديل ڪرڻ جي ضرورت پوندي. بنيادي شيء بغير خوف کان وڃڻ آهي! اسان توهان کي دعوت ڏيون ٿا سوال پڇڻ ۽ پنهنجا منصوبا تبصرن ۾ حصيداري ڪريو.

اسڪراچ: عمل لاءِ تڪڙو ھدايت

اسپرائٽ منصوبي جو مرڪزي اعتراض آهي. ڪو به ڪردار - هڪ ٻلي، هڪ جهاز، هڪ بال - هڪ sprite آهي. جيڪڏهن توهان ٻه مختلف ٻڪريون شامل ڪيون، اهي ٻه مختلف اسپرٽ آهن. ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 6هر اسپرائٽ ۾ اسڪرپٽ آهن جيڪي ان جي رويي کي بيان ڪن ٿا. اهي ايڪشن بلاڪ آهن. لباس اهي آهن جيڪي شيون نظر اچن ٿيون. اسپرائٽس پاڻ بنيادي طور تي صرف ڊرائنگ آهن. هر اسپرٽ ۾ ڪيترائي ڪپڙا ٿي سگهن ٿا. هڪ اسپرائٽ ٺاهڻ لاءِ، توهان کي يا ته اسڪراچ لائبريري مان ان جي اصل پوشاڪ کي چونڊڻو پوندو، پنهنجي ٺاهيل ايڊيٽر ۾ پنهنجو پاڻ ٺاهيو، ڪا به تصوير اپلوڊ ڪرڻ، يا پنهنجي ويب ڪيم کي استعمال ڪندي هڪ فوٽو ڪڍڻ ۽ ان کي اپ لوڊ ڪرڻ جي ضرورت آهي. سڀ sprites نام نهاد اسٽيج تي رکيل آهن. اسٽيج بنيادي طور تي اسان جو ڪئنوس آهي، پروگرام جي جوڙجڪ. توهان پڻ لائبريري مان آوازن کي اسپرائٽ يا منظر سان ڳنڍي سگهو ٿا، يا توهان انهن کي لوڊ ڪري سگهو ٿا يا مائڪروفون استعمال ڪندي پنهنجو پاڻ کي رڪارڊ ڪري سگهو ٿا. پروگرام تي عمل ڪرڻ شروع ڪرڻ لاءِ، توھان کي ڪلڪ ڪرڻ جي ضرورت آھي سائي جھنڊو ساڄي ڪنڊ ۾ منظر واري ونڊو ۾. پر ائين ڪرڻ کان اڳ، توھان کي ھيٺ ڏنل بلاڪ کي پروگرام ۾ رکڻو پوندو: ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 7۽ ڪجھ بلاڪ ان سان ڳنڍيو، جيئن ڊزائنر حصو. مثال طور: ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 8هن حالت ۾، جڏهن توهان پرچم تي ڪلڪ ڪندا آهيو، اسپرائٽ جنهن سان ڪارناما ڳنڍيل آهن 50 قدم ۽ ميوز وٺندو آهي. اسان وٽ ڪيترائي بلاڪ آهن. اهي ٽي ٽيب ۾ ورهايل آهن: اسڪرپٽ، ڪپڙا ۽ آواز. اچو ته هڪ شرط سان هڪ سادي پروگرام ٺاهيو. جيڪڏهن اها پوري ٿي، ته ٻلي ميون ڪندو، جيڪڏهن اهو پورو نه ٿيو، اهو خاموش رهندو. آپريٽرز سائي ۾ ظاهر ڪيا ويا آهن. اهي جيڪي جانچ ڪن ٿا ته شرط صحيح آهي يا غلط انهن جي پاسن تي تيز ڪنارا آهن. حالت جي جاچ واري جوڙجڪ ۽ لوپ نارنگي ۾ ڏيکاريا ويا آهن. انهن وٽ خاص سوراخ آهن جتي توهان ٻين بلاڪ رکي سگهو ٿا.

سائيڪلون:

لامحدود تعداد ۾ ورجايو: ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 9ڪجھه ڀيرا ورجايو ڪجھ خاص تعداد: ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 10ھڪڙي عمل کي ورجايو جيڪڏھن شرط پورا ٿي وڃي: ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 11توھان ڊيٽا بلاڪ ۾ متغير ٺاھي سگھو ٿا. هيٺ ڏنل مثال ۾، اسان هڪ متغير x ٺاهيو، ۽ فوري طور تي اهڙا عمل هئا جيڪي ان سان ڪري سگهجن ٿيون. توھان متغيرن جي دائري کي سيٽ ڪري سگھو ٿا: سڀني اسپرائٽس لاءِ يا ھڪڙي لاءِ. ليڪچرز لاءِ اضافي مواد CS50: هفتو 0 (ليڪچر 1 ۽ 2) - 12سائو پرچم واحد عمل ناهي. پڻ واقعن جي سيڪشن ۾ توھان ڳولي سگھوٿا ڪي ٻيا ڪنٽرول حالتون. مثال طور، توهان اهو چونڊي سگهو ٿا ته ڇا ڪجي جڏهن توهان بٽڻ تي ڪلڪ ڪريو يا مائوس سان اسپرائٽ تي. جيڪڏهن توهان کي اضافي معلومات جي ضرورت آهي، توهان ان کي ڳولي سگهو ٿا، مثال طور، هتي .

ٻيو ڇا

جيڪڏهن توهان جي انٽرنيٽ جي رسائي تمام گهڻي گهربل هجي، اسان سفارش ڪريون ٿا آف لائن اسڪريچ ايڊيٽر ڊائون لوڊ ڪريو https://scratch.mit.edu/scratch2download/ تي . پوءِ پنھنجي پروجيڪٽ کي جمع ڪرڻ نه وساريو http://scratch.mit.edu/ فائل استعمال ڪندي ڪمپيوٽر کان اپلوڊ ڪريو.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION