[সঙ্গীত বাজাচ্ছি] বক্তা 1: এটি CS50 এবং এই সপ্তাহে দুটি শুরু. সুতরাং, এর ডান কিছু মধ্যে ডুব যে, তাই কথা বলতে বগী হয়. সুতরাং, ওভার এখানে CS50 আইডিই এবং আমি করেছি এই জঘন্য একটি পর্দায় অগ্রিম গুটান এটা. ভক্ষক সতর্কতা. ঠিক আছে. আমি এখানে এই পর্দা গুটান করেছি যা একটি খুব সহজ প্রোগ্রাম আছে. যদি আমরা নিচে স্ক্রল, অধিকাংশ এই শুধু মন্তব্য করা হয়, কিন্তু এখানে লাইন 13 সালে মাধ্যমে 17 আমরা একটি প্রোগ্রাম আছে. এটা যদি যার মানে, সিনট্যাক্স বৈধ আমি এটা কম্পাইল এবং চালানো হবে, এটা কম্পাইল কিন্তু এটা বগী. এই প্রোগ্রামটি মন্তব্য দাবি উপরে এটি 10 ​​বড় প্রিন্ট করা উচিত যে কিন্তু এটা না. আর আপনার অভিজ্ঞতার উপর ভিত্তি করে, বা শীঘ্রই সি সঙ্গে অভিজ্ঞতা হতে, আপনি কথাটি উপলব্ধি করতে পারেন এই, আসলে, বগী কেন? হ্যা? শ্রোতা: এটা শূন্য থেকে 10 থেকে যায়. যে 11 পুনরাবৃত্তিও করে. বক্তা 1: হ্যাঁ. সুতরাং, এটা শূন্য থেকে যাচ্ছে 10 মাধ্যমে আপ এবং সমান, অবশ্যই যা 11 পুনরাবৃত্তিও হয়. সুতরাং, এটা করতে যাচ্ছে মুদ্রণ, প্রকৃতপক্ষে, 11 বড়. সুতরাং, কম্পিউটার বিজ্ঞান কনভেনশন বেশীর ভাগ প্রোগ্রামিং ভাষায় শুধু প্রকৃতপক্ষে, হয় শূন্য এ গণনা শুরু, কিন্তু কিন্তু না মাধ্যমে আপ গণনা আপনি আসলে যত্নশীল যে মান. এখন, এই এক জিনিস যে একটু ব্যবহার করা হচ্ছে লাগে এবং ডিজাইন এমনকি ভূত, হিসাবে এটা অ প্রোগ্রামাররা বা অ কম্পিউটার এর জন্য বিজ্ঞানী ও শিশুদের জন্য মূলত, আছে ডিজাইন করা হয়েছে আপনি এক সময়ে সাধারণত গণনা শুরু. এবং যে সূক্ষ্ম. আপনি একেবারে গণনা শুরু করতে পারেন এক সময়ে যে আরো আরামদায়ক করে. এবং এবং 10 মাধ্যমে আপ গণনা, কিন্তু আপনি এই সপ্তাহে বিশেষ উপলব্ধি করব এবং যে অতিক্রম শুধু তাই প্রোগ্রামিং এ অনেক কিছু 0 প্রথম যে অনুমান আপনি যা গণনা সঙ্গে ডাক, আপনি এটি সহজ করতে যাচ্ছেন যে শুধু শুরু এই অভ্যাস মধ্যে পেতে শূন্য থেকে এবং মান পর্যন্ত বেড়ে চলেছে আপনার কাছ থেকে এই মুহূর্তে যত্নশীল যেতে পেতে. সুতরাং, যে সংশোধন করা হয়েছে. আমরা কম পরিবর্তন বা তুলনায় মাত্র কম সমান. এর কটাক্ষপাত করা যাক এখানে একটি দ্বিতীয় উদাহরণ. সুতরাং, এই প্রোগ্রাম খুব দাবি তার এটা মুদ্রণ উচিত যে উপরের মন্তব্য দশ বড়, কিন্তু এটা না. এখানে বাগ কি? সুতরাং, what-- এবং দুঃখিত, এর স্পষ্ট করা যাক. 10 বড়. প্রতি লাইনে কিন্তু এটা না. সুতরাং, আসলে, আমাকে এগিয়ে যান এবং কম্পাইল করা যাক এটা একটু কম, কারণ এই এক যে বিবরণ উপর ভিত্তি করে পরিষ্কার. আমার আমাদের উৎস ডিরেক্টরির মধ্যে যাওয়া যাক. বগী এক বিন্দু স্ল্যাশ, বগী এক করুন. ঠিক আছে, আমি 11 বড়, দেখতে যা এখনও সমস্যাযুক্ত কিন্তু তারা এক লাইনে সব করছি. এখানে ইস্যু কী? হ্যা. শ্রোতা: [শ্রবণাতীত]. বক্তা 1: হ্যাঁ. সুতরাং এই একটি তনিমা যে আপনি পারে আমার সংক্ষিপ্ত উল্লেখ উপার্জন প্রত্যাহার. এমনকি সবকিছু দেখায় যদিও সুন্দর, এবং এটা চমত্কারভাবে সংভৃত হচ্ছে, এবং এটা কোন ধরনের ভূত-মত দেখায় 16 এবং 17 হয় লাইনে, প্রকৃতপক্ষে, লুপ জন্য যে অধীন সংভৃত. যে অশরীরী এর. কম্পিউটার না জানেন বা সাদা স্থান দেখতে. হোয়াইট স্পেস শুধু জন্য আমাদের শৈলীগত, মানুষ. আপনি যখন কম্পিউটার জানেন না প্রকৃতপক্ষে কোঁকড়া ধনুর্বন্ধনী, যা হবে, এই সমস্যা সমাধানের জন্য. সুতরাং, আমরা আসলে মধ্যে গিয়েছিলাম এবং স্পষ্টভাবে এই কোঁকড়া ধনুর্বন্ধনী রাখা যে এই সমস্যা ঠিক করতে হবে কম্পাইলার স্পষ্ট উপার্জন আমি আসলে চালানো চাই যে আবার দুটি লাইন কোড, এবং আবার, এবং আবার. কিন্তু মৌলিক ব্যাখ্যা কি? রাইট? আমরা কঠোরভাবে প্রয়োজন হবে না কোঁকড়া, সব সময় ধনুর্বন্ধনী এটা সম্ভবত সেরা যদিও অনুশীলনের যাইহোক যে অভ্যাস ঢোকা এমনকি এটি দুটি যোগ যদিও আপনার কোড অক্ষর. কেন? শ্রোতা: [শ্রবণাতীত]? বক্তা 1: হ্যাঁ, তাই যে পুরাপুরি অন্য সমাধান. রাইট? এক নজরে আপনি না, বিশেষ করে যদি সত্যিই কি ঘটছে কৃতজ্ঞ. ওয়েল, নিশ্চয় আমরা পারা শুধু একবার এ দুটি জিনিস না এবং ঠিক পুরাপুরি সমস্যা এড়ানোর জন্য. আর যে, এখন সূক্ষ্ম, কিন্তু আজকের উদ্দেশ্যের জন্য কি বাগ জন্য ব্যাখ্যা? কেন এক লাইনে সব যারা বড় ছিল? হ্যা? শ্রোতা: এটা যদি মনে হয় যে আপনি, এক লাইন কোড আছে আপনি ঐ ছাড়া এটা করতে পারেন. বক্তা 1: ঠিক. শুধু এই একটি মানুষের কনভেনশন. মানুষ এটা একটি বুঝি যে একটু বিরক্তিকর বা ক্লান্তিকর সব কোঁকড়া ধনুর্বন্ধনী করা আছে আপনি কাজ করতে চান সব যদি সময় কোড এক লাইন চালানো হয়. সুতরাং, মানুষের সিদ্ধান্ত কিছু যে সূক্ষ্ম আগে যে সময়. আপনি আপনার লুপ সব লাগাতে চান তাহলে এই মত শুধু যে এক লাইন, যে একক সঙ্গে সূক্ষ্ম শেষে সেমিকোলন. কিন্তু আপনি শুধুমাত্র একটি যেমন নির্বাচন করতে পারবেন কোঁকড়া ধনুর্বন্ধনী ছাড়া লাইন. সুতরাং, যখন CS50 স্টাইল গাইড , আপনি নির্দেশ হিসাবে আপনি সাধারণত দেখতে পাবেন এটা ভাল অভ্যাস আপনি না হওয়া পর্যন্ত এই ঢোকা বেশ আরামদায়ক পথভ্রষ্টতা নিয়মাবলী এই ধরণের থেকে এবং আপনার নিজের বিষয় নিয়ে. এতক্ষণ আপনি সঙ্গতিপূর্ণ স্ব করছি. এবং আমরা যে বিষয়ে আরো আলোচনা করব পরে আজ একটু বিট শৈলী. সুতরাং, আমাকে অন্য একটি প্রোগ্রাম খুলুন. অবশ্যই, আমরা উচিত পাশাপাশি যে 10 ঠিক. আমাকে এগিয়ে যান এবং একটি বাস্তব লিখুন আমি ডাকবো যে দ্রুত প্রোগ্রাম, এর কথা বলা যাক, লুপ সি সুতরাং, লুপ সি ডট ডট এবং লুপ বিন্দু গ আমি আছে যাচ্ছি স্ট্যান্ডার্ড আমি অন্তর্ভুক্ত / হে ডট জ প্রধান অকার্যকর int. আর এখন এর মাত্র প্রকৃতপক্ষে, একটি লুপ, না দেওয়া. সুতরাং, 4 int- এ আমি শূন্য পায়. আমি 50, বলে, আর কম হয়. আমি প্লাস, প্লাস. এবং তারপর এখানে আসুন এগিয়ে যান এবং এফ প্রিন্ট করা এবং তারপর আমি প্রিন্ট করতে চান এবং একটি নতুন লাইন, সেমিকোলন. আর এই সব প্রিন্ট করা উচিত শূন্য থেকে সংখ্যা 50 পর্যন্ত? কয়েক মাথার দোষ দেই না. কয়েক টি. ইতিমধ্যে বাগ কি? আমি তৈরি সহজ ভুল কি? হ্যা. শ্রোতা: [শ্রবণাতীত]. বক্তা 1: হ্যাঁ. তাই এমনকি এটা দেখে মনে হচ্ছে, যদিও এই আমি মনস্থ কি মত, আমি যে প্রত্যাহার শুধু একটি ASCII অক্ষর. সুতরাং, আমি যদি বলি, মুদ্রণ "আই" এটা আক্ষরিক যাচ্ছে তাহলে, তাই আই মুদ্রণ আমি প্লাগ-ইন করার জন্য একটি স্থানধারক চান মূল্য আমি আসলে এই কাজ করতে হবে এবং তারপর প্লাগ ইন পরিবর্তনশীল তোমার মান. অন্যথায় আমি যাচ্ছি পর্দায় 50 আমি এর পেতে. সুতরাং, আমাকে এগিয়ে যান এবং এই লুপ করা, এটি চালানোর জন্য, এবং প্রকৃতপক্ষে, আমরা সব আছে আপ থেকে 49 উপায়. আমি সময় ফিরে স্ক্রল এবং আমি দেখতে শুরুতে সংখ্যা শূন্য. ওয়েল, আমি কি ধরনের স্ক্রু আপ? আমি কি এই না তাহলে কি হবে? শুধু আমি চিন্তা করছি না, কারণ. এই প্রোগ্রাম কি. একবার কম্পাইল ও রান করছি, কথাটি কি করতে যাচ্ছি? শ্রোতা: কিছুই. বক্তা 1: কিছুই. কেন হল? শ্রোতা: আমি শূন্য জন্য ডিজাইন করা হয়. সুতরাং, শর্ত মিথ্যা. বক্তা 1: হ্যাঁ, ঠিক. সকল কোড সিনট্যাক্স, সঠিক. এই, এই সঙ্কলন করা হবে কোড চালানো হবে, কিন্তু এটা না দরকারী কিছু করতে যাচ্ছে আমি আরম্ভ কারণ আমি শূন্য. আমরা তখন আমি 50 তার চেয়ে অনেক বেশী, পরীক্ষা? একথাও ঠিক যে, না, এটা না. সুতরাং লুপ এ সব executes না. আমরা কি কিছু করতে হলে একটু বেশি বেপরোয়া? আমরা int ভালো না তাই, আমি শূন্য কি পায়. আর এখন আমার সময় ব্যবহার করা যাক একটি শর্তের যা ছিল লুপ,. আমি বলতে যখন আমি তার চেয়ে অনেক বেশী সময় অথবা সমান শূন্য, এবং তারপর এখানে আমি লুপ করা, এগিয়ে যান এবং ফাইল সংরক্ষণ করুন. এবং আমি এটি চালানোর ওপর আছি. আমি কি এই দেখতে যাচ্ছি যখন একটি লুপ সঙ্গে সময়? হ্যা. শ্রোতা: একটি অসীম লুপ? বক্তা 1: একটি অসীম লুপ? হ্যাঁ, এবং কেন? শ্রোতা: এটা সবসময় শূন্য কারণ. বক্তা 1: হ্যাঁ. সুতরাং, আমি শূন্য হিসাবে সক্রিয়া করা হয়. অবশ্যই আমি সবসময় বেশী এর চেয়ে বড় বা ফলস্বরূপ 0 সমান. সুতরাং, আমি শুধু যাচ্ছি অসীম এই দেখুন. এবং এখন, এই একবার আসা পর্যন্ত করেনি বা দুবার কোর্স এর মাথা থেকে. কি যখন আপনি ঘটবে অসীম লুপ আছে? শ্রোতা: কন্ট্রোল সি বক্তা 1: হ্যাঁ. তাই কন্ট্রোল সি অবশেষে সাড়া দিতে হবে. দুর্ভাগ্যবশত, আমরা প্রিন্ট আউট করেছি লক্ষ ও ইতিমধ্যে শূন্যর লক্ষ তাই কম্পিউটার আছে ধরনের এগিয়ে সম্পর্কে পেয়েছিলাম. সুতরাং, এটি উপেক্ষা করা যাচ্ছে আমার একটি সামান্য বিট জন্য. কিন্তু আপনি শুধু কন্ট্রোল সি কয়েক আঘাত আপনার Mac বা PC কীবোর্ডের বার, অবশেষে এটি প্রকৃতপক্ষে, বিনষ্ট হবে. আর যদি না হয়, আমরা আপনাকে কিছু দেখাব দীর্ঘ যেখানে আপনি আগে কৌশল আসলে জোর করে প্রোগ্রাম মৃত্যুও হতে পারে, অনেক উইন্ডোজ এবং ম্যাক অপারেটিং সিস্টেম এর মত, যদি হতে চান. কিন্তু আমি কি অন্য কিছু চেষ্টা করা যাক. এর আসলে আই কি বাড়ায় চলুন শুরু করা যাক এই এখনও অসীম হতে যাচ্ছে? আমার এই রান. আর এখন আপনি ধরনের হতে পারে কি ঘটছে তা দেখতে. এই, খুব, একটি অসীম লুপ. কিন্তু এই একটি কৌতুক প্রশ্ন একটি বিট. এই চিরকালের সংখ্যার মুদ্রণ যাচ্ছে? শ্রোতা: নং বক্তা 1: নং কেন? আমি এখানে কিছু আমরা শুনেছি. হ্যা Someone--. শ্রোতা: আপনি যথেষ্ট না বিট সত্যিই বর্তা. বক্তা 1: ঠিক আছে. তাই আমি যথেষ্ট হবে না বিট বর্তা. সুতরাং, কি ঘটতে যাচ্ছে? এটা শুধু বন্ধ করার জন্য যাচ্ছে? শ্রোতা: কিছু সময়ে এটা the-- বন্ধ হবে বক্তা 1: এটা বন্ধ হবে লুপ নিচে, কিন্তু কেন? কি ঘটতে যাচ্ছে তার গণ্ডি খুব শেষে? হ্যা? শ্রোতা: আবর্তের হবে ফিরে ঋণাত্মক সংখ্যা যাও. বক্তা 1: ঋণাত্মক সংখ্যা, অথবা আমরা শুধু ইতিবাচক চিকিত্সা করা হয় তাহলে, শূন্য অন্তত. তাই হ্যাঁ, একেবারে. আমরা যে শেষ সময় দেখেছি পুনরাহ্বান যে আপনি যদি আপনার বিট এক অনেকবার বাড়ায় এবং আপনি ওভারফ্লো আছে সম্মুখ আপনার কোন int এর ক্ষমতা বা ডাটা টাইপ আপনি আছেন, যাই হোক না কেন চারপাশে মোড়ানো যাচ্ছে, সম্ভবত, দুটি ঋণাত্মক সংখ্যা. অথবা আপনি যে উল্লেখ করেছি যদি আপনার পরিসীমা শুধুমাত্র ইতিবাচক হওয়া উচিত আপনি কি করতে পারেন, যা, কিন্তু আমরা এখনো যে দেখা যায় না করেছি আপনি অন্তত ফিরে শূন্য এ শেষ পর্যন্ত হতে পারে. , যদিও আসলে হ্যাঁ. এই ক্ষেত্রে, নেতিবাচক সংখ্যা, যা ক্ষেত্রে লুপ খতম করা যাচ্ছে আমি না হয়, কারণ, আসলে, এর চেয়ে বড় বা সমান শূন্য এটা নেতিবাচক হলে. দুর্ভাগ্যজনকভাবে, কিভাবে দীর্ঘ আমরা অপেক্ষা করতে হবে? এই মুহূর্তে আমরা করতে চলেছি কি, 2 মিলিয়ন পর? আমরা 2 বিলিয়ন মত হয় আমরা অপেক্ষা করতে যাচ্ছেন যতক্ষণ না আমরা আসলে এই উপসর্গ দেখতে পারেন. কিন্তু আমরা, একটু দ্রুত এটা দেখতে পারেন আমরা বিভক্ত করা যেতে পারে, এর দেখতে দিন maybe--. চলে আসো. এমনকি মেনুর ধীরে ধীরে দেখা হয়. ঠিক আছে. সুতরাং, আমরা দীর্ঘ আগে যে ফিরে আসবো. এটা, একপাল এটা অভিশাপ সময়ের মধ্যে একটি ভাল. এটা কিছু ঘোষণা জন্য একটি ভাল সময়. সুতরাং, আপনি পছন্দ করতে পারেন YHack নিয়োজিত, একটি ঘটনা যা হচ্ছে ইয়েল আমাদের বন্ধুদের দ্বারা স্পন্সর. এবং, প্রকৃতপক্ষে, কিছু অবশ্যই এর ইয়েল টিএফএস এই সঙ্গে জড়িত. YHack একটি আন্তর্জাতিক হ্যাক একটি thon দ্বারা হোস্ট এবং অনুষ্ঠিত ইয়েল, 1,500 একসঙ্গে আনয়ন সংস্কারমুক্ত হ্যাকার এবং সব সৃজনী মত বিশ্বব্যাপী. এই সুদ হয় তাহলে, এখানে কটাক্ষপাত করা. এই প্রথম খুব সংক্ষিপ্তভাবে হয় তাহলে পর্দা, আজকের স্লাইড কটাক্ষপাত yhack.org জন্য URL এর জন্য. সুতরাং, একটি কয়েক দ্রুত ঘোষণা. সুতরাং, আনুষ্ঠানিকভাবে বিভাগে শুরু হবে আগামী সপ্তাহে উভয় এখানে এবং নিউ হ্যাভেন. আপনি কি চান একজন পেয়ে যাবেন মনে রাখুন ইমেইল পরে এই সপ্তাহান্তে সম্ভবত. এটি একটি দীর্ঘ সময় লাগে অধ্যায় CS50 জন্য, দেওয়া সব মানুষ বর্গ এবং সবাই কাছাকাছি চলন্ত. আর সব শিক্ষণ ফেলোগণ ' পূর্বপরিকল্পনা এখনও বোধ হয়, কিন্তু একটি ইমেইল জন্য এবং প্রয়োজন হলে খেয়াল রাখুন , আপনি পুনরায় অধ্যায় পারেন করা আছে পরে. Study.cs50.net. সুতরাং, আপনি একটি ধ্রুবক অংশগ্রহণকারীদের এমনকি যদি এ বিভাগে প্রায় সব বুঝতে পারি যে সম্পদ আমরা যে বিভাগে ব্যবহার CS50 এ সার্বজনিকভাবে উপলব্ধ করা হবে এখানে এই URL- এ গবেষণা. সুতরাং, আপনি কি পর্যালোচনা পুনরায় করতে চান তাহলে অথবা এগিয়ে পড়া অধ্যায় থেকে উপাদান, অথবা আপনি এটা কিছু সপ্তাহ করতে পারবেন না, যে নমুনা স্লাইড বুঝতে পারছি, এবং সমস্যা, এবং সংজ্ঞা, এবং আরো পাশাপাশি সব আছে. অফিস ঘন্টা, আজ পুনরায় শুরু এবং আগামীকাল, বুধবার, এবং বৃহস্পতিবার অবশ্যই এর পরীক্ষা সময়সূচী জন্য ওয়েবসাইট. এবং এছাড়াও, এখন চালু আজ CS50 আলোচনা হয়. সুতরাং, যদি এবং আপনার জন্য প্রশ্ন থাকে যখন একে অপরের বা কোর্স এর কর্মীদের জন্য, এবং সাধারণত কাজ হয় কিছু সমস্যা সেটে, আপনি অগত্যা না বুঝতে পারি যে আপনি পরের মানুষের চালু আছে. কেউ নেই আছে, আপনি যা করতে পারেন মার্কিন যুক্তরাষ্ট্র এবং সহপাঠীদের কাছে পৌঁছাতে অনলাইন এবং CS50 মাধ্যমে আলোচনা. সুতরাং, এই আলোচনাকে কোর্সের জন্য বোর্ড, এবং এই যে বুঝতে পারছি সম্ভবত সবচেয়ে ভালো আপনি যখন শুরু জায়গা অফিস ঘন্টার প্রশ্ন যখন বাইরে নির্দিষ্টভাবে. Lunches খুব এই সপ্তাহে আরম্ভ হবে. ফায়ার এবং আইস এ [শ্রবণাতীত] নিউ হ্যাভেন মধ্যে. অবশ্যই এর কটাক্ষপাত করা যাতে ওয়েবসাইট উত্তর দিতে. প্রথম প্রথম, যে আসা জন্য পরিবেশন. আপনি এই সপ্তাহে পেতে না থাকে আমাদের অনুমতি ছাড়া এই সবচেয়ে প্রতি শুক্রবার চেষ্টা করবো মেয়াদকালে. ঠিক আছে, এবং এখন শূন্য সম্পর্কে একটি শব্দ. আমরা সমস্যা লিখতে বিশেষত হিসাবে , এই সপ্তাহে, যা এক সেট এবং সমস্যা দুটি এবং তারপর সেট. কিভাবে আমরা পি সেট মূল্যায়নের সম্পর্কে যান এবং উহার মান নির্ণয়? সুতরাং, এটা আমরা ব্যবহার করে চার অক্ষ এর এবং CS50, এবং তারা এখানে এই চারটি করছি. একটি সাংখ্যিক উপর ধারন করে যা ব্যাপ্তি, পি সেট ঠিক কত ভিত্তিতে আপনি মোকাবেলা হয়নি. এটা প্রায় অনুরূপ হচ্ছে প্রচেষ্টা, এবং এটি ধরে রাখা আমাদের উপায় আপনি চেষ্টা অর্ধেক পি হয়নি , পি সেট সব সেট. এই নিখুঁত করার জন্য একটি সহজ এক যদি আপনি না স্কোর, প্রকৃতপক্ষে, পি সেট প্রতি দৃষ্টিভঙ্গি চেষ্টা. সুতরাং, এটা মনে রেখো. শুদ্ধি ঠিক যে হয়. নির্দিষ্টকরণ হিসাবে আপনার কোড কাজ করে এবং কর্মীরা 'নমুনা সমাধান হিসাবে আপনার কোড যে সুপারিশ আসলে, কাজ করা উচিত. আপনি এটা পূরণ না করে থাকেন, 50 চেক এখনো, পি হয় এক স্পেসিফিকেশন সেট এবং সাধারণভাবে আপনার আপনি হ্যাঁ / না উত্তর দিতে কিনা তা নিয়ে আপনার কোড সঠিক. অন্তত এখন পর্যন্ত আমরা চলুন হিসাবে এটা পরীক্ষার উপর ভিত্তি করে নির্ণয় করা আমরা যে প্রোগ্রামের মধ্যে চালানো হয়. ডিজাইন আরো অনেক বিষয়ী. এই কত ভাল লেখা আপনার কোড হল. আর এই কিছু হয় যে আপনি, সময়ের ভালো পাবেন এবং এটা কিছু যে আমরা করব এর আরও গুণগত মতামত প্রদান. এবং নকশা দ্বারা আমি বল দীর্ঘ আগে মানে আপনি কিছু পি এ প্রলুব্ধ হতে পারে loopingly কিছু করতে সেট, কিন্তু হয়তো তিন, কিংবা চারটি পর্যন্ত, বা আছে পাঁচটি নেস্টেড ফোর loops বা নেস্টেড যখন loops. যে সাধারণত উচিত আপনি ধামা ধরা করতে শুরু এবং সাধারণত হবে বিবেচিত খারাপ নকশা. আর তুমি ক্লাসে দেখতে শুরু করব এবং জিনিসগুলি বর্গ ভাল উপায় খুঁজে, জিনিসগুলি খারাপ উপায়ে যে সমস্ত সঠিক হতে পারে, কিন্তু না পারে অগত্যা ভাল ডিজাইন. একটি প্রবন্ধ লেখার মত. আপনি একটি প্রথম শব্দ লাগাতে সক্ষম হতে পারে ব্যাকরণগতভাবে শুদ্ধ হয় পৃষ্ঠা, প্রবন্ধ বা কিন্তু তারা আছেন থিসিস শুধু হয় সম্পূর্ণ অসংলগ্ন বা unpersuasive. আর তাই যে এনালগ হতে পারে খারাপ বা ভাল নকশা লিখিত বিশ্বের. এবং শৈলী, খুব, মোটামুটি বিষয়ী. কিন্তু অন্তত আমরা ঐক্য আশা. এই পাগল আপনার কোড হল. জিনিস চমত্কারভাবে সংভৃত হয়? আপনার ভেরিয়েবল ভাল নামকরণ করা হয় / সব হয় আপনার বন্ধনী ও কোঁকড়া ধনুর্বন্ধনী তারা উচিত হিসাবে প্রান্তিককৃত? আমরা যেমন একটি CS50 স্টাইল গাইড আছে কি সমস্যা সেট এ নির্দেশ করবে. যারা আরো আরামদায়ক হয় যে থেকে বিপথগামী স্বাগত এতক্ষণ আপনি স্ব সামঞ্জস্যপূর্ণ হওয়া. এবং এই খুব, একটি পাঠ আমরা বিভাগে শক্তিশালী করব. সুতরাং, এই সব যদি একটু ছিল দ্রুত, বুঝতে পারছি পি সেট এবং বিভাগে দীর্ঘ আগে আরো গভীরে যেতে হবে. কিন্তু সাধারণত আমরা আছে CS50 জন্য খুব কয়েক buckets. স্কোর স্কেলে সাধারণত হয় তিন এক, বা পাঁচ থেকে এক হাজার. আমরা আক্ষরিক করছি এবং আমি বলতে পারি না প্রথম সপ্তাহে এই যথেষ্ট. তিনটি ভাল. সুতরাং, যদিও, হ্যাঁ, তিন পাঁচটি সাধারণত, গাণিতিকভাবে, একটি 60 শতাংশ বা ডি বিয়োগ মত হতে পারে. তিন, আসলে, ভাল হয়. এবং, আসলে, আমরা আশা ক্লাসে সবচেয়ে ছাত্র প্রায় শব্দটি শুরু করতে দুই দুই, এবং তিনে, এবং হামাগুড়ি দিয়া. সম্ভবত তাই অনেক না ফাইভ্স. অনেকগুলি না বেশী. কিন্তু সাধারণত এ শুরু করার জন্য বক্ররেখা যে মিষ্টি স্পট তাই সময় অগ্রগতি হিসাবে, যে রুম জন্য আসলে আছে, উপরের অগ্রগতির জন্য এবং সুযোগ. সুতরাং, 60% সঙ্গে তিনটি সমীকরণ না দয়া করে. এটা আরো অনেক কিছু বিমূর্ত যে বেশী. আমরা নিরূপণ যা দিয়ে সূত্র নিম্নরূপ বাংলাদেশের পরিমেয়. শুদ্ধি সবচেয়ে মূল্যহীন. ডিজাইন একটু কম মূল্য. স্টাইল একটু কম মূল্য. আর এই সাধারণত সময় পরিমাণ ধারন যে প্রতিটি পেয়ে চলে যায় এই অক্ষ ঠিক. স্টাইল, সুপার সহজ সুপার দ্রুত করা উচিত, কিন্তু এটি একটি সহজ অভ্যাস সম্পর্কে অলস পেতে. শুদ্ধি নিতে পারে আপনি বেশির ভাগ সময়ে. কিছু বাগ যথাসাধ্য নিচে পশ্চাদ্ধাবন যে অতিরিক্ত ঘন্টা বা তার বেশি সময় নিতে এবং তাই, স্কোরিং পরিণামে যে ধারন করে. আর তাই, এখন আরো একটি গুরুতর শব্দ. এবং CS50 আছে যেহেতু পার্থক্য, ভাল জন্য বা খারাপের জন্য, হচ্ছে সম্ভবত ভাল পরিচিত একাডেমিক এর বিষয় নিয়ে সবচেয়ে অন্য কোন কোর্স চেয়ে সততা. এবং প্রকৃতপক্ষে, এটা আমার জ্ঞান হয় যে আমরা, দুর্ভাগ্যবশত, আরো ছাত্র পাঠাতে শাস্তিমূলক উদ্দেশ্যে ফলে প্রতি বছর. সুতরাং, পূর্ণ স্বার্থে প্রকাশ, এর সংক্ষিপ্তভাবে কথা বলুন CS50 মধ্যে যায়, এবং আপনি কি কি সম্পর্কে করতে পারেন, এবং কি আপনি মনোযোগী হতে পারে. সুতরাং, এখানে যেহেতু 2007, যখন আমি অবশ্যই উত্তরাধিকারসূত্রে পাওয়া বিজ্ঞাপন বোর্ড মামলার সংখ্যা হয়. বিজ্ঞাপন বোর্ড হার্ভার্ড এর শাস্তিমূলক হয় শরীর, অথবা এখন সম্মান পরামর্শ, যা করার ক্ষেত্রে যখন ডাকা হয় ছাত্র যে অবশ্যই এর কিছু পাঠ্যসূচি অযৌক্তিক বিবেচনা করে. কোন বাস্তব প্যাটার্ন আছে এখানে, আমি বলতে হবে. এটা ধরে ওঠানামা বছর কিন্তু সাধারণত এই সংখ্যা উল্লেখ করা হয় যে ক্ষেত্রে. ছাত্র সংখ্যা জড়িত হয় যে? এটা খুব পরিবর্তিত হয়. জন্য সাধারণত, গত বছরের হার্ভার্ডে উদাহরণস্বরূপ, 29 ছাত্র তাই কথা বলতে এ্যাড boarded, ছিল. তাদের বর্তমান শিক্ষার্থীদের 29, তাদের পূর্বে শিক্ষার্থীদের দুই, যারা সহযোগী ছিল কিছু অপ্রীতিকর ভাবে. এবং তারপর শর্তাবলী শতাংশ, এটা সাধারণত প্রায় 3% এর ক্লাসের যে, দুর্ভাগ্যবশত, এই ধরনের সিদ্ধান্ত তোলে. সুতরাং, গত বছর তা 3.5% ছিল CS50 এর ছাত্র শরীরের যাতে কথা বলতে এ্যাড boarded, ছিল. সুতরাং, এই সব কি মানে? আমরা আসলে কি করবেন? সুতরাং, পূর্ণ প্রকাশের জন্য, আমরা একেবারে, কম্পিউটার বিজ্ঞানী, আমাদের নিষ্পত্তি সফটওয়্যার টুলস আছে এবং এটা সততা, আমাদের জন্য খুব সহজ, না যারা এর যে অন্যান্য সহপাঠীদের এই লাইন পারাপারের তুলনা ক্রুশ দ্বারা চিহ্নিত করা ভাষার জমা ভাষার বিরুদ্ধে এই বছর গত আট বছর ধরে জমা. সফটওয়্যার এই আছে. এবং শেষ পর্যন্ত এটি এর সিদ্ধান্ত নেন যে মানুষের চোখ কিছু পড়ুন কিনা বা না আরও ফয়সালা জন্য কোন ব্যাপার, কিন্তু সফটওয়্যার অবশ্যই সাহায্য করে. আর এই উন্মুক্তভাবে, আমি কেন মনে হয় আমরা CS50 মধ্যে যেমন প্রচুর সংখ্যক আছে. এটা CS50 কারণ নয় ছাত্র বা CS ছাত্রদের আরো সাধারণত কোনো কম সৎ অন্য কোন ছাত্র চেয়ে, এটা ঠিক আমরা আছে টুলস এবং কৌশল যা দিয়ে এই প্রথম পাস নিতে. কিন্তু আমরা নজর রাখতে না এই জিনিস সব উপর এর পাশাপাশি, আবার স্বার্থ করা হচ্ছে যে কাজের স্বীকৃতি বর্গ একটি সুপার বেশীরভাগের মধ্যে. এবং অবশ্যই এর নীতি একাডেমিক সততা, এটা অনুচ্ছেদ একটি গুচ্ছ যদিও বুলেট একটি গুচ্ছ সঙ্গে দীর্ঘ যে এটা, আশা বেশ পাঠযোগ্য সত্যিই যুক্তিসঙ্গত হতে ফুটাইয়া. আর চলতি সেরা নিয়ম যে আমরা পাঠ্যক্রম মধ্যে আপ অফার এই, সারাংশ সব কাজের যে আপনি আপনার নিজের হতে হবে এই কোর্সের জমা. এবং প্রকৃতপক্ষে, প্রায় সব যারা মামলা শাস্তিমূলক ব্যবস্থা জন্য উল্লেখ এটা এ কারণে কিছু ছাত্র দেরী এক ছিল রাতে সাধারণত তার কোড পরিণত সরাসরি একটি সহপাঠী উপর, যারা তারপর এটি গৃহীত তার সম্পূর্ণতা বা উল্লেখযোগ্যভাবে উহার. কিন্তু সত্যিই, এই ঠিক আছে. এবং প্রকৃতপক্ষে, অফিসে কাগজের ঘন্টা, স্লিপ আপনি অফিসে এসে যদি আপনি হস্তান্তর করে থাকেন ঘন্টা গত সপ্তাহে যতটা উত্সাহ দেয়. আপনি একেবারে আছেন স্বাগত এবং পরামর্শ সহপাঠীদের সঙ্গে সমস্যা সেট নিয়ে আলোচনা করার জন্য. হুমড়ি যখন একে অপরকে সাহায্য করার. কিন্তু সাধারণত চলতি শাসন করবে এই হতে পারে, "আপনি সাহায্যের জন্য জিজ্ঞাসা করা হয় যখন, আপনি অন্যদের আপনার কোড দেখাতে পারে, কিন্তু আপনি তাদের দেখতে না পারে. " সুতরাং, অন্য কথায়, আমি যদি কিছু পি সেট দিয়ে সংগ্রাম এবং আমি সেখানে বসে আছি হলের ডাইনিং, বা লাইব্রেরি, বা শ্রেণীকক্ষে কিছু দোষ খুঁজে বের করার চেষ্টা করুন, আমি অবশ্যই দেখাতে পারেন আমার পর্দায় আমার কোড ব্যক্তি পরের বসা আমার অবশ্যই কর্মী, কিন্তু একটি সহপাঠী. কিন্তু সমাধান যে যদি আমার সহপাঠী, ওহ, প্রস্তাব এখানে শুধু কটাক্ষপাত কি আমি লাইন অতিক্রম করে, করেনি. আর আমি যে সাধারণত বলতে সাহস করবে বেশির ভাগ মানুষের জন্য যুক্তিসঙ্গত জিনিস খুব সহজেই লাইন স্পট. আর তাই, পাঠ্যসূচি দেখতে অধিক বিবরণের জন্য. আরো এবং এখন এক বিতর্কিত দিক এবং CS50 পাঠ্যক্রম আমি চিন্তা যে এখানে এই সিদ্ধান্তে উপনীত হয় কথা বলতে হবে তথাকথিত খেদ দফা হল. সুতরাং, এখানে সমস্ত সূক্ষ্ম মুদ্রণ আছে. তবে সাধারণভাবে আমরা দেখেছি গত 8 প্লাস বছর ধরে প্রকৃতপক্ষে, প্রায় সব CS50 এর, যে একাডেমিক অসাধুতা ক্ষেত্রে শুধু দরিদ্র ফলাফল হয়েছে গভীর রাতে সিদ্ধান্ত. মানসিক চাপ, ফলে এর ফলে খাদক অভাব, ঘুমের অভাব, অনেকগুলি পি সেট, অনেকগুলি সময়সীমা, অনেকগুলি অঙ্গীকার. একটি 2:00 am পর্যন্ত নির্মাণের স্ট্রেস, 3:00 AM না, একটি নির্দিষ্ট সময়সীমা looming সঙ্গে 4:00 পূর্বাহ্ণ. এই ক্ষেত্রে সবচেয়ে ছাত্র শুধু খারাপ সিদ্ধান্ত করেছেন তারা খুব ভাল দু: খ প্রকাশ হতে পারে পরের দিন সকালে মিনিট পরে যদি না হয়, কিন্তু গত বছর পর্যন্ত ছিল কোন মুক্তির ভালভ যে এই ছাত্র পারা আসলে মোকাবেলার খুলুন হচ্ছে ছাড়া ভয় সমস্যার মাথা পুরাপুরি কলেজ থেকে বুট. এবং, প্রকৃতপক্ষে, আমরা চালু এই খেদ দফা গত বছরের, যা বলছেন মধ্যে যে যদি 72 ঘন্টা, তিন দিন, কিছু লাইন উত্তরণ সিলেবাসে নির্ধারিত আপনি অবশ্যই এর এক করতে এগিয়ে আসবে মাথা এবং আমরা এটা সম্পর্কে একটি চ্যাট থাকবে. এখনও পর্যন্ত হতে হয় কিছু কি থেকে ফলাফল, বিপরীত বিপরীত রিপোর্ট করা. কিছু ফলাফল এখনও আছে যে অবশ্যই দ্বারা মামলাযোগ্য নয় সাধারণত একটি পি সেট zeroing বা অন্য কিছু ব্যবস্থা গ্রহণ, কিন্তু আমরা, প্রকৃতপক্ষে, হবে এটা নিজেদেরকে হ্যান্ডেল এবং না এটা উচ্চ ফলাফল ছিল পড়ুন আরো অনেক গুরুতর হতে পারে. এবং, প্রকৃতপক্ষে, কি ঘটেছে শেয়ার করুন গত বছর, আট বছরের মধ্যে, এবং এখন , এই কোর্স অধ্যাপনা নয়টি বছর এবং বিভিন্ন নব সঙ্গে tinkering পরে, গত উপর বিভিন্ন ডায়াল বাঁক একাডেমিক সততা উপর কয়েক বছর, এবং তথ্য কোন আপাত প্রতি এইজন্য এমনকি ভালো বক্তৃতা প্রভাব, এই ভাল জিনিস অবলীলাক্রমে ছিল আমরা pedagogically চালু করেছি আট বছর ধরে CS50 মধ্যে এই লাইন. 19 ছাত্র এগিয়ে আসেন এই ধারা গত বছর. আমরা জন্য কোনো ব্যবস্থা নেয়নি যারা ছাত্র সাত, তারা ছিল নির্ণয় অকারণে চিন্তিত. তারা আসলে, না ছিল একটি লাইন পার, কিন্তু এটা একটি ভাল চ্যাট তবু আছে ছিল. আমরা স্কোর 11 zeroed যে জমা হয়েছে. এবং এক ক্ষেত্রে আমরা জিজ্ঞাসা একটি শিক্ষার্থী একটি সমস্যা সেট করতে. কিন্তু আরো আকর্ষক, সত্যি বলতে, এই 19 চ্যাটগুলি সাথে, যা আমি পথ চেয়ে বেশি ছিল তাদের প্রতিটি আছে বলে আশা হয়তো একটি 10 ​​মিনিট ঘণ্টাব্যাপী, এছাড়াও আনা সংক্রান্ত বিষয় নিয়ে একটি সংখ্যা আলোকে অন্বয়যুক্ত সমস্যা, বন্ধু সমস্যা, মানসিক স্বাস্থ্য সমস্যা আমরা তখন জড়িত যে, ছাত্র এর আশীর্বাদ, বাসকারী ডিন, বা বন্ধু, অথবা অন্য কোন সংখ্যা সমর্থন সম্পদ. যাতে এই পর্যন্ত একের পর ছিল আমাদের সময় সর্বোত্তম ব্যবহার সম্পর্কে এবং সেরা হস্তক্ষেপ এক. সঙ্গে বলেন যে, এটা কোন ছিল সনাক্তকরণ হারের উপর ইনপুট একাডেমিক অসাধুতা আরো সাধারণভাবে. আর আমি, বলে এই উপসেট সাহস ছাত্র গত বছরের ছিল একটি ডেমোগ্রাফিক যে আমরা আগে আগে চিহ্নিত না এবং আগে সঙ্গে সংযুক্ত ছিল না. আর তাই, এই ছিল বিস্ময়কর সাফল্যের গল্প তারা হালকা আনা হয়েছে, যদিও অনুকূল পরিস্থিতিতে কম. সুতরাং, এই মন রাখতে হিসাবে আপনি, সম্ভবত, কিছু দরিদ্র সিদ্ধান্ত নিজেকে গভীর রাতে, আশ্রয় এতক্ষণ আছে যে অবস্থায় ছাত্র হিসেবে আপ মালিক এবং এগিয়ে আসতে আমরা যা করতে পারেন, যাতে চ্যাট তজ্জাতীয় আছে এবং তা মোকাবেলা একটি উপায় যে শিক্ষাগত, এবং তারপর আমরা পরের দিন আমাদের পিছনে লাগাতে পারেন. আরও ঝামেলা ছাড়া, তাই, নিতে এই কথোপকথনের বন্ধ প্রান্ত, একপাল আপ হয় হয় কারণ মাত্র কয়েক মিনিটের জন্য বরফ বিরতি. এবং দুর্ভাগ্যবশত, তারা সব ঘুম করছি, কিন্তু কথা ছিল তা এখানে ঘটতে ছিল সবাই অনুমিত ছিল সম্ভ্রম এবং ধরনের শিথিল যে খুব ভারী কথোপকথন পরে. কিন্তু দৃশ্যত: আমি করা একপাল ঘুম. কিন্তু আপনি CS50 এর যান ওয়েবসাইট স্ল্যাশ একপাল, আপনি সব দিন লম্বা তাদের পর্যবেক্ষণ করা যাবে. বিশেষ করে হয়তো 2:00, অথবা 3:00, অথবা রাতে 4:00 পূর্বাহ্ণ সেখানে একটু চাপ ত্রাণ দেখতে. সুতরাং যে একপাল স্ল্যাশ. ঠিক আছে. না যে মজা ছিল? ঠিক আছে. সুতরাং, ফিরে কিছু কম্পিউটারে বিজ্ঞান, তাহলে আমি may. সুতরাং, আমরা শুরু যে শেষবার কবে শুধু প্রধান এ না খুঁজছেন যা ডিফল্ট ফাংশন, কখন সবুজ পতাকা, সমতুল্য ক্লিক কিন্তু আমরা সংক্ষেপে শুরু আমাদের নিজস্ব ফাংশন কিছু লেখা. এই ফাংশন এবং এ পর্যন্ত কেউ বিশেষ করে বড় বা মাংসল হয়েছে. আপনি ঐ বড় মধ্যে পাবেন ফাংশন সম্ভবত, পি 2 সেট, পি, 3 সেট স্পষ্টভাবে পি 4 এবং অনওয়ার্ড সেট. এই মুহূর্তে আপনার প্রোগ্রাম অধিকাংশ, অবশ্যই তাদের সব, পি না হলে সেট 1 প্রধান সম্পূর্ণভাবে কাজ করা যেতে পারে. আপনার প্রোগ্রামটি শুধুমাত্র যদি পাঁচটি লাইন, 10 লাইন, এমনকি 20 লাইন দীর্ঘ, পুরোপুরি এটা লিখতে যুক্তিসঙ্গত সব প্রধান এবং না বিজড়িত ওভার করতে আপনার কোড, কিন্তু আমরা আজ কি করছেন এবং অনওয়ার্ড এছাড়াও করার চেষ্টা করছে কিছু ভাল নকশা কৌশল পরিচয় করিয়ে তাই যে আপনার কোড আরো পায় জটিল এবং সমস্যা হিসাবে আপনি পেতে কঠিন সমাধান করতে চান এবং আরো আকর্ষণীয় আপনি, বাছাই করা, আপনার টুলবক্স সরঞ্জাম যা দিয়ে যারা ভাল সমাধান ডিজাইন. সুতরাং, আসুন এ দ্রুত বর্ণন ফিরে নিতে দিন আমার গত সপ্তাহে, থেকে এই প্রোগ্রাম যা ছিল ফাংশন শূন্য বিন্দু সি জবাবটা খুব, যে লক্ষ্য, এটা দুই সাথে এই মত দেখায় ফাংশন, প্রধান ও মুদ্রণ নাম. আর ফিরে অথবা সম্ভবত চিন্তা আজ রিভার্স ইঞ্জিনিয়ারিং, প্রবর্তনের জন্য প্রেরণা কী ছিল লাইন বলা 28 একটি ফাংশন, মুদ্রণ নাম? অথবা এই একটি উদাহরণ কি ছিল একটি নীতি বা Takeaway পদ, আপনি কি যদি. কিছু murmurs. কি? হ্যা তাই ফাংশানাল পৃথকীকরণ বলছে অভিনব উপায় ধরনের, আপনার প্রোগ্রাম পচা তার প্রয়োজনীয় ভাগে এবং তারপর যারা অংশ ব্যবহার একটি পুরো জুটা. সুতরাং, যে খুব ঠিক ধরনের ইতিমধ্যে একটি একগাল, কিন্তু এই সম্ভবতঃ একটি হল কিছু ভাল উদাহরণ শুধু বিমূর্ততা বলা. রাইট? বিমূর্তন এক হতে যাচ্ছে CS50 মধ্যে আবৃত্ত থিম এবং কম্পিউটার বিজ্ঞান আরো সাধারণভাবে এটা যেহেতু আপনি সমাধান করতে পারেন যা দিয়ে একটি কৌশল সমস্যা আরো কার্যকরভাবে আপনাকে কারণ আরো সমাধান লিখতে পারেন intuitively এবং একটি উপায় যে দাঁড়িপাল্লা এবং অন্যান্য ব্যক্তিদের দ্বারা বোধগম্য. আমি যে দ্বারা কি বোঝাতে চেয়েছেন? সুতরাং, তর্কসাপেক্ষ এটা অনেক বেশি পাঠযোগ্য এই মত একটি প্রোগ্রাম তাকান, এটা যদিও সুপার সংক্ষিপ্ত. আপনি লাইন 22 দেখতে যখন আছে যে নামক একটি ফাংশন, মুদ্রণ নাম. একা এই নামটি এটি কী বলছেন. যে ফাংশন দৃশ্যত লাগে তার প্রথম বন্ধনী মধ্যে ইনপুট, এবং দৃশ্যত কিছু আছে, সম্ভবতঃ নাম ছাপে. আর তাই, এমনকি আমরা যদিও একেবারে হতে পারে আমরা যা ছিল, এক সপ্তাহ আগে কি কাজ শুধু, এই কোড প্রকৃত লাইন নিতে এই পরিত্রাণ পেতে, এবং পেতে সব একসাথে এই পরিত্রাণ, আমরা ধরণের দূরে আনমনা একটি নামের মুদ্রণ ধারণা. আপনি প্রিন্ট Def ব্যবহার করছেন আমি পরোয়া করি না. আপনি যদি একটি আছে আমি পরোয়া করি না শতাংশ গুলি এবং এই একটি ব্যাকস্ল্যাশ এন অবিশ্বাস্যভাবে গোপনীয় বিবরণ আছে. আমি একটি হিসাবে যত্নশীল না কি প্রোগ্রামার একটি নাম মুদ্রণ করা হয়. আর তাই, কি ভাল উপায় যে কি একটি ফাংশন, মুদ্রণ নাম কল করে আর? আর তাই, যে প্রেরণার এক ছিল ভালো কিছু করছেন জন্য. কোড আরো পাঠযোগ্য, যার ফলে আরো পুনর্ব্যবহারযোগ্য, এবং স্ব বর্ণনামূলক. এখন, এর কটাক্ষপাত করা যাক আরেকটি উদাহরণ, যা, ফাংশন এক ছিল যা আমরা এখানে ধরে ছিল. সুতরাং, এই এক সম্ভবত আরও বেশি হয় বাধ্যকারী কারণ, এই ক্ষেত্রে, আমি ঠিক কোন int পেতে চাই না. আমি একটি ইতিবাচক কোন int পেতে চান. এবং এটি একটি ইতিবাচক পেতে সক্রিয় আউট আপনি legwork একটি গুচ্ছ করতে হবে int. রাইট? এটি একটি সহজ এক লাইন না মুদ্রণ নাম ছিল মত কল, যা নিঃসন্দেহে কম আকর্ষক. একটি ইতিবাচক int- পেতে, logically-- আমার এই গোপন নিচে ফিরে স্ক্রল যাক. তোমাকে যা করতে হবে? সব টুলস লেগেছে আমরা মুহূর্তে আছে স্ট্যান্ডার্ড থেকে প্রিন্ট Def ভালো জিনিস লাইব্রেরী এবং CS50 লাইব্রেরি থেকে আমরা, int- পেতে আছে, এবং ফ্লোট করুন দীর্ঘ দীর্ঘ স্ট্রিং পান, কিন্তু শুধুমাত্র এক, সঙ্গত, এই মুহূর্তে int- পেতে হয়. সুতরাং, একমাত্র হাতিয়ার আপনি যদি আপনার টুল বক্সে int- পেতে হয়, আমরা রূপায়ণকারী সম্পর্কে যেতে পারি এটা ইতিবাচক int- পেতে? শ্রোতা: একটি লগ নির্মাণ এবং পরীক্ষা কিনা তারা দিয়েছেন ইনপুট ইতিবাচক বা ছিল না. বক্তা 1: পারফেক্ট. ঠিক. আমরা আরেকটি টুল আমাদের এক বা দুই সপ্তাহের আগে থেকে টুলবক্স শুধু কনস্ট্রাক্ট looping হয়. আর তাই, হ্যাঁ, আমরা কিছুদিনের ব্যবহার করা হলে লুপ, বা যখন লুপ একটি বিক্ষোভ, বা ফোর আমরা সম্ভবত পার পেতে পারে লুপ কিছু আকারে যারা কোনো সাথে. আমরা পেতে ধারণা বাস্তবায়ন করতে পারে শুধু int পেতে ব্যবহার করে ইতিবাচক কোন int, এবং তারপর এটা কলিং রাখা আবার এবং ব্যবহারকারী জালাতন রাখতে যতক্ষণ না তিনি বা আসলে সে আমরা কি চাই, আমাদের দেয়. আর তাই এখন, এই প্রক্রিয়ার বিমূর্ততা একটি ইতিবাচক কোন int পেয়ে নামক একটি ফাংশন মধ্যে পান ইতিবাচক কোন int একটু বেশি হয় বাধ্যকারী এই তাকান কারণ. এই 10 প্লাস মত হয় লাইনের কোড যে একটি ইতিবাচক কোন int পেয়ে জড়িত হয়, এবং আমি সত্যিই আপনি এটা করবেন না যত্ন. আমি সমস্ত যত্ন আপনি যে হয় এটা করতে, এবং তাই আমি করেছি পারেন একটি পিছনে লুকানো এই সব বিস্তারিত বলা ফাংশন যে int- ইতিবাচক পান, প্রকৃতপক্ষে, লুপ এই সময় আছে. এবং বাক্য গঠন জন্য গত সপ্তাহে দেখতে সেখানে, কিন্তু এটা শুধু এন ঘোষণা, এবং সেটা ছাপে আউট ব্যবহারকারী যাও নির্দেশনা. এটা কোন int পেতে কল এবং তারপর এটি পরীক্ষা এই অবস্থায় আবার এবং আবার, এবং ব্যবহারকারীর সহযোগিতা আবার পর্যন্ত. তাই এখন, কয়েক বৈধতা চেক. সম্ভবত পরিচিত হলে কিছু প্রোগ্রামিং এর সঙ্গে, এন ঘোষণা করা হয় কেন, কেন আমি তৈরি করতে না যখন লুপ এর এন বাইরে? কেন লাইনে এটা 29 এবং না উদাহরণস্বরূপ মত 33, উপর. শ্রোতা: যখন আপনি কারণ ধরনের, বাইরে এটা ঘোষণা আরো, বৃহত্তর scope-- এর বক্তা 1: গুড. শ্রোতা: --and আপনি ডিক্লেয়ার এটা লুপের ভিতরে, [শ্রবণাতীত] এটা সম্পর্কে জানেন না, কারণ. বক্তা 1: ঠিক. আমি simplify-- পারেন তাহলে এটা পরিধি একটি সমস্যা. এবং সুযোগ প্রেক্ষাপটে বোঝায় যা একটি পরিবর্তনশীল বিদ্যমান বা উপভোগ্য. এবং এখানে চলতি চমৎকার নিয়ম যে হয় সাধারণত আপনি ডিক্লেয়ার অথবা তৈরি করার সময় একটি পরিবর্তনশীল আপনি শুধুমাত্র ভিতরে এটি ব্যবহার করতে পারেন নিকটস্থ কোঁকড়া ধনুর্বন্ধনী আলিঙ্গন. সুতরাং যে কি মানে? আমি পরিবর্তে, এই পূর্বাবস্থায় দিয়ে যেতে হলে একটু সহজ কিছু যে মনে. রাইট? লাইন 32 এইমাত্র আমার ক্লিনার দেখায়. আমি উভয় জিনিসগুলি করছি একবার এবং তারপর বরাদ্দ বাম হাতের ডান হাত. সমস্যা এখন উপর ভিত্তি করে সুযোগ যে সংজ্ঞা যে এন লাইন ব্যবহার করা যাবে না 31 এবং এই লুপ এর ভিতরে 32, কিন্তু যেখানে যে সংজ্ঞা দ্বারা এটা ব্যবহার করা যাবে না? লাইন কি? হ্যা. শ্রোতা: 35. বক্তা 1: 35. কখনোই না 35. এবং এছাড়াও যেখানে অন্যথায়? শ্রোতা: 34. বক্তা 1: এমনকি 34 কারণ এটি সমস্যাযুক্ত কোঁকড়া ধনুর্বন্ধনী বাইরে. তাই আসলে, এর কি দেখতে দিন. রাইট? এটি একটি সামান্য মনে হতে পারে স্বজ্ঞাত বা না পারে কিন্তু কি আছে দেখা যাক কম্পাইলার যখন বলার আছে আমরা আজকের সোর্স ডিরেক্টরিতে যান. ফাংশন এক করুন. হে ভগবান. ওয়েল, আমি অবশেষে সমাপ্ত , যে ভাবে করে. ঠিক আছে. এবং সমস্যা এখানে কি? তাকান অত্যন্ত গোপনীয়. কিন্তু এখানে আমি typed-- কি ফাংশন এক করা. এখানে করতে অস্বীকার কি, যা আসলে কম্পাইলার ঝনঝন শব্দ ব্যবহার ঐ পতাকার কিছু আমরা দীর্ঘ আগে আবার দেখতে পাবেন যে. এবং আবার, সবসময় চেহারা প্রথম ত্রুটি, এটা শুধু একটি Cascading থাকতে পারে, কারণ অন্যান্য লাইনের অর্থহীন প্রভাব. তাই কি এই মানে হল যে সমস্যা ফাংশন 1.c. হয় এটা লাইন 32 হয়. আর এটা কলাম, বা চরিত্র, 13 এ. সুতরাং যখন আপনার টেক্সট এডিটর যে সমস্যা যেখানে আপনি সনাক্ত করতে সহায়তা. আমি স্ক্রল আপ যদি তাই হয়, লাইন 32 কি? যে প্রকৃতপক্ষে এই এক যে ইতিমধ্যে হাইলাইট ডান এখানে অব্যবহৃত n পরিবর্তনশীল. কিন্তু এটা অব্যবহৃত না. আমি এটা ব্যবহার করছি. কিন্তু কম্পাইলার এর কারণ, বিভ্রান্ত এটা শুধুমাত্র এই সুযোগ ভিতরে বিদ্যমান. আর তাই আমি এটা এখানে ব্যবহার করা যাবে না. আমি এটা এখানে ব্যবহার করা যাবে না. এবং কম্পাইলার, অতএব, এমনকি আমি চেষ্টা করছি না যত্ন. এটা অব্যবহৃত হতে মনে হয় তার প্রকৃত সুযোগ মধ্যে. তাই আমরা করে সুযোগ প্রসারিত করতে পারেন ঠিক আমরা ব্যবসা শুরু করবো আপনার সঙ্গে int-n. আর এটা করে না, যদিও সম্ভবত, হিসাবে মার্জিত চেহারা, এবং আমরা একটি অতিরিক্ত লাইন গ্রহণ করছেন এখানে, এটা এখন সব জায়গায় সুযোগ আছে. সুতরাং আসুন আবার চেষ্টা করা যাক. সুতরাং ফাংশন এক করা. হলাম. এবং এখন আমি যদি আমি ফাংশন চালানো হলে এক, এর 10 নেতিবাচক করা যাক নেতিবাচক 1, 0, 1, এবং এটি প্রকৃতপক্ষে কাজ করে. তাই এখানে অন্য সমাধান আছে. আপনি জানেন কি? আমি সত্যিই এই সঙ্গে কি কুস্তি করছি তাহলে? আমি কোথায় জানি না এন যেতে অনুমিত এর. আপনি জানেন কি? আমি শুধু এটা করা যাচ্ছে না সব এখানে আমার ফাইল উপরের উপায়. এই, আপনি কি মনে করেন না কেন? হ্যা? শ্রোতা: [শ্রবণাতীত]. বক্তা 1: হ্যাঁ. তাই আমি বলতে গেলে, এটি গ্লোবাল করেছি. আপনি একটি পরিবর্তনশীল থাকে যে বাইরে অনুমোদিত হয় যে আপনার ফাংশন সব, এবং কোড, কম্পাইল করা উচিত এবং এন এখন পান না শুধুমাত্র অ্যাক্সেস করা যাবে কিন্তু এছাড়াও main-- ইতিবাচক কোন int যা নেই, কারণ একটু ঝামেলাপূর্ণ প্রধান ইতিমধ্যে একটি এন, তাই আরো শুধু একটা মুহূর্ত যে প্রথম কিন্তু এই খারাপ নকশা বিবেচনা করা হবে. ঠিক আছে. আপনি রিসোর্ট আছে যদি কিছু ওহ, আমি করব, মত শুধু এখানে কারণ এটি পেশ করা কোড কম্পাইল করা হচ্ছে সাধারণত ভাল অভ্যাস নয়. বরং আপনি চয়ন করতে চান সরু সম্ভব সুযোগ আপনার ভেরিয়েবল জন্য, যা অর্থ হবে আমাদের প্রাথমিক নকশা, সঙ্গে যাচ্ছে যা এখানে ডান. এখন একটি সরাইয়া হিসাবে, আপনি আছে না হলে এখানে পরিবর্তনশীল অভিন্নরুপে নামক একটি, উপায় সি আপাততঃ হ্যান্ডেল করবে এই খুব often-- ঘটবে না, যদিও এই যে এখনও হয় এখানে ঠিকভাবে জরিমানা. কিন্তু লাইনে এন এই সংজ্ঞা 22 গ্লোবাল এক ছায়া হবে. তাই এই এক মধ্যে কাজ করবে প্রধান, এবং গ্লোবাল এক আপনি যখন আসলে প্রয়োগ করা হবে ইতিবাচক কোন int কিন্তু যে আরও পেতে অন্য সময়, কিন্তু শুধু জানতে আগ্রহী তাদের জন্য. তাই সংক্ষেপে, আমরা এখানে এই স্থির করা. এখন অপর দুই টুকরা সরাইয়া জ্বালাতন করা যাক আমরা কোড এক শেষ লাইন তাকান আগে এই প্রোগ্রামে. ইতিবাচক int- পেতে. বাম দিকে তার শব্দ শব্দ int হয়. যে আপনি মনে করেন কি বোঝান না? এ পর্যন্ত আমরা বেশিরভাগই অকার্যকর দেখা করেছি. হ্যা? শ্রোতা: এটা টাইপ আপনার সম্পর্কে জিজ্ঞাসা করছি যে পরিবর্তনশীল. বক্তা 1: হ্যাঁ এটা টাইপ, আমার দিন না পরিবর্তনশীল বলে, কিন্তু মান টাইপ যে আমি ফিরে জিজ্ঞাসা করছি. এবং প্রকৃতপক্ষে, যে এখানে স্বজ্ঞাত, আশা. রাইট? আপনি একটি পেতে চান ইতিবাচক কোন int, আপনার কি মত একটি ফাংশান চান আমাদের গত সপ্তাহ থেকে স্বেচ্ছাসেবকদের এক টুকরা আপনি ফিরে হাতে এটা কোন int সঙ্গে কাগজ? আর তাই আমরা উল্লেখ করেছি যে এই ফাংশন তথাকথিত রিটার্ন টাইপ ইতিবাচক int- পেতে হয়. আমরা এটি করতে চান না করে থাকেন তাহলে আপনি অকার্যকর বলে, কিছু ফেরত. আপনি চান এটি ফেরত একটি স্ট্রিং, আপনি স্ট্রিং বলে. আপনি চান এটি ফেরত একটি float, আপনি ভাসমান বলতে. কিন্তু এখানে প্রযোজ্য শুধুমাত্র এক কথাটি আমি int পেতে ব্যবহার করছি কারণ, আমি তা সীমাবদ্ধ করছি, যদিও ইতিবাচক মান, কোন int ফিরে আসতে হয়. সুতরাং বিপরীতভাবে, এটা মানে কি যে প্রথম বন্ধনী মধ্যে একটা শূন্যতা আছে? প্রথম বন্ধনী কি না সাধারণত নির্ধারণ? হ্যা? শ্রোতা: এটা ফাংশন এর মানে আসলে এটা পেয়ে. বক্তা 1: এটা ফাংশন এর মানে আসলে কি পেয়ে? শ্রোতা: একটি ইনপুট. বক্তা 1: সবটা একটি ইনপুট. তাই প্রকৃতপক্ষে, তাহলে প্রথম বন্ধনী এখানে আপনি, অকার্যকর উল্লেখ যে শুধু আমি কোনো ইনপুট করতে চান না মানে. আমি সমস্যা নিজেকে নিয়ে কারবার করব. এবং প্রকৃতপক্ষে, আপনি করতে হবে না ইতিবাচক কোন int কিছু পেতে বলুন. আপনি বলে, ইতিবাচক int- পেতে, এবং যে ফাংশন বন্ধ হয়ে যেতে এবং তার জিনিস করতে হবে. কিন্তু আমি করেছি একটু কৌতুক আছে এর এখানে এই পুরো সময় বাজানো হয়েছে এই কোড প্রনয়ন নিশ্চিত করতে. যে ইতিবাচক পেতে int- এ লক্ষ্য করুন কোন int void-- 27 লাইন হয়. কিন্তু কিছু আপাতদৃষ্টিতে অদ্ভুত কারণে এটি লাইন 16 আপ এখানে এছাড়াও. এবং শুধু ভাল পরিমাপ জন্য আমি পুনরাবৃত্তি করব এই তাই এটি পুরোপুরি অভিন্ন. আমি বললাম করেছি প্রোটোটাইপ সঙ্গে একটি সামান্য এক লাইন মন্তব্য. আমি যে মুছে যদি সেটা হয়, এবং এখন ফাংশন 1, লিখতে করা পুন: প্রকাশ. ওহো. একটি মিনিট অপেক্ষা করুন. আমার ট্যাব কোথায়? হাহ? অপেক্ষা করো. ফাংশন করতে 1. আমরা শুরু করছি. ঠিক আছে. সঠিকভাবে তা সংরক্ষিত ছিল না. সুতরাং, আমি একটু আছে মনে হয় এখানে বাগ আমি নই, যেখানে মুহূর্তে ট্যাব নাম দেখছি. সুতরাং এখানে কি হচ্ছে? ফাংশন অন্তর্নিহিত ঘোষণা ইতিবাচক int- পেতে C99 মধ্যে অবৈধ. তাই আবার বিভ্রান্তিকর. সুতরাং এই পরিচায়ক কি? ওয়েল, এটা দেখা যাচ্ছে যে সি প্রশংসনীয় মূঢ়. ওয়েল, এটা প্রোগ্রামিং এর ভাষা, অথবা বরং কম্পাইলার. এটা শুধুমাত্র আপনি জানেন কি এটা শেখানো, এবং এটা কেবলমাত্র কিছু জানা যাচ্ছে আপনি আগে কখনও শেখানো হলে. অন্য কথায়, এ মুহূর্তে প্রধান, আমি আছি একটি ফাংশন কল করার চেষ্টা বলা ইতিবাচক int- পেতে. কিন্তু কম্পাইলার যাচ্ছে না যে ইতিবাচক int- পেতে বিজ্ঞপ্তি লাইন 26 পর্যন্ত বিদ্যমান. আর তাই কম্পাইলার কি শুধু হয় ত্রুটি যত তাড়াতাড়ি এটা 17 লাইন পায় হিসাবে, অন্তর্নিহিত ঘোষণা বলছে এর ইতিবাচক কোন int, পেতে যা বলার অপেক্ষা রাখে না শুধু একটি অভিনব উপায়, আমি না ইতিবাচক কোন int এখনো কি পেতে জানি. অন্যান্য প্রোগ্রামিং ভাষা এবং পাইথন এবং রুবি এগিয়ে চেহারা হতে পারে. সি না. আর তাই ভাবে আমরা ঠিক এই দুটি পদ্ধতির মাধ্যমে এক. উভয় ক্ষেত্রেই এক, সমস্যা হয় তাহলে যে পেতে ইতিবাচক কোন int, আগে দেখা হয় নি আচ্ছা, আমাকে শুধু উপরে টেনে নিয়ে যান যাক. যে এই সমস্যা ঠিক করতে হবে. কিন্তু সাধারণত, এটা বিবেচিত ভাল টেকনিক খুব এ আপনার প্রধান ফাংশন করা একটি মানবিক আপনার কোড পড়া, যাতে উপরের , প্রোগ্রাম কি জানে প্রধান সব সমাহিত করা হয় না, কারণ নীচে বা মাঝখানে পথ. এটা খুব শীর্ষে আছে. সুতরাং যে আদর্শ মনে হয় না. এবং আপনি আসলে পেতে পারেন পরিস্থিতিতে যেখানে মধ্যে এক ফাংশন কল যদি অন্য কল যা অন্য, আপনি যদি একটি বিষয় মধ্যে পেতে পারেন যেখানে ত্ত কথাটি, অন্য উপরে যেতে পারেন. এটা ঠিক করা সম্ভব নয়. আর তাই ভাবে কাজ করতে এই মাত্র নেওয়া হয় প্রায় ফাংশন এর স্বাক্ষর, তাই speak-- করতে এটা declared-- যেখানে প্রথম লাইন এবং শুধু কপি, এ পেস্ট কোঁকড়া ধনুর্বন্ধনী সঙ্গে উপরে, কিন্তু না শুধু একটি সেমিকোলন দিয়ে. এটা একটু ইঙ্গিত মত কি আসতে হল এর. এবং সত্য, এই সময় সব যখন আমরা প্রমিত io.h ভালো জিনিস দেখা যায় এবং cs50.h, একইভাবে, যারা বিন্দু এইচ ফাইল আছে অন্যান্য এগুলির নমুনা হয়. আর আমরা আগে যে দীর্ঘ দেখতে পাবেন. তাই সংক্ষেপে, আপনি একটি প্রোগ্রাম আছে একাধিক ফাংশন সঙ্গে একটি ফাইলে প্রধান ছাড়াও, আপনি প্রায় সবসময় তাদের ডিক্লেয়ার করতে চান শুধু তাদের প্রথম প্রণালী দ্বারা একটি সেমিকোলন দ্বারা অনুসরণ লাইনের, ফাইলের খুব শীর্ষে. যে সব একযোগে অনেক ছিল. কোন প্রশ্ন? কোন প্রশ্ন? ঠিক আছে. সুতরাং তারপর যান আসুন কাশি ভালো কিছু করার. ওহ. কিভাবে ফিটিং. ঠিক আছে. কাশি. তাই এখানে একটি গ একটি প্রোগ্রাম বাস্তবায়ন আমরা অন্য দিনে কি ভূত যে খুব সহজভাবে শুধু কাশি, কাশি, কাশির বলেছেন. ঠিক আছে. আর কেউ কয়েক বলেন দিন আগে সেখানে যে ইতিমধ্যে এই কোড পরিষ্কার আপ একটি উপায়. ঠিক আছে? যত তাড়াতাড়ি আপনি কপি করছি এবং সম্ভবত খারাপ নকশা পেস্ট. অন্তত একবার আমরা চার বা পাঁচটি পেতে বা 20 সর্দি এটা খারাপ অভ্যাস মতানুযায়ী. আমরা শুধু, পেস্ট কপি রাখা. সুস্পষ্ট সমাধান কী এই প্রোগ্রাম আপ পরিষ্কার করতে? শ্রোতা: লুপ. বক্তা 1: হ্যাঁ. সুতরাং একটি লুপ ব্যবহার. আর আমরা, কিছুদিনের একটি জন্য লুপ ব্যবহার করতে পারেন লুপ, পন্থা যে কোন সংখ্যার. এবং প্রকৃতপক্ষে, যে কি আমরা এখানে সংস্করণ এক না. আমি এর পরিবর্তে এটি পুনর্লিখিত করেছি cough.c সংস্করণ এক একটি জন্য-লুপ মধ্যে শুধু কাশি হতে. ঠিক আছে, কিন্তু আছে একটি শুরুর ধরনের কিভাবে সুযোগ আরো ভালো এই একটু ডিজাইন পাঠ আমরা একটি মুহূর্ত আগে পড়ানো আমি চেয়েছিল অনুমান আপাততঃ যা কাশি নামক একটি ফাংশন তৈরি করতে, এর মাত্র কয়েক মিনিটের জন্য বিবেচনা করা যাক কি এটা অনুরূপ যাচ্ছে. আমি কিছু করতে চান তাই আমি শুধু প্রয়োজন, কাশি থেকে ফাংশন ভিতরে মুদ্রণ চ ব্যবহার করতে. এবং নিশ্চয় আমি নই. এবং সত্য, এই সব সময়, যে কোনো সময় আপনি আছেন কিছু মুদ্রণ পর্দা, একজন প্রোগ্রামার পার্শ্বপ্রতিক্রিয়া যে কল করবে. এটা আমার হস্তান্তর না ফিরে কেউ একটি মান. এটা আমার কিছু পদক্ষেপ গ্রহণ করা হচ্ছে যে দৃশ্যত সুস্পষ্ট হতে পারে. কিন্তু এই ফাংশন কাশি, এটি কী জন্য ফেরত তার প্রথম লাইন উপর ভিত্তি করে কিছু? না, তার রিটার্ন টাইপ কারণ শুধু যার মানে, অকার্যকর এটা আমাকে ফেরত কিছু হস্তান্তর না. এটা কিছু কাজ করা যেতে পারে দৃশ্যত, কিন্তু এটা আমার হস্তান্তর না গত সপ্তাহে মত কাগজ এক টুকরা ব্যাক. এটা কোনো ইনপুট প্রয়োজন? না. আর তাই এখানে খুব অকার্যকর হবে. তাই এই খুব ধরনের হয় এই সমস্যা ওভার প্রকৌশল. রাইট? আমি আরো প্রোগ্রাম তৈরি করেছি কোড জটিল, আরো লাইন, আমি কোন এটি তৈরি করা হয়েছে আরো কার্যকরী, কিন্তু এই একটি পদবিন্যাস পাথর হতে হবে, সম্ভবত, একটি বৃহত্তর আরো জটিল কোড সঙ্গে প্রেক্ষাপটে. কিন্তু এই সম্পর্কে কি? আমি শুধু এ কী নেত্রপাত done-- আছে এই মন্তব্যটি দিকে না তাকিয়েই আছে কি ফাইলটি খুব শীর্ষে আমি মৌলিকভাবে আমার কাশির সঙ্গে এখানে কাজ আলাদা করে বাস্তবায়ন? হাঁ, ফিরে? শ্রোতা: আপনি যা করতে পারেন, তাই এটা করুন একটি অক্ষর বরখাস্ত আছে. বক্তা 1: হ্যাঁ. তাই এই ধরনের চমৎকার মতানুযায়ী. রাইট? এটা করার জন্য একটি বৈশিষ্ট্য যোগ মত আপনার প্রোগ্রাম বা এই ক্ষেত্রে আপনার ফাংশন,. এটা এখনও কিছুই ফেরৎ. এটি একটি চাক্ষুষ পার্শ্বপ্রতিক্রিয়া থাকতে পারে এটা মুদ্রণ চ কলিং কারণ. কিন্তু এখন আমি parametrized আছে ফাংশন, যা আমি গ্রহণ উল্লেখ করেছি মানে int- এ টাইপ ইনপুট এবং এন কল কিন্তু আমি চাই কিছু কল করতে পারে. বস্তুত, এটা ঠিক হতে পারে বার আরও স্পষ্ট করা. এবং তারপর আমি এখানে এই পরিবর্তন হতে পারে. কিন্তু পয়েন্ট কিভাবে আমি এই হল যে ইনপুট নেয় যে একটি ফাংশন তৈরি. আর আপনি আলোকসম্পাতের প্রত্যাহার হলে এক সম্ভবত অনলাইন মাধ্যমে হাঁটতে- throughs এর, চতুর্থ ও শেষ কাশি উদাহরণস্বরূপ, আপনি এখানে বিজ্ঞপ্তি পাবেন আমি সাধারণীকরণ করেছি আনমনা আমার কোড further-- ধরনের আরও এটা. কাশি ও হাঁচি পছন্দ, উভয় সম্পর্কে কিছু বলার অপেক্ষা রাখে না বা তৈরীর মত শব্দ কিছু. সংরক্ষণ করা হবে ভূত ব্লক সংশ্লিষ্ট. আর আমি এই সংস্করণে করেনি তাই কি, যা আমরা, এ শুধু নজরে পারেন , কাশি শুধু, [কাশি] বলছে ভালো হয় কাশি, এবং এদিকে, হাঁচি হয় বলার অপেক্ষা রাখে না, আমাকে [achoo]. আর তাই আমি সাধারণ করেছি যারা বাস্তবায়ন এখন প্রয়োগ করে এই জেনেরিক ফাংশন, আকর্ষণীয়, যা বলতে আজ এর উদ্দেশ্যে শুধুমাত্র এখনও এটা কারণ একটি রিটার্ন টাইপ নেই. কিন্তু এটা কিভাবে অনেক ইনপুট আছে? শ্রোতা: দুই. বক্তা 1: দুই. এবং যাতে আপনি করতে চান তাহলে দুটি আর্গুমেন্ট গ্রহণ করা, শুধু একটি কমা দিয়ে তাদের আলাদা. এবং তারপর আপনি করতে চান তাহলে যে ফাংশন কল, লক্ষ্য আপনি যে শুধু , কোট, উদ্ধতি, বলে কল প্রথম যুক্তি জন্য, সাধারণ এন, দ্বিতীয় যুক্তি জন্য. তাই আবার, আমরা শুধু এখন আছে বিল্ডিং ব্লক আমরা আসলে যা করতে পারেন, যাতে আমাদের নিজস্ব ফাংশন কিছু বাস্তবায়ন. ঠিক আছে. এই প্রথম কোন প্রশ্ন? তাই এখন আমি কি একটি স্তর যদি তাই ফিরে ছুলা. এবং লক্ষ্য শেষ পর্যন্ত, আগামী সপ্তাহে এর সমস্যা সেট cryptogrophy-- হতে যাচ্ছে তথ্য হাহাকার শিল্প. এবং বিশেষভাবে, তথ্য আপনি এনক্রিপ্ট বা ডিক্রিপ্ট থাকবে টেক্সট হতে যাচ্ছে. আমন্ত্রণ ও তাই তজ্জাতীয় প্রশ্ন আজ ভাল মত, কি ফণা নীচে যাচ্ছে সপ্তাহে শূন্য থেকে হওয়া ASCII অতিক্রম টেক্সট সঙ্গে, এবং কিভাবে আসলে আমরা যা করতে পারেন এটা নিপূণভাবে শুরু? তাই এখানে, Zamyla এর নাম. এবং টেক্সট, যে ইনপুট করা যেতে পারে পরিচিতির স্ট্রিং ফাংশন মত মধ্যে. আপনি একটি দেখতে যখন, এখন শুরু আপাততঃ টু Z-একটি-এম-ওয়াই-এল-ছাগু karigor.com মত স্ট্রিং প্রতিটি হিসাবে যদিও এটা নিয়ে ভাবতে শুরু ঐ অক্ষর একটি বক্সে হয় তার নিজস্ব. এবং প্রকৃতপক্ষে, একটি সপ্তাহ বা তাই এর সময়, এই বাক্সে প্রতিটি খুব নির্দিষ্টভাবে প্রতিনিধিত্ব যাচ্ছে মেমরি কামড় মেমরি একটি ব্লক. সুতরাং এই অক্ষর প্রতিটি, পরিণামে, 8 বিট প্রতিনিধিত্ব করতে হবে. আমরা আসলে কি ঘটছে দেখতে পাবেন আমার কম্পিউটার এ ফণা নীচে. কিন্তু না এটা যথেষ্ট শুধু, Zamyla তাকান এর যদ্দ্বারা প্রতিটি এই লেন্স, মাধ্যমে এইসব অক্ষর নিজস্ব বক্সে হয়. এবং সুন্দরভাবে যথেষ্ট সি আমরা যা করতে পারেন সরাসরি এই বাক্সে প্রতিটি অ্যাক্সেস. আপনাকে প্রথমে পেতে চান তাহলে তার নামের অক্ষর, সি সুপার সহজ আপনি সর্বশেষ পেতে চান চিঠি, সুপার সহজ সেইসাথে নতুন সিনট্যাক্স একটি টুকরা দিয়ে. তাই আমি CS50 মধ্যে এগিয়ে যেতে চলেছি আইডিই এবং স্ট্রিং শূন্য বিন্দু সি খুলুন এবং এখানে এই উদাহরণে, আছে নতুন জিনিষ কয়েক যাওয়া. সুতরাং প্রথম লাইন 19 সালে, আমরা করেছি এই before-- পেতে স্ট্রিং দেখা. তাই শুধু একটি দ্রুত বৈধতা পরীক্ষা হিসাবে, কেউ মৌখিকভাবে আপ দিতে পারে যদি একটি লোক এর ব্যাখ্যা কি লাইন 19 সালে ঘটছে. শুধু এই অনুবাদ ভালো লেগেছে ইংরেজি যে CS50 একটি রুমমেট না বুঝতে পারে. হ্যা. শ্রোতা: ব্যবহারকারীর ইনপুট একটি আছে স্ট্রিং একটি পরিবর্তনশীল এর মধ্যে এটি সংরক্ষণ এবং. বক্তা 1: গুড. ব্যবহারকারীর ইনপুট একটি স্ট্রিং আছে এবং একটি পরিবর্তনশীল এর মধ্যে এটি সংরক্ষণ. দারুণ. ডান দিকের উপর তাই পাশ, আমরা পেতে স্ট্রিং কল. একটি মান ফেরৎ যে বরাদ্দ করা হয়নি ডান দিকে থেকে বাম হাত যাও যে একটি পরিবর্তনশীল নামক গুলি পাশ একটি স্ট্রিং সঞ্চয় করার জন্য ডিজাইন করা. ঠিক. তাই এখন প্রতি, 22 অনলাইন লাইন 21 মন্তব্য, স্পষ্টত যে স্ট্রিং ছাপে প্রতি লাইনে একটি অক্ষর. কিন্তু কিভাবে? সুতরাং প্রথম সব, আমরা আমি 0 থেকে আরম্ভ. এবং তারপর কিভাবে আমরা পেতে পারি Zamyla এর নামের শেষে? ওয়েল, শেষে Zamyla এর নাম, আমি করতে পারে নিজে শেষ অক্ষর টাইপ তার একরকম নাম, বা এটা সংখ্যা. রাইট? আমরা ফিরে এখানে টু Z-একটি-এম-L-- যান ওয়াই-এল-ছাগু karigor.com তাই আমি টাইপ করতে পারে. এর সূচী কী Zamyla এর শেষ চিঠি? এই যদি 0-- একটি মত ভাষী programmer-- 0, 1, 2, 3, 4, 5, আমি, তাই প্রকৃতপক্ষে শেষ চিঠি heard-- Zamyla নামে ষষ্ঠ হয়, কিন্তু আমরা 0 থেকে গণনা কর, এটা সংখ্যা 5 হতে যাচ্ছে. তাই এখানে যে কথা মনে রাখবেন. একটা ফাংশনে আছে আউট এটি সক্রিয় সি বলা strlen, এবং দিনে ফিরে এবং এখনও এই দিনে, প্রোগ্রামারদের অনেক জন্য নাম সিঙ্ক করার জন্য চয়ন তাদের শব্দ ভালো যে শব্দ ফাংশন তারা বলার চেষ্টা করছেন. তাই strlen স্ট্রিং দৈর্ঘ্য হল. তাই কি স্ট্রিং দৈর্ঘ্য would Zamyla ইনপুট যখন এস আসতে? শ্রোতা: পাঁচ. বক্তা 1: জেড A-এম-ওয়াই-এল. ছয়. রাইট? Zamyla নাম দৈর্ঘ্য কত? রাইট? আর শুধু বাস্তবে, ছয় অক্ষর. রাইট? আর তাই যে আমাদের জন্য লুপ এর অর্থ কী? আমরা থেকে যেতে চলুন ছয় পর্যন্ত 0, যা আমাদের পাঁচটি পুনরাবৃত্তিও দিতে যাচ্ছে. আমরা প্রতিটি পুনরাবৃত্তির কি করবেন? ওয়েল, শতাংশ সি, কেউ অন্যান্য দিন অনুমান করেছিলেন, কি জন্য একটি স্থানধারক মানে? শ্রোতা: চর. বক্তা 1: শুধু একটি গৃহস্থালি. সুতরাং একটি একক চরিত্র না একটি স্ট্রিং মত একাধিক অক্ষর. এবং তারপর এখানে নতুন লাইন আমরা মুদ্রণ পেয়েছেন. এবং তারপর এখানে নতুন বাক্য গঠন. আপনি আমি-তম প্রিন্ট আউট করতে চান তাহলে স্ট্রিং গুলি অক্ষর, তাই কথা বলতে, আপনি কেবল বলতে পারেন স্ট্রিং গুলি নাম, এবং তারপর বর্গাকার বন্ধনী খুলুন, এবং তারপর একটি আমি সঙ্গে, বর্গাকার বন্ধনী বন্ধ মধ্যে. আর তা যে ধরনের চমৎকার এটা কোন ধরনের একটি বর্গক্ষেত্র মত দেখায় শুধু স্কোয়ার মত, Zamyla এর যা অক্ষর আছে যে ছবি অস্তিত্ব. আমি আসলে এই রান সুতরাং এখন, এর কি দেখতে দিন. স্ট্রিং 0 ডট স্ল্যাশ স্ট্রিং 0, এবং তারপর আমি আছি Zamyla নাম টাইপ করতে যাচ্ছে. আমি না, কারণ কোন প্রম্পট, নেই মুদ্রণ চ ব্যবহার, কিন্তু যে সূক্ষ্ম. আমি শুধু জানি কী করতে হবে. নিশ্চয় এটা কপি করে প্রিন্ট আউট Zamyla এর নাম, প্রতি লাইনে একটি. এখন চলুন একটু বেপরোয়া হতে দিন. আমি জানি না যে ধরুন সম্পর্কে যাও strlen এবং আমি মূর্ত, ঠিক আছে, কেউ একজন আছে যাচ্ছে 50 অক্ষরের মত চেয়ে বড় নাম. আসুন এগিয়ে যান এবং কম্পাইল করা যাক এবং এটি পুনরায় আরম্ভ, এবং তারপর, Zamyla টাইপ আবার. কথাটি, কি প্রোগ্রাম প্রিন্ট করার চেষ্টা করতে যাচ্ছি? জেড-একটি-এম-ওয়াই-এল-একটি তারপর মত 45 মেমরি অজানা বাইট. এবং প্রকৃতপক্ষে, আমরা ফিরে আসবো মেমরি এই ধারণা. কিন্তু শুধু যুক্তি, যদি Zamyla এর নাম, দীর্ঘ এই হল ছবি অনুযায়ী এখানে, আমরা কি বলছে প্রিন্টিং রাখতে, ছাপানো রাখতে হয়, রাখা প্রিন্টিং, প্রিন্টিং রাখতে, ছাপানো রাখতে 50th চরিত্র সব পথ, যা ঘটতে যাচ্ছে তা জানে না এমন. সুতরাং আসুন আসলে কটাক্ষপাত করা যাক. এর Zamyla টাইপ যাক. জবর. আমরা ভাগ্যবান. সাদা স্পেস শুধু আভা. ওহ. এক ভীতু চরিত্র আছে. এটা একটা অদ্ভুত প্রশ্ন ভালো ধরনের দেখায় সেখানে চিহ্নিত, কিন্তু, Zamyla নাম নেই. এর সত্যিই উদ্দাম পেতে চলুন শুরু করা যাক. আমরা 500 প্রিন্ট আউট সম্পর্কে কিভাবে অজানা মধ্যে ব্লক? আসুন এগিয়ে যান এবং এই করা যাক হিসাবে ভাল এবং তারপর পুনরায় চালান. আর এর কারণে, পূর্ণ পর্দায় দিন আমরা আরো স্থান দেখতে প্রয়োজন. Zamyla. আবার ভাগ্যবান. আমরা আরো বেপরোয়া পেতে সাহস? এর আরো বেপরোয়া পেতে চলুন শুরু করা যাক. 50,000 অক্ষর. নিঃসন্দেহে একটি ভাল ধারণা নয়. ঠিক আছে. স্ট্রিং 0 করুন. এটাই আমাদের শেষ ডেমো হবে. Zamyla. বিতৃষ্ণা. বিতৃষ্ণা. ঠিক আছে. সুতরাং আমার মেমরি, এই মুহূর্তে সত্যিই খালি যা আসলে ধরনের সুবিধাজনক. আমি ঠিক আছে চাচ্ছি পেতে চেষ্টা করছি. এবং এখন আমি শুধু বেপরোয়া পেতে যাচ্ছি. 500,000. পুরো পর্দা এর যাক Make--. লিখুন. Zamyla. আমরা শুরু করছি. আমি কোন ধারণা কি যে আছে হয়, কিন্তু এটা খারাপ শোনাচ্ছে. ঠিক আছে. এবং বাস্তবিকই, শীঘ্রই, যদি আপনি হন মধ্যে অফিস ঘন্টার মধ্যে সৌভাগ্যবান কয়েকজন এবং সমস্যা, আপনি এক সেট খুব ভাল এই সম্মুখীন হতে পারে. সেগমেন্টেশন ফল্ট আসলে একটি ভালভাবে সংজ্ঞায়িত অর্থ আছে. এটা ভুল কিছু মানে মেমরি সেগমেন্ট সম্পর্কিত. আর সাধারণ লোক এর ভাষায় বলতে গেলে, আমরা স্পর্শ মানে মেমরি আমরা আমার কম্পিউটার উপস্থিত RAM- র ব্যবহার আমি অ্যাক্সেস ছিল করা হবে. এবং যে উভয় কি শক্তিশালী এবং বিপজ্জনক সি সম্পর্কে আপনি যে আসলে অবাধ প্রবেশাধিকার আছে আপনার প্রোগ্রাম এর মেমরি সম্পূর্ণতা যাও বা বাইট বা র্যাম, আরো নির্দিষ্টভাবে. তাই এমনকি, Zamyla নাম যদিও , মাত্র ছয় অক্ষরের হয় আমি এখনও যে কোন স্থানে যেতে পারেন স্মৃতিতে আমি চাই. এবং একটি সরাইয়া, আপনি করেছি হিসাবে কখনও কিছু নিবন্ধ পড়া কিছু সম্পর্কে বছর ধরে সার্ভার বা কিছু প্রোগ্রাম কর্কশ বা হ্যাক হচ্ছে যে কিছু এর সুবিধা গ্রহণ একটি বাফার ওভারফ্লো বলা আমরা আসলে করব যে শোষণ যে, কয়েক সপ্তাহের মধ্যে সম্পর্কে কথা বলতে সাধারণত একরকম tricking উল্লেখ ভাল যাচ্ছে শুধুমাত্র একটি কম্পিউটার মেমরি সীমানা অতিক্রম এটা থাকা উচিত যে, ও সরস কিছু খোঁজার যে মেমরি একটি পাসওয়ার্ড সম্ভবত, একটি উপায় কিছু সিরিয়াল নম্বর circumventing এর পরীক্ষা, বা সাধারণভাবে পারবেন শুধু কম্পিউটার নির্বাহ হয় রত অভিপ্রেত ছিল না যে কোড. কিন্তু এর ফিরে আসা দিন মাত্র কয়েক মিনিটের জন্য বাস্তবতা এই প্রোগ্রাম ছিল যেখানে strlen সঙ্গে বাস্তবায়িত, এবং এখানে এক জিনিস আপ পরিচয় করিয়ে দিতে. এই শীর্ষ তিন লাইন মধ্যে নতুন কী? তাই স্ট্রিং ডট জ. এটা বলা এই লাইব্রেরি আছে দেখা যাচ্ছে স্ট্রিং ডট জ, বা স্ট্রিং লাইব্রেরি যার হেডার ফাইল, তাই কথা বলতে, আমার যে দেয় স্ট্রিং ডট জ হয় এই strlen ফাংশন অ্যাক্সেস. আমি যে বর্জন করে, কম্পাইলার কিছু আকারে আমাকে চিত্কার যাচ্ছে. কিন্তু আপনি কি জানেন? এখন সত্যিই সূক্ষ্ম পেতে দিন. লাইন 22, কিছু ধরনের আছে এর inefficient-- খারাপভাবে নির্মিত, কোড এই লাইন সম্পর্কে arguably--. কিভাবে ফিরে মনে জন্য-লুপ বাস্তবায়িত হয় এবং কি পদক্ষেপ আবার ঘটবে এবং আবার ও আরম্ভের again--, অবস্থা, কোড যে মৃত্যুদন্ড কার্যকর করা, তারপর বৃদ্ধি পায় বা পরিবর্তন, তারপর অবস্থা, তারপর কোড, তারপর পরিবর্তন, অবস্থা, তারপর কোড, তারপর তাই ঘোষণা পরিবর্তন, এবং. তাই কি সামান্য হতে পারে ঝামেলাপূর্ণ বা দুর্বল এখানে কাজ? হ্যা, নীল. শ্রোতা: Strlen হয় অনেক, অনেক বার বলা. বক্তা 1: হ্যাঁ. বলা হয় তাই strlen অনেকবার, কিন্তু তা হয় Zamyla নাম দৈর্ঘ্য প্রথমবার লুপ executes? শ্রোতা: ছয়. বক্তা 1: ছয়. ওয়েল, তার নাম দৈর্ঘ্য কি কোড executes দ্বিতীয় সময়? শ্রোতা: ছয়. বক্তা 1: ঠিক আছে. এটা এখনও ছয়. রাইট? Zarla নাম না আছে আমি থাকবো না, এমনকি যদি পরিবর্তন তার নামে চিঠি অংশ মাত্র এ. তাই আসলে আমি কার্যকরভাবে আছি এই প্রশ্ন জিজ্ঞাসা, কি Zamyla দৈর্ঘ্য, দৈর্ঘ্য কি Zamyla এর, Zamyla দৈর্ঘ্য কত, ছয় পৃথক বার, অথবা সাত এমনকি, শুধু মূঢ় যে উত্তরটি অপরিবর্তনীয় কারণ. তাই কি আমি আসলে পারা স্ট্রিং এক আপাততঃ না হয় আমি এখানে একটি বাড়তে ভাল সংস্করণ আছে. সেখানে whoops-- স্ট্রিং দুটি আমি আছে একটি বাড়তে ভাল সংস্করণ যাহাতে আমি পরিবর্তে শুধুমাত্র আপাততঃ না আমি একটি কমা দিয়ে এছাড়াও, 0 যাও তোমার নামক একটি দ্বিতীয় ভেরিয়েবল ডিক্লেয়ার n-- আমি আবার কোন int বলার আছে না. আমি আসলে, না করা উচিত. কিন্তু আমি এন বলে. এবং তারপর আমি এন আরম্ভ যাতে এন এর strlen, এখন কতবার strlen না মোট মৃত্যুদন্ড কার্যকর? শুধু একবার. তাই এই আমরা মানে কি আগে ভাল ডিজাইন সম্পর্কে. আসলে আপনার কোড, সঠিক একবার ফিরে যাচ্ছে এবং মাধ্যমে চিন্তা, আমি যেমন একটু ব্যবহার করছি মেমরি অথবা হিসাবে কয়েক সেকেন্ডের কম্পিউটারে সময় বা মিলিসেকেন্ড হিসাবে কিছু সমস্যা বাস্তবায়ন সম্ভব? আর আমি স্ক্রল যাচ্ছি আপ এবং শুধু বলবেন এই উল্লেখ আছে যে এই সংস্করণে নাল, কিন্তু আমরা আগে দীর্ঘ যে ফিরে আসবো. এখন জন্য কারণ, এর কটাক্ষপাত করা যাক যেখানে এই আমাদের নেতৃত্ব যাচ্ছে. তাই এক, এটা দেখা যাচ্ছে যে আমরা ক্ষমতা আছে এখন যে পৃথক অক্ষর তাকান, আমরা কিছু লিভারেজ পারেন 0 সপ্তাহ থেকে যে খুব গোপনীয় ছিল এবং সময়ে নীরস সাজান. কিন্তু এখন, এবং বিশেষ করে যখন আমরা এক সপ্তাহের মধ্যে ক্রিপ্টোগ্রাফি পেতে, এটা খুবই শক্তিশালী হতে যাচ্ছে. এটা কিছু যে দেখা যাচ্ছে তথ্য types-- ints এবং ফ্লোট এবং অক্ষর এবং স্ট্রিং এবং তাদের কিছু অন্যান্য বিষয় খুব সহজেই অন্য রূপান্তরিত করা যেতে পারে. উদাহরণস্বরূপ, আমরা সায়ীদ যখন ASCII সম্পর্কে কিছু সময় ago-- এখানে বড় হাতের অক্ষরে একটি এম মাধ্যমে, বিন্দু, বিন্দু, dot-- আমরা একটি ম্যাপিং আছে যে বলেন এইসব অক্ষর এবং সংখ্যার মধ্যে. এবং বাস্তবিকই, এটা সত্য পাশাপাশি ছোট হাতের অক্ষর জন্য. ছোট হাতের একটি 97 হয়, রাজধানীর একটি 65 হয়. এবং ASCII একটি সংখ্যা, আছে যা শুধু এই ম্যাপিং হয় যারা অন্যান্য অক্ষরের জন্য সিস্টেম. সুতরাং যে কি মানে? ওয়েল, আমি এগিয়ে এবং খোলা যেতে চলেছি বলা বাস্তব দ্রুত কিছু আপ মন্তব্য নেই যার বেশিরভাগ হওয়া ASCII 0,. এবং আবার অনলাইন আপনি সবসময় করতে পারেন মন্তব্যের মাধ্যমে নজরে. দেখব কি এই কাজ করতে যাচ্ছে. সুতরাং এটি একটি প্রধান ফাংশন পেয়েছিলাম. আমি শুধু সংখ্যা হার্ড কোডেড করেছি এখন, কারণ আমি কি করছি আমি জানি. আমি এখানে দেখতে চান কি জানি. আর আমি 65 আমি সক্রিয়া করেছি. আর আমি গণনা আপ করছি 26 মাধ্যমে অক্ষর মোট. আর আমি কি যাচ্ছি একটি সময়ে এক লাইন প্রিন্ট আপনি ব্যাখ্যায় পারদর্শী হয়ে থাক এই লাইন হাইলাইট? কি মুদ্রিত পরার? হ্যা. শ্রোতা: আপনি কি যাচ্ছেন চিঠি প্রিন্ট যে মানচিত্র অনুরূপ অক্ষর মান এবং পূর্ণসংখ্যা মান? বক্তা 1: ঠিক. আমি চিঠি প্রিন্ট চলেছি পূর্ণসংখ্যা মান সংশ্লিষ্ট, এবং তদ্বিপরীত, হিসাবে অনুসরণ করে. আচ্ছা এই, কেউ, তার আগে বলেন একটি গৃহস্থালি জন্য শুধু একটি স্থানধারক. এটা এখনও হয়. এই, অবশ্যই, একটি স্থানধারক একটি নতুন লাইন কোন int না. এবং এখন, আমার প্রথম মূল্য লক্ষ্য যে আমি যে প্লেসহোল্ডার জন্য প্লাগিং করছি শুধু আই আমি বলার অপেক্ষা রাখে না হয় না, বন্ধনীর মধ্যে, গৃহস্থালি আমি, যা বন্ধনীসমন্বিত গৃহস্থালি কম্পাইলার বলছে, আমি খাওয়াবো না এটি একটি সংখ্যা, যা কি হিসাবে. একটি প্রকৃত চরিত্র হিসেবে বিবেচনা. দ্বিতীয় মূল্য যেহেতু আমি প্লাগিং করছি in-- I-- শুধু একটি সংখ্যা হওয়া উচিত. তাই আমি এই প্রোগ্রাম কম্পাইল যদি তাই এই অ্যাপ্লিকেশনগুলি ASCII 0 করতে হয়, বিন্দু স্ল্যাশ হওয়া ASCII 0-- আমি শুধু পেতে এই কুশলী সামান্য চার্ট যে আমার সম্ভব সব দেখায় এটা চিন্তা না করেও ম্যাপিং মাধ্যমে বা আমার নিজের উপর এটা চিন্তা. এবং আমি এও প্রিন্ট আউট করছি হরফ লক্ষ্য, পরে কয়েক লাইন কারণ, আমি এছাড়াও এই ম্যাপিং প্রিন্ট আউট পাশাপাশি, শুধু হয় যা আপনি বুঝতে একবার বলে নীচে কি ঘটছে হুড, আপনি যা করতে পারেন স্বয়ংক্রিয়ভাবে পিছনে রূপান্তর. এবং বাস্তবিকই, তোমাদের মধ্যে যে ব্যক্তি যদি কখনও গ্রেড স্কুলে এই করেনি বা কেউ প্রায় শোনা mythically একটি নোট গ্রহণ এবং এটি পাশ তার বা ক্লাসে তার বন্ধু, কিন্তু আপনি scrambled একটি বি হয়ে ভালো করে অক্ষর, এবং বি সি, বা কিছু হয়ে যে বেশী জটিল, ভাল, আপনি কিভাবে যেতে হবে একটি ছাগলছানা হিসাবে যে বাস্তবায়ন? ওয়েল, আপনি শুধু ধরনের জানি একটি বি হয়ে, বি সি হয়ে, কিন্তু গাণিতিকভাবে, যে ছাগলছানা কি করছেন ছিল? আপনি কি প্রতিটি অক্ষর যোগ করা হয়েছিল? কার্যকরভাবে, 1. আপনি একটি বি পরিবর্তন যখন সুতরাং, যে ধরনের 66 থেকে 65 পরিবর্তন মতো যা গাণিতিকভাবে মাত্র 1 যোগ মানে. আর তাই আপনি বাস্তবায়ন করতে হলে যে সামান্য কূট কৌশল কোড আপনার শিক্ষকের জন্য, আপনি যে ঠিক ঠিক কি হতে পারে একসঙ্গে একটি একক অক্ষর যুক্ত করে. তাই দীর্ঘ আগে, আমরা করছি আমরা কিভাবে দেখতে যাচ্ছে আসলে যে সুবিধা গ্রহণ করতে পারেন সত্যি সত্যি একত্র এবং জট ছাড়ানো তথ্য. এরমধ্যে আমরা শুরু করেছি যে জানেন একটি দম্পতি অন্যান্য গ্রন্থাগার পরিচয় করিয়ে স্ট্রিং এক আজ এখানে. আর একটি খুব সহায়ক সাইট আশা করছি আপনি পাবেন , reference.cs50.net যা বলা হয় শিক্ষণ কর্মীদের একত্র করা হয়েছে, আপনি করতে চান তাহলে, যাতে কিভাবে strlen কাজ সন্ধান, আপনি টাইপ করতে শুরু করতে পারেন ফাংশন এর নাম, ক্লিক সেখানে strlen, এবং তারপর একটি কম আরামদায়ক ব্যাখ্যা প্রদর্শিত যাচ্ছে. অথবা আপনি অফিসিয়াল চান লিনাক্স-ভিত্তিক ব্যাখ্যা, আপনি আরো আরামদায়ক ক্লিক করতে পারেন উপরের ডান, এবং এটা এ একই তথ্য উপস্থাপন করা হবে, কিন্তু আরো জটিল পদ. যে একটি দরকারী সম্পদ আসলে সবকিছু কি জানেন. আমরা চলুন পরবর্তী সময় Ovaltine কটাক্ষপাত এবং আরো, এবং নিজেদেরকে পরিচয় করিয়ে ক্রিপ্টোগ্রাফি বিশ্বের. তার আগে, আমরা দেখতে পাবেন আপনি পরে এই সপ্তাহে. এবং এখন, Colton Ogden. বুধবার আপনি দেখতে. [সঙ্গীত বাজাচ্ছি] [সঙ্গীত বাজাচ্ছি] বক্তা 1: কি [বেতারসঙ্কেত] আপনি কি করছেন? বক্তা 1: আমি আমার ডেজার্ট খাচ্ছি? কিভাবে আপনি এটা খাওয়া? আপনার হাত দিয়ে? [সঙ্গীত বাজাচ্ছি]