1 00:00:00,000 --> 00:00:06,370 2 00:00:06,370 --> 00:00:08,150 >> JASON HIRSCHHORN: স্বাগতম সপ্তাহে তিন, সবাই. 3 00:00:08,150 --> 00:00:11,650 আমরা একটি ব্যস্ত কিন্তু উত্তেজনাপূর্ণ আছে এগিয়ে আমাদের বিভাগে. 4 00:00:11,650 --> 00:00:17,010 সুতরাং প্রথম, আমরা কিছু করেছেন, কারণ অবশ্যই সঙ্গে অগ্রগতি কিন্তু আমরা এখনও 5 00:00:17,010 --> 00:00:20,570 শেখার অনেক আমি আছি, কি বাকি আছে আপনি না কিছু সম্পদ দেখাতে যাচ্ছে 6 00:00:20,570 --> 00:00:24,160 যে অবিশ্বাস্যভাবে হতে প্রমাণ করা উচিত আপনি কাছে না শুধুমাত্র সহায়ক হিসাবে আপনার 7 00:00:24,160 --> 00:00:28,130 সমস্যা সেট করে, কিন্তু সব হজম আমরা আপনার মধ্যে না দিতে উপাদান 8 00:00:28,130 --> 00:00:30,800 বক্তৃতা এবং হাফপ্যান্ট এবং বিভাগে. 9 00:00:30,800 --> 00:00:34,790 >> তারপর আমরা প্রথম 20 কাটাতে চলুন অধ্যায় ধরে যাচ্ছে 25 মিনিট 10 00:00:34,790 --> 00:00:38,630 আপনি বা নাও থাকতে পারে পারে GDB, এই সময়ে ব্যবহৃত, কিন্তু এটি একটি হল 11 00:00:38,630 --> 00:00:42,570 অবিশ্বাস্যভাবে সহায়ক হাতিয়ার যে করবে না আপনি আপনার প্রোগ্রাম ডিবাগ সাহায্য. 12 00:00:42,570 --> 00:00:46,060 আপনি অনেক মধ্যে printf, ব্যবহৃত হতে পারে চিত্র আপনার প্রোগ্রাম মাঝখানে 13 00:00:46,060 --> 00:00:47,430 একটি পরিবর্তনশীল equaled কি. 14 00:00:47,430 --> 00:00:52,060 GDB এমনকি printf, বেশী ভালো এবং হয় আপনার কোড স্ক্রু আপ না আপনি কারণ 15 00:00:52,060 --> 00:00:53,320 একটি এক্সিকিউটেবল ফাইল থেকে তা চালানো. 16 00:00:53,320 --> 00:00:56,500 তাই আমরা 10 সবচেয়ে সহায়ক উপর যাবেন আপনি GDB জন্য প্রয়োজন কমান্ড, এবং আমরা করছি 17 00:00:56,500 --> 00:01:00,540 একসঙ্গে তাই একটি ব্যায়াম উপর যেতে যাচ্ছে সমস্যা আপনি, তিনটি এবং তার পরেও সেট 18 00:01:00,540 --> 00:01:03,320 ডিবাগ সাহায্য করার জন্য GDB ব্যবহার করতে পারেন আপনার প্রোগ্রাম. 19 00:01:03,320 --> 00:01:06,420 এবং পরিশেষে, আমরা কিছু পুনরালোচনা চলুন আলগোরিদিম বাছাই ও অনুসন্ধান 20 00:01:06,420 --> 00:01:10,590 আপনি বক্তৃতায় দেখেছি, এবং আমরা যে আসলে কোড, শুধু যাচ্ছে 21 00:01:10,590 --> 00:01:17,360 pseudocode, কিন্তু কোড বাইনারি অনুসন্ধান, বুদ্বুদ সাজানোর, এবং নির্বাচন সাজানোর. 22 00:01:17,360 --> 00:01:20,090 >> সুতরাং প্রথম, আমি যেতে চান সম্পদের উপর. 23 00:01:20,090 --> 00:01:23,530 এই বিশাল তালিকা, এবং এটি আছে আমি অনেক ছিল, কারণ ছোট ফন্টের 24 00:01:23,530 --> 00:01:24,390 এখানে পরে দেখা. 25 00:01:24,390 --> 00:01:26,950 কিন্তু এই, আপনাকে সাহায্য করবে না শুধুমাত্র আবার, সমস্যা সেট দিয়ে এবং 26 00:01:26,950 --> 00:01:30,760 আপনি শিখেছি পরিপাকের তথ্য, কিন্তু স্পষ্টভাবে, ব্যঙ্গ সময়, এই হবে আসা 27 00:01:30,760 --> 00:01:32,130 অবিশ্বাস্যভাবে সহায়ক হতে. 28 00:01:32,130 --> 00:01:34,700 সুতরাং প্রথম, বক্তৃতা নোট. 29 00:01:34,700 --> 00:01:39,480 আপনি cs50.net/lectures গিয়ে থাকলে নির্দিষ্ট সপ্তাহে এবং দিন স্ক্রল, 30 00:01:39,480 --> 00:01:43,120 আপনি প্রতিটি জন্য নোট আছে দেখতে পাবেন সহজভাবে না, যা বক্তৃতা একটি 31 00:01:43,120 --> 00:01:47,250 প্রতিলিপি, কিন্তু এর সম্পাদিত সংস্করণ কোড সহ বক্তৃতায় আবৃত ছিল কি 32 00:01:47,250 --> 00:01:49,610 টুকরো এবং অন্যান্য সহায়ক টুকরো অংশ. 33 00:01:49,610 --> 00:01:52,220 আমি অত্যন্ত যারা ধরে যাচ্ছে সুপারিশ. 34 00:01:52,220 --> 00:01:55,340 এবং তারপর হিসাবে ভাল, সোর্স কোড আছে প্রতিটি বক্তৃতা থেকে নেওয়া হয়েছে. 35 00:01:55,340 --> 00:02:00,050 এবং আবার, এই স্লাইড এছাড়াও হবে cs50.net/sections অনলাইনে পাওয়া 36 00:02:00,050 --> 00:02:01,480 এই সন্ধ্যায়. 37 00:02:01,480 --> 00:02:06,860 >> তাই দ্বিতীয় হাফপ্যান্ট প্রতি সপ্তাহে যে কভার বিষয়, সাধারণত 5 থেকে 15 38 00:02:06,860 --> 00:02:08,090 দৈর্ঘ্য মিনিট. 39 00:02:08,090 --> 00:02:12,310 এবং যারা আশা করছি আপনি একটি দিতে হবে বিভিন্ন বিষয়ের উপর মহান কার্তুজ. 40 00:02:12,310 --> 00:02:12,870 তৃতীয় - 41 00:02:12,870 --> 00:02:16,370 এবং এই ব্র্যান্ড নতুন এই হল বছর - study.cs50.net হয়. 42 00:02:16,370 --> 00:02:20,110 আপনি এটা চেক আউট না, আমি অত্যন্ত আপনি সেটা যে সুপারিশ. 43 00:02:20,110 --> 00:02:21,100 আপনি একটি বিষয় বাছাই পেতে. 44 00:02:21,100 --> 00:02:23,040 আমরা সেখানে নেভিগেশন বিষয়ের অত্যাধিক আছে. 45 00:02:23,040 --> 00:02:24,770 সুতরাং উদাহরণস্বরূপ, যদি আপনি কার্যাবলী বাছাই. 46 00:02:24,770 --> 00:02:27,270 এটা আপনি কিছু স্লাইড দেয় এবং ফাংশন উপর নোট. 47 00:02:27,270 --> 00:02:31,190 যারা আসলে স্লাইড যে টিএফএস সময় ব্যবহার করার পরামর্শ দেওয়া হয় আমাদের 48 00:02:31,190 --> 00:02:32,710 বিভাগে উপস্থাপনা. 49 00:02:32,710 --> 00:02:35,040 ডিল জন্য টিপস এবং ট্রিকস এর রয়েছে ফাংশন, এবং আছে সঙ্গে 50 00:02:35,040 --> 00:02:37,290 যে সাহায্য অনুশীলন সমস্যা আপনি ফাংশন সঙ্গে কাজ. 51 00:02:37,290 --> 00:02:41,500 আমরা স্বল্প নেভিগেশন আপনি লিঙ্ক দাও ফাংশন এবং বার যে ফাংশন 52 00:02:41,500 --> 00:02:42,750 বক্তৃতায় আসা পর্যন্ত. 53 00:02:42,750 --> 00:02:46,550 এই সুতরাং study.cs50.net, ব্র্যান্ড নতুন বছরের, একটি চমত্কার সম্পদ. 54 00:02:46,550 --> 00:02:52,180 >> এর পরে, আমি ম্যানুয়াল যা মানুষ আছে আপনি এ চালাতে পারেন যে কমান্ড 55 00:02:52,180 --> 00:02:52,770 কমান্ড লাইন. 56 00:02:52,770 --> 00:02:57,880 তাই আপনি যদি একটি সম্পর্কে কোনো প্রশ্ন থাকে তাহলে কমান্ড, যেমন, রান্ড, যা আমরা 57 00:02:57,880 --> 00:03:00,900 অধ্যায় সময় গত সপ্তাহে সম্মুখীন এবং আপনি সম্ভবত সম্মুখীন হয়েছে 58 00:03:00,900 --> 00:03:05,380 দিয়ে যাচ্ছিলেন যখন আপনার সমস্যা সেট কোড উৎপন্ন, কিন্তু আপনি মানুষ টাইপ হলে 59 00:03:05,380 --> 00:03:09,980 Rand, আপনি পাতা পাবেন যে Rand সম্পর্কে আপনাকে সব বলে. 60 00:03:09,980 --> 00:03:14,040 এটা, এটা লাগে কি আপনি দেয় এটি প্রদর্শিত পরামিতি, যেমন রিটার্ন 61 00:03:14,040 --> 00:03:16,530 টাইপ এবং একটি সংক্ষিপ্ত বিবরণ যে ফাংশন. 62 00:03:16,530 --> 00:03:17,500 >> সুতরাং Rand চেক আউট. 63 00:03:17,500 --> 00:03:22,270 এটা একটা সামান্য শব্দময় এবং বিভ্রান্তিকর হতে পারে তাই মাঝে মাঝে আমি যে খুঁজে 64 00:03:22,270 --> 00:03:26,150 কেবল আমি জানতে চাই কি হয় Googling উত্তর খুঁজে সবচেয়ে ভাল উপায়. 65 00:03:26,150 --> 00:03:27,940 তাই গুগল দিয়ে অনুশীলন. 66 00:03:27,940 --> 00:03:28,600 গুগল এ ভাল পান. 67 00:03:28,600 --> 00:03:30,600 এটা আপনার সেরা বন্ধু হয়ে যাবে. 68 00:03:30,600 --> 00:03:34,300 >> পাশাপাশি গুগল, আপনি তা খুঁজে পাচ্ছি না হলে গুগল, cs50.net/discuss, এটা 69 00:03:34,300 --> 00:03:35,550 আলোচনা মঞ্চ. 70 00:03:35,550 --> 00:03:39,390 আপনি একটি প্রশ্ন আছে সম্ভাবনা, এক আপনার 700 + + প্রার্থনার এছাড়াও আছে 71 00:03:39,390 --> 00:03:42,110 প্রশ্ন এবং জিজ্ঞাসা করা হতে পারে এটি ইতিমধ্যে আলোচনা মধ্যে 72 00:03:42,110 --> 00:03:43,540 ফোরাম এবং এটি উত্তর দেওয়া আছে. 73 00:03:43,540 --> 00:03:48,130 তাই আপনি যদি একটি সাধারণ প্রশ্ন বা আছে আপনি কি মনে করেন যে একটি প্রশ্ন আছে 74 00:03:48,130 --> 00:03:52,300 হয়তো অন্য মানুষের মধ্যে চালানো হতে পারে, cs50.net/discuss চেক আউট. 75 00:03:52,300 --> 00:03:55,450 >> অবশেষে, গত দুই, আপনি চান একটি বাস্তব মানুষের, অফিসে কথা বলতে 76 00:03:55,450 --> 00:03:57,770 শুক্রবার মাধ্যমে ঘন্টা সোমবার. 77 00:03:57,770 --> 00:04:00,850 অনলাইন অফিস এর রয়েছে এক্সটেনশন ছাত্রদের জন্য. 78 00:04:00,850 --> 00:04:04,370 , এবং শেষ কিন্তু অবশ্যই কমপক্ষে না আমার, বিস্ময়বোধক বিন্দু. 79 00:04:04,370 --> 00:04:05,960 আপনি আমার সব যোগাযোগ সংক্রান্ত তথ্য আছে. 80 00:04:05,960 --> 00:04:11,940 আপনি যদি কিছু প্রয়োজন হয়, অনুগ্রহ করে না আমার সাথে যোগাযোগ বিব্রত বোধ করবেন. 81 00:04:11,940 --> 00:04:14,020 সর্বদা এটা করতে দ্বিধা বোধ করবেন না. 82 00:04:14,020 --> 00:04:17,490 আপনাদের মধ্যে খুব কম সংখ্যক Gchat নেভিগেশন আমার যোগ, তাই, যে হতাশ হয়েছে 83 00:04:17,490 --> 00:04:20,410 কিন্তু আশা যে মধ্যে পরিবর্তন করব এই এবং পরের অধ্যায়. 84 00:04:20,410 --> 00:04:22,105 এ পর্যন্ত সম্পদের উপর কোন প্রশ্ন? 85 00:04:22,105 --> 00:04:25,670 86 00:04:25,670 --> 00:04:27,450 গ্রেট. 87 00:04:27,450 --> 00:04:34,280 >> অবশেষে, অন্য প্লাগ জন্য মতামত, sayat.me/cs50. 88 00:04:34,280 --> 00:04:37,050 আপনি আমাকে বেনামী মতামত দিতে পারেন আমি করছি কিভাবে. 89 00:04:37,050 --> 00:04:38,320 গত সপ্তাহে যে সত্যিই সহায়ক ছিল. 90 00:04:38,320 --> 00:04:41,890 আমি আপনাকে বলছি থেকে মতামত একটি দম্পতি আছে ডান বিভাগে, প্লাস থেকে পরে 91 00:04:41,890 --> 00:04:44,750 এটা দেখেছেন যারা অন্য ছাত্র সপ্তাহ সময়, এবং এটি 92 00:04:44,750 --> 00:04:46,830 অবিশ্বাস্যভাবে সহায়ক ছিল. 93 00:04:46,830 --> 00:04:50,250 আমি চেষ্টা এবং আমার ব্যবহারের সীমা যাচ্ছি শব্দ ", মিষ্টি" কিন্তু আমি দেখাতে হবে আমার 94 00:04:50,250 --> 00:04:52,410 প্রবল আগ্রহ ও উত্তেজনা অন্য উপায়ে. 95 00:04:52,410 --> 00:04:56,550 কিন্তু অন্যান্য অতিরিক্ত ছিল বাস্তব করুন, 96 00:04:56,550 --> 00:04:57,600 pluses এবং ডেল্টা উভয়. 97 00:04:57,600 --> 00:05:00,480 সুতরাং, আমি আপনাকে বলছি মতামত দিন আপনার সমস্যা সেট উপর. 98 00:05:00,480 --> 00:05:01,790 আমার মতামত দিতে নির্দ্বিধায় আমার শিক্ষণ উপর. 99 00:05:01,790 --> 00:05:04,010 আমি আপনাকে বলছি জন্য এখানে নিলাম. 100 00:05:04,010 --> 00:05:05,270 >> গ্রেট. 101 00:05:05,270 --> 00:05:07,020 এটা কি আমি জন্য আছে সব হয় প্রথম অধ্যায়. 102 00:05:07,020 --> 00:05:08,565 কেহ কোনো আছে প্রশ্ন এতদূর? 103 00:05:08,565 --> 00:05:12,370 104 00:05:12,370 --> 00:05:14,640 এবং আমি এর জন্য একটি নোট আছে নিয়ন্ত্রণ কেন্দ্র. 105 00:05:14,640 --> 00:05:21,200 এক্সটেনশন ছাত্র সম্পর্কে messaged করেছেন তারা কোনো অডিও না পেয়ে থাকেন, এই বলে 106 00:05:21,200 --> 00:05:23,870 কিন্তু যে ঠিক করা আমার ক্ষমতার বাইরে. 107 00:05:23,870 --> 00:05:25,280 তাই আশা করছি, যে পায় খুব শীঘ্রই এই সমস্যাগুলি সমাধান করা. 108 00:05:25,280 --> 00:05:28,850 আপনি অনলাইন পর্যবেক্ষক করছি, হাই, কিন্তু আপনি আমাকে শুনতে না পারে. 109 00:05:28,850 --> 00:05:33,860 >> সুতরাং প্রথম, আমরা যাচ্ছি GDB মধ্য দিয়ে যেতে. 110 00:05:33,860 --> 00:05:37,100 GDB, আমি তার আগে এ hinted হিসাবে, একটি ডিবাগিং টুল 111 00:05:37,100 --> 00:05:39,040 printf তুলনায় অনেক ভালো. 112 00:05:39,040 --> 00:05:44,700 সুতরাং যদি GDB, আপনি না দিয়ে শুরু আপনি আপনার প্রয়োগ খুলুন চাই 113 00:05:44,700 --> 00:05:49,070 এবং আমি আপনার ইমেল যে ফাইল গ্রহণ তার আগে - এই ফাইল এছাড়াও হবে 114 00:05:49,070 --> 00:05:51,940 কিছুক্ষনের মধ্যে উপলব্ধ অনলাইন - 115 00:05:51,940 --> 00:05:55,700 এবং GDB চালানো. / ফাইলের নাম. 116 00:05:55,700 --> 00:05:58,580 প্রথমত, অবশ্যই, আপনি কম্পাইল করা আছে GDB শুধুমাত্র উপর কাজ করে, কারণ দায়ের 117 00:05:58,580 --> 00:05:59,890 এক্সিকিউটেবল ফাইল. 118 00:05:59,890 --> 00:06:02,300 >> কিন্তু আপনি কি কখনো শুরু করতে চান তাহলে GDB, আপনি কি প্রথম জিনিস, 119 00:06:02,300 --> 00:06:04,550 আপনি GDB. / সিজার চালানো. 120 00:06:04,550 --> 00:06:08,340 সুতরাং যে আমরা করছি প্রোগ্রামের নাম মুহূর্তে এটি দিয়ে যেতে হবে. 121 00:06:08,340 --> 00:06:12,810 তাই আমি সিজার, না লিখতে যাচ্ছি যার আমাকে একটি এক্সিকিউটেবল ফাইল দিতে হবে 122 00:06:12,810 --> 00:06:14,100 এখানে সবুজ হাইলাইট. 123 00:06:14,100 --> 00:06:19,250 এবং তারপর আমি GDB. / সেজার চালানো যাচ্ছে না. 124 00:06:19,250 --> 00:06:19,810 >> এবং সেখানে আপনি যান. 125 00:06:19,810 --> 00:06:24,540 আপনি আমরা কিছু লেখা সম্পর্কে বলার আছে দেখুন আমার দেবার GDB সংস্করণ, সম্পর্কে 126 00:06:24,540 --> 00:06:27,570 তারপর কিছু ওয়ারেন্টি সংক্রান্ত তথ্য, এবং আমরা কেমন দেখায়, যা জিডিপি প্রম্পট, আছে 127 00:06:27,570 --> 00:06:29,350 আমাদের কমান্ড লাইন প্রম্পট মত, কিন্তু আপনি তা খোলা দেখুন 128 00:06:29,350 --> 00:06:32,510 paren, GDB, বন্ধ paren. 129 00:06:32,510 --> 00:06:36,520 আমরা এই ফাইলটি চালিয়ে এবং ডিবাগ আগে আমি আপনি সব পাঠানো যে, এর তাকান 130 00:06:36,520 --> 00:06:40,220 কিছু দরকারী কমান্ড তাই আমরা একটা ধারনা আছে কি আমরা আবরণ করতে যাচ্ছি. 131 00:06:40,220 --> 00:06:45,060 >> এই কমান্ড এখানে তালিকাভুক্ত করা হয় আমি সাধারণত তাদের ব্যবহার ক্রম যা. 132 00:06:45,060 --> 00:06:50,230 তাই আমি চলমান দ্বারা আমার প্রোগ্রাম শুরু প্রোগ্রামের GBD. / নাম, 133 00:06:50,230 --> 00:06:51,360 এই ক্ষেত্রে, সিজার. 134 00:06:51,360 --> 00:06:57,430 এবং তারপর প্রথম জিনিস আমি 99.9% না সময় ধরণ বিরতির মানে না. 135 00:06:57,430 --> 00:06:59,070 যে প্রধান একটি বিভাজক পয়েন্ট সেট করে. 136 00:06:59,070 --> 00:07:03,260 মূলত, আপনি সেখানে কি করছেন প্রোগ্রাম থামবে যাচ্ছে হয় 137 00:07:03,260 --> 00:07:06,100 প্রধান তাই আপনি এটি লাইন পরীক্ষা শুরু করতে পারেন লাইন দ্বারা, বরং সব চলমান তুলনায় 138 00:07:06,100 --> 00:07:07,040 উপায় মাধ্যমে. 139 00:07:07,040 --> 00:07:09,730 আপনি বিভিন্ন বিন্দুতে ভাঙ্গতে পারে আপনার কোড, কিন্তু প্রধান সাধারণত হয় একটি 140 00:07:09,730 --> 00:07:11,870 শুরু ভাল জায়গা. 141 00:07:11,870 --> 00:07:14,840 >> আমি চালানো পরের কমান্ডটি রান করে. 142 00:07:14,840 --> 00:07:17,400 যে প্রোগ্রাম আরম্ভ চলমান, এবং আপনি কমান্ড লাইনে প্রবেশ করতে হবে যদি 143 00:07:17,400 --> 00:07:19,090 আর্গুমেন্ট, আপনি তা যে কমান্ড চালানো. 144 00:07:19,090 --> 00:07:20,500 আর্গুমেন্ট সঙ্গে চালান. 145 00:07:20,500 --> 00:07:25,000 আমরা একটি সংস্করণ ধরে যাচ্ছে সুতরাং সাল প্রোগ্রাম আপনাকে বলছি যা সি, এর 146 00:07:25,000 --> 00:07:26,160 pset দুই জন্য লিখেছিলেন - 147 00:07:26,160 --> 00:07:29,880 এই এক, অবশ্যই, কিছু বাগ আছে আশা আমরা খুঁজে পাবেন যে এটি মধ্যে - 148 00:07:29,880 --> 00:07:32,810 আমরা কিছু কমান্ডের সাহায্যে চালান চালান চলুন লাইন আর্গুমেন্ট কারণ সিজার, 149 00:07:32,810 --> 00:07:34,860 আপনাকে বলছি সমস্যার প্রতি জানি বৈশিষ্ট সেট, কিছু লাগে 150 00:07:34,860 --> 00:07:36,380 কমান্ড লাইন আর্গুমেন্ট. 151 00:07:36,380 --> 00:07:40,000 >> কমান্ড পরবর্তী কয়েক পরবর্তী এক আসলে পরবর্তী বলা হয়. 152 00:07:40,000 --> 00:07:42,470 যে এক লাইন দ্বারা আপনি লাইন লাগে আপনার প্রোগ্রামের মাধ্যমে. 153 00:07:42,470 --> 00:07:45,800 তাই লিখুন তারপর এন আঘাত প্রদর্শিত পরের লাইন, নির্বাহ 154 00:07:45,800 --> 00:07:46,880 আগের লাইন. 155 00:07:46,880 --> 00:07:49,440 ধাপ প্রদর্শিত হয় না শুধুমাত্র পরের লাইন, কিন্তু এটি 156 00:07:49,440 --> 00:07:51,070 আপনি ভিতরে ফাংশন লাগে. 157 00:07:51,070 --> 00:07:54,310 তাই আপনি যদি একটি ফাংশন লেখা আছে আপনার কোড বা আপনি এক্সপ্লোর করতে চান তাহলে একটি 158 00:07:54,310 --> 00:07:57,820 আমি করতে, উদাহরণস্বরূপ, আপনি গুলি আঘাত, এবং পারেন বরং এর পরের লাইন যাচ্ছে আর 159 00:07:57,820 --> 00:08:02,390 আপনি সঠিক মাধ্যমে যাচ্ছেন যে ফাইল এখন, আপনি আসলে মধ্যে পদক্ষেপ নেব 160 00:08:02,390 --> 00:08:04,670 এই ফাংশন এবং এর কোড দেখতে. 161 00:08:04,670 --> 00:08:12,300 >> তালিকা বন্ধুত্বপূর্ণ খুব ব্যবহারকারী, আপনি দেখায় বিন্যাস, প্রায় 10 বা তাই লাইন 162 00:08:12,300 --> 00:08:14,940 আপনি বর্তমানে আপনার কোডে যেখানে তাই আপনি আসলে ফাইল দেখতে পারেন 163 00:08:14,940 --> 00:08:17,810 বরং ফিরে বিনিময় করা হচ্ছে এবং বেশী ঘোষণা বিভিন্ন মতামত মধ্যে. 164 00:08:17,810 --> 00:08:21,890 প্রিন্ট করুন printf, ভালো হয় তার নাম থেকেই বোঝা হিসাবে. 165 00:08:21,890 --> 00:08:24,020 যে একটি পরিবর্তনশীল সমান কি আপনি দেখায়. 166 00:08:24,020 --> 00:08:25,870 >> তথ্য স্থানীয়দের সত্যিই সহায়ক. 167 00:08:25,870 --> 00:08:27,740 এই মুদ্রণ একটি বিশেষ সংস্করণ. 168 00:08:27,740 --> 00:08:31,770 তথ্য স্থানীয়দের আপনি স্থানীয় সব দেখায় ভেরিয়েবল, আপনার জন্য তাদের অল আউট ছাপে 169 00:08:31,770 --> 00:08:33,380 বর্তমানে উপলব্ধ. 170 00:08:33,380 --> 00:08:36,360 তাই বরং থাকার চেয়ে সাধারণত আমি, আমি যে চারটি ভেরিয়েবল প্রিন্ট আউট 171 00:08:36,360 --> 00:08:39,929 আমি একটি লুপ জন্য, জন্য আছি যদি সম্পর্কে জানতে আগ্রহী উদাহরণস্বরূপ, আমি তথ্য স্থানীয় লিখুন, 172 00:08:39,929 --> 00:08:43,470 এবং এটি সম্পর্কে কি আমার পাল্টা আমি দেখাব আমি যে অ্যারের, যেমন সমান 173 00:08:43,470 --> 00:08:45,130 সমান কাজ. 174 00:08:45,130 --> 00:08:47,530 >> অবশেষে, অবিরত. 175 00:08:47,530 --> 00:08:49,300 বিরতির টাইপ আপনি স্টপ বিরতির সময়ে. 176 00:08:49,300 --> 00:08:51,380 আপনি দ্বারা লাইন ভিতর দিয়ে হেটে যেতে পারেন পরবর্তী এবং ধাপে সঙ্গে সঙ্গতিপূর্ণ. 177 00:08:51,380 --> 00:08:55,640 আপনার পরবর্তী রান প্রোগ্রামটি চালিয়ে বিন্দু বিরতি বা সমাপ্তির যদি না হওয়া পর্যন্ত 178 00:08:55,640 --> 00:08:57,180 কোন বিভাজক পয়েন্ট আছে. 179 00:08:57,180 --> 00:09:00,060 নিষ্ক্রিয় বিরতি পয়েন্ট সরিয়ে আপনি যদি প্রধান এ বিরতি ছিল সিদ্ধান্ত নিয়েছে 180 00:09:00,060 --> 00:09:01,890 অনুপযুক্ত, আপনি চান অন্য কোথাও এটি সেট. 181 00:09:01,890 --> 00:09:05,090 এবং পরিশেষে প্রশ্ন, প্রস্থান, GDB পায় আউট. 182 00:09:05,090 --> 00:09:10,784 >> তাই এই প্রোগ্রাম,. / সিজার, আমরা যাচ্ছি এই মুহূর্তে মাধ্যমে চেহারা এবং আমরা করতে 183 00:09:10,784 --> 00:09:13,490 খুঁজে GDB ব্যবহার করতে যাচ্ছি এই প্রোগ্রামে বাগ. 184 00:09:13,490 --> 00:09:18,110 আমি সঙ্গে শুরুর দিকে এই প্রোগ্রাম দৌড়ে 50 পরীক্ষা করে দেখুন, এবং আমি এক ভ্রূকুটি পেয়েছিলাম. 185 00:09:18,110 --> 00:09:22,310 সবকিছু এটা কম্পাইল, অস্তিত্ব, এটা পরীক্ষা অনেক পাস, কিন্তু জন্য 186 00:09:22,310 --> 00:09:27,950 কোন এক কারণে, এটা পঞ্চম পাস না মধ্যে BARFOO, সমস্ত ক্যাপ, বাঁক পরীক্ষা, 187 00:09:27,950 --> 00:09:33,350 ই ডি ইউ-আমি-r-কিছু r, সমস্ত ক্যাপ, একটি কি হিসাবে তিন ব্যবহার করে. 188 00:09:33,350 --> 00:09:34,090 আমি বেশ ঘনিষ্ঠ পেয়েছিলাম. 189 00:09:34,090 --> 00:09:35,410 আমি এক অক্ষর দ্বারা বন্ধ. 190 00:09:35,410 --> 00:09:37,340 তাই এখানে কিছু ছোট ভুল আছে. 191 00:09:37,340 --> 00:09:38,070 আমি আমার কোড মাধ্যমে লাগছিল করেছি. 192 00:09:38,070 --> 00:09:38,850 আমি এটা চিন্তা করতে পারেনি. 193 00:09:38,850 --> 00:09:41,740 আশা করছি, আপনি না আমাকে সাহায্য করতে পারেন এই বাগ হয় জিনিসটা কি. 194 00:09:41,740 --> 00:09:44,610 >> সুতরাং যে আমরা করছি ত্রুটি আছে জন্য অনুসন্ধান. 195 00:09:44,610 --> 00:09:46,090 এর GDB সরাতে যাক. 196 00:09:46,090 --> 00:09:51,100 আবার, আমি, GDB. / সিজার রান করেছি তাই এখন আমরা GDB মধ্যে আছেন. 197 00:09:51,100 --> 00:09:54,290 এবং প্রথম কি আমি কি উচিত জিনিস? 198 00:09:54,290 --> 00:09:56,680 আমি শুধু GDB প্রবেশ করেছি. 199 00:09:56,680 --> 00:10:00,316 কারো সম্পর্কে একটি ভালো দিতে প্রবেশ করার কমান্ড. 200 00:10:00,316 --> 00:10:01,140 >> ছাত্র: প্রধান বিরতি. 201 00:10:01,140 --> 00:10:01,800 >> JASON HIRSCHHORN: প্রধান বিরতি. 202 00:10:01,800 --> 00:10:02,900 কল্পনাপ্রসূত. 203 00:10:02,900 --> 00:10:03,560 ইন যে টাইপ যাক 204 00:10:03,560 --> 00:10:06,390 আপনি না এখানে আপ ঘড়ি বা অনুসরণ করতে পারেন আপনার কম্পিউটারে বরাবর. 205 00:10:06,390 --> 00:10:09,410 প্রধান বিরতি, এবং আপনি একটি দেখতে পাবেন বিরতির সময়ে সেট ছিল - 206 00:10:09,410 --> 00:10:12,340 এটি সম্পর্কে কিছু অদ্ভুত মেমরি ঠিকানা দেয়, এবং এটি আমার লাইন নম্বর দেয়. 207 00:10:12,340 --> 00:10:15,310 আমি এই ফাইল ফিরে ছিল, যদি আমি যে মূল বুঝতে হবে 208 00:10:15,310 --> 00:10:17,700 লাইন 21 উপর ঘটেছে. 209 00:10:17,700 --> 00:10:18,950 আমি পরের কি চালানো উচিত? 210 00:10:18,950 --> 00:10:22,970 211 00:10:22,970 --> 00:10:25,060 আমার প্রোগ্রাম চলমান হয়? 212 00:10:25,060 --> 00:10:25,650 না. 213 00:10:25,650 --> 00:10:27,175 তাই আমি পরবর্তী কি চালানো উচিত? 214 00:10:27,175 --> 00:10:27,520 >> ছাত্র: চালান. 215 00:10:27,520 --> 00:10:28,050 >> JASON HIRSCHHORN: চালান. 216 00:10:28,050 --> 00:10:30,760 আমি শুধু চালান চালান, বা উচিত হবে আমি কিছু অন্যান্য বিষয়ের মধ্যে যোগ? 217 00:10:30,760 --> 00:10:31,960 >> ছাত্র: যুক্তি দিয়ে চালান. 218 00:10:31,960 --> 00:10:33,320 >> JASON HIRSCHHORN: সঙ্গে চালান কমান্ড আর্গুমেন্ট. 219 00:10:33,320 --> 00:10:36,420 এবং আমি একটি খুব নির্দিষ্ট ডিবাগিং করছি, যেহেতু কেস, আমি যে লিখতে হবে 220 00:10:36,420 --> 00:10:37,120 কমান্ড লাইন আর্গুমেন্ট. 221 00:10:37,120 --> 00:10:42,290 তাই আমি আবার,,, যা তিন রান করে নেব আমি চেক 50 থেকে পেয়েছিলাম আউটপুট. 222 00:10:42,290 --> 00:10:44,240 প্রোগ্রাম শুরু. 223 00:10:44,240 --> 00:10:45,420 আমরা লাইন দুয়েক দিয়ে যেতে. 224 00:10:45,420 --> 00:10:47,700 আপনি এখন আমরা লাইন 21 উপর না দেখতে পাবেন. 225 00:10:47,700 --> 00:10:49,200 আমি কিভাবে আমরা লাইন 21 করছি যে জানেন? 226 00:10:49,200 --> 00:10:52,170 কারণ আপনি বাঁদিকে চেহারা যদি আমার টার্মিনাল উইন্ডোর, সেখানে 227 00:10:52,170 --> 00:10:53,120 এটি লাইন 21 বলেছেন. 228 00:10:53,120 --> 00:10:57,010 এবং যে, আসলে, আমাকে দেয় লাইন 21 এ যে অবস্থান. 229 00:10:57,010 --> 00:10:58,440 তাই আমি তার আগে misspoke. 230 00:10:58,440 --> 00:10:59,770 প্রধান লাইন 21 এ আসলে হয় না. 231 00:10:59,770 --> 00:11:02,000 মুখ্য 21 উপরোক্ত লাইনের একটি দম্পতি. 232 00:11:02,000 --> 00:11:04,300 কিন্তু লাইন 21 এ, যে যেখানে আমরা ভঙ্গ করছেন. 233 00:11:04,300 --> 00:11:06,280 কোড এই লাইন আছে এখনো মৃত্যুদন্ড কার্যকর না. 234 00:11:06,280 --> 00:11:06,890 যে গুরুত্বপূর্ণ. 235 00:11:06,890 --> 00:11:09,120 আপনি দেখতে লাইন না আছে এখনো মৃত্যুদন্ড কার্যকর করা হয়েছে. 236 00:11:09,120 --> 00:11:12,650 যে কোড পরের লাইন আপনি চালানো চলেছেন. 237 00:11:12,650 --> 00:11:15,860 >> আপনি না হয় তাই পরের লাইন, সঙ্গে সম্ভবত পরিচিত, এই হল 238 00:11:15,860 --> 00:11:20,070 শর্ত আমি যদি দেখতে পরীক্ষণ একটি কমান্ড লাইন আর্গুমেন্ট প্রবেশ. 239 00:11:20,070 --> 00:11:22,140 এবং আমি একটি, দ্বিতীয় কি যে করছেন অংশ? 240 00:11:22,140 --> 00:11:23,457 একটি আমি কি? 241 00:11:23,457 --> 00:11:24,950 >> ছাত্র: একটি পূর্ণসংখ্যা এটি পরিবর্তন. 242 00:11:24,950 --> 00:11:25,450 >> JASON HIRSCHHORN: দুঃখিত? 243 00:11:25,450 --> 00:11:27,400 >> ছাত্র: এটা পরিবর্তন হচ্ছে একটি পূর্ণসংখ্যা করার যুক্তি. 244 00:11:27,400 --> 00:11:30,890 >> JASON HIRSCHHORN: তাই একটি আমি পরিবর্তন করতে ARG একটি পূর্ণসংখ্যা একটি পংক্তি থেকে v1. 245 00:11:30,890 --> 00:11:32,140 এবং তারপর এটা কি চেক করছেন? 246 00:11:32,140 --> 00:11:35,414 247 00:11:35,414 --> 00:11:37,112 >> ছাত্র: একটি দ্বিতীয় আছে কমান্ড লাইন আর্গুমেন্ট সরাইয়া 248 00:11:37,112 --> 00:11:38,100 প্রোগ্রাম থেকে. 249 00:11:38,100 --> 00:11:39,460 >> JASON HIRSCHHORN: এবং কি এই দ্বিতীয়ার্ধে 250 00:11:39,460 --> 00:11:41,220 বুলিয়ান অভিব্যক্তি পরীক্ষা? 251 00:11:41,220 --> 00:11:42,540 এখানে উপর এই ভাগে, একটি আমি করতে? 252 00:11:42,540 --> 00:11:44,080 >> ছাত্র: এটা নেতিবাচক যদি. 253 00:11:44,080 --> 00:11:45,380 >> JASON HIRSCHHORN: নিশ্চিত কি মেকিং? 254 00:11:45,380 --> 00:11:47,120 >> ছাত্র: নিশ্চিত এটি মেকিং আসলে, ইতিবাচক, হয়. 255 00:11:47,120 --> 00:11:47,650 >> JASON HIRSCHHORN: যথাযথভাবে. 256 00:11:47,650 --> 00:11:50,600 এই এটা যদি দেখতে পরীক্ষণ করা হয় এটা নেতিবাচক হয় নেতিবাচক, এবং যদি আমি 257 00:11:50,600 --> 00:11:53,220 একটি বোধ পরের লাইন যথাসাধ্য আছে আমার ইউজার এ yelling করা. 258 00:11:53,220 --> 00:11:55,930 তাই আসুন এই লাইন চালানো শেষ আঘাত করা. 259 00:11:55,930 --> 00:11:59,925 আমরা যে লাইন দেখে না যে আপনাকে বলছি হয়তো এ yelling দেখতে বলে আশা 260 00:11:59,925 --> 00:12:03,030 ব্যবহারকারী এবং তারপর ফিরে, কারণ এই লাইন চালানো হয়নি. 261 00:12:03,030 --> 00:12:03,840 আমি 3 প্রবেশ. 262 00:12:03,840 --> 00:12:06,860 তাই আমি, আসলে, দুটি কমান্ড প্রবেশ করেননি লাইন আর্গুমেন্ট, এবং 3 হয় 263 00:12:06,860 --> 00:12:07,610 শূন্য থেকে বড়. 264 00:12:07,610 --> 00:12:09,950 সুতরাং আমরা যে লাইন দেখেছি, আমরা মৃত্যুদন্ড কার্যকর করা, কিন্তু আমরা একধাপ করা হয়নি 265 00:12:09,950 --> 00:12:11,300 যদি অবস্থার ভিতর. 266 00:12:11,300 --> 00:12:17,060 >> সুতরাং এখন, এর পরে, আমি সেটিং করছি দেখুন int-কি একটা আমি v1 ARG করার সমান. 267 00:12:17,060 --> 00:12:18,840 সুতরাং যে আমার একটি ভেরিয়েবল কি তৈরি হয়. 268 00:12:18,840 --> 00:12:22,450 তাই আমি এই মুহূর্তে কী প্রিন্ট আউট যদি কারণ যে আপনি দেখতে পারবেন 269 00:12:22,450 --> 00:12:26,040 মান পরিবর্তনশীল ভিতরে, কী 47 সমান. 270 00:12:26,040 --> 00:12:28,810 যে, অবশ্যই অদ্ভুত, কিন্তু আমি না, কারণ যে 271 00:12:28,810 --> 00:12:30,490 এখনো যে লাইন মৃত্যুদন্ড কার্যকর. 272 00:12:30,490 --> 00:12:35,880 আমি এন আঘাত যদি তাই এখন,, যে লাইন চালানো এবং প্রিন্ট কী করবেন, কী, 3 সমান হবে 273 00:12:35,880 --> 00:12:37,740 আমরা তা সমান আশা যা কি. 274 00:12:37,740 --> 00:12:41,170 >> তাই আবার, GDB, লাইন আপনি ইন আপনি যদি এখনো মৃত্যুদন্ড কার্যকর হয়নি দেখুন. 275 00:12:41,170 --> 00:12:44,850 আপনি এন বা গুলি বা একটি নম্বর আঘাত আছে আসলে অন্যান্য কমান্ডের 276 00:12:44,850 --> 00:12:46,610 যে লাইন চালানো. 277 00:12:46,610 --> 00:12:47,380 প্রিন্ট কী. 278 00:12:47,380 --> 00:12:48,280 3 এ কি এর. 279 00:12:48,280 --> 00:12:49,750 এ পর্যন্ত সব ঠিকই আছে. 280 00:12:49,750 --> 00:12:51,000 স্ট্রিং প্লেইন টেক্সট হয়. 281 00:12:51,000 --> 00:12:52,270 এর যে লাইন চালানো যাক. 282 00:12:52,270 --> 00:12:53,970 আমি ব্যবহারকারী থেকে একটি পংক্তি পেয়ে করছি. 283 00:12:53,970 --> 00:12:58,690 >> এর আমার চেক 50 মধ্যে দেখতে দিন, আমি BARFOO সব ক্যাপ লিখুন, তাই 284 00:12:58,690 --> 00:13:01,330 যে আমি প্রবেশ করব কি. 285 00:13:01,330 --> 00:13:07,300 আমি এখন প্লেইন টেক্সট প্রিন্ট করুন. 286 00:13:07,300 --> 00:13:08,610 আপনি এটি একটি স্ট্রিং সমান দেখতে পাবেন. 287 00:13:08,610 --> 00:13:11,100 এটা আমার অন্যান্য কিছু অদ্ভুত হেক্সাডেসিমেল দেয় সংখ্যা, কিন্তু এটি মধ্যে আছে 288 00:13:11,100 --> 00:13:13,620 আসলে আমার স্ট্রিং BARFOO বলতে. 289 00:13:13,620 --> 00:13:19,308 আমি কি এ equaled তা ​​দেখতে চেয়েছিলেন এই বিন্দু, আমি কিভাবে কি চেক করতে পারেন? 290 00:13:19,308 --> 00:13:20,710 >> ছাত্র: প্রিন্ট কী. 291 00:13:20,710 --> 00:13:22,010 >> JASON HIRSCHHORN: প্রিন্ট কী, ঠিক. 292 00:13:22,010 --> 00:13:23,260 এবং প্রকৃতপক্ষে, একটি শর্টকাট আছে. 293 00:13:23,260 --> 00:13:25,910 আপনি মুদ্রণ লিখে ক্লান্ত পেতে, আপনি শুধু P টাইপ করতে পারেন. 294 00:13:25,910 --> 00:13:28,340 তাই পি কি একই সঠিক জিনিস আছে. 295 00:13:28,340 --> 00:13:29,730 এবং আবার, আমি এটা 3 সমান দেখুন. 296 00:13:29,730 --> 00:13:34,760 >> আমি কি কি উভয় জানতে চেয়েছিলেন এবং BARFOO একই সময়ে equaled 297 00:13:34,760 --> 00:13:37,215 কিন্তু আমি একে লিখে ক্লান্ত ছিল এক আউট পৃথকভাবে, আমি 298 00:13:37,215 --> 00:13:38,590 তথ্য স্থানীয়দের টাইপ করতে পারে. 299 00:13:38,590 --> 00:13:41,170 যে আমার কি সমান 3 আপনি. 300 00:13:41,170 --> 00:13:42,500 সাধারণ পাঠ BARFOO সমান. 301 00:13:42,500 --> 00:13:45,265 এটি আমার এই দুই অদ্ভুত জিনিষ দেয় শীর্ষে, এই পরিবর্তনশীল আমি এবং 302 00:13:45,265 --> 00:13:46,590 এই পরিবর্তনশীল এন. 303 00:13:46,590 --> 00:13:48,460 >> যারা আসলে বিদ্যমান হয় আমার মূল প্রোগ্রামে. 304 00:13:48,460 --> 00:13:51,280 আমরা এখনো তাদের সম্মুখীন হয়নি কিন্তু একটি প্রাকদর্শন হিসেবে, যারা 305 00:13:51,280 --> 00:13:52,880 আমার মধ্যে লুপ জন্য বিদ্যমান. 306 00:13:52,880 --> 00:13:55,360 তাই ঠিক এখন, তারা কিছু অদ্ভুত সমান সংখ্যায় তারা হয়েছে না কারণ 307 00:13:55,360 --> 00:13:58,300 এখনও সক্রিয়া, কিন্তু তারা এখনও বিদ্যমান না মেমরির মধ্যে, যাতে তারা শুধু সেট করছি 308 00:13:58,300 --> 00:14:00,220 কিছু আবর্জনা মান. 309 00:14:00,220 --> 00:14:02,890 কিন্তু আমরা প্লেইন কী দেখেন অধিকার আছে টেক্সট. 310 00:14:02,890 --> 00:14:06,390 >> তাই আমি এই লাইন চালানো যাচ্ছে না, লাইন 34, জন্য লুপ. 311 00:14:06,390 --> 00:14:08,220 আমরা মধ্যে ঘুরে যাচ্ছেন এন আঘাত দ্বারা লুপ জন্য. 312 00:14:08,220 --> 00:14:10,050 এবং আমরা লুপ জন্য ভিতরে করছি. 313 00:14:10,050 --> 00:14:11,360 আমরা আমাদের প্রথম চেক করেন. 314 00:14:11,360 --> 00:14:14,300 এবং আবার, এই ধরণের হওয়া উচিত এই একটি কারণ আপনি পরিচিত 315 00:14:14,300 --> 00:14:18,080 সিজার লিখিত ছিল যে প্রোগ্রাম, কিন্তু আবার, বাগ কিছু বাছাই আছে. 316 00:14:18,080 --> 00:14:21,940 >> আমি আছি, কারণ এবং এখন আমি, তথ্য স্থানীয়দের যদি লুপ জন্য যে ভিতরে, আপনি দেখতে পাবেন 317 00:14:21,940 --> 00:14:23,900 আমরা আশা হিসাবে আমি শূন্য সমান যে. 318 00:14:23,900 --> 00:14:26,820 যে আমরা এটি সেট এবং সক্রিয়া কি এটি লুপ জন্য এ যাও. 319 00:14:26,820 --> 00:14:27,560 এন 6 সমান. 320 00:14:27,560 --> 00:14:30,700 আমরা সেট কারণে যে এছাড়াও জ্ঞান করে তোলে প্লেইন টেক্সট এর strlen এটি. 321 00:14:30,700 --> 00:14:34,270 তাই আমি তথ্য স্থানীয় বা প্রিন্ট করতে চান পরিবর্তনশীল প্রায়ই নিশ্চিত যে করা 322 00:14:34,270 --> 00:14:36,370 সবকিছু সবসময় কি আমি এটা সমান আশা. 323 00:14:36,370 --> 00:14:39,800 এই ক্ষেত্রে, সবকিছু আমি এটা সমান আশা কি. 324 00:14:39,800 --> 00:14:41,850 >> সুতরাং এর মাধ্যমে চলন্ত শুরু এই লুপ জন্য. 325 00:14:41,850 --> 00:14:45,715 আমি উপর আছি লাইনে লাইনে 36 হয়, যদি প্লেইন টেক্সট আমি একটি এবং প্লেইন চেয়ে অনেক বেশী 326 00:14:45,715 --> 00:14:48,540 লেখা আমি কম অথবা z সমান. 327 00:14:48,540 --> 00:14:51,880 আমি আমার সমস্যা আমার প্রথম সাথে না জানি চিঠি, এটা দ্বিতীয় চিঠি দিয়ে এর. 328 00:14:51,880 --> 00:14:56,290 আমরা চেক ফিরে যদি 50, বি ই জরিমানা যায়. 329 00:14:56,290 --> 00:14:59,010 আমি একটি গ্রহণ এবং হিসাবে এটি যাব করছি একটি এ, ডি সুতরাং এটি পরিবর্তন না 330 00:14:59,010 --> 00:15:00,200 কিছু ভুল দ্বিতীয় চিঠি. 331 00:15:00,200 --> 00:15:01,640 তাই আমি সরাতে যাচ্ছি সেখানে একটি দ্বিতীয়. 332 00:15:01,640 --> 00:15:06,030 >> কিন্তু আমি কি প্লেইন পরীক্ষা করতে থাকেন, তাহলে লেখা আমি এই বিশেষ equaled 333 00:15:06,030 --> 00:15:07,760 ক্ষেত্রে, আমি এটা কি হওয়া উচিত মনে করেন? 334 00:15:07,760 --> 00:15:10,980 প্লেইন টেক্সট আমি এই মধ্যে সমান উচিত লুপ জন্য মধ্য দিয়ে প্রথম রাউন্ড? 335 00:15:10,980 --> 00:15:14,046 336 00:15:14,046 --> 00:15:15,110 >> ছাত্র: জিরো? 337 00:15:15,110 --> 00:15:16,510 >> JASON HIRSCHHORN: আমি এর সাধারণ পাঠ? 338 00:15:16,510 --> 00:15:21,180 সুতরাং, আমি অবশ্যই মূলধন বি হওয়া উচিত শূন্য সমান, কিন্তু প্লেইন টেক্সট 339 00:15:21,180 --> 00:15:25,600 বন্ধনী শূন্য বদ্ধ বন্ধনী বি সমান কারণ স্ট্রিং, আমরা গত সপ্তাহে দেখেছি, 340 00:15:25,600 --> 00:15:28,650 অ্যারে হয়, তাই আমরা পেয়ে থাকেন যে থেকে প্রথম অক্ষর. 341 00:15:28,650 --> 00:15:34,960 তাই আবার, আমি এর প্লেইন টেক্সট প্রিন্ট হলে আমি, আমি, আসলে, চরিত্র পেতে পারি 342 00:15:34,960 --> 00:15:36,560 বি এবং যে অধিকার, ঝরঝরে আছে? 343 00:15:36,560 --> 00:15:40,380 আমি আসলে প্লেইন টেক্সট আই হবে না যে আমি সেট ভেরিয়েবল এক নয় 344 00:15:40,380 --> 00:15:42,950 বা সক্রিয়া, কিন্তু আপনি প্রিন্ট করতে পারেন একটা পুরো হোস্ট আউট 345 00:15:42,950 --> 00:15:45,640 আপনি যদি চান. 346 00:15:45,640 --> 00:15:47,340 >> কিন্তু এর মাধ্যমে সরানো যাক. 347 00:15:47,340 --> 00:15:50,050 প্লেইন টেক্সট আমি একটি চেয়ে অনেক বেশী এবং যদি প্লেইন টেক্সট আমি কম বা সমান 348 00:15:50,050 --> 00:15:53,290 আমরা কারণ টু Z, যে পরিষ্কারভাবে সত্য আমি চালানো যাচ্ছে না একটি মূলধন বি 349 00:15:53,290 --> 00:15:54,230 এটা কিছু কমান্ড. 350 00:15:54,230 --> 00:15:58,530 আমরা গত সপ্তাহে যে গণিত দেখেছি, তাই আমরা করব এটি কাজ করে যে নিশ্চিতভাবে ধরে তা গ্রহণ 351 00:15:58,530 --> 00:16:00,900 ডান 50 চেক করুন অনুযায়ী. 352 00:16:00,900 --> 00:16:03,720 >> এই কোঁকড়া ধনুর্বন্ধনী, প্রথম এক আমি যদি থেকে প্রস্থান ছিল দেখিয়েছেন যে, 353 00:16:03,720 --> 00:16:07,030 শর্ত, দ্বিতীয় এক দেখিয়েছেন আমি লুপ জন্য থেকে প্রস্থান করছি. 354 00:16:07,030 --> 00:16:10,400 আমি পরবর্তী আঘাত এবং তাই এখন, আমরা দেখতে পাবেন আমরা আবার লুপ জন্য পিছে করছি. 355 00:16:10,400 --> 00:16:11,970 আমরা মধ্য দিয়ে যাচ্ছেন আবার লুপ জন্য. 356 00:16:11,970 --> 00:16:18,110 এর আসলে দ্বিতীয় মধ্যে পইঠা যাক লুপ এবং ধরণ জন্য এর পুনরাবৃত্তির 357 00:16:18,110 --> 00:16:20,520 তথ্য স্থানীয়দের. 358 00:16:20,520 --> 00:16:22,190 >> তাই আমরা দ্বিতীয় পুনরাবৃত্তির মধ্যে আছেন আমাদের জন্য লুপ. 359 00:16:22,190 --> 00:16:24,530 আমি মনে করি আমরা আশা যা, 1 সমান. 360 00:16:24,530 --> 00:16:26,650 উঃ আমরা আশা, যা 6 সমান. 361 00:16:26,650 --> 00:16:28,810 বিশেষ বিশেষ আমরা আশা যা, 3 সমান. 362 00:16:28,810 --> 00:16:32,625 এবং প্লেইন টেক্সট, আপনি দেখতে পাবেন, সমান EARFOO এখন, আর BARFOO না কারণ 363 00:16:32,625 --> 00:16:37,930 আমাদের পূর্ববর্তী পুনরাবৃত্তির মধ্যে, বি ছিল একটি মূলধন ই পরিবর্তিত তাই আমরা চলেছেন 364 00:16:37,930 --> 00:16:40,040 সমস্যা সম্মুখীন, এই এত আমরা চলুন যেখানে হয় 365 00:16:40,040 --> 00:16:41,130 ডিবাগ মধ্যে আকর্ষণীয়. 366 00:16:41,130 --> 00:16:43,365 কিন্তু কারো কোন প্রশ্ন আছে আমরা এ পর্যন্ত সম্পন্ন করেছি কি? 367 00:16:43,365 --> 00:16:46,770 368 00:16:46,770 --> 00:16:47,910 কল্পনাপ্রসূত. 369 00:16:47,910 --> 00:16:52,710 >> তাই আমরা যদি এই চালানো চলেছেন শর্ত, আমি বদ্ধ প্লেইন টেক্সট বন্ধনী 370 00:16:52,710 --> 00:16:57,500 বন্ধনী একটি চেয়ে অনেক বেশী এবং প্লেইন টেক্সট আমি কম বা জেড সমান কিন্তু আগে 371 00:16:57,500 --> 00:17:00,450 এই হল, কারণ আমি যে ঢোকা যেখানে আমি নির্দেশ করতে চান, আমার ত্রুটি জানি 372 00:17:00,450 --> 00:17:06,859 আই এর প্লেইন টেক্সট আউট তাই এর প্রিন্ট আউট করা যাক. 373 00:17:06,859 --> 00:17:12,020 এটি চরিত্রের একটি সমান করে, যাতে এ পর্যন্ত, সব ভাল এবং ভাল মনে হয়. 374 00:17:12,020 --> 00:17:14,740 >> তাই আমি আমার যুক্তি প্রতি এই লাইন আশা এই লাইন সত্য হওয়া উচিত. 375 00:17:14,740 --> 00:17:16,099 এটা একটি বড় হাতের অক্ষর না. 376 00:17:16,099 --> 00:17:20,599 আমি এন আঘাত কিন্তু, যদি আমরা বুঝতে পারি যে এই লাইন, আসলে, চালানো হয়নি. 377 00:17:20,599 --> 00:17:22,609 আমি অন্য করতে হলে নিচে jumped. 378 00:17:22,609 --> 00:17:25,460 কেন যে ঘটেছে? 379 00:17:25,460 --> 00:17:27,480 >> ছাত্র: আপনি কারণ আপনার অবস্থা প্লেইন টেক্সট এর বেশী 380 00:17:27,480 --> 00:17:29,130 একটি, না সমান বা তার চেয়ে অনেক বেশী বেশী. 381 00:17:29,130 --> 00:17:32,260 >> JASON HIRSCHHORN: তাই আমি আমার প্লেইন টেক্সট ছিল আমি এ, বৃহত্তর না তার চেয়ে অনেক বেশী 382 00:17:32,260 --> 00:17:32,850 বেশী বা সমান. 383 00:17:32,850 --> 00:17:38,130 সুতরাং স্পষ্ট, মূলধন না অবস্থা যদি এই ট্রিগার, এবং আমরা করেছিলাম 384 00:17:38,130 --> 00:17:40,520 তা পইঠা, এবং আমরা কি না প্রয়োজনীয় স্থানান্তর করবেন না. 385 00:17:40,520 --> 00:17:41,360 সুতরাং যে আসলে এটি. 386 00:17:41,360 --> 00:17:42,920 আমি আমার বাগ মূর্ত আউট. 387 00:17:42,920 --> 00:17:46,775 আমি আমার সোর্স ফাইলে ফিরে যেতে পারে, এটি পরিবর্তন, এবং এটি আপডেট 388 00:17:46,775 --> 00:17:47,855 আবার 50 পরীক্ষা চালানো. 389 00:17:47,855 --> 00:17:52,590 >> কিন্তু আমরা শুধু শিক্ষাবিজ্ঞান এর জন্য, দেখতে পাবেন দোহাই, আমি বর্তা হবে. 390 00:17:52,590 --> 00:17:59,580 অন্যথায় যদি হয় চালানো, কিন্তু এই নয় কি পরিবর্তে সমান কমান্ড 391 00:17:59,580 --> 00:18:00,500 যে পরিবর্তিত না হয়. 392 00:18:00,500 --> 00:18:04,840 সুতরাং এ সব পরিবর্তন, এবং না যদি আমি এখানে প্লেইন টেক্সট প্রিন্ট, আমরা যাচ্ছি দেখতে পাবেন 393 00:18:04,840 --> 00:18:08,250 যে মাধ্যমে লুপ জন্য, আসলে, না এ সব যে দ্বিতীয় চরিত্র পরিবর্তন. 394 00:18:08,250 --> 00:18:09,600 এটা এখনও একটি মূলধন এ এর 395 00:18:09,600 --> 00:18:12,690 >> তাই আবার, আমরা আমাদের ত্রুটি debugged. 396 00:18:12,690 --> 00:18:17,380 আমরা সেখানে ছিল বুঝলাম যে অনুপস্থিত কিছু যুক্তি. 397 00:18:17,380 --> 00:18:20,590 এবং আমরা আগে এগিয়ে সময় এটি debugged আসলে যে লাইন নির্বাহ, 398 00:18:20,590 --> 00:18:24,320 কিন্তু আপনি লক্ষ্য করে ছিল আমরা শুধু পরবর্তী আঘাত এবং যে যদি অন্য ঝাঁপ, 399 00:18:24,320 --> 00:18:26,710 এর মানে হল যে যে যদি শর্তটি সত্য ছিল না. 400 00:18:26,710 --> 00:18:29,550 আমরা, আসলে, পান নি ফলে আমরা আশা. 401 00:18:29,550 --> 00:18:33,240 আমি তখন আমরা আন্তরিকভাবে পারে হয়েছে, ছিল আমরা তাকান, তাই চতুর হয়েছে না 402 00:18:33,240 --> 00:18:38,510 যে, শর্ত এবং বস্তুত, যদি পরীক্ষা হলে আমাদের অবস্থা নির্ণয় করা উচিত 403 00:18:38,510 --> 00:18:41,150 বর্তমান প্রেক্ষাপটে সত্য. 404 00:18:41,150 --> 00:18:42,880 >> যে এই প্রোগ্রাম ডিবাগ জন্য সব. 405 00:18:42,880 --> 00:18:45,340 কেহ কোন প্রশ্ন আছে? 406 00:18:45,340 --> 00:18:50,486 আমি GDB প্রস্থান করার জন্য কি কি কমান্ড আঘাত করতে পারে? 407 00:18:50,486 --> 00:18:53,900 প্র: এবং তারপর আমি অনুরোধ করব, যাইহোক প্রস্থান? 408 00:18:53,900 --> 00:18:54,390 কোন বা হ্যাঁ. 409 00:18:54,390 --> 00:18:58,440 আমি হ্যাঁ আঘাত করব, এবং আমি GDB অব্যাহতিপ্রাপ্ত আছে করব. 410 00:18:58,440 --> 00:19:00,860 >> সুতরাং যে GDB একটি দ্রুত কার্তুজ ছিল. 411 00:19:00,860 --> 00:19:03,430 বাস্তবিক, একটি বাস্তব দৃশ্যকল্প ইন, আমি অফিস এ এই কি. 412 00:19:03,430 --> 00:19:06,710 আমি এই সঠিক প্রোগ্রাম এ GDBed একটি ছাত্র সঙ্গে অফিসে ঘন্টা. 413 00:19:06,710 --> 00:19:12,410 এবং আমরা আমরা দেখেছি কমান্ড ফিরে যান আগে, আমরা প্রথমত, বিরতি প্রধান ব্যবহার 414 00:19:12,410 --> 00:19:13,190 জিনিস আমরা কি. 415 00:19:13,190 --> 00:19:16,060 আমরা কমান্ড লাইন আর্গুমেন্ট সঙ্গে চালানোর ব্যবহৃত, দ্বিতীয় ব্যাপার হল আমরা কি. 416 00:19:16,060 --> 00:19:18,520 আমরা অগ্রসর পরের অনেক ব্যবহার লাইনের মাধ্যমে আমাদের. 417 00:19:18,520 --> 00:19:20,310 এবং আবার, সংক্ষিপ্ত সংস্করণ পরবর্তী এন হয়. 418 00:19:20,310 --> 00:19:22,920 যে প্রথম বন্ধনী আছে স্লাইডে ধূসর. 419 00:19:22,920 --> 00:19:28,590 >> আমরা ধাপে ব্যবহার করা হয়নি, কিন্তু আমরা না অগত্যা এই ক্ষেত্রে জন্য প্রয়োজন. 420 00:19:28,590 --> 00:19:32,150 কিন্তু আমরা পরে কিছুক্ষনের মধ্যে এটি ব্যবহার করতে পারেন আজ আমরা ডিবাগ করা হয়, জন্য 421 00:19:32,150 --> 00:19:36,500 উদাহরণস্বরূপ, বাইনারি অনুসন্ধান যখন বাইনারি সার্চ একটি পৃথক মধ্যে বলা হয় 422 00:19:36,500 --> 00:19:38,200 ফাংশন কিন্তু আছে এটা দিয়ে কিছু ত্রুটি. 423 00:19:38,200 --> 00:19:40,440 আমরা মধ্যে পইঠা চান চলুন বাইনারি অনুসন্ধান থেকে কল এবং 424 00:19:40,440 --> 00:19:41,840 আসলে এটি ডিবাগ. 425 00:19:41,840 --> 00:19:45,130 আমরা ছিল, কারণ আমরা উভয় ব্যবহার করেননি তালিকা আমাদের কোড একটি ভাল ধারনা, কিন্তু যদি আমি 426 00:19:45,130 --> 00:19:48,420 কি কোড আমি একটা ধারনা পেতে চান নি চারপাশে ছিল, আমি শুধু তালিকা ব্যবহার করতে পারেন. 427 00:19:48,420 --> 00:19:50,310 >> আমরা, আমরা ব্যবহৃত তথ্য স্থানীয়দের ব্যবহৃত মুদ্রণ করুন. 428 00:19:50,310 --> 00:19:53,260 আমরা এই ব্যবহার করার প্রয়োজন ছিল না চালিয়ে কেস, তন্ন তন্ন আমরা ব্যবহার করতে হবে কি 429 00:19:53,260 --> 00:19:55,060 নিষ্ক্রিয়, কিন্তু আমরা কি ব্যবহার করে প্রস্থান করার. 430 00:19:55,060 --> 00:19:57,850 আবার, এই 10 কমান্ড, তাদের অভ্যাস. 431 00:19:57,850 --> 00:20:00,770 আপনি এই 10 কমান্ড বুঝতে হলে, যদি আপনার কোনো ডিবাগ জন্য নির্ধারণ করা উচিত 432 00:20:00,770 --> 00:20:02,525 GDB সঙ্গে ইস্যু. 433 00:20:02,525 --> 00:20:05,230 434 00:20:05,230 --> 00:20:08,420 >> সুতরাং আমরা করতে, আবার, যেতে চলেছেন অধ্যায় মূল অংশ আজ, উপর যাচ্ছে 435 00:20:08,420 --> 00:20:09,720 এই বাছাই ও অনুসন্ধান আলগোরিদিম. 436 00:20:09,720 --> 00:20:14,075 আমরা এই কাজের আগে, আবার, কোন প্রশ্ন, GDB জন্য মতামত, উদ্বেগ? 437 00:20:14,075 --> 00:20:16,750 438 00:20:16,750 --> 00:20:20,960 তাই সবাই ব্যবহার করতে যাচ্ছে GDB বদলে printf? 439 00:20:20,960 --> 00:20:24,550 চিরস্থায়ী দোহাই জন্য তাই সবাই,, সবাই তাদের মাথা ঠিক অল্প সময়ের হয় 440 00:20:24,550 --> 00:20:27,400 এখন, তাই আমি অফিস এ আপনি দেখতে পাবেন এবং সব টিএফএস আপনি এবং দেখতে হবে 441 00:20:27,400 --> 00:20:29,460 তারা কিভাবে ব্যবহার করার জন্য আমাকে দেখান, বলবো GDB, এবং আপনি পারবেন 442 00:20:29,460 --> 00:20:31,240 অধিকার, তাদের দেখানোর জন্য! 443 00:20:31,240 --> 00:20:31,760 কাইন্ড? 444 00:20:31,760 --> 00:20:32,640 হয়তো আশা. 445 00:20:32,640 --> 00:20:33,670 কুল. 446 00:20:33,670 --> 00:20:35,790 >> সুতরাং আমরা সরাতে চলুন বাছাই ও অনুসন্ধান. 447 00:20:35,790 --> 00:20:40,710 আপনি আমি ইতিমধ্যে অনুসারে সাজানো তালিকা আছে দেখতে পাবেন আমাদের, কিন্তু যে যাচ্ছে না জন্য 448 00:20:40,710 --> 00:20:42,220 সর্বদা কেস হবে. 449 00:20:42,220 --> 00:20:49,170 সুতরাং সমস্যা জন্য স্পেসিফিকেশন সেট সমস্যা তিন সেট, আপনি হাফপ্যান্ট আছে 450 00:20:49,170 --> 00:20:51,410 আপনি আসলে এটি পাহারা, এবং পারেন যে যারা হাফপ্যান্ট ঘড়ি অনুরোধ জানাবে. 451 00:20:51,410 --> 00:20:55,090 এছাড়াও বক্তৃতায় গত সপ্তাহে, আমরা উপর গিয়েছিলাম এই আলগোরিদিম অনেক, তাই আমি আছি 452 00:20:55,090 --> 00:20:59,150 যাচ্ছে বর্গ সময় ব্যয় করা যাচ্ছে না এই আবার আলগোরিদিম বা অঙ্কন উপর 453 00:20:59,150 --> 00:21:01,130 কিভাবে এই জন্য ছবি অ্যালগোরিদম কাজ. 454 00:21:01,130 --> 00:21:04,030 আবার, যদি আপনি পুনরায় দেখতে পারেন যে তথ্য বক্তৃতা, বা যে তথ্য 455 00:21:04,030 --> 00:21:08,570 হাফপ্যান্ট উপর লক্ষণীয়ভাবে বন্দী হয় এই অনুসন্ধান, সব জন্য 456 00:21:08,570 --> 00:21:10,920 cs50.net এ উপলব্ধ যা. 457 00:21:10,920 --> 00:21:14,200 >> সুতরাং পরিবর্তে, আমরা কি করতে যাচ্ছেন কি এই প্রোগ্রাম লিখতে হয়. 458 00:21:14,200 --> 00:21:18,190 আমরা কিভাবে একটি মানসিক মডেল, একটা ধারনা আছে তারা কাজ, এবং তাই কি আমরা চলুন 459 00:21:18,190 --> 00:21:20,210 কি বাস্তব জন্য তাদের কোড. 460 00:21:20,210 --> 00:21:23,430 আমরা যে মানসিক মডেল চালু করতে যাচ্ছেন, যে ছবি, যদি আপনি হবে, মধ্যে 461 00:21:23,430 --> 00:21:24,960 প্রকৃত অবস্থান. 462 00:21:24,960 --> 00:21:28,460 এবং যদি আপনি একটু বিভ্রান্ত বা ছিল মানসিক মডেল অস্পষ্ট, আমি সম্পূর্ণই 463 00:21:28,460 --> 00:21:28,770 বুঝতে. 464 00:21:28,770 --> 00:21:30,540 >> আমরা আসলে করছি যাচ্ছে না কোড বয়সী ঝাঁপ. 465 00:21:30,540 --> 00:21:36,030 এই স্লাইড এই প্রম্পট জিজ্ঞেস করে যখন তখন আপনি বাইনারি অনুসন্ধান কোড, এবং করতে 466 00:21:36,030 --> 00:21:39,470 আসলে, একটি পুনরাবৃত্ত সংস্করণের বাইনারি অনুসন্ধান, প্রথম জিনিস আমি 467 00:21:39,470 --> 00:21:42,370 সত্যিই আপনাকে যা করতে হয় চান কিছু pseudocode লিখুন. 468 00:21:42,370 --> 00:21:47,020 তাই আপনি যদি এই মানসিক মডেল আছে এর কিভাবে বাইনারি অনুসন্ধান কাজ. 469 00:21:47,020 --> 00:21:50,060 আপনি যদি কাগজ একটি চাদর খুঁজে নিন এক সহজেই পাওয়া, বা খুলুন একটি 470 00:21:50,060 --> 00:21:52,520 টেক্সট এডিটর, এবং আমি চাই লিখতে সবাই. 471 00:21:52,520 --> 00:21:57,470 লিখতে চার মিনিট নিন বাইনারি অনুসন্ধান জন্য pseudocode. 472 00:21:57,470 --> 00:21:58,990 >> আবার, যে মানসিক মডেল সম্পর্কে চিন্তা. 473 00:21:58,990 --> 00:22:01,980 যদি আপনার কোন প্রশ্ন থাকে তাহলে আমি প্রায় আসবো এবং আমরা ছবি আউট আহরণ করতে পারে. 474 00:22:01,980 --> 00:22:06,220 কিন্তু প্রথম, আমরা প্রোগ্রামিং শুরু করার আগে, আমি লিখতে চাই 475 00:22:06,220 --> 00:22:09,920 বাইনারি অনুসন্ধান জন্য pseudocode তাই যখন আমরা মধ্যে ডুব, আমরা কিছু দিক আছে 476 00:22:09,920 --> 00:22:12,110 আমরা আগাইয়া উচিত যেখানে আপনি. 477 00:22:12,110 --> 00:22:15,330 >> ছাত্র: আমরা অ্যারে অনুমান করতে পারি আমরা পেতে মান ইতিমধ্যে সাজানো হয়? 478 00:22:15,330 --> 00:22:17,960 >> JASON HIRSCHHORN: তাই বাইনারি অনুসন্ধান জন্য কাজ - চমৎকার প্রশ্ন - আপনি 479 00:22:17,960 --> 00:22:20,970 একটি সাজানো গ্রহণ করতে হবে মান অ্যারে. 480 00:22:20,970 --> 00:22:22,290 সুতরাং এটি কাজ করবে নিই. 481 00:22:22,290 --> 00:22:23,480 আমরা ফিরে এই স্লাইডে যাবেন. 482 00:22:23,480 --> 00:22:27,220 আপনি রক্তবর্ণ রূপে দেখতে পাবেন ঘোষণা bool binary_search int-হয় 483 00:22:27,220 --> 00:22:29,230 মান, int-মান, int-এন. 484 00:22:29,230 --> 00:22:32,910 আপনি করেছেন তা এই পরিচিত হওয়া উচিত ইতিমধ্যে তটস্থ বা অর্জিত আপনার 485 00:22:32,910 --> 00:22:34,580 সমস্যা সেট দিয়ে নোংরা হাত. 486 00:22:34,580 --> 00:22:35,910 >> কিন্তু যে আপনার ফাংশন ঘোষণা করে. 487 00:22:35,910 --> 00:22:39,080 আবার, সম্পর্কে চিন্তা করতে হবে না হবে এই মুহূর্তে যে অনেক. 488 00:22:39,080 --> 00:22:43,660 আমি কি সত্যিই আপনি কাজ করতে চান নিতে হয় pseudocode বাইনারি করতে চার মিনিট 489 00:22:43,660 --> 00:22:46,380 অনুসন্ধান, এবং তারপর আমরা যাবেন একটি গ্রুপ হিসাবে যে ধরে. 490 00:22:46,380 --> 00:22:47,500 এবং আমি প্রায় আসতে হবে. 491 00:22:47,500 --> 00:22:49,590 যদি আপনার কোন প্রশ্ন থাকে, তাহলে বোধ আপনার হাত বাড়াতে বিনামূল্যে. 492 00:22:49,590 --> 00:25:07,110 493 00:25:07,110 --> 00:25:09,680 >> কেন আপনি আরো দুটি মিনিট সময় লাগতে না pseudocode আপ শেষ? 494 00:25:09,680 --> 00:25:13,690 495 00:25:13,690 --> 00:25:15,820 আমি এই যে হাস্যকর মনে হতে পারে জানি আমরা এত সময় খরচ করছেন 496 00:25:15,820 --> 00:25:20,350 এমনকি আসলে না এমন কিছু বিষয় সি, কিন্তু বিশেষ করে এই জন্য আরো 497 00:25:20,350 --> 00:25:24,030 চ্যালেঞ্জিং আলগোরিদিম এবং সমস্যা আমরা চিন্তা করা আছে সেট, 498 00:25:24,030 --> 00:25:27,210 pseudocode উদ্বেজক না শুরু বাক্য গঠন সম্পর্কে, প্রায় উদ্বেজক 499 00:25:27,210 --> 00:25:29,150 যুক্তিবিজ্ঞান, অবিশ্বাস্যভাবে সহায়ক. 500 00:25:29,150 --> 00:25:32,720 এবং এই ভাবে, আপনি দুটি সমাধান করছি না একযোগে অবিশ্বাস্যভাবে কঠিন সমস্যা. 501 00:25:32,720 --> 00:25:35,390 আপনি শুধু যুক্তিবিজ্ঞান উপর মনোযোগ নিবদ্ধ করে, এবং করছি তাহলে আপনি বাক্য গঠন সরাতে. 502 00:25:35,390 --> 00:25:59,960 503 00:25:59,960 --> 00:26:01,385 >> ঠিক আছে. 504 00:26:01,385 --> 00:26:03,680 এর মধ্যে দিয়ে যাচ্ছিলেন শুরু করা যাক pseudocode. 505 00:26:03,680 --> 00:26:05,380 আমি বাইনারি, এখানে আপ লিখিত আছে সার্চ pseudocode. 506 00:26:05,380 --> 00:26:07,360 আমরা এই লিখতে হবে একসাথে বোর্ড. 507 00:26:07,360 --> 00:26:10,040 অথবা আমি এটা লিখতে হবে এবং আপনাকে দেব আমার আমি প্রয়োজন অনুরোধ জানানো. 508 00:26:10,040 --> 00:26:15,010 তাই কেহ আমাকে প্রথমে দিতে পারেন pseudocode লাইন আপনি 509 00:26:15,010 --> 00:26:18,350 বাইনারি অনুসন্ধান জন্য লিখেছিলেন? 510 00:26:18,350 --> 00:26:20,258 হ্যাঁ, অ্যানি? 511 00:26:20,258 --> 00:26:22,698 >> ছাত্র: যদিও দৈর্ঘ্যের তালিকার শূন্য চেয়ে অনেক বেশী. 512 00:26:22,698 --> 00:26:26,114 513 00:26:26,114 --> 00:26:34,880 >> JASON HIRSCHHORN: যদিও দৈর্ঘ্য শূন্য থেকে বড় তার তালিকা দেখাবে. 514 00:26:34,880 --> 00:26:38,810 এবং আবার, আমরা কিছু সি সুদর্শন দেখুন এখানে সিনট্যাক্স জিনিস. 515 00:26:38,810 --> 00:26:41,550 কিন্তু এই অধিকাংশ ইংরেজিতে হয়. 516 00:26:41,550 --> 00:26:43,980 কেহ তারা লাগাতে কোন লাইন আছে কি তাদের ছদ্ম - কোড এই আগে? 517 00:26:43,980 --> 00:26:47,280 518 00:26:47,280 --> 00:26:50,210 >> ছাত্র: একটি অ্যারের পান সংখ্যা সাজানো. 519 00:26:50,210 --> 00:26:53,600 >> JASON HIRSCHHORN: আপনি লিখেছেন "একটি পেতে সাজানো সংখ্যার অ্যারে. "প্রতি 520 00:26:53,600 --> 00:26:56,140 ফাংশন ঘোষণা, আমরা ক্ষণস্থায়ী হবে সাজানো সংখ্যার একটি অ্যারে. 521 00:26:56,140 --> 00:26:57,280 >> ছাত্র: [শ্রবণাতীত]. 522 00:26:57,280 --> 00:26:59,030 >> JASON HIRSCHHORN: তাই আমরা যে করতে হবে. 523 00:26:59,030 --> 00:27:01,820 কিন্তু হ্যাঁ, আমরা, যে কি না যদি আমরা আমাদের অ্যারের বাছাই করতে হবে 524 00:27:01,820 --> 00:27:04,850 সংখ্যা, কারণ বাইনারি অনুসন্ধান শুধুমাত্র সাজানো অ্যারে কাজ করে. 525 00:27:04,850 --> 00:27:11,300 তালিকার দৈর্ঘ্য শূন্য সমান সুতরাং, যখন আমি আছি কিছু কোঁকড়া ধনুর্বন্ধনী রাখা যাচ্ছে 526 00:27:11,300 --> 00:27:15,420 এটি একটি সামান্য বিট আরও মত বানাতে সি কিন্তু, যখন একটি সম্মুখের ম্যাপ বলে মনে হয় 527 00:27:15,420 --> 00:27:19,550 লুপ যখন, তাই এই সময় ভিতরে লুপ কি আমরা প্রয়োজন 528 00:27:19,550 --> 00:27:22,000 বাইনারি অনুসন্ধান জন্য কি? 529 00:27:22,000 --> 00:27:25,530 >> আমাকে একটি দেওয়া না যিনি অন্য কেউ এখনো উত্তর কিন্তু যারা এই লিখেছে? 530 00:27:25,530 --> 00:27:31,750 531 00:27:31,750 --> 00:27:33,320 >> ছাত্র: তালিকা মাঝখানে যান. 532 00:27:33,320 --> 00:27:33,980 >> JASON HIRSCHHORN: টম. 533 00:27:33,980 --> 00:27:35,230 তালিকা মাঝখানে যান. 534 00:27:35,230 --> 00:27:43,290 535 00:27:43,290 --> 00:27:45,530 আর পরবর্তী প্রশ্ন, কি আমরা এ করছি একবার আমরা কি করবেন 536 00:27:45,530 --> 00:27:46,870 তালিকা মাঝখানে? 537 00:27:46,870 --> 00:27:49,310 >> ছাত্র: যে কিনা একটি চেক করবেন আপনি যা খুঁজছেন সংখ্যা. 538 00:27:49,310 --> 00:27:50,120 >> JASON HIRSCHHORN: অসাধারণ. 539 00:27:50,120 --> 00:28:05,500 তালিকা মাঝখানে যান এবং পরীক্ষা আমাদের মূল্য আছে যদি - 540 00:28:05,500 --> 00:28:06,515 কল্পনাপ্রসূত. 541 00:28:06,515 --> 00:28:10,460 কেহ অন্য কিছু আছে কি যে এই চেয়ে ভিন্ন ছিল? 542 00:28:10,460 --> 00:28:11,210 যে ঠিক ঠিক. 543 00:28:11,210 --> 00:28:13,800 >> আমরা বাইনারি অনুসন্ধান কি প্রথম জিনিস তালিকা মাঝখানে গিয়ে হয় 544 00:28:13,800 --> 00:28:15,870 আমাদের মান আছে কিনা দেখতে পরীক্ষা করুন. 545 00:28:15,870 --> 00:28:19,682 আমাদের মান যদি তাই আমি অনুমান , আমরা কি আছে করব? 546 00:28:19,682 --> 00:28:21,610 >> ছাত্র: আমরা [শ্রবণাতীত] শূন্য ফিরে. 547 00:28:21,610 --> 00:28:23,400 >> JASON HIRSCHHORN: হ্যাঁ, যদি আমাদের মূল্য আছে, আমরা তা খুঁজে পাওয়া যায়নি. 548 00:28:23,400 --> 00:28:27,950 তাই আমরা তবে, কিছু উপায় বলতে পারেন এই ফাংশন সংজ্ঞায়িত করা হয়, আমরা ব্যবহারকারী বলুন 549 00:28:27,950 --> 00:28:28,520 আমরা তা খুঁজে পাওয়া যায়নি. 550 00:28:28,520 --> 00:28:30,950 এটা আছে না, যদিও, যে এই চতুর পায় কোথায়. 551 00:28:30,950 --> 00:28:35,120 সুতরাং এটি আছে না, যদি কারো কাদের বাইনারি অনুসন্ধান বা কাজ ছিল 552 00:28:35,120 --> 00:28:36,830 এখন, আমরা কি একটি ধারণা করবেন হয়েছে? 553 00:28:36,830 --> 00:28:37,830 >> ছাত্র: প্রশ্ন. 554 00:28:37,830 --> 00:28:38,100 >> JASON HIRSCHHORN: হ্যাঁ? 555 00:28:38,100 --> 00:28:39,920 >> ছাত্র: অ্যারের ইতিমধ্যেই সাজানো হয়? 556 00:28:39,920 --> 00:28:42,200 >> JASON HIRSCHHORN: হ্যাঁ, আমরা অভিমানী করছি অ্যারের ইতিমধ্যেই সাজানো হয়. 557 00:28:42,200 --> 00:28:46,480 >> ছাত্র: আমি তখন আপনি চেক আছে যদি আপনি দেখতে যে মূল্য তার চেয়ে অনেক বেশী 558 00:28:46,480 --> 00:28:51,745 আপনি চান যে মান, আপনি স্থানান্তর করতে পারেন অন্যান্য অর্ধেক মাঝখানে থেকে. 559 00:28:51,745 --> 00:28:54,110 >> JASON HIRSCHHORN: তাই যদি মাঝখানে তালিকা আমরা কি তার চেয়ে অনেক বেশী 560 00:28:54,110 --> 00:28:57,440 কি জন্য তাহলে আমরা কি খুঁজছেন? 561 00:28:57,440 --> 00:28:58,320 আমরা যেখানে সরাতে? 562 00:28:58,320 --> 00:29:01,400 >> ছাত্র: আপনি যেতে চান সঙ্গে তালিকার অর্ধেকের 563 00:29:01,400 --> 00:29:02,780 যে কম নম্বর. 564 00:29:02,780 --> 00:29:04,460 >> JASON HIRSCHHORN: সুতরাং আমরা করব বাঁদিকের যে কল. 565 00:29:04,460 --> 00:29:15,435 মধ্যম বেশী সুতরাং, যদি আমরা অনুসন্ধান করতে পারেন তালিকার বাকি অর্ধেক. 566 00:29:15,435 --> 00:29:20,620 567 00:29:20,620 --> 00:29:22,980 এবং তারপর অনুসন্ধান করে, কি আমি সার্চ করে বোঝাতে চেয়েছেন? 568 00:29:22,980 --> 00:29:24,010 >> ছাত্র: [শ্রবণাতীত]. 569 00:29:24,010 --> 00:29:24,410 >> JASON HIRSCHHORN: আমরা মধ্যম যান. 570 00:29:24,410 --> 00:29:25,740 আমরা আসলে এই জিনিস পুনরাবৃত্তি. 571 00:29:25,740 --> 00:29:29,210 আমরা আমাদের সময় লুপ দিয়ে ফিরে যান. 572 00:29:29,210 --> 00:29:31,480 আমি আপনার গত এক দেব - 573 00:29:31,480 --> 00:29:39,047 যদি অন্য, মাঝখানে কি কম আমরা, আমরা এখানে কি করবেন না? 574 00:29:39,047 --> 00:29:40,360 >> ছাত্র: ডানে যান. 575 00:29:40,360 --> 00:29:41,610 >> JASON HIRSCHHORN: ডান অনুসন্ধান করুন. 576 00:29:41,610 --> 00:29:47,440 577 00:29:47,440 --> 00:29:51,710 এই দেখতেও ভালো, কিন্তু কেহ আছে আমরা নিখোঁজ বা হতে পারে যে কিছু 578 00:29:51,710 --> 00:29:53,200 আপনাকে করা যে অন্য কিছু আপনার ছদ্ম - কোড মধ্যে? 579 00:29:53,200 --> 00:29:57,080 580 00:29:57,080 --> 00:29:58,410 তাই এই আমরা এ পর্যন্ত কি হয়. 581 00:29:58,410 --> 00:30:00,960 তালিকার দৈর্ঘ্য বেশী যদিও শূন্য তুলনায়, আমরা যেতে চলুন 582 00:30:00,960 --> 00:30:03,220 তালিকা মাঝখানে এবং করতে আমাদের মূল্য আছে কিনা. 583 00:30:03,220 --> 00:30:06,970 >> মধ্যম বেশী, আমরা চলুন মাঝখানে যদি অনুসন্ধান অন্য, বাকি 584 00:30:06,970 --> 00:30:09,230 কম, আমরা সঠিক অনুসন্ধান চলুন. 585 00:30:09,230 --> 00:30:14,430 তাই আমরা সব কিছু ঘনিষ্ঠতা ছিল করেছি আমরা কম্পিউটার বিজ্ঞান মধ্যে ব্যবহার শর্তাবলী 586 00:30:14,430 --> 00:30:15,550 এবং টুলস আমরা আছে. 587 00:30:15,550 --> 00:30:18,300 তবে আপনি যদি ইতিমধ্যে আমরা ছিল বিজ্ঞপ্তি পাবেন ইংরেজি বলতে, কিন্তু আমরা পাওয়া একটি 588 00:30:18,300 --> 00:30:24,790 উপর ম্যাপ করলো যে জিনিস অনেক আমরা আমাদের কোডিং টুল কিট মধ্যে আছে টুলস. 589 00:30:24,790 --> 00:30:27,210 তাই ডান ব্যাট বন্ধ, আমরা পারব না আসলে এখনও কোড যাচ্ছে. 590 00:30:27,210 --> 00:30:33,300 >> আমরা ইংরেজিতে এখানে কি দেখেন যে মানচিত্র বিষয়ের উপর আমরা সি লিখতে পারেন? 591 00:30:33,300 --> 00:30:34,560 >> ছাত্র: যদিও. 592 00:30:34,560 --> 00:30:35,320 >> JASON HIRSCHHORN: যদিও. 593 00:30:35,320 --> 00:30:40,610 তাই এই সময় এখানে ডান কি নেভিগেশন মানচিত্র? 594 00:30:40,610 --> 00:30:42,630 >> ছাত্র: যখন একটি লুপ. 595 00:30:42,630 --> 00:30:43,200 >> JASON HIRSCHHORN: যখন একটি লুপ? 596 00:30:43,200 --> 00:30:44,540 অথবা সম্ভবত, আরো সাধারণভাবে, একটি লুপ. 597 00:30:44,540 --> 00:30:46,260 আমরা বহুবার কিছু করতে চান. 598 00:30:46,260 --> 00:30:49,050 সুতরাং আমরা একটি লুপ কোড চলুন. 599 00:30:49,050 --> 00:30:51,640 আমরা সম্পন্ন করেছি এবং কারণ আমরা ইতিমধ্যে জানি এই একটি বার দম্পতি এবং আমরা 600 00:30:51,640 --> 00:30:54,180 , আউট আছে উদাহরণ প্রচুর আছে কিভাবে আসলে লিখতে 601 00:30:54,180 --> 00:30:55,310 একটি লুপ জন্য এই সূচী. 602 00:30:55,310 --> 00:30:56,160 সুতরাং যে প্রশংসনীয় সহজ হওয়া উচিত. 603 00:30:56,160 --> 00:30:58,070 আমরা যে পেতে সক্ষম হওয়া উচিত প্রশংসনীয় দ্রুত শুরু. 604 00:30:58,070 --> 00:31:01,830 >> আর কি আমরা এখানে দেখতে? 605 00:31:01,830 --> 00:31:06,820 আর কি কি কাঠামোর syntaxes, জিনিষ আমরা সি সাথে পরিচিত যে, আমরা কি 606 00:31:06,820 --> 00:31:09,790 ইতিমধ্যে ভিত্তিক একটা ধারনা আছে আমরা ব্যবহৃত শব্দের বন্ধ? 607 00:31:09,790 --> 00:31:10,830 হ্যাঁ, আন্না? 608 00:31:10,830 --> 00:31:11,360 [শ্রবণাতীত] 609 00:31:11,360 --> 00:31:12,990 শুধু নিশ্চয়ই মজা. 610 00:31:12,990 --> 00:31:13,540 আন্না, এগিয়ে যান. 611 00:31:13,540 --> 00:31:14,530 >> ছাত্র: যদি এবং অন্য. 612 00:31:14,530 --> 00:31:16,260 >> JASON HIRSCHHORN: যদি এবং অন্য - অধিকার এখানে. 613 00:31:16,260 --> 00:31:18,840 তাই যারা অনুরূপ হয়? 614 00:31:18,840 --> 00:31:20,420 >> ছাত্র: একটি অন্য বিবৃতি যদি. 615 00:31:20,420 --> 00:31:21,560 >> JASON HIRSCHHORN: হ্যাঁ, শর্ত, ডান? 616 00:31:21,560 --> 00:31:24,650 তাই আমরা সম্ভবত করতে হবে কিছু শর্ত লিখুন. 617 00:31:24,650 --> 00:31:31,185 এবং আবার, যদিও হয়তো এ বিভ্রান্তিকর প্রথমত, আমরা সাধারণত এখন একটা ধারনা আছে 618 00:31:31,185 --> 00:31:34,010 শর্ত এবং লিখতে কিভাবে অবস্থার জন্য সিনট্যাক্স. 619 00:31:34,010 --> 00:31:36,850 আমরা না করতে এবং যদি আমরা শুধু সন্ধান শর্ত, কাট এবং পেস্ট জন্য সিনট্যাক্স 620 00:31:36,850 --> 00:31:39,950 যে, আমরা আমরা জানি কারণ এখানে একটি শর্ত প্রয়োজন. 621 00:31:39,950 --> 00:31:44,910 আমরা সম্মুখের যে মানচিত্র দেখুন কোন অন্যান্য জিনিসের আমরা সি কি প্রয়োজন হতে পারে জিনিষ? 622 00:31:44,910 --> 00:31:48,312 623 00:31:48,312 --> 00:31:48,960 হাঁ, Aleha? 624 00:31:48,960 --> 00:31:50,370 >> ছাত্র: এই, সুস্পষ্ট হতে পারে শুধু চেক করে যদি 625 00:31:50,370 --> 00:31:51,990 মূল্য কিছু সমান. 626 00:31:51,990 --> 00:31:54,578 >> JASON HIRSCHHORN: তাই কিভাবে আমরা চেক করবেন ও - তাই তালিকা মাঝখানে যান 627 00:31:54,578 --> 00:31:55,610 আমাদের মান আছে এবং যদি পরীক্ষা? 628 00:31:55,610 --> 00:31:56,570 আমরা যে সি কিভাবে করব? 629 00:31:56,570 --> 00:31:58,450 যে জন্য বাক্য গঠন কি? 630 00:31:58,450 --> 00:31:59,235 >> ছাত্র: সমান, সমান. 631 00:31:59,235 --> 00:32:00,650 >> JASON HIRSCHHORN: সমান, সমান. 632 00:32:00,650 --> 00:32:03,540 তাই এই চেক সম্ভবত যাচ্ছে একটি সমান করা, সমান. 633 00:32:03,540 --> 00:32:04,510 তাই আমরা আমরা যে কোথাও প্রয়োজন জানতে পারবেন. 634 00:32:04,510 --> 00:32:07,510 এবং প্রকৃতপক্ষে, এটা লিখিতভাবে, আমরা যারা অন্যান্য জিনিস দেখতে. 635 00:32:07,510 --> 00:32:11,400 আমরা কিছু যা করতে হবে চলুন তুলনা অপারেটরদের সেখানে - 636 00:32:11,400 --> 00:32:12,010 কল্পনাপ্রসূত. 637 00:32:12,010 --> 00:32:14,980 সুতরাং এটা আসলে ভালো করে এবং দেখায় বৃহৎ, আমরা লিখিত নি একটি 638 00:32:14,980 --> 00:32:16,390 এখনো সি কোড কালাম. 639 00:32:16,390 --> 00:32:20,610 কিন্তু আমরা নিচে মানসিক মডেল পেয়েছিলাম বক্তৃতা এবং যারা হাফপ্যান্ট মাধ্যমে. 640 00:32:20,610 --> 00:32:22,350 >> আমরা একটি গ্রুপ হিসাবে ছদ্ম - কোড লেখেন. 641 00:32:22,350 --> 00:32:27,110 এবং ইতিমধ্যে, আমরা 80% যদি না থাকে আমরা যা করতে হবে কি 90%. 642 00:32:27,110 --> 00:32:28,550 এখন, আমরা ঠিক কোড করতে হবে এটা আবার,, একটি যা হয় 643 00:32:28,550 --> 00:32:30,110 সমাধানের অ তুচ্ছ সমস্যা. 644 00:32:30,110 --> 00:32:31,890 কিন্তু অন্তত আমরা যুক্তি আটকে করছি. 645 00:32:31,890 --> 00:32:38,040 আমরা অফিসে ঘন্টা যান যখন এখন কমপক্ষে আমি আমি আমি প্রয়োজন কি জানেন, বলতে পারেন 646 00:32:38,040 --> 00:32:40,160 যা করতে, কিন্তু আপনি মনে করিয়ে দেয়া যাবে সিনট্যাক্স আমার? 647 00:32:40,160 --> 00:32:42,940 বা অফিসে ঘন্টা আপনি ভীড় হয়, এমনকি যদি বরং, সিনট্যাক্স জন্য Google পারেন 648 00:32:42,940 --> 00:32:45,040 লজিক আটকে হচ্ছে আর. 649 00:32:45,040 --> 00:32:48,570 >> এবং আবার, বরং সমাধানের চেষ্টা যুক্তিবিজ্ঞান এবং সিনট্যাক্স সমস্যা সব 650 00:32:48,570 --> 00:32:51,900 একযোগে, এটা প্রায়ই করতে অনেক ভালো মধ্যে ঐ দুটি কঠিন সমস্যা বিছিন্ন 651 00:32:51,900 --> 00:32:58,280 দুই সামলানো বেশী এবং কাজ সি ছদ্ম - কোড প্রথম এবং তারপর কোড 652 00:32:58,280 --> 00:33:00,620 সুতরাং এর জন্য কি আমি কি দেখতে দিন তাদের পুরস্কার কোড এগিয়ে সময়. 653 00:33:00,620 --> 00:33:04,060 >> তালিকার দৈর্ঘ্য বেশী যদিও শূন্য চেয়ে, মধ্যম তাকান 654 00:33:04,060 --> 00:33:05,090 তালিকার. 655 00:33:05,090 --> 00:33:09,610 নম্বর অন্য, সত্য ফিরে পাওয়া যদি সংখ্যা বেশি, অনুসন্ধান বাম হলে. 656 00:33:09,610 --> 00:33:13,200 অন্যথায় যদি সংখ্যা কম, অনুসন্ধান অধিকার, মিথ্যা ফিরে. 657 00:33:13,200 --> 00:33:18,710 সুতরাং যে প্রায় অভিন্ন দেখায় যদি না আমরা লিখেছেন তার সাথে প্রায় একই. 658 00:33:18,710 --> 00:33:23,030 বাস্তবিক, টম জন্য প্রথমে বলেন, তালিকার এবং যদি মাঝখানে ভঙ্গ 659 00:33:23,030 --> 00:33:24,880 দুটি বিবৃতি মধ্যে পাওয়া নম্বর আমি কি আসলে. 660 00:33:24,880 --> 00:33:25,507 >> আমি সেখানে তাদের মিলিত. 661 00:33:25,507 --> 00:33:27,100 আমি শোনার উচিত আপনি প্রথমবার. 662 00:33:27,100 --> 00:33:30,640 সুতরাং যে আমরা আছে ছদ্ম - কোড করা. 663 00:33:30,640 --> 00:33:35,060 আপনি এখন করতে চান, দুঃখিত, যান আমাদের প্রাথমিক সমস্যা ব্যাক. 664 00:33:35,060 --> 00:33:37,780 এর কোড binary.c যাক. 665 00:33:37,780 --> 00:33:40,870 সুতরাং একটি পুনরাবৃত্ত সংস্করণের বাস্তবায়ন নিম্নলিখিত ব্যবহার বাইনারি অনুসন্ধান 666 00:33:40,870 --> 00:33:42,420 ফাংশন ঘোষণা. 667 00:33:42,420 --> 00:33:44,550 >> এবং আপনি কপি করতে হবে না এটা দমন এখনও. 668 00:33:44,550 --> 00:33:49,470 আসলে আমি খুলতে যাচ্ছি আপ অধিকার এখানে binary.c. 669 00:33:49,470 --> 00:33:52,880 সুতরাং ফাংশন ঘোষণা আছে পর্দার মাঝখানে. 670 00:33:52,880 --> 00:33:57,570 এবং যদি আপনি আমি ছদ্ম - কোড নেন দেখতে পাবেন আমার পক্ষের কাছ থেকে, কিন্তু প্রায় অভিন্ন 671 00:33:57,570 --> 00:33:59,740 কি আমরা লিখেছে, এবং আপনার জন্য যে স্থাপন করা. 672 00:33:59,740 --> 00:34:06,010 সুতরাং এখন, এর পাঁচ মিনিট দেওয়া এই ফাংশন কোড দিতে. 673 00:34:06,010 --> 00:34:08,199 >> এবং আবার, যদি আপনার কোন প্রশ্ন থাকে তাহলে, আপনার হাত বাড়াতে, আমি করব, আমাকে জানাতে 674 00:34:08,199 --> 00:34:08,710 কাছাকাছি আসা. 675 00:34:08,710 --> 00:34:09,800 >> ছাত্র: [শ্রবণাতীত]. 676 00:34:09,800 --> 00:34:12,380 >> JASON HIRSCHHORN: তাই আমি বাইনারি গ্রহণ এ সার্চ সংজ্ঞা 677 00:34:12,380 --> 00:34:14,429 লাইন 12 তারিখে, শীর্ষে. 678 00:34:14,429 --> 00:34:16,429 যে আমি আমার স্লাইড জন্য পেয়েছেন কি. 679 00:34:16,429 --> 00:34:20,940 এবং তারপর সব এই ছদ্ম - কোড আমি কপি এবং স্লাইড থেকে আটকানো, 680 00:34:20,940 --> 00:34:22,190 ছদ্ম - কোড স্লাইড. 681 00:34:22,190 --> 00:35:22,830 682 00:35:22,830 --> 00:35:26,786 এখনও আমি [শ্রবণাতীত] শ্রবণ করছি না. 683 00:35:26,786 --> 00:37:13,010 684 00:37:13,010 --> 00:37:15,820 >> আপনি শেষ তাই যদি আপনার বাস্তবায়ন, আমি এটি পরীক্ষা করতে. 685 00:37:15,820 --> 00:37:19,410 আমি আপনাকে helpers.h ফাইল ইমেল আগে এই ক্লাসে. 686 00:37:19,410 --> 00:37:22,360 এবং এটা হিসাবে ভাল অনলাইন উপলব্ধ করা হবে পর্যবেক্ষক মানুষ ডাউনলোডের জন্য 687 00:37:22,360 --> 00:37:24,750 এই বিভাগের সময় বিলম্বিত. 688 00:37:24,750 --> 00:37:29,350 এবং আমি ঠিক জেনেরিক ডিস্ট্রিবিউশন ব্যবহার pset3 থেকে অবস্থান. 689 00:37:29,350 --> 00:37:34,590 তাই আমি find.C, আমার helpers.h ফাইলটি ব্যবহার করে নেন বরং helpers.h ফাইলের তুলনায় 690 00:37:34,590 --> 00:37:36,280 যে ডিস্ট্রিবিউশন কোড দেওয়া হচ্ছে. 691 00:37:36,280 --> 00:37:39,310 >> এবং আমি এক অন্য পরিবর্তন করা হয়েছে বরং শুধু শুধু কলিং তুলনায় find.C 692 00:37:39,310 --> 00:37:42,770 অনুসন্ধান, binary_search কল. 693 00:37:42,770 --> 00:37:49,080 সুতরাং আপনি আপনার কোড পরীক্ষা করতে চান, যে এটা কিভাবে জানি যে. 694 00:37:49,080 --> 00:37:52,530 আসলে, আমরা এই কোড চলমান করা হবে, যখন ঠিক এখন, আমি শুধু একটি কপি তৈরি 695 00:37:52,530 --> 00:37:59,820 আমার pset3 ডাইরেক্টরি আবার,, খুঁজে আনা তারপর সাহায্যকারী ফাইল এবং যে 696 00:37:59,820 --> 00:38:04,695 binary_search কল find.C মধ্যে পরিবর্তন বদলে কেবল অনুসন্ধান. 697 00:38:04,695 --> 00:40:08,620 698 00:40:08,620 --> 00:40:09,120 >> JASON HIRSCHHORN: হ্যাঁ. 699 00:40:09,120 --> 00:40:11,258 আপনি একটি প্রশ্ন আছে? 700 00:40:11,258 --> 00:40:12,150 >> ছাত্র: কিছু মনে করবেন. 701 00:40:12,150 --> 00:40:12,600 >> JASON HIRSCHHORN: কোন উদ্বেগ. 702 00:40:12,600 --> 00:40:13,370 ভাল, এর শুরু করা যাক. 703 00:40:13,370 --> 00:40:15,090 আমরা একটি গ্রুপ হিসাবে এই কোড হবে. 704 00:40:15,090 --> 00:40:16,050 অন্য একটি নোট. 705 00:40:16,050 --> 00:40:20,600 আবার, এই, সহজে অদলবদল করা যাবে হয় সমস্যা সেট তিনটি জন্য. 706 00:40:20,600 --> 00:40:25,530 আমি আমার helpers.h ফাইল আছে যা, বরং helpers.h তুলনায় আমরা দেওয়া করছি, 707 00:40:25,530 --> 00:40:28,560 বাইনারি অনুসন্ধান, বুদ্বুদ ঘোষণা সাজানোর, এবং নির্বাচন সাজানোর. 708 00:40:28,560 --> 00:40:37,400 আর find.c আপনাকে লাইনে বিজ্ঞপ্তি পাবেন, কি লাইন 68, আমরা বাইনারি কল, যে হয় 709 00:40:37,400 --> 00:40:39,160 অনুসন্ধান বদলে অনুসন্ধান. 710 00:40:39,160 --> 00:40:42,930 তাই আবার, পাওয়া যায় যে কোড অনলাইন বা আপনি যে কোড 711 00:40:42,930 --> 00:40:46,590 এই মুহূর্তে তৈরি সহজেই অদলবদল করা যাবে জন্য এ পি এটি চেক 3 সেট. 712 00:40:46,590 --> 00:40:50,620 >> কিন্তু প্রথম, এর বাইনারি অনুসন্ধান কোড যাক. 713 00:40:50,620 --> 00:40:53,690 আমাদের ফাংশন ঘোষণা, আমরা একটি bool ফিরে. 714 00:40:53,690 --> 00:40:55,810 আমরা মান নামক একটি পূর্ণসংখ্যা নিতে. 715 00:40:55,810 --> 00:40:59,285 আমরা বলা পূর্ণসংখ্যার একটি অ্যারে গ্রহণ মান, এবং আমরা হতে এন নিতে 716 00:40:59,285 --> 00:41:00,850 অ্যারের আকার. 717 00:41:00,850 --> 00:41:05,640 অধিকার এখানে লাইন 10,, আমি আছে ধারালো stdbool.h অন্তর্ভুক্ত. 718 00:41:05,640 --> 00:41:07,360 যে আছে কেন কারো জানা আছে? 719 00:41:07,360 --> 00:41:12,180 720 00:41:12,180 --> 00:41:16,600 সুতরাং কোড যে লাইন কি কাজ করে? 721 00:41:16,600 --> 00:41:19,880 >> ছাত্র: এটা আপনি করতে পারবেন একটি bool ফেরত টাইপ ব্যবহার. 722 00:41:19,880 --> 00:41:20,350 >> JASON HIRSCHHORN: যথাযথভাবে. 723 00:41:20,350 --> 00:41:22,300 >> ছাত্র: অথবা এটা পারবেন একটি লাইব্রেরি আছে একটি bool ফেরত টাইপ ব্যবহার করার জন্য. 724 00:41:22,300 --> 00:41:27,590 >> JASON HIRSCHHORN: তাই ধারালো অন্তর্ভুক্ত stdbool.h লাইন আমাকে কিছু দেয় 725 00:41:27,590 --> 00:41:31,340 জিনিসের জন্য সংজ্ঞা কেমিক্যালস এবং ঘোষণা আমি ব্যবহার করার অনুমতি দেওয়া করছি যে 726 00:41:31,340 --> 00:41:32,400 এই লাইব্রেরি. 727 00:41:32,400 --> 00:41:36,570 সুতরাং যাদের মধ্যে আছে যে বলছে না এই ধরনের bool বলা হয়, এবং এটা হতে পারে 728 00:41:36,570 --> 00:41:37,750 সত্য বা মিথ্যা. 729 00:41:37,750 --> 00:41:39,010 সুতরাং যে যে লাইন আছে কি. 730 00:41:39,010 --> 00:41:41,680 আমি যে লাইন আছে কি না এবং যদি আমি এই লেখার জন্য কষ্ট পেতে 731 00:41:41,680 --> 00:41:43,520 অধিকার এখানে, bool, অধিকার আছে শব্দ. 732 00:41:43,520 --> 00:41:44,140 ঠিক ঠিক. 733 00:41:44,140 --> 00:41:46,430 তাই আমি এই কোড যে প্রয়োজন. 734 00:41:46,430 --> 00:41:47,690 ঠিক আছে. 735 00:41:47,690 --> 00:41:51,860 তাই এই আবার,, একটি পুনরাবৃত্ত হয় সংস্করণ, না একটি recursive এক. 736 00:41:51,860 --> 00:41:53,820 তাই আমাদের শুরু করতে দিন. 737 00:41:53,820 --> 00:41:56,200 >> এর এই প্রথম দিয়ে শুরু করা যাক ছদ্ম কোড লাইন. 738 00:41:56,200 --> 00:41:58,770 আর আশা করছি, আমরা আছি - বা না আশা. 739 00:41:58,770 --> 00:42:00,530 আমরা রুম কাছাকাছি যেতে চলুন. 740 00:42:00,530 --> 00:42:05,110 আমরা পাতিপাতি যাবেন, এবং আমি সাহায্য করবে আপনি আমরা প্রয়োজন যে লাইনে চিন্তা 741 00:42:05,110 --> 00:42:06,310 প্রথম লিখতে. 742 00:42:06,310 --> 00:42:10,550 সুতরাং, যখন তালিকা দৈর্ঘ্যের শূন্য চেয়ে অনেক বেশী. 743 00:42:10,550 --> 00:42:12,680 এর সামনে শুরু করা যাক. 744 00:42:12,680 --> 00:42:15,190 কি লাইন আমি লিখতে হবে এখানে কোডের? 745 00:42:15,190 --> 00:42:19,470 >> ছাত্র: যদিও লঘুবন্ধনী এন হয় 0 থেকে. 746 00:42:19,470 --> 00:42:21,900 >> JASON HIRSCHHORN: যদিও এন 0 চেয়ে মহান. 747 00:42:21,900 --> 00:42:26,550 তাই এন, একটি তালিকা মাপ এবং আমরা যদি চেক করছি - 748 00:42:26,550 --> 00:42:26,800 >> [Interposing ভয়েসেস] 749 00:42:26,800 --> 00:42:27,660 >> JASON HIRSCHHORN: - দুঃখিত? 750 00:42:27,660 --> 00:42:29,360 >> ছাত্র: কিভাবে আমরা যে জানি এন তালিকার মাপ? 751 00:42:29,360 --> 00:42:29,690 >> JASON HIRSCHHORN: দুঃখিত. 752 00:42:29,690 --> 00:42:34,690 Pset স্পেসিফিকেশন প্রতি, অনুসন্ধান এবং সাজানোর, আপনি লিখতে প্রয়োজন ফাংশন 753 00:42:34,690 --> 00:42:36,230 এন তালিকার মাপ. 754 00:42:36,230 --> 00:42:37,710 আমি এখানে যে ব্যাখ্যা করতে ভুলে গেছি. 755 00:42:37,710 --> 00:42:41,310 কিন্তু হ্যাঁ. এন মাপ এই ক্ষেত্রে তালিকা,. 756 00:42:41,310 --> 00:42:44,740 সুতরাং যখন এন হয় 0 থেকে. 757 00:42:44,740 --> 00:42:45,580 ঠিক আছে. 758 00:42:45,580 --> 00:42:50,090 যে একটি বিট সমস্যাযুক্ত প্রমাণ হতে পারে যদিও জিনিষ যান. 759 00:42:50,090 --> 00:42:54,510 আমরা জানি চলতে থাকবে কারণ এই সারা তালিকার মাপ 760 00:42:54,510 --> 00:43:06,640 ফাংশন, কিন্তু আমরা চলতে শুরু বলে 5 পূর্ণসংখ্যার একটি অ্যারের সাথে. 761 00:43:06,640 --> 00:43:08,950 এবং আমরা মধ্য দিয়ে যেতে এবং আমরা করেছি এখন থেকে এটি ডাউন narrowed 762 00:43:08,950 --> 00:43:10,310 2 পূর্ণসংখ্যার একটি অ্যারে. 763 00:43:10,310 --> 00:43:12,160 যে কোনটি 2 ইন্টিজার হয়? 764 00:43:12,160 --> 00:43:15,895 আকার আমরা চাই যে এখন 2 তাকান, কিন্তু যে যা 2 আছে? 765 00:43:15,895 --> 00:43:17,720 যে, যে প্রশ্ন জানার জন্য? 766 00:43:17,720 --> 00:43:18,020 >> ঠিক আছে. 767 00:43:18,020 --> 00:43:19,120 আমি আবার জিজ্ঞাসা করব. 768 00:43:19,120 --> 00:43:26,640 সুতরাং আমরা 5 এই অ্যারের সাথে চলতে শুরু ইন্টিজার, এবং এন অধিকার, 5 সমান? 769 00:43:26,640 --> 00:43:28,050 আমরা এখানে মাধ্যমে রান করব. 770 00:43:28,050 --> 00:43:31,560 আমরা সম্ভবত আকার পরিবর্তন করব, ডান, জিনিষ নেভিগেশন এড়িয়ে যেতে হবে. 771 00:43:31,560 --> 00:43:32,700 যা আমরা আমরা যেতে চাই বলে কি. 772 00:43:32,700 --> 00:43:34,150 আমরা অনুসন্ধান করতে চান না পুরো ব্যাপারটাই আবার. 773 00:43:34,150 --> 00:43:35,480 সুতরাং আমরা 2 থেকে এটি পরিবর্তন বলে. 774 00:43:35,480 --> 00:43:36,970 আমরা বিজোড় যে অর্ধেক তালিকা নিতে. 775 00:43:36,970 --> 00:43:38,800 তাই শুধু 2 বাছাই. 776 00:43:38,800 --> 00:43:40,590 তাই এখন এন 2 সমান. 777 00:43:40,590 --> 00:43:42,780 আমি দরিদ্র জন্য ক্ষমাপ্রার্থী শুষ্ক মুছে ফেলুন চিহ্নিতকারী. 778 00:43:42,780 --> 00:43:43,080 রাইট? 779 00:43:43,080 --> 00:43:45,670 এবং আমরা তালিকা মাধ্যমে অনুসন্ধান করছেন আবার আকার 2 একটি তালিকা. 780 00:43:45,670 --> 00:43:48,580 ওয়েল, আমাদের অ্যারের এখনও আকার 5 হাজার করে. 781 00:43:48,580 --> 00:43:51,920 আমরা আমরা কেবল চান বলে এটা 2 দাগ অনুসন্ধান. 782 00:43:51,920 --> 00:43:53,590 সুতরাং যারা যা 2 দাগ কি? 783 00:43:53,590 --> 00:43:57,640 784 00:43:57,640 --> 00:43:58,815 >> যে জানার জন্য? 785 00:43:58,815 --> 00:44:00,290 তারা বাকি 2 দাগ কি? 786 00:44:00,290 --> 00:44:01,940 তারা অধিকার 2 দাগ কি? 787 00:44:01,940 --> 00:44:03,540 তারা মধ্যম 2 দাগ কি? 788 00:44:03,540 --> 00:44:06,350 আমরা সমস্যা ভাঙ্গা নিচে, কিন্তু আছে আমরা আসলে জানি না যা অংশ 789 00:44:06,350 --> 00:44:11,600 আমরা এখনও এ খুঁজছেন সমস্যা নেই, শুধু এই 2 ভেরিয়েবল না থাকার. 790 00:44:11,600 --> 00:44:16,450 সুতরাং আমরা, আরো তারপর অল্প প্রয়োজন এন হয় 0 থেকে যখন. 791 00:44:16,450 --> 00:44:21,410 আমরা জানতে হবে যে যেখানে এন আমাদের আসল অ্যারের মধ্যে হয়. 792 00:44:21,410 --> 00:44:26,660 >> তাই কেহ একটি আছে এই লাইন পরিবর্তন? 793 00:44:26,660 --> 00:44:27,970 এই লাইন অধিকাংশই হয় পুরোপুরি সঠিক. 794 00:44:27,970 --> 00:44:29,170 অন্য ছাড়াও আছে কি? 795 00:44:29,170 --> 00:44:32,510 আমরা করতে ঢ জন্য কিছু খুঁজে অদলবদল করতে পারেন একটু ভাল এই লাইন করতে? 796 00:44:32,510 --> 00:44:32,865 MM-এইচএম? 797 00:44:32,865 --> 00:44:38,040 >> ছাত্র: আপনি একটি পরিবর্তনশীল আরম্ভ করতে পারি তারপর ব্যবহার করা করব এন করার দৈর্ঘ্য মত 798 00:44:38,040 --> 00:44:39,600 পরে ফাংশন? 799 00:44:39,600 --> 00:44:42,060 >> JASON HIRSCHHORN: তাই আরম্ভ এন করার একটি পরিবর্তনশীল দৈর্ঘ্য, 800 00:44:42,060 --> 00:44:42,900 এবং আমরা যে পরে ব্যবহার? 801 00:44:42,900 --> 00:44:47,070 কিন্তু তারপর আমরা শুধু দৈর্ঘ্য এবং আমরা আপডেট এখনও এই সমস্যা পাতিত যেখানে আমরা 802 00:44:47,070 --> 00:44:51,180 আমাদের সমস্যা দৈর্ঘ্যের কমান, কিন্তু আমরা, আসলে, যেখানে কখনই জানতে 803 00:44:51,180 --> 00:44:52,510 যে দৈর্ঘ্য সম্মুখের মানচিত্র. 804 00:44:52,510 --> 00:44:54,790 >> ছাত্র: যে ঘটতে যাচ্ছে না আপনি বলছে পরে যখন বাকি, অনুসন্ধান 805 00:44:54,790 --> 00:44:55,746 ডান অনুসন্ধান? 806 00:44:55,746 --> 00:44:57,640 আপনি একটি ভিন্ন যেতে চলুন আপনার এলাকা - 807 00:44:57,640 --> 00:44:59,110 >> JASON HIRSCHHORN: আমরা যেতে চলুন একটি এলাকা থেকে, কিন্তু কিভাবে আমরা জানি 808 00:44:59,110 --> 00:45:01,150 যেতে যা কি? 809 00:45:01,150 --> 00:45:03,800 আমরা শুধুমাত্র অ্যারে এবং এই আছে এন, কিভাবে আমরা জানি যেখানে যাও 810 00:45:03,800 --> 00:45:05,050 অ্যারের মধ্যে যেতে. 811 00:45:05,050 --> 00:45:05,900 ফিরে ইন, হ্যাঁ? 812 00:45:05,900 --> 00:45:07,507 >> ছাত্র: আপনি আছে, যেমন, একটি নিম্ন আবদ্ধ এবং একটি ঊর্ধ্ব বাউন্ড ভেরিয়েবল বা 813 00:45:07,507 --> 00:45:08,586 যে ভালো কিছু? 814 00:45:08,586 --> 00:45:09,060 >> JASON HIRSCHHORN: ঠিক আছে. 815 00:45:09,060 --> 00:45:10,780 তাই এই আরেকটি ধারণা. 816 00:45:10,780 --> 00:45:13,490 বরং শুধু সম্পর্কে অবগত থাকার চেয়ে আকার, আমরা কম রাখা এবং 817 00:45:13,490 --> 00:45:14,770 উচ্চ পরিসর পরিবর্তনশীল. 818 00:45:14,770 --> 00:45:17,840 তাই কিভাবে আমরা থেকে আকার নিরূপণ করবেন একটি নিম্ন বাউন্ড এবং বাউন্ড উপরের? 819 00:45:17,840 --> 00:45:18,520 >> [Interposing ভয়েসেস] 820 00:45:18,520 --> 00:45:19,710 >> JASON HIRSCHHORN: বিয়োগ. 821 00:45:19,710 --> 00:45:23,650 এবং এছাড়াও কম সম্পর্কে অবগত থাকার আবদ্ধ এবং উপরের আমাদের জানাতে বাধ্য, 822 00:45:23,650 --> 00:45:26,215 আমরা এই দুটি অনুসন্ধান করা হয়? 823 00:45:26,215 --> 00:45:28,220 আমরা এখানে ধরে এই দুটি অনুসন্ধান? 824 00:45:28,220 --> 00:45:29,540 আমরা মাঝখানে দুটি অনুসন্ধান? 825 00:45:29,540 --> 00:45:32,810 সম্ভবত না মাঝখানে দুই, কারণ এই, আসলে, বাইনারি অনুসন্ধান করা হয়. 826 00:45:32,810 --> 00:45:37,320 কিন্তু এখন আমরা আকার পেতে পারবেন, কিন্তু অ্যারের সীমা. 827 00:45:37,320 --> 00:45:40,020 প্রকৃতরূপে, আমরা আমাদের দৈত্য আছে ফোন বই, আমরা অর্ধেক এটি চেরা. 828 00:45:40,020 --> 00:45:42,990 যে ছোট যেখানে আমরা এখন জানি ফোন বই. 829 00:45:42,990 --> 00:45:45,260 কিন্তু আমরা আসলে চমত্কার করছি না অর্ধেক ফোন বই. 830 00:45:45,260 --> 00:45:48,570 আমরা এখনও জানতে হবে কোথায় আমাদের সমস্যার নতুন সীমার হয়. 831 00:45:48,570 --> 00:45:51,645 কেহ কোন প্রশ্ন আছে যে সম্পর্কে কি? 832 00:45:51,645 --> 00:45:52,440 হ্যাঁ? 833 00:45:52,440 --> 00:45:56,020 >> ছাত্র: এটি একটি তৈরি করে কাজ করবে পরিবর্তনশীল, আমি, আপনি তখন শুধু নামান যে 834 00:45:56,020 --> 00:46:00,770 তার কাছে আমি আপেক্ষিক অবস্থান বর্তমান অবস্থান, এবং দৈর্ঘ্য, এন? 835 00:46:00,770 --> 00:46:01,710 >> JASON HIRSCHHORN: এবং আমি কি? 836 00:46:01,710 --> 00:46:04,110 >> ছাত্র: আমি সাজানোর মত হচ্ছে লেগেছে - 837 00:46:04,110 --> 00:46:08,040 ভালো লেগেছে আপনি আমি হতে আরম্ভ হবে অ্যারের মাঝখানে অবস্থান. 838 00:46:08,040 --> 00:46:12,540 এবং তারপর, যদি অবস্থান এ মান আমি এ পাওয়া এ অ্যারে মাঝখানে 839 00:46:12,540 --> 00:46:17,870 আপনার প্রয়োজনীয় মান কম হবে, এখন আমি অ্যারের দ্বারা হয়ে, প্লাস 840 00:46:17,870 --> 00:46:19,215 তোমার মান 2 দ্বারা বিভক্ত. 841 00:46:19,215 --> 00:46:20,270 ভালো লেগেছে, দেখুন, আপনি আমি নামান - 842 00:46:20,270 --> 00:46:20,770 >> JASON HIRSCHHORN: রাইট. 843 00:46:20,770 --> 00:46:21,165 >> ছাত্র: - পর্যন্ত - 844 00:46:21,165 --> 00:46:24,010 >> JASON HIRSCHHORN: তাই আমি প্রায় am কাজ করবে ইতিবাচক. 845 00:46:24,010 --> 00:46:26,800 কিন্তু বিন্দু হচ্ছে, আপনি দুই দরকার এখানে তথ্য টুকরা. 846 00:46:26,800 --> 00:46:30,050 আপনি আদ্যন্ত সঙ্গে এটি করতে পারেন বা এর পরে মাপ তা করে, এবং পারে 847 00:46:30,050 --> 00:46:31,060 কিছু মার্কার. 848 00:46:31,060 --> 00:46:32,630 তবে আপনি যদি দুই টুকরা প্রয়োজন এখানে তথ্য. 849 00:46:32,630 --> 00:46:34,160 আপনি শুধুমাত্র এক সঙ্গে করে পেতে পারে না. 850 00:46:34,160 --> 00:46:35,830 যে জ্ঞান করে তোলে না? 851 00:46:35,830 --> 00:46:39,560 >> সুতরাং আমরা মধ্য দিয়ে যেতে যাচ্ছে, এবং করছি আমরা কি করতে যাচ্ছেন [শ্রবণাতীত] 852 00:46:39,560 --> 00:46:41,330 এবং কিছু চিহ্নিতকারী তৈরি. 853 00:46:41,330 --> 00:46:42,690 তাই আপনি যদি আপনার কোডে কত ঋণ লিখতে? 854 00:46:42,690 --> 00:46:46,190 >> ছাত্র: আমি ঠিক বলেন int-বাউন্ড এক 0 সমান. 855 00:46:46,190 --> 00:46:47,790 >> JASON HIRSCHHORN: এর কল যাক যে কোন int, প্রারম্ভে. 856 00:46:47,790 --> 00:46:49,140 >> ছাত্র: ওকে. 857 00:46:49,140 --> 00:46:50,590 >> JASON HIRSCHHORN: এটা তোলে আমার জন্য আরো ধারনা. 858 00:46:50,590 --> 00:46:51,670 আর? 859 00:46:51,670 --> 00:46:54,340 >> ছাত্র: আমি শেষ int, আমি অনুমান করে. 860 00:46:54,340 --> 00:46:55,870 >> JASON HIRSCHHORN: শেষ int. 861 00:46:55,870 --> 00:46:57,640 >> ছাত্র: আমি অনুমান, এন বিয়োগ 1 অথবা যে ভালো কিছু. 862 00:46:57,640 --> 00:46:59,100 ভালো লেগেছে, শেষ উপাদান. 863 00:46:59,100 --> 00:47:02,310 >> JASON HIRSCHHORN: সুতরাং আপনি লিখেছেন, int- সমান 0, সেমিকোলন, এবং int-প্রারম্ভে 864 00:47:02,310 --> 00:47:04,320 শেষের এন বিয়োগ 1, সেমিকোলন সমান. 865 00:47:04,320 --> 00:47:06,850 তাই মূলত, আমরা কি করছেন এখানে, প্রথম অবস্থান 0. 866 00:47:06,850 --> 00:47:09,570 আমরা অ্যারে মধ্যে জানি, তারা যেতে না এন আপ, তারা 1 থেকে এন বিয়োগ পর্যন্ত যান. 867 00:47:09,570 --> 00:47:11,110 সুতরাং আমরা আমাদের অ্যারের কিছু ক্ষেত্র আছে. 868 00:47:11,110 --> 00:47:15,730 এবং এই প্রাথমিক সীমার হবে এরকম আমাদের সমস্যা প্রাথমিক কোট. 869 00:47:15,730 --> 00:47:16,640 ঠিক আছে. 870 00:47:16,640 --> 00:47:19,200 সুতরাং যে ভাল শোনাচ্ছে. 871 00:47:19,200 --> 00:47:22,380 তারপর আমরা ফিরে এই লাইন যেতে হলে সময় তালিকার দৈর্ঘ্য, হয় 0 থেকে 872 00:47:22,380 --> 00:47:24,752 কি পরিবর্তে n র, উচিত আমরা এখানে রাখা? 873 00:47:24,752 --> 00:47:28,820 >> ছাত্র: বিয়োগ শুরুতে শেষ লিখুন. 874 00:47:28,820 --> 00:47:34,780 >> JASON HIRSCHHORN: বিয়োগ বিভক্তি যদিও শুরু হয় 0 থেকে? 875 00:47:34,780 --> 00:47:35,480 ঠিক আছে. 876 00:47:35,480 --> 00:47:37,730 এবং আমরা আমরা চেয়েছিলেন, পারা যে একটি বিট nicer, কি 877 00:47:37,730 --> 00:47:38,980 অন্যথায় আমরা যেত না? 878 00:47:38,980 --> 00:47:41,650 879 00:47:41,650 --> 00:47:43,412 আমরা পরিষ্কার করতে চেয়েছিলেন আপ একটি বিট এই কোড? 880 00:47:43,412 --> 00:47:46,716 881 00:47:46,716 --> 00:47:48,180 কিভাবে আমরা 0 পরিত্রাণ পেতে পারি? 882 00:47:48,180 --> 00:47:51,560 883 00:47:51,560 --> 00:47:52,690 এই মাত্র একটি শৈলী প্রশ্ন. 884 00:47:52,690 --> 00:47:53,690 এটা এই মুহূর্তে সঠিক. 885 00:47:53,690 --> 00:47:54,870 >> ছাত্র: শেষ হয় না আছে সমান শুরুতে? 886 00:47:54,870 --> 00:47:55,740 >> JASON HIRSCHHORN: আমরা কি কিছু করতে পারি? 887 00:47:55,740 --> 00:47:56,730 >> [Interposing ভয়েসেস] 888 00:47:56,730 --> 00:47:57,330 >> ছাত্র: Ending বেশী? 889 00:47:57,330 --> 00:47:57,720 >> JASON HIRSCHHORN: হ্যাঁ. 890 00:47:57,720 --> 00:48:01,110 শেষ যখন আমরা ঠিক কি করতে পারেন শুরুতে তার চেয়ে অনেক বেশী. 891 00:48:01,110 --> 00:48:03,580 রাইট. 892 00:48:03,580 --> 00:48:06,240 আমরা অন্য দিকে শুরু যোগ যে, এবং আমরা 0 পরিত্রাণ. 893 00:48:06,240 --> 00:48:08,000 সুতরাং শুধু এই একটি দেখতেও অল্প ক্লিনার. 894 00:48:08,000 --> 00:48:08,990 ঠিক আছে. 895 00:48:08,990 --> 00:48:11,460 তালিকার দৈর্ঘ্য 0 যখন সুতরাং, আমরা লিখেছিলেন যে, শেষ সময় বেশী 896 00:48:11,460 --> 00:48:12,240 শুরুতে তুলনায়. 897 00:48:12,240 --> 00:48:19,840 আমরা আমাদের প্রয়োজনীয় করিয়ে চলুন কোঁকড়া ধনুর্বন্ধনী, এবং তারপর প্রথম জিনিস 898 00:48:19,840 --> 00:48:22,090 আমরা যেতে চাই তাকান হয় একটু তালিকায় তাদের. 899 00:48:22,090 --> 00:48:22,510 আপনি? 900 00:48:22,510 --> 00:48:23,320 আপনি কি আমাকে দিতে পারেন - 901 00:48:23,320 --> 00:48:26,460 >> ছাত্র: যদি লঘুবন্ধনী মূল্য বর্গাকার বন্ধনী - 902 00:48:26,460 --> 00:48:30,450 >> JASON HIRSCHHORN: প্রথম বন্ধনী যদি মূল্য বর্গাকার বন্ধনী. 903 00:48:30,450 --> 00:48:33,210 >> ছাত্র: 2 দ্বারা বিভক্ত শেষ. 904 00:48:33,210 --> 00:48:33,952 >> JASON HIRSCHHORN: Ending? 905 00:48:33,952 --> 00:48:35,280 >> ছাত্র: আমি আপনার সাথে একটি সমস্যা দেখতে - 906 00:48:35,280 --> 00:48:35,750 >> JASON HIRSCHHORN: ঠিক আছে. 907 00:48:35,750 --> 00:48:39,150 ওয়েল, মাঝখানে তাকান. 908 00:48:39,150 --> 00:48:41,226 কিভাবে আমরা মধ্যম কি জানেন? 909 00:48:41,226 --> 00:48:42,450 হ্যাঁ. 910 00:48:42,450 --> 00:48:43,070 তাই আমাকে যে কোড মুছে যাক. 911 00:48:43,070 --> 00:48:46,360 কিভাবে আমরা মধ্যম কি জানেন? 912 00:48:46,360 --> 00:48:48,003 কিছু, আপনি শুরুতে যখন এবং শেষ, কিভাবে আপনি খুজে পাবেন 913 00:48:48,003 --> 00:48:48,876 মাঝখানে? 914 00:48:48,876 --> 00:48:49,590 >> ছাত্র: আপনি গড়. 915 00:48:49,590 --> 00:48:51,820 >> ছাত্র: আপনি জুড়তে একসঙ্গে এবং তারপর - 916 00:48:51,820 --> 00:48:53,150 >> JASON HIRSCHHORN: তাদের যোগ করুন একসঙ্গে এবং তারপর? 917 00:48:53,150 --> 00:48:54,090 >> ছাত্র: এবং যদি আপনি গড়. 918 00:48:54,090 --> 00:48:55,050 2 দ্বারা এটি ভাগ. 919 00:48:55,050 --> 00:48:56,500 >> JASON HIRSCHHORN: তাদের যোগ করুন একসঙ্গে এবং 2 দ্বারা বিভক্ত. 920 00:48:56,500 --> 00:48:59,400 সুতরাং int-মিডিল সমান? 921 00:48:59,400 --> 00:49:01,120 টম, আপনি আমার এটা দিতে পারেন? 922 00:49:01,120 --> 00:49:03,550 >> ছাত্র: প্রারম্ভকালীন প্লাস বিভক্তি - 923 00:49:03,550 --> 00:49:04,950 >> JASON HIRSCHHORN: শুরু প্লাস বিভক্তি. 924 00:49:04,950 --> 00:49:06,880 >> ছাত্র: সমস্ত, বন্ধনী, 2 দ্বারা বিভক্ত. 925 00:49:06,880 --> 00:49:10,940 >> JASON HIRSCHHORN: সকল, প্রথম বন্ধনী, 2 দ্বারা বিভক্ত. 926 00:49:10,940 --> 00:49:16,300 সুতরাং যে আমার মধ্যম দেয় কিছু, সঠিক? 927 00:49:16,300 --> 00:49:18,980 >> ছাত্র: আপনি এটা ধরপাকড় করা প্রয়োজন. 928 00:49:18,980 --> 00:49:19,990 >> JASON HIRSCHHORN: আপনি কি মানে, আমি এটা ধরপাকড় করা প্রয়োজন? 929 00:49:19,990 --> 00:49:20,400 >> [Interposing ভয়েসেস] 930 00:49:20,400 --> 00:49:24,520 >> ছাত্র: কারণ এটি একটি বিজোড় যদি নম্বর তারপর, এটা মত - 931 00:49:24,520 --> 00:49:25,440 >> JASON HIRSCHHORN: আচ্ছা, ঠিক আছে. 932 00:49:25,440 --> 00:49:26,360 তাই আমি এটা ধরপাকড় পারে. 933 00:49:26,360 --> 00:49:33,350 এটি একটি বিজোড় সংখ্যা, একটি 5 এর কিন্তু, যদি আমি করতে পারেন দূরে মধ্যম থেকে 1 নিচ্ছে. 934 00:49:33,350 --> 00:49:35,665 অথবা এটা একটি এমনকি সংখ্যা যদি, বরং, যে একটি ভাল কেস. 935 00:49:35,665 --> 00:49:39,600 এটা 4 এর, আমরা শুধুমাত্র 4 আছে, আমি গ্রহণ করতে পারেন প্রথম "মধ্যম", কোট, উদ্ধতি বা 936 00:49:39,600 --> 00:49:41,760 দ্বিতীয় "মধ্যবিত্ত" এক. 937 00:49:41,760 --> 00:49:46,390 উভয় ক্ষেত্রেই একটি বাইনারি অনুসন্ধান জন্য কাজ করবে, তাই আমি আসলে এটা সুসম্পন্ন করতে হবে না. 938 00:49:46,390 --> 00:49:48,640 কিন্তু অন্য একটি জিনিস আমি নেই এই লাইন তাকান প্রয়োজন. 939 00:49:48,640 --> 00:49:50,530 আমরা এখনো তা বুঝতে পারে না কিন্তু আমরা তা ফিরে আসবো. 940 00:49:50,530 --> 00:49:53,200 এই লাইন আসলে এখনও কারণ অন্য একটি জিনিস প্রয়োজন. 941 00:49:53,200 --> 00:49:55,990 >> কিন্তু এ পর্যন্ত, আমরা লিখিত করেছি কোড চারটি লাইন. 942 00:49:55,990 --> 00:49:58,120 আমরা আমাদের শুরুতে পেয়েছেন এবং চিহ্নিতকারী শেষ. 943 00:49:58,120 --> 00:50:01,320 আমরা ম্যাপের যা আমাদের সময় লুপ, আছে সরাসরি আমাদের pseudocode করতে. 944 00:50:01,320 --> 00:50:05,790 আমরা ম্যাপের যে মাঝখানে এ খুঁজছেন সরাসরি আমাদের pseudocode মধ্যে. 945 00:50:05,790 --> 00:50:09,070 আমি এই মধ্যম যায় বলতে হবে তালিকার, কোড এই লাইন. 946 00:50:09,070 --> 00:50:11,560 এবং তারপর, একবার আমরা মাঝখানে যান তালিকা, আমরা যা করতে হবে পরবর্তী জিনিস 947 00:50:11,560 --> 00:50:14,880 আমাদের মান জন্য যদি চেক করা হয় pseudocode আমরা আগে লিখেছি. 948 00:50:14,880 --> 00:50:17,100 >> তাই কিভাবে আমরা চেক যদি আমাদের মান তালিকা মাঝখানে এ কি? 949 00:50:17,100 --> 00:50:17,300 আপনি. 950 00:50:17,300 --> 00:50:18,511 কেন আপনি এই কাজ না? 951 00:50:18,511 --> 00:50:23,070 >> ছাত্র: আমাদের মান এর যদি মাঝের সময়ে সমান 952 00:50:23,070 --> 00:50:24,592 আমরা সেট যাই হোক না কেন - 953 00:50:24,592 --> 00:50:26,190 আমি সমান সমান মানে - 954 00:50:26,190 --> 00:50:26,690 >> JASON HIRSCHHORN: এটা - 955 00:50:26,690 --> 00:50:27,940 ঠিক আছে. 956 00:50:27,940 --> 00:50:30,080 957 00:50:30,080 --> 00:50:32,170 >> ছাত্র: আমি নিশ্চিত না কি পরিবর্তনশীল আমরা বেরাচ্ছেন 958 00:50:32,170 --> 00:50:32,850 জন্য যদিও, কারণ - 959 00:50:32,850 --> 00:50:33,330 >> [Interposing ভয়েসেস] 960 00:50:33,330 --> 00:50:34,520 >> ছাত্র: [শ্রবণাতীত]. 961 00:50:34,520 --> 00:50:35,060 >> JASON HIRSCHHORN: যথাযথভাবে. 962 00:50:35,060 --> 00:50:37,260 ফাংশন ঘোষণার প্রতি, আমরা একটি মান যা খুঁজছেন. 963 00:50:37,260 --> 00:50:39,760 সুতরাং আমরা একটি মান অনুসন্ধান করছেন মান একটি অ্যারের মধ্যে. 964 00:50:39,760 --> 00:50:41,080 সুতরাং আপনি ঠিক অধিকার. 965 00:50:41,080 --> 00:50:45,040 আপনি চেষ্টা করতে হবে, যদি খোলা paren মূল্য বন্ধনী মাঝখানে বন্ধনী সমান বন্ধ 966 00:50:45,040 --> 00:50:49,930 ভিতরে আছে মান সমান, এবং আমরা কি করতে হবে? 967 00:50:49,930 --> 00:50:51,230 যদি আমাদের মান এর আছে, কি আমরা কি প্রয়োজন? 968 00:50:51,230 --> 00:50:51,420 >> [Interposing ভয়েসেস] 969 00:50:51,420 --> 00:50:52,160 >> ছাত্র: শূন্য ফিরুন. 970 00:50:52,160 --> 00:50:53,070 >> JASON HIRSCHHORN: সত্য ফিরুন. 971 00:50:53,070 --> 00:50:54,790 >> ছাত্র: সত্য ফিরুন. 972 00:50:54,790 --> 00:50:57,856 >> JASON HIRSCHHORN: মাইকেল, এই লাইন কি কাজ করে? 973 00:50:57,856 --> 00:51:01,105 >> ছাত্র: [শ্রবণাতীত] প্রোগ্রাম চালানো হয়েছে তার অবশ্যই, এবং যে শেষ হয়, এবং 974 00:51:01,105 --> 00:51:01,920 আপনি আপনাকে কি করেছি? 975 00:51:01,920 --> 00:51:03,030 >> JASON HIRSCHHORN: প্রোগ্রাম বা কি? 976 00:51:03,030 --> 00:51:03,700 এই ক্ষেত্রে? 977 00:51:03,700 --> 00:51:04,210 >> ছাত্র: ফাংশন. 978 00:51:04,210 --> 00:51:05,170 >> JASON HIRSCHHORN: ফাংশন. 979 00:51:05,170 --> 00:51:08,420 এবং তাই, বলা যাহা ফিরে যাও এটা ও সত্য, এটা মূল্য দিতে. 980 00:51:08,420 --> 00:51:09,890 ঠিক ঠিক. 981 00:51:09,890 --> 00:51:10,170 মুখ্য. 982 00:51:10,170 --> 00:51:12,035 রিটার্ন টাইপ কি মূল হাজার, মাইকেল? 983 00:51:12,035 --> 00:51:16,480 984 00:51:16,480 --> 00:51:17,150 >> ছাত্র: INT, পূর্ণসংখ্যা? 985 00:51:17,150 --> 00:51:18,080 >> JASON HIRSCHHORN: INT, ঠিক. 986 00:51:18,080 --> 00:51:18,680 একটি পূর্ণসংখ্যা. 987 00:51:18,680 --> 00:51:20,980 নিশ্চিত করুন যে শুধু একটি প্রশ্ন ছিল আপনাকে বলছি এটি উপরে হয়েছে. 988 00:51:20,980 --> 00:51:24,250 এটি সাধারণত যদি কি ফিরে না সবকিছুর ভাল কাজ করছে? 989 00:51:24,250 --> 00:51:24,520 >> ছাত্র: জিরো. 990 00:51:24,520 --> 00:51:24,820 >> JASON HIRSCHHORN: জিরো. 991 00:51:24,820 --> 00:51:25,430 ঠিক ঠিক. 992 00:51:25,430 --> 00:51:28,790 >> ছাত্র: এই মাত্র ফেরৎ সত্য হলে, দেওয়া হচ্ছে কোন তথ্য নেই 993 00:51:28,790 --> 00:51:30,675 আমার কি - 994 00:51:30,675 --> 00:51:34,040 ওহ, এই শুধু বলছে না যে যে মান অ্যারের ভিতরে. 995 00:51:34,040 --> 00:51:35,350 >> JASON HIRSCHHORN: যথাযথভাবে. 996 00:51:35,350 --> 00:51:38,080 এই প্রোগ্রামটি তথ্য প্রদান করা হয় না মান ঠিক যেখানে হাজার. 997 00:51:38,080 --> 00:51:41,850 এটা শুধুমাত্র হ্যাঁ, আমরা খুঁজে পাওয়া যায়, এর বলছে এটি, অথবা না, আমরা এটা খুঁজে পাইনি. 998 00:51:41,850 --> 00:51:42,990 সুতরাং সংখ্যা পাওয়া যদি সত্য ফিরে. 999 00:51:42,990 --> 00:51:45,500 ওয়েল, আসলে আমরা ঠিক করেছিলাম যে সত্যিই দ্রুত কোডের যে এক লাইন দিয়ে. 1000 00:51:45,500 --> 00:51:47,500 তাই আমি pseudocode যে লাইন অগ্রসর হবেন. 1001 00:51:47,500 --> 00:51:50,045 >> ছাত্র: আমরা প্রয়োজন না অ্যারের পরিবর্তন? 1002 00:51:50,045 --> 00:51:52,830 এটা অধিকার, মূল্যবোধ, না মান হওয়া উচিত? 1003 00:51:52,830 --> 00:51:53,430 >> JASON HIRSCHHORN: দুঃখিত. 1004 00:51:53,430 --> 00:51:54,010 আপনাকে ধন্যবাদ. 1005 00:51:54,010 --> 00:51:54,800 >> ছাত্র: হ্যাঁ. 1006 00:51:54,800 --> 00:51:55,850 >> JASON HIRSCHHORN: এই লাইন মান হতে হবে. 1007 00:51:55,850 --> 00:51:57,150 ঠিক ঠিক. 1008 00:51:57,150 --> 00:51:57,920 ঠিক আছে. 1009 00:51:57,920 --> 00:51:59,170 সুতরাং আমরা মধ্যম তালিকার দিকে তাকিয়ে করেছি. 1010 00:51:59,170 --> 00:52:00,790 নম্বর পাওয়া ফেরত সত্য হলে. 1011 00:52:00,790 --> 00:52:04,470 যদি আমাদের pseudocode সাথে নেভিগেশন অব্যাহত মধ্যম বেশী, অনুসন্ধান বাকি. 1012 00:52:04,470 --> 00:52:09,640 সুতরাং যদি আমি এখানে ছিল সংখ্যা উচ্চতর, অনুসন্ধান বাকি. 1013 00:52:09,640 --> 00:52:12,700 1014 00:52:12,700 --> 00:52:14,462 কনস্টান্টটাইন, আপনি দিতে পারেন আমার কোড এই লাইন? 1015 00:52:14,462 --> 00:52:17,240 1016 00:52:17,240 --> 00:52:23,520 >> ছাত্র: মধ্যম মধ্যে যদি মান - 1017 00:52:23,520 --> 00:52:24,890 >> JASON HIRSCHHORN: তাই মান যদি - 1018 00:52:24,890 --> 00:52:28,890 খোলা paren বন্ধনী মান যদি মাঝখানে বন্ধ বন্ধনী - 1019 00:52:28,890 --> 00:52:31,500 >> ছাত্র: মূল্য চেয়ে ছোট হয়? 1020 00:52:31,500 --> 00:52:32,760 >> JASON HIRSCHHORN: কম. 1021 00:52:32,760 --> 00:52:33,800 >> ছাত্র: মান কম. 1022 00:52:33,800 --> 00:52:34,060 >> JASON HIRSCHHORN: ভ্যালু. 1023 00:52:34,060 --> 00:52:35,310 ভাল, আসলে, আপনি চান নম্বর চেক - 1024 00:52:35,310 --> 00:52:38,310 1025 00:52:38,310 --> 00:52:38,490 দুঃখিত. 1026 00:52:38,490 --> 00:52:39,140 এই একটু বিভ্রান্ত হয়. 1027 00:52:39,140 --> 00:52:43,920 কিন্তু অন্য হলে এ সংখ্যা তালিকা মাঝখানে বেশী. 1028 00:52:43,920 --> 00:52:45,170 >> ছাত্র: ঠিক আছে, ওহ. 1029 00:52:45,170 --> 00:52:49,800 1030 00:52:49,800 --> 00:52:50,410 >> JASON HIRSCHHORN: আমি যে পরিবর্তন করব. 1031 00:52:50,410 --> 00:52:55,060 মধ্যম বেশী অন্যথায়, আমরা ঠিক আছে, বাম অনুসন্ধান করতে চান? 1032 00:52:55,060 --> 00:52:57,310 এবং আমরা ভিতরে কি করবেন এই অবস্থা তাহলে কি হবে? 1033 00:52:57,310 --> 00:53:03,660 1034 00:53:03,660 --> 00:53:07,510 >> ছাত্র: আমি একটি ছোট পরিবর্তন করা যাবে না যদি অবস্থা, অন্য এটি পরিবর্তন? 1035 00:53:07,510 --> 00:53:08,380 >> JASON HIRSCHHORN: যদি অন্য? 1036 00:53:08,380 --> 00:53:09,270 ঠিক আছে. 1037 00:53:09,270 --> 00:53:12,840 তাই এই কোড এক্সিকিউট হবে একই বিষয়ে. 1038 00:53:12,840 --> 00:53:18,620 কিন্তু অন্য, যদি ব্যবহার সম্পর্কে চমৎকার ব্যাপার , যদি বা যদি অন্য অন্য, যদি অন্য, যদি 1039 00:53:18,620 --> 00:53:22,320 যাদের মধ্যে শুধুমাত্র একটি যাচ্ছে যে মানে চেক করা, না তাদের সব তিনটি, 1040 00:53:22,320 --> 00:53:23,290 সম্ভাব্য. 1041 00:53:23,290 --> 00:53:25,530 এবং যে এটি একটি সামান্য বিট করে তোলে যে কম্পিউটারে nicer 1042 00:53:25,530 --> 00:53:26,670 আপনার প্রোগ্রাম. 1043 00:53:26,670 --> 00:53:27,620 >> সুতরাং [? কনস্টান্টটাইন,?] 1044 00:53:27,620 --> 00:53:31,330 আমরা মানের হলে অন্য, এই লাইন ভিতরে করছি বন্ধনী মাঝখানে বন্ধ বন্ধনী 1045 00:53:31,330 --> 00:53:32,260 মূল্য তার চেয়ে অনেক বেশী. 1046 00:53:32,260 --> 00:53:33,150 আমরা কি করতে চাই? 1047 00:53:33,150 --> 00:53:33,970 আমরা বাম অনুসন্ধান করা প্রয়োজন. 1048 00:53:33,970 --> 00:53:35,220 আমরা যে কিভাবে করব? 1049 00:53:35,220 --> 00:53:46,960 1050 00:53:46,960 --> 00:53:48,720 আমি আপনাকে একটি শুরুর দিতে যাচ্ছি. 1051 00:53:48,720 --> 00:53:52,210 >> আমরা নামক এই দুটি জিনিস আছে শুরু ও শেষ. 1052 00:53:52,210 --> 00:53:57,340 তাই কি ঘটতে প্রয়োজন শুরুতে? 1053 00:53:57,340 --> 00:53:59,640 আপনি বাঁদিকে অনুসন্ধান করতে চান তালিকা, আমরা আমাদের বর্তমান শুরুতে পেতে. 1054 00:53:59,640 --> 00:54:01,080 আমরা কি তা করতে প্রয়োজন? 1055 00:54:01,080 --> 00:54:04,220 >> ছাত্র: আমরা শুরুতে সেট মাঝখানে প্লাস 1 থেকে. 1056 00:54:04,220 --> 00:54:05,120 >> JASON HIRSCHHORN: সুতরাং আমরা যদি বাম খুঁজছেন? 1057 00:54:05,120 --> 00:54:06,250 >> ছাত্র: দুঃখিত, মধ্যম বিয়োগ - 1058 00:54:06,250 --> 00:54:11,310 তাই শেষের মধ্যম হবে বিয়োগ 1 এবং শুরুতে - 1059 00:54:11,310 --> 00:54:12,450 >> JASON HIRSCHHORN: এবং কি শুরুতে কি হবে? 1060 00:54:12,450 --> 00:54:13,210 >> ছাত্র: এটা একই থাকে. 1061 00:54:13,210 --> 00:54:14,120 >> JASON HIRSCHHORN: তাই অর্থ একই থাকে. 1062 00:54:14,120 --> 00:54:16,040 আমরা বাম অনুসন্ধান করছেন, আমরা করছি একই শুরুতে ব্যবহার করে - 1063 00:54:16,040 --> 00:54:16,860 ঠিক অধিকার. 1064 00:54:16,860 --> 00:54:17,870 এবং শেষ? 1065 00:54:17,870 --> 00:54:19,390 দুঃখিত, কি আছে আবার সমান বিভক্তি? 1066 00:54:19,390 --> 00:54:20,750 >> ছাত্র: মধ্যম বিয়োগ 1. 1067 00:54:20,750 --> 00:54:21,620 >> JASON HIRSCHHORN: মধ্যম বিয়োগ 1. 1068 00:54:21,620 --> 00:54:23,470 এখন, কেন বিয়োগ 1, মধ্যম ঠিক না? 1069 00:54:23,470 --> 00:54:32,870 1070 00:54:32,870 --> 00:54:35,570 >> ছাত্র: মধ্যম গেছে আমরা ছিল, কারণ ইতিমধ্যেই ছবি 1071 00:54:35,570 --> 00:54:36,700 এটি যে চেক করা? 1072 00:54:36,700 --> 00:54:37,630 >> JASON HIRSCHHORN: যে ঠিক অধিকার. 1073 00:54:37,630 --> 00:54:38,580 মাঝখানে ছবি বাইরে. 1074 00:54:38,580 --> 00:54:39,800 আমরা ইতিমধ্যে মধ্যম চেক করা. 1075 00:54:39,800 --> 00:54:44,730 তাই আমরা ", মধ্যম" উদ্ধৃতি চাই না উদ্ধতি, হতে অবিরত 1076 00:54:44,730 --> 00:54:46,110 আমরা খুঁজছেন যে অ্যারে. 1077 00:54:46,110 --> 00:54:47,670 তাই এই কল্পনাপ্রসূত. 1078 00:54:47,670 --> 00:54:50,670 >> অন্য মান বন্ধনী মধ্যম বৃহত্তর যদি মান সমান শেষ বেশী 1079 00:54:50,670 --> 00:54:51,920 মধ্যম বিয়োগ 1. 1080 00:54:51,920 --> 00:54:55,060 1081 00:54:55,060 --> 00:54:57,340 জেফ, কি এই শেষ লাইন সম্পর্কে কি? 1082 00:54:57,340 --> 00:54:58,590 >> ছাত্র: অন্য. 1083 00:54:58,590 --> 00:55:02,486 1084 00:55:02,486 --> 00:55:06,000 মূল্যবোধ মধ্যম মান কম হয়? 1085 00:55:06,000 --> 00:55:07,570 >> JASON HIRSCHHORN: আমরা করব আপনি অন্য আমাকে প্রদান করছি. 1086 00:55:07,570 --> 00:55:09,310 আপনি কি আমাকে দিতে না যদি তাই - 1087 00:55:09,310 --> 00:55:12,270 >> ছাত্র: আমি তখন থেকেই শুরু মাঝখানে প্লাস 1 হবে. 1088 00:55:12,270 --> 00:55:16,100 1089 00:55:16,100 --> 00:55:19,070 >> JASON HIRSCHHORN: প্রারম্ভকালীন সমান মাঝখানে প্লাস 1, আবার, জন্য একই 1090 00:55:19,070 --> 00:55:20,820 কারণ যে কনস্টান্টটাইন তার আগে আমাদের দিয়েছেন. 1091 00:55:20,820 --> 00:55:24,280 এবং শেষে, যিনি দেওয়া হয় নি এখনো আমার কোড একটি লাইন? 1092 00:55:24,280 --> 00:55:26,600 মিথ্যা, Aleha, ফিরে কি আমরা এখানে লিখুন? 1093 00:55:26,600 --> 00:55:28,590 >> ছাত্র: মিথ্যা ফিরে. 1094 00:55:28,590 --> 00:55:29,320 >> JASON HIRSCHHORN: মিথ্যা ফিরে. 1095 00:55:29,320 --> 00:55:33,340 এবং আমরা যে কি প্রয়োজন, কারণ যদি আমরা সেটা খুঁজে না, আমরা আমরা বলতে প্রয়োজন 1096 00:55:33,340 --> 00:55:34,080 এটা খুঁজে পাইনি. 1097 00:55:34,080 --> 00:55:36,270 এবং আমরা আমরা ফিরে যাচ্ছেন বলেন একটি bool, তাই আমরা স্পষ্টভাবে প্রত্যাবর্তন করতে হবে 1098 00:55:36,270 --> 00:55:38,150 একটি bool কোথাও. 1099 00:55:38,150 --> 00:55:42,590 >> তাই আসুন এই কোড রান করা. 1100 00:55:42,590 --> 00:55:44,520 আসলে আমি যাচ্ছি - 1101 00:55:44,520 --> 00:55:45,930 তাই আমরা টার্মিনাল মধ্যে আছেন. 1102 00:55:45,930 --> 00:55:47,230 আমরা আমাদের জানালা পরিষ্কার করব. 1103 00:55:47,230 --> 00:55:49,270 এর সব করা যাক. 1104 00:55:49,270 --> 00:55:50,340 আমরা এক ত্রুটি আছে বলে চিহ্নিত করেছেন. 1105 00:55:50,340 --> 00:55:54,280 আশা লাইন 15 একটি ত্রুটি আছে, শেষে সেমিকোলন 1106 00:55:54,280 --> 00:55:54,890 ঘোষণা. 1107 00:55:54,890 --> 00:55:56,454 তাই আমি কি ভুলে নি? 1108 00:55:56,454 --> 00:55:57,230 >> ছাত্র: সেমিকোলন. 1109 00:55:57,230 --> 00:56:00,200 >> JASON HIRSCHHORN: সেমিকোলন এখানে ডান আপ. 1110 00:56:00,200 --> 00:56:00,950 আমি যে টম এর কোড ছিল. 1111 00:56:00,950 --> 00:56:01,870 সুতরাং টম, [শ্রবণাতীত]. 1112 00:56:01,870 --> 00:56:03,120 শুধু নিশ্চয়ই মজা. 1113 00:56:03,120 --> 00:56:05,010 1114 00:56:05,010 --> 00:56:07,310 এর সব আবার করতে না দেওয়া. 1115 00:56:07,310 --> 00:56:10,180 >> ছাত্র: কি ড্রপবক্স ডিরেক্টরি আমরা এই জন্য করা উচিত? 1116 00:56:10,180 --> 00:56:11,345 >> JASON HIRSCHHORN: তাই আপনি যা করতে পারেন শুধু এই বিট জন্য ঘড়ি. 1117 00:56:11,345 --> 00:56:16,380 কিন্তু আবার, আপনি এই সরাতে চেয়েছিলেন চেষ্টা করুন আপনার pset3 ডিরেক্টরিতে কোড 1118 00:56:16,380 --> 00:56:17,050 এটি, যে আমি কি. 1119 00:56:17,050 --> 00:56:18,600 আপনি এখানে বিজ্ঞপ্তি পাবেন যদি - দুঃখিত, ভাল প্রশ্ন. 1120 00:56:18,600 --> 00:56:19,460 >> [? নির্মিত LS,?] 1121 00:56:19,460 --> 00:56:24,700 আমি এখানে আছে find.c কোড এই সপ্তাহের ডিস্ট্রো কোড থেকে. 1122 00:56:24,700 --> 00:56:26,300 আমি helpers.h আছে. 1123 00:56:26,300 --> 00:56:30,010 আমি যে আমি আসলে একটি করুন ফাইল আছে এই নতুন অন্তর্ভুক্ত একটু সম্পাদনা 1124 00:56:30,010 --> 00:56:30,710 আমরা লেখার ফাইল. 1125 00:56:30,710 --> 00:56:34,120 যে কোড সব, পাওয়া না হবে ডিস্ট্রিবিউশন কোড, কিন্তু নতুন 1126 00:56:34,120 --> 00:56:39,510 ফাইল করা, নতুন helpers.h ফাইল হবে ডাউনলোডের জন্য অনলাইন উপলব্ধ করা. 1127 00:56:39,510 --> 00:56:41,800 আবার, তাই যারা হয় অতিরিক্ত কোড আমরা আছে. 1128 00:56:41,800 --> 00:56:46,130 >> তাই সব করতে, এই লাইন প্রতি,, খুঁজে তোলে বাইনারি, বুদ্বুদ নির্বাচন - তোলে 1129 00:56:46,130 --> 00:56:50,930 সব তাদের তিনটি এবং মধ্যে প্রনয়ন এই এক্সিকিউটেবল কোড খুঁজে. 1130 00:56:50,930 --> 00:56:54,090 তাই সাধারণভাবে, আমরা চাই না সোজা check50 করতে করতে. 1131 00:56:54,090 --> 00:56:57,580 আমরা আমাদের নিজেদের উপর কিছু পরীক্ষা চালাতে চান. 1132 00:56:57,580 --> 00:57:11,750 কিন্তু ঠিক তাই আমরা, এই একটু সুবিধাযুক্ত পারেন check50 2013 pset3.find পাস হবে 1133 00:57:11,750 --> 00:57:14,630 আমার খারাপ - helpers.c ইন. 1134 00:57:14,630 --> 00:57:16,050 >> আমি এই মুহূর্তে যে নেই. 1135 00:57:16,050 --> 00:57:20,670 সুতরাং আমরা আসলে চলুন বাস্তব জন্য কোড রান. 1136 00:57:20,670 --> 00:57:23,570 Usage.find /, আপনি যে মানে কি জানেন? 1137 00:57:23,570 --> 00:57:25,970 >> ছাত্র: আপনি একটি দ্বিতীয় প্রয়োজন এটি কমান্ড লাইন. 1138 00:57:25,970 --> 00:57:26,980 >> JASON HIRSCHHORN: আমি প্রয়োজন একটি দ্বিতীয় কমান্ড লাইন. 1139 00:57:26,980 --> 00:57:30,640 এবং স্পেসিফিকেশন প্রতি, আমি প্রয়োজন আমরা যা খুঁজছেন তা লিখুন. 1140 00:57:30,640 --> 00:57:33,750 সুতরাং আসুন 42 জন্য চেহারা. 1141 00:57:33,750 --> 00:57:37,030 আমরা সাজানো রাখবেন করব, কারণ আমরা এখনো কেমন ফাংশন লেখা হয় নি - 1142 00:57:37,030 --> 00:57:41,830 42, 43, 44. 1143 00:57:41,830 --> 00:57:46,240 >> এবং নিয়ন্ত্রণ ডি খুঁজে পাইনি খড়ের গাদা সুই. 1144 00:57:46,240 --> 00:57:46,505 এটা খারাপ. 1145 00:57:46,505 --> 00:57:47,200 এটা স্পষ্টভাবে আছে. 1146 00:57:47,200 --> 00:57:48,090 এর অন্য কিছু চেষ্টা করুন. 1147 00:57:48,090 --> 00:57:49,860 আমি রাখা হয়তো এর কারণ শুরুতে এটি. 1148 00:57:49,860 --> 00:57:54,490 >> এর 41, 42, 43 করুক না. 1149 00:57:54,490 --> 00:57:55,012 এখন পর্যন্ত আমরা যেতে. 1150 00:57:55,012 --> 00:57:56,400 এটা এটি পাওয়া গেছে. 1151 00:57:56,400 --> 00:58:00,040 এর ঠিক, এখন শেষে এটা করা যাক তাই আমরা পুঙ্খানুপুঙ্খ হতে পারে - 1152 00:58:00,040 --> 00:58:03,580 40, 41, 42. 1153 00:58:03,580 --> 00:58:05,760 সুই খুঁজে না. 1154 00:58:05,760 --> 00:58:07,550 তাই আমি এই পূর্বে উল্লিখিত. 1155 00:58:07,550 --> 00:58:08,980 দুর্ভাগ্যবশত, আমি এই জানত ঘটতে যাচ্ছে. 1156 00:58:08,980 --> 00:58:11,490 >> কিন্তু প্রাতিষ্ঠানিক উদ্দেশ্যে, তা অন্বেষণ করা ভাল. 1157 00:58:11,490 --> 00:58:12,990 এটা কাজ করে না. 1158 00:58:12,990 --> 00:58:16,020 কোন এক কারণে, তা খুঁজে পাচ্ছি না. 1159 00:58:16,020 --> 00:58:18,970 আমরা সেখানে কি জানি, কিন্তু আমরা তা খুঁজে বের করা হয় না. 1160 00:58:18,970 --> 00:58:24,140 সুতরাং আমরা যেত না এক জিনিস দিয়ে যেতে হয় GDB, সেটা খুঁজে, কিন্তু কেহ না করতে 1161 00:58:24,140 --> 00:58:27,850 GDB মাধ্যমে যাওয়া ছাড়া, আছে একটি আমরা মাতাল আপ যেখানে অর্থে? 1162 00:58:27,850 --> 00:58:28,480 [? Madu? ?] 1163 00:58:28,480 --> 00:58:30,960 >> ছাত্র: আমি এটা শেষ হতে পারে যখন মনে শুরুতে সমান, এবং এটি 1164 00:58:30,960 --> 00:58:33,090 শুধু এক উপাদান তালিকা. 1165 00:58:33,090 --> 00:58:35,560 তারপর এটা শুধু পরিবর্তে এটি উপেক্ষা এর আসলে এটি চেক. 1166 00:58:35,560 --> 00:58:36,940 >> JASON HIRSCHHORN: যে ঠিক অধিকার. 1167 00:58:36,940 --> 00:58:41,110 শেষের শুরুতে সমান হলে, আমরা কি এখনো আমাদের তালিকায় একটি উপাদান আছে? 1168 00:58:41,110 --> 00:58:42,480 >> ছাত্র: হ্যাঁ. 1169 00:58:42,480 --> 00:58:45,450 >> JASON HIRSCHHORN: হ্যাঁ, আসলে, আমরা এক এবং একমাত্র এক উপাদান আছে. 1170 00:58:45,450 --> 00:58:50,500 এবং যে সম্ভবত যখন ঘটবে, আমরা পরীক্ষিত কোড প্রতি, আমরা হয় 1171 00:58:50,500 --> 00:58:54,640 খড়ের গাদা বা অগ্রে খড়ের গাদা শেষে. 1172 00:58:54,640 --> 00:58:56,000 যেখানে শুরুতে এবং যে শেষের সমান হবে 1173 00:58:56,000 --> 00:58:57,820 বাইনারি অনুসন্ধান সঙ্গে এক,. 1174 00:58:57,820 --> 00:59:01,440 তাই ঐ দুটি ক্ষেত্রেই এটা কাজ করে নি, বিভক্তি কারণ শুরুতে সমান ছিল. 1175 00:59:01,440 --> 00:59:06,030 >> কিন্তু শেষ হলে, শুরুতে সমান এই সময় লুপ চালানো হয়? 1176 00:59:06,030 --> 00:59:06,390 এটা না. 1177 00:59:06,390 --> 00:59:08,660 এবং আমরা চেক করা হতে পারে যে আবার GDB মাধ্যমে. 1178 00:59:08,660 --> 00:59:14,000 তাই কিভাবে আমরা এই কোড ঠিক করতে পারবো কারণ শেষ যখন সমান হলে 1179 00:59:14,000 --> 00:59:16,070 শুরুতে, আমরা এই চাই লুপ চালানোর সময়. 1180 00:59:16,070 --> 00:59:18,620 >> তাই আমরা 18 রেখায় কি ফিক্স করতে পারেন? 1181 00:59:18,620 --> 00:59:21,060 >> ছাত্র: [শ্রবণাতীত] বেশী বেশী বা সমান. 1182 00:59:21,060 --> 00:59:21,700 >> JASON HIRSCHHORN: ঠিক ঠিক. 1183 00:59:21,700 --> 00:59:24,600 শেষের চেয়ে অনেক বেশী সময় অথবা শুরুতে সমান. 1184 00:59:24,600 --> 00:59:27,300 তাই এখন আমরা যে পেতে নিশ্চিত করুন শেষে কোণার কেস. 1185 00:59:27,300 --> 00:59:27,870 আর দেখুন. 1186 00:59:27,870 --> 00:59:29,560 এর এই এক আরো সময় চালানো যাক. 1187 00:59:29,560 --> 00:59:31,266 >> এর সব করা যাক. 1188 00:59:31,266 --> 00:59:33,910 আবার, আপনি করতে হবে মাত্র এখানে বরাবর অনুসরণ. 1189 00:59:33,910 --> 00:59:36,280 41 এই সময় বের করুন. 1190 00:59:36,280 --> 00:59:37,360 শুধু এটি সঙ্গতিপূর্ণ রাখতে. 1191 00:59:37,360 --> 00:59:38,210 >> 42 খুঁজুন. 1192 00:59:38,210 --> 00:59:38,930 এর শুরুতে এটা করা যাক - 1193 00:59:38,930 --> 00:59:41,630 42, 43, 44. 1194 00:59:41,630 --> 00:59:42,860 আমরা এটি পাওয়া গেছে. 1195 00:59:42,860 --> 00:59:47,710 সুতরাং যে সত্যিই পরিবর্তন হয়েছে আমরা করা প্রয়োজন. 1196 00:59:47,710 --> 00:59:51,090 >> আমরা কোডিং অনেক ছিল শুধু, বাইনারি অনুসন্ধান করেনি. 1197 00:59:51,090 --> 00:59:55,760 কেহ আগে কোন প্রশ্ন আছে আমি মনে করি আমরা লিখেছে ভাগে যান 1198 00:59:55,760 --> 00:59:58,750 বাইনারি অনুসন্ধান বা কিভাবে আমরা মূর্ত আমরা চিন্তা কি কি? 1199 00:59:58,750 --> 01:00:01,900 1200 01:00:01,900 --> 01:00:06,270 আমরা এগিয়ে যেতে আগে, আমি আরো নির্দেশ করতে চান যে করে এবং বড় আউট, আমরা ম্যাপ 1201 01:00:06,270 --> 01:00:09,300 আমাদের ছদ্ম - কোড একটিতে আমাদের কোড সম্মুখের এক. 1202 01:00:09,300 --> 01:00:11,550 >> আমরা যে চতুর জিনিস আছে কি সঙ্গে চিন্তা করা 1203 01:00:11,550 --> 01:00:12,890 শুরু ও শেষ. 1204 01:00:12,890 --> 01:00:17,380 তবে আপনি যদি আপনি, যে মূর্ত আউট না অনেক সুন্দর লেখা হবে 1205 01:00:17,380 --> 01:00:20,740 অভিন্ন কোড, জন্য সংরক্ষণ যারা উপরের দুই লাইন. 1206 01:00:20,740 --> 01:00:23,380 এবং তারপর আপনি বুঝতে হবে যখন আপনি চেক এবং ক্ষেত্রে এটি যে 1207 01:00:23,380 --> 01:00:24,840 আপনি অন্য কিছু প্রয়োজন. 1208 01:00:24,840 --> 01:00:28,510 আপনি অনুসরণ করে তাই এমনকি যদি আমাদের লাইন ছদ্ম - কোড লাইন, আপনি করেছি হবে 1209 01:00:28,510 --> 01:00:31,130 দুই লাইন কিন্তু সব অর্জিত আপনি লিখতে প্রয়োজন কোড. 1210 01:00:31,130 --> 01:00:33,900 >> এবং আমি বাজি ধরতে রাজী হবেন যে আপনাকে বলছি সব যে মূর্ত আউট হবে 1211 01:00:33,900 --> 01:00:37,940 প্রশংসনীয় দ্রুত, আপনি রাখা প্রয়োজন যে মার্কার কিছু বাছাই সেখানে চিত্র 1212 01:00:37,940 --> 01:00:39,190 আপনি ছিল যেখানে খুঁজে. 1213 01:00:39,190 --> 01:00:41,540 1214 01:00:41,540 --> 01:00:44,550 এটা আবার, কাজ শক্তি তাদের পুরস্কার কোড এগিয়ে সময়. 1215 01:00:44,550 --> 01:00:47,310 সুতরাং আমরা তারপর প্রথম যুক্তি কি, এবং পারেন আমরা বাক্য গঠন সম্পর্কে চিন্তা করতে পারেন. 1216 01:00:47,310 --> 01:00:51,470 >> আমরা যুক্তি সম্পর্কে বিভ্রান্ত করা হয়েছে যখন সি এই কোড লিখতে চেষ্টা, 1217 01:00:51,470 --> 01:00:53,110 আমরা সব তছনছ আপ অর্জিত হবে. 1218 01:00:53,110 --> 01:00:56,340 এবং তারপর আমরা সম্পর্কে প্রশ্ন জিজ্ঞাসা করা চাই যুক্তিবিজ্ঞান এবং বাক্য গঠন এবং meshing 1219 01:00:56,340 --> 01:00:57,320 একসঙ্গে তাদের সব. 1220 01:00:57,320 --> 01:01:02,170 এবং আমরা হারিয়ে অর্জিত হবে দ্রুত একটি হতে পারে কি 1221 01:01:02,170 --> 01:01:04,000 খুব কঠিন সমস্যা. 1222 01:01:04,000 --> 01:01:08,680 তাই আসুন এখন যান যাক নির্বাচন সাজানোর জন্য. 1223 01:01:08,680 --> 01:01:10,760 >> আমরা বাকি 20 মিনিট আছে. 1224 01:01:10,760 --> 01:01:14,130 তাই আমি মনে করি আমরা করতে পারবে না একটা অনুভূতি আছে নির্বাচন সাজানোর সব মাধ্যমে পেতে 1225 01:01:14,130 --> 01:01:15,940 এবং বুদ্বুদ সাজানোর. 1226 01:01:15,940 --> 01:01:20,670 কিন্তু আমাদের অন্তত চেষ্টা করা যাক নির্বাচন সাজানোর শেষ. 1227 01:01:20,670 --> 01:01:23,540 সুতরাং সাজানোর ব্যবহার করে নির্বাচন বাস্তবায়ন ফাংশন ঘোষণা নিম্নলিখিত. 1228 01:01:23,540 --> 01:01:27,530 >> আবার, এই থেকে নেওয়া হয় সমস্যা স্পেসিফিকেশন সেট. 1229 01:01:27,530 --> 01:01:31,560 আন্তর্জাতিক মান বন্ধনী, হয় হয় পূর্ণসংখ্যার একটি অ্যারে. 1230 01:01:31,560 --> 01:01:33,490 আর int.n যে অ্যারের আকার. 1231 01:01:33,490 --> 01:01:36,840 নির্বাচন সাজানোর যাচ্ছে এই অ্যারে বাছাই. 1232 01:01:36,840 --> 01:01:43,580 >> নির্বাচন আমাদের মানসিক মডেল প্রতি তাই সাজানোর, আমরা টান - 1233 01:01:43,580 --> 01:01:47,720 প্রথমত, আমরা তালিকা মাধ্যমে প্রথম যান সময়, সবচেয়ে ছোট সংখ্যাটি খুঁজে, 1234 01:01:47,720 --> 01:01:52,860 শুরুতে এটা করা, দ্বিতীয় খুঁজে ক্ষুদ্রতম সংখ্যা, এটা করা 1235 01:01:52,860 --> 01:01:56,380 আমরা চাই দ্বিতীয় স্থান আরোহী ক্রমানুসারে সাজানোর. 1236 01:01:56,380 --> 01:01:58,440 আমি আপনাকে লিখতে বাধ্য করছি না তাদের পুরস্কার কোড মুহূর্তে. 1237 01:01:58,440 --> 01:02:01,350 >> কিন্তু আমরা একটি বর্গ হিসাবে কোড কাজের আগে পাঁচ মিনিট, আমরা লিখতে যাচ্ছি 1238 01:02:01,350 --> 01:02:03,550 ছদ্ম - কোড, তাই আমরা কিছু ধারনা আছে এর যেখানে আমরা চলুন. 1239 01:02:03,550 --> 01:02:05,630 তাই ছদ্ম - কোড লিখুন করার প্রচেষ্টা আপনার নিজের উপর. 1240 01:02:05,630 --> 01:02:08,610 এবং তারপর যে চালু করার প্রচেষ্টা কোড মধ্যে ছদ্ম - কোড. 1241 01:02:08,610 --> 01:02:10,740 আমরা একটি দল হিসেবে তা করতে হবে পাঁচ মিনিটের মধ্যে. 1242 01:02:10,740 --> 01:02:32,560 1243 01:02:32,560 --> 01:02:33,895 >> এবং অবশ্যই, আমাকে যদি যদি আপনার কোন প্রশ্ন থাকে. 1244 01:02:33,895 --> 01:03:56,738 1245 01:03:56,738 --> 01:03:58,230 >> ছাত্র: এটা যে? 1246 01:03:58,230 --> 01:04:00,280 >> JASON HIRSCHHORN: কতদূর আপনি দেখুন আরো দুটি মিনিটের মধ্যে পেতে পারেন. 1247 01:04:00,280 --> 01:04:01,790 আমি আপনি না করবে বুঝতে শেষ করতে পারবেন. 1248 01:04:01,790 --> 01:04:03,050 কিন্তু আমরা একটি দল হিসেবে এই উপর যেতে হবে. 1249 01:04:03,050 --> 01:04:57,830 1250 01:04:57,830 --> 01:05:00,630 >> আপনি সমস্ত [শ্রবণাতীত] তাই কোডিং করছি, তাই আমি আছি আপনি কি করছেন বিরতি দুঃখিত. 1251 01:05:00,630 --> 01:05:02,530 কিন্তু এর একটি গ্রুপ হিসাবে এই মাধ্যমে যান. 1252 01:05:02,530 --> 01:05:07,590 এবং আবার, বাইনারি অনুসন্ধান, আপনি সমস্ত দেবে আমার এক কোডের আরো লাইনের না হলে. 1253 01:05:07,590 --> 01:05:08,530 যে জন্য আপনাকে ধন্যবাদ. 1254 01:05:08,530 --> 01:05:11,730 আমরা একই জিনিস করে যাচ্ছেন এখানে, একটি গ্রুপ হিসাবে একসঙ্গে কোড. 1255 01:05:11,730 --> 01:05:15,170 >> তাই নির্বাচন সাজানোর - এর লিখুন কিছু দ্রুত ছদ্ম - কোড. 1256 01:05:15,170 --> 01:05:20,380 মানসিক মডেল প্রতি, কেউ আমাকে দিতে পারেন ছদ্ম - কোড প্রথম লাইন, দয়া করে? 1257 01:05:20,380 --> 01:05:23,000 1258 01:05:23,000 --> 01:05:24,270 আমি কি করতে চান? 1259 01:05:24,270 --> 01:05:27,070 >> ছাত্র: যদিও তালিকা যাতে বাইরে. 1260 01:05:27,070 --> 01:05:30,630 >> JASON HIRSCHHORN: ঠিক আছে, যখন তালিকার ক্রম গেছে. 1261 01:05:30,630 --> 01:05:33,540 এবং যদি আপনি "অর্ডার আউট?" কি বোঝাতে চেয়েছেন 1262 01:05:33,540 --> 01:05:34,960 >> ছাত্র: যদিও [শ্রবণাতীত] 1263 01:05:34,960 --> 01:05:36,210 সাজানো হয় নি. 1264 01:05:36,210 --> 01:05:38,460 1265 01:05:38,460 --> 01:05:40,290 >> JASON HIRSCHHORN: যদিও তালিকা যাতে বাইরে, আমরা কি করব? 1266 01:05:40,290 --> 01:05:44,200 আমার দ্বিতীয় লাইন দিন, দয়া করে, মার্কাস. 1267 01:05:44,200 --> 01:05:47,186 >> ছাত্র: তাই পরবর্তী খুঁজে সবচেয়ে ছোট সংখ্যা. 1268 01:05:47,186 --> 01:05:49,000 এই সংভৃত করা হবে. 1269 01:05:49,000 --> 01:05:55,140 >> JASON HIRSCHHORN: তাই খুঁজে পরবর্তী সবচেয়ে ছোট সংখ্যা. 1270 01:05:55,140 --> 01:05:56,460 এবং তারপর অন্য কেউ? 1271 01:05:56,460 --> 01:06:01,030 আমরা পরের ক্ষুদ্রতম খুঁজে একবার সংখ্যা, আমরা কি করব? 1272 01:06:01,030 --> 01:06:03,010 আমি খুঁজে বলতে যাচ্ছি সবচেয়ে ছোট সংখ্যা. 1273 01:06:03,010 --> 01:06:04,820 যে আমরা যেতে চাই কি. 1274 01:06:04,820 --> 01:06:06,210 >> তাই সবচেয়ে ছোট সংখ্যাটি খুঁজে. 1275 01:06:06,210 --> 01:06:08,061 তারপর আমরা কি করব? 1276 01:06:08,061 --> 01:06:09,480 >> ছাত্র: [শ্রবণাতীত] শুরুতে. 1277 01:06:09,480 --> 01:06:10,680 >> JASON HIRSCHHORN: দুঃখিত? 1278 01:06:10,680 --> 01:06:12,700 >> ছাত্র: এটি রাখুন তালিকার শুরুতে. 1279 01:06:12,700 --> 01:06:18,540 >> JASON HIRSCHHORN: তাই রাখুন তালিকার শুরুতে. 1280 01:06:18,540 --> 01:06:20,140 এবং আমরা জিনিস কি করবেন যে শুরুতে ছিল 1281 01:06:20,140 --> 01:06:20,830 তালিকার, ডান? 1282 01:06:20,830 --> 01:06:21,910 আমরা কিছু overwriting করছি. 1283 01:06:21,910 --> 01:06:23,130 তাই যেখানে আমরা যে করা হয়? 1284 01:06:23,130 --> 01:06:24,120 হাঁ, আন্না? 1285 01:06:24,120 --> 01:06:25,520 >> ছাত্র: কোথায় ক্ষুদ্রতম নম্বর ছিল? 1286 01:06:25,520 --> 01:06:32,530 >> JASON Hirshhorn: তাই শুরুতে রাখা তালিকার যেখানে 1287 01:06:32,530 --> 01:06:35,180 ক্ষুদ্রতম সংখ্যা ছিল. 1288 01:06:35,180 --> 01:06:38,510 তালিকার ক্রম গেছে তাই, যখন খুঁজে ক্ষুদ্রতম সংখ্যা, রাখুন 1289 01:06:38,510 --> 01:06:40,630 তালিকার শুরুতে, করা তালিকার শুরুতে যেখানে 1290 01:06:40,630 --> 01:06:42,900 ক্ষুদ্রতম সংখ্যা ছিল. 1291 01:06:42,900 --> 01:06:45,780 মার্কাস, আপনি এই লাইন ভিন্নরূপে পারেন তালিকার ক্রম গেছে, যখন? 1292 01:06:45,780 --> 01:06:51,160 1293 01:06:51,160 --> 01:06:53,900 >> ছাত্র: যদিও সংখ্যা সাজানো হয়নি? 1294 01:06:53,900 --> 01:06:55,920 >> JASON Hirshhorn: ঠিক আছে, তাই যাতে যাও সংখ্যার হয়েছে না জানি 1295 01:06:55,920 --> 01:06:58,670 সাজানো, আমরা কি করতে হবে? 1296 01:06:58,670 --> 01:07:00,640 আমরা কিভাবে অনেক প্রয়োজন এই তালিকা মধ্য দিয়ে যেতে? 1297 01:07:00,640 --> 01:07:09,650 >> ছাত্র: আমি লুপ জন্য একটি অনুমান, অথবা যখন, সংখ্যা চেক করার সময় কম 1298 01:07:09,650 --> 01:07:11,900 তালিকা দৈর্ঘ্যের তুলনায়? 1299 01:07:11,900 --> 01:07:13,160 >> JASON Hirshhorn: ঠিক আছে, যে ভাল. 1300 01:07:13,160 --> 01:07:15,000 আমি misphrased মনে আমার প্রশ্ন দুর্বল. 1301 01:07:15,000 --> 01:07:15,990 আমি এ পেতে চেষ্টা ছিল আমরা যেতে আছে চলুন 1302 01:07:15,990 --> 01:07:17,580 পুরো তালিকা মাধ্যমে. 1303 01:07:17,580 --> 01:07:20,490 তালিকার ক্রম গেছে তাই যখন, আমার জন্য, প্রথম ম্যাপ করা কঠিন. 1304 01:07:20,490 --> 01:07:24,940 কিন্তু মূলত, যে কিভাবে আমি এই চিন্তা. 1305 01:07:24,940 --> 01:07:28,880 খোঁজা, সম্পূর্ণ তালিকা দিয়ে যান ক্ষুদ্রতম সংখ্যা, রাখুন 1306 01:07:28,880 --> 01:07:30,130 শুরুতে - আসলে, আপনি অধিকার. 1307 01:07:30,130 --> 01:07:31,380 এর তাদের উভয় রাখা যাক. 1308 01:07:31,380 --> 01:07:33,470 1309 01:07:33,470 --> 01:07:39,050 >> তালিকার ক্রম গেছে তাই, যখন আমরা সম্পূর্ণ তালিকা মাধ্যমে যাওয়া প্রয়োজন 1310 01:07:39,050 --> 01:07:42,250 একবার, সবচেয়ে ছোট সংখ্যা, জায়গা খুঁজে এটি তালিকা প্রারম্ভে, করান 1311 01:07:42,250 --> 01:07:45,430 তালিকার শুরুতে যেখানে ক্ষুদ্রতম সংখ্যা, এবং তারপর যদি 1312 01:07:45,430 --> 01:07:47,460 তালিকা আমরা করেছি, যাতে বাইরে এখনও এই মধ্য দিয়ে যেতে পেয়েছিলাম 1313 01:07:47,460 --> 01:07:48,620 প্রক্রিয়া আবার, ডান? 1314 01:07:48,620 --> 01:07:51,610 এটা কেন নির্বাচন সাজানোর, বিগ-হে রানটাইম এর নির্বাচন সাজানোর, কেউ? 1315 01:07:51,610 --> 01:07:52,830 >> ছাত্র: n ছক. 1316 01:07:52,830 --> 01:07:53,590 >> JASON Hirshhorn: n ছক. 1317 01:07:53,590 --> 01:07:57,040 মার্কাস এবং আমি ঠিক বুঝতে পেরেছি মত কারণ এখানে, আমরা আছে চলুন 1318 01:07:57,040 --> 01:08:00,310 তালিকা তালিকা মধ্য দিয়ে যেতে কতবার. 1319 01:08:00,310 --> 01:08:03,420 তাই কোন কিছু দিয়ে যাচ্ছিলেন দৈর্ঘ্য এন এন কতবার 1320 01:08:03,420 --> 01:08:04,990 বস্তুত n ছক হয়. 1321 01:08:04,990 --> 01:08:08,100 >> তাই এই আমাদের pseudocode হয়. 1322 01:08:08,100 --> 01:08:09,360 এই খুব ভাল দেখায়. 1323 01:08:09,360 --> 01:08:11,870 কেহ কোন প্রশ্ন আছে pseudocode সম্পর্কে কি? 1324 01:08:11,870 --> 01:08:14,440 আসলে নির্বাচন সাজানোর উচিত কারণ সম্ভবত থেকে একজনকে, কোড এক আসা 1325 01:08:14,440 --> 01:08:14,980 pseudocode. 1326 01:08:14,980 --> 01:08:17,569 সম্পর্কে তাই কোন প্রশ্ন pseudocode পক্ষে যুক্তি? 1327 01:08:17,569 --> 01:08:18,819 এখন তা জিজ্ঞাসা করুন. 1328 01:08:18,819 --> 01:08:22,609 1329 01:08:22,609 --> 01:08:25,379 >> নির্বাচন সাজানোর - তালিকার বাইরে থাকাকালীন শৃঙ্খলা, আমরা এটা মাধ্যমে যেতে চলুন 1330 01:08:25,379 --> 01:08:27,529 এবং ক্ষুদ্রতম প্রতিটি সময় খুঁজে এবং সামনে এটা করা. 1331 01:08:27,529 --> 01:08:33,470 তালিকা, যা করতে পারেন যাতে বাইরে তাই যখন কারো আমার কোড যে লাইন দিতে যারা 1332 01:08:33,470 --> 01:08:39,689 আমার একটি লাইন দেওয়া হয়নি দয়া করে, এখনো কোডের? 1333 01:08:39,689 --> 01:08:40,939 এটি একটি কি মত শোনাচ্ছে? 1334 01:08:40,939 --> 01:08:43,669 1335 01:08:43,669 --> 01:08:44,649 >> ছাত্র: যে লুপ জন্য না. 1336 01:08:44,649 --> 01:08:45,830 >> JASON Hirshhorn: এটা শোনাচ্ছে লুপ জন্য একটি পছন্দ. 1337 01:08:45,830 --> 01:08:47,653 ঠিক আছে, আপনি কি আমাকে লুপ জন্য দিতে পারেন? 1338 01:08:47,653 --> 01:08:48,925 জন্য - 1339 01:08:48,925 --> 01:08:50,219 >> ছাত্র: আমি 0 সাইটে সমান. 1340 01:08:50,219 --> 01:08:52,705 >> JASON Hirshhorn: আমি বা - 1341 01:08:52,705 --> 01:08:55,111 আমরা কি নাই? 1342 01:08:55,111 --> 01:08:56,819 কি অধিকার এখানে যায়? 1343 01:08:56,819 --> 01:08:57,550 >> ছাত্র: আন্তর্জাতিক. 1344 01:08:57,550 --> 01:08:59,270 >> JASON Hirshhorn: যথাযথভাবে. 1345 01:08:59,270 --> 01:09:02,590 - '(আমি = 0 int 1346 01:09:02,590 --> 01:09:07,843 >> ছাত্র: আমি এন <; তোমার +). 1347 01:09:07,843 --> 01:09:09,319 >> JASON Hirshhorn: জেফ, এটি পেরেক দিয়ে. 1348 01:09:09,319 --> 01:09:10,660 আমরা অধিকার, তালিকা মাধ্যমে যাচ্ছেন? 1349 01:09:10,660 --> 01:09:11,880 আমরা আগে যে কোড দেখা করেছি. 1350 01:09:11,880 --> 01:09:12,850 পারফেক্ট. 1351 01:09:12,850 --> 01:09:14,790 তাই আমাদের এখানে এর কোঁকড়া ধনুর্বন্ধনী করা যাক. 1352 01:09:14,790 --> 01:09:17,859 আমি কিছু করা যাচ্ছে না এখানে কোঁকড়া ধনুর্বন্ধনী. 1353 01:09:17,859 --> 01:09:21,660 >> এটা 0 যখন সুতরাং, আমরা যেতে প্রয়োজন সম্পূর্ণ তালিকা মাধ্যমে. 1354 01:09:21,660 --> 01:09:26,612 তাই প্রতিটি সময় আমরা তালিকা মধ্য দিয়ে যেতে আমরা কি ট্র্যাক রাখতে চান? 1355 01:09:26,612 --> 01:09:28,260 >> ছাত্র: কোন বিনিময়সমূহ তৈরি করে থাকেন. 1356 01:09:28,260 --> 01:09:29,069 >> JASON Hirshhorn: খুঁজুন সবচেয়ে ছোট সংখ্যা. 1357 01:09:29,069 --> 01:09:31,479 তাই আমরা সম্ভবত ট্র্যাক রাখা উচিত ক্ষুদ্রতম সংখ্যা প্রতিটি সময়. 1358 01:09:31,479 --> 01:09:34,590 তাই লাইন আমি ট্র্যাক রাখা কি করতে পারেন ক্ষুদ্রতম সংখ্যা? 1359 01:09:34,590 --> 01:09:37,720 Aleha, কিভাবে আমি রাখতে পারেন কিছু সম্পর্কে অবগত? 1360 01:09:37,720 --> 01:09:38,460 >> ছাত্র: একটি নতুন পরিবর্তনশীল শুরু করুন. 1361 01:09:38,460 --> 01:09:39,390 >> JASON Hirshhorn: একটি নতুন পরিবর্তনশীল শুরু করুন. 1362 01:09:39,390 --> 01:09:40,069 সুতরাং আসুন একটি পরিবর্তনশীল তৈরি করা যাক. 1363 01:09:40,069 --> 01:09:41,830 কি টাইপ? 1364 01:09:41,830 --> 01:09:42,930 >> ছাত্র: আন্তর্জাতিক. 1365 01:09:42,930 --> 01:09:43,710 >> JASON Hirshhorn: আন্তর্জাতিক. 1366 01:09:43,710 --> 01:09:44,939 এর সবচেয়ে ছোট কল দিন. 1367 01:09:44,939 --> 01:09:47,600 এবং কি এটা সমান যখন আছে আমরা শুধু আউট শুরু করছেন? 1368 01:09:47,600 --> 01:09:48,910 আমরা এখনো তালিকার মাধ্যমে সর্বস্বান্ত নি. 1369 01:09:48,910 --> 01:09:50,540 আমরা প্রথম অংশ করেন মাধ্যমে আমাদের প্রথমবার তার তালিকা দেখাবে. 1370 01:09:50,540 --> 01:09:51,930 এটা সমান না কি, ক্ষুদ্রতম সংখ্যা? 1371 01:09:51,930 --> 01:09:54,140 >> ছাত্র: মূল্যবোধ আমি. 1372 01:09:54,140 --> 01:09:54,900 >> JASON Hirshhorn: মূল্যবোধ আমি. 1373 01:09:54,900 --> 01:09:56,980 একেবারে ঠিক, ঠিক ডান শোনাচ্ছে? 1374 01:09:56,980 --> 01:09:59,590 শুরুতে ক্ষুদ্রতম সংখ্যা আমরা যেখানে হয়. 1375 01:09:59,590 --> 01:10:01,960 তাই এখন আমরা আমাদের সবচেয়ে ছোট আছে, এবং আমরা প্রয়োজন সম্পূর্ণ তালিকার মাধ্যমে যান এবং করতে 1376 01:10:01,960 --> 01:10:05,080 ক্ষুদ্রতম এই তুলনা অন্য সব কিছুর থেকে. 1377 01:10:05,080 --> 01:10:08,150 তাই আমরা আবার তালিকার মাধ্যমে যান? 1378 01:10:08,150 --> 01:10:08,630 মাইকেল? 1379 01:10:08,630 --> 01:10:10,000 >> ছাত্র: আপনি করা প্রয়োজন লুপ জন্য আরেকটি. 1380 01:10:10,000 --> 01:10:10,383 >> JASON Hirshhorn: লুপ জন্য আরেকটি. 1381 01:10:10,383 --> 01:10:11,276 এর এটা করুক না. 1382 01:10:11,276 --> 01:10:12,540 আমার কিছু কোড দিন. 1383 01:10:12,540 --> 01:10:13,790 >> ছাত্র: লুপ জন্য - 1384 01:10:13,790 --> 01:10:16,750 1385 01:10:16,750 --> 01:10:19,470 ক্ষুদ্রতম জন্য - 1386 01:10:19,470 --> 01:10:23,040 1387 01:10:23,040 --> 01:10:25,770 শুধু ঞ int, আপনি বলতে পারে? 1388 01:10:25,770 --> 01:10:31,150 = 0; যেমন যে - 1389 01:10:31,150 --> 01:10:34,014 1390 01:10:34,014 --> 01:10:35,710 >> JASON Hirshhorn: ভাল, আমরা চাই সম্পূর্ণ তালিকা মধ্য দিয়ে যেতে - 1391 01:10:35,710 --> 01:10:37,847 >> ছাত্র: ঞ <এন, ঞ + + + +). 1392 01:10:37,847 --> 01:10:42,140 1393 01:10:42,140 --> 01:10:42,405 >> JASON Hirshhorn: কল্পনাপ্রসূত. 1394 01:10:42,405 --> 01:10:46,100 আমরা মধ্য দিয়ে যেতে চলুন লুপ জন্য আবার. 1395 01:10:46,100 --> 01:10:51,380 এবং কিভাবে আমরা খুঁজে পেতে ক্ষুদ্রতম সংখ্যা? 1396 01:10:51,380 --> 01:10:52,630 টম? 1397 01:10:52,630 --> 01:10:54,570 1398 01:10:54,570 --> 01:11:00,520 আমরা বর্তমান ক্ষুদ্রতম সংখ্যা আছে, তাই কিভাবে আমরা নতুন ক্ষুদ্রতম খুঁজে পেতে? 1399 01:11:00,520 --> 01:11:07,200 >> ছাত্র: আমরা পরীক্ষা করতে পারবেন যদি ক্ষুদ্রতম আমরা আছে সংখ্যা তার চেয়ে অনেক বেশী 1400 01:11:07,200 --> 01:11:09,040 বন্ধনী J মান. 1401 01:11:09,040 --> 01:11:14,740 >> JASON Hirshhorn: তাই ক্ষুদ্রতম যদি মান বন্ধনী ঞ তার চেয়ে অনেক বেশী. 1402 01:11:14,740 --> 01:11:19,350 তাই যদি আমাদের বর্তমান ক্ষুদ্রতম তার চেয়ে অনেক বেশী - 1403 01:11:19,350 --> 01:11:21,770 আমি এই দুই লাইন সরানো যাচ্ছে না এক সেকেন্ডের জন্য সেখানে আউট কোড নাম. 1404 01:11:21,770 --> 01:11:26,010 কারণ আমরা কোনো সোয়াপিং আগে, আমরা সম্পূর্ণ তালিকা মাধ্যমে যাওয়া প্রয়োজন. 1405 01:11:26,010 --> 01:11:28,880 তাই এই pseudocode আসলে উচিত লুপ জন্য যে ভেতরের বাইরে করা. 1406 01:11:28,880 --> 01:11:30,390 তাই পুরো তালিকা দিয়ে যেতে. 1407 01:11:30,390 --> 01:11:34,520 সবচেয়ে ছোট থেকে বড় হয় তাহলে মান ঞ তারপর কি? 1408 01:11:34,520 --> 01:11:37,830 >> ছাত্র: তারপর ক্ষুদ্রতম মান ঞ সমান. 1409 01:11:37,830 --> 01:11:41,190 1410 01:11:41,190 --> 01:11:42,600 >> JASON Hirshhorn: কল্পনাপ্রসূত. 1411 01:11:42,600 --> 01:11:44,580 এক দ্রুত প্রশ্ন - 1412 01:11:44,580 --> 01:11:47,236 আমরা এই লুপ দিয়ে যেতে প্রথমবার, তোমার 0 সমান যাচ্ছে, ঞ যাচ্ছে 1413 01:11:47,236 --> 01:11:50,710 আমরা এখানে পেতে একবার 0 সমান. 1414 01:11:50,710 --> 01:11:52,410 সুতরাং আমরা তুলনা করা চলুন নিজেই একটি সংখ্যা. 1415 01:11:52,410 --> 01:11:53,660 যে দক্ষ? 1416 01:11:53,660 --> 01:11:57,260 1417 01:11:57,260 --> 01:11:58,390 না, এটা সত্যিই দক্ষ না. 1418 01:11:58,390 --> 01:12:02,915 সুতরাং আমাদের ঞ যেতে প্রয়োজন নেই 0 থেকে প্রতিটি সময় n যাও? 1419 01:12:02,915 --> 01:12:06,310 আমরা সবসময় চেক প্রয়োজন সম্পূর্ণ তালিকা মাধ্যমে? 1420 01:12:06,310 --> 01:12:06,520 [শ্রবণাতীত]? 1421 01:12:06,520 --> 01:12:07,564 >> ছাত্র: পরিবর্তে আমি দিয়ে শুরু করুন. 1422 01:12:07,564 --> 01:12:09,405 >> JASON Hirshhorn: J পারেন কি দিয়ে শুরু? 1423 01:12:09,405 --> 01:12:09,990 >> ছাত্র: আমি. 1424 01:12:09,990 --> 01:12:13,040 >> JASON Hirshhorn: ঞ ঝ দিয়ে শুরু করতে পারেন. 1425 01:12:13,040 --> 01:12:18,840 তাই এখন আমরা শুরু তুলনা আমরা করছি এক সঙ্গে. 1426 01:12:18,840 --> 01:12:21,020 এমনকি তারপর, যে হিসাবে হয় সম্ভব দক্ষ? 1427 01:12:21,020 --> 01:12:22,320 >> ছাত্র: আমি 1 +. 1428 01:12:22,320 --> 01:12:25,420 >> JASON Hirshhorn: আমি + 1 টি হবে বলে মনে হয় সবচেয়ে বেশি কার্যকরী, কারণ আমরা 1429 01:12:25,420 --> 01:12:26,120 ইতিমধ্যে আমি আছে. 1430 01:12:26,120 --> 01:12:28,100 আমরা যত জানায় যে করছি লাইন 15 মধ্যে সবচেয়ে ছোট. 1431 01:12:28,100 --> 01:12:29,350 আমরা শুরু করতে যাচ্ছেন পরের এক স্বয়ংক্রিয়ভাবে. 1432 01:12:29,350 --> 01:12:34,470 1433 01:12:34,470 --> 01:12:38,540 সুতরাং আমরা লুপ জন্য মধ্য দিয়ে যেতে. 1434 01:12:38,540 --> 01:12:39,620 আমরা প্রতিটি সময় মাধ্যমে যাবেন. 1435 01:12:39,620 --> 01:12:40,860 আমরা বার নম্বর দিয়ে যাবেন. 1436 01:12:40,860 --> 01:12:42,860 এখন আমরা এর মাধ্যমে অর্জিত করেছি লুপ জন্য এই ভেতরের. 1437 01:12:42,860 --> 01:12:44,350 আমরা ক্ষুদ্রতম মান সংরক্ষণ করে থাকে. 1438 01:12:44,350 --> 01:12:46,045 আমরা এ এটি স্থাপন প্রয়োজন তালিকার শুরুতে. 1439 01:12:46,045 --> 01:12:48,390 সুতরাং কিভাবে আমি এ রাখুন না তালিকার শুরুতে? 1440 01:12:48,390 --> 01:12:51,290 1441 01:12:51,290 --> 01:12:55,926 বোঝায় যে পরিবর্তনশীল কি তালিকার শুরুতে? 1442 01:12:55,926 --> 01:13:00,500 আমরা লুপ জন্য এই বাইরে আছেন তাই কি বোঝায় 1443 01:13:00,500 --> 01:13:01,280 তালিকার শুরুতে? 1444 01:13:01,280 --> 01:13:02,880 >> ছাত্র: মূল্যবোধ আমি. 1445 01:13:02,880 --> 01:13:03,510 >> JASON Hirshhorn: ঠিক ঠিক. 1446 01:13:03,510 --> 01:13:04,650 মূল্যবোধ আমি শুরুতে হল - 1447 01:13:04,650 --> 01:13:06,320 অথবা দুঃখিত, শুরুতে না. 1448 01:13:06,320 --> 01:13:07,090 এটা বিভ্রান্তিকর ছিল. 1449 01:13:07,090 --> 01:13:11,620 আমরা শুরুতে যেখানে এটা তালিকার পাঁচমিশালী অংশ. 1450 01:13:11,620 --> 01:13:12,800 তাই আমি মান. 1451 01:13:12,800 --> 01:13:14,050 এবং কি সমান যে করে? 1452 01:13:14,050 --> 01:13:15,925 1453 01:13:15,925 --> 01:13:17,326 >> ছাত্র: ক্ষুদ্রতম. 1454 01:13:17,326 --> 01:13:18,862 >> JASON Hirshhorn: মূল্যবোধ আমি কি সমান? 1455 01:13:18,862 --> 01:13:19,310 >> ছাত্র: ক্ষুদ্রতম. 1456 01:13:19,310 --> 01:13:20,030 >> JASON Hirshhorn: ক্ষুদ্রতম. 1457 01:13:20,030 --> 01:13:20,980 ঠিক ঠিক. 1458 01:13:20,980 --> 01:13:23,510 সুতরাং আমরা শুরুতে এটি স্থাপন করছি তালিকার, এবং এখন আমরা করা প্রয়োজন 1459 01:13:23,510 --> 01:13:25,710 তালিকার শুরুতে যেখানে ক্ষুদ্রতম সংখ্যা ছিল. 1460 01:13:25,710 --> 01:13:29,700 সুতরাং কিভাবে আমি লিখতে পারি যেখানে ক্ষুদ্রতম সংখ্যা ছিল? 1461 01:13:29,700 --> 01:13:31,670 কি মূল্যবোধ? 1462 01:13:31,670 --> 01:13:33,170 >> ছাত্র: 0. 1463 01:13:33,170 --> 01:13:34,090 >> JASON Hirshhorn: ছোট নম্বর 0 এ কি? 1464 01:13:34,090 --> 01:13:35,340 >> ছাত্র: হ্যাঁ. 1465 01:13:35,340 --> 01:13:38,680 1466 01:13:38,680 --> 01:13:39,910 >> JASON Hirshhorn: কি যদি ক্ষুদ্রতম নম্বর শেষে ছিল 1467 01:13:39,910 --> 01:13:40,860 এই পাঁচমিশালী তালিকা? 1468 01:13:40,860 --> 01:13:42,460 >> ছাত্র: দুঃখিত, প্রশ্ন কি ছিল? 1469 01:13:42,460 --> 01:13:44,020 >> JASON Hirshhorn: কোথায় ক্ষুদ্রতম সংখ্যা? 1470 01:13:44,020 --> 01:13:46,940 আমরা ক্ষুদ্রতম নেন এবং এ লাগাতে হবে ঠিক এই লাইন দিয়ে শুরু. 1471 01:13:46,940 --> 01:13:48,987 >> ছাত্র: এটা থাকা উচিত কিছু সংরক্ষণ করা হয়েছে - 1472 01:13:48,987 --> 01:13:50,510 >> ছাত্র: মূল্যবোধ ঞ. 1473 01:13:50,510 --> 01:13:51,520 >> JASON Hirshhorn: ওয়েল, এটা অগত্যা J মান. 1474 01:13:51,520 --> 01:13:54,100 এটি এমনকি এই সময়ে বিদ্যমান নেই. 1475 01:13:54,100 --> 01:13:55,960 >> ছাত্র: আপনি ডিক্লেয়ার করা আছে একটি পরিবর্তনশীল আগে এবং 1476 01:13:55,960 --> 01:13:58,230 তারপর থেকে এটি দায়িত্ব অর্পণ করা - 1477 01:13:58,230 --> 01:14:01,150 আপনি ক্ষুদ্রতম নম্বর খুঁজতে হলে, যে সংখ্যার সূচক দায়িত্ব অর্পণ 1478 01:14:01,150 --> 01:14:02,480 কিছু চলক বা যে ভালো কিছু. 1479 01:14:02,480 --> 01:14:04,790 >> JASON Hirshhorn: তাই যা করতে পারেন আপনি আবার বলতে? 1480 01:14:04,790 --> 01:14:08,390 >> ছাত্র: সুতরাং আপনি কোন int ঘোষণা যেখানে সবচেয়ে ছোট, তবে আপনাকে int-ডিক্লেয়ার করা উচিত 1481 01:14:08,390 --> 01:14:10,750 ক্ষুদ্রতম সূচক = আমি, অথবা যে ভালো কিছু. 1482 01:14:10,750 --> 01:14:13,280 >> JASON Hirshhorn: তাই আমি int না যেখানে সবচেয়ে ছোট, আমি ট্র্যাক রাখা উচিত না শুধুমাত্র 1483 01:14:13,280 --> 01:14:16,150 মান কিন্তু অবস্থান. 1484 01:14:16,150 --> 01:14:20,850 int-smallest_location = এই মধ্যে কেস, আমরা শুধু আমি চেষ্টা করবো. 1485 01:14:20,850 --> 01:14:22,390 আমরা যেখানে এটা জানা প্রয়োজন. 1486 01:14:22,390 --> 01:14:26,820 আমরা কোড শেষে পেয়েছিলাম, এবং আমরা আমরা এটি ছিল যেখানে কোন ধারণা ছিল না. 1487 01:14:26,820 --> 01:14:29,810 তাই আবার, আমরা ম্যাপিং হয় এই এক থেকে এক. 1488 01:14:29,810 --> 01:14:32,890 আপনার নিজের ইচ্ছার উপর এই কোডিং আপনি না সম্ভবত একই সমস্যা পেতে. 1489 01:14:32,890 --> 01:14:34,130 আমি কিভাবে নরক তা খুঁজে পেতে? 1490 01:14:34,130 --> 01:14:36,720 এবং তারপর আপনি আমি, অপেক্ষা করুন, বুঝতে পারছি যে সম্পর্কে অবগত রাখা প্রয়োজন. 1491 01:14:36,720 --> 01:14:38,500 >> সুতরাং ক্ষুদ্রতম বেশী হলে মান জে আর. 1492 01:14:38,500 --> 01:14:39,740 আমরা ক্ষুদ্রতম মান ঞ করার সমান সেট. 1493 01:14:39,740 --> 01:14:42,090 আমরা পরিবর্তন করতে আর কি প্রয়োজন? 1494 01:14:42,090 --> 01:14:43,710 Constantin, কি কি করবেন আমরা পরিবর্তন প্রয়োজন? 1495 01:14:43,710 --> 01:14:44,560 >> ছাত্র: অবস্থান. 1496 01:14:44,560 --> 01:14:45,270 >> JASON Hirshhorn: যথাযথভাবে. 1497 01:14:45,270 --> 01:14:46,925 তাই আমাকে কোডের যে লাইন দিতে. 1498 01:14:46,925 --> 01:14:53,310 >> ছাত্র: smallest_location = ঞ. 1499 01:14:53,310 --> 01:14:54,790 >> JASON Hirshhorn: যথাযথভাবে. 1500 01:14:54,790 --> 01:14:58,210 এবং তারপর শেষে নিচে, আমরা চাই তালিকার শুরুতে রাখা কোথায় 1501 01:14:58,210 --> 01:15:00,790 ক্ষুদ্রতম সংখ্যা, কিভাবে আমরা যেখানে পড়ুন করবেন 1502 01:15:00,790 --> 01:15:02,200 ক্ষুদ্রতম সংখ্যা ছিল? 1503 01:15:02,200 --> 01:15:03,580 মার্কাস? 1504 01:15:03,580 --> 01:15:08,530 >> ছাত্র: ক্ষুদ্রতম সংখ্যা ছিল ক্ষুদ্রতম অবস্থানে অবস্থিত. 1505 01:15:08,530 --> 01:15:12,230 >> JASON Hirshhorn: তাই মান এ smallest_location. 1506 01:15:12,230 --> 01:15:14,700 এবং আমরা সেখানে কি করা? 1507 01:15:14,700 --> 01:15:17,600 শুরুতে তালিকা, যে কি? 1508 01:15:17,600 --> 01:15:19,710 >> ছাত্র: ভাল, আমরা সত্যিই জানি না আমরা overwrote আর কারণ. 1509 01:15:19,710 --> 01:15:23,250 সুতরাং এটি একটি অদলবদল অবস্থানে আছে যারা দুই লাইনের? 1510 01:15:23,250 --> 01:15:26,110 আপনার চারপাশে যারা দুই লাইন সুইচ যদি. 1511 01:15:26,110 --> 01:15:30,740 >> JASON Hirshhorn: ঠিক আছে, তাই আমরা না আর, কারণ আমরা লাইন পুনরায় সেট করেছি 1512 01:15:30,740 --> 01:15:31,960 মান আমি সবচেয়ে ছোট করার আগে. 1513 01:15:31,960 --> 01:15:33,810 সুতরাং আমরা যে প্রারম্ভিক মান হারিয়ে গেছে. 1514 01:15:33,810 --> 01:15:37,350 সুতরাং আপনি swap 'এই দুটি লাইন বললেন. 1515 01:15:37,350 --> 01:15:41,780 তাই এখন তালিকার শুরুতে রাখা যেখানে সবচেয়ে ছোট সংখ্যা ছিল. 1516 01:15:41,780 --> 01:15:47,060 সুতরাং smallest_location আমি মান সমান. 1517 01:15:47,060 --> 01:15:51,310 যে এই শুরুতে সরানোর হচ্ছে যাও তালিকা পাঁচমিশালী অংশ 1518 01:15:51,310 --> 01:15:52,090 ক্ষুদ্রতম অবস্থান. 1519 01:15:52,090 --> 01:15:54,860 এবং তারপর মান মধ্যে আমি আমরা চলন্ত করছি যে সবচেয়ে ছোট সংখ্যা. 1520 01:15:54,860 --> 01:15:57,450 >> কি যে জানার কেন আমরা যে swap 'করা ছিল? 1521 01:15:57,450 --> 01:15:59,650 আমরা যে মান মুছে ফেলা হবে - আপনি সম্ভবত আছে আরেকটি বিষয় 1522 01:15:59,650 --> 01:16:02,740 মূর্ত ও জিডিপি পাওয়া. 1523 01:16:02,740 --> 01:16:05,310 তাই আমরা যত্ন গ্রহণ করেছেন সব pseudocode. 1524 01:16:05,310 --> 01:16:10,935 অন্য কিছু আছে কি আমরা এখানে লিখুন প্রয়োজন? 1525 01:16:10,935 --> 01:16:14,911 কেহ কিছু মনে করতে পারেন? 1526 01:16:14,911 --> 01:16:16,180 >> ছাত্র: আপনি কিভাবে জানেন সমাপ্ত হয়ে যখন? 1527 01:16:16,180 --> 01:16:17,680 >> JASON Hirshhorn: কিভাবে আমরা কি আমরা কাজ সম্পন্ন হয় যখন জানেন? 1528 01:16:17,680 --> 01:16:18,890 গ্রেট প্রশ্ন. 1529 01:16:18,890 --> 01:16:21,684 সুতরাং কিভাবে আমরা কাজ সম্পন্ন হয় যখন জানেন. 1530 01:16:21,684 --> 01:16:24,720 >> ছাত্র: গণনা রাখা একটি পরিবর্তনশীল তৈরি করুন নেই তৈরি একটি swap এর বা এর যদি 1531 01:16:24,720 --> 01:16:27,810 এবং একটি পাস দিয়ে যেতে. 1532 01:16:27,810 --> 01:16:30,180 >> JASON Hirshhorn: ঠিক আছে. 1533 01:16:30,180 --> 01:16:31,800 যে বুদ্বুদ সাজানোর কাজ করবে. 1534 01:16:31,800 --> 01:16:35,210 কিন্তু নির্বাচন সাজানোর জন্য, আমরা না থাকলে একটি swap করা, যে ঠিক হতে পারে 1535 01:16:35,210 --> 01:16:38,670 ক্ষুদ্রতম মান কারণ এটা তার ডান অবস্থান. 1536 01:16:38,670 --> 01:16:41,240 আমরা একটি তালিকা 1, 2, 4, 3 থাকতে পারে. 1537 01:16:41,240 --> 01:16:42,830 আমরা মাধ্যমে দ্বিতীয়বার কোনো অদলবদল করা হবে না. 1538 01:16:42,830 --> 01:16:47,260 আমরা সংখ্যা 2 নেভিগেশন হবেন, কিন্তু আমরা করব এখনও চালু রাখা প্রয়োজন. 1539 01:16:47,260 --> 01:16:49,390 সুতরাং আমরা যখন ট্র্যাক রাখা প্রয়োজন আমরা কাজ সম্পন্ন হয়, অথবা আমরা যেতে চাই না 1540 01:16:49,390 --> 01:16:50,640 এই সমাপ্ত না হওয়া পর্যন্ত? 1541 01:16:50,640 --> 01:16:54,098 1542 01:16:54,098 --> 01:16:56,740 >> ছাত্র: আমরা শুধু যেতে পারেন এটি সমাপ্ত এর যতক্ষন না. 1543 01:16:56,740 --> 01:16:58,090 >> JASON Hirshhorn: আমরা যা করতে পারেন শুধু এই সমাপ্ত না হওয়া পর্যন্ত যেতে. 1544 01:16:58,090 --> 01:17:01,720 বুদ্বুদ সাজানোর মধ্যে, আপনি ঠিক ঠিক আপনার সমাধান সঙ্গে জেফ ও Aleha, - 1545 01:17:01,720 --> 01:17:04,990 এটা ট্র্যাক রাখতে মহান কতগুলি বিনিময়সমূহ আপনি, তৈরি কারণ বুদ্বুদ 1546 01:17:04,990 --> 01:17:07,920 আপনি আসলে কি ধরণের,, কোন অদলবদল করা সমাপ্ত হয়ে এবং আপনি হয়তো আপনার কাটা যাবে 1547 01:17:07,920 --> 01:17:09,000 সমস্যা নিচে একটি বিট. 1548 01:17:09,000 --> 01:17:11,440 কিন্তু নির্বাচন সাজানোর জন্য, আপনি সত্যিই করেছি শেষে মধ্য দিয়ে যেতে পেয়েছিলাম 1549 01:17:11,440 --> 01:17:14,940 প্রায় প্রতিটি সময় তার তালিকা দেখাবে. 1550 01:17:14,940 --> 01:17:16,200 >> তাই এই যে. 1551 01:17:16,200 --> 01:17:18,530 আমরা বাকি দুই মিনিট আছে. 1552 01:17:18,530 --> 01:17:21,560 এর সব করা যাক. 1553 01:17:21,560 --> 01:17:24,340 আমার শুধু খোলা এখানে খুঁজে পাও এবং করা যাক নিশ্চিত আমি বস্তুত আপ আহ্বান করছি - 1554 01:17:24,340 --> 01:17:25,610 আমি বুদ্বুদ সাজানোর আহ্বান করছি না. 1555 01:17:25,610 --> 01:17:29,230 এর নির্বাচন সাজানোর এই পরিবর্তন করা যাক. 1556 01:17:29,230 --> 01:17:31,060 সব না. / এটি. 1557 01:17:31,060 --> 01:17:32,360 এর 42 খুঁজতে দিন. 1558 01:17:32,360 --> 01:17:38,110 আমরা একটি পাস চলুন এই সময় পাঁচমিশালী তালিকা, তা সাজাতে হবে, কারণ 1559 01:17:38,110 --> 01:17:43,790 প্রথমত, এটি কোড প্রতি - বাছাই হবে প্রথম তারপর আমাদের সাজানোর ফাংশন ব্যবহার করে এবং 1560 01:17:43,790 --> 01:17:44,995 কিছু জন্য, দেখুন. 1561 01:17:44,995 --> 01:17:46,245 ফিঙ্গারস সবাই পার. 1562 01:17:46,245 --> 01:17:48,530 1563 01:17:48,530 --> 01:17:49,370 >> ধার্মিকতা আমার ওহ. 1564 01:17:49,370 --> 01:17:50,800 দাঁড়ান, আমার হৃদয় প্রহার করা হয়. 1565 01:17:50,800 --> 01:17:52,320 যাতে এর সঠিক. 1566 01:17:52,320 --> 01:17:57,270 আসলে, আমরা এই আরো দৌড়ে হলে যতটা আমি করতে পারেন হিসাবে ব্যাপকভাবে, কোড, 1567 01:17:57,270 --> 01:17:59,280 বলুন, পুরোপুরি সঠিক. 1568 01:17:59,280 --> 01:18:02,150 কিছু প্রস্তাবনা আছে আমি আপনার জন্য আছে. 1569 01:18:02,150 --> 01:18:06,215 উদাহরণস্বরূপ, 15 এবং 16 বলে মনে হচ্ছে একটু অপ্রয়োজনীয়. 1570 01:18:06,215 --> 01:18:09,450 আপনি অগত্যা না এটি দেখে মনে হচ্ছে উভয় যারা সংরক্ষণ করা প্রয়োজন. 1571 01:18:09,450 --> 01:18:12,790 আপনি ক্ষুদ্রতম অবস্থান, আপনি আছে সহজে দ্বারা ক্ষুদ্রতম মান বের করতে পারেন 1572 01:18:12,790 --> 01:18:14,750 শুধু আমি মান লিখে. 1573 01:18:14,750 --> 01:18:18,100 >> , আমি আপনার কোড শূন্য হবে যদি তাই আমি আসলে, আমি কি হবে 1574 01:18:18,100 --> 01:18:21,160 আপনি যদি সম্ভবত একটি বিন্দু বন্ধ করা , এই দুটি অন্তর্ভুক্ত আপনি কারণ 1575 01:18:21,160 --> 01:18:22,670 এই দুটি দরকার নেই. 1576 01:18:22,670 --> 01:18:25,400 আপনি অবস্থান আছে, আপনি যা করতে পারেন খুব সহজে মূল্য পেতে. 1577 01:18:25,400 --> 01:18:27,520 এবং এটা একটু অদ্ভুত বলে মনে হয় দুইটাই সংরক্ষণ. 1578 01:18:27,520 --> 01:18:31,070 হয়তো এমনকি একটি বিন্দু গ্রহণ করা, কিন্তু না অবশ্যই যে হয়তো যে মন্তব্য 1579 01:18:31,070 --> 01:18:32,670 না একটি রচনাশৈলীসংক্রান্ত পছন্দ আপনি করা প্রয়োজন. 1580 01:18:32,670 --> 01:18:35,290 অবশ্যই, কোড এখনও পুরোপুরি ভাল চালায়. 1581 01:18:35,290 --> 01:18:36,860 >> তাই দুর্ভাগ্যবশত আমরা না বুদ্বুদ সাজানোর পেতে. 1582 01:18:36,860 --> 01:18:37,940 আমি যে বিষয়ে দুঃখিত. 1583 01:18:37,940 --> 01:18:39,135 আমরা ফিনিস নির্বাচন সাজানোর করেছিল. 1584 01:18:39,135 --> 01:18:41,450 কেহ কোন চূড়ান্ত প্রশ্ন আছে নির্বাচন সাজানোর সম্পর্কে কি? 1585 01:18:41,450 --> 01:18:44,320 1586 01:18:44,320 --> 01:18:47,690 >> আমরা খুঁজে আগাইয়া আগে ঠিক আছে,, আমি আপনাকে চাই আপনার ক্রোম ব্রাউজার খুলুন. 1587 01:18:47,690 --> 01:18:54,340 দুঃখিত, যে মাত্র একটি ভয়ানক প্লাগ ছিল ইন্টারনেট ব্রাউজার এক ধরণ জন্য. 1588 01:18:54,340 --> 01:18:57,770 আপনি ব্রাউজারে কোন প্রকার পর্যন্ত খুলতে পারে, কিন্তু এটা সম্ভবত ক্রোম হবেন. 1589 01:18:57,770 --> 01:19:01,250 এবং এই নিম্নলিখিত ওয়েবসাইটে যান - 1590 01:19:01,250 --> 01:19:06,410 sayat.me/cs50. 1591 01:19:06,410 --> 01:19:07,685 আপনি আপনার কম্পিউটারে টাইপ করছি না ঠিক এখন, আপনি স্পষ্টভাবে করছি 1592 01:19:07,685 --> 01:19:10,210 , টম এরকম না. 1593 01:19:10,210 --> 01:19:12,870 >> আর ঠিক হয় এটা দয়া করে এখন বা পরের ঘন্টায় - 1594 01:19:12,870 --> 01:19:14,260 আমার কিছু মতামত দিতে. 1595 01:19:14,260 --> 01:19:15,660 এটি কেবলমাত্র বিভাগে দুটি করে. 1596 01:19:15,660 --> 01:19:18,060 আমরা একসঙ্গে আরো অনেক আছে, তাই আমি উন্নত রুম অনেক আছে. 1597 01:19:18,060 --> 01:19:19,620 আমি আশা এছাড়াও ভাল কিছু জিনিস না. 1598 01:19:19,620 --> 01:19:22,160 সুতরাং আপনি আমার সব খারাপ মনে করতে পারেন, কিন্তু যদি তবে আপনাকে আমার একটা স্মাইলি দিতে চান 1599 01:19:22,160 --> 01:19:24,250 মুখ, আমি হিসাবে ভাল যে কৃতজ্ঞ হবে. 1600 01:19:24,250 --> 01:19:25,330 এখনো সদস্য না যে পূরণ করুন 1601 01:19:25,330 --> 01:19:28,210 >> আর বাকি এক মিনিট সঙ্গে, যে সপ্তাহে তিনটি ছিল. 1602 01:19:28,210 --> 01:19:30,750 আমি একটি বিট জন্য বাইরে দাঁড়ানো করব যদি আপনার কোন প্রশ্ন থাকে তাহলে. 1603 01:19:30,750 --> 01:19:32,220 আমি আপনাকে বলছি দেখবেন আগামীকাল বক্তৃতা. 1604 01:19:32,220 --> 01:19:34,742