ছিনিয়ে: ঠিক আছে. প্রথম বিভাগে স্বাগতম. আমি রব নই. JOSEPH: আমি জোসেফ আছি. ছিনিয়ে: সুতরাং আমরা ডান ইন ডুব দেব কথা বলার জন্য প্রথম জিনিস অ্যাপ্লায়েন্স হয়. তাই আশা করছি আপনি সবচেয়ে আছে ইতিমধ্যেই এটি ডাউনলোড করা. কিন্তু আপনি নির্দেশাবলী দেখতে পারেন cs50.net/appliance এ. ঈশ্বরের ওহ, এখন আমি আত্মসচেতন করছি. এখনও আমি এটা শুনতে. JOSEPH: ও, এটা মনে হয় এটা disoriented এর. ছিনিয়ে: তাই কিছু লোক থাকার হয়েছে এটি সঙ্গে বিষয়, তাই না হওয়া পর্যন্ত অপেক্ষা করবেন না সমস্যার শেষ মিনিটে ধার্য এবং চেষ্টা অ্যাপ্লায়েন্স এবং সমাধানের এটা কাজ করছে না যে দুঃশ্চিন্তা. JOSEPH: এবং কিছু কাজ না হলে এবং আপনি সাহায্য দরকার, আপনি যেতে পারেন cs50.net/discussion যেখানে আমরা যেখানে আপনি একটি ফোরাম আছে আপনার প্রশ্ন পোস্ট করতে পারেন. এবং আমরা অবশেষে তাদের কাছে পাবেন. ছিনিয়ে: ঠিক আছে. তাই এই কি অ্যাপ্লায়েন্স হয় মত দেখাচ্ছে. আবার, এটি শুধু একটি সম্পূর্ণ পৃথক এর অপারেটিং সিস্টেমের মধ্যে চলমান যাই হোক না কেন অপারেটিং সিস্টেম আপনি আপনার ল্যাপটপে দৌড়াচ্ছে. এবং আপনি পাবেন প্রধান বিষয় ব্যবহার করা gedit দ্বারা. তাই আশা করছি এই ইতিমধ্যেই আছে একটি পরিচিত সাইট হয়ে. টার্মিনাল. এবং আপনি ক্রোম চালাতে পারেন অ্যাপ্লায়েন্স মধ্যে. মানুষের একটি দম্পতি আছে ইন্টারনেট রিপোর্ট আছে যারা অ্যাপ্লায়েন্স মধ্যে কাজ করে না. এবং তাদের কিছু ঠিক অধিকৃত হয়েছে করা আছে অনুমিত হয় না অ্যাপ্লায়েন্স মধ্যে ইন্টারনেট. কিন্তু হ্যাঁ, আছে অনুমিত হয় ইন্টারনেট হতে. আমি ডান এখন এটা বলবো, কিন্তু এটি না সত্যিই কিছু বলতে চাচ্ছি. ইন্টারনেট কাজ না হয়, এই আপনি প্রয়োজন থাকে কি এটা ঠিক চালানোর. আপনি ইন্টারনেট বিষয় ভুগেন, না এটা মনে রাখবেন, শুধু এটিতে পোস্ট আলোচনা করুন, এবং আমরা যে রান, বলবো. কিন্তু ইন্টারনেট কাজ করা উচিত. সুতরাং শুধুমাত্র অন্যান্য বিষয় - হাঁ, কিছুই অন্য সত্যিই প্রাসঙ্গিক. কিন্তু আমি যে বাতলান চেয়েছিলেন - এই নীচের অংশে ডানদিকে অবস্থিত দেখুন. সুতরাং আপনার কিচেন সামগ্রী প্রতিটি উচিত একটি IP ঠিকানা আছে. এবং পরে সেমিস্টারে, এই আইপি ঠিকানা আরও প্রাসঙ্গিক হয়ে যাবে যখন আপনি, ওয়েব পি সেট কাজ করছি, কারণ আপনি একসেস করতে পারবেন ওয়েবসাইট আপনার কাছ থেকে কাজ করছি আপনার এই আইপি ঠিকানা ব্যবহার করে স্থানীয় ক্রোম. কিন্তু আমি আইপি ঠিকানা ব্যবহার করতে চান কি জন্য - এবং আপনি এই কাজ করতে হবে না, আমি শুধু তা নির্দেশ করতে চান - এখানে. তাই এই একটি টার্মিনাল উইন্ডোর হয় আমার ম্যাক, এই নেই এ সব অ্যাপ্লায়েন্স. এবং আপনি আপ করতে পারেন কি এই কমান্ড আছে. কিন্তু আমি সরাসরি SSH-যাচ্ছি আমার প্রয়োগ. আমি আইপি কি জানি না. JOSEPH: 168 - 168.224.1.0. ছিনিয়ে: তাই একবার আমি কাজ করছি এই সঙ্গে, লগ ইন এখন, মূলত, এই একটি অভিন্ন আমার অ্যাপ্লায়েন্স মধ্যে টার্মিনাল উইন্ডোর. তাই আমি প্রায় কাছাকাছি আসলে কাজ না অ্যাপ্লায়েন্স মধ্যে নিজে থেকে. আমি সবসময় এটা চলমান আছে কমিয়ে আনা ব্যাকগ্রাউন্ডে এবং তা SSHed. এই সঙ্গে সমস্যা আপনি যাচ্ছে না হয় সহজে gedit ব্যবহার পাবে সরাসরি এই থেকে. কিন্তু আপনি একটি বাস্তব শান্ত হতে চান হ্যাকার, তাহলে আপনি একটি করতে ব্যবহৃত পাওয়া উচিত যাইহোক কমান্ড লাইন টেক্সট এডিটর. সুতরাং Vim এবং Emacs এবং ন্যানো, এই সব বিভিন্ন বিকল্প. ন্যানো সবচেয়ে সহজ হতে থাকে. এবং আমার মনে হয় এটা কোন আছে মনে সিনট্যাক্স হাইলাইটিং. ওহ, না, এটা সম্পূর্ণই না. তাই আপনি, ন্যানো ব্যবহার করতে পারেন, কারণ এক বেশ সহজ করে. আপনি এই সমস্ত কমান্ড দেখুন নীচে. এই সামান্য গাজর চিহ্ন. আপনি আগে এটা দেখা না করে থাকেন, আপনি পাবেন সম্ভবত এটি এখন অনেকটা দেখতে. সাধারণভাবে নিয়ন্ত্রণ গাজর মানে, আপনার কীবোর্ড নীচের অংশে বাম মত নিয়ন্ত্রণ অক্ষর. তাই এখানে এটা আমাকে এখানে নিচে কহন এর - আমি ইন জুম যদি উহু, এটা কেটে না তাই কন্ট্রোল, এক্স কিভাবে আমি প্রস্থান করতে যাচ্ছি. এবং এটা আমি ওয়াই আঘাত বলেছেন হ্যাঁ, সঞ্চয় জন্য, এন জন্য নং সুতরাং যে ন্যানো এর. Vim এবং Emacs সামান্য বেশি হতে থাকে জটিল এবং অপ্রতিরোধ্য. কিন্তু আপনি এটি ব্যবহার করতে পারেন, এবং তারপর আপনি এটা পছন্দ করবেন. সুতরাং যে যে. JOSEPH: কি সেটা প্রয়োজন. ছিনিয়ে: হ্যাঁ. আপনার জন্য gedit ব্যবহার বিনামূল্যে সেমিস্টারে বাকি. সুতরাং কোনো যন্ত্র সংক্রান্ত প্রশ্ন? অথবা আপনি কি অন্য কোনো চিন্তা আছে আমার সম্পর্কে উচ্চারিত করা প্রয়োজন যন্ত্র? হ্যাঁ. বক্তা 1: আপনি মধ্যে SSHed যখন আপনার ব্যাপার হল, পাসওয়ার্ড অরূণ ছিল? ছিনিয়ে: হ্যাঁ. প্রায় কাছাকাছি সবকিছুর জন্য পাসওয়ার্ড অ্যাপ্লায়েন্স মধ্যে যাচ্ছে অরূণ হবে. স্পিকার 2: একটি বাস্তব আইডিই মত ইনস্টল করুন যন্ত্র উপর, এটা কাজ করবে? ছিনিয়ে: আমি অন্ধকার আছে কল্পনা একটি ফেডোরা সংস্করণ, যে ক্ষেত্রে, হ্যাঁ, আপনি তা করতে পারে. এটা সম্ভবত এটা সত্যিই মূল্য না. স্পিকার 2: ঠিক আছে. সুতরাং এটি সম্ভবত আমি চেয়েছিলেন সহজ অন্ধকার ব্যবহার, শুধু স্থানীয় ব্যবহার এবং তারপর আপলোড - ছিনিয়ে: ওহ, যে সম্ভবত অনেক সহজ. তবে আপনি এটি কাজ পেতে পারেন অ্যাপ্লায়েন্স মধ্যে. JOSEPH: এবং ক্যামেরার জন্য, প্রশ্ন ছিল, আপনি অন্য ইনস্টল করতে পারেন অ্যাপ্লায়েন্স ভেতরে আইডিই? ছিনিয়ে: অন্ধকার একটি হচ্ছে একটি IDE এর উদাহরণ. অন্য অ্যাপ্লায়েন্স প্রশ্ন? ঠিক আছে. সুতরাং আমরা এখন কমান্ড লাইন যান হবে ইন্টারফেস সংক্রান্ত বিষয়, তাই CLI. এবং আবার, আমি কাজ করতে যাচ্ছি এখানে, এই অভিন্ন কারণ একটি টার্মিনাল উইন্ডোর মধ্যে কাজ অ্যাপ্লায়েন্স মধ্যে. কিভাবে যে ফন্ট খুঁজছেন? যে যথেষ্ট বড় হয়? ঠিক আছে. সুতরাং কমান্ড অনেক আছে আপনি প্রায় কাছাকাছি ব্যবহার করতে হবে সেমিস্টারে সারা. নেভিগেট জন্য বড় দুই ম, তালিকা এই ডিরেক্টরির মধ্যে ফাইল; এবং সিডি, যাতে ডিরেক্টরি পরিবর্তন. তাই আমি তারপর ডেস্কটপে এবং পরিবর্তন করতে পারে একটি খুব সাধারণ প্যাটার্ন একটি থেকে সিডি হয় ডিরেক্টরি এবং অবিলম্বে ম ডিরেক্টরির মধ্যে কি. মানুষ মাঝে মাঝে বুঝতে পারছি না যে ট্যাব সমাপ্তির একটি জিনিস. সুতরাং মত সিডি, VH, এবং তারপর আমি ট্যাব আঘাত. আমি আউট টাইপ প্রায় কখনই সম্পূর্ণ জিনিস. এবং তারপর আমি ট্যাব আঘাত রাখতে হলে আবার, এটি স্বয়ংক্রিয়ভাবে করব আমার জন্য তালিকা শুরু. তাই আমি CD vhosts, স্থানীয় হোস্ট করতে পারেন. এবং যে ঠিক যাচ্ছে - যদি আপনি শব্দটি শুনে নি আগে, ডিরেক্টরি শুধু আরেকটি শব্দ ফোল্ডারের জন্য. তাই এখন আপনি দেখুন, যদি - এর উপরে যে আনা যাক. তাই এখন আপনি যে আপনি, বন্ধনীর মধ্যে দেখতে হলে একটু টিল্ড, স্ল্যাশ, vhost দেখুন, , স্থানীয় হোস্ট কাট. সুতরাং টিল্ড, যে বোঝায় আমার হোম ডিরেক্টরিতে. এটি আপনি একটি ডিরেক্টরি আছে আপনি লগইন করেননি SSH-যখন এ এটি আপনি যখন আপনি আছেন ডিরেক্টরি আছে আপনি একটি টার্মিনাল খুলুন. আপনি শুরু যেখানে এটা. তাই আমি আমার হোম ডিরেক্টরির ভেতরে আছি, এবং আমি vhost ভেতরে আছি আমার হোম ডিরেক্টরির ডিরেক্টরি ভিতরে. এবং তারপর আমি স্থানীয় ভেতরে আছি যে ভেতরে ডাইরেক্টরি হোস্ট. সিডি দিয়ে তাই কিছু অন্যান্য দরকারী জিনিষ - বা ভাল, সাধারণভাবে, তাই সবসময় বিন্দু বর্তমান ডিরেক্টরির বোঝায়. সিডি, বিন্দু খুবই অখাদ্য কমান্ড. কিন্তু যে পরিবর্তন হচ্ছে বর্তমান ডিরেক্টরির. পদ একটি আরো দরকারী এক সিডি বিন্দু, বিন্দু, যা হয় শুধু আপ এক ডিরেক্টরিতে যান. এবং মনে রাখবেন যে এই - আমি alias লেখা বলতে চাই, কিন্তু এই চিহ্ন, বিন্দু, এবং বিন্দু, বিন্দু, যারা কাজ আপনি প্রায় কাছাকাছি কোন কমান্ডের জন্য চলমান চিন্তা করা যাচ্ছে. আপনি হবেন যেখানে সুতরাং মত সিডি সম্ভবত সবচেয়ে ব্যবহার করে, কিন্তু এই না শুধু সিডি বোঝে যে জিনিষ. এটা বেশ অনেক কিছু আপনার সম্পূর্ণ এর কমান্ড লাইন থেকে বুঝতে পারে. প্রোগ্রাম অনেক বোঝেন বিন্দু এবং বিন্দু, বিন্দু. তাই অন্যান্য প্রয়োজনীয় বেশী - সিডি, ড্যাশ. সুতরাং যে আমাকে আনতে যাচ্ছে আমি এখনো সদস্য ছিল গত ডিরেক্টরি তাই মাঝে মাঝে আমি ভালো কিছু করব ওহ, আমি এখানে কাজ করছি. এবং আমি কিছু কিছু ত্রুটি দেখতে, এবং আমি গিয়ে তা তদন্ত যাবেন কোথাও কিছু র্যান্ডম নির্দেশিকা. এটা করব এবং যদি আমি জানি না সেখানে আমার দিন. এটা করবে না. আমি তখন আমি যাহা চান এই ডিরেক্টরির মধ্যে. বাজে কথা, বাজে কথা, বাজে কথা, বাজে কথা, বাজে কথা. এবং আমি আমি চাই, ঠিক আছে, মত ছিল ফিরে আমি যেখানে যেতে. সিডি, ড্যাশ, এবং এটি অধিকার ফিরে আমাকে এনেছে. তাই আমি অনেক নিক্ষেপ করা যাচ্ছে না আজ আপনি এ এর ​​মধ্যে. আমি আপনাকে মনে রাখার আশা করবেন না তাদের সব. এটি ধরনের শুধু জানি এর তারা যে বিদ্যমান. এবং তারপর পরে আপনার মত যখন উপর, হুম, আমি ফিরে যেতে চাই আমি ঠিক ছিল যে ডিরেক্টরি, ওহ, অপেক্ষা করুন, যে ভালো কিছু বিদ্যমান. আপনি শুধু টাইপ করতে হবে না আবার পুরো ডিরেক্টরি. JOSEPH: এবং অবশেষে আপনি শুধু ইচ্ছাশক্তি এবং উপর আবার তাদের ব্যবহার, এবং এটা পেশী মেমরি পরিণত করব. ছিনিয়ে: হ্যাঁ. আমি আগে বলেন সুতরাং কিভাবে, যে টিল্ড আপনার হোম ডিরেক্টরি হল. তাই আমি CD, টিল্ড পারেন. কিন্তু আমি এমন কি করতে হবে না কি যে আমি যদি - আমি তাই ডাইরেক্টরি ফিরে যাবেন এটি একটি অর্থহীন উদাহরণ নয়. আমি শুধু সিডি না কিন্তু, যদি যে এছাড়াও হিসাবে একই, আমার হোম ডিরেক্টরিতে যান. আমি কমান্ড, কে কি JOSEPH: আপনি পরিষ্কার টাইপ করতে পারেন, শব্দ, এবং এটা এটি পরিষ্কার করা উচিত. ছিনিয়ে: এবং আমি কন্ট্রোল, এছাড়াও মনে এল এছাড়াও এটি আছে. বিভিন্ন উপায়ে সুতরাং প্রচুর. আমি কিছু পার্থক্য আছে মনে করি যেখানে স্পষ্ট এবং কন্ট্রোল, এল আছি শুধু সত্যিই উপরে এটি এবং ধাক্কা এখনও আমি ফিরে স্ক্রল করতে পারেন. কমান্ড, কে আক্ষরিক ধ্বংস সবকিছু, এবং আপনি আপ ফিরে স্ক্রল করতে পারবেন না. অন্ততপক্ষে, যে এটা iTerm2 মধ্যে কাজ করে. আমি কিভাবে অন্য কিছু জানি না - ওহ. SSHing সঙ্গে,, আপনি উইন্ডোজ যদি তাই আপনি পুটিং ডাউনলোড করতে আছে চলুন উইন্ডোজ আছে না থেকে SSH-যাতে একটি অন্তর্নির্মিত SSH-হাতিয়ার মত আছে. Macs-থেকে, আপনি শুধু SSH-র সরাসরি করতে পারেন একটি টার্মিনাল উইন্ডো থেকে. ঠিক আছে. প্রশ্ন? ম সঙ্গে, তাই কিছু ব্যবহার করতে পারেন এই কমান্ডের সবচেয়ে হয় সঙ্গে - ভাল, আমি শুধু একটা চেষ্টা করবো. Ls, ড্যাশ, এল. সুতরাং ড্যাশ, এল আমরা চলুন কি ম একটি পতাকা কল. এবং এই কমান্ড অনেক পতাকা আছে আপনি তাদের কাছে পাস করতে পারে. তাই এই ক্ষেত্রে, ড্যাশ, এল একটি পতাকা হল যে আমার একটি সম্পূর্ণ দিতে তা বলে সকল তথ্য তালিকা এই ফাইল. সুতরাং আমরা ডেস্কটপ যে এখানে দেখুন 12:54 এ জুলাই 30 উপর পরিবর্তিত. ডাউনলোড সেপ্টেম্বর 6 এ পরিবর্তিত হয়. এই বর্তমান আকার এবং এই ডিরেক্টরি বাইট. আপনি বোঝেন করতে হবে না এই সব. এই উপাদান বাম, এই drwx এর, যে আরো অনেক প্রাসঙ্গিক হয়ে যাবে আপনি মোকাবেলা করতে হবে পরে যখন - যে অনুমতি আছে কি আছে এই ফাইল তাকান. এবং তাই আপনার উপর শুধুমাত্র ব্যবহারকারী না হলে এই কম্পিউটার, আপনি সক্ষম হবে বলে, ঠিক আছে, আমি শুধুমাত্র একটি হওয়া আবশ্যক এই ফাইলের তাকান অনুমোদিত বা আমি নই অনুমতি যাচ্ছে সবাই এই ফাইলের তাকান. তাই আমার কম্পিউটারে অন্য কেউ এই ফাইলের তাকান পারেন. এমনকি আমি কি এই জানি না - এই কি করবেন না? JOSEPH: আসলে আমি বেশ নিশ্চিত না. ছিনিয়ে: না ধারণা. JOSEPH: আপনি জানেন না কিন্তু, যদি থাকে আপনি ব্যবহার করতে পারেন একটি সহায়ক কমান্ডের আউটপুট মানে কি আপনি বলতে. এবং যদি আপনি মানুষ টাইপ হলে কমান্ড আগে - তাই এম একটি-n. ছিনিয়ে: ম্যান. সুতরাং মানুষ অন্য এক যে খুবই দরকারী. এবং মানুষ, ম. তাই man পৃষ্ঠা, তারা উভয় আছে আপনি ব্যবহার করা চলুন যে কমান্ড কমান্ড লাইনে, এবং তারা আছে প্রাসঙ্গিক হবে যে ফাংশন আপনি মানুষ পারে তাই সি দিয়ে - এবং আমি 3 উপেক্ষিত. কিন্তু মানুষ 3 printf আনতে যাচ্ছে printf এর সি সংস্করণ আপ. আমি শুধু মানুষ printf, না কিন্তু যদি, এই হল কমান্ড printf, আসা যাওয়া যে কমান্ড লাইনে ঘটে. সুতরাং মানুষ, ম. man পৃষ্ঠা প্রশংসনীয় হতে পারে অপ্রতিরোধ্য. এখানে, যদিও, আপনি এই তালিকা দেখতে পাবেন এই পতাকার সব যে ম বুঝতে পারে. সুতরাং আমরা, এল ড্যাশ, এবং যেতে হলে - আমি শুধু আপনি এ এই নিক্ষেপ যাচ্ছি. কিন্তু অনুসন্ধান করার জন্য, আপনি চান প্রথম প্রশ্ন আঘাত চিহ্ন বা স্ল্যাশ বাটন. তাই কাট. এবং তারপর আমি অনুসন্ধান করতে পারেন আমি যাহা চান জন্য. তাই আমি ড্যাশ, এল জন্য স্ল্যাশ যাচ্ছি. এবং সেখানে এটি ছিল. সুতরাং একটি দীর্ঘ তালিকা ফরম্যাট ব্যবহার. যে আমার চিন্তা সাহায্য না কি যে বিশেষ কলাম বোঝানো, কিন্তু আমি এখানে কোথাও অনুমান এটা যে ব্যাখ্যা করবে. সুতরাং কোন কমান্ডের জন্য man পৃষ্ঠা ব্যবহার আপনি অবিলম্বে বুঝতে পারছি না যে. আমি আপনি এমনকি মানুষ, মানুষ যা করতে পারেন চমত্কার নিশ্চিত. অনলাইন একটি ইন্টারফেস রেফারেন্স ম্যানুয়াল. ওহ, হয়তো সামান্য যে এক শেষ এক প্রাসঙ্গিক ম, ড্যাশ, একটি. আমি শুধু ম যদি তাই লক্ষ্য করা, আমি এই পাঁচটি ফাইল পেতে. আমি ম না, ড্যাশ, একটি, আমি অনেক বেশি ফাইল পেতে. এই সমস্ত মধ্যে কমন সুতরাং জিনিস নতুন ফাইল পূর্বেই ডট হল. তাই কনভেনশন হল একটি ফাইল যা একটি বিন্দু লুকানো হয় শুরু. তাই আপনি যদি আপনি যে ফাইলটি দেখতে চাই না সঙ্গে এটি জগাখিচুড়ি থাকতে চাই না আপনার ডিরেক্টরি তালিকা. আপনি স্পষ্টভাবে জিজ্ঞাসা যখন এটি কেবল এর ঠিক আছে, ম, ড্যাশ, এ, আমাকে দেখাবেন. একটি, সমস্ত ফাইল ঘোরা লুকানো বেশী সহ. তাই অন্য কিছু কমান্ড. ওহ, যে সময়ে প্রশ্ন? হ্যাঁ. স্পিকার 3: আপনি যদি ম না হলে, একটি, বিন্দু, বিন্দু কি? ছিনিয়ে: ওহ. তাই এই আমি সম্পর্কে কথা ছিল না. এটা একই জিনিস যেখানে আমি সিডি, বিন্দু, বিন্দু পছন্দ করতে পারেন. তাই টেকনিক্যালি, বিন্দু এবং বিন্দু, বিন্দু হয় প্রতি একক যে বিদ্যমান ফাইল ডট ফাইল বোঝায় যেখানে ডিরেক্টরি বর্তমান ডিরেক্টরিতে. তাই আমি CD, বিন্দু, আমি যাচ্ছি যদি ডাইরেক্টরি থাকতে. এবং বিন্দু, বিন্দু সবসময় বোঝায় পূর্ববর্তী ডিরেক্টরি এক স্তর পর্যন্ত. তাই আমি লগ এবং ম মধ্যে যান, ড্যাশ, আল, আমি বিন্দু, বিন্দু দেখতে পাবেন. বিন্দু থেকে সিডি, বিন্দু আগের ডিরেক্টরিতে সম্পর্কে এনেছে. হ্যাঁ. ঠিক আছে. তাই অন্য বেশ গুরুত্বপূর্ণ কমান্ড RM হয়. সুতরাং যে আমরা চলুন মুছে ফেলার জন্য ব্যবহার করা. আর আমার আসলে অন্য করতে দেওয়া কমান্ড প্রথম. সুতরাং mkdir. Mkdir কিভাবে আপনি করতে পারেন ডিরেক্টরি তৈরি. এবং আমি অস্থায়ী ডাইরেক্টরি তৈরি করব এবং যে অস্থায়ী ডিরেক্টরিতে যান. এবং প্রত্যাশিত হিসাবে, এটা খালি. কিন্তু আমি ম, ড্যাশ, এ, আমি এখনও বিন্দু আছে ডট বোঝায় এবং বিন্দু, বিন্দু, কারণ বর্তমান ডিরেক্টরির. এবং বিন্দু, বিন্দু বোঝায় পূর্ববর্তী নির্দেশিকা. এবং যারা সবসময় কোন বিষয় উপস্থিত হবে আপনি লগইন করেননি হয় ডিরেক্টরি এবং এই একটি সম্পূর্ণ অপ্রয়োজনীয় কমান্ড, কিন্তু স্পর্শ. এটা কারণ আমি এটা ব্যবহার করছি ফাইল তৈরি করার একটি সহজ উপায়. তাই সি ঠিক হল স্পর্শ, বি, স্পর্শ একটি স্পর্শ একটি নামক তিনটি ফাইল তৈরি করতে যাচ্ছে, সম্পূর্ণ খালি হয় খ, ও গ. তাই আমাকে বিন্দু যারা তৈরি প্রথমেই যে RM হয় ঠিক তাই হল কিভাবে আমরা তাদের সরাতে পারেন. সুতরাং RM, একটি. এটি অপসারণ, আমাকে জিজ্ঞাসা যাচ্ছে নিয়মিত খালি ফাইল একটি? এবং তারপর আমি হ্যাঁ বলবো. আমি নিশ্চিত জানি, যদি তাই আমি চাই যে হতে করেও যে ফাইল নিশ্চিহ্ন অনুরোধ, নিয়মিত খালি ফাইল অপসারণ?, তারপর RM, ড্যাশ, চ হতে যাচ্ছে বলেছেন যে পতাকা, ছাড়া Remove বলপূর্বক এমনকি আমার অনুরোধ, ওহ, আপনি নিশ্চিত করুন যে আপনি ফাইলটি মুছে ফেলতে চান? হ্যাঁ, আমি নিশ্চিত নই. সুতরাং RM, ড্যাশ, ফুল বোর্ড ঠিক করবে জিজ্ঞাসা ছাড়াই তা করে. সুতরাং আসুন আরো কিছু ডিরেক্টরি করা যাক. mkdir, tmp2, সিডি, tmp2, একটি, স্পর্শ খ স্পর্শ. ঠিক আছে. তাই এখন আমি সরাতে চান একটি ডিরেক্টরি হিসাবে tmp2. সুতরাং RM tmp2. আপনি tmp2 অপসারণ করতে পারবে না, এটি একটি ডিরেক্টরি হয়. তাই এখানে সমস্যা RM না হয় অবিলম্বে ডিরেক্টরি কাজ. এটা শুধুমাত্র মত ফাইল জন্য সেসব অ ডিরেক্টরির ফাইল. তাই কি আমরা করতে পারি এখানে RM, ড্যাশ, আর না. যে recursively ঘোরা, যা হতে পারে এখনো আপনি কিছু বলতে চাচ্ছি না. কিন্তু আপনি recursion পেতে হলে, এটা আরো অর্থ পাবেন. সুতরাং RM, ড্যাশ, আর, tmp2 হবে recursively যে ডিরেক্টরিতে যান. সুতরাং ডাইরেক্টরি tmp2 মধ্যে নামা? হ্যাঁ, এর যে ঢোকা যাক. আমরা একটি / tmp2 অপসারণ করতে চান? হ্যাঁ. আমরা tmp2 / বি অপসারণ করতে চান? হ্যাঁ. এখন আমরা সরাতে চান না ডাইরেক্টরি tmp2? হ্যাঁ. এবং তাই এখন ডিরেক্টরি এবং ভেতরের সবকিছু এর এটি সরিয়ে ফেলা হয়েছে. একটি কমান্ড rmdir টেকনিক্যালি নেই আপনি মুছে ফেলার জন্য ব্যবহার করতে পারেন ডিরেক্টরি, কিন্তু এটি শুধুমাত্র কাজ যাইহোক খালি ডিরেক্টরি উপর. এবং যে দেখতে, এর যাক ঠিক আবার mkdir, tmp2 না. Tmp2, একটি স্পর্শ. ঠিক আছে. আমি dirtmp2 সরানোর চেষ্টা সুতরাং, যদি এটা করব ডাইরেক্টরি খালি না বলে. তাই আমি Remove ব্যবহার প্রায় কাছাকাছি না যাইহোক dir কমান্ড, কারণ RM, ড্যাশ, আর খালি ডিরেক্টরি কাজ করবে এবং অ খালি ডিরেক্টরি. এবং এছাড়াও, আমি করতে চাই না যদি এর যে সমগ্র প্রক্রিয়ার মধ্য দিয়ে যেতে ডিরেক্টরিতে সাজানো এবং প্রতিটি ফাইল মুছে ফেলে, RM, ড্যাশ, RF, tmp2. এবং এখন তা চলে গেছে এর. সতর্কতা অবলম্বন করা আবশ্যক কিছু সম্পর্কে RM, ড্যাশ, আরএফ হয়. এবং এটা আমার এমনকি এটি টাইপ করতে ভয় পাই, কারণ যদি আমি ঘটনাক্রমে আঘাত লিখুন বা কিছু. সুতরাং RM, ড্যাশ, RF, টিল্ড হবে, বিনা আমার অনুরোধ, চ অনুরোধ জানানো হয় না আমার, এটি স্বয়ংক্রিয়ভাবে মুছে ফেলা হবে আমার সমগ্র হোম ডিরেক্টরি এবং এটি সবকিছুই. সুতরাং আপনি যে মনে হতে পারে যা করতে একটি মূঢ় জিনিস. আর হ্যাঁ, এটা. কিন্তু এটি দ্বারা খুব সহজেই ঘটতে পারে দুর্ঘটনা আমি সরাতে চেয়েছিল, বলে, যদি আমার স্ল্যাশ, vhost নির্দেশিকা. আর দ্রুত টাইপিং এ, আমি ঘটনাক্রমে এই কাজ. যে উভয় আমার recursively মুছে ফেলা হবে হোম ডিরেক্টরি ও vhost ডিরেক্টরি এই বিশেষ ডিরেক্টরির মধ্যে যে শুধু এই মুহূর্তে উপস্থিত না ঘটবে. কিন্তু এই এখনও সরাতে হবে আমার সমগ্র হোম ডিরেক্টরি. অন্তত একটি ফল হচ্ছে না দ্বারা, এটি প্রথম আমার লেখার অনুরোধ জানানো হবে. এবং আমি, ওহ, ভালো হতে চাই না, আমি তা করতে না চান. কিন্তু মানুষ, সহ স্ল্যাশ আমার মধ্যে পেতে ঝোঁক সবসময় RF-ing অভ্যাস. আমি শুধু কমিশন করতে পারে এমনকি সাধারণ ফাইল, গ, আমি RM, ড্যাশ, RF, গ ঝোঁক. আপনি RF-ing যখন শুধু সতর্কতা অবলম্বন করা আবশ্যক. স্পিকার 4: সি কী কাজ করে? ছিনিয়ে: সি আর সি ফাইল বিষয়ে কথা বলছি না হয় এই ডিরেক্টরির মধ্যে, যে RM, গ. JOSEPH: এবং আরো বিপজ্জনক, আপনি ব্যবহার করতে হলে একটি তারকা, এটা সবকিছুই বোঝায় ডিরেক্টরি. তাই আমি সাধারণত যা করতে দেয় আমি আছি হল একটি ডিরেক্টরিতে যান এবং আমি চাই সেখানে সকল ফাইল মুছে ফেলুন. সুতরাং RM, ড্যাশ, RF, তারকা. ছিনিয়ে: হ্যাঁ. Rm, ড্যাশ, RF, তারকা. JOSEPH: এবং আপনি না হন তাহলে সতর্ক থাকুন আপনি আছেন কি ডিরেক্টরি - আমি temp মধ্যে ছিল না, কিন্তু আমি ঘটনাক্রমে ছিল আমার হোম ডিরেক্টরিতে, তারপর আমি সবকিছু সরিয়ে দেব আমার হোম ডিরেক্টরিতে. আর আমি আসলে যে আগে করা, এবং করেছি আমি আপনি আগে এই কাজ করেছি মনে জে আগে যে কাজ করেনি. ছিনিয়ে: আমি ঘটনাক্রমে মুছে ফেলা করেছি - তাই একটু জন্য যে কমান্ড উপেক্ষা. JOSEPH: মজা নেই. ছিনিয়ে: তাই স্ল্যাশ বিন ডিরেক্টরির মধ্যে একটি হল সেখানে পাবেন যেখানে বাইনারি ফাইলের গুচ্ছ ঝনঝন মত পরিচিত বেশী হবে. ওয়েল, ঝনঝন এবং মূলত এই সব আমি কমান্ড এ চলমান করছি যে লাইন এই স্ল্যাশ বিন ডিরেক্টরিতে উপস্থিত রয়েছে. JOSEPH: LS লেগেছে এখানে হয়. ছিনিয়ে: তাই ম, কাট, হবে বিন্দু এই ডিরেক্টরির তালিকা দেখাবে. JOSEPH: RM এই ডিরেক্টরির মধ্যে হয়. ছিনিয়ে: আমি ঘটনাক্রমে কমিশন আছে, RF-ইডি বিন, আমি পারে কোনো কমান্ড সরানো যা সম্ভবত কখনও চাই. কোনটি তাহলে আমি পুনরায় ইনস্টল একটি যে সময়ে নতুন অ্যাপ্লায়েন্স. JOSEPH: তাই খুব সতর্কতা অবলম্বন করা আবশ্যক যখন আপনি এই কমান্ড প্রয়োগ করুন. AUDIENCE: [শ্রবণাতীত]? ছিনিয়ে: হ্যাঁ. যে পাওয়ার একটি খারাপ অভ্যাস আছে. আপনি বিজ্ঞপ্তি, আমি এখন আছি - হ্যাঁ, আপনি লক্ষ্য করা, কিন্তু করতে পারবেন না আমার জুম ইন হয়ত করতে পারেন. তাই আমি এখন রুট @ প্রয়োগ না. সুতরাং jharvard আমরা চাই ব্যবহারকারী আপনি সবসময় ব্যবহার করা হবে. Root-র অনুমতি ব্যবহারকারীর হয় একেবারে কিছু করতে. আমি jharvard নই সুতরাং যখন, বিজ্ঞপ্তি আমি সিডি চেষ্টা - যে একটি ডিরেক্টরি কি? ওহ, রুট একটি ভাল উদাহরণ. তাই সিডি, রুট. অনুমতি অস্বীকৃত. কারণ আমরা এই তালিকা তাকান - এবং আবার, আপনি করতে হবে না সম্পূর্ণরূপে এই বুঝতে. কিন্তু এই তিনটি ড্যাশ বলছে যে অন্য কোন দেবেন না এই ডিরেক্টরিতে ইউজার. আর ডাইরেক্টরি ঘটবে ব্যবহারকারী রুট মালিক হতে. তাই আমি কোথায় যে jharvard এবং কোন root পরিচয় ব্যবহার না যিনি একই ব্যক্তির মধ্যে অনুমোদিত হয় এই ডিরেক্টরির, যে আমি আছি মানে হল অনুমতি অস্বীকার করতে যাচ্ছে যখন আমি তা সিডি চেষ্টা করুন. আমি রুট am যখন সুতরাং, আমি অনুমতি আছে সহ একেবারে কিছু, কি অপরিহার্য ফাইল মুছে দিন : গৃহ সরঞ্জাম ও করতে সমগ্র জিনিস ধ্বংস. সুতরাং তা পেতে একটি খারাপ অভ্যাস শুধু আপনার ঘুরে বেড়ানো root পরিচয়ে অপারেটিং সিস্টেম. আমি যাহাই হউক না কেন এটা. প্রশ্ন? এবং আমি, রুট থেকে প্রস্থান jharvard হিসাবে থাকবো. ঠিক আছে. আরো প্রাসঙ্গিক কমান্ড. সুতরাং আমাদের temp মধ্যে ফিরে যাওয়া, MV কমান্ড সরানো ঘোরা. আপনি একটি স্থানান্তর করতে পারেন. এখন আমরা, বি একে ডাকতে চাই তাই এখন এটা খ বলা হচ্ছে. অথবা হয়ত আমরা স্থানান্তর করতে চান খ এক ডিরেক্টরি আপ. তাই এখন এই ডিরেক্টরির এর খালি. আমি ফিরে আমার হোম ডিরেক্টরিতে যান এবং করব আমরা, বি এখানে দেখতে যে কারণ হোম ডিরেক্টরি থেকে এক ডাইরেক্টরি ছিল আপ বি ইন হয়েছে যে ডিরেক্টরি CP এর রয়েছে. সুতরাং CP, সুপার অধ্যায় কপি হয় বিন্দু, টেক্সট. আমি গুলি, বিন্দু, টেক্সট কল করতে পারেন. এখন আমরা উভয় সুপার অধ্যায় আছে, বিন্দু, টেক্সট এবং গুলি, বিন্দু, টেক্সট. এই ডিরেক্টরির উপর কাজ করে. আমি একটি ফাইল-ইডি আরএফ. সুতরাং CP - ওয়েল, প্রথম এর CP, tmp, tmp2 চেষ্টা করুন. সুতরাং ডাইরেক্টরি tmp omitting. Rm থেকে তাই অনুরূপ, ডিফল্ট আচরণ ডিরেক্টরি কাজ না হয়. এবং আবার, rm অনুরূপ, Default আচরণ - ভাল, এটি কাজ পেয়ে ডিরেক্টরি সঙ্গে, ড্যাশ-R দূরে. সুতরাং recursively temp কপি tmp2 মধ্যে ডিরেক্টরি. তাই এখন আমরা tmp এবং tmp2 উভয় আছে এবং যে যে সহায়ক নয় সাল tmp প্রথমেই খালি ছিল. Tmp2. এখন আসুন tmp2 মধ্যে tmp কপি করা. এবং আমরা tmp2 এছাড়াও ফাইল আছে দেখতে একটি, কারণ ডিরেক্টরি এবং যে ভেতরে সবকিছু ডিরেক্টরি কপি করা হয়. এবং যে কিছুটা সহায়ক হতে পারে , আপনি কাজ করছি বলতে হলে সমস্যা এক সেট - বা আসলে, পরে সমস্যা সেট হয় আরও গুরুত্বপূর্ণ, কারণ সেখানে আভা হবে ফাইল এবং জিনিষ. কিন্তু আপনি শুধু একটি বিভক্ত জন্য, চাই দ্বিতীয়, আপনি ঠিক আছে, ভালো থাকেন, আমি আছি নতুন কিছু চেষ্টা করে যাচ্ছে. আমার শুধু আমার সম্পূর্ণ pset1 কপি যাক pset1 ব্যাকআপ মধ্যে ডিরেক্টরি তাই যে যদি আমি আমি করতে পারেন, জিনিষ আপ screwing শেষ ফিরে আমার ব্যাকআপ ডিরেক্টরিতে যান. এর আরো উপযুক্ত উপায় আছে আপনার কোড ব্যাক আপ ভার্সন, কিন্তু এই সবসময় ঠিক করতে একটি দ্রুত উপায় নিশ্চিত আপনি কিছু একটি কপি আছে আপনি সংশোধন করতে চলেছেন যে. সুতরাং প্রতিধ্বনি এছাড়াও একটি এককালীন কমান্ড যে sillily ধরনের মাত্র প্রিন্ট হবে কমান্ড লাইন ঠিক কি আপনি echo চেয়েছিলেন. তাই পরিষ্কার উচ্চ প্রতিধ্বনি. আমরা শুধু পরিষ্কার উচ্চ মুদ্রণ করব. বিশ্বের হ্যালো ইকো. আমরা হ্যালো দুনিয়া প্রিন্ট করব. এটা ব্যবহার করে আসে যখন আপনি কমান্ড মিশ্রন শুরু. এবং আবার, আপনি সম্পূর্ণরূপে না আশা এখনো এই বুঝি, কিন্তু এটা দেখতে কিছু. এবং তারপর আপনি উদাহরণ জন্য Googling করছি অথবা আপনি যখন আপনি কাজ করতে চান সাধা কিছু, এটি সহায়ক হতে পারে. সুতরাং যাক এর একটি উদাহরণ হিসাবে, তাই ম, ড্যাশ, এল. তাই এখানে আমি আউটপুট দেখুন ম র, ড্যাশ, এল. এবং আমি ঠিক আছে, আমি চাই, বলতে একটি ফাইলে যে সঞ্চয়. এখানে এই ফলাফলের সব, আমি চাই একটি পৃথক ফাইলে রাখতে. প্রতীক আর তাই এই সামান্য বেশী আমরা কল চলুন কি. আমরা পুনঃনির্দেশিত করছি একটি ফাইলে আউটপুট. যে কারণ, এর ফাইল বাজে কল যাক আমি সবসময় একে বলতে থাকে কি. তাই এখন আমরা আমরা দেখতে একটি এখানে ডান বাজে দায়ের. এবং আমি এটি খুলুন, আমি এটা দেখতে পাবেন কমান্ড থেকে ঠিক আউটপুট আমি শুধু দৌড়ে যে. আর একইভাবে, আপনি যা করতে পারেন - এই একটি ফাইলে আউটপুট, এই ছিল একটি ফাইল থেকে ইনপুট পেতে হয়. একটি কমান্ড কি যে আমি - JOSEPH: আমি আপনি ব্যবহার করতে পারেন মনে হয় সম্ভবত, কম বা বেশি. ছিনিয়ে: কিন্তু কিভাবে শুধু কম বাজে কথা সম্পর্কে? আমি জানি না. আপনি এই দৃশ্যকল্প মধ্যে আসতে হলে, মত এটি জন্য দরকারী যে psets আছে. JOSEPH: আপনি প্রতিধ্বনি মধ্যে পাইপ এটা করতে পারেন. পাইপ এটি দেখতে প্রতিধ্বনি মধ্যে ফাইল. ছিনিয়ে: এটা নল এর. JOSEPH: দুঃখিত. ছিনিয়ে: ঠিক আছে. সুতরাং এই একটি ফাইলে আউটপুট হয়. এই ফাইল থেকে লেখা পেতে হয় এবং প্রোগ্রাম থেকে এটি হস্তান্তর. এবং আপনি এই লোক দেখতে পাবেন. তাই এই ধরনের একযোগে উভয় করছে. এবং প্রকৃতপক্ষে, আমি দুটি নতুন পরিচয় করিয়ে দেব শুধু এটা ব্যবহার করতে কমান্ড. ইতিহাস শুধু যে একটি সহজ কমান্ড একটি তালিকা আউট মুদ্রণ যাচ্ছে কিছু আমি কখনো একটি কমান্ড লাইন চালানো করেছি. তাই আমরা এখানে আমি যে সবকিছু দেখতে এই সমগ্র সময় চলমান হয়েছে. ম এর প্রচুর. এবং আরেকটি দরকারী কমান্ড grep যে তার উদ্দেশ্য উপর অনুসন্ধান করতে হয় নিদর্শন খুঁজছেন টেক্সট, ভাল, যাই হোক না কেন আপনি খুঁজছেন এটি জন্য দেখতে চাই. তাই এখানে একটি সহজ ব্যবহার, বলতে হয় আমরা ইতিহাস দখল করতে চান. এবং আমি কমান্ডের জন্য দেখতে চাই আমি কোথায় - একটি কি জন্য সন্ধান দরকারী এক? JOSEPH: [শ্রবণাতীত]? ছিনিয়ে: অথবা এর সব জন্য তাকান যাক কোন কারনের জন্য, স্পর্শ. তাই এই এটা অনুরূপ হবে. এবং আপনি সম্পূর্ণ করতে হবে না বুঝতে. কিন্তু ধারণা এখানে, ইতিহাস প্রদান করা হয় তা এখানে কি একই আউটপুট এটা সম্পূর্ণ মুদ্রণ যেখানে আমি কখনও চালানো করেছি সবকিছু ইতিহাস. আমরা তখন যে ক্ষণস্থায়ী হয় - তাই এর পরিবর্তে পর্দায় এটি মুদ্রণ, আমরা যে প্রেরণ করতে ইচ্ছুক খুঁজছেন হয় যা কমান্ড grep শব্দ স্পর্শ সমস্ত উদাহরণ. এবং তাই এই সমন্বয় ব্যবহার করে সরঞ্জাম ইতিহাস এবং grep, আমি, ঠিক আছে, দেখতে পারেন এখানে কমান্ড সব আমি করেছি কখনও এর চালানো, এবং এখানে একটি কিছুটা সাধারণ এক. আমরা নীচে করছি. এবং এটি আমার কমান্ড দেবার হচ্ছে আমি ঠিক ছিল যে দৌড়ে এটা শব্দ স্পর্শ. কিন্তু পাইপ খুবই দরকারী জিনিস একাধিক প্রোগ্রাম মিশ্রন জন্য. এবং প্রকৃতপক্ষে, এটা যাক জন্য একটি শর্টকাট আছে আমার আউটপুট বাজে দায়ের ইতিহাস, এবং আমার ফাইল বাজে ব্যবহার grep যাক আমি উপেক্ষা করতে চান হিসাবে. তাই পাইপ শুধু একটি শর্টকাট ঐ দুটি কমান্ড জন্য. হ্যাঁ. স্পিকার 4: [শ্রবণাতীত]? ছিনিয়ে: হ্যাঁ. কি - ওহ. এর পরীক্ষা করা যাক. তাই বিড়াল, কুকুর, মাছ. তাই আমি grep চান. ড্যাশ, আর, আবার, হতে যাচ্ছে recursively, তাই আমি নিচে নামা চাই সব ডিরেক্টরি. আমি recursively সব জন্য grep চাই - এবং আমার সাময়িকভাবে করতে দেওয়া উপায় এই আউট. আমাকে উপেক্ষা করুন. ঠিক আছে. তাই আমি সাময়িকভাবে জন্য grep চাই শব্দ মাছ সমস্ত উদাহরণ. এবং তাই এখানে কি আমি করছি grepping হয় recursively শব্দ মাছের জন্য. এবং তারা এই সব ওভার মানে এই ডিরেক্টরিতে ফাইল. এবং তাই, আমাকে অস্বীকার একটি অনুমতি দিয়েছে এটা যে পড়ার অনুমতি নেই, কারণ বিশেষ ফাইল. কিন্তু এটা ফাইল, পরীক্ষা মাছ পাওয়া গেছে. আমি বিশেষ করে, বলে, আমি কেবল পারে এ, ফাইল বাজে মধ্যে দেখতে চাই এটা কিছু না পাবেন যে ক্ষেত্রে. আমি শুধুমাত্র ফাইল, পরীক্ষায় দেখতে চাই. এটা মাছ পাবেন. এটা খুবই দরকারী কমান্ড সাধারণভাবে জানা. Grep কিছু বিকল্প নেই আরো হতে অনুমিত হয় যে বন্ধুত্বপূর্ণ প্রোগ্রামার, কিন্তু আমি ঝোঁক এখনও grep ফিরে পড়া. প্রশ্ন? ঠিক আছে. অন্যান্য কমান্ড আছে? ওহ. যে আমি সবসময় শুধু একটি এককালীন এক মজার ক্যাল হয় হতে খুঁজে. আমি এই সুদৃশ্য আছি সুতরাং যখন বিজ্ঞপ্তি ফুল স্ক্রীণ মোড, আমি কোন মত উপরে আছে টুলবার বা কিছু. সুতরাং ক্যাল শুধু আমাকে একটি চমৎকার সামান্য দেয় ঠিক যে ক্যালেন্ডার এখন কাটা বন্ধ, আমি অনুমান. কিন্তু চমৎকার সামান্য কমান্ড. JOSEPH: এটা [শ্রবণাতীত] হয়. আপনি থাকতে পারে যে অন্যান্য কমান্ড দেখা ঝনঝন অন্তর্ভুক্ত ও করা. আমরা তাদের উপর যাবেন আরো বিস্তারিত পরে. কিন্তু আপনি কাজ করছি যদি Pset, আপনি হতে হবে সেই সঙ্গে পরিচিত. ছিনিয়ে: ঠিক আছে. কমান্ড লাইন জিনিস প্রশ্ন? ঠিক আছে. সুতরাং আসুন কিছু যান যাক সি সংক্রান্ত স্টাফ. ভেরিয়েবল গণিত. ঠিক আছে. আমরা ভূত গণিত ছিল, তাই ঠিক মত তবে আপনাকে সি গণিত ব্যবহার করতে পারেন আমরা, সম্পূর্ণরূপে যে পেতে আগে তাই ভেরিয়েবল. মনে রাখবেন যে আপনি একটি ডিক্লেয়ার যখনই int-x বা ভাসা Y, আপনার মত চলক এটা আগে টাইপ করা আছে পরিবর্তনশীল নাম. সুতরাং আমরা দেখা করেছি ধরনের এ পর্যন্ত, কোন int হয় ভাসা, ডবল, দীর্ঘ দীর্ঘ, যা আমি আসলে আমরা করেছি যদি জানি না এ পর্যন্ত যে দেখা. কিছু অন্যান্য বেশী আছে. আমরা গৃহস্থালি দেখুন করেছি. এটা ভালো হয়, যা স্বল্প আছে বিপরীত দীর্ঘ দীর্ঘ এটি যেখানে একটি পূর্ণসংখ্যা চেয়ে ছোট. আমরা স্ট্রিং আছে দেখা যায়. তাই স্ট্রিং সম্পর্কে বিশেষ কি? কেন আমি এটা বলতে হবে পুরোপুরি int-পছন্দ? স্পিকার 4: এটা সত্যিই বিদ্যমান নেই. ছিনিয়ে: হ্যাঁ. আমরা স্ট্রিং আছে তাই একমাত্র কারণ হয় আপনি করবেন যখন কারণ হ্যাশ, cs50.h. অন্তর্ভুক্ত এবং আমরা পরে এই উদাহরণ দেখতে পাবেন - ওহ, যে যে ভাল হ্যান্ডেল না - cs50.h কিছু করছেন যেখানে টাইপ লাইন বরাবর Def, গৃহস্থালি তারকা, স্ট্রিং. তাই যে আমরা এমন না যে এর বলছে একটি গৃহস্থালি তারা এখনো কি জানি. কিন্তু এই যে আমরা স্ট্রিং চান বলছে না. আপনি, স্ট্রিং ব্যবহার করছি কোন স্থান গৃহস্থালি তারকা ব্যবহার করা হয়ে থাকতে পারে, আসলে একটি প্রকার যা যে সি ভাষায় বিদ্যমান. কিন্তু আমরা যে পাবেন. ওহ, এবং এটি অধিকার ফিরে যায়. ঝরঝরে. Bool সাথে তাই একই জিনিস যেখানে সত্য এবং মিথ্যা. যে সত্যিই সি একটি অন্তর্নির্মিত টাইপ নয় পরিবর্তে, এটা ঠিক, এই আছে আছে মান শূন্য? তারপর আমরা শুধু বিবেচনা করব এটা মিথ্যা হতে. এই মান আছে - ওয়েল, এই যে কোনো আছে শূন্য না হয় মান? তারপর আমরা এটা সত্য হতে পারে বিবেচনা করব. তাই এক, দুই সত্য, সত্য nonzero কিছু সত্য. তাই যারা যারা. ঘোষণা ভেরিয়েবল নেভিগেশন প্রশ্নোত্তর পরিবর্তনশীল ধরনের এবং যে সব? হ্যাঁ. স্পিকার 4: দীর্ঘ দীর্ঘ জন্য, বই, এটা দীর্ঘ দীর্ঘ int-হতে হয় বলেন. তবে দীর্ঘ দীর্ঘ কাজ করবে? ছিনিয়ে: সুতরাং এই ধরনের মোডিফায়ার. সুতরাং int-x. সুতরাং আমরা স্বাক্ষরবিহীন int-x বলতে পারেন. আমরা সংক্ষেপে int-x বলতে পারেন. আমরা int-x দীর্ঘ দীর্ঘ বলতে পারেন. কিন্তু সেগুলো প্রায় কাছাকাছি কোনো আমি শুধু বলেন, স্বাক্ষরবিহীন int-, ছোট কোন int, int-দীর্ঘ দীর্ঘ, আপনি পরিত্রাণ পেতে পারেন int-এবং এটি শুধুমাত্র অনুমান করা হবে আপনি int-বোঝানো যে. শুধু যার মানে তাই স্বাক্ষরবিহীন X, - আপনি কি জানেন কিভাবে সাধারণত কোন int সঙ্গে, আপনি এক্স নেতিবাচক 3 সমান বলতে পারেন? একটি স্বাক্ষরবিহীন int-সঙ্গে, আপনি না করতে পারেন. JOSEPH: এবং আবার, ক্যামেরার জন্য, প্রশ্ন পার্থক্য কি ছিল, দীর্ঘ দীর্ঘ int-মধ্যে এবং শুধু লম্বা লম্বা? ছিনিয়ে: হ্যাঁ. তাই আমি প্রায় কখনই করবে না দীর্ঘ দীর্ঘ int-লিখুন. আমি দীর্ঘ দীর্ঘ লিখতে হবে. JOSEPH: কোন প্রশ্ন? ছিনিয়ে: ঠিক আছে. যে তাই নিরীহ সামান্য অনুস্মারক কিভাবে আমরা একটি ভেরিয়েবল ডিক্লেয়ার এবং আরম্ভ পরিবর্তনশীল এবং অন্য ঘোষণা পরিবর্তনশীল এবং আরম্ভ এটা এক ধাপে সব. তাই ভেরিয়েবল ঘোষণা এবং আরম্ভের পরিবর্তনশীল হবে না কিন্তু একই লাইনে হতে পারে করা. সুতরাং আমরা প্রমিত গণিত অপারেটরদের আছে আপনি ব্যবহার করতেন যে - প্লাস, বিয়োগ, ভাগ, গুন. আমরা দেখতে পাবেন যা modulo, এর রয়েছে. অন্তত এ, নেই সি, একটি অন্তর্নির্মিত ক্ষমতা সূচকীয় ক্যারেট অপারেটর. ওয়েল, একটি ক্যারেট অপারেটর আছে, কিন্তু ক্ষমতা না. JOSEPH: কিন্তু এটা Exponentiation না, হ্যাঁ. ছিনিয়ে: ক্যারেট ব্যবহার করবেন না এটা মানে অনুমান করা স্কোয়ারড বা যাই হোক না কেন মত. তাই কিছু জিনিস রাখা বিভাগ সম্পর্কে কিছু মনে. আমি দাঁড়ানো করব. তাই আরম্ভ উত্তর ঘোষণা. সুতরাং আমরা ভাসা উত্তর বলছে 10 দ্বারা বিভক্ত 1 সমান. দুই দশমিক স্থান উত্তর মুদ্রণ করুন. এবং এই জিনিস সাজানোর যে আমি জিনিসটা printf, মানুষ হবে , বিন্দু, 2F% গ্রাহ্য করি না মানে? এবং যে শুধু ভাল,, মানে 0.2 উপেক্ষা. এবং%, চ আমরা ব্যবহার কি ভাসা প্রিন্ট. 0.2 বলছে, মুদ্রণ যে দুই দশমিক স্থান থেকে ভাসা. তাই এই প্রোগ্রাম একটি বাগ আছে, এবং আপনি পারে কিছু আগে এই দেখা এর আগে সি এস কোর্সের. কিন্তু যে বাগ কি? স্পিকার 5: জিরো. ছিনিয়ে: হ্যাঁ. আমরা বলতে যখন সুতরাং, উত্তর সমান 1 10 দ্বারা বিভক্ত, আমরা চাই 0.1 হতে উত্তর. কিন্তু 1 10 দ্বারা বিভক্ত, 1 একটি হল পূর্ণসংখ্যা, 10 একটি পূর্ণসংখ্যা. এবং তাই আমরা দ্বারা বিভক্ত একটি পূর্ণসংখ্যা যখন একটি পূর্ণসংখ্যা, আমরা ফিরে পেতে যাচ্ছেন একটি পূর্ণসংখ্যা. তাই 10 দ্বারা বিভক্ত 1 0.1 হয়. এটি আমাদের একটি পূর্ণসংখ্যা দিতে প্রয়োজন থেকে, এটা বর্জন করা যাচ্ছে যে দশমিক স্থান এবং বলে যে উত্তর 0. তাই আমরা এখানে উত্তর প্রিন্ট করার সময় এটি 0.00 মুদ্রণ যাচ্ছে. JOSEPH: এবং শুধু একটি নোট হিসাবে, এটা আসলে পরে কি দূরে ছোঁড়ার দশমিক বিন্দু. আপনি পরিবর্তে ছিল তাই আপনি যদি 6 10 দ্বারা বিভক্ত, আপনি এটি আপনাকে দিতে হবে যে মনে হতে পারে 0.6 এবং তারপর আপনি 1 থেকে ধরপাকড় করবে. এটি টাইপ করার সময় কিন্তু আসলে কি ঘটবে কাজগুলো এটা কি এটা ড্রপ যে হয় দশমিক বিন্দু পরে. সুতরাং 0.6 0 হয়ে যায়. ছিনিয়ে: হ্যাঁ. এবং আমরা যে জন্য রুপান্তরিত বলবো. তাই আপনি যদি কোন int থেকে নিক্ষিপ্ত যখনই, দশমিক ছেঁটে ফেলা হয়. সুতরাং যে জন্য ফিক্স - আছে আসলে দুটি. আর আমি, যে দ্বিতীয় করতে যাচ্ছি কারণ এই এক একটি অনেক সহজ ফিক্স করা. তাই এক ফিক্স floats ব্যবহার হয় বিভাগের. এবং সত্যিই, আপনি শুধুমাত্র আছে তাদের মধ্যে একজন একটি float করা. কিন্তু এটা কিছুটা পরিষ্কার শুধু দুইটাই floats করা. সুতরাং 1.0 10.0 দ্বারা বিভক্ত দুই floats বিভাজক. তাই উত্তর শেষ হচ্ছে হবে একটি float, এবং তাই আপনি হবে সঠিকভাবে এখানে 0.10 মুদ্রণ. এত ভাল কাজ করে না যে কিছু একটা সম্পর্কে যে, ভাল, নিশ্চিত, এটা সহজ ছিল একটি থেকে 1 রূপান্তর করতে যথেষ্ট এটি 1.0 করে ভাসা. কিন্তু কি যদি পরিবর্তে আমরা দুটি পূর্ণসংখ্যার ছিল int-ভালো এক্স 1 এবং int-Y সমান 10 সমান, এবং তারপর আমরা চেয়েছিলেন এক্স Y দ্বারা বিভক্ত করতে হবে? সুতরাং এটি ঠিক করা সহজ নয় X.0 বা কিছু একটা. যাতে এর থেকে ফিক্স ঢালাই হয়. সুতরাং ঢালাই সি রূপান্তর করতে একটি উপায় অন্য এক পরিবর্তনশীল টাইপ থেকে. তাই এখানে, 1 একটি পূর্ণসংখ্যা. আর সামনে এই ভাসা নির্বাণ দ্বারা তা, আমরা একটি ভাসা 1 ঢালাই হয়. এবং তাই এই রূপান্তর হবে একটি 1.0 থেকে 1. এবং এই রূপান্তর হবে একটি 10.0 10. এবং তারপর জিনিষ একভাবে আচরণ আমরা শুধু দেখিয়েছেন পূর্ববর্তী সংস্করণ যেখানে, প্রত্যাশা অনুযায়ী, আমরা 0.10 পেতে এবং এটি যে প্রিন্ট করব. এবং আমরা সঙ্গে এটা করতে পারেন খুব ভেরিয়েবল,. সুতরাং আমরা বলতে, ভাসা এক্স পারেন ভাসা Y দ্বারা বিভক্ত. JOSEPH: কোন প্রশ্ন? ছিনিয়ে: তাই শুধু নিয়মিত গণিত মত, আমরা অপারেটর প্রাধান্য আছে. তাই গণিত বর্গ, আপনি সম্ভবত করছি অপারেশন আদেশ কল. এখানে, সরকারী শব্দ অপারেটর প্রাধান্য. কিন্তু অপারেটর প্রাধান্য, অথবা সবচেয়ে অপারেটর, আপনি আশা করবে হিসাবে হয়. তাই শুধু গণিত মত, 2 বার 10 আরো ঘনিষ্ঠভাবে চেয়ে দলবদ্ধ করা যাচ্ছে এই 10 2 দ্বারা বিভক্ত এবং তারপর 2. অপারেশন আদেশ, এটা 2 করবেন বার 10, 10 তারপর 2 দ্বারা বিভক্ত, এবং এটা 20 প্লাস 5 প্লাস 2 চেষ্টা করবো. সুতরাং হিসাবে প্রত্যাশিত, এবং আপনি ব্যবহার করতে পারেন গ্রুপ এক্সপ্রেশন করতে বন্ধনী. আপনি বর্গাকার বন্ধনী ব্যবহার করতে পারবেন না গ্রুপ এক্সপ্রেশন করতে. হাঁ? স্পিকার 5: যায়নি আপনি আসলে শুধু ফিরে এক দ্বিতীয় যান? আপনি একটি পংক্তি থেকে কোন int নিক্ষেপ করতে পারেন? ছিনিয়ে: তাই সি, আপনি কিছু নিক্ষেপ করতে পারে আপনি কিছু করতে চান করতে চান. এটা এটা মানে না যা করতে হয় ভালো. তাই আপনার কাছে কোন int নিক্ষেপ যখন একটি পংক্তি, এর মানে হল যে - এবং আমরা এই মধ্যে পাবেন আরো অনেক কিছু পুঙ্খানুপুঙ্খভাবে - JOSEPH: অনেক পরে. ছিনিয়ে: আমি অনেক পরে বলতে চায় নি, তাই আমি আমার বাক্য পরিবর্তন করার চেষ্টা করেছিল. আমরা আরো অনেক কিছু পুঙ্খানুপুঙ্খভাবে তা কিনবো পরে যেখানে সত্যিই আপনি একটি যখন স্ট্রিং ভেরিয়েবল - তাই একটি স্ট্রিং ইচ্ছামত হতে পারে দীর্ঘ, ডান? এবং আমরা কোন int যে বলছে করছি দীর্ঘ দীর্ঘ চার বাইট এবং আট হল বাইট এবং একটি float চার বাইট হয়. সুতরাং একটি পংক্তি, ঠিক কোন int মত, কেবল আছে তা বাইট একটি নির্দিষ্ট সংখ্যক. এবং যে চার বাইট হতে হবে. কিন্তু একটি পংক্তি চমত্কার হতে পারে ইচ্ছামত দীর্ঘ, ডান? তাই হ্যালো দুনিয়া ইতিমধ্যে যে 10 যদি অক্ষর বা যাই হোক না কেন, যে ইতিমধ্যেই 4 বাইট উপর হতে যাচ্ছে আমি একটি স্ট্রিং মধ্যে ফিট করতে পারে. এবং তাই স্ট্রিং সত্যিই কিভাবে কাজ করে তারা যেখানে মেমরি স্ট্রিং হয় রাখা হচ্ছে. তাই এখানে, আমি বলতে যখন পংক্তি এক্স হল এক্স ভেতরে, ওহে দুনিয়া সমান শুধু ওহ, হ্যালো দুনিয়া সংরক্ষিত হয়, বলার অপেক্ষা রাখে না মেমরির মধ্যে এই বিশেষ জাগাতে আছি. সুতরাং আমরা একটি থেকে একটি পূর্ণসংখ্যা নিক্ষেপ করার চেষ্টা করে যদি স্ট্রিং, তাহলে আমরা ব্যাখ্যা করার চেষ্টা করছেন স্মৃতি কিছু র্যান্ডম অংশ একটি স্ট্রিং হিসেবে. এবং যে প্রায় সবসময় জিনিষ ভঙ্গ. JOSEPH: কিন্তু যদি যে confuses আপনি, আমরা এটি আচ্ছাদন করা হবে পরে গভীরতার মধ্যে আরো. ছিনিয়ে: হ্যাঁ. আপনি চলুন এটি যেখানে পয়েন্টার মধ্যে পেতে. এবং যে একটি গুরুত্বপূর্ণ খণ্ড হয় এই কোর্স দুটি সপ্তাহ. স্পিকার 6: এটা বস্তু মত কাজ করে যদি আপনি কোন ভুল বা না সত্যিই? ছিনিয়ে: তাই অন্য ভাষা, বস্তু পয়েন্টার ব্যবহার প্রতিনিধিত্ব করা হবে. এটা যদিও, একই জিনিস না. কোন চিন্তা? JOSEPH: নং কোন চিন্তা. ছিনিয়ে: ঠিক আছে. JOSEPH: পরবর্তী. ছিনিয়ে: শুধু যে সঙ্গে যেতে. ঠিক আছে. সুতরাং modulo. শুধু আমরা, প্লাস আছে, মাইনাস চাই বিভক্ত, এবং সংখ্যাবৃদ্ধি. সুতরাং modulo আপনি করতে পারেন এক আগে দেখা যায় না. এবং এটা শুধু দিতে বলেছেন, আমার বাকি. সুতরাং 55% 10. বিভক্ত 55 করছেন বাকি 10 দ্বারা 5 হবে. সুতরাং 55% 10 5. এবং 3% 5 3 হবে. 8% 8 0 হতে হবে. 16% 15 1 হতে হবে. JOSEPH: এই সঙ্গে একটি বিষয় উল্লেখ্য যে, খুব, এটা প্রত্যাশা অনুযায়ী কাজ না পারে হয় আপনি একটি নেতিবাচক সংখ্যা ব্যবহার করা হলে. তাই নেতিবাচক 5% 4, কিছু লোক যে মনে হতে পারে - আপনি ঋণাত্মক কি মনে হবে 5% 4 হবে? স্পিকার 5: এক. JOSEPH: তাই কিছু কিছু মানুষের, এক বলে কিছু লোক নেতিবাচক এক বলে. কিন্তু কি - ছিনিয়ে: আমি এমনকি করা সম্ভব নয় যারা এক বলেন. JOSEPH: দুই, দুঃখিত. কিছু মানুষ বলে - ছিনিয়ে: তিন. JOSEPH: তিন? ছিনিয়ে: নেতিবাচক - নেতিবাচক পাঁচটি - কি ছিল - JOSEPH: তিন, তিন, তিন. দুঃখিত. কারণ আপনি করেছি, সাধারণত, modulo অন্য কোথাও এটা দেখা, এটি সাধারণত এর অর্থ হল ডান, একটি ধনাত্মক সংখ্যা প্রত্যাবর্তন? ছিনিয়ে: সুতরাং আমরা গণিত বলতে গেলে,% 10 এর, তারা আপনাকে দিতে চান ঝোঁক - আমরা 10 দ্বারা mod, তাহলে আমরা আশা 0 ও 9 এর মধ্যে একটি নম্বর পেতে. এখানে, যে ঘটনা না যে আপনি ঋণাত্মক সংখ্যা ফিরে পেতে হবে. JOSEPH: তাই ঋণাত্মক 5% 4 1 নেতিবাচক হবে. ছিনিয়ে: কিন্তু আপনি mod-ing যে বিরল দিয়ে শুরু করতে ঋণাত্মক সংখ্যা. এই কর. JOSEPH: হ্যাঁ. ছিনিয়ে: Meh. ঠিক আছে. সম্পর্কে বাতলান তাই এক শেষ জিনিস ফ্লোট, এটি একটি বিপজ্জনক আচরণ হয় কিন্তু floats একটি সঠিক নয় উপস্থাপনা. তাই আবার ফিরে বাইট যাচ্ছে, মনে রাখবেন কোন int সবসময় চার বাইট এবং একটি যে ভাসা সবসময় চার বাইট হয়. তাই লুকাস এর উদাহরণ বেশ ভাল. তাই 3 দ্বারা বিভক্ত 1 মনে. সুতরাং 0,3333333. আমি শুধুমাত্র 32 বিট, কিভাবে পারেন আছে আমি ঠিক 0,33333 সংরক্ষণ? এবং হয়ত, কোন কারনের জন্য, আপনি বলতে, ঠিক আছে, ভাল, এর ঠিক বলতে যাক এই বিশেষ 1011001, যাক এর যে ঠিক যে 0.333333 হতে হবে বলে. হ্যাঁ, আপনি শুধুমাত্র একটি নির্দিষ্ট নম্বর আছে যারা বিট, তাই এটা অসম্ভব প্রতি একক ফ্লোটিং পয়েন্ট উপস্থাপন মাত্র 32 বিট দেওয়া মূল্য. ওয়েল, এটা কোনো প্রতিনিধিত্ব অসম্ভব ফ্লোটিং পয়েন্ট মান অসীম দেওয়া - ওয়েল, বিট কোন সসীম সংখ্যক দেওয়া. আমরা যখন ব্যবহৃত তাই এখানে সমস্যা, ভাল, হয় দুই দশমিক স্থান থেকে প্রিন্ট করার জন্য, আমরা সঠিকভাবে উত্তর 0.10 পেতে পারি. কিন্তু ফণা নীচে, এটা সত্যিই সম্ভব হিসাবে বন্ধ হিসাবে সংরক্ষণ করা হচ্ছে যারা বিট হিসাবে 0.10 উপস্থাপন করতে পারেন. এই পরের স্লাইডে কি? অথবা তাই নয় কি? JOSEPH: হ্যাঁ, এটা যে. ছিনিয়ে: Blegh, blegh. JOSEPH: হ্যাঁ, আপনি যা করতে পারেন শুধু একটু নোট থামা. ছিনিয়ে: আমি জুম যাচ্ছি যে শেষ নেভিগেশন মধ্যে. ভগবন্ আমার ওহ, যে [শ্রবণাতীত] এর. তাই যে সংখ্যা. যে প্রিন্ট করা হবে আমরা যে প্রোগ্রাম চালানো হলে. এবং যে সত্যিই একটি বড় চুক্তি না মনোযোগ আমরা কেবল মত বিষয়ে চিন্তা করছি দুই থেকে তিন দশমিক স্থান. ভালো লেগেছে আমরা কেবল মূলত, 0.10 মুদ্রিত আমরা ভুল দেখেছি এবং যে কেন. কিন্তু আমরা মধ্যে পেয়ে শুরু একবার সঠিক, সঠিক সংখ্যা এটি যে প্রতিনিধিত্বমূলক, আমরা যে এটি করতে পারেন না দেখতে ঠিক 0.1 প্রতিনিধিত্ব. এবং এখানে সমস্যা অংশ, ভালো হয় ঠিক আছে, যে ভাল,, সূক্ষ্ম, কিন্তু প্রথমত, আমরা কি করতে চেষ্টা হলে, উত্তর 0.1 সমান সমান? সত্য বা মিথ্যা ফিরে যাচ্ছে যে কি? এবং তাই বলতে কঠিন. আমি এটা আসলে সত্য ফিরে পারে না. হবে এটি প্রথম - আমি জানি না. আপনি লেনদেন শুরু একবার উত্তর ফ্লোটিং পয়েন্ট মান সঙ্গে, আপনি প্রায় কাছাকাছি অনেক সমতা ব্যবহার করা উচিত নয় এই অনির্দিষ্টতা এর কারণ. এবং আপনি কি জানেন সব জন্য, এটা শততম এর দশমিক স্থান যে ফ্লোটিং পয়েন্ট সক্ষম ছিল না সঠিকভাবে পরিচালনা করা. তাই সমতা শুধু ব্যর্থ হবে এমনকি যদিও সংখ্যা - আপনি হয়েছে যদি সঠিক সংখ্যার ব্যবহার, সংখ্যা উচিত ঠিক একই আছে. এটা মত 50 অবশ্যই এর উপর এই ভাসমান ব্যবহার গণনার বিন্দু মান, ত্রুটি নির্মাণ করতে পারেন আপ এবং আপ এবং আপ, এবং জিনিষ শুধু ভুল করবেন. JOSEPH: এবং সত্যিই আছে এই ঘটনাকেই বিখ্যাত উদাহরণ. নাসার প্রকৌশলীরা এই অর্জিত লেগেছে মধ্যে বিস্ফোরিত করা ভুল, যার ফলে রকেট তারা চালু করছি পরে বায়ু. এবং যে মত বিষয় প্রচুর. তাই হ্যাঁ. স্পিকার 6: আপনাকে 0.3 চ বলতে গেলে, এটা বাকি অগ্রভাগ ছাঁটিয়া দেত্তয়া করে? অথবা এটা ডাউন ধরপাকড় বা করে? ছিনিয়ে: এটি বৃত্তাকার printf হবে? JOSEPH: আমি printf, ছোট করা হয়েছে. ছিনিয়ে: ঠিক আছে. তাই আমরা একভাবে বিপরীত মধ্যে যেতে পারেন এই যেখানে দিক, এই ক্ষেত্রে, এটা প্রতিনিধিত্ব করতে পারে নিকটস্থ 0.1 এই সংখ্যার সঙ্গে ছিল. এটি করতে সক্ষম হতে পারেন নিকটস্থ প্রতিনিধিত্বকারী 0.2 বিপরীত হয় দিক, 0,199999996356 বা কিছু. আমরা যে দিক গিয়েছিলাম তাই যদি জিনিষ, তারপর printf, 0.3 চ ফিরে আসবে 1.99 পরিবর্তে 2.00. JOSEPH: এবং আমি সম্পূর্ণভাবে যে প্রথম নিশ্চিত. আপনি একটি ছোট, একটু লিখতে চাইবেন প্রোগ্রাম ঠিক যে চেক. ছিনিয়ে: যদিও আমরা কি নিশ্চিত যে হয় আপনি যদি একটি থেকে যে নিক্ষেপ করার চেষ্টা করে যদি int-, এবং কোন int যাও ঢালাই যাচ্ছে এটা যদি দশমিক অগ্রভাগ ছাঁটিয়া দেত্তয়া হতে আপনি 1.9999999 নিক্ষেপ করার চেষ্টা কোন int জন্য, আপনি 1 পাবেন. এবং যাতে আপনি সাধারণত ব্যবহার করা উচিত গণিত লাইব্রেরি বৃত্তাকার ফাংশন. প্রশ্ন? ঠিক আছে. JOSEPH: তাই শর্ত সরানোর এবং বুলিয়ান এক্সপ্রেশন. সুতরাং আপনি আগে এই দেখা যায়. এবং প্রকৃতপক্ষে, আমার নিশ্চিত আমার করার সুযোগ কম্পিউটার এখানে সঠিক বিন্যাসে নেই. স্পেস. দুঃখিত, আমরা মোকাবিলা করতে যাচ্ছেন একটি প্রান্ত এ কর্তক সাথে অল্প. তবে হাঁ, আপনি না দেখা এই আগে ভূত. সুতরাং এখানে এই অধিকার একটি অভিব্যক্তি ব্যবহার করা হয় যা একটি শর্তাধীন বিবৃতি. তাই শূন্য হবে তার চেয়ে অনেক বেশী উত্তর সত্য বা মিথ্যা আপনি বলুন. এবং এই সত্যিই গুরুত্বপূর্ণ কারণ তারা আমাদের পরিচয় করিয়ে মঞ্জুরি আমাদের কোড মধ্যে লজিক. সুতরাং উদাহরণস্বরূপ, এই একটি প্রোগ্রাম ব্যবহারকারী জিজ্ঞেস করে যে ভূত লেখা একটি পূর্ণসংখ্যা জন্য এবং কিনা তাদের বলে তারা আপনার দেওয়া যে পূর্ণসংখ্যা একটি ছিল ইতিবাচক বা নেতিবাচক সংখ্যা. আর দেখতে এখানে উপর রূপান্তর হয় আপনি প্রথম, বিবৃতি প্রিন্ট আউট আমাকে একটি পূর্ণসংখ্যা দিতে. এবং তারপর আপনি একটি পূর্ণসংখ্যা জন্য তাদের জিজ্ঞাসা. এবং তারপর আপনি উপর শর্তাধীন লজিক ব্যবহার এখানে চেক কিনা যে সংখ্যা শূন্য বা না তুলনায় আসলে বেশী ছিল. তাই আমরা এখানে একটি বুলিয়ান অভিব্যক্তি আছে বিবৃতিতে যদি একটি শর্তাধীন ভেতরে. কোন প্রশ্ন আছে কি? যে সম্পর্কে কোন প্রশ্ন আছে? ঠিক আছে. তাই শুধু চেয়ে আরও আছে অবশ্যই, তার চেয়ে অনেক বেশী. আপনি বুলিয়ান এক্সপ্রেশন গঠন করা যেতে পারে জিনিস বিশৃঙ্খলভাবে অধিকাংশই ব্যবহার করে আপনি গণিত মধ্যে মনে হবে. আর তাই বৃহত্তর. যে চেয়ে কম হওয়া উচিত. দুঃখিত. আর ফাঁক. ছিনিয়ে: বালাই আপনি এটি ছেড়ে. JOSEPH: ঠিক আছে. অধিক, কম, আর তাই বৃহত্তর তুলনায়, বা, কম সমান তুলনায়, বা এর সমান. আমরা জন্য চেক ডবল সমান ব্যবহার সমতা, একক মানে সমান, কারণ নিয়োগ, ডান? হ্যাঁ. এবং তারপর আমরা দ্বারা সমান না পারে বিস্ময়বোধক চিহ্ন ব্যবহার করে, সমান. এবং এই বিস্ময়বোধক চিহ্ন প্রতীক পারেন এছাড়াও বর্ধিত করা যাতে আপনি চান বুলিয়ান কোন ধরণের বিপরীতমুখী অভিব্যক্তি, আপনি তা করতে পারে. তাই এই সত্য যাও নির্ণয় করা হবে উত্তর কম হয় শুধুমাত্র যদি বেশী বা সমান শূন্য. যে কোন প্রশ্ন? ঠিক আছে. তাই আপনি যদি এই একত্রিত করতে পারেন লজিক্যাল এবং এবং ব্যবহার এক্সপ্রেশন লজিক্যাল অথবা. সুতরাং এই মাত্র, এবং প্রতীক যা শিফট, 7 হওয়া উচিত. এবং এই, যা পাইপ প্রতীক একটি ছোট হাতের এল এটা এক না যে অধিকার আপনার Enter কি উপরে এর. সুতরাং আপনি প্রতীকায়িত এই দুটি ব্যবহার লজিক্যাল এবং লজিক্যাল অথবা. তাই এই একমাত্র সত্য ফিরে আসবে, যদি উত্তর এক, দুই, তিন, কিংবা চারটি হল. এবং এই একমাত্র সত্য ফিরে আসবে, যদি উত্তর যেকোন দিকে যে পরলোক হল. সুতরাং এক, দুই, তিন, কিংবা চারটি নয়. এবং যদি আপনি ব্যবহার করেন উপায় যে একটি অভিব্যক্তি মধ্যে - ছিনিয়ে: অথবা একটি শূন্য বা একটি পাঁচ. JOSEPH: শূন্য বা একটি পাঁচ. দুঃখিত. হ্যাঁ, হ্যাঁ, হ্যাঁ. ঠিক আছে. এবং এখন এখানে বেশী, একই ভাবে আপনি যে অভিব্যক্তি ব্যবহার করেন, একটি ছোট একটি যদি শর্তাধীন অভিব্যক্তি দিকে বিবৃতি, তাহলে আপনি এটি ব্যবহার করতে হবে শুধু ভেতরে এটি নির্বাণ দ্বারা একই ভাবে যদি বিবৃতির প্রথম বন্ধনী. তাই এই printf, শুধুমাত্র করো হবে যদি উত্তর এক, দুই, তিন, কিংবা চারটি হল. মিশ্রন উপর কোন প্রশ্ন এক্সপ্রেশন? তাই অন্য শর্তাধীন আছে আমরা একটি যদি / অন্যথায় কল গড়া. তাই মূলত, এই এখন যদি, ঠিক আছে, মানে আমি চেক চেয়েছিলেন কিছু ছিল না সত্য, তারপর অন্য যান এবং যে অন্যান্য কর্ম সঞ্চালন. তাই এই বিশেষ ক্ষেত্রে, আমি জিজ্ঞাসা একটি পূর্ণসংখ্যা জন্য ব্যবহারকারী. পূর্ণসংখ্যা শূন্য থেকে বড় হয়? হ্যাঁ? ভাল, তারপর তারা বাছাই করা একটি ধনাত্মক সংখ্যা. যদি না পরে, এটা থাকতে হবে নেতিবাচক বা একটি শূন্য হয়েছে. তাই আপনি যদি একটি নেতিবাচক নম্বর বাছাই বা এই ক্ষেত্রে একটি শূন্য. হ্যাঁ. অথবা একটি শূন্য. এবং তারপর আমরা, যদি / অন্যথায় আছে যদি এবং অন্যথায়. তাই এই আমাদের একটা ক্রম চালানো দেয় জিনিষ প্রথম বেশী ব্যর্থ হলে, তবেই. তাই এই ক্ষেত্রে, এখন আমরা তৈরি করছি আপনি শূন্য বাছাই গত এক. তারা একটি ইতিবাচক বাছাই কিংবা কেউই তাই যদি একটি ঋণাত্মক সংখ্যা, তাহলে তারা অবশ্যই শূন্য বাছাই করা হয়েছে. সুতরাং এটি ঠিক যায় নিচে ভালো শৃঙ্খল. কিভাবে একটি অংশ তাই একটি উদাহরণ যদি থেকে ভিন্ন - একটি যদি / অন্য থেকে আলাদা IFS শুধু একটা ক্রম. এবং এই একটি সাধারণ প্রশ্ন যে আপনি একটি ভালো পেতে হলে মানুষ ভাল,, হয় জিজ্ঞাসা 95 CS50 মধ্যে, কি করবে এই প্রোগ্রাম আপনাকে বলতে? স্পিকার 5: আপনি একটি এ পেয়েছিলাম JOSEPH: হ্যাঁ. আপনি প্রতি একক পেয়েছিলাম ডান যারা এক. আপনি, আপনি একটি বি পেয়েছিলাম, একটি একটি পেয়েছিলাম ডান, একটি সি এবং একটি ডি পেয়েছিলাম? তাই এই সব মূল্যায়ন পেতে যাতে. একটি 95 90 তার চেয়ে অনেক বেশী, যখন সুতরাং, এটা 80 চেয়ে আরও অধিক, এটি এর 70 তার চেয়ে অনেক বেশী, এবং এটি এছাড়াও 60 তার চেয়ে অনেক বেশী. তাই আপনি ঐ বাংলাদেশের সব পেয়েছিলাম. এবং আমি আপনি অনুমান শুধু এ চাই যে সমাধানের পথ প্রতিস্থাপন হয় অন্যথায় / যদি এর সঙ্গে যারা. তাই এই দৃশ্যকল্প ইন, এটা 95 যে সূচিত 90 তার চেয়ে অনেক বেশী, এবং তারপর এটি আছে বাকি নির্ণয় না বিবৃতির. যে সম্পর্কে কোন প্রশ্ন? তাই অন্য শর্তাধীন ধরণের আছে আমরা এখানে যে কাঠামো যা আমরা একটি সুইচ বিবৃতি কল. তাই এই আপনি মূলত চেক করতে পারবেন কি আপনাকে করা একটি সংখ্যা মান সুইচ বিবৃতি মধ্যে হয়. তাই এই দৃশ্যকল্প, আমরা সুইচিং করছি এন যদি এন নেভিগেশন, এবং আমরা, ওহ, বলছে এক, তারপরে যে বিবৃতি মুদ্রণ. এবং তারপর প্রস্থান, যার মানে বিরতি সুইচ বিবৃতি আউট. এটি এক ছিল না, তারপর, ভাল, শুধু অবশেষে সেই ক্ষেত্রে সব চেক. এটি একটি বা দুটি অথবা যদি তাই এটি পরীক্ষা করা তিন, এবং এটি অনুসারে ছাপে. এবং কি এই ডিফল্ট অভিব্যক্তি নিচে এখানে তারা কোনো লিখতে না মানে হয় যারা তারপর অবৈধ বলে. সুতরাং আসুন আর এন চাইতে এবং বলা যাক ব্যবহারকারীর আমার চার আপনি. ওয়েল, এটা সেই ক্ষেত্রে কেউ মিল, তাই এটি কি প্রিন্ট আউট হবে ডিফল্ট অধ্যায়. হ্যাঁ, প্রশ্ন? স্পিকার 5: আপনি বুলিয়ান ব্যবহার করতে পারি এক্সপ্রেশন পরিবর্তে এক, দুই, বা তিন? JOSEPH: তাই প্রশ্ন আপনি ব্যবহার করতে পারেন হয় পরিবর্তে এক বুলিয়ান এক্সপ্রেশন, দুই, এবং তিনটি? এবং সি, আমি আপনাকে বিশ্বাস তা করতে পারবেন না. কিন্তু অন্যান্য ভাষায়, যা আপনি হতে পারে শেষে সম্মুখীন আপনি পারেন জাভাস্ক্রিপ্ট মত সেমিস্টারে. হ্যাঁ, আপনি প্রথম গনা করতে হবে তারপর যে মান এবং এটি ব্যবহার বিবৃতিতে সুইচ. হাঁ? ছিনিয়ে: সুইচ সুবিধার সুতরাং অংশ আপনি এই না হলে বিবৃতির মনে হয় একটি যদি / অন্যথায়, তাই হিসাবে এন সমান হলে চাই একটি বা যাই হোক না কেন সমান. অন্যথায় / এন সমান হলে দুই, যাই হোক না কেন সমান. অন্যথায় / এন সমান হলে তিনটি সমান. সুতরাং প্রোগ্রাম চালানো হবে উপায় হল এটা ক্রমানুশারে যে তালিকা নিচে যেতে হবে এবং, চেক এক n হল? নাঃ. এন দুটি কি? নাঃ. এন তিন কি? হ্যাঁ. এই কি. সুইচ বিবৃতি দিয়ে যেহেতু, এটা এটা হতে কম্পাইল আসলে সক্ষম সত্যিই দ্রুত. এবং যত তাড়াতাড়ি এটি সুইচ, এটা বলেছেন ঠিক আছে, এন আমি কোথায়, দুই নয়, বলছেন অবিলম্বে যেখানে ঝাঁপ যাচ্ছে আমি নির্বাহ শুরু অনুমিত করছি. আমি প্রথম চেক করতে যাচ্ছি না, এন এক, দুই n হল না? এটা অবিলম্বে কাজ শুরু করতে পারেন এটি করতে অনুমিত এর কি. এবং এ কারণে যে, এটি না করতে পারেন বুলিয়ান শর্ত গ্রহণ করা. অন্যথায় এটা করতে হবে অনুক্রমিক মত, ঠিক আছে, এন হয় শূন্য থেকে বড়? অন্যথায় 10 বা যাই হোক না কেন আর এন বেশী. JOSEPH: এই ক্ষেত্রে, যদি আপনি ব্যবহৃত যদি / অন্যথায়, যদি এর তারপর সুইচ would প্রায় তিন গুণ রান যদি / অন্যথায়, যদি দ্রুত. আমরা যেমন মধ্যে সুইচ বিন্যস্ত করতে পারেন আমরা বিরতি না একটি উপায় যে ক্ষেত্রে প্রতিটি পরে. তাই এই ক্ষেত্রে, আমি পার্টিশন করছি আমরা এক মধ্যে বেছে নিন এবং যে সংখ্যা দুটি উচ্চ নম্বর না হচ্ছে এবং তিনটি একটি উচ্চ নম্বর হচ্ছে. তাই এই ক্ষেত্রে, যদি এন এটি, একটি বা দুটি নয় কেস আঘাত এবং তারপর এটি হবে হবে , হয়ে যাওয়া, কারণ কোন বিরতি নেই. এবং এটা এখানে শেষ হবে. আমরা এক বাছাই সুতরাং, যদি এটা printf করবেন এবং তারপর, তাই যে কেউ ভাঙ্গতে এই মৃত্যুদন্ড কার্যকর করা হয়. এবং অবশ্যই, তারা তিনটি প্রবেশ করলে অথবা অন্য কিছু, তারপর লাফালাফি করবে যারা না এবং সেখানে যাওয়ার, এবং এটি পরিবর্তে চালানো হবে লাইন সংশ্লিষ্ট. যে সম্পর্কে কোন প্রশ্ন আছে? হ্যাঁ? স্পিকার 4: আপনি একটি ত্রুটি পেতে চান আপনি যদি মামলার এক পরে একটি বিরতি ছিল কিন্তু এটা এটা করতে জন্য কিছু আছে কি না? JOSEPH: তাই প্রশ্ন আপনি পেতে হবে হয় একটি ত্রুটি তোমার পরে একটি বিভাজক আছে এক ক্ষেত্রে কিন্তু কিছুই করার নেই? এবং উত্তর নেই. আপনি আসলে একটি ত্রুটি পাবেন না. হুম মিমি, হ্যাঁ. এখানে তাই যত ধরণের একটু পরিবর্তন, আমি এখানে একটি printf করা যাচ্ছে না. উপস. তাই এই যদি প্রিন্ট করে আমি ইনপুট হিসাবে এক করা? হ্যাঁ. এটা তা গ্রহণ না করে আপনাকে বলতে হবে দু 'বার একটি উচ্চ নম্বর, ডান? এটা যে প্রথম ক্ষেত্রে আঘাত করবে না, তা ভঙ্গ করবে না, এবং এটা ফেলা হয় দ্বিতীয় ক্ষেত্রে করার মাধ্যমে. যে সম্পর্কে কোন প্রশ্ন? ছিনিয়ে: আপনি অন্য প্রশ্ন আছে? JOSEPH: ঠিক আছে, শান্ত. ঠিক আছে. সুতরাং আমরা একটি কল অন্য কিছু নেই মূলত যা তিন অপারেটর একটি কাজ করার বিকল্প সিন্টেক্স এবং তারপর যদি অন্য. এবং এটা আপনি এক লাইন থেকে তা সব করতে দেয়. , এই বিশেষ প্রোগ্রামে তাই আমি এন জন্য ব্যবহারকারীকে জিজ্ঞাসা করছি. এন 100 তার চেয়ে অনেক বেশী এবং, যদি আমি বলতে তাদের তারা একটি উচ্চ নম্বর বাছাই করা. অন্যথায় আমি তাদের বলুন তারা কম নম্বর বাছাই করা. সুতরাং আমরা এই সত্যিই দীর্ঘ সিনট্যাক্স ব্যবহার করতে পারেন, এন যদি স্ট্রিং, এস, এবং তারপর চেক অধিক 100 ও দায়িত্ব অর্পণ সেই অনুযায়ী এটি. কিন্তু আমরা এই আরো অনেক সংক্ষিপ্ত করতে পারেন এই তিন অপারেটর সিনট্যাক্স ব্যবহার করে একটি প্রশ্ন জড়িত থাকে, যা চিহ্ন এবং একটি কোলন. তাই প্রশ্ন চিহ্ন মূলত হয় অধিকার, একটি প্রশ্ন জিজ্ঞাসা? ছিনিয়ে: হয়তো যে জুম. JOSEPH: হ্যাঁ. গুড পয়েন্ট. তাই এই তিন অপারেটর হয়. আমি প্রথম প্রশ্ন জিজ্ঞাসা, 100 আর এন বেশী? যদি তা না হয়, তাহলে আমি প্রথম চালানো কোলন আগে ভাগে. এটা না করে, তাহলে আমি চালানো কোলন পরে দ্বিতীয় অংশ. তাই আপনি যদি এন, 100 তার চেয়ে অনেক বেশী তারপর এটি উচ্চ অকার্যকর ও রাখে যে স্ট্রিং গুলি করে. এন কম 100 হয়, এটা কম পছন্দ এবং তারপর স্ট্রিং গুলি মধ্যে যে রাখে. সুতরাং যে এই বড় খণ্ড ঘনীভূত হবে শুধু যে এক লাইন মধ্যে ডাউন. স্পিকার 5: যে জনপ্রিয় হয়? JOSEPH: হ্যাঁ, তার জন্য বেশ জনপ্রিয় আপনি চান যেখানে মূলত জিনিস একটি নিয়োগ উপর ভিত্তি করে অবস্থার কিছু বাছাই. এবং এই ক্ষেত্রে, আমরা চেষ্টা করছিলেন স্ট্রিং গুলি একটি মান নির্ধারণ করা. এটা যাতে না - আমি সত্যিই আমি পছন্দ করি না অনুমান এটি অন্যান্য ক্ষেত্রে. কিন্তু এটি বিশেষত দরকারী এই নিয়োগ জন্য. ছিনিয়ে: এটা খুবই কমন প্যাটার্ন আপনি কিছু ভেরিয়েবল আছে যে যেখানে কিছু, সেট যদি আপনি বলে যাচ্ছেন এক মান এই পরিবর্তনশীল; অন্য, সেট অন্য মান এই পরিবর্তনশীল. এবং যে দৃশ্যকল্প হয় যেখানে একটি তিন ব্যবহার. JOSEPH: এবং আপনি সংরক্ষণ করছেন লাইন প্রচুর, ডান? এবং এটা শুধু তর্কসাপেক্ষ আপনার কোড তোলে অল্প আরো পাঠযোগ্য. হ্যাঁ, প্রশ্ন? স্পিকার 6: একটি তিন, আপনি, যেতে পারে স্ট্রিং গুলি সমান গুলি, প্রশ্ন চিহ্ন? এবং তারপর আপনি,, বলতে পারে পাঁচটি পৃথক অপশন. এবং তার উপর নির্ভর করে কি এন সংখ্যা , আপনি ঐ এক চয়ন করবে হয়েছিল? JOSEPH: সুতরাং, একটি প্রশ্ন আছে হয় আপনি স্ট্রিং করতে পারেন যেখানে সিনট্যাক্স সাজানোর গুলি এন সমান, এবং তারপর আরো দুই আছে যে প্রশ্ন চিহ্ন পরে বিকল্প? এবং একটি সহজ উত্তর নেই, আছে না হয় কি সত্যিই একটি ভালো উপায় যে, যদি না আপনি নীড় একাধিক তিন চাই একে অপরের ভিতর অপারেটরদের. আপনি 100 টিরও এন বৃহত্তর মত কাজ করতে পারে প্রশ্ন চিহ্ন, এবং তারপর অন্য তিন অপারেটর, এন 50 এর চেয়ে বড়, প্রশ্ন চিহ্ন, এবং কুলায় এটি যে উপায়. কিন্তু যে দৃশ্যকল্প ইন, আপনার কোড এর , ধরনের পাঠযোগ্য এবং নোংরা পেয়ে এবং এটি শুধু যেতে ভাল হতে পারে এক পর্যায়ে একটি যদি / অন্য বিবৃতি. ছিনিয়ে: এবং এছাড়াও হিসাবে একটি সাইড নোট, পিএইচপি ভুল তিন কার্যকরী অপারেটর যেমন যে নেস্টেড ternaries তারা উচিত হিসাবে এমনকি কাজ করে না. JOSEPH: হ্যাঁ. সুতরাং, সামান্য কিছুটা বিভ্রান্তিকর পায় আপনি যান, বিশেষ করে যখন বিভিন্ন ভাষায়. ছিনিয়ে: এটা যথেষ্ট বিভ্রান্তিকর যে ভাষায় এটি সম্পর্কে ভুল. JOSEPH: তাই আসলে, শুধু নির্মল, সবাই জানি না কি যে % S-এখানে বেশী করে? যে সম্পর্কে কোন প্রশ্ন? আমি অনুমান শুধু ক্যামেরার জন্য,% s- মূলত আমাদের একটি স্থানধারক লাগাতে দেয় একটি স্ট্রিং জন্য. এবং তারপর শেষে, আমরা নির্দিষ্ট করে পরিবর্তনশীল আমরা এই পুরা চাই জায়গা ধারক গুলি করে. সুতরাং যে মূলত গুলি লাগে এবং এটা এখানে এটা বন্ধ রাখে. এবং তারপর এটা আপনার বাছাই করা, প্রিন্ট আউট হবে একটি উচ্চ অথবা আপনি একটি কম নম্বর বাছাই করা. ঠিক আছে. সুতরাং loops আপনি জিনিষ করতে সক্ষম হবেন বিজ্ঞপ্তি অঙ্গভঙ্গির মধ্যে, ডান? আপনি এই সম্মুখীন হতে পারে সব সময় প্রবেশ আকারে ভূত loops অথবা পর্যন্ত একই পদ্ধতি পুনরাবৃত্তি করুন অথবা একটি নির্দিষ্ট পদ্ধতি পুনরাবৃত্তি করুন কতবার. সুতরাং কেন এই আমাদের জন্য ভাল? ওয়েল, সি, আমরা এই আছে এর কথা বলা যাক গান ভূত বাস্তবায়িত যে sings, এই গান হয় যে শেষ হয় না. এটা ঠিক এবং নেভিগেশন এড়িয়ে যায় এবং চিরকালের জন্য এবং চিরকালের উপর. হ্যাঁ, আপনি সত্যিই একটি প্রোগ্রাম করতে পারবেন না যে printf, অসীম নম্বর আছে এটা বিবৃতি, ডান? তাই এই বিশেষ দৃশ্যকল্প ইন, এক উপায় আপনি এই কাজ করতে এবং পারে এটা হয় চিরতরে প্রিন্ট করা পরিবর্তে একটি লুপ ব্যবহার. সুতরাং যখন একটি লুপ কি চালানো হবে দুই ধনুর্বন্ধনী শরীরে যে উপর ভিত্তি করে এটা কি জন্যে শর্ত. যদি আগে এই বিশেষ উদাহরণে তাই আমরা চিরকালের এই মুদ্রণ করতে চান আমরা কি হতে পারে? ভাল, নিশ্চিত, ডান? তাই এই ধরণের ধারণা সম্মিলন কিছু বুলিয়ান প্রকাশের একটি লুপ অন্তর্ভুক্ত থাকে. এবং আমরা বুলিয়ান সম্পর্কে শিখেছি তার আগে এক্সপ্রেশন. তাই যখনই ভেতরে শর্ত যে, এই লুপ সত্য রয়ে যায় উপর এবং এবং চালানো হবে. এবং এই ক্ষেত্রে, যদি আমরা তা সরবরাহ সত্য, এই অসীম ঘটায় প্রথম প্রথম গান ছাপে এবং যা লুপ এবং আমরা ছাড়া আগে পছন্দসই হিসাবে প্রথম একটি অসীম আছে একটি প্রোগ্রাম যা হচ্ছে printf বিবৃতি সংখ্যা, যা হয় সম্ভব না. তাই আরো compellingly, যদিও, আপনি একটি সঙ্গে এই ব্যবহার করতে পারেন পরিবর্তনশীল এবং একটি শর্ত. সুতরাং আসুন আমরা পুনরাবৃত্তি করতে চান বলা যাক সম্পূর্ণভাবে পাগলাটে শব্দগুচ্ছ,, 10 বার. তাই আপনি যখন একটি লুপ করতে পারেন হয় আপনাকে প্রথমে একটি পাল্টা আরম্ভ করতে পারেন পরিবর্তনশীল বাইরে 10 লুপ যদিও. এবং তারপর মূলত, প্রতিটি সময় আপনি যান যখন লুপ মাধ্যমে, আপনি প্রিন্ট আউট তারপর বিবৃতি এবং আপনি হ্রাস পাল্টা পরিবর্তনশীল শেষে না হওয়া পর্যন্ত, এক পর্যায়ে একবার আমরা যথেষ্ট আমি বিয়োগ বার, 1 আমি যথেষ্ট সময় থেকে - এবং ঠিক, আমি বিয়োগ বিয়োগ নির্মল আমি বিয়োগ 1 আমি সমান মানে. এটা মূলত আমি নিচে আনা হবে একবার আমি শূন্য আঘাত বিন্দু যেখানে, এই শর্ত সত্য নেই এবং তাই এটি লুপ থেকে বের প্রস্থান করে. সুতরাং সম্পূর্ণভাবে পাগলাটে শুধুমাত্র 10 বার ছাপে. যখন একটি লুপ সম্পর্কে কোন প্রশ্ন? ঠিক আছে. তাই আমরা কিছু করতে পারি একটি উপায় আছে কি আমরা ঠিক আরো একটি সংক্ষিপ্ত পদ্ধতিতে সাথে করেছিল আমরা লুপ জন্য একটি কল. সুতরাং একটি জন্য লুপ একটি গঠিত আরম্ভের, শর্ত, এবং একটি আমরা আগে ছিল ঠিক মত আপডেট, এই সময় লুপ মধ্যে. সুতরাং আসুন একবার দেখে নেয়া যাক. এই সময় লুপ, আমরা একটি ছিল আরম্ভের পরে, আমরা একটি ছিল আমরা চেক শর্তে যে. এবং তারপর আমরা একটি আপডেট ছিল উপরের পদধ্বনি. একটি জন্য লুপ সঙ্গে, এই মূলত লাগে এই তিনটি বিষয় এবং এটি ঘন নিচে এক লাইন মধ্যে. এটা যাতে প্রথম জিনিস লুপ জন্য আরম্ভের হয়. এবং তারপর আপনি তারপর একটি সেমিকোলন না, এবং আপনি আমি যা অবস্থা, কি শূন্য অধিক, ওইখানে যায় এবং তারপর আপডেট পদক্ষেপ. তাই এই সময়ে সঞ্চালিত পরার লুপ শরীরের খুব শেষ. তাই এই দুটি প্রোগ্রাম মূলত সমতুল্য. কোন প্রশ্ন? তাই এক পার্থক্য কি এই দুজনের মধ্যে? যে কেউ তা নির্দেশ করতে পারি? এটা একটু সূক্ষ্ম হতে পারে. এটি শুধু একটি খুব ছোট পার্থক্য. হ্যাঁ? স্পিকার 5: আপনি ব্যবহার করতে পারবেন না জন্য লুপ বাইরে আমি চলক [শ্রবণাতীত]? JOSEPH: যথাযথভাবে. তাই এই আমরা পাবেন এমন কিছু বিষয় পরে পরিবর্তনশীল সুযোগ বলা. কিন্তু মূলত, এই আমি জীবনে int এই সময় লুপ বাইরে. তাই একবার এই সময় লুপ সম্পন্ন করা হয় নির্বাহ, আমি পরে আমি ব্যবহার করতে পারবেন প্রোগ্রামের উপর. যেহেতু এই সঙ্গে লুপ জন্য, এই int-আমি লুপ জন্য এই ভেতরে scoped হয়. এবং এটা এই অংশ ভেতরে কারণ জন্য লুপ, যে শুরু হয় সঙ্গে বন্ধনী ও প্রান্তে ওইদিকে কোঁকড়া বক্রবন্ধনী. ভেতরে ঘোষিত যে কিছু এখানে বাইরে ব্যবহার করা যাবে না. আমি বাইরে আমি ব্যবহার করার চেষ্টা সুতরাং, যদি এটা করব , অঘোষিত চিহ্ন সম্পর্কে বলুন. এবং মূলত, আমি না would এটি ব্যবহার করতে পারবেন. ছিনিয়ে: এবং ভাল,, 10 বছর আগে, এ আক্ষরিক সব ক্ষেত্রে, কোঁকড়া ধনুর্বন্ধনী হয় আপনি নির্ধারণ ব্যবহৃত কি একটি পরিবর্তনশীল এর সুযোগ. তাই সেখানে, আমি 10 সমান int এই ভেতরে ঘোষিত হয় কোঁকড়া ধনুর্বন্ধনী সেট. এবং তারপর, তাই যতদিন আপনি আমি ব্যবহার করার চেষ্টা হিসেবে এই কোঁকড়া বক্রবন্ধনী আগে, এটা সূক্ষ্ম. আপনি করতে টাইপ করুন যখন আপনি, আপনি দেখতে হতে পারে ড্যাশ, ড্যাশ, এসটিডি, সমান, c99 দেখুন. সুতরাং যে সি এর পরবর্তী সংস্করণ যে জিসিসি এছাড়াও যে দেয় বাস্তবায়িত হয়েছে এই শর্টকাট. তাই এই সি অনুমতি দেওয়া হবে না ব্যবহৃত এবং আপনি দেখতে পারেন কেন, কারণ এই int আমি এই তরঙ্গায়িত বক্রবন্ধনী বাইরে কিন্তু এটি এখনও এ বলে মনে করা হচ্ছে এই কোঁকড়া ধনুর্বন্ধনী সুযোগ. কিন্তু এই একটি খুব সুবিধাজনক জিনিস, এবং তাই এটি একটি ভাল এক্সটেনশন. JOSEPH: কোন প্রশ্ন? ঠিক আছে. তাই কি আরো দরকারী যে কখনও কখনও আপনি গতিশীলতা ধরণের মধ্যে চান আপনার লুপ, ডান? আপনাকে কেবল অগত্যা প্রিন্ট করতে চাই না সম্পূর্ণই সব সময় পাগলাটে, আপনি থেকে নিচে গণনা করতে চান 10 বা কিছু. এবং যাতে আপনি পাল্টা পরিবর্তনশীল ব্যবহার করতে পারেন যে লুপ এর ভিতর হিসাবে ভাল. এবং এই ক্ষেত্রে, এই প্রোগ্রাম ঠিক নিচে সব পথ নিচে 10 থেকে গণ্য. এবং এটা কি প্রিন্ট করা হয় না? এটি শূন্য প্রিন্ট করে না, ঠিক আছে, কারণ যখন - হ্যাঁ, এটা 11 প্রিন্ট করা হয় না. সুতরাং, শূন্য প্রিন্ট করা হয় না কারণ যখন আমি শূন্য, এটা মূল্যায়ন, স্মরণ এটা যায় আগে শর্ত লুপ শরীরের চালানো. আমি শূন্য হয় যখন, এই সুতরাং, মিথ্যা এটি ডাউন গণনা প্রিন্ট আউট না শূন্য, এটা বেড়ে চলেছে আউট ছাপে 1 সব পথ নিচে 10 নিচে. আমরা আসলে এটি শূন্য মুদ্রণ চেয়েছিলেন, যদি তারপর আমরা একটি সমান চিহ্ন লাগাতে চাই সাইন চেয়ে এই বৃহত্তর পরে. ঠিক আছে. ইনপুট ভ্যালিডেশন এটা করার জন্য এক উপায়, যা আপনাকে যা করতে ব্যবহারকারীকে জিজ্ঞাসা যখন হয় কিছু, আপনি নিশ্চিত তারা করতে চাই আপনার নির্দেশাবলী অনুসরণ করুন, ব্যবহার হয় যখন লুপ, ডান? তাই এই বিশেষ ক্ষেত্রে, আমি জিজ্ঞাসা করছি একটি ধনাত্মক সংখ্যা জন্য এবং তারপর আমি আছি ইনপুট জন্য অপেক্ষা করছে. ইনপুট যদিও এবং তারপর আমি চেক করা কম শূন্য চেয়ে, তাদের জিজ্ঞাসা রাখা. তাই যতদিন তারা আমাকে একটি নম্বর দিতে হিসাবে যে ইতিবাচক নয়, জিজ্ঞাসা রাখা, জিজ্ঞাসা রাখা, জিজ্ঞাসা রাখা. কিন্তু ধরণের অদ্ভুত এই সম্পর্কে কি? অথবা সে সম্পর্কে অনুকূল বলে মনে হচ্ছে না ঠিক এই কাঠামো? যে কেউ? হ্যাঁ? স্পিকার 6: আপনি পুনরায় করছি নির্দেশ দু 'বার. JOSEPH: রাইট. তাই আমরা দুই printf বিবৃতি আছে এখানে, ডান? তাই আমরা ঠিক এই পেতে পারেন একটি উপায় আছে যাবে না যে এক নিচে আমাদের কোড সহজে পড়া এবং একটি করার সামান্য বিট আরো পরিষ্কার. এবং তারপর আমরা আছে না পাশাপাশি দু 'বার পান করেছেন. এবং আপনি এটা করতে পারেন একটি পদ্ধতি একটি কাজের জন্য সময় লুপ ব্যবহার করে. এবং একটি কাজের জন্য সময় লুপ মূলত একটি যখন একটি লুপ বিভিন্ন ফর্ম যেখানে কোঁকড়া ধনুর্বন্ধনী মধ্যে যা কিছু অন্তত একবার মৃত্যুদন্ড কার্যকর করা হয়. তাই এখানে, আমি ডিক্লেয়ার, int- ইনপুট, বাইরে প্রথম. এবং তারপর আমি এটা করতে বলে, নির্দেশ যখন ইনপুট শূন্য কম. তাই এটি প্রথম কি হিট. সর্বদা অন্তত এই চালানো হবে একবার, তাই এটা সবসময় ব্যবহারকারী জিজ্ঞাসা করবে অন্তত একবার ইনপুট জন্য. এবং তারপর এটি যে ইনপুট মূল্যায়ন, এবং এটি একটি বৃত্তে যায়. হ্যাঁ, প্রশ্ন? স্পিকার 6: এটা একটা উপায় আছে কি [শ্রবণাতীত] ধরনের, যদি আপনি বলে মত, GetString, এবং কারো [শ্রবণাতীত] [শ্রবণাতীত] একটি উপায় আছে JOSEPH: সুতরাং, একটি প্রশ্ন আছে হয় ইনপুট ভ্যালিডেশন কি ভাবে যদি ইউজার ডান রাখা না পরিবর্তনশীল ধরণ? আমরা কোন int জন্য অনুরোধ এবং যদি তাই হয় তারা পরিবর্তে আমাদের একটি স্ট্রিং দিতে. এবং আমরা বাস্তবায়ন যে ফাংশন মধ্যে আপনার জন্য, GetInt, সব GetString যারা ফাংশন, তারা আসলে ইতিমধ্যেই মৌলিক টাইপ ইনপুট যে সাজানোর না ফণা অধীন বৈধতা. তাই আপনি যদি ফাংশন ব্যবহার করছেন যে আমরা আপনার দেওয়া, সত্যিই আপনি করতে হবে না. কিন্তু আপনি কিভাবে আরও বেশি করে দেখতে চাই, যদি আসলে আপনি তা করতে পারে, আপনি করতে পারেন ফাইলের দিকে ফণা অধীন I/O-- স্ট্যান্ডার্ড ইনপুট / আউটপুট ফাংশন, ফাইল না মত স্ট্যান্ডার্ড ইনপুট থেকে পড়া এবং স্ট্যান্ডার্ড আউটপুট. এবং যদি আপনি একটি ভাল ধারনা পেতে পারেন কিভাবে আপনি তা করতে পারে. ছিনিয়ে: এক সমস্যা যদিও, বিশেষভাবে হয় উদাহরণ দিয়ে আপনি বলেন, আপনি একটি স্ট্রিং আশা এবং আমি কোন int লিখতে. কিভাবে আপনি পার্থক্য বলতে হবে ইচ্ছাকৃতভাবে অনুপস্থিত মধ্যে int-123 অনুপস্থিত বনাম স্ট্রিং 123? তাই স্ট্রিং, এটা প্রায় কাছাকাছি কোন আছে এর বৈধতা, এটা ঠিক যাই হোক না কেন তারা আপনি ব্যাখ্যা করা হবে প্রবেশ একটি স্ট্রিং হিসেবে. আন্তর্জাতিক, সহজ কোনো ব্যাপার কারণ আপনি ব্যবহারকারী থেকে ইনপুট নিতে, আপনি আছেন সবসময় একটি পংক্তি গ্রহণ. এবং যাতে স্ট্রিং এর পরে যা করতে পারেন চেক, এই সব হল আসলে সাংখ্যিক সংখ্যা? JOSEPH: ঠিক আছে. একটি কাজের জন্য সময় লুপ সম্পর্কে কোন প্রশ্ন? ছিনিয়ে: ওহ, এবং এই হয় - সুযোগ ফিরে যাওয়া, একটি কিছুটা সাধারণ ভুল কিছু স্থানীয় ব্যবহার করার চেষ্টা করছে এই কি সময় থেকে পরিবর্তনশীল এই অবস্থার ভিতর লুপ. এবং প্রকৃতপক্ষে, আমরা শুধু পরিত্রাণ যদি এই এবং int-ইনপুট সমান বলেন, GetInt তারপর কম্পাইলার চিত্কার করবে আমাদের, ইনপুট অস্তিত্ব নেই, কারণ সুযোগ বাইরে এই কোঁকড়া ধনুর্বন্ধনী. JOSEPH: এবং যে কেন আমরা এখানে এই লাইন আপ প্রয়োজন. ঠিক আছে. তাই আপনি যদি একটি আউট ভাঙ্গতে পারে লুপ তাড়াতাড়ি আপনি করতে চান. তাই এই একটি ভিন্ন পথ হল আমরা শুধু বাস্তবায়িত কি বাস্তবায়ন. এবং পরিবর্তে অবস্থা ব্যবহার করে বন্ধনীর মধ্যে, আমরা একটি ব্যবহার করছেন যদি দেহের ভিতরে বিবৃতি কি সময় লুপ. এবং মূলত, যখন ইনপুট অবশেষে হয় শূন্য থেকে বড়, আমরা আছি লুপ আউট বিরতি. এবং তাই আমরা সব যেতে হবে এখানে নিচে উপায়. এবং আপনি দেখতে পারেন যে এই would সম্ভবত এই পছন্দ করা এটা একটু বেশি দৃশ্যকল্প, কারণ বিট ক্লিনার এবং একটু পড়তে সহজ বিট. এই যেহেতু, আপনি ধরণের এটি অতিরিক্ত লাইন আছে. এটা অল্পমাত্র বিট uglier এর আমি একটি অর্থে, অনুমান. হ্যাঁ, প্রশ্ন? স্পিকার 4: পান মাত্র ভঙ্গ হবে ধনুর্বন্ধনী এক সেট আউট আপনি? JOSEPH: রাইট. তাই প্রশ্ন শুধু ভঙ্গ হবে হয় আপনি এক লুপ বাইরে চলে? এবং উত্তর হবে হ্যাঁ. তাই আপনার জন্য, loops জন্য নেস্টেড আছে উদাহরণস্বরূপ, আমি কোন int জন্য যদি আমি 0 সমান জে 0 সমান 10 এবং তারপর কোন int জন্য যতক্ষণ 10 পর্যন্ত, আমি ভেতরের আউট বিরতি হলে লুপ, আমি এখনও যেতে হবে বাইরের লুপ. সুতরাং এটি সম্পাদন যাব বাইরে অপারেশন. যে সম্পর্কে কোন প্রশ্ন? হ্যাঁ? স্পিকার 5: কিন্তু শুধুমাত্র কর্ম বিরতি কোঁকড়া ধনুর্বন্ধনী জন্য, না অন্য জন্য বিবৃতি? [শ্রবণাতীত] JOSEPH: তাই প্রশ্ন ভঙ্গ করা হবে হয় উল্টোদিকে loops জন্য শুধুমাত্র ফাংশন যদি মত অন্যান্য বিবৃতি? এবং হ্যাঁ, যে, মামলার কারণ আপনি, অধিকার, একটি লুপ আউট ভঙ্গ করছেন একটি অর্থে. ছিনিয়ে: অধিকাংশ ক্ষেত্রে, এটা না এই যদি কিছু বাছাই করা, তারপর বিরতি. সুতরাং আপনি আবেদন করতে ভঙ্গ করতে হবে না এটি প্রায় মোড়কে হয় যদি. এবং এছাড়াও, এই একটি লুপ অনেক বেশি হয় না, কিন্তু সুইচ এছাড়াও যে স্মরণ বিরতি দ্বারা আউট ভাঙ্গা. আমরা বিরতি ব্যবহৃত হচ্ছে দেখেছি আগে সুইচ সঙ্গে. JOSEPH: এবং আপনি তাদের ব্যবহার করতে পারেন যদিও লুপে এবং loops জন্য. কোন প্রশ্ন? ঠিক আছে. তাই পরবর্তী আপ ফাংশন হয়. তাই আপনি যদি এই কার্ল মার্ক্স্ এক ব্যবহৃত হতে পারে আপনার ভূত প্রকল্প ব্লকে. এবং এই মূলত পারবেন আপনি একটি সেট সংজ্ঞায়িত অনুসরণ করা নির্দেশাবলী. এবং কি আমি যে দ্বারা অর্থ এর মনে দেত্তয়া হয় ফিরে গণিত করার জন্য, ডান, বীজগণিত. আপনি আমরা x এর একটি ফাংশন কল আছে, কিছু পরিবর্তনশীল, এবং এর এই বলা যাক ফাংশন x এর ফল হল এক্স সমান প্লাস 5. তাই আপনি যদি এই কালো হিসাবে x এর ফল মনে করতে পারেন তারপর 15 নেয় এবং যে বক্স 20 উত্পাদন করে. তাই আরো সাধারণভাবে, একটি ফাংশন কিছু ইনপুট এবং লাগে এমন কিছু বিষয় তারপর কিছু আউটপুট উত্পাদন করে. এবং কেন ফাংশন ভাল? তারা কারণের একটি সংখ্যা জন্য ভাল. তাই কেউ একটি ছুরিকাঘাত নিতে চান না মানে কি প্রতিষ্ঠানের এ? কেন ফাংশন নিরিখে সহায়ক? হ্যাঁ? স্পিকার 4: এটা তোলে আপনার কোড আরো পাঠযোগ্য. JOSEPH: রাইট. সুতরাং বিষয় হল যে এটা করে তোলে হয় আপনার কোড আরো পাঠযোগ্য, ডান? পরিবর্তে int-ভালো থাকার এক্স এক্স সমান বার এক্স বার X, আমি x এর ঘনক্ষেত্র থাকতে পারে আরো পাঠযোগ্য এবং আরো যা একটি পাঠক যাও বোধগম্য. প্রতিষ্ঠান পদ হয় সামলানো মধ্যে আপনার কোড আপ বিভাজন অংশ, যাতে পরিবর্তে চেষ্টা সব এক দীর্ঘ বিভাগে এই বাস্তবায়ন প্রধান, আপনি ধরণের এটি আপ বিভক্ত করতে পারেন মত মধ্যে, ঠিক আছে, এর একটি ফাংশন লিখুন কিছু ঘনক্ষেত্র করতে, আমি কি লিখতে যাক একটি কিছু বর্গক্ষেত্র করার কাজ. আপনি ক্ষুদ্র মধ্যে এটি আপ বিভক্ত করতে পারেন এই ভাবে, আপনি মোকাবেলা করতে পারেন যে সামান্য অংশ মোকাবেলা করার চেষ্টা উল্টোদিকে আচমকা একটি বড় সমস্যা. ছিনিয়ে: অথবা এমনকি ক্ষুদ্র, সামান্য অংশ যে আপনি এবং একটি অংশীদার মোকাবেলা করতে পারেন. JOSEPH: হ্যাঁ. ছিনিয়ে: সুতরাং পরিবর্তে উভয়ের মধ্যে আপনি এক ইমপ্লান্ট করার চেষ্টা একই সময়ে কাজ. JOSEPH: সরলীকরণ. যে কেউ একটি অনুমান নিতে চান? হ্যাঁ? স্পিকার 5: আরো পুনরাবৃত্তি. JOSEPH: রাইট. আপনার সাথে কি করতে পারেন যে তাই এক জিনিস সরলীকরণ এটা ধরণের উপর যে হয় পুনরায় ব্যবহারযোগ্যতা হিসাবে একই লাইনে যে আমি একটি ঘনক ফাংশন লিখতে একবার, আমি করতে পারেন শুধু ব্যবহার করে বেশি এবং বহুবার আবার পরিবর্তে টাইপিং এর আমার প্রোগ্রামে এক্স বার এক্স বার x এর উপর এবং এবং উপর আবার. এবং সরলীকরণ এখানে এটাও ঠিক এটি আপনার কোড বাছাই করে তোলে মানে আপনি বিভক্ত একবার সহজ ডিবাগ ফাংশন মধ্যে এই পর্যন্ত. তাহলে আপনি যেখানে স্থানীয় বৈশিষ্ট্যে মণ্ডিত পারেন আপনার সমস্যার ধরণের হয়. কোন প্রশ্ন? তাই আরেকটি ধারণা সঠিক, বিমূর্ততা হয়? এই কালো বাক্স. ভালো লেগেছে আপনি GetInt কি জানেন ব্যবহারকারী থেকে ইনপুট গ্রহণ করতে? আমরা সত্যিই সঠিক, আপনি বলেন নি? আমরা আপনাকে বলেছে করেছি সমস্ত GetInt না হয় এটা এটি আছে বলছেন ঠিক কি. আমরা আপনাকে বলতে না তাই, এমনকি যদি কিভাবে এটি কাজ করে, আপনি এখনও জানেন. তাই এই বিশেষ ক্ষেত্রে, এই হল যা একটি চতুর্গুণ ফাংশন একটি ইনপুট বিভিন্ন জিনিষ একটি আউটপুট উত্পাদন. এবং যদি আপনি একটি সংখ্যা চতুর্গুণ পারেন এটি চারটি দ্বারা গুন দ্বারা. অথবা আপনি আমাদের কল করতে পারেন বিট দুটি দ্বারা এটি নামান. এবং আমরা এই আবরণ করব কিছুক্ষন পরে. এবং জানা কোন প্রয়োজন নেই কিভাবে এই ফাংশন আসলে এটা যতদিন কাজ করে নিদিষ্ট হিসাবে কাজ করে. সুতরাং ফণা অধীন, আমি হতে পারে মত, ইনপুট বার ফিরে আট দুই দ্বারা বিভক্ত. এবং আপনি সঠিক, জানেন না? আপনাকে জানতে হবে সব হয় এটা এটা বলছেন কি না. সুতরাং যে দরকারী জিনিস বিমূর্ততা সম্পর্কে. এবং আরেকটি বিষয় বাছাই করা এই ধারণা এক আপনার কোড localizing র বিশেষ অধ্যায়. যদি আপনার কোন সমস্যা আছে সুতরাং, যদি আপনি না চেষ্টা সব আপনার কোড উপর যেতে হবে সমস্যা যেখানে ছিল ঠিক করা. তাই এই ক্ষেত্রে, আমি বাস্তবায়িত ভুল ঘনক্ষেত্র. আমি ঘনক্ষেত্র গুন ছিল তিনটি দ্বারা. তাই এই ক্ষেত্রে, এই এক প্রোগ্রাম যে মাত্র তিনটি দ্বারা গুন হয়েছে সর্বত্র. আর যে অন্য প্রোগ্রাম আছে আউট একটি ফাংশন সৃষ্টি ঘনক. তাই এখন আমি আমার ভুল ঠিক করতে চান তাহলে এখানে, আমি প্রতি একক লাইন ঠিক করা আছে এই প্রোগ্রামে কোড নাম. যেহেতু অন্য দিকে, আমি ব্যবহার করতে হলে ফাংশন, আমি শুধু পরিবর্তন প্রয়োজন কি এক জায়গায় ভুল ছিল. তাই কম্পিউটার বিজ্ঞান, আমরা ইনপুট এবং আউটপুট কল. উপকরণ পরামিতি বলা বা করা হয় আর্গুমেন্ট, এবং আউটপুট বলা হয় মান প্রত্যাবর্তন. এবং আমরা এই ধরণের সাহায্য করে দেখতে হবে একটি দ্বিতীয় মধ্যে একটি ফাংশন নির্ধারণ করুন. তাই এই একটি ফাংশন সংজ্ঞা cubing জন্য. সুতরাং তারপর একটি ইনপুট নেয়, এবং এটি ফেরৎ যে সংখ্যা বার নিজেই তিনবার. তাই আসুন এই ভেঙ্গে যাক. সুতরাং আমরা একটি ফাংশন হেডারের আছে যা মূলত তিনটি বিষয় নিয়ে গঠিত. সুতরাং আমরা, পরামিতি আছে যা আমি আগে বলেন,, হয় এই ফাংশন মধ্যে ইনপুট. এবং তারপর আমরা ফাংশন একটি নাম দিন. এই ক্ষেত্রে, এটি ঘনক্ষেত্র বলা হচ্ছে. এবং তারপর আমরা কি ধরনের উল্লেখ ফেরত মান. তাই এই ক্ষেত্রে, আমার ঘনক্ষেত্র ফাংশন একটি পূর্ণসংখ্যা মধ্যে নেয় এবং এটি একটি পূর্ণসংখ্যা ফেরৎ. আমি দুটি পাস তাই আপনি যদি, দুই, একটি পূর্ণসংখ্যা তা, আমার আট ফেরৎ যা একটি পূর্ণসংখ্যা. সুতরাং প্রকার নাম পরামিতি ফিরে. যে সম্পর্কে প্রশ্ন? এবং তারপর ফিরতি মূল্য আসলে ফিরতি বলে শেষে উল্লিখিত এবং তারপর ফিরে যাই হোক না কেন ফিরতি মূল্য রয়েছে. তাই এই ক্ষেত্রে, আমরা এটা সব করা হলে একসঙ্গে, একটি ফাংশন লাগে পরামিতি, এটা কিছু বলা হয়, এবং এর এটি টাইপ কিছু যে ফেরৎ আমরা তা হতে যাচ্ছে বলে যে. কোন প্রশ্ন? তাই কিভাবে আমরা একটি ফাংশন ব্যবহার করবেন? ভাল, আমরা তারপর একটি ফাংশন লিখুন এবং মুহূর্তে আমরা আমাদের প্রোগ্রামে এটি ব্যবহার? তাই আমি ঘনক্ষেত্র এটা বলা হয়, এবং তারপর আমি ঘনক্ষেত্র ব্যবহার করতে পারেন. কিন্তু কি খেয়াল করা জরুরী যাতে বিষয়গুলি হল. আমি প্রধান নীচের ঘনক আছে, এটা ঘনক্ষেত্র মধ্যে চালানো যাচ্ছে. এবং এই সময়ে, কিছুই নেই প্রোগ্রামে ঘনক্ষেত্র বলা হয়, এবং এটি শুধু আমি আছে, ভালো হতে যাচ্ছে কোন ধারণা কি ঘনক হল. সুতরাং এটি অন্তর্নিহিত, আপনাকে বলতে হবে ফাংশন এর ঘোষণা. এটা দেখায় যে ত্রুটি আছে. তাই এই ক্ষেত্রে, ঘনক্ষেত্র নীচে মূল, তাই এটা যাচ্ছে না এটি সম্পর্কে জানতে. স্পিকার 5: তাই প্রধান সাধারণত হয় গত ফাংশন সংজ্ঞায়িত? JOSEPH: তাই প্রশ্ন হল, প্রধান সাধারণত শেষ হয় আপনি নির্ধারণ করতে চাই যে জিনিস? এবং কোন. আমরা সাধারণত প্রধান পছন্দ কারণ এটা অধিকার, শীর্ষে থাকা? প্রথম যে কাজটা আপনি কারণ প্রোগ্রামার খোলার চান দেখতে প্রোগ্রাম. তাই কিভাবে আমরা এই সমস্যার সমাধান করবেন শীর্ষে থাকা প্রধান চান, কিন্তু আমরা চাই যে ফাংশন, আমরা তাদের চাই প্রধান নীচের হতে এখনো ব্যবহার পাবে প্রধান ভেতরে তাদের? ভাল, আমরা আমরা কি কল ব্যবহার একটি ফাংশন প্রোটোটাইপ. তাই কি একটি ফাংশন প্রোটোটাইপ মূলত এটি প্রথম কি লাগে হয় হয় স্বাক্ষর বা ফাংশন হেডারের আমরা নিচে বাস্তবায়ন চান কি এখানে, এবং আমরা এ লাগাতে হবে একটি প্রোগ্রাম উপরে. তাই এই ক্ষেত্রে, আমরা বলতে যে, ভাল, পরে আমাদের প্রোগ্রাম, আমরা চলুন এই বাস্তবায়ন একটি প্রতিশ্রুতি করা যা লাগে int-ঘনক্ষেত্র বলা ফাংশন, একটি পূর্ণসংখ্যা ইনপুট. সুতরাং এখন, যে প্রধান উপরোক্ত কারণ, মূল, তা বলে যাচ্ছে, ওহ, ভাল, পরে প্রোগ্রাম, যা হতে যাচ্ছে তাই সেখানে আমি এটা পাঠাতে পারেন, তাই আমি করব এটা এখন জন্য দিয়ে যান. এবং তারপর নীচে, আমরা ঘনক্ষেত্র বাস্তবায়ন. এবং তারপর প্রধান ঠিক বলবে, ওয়েল, এটা লিঙ্কের সাজাতে হবে একসঙ্গে এই দুটি চিহ্ন. এবং আমরা আবরণ করব কি করে পরে মানে. এবং তাই এই যে জানতে পারবেন এটি ব্যবহার করা উচিত যে ঘনক্ষেত্র ফাংশন. ছিনিয়ে: [শ্রবণাতীত] অনুপস্থিত সম্পর্কে নীচে বা এ প্রধান শীর্ষ, আমি উভয় দেখা করেছি. ঠিক মত যে জিনিস আছে নীচে প্রধান করা. কিন্তু একটি প্রকল্প বিশেষ পায় একবার বড়, সাধারণত প্রধান একটি হল সব নিজস্ব ফাইল. আর এই মুহুর্তে, মত int-ঘনক্ষেত্র লাইন would - stdio.h ভেতরে একটি গুচ্ছ ঠিক যে int-ভালো লাইনের ঘনক্ষেত্র int-ইনপুট লাইন. তাই যারা এগুলির নমুনা জিনিস আপনি এ, হেডার ফাইল পুরা ঝোঁক যা বিন্দু, এটা কোন ব্যাপার না. ওয়েল, এটা কোন ব্যাপার না. যারা সবসময় শীর্ষে যান. আর প্রধান সব তার নিজস্ব একটি ফাইল নয়, আপনি নির্বাণ সম্পর্কে চিন্তা করতে হবে না পৃথক ফাংশন এগুলির নমুনা ফাইলে. JOSEPH: এবং আমরা যে একটু পাবেন একটু পরে রব কথা বলা শুরু হয় যখন কম্পাইল সম্পর্কে. তাই একটি পার্থক্য এর রয়েছে পরামিতি ও যুক্তি মধ্যে. আর প্যারামিটার ঠিক কি আমরা এই ইনপুট কল যখন আমরা ফাংশন নির্ধারণ করুন. এবং আমরা একটি আর্গুমেন্ট কল যখন আমরা আসলে ফাংশন মধ্যে এটি পাস. তাই এই ক্ষেত্রে, এই একটি প্যারামিটার হয়, আমরা আগে বলেন. এবং আমরা আসলে ওইখানে এটি ব্যবহার করার সময়, x এর ঘনক্ষেত্র, তারপর নিজেই x আমরা একটি যুক্তি কি কল ফাংশন ঘনক্ষেত্র করতে. ছিনিয়ে: তাই প্যারামিটার এর পাল্টা যুক্তি হল - এই পার্থক্য আছে, খুব অদলবদল করে বিভ্রান্ত. এই মুহুর্তে, আমার কাছে, এটা এক মত যারা শব্দ যে আমি তা খুঁজে দেখতে হলে বন্য, আমি অবিলম্বে কিন্তু সাহায্য করতে পারবেন না তারা এটি ব্যবহার করছেন কিনা প্রশ্ন সঠিক কনটেক্সট, কারণ পার্থক্যটা যথেষ্ট সূক্ষ্ম যে শুধু সবাই থাকে - আমি প্রায় সবসময় যুক্তি বলে নির্বিশেষে আমি বলতে চাচ্ছি কি. JOSEPH: এবং ফাংশন এছাড়াও দরকারী আমরা পার্শ্বপ্রতিক্রিয়া কি কল জন্য. সুতরাং একটি ফাংশন কোন ইনপুট গ্রহণ করা, এবং পারেন এটা এমন কোন আউটপুট তৈরী করতে পারে. তাই এই বিশেষ ক্ষেত্রে, আমি কোথায় কোন আছে একটি সাবরুটিন সংজ্ঞা মূল্য ফেরত. এবং যে উল্লেখ করার জন্য, আমরা ব্যবহার আমরা এখানে উপর একটি অকার্যকর কল. এবং তাই এই ফাংশন পার্শ্ব প্রতিক্রিয়া এটা স্টাফ ছাপে যে হয় পৃষ্ঠা থেকে আউট. এটা আসলে কোনো লাগবে না ইনপুট, এবং এটি আছে না আসলে কোন আউটপুট উত্পাদন. কিন্তু এই অর্থে লাভজনক হতে পারে আপনি, যেমন, ডিবাগ চান আপনার প্রোগ্রামে কিছু, যদি আপনি চান একটু সাবরুটিন লিখতে যে আউট ছাপে, বিষয়বস্তু, এর কথা বলা যাক মেমরি বা কিছু. এবং তাই এই পার্শ্ব প্রতিক্রিয়া কখনও কখনও হয় প্রসঙ্গের বাইরে দরকারী শুধু ইনপুট এবং আউটপুট চান. কোন প্রশ্ন? আর এই বিশেষ সেগমেন্ট শেষ, এই প্রোগ্রাম কি করে? আমি বলছি আপনি একটি দম্পতি দেব এটি পড়বেন সেকেন্ডের. একটি খুব মৌলিক স্তরে, তা আমরা চাই বলে এটা সঠিক, এক্স এবং ওয়াই বিনিময়সমূহ হল? সুতরাং কিভাবে আপনি অনেক আসলে মনে এই x এবং y অদলবদল হবে? আপনার হাত বাড়াতে. কেউ. ঠিক আছে. কে মনে করে এটা করবে যে x এবং y অদলবদল না? এবং যে সমষ্টি ছিল না পুরো রুম. তাই কিছু লোক নিশ্চিত না. ঠিক আছে. যে যুক্তিসঙ্গত নয়. তাই আসুন কি যখন মধ্য দিয়ে যেতে দেওয়া আসলে আপনি প্রথম ফাংশন কল এই প্রশ্নের উত্তর যাতে. তাই এই কি মেমরি হয় ধরণের মত দেখাচ্ছে. এই ধরণের একটি সরলীকৃত মডেল ভালো হয় যখন মত মেমরি দেখায় কি যদি আপনি একটি প্রোগ্রাম চালানো. তাই কিছু বলা আছে নিচে এখানে স্ট্যাকের এবং কিছু গাদা বলা. এবং এই দিকে হত্তয়া মেমরি মাঝখানে. এই বিশেষ ক্ষেত্রে, সুতরাং যখন আপনি যদি একটি ফাংশন কল, এটা স্ট্যাক করা পরার. এবং তারপর যে অন্তর্গত হয় যাই হোক না কেন ফাংশন আমরা যে কি কল থাকে ফাংশন এর স্ট্যাক ফ্রেম. তাই একটা চমৎকার কল্পনা পেতে এই, মার্লিন - যেমন, আমরা ছিল প্রোগ্রামের প্রধান শুরুর দিকে. আর প্রধান ভেতরে, আমরা ঘনক্ষেত্র বলা. সুতরাং প্রধান প্রথম স্ট্যাক যেতে হবে এটি প্রথম ফাংশন কারণ, ফ্রেম যে বলা হচ্ছে. এবং তারপর ঘনক্ষেত্র ভেতরে বলা হয় যখন মূল, এটা প্রধান উপরে রাখা হয় মেমরি ভিতরে. তাই কি আপনি এখানে বিজ্ঞপ্তি পাবেন যে ঘনক্ষেত্র হয় নিজস্ব পরামিতি এবং এর রয়েছে নিজের স্থানীয়দের. সুতরাং আপনি আসলে কিছু পাস হলে একটি ফাংশন, পরামিতি যে এটি কি ছিল কপি হয় পরার প্রধান থেকে সালে পাশ. এবং সাজানোর এই ব্যাখ্যা, এর যাক একটি প্রোগ্রাম ভিতর দিয়ে হেটে যেতে. তাই আমরা স্ট্যাক আছে; এই হল শুধু স্ট্যাক অংশ. এবং কি আমরা করতে আমরা প্রথম আরম্ভ হল এক এবং দুই থেকে এক্স এবং ওয়াই. সুতরাং আমরা এই সামান্য বাক্সে আছে. তারা প্রধান এর স্ট্যাকের মধ্যে বসা করছি স্ট্যাক ফ্রেম. তারা এক ও দুই থাকে. এখন আমরা swap 'কল. কি হবে যদি আমরা মধ্যে এক্স এবং ওয়াই পাস হয় swap ', এবং swap' র নিজস্ব কপি তৈরি করে ঐ ভেরিয়েবল ভিতরে ব্যবহার করার জন্য হাজার তার স্ট্যাক ফ্রেম. তাই এখন ওইখানে, আমরা একটি, যা আছে এক্স ছিল যে মান উপস্থিত রয়েছে; এবং খ, যা Y ছিল যে মান রয়েছে. তাই এক, দুই. এবং যদি আপনি এই পৃথক বিজ্ঞপ্তি পাবেন প্রধান ভেতরে এক্স এবং ওয়াই থেকে. তাই আমরা এখন একটি অস্থায়ী নির্মাণ একটি থাকতে পরিবর্তনশীল. আমরা বো একটি সমান সেট, তাই এটা এক থেকে দুটি পরিবর্তন. এবং তারপর আমরা সমান খ সেট temp দিতে, যা এক. এবং তারপর এখন আমরা আউট থেকে প্রস্থান এই ফাংশন. আপনি ফাংশন আউট থেকে প্রস্থান করার সময়, স্ট্যাকের ফ্রেম স্ট্যাকের বন্ধ popped হয়. আমরা এটা ধাক্কা কল. আপনি স্ট্যাকের মধ্যে একটি স্ট্যাক ফ্রেম ধাক্কা স্ট্যাকের বন্ধ এবং যদি আপনি পপ. তাই কি হয় যে সবকিছু শুধু যে স্ট্যাক ফ্রেম সাজানোর মধ্যে ছিল অগ্নিতে মধ্যে যায়. তাই যে আর বিদ্যমান নেই. কিন্তু আমরা কি তুমি দেখতে পাও? আমরা আসলে পরিবর্তন না x এবং y এর মান, ডান? তাই যারা প্রধান স্থানীয় থাকুন. ও swap 'র মধ্যে জিনিষ ক্ষণস্থায়ী দ্বারা, আমরা আসলে যারা মান পরিবর্তিত না. এবং কি আমরা এই কল? আমরা মান দ্বারা এই ক্ষণস্থায়ী কল. তাই সি, আপনি মধ্যে জিনিষ পাস হলে ফাংশন, এটা মান দ্বারা তাদের পাস এবং জন্য তাদের একটি কপি করে তোলে ব্যবহার ফাংশন. এবং আমরা কিছু বলা সম্পর্কে জানতে পারবেন পরে রেফারেন্সের পাশ দিয়ে, কিন্তু যে এর আপনি এই সমস্যার সমাধান করতে পারে একটি উপায়. কিন্তু আমরা সম্পর্কে চিন্তা করবে না যে পরে না হওয়া পর্যন্ত. ছিনিয়ে: এবং প্রকৃতপক্ষে, যে শব্দটি, পাসিং রেফারেন্স দ্বারা, তাই সি এমনকি নেই উল্লেখ পাশ দিয়ে. সি একচেটিয়াভাবে মূল্য পাশ করেছে. কোন ব্যাপার আপনি কি করবেন, আপনি সবসময় কিছু একটি কপি ক্ষণস্থায়ী. আমি ধরণের উল্লেখ মত এটা ঠিক যে যে আগে পয়েন্টার সঙ্গে এবং একটি স্ট্রিং সত্যিই চার হয় মেমরির মধ্যে কোথাও প্রতি নির্দেশ বাইট. ওয়েল, আমি এই পংক্তি আছে এবং যদি এটা স্ট্রিং যেখানে হয় আমাকে বলছে - ভাল, আমি এই পয়েন্টার উপস্থিত থাকলে এই করতে মেমরি লিখুন, তারপর আমি একটি পাস করতে পারেন একটি ফাংশন যে পয়েন্টার এর কপি, এবং যে ফাংশন এখনও যেখানে সালে জানে মেমরি এটা. সুতরাং এই পয়েন্টার উভয় প্রতি নির্দেশ করা হয় একই মেমরির মধ্যে জায়গা, এবং করতে যে আমরা সক্ষম হতে যাচ্ছেন কিভাবে তার পরেও জিনিস সংশোধন করতে বর্তমান স্ট্যাকের ফ্রেম. JOSEPH: আপনি যদি কম্পাইল করতে চান? ছিনিয়ে: না, এটা 5:30 এর. JOSEPH: ঠিক আছে. এটা 5:30 হয়. ঠিক আছে. সুতরাং আমরা আমি অনুমান কম্পাইল আবরণ হবে পরের অধ্যায়, বা আপনার সেকশন নেতা যে সময়ে হবে. এবং - ছিনিয়ে: কোন প্রশ্ন? JOSEPH: কোন প্রশ্ন? হ্যাঁ? স্পিকার 5: CS50, কোন থেকে স্ট্রিং ব্যবহার আমরা জন্য ব্যবহার করতে চান যে ফাংশন ঐ, যে সি ফাংশন মত হবেন. CS50 মধ্যে এবং সর্বস্বান্ত হয় নি কোনো অতিরিক্ত করেছেন. ছিনিয়ে: সঠিক. সি এর কোন আপনি [শ্রবণাতীত] মত আমাদের স্ট্রিং যারা ব্যবহার করেন. JOSEPH: এবং এক শেষ জিনিস আমি করতে চাই উল্লেখ যে আমরা একটি শৈলী গাইড আছে এই বর্গ জন্য. ছিনিয়ে: হাঁ, ওহ. JOSEPH: তাই আপনি যদি একটি থেকে আসা করেছি আপনি আগে পটভূমি প্রোগ্রামিং নির্দিষ্ট নিয়মাবলী থাকতে পারে যখন আপনি নির্বাণ মত কোড লেখার একই লাইন বা বিশেষ নেভিগেশন ধনুর্বন্ধনী সংভৃত উপায় অথবা আপনার ভেরিয়েবল নামকরণের. এই বর্গ, আমরা অনুসরণ করতে চান একটি নির্দিষ্ট স্টাইল গাইড ঠিক, কারণ হ্যাঁ, আপনি আউট যান এবং যদি কাজ শিল্প, আপনার প্রত্যাশিত করা চলুন স্টাইল গাইড অনুসরণ আপনি যান, যা এ প্রতিষ্ঠানের. ভালো লেগেছে উদাহরণস্বরূপ, ফেসবুকে আমি মনে করি নামকরণের একটা বিশেষ ধরণের আছে কনভেনশন. আর উটের মধ্যে পার্থক্য আছে আবরণ ভেরিয়েবল এবং ঠিক মত আন্ডারস্কোর সঙ্গে তাদের পৃথক. এবং এছাড়াও, আমি চাই সব চেয়ে গুরুত্বপূর্ণ মনে করি উদাহরণস্বরূপ, খাঁজ, ডান? আমরা কোঁকড়া ধনুর্বন্ধনী যেখানে শুরু করবেন শর্ত তারা, এবং পরের লাইনে আছেন. এবং আমরা মধ্যে কোঁকড়া ধনুর্বন্ধনী রাখা এটি শুধুমাত্র একটি লাইন এমনকি যদি. এবং, কি উপায় বার অনেক আছে এটি আপনি এই ধনুর্বন্ধনী চলে যাবে যেখানে এটি শুধুমাত্র একটি লাইন যদি বন্ধ যদি বিবৃতি অধীন. কিন্তু এই ক্লাসে, আমরা অনুসরণ করতে চান একটি নির্দিষ্ট স্টাইল গাইড ঠিক তাই পাবেন জিনিস যে সাজানোর জন্য ব্যবহৃত. ছিনিয়ে: হ্যাঁ, এবং স্টাইল 50 যাচ্ছে এই স্টাইল গাইড জোরদার, এবং আমরা করছি স্টাইল 50 ব্যবহার চালু গ্রেড আপনার কোড করা. সুতরাং জিনিস আমাদের জন্য সহজ এবং তোলে আশা জিনিস করা উচিত নয় আপনি দেওয়া জন্য অনেক খারাপ প্রমিত শৈলী যে করা উচিত হবে না অবাস্তব. JOSEPH: এবং পরিশেষে, শৈলী খুঁজে , manual.cs50.net/style যেতে গাইড. আর হ্যাঁ. স্পিকার 4: আপনি জোরদার যাচ্ছে প্রতি লাইনে কোন অক্ষর? ছিনিয়ে: হ্যাঁ. JOSEPH: দুঃখিত, বলছি. ছিনিয়ে: শুধুমাত্র লোক যে এক মত. এই সময়ে, আমি 120 সঙ্গে ঠিক না. আমি 120 বলছে সঙ্গে ঠিক আছি প্রতি লাইনে অক্ষর. আমি কিছু সীমা হচ্ছে সেখানে বুঝতে. আমি 80 এত ছোট মনে হয়, কিন্তু আমরা তা enforcing করছি. JOSEPH: ব্যক্তিগতভাবে, আমি সঙ্গে মনে সি, 80 অক্ষরের বেশী ঠিক আছে. আপনি অন্যান্য চাওয়ার একবার জাভাস্ক্রিপ্ট এবং পিএইচপি মত ভাষা, না শুধু সীমাবদ্ধ তাই যুক্তিসঙ্গত 80 অক্ষর এটি. ঠিক আছে. ওহ, এটা সুপার অধ্যায় ছিল. যে কেউ মিছরি চান? স্পিকার 4: হ্যাঁ.