1 00:00:00,000 --> 00:00:00,000 2 00:00:00,000 --> 00:00:00,000 [সঙ্গীত বাজাচ্ছি] 3 00:00:00,000 --> 00:00:13,950 4 00:00:13,950 --> 00:00:16,240 >> ডেভিড জে MALAN: ঠিক আছে, এই CS50. 5 00:00:16,240 --> 00:00:18,010 এবং এই সপ্তাহে এক. 6 00:00:18,010 --> 00:00:22,050 তাই শূন্য সপ্তাহে যে শেষ সময় প্রত্যাহার, আমরা গণনীয় চিন্তা উপর দৃষ্টি নিবদ্ধ করা. 7 00:00:22,050 --> 00:00:25,440 আর আমরা যে থেকে রূপান্তর ভূত, একটি গ্রাফিকাল প্রোগ্রামিং 8 00:00:25,440 --> 00:00:27,360 আমাদের বন্ধুদের কাছ থেকে ভাষা এমআইটি মিডিয়া ল্যাব এ. 9 00:00:27,360 --> 00:00:31,730 >> আর ভূত সঙ্গে, আমরা অন্বেষণ হয়নি ফাংশন মত ধারনা, এবং শর্ত, 10 00:00:31,730 --> 00:00:35,210 এবং loops, এবং ভেরিয়েবল, এবং এমনকি ঘটনা, এবং থ্রেড, এবং আরো অনেক কিছু. 11 00:00:35,210 --> 00:00:37,880 আর আজ আমরা চলুন সেই ধারণা ব্যবহার করা চালিয়ে, 12 00:00:37,880 --> 00:00:40,630 এবং সত্যিই তাদের জন্য গ্রহণ মঞ্জুর, কিন্তু তাদের অনুবাদ 13 00:00:40,630 --> 00:00:44,220 C. এখন নামে পরিচিত অন্য ভাষায়, সি একটি অধিক প্রথাগত ভাষা. 14 00:00:44,220 --> 00:00:46,020 এটা কম স্তর ভাষা, যদি আপনি হবে. 15 00:00:46,020 --> 00:00:47,300 >> এটা বিশুদ্ধরূপে পাঠগত এর. 16 00:00:47,300 --> 00:00:49,910 আর তাই প্রথম নজরে, এটা সব বরং রহস্যপূর্ণ চেহারা যাচ্ছে 17 00:00:49,910 --> 00:00:51,430 যদি আপনি আগে কখনও প্রোগ্রাম করেছি. 18 00:00:51,430 --> 00:00:53,530 আমরা আছে চলুন সেমি-কোলন, এবং প্রথম বন্ধনী, 19 00:00:53,530 --> 00:00:55,150 এবং কোঁকড়া ধনুর্বন্ধনী, এবং আরো অনেক কিছু. 20 00:00:55,150 --> 00:00:57,240 কিন্তু বুঝতে পারছি যে, এমনকি যদিও সিনট্যাক্স 21 00:00:57,240 --> 00:01:00,600 সম্পর্কে একটু অপরিচিত দেখুন আপনি অধিকাংশ, অতীত দেখতে. 22 00:01:00,600 --> 00:01:03,220 এবং ধারনা দেখতে চেষ্টা যে হয়, প্রকৃতপক্ষে, পরিচিত, 23 00:01:03,220 --> 00:01:06,750 কারণ সপ্তাহে এখানে এক কি আমরা, কি তুলনা হয় শুরু করব 24 00:01:06,750 --> 00:01:08,980 প্রাথমিকভাবে, সি বনাম ভূত 25 00:01:08,980 --> 00:01:12,350 >> সুতরাং, উদাহরণস্বরূপ, পুনরাহ্বান যে যখন আমরা বাস্তবায়িত আমাদের প্রোগ্রামের প্রথম 26 00:01:12,350 --> 00:01:16,220 শেষবার, আমরা একটি ব্লক তাকিয়ে ছিল সামান্য কিছু আপাততঃ যখন মত 27 00:01:16,220 --> 00:01:19,990 সবুজ পতাকা ক্লিক করুন, এবং তারপর আমরা ছিল কেউ যদি তা নিচের বা আরো পাজল টুকরা, 28 00:01:19,990 --> 00:01:22,150 এই ক্ষেত্রে, হ্যালো দুনিয়া বলে. 29 00:01:22,150 --> 00:01:24,870 তাই প্রকৃতপক্ষে, ভূত, যখন আমি যে সবুজ পতাকা ক্লিক করুন 30 00:01:24,870 --> 00:01:27,390 আমার প্রোগ্রাম চালানোর জন্য, তাই কথা বলতে, এই হল 31 00:01:27,390 --> 00:01:29,520 ব্লক করে মৃত্যুদন্ড কার্যকর, বা রান. 32 00:01:29,520 --> 00:01:32,230 আর, বিশেষভাবে, ভূত বলল, হ্যালো, দুনিয়া. 33 00:01:32,230 --> 00:01:35,377 >> এখন, আমি নির্দিষ্ট করতে পারতেন এখানে ভিন্ন শব্দ. 34 00:01:35,377 --> 00:01:37,960 কিন্তু আমরা দেখতে পাবেন যে, প্রকৃতপক্ষে, অনেক এই blocks-- এবং প্রকৃতপক্ষে, 35 00:01:37,960 --> 00:01:41,880 সি অনেক functions-- হতে পারে parametrized বা কাস্টমাইজড 36 00:01:41,880 --> 00:01:43,150 ভিন্ন কিছু করার. 37 00:01:43,150 --> 00:01:45,520 আসলে, আমরা যদি সি রূপান্তর করতে, এখন চাই, 38 00:01:45,520 --> 00:01:47,567 এই ভূত প্রোগ্রাম এই অন্যান্য ভাষায়, 39 00:01:47,567 --> 00:01:49,650 আমরা একটি লিখতে যাচ্ছেন ভালো সামান্য কিছু. 40 00:01:49,650 --> 00:01:52,540 >> এটা ঠিক যে, কিছু অচেনা সেখানে সিনট্যাক্স সম্ভবত, কোন int, 41 00:01:52,540 --> 00:01:54,380 এবং প্রথম বন্ধনী, এবং অকার্যকর. 42 00:01:54,380 --> 00:01:57,740 যদিও আপনি would কিন্তু এমনকি printf-- মনে হয় এটা শুধু প্রিন্ট হবে. 43 00:01:57,740 --> 00:02:00,120 তবে মুদ্রণ অর্থ মুদ্রণ , ফরম্যাট হিসাবে আমরা শীঘ্রই দেখতে পাবেন. 44 00:02:00,120 --> 00:02:02,140 এই আক্ষরিক প্রিন্ট করা হবে পর্দা থেকে যাই হোক না কেন 45 00:02:02,140 --> 00:02:05,990 সেই প্রথম বন্ধনী ভিতরে হয়, যা অবশ্যই এই ক্ষেত্রে, হ্যালো দুনিয়া. 46 00:02:05,990 --> 00:02:09,290 >> কিন্তু আপনি কিছু অন্যান্য বিজ্ঞপ্তি পাবেন সিনট্যাক্স, কিছু উদ্ধৃতি, 47 00:02:09,290 --> 00:02:11,890 যে শেষে প্রথম বন্ধনী, সেমিকোলন এবং মত. 48 00:02:11,890 --> 00:02:15,027 তাই সেখানে ওভারহেড একটি বিট, তাই কথা বলতে, উভয় ধারণাগতভাবে 49 00:02:15,027 --> 00:02:17,860 এবং সিনট্যাক্স, আমরা যাচ্ছি যে দীর্ঘ আগে স্মরণ আছে. 50 00:02:17,860 --> 00:02:20,720 কিন্তু বুঝতে পারছি যে অনুশীলন সঙ্গে, এই আপনি এ তিড়িং লাফ শুরু হবে. 51 00:02:20,720 --> 00:02:24,920 >> আসলে, যে এক ফোকাস ফাংশন এই ক্ষেত্রে specifically--, 52 00:02:24,920 --> 00:02:26,290 হ্যালো দুনিয়া বলে. 53 00:02:26,290 --> 00:02:27,560 তাই বলে ফাংশন. 54 00:02:27,560 --> 00:02:31,320 হ্যালো ওয়ার্ল্ড তার পরামিতি, বা যুক্তি, তার স্বনির্ধারণ. 55 00:02:31,320 --> 00:02:34,320 >> সি ও সমানতা শুধু এখানে এই এক লাইন হতে যাচ্ছে, 56 00:02:34,320 --> 00:02:38,710 যেখানে printf, সমতূল্য, বলে ডবল উদ্ধৃত পংক্তি, হ্যালো 57 00:02:38,710 --> 00:02:41,470 বিশ্বের, সমতূল্য অবশ্যই, কি সেখানে সাদা বাক্সে যাও. 58 00:02:41,470 --> 00:02:45,680 আর ব্যাকস্ল্যাশ এন, যদিও একটু অদ্ভুত এবং স্ক্র্যাচ থেকে অনুপস্থিত, 59 00:02:45,680 --> 00:02:49,380 কেবল প্রভাব আমরা করব আছে যাচ্ছে একটি কম্পিউটার দেখতে, আমার ম্যাক বা পিসি মত, 60 00:02:49,380 --> 00:02:51,660 শুধু চলন্ত পরবর্তী লাইন কার্সার. 61 00:02:51,660 --> 00:02:53,970 এটা আঘাত মত আপনার কীবোর্ড থেকে Enter. 62 00:02:53,970 --> 00:02:55,580 >> সুতরাং আমরা যে আবার আগে দীর্ঘ দেখতে পাবেন. 63 00:02:55,580 --> 00:02:58,640 কিন্তু প্রথম, এর এই সময়ে কটাক্ষপাত করা যাক যখন loops ক্ষেত্রে অন্য একটি উদাহরণ. 64 00:02:58,640 --> 00:03:02,830 আমরা শেষ সময় এই চিরকালের লুপ ছিল, যা ধাঁধা টুকরা একটি সিরিজ ছিল 65 00:03:02,830 --> 00:03:05,490 যে কিছু আক্ষরিক করেনি এই ক্ষেত্রে forever--, 66 00:03:05,490 --> 00:03:08,360 বলে, ওহে দুনিয়া, ওহে দুনিয়া, ওহে দুনিয়া, ওহে দুনিয়া. 67 00:03:08,360 --> 00:03:10,350 সুতরাং এটা নকশা দ্বারা অসীম লুপ. 68 00:03:10,350 --> 00:03:14,580 >> সি, আমরা এই বাস্তবায়ন করতে চান তাহলে একই ধারণা, আমরা কেবল এই কাজ করতে পারে. 69 00:03:14,580 --> 00:03:19,570 যদিও সত্য, printf, হ্যালো এখন world-- যখন শুধু শব্দার্থগতভাবে ধরনের 70 00:03:19,570 --> 00:03:23,090 এরকম ধারণা মনের পর্দায় ভেসে ওঠে কিছু আবার, এবং আবার, এবং আবার, 71 00:03:23,090 --> 00:03:23,980 এবং জন্য কতদিন? 72 00:03:23,980 --> 00:03:27,990 আচ্ছা, true-- রিকল যে সত্য শুধু এ অথবা এক হয়. 73 00:03:27,990 --> 00:03:30,660 >> আর সত্য, অবশ্যই, সবসময় সত্য. 74 00:03:30,660 --> 00:03:33,060 সুতরাং এটি একটি অর্থহীন ধরনের বিবৃতি সত্য বলতে. 75 00:03:33,060 --> 00:03:36,890 কিন্তু প্রকৃতপক্ষে, এই ইচ্ছাকৃত, কারণ যদি সত্য শুধু সবসময় সত্য, 76 00:03:36,890 --> 00:03:40,850 চেয়ে সত্য যখন শুধু বোঝা যায়, একটু যদি পরোক্ষভাবে, 77 00:03:40,850 --> 00:03:44,070 যে কোডের নিম্নলিখিত পংক্তিগুলি যারা কোঁকড়া ধনুর্বন্ধনী মধ্যে মধ্যে 78 00:03:44,070 --> 00:03:48,320 শুধু আবার, এবং আবার চালানো উচিত, এবং আবার, এবং আসলে আপনি থামাতে না. 79 00:03:48,320 --> 00:03:50,230 >> কিন্তু আপনি চান না আপনার লুপ আমরা যেমন বন্ধ করতে, 80 00:03:50,230 --> 00:03:54,500 মত কিছু শেষ সময় কি এই, পুনরাবৃত্তি নিম্নলিখিত 50 বার 81 00:03:54,500 --> 00:03:57,700 সি আমরা কি সঙ্গে একই কাজ করতে পারেন শব্দ লুপ জন্য একটি আহ্বান 82 00:03:57,700 --> 00:03:59,330 যখন, কিন্তু জন্য হচ্ছে না. 83 00:03:59,330 --> 00:04:03,290 এবং তারপর আমরা, এখানে কিছু নতুন সিনট্যাক্স আছে int- সঙ্গে আমি 0 আমি 50 কম সমান, 84 00:04:03,290 --> 00:04:03,880 i ++. 85 00:04:03,880 --> 00:04:05,430 আর আমরা যে ফিরে আসবো. 86 00:04:05,430 --> 00:04:09,660 কিন্তু এই সহজভাবে হয় কিভাবে আমরা ভূত ব্লক সেট অনুবাদ 87 00:04:09,660 --> 00:04:13,079 কোডের সি লাইন একটি সেট. 88 00:04:13,079 --> 00:04:14,450 >> এদিকে, ভেরিয়েবল বিবেচনা. 89 00:04:14,450 --> 00:04:16,540 এবং, আসলে, আমরা শুধু একটি মুহূর্ত আগে এক দেখেছি. 90 00:04:16,540 --> 00:04:21,220 আর ভূত ক্ষেত্রে, যদি আমরা একটি পরিবর্তনশীল নামক তোমার ঘোষণা করতে চেয়েছিলেন 91 00:04:21,220 --> 00:04:24,590 আমি পূর্ণসংখ্যা হচ্ছে, শুধু একটি সংখ্যা, এবং আমরা কিছু মান এটা সেট করতে চান, 92 00:04:24,590 --> 00:04:28,410 আমরা এই কমলা ব্যবহার করতে হবে ব্লক এখানে আমি 0 সেট. 93 00:04:28,410 --> 00:04:30,800 >> আর আমরা আজ দেখতে পাবেন এবং তার পরেও, শুধু গত সপ্তাহে মত, 94 00:04:30,800 --> 00:04:33,850 প্রোগ্রামারদের প্রায় সবসময় না শূন্য থেকে গণনা শুরু, সত্যিই 95 00:04:33,850 --> 00:04:34,950 কনভেনশন দ্বারা. 96 00:04:34,950 --> 00:04:37,250 কিন্তু এছাড়াও রিকল থেকে কারণ বাইনারি আমাদের আলোচনার, 97 00:04:37,250 --> 00:04:39,990 ক্ষুদ্রতম সংখ্যা আপনি যা করতে পারেন বিট কোন সংখ্যা সঙ্গে চিত্রিত 98 00:04:39,990 --> 00:04:41,640 মাত্র ২0 নিজেই হতে যাচ্ছে. 99 00:04:41,640 --> 00:04:45,190 আর তাই আমরা সাধারণত শুরু করব 0 এমনকি আমাদের ভেরিয়েবল আরম্ভ. 100 00:04:45,190 --> 00:04:47,710 >> আর সি, একই কাজ করতে আমরা int বলে যাচ্ছেন 101 00:04:47,710 --> 00:04:50,110 পূর্ণসংখ্যা জন্য, আমি শুধু কনভেনশন দ্বারা. 102 00:04:50,110 --> 00:04:53,390 আমি এই পরিবর্তনশীল বলা যেতে পারে কিছু আমি চাই, শুধু ভূত মত. 103 00:04:53,390 --> 00:04:57,770 এবং তারপর 0 সমান শুধু নির্ধারণ ডান থেকে মান 0 104 00:04:57,770 --> 00:05:01,319 এবং এটা পরিবর্তনশীল মধ্যে রাখে, বা স্টোরেজ ধারক আছে, বাম থেকে. 105 00:05:01,319 --> 00:05:04,360 আর সেমিকোলন হিসেবে আমরা see-- করব এবং আমরা এই already-- কয়েক দেখা করেছি 106 00:05:04,360 --> 00:05:06,530 শুধু চিন্তার শেষ মানে. 107 00:05:06,530 --> 00:05:09,430 অন্য কিছু করতে এগিয়ে যান লাইন অনুসরণ উপর. 108 00:05:09,430 --> 00:05:11,330 >> এখন, কি বুলিয়ান এক্সপ্রেশন? 109 00:05:11,330 --> 00:05:14,320 পুনরাহ্বান যে ভূত, এই এক্সপ্রেশন ছিল 110 00:05:14,320 --> 00:05:16,740 হয় সত্য যে অথবা false-- প্রশ্ন, 111 00:05:16,740 --> 00:05:18,910 সত্যিই, সত্য বা মিথ্যা হয় যে. 112 00:05:18,910 --> 00:05:21,960 তাই শয়তান এর ক্ষেত্রে, আমরা প্রতাপ এই মত একটি সহজ প্রশ্ন জিজ্ঞাসা, 113 00:05:21,960 --> 00:05:24,586 আমি 50 এর চেয়ে কম? 114 00:05:24,586 --> 00:05:25,710 তাই আমি আবার, একটি পূর্ণসংখ্যা. 115 00:05:25,710 --> 00:05:27,210 হয়তো আমরা এটি ব্যবহার করছেন একটি ভূত প্রোগ্রামে 116 00:05:27,210 --> 00:05:29,310 একটি স্কোর ট্র্যাক রাখতে অথবা যে ভালো কিছু. 117 00:05:29,310 --> 00:05:33,810 তাই এই সিনট্যাক্স এখানে ভূত মানে, আমি 50 এর চেয়ে কম? 118 00:05:33,810 --> 00:05:37,330 ওয়েল, সৌভাগ্যক্রমে, কিছু হয় সি আর অনুবাদ করার সহজ, 119 00:05:37,330 --> 00:05:41,780 এই আমরা কেবল আমি কম বলতে হবে 50, পরিচিত চাবি ব্যবহার 120 00:05:41,780 --> 00:05:42,850 আপনার কীবোর্ড উপর. 121 00:05:42,850 --> 00:05:45,141 >> এদিকে, যদি আপনি করতে চেয়েছিলেন আরও কিছু সাধারণ বলে, 122 00:05:45,141 --> 00:05:49,890 মত, ভাল, xy হয় যেখানে প্রতিটি চেয়ে কম হয় x এবং y এর নিজেদের ভেরিয়েবল? 123 00:05:49,890 --> 00:05:52,280 আমরা একই জিনিস করতে পারেন সি, এতক্ষণ আমরা করেছি যেমন 124 00:05:52,280 --> 00:05:53,942 এই ভেরিয়েবল ইতিমধ্যে তৈরি. 125 00:05:53,942 --> 00:05:55,650 এবং আমরা কিভাবে দেখতে পাবেন দীর্ঘ আগে যে না. 126 00:05:55,650 --> 00:05:58,590 আমরা কেবল xy হয় তার চেয়ে কম বলতে হবে. 127 00:05:58,590 --> 00:06:00,530 >> সুতরাং আপনি শুরু করছেন কিছু মিল দেখতে. 128 00:06:00,530 --> 00:06:03,490 এবং যারা ভাবেন যিনি ভূত অবশ্যই ছিল 129 00:06:03,490 --> 00:06:05,250 এই মৌলিক ধারণা কিছু দ্বারা অনুপ্রাণিত. 130 00:06:05,250 --> 00:06:10,350 এবং আপনি এই ধরনের দেখতে পাবেন অনেক languages-- সিনট্যাক্স 131 00:06:10,350 --> 00:06:12,160 না শুধু ভূত, না শুধু সি, কিন্তু পাইথন, 132 00:06:12,160 --> 00:06:14,790 এবং জাভাস্ক্রিপ্ট, এবং এখনও অন্য ভাষায়. 133 00:06:14,790 --> 00:06:18,270 >> এর অন্য একটি কনস্ট্রাক্ট বিবেচনা করি সি থেকে, একটি শর্ত ধারণা, 134 00:06:18,270 --> 00:06:20,370 কিছু শর্তসাপেক্ষে করছেন. 135 00:06:20,370 --> 00:06:22,720 যদি কিছু সত্য, এই না. 136 00:06:22,720 --> 00:06:24,457 যদি অন্য কিছু সত্য হল যে, না. 137 00:06:24,457 --> 00:06:27,040 এটা প্রোগ্রামিং সাজানোর রাস্তা একটি কাঁটাচামচ এর সমতুল্য. 138 00:06:27,040 --> 00:06:29,730 হতে পারে এটি একটি দ্বিপথ কাঁটাচামচ এর, ত্রিমুখী কাঁটাচামচ, বা তার বেশি. 139 00:06:29,730 --> 00:06:32,800 আর ভূত, আমরা থাকতে পারে এই মত কিছু দেখা. 140 00:06:32,800 --> 00:06:34,010 >> তাই এই এক একটি বড় এক. 141 00:06:34,010 --> 00:06:36,750 কিন্তু আপেক্ষিক বিবেচনা যুক্তিবিজ্ঞান সরলতা. 142 00:06:36,750 --> 00:06:44,010 যদি xy হয় তার চেয়ে কম হয়, তাহলে বলতে x কম y তুলনায়, অন্যথায় যদি xy হয় তার চেয়ে অনেক বেশী, 143 00:06:44,010 --> 00:06:46,230 তারপর বলে xy হয় তার চেয়ে অনেক বেশী. 144 00:06:46,230 --> 00:06:48,300 এবং তারপর, যুক্তি, যদি আপনি স্ক্র্যাচ ফিরে মনে 145 00:06:48,300 --> 00:06:52,610 অথবা শুধু আপনার নিজের মানবিক অনুভূতি, ভাল, xy হয় তার চেয়ে বড় নয়, তাহলে এক্স 146 00:06:52,610 --> 00:06:57,000 y কম না হয়, তাহলে অবশ্যই হয় xy হয় সমান হতে যাচ্ছে. 147 00:06:57,000 --> 00:06:59,690 তাই এই ক্ষেত্রে, পাখির দ্বারা সেই ভূত ব্লকে, 148 00:06:59,690 --> 00:07:02,580 আমরা তিন অর্জন করতে পারেন রাস্তা উপায় কাঁটাচামচ? 149 00:07:02,580 --> 00:07:04,980 >> এদিকে, আমরা করতে চান তাহলে তর্কসাপেক্ষ না যে সি, এটা 150 00:07:04,980 --> 00:07:08,420 অন্তত একটি সামান্য simpler-- দেখায় একবার আপনি বাক্য গঠন সাথে পরিচিত পেতে. 151 00:07:08,420 --> 00:07:12,050 যদি xy হয় তার চেয়ে কম হয়, printf, xy হয় তার চেয়ে কম হয়. 152 00:07:12,050 --> 00:07:16,140 অন্যথায় যদি xy হয় তার চেয়ে অনেক বেশী, printf, xy হয় তার চেয়ে অনেক বেশী. 153 00:07:16,140 --> 00:07:21,210 অন্য printf এক্স, y-- এবং সমান আবার, সঙ্গীদের ব্যাকস্ল্যাশ তাৎপর্যহীন 154 00:07:21,210 --> 00:07:24,160 সেই নতুন লাইনের জন্য যাতে করে আপনি আসলে প্রোগ্রাম এই ধরনের দৌড়ে 155 00:07:24,160 --> 00:07:25,940 এটা শুধু সরাতে হবে আপনার কার্সার পরিণামে 156 00:07:25,940 --> 00:07:28,100 পর্দা এর পরের লাইন. 157 00:07:28,100 --> 00:07:31,270 >> এখন এদিকে স্ক্র্যাচ অন্যান্য ছিল আরো পরিশীলিত বৈশিষ্ট্য, শুধুমাত্র 158 00:07:31,270 --> 00:07:34,320 যা কিছু আমরা করতে যাচ্ছেন প্রাথমিকভাবে সি বিশ্বের উপর সরানো 159 00:07:34,320 --> 00:07:37,010 তাঁদের মধ্যে একজন ছিলেন ভূত একটি তালিকা বলা. 160 00:07:37,010 --> 00:07:39,100 আর এই একটি বিশেষ ছিল ভেরিয়েবল-এর টাইপ করে 161 00:07:39,100 --> 00:07:42,840 মঞ্জুরিপ্রাপ্ত একাধিক জিনিষ সংরক্ষণ করতে এটা ফিরে, ব্যাক, ব্যাক, ব্যাক. 162 00:07:42,840 --> 00:07:45,540 >> সি, এটা নেই তালিকা, কোনটাই, কিন্তু কিছু 163 00:07:45,540 --> 00:07:48,090 আরো সাধারণভাবে আছে অ্যারে বলা, যদিও আমরা করব 164 00:07:48,090 --> 00:07:50,590 ফিরে আসা পরে এই সেমিস্টারে কিছু খুঁজছেন 165 00:07:50,590 --> 00:07:52,780 একটি তালিকা, বা সত্যিই একটি লিঙ্ক তালিকা বলা. 166 00:07:52,780 --> 00:07:55,510 কিন্তু এখন, নিকটস্থ জন্য আমাদের জন্য সি সমমানের 167 00:07:55,510 --> 00:07:57,345 কিছু হতে যাচ্ছে একটি অ্যারে বলা. 168 00:07:57,345 --> 00:07:59,740 আর একটি অ্যারের কেবল একটি নয় পরিবর্তনশীল এর বিশেষ ধরনের 169 00:07:59,740 --> 00:08:03,160 যে আপনি ডাটা সংরক্ষণ করতে সক্ষম হবেন ফিরে, ফিরে, ফিরে ফিরে যাও. 170 00:08:03,160 --> 00:08:05,840 >> এবং প্রকৃতপক্ষে, ভূত, আমরা অ্যাক্সেস করতে চেয়েছিলেন যদি 171 00:08:05,840 --> 00:08:09,030 একটি অ্যারের প্রথম উপাদান বা একটি তালিকার এবং আমি এটা কল চলেছি, 172 00:08:09,030 --> 00:08:13,600 প্রচলিত রীতি অনুযায়ী, argv হয়, যুক্তি দ্বারা ভেক্টর, কিন্তু আরো যে অনেক আগেই. 173 00:08:13,600 --> 00:08:17,090 আমি প্রথম উপাদান এ পেতে চান ভূত জগতে argv, 174 00:08:17,090 --> 00:08:20,930 আপনি আসলে সাধারণত না 1 থেকে গণনা শুরু. 175 00:08:20,930 --> 00:08:22,850 >> এবং তাই আমি argv এর আইটেমটি 1 পেতে পারে. 176 00:08:22,850 --> 00:08:26,310 যে শুধু কিভাবে এমআইটি বাস্তবায়িত তালিকার ধারণা. 177 00:08:26,310 --> 00:08:29,860 কিন্তু সি, আমি যাচ্ছি আরও সহজভাবে বলতে, argv হয়, 178 00:08:29,860 --> 00:08:32,758 যা আবার নাম আমার তালিকার বা পরিষ্কার করা, একটি অ্যারের. 179 00:08:32,758 --> 00:08:34,549 আর আমি চাই যদি প্রথম উপাদান, আমি যাচ্ছি 180 00:08:34,549 --> 00:08:37,890 বর্গাকার বন্ধনী ব্যবহার করতে, আপনাকে যা প্রায়ই একটি কীবোর্ড আওতায় ব্যবহৃত হতে পারে না. 181 00:08:37,890 --> 00:08:40,150 >> কিন্তু 0 মানে, আমাকে প্রথম পেতে. 182 00:08:40,150 --> 00:08:42,160 তাই অনুষ্ঠানে এবং যেমন সময় পাস, আমরা যাচ্ছি 183 00:08:42,160 --> 00:08:44,570 এই dichotomies দেখতে শুরু করার ভূত এবং সি মধ্যে, 184 00:08:44,570 --> 00:08:46,070 যদ্দ্বারা স্ক্র্যাচ একটি ব্যবহার. 185 00:08:46,070 --> 00:08:47,670 আমরা সি এখানে 0 ব্যবহার করুন. 186 00:08:47,670 --> 00:08:49,420 কিন্তু আপনি দ্রুত দেখতে পাবেন একবার আপনি বুঝতে 187 00:08:49,420 --> 00:08:52,920 প্রতিটি ভাষার ভিত্তি করে সব কিছু যখন আরও পেতে শুরু 188 00:08:52,920 --> 00:08:56,860 অনুশীলন এবং অনুশীলনের মাধ্যমে পরিচিত. 189 00:08:56,860 --> 00:08:59,700 >> সুতরাং আসুন আসলে একটি প্রোগ্রাম এখন দেখা যাক. 190 00:08:59,700 --> 00:09:04,031 এখানে আমাদের সি প্রথম হইবে সম্পূর্ণ প্রোগ্রামের জন্য সোর্স কোড. 191 00:09:04,031 --> 00:09:06,280 এবং প্রোগ্রাম আমরা চলুন বিবেচনার জন্য প্রস্তাব 192 00:09:06,280 --> 00:09:09,340 এক যে সমতুল্য হয় যে আগে স্ক্র্যাচ টুকরা. 193 00:09:09,340 --> 00:09:13,210 >> এখানে তাই, আমরা কি আছে তর্কসাপেক্ষ সহজ সি প্রোগ্রাম 194 00:09:13,210 --> 00:09:15,410 আপনি যে লিখতে পারেন আসলে কিছু নেই. 195 00:09:15,410 --> 00:09:18,250 এখন, আমরা অতীত পর্যবেক্ষণ করব, এখন জন্য, অন্তর্ভুক্ত করা হয়েছে, 196 00:09:18,250 --> 00:09:21,190 প্রমিত io.h, এবং এই অ্যাঙ্গেল বন্ধনী, এবং কোন int, এবং অকার্যকর, 197 00:09:21,190 --> 00:09:22,840 এবং কোঁকড়া ধনুর্বন্ধনী, এবং মত. 198 00:09:22,840 --> 00:09:25,390 >> আর এর ঠিক ফোকাস কি, অন্তত, intuitively, 199 00:09:25,390 --> 00:09:26,860 ইতিমধ্যে আপনি এ তিড়িং লাফ পারে. 200 00:09:26,860 --> 00:09:30,300 বস্তুত, মূল, আমি না অগত্যা কি জানেন এটা কি, 201 00:09:30,300 --> 00:09:34,580 যখন যে কিন্তু ভূত মত অনেক ছিল সবুজ পতাকা ধাঁধা টুকরা ক্লিক, 202 00:09:34,580 --> 00:09:39,070 তাই একটি প্রোগ্রামিং ভাষা হিসেবে সি আছে কোডের একটি প্রধান টুকরা আছে 203 00:09:39,070 --> 00:09:43,380 ডিফল্ট দ্বারা মৃত্যুদন্ড কার্যকর করা হয়. এবং প্রকৃতপক্ষে, এটা আক্ষরিক নামক প্রধান হতে যাচ্ছে. 204 00:09:43,380 --> 00:09:44,720 >> সুতরাং প্রধান একটি ফাংশন. 205 00:09:44,720 --> 00:09:48,720 এবং এটি একটি বিশেষ ফাংশন যে বিদ্যমান আছে সি যখন আপনি একটি প্রোগ্রাম চালানো যে, 206 00:09:48,720 --> 00:09:52,720 এটা যে দ্বারা পরিচালিত পরার মূল ডিফল্ট. স্ক্র্যাচ জগতে, 207 00:09:52,720 --> 00:09:56,970 এটা সাধারণত যখন সবুজ পতাকা ছিল ক্লিক ডিফল্ট দ্বারা পরিচালিত ফেরার যে. 208 00:09:56,970 --> 00:10:01,130 >> এদিকে, আমরা আগে এই দেখা করেছি, printf বা মুদ্রণ ফরম্যাট, যে 209 00:10:01,130 --> 00:10:05,620 একটি ফাংশন যে সঙ্গে আসে হতে যাচ্ছে সি, অন্যদের আভা সঙ্গে বরাবর, 210 00:10:05,620 --> 00:10:10,140 সময় এবং সময় থেকে যে ইচ্ছার আবার, যাতে ঠিক করতে 211 00:10:10,140 --> 00:10:12,450 হিসাবে তার নাম প্রস্তাব দেওয়া হয়, কিছু প্রিন্ট করা হবে. 212 00:10:12,450 --> 00:10:13,500 আমরা কী মুদ্রণ করতে চান? 213 00:10:13,500 --> 00:10:15,770 আচ্ছা, আমরা দেখতে পাবেন পরিক্ষেপ অক্ষর দ্বারা 214 00:10:15,770 --> 00:10:18,680 these-- হ্যালো ওয়ার্ল্ড মত, ডবল উদ্ধৃতির মধ্যে ব্যাকস্ল্যাশ এন, 215 00:10:18,680 --> 00:10:23,040 আমরা ঠিক printf, বলতে পারেন পর্দায় কি প্রিন্ট করতে. 216 00:10:23,040 --> 00:10:26,430 >> কিন্তু যাতে করতে যে, আমরা দুর্ভাগ্যবশত 217 00:10:26,430 --> 00:10:30,010 কিছু যে নেওয়া প্রয়োজন ইতিমধ্যে আমাদের মানুষের রহস্যপূর্ণ, 218 00:10:30,010 --> 00:10:34,510 কিন্তু অন্তত এটা কিছুটা পাঠযোগ্য ধারালো অন্তর্ভুক্ত, প্রমিত io.h, int, 219 00:10:34,510 --> 00:10:39,340 প্রধান, শূন্যতা, printf ঐন্দ্রজালিক সব incantations আমরা শুধু পর্দায় দেখেছি. 220 00:10:39,340 --> 00:10:42,470 কিন্তু আমরা আসলে আছে এখনো আরো রহস্যময় যান. 221 00:10:42,470 --> 00:10:47,140 আমরা প্রথম কোড অনুবাদ করার প্রয়োজন আমরা মেশিন কোড লিখুন. 222 00:10:47,140 --> 00:10:51,370 আর গত সপ্তাহ থেকে প্রত্যাহার করে মেশিন, অন্তত বেশী আমরা এখানে জানি, 223 00:10:51,370 --> 00:10:54,450 দিন শেষে মাত্র zeros এবং বেশী বুঝতে. 224 00:10:54,450 --> 00:10:58,100 >> আমার ঈশ্বর, এই লেখার জন্য যদি আমরা ছিল zeros এবং আসলে প্রোগ্রাম বেশী, 225 00:10:58,100 --> 00:11:01,260 এটা খুব, খুব দ্রুত হবে কিছু আউট মজা নিতে. 226 00:11:01,260 --> 00:11:05,150 কিন্তু এটি সক্রিয় আউট, গত সপ্তাহে প্রতি, যে zeros এবং বেশী এইসব নিদর্শন 227 00:11:05,150 --> 00:11:06,400 শুধু বিশেষ অর্থ আছে. 228 00:11:06,400 --> 00:11:08,500 নির্দিষ্ট প্রেক্ষাপটে, তারা সংখ্যায় অর্থ হতে পারে. 229 00:11:08,500 --> 00:11:11,840 >> কিছু প্রেক্ষিতে, তারা এর অর্থ হতে পারে অক্ষর, বা রং, বা কোন সংখ্যা 230 00:11:11,840 --> 00:11:14,710 সেখানে উপর অন্যান্য অ্যাবস্ট্রাকশন এর. 231 00:11:14,710 --> 00:11:18,450 কিন্তু ঠিক যেমন আপনার কম্পিউটারে হয়েছে একটি সিপিইউ, সেন্ট্রাল প্রসেসিং ইউনিট, 232 00:11:18,450 --> 00:11:20,390 অথবা আপনার কম্পিউটার এর ভিতর ঘিলু. 233 00:11:20,390 --> 00:11:22,240 এটি সাধারণত ইন্টেলের ভিতরে, যে কারণ 234 00:11:22,240 --> 00:11:24,900 সবচেয়ে বড় কোম্পানি এক যে কম্পিউটারের জন্য সিপিইউ নির্মিত হয়. 235 00:11:24,900 --> 00:11:28,910 >> আচ্ছা, ইন্টেল CPU- র এবং অন্যদের কেবল আগাম সিদ্ধান্ত নিয়েছে 236 00:11:28,910 --> 00:11:33,970 যে শূন্য নির্দিষ্ট প্যাটার্নের এবং বেশী নির্দিষ্ট কিছু বুঝাইবে. 237 00:11:33,970 --> 00:11:37,040 zeros এবং বেশী নির্দিষ্ট প্যাটার্নের হবে মানে, পর্দা এই মুদ্রণ, 238 00:11:37,040 --> 00:11:39,710 বা এই দুটি সংখ্যার যোগ, বা এই দুটি সংখ্যার বিয়োগ, 239 00:11:39,710 --> 00:11:43,310 বা থেকে তথ্য এই টুকরা সরাতে আমার কম্পিউটার এর মেমরি এখানে ওভার, 240 00:11:43,310 --> 00:11:47,870 বা অন্য খুব কম স্তরের কোন সংখ্যা, কিন্তু শেষ পর্যন্ত দরকারী, অপারেশন. 241 00:11:47,870 --> 00:11:53,022 কিন্তু সৌভাগ্যক্রমে, আমরা মানুষের যাচ্ছে না বিস্তারিত এই মাত্রা জানা প্রয়োজন. 242 00:11:53,022 --> 00:11:56,230 বস্তুত, শুধু, শেষবারের মত যেখানে আমরা আবার, এবং আবার, এবং আবার আনমনা, 243 00:11:56,230 --> 00:11:58,930 খুব কম স্তর থেকে ভবন zeros এবং বেশী মত আদিম 244 00:11:58,930 --> 00:12:01,160 উচ্চস্তরের ধারণার সংখ্যা, এবং অক্ষর মত, 245 00:12:01,160 --> 00:12:04,330 এবং রং, এবং আরো অনেক কিছু, তাই আমরা প্রোগ্রামার হিসেবে করতে পারেন 246 00:12:04,330 --> 00:12:07,080 কাঁধের উপর দাঁড়ানো অন্যদের যারা আমাদের আগে এসেছেন 247 00:12:07,080 --> 00:12:11,260 এবং সফ্টওয়্যার যে অন্য ব্যবহার মানুষ us-- আগে লিখেছি 248 00:12:11,260 --> 00:12:14,340 যথা প্রোগ্রাম কম্পাইলার বলা. 249 00:12:14,340 --> 00:12:17,770 >> সি একটি ভাষা যে সাধারণত কম্পাইল করা হয়, 250 00:12:17,770 --> 00:12:22,130 যা থেকে রূপান্তরিত অর্থ মেশিন কোডে সোর্স কোড. 251 00:12:22,130 --> 00:12:25,230 বিশেষ করে, এর মানে কি হয় যে আপনি আপনার সোর্স পেয়েছেন 252 00:12:25,230 --> 00:12:29,530 কোড যে আপনি নিজেকে আমরা যত তাড়াতাড়ি লিখুন, পর্দায় মাত্র কয়েক মিনিটের মধ্যে হবে, 253 00:12:29,530 --> 00:12:33,140 এবং আপনি এটা রুপান্তর করতে চান পরিণামে মেশিনে code-- 254 00:12:33,140 --> 00:12:37,100 যারা zeros এবং বেশী যে শুধুমাত্র আপনার ম্যাক বা আপনার পিসি 255 00:12:37,100 --> 00:12:41,230 understands-- আপনি একটি প্রথম পেয়েছেন যেমন যে সোর্স কোড ফিড 256 00:12:41,230 --> 00:12:46,340 একটি বিশেষ ইনপুট প্রোগ্রাম একটি কম্পাইলার বলা, 257 00:12:46,340 --> 00:12:48,974 আউটপুট যা আমরা দেখতে পাবে মেশিন কোড. 258 00:12:48,974 --> 00:12:51,890 এবং প্রকৃতপক্ষে, আমরা শেষ সময় সায়ীদ সম্পর্কে, সত্যিই, দিনের শেষে, 259 00:12:51,890 --> 00:12:52,610 সমস্যা সমাধান. 260 00:12:52,610 --> 00:12:53,360 আপনি ইনপুট পেয়েছেন. 261 00:12:53,360 --> 00:12:54,318 এবং আপনি আউটপুট পেয়েছেন. 262 00:12:54,318 --> 00:12:56,560 আর তুমি কিছু পেয়েছেন মাঝখানে অ্যালগরিদম. 263 00:12:56,560 --> 00:12:59,830 >> আলগোরিদিম নিশ্চয় হতে পারে সফ্টওয়্যার বাস্তবায়িত, 264 00:12:59,830 --> 00:13:02,900 আমরা pseudocode গত সপ্তাহে দেখেছি এবং আমরা প্রকৃত কোড দিয়ে দেখতে পাবেন যেমন 265 00:13:02,900 --> 00:13:03,490 এই সপ্তাহ. 266 00:13:03,490 --> 00:13:06,430 আর তাই একটি কম্পাইলার সত্যিই ঠিক ভিতরে আলগোরিদিম একটি সেট আছে 267 00:13:06,430 --> 00:13:10,060 এটা জানি যে কিভাবে বিশেষ কীওয়ার্ড রূপান্তর, 268 00:13:10,060 --> 00:13:12,180 প্রধান, এবং printf মত, এবং অন্যদের যে আমরা শুধু 269 00:13:12,180 --> 00:13:17,620 শূন্য নিদর্শনের মধ্যে দেখেছি এবং ওগুলো যে ইন্টেল ভিতরে এবং অন্যান্য CPU- র 270 00:13:17,620 --> 00:13:20,020 আসলে বুঝতে পারে. 271 00:13:20,020 --> 00:13:22,460 তাহলে আমরা এটা কিভাবে করব? 272 00:13:22,460 --> 00:13:24,470 আমরা একটি কম্পাইলার কোথায় পেতে পারি? 273 00:13:24,470 --> 00:13:26,400 >> আমাদের মধ্যে অধিকাংশই এখানে একটি Mac বা একটা পিসি আছে. 274 00:13:26,400 --> 00:13:29,152 এবং আপনি ম্যাক OS চালাচ্ছেন, বা উইন্ডোজ, বা লিনাক্স, বা সোলারিস, 275 00:13:29,152 --> 00:13:30,860 বা অন্য কোন সংখ্যা অপারেটিং সিস্টেম. 276 00:13:30,860 --> 00:13:32,568 এবং প্রকৃতপক্ষে, আমরা পারা ওয়েব সম্মুখের বাইরে যেতে 277 00:13:32,568 --> 00:13:35,710 এবং একটি কম্পাইলার ডাউনলোড আপনার ম্যাক বা আপনার পিসি জন্য 278 00:13:35,710 --> 00:13:37,360 আপনার নির্দিষ্ট অপারেটিং সিস্টেমের জন্য. 279 00:13:37,360 --> 00:13:39,617 কিন্তু আমরা সব থাকবে বিভিন্ন পেজ, তাই কথা বলতে. 280 00:13:39,617 --> 00:13:41,450 আমরা সামান্য চাই বিভিন্ন কনফিগারেশন. 281 00:13:41,450 --> 00:13:43,210 আর কিছু সব একই কাজ করবে না. 282 00:13:43,210 --> 00:13:45,280 এবং প্রকৃতপক্ষে, এই দিন আমাদের অনেক ব্যবহার করবেন না 283 00:13:45,280 --> 00:13:47,516 যে শুধুমাত্র আমাদের ল্যাপটপের উপর সঞ্চালিত হয় সফ্টওয়্যার. 284 00:13:47,516 --> 00:13:49,390 পরিবর্তে, আমরা কিছু ব্যবহার একটি ব্রাউজার মত যে 285 00:13:49,390 --> 00:13:52,930 আমাদের একসেস করতে পারবেন ওয়েব ভিত্তিক মেঘের মধ্যে অ্যাপ্লিকেশন. 286 00:13:52,930 --> 00:13:55,630 এবং একদল পরবর্তীদের এই সেমিস্টারে, আমরা ঠিক যে কি করতে হবে. 287 00:13:55,630 --> 00:13:59,660 আমরা অ্যাপ্লিকেশন লিখতে হবে বা সফ্টওয়্যার code-- ব্যবহারের সি, 288 00:13:59,660 --> 00:14:02,860 কিন্তু পাইথন মত অন্যান্য ভাষায় এবং জাভাস্ক্রিপ্ট যে মেঘ চালানো. 289 00:14:02,860 --> 00:14:05,860 >> আর নিজেদেরকে এটা করতে হলে, আমরা সেমিস্টারে সময় 290 00:14:05,860 --> 00:14:11,890 আসলে একটি মেঘ ভিত্তিক ব্যবহার করবে এবং CS50 আইডিই হিসাবে পরিচিত পরিবেশ. 291 00:14:11,890 --> 00:14:16,030 এই একটি ওয়েব ভিত্তিক প্রোগ্রামিং হয় পরিবেশ, বা সমন্বিত উন্নয়ন 292 00:14:16,030 --> 00:14:20,610 পরিবেশ, IDE, যে কিছু উপরে নির্মিত ওপেন সোর্স সফটওয়্যার মেঘ 9 নামক. 293 00:14:20,610 --> 00:14:22,966 আর আমরা কিছু প্রাতিষ্ঠানিক করেছি এটি simplifications 294 00:14:22,966 --> 00:14:25,840 নির্দিষ্ট কিছু বৈশিষ্ট্য লুকাতে তাই প্রথম সপ্তাহ যে আমরা প্রয়োজন হবে না, 295 00:14:25,840 --> 00:14:27,770 যা পরে আপনি যা করতে পারেন তাদের প্রকাশ এবং কি সবচেয়ে 296 00:14:27,770 --> 00:14:29,400 কিছু আপনি পরিবেশের সঙ্গে চান. 297 00:14:29,400 --> 00:14:32,470 >> আর এটা আমাদের খুব পারবেন, করতে, নির্দিষ্ট সফ্টওয়্যার প্রাক ইনস্টল করুন. 298 00:14:32,470 --> 00:14:35,330 একটি তথাকথিত এবং CS50 মত থিংস লাইব্রেরি, যা আমরা শীঘ্রই দেখতে পাবেন 299 00:14:35,330 --> 00:14:39,210 কিছু সঙ্গে সি আমাদের উপলব্ধ অতিরিক্ত কার্যকারিতা. 300 00:14:39,210 --> 00:14:44,392 তাই আপনি যদি যান যদি করতে, পরিণামে, CS50.io, আপনি লগ ইন করার অনুরোধ জানানো হবে 301 00:14:44,392 --> 00:14:46,350 এবং একবার আপনি এবং তৈরি বিনামূল্যে জন্য একটি অ্যাকাউন্ট, 302 00:14:46,350 --> 00:14:52,150 আপনি একটি অ্যাক্সেস করতে সক্ষম হতে হবে এনভায়রনমেন্ট বেশ ভালো দেখায়. 303 00:14:52,150 --> 00:14:53,760 >> এখন, এই ডিফল্ট মোডে রয়েছে. 304 00:14:53,760 --> 00:14:55,650 সবকিছু সুন্দর এবং পর্দায় উজ্জ্বল. 305 00:14:55,650 --> 00:14:57,941 আমাদের অনেকেই একটা অভ্যাস আছে এবং CS50 টুকরা যে কাজ 306 00:14:57,941 --> 00:14:59,150 বেশ নিশুতি মধ্যে. 307 00:14:59,150 --> 00:15:02,400 তাই আপনি কিছু করতে পছন্দ হতে পারে রাত্রি মোড পরিণত, তাই কথা বলতে. 308 00:15:02,400 --> 00:15:05,550 >> কিন্তু, শেষ পর্যন্ত, আপনি কি করছেন এবং CS50 আইডিই মধ্যে দেখতে যাচ্ছেন 309 00:15:05,550 --> 00:15:08,340 তিনটি স্বতন্ত্র areas-- হয় বাম যেখানে একটি এলাকা 310 00:15:08,340 --> 00:15:12,604 আপনার ফাইলের মধ্যে হতে যাচ্ছে মেঘ, উপরের ডানদিকে একটি এলাকা 311 00:15:12,604 --> 00:15:14,270 যেখানে আপনার কোড সম্পাদনাযোগ্য হতে যাচ্ছে. 312 00:15:14,270 --> 00:15:16,650 আপনি খুলতে সক্ষম হবেন কোনো প্রোগ্রাম জন্য পৃথক ট্যাব 313 00:15:16,650 --> 00:15:19,670 আপনি এই সেমিস্টারে ভিতরে লিখতে যে যে উপরের ডান দিকের কোণায় অবস্থিত এর. 314 00:15:19,670 --> 00:15:23,070 তারপর সবচেয়ে arcanely, এবং এখনো জোরে, 315 00:15:23,070 --> 00:15:26,610 এই জিনিস হতে যাচ্ছে একটি টার্মিনাল উইন্ডো হিসাবে পরিচিত নীচে. 316 00:15:26,610 --> 00:15:29,450 >> এটি একটি পুরানো স্কুল কমান্ড লাইন ইন্টারফেস, 317 00:15:29,450 --> 00:15:32,240 বা CLI, যে দেয় আপনি কমান্ড এক্সিকিউট করার 318 00:15:32,240 --> 00:15:35,260 এই ক্ষেত্রে কম্পিউটারে, cloud-- কম্পিউটার 319 00:15:35,260 --> 00:15:39,090 আপনার কোড কম্পাইল করার মত কাজগুলি করতে সোর্স কোড থেকে মেশিন কোডে, 320 00:15:39,090 --> 00:15:43,600 আপনার প্রোগ্রাম চালানোর জন্য, বা শুরু করার জন্য আপনার ওয়েব সার্ভার, অথবা আপনার ডাটাবেস অ্যাক্সেস করতে, 321 00:15:43,600 --> 00:15:47,454 এবং অন্যান্য কৌশলের কোন সংখ্যা যে আমরা দীর্ঘ আগে ব্যবহার করতে শুরু করব. 322 00:15:47,454 --> 00:15:49,370 কিন্তু সেখানে পেতে, আমরা করছি আসলে আছে যাচ্ছে 323 00:15:49,370 --> 00:15:51,240 অনলাইন যান এবং খেলা শুরু করতে. 324 00:15:51,240 --> 00:15:54,399 আর এটা করতে হলে, প্রথম দিন মূল সঙ্গে tinkering শুরু, 325 00:15:54,399 --> 00:15:55,940 এবং একটি প্রধান অংশ অনুগ্রহ করে লিখুন. 326 00:15:55,940 --> 00:15:59,170 আর এর যে ফাংশন ব্যবহার করা যাক printf, যা আমরা আগে ব্যবহার করা, 327 00:15:59,170 --> 00:16:01,050 সহজভাবে কিছু বলতে. 328 00:16:01,050 --> 00:16:04,910 >> তাই এখানে আমি CS50 আইডিই এর ভিতরে ইতিমধ্যে আছি. 329 00:16:04,910 --> 00:16:05,930 আমি অগ্রিম লগইন করেছি. 330 00:16:05,930 --> 00:16:07,360 আমি পূর্ণ উইন্ডো আবরিত. 331 00:16:07,360 --> 00:16:09,670 আর তাই, শেষ পর্যন্ত, আপনি খুব আসার সমস্যা 332 00:16:09,670 --> 00:16:12,960 অনুরূপ পদক্ষেপ অনুসরণ করবে অনলাইন ডকুমেন্টেশন প্রদান করবে. 333 00:16:12,960 --> 00:16:16,360 তাই আপনি সম্পর্কে চিন্তা করতে হবে না যে একটু টেকনিক্যাল পদক্ষেপ শুষে 334 00:16:16,360 --> 00:16:17,730 আমি আজ এখানে না যে. 335 00:16:17,730 --> 00:16:19,222 >> কিন্তু আপনি এই মত একটি স্ক্রীন পাবেন. 336 00:16:19,222 --> 00:16:20,430 আমি রাতের মোডে ঘটতে হবে. 337 00:16:20,430 --> 00:16:22,944 এবং আপনি সবকিছু রাঙান পারেন রাত মোড নিষ্ক্রিয় দ্বারা আপ. 338 00:16:22,944 --> 00:16:24,860 আর শেষে দিন, আপনি দেখতে যাচ্ছেন 339 00:16:24,860 --> 00:16:30,090 ফাইল areas-- এই তিনটি প্রধান বাঁদিকে উপস্থিত ব্রাউজার, টপ আপ কোড ট্যাব, 340 00:16:30,090 --> 00:16:32,430 এবং নীচে টার্মিনাল উইন্ডোর. 341 00:16:32,430 --> 00:16:34,890 >> আমাকে এগিয়ে যান এবং আমার প্রথম প্রোগ্রাম লিখতে. 342 00:16:34,890 --> 00:16:42,300 আমি, preemptively ফাইলে যান যাচ্ছি সংরক্ষণ করুন, এবং hello.c হিসাবে আমার ফাইলটি সংরক্ষণ করুন. 343 00:16:42,300 --> 00:16:46,850 প্রকৃতপক্ষে, কনভেনশন দ্বারা, যে কোন প্রোগ্রাম আমরা লেখা যে সি ভাষায় লেখা 344 00:16:46,850 --> 00:16:49,739 কিছু নামকরণ করা উচিত বিন্দু গ কনভেনশন দ্বারা. 345 00:16:49,739 --> 00:16:53,030 তাই আমি এটি hello.c নাম যাচ্ছি, কারণ আমি শুধু বিশ্বের হ্যালো বলতে চাই. 346 00:16:53,030 --> 00:16:54,820 এখন আমি জুম যাচ্ছি আউট এবং Save এ ক্লিক করুন. 347 00:16:54,820 --> 00:16:58,180 আর একটা জিনিসই আমি এখানে আছে এখন একটি ট্যাব যা আমি কোড লেখা শুরু করতে পারেন. 348 00:16:58,180 --> 00:16:59,490 >> এই সঙ্কলন করা যাচ্ছে. 349 00:16:59,490 --> 00:17:00,300 এই কিছুই মানে. 350 00:17:00,300 --> 00:17:02,750 এমনকি যদি আমি রূপান্তরিত zeros এবং বেশী এই, 351 00:17:02,750 --> 00:17:05,390 CPU- র কোন আছে যাচ্ছে ধারণা প্রায় কী হচ্ছে. 352 00:17:05,390 --> 00:17:14,170 কিন্তু আমি যদি লাইন লিখতে যে মেলে না সঙ্গে সি এর conventions-- সি হচ্ছে, 353 00:17:14,170 --> 00:17:20,150 আবার, এই সিনট্যাক্স সঙ্গে language-- মত এই printf, হ্যালো world-- এবং আমি করেছি 354 00:17:20,150 --> 00:17:22,210 সঙ্গে আরামদায়ক অর্জিত সময়ের এই করছেন. 355 00:17:22,210 --> 00:17:24,510 তাই আমি আমি তৈরি মনে করি না কোন বানান ও অন্যান্য ত্রুটি. 356 00:17:24,510 --> 00:17:27,910 >> কিন্তু বিচ্ছিন্নভাবে, খুব প্রথম সময় আপনি এই কাজ করতে, আপনি হবে. 357 00:17:27,910 --> 00:17:31,090 আর আমি কি করতে যাচ্ছি খুব প্রতাপ ভাল আপনি প্রথম সময় কাজ করে না. 358 00:17:31,090 --> 00:17:33,610 এবং যে পুরোপুরি ঠিক আছে, কারণ এখন আপনি 359 00:17:33,610 --> 00:17:37,662 শুধু নবীনতা একটা পুরো অনেক দেখতে পারে, কিন্তু সময়ের সাথে একবার আপনি পরিচিত পেতে 360 00:17:37,662 --> 00:17:39,870 এই পরিবেশের সঙ্গে, এবং এই ভাষা, এবং অন্যদের, 361 00:17:39,870 --> 00:17:42,370 আপনি কিছু দেখতে শুরু করব যে হয় সঠিক বা ভুল. 362 00:17:42,370 --> 00:17:44,369 >> এবং এই কি শিক্ষণ ফেলোগণ এবং অবশ্যই 363 00:17:44,369 --> 00:17:48,780 সহায়ক হয়, সময়ের এত বেশি ভাল পেতে আপনার কোডে ভুল বা বাগ spotting. 364 00:17:48,780 --> 00:17:52,110 কিন্তু আমি যে দাবি আছে এই কোডের কোন বাগ আছে. 365 00:17:52,110 --> 00:17:53,990 তাই আমি এখন এই প্রোগ্রাম চালাতে চান. 366 00:17:53,990 --> 00:17:57,440 >> এখন আমার নিজের ম্যাক বা পিসি, আমি আছি ডবল ক্লিক আইকন অভ্যাস 367 00:17:57,440 --> 00:17:59,350 যখন আমি কিছু প্রোগ্রাম চালাতে চান. 368 00:17:59,350 --> 00:18:01,080 কিন্তু যে মডেল এখানে নেই. 369 00:18:01,080 --> 00:18:04,570 এই পরিবেশে, যা এবং CS50 আইডিই হয়. 370 00:18:04,570 --> 00:18:07,192 আমরা একটি অপারেটিং ব্যবহার করছে সিস্টেম লিনাক্স বলা. 371 00:18:07,192 --> 00:18:09,900 লিনাক্স অন্য কথা স্মরণ করিয়ে দেয় অপারেটিং সিস্টেম, সাধারণভাবে পরিচিত 372 00:18:09,900 --> 00:18:10,850 ইউনিক্স হিসাবে. 373 00:18:10,850 --> 00:18:16,340 আর লিনাক্স বিশেষ করে জন্য পরিচিত একটি কমান্ড লাইন পরিবেশে, CLI হচ্ছে. 374 00:18:16,340 --> 00:18:20,070 এখন, আমরা একটি নির্দিষ্ট ব্যবহার করছেন Linux- র গন্ধ উবুন্টু নামে. 375 00:18:20,070 --> 00:18:22,770 আর উবুন্টু কেবল একটি নয় Linux- র নির্দিষ্ট সংস্করণ. 376 00:18:22,770 --> 00:18:27,900 >> কিন্তু এই লিনাক্স এর এই দিন আসলে না গ্রাফিক্যাল ইউজার ইন্টারফেস সঙ্গে আসা. 377 00:18:27,900 --> 00:18:30,360 আর এক ঘটতে এখানে ব্যবহার করা ওয়েব-ভিত্তিক. 378 00:18:30,360 --> 00:18:32,735 তাই এই এমনকি একটি চেহারা হতে পারে কিছু থেকে একটু ভিন্ন 379 00:18:32,735 --> 00:18:35,310 আপনি নিজেকে থাকতে পারে দেখা বা অতীতে চালানোর. 380 00:18:35,310 --> 00:18:37,910 >> তাই আমি এগিয়ে যেতে চলেছি এখন এবং নিচের কাজগুলো. 381 00:18:37,910 --> 00:18:40,950 আমি এই ফাইলটি hello.c হিসাবে সংরক্ষণ করেছি. 382 00:18:40,950 --> 00:18:47,350 আমি এগিয়ে যান যাচ্ছি এবং টাইপ clanghello.c ঝনঝন তাই 383 00:18:47,350 --> 00:18:49,850 সি ভাষার জন্য একটি কম্পাইলার হয়. 384 00:18:49,850 --> 00:18:51,952 এটি প্রাক ইনস্টল করা হয়েছে এবং CS50 IDE তে. 385 00:18:51,952 --> 00:18:54,910 এবং আপনি একেবারে বিনামূল্যে ডাউনলোড করতে পারেন এবং আপনার নিজস্ব Mac বা PC তে এই ইনস্টল করুন. 386 00:18:54,910 --> 00:18:57,910 >> কিন্তু, আবার, আপনি সব হবে না প্রাক কনফিগারেশন আপনার জন্য কাজ. 387 00:18:57,910 --> 00:19:00,940 তাই এখন জন্য, আমি শুধু আছি clanghello.c চালানো যাচ্ছে. 388 00:19:00,940 --> 00:19:03,240 আর এখন এই সিনট্যাক্স লক্ষ্য এখানে অবশেষে হবে 389 00:19:03,240 --> 00:19:06,930 উপলব্ধি মানে হচ্ছে আমি একটি আছি ফোল্ডার বা ডিরেক্টরি কর্মস্থান বলা. 390 00:19:06,930 --> 00:19:11,030 এই ডলার চিহ্ন শুধু প্রচল অর্থ জন্য, আপনার কমান্ড টাইপ করুন. 391 00:19:11,030 --> 00:19:14,560 >> এটা কি একটি প্রম্পট বলা হচ্ছে, শুধু কনভেনশন দ্বারা ডলার চিহ্ন. 392 00:19:14,560 --> 00:19:19,130 আর আমি যদি এখন এগিয়ে যান এবং ক্লিক করুন লিখুন, কিছুই ঘটেছে বলে মনে হয়. 393 00:19:19,130 --> 00:19:20,930 কিন্তু যে আসলে একটা ভাল জিনিস. 394 00:19:20,930 --> 00:19:23,650 কম যে ঘটবে আপনার পর্দা, তত বেশি 395 00:19:23,650 --> 00:19:26,710 আপনার কোড সঠিক হতে হয়, অন্তত সিনট্যাক্স. 396 00:19:26,710 --> 00:19:29,120 >> সুতরাং যদি আমি এই চালাতে চান প্রোগ্রাম, এখন আমি কি করব? 397 00:19:29,120 --> 00:19:33,770 ওয়েল, দেখা যাচ্ছে যে কনভেনশন দ্বারা ডিফল্ট নাম 398 00:19:33,770 --> 00:19:38,854 প্রোগ্রামের জন্য যখন আপনি একটি নির্দিষ্ট না নামের জন্য আপনার প্রোগ্রাম ঠিক a.out হয় হয়. 399 00:19:38,854 --> 00:19:41,270 আর এই সিনট্যাক্স খুব, আপনি যা করবেন সামনে দীর্ঘ সঙ্গে পরিচিত পেতে. 400 00:19:41,270 --> 00:19:47,500 >> ডট স্ল্যাশ মানে, হেই, এবং CS50 IDE একটি প্রোগ্রাম নামক a.out চালানো 401 00:19:47,500 --> 00:19:49,400 যে আমার বর্তমান ডিরেক্টরির ভিতরে. 402 00:19:49,400 --> 00:19:51,520 যে বিন্দু বর্তমান ডিরেক্টরি মানে. 403 00:19:51,520 --> 00:19:55,040 আর আমরা কি অন্য ধরনের সিকোয়েন্স দেখতে পাবেন অক্ষরের দীর্ঘ আগে মানে. 404 00:19:55,040 --> 00:19:58,430 >> তাই আমরা এখানে যান, লিখুন, হ্যালো দুনিয়া. 405 00:19:58,430 --> 00:20:00,080 এবং আপনি বিজ্ঞপ্তি পাবেন যে কি ঘটেছে? 406 00:20:00,080 --> 00:20:01,580 নেই শুধু এটা হ্যালো দুনিয়া প্রিন্ট হয়নি. 407 00:20:01,580 --> 00:20:05,990 এটি সরানো পরবর্তী লাইন কার্সার. 408 00:20:05,990 --> 00:20:07,160 >> এবং কেন যে ছিল? 409 00:20:07,160 --> 00:20:12,400 কোড যে আমরা আগে কি লিখেছেন জিয়া কী ছিল যে নিশ্চিত যে কার্সার would 410 00:20:12,400 --> 00:20:14,882 পরের লাইনে যেতে? 411 00:20:14,882 --> 00:20:16,840 একটি সম্পর্কে মজার জিনিস কম্পিউটার এটা শুধুমাত্র যাচ্ছে 412 00:20:16,840 --> 00:20:18,570 আক্ষরিক কি করতে হবে তা আপনি এখান থেকে কি বলছি. 413 00:20:18,570 --> 00:20:26,050 >> সুতরাং আপনি হ্যালো printf থেকে এটা বলতে যদি, কমা, স্থান, বিশ্বের, বন্ধ মূল্যউদ্ধৃতি, 414 00:20:26,050 --> 00:20:29,090 এটা কেবল আক্ষরিক যাচ্ছে যারা অক্ষর প্রিন্ট করতে. 415 00:20:29,090 --> 00:20:31,980 কিন্তু আমি এই বিশেষ চরিত্র ছিল শেষ, রিকল, ব্যাকস্ল্যাশ এন এ. 416 00:20:31,980 --> 00:20:34,230 এবং যে কি নিশ্চিত হচ্ছে যে চরিত্র গেলেন 417 00:20:34,230 --> 00:20:36,570 পর্দা এর পরের লাইন. 418 00:20:36,570 --> 00:20:38,097 >> আসলে, আমাকে যেতে এবং এই কাজের জন্য. 419 00:20:38,097 --> 00:20:39,430 আমাকে এগিয়ে যান এবং এই মুছে দিন. 420 00:20:39,430 --> 00:20:41,180 এখন, যে লক্ষ্য আমার পর্দার উপরের আছে 421 00:20:41,180 --> 00:20:42,890 একটি সামান্য লাল আলো ট্যাব ইঙ্গিত, 422 00:20:42,890 --> 00:20:45,047 হেই, আপনি আপনার ফাইল সংরক্ষণ করা করেছি. 423 00:20:45,047 --> 00:20:47,880 তাই আমি নিয়ন্ত্রণ সঙ্গে এগিয়ে যেতে চলেছি এস বা কমান্ড এস, ফাইলটি সংরক্ষণ করুন. 424 00:20:47,880 --> 00:20:51,130 এখন এটি একটি মুহূর্ত সবুজ জন্য গিয়েছিলাম goes--. 425 00:20:51,130 --> 00:20:53,760 আর এখন এটা ফিরে এসেছে শুধু একটি ঘনিষ্ঠ আইকন হচ্ছে. 426 00:20:53,760 --> 00:21:01,860 >> আমি এখন আবার clanghello.c চালানোর প্রয়োজন হলে, Enter, বিন্দু স্ল্যাশ, a.out হয়, লিখুন, 427 00:21:01,860 --> 00:21:04,110 আপনি দেখতে পাবেন যে এটি এখনও কাজ. 428 00:21:04,110 --> 00:21:06,020 কিন্তু এটা তর্কসাপেক্ষ একটু বগী. 429 00:21:06,020 --> 00:21:08,714 ঠিক এখন, আমার প্রম্পট কর্মক্ষেত্র, এবং তারপর যে ডলার চিহ্ন 430 00:21:08,714 --> 00:21:10,880 এবং তারপর আমার প্রকৃত প্রম্পট সব একই লাইনে আছে. 431 00:21:10,880 --> 00:21:14,540 তাই এই অবশ্যই একটি নান্দনিক বাগ, এমনকি যদি এটা সত্যিই একটি লজিক্যাল বাগ নয়. 432 00:21:14,540 --> 00:21:16,250 >> তাই আমি আমি কি পূর্বাবস্থা যাচ্ছি. 433 00:21:16,250 --> 00:21:18,560 আমি a.out হয় পুন: প্রকাশ করা যাচ্ছে না. 434 00:21:18,560 --> 00:21:22,710 বিজ্ঞপ্তি আমি জুড়েছি newline অক্ষর ফিরে. 435 00:21:22,710 --> 00:21:24,280 আমি ফাইল সংরক্ষণ করেছি. 436 00:21:24,280 --> 00:21:31,630 >> তাই আমি, a.out হয় পুন: প্রকাশ করা যাচ্ছে না and-- শালা, একটি বাগ, একটি বাগ অর্থাত ভুল. 437 00:21:31,630 --> 00:21:35,020 তাই বাগ যদিও হয় আমি এন সেখানে ব্যাকস্ল্যাশ যোগ, 438 00:21:35,020 --> 00:21:41,180 পুনরায় উদ্ধার, প্রোগ্রাম পুনরায় দৌড়ে, আচরণ একই ছিল. 439 00:21:41,180 --> 00:21:42,640 কেন যে হতে পারে? 440 00:21:42,640 --> 00:21:43,910 >> আমি একটি পদক্ষেপ, অধিকার অনুপস্থিত করছি? 441 00:21:43,910 --> 00:21:47,620 যে কী পদক্ষেপ আগে আপনি যে ছিল যখন আপনি আপনার সোর্স কোড পরিবর্তন চাচ্ছি, 442 00:21:47,620 --> 00:21:49,610 এটি সক্রিয় আউট এছাড়াও চালানোর এটা কম্পাইলার মাধ্যমে 443 00:21:49,610 --> 00:21:51,102 আবার যাতে আপনি নতুন মেশিন কোড পেতে. 444 00:21:51,102 --> 00:21:52,810 আর মেশিন কোড, zeros এবং বেশী, 445 00:21:52,810 --> 00:21:56,260 প্রায় অভিন্ন হতে যাচ্ছে কিন্তু পুরোপুরি তাই না, কারণ আমরা প্রয়োজন, 446 00:21:56,260 --> 00:21:57,510 অবশ্যই, যে নতুন লাইন. 447 00:21:57,510 --> 00:22:02,640 >> তাই এই সমাধানের জন্য, আমি প্রয়োজন যাচ্ছি clanghello.c পুন: প্রকাশ, লিখুন, বিন্দু 448 00:22:02,640 --> 00:22:03,800 স্ল্যাশ, a.out হয়. 449 00:22:03,800 --> 00:22:08,402 আর এখন, ওহে দুনিয়া ফিরে আমি যেখানে আশা করা এটা হতে. 450 00:22:08,402 --> 00:22:09,610 তাই এই সব জরিমানা ও উত্তম. 451 00:22:09,610 --> 00:22:13,150 কিন্তু a.out একটি জন্য একটি প্রশংসনীয় মূঢ় নাম প্রোগ্রাম, যদিও এটা ঘটবে, 452 00:22:13,150 --> 00:22:16,530 ঐতিহাসিক কারণে, সমাবেশ আউটপুট অর্থ ডিফল্ট. 453 00:22:16,530 --> 00:22:20,780 >> কিন্তু আমাকে এগিয়ে যান এখানে দিন এবং এই ভিন্নভাবে না. 454 00:22:20,780 --> 00:22:24,760 আমি আমার হ্যালো ওয়ার্ল্ড প্রোগ্রাম চাই আসলে হ্যালো বলা যেতে. 455 00:22:24,760 --> 00:22:28,320 তাই আপনি যদি এটি একটি আইকন ছিল আমার ডেস্কটপ, এটা a.out করা হবে না. 456 00:22:28,320 --> 00:22:29,730 এটা হ্যালো বলে অভিহিত করা হবে. 457 00:22:29,730 --> 00:22:33,660 >> তাই এই কাজ করতে, এটি সক্রিয় আউট যে ঝনঝন, অনেক প্রোগ্রাম মত, 458 00:22:33,660 --> 00:22:37,980 কমান্ড লাইন আর্গুমেন্ট সমর্থন, বা পতাকা, বা সুইচ, 459 00:22:37,980 --> 00:22:39,600 কেবল তার আচরণ প্রভাবিত যা. 460 00:22:39,600 --> 00:22:45,160 বিশেষভাবে, ঝনঝন একটি ড্যাশ ণ সমর্থন পতাকা, যা পরে একটি দ্বিতীয় শব্দ লাগে. 461 00:22:45,160 --> 00:22:48,190 এই ক্ষেত্রে, আমি ইচ্ছামত হবে, কিন্তু যুক্তিসঙ্গতভাবে, হ্যালো এটি কল. 462 00:22:48,190 --> 00:22:50,710 কিন্তু আমি কিছু বলতে পেরেছিলাম আমি চাই, a.out হয়, ব্যতীত যা 463 00:22:50,710 --> 00:22:52,390 বরং পয়েন্ট ছাড়াও হবে. 464 00:22:52,390 --> 00:22:55,640 >> এবং তারপর মাত্র নাম উল্লেখ ফাইলের আমি কম্পাইল করতে চাও. 465 00:22:55,640 --> 00:22:59,190 তাই এখন এমনকি শুরুতে যদিও কমান্ড আমি এখনও ঝনঝন আছে, 466 00:22:59,190 --> 00:23:01,410 কমান্ডের শেষে আমি এখনও ফাইলের নাম আছে, 467 00:23:01,410 --> 00:23:05,520 আমি এখন এই কমান্ড লাইন আছে যুক্তিতর্ক, এই পতাকার যে বলছে, 468 00:23:05,520 --> 00:23:11,180 ওহ, উপায় দ্বারা, আউটপুট-ণ, একটি ফাইল হ্যালো বলা, না ডিফল্ট a.out হয়. 469 00:23:11,180 --> 00:23:13,810 >> সুতরাং এখন, কিছুই লিখুন যদি আমি আঘাত ঘটেছে বলে মনে হয়. 470 00:23:13,810 --> 00:23:17,900 আর এখনো, এখন আমি বিন্দু স্ল্যাশ হ্যালো কি করতে পারেন. 471 00:23:17,900 --> 00:23:19,089 সুতরাং এটি একই প্রোগ্রাম. 472 00:23:19,089 --> 00:23:21,380 zeros এবং বেশী হয় দিনের শেষে অভিন্ন. 473 00:23:21,380 --> 00:23:24,210 >> কিন্তু তারা দুজন আছেন বিভিন্ন files-- a.out হয়, 474 00:23:24,210 --> 00:23:26,490 যা প্রথম সংস্করণ এবং শুধু মূর্খতাপূর্ণভাবে নামে, 475 00:23:26,490 --> 00:23:30,250 এবং এখন হ্যালো, যা অনেক বেশি একটি প্রোগ্রামের জন্য আরো আকর্ষক নাম. 476 00:23:30,250 --> 00:23:33,195 কিন্তু সত্যি বলতে, আমি আছি এই আবার মনে রাখা যাচ্ছে, 477 00:23:33,195 --> 00:23:34,070 এবং আবার, এবং আবার. 478 00:23:34,070 --> 00:23:36,411 এবং, আসলে, যেমন আমরা লিখতে আরো জটিল প্রোগ্রাম, 479 00:23:36,411 --> 00:23:38,160 কমান্ড তুমি লিখতে হবে যাচ্ছে 480 00:23:38,160 --> 00:23:40,920 এমনকি পেতে যাচ্ছি আরো এখনও জটিল. 481 00:23:40,920 --> 00:23:41,940 >> তাই চিন্তা করবেন না. 482 00:23:41,940 --> 00:23:46,220 এটা পরিনত হয় যে মানুষের আগে আমাদের তারাও উপলব্ধি করেছেন 483 00:23:46,220 --> 00:23:47,530 ঠিক এই একই সমস্যা. 484 00:23:47,530 --> 00:23:50,900 তারাও থাকার ভোগ করা হয়নি মোটামুটি লম্বা, রহস্যময় কমান্ড টাইপ করুন, 485 00:23:50,900 --> 00:23:52,200 ঘাঁটান তাদের মনে. 486 00:23:52,200 --> 00:23:56,070 আর তাই আমাদের সামনে মানুষের করেছেন অন্যান্য প্রোগ্রাম এটি সহজ করতে 487 00:23:56,070 --> 00:23:57,670 আপনার সফ্টওয়্যার কম্পাইল করার. 488 00:23:57,670 --> 00:24:01,609 >> এবং প্রকৃতপক্ষে, এই ধরনের একটি প্রোগ্রাম বলা হয়. 489 00:24:01,609 --> 00:24:03,150 তাই আমি এগিয়ে যান এবং এই কাজ করতে যাচ্ছি. 490 00:24:03,150 --> 00:24:05,691 আমি সবকিছু পূর্বাবস্থা যাচ্ছি আমি শুধু নিম্নলিখিত ভাবে করেনি. 491 00:24:05,691 --> 00:24:07,690 আমার নির্মিত LS টাইপ করা যাক. 492 00:24:07,690 --> 00:24:10,980 আর তুমি কিনা তিন বিজ্ঞপ্তি পাবেন জিনিস a.out হয়, এবং একটি তারকা, হ্যালো 493 00:24:10,980 --> 00:24:12,810 এবং একটি তারকা, এবং, hello.c. 494 00:24:12,810 --> 00:24:14,730 আশা করছি, এই উচিত একটু স্বজ্ঞাত হতে, 495 00:24:14,730 --> 00:24:18,220 যতটুকু আগে সেখানে ছিল এই কর্মক্ষেত্র কিছুই. 496 00:24:18,220 --> 00:24:21,240 কিছুই যে আমি ছিল; সৃষ্টি না হওয়া পর্যন্ত আমরা ক্লাস শুরু. 497 00:24:21,240 --> 00:24:22,840 >> আর আমি hello.c সৃষ্টি. 498 00:24:22,840 --> 00:24:24,544 আমি তারপর এটা কম্পাইল, এবং এটা a.out নামে. 499 00:24:24,544 --> 00:24:27,460 এবং তারপর আমি এটা আবার সামান্য কম্পাইল ভিন্নভাবে এবং এটা হ্যালো বলা. 500 00:24:27,460 --> 00:24:32,830 তাই আমি এই ডিরেক্টরির মধ্যে তিনটি ফাইল আছে, এই ফোল্ডারে কর্মস্থান নামক. 501 00:24:32,830 --> 00:24:35,005 এখন, আমি দেখতে যেমন ভাল করতে যদি আমি আসলে জুম আউট. 502 00:24:35,005 --> 00:24:37,530 >> তাহলে আমি এখানে জুম আউট এবং যে উপরে ডানপাশে দেখুন 503 00:24:37,530 --> 00:24:39,940 কোণ, বাম প্রতিজ্ঞা করেছিলেন আপনার স্ক্রিনের দিকে 504 00:24:39,940 --> 00:24:42,990 সবসময় আপনাকে দেখাতে যাচ্ছে কি আপনার অ্যাকাউন্টে, কি 505 00:24:42,990 --> 00:24:44,790 এবং CS50 আইডিই এর ভিতরে. 506 00:24:44,790 --> 00:24:46,680 সেখানে তিনটি ফাইল আছে. 507 00:24:46,680 --> 00:24:49,070 >> তাই আমি a.out হয় পরিত্রাণ পেতে এবং হ্যালো চান. 508 00:24:49,070 --> 00:24:51,275 এবং হিসাবে আপনি প্রতাপ intuitively, কল্পনা, আপনি 509 00:24:51,275 --> 00:24:53,400 নিয়ন্ত্রণ ক্লিক বাছাই পারে বা ঠিক এই বাটনে ক্লিক করুন. 510 00:24:53,400 --> 00:24:54,590 আর এই সামান্য মেনু pops আপ. 511 00:24:54,590 --> 00:24:57,170 আপনি ফাইল ডাউনলোড করতে পারেন, চালানোর এটা, এটা পূর্বরূপ রিফ্রেশ, নামান্তর, 512 00:24:57,170 --> 00:24:57,700 বা কি না. 513 00:24:57,700 --> 00:25:00,260 >> আর আমি শুধু মুছতে পারবে, এবং এটা দূরে যেতে হবে. 514 00:25:00,260 --> 00:25:05,260 কিন্তু এর একটি কমান্ডের সাথে কিছু করতে দিন এখন জন্য লাইন, যাতে আরামদায়ক পেতে 515 00:25:05,260 --> 00:25:07,010 এই সঙ্গে, এবং নিচের কাজগুলো. 516 00:25:07,010 --> 00:25:12,345 আমি এগিয়ে যান এবং অপসারণ যাচ্ছি আক্ষরিক rma.out টাইপ করে a.out হয়. 517 00:25:12,345 --> 00:25:14,890 এটি সক্রিয় আউট, জন্য কমান্ড অপসারণ বা কিছু মুছে ফেলার, 518 00:25:14,890 --> 00:25:16,280 অপসারণ বা মুছে ফেলতে পারবেন না. 519 00:25:16,280 --> 00:25:21,260 >> এটা আরো succinctly আরএম শুধু সংরক্ষণ করতে, আপনি কিছু কীস্ট্রোক করে এন্টার চাপুন. 520 00:25:21,260 --> 00:25:24,707 এখন আমরা কিছুটা হতে যাচ্ছেন cryptically নিয়মিত ফাইল a.out হয় মুছে ফেলুন. 521 00:25:24,707 --> 00:25:27,040 আমি সত্যিই কি একটি জানি না অনিয়মিত ফাইল এখনো হবে. 522 00:25:27,040 --> 00:25:28,660 কিন্তু আমি এটা মুছে ফেলার জন্য চাও. 523 00:25:28,660 --> 00:25:30,150 >> তাই আমি হ্যাঁ জন্য Y টাইপ করতে যাচ্ছি. 524 00:25:30,150 --> 00:25:31,940 অথবা আমি এটা খুঁজে টাইপ করে এন্টার চাপুন পারে. 525 00:25:31,940 --> 00:25:33,440 এবং, আবার, কিছুই ঘটবে বলে মনে হয়. 526 00:25:33,440 --> 00:25:35,840 কিন্তু যে, একটি ভাল জিনিস সাধারণত. 527 00:25:35,840 --> 00:25:40,490 >> যদি আমি এই সময় ls ব্যবহার, আমি কি করে দেখতে পেত! 528 00:25:40,490 --> 00:25:44,930 আশা করা যায়, শুধু হ্যালো এবং, hello.c. 529 00:25:44,930 --> 00:25:47,286 এখন, একটি সরাইয়া হিসাবে, আপনি যা করবেন এই তারকা তারকাচিহ্ন লক্ষ্য, 530 00:25:47,286 --> 00:25:48,660 যে আমার প্রোগ্রাম শেষে পায়. 531 00:25:48,660 --> 00:25:50,201 এবং তারা সবুজ দেখাছে. 532 00:25:50,201 --> 00:25:53,970 যে ঠিক CS50 আইডিই এর উপায় আসলে তোমাদের cluing এর 533 00:25:53,970 --> 00:25:55,280 যে সোর্স কোড না. 534 00:25:55,280 --> 00:25:58,880 যে একটি এক্সিকিউটেবল, একটি runnable এর প্রোগ্রাম যে আপনি আসলে চালাতে পারেন 535 00:25:58,880 --> 00:26:01,020 ডট স্ল্যাশ করছেন, এবং তারপর এটা নাম. 536 00:26:01,020 --> 00:26:05,860 >> এখন, আমাকে এগিয়ে যান এবং মুছে ফেলুন এই, RM হ্যালো, লিখুন, নিয়মিত অপসারণ 537 00:26:05,860 --> 00:26:08,010 হ্যালো দায়ের, হ্যাঁ. 538 00:26:08,010 --> 00:26:11,180 এবং এখন যদি আমি ls ব্যবহার, আমরা ফিরে, hello.c করতে চলেছেন. 539 00:26:11,180 --> 00:26:13,917 মুছে দিতে না করার চেষ্টা করুন আপনার আসল সোর্স কোড. 540 00:26:13,917 --> 00:26:16,250 যদিও বৈশিষ্ট্য এবং CS50 আইডিই যেখানে পাতাটা 541 00:26:16,250 --> 00:26:19,870 আপনি আপনার সংস্করণ ইতিহাস দিয়ে যেতে পারেন এবং সময় আবার গুটিয়ে যদি আপনি দূর্ঘটনাক্রমে 542 00:26:19,870 --> 00:26:23,660 কিছু মুছতে, মনোযোগী হতে না এই অনুরোধ জানানো yes অথবা no অনুযায়ী, 543 00:26:23,660 --> 00:26:25,381 আপনি আসলে কি করতে চান কি. 544 00:26:25,381 --> 00:26:27,380 আর যদি আমি ওপরে উঠে যাই কোণায় বাম এখানে, 545 00:26:27,380 --> 00:26:30,696 সব যে অবশেষ hello.c. 546 00:26:30,696 --> 00:26:32,570 তাই সেখানে এর bunches এর অন্যান্য কমান্ডের যে আপনি 547 00:26:32,570 --> 00:26:37,550 লিনাক্স জগতে নির্বাহ করতে পারেন, যা এক আবার, করুন, হয়. 548 00:26:37,550 --> 00:26:40,180 আর আমরা করতে যাচ্ছেন আমার প্রোগ্রামটি এখন নিম্নরূপ. 549 00:26:40,180 --> 00:26:43,270 >> পরিবর্তে ঝনঝন করছেন, পরিবর্তে ঝনঝন- ণ করছেন, 550 00:26:43,270 --> 00:26:45,860 আমি কেবল যাচ্ছি আক্ষরিক টাইপ, হ্যালো করতে. 551 00:26:45,860 --> 00:26:49,630 এবং এখন লক্ষ্য, আমি আছি hello.c টাইপ করতে না. 552 00:26:49,630 --> 00:26:50,910 আমি হ্যালো করতে টাইপ করছি. 553 00:26:50,910 --> 00:26:54,840 >> এবং এই প্রোগ্রামটি করুন যে এবং CS50 আইডিই, এবং আরো সঙ্গে আসে 554 00:26:54,840 --> 00:26:57,090 সাধারণত Linux- র সাথে, একটি প্রোগ্রাম যে 555 00:26:57,090 --> 00:26:59,120 একটি প্রোগ্রাম নামক হ্যালো করতে যাচ্ছে. 556 00:26:59,120 --> 00:27:03,680 এবং এটা অনুমান করা কনভেনশন দ্বারা যাচ্ছে যে যদি এই প্রোগ্রাম তৈরি করা যেতে পারে, 557 00:27:03,680 --> 00:27:09,030 এটা একটি উৎস থেকে তৈরি হতে যাচ্ছে কোড ফাইল বিন্দু গ মধ্যে বিভক্তি, hello.c,. 558 00:27:09,030 --> 00:27:12,210 >> সুতরাং এখন, নোটিশ লিখুন যদি আমি আঘাত করে কমান্ড মৃত্যুদন্ড কার্যকর করা হয় যে 559 00:27:12,210 --> 00:27:14,340 আসলে এমনকি দীর্ঘতর আগের চেয়ে আগে. 560 00:27:14,340 --> 00:27:16,670 এবং যে কারণ আমরা করেছি কনফিগার এবং CS50 আইডিই আছে 561 00:27:16,670 --> 00:27:19,878 কিছু অতিরিক্ত যে সালে নির্মিত বৈশিষ্ট্য আমরা এখনও প্রয়োজন হবে না, কিন্তু শীঘ্রই হবে. 562 00:27:19,878 --> 00:27:23,470 কিন্তু কী জিনিস উপলব্ধি করা এখন আমি একটি হ্যালো প্রোগ্রাম আছে. 563 00:27:23,470 --> 00:27:27,080 >> যদি আমি আবার ls টাইপ করুন, আমি হ্যালো একটি প্রোগ্রাম আছে. 564 00:27:27,080 --> 00:27:32,070 এবং আমি এটা দিয়ে চালাতে পারেন ডট a.out হয় স্ল্যাশ, কোন, 565 00:27:32,070 --> 00:27:35,590 কারণ এই পুরো পয়েন্ট ব্যায়াম ডট স্ল্যাশ হ্যালো ছিল. 566 00:27:35,590 --> 00:27:38,089 এবং এখন আমি আমার হ্যালো ওয়ার্ল্ড প্রোগ্রাম আছে. 567 00:27:38,089 --> 00:27:39,880 সুতরাং সামনে এগুনোর, আমরা প্রায় সবসময় ঠিক করছি 568 00:27:39,880 --> 00:27:42,088 আমাদের প্রোগ্রাম কম্পাইল যাচ্ছে কমান্ড ব্যবহার করে. 569 00:27:42,088 --> 00:27:45,300 এবং তারপর আমরা তাদের চালানো চলুন ডট স্ল্যাশ, এবং প্রোগ্রাম এর নাম. 570 00:27:45,300 --> 00:27:49,610 কিন্তু বুঝতে পারছি না কি জন্যে করছে আপনি, এটা নিজেই একটি কম্পাইলার নয়. 571 00:27:49,610 --> 00:27:53,310 এটা শুধু একটি সুবিধার্থে প্রোগ্রাম যে জানে কিভাবে একটি কম্পাইলার ট্রিগার 572 00:27:53,310 --> 00:27:56,470 তাই চালানোর যে আপনি নিজেকে এটি ব্যবহার করতে পারেন. 573 00:27:56,470 --> 00:28:00,220 >> কি অন্যান্য কমান্ডের মধ্যে উপস্থিত লিনাক্স, এবং ঘুরে এবং CS50 IDE তে? 574 00:28:00,220 --> 00:28:03,107 আমরা খুব শীঘ্রই দেখতে পাবেন যে আছে একটি CD কমান্ড, ডিরেক্টরি পরিবর্তন. 575 00:28:03,107 --> 00:28:05,190 এই কমান্ডের সাহায্যে আপনি মধ্যে পারবেন আপনার কমান্ড লাইন ইন্টারফেস 576 00:28:05,190 --> 00:28:07,610 অগ্রসর, এবং ফিরে, এবং বিভিন্ন ফোল্ডার পূর্ণপ্রকাশিত 577 00:28:07,610 --> 00:28:08,860 আপনার মাউস ব্যবহার না করে. 578 00:28:08,860 --> 00:28:12,470 >> নির্মিত LS আমরা দেখেছি, যা তালিকা ঘোরা বর্তমান ডিরেক্টরির মধ্যে ফাইল. 579 00:28:12,470 --> 00:28:14,650 এর Dir করুন, আপনি যা করতে পারেন সম্ভবত অনুমান করা শুরু 580 00:28:14,650 --> 00:28:18,150 এইসব কি now-- ডিরেক্টরির করতে চাচ্ছি, আপনি একটি ফোল্ডার তৈরি করতে চান তাহলে. 581 00:28:18,150 --> 00:28:21,270 সরানোর জন্য আরএম, আরএম জন্য Dir ডিরেক্টরিতে এবং এই অপসারণ, 582 00:28:21,270 --> 00:28:24,160 আবার, কমান্ড লাইন আপনি কি এর সমকক্ষও 583 00:28:24,160 --> 00:28:26,945 আপনার মাউস সঙ্গে CS50 আইডিই না পারে. 584 00:28:26,945 --> 00:28:28,820 কিন্তু আপনি শীঘ্রই খুঁজে পাবেন যে কখনও কখনও এটি শুধু 585 00:28:28,820 --> 00:28:30,610 অনেক দ্রুত করতে একটি কীবোর্ড সঙ্গে কিছু, 586 00:28:30,610 --> 00:28:33,690 এবং শেষ পর্যন্ত অনেক বেশি শক্তিশালী. 587 00:28:33,690 --> 00:28:36,440 >> কিন্তু এটা তর্ক যে কঠিন কিছু আমরা এতদূর কাজ করছি 588 00:28:36,440 --> 00:28:39,990 সব যে শক্তিশালী, যখন সব আমরা যেটা বলছে করছি, হ্যালো দুনিয়া. 589 00:28:39,990 --> 00:28:43,740 এবং, আসলে, আমি হার্ডকোডেড কথাগুলো আমার প্রোগ্রামে হ্যালো দুনিয়া. 590 00:28:43,740 --> 00:28:45,530 কোন গতিশীলতা এখনো নেই. 591 00:28:45,530 --> 00:28:49,320 স্ক্র্যাচ মাত্রার একটি আদেশ ছিল আরো আকর্ষণীয় গত সপ্তাহে. 592 00:28:49,320 --> 00:28:51,220 >> তাই সেখানে যাক. 593 00:28:51,220 --> 00:28:55,310 এর দ্বারা যে দিকে একটি পদক্ষেপ গ্রহণ করা এই ফাংশন কিছু উপায়. 594 00:28:55,310 --> 00:28:59,470 তাই না শুধুমাত্র সি printf সঙ্গে আসে, এবং অন্যান্য কার্যাবলী এর bunches 595 00:28:59,470 --> 00:29:01,850 কিছু যা আমরা দেখতে পাবেন সময়ের সাথে, তাই নয় কি 596 00:29:01,850 --> 00:29:05,760 ডান আউট এটা যে সব সহজ করতে ব্যবহারকারীর ইনপুট পেয়ে ফটকের. 597 00:29:05,760 --> 00:29:08,140 >> বস্তুত, দুর্বলতা এক সি এর মত প্রত্যেক, 598 00:29:08,140 --> 00:29:10,140 এবং এমনকি জাভা এবং এখনো অন্যদের, এটা না যে হয় 599 00:29:10,140 --> 00:29:15,860 এটা সহজ শুধু ভালো জিনিস পেতে করা ব্যবহারকারী, বা স্ট্রিং, শব্দ থেকে ইন্টিজার, 600 00:29:15,860 --> 00:29:19,970 ও শব্দসমষ্টি, মত একা কিছু দিন ফ্লোটিং পয়েন্ট মান, বা বাস্তব সংখ্যার 601 00:29:19,970 --> 00:29:23,240 দশমিক পয়েন্ট, এবং সত্যিই সঙ্গে দীর্ঘ নম্বর, যেমন আমরা শীঘ্রই দেখতে পাবেন. 602 00:29:23,240 --> 00:29:27,000 তাই এখানে ফাংশন এই তালিকা, এই অন্যান্য স্ক্র্যাচ পাজল টুকরা মত 603 00:29:27,000 --> 00:29:31,090 আমরা CS50 প্রাক- ইনস্টল করা আছে যে আইডিই যে আমরা কয়েক সপ্তাহের জন্য ব্যবহার করব 604 00:29:31,090 --> 00:29:34,010 প্রকারের প্রশিক্ষণ কায়দা করে, এবং যেমন অবশেষে তাদের খুলে, এবং দেখুন 605 00:29:34,010 --> 00:29:37,210 ফণা, সম্ভবত, এ তলদেশে কিভাবে এই জিনিস বাস্তবায়িত হয়. 606 00:29:37,210 --> 00:29:40,460 >> কিন্তু এই কাজ করতে, আসুন আসলে একটি প্রোগ্রাম লিখতে. 607 00:29:40,460 --> 00:29:41,770 আমাকে এখন এগিয়ে যাই. 608 00:29:41,770 --> 00:29:44,750 আমি একটি নতুন তৈরি করতে যাচ্ছি এই সামান্য প্লাস এ ক্লিক করে ফাইল, 609 00:29:44,750 --> 00:29:45,970 এবং নতুন ফাইল-এ ক্লিক করলে. 610 00:29:45,970 --> 00:29:49,250 >> আমি এই পরবর্তী সংরক্ষণ করতে যাচ্ছি যেমন, এর কথা বলা যাক এক, string.c, 611 00:29:49,250 --> 00:29:50,750 কারণ আমি স্ট্রিং সঙ্গে খেলতে চাই. 612 00:29:50,750 --> 00:29:53,990 আর সি স্ট্রিং শুধু অক্ষরের একটি ক্রম. 613 00:29:53,990 --> 00:29:56,090 তাই এখন আসুন এগিয়ে যান এবং নিচের কাজগুলো. 614 00:29:56,090 --> 00:30:01,204 >> অন্তর্ভুক্ত করুন মান IO.h-- এবং এটি সক্রিয় আউট প্রমিত IO, 615 00:30:01,204 --> 00:30:03,360 আইও মাত্র ইনপুট এবং আউটপুট মানে. 616 00:30:03,360 --> 00:30:05,920 সুতরাং দেখা যাচ্ছে যে এখানে এই লাইন কি 617 00:30:05,920 --> 00:30:08,140 printf ব্যবহার করতে আমাদের প্রতিবেশী হয়. 618 00:30:08,140 --> 00:30:10,410 Printf, অবশ্যই, আউটপুট উৎপন্ন. 619 00:30:10,410 --> 00:30:15,000 তাই যাতে printf ব্যবহার করার জন্য যে, এটি সক্রিয় আউট আপনি কোড এই লাইন আছে 620 00:30:15,000 --> 00:30:16,040 আপনার ফাইলটি শীর্ষে. 621 00:30:16,040 --> 00:30:18,456 >> এবং আমরা ফিরে আসবো কি যে সত্যিই দীর্ঘ আগে মানে. 622 00:30:18,456 --> 00:30:20,400 এটা পরিনত হয় যে এ কোন সি প্রোগ্রাম লিখি, 623 00:30:20,400 --> 00:30:23,640 আমি শুরু করতে পেয়েছেন কোড যে ভালো দেখায়. 624 00:30:23,640 --> 00:30:26,860 এবং আপনি CS50 আইডিই মনোযোগ এবং করব অন্যান্য ইন্টিগ্রেটেড ডেভেলপমেন্ট 625 00:30:26,860 --> 00:30:30,050 এটা মত পরিবেশের যেমন যথাসাধ্য চেষ্টা করতে যাচ্ছি 626 00:30:30,050 --> 00:30:31,780 তারা আপনার চিন্তার শেষ করতে পারবেন না. 627 00:30:31,780 --> 00:30:35,930 আসলে, একটি মুহূর্ত আগে যদি আমি পূর্বাবস্থায় ফিরিয়ে আনতে আমি কি না, আমি আঘাত লিখুন. 628 00:30:35,930 --> 00:30:39,160 >> আমি তারপর খোলা কোঁকড়া আঘাত বক্রবন্ধনী, আবার এন্টার চাপুন. 629 00:30:39,160 --> 00:30:40,430 আর এটা আমার চিন্তার শেষ. 630 00:30:40,430 --> 00:30:45,140 এটা আমার কাছে একটা নতুন লাইন দিয়েছে, কোন কম সংভৃত সুন্দর রচনাশৈলীসংক্রান্ত কারণে আমরা দেখতে পাবেন. 631 00:30:45,140 --> 00:30:48,559 এবং তারপর এটি স্বয়ংক্রিয়ভাবে আমাকে দিয়েছে কোঁকড়া বক্রবন্ধনী যে আমার চিন্তার শেষ. 632 00:30:48,559 --> 00:30:50,600 এখন, এটা সবসময় না অনুমান আপনি কি করতে চান. 633 00:30:50,600 --> 00:30:53,620 কিন্তু বৃহৎ অংশ, এটা আছে আপনি কিছু keystrokes সংরক্ষণ. 634 00:30:53,620 --> 00:30:59,560 সুতরাং একটি মুহূর্ত আগে, আমরা এই প্রোগ্রাম দৌড়ে হ্যালো, দুনিয়া, এবং তারপর এটি কম্পাইল, 635 00:30:59,560 --> 00:31:00,460 এবং তারপর এটা দৌড়ে. 636 00:31:00,460 --> 00:31:01,867 কিন্তু সেখানে কোন গতিশীলতা এসেছে. 637 00:31:01,867 --> 00:31:03,700 তাহলে কি আমরা চেয়েছিলাম ভিন্ন কিছু? 638 00:31:03,700 --> 00:31:07,630 আচ্ছা, যদি আমি আসলে চেয়েছিলাম ব্যবহারকারী থেকে একটি পংক্তি পেতে? 639 00:31:07,630 --> 00:31:11,250 আমি একটি ধাঁধা টুকরা ব্যবহার করতে যাচ্ছি ঠিক বলা that-- স্ট্রিং পেতে. 640 00:31:11,250 --> 00:31:15,860 >> সি পরিনত হয় যে কাজ যখন আপনি চান না একটি ধাঁধা টুকরা ইনপুট প্রদান, 641 00:31:15,860 --> 00:31:19,360 বা আরো একটি ফাংশন সঠিকভাবে, আপনি আক্ষরিক শুধু খোলা বন্ধনী না, 642 00:31:19,360 --> 00:31:20,430 বন্ধ করুন প্রথম বন্ধনী. 643 00:31:20,430 --> 00:31:25,540 সুতরাং এটা যেন সেখানে নেই কোন সাদা বাক্সে টাইপ করুন. 644 00:31:25,540 --> 00:31:27,720 বলতে ব্লক আগে একটু সাদা বক্স ছিল. 645 00:31:27,720 --> 00:31:29,660 আমরা এখন যে সাদা বক্স আছে না. 646 00:31:29,660 --> 00:31:33,310 >> কিন্তু যখন আমি স্ট্রিং পেতে কল, আমি ফলে কোথাও লাগাতে চান. 647 00:31:33,310 --> 00:31:37,680 তাই সি একটি খুব সাধারণ দৃষ্টান্ত হয় একটি ফাংশন, পেতে স্ট্রিং মত এখানে কল, 648 00:31:37,680 --> 00:31:41,070 এবং তারপর তার রিটার্ন মান সংরক্ষণ. 649 00:31:41,070 --> 00:31:44,450 এটা ফল এর তার কিছু প্রচেষ্টা. 650 00:31:44,450 --> 00:31:47,630 >> আর কি প্রোগ্রামিং তনমথাণ, 651 00:31:47,630 --> 00:31:53,450 সি ভূত বা এখন কিনা, যে আমরা আসলে কিছু সঞ্চয় করতে ব্যবহার করতে পারেন? 652 00:31:53,450 --> 00:31:55,990 এটা ঠিক একটি পরিবর্তনশীল নামক? 653 00:31:55,990 --> 00:32:00,320 আর ভূত, আমরা সত্যিই না গ্রাহ্য কি ভেরিয়েবল যাচ্ছিলেন. 654 00:32:00,320 --> 00:32:02,170 >> কিন্তু এই ক্ষেত্রে, আমরা আসলে কি. 655 00:32:02,170 --> 00:32:03,719 আমি স্ট্রিং বলতে যাচ্ছি. 656 00:32:03,719 --> 00:32:05,510 এবং তারপর আমি কল করতে পারেনি এই কিছু আমি চাই. 657 00:32:05,510 --> 00:32:08,340 আমি এটা কল যাচ্ছি নাম, স্ট্রিং পেতে পায়. 658 00:32:08,340 --> 00:32:10,250 >> আর এখন তুমি এমনকি যদি এই একটি সামান্য নতুন, 659 00:32:10,250 --> 00:32:11,984 উল্লেখ্য, আমি কিছু বিস্তারিত উদাসীন করছি. 660 00:32:11,984 --> 00:32:13,150 আমি একটি সেমিকোলন ভুলে যাচ্ছি. 661 00:32:13,150 --> 00:32:14,400 আমি এই চিন্তার শেষ করতে হবে. 662 00:32:14,400 --> 00:32:17,480 তাই আমি আমার কার্সরটিকে যাচ্ছি, এবং সেখানে সেমিকোলন আঘাত. 663 00:32:17,480 --> 00:32:19,130 আর আমি শুধু কি করেছ? 664 00:32:19,130 --> 00:32:21,440 কোড এই লাইন ইন, মুহূর্তে সংখ্যা 5, 665 00:32:21,440 --> 00:32:23,799 আমি কোন ইনপুট সঙ্গে স্ট্রিং পেতে আহ্বান করছি. 666 00:32:23,799 --> 00:32:26,090 সুতরাং কোন সামান্য সাদা বাক্সের মতো সংরক্ষণ ব্লক রয়েছে. 667 00:32:26,090 --> 00:32:28,590 >> আমি শুধু বলছি, হেই, কম্পিউটার, আমাকে একটি স্ট্রিং পেতে. 668 00:32:28,590 --> 00:32:31,390 সমান চিহ্ন সত্যিই নয় একটি সমান চিহ্ন, কোনটাই. 669 00:32:31,390 --> 00:32:33,790 এটা নিয়োগ এর অপারেটর, যার মানে, 670 00:32:33,790 --> 00:32:37,860 হেই, কম্পিউটার, মূল্য স্থানান্তর বাম হাতে ডান থেকে. 671 00:32:37,860 --> 00:32:40,480 এবং যারা বামদিকে, আমি নিম্নলিখিত আছে. 672 00:32:40,480 --> 00:32:43,580 >> আরে, কম্পিউটার, আমাকে একটি স্ট্রিং দিতে অক্ষরের একটি ক্রম. 673 00:32:43,580 --> 00:32:45,637 আহবান স্ট্রিং নাম. 674 00:32:45,637 --> 00:32:47,220 এবং আমি এমনকি এটা নাম কল করতে হবে না. 675 00:32:47,220 --> 00:32:49,970 >> আমি এটা বলতে পেরেছিলাম, সাধারনত, এস মত কিছু, 676 00:32:49,970 --> 00:32:52,900 অনেক মত আমরা করতাম পরিবর্তনশীল আমি কল. 677 00:32:52,900 --> 00:32:54,829 কিন্তু এখন আমি এটা দিয়ে কিছু করতে হবে. 678 00:32:54,829 --> 00:32:57,370 এটা প্রশংসনীয় মূঢ় হবে এই কোড কম্পাইল করার প্রণালী চেষ্টা, চলমান 679 00:32:57,370 --> 00:32:59,410 এই প্রোগ্রাম, যদিও আমি একটি স্ট্রিং পেয়ে করছি, 680 00:32:59,410 --> 00:33:01,580 কারণ এটা এখনও ঠিক হ্যালো বলে বিশ্বের যাচ্ছে. 681 00:33:01,580 --> 00:33:06,140 >> কিন্তু আমি এই পরিবর্তন করতে চান না. 682 00:33:06,140 --> 00:33:07,940 আমি এই কথা বলছো না কেন? 683 00:33:07,940 --> 00:33:11,632 শতাংশ গুলি, কমা গুলি. 684 00:33:11,632 --> 00:33:13,090 আর এই এখনও একটি সামান্য রহস্যপূর্ণ. 685 00:33:13,090 --> 00:33:15,560 >> তাই আমাকে আমার ভেরিয়েবল আরো স্পষ্ট করা যাক. 686 00:33:15,560 --> 00:33:17,510 আমাকে এই পরিবর্তনশীল নাম নাম যাক. 687 00:33:17,510 --> 00:33:20,230 আর যদি এর দেখতে আমরা জ্বালাতন করা যাবে না পৃথক্ কি এখানে ঘটছে. 688 00:33:20,230 --> 00:33:22,770 >> তাই লাইন পাঁচটি, আমি একটি স্ট্রিং পেয়ে. 689 00:33:22,770 --> 00:33:25,620 আর আমি যে স্ট্রিং সংরক্ষণকারী করছি, যাই হোক না কেন ব্যবহারকারী টাইপ করা হয়েছে 690 00:33:25,620 --> 00:33:28,430 তার কীবোর্ড এ, একটি পরিবর্তনশীল নাম বলা. 691 00:33:28,430 --> 00:33:30,590 এবং দেখা যাচ্ছে যে printf, শুধু নেই 692 00:33:30,590 --> 00:33:34,220 ডবল এক আর্গুমেন্ট গ্রহণ কোট, ডবল কোট এক ইনপুট. 693 00:33:34,220 --> 00:33:39,100 >> এটা দুই, বা তিন, বা তার বেশি, যেমন নিতে পারেন যে দ্বিতীয়, তৃতীয় বা, বা চতুর্থ, 694 00:33:39,100 --> 00:33:42,320 সব ভেরিয়েবলের নাম হয়, অথবা বিশেষভাবে মূল্যবান বলে, 695 00:33:42,320 --> 00:33:48,610 যে আপনি মধ্যে চলা করতে চান, পরিবর্তনশীল, কোট যে পংক্তি. 696 00:33:48,610 --> 00:33:52,110 অন্য কথায়, কি এই সঙ্গে ভুল হবে? 697 00:33:52,110 --> 00:33:57,920 যদি আমি শুধু বলেন, হ্যালো নাম, ব্যাকস্ল্যাশ এন, আমার ফাইল সংরক্ষণ করা, আমার কোড কম্পাইল, 698 00:33:57,920 --> 00:34:01,660 এবং এই দৌড়ে, কী ঘটবে? 699 00:34:01,660 --> 00:34:05,139 >> এটা শুধু বলে যাচ্ছে, হ্যালো নাম, আক্ষরিক এন-এ-এম-ই, 700 00:34:05,139 --> 00:34:07,900 যা মূঢ় ধরনের কারণ হয় এটা জগৎ থেকে আলাদা কোন ব্যাপার. 701 00:34:07,900 --> 00:34:10,400 তাই কোট আসলে কিছুই নয় কি আক্ষরিক মুদ্রিত পরার. 702 00:34:10,400 --> 00:34:12,520 সুতরাং যদি আমি করাতে চাই একটি স্থানধারক আছে, 703 00:34:12,520 --> 00:34:14,422 আমি আসলে ব্যবহার করতে হবে কিছু বিশেষ সিনট্যাক্স. 704 00:34:14,422 --> 00:34:17,380 এবং এটি সক্রিয় আউট যদি আপনি পড়তে printf ফাংশন ডকুমেন্টেশন, 705 00:34:17,380 --> 00:34:21,320 এটা আপনাকে বলতে হবে যে আপনি শতাংশ গুলি ব্যবহার করা হলে, 706 00:34:21,320 --> 00:34:23,920 আপনি একটি মূল্য নিম্নরূপ প্রতিস্থাপন করতে পারেন. 707 00:34:23,920 --> 00:34:27,190 >> যে পরে একটি কমা পরে ডবল কোট, আপনি কেবল 708 00:34:27,190 --> 00:34:29,179 নাম লিখতে পরিবর্তনশীল যে আপনি চান 709 00:34:29,179 --> 00:34:33,790 যে বিন্যাসে মধ্যে চলা কোড, বা বিন্যাস নির্দিষ্টকারী 710 00:34:33,790 --> 00:34:35,469 স্ট্রিং জন্য শতাংশ গুলি. 711 00:34:35,469 --> 00:34:39,190 এবং এখন আমি আমার ফাইল সংরক্ষণ করেছি যদি, আমি আমার টার্মিনাল থেকে ঢলা. 712 00:34:39,190 --> 00:34:42,870 আমি স্ট্রিং টাইপ করতে, কারণ, আবার, এই নাম 713 00:34:42,870 --> 00:34:45,510 ফাইল যে আমি সামনে বেছে string.c হয়. 714 00:34:45,510 --> 00:34:48,510 >> তাই আমি স্ট্রিং করুন, লিখুন বলতে যাচ্ছি. 715 00:34:48,510 --> 00:34:51,550 ওহ আমার ধার্মিকতা, সব তাকান ভুল আমরা ইতিমধ্যে করেছি. 716 00:34:51,550 --> 00:34:55,540 আর এই হচ্ছে ÑÑ কি, এই সত্যিই হয় একটি ছয়, সাত লাইন প্রোগ্রামের মত? 717 00:34:55,540 --> 00:34:57,790 তাই এই হল যেখানে এটা খুব করতে পারেন হয় দ্রুত অপ্রতিরোধ্য পেতে. 718 00:34:57,790 --> 00:35:00,890 >> এই টার্মিনাল উইন্ডোতে হয়েছে এখন শুধু সময় গিলে 719 00:35:00,890 --> 00:35:03,230 ত্রুটির বার্তা একটি বিশাল সংখ্যা. 720 00:35:03,230 --> 00:35:07,560 নিশ্চয়, আমি আরো ত্রুটি নেই আমি চেয়ে বার্তা লাইনের কোড আছে. 721 00:35:07,560 --> 00:35:08,680 তাই কি ঘটছে? 722 00:35:08,680 --> 00:35:10,920 >> আচ্ছা, ভাল কৌশল আপনি যে কোন সময় করতে 723 00:35:10,920 --> 00:35:13,710 অপ্রতিরোধ্য সম্মুখীন না যে মত এরর এর তালিকা, 724 00:35:13,710 --> 00:35:16,690 স্ক্রোল করা হয়, কমান্ড জন্য চেহারা আপনি শুধু দৌড়ে, যা আমার ক্ষেত্রে 725 00:35:16,690 --> 00:35:18,020 স্ট্রিং করা হয়. 726 00:35:18,020 --> 00:35:21,630 কি করেনি করাতে তাকান, এবং যে যে দীর্ঘ ঝনঝন কমান্ড, কোন বড় চুক্তি. 727 00:35:21,630 --> 00:35:22,950 >> কিন্তু লাল খারাপ. 728 00:35:22,950 --> 00:35:24,750 সবুজ হওয়ার চেষ্টা করছে মৃদু এবং সহায়ক. 729 00:35:24,750 --> 00:35:26,140 কিন্তু এটি এখনও খারাপ, এই ক্ষেত্রে. 730 00:35:26,140 --> 00:35:27,510 কিন্তু যেখানে এটা খারাপ? 731 00:35:27,510 --> 00:35:31,450 >> String.c, লাইন পাঁচটি অক্ষর পাঁচটি. 732 00:35:31,450 --> 00:35:32,930 সুতরাং এই মাত্র সাধারণ রীতিনীতি. 733 00:35:32,930 --> 00:35:36,060 কিছু কোলন কিছু মানে লাইন সংখ্যা এবং অক্ষর সংখ্যা. 734 00:35:36,060 --> 00:35:41,080 ত্রুটি, অঘোষিত ব্যবহার আইডেন্টিফায়ার স্ট্রিং. 735 00:35:41,080 --> 00:35:42,900 আপনি মান বুঝিয়েছিলেন? 736 00:35:42,900 --> 00:35:45,530 >> সুতরাং, দুর্ভাগ্যবশত, ঝনঝন সহায়ক হতে চেষ্টা করছে. 737 00:35:45,530 --> 00:35:46,850 কিন্তু এটা ভুল, এই ক্ষেত্রে. 738 00:35:46,850 --> 00:35:49,350 না, ঝনঝন শব্দ, আমি প্রমিত IO চাইনি. 739 00:35:49,350 --> 00:35:51,070 আমি লাইন এক বোঝানো যে, হ্যাঁ. 740 00:35:51,070 --> 00:35:53,420 >> কিন্তু লাইন পাঁচটি এখানে এই এক. 741 00:35:53,420 --> 00:35:57,040 আর ঝনঝন না বুঝতে এস-টি-আর-আমি-এন-জি. 742 00:35:57,040 --> 00:36:01,490 এটা একটা অঘোষিত শনাক্তকারী, একটি হচ্ছে শব্দ এটা ঠিক আগে কখনো দেখেনি. 743 00:36:01,490 --> 00:36:05,730 এবং যে কারণ সি, ভাষা আছে আমরা কোড লেখার অধিকার এখন, 744 00:36:05,730 --> 00:36:08,070 ভেরিয়েবল স্ট্রিং বলা নেই. 745 00:36:08,070 --> 00:36:11,380 >> এটা না করে তাহলে ডিফল্ট, সমর্থন দ্বারা কিছু একটি স্ট্রিং বলা. 746 00:36:11,380 --> 00:36:16,750 যে একটি CS50 টুকরা অপভাষা, কিন্তু খুব প্রচলিত. 747 00:36:16,750 --> 00:36:18,600 নিম্নরূপ কিন্তু আমি এই ঠিক করতে পারবো. 748 00:36:18,600 --> 00:36:22,090 >> আমি কোড একটি লাইন যোগ করুন এই প্রোগ্রামের উপরে, 749 00:36:22,090 --> 00:36:27,890 CS50.h, যা অন্য ফাইল অন্তর্ভুক্ত কোথাও এবং CS50 আইডিই এর ভিতরে, কোথাও 750 00:36:27,890 --> 00:36:30,820 হার্ড-ড্রাইভের, তাই কথা বলতে, উবুন্টু অপারেটিং সিস্টেমের 751 00:36:30,820 --> 00:36:33,590 যে আমি চলমান করছি, যে ফাইল যে হয় 752 00:36:33,590 --> 00:36:38,740 অপারেটিং শেখান যাচ্ছে সিস্টেম কি একটি পংক্তি, ঠিক 753 00:36:38,740 --> 00:36:41,930 প্রমিত io.h মত ফাইল অপারেটিং সিস্টেম যে 754 00:36:41,930 --> 00:36:44,430 কি printf, তা শেখান যাচ্ছে. 755 00:36:44,430 --> 00:36:46,810 >> প্রকৃতপক্ষে, আমরা অর্জিত হবে একটি খুব অনুরূপ বার্তা 756 00:36:46,810 --> 00:36:50,600 যদি আই মান বিষয়টি স্বীকার করেছেন Io.h এবং printf ব্যবহার করার চেষ্টা করে. 757 00:36:50,600 --> 00:36:53,632 তাই আমি এগিয়ে এবং শুধু যেতে যাচ্ছি কন্ট্রোল এল নিতে আমার পর্দা পরিষ্কার. 758 00:36:53,632 --> 00:36:56,340 অথবা আপনি স্পষ্ট টাইপ করতে পারেন এবং এটা হবে শুধু টার্মিনাল উইন্ডোতে পরিষ্কার. 759 00:36:56,340 --> 00:36:58,020 কিন্তু আপনি এখনও সময় স্ক্রোল করতে পারবেন. 760 00:36:58,020 --> 00:37:01,100 >> আমি স্ট্রিং করা পুন: প্রকাশ করা যাচ্ছে না. 761 00:37:01,100 --> 00:37:03,660 আমার আঙ্গুলের এই সময় অতিক্রম করেছিল, লিখুন. 762 00:37:03,660 --> 00:37:05,380 হায় খোদা, এটা কাজ করে. 763 00:37:05,380 --> 00:37:09,280 এটা আমার একটি দীর্ঘ রহস্যপূর্ণ কমান্ড দেখায় যে কি ঝনঝন মাধ্যমে উত্পন্ন করা হয়, 764 00:37:09,280 --> 00:37:10,460 কিন্তু কোন ত্রুটির বার্তা. 765 00:37:10,460 --> 00:37:12,460 তাই বুঝতে পারি, যদিও আপনি সম্পূর্ণরূপে পেতে পারে 766 00:37:12,460 --> 00:37:14,480 সঙ্গে উদ্বেল ত্রুটির বার্তা সংখ্যা, 767 00:37:14,480 --> 00:37:17,540 এটা শুধু এই বিরক্তিকর ক্যাসকেডিং হতে পারে প্রভাব, যেখানে ঝনঝন বোঝে না 768 00:37:17,540 --> 00:37:19,620 এক জিনিস, যা তারপর তার মানে পরবর্তী শব্দের বোঝে না, 769 00:37:19,620 --> 00:37:20,560 বা পরের লাইন. 770 00:37:20,560 --> 00:37:22,850 আর তাই এটি শুধু আপনার কোডে গলগ্রহ হয়ে যায়. 771 00:37:22,850 --> 00:37:24,440 কিন্তু ফিক্স সহজ হতে পারে. 772 00:37:24,440 --> 00:37:27,822 তাই সবসময় ফোকাস আউটপুট খুব প্রথম লাইন. 773 00:37:27,822 --> 00:37:29,530 আর যদি তুমি না কর এটা বুঝতে, শুধু চেহারা 774 00:37:29,530 --> 00:37:32,480 কিওয়ার্ড জন্য যে হতে পারে সংকেত সনাক্ত করুন, এবং লাইন সংখ্যা, 775 00:37:32,480 --> 00:37:34,650 এবং চরিত্র, যেখানে যে ভুল হতে পারে. 776 00:37:34,650 --> 00:37:40,328 >> এখন আমাকে এগিয়ে যান এবং টাইপ যাক ডট স্ল্যাশ, স্ট্রিং, লিখুন. 777 00:37:40,328 --> 00:37:44,340 হুঁ, এটা কিছু বলছে না হ্যালো. 778 00:37:44,340 --> 00:37:46,210 কেন? 779 00:37:46,210 --> 00:37:48,170 ওয়েল, পুনরাহ্বান, যেখানে এটা চলছে? 780 00:37:48,170 --> 00:37:53,730 >> এটা সম্ভবত মুহূর্তে আটকে একটি লুপ, যদি আপনি হবে, লাইন ছয় উপর, 781 00:37:53,730 --> 00:37:56,950 নকশা দ্বারা স্ট্রিং পান কারণ, CS50 কর্মীদের দ্বারা লিখিত, 782 00:37:56,950 --> 00:38:00,350 আক্ষরিক শুধু বসতে বোঝানো হয় সেখানে অপেক্ষা, এবং অপেক্ষা, 783 00:38:00,350 --> 00:38:01,850 এবং একটি স্ট্রিং জন্য অপেক্ষা. 784 00:38:01,850 --> 00:38:03,792 সকল আমরা স্ট্রিং দ্বারা অর্থ মানুষের ইনপুট. 785 00:38:03,792 --> 00:38:04,500 তাই আপনি কি জানেন? 786 00:38:04,500 --> 00:38:05,166 আমাকে এগিয়ে যাই. 787 00:38:05,166 --> 00:38:08,704 আর মাত্র একটি বাতিক উপর, আমাকে আমার নাম, ডেভিড টাইপ, লিখুন. 788 00:38:08,704 --> 00:38:10,120 এখন আমি আরো একটি গতিশীল প্রোগ্রাম আছে. 789 00:38:10,120 --> 00:38:11,240 এটা বললেন, হ্যালো ডেভিড. 790 00:38:11,240 --> 00:38:16,280 >> যদি আমি এগিয়ে যান এবং আবার এই চালানো, আমাকে বলতে Zamila নাম চেষ্টা, লিখুন. 791 00:38:16,280 --> 00:38:17,940 এবং এখন আমরা একটি গতিশীল প্রোগ্রাম আছে. 792 00:38:17,940 --> 00:38:19,380 আমি হার্ড বিশ্বের কোডেড নি. 793 00:38:19,380 --> 00:38:21,760 আমি হার্ড কোডেড নি নাম, বা ডেভিড, বা Zamila. 794 00:38:21,760 --> 00:38:25,350 >> এখন এটা প্রোগ্রাম মত অনেক বেশি আমরা জানি, যেখানে তা ইনপুট নিতে, 795 00:38:25,350 --> 00:38:27,870 এটা কিছুটা ভিন্ন আউটপুট উৎপন্ন. 796 00:38:27,870 --> 00:38:31,020 এখন, এই ভাল নয় ব্যবহারকারীর অভিজ্ঞতা, বা ইউএক্স. 797 00:38:31,020 --> 00:38:33,000 আমি প্রোগ্রাম চালানো. 798 00:38:33,000 --> 00:38:35,830 >> আমি জানি না আমি কি অনুমিত করছি না, যদি আমি আসলে তাকান 799 00:38:35,830 --> 00:38:37,290 সোর্স কোড বা স্মরণ. 800 00:38:37,290 --> 00:38:39,640 সুতরাং আসুন ব্যবহারকারী করা যাক কিছুটা ভালো অভিজ্ঞতা 801 00:38:39,640 --> 00:38:41,240 কিছু সহজ সঙ্গে. 802 00:38:41,240 --> 00:38:44,782 আমাকে এই ফিরে যাওয়া যাক প্রোগ্রাম, এবং সহজভাবে printf বলে. 803 00:38:44,782 --> 00:38:48,870 >> এবং আমাকে এগিয়ে যান এবং বলে নাম, কোলন দিন, এবং একটি স্থান, এবং তারপর একটি সেমিকোলন. 804 00:38:48,870 --> 00:38:51,170 এবং শুধু kicks জন্য, কোন নেতিবাচক প্রতিক্রিয়া এন. 805 00:38:51,170 --> 00:38:52,980 আর যে ইচ্ছাকৃত ব্যাপার, কারণ আমি চাই না 806 00:38:52,980 --> 00:38:54,590 প্রম্পট পরের লাইন সরাতে. 807 00:38:54,590 --> 00:38:58,800 >> আমি পরিবর্তে, এই না চান, স্ট্রিং করা নতুন মেশিনে আমার কোড কম্পাইল 808 00:38:58,800 --> 00:39:00,980 কোড ডট স্ট্রিং কাট. 809 00:39:00,980 --> 00:39:02,460 আহ, এই অনেক বেশি সুন্দর. 810 00:39:02,460 --> 00:39:05,780 এখন আমি আসলে কি জানেন কম্পিউটার আমাকে, না এটি একটি নাম দিতে চায়. 811 00:39:05,780 --> 00:39:10,020 >> তাই আমি এগিয়ে যান এবং টাইপ করতে যাচ্ছি রব এ, রব লিখুন, এবং হ্যালো. 812 00:39:10,020 --> 00:39:13,640 তাই, বুঝতে পারছি, এই এখনও, শেষে দিন, শুধুমাত্র একটি নয়টি লাইন প্রোগ্রাম. 813 00:39:13,640 --> 00:39:15,090 কিন্তু আমরা এই শিশুর পদক্ষেপ গ্রহণ করেছি. 814 00:39:15,090 --> 00:39:18,380 >> আমরা এক লাইন লিখেছে, যাদের সাথে আমরা পরিচিত, printf হ্যালো দুনিয়া ছিল. 815 00:39:18,380 --> 00:39:19,980 এরপর আমরা যে একটি সামান্য বিট ফেরানো হয়েছে. 816 00:39:19,980 --> 00:39:21,560 এবং আমরা আসলে স্ট্রিং পেতে ব্যবহার. 817 00:39:21,560 --> 00:39:23,362 এবং আমরা একটি পরিবর্তনশীল মধ্যে যে মান ক্ষতিগ্রস্থ. 818 00:39:23,362 --> 00:39:26,070 এবং তারপর আমরা এগিয়ে যান এবং উন্নত এটি একটি তৃতীয় লাইন দিয়ে আরও. 819 00:39:26,070 --> 00:39:29,220 এবং এই প্রক্রিয়া পুনরাবৃত্ত সফ্টওয়্যার লেখা সত্যিই চাবিকাঠি. 820 00:39:29,220 --> 00:39:33,420 CS50 মধ্যে, এবং সাধারণভাবে জীবনের, আপনি সাধারণত, নিচে বসে থাকলে চলবে না 821 00:39:33,420 --> 00:39:36,800 মনের মধ্যে একটি প্রোগ্রাম আছে, এবং লেখার চেষ্টা সব একবারে পুরো ফালতু জিনিস. 822 00:39:36,800 --> 00:39:40,810 >> এটা অবশ্যম্ভাবী, পথ স্থাপিত হবে আরও বেশি ত্রুটি আমরা চেয়ে নিজেদেরকে এখানে দেখেছি. 823 00:39:40,810 --> 00:39:44,070 এমনকি আমি, আজও, ক্রমাগত অন্যান্য মূঢ় ভুল করা, 824 00:39:44,070 --> 00:39:47,480 আসলে কঠিন ভুল আছে জিনিসটা কঠিন যে. 825 00:39:47,480 --> 00:39:52,095 তবে আপনি যদি আরো ভুল আরো করতে হবে লাইনের কোড আপনি একবারে সব অনুগ্রহ করে লিখুন. 826 00:39:52,095 --> 00:39:54,220 আর তাই এই অনুশীলন, কোড একটি সামান্য বিট লিখুন 827 00:39:54,220 --> 00:39:57,930 যে আপনি সাচ্ছন্দ্য, কম্পাইল এটা, এটি চালানোর আরো সাধারণভাবে এটি পরীক্ষা, 828 00:39:57,930 --> 00:40:01,370 তারপর on-- সরাতে তাই ঠিক মত আমরা রাখা layering এবং গত সপ্তাহে layering, 829 00:40:01,370 --> 00:40:04,190 কিছু থেকে বিল্ডিং খুব আরো জটিল কিছু করার সহজ, 830 00:40:04,190 --> 00:40:05,200 এখানে একই কাজ. 831 00:40:05,200 --> 00:40:08,500 বসতে না, এবং চেষ্টা একটি সম্পূর্ণ সমস্যা, অনুগ্রহ করে লিখুন. 832 00:40:08,500 --> 00:40:10,780 আসলে এইসব শিশুর পদক্ষেপ গ্রহণ. 833 00:40:10,780 --> 00:40:15,100 >> এখন, স্ট্রিং সব না হয় নিজেদের কাছে দরকারী. 834 00:40:15,100 --> 00:40:18,210 আমরা আসলে চাই, আদর্শভাবে, মত আমাদের টুলকিট অন্য কিছু আছে. 835 00:40:18,210 --> 00:40:20,990 সুতরাং আসুন আসলে ঠিক করি. 836 00:40:20,990 --> 00:40:24,900 >> আমাকে এখন এগিয়ে যান এবং পিটান যাক কিছুটা ভিন্ন প্রোগ্রাম. 837 00:40:24,900 --> 00:40:28,320 এবং আমরা পূর্ণসংখ্যা জন্য, এই int.c ডাকবো. 838 00:40:28,320 --> 00:40:30,870 আমি যাচ্ছি, একইভাবে, CS550.h অন্তর্ভুক্ত. 839 00:40:30,870 --> 00:40:33,060 আমি প্রমিত IO অন্তর্ভুক্ত করতে যাচ্ছি. 840 00:40:33,060 --> 00:40:36,630 এবং যে বেশ সাধারণ হতে যাচ্ছে এই প্রথম শ্রেণীর কয়েক দিনের মধ্যে. 841 00:40:36,630 --> 00:40:39,050 >> আমি প্রস্তুত করতে যাচ্ছি নিজেকে একটি প্রধান ফাংশন সঙ্গে. 842 00:40:39,050 --> 00:40:43,370 আর এখন এর পরিবর্তে একটি স্ট্রিং পেয়ে, এর এগিয়ে যান এবং কোন int পেতে দিন. 843 00:40:43,370 --> 00:40:49,285 স্বীকার করে নেওয়াই ভালো আমি কল করা যাক, এবং এটি পেতে কল কোন int, ডান বন্ধনী, সেমিকোলন. 844 00:40:49,285 --> 00:40:51,410 এখন চলো করি এটা দিয়ে কিছু printf,. 845 00:40:51,410 --> 00:40:56,190 >> এর মত কিছু বলতে দাও হ্যালো, ব্যাকস্ল্যাশ এন, কমা আমি. 846 00:40:56,190 --> 00:41:00,010 তাই আমি প্রায় কাছাকাছি অনুকারী করছি কি আমি শুধু একটা মুহূর্ত আগে করেনি. 847 00:41:00,010 --> 00:41:01,660 আমি একটি স্থানধারক এখানে আছে. 848 00:41:01,660 --> 00:41:05,150 আমি আমি এখানে কমা আছে, কারণ আমি চাই আমি যে প্লেসহোল্ডার মধ্যে চলা. 849 00:41:05,150 --> 00:41:07,250 >> সুতরাং আসুন এগিয়ে যান এবং চেষ্টা করি এই প্রোগ্রামটি কম্পাইল করার প্রণালী. 850 00:41:07,250 --> 00:41:10,060 ফাইল int.c. বলা হয় 851 00:41:10,060 --> 00:41:12,920 তাই আমি বলতে int-করতে, প্রবেশ করতে যাচ্ছি. 852 00:41:12,920 --> 00:41:16,420 হায় খোদা, কিন্তু কোন বড় চুক্তি, ডান? 853 00:41:16,420 --> 00:41:17,230 একটা ভুল. 854 00:41:17,230 --> 00:41:19,810 >> সেখানে একটি অন্বিত ভুল এখানে যেমন যে প্রোগ্রাম করতে পারবেন না 855 00:41:19,810 --> 00:41:25,460 int.c, লাইন ভিতরে কম্পাইল করা সাত অক্ষর 27, ত্রুটি বিন্যাস 856 00:41:25,460 --> 00:41:28,400 নির্দিষ্ট টাইপ গৃহস্থালির কাজ তারকা, যাই হোক না কেন যে হয়. 857 00:41:28,400 --> 00:41:30,020 কিন্তু যুক্তি টাইপ int হয়. 858 00:41:30,020 --> 00:41:33,110 >> তাই এখানে খুব, আমরা না চাচ্ছি যাচ্ছেন যদিও আজ উপাদানের একটি অনেক আছে, 859 00:41:33,110 --> 00:41:35,710 আমরা সঙ্গে আপনি অভিভূত চলুন একেবারে সি প্রতিটি বৈশিষ্ট্য, 860 00:41:35,710 --> 00:41:38,070 এবং প্রোগ্রামিং আরো সাধারণভাবে, শুধু এই প্রথম কয়েক সপ্তাহের মধ্যে. 861 00:41:38,070 --> 00:41:40,400 তাই সেখানে প্রায়ই হতে যাচ্ছে অপভাষা যা দিয়ে আপনি পরিচিত নও. 862 00:41:40,400 --> 00:41:43,350 এবং, আসলে, গৃহস্থালি তারকা কিছু হয় আমরা ফিরে আসতে যাচ্ছেন 863 00:41:43,350 --> 00:41:44,830 এক সপ্তাহ বা দুই এর সময়. 864 00:41:44,830 --> 00:41:47,530 >> কিন্তু এখন জন্য, আসুন যদি আমরা করতে পারেন দেখুন শব্দ যে পরিচিত পার্স. 865 00:41:47,530 --> 00:41:50,750 Formats-- তাই আমরা বিন্যাস শোনা সুনির্দিষ্টভাবে উল্লেখ করা হয়, বিন্যাস কোড সামনে. 866 00:41:50,750 --> 00:41:51,840 যে পরিচিত. 867 00:41:51,840 --> 00:41:53,840 Type-- কিন্তু যুক্তি টাইপ int- * আছে. 868 00:41:53,840 --> 00:41:55,980 একটি মিনিট অপেক্ষা করুন, আমি কোন int হয়. 869 00:41:55,980 --> 00:41:59,230 >> হয়তো শতাংশ গুলি আসলে কিছু সংজ্ঞায়িত অর্থ রয়েছে. 870 00:41:59,230 --> 00:42:00,230 এবং প্রকৃতপক্ষে, এটা আছে. 871 00:42:00,230 --> 00:42:03,101 একটি পূর্ণসংখ্যা, যদি আপনি চান তাহলে এটা প্রতিকল্প printf, 872 00:42:03,101 --> 00:42:05,350 আপনি আসলে একটি ব্যবহার করতে হবে বিভিন্ন বিন্যাস সুনির্দিষ্টভাবে উল্লেখ করা হয়. 873 00:42:05,350 --> 00:42:06,890 আর আপনি এই জানি না যদি না কেউ, তোমাকে বলেছিলাম 874 00:42:06,890 --> 00:42:07,973 অথবা আপনি এটা আগে সম্পন্ন করেছে. 875 00:42:07,973 --> 00:42:10,490 কিন্তু শতাংশ আমি কি সাধারণভাবে ব্যবহার করা যেতে পারে 876 00:42:10,490 --> 00:42:12,240 একটি পূর্ণসংখ্যা মধ্যে প্লাগিং জন্য printf মধ্যে. 877 00:42:12,240 --> 00:42:14,920 এছাড়াও আপনি শতাংশ ব্যবহার করতে পারেন একটি দশমিক পূর্ণসংখ্যা জন্য ঘ. 878 00:42:14,920 --> 00:42:16,490 কিন্তু আমি এখানে চমৎকার এবং সহজ হয়. 879 00:42:16,490 --> 00:42:17,590 তাই আমরা যে সঙ্গে যাবেন. 880 00:42:17,590 --> 00:42:21,160 >> এখন আমাকে এগিয়ে যান এবং পুন: প্রকাশ করা কোন int, লিখুন. 881 00:42:21,160 --> 00:42:23,328 যে ভালো, কোন ত্রুটি. 882 00:42:23,328 --> 00:42:27,260 ডট int-- ঠিক আছে, খারাপ ব্যবহারকারীর অভিজ্ঞতা স্ল্যাশ, কারণ আমি না বলেছি 883 00:42:27,260 --> 00:42:27,760 কি করো. 884 00:42:27,760 --> 00:42:28,426 কিন্তু যে সূক্ষ্ম. 885 00:42:28,426 --> 00:42:29,480 আমি দ্রুত সংক্রামক করছি. 886 00:42:29,480 --> 00:42:36,260 >> আর এখন আমাকে এগিয়ে যান এবং ডেভিড, ঠিক আছে, Zamila, রব টাইপ. 887 00:42:36,260 --> 00:42:37,820 ঠিক আছে, তাই এই একটি ভাল জিনিস. 888 00:42:37,820 --> 00:42:41,710 এই সময়, আমি একটি ফাংশন ব্যবহার করছি, একটি ধাঁধা টুকরা পেতে int- বলা. 889 00:42:41,710 --> 00:42:44,230 আর এটা out-- সক্রিয় এবং আমরা করব term-- এই পরে দেখুন 890 00:42:44,230 --> 00:42:47,730 CS50 কর্মীদের বাস্তবায়ন করেছে এমনভাবে স্ট্রিং পেতে 891 00:42:47,730 --> 00:42:50,350 এটি শুধুমাত্র শারীরিকভাবে হবে আপনার জন্য একটি স্ট্রিং পেতে. 892 00:42:50,350 --> 00:42:54,340 >> এটা int- পেতে বাস্তবায়ন করেছে এমনভাবে যে এটা শুধুমাত্র হবে 893 00:42:54,340 --> 00:42:55,590 আপনার জন্য একটি পূর্ণসংখ্যা পেতে. 894 00:42:55,590 --> 00:42:57,830 আর যদি আপনি, মানব, সহযোগিতা না, এটা 895 00:42:57,830 --> 00:43:00,590 আক্ষরিক শুধু যাচ্ছে , পুনরায় চেষ্টা পুনরায় চেষ্টা, পুনরায় চেষ্টা বলে, 896 00:43:00,590 --> 00:43:05,200 আক্ষরিক সেখানে বসা looping, যতক্ষণ না আপনি কিছু ঐন্দ্রজালিক নম্বর দিয়ে বাধিত, 897 00:43:05,200 --> 00:43:07,670 50, এবং হ্যালো 50 মত. 898 00:43:07,670 --> 00:43:11,440 >> বা আমরা এই আবার চালানো এবং 42 টাইপ, হ্যালো 42. 899 00:43:11,440 --> 00:43:15,750 আর তাই পেতে int- ফাংশনের যে ধাঁধা টুকরা ভিতরে 900 00:43:15,750 --> 00:43:19,050 যথেষ্ট যুক্তি নেই, যথেষ্ট চিন্তার, জিনিসটা, একটি শব্দ কি? 901 00:43:19,050 --> 00:43:20,330 আর একটি সংখ্যা কি? 902 00:43:20,330 --> 00:43:23,165 শুধু গ্রহণ, পরিণামে, সংখ্যা. 903 00:43:23,165 --> 00:43:25,690 904 00:43:25,690 --> 00:43:30,230 >> সুতরাং দেখা যাচ্ছে এই যে সব যে ভাবপূর্ণ নয়. 905 00:43:30,230 --> 00:43:30,910 যতদূর. 906 00:43:30,910 --> 00:43:33,690 সুতরাং, ইয়ে, শেষবার আমরা প্রশংসনীয় দ্রুত গেলেন 907 00:43:33,690 --> 00:43:38,320 বাস্তবায়ন গেম, এবং অ্যানিমেশন মধ্যে, এবং ভূত শৈল্পিক কাজ. 908 00:43:38,320 --> 00:43:42,260 এবং এখানে, আমরা বিষয়বস্তু হচ্ছে ওহে দুনিয়া, এবং হ্যালো 50. 909 00:43:42,260 --> 00:43:43,696 >> এটা সব যে দীপক নয়. 910 00:43:43,696 --> 00:43:46,070 এবং প্রকৃতপক্ষে, এই প্রথম বেশ কিছু উদাহরণ কিছু সময় লাগবে 911 00:43:46,070 --> 00:43:47,510 হুজুগ আপ ঢালু থেকে. 912 00:43:47,510 --> 00:43:49,854 কিন্তু আমরা আরও অনেক কিছু আছে আসলে এখন নিয়ন্ত্রণ. 913 00:43:49,854 --> 00:43:51,770 এবং আমরা চলুন খুব দ্রুত layering শুরু 914 00:43:51,770 --> 00:43:53,870 এই মৌলিক প্রিমিটিভের উপরে. 915 00:43:53,870 --> 00:43:56,370 >> কিন্তু প্রথম, এর কিছু বুঝতে কি সীমাবদ্ধতা আছে. 916 00:43:56,370 --> 00:43:58,620 আসলে, কিছু এক ভূত সহজে না 917 00:43:58,620 --> 00:44:00,990 দেখুন আমাদের কি করা যাক সত্যিই ফণা নীচে, 918 00:44:00,990 --> 00:44:03,740 এবং কি একটি বোঝা কম্পিউটার, হয় এটা করতে পারেন কি, 919 00:44:03,740 --> 00:44:05,250 এবং তার সীমাবদ্ধতা কি হয়. 920 00:44:05,250 --> 00:44:08,580 এবং প্রকৃতপক্ষে, যে অভাব বোঝার, সম্ভাব্য, দীর্ঘমেয়াদী 921 00:44:08,580 --> 00:44:12,520 আমাদের নিজস্ব mistakes-- লেখা হতে পারে না বাগ, অনিরাপদ সফ্টওয়্যার লেখার যে 922 00:44:12,520 --> 00:44:13,880 কোনোভাবে হ্যাক. 923 00:44:13,880 --> 00:44:17,130 >> সুতরাং এর দিকে কিছু পদক্ষেপ গ্রহণ করুক এই একটি সামান্য আরো ভাল করে বুঝতে 924 00:44:17,130 --> 00:44:19,710 , উপায় বলে, নিম্নলিখিত উদাহরণে. 925 00:44:19,710 --> 00:44:23,550 আমি এগিয়ে যান এবং বাস্তবায়ন করতে যাচ্ছি বাস্তব দ্রুত একটি প্রোগ্রাম যোজক বলা. 926 00:44:23,550 --> 00:44:25,134 ভালো লেগেছে, এর কিছু নম্বর একসঙ্গে যোগ করা যাক. 927 00:44:25,134 --> 00:44:27,800 আর আমি কিছু কোণে কোড যাচ্ছি এখানে, এবং মাত্র কপি এবং পেস্ট করুন 928 00:44:27,800 --> 00:44:30,270 যেখানে আমি অনেক আগে থেকেই আছেন, ঠিক তাই আমরা যত তাড়াতাড়ি যাচ্ছে পেতে পারেন. 929 00:44:30,270 --> 00:44:33,090 এখন তাই আমি মৌলিক সূত্রপাত পেয়েছেন যোজক নামক একটি প্রোগ্রাম. 930 00:44:33,090 --> 00:44:34,670 >> আর এর এগিয়ে যান এবং এই কাজের জন্য. 931 00:44:34,670 --> 00:44:38,680 আমি এগিয়ে যান যাচ্ছি এবং বলে, intx int- পেতে পায়. 932 00:44:38,680 --> 00:44:39,430 এবং আপনি কি জানেন? 933 00:44:39,430 --> 00:44:40,990 এর একটি ভাল ব্যবহারকারীর অভিজ্ঞতা করা যাক. 934 00:44:40,990 --> 00:44:45,740 >> তাই আসুন শুধু বলতে x, এবং কার্যকরভাবে দিন ব্যবহারকারীকে অনুরোধ জানানো আমাদের এক্স দিতে. 935 00:44:45,740 --> 00:44:50,600 তারপর আমাকে এগিয়ে যান এবং বলে, printf, দিন কিভাবে সম্পর্কে y, এই সময় আশা 936 00:44:50,600 --> 00:44:53,140 ব্যবহারকারী থেকে দুটি মান. 937 00:44:53,140 --> 00:44:59,759 তারপর আসুন শুধু এগিয়ে যান এবং বলে, printf x এবং y এর সমষ্টি. 938 00:44:59,759 --> 00:45:01,300 এবং এখন আমি শতাংশ গুলি করতে চাই না. 939 00:45:01,300 --> 00:45:09,080 আমি শতাংশ আমি কাজ করতে চান, ব্যাকস্ল্যাশ এন, এবং তারপর সমষ্টি মূল্য চলা. 940 00:45:09,080 --> 00:45:10,620 >> তাই আমি এই কাজ সম্পর্কে কিভাবে যেতে পারেন? 941 00:45:10,620 --> 00:45:11,270 তুমি কি জান? 942 00:45:11,270 --> 00:45:12,840 আমি কিভাবে ভেরিয়েবল ব্যবহার করতে জানেন. 943 00:45:12,840 --> 00:45:15,140 আমাকে শুধু একটি নতুন এক, int-z ঘোষণা করা যাক. 944 00:45:15,140 --> 00:45:16,770 >> আর আমি এখানে একটি অনুমান নিতে যাচ্ছি. 945 00:45:16,770 --> 00:45:21,470 যদি এই মধ্যে সমান চিহ্ন আছে ভাষা, হয়তো আমি এক্স প্লাস Y. ঠিক কি করতে পারেন, 946 00:45:21,470 --> 00:45:23,660 তাই আমি শেষ হিসাবে আমার দীর্ঘ একটি সেমিকোলন দিয়ে চিন্তা? 947 00:45:23,660 --> 00:45:28,170 এখন আমি এখানে ফিরে নিচে যেতে পারেন, z- র মধ্যে চলা, একটি সেমিকোলন দিয়ে এই চিন্তার শেষ. 948 00:45:28,170 --> 00:45:33,160 এবং এর এখন দেখুন, এই যদি দিন লাইন এক্স ক্রমের int- পেতে হয়. 949 00:45:33,160 --> 00:45:34,770 ওয়াই int- পেতে হয়. 950 00:45:34,770 --> 00:45:37,980 >> X এবং y যোগ মান সংরক্ষণ z-- তাই, আবার, সমান চিহ্ন স্মরণ 951 00:45:37,980 --> 00:45:38,560 সমান নয়. 952 00:45:38,560 --> 00:45:41,100 এটা ডান থেকে বাম নিয়োগ এর. 953 00:45:41,100 --> 00:45:45,180 আর এর যে সমষ্টি প্রিন্ট আউট করা যাক x এবং y এর আক্ষরিক z- র নয়, 954 00:45:45,180 --> 00:45:46,830 কিন্তু z এর ভিতরে কি আছে. 955 00:45:46,830 --> 00:45:50,090 সুতরাং আসুন যোজক তৈরী করি - চমৎকার, কোন ভুল এই সময়. 956 00:45:50,090 --> 00:45:53,030 ডট স্ল্যাশ যোজক লিখুন, এক্স 1 হতে যাচ্ছে. 957 00:45:53,030 --> 00:45:55,380 >> ওয়াই 2 হতে যাচ্ছে. 958 00:45:55,380 --> 00:45:58,964 এবং x এবং y এর সমষ্টি 3. 959 00:45:58,964 --> 00:46:00,130 সুতরাং যে সব জরিমানা এবং ভাল. 960 00:46:00,130 --> 00:46:03,260 >> সুতরাং আপনি যে গণিত কল্পনা করা হবে এই মত একটি প্রোগ্রাম কাজ করা উচিত. 961 00:46:03,260 --> 00:46:04,040 কিন্তু আপনি কি জানেন? 962 00:46:04,040 --> 00:46:06,904 এই পরিবর্তনশীল, লাইন 12, এমনকি প্রয়োজনীয়? 963 00:46:06,904 --> 00:46:09,820 আপনি অভ্যাস পেতে প্রয়োজন হবে না শুধু ভেরিয়েবল কিছু সংরক্ষণকারী 964 00:46:09,820 --> 00:46:10,980 শুধু কারণ আপনি যা করতে পারেন. 965 00:46:10,980 --> 00:46:13,550 এবং, আসলে, এটা সাধারণভাবে সুবিবেচিত খারাপ নকশা 966 00:46:13,550 --> 00:46:18,100 আপনি একটি পরিবর্তনশীল তৈরি হয়, তাহলে বলা এই ক্ষেত্রে z- র, এটা কিছু সংরক্ষণকারী 967 00:46:18,100 --> 00:46:21,390 এবং তারপর অবিলম্বে এটি ব্যবহার করে, কিন্তু কখনও আবার. 968 00:46:21,390 --> 00:46:24,700 কেন কিছু একটা নাম দিতে z- র মত যদি আপনি আক্ষরিক করছি 969 00:46:24,700 --> 00:46:26,770 ব্যবহার করার জন্য যে যাচ্ছে জিনিস শুধুমাত্র একবার, এবং তাই 970 00:46:26,770 --> 00:46:29,380 যেখানে আপনার তৈরি করা নিকটবর্ত প্রথম স্থানে, 971 00:46:29,380 --> 00:46:31,052 কোড লাইনের পরিপ্রেক্ষিতে তাই বন্ধ? 972 00:46:31,052 --> 00:46:31,760 তাই আপনি কি জানেন? 973 00:46:31,760 --> 00:46:34,480 এটা পরিনত হয় যে সি চমত্কার নমনীয়. 974 00:46:34,480 --> 00:46:36,586 আমি আসলে করতে চান প্লাগ-ইন মান এখানে, 975 00:46:36,586 --> 00:46:38,210 আমি একটি নতুন ভেরিয়েবল ডিক্লেয়ার করার প্রয়োজন হবে না. 976 00:46:38,210 --> 00:46:41,680 আমি শুধু প্লাগ ইন এক্স পারে প্লাস Y, কারণ সি বুঝতে 977 00:46:41,680 --> 00:46:43,390 পাটিগণিত, এবং গাণিতিক অপারেটর. 978 00:46:43,390 --> 00:46:47,140 >> তাই আমি সহজভাবে বলতে পারেন, এই গণিত, এক্স প্লাস Y., যাই হোক না কেন সেই মান, 979 00:46:47,140 --> 00:46:50,780 প্লাগ ফলে স্ট্রিং মধ্যে পূর্ণসংখ্যা. 980 00:46:50,780 --> 00:46:53,730 তাই এই হতে পারে, যদিও শুধুমাত্র এক লাইন খাটো, 981 00:46:53,730 --> 00:46:58,480 একটি ভাল ডিজাইন, একটি ভাল প্রোগ্রাম, কারণ সেখানে কম কোড, তাই 982 00:46:58,480 --> 00:46:59,921 কম আমার বোঝার জন্য. 983 00:46:59,921 --> 00:47:01,920 এবং এটি শুধু ক্লিনার এর, আমরা নই যতটা হিসাবে 984 00:47:01,920 --> 00:47:04,620 নতুন শব্দ উপস্থাপক, নতুন প্রতীক, z- র মত, 985 00:47:04,620 --> 00:47:07,510 যদিও তারা সত্যিই না একটি উদ্দেশ্য অনেক পরিবেশন করা. 986 00:47:07,510 --> 00:47:12,890 >> দুর্ভাগ্যবশত, গণিত নয় সব যে নির্ভরযোগ্য মাঝে মাঝে. 987 00:47:12,890 --> 00:47:15,270 এর এগিয়ে যান এবং এই কাজের জন্য. 988 00:47:15,270 --> 00:47:18,200 আমি এগিয়ে যেতে চলেছি এখন এবং নিচের কাজগুলো. 989 00:47:18,200 --> 00:47:27,650 >> এর printf, শতকরা আমি, প্লাস শতাংশ করা যাক আমি, শতাংশ আমি, ব্যাকস্ল্যাশ এন হইবে. 990 00:47:27,650 --> 00:47:32,240 আমি আপাততঃ xyx প্লাস Y. করতে যাচ্ছি. 991 00:47:32,240 --> 00:47:34,821 তাই আমি ঠিক পুনর্লিখন করতে যাচ্ছি এই সামান্য এখানে ভিন্নভাবে. 992 00:47:34,821 --> 00:47:36,320 আমাকে শুধু একটি দ্রুত বৈধতা চেক করা যাক. 993 00:47:36,320 --> 00:47:37,986 আবার, আসুন এগিয়ে নিজেদেরকে না যাক. 994 00:47:37,986 --> 00:47:41,420 যোজক, বিন্দু স্ল্যাশ যোজক করুন. 995 00:47:41,420 --> 00:47:44,950 এক্স 1, y 2, 1 প্লাস 2 3 হয়. 996 00:47:44,950 --> 00:47:45,870 তাই ভালো. 997 00:47:45,870 --> 00:47:49,060 কিন্তু এখন এই ফাঁদে ফেলা যাক একটি বিট, এবং একটি নতুন ফাইল তৈরি করুন. 998 00:47:49,060 --> 00:47:53,350 >> আমি এই এক কল চলেছি, বলছি, আপনি ints ইন্টিজার জন্য বহুবচন. 999 00:47:53,350 --> 00:47:55,980 আমাকে শুরু যেখানে আমি একটি মুহূর্ত আগে ছিলাম. 1000 00:47:55,980 --> 00:47:57,770 কিন্তু এখন এর কয়েকটি লাইন কাজ করতে দিন. 1001 00:47:57,770 --> 00:48:03,430 আমাকে এগিয়ে যান এবং নিচের কাজগুলো করা যাক, printf, শতকরা আমি, বিয়োগ শতাংশ আমি, 1002 00:48:03,430 --> 00:48:08,959 শতাংশ আমি, কমা এক্স, কমা yx বিয়োগ Y হয়. 1003 00:48:08,959 --> 00:48:10,750 তাই আমি একটু কাজ করছি সেখানে বিভিন্ন গণিত. 1004 00:48:10,750 --> 00:48:11,624 এর আরেকটা করি. 1005 00:48:11,624 --> 00:48:16,610 সুতরাং শতাংশ আমি বার শতাংশ আমি শতাংশ আমি, ব্যাকস্ল্যাশ এন হয়. 1006 00:48:16,610 --> 00:48:21,430 এর প্লাগ-ইন x, y, ও এক্স বার Y যাক. 1007 00:48:21,430 --> 00:48:24,530 আমরা উপর তারকাচিহ্ন ব্যবহার করব বার জন্য আপনার কম্পিউটার. 1008 00:48:24,530 --> 00:48:26,390 >> আপনি এক্স ব্যবহার করবেন না. x হল এখানে একটি পরিবর্তনশীল নাম. 1009 00:48:26,390 --> 00:48:28,270 আপনি গুণন জন্য তারকা ব্যবহার করুন. 1010 00:48:28,270 --> 00:48:29,020 এর আরও একটি অনুষ্ঠান করুক না. 1011 00:48:29,020 --> 00:48:34,580 Printf শতাংশ আমি, বিভক্ত শতাংশ আমি দ্বারা, শতাংশ আমি হয় 1012 00:48:34,580 --> 00:48:40,460 ব্যাকস্ল্যাশ এন. XY y-- দ্বারা বিভক্ত তাই আপনি সি ফরোয়ার্ড স্ল্যাশ ব্যবহার 1013 00:48:40,460 --> 00:48:41,502 বিভাজন করতে. 1014 00:48:41,502 --> 00:48:42,460 আর অপর এক কাজ করা যাক. 1015 00:48:42,460 --> 00:48:47,920 1016 00:48:47,920 --> 00:48:55,240 শতাংশ আমি বাকি, বিভক্ত শতাংশ আমি দ্বারা, শতাংশ আমি হয়. 1017 00:48:55,240 --> 00:48:59,550 xy-- এবং এখন বাকি কি ওভার বাকি নেই. 1018 00:48:59,550 --> 00:49:02,980 আপনি একটি বিভাজক চেষ্টা একটি লব মধ্যে হর, 1019 00:49:02,980 --> 00:49:05,570 কত ওভার বাকি নেই যে আপনি খুঁজে ভাগ করতে পারে না? 1020 00:49:05,570 --> 00:49:07,910 >> আসলে তা নয়, অগত্যা, একটি প্রতীক 1021 00:49:07,910 --> 00:49:09,470 আমরা এই জন্য গ্রেড স্কুলে ব্যবহার করেছি. 1022 00:49:09,470 --> 00:49:13,830 কিন্তু সি আপনি বলে এক্স modulo y, যেখানে 1023 00:49:13,830 --> 00:49:18,000 এই context-- মধ্যে এই শতকরা চিহ্ন confusingly যখন আপনি ভিতরে আছেন 1024 00:49:18,000 --> 00:49:20,170 ডবল কোট, printf, শতকরা ভিতরে 1025 00:49:20,170 --> 00:49:21,830 বিন্যাস সুনির্দিষ্টভাবে উল্লেখ করা হয় হিসাবে ব্যবহার করা হয়. 1026 00:49:21,830 --> 00:49:25,420 >> আপনি বাইরে শতাংশ ব্যবহার করেন যে একটি গাণিতিক অভিব্যক্তি, 1027 00:49:25,420 --> 00:49:29,910 এটা মডুলার জন্য মডুলো অপারেটর আমাদের উদ্দেশ্য arithmetic-- 1028 00:49:29,910 --> 00:49:33,650 এখানে, মানে, কি x এর বাকি y দ্বারা বিভক্ত? 1029 00:49:33,650 --> 00:49:36,130 সুতরাং x y দ্বারা বিভক্ত x স্ল্যাশ Y হয়. 1030 00:49:36,130 --> 00:49:38,220 y দ্বারা বিভক্ত x বাকি কী? 1031 00:49:38,220 --> 00:49:41,780 এটা, মুড ওয়াই এক্স এর একজন প্রোগ্রামার হিসেবে বলব. 1032 00:49:41,780 --> 00:49:48,300 >> সুতরাং যদি আমি কোন ভুল এখানে তৈরি, আমাকে এগিয়ে যান এবং ints, বহুবচন, যুক্ততা, 1033 00:49:48,300 --> 00:49:50,010 এবং বিন্দু স্ল্যাশ আপনি ints. 1034 00:49:50,010 --> 00:49:55,270 আর এর দিন এবং এগিয়ে যান না, স্বীকার করে বলে, 1, 10 দিন. 1035 00:49:55,270 --> 00:49:58,390 ঠিক আছে, 1 টি প্লাস 10 11, চেক হয়. 1036 00:49:58,390 --> 00:50:01,240 1 বিয়োগ 10 নেতিবাচক 9, চেক. 1037 00:50:01,240 --> 00:50:03,420 >> 1 বার 10 10 চেক হয়. 1038 00:50:03,420 --> 00:50:07,090 1 10 হচ্ছে ÑÑ দ্বারা বিভক্ত ঠিক আছে, আমরা লাফালাফি করব যে এক. 1039 00:50:07,090 --> 00:50:09,480 1 এর বাকি 10 দ্বারা বিভক্ত 1. 1040 00:50:09,480 --> 00:50:10,680 এটাই সঠিক. 1041 00:50:10,680 --> 00:50:12,630 কিন্তু এখানে আছে একটি বাগ. 1042 00:50:12,630 --> 00:50:15,390 >> তাই এক আমি রাখা আমার হস্তান্তরের, সঠিক না. 1043 00:50:15,390 --> 00:50:16,670 আমি বলতে চাচ্ছি, এটা 0 পাসে হবে. 1044 00:50:16,670 --> 00:50:20,670 1 10 দ্বারা বিভক্ত, আপনি কি জানেন, আমরা হন তাহলে কিছু কোণ কাটা, নিশ্চিত করুন, এটা শূন্য. 1045 00:50:20,670 --> 00:50:28,050 কিন্তু এটা সত্যিই 1/10 হতে হবে, 0.1, বা 0.10, 0,1000, বা তাই ঘোষণা. 1046 00:50:28,050 --> 00:50:30,600 >> এটা সত্যিই শূন্য করা উচিত হবে না. 1047 00:50:30,600 --> 00:50:35,990 ওয়েল, দেখা যাচ্ছে যে কম্পিউটার আক্ষরিক করছেন আমরা কি এটা বলেছেন. 1048 00:50:35,990 --> 00:50:39,460 আমরা y দ্বারা বিভক্ত x মত গণিত করছেন. 1049 00:50:39,460 --> 00:50:44,680 এবং উভয় x এবং y, লাইন প্রতি কোডের আগে পূর্ণসংখ্যা. 1050 00:50:44,680 --> 00:50:50,440 >> তাছাড়া, লাইন 15, আমরা printf, আরে, printf, প্লাগ-ইন কহন 1051 00:50:50,440 --> 00:50:54,230 একটি পূর্ণসংখ্যা, প্লাগ-ইন একটি পূর্ণসংখ্যা, প্লাগ-ইন একটি integer-- বিশেষভাবে 1052 00:50:54,230 --> 00:50:57,580 এক্স, এবং তারপর y, ও তারপর এক্স y দ্বারা বিভক্ত. x এবং y আপনি ints হয়. 1053 00:50:57,580 --> 00:50:59,060 আমরা সেখানে ভাল আছেন. 1054 00:50:59,060 --> 00:51:01,250 >> কিন্তু কি এক্স এক্স দ্বারা ভাগ করা হয়? 1055 00:51:01,250 --> 00:51:06,790 এক্স বিভক্ত দ্বারা Y করা উচিত, গাণিতিকভাবে, 1/10, বা 0.1, 1056 00:51:06,790 --> 00:51:11,600 যা একটি বাস্তব সংখ্যা, একটি বাস্তব সংখ্যা থাকার সম্ভাব্য, একটি দশমিক বিন্দু. 1057 00:51:11,600 --> 00:51:13,230 এটি একটি পূর্ণসংখ্যা নয়. 1058 00:51:13,230 --> 00:51:18,290 >> কিন্তু কি নিকটস্থ হয় 1/10, বা 0.1 থেকে পূর্ণসংখ্যা? 1059 00:51:18,290 --> 00:51:21,114 হ্যা, এটা কোন ধরনের শূন্য. 1060 00:51:21,114 --> 00:51:22,030 0.1 এই অনেক ভালো হয়. 1061 00:51:22,030 --> 00:51:22,890 এবং 1 এই অনেক হয়. 1062 00:51:22,890 --> 00:51:25,870 তাই 1/10 কাছাকাছি 0 তুলনায় এটি এক হয়. 1063 00:51:25,870 --> 00:51:30,800 >> তাই কি সি আমাদের জন্য কাজ করছে ধরনের কারণ আমরা তা চাচ্ছি জানান 1064 00:51:30,800 --> 00:51:32,600 যে পূর্ণসংখ্যা ছিন্ন হয়. 1065 00:51:32,600 --> 00:51:40,540 এটা মান, যা আবার নিচ্ছে 0,1000 ভালো কিছু হতে অনুমিত, 1066 00:51:40,540 --> 00:51:41,800 0 এবং তাই ঘোষণা. 1067 00:51:41,800 --> 00:51:45,320 আর সবকিছু ছিন্ন হচ্ছে দশমিক বিন্দু পরে 1068 00:51:45,320 --> 00:51:47,510 যাতে এই সব কাপড়, কারণ এটা না 1069 00:51:47,510 --> 00:51:51,910 একটি পূর্ণসংখ্যা এর ধারণা মধ্যে মাপসই করা হবে, যা শুধু নেতিবাচক 1, 0, 1 মত একটি সংখ্যা হয়, 1070 00:51:51,910 --> 00:51:55,830 আপ এবং ডাউন, এটা সবকিছু দূরে ছোঁড়ার কারণ আপনি দশমিক বিন্দু পরে 1071 00:51:55,830 --> 00:51:59,020 একটি দশমিক বিন্দু মাপসই করা যাবে না সংজ্ঞা দ্বারা একটি পূর্ণসংখ্যা. 1072 00:51:59,020 --> 00:52:01,290 >> সুতরাং এখানে উত্তরটি শূন্য. 1073 00:52:01,290 --> 00:52:02,600 তাই কিভাবে আমরা এই ঠিক করব? 1074 00:52:02,600 --> 00:52:04,400 আমরা সব একসঙ্গে অন্য সমাধান প্রয়োজন. 1075 00:52:04,400 --> 00:52:06,880 এবং আমরা এই নিম্নরূপ করতে পারেন. 1076 00:52:06,880 --> 00:52:12,820 >> আমাকে এগিয়ে যান এবং একটি নতুন তৈরি করুন ফাইল, এই এক floats.c বলা. 1077 00:52:12,820 --> 00:52:16,500 আর এখানে তা সংরক্ষণ করুন একই ডিরেক্টরির, float.c. 1078 00:52:16,500 --> 00:52:19,360 1079 00:52:19,360 --> 00:52:23,260 এবং আমাকে এগিয়ে যান এবং কপি করা আগে থেকে যে কিছু কোড. 1080 00:52:23,260 --> 00:52:27,690 >> কিন্তু এর পরিবর্তে পেয়ে কোন int, এই কাজ করতে দিন. 1081 00:52:27,690 --> 00:52:31,037 আমাকে একটা ফ্লোটিং পয়েন্ট মান দিন এক্স নামক. যেখানে একটি ফ্লোটিং পয়েন্ট 1082 00:52:31,037 --> 00:52:33,370 মান ঠিক আক্ষরিক হয় একটি ফ্লোটিং পয়েন্ট সঙ্গে কিছু. 1083 00:52:33,370 --> 00:52:34,410 এটা, বাঁদিকে সরানো ডান করতে পারেন. 1084 00:52:34,410 --> 00:52:35,530 এটা একটি বাস্তব সংখ্যা. 1085 00:52:35,530 --> 00:52:38,050 >> আর আমাকে না ডাকুক int- পেতে, কিন্তু ভাসা পেতে, 1086 00:52:38,050 --> 00:52:41,420 এছাড়াও মেনু মধ্যে যা ছিল C250 লাইব্রেরিতে অপশনের. 1087 00:52:41,420 --> 00:52:43,220 y এর একটি float পরিবর্তন করা যাক. 1088 00:52:43,220 --> 00:52:45,000 তাই এই ভাসা পেতে হয়ে. 1089 00:52:45,000 --> 00:52:47,620 >> এবং এখন, আমরা চাই না আপনি ints চলা করতে চান. 1090 00:52:47,620 --> 00:52:53,130 এটি সক্রিয় আউট আমরা শতাংশ ব্যবহার করতে হবে ভাসা জন্য চ, ভাসা জন্য শতাংশ চ, 1091 00:52:53,130 --> 00:52:54,560 এবং এখন এটি সংরক্ষণ. 1092 00:52:54,560 --> 00:53:01,220 আর এখন, আঙ্গুলের পার করা ফ্লোট, চমৎকার, বিন্দু স্ল্যাশ ভাসে. 1093 00:53:01,220 --> 00:53:04,280 এক্স এক 1. Y হতে যাচ্ছে 10 আবার হতে যাচ্ছে. 1094 00:53:04,280 --> 00:53:08,240 >> আর সুন্দর, ঠিক আছে আমার বরাবর সঠিক. 1095 00:53:08,240 --> 00:53:10,240 আমি আরও আশা ছিল, কিন্তু আমি এটা লিখতে ভুলে গেছি. 1096 00:53:10,240 --> 00:53:13,250 সুতরাং এর যান এবং এই লজিক্যাল ত্রুটি ঠিক করি. 1097 00:53:13,250 --> 00:53:16,280 >> এর এগিয়ে যান এবং নিচের দখল করুক. 1098 00:53:16,280 --> 00:53:18,080 আমরা অল্পমাত্র কপি এবং পেস্ট করব. 1099 00:53:18,080 --> 00:53:20,080 আমি মাইনাস বলতে যাচ্ছি. 1100 00:53:20,080 --> 00:53:21,890 >> আমি বার বলতে যাচ্ছি. 1101 00:53:21,890 --> 00:53:24,060 আমি বিভক্ত বলতে যাচ্ছি. 1102 00:53:24,060 --> 00:53:28,240 আমি মডুলো করতে যাচ্ছি না, যা যেমন সঙ্গত এখানে নয় 1103 00:53:28,240 --> 00:53:33,690 চ দ্বারা বিভক্ত, এবং বার plus-- ঠিক আছে, এই আবার কি যাক. 1104 00:53:33,690 --> 00:53:44,210 >> করুন ফ্লোট, বিন্দু স্ল্যাশ ভাসে, এবং 1, 10, and-- সুন্দর, কোন, ঠিক আছে. 1105 00:53:44,210 --> 00:53:45,250 তাই আমি বুঝিয়ে বলো. 1106 00:53:45,250 --> 00:53:47,000 তাই এই খুব সাধারণ কম্পিউটার বিজ্ঞান মধ্যে 1107 00:53:47,000 --> 00:53:49,780 এই মত মূঢ় ভুল করা. 1108 00:53:49,780 --> 00:53:53,100 >> প্রাতিষ্ঠানিক উদ্দেশ্য পূরণকল্পে, কি আমি সত্যিই করতে চেয়েছিলেন 1109 00:53:53,100 --> 00:53:57,410 বিজ্ঞান এখানে আমূল পরিবর্তন করে প্লাস, বিয়োগ করা, বার, 1110 00:53:57,410 --> 00:54:01,140 এবং আপনি হিসাবে বিভক্ত করা হয়, আশা এই ব্যায়াম করার সময় খেয়াল. 1111 00:54:01,140 --> 00:54:04,700 তাই এখন এই পুনরায় কম্পাইল করা যাক প্রোগ্রাম, বিন্দু স্ল্যাশ ভাসে না. 1112 00:54:04,700 --> 00:54:07,950 >> আর তৃতীয় বারের মতো আসুন যদি তা দেখতে আমার প্রত্যাশা পূরণ. 1113 00:54:07,950 --> 00:54:21,480 1, 10, লিখুন ঠিক আছে, হ্যা, 1.000, 10.000 দ্বারা বিভক্ত, 0,100000 হয়. 1114 00:54:21,480 --> 00:54:24,952 এবং এটি সক্রিয় আউট আমরা নিয়ন্ত্রণ করতে পারেন কিভাবে অনেক সংখ্যার ঐ দশমিক পয়েন্ট পরে হয়. 1115 00:54:24,952 --> 00:54:25,660 আমরা আসলে হবে. 1116 00:54:25,660 --> 00:54:26,790 আমরা যে ফিরে আসবো. 1117 00:54:26,790 --> 00:54:28,440 >> কিন্তু এখন, আসলে, গণিত সঠিক. 1118 00:54:28,440 --> 00:54:30,090 সুতরাং, আবার, কি takeaway এখানে আছে? 1119 00:54:30,090 --> 00:54:33,050 এটি সক্রিয় আউট সি, আছে না শুধু strings-- এবং বাস্তবিকই, 1120 00:54:33,050 --> 00:54:36,120 সেখানে, সত্যিই হয় না, কারণ আমরা CS50 লাইব্রেরি সঙ্গীদের যোগ করুন. 1121 00:54:36,120 --> 00:54:37,710 কিন্তু সেখানে শুধু আপনি ints না হয়. 1122 00:54:37,710 --> 00:54:38,990 >> এছাড়াও floats আছে. 1123 00:54:38,990 --> 00:54:42,810 এবং এটি অন্যান্য তথ্য একটি গুচ্ছ সক্রিয় আউট ধরনের যে, আমরা অনেক আগেই ব্যবহার করব. 1124 00:54:42,810 --> 00:54:46,270 দেখা যাচ্ছে আপনি একটি একক চান অক্ষর, অক্ষর এর একটি পংক্তি, 1125 00:54:46,270 --> 00:54:47,610 আপনি শুধুমাত্র একটি গৃহস্থালি ব্যবহার করতে পারেন. 1126 00:54:47,610 --> 00:54:52,350 >> দেখা যাচ্ছে যে, যদি আপনি একটি bool চান, একটি বুলিয়ান মান, সত্য বা মিথ্যা শুধুমাত্র 1127 00:54:52,350 --> 00:54:56,840 CS50 লাইব্রেরি ধন্যবাদ, আমরা করেছি পাশাপাশি সি bool, ডাটা টাইপ যোগ করা হয়েছে. 1128 00:54:56,840 --> 00:54:59,180 কিন্তু এটি উপস্থাপন করছে অন্যান্য অনেক ভাষার পাশাপাশি. 1129 00:54:59,180 --> 00:55:04,130 আর এটা যে আপনি মাঝে মাঝে দেখা যাচ্ছে বড় সংখ্যার তারপর ডিফল্ট দ্বারা আসা প্রয়োজন 1130 00:55:04,130 --> 00:55:05,210 ints এবং floats সঙ্গে. 1131 00:55:05,210 --> 00:55:10,590 >> এবং, আসলে, একটি ডবল একটি সংখ্যা যে না 32 বিট, কিন্তু 64 বিট ব্যবহার করে. 1132 00:55:10,590 --> 00:55:14,990 এবং একটি দীর্ঘ দীর্ঘ একটি সংখ্যা যে না 32 বিট কিন্তু 64 বিট ব্যবহার করে, 1133 00:55:14,990 --> 00:55:19,190 যথাক্রমে, ফ্লোটিং পয়েন্ট জন্য মূল্যবোধ ও ইন্টিজার, যথাক্রমে. 1134 00:55:19,190 --> 00:55:22,780 তাই আসুন এখন আসলে দিন এই পদক্ষেপ দেখতে. 1135 00:55:22,780 --> 00:55:26,150 >> আমি এখানে এগিয়ে যান যাচ্ছি এবং অন্য একটি প্রোগ্রাম পিটান. 1136 00:55:26,150 --> 00:55:32,020 এখানে, আমি এগিয়ে যেতে চলেছি এবং cs50.h. অন্তর্ভুক্ত না 1137 00:55:32,020 --> 00:55:34,910 আর আমাকে যেতে দাও, প্রমিত io.h. অন্তর্ভুক্ত 1138 00:55:34,910 --> 00:55:37,320 >> আর তুমি কিছু বিজ্ঞপ্তি পাবেন ভীতু এখানে ঘটছে. 1139 00:55:37,320 --> 00:55:40,592 এটা কিছু কোডিং রঙ না একই পথ হিসেবে এটা আগের মতোই. 1140 00:55:40,592 --> 00:55:43,550 এবং এটি সক্রিয় আউট, যে কারণে আমি এর একটি ফাইলের নাম জিনিস দাওনি. 1141 00:55:43,550 --> 00:55:47,270 >> আমি এই এক কল যাচ্ছি sizeof.c, এবং আঘাত সংরক্ষণ করুন. 1142 00:55:47,270 --> 00:55:51,039 আর তা লক্ষ্য করা আমার খুব ঘটবে যে কালো পরিপ্রেক্ষিত বিরুদ্ধে সাদা কোড. 1143 00:55:51,039 --> 00:55:52,830 এখন, অন্তত আছে সেখানে কিছু রক্তবর্ণ. 1144 00:55:52,830 --> 00:55:54,490 আর এটা সিনট্যাক্স হাইলাইট হয়. 1145 00:55:54,490 --> 00:55:57,700 >> এটা এ কারণে যে, বেশ সহজভাবে, আমি করেছি আইডিই কি ধরনের ফাইল জানান 1146 00:55:57,700 --> 00:56:01,060 এটা একটি নাম দিয়ে, আর বিশেষভাবে একটি ফাইল এক্সটেনশন. 1147 00:56:01,060 --> 00:56:03,620 এখন, এগিয়ে যান এবং এই কাজের জন্য. 1148 00:56:03,620 --> 00:56:08,910 আমি এগিয়ে এবং খুব যেতে যাচ্ছি কেবল নিম্নলিখিত bool, প্রিন্ট আউট 1149 00:56:08,910 --> 00:56:11,080 শতাংশ এল ইউ হয়. 1150 00:56:11,080 --> 00:56:12,950 >> আমরা ফিরে আসবো মাত্র কয়েক মিনিটের মধ্যে যে. 1151 00:56:12,950 --> 00:56:15,840 এবং তারপর আমি যাচ্ছি একটি bool মুদ্রণ আকার. 1152 00:56:15,840 --> 00:56:18,170 এবং এখন, শুধু সংরক্ষণ করতে নিজেকে কিছু সময়, আমি আছি 1153 00:56:18,170 --> 00:56:20,280 একটি পুরো করতে যাচ্ছেন একবারে এই গুচ্ছ. 1154 00:56:20,280 --> 00:56:24,620 আর, বিশেষ করে, আমি যাচ্ছি একটি গৃহস্থালি এবং গৃহস্থালি এই পরিবর্তন. 1155 00:56:24,620 --> 00:56:27,760 এই এক, আমি পরিবর্তন করা যাচ্ছে না একটি ডবল এবং একটি দ্বিগুণ. 1156 00:56:27,760 --> 00:56:31,440 >> এই এক, আমি পরিবর্তন করা যাচ্ছে না একটি float এবং একটি float. 1157 00:56:31,440 --> 00:56:35,670 এই এক, আমি যাচ্ছি কোন int এবং কোন int পরিবর্তন. 1158 00:56:35,670 --> 00:56:38,660 আর এই এক, আমি যাচ্ছি একটি দীর্ঘ দীর্ঘ পরিবর্তন করতে. 1159 00:56:38,660 --> 00:56:40,840 এবং এটা এখনও নিচ্ছে একটি দীর্ঘ সময়, দীর্ঘ দীর্ঘ. 1160 00:56:40,840 --> 00:56:44,572 >> এবং তারপর, সর্বশেষে, আমি দিয়েছিলাম নিজেকে এক অনেকগুলি, স্ট্রিং. 1161 00:56:44,572 --> 00:56:47,030 এটি সক্রিয় আউট সি, যে আছে বিশেষ অপারেটর বলা 1162 00:56:47,030 --> 00:56:50,260 যে এর আকার আক্ষরিক এর যখন চালানো যাচ্ছে, 1163 00:56:50,260 --> 00:56:52,099 আমাদের মাপ বলুন এই ভেরিয়েবল প্রতিটি. 1164 00:56:52,099 --> 00:56:53,890 আর এই একটি উপায় হল, এখন, আমরা ফিরে সংযোগ করতে পারেন 1165 00:56:53,890 --> 00:56:57,140 গত সপ্তাহে আলোচনায় তথ্য ও প্রতিনিধিত্বের. 1166 00:56:57,140 --> 00:57:00,330 >> আমাকে এগিয়ে যান এবং কম্পাইল করা যাক ডট স্ল্যাশ আকার আকার. 1167 00:57:00,330 --> 00:57:01,210 এবং আসুন দেখুন. 1168 00:57:01,210 --> 00:57:05,210 এটা সি যে সক্রিয় আউট, বিশেষভাবে এবং CS50 আইডিই তে, 1169 00:57:05,210 --> 00:57:08,170 বিশেষভাবে উপর অপারেটিং সিস্টেম উবুন্টু, 1170 00:57:08,170 --> 00:57:11,100 যা একটি 64-বিট অপারেটিং হয় এই ক্ষেত্রে সিস্টেম, 1171 00:57:11,100 --> 00:57:14,189 একটি bool যাচ্ছে স্থান এক বাইট ব্যবহার. 1172 00:57:14,189 --> 00:57:16,480 যে কিভাবে আকার মাপা হয়, না বিট, কিন্তু বাইটে. 1173 00:57:16,480 --> 00:57:18,690 এবং যে প্রত্যাহার এক বাইট আট বিট. 1174 00:57:18,690 --> 00:57:22,030 সুতরাং একটি bool, এমনকি আপনি যদিও 0 বা 1 টেকনিক্যালি শুধুমাত্র প্রয়োজন, 1175 00:57:22,030 --> 00:57:24,092 এটা একটু অযথা এর আমরা এটা কিভাবে প্রয়োগ করেছি. 1176 00:57:24,092 --> 00:57:26,800 এটা আসলে একটি পুরো ব্যবহার করা যাচ্ছে না byte-- তাই সব zeros, হয়তো হয় 1177 00:57:26,800 --> 00:57:31,050 সব বেশী, বা যে ভালো কিছু, বা শুধু এক 1 আট বিট মধ্যে. 1178 00:57:31,050 --> 00:57:34,962 >> একটি গৃহস্থালি, এদিকে, একটি অক্ষর জন্য ব্যবহৃত গত সপ্তাহে প্রতি একটি ASCII অক্ষর মত, 1179 00:57:34,962 --> 00:57:36,170 এক চরিত্র হতে যাচ্ছে. 1180 00:57:36,170 --> 00:57:42,340 এবং যে আমাদের ধারণা দিয়ে synchs এটা বেশী 256 bits-- হচ্ছে বরং, 1181 00:57:42,340 --> 00:57:45,360 এটা কোন হচ্ছে synchs আপ আর চেয়ে 8 বিট, যা 1182 00:57:45,360 --> 00:57:47,450 আমাদের যেমন অনেক 256 হিসাবে মান দেয়. 1183 00:57:47,450 --> 00:57:49,680 একটি ডবল যাচ্ছে 8 বাইট বা 64 বিট হতে. 1184 00:57:49,680 --> 00:57:50,510 >> একটি float 4. 1185 00:57:50,510 --> 00:57:51,690 কোন int 4. 1186 00:57:51,690 --> 00:57:52,980 একটি দীর্ঘ, দীর্ঘ 8. 1187 00:57:52,980 --> 00:57:54,716 আর একটি পংক্তি 8. 1188 00:57:54,716 --> 00:57:55,840 কিন্তু যে সম্পর্কে চিন্তা করবেন না. 1189 00:57:55,840 --> 00:57:57,340 আমরা যে স্তর ছুলা চলুন. 1190 00:57:57,340 --> 00:57:59,940 এটি সক্রিয় আউট, স্ট্রিং পারেন 8 বাইট চেয়ে দীর্ঘতর হতে. 1191 00:57:59,940 --> 00:58:02,310 >> এবং প্রকৃতপক্ষে, আমরা লিখিত করেছি ইতিমধ্যে স্ট্রিং, ওহে দুনিয়া, 1192 00:58:02,310 --> 00:58:03,700 8 বাইট চেয়ে বেশি. 1193 00:58:03,700 --> 00:58:06,270 কিন্তু আমরা ফিরে আসবো মাত্র কয়েক মিনিটের মধ্যে যে. 1194 00:58:06,270 --> 00:58:09,690 কিন্তু নিতে দূরে এখানে নিম্নলিখিত হয়. 1195 00:58:09,690 --> 00:58:15,320 >> কোন কম্পিউটার শুধুমাত্র একটি সসীম হয়েছে মেমরি এবং স্থান পরিমাণ. 1196 00:58:15,320 --> 00:58:17,860 আপনি শুধুমাত্র তাই অনেক সংরক্ষণ করতে পারেন আপনার Mac বা PC তে ফাইল. 1197 00:58:17,860 --> 00:58:23,030 আপনি শুধুমাত্র তাই অনেক প্রোগ্রাম সংরক্ষণ করতে পারেন উপস্থিত RAM- র একবার চলমান, অগত্যা, এমনকি 1198 00:58:23,030 --> 00:58:26,360 ভার্চুয়াল মেমরির, কারণ আপনি উপস্থিত RAM- র একটি সসীম পরিমাণ আছে. 1199 00:58:26,360 --> 00:58:28,990 >> আর মাত্র যদি picture-- থেকে আপনি একটি ল্যাপটপ কখনোই খুলিনি 1200 00:58:28,990 --> 00:58:31,300 বা অতিরিক্ত মেমরি আদেশ একটি কম্পিউটার, আপনি 1201 00:58:31,300 --> 00:58:33,670 জানি না হতে পারে আপনার কম্পিউটার এর ভিতর 1202 00:58:33,670 --> 00:58:36,590 কিছু যে দেখে মনে হচ্ছে একটু ভালো. 1203 00:58:36,590 --> 00:58:40,540 সুতরাং এই মাত্র একটি সাধারণ নামে কোম্পানি গুরুত্বপূর্ণ যে কম্পিউটারের জন্য র্যাম নির্মিত হয়. 1204 00:58:40,540 --> 00:58:43,620 আর র্যাম যেখানে প্রোগ্রাম হয় বাস যখন তারা চালাচ্ছেন. 1205 00:58:43,620 --> 00:58:46,630 >> তাই প্রত্যেক Mac বা PC, যখন আপনি দ্বিগুণ একটি প্রোগ্রাম ক্লিক করুন, এবং এটি আপ প্রর্দশিত হবে, 1206 00:58:46,630 --> 00:58:48,921 এবং এটা কিছু ওয়ার্ড ডকুমেন্ট খোলে অথবা যে ভালো কিছু, 1207 00:58:48,921 --> 00:58:51,764 এটা সঞ্চয় করে সাময়িকরূপে উপস্থিত RAM- র, কারণ র্যাম দ্রুততর 1208 00:58:51,764 --> 00:58:53,680 আপনার হার্ড ডিস্ক চেয়ে, অথবা আপনার কঠিন রাষ্ট্র ডিস্ক. 1209 00:58:53,680 --> 00:58:56,600 তাই এটি শুধু যেখানে প্রোগ্রাম যেতে বাস থেকে যখন তারা চালাচ্ছেন, 1210 00:58:56,600 --> 00:58:58,060 অথবা যখন ফাইল ব্যবহার করা হচ্ছে. 1211 00:58:58,060 --> 00:59:00,890 >> তাই আপনি কিছু যে চেহারা আছে আপনার ল্যাপটপ এর এই ভিতরে মত, 1212 00:59:00,890 --> 00:59:03,320 অথবা সামান্য বড় কিছু আপনার ডেস্কটপের ভিতরে. 1213 00:59:03,320 --> 00:59:07,440 কিন্তু কী আপনি শুধুমাত্র একটি আছে হয় এইসব জিনিস সসীম সংখ্যা. 1214 00:59:07,440 --> 00:59:11,230 সেখানে শুধুমাত্র একটি সসীম পরিমাণ হার্ডওয়্যার এই ডেস্কের উপর বসে ডান 1215 00:59:11,230 --> 00:59:11,730 এখানে. 1216 00:59:11,730 --> 00:59:15,920 >> সুতরাং, নিশ্চয় আমরা সঞ্চয় করতে পারবেন না অসীম দীর্ঘ নম্বর. 1217 00:59:15,920 --> 00:59:19,030 আর এখনো, আপনি ফিরে মনে হয় গ্রেড স্কুল, কত ডিজিটের পারেন 1218 00:59:19,030 --> 00:59:21,400 আপনি সঠিক আছে একটি দশমিক বিন্দু? 1219 00:59:21,400 --> 00:59:24,680 যে বিষয়টি জন্য, কত ডিজিটের পারেন আপনি একটি দশমিক বিন্দু বাম আছে? 1220 00:59:24,680 --> 00:59:26,300 সত্যিই, অসীম অনেক. 1221 00:59:26,300 --> 00:59:30,840 >> এখন, আমরা মানুষেরা শুধু প্রতাপ জানি মিলিয়ন উচ্চারণ কিভাবে, 1222 00:59:30,840 --> 00:59:34,990 এবং বিলিয়ন, ট্রিলিয়ন, এবং কোয়াড্রিলিয়ন, এবং দশ লক্ষের পঞ্চঘাত. 1223 00:59:34,990 --> 00:59:39,370 আমি সীমা ঠেলাঠেলি করছি আমার understanding-- বা my-- আমি বুঝতে 1224 00:59:39,370 --> 00:59:41,110 সংখ্যা, কিন্তু আমার সংখ্যার উচ্চারণ. 1225 00:59:41,110 --> 00:59:44,720 কিন্তু তারা সঙ্গে অসীম বড় পেতে পারেন বাঁদিকে অসীম অনেক ডিজিটের 1226 00:59:44,720 --> 00:59:47,050 অথবা একটি দশমিক বিন্দুর ডানে. 1227 00:59:47,050 --> 00:59:50,040 >> কিন্তু শুধুমাত্র কম্পিউটার একটি আছে মেমরি সসীম পরিমাণ, 1228 00:59:50,040 --> 00:59:53,510 ট্রানজিস্টর একটি সসীম সংখ্যা, একটি লাইট বাল্ব ভিতরে সসীম সংখ্যা. 1229 00:59:53,510 --> 00:59:57,350 তাই কি হবে যখন আপনি স্থান রান আউট? 1230 00:59:57,350 --> 00:59:59,620 অন্য কথায়, আপনি যদি ফিরে গত সপ্তাহে মনে 1231 00:59:59,620 --> 01:00:03,160 যখন আমরা সংখ্যা সম্পর্কে সায়ীদ নিজেদের, বাইনারি প্রতিনিধিত্ব করা হচ্ছে 1232 01:00:03,160 --> 01:00:05,480 অনুমান করা হয় যে আমরা পেয়েছেন এই 8-বিট মান এখানে. 1233 01:00:05,480 --> 01:00:08,290 >> আর আমরা সাত 1 এবং এক 0 আছে. 1234 01:00:08,290 --> 01:00:10,827 আর যে অনুমান আমরা চাই এই মান 1 যোগ. 1235 01:00:10,827 --> 01:00:12,410 এই সত্যিই একটি বড় সংখ্যা এখনই. 1236 01:00:12,410 --> 01:00:16,610 >> এই 254 হয়, যদি আমার মনে গত সপ্তাহে ডান থেকে গণিত. 1237 01:00:16,610 --> 01:00:19,480 কিন্তু যদি তা আমি পরিবর্তন যে একটি 1 ডানদিকের 0 থেকে? 1238 01:00:19,480 --> 01:00:22,800 পুরো নম্বর, এর অবশ্যই, আট 1 এর হয়ে. 1239 01:00:22,800 --> 01:00:24,050 তাই আমরা এখনও ভাল আছেন. 1240 01:00:24,050 --> 01:00:27,204 >> এবং যে সম্ভবত প্রতিনিধিত্ব 255, যদিও প্রসঙ্গের উপর নির্ভর করে 1241 01:00:27,204 --> 01:00:29,120 এটা আসলে প্রতিনিধিত্ব করতে পারে একটি ঋণাত্মক সংখ্যা. 1242 01:00:29,120 --> 01:00:31,240 কিন্তু যে সময় অন্য আরও অনেক কিছু. 1243 01:00:31,240 --> 01:00:34,220 এই মতানুযায়ী মত এটি সম্পর্কে যেমন উচ্চ হিসাবে আমি গণনা করতে পারেন. 1244 01:00:34,220 --> 01:00:35,290 >> এখন, এটা মাত্র 8 বিট. 1245 01:00:35,290 --> 01:00:38,170 আর আমার ম্যাক, নিশ্চয়, উপায় আছে বেশি মেমরি 8 বিট. 1246 01:00:38,170 --> 01:00:39,170 কিন্তু এটা সসীম আছে. 1247 01:00:39,170 --> 01:00:43,230 তাই একই যুক্তি প্রযোজ্য, এমনকি যদি আমরা পর্দায় এদেরকেই বেশি আছে. 1248 01:00:43,230 --> 01:00:47,020 >> কিন্তু কি হবে যদি তুমি এই সংখ্যা 255 সংরক্ষণকারী 1249 01:00:47,020 --> 01:00:49,290 এবং আপনি 1 বিট উচ্চ গণনা করতে চান? 1250 01:00:49,290 --> 01:00:51,600 আপনি 255 থেকে 256 থেকে যেতে চাই. 1251 01:00:51,600 --> 01:00:55,800 সমস্যা, অবশ্যই, যে যদি আপনি শূন্য গত সপ্তাহে মত এ গণনা শুরু, 1252 01:00:55,800 --> 01:00:59,670 আপনি যেমন উচ্চ গণনা করতে পারবে না 256 যেমন, একা 257 দিন, 1253 01:00:59,670 --> 01:01:02,584 একা 258 দিন, কারণ মি কি যখন আপনি একটি 1 যোগ করতে চান? 1254 01:01:02,584 --> 01:01:05,000 আপনি পুরানো গ্রেড স্কুল করতে হলে পদ্ধতি, আপনি একটি 1 এখানে করা, 1255 01:01:05,000 --> 01:01:08,150 এবং তারপর 1 প্লাস 1 2, কিন্তু যে সত্যিই একটি শূন্য, আপনি 1 বহন, 1256 01:01:08,150 --> 01:01:09,695 1 বহন, 1 বহন. 1257 01:01:09,695 --> 01:01:12,620 এই সমস্ত জিনিস, এই 1 এর, শূন্য থেকে যান. 1258 01:01:12,620 --> 01:01:17,820 আর আপনি গুটান, হ্যাঁ, কেউ যেমন বাম দিকে একটি 1, নির্দিষ্ট. 1259 01:01:17,820 --> 01:01:22,540 কিন্তু সবকিছু আপনি যা করতে পারেন আসলে দেখতে এবং মেমরির মধ্যে মাপসই 1260 01:01:22,540 --> 01:01:27,960 মাত্র আট 0, যা বলতে হয় কিছু সময়ে যদি আপনি একটি কম্পিউটার, 1261 01:01:27,960 --> 01:01:32,490 যথেষ্ট উচ্চ আপ গণনা চেষ্টা, আপনি আছেন চারপাশে মোড়ানো যাচ্ছে, মনে হবে, 1262 01:01:32,490 --> 01:01:35,850 শূন্য, হয়তো বা এমনকি নেতিবাচক সংখ্যা, যা শূন্য চেয়েও কম হয়. 1263 01:01:35,850 --> 01:01:37,260 >> এবং আমরা এই ধরনের দেখতে পারেন. 1264 01:01:37,260 --> 01:01:39,900 আমাকে এগিয়ে যান এবং লিখতে শুরু করা যাক একটি বাস্তব দ্রুত এখানে প্রোগ্রাম. 1265 01:01:39,900 --> 01:01:43,690 আমাকে এগিয়ে যান এবং লিখতে শুরু করা যাক একটি প্রোগ্রাম ওভারফ্লো বলা. 1266 01:01:43,690 --> 01:01:49,980 Cs50.h অন্তর্ভুক্ত অন্তর্ভুক্ত মান IO.h-- উহু, 1267 01:01:49,980 --> 01:01:51,730 আমি সত্যিই আমার সিনট্যাক্স হাইলাইটিং মিস. 1268 01:01:51,730 --> 01:01:54,440 সুতরাং আসুন overflow.c হিসাবে এই সংরক্ষণ করতে দিন. 1269 01:01:54,440 --> 01:01:57,084 >> আর এখন int প্রধান void-- এবং দীর্ঘ আগে, আমরা করব 1270 01:01:57,084 --> 01:01:59,500 কেন ব্যাখ্যা ফিরে আসা আমরা int প্রধান অকার্যকর লেখা রাখা. 1271 01:01:59,500 --> 01:02:02,080 কিন্তু এখন জন্য, এর ঠিক করতে দিন এটা, এটা করার জন্য মঞ্জুর. 1272 01:02:02,080 --> 01:02:06,200 এর নিজের কোন int দিই, এবং 0 আরম্ভ. 1273 01:02:06,200 --> 01:02:11,716 >> তৎকালীন int জন্য করা যাক আমি শূন্য পেতে আসলে, এর একটি অসীম লুপ করতে দিন 1274 01:02:11,716 --> 01:02:12,590 এবং দেখুন সেখানে কি ঘটছে. 1275 01:02:12,590 --> 01:02:22,440 যদিও সত্য, তারপর এর এন আউট প্রিন্ট করা যাক শতাংশ আমি, ব্যাকস্ল্যাশ এন, প্লাগ-ইন এন. 1276 01:02:22,440 --> 01:02:27,200 কিন্তু, এখন, এর এন পায় এন প্লাস 1 কি যাক. 1277 01:02:27,200 --> 01:02:29,660 >> তাই অন্য কথায়, প্রতিটি এই অসীম লুপ পুনরাবৃত্তির, 1278 01:02:29,660 --> 01:02:32,550 এর n এর মান নিয়ে যাক; এবং এটি 1, যোগ এবং তারপর 1279 01:02:32,550 --> 01:02:34,350 বাম থেকে এন ফিরে ফলাফল সংরক্ষণ. 1280 01:02:34,350 --> 01:02:37,150 এবং, আসলে, আমরা সিনট্যাক্স দেখা করেছি সামান্য এই মত, সংক্ষেপে. 1281 01:02:37,150 --> 01:02:39,730 একটি শীতল কৌতুক পরিবর্তে এই সব লেখা নিয়ে, 1282 01:02:39,730 --> 01:02:42,770 আপনি আসলে কি বলতে পারেন একটি এন প্লাস 1 সমান. 1283 01:02:42,770 --> 01:02:47,480 >> অথবা আপনি সত্যিই অভিনব হতে চান, আপনি বলতে পারেন এন প্লাস প্লাস সেমিকোলন. 1284 01:02:47,480 --> 01:02:50,130 কিন্তু এই শেষোক্ত দু'জন নির্ভরযোগ্য হয় কি আমরা অন্বিত চিনি কল চাই 1285 01:02:50,130 --> 01:02:50,790 প্রথম জিনিস জন্য. 1286 01:02:50,790 --> 01:02:53,456 >> প্রথম জিনিস, আরো স্পষ্ট হয় সম্পূর্ণই সূক্ষ্ম, সম্পূর্ণই সঠিক. 1287 01:02:53,456 --> 01:02:55,470 কিন্তু এই বেশি প্রচলিত, আমি বলবো. 1288 01:02:55,470 --> 01:02:57,210 তাই আমরা শুধু একটা মুহূর্ত জন্য এই কাজ করব. 1289 01:02:57,210 --> 01:03:01,685 >> চলুন শুরু করা যাক এখন ওভারফ্লো, যা শোনাচ্ছে বরং অশুভ, বিন্দু স্ল্যাশ ওভারফ্লো. 1290 01:03:01,685 --> 01:03:04,380 1291 01:03:04,380 --> 01:03:09,852 চলুন দেখা যাক, এন বেশ বড় হয়ে যাচ্ছে. 1292 01:03:09,852 --> 01:03:11,310 কিন্তু let এর মনে, কত বড় এন পেতে পারেন? 1293 01:03:11,310 --> 01:03:12,870 >> এন int হয়. 1294 01:03:12,870 --> 01:03:16,400 আমরা এর আকার সঙ্গে একটি মুহূর্ত আগে দেখেছি উদাহরণস্বরূপ কোন int চার বাইট. 1295 01:03:16,400 --> 01:03:22,070 আমরা গত সপ্তাহে থেকে জানি, চার বাইট 32 বিট, কারণ 8 বার 4 যে 32 এর. 1296 01:03:22,070 --> 01:03:23,460 যে 4 বিলিয়ন হতে যাচ্ছে. 1297 01:03:23,460 --> 01:03:25,802 >> আর আমরা 800,000 আপ হয়. 1298 01:03:25,802 --> 01:03:28,510 এই চিরকালের নিতে যাচ্ছে যেমন আমি সম্ভবত পারেন হিসাবে উচ্চ গণনা. 1299 01:03:28,510 --> 01:03:30,635 তাই আমি এগিয়ে যেতে চলেছি যেমন আপনি আগে দীর্ঘ বালকটিকে 1300 01:03:30,635 --> 01:03:34,910 এবং কন্ট্রোল সি উন্মুক্তভাবে আঘাত, কন্ট্রোল সি, অনেক, যেখানে কন্ট্রোল সি সাধারণভাবে 1301 01:03:34,910 --> 01:03:36,034 মানে বাতিল. 1302 01:03:36,034 --> 01:03:38,200 দুর্ভাগ্যবশত, এই কারণ মেঘের মধ্যে চলমান, 1303 01:03:38,200 --> 01:03:41,190 কখনও কখনও মেঘ এত কাপড় খুঁজে spitting, 1304 01:03:41,190 --> 01:03:44,180 এত আউটপুট, এটা যাচ্ছে আমার ইনপুট জন্য একটু সময় নিতে 1305 01:03:44,180 --> 01:03:45,630 মেঘ পেতে. 1306 01:03:45,630 --> 01:03:49,240 সুতরাং যদিও আমি আঘাত কন্ট্রোল সি কয়েক সেকেন্ড আগে, 1307 01:03:49,240 --> 01:03:53,110 এই স্পষ্টভাবে পার্শ্ব একটি অসীম লুপ এর প্রভাব. 1308 01:03:53,110 --> 01:03:56,070 >> তাই এই ক্ষেত্রে, আমরা করছি যে হতে ছেড়ে যাচ্ছে. 1309 01:03:56,070 --> 01:03:59,050 আর আমরা অন্য যোগ চলুন এখানে ওভার টার্মিনাল উইন্ডোর 1310 01:03:59,050 --> 01:04:03,186 প্লাস, যা অবশ্যই না দিয়ে যে মত, যেহেতু এটি এখনও চিন্তা. 1311 01:04:03,186 --> 01:04:05,310 আর এর এগিয়ে যান এবং হউক একটু বেশি যুক্তিসঙ্গত. 1312 01:04:05,310 --> 01:04:07,768 >> আমি এগিয়ে যান এবং কাজ করতে যাচ্ছি এই শুধুমাত্র finitely অনেকবার. 1313 01:04:07,768 --> 01:04:10,047 লুপ জন্য একটি ব্যবহার করা যাক, যা আমি আগে ইঙ্গিতেই সেটা স্পষ্ট. 1314 01:04:10,047 --> 01:04:10,630 চল এটা করি. 1315 01:04:10,630 --> 01:04:13,430 আমাকে অন্য পরিবর্তনশীল int তোমার পায় 0 দাও. 1316 01:04:13,430 --> 01:04:17,430 আমি কম, স্বীকার করে বলে, 64 i ++ যাক. 1317 01:04:17,430 --> 01:04:24,010 আর এখন আমাকে এগিয়ে এবং মুদ্রণ যাই আউট এন শতাংশ আমি, এন কমা. 1318 01:04:24,010 --> 01:04:27,547 এবং তারপর n-- এই এখনও চিরকালের নিতে যাচ্ছে. 1319 01:04:27,547 --> 01:04:28,130 চল এটা করি. 1320 01:04:28,130 --> 01:04:30,620 >> এন পায় এন বার 2. 1321 01:04:30,620 --> 01:04:34,140 অথবা আমরা অভিনব হতে পারে এবং বার সমান 2 না. 1322 01:04:34,140 --> 01:04:37,120 কিন্তু এর মাত্র এন বলা যাক নিজেই সমান, বার 2. 1323 01:04:37,120 --> 01:04:39,321 অন্য কথায়, এই প্রোগ্রামের নতুন সংস্করণ, 1324 01:04:39,321 --> 01:04:41,820 আমি চিরকাল অপেক্ষা করতে চাই না 800,000 মত 4 বিলিয়ন থেকে. 1325 01:04:41,820 --> 01:04:43,070 এর মাত্র সঙ্গে এই তরা যাক. 1326 01:04:43,070 --> 01:04:44,920 >> আসলে প্রতিটি সময় দ্বিগুণ এন যাক. 1327 01:04:44,920 --> 01:04:47,660 যা, রিকল, দ্বিগুনের হয় অবশ্যই, হচ্ছে এর বিপরীত. 1328 01:04:47,660 --> 01:04:50,035 আর গত সপ্তাহে যেহেতু আমরা আছে কিছু আবার, এবং আবার, 1329 01:04:50,035 --> 01:04:52,200 এবং আবার, সুপার ফাস্ট, দ্বিগুনের নিশ্চয় হবে 1330 01:04:52,200 --> 01:04:58,080 সবচেয়ে বড় সম্ভাব্য 1 থেকে আমাদের পেতে মান যে আমরা কোন int সঙ্গে গণনা করতে পারেন. 1331 01:04:58,080 --> 01:04:59,750 >> সুতরাং এর ঠিক এই কাজের জন্য. 1332 01:04:59,750 --> 01:05:01,720 আর আমরা অনেক আগেই এই ফিরে আসবো. 1333 01:05:01,720 --> 01:05:04,180 কিন্তু এই, আবার, ঠিক মত হয় ভূত পুনরাবৃত্ত ব্লক. 1334 01:05:04,180 --> 01:05:05,600 এবং আপনি দীর্ঘ আগে এই ব্যবহার করব. 1335 01:05:05,600 --> 01:05:10,170 >> এই মাত্র শূন্য থেকে গণনা মানে থেকে, কিন্তু সমান নয়, 64 পর্যন্ত. 1336 01:05:10,170 --> 01:05:14,285 এবং এই প্রতিটি পুনরাবৃত্তির উপর লুপ, শুধু আমি বৃদ্ধিশীল রাখতে. 1337 01:05:14,285 --> 01:05:18,990 সুতরাং i ++ - এবং এই সাধারণ কনস্ট্রাক্ট লাইনে 7 শুধু একটি সুপার সাধারণ উপায় 1338 01:05:18,990 --> 01:05:22,290 এর কিছু লাইন পুনরাবৃত্তি কোড, বার কিছু সংখ্যা. 1339 01:05:22,290 --> 01:05:23,362 যা লাইনের কোড? 1340 01:05:23,362 --> 01:05:25,570 এই কোঁকড়া ধনুর্বন্ধনী, আপনি যেমন এখন থেকে উত্পন্ন হতে পারে, 1341 01:05:25,570 --> 01:05:26,780 মানে, নিম্নলিখিত কাজগুলো. 1342 01:05:26,780 --> 01:05:29,510 >> এটা ভূত ভালো, যখন এটা হলুদ অবরোধগুলি 1343 01:05:29,510 --> 01:05:32,680 এবং অন্যান্য রং তজ্জাতীয় আলিঙ্গন বা অন্যান্য ব্লক আলিঙ্গন. 1344 01:05:32,680 --> 01:05:34,750 এটাই সেই কোঁকড়া নেই ধনুর্বন্ধনী এখানে করছেন. 1345 01:05:34,750 --> 01:05:40,200 সুতরাং যদি আমি আমার সিনট্যাক্স পেয়েছিলাম আপনি ডানে সি মানে গাজর প্রতীক দেখতে পারেন 1346 01:05:40,200 --> 01:05:42,706 যে কতবার আমি ছিলাম এই সমস্যা সমাধানের চেষ্টা করা. 1347 01:05:42,706 --> 01:05:45,330 সুতরাং আসুন যে এক পরিত্রাণ পেতে যাক পুরাপুরি, এবং যে উইন্ডোটি বন্ধ করুন. 1348 01:05:45,330 --> 01:05:46,520 এবং আমরা নতুন এক ব্যবহার করব. 1349 01:05:46,520 --> 01:05:51,980 ওভারফ্লো, বিন্দু স্ল্যাশ করুন ওভারফ্লো, লিখুন, সব ঠিক আছে, 1350 01:05:51,980 --> 01:05:53,090 এটা প্রথমে খারাপ দেখায়. 1351 01:05:53,090 --> 01:05:56,200 কিন্তু এর সময় ফিরে স্ক্রল যাক, কারণ আমি এই 64 বার করেনি. 1352 01:05:56,200 --> 01:05:58,700 >> আর প্রথমবারের মতো লক্ষ্য, এন 1. 1353 01:05:58,700 --> 01:06:03,110 দ্বিতীয় সময়, n হল 2, তারপর 4, তারপর 8, তারপর 16. 1354 01:06:03,110 --> 01:06:09,450 আর এটা মনে হচ্ছে যে যত তাড়াতাড়ি আমি মোটামুটিভাবে 1 বিলিয়ন পেতে 1355 01:06:09,450 --> 01:06:12,800 যদি আমি এটা আবার দ্বিগুণ, যে আমাকে 2 বিলিয়ন দিতে হবে. 1356 01:06:12,800 --> 01:06:14,980 কিন্তু এটি সক্রিয় আউট, এটা শিখর ডানে. 1357 01:06:14,980 --> 01:06:18,930 >> আর তাই এটি আসলে উপচে 1 বিলিয়ন থেকে কোন int 1358 01:06:18,930 --> 01:06:23,514 নেতিবাচক প্রায় 2 বিলিয়ন, কারণ একটি পূর্ণসংখ্যা, 1359 01:06:23,514 --> 01:06:25,430 সংখ্যার আমরা অসদৃশ গত সপ্তাহে অভিমানী হয়, 1360 01:06:25,430 --> 01:06:28,397 ইতিবাচক ও নেতিবাচক উভয় হতে পারে বাস্তবতা এবং একটি কম্পিউটারে. 1361 01:06:28,397 --> 01:06:30,730 এবং যারা তাই অন্তত এক বিট কার্যকরভাবে চুরি হয়. 1362 01:06:30,730 --> 01:06:34,190 সুতরাং আমরা সত্যিই শুধুমাত্র 31 বিট আছে, বা 2 বিলিয়ন সম্ভাব্য মান. 1363 01:06:34,190 --> 01:06:38,220 >> কিন্তু এখন জন্য, takeaway বেশ হয় সহজভাবে, যাই হোক না কেন এই সংখ্যা 1364 01:06:38,220 --> 01:06:42,280 এবং যাই হোক না কেন গণিত, হয় কিছু খারাপ অবশেষে ঘটবে, 1365 01:06:42,280 --> 01:06:46,980 কারণ শেষ পর্যন্ত আপনি করার চেষ্টা করছেন বিট এক অনেকবার স্থানপরিবর্তন. 1366 01:06:46,980 --> 01:06:51,060 এবং আপনি কার্যকরভাবে সব থেকে যেতে 1 এর হয়তো সব 0, বা হয়তো 1367 01:06:51,060 --> 01:06:54,260 শুধু অন্য কিছু প্যাটার্ন এটা যে পরিষ্কারভাবে, প্রসঙ্গের উপর নির্ভর করে, 1368 01:06:54,260 --> 01:06:56,342 একটি ঋণাত্মক সংখ্যা হিসাবে ব্যাখ্যা করা যেতে পারে. 1369 01:06:56,342 --> 01:06:59,300 আর তাই এটি সর্বোচ্চ আমি মনে হবে এই বিশেষ প্রোগ্রাম গণনা করতে 1370 01:06:59,300 --> 01:07:01,210 শুধুমাত্র প্রায় 1 বিলিয়ন. 1371 01:07:01,210 --> 01:07:02,760 কিন্তু এখানে একটি আংশিক সমাধান. 1372 01:07:02,760 --> 01:07:03,480 তুমি কি জান? 1373 01:07:03,480 --> 01:07:07,600 >> আমাকে একটি থেকে পরিবর্তন করা যাক একটি দীর্ঘ দীর্ঘ int. 1374 01:07:07,600 --> 01:07:10,633 এবং আমাকে এগিয়ে যান এখানে দিন এবং কথাই আমি আছে যাচ্ছি 1375 01:07:10,633 --> 01:07:12,290 একটি স্বাক্ষরবিহীন দীর্ঘ এই পরিবর্তন. 1376 01:07:12,290 --> 01:07:16,860 অথবা, দেখা যাক, আমি মনে রাখবেন কখনোই. 1377 01:07:16,860 --> 01:07:19,920 >> এর এগিয়ে যান এবং ওভারফ্লো করা যাক. 1378 01:07:19,920 --> 01:07:21,860 না, এটা নয়, lld, আপনাকে ধন্যবাদ. 1379 01:07:21,860 --> 01:07:23,430 তাই কখনও কখনও ঝনঝন সহায়ক হতে পারে. 1380 01:07:23,430 --> 01:07:27,550 আমি কি বিন্যাস স্মরণ করা হয়নি সুনির্দিষ্টভাবে উল্লেখ করা হয় একটি দীর্ঘ দীর্ঘ জন্য ছিল. 1381 01:07:27,550 --> 01:07:28,950 >> কিন্তু, প্রকৃতপক্ষে, ঝনঝন আমাকে বলেছিলেন. 1382 01:07:28,950 --> 01:07:31,570 সবুজ, ভাল কিছু হয় এখনও আপনি একটি ভুল মানে. 1383 01:07:31,570 --> 01:07:33,190 এটা অনুমান করা হচ্ছে যে আমি lld বোঝানো. 1384 01:07:33,190 --> 01:07:38,750 >> সুতরাং, আমার লাগবে উপদেশ দিন একটি দীর্ঘ দীর্ঘ দশমিক সংখ্যা, যে সংরক্ষণ করুন. 1385 01:07:38,750 --> 01:07:43,190 আর আমাকে পুন: প্রকাশ করা বিন্দু যাক, ওভারফ্লো স্ল্যাশ, লিখুন. 1386 01:07:43,190 --> 01:07:45,020 আর এখন কি শীতল এই হল. 1387 01:07:45,020 --> 01:07:49,140 >> যদি আমি সময় ফিরে স্ক্রল, আমরা এখনও শুরু একই place-- এ গণনা 1, 2, 4, 1388 01:07:49,140 --> 01:07:50,220 8, 16. 1389 01:07:50,220 --> 01:07:54,860 লক্ষ্য করুন, আমরা পেতে সব উপায় আপ 1 বিলিয়ন. 1390 01:07:54,860 --> 01:07:57,070 কিন্তু তারপর আমরা নিরাপদে 2 বিলিয়ন পেতে. 1391 01:07:57,070 --> 01:08:01,300 >> তারপর আমরা 4 বিলিয়ন পেতে, তারপর 8 বিলিয়ন, 17 বিলিয়ন. 1392 01:08:01,300 --> 01:08:03,340 এবং আমরা বেশী সংখ্যায় যাবো, আর উচ্চতর থেকে উচ্চতর. 1393 01:08:03,340 --> 01:08:05,740 অবশেষে, এই খুব, বিরতি. 1394 01:08:05,740 --> 01:08:09,350 >> অবশেষে, একটি দীর্ঘ দীর্ঘ সঙ্গে, যা 64 বিট মান, না হয় 1395 01:08:09,350 --> 01:08:13,660 একটি 32 বিট মান, যদি আপনি গণনা খুব বেশী, আপনার চারপাশের 0 মোড়ানো. 1396 01:08:13,660 --> 01:08:16,410 এবং এই ক্ষেত্রে, আমরা ঘটতে একটি ঋণাত্মক সংখ্যা দিয়ে শেষ. 1397 01:08:16,410 --> 01:08:17,550 >> তাই এই একটা সমস্যা. 1398 01:08:17,550 --> 01:08:20,439 এবং এটি সক্রিয় আউট এই যে সমস্যা সব যে রহস্যময় নয়. 1399 01:08:20,439 --> 01:08:23,060 যদিও আমি ইচ্ছাকৃতভাবে করেছি এই ভুলের সঙ্গে এটা অস্বীকার, 1400 01:08:23,060 --> 01:08:26,149 এটি সক্রিয় আউট আমরা এটা কোন ধরনের সব দেখতে আমাদের কিংবা আমাদের অন্তত কিছু কাছাকাছি না. 1401 01:08:26,149 --> 01:08:28,939 >> তাই লেগো থেকে Star Wars, যদি আপনি কি খেলা খেলেছি, 1402 01:08:28,939 --> 01:08:33,830 এটি সক্রিয় আউট আপনি কাছাকাছি যেতে পারেন লেগো বিশ্বের জিনিষ আপ ভঙ্গ, 1403 01:08:33,830 --> 01:08:36,640 এবং কয়েন সংগ্রহ করা, মূলত. 1404 01:08:36,640 --> 01:08:39,200 আর আপনি কি কখনও অভিনয় করেছি এই গেমটি উপায় খুব বেশী সময়, 1405 01:08:39,200 --> 01:08:42,630 এই অজ্ঞাত ব্যক্তি হিসেবে এখানে করেনি, মোট সংখ্যা 1406 01:08:42,630 --> 01:08:46,700 কয়েন যে আপনি সংগ্রহ করতে পারেন মনে হবে, 4 বিলিয়ন, হয়. 1407 01:08:46,700 --> 01:08:48,240 >> এখন, সঙ্গে এটা আসলে গোলাকার হচ্ছে. 1408 01:08:48,240 --> 01:08:50,239 তাই লেগো করার চেষ্টা ছিল কিছু ব্যবহারকারী বন্ধুত্বপূর্ণ রাখা. 1409 01:08:50,239 --> 01:08:53,779 তারা এটা ঠিক করার জন্য কি করা হয়নি 2 32 ক্ষমতা, গত সপ্তাহে প্রতি. 1410 01:08:53,779 --> 01:08:55,310 কিন্তু 4 বিলিয়ন একটা কারণ রয়েছে. 1411 01:08:55,310 --> 01:08:58,979 মনে হচ্ছে, এই তথ্যের উপর ভিত্তি করে, যে লেগো, এবং কোম্পানী যে 1412 01:08:58,979 --> 01:09:02,624 , এই প্রকৃত সফটওয়্যার তৈরি করার সিদ্ধান্ত নিয়েছে যে কয়েন সর্বোচ্চ নম্বর 1413 01:09:02,624 --> 01:09:04,540 ব্যবহারকারী জমা হতে পারে হয়, প্রকৃতপক্ষে, 4 বিলিয়ন, 1414 01:09:04,540 --> 01:09:12,069 তারা তাদের কোড মনোনীত কারণ একটি দীর্ঘ দীর্ঘ ব্যবহার করার জন্য, দৃশ্যতঃ 1415 01:09:12,069 --> 01:09:16,140 কিন্তু শুধু একটি পূর্ণসংখ্যা, একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা, শুধুমাত্র একটি ধনাত্মক পূর্ণসংখ্যা, যার 1416 01:09:16,140 --> 01:09:18,089 সর্বোচ্চ মান যে মোটামুটিভাবে হয়. 1417 01:09:18,089 --> 01:09:19,380 আচ্ছা, এখানে আরেকটি মজার এক. 1418 01:09:19,380 --> 01:09:23,500 খেলা সভ্যতায় তাই, যা আপনি কিছু পরিচিত হতে পারে, সঙ্গে 1419 01:09:23,500 --> 01:09:26,660 এটা যে বছর আগে সেখানে দেখা যাচ্ছে এই গেমটি যদ্দ্বারা একটি বাগ ছিল 1420 01:09:26,660 --> 01:09:28,750 যদি আপনি ভূমিকা পালন খেলা গান্ধীর, 1421 01:09:28,750 --> 01:09:34,020 তাকে এর পরিবর্তে খুব শান্তিবাদী হচ্ছে, পরিবর্তে অবিশ্বাস্যভাবে ছিল, অবিশ্বাস্যভাবে 1422 01:09:34,020 --> 01:09:36,399 আক্রমনাত্মক, কিছু পরিস্থিতিতে. 1423 01:09:36,399 --> 01:09:40,529 বিশেষ করে, পথ যে সভ্যতা কাজ হল যে যদি আপনি, প্লেয়ার, 1424 01:09:40,529 --> 01:09:44,680 গণতন্ত্র অবলম্বন আপনার হামলাদারিতা স্কোর পায় 1425 01:09:44,680 --> 01:09:48,130 দুই, তাই বিয়োগ দ্বারা decremented বিয়োগ, এবং তারপর মাইনাস মাইনাস. 1426 01:09:48,130 --> 01:09:50,569 >> তাই তোমার থেকে 2 বিয়োগ আপনার প্রকৃত iterating. 1427 01:09:50,569 --> 01:09:56,650 দুর্ভোগ্যজনকভাবে আপনার iterating হলে প্রাথমিকভাবে 1, এবং আপনি 2 এটা থেকে বিয়োগ করা 1428 01:09:56,650 --> 01:09:59,050 গণতন্ত্র গ্রহণ পর গান্ধী যেমন এখানে প্রতাপ 1429 01:09:59,050 --> 01:10:02,200 , করেছ কারণ সে খুব passive-- ছিল হামলাদারিতা স্কেলে 1. 1430 01:10:02,200 --> 01:10:04,830 কিন্তু যদি সে গণতন্ত্র গ্রহণ, তারপর তিনি 1 থেকে নেতিবাচক 1 যায়. 1431 01:10:04,830 --> 01:10:11,470 >> দুর্ভাগ্যবশত, তারা স্বাক্ষরবিহীন সংখ্যার ব্যবহার, 1432 01:10:11,470 --> 01:10:15,400 যার মানে তারা এমনকি নেতিবাচক চিকিত্সা সংখ্যার হিসাবে যদিও তারা ইতিবাচক ছিল. 1433 01:10:15,400 --> 01:10:19,780 এবং দেখা যাচ্ছে যে নেতিবাচক 1 ইতিবাচক সমতুল্য, 1434 01:10:19,780 --> 01:10:23,480 টিপিক্যাল কম্পিউটার প্রোগ্রাম, 255 হয়. 1435 01:10:23,480 --> 01:10:27,250 তাই আপনি যদি গান্ধী গ্রহণ গণতন্ত্র, এবং সেইজন্য হয়েছে 1436 01:10:27,250 --> 01:10:32,470 তার হামলাদারিতা স্কোর কমে যায়, এটা আসলে 255 এর কাছাকাছি ছুয়ে 1437 01:10:32,470 --> 01:10:35,470 এবং তাকে সবচেয়ে তোলে খেলা আক্রমনাত্মক চরিত্র. 1438 01:10:35,470 --> 01:10:36,930 তাই আপনি যদি এই আপ Google করতে পারেন. 1439 01:10:36,930 --> 01:10:39,380 আর এটা ছিল প্রকৃতপক্ষে, একটি আপতিক প্রোগ্রামিং বাগ, 1440 01:10:39,380 --> 01:10:43,010 কিন্তু যে বেশ লেখার বিদ্যা থেকেই. 1441 01:10:43,010 --> 01:10:44,360 >> যে সব মজার এবং বুদ্ধিমান. 1442 01:10:44,360 --> 01:10:47,760 আরো ভয়ানক যখন প্রকৃত হয় বাস্তব বিশ্বের ডিভাইস, এবং গেম না, 1443 01:10:47,760 --> 01:10:48,820 এই একই বাগ আছে. 1444 01:10:48,820 --> 01:10:54,500 আসলে, ঠিক এক বছর আগে একটি নিবন্ধ আসেন বোয়িং 787 ড্রিমলাইনার সম্পর্কে জানতে. 1445 01:10:54,500 --> 01:10:56,850 >> প্রথমে নিবন্ধ এক নজরে একটু রহস্যময় সার্চ. 1446 01:10:56,850 --> 01:11:01,480 কিন্তু এটা বলা এই, একটি সফ্টওয়্যার বোয়িং এর দূর্বলতা 1447 01:11:01,480 --> 01:11:04,790 নতুন 787 ড্রিমলাইনার জেট হয়েছে সম্ভাব্য পাইলটদের কারণ 1448 01:11:04,790 --> 01:11:07,220 নিয়ন্ত্রণ হারান বিমান, সম্ভবত 1449 01:11:07,220 --> 01:11:11,750 মধ্য ফ্লাইট মধ্যে, এফএএ কর্মকর্তারা সম্প্রতি সতর্ক এয়ারলাইন্সে. 1450 01:11:11,750 --> 01:11:14,520 এটা সংকল্প ছিল যে একটি মডেল 787 1451 01:11:14,520 --> 01:11:19,770 বিমান চালিত হয়েছে একটানা জন্য 248 দিন 1452 01:11:19,770 --> 01:11:24,880 সব পর্যায়ক্রমে বর্তমান হারাতে পারেন, এসি, বৈদ্যুতিক জেনারেটরের কারণে ক্ষমতা 1453 01:11:24,880 --> 01:11:28,892 নিয়ন্ত্রণ ইউনিট, GCUs, একযোগে গিয়ে নিরাপদ মোড ব্যর্থ. 1454 01:11:28,892 --> 01:11:29,850 এটা আমাকে হারানোর ধরনের. 1455 01:11:29,850 --> 01:11:35,390 কিন্তু মেমো বিবৃত, ঠিক আছে, এখন আমি যে পেয়েছিলাম, শর্ত একটি সফটওয়্যার দ্বারা সৃষ্ট হয়েছিল 1456 01:11:35,390 --> 01:11:38,590 অভ্যন্তরীণ মোকাবেলায় জেনারেটরের নিয়ন্ত্রণ 1457 01:11:38,590 --> 01:11:44,860 ইউনিট পর ওভারফ্লো হবে ক্রমাগত ক্ষমতার 248 দিন. 1458 01:11:44,860 --> 01:11:47,070 আমরা এই জারি করা হয় ক্ষয় রোধ করার লক্ষ্য 1459 01:11:47,070 --> 01:11:49,300 সব এসি বৈদ্যুতিক ক্ষমতা, যা হতে পারে 1460 01:11:49,300 --> 01:11:50,980 বিমান নিয়ন্ত্রণ হারানো মধ্যে. 1461 01:11:50,980 --> 01:11:55,380 >> তাই, আক্ষরিক কিছু পূর্ণসংখ্যা, অথবা কিছু সমতুল্য ডাটা টাইপ, 1462 01:11:55,380 --> 01:11:57,960 সফটওয়্যার ব্যবহার করা হচ্ছে একটি প্রকৃত বিমান 1463 01:11:57,960 --> 01:12:00,756 যে যদি আপনি আপনার বিমান রাখা দীর্ঘ যথেষ্ট, যা দৃশ্যত উপর 1464 01:12:00,756 --> 01:12:03,880 কেস হতে পারে যদি আপনি শুধু চালাচ্ছেন তাদের ক্রমাগত এবং কখনও প্লাগ থেকে খুলে 1465 01:12:03,880 --> 01:12:06,810 আপনার বিমান, এটা মনে হয়, অথবা লেট তার ব্যাটারি মরা, 1466 01:12:06,810 --> 01:12:09,840 শেষ পর্যন্ত গণনা করা হবে, এবং আপ, এবং আপ, এবং আপ, এবং আপ, এবং আপ. 1467 01:12:09,840 --> 01:12:12,150 >> আর, প্রকৃতি দ্বারা, একটি মেমরি সসীম পরিমাণ 1468 01:12:12,150 --> 01:12:15,880 , ওভারফ্লো হবে ফিরে ঘূর্ণায়মান শূন্য বা কিছু নেতিবাচক মান, 1469 01:12:15,880 --> 01:12:19,920 যার একটি পার্শ্ব প্রতিক্রিয়া প্রচন্ড বাস্তবতা 1470 01:12:19,920 --> 01:12:23,970 সমতল প্রয়োজন হতে পারে পুনরায় বুট করার পরে করা, কার্যকরীভাবে, 1471 01:12:23,970 --> 01:12:27,290 অথবা, আরও খারাপ পড়া পারে, এটা উড়ে যাওয়া হিসাবে. 1472 01:12:27,290 --> 01:12:29,230 সুতরাং সমস্যা এই ধরনের আমাদের সাথে এখনও হয়, 1473 01:12:29,230 --> 01:12:33,130 even-- এই একটি 2015 নিবন্ধটি ছিল, সব আরো ভয়ানক 1474 01:12:33,130 --> 01:12:36,100 আপনি অগত্যা না যখন , বুঝতে প্রশংসা, বা কহা 1475 01:12:36,100 --> 01:12:38,640 ত্রুটি ঐ ধরণের. 1476 01:12:38,640 --> 01:12:42,030 >> সুতরাং এটা অন্য একটি ব্যাপার দেখা যাচ্ছে তথ্য উপস্থাপনা সম্পর্কে খারাপ জিনিস. 1477 01:12:42,030 --> 01:12:47,080 এটা পরিনত হয় যে এমনকি ফ্লোট হয় ধরনের ত্রুটিপূর্ণ, কারণ ফ্লোট, খুব, 1478 01:12:47,080 --> 01:12:51,440 আমি প্রস্তাব করা হয় 32 বিট, বা হয়তো 64 আপনি একটি ডবল ব্যবহার করে. 1479 01:12:51,440 --> 01:12:53,070 কিন্তু যে এখনও সমাপিকা. 1480 01:12:53,070 --> 01:12:57,070 >> এবং ধরা হয় যে, যদি আপনি করতে পারেন সংখ্যার একটি অসীম সংখ্যা করা 1481 01:12:57,070 --> 01:12:59,460 দশমিক বিন্দু পরে, কোন উপায় আছে তুমি 1482 01:12:59,460 --> 01:13:02,690 সব সম্ভব উপস্থাপন করতে পারেন সংখ্যা যে আমরা পড়ানো হয় 1483 01:13:02,690 --> 01:13:04,990 গ্রেড স্কুল বিশ্বের উপস্থিত হতে পারে. 1484 01:13:04,990 --> 01:13:08,870 একটি কম্পিউটার, মূলত, হয়েছে ঐ সংখ্যার একটি উপসেট নির্বাচন 1485 01:13:08,870 --> 01:13:10,200 সঠিকভাবে উপস্থাপন করার. 1486 01:13:10,200 --> 01:13:12,450 >> এখন কম্পিউটারটি বন্ধ করতে বৃত্তাকার হয়তো একটি সামান্য বিট, 1487 01:13:12,450 --> 01:13:17,900 এবং প্রায় স্টোরে আপনি অনুমতি দিতে পারেন কোন সংখ্যা আপনি সম্ভবত চাইবেন. 1488 01:13:17,900 --> 01:13:20,940 কিন্তু শুধু intuitively, যদি বিট একটি সসীম সংখ্যা আছে, 1489 01:13:20,940 --> 01:13:24,560 আপনি শুধুমাত্র তাদের স্থানপরিবর্তন পারেন তাই অনেক সসীম উপায়ে. 1490 01:13:24,560 --> 01:13:26,570 তাই আপনি সম্ভবত পারেন না একটি সসীম সংখ্যা ব্যবহার 1491 01:13:26,570 --> 01:13:29,880 বিট বিন্যাস এর, zeros এবং বেশী নিদর্শন, 1492 01:13:29,880 --> 01:13:32,940 অসীম প্রতিনিধিত্বকারী সংখ্যার সংখ্যা, 1493 01:13:32,940 --> 01:13:37,370 যা কম্পিউটারের কিনা তার পরামর্শ খুব ভাল আমাদের কাছে মিথ্যা কখনও কখনও হতে. 1494 01:13:37,370 --> 01:13:38,770 >> বস্তুত, এই কাজ করতে দিন. 1495 01:13:38,770 --> 01:13:41,239 আমাকে এবং CS50 আইডিই ফিরে যাওয়া যাক. 1496 01:13:41,239 --> 01:13:43,030 আমাকে এগিয়ে যান এবং একটি ক্ষুদ্র প্রোগ্রাম তৈরি 1497 01:13:43,030 --> 01:13:47,940 যে দেখানোর জন্য অনির্দিষ্টতা ডেকে কম্পিউটার, হয় প্রকৃতপক্ষে, যথাযথ নয় এমন. 1498 01:13:47,940 --> 01:13:51,910 >> এবং আমাকে এগিয়ে যান এবং দিয়ে শুরু করা যাক সামনে থেকে যে কিছু কোড, 1499 01:13:51,910 --> 01:13:53,830 এবং এখন শুধু নিচের কাজগুলো. 1500 01:13:53,830 --> 01:14:03,640 আমাকে এগিয়ে যান এবং printf, শতাংশ করা যাক চ, ব্যাকস্ল্যাশ এন, 1 10 দ্বারা বিভক্ত. 1501 01:14:03,640 --> 01:14:07,430 অন্য কথায়, এর গভীরে ডুব দিন 1/10, মত 1 এবং 10 দ্বারা বিভক্ত. 1502 01:14:07,430 --> 01:14:09,760 নিশ্চয়, একটি কম্পিউটার 1/10 উপস্থাপন করতে পারেন. 1503 01:14:09,760 --> 01:14:13,620 >> সুতরাং আসুন এগিয়ে যান এবং অনির্দিষ্টতা করা যাক. 1504 01:14:13,620 --> 01:14:14,390 দেখা যাক. 1505 01:14:14,390 --> 01:14:16,210 বিন্যাস ডবল টাইপ নির্দিষ্ট করে. 1506 01:14:16,210 --> 01:14:18,160 কিন্তু যুক্তি টাইপ int- * আছে. 1507 01:14:18,160 --> 01:14:19,040 হচ্ছেটা কি? 1508 01:14:19,040 --> 01:14:21,970 >> ওহ, আকর্ষণীয়, তাই এটি একটি ব্যাপার পাঠ সামনে থেকে শিখেছি. 1509 01:14:21,970 --> 01:14:26,050 আমি বলছি, হেই, কম্পিউটার প্রদর্শনী আমাকে শতাংশ চ সঙ্গে একটি float. 1510 01:14:26,050 --> 01:14:28,200 কিন্তু আমি এটা 2 আপনি ints দিচ্ছি. 1511 01:14:28,200 --> 01:14:31,120 সুতরাং দেখা যাচ্ছে, আমি ঠিক করতে পারবো উপায়ে একটি দম্পতি মধ্যে এই. 1512 01:14:31,120 --> 01:14:38,430 >> আমি শুধু 1.0 মধ্যে একটি চালু করতে পারে, এবং 10 10.0 মধ্যে, যা would, প্রকৃতপক্ষে, 1513 01:14:38,430 --> 01:14:42,390 রূপান্তর প্রভাব আছে floats-- সেগুলি এখনও আশা 1514 01:14:42,390 --> 01:14:43,180 একই সংখ্যা. 1515 01:14:43,180 --> 01:14:45,880 অথবা এটি সক্রিয় আছে কিছু আউট আমরা আবার দীর্ঘ আগে দেখতে পাবেন. 1516 01:14:45,880 --> 01:14:47,170 সংখ্যায় নিক্ষেপ পারে. 1517 01:14:47,170 --> 01:14:49,880 >> আপনি, এই বন্ধনীসমন্বিত ব্যবহার করতে পারেন অভিব্যক্তি, আপনি বলতে পারেন, 1518 01:14:49,880 --> 01:14:52,560 হেই, কম্পিউটার, এই নিতে 10, যা আমি জানি কোন int হয়. 1519 01:14:52,560 --> 01:14:54,660 কিন্তু এটা কেমন আচরণ, দয়া করে, যেন এটি একটি float এর. 1520 01:14:54,660 --> 01:14:56,680 কিন্তু এই অকারণে জটিল মতানুযায়ী. 1521 01:14:56,680 --> 01:14:59,040 >> আজ আমাদের উদ্দেশ্য পূরণকল্পে, এর ঠিক আক্ষরিক দিন 1522 01:14:59,040 --> 01:15:02,700 তাদের বিন্দু মান ভাসমান করা একটি দশমিক বিন্দু, এই মত দিয়ে. 1523 01:15:02,700 --> 01:15:07,060 আমাকে এগিয়ে যান এবং পুন: প্রকাশ করা, অনির্দিষ্টতা, ভাল, বিন্দু স্ল্যাশ 1524 01:15:07,060 --> 01:15:08,870 অনির্দিষ্টতা, লিখুন. 1525 01:15:08,870 --> 01:15:10,990 ঠিক আছে, আমরা ভাল খুঁজছি. 1526 01:15:10,990 --> 01:15:18,194 >> 1, 10 দ্বারা বিভক্ত অনুযায়ী আমার ম্যাক এখানে, প্রকৃতপক্ষে, 0.100000 হয়. 1527 01:15:18,194 --> 01:15:21,360 এখন, আমি গ্রেড স্কুলে সেখানে শেখানো হয় 0 এর একটি অসীম সংখ্যা হতে হবে. 1528 01:15:21,360 --> 01:15:23,151 সুতরাং এর মধ্যে অন্তত চেষ্টা করা যাক যারা কিছু দেখতে. 1529 01:15:23,151 --> 01:15:26,770 এটা পরিনত হয় যে printf, একটি সামান্য কল্পনাকারী এখনও চেয়ে আমরা ব্যবহার করছি. 1530 01:15:26,770 --> 01:15:30,890 এটি সক্রিয় আউট আপনি উল্লেখ করতে হবে না শুধু শতাংশ চ, অথবা শুধু শতাংশ আমি. 1531 01:15:30,890 --> 01:15:33,830 আপনি আসলে নির্দিষ্ট করতে পারেন কিছু নিয়ন্ত্রণ এখানে অপশন. 1532 01:15:33,830 --> 01:15:36,470 >> বিশেষ করে, আমি যাচ্ছি বলে, আরে, printf 1533 01:15:36,470 --> 01:15:39,660 আসলে আমাকে 10 দশমিক পয়েন্ট দেন. 1534 01:15:39,660 --> 01:15:40,820 সুতরাং এটি একটি সামান্য অদ্ভুত দেখায়. 1535 01:15:40,820 --> 01:15:42,845 কিন্তু আপনি বলতে শতাংশ, বিন্দু, কত নম্বর 1536 01:15:42,845 --> 01:15:44,970 আপনি পরে দেখতে চাই দশমিক বিন্দু, এবং তারপর চ 1537 01:15:44,970 --> 01:15:48,340 ফ্ল্যাট জন্য মাত্র, কারণ যে কি ডকুমেন্টেশন বলছেন. 1538 01:15:48,340 --> 01:15:50,080 আমাকে এগিয়ে যান এবং যে সংরক্ষণ করুন. 1539 01:15:50,080 --> 01:15:52,460 >> এবং খুব বিজ্ঞপ্তি, আমি হচ্ছি কিছু পুনরায় টাইপ ক্লান্ত. 1540 01:15:52,460 --> 01:15:55,900 তাই আমি ঠিক স্থাপনের করছি এবং নিচে এখানে আমার চাবি উপর তীর. 1541 01:15:55,900 --> 01:15:58,710 আমি আপ আঘাত, তাহলে আপনি কমান্ড সব দেখতে পারেন 1542 01:15:58,710 --> 01:16:01,090 যে আমি তৈরি, বা ভুল করেছেন. 1543 01:16:01,090 --> 01:16:04,630 >> আর আমি এখন এগিয়ে যান যাচ্ছি এবং আসলে যে ব্যবহার করবেন, দৃশ্যত. 1544 01:16:04,630 --> 01:16:11,416 করুন অনির্দিষ্টতা, বিন্দু তাই imprecision-- স্ল্যাশ 1545 01:16:11,416 --> 01:16:13,290 কি আমি শেখানো হয় গ্রেড স্কুল আউট পরীক্ষা করা হবে. 1546 01:16:13,290 --> 01:16:19,010 এমনকি যদি আমি এটা 10 দশমিক মুদ্রণ এটি স্থান, প্রকৃতপক্ষে, 0,10000 হয়. 1547 01:16:19,010 --> 01:16:19,840 কিন্তু আপনি কি জানেন? 1548 01:16:19,840 --> 01:16:21,150 >> এর একটু লোভী হওয়া যাক. 1549 01:16:21,150 --> 01:16:23,990 এর কথা বলা, মত যাক, আমাকে 55 দেন দশমিক পর স্থানটিকে চিহ্নিত করে. 1550 01:16:23,990 --> 01:16:26,160 চলুন শুরু করা যাক সত্যিই এই নিতে একটি ঘূর্ণন জন্য আউট প্রোগ্রাম. 1551 01:16:26,160 --> 01:16:31,170 আমাকে না দিয়ে এটা পুনর্নির্মাণ করা যাক অনির্দিষ্টতা, বিন্দু স্ল্যাশ, অনির্দিষ্টতা. 1552 01:16:31,170 --> 01:16:32,390 >> আর এখানে আমরা যেতে. 1553 01:16:32,390 --> 01:16:34,420 আপনার শৈশব মিথ্যা ছিল. 1554 01:16:34,420 --> 01:16:48,410 দৃশ্যত, 1 10 দ্বারা বিভক্ত প্রকৃতপক্ষে 0.100000000000000005551115123-- 1555 01:16:48,410 --> 01:16:49,740 >> কি হচ্ছে? 1556 01:16:49,740 --> 01:16:53,360 আচ্ছা, এটি সক্রিয় আউট, যদি আপনি যে ধরনের পর্যন্ত যথেষ্ট অন্তর্নিহিত মধ্যে চক্ষু মেলিয়া 1557 01:16:53,360 --> 01:16:55,950 এই উপস্থাপনা সংখ্যা, এটা আসলে 1558 01:16:55,950 --> 01:17:00,400 না ঠিক 1/10, বা 0.1 এবং শূন্য অসীম সংখ্যা. 1559 01:17:00,400 --> 01:17:01,630 এখন, কেন এমন হল? 1560 01:17:01,630 --> 01:17:06,250 >> আচ্ছা, এমনকি যদিও এই একটি সহজ আমাদের মানুষের সংখ্যা, 1, 10 দ্বারা বিভক্ত 1561 01:17:06,250 --> 01:17:10,910 এটি এখনও অসীম অনেক এক সংখ্যার আমরা আপ মনে হতে পারে যে. 1562 01:17:10,910 --> 01:17:14,490 কিন্তু শুধুমাত্র একটি কম্পিউটার উপস্থাপন করতে পারেন finitely অনেক তাই নম্বর. 1563 01:17:14,490 --> 01:17:18,710 আর তাই, কার্যকরভাবে, কি কম্পিউটার দেখানো হয় আমাদের তার নিকটতম হয় 1564 01:17:18,710 --> 01:17:22,940 নম্বরে পড়তা আমরা বিশ্বাস করতে 1/10 চাই, 1565 01:17:22,940 --> 01:17:27,760 অথবা সত্যিই 0,10000 সীমাহীনভাবে. 1566 01:17:27,760 --> 01:17:30,425 >> বরং, যদিও, এই হল যেমন যেমন পেতে পারেন ঘনিষ্ঠ. 1567 01:17:30,425 --> 01:17:32,300 আর যদি তোমরা দেখুন ফণা নীচে, 1568 01:17:32,300 --> 01:17:37,050 আমরা এখানে খুঁজছেন দ্বারা হিসাবে দশমিক পর 55 ডিজিটের, 1569 01:17:37,050 --> 01:17:39,990 আসলে আমরা যে বাস্তবতা দেখতে. 1570 01:17:39,990 --> 01:17:42,610 এখন একটি সরাইয়া হিসাবে, যদি আপনি করেছি কি movie-- দেখা 1571 01:17:42,610 --> 01:17:45,780 আপনি অধিকাংশ সম্ভবত haven't-- কিন্তু সুপারম্যান 3 কিছু বছর আগে, 1572 01:17:45,780 --> 01:17:49,500 রিচার্ড PRYOR মূলত এই leveraged তার কোম্পানির মধ্যে বাস্তবতা অনেক চুরি করা 1573 01:17:49,500 --> 01:17:53,500 ভগ্নাংশ এবং পেনিসমূহ ভগ্নাংশ, কারণ company-- আমি প্রত্যাহার হিসাবে, 1574 01:17:53,500 --> 01:17:57,210 এটা while-- মূলত ছিল একটি হয়েছে দূরে কিছু নিক্ষেপ মাপসই করা হয়নি যে 1575 01:17:57,210 --> 01:17:58,790 সেন্ট ধারণা মধ্যে. 1576 01:17:58,790 --> 01:18:01,480 >> কিন্তু আপনি পর্যন্ত যোগ করতে হলে এই সব অতি ক্ষুদ্র, অতি ক্ষুদ্র, ক্ষুদ্র আবার নম্বর, 1577 01:18:01,480 --> 01:18:04,960 এবং আবার, এবং আবার, আপনি যেমন পারেন, তার ক্ষেত্রে, অর্থের একটি ভাল পরিমাণ করা. 1578 01:18:04,960 --> 01:18:08,010 >> সেই ধারণা দ্বারা ripped বন্ধ ছিল আরো সাম্প্রতিক, কিন্তু এখনও পুরোনো 1579 01:18:08,010 --> 01:18:10,500 সিনেমা, অফিস স্পেস ডেকে যেখানে যে সিনেমা বলছি, 1580 01:18:10,500 --> 01:18:13,501 একই জিনিস করেনি এটা মাতাল আপ সম্পূর্ণরূপে, অত্যধিক উপায় সঙ্গে শেষ পর্যন্ত 1581 01:18:13,501 --> 01:18:14,666 তাদের ব্যাংক একাউন্টে টাকা. 1582 01:18:14,666 --> 01:18:15,800 এটা সব খুব সন্দেহজনক ছিল. 1583 01:18:15,800 --> 01:18:19,290 কিন্তু দিনের শেষে, অনির্দিষ্টতা সব আমাদের চারপাশে হয়. 1584 01:18:19,290 --> 01:18:22,240 >> আর যে, খুব, হতে পারে যদি প্রচন্ড. 1585 01:18:22,240 --> 01:18:25,590 এটা পরিনত হয় যে সুপারম্যান 3 এবং অফিস স্পেস সরাইয়া, সেখানে 1586 01:18:25,590 --> 01:18:28,460 কিছু খুব বাস্তব হতে পারে বিশ্বের গার্গল 1587 01:18:28,460 --> 01:18:32,290 যথাযথ নয় এমন বাস্তবতার এর তথ্য উপস্থাপনা 1588 01:18:32,290 --> 01:18:34,770 এমনকি আমরা মানুষের এই দিন অগত্যা না 1589 01:18:34,770 --> 01:18:38,230 সেইসাথে আমরা উচিত বুঝতে, অথবা হিসাবে প্রায়ই হিসাবে আমরা মনে রাখবেন. 1590 01:18:38,230 --> 01:18:42,950 এবং প্রকৃতপক্ষে, নিম্নলিখিত ক্লিপ কিছু খুব বাস্তব বিশ্বের কটাক্ষপাত থেকে 1591 01:18:42,950 --> 01:18:47,730 কি যদি আপনি এরকম গার্গল অনির্দিষ্টতা প্রশংসা না করে 1592 01:18:47,730 --> 01:18:50,065 সংখ্যা প্রতিনিধিত্ব ঘটতে পারে. 1593 01:18:50,065 --> 01:18:51,300 >> [ভিডিও প্লেব্যাক] 1594 01:18:51,300 --> 01:18:55,620 >> -Computers, আমরা সব স্বীকার করতে এসেছ প্রায়ই হতাশাজনক সমস্যা 1595 01:18:55,620 --> 01:19:00,310 them-- বাগ সঙ্গে যেতে, ভাইরাস, সফ্টওয়্যার এবং glitches, 1596 01:19:00,310 --> 01:19:03,130 ছোট মূল্য পরিশোধ করার জন্য সুবিধার জন্য. 1597 01:19:03,130 --> 01:19:07,800 কিন্তু উচ্চ প্রযুক্তির এবং উচ্চ গতি সামরিক এবং স্থান অ্যাপ্লিকেশন প্রোগ্রাম, 1598 01:19:07,800 --> 01:19:12,800 ক্ষুদ্রতম সমস্যা পারেন দুর্যোগ মধ্যে বিবর্ধিত করা. 1599 01:19:12,800 --> 01:19:18,900 >> জুন 4th, 1996 তারিখে, বিজ্ঞানীদের প্রস্তুত একটি জনহীন Ariane 5 রকেট আরম্ভ করার জন্য. 1600 01:19:18,900 --> 01:19:21,220 এটা বৈজ্ঞানিক বহন করেন উপগ্রহ ডিজাইন 1601 01:19:21,220 --> 01:19:24,600 অবিকল কিভাবে প্রতিষ্ঠা করা পৃথিবীর চৌম্বক ক্ষেত্র মিথস্ক্রিয়া 1602 01:19:24,600 --> 01:19:27,410 সৌর বায়ু সাথে. 1603 01:19:27,410 --> 01:19:30,800 রকেট জন্য নির্মিত হয়েছিল ইউরোপিয়ান স্পেস এজেন্সি 1604 01:19:30,800 --> 01:19:34,370 এবং তার সুবিধা থেকে উত্ক্ষিপ্ত বন্ধ ফরাসি গায়ানা উপকূলে. 1605 01:19:34,370 --> 01:19:37,540 >> মধ্যে প্রায় 37 সেকেন্ড -এ ফ্লাইট, তারা প্রথম 1606 01:19:37,540 --> 01:19:39,270 খেয়াল কিছু ভুল ছিল. 1607 01:19:39,270 --> 01:19:42,250 অগ্রভাগ মধ্যে swiveling হয়েছে একটি উপায় তারা সত্যিই না করা উচিত. 1608 01:19:42,250 --> 01:19:46,580 ফ্লাইট মধ্যে 40 সেকেন্ড প্রায়, পরিষ্কারভাবে, গাড়ির বিপদে পড়লেন. 1609 01:19:46,580 --> 01:19:48,850 >> আর যখন তারা গঠিত একটি সিদ্ধান্ত এটি ধ্বংস করা. 1610 01:19:48,850 --> 01:19:52,780 পরিসীমা নিরাপত্তা কর্মকর্তা, সঙ্গে অসাধারণ সাহস, বাটন টেপা, 1611 01:19:52,780 --> 01:19:58,150 , রকেট উড়িয়ে সামনে এটা পারা জননিরাপত্তা একটি বিপত্তি হয়ে. 1612 01:19:58,150 --> 01:20:01,060 >> -এই প্রথম ছিল Ariane 5 সমুদ্রযাত্রা. 1613 01:20:01,060 --> 01:20:03,960 ও তার ধ্বংসের গ্রহণ একটি ত্রুটি কারণে স্থান 1614 01:20:03,960 --> 01:20:05,822 রকেট এর সফ্টওয়্যার এমবেড. 1615 01:20:05,822 --> 01:20:08,280 -Ariane সমস্যার ছিল সেখানে একটি সংখ্যা ছিল যে 1616 01:20:08,280 --> 01:20:10,600 প্রকাশ করার 64 বিট প্রয়োজন. 1617 01:20:10,600 --> 01:20:13,590 এবং তারা রূপান্তর চেয়েছিলেন একটি 16 বিট সংখ্যা এটি. 1618 01:20:13,590 --> 01:20:15,610 তারা ধরেই নিয়েছিল, সংখ্যা কখনোই যাচ্ছিল 1619 01:20:15,610 --> 01:20:20,980 , খুব বড় হবে সেই অধিকাংশই ছিল একটি 64 বিট সংখ্যা ডিজিটের শূন্যর ছিল. 1620 01:20:20,980 --> 01:20:22,440 তারা ভুল ছিল. 1621 01:20:22,440 --> 01:20:25,060 >> এক স্বয়ংক্রিয়ভাবে অক্ষমতা সফ্টওয়্যার প্রোগ্রাম গ্রহণ করতে 1622 01:20:25,060 --> 01:20:29,510 সংখ্যা ধরনের দ্বারা উত্পন্ন আরেকটি ব্যর্থতার মূলে ছিল. 1623 01:20:29,510 --> 01:20:34,350 সফটওয়্যার উন্নয়ন হয়ে উঠেছে একটি নতুন প্রযুক্তির খুব ব্যয়বহুল অংশ. 1624 01:20:34,350 --> 01:20:38,140 Ariane তে রকেট খুব হয়েছে সফল, তাই সফ্টওয়্যার অনেক 1625 01:20:38,140 --> 01:20:41,550 সৃষ্টি এটি ছিল জন্য Ariane 5 ব্যবহৃত. 1626 01:20:41,550 --> 01:20:47,940 >> স্বয়ংক্রিয়ভাবে মৌলিক সমস্যা যে Ariane ছিল 5, দ্রুত ছিল দ্রুত ত্বরিত. 1627 01:20:47,940 --> 01:20:51,450 সফ্টওয়্যার এবং না ছিল যে জন্য দায়ী. 1628 01:20:51,450 --> 01:20:55,060 >> রকেট ধ্বংস বিপুল আর্থিক দুর্যোগ ছিল, 1629 01:20:55,060 --> 01:20:58,790 সব একটি মিনিট সফ্টওয়্যার ত্রুটির কারণে. 1630 01:20:58,790 --> 01:21:01,210 কিন্তু এই প্রথম ছিল না সময় তথ্য রূপান্তর সমস্যা 1631 01:21:01,210 --> 01:21:04,820 আধুনিক প্রযুক্তি রকেট জর্জরিত ছিল. 1632 01:21:04,820 --> 01:21:08,050 >> বিলিয়ে 1991, শুরুর সঙ্গে প্রথম উপসাগরীয় যুদ্ধের, 1633 01:21:08,050 --> 01:21:10,570 প্যাট্রিয়ট ক্ষেপণাস্ত্র একই ধরনের অভিজ্ঞতা 1634 01:21:10,570 --> 01:21:12,800 নম্বর রূপান্তর সমস্যা. 1635 01:21:12,800 --> 01:21:16,090 এবং এর ফলে, 28 মানুষ, 28 আমেরিকান সৈন্য, 1636 01:21:16,090 --> 01:21:19,080 হত্যা করা হয়েছে, এবং সম্পর্কে 100 জন আহত হয়েছে 1637 01:21:19,080 --> 01:21:22,780 যখন দেশভক্ত, যা অনুমিত ছিল অন্তর্মুখী Scuds রক্ষা করার জন্য, 1638 01:21:22,780 --> 01:21:25,830 একটি ক্ষেপণাস্ত্র জ্বালান ব্যর্থ হয়েছে. 1639 01:21:25,830 --> 01:21:31,670 >> -When ইরাক কুয়েত, আক্রমণ করে এবং আমেরিকা গোড়ার দিকে 1991 মরুভূমি ঝড় চালু, 1640 01:21:31,670 --> 01:21:35,780 প্যাট্রিয়ট মিসাইল ব্যাটারি মোতায়েন করা হয়েছে সৌদি আরব ও ইসরাইল রক্ষা করার জন্য 1641 01:21:35,780 --> 01:21:39,230 ইরাকের স্কাড ক্ষেপণাস্ত্র হামলা থেকে. 1642 01:21:39,230 --> 01:21:43,810 দেশভক্ত একটি মার্কিন মাঝারি পরিসীমা বায়ু সিস্টেম পৃষ্ঠ, শিল্পজাত 1643 01:21:43,810 --> 01:21:45,770 RAYTHEON কোম্পানি দ্বারা. 1644 01:21:45,770 --> 01:21:52,340 >> প্যাট্রিয়ট আটককারী স্বয়ংক্রিয়ভাবে আকার নিজেই সম্বন্ধে প্রায় 20 ফুট দীর্ঘ. 1645 01:21:52,340 --> 01:21:55,230 এবং এটি প্রায় 2,000 পাউন্ড weighs. 1646 01:21:55,230 --> 01:21:59,320 এবং এটা সম্পর্কে একটি টরপেডো বহন আমার মনে হয় এটা প্রায় 150 পাউন্ড. 1647 01:21:59,320 --> 01:22:03,930 এবং টরপেডো নিজেই একটি উচ্চ বিস্ফোরক, যা 1648 01:22:03,930 --> 01:22:07,330 এটি প্রায় টুকরা. 1649 01:22:07,330 --> 01:22:11,680 টরপেডো এর আবরণ হল ছর্রা ভালো কাজ করার জন্য ডিজাইন করা. 1650 01:22:11,680 --> 01:22:14,110 >> স্বয়ংক্রিয়ভাবে মিসাইল বহন করছে ধারক প্রতি চার, 1651 01:22:14,110 --> 01:22:17,130 এবং একটি আধা ট্রেলার দ্বারা পরিবাহিত হয়. 1652 01:22:17,130 --> 01:22:24,930 >> স্বয়ংক্রিয়ভাবে দেশভক্ত বিরোধী মিসাইল সিস্টেম অন্তত 20 বছর এখন ফিরে যায়. 1653 01:22:24,930 --> 01:22:28,420 এটা মূলত পরিকল্পনা করা হয়েছিল একটি বিমান প্রতিরক্ষা ক্ষেপণাস্ত্র হিসাবে 1654 01:22:28,420 --> 01:22:30,720 নিচে শত্রু এ্যারোপ্লেনের অঙ্কুর. 1655 01:22:30,720 --> 01:22:34,500 প্রথম উপসাগরীয় যুদ্ধে, যখন যে যুদ্ধ বরাবর এসেছেন, 1656 01:22:34,500 --> 01:22:39,745 আর্মি করার জন্য এটি ব্যবহার করতে চেয়েছিলেন নিচে Scuds, না এ্যারোপ্লেনের অঙ্কুর. 1657 01:22:39,745 --> 01:22:43,620 >> ইরাকি এয়ার ফোর্স ছিল একটি সমস্যা, তাই অনেক না. 1658 01:22:43,620 --> 01:22:46,670 কিন্তু আর্মি Scuds সম্পর্কে চিন্তিত ছিলাম. 1659 01:22:46,670 --> 01:22:50,170 তাই তারা চেষ্টা করে দেশভক্ত আপগ্রেড. 1660 01:22:50,170 --> 01:22:52,800 >> শত্রু -Intercepting ক্ষেপণাস্ত্র মাপক 5 এ ভ্রমণ 1661 01:22:52,800 --> 01:22:55,830 যথেষ্ট চ্যালেঞ্জিং হতে যাচ্ছিলেন. 1662 01:22:55,830 --> 01:22:58,490 কিন্তু যখন দেশভক্ত সেবা মধ্যে rushed ছিল, 1663 01:22:58,490 --> 01:23:02,860 সেনাবাহিনীর একটি সচেতন ছিল না ইরাকি পরিবর্ধনের যে তৈরি 1664 01:23:02,860 --> 01:23:05,930 তাদের Scuds প্রায় অসম্ভব আঘাত. 1665 01:23:05,930 --> 01:23:10,740 >> -কি ঘটেছে Scuds যে আসছে ছিল অস্থির. 1666 01:23:10,740 --> 01:23:11,692 তারা wobbling হয়. 1667 01:23:11,692 --> 01:23:14,910 এই জন্য কারণ ছিল ইরাকী অনুক্রমে, 1668 01:23:14,910 --> 01:23:18,280 600 কিলোমিটার পেতে একটি 300 কিলোমিটার বাইরে 1669 01:23:18,280 --> 01:23:21,700 পরিসীমা ক্ষেপণাস্ত্র, ওজন গ্রহণ সামনে টরপেডো আউট. 1670 01:23:21,700 --> 01:23:23,390 তারা warhead লাইটার প্রণীত. 1671 01:23:23,390 --> 01:23:27,330 >> তাই এখন দেশভক্ত হয় ছুটিয়া চলা এ আসার চেষ্টা করছেন. 1672 01:23:27,330 --> 01:23:30,230 আর বেশির ভাগ সময়ে, সময় অপ্রতিরোধ্য সংখ্যাগুরু, 1673 01:23:30,230 --> 01:23:32,940 এটা শুধু ছুটিয়া চলা দ্বারা উড়ে আসা হবে. 1674 01:23:32,940 --> 01:23:37,260 একবার দেশভক্ত সিস্টেম অপারেটরদের দেশভক্ত প্রতীত তার টার্গেট মিস, 1675 01:23:37,260 --> 01:23:41,690 তারা দেশভক্ত এর টরপেডো detonated যদি এটা সম্ভব হতাহতের ঘটনা এড়াতে 1676 01:23:41,690 --> 01:23:44,570 মাটিতে পড়ে যেতে অনুমতি প্রদান করা হয়. 1677 01:23:44,570 --> 01:23:48,790 >> অধিকাংশ মানুষ কি দেখে -যে ছিল, আকাশে ঐ বড় fireballs, 1678 01:23:48,790 --> 01:23:54,550 এবং যেমন অনেকেই ভুল বুঝে ভাবেন স্কাড ক্ষেপণাস্ত্র এর বিবৃতি. 1679 01:23:54,550 --> 01:23:56,630 >> রাতে -Although আকাশ, প্যাট্রিয়টস হাজির 1680 01:23:56,630 --> 01:24:00,370 সাফল্যের সাথে ব্যবহার করা থেকে Scuds অন্তক, Dhahran এ, 1681 01:24:00,370 --> 01:24:03,360 কোন ভুল হতে পারে তার কর্মক্ষমতা সম্পর্কে. 1682 01:24:03,360 --> 01:24:07,970 দেশভক্ত এর রাডার সিস্টেম একটি অন্তর্মুখী ছুটিয়া চলা ট্র্যাক হারিয়ে ফেলেন, 1683 01:24:07,970 --> 01:24:10,721 এবং কারণে চালু একটি সফ্টওয়্যার খুঁত. 1684 01:24:10,721 --> 01:24:14,090 1685 01:24:14,090 --> 01:24:18,940 এটা প্রথম আবিষ্কৃত যারা ইজরায়েলের ছিল যে আর সিস্টেম ছিল, 1686 01:24:18,940 --> 01:24:22,690 বৃহত্তর সময় অমিল হয়ে ওঠে, অথবা একটি ঘড়ি এমবেডেড কারণে 1687 01:24:22,690 --> 01:24:24,810 কম্পিউটার সিস্টেম এর মধ্যে. 1688 01:24:24,810 --> 01:24:28,210 >> -About দুই সপ্তাহ আগে দাহরান এ বিয়োগান্ত নাটক, 1689 01:24:28,210 --> 01:24:30,770 ইজরায়েলের রিপোর্ট প্রতিরক্ষা মন্ত্রক 1690 01:24:30,770 --> 01:24:32,590 যে সিস্টেমের সময় হারানো ছিল. 1691 01:24:32,590 --> 01:24:35,360 প্রায় আট ঘণ্টা বা চলমান পরে, তারা সিস্টেম যে খেয়াল 1692 01:24:35,360 --> 01:24:37,720 লক্ষণীয়ভাবে কম হয়ে উঠছে সঠিক ছিল. 1693 01:24:37,720 --> 01:24:41,900 প্রতিরক্ষা মন্ত্রক দ্বারা প্রতিক্রিয়া প্যাট্রিয়ট ব্যাটারি সমস্ত কহন 1694 01:24:41,900 --> 01:24:44,950 সিস্টেম ছেড়ে চলে যেতে না একটি দীর্ঘ সময়ের জন্য. 1695 01:24:44,950 --> 01:24:49,160 তারা বলল কি একটি দীর্ঘ সময় কখনো was-- আট ঘন্টা, 10 ঘন্টা, 1,000 ঘন্টা. 1696 01:24:49,160 --> 01:24:51,360 কেউ জানতো. 1697 01:24:51,360 --> 01:24:53,380 >> স্বয়ংক্রিয়ভাবে প্যাট্রিয়ট ব্যাটারি ব্যারাকে এ সংস্থিত 1698 01:24:53,380 --> 01:24:58,350 দাহরান এবং তার দ্বিধান্বিত অভ্যন্তরীণ এ ঘড়ি 100 ঘন্টার উপর হয়েছে 1699 01:24:58,350 --> 01:25:01,670 ফেব্রুয়ারি 25th রাতে. 1700 01:25:01,670 --> 01:25:05,917 >> -এটা একটি নির্ভুলতা সময় অনুসরণ করা একটি সেকেন্ডের দশ ভাগের এক ভাগ সম্পর্কে. 1701 01:25:05,917 --> 01:25:08,000 এখন, এক সেকেন্ডের দশ ভাগের এক ভাগ একটি আকর্ষণীয় নম্বর, 1702 01:25:08,000 --> 01:25:11,920 কারণ এটা প্রকাশ করা যাবে না বাইনারি ঠিক, যা 1703 01:25:11,920 --> 01:25:16,820 এটা ঠিক প্রকাশ করা যাবে না মানে কোনো আধুনিক ডিজিটাল কম্পিউটার. 1704 01:25:16,820 --> 01:25:18,540 এটা বিশ্বাস করা কঠিন. 1705 01:25:18,540 --> 01:25:21,210 >> কিন্তু একটি উদাহরণ হিসাবে ব্যবহার. 1706 01:25:21,210 --> 01:25:23,540 এর সংখ্যা এক তৃতীয়াংশ যাক. 1707 01:25:23,540 --> 01:25:27,350 এক তৃতীয়াংশ হতে পারে না ঠিক দশমিক প্রকাশ. 1708 01:25:27,350 --> 01:25:32,080 এক তৃতীয়াংশ 0,333 হয় অনন্ত জন্য যাওয়া. 1709 01:25:32,080 --> 01:25:36,480 >> সঙ্গে যে কি কোন উপায় নেই দশমিক পরম সঠিকতা. 1710 01:25:36,480 --> 01:25:39,560 যে ঠিক সমস্যা ধরনের যে দেশভক্ত ঘটেছে. 1711 01:25:39,560 --> 01:25:44,100 আর সিস্টেম, দৌড়ে খারাপ সময় ত্রুটি হয়ে ওঠে. 1712 01:25:44,100 --> 01:25:48,890 >> অপারেশন 100 ঘন্টা -After, সময় সময় মাত্র এক তৃতীয়াংশ 1713 01:25:48,890 --> 01:25:50,600 এক সেকেন্ডের. 1714 01:25:50,600 --> 01:25:54,210 কিন্তু একটি লক্ষ্য করে শর্তাদি ক্ষেপণাস্ত্র মাপক 5 এ ভ্রমণ, 1715 01:25:54,210 --> 01:25:58,710 এটা একটি ট্র্যাকিং ফলাফল 600 মিটার ত্রুটি. 1716 01:25:58,710 --> 01:26:02,120 এটা একটা মারাত্মক ভুল হবে কি সৈন্যদের জন্য 1717 01:26:02,120 --> 01:26:08,940 ঘটেছে একটি Scud প্রবর্তন করে স্মরণীয় হয়ে আছেন গোড়ার দিকে সতর্কতা উপগ্রহ দ্বারা সনাক্ত 1718 01:26:08,940 --> 01:26:12,860 এবং তারা জানত য়ে ছুটিয়া চলা ছিল তাদের সাধারণ দিক আসছে. 1719 01:26:12,860 --> 01:26:15,320 তারা জানেন না যেখানে এটা আসছিলেন. 1720 01:26:15,320 --> 01:26:18,250 >> -এটা এখন রাডার ছিল আপ দেশভক্ত সিস্টেম কম্পোনেন্ট 1721 01:26:18,250 --> 01:26:23,190 রক্ষার দাহরান সনাক্ত এবং রাখা আগত শত্রু ক্ষেপণাস্ত্র ট্র্যাক. 1722 01:26:23,190 --> 01:26:24,609 >> স্বয়ংক্রিয়ভাবে রাডার খুব স্মার্ট ছিল. 1723 01:26:24,609 --> 01:26:26,650 এটা আসলে ট্র্যাক করবে ছুটিয়া চলা অবস্থান, 1724 01:26:26,650 --> 01:26:30,350 এবং তারপর ভবিষ্যদ্বাণী যেখানে এটা সম্ভবত পরবর্তী সময় রাডার পাঠানো হবে 1725 01:26:30,350 --> 01:26:31,420 একটি আউট কেবল শাক-সব্জি. 1726 01:26:31,420 --> 01:26:33,110 যে একটি পরিসীমা গেট বলা ছিল. 1727 01:26:33,110 --> 01:26:37,660 >> -Then, একবার দেশভক্ত সিদ্ধান্ত নেয় যথেষ্ট সময় হয়েছে 1728 01:26:37,660 --> 01:26:42,450 ফিরে যান এবং পরবর্তী পরীক্ষা প্রেরণ এই শনাক্ত বস্তুর জন্য অবস্থান, 1729 01:26:42,450 --> 01:26:43,600 এটা ফিরে যায়. 1730 01:26:43,600 --> 01:26:48,650 অনন্তর যখন তা অদৃশ্য হয়ে ফিরে গেলেন জায়গা, এটা তাহলে কোন বস্তু দেখেন. 1731 01:26:48,650 --> 01:26:52,160 আর এটা করার সিদ্ধান্ত নেয় যে সেখানে বস্তু, এটি একটি মিথ্যা সনাক্তকরণ, 1732 01:26:52,160 --> 01:26:53,930 এবং ট্র্যাক ড্রপ. 1733 01:26:53,930 --> 01:26:57,030 >> স্বয়ংক্রিয়ভাবে অন্তর্মুখী ছুটিয়া চলা অদৃশ্য রাডার স্ক্রিন থেকে. 1734 01:26:57,030 --> 01:27:00,260 যাও এবং পরে, এটা ব্যারাকে মধ্যে slammed. 1735 01:27:00,260 --> 01:27:06,150 ছুটিয়া চলা 28 নিহত, এবং শেষ পরিবর্তন হয়েছিল এক প্রথম উপসাগরীয় যুদ্ধের সময় বহিস্কার. 1736 01:27:06,150 --> 01:27:11,960 >> ঘটনাবহুল, আপডেট সফ্টওয়্যার পরের দিন আগত Dhahran এ. 1737 01:27:11,960 --> 01:27:14,930 সফ্টওয়্যার খুঁত ছিল হয়েছে সংশোধন করা হয়েছে, বন্ধের 1738 01:27:14,930 --> 01:27:19,806 অস্থির এক অধ্যায়ের প্যাট্রিয়ট ক্ষেপণাস্ত্র ইতিহাস. 1739 01:27:19,806 --> 01:27:20,729 >> [ভিডিও প্লেব্যাক] 1740 01:27:20,729 --> 01:27:23,520 ডেভিড জে MALAN: সুতরাং এই সব হয় বলতে ওভারফ্লো এই সমস্যা যে 1741 01:27:23,520 --> 01:27:25,860 এবং অনির্দিষ্টতা সব খুব বাস্তব হয়. 1742 01:27:25,860 --> 01:27:26,920 তাই কিভাবে আমরা এখানে কি পেতে পারি? 1743 01:27:26,920 --> 01:27:28,895 আমরা ঠিক printf সম্পর্কে কথা বলা শুরু করেন. 1744 01:27:28,895 --> 01:27:31,270 আবার, এই যে ফাংশন পর্দায় কিছু ছাপে, 1745 01:27:31,270 --> 01:27:33,450 এবং আমরা তারপরে চালু কয়েক অন্যান্য কার্যাবলী 1746 01:27:33,450 --> 01:27:34,945 তথাকথিত CS50 এর লাইব্রেরি থেকে. 1747 01:27:34,945 --> 01:27:36,910 এবং আমরা চালিয়ে যাব যথাসময়ে এসব দেখতে. 1748 01:27:36,910 --> 01:27:40,760 আর আমরা, বিশেষ করে, স্ট্রিং, ব্যবহৃত এবং int- পেতে, এবং এখন ভাসা পেতে, 1749 01:27:40,760 --> 01:27:44,410 এবং এখনো অন্যদের এখনও আমরা সম্মুখীন হবে এবং নিজেদেরকে দীর্ঘ আগে ব্যবহার করুন. 1750 01:27:44,410 --> 01:27:47,220 >> কিন্তু অনুষ্ঠানে, আছে আমরা ইতিমধ্যে একটি প্রয়োজন দেখা 1751 01:27:47,220 --> 01:27:50,520 কি যারা ফাংশন হাত ফিরে সঞ্চয় করতে? 1752 01:27:50,520 --> 01:27:52,920 তারা আমাদের পিছনে একটি স্ট্রিং হাতে, বা কোন int, বা একটি float. 1753 01:27:52,920 --> 01:27:56,070 এবং কখনও কখনও আমরা যে লাগাতে হবে স্ট্রিং, বা কোন int, বা ভাসা, কোথাও. 1754 01:27:56,070 --> 01:28:00,100 >> আর ঐ জিনিষ সংরক্ষণ করতে, শুধু প্রত্যাহার ভূত মত, আমরা ভেরিয়েবল আছে. 1755 01:28:00,100 --> 01:28:03,260 কিন্তু ভূত অসদৃশ, সি আমরা প্রকৃত ধরনের আছে 1756 01:28:03,260 --> 01:28:05,530 variables-- তথ্য ধরনের, আরো সাধারণভাবে 1757 01:28:05,530 --> 01:28:08,640 তাদের মধ্যে, একটি পংক্তি, কোন int, একটি ভাসা, এবং এই অন্যদের এখনও. 1758 01:28:08,640 --> 01:28:12,321 >> আর তাই যখন আমরা সি ভেরিয়েবল ডিক্লেয়ার, আমরা আমাদের তথ্য ধরনের ঘোষণা করতে হবে. 1759 01:28:12,321 --> 01:28:14,820 এইটি এমন কিছু বিষয় নয় আমরা করব সেমিস্টারে পরে যা করতে হবে 1760 01:28:14,820 --> 01:28:16,810 যেমন আমরা অন্য ভাষায় রূপান্তর. 1761 01:28:16,810 --> 01:28:19,610 কিন্তু এখন জন্য, আমরা প্রয়োজন আগাম অবরোহী করতে, 1762 01:28:19,610 --> 01:28:24,370 কম্পিউটার কি ধরনের ব্যাখ্যা পরিবর্তনশীল এর আমরা এটা আমাদের দিতে চান. 1763 01:28:24,370 --> 01:28:27,290 >> এখন এদিকে, প্রিন্ট করতে ডেটা প্রকার ঐ ধরণের, 1764 01:28:27,290 --> 01:28:29,570 আমরা বলতে printf থেকে কি আশা আছে. 1765 01:28:29,570 --> 01:28:32,450 আর আমরা স্ট্রিং জন্য শতাংশ গুলি দেখেছি, এবং পূর্ণসংখ্যার জন্য শতাংশ আমি, 1766 01:28:32,450 --> 01:28:33,790 এবং কয়েক ইতিমধ্যে অন্যদের. 1767 01:28:33,790 --> 01:28:37,237 আর সেই কেবল প্রয়োজনীয়তা আছে চাক্ষুষ উপস্থাপনা জন্য 1768 01:28:37,237 --> 01:28:38,070 যে তথ্য. 1769 01:28:38,070 --> 01:28:42,080 >> এবং এই প্রতিটি আসলে হতে পারে parametrized বা কোনোভাবে tweaked, 1770 01:28:42,080 --> 01:28:45,370 আপনি নিয়ন্ত্রণ আরও করতে চান তাহলে আউটপুট ধরণ যে আপনি পেতে. 1771 01:28:45,370 --> 01:28:49,604 এবং, আসলে, এটা জানতে না যে শুধুমাত্র সক্রিয় সেখানে একটি নতুন লাইন জন্য ব্যাকস্ল্যাশ এন হয়. 1772 01:28:49,604 --> 01:28:52,520 সেখানে অন্য কিছু ব্যাকস্ল্যাশ নামক একটি গাড়ি ফেরত, জন্য R যা 1773 01:28:52,520 --> 01:28:54,360 একটি থেকে আরো সদৃশ পুরানো স্কুল টাইপরাইটার, 1774 01:28:54,360 --> 01:28:57,690 এবং উইন্ডোজ অনেক বছর জন্য ব্যবহৃত. 1775 01:28:57,690 --> 01:28:59,690 >> সেখানে ট্যাব জন্য ব্যাকস্ল্যাশ T 'র. 1776 01:28:59,690 --> 01:29:03,170 দেখা যাচ্ছে যে, যদি আপনি করতে চান একটি স্ট্রিং এর ভিতরে ডবল কোট, 1777 01:29:03,170 --> 01:29:05,000 রিকল যে আমরা ব্যবহার করেছি ডবল উদ্ধৃতি ডবল 1778 01:29:05,000 --> 01:29:07,900 বাম এবং ডান উপর উদ্ধৃতি এ পর্যন্ত আমাদের স্ট্রিং শেষ. 1779 01:29:07,900 --> 01:29:09,420 যে জিনিস গুলান মনে হবে. 1780 01:29:09,420 --> 01:29:12,503 >> আপনি একটি ডবল উদ্ধৃতি লাগাতে চান তাহলে একটি স্ট্রিং এবং প্রকৃতপক্ষে মাঝখানে, 1781 01:29:12,503 --> 01:29:13,670 এটি দেখতে বিভ্রান্তিকর. 1782 01:29:13,670 --> 01:29:17,120 এবং যাতে আপনি অব্যাহতি আছে, তাই কথা বলতে, কিছু সঙ্গে একটি ডবল উদ্ধৃতি 1783 01:29:17,120 --> 01:29:18,860 মত, আক্ষরিক, ডবল উদ্ধৃতি ব্যাকস্ল্যাশ. 1784 01:29:18,860 --> 01:29:20,230 এবং আরো কিছু এখনও. 1785 01:29:20,230 --> 01:29:24,540 আর আমরা যারা আরো দেখতে পাবেন দীর্ঘ আগে প্রকৃত ব্যবহারের মধ্যে. 1786 01:29:24,540 --> 01:29:27,930 >> তাই আসুন এখন থেকে রূপান্তরটি দিন তথ্য, এবং উপস্থাপনা, 1787 01:29:27,930 --> 01:29:30,820 এবং গাণিতিক অপারেটর, সব যা আমাদের কিছু ভবন দিয়েছেন 1788 01:29:30,820 --> 01:29:32,070 যা দিয়ে ব্লক খেলতে. 1789 01:29:32,070 --> 01:29:34,481 কিন্তু এখন এর আসলে দেত্তয়া আমাদের শব্দভান্ডার বাকি 1790 01:29:34,481 --> 01:29:36,230 আমরা ইতিমধ্যে ছিল যে ভূত সঙ্গে গত সপ্তাহে 1791 01:29:36,230 --> 01:29:39,350 অন্য কিছু কটাক্ষপাত গ্রহণ দ্বারা সি এ নির্মান না তাদের সব. 1792 01:29:39,350 --> 01:29:41,680 কিন্তু ধারনা আমরা করছি সম্পর্কে সত্যিই শুধু দেখতে 1793 01:29:41,680 --> 01:29:45,610 থেকে অনুবাদ জোর দেওয়া এক ভাষা, ভূত, অন্যজনকে সি 1794 01:29:45,610 --> 01:29:48,470 >> এবং সময়ের সাথে আমরা তুলে নেব আমাদের টুলকিট জন্য আরও টুল, 1795 01:29:48,470 --> 01:29:49,820 তাই কথা বলতে, সিনট্যাক্স. 1796 01:29:49,820 --> 01:29:54,190 এবং প্রকৃতপক্ষে, আপনি যে ধারনা দেখতে পাবেন এখন বরং গত সপ্তাহ থেকে পরিচিত. 1797 01:29:54,190 --> 01:29:55,200 তাই এই কাজ করতে দিন. 1798 01:29:55,200 --> 01:29:58,870 >> এর এগিয়ে যান এবং একটি প্রোগ্রাম পিটান যাক যে আসলে কিছু এক্সপ্রেশন ব্যবহার করে, 1799 01:29:58,870 --> 01:30:00,720 একটি বুলিয়ান অভিব্যক্তি. 1800 01:30:00,720 --> 01:30:02,810 আমাকে এগিয়ে যেতে এখানে আসুন এবং একটি নতুন ফাইল তৈরি করুন. 1801 01:30:02,810 --> 01:30:06,090 আমি এই condition.c ডাকবো. 1802 01:30:06,090 --> 01:30:09,350 >> আমাকে এগিয়ে যান এবং CS50 লাইব্রেরি অন্তর্ভুক্ত. 1803 01:30:09,350 --> 01:30:12,640 এবং আমাকে এগিয়ে যান এবং অন্তর্ভুক্ত যাক আমাদের ফাংশন জন্য মান io.h, 1804 01:30:12,640 --> 01:30:14,690 এবং printf, এবং আরো যথাক্রমে. 1805 01:30:14,690 --> 01:30:18,900 আমাকে নিজে থেকে যে boilerplate, দিই int প্রধান অকার্যকর, যার ব্যাখ্যা আমরা করব 1806 01:30:18,900 --> 01:30:20,360 ভবিষ্যতে ফিরে আসা. 1807 01:30:20,360 --> 01:30:23,820 >> এখন আমাকে এগিয়ে যান এবং দেত্তয়া নিজেকে পেতে int- মাধ্যমে কোন int. 1808 01:30:23,820 --> 01:30:25,970 তারপর আমাকে এগিয়ে যান এবং এই কাজের জন্য. 1809 01:30:25,970 --> 01:30:30,150 আমি বলতে চাই যদি আমি যাক less-- হয় ইতিবাচক, নেতিবাচক মধ্যে পার্থক্য, 1810 01:30:30,150 --> 01:30:31,260 বা শূন্য মান. 1811 01:30:31,260 --> 01:30:36,630 >> সুতরাং যদি আমি শূন্য চেয়ে কম হয়, আমাকে শুধু এই প্রোগ্রাম শুধু বলতে আছে, 1812 01:30:36,630 --> 01:30:42,370 নেতিবাচক, ব্যাকস্ল্যাশ এন, আর যদি আমি শূন্য তার চেয়ে অনেক বেশী. 1813 01:30:42,370 --> 01:30:47,030 এখন আমি, অবশ্যই, বলতে যাচ্ছি printf ইতিবাচক, ব্যাকস্ল্যাশ এন. 1814 01:30:47,030 --> 01:30:50,690 এবং তারপর অন্য আমি পারবোই if--. 1815 01:30:50,690 --> 01:30:53,410 >> যদি তোমার 0 সমান আমি যেত না. 1816 01:30:53,410 --> 01:30:55,840 কিন্তু আমি এ উপার্জন করা চাই অন্তত এক ইতিমধ্যে ভুল. 1817 01:30:55,840 --> 01:30:59,480 পুনরাহ্বান যে সমান চিহ্ন নেই সমান নয়, আমরা মানুষেরা জানি. 1818 01:30:59,480 --> 01:31:01,010 >> কিন্তু এটা নিয়োগ অপারেটর. 1819 01:31:01,010 --> 01:31:05,640 আর আমরা 0 নিতে চাই না ডান এবং আমি বাম থেকে এটা করা. 1820 01:31:05,640 --> 01:31:11,810 তাই এই বিভ্রান্তি এড়ানোর জন্য, অথবা সম্ভবত সমান অপব্যবহার সাইন, 1821 01:31:11,810 --> 01:31:14,740 মানুষের কিছু বছর আগে সিদ্ধান্ত নিয়েছে যে অনেক প্রোগ্রামিং ভাষায় 1822 01:31:14,740 --> 01:31:18,000 আপনি সমতার জন্য চেক করতে চান, যখন বাম এবং ডান মধ্যে, 1823 01:31:18,000 --> 01:31:19,635 আপনি আসলে ব্যবহার সমান সমান. 1824 01:31:19,635 --> 01:31:21,010 তাই আপনি যদি সমান দুইবার সাইন আঘাত. 1825 01:31:21,010 --> 01:31:25,600 আপনি ডান দিক থেকে নির্ধারণ করতে চান যখন বাম, আপনি একটি একক সমান চিহ্ন ব্যবহার করুন. 1826 01:31:25,600 --> 01:31:29,360 সুতরাং আমরা আপাততঃ আর কাজ করতে পারে যদি আমি সমান শূন্য সমান. 1827 01:31:29,360 --> 01:31:31,710 >> আমি তারপর যেতে পারেনি আমার কোঁকড়া ধনুর্বন্ধনী খুলুন, 1828 01:31:31,710 --> 01:31:36,087 এবং বলে, printf, 0, ব্যাকস্ল্যাশ এন, সম্পন্ন. 1829 01:31:36,087 --> 01:31:38,170 কিন্তু কিভাবে এই স্মরণ রাস্তা কাটাচামচ কাজ করতে পারেন. 1830 01:31:38,170 --> 01:31:39,836 এবং, সত্যিই, মাত্র যুক্তিবিজ্ঞান চিন্তা. 1831 01:31:39,836 --> 01:31:41,510 আমি একটি সংখ্যা. 1832 01:31:41,510 --> 01:31:43,320 এটি একটি পূর্ণসংখ্যা বিশেষভাবে রয়েছে. 1833 01:31:43,320 --> 01:31:48,600 এবং তার মানে এটা কম হতে যাচ্ছে 0, 0, 0 বা তার চেয়ে অনেক বেশী চেয়ে. 1834 01:31:48,600 --> 01:31:51,600 তাই এই ধরনের উহ্য ডিফল্ট ক্ষেত্রে. 1835 01:31:51,600 --> 01:31:54,920 >> আর তাই আমরা ঠিক মত করতে পারে ভূত, অন্যথায় যদি সঙ্গে প্রয়োগ 1836 01:31:54,920 --> 01:31:55,747 এবং শুধু অন্য বলছি. 1837 01:31:55,747 --> 01:31:57,830 কথাটি, যদি আপনি প্রোগ্রামার আছে শুধু জানি 1838 01:31:57,830 --> 01:32:01,635 যা তিন বালতি পরিস্থিতি, প্রথম fall-- পারেন 1839 01:32:01,635 --> 01:32:03,510 দ্বিতীয়, তৃতীয় বা এই না case-- মধ্যে 1840 01:32:03,510 --> 01:32:07,100 অতিরিক্ত স্পষ্টতা যোগ বিরক্ত এবং সেখানে অতিরিক্ত লজিক. 1841 01:32:07,100 --> 01:32:09,690 শুধু সঙ্গে এগিয়ে যান ডিফল্ট ক্ষেত্রে অন্য এখানে. 1842 01:32:09,690 --> 01:32:11,950 >> এখন, আসুন এগিয়ে যান এই সংরক্ষণ পরে, 1843 01:32:11,950 --> 01:32:15,760 অবস্থার বিন্দু conditions-- স্ল্যাশ না একটি মহান ইউজার ইন্টারফেস, 1844 01:32:15,760 --> 01:32:18,914 কারণ আমি প্ররোচনা করছি না ব্যবহারকারী, যেমন আমি আগেই বলেছি. 1845 01:32:18,914 --> 01:32:19,580 কিন্তু যে সূক্ষ্ম. 1846 01:32:19,580 --> 01:32:20,454 আমরা এটা সহজ রাখা করব. 1847 01:32:20,454 --> 01:32:21,890 এর সংখ্যা 42 চেষ্টা করা যাক. 1848 01:32:21,890 --> 01:32:23,240 আর যে ইতিবাচক. 1849 01:32:23,240 --> 01:32:26,120 নম্বর চেষ্টা করা যাক নেতিবাচক 42, নেতিবাচক. 1850 01:32:26,120 --> 01:32:28,244 >> এর মান 0 চেষ্টা করা যাক. 1851 01:32:28,244 --> 01:32:29,160 এবং প্রকৃতপক্ষে, এটি কাজ করে. 1852 01:32:29,160 --> 01:32:33,900 এখন, আপনি সামনে সমস্যার সঙ্গে দেখতে পাবেন দীর্ঘ, টেস্টিং কিছু তিনবার, 1853 01:32:33,900 --> 01:32:34,980 সম্ভবত যথেষ্ট নয়. 1854 01:32:34,980 --> 01:32:37,438 আপনি সম্ভবত কিছু পরীক্ষা করতে চান যত বড় সংখ্যা, কিছু ছোট 1855 01:32:37,438 --> 01:32:40,520 সংখ্যা, কিছু কোণ ক্ষেত্রে, যেমন আমরা তাদের বর্ণনা আসবো. 1856 01:32:40,520 --> 01:32:42,500 >> একটি কিন্তু এখন জন্য, এই হল খুবই সহজ প্রোগ্রাম. 1857 01:32:42,500 --> 01:32:45,160 আর আমি পুরোপুরি নিশ্চিত নই, যুক্তি, এটা তিনটি মামলায় পড়ে যে. 1858 01:32:45,160 --> 01:32:49,360 এবং প্রকৃতপক্ষে, এমনকি আমরা যদিও মাত্র সম্ভাব্য মূল্যবান উপর দৃষ্টি নিবদ্ধ করা 1859 01:32:49,360 --> 01:32:53,480 অনির্দিষ্টতা এবং ওভারফ্লো, এ বাস্তবতা যেখানে CS50 এর সমস্যার অনেক, 1860 01:32:53,480 --> 01:32:56,000 আমরা চিন্তা যাচ্ছে না সম্পর্কে, সব সময়, 1861 01:32:56,000 --> 01:32:59,050 ওভারফ্লো ঐ বিষয় এবং অনির্দিষ্টতা, কারণ, আসলে, সি, 1862 01:32:59,050 --> 01:33:01,889 এটা আসলে সব না যে ঐ জিনিস এড়ানো সহজ. 1863 01:33:01,889 --> 01:33:04,180 আপনি আপ গণনা করতে চান বড়, বড়, বড়, 1864 01:33:04,180 --> 01:33:07,510 এটি সক্রিয় আউট আপনি কৌশল আছে ব্যবহার করতে পারেন, প্রায়ই কিছু বলা জড়িত 1865 01:33:07,510 --> 01:33:11,240 লাইব্রেরী কোড সংগ্রহ করে অন্যান্য মানুষ লিখেছিলেন যে আপনি ব্যবহার করতে পারেন, 1866 01:33:11,240 --> 01:33:13,910 মত ও অন্যান্য ভাষায় জাভা এবং অন্যদের, আসলে 1867 01:33:13,910 --> 01:33:15,800 এটা অনেক সহজ করতে এমনকি উচ্চ গণনা করতে. 1868 01:33:15,800 --> 01:33:19,810 সুতরাং এটা সত্যিই এই বিপদ কিছু হয় ভাষা আপনি ব্যবহার একটি ফাংশন. 1869 01:33:19,810 --> 01:33:22,710 এবং আগামী সপ্তাহের মধ্যে, আমরা করব দেখুন কিভাবে বিপজ্জনক সি সত্যিই 1870 01:33:22,710 --> 01:33:24,950 যদি আপনি এটি সঠিকভাবে ব্যবহার না হতে পারে. 1871 01:33:24,950 --> 01:33:27,610 কিন্তু সেখান থেকে, এবং সঙ্গে পাইথন এবং জাভাস্ক্রিপ্ট, হবে 1872 01:33:27,610 --> 01:33:32,620 আমরা কিছু অতিরিক্ত নিরাপত্তা স্তর, এবং সেই ঝুঁকি কম রান. 1873 01:33:32,620 --> 01:33:35,820 >> তাই আসুন একটু বেশি আমাদের প্রোগ্রামে আকর্ষণীয় যুক্তিবিজ্ঞান. 1874 01:33:35,820 --> 01:33:39,110 তাই আমাকে এগিয়ে যান এবং তৈরি করা যাক একটি প্রোগ্রাম লজিক্যাল বলা 1875 01:33:39,110 --> 01:33:43,804 ঠিক তাই আমি কিছু সঙ্গে খেলা করতে পারেন প্রকৃত যুক্তিবিজ্ঞান, logical.c. 1876 01:33:43,804 --> 01:33:46,870 আমি শুধু কপি এবং কিছু পেস্ট করব আগে তাই থেকে কোড আমি ফিরে পেতে 1877 01:33:46,870 --> 01:33:49,950 এই চমৎকার শুরুর বিন্দুতে. 1878 01:33:49,950 --> 01:33:53,980 >> আমাকে অনুমতি দিন এই সময় গৃহস্থালি সি আমি নই এটা সি এর একটি নাম দিতে হবে 1879 01:33:53,980 --> 01:33:58,510 এটা প্রচলিত শুধু কারণ, ব্যবহারকারী থেকে একটি চরিত্র পেতে. 1880 01:33:58,510 --> 01:34:00,730 আর এর মত জাহির করা যাক আমি অংশ বাস্তবায়ন করছি 1881 01:34:00,730 --> 01:34:04,130 যে RM প্রোগ্রাম, Remove যে আগে প্রোগ্রাম ব্যবহারকারীকে অনুরোধ জানানো 1882 01:34:04,130 --> 01:34:05,400 একটি ফাইল মুছে ফেলার জন্য. 1883 01:34:05,400 --> 01:34:06,750 আমরা কিভাবে এই কাজ করতে পারে? 1884 01:34:06,750 --> 01:34:11,090 >> আমি বলতে চাই, যদি C সমান সমান, উদ্ধতি মূল্যউদ্ধৃতি, 1885 01:34:11,090 --> 01:34:16,304 Y, তারপর আমি অনুমান করা যাচ্ছে না ব্যবহারকারী হ্যাঁ মনোনীত করেছেন যে. 1886 01:34:16,304 --> 01:34:17,470 আমি শুধু হ্যা প্রিন্ট চলেছি. 1887 01:34:17,470 --> 01:34:19,440 এটা আসলে লেখা ছিল অপসারণ প্রোগ্রাম, 1888 01:34:19,440 --> 01:34:21,420 আমরা ফাইল দূর করতে পারে কোডের আরো লাইন. 1889 01:34:21,420 --> 01:34:22,461 কিন্তু আমরা এটা সহজ রাখা করব. 1890 01:34:22,461 --> 01:34:25,950 1891 01:34:25,950 --> 01:34:31,250 >> অন্যথায় যদি গ সমান n-- সমান এবং এখন এখানে, আমি বলতে যাচ্ছি, 1892 01:34:31,250 --> 01:34:32,980 ব্যবহারকারীর কোন বোঝানো হবে. 1893 01:34:32,980 --> 01:34:34,360 এবং তারপর অন্য, আপনি কি জানেন? 1894 01:34:34,360 --> 01:34:36,200 আমি কি আর জানি না ব্যবহারকারী টাইপ করা যাচ্ছে. 1895 01:34:36,200 --> 01:34:38,533 তাই আমি ঠিক করে বলতে যাচ্ছি একটি ত্রুটি, যাই হোক না কেন 1896 01:34:38,533 --> 01:34:40,070 সে আসলে টাইপ. 1897 01:34:40,070 --> 01:34:41,180 >> সুতরাং এখানে কি ঘটছে? 1898 01:34:41,180 --> 01:34:44,530 একটা মৌলিক পার্থক্য নেই আমি অতীতে যা করেছি বনাম. 1899 01:34:44,530 --> 01:34:49,300 ডাবল কোট, ডবল কোট, ডবল কোট, এবং, এখনো, একক উদ্ধৃতি, 1900 01:34:49,300 --> 01:34:50,170 একক উদ্ধৃতি. 1901 01:34:50,170 --> 01:34:52,860 এটা সি সক্রিয় আউট, যে যখন আপনি একটি স্ট্রিং লিখতে চান, 1902 01:34:52,860 --> 01:34:56,680 আপনি ডবল কোট ব্যবহার করতে, আমরা করেছি, ঠিক যেমন printf সঙ্গে এই সব সময় ব্যবহার করা হয়েছে. 1903 01:34:56,680 --> 01:35:02,030 >> কিন্তু আপনি শুধু একটি সঙ্গে মোকাবেলা করতে চান তাহলে একক চরিত্র, একটি তথাকথিত গৃহস্থালির কাজ, 1904 01:35:02,030 --> 01:35:03,780 তারপর আপনি আসলে একক উদ্ধৃতি চিহ্ন ব্যবহার. 1905 01:35:03,780 --> 01:35:05,450 তোমাদের মধ্যে যারা প্রোগ্রাম করেছি আগে, আপনি নাও থাকতে পারে 1906 01:35:05,450 --> 01:35:07,850 এই সম্পর্কে চিন্তা ছিল নির্দিষ্ট ভাষায় পার্থক্য. 1907 01:35:07,850 --> 01:35:09,450 সি, এটা কোন ব্যাপার. 1908 01:35:09,450 --> 01:35:12,560 আর তাই যখন আমি একটি গৃহস্থালি পেতে এবং আমি চাই সমান ব্যবহার করে গৃহস্থালি তুলনা 1909 01:35:12,560 --> 01:35:18,350 ওয়াই বা n মত কিছু অক্ষর সমান, আমি না, প্রকৃতপক্ষে, একক উদ্ধৃতি আছে প্রয়োজন. 1910 01:35:18,350 --> 01:35:19,770 >> এখন, এগিয়ে যান এবং এই কাজের জন্য. 1911 01:35:19,770 --> 01:35:26,180 এর এগিয়ে যান এবং করতে না দেওয়া লজিক্যাল ডট লজিক্যাল কাট. 1912 01:35:26,180 --> 01:35:27,305 এবং এখন আমি অনুরোধ জানানো হচ্ছে না. 1913 01:35:27,305 --> 01:35:30,638 সুতরাং, সম্ভবতঃ, একটি ভাল ব্যবহারকারীর অভিজ্ঞতা আসলে আমাকে বলতে হবে কি এখানে কাজ করতে. 1914 01:35:30,638 --> 01:35:33,030 কিন্তু আমি যাচ্ছি শুধু অন্ধভাবে চমৎকার ওকে হ্যাঁ জন্য, y বলে. 1915 01:35:33,030 --> 01:35:35,780 >> এর আবার এটি চালানো যাক, এন কোন জন্য, চমৎকার. 1916 01:35:35,780 --> 01:35:39,610 কিছু মানুষ আমি জানি মত ধরা যাক, আমার ক্যাপস লক কী খুব প্রায়ই সব হয়. 1917 01:35:39,610 --> 01:35:43,740 তাই আমি ভুল না রাজধানী ওয়াই, লিখুন. 1918 01:35:43,740 --> 01:35:46,130 ঠিক আছে, এটা ঠিক কি আমি আশা করছি না. 1919 01:35:46,130 --> 01:35:48,170 প্রকৃতপক্ষে, কম্পিউটার আক্ষরিক কি করছে 1920 01:35:48,170 --> 01:35:51,794 আমি এটা বলেন do-- জন্য পরীক্ষা ছোট হাতের y এবং ছোট হাতের অক্ষর ব্যবহার এন. 1921 01:35:51,794 --> 01:35:53,960 এই ভাল মত মনে হয় না ব্যবহারকারীর অভিজ্ঞতা, যদিও. 1922 01:35:53,960 --> 01:35:59,010 আমার জন্য জিজ্ঞাসা করা যাক এবং গ্রহণ হয় লোয়ার কেসটি বা বড় হাতের অক্ষরে. 1923 01:35:59,010 --> 01:36:02,090 সুতরাং দেখা যাচ্ছে, আপনি চাইতে পারেন ভূত ভালো কিছু বলতে, 1924 01:36:02,090 --> 01:36:08,150 আক্ষরিক বা সি সমান মত রাজধানী একক উদ্ধৃত Y সমান. 1925 01:36:08,150 --> 01:36:11,400 দেখা যাচ্ছে, সি নেই এই আক্ষরিক শব্দ বা. 1926 01:36:11,400 --> 01:36:12,880 >> কিন্তু এটা দুটি উল্লম্ব বার আছে. 1927 01:36:12,880 --> 01:36:15,463 আপনি সাধারণত Shift ধরে আছে আপনি একটি মার্কিন কীবোর্ড ব্যবহার করছেন, 1928 01:36:15,463 --> 01:36:18,910 এবং উল্লম্ব বার আঘাত আপনার আগমন কী উপরে কী. 1929 01:36:18,910 --> 01:36:22,410 কিন্তু এই উল্লম্ব দণ্ড উলম্ব বার অর্থ বা. 1930 01:36:22,410 --> 01:36:26,220 >> তাহলে, এর বিপরীতে, আমরা চেয়েছিলাম বলতে এবং ভূত মত, থেকে, 1931 01:36:26,220 --> 01:36:28,180 আমরা এম্পারসেন্ড ampersand না পারে. 1932 01:36:28,180 --> 01:36:31,330 যে কোন যৌক্তিক অর্থে এখানে নির্মিত হয়, কারণ একটি মানুষই না পারা 1933 01:36:31,330 --> 01:36:37,110 টাইপ করেছেন উভয় y এবং ছোট হাতের অক্ষর ব্যবহার Y এবং একই চরিত্র হিসাবে মূলধন ওয়াই. 1934 01:36:37,110 --> 01:36:39,470 তাই বা কি আমরা এখানে অভিপ্রায়. 1935 01:36:39,470 --> 01:36:46,280 >> তাই আমি উভয় স্থানে এই না হলে অথবা গ সমান সমান রাজধানী এন, এখন পুন: প্রকাশ করা, 1936 01:36:46,280 --> 01:36:49,390 লজিক্যাল করাতে, লজিক্যাল পুন: প্রকাশ করা. 1937 01:36:49,390 --> 01:36:51,200 এখন, আমি Y টাইপ করতে পারেন. 1938 01:36:51,200 --> 01:36:53,920 এবং আমি এটা আবার কি করতে পারেন সঙ্গে রাজধানী ওয়াই, বা রাজধানী এন 1939 01:36:53,920 --> 01:36:56,630 আমি অতিরিক্ত যোগ করতে পারে এখনো সমন্বয়. 1940 01:36:56,630 --> 01:36:58,810 >> সুতরাং এই একটি লজিক্যাল যেমন এখন যতটা প্রোগ্রাম 1941 01:36:58,810 --> 01:37:01,940 আমি কথাটি চেক করছি এই মান বা এই মান. 1942 01:37:01,940 --> 01:37:06,420 আর আমি করতে হবে না, অগত্যা, আরো দুটি Ifs নতুবা Ifs সঙ্গে আসা পর্যন্ত. 1943 01:37:06,420 --> 01:37:09,960 আমি আসলে কিছু একত্রিত করতে পারেন এই পথ একসঙ্গে সম্পর্কিত যুক্তিবিজ্ঞান. 1944 01:37:09,960 --> 01:37:11,950 তাই এই ভাল হবে কেবল চেয়ে পরিকল্পিত 1945 01:37:11,950 --> 01:37:17,490 বলছে, যদি C লোয়ার কেসটি Y সমান, আর প্রিন্ট হ্যাঁ, যদি গ সমান মূলধন ওয়াই, 1946 01:37:17,490 --> 01:37:20,074 আর প্রিন্ট হ্যাঁ, যদি গ সমান অন্য কথায় lower--, 1947 01:37:20,074 --> 01:37:21,990 আপনি করতে হবে না আরো এবং আরো শাখা. 1948 01:37:21,990 --> 01:37:28,840 আপনি সমতুল্য কিছু একত্রিত করতে পারেন কথাটি শাখা, এই পথ হিসেবে. 1949 01:37:28,840 --> 01:37:34,150 >> তাই আসুন শুধু এক সময়ে কটাক্ষপাত করা যাক চূড়ান্ত উপাদান, এক চূড়ান্ত কনস্ট্রাক্ট, 1950 01:37:34,150 --> 01:37:34,847 যে সি পারবেন. 1951 01:37:34,847 --> 01:37:36,930 এবং আমরা ফিরে আসবো অন্যদের এখনও ভবিষ্যতে. 1952 01:37:36,930 --> 01:37:41,400 এবং তারপর আমরা খুঁজছি দ্বারা সিদ্ধান্তে আসা করব code-- না শুদ্ধি এ 1953 01:37:41,400 --> 01:37:46,070 কোড পেয়ে work-- কিন্তু নকশা কোডের, এবং সেই বীজ বপন তাড়াতাড়ি. 1954 01:37:46,070 --> 01:37:51,337 >> তাই আমাকে এগিয়ে যান এবং এখানে একটি নতুন ফাইল খুলুন. 1955 01:37:51,337 --> 01:37:51,920 তুমি কি জান? 1956 01:37:51,920 --> 01:37:54,450 আমি পুনরায় বাস্তবায়ন করতে যাচ্ছি একই প্রোগ্রাম, 1957 01:37:54,450 --> 01:37:55,940 কিন্তু একটি ভিন্ন কনস্ট্রাক্ট ব্যবহার. 1958 01:37:55,940 --> 01:38:00,110 >> তাই আমাকে দ্রুত যাক নিজেকে দিতে প্রবেশাধিকার, CS50.h অন্তর্ভুক্ত করা 1959 01:38:00,110 --> 01:38:04,150 CS50 লাইব্রেরি জন্য, printf জন্য প্রমিত io.h. 1960 01:38:04,150 --> 01:38:06,510 আমার int প্রধান অকার্যকর দাও. 1961 01:38:06,510 --> 01:38:09,310 এবং তারপর এখানে উপর, যাক আমাকে এগিয়ে যান এবং এই কাজের জন্য. 1962 01:38:09,310 --> 01:38:12,010 >> চর গ, গৃহস্থালির কাজ পেতে পায় ঠিক আগে মত. 1963 01:38:12,010 --> 01:38:16,770 আমি একটি নতুন কনস্ট্রাক্ট ব্যবহার করতে যাচ্ছি now-- সুইচ, কি চরিত্রের উপর? 1964 01:38:16,770 --> 01:38:19,820 তাই সুইচ ধরনের মত হল একটি ট্রেন ট্র্যাক সুইচিং. 1965 01:38:19,820 --> 01:38:22,070 অথবা, সত্যিই, এটা কোন ধরনের হয় একটি অন্যথায় যদি, অন্যথায় যদি যদি, 1966 01:38:22,070 --> 01:38:23,980 কিন্তু কিছুটা ভিন্নভাবে লিখিত. 1967 01:38:23,980 --> 01:38:25,490 >> একটি সুইচ ভালো দেখায়. 1968 01:38:25,490 --> 01:38:29,060 আপনি সুইচ আছে, এবং তারপর কি অক্ষর বা সংখ্যা আপনি তাকান করতে চান, 1969 01:38:29,060 --> 01:38:32,000 তারপর কিছু কোঁকড়া ধনুর্বন্ধনী চাই ভূত, শুধু এই জিনিস না বলে. 1970 01:38:32,000 --> 01:38:33,480 এবং তারপর আপনি বিভিন্ন মামলা রয়েছে. 1971 01:38:33,480 --> 01:38:34,830 >> আপনি যদি এবং অন্যথায় ব্যবহার করবেন না. 1972 01:38:34,830 --> 01:38:37,050 আপনি আক্ষরিক শব্দ ক্ষেত্রে ব্যবহার. 1973 01:38:37,050 --> 01:38:38,790 আর আপনি এই মত কিছু বলতে হবে. 1974 01:38:38,790 --> 01:38:43,820 >> সুতরাং একটি ছোট হাতের y এর ক্ষেত্রে, অথবা একটি মূলধন ওয়াই এর ক্ষেত্রে, 1975 01:38:43,820 --> 01:38:47,350 এগিয়ে যান এবং হ্যাঁ প্রিন্ট আউট. 1976 01:38:47,350 --> 01:38:49,020 এবং তারপর সুইচ আউট বিরতি. 1977 01:38:49,020 --> 01:38:49,580 এটাই. 1978 01:38:49,580 --> 01:38:50,880 সম্পন্ন করা হয়েছে. 1979 01:38:50,880 --> 01:38:57,270 >> অন্যথায় যদি, তাই কথা বলতে, লোয়ার কেসটি এন, বা রাজধানী এন, 1980 01:38:57,270 --> 01:39:02,560 তারপর এগিয়ে যান এবং মুদ্রণ বাইরে কোন, এবং তারপর বিরতি. 1981 01:39:02,560 --> 01:39:08,022 Else-- এবং এই ধরনের হয় ডিফল্ট ক্ষেত্রে indeed-- printf, ত্রুটি 1982 01:39:08,022 --> 01:39:10,980 এবং শুধু ভাল পরিমাপ জন্য, যদিও কথাটি এই বিরতি প্রয়োজন নেই 1983 01:39:10,980 --> 01:39:12,896 কারণ আমরা শেষে করছি যাহাই হউক না কেন সুইচ, 1984 01:39:12,896 --> 01:39:14,520 আমি এখন সুইচ ভঙ্গ আউট করছি. 1985 01:39:14,520 --> 01:39:16,280 তাই এই সামান্য ভিন্ন দেখায়. 1986 01:39:16,280 --> 01:39:18,272 >> কিন্তু, যুক্তি, এটা আসলে সমতুল্য. 1987 01:39:18,272 --> 01:39:19,980 আর আপনি কেন ব্যবহার করবেন অন্য এক? 1988 01:39:19,980 --> 01:39:23,220 কখনও কখনও, শুধু ব্যক্তিগত অভিরুচি, কখনও কখনও নন্দনতত্ব, 1989 01:39:23,220 --> 01:39:25,420 যদি আমি এই কটাক্ষ এখন, কিছু আছে 1990 01:39:25,420 --> 01:39:27,510 জন্য বলেন করা এই কোড পাঠযোগ্যতা. 1991 01:39:27,510 --> 01:39:30,690 আমি বলতে চাচ্ছি, আসলে এই যে কিছু মনে করবেন না কোড রুমে আমাদের অনেক নতুন. 1992 01:39:30,690 --> 01:39:33,515 >> কিন্তু এটা শুধু ধরনের চমত্কার হয়. 1993 01:39:33,515 --> 01:39:37,760 আপনি ছোট হাতের Y, রাজধানী ওয়াই দেখুন, লোয়ার কেসটি এন, রাজধানী এন ডিফল্ট, 1994 01:39:37,760 --> 01:39:40,150 এটা শুধু ধরনের জাম্প একটি উপায়ে আপনি এ 1995 01:39:40,150 --> 01:39:42,200 যে, তর্কসাপেক্ষ, হয়তো পূর্ববর্তী উদাহরণে 1996 01:39:42,200 --> 01:39:45,780 Ifs, এবং উল্লম্ব বার সঙ্গে, এবং অন্য Ifs, নাও থাকতে পারে. 1997 01:39:45,780 --> 01:39:51,600 তাই এই ব্যক্তিগত সত্যিই একটি ব্যাপার পছন্দ, সত্যিই, বা পাঠযোগ্যতা, 1998 01:39:51,600 --> 01:39:52,360 কোডের. 1999 01:39:52,360 --> 01:39:58,230 >> কিন্তু কার্যকারিতা পদ, আমার দিন এগিয়ে যান এবং একটি সুইচ, বিন্দু স্ল্যাশ করা 2000 01:39:58,230 --> 01:40:05,830 সুইচ, এবং এখন ছোটহাতের Y টাইপ, রাজধানী ওয়াই, ছোট হাতের অক্ষর ব্যবহার এন, রাজধানী এন, 2001 01:40:05,830 --> 01:40:09,250 ডেভিড, পুনরায় চেষ্টা করুন যে কারণ না একটি একক চরিত্র. 2002 01:40:09,250 --> 01:40:12,050 হিসাবে প্রত্যাশিত, এক্স, ত্রুটি করা যাক. 2003 01:40:12,050 --> 01:40:15,640 আর, logically-- এবং এই কিছু হয় আমি general-- এমনকি উৎসাহিত করবে 2004 01:40:15,640 --> 01:40:17,790 যদিও আমরা শুধুমাত্র প্রারম্ভিক করছি এই বৈশিষ্ট্য কিছু পৃষ্ঠের. 2005 01:40:17,790 --> 01:40:20,560 >> এবং এটা সুস্পষ্ট নাও হতে পারে যখন আপনি নিজের কীবোর্ড এ বসতে, 2006 01:40:20,560 --> 01:40:21,370 কিভাবে কাজ করে? 2007 01:40:21,370 --> 01:40:22,240 এই এখন কী করবেন? 2008 01:40:22,240 --> 01:40:25,630 থাকার বিষয়ে সুন্দর জিনিস একটি ল্যাপটপ, অথবা ডেস্কটপ বা অ্যাক্সেস 2009 01:40:25,630 --> 01:40:29,290 একটি কম্পাইলার দিয়ে একটি কম্পিউটারে, এবং এই মত একটি কোড এডিটর সঙ্গে, 2010 01:40:29,290 --> 01:40:32,990 আপনি প্রায় সবসময় এই উত্তর দিতে পারেন হয় শুধু চেষ্টা করে নিজের জন্য প্রশ্ন. 2011 01:40:32,990 --> 01:40:36,570 >> উদাহরণস্বরূপ, যদি অলঙ্কৃত হাতের প্রশ্ন ছিল, 2012 01:40:36,570 --> 01:40:39,540 কি হবে যদি আপনি ভুলে আপনার বিরতি বিবৃতি? 2013 01:40:39,540 --> 01:40:41,400 কোনটি আসলে একটি খুব সাধারণ জিনিস, 2014 01:40:41,400 --> 01:40:43,540 কারণ তো মনে হচ্ছে না মত আপনি সত্যিই তাদের প্রয়োজন. 2015 01:40:43,540 --> 01:40:46,790 তারা সত্যিই সম্পন্ন না আপনার একটি প্রথম বন্ধনী বা কোঁকড়া মত চিন্তা 2016 01:40:46,790 --> 01:40:47,714 বক্রবন্ধনী আছে. 2017 01:40:47,714 --> 01:40:49,630 আসুন এগিয়ে যান এবং কোড কম্পাইল এবং দেখুন. 2018 01:40:49,630 --> 01:40:53,690 তাই সুইচ, বিন্দু স্ল্যাশ সুইচ করতে. 2019 01:40:53,690 --> 01:40:56,435 নিম্ন ক্ষেত্রে টাইপ করা যাক Y, উপরের কেস, লিখুন. 2020 01:40:56,435 --> 01:40:59,390 2021 01:40:59,390 --> 01:41:00,700 তাই আমি Y টাইপ. 2022 01:41:00,700 --> 01:41:04,420 >> প্রোগ্রাম বলেন, হ্যাঁ, ত্রুটি, যেন এটা তার মন পরিবর্তন হয়. 2023 01:41:04,420 --> 01:41:09,280 কিন্তু এটা কোন ধরনের ছিল, কারণ সেখানে কি ঘটছে একটি সুইচ সঙ্গে প্রথম ক্ষেত্রে যে 2024 01:41:09,280 --> 01:41:13,899 ম্যাচ মূলত মানে, হেই কম্পিউটার, নীচে সব কোড এক্সিকিউট. 2025 01:41:13,899 --> 01:41:16,690 আর যদি আপনি তাদেরকে বলেন না বিরতি, বা বিরতি না বলে, বা বিরতি না বলে, 2026 01:41:16,690 --> 01:41:19,540 কম্পিউটার পেশা যাচ্ছে ঐ লাইনের সব মাধ্যমে 2027 01:41:19,540 --> 01:41:22,779 এবং যতক্ষণ না তাদের সব চালানো এটা যে কোঁকড়া বক্রবন্ধনী পায়. 2028 01:41:22,779 --> 01:41:24,320 তাই ব্রেক, হয় প্রকৃতপক্ষে, প্রয়োজনীয়. 2029 01:41:24,320 --> 01:41:27,120 কিন্তু একটি takeaway এখানে, যখন হয় সন্দেহ থাকলে, কিছু চেষ্টা করুন. 2030 01:41:27,120 --> 01:41:29,510 হয়তো আপনার কোড প্রথম রক্ষা, অথবা এটি একটি অতিরিক্ত ফাইলের মধ্যে সংরক্ষণ 2031 01:41:29,510 --> 01:41:32,930 যদি আপনার সম্পর্কে সত্যিই উদ্বিগ্ন হন আপ সেনাবিভাগে মেসে খাবার এবং সুস্থ থাকার 2032 01:41:32,930 --> 01:41:34,430 কাজ যে আপনি জানেন করার অনুমতি নেই. 2033 01:41:34,430 --> 01:41:35,410 >> কিন্তু কিছু করার চেষ্টা. 2034 01:41:35,410 --> 01:41:38,074 আর ভয় পাবেন না, সম্ভবত, কম্পিউটার কি হতে পারে তা নিয়ে, 2035 01:41:38,074 --> 01:41:39,490 অথবা আপনি কিছু বিরতি হতে পারে. 2036 01:41:39,490 --> 01:41:42,790 আপনি সবসময় ফিরে আসতে পারবেন কিছু আগের সংস্করণে. 2037 01:41:42,790 --> 01:41:45,640 >> সুতরাং আসুন খুঁজছেন দ্বারা শেষ দিন কোড নকশা এ. 2038 01:41:45,640 --> 01:41:49,020 আমরা লিখতে এখন এই ক্ষমতা আছে শর্ত, এবং লেখ, loops, 2039 01:41:49,020 --> 01:41:50,850 এবং ভেরিয়েবল, এবং কল ফাংশন. 2040 01:41:50,850 --> 01:41:54,590 সুতরাং, উন্মুক্তভাবে, আমরা ধরনের এ ফিরে এসেছি যেখানে আমরা ভূত সঙ্গে এক সপ্তাহ আগে ছিল, 2041 01:41:54,590 --> 01:42:00,120 একটি কম বাধ্যকারী পাঠগত যদ্যপি স্ক্র্যাচ চেয়ে পরিবেশ পারবেন. 2042 01:42:00,120 --> 01:42:03,990 >> কিন্তু লক্ষ্য করা আমরা কিভাবে দ্রুত অর্জিত করেছি যে শব্দভান্ডার, এমনকি যদি এটা 2043 01:42:03,990 --> 01:42:07,570 মধ্যে ডুবা একটু সময় নিতে যাচ্ছে, যাতে আমরা এখন এই শব্দভান্ডার ব্যবহার করতে পারেন 2044 01:42:07,570 --> 01:42:10,320 আরও আকর্ষণীয় প্রোগ্রাম লিখতে. 2045 01:42:10,320 --> 01:42:12,940 আর এর একটি শিশুর পদক্ষেপ গ্রহণ করা যে দিকে নিম্নরূপ. 2046 01:42:12,940 --> 01:42:14,890 আমাকে এগিয়ে যান এবং এখানে একটি নতুন ফাইল তৈরি করুন. 2047 01:42:14,890 --> 01:42:17,750 >> আমি এই ফোন করতে যাচ্ছি prototype.c, এবং পরিচয় করিয়ে 2048 01:42:17,750 --> 01:42:20,954 প্রথমবার জন্য, ক্ষমতা আপনার নিজস্ব ফাংশন করতে. 2049 01:42:20,954 --> 01:42:22,870 তোমাদের মধ্যে কেউ কেউ থাকতে পারে ভূত সঙ্গে এই কাজ, 2050 01:42:22,870 --> 01:42:25,430 যেখানে আপনি তৈরি করতে পারেন আপনার ভূত নিজস্ব ব্লক, 2051 01:42:25,430 --> 01:42:27,892 এবং তারপর তাদের জায়গা টেনে যেখানেই আপনি সি চাই 2052 01:42:27,892 --> 01:42:30,100 আর সবচেয়ে প্রোগ্রামিং ভাষায়, আপনি ঠিক করতে পারবেন 2053 01:42:30,100 --> 01:42:33,580 that-- আপনার নিজস্ব ফাংশন করতে, যদি তারা ইতিমধ্যে অস্তিত্ব নেই. 2054 01:42:33,580 --> 01:42:38,660 >> সুতরাং, উদাহরণস্বরূপ, আমাকে এগিয়ে যান এবং, CS50.h অন্তর্ভুক্ত, এবং অন্তর্ভুক্ত 2055 01:42:38,660 --> 01:42:43,110 প্রমিত io.h, int প্রধান অকার্যকর. 2056 01:42:43,110 --> 01:42:46,020 এবং এখন আমরা একটি আছে যেতে প্রস্তুত স্থানধারক. 2057 01:42:46,020 --> 01:42:48,550 আমি মুদ্রণ জিনিষ রাখতে আজ মানুষ এর নাম মত. 2058 01:42:48,550 --> 01:42:51,910 আর যে like-- মতানুযায়ী সুন্দর হবে না যদি সেখানে 2059 01:42:51,910 --> 01:42:53,936 একটি ফাংশন মুদ্রণ নাম বলা ছিল? 2060 01:42:53,936 --> 01:42:55,060 আমি printf ব্যবহার করতে হবে না. 2061 01:42:55,060 --> 01:42:56,976 আমি স্মরণ করতে হবে না সব বিন্যাস কোড. 2062 01:42:56,976 --> 01:43:00,050 কেন না আমি, বা কেন না, আমার সামনে কেউ করেনি 2063 01:43:00,050 --> 01:43:02,980 একটি ফাংশন বলা মুদ্রণ তৈরি নাম, যে কিছু নাম দেওয়া, 2064 01:43:02,980 --> 01:43:03,980 কেবল এটা কপি করে প্রিন্ট আউট? 2065 01:43:03,980 --> 01:43:08,700 >> অন্য কথায়, যদি আমি বলি, আরে, কম্পিউটার, সম্পর্কে একটি স্ট্রিং দিতে 2066 01:43:08,700 --> 01:43:11,870 যেমন জন্য ব্যবহারকারীকে জিজ্ঞাসা করে, CS50 এর পেতে স্ট্রিং ফাংশন মাধ্যমে. 2067 01:43:11,870 --> 01:43:15,090 আরে, কম্পিউটার, যে স্ট্রিং করা বাম দিকের মধ্যে পরিবর্তনশীল, 2068 01:43:15,090 --> 01:43:16,150 এবং এটি গুলি কল. 2069 01:43:16,150 --> 01:43:22,150 এবং তারপর, হেই কম্পিউটার, এগিয়ে যান এবং প্রিন্ট করা হবে ব্যক্তির নাম, কাজ. 2070 01:43:22,150 --> 01:43:26,240 >> এখন, এটা চমৎকার হবে, কারণ এই প্রোগ্রাম, যথাযোগ্যভাবে নামে, 2071 01:43:26,240 --> 01:43:29,170 আমাকে বলে কি এটা অনুমিত এর ঐ ফাংশন এর নাম দ্বারা. 2072 01:43:29,170 --> 01:43:32,930 আমাকে যেতে এবং প্রোটোটাইপ করা, লিখুন. 2073 01:43:32,930 --> 01:43:34,930 এবং, দুর্ভাগ্যবশত, এই উড়ে আসা যাচ্ছে না. 2074 01:43:34,930 --> 01:43:39,430 >> Prototype.c, লাইন 7, চরিত্র 5, ত্রুটি, অন্তর্নিহিত ঘোষণা 2075 01:43:39,430 --> 01:43:42,960 ফাংশন মুদ্রণ নামের C99, C99 অবৈধ 2076 01:43:42,960 --> 01:43:45,130 সি এর একটি সংস্করণ অর্থ যে 1999 সালে বেরিয়ে আসেন. 2077 01:43:45,130 --> 01:43:45,730 এখানেই শেষ. 2078 01:43:45,730 --> 01:43:48,780 >> তাই আমি জানি না কি এই সব এখনো মানে. 2079 01:43:48,780 --> 01:43:50,810 কিন্তু আমি লাল ত্রুটি চিহ্নিত করতে পারি. 2080 01:43:50,810 --> 01:43:51,770 যে বেশ সুস্পষ্ট. 2081 01:43:51,770 --> 01:43:53,769 >> আর এটা মনে হয় যে এখানে সবুজ চরিত্র, 2082 01:43:53,769 --> 01:43:57,520 ইস্যু মুদ্রণ নাম দিয়ে খোলা বন্ধ গুলি, বন্ধ paren, সেমিকোলন. 2083 01:43:57,520 --> 01:44:01,800 কিন্তু এর অন্তর্নিহিত ঘোষণা ফাংশন আমরা সংক্ষিপ্তভাবে আগে হয় নি. ' 2084 01:44:01,800 --> 01:44:04,880 এর মানে হল, কেবল, যে ঝনঝন জানে না আমি কি বলতে চাচ্ছি. 2085 01:44:04,880 --> 01:44:09,000 >> আমি একটি শব্দভান্ডার শব্দ ব্যবহার করেছি এটা যে কখনো বা দেখা করার আগে আপনাকে শেখানো হয়েছে. 2086 01:44:09,000 --> 01:44:11,950 আর তাই আমি এটা শেখাতে হবে এই ফাংশন মানে কি. 2087 01:44:11,950 --> 01:44:13,590 তাই আমি এগিয়ে যান এবং যে কাজ করতে যাচ্ছি. 2088 01:44:13,590 --> 01:44:17,970 >> আমি এগিয়ে যান এবং বাস্তবায়ন করতে যাচ্ছি আমার নিজের ফাংশন বলা প্রিন্ট নাম. 2089 01:44:17,970 --> 01:44:24,720 এবং আমি বলতে নিম্নরূপ যাচ্ছি, যে এটা এই printf, হ্যালো, শতাংশ করে 2090 01:44:24,720 --> 01:44:27,760 গুলি, ব্যাকস্ল্যাশ এন, নাম, সেমিকোলন. 2091 01:44:27,760 --> 01:44:29,250 তাই আমি ঠিক কি আমল করেছ? 2092 01:44:29,250 --> 01:44:31,325 >> সুতরাং দেখা যাচ্ছে, এর আপনার নিজস্ব ফাংশন বাস্তবায়ন, 2093 01:44:31,325 --> 01:44:33,845 আমরা ধরনের কিছু ধার প্রধান হিসেবে একই কাঠামো 2094 01:44:33,845 --> 01:44:35,720 আমরা এইমাত্র যে গ্রহণ মঞ্জুর, এবং আমি 2095 01:44:35,720 --> 01:44:37,730 জানি শুধু কপি এবং প্রায় কাছাকাছি কি পেস্ট 2096 01:44:37,730 --> 01:44:39,170 আমি অতীতে লেখা হয়েছে করেছি. 2097 01:44:39,170 --> 01:44:40,570 কিন্তু প্যাটার্ন এখানে লক্ষ্য. 2098 01:44:40,570 --> 01:44:43,750 Int, প্রধান, শূন্যতা, আমরা সরাইয়া জ্বালাতন করা হবে দীর্ঘ আগে যে আসলে মানে. 2099 01:44:43,750 --> 01:44:46,160 >> কিন্তু আজকের জন্য, শুধু সাদৃশ্য লক্ষ্য. 2100 01:44:46,160 --> 01:44:48,210 অকার্যকর, মুদ্রণ নাম, স্ট্রিং নাম, তাই আছে 2101 01:44:48,210 --> 01:44:50,310 একটি রক্তবর্ণ কীওয়ার্ডটি যা আমরা শুরু করতে যাচ্ছেন 2102 01:44:50,310 --> 01:44:54,067 একটি রিটার্ন টাইপ কলিং, এর নাম ফাংশন, এবং তারপর ইনপুট. 2103 01:44:54,067 --> 01:44:56,400 সুতরাং, আসলে, আমরা চুয়ান পারেন গত সপ্তাহে মত এই ধরনের 2104 01:44:56,400 --> 01:44:59,030 যেমন, এই নাম অথবা কোড আমরা করছি অ্যালগরিদম 2105 01:44:59,030 --> 01:45:00,761 লিখতে যাচ্ছে অ্যালগরিদম অন্তর্নিহিত 2106 01:45:00,761 --> 01:45:02,010 আমরা কোড লিখতে যাচ্ছেন. 2107 01:45:02,010 --> 01:45:03,180 >> এই তার ইনপুট. 2108 01:45:03,180 --> 01:45:04,670 এই তার আউটপুট. 2109 01:45:04,670 --> 01:45:08,730 এই ফাংশনটি, মুদ্রণ নাম, হয় নাম বলা একটি স্ট্রিং নিতে পরিকল্পিত, 2110 01:45:08,730 --> 01:45:11,350 বা যাই হোক না কেন, ইনপুট হিসাবে, এবং তারপর অকার্যকর. 2111 01:45:11,350 --> 01:45:13,904 এটা কিছু ফেরত না, মত স্ট্রিং পেতে বা কোন int পায়. 2112 01:45:13,904 --> 01:45:15,570 সুতরাং এটা আমাকে কিছু ফিরে হাতে যাচ্ছে. 2113 01:45:15,570 --> 01:45:17,960 এটা শুধু একটা আছে যাচ্ছে পার্শ্ব প্রতিক্রিয়া, তাই কথা বলতে, 2114 01:45:17,960 --> 01:45:19,570 একজন ব্যক্তির নাম মুদ্রণ. 2115 01:45:19,570 --> 01:45:22,260 তাই লক্ষ্য করা, লাইন 7, আমি মুদ্রণ নাম কল করতে পারেন. 2116 01:45:22,260 --> 01:45:25,920 লাইন 10, আমি নির্ধারণ করতে পারবেন অথবা মুদ্রণ নাম বাস্তবায়ন. 2117 01:45:25,920 --> 01:45:28,450 কিন্তু দুর্ভাগ্যবশত, যে না যথেষ্ট. 2118 01:45:28,450 --> 01:45:31,230 >> আমাকে এগিয়ে যান এবং সংরক্ষণ পরে এই কম্পাইল. 2119 01:45:31,230 --> 01:45:33,910 দাঁড়ান, এখন, আমি এটা করেছি খারাপ, এটা মনে হবে. 2120 01:45:33,910 --> 01:45:37,027 সুতরাং অন্তর্নিহিত ঘোষণা ফাংশন মুদ্রণ নাম অবৈধ. 2121 01:45:37,027 --> 01:45:38,360 এবং, আবার, সেখানে আরো ভুল. 2122 01:45:38,360 --> 01:45:41,430 কিন্তু আমি আগে সতর্ক করে, য়েমন আপনার সাথে উদ্বেল পেতে হলে, 2123 01:45:41,430 --> 01:45:44,850 অথবা একটু দু: খিত অনেক দেখতে ত্রুটি, প্রথমে শুধুমাত্র ফোকাস 2124 01:45:44,850 --> 01:45:47,500 শুধু প্রাথমিকভাবে, কারণ এটা হতে পারে একটি ক্যাসকেডিং প্রভাব ফেলেছে. 2125 01:45:47,500 --> 01:45:51,970 তাই সি, বা ঝনঝন আরো নির্দিষ্টভাবে, এখনও মুদ্রণ নাম স্বীকার করে না. 2126 01:45:51,970 --> 01:45:54,580 >> এবং যে কারণ ঝনঝন করে, নকশা দ্বারা, ধরনের বোবা. 2127 01:45:54,580 --> 01:45:56,280 এটা শুধু তুমি কি এটা করতে বলবেন. 2128 01:45:56,280 --> 01:46:00,950 এবং এটা শুধুমাত্র অনুক্রমে তাই আছে যা আপনি কি এটা বলতে. 2129 01:46:00,950 --> 01:46:05,270 >> তাই আমি লাইন চার মূল সংজ্ঞায়িত করেছেন, মত আমরা বেশ প্রায়ই কাজ করছি. 2130 01:46:05,270 --> 01:46:07,980 আমি লাইন 10 মুদ্রণ নাম সংজ্ঞায়িত করেছি. 2131 01:46:07,980 --> 01:46:11,793 কিন্তু আমি ব্যবহার করার চেষ্টা করছি লাইন সাত মুদ্রণ নাম. 2132 01:46:11,793 --> 01:46:13,670 >> এটা খুব শীঘ্রই, এখনো বিদ্যমান নেই এর. 2133 01:46:13,670 --> 01:46:19,150 তাই আমি চালাক হতে পারে, এবং মত হতে, ঠিক আছে, তাই আসুন শুধু বরাবর খেলা যাক, 2134 01:46:19,150 --> 01:46:23,680 এবং মুদ্রণ নাম উপরে উঠানো এখানে, এবং পুনরায় কম্পাইল. 2135 01:46:23,680 --> 01:46:24,550 হে ভগবান. 2136 01:46:24,550 --> 01:46:25,260 এটা কাজ করেছে. 2137 01:46:25,260 --> 01:46:26,670 এটা ঐটার মতই সহজ ছিল. 2138 01:46:26,670 --> 01:46:28,120 >> কিন্তু যুক্তি ঠিক নয়. 2139 01:46:28,120 --> 01:46:30,870 আপনি ঝনঝন শিক্ষা দিতে হবে তা প্রথম ফাংশন নির্ধারণ করে হয়. 2140 01:46:30,870 --> 01:46:31,920 তারপর আপনি এটি ব্যবহার করতে পারেন. 2141 01:46:31,920 --> 01:46:33,940 কিন্তু অকপটে, এই মতানুযায়ী একটি পিচ্ছিল ঢাল মত. 2142 01:46:33,940 --> 01:46:35,773 >> তাই প্রত্যেক সময় আমি চালাতে একটি সমস্যার মধ্যে, আমি শুধু আছি 2143 01:46:35,773 --> 01:46:39,450 হাইলাইট এবং কোড কপি যাচ্ছে আমি লিখেছি, এটা কেটে এখানে তা পেস্ট করুন. 2144 01:46:39,450 --> 01:46:41,370 এবং নিশ্চয় আমরা পারা কিছু পরিস্থিতিতে মাথা খাটিয়ে কিছু 2145 01:46:41,370 --> 01:46:43,286 যেখানে এক ফাংশন প্রতাপ আরেকটি কল দিতে হবে. 2146 01:46:43,286 --> 01:46:46,030 আর আপনি শুধু যে করা যাবে না প্রত্যেক অন্যান্য উপরের ফাংশন. 2147 01:46:46,030 --> 01:46:47,930 >> সুতরাং সেখানে এর সক্রিয় আউট একটি ভাল সমাধান. 2148 01:46:47,930 --> 01:46:50,100 আমরা এই হতে চলে যাবে. 2149 01:46:50,100 --> 01:46:53,677 এবং অকপটে, এটা সাধারণত সুন্দর, এবং সুবিধাজনক, এবং ভাল ডিজাইন 2150 01:46:53,677 --> 01:46:56,760 প্রধান প্রথম রাখা, কারণ, আবার, ঠিক মত যখন সবুজ পতাকা ক্লিক প্রধান, 2151 01:46:56,760 --> 01:46:59,027 যে ফাংশন যে ডিফল্ট দ্বারা মৃত্যুদন্ড কার্যকর করা হয়. 2152 01:46:59,027 --> 01:47:01,110 তাই আপনি যদি পাশাপাশি রাখা পারে এটা ফাইল উপরের 2153 01:47:01,110 --> 01:47:03,560 যাতে আপনি বা কোনো যখন অন্যান্য মানুষের ফাইলের দিকে দেখায় 2154 01:47:03,560 --> 01:47:06,360 আপনি জানেন কি ঘটছে শুধু প্রধান প্রথম পড়া. 2155 01:47:06,360 --> 01:47:15,360 সুতরাং দেখা যাচ্ছে, আমরা ঝনঝন বলতে পারেন সক্রিয়ভাবে, হেই, ঝনঝন শব্দ, লাইন চার, 2156 01:47:15,360 --> 01:47:17,940 আমি বাস্তবায়ন করতে অঙ্গীকার একটি ফাংশন বলা প্রিন্ট 2157 01:47:17,940 --> 01:47:22,600 নাম যে একটি স্ট্রিং বলা নাম নেয় ইনপুট, এবং আয় কিছুই, অকার্যকর হিসেবে. 2158 01:47:22,600 --> 01:47:24,770 এবং আমি প্রায় পাবেন এটা পরে বাস্তবায়ন. 2159 01:47:24,770 --> 01:47:25,680 >> এখানে মুখ্য আসে. 2160 01:47:25,680 --> 01:47:29,130 প্রধান এখন লাইনে 9 ব্যবহার করতে পারেন প্রিন্ট নাম কারণ ঝনঝন 2161 01:47:29,130 --> 01:47:32,600 যে বিশ্বাসই, অবশেষে, এটা সংজ্ঞা সম্মুখীন হবে 2162 01:47:32,600 --> 01:47:34,880 প্রিন্ট নাম বাস্তবায়ন. 2163 01:47:34,880 --> 01:47:37,390 তাই আমার ফাইল সংরক্ষণ পর দিন আমাকে এগিয়ে যান এবং প্রোটোটাইপ করা, 2164 01:47:37,390 --> 01:47:38,498 এই সময় ভাল দেখায়. 2165 01:47:38,498 --> 01:47:43,470 ডট স্ল্যাশ, প্রোটোটাইপ, আমাকে এগিয়ে যান এবং একটি নাম টাইপ করুন. 2166 01:47:43,470 --> 01:47:48,440 ডেভিড, হ্যালো ডেভিড, Zamila, হ্যালো Zamila, এবং প্রকৃতপক্ষে, এখন এটি কাজ করে. 2167 01:47:48,440 --> 01:47:52,200 >> সুতরাং উপাদান এখানে যে আমরা করেছি একটি কাস্টম ফাংশন, একটি কাস্টম মত 2168 01:47:52,200 --> 01:47:54,219 ভূত ব্লক আমরা এটা আহ্বান করছি. 2169 01:47:54,219 --> 01:47:57,010 কিন্তু শয়তান অসদৃশ যেখানে আপনি যা করতে পারেন শুধু এটি তৈরি এবং এটি ব্যবহার করা শুরু করুন, 2170 01:47:57,010 --> 01:47:59,330 এখন আমরা একটি থাকতে হবে একটু বেশি গোঁড়া, 2171 01:47:59,330 --> 01:48:03,410 এবং আসলে ঝনঝন প্রশিক্ষণ ব্যবহার করার জন্য, অথবা এটা প্রত্যাশা করতে পারে. 2172 01:48:03,410 --> 01:48:09,140 এখন, একটি সরাইয়া, কেন এই সব সময় আছে আমরা শুধু অন্ধভাবে সহ বিশ্বাসের উপর হয়েছে 2173 01:48:09,140 --> 01:48:12,170 CS50.h, এবং মান io.h সহ? 2174 01:48:12,170 --> 01:48:15,190 >> আচ্ছা, এটি সক্রিয় আউট, কয়েক অন্যান্য বিষয়ের মধ্যে, 2175 01:48:15,190 --> 01:48:18,550 সব যে ঐ ডট জ ফাইল, যা ঘটতে ফাইল করা. 2176 01:48:18,550 --> 01:48:20,460 তারা তাই কথা বলতে হেডার ফাইল করছি. 2177 01:48:20,460 --> 01:48:23,270 তারা এখনও সি তে লেখা করছি কিন্তু তারা ফাইল একটি ভিন্ন ধরনের করছি. 2178 01:48:23,270 --> 01:48:28,690 >> এখন জন্য, আপনি প্রায় কাছাকাছি অনুমান করতে পারেন সব CS50.h, ভিতরে হয় যে 2179 01:48:28,690 --> 01:48:33,360 এই মত কিছু এক liners, নয় ফাংশন বলা প্রিন্ট নাম, 2180 01:48:33,360 --> 01:48:36,840 কিন্তু স্ট্রিং পান, পান ফ্লোট, এবং কয়েক অন্যদের. 2181 01:48:36,840 --> 01:48:41,510 এবং সেখানে অনুরূপ এগুলির নমুনা হয়, এক liners, মান io.h এর ভিতরে 2182 01:48:41,510 --> 01:48:46,241 printf,, যা এখন জন্য আমার নিজের নাম মুদ্রণ করুন ফাংশন. 2183 01:48:46,241 --> 01:48:49,490 তাই অন্য কথায়, এই পুরো সময় আমরা করেছি শুধু অন্ধভাবে অনুলিপি করা ও পেস্ট 2184 01:48:49,490 --> 01:48:51,780 এই অন্তর্ভুক্ত অন্তর্ভুক্ত যে, কি হতে যাচ্ছে? 2185 01:48:51,780 --> 01:48:55,310 ঐ দ্বার শুধু ধরনের হয় কি ফাংশান হিসেবে ঝনঝন শব্দ 2186 01:48:55,310 --> 01:49:00,170 হয়, প্রকৃতপক্ষে, বাস্তবায়ন, শুধু বিভিন্ন ফাইল অন্যত্র 2187 01:49:00,170 --> 01:49:02,440 অন্যত্র সিস্টেমে. 2188 01:49:02,440 --> 01:49:05,160 >> সুতরাং আমরা মুদ্রণ নাম বাস্তবায়ন করেছি. 2189 01:49:05,160 --> 01:49:07,910 এটা এই পার্শ্ব প্রতিক্রিয়া আছে মুদ্রণ পর্দায় কিছু. 2190 01:49:07,910 --> 01:49:10,170 কিন্তু এটা আসলে না আমাকে কিছু ফিরে হাতে. 2191 01:49:10,170 --> 01:49:12,200 কিভাবে আমরা সম্পর্কে যান একটি প্রোগ্রাম বাস্তবায়ন করে 2192 01:49:12,200 --> 01:49:14,510 আমাকে কিছু ফিরে হাতে কী? 2193 01:49:14,510 --> 01:49:15,580 >> আচ্ছা, আসুন এই চেষ্টা. 2194 01:49:15,580 --> 01:49:21,360 আমাকে এগিয়ে যান এবং বাস্তবায়ন শুরু করা যাক একটি ফাইল নামক return.c 2195 01:49:21,360 --> 01:49:24,530 তাই আমরা কিভাবে কিছু প্রদর্শন করতে পারেন মত স্ট্রিং পান, বা int- পেতে, 2196 01:49:24,530 --> 01:49:27,340 আসলে ফিরে আসছে ফিরে ব্যবহারকারীকে কিছু. 2197 01:49:27,340 --> 01:49:29,840 এর এগিয়ে যান এবং int প্রধান অকার্যকর সংজ্ঞায়িত করি. 2198 01:49:29,840 --> 01:49:33,230 >> এবং, আবার, ভবিষ্যতে, আমরা করব ব্যাখ্যা কি যে int এবং যে শূন্যতা 2199 01:49:33,230 --> 01:49:34,090 আসলে কী করছেন. 2200 01:49:34,090 --> 01:49:35,840 কিন্তু আজকের জন্য, আমরা করব এটি গ্রহণ করা জন্য দেওয়া. 2201 01:49:35,840 --> 01:49:39,970 আমি এগিয়ে এবং printf যেতে যাচ্ছি একটি ভাল ব্যবহারকারীর অভিজ্ঞতা জন্য, x. 2202 01:49:39,970 --> 01:49:44,360 এবং তারপর আমি জন্য অপেক্ষা করতে যাচ্ছি ব্যবহারকারী আমাকে পেতে int- সঙ্গে এক্স দিতে. 2203 01:49:44,360 --> 01:49:48,459 >> এবং তারপর আমি এগিয়ে যেতে চলেছি এবং বর্গক্ষেত্র x এর প্রিন্ট আউট. 2204 01:49:48,459 --> 01:49:50,500 সুতরাং যখন আপনি শুধুমাত্র একটি আছে কীবোর্ড, সাধারণভাবে মানুষ 2205 01:49:50,500 --> 01:49:52,600 সামান্য গাজর ব্যবহার কীবোর্ড উপর প্রতীক 2206 01:49:52,600 --> 01:49:55,330 ক্ষমতায় প্রতিনিধিত্ব করতে এর, বা এর প্রবক্তা. 2207 01:49:55,330 --> 01:49:58,960 তাই বর্গ x আমি উপস্থিত. 2208 01:49:58,960 --> 01:50:00,660 >> এবং এখন আমি এই কাজ করতে যাচ্ছি. 2209 01:50:00,660 --> 01:50:03,940 আমি শুধু do-- পারে এক্স কি ছক? এক্স স্কোয়ারড এক্স বার x. 2210 01:50:03,940 --> 01:50:06,690 >> আর আমরা করেছিলাম এই কিছু আগে সময় ইতিমধ্যে আজ. 2211 01:50:06,690 --> 01:50:08,730 এই মত মনে হয় না যে সব অনেক উন্নতি. 2212 01:50:08,730 --> 01:50:09,570 তুমি কি জান? 2213 01:50:09,570 --> 01:50:13,100 এর যে ধারণা কিছু লিভারেজ যাক বিমূর্ততা শেষ সময় থেকে. 2214 01:50:13,100 --> 01:50:16,080 >> না এটা যদি চমৎকার হবে সেখানে একটি ফাংশন বলা হয় 2215 01:50:16,080 --> 01:50:18,460 বর্গাকার যে ঠিক তাই করছে? 2216 01:50:18,460 --> 01:50:20,640 এটা এখনও, শেষে দিন, একই গণিত আছে. 2217 01:50:20,640 --> 01:50:22,410 কিন্তু আসুন বিমূর্ত দূরে গ্রহণের ধারণা 2218 01:50:22,410 --> 01:50:25,280 এক নম্বর দ্বারা গুন অন্য, এবং শুধু এটি একটি নাম দিন, 2219 01:50:25,280 --> 01:50:27,360 মত এই মান বর্গক্ষেত্র. 2220 01:50:27,360 --> 01:50:29,560 >> আর, অন্য কথায়, এ সি, এর একটি ফাংশন তৈরি করা যাক 2221 01:50:29,560 --> 01:50:32,660 বলা বর্গাকার যে ঠিক তাই করছে. 2222 01:50:32,660 --> 01:50:34,600 এটা বলা বর্গাকার হতে যাচ্ছে. 2223 01:50:34,600 --> 01:50:35,790 এটা কোন int নিতে যাচ্ছে. 2224 01:50:35,790 --> 01:50:37,820 এবং আমরা করব ঠিক হবে এন কল, ডিফল্ট দ্বারা. 2225 01:50:37,820 --> 01:50:39,403 >> কিন্তু আমরা এটা আমরা চাই কিছু কল করতে পারে. 2226 01:50:39,403 --> 01:50:42,900 আর সব যাচ্ছে যে না, আক্ষরিক, প্রত্যাবর্তন 2227 01:50:42,900 --> 01:50:45,810 এন বার ফল. 2228 01:50:45,810 --> 01:50:48,980 কিন্তু তার কারণ হল, কিছু ফিরে, যা 2229 01:50:48,980 --> 01:50:53,690 রক্তবর্ণ আমরা করেছি শব্দ হয় আগে কখনো দেখা যায়, আমি, লাইন 11, 2230 01:50:53,690 --> 01:50:55,410 না শুধু শূন্যতা বলতে পারি এই সময়. 2231 01:50:55,410 --> 01:51:01,320 >> অকার্যকর, উদাহরণে আমরা শুধু দেখেছি মুদ্রণ নামের পরিবর্তে, মানে, 2232 01:51:01,320 --> 01:51:02,190 কিছু কর. 2233 01:51:02,190 --> 01:51:04,170 কিন্তু আমাকে কিছু ফিরে হাতে না. 2234 01:51:04,170 --> 01:51:06,790 এই ক্ষেত্রে, আমি চাই না ফিরে যেতে এন বার, 2235 01:51:06,790 --> 01:51:08,460 বা যাই হোক না কেন যে, যে সংখ্যা. 2236 01:51:08,460 --> 01:51:12,460 >> তাই আমি বলতে পারব না, হেই, কম্পিউটার, আমি অকার্যকর কিছুই আসতে. 2237 01:51:12,460 --> 01:51:16,166 এটা ফেরত দিতে প্রকৃতি দ্বারা, কোন int যাচ্ছে. 2238 01:51:16,166 --> 01:51:17,790 তাই যে সব যে এখানে উপর যাচ্ছে. 2239 01:51:17,790 --> 01:51:20,070 >> ইনপুট বর্গক্ষেত্র থেকে int হতে যাচ্ছে. 2240 01:51:20,070 --> 01:51:24,760 এবং যাতে আমরা এটি ব্যবহার করতে পারেন, এটা করা হয়েছে একটি নাম আছে, এন এটা আউটপুট যাচ্ছে 2241 01:51:24,760 --> 01:51:26,240 কোন int যে একটি নাম দরকার নেই. 2242 01:51:26,240 --> 01:51:29,590 আমরা এটা মূল চলে যাবে, অথবা যে কেহ নয় আমাকে ব্যবহার করে এই নির্দেশটি যদি আমরা মনে রাখতে 2243 01:51:29,590 --> 01:51:31,120 নিজস্ব পরিবর্তনশীল সঙ্গে চান. 2244 01:51:31,120 --> 01:51:33,230 >> এবং, আবার, শুধুমাত্র নতুন এখানে শব্দ ফিরে এসো. 2245 01:51:33,230 --> 01:51:34,480 আর আমি শুধু কিছু গণিত করছি. 2246 01:51:34,480 --> 01:51:41,825 তাহলে আমি সত্যিই অপ্রয়োজনীয় হতে চেয়েছিলেন, আমি বলতে পারি কোন int পণ্য পায় এন বার. 2247 01:51:41,825 --> 01:51:44,170 >> এবং তারপর আমি ফিরে পণ্য বলতে পারে. 2248 01:51:44,170 --> 01:51:47,360 কিন্তু, আবার, আমার বিন্দু আগের এই মাত্র না হচ্ছে ভাল design-- 2249 01:51:47,360 --> 01:51:50,060 মত, কেন একটি নাম, পরিচয় করিয়ে একটি প্রতীক, পণ্যের মত, 2250 01:51:50,060 --> 01:51:51,570 শুধু অবিলম্বে তা ফেরত দেওয়ার জন্য? 2251 01:51:51,570 --> 01:51:53,670 এটা একটা সামান্য ক্লিনার এর, একটু কঠিন, তাই 2252 01:51:53,670 --> 01:51:59,380 কথা বলার জন্য অবশ্য বিনিময়ে এন বার বলে এন, পুরাপুরি এই লাইন পরিত্রাণ পেতে. 2253 01:51:59,380 --> 01:52:02,860 >> আর এটা শুধু কম পড়তে কোড, ভুলের জন্য কম সুযোগ. 2254 01:52:02,860 --> 01:52:05,180 আর এই যদি দেখতে দিন আসলে এখন কাজ করে. 2255 01:52:05,180 --> 01:52:09,380 এখন, আমি যেতে চলেছি এগিয়ে এবং রিটার্ন করতে. 2256 01:52:09,380 --> 01:52:11,460 >> উহ ওহ, ফাংশন এর অন্তর্নিহিত ঘোষণা. 2257 01:52:11,460 --> 01:52:14,080 আমি এই ভুল করার আগে কোন বড় চুক্তি তৈরি. 2258 01:52:14,080 --> 01:52:18,950 আমাকে শুধু টাইপ করা যাক, বা উজ্জ্বল কপি, সঠিক একই ফাংশন প্রোটোটাইপ, 2259 01:52:18,950 --> 01:52:21,342 বা স্বাক্ষর, ফাংশন আপ এখানে এর. 2260 01:52:21,342 --> 01:52:22,800 অথবা আমি পুরো ফাংশন সরাতে পারে. 2261 01:52:22,800 --> 01:52:23,841 >> কিন্তু যে একটু অলস না. 2262 01:52:23,841 --> 01:52:24,870 সুতরাং আমরা যে কাজ করতে হবে না. 2263 01:52:24,870 --> 01:52:27,960 এখন, আমার প্রত্যাবর্তন করা যাক আবার, স্ল্যাশ রিটার্ন বিন্দু. 2264 01:52:27,960 --> 01:52:32,790 >> এক্স 2. এক্স বর্গ 4. এক্স 3. এক্স বর্গ 9. 2265 01:52:32,790 --> 01:52:35,300 এবং ফাংশন মনে হয় এখন কাজ করতে হবে. 2266 01:52:35,300 --> 01:52:36,550 তাই কি পার্থক্য এখানে আছে? 2267 01:52:36,550 --> 01:52:42,520 আমি একটি ফাংশন যে বর্গক্ষেত্র বলা আছে, এই ক্ষেত্রে, যা আমি একটি ইনপুট রাখা মধ্যে. 2268 01:52:42,520 --> 01:52:43,830 এরপর আমি একজন আউটপুট ফিরে পেতে. 2269 01:52:43,830 --> 01:52:46,210 এবং এখনো, পূর্বে, যদি আমি অন্য একটি উদাহরণ খুলুন 2270 01:52:46,210 --> 01:52:51,640 আগে থেকে, যা prototype.c বলা ছিল, 2271 01:52:51,640 --> 01:52:54,770 আমি মুদ্রণ নাম, ছিল যা অকার্যকর ফিরে, তাই কথা বলতে, 2272 01:52:54,770 --> 01:52:58,730 অথবা এটা কিছুই ফিরে এল, আর কেবল একটি পার্শ্ব প্রতিক্রিয়া ছিল. 2273 01:52:58,730 --> 01:53:00,230 >> সুতরাং এখানে কি ঘটছে? 2274 01:53:00,230 --> 01:53:03,520 ওয়েল, ফাংশন বিবেচনা শুধু একটা মুহূর্ত জন্য স্ট্রিং পেতে. 2275 01:53:03,520 --> 01:53:06,570 আমরা ফাংশন ব্যবহার করছি নিম্নোক্ত উপায়ে স্ট্রিং পেতে. 2276 01:53:06,570 --> 01:53:10,464 >> আমরা একটি ফাংশন পেতে ছিল করেছি স্ট্রিং, মত, CS50.h, অন্তর্ভুক্ত 2277 01:53:10,464 --> 01:53:16,624 প্রমিত io.h, int, প্রধান, শূন্যতা অন্তর্ভুক্ত. 2278 01:53:16,624 --> 01:53:18,790 এবং তারপর প্রত্যেক সময় আমি করেছি দূর পর্যন্ত পেতে স্ট্রিং বলা, 2279 01:53:18,790 --> 01:53:23,260 আমি করেছি কিছু মত, স্ট্রিং গুলি স্ট্রিং পেতে পায় কারণ পেতে স্ট্রিং 2280 01:53:23,260 --> 01:53:27,880 এর এই get.c-- পেতে স্ট্রিং ডাকুক নিজেই একটি স্ট্রিং ফেরৎ যে আমি তারপর পারেন 2281 01:53:27,880 --> 01:53:32,050 ব্যবহার, এবং বলে, কিরে কোন কমা, শতাংশ গুলি, ব্যাকস্ল্যাশ এন, গুলি. 2282 01:53:32,050 --> 01:53:35,660 >> সুতরাং এই একই উদাহরণ, সত্যিই, আমরা আগে ছিল যে. 2283 01:53:35,660 --> 01:53:37,920 তাই স্ট্রিং একটি মান পেতে. 2284 01:53:37,920 --> 01:53:41,260 কিন্তু একটি মুহূর্ত আগে, মুদ্রণ স্ট্রিং একটি ভ্যালু রিটার্ন করে না. 2285 01:53:41,260 --> 01:53:42,721 এটা শুধু একটি পার্শ্ব প্রতিক্রিয়া রয়েছে. 2286 01:53:42,721 --> 01:53:44,220 তাই এই একটি মৌলিক পার্থক্য নেই. 2287 01:53:44,220 --> 01:53:46,710 আমরা বিভিন্ন দেখেছি এখন কার্যাবলী ধরনের, 2288 01:53:46,710 --> 01:53:49,490 যা কিছু ফিরে এসেছি মূল্যবোধ, যা কিছু করবেন না. 2289 01:53:49,490 --> 01:53:51,890 তাই হয়তো এটা স্ট্রিং, বা কোন int, বা ভাসা না. 2290 01:53:51,890 --> 01:53:53,480 অথবা হয়ত এটা শুধু অকার্যকর. 2291 01:53:53,480 --> 01:53:55,710 >> আর পার্থক্য নেই যে এই ফাংশন যে 2292 01:53:55,710 --> 01:53:59,940 তথ্য পেতে এবং একটি মান আসলে কিছু টেবিলে ফিরিয়ে আনার, 2293 01:53:59,940 --> 01:54:01,110 তাই কথা বলতে. 2294 01:54:01,110 --> 01:54:03,710 সুতরাং আসুন এগিয়ে যান এবং এক চূড়ান্ত সেট তাকান 2295 01:54:03,710 --> 01:54:09,129 যে একটা ধারনা দেয়, এখন, উদাহরণ কয়েক কিভাবে আমরা যেতে পারি, প্রকৃতপক্ষে, বিমূর্ত ভাল, 2296 01:54:09,129 --> 01:54:11,670 এবং ভাল, এবং ভাল, বা তার বেশি, এবং আরো, এবং আরো, অনুক্রমে 2297 01:54:11,670 --> 01:54:13,810 লিখতে, পরিণামে, ভাল কোড. 2298 01:54:13,810 --> 01:54:16,860 এর এগিয়ে যান, এবং আত্মা মধ্যে দিন ভূত, নিম্নলিখিত কাজগুলো. 2299 01:54:16,860 --> 01:54:21,700 >> আমাকে এগিয়ে যান এবং অন্তর্ভুক্ত করা যাক CS50.h, এবং প্রমিত io.h. 2300 01:54:21,700 --> 01:54:24,010 আমাকে এগিয়ে যান এবং দেত্তয়া নিজেকে কোন int, প্রধান, শূন্যতা. 2301 01:54:24,010 --> 01:54:27,380 এবং আমাকে এগিয়ে যান, এই cough.c ডাকুক. 2302 01:54:27,380 --> 01:54:35,510 >> এবং আমাকে এগিয়ে এবং মাত্র যাই ভূত, কাশি / N প্রিন্ট আউট. 2303 01:54:35,510 --> 01:54:37,170 আর আমি এই তিন বার করতে চান. 2304 01:54:37,170 --> 01:54:39,670 তাই আমি আছি, অবশ্যই, শুধু যাচ্ছে কপি এবং তিনবার পেস্ট. 2305 01:54:39,670 --> 01:54:46,440 আমি এখন করতে যাচ্ছি ডট স্ল্যাশ কাশি কাশি. 2306 01:54:46,440 --> 01:54:50,120 এর নিজেকে একটু বেশি রুম দিই এখানে লিখুন, কাশি, কফ, কাশি. 2307 01:54:50,120 --> 01:54:53,970 >> সেখানে এর স্পষ্টত, ইতিমধ্যে একটি উন্নতির জন্য সুযোগ. 2308 01:54:53,970 --> 01:54:55,679 আমি কপি এবং আটকানো করেছি আজকে কয়েকটি বার. 2309 01:54:55,679 --> 01:54:58,261 কিন্তু যে শুধুমাত্র ছিল তাই আমি না যেমন অনেক অক্ষর টাইপ করতে হবে. 2310 01:54:58,261 --> 01:55:00,250 আমি এখনও বদল কোড যারা লাইন আছে. 2311 01:55:00,250 --> 01:55:04,240 >> এই তিন লাইন, অভিন্ন যা অলস মতানুযায়ী এবং বটে, 2312 01:55:04,240 --> 01:55:07,110 এবং সম্ভবত সঠিক পন্থা নয়. 2313 01:55:07,110 --> 01:55:11,029 কি উপাদান দিয়ে তাই আমরা এই কোড উন্নত করতে পারে? 2314 01:55:11,029 --> 01:55:12,570 আমরা কপি এবং পেস্ট কোড করতে হবে না. 2315 01:55:12,570 --> 01:55:15,070 >> এবং প্রকৃতপক্ষে, যে কোনো সময় আপনি মনে করেন নিজেকে কপি এবং পেস্ট, 2316 01:55:15,070 --> 01:55:17,700 এবং এমনকি কোড পরিবর্তন না, মতভেদ আছে একটি ভাল উপায় আছে. 2317 01:55:17,700 --> 01:55:19,470 এবং প্রকৃতপক্ষে, আছে. 2318 01:55:19,470 --> 01:55:22,510 আমাকে এগিয়ে যান এবং লুপ জন্য একটি, যদিও সিনট্যাক্স না করি 2319 01:55:22,510 --> 01:55:24,570 স্বাভাবিকভাবেই এখনও আসে. 2320 01:55:24,570 --> 01:55:29,494 >> এই তিনবার না, কেবল নিম্নলিখিত করছেন দ্বারা 2321 01:55:29,494 --> 01:55:31,160 এবং আমি অনুশীলন থেকে এই জানি ঘটতে. 2322 01:55:31,160 --> 01:55:32,810 কিন্তু আমরা এখন উদাহরণ একটি সংখ্যা আছে. 2323 01:55:32,810 --> 01:55:34,950 এবং আপনি অনলাইন দেখতে পাবেন এখনও আরও রেফারেন্স. 2324 01:55:34,950 --> 01:55:37,790 >> এই লাইন 6 সিনট্যাক্স যে অনেক ভূত যে পুনরাবৃত্তি মত 2325 01:55:37,790 --> 01:55:40,090 ব্লক, নিম্নলিখিত তিনবার পুনরাবৃত্তি. 2326 01:55:40,090 --> 01:55:41,340 এটা এখন জন্য একটু ঐন্দ্রজালিক এর. 2327 01:55:41,340 --> 01:55:43,050 কিন্তু এই আরো পেতে হবে, এবং আরো পরিচিত. 2328 01:55:43,050 --> 01:55:45,050 >> এবং এটি পুনরাবৃত্তি যাচ্ছে লাইন আট তিনবার, 2329 01:55:45,050 --> 01:55:52,390 যাতে করে আমি পুনরায় কম্পাইল কাশি, ডট স্ল্যাশ কাশি, কাশি, কফ, কাশি. 2330 01:55:52,390 --> 01:55:54,030 এটা এখনও একই ভাবে কাজ করে. 2331 01:55:54,030 --> 01:55:55,550 সুতরাং যে সব জরিমানা এবং ভাল. 2332 01:55:55,550 --> 01:55:58,200 কিন্তু যে খুব আনমনা নয়. 2333 01:55:58,200 --> 01:55:59,371 >> এটা পুরোপুরি সঠিক. 2334 01:55:59,371 --> 01:56:01,370 কিন্তু এটা মত মতানুযায়ী একটি সুযোগ হতে পারে, 2335 01:56:01,370 --> 01:56:03,750 জগতে যেমন ভূত, স্টার্ট ধরনের 2336 01:56:03,750 --> 01:56:07,530 যাতে কিছু শব্দার্থবিদ্যা এখানে যোগ করার জন্য আমি শুধু লুপ জন্য কিছু না, 2337 01:56:07,530 --> 01:56:09,867 এবং একটি ফাংশন যে বলছেন কাশি বা কফ নেই. 2338 01:56:09,867 --> 01:56:10,450 তুমি কি জান? 2339 01:56:10,450 --> 01:56:12,620 আমাকে একটি হতে চেষ্টা করি যে চেয়ে সামান্য শীতল, 2340 01:56:12,620 --> 01:56:16,090 এবং আসলে একটি ফাংশন লিখতে যে কিছু পার্শ্ব প্রতিক্রিয়া আছে, এটা কাশি কল. 2341 01:56:16,090 --> 01:56:20,830 >> এবং এটা কোনো ইনপুট নেয় এবং আউটপুট হিসাবে কোন মান. 2342 01:56:20,830 --> 01:56:22,680 কিন্তু আপনি কি এটা জানেন না? 2343 01:56:22,680 --> 01:56:29,370 এটা আপাততঃ printf, না, মূল্যউদ্ধৃতি উদ্ধতি, কাশি. 2344 01:56:29,370 --> 01:56:32,380 >> আর এখন এখানে, আমি যাচ্ছি এগিয়ে এবং int জন্য যেতে, 2345 01:56:32,380 --> 01:56:36,070 আমি শূন্য আমি প্লাস প্লাস পায়, আমি কম 3. 2346 01:56:36,070 --> 01:56:39,770 আমি printf না হলে যা যাচ্ছি তর্কসাপেক্ষ একটি নিম্ন স্তরের বাস্তবায়ন 2347 01:56:39,770 --> 01:56:40,270 বিস্তারিত. 2348 01:56:40,270 --> 01:56:41,353 আমি পরোয়া করি না কিভাবে কাশি. 2349 01:56:41,353 --> 01:56:43,240 আমি শুধু কাশি ফাংশন ব্যবহার করতে চান. 2350 01:56:43,240 --> 01:56:44,840 আর আমি শুধু কাশি কল যাচ্ছি. 2351 01:56:44,840 --> 01:56:46,204 >> এখন, বৈপরীত্য লক্ষ্য. 2352 01:56:46,204 --> 01:56:49,370 যখন আপনি একটি ফাংশন কল, যদি আপনি এরূপ না করেন এটা ইনপুট, সম্পূর্ণই সূক্ষ্ম দিতে চান. 2353 01:56:49,370 --> 01:56:51,780 শুধু খোলা paren, বন্ধ না বন্ধ, এবং আপনার কাজ সম্পন্ন হয়. 2354 01:56:51,780 --> 01:56:56,271 >> যখন আপনি একটি ফাংশন নির্ধারণ, বা একটি ফাংশন এর প্রোটোটাইপ, ঘোষণা 2355 01:56:56,271 --> 01:56:58,770 যদি আপনি আগাম জানতে এটা না কোনো আর্গুমেন্ট গ্রহণ করা যাচ্ছে, 2356 01:56:58,770 --> 01:57:01,170 সেখানে ঐ বন্ধনীর মধ্যে অকার্যকর বলে. 2357 01:57:01,170 --> 01:57:05,660 এবং যে নির্দিষ্ট করে তোলে যে আপনি ঘটনাক্রমে এটা অপব্যবহার করা হবে না. 2358 01:57:05,660 --> 01:57:07,020 আমাকে এগিয়ে যান এবং কাশি করা যাক. 2359 01:57:07,020 --> 01:57:08,540 এবং, অবশ্যই, আমি ভুল করেছি. 2360 01:57:08,540 --> 01:57:10,410 >> শালা, যে আছে অন্তর্নিহিত ঘোষণা. 2361 01:57:10,410 --> 01:57:11,325 কিন্তু যে সূক্ষ্ম. 2362 01:57:11,325 --> 01:57:12,590 এটি একটি সহজ ফিক্স এর. 2363 01:57:12,590 --> 01:57:18,240 আমি শুধু প্রোটোটাইপ উচ্চতর পর্যন্ত প্রয়োজন আমার ফাইল তুলনায় আমি আসলে এটা ব্যবহার করছি. 2364 01:57:18,240 --> 01:57:20,070 >> তাই এখন আমার কাশি আবার, চমৎকার করা যাক. 2365 01:57:20,070 --> 01:57:20,790 এখন এটা কাজ করছে. 2366 01:57:20,790 --> 01:57:22,930 কাশি, কাশি, কফ, কাশি করুন. 2367 01:57:22,930 --> 01:57:25,930 তাই আপনার মনে হতে পারে যে, আমরা সত্যিই আছেন মাত্র এই সমস্যা প্রকৌশল. 2368 01:57:25,930 --> 01:57:26,763 এবং প্রকৃতপক্ষে, আমরা হয়. 2369 01:57:26,763 --> 01:57:28,870 এই একটি ভাল নয় একটি প্রোগ্রাম এর প্রার্থী 2370 01:57:28,870 --> 01:57:31,930 জন্য মুহূর্তে refactoring, এবং করছেন কি 2371 01:57:31,930 --> 01:57:35,645 হায়ারারকিকাল পচানি ডেকে যেখানে আপনাকে কিছু কোড নিতে, এবং তারপর 2372 01:57:35,645 --> 01:57:38,790 আপনি ধরনের ফ্যাক্টর কিছু আউট, তাই তাদের আরো শব্দার্থবিদ্যা আরোপ করা, 2373 01:57:38,790 --> 01:57:40,930 এবং শেষ পর্যন্ত দীর্ঘমেয়াদী পুনঃব্যবহার. 2374 01:57:40,930 --> 01:57:43,490 কিন্তু এটা দিকে একটি বিল্ডিং ব্লক আরো পরিশীলিত প্রোগ্রাম 2375 01:57:43,490 --> 01:57:45,600 যে আমরা শুরু হবে দীর্ঘ আগে যে লেখা 2376 01:57:45,600 --> 01:57:50,090 আমাদের শব্দভান্ডার করতে সক্ষম হবেন যা দিয়ে ভাল কোড লিখতে. 2377 01:57:50,090 --> 01:57:52,920 এবং প্রকৃতপক্ষে, আসুন যদি আমরা দেখি এই বিষয়ে আরও সাধারণের বোধগম্য না পারেন. 2378 01:57:52,920 --> 01:57:57,984 >> এটা একটা সামান্য খোঁড়া মনে হয় যে আমি, প্রধান, লুপ জন্য এই অভিশাপ সম্পর্কে চিন্তা করতে হবে, 2379 01:57:57,984 --> 01:57:59,400 এবং আবার এবং আবার কাশি কলিং. 2380 01:57:59,400 --> 01:58:03,050 কেন আমি শুধু কাশি বলতে পারে না, তিনবার কাশি দয়া করে? 2381 01:58:03,050 --> 01:58:08,170 অন্য কথায়, আমি কেন পারি না শুধু কাশি এবং এই কাজ করতে ইনপুট দিতে? 2382 01:58:08,170 --> 01:58:11,270 >> আমি শুধু কেন বলতে পারবে না, এ প্রধান কাশি তিনবার. 2383 01:58:11,270 --> 01:58:13,150 আর এখন, এই ধরনের ঐন্দ্রজালিক হয়. 2384 01:58:13,150 --> 01:58:14,540 এটা এখানে খুব পুনরাবৃত্ত হবে. 2385 01:58:14,540 --> 01:58:15,940 এবং এটি একটি শিশুর পদক্ষেপ, প্রকৃতপক্ষে. 2386 01:58:15,940 --> 01:58:19,250 >> কিন্তু শুধু ক্ষমতা বলে লাইন আট, তিনবার কাশি, 2387 01:58:19,250 --> 01:58:20,730 এটা ঠিক তাই অনেক বেশি পাঠযোগ্য নয়. 2388 01:58:20,730 --> 01:58:24,210 এবং, প্লাস, আমি জানতে চাই না বা গ্রাহ্য কিভাবে কাশি বাস্তবায়িত হয়. 2389 01:58:24,210 --> 01:58:26,460 এবং প্রকৃতপক্ষে, পরে মেয়াদ এবং প্রকল্পের জন্য চূড়ান্ত, 2390 01:58:26,460 --> 01:58:29,150 আপনার সাথে একটি প্রকল্প মোকাবেলা করে একটি সহপাঠী বা দুই সহপাঠী, 2391 01:58:29,150 --> 01:58:32,370 আপনি বুঝতে পারবেন যে আপনি চলুন আছে, বা, কাজ ভাগ করতে চান. 2392 01:58:32,370 --> 01:58:34,650 >> এবং আপনি সিদ্ধান্ত নিতে চান চলুন আগাম, যারা কি করতে যাচ্ছে, 2393 01:58:34,650 --> 01:58:35,483 এবং যা টুকরা টুকরা? 2394 01:58:35,483 --> 01:58:37,520 এবং এটি চমৎকার হবে যদি আপনি, উদাহরণস্বরূপ, 2395 01:58:37,520 --> 01:58:40,100 মূল লেখার চার্জ সম্পন্ন নিতে. 2396 01:58:40,100 --> 01:58:43,470 আর তোমার রুমমেটের, বা আপনার অংশীদার আরো সাধারণভাবে, 2397 01:58:43,470 --> 01:58:45,230 কাশি বাস্তবায়নে যত্ন নেয়. 2398 01:58:45,230 --> 01:58:49,540 >> আর এই বিভাজন, এই বিমূর্ততা দেয়াল, 2399 01:58:49,540 --> 01:58:52,310 অথবা যদি বিমূর্ততা স্তর আপনি হবে, সুপার শক্তিশালী 2400 01:58:52,310 --> 01:58:55,480 বিশেষত বড় কারণ, আরো জটিল প্রোগ্রাম এবং সিস্টেম, 2401 01:58:55,480 --> 01:59:00,070 এটা একাধিক ব্যক্তি নির্মাণ করতে পারবেন জিনিস একসঙ্গে, এবং পরিণামে 2402 01:59:00,070 --> 01:59:02,680 একসঙ্গে তাদের কাজ সেলাই এই ভাবে. 2403 01:59:02,680 --> 01:59:05,332 কিন্তু, অবশ্যই, আমরা এখন কাশি ঠিক করা প্রয়োজন. 2404 01:59:05,332 --> 01:59:07,290 আমরা কাশি বলা প্রয়োজন যে, হেই, তুমি কি জানো? 2405 01:59:07,290 --> 01:59:11,230 আপনি একটি নিতে প্রয়োজন চলুন ইনপুট যাতে বিফল না, কিন্তু কোন int এবং এখন. 2406 01:59:11,230 --> 01:59:15,170 এর এগিয়ে যান এবং পুরা যাক int-কাশি. আমি শূন্য পায়. 2407 01:59:15,170 --> 01:59:16,890 >> আমি কতবার চেয়ে কম হয়. 2408 01:59:16,890 --> 01:59:18,550 আমি সামনে তিন বলেন. 2409 01:59:18,550 --> 01:59:20,420 কিন্তু যে আমি কি চাই না. 2410 01:59:20,420 --> 01:59:25,520 আমি সাধারণীকরণ করা কাশি চান পুনরাবৃত্তিও কোন সংখ্যা সমর্থন. 2411 01:59:25,520 --> 01:59:28,800 >> তাই, প্রকৃতপক্ষে, এটি এন যে আমি চাই, যাই হোক না কেন ব্যবহারকারী আমাকে বলে. 2412 01:59:28,800 --> 01:59:31,620 এখন, আমি এগিয়ে যান এবং বলে মুদ্রণ কাশি পারেন. 2413 01:59:31,620 --> 01:59:34,750 এবং কোন ব্যাপার কি সংখ্যা ব্যবহারকারী পাস, 2414 01:59:34,750 --> 01:59:36,890 আমি যে অনেক বার পুনরুক্তি হবে. 2415 01:59:36,890 --> 01:59:39,160 >> দিনের শেষে, প্রোগ্রাম অভিন্ন. 2416 01:59:39,160 --> 01:59:42,820 কিন্তু এই সমস্ত জিনিস লক্ষ্য এমনকি অন্য ফাইল হতে পারে. 2417 01:59:42,820 --> 01:59:45,620 আমি জানি না মুহূর্ত কিভাবে printf, বাস্তবায়িত হয়. 2418 01:59:45,620 --> 01:59:47,980 >> আমি এই মুহূর্তে জানি না কিভাবে পেতে স্ট্রিং, বা কোন int পেতে, বা ভাসা পেতে 2419 01:59:47,980 --> 01:59:48,646 বাস্তবায়িত হয়. 2420 01:59:48,646 --> 01:59:50,930 আর আমি চাই না আমার পর্দায় তাদের দেখতে. 2421 01:59:50,930 --> 01:59:55,320 হিসাবে এটা, আমি ফোকাস করতে শুরু করেছি আমার প্রোগ্রাম, না যারা ফাংশন. 2422 01:59:55,320 --> 01:59:59,070 >> তাই প্রকৃতপক্ষে, যত তাড়াতাড়ি আপনি যেমন এই ধরণের কোডগুলোকে আউট ফ্যাক্টরিং শুরু, 2423 01:59:59,070 --> 02:00:01,397 আমরা এমনকি কাশি সরাতে পারে একটি পৃথক ফাইলে? 2424 02:00:01,397 --> 02:00:02,730 অন্য কেউ এটা বাস্তবায়ন হতে পারে. 2425 02:00:02,730 --> 02:00:06,810 এবং আপনি এবং আপনার প্রোগ্রাম পরিণত খুব সুন্দর, এবং খুব পাঠযোগ্য, 2426 02:00:06,810 --> 02:00:10,830 তর্কসাপেক্ষ, সত্যিই চার লাইন প্রোগ্রাম ঠিক আছে. 2427 02:00:10,830 --> 02:00:13,510 >> তাই আসুন এখন এগিয়ে যান এবং আরও একটি পরিবর্তন করতে. 2428 02:00:13,510 --> 02:00:16,180 লক্ষ করুন যে, আমার প্রোটোটাইপ টপ আপ পরিবর্তন করতে হয়েছে. 2429 02:00:16,180 --> 02:00:18,390 তাই আমাকে যাতে ঠিক করি আমি চিৎকার করতে না. 2430 02:00:18,390 --> 02:00:22,580 >> কাশি করুন, আমাকে কাশি একবার চালানো যাক আরো, এখনও একই জিনিস করছেন. 2431 02:00:22,580 --> 02:00:26,010 কিন্তু এখন, আমরা একটি আছে এক চূড়ান্ত সংস্করণ জন্য উপাদান. 2432 02:00:26,010 --> 02:00:26,940 তুমি কি জান? 2433 02:00:26,940 --> 02:00:29,040 আমি না শুধু কাশি, অগত্যা চান. 2434 02:00:29,040 --> 02:00:30,802 আমি আরো কিছু সাধারণ করাতে চাই. 2435 02:00:30,802 --> 02:00:31,510 তাই আপনি কি জানেন? 2436 02:00:31,510 --> 02:00:32,450 আমি এটা করতে চাই. 2437 02:00:32,450 --> 02:00:37,140 আমি আছে, অনেক ভূত মত চান , একজন বলে ব্লক, কিন্তু ঠিক না 2438 02:00:37,140 --> 02:00:38,680 বলতে কিছু সময়ের কিছু সংখ্যা. 2439 02:00:38,680 --> 02:00:41,510 আমি এটি একটি খুব নির্দিষ্ট স্ট্রিং বলতে চাই. 2440 02:00:41,510 --> 02:00:43,850 এবং, অতএব, আমি না চাই শুধু কাশি বলে. 2441 02:00:43,850 --> 02:00:47,660 আমি এটা বলতে চাই যাই হোক না কেন স্ট্রিং পাস হয়. 2442 02:00:47,660 --> 02:00:49,960 >> তাই লক্ষ্য করা, আমি সাধারণীকরণ করেছি এই তাই এখন যে 2443 02:00:49,960 --> 02:00:53,110 বলে সুনাম মত মতানুযায়ী এই জন্য, ভূত, 2444 02:00:53,110 --> 02:00:55,530 স্ক্র্যাচ অসদৃশ দুটি আর্গুমেন্ট লাগে. 2445 02:00:55,530 --> 02:00:56,570 এক একটি পংক্তি. 2446 02:00:56,570 --> 02:00:57,300 এক int হয়. 2447 02:00:57,300 --> 02:00:58,130 >> আর আমি তাদের সুইচ করতে পারে. 2448 02:00:58,130 --> 02:01:00,713 আমি শুধু ধরনের ধারণা মত বলতে স্ট্রিং প্রথম, এবং তারপর 2449 02:01:00,713 --> 02:01:01,940 কত পরবর্তীদের. 2450 02:01:01,940 --> 02:01:03,970 অকার্যকর এটি এখনও মানে কিছু ফেরত না. 2451 02:01:03,970 --> 02:01:06,428 এই মাত্র চাক্ষুষ পাশ হয় প্রভাব, [সঙ্গে মত? জর্ডান,?] 2452 02:01:06,428 --> 02:01:08,240 yelling একটি মৌখিক পার্শ্ব প্রতিক্রিয়া. 2453 02:01:08,240 --> 02:01:12,630 এটা এখনও, কিছু এন বার করে আপ 0, কিন্তু এন সমান না. 2454 02:01:12,630 --> 02:01:14,540 এই n মোট বার মানে. 2455 02:01:14,540 --> 02:01:16,540 এবং তারপর মাত্র প্রিন্ট আউট যাই হোক না কেন যে পংক্তি. 2456 02:01:16,540 --> 02:01:19,060 তাই আমি সত্যিই সাধারণীকরণ করেছি কোড এই লাইন. 2457 02:01:19,060 --> 02:01:22,460 সুতরাং এখন, আমি কিভাবে বাস্তবায়ন করবেন কাশি ফাংশন? 2458 02:01:22,460 --> 02:01:25,520 >> আমি অকার্যকর কাশি নির্বাচন করতে পারবেন. 2459 02:01:25,520 --> 02:01:28,501 এবং আমি এখনও কিভাবে নিতে পারেন অনেক বার আপনি কাশি চাই. 2460 02:01:28,501 --> 02:01:29,250 কিন্তু আপনি কি জানেন? 2461 02:01:29,250 --> 02:01:31,240 আমি এখন বলতে পান্ট পারেন. 2462 02:01:31,240 --> 02:01:36,540 >> আমি সঙ্গে বলতে কল করতে পারেন শব্দ কাশি, কথা প্রসঙ্গে n. 2463 02:01:36,540 --> 02:01:40,410 আর আমিও বাস্তবায়ন করতে চান তাহলে, শুধু মজার জন্য, একটি হাঁচি ফাংশন, 2464 02:01:40,410 --> 02:01:42,290 আমি বার কিছু সংখ্যা হাঁচি পারেন. 2465 02:01:42,290 --> 02:01:47,300 আর আমি এন পুনঃব্যবহার রাখতে পারবেন না, কারণ এই প্রসঙ্গ বা পরিধি যে মি লক্ষ্য 2466 02:01:47,300 --> 02:01:49,470 এই ফাংশন মধ্যে শুধুমাত্র বিদ্যমান. 2467 02:01:49,470 --> 02:01:52,767 >> এন এই প্রেক্ষাপটে শুধুমাত্র এই ফাংশন এখানে উপস্থিত থাকে. 2468 02:01:52,767 --> 02:01:54,600 তাই আমরা ফিরে আসবো সুযোগ এই সমস্যা. 2469 02:01:54,600 --> 02:02:01,160 আর এখানে, আমি শুধু বলতে যাচ্ছি, achoo, এবং তারপর এন বার, সেমিকোলন. 2470 02:02:01,160 --> 02:02:04,340 >> এবং এখন, আমি শুধু ধার করা প্রয়োজন এই ফাংশন এখানে আপ স্বাক্ষর. 2471 02:02:04,340 --> 02:02:06,290 তাই কাশি সঠিক. 2472 02:02:06,290 --> 02:02:10,090 অকার্যকর হাঁচি এখন সঠিক. 2473 02:02:10,090 --> 02:02:12,390 >> আমি এখনও ঠিক বলতে পারে. 2474 02:02:12,390 --> 02:02:18,990 তাই আমি বলতে বলতে যাচ্ছি স্ট্রিং গুলি, কোন int n, সেমিকোলন. 2475 02:02:18,990 --> 02:02:22,010 তাই আমি ওভার engineered করেছি এই প্রোগ্রামের বাইরে নরক. 2476 02:02:22,010 --> 02:02:23,760 >> আর এই না অগত্যা মানে এই নয় 2477 02:02:23,760 --> 02:02:26,343 আপনি কি করা উচিত যখন লেখা এমনকি প্রোগ্রামের সহজ. 2478 02:02:26,343 --> 02:02:29,280 যে স্পষ্টত এর কিছু নিন সত্যিই সহজ, সত্যিই ছোট, 2479 02:02:29,280 --> 02:02:31,800 এবং এটা পুনরায় বাস্তবায়ন উপায় খুব কোড ব্যবহার. 2480 02:02:31,800 --> 02:02:34,560 কিন্তু আপনি আসলে দেখতে পাবেন, এবং এ সময়, এই উদাহরণ উপর পিছনে তাকান 2481 02:02:34,560 --> 02:02:38,610 এবং, ওহ, বুঝতে সেই পদক্ষেপ হয় আমরা, আসলে সাধারণের গ্রহণ 2482 02:02:38,610 --> 02:02:40,797 কিছু খুঁজে বিবেচনার, দিনের শেষে পর্যন্ত 2483 02:02:40,797 --> 02:02:42,380 আমার কোড আসলে বেশ যুক্তিসঙ্গত. 2484 02:02:42,380 --> 02:02:45,960 কারণ যদি আমি তিনটি কাশি করতে চান বার তারপর তিনবার হাঁচি, 2485 02:02:45,960 --> 02:02:50,420 আমি কেবল এই পুন: প্রকাশ করা যাচ্ছে না প্রোগ্রাম কাশি করা, এবং কাশি চালানোর. 2486 02:02:50,420 --> 02:02:53,620 আর আমি তিন কাশি আছে এবং তিন হাঁচি. 2487 02:02:53,620 --> 02:02:55,990 >> তাই এই একটি মৌলিক দৃষ্টান্ত, যদি আপনি হবে, 2488 02:02:55,990 --> 02:03:00,110 কিভাবে আমরা সম্পর্কে যেতে পারে জন্য আসলে একটি কর্মসূচি বাস্তবায়ন. 2489 02:03:00,110 --> 02:03:03,220 কিন্তু আসুন শুধু এখন এটা দেখতে কি আমরা, এই সময় সব কাজ করছি 2490 02:03:03,220 --> 02:03:06,940 এবং কি চূড়ান্ত টুকরা কিছু এই সহজ কমান্ড পিছনে. 2491 02:03:06,940 --> 02:03:09,620 দিনের শেষে, আমরা করেছি আমাদের কম্পাইলার হিসাবে ঝনঝন শব্দ ব্যবহার হয়েছে. 2492 02:03:09,620 --> 02:03:11,494 আমরা উৎস লেখা হয়েছে করেছি কোড, রূপান্তরের 2493 02:03:11,494 --> 02:03:12,820 মেশিন কোড মধ্যে ঝনঝন মাধ্যমে. 2494 02:03:12,820 --> 02:03:15,540 >> আর আমরা শুধু ব্যবহার করছি আমাদের কীস্ট্রোক যাতে সহজতর 2495 02:03:15,540 --> 02:03:20,740 আমরা স্মরণ করতে হবে না যে ঝনঝন নিজেই ঐ incantations. 2496 02:03:20,740 --> 02:03:22,640 কিন্তু আসলে করুন করছে? 2497 02:03:22,640 --> 02:03:24,750 এবং, ঘুরে, কি ঝনঝন আসলে করছেন? 2498 02:03:24,750 --> 02:03:28,790 >> এটি সক্রিয় আউট, যদিও আমরা সাদাসিধে করেছে বলছে দ্বারা আজকের আলোচনা, 2499 02:03:28,790 --> 02:03:33,090 আপনি সোর্স কোড নিতে, যেমন পাস একটি কম্পাইলার, যার সাহায্যে আপনি দেয় ইনপুট 2500 02:03:33,090 --> 02:03:35,750 মেশিন আউটপুট কোড, সেখানে এর সক্রিয় আউট 2501 02:03:35,750 --> 02:03:37,420 সেখানে ভিতরে কয়েক বিভিন্ন পদক্ষেপ. 2502 02:03:37,420 --> 02:03:41,940 ও কম্পাইলেশন ছাতা হতে হবে ধাপের একটি আভা শব্দটি. 2503 02:03:41,940 --> 02:03:43,970 কিন্তু এর মাত্র জ্বালাতন করা যাক এই আউট সত্যিই দ্রুত. 2504 02:03:43,970 --> 02:03:48,070 >> এটা পরিনত হয় যে আমরা কাজ করছি আরো জিনিস প্রত্যেক সময় আমি একটি প্রোগ্রাম চালানো, 2505 02:03:48,070 --> 02:03:50,990 বা যে সময় আমি আজ একটি প্রোগ্রাম কম্পাইল. 2506 02:03:50,990 --> 02:03:55,020 তাই প্রাক-প্রক্রিয়াকরণ বোঝায় একটি সি প্রোগ্রাম কিছু আপাততঃ, 2507 02:03:55,020 --> 02:03:58,720 যেমন আমরা আবার এবং আবার দেখতে পাবেন, যে, এই হ্যাশ চিহ্ন দিয়ে শুরু হয় 2508 02:03:58,720 --> 02:04:03,320 বা হ্যাশট্যাগ এখানে প্রতীক, অর্থ এটা একটি preprocessor ডিরেক্টিভের এর. 2509 02:04:03,320 --> 02:04:07,330 এর মানে হল যে, এই ক্ষেত্রে, হেই কম্পিউটার, এই ফাইল দিয়ে কিছু করতে 2510 02:04:07,330 --> 02:04:09,430 আগে আপনি আসলে আমার নিজের কোড কম্পাইল. 2511 02:04:09,430 --> 02:04:15,220 >> এই ক্ষেত্রে, হ্যাশ অন্তর্ভুক্ত, মূলত, বলছে সি এর পথ, 2512 02:04:15,220 --> 02:04:19,325 হেই কম্পিউটার, বিষয়বস্তু পেতে যেতে CS50.h, এবং তাদের এখানে পেস্ট করুন. 2513 02:04:19,325 --> 02:04:22,170 আরে কম্পিউটার, পেতে যেতে প্রমিত io.h বিষয়বস্তু 2514 02:04:22,170 --> 02:04:24,690 যেখানেই যে হয় হার্ড-ড্রাইভ, এটা এখানে পেস্ট করুন. 2515 02:04:24,690 --> 02:04:27,390 সুতরাং ঐ ব্যাপার ঘটতে প্রাক-প্রক্রিয়াকরণ প্রথম. 2516 02:04:27,390 --> 02:04:28,880 >> আর ঝনঝন শব্দ আমাদের জন্য এই সব আছে. 2517 02:04:28,880 --> 02:04:30,510 এবং এটা যাতে অভিশাপ না দ্রুত, আপনি এমন কি 2518 02:04:30,510 --> 02:04:32,000 ঘটছে চার স্বতন্ত্র জিনিষ দেখতে. 2519 02:04:32,000 --> 02:04:34,100 কিন্তু যে ধরনের প্রথম পদক্ষেপ. 2520 02:04:34,100 --> 02:04:35,560 >> আসলে কি হবে? 2521 02:04:35,560 --> 02:04:38,320 আচ্ছা, পরবর্তী কর্মকর্তা পদক্ষেপ কম্পাইল করা হয়. 2522 02:04:38,320 --> 02:04:40,385 এবং দেখা যাচ্ছে যে একটি প্রোগ্রাম কম্পাইল করার প্রণালী 2523 02:04:40,385 --> 02:04:44,060 টেকনিক্যালি থেকে যাচ্ছে মানে সোর্স কোড, কাপড় আমরা করেছি 2524 02:04:44,060 --> 02:04:47,890 হয়েছে কিছু, আজ লেখা সমাবেশ কোড বলা, কিছু 2525 02:04:47,890 --> 02:04:49,260 যে একটু আলাদা দেখায়. 2526 02:04:49,260 --> 02:04:51,050 >> এবং, আসলে, আমরা এই বাস্তব দ্রুত দেখতে পারেন. 2527 02:04:51,050 --> 02:04:53,890 আমাকে আসলে আমার আইডিই ঢোকা যাক. 2528 02:04:53,890 --> 02:04:58,050 আমাকে এগিয়ে এবং খোলা hello.c, যাওয়া যাক, যা খুব প্রথম প্রোগ্রাম যা দিয়ে আমরা 2529 02:04:58,050 --> 02:04:59,120 আজ শুরু. 2530 02:04:59,120 --> 02:05:04,130 এবং আমাকে এগিয়ে যান এবং ঝনঝন একটি চালানো যাক একটু ভিন্নভাবে, ঝনঝন-গুলি, hello.c 2531 02:05:04,130 --> 02:05:07,720 যা আসলে যাচ্ছে আমাকে অন্য ফাইল hello.s দিতে. 2532 02:05:07,720 --> 02:05:10,330 >> আর আমরা কখনও সম্ভবত হবে আবার কোড এই ধরনের দেখতে. 2533 02:05:10,330 --> 02:05:13,030 আপনি একটি নিম্ন স্তরের নিতে হলে CS61 মত সিস্টেম বর্গ, 2534 02:05:13,030 --> 02:05:14,920 আপনি আরো অনেক দেখতে হবে কোড এই ধরনের. 2535 02:05:14,920 --> 02:05:17,020 কিন্তু এই সমাবেশ ভাষা. 2536 02:05:17,020 --> 02:05:22,050 এই x86 সমাবেশ ভাষা যে CPU- র যে অন্তর্নিহিত হয় 2537 02:05:22,050 --> 02:05:24,460 এবং CS50 আইডিই আসলে বুঝতে পারে. 2538 02:05:24,460 --> 02:05:27,060 >> এবং রহস্যপূর্ণ এটা মতো দেখুন, এটা কিছু হল 2539 02:05:27,060 --> 02:05:29,180 কম্পিউটার বেশ বুঝতে পারে. 2540 02:05:29,180 --> 02:05:30,790 সাব থ, এই একটি বিয়োগ হয়. 2541 02:05:30,790 --> 02:05:31,660 সেখানে আন্দোলন হচ্ছে. 2542 02:05:31,660 --> 02:05:35,730 >> সেখানে কার্যাবলী এখানে ডাকছে, এক্স oring, একটি আন্দোলন, একটি অ্যাড, একটি পপ, 2543 02:05:35,730 --> 02:05:36,430 একটি ফিরতি. 2544 02:05:36,430 --> 02:05:38,850 কিছু তো আছে খুব নিম্ন স্তরের নির্দেশাবলীর 2545 02:05:38,850 --> 02:05:41,280 CPU- র যে বুঝতে পারি যে আমি আগেই ইশারা. 2546 02:05:41,280 --> 02:05:43,100 যে কি ইন্টেল ইনসাইড হয়. 2547 02:05:43,100 --> 02:05:45,030 >> সেখানে নিদর্শন আছে zeros এবং বেশী 2548 02:05:45,030 --> 02:05:51,800 এইসব arcanely ভাষায় মানচিত্র কিন্তু কিছুটা ভাল নামে, নির্দেশাবলী, 2549 02:05:51,800 --> 02:05:52,780 তাই কথা বলতে. 2550 02:05:52,780 --> 02:05:54,780 এমনটাই ঘটবে হয় আপনি আপনার কোড কম্পাইল. 2551 02:05:54,780 --> 02:05:58,560 আপনি সমাবেশ পেতে এটা বাইরে ভাষা, যা 2552 02:05:58,560 --> 02:06:04,680 মানে তৃতীয় ধাপ জুটা হয় যে সমাবেশ কোড মধ্যে, শেষ পর্যন্ত, 2553 02:06:04,680 --> 02:06:09,080 মেশিন code-- zeros এবং বেশী, না টেক্সট যে আমরা শুধু একটা মুহূর্ত আগে দেখেছি. 2554 02:06:09,080 --> 02:06:13,370 >> তাই প্রাক প্রক্রিয়াকরণ যে পায় এবং প্রতিস্থাপন করুন, এবং কয়েক অন্যান্য বিষয়. 2555 02:06:13,370 --> 02:06:16,430 সংকলন আপনার সোর্স লাগে C থেকে কোড, সোর্স কোড 2556 02:06:16,430 --> 02:06:18,980 আমরা লিখেছিলেন যে, সমাবেশ করতে কোড যে আমরা শুধু দিকে নিয়ে. 2557 02:06:18,980 --> 02:06:22,170 সমাবেশের যে সমাবেশ লাগে শূন্যর এবং বেশী কোড 2558 02:06:22,170 --> 02:06:24,680 যে CPU- র সত্যিই হবে দিনের শেষে বুঝতে. 2559 02:06:24,680 --> 02:06:27,630 আর লিঙ্ক গত ধাপ যে আমাদের জন্য আবার ঘটবে, 2560 02:06:27,630 --> 02:06:29,830 এত দ্রুত আমরা এমনকি না বিজ্ঞপ্তি বলছেন যে, 2561 02:06:29,830 --> 02:06:32,460 হেই কম্পিউটার, সব নিতে zeros এবং বেশী 2562 02:06:32,460 --> 02:06:36,750 দায়ূদের কোড কম্পাইল করার প্রণালী থেকে ফল, এবং এই ক্ষেত্রে তার প্রধান ফাংশন. 2563 02:06:36,750 --> 02:06:39,160 >> আর হেই কম্পিউটার, পেতে যেতে zeros এবং বেশী সব 2564 02:06:39,160 --> 02:06:42,180 যে CS50 কর্মীরা লিখেছে CS50 লাইব্রেরি ভিতরে. 2565 02:06:42,180 --> 02:06:43,440 দাউদের সঙ্গে ঐ মেশান. 2566 02:06:43,440 --> 02:06:46,648 আর হেই কম্পিউটার, সব zeros পেতে যেতে এবং অন্য কারো বছর লিখেছিলেন যে ওগুলো 2567 02:06:46,648 --> 02:06:47,470 আগে printf জন্য. 2568 02:06:47,470 --> 02:06:49,880 এবং ঐ যোগ গোটা ব্যাপারটাই, যাতে আমরা করেছি 2569 02:06:49,880 --> 02:06:52,870 আমার zeros এবং বেশী, পেয়েছিলাম CS50 কর্মীদের এর zeros এবং বেশী, 2570 02:06:52,870 --> 02:06:55,370 printf, zeros এবং বেশী, এবং অন্য কিছু আমরা ব্যবহার করছি. 2571 02:06:55,370 --> 02:07:00,410 >> তারা সব এক মধ্যে একসঙ্গে মিলিত করুন প্রোগ্রাম নামক এই ক্ষেত্রে, হ্যালো. 2572 02:07:00,410 --> 02:07:03,141 শুধু তাই অত: পর, আমরা জিতবোই শব্দ কম্পাইল করার. 2573 02:07:03,141 --> 02:07:06,390 আর আমরা হালকাভাবে নেবে যে যখন আমরা বলছি, তোমাদের প্রোগ্রাম কম্পাইল, তাহলে এর অর্থ হল, 2574 02:07:06,390 --> 02:07:08,849 হেই প্রাক প্রক্রিয়াজাতকরণ না, একত্রিতকরনের, এবং লিঙ্ক. 2575 02:07:08,849 --> 02:07:11,890 কিন্তু সেখানে আসলে কিছু সরস জিনিস ফণা নীচে সেখানে যাওয়া. 2576 02:07:11,890 --> 02:07:13,723 আর বিশেষত যদি কৌতুহলী কিছু সময় পেতে, 2577 02:07:13,723 --> 02:07:15,900 আপনি খোঁচা শুরু করতে পারেন এই নিম্ন স্তরে প্রায়. 2578 02:07:15,900 --> 02:07:19,660 কিন্তু এখন জন্য, বুঝতে পারি যে আজকের জন্য টেকওযে় মধ্যে 2579 02:07:19,660 --> 02:07:23,420 হয় বেশ সহজভাবে একটি প্রক্রিয়ার প্রারম্ভে, 2580 02:07:23,420 --> 02:07:26,700 সঙ্গে আরামদায়ক পেয়ে হ্যালো ওয়ার্ল্ড মত কিছু. 2581 02:07:26,700 --> 02:07:29,575 প্রকৃতপক্ষে, আমরা আজ যা করলে অধিকাংশ অবশ্যই সুপার ফাস্ট ডুবা করা হবে না. 2582 02:07:29,575 --> 02:07:31,491 এবং এটা কিছু সময় লাগবে সময়, এবং কিছু অভ্যাস. 2583 02:07:31,491 --> 02:07:33,864 আর মতভেদ আছে, আপনি বাছাই করতে হবে আপনার কীবোর্ড আঘাত করতে চান 2584 02:07:33,864 --> 02:07:34,780 বা পর্দা চিত্কার. 2585 02:07:34,780 --> 02:07:35,880 এবং যে সব ঠিক আছে. 2586 02:07:35,880 --> 02:07:38,320 যদিও, সম্ভবত করার চেষ্টা করবেন না গ্রন্থাগারে এত না. 2587 02:07:38,320 --> 02:07:40,820 >> এবং শেষ পর্যন্ত, আপনি যা করবেন যদিও সক্ষম হবে, শুরু থেকে 2588 02:07:40,820 --> 02:07:44,580 নিদর্শন দেখে উভয় ভাল কোডে আপনি লিখিত করেছি যে ভুল মধ্যে 2589 02:07:44,580 --> 02:07:45,370 আপনি তৈরি করেছি যে. 2590 02:07:45,370 --> 02:07:48,965 এবং বিপুল পরিমাণে প্রক্রিয়া মত একটি TF হয়ে অথবা একটি CA মত হল, 2591 02:07:48,965 --> 02:07:51,590 আপনি ভাল পেতে শুরু করব এবং ঐ নিদর্শন দেখে ভাল, 2592 02:07:51,590 --> 02:07:53,774 এবং শুধু আপনার সমাধানে পরিণামে নিজের সমস্যা. 2593 02:07:53,774 --> 02:07:56,940 এই সময়ের মধ্যে, সেখানে প্রচুর হবে আমাদের আপনি সমর্থন ধার, এবং আপনি পেতে 2594 02:07:56,940 --> 02:07:57,481 এই মাধ্যমে. 2595 02:07:57,481 --> 02:07:59,450 এবং লিখতে আপগুলি মধ্যে সব সমস্যার জন্য 2596 02:07:59,450 --> 02:08:01,366 আপনি মাধ্যমে সূচিত করা হবে কমান্ডের সব 2597 02:08:01,366 --> 02:08:05,330 আমি অবশ্যই থেকে জানি যে এখন দ্বারা অনুশীলন অনেকটা, 2598 02:08:05,330 --> 02:08:07,380 কিন্তু চড়েছে পারে এখন জন্য এক এর মাথার উপর. 2599 02:08:07,380 --> 02:08:08,580 এবং যে সম্পূর্ণই সূক্ষ্ম. 2600 02:08:08,580 --> 02:08:11,230 >> কিন্তু, শেষ পর্যন্ত, আপনি যাচ্ছেন নিদর্শন উত্থান দেখতে শুরু করার. 2601 02:08:11,230 --> 02:08:14,260 আর একবার আপনি সকল অতীত পেতে মূঢ় বিবরণ, প্রথম বন্ধনী মত, 2602 02:08:14,260 --> 02:08:16,710 এবং কোঁকড়া ধনুর্বন্ধনী, এবং সেমি-কোলন, এবং কাপড়, উন্মুক্তভাবে, 2603 02:08:16,710 --> 02:08:19,360 এ সব নয় বুদ্ধিমত্তা আকর্ষণীয়. 2604 02:08:19,360 --> 02:08:22,690 আর এর উদ্দেশ্য নয় কোনো পরিচায়ক বর্গ গ্রহণ. 2605 02:08:22,690 --> 02:08:24,410 এটা ধারণা যে কোন ব্যাপার করতে যাচ্ছি. 2606 02:08:24,410 --> 02:08:26,659 >> এটা হচ্ছে loops, এবং শর্ত, এবং ফাংশন, 2607 02:08:26,659 --> 02:08:30,552 এবং আরো জোরে বিমূর্ততা, এবং কোডের ফ্যাক্টরিং, 2608 02:08:30,552 --> 02:08:33,510 এবং ভাল ডিজাইন, এবং ভাল শৈলী, এবং পরিণামে শুদ্ধি 2609 02:08:33,510 --> 02:08:37,330 আপনার কোড, যে শেষ পর্যন্ত এর সবচেয়ে ব্যাপার যাচ্ছে. 2610 02:08:37,330 --> 02:08:40,925 তাই পরের সপ্তাহে, আমরা এই নিতে হবে ধারণা যে আমরা প্রথম ভূত দেখেছি 2611 02:08:40,925 --> 02:08:42,800 এবং এখন অনুবাদ সি আর আমরা শুরু করব 2612 02:08:42,800 --> 02:08:45,740 প্রথম পরিচয় করিয়ে অবশ্যই এর বাস্তব বিশ্বের ডোমেইন. 2613 02:08:45,740 --> 02:08:50,140 >> আমরা নিরাপত্তা জগতে মনোনিবেশ করব এবং আরো নির্দিষ্টভাবে ক্রিপ্টোগ্রাফি, 2614 02:08:50,140 --> 02:08:51,980 তথ্য scrambling শিল্প. 2615 02:08:51,980 --> 02:08:54,000 প্রথম মধ্যে আর আপনি সমস্যার নিজেকে 2616 02:08:54,000 --> 02:08:56,840 তার পরেও লিখতে পাবেন সিনট্যাক্স কিছু সঙ্গে বাজানো 2617 02:08:56,840 --> 02:08:59,880 এবং কিছু যৌক্তিক সমাধানে সমস্যা, পরিণামে আগে দীর্ঘ, 2618 02:08:59,880 --> 02:09:03,960 আসলে হামাগুড়ি দিয়া আরোহণ করা হয়, বা এনক্রিপ্ট, এবং শেষ পর্যন্ত তথ্য ডিক্রিপ্ট. 2619 02:09:03,960 --> 02:09:06,470 এবং সবকিছু আমরা সম্পন্ন করেছি আজ, মোটামুটি কম হবে 2620 02:09:06,470 --> 02:09:09,190 স্তর, শুধু অনুমতি দিতে যাচ্ছে আমাদের এক, এবং এক নিতে, 2621 02:09:09,190 --> 02:09:13,550 এবং উপরে দিকে আরো এক ধাপ এখনো সবচেয়ে আকর্ষণীয় কোড লেখা. 2622 02:09:13,550 --> 02:09:15,050 >> সুতরাং যে আগামী সপ্তাহে আরও অনেক কিছু. 2623 02:09:15,050 --> 02:09:17,834 2624 02:09:17,834 --> 02:09:18,762 >> [ভিডিও প্লেব্যাক] 2625 02:09:18,762 --> 02:09:19,690 2626 02:09:19,690 --> 02:09:22,006 >> -কি তুমি আমার সম্পর্কে বলতে পারেন শেষ সময় আপনি তাকে দেখেছ? 2627 02:09:22,006 --> 02:09:26,041 2628 02:09:26,041 --> 02:09:27,040 -কি আমি সত্যিই বলতে পারেন? 2629 02:09:27,040 --> 02:09:30,500 2630 02:09:30,500 --> 02:09:35,340 আমি বলতে চাচ্ছি, এটা অন্য কোন মত ছিল প্রাক উৎপাদন রিহার্সাল, 2631 02:09:35,340 --> 02:09:40,510 ছাড়া কিছু ছিল সে বলল খুব শেষ আমার সাথে যে আটকে এ. 2632 02:09:40,510 --> 02:09:44,810 2633 02:09:44,810 --> 02:09:46,640 >> -এই CS50 ছিল. 2634 02:09:46,640 --> 02:09:49,440 2635 02:09:49,440 --> 02:09:52,190 >> -যে কেটে প্রত্যেকের, রিহার্সাল উপর মহান কাজ. 2636 02:09:52,190 --> 02:09:53,070 >> -যে লাঞ্চ? 2637 02:09:53,070 --> 02:09:54,986 >> হ্যা, আপনি এবং আমি করতে পারেন কিছুক্ষনের মধ্যে একটি স্যান্ডউইচ দখল. 2638 02:09:54,986 --> 02:09:58,380 আমাকে শুধু সঙ্গে জিজ্ঞাসাবাদ করা যাক ডেভিড সত্যিই দ্রুত. 2639 02:09:58,380 --> 02:09:59,160 ডেভিড? 2640 02:09:59,160 --> 02:10:01,260 ডেভিড? 2641 02:10:01,260 --> 02:10:03,110 >> [END টি প্লেব্যাক]