[সঙ্গীত বাজানো] DAVID জে Malan: ঠিক আছে, এবং CS50 ফিরে স্বাগত জানাই. এই সপ্তাহে দুটি শুরু. আমাদের এক থেকে একটি শব্দ ক্যাম্পাস বন্ধুরা - আপনি যদি আগ্রহী হন তাহলে সম্ভবত, নয়তো এখন বা ভবিষ্যতে কিছু শব্দটি এমনকি একবার, আরো আরামদায়ক, শিক্ষণ মধ্যম স্কুল ছাত্র একটু কম্পিউটার বিজ্ঞান সম্পর্কে কিছু, যে URL-এ মাথা না. তারা অধিকার এখন বিশেষ প্রয়োজন হয় শিক্ষক, আপনি বিশেষ করে যদি কম্পিউটার বিজ্ঞান কিছু এক্সপোজার ছিল. সুতরাং যে শেষ সময় প্রত্যাহার, আমরা চালু কয়েক তথ্য সি ধরনের, এবং আপনি পেতে শুরু হতে পারে আপনার এই পর্যন্ত সঙ্গে মলিন হাত সমস্যা এক সেট. এবং আমরা একটি গৃহস্থালি ছিল. তাই কিছুটা প্রযুক্তিগত পদ, কি আপনি কি এটা আজ জানি একটি গৃহস্থালি হয়? সুতরাং এটি একটি অক্ষর, কিন্তু let এর এখন আরও ভালো হবে. আমরা অক্ষর দ্বারা কি বোঝানো হয়েছে বা গৃহস্থালির কাজ পৃথক? একটি অ সংখ্যাসূচক চরিত্র - তাই নয়. এটি এমনকি, এমনকি যে সংখ্যা দেখা যাচ্ছে বিরামচিহ্নের ব্যবহার ও চিঠিপত্র নেই এই তথ্য সঙ্গে প্রতিনিধিত্ব একটি গৃহস্থালি হিসাবে পরিচিত টাইপ করুন. সুতরাং এটা অপরিহার্যভাবে বর্ণানুক্রমিক না. হ্যাঁ? সুতরাং এটি একটি ASCII অক্ষর আছে. আপনি যখন শুন্য সপ্তাহ ফিরে মনে করি তাই আপনি যদি আমরা স্বেচ্ছাসেবকদের আমাদের বাইট ছিল আসা পর্যন্ত এবং হয় তাদের হাত ওঠান বা সব না, তারা বিট প্রতিনিধিত্ব করেন. কিন্তু সম্মিলিতভাবে আট দল হিসেবে, তারা একটি বাইট প্রতিনিধিত্ব. এবং আমরা হওয়া ASCII এর ধারণা চালু যে বক্তৃতা এ, যা কেবল একটি সংখ্যা ও অক্ষর মধ্যে ম্যাপিং. এবং হওয়া ASCII ব্যবহার হিসাবে যারা মানুষের উহ্য, আট বিট একটি অক্ষর প্রতিনিধিত্ব করতে. সুতরাং অনুযায়ী, যদি আট বিট করতে পারেন প্রতিটি দুটি মান এক গ্রহণ - শূন্য বা এক - দুই সম্ভাবনার ছিল যে মানে এই ব্যক্তির জন্য - শূন্য বা এক - এই জন্য এই ব্যক্তির, দুই দুই ব্যক্তি, এই এক জন্য দুটি. তাই দুই বার একটি মোট দুই বার দুই বার দুই বার দুই - মোট তাই দুই অষ্টম. সুতরাং অক্ষরের একটি মোট সংখ্যা আছে সম্ভব 256 আপনি যা করতে পারেন যে আট বিট সঙ্গে প্রতিনিধিত্ব. এখন, আপনি যাদের এশিয়ান কথা বলতে যারা ভাষা আছে যে চিনতে শুধু আর বিশ্বের অক্ষর এবং Bs এবং Cs এবং Ds. এবং প্রকৃতপক্ষে, হওয়া ASCII জন্য যথেষ্ট না বিশ্বের ভাষার অনেক. যে অন্য সময় কিন্তু আরো. এখন জন্য, সি যদি আপনি চান জানি যে একটি চিঠি, এক টুকরা প্রতিনিধিত্বকারী যতিচিহ্ন, বা শুধু কিছু চরিত্র প্রকৃতি, আমরা একটি গৃহস্থালি ব্যবহার করুন. এবং এটি এক বাইট বা আট বিট এর. কিভাবে কোন int সম্পর্কে? ওয়েল, কোন int একটি পূর্ণসংখ্যা. কতগুলি বিট, আপনি প্রত্যাহার হলে, সাধারণত একটি পূর্ণসংখ্যা ছিল? যে কেউ রিকল? সুতরাং এটি সাধারণত 32 এর. এটা আসলে কম্পিউটারের উপর নির্ভর করে আপনি ব্যবহার করছেন. কিন্তু যন্ত্র, এবং অনেক কম্পিউটার, এটা 32 বিট বা চার এর বাইট - অষ্টমত চার. এবং ints শুধু সঞ্চয় করার জন্য ব্যবহার করা হয় হয় ঋণাত্মক সংখ্যা, ইতিবাচক, বা শূন্য. এবং আপনি 32 বিট এবং আপনি পেয়েছেন শুধুমাত্র ধনাত্মক সংখ্যা সম্পর্কে যত্ন করতে পারবেন, কেউ ballpark কতগুলি সম্ভব একটি কম্পিউটার থেকে উপস্থাপন করতে পারেন পূর্ণসংখ্যার আপ নেভিগেশন শূন্য? সুতরাং, 32 দুটি হতে হবে প্রায় চার কোটি. দুই এই ক্ষমতা হতে যাচ্ছে তাই কম্পিউটার বিজ্ঞান মধ্যে আবৃত্ত থিম. হিসাবে আমরা দেখতে পাবেন, তারা বেশ সুবিধাজনক করছি এটা বেশ এমনকি যদি এর সাথে কাজ করা মাথা গণিত সুসাধ্য. সুতরাং আমরা প্রায় চার বিলিয়ন বলবো. এখন একটি দীর্ঘ দীর্ঘ - আপনি অনুমান ধরনের পারেন. এটা কোন int আর আর. কতগুলি বিট? 64 বিট বা আট বাইট তাই. এই মাত্র এমনকি আপনি উপস্থাপন করতে পারেন মানে বড় সংখ্যা, বড় ধনাত্মক বা বড় ঋণাত্মক সংখ্যা. এবং কিভাবে সম্পর্কে ভাসা? একটি ফ্লোটিং পয়েন্ট 32 বিট মান. এই কিছু, শুধু একটি বাস্তব সংখ্যা একটি দশমিক বিন্দু সঙ্গে. কিন্তু এর পরিবর্তে আপনি যদি আরও জায়গা দরকার হয় তাহলে দশমিক বিন্দু পরে অথবা আপনি চান কিছু সঙ্গে একটি বড় সংখ্যা উপস্থাপন পরে ভগ্নাংশ, আপনি একটি ব্যবহার করতে পারেন ডবল, যা 64 বিট. কিন্তু একটি আকর্ষণীয় আছে এখানে takeaway. Ints 32 বিট এবং দ্বারা সীমাবদ্ধ হয় তাই আপনি যদি এমনকি দীর্ঘ longs 64 দ্বারা সীমাবদ্ধ হয় বিট, যে ধরণের প্রশ্ন begs, আপনি কি আসলে গণনা করতে চান তাহলে কোন int জন্য 4 বিলিয়ন বেশী? ওয়েল, আপনি শুধু একটি দীর্ঘ দীর্ঘ ব্যবহার করুন. কিন্তু আপনি উচ্চতর গণনা কি করতে চান তাহলে 64TH দুই আর, দিতে বা নিতে? এখন, যে একটি বিশাল সংখ্যা আছে. কিন্তু অবশেষে, আপনি আসলে প্রতাপ মান এই ধরনের যত্ন সম্পর্কে আপনি একটি ডাটাবেস ব্যবহার করা হয়, বিশেষত যদি এবং প্রচুর এবং প্রচুর সংগ্রহ শুরু এবং তথ্য প্রচুর এবং অনন্য বরাদ্দ যে তথ্য প্রতিটি টুকরা নম্বর. তাই আমরা ধরনের একটা সমস্যা আছে. এবং একইভাবে, ফ্লোটিং পয়েন্ট সঙ্গে মান - floats বা টেনিস - আপনি শুধুমাত্র একটি নির্দিষ্ট নম্বর পেয়েছেন বিট, কতগুলি মোট সংখ্যার আপনি পারে সম্ভবত প্রতিনিধিত্ব করছে? যখন আপনি ওয়েল, এটা কম পরিষ্কার একটি দশমিক বিন্দু জড়িত. কিন্তু এটা নিশ্চয় সসীম এর. আপনি বিট সসীম সংখ্যা আছে, মানুষের একটি নির্দিষ্ট সংখ্যা, একটি সসীম লাইট বাল্ব সংখ্যা নিশ্চয়, আপনি যা করতে পারেন শুধুমাত্র একটি সসীম সংখ্যা প্রতিনিধিত্ব বিন্দু মান ভাসমান. কিন্তু কিভাবে অনেক বাস্তব সংখ্যার তাদের বিশ্বের হয়? একটি অসীম আছে. সুতরাং একটি সমস্যা যে ধরনের কারণ আমরা একটি অসীম পরিমাণ থাকে না মেমরি অথবা আমাদের কম্পিউটার এর ভিতরে উপস্থিত RAM-র. তাই কিছু চ্যালেঞ্জিং ব্যাপার ঘটতে পারে. সুতরাং আসুন এগিয়ে যান এবং চেষ্টা করুন এখানে এই প্রকাশ. আমাকে এগিয়ে যান এবং gedit আপ খুলুন. আমি এগিয়ে যান এবং একটি ফাইল সংরক্ষণ করতে যাচ্ছি "floats0.c" ঠিক হতে বলা যে একটি উদাহরণ সঙ্গে সামঞ্জস্যপূর্ণ আপনি যদি চান অনলাইন উপলব্ধ. এবং আমি এগিয়ে যান যাচ্ছে এবং করছি অনুসরণ হিসাবে এটি সংজ্ঞায়িত - আমি কোন int, এগিয়ে যান এবং বলতে যাচ্ছি প্রধান অকার্যকর, আমরা প্রায়ই করতে হয়. এবং তারপর এই প্রোগ্রামের মধ্যে, আমি যাচ্ছি নিজেকে একটি float ডিক্লেয়ার, একটি 32 বিট, তাই পরিবর্তনশীল ইচ্ছামত, চ বলা হয়. এবং তারপর আমি এটি সংরক্ষণ করতে যাচ্ছি আমি এক দশমাংশ, তাই 0.1 জানি না. তাই আমি প্রকাশ করতে যাচ্ছি যে এক হিসাবে 10 দ্বারা বিভক্ত, যা পুরোপুরি হয় সি মধ্যে বৈধ এবং তারপর দ্বিতীয় লাইন, আমি কেবল যে মান প্রিন্ট আউট করতে চান. তাই আমরা ব্যবহার করতে পারেন প্রত্যাহার printf, পরিচিত. আমরা কোন int জন্য আমি% ব্যবহার করতে চান না. আমরা একটি float জন্য% চ ব্যবহার করতে চান. এবং তারপর আমি, ব্যাকস্ল্যাশ N করতে যাচ্ছি বন্ধ কোট, কমা, চ, সেমিকোলন. তাই এখানে আমার প্রোগ্রাম. একটি বাগ ইতিমধ্যেই আছে. আছে এই ক্লিক করা যাদের জন্য কেউ ইতিমধ্যে অন্তত বলতে চাই একটি বাগ আমি তৈরি করেছি? হ্যাঁ? হ্যাঁ. আমি "# অন্তর্ভুক্ত" ভুলে গেছি আমি চেষ্টা হলে যা উপরে, তারা উপসর্গ এই কম্পাইল করা যাচ্ছে যে কম্পাইলার, এ সম্পর্কে চিত্কার যাচ্ছে অনির্ধারিত প্রতীক বা বলার অপেক্ষা রাখে না যে প্রভাব কিছু. এটা কিছু বুঝতে না printf, না. তাই আমি # অন্তর্ভুক্ত "করতে যাচ্ছি ", ফাইলটি সংরক্ষণ করুন. এবং এখন এটা ভাল আকৃতি আছে. কিন্তু আমি নির্দেশ যাচ্ছি খুঁজে একটি নতুন বিস্তারিত আজ. জায়গা নির্ধারণ করার % চ% আমি% s এর মত হোল্ডার, আপনি যা করতে পারেন কখনও কখনও ব্যবহারের উপর প্রভাব বিস্তার যে স্থানধারক না. উদাহরণস্বরূপ, একটি ভাসমান ক্ষেত্রে বিন্দু মান, আমি শুধু করতে চান তাহলে পরে এক দশমিক স্থান প্রদর্শন কাল, আমি আসলে 0.1f করতে পারেন. তাই অন্য কথায়, আমি চ পৃথক এবং মাত্র 0.1 সঙ্গে সাইন শতাংশ, printf, বলছে, আপনি একটি সম্পূর্ণ থাকতে পারে দশমিক পরে সংখ্যার গুচ্ছ আমার জন্য নির্দেশ. কিন্তু আমি শুধুমাত্র তাদের একজন দেখতে চাই. তাই আমি এখন এগিয়ে যান এবং সংরক্ষণ করতে যাচ্ছি এই প্রোগ্রাম, আমার টার্মিনাল ঢোকা উইন্ডো, এবং আমি এগিয়ে যান যাচ্ছে না এবং টাইপ লিখুন, ভাসা 0 না. আমি যে কিছুটা রহস্যপূর্ণ লাইন দেখতে যে আমরা আরো জানার জন্য শুরু হবে এই সপ্তাহে এবং পরবর্তী এটি পৃথক্ আঁশ বাহির করা. এখন আমি এগিয়ে যান যাচ্ছে না এবং ভাসমান শূন্য রান. এবং অভিশাপ. তাই অন্য একটি বাগ আছে এখানে কিছু কারণে. আমি যে এক দশম চমত্কার নিশ্চিত নই, বা 10 দ্বারা বিভক্ত এক, 0.0 নয়. হয়তো আমি খুঁজছেন করছি না যথেষ্ট সংখ্যা এ. সুতরাং কেন আমি দুই .2 দুটি দেখতে না বলে দশমিক স্থান পরিবর্তে মাত্র এক. আমাকে আমার টার্মিনাল উইন্ডোতে ফিরে যান এখানে আপনি বার দুয়েক আপ আঘাত আমার ইতিহাস দেখুন. আবার শূন্য ভাসা করতে, এবং তারপর আবার. এবং এখন লিখুন. এবং এখন আমি এই ভুল চমত্কার নিশ্চিত নই. আর আমি তিন এবং চার করতে পারে, এবং আমি সম্ভবত zeros এইজন্য রাখতে যাচ্ছে. তাই বাগ কোথায়? 10 দ্বারা বিভক্ত এক 0.1 হতে হবে. কেউ কি একটি ছুরিকাঘাত নিতে চান মৌলিক সমস্যা? হ্যাঁ? তারা উভয় পূর্ণসংখ্যার করছি. তাই কি? সুতরাং যে 10 দ্বারা বিভক্ত এক সাথে আমি গাণিতিক কাজ কি. এবং আমি 0.1 পেতে. হ্যাঁ. এবং তাই প্রকৃতপক্ষে যে বিষয়. আপনি একটি কম্পিউটার একটি পূর্ণসংখ্যা নিতে যখন এবং আপনি অন্য একটি পূর্ণসংখ্যা দ্বারা এটি বিভক্ত করা ডিফল্টরূপে কম্পিউটার যাচ্ছে আপনি যদি একটি পূর্ণসংখ্যা চান যে অনুমান. যদিও সমস্যা, অবশ্যই, হয় 0.1 একটি পূর্ণসংখ্যা হয় না. এটি একটি বাস্তব সংখ্যা আছে. এবং কম্পিউটার দ্বারা কি তাই আছে ডিফল্ট এটা শুধু দূরে ছোঁড়ার হয় দশমিক বিন্দু পরে সবকিছু. এটা কোনটাই নিচে সুসম্পন্ন অথবা আপ করা হয় না. এটি শুধু সবকিছু দূরে ছোঁড়ার দশমিক বিন্দু পরে. এবং এখন যে অর্থে তোলে. এখন আমরা পরিষ্কারভাবে কারণ শূন্য সঙ্গে বামে. কিন্তু একটি মিনিট অপেক্ষা করুন. আমি কোন int শূন্য এইজন্য করছি না. আমি আসলে 0.00 নিরীক্ষা করছি. সুতরাং কিভাবে আমি এখন এই মিটমাট করা হয়? 10 দ্বারা বিভক্ত এক শূন্য হয়, কিন্তু আমি যদি 0.00, এইজন্য যেখানে এটি হচ্ছে একটি বাস্তব সংখ্যা ফিরে রূপান্তরিত? হ্যাঁ. যথাযথভাবে. সুতরাং এখানে লাইন পাঁচ, যখন আমি আসলে এ 0.1 তারপর, যা যে সঞ্চয় ভিতরে একটি float এর, শূন্য থেকে ছেঁটে ফেলা হয়েছে, যে কার্যকরভাবে সমতুল্য এর কোন int হিসাবে এটি সংরক্ষণ না কিন্তু, প্রকৃতপক্ষে, একটি float হিসাবে. তাছাড়া, আমি তারপর আপনি printf, ব্যবহার করছি স্পষ্টভাবে দুই থেকে যে সংখ্যা প্রিন্ট দশমিক স্থান যদিও আছে আসলে কোন নাও হতে পারে. Sucks তাই এই ধরনের, ডান? স্পষ্টত, আপনি গণিত করতে পারবেন না অন্তত এই পর্যায়ে একটি কম্পিউটার স্পষ্টতা,. তবে নিশ্চয় একটি সমাধান আছে. আমরা হয়তো অনেক সহজ ফিক্স কি শুধু intuitively এখানে, এমনকি কি এই সমস্যার সমাধানের? হ্যাঁ? মধ্যে পূর্ণসংখ্যার চালু করুন - হ্যাঁ. আমি কি পুরোপুরি নিশ্চিত নই, এমনকি যদি যদি সত্যিই,, এখানে এটা মৌলিকভাবে এই উভয় কি আছে ints হচ্ছে, ভাল, আমি কেন না 10.0 এই তৈরীর যে করতে 1.0 ফাইল resave. আমার সম্পর্কে ফিরে নিচে যান নীচে এবং সেটি পুনরায় কম্পাইল. আমাকে এখন পুনরায় আরম্ভ করা যাক. এবং সেখানে - এখন, আমি আমার এক দশমাংশ পেয়েছেন 0.10 হিসাবে প্রতিনিধিত্ব. ঠিক আছে. সুতরাং যে খারাপ না. এবং আমার অন্য একটি উপায় বাতলান যাক আমরা এই মীমাংসিত হতে পারে. আমার সম্পর্কে আসলে সময় ফিরে পাকানো চলুন শুরু করা যাক আমরা এক হিসাবে এই ছিল যখন দশম একটি মুহূর্ত আগে. এবং আমাকে এগিয়ে যান এবং এই ফাইলটি resave যাক শুধু আপনি একটি ভিন্ন ফাইলের নাম হিসাবে, একটু চেকপয়েন্ট আছে. সুতরাং যে সংস্করণে এক. এবং এখন আমাকে এগিয়ে যান এবং আরও একটি সংস্করণ না. আমরা এই সংস্করণের ডাকবো দুই শূন্য ইন্ডেক্স. এবং আমি পরিবর্তে করতে যাচ্ছি এই - আপনি জানেন কি? বিন্দু শূন্য যোগ করার পদ্ধতি এই ক্ষেত্রে কাজ করে. কিন্তু এক একটি পরিবর্তনশীল ছিল অনুমান. অনুমিত 10 একটি পরিবর্তনশীল ছিল. অন্য কথায়, আমি যে অনুমান করা শেষে ঠিক হার্ড কোড .0 এই গাণিতিক প্রকাশের. ওয়েল, আমি আসলে কিছু করতে পারেন এব w বন্ধনী ববহার ভোটদান বলা হয়. আমি একটি float যে পূর্ণসংখ্যা 10 নিক্ষেপ করতে পারেন এবং আমি যে পূর্ণসংখ্যা এক নিক্ষেপ করতে পারেন ভাসা, হিসাবে ভাল. তারপর করা যাচ্ছে যে গণিত কার্যকরভাবে 10.0 দ্বারা বিভক্ত 1.0 হয়, যায় যার ফলে আগে চ. আমি এই হিসাবে floats করতে কম্পাইল তাই আপনি যদি 2, এবং এখন 2 floats, আমি একই পেতে , সেইসাথে উত্তর. সুতরাং এই একটি মোটামুটি কল্পিত উদাহরণ এই সমস্যা সমাধানে ভোটদান প্রবর্তনের দ্বারা. তবে সাধারণভাবে, ভোটদান হতে যাচ্ছে বিশেষত জন্য একটি শক্তিশালী জিনিস, সমস্যা যখন, এক সপ্তাহের মধ্যে দুই সেট আপনি একটি ডাটা টাইপ রূপান্তর করতে চান অন্য যে দিনের শেষে একই ভাবে প্রতিনিধিত্ব করা হয়. দিন, প্রতি একক শেষে আমরা এ পর্যন্ত প্রায় সায়ীদ করেছি জিনিস ফণা নীচে শুধু ints. অথবা যে খুব কম স্তরের জন্য যদি আপনি, তারা শুধু সংখ্যার করছি ফণা নীচে. এমনকি অক্ষর, আবার, পুনরাহ্বান শুন্য সপ্তাহ থেকে সংখ্যা ফণা নীচে. বলতে হয়, যা আমরা মধ্যে রূপান্তর করতে পারেন সংখ্যার বিভিন্ন ধরনের ব্লক তারা শুধু বিট করছি. আমরা সংখ্যার মধ্যে রূপান্তর করতে পারেন এবং অক্ষর তারা ঠিক করছি বিট, এবং তদ্বিপরীত. এবং এই পদ্ধতিতে ভোটদান প্রক্রিয়া হয় প্রোগ্রামিং যে জোর করে আপনাকে অন্য একটি ডাটা টাইপ পরিবর্তন করুন. দুর্ভাগ্যবসত, এই হল না আমি পছন্দ হতে পারে হিসাবে সহজবোধ্য. আমি floats মধ্যে ফিরে যেতে চলেছি 1, যা সহজ, আরও ছিল সঙ্গে সহজবোধ্য এক .0 প্রতিটি নেভিগেশন এখনো যোগ করেনি. এবং শুধুমাত্র একটি দ্রুত সতেজকারক হিসাবে, আমাকে এগিয়ে যান এবং কম্পাইল করা যাক এই floats 2 না - দুঃখিত, এই floats 1 করা হয়. এবং এখন এর floats 1 চালানো যাক. এবং নীচে, বিজ্ঞপ্তি আমি প্রকৃতপক্ষে 0.1 পেতে. সুতরাং, সমস্যার সমাধান. কিন্তু এখনও. আমি এখন একটু অদ্ভুত পেতে যাচ্ছি এবং আমি আমার মধ্যে ফিরে যেতে চলেছি printf, স্টেটমেন্ট এবং বলুন, আপনি জানেন কি? আমি বুঝি যে এই কনফার্ম করতে চাই এক দশম সত্যিই হয়. এবং আমি এই দেখতে চাই যাচ্ছি আপনি, পাঁচ দশমিক স্থান বলে. এটি একটি সমস্যা নয়. আমি পাঁচ থেকে দুই পরিবর্তন আমি সঙ্গে কম্পাইল. আমি এটা হিসাবে 1 floats পুনরায় আরম্ভ করুন. প্রশংসনীয় ভাল খুঁজছি. আমার বৈধতা চেক আছে শেষ, কিন্তু হতে পারে আমি একটু বেশি সাহসী পেয়ে করছি. আমি 0.10 থেকে 0.5 পরিবর্তন করতে যাচ্ছি. আমি পরে 10 সংখ্যার দেখতে চাই দশমিক স্থান. এবং আমি এগিয়ে যান এবং কম্পাইল যাচ্ছি এই এবং পুনরায় আরম্ভ করুন 1 floats. খেদ আমি এই ধরনের পরীক্ষা জমিদারি আমার গণিত তাই নয় আরো কারণ আর সঠিক মনে হয়. কিন্তু হয়তো, এক মিনিট অপেক্ষা করুন যে শুধু একটি সৌভাগ্য হয়েছে. হয়তো কম্পিউটার অভিনয় করা হয় একটি সামান্য বিট অদ্ভুত. আমাকে এগিয়ে যান এবং 20 দশমিক পয়েন্ট করুক এবং আমি জানি যে নিজেকে আশ্বস্ত গণিত কিভাবে. আমি প্রোগ্রাম জানেন কিভাবে. Floats 1, কম্পাইল করা, এবং এটা অভিশাপ. সত্যিই যে, সত্যিই পেয়ে পর্যন্ত চিহ্ন থেকে. তাই কি এখানে হচ্ছে? Intuitively, আমাদের অনুমানের উপর ভিত্তি করে তথ্য ধরনের আকারের আগে, এখানে কি করতে হবে ফণা নীচে? হ্যাঁ? যথাযথভাবে. আপনি এই অনেক স্পষ্টতা করতে চান, এবং যদি যে স্পষ্টতা অনেকটা একটি নরক - এর দশমিক বিন্দু পরে 20 নম্বর. সম্ভবত আপনি একটি উপস্থাপন করতে পারবেন না যদি আপনি একটি না যতখন না নির্বিচারে সংখ্যা বিট নির্বিচারে সংখ্যা. কিন্তু আমরা কি না. একটি float, আমরা শুধুমাত্র 32 বিট আছে. 32 বিট শুধুমাত্র একটি মধ্যে permuted হতে পারে তাই আপনি যদি উপায় - শুধু আমাদের মত মানুষের উপর, পর্যায় হাত আপ বা ডাউন - একটি সসীম সংখ্যা উপায়, একটি সসীম সংখ্যা শুধুমাত্র আছে বাস্তব সংখ্যার আপনি উপস্থাপন করতে পারেন যারা বিট সঙ্গে. তাই কম্পিউটার অবশেষে আপনি আছে যাচ্ছে কোণে কাটা শুরু. কম্পিউটার যারা বিবরণ লুকাতে পারেন একটি সময় সামান্য বিট জন্য আমাদের কাছ থেকে. কিন্তু আমরা সংখ্যার এ খোঁচা শুরু এবং অধিকতর এবং অধিকতর এ খুঁজছেন পুরো নম্বর সংখ্যা নিতে, তারপর আমরা যে এটা দেখতে শুরু আসলে approximating এক দশম ধারণা. এবং তাই এটি সক্রিয় আউট, ঘটনাবহুল আছে, সংখ্যার একটি অসীম সংখ্যা আমরা একটি মধ্যে অবিকল উপস্থাপন করতে পারবেন না অন্তত একটি সসীম সঙ্গে কম্পিউটার, বিট সংখ্যা একটি সসীম RAM-র পরিমাণ. এখন দুর্ভাগ্যবশত,, এই মাঝে মাঝে বাস্তব পরিণতি. মানুষ পুরোপুরি এই প্রশংসা না করা হলে আসলে মঞ্জুর বা সাজানোর নিতে তাদের কম্পিউটারে ঠিক করতে হবে যে কি তারা না কি বলতে এই অন্তর্নিহিত বুঝতে উপস্থাপনা বিবরণ - সত্যি, কিছু কিছু ভাষায় হয়, যা সি ভিন্ন, ব্যবহারকারীর কাছ থেকে লুকানো আছে - কিছু খারাপ ব্যাপার ঘটতে পারে. এবং আমি মনে করি আমরা করতে চাই কি চিন্তা একটা পদক্ষেপ প্রত্যাহার করা হয়. এবং এই একটি সম্পর্কে আট মিনিটের ভিডিও. মাত্র কয়েক বছর আগে aired, এবং এটা দেয় যেতে পারেন আসলে কি অর্ন্তদৃষ্টি ভুল যদি আপনি এই অধীন-প্রশংসা যখন খুব সব খুব বিস্তারিত ধরণের বাস্তব জগতে. লাইট আমরা পারা অস্পষ্ট যদি কয়েক মিনিটের জন্য. স্পিকার 1: আমরা এখন ইঞ্জিনিয়ারিং ফিরে আধুনিক Marvels নেভিগেশন বিপর্যয়. কম্পিউটার - আমরা সব স্বীকার করতে এসেছ প্রায়ই হতাশাজনক সমস্যা তাদের সঙ্গে যে যান. বাগ, ভাইরাস, সফ্টওয়্যার এবং glitches তার জন্য টাকা দিতে হয় ছোট মূল্য সুবিধার্থে. কিন্তু উচ্চ কারিগরি এবং উচ্চ গতি সামরিক এবং স্থান প্রোগ্রাম অ্যাপ্লিকেশন, ক্ষুদ্রতম সমস্যা দুর্যোগ মধ্যে বিবর্ধিত করা যাবে. জুন 4, 1996 তারিখে, বিজ্ঞানীদের জন্য প্রস্তুত একটি জনহীন Ariane 5 রকেট চালু করুন. এটা বৈজ্ঞানিক উপগ্রহের বহন করেন অবিকল কিভাবে স্থাপন করার পরিকল্পনা করা পৃথিবীর চৌম্বক ক্ষেত্র মিথস্ক্রিয়া সৌর বায়ু সঙ্গে. রকেট ইউরোপিয়ান জন্য নির্মিত হয়েছিল স্পেস এজেন্সি এবং তার থেকে উত্ক্ষিপ্ত উপকূল সুবিধা ফরাসি Guiana না. JACK GANSSLE: 37 যাও এ মধ্যে ফ্লাইট, তারা প্রথম খেয়াল কিছু ভুল ছিল. nozzles মধ্যে swiveling হয়েছে একটি উপায় তারা সত্যিই উচিত নয়. ফ্লাইট মধ্যে 40 কাছাকাছি যাও, পরিষ্কারভাবে গাড়ির ঝামেলা ছিল. তারা তৈরি হলে এবং যে একটি এটি ধ্বংস করার সিদ্ধান্ত. সঙ্গে পরিসীমা নিরাপত্তা অফিসার, অসাধারণ নাড়িভুঁড়ি, বোতাম চাপা এটা করার আগেই রকেট আপ blew জননিরাপত্তা একটি বিপত্তি হয়ে. স্পিকার 1: এই কুমারী জলযাত্রা ছিল Ariane 5, এবং তার ধ্বংস কারণ এ এম্বেড করা একটি ত্রুটি স্থান গ্রহণ রকেট এর সফ্টওয়্যার. JACK GANSSLE: Ariane নেভিগেশন সমস্যা একটি নম্বর আছে ছিল যে দরকার 64 বিট প্রকাশ. এবং তারা রূপান্তর চেয়েছিলেন একটি 16 বিট সংখ্যা. তারা সংখ্যা ছিল অধিকৃত খুব বড় হতে যাচ্ছে যে অধিকাংশ 64 বিট যারা সংখ্যা নম্বর zeros ছিল. তারা ভুল ছিল. স্পিকার: 1 এক সফ্টওয়্যার অক্ষমতা ধরনের গ্রহণ প্রোগ্রাম অন্যের দ্বারা উত্পন্ন নাম্বার ছিল ব্যর্থতার root-এ. সফটওয়্যার ডেভেলপমেন্ট একটি খুব তীব্র হয়ে উঠেছে নতুন প্রযুক্তি ব্যয়বহুল অংশ. Ariane 4 রকেট খুব হয়েছে সফটওয়্যার এর সফল, এত এটি ছিল জন্য নির্মিত Ariane 5 ব্যবহৃত হয়. Philip COYLE: মৌলিক সমস্যা ছিল Ariane 5, দ্রুত ছিল যে দ্রুত গতি বৃদ্ধি পায়. এবং সফটওয়্যার না ছিল যে জন্য দায়ী. স্পিকার: 1 রকেট ধ্বংস , একটি বিশাল আর্থিক দুর্যোগ ছিল একটি মিনিট সফ্টওয়্যার ত্রুটির কারণে সব. কিন্তু এই প্রথমবার তথ্য ছিল না রূপান্তর সমস্যা আধুনিক জর্জরিত ছিল রকেট প্রযুক্তি. JACK GANSSLE: 1991 সালে, শুরু প্রথম উপসাগরীয় যুদ্ধ, দেশভক্ত এর ক্ষেপণাস্ত্র একটি অনুরূপ ধরনের অভিজ্ঞতা একটি নম্বর রূপান্তর সমস্যা. ফলে, 28 আমেরিকান সৈন্য ছিল নিহত এবং প্রায় 100 অন্যদের আহত যখন অনুমিত ছিল যা দেশভক্ত, অন্তর্মুখী Scuds রক্ষা করার জন্য, একটি ক্ষেপণাস্ত্র জ্বালান ব্যর্থ হয়েছে. স্পিকার 1: ইরাক কুয়েত আক্রমণ করে এবং কখন আমেরিকা মরুভূমি ঝড় চালু গোড়ার দিকে 1991, দেশভক্ত ক্ষেপণাস্ত্র ব্যাটারী সৌদি আরব থেকে রক্ষা মোতায়েন করা হয়েছে ইরাকি Scud থেকে ইস্রায়েল ক্ষেপণাস্ত্র আছে. দেশভক্ত একটি মার্কিন মাঝারি পরিসীমা দ্বারা নির্মিত সারফেস টু এয়ার সিস্টেম RAYTHEON কোম্পানি. THEODORE POSTOL: দেশভক্ত মাপ আটককারী নিজেই প্রায় হয় 20 ফুট দীর্ঘ. এবং এটি সম্পর্কে 2000 পাউন্ড weighs. এবং এটি সম্পর্কে একটি warhead বহন করে - আমি এটা প্রায় 150 পাউন্ড মনে করি. এবং warhead নিজেই একটি যা উচ্চ বিস্ফোরক এটি প্রায় টুকরা. warhead এর আবরণ ডিজাইন করা হয়েছে ছর্রা ভালো কাজ করে. স্পিকার: 1 মিসাইল চার বাহিত হয় ধারক প্রতি এবং পরিবাহিত হয় একটি আধা ট্রেলার দ্বারা. Philip COYLE: দেশভক্ত বিরোধী মিসাইল সিস্টেম এ ফিরে যায় এখন অন্তত 20 বছর. এটা মূলত হিসাবে পরিকল্পনা করা হয়েছিল একটি এয়ার ডিফেন্স ক্ষেপণাস্ত্র শত্রু এ্যারোপ্লেনের শিকারভূমি নিচে. প্রথম উপসাগরীয় যুদ্ধে, যখন যে যুদ্ধ বরাবর এসেছেন, সেনাবাহিনী এটি ব্যবহার করতে চেয়েছিলেন Scuds, না এ্যারোপ্লেনের নিচে অঙ্কুর. ইরাকী এয়ার ফোর্স ছিল না একটি সমস্যা অনেক. কিন্তু আর্মি Scuds সম্পর্কে চিন্তিত ছিলাম. এবং তাই তারা আপগ্রেড করার চেষ্টা করে দেশভক্ত. স্পিকার: 1 একটি শত্রু ক্ষেপণাস্ত্র আটকাচ্ছে মাপক পাঁচ এ ভ্রমণ ছিল যথেষ্ট চ্যালেঞ্জিং হতে যাচ্ছে. কিন্তু দেশভক্ত মধ্যে rushed ছিল সেবা, সেনাবাহিনী একটি সচেতন ছিল না তাদের যে ইরাকি পরিবর্তন আঘাত প্রায় অসম্ভব Scuds. THEODORE POSTOL: কি ঘটেছে যে ছিল Scuds হয় আসছে অস্থির ছিল. তারা wobbling হয়. এই জন্য কারণ না, Iraqis ছিল একটি 600 কিলোমিটার খুঁজে পেতে 300 কিলোমিটার পরিসীমা ক্ষেপণাস্ত্র, গ্রহণ সামনে warhead বাইরে ওজন. তারা warhead লাইটার প্রণীত. তাই এখন দেশভক্ত করার চেষ্টা হচ্ছে Scud এ আসা. এবং অধিকাংশ সময়ে, অপ্রতিরোধ্য সময় অধিকাংশ, এটা ঠিক হবে Scud দ্বারা উড়ে. স্পিকার 1: একবার দেশভক্ত সিস্টেম অপারেটরদের দেশভক্ত মিস উপলব্ধি তার লক্ষ্য, তারা Patriots detonated সম্ভব এড়ানো warhead এটি অনুমোদিত হলে হতাহতের মাটিতে পড়ে যাও. THEODORE POSTOL: কি যে অধিকাংশ ছিল মানুষ আকাশে বড় fireballs হিসাবে দেখেছি এবং বিবৃতি হিসেবে অনেকেই ভুল বুঝে ভাবেন Scud warheads এর. স্পিকার: 1 রাত skies যদিও Patriots সফলভাবে হতে হবে সেখানে Dhahran এ, Scuds অন্তক তার সম্পর্কে কোন ভুল হতে পারে কর্মক্ষমতা. , দেশভক্ত এর রাডার সিস্টেম আছে হারিয়ে গেছে একটি অন্তর্মুখী Scud ট্র্যাক এবং না একটি সফ্টওয়্যার খুঁত কারণে চালু করে. এটি প্রথম আবিষ্কৃত যারা ইজরায়েলের ছিল যে সিস্টেম আর , বৃহত্তর সময় অমিল ছিল একটি ঘড়ি কারণে হয়ে ওঠে সিস্টেমের কম্পিউটার এমবেড করা. JACK GANSSLE: প্রায় দুই সপ্তাহ আগে Dhahran, ইজরায়েলের মধ্যে ট্রাজেডি প্রতিরক্ষা দপ্তর থেকে উলি্ল্লখিত সিস্টেমের সময় হারানো ছিল. চলমান প্রায় আট ঘণ্টা পর, তারা সিস্টেম লক্ষ্য করেছি যে, লক্ষণীয়ভাবে কম হয়ে উঠছে সঠিক. প্রতিরক্ষা দপ্তরের প্রতিক্রিয়া দেশভক্ত ব্যাটারী সমস্ত কহন সিস্টেম ছেড়ে চলে যেতে না একটি দীর্ঘ সময় জন্য. তারা একটি দীর্ঘ সময় ছিল বলেন না. আট ঘন্টা? 10 ঘন্টা? 1,000 ঘন্টা? কেউ জানত. স্পিকার: 1 দেশভক্ত ব্যাটারি সংস্থিত Dhahran এ ব্যারাকে এ এবং তার দ্বিধান্বিত অভ্যন্তরীণ ঘড়ি হয়েছে রাতে 100 ঘন্টা ফেব্রুয়ারি 25th. JACK GANSSLE: এটি একটি সময় ট্র্যাক একটি দ্বিতীয় একটি দশম ওপর নির্ভুলতা. এখন, একটি দ্বিতীয় একটি দশম একটি হল এটা হতে পারে না, কারণ আকর্ষণীয় সংখ্যা ঠিক বাইনারি প্রকাশ করা, যার মানে হচ্ছে এটা ঠিক প্রকাশ করা যাবে না কোনো আধুনিক ডিজিটাল কম্পিউটার. এটা বিশ্বাস করতে কষ্ট, কিন্তু একটি উদাহরণ হিসাবে ব্যবহার. এর সংখ্যা এক তৃতীয়াংশ যাক. এক তৃতীয়াংশ প্রকাশ করা যাবে না ঠিক দশমিক মধ্যে. এক তৃতীয়াংশ 0,333 যাচ্ছে অনন্ত জন্য. সঙ্গে যে কি কোন উপায় আছে দশমিক পরম সঠিকতা. যে ঠিক একই ধরনের সমস্যা এর যে দেশভক্ত ঘটেছে. আর সিস্টেম, দৌড়ে সবচেয়ে খারাপ সময় ত্রুটি হয়ে ওঠে. স্পিকার: 1 অপারেশন 100 ঘন্টা পরে, সময় ত্রুটি শুধুমাত্র ছিল একটি দ্বিতীয় প্রায় এক তৃতীয়াংশ. কিন্তু পদ একটি ক্ষেপণাস্ত্র লক্ষ্য মাপক পাঁচ এ ভ্রমণ, এটি ফলাফল ওভার 600 মিটার ট্র্যাকিং ত্রুটি. এটি একটি মারাত্মক ত্রুটি হবে Dhahran এ সৈন্যদের. THEODORE POSTOL: কি ঘটেছে একটি Scud প্রবর্তন তাড়াতাড়ি দ্বারা সনাক্ত করা হয়েছে সতর্কবার্তা উপগ্রহ. এবং তারা Scud আসছে জানতেন যে তাদের সাধারণ দিক. এটি আসছে যেখানে তারা জানেন না. স্পিকার 1: এটা রাডার এখন ছিল দেশভক্ত সিস্টেম কম্পোনেন্ট সনাক্ত রাখা Dhahran রক্ষার আগত শত্রু ক্ষেপণাস্ত্র ট্র্যাক. JACK GANSSLE: রাডার খুব স্মার্ট ছিল. এটা আসলে অবস্থান ট্র্যাক করতে হবে তারপর Scud এবং ভবিষ্যদ্বাণী যেখানে এটি সম্ভবত পরবর্তী সময় হবে রাডার একটি পালস পাঠানো আউট. যে পরিসীমা গেট বলা ছিল. THEODORE POSTOL: তারপর দেশভক্ত একবার যথেষ্ট সময় যেতে পাস করেনি সিদ্ধান্ত নেয় পিছনে এবং পরবর্তী অবস্থান পরীক্ষা এই সনাক্ত করা হলে বস্তু, এটা ফিরে যায়. এটা ভুল ফিরে গিয়েছিলাম তাই যখন জায়গা পাওয়া যায়, তাহলে কোন বস্তু দেখতে পান না. এবং এটি কোন বস্তু ছিল যে সিদ্ধান্ত নেয় এটি একটি মিথ্যা সনাক্তকরণ, এবং ট্র্যাক ড্রপ. স্পিকার: 1 অন্তর্মুখী Scud অদৃশ্য রাডার পর্দা থেকে, এবং এক্সপ্লোর পরে slammed ব্যারাকে মধ্যে. Scud 28 নিহত এবং গত এক ছিল প্রথম উপসাগরীয় যুদ্ধের সময় বহিস্কার. ঘটনাবহুল, আপডেট সফ্টওয়্যার আগত Dhahran এ পরের দিন. সফ্টওয়্যার ত্রুটি সংশোধন করা হয়েছে, অস্থির এক অধ্যায়ের বন্ধ দেশভক্ত ক্ষেপণাস্ত্র ইতিহাস. দেশভক্ত আসলে একটি আদ্যক্ষরা হয় বিকাশ এরে ট্র্যাকিং জন্য টার্গেটের পথিমধ্যে. DAVID জে Malan: ঠিক আছে, তাই নিশ্চিত করা, যেমন sobering. এবং ভাগ্যক্রমে, এই নিম্ন স্তরের বাগ আমরা করব কিছু নয় সাধারণত অবশ্যই প্রশংসা করতে হবে আমাদের কিছু প্রোগ্রামের নিকটতম. বরং, বাগ সবচেয়ে আপনি পাবেন সম্মুখীন, প্রকৃতির মধ্যে যৌক্তিক হতে হবে প্রকৃতির অন্বিত যদ্দ্বারা কোড ঠিক ঠিক কাজ করছে না. এবং আপনি এটি বেশ দ্রুত জানি. কিন্তু বিশেষ করে আমরা পেতে সেমিস্টারে শেষে, এটা যাচ্ছে একটি সম্ভাবনা বেশি এবং আরও হত্তয়া সত্যিই ডিজাইন সম্পর্কে কঠিন মনে হয় আপনার প্রোগ্রাম এবং অন্তর্নিহিত এর উপস্থাপনা সেখানে খুব, তথ্য. উদাহরণস্বরূপ, আমরা, মাইএসকিউএল চালু করব যা একটি জনপ্রিয় ডাটাবেস ইঞ্জিন আপনার ওয়েবসাইটের সাথে ব্যবহার করতে পারেন ফিরে শেষ ডেটা জমা. এবং আপনি এ সিদ্ধান্ত নিতে শুরু করতে হবে সেমিস্টারে শেষে কি না শুধুমাত্র ব্যবহার করার জন্য এই লাইন বরাবর ধরনের তথ্য কিন্তু ঠিক কিভাবে অনেক বিট ব্যবহার করার জন্য, আপনি পারেন তারিখ সংরক্ষণ করতে ইচ্ছুক কিনা বা না তারিখ ও বার বার, এবং এছাড়াও হিসাবে আপনি কিভাবে বড় করতে চান ভালো জিনিস জন্য হতে বলতে অনন্য আইডি, ব্যবহারকারীরা আপনার ডাটাবেসের মধ্যে. আসলে, আপনি কি কিছু থাকে তাহলে ছিল ফেসবুক, বেশ কিছু সময় জন্য আকাউন্টের এবং আপনি অ্যাক্সেস পেতে জানেন কিভাবে - আপনার ব্যবহারকারী আইডি যাও যা কখনো কখনো আপনার দেখায় আপনি যদি একটি নির্বাচিত করেছি, যদি না এর প্রফাইল URL টি URL এর জন্য ডাক নাম, বা আপনি থাকেন তাহলে ব্যবহৃত ফেসবুক এর গ্রাফ এপিআই, সার্বজনীনরূপে উপলব্ধ API-টি, যার দ্বারা আপনি কাঁচা তথ্য জন্য অনুরোধ করতে পারেন ফেসবুক - আপনার সাংখ্যিক আইডি কি দেখতে পারেন. এবং কিছু বছর আগে, ফেসবুক মূলত ব্যবহারে পরিবর্তন ছিল দীর্ঘ ব্যবহার ints এর সমতুল্য দীর্ঘ সময়ের ব্যবহারকারীদের আসার কারণ ও যান ও হিসাব প্রচুর নির্মাণ ও জাল অ্যাকাউন্ট, এমনকি তারা খুব সহজেই একটি 4 ভালো কিছু নিষ্কাশন করতে পেরেছি কোন int মত বিলিয়ন সম্ভব মান. বিষয় ঐ ধরণের তাই আরো রাস্তা নিচে, হিসাবে ভাল. ঠিক আছে, প্রক্ষেপণ ছিল যাতে. যে imprecision ছিল. দ্রুত ঘোষণা একটি দম্পতি. সুতরাং বিভাগে আনুষ্ঠানিকভাবে এই আসছে শুরু রবিবার, সোমবার, মঙ্গলবার. আপনি পরে এই সপ্তাহে ইমেইলের মাধ্যমে শুনতে পাবেন আপনার সেকশন নিয়োগ হিসেবে. এবং আপনি এখানে যে সময়ে করব কিভাবে আপনার সেকশন পরিবর্তন করতে হলে আপনার সময়সূচী এখন পরিবর্তিত বা হয়েছে আপনার সান্ত্বনা স্তরের এখন পরিবর্তিত হয়েছে. এক ইতিমধ্যে পি সেট এক হ্যাকার বিকল্প এই বৃহস্পতিবার কারণে প্রতি যে নির্দিষ্ট সময়সীমা প্রসারিত শুক্রবার বিশেষ উল্লেখ সাধারণ ভাবে. সমস্যা অন্তর্ভুক্ত বুঝতে পারি যে সেট নির্দিষ্টকরণের নেভিগেশন নির্দেশাবলী এবং CS50 প্রয়োগ কিভাবে ব্যবহার করতে করতে, সেইসাথে কিছু CS50 নির্দিষ্ট সরঞ্জামসমূহ আপনি প্রদান করতে পারেন যা স্টাইল 50, ভালো নেভিগেশন পরিবর্তনশীল প্রতিক্রিয়ার সাথে আপনার কোড শৈলী গুণমান এবং এছাড়াও আপনার সাথে প্রদান করতে পারেন, যা 50 চেক আপনার হিসেবে গতিশীল প্রতিক্রিয়া কোড এর শুদ্ধতা. আমরা এখনও ironing করছি ক্ষমা চেক 50 সঙ্গে কয়েক kinks খুঁজে. শুরু যারা আপনার সহপাঠীদের কয়েক চার কাছাকাছি শুক্রবার রাতে আমি যখন গিয়েছিলাম বৈশিষ্ট আপ তারপর থেকে লক্ষ্য করেছি আমরা কাজ করছি যে কয়েক বাগ যে কেউ এর মাধ্যমে, এবং ক্ষমা যারা অকারণে বিরক্তির অভিজ্ঞতা হয়েছে. ফল্ট খনি. কিন্তু আমরা CS50 নেভিগেশন আপ অনুসরণ করব এই সমস্যাগুলি সমাধান করা হয় যে যখন আলোচনা করা হয়েছে. স্কোর নিজেদের উপর একটি শব্দ তাই. তাই এটা আপনি আগে সপ্তাহে বা দুই হবেন সমস্যা সেট প্রতিক্রিয়া পেতে শুরু আপনি যদি এখনো নেই একটি শিক্ষণ সহকর্মী. এমনকি তারপর, আমরা মূল্যায়ন শুরু হবে সি সমস্যা আমরা আগে সেট করে ফিরে যান এবং স্ক্র্যাচ তাই নির্ণয় করা আপনাকে আরও প্রাসঙ্গিক পেতে আরও দ্রুত প্রতিক্রিয়া. কিন্তু পাঠ্যসূচি প্রতি সাধারণভাবে, এবং CS50 সমস্যা সেট বরাবর মূল্যায়ন করা হয় চার অক্ষ অনুসরণ - সুযোগ, শুদ্ধি, নকশা, এবং শৈলী. ব্যাপ্তি সাধারণত একটি সংখ্যা হতে যাচ্ছে যে শূন্য থেকে পাঁচ ধারন করে কিভাবে অনেক আপনি বন্ধ বিট টুকরা যে. সাধারণত, আপনি এই পাঁচটি হতে চান. আপনাকে অন্তত সব চেষ্টা. এবং এটি একটি multiplicative ফ্যাক্টর বিজ্ঞপ্তি যাতে শুধুমাত্র অংশ করছেন সমস্যা সেট ভাল কৌশল নয়. ইতিমধ্যে, আরো সুস্পষ্ট শুদ্ধি গুরুত্ব - শুধুমাত্র আপনার প্রোগ্রামের সাথে সঠিক স্পেসিফিকেশন সম্মান? এই ইচ্ছাকৃতভাবে আরো পরিমেয় হয় প্রচন্ডভাবে একটি দ্বারা অন্য দুটি অক্ষ আর তিনটি ফ্যাক্টর আমরা চিনতে কারণ সাধারণত আপনি একটি কাটাতে চলুন আরো অনেক সময় কিছু বাগ নিচে পশ্চাদ্ধাবন, তারপর আপনি আপনার কোড কাজ পেয়ে এটি indenting এবং চয়ন করছেন উপযুক্ত ভেরিয়েবলের নাম এবং চাই, যা অন্য প্রান্তে হয় শৈলী বর্ণালী. যে শৈলী নয় বলে না গুরুত্বপূর্ণ, এবং আমরা এটা উপর ধর্মপ্রচার করব বক্তৃতা ও বিভাগে উভয় সময়. স্টাইল নন্দনতত্ব বোঝায় আপনার কোড. আপনি ভাল নামে ভেরিয়েবল চয়ন করেছেন সংক্ষিপ্ত কিন্তু কিছুটা যে বর্ণনামূলক? আপনি দেখা করেছি আপনার কোড সংভৃত হয় বক্তৃতা এবং সামঞ্জস্যপূর্ণ এমনভাবে শৈলী 50? অবশেষে নকশা অধিকার আছে মাঝখানে. ডিজাইন করা একটি কঠিন এক এটা আরো অনেক কারণ নেভিগেশন আঙুল বিষয়ী. কিন্তু এটা সম্ভবত সবচেয়ে গুরুত্বপূর্ণ প্রাতিষ্ঠানিক পদ তিনটি অক্ষ সময়ের সঙ্গে এবং যে মান এই হতে হবে শিক্ষণ সহকর্মী এর সুযোগ আপনি গুণগত প্রতিক্রিয়ার সাথে প্রদান. প্রকৃতপক্ষে, CS50 মধ্যে আমরা আছে, যদিও শেষে এই সূত্রে এবং স্কোর, দিনের এই অত্যন্ত ইচ্ছাকৃতভাবে হয় খুব ছোট buckets - পয়েন্ট মান শূন্য এবং তিনটি মধ্যে এবং শূন্য এবং পাঁচ. আমরা খুব মোটা লাইন আঁকার চেষ্টা করবেন না সমস্যা সেট মধ্যে অথবা মধ্যে ছাত্র বরং যতটা ফোকাস কিন্তু আমরা গুণগত উপর, longhand করতে পারেন থেকে প্রতিক্রিয়া হয় টাইপ করা অথবা মৌখিক আপনার বিশেষ শিক্ষণ সহকর্মী, আপনি বেশ ভাল জানতে পাবেন. তবে সাধারণভাবে, যারা ওজন হয় বিভিন্ন অক্ষ থাকবে. এদিকে, খুব, এটা মাথায় রেখে মূল্য আপনি অনুমান করা উচিত নয় যে মন একটি পাঁচ বাইরে তিনটি একটি 60% এবং সেইজন্য প্রায় ব্যর্থ. তিন ইচ্ছাকৃতভাবে করা বোঝানো হয় ভাল রাস্তা মাঝখানে সাজানোর. আপনি এ threes পেয়ে থাকেন তাহলে সেমিস্টারে প্রারম্ভে, যে প্রকৃতপক্ষে একটি ভাল হতে বোঝানো আরম্ভ করার জন্য রাখুন. আপনি twos, মেলা পেয়ে থাকেন, তাহলে আছে একটু দিতে স্পষ্টভাবে কিছু কাজ আরো মনোযোগ, সদ্ব্যবহার বিভাগ এবং অফিস. আপনি হামাগুড়ি দিয়া পেয়ে থাকেন তাহলে এবং ফাইভ্স, মহান. কিন্তু সত্যিই, আমরা নির্দিষ্ট আবক্র আশা করি ছাত্র মধ্যে - খুব ছাত্র প্রতি individualized, কিন্তু শুরু সাজানোর এখানে সেমিস্টারে তিনটি পরিসীমা দুটি কিন্তু শেষ এখানে চার থেকে পাঁচ সীমার মধ্যে. যে আমরা সত্যিই খুঁজছেন করছি. এবং আমরা মনে ডেল্টা যে লক্ষ্য রাখুন আপনি শুন্য সপ্তাহ এবং সপ্তাহে মধ্যে প্রদর্শিত 12 আমি বাংলাদেশের করছি যখন. এটা একেবারে কিভাবে আমাদের কোন ব্যাপার না আপনি প্রারম্ভে উচিত যদি আপনার গ্রহনক্ষত্রের নির্দিষ্ট আবক্র পথ প্রকৃতপক্ষে হয় উর্ধ্বগামী এবং দৃঢ়. একাডেমিক সততা - তাই আমার উপর করা যাক শুধু একটা মুহূর্ত জন্য আরো গুরুতর ভয়েস. তাই এই কোর্স এর পার্থক্য আছে কোনো কিছু ছাত্র পাঠানোর বিজ্ঞাপন বোর্ড ইতিহাস, আমি বিশ্বাস করি. আমরা এই সময়ে হারিয়ে গণনা ধরণের আছে এরকম কত ঘন ঘন বিন্দু. এবং যে 50 টি কারণ ছাত্র না কোন তাদের আরো বেশী অসৎ হয় অন্যত্র সহপাঠীদের. কিন্তু আমরা খুব ভালো যে, খুব বুঝতে পারছি জিনিস এই সাজানোর detecting এ. এবং যে সুবিধা একটি কম্পিউটার বিজ্ঞান ক্লাস আছে যে আমরা এবং আমরা সব ছাত্র তুলনা করতে পারেন সমস্যা প্রতি বিরুদ্ধে জোড়া জিনিস সেট করে অন্যান্য, এই বছর না শুধুমাত্র কিন্তু সমস্ত পূর্বে বছর. আমরা ছাত্র মত ক্ষমতা আছে Google-এ এবং এটি কোড বর্গ, github মত সাইট এবং উপর আলোচনা ফোরাম. CS50 এর একেবারে সমাধান আছে সেখানে প্রায় ফ্লোটিং P-নির্ধারণ করা হবে. কিন্তু আপনি তাদের খুঁজে বার করতে পারেন, আমরা তাদের খুঁজে পেতে পারেন. এবং এই সব খুব স্বয়ংক্রিয়রূপে করা হয় এবং সহজ এবং দু: খিত, আমাদের জন্য এটি. কিন্তু আমি খুব,, জোর করতে চান কোর্স এর একাডেমিক সততা নীতি অনেক অনেক হতে বোঝানো যে আত্মা এর বিপরীত. প্রকৃতপক্ষে, এই বছর আমরা জিনিস rephrased করেছি এই হতে পাঠ্যক্রম মধ্যে, বিন্দু আরো বিস্তারিত সঙ্গে বিন্দু বিন্দু, পাঠ্যক্রম মধ্যে. কিন্তু অবশ্যই প্রতিষ্ঠানের থিম সত্যিই যুক্তিসঙ্গত হবে. আমরা একটি গুরুত্বপূর্ণ যে আছে সনাক্ত প্রাতিষ্ঠানিক পরিমাণ কতক সহযোগী মান, সহপাঠীদের সঙ্গে, যেখানে আপনি দুই বা তিন বা আপনি আপনি আরও আছে একটি সাদা বোর্ড এ দাঁড়িয়ে তাই আপনি whiteboarding, , আপনার ধারনা সাথে কথা বলতে - ছবির মধ্যে pseudocode লেখা, মারিও তাহলে কি করা উচিত diagramming আপনি এটি প্রথম লেখার ছিল pseudocode মধ্যে. কি অর্থগৃধ্নু এলগরিদম উচিত - কিভাবে এটি প্রতি আচরণ করা উচিত সমস্যা এক সেট করে? তাই যে আচরণ বুঝতে আমরা উত্সাহিত যে খুব হয় যারা লাইন বরাবর অনেক. এবং পাঠ্যক্রম এ আপনি একটি দেখতে পাবেন একটি অধীন বুলেট পুরো গুচ্ছ যুক্তিসঙ্গত বিভাগ এবং একটি যুক্তিসঙ্গত না আমাদের সাহায্য করতে সাহায্য করে বিষয়শ্রেণীতে আপনি যেখানে কাছাকাছি আপনার মন মোড়ানো আমরা যে লাইন আঁকা না. চলতি এবং সাধারণভাবে, একটি শালীন শাসন যে আপনি সমাধানের জন্য সংগ্রামরত যদি কিছু বাগ এবং আপনার বন্ধু বা সহপাঠী এটা, আপনি পরবর্তী বসা হয় আপনি তাকে দেখানোর জন্য যুক্তিসঙ্গত বা তার আপনার কোড এবং অঁ্যা, আপনি সাহায্য করতে পারেন বলে, আমাকে এখানে ভুল কি চিন্তা? আমরা সাধারণত আলিঙ্গন না বিপরীত দিকে. এটা আপনার জন্য একটি সঠিক প্রতিক্রিয়া হয় না বন্ধু বা বলতে এখানে সহপাঠী, ওহ, শুধু খনি ও চিত্র তাকান যা থেকে এটা খুঁজে. যে ধরণের অযৌক্তিক হয়. কিন্তু অন্য কেউ, অন্য মস্তিষ্ক, জমিদারি চোখের আরেক জোড়া তাকান আপনার কোড এ আপনার পর্দা অথবা বর্ণন এবং বলে, আপনি কি নিশ্চিত এখানে একটি লুপ আছে? অথবা আপনি নিশ্চিত এখানে যে সেমিকোলন? অথবা ওহ, যে ত্রুটির বার্তা এই মানে. যারা খুব যুক্তিসঙ্গত হয় উত্সাহ আচরণে. আমি alluding ছিল যা মামলা ছাত্র যখন আগে ফুটাইয়া কমান নিশুতি খারাপ বিচারকালে সিদ্ধান্ত এবং আপনি তাদের কোড ইমেল অন্যথায় বা শুধু কেউ বলছে, এখানে, এটা ড্রপবক্স মধ্যে বা গভীর রাতে Googling. তাই আমি বিশ্বাস করি এবং আপনি প্রার্থনা করা হবে আপনি সেই অনিবার্য হয়ে থাকলে স্ট্রেস মুহূর্ত, আপনি আপ bumping করছি সর্বশেষ সময়সীমাঃ বিরুদ্ধে, আপনি কোন দেরী আছে এটা যে ইতিমধ্যেই শুক্রবার এর দিন থেকে বিন্দু, কোর্স এর মাথা ইমেইল বা সরাসরি নিজেকে. শুনতে, বলুন, আমি আমার এ আছি এখানে পয়েন্ট ভঙ্গ. চলুন শুরু করা যাক একটি কথোপকথনের এবং এটা চিন্তা. ওয়েব অবলম্বী বা অন্য কিছু না যুক্তিসঙ্গত আচরণ না হয় আপনার সমাধান, এবং অত্যধিক সহপাঠীদের আর এখানে আছে কারণ যে দরিদ্র রায় ক্যাম্পাস. কিন্তু এটা যে লাইন স্কার্ট খুব সহজ. এবং এখানে উত্সাহিত করা একটি সামান্য ছবি হয় আপনি reddit থেকে যাতে এখন সবকিছু ঠিক হয়ে যাবে. একটি দ্রুত সংক্ষিপ্তবৃত্তি তাই হয়, তাহলে, আমরা বাম বন্ধ কোথায়. তাই গত সপ্তাহে, আমরা পরিচয় করিয়ে দিতে যে প্রত্যাহার শর্ত, না ভূত কিন্তু এই সি সময়. এবং কিছু নতুন বাক্য গঠন কিন্তু আছে কোনটাই সত্যিই কোন নতুন ধারণা. আমরা বুলিয়ান এক্সপ্রেশন ছিল আমরা যে বা একসাথে সঙ্গে উল্লম্ব দুই বার বা একসঙ্গে দুই সঙ্গে ampersands বলছে, বাম উভয় যে এবং ডান অবশ্যই সঠিক হতে হবে এই সঞ্চালনের জন্য. তারপর আমরা লাগছিল, যা সুইচ ছিল সংক্ষেপে এ, কিন্তু আমি উত্থাপন করা হয় সত্যিই অর্জনের জন্য শুধু বিভিন্ন সিনট্যাক্স আপনি লক্ষ্য একই ধরনের জানতে হলে আগাম কি আপনার ক্ষেত্রে হতে যাচ্ছে. আমরা loops দিকে তাকিয়ে. লুপ জন্য একটি, হয়ত সবচেয়ে সাধারণ অথবা অন্তত একটি মানুষ instinctively জন্য সাধারণত পৌঁছানোর. এটি একটি সামান্য রহস্যপূর্ণ দেখায়, যদিও আপনি এই অনেক, অনেক উদাহরণ দেখতে পাবেন আপনি আছে, দীর্ঘ আগে ইতিমধ্যে দেরী গত সপ্তাহে. Loops একভাবে করতে পারেন একই জিনিস অর্জন. কিন্তু কোন incrementation করতে চান বা হালনাগাদ করা হচ্ছে পরিবর্তনশীল এর মান, আপনি আছে আরো নিজে আর এটা করতে লুপ আগে করতে পারবেন জন্য. এবং তারপর কাজ যখন লুপ আছে, যা আমাদের কিছু করতে পারবেন অন্তত একবার যখন কিছু অন্য সত্য. এবং এই জন্য বিশেষভাবে ভালো হয় আপনি চান যেখানে প্রোগ্রাম বা গেম জন্য কিছু ব্যবহারকারীর জন্য অনুরোধ অন্তত একবার. এবং তারপর তিনি সহযোগিতা, না হলে যদি আপনি এটি করতে চান হতে পারে আবার এবং আবার. ভেরিয়েবল সঙ্গে এদিকে,, আমরা লাইন ছিল ভালো কোড, যা হতে পারে দুই লাইন হতে. আপনি নামক কোন int ডিক্লেয়ার পারে কাউন্টার, সেমিকোলন. অথবা আপনি শুধু ঘোষণা করতে পারেন তাই কথা বলতে, এটা সংজ্ঞায়িত. এটি একই সময়ে একটি মান দিন. এবং তারপর সর্বশেষে, আমরা কথা বলত ফাংশন সম্পর্কে. এবং এই একটি চমৎকার উদাহরণ ছিল এটা প্রকাশ করে যে অর্থে ফাংশন দুই ধরনের. এক GetString, (), হয় আবার, যা, ব্যবহারকারী থেকে একটি পংক্তি পায়. কিন্তু GetString, (), আকর্ষণীয় ধরনের এ পর্যন্ত আমরা এটা ব্যবহার করেছি, আমরা সবসময় এটি সঙ্গে ব্যবহার করেছি কারণ একটি বাম দিকে কিছু সমান চিহ্ন. যে GetString, () বলতে হয় একটি মান ধার্য করা হয়. এটা অবশ্যই,, একটি স্ট্রিং ফেরৎ. এবং তারপর বাম হাতের পাশ দিয়ে, আমরা কেবল একটি ভিতর যে স্ট্রিং সংরক্ষণ পরিবর্তনশীল নাম বলা. এই থেকে, একটি অর্থে, ভিন্ন printf, printf,, অন্তত আমাদের কারণ এখানে ব্যবহার, কিছু ফেরত না. একটি সরাইয়া হিসাবে, এটা ফেরত কিছু আছে. আমরা ঠিক কি এটা না যত্ন. কিন্তু এটা কি আছে একটি পার্শ্ব প্রতিক্রিয়া বলা হয়. এবং প্রতি যে পার্শ্ব প্রতিক্রিয়া কি হয় ক্ষেত্রে আমরা দূর পর্যন্ত দেখা করেছি? Printf, কী কাজ করে? এটা পর্দায় কিছু ছাপে প্রদর্শন টেক্সট বা সংখ্যা বা কিছু পর্দায়. এবং যে মাত্র একটি পার্শ্ব প্রতিক্রিয়া হিসেবে গণ্য করা হচ্ছে সত্যিই এটি হস্তান্তর না কারণ এটা সম্পর্কে ফিরে. এটা ভিতরে কোন উত্তর না একটি কালো বাক্স আমি তখন করতে পারেন মধ্যে পৌঁছানোর এবং দখল. এটি শুধু তার নিজের, অনেক এটা করছে Colton মত এই মধ্যে প্লাগ ছিল কালো বাক্সে গত সপ্তাহে, এবং তিনি একরকম magically বোর্ডে আঁকা ছিল আমার সম্পর্কে ছাড়া আসলে জড়িত. একটি পার্শ্ব প্রতিক্রিয়া হবে. কিন্তু আমি আসলে ফিরে পৌঁছানোর ছিল এখানে এবং বলে, ওহ, এখানে স্ট্রিং ব্যবহারকারীর কাছ থেকে, যে হবে একটি ফিরতি মূল্য হতে. এবং এ পর্যন্ত আমরা শুধুমাত্র ফাংশন ব্যবহার করেছি অন্যান্য ব্যক্তিদের লিখিত আছে যে. কিন্তু আমরা আসলে এই কাজ করতে পারেন নিজেদেরকে জিনিস ধরণের. তাই আমি যেতে চলেছি এবং CS50 প্রয়োগ আবার. আমার সম্পর্কে ট্যাব বন্ধ করা যাক যে আমরা একটি মুহূর্ত আগে খোলা ছিল. এবং আমাকে এগিয়ে যান এবং দেত্তয়া একটি নতুন ফাইল তৈরি করুন. এবং আমি এগিয়ে যান যাচ্ছে এবং করছি এই এক positive.c কল. তাই আমি সঙ্গে কিছু কাজ করতে চান এখানে ধনাত্মক সংখ্যা. তাই আমি এগিয়ে যান এবং int-এ কাজ করতে যাচ্ছি - দুঃখিত - # অন্তর্ভুক্ত. এর যে একই না চলুন শুরু করা যাক আগে হিসাবে ভুল. Int প্রধান (অকার্যকর), খোলা কোঁকড়া বক্রবন্ধনী, কোঁকড়া বক্রবন্ধনী বন্ধ. এবং এখন আমি নিম্নোক্ত কাজ করতে চান. আমি একটি প্রোগ্রাম লিখতে চান ব্যবহারকারী যে দেয় জোরাজুরি আমার সম্পর্কে একটি ইতিবাচক পূর্ণসংখ্যা. তাই কোন GetPositiveInt ফাংশন আছে CS50 লাইব্রেরি মধ্যে. শুধুমাত্র GetInt () আছে. আমি কারণ কিন্তু যে ঠিক আছে আমি একটি আরোপ করতে পারেন যা দিয়ে নির্মান যে মান একটু বেশি বাধ্যতা. আমি ভালো কিছু করতে পারে. সুতরাং int-N - আপনি বরাবর টাইপ করছেন এবং যদি, শুধু বুঝতে পারছি আমি ফিরে যেতে যাচ্ছে এবং করছি একটি মুহূর্ত কিছু জিনিস পরিবর্তন - সুতরাং int-N GetInt () সমান. এবং যে করা যাচ্ছে N এর কোন int ভিতরে. এবং আমার আরো একটি বর্ণনামূলক যাক. আমি যে দাবি মত আমার সম্পর্কে কিছু বলা যাক আপনি কি আমাকে একটা ইতিবাচক পূর্ণসংখ্যা দিতে. ঠিক আছে. সুতরাং নির্দেশাবলীর অল্পমাত্র বিট. এবং এখন আমি কি করতে পারি? ওয়েল, আমি ইতিমধ্যে আমার সহজ থেকে জানি আমি চাই শর্ত বা শাখা, ভূত ছিল, আমি কিছু বলতে পারে N চেয়ে কম বা সমান হলে চাই শূন্য, তাহলে আমি কিছু করতে চাই চাই, যে ইতিবাচক হয় না. এবং তারপর আমি কাজ করতে পারে - ঠিক আছে, কিন্তু আমি সত্যিই যে int-পেতে চান. তাই আমি এখানে আপ যেতে পারে এবং আমি ধরনের হতে পারে কপি এই এবং এই ইন্ডেন্ট. এবং তারপর, ঠিক আছে. N কম বা তাই যদি শূন্য সমান এই কাজ. এখন, কি যদি ব্যবহারকারী সহযোগিতা না? ভাল, তারপর আমি যাচ্ছি এখানে এই ধার করা. এবং তারপর আমি এখানে যান এবং এখানে এবং এখানে. সুতরাং এটা স্পষ্ট নয় সমাধান, ডান? দেখিতে মধ্যে কোনো শেষ আছে কারণ. আমি ব্যবহারকারী দেয় যে দাবি করতে চান তাহলে আমার সম্পর্কে একটি ইতিবাচক পূর্ণসংখ্যা, আমি করতে পারেন আসলে কোন int পেতে. আমি তখন যে int-এ জন্য চেক করতে পারেন. কিন্তু তারপর আমি আবার চেক করতে চান, এবং আবার চেক করুন এবং আবার তা পরীক্ষা করুন. তাই সম্ভবত, ভাল কি এখানে ব্যবহার করা নির্মাণ? ঠিক আছে, তাই লুপ কিছু. তাই আমি পরিত্রাণ পেতে যাচ্ছি প্রায় সব এই না. এবং আমি এই পেতে চাই অন্তত একবার INT. তাই আমি বলতে যাচ্ছি - এবং আমি ফিরে আসবো শুধু একটা মুহূর্ত সময় - এখন কি করবেন? আমি int-N পায় GetInt () করতে যাচ্ছি. ঠিক আছে. তাই যে বেশ ভাল. আর এখন কত ঘন ঘন করতে আমি এই কাজ করতে চান? আমার সম্পর্কে লুপ printf, ভিতরে করা যাক তাই আমি আবার এবং আবার দাবি করতে পারেন প্রয়োজন হতে থাকে. এবং আমি এই কি চান অবস্থা কি সময়? আমি এই করছেন রাখতে চান যখন কেস কি? হ্যাঁ. নিম্নলিখিত কম বা শূন্য সমান. তাই আগে থেকেই, আমরা উল্লেখযোগ্যভাবে করেছেন এই কোড পরিষ্কার. আমরা একটি খুব সহজ গঠন ধার করেছি - কাজ যখন লুপ. আমি শুধু গুরুত্বপূর্ণ লাইন চুরি করেছি আমি কপি শুরু করে এবং যে কোড পেস্ট, যার জিনিস ছিল না. তাই এখন আমি আসলে পেস্ট করা যাচ্ছে না এটা এখানে এবং শুধু একবার এটা করতে. এবং এখন আমি এ কি চান এই প্রোগ্রাম খুব শেষ? আমি শুধু কিছু সহজ বলবো , চাই জন্য ধন্যবাদ - ও আমি int-এ জন্য আমি% করব - ব্যাকস্ল্যাশ N, কমা, এবং তারপর N, সেমিকোলন প্লাগ. ঠিক আছে. তাই এখন কি এর দেখতে দিন আমি এই প্রোগ্রাম চালানো হয়. আমি এগিয়ে যান যাচ্ছে এবং করছি ইতিবাচক করতে. অভিশাপ. কয়েক ত্রুটি. তাই আমাকে আপ প্রথম ফিরে স্ক্রল যাক. পিছন দিকে তাদের মাধ্যমে কাজ করে না. উপরে নিচে থেকে তাদের কাজ পাছে তারা নির্ঝর এবং শুধুমাত্র এক জিনিস ভুল হতে. অন্তর্নিহিত ঘোষণা ফাংশন GetInt (). হ্যাঁ. সুতরাং এটা যথেষ্ট ছিল না. আমি ধরনের একই ভুল করেছেন কিন্তু একটু ভিন্ন এই সময়. আমি শুধুমাত্র stdio.h অন্তর্ভুক্ত না করতে প্রয়োজন কিন্তু যার অন্তর্গত এছাড়াও cs50.h, তথাকথিত ঘোষণা, যা কোন int পেতে, প্রয়োগ শেখান, অথবা শিক্ষা সি কি GetInt () হয়. তাই আমাকে resave যাক. আমি অন্যান্য ত্রুটি উপেক্ষা করা যাচ্ছে না আমি তারা আশা করি যে যাচ্ছি, কারণ একরকম ত্রুটি সম্পর্কিত আমি ইতিমধ্যে সংশোধন করা হয়েছে. তাই আমাকে এগিয়ে যান এবং কম্পাইল করা যাক ইতিবাচক করতে দিয়ে প্রবেশ করুন. অভিশাপ. তিন ত্রুটি, এখনও. আমার সম্পর্কে প্রথম আপ স্ক্রল যাক. অব্যবহৃত পরিবর্তনশীল N. আমরা আগে এই দেখা যায় না করেছি. এবং এই খুব,, একটি সামান্য রহস্যপূর্ণ. এই কম্পাইলার আউটপুট. এবং কি যে হাইলাইট লাইন সেখানে - positive.c :9:13 - বলার অপেক্ষা রাখে না, এটি লাইন নয়টি নেভিগেশন বলছে positive.c, 13 অক্ষর এ, 13 কলাম, আপনি এই ভুল করে. এবং বিশেষ করে, এটা বলছে এর আমার সম্পর্কে অব্যবহৃত পরিবর্তনশীল N. সুতরাং এর দেখতে দিন - লাইন নয়. আমি অর্থে n ব্যবহার করছি যে আমি এটি একটি মান প্রদান করছি. কিন্তু কি কম্পাইলার চাই না আমি আপাতদৃষ্টিতে এটি ব্যবহার করছি না যে. কিন্তু আমি এটা ব্যবহার করছি, এক মিনিট অপেক্ষা করুন. লাইন 11 ইঞ্চি, আমি এখানে এটি ব্যবহার করছি. কিন্তু আমি নিচে আরও স্ক্রল যদি positive.c :11 এ - তাই লাইন 11, চরিত্র 12 এ কম্পাইলার, ব্যবহার আমাকে বলছে এর অঘোষিত শনাক্তকারী N. আমি তাই অঘোষিত উপায় এটি একটি হিসাবে নির্দিষ্ট করা একটি ডাটা টাইপ সঙ্গে পরিবর্তনশীল. কিন্তু একটি মিনিট অপেক্ষা করুন. আমি ঠিক যে করেনি লাইন নয়টি মধ্যে. সুতরাং কেউ সত্যিই এখানে বিভ্রান্ত হয়. এটা হয় সম্পর্কে বা কারণ কম্পাইলার এর লাইন নয়টি মধ্যে, আবার, আমি একটা ঘোষণা করছি int-N, এবং আমি এটা করছি বরাদ্দ GetInt () মান ফিরে. তারপর আমি লাইন যে পরিবর্তনশীল n ব্যবহার করছি 11 এবং তার মান কম হলে চেক আর বা শূন্য সমান. কিন্তু এই দৃশ্যত হয় খারাপ এবং কেন ভাঙা? আবার বলুন? আহ, আমি আগে N ডিক্লেয়ার করা আছে লুপ লিখে. কিন্তু কেন? আমি বলতে চাচ্ছি, আমরা শুধুমাত্র একটি বিট যে আগে প্রস্তাব এটি ভেরিয়েবল ডিক্লেয়ার সূক্ষ্ম সব এক লাইন এবং তারপর তাদের কিছু মান নির্ধারণ. একটি গ্লোবাল ভেরিয়েবল - এর যাক ফিরে আসা শুধু একটা মুহূর্ত যে ধারণা. কেন আপনি আমাকে লাগাতে চান না এটা লুপ এর বাইরে? এটা. যথাযথভাবে. তাই, কিছুটা counterintuitive, যদ্যপি, আমার সম্পর্কে সংক্ষেপ করা যাক. আপনি ভিতরে N ডিক্লেয়ার করার সময় আছে না ব্লক - বিশেষভাবে ভিতরে যারা কোঁকড়া ধনুর্বন্ধনী - যে পরিবর্তনশীল N কি আছে একটি সুযোগ বলা হয় - আমাদের স্কোরিং সিস্টেমের সম্পর্কহীন অবশ্যই - কিন্তু যে একটি সুযোগ আছে যারা কোঁকড়া ধনুর্বন্ধনী মধ্যে সীমাবদ্ধ. অন্য কথায়, সাধারণত আপনি ডিক্লেয়ার যদি একটি সেট ভিতরে একটি পরিবর্তনশীল কোঁকড়া ধনুর্বন্ধনী, যে পরিবর্তনশীল শুধুমাত্র বিদ্যমান যারা কোঁকড়া ধনুর্বন্ধনী ভিতরে. তাই একা যে যুক্তি দ্বারা, যদিও আমি লাইন নয়টি মধ্যে N ঘোষণা করেছি, এটা মূলত, সুযোগ থেকে disappears , তাই কথা বলতে, মেমরি থেকে disappears সময় দ্বারা আমি লাইন 11 আঘাত. লাইন 11, দুর্ভাগ্যবশত, কারণ যারা কোঁকড়া ধনুর্বন্ধনী বাইরে. তাই আমি দুর্ভাগ্যবশত এই ফিক্স করতে পারবেন না আমি আগে এটা কি ফিরে যাচ্ছে. প্রথম প্রথম হয়তো আপনি এই কাজ করতে পারে. কিন্তু আপনি এখন কি হয় না cyclically করছেন? আপনি সম্ভবত না পেয়ে থাকেন cyclically int-এ. সুতরাং আমরা GetInt () ছেড়ে, এবং আমরা করতে পারেন ভিতরে GetInt () ত্যাগ করা উচিত যে আমরা চাই কি লুপ কারণ আবার এবং আবার জন্য ব্যবহারকারীকে pester. কিন্তু যেতে যথেষ্ট আছে আপ লাইন, ছয় বলে. Int-N, সেমিকোলন. এখনো এটি একটি মান প্রদান করবেন না, কারণ আপনি শুধু কোনো প্রয়োজন হবে না. কিন্তু এখন এখানে নিচে, বিজ্ঞপ্তি - এই খুব সহজ ভুল করা হবে. আমি আমার আগের শ্যাডো করতে চাই না N ঘোষণা. আমি এন ব্যবহার করতে চান আসলে বিদ্যমান. তাই এখন লাইন 10, আমি একটি মান n ধার্য করুন. কিন্তু লাইন ছয়, আমি N ডিক্লেয়ার. তাই আমি যেতে পারবো না করতে পারেন এখন লাইন 12 এটি ব্যবহার করতে? আমি করতে পারেন, কারণ যার মধ্যে কোঁকড়া ধনুর্বন্ধনী এখন ঘোষিত n হয়? এখানে লাইন পাঁচটি এক. এখানে লাইন 14 এক. এখন আমি জুম আউট তাই আপনি যদি যান, এই ফাইলটি সংরক্ষণ করুন ফিরে এবং ইতিবাচক করতে এটি চালানোর জন্য এই সময় সংকলিত. সুতরাং যে ইতিমধ্যে অগ্রগতি হয়েছে. কর্তন. . / ইতিবাচক, লিখুন. আমি আপনি আমাকে দিতে যে দাবি একটি ধনাত্মক পূর্ণসংখ্যা. 1 নেতিবাচক. 2 নেতিবাচক. 3 নেতিবাচক. জিরো. এক. এবং এক জন্য ধন্যবাদ এখন ছাপা কি. আমার সম্পর্কে, অন্য কিছু চেষ্টা করুন কৌতূহল খুঁজে. আমি ইনপুট একটি পূর্ণসংখ্যা বলা হচ্ছে. কিন্তু আমি এর পরিবর্তে মেষশাবক কি টাইপ তাহলে কি হবে? সুতরাং আপনি এখন একটি ভিন্ন প্রম্পট দেখুন - আবার চেষ্টা করুন. কিন্তু কোথাও আমার কোড মধ্যে আমি পুনরায় চেষ্টা লিখুন হয়নি. তাই যেখানে, সম্ভবতঃ, এই পুনরায় চেষ্টা হয় থেকে আগত অনুরোধ, আপনি বলতে হবে? হ্যাঁ, GetInt () নিজেই থেকে. সুতরাং CS50 এর কর্মীদের আছে জিনিস এক আপনার জন্য, অন্তত এই প্রথম বেশ কিছু সপ্তাহ, আমরা কিছু পরিমাণ করা হয়েছে নিশ্চিত করতে পরীক্ষণ ত্রুটির যে যদি আপনি GetInt () কল, আপনি অন্তত পাবেন ব্যবহারকারীর কাছ থেকে কোন int ফিরে পেতে. আপনি একটি স্ট্রিং পেতে হবে না. আপনি একটি গৃহস্থালি পাবেন না. আপনি কিছু পাবেন না অন্য পুরাপুরি. আপনি কোন int পাবেন. এখন, এটা ইতিবাচক নাও হতে পারে. এটি ঋণাত্মক নাও হতে পারে. আমরা প্রায় কোন গ্যারান্টী না. কিন্তু আমরা, ব্যবহারকারী পুনরায় চেষ্টা pester হবে , পুনরায় চেষ্টা করুন, তিনি পর্যন্ত পুনরায় চেষ্টা সে আসলে cooperates. একইভাবে, আমি 1.23 না, যে কোন int না. কিন্তু আমি 50, বলে, টাইপ না, যে আমার সম্পর্কে আমি চেয়েছি যে একটি মান দেয়. ঠিক আছে. তাই খারাপ না. আমরা ঠিক করেছি কি কোন প্রশ্ন? কী takeaway, পরিষ্কার করা, না হচ্ছে আমরা দেখা করেছি, যা এত লুপ, আগে আমরা সত্যিই আছে, যদিও এটি ব্যবহৃত হয়, কিন্তু সুযোগ বিষয়, যেখানে ভেরিয়েবল শুধুমাত্র ব্যবহার করা যেতে পারে করা যাবে সুনির্দিষ্ট কিছু সুযোগ মধ্যে. ঠিক আছে, আমাকে পরামর্শ মোকাবেলার যাক যদি আপনি একটি যে, আগে গঠিত বিশ্বব্যাপী পরিবর্তনশীল. একটি সরাইয়া হিসাবে, এটা অন্য যে সক্রিয় আউট এই সমস্যার সমাধান, কিন্তু আছে সাধারণত একটি ভুল সমাধান বা একটি দুর্বল ডিজাইন সমাধান হয় কি আপনার ভেরিয়েবল ডিক্লেয়ার একটি বিশ্বব্যাপী পরিবর্তনশীল বলা হয়. এখন আমি আমার সংজ্ঞা লঙ্ঘনের ধরনের আছি সুযোগ আছে, কারণ খুব উপরের কোন কোঁকড়া ধনুর্বন্ধনী এবং একটি ফাইল খুব নীচে. কিন্তু যে সংশ্লেষ যে, এখন লাইন চার হয় N একটি বিশ্বব্যাপী পরিবর্তনশীল. নাম থেকেই বোঝা যায়, এটা এর সর্বত্র শুধু প্রবেশযোগ্য. ভূত আসলে এই আছে. আপনি একটি পরিবর্তনশীল ব্যবহার করা হলে, আপনি পুনরাহ্বান হতে পারে আপনি এটি জন্য যদি নির্বাচন করতে হয়েছিল এই পরী অথবা সমস্ত sprites জন্য. ওয়েল, সমস্ত sprites ঠিক পরিস্কার হয় বিশ্ব বলছে উপায়. হ্যাঁ? আহ, সত্যিই ভাল প্রশ্ন. সুতরাং খুব প্রথম সংস্করণে যে প্রত্যাহার আমার কোড, যখন আমি ভুল লাইন নয়টি ঘোষণা এবং সংজ্ঞায়িত N - আমি একটি পরিবর্তনশীল হিসেবে ঘোষণা এবং আমি এটা দিয়ে একটি মান দিয়েছে নিয়োগ অপারেটর - এই দুটি ত্রুটি দিয়েছে. এক, এন ব্যবহার করা হয়নি যে, এবং দুই, যে লাইন 11 এটা শুধু ঘোষণা করা হয়নি. আমি না, তাই প্রথম এক সময়ে ঠিকানা. এটি কঠোরভাবে ডিক্লেয়ার করার সময় একটি ত্রুটি নয় একটি পরিবর্তনশীল তা ব্যবহার করে না. আমরা সম্পন্ন করেছি জিনিষ কিন্তু এক ইচ্ছাকৃতভাবে এবং CS50 প্রয়োগ, pedagogically, আমরা আপ cranked করেছি কম্পাইলার প্রত্যাশা করতে নিশ্চিত আপনি কিছু করছেন যে না ঠিক সঠিকভাবে কিন্তু সত্যিই সঠিকভাবে. কারণ আপনি একটি পরিবর্তনশীল ঘোষণা করছি N এবং এটি ব্যবহার করে, বা এটি ব্যবহার করে না চাই সঠিকভাবে, তারপর কি সেখানে এরকম হয়? এটা সত্যিই কোন উদ্দেশ্য করে তোলে. এবং যদি এটা সময়ের খুব সহজে আপনি আপনার নিজস্ব কম্পিউটারে কনফিগার না এই ভাবে, ঠিক আছে যে কোড আছে এখানে একটু অবশিষ্টাংশ, সেখানে অবশিষ্টাংশ. এবং তারপর মাস পরে আপনি ফিরে তাকান এবং আপনার মত থাকেন, কেন এই লাইন সেখানে কোড? এবং কোন ভাল কারণ আছে, এটা আপনি বা আপনার সহকর্মীদের উপকার না রাস্তা নিচে আছে তারপর, এটা ওভার পদস্খলন. একটি সরাইয়া, যেখানে যেমন যা থেকে আসছে? ওয়েল, পুনরাহ্বান যে আমরা কম্পাইল প্রত্যেক সময় প্রোগ্রাম, এই জিনিস সব হয় ছাপা হচ্ছে. সুতরাং আমরা এই ফিরে আসবো. কিন্তু আবার, যে একটি ইউটিলিটি দ্বারা কম্পাইল প্রক্রিয়া স্বয়ংক্রিয়রূপে প্রকৃত কম্পাইলার চলমান ঝনঝন শব্দ বলা হয়. এই জিনিস, আমরা অবশেষে দেখতে পাবেন, আছে একটি বিশেষ সঙ্গে ডিবাগ করতে প্রোগ্রাম ডিবাগার বলা হয়. এই নিখুঁত সঙ্গে কি আছে কোড - আরও ভবিষ্যতে যে. STD = C99 - এই মাত্র 1999 সংস্করণ ব্যবহার করা মানে সি সি আর এমনকি আর কাছাকাছি হয়েছে কিন্তু তারা কিছু চমৎকার হয়েছে, যে পরিবর্তন বছর আগে 10 প্লাস. এবং এখানে প্রাসঙ্গিক বেশী না. আমরা কিছু করতে বলার অপেক্ষা রাখে না যে পূর্বে একটি সতর্কবার্তা হয়েছে ছাত্র প্রতিরোধ করার সময় একটি ত্রুটি কম্পাইল করার প্রণালী থেকে. এবং ওয়াল উপায় জন্য যে কি জিনিষ আভা, না শুধু ভেরিয়েবল এর সাথে সম্পর্কিত. এবং তারপর আমার স্ক্রল যাক এই লাইন শেষ. এবং এই খুব,, আমরা অবশেষে পাবেন ফিরে আসা. এই সম্ভবত এর নাম আমি কম্পাইল করছি ফাইল. এই ফাইলের নাম স্মরণ আমি নামের outputting করছি আমার runnable প্রোগ্রাম. এই lcs50 ঠিক CS50 ব্যবহার মানে লাইব্রেরি, এবং কোন zeros এবং বেশী যে স্টাফ লেখেন এবং তার আগে কম্পাইল এই বছর, সংহত আমার প্রোগ্রাম সেগুলি. এবং যে কেউ-lm কি জানেন? এটা যা গণিত লাইব্রেরি, এর আপনি ঠিক আছে, এমনকি যদি কোনো গণিত করছেন না. এটা ঠিক স্বয়ংক্রিয়ভাবে দেওয়া হচ্ছে আমাদের করতে হবে. আচ্ছা, আমাকে অন্য একটি উদাহরণ না দেওয়া এখানে একটি নতুন ফাইল খোলার দ্বারা. এবং আমাকে string.c হিসেবে এই এক সংরক্ষণ করতে দিন. এটি সক্রিয় আউট যে আমরা তথ্য সম্পর্কে কথা বলতে হিসাবে ধরনের আজ, এমনকি আরও আছে ফণা নীচে যাচ্ছে আমরা দূর পর্যন্ত দেখা করেছি তুলনায়. তাই আমাকে তাড়াতাড়ি দ্রুত প্রোগ্রাম না দেওয়া. Stdio.h অন্তর্ভুক্ত করুন. এবং আমি যে সংরক্ষণ করব. এবং আপনি কি জানেন, আমার না দেওয়া একই ভুল আবার এবং আবার. Cs50.h. অন্তর্ভুক্ত করুন এবং এখন আমাকে এগিয়ে যান এবং int প্রধান (অকার্যকর) করতে. এবং এখন আমি শুধু একটি প্রোগ্রাম কাজ করতে চান এই না যে - একটি স্ট্রিং ঘোষণা গণ বলা হয় এবং একটি স্ট্রিং পেতে ব্যবহারকারীর কাছ থেকে. এবং আমার একটি সামান্য কাজের জন্য এখানে নির্দেশনা - তাই - সম্পর্কে একটি স্ট্রিং দিন ব্যবহারকারী কি করতে হবে তা জানে না. এবং তারপর নিচে এখানে এই নিচে, আমি নিম্নলিখিত কাজ করতে চান - int-এ জন্য আমি শূন্য পায়. আবার, কম্পিউটার বিজ্ঞানীরা সাধারণত শূন্য এ গণনা শুরু, কিন্তু আমরা পারা আমরা সত্যিই চেয়েছিলেন যে এক করা. এখন আমি কি করতে যাচ্ছি আমি কম s এর স্ট্রিং দৈর্ঘ্য আর. সুতরাং strlen - , S-টি আর, L-ই-n - এটি সহজ আবার, কারণ, এটি সংক্ষিপ্ত এর এটা যদিও, টাইপ করুন একটি একটু রহস্যপূর্ণ. যে আমরা ব্যবহার না করেছি একটি ফাংশন আগে কিন্তু আক্ষরিক যে আছে - আমার উপস্থাপন করে এমন একটি নম্বর ফিরে স্ট্রিং এর দৈর্ঘ্য ব্যবহারকারী টাইপ করা যে. তারা হ্যালো টাইপ করা হলে, এটা ফেরত দিতে হবে পাঁচ পাঁচটি আছে কারণ হ্যালো অক্ষর. এর পরে, প্রতিটি পুনরাবৃত্তির উপর এই লুপ, আমি প্লাস প্লাস. তাই আবার, একটি আদর্শ, এমনকি যদি গঠন আপনি বেশ খুব আরামদায়ক না হন বা এখনও এটি পরিচিত. কিন্তু এখন এই লুপ প্রতিটি পুনরাবৃত্তির উপর, আমি কাজ করতে যাচ্ছি তা লক্ষ্য করা. আমি এগিয়ে যান এবং প্রিন্ট করতে চান একটি একক চরিত্র খুঁজে - একটি নতুন লাইন, তাই% গ ব্যাকস্ল্যাশ N. এবং তারপর, আপনি আমি কি করতে চান না? শব্দ যাই হোক না কেন যে ব্যবহারকারী ধরনের মধ্যে, হ্যালো মত, আমি প্রিন্ট করতে চান এইচ ই, L-, L-হে, প্রতি লাইনে একটি অক্ষর. অন্য কথায়, আমি পেতে চাই একটি স্ট্রিং পৃথক অক্ষর, এখন পর্যন্ত একটি স্ট্রিং ঠিক আছে যদ্দ্বারা আপ অক্ষর একটি অনুক্রম হয়েছে. আমি গুলি, বন্ধনী করতে পারেন আউট এবং এটি সক্রিয় আমি বন্ধ বন্ধনী, বন্ধ করুন প্রথম বন্ধনী, সেমিকোলন. এবং আমি আরও একটি জিনিস করতে হবে. এটা string.h নামে একটি ফাইল আছে যে strlen ঘোষিত হয়. আমি, যে ফাংশন ব্যবহার করতে চান তাই আপনি যদি আমি, কম্পাইলার বলা প্রয়োজন এটি ব্যবহার আশা. এখন আমাকে এগিয়ে যান এবং করা যাক প্রোগ্রাম স্ট্রিং বলা হয়. বিন্দু, স্ল্যাশ, পংক্তি. আমার সম্পর্কে একটি স্ট্রিং জানাবেন. আমি এগিয়ে যান এবং এটি টাইপ করব. হ্যালো, সমস্ত ক্যাপ মধ্যে লিখুন. এবং এখন আমি এই মুদ্রিত করেছি বিজ্ঞপ্তি একটি অক্ষর অন্যান্য পর. তাই এখানে বিস্তারিত নতুন যে একটি স্ট্রিং, দিনের শেষে, হতে পারে তার পৃথক প্রণালী দ্বারা অ্যাক্সেস বর্গাকার প্রবর্তনের দ্বারা অক্ষর বন্ধনী স্বরলিপি. এবং যে একটি স্ট্রিং নীচে কারণ ফণা প্রকৃতপক্ষে একটি অনুক্রম অক্ষর. কিন্তু কি তাদের বিষয়ে ঝরঝরে হয় আপনার কম্পিউটারের RAM-র মধ্যে - এটি যাই হোক না কেন ম্যাক, পিসি, - তারা আক্ষরিক পিঠে পিঠে ব্যাক - এইচ ই, L-, L-হে - ব্যক্তি, সন্নিহিত সময়ে মেমরি বাইট. আপনি অষ্টম যেমন এ পেতে চান তাই আপনি যদি বাইট, যা এই লুপ হবে বন্ধনী শূন্য, বন্ধনী এক, বন্ধনী দুই, বন্ধনী তিন, বন্ধনী চার - যে শূন্য পাঁচটি পর্যন্ত আপ ইন্ডেক্স এর - যে এইচ ই, L-, L-হে প্রিন্ট আউট হবে নিজস্ব লাইন. এখন, একটি টিজার হিসেবে, আপনি আমাকে দেখান যাক জিনিষ বিশৃঙ্খলভাবে আপনাকে অবশেষে হবেন অন্তত বুঝতে সক্ষম কিছু পাসে খুঁজছেন সঙ্গে. এক, আমরা আজকের কি অন্তর্ভুক্ত উদাহরণ, আপনি যদি চান, আসলে প্রথম jailbreaks এক আইফোনের জন্য. Jailbreaking ফোন ক্রেকিং মানে তাই আপনি আসলে একটি উপর এটি ব্যবহার করতে পারেন বিভিন্ন বাহক অথবা ইনস্টলেশনের আপনার নিজস্ব সফ্টওয়্যার. এবং আপনি এই সম্পূর্ণভাবে দেখায় বিজ্ঞপ্তি পাবেন রহস্যপূর্ণ, সম্ভবত. কিন্তু এই তাকান. আইফোন দৃশ্যত সঙ্গে কর্কশ ছিল লুপ জন্য একটি, একটি যদি শর্ত, একটি অন্য শর্ত, কর্ম একটি গুচ্ছ আমরা দেখা যায় না করেছি. এবং আবার, আপনি না করবে না সম্ভবত প্রথম নজরে এই কাজ কিভাবে বুঝতে. কিন্তু আমরা সাজানোর নিতে যে সব আমাদের আধুনিক জীবনে মঞ্জুর জন্য আসলে কিছু এমনকি কমাতে থাকে এই মৌলিক আমরা চলেছি এ খুঁজছেন. আমাকে এগিয়ে যান এবং এক খুলুন অন্যান্য প্রোগ্রাম, holloway.c. এই সুতরাং, খুব,, কিছু আপনি সত্যিই জানি না হবে. এমনকি কর্মীদের কেউ বা আমি পারে সম্ভবত এ খুঁজছেন দ্বারা এই জিনিসটা এই কেউ এর কোড এটি ছিল কারণ যে কি জমা ছিল ঐতিহাসিকভাবে একটি obfuscated সি নামে পরিচিত আপনি একটি প্রোগ্রাম লিখুন যেখানে প্রতিযোগিতা, কম্পাইল করা এবং রান কিন্তু তাই অভিশাপ যে রহস্যপূর্ণ মানুষের কোন কি বুঝতে পারেন পর্যন্ত এটা করতে যাচ্ছে তারা আসলে এটি চালানোর জন্য. আপনি যদি এই তাকান তাই প্রকৃতপক্ষে, যদি কোড, আমি একটি সুইচ দেখুন. আমি প্রধান দেখতে. আমি এই বর্গাকার বন্ধনী implying দেখুন একটি অ্যারের কিছু. যে কেউ অনুমান করতে চান কি আসলে এই প্রোগ্রাম আমি HOLLOWAY চালানো আছে? হ্যাঁ. ঠিক আছে. ভালো করেছেন. সুতরাং শুধুমাত্র কর্মচারী এবং আমি চিন্তা করতে পারে না এই জিনিস কি খুঁজে. এবং এখন সর্বশেষে, আমাকে এগিয়ে যান এবং অন্য একটি প্রোগ্রাম খুলুন. এই এক - আবার, আমরা সোর্স কোড না করব অনলাইন উপলব্ধ - এই এক শুধু ধরনের সুন্দর তাকান. তারা সব আঘাত করা হয় স্পেস বার বেশ বিট. কিন্তু এই বাস্তব কোড. আপনি প্রশংসনীয়, যদি মনে করি যে, তাই যদি আমরা আসলে, প্রম্পটে এই রান অবশেষে আপনি কিভাবে আমরা দেখতে পাবেন ভালো জিনিস কি হতে পারে. সুতরাং আমরা মনে রাখবেন যে আপনাকে ছেড়ে দেব এবং বুধবার আপনাকে দেখতে. [সঙ্গীত বাজানো] স্পিকার 2: পরের CS50 এ, টিএফএস একটি বিদ্রোহের দ্বিতীয় পর্যায়ে. স্পিকার 3: নেই তিনি. তাকে পান! [সঙ্গীত বাজানো]