1 00:00:00,000 --> 00:00:00,980 2 00:00:00,980 --> 00:00:04,410 >> [সঙ্গীত বাজানো] 3 00:00:04,410 --> 00:00:11,147 4 00:00:11,147 --> 00:00:12,230 ডেভিড জে MALAN: ঠিক আছে. 5 00:00:12,230 --> 00:00:16,440 এটি CS50, এবং এই 2 সপ্তাহ শেষে. 6 00:00:16,440 --> 00:00:18,480 তাই আজ, আমরা চলুন আমাদের বর্ণন অবিরত 7 00:00:18,480 --> 00:00:21,150 আমরা জিনিস প্রতিনিধিত্ব কিভাবে hood-- দূরে সরানোর নীচে 8 00:00:21,150 --> 00:00:23,520 পূর্ণসংখ্যার মত নম্বর থেকে এবং ফ্লোটিং পয়েন্ট মান 9 00:00:23,520 --> 00:00:26,810 এবং স্ট্রিং উপর মনোযোগ নিবদ্ধ করে এবং শেষ পর্যন্ত আরো আকর্ষণীয় প্রোগ্রাম. 10 00:00:26,810 --> 00:00:30,140 কিন্তু আমরা একটি কটাক্ষপাত করা হবে ডোমেন নির্দিষ্ট problems-- দম্পতি 11 00:00:30,140 --> 00:00:33,620 প্রথম হবে, যা এর ক্রিপ্টোগ্রাফি জড়িত হতে পারে, 12 00:00:33,620 --> 00:00:36,570 তথ্য scrambling শিল্প, যা আপনি এখানে উপরে দেখুন 13 00:00:36,570 --> 00:00:41,480 রেডিও অনাথ অ্যানি এর একটি ছবি বিগতবত্সর থেকে গোপন সঙ্কেতমোচক রিং. 14 00:00:41,480 --> 00:00:46,490 >> এটি আসলে খুব আদিম ফর্ম এবং cryptopgraphy এর শিশু বান্ধব ফর্ম 15 00:00:46,490 --> 00:00:50,590 এই রিং দুই disks-- আছে যদ্দ্বারা এক ভিতরে এবং বাইরে. 16 00:00:50,590 --> 00:00:54,740 এবং, যারা এক আপনি যা করতে পারেন আবর্তিত মূলত একটি মত অক্ষর লাইন আপ 17 00:00:54,740 --> 00:00:59,520 অন্যান্য অক্ষর দিয়ে Z মাধ্যমে অন্য কথায় এ মাধ্যমে বি মত, 18 00:00:59,520 --> 00:01:03,730 আপনি আক্ষরিক বর্ণমালা ঘোরাতে পারে, যার ফলে একটি ম্যাপিং থেকে সঙ্গে উত্ক্রান্ত 19 00:01:03,730 --> 00:01:07,820 অক্ষর অক্ষর যে, তাই যদি আপনি একটি গোপন বার্তা পাঠাতে চেয়েছিলেন 20 00:01:07,820 --> 00:01:11,820 অ্যানি মত কেউ, আপনি লিখতে পারে তারপর আবর্তিত এবং আপনার বার্তা নিচে 21 00:01:11,820 --> 00:01:15,370 অক্ষর, যদ্দ্বারা, আপনি মানে যদি আপনি যদি এর পরিবর্তে বলতে ", একটি" বলতে "বি" 22 00:01:15,370 --> 00:01:17,280 আপনি বলে মানে "বি" আপনি যদি এর পরিবর্তে "সি" বলে - 23 00:01:17,280 --> 00:01:20,240 বা কিছু কিছু চতুর কিন্তু যে বেশি এবং তারপর, শেষ পর্যন্ত, 24 00:01:20,240 --> 00:01:24,630 তাই দীর্ঘ অ্যানি এই সঙ্কেতমোচক আছে রিং, সে বার্তা ডিকোড করতে পারে. 25 00:01:24,630 --> 00:01:28,540 এখন, আপনি, আসলে, প্রত্যাহার এই যে হতে পারে একটি খুব বিখ্যাত ফিল্ম ব্যবহৃত হয় যে 26 00:01:28,540 --> 00:01:31,140 সময় বিজ্ঞাপন nauseum নাটকগুলি ক্রিসমাস ঋতু. 27 00:01:31,140 --> 00:01:32,650 এখানে কটাক্ষপাত করা যাক. 28 00:01:32,650 --> 00:01:35,294 29 00:01:35,294 --> 00:01:37,210 Ralphie PARKER: "এটা করা সংক্ষিপ্ত সব পরিচিত 30 00:01:37,210 --> 00:01:41,000 এতদ্দ্বারা রালফ পার্কার নিযুক্ত করা হয় যে লিটল অনাথ অ্যানি গোপন সদস্য 31 00:01:41,000 --> 00:01:44,860 বৃত্ত এবং সব এনটাইটেল করা হয় সম্মান এবং বেনিফিট তত্প্রতি ঘটছে. " 32 00:01:44,860 --> 00:01:47,410 >> Ralphie পার্কার (বলন): লিটল অনাথ অ্যানি স্বাক্ষর করেন. 33 00:01:47,410 --> 00:01:50,070 প্রতিস্বাক্ষরিত, পিয়ের আন্দ্রে! 34 00:01:50,070 --> 00:01:51,490 কালিতে. 35 00:01:51,490 --> 00:01:55,494 সম্মান এবং বেনিফিট, ইতিমধ্যে নয় বছর বয়সে. 36 00:01:55,494 --> 00:01:57,402 >> [সঙ্গীত বাজানো] 37 00:01:57,402 --> 00:02:00,470 >> [রেডিও অনর্থক] 38 00:02:00,470 --> 00:02:01,470 Ralphie PARKER: চলো. 39 00:02:01,470 --> 00:02:02,344 এর সঙ্গে এটি পেতে চলুন শুরু করা যাক. 40 00:02:02,344 --> 00:02:06,029 আমি যে জ্যাজ প্রয়োজন হবে না পাচারকারীদের এবং জলদস্যু সম্পর্কে. 41 00:02:06,029 --> 00:02:08,820 রেডিও ঘোষক: আগামীকাল শুনুন আখেরী সাহসিক জন্য রাতে 42 00:02:08,820 --> 00:02:11,060 কালো জলদস্যু জাহাজ এর. 43 00:02:11,060 --> 00:02:14,740 এখন, এটা সময় অ্যানি এর জন্য আপনি সদস্যদের জন্য গোপন বার্তা 44 00:02:14,740 --> 00:02:17,110 গোপন বৃত্ত. 45 00:02:17,110 --> 00:02:20,700 বাচ্চাদের, শুধুমাত্র সদস্যদের মনে রাখবেন, অ্যানি এর গোপন বৃত্ত 46 00:02:20,700 --> 00:02:23,270 অ্যানি এর গোপন বার্তা ডিকোড করতে পারে. 47 00:02:23,270 --> 00:02:27,270 >> মনে রাখবেন, অ্যানি আপনার উপর নির্ভর করে. 48 00:02:27,270 --> 00:02:30,060 বি 2 আপনার পিন সেট করুন. 49 00:02:30,060 --> 00:02:34,004 এখানে বার্তার 12, 11, 2-- 50 00:02:34,004 --> 00:02:36,503 Ralphie পার্কার (বলন): আমি আমার প্রথম গোপন বৈঠকে am. 51 00:02:36,503 --> 00:02:40,041 রেডিও ঘোষক: --25, 14, 11, 18, 16-- 52 00:02:40,041 --> 00:02:42,790 Ralphie পার্কার (বলন): ওহ, পিয়ের মহান ভয়েস আজ রাতের মধ্যে ছিল. 53 00:02:42,790 --> 00:02:46,110 আমি যে আজ রাতে এর বলতে পারে বার্তা ছিল সত্যিই গুরুত্বপূর্ণ. 54 00:02:46,110 --> 00:02:47,930 >> রেডিও ঘোষক: --3, 25. 55 00:02:47,930 --> 00:02:49,940 যে অ্যানি নিজেকে থেকে একটি বার্তা. 56 00:02:49,940 --> 00:02:52,182 যে কেউ বলতে না, মনে রাখবেন. 57 00:02:52,182 --> 00:02:55,077 >> [ঊর্ধ্বশ্বাস] 58 00:02:55,077 --> 00:02:57,285 Ralphie পার্কার (বলন): নব্বই সেকেন্ড পরে, আমি 59 00:02:57,285 --> 00:03:00,090 শুধুমাত্র রুম ঘর যেখানে নয় একটি ছেলে 60 00:03:00,090 --> 00:03:04,380 গোপনীয়তা এবং ডিকোড বসতে পারে. 61 00:03:04,380 --> 00:03:04,990 আহ. 62 00:03:04,990 --> 00:03:05,680 "বি" 63 00:03:05,680 --> 00:03:06,524 >> [Chuckles] 64 00:03:06,524 --> 00:03:08,684 >> Ralphie পার্কার (বলন): আমি পরের গিয়েছিলাম. 65 00:03:08,684 --> 00:03:09,610 "ই" 66 00:03:09,610 --> 00:03:11,641 প্রথম শব্দ "হিসেবে" হয়. 67 00:03:11,641 --> 00:03:12,140 হ্যাঁ! 68 00:03:12,140 --> 00:03:14,293 এটা সহজ ছিল এখন আসছে. 69 00:03:14,293 --> 00:03:15,259 "ইউ" 70 00:03:15,259 --> 00:03:16,225 >> [Chuckles] 71 00:03:16,225 --> 00:03:18,157 >> রান্ডি PARKER: হুম,, Ralphie উপর আসা. 72 00:03:18,157 --> 00:03:19,606 আমি অতি! 73 00:03:19,606 --> 00:03:21,538 >> Ralphie PARKER: আমি, ডান নিচে মা হবেন. 74 00:03:21,538 --> 00:03:22,504 ঘোড়া শোঁ শব্দ. 75 00:03:22,504 --> 00:03:25,402 76 00:03:25,402 --> 00:03:31,220 "টি" "ও" "নিশ্চিত করা যাও. "কি" করতে ভুলবেন না "? 77 00:03:31,220 --> 00:03:33,981 লিটল অনাথ অ্যানি কি ছিল বলার চেষ্টা? কি "করতে ভুলবেন না"? 78 00:03:33,981 --> 00:03:35,522 মাদার: Ralphie, রান্ডি যেতে না করেনি. 79 00:03:35,522 --> 00:03:36,735 আপনি আসা আউট দয়া করে হবে? 80 00:03:36,735 --> 00:03:38,190 >> Ralphie PARKER: সমস্ত অধিকার, মা! 81 00:03:38,190 --> 00:03:39,787 আমি ডান আউট হবেন! 82 00:03:39,787 --> 00:03:41,995 Ralphie পার্কার (বলন): আমি কাছাকাছি এখন পেয়ে ছিল. 83 00:03:41,995 --> 00:03:43,370 টান খুবই ভয়ানক ছিল. 84 00:03:43,370 --> 00:03:44,794 এটা কি ছিল? 85 00:03:44,794 --> 00:03:47,656 গ্রহের ভাগ্য অনিশ্চয়তার মধ্যে থাকা হতে পারে. 86 00:03:47,656 --> 00:03:50,518 >> মাদার: Ralphie, রান্ডি যেতে না হয়! 87 00:03:50,518 --> 00:03:53,635 >> Ralphie PARKER: আমি সঠিক হতে হবে আউট, কান্দা অট্ট আউট জন্য! 88 00:03:53,635 --> 00:03:55,343 Ralphie PARKER (বলন): প্রায় নেই! 89 00:03:55,343 --> 00:03:56,520 আমার আঙ্গুলের আসেন! 90 00:03:56,520 --> 00:03:58,500 আমার মন ছিল একটি ইস্পাত ফাঁদ. 91 00:03:58,500 --> 00:03:59,850 প্রতিটি দড়ি আন্দোলিত. 92 00:03:59,850 --> 00:04:01,806 এটা প্রায় স্পষ্ট! 93 00:04:01,806 --> 00:04:02,773 হ্যাঁ! 94 00:04:02,773 --> 00:04:03,273 হ্যাঁ! 95 00:04:03,273 --> 00:04:03,773 হ্যাঁ! 96 00:04:03,773 --> 00:04:04,740 হ্যাঁ! 97 00:04:04,740 --> 00:04:10,250 >> Ralphie PARKER: "নিশ্চিত করা আপনার Ovaltine পান. " 98 00:04:10,250 --> 00:04:10,750 Ovaltine? 99 00:04:10,750 --> 00:04:14,864 100 00:04:14,864 --> 00:04:17,539 একটি অপ্রীতিকর বাণিজ্যিক? 101 00:04:17,539 --> 00:04:19,439 >> [সঙ্গীত বাজানো] 102 00:04:19,439 --> 00:04:21,724 >> Ralphie PARKER: গোলাম আজম. 103 00:04:21,724 --> 00:04:23,460 >> [হাস্যময়] 104 00:04:23,460 --> 00:04:27,070 >> ডেভিড জে MALAN: যে তারপর তাই কি ক্রিপ্টোগ্রাফি একটি আভাস 105 00:04:27,070 --> 00:04:29,880 আপাততঃ একটি জন্য হতে পারে বিগতবত্সর থেকে পান. 106 00:04:29,880 --> 00:04:30,900 সুতরাং একটি দ্রুত ঘোষণার. 107 00:04:30,900 --> 00:04:33,410 আপনি এই বিনামূল্যে যদি শুক্রবার 1:15 অপরাহ্ন এবং হবে 108 00:04:33,410 --> 00:04:36,610 CS50 জন্য আমাদের সঙ্গে যোগদান করতে চান লাঞ্চ, এখানে এই URL এ নেতা. 109 00:04:36,610 --> 00:04:38,080 প্রথম প্রথম স্বাভাবিক হিসাবে পরিবেশন করা, আসা. 110 00:04:38,080 --> 00:04:41,840 কিন্তু সময়ের সঙ্গে সঙ্গে, আমরা নিশ্চিত যে করব অংশগ্রহণ চাই সবচেয়ে যে কেউ 111 00:04:41,840 --> 00:04:43,640 নির্দিষ্ট সময় নির্ধারণের জিনিস হতে পারে. 112 00:04:43,640 --> 00:04:45,170 >> তাই স্ট্রিং. 113 00:04:45,170 --> 00:04:47,940 আমরা Zamyla-- যাদের আছে আপনি এখন সম্ভবত পূরণ করেছি 114 00:04:47,940 --> 00:04:50,750 সমস্যা সেট 1 টি, যার নাম এইভাবে উচ্চারিত হয়. 115 00:04:50,750 --> 00:04:53,570 এবং আপনি তার নাম টাইপ অনুমান যে একটি কম্পিউটার প্রোগ্রাম 116 00:04:53,570 --> 00:04:55,710 GetString মত ব্যবহার করে. 117 00:04:55,710 --> 00:04:57,890 উদ্ধার করার জন্য যারা স্ট্রোক, কিভাবে 118 00:04:57,890 --> 00:05:01,620 আমরা একটি প্রতিনিধিত্বমূলক সম্পর্কে যান স্ট্রিং, একটি শব্দ, একটি অনুচ্ছেদ, 119 00:05:01,620 --> 00:05:03,960 বা এই এখানে মত একাধিক অক্ষর? 120 00:05:03,960 --> 00:05:06,790 >> আমরা প্রায় শেষ সময় বলত ইন্টিজার এবং সমস্যা 121 00:05:06,790 --> 00:05:09,960 যে পূর্ণসংখ্যা ওভারফ্লো সঙ্গে উঠা এবং ফ্লোটিং পয়েন্ট মান 122 00:05:09,960 --> 00:05:12,190 এবং সমস্যা যে স্পষ্টতা মধ্যে উঠা. 123 00:05:12,190 --> 00:05:16,080 স্ট্রিং সঙ্গে, আমরা অন্তত একটি বিট আরো নমনীয়তা আছে 124 00:05:16,080 --> 00:05:17,970 strings-- কারণ বাস্তব বিশ্ব মধ্যে 125 00:05:17,970 --> 00:05:19,790 একটি সুন্দর অবাধ দৈর্ঘ্য হতে পারে. 126 00:05:19,790 --> 00:05:21,055 বেশ ছোট, বেশ দীর্ঘ. 127 00:05:21,055 --> 00:05:23,680 কিন্তু তারপর, আমরা চলুন এটি কম্পিউটারের কখনও কখনও করতে পারেন যে 128 00:05:23,680 --> 00:05:27,200 মেমরি আউট এবং না এমনকি চালানো একটি বড় যথেষ্ট স্ট্রিং সঞ্চয়. 129 00:05:27,200 --> 00:05:30,840 >> কিন্তু এখন জন্য, এর ঠাহর করা শুরু করা যাক এই বাক্সে কিছু একটি স্ট্রিং 130 00:05:30,840 --> 00:05:31,340 এখানে. 131 00:05:31,340 --> 00:05:36,410 তাই ছয় যেমন বক্স, প্রতিটি যা একটি অক্ষর বা প্রতিনিধিত্ব করে "গৃহস্থালির কাজ." 132 00:05:36,410 --> 00:05:40,646 C-H একটি r-- - তাই "গৃহস্থালি" যে প্রত্যাহার সি বিল্ট ইন ডেটা ধরন এক 133 00:05:40,646 --> 00:05:43,520 এবং কি চমৎকার আপনি ব্যবহার করতে পারেন যে ধরণের একটি বিল্ডিং ব্লক হিসাবে, 134 00:05:43,520 --> 00:05:47,880 একটি ধাঁধা টুকরা, যদি আপনি হবে, একটি গঠন আমরা চালিয়ে যাব যে তথ্য বড় ধরনের 135 00:05:47,880 --> 00:05:49,410 একটি "স্ট্রিং." কল 136 00:05:49,410 --> 00:05:53,650 >> এখন, কি চিন্তা সম্পর্কে দরকারী এই ভাবে স্ট্রিং জিনিষ সম্পর্কে? 137 00:05:53,650 --> 00:05:57,720 ওয়েল, এটা আমরা করতে পারেন যে সক্রিয় আউট আসলে এই কাঠামো লিভারেজ 138 00:05:57,720 --> 00:06:01,420 আসলে পৃথক অ্যাক্সেস অক্ষর একটি চমত্কার সহজবোধ্য ভাবে. 139 00:06:01,420 --> 00:06:04,099 আমি এগিয়ে যান এবং তৈরি করা যাচ্ছে না নামক একটি ফাইল "stringzero.c," 140 00:06:04,099 --> 00:06:05,765 আপনি চান যাই হোক না কেন কিন্তু আপনি কল করতে পারেন. 141 00:06:05,765 --> 00:06:08,500 এবং অবশ্যই এর ওয়েবসাইটে হয় ইতিমধ্যে আগাম এই যেমন, 142 00:06:08,500 --> 00:06:10,430 তাই আপনাকে করতে হবে না সবকিছু টাইপ করুন. 143 00:06:10,430 --> 00:06:13,820 >> এবং আমি এগিয়ে যেতে চলেছি এবং প্রথম int প্রধান অকার্যকর করতে. 144 00:06:13,820 --> 00:06:15,980 এবং কয়েক দিনের মধ্যে, আমরা সরাইয়া জ্বালাতন করা শুরু করব 145 00:06:15,980 --> 00:06:19,070 এটা কেন কি অকার্যকর এখানে, প্রধান পরের, এবং তাই ঘোষণা Int. 146 00:06:19,070 --> 00:06:21,180 কিন্তু এখন জন্য, এগিয়ে আসুন কপি পেস্ট করুন. 147 00:06:21,180 --> 00:06:23,455 >> আমি একটি স্ট্রিং নামক ঘোষণা করা যাচ্ছে না. 148 00:06:23,455 --> 00:06:26,920 এবং আমি থেকে ফিরে যাচ্ছি যাই হোক না কেন ব্যবহারকারী ধরনের GetString. 149 00:06:26,920 --> 00:06:29,170 এটি একটি সহজ হতে যাচ্ছে প্রোগ্রাম, কোন নির্দেশাবলী, 150 00:06:29,170 --> 00:06:31,336 আমি অন্ধভাবে করা যাচ্ছে না ব্যবহারকারী জানেন যে আশা 151 00:06:31,336 --> 00:06:32,600 কি এটা সহজ রাখা না. 152 00:06:32,600 --> 00:06:34,220 >> এবং এখন আমি জন্য একটি লুপ আছে যাচ্ছি. 153 00:06:34,220 --> 00:06:37,450 এবং আমার জন্য লুপ এর ভিতরে আমি আমি শূন্য পায় কোন int আছে যাচ্ছে. 154 00:06:37,450 --> 00:06:40,660 এবং আমি, আবার, মাত্র একটি কনভেনশন বেড়ে চলেছে জন্য একটি সূচক পরিবর্তনশীল, 155 00:06:40,660 --> 00:06:42,350 কিন্তু আমি চাই যাই হোক না কেন এই পেরেছিলাম. 156 00:06:42,350 --> 00:06:46,275 আমি ভাল than-- কম কাজ করতে যাচ্ছি , Zamyla নাম ছয় অক্ষর দীর্ঘ. 157 00:06:46,275 --> 00:06:48,150 আমি হার্ড যাচ্ছি এখন সেখানে কোড যে. 158 00:06:48,150 --> 00:06:49,730 >> এবং তারপর আমি ++. 159 00:06:49,730 --> 00:06:53,190 এবং এখন এই তরঙ্গায়িত ভিতরে ধনুর্বন্ধনী আমি printf, কি করতে যাচ্ছি 160 00:06:53,190 --> 00:06:55,460 এবং আমি এক প্রিন্ট করতে চান একটি সময়ে অক্ষর. 161 00:06:55,460 --> 00:06:58,227 তাই আমি% গ ব্যবহার করতে যাচ্ছি সম্ভবত প্রথম সময়. 162 00:06:58,227 --> 00:07:00,560 এবং তারপর আমি প্রতিটি মুদ্রণ করতে চান নিজস্ব লাইন চরিত্র. 163 00:07:00,560 --> 00:07:02,550 তাই আমি একটি করা যাচ্ছে না সামান্য ব্যাকস্ল্যাশ n আছে. 164 00:07:02,550 --> 00:07:03,640 বন্ধ উদ্ধৃতি. 165 00:07:03,640 --> 00:07:06,250 >> এবং এখন আমি এখানে কিছু করতে চান. 166 00:07:06,250 --> 00:07:10,610 আমি প্রিন্ট আউট করতে চান স্ট্রিং নির্দিষ্ট অক্ষর, 167 00:07:10,610 --> 00:07:13,670 গুলি, আমি iterating করছি ছয় পর্যন্ত শূন্য থেকে. 168 00:07:13,670 --> 00:07:17,150 অন্য কথায়, আমি চাই এর i'th অক্ষর মুদ্রণ. 169 00:07:17,150 --> 00:07:18,420 এখন কিভাবে এই আমি কি করতে পারেন? 170 00:07:18,420 --> 00:07:21,550 >> ভাল অনেক বাক্সে মত এখানে এই উপস্থাপনা, 171 00:07:21,550 --> 00:07:25,560 ধরনের, বক্সিং এর ধারণা ভেলকি দেখান আপ মধ্যে অক্ষর, আপনি একভাবে তা করতে পারে 172 00:07:25,560 --> 00:07:32,630 চিহ্নগুলি সিন্টেক্সের কেবল নির্দিষ্ট করে সি, আমি চরিত্র i'th এর এর প্রিন্ট আউট করতে চান. 173 00:07:32,630 --> 00:07:35,640 বর্গাকার বন্ধনী ব্যবহার করে আপনার কম্পিউটার এর কীবোর্ড 174 00:07:35,640 --> 00:07:38,910 একটি মার্কিন কীবোর্ড উপর যে সাধারণত আপনার রিটার্ন কি উপরে. 175 00:07:38,910 --> 00:07:42,630 >> তাই এই বেশ অধিকার না এখনো, আপনি লক্ষ্য করে হতে পারে. 176 00:07:42,630 --> 00:07:44,780 কিন্তু আমি ধরনের যাচ্ছি অন্ধভাবে এখানে এগিয়ে কামারশালা. 177 00:07:44,780 --> 00:07:47,020 এবং আমি স্ট্রিং 0 করতে করতে যাচ্ছি. 178 00:07:47,020 --> 00:07:50,860 আমি এই কাজ কিন্তু আগে, এর দেখতে দিন আমরা কিছু সাধারণ ভুল কহা করতে পারেন না. 179 00:07:50,860 --> 00:07:52,844 এই কম্পাইল করতে যাচ্ছে? 180 00:07:52,844 --> 00:07:54,510 না, আমি জিনিস আভা অনুপস্থিত করছি. 181 00:07:54,510 --> 00:07:55,280 লাইব্রেরি আমি শুনেছি. 182 00:07:55,280 --> 00:07:58,480 >> সুতরাং ফাইল হেডার যা আমি এখানে যোগ করতে চান হতে পারে? 183 00:07:58,480 --> 00:07:59,205 হ্যাঁ. 184 00:07:59,205 --> 00:08:01,580 >> শ্রোতা: আপনি প্রয়োজন স্ট্যান্ডার্ড ইনপুট / আউটপুট [শ্রবণাতীত] 185 00:08:01,580 --> 00:08:02,663 >> ডেভিড জে MALAN: চমৎকার. 186 00:08:02,663 --> 00:08:06,060 তাই আমি স্ট্যান্ডার্ড ইনপুট / আউটপুট প্রয়োজন. জন্য কি উদ্দেশ্য আমি স্ট্যান্ডার্ড ইনপুট / আউটপুট চান? 187 00:08:06,060 --> 00:08:06,670 Printf, জন্য. 188 00:08:06,670 --> 00:08:09,220 তাই stdio.h অন্তর্ভুক্ত. 189 00:08:09,220 --> 00:08:13,490 এবং আপনি আমি যে প্রস্তাব কি কারণে CS50 লাইব্রেরি? 190 00:08:13,490 --> 00:08:14,650 স্ট্রিং আছে. 191 00:08:14,650 --> 00:08:17,780 সুতরাং আমরা দেখতে পাবেন CS50 এর লাইব্রেরি করছে 192 00:08:17,780 --> 00:08:19,260 একটি স্ট্রিং এই ধারণা তৈরি. 193 00:08:19,260 --> 00:08:21,930 কিন্তু এখন জন্য, আপনি শুধু মনে করতে পারেন এটি একটি প্রকৃত তথ্য টাইপ. 194 00:08:21,930 --> 00:08:23,596 >> সুতরাং যে একটু পরিষ্কার করা হবে. 195 00:08:23,596 --> 00:08:27,060 এবং এখন আমি এগিয়ে যেতে চলেছি এবং প্রকৃতপক্ষে স্ট্রিং 0 করতে না. 196 00:08:27,060 --> 00:08:27,700 সংকলিত. 197 00:08:27,700 --> 00:08:28,370 তাই ভালো. 198 00:08:28,370 --> 00:08:32,799 তাই আমরা করতে পারেন জুম আমাকে ./string0 আরো ঘনিষ্ঠভাবে কি ঘটছে তা দেখতে. 199 00:08:32,799 --> 00:08:33,850 লিখুন. 200 00:08:33,850 --> 00:08:37,789 টু Z একটি এম ওয়াই এল একটি লিখুন. 201 00:08:37,789 --> 00:08:39,440 এবং আমরা, Zamyla নামের প্রিন্ট আউট করেছি. 202 00:08:39,440 --> 00:08:40,409 >> তাই যে বেশ ভাল. 203 00:08:40,409 --> 00:08:43,220 তাই এখন এর এগিয়ে যান এবং আবার এই প্রোগ্রাম চালানো, 204 00:08:43,220 --> 00:08:45,659 এবং Daven এর পূর্ণ নাম টাইপ করুন. 205 00:08:45,659 --> 00:08:46,450 আশ্চর্য, আশ্চর্য. 206 00:08:46,450 --> 00:08:48,021 লিখুন. 207 00:08:48,021 --> 00:08:48,520 হুম. 208 00:08:48,520 --> 00:08:51,750 আমরা Daven এর ছাপা না সঠিকভাবে পূর্ণ নাম. 209 00:08:51,750 --> 00:08:54,250 এখন এই সুস্পষ্ট হওয়া উচিত কারণ কি পশ্চাতের দৃশ্য, 210 00:08:54,250 --> 00:08:57,010 বাছাই করা, মূঢ় নকশা সিদ্ধান্ত? 211 00:08:57,010 --> 00:08:59,590 >> হ্যাঁ, আমি হার্ড কোডেড আমার লুপ জন্য ছয় ভিতরে. 212 00:08:59,590 --> 00:09:01,610 এখন আমি যে কারণ আমি, Zamyla এর নাম জানতাম 213 00:09:01,610 --> 00:09:02,776 ছয় অক্ষর হতে যাচ্ছে. 214 00:09:02,776 --> 00:09:04,720 কিন্তু এই না একটি সাধারণ সমাধান. 215 00:09:04,720 --> 00:09:07,720 এটি সক্রিয় আউট, তাই আমরা পরিবর্তনশীল করতে পারেন একটি স্ট্রিং এর দৈর্ঘ্য চিন্তা 216 00:09:07,720 --> 00:09:10,440 strlen একটি ফাংশন বলা কল করে. 217 00:09:10,440 --> 00:09:12,840 >> আবার, ইচ্ছাকৃতভাবে সংক্ষিপ্ত শুধু নামে 218 00:09:12,840 --> 00:09:14,450 টাইপ করতে এটি আরও বেশি সুবিধাজনক করা. 219 00:09:14,450 --> 00:09:17,170 কিন্তু যে সমার্থক এর একটি স্ট্রিং এর দৈর্ঘ্য পেয়ে. 220 00:09:17,170 --> 00:09:23,190 আমি আমার টার্মিনাল ফিরে যেতে চলেছি উইন্ডো এবং কম্পাইলার পুনরায় সঞ্চালন করা হয়. 221 00:09:23,190 --> 00:09:24,170 কিন্তু এটা আমার এ yelling এর. 222 00:09:24,170 --> 00:09:29,130 পরোক্ষভাবে প্রকাশক লাইব্রেরি ফাংশন ঘোষণা const-- int-স্বাক্ষরবিহীন ধরনের সঙ্গে strlen 223 00:09:29,130 --> 00:09:29,780 আমি হারিয়ে গেছি. 224 00:09:29,780 --> 00:09:30,590 সম্পূর্ণরূপে. 225 00:09:30,590 --> 00:09:32,940 >> সুতরাং, বিশেষ করে আপনার চোখের উপর চকচকে শুরু 226 00:09:32,940 --> 00:09:36,000 ভালো ত্রুটি বার্তা, ফোকাস সঙ্গে সত্যি বলতে প্রথম কয়েক শব্দের উপর. 227 00:09:36,000 --> 00:09:38,590 আমরা সমস্যা হয় জানেন লাইন 8, এখানে নির্দেশিত. 228 00:09:38,590 --> 00:09:40,500 এবং এটি স্ট্রিং 0.c আছে. 229 00:09:40,500 --> 00:09:43,580 পরোক্ষভাবে লাইব্রেরি ফাংশন strlen. 230 00:09:43,580 --> 00:09:47,000 সুতরাং যে সাধারণত যাচ্ছে ত্রুটির বার্তা একটি প্যাটার্ন হতে. 231 00:09:47,000 --> 00:09:49,190 পরোক্ষভাবে কিছু প্রকাশক. 232 00:09:49,190 --> 00:09:53,250 >> তাই সংক্ষিপ্ত, আমি করলো কি আছে এখানে, 8 লাইন থেকে সম্মান সঙ্গে কাজ করেছেন. 233 00:09:53,250 --> 00:09:56,880 হতে পারে কি সমাধান এমনকি হতে আপনি নিজের strlen ব্যবহার ছিল না তাহলে কি হবে? 234 00:09:56,880 --> 00:09:58,907 >> শ্রোতা: একটি ভিন্ন লাইব্রেরী অংশ? 235 00:09:58,907 --> 00:10:00,740 ডেভিড জে MALAN: পার্ট বিভিন্ন লাইব্রেরি. 236 00:10:00,740 --> 00:10:02,400 এটি ঘোষণা করা হয়, তাই, তাই কথা বলতে. 237 00:10:02,400 --> 00:10:07,510 এটা কিছু ফাইল উল্লেখ করা হয় stdio.h এবং cs50.h. তুলনায় অন্যান্য 238 00:10:07,510 --> 00:10:09,179 এখন যেখানে এটি সংজ্ঞায়িত করা হয়? 239 00:10:09,179 --> 00:10:12,220 যাও সৎ হবে, আপনি হয় ঠিক আছে আপনার মাথার উপরে বন্ধ এই জানি, 240 00:10:12,220 --> 00:10:13,640 অথবা আপনি এই Google এবং খুঁজে বের করতে. 241 00:10:13,640 --> 00:10:18,150 অথবা এই কি জানেন, আমি CS50 মধ্যে খোলা করেছি টার্মিনাল প্রোগ্রাম, প্রয়োগ, যা 242 00:10:18,150 --> 00:10:22,200 শুধু বড়, পূর্ণ পর্দা সংস্করণ কি জন্য gedit উইন্ডোর নীচে আছে. 243 00:10:22,200 --> 00:10:24,970 >> এবং এটি একটি আছে দেখা যাচ্ছে যে বলা একভাবে সংক্ষিপ্ত কমান্ড, 244 00:10:24,970 --> 00:10:29,280 আপনি টাইপ যেখানে ম্যানুয়াল, জন্য মানুষ এবং একটি ফাংশন এর নাম, আঘাত লিখুন 245 00:10:29,280 --> 00:10:32,240 আপনি মোটামুটি ফিরে পাবেন রহস্যময় ডকুমেন্টেশন. 246 00:10:32,240 --> 00:10:35,299 এটা যে সাধারণত শুধুমাত্র পাঠ্য এর এই মত সামান্য কিছু দেখায়. 247 00:10:35,299 --> 00:10:37,090 এটি একটি সামান্য অপ্রতিরোধ্য প্রথম নজরে. 248 00:10:37,090 --> 00:10:39,048 কিন্তু অকপটে আমি যাচ্ছি আমার চোখের উপর চকচকে দিন 249 00:10:39,048 --> 00:10:41,930 এবং শুধুমাত্র অংশ ফোকাস আমি মুহূর্ত জন্য যত্নশীল. 250 00:10:41,930 --> 00:10:42,780 >> এই যা. 251 00:10:42,780 --> 00:10:45,470 যা গঠনের দিক দিয়া মনে হচ্ছে কিছু আমি সাথে পরিচিত নই. 252 00:10:45,470 --> 00:10:48,080 প্রকৃতপক্ষে man পৃষ্ঠা, তাই কথা বলতে, আপনাকে বলতে হবে 253 00:10:48,080 --> 00:10:51,590 কি হেডার একটি ফাংশন ফাইল মত strlen সংজ্ঞায়িত করা হয়. 254 00:10:51,590 --> 00:10:54,170 তাই আমি gedit এ ফিরে যান এখন করা যাচ্ছে না. 255 00:10:54,170 --> 00:10:59,070 এবং আমি এগিয়ে যান যাচ্ছে এবং এখানে অন্তর্ভুক্ত যোগ করুন 256 00:10:59,070 --> 00:11:00,480 এবং ফাইল সংরক্ষণ করুন. 257 00:11:00,480 --> 00:11:04,300 >> আমি সঙ্গে পর্দা পরিষ্কার করা যাচ্ছে না কন্ট্রোল এল আপনি হতাশ হয়েছি. 258 00:11:04,300 --> 00:11:08,210 এবং আমি পুনরায় চালানো যাচ্ছে না string.0, এই সময় প্রনয়ন. 259 00:11:08,210 --> 00:11:11,790 ./string.0, Zamyla. 260 00:11:11,790 --> 00:11:15,020 যে আমাকে যেতে দাও কাজ করলো এগিয়ে এবং ড্যাভেনপোর্ট সঙ্গে এটি পুনরায় আরম্ভ করুন. 261 00:11:15,020 --> 00:11:15,860 লিখুন. 262 00:11:15,860 --> 00:11:17,730 এবং যে, খুব, কাজ করলো. 263 00:11:17,730 --> 00:11:21,220 >> সুতরাং আমরা এই তুলনায় কিছুটা ভালো করতে পারেন যদিও, আমরা পরিপাটি কিছু শুরু করতে পারেন 264 00:11:21,220 --> 00:11:23,257 শুধু একটি সামান্য বিট আপ. 265 00:11:23,257 --> 00:11:25,590 এবং আমি আসলে যাচ্ছি এখন অন্য একটি জিনিস পরিচয় করিয়ে দিতে. 266 00:11:25,590 --> 00:11:28,930 আমি এগিয়ে যান যাচ্ছে এবং বিভিন্ন ফাইলের মধ্যে এই সংরক্ষণ করুন. 267 00:11:28,930 --> 00:11:31,770 এবং আমি কল করা যাচ্ছে না এই ফাইলটি string1.c মাত্র 268 00:11:31,770 --> 00:11:34,620 কোড সঙ্গে সামঞ্জস্যপূর্ণ হতে আপনি অনলাইন খুঁজে পেতে সক্ষম হবেন. 269 00:11:34,620 --> 00:11:37,050 >> এবং এর মধ্যে উপর ফোকাস ঠিক একই কোড. 270 00:11:37,050 --> 00:11:39,000 এটা আমি করেছি দেখা যাচ্ছে যে গ্রহণ হয়েছে ধরনের 271 00:11:39,000 --> 00:11:42,600 মঞ্জুর আসলে আমার ল্যাপটপ যে, এবং ঘুরে, CS50 প্রয়োগ 272 00:11:42,600 --> 00:11:47,450 মেমরি অনেক, অনেক আছে র্যাম, স্থান বাইট অনেক 273 00:11:47,450 --> 00:11:48,920 যা আমি স্ট্রিং সংরক্ষণ করতে পারেন. 274 00:11:48,920 --> 00:11:53,560 >> কিন্তু বাস্তবতা আমি দীর্ঘ টাইপ করে যথেষ্ট, এবং যথেষ্ট স্ট্রোক, 275 00:11:53,560 --> 00:11:56,170 আমি তত্ত্ব ধরনের পারা আরো অক্ষর 276 00:11:56,170 --> 00:11:58,830 আমার কম্পিউটার ছাড়া শারীরিকভাবে জন্য মেমরি আছে. 277 00:11:58,830 --> 00:11:59,830 এবং এই সমস্যা হয়. 278 00:11:59,830 --> 00:12:03,050 অনেক কোন int শুধুমাত্র মত তত্ত্ব, তাই উচ্চ গণনা, 279 00:12:03,050 --> 00:12:06,600 আপনি শুধুমাত্র তাই অনেক অক্ষর ঠুসা পারেন আপনার কম্পিউটার এর RAM উপস্থিত না বা র্যান্ডম মধ্যে 280 00:12:06,600 --> 00:12:07,920 প্রবেশ স্মৃতি. 281 00:12:07,920 --> 00:12:11,140 >> তাই আমি ভাল কহা ছিল এই সমস্যা, এমনকি 282 00:12:11,140 --> 00:12:13,660 এটি একটি বিরল হতে পারে, যদিও কোণ ক্ষেত্রে, তাই কথা বলতে. 283 00:12:13,660 --> 00:12:15,670 প্রায়ই যে ঘটবে না, ঘটতে পারে. 284 00:12:15,670 --> 00:12:18,815 এটা এবং যদি আমি না কহা এবং এটি জন্য প্রোগ্রাম, 285 00:12:18,815 --> 00:12:20,300 আমার প্রোগ্রাম কি কে জানে কি করতে পারে. 286 00:12:20,300 --> 00:12:22,220 , যাই হোক না কেন পুনরায় বুট করার, ফ্রিজ স্তব্ধ. 287 00:12:22,220 --> 00:12:24,490 কিছু ঘটতে পারে প্রত্যাশিত. 288 00:12:24,490 --> 00:12:27,120 >> সুতরাং আমি কি করতে যাচ্ছি এখন, অত: পর সত্যিই, 289 00:12:27,120 --> 00:12:31,630 কখনও অন্ধভাবে আমি আগে এর মত একটি ভেরিয়েবল ব্যবহার 290 00:12:31,630 --> 00:12:36,790 ফেরত মান নির্ধারিত হয়েছে GetString মত কিছু অন্যান্য ফাংশন, 291 00:12:36,790 --> 00:12:40,200 আমি নিশ্চিত করা যাচ্ছে না যে তার মান বৈধ. 292 00:12:40,200 --> 00:12:44,280 তাই আমি পড়া থাকার থেকে শুধুমাত্র জানেন GetString জন্য CS50 এর ডকুমেন্টেশন, 293 00:12:44,280 --> 00:12:49,020 যা শেষ পর্যন্ত আমরা এ নির্দেশ করব, যে GetString একটি বিশেষ চিহ্ন প্রদান 294 00:12:49,020 --> 00:12:53,610 সব শূন্য, n-ইউ এল এল নামক যদি কিছু গোলমাল, ক্যাপ. 295 00:12:53,610 --> 00:12:55,650 >> তাই সাধারণত, এটি একটি স্ট্রিং প্রদান করে. 296 00:12:55,650 --> 00:12:59,700 কিন্তু এটা n-ইউ, L-L-- প্রদান করে অন্যথায় যদি আমরা শেষ পর্যন্ত সত্যিই কি দেখতে পাবেন 297 00:12:59,700 --> 00:13:01,790 যে শুধু অর্থ যথাযথভাবে কিছু খারাপ ঘটেছে. 298 00:13:01,790 --> 00:13:05,560 এখন এই অনেক শয়তান মত, মানে, আমি, সি এখানে একটি শর্ত পরীক্ষা করতে পারবেন 299 00:13:05,560 --> 00:13:08,830 এর সমান শূন্য না করে. 300 00:13:08,830 --> 00:13:11,930 আপনি আগে দেখা এই না করেছি তাই, শুধু মানে এই সমান না. 301 00:13:11,930 --> 00:13:15,290 >> তাই এটা বিপরীত , প্রত্যাহার, যা সমান সমান,, 302 00:13:15,290 --> 00:13:18,940 একক থেকে ভিন্ন নিয়োগ, যা সমান. 303 00:13:18,940 --> 00:13:23,030 এর সমান না, তাই যদি শূন্য, শুধুমাত্র তারপর কি 304 00:13:23,030 --> 00:13:25,980 আমি এই লাইন কোড এক্সিকিউট করতে চান. 305 00:13:25,980 --> 00:13:28,080 তাই অন্য কথায়, আমি অন্ধভাবে আকর্ষণীয় আগে 306 00:13:28,080 --> 00:13:30,919 এবং iterating শুরু এর উপর, এবং চিকিত্সা 307 00:13:30,919 --> 00:13:33,710 এটা একটা ক্রম হিসাবে যদিও অক্ষর, আমি প্রথম চেক করা যাচ্ছে না 308 00:13:33,710 --> 00:13:37,900 একটি মিনিট অপেক্ষা করুন, স্পষ্টভাবে না হয় এই বিশেষ মান সমান শূন্য? 309 00:13:37,900 --> 00:13:40,030 >> যদি তা না হয়, খারাপ কিছু ঘটতে পারে. 310 00:13:40,030 --> 00:13:43,080 এবং এখন জন্য, যে খারাপ জিনিস অনুমান আপনার প্রোগ্রাম ক্র্যাশ মানে কি ঘটছে, 311 00:13:43,080 --> 00:13:45,070 এবং আপনি অগত্যা পুনরুদ্ধার করতে পারবেন না. 312 00:13:45,070 --> 00:13:46,800 তাই অকপটে, এটা uglier দেখায়. 313 00:13:46,800 --> 00:13:48,660 এটা কোন ধরনের এ এক নজরে এখন মাথা খাচ্ছে. 314 00:13:48,660 --> 00:13:50,780 কিন্তু এই আরো পরিণত হবে দীর্ঘ আগে পরিচিত. 315 00:13:50,780 --> 00:13:52,920 >> কিন্তু আমি উত্থাপন করা যাচ্ছে না এখন অন্য একটি উন্নতি. 316 00:13:52,920 --> 00:13:54,660 যে শুদ্ধি একটি উন্নতি. 317 00:13:54,660 --> 00:13:58,800 আমার প্রোগ্রাম, কারণ এখন আরো সঠিক বিরল ক্ষেত্রে যে যথেষ্ট নয় মেমরি 318 00:13:58,800 --> 00:14:01,180 , আমি এটা হ্যান্ডেল করা হবে বিদ্যমান, এবং আমি কিছুই করব. 319 00:14:01,180 --> 00:14:02,680 আমি অন্তত বিপর্যস্ত হবে না. 320 00:14:02,680 --> 00:14:05,000 >> কিন্তু এখানে এর একটি চূড়ান্ত সংস্করণ না দেওয়া. 321 00:14:05,000 --> 00:14:07,690 এবং একটি ফাইল string2.c বলা হয়. 322 00:14:07,690 --> 00:14:10,190 আমি যে পেস্ট করা যাচ্ছে না শুধু একটা মুহূর্ত জন্য একই কোড, 323 00:14:10,190 --> 00:14:14,210 এবং আমি এই উজ্জ্বল করা যাচ্ছে না শুধু একটা মুহূর্ত জন্য এখানে লাইন, 11,,. 324 00:14:14,210 --> 00:14:18,179 এখন বাস্তবতা যে স্মার্ট কম্পাইলার হয় ঝনঝন শব্দ আমাদের জন্য এই ঠিক করতে পারে মত 325 00:14:18,179 --> 00:14:19,970 দৃশ্যগুলো পিছনে আমাদের কখনো না জেনে. 326 00:14:19,970 --> 00:14:24,670 কিন্তু এই সম্পর্কে চিন্তা করা যাক মৌলিকভাবে একটি সমস্যাযুক্ত নকশা হিসেবে. 327 00:14:24,670 --> 00:14:29,010 >> কোড এই লাইন, অবশ্যই, হয় বলার অপেক্ষা রাখে না, কিছু পরিবর্তনশীল আমি 0 থেকে আরম্ভ. 328 00:14:29,010 --> 00:14:30,260 যে বেশ সহজবোধ্য. 329 00:14:30,260 --> 00:14:34,691 এবং আবার এই কি বিবৃতি, এখানে, আমি করছেন, ++? 330 00:14:34,691 --> 00:14:37,066 আমরা আগে দেখা যায়, কিন্তু আমরা করেছি সত্যিই এটি সম্পর্কে কথা বলতে না. 331 00:14:37,066 --> 00:14:37,900 >> শ্রোতা: আমি বৃদ্ধিশীল. 332 00:14:37,900 --> 00:14:39,191 >> ডেভিড জে MALAN: বৃদ্ধিশীল আমি. 333 00:14:39,191 --> 00:14:41,890 এর মাধ্যমে প্রতি পুনরাবৃত্তির তাই এই লুপ, প্রত্যেক চক্র, 334 00:14:41,890 --> 00:14:43,570 আপনি এক দ্বারা আমি বৃদ্ধিশীল করছি. 335 00:14:43,570 --> 00:14:45,740 সুতরাং এটা বড়, এবং বড় পায়, এবং লুপ শেষ পর্যন্ত বড়. 336 00:14:45,740 --> 00:14:46,810 এটা কিভাবে বিনষ্ট করে? 337 00:14:46,810 --> 00:14:49,430 আচ্ছা এই মধ্যম আছে আমরা আগে ব্যবহার করেছি যা অবস্থা. 338 00:14:49,430 --> 00:14:52,500 আপনি দেখা করেছি পি সেট এগিয়ে যান. 339 00:14:52,500 --> 00:14:53,880 >> কিন্তু এই কথা কি? 340 00:14:53,880 --> 00:14:58,352 তাই নিম্নলিখিত লুপ কি দীর্ঘ আমি কি কম হিসাবে? 341 00:14:58,352 --> 00:14:59,810 শ্রোতা: স্ট্রিং এর দৈর্ঘ্য. 342 00:14:59,810 --> 00:15:01,518 ডেভিড জে MALAN: স্ট্রিং এর দৈর্ঘ্য. 343 00:15:01,518 --> 00:15:04,300 সুতরাং এটা বেশ পরিচ্ছন্নভাবে অনুবাদ যে অর্থে ইংরেজি. 344 00:15:04,300 --> 00:15:08,810 এখন সমস্যা হয় প্রত্যেক সময় আমি যে তত্ত্ব এই লুপের মাধ্যমে বারবার, 345 00:15:08,810 --> 00:15:10,000 আমি এই প্রশ্ন জিজ্ঞাসা করছি. 346 00:15:10,000 --> 00:15:12,250 আমি স্ট্রিং দৈর্ঘ্য চেয়ে কম? 347 00:15:12,250 --> 00:15:14,500 আমি স্ট্রিং দৈর্ঘ্য চেয়ে কম? 348 00:15:14,500 --> 00:15:18,380 >> এখন আমি প্রতিটি পুনরাবৃত্তির পরিবর্তন করা হয়? 349 00:15:18,380 --> 00:15:18,880 এটা হয়. 350 00:15:18,880 --> 00:15:19,629 ++ এর কারণ. 351 00:15:19,629 --> 00:15:21,700 তাই প্রতি পুনরাবৃত্তির আমি পেয়ে বড় হয়. 352 00:15:21,700 --> 00:15:25,411 কিন্তু এর বড় হচ্ছে, অথবা ছোট, বা এ সব পরিবর্তন? 353 00:15:25,411 --> 00:15:25,910 নং 354 00:15:25,910 --> 00:15:30,240 নকশা পদ, অক্ষ এক তাই বরাবর যা আমরা কোড মূল্যায়নের চেষ্টা 355 00:15:30,240 --> 00:15:32,610 বর্গ মধ্যে, এই ধরনের মূঢ় মনে. 356 00:15:32,610 --> 00:15:34,690 >> আপনি আক্ষরিক মত, প্রতি পুনরাবৃত্তির 357 00:15:34,690 --> 00:15:37,110 এই লুপ জিজ্ঞাসা আবার একই অভিশাপ প্রশ্ন, 358 00:15:37,110 --> 00:15:40,770 এবং আবার, এবং আবার, এবং আক্ষরিক এটা না পরিবর্তন করতে হবে. 359 00:15:40,770 --> 00:15:44,220 আমি স্পর্শ করছি না অন্তত যদি এর বিষয়বস্তু পরিবর্তন করার চেষ্টা করছে. 360 00:15:44,220 --> 00:15:46,610 তাই আমি এই তুলনায় কিছুটা ভালো করতে পারেন. 361 00:15:46,610 --> 00:15:49,530 >> এবং আমি কি করতে যাচ্ছি না মাত্র এক পরিবর্তনশীল আমি ঘোষণা 362 00:15:49,530 --> 00:15:53,330 কিন্তু একটি দ্বিতীয় পরিবর্তনশীল আমি ইচ্ছামত হবে কিন্তু সাধারনত, এন কল. 363 00:15:53,330 --> 00:15:55,940 এন সমান বরাদ্দ এর স্ট্রিং দ্বারা. 364 00:15:55,940 --> 00:15:59,090 এবং তারপর এখানে উপর, আমি যাচ্ছি তাই, একটি সামান্য চতুর অপ্টিমাইজেশান কি 365 00:15:59,090 --> 00:16:03,460 দিনের শেষে, যে কথা বলতে কোন সঠিক বা কোন কম সঠিক 366 00:16:03,460 --> 00:16:04,260 আগের চেয়ে. 367 00:16:04,260 --> 00:16:05,500 কিন্তু এটি একটি ভাল নকশা. 368 00:16:05,500 --> 00:16:09,480 আসলে আমি ব্যবহার করছি যে কম সময়, কম CPU চক্র, তাই 369 00:16:09,480 --> 00:16:14,040 একই উত্তর, কথা বলতে প্রশ্ন, কিন্তু মাত্র একবার. 370 00:16:14,040 --> 00:16:17,870 >> যে সাধারণ কোন প্রশ্ন উন্নতি নীতি, 371 00:16:17,870 --> 00:16:21,294 একটি প্রোগ্রাম এর দক্ষতা, বলে? 372 00:16:21,294 --> 00:16:21,991 হ্যাঁ? 373 00:16:21,991 --> 00:16:23,699 শ্রোতা: কেন আপনি কি করতে [শ্রবণাতীত] ব্যবহার? 374 00:16:23,699 --> 00:16:25,760 375 00:16:25,760 --> 00:16:27,010 ডেভিড জে MALAN: গুড প্রশ্ন. 376 00:16:27,010 --> 00:16:30,690 তাই কেন আমরা শেষ ++ করা না আমি পরিবর্তে আমি শুরুতে? 377 00:16:30,690 --> 00:16:33,070 এই ক্ষেত্রে, এটা আছে কোন কার্যকরী প্রভাব. 378 00:16:33,070 --> 00:16:36,670 এবং সাধারণভাবে, আমি ঝোঁক postfix অপারেটর ব্যবহার 379 00:16:36,670 --> 00:16:41,750 এটি একটি সামান্য আরো স্পষ্ট হিসাবে যাতে অপারেশন ঘটছে যখন. 380 00:16:41,750 --> 00:16:46,670 >> যারা অপরিচিত জন্য, অন্য আছে আপনি ++ আমি কাজ করতে পারে, যেখানে বিবৃতি. 381 00:16:46,670 --> 00:16:48,747 এই বৈশিষ্ট্যগুলি হয় এই ক্ষেত্রে সমতুল্য 382 00:16:48,747 --> 00:16:51,080 অন্য কিছুই নেই, কারণ যে না incrementation কাছাকাছি. 383 00:16:51,080 --> 00:16:54,435 কিন্তু আপনার সাথে আসা আপ করতে পারেন ক্ষেত্রে এবং লাইনের কোড 384 00:16:54,435 --> 00:16:55,810 যা যে একটি পার্থক্য তোলে. 385 00:16:55,810 --> 00:16:57,810 তাই সাধারণত, আমরা কি না এমনকি এই একটি বিষয়ে কথা বলুন. 386 00:16:57,810 --> 00:17:00,690 উন্মুক্তভাবে, এটা আপনার তোলে কোড sexier নেই, এবং সাজানোর বর্ষাতি, 387 00:17:00,690 --> 00:17:01,776 এবং কম অক্ষর. 388 00:17:01,776 --> 00:17:04,859 কিন্তু বাস্তবতা, এটি একটি অনেক কঠিন হয় আমি আমার মন মোড়ানো এমনকি মনে করি, 389 00:17:04,859 --> 00:17:07,319 কখনও কখনও, এটা প্রায়, অপারেশন আদেশ. 390 00:17:07,319 --> 00:17:09,750 একটি সরাইয়া হিসাবে, যদি তাই আপনি যদি সত্যিই, এই পছন্দ না 391 00:17:09,750 --> 00:17:14,650 এমনকি এই ধরনের ছবি, যদিও এখানে ক্লিক করুন, আপনি করতে পারেন আমি + = 1, 392 00:17:14,650 --> 00:17:18,880 যা uglier সংস্করণ postfix না incrementation জন্য একই ধারণা. 393 00:17:18,880 --> 00:17:22,250 >> আমি এই এবং আপনি বলে এটা মজা করা উচিত, 394 00:17:22,250 --> 00:17:25,140 কিন্তু আপনি কোড দেখতে আসতে হবে দীর্ঘ আগে সুন্দর কিছু. 395 00:17:25,140 --> 00:17:27,160 >> [হাস্য] 396 00:17:27,160 --> 00:17:28,410 >> ডেভিড জে MALAN: রাইট? 397 00:17:28,410 --> 00:17:29,360 হ্যাঁ. 398 00:17:29,360 --> 00:17:30,480 মাঝখানে প্রশ্ন. 399 00:17:30,480 --> 00:17:32,146 >> শ্রোতা: আপনি int-n বলতে হবে? 400 00:17:32,146 --> 00:17:34,020 ডেভিড জে MALAN: আপনি কি int-n বলতে হবে না. 401 00:17:34,020 --> 00:17:37,670 ইতিমধ্যে আমরা কোন int বলেন কারণ, আপনি আবার এটা বলতে হবে না. 402 00:17:37,670 --> 00:17:41,820 ধরা n যাও আছে আমি একই ডাটা টাইপ করা. 403 00:17:41,820 --> 00:17:43,310 সুতরাং যে এখানে শুধু একটি সুবিধা আছে. 404 00:17:43,310 --> 00:17:44,058 হ্যাঁ. 405 00:17:44,058 --> 00:17:47,806 >> শ্রোতা: আপনি উপর যেতে পারি মুদ্রণ অক্ষর গুলি বন্ধনী আমি আবার? 406 00:17:47,806 --> 00:17:48,930 ডেভিড জে MALAN: অবশ্যই. 407 00:17:48,930 --> 00:17:52,110 সুতরাং% গ, শেষ থেকে প্রত্যাহার সময়, শুধু একটি স্থানধারক. 408 00:17:52,110 --> 00:17:53,930 এখানে একটি গৃহস্থালি করা মানে. 409 00:17:53,930 --> 00:17:56,780 ব্যাকস্ল্যাশ এন, অবশ্যই, শুধু মানে এখানে একটি লাইন বিরতি রাখা. 410 00:17:56,780 --> 00:17:59,540 ঠিক এখন, পাতা, তাই নতুন সিনট্যাক্স এই টুকরা. 411 00:17:59,540 --> 00:18:03,730 এবং এই আক্ষরিক দখল, বলছে না স্ট্রিং গুলি বলা হয় এবং পেতে তার 412 00:18:03,730 --> 00:18:06,050 i'th চরিত্র, তাই কথা বলতে. 413 00:18:06,050 --> 00:18:10,590 >> এবং আমি i'th চরিত্র বলে রাখা কারণ এই লুপ প্রতিটি পুনরাবৃত্তির 414 00:18:10,590 --> 00:18:14,540 আমরা মুদ্রণ হিসাবে যদিও এটা আউট, প্রথম গুলি বন্ধনী 0, 415 00:18:14,540 --> 00:18:15,780 একজন প্রোগ্রামার বলতে পারে. 416 00:18:15,780 --> 00:18:18,680 তারপর তারপর, বন্ধনী 1 S বন্ধনী 2, তারপর 3, 4. 417 00:18:18,680 --> 00:18:21,610 তবে অবশ্যই এটি একটি পরিবর্তনশীল, তাই আমি ঠিক আমি এটি প্রকাশ করে. 418 00:18:21,610 --> 00:18:23,900 >> কী, যদিও, বুঝতে হয়, আপনি না করেছি, বিশেষ করে যদি 419 00:18:23,900 --> 00:18:26,358 এই বিশ্বের acclimating হয়েছে প্রোগ্রামিং, যেখানে আমরা সব 420 00:18:26,358 --> 00:18:28,950 অতি, শূন্য থেকে গণনা করা বলে মনে হচ্ছে এখন শূন্য থেকে গণনা শুরু. 421 00:18:28,950 --> 00:18:35,130 কারণ স্ট্রিং, প্রথম অক্ষর, , Zamyla মধ্যে Z ভালো বা খারাপ জন্য 422 00:18:35,130 --> 00:18:40,490 পাঁচ নম্বর শূন্য এ বাস যাচ্ছে. 423 00:18:40,490 --> 00:18:48,210 >> ঠিক আছে, তাই আমাকে আনা যাক এখানে, Zamyla আমাদের ফিরে 424 00:18:48,210 --> 00:18:50,746 এবং সত্যিই কি যাচ্ছে দেখতে ফণা নীচে. 425 00:18:50,746 --> 00:18:52,370 তাই টাইপ কাস্টিং এই ধারণা আছে. 426 00:18:52,370 --> 00:18:53,800 আপনি আসলে থাকতে পারে ইতিমধ্যে এই সঙ্গে অভিনয়, 427 00:18:53,800 --> 00:18:55,970 হয়তো হ্যাকার জন্য পি সংস্করণ এক সেট. 428 00:18:55,970 --> 00:19:00,320 কিন্তু টাইপ কাস্টিং শুধু বোঝায় সি ক্ষমতা এবং কিছু অন্যান্য ভাষা 429 00:19:00,320 --> 00:19:03,170 অন্য এক তথ্য টাইপ রূপান্তর. 430 00:19:03,170 --> 00:19:05,450 >> এখন আমরা কিভাবে এই দেখতে হতে পারে চমত্কার-straightforwardly? 431 00:19:05,450 --> 00:19:08,530 সুতরাং, শুরুতে এই, রিকল হয় ইংরেজি বর্ণমালার. 432 00:19:08,530 --> 00:19:11,265 এবং কনটেক্সট থেকে প্রত্যাহার ভালো একটি সপ্তাহ আগে হওয়া ASCII হয়. 433 00:19:11,265 --> 00:19:13,790 আমেরিকান স্ট্যান্ডার্ড কোড তথ্য বিনিময়ের জন্য. 434 00:19:13,790 --> 00:19:17,080 যা শুধু একটি সত্যিই দীর্ঘ পথ অক্ষর থেকে একটি ম্যাপিং বলছে 435 00:19:17,080 --> 00:19:19,370 সংখ্যা, এবং নম্বর থেকে অক্ষর. 436 00:19:19,370 --> 00:19:22,940 >> তাই এখানে একটি এম, বিন্দু বিন্দু মাধ্যমে বিন্দু, লাইন আপ, প্রত্যাহার, 437 00:19:22,940 --> 00:19:25,582 আপ দশমিক সংখ্যা 65. 438 00:19:25,582 --> 00:19:27,290 এবং আমরা কথা বলতে না স্পষ্টভাবে এই সম্পর্কে, 439 00:19:27,290 --> 00:19:29,850 কিন্তু নিশ্চয় অনুরূপ আছে ছোট হাতের অক্ষর সংখ্যা. 440 00:19:29,850 --> 00:19:30,820 এবং প্রকৃতপক্ষে, আছে. 441 00:19:30,820 --> 00:19:33,730 বিশ্বের কিছু বছর করার সিদ্ধান্ত নিয়েছে আগে যে সামান্য একটি, একটি ছোট হাতের অক্ষর, 442 00:19:33,730 --> 00:19:35,020 97 হতে যাচ্ছে. 443 00:19:35,020 --> 00:19:38,010 এবং সামান্য খ যাচ্ছে তাই ঘোষণা 98, এবং হবে. 444 00:19:38,010 --> 00:19:40,200 >> এবং অন্য কোন কী জন্য আপনার কীবোর্ড আছে, 445 00:19:40,200 --> 00:19:42,190 বিট অনুরূপ একটি প্যাটার্ন হতে যাচ্ছে. 446 00:19:42,190 --> 00:19:44,540 বা, equivalently, একটি দশমিক সংখ্যা. 447 00:19:44,540 --> 00:19:47,110 তাই হাতের প্রশ্ন, তারপর, আমরা কিভাবে করতে পারেন 448 00:19:47,110 --> 00:19:49,400 আসলে ফণা নীচে এই দেখতে? 449 00:19:49,400 --> 00:19:51,539 তাই আমি আবার জন্য gedit যেতে উপর করা যাচ্ছে না. 450 00:19:51,539 --> 00:19:53,330 বরং টাইপ তুলনায় গোড়া থেকে এই এক, 451 00:19:53,330 --> 00:19:55,330 আমি এগিয়ে যান যাচ্ছে এবং শুধু কিছু খুলুন 452 00:19:55,330 --> 00:19:58,350 আজ এর কোড থেকে হওয়া ASCII শূন্য বলা হয়. 453 00:19:58,350 --> 00:20:01,210 >> এবং ASCII শূন্য ভালো দেখায়. 454 00:20:01,210 --> 00:20:02,710 তাই আসুন এই নিয়ে আমাদের হৃদয় ও মন জয় মোড়ানো যাক. 455 00:20:02,710 --> 00:20:04,969 সুতরাং প্রথম, আমি মন্তব্য করেছি যা সুন্দর কোড. 456 00:20:04,969 --> 00:20:07,010 এটা আক্ষরিক কারণ কি আশা আমাকে বলছে, 457 00:20:07,010 --> 00:20:08,950 য়ের বড়হাতের অক্ষর ছোটহাতের অক্ষর জন্য একটি ম্যাপিং প্রদর্শন. 458 00:20:08,950 --> 00:20:13,690 এখন আমি বেশ জানি না আমি কি যে মানে, তাই এর আবিষ্কার করা যাক. 459 00:20:13,690 --> 00:20:16,870 >> ইংরেজি, হয়তো কিছুটা techie ইংরেজি, 460 00:20:16,870 --> 00:20:20,660 কি লাইন 18 প্রদর্শিত না আমাদের জন্য কাজ করা? 461 00:20:20,660 --> 00:20:21,500 মাত্র 18 লাইন. 462 00:20:21,500 --> 00:20:22,430 এটা কি inducing এর? 463 00:20:22,430 --> 00:20:25,192 এটা কি এখানে মরা যাচ্ছে? 464 00:20:25,192 --> 00:20:26,100 >> শ্রোতা: একটি লুপ. 465 00:20:26,100 --> 00:20:26,630 >> ডেভিড জে MALAN: একটি লুপ. 466 00:20:26,630 --> 00:20:28,463 এবং কিভাবে অনেক বার বারবার যাচ্ছে যে? 467 00:20:28,463 --> 00:20:31,562 468 00:20:31,562 --> 00:20:33,270 শ্রোতা: [ভয়েসেস interposing] ছয় বার. 469 00:20:33,270 --> 00:20:34,830 ডেভিড জে MALAN: নেই ছয় বার. 470 00:20:34,830 --> 00:20:35,840 শ্রোতা: 26 বার. 471 00:20:35,840 --> 00:20:36,560 ডেভিড জে MALAN: 26 বার. 472 00:20:36,560 --> 00:20:37,060 হ্যাঁ, দুঃখিত. 473 00:20:37,060 --> 00:20:37,960 26 বার. 474 00:20:37,960 --> 00:20:38,460 কেন? 475 00:20:38,460 --> 00:20:41,590 ওয়েল, এটা একটু অদ্ভুত, কিন্তু আমি 65 থেকে গণনা শুরু করেছি. 476 00:20:41,590 --> 00:20:43,300 যা অদ্ভুত, কিন্তু ভুল হয় না. 477 00:20:43,300 --> 00:20:44,610 এটা বলতে প্রতি খারাপ না. 478 00:20:44,610 --> 00:20:46,980 এবং আমি করছি যে শুধুমাত্র কারণ, এই যেমন, 479 00:20:46,980 --> 00:20:50,455 আমি ধরনের anticipating করছি যে মূলধন 65. 480 00:20:50,455 --> 00:20:53,330 এখন এই সবচেয়ে মার্জিত উপায় হার্ড কোড ধরনের, এই কাজ করতে 481 00:20:53,330 --> 00:20:56,130 গূঢ় মান যে কোন এক কখনও মনে রাখবেন বলে আশা করা হচ্ছে. 482 00:20:56,130 --> 00:21:00,155 >> কিন্তু এখন জন্য, আমি লক্ষ্য করছি 65 প্লাস 26 মাধ্যমে এই পর্যন্ত করছেন. 483 00:21:00,155 --> 00:21:03,030 দৃশ্যত আমি চাই না, কারণ আমার মাথার মধ্যে পাটীগণিত কি. 484 00:21:03,030 --> 00:21:04,440 তাই আমি কম্পাইলার এটা করতে দেওয়া হবে. 485 00:21:04,440 --> 00:21:08,600 কিন্তু তারপর প্রতিটি লুপ উপর, প্রতিটি পুনরাবৃত্তির লুপ, আমি বৃদ্ধিশীল করছি. 486 00:21:08,600 --> 00:21:10,196 >> তাই এখন এই একটি সামান্য রহস্যপূর্ণ. 487 00:21:10,196 --> 00:21:13,320 কিন্তু আমরা মৌলিক বিল্ডিং থাকতে হবে যা দিয়ে ব্লক এই বুঝতে. 488 00:21:13,320 --> 00:21:15,510 % গ একটি গৃহস্থালি জন্য একটি স্থানধারক. 489 00:21:15,510 --> 00:21:19,010 % আমি কোন int জন্য একটি স্থানধারক. 490 00:21:19,010 --> 00:21:23,310 এবং এটি দ্বারা এই ব্যবহার দেখা যাচ্ছে যে নতুন বাক্য গঠন, এই বন্ধনীসমন্বিত, তাই 491 00:21:23,310 --> 00:21:26,100 কথা বলতে, একটি ডাটা টাইপ, তাই একটি বন্ধনীর ভিতরে, 492 00:21:26,100 --> 00:21:32,270 আমি চিকিত্সা কম্পাইলার বাধ্য করতে পারে আমি না একটি পূর্ণসংখ্যা হয়, কিন্তু একটি গৃহস্থালি হিসাবে. 493 00:21:32,270 --> 00:21:35,520 >> যার ফলে আমার চরিত্র দেখাচ্ছে যে সংখ্যা সমতুল্য. 494 00:21:35,520 --> 00:21:37,986 এখন নিচে এখানে, এই কোড অনেক সুন্দর অভিন্ন. 495 00:21:37,986 --> 00:21:39,860 আমি শুধু করতে চেয়েছিলেন সুপার স্পষ্ট সত্য 496 00:21:39,860 --> 00:21:42,095 আমি 97 এ শুরু করছি যে, যা একটি ছোট হাতের অক্ষর. 497 00:21:42,095 --> 00:21:44,080 আপ 26 আরো অক্ষর মাধ্যমে. 498 00:21:44,080 --> 00:21:46,970 এবং আমি আবার অনুরুপ করছি আমি ঢালাই, তাই কথা বলতে. 499 00:21:46,970 --> 00:21:49,160 অথবা টাইপ কাস্টিং আমি, তাই কথা বলতে. 500 00:21:49,160 --> 00:21:51,420 >> একটি গৃহস্থালি কোন int থেকে. 501 00:21:51,420 --> 00:21:55,760 তাই শেষ ফলাফল হতে যাচ্ছে, উন্মুক্তভাবে, তথ্য আমরা ইতিমধ্যে জানি. 502 00:21:55,760 --> 00:21:59,411 আমি করতে যাচ্ছি ASCII-0 গ বিন্দু না dot--. 503 00:21:59,411 --> 00:22:02,160 লক্ষ্য করুন, আপনি সম্ভবত যে ভুল আমি ঘটনাক্রমে করেনি. 504 00:22:02,160 --> 00:22:03,820 ASCII-0 না. 505 00:22:03,820 --> 00:22:06,090 এখন আমি ./ascii 0 কি করতে যাচ্ছি. 506 00:22:06,090 --> 00:22:09,050 আমি জুম, এবং দুর্ভাগ্যবশত হবে এটা পর্দা বন্ধ স্ক্রল যাচ্ছে. 507 00:22:09,050 --> 00:22:15,060 কিন্তু আমরা একটি সম্পূর্ণ চার্ট দেখতে 97 একটি মানচিত্র, 98 খ মানচিত্র, 508 00:22:15,060 --> 00:22:18,931 এবং আমরা আরও স্ক্রল আপ যদি একটি, অবশ্যই, 65 মানচিত্র. 509 00:22:18,931 --> 00:22:21,180 তাই এই বলে যে শুধুমাত্র আমরা কি প্রচার করে থাকেন, 510 00:22:21,180 --> 00:22:25,310 এই সমানতা আছে, হয় বাস্তবতা আসলে কেস. 511 00:22:25,310 --> 00:22:28,000 তাই এই দ্রুত পরিবর্তন. 512 00:22:28,000 --> 00:22:31,220 আমার ASCII-1.c খুলুন. 513 00:22:31,220 --> 00:22:38,070 এবং কেমন, এই চতুর বিজ্ঞপ্তি , এই ব্যাখ্যা. 514 00:22:38,070 --> 00:22:41,770 এই ASCII-1.c, এবং এই পাগল জিনিস লক্ষ্য করা. 515 00:22:41,770 --> 00:22:45,120 >> এবং সত্যিই এই হৃদয় পায় কি কম্পিউটার করছেন. 516 00:22:45,120 --> 00:22:48,150 এমনকি আমরা মানুষের যদিও letters-- পদ গণনা করা হয় না 517 00:22:48,150 --> 00:22:50,380 আমি চিন্তা শুরু করবেন না, সমস্ত অধিকার একটি তারপর বো, 518 00:22:50,380 --> 00:22:52,590 এবং শারীরিক বস্তু গণনা যারা ব্যবহার. 519 00:22:52,590 --> 00:22:58,680 আপনি অবশ্যই আমি চাই বলতে পারেন বলা কিছু পরিবর্তনশীল আরম্ভ সি 520 00:22:58,680 --> 00:23:03,220 কিন্তু আমি এই anything-- বলা যেতে পারে তাই সি মূলধন এ সক্রিয়া করা হয় 521 00:23:03,220 --> 00:23:07,560 >> দিনের শেষে, কম্পিউটার কারণ আপনি সংরক্ষণ করছেন কি না, না যত্ন 522 00:23:07,560 --> 00:23:10,170 এটি শুধুমাত্র আপনি চান কিভাবে বজায় রাখে যে তথ্য উপস্থাপন. 523 00:23:10,170 --> 00:23:13,560 আপনি কম্পিউটার চান কিভাবে বিট যে প্যাটার্ন ব্যাখ্যা? 524 00:23:13,560 --> 00:23:16,320 তাই এই কিছু আমি না হয় সাধারণত করছেন সুপারিশ করবে. 525 00:23:16,320 --> 00:23:19,500 এটা সত্যিই শুধু একটি উদাহরণ বহন করা যে আপনি একেবারে পারেন 526 00:23:19,500 --> 00:23:22,049 একটি গৃহস্থালি একটি পূর্ণসংখ্যা আরম্ভ. 527 00:23:22,049 --> 00:23:24,090 কারণ নীচে একটি গৃহস্থালি ফণা, অবশ্যই, 528 00:23:24,090 --> 00:23:26,170 0 থেকে 255 শুধু একটি সংখ্যা. 529 00:23:26,170 --> 00:23:28,540 >> সুতরাং আপনি অবশ্যই করতে পারেন কোন int এর ভিতরে রাখা. 530 00:23:28,540 --> 00:23:30,890 এবং কি এই হয় প্রমান আমরা যে 531 00:23:30,890 --> 00:23:34,040 এক থেকে রূপান্তর করতে পারেন এখানে, অন্য টাইপ করুন, 532 00:23:34,040 --> 00:23:36,780 শেষ পর্যন্ত একই জিনিস মুদ্রণ. 533 00:23:36,780 --> 00:23:44,760 এবং সত্য, এই আমি online-- ঠিক করবে এখানে, আবার, এই বলতে বোঝানো হয়. 534 00:23:44,760 --> 00:23:48,610 আমার অনলাইন এই পরিষ্কার করা যাক, এবং আমরা করব হিসাবে প্রয়োজন একটি অনলাইন walkthrough মধ্যে দেখুন, 535 00:23:48,610 --> 00:23:50,280 কি আছে অভিপ্রেত ছিল. 536 00:23:50,280 --> 00:23:50,960 >> ঠিক আছে. 537 00:23:50,960 --> 00:23:53,892 এখন জড়িত তাই শেষ উদাহরণ একটি এবং খ এর এবং তারপর আমরা করব 538 00:23:53,892 --> 00:23:54,850 একটি খাঁজ আপ জিনিষ নিতে. 539 00:23:54,850 --> 00:23:58,330 একটি এবং বো এর এবং এর সঙ্গে তাই মূলধন গ এর 540 00:23:58,330 --> 00:24:01,560 এবং সমানতা উহার, আসুন এখানে, এই উদাহরণ কটাক্ষপাত করা. 541 00:24:01,560 --> 00:24:02,752 আরেকটি কোড উদাহরণ. 542 00:24:02,752 --> 00:24:04,460 আমরা যে এক খোলা পাবেন ইতিমধ্যে তৈরি, আমরা তাই 543 00:24:04,460 --> 00:24:06,440 এটি টাইপ করতে হবে না সব গোড়া থেকে আউট. 544 00:24:06,440 --> 00:24:09,420 >> এবং দলিল বিজ্ঞপ্তি আমরা একাধিক হেডার ব্যবহার করছেন 545 00:24:09,420 --> 00:24:13,240 যা মধ্যে ফাইল, আমাদের নতুন বন্ধু, string.h. 546 00:24:13,240 --> 00:24:15,597 এখন এই প্রথম এ দেখায়, এক নজরে, একটু রহস্যপূর্ণ. 547 00:24:15,597 --> 00:24:18,180 কিন্তু আমরা যুক্তি না পারেন, এর দেখতে দিন এখানে কি ঘটছে মাধ্যমে. 548 00:24:18,180 --> 00:24:21,150 প্রথম আমি ব্যবহারকারী থেকে একটি পংক্তি পেতে, এবং আমি একটি পরিবর্তনশীল স্ট্রিং করা 549 00:24:21,150 --> 00:24:22,286 বলা হচ্ছে. 550 00:24:22,286 --> 00:24:24,090 আগে থেকে কপি পেস্ট. 551 00:24:24,090 --> 00:24:27,250 লাইন 22, আমি দৃশ্যত আছি ঠিক কি কি করছেন 552 00:24:27,250 --> 00:24:30,760 আমি iterating করছি, একটি মুহূর্ত আগে এর মধ্যে অক্ষর উপর. 553 00:24:30,760 --> 00:24:34,780 >> এবং এখানে নতুন কৌশল ব্যবহার করা হয় স্ট্রিং দৈর্ঘ্য, গৌণ অপ্টিমাইজেশান 554 00:24:34,780 --> 00:24:37,930 এন স্ট্রিং দৈর্ঘ্য সংরক্ষণ, বরং আবার strlen কলিং, 555 00:24:37,930 --> 00:24:38,850 এবং আবার, এবং আবার. 556 00:24:38,850 --> 00:24:41,120 এবং শুধু তোমার n কম যে চেক. 557 00:24:41,120 --> 00:24:43,330 এখন এখানে, কিছু পেতে একটু আকর্ষণীয়. 558 00:24:43,330 --> 00:24:45,980 কিন্তু এটি শুধু একটি আবেদন এই একই নতুন ধারণা. 559 00:24:45,980 --> 00:24:48,470 ইংরেজি না কি আমি প্রতিনিধিত্ব গুলি বন্ধনী? 560 00:24:48,470 --> 00:24:51,772 561 00:24:51,772 --> 00:24:54,260 >> শ্রোতা: প্রতিটি হিসাব চরিত্র [শ্রবণাতীত]. 562 00:24:54,260 --> 00:24:55,926 >> ডেভিড জে MALAN: প্রতিটি অক্ষর হিসাব. 563 00:24:55,926 --> 00:24:58,680 এমনকি আরো succinctly, এর বন্ধনী আমি প্রতিনিধিত্ব কি? 564 00:24:58,680 --> 00:25:00,950 কি আপনি বলতে. 565 00:25:00,950 --> 00:25:04,084 এখানে ঘটনাস্থলেই আপনি না করা. 566 00:25:04,084 --> 00:25:06,375 >> শ্রোতা: Well-- 567 00:25:06,375 --> 00:25:09,500 ডেভিড জে MALAN: শব্দ যদি যাই তাই আপনি যদি স্ট্রিং starts-- যা, Zamyla, হয় 568 00:25:09,500 --> 00:25:12,380 শ্রোতা: --you মোকাবেলা অক্ষর separately-- 569 00:25:12,380 --> 00:25:13,690 ডেভিড জে MALAN: গুড. 570 00:25:13,690 --> 00:25:14,190 ঠিক. 571 00:25:14,190 --> 00:25:17,940 বর্গাকার বন্ধনী স্বরলিপি আপনি পারবেন প্রতিটি অক্ষর পৃথকভাবে অ্যাক্সেস করতে, 572 00:25:17,940 --> 00:25:21,120 তাই এর বন্ধনী 0 হতে যাচ্ছে স্ট্রিং প্রথম অক্ষর. 573 00:25:21,120 --> 00:25:24,110 এর বন্ধনী 1 হতে যাচ্ছে তাই ঘোষণা দ্বিতীয়, এবং. 574 00:25:24,110 --> 00:25:28,050 তাই প্রশ্ন আমি জিজ্ঞাসা করছি, এখানে, এই অবস্থায় কি? 575 00:25:28,050 --> 00:25:33,984 এর বৃহত্তর i'th চরিত্র কম বা তার সমান একটি ছোট হাতের অক্ষর? 576 00:25:33,984 --> 00:25:36,400 এবং এই, এখানে, মানে কি ডবল ampersands সঙ্গে? 577 00:25:36,400 --> 00:25:36,800 শ্রোতা (একসাথে) এবং. 578 00:25:36,800 --> 00:25:37,210 ডেভিড জে MALAN: আর. 579 00:25:37,210 --> 00:25:38,418 এই মাত্র সমতুল্য. 580 00:25:38,418 --> 00:25:42,310 এবং সি একটি শব্দ নয়, আপনি আছে ব্যবহার, মরণ, এবং চিহ্ন; এম্পারসেন্ড. 581 00:25:42,310 --> 00:25:47,520 এবং এই, বিপরীতক্রমে, জিজ্ঞাসা করা হয় অক্ষর i'th এর এর কম বা সমান 582 00:25:47,520 --> 00:25:49,030 z-ছোট হাতের অক্ষর? 583 00:25:49,030 --> 00:25:52,440 এবং আবার, এখানে যেখানে অন্তর্নিহিত বুঝতে 584 00:25:52,440 --> 00:25:54,550 একটি বাস্তবায়ন কম্পিউটার জ্ঞান করে তোলে. 585 00:25:54,550 --> 00:25:57,330 আমি যদিও, যে লক্ষ্য করুন বিন্দু বিন্দু বিন্দু আছে উপর, 586 00:25:57,330 --> 00:26:04,410 ছোট হাতের মধ্যে z-এর মাধ্যমে একটি ভালো দেখায় আপ 97 থেকে সংলগ্ন মান. 587 00:26:04,410 --> 00:26:07,820 >> এবং য়ের বড়হাতের অক্ষর ছোটহাতের জন্য একই 65 এ শুরু. 588 00:26:07,820 --> 00:26:10,410 তাই Takeaway, তারপর, যে, ইংরেজিতে হয় 589 00:26:10,410 --> 00:26:12,760 আপনি বর্ণনা করবেন কিভাবে 24 কি করছে লাইন? 590 00:26:12,760 --> 00:26:15,736 591 00:26:15,736 --> 00:26:16,728 হ্যাঁ? 592 00:26:16,728 --> 00:26:21,575 >> শ্রোতা: 24 এটি দেখতে পরীক্ষা আছে কিনা প্রতিটি অক্ষর একটি ছোট হাতের অক্ষর ব্যবহার করা হয়. 593 00:26:21,575 --> 00:26:24,700 ডেভিড জে MALAN: এটা কিনা পরীক্ষা আছে প্রতিটি অক্ষর একটি ছোট হাতের অক্ষর হয়. 594 00:26:24,700 --> 00:26:28,590 তাই, এমনকি আরো succinctly, হয় এর ছোট হাতের অক্ষর i'th চরিত্র? 595 00:26:28,590 --> 00:26:30,690 যে আমরা সব কথাটি এখানে প্রকাশ, 596 00:26:30,690 --> 00:26:33,750 একটি সামান্য cryptically, কিন্তু শেষ পর্যন্ত বেশ-straightforwardly. 597 00:26:33,750 --> 00:26:36,480 অক্ষর ছোট হাতের অক্ষর ব্যবহার i'th এর এর? 598 00:26:36,480 --> 00:26:40,130 >> যদি তাই হয়, এবং এখানে যেখানে জিনিস একটু মন নমন পেতে 599 00:26:40,130 --> 00:26:44,760 শুধু একটা মুহূর্ত জন্য, যদি তাই হয়, যান এগিয়ে এবং একটি অক্ষর প্রিন্ট আউট. 600 00:26:44,760 --> 00:26:47,360 সুতরাং শুধু এই একটি স্থানধারক, কিন্তু কি চরিত্র? 601 00:26:47,360 --> 00:26:53,710 কেন আমি বন্ধনী আমি কাজ করছি বিয়োগ এখানে এই অভিব্যক্তি? 602 00:26:53,710 --> 00:26:55,110 >> আচ্ছা এখানে প্যাটার্ন লক্ষ্য করা. 603 00:26:55,110 --> 00:26:57,380 প্রকৃত সংখ্যা আরও অনেক ব্যাপার না. 604 00:26:57,380 --> 00:27:02,700 কিন্তু 97 বিজ্ঞপ্তি কিভাবে দূরে দূরে 65 থেকে? 605 00:27:02,700 --> 00:27:03,560 >> শ্রোতা: 32. 606 00:27:03,560 --> 00:27:04,480 >> ডেভিড জে MALAN: 32. 607 00:27:04,480 --> 00:27:06,890 কিভাবে দূরে দূরে 66 থেকে 98 করা হয়? 608 00:27:06,890 --> 00:27:07,740 >> শ্রোতা: 32. 609 00:27:07,740 --> 00:27:09,890 >> ডেভিড জে MALAN: বিগ সি থেকে লিটল গ? 610 00:27:09,890 --> 00:27:10,420 32. 611 00:27:10,420 --> 00:27:14,550 তাই থেকে 32 হপস আছে অন্য এক চিঠি. 612 00:27:14,550 --> 00:27:17,790 তাই অকপটে আমি পারা যে এই সহজ করে. 613 00:27:17,790 --> 00:27:20,400 কিন্তু তারপর আমি হার্ড ধরনের কোডিং করছি এই নিম্ন স্তরের বোঝার 614 00:27:20,400 --> 00:27:21,740 কোন পাঠক কি কখনও যে বুঝতে হবে. 615 00:27:21,740 --> 00:27:25,080 তাই আমি এটা হিসাবে বিশ্বজনীন করা যাচ্ছে না, আমি জানি ছোট হাতের অক্ষর বড় হয়. 616 00:27:25,080 --> 00:27:28,400 আমি হাতের অক্ষরে জানি ছোট মান, হাস্যকর ভাবে. 617 00:27:28,400 --> 00:27:33,216 >> কিন্তু এই কার্যকরভাবে সমতুল্য এর বন্ধনী আমি থেকে 32 বিয়োগ বলছে. 618 00:27:33,216 --> 00:27:35,430 এই প্রেক্ষাপটে তাই অক্ষর, অক্ষর যদি 619 00:27:35,430 --> 00:27:38,950 একটি ছোট হাতের অক্ষর হতে হবে একটি, এবং আমি 32 বিয়োগ, 620 00:27:38,950 --> 00:27:43,442 কি যে প্রভাব আছে, গাণিতিকভাবে, একটি ছোট হাতের অক্ষর? 621 00:27:43,442 --> 00:27:44,400 শ্রোতা: Capitalizes-- 622 00:27:44,400 --> 00:27:45,691 ডেভিড জে MALAN: এটা বড় হাতের অক্ষরে. 623 00:27:45,691 --> 00:27:48,440 এবং প্রকৃতপক্ষে, এই কেন আমাদের প্রোগ্রাম শূন্য পুঁজিতে বলা হয়. 624 00:27:48,440 --> 00:27:51,590 এই প্রোগ্রামটি হয় একটি অক্ষর বড় হাতের অক্ষরে, 625 00:27:51,590 --> 00:27:54,580 যদি এটি চেক পরে প্রকৃতপক্ষে একটি ছোট হাতের অক্ষর. 626 00:27:54,580 --> 00:27:59,810 অন্যথা, লাইন 30, আমি যদি কি করবেন এটা আমি যে একটি ছোট হাতের অক্ষর না 627 00:27:59,810 --> 00:28:02,852 একটি নির্দিষ্ট সময়ে এখানে ক্লিক করুন লুপ পুনরাবৃত্তির. 628 00:28:02,852 --> 00:28:03,890 শুধু এটি প্রিন্ট আউট. 629 00:28:03,890 --> 00:28:07,010 >> তাই কাপড় পরিবর্তন করবেন না যে এমনকি ছোট হাতের অক্ষর না. 630 00:28:07,010 --> 00:28:10,790 নিজেকে সীমাবদ্ধ রাখুন সামান্য Z মাধ্যমে সামান্য একটি. 631 00:28:10,790 --> 00:28:12,730 এখন এই মোটামুটি রহস্যময় হয়. 632 00:28:12,730 --> 00:28:15,230 কিন্তু দিনের শেষে, এই কিভাবে আমরা একবার একটি সময় উপর, হয় 633 00:28:15,230 --> 00:28:16,460 কিছু বাস্তবায়ন ছিল. 634 00:28:16,460 --> 00:28:19,780 আমি পরিবর্তে পুঁজিতে খুলুন এক, ওহ ভগবান ধন্যবাদ. 635 00:28:19,780 --> 00:28:22,320 একটি ফাংশন আছে উপরের বলা যে 636 00:28:22,320 --> 00:28:25,410 শুধু কি আমরা সবকিছু একটি মোটামুটি নিম্ন পর্যায়ে. 637 00:28:25,410 --> 00:28:28,752 >> এখন উপরের আকর্ষণীয় এটি একটি ফাইল ঘোষণা করা হয়, কারণ, 638 00:28:28,752 --> 00:28:31,210 এবং আপনি শুধুমাত্র এই জানতে চাই ডকুমেন্টেশন চেক করে, 639 00:28:31,210 --> 00:28:35,730 বা বর্গ, যেখানে, বলে, বলা হচ্ছে এটি একটি ফাইল নামক ctype.h মধ্যে, বিদ্যমান. 640 00:28:35,730 --> 00:28:37,630 তাই এই আমাদের আরেকটি নতুন বন্ধু. 641 00:28:37,630 --> 00:28:40,750 এবং উপরের ঠিক আছে যাও তার নাম সুপারিশ কি. 642 00:28:40,750 --> 00:28:44,860 >> আপনি মধ্যে একটি আর্গুমেন্ট হিসাবে, পাস করতে পারেন এই প্রথম বন্ধনী, কিছু চরিত্র. 643 00:28:44,860 --> 00:28:48,390 আমি i'th চরিত্র পাস করা যাচ্ছে না আমাদের অভিনব নতুন নোটেশন ব্যবহার করে এর 644 00:28:48,390 --> 00:28:49,870 বর্গাকার বন্ধনী জড়িত. 645 00:28:49,870 --> 00:28:53,391 এবং একটি অনুমান নিতে, বিনিময়ে কি ঊর্ধ্ব মান দৃশ্যত যাচ্ছে 646 00:28:53,391 --> 00:28:53,890 হতে? 647 00:28:53,890 --> 00:28:56,460 648 00:28:56,460 --> 00:28:57,770 একটি বড় হাতের অক্ষর. 649 00:28:57,770 --> 00:28:58,620 একটি বড় হাতের অক্ষর. 650 00:28:58,620 --> 00:29:02,330 >> তাই আমি একটি ছোট হাতের অক্ষর মধ্যে পাস করে, আশা করছি, উপরের সংজ্ঞা দ্বারা, 651 00:29:02,330 --> 00:29:05,600 এটি একটি ফিরে যাচ্ছে অন্যথা য়ের বড়হাতের অক্ষর ছোটহাতের এ, 652 00:29:05,600 --> 00:29:08,590 এটি একটি ছোট হাতের অক্ষর না হলে প্রথম স্থান, আমি এটি প্রিন্ট আউট. 653 00:29:08,590 --> 00:29:10,800 এবং প্রকৃতপক্ষে, লক্ষ্য এখানে দ্বিতীয় বন্ধু. 654 00:29:10,800 --> 00:29:13,840 নেই শুধু উপরের উপস্থিত করার জন্য, কিন্তু, কম, যা 655 00:29:13,840 --> 00:29:16,200 আসলে আমার জন্য যে প্রশ্নের উত্তর. 656 00:29:16,200 --> 00:29:19,730 >> এখন এই জিনিস লিখেছে যে কেহ, 10s বছর আগে, আপনি জানেন কি? 657 00:29:19,730 --> 00:29:23,840 ঊর্ধ্ব এবং বাস্তবায়িত হয় এই মত কোড ব্যবহার করে কম. 658 00:29:23,840 --> 00:29:27,270 কিন্তু আবার, সামঞ্জস্যপূর্ণ দূরে নিষ্কাশিত এই ধারণা, 659 00:29:27,270 --> 00:29:29,190 বাছাই করা, নিম্ন স্তর বাস্তবায়ন বিবরণ. 660 00:29:29,190 --> 00:29:32,600 এবং মানুষের কাঁধের উপর দাঁড়িয়ে যারা ফাংশন ব্যবহার করে, আমাদের আগে এসেছিলেন 661 00:29:32,600 --> 00:29:36,300 উপরের মত এবং কম, যা wonderfully হয় যথেষ্ট চমত্কারভাবে হয় 662 00:29:36,300 --> 00:29:40,190 তারা কি বলতে নামে, হয় একটি চমৎকার দৃষ্টান্ত দত্তক গ্রহণ করা. 663 00:29:40,190 --> 00:29:44,040 >> এখন, এটা আমি পড়তে যদি দেখা যাচ্ছে যে জন্য man পৃষ্ঠা, উপরের থেকে বলে, 664 00:29:44,040 --> 00:29:45,010 আমি অন্য কিছু শিখতে. 665 00:29:45,010 --> 00:29:46,890 তাই মানুষ Toupper. 666 00:29:46,890 --> 00:29:48,050 এটি একটি সামান্য অপ্রতিরোধ্য. 667 00:29:48,050 --> 00:29:51,110 কিন্তু বিজ্ঞপ্তি, এখানে যে উল্লেখ আছে আমি ব্যবহার করা উচিত যে হেডার ফাইল. 668 00:29:51,110 --> 00:29:54,460 একটি সরাইয়া, কারণ এই হিসাবে বিভ্রান্তিকর, ফাংশন 669 00:29:54,460 --> 00:29:59,070 আপনি ints পরিবর্তে অক্ষর ব্যবহার ত্রুটি পরীক্ষা কারণে. 670 00:29:59,070 --> 00:30:01,260 কিন্তু আমরা সম্ভবত আসবো যে ফিরে ভবিষ্যতে. 671 00:30:01,260 --> 00:30:05,910 >> কিন্তু উপরের পরিবর্তিত, এখানে, বিজ্ঞপ্তি যদি সম্ভব অক্ষর গ বড়হাতের. 672 00:30:05,910 --> 00:30:07,674 সুতরাং যে বেশ সহজবোধ্য. 673 00:30:07,674 --> 00:30:09,340 এবং এখন এর একটি সামান্য আরো সুনির্দিষ্ট হতে দিন. 674 00:30:09,340 --> 00:30:12,750 এর অংশ তাকান ফিরতি মূল্য অধীনে man পৃষ্ঠা. 675 00:30:12,750 --> 00:30:15,420 ফিরে মান হয় রূপান্তরিত চিঠি. 676 00:30:15,420 --> 00:30:18,690 বা C, যদি রূপান্তর , সম্ভব ছিল না 677 00:30:18,690 --> 00:30:20,250 যেখানে গ মূল ইনপুট. 678 00:30:20,250 --> 00:30:24,140 যা আমি থেকে, এখানে থেকে জানি ঊর্ধ্ব থেকে যুক্তি. 679 00:30:24,140 --> 00:30:25,780 >> তাই এই Takeaway কি? 680 00:30:25,780 --> 00:30:28,060 ফিরে মান হয় রূপান্তরিত চিঠি, 681 00:30:28,060 --> 00:30:32,110 বা গ, মূল অক্ষর, যদি রূপান্তর করা সম্ভব ছিল না. 682 00:30:32,110 --> 00:30:36,460 কি উন্নতি সেইজন্য আমি করতে পারেন আমার কোড এর নকশা করা? 683 00:30:36,460 --> 00:30:37,146 হ্যাঁ? 684 00:30:37,146 --> 00:30:38,810 >> শ্রোতা: আপনি অন্য অপসারণ করতে পারেন. 685 00:30:38,810 --> 00:30:40,810 ডেভিড জে MALAN: আমি করতে পারেন অন্য বিবৃতি অপসারণ, 686 00:30:40,810 --> 00:30:42,510 এবং শুধুমাত্র অন্য বিবৃতি. 687 00:30:42,510 --> 00:30:44,150 >> শ্রোতা: আপনি [শ্রবণাতীত] অপসারণ করতে পারেন. 688 00:30:44,150 --> 00:30:46,310 >> ডেভিড জে MALAN: আমি করতে পারেন পুরো কাঁটাচামচ অপসারণ 689 00:30:46,310 --> 00:30:48,209 রাস্তা, The অন্যথায় যদি পুরাপুরি. 690 00:30:48,209 --> 00:30:50,250 তাই প্রকৃতপক্ষে, আমাকে খুলুন এই চূড়ান্ত সংস্করণ, 691 00:30:50,250 --> 00:30:55,540 যদি,-2 পুঁজিতে এবং কিভাবে ঠিক বিজ্ঞপ্তি আপনি, সেক্সি, কোড এখন হচ্ছে হবে, 692 00:30:55,540 --> 00:31:00,040 যে আমি কিছু থেকে কমে করেছি সাত বা তাই মাত্র চার লাইন, 693 00:31:00,040 --> 00:31:03,850 আমি যে উদ্দেশ্যে কার্যকারিতা কেবল উপরের আহ্বান করে, 694 00:31:03,850 --> 00:31:09,410 এর বন্ধনী আমি, এবং মুদ্রণ ক্ষণস্থায়ী আউট, স্থানধারক% গ সঙ্গে, 695 00:31:09,410 --> 00:31:11,090 যে বিশেষ চরিত্র. 696 00:31:11,090 --> 00:31:14,560 >> এখন তর্কসাপেক্ষ, একটি বাগ আছে, অথবা একটি বাগ অন্তত ঝুঁকি, 697 00:31:14,560 --> 00:31:15,350 এই প্রোগ্রাম. 698 00:31:15,350 --> 00:31:18,200 তাই শুধু ফিরে আসা আগে Takeaway থেকে, 699 00:31:18,200 --> 00:31:21,820 আমি সম্ভবত কি কি করা উচিত এই প্রোগ্রাম এটি আরো জোরালো করা, 700 00:31:21,820 --> 00:31:24,974 কোন উপায় আছে যাতে এটা করতে পারেন এমনকি বিরল ক্ষেত্রে, বিপর্যস্ত? 701 00:31:24,974 --> 00:31:26,390 শ্রোতা: যদি শূন্য না নিশ্চিত করুন. 702 00:31:26,390 --> 00:31:28,056 ডেভিড জে MALAN: যদি শূন্য না নিশ্চিত করুন. 703 00:31:28,056 --> 00:31:31,030 সত্যিই তাই, এই সুপার করা সঠিক, আমি ভালো কিছু করতে হবে 704 00:31:31,030 --> 00:31:35,300 তারপর শূন্য না হয়, যদি এগিয়ে যান এবং চালানো 705 00:31:35,300 --> 00:31:38,470 কোড এই লাইন, যা আমি করতে পারেন, তাহলে যে ভালো ইন্ডেন্ট, 706 00:31:38,470 --> 00:31:39,870 এবং তারপর আমার নিকট যুগল রাখা. 707 00:31:39,870 --> 00:31:41,550 একসঙ্গে দুটি ধারণা এর tying তাই ভাল. 708 00:31:41,550 --> 00:31:42,429 হ্যাঁ? 709 00:31:42,429 --> 00:31:44,470 শ্রোতা: আপনি ব্যবহার করা যায়নি একটি পরিবর্তে, যখন লুপ কি? 710 00:31:44,470 --> 00:31:47,270 ডেভিড জে MALAN: পারেনি আমি একটি বিক্ষোভ যখন লুপ কি? 711 00:31:47,270 --> 00:31:50,020 শ্রোতা: --you নিশ্চিত করতে চাই আপনি আসলে [শ্রবণাতীত] যে. 712 00:31:50,020 --> 00:31:51,728 ডেভিড জে MALAN: পারেনি আপনি যদি একটি যখন ব্যবহার? 713 00:31:51,728 --> 00:31:52,450 সংক্ষিপ্ত উত্তর, না. 714 00:31:52,450 --> 00:31:54,700 আপনি চলেছেন কারণ অন্য কোণ ক্ষেত্রে পরিচয় করিয়ে দিতে. 715 00:31:54,700 --> 00:31:56,660 স্ট্রিং শূন্য দৈর্ঘ্য হয়. 716 00:31:56,660 --> 00:31:59,600 উদাহরণস্বরূপ, যদি আমি আঘাত কখনও, Zamyla টাইপ না, লিখুন. 717 00:31:59,600 --> 00:32:02,490 আমি ফিরে একটি প্রকৃত আপনি হাতে করা যাচ্ছে না স্ট্রিং, আমরা অবশেষে দেখতে পাবেন, 718 00:32:02,490 --> 00:32:03,780 যে শূন্য অক্ষর আছে. 719 00:32:03,780 --> 00:32:05,630 এটা এখনও একটি পংক্তি, এটা শুধু অতি অল্প. 720 00:32:05,630 --> 00:32:07,960 কিন্তু আপনি যখন একটি বিক্ষোভ ব্যবহার করা হলে, আপনি অন্ধভাবে যাচ্ছেন 721 00:32:07,960 --> 00:32:10,050 সঙ্গে কিছু করতে চেষ্টা স্ট্রিং সম্মান, 722 00:32:10,050 --> 00:32:12,537 এবং কিছুই হতে যাচ্ছে. 723 00:32:12,537 --> 00:32:18,607 >> শ্রোতা: হ্যাঁ, আপনি যদি কি [শ্রবণাতীত] s-- যখন 724 00:32:18,607 --> 00:32:21,190 ডেভিড জে MALAN: ওহ আমি দেখতে রাখা ব্যবহারকারী থেকে একটি পংক্তি পেয়ে. 725 00:32:21,190 --> 00:32:23,525 তাই সংক্ষিপ্ত উত্তর, আপনি , এবং জালাতন রাখতে পারে 726 00:32:23,525 --> 00:32:26,150 তাদের আপনি যে একটি স্ট্রিং দিতে মেমরি মাপসই যথেষ্ট ছোট. 727 00:32:26,150 --> 00:32:26,700 একেবারে. 728 00:32:26,700 --> 00:32:27,630 আমি না করতে বেছে নেওয়া হয়েছে. 729 00:32:27,630 --> 00:32:30,505 তারা আমাকে স্ট্রিং আমি দিতে না চান, আমি প্রস্থান করছি, আমি প্রদান করছি. 730 00:32:30,505 --> 00:32:33,260 কিন্তু একেবারে, যে উদ্দেশ্যে, আপনি একেবারে যে কাজ করতে পারে. 731 00:32:33,260 --> 00:32:37,500 >> তাই গ্রন্থাগারের এর হেডার ফাইল যে আমরা এখন এখানে, এই সঙ্গে পরিচিত হন. 732 00:32:37,500 --> 00:32:41,550 স্ট্যান্ডার্ড ইনপুট / আউটপুট, cs50.h, string.h, ctype.h, এবং প্রকৃতপক্ষে, অন্যদের আছে. 733 00:32:41,550 --> 00:32:44,460 আপনি কিছু আবিষ্কৃত হয়েছে math.h. গণিত লাইব্রেরি 734 00:32:44,460 --> 00:32:48,200 কিন্তু আমার, এখন, আপনাকে পরিচয় করিয়ে দেওয়া এই সম্পদ যে CS50 কর্মীরা, ডেভিন, 735 00:32:48,200 --> 00:32:50,630 এবং রব, এবং গেব বিশেষ একত্র করা হয়েছে. 736 00:32:50,630 --> 00:32:52,630 যে শীঘ্রই লিঙ্ক স্থাপন করবে কোর্স এর ওয়েবসাইট. 737 00:32:52,630 --> 00:32:54,870 এটা CS50 রেফারেন্স বলা হচ্ছে. 738 00:32:54,870 --> 00:32:58,230 >> শুধু আপনি একটি দ্রুত দিতে যা অনুসরণ হিসাবে এটি স্বাদ, কাজ করে. 739 00:32:58,230 --> 00:33:00,740 আমার reference.cs50.net যান. 740 00:33:00,740 --> 00:33:02,990 আপনি বাম হাত দেখতে পাবেন অপ্রতিরোধ্য তালিকা পাশ 741 00:33:02,990 --> 00:33:04,595 গ সাথে আসা ফাংশন. 742 00:33:04,595 --> 00:33:07,790 কিন্তু আমি মুহূর্ত জন্য, যত্ন করে, strlen ভালো কিছু বিষয়ে, 743 00:33:07,790 --> 00:33:08,746 আমি সেখানে এটি টাইপ করতে পারেন. 744 00:33:08,746 --> 00:33:10,870 এটা তালিকা নিচে ফিল্টার আমি যত্ন সম্পর্কে ঠিক কি. 745 00:33:10,870 --> 00:33:11,940 আমি এটি ক্লিক করা যাচ্ছে না. 746 00:33:11,940 --> 00:33:14,740 এবং এখন, বাম আমরা আশা করি দেখতে পাবেন 747 00:33:14,740 --> 00:33:18,290 আরো একটি সহজবোধ্য, মানুষের কিভাবে বন্ধুত্বপূর্ণ ব্যাখ্যা 748 00:33:18,290 --> 00:33:19,170 এই ফাংশন কাজ করে. 749 00:33:19,170 --> 00:33:20,600 >> একটি স্ট্রিং এর দৈর্ঘ্য প্রদান করে. 750 00:33:20,600 --> 00:33:24,060 এখানে একটি সারসংক্ষেপ এখানে, আপনি কিভাবে হেডার ফাইল শর্তাবলী এটি ব্যবহার, 751 00:33:24,060 --> 00:33:27,430 এবং কি ফাংশন শর্তাবলী তার আর্গুমেন্ট শর্তাবলী মত দেখায়. 752 00:33:27,430 --> 00:33:30,250 এবং তারপর এখানে, আয় একটি স্ট্রিং এর দৈর্ঘ্য. 753 00:33:30,250 --> 00:33:34,280 কিন্তু আরো আরামদায়ক আপনি তাদের জন্য, আপনি আসলে, আরো আরামদায়ক ক্লিক করতে পারেন 754 00:33:34,280 --> 00:33:37,070 এবং এই বিষয়বস্তু পৃষ্ঠা, এখন, পরিবর্তন করতে হবে 755 00:33:37,070 --> 00:33:41,660 কি ডিফল্ট মান হতে আপনি man পৃষ্ঠা ব্যবহার করে পেতে. 756 00:33:41,660 --> 00:33:44,100 >> এবং CS50 অন্য কথায়, রেফারেন্স একটি সরলীকরণ 757 00:33:44,100 --> 00:33:46,220 ছাত্রদের জন্য কর্মীদের দ্বারা মানুষ পেজ, এর. 758 00:33:46,220 --> 00:33:49,320 বিশেষ করে, যারা কম আরামদায়ক এবং, এর মধ্যে যাতে আপনি 759 00:33:49,320 --> 00:33:51,660 মোড়ানো চেষ্টা করতে হবে না আপনার মনের কাছাকাছি, উন্মুক্তভাবে, 760 00:33:51,660 --> 00:33:55,030 কিছু মোটামুটি রহস্যপূর্ণ সিনট্যাক্স একদা এবং ডকুমেন্টেশন. 761 00:33:55,030 --> 00:33:57,650 >> যাতে মনে রাখা দিন আসতে. 762 00:33:57,650 --> 00:33:59,560 তাই এখানে, আবার, একটি, Zamyla হয়. 763 00:33:59,560 --> 00:34:03,255 এখন যে একটি প্রশ্ন জিজ্ঞাসা করুন একটু বেশি মানুষের প্রবেশযোগ্য. 764 00:34:03,255 --> 00:34:05,380 যারা হয়েছে চ্যাং ধন্যবাদ, আরো হাতি মুদ্রণ 765 00:34:05,380 --> 00:34:07,090 গত কয়েক দিনের জন্য ননস্টপ. 766 00:34:07,090 --> 00:34:09,730 আমরা দিতে একটি সুযোগ আছে দূরে তাদের অন্তত এক. 767 00:34:09,730 --> 00:34:13,239 আমরা এক স্বেচ্ছাসেবক পেতে পারে পর্দায় আঁকা পর্যন্ত আসতে. 768 00:34:13,239 --> 00:34:14,530 এখানে কিভাবে সম্পর্কে? 769 00:34:14,530 --> 00:34:15,340 >> উপর আসা. 770 00:34:15,340 --> 00:34:16,720 আপনার নাম কি? 771 00:34:16,720 --> 00:34:17,219 ALEX: অ্যালেক্স. 772 00:34:17,219 --> 00:34:17,760 ডেভিড জে MALAN: অ্যালেক্স. 773 00:34:17,760 --> 00:34:18,259 ঠিক আছে. 774 00:34:18,259 --> 00:34:19,388 Alex, উপর আসা. 775 00:34:19,388 --> 00:34:21,679 আমরা দেখতে সম্পর্কে আপনার এখানে পর্দায় হস্তাক্ষর. 776 00:34:21,679 --> 00:34:24,325 777 00:34:24,325 --> 00:34:25,570 ঠিক আছে, আপনি দেখা করতে চমৎকার. 778 00:34:25,570 --> 00:34:26,429 >> ALEX: দারুন আপনি দেখা. 779 00:34:26,429 --> 00:34:27,512 >> ডেভিড জে MALAN: ঠিক আছে. 780 00:34:27,512 --> 00:34:28,969 সুতরাং, সুপার সহজ ব্যায়াম. 781 00:34:28,969 --> 00:34:31,440 বার থেকে উচ্চ হয় না আজ একটি হাতি পেতে. 782 00:34:31,440 --> 00:34:33,439 আপনি GetString ভূমিকা বাজানো হয়. 783 00:34:33,439 --> 00:34:35,980 এবং আমি আপনাকে বলতে যাচ্ছি আপনি অর্জিত করেছি যে পংক্তি. 784 00:34:35,980 --> 00:34:38,080 এবং, যদি আপনি অনুমান যে GetString, বলা হয়েছে. 785 00:34:38,080 --> 00:34:42,480 এবং মানব, আমার মত, আছে , Zamyla, টু Z একটি এম ওয়াই এল একটি টাইপ. 786 00:34:42,480 --> 00:34:45,650 শুধু এগিয়ে যান এবং, Zamyla লিখুন পর্দায় আপনি এটি অর্জিত হয়েছে, যদিও হিসাবে 787 00:34:45,650 --> 00:34:47,250 এবং মেমরি কোথাও এটি সংরক্ষণ করা. 788 00:34:47,250 --> 00:34:52,370 789 00:34:52,370 --> 00:34:55,570 >> বিভিন্ন হবে কি জন্য রেখে রুম ঠিক আছে অন্য যে words--, চালু রাখা. 790 00:34:55,570 --> 00:34:59,620 >> [হাস্য] 791 00:34:59,620 --> 00:35:00,800 >> সুতরাং, Zamyla, চমৎকার. 792 00:35:00,800 --> 00:35:04,880 তাই এখন অনুমান আপনি যে, GetString, আবার বলা হয়. 793 00:35:04,880 --> 00:35:09,350 আর তাই, আমি, আপনি প্রদান কীবোর্ড, অন্য নাম, Belinda সঙ্গে. 794 00:35:09,350 --> 00:35:17,560 795 00:35:17,560 --> 00:35:18,060 ঠিক আছে. 796 00:35:18,060 --> 00:35:22,380 এবং এখন পরবর্তী সময় GetString হয় বলা হয়, আমি, গেব মত কিছু টাইপ 797 00:35:22,380 --> 00:35:27,560 জি একটি বি ই. আপনি সত্যিই গ্রহণ করছেন হৃদয় র্যান্ডম অ্যাক্সেস মেমরি. 798 00:35:27,560 --> 00:35:29,631 সবকিছু যা অঙ্কন করা হয় সম্পূর্ণরূপে এলোমেলোভাবে. 799 00:35:29,631 --> 00:35:30,130 ঠিক আছে. 800 00:35:30,130 --> 00:35:31,104 >> [হাস্য] 801 00:35:31,104 --> 00:35:32,520 ALEX: দুঃখিত আমার হস্তাক্ষর খারাপ. 802 00:35:32,520 --> 00:35:33,770 ডেভিড জে MALAN: না, এটা ঠিক আছে. 803 00:35:33,770 --> 00:35:40,480 এবং কিভাবে রব, আর হে বি সম্পর্কে. ঠিক আছে. 804 00:35:40,480 --> 00:35:41,020 ভাল. 805 00:35:41,020 --> 00:35:43,853 তাই আমি আপনাকে চাই কহা না এই ধরনের উপায় জিনিষ খুঁজে রাখা. 806 00:35:43,853 --> 00:35:45,020 কিন্তু আমরা এই কাজ করতে পারেন. 807 00:35:45,020 --> 00:35:48,810 তাই আপনি যদি ডিম্বপ্রসর সম্পর্কে কিভাবে যান নি মেমরি এই অক্ষর আউট? 808 00:35:48,810 --> 00:35:51,310 অন্য কথায়, আমরা মনে করি যদি এই আয়তক্ষেত্রাকার কালো পর্দা 809 00:35:51,310 --> 00:35:53,550 একটি প্রতিনিধিত্ব কম্পিউটার এর র্যাম, বা মেমরি. 810 00:35:53,550 --> 00:35:55,850 >> এবং যে উপস্থিত RAM শুধু প্রত্যাহার বাইট আভা, 811 00:35:55,850 --> 00:35:57,480 এবং বাইট বিট আভা আছে. 812 00:35:57,480 --> 00:35:59,350 এবং বিট একরকম হয় সাধারণত, বাস্তবায়িত 813 00:35:59,350 --> 00:36:01,119 কিছু ফর্ম সঙ্গে হার্ডওয়্যার বিদ্যুৎ. 814 00:36:01,119 --> 00:36:03,160 সুতরাং যে ধরণের আমরা স্বপ্ন করেছি layering একটি 815 00:36:03,160 --> 00:36:04,510 মঞ্জুর জন্য এবং এখন নিতে পারেন. 816 00:36:04,510 --> 00:36:07,020 আপনি কিভাবে সম্পর্কে যান নি যেখানে লিখতে সিদ্ধান্ত 817 00:36:07,020 --> 00:36:11,634 রব বনাম গেব বনাম , Zamyla বনাম Belinda? 818 00:36:11,634 --> 00:36:14,020 >> ALEX: আমি শুধু তা আপনি আমাকে বলেন যে অর্ডার. 819 00:36:14,020 --> 00:36:15,650 >> ডেভিড জে MALAN: এবং যে সত্য. 820 00:36:15,650 --> 00:36:20,100 কিন্তু আপনি কি যেখানে করা পরিচালিত Belinda এর নাম এবং গেব এর নাম? 821 00:36:20,100 --> 00:36:20,764 >> ALEX: কিছুই? 822 00:36:20,764 --> 00:36:22,930 ডেভিড জে MALAN: [হাসতে হাসতেই] সুতরাং যে কাজ করে, যে সূক্ষ্ম. 823 00:36:22,930 --> 00:36:25,290 তাই কম্পিউটার সামান্য যে তুলনায় আরো সুশৃঙ্খল. 824 00:36:25,290 --> 00:36:29,000 তাই আমরা সেখানে থাকার implement-- যখন যখন আসলে আমরা শুধু একটি মুহূর্ত জন্য 825 00:36:29,000 --> 00:36:31,470 ভালো কিছু বাস্তবায়ন একটি কম্পিউটার GetString, 826 00:36:31,470 --> 00:36:34,480 , Zamyla অনেক সুন্দর পরিপূর্ণ হতে পারে মত আপনি সেখানে, পর্দায় করেনি. 827 00:36:34,480 --> 00:36:36,660 >> এবং লক্ষ্য করা থেকে কি কি এখানে, আলেক্স কি, 828 00:36:36,660 --> 00:36:40,260 একটি প্রভেদ ধরনের আছে এই প্রতিটি শব্দের মধ্যে, ডান? 829 00:36:40,260 --> 00:36:46,580 আপনি লিখুন না টু Z একটি এম ওয়াই এল একটি বি ই এল আমি-n-D:-এ জি একটি B-- 830 00:36:46,580 --> 00:36:49,740 অন্য কথায়, কিছু আছে মনে করা হয়, যা প্রভেদ, 831 00:36:49,740 --> 00:36:52,370 বাছাই করা, র্যান্ডম ফাঁক এই বিভিন্ন শব্দের মধ্যে. 832 00:36:52,370 --> 00:36:54,120 কিন্তু যে কারণ, ভাল আমরা মানুষের এখন যা করতে পারেন 833 00:36:54,120 --> 00:36:56,470 এই যে ঠাহর করা চারটি ভিন্ন স্ট্রিং. 834 00:36:56,470 --> 00:36:59,540 এটা ঠিক এক ক্রম না অক্ষর প্রচুর. 835 00:36:59,540 --> 00:37:04,190 সুতরাং একটি কম্পিউটার, তাহলে এদিকে, , Zamyla মত একটি স্ট্রিং নিতে পারে, 836 00:37:04,190 --> 00:37:07,220 যারা অক্ষর প্রতিটি করা একটি মেমরি বাইট এর ভিতরে. 837 00:37:07,220 --> 00:37:10,400 কিন্তু যে নম্বর, অনেক বড় অবশ্যই, ছয় অক্ষরের চেয়ে. 838 00:37:10,400 --> 00:37:11,690 >> উপস্থিত RAM আভা আছে. 839 00:37:11,690 --> 00:37:15,330 তাই অত: পর, এই বাক্সে গ্রিড যাচ্ছে 840 00:37:15,330 --> 00:37:17,560 কি অ্যালেক্স মাত্র প্রতিনিধিত্ব করতে পর্দা এখানে কি. 841 00:37:17,560 --> 00:37:20,937 এবং এখন, অ্যালেক্স, আমরা আপনাকে একটি অফার করতে পারেন নীল বা চ্যাং থেকে একটি কমলা হাতি. 842 00:37:20,937 --> 00:37:22,270 ALEX: আমি একটি নীল হাতি নিয়ে যাব. 843 00:37:22,270 --> 00:37:23,120 ডেভিড জে MALAN: একটি নীল হাতি. 844 00:37:23,120 --> 00:37:25,580 তাই একটি সাধুবাদ বড় বৃত্তাকার, Alex জন্য এখানে, যদি আমরা করতে পারে. 845 00:37:25,580 --> 00:37:26,100 >> [সাধুবাদ] 846 00:37:26,100 --> 00:37:26,766 >> ALEX: আপনাকে ধন্যবাদ. 847 00:37:26,766 --> 00:37:28,820 ডেভিড জে MALAN: আপনাকে ধন্যবাদ. 848 00:37:28,820 --> 00:37:36,230 তাই Takeaway যে, যদিও প্যাটার্ন ধরনের, এখানে সময়ের সাথে পরিবর্তিত 849 00:37:36,230 --> 00:37:40,430 বোর্ডে, এই ছিল বিভিন্ন স্ট্রিং মধ্যে প্রভেদ 850 00:37:40,430 --> 00:37:42,610 অ্যালেক্স আমাদের জন্য পেয়েছিলাম. 851 00:37:42,610 --> 00:37:45,230 এখন কম্পিউটার, অকপটে, একই জিনিস করতে পারে. 852 00:37:45,230 --> 00:37:48,210 তারা ধরনের অকস্মাৎ পারে কোথাও RAM উপস্থিত স্ট্রিং. 853 00:37:48,210 --> 00:37:50,710 এখানে, এখানে, এখানে, এখানে নিচে নিচে. 854 00:37:50,710 --> 00:37:52,020 >> তারা ঠিক করতে পারে. 855 00:37:52,020 --> 00:37:54,280 কিন্তু, অবশ্যই, যে সম্ভবত না ভাল পরিকল্পনা. 856 00:37:54,280 --> 00:37:54,780 রাইট? 857 00:37:54,780 --> 00:37:57,340 আমি অ্যালেক্স জিজ্ঞাসা রাখা নাম পেতে, সম্ভবত তিনি চাই 858 00:37:57,340 --> 00:38:01,370 হয়তো আপ, এখানে আরো কিছু আরোপ করা এখানে, এখানে, এখানে, অবশেষে 859 00:38:01,370 --> 00:38:02,211 এখানে. 860 00:38:02,211 --> 00:38:05,460 কিন্তু একটি বিট আরো পরিকল্পনা, অবশ্যই, আমরা আরো পরিচ্ছন্নভাবে জিনিস খুঁজে রাখা হতে পারে. 861 00:38:05,460 --> 00:38:07,350 এবং প্রকৃতপক্ষে, যে একটি কম্পিউটার আছে কি. 862 00:38:07,350 --> 00:38:10,720 >> কিন্তু ধরা হয় যদি আমি পেতে পরবর্তী স্ট্রিং 863 00:38:10,720 --> 00:38:14,050 , Zamyla কিছু পরে : Belinda মত, 864 00:38:14,050 --> 00:38:17,929 আমরা লিখতে পারে যেখানে উত্থাপন এই গ্রিড থেকে সম্মান সঙ্গে খ চিঠি? 865 00:38:17,929 --> 00:38:18,720 আপনি কোথায় যেতে হবে? 866 00:38:18,720 --> 00:38:21,480 একটি ডানদিকে, একটি নীচের Z, নিচে? 867 00:38:21,480 --> 00:38:23,204 আপনার প্রথম সহজাত কি হবে? 868 00:38:23,204 --> 00:38:24,120 শ্রোতা: z-নীচে. 869 00:38:24,120 --> 00:38:25,100 ডেভিড জে MALAN: তাই z-নীচে. 870 00:38:25,100 --> 00:38:26,530 এবং যে চমত্কার সহজবোধ্য, ডান? 871 00:38:26,530 --> 00:38:29,321 এটা ঝরঝরে ধরনের, আমরা কি করবেন একটি কীবোর্ড আমরা আঘাত লিখুন যখন, 872 00:38:29,321 --> 00:38:31,770 অথবা একটি ইমেল একটি যখন জিনিস বুলেটযুক্ত তালিকা. 873 00:38:31,770 --> 00:38:34,310 কিন্তু বাস্তবতা যে কম্পিউটার হয় আরো দক্ষ হতে চেষ্টা করুন, 874 00:38:34,310 --> 00:38:37,170 এবং যতটা অবশ্যই ঠুসা সম্ভব হিসাবে উপস্থিত RAM মধ্যে তথ্য, 875 00:38:37,170 --> 00:38:38,890 যাতে আপনি কোনো বাইট নষ্ট করবেন না. 876 00:38:38,890 --> 00:38:41,545 আপনি নষ্ট করবেন না যাতে কোন পর্দা রিয়েল এস্টেট. 877 00:38:41,545 --> 00:38:44,170 এবং সমস্যা যদিও, যে আমরা আক্ষরিক অক্ষর করা 878 00:38:44,170 --> 00:38:49,940 বো একটি পরে, কিভাবে আমরা করতে যাচ্ছি , Zamyla নাম যেখানে শেষ জানা 879 00:38:49,940 --> 00:38:51,840 এবং Belinda এর নাম শুরু? 880 00:38:51,840 --> 00:38:55,270 তাই আপনি শুধু ভাল,, প্রস্তাবিত মানুষের মূলত, কি আঘাত লিখুন. 881 00:38:55,270 --> 00:38:56,410 নিচে তা দমন করা. 882 00:38:56,410 --> 00:38:59,750 অথবা অ্যালেক্স করেনি, এমনকি হিসাবে মাত্র লেখা শুরু আগের নীচের পরবর্তী নাম, 883 00:38:59,750 --> 00:39:01,583 এবং যে নীচে, এবং তারপর এক যে নিচে. 884 00:39:01,583 --> 00:39:02,510 যে একটি চাক্ষুষ সূত্র আছে. 885 00:39:02,510 --> 00:39:05,960 >> কম্পিউটার অন্য চাক্ষুষ সূত্র আছে, কিন্তু এটি একটি সামান্য আরো পরিবেষ্টিত. 886 00:39:05,960 --> 00:39:07,840 এই ভীতু অক্ষর. 887 00:39:07,840 --> 00:39:11,890 সম্ভবত যা ব্যাকস্ল্যাশ 0, ব্যাকস্ল্যাশ এন কথা স্মরণ করিয়ে দেয়, 888 00:39:11,890 --> 00:39:12,640 এবং তাই ঘোষণা, এখন. 889 00:39:12,640 --> 00:39:14,120 বিশেষ অব্যাহতি সিকোয়েন্স. 890 00:39:14,120 --> 00:39:19,120 ব্যাকস্ল্যাশ 0 উপায় একটি সারিতে আটটি শূন্য বিট প্রতিনিধিত্ব. 891 00:39:19,120 --> 00:39:22,000 0000 0000. 892 00:39:22,000 --> 00:39:26,130 >> আপনি যে প্রকাশ পথ না হয় আপনার কীবোর্ড সংখ্যা শূন্য আঘাত, 893 00:39:26,130 --> 00:39:28,140 একটি ASCII গৃহস্থালি যে কারণ. 894 00:39:28,140 --> 00:39:30,990 এটি একটি সংখ্যা মনে হচ্ছে, কিন্তু একটি দশমিক সংখ্যা আসলে 895 00:39:30,990 --> 00:39:35,910 যে বিজ্ঞপ্তি প্রতিনিধিত্ব করে গ্লিফের, বিজ্ঞপ্তি টাইপফেস. 896 00:39:35,910 --> 00:39:38,410 এদিকে, ব্যাকস্ল্যাশ শূন্য আক্ষরিক মানে, 897 00:39:38,410 --> 00:39:40,700 আমার জন্য এখানে আট শূন্য বাইট করা. 898 00:39:40,700 --> 00:39:42,136 >> তাই এই কিছুটা নির্বিচারে. 899 00:39:42,136 --> 00:39:44,260 আমরা কোন প্যাটার্ন ব্যবহার করেছি পারে বিট, কিন্তু বিশ্বের 900 00:39:44,260 --> 00:39:46,610 কিছু বছর করার সিদ্ধান্ত নিয়েছে আগে, যে প্রতিনিধিত্ব করতে 901 00:39:46,610 --> 00:39:49,710 মেমরির মধ্যে একটি স্ট্রিং এর শেষে, শুধু শূন্য আভা করা. 902 00:39:49,710 --> 00:39:51,000 আমরা সনাক্ত করতে পারেন. 903 00:39:51,000 --> 00:39:54,790 এখন এর মানে হল যে কোন অক্ষর বর্ণমালা zeros সঙ্গে প্রতিনিধিত্ব করা যাবে. 904 00:39:54,790 --> 00:39:58,480 >> কিন্তু যে, ইতিমধ্যে আমরা দেখা করেছি ঠিক আছে আমরা আপ 97 উপর 65 ব্যবহার করছেন. 905 00:39:58,480 --> 00:40:00,290 আমরা কোথাও পাবেন না সব শূন্য থেকে বন্ধ. 906 00:40:00,290 --> 00:40:03,040 907 00:40:03,040 --> 00:40:06,540 একটি কম্পিউটার এর মেমরি মধ্যে Belinda তাই আসলে এখানে যেতে হবে. 908 00:40:06,540 --> 00:40:09,764 আমি হলুদ এটি টানা করেছি মাত্র এটা আমাদের দৃষ্টি আকর্ষণ করতে. 909 00:40:09,764 --> 00:40:11,680 এবং খেয়াল করুন, খুব, এই সম্পূর্ণ নির্বিচারে. 910 00:40:11,680 --> 00:40:12,680 আমি একটি গ্রিড হিসাবে এটি টানা করেছি. 911 00:40:12,680 --> 00:40:14,460 ভালো লেগেছে, RAM উপস্থিত না কিছু কিছু শারীরিক বস্তু. 912 00:40:14,460 --> 00:40:17,300 এটা অগত্যা নেই সারি এবং কলাম, জন্মগতভাবে. 913 00:40:17,300 --> 00:40:20,490 এটা ঠিক বাইট আভা পেয়েছিলাম একরকম হার্ডওয়্যার প্রয়োগ. 914 00:40:20,490 --> 00:40:22,817 কিন্তু Belinda আমি পরে যদি গেব এর নাম টাইপ, 915 00:40:22,817 --> 00:40:25,650 তিনি মেমরি এখানে শেষ করতে যাচ্ছে এবং আমি Daven এর নাম টাইপ করে, 916 00:40:25,650 --> 00:40:27,316 উদাহরণস্বরূপ, তিনি এখানে শেষ করা যাচ্ছে. 917 00:40:27,316 --> 00:40:29,310 এবং আমি অবিরত করতে পারেন এমনকি আরও নাম লিখুন. 918 00:40:29,310 --> 00:40:32,100 >> দুর্ভাগ্যবশত, আমি চেষ্টা একটি সুপার দীর্ঘ নাম লিখুন, 919 00:40:32,100 --> 00:40:33,730 আমি অবশেষে মেমরি রান আউট হতে পারে. 920 00:40:33,730 --> 00:40:37,810 যা ক্ষেত্রে, GetString হয় আমরা বলেন, শূন্য ফিরে যাচ্ছে. 921 00:40:37,810 --> 00:40:41,720 কিন্তু সৌভাগ্যক্রমে, অন্তত এই চাক্ষুষ মধ্যে এখানে, আমরা খুব যে পর্যন্ত না. 922 00:40:41,720 --> 00:40:45,860 >> এখন কি চমৎকার এই যে কিছু চিকিত্সা সাধারণ ধারণা 923 00:40:45,860 --> 00:40:49,720 বাক্সে হচ্ছে সি একটি বৈশিষ্ট্য প্রতিনিধি 924 00:40:49,720 --> 00:40:52,690 এবং ভাষার অনেক, একটি অ্যারে হিসাবে পরিচিত. 925 00:40:52,690 --> 00:40:55,490 একটি অ্যারের তথ্য অন্য ধরনের. 926 00:40:55,490 --> 00:40:57,380 আপনি যদি এটি একটি ডাটা স্ট্রাকচার. 927 00:40:57,380 --> 00:41:01,160 সত্যিই এটা অর্থে গঠন, ধরনের, অন্তত একটি বাক্স মত এখানে ক্লিক করুন 928 00:41:01,160 --> 00:41:02,320 আপনার মনের চোখে. 929 00:41:02,320 --> 00:41:09,680 একটি অ্যারের একটি সংলগ্ন হয় অভিন্ন ধরনের তথ্য ক্রম, 930 00:41:09,680 --> 00:41:11,330 ফিরে ফিরে যাও যাও ব্যাক ব্যাক. 931 00:41:11,330 --> 00:41:14,720 >> অন্যান্য সুতরাং একটি পংক্তি, শব্দ, অক্ষর একটি অ্যারে. 932 00:41:14,720 --> 00:41:16,120 অক্ষরের একটি অ্যারের. 933 00:41:16,120 --> 00:41:19,070 কিন্তু এটি আপনি করতে পারেন সক্রিয় আউট জিনিসপত্র bunches অ্যারে. 934 00:41:19,070 --> 00:41:21,870 আসলে, আমরা এমনকি করা যাবে একটি অ্যারের মধ্যে সংখ্যা. 935 00:41:21,870 --> 00:41:23,920 ফর্ম সুতরাং যা আমরা শুরু করতে যাচ্ছেন 936 00:41:23,920 --> 00:41:26,590 এই তথ্য ঘোষণা একটি অ্যারে হিসাবে পরিচিত গঠন 937 00:41:26,590 --> 00:41:28,250 এছাড়াও বর্গাকার বন্ধনী ব্যবহার করতে যাচ্ছে. 938 00:41:28,250 --> 00:41:31,500 কিন্তু এই বর্গাকার বন্ধনী যাচ্ছে এই প্রেক্ষাপটে বিভিন্ন অর্থ আছে. 939 00:41:31,500 --> 00:41:33,450 >> এবং এটা হিসাবে অনুসরণ করে দেখুন. 940 00:41:33,450 --> 00:41:36,780 আমি খোলা যে ধরুন এখানে একটি নতুন ফাইল. 941 00:41:36,780 --> 00:41:38,535 এবং আমি ages.c. হিসাবে এই সংরক্ষণ 942 00:41:38,535 --> 00:41:41,280 943 00:41:41,280 --> 00:41:43,470 এবং আমি এখানে আমার ফোল্ডারে এই সংরক্ষণ করব. 944 00:41:43,470 --> 00:41:46,130 এবং এখন আমি এগিয়ে যেতে চলেছি এবং কিছু টাইপ করা শুরু 945 00:41:46,130 --> 00:41:53,940 মত হল, CS50.h, অন্তর্ভুক্ত stdio.h, হয় প্রধান অকার্যকর int. 946 00:41:53,940 --> 00:41:57,370 এবং তারপর এখানে ভিতরে, আমি চাই প্রথম বয়স বলা কোন int আছে. 947 00:41:57,370 --> 00:42:01,371 >> এবং আমি একটি পেতে ব্যবহার করা যাচ্ছে না তার বয়স জন্য ব্যবহারকারী থেকে int. 948 00:42:01,371 --> 00:42:04,620 কিন্তু এই প্রোগ্রাম দ্বারা ব্যবহার করা বোঝানো হয় যাই হোক না কেন প্রসঙ্গ জন্য একাধিক মানুষ. 949 00:42:04,620 --> 00:42:05,490 আমি মানুষ একটি লাইন পেয়েছেন. 950 00:42:05,490 --> 00:42:08,281 তাদের সমস্ত টাইপ করতে হবে তাদের হয়ত কিছু, আমি জানি না জন্য বয়স, 951 00:42:08,281 --> 00:42:10,530 প্রতিযোগিতা, বা ঘটনা তারা আগত করেছি. 952 00:42:10,530 --> 00:42:13,030 তাই পরবর্তী ব্যক্তি, আমি অন্য পরিবর্তনশীল প্রয়োজন. 953 00:42:13,030 --> 00:42:15,790 >> আমি ঠিক কি কারণ যদি বয়স getInt পায়, যে 954 00:42:15,790 --> 00:42:18,500 যাচ্ছে জখম, বা মুছে ফেলা পূর্ববর্তী ব্যক্তির বয়স. 955 00:42:18,500 --> 00:42:19,760 সুতরাং যে কোন ভাল. 956 00:42:19,760 --> 00:42:21,790 আমার প্রথম প্রবৃত্তি তাই হতে পারে, ওহ, ঠিক আছে, 957 00:42:21,790 --> 00:42:26,260 আমি একাধিক মানুষের পেতে চান ages--, এর এই age1 কল 958 00:42:26,260 --> 00:42:31,280 কোন int age2 int পায়, int-age3 getInt পায়. 959 00:42:31,280 --> 00:42:35,340 এবং এখন আমি ব্যবহার করতে যাচ্ছি এখানে কিছু pseudocode কোড. 960 00:42:35,340 --> 00:42:37,679 >> ঐ সংখ্যার সাথে কিছু করতে. 961 00:42:37,679 --> 00:42:40,470 আমরা অন্য দিনের জন্য ছেড়ে দেব কি আমরা, সেখানে কাজ করছেন কারণ আমরা শুধুমাত্র 962 00:42:40,470 --> 00:42:44,200 মুহূর্ত জন্য যত্ন age1, age2, age3 সম্পর্কে. 963 00:42:44,200 --> 00:42:46,450 দুর্ভাগ্যবশত, আমি একবার এই প্রোগ্রাম কম্পাইল 964 00:42:46,450 --> 00:42:51,140 এবং, প্রকৃত ব্যবহারকারীদের সামনে এটা করা মৌলিকভাবে দরিদ্র নকশা কি 965 00:42:51,140 --> 00:42:53,890 আমি মনে সিদ্ধান্ত হয়েছে? 966 00:42:53,890 --> 00:42:54,624 হ্যাঁ? 967 00:42:54,624 --> 00:42:55,499 শ্রোতা: [শ্রবণাতীত] 968 00:42:55,499 --> 00:42:58,071 969 00:42:58,071 --> 00:42:59,820 ডেভিড জে MALAN: হ্যাঁ, আমি এমনকি চেষ্টা না করে 970 00:42:59,820 --> 00:43:02,028 কত বয়সের চিন্তা করা আমি আসলে যত্ন সম্পর্কে না? 971 00:43:02,028 --> 00:43:05,380 আমি এখানে কম তিনটি মানুষ আছে, এবং সেইজন্য কম তিনটি বয়সের, 972 00:43:05,380 --> 00:43:07,260 আমি এখনও অন্ধভাবে তিন আশা করছি. 973 00:43:07,260 --> 00:43:08,720 ঈশ্বর চার জনের দেখাবে নিষেধ. 974 00:43:08,720 --> 00:43:10,990 আমার প্রোগ্রাম ঠিক এমনকি তাদের সমর্থন করবে না. 975 00:43:10,990 --> 00:43:13,280 >> তাই এই দীর্ঘ গল্প সংক্ষিপ্ত, একটি ভাল অভ্যাস নয়. 976 00:43:13,280 --> 00:43:13,780 রাইট? 977 00:43:13,780 --> 00:43:16,530 আমি মূলত কপি ছিল এবং কোড পেস্ট এবং শুধু tweaking 978 00:43:16,530 --> 00:43:17,430 ভেরিয়েবলের নাম. 979 00:43:17,430 --> 00:43:22,410 এবং, আমার ঈশ্বর, আপনি ছিল যদি না তিন বয়সের, কিন্তু 10 বা 100, অথবা এমনকি 6,500 980 00:43:22,410 --> 00:43:23,820 আন্ডার, উদাহরণস্বরূপ. 981 00:43:23,820 --> 00:43:26,950 এই বিশেষ করা যাচ্ছে না মার্জিত কোড, বা টেকসই. 982 00:43:26,950 --> 00:43:29,200 আপনি আছে চলুন প্রোগ্রাম প্রতিটি সময় নতুন করে লেখা 983 00:43:29,200 --> 00:43:30,760 মানুষ পরিবর্তন আপনার নম্বর. 984 00:43:30,760 --> 00:43:35,090 >> সুতরাং সৌভাগ্যক্রমে, আমাদের প্রকৃত মধ্যে আজকের জন্য ages.c ফাইল, 985 00:43:35,090 --> 00:43:36,970 আমরা আরো একটি চতুর সমাধান আছে. 986 00:43:36,970 --> 00:43:39,800 প্রথমত, আমি ধার করা যাচ্ছে না , আমরা কয়েক বার ব্যবহার করেছি গঠন 987 00:43:39,800 --> 00:43:43,744 এই পেতে, যখন লুপ না রুমে মানুষের সংখ্যা. 988 00:43:43,744 --> 00:43:46,910 আমি আবার, ব্যবহারকারী লাগা করা যাচ্ছে না এবং আবার, সে পর্যন্ত আমাকে দেয় 989 00:43:46,910 --> 00:43:49,260 একটি ধনাত্মক পূর্ণসংখ্যা যে n এর মান. 990 00:43:49,260 --> 00:43:51,590 >> আমি ব্যবহার করতে পারে, গত সময় এর ইতিবাচক কোন int পেতে. 991 00:43:51,590 --> 00:43:53,720 কিন্তু আমরা যে না বাস্তব জন্য, তাই আমি এগিয়ে গেলেন 992 00:43:53,720 --> 00:43:55,660 এবং এই ধারণা প্রয়োগ করছেন. 993 00:43:55,660 --> 00:43:58,410 এখন নিচে এখানে, এই নতুন কৌতুক. 994 00:43:58,410 --> 00:44:02,260 মন্তব্য হিসাবে লাইন 27 সালে, লাইন 26 সুপারিশ মধ্যে, 995 00:44:02,260 --> 00:44:05,180 একটি অ্যারের ঘোষণা, যা সবাই এর বয়স সঞ্চয়. 996 00:44:05,180 --> 00:44:09,320 >> তাই আপনি যদি,, এক int না না পেতে চান দুই ints হয়, কিন্তু ints মধ্যে আভা. 997 00:44:09,320 --> 00:44:13,800 বিশেষ করে এন পূর্ণসংখ্যার ছিল, এন পারে 100 হতে পারে, তিনটি, 1000 হতে পারে. 998 00:44:13,800 --> 00:44:17,570 বাক্য গঠন, বেশ সহজভাবে, হয় বলুন, আপনি কি ডাটা টাইপ করতে চান? 999 00:44:17,570 --> 00:44:19,620 আপনি কল করতে চান না কি মেমরি যে তাল? 1000 00:44:19,620 --> 00:44:23,530 আপনি গ্রিড কল ​​করতে চান না কি এই যে pictorially মত দেখায়? 1001 00:44:23,530 --> 00:44:27,700 >> এবং এখানে বন্ধনী, আপনি বলে আপনি কত বড় অ্যারে হতে চান. 1002 00:44:27,700 --> 00:44:30,450 তাই আগে, আমি যখন বলেন, বাক্য গঠন, এখানে একটু ভিন্ন 1003 00:44:30,450 --> 00:44:33,614 আমরা এখনও বর্গাকার বন্ধনী ব্যবহার করছেন, কিন্তু আমি একটি অ্যারের ঘোষণা করছি যখন, 1004 00:44:33,614 --> 00:44:35,530 এর ভিতরে সংখ্যা বর্গাকার বন্ধনী মানে 1005 00:44:35,530 --> 00:44:37,610 আপনি কত বড় অ্যারে হতে চান. 1006 00:44:37,610 --> 00:44:42,490 >> বিপরীতভাবে, যখন আমরা এর ব্যবহার করা হয়েছে বন্ধনী আমি একটি মুহূর্ত আগে, গুলি, একটি স্ট্রিং, 1007 00:44:42,490 --> 00:44:46,820 অক্ষর একটি শ্রেণীবিন্যাস, প্রকৃতপক্ষে কিন্তু আপনি একটি ভেরিয়েবল ঘোষণা না করছেন, 1008 00:44:46,820 --> 00:44:49,760 এখানে এই শব্দ হিসাবে, আপনি কেবল পেয়ে থাকেন 1009 00:44:49,760 --> 00:44:54,280 একটি নির্দিষ্ট সূচক, একটি নির্দিষ্ট যে অ্যারে থেকে উপাদান. 1010 00:44:54,280 --> 00:44:57,090 আমরা জানি যে একবার, বাকি এই সহজবোধ্য. 1011 00:44:57,090 --> 00:45:00,765 আমি প্রথম প্রিন্ট আউট করা যাচ্ছে না নতুন হলে ব্যক্তি সংখ্যা আমি বয়স কি. 1012 00:45:00,765 --> 00:45:03,890 আমি শুধু ব্যক্তির এক নম্বর বলে কোথায় ব্যক্তি সংখ্যা দুই, ব্যক্তি তিন নম্বর. 1013 00:45:03,890 --> 00:45:06,306 >> এবং আমি, গাণিতিক করছি তাই যে মত সাধারণ মানুষ, 1014 00:45:06,306 --> 00:45:09,030 আমরা এই জন্য এক থেকে গণনা প্রোগ্রাম, এবং না শূন্য থেকে. 1015 00:45:09,030 --> 00:45:13,620 তারপর আমি GetInt কল, কিন্তু আমি সংরক্ষণ বয়সের মধ্যে উত্তর আমি বন্ধনী. 1016 00:45:13,620 --> 00:45:16,610 যা অ্যারের মধ্যে i'th বয়স. 1017 00:45:16,610 --> 00:45:21,640 শেষ সময় যেহেতু আমরা চিকিত্সা করা হয়, তাই , Zamyla এর নামের জন্য চিহ্ন হিসাবে এই বক্স, 1018 00:45:21,640 --> 00:45:22,490 এবং অন্যদের. 1019 00:45:22,490 --> 00:45:26,530 এখন, এই বাক্সে প্রতিনিধিত্ব 32 বিট, বা চার বাইট 1020 00:45:26,530 --> 00:45:29,510 যা আমরা সংরক্ষণ করতে পারেন কোন int, কোন int, কোন int. 1021 00:45:29,510 --> 00:45:31,890 সব যা, আবার, একই তথ্য টাইপ. 1022 00:45:31,890 --> 00:45:33,890 >> এখন আমি কিছু মূর্খ না, সময় পাস, শুধু 1023 00:45:33,890 --> 00:45:35,510 এই প্রোগ্রাম লেখা ন্যায্যতা প্রতিপাদন করা. 1024 00:45:35,510 --> 00:45:40,050 এবং তারপর নিচে এখানে, আমি আবার বারবার এখন থেকে একটি বছর বলছে অ্যারের উপর, 1025 00:45:40,050 --> 00:45:43,090 ব্যক্তি এক নম্বর হবে কিছু বছর বয়সী হতে হবে. 1026 00:45:43,090 --> 00:45:45,010 এবং যে চিন্তা করা math-- আমি বলতে চাচ্ছি, এই 1027 00:45:45,010 --> 00:45:49,260 খুব এরিথমেটিক জটিল না হয় আমি শুধু তাদের বয়স এক যোগ করুন. 1028 00:45:49,260 --> 00:45:51,240 শুধু, আবার, এই প্রকট. 1029 00:45:51,240 --> 00:45:57,910 >> শুধু আমি সূচক পারেন হিসাবে একটি স্ট্রিং মধ্যে, S, তাই বয়সের একটি অ্যারের মধ্যে করতে পারেন আমি সূচক, 1030 00:45:57,910 --> 00:45:59,950 সেখানে যে মত. 1031 00:45:59,950 --> 00:46:03,340 সুতরাং যেখানে এই আমাদের গ্রহণ করা হবে? 1032 00:46:03,340 --> 00:46:07,070 সুতরাং আমরা দেখতে হবে, শেষ পর্যন্ত, একটি দিনের মধ্যে কিছু বিষয় আসতে. 1033 00:46:07,070 --> 00:46:09,510 এক, এই সব সময়, যখন আপনার নিজের প্রোগ্রাম লেখা, 1034 00:46:09,510 --> 00:46:11,239 মারিও, লোভী, ক্রেডিট মত. 1035 00:46:11,239 --> 00:46:13,780 আপনি নাম টাইপ করছি প্রোগ্রাম এবং আঘাত লিখুন. 1036 00:46:13,780 --> 00:46:15,610 এবং তারপর ব্যবহারকারীর ইনপুট পেয়ে. 1037 00:46:15,610 --> 00:46:18,137 >> GetString, GetInt সঙ্গে, getLongLong, বা মত. 1038 00:46:18,137 --> 00:46:20,720 কিন্তু এটা যে সি সমর্থন সক্রিয় আউট কিছু কমান্ড লাইন বলা 1039 00:46:20,720 --> 00:46:25,740 আমাদের দিন যাচ্ছে, যা আর্গুমেন্ট, আসলে আপনি টাইপ শব্দের যে এ পেতে, 1040 00:46:25,740 --> 00:46:28,570 জ্বলজ্বলে প্রম্পটে আপনার প্রোগ্রাম এর নামের পরে. 1041 00:46:28,570 --> 00:46:31,430 >> , আপনি আসতে দিন, তাই সিজার ভালো কিছু টাইপ করা হতে পারে, 1042 00:46:31,430 --> 00:46:34,950 বা রোমান সম্রাটদের পদবী তারপরে সংখ্যা 13,. 1043 00:46:34,950 --> 00:46:36,070 আমরা যে কাজ করে দেখতে হবে. 1044 00:46:36,070 --> 00:46:37,550 প্রকৃতপক্ষে, কারণ সমস্যা আমরা করছি, দুই সেট 1045 00:46:37,550 --> 00:46:39,383 আপনাকে পরিচয় করিয়ে দিতে যাচ্ছে সামান্য কিছু করার 1046 00:46:39,383 --> 00:46:42,360 Ralphie এর কথা স্মরণ করিয়ে দেয় মানচিত্রাঙ্কন বিদ্যা আগে চ্যালেঞ্জ. 1047 00:46:42,360 --> 00:46:43,970 তথ্য scrambling শিল্প. 1048 00:46:43,970 --> 00:46:46,660 এই, আসলে, খুব হয় Ralphie কি কথা স্মরণ করিয়ে দেয়. 1049 00:46:46,660 --> 00:46:51,380 >> এটি একটি এনক্রিপশন একটি উদাহরণ অ্যালগরিদম, আর O-টি 13 ROT13 বলা হয়. 1050 00:46:51,380 --> 00:46:54,910 যা কেবল আবর্তিত মানে বর্ণমালা 13 জায়গায় অক্ষর. 1051 00:46:54,910 --> 00:46:58,309 আপনি যে কি, আপনি এখন দেখতে পাবেন একটি পরিচিত ফ্রেজ, সম্ভবত, কি হয়. 1052 00:46:58,309 --> 00:47:01,100 কিন্তু উপায় আমরা ব্যবহার করতে যাচ্ছেন এই, শেষ পর্যন্ত, আরো সাধারণভাবে হয়. 1053 00:47:01,100 --> 00:47:04,390 >> পি, আদর্শ সংস্করণ, দুই সেট আপনি, সাইফারগুলির একটি দম্পতি বাস্তবায়ন করব 1054 00:47:04,390 --> 00:47:06,720 সিজার নামক এক, Vigenère নামক এক. 1055 00:47:06,720 --> 00:47:10,090 তাদের উভয়ের আবর্তনশীল হয় যে সাইফারগুলির, আপনি একরকম 1056 00:47:10,090 --> 00:47:11,826 একটি ভিন্ন অক্ষর মধ্যে এক চিঠি চালু. 1057 00:47:11,826 --> 00:47:12,950 এবং সিজার সুপার সহজ. 1058 00:47:12,950 --> 00:47:16,220 আপনি, আপনি 13 যোগ করুন, এক যোগ বা 26 পর্যন্ত কিছু সংখ্যা. 1059 00:47:16,220 --> 00:47:19,570 Vigenere যে আছে একটি চিঠি প্রতি ভিত্তিতে. 1060 00:47:19,570 --> 00:47:22,140 Vigenere তাই, হিসাবে আপনি দেখতে পাবেন বৈশিষ্ট, আরো নিরাপদ. 1061 00:47:22,140 --> 00:47:24,973 >> কিন্তু দিনের শেষে কি , আপনি বাস্তবায়ন করা হবে এবং পি দুই সেট 1062 00:47:24,973 --> 00:47:29,050 আপনি উভয় ব্যবহার করে যে কী হয় এনক্রিপশন ও ডিক্রিপশন জন্য. 1063 00:47:29,050 --> 00:47:32,160 বাঁক প্রক্রিয়ার কথা উল্লেখ প্লেইন টেক্সট, কিছু মূল বার্তা, 1064 00:47:32,160 --> 00:47:34,490 গোল্লা টেক্সট, মধ্যে যা কিছু এনক্রিপ্ট করা হয়. 1065 00:47:34,490 --> 00:47:36,220 এবং তারপর আবার ডিক্রিপ্ট. 1066 00:47:36,220 --> 00:47:38,119 >> হ্যাকার সংস্করণ ইন, এদিকে, আপনি হবেন 1067 00:47:38,119 --> 00:47:40,660 কিছু অনুরূপ সঙ্গে tasked আত্মা, আমরা আপনাকে দেব যেখানে 1068 00:47:40,660 --> 00:47:44,610 একটি টিপিক্যাল লিনাক্স, বা থেকে একটি ফাইল, ম্যাক, বা ইউনিক্স কম্পিউটার নামক Etsy 1069 00:47:44,610 --> 00:47:47,800 পুরো রয়েছে, যা পাসওয়ার্ড ব্যবহারকারীর নাম ও পাসওয়ার্ড এর গুচ্ছ. 1070 00:47:47,800 --> 00:47:50,932 এবং যারা পাসওয়ার্ড সব আছে এনক্রিপ্ট করা, বা কুচি করা হয়েছে, 1071 00:47:50,932 --> 00:47:53,140 তাই আরো সঠিকভাবে কথা বলতে, আপনি বৈশিষ্ট দেখতে পাবেন. 1072 00:47:53,140 --> 00:47:57,090 >> এবং হ্যাকার সংস্করণ চ্যালেঞ্জ হবে এই মত একটি ইনপুট গ্রহণ সঙ্গে আপনি, 1073 00:47:57,090 --> 00:47:58,800 এবং পাসওয়ার্ড ক্র্যাকিং. 1074 00:47:58,800 --> 00:48:02,590 যে figuring আউট, কি মানব এর পাসওয়ার্ড আসলে ছিল. 1075 00:48:02,590 --> 00:48:05,570 প্রকৃতপক্ষে, পাসওয়ার্ড আছে, কারণ সাধারণত পরিষ্কার সংরক্ষিত নয়, 1076 00:48:05,570 --> 00:48:08,260 এবং সাধারণত পাসওয়ার্ড অনুমান করা কঠিন হবে. 1077 00:48:08,260 --> 00:48:09,610 যে প্রায়ই কেস না. 1078 00:48:09,610 --> 00:48:12,110 >> এবং কি আমি আমরা কি চাই হয় কয়েক মিনিট সঙ্গে শেষ করা 1079 00:48:12,110 --> 00:48:15,160 একটি বিশেষ এ এক নজরে পাসওয়ার্ড দরিদ্র পছন্দ 1080 00:48:15,160 --> 00:48:17,260 একটি ফিল্ম থেকে আপনি সস্নেহে প্রত্যাহার করা হতে পারে. 1081 00:48:17,260 --> 00:48:18,915 যদি না, আপনি ভাড়া নিতে হবে. 1082 00:48:18,915 --> 00:48:20,070 >> [ভিডিও প্লেব্যাক] 1083 00:48:20,070 --> 00:48:22,320 >> -Helmet, আপনি পামর, কি হচ্ছে? 1084 00:48:22,320 --> 00:48:24,240 আপনি কি আমার মেয়ের করছেন? 1085 00:48:24,240 --> 00:48:28,010 >> পরিচয় করিয়ে আমাকে -Permit উজ্জ্বল তরুণ প্লাস্টিক সার্জন, 1086 00:48:28,010 --> 00:48:30,010 ডাক্তার ফিলিপ Schlotkin ইচ্ছাশক্তি. 1087 00:48:30,010 --> 00:48:35,020 সর্বাধিক নাক পেশা মানুষ সমগ্র মহাবিশ্ব এবং Beverly Hills. 1088 00:48:35,020 --> 00:48:36,140 >> তোমার মাননীয়. 1089 00:48:36,140 --> 00:48:36,820 >> -Nose কাজ? 1090 00:48:36,820 --> 00:48:37,700 আমি বুঝতে পারছি না. 1091 00:48:37,700 --> 00:48:39,070 তিনি ইতোমধ্যেই একটি নাক পেশা ছিল. 1092 00:48:39,070 --> 00:48:40,800 এটা তার মিষ্টি 16 উপস্থিত ছিলেন. 1093 00:48:40,800 --> 00:48:42,590 >> কোন, এটা কি আপনি মনে করেন না. 1094 00:48:42,590 --> 00:48:44,490 এটা অনেক, অনেক খারাপ. 1095 00:48:44,490 --> 00:48:48,160 আপনি আমাকে দিতে না বায়ু ঢাল যাও সমন্বয়, 1096 00:48:48,160 --> 00:48:52,748 ডাক্তার Schlotkin ইচ্ছাশক্তি দিতে হবে আপনার মেয়ে তার পুরানো নাক ব্যাক. 1097 00:48:52,748 --> 00:48:53,748 - [Gasps] Nooooooooooooo. 1098 00:48:53,748 --> 00:48:57,684 1099 00:48:57,684 --> 00:48:59,652 আপনি কোথায় যে পেতে পারি? 1100 00:48:59,652 --> 00:49:00,640 >> সব ঠিক আছে. 1101 00:49:00,640 --> 00:49:02,506 আমি বলতে হবে, বলতে হবে. 1102 00:49:02,506 --> 00:49:03,498 >> কোন, ড্যাডি, কোন. 1103 00:49:03,498 --> 00:49:04,490 আপনি না করা আবশ্যক. 1104 00:49:04,490 --> 00:49:06,090 >> -You're অধিকার আমার প্রিয়. 1105 00:49:06,090 --> 00:49:07,390 আমি আপনার নতুন নাক মিস্ করব. 1106 00:49:07,390 --> 00:49:10,990 কিন্তু আমি তাদের বলতে হবে না সমন্বয় কোন ব্যাপার কি. 1107 00:49:10,990 --> 00:49:12,450 >> ভাল -অত্যন্ত. 1108 00:49:12,450 --> 00:49:14,830 ডাক্তার Schlotkin, আপনার খারাপ না. 1109 00:49:14,830 --> 00:49:15,744 >> -আমার আনন্দ. 1110 00:49:15,744 --> 00:49:19,860 1111 00:49:19,860 --> 00:49:20,800 >> কোন! 1112 00:49:20,800 --> 00:49:22,780 অপেক্ষা করুন, অপেক্ষা করুন. 1113 00:49:22,780 --> 00:49:24,000 আমি বলতে পারবেন. 1114 00:49:24,000 --> 00:49:25,830 আমি বলতে পারবেন. 1115 00:49:25,830 --> 00:49:28,270 >> আমি জানতাম এটা কাজ করবে. 1116 00:49:28,270 --> 00:49:31,390 সমস্ত অধিকার, আমার এটা দিতে. 1117 00:49:31,390 --> 00:49:36,220 >> স্বয়ংক্রিয়ভাবে সমন্বয় করা হয়. 1118 00:49:36,220 --> 00:49:36,740 >> এক. 1119 00:49:36,740 --> 00:49:37,473 >> এক. 1120 00:49:37,473 --> 00:49:37,972 দুই. 1121 00:49:37,972 --> 00:49:38,471 দুই. 1122 00:49:38,471 --> 00:49:39,800 দুই. 1123 00:49:39,800 --> 00:49:40,300 তিন. 1124 00:49:40,300 --> 00:49:40,800 তিন. 1125 00:49:40,800 --> 00:49:41,800 তিন. 1126 00:49:41,800 --> 00:49:42,300 চারটি. 1127 00:49:42,300 --> 00:49:42,800 চারটি. 1128 00:49:42,800 --> 00:49:44,707 চারটি. 1129 00:49:44,707 --> 00:49:45,521 -পাঁচ. 1130 00:49:45,521 --> 00:49:46,430 -পাঁচ. 1131 00:49:46,430 --> 00:49:47,930 -পাঁচ. 1132 00:49:47,930 --> 00:49:53,480 সমন্বয় এক -তাই, দুই, তিন, চার, পাঁচ. 1133 00:49:53,480 --> 00:49:56,140 যে stupidest সংমিশ্রণ আমি আমার জীবনে কখনও শুনতে. 1134 00:49:56,140 --> 00:49:58,640 যে জিনিস একটি ধরনের গাধা তার লাগেজের উপর থাকবে. 1135 00:49:58,640 --> 00:50:00,000 >> , আপনার মাননীয় আপনি ধন্যবাদ. 1136 00:50:00,000 --> 00:50:01,340 >> [দূরবর্তী ক্লিক] 1137 00:50:01,340 --> 00:50:02,450 >> -আপনি কি করবেন? 1138 00:50:02,450 --> 00:50:03,800 >> আমি প্রাচীর বন্ধ. 1139 00:50:03,800 --> 00:50:05,010 >> কোন, আপনি না পুরো সিনেমা বন্ধ. 1140 00:50:05,010 --> 00:50:06,220 >> আমি পুরো শরীরটাই ভুল বোতাম চাপা. 1141 00:50:06,220 --> 00:50:07,064 >> -ওয়েল, এটা করা! 1142 00:50:07,064 --> 00:50:07,910 সিনেমা ফিরে উপর রাখুন! 1143 00:50:07,910 --> 00:50:08,300 >> -হ্যাঁ, স্যার! 1144 00:50:08,300 --> 00:50:08,799 হ্যাঁ, স্যার. 1145 00:50:08,799 --> 00:50:09,660 এর, আর্নল্ড যেতে যাক. 1146 00:50:09,660 --> 00:50:10,450 গ্রেতসেন আসা. 1147 00:50:10,450 --> 00:50:12,533 আপনি অবশ্যই আমি করব জানি এই জন্য আপনার বিল আছে. 1148 00:50:12,533 --> 00:50:16,720 1149 00:50:16,720 --> 00:50:17,220 -ওয়েল? 1150 00:50:17,220 --> 00:50:17,802 এটি কি কাজ? 1151 00:50:17,802 --> 00:50:18,510 রাজা কোথায়? 1152 00:50:18,510 --> 00:50:20,218 >> -এটা, কাজ করতেন, স্যার আমরা সমন্বয় আছে. 1153 00:50:20,218 --> 00:50:20,740 গ্রেট. 1154 00:50:20,740 --> 00:50:24,810 এখন আমরা প্রতি শেষ নিঃশ্বাস নিতে পারেন গ্রহ Druidia থেকে তাজা বাতাস. 1155 00:50:24,810 --> 00:50:25,890 সংমিশ্রণ কি? 1156 00:50:25,890 --> 00:50:28,155 >> এক, দুই, তিন, চার, পাঁচ. 1157 00:50:28,155 --> 00:50:29,890 >> এক, দুই, তিন, চার, পাঁচ? 1158 00:50:29,890 --> 00:50:30,390 -হ্যাঁ. 1159 00:50:30,390 --> 00:50:31,110 সরল আশ্চর্যজনক. 1160 00:50:31,110 --> 00:50:34,550 আমি একই পেয়েছেন আমার লাগেজের উপর সমন্বয়. 1161 00:50:34,550 --> 00:50:37,160 জন্য Spaceball 1 প্রস্তুত অবিলম্বে প্রস্থান. 1162 00:50:37,160 --> 00:50:38,160 >> -হ্যাঁ, স্যার. 1163 00:50:38,160 --> 00:50:40,745 >> পরিবর্তন -এবং আমার লাগেজের উপর সমন্বয়. 1164 00:50:40,745 --> 00:50:41,578 [দরজা বন্ধ শব্দ] 1165 00:50:41,578 --> 00:50:42,064 [দরজা ঠুং ঠুং শব্দ শিরস্ত্রাণ আঘাত] 1166 00:50:42,064 --> 00:50:42,550 -Ahh. 1167 00:50:42,550 --> 00:50:43,383 [END টি ভিডিও প্লেব্যাক] 1168 00:50:43,383 --> 00:50:46,700 ডেভিড জে MALAN: এটা জন্য এটি এবং CS50, আমরা আগামী সপ্তাহে আপনি দেখতে পাবেন. 1169 00:50:46,700 --> 00:50:49,883 কথাবার্তা এবং এখন, গভীর Daven Farnham দ্বারা চিন্তা,. 1170 00:50:49,883 --> 00:50:53,160 1171 00:50:53,160 --> 00:50:55,860 >> DAVEN Farnham: সি কোডিং ভূত আর তাই অনেক কঠিন. 1172 00:50:55,860 --> 00:50:57,320 printf,, ভূত ছিল মিথ্যা. 1173 00:50:57,320 --> 00:50:59,930 1174 00:50:59,930 --> 00:51:01,430 >> [হাস্য আর করা] 1175 00:51:01,430 --> 00:51:02,486