[সঙ্গীত বাজাচ্ছি] DAVID Malan: হ্যালো, সবাই. এই CS50 এর supersection হয়. নির্ধারিত সেকশন না অন্য এক সপ্তাহের জন্য শুরু. আর তাই আজ, আমি এখানে আছি আপনার সঙ্গে MARIA: মারিয়া. DAVID Malan: আসলে --to সমস্যা কটাক্ষপাত এক, অবশ্যই এর সেট উপাদানের প্রথম সপ্তাহ, আপনি CS50 আইডিই সঙ্গে ভিত্তিক পেতে, একটি বিট লিনাক্স, যে অপারেটিং সিস্টেমের আইডিই চলমান, সেইসাথে ট্রানজিশন কিছু তাকান সি নেতৃস্থানীয় গোড়া থেকে সমস্যা এক সেট আপ. তাই আরও ঝামেলা ছাড়া, সমস্যা, এক সেট আপনি হতে যাচ্ছেন এবং CS50 আইডিই, চালু যা এই ওয়েব ভিত্তিক প্রোগ্রামিং হয় আমরা ব্যবহার যাতে পরিবেশ প্রোগ্রাম লিখতে. এটা খুব দেখুন ডিজাইন করা হয়েছে একটি টিপিক্যাল কম্পিউটার কথা স্মরণ করিয়ে দেয় একটি অপারেটিং সিস্টেম চলমান লিনাক্স বলা সিস্টেম. কিন্তু এটা তথাকথিত মেঘ আছে, যা ক্লাসে সবাই মানে আসলে থাকতে পারে তার নিজের অ্যাকাউন্ট পাশাপাশি, এটি ব্যবহার এবং. সুতরাং আপনি সম্ভবত অধিকাংশ ব্যবহার করেন নি আগে বা সম্ভবত একটি Linux পরিবেশ এমনকি একটি কমান্ড লাইন পরিবেশে. এবং একটি কমান্ড লাইন পরিবেশ ভিন্ন. এটা সব টেক্সট এর. এটা সব কীবোর্ড কমান্ড না. এবং এটা কোন mousing, কোন আইকন আছে, কোন সংলাপ জানালা, কোন মেনু. এটা কেবল পাঠ্য. তাই প্রথমে, এটা কোন ধরনের একটি পদক্ষেপ মত মতানুযায়ী পিছন দিকে কুতর্ক পরিপ্রেক্ষিতে. কিন্তু এটা অনেক সমাপ্ত হচ্ছে আরো শক্তিশালী, অবশ্যই, একজন কম্পিউটার বিজ্ঞানী জন্য, শেষ পর্যন্ত. তাই এর কটাক্ষপাত করা যাক. এখানে আমি CS50.io am- এ যা মাধ্যমে আপনি CS50 আইডিই লগ ইন করতে পারেন. এবং আরো অনেক ভূত মত, আছে এই পর্দায় তিনটি প্রধান অঞ্চলে. সুতরাং বাম দিকে, আমরা আছে কি ফাইল ব্রাউজার হতে হবে. আর এই ফোল্ডার এ আছে এই মুহূর্তে খালি যা উপরে, আমি সব পরিত্রাণ পেয়েছিলাম যেহেতু আমার supersection পূর্বে ফাইল. এবং যে যেখানে আমরা করব এর আমরা লিখতে যে সি ফাইল সংরক্ষণ করুন. উপরের ডানদিকে, আমরা একটি জায়গায় যেখানে আছে আমাদের কোড সব লেখা পাওয়া যাচ্ছে. এবং প্রকৃতপক্ষে, আমি এই প্লাস ক্লিক করুন, এই আমার নতুন ফাইল নিন যাক যাচ্ছে. আর এখানে আমি বা সি কোড লেখা শুরু করতে পারেন, সত্যিই, অন্যান্য ভাষায় কোনো সংখ্যা. আর তারপর, এটা যেখানে নীচে বলেছেন, jharvard @ ide50-- এবং এগুলি আছি সামান্য কিছু বলতে আলাদা এই কি বলা হয়? টার্মিনাল উইন্ডো. হ্যা. সুতরাং টার্মিনাল উইন্ডোর তথাকথিত কমান্ড লাইন আপনি যোগাযোগ করতে পারবেন যা মাধ্যমে ইন্টারফেস অন্তর্নিহিত অপারেটিং সিস্টেমের সাথে. এবং এখন জন্য, আমরা চলুন আপাততঃ খুব সামান্য ব্যবহার করতে শুধু তাকান, কম্পাইল আমরা দেখতে যে ত্রুটির বার্তা, এবং আমাদের প্রোগ্রাম চালানোর. কিন্তু শেষ পর্যন্ত, আমরা চলুন পাশাপাশি, আরও অনেক কিছু করতে. এবং আপনি এমনকি সফটওয়্যার ইনস্টল করতে পারেন এবং আপনার কর্মক্ষেত্র প্রশাসক এবং CS50 আইডিই মধ্যে, পাশাপাশি. কিন্তু যে অন্য কিছু সময় আরও. সুতরাং আসুন এগিয়ে যান এবং লিখুন যাক একটি খুব সহজ প্রোগ্রাম শুধু একটি উষ্ণ আপ মধ্য দিয়ে যেতে সম্ভবত যা, hello.c, আমরা লিখতে পারেন সহজ প্রোগ্রাম. আমি ইতিমধ্যে একটি নতুন ট্যাব খোলা করেছি. আমি এগিয়ে যেতে চলেছি এবং প্রমিত io.h. অন্তর্ভুক্ত বলে তারপর প্রধান (অকার্যকর) int. এবং তারপর printf ("হ্যালো, দুনিয়া" ব্যাকস্ল্যাশ এন, উদ্ধৃতি, বন্ধ প্রথম বন্ধনী, এবং সেমিকোলন. ঠিক আছে. তাই এখন আমার জানালা শিরোনামহীন বিজ্ঞপ্তি. তাই আমি খুব তাড়াতাড়ি যাচ্ছি সংরক্ষণ করুন, ফাইল পর্যন্ত যেতে. এবং এটা খুবই গুরুত্বপূর্ণ যে আমি "হ্যালো." এই না কল তাই এটি একটি খুব সাধারণ ভুল, বিশেষ সমস্যা এক সেট ঘটনাক্রমে মাত্র কল হয় আপনার প্রোগ্রাম "পানি" বা "লোভী" বা "মারিও" "ক্রেডিট" বা মত বা. কিন্তু আপনি আসলে করতে চান নিশ্চিত করুন যে আপনি ফাইল এক্সটেনশন আছে এই একমাত্র উপায় যে কারণ কম্পাইলার এবং কোড এডিটর আপনি আছেন যে জানে আসলে সি কোড লেখা. তাই আমাকে এগিয়ে যান এবং সংরক্ষণ ক্লিক দিন. এবং এখন, খুব কি CS50 আইডিই এছাড়াও এর হয় আমাদের জন্য কাজ করেনি সিনট্যাক্স সবকিছু তুলে ধরেন. তাই সবকিছু খুব আনন্দময় তৈরি হচ্ছে. আর পুরো উদ্দেশ্য যে কার্যকরী নয়. এটা আমার চোখ আঁকা ঠিক ধারণার বিভিন্ন টুকরা এই প্রোগ্রামের. সুতরাং আসুন এগিয়ে যান এবং এই সঙ্কলন করা যাক. আর আমি এই কম্পাইল করতে পারেন উপায় কয়েক মধ্যে. আর এক সপ্তাহের মধ্যে, পুরোনো স্কুল ভাবে আমরা কি এটা আক্ষরিক ছিল কমান্ড লাইনে "ঝনঝন hello.c." এবং তারপর আমি আঘাত লিখুন. কিছুই ঘটবে বলে মনে হয় টার্মিনাল উইন্ডোতে. কিন্তু IDE পরিবর্তন কি করেনি? কোথায় আবার, আইডিই শুধু মানে সমন্বিত উন্নয়ন পরিবেশ. এটা বলার অপেক্ষা রাখে না একটি অভিনব উপায় এই সমন্বিত উন্নয়ন সফটওয়্যার তৈরির জন্য পরিবেশ. সুতরাং UI 'তে কি পরিবর্তন হয়নি? আপনি কি লক্ষ করেছ যে মারিয়া, আলাদা? MARIA: আমি কিছু লক্ষ্য IDE50 অধীনে এখানে আপ ফোল্ডার. ডেভিড MALAN: হ্যাঁ. সুতরাং এখানে আপ, না শুধুমাত্র আমরা আছে না ", hello.c." আমরা যা ", a.out" আছে একটি প্রোগ্রামের জন্য একটি মূক নামের ধরনের. কিন্তু প্রকৃতপক্ষে, এটি একটি জন্য ডিফল্ট নাম আপনি শুধু আপনার কোড কম্পাইল করার সময় প্রোগ্রাম এবং কম্পাইলার বলুন না আউটপুট কি ফাইল. তাই আমি এই রান করতে চান তাহলে, আমি compiler-- বলা প্রয়োজন কিংবা বলা যায়, আমি প্রয়োজন কর্মক্ষেত্র বলতে যে আমি বলা প্রোগ্রাম চালাতে চান "a.out." লিখুন. আর, হ্যালো "আছে বিশ্বের. "এখন" ./ ". আসলে গুরুত্বপূর্ণ. এমনকি সাধারণত আমরা শুধুমাত্র যদিও কমান্ড এর নাম লিখুন, আপনার করেছি একটি প্রোগ্রাম যখন লিখিত, আপনি "./" বলতে চাই না সুস্পষ্টভাবে লিনাক্স বলে কারণ আপনি নামক একটি প্রোগ্রাম চালাতে চান যে এই যে "a.out", যেখানে বিন্দু আমি বর্তমানে আছি যে এই ডিরেক্টরির মানে হতে হবে যা, "a.out, কর্মক্ষেত্র বলা. আমি শুধু বলেছি কারণ যদি "a.out," লিখুন, আমি কমান্ড a.out "না পেতে যাচ্ছি পাওয়া "কম্পিউটারে কারণ আমি উদ্ভাবিত কারণ "a.out;" এটা কম্পিউটারে করি নি যেখানে এটি জন্য সন্ধান করতে জানি না, এমনকি এটা ঠিক, যদিও আমার নাকের ডগায়, তাই কথা বলতে. ঠিক আছে. সুতরাং আমরা এই পরিবর্তন হতে পারে "ঝনঝন-, hello.c." হতে এবং আমি এন্টার তাহলে, কি প্রোগ্রাম এই আমার জন্য আউটপুট যাচ্ছে? ফাইলের নাম কি? হাঁ, ফিরে. সেটা ঠিক. "হ্যালো." সুতরাং "হ্যালো" হতে যাচ্ছে প্রোগ্রামের নাম আমরা ব্যবহার করেছি, কারণ একটি তথাকথিত শুধু যা কমান্ড লাইন আর্গুমেন্ট, আচরণ পরিবর্তন করার একটি উপায় আসলে আউটপুট কম্পাইলার একটি নির্দিষ্ট ফাইলের নাম. এবং প্রকৃতপক্ষে, আমি জুম যদি আউট এবং এখানে সন্ধান, এখন আমি শুধুমাত্র "a.out" আছে এবং পাশাপাশি ", hello.c" কিন্তু "হ্যালো,". তাই এখন আমি কি "হ্যালো," লিখতে পারেন. "হ্যালো, দুনিয়া." আছে Lastly-- এবং এই কিন্তু এখন কনভেনশন হবে আমরা সারা ব্যবহার সেমিস্টারে, typically-- এছাড়াও আপনি শুধু বলতে পারেন "হ্যালো করতে." এবং প্রকৃতপক্ষে, এটা নির্ভর করে বলার অপেক্ষা রাখে না তারিখ থেকে এটি আগে থেকেই আছে, কারণ. আমাকে এগিয়ে যান এবং সঙ্গে, অপসারণ করা যাক RM কমান্ড, "a.out" উভয় - এবং বলে, "নিয়মিত ফাইল a.out অপসারণ?" শুধু মানে, আপনি হয় নিশ্চিত করুন যে আপনি এটি মুছে ফেলতে চান? আমি হ্যাঁ বলতে যাচ্ছি. এবং তারপর আমি অপসারণ করা যাচ্ছে না "হ্যালো" কিন্তু না ", hello.c." আমি স্পষ্টভাবে "হ্যাঁ" বলতে যাচ্ছি কিন্তু "Y" পাশাপাশি, যথেষ্ট. আর এখন যদি লক্ষ্য আমি , ls-- যা, রিকল টাইপ এটা সমস্ত তালিকা তালিকার মানে আমার ফোল্ডারে ফাইল. এবং প্রকৃতপক্ষে, আমি জুম যদি আউট এবং উপরের বামে তাকান, এটা কি নিশ্চিত করে যে এই ফোল্ডারে, এমনকি এটি আপ এখানে IDE50 হিসাবে লেবেল যদিও এবং না কর্মক্ষেত্র, এটা শুধু ", hello.c." এর তাই এখন এখানে নিচে, আমি যদি লিখুন "হ্যালো, না" না, এখন আমি অনেক লম্বা কমান্ড দেখতে কিন্তু একটি যাচ্ছে যে আরো পরিশীলিত কমান্ড আসতে সপ্তাহের মধ্যে উপযোগী হতে. এবং এখন আমি "হ্যালো." বলতে পারেন তাই চলুন ঘুরে নিতে দিন অন্য কিছু লিনাক্স কমান্ড. তাহলে কেন আমরা একটি পদক্ষেপ নিতে না ফিরে এবং আসলে আরো সি তাকান সাধারণত, ভূত থেকে রূপান্তরের সি, এবং তারপর একটি বর্ণন সঙ্গে শেষ করা প্রথম সমস্যা সি সেট ঠিক আছে. তাই আমি এগিয়ে এবং শুধু পরিষ্কার যেতে চলেছি কন্ট্রোল-এল শুধু সঙ্গে আমার কর্মক্ষেত্র আপ ঝরঝরে পর্দা রাখা. কিন্তু যে কোন কার্যকরী হয়েছে অন্যথায় প্রভাবিত. আমরা দেখা করেছি যে রিকল এখন কয়েক কমান্ড. সুতরাং আমরা যা সাধারণত, ঝনঝন দেখা করেছি আপনি আর নিজে চালানো হবে না. আমরা পরিবর্তে করতে ব্যবহার করব. কিন্তু আমরা একটি দেখায় যা, LS দেখেছি আমার ডিরেক্টরির মধ্যে উপস্থিত ফাইলের তালিকা. আর এখন কেন সেখানে দুটি আছে হয় এখন ফাইল, "হ্যালো" এবং ", hello.c." কেন একটি একটি নক্ষত্র অথবা নেই "হ্যালো" পরে তারা চিহ্ন? যে ভিত্তি, কি বোঝান হয়নি আমরা এক সপ্তাহের মধ্যে দেখেছি কি? আপনি কি মনে করেন? তারকা কি বোঝান না? MARIA: "হ্যালো" প্রোগ্রাম For--? DAVID Malan: "হ্যালো *". হ্যা. ও আচ্ছা? ওহ, এক্সিকিউটেবল. সেটা ঠিক. সুতরাং যে যে মানে "হ্যালো" এক্সিকিউটেবল. তাই প্রকৃতপক্ষে, যে কেন আমি "হ্যালো." করতে পারেন; ঠিক আছে. তাই কি কি আমি এখানে কি করতে? ওয়েল, এটা আমি করতে দেখা যাচ্ছে এছাড়াও ডিরেক্টরি তৈরি. তাই আমাকে এগিয়ে যান এবং তৈরি করা যাক, উদাহরণস্বরূপ, একটি "pset1" ডিরেক্টরি. আর সমস্যা সেট স্পেসিফিকেশন আপনি ঠিক করতে হবে, তাই আপনি আজ মনে করতে হবে না. কিন্তু "mkdir pset1" মনে কোন প্রভাব আছে. কিন্তু আবার, কোনো ত্রুটি বার্তা সাধারণত একটি ভাল জিনিস. তাই আমি আহ এখন আমি এখন "LS" টাইপ করে আমি নামক একটি এক্সিকিউটেবল ফাইল আছে "হ্যালো," একটি সি ফাইল ", hello.c." বলা হয় এবং তারপর trailing স্ল্যাশ, তাই , কথা বলতে এই একটি ডিরেক্টরি এর মানে হল যে. তাই প্রকৃতপক্ষে, এখন আমি খুলতে চান. আর আমি চাই এটা ডাবল ক্লিক না একটি GUI, গ্রাফিক্যাল পরিবেশে. আমি পরিবর্তে "সিডি pset1." বলে লিখুন. আকর্ষণীয় কিছুই আছে বলে মনে হয় আমার সামান্য প্রম্পট ছাড়া ঘটেছে এখানে এই স্মারক এর লিনাক্স এর উপায় আমার আমি কোথায়, তাই কি ফোল্ডার খোলা. এটা শুধু স্পষ্টভাবে আমার বলছে হিসাবে graphically- বিরোধিতা. আমি টাইপ যদি "ম," কেন আমি অন্য দেখতে না আপনি কি মনে করেন না, অবিলম্বে অনুরোধ জানানো, আমি pset1 বিষয়বস্তু তালিকা যখন? MARIA: আপনি সম্ভবত তা চান না সেখানে কিছু আছে. ডেভিড MALAN: হ্যাঁ. তখন আমরা অবশ্যই না আছে সেখানে কিছু সৃষ্টি আমি শুধু ডিরেক্টরি তৈরি করার কারণে. এখন, আমি এর জন্য একটি ফাইল তৈরি করতে চেয়েছিলেন, তাহলে উদাহরণস্বরূপ, আমি একটি নতুন ফাইল তৈরি করতে পারে. এবং তারপর আমি যেতে পারে সংরক্ষণ করুন এবং হিসাবে এটি সংরক্ষণ, মত, "mario.c" আপনি কি করছেন তাহলে pset এক স্ট্যান্ডার্ড সংস্করণ. এবং তারপর, কোন ম্যাক বা পিসি মত, শুধু , সাশ্রয়ী ফোল্ডার "pset1 নিন. এবং এখন ফাইলটি খালি. কিন্তু এর একটি দ্বিতীয় জন্য আবার জুম যাক. এর এখানে LS করুক না. এখন আমরা "mario.c" দেখতে. তাই কয়েক অন্যান্য কমান্ড আছে যে সময়ের মধ্যে বেশি মনে রেখে দরকারি স্পষ্ট, বা কন্ট্রোল- এল আমি করেছি কি আঘাত করা; mkdir আমরা দেখা করেছি; RM আমরা যা, পাশাপাশি, দেখা করেছি অপসারণ অথবা একটি ফাইল মুছে ফেলার জন্য. আপনি যদি আপনার চেহারা also-- পারেন বিষয়ে সতর্ক থাকুন এবং অনলাইন টিউটোরিয়াল, আপনি -rf RM তবে করব বলছে খুব প্রচলিত উপায় হল এটা জিনিস আছে যে একটি ফোল্ডার মুছে দিন. শুধু সুপার সতর্ক, সুপার হতে. -rf পৌনঃপুনিকভাবে মানে যাই হোক না কেন মুছে আপনি মোছার চেষ্টা করছেন এবং জোর করে মুছে দিন. এটা একটা ফোল্ডার সঙ্গে যদি মানে রিকার্সিভ একটি ফোল্ডার সঙ্গে একটি ফোল্ডার সঙ্গে একটি ফোল্ডার, তাদের সকল ফন্ট মুছে ফেলতে. এবং জোরপূর্বক না এমনকি না মানে হ্যাঁ আমাকে জিজ্ঞাসা বা কোন, আমি নিশ্চিত? সুতরাং এটি একটি সুপার বিপজ্জনক উপায় দ্রুত উপাদান প্রচুর মোছার. কিন্তু beware-- খুব প্রায়ই একটি নিরাতঙ্ক আছে ছাত্র ঘটনাক্রমে, বলুন, আপনি pset মুছে উদাহরণস্বরূপ এক. MARIA: আর তারা যদি শুধু -r না, তারা যাচ্ছেন প্রতিটি ফাইল সম্পর্কে তাদের জিজ্ঞাসা করতে. DAVID Malan: কোনটি পরিমিতরূপে বিরক্তিকর. MARIA: হ্যা. DAVID Malan: সুতরাং যে কেন আমাদের অনেক, স্ব অন্তর্ভুক্ত, -rf ব্যবহার করে অভ্যাস মধ্যে আছি. কিন্তু এটা বিপজ্জনক. তাই ক্রেতা হুঁশিয়ার. এবং তারপর MV ধরনের হয় মজার নামে. তাই এই পদক্ষেপ কমান্ড, যা অদ্ভুত একটু মতানুযায়ী আপনি প্রকৃতপক্ষে এটি ব্যবহার করতে পারেন, কারণ অন্য এক জায়গা থেকে ফাইল স্থানান্তর. উদাহরণস্বরূপ, আমি তছনছ আপ যে অনুমান. আমি তৈরি যে ধরুন pset জন্য একটি নতুন ফাইল. এবং আমি এটা হিসাবে সংরক্ষিত "greedy.c." কিন্তু ঘটনাক্রমে আমি অনুমান এটি সংরক্ষণ IDE50-- আমার কর্মক্ষেত্র নিজেই তাই এবং না pset1 মধ্যে. তবে উপরের বামদিকের যতটা দেখতে পারেন. "Greedy.c." আছে আর কয়েক সমাধান আছে. তাই এক, আমি ব্যবহার করতে পারেন সুপার ইউজার-বন্ধুত্বপূর্ণ উপায় শুধু dragging এবং ড্রপ. এবং যে আসলে would এই সমস্যা সমাধানের জন্য. কিন্তু আজকে আমরা তাকান করার চেষ্টা করছেন আরো রহস্যময় কিন্তু শক্তিশালী উপায়ে এই করছেন. তাই আমাকে pset1 মধ্যে "LS" গ্রহণ করা. আর আমি শুধু "mario.c." দেখুন আমাকে এগিয়ে যান এবং করুক না "সিডি ..". সুতরাং সিডি আবার পরিবর্তন ডিরেক্টরি. ".." যদিও, কি মানে? শেষ সময় আমি বলেন, "সিডি pset1 "pset1 ঢোকা. আমি "সিডি .." বলে যখন, আমি কি করছি? পূরবর্তী. হ্যা. সুতরাং এটা তথাকথিত অভিভাবক যাচ্ছে. মত, এক স্তর পর্যন্ত যেতে একটি ফোল্ডার আউট থেকে প্রস্থান. তাই লিখুন. এবং প্রকৃতপক্ষে, এটা কি চেহারা. এটা পরিবর্তে শুধু কর্মপরিসর মধ্যে আমাকে সরানো এর কর্মপরিসর যা pset1 মধ্যে. এবং এখন আমি "LS" টাইপ করুন, স্টাফ আভা আছে. ইন "greedy.c" নেই. সুতরাং এখন আমাকে আক্ষরিক MV ব্যবহার দিন pset1 মধ্যে "greedy.c" সরানো. তাই লিনাক্স অনেক কমান্ড ঠিক এই মত কাজ. তারা কোনো আর্গুমেন্ট গ্রহণ করা বা তারা এক নিতে যুক্তি বা তারা দুটি কমান্ড লাইন নিতে আর্গুমেন্ট এবং তাই ঘোষণা. এবং এই ক্ষেত্রে, এটা আক্ষরিক করছেন কি এটা succinctly-- যদ্যপি বলেছেন pset1 মধ্যে greedy.c সরাতে. লিখুন. কিছুই ঘটবে বলে মনে হয়. আমি আবার একটি LS হও, তবে, অর্থগৃধ্নু সর্বস্বান্ত হয়. আমি "সিডি pset1" না, তাহলে লিখুন, এবং LS আবার এখন এটি যথাস্থানে আছে. একটি সরাইয়া, জন্য যদি কিছু বিশেষ করে reason-- আপনি সবিরাম আছে নেটওয়ার্ক সংযোগ অথবা আপনি হাঁটা কাছাকাছি আপনার ল্যাপটপ ঢাকনা দিয়ে ক্যাম্পাস বন্ধ এবং তারপর এটি খুলুন আবার ও আপনার কর্মক্ষেত্র কিছুটা সিঙ্ক, কোন বড় চুক্তি আউট বলে মনে হয়. শুধু আপনার ব্রাউজার রিলোড উইন্ডো, এবং এটি করা উচিত resync যাতে বাঁদিকের ফাইলটি ব্রাউজারে ঠিক দেখায় টার্মিনাল উইন্ডোর মত. চিন্তার কিছু নেই. কোন সন্দেহ থাকলে, তাই, পৃষ্ঠাটি পুনঃলোড দীর্ঘ হিসাবে আপনি ইতিমধ্যে ফাইল সংরক্ষিত করেছি. ঠিক আছে. সুতরাং MV এছাড়াও ফাইল নামান্তর করতে ব্যবহার করা যেতে পারে. আর এর কটাক্ষপাত করা যাক এখানে এই চূড়ান্ত কমান্ড. সুতরাং suppose-- এবং এই হল সুপার সাধারণ, খুব, আগে থেকেই. কিছু ছাত্র মাঝে মাঝে একটি ফাইল তৈরি বলা হয়, এর অন্য একটি কি কথাই যাক? "WATER.C." ভালো লেগেছে তাই আমি শুধু জন্য, চিত্কার করব সব ক্যাপ কোনো কারণ. কিন্তু এই নয় ফাইলের জন্য সঠিক নাম আমাদের সমস্যা সেট যদি শুধুমাত্র কারণ নির্দিষ্টকরণ আপনি বলুন না সব ছিপি ফাইল সংরক্ষণের জন্য এই "WATER.C." পরিবর্তে, আমরা আশা ছোট হাতের মধ্যে "water.c". এবং, আসলে, এই হল সমস্যাযুক্ত কারণ check50, আপনি চলুন একটি প্রোগ্রাম সমস্যা দেখা দিতে স্বয়ংক্রিয়ভাবে পরীক্ষা করে এক সেট আপনার কোড শুদ্ধি আপনি চিত্কার যাচ্ছে তাহলে এটি করতে পারেন না সব ছোট হাতের মধ্যে "water.c" এটি. তাই আমি এই স্থির করা প্রয়োজন. তাই বিভিন্ন উপায়ে , যা প্রথম এই কাজ নিয়ন্ত্রণ-ক্লিক করুন অথবা ডান ক্লিক করতে হবে ফাইলের নাম শুধু পুনঃনামকরণ পরিবর্তন ও. যে কাজ করতে সম্পূর্ণই সূক্ষ্ম. কিন্তু আবার, আজ, আসুন এটি একটি সামান্য কল্পনাকারী না. এর পরিবর্তন করতে MV ব্যবহার করি যাও "WATER.C" "water.c." তাই আপনি যদি প্রথম যুক্তি ব্যবহার করতে পারেন দ্বিতীয় যুক্তি এটি নামান্তর দ্বিতীয় যুক্তি নেই, যদি আসলে, একটি ফোল্ডার বা ডিরেক্টরির নাম. ঠিক আছে. এবং সর্বশেষে, একটু trick-- তাই আমি আছি মুহূর্তে আমার কর্মক্ষেত্র ডিরেক্টরি. আমি pset এক ঢোকা চান আমি অবশ্যই "সিডি pset1." টাইপ করতে পারেন কিন্তু এটা "pset1" টাইপ তাই ক্লান্তিকর বা ফাইলের নাম বা ডিরেক্টরির নাম আর এখনও. তাই খুব প্রায়ই লিনাক্সে, কি আপনি "PSE" টাইপ করা শুরু হয় না পারেন এবং মাত্র, উদাস ট্যাব আঘাত, এবং দিন আপনার জন্য কম্পিউটার এটা চিন্তা. যে অভ্যাস ঢোকা সুপার সহায়ক. আপনি যদি শুধুমাত্র ধরা হয় শুরু একাধিক ফাইল বা ফোল্ডার চিঠি "P" দিয়ে বা "PS," আপনি থাকতে পারে আগে আরো কয়েকটি টাইপ কম্পিউটার কি করতে হবে তা জানে না. MARIA: আমরা শর্টকাট চান. DAVID Malan: এই ইচ্ছা আপনি এত সময় বাঁচাতে. এবং এছাড়াও, আমরা আপনাকে, বক্তৃতায় বলেন হিসাবে আপ করুন এবং নিচে, ইতিহাসে স্ক্রোল করতে, সম্প্রতি সম্পাদিত এটি কমান্ড, পাশাপাশি. ঠিক আছে. সুতরাং এখন, এর আমাদের মনোযোগ ফিরিয়ে ঘুরিয়ে দেওয়া একটি সহজ প্রোগ্রাম, হ্যালো দুনিয়া. তাই আমরা ঠিক এই কম্পাইল করেছি. আর এখন কেন আমরা নিতে না তথ্য ধরনের কটাক্ষপাত এবং তারপর কিছু থেকে রূপান্তরটি সি ভূত ব্লক সংশ্লিষ্ট MARIA: জট্টিল. তাই এখন আপনি শুরু করেছি যে সি প্রোগ্রাম লেখা, আমরা কথা বলা শুরু করতে যাচ্ছেন তথ্য ধরনের এবং ভেরিয়েবল সম্পর্কে. তাই কিছু তথ্য ধরনের যে আপনি এখন শুরু জানতে চায় বেশী যে হয় নীল হাইলাইট. সুতরাং আমরা, প্রথমে int আছে যা পূর্ণসংখ্যা ঘোরা. এবং যে আপনি হিসাবে, ইন্টিজার ঝুলিতে থাকতে পারে guessed-- তাই 1, 2, 3, এবং অন্য কোন পূর্ণসংখ্যার আপনি মনে করতে পারেন যে. DAVID Malan: এবং নেতিবাচক. MARIA: এবং নেতিবাচক বেশী, হাঁ. আর 0. তারপর আমরা floats, আছে যা পয়েন্ট সংখ্যা ফ্লোটিং হয়. সুতরাং যে সব বাস্তব সংখ্যা এর যে দশমিক পয়েন্ট আছে. সুতরাং 5.0, 5.2, এবং আরও বেশি দশমিক বিন্দু পরে ডিজিট, পাশাপাশি, এবং নেতিবাচক বেশী. তারপর আমরা একটি চরিত্র যা গৃহস্থালি আছে. তাই আমি মনে করি আমরা যে বিষয়ে কথা বললাম মনে এই বক্তৃতায় আজ. কিন্তু আমরা example-- জন্য, অক্ষর আছে একটি গৃহস্থালি হিসাবে সংরক্ষিত হতে পারে যে বি, সি. কিন্তু তারপর আমরা আরো অনেক চিহ্ন আছে যে একটি গৃহস্থালি হিসাবে সংরক্ষণ করা যাবে. আর যারা ASCII হিসাবে সংরক্ষণ করা হয়. এবং তারপর আমরা একটি bool আছে, যা বুলিয়ান হয়. আর যারা সত্য নির্ণয় করা বা মিথ্যা বা যথাক্রমে 1 এবং 0. DAVID Malan: এবং রিকল যে bool, CS50 লাইব্রেরি থেকে আসে. সুতরাং এটা পাতাটা না সি, কিন্তু এটি সুপার দরকারী সত্য ও মিথ্যা ধারণা আছে. আর যদিও আপনি মজা আসলে কি মনে হতে পারে. একটি bool টেকনিক্যালি কতগুলি বিট প্রয়োজন, সত্যিই, মিথ্যা বনাম সত্য প্রতিনিধিত্ব? কতগুলি বিট আপনি মনে করেন আপনি সর্বাধিক, প্রয়োজন হবে? হ্যাঁ, ঠিক এক. সুতরাং এটা যে সি সক্রিয় আউট আপনি মাত্র এক বিট দিতে পারবেন না. পরিমাপ ক্ষুদ্রতম ইউনিট পেতে পারেন আপনি আটটা. সুতরাং এটা তারা আপনি আছেন একটু অযথা এর একটি সম্পূর্ণ বাইট, বা আট বিট ব্যবহার করে, সত্য বা মিথ্যা উপস্থাপন করতে. কিন্তু যে এটি মাত্র উপায় CS50 লাইব্রেরি দ্বারা সি বাস্তবায়িত. MARIA: আমরা করছি এবং তারপর ওগুলো হিসাবে ব্যাপকভাবে সম্পর্কে কথা বলা যাচ্ছে না ডান ডবল এখন আমি, যে বড় ফ্লোট জন্য. লং দীর্ঘ ও স্বল্প মেয়াদী পূর্ণসংখ্যার জন্য রয়েছে. DAVID Malan: আসলেই. Pset এক হ্যাকার সংস্করণ ইন, আমরা আসলে দীর্ঘ দীর্ঘ ব্যবহার. কিন্তু মানক সংস্করণ জন্য, এটা প্রয়োজন হবে না. MARIA: কুল. ঠিক আছে. অতএব তোমরা যাও operators-- এর মধ্যে সবচেয়ে সঙ্গে সম্ভবত পরিচিত. উপরন্তু, '; বিয়োগ, -. গুণ জন্য, আমরা * আছে. তাই না এক্স আমরা সাধারণত ব্যবহার করে. বিভাগ, আমরা ব্যাকস্ল্যাশ আছে. আর মডুলো আমাদের সর্বশেষ অপারেটর যে আমরা এই মুহূর্তে সম্পর্কে কথা বলতে যাচ্ছি. এটা করতে পারবেন যে একটি অপারেটর একটি বিভাগ বাকি নিতে. আমরা 4% আছে 2, 4 ভাগ তাই 2 0 একটি অবশিষ্টাংশ সঙ্গে 2. তাই 4% 2 0. 4% 3 1. আপনি অনুমিত করতে পারে হিসাবে 4% 5, 4 হয়. এবং এই সব ব্যবহার করার সময় মনে রাখবেন অপারেটরদের PEMDAS নিয়ম ব্যবহার করতে. DAVID Malan: তাই, পরিষ্কার করা আপনি যদি 4% 2 না, কেন ঠিক, যে 0? MARIA: 4 কারণ দ্বারা বিভক্ত 2 0 একটি অবশিষ্টাংশ সঙ্গে 2. সুতরাং modulo আমাদের হিসাবে যে বাকি দেয় বিভাগের ফলে বিরোধিতা. DAVID Malan: এবং প্রকৃতপক্ষে, আমরা এই সহায়ক পাবেন কিছু সমস্যার মধ্যে যে হয় যে, অগত্যা এক নয় আপনি করতে চান তাহলে নিজেকে সীমাবদ্ধ প্রভাব সংখ্যার একটি পরিসীমা কিছু মাধ্যমে 0 মত, আপনি চারপাশে মোড়ানো modulo ব্যবহার করতে পারেন তার আগে 2 বিলিয়ন মত চেয়ে বা 4 বিলিয়ন মূল্য যে আমরা বক্তৃতায় সম্পর্কে বিস্তারিত আলোচনা করেছি. MARIA: হ্যা. এমনকি আমরা প্রতাপ "লোভী" এ. DAVID Malan: হ্যাঁ, এ সমস্যা হিসেবে, এক সেট. MARIA: হ্যা, চমৎকার. DAVID Malan: গুড ইঙ্গিতটি. MARIA: দুঃখিত. বুলিয়ান তাই expressions-- বুলিয়ান অপারেটরদের জন্য, আমরা প্রায় সব কথা বলতে যাচ্ছি এই যে আপনি এখানে দেখতে. তাই এই মুহূর্তে, আমরা দুটি আছে সমান চিহ্ন সমান জন্য তালিকাভুক্ত. সুতরাং যারা তুলনা আছে. এ পর্যন্ত আমরা শুধুমাত্র দেখা করেছি এক সমান চিহ্ন. আমরা নির্ধারণ করা হলে যে একটি পরিবর্তনশীল এর একটি মান. সুতরাং আমরা তারপর, কোন int n = 5 দেখা করেছি তাহলে আমরা পরিবর্তনশীল n 5 নির্ধারিত করেছি. কিন্তু আমরা এর জন্য == ব্যবহার করতে চান তাহলে তুলনা, আমরা যদি এন == 5 চেক করতে পারেন. আর এন == 5, তাহলে এটা সত্য. সুতরাং বুলিয়ান অপারেটরদের মূলত, আমাদের অনুমতি, বুলিয়ান মূল্যায়নের সত্য বা মিথ্যা এক্সপ্রেশন. সুতরাং আমরা আছে সমান না বিস্ময়বোধক চিহ্ন ও সমান. সুতরাং আমরা উদাহরণ এন যদি পরীক্ষা পারে সমান না 5-- তাই এন! = 5. অপেক্ষাকৃত ছোট বা সমান, কম, অপেক্ষাকৃত বড় অথবা সমান, তার চেয়ে অনেক বেশী, এবং তারপর আমরা লজিক্যাল আছে এবং ও যৌক্তিক বা. আর যারা আমাদের পরীক্ষা করার অনুমতি দেয় একসাথে একাধিক বুলিয়ান এক্সপ্রেশন মূলত একসাথে আসা এক পুরো বুলিয়ান অভিব্যক্তি. আমরা একটি সংখ্যা খুঁজে বের করতে চান তাহলে, বলে যে তার চেয়ে অনেক বেশী 5 কিন্তু কম 15 একই সময়ে, আমরা ব্যবহার করতে হবে এন কিনা দেখতে লজিক্যাল এবং অপারেটর তার চেয়ে অনেক বেশী 5 && কম 15 এন. DAVID Malan: এখানে, খুব, এটা সত্যিই সহজ প্রথম দিকে ঘটনাক্রমে শুধু একটি একক এম্পারসেন্ড ব্যবহার বা একটি একক উলম্ব বার. এবং আশা কম্পাইলার হবে চিত্কার আপনি আসলে তারা কারণ একটি ভিন্ন অর্থ আছে. যারা জানতে আগ্রহী, তারা আছেন bitwise অপারেশন জন্য ব্যবহৃত, পৃথক বিটের অপারেটিং. কিন্তু আপনি এখানে তাদের জুড়ি চান না. এবং অতি গুরুত্বপূর্ণ যে হয় প্রথম এক, সমান চিহ্ন, সমতা অপারেটর হিসাবে যা হয় নিয়োগ অপারেটর বিরোধিতা. MARIA: এবং উল্লম্ব বার মুছে দিন এবং ফিরে মধ্যে অবস্থিত. DAVID Malan: হ্যাঁ. একটি টিপিক্যাল ইউএস কীবোর্ডের উপর. MARIA: হাঁ. তাই এর ডান মধ্যে তিড়িং লাফ দিন শর্তাধীন বিবৃতি. ভূত, আপনি করেছি ইতিমধ্যে দেখা, সম্ভবত, যদি আপনি অনুমতি দেয় যে বিবৃতি কিছু সত্য হয় তাহলে পরীক্ষা অন্য কিছু না. সুতরাং আপনি চেয়েছিলেন পারে আপনার পরী কিনা চেক করার জন্য অন্য কিছু পরী স্পর্শ বা আপনার পর্দার সীমানা. এবং তারপর আপনি চেয়েছিলেন পারে খেলা শেষ বা অন্য কিছু না. যে জন্য সিনট্যাক্স তাই "যদি (শর্ত)." হয় যদি তাই আপনার পরী কিছু স্পর্শ করা হয়, তারপর কোঁকড়া ধনুর্বন্ধনী ভিতরে হয় না. তারপর আমরা যদি 'অন্য বিবৃতি আছে. অন্য আমাদের কিছু করার অনুমতি দিয়েছে শর্ত যে যদি আমরা শুরুতে জন্য পরীক্ষা সত্য নয়. পরী স্পর্শ করা হয় তাই আপনি যদি সীমানা অন্য, এই কাজ অন্য কিছু না. তাই অন্যথায় অন্য কিছু না. তারপর আমরা এই জন্য একটি ছোট উদাহরণ আছে. সুতরাং যদি (military_time <12), আমরা printf চাই "শুভ সকাল!" অন্যথায় আমরা চলুন printf, "শুভ সন্ধ্যা!" সাধারণ উদাহরণ. DAVID Malan: গুড. MARIA: কুল. তাই এখন আমরা সুইচ বিবৃতি আছে. সাধারণ করতে পারেন বিবৃতি করুন আমাদের একই জিনিস অনেক কাজ করার অনুমতি দেয় আমরা শুধু বললাম যে বিবৃতি যদি সঙ্গে সম্পর্কে. উদাহরণস্বরূপ, এই মুহূর্তে আমরা আছে সুইচ বিবৃতি সাধারণ ফর্ম যে আমাদের নিতে পারবেন একটি পরিবর্তনশীল নামক এন এবং অনেক এটি তুলনা বিভিন্ন মান, যা এখানে আমরা constant1, constant2 বলা আছে. আমরা আরো অনেক থাকতে পারে. এবং এসব ক্ষেত্রে বলা হয়. আমরা একটি স্যুইচ থাকে তাই statement-- এবং এই কাজ আমরা কেবল একটি আছে ইন্টিজার জন্য এন যে এই ক্ষেত্রে পরিবর্তনশীল. পরিবর্তনশীল যদি n আমরা constant1 সমান কিছু কোড স্নিপেট চালানো হবে অথবা আমরা যা করতে চাই এমন কিছু. এবং তারপর আমরা ভঙ্গ করা হবে. তাই বিরতির যে মানে সুইচ বিবৃতি যদি নির্বাহ থামাতে হবে এন, constant1 সমান এবং তারপর আপনার প্রোগ্রাম চলতে থাকবে. এটা আউট থেকে প্রস্থান করা হবে বিবৃতিতে সুইচ এবং এটি হবে অন্য কিছু করতে অবিরত. যাইহোক, এন সমান না হলে constant2 জন্য constant1, তারপর যদি চেক করা হবে. তাই এন, যে অন্যান্য constant2 সমান হলে কোড স্নিপেট মৃত্যুদন্ড কার্যকর করা হবে. এবং তারপর তা ভঙ্গ করব এটা সমান হলে. এবং তারপর আমরা also-- না থাকতে পারে অগত্যা, একটি ডিফল্ট ক্ষেত্রে যদিও এন সমান না হলে যা ঘটবে আপনি তালিকা দেয়া হয়েছে যে ক্ষেত্রে কোন. এবং ডিফল্ট ক্ষেত্রে, আমরা উদাহরণ অগত্যা একটি বিরতি প্রয়োজন হবে না সুইচ বিবৃতি জানতে হবে, কারণ এটা ডিফল্ট পর শেষ প্রয়োজন যদি সেই ক্ষেত্রে যদি. DAVID Malan: কিন্তু শৈলীগত, আমরা সবসময় সেখানে রাখা. MARIA: হ্যা. ডেভিড MALAN: হ্যাঁ. তাই বিশেষ করে, শুরু যখন বিশেষ করে যাদের মধ্যে কম হলে আরামদায়ক, আমি ব্যক্তিগতভাবে চাই শুধু Ifs দিয়ে বিদ্ধ সুপারিশ এবং Ifs-ফাঁদে এবং যদি-অন্য-যদি-ফাঁদে এবং তাই ঘোষণা, তবেই তারা একটু কারণ আরো সহজবোধ্য. এটি একটি চমৎকার অপ্টিমাইজেশান হল, বা কখনো কখনো এমনকি নান্দনিক এটা কোড আরো পাঠযোগ্য তোলে. এবং বাস্তবিকই, সম্ভবত মধ্য সেমিস্টারে আমাদের একটা সমস্যা দেখতে পাবেন এটা ঠিক ভালো দেখায় যেখানে সেট এবং সহজ মানুষের জন্য পড়া একটি সুইচ বিবৃতি ব্যবহার করে. কিন্তু চিন্তা করবেন না খুব তাড়াতাড়ি এই সংলগ্ন. MARIA: হ্যা. আপনি যদি বিবৃতি একটি অনেক আছে, এটা ঠিক খুব পাঠযোগ্য নাও হতে পারে. এটা খুব দ্রুত হতে পারে না জন্য আপনি এটি মধ্য দিয়ে যেতে. সুতরাং বিবৃতি পারেন সুইচ অত্যন্ত দরকারী, পাশাপাশি হতে. এবং এছাড়াও, মনে রাখা করবেন না সেখানে বিরতি লাগাতে ভুলবেন. DAVID Malan: এই মনে করবেন না. MARIA: তারপর আপনি পড়া হতে পারে, কারণ মাধ্যমে অন্য এক মামলা থেকে. সুতরাং আসুন যে ক্ষেত্রে constant1 বলা যাক এটা একটি বিরতি বিবৃতি আছে না. তারপর আমরা নিচে পড়ে যাবেন পারে ভিতরে ক্ষেত্রে constant2. আর আমরা যদি তা করতে চাই না আমরা ইতিমধ্যে ক্ষেত্রে constant1 পৌঁছে গেছেন এবং এটি এন সমান. সুতরাং, উদাহরণস্বরূপ, আমরা একটি পরিবর্তনশীল আছে একটি বর্গ সংখ্যা উপস্থিত রয়েছে যে এন, এবং আমরা তা দেখতে চাই এন 50 এর সমান হয় বর্গ, হচ্ছে ÑÑ আমরা CS50 হয় "মুদ্রণ চলুন কম্পিউটার বিজ্ঞান আই " তারপর আমরা বিরতি চলুন. এবং যে এটি. তবে, এন সমান 51 আমরা চলুন CS51 ভূমিকা "প্রিন্ট কম্পিউটার বিজ্ঞান দ্বিতীয়. " তারপর আবার আমরা বিরতি চলুন. যাইহোক, তাহলে আমরা করা 124, 61, কোন আপনি মনে হতে পারে যে অন্যান্য সংখ্যা, বা প্রোগ্রাম যাচ্ছে না যে চিনতে. সুতরাং এটা দুঃখিত, আমি আছি ", বলে যাচ্ছে যে শ্রেণীর সাথে পরিচিত না. " এবং তা ভঙ্গ করতে যাচ্ছে. DAVID Malan: তাই আপনি কি সত্যিই দেখতে পারেন The, তাহলে অন্য এখানে অন্য ধারণা, যদি. এটা জন্য শুধু বিভিন্ন সিনট্যাক্স সঠিক একই ধারণা প্রকাশ. MARIA: ঠিক. এখন আমরা আমাদের তিন অপারেটর আছে. তাই তিন অপারেটর আছে তিন, একটি শর্ত parts-- যদি না কিছু তবে শর্ত থাকে যে, সত্য এবং তারপর কিছু করতে তাহলে যে শর্ত মিথ্যা. তাই আপনি, মূলত, দেখতে এখানে যে এর সিনট্যাক্স. আমরা প্রশ্ন চিহ্ন আছে, এবং তারপর the-- কি আমরা এই কল? DAVID Malan: কোলন. MARIA: কোলন. তোমাকে ধন্যবাদ. দুঃখিত. সুতরাং আসুন আমাদের উদাহরণ তাকান আমরা আপাততঃ অর্থে করতে পারেন দেখুন class_num == 50. তাই আমরা এখানে == আমাদের বুলিয়ান অপারেটর দেখতে যে পরিবর্তনশীল class_num তুলনা 50. সুতরাং class_num দোকানে একটি পূর্ণসংখ্যা. আর যে পূর্ণসংখ্যা হলে তারপর আমরা করছি, 50 সমান সংরক্ষণ করে যাচ্ছে "ডেভিড Malan" স্ট্রিং অধ্যাপক ভিতরে. বর্গ সংখ্যা জানতে হলে লগ "না ডেভিড Malan", 50 এর সমান অধ্যাপক হতে যাচ্ছে. DAVID Malan: আপনাকে ধন্যবাদ. আর তাই এই সমতূল্য মনে আপনি প্রথম নজরে, কি বলতে হবে? MARIA: এটা আমার মনে চাই-অন্য বিবৃতি. ডেভিড MALAN: হ্যাঁ. এবং সত্য, এই ধরনের একটি সুন্দর এক মাছ ধরার নৌকা, তাই বাস্তবায়নের জন্য, কথা বলতে এর ঠিক যুক্তি যদি-অন্য কিন্তু এক ধাপ সবকিছুই করছেন. MARIA: ঠিক. হ্যা. সুতরাং যদি-অন্য বিবৃতি পারে স্থান অনেক সময় লাগতে. তারা জন্য অত্যন্ত দীর্ঘ হতে পারে এই হিসাবে সহজ হিসাবে কিছু. তাই এই খুব হতে পারে পরিবেষ্টিত এবং খুব সুন্দর. তাই এখন আমরা এ খুঁজছেন মধ্যে চলুন আবার এবং আবার কিছু নির্বাহ, তাই একটি জন্য চেক একাধিক বার শর্ত এবং তারপর কিছু করতে অব্যাহত তবে শর্ত থাকে যে সত্য যখন. সুতরাং এই আমাদের এনেছে চমত্কারভাবে যখন loops মধ্যে. বাম, আমরা আছে আমাদের প্রথম যখন লুপ. কিছু সত্য হয় তাই, আবার এবং আবার কিছু না. তাই লক্ষ্য করা নিশ্চিত আমাদের শর্ত এখানে উপরের যাচাই করা হয়. আমরা কল আমাদের দ্বিতীয় লুপ দিয়ে যেহেতু একটি কাজের জন্য সময় আমরা কিছু করতে লুপ যে, তারপর আমরা একটি অবস্থার জন্য পরীক্ষা. এবং যে অবস্থার যদি সত্য চলতে হবে, আমরা ফিরে যান এবং আবার জিনিস না. তাই মূল পার্থক্য কোথায় অবস্থার জন্য পরীক্ষা করা হয়. আর কোড হতে পারে না শর্ত নয় যদি মৃত্যুদন্ড কার্যকর যখন লুপ দিয়ে সত্য. কাজের জন্য সময় দিয়ে যেহেতু লুপ, আমরা কোড আছে যে সবসময় অন্তত একবার মৃত্যুদন্ড কার্যকর করা হয়. এবং তারপর শর্ত যখন সত্য চলতে হবে, আমরা ফিরে যান এবং ভিতরে আবার পুনরুক্তি করতে পারেন. সুতরাং কেন আপনি আমরা ব্যবহার করেন না একটি যখন একটি লুপ উপর লুপ কাজ করার সময়? রাইট. আমরা প্রম্পট করতে চান তাহলে ইনপুট কিছু সাজানোর জন্য ব্যবহারকারীকে আমরা তাদের জিজ্ঞাসা করতে চান তাহলে তাদের নাম লিখুন, আমরা অন্তত একবার তাদের জিজ্ঞাসা করতে চান. তাঁরা লিখতে থাকে তাহলে যে নাম, আমরা পারব না আবার তাদের জিজ্ঞাসা করতে যাচ্ছে আমরা আগে থেকেই জানি, কারণ. কিন্তু তারা যাতে প্রবেশ না থাকে তাহলে তাদের নাম, বা তারা যদি কিছু যে লিখতে অবশ্যই না একটি নাম, আমরা এখনও চালিয়ে যেতে চান তাদের নামের জন্য তাদের উপর জিজ্ঞাসা. DAVID Malan: এবং বক্তৃতায় আমরা এক ছিল পেতে ইতিবাচক কোন int সাথে এই মত কিছুই করার নেই যেখানে যেমন, এমনকি আপনি না আছে, কারণ প্রথমে পরীক্ষা কোন int অর্জিত. সুতরাং আমরা আপাততঃ কাজ করতে চান user-- থেকে কোন int পেতে তারপর সম্ভবত, এটা পরীক্ষা, আবার এবং আবার এবং আবার. MARIA: ঠিক. Loops-- ওকে জন্য. Loops, অনুমতি দিতে পারেন জন্য আমাদের প্রায় করতে সঠিক একই জিনিস, পাশাপাশি. এটা আসলে সঠিক একই জিনিস. তাই কিছুই নেই যে আপনি loops জন্য সঙ্গে কাজ করতে পারেন আপনি সক্ষম হবে না যে যখন loops সঙ্গে কাজ করতে. কিন্তু loops জন্য একটু মনে হতে পারে বিট আরো সিনট্যাক্স জটিল তারা আছে, কারণ তিনটি অংশ ভিতরে কি শুধু অনেক আগে থেকেই আছেন যখন loops সঙ্গে শর্ত. সুতরাং প্রথম অংশ যে আপনি সাগর, বাম সবচেয়ে, আমরা আছে "int- dwarves = 0." তাই এই হল যেখানে আমরা আমাদের পরিবর্তনশীল আরম্ভ. তারপর আমরা একটি সেমিকোলন আছে এবং "dwarves 7. <" সুতরাং এই যেখানে বাইরে শর্ত আসলে. সুতরাং যে আমরা হবে কি যখন শুধু করা লুপ "Dwarves 7. <যখন" এখানে, যে যায় আমাদের লুপ জন্য মাঝখানে. সুতরাং "dwaves 7. <" এবং তারপর আমাদের শেষ অংশ ", dwarves ++" হয় যা আমরা আমাদের পরিবর্তনশীল আপডেট কোথায়. গুরুত্বপূর্ণ বিষয় তাই বুঝতে পারছি এই যে লুপ জন্য এই মধ্য দিয়ে যেতে যাচ্ছে সাতবার এবং চালানো সাতবার. সুতরাং আমরা সাত আছে dwarves, এবং তারা সব করছি আমি এখানে আছি ", বলে যাচ্ছে আপনাকে সাহায্য করার জন্য, স্নো হোয়াইট " তারা প্রস্তুত, কারণ স্নো হোয়াইট সাহায্য করার জন্য. Loops, আমরা কাজ করতাম যখন সঙ্গে আরম্ভের এবং আপডেট না শর্ত ভিতরে, আবার কিন্তু আগে বা যখন লুপ ভিতরে হয় নিশ্চিত করুন যে আপনি যে we-- কারণ আমরা সবসময় যারা অংশ প্রয়োজন. সুতরাং আমরা আছে কি না নিশ্চিত করতে তাদের, আমরা এখনও করেছি তাদের যোগ হবে দেখো, ঠিক না বন্ধনীর ভিতরে. DAVID Malan: তাই এটি করার মত দেখায় বক্তৃতায়, উদাহরণস্বরূপ, আমি প্রায় সবসময় ব্যবহার মত, আমি ও এন এবং বেশ বিরক্তিকর ভেরিয়েবল. আপনি আরো ব্যবহার করতে পারেন এটা দেখে মনে হচ্ছে চালাকি খুব, ভেরিয়েবল নামে. MARIA: হ্যা, এটা আসলে খুব সুন্দর একটি বিট আরো বর্ণনামূলক ভেরিয়েবল ব্যবহার করতে অন্য কেউ হয়, বিশেষত যদি কারণ আপনার code-- পড়া হতে পারে আপনি আছেন শ্রেণির অথবা আপনি সহযোগী করছি somebody-- সঙ্গে আপনি নিশ্চিত করুন যে আপনি চান তারা আপনি কি করছেন বুঝতে. ঠিক আছে. তাই এই কিছু খুব funky-- হয় লুপ জন্য একটি ভিতরে লুপ জন্য. আমরা আগে এই দেখা করেছি, তাহলে আমি জানি না. সম্ভবত না. কিন্তু আমরা আসলে আপাততঃ থাকতে পারে তাই এর পরিবর্তে loops এর loops. সুতরাং যে কেউ হতে পারে পদব্রজে ভ্রমণ করতে চান না আমার কি মাধ্যমে এখানে হচ্ছেটা কী? DAVID Malan: আমি একটি ছুরিকাঘাত নেব. MARIA: কুল. ডেভিড MALAN: ঠিক আছে. সুতরাং, আমরা কাপড় প্রিন্ট করতে চান spoiler-- যে নীচের অংশে ডানদিকে কোণায় অবস্থিত এর সেখানে. MARIA: রাইট. হ্যাঁ হ্যাঁ. DAVID Malan: তাই আমরা ঠিক করেছি, সেখানে যে নমুনা আউটপুট করা. তাই আমি থেকে অনুমান করতে পারেন আপনি আছেন যে আগ লুপ সারি উপর iterating দূরতম লুপ, তাই কথা বলতে. এবং আপনি উপর iterating করছি অন্তরতম লুপ সঙ্গে কলাম. এবং intuitively, এই আশা ইন্দ্রিয় তোলে উচিত কারণ প্রকৃতি দ্বারা আমরা দেখা করেছি প্রতিটি প্রোগ্রাম যা আগে printf,, ফাংশন আমরা শেষ পর্যন্ত, ব্যবহার করছেন স্টাফ প্রিন্ট করার ক্ষমতা আছে লাইন করে আউট মূলত লাইন. ভালো লেগেছে, একবার আপনি outputted করেছি একটি নতুন লাইন, আছে কোন ফিরে দ্বিত্ব এবং কিছু প্রিন্ট অন্তত, পর্দায় উচ্চতর ভালো ব্যবহার printf না. আর তাই যে বিষয়ে, এটা তোলে অর্থে যে দূরতম লুপ সারি উল্লেখ করা উচিত প্রতিটি সারিতে দেওয়া জন্য, কারণ, আপনি করতে চান করতে যাচ্ছেন তারপর XXXXX প্রিন্ট আউট, এবং পরবর্তী সারিতে, XXXXX উপর সরানো. সুতরাং সারি প্রথম আসা. এবং তারপর মধ্যে প্রতিটি সারি, আপনি কলাম প্রিন্ট করা হবে. আপনি এটা করতে চেষ্টা করে বিপরীত, এটি সম্ভবত না would আপনি মনস্থ হিসাবে খসা. MARIA: হ্যা. আমরা শুধু ফিরে যেতে না পারে printf সঙ্গে আগের সারিতে. DAVID Malan: এবং কি আকর্ষণীয় সুযোগ সম্পর্কে আজকের চ্যাট প্রতি, আসলে, সারি কোন int হয় যে আগ লুপ ঘোষণা. কিন্তু এটি এখনও যে লক্ষ্য ভেতরে, তাই কথা বলতে, কোঁকড়া ধনুর্বন্ধনী যে অবিলম্বে, অনুসরণ এটা টেকনিক্যালি না যদিও যারা কোঁকড়া ধনুর্বন্ধনী মধ্যে. সারি জন্য সুযোগ রয়েছে কোড স্নিপেট সম্পূর্ণতা, উভয় লুপ জন্য বাইরের ভিতর এবং লুপ জন্য ভেতরের ভিতর. কিন্তু এর বিপরীতে, যেখানে কলাম সুযোগ রয়েছে? পরিবর্তনশীল কলাম? হ্যা, শুধুমাত্র ভিতরে লুপ. আমরা অ্যাক্সেস না, কারণ এবং যে ঠিক আছে এটা তার কোঁকড়া ধনুর্বন্ধনী বাইরে. আমরা কি সব নতুন প্রিন্ট আউট হয় সেখানে খুব শেষে লাইনে. আসলে যে তাই ঠিক আছে. সুতরাং এই প্রভাব রয়েছে, এটা দেখে মনে হচ্ছে তিন সারি এবং চার কলাম করছেন. MARIA: রাইট. সুতরাং প্রথম আমরা আমাদের প্রথম সারিতে মধ্য দিয়ে যেতে. আর শুধু আমাদের প্রথম সারিতে, আমরা না প্রথম সারিতে ভিতরে চার কলাম. তাই আমরা চার এক্স এর প্রিন্ট আউট. এবং তারপর আমরা যেহেতু, লুপ জন্য থেকে প্রস্থান করতে পারেন আমরা ইতিমধ্যে চার এক্স এর প্রিন্ট আউট করেছি. এবং আমরা একটি নতুন লাইন প্রিন্ট করা হবে. এবং তারপর আমরা মধ্য দিয়ে যেতে আরো দুটি সারি ক্ষেত্রেও একই প্রক্রিয়া তিনটি মোট করতে. DAVID Malan: এবং এটা এর মূল্য ফন্ট শুধু একটি হস্তনির্মিত বস্তু, আসলে নমুনা আউটপুট যে এত লম্বা মনে আরো আছে, যদিও হিসাবে কলাম তুলনায় সারি. শুধু এক্স কিন্তু এর কারণ এটা চওড়া তুলনায় বেশি লম্বা হয়. যে, সেখানে ঘটছে যে সব লাইনের মধ্যে প্লাস সাদা স্থান. MARIA: রাইট. কুল. DAVID Malan: ঠিক আছে. সুতরাং সমস্যা এ দ্রুত বর্ণন, এক সেট কোন প্রশ্ন গ্রহণ করা, এবং তারপর স্থগিত? ঠিক আছে. সমস্যা এক সেট সুতরাং, আছে তিনটি প্রাথমিক চ্যালেঞ্জ, পরিণামে. কিন্তু প্রথম, আপনি পাবেন সমস্যা সেট যে সঙ্গে হিসাবে স্পেসিফিকেশন, অনেক psets পড়ে যায়, আপনি পদব্রজে ভ্রমণ করতে যাচ্ছে কয়েক উষ্ণ আপ ব্যায়ামের মাধ্যমে, কয়েক সম্পদ আপনি বাতলান যে আপনি অথবা করতে পারে ইতিমধ্যে দেখা না. উদাহরণস্বরূপ, এবং CS50 হাফপ্যান্ট একটি স্যুট আছে সংক্ষিপ্ত ভিডিও যা হয়, না এই ভিন্ন, কিন্তু যে খুব বিষয়ে specific-- হয় হয়তো পাঁচ মিনিট, Loops উপর দৈর্ঘ্য 10 মিনিট বা শর্ত বা আলগোরিদিম উপর বা পরে আরো উন্নত বিষয়, পাশাপাশি. এবং আমরা সাধারণত এম্বেড সমস্যার মধ্যে যারা সেট যাতে ছাত্র যে যা দিয়ে একটি সম্পদ আছে থাকতে পারে যে উপাদান পর্যালোচনা ইতিমধ্যে বক্তৃতা বা বিভাগে আসা পর্যন্ত. কিন্তু এই ভাবে আরো দৃষ্টি নিবদ্ধ করা হচ্ছে এবং তাদের নখদর্পণে আরো. আমরা সমস্যা এম্বেড করার ঝোঁক এগিয়ে যান বলা কিছু নির্ধারণ করা হবে. তাই প্রায় সব আমি কি উদাহরণ কয়েক বক্তৃতায়, এখানে মঞ্চে, আমরা উদাহরণ ক্যামেরা গুলি করে হত্যা করেছে আরো একটি ধীর আগাম, আমার দ্বারা একটি আরো ঘনিষ্ঠ, walkthrough যে কোড আমার ল্যাপটপ, পাতিপাতি তাই যে ক্লাসে আমরা প্রায়ই হবে কিছু বা কেউ মাধ্যমে সর পড়া একটি সঙ্গে নিক্ষেপ করবে একটি প্রশ্নের উত্তর. কিন্তু এটা অগত্যা ডুবা না শ্রোতাদের মধ্যে সবার জন্য এ. তাই আপনি কোড এগিয়ে যান পাবেন উদাহরণ অধিকাংশ জন্য আমরা বক্তৃতায় এখানে যে, যাতে আপনি আপনার নিজস্ব গতিতে ভিতর দিয়ে হেটে যেতে পারেন এবং দ্রুত এগিয়ে বা গুটিয়ে বা আপনি যদি চান, পুরাপুরি লাফালাফি. প্রায়ই কয়েক নেই উষ্ণ আপ প্রশ্ন যে এর বাছাই করার অনুরোধ জানানো এই উপাদান শক্তিশালী এবং আপনি আগে আরামদায়ক করছি যে নিশ্চিত আপনি pset বাকি সাথে এগিয়ে যান. এবং তারপর, অবশ্যই, pset নিজেই আছে. আর কিছু এক খুব ইচ্ছাকৃতভাবে আমরা CS50 মধ্যে না প্রায় প্রতিটি শুষ্ক হয় বা বুদ্ধিমত্তা নীরস যান্ত্রিক ধাপে যে আপনাকে যা করতে হবে পারে প্রায় সবসময় খুব ভাল নথিভুক্ত করা হয়. শব্দটি অবশ্যই ধরে, আমরা করব আরো অলঙ্কৃত প্রশ্ন জিজ্ঞাসা শুরু মত এই বা কিভাবে যে কি মনে পড়ে? কিন্তু সাধারণত, আপনি পাবেন সমস্যা সেট যে আপনি পেতে বলবিজ্ঞান মাধ্যমে কিছু যাতে আকর্ষণীয়, বুদ্ধিজীবী চ্যালেঞ্জ পরিণামে আপনি ছাত্র ফেলে রাখা হয়. সঙ্গে বলেন যে, Zamyla, আমরা কার কাছে বক্তৃতায় আজ রাখা নির্দেশকারী, আমাদের বহুদিন কর্মীদের এক এছাড়াও এগিয়ে যান ঝুলিতে যারা সদস্য মারিও মত নির্দিষ্ট pset সমস্যার উপর এবং অর্থগৃধ্নু, যদিও এই বছর পানি না. এবং ঐ আছে সে যে প্রায়ই এগিয়ে যান জন্য কিছু টিপস এবং ট্রিকস উপলব্ধ কিভাবে কখনও আপনি কহন, এগিয়ে যাও ঠিক কি করতে হবে তা কিন্তু একটি শর্ত মত rather--, আপনি প্রদান ইচ্ছার যদি আপনি অন্তত একটি যাতে ধারণা দম্পতি এটা আপনার উপর নির্ভর করে পরিণামে, সিদ্ধান্ত নিতে কিভাবে তাদের সঙ্গে যোগাযোগ করতে. MARIA: সাজান একটি উচ্চ পর্যায়ের মত যুক্তি বোঝার কি আমরা কি আপনাকে জিজ্ঞাসা করা হয়. DAVID Malan: ঠিক. এবং, আসলে,, Zamyla এর এগিয়ে যান বোঝানো হয় ঘন ঘন উত্তর যেখানে জিজ্ঞাসা করা প্রশ্ন আমি বিশেষ করে যখন শুরু না এই দীর্ঘ উল্লেখ আছে একটু কঠিন সব লেখা দেওয়া এবং তারা তাদের মধ্যে চিত্রাবলী আছে. সুতরাং water.c, আপনি পাবেন আপনি এটি সম্পন্ন করেছেন পরে, আসলে অপেক্ষাকৃত সহজবোধ্য. একেবারে একটি গুচ্ছ আপনি মুহূর্তেই যাচ্ছে চেষ্টা প্রাচীর বিরুদ্ধে আপনার মাথা আমি ঘুমাতে পারছি না কেন জিনিসটা বা কেন এটা সঠিকভাবে ব্যবহার না করা. কিন্তু আপনি বা তুমি পেরেছ একবার এটা দিয়ে এবং আপনি করেছি কোনো সাথে কুস্তি কিছু সময় কাটিয়েছি আপনি থাকতে পারে যে বাগ, আপনি এটা পাবেন একটি খুব ছোট প্রোগ্রাম. এটা মাত্র কয়েক মধ্যে সম্পন্ন করা যাবে লাইনের কোড, যার বেশিরভাগ আমরা যদি, ইতিমধ্যে বক্তৃতায় এখানে দেখা করেছি ডান বিল্ডিং ব্লক জড়. আর আমরা সুপারিশ হিসাবে এখানে, এটা জিজ্ঞাসা করতে যাচ্ছে আপনি কত মিনিট উল্লেখ করতে কেউ ক্যাম্পাসে একটি ঝরনা গ্রহণ করা হয়. আমরা সমস্যা উল্লেখ পানি প্রবাহ হার নির্ধারণ , মত, একটি নিম্ন-প্রবাহ ঝরনা মাথা, অনেক Seinfeld ক্লিপ মত আমরা গতকাল দেখেছি বা উহার বিপরীত. এবং তারপর আপনি ঠিক আছে গণিতের একটি বিট করতে, বলতে সি ব্যবহার করে গাণিতিক really-- আমাদের কিভাবে জল অনেক, প্রায়, বোতল আমরা হন তাহলে যে সমতূল্য একটি এন-মিনিট ঝরনা গ্রহণ. এখন, mario.c আমরা, এই যাচ্ছে একটি সামান্য আর প্রোগ্রাম করা. এটা এখনও দীর্ঘ এই হতে যাচ্ছে না. মাত্র কয়েক লাইন water.c চেয়ে দীর্ঘতর. কিন্তু এটা সুযোগ হতে যাচ্ছে পুরানো স্কুল মারিও পুনঃ সুপার মারিও থেকে পিরামিড ব্রাদার্স বা কিছু ফলো অন. এটা prettier হিসাবে তাকান যাচ্ছে না বা আছে যে এক যত আনন্দময়. আমরা শুধু একটু হ্যাশট্যাগ ব্যবহার করতে যাচ্ছেন মত আমরা পর্দায় এখানে আছে ASCII টেক্সট ব্যবহার. কিন্তু এটি একই ধারণা আনুমানিক হবে. এবং এটি একটি হতে যাচ্ছে প্রথম নজরে যে ব্যায়াম শুধু সুন্দর simple-- মনে একটি সহজ পিরামিড প্রিন্ট করা হবে. কিন্তু কয়েক বৈশিষ্ট্য আছে এখানে আকর্ষণীয় হয়. এর ডানদিকে প্রান্ত যে লক্ষ্য করুন পিরামিড আসলে প্রস্থ দুই আছে. তাই সমান দুটি আছে উচ্চতা কলাম, যা এটি একটি সামান্য প্রয়োজন তোলে চিন্তার বিট করতে নিশ্চিত করুন যে আপনি, যে ঠিক ডান পেতে শুধু একটি পুরোপুরি কৌণিক বিরোধিতা লাইন. সুতরাং যে একটি কোণ ক্ষেত্রে একটি বিট কিন্তু আসল খেলা মেলে. আর এটা এমন একটা প্রথমে অ সুস্পষ্ট সাদা স্পেস কিভাবে প্রিন্ট নজরে. তাই আমি তাকান যখন নমুনা আউটপুট এখানে এবং এটা spec-- এছাড়াও এটা ধরনের, একটি আয়তাকার মত দেখায় কিন্তু একটি তির্যক আয়তাকার, কাটা বন্ধ করা হয়েছে এবং এটা শুধু সাদা স্পেস, তাই কথা বলতে হবে. আর তাই প্রায়শই জিজ্ঞাসা করা প্রশ্ন এখানে ভাল, সর্বদা, আমি হ্যাশট্যাগ সরানো না কিভাবে ডান হাতে? বা কিভাবে আমি ফাঁকা স্পেস মুদ্রণ? এবং এটা আসলে সহজ অধিকাংশ ছাত্র মনে করেন আর. রাইট? আপনি ঠিক করে দৃশ্যত এটা অনুমান করতে পারে একবার বা দুবার স্পেস বার আঘাত বা তিনবার. তাই এমনকি আমরা প্রায় printf সঙ্গে যদিও সবসময় একটি স্ট্রিং বা কোন int প্রিন্ট আউট অথবা হ্যালো "মত একটি শব্দ, শব্দের জগতে 'বা সিরিজ, এছাড়াও আপনি শুধু প্রিন্ট করতে পারেন উক্তি, স্থান, উদ্ধতি. এবং যে আসলে দিতে হবে আপনি সেখানে একটি সাদা স্থান. তাই যে কথা মনে রাখবেন এবং এই overthink না. আপনি কি সত্যিই আছে সারি করে সারিতে সারিতে সিদ্ধান্ত, না আপনার যেমন ভিন্ন একটি যারা আগে, কতগুলি মুহূর্তে কলাম সাদা স্পেস হবে এবং হ্যাশট্যাগ হওয়া উচিত কিভাবে তাদের অনেক. এটা সময় একটি বিট নিতে হবে, কিন্তু এটা প্রকারের পরিণামে একটি লজিক পাজল. MARIA: হ্যা. কিন্তু সারি করে সারিতে যাচ্ছে যুক্তিবিজ্ঞান এখানে খুবই উপযোগী হতে যাচ্ছে. ডেভিড MALAN: হ্যাঁ. আমি নমুনা কোড আপনি এমনকি gave-- মনে এটি একটি সম্পূর্ণ প্রোগ্রাম ছিল না যদিও. আপনি এখনও কোন int এবং প্রধান প্রয়োজন এবং অকার্যকর এবং # stdio.h, বক্তৃতা থেকে জিনিস অনেক. কিন্তু বিল্ডিং ব্লক সেখানে হবে বলে মনে হচ্ছে. এবং তারপর সর্বশেষে কিছু হয় একটু বেশি আলগোরিদিমিক. তাই এটি যে কোনো সময় দেখা যাচ্ছে যে আপনি জীবনবৃত্তান্ত বা কোনো কনভেনিয়েন্স স্টোর ঢোকা এবং কেউ এ আপনার হাত কোষাধ্যক্ষ বিল বা পরিবর্তন যেমন কয়েন, দেখা যাচ্ছে যে তারা মানুষের, তারা এটা জানেন বা না থাকুক বা না থাকুক, সম্ভবত কি ব্যবহার করা হয় একটি অর্থগৃধ্নু আলগোরিদিম বলা, আপনি অপরিশোধিত করছি, বলতে যদ্দ্বারা, $ 21 পরিবর্তনের কারণ কোনো কারণে আপনি খুব সস্তা কিছু কেনা জীবনবৃত্তান্ত একটি খুব বড় বিল দিয়ে, এটা যদি সত্যিই বিরক্তিকর হতে পারে কোষাধ্যক্ষ আপনি 21 একক বা খারাপ দিয়েছেন এখনো, কয়েন একটি সম্পূর্ণ অনেক. বরং, একটি যুক্তিসঙ্গত ব্যক্তির কি সম্ভবত কাজ করতে যাচ্ছেন তারা চলুন একটি $ 20 এবং তারপর একটি $ 1-বিল, এবং দখল আপনি যে ক্ষেত্রে শুধু দুটি বিল হাতে. MARIA: সুতরাং তারা কমান চাইছেন করছি তারা আপনাকে ফেরত দিতে যে পরিবর্তন. DAVID Malan: ঠিক. এবং একই চুক্তি কয়েন সঙ্গে, পাশাপাশি. আপনি অপরিশোধিত করছি, $ 0.50, বলে আশা করছি আপনি 50 পেনিসমূহ চান না. আপনি যদি এর পরিবর্তে দুই চান উদাহরণস্বরূপ আবাস. এখন, এই অনুমান করে কোষাধ্যক্ষ আছে প্রতি একক যথেষ্ট যে সে আপনাকে দিতে চাইবেন. কিন্তু আমরা আপনার অনুমান করার অনুমতি দেয় না সমস্যা যতটা. এবং লক্ষ্য শেষ পর্যন্ত, হয় সি কোড একটি অর্থগৃধ্নু আলগোরিদিম বাস্তবায়ন. তাই ব্যবহারকারী অনুমতি দেওয়া হয় কত টাইপ করতে তিনি পরিবর্তন বা সে ডলার দিয়ে অপরিশোধিত হয় এবং সেন্ট, ফ্লোটিং পয়েন্ট কিছু সম্ভবত মূল্য. এবং তারপর আপনি গণিত কি আছে এবং ভাল, algorithmically, জিনিসটা, কত কয়েন আমি দিতে পারেন আপনি ন্যূনতমরূপে আপনি দিতে পরিবর্তনের ঠিক যে পরিমাণ. কিন্তু একটি হতে যাচ্ছে এর এখানে কয়েক চতুর অংশ, ডান? পুরো আছে ভালো লেগেছে অনির্দিষ্টতা ইস্যু. MARIA: ঠিক. সুতরাং ফ্লোটিং পয়েন্ট মান অনির্দিষ্টতা আছে. আমরা আজ বক্তৃতায় এই বিষয়ে কথা বলেছেন? DAVID Malan: আমরা করেনি বক্তৃতায় শেষ সময়. আমরা অনির্দিষ্টতা সম্পর্কে বললাম. এবং আপনার ব্যবহারকারী প্রতারণা করতে চান না কত পরিবর্তনের সে অপরিশোধিত হয়. আর তাই, walkthrough, এ সমস্যা সেট নির্দেশের যত, পরিণামে, কিছু চিন্তা-ভাবনা কর আপনি ঐ প্রশমিত করতে পারেন কিভাবে অনির্দিষ্টতা ত্রুটি, সম্ভাব্য. এটা জন্য, অবশ্যই, এড়ানো সম্ভব আমরা যে বিষয়ে কথা বলছি ইনপুট. এবং, আসলে, pennies-- হয়তো আমরা, Zamyla মুলতবি করব, আমি সেখানে ঠাট জন্য, মনে. তাই শেষ পর্যন্ত, আপনি একটি পাবেন সমস্যার অগ্রগতি এই সপ্তাহে, যা প্রথম, খুবই ছোট তারপর মাঝারি, তারপর একটু বড়. কিন্তু তাদের সব ভবন ব্যবহার এই গত সপ্তাহে থেকে ব্লক, এই supersection থেকে, সমস্যা সেট নির্দেশের বেশুমার সম্পদ আপনি রাখে. কিন্তু এখনও, যদি এ সব সংগ্রাম, বিশেষ করে কম আরামদায়ক মধ্যে পূর্বে পটভূমি সঙ্গে, অফিস ঘন্টা আসা সোম ও মঙ্গলবার এবং বুধ ও বৃহস্পতিবার. মাধ্যমে আলোচনা CS50 যাও যান অবশ্যই এর ওয়েবসাইট, যার মাধ্যমে আপনি চ্যাট করতে পারবেন কর্মী এবং সহপাঠীদের সঙ্গে. কিন্তু শেষ পর্যন্ত, আমি মনে করি ভাল উপদেশ মাত্র তাড়াতাড়ি শুরু হয়. এটা বর্গ ধরনের নয় যে আপনি বুধবার psets শুরু করা উচিত রাতে, অথবা খারাপ বৃহস্পতিবার রাতে. MARIA: আমার ভাল উপদেশ সোমবার শুরু করেছেন. DAVID Malan: সোমবার. তাই আপনি যদি কোন already-- শুরু করেন নি তাহলে. কিন্তু না, এমনকি যদি না সোমবার, এরপর মঙ্গলবার. ভাল শুরুর দিকে. এবং যে কারণে অবশ্যই হয়, তাই অনেক দিন দেরী আছে আপনি একটি একটি বিট দিতে মানসিক চাপ আগে শুরু কিন্তু এখনও যাক কিছু সময় লাগতে যখন জিনিষ স্লিপ আপনি আশা আর. MARIA: আর আপনি ব্যবহার করতে চান অফিসে ঘন্টা খুব, আপনি যা করতে পারেন হিসাবে অনেক হিসাবে. DAVID Malan: কোন প্রশ্ন? ঠিক আছে. ওয়েল, কেন আমরা এখানে স্থগিত রাখা না?