[সঙ্গীত বাজাচ্ছি] Andi Peng: এটি CS50, এবং ধারার সপ্তাহে দুই স্বাগত জানাই. এটি আসলে সপ্তাহে যখন হয় আসলে আমাদের বর্গ দুই, প্রথম সপ্তাহে আমরা অধ্যায় ছিল করেছি. হাতের দেখান, আপনি সব কতগুলি গত সপ্তাহে সুপার বিভাগে এসেছিলেন? ঠিক আছে, এটা ঠিক আছে. ঠিক আছে. কিভাবে আপনি অনেক প্রেক্ষিত সুপার বিভাগে গত সপ্তাহে? ঠিক আছে. আর আপনাকে বলছি জরিমানা করেছেন সমস্যা এক সেট? তাই আমি মনে করি আমরা আছে এটা নিতে যাচ্ছি সত্যিই বুদ্ধিমান বাচ্চাদের একটি গুচ্ছ এই শ্রেণীর এবং কিছু জরিমানা হবে. ঠিক আছে. সুতরাং first-- প্রথমত, আমরা শুধু সংক্ষেপে চলুন আজকের জন্য এজেন্ডা নিয়ে যেতে. আমরা অবশ্যই সরবরাহ সম্পর্কে আলোচনা করব. আপনি অনেক সম্ভবত সংক্রান্ত প্রশ্ন আছে কিভাবে এই কোর্সে চালানোর জিনিষ. আমরা তাদের উত্তর পাবেন. আমরা সংক্ষেপে চলুন ক্ষেত্রে Loops উপর যেতে আপনাকে বলছি কোন সুপার বিভাগে মিস. আমরা ASCII ম্যাপিং সম্পর্কে আলোচনা করব. আমরা অ্যারে সম্পর্কে কথা বলতে পারবেন, ফাংশন, কমান্ড লাইন আর্গুমেন্ট. এবং পরিশেষে, কি আপনাকে বলছি সম্ভবত সব সত্যিই সম্পর্কে জানতে এখানে হতে চান, আপনার যদি pset2 হয়. আমরা কিছু চমৎকার কৌশল আছে করব কিভাবে যে কি জন্য এবং টিপস. ঠিক আছে. এছাড়াও, দ্বিতীয়ত, আমরা আছে এখানে ক্যান্ডি প্রচুর. ক্যান্ডি লেগেছে যারা, শুধু এখানে আসা পর্যন্ত. কিছু দখল. আমি একটি গুচ্ছ আছে. আমরা অফিসে একটি টন আছে. আমি সত্যিই চাই না সারাদিন ক্যান্ডি খেতে. আপনাকে বলছি, সব ক্যান্ডি খাওয়া উচিত আমি আপনাকে বলছি জন্য এখানে নিয়ে এসেছি. শুধু ক্যান্ডি খেতে. প্রতিটি অধ্যায় ক্যান্ডি আছে হবেন. সুতরাং প্রথম, আমি কে? আমার নাম Andi পেং হয়. আমি ইয়েল এখানে CS50 প্রধান টিএ am. আর ছাড়াও যে, আমি be-- হবে কেউ আপনার চলমান করার মত হলে বাডি, আপনার কাঁধে কান্নাকাটি করতে. যদি আপনার pset এর কারণে রাতের আগে, আপনি, কি ঘটছে নহি আমার আঘাত. আমরা ইত্যাদি ইত্যাদি, একসঙ্গে সমবেদনা করব. শুধু আমি একটি হিসাবে এখানে আছি জানি যে যুদ্ধক্ষেত্র হিসেবে আপনার জন্য সম্পদ সাহায্য আপনাকে বলছি জিনিসটা কিভাবে CS50 মধ্যে এবং তার পরেও সমস্যা সমাধানের জন্য. আমার ইমেইল andi.peng@yale.edu হয়. আমি একজন ব্যক্তি খুঁজে পাঠাব এটা আমার ফোন নম্বর দিয়ে ইমেইল যাতে না সবাই ইন্টারনেট আমার ফোন নম্বর দেখতে পারেন. যে কোনো সময় আমার সঙ্গে যোগাযোগ করুন মুক্ত মনে. তথাপি, আমার ফোন সাধারণত আমার হাতে সংযুক্ত. আমি সাড়া দিতে পারে কয়েক মিনিটের মধ্যে. আমি কয়েক ঘন্টার মধ্যে সাড়া না পারে. কিন্তু আমি যদি, আপনি গ্যারান্টি পারেন আপনি আমার সাথে যোগাযোগ করে যদি আপনি, আমাকে ই-মেইল টেক্সট আমাকে, আমি 24 ঘন্টার মধ্যে সাড়া দিতে হবে. পুন: পুন, আমি আগে সাড়া পাবেন আমি বুঝতে কারণ, যে সবাই কিছু সমস্যা আছে যে, এবং আপনি আপনার উত্তর চাই খুব দ্রুত উত্তর করা. যাইহোক, আপনি কল করা হলে আমার 30 মিনিট আগে বৃহস্পতিবার কারণে যে যে টুকরা , Andi, আমাকে সাহায্য মত হতে night--, আমি দিতে পারে started-- নি আপনি যে কাঁধে কান্নাকাটি করতে. কিন্তু এটা সম্পর্কে চিন্তা করার সময় হতে পারে পরের বার না কিভাবে. ঠিক আছে. ওহো. কিভাবে আমি ফিরে যেতে না? আমরা শুরু করছি. সুতরাং এই কোর্সে আমরা একটি আছে সবার জন্য সমর্থন টন. শুধু ছাড়াও এখানে বিভাগে, যা আপনি প্রতি সপ্তাহে 90 ব্যয় পেতে আমার সঙ্গে বিস্ময়কর মিনিট, আমরা অফিসে ঘন্টা আছে. কত আপনাকে বলছি আগে থেকেই আছে সাহায্যের জন্য অফিসে ঘন্টা হয়েছে? গ্রেট. যে, দেখতে সত্যিই ভাল আমরা কারণ 45 ওভার Tas এবং সি এ এস স্টাফ আছে এখানে আছে এই কোর্সের জন্য প্রশিক্ষণ আপনার psets সঙ্গে আপনাকে বলছি সাহায্য করার জন্য. সোমবার তারা TEAL অনুষ্ঠিত করছি এখানে 17 পার্বত্য হাউস মধ্যে শ্রেণীকক্ষ ইয়েল এ. মঙ্গলবার এবং বৃহস্পতিবার, তারা কমন্স অনুষ্ঠিত করছি. অনেক সুন্দর 11:00 প্রতি কাজের 8:00. আসুন, বাইরে আসতে. কোন সমস্যা নেই, কোন একটি সমস্যার শুধু এ আসা, এবং তারপর আমরা যে সঙ্গে আপনাকে সাহায্য করব. দ্বিতীয়ত, অফিসে ঘন্টা ছাড়াও এবং বিভাগে আমরা উদাহরণ হাফপ্যান্ট আছে. কেউ কি কখনো একটি দম্পতি দেখা হয়েছে ভিডিও হাফপ্যান্ট বা এগিয়ে যান ওয়েবসাইটে? ঠিক আছে. তাই তারা সত্যিই, সত্যিই সহায়ক হন. আমাদের সুদৃশ্য হার্ভার্ড প্রকাশনা যে স্কুলে ওইখানে দলের উত্তর আপ, তারা শুট এবং উত্পাদিত হয়েছে এই অবিশ্বাস্য walkthrough ভিডিও. তারা আপনাকে মাধ্যমে ধাপে ধাপে নেব কিভাবে একটি সমস্যা সমাধানের বিষয়ে যেতে. পুন: পুন, আপনার সম্পর্কে বিভ্রান্ত করছি একটি সহজ ধারণা, একটি একবচন ধারণা, আমরা সম্ভবত আছে, কারণ, দেখব কোথাও আমাদের ওয়েবসাইটে এটি একটি সংক্ষিপ্ত. এবং এটি সাধারণত একটি বড় সম্পদ আপনাকে প্রথমে যখন জন্য দেখুন একটি সমস্যা হ্যান্ডেল কিভাবে হারিয়ে গেছে. তৃতীয়ত, আমরা উদাহরণ আছে study50 এবং reference50. সুতরাং 50 অধ্যয়ন ওয়েবসাইট শুধু একটা লিংক. এটা আমি মনে করি, এর, study.cs50.net অথবা যে ভালো কিছু. শুধু এটা গুগল. আমরা প্রস্তুত স্লাইড প্রচুর আছে. আমরা হাফপ্যান্ট প্রচুর আছে এবং সব কম্পাইল walkthroughs-- জিনিষ খুব সুন্দর এবং সব আপনার জন্য বলছি ঝরঝরে মাধ্যমে ব্রাউজ করতে, কোনো ধারণা দেখতে আপনার সম্পর্কে বিভ্রান্ত করছেন যে. এটা সম্ভবত আবৃত করা চাই সেখানে study50 ওভার. একই Reference50--. আমরা বিভিন্ন নোট অনেক আছে আপনার নিষ্পত্তি জন্য সহজলভ্য. এবং সর্বশেষে, আমরা কি আছে CS50 আলোচনা বলা, যা একটি ফোরাম, তাহলে রাতে আগে আপনি আপনার সমস্যার করছেন, বলতে, আপনি একটি প্রশ্ন আছে. আলোচনা CS50 যাও লগ ইন করুন. আপনার প্রশ্ন পোস্ট. আর hundreds-- তৎকালীন এক প্রার্থনার সম্ভবত, thousands-- অনলাইন এই বর্গ গ্রহণ করতে লগ ইন করতে হবে. আর হয়তো কারো পেতে পারেন একটি টিএ করার আগে আপনার উত্তর. এটি মূলত শুধু একটি কী অনলাইন ফোরামে যে আমরা সব করতে পারেন আমাদের সমস্যা নিয়ে আলোচনা করার জন্য ব্যবহার করুন. চমৎকার. ঠিক আছে. সুতরাং সমস্যা সেট. আমরা সঠিক চলেছেন সমস্যা পুরু দুই সেট. আমাদের অনেক আগে থেকেই আছে সমস্যা মাধ্যমে লড়াই এক সেট. আমরা ইতিমধ্যে সম্ভবত অপেক্ষা জানি যে গত রাতে আপনার pset না করার জন্য CS50 মধ্যে করতে বুদ্ধিমান জিনিস নয়. টিপস এবং মূলত জন্য টিপস সাফল্যের পুরো বৈশিষ্ট পড়তে হয়. কিভাবে আপনি অনেক আগে থেকেই আছে pset 2 জন্য বৈশিষ্ট পড়া? ঠিক আছে. যে একটি কঠিন পরিমাণ. আমি আপনাকে বলছি সম্ভবত স্বীকৃত আছে জানি এখন দ্বারা চশমা সত্যিই দীর্ঘ. তারা সত্যিই দীর্ঘ, সত্যিই আছেন. এটা প্রতিটি লাইন পড়তে সত্যিই কঠিন শব্দ দ্বারা যে সাবধানে শব্দের. আপনি ঠিক যেখানে যাও সর পড়া করতে চান এটা আপনি কিছু করতে বলে. আমি আপনাকে নিশ্চয়তা দিতে পারি, যে কি না. আপনি তা করতে পারেন, তাহলে সম্ভবত আছেন কোথাও মিস্ যাচ্ছে যেখানে এটা আপনাকে বলে কিভাবে একটি সমস্যা শুরু করার অথবা এটা কি নাম দিতে আপনি বলে আপনার সমস্যা বা আপনি কি এটা বলে, এই সম্ভবত সবচেয়ে ভাল উপায় আপনার সমস্যা কাজ শুরু করতে. এবং তারপর আপনি হারিয়ে যাবেন. আপনি আপনার পড়া করার চেষ্টা করা হলে মাঝপথে বৈশিষ্ট গুরুত্বপূর্ণ অনেক আপনি না হন যে information-- সত্যিই এক্সেস করতে সক্ষম হতে যাচ্ছে. তাই পুরো বৈশিষ্ট পড়া. পুরো বৈশিষ্ট পড়তে চেষ্টা আপনি অধ্যায় আসা আগে তারপর, যখন কারণ আমরা pset সম্পর্কে কথা বলতে, আমরা সব একটি ধারণা থাকতে পারে কি ঘটছে এর. দ্বিতীয়ত, এই একটি ধারণা আমি উল্লেখ করতে পছন্দ করবেন যে অবশ্যই সারা সেমিস্টারে অনেক. কিন্তু মূলত, ঠিক আছে, halfway আমাদের পূরণ? আমার, আপনার TA এবং জেসন হিসাবে কোর্স হিসাবে আপনার অধ্যাপক হিসেবে ম্যানেজার এবং Scaz এবং ডেভিড আপনার অধ্যাপক এবং সব হিসাবে এই কোর্সে অন্যান্য সুদৃশ্য Tas, এই কোর্স সহায়ক আমরা আমাদের যথাসাধ্য চেষ্টা করতে হবে আপনি নির্ধারণ করা হয় তা নিশ্চিত করার জন্য এই কোর্সে সফল করতে. আমরা অধ্যায় রাখা হবে. আমরা অফিসে ঘন্টা রাখা হবে. আমরা আপনার ফোন উত্তর হবে কল, আপনার ই-মেইল উত্তর আমরা করতে পারেন সবকিছু করতে নিশ্চিত করুন যে আপনার প্রশ্নের উত্তর দেয়া হয়. যাইহোক, খুব আমাদের সাহায্য. Halfway আমাদের সাথে পরিচিত হন. আপনি অফিসে ঘন্টা আসতে হলে না, অধ্যায় না সর্বস্বান্ত হচ্ছে কোন হচ্ছে, বক্তৃতা দেখেছিল ধারণা আমাকে সাহায্য করুন, মত হতে, কি ঘটছে. আমি ভাল, আমি দুঃখিত, মত হতে যাচ্ছি. ধার করা হতে পারে যে কাঁধে উপর কান্নাকাটি আমি নিশ্চিত নই, কারণ আমি আপনাকে সাহায্য করার জন্য কি করতে পারি আপনি অন্তত সাহায্য করার চেষ্টা না থাকে তাহলে নিজেকে শুরুতে একটি সামান্য বিট. Halfway আমাদের সাথে পরিচিত হন. আপনি জানেন, দয়া করে আসা উত্তর এবং পেতে প্রস্তুত উপাদান নিয়োজিত করার জন্য প্রস্তুত. এটা এত কিছু করে তোলে জড়িত সবার জন্য সহজ. হাঁ, যে বেশ অনেক এটি. শূন্য. সুতরাং পাঠ্যক্রম, এটা প্রশংসনীয় ইন গভীরতার কিভাবে আমরা গ্রেড সংক্রান্ত. কিন্তু মূলত, ভাঙ্গন এই আপনার গ্রেড 50% psets, হতে হবে, যা যে কারণ, ঠিক আছে যেখানে আপনি সুবিশাল খরচ করছেন আপনার অবশ্যই সময় সংখ্যাগরিষ্ঠ. 40% মো, এবং আপনার চূড়ান্ত প্রকল্প 10% হতে হবে. সারা দুটি ক্যুইজ থাকবে সেমিস্টারে কোর্স. আমি সময় এবং তারিখ মনে পাঠ্যসূচি তালিকাভুক্ত. পথ যে আমরা আছি আপনার psets শূন্য করা আমরা মূলত চারটি আছে আমরা প্রতিটি গ্রেড ধার্য যে মান. আমরা সুযোগ একটি মূল্য আছে, শুদ্ধি, নকশা, এবং শৈলী. আপনি দেখতে হিসাবে সুতরাং, যে ধরনের আমাদের psets হিসাবী জন্য সূত্র. তিনটি আমরা সবচেয়ে দিতে ওজন, শুদ্ধি সম্ভবত আপনার প্রশিক্ষক কারণ ক্ষেত্রে পরীক্ষামূলক করা উচিত আমরা চাই যে তার জন্য পরীক্ষা. আপনাকে বলছি সব আছে আপনার নিষ্পত্তি check50. এটি একটি খুব দরকারী ফাংশন আপনাকে বলছি সব পারেন যে আমাদের সার্ভার থেকে আপনার কোড আপলোড, যেখানে আমরা এটা আপনার জন্য পরীক্ষা হবে. আর আপনি ঐ দেখা করেছি Frowny মুখভঙ্গি, স্মাইলি মুখভঙ্গি. তারা সত্যিই, সত্যিই সহায়ক হন. না দয়া করে চেষ্টা চাই যে ছাত্র তাদের সব উত্তর hardcode করতে. আমি স্পষ্টভাবে একটি pset যেখানে দেখা করেছি কারো check50 সব মান দেখেছি এবং তারা শুধু হার্ড যদি in-- কোডেড এই সংখ্যা, এই সংখ্যা প্রিন্ট আউট. যে সংখ্যা যদি, যে সংখ্যা প্রিন্ট আউট. যে কি না. এমনকি যদিও টেকনিক্যালি check50, সঠিক সমাধানে আপনার উপায় সমস্যা সঠিক নয়. তাই শুধু ব্রাত্যভাবে check50 ব্যবহার. কিন্তু এছাড়াও নিশ্চিত যে আপনি এটা কাজ করছে কিভাবে বুঝতে, প্রোগ্রাম কাজ হয় check50 ছাড়াও, আমরা প্রতিটি পরীক্ষা করতে পারবেন না, কারণ check50 সম্ভাব্য ক্ষেত্রে. আমরা তাদের কিছু পরীক্ষা হবে. নকশা মূলত, কিভাবে হয় আপনার কোড ভাল ডিজাইন করা হয়? আপনি কপি-পেস্ট একাধিক হয় তাহলে কোড অনেক, অনেকবার লাইনের. হতে পারে আপনি বেশ আছে না আপনার কোড ভাল নকশা. হয়তো এটা যে লুপ যোগ করার সময়. মূলত, এখানে এটা ঠিক সব আপনার কোড কাজ করার চেষ্টা সম্পর্কে, হিসাবে দক্ষতার আপনার কোড লিখতে চেষ্টা সম্ভব, যাতে আপনার প্রোগ্রাম রান হিসাবে যত দ্রুত সম্ভব. সর্বশেষে, আমরা শৈলী আছে. সুতরাং শৈলী একটি ধরনের নির্বিচারে, বিষয়ী শব্দ. আমি মনে করি আমরা আনুষ্ঠানিকভাবে আছে জানি CS50 জন্য একটি শৈলী 50 গাইড, এটা ওহ, কোথায় আছে, আপনি এখানে একটি স্পেস থাকতে হবে. তাহলে নিন ফরম্যাট ধরনের আপনার কোড এই ভাবে. আপনি এই ভাবে কিছু নাম হওয়া উচিত. আমি সত্যিই, কোনটাই না যত্ন, কিভাবে আপনি, আপনার কোড শৈলী চয়ন শুধু হিসাবে দীর্ঘ হিসাবে আপনি সঙ্গতিপূর্ণ থাকার হিসাবে. উদাহরণস্বরূপ, যদি আপনি পছন্দ করেন আপনার চার পরে একটি স্থান ত্যাগ আপনার চার লুপ আগে শুধু প্রত্যেক সময় যে কাজ. ধরনের এটা করতে না. এটি অন্যান্য বার করতে না. আপনি কোঁকড়া রাখতে চান ধনুর্বন্ধনী স্থান একটি নির্দিষ্ট উপায়, শুধু সবসময় এটা যে উপায় না. ধরনের কোথাও এটা না না এখানে কোথাও নেই. আমরা শূন্য হয়ে গেলে, এটা সত্যিই কঠিন আমি কোন ধারণা কিভাবে আছে আপনি, আপনার কোড ফরম্যাট করছি কিছু পাগলাটে এবং স্থানের বাইরে. আপনি শুধু এটি সঙ্গতিপূর্ণ রাখতে পারেন, এটা বৃহত্তর হিসেবে আমার জন্য অনেক সহজ আপনার কোড পড়া পাবে. এটা একজন ছাত্র হিসাবে আপনার জন্য অনেক সহজ আপনার কোড মাধ্যমে সন্ধান পাবে এবং সাথে কি ভুল দেখতে সমস্যা আছে কেন এটা কাট. স্টাইল সহজতম জিনিস এক আপনাকে বলছি পূর্ণ স্কোর পান করতে পারেন. মূলত, আপনি শুধু যদি, যত্নশীল হলে আপনি মনোযোগ পাঁচ মিনিট পরিশোধ প্রতি সপ্তাহে আপনার কোডে, আপনি উচিত পূর্ণ শৈলী পয়েন্ট পেয়ে হতে. সর্বশেষে, আমরা কি বলা আছে সুযোগ গুণক. Scope-- আমি এটি একটি বড় জানি বিশেষ করে এই ক্লাসে শব্দ. কিন্তু সুযোগ, সব যে মানে আপনি চেষ্টা করছেন যে হয় আপনার ক্ষমতা শ্রেষ্ঠ psets. আপনি তিনটি আউট চালু হলে আপনার চার সমস্যার এবং এমনকি প্রচেষ্টা না গত এক, আপনি সম্ভবত করছি সুযোগ কিছু পয়েন্ট হারাতে যাচ্ছেন. আপনি ঠিক করতে সমস্যা শুরু, এমনকি যদি, এটা ভিতর দিয়ে হেটে যেতে আপনার ভাল না. এটা কাজ করে না, এমনকি যদি, এটা চালু যে দেখায় এবং প্রমান কারণ আমাদের সাথে আপনি, যে চেষ্টা করছেন যে সমস্যা সেট চেষ্টা আপনার ক্ষমতার ভাল. এবং তারপর আমরা আপনাকে দিতে পারে সুযোগ জন্য পূর্ণ পয়েন্ট. ব্যাপ্তি এছাড়াও যখন আমরা জন্য খুবই গুরুত্বপূর্ণ সর্বনিম্ন pset স্কোর ড্রপ সম্পর্কে কথা বলতে. তাই অবশ্যই ওভার সেমিস্টারে, আপনাকে বলছি নয়টি psets আছে. আমরা আসলে ড্রপ করা হবে ঐ নয়টি আউট সর্বনিম্ন স্কোর, কিন্তু আপনি পূর্ণ সুযোগ পয়েন্ট আছে, তবেই. তাই আপনি যদি একটি অসম্পূর্ণ pset মধ্যে চালু হলে, দুর্ভাগ্যবশত, আমরা যে এক ড্রপ না পারেন, আপনার সুযোগ কারণ পয়েন্ট সম্পন্ন করা হয় নি. আপনি ভয়াবহ সপ্তাহে আছে তাই, এমনকি যদি আপনি মারা যাচ্ছি এবং আপনি অসুস্থ যেখানে অথবা আপনার কুকুর, আপনার বিড়াল, মৃত্যু এবং আপনি কি হোমওয়ার্ক ওভারলোড করছি, শুধু pset প্রচেষ্টা. এটা আপনার ক্ষমতার ভাল না. এটা কাজ করে না, এটা কোন ব্যাপার না. শুধু এটা চালু. অন্তত আমরা দিতে পারেন আপনি প্রচেষ্টার জন্য স্থানটিকে. এই ক্লাসে প্রচেষ্টার জন্য. প্রচেষ্টার জন্য অন্তত সর্বনিম্ন স্কোর ড্রপ এ. তাই হ্যা. যে প্রায় কাছাকাছি এটা. কেউ তাই প্রশ্ন আছে পর্যন্ত ক্লাসে কীভাবে আমরা গ্রেড উপর? অথবা এর মধ্যে কোনো? এর মধ্যে যে কোনো তাই far-- বিভাগে, অফিসে ঘন্টা? কুল. ঠিক আছে. সুতরাং এই যে একটি বিষয় নেই এক সত্যিই কথা বলার লেগেছে. আমি সত্যিই এটি সম্পর্কে কথা বলতে চাই না. আপনি বলছি সত্যিই চাই না আমাকে এটি সম্পর্কে কথা শুনতে. কিন্তু দুর্ভাগ্যবশত, আমরা সব এটি সম্পর্কে কথা বলার আছে. ডেভিড 20 মিনিটের একটি অতিবাহিত এটি সম্পর্কে কথা বলা বক্তৃতা. এবং যে বিষয় একাডেমিক সততা. তাই আমরা সব এখানে সম্ভবত লিখেছি আমাদের ইয়েল কর্মজীবনের একটি প্রবন্ধ একদা. আমরা সম্ভবত আমরা করেছি যেখানে একটি টক অর্জিত করেছি আমাদের রচনা থাকতাম দ্বিতীয় তলায় না করতে বলা হয়েছে, যে কাজ আমাদের কাজ নয়; কারণ. কম্পিউটার বিজ্ঞান, আমরা আছে ধারণা একই ধরনের. আপনার জমা দেওয়া সব কাজ, আপনি লিখুন যে সব কোড আপনি লিখিত আছে যে কোড হবে. আপনি করেছি কোড করা উচিত হবে না অন্য কোথাও থেকে কপি. কোড করা উচিত নয় যে আপনি googled এবং plopped করেছি যদি এটা কাজ করে এবং আপনি কি সত্যিই জানি না. আপনি ধরনের একটা ধারনা আছে এটা কিন্তু সত্যিই কি করছে. কোন সন্দেহ থাকলে, মূলত, এটা শুধু যুক্তিসঙ্গত হতে হচ্ছে. আমাদের পাঠ্যক্রম, আমরা আছে কিছু একটি পুরো তালিকা আমরা যুক্তিসংগত দেখতে যুক্তিসঙ্গত না বনাম. উদাহরণস্বরূপ, যুক্তিসঙ্গত আপনি এবং আপনার বন্ধু হয় কি ভাল উপায় নিয়ে আলোচনা যেতে সম্পর্কে কথাটি একটি সমস্যা সমাধানে. মোটামুটি যুক্তিসঙ্গত. কি যুক্তিসঙ্গত হবে না আপনি যদি হয় বলছি, একসঙ্গে পেয়েছিলাম একই কোড টাইপ এবং একই কোড পরিণত. যে যুক্তিসঙ্গত নয়. একই জিনিস, একটি প্রবন্ধ ধরনের. আপনি আলোচনা করতে চান তাহলে আপনার বন্ধুর সঙ্গে, আরে, এই আমি লিখতে চান সম্পর্কে কি. এই আমি চাই পদক্ষেপ দুর্দান্ত, এটা সম্পর্কে লিখুন নিতে. ঐটা চমৎকার. একে অপরের সাথে সহযোগিতা করুন. আপনাকে বলছি শুরু হলে একই জিনিস লেখা, একই প্রবন্ধে চালু, যে কম ঠিক আছে. তাই সন্দেহ হলে, শুধু তা-ই নয়. এখানে, আমরা CS50 মধ্যে, আমরা স্ক্রিপ্ট আছে যে চালান পরীক্ষা স্বয়ংক্রিয়রূপে সঞ্চালন করা শুধুমাত্র আপনার কোড শুদ্ধি, কিন্তু আপনার কোড স্বতন্ত্রতা. সুতরাং অবস্থানে না দয়া এর EXCOMM আপনার ক্ষেত্রে পড়ুন হচ্ছে. এর মাত্র দিন, শুধু সবাই জন্য অনুগ্রহ এটি একটি বিস্ময়কর অভিজ্ঞতা. প্রত্যেকেরই, ভাল learns সকলে সুখী হয়, এবং আমরা সব সেট আপ করা হয় এই কোর্সে সফল. খুব যে কিছু এই শ্রেণীর ওপর অনন্য আমি সবার সত্যিই মনে করেন যে আমরা আছে অবধান কি খেদ বলা হচ্ছে আমাদের পাঠ্যক্রম দফা. তাই মূলত, 72 ঘন্টার মধ্যে, তাহলে যদি আপনি কিছু কাজ করেছি বিশ্বাস আপনি কি সত্যিই নিশ্চিত ছিল না হন উপযুক্ত, আমাদের আসা দয়া করে. আমরা কি তোমাদেরকে এই ওয়াদা যে 72 ঘন্টার মধ্যে আমরা যদি নিজেদেরকে হ্যান্ডেল করবে একটি উচ্চ উল্লেখ ছাড়া প্রশাসনে কর্তৃপক্ষ. তাই আপনি যদি আমার কাছে এসে বলে, Andi, আরে, আমি সত্যিই দুঃখিত, কিন্তু আমি কয়েক লাইন আমার মধ্যে আছে মনে হয় আমি ধরনের googled যে কোড গত রাতে, স্ট্যাকের বন্ধ পেয়েছিলাম ওভারফ্লো, কপি এবং আটকানো, এবং আমি সত্যিই সত্যিই দুঃখিত নই যে সম্পর্কে, আমাকে জানাতে. শুধু এটা পচান দেবেন না দয়া করে এবং শুধু আমি এটা ধরা আশা করি. আমরা তা ধরতে হবে. শুধু আমার কাছে আসতে. আমার 72 ঘন্টার মধ্যে জানাতে. আমরা একটি সমাধান বের করব. আর আমরা পড়ুন হইনি অঙ্গীকার মূলত বিশ্ববিদ্যালয় কর্তৃপক্ষ. তাই এটা আপনার ভাল আগ্রহ আছে শুধু সবার সাথে সৎ হতে অবশ্যই জড়িত. ঠিক আছে. ঠিক আছে. তাই এখন, দ্রুত আগে আমি উপর সরানো, কেউ আছে সরবরাহ সংক্রান্ত প্রশ্ন আছে কিভাবে কোর্সের আমরা চালানো চলুন, কিভাবে বিভাগে যাচ্ছি , যে কোনো চালানোর? ঠিক আছে. হ্যা. শ্রোতা: [শ্রবণাতীত]? Andi Peng: হ্যা. সুতরাং কিভাবে আপনি অনেক quizzes-- সোমবার / বুধবার বিভাগে? কত তোমাদেরই অন্তর্ভুক্ত মঙ্গলবার / বৃহস্পতিবার? ঠিক আছে, তাই তা এখানে একটি কঠিন বিভক্ত এর. তাই আমরা যে চালানোর উপায় ইয়েল এ এটা যে আমরা হয় পৃথক দুটি আছে যাচ্ছি প্রতিটি বিভাগে এক quizzes-- যে ক্লাসের সময় গ্রহণ করা হবে. আমি এটা অক্টোবর, অক্টোবর শেষে মনে সপ্তাহে এক হিসাবে যে ভালো কিছু, প্রশ্নোত্তর. হ্যাঁ, তাই শুধু ক্লাসে আসা. যে সোমবার বা বুধবার, আপনি ব্যঙ্গ নেব. মঙ্গলবার অথবা বৃহস্পতিবার, আপনি একটি ভিন্ন ব্যঙ্গ নেব. কিন্তু একই উপাদান আচ্ছাদিত করা হবে. হ্যা. ভালো প্রশ্ন. হ্যা. শ্রোতা: কোথায় আমরা কি আমাদের বাংলাদেশের পরীক্ষা যেতে? Andi Peng: হ্যা. তাই আমি আউট একটি প্রেরণ করা হবে ই-মেল যাই হোক না কেন প্রতিটি সপ্তাহে ক্যুইজ graded-- হয় বা যখন, দুঃখিত, psets graded হয় যখন. Psets সাধারণত পরিণত হয় দুপুরে বা শুক্রবারের মধ্যে. তাই আমি প্রতিজ্ঞা করছি যে আপনি তাদের ফিরে পেতে চেষ্টা শুক্রবার দুপুরে দ্বারা. যখনই আমি গ্রেড একটি pset, আমি পাঠাতে হবে গ্রেড বইয়ের উপর একটি বিজ্ঞপ্তি যে আপনি আপনার স্কোর বলে অনলাইনে দেখা হতে পারে. তাই সঠিক এই সপ্তাহে, আমি পরে গত সপ্তাহে এর psets শূন্য শেষ, আপনাকে বলছি একটি ই-মেইল পাবেন বিজ্ঞপ্তি, আপনি কহন আরে এই হল যেখানে আপনি আপনার বাংলাদেশের দেখতে যান. আপনি প্রত্যেক দেখতে পারেন আপনার বাংলাদেশের ভাঙ্গন. আপনি মন্তব্য দেখতে পারেন. ওহ, দ্রুত জিনিস. দুর্দান্ত এ মন্তব্য বিভাগে বই যেখানে আমি সম্ভবত করব আমার সময় শূন্য অধিকাংশ ব্যয়. তাই এক জিনিস যে যখন সত্যিই গুরুত্বপূর্ণ আপনাকে বলছি দেখছেন আপনার বাংলাদেশের আপনার psets শুধুমাত্র খুঁজছেন না শারীরিক স্কোর কিন্তু সময় গ্রহণ সত্যিই আমার মন্তব্য পড়তে. প্রায়ই যে আপনি তার সম্বন্ধে ফীডব্যাক দেয় যদি আপনি একটি সমস্যা সমাধানে করছি কিভাবে. আপনাকে যা করতে হবে, তাহলে একটু ভাল কিছু, গঠনমূলক সমালোচনা সাধারণত হয় সেরা যারা মন্তব্য বিভাগে দেওয়া. সুতরাং, আমি যাচ্ছি, অনুগ্রহ করে মনে রাখবেন মন্তব্য লেখার সময় কাটাতে. আমি সত্যিই কৃতজ্ঞ হবে দয়া করে আপনাকে বলছি যারা মন্তব্য পড়তে হবে. ঠিক আছে. কুল. ঠিক আছে. তাই আমরা কথা বলা শুরু করতে যাচ্ছি এবং শুধু দ্রুত পর্যালোচনা থেকে উপাদান কিছু সপ্তাহে আমরা করছি শুধু তাই শূন্য জন্য ডান পৃষ্ঠায় এই সপ্তাহে এর সমস্যা থেকে শুরু করে. সুতরাং যখন লুপ এক loops তিন ধরনের আমরা আগে এই ক্লাসে আলোচনা. যখন একটি লুপ মূলত সিনট্যাক্স লেখা হয় যেখানে, একটি নির্দিষ্ট শর্ত যখন, এই অধিকার, বারবার করবেন? এখানে এই গ্রাফিক মনে করি. আপনি একটি সময়ে শুরু করতে যাচ্ছেন আপনার কোড মধ্যে নির্দিষ্ট বিন্দু. আপনি লুপের শর্ত লিখতে যাচ্ছেন if-- আমি know-- না এক্স এক কম. যদি সত্য হয় যে, আপনি যাচ্ছেন লুপ শরীরের চালানো. এবং আপনি কি করছেন রাখা চলুন যে আবার, আবার, আবার, এটি একটি কেন ধরে এবং over-- যা হয় লুপ আপনার অবস্থা হয়ে ওঠে মিথ্যা. এই ভাবে, যখন একটি লুপ তাই সহজ উপায়ে এক অবস্থার কোনো সাজান লিখতে যে ওভার এবং বহুবার পুনরাবৃত্তি প্রয়োজন. ঠিক যখনই সতর্কতা অবলম্বন করা আবশ্যক আপনি লুপের কোন ধরণের লেখার আপনি একটি প্রস্থান শর্ত হিসাবে থাকতে পারে ভাল যাই হোক না কেন একটি আপডেট হিসাবে এটি আপনার লুপ শুধু না যাতে হয় ওভার ও অসীম উপর চালানো. ই ঘটুক না কেন, আপনি যাচ্ছেন নিশ্চিত করতে চাই আপনি কিছু দৃষ্টিভঙ্গি পরিবর্তন করছি যে আপনার কোড বা লুপ শেষে শুধু আপনি একটি উপায় আছে কি না নিশ্চিত করতে শর্ত প্রতি উন্নতিশীল আপনি কি আবার শেষ থেকে দেখা করতে চান যে. যে সবাই জানার? আমরা শুধু হতে চান না এই সর্পিল যেখানে পর্যন্ত ধরা আমরা প্রায় কাছাকাছি যেতে এবং লুপ বিরতি কোন উপায় আছে. এবং প্রতি লুপ মূলত যে এরকম একটি উপায় আছে. ঠিক আছে. আপনাকে দ্বিতীয়ত, অনেক আপনার মারিও মধ্যে psets সম্ভবত চাকরী ছিল এই লুপ টাইপ. এটি একটি বিক্ষোভ যখন লুপ বলা হয়. প্রথম সব, যে কেউ বলতে পারবেন কি একটি বিক্ষোভ মধ্যে পার্থক্য লুপ এবং যখন একটি লুপ যখন? হ্যা. শ্রোতা: না যখন লুপ [শ্রবণাতীত] প্রথমে রান. Andi Peng: হাঁ, ঠিক. সুতরাং একটি লুপ সবসময় যখন যাই হোক না কেন বন্ধনীর ভিতরে, করণীয় ভিতরে হয় সেখানে যে শর্ত আছে the-- দুঃখিত জন্য চেক করার আগে, আগে যে কোড আছে অবস্থার জন্য চেক. এবং এই আমাদের বিশেষ প্রাসঙ্গিক এখানে এই ক্লাসে, বেশির ভাগ সময়ই কারণ আমরা প্রম্পট করতে চান চলুন ইনপুট কিছু সাজানোর জন্য ব্যবহারকারী. এবং তারপর, তার উপর নির্ভর করে তারা আমাদের দিতে ইনপুট, তারপর আমরা ওহ, না, নির্ণয় করতে পারেন আমরা আবার তাদের অনুরোধ জানানো প্রয়োজন? মারিও সুতরাং, যদি ব্যবহারকারী আপনার দেওয়া নেতিবাচক উচ্চতা, উদাহরণস্বরূপ, আপনাকে প্রথমে অনুরোধ জানানো চলুন এবং ভিতরে যাই হোক না কেন. তারপর আপনি যখন পরীক্ষা করতে যাচ্ছেন. আপনি কি জানেন, 1 নেতিবাচক হয় একটি ধনাত্মক সংখ্যা যে হয়? এটি যদি না থাকে, আমি যেতে চলেছি ফিরে এবং করণীয় ও পুনরাবৃত্ত এবং পুনরাবৃত্তি এবং যতক্ষণ না তারা পুনরাবৃত্তি অবশেষে আপনি আপনার মত করে একটি নম্বর দিতে, আমরা আমাদের সকল কোড চাকরী করতে পারে. এটা প্রশংসনীয় গুরুত্বপূর্ণ মূলত কোন ব্যবহারকারীর ইনপুট. আমি কোনো গ্যারান্টি একটি pset যেখানে সময় আমরা ইনপুট করার অনুরোধ জানানো কোড কোন ধরণের, আমরা করছি সম্ভবত আপনি দিতে যাচ্ছে আমরা করছি যা একটি টেস্ট কেস যাচ্ছে যে আপনি খারাপ কিছু দিতে আপনার কোড ভঙ্গ করার চেষ্টা করতে যাচ্ছি. আমরা ইনপুট একটি আপনি জিজ্ঞাসা করতে চেষ্টা করুন পূর্ণসংখ্যা, আমরা শুধু আপনার একটি স্ট্রিং দিতে পারে এবং আপনি যে হ্যান্ডেল করবে দেখতে. আমরা একটি বয়স চাকরী আপনি জিজ্ঞেস করুন, আমরা আপনাকে একটি ঋণাত্মক সংখ্যা দিতে পারে আপনি যে হ্যান্ডেল করবে দেখতে. শুধু আপনার জন্য বলছি পরীক্ষামূলক নিশ্চিত করতে নিম্নলিখিত ক্ষেত্রে আপনি ভাল পাবেন না ইনপুট, শুধু বলে দিন. আর যখন লুপ একটি করণীয় বারংবার ভাল হয় তাই আপনার কোড ডিজাইন পথ এটা যে সুযোগ পূরণ করে. ঠিক আছে. ঠিক আছে. তাই এটা সম্ভবত সবচেয়ে হয় তিনটি আউট জটিল লুপ যে আমরা পর্যন্ত দিকে তাকিয়ে করেছি. আর এটা প্রথমে খুব ভীতিকর মনে. কিন্তু আমি আপনাকে গ্যারান্টি আপনাকে বলছি একবার লুপ জন্য একটি ব্যবহার কিভাবে পেতে আসে, এটা সবচেয়ে দরকারী জিনিস এক, আপনার অস্ত্রাগার মধ্যে সবচেয়ে দরকারী সরঞ্জাম এই ক্লাসে অগ্রগতিশীল জন্য. সুতরাং উদাহরণস্বরূপ, ভূত, আমরা এই অত্যন্ত সহজ ব্লক ছিল যে শুধু এই নির্দিষ্ট পুনরাবৃত্তি বলেন সময়ের নির্দিষ্ট সংখ্যক বাক্যাংশ. যাইহোক, SAJ-- যে Scaz Andi জেসন এর. আমরা অনেকবার আমাদের ইমেল SAJ সাইন ইন করুন. আমরা SAJ যদি বলি, বিভ্রান্ত করা হবে না. যে শুধু আমাদের নয়. তাই শয়তান, আমরা আছে করতে পেরেছি বলেন যে একটি ব্লক, আমি SAJ ভালবাসেন পুনরাবৃত্তি! 10 বার. খুব সহজ. যে পিছনে যুক্তি হল একটি খুব, খুব সহজ, তাই না? আমি প্রথম প্রথম মধ্য দিয়ে যেতে চান সময় এবং যে, দ্বিতীয় সময় দেখতে এবং তাই ঘোষণা, যে, তৃতীয়বার দেখতে এবং তাই, যতক্ষণ না আপনি 10 থেকে আঘাত. আর ভাবে আমরা যে উপস্থাপনের কোড শুধু লুপ জন্য একটি সহজ মাধ্যমে হয়. সুতরাং, আপনি ঘোষণা করতে যাচ্ছেন এই ক্ষেত্রে এখানে আপনার পরিবর্তনশীল, কোন int সঙ্গে. আমরা এটা আমি নাম চলুন. আমরা 0 আরম্ভ করতে যাচ্ছেন. এবং বাঁধন সংস্করণ আমি হতে যাচ্ছে কম 10. এবং আপডেট i ++ হতে যাচ্ছে. এবং লুপ মধ্যে, এটা যাচ্ছে শেষ পর্যন্ত এটা না হওয়া পর্যন্ত চালানো অবস্থায় শেষে হিট যা ক্ষেত্রে, এটি লুপ বিরতি যাচ্ছে. স্টাফ থাকা উচিত যে আপনি বলছি সব ধরনের আগে দেখা যায় আপনার সমস্যা এক সেট জন্য এবং কাজ করতে হতো. কারো কাছে কি কোন প্রশ্ন আছে এই মুহূর্তে loops জন্য সংক্রান্ত? ঠিক আছে. গ্রেট. ঠিক আছে. আছে আপনাদের মধ্যে যারা জন্য তাই এই সপ্তাহের জন্য pset বৈশিষ্ট পড়া আমরা চাকরী আছে যাচ্ছি জানি কিছু ASCII এবং ASCII টেবিল বলা. তাই ডেভিড বক্তৃতায় সংক্ষেপে উপর গিয়েছিলাম কিভাবে কম্পিউটারের essentially-- সবকিছু একটি কম্পিউটার মধ্যে এনকোড করা হয় বাইনারি, zeros এবং বেশী. এবং কম্পিউটার পারবেন যে ভাবে উপরন্তু বিভিন্ন মান ধারণ করার জন্য zeros এবং বেশী ম্যাপিং মাধ্যমে হয় ঐ সংখ্যার অন্যান্য সংখ্যা প্রতিনিধিত্ব বা মূলত অন্যান্য অক্ষরের. একটি এই ক্ষেত্রে তাই সব আছে টেবিলের হওয়া ASCII নম্বর মানচিত্র অক্ষর, বা চর হয়. সোর্স কোড ফাইলের মধ্যে তাই আপনার এটা দেখেন কম্পিউটারে, আরে, zeros এবং বেশী একটি গুচ্ছ, zeros এবং বেশী, zeros এবং বেশী. যে সঞ্চিত কি আপনার কম্পিউটার এর প্রকৃত মেমরি. কিন্তু আমরা মানুষেরা চাই যখন কম্পিউটারের সাথে মতবিনিময়, আমরা উদাহরণস্বরূপ, বলতে want--, আমি বড় হাতের একটি চান তাহলে, আমি কিছু উপায় প্রয়োজন যাচ্ছি কম্পিউটার বলছে, ওহ, আমি বড় হাতের একটি টাইপ করা হলে, আমি বলতে চাচ্ছি বাইনারি এই উপস্থাপনা. এবং তাই আমরা যে কি ভাবে ছুড়ে হয় একটি নির্বিচারে জিনিস একটি ASCII টেবিল বলা, যেখানে আমরা, মানুষ হিসাবে, যেমন প্রোগ্রামার, কিছু সময় আগে, আমরা ইচ্ছামত আমরা যে সিদ্ধান্ত নিয়েছে এই সংখ্যা ধার্য করতে চালু হয়েছে এইসব অক্ষর মান. তাই আপনাকে বলছি এই কি অনলাইনে গুগল করতে পারেন. আমি এটি একটি লিঙ্ক আপনার মধ্যে আছে মনে হয় pset-- শুধু একটি ASCII ম্যাপ টেবিল ASCII, টেবিল. এটা শুধু বাইনারি অনুবাদ অক্ষরের মধ্যে নম্বর. আর এটা খুব হতে যাচ্ছে আপনার সমস্যা সেট জন্য দরকারী যখনই আপনি চান কিছু অথবা আপনি যদি গণনা নির্দিষ্ট প্রদর্শন করতে চান অক্ষর বা ইন্টিজার অথবা নির্দিষ্ট অক্ষর নিপূণভাবে. এটা খুবই হতে যাচ্ছে গুরুত্বপূর্ণ যে আপনি সব একটি ASCII টেবিল নেভিগেট কিভাবে জানেন. উদাহরণস্বরূপ, বড় হাতের একটি তাই সংখ্যা 65 দ্বারা প্রতিনিধিত্ব করা হয়. এবং ছোট হাতের একটি 97 দ্বারা প্রতিনিধিত্ব করা হয়. সুতরাং এটা যে জানা গুরুত্বপূর্ণ দুটি মানের মধ্যে পার্থক্য 32. পুন: পুন, আপনার কাছ থেকে রূপান্তর করার প্রয়োজন হলে অন্য এক, পার্থক্য 32. আপনি যে ধরনের হন তাহলে চিন্তা করবেন না প্রথমে এই সাইটে বিভ্রান্ত. আমরা কিভাবে আমরা উপর যাবেন প্রকৃত কোড এই চাকরী. ঠিক আছে. আউট ল্যাপটপের সঙ্গে আপনি তাদের জন্য তাই একটি ASCII টেবিল মুঠি ধরে টেনে তুলবো বিনা দ্বিধায়, এই সম্ভবত কারণ আপনাকে বলছি রেফারেন্স প্রয়োজন অক্ষর কি. ঠিক আছে. তাই নিশ্চিত জেনে অক্ষর, নির্দিষ্ট সংখ্যার ম্যাপ আমি শুধু প্রথম চালানোর হলে যে লাইন, printf একটি code-- একটি, বিয়োগ ছোটহাতের ধাঁচের এ সাধুবাদ জানাই হবে কি একটি অনুমান আছে এই মুহূর্তে পর্দার মুদ্রণ? সুতরাং প্রথম সব, কি করে একটি প্রতিনিধিত্বকারী ছোট হাতের? কী সংখ্যা যে হয় ASCII টেবিল এনকোড. দুঃখিত? শ্রোতা: 97? Andi Peng: 97, মহান. এবং বিভিন্ন ধাঁচের একটি কি? শ্রোতা: 65. Andi Peng: তাই 97 বিয়োগ 65 কি? শ্রোতা: 32. Andi Peng: ঠিক আছে. সুতরাং যাচ্ছে আপনি কি মনে করেন না যখন আমি ইনপুট ঘটতে যে কোড লাইন আমার কম্পিউটারের মধ্যে? শ্রোতা: [শ্রবণাতীত]. Andi Peng: দুঃখিত, উচ্চকণ্ঠে. কোন চিন্তা করো না. এটি একটি খুব নিরাপদ পরিবেশ, বিয়োগ ক্যামেরা. আমরা সব কোন উদ্বেগ চলুন. শুধু আমরা সব মত জাহির করতে যাচ্ছেন এটা শুধু আমাদের এই রুমে হিম এর. কোন চিন্তা করো না. কোন প্রশ্ন খুব মূঢ়. কোন উত্তর নেই মূঢ় উত্তর. আমি সম্ভবত ভুল করতে যাচ্ছি আমার শিক্ষার কোর্সে. তথাপি, বলছি, শুধু এটা ফাঁস. নিজেকে মধ্যে আবদ্ধ হতে, আপনি জানেন? সুতরাং যে কি ছিল? কে যে শেষ উত্তর বলেন? ঠিক আছে. যে সুন্দর এবং পরিষ্কার চিত্কার. শ্রোতা: 32? Andi Peng: 32. ঠিক আছে, এই কোড রান দেওয়া এবং যে কি ঘটছে কিনা দেখতে. ঠিক আছে. সুতরাং হিসাবে আপনাকে বলছি ধরনের পারেন আমি করেছি সাধারণত স্বরলিপি দেখতে আমরা চাকরী করবে কিভাবে জন্য এখানে স্থাপন আমাদের কম্পিউটার এ প্রোগ্রামের কোনো সাজান. আমরা আমাদের প্রধান ফাংশন আছে আমাদের প্রধান ফাংশন মধ্যে. আমি শুধু কপি করা যাচ্ছে না এবং এই লাইন কোড পেস্ট করুন. যখন আপনাকে বলছি এছাড়াও সতর্কতা অবলম্বন করা আবশ্যক কপি এবং পেস্ট কোড হয়. কখনও কখনও কিছু অপারেটর সঠিকভাবে উপর পেস্ট না. সেই ক্ষেত্রে, বিয়োগ সাইন আসলে একটি ড্যাশ ছিল. তাই কম্পিউটার এটি কুড়ান না. তাই আমি ফিরে যেতে ছিল এবং শারীরিকভাবে যে টাইপ. শুধু সময় সতর্কতা অবলম্বন করা আপনাকে বলছি যে করছে. ঠিক আছে. আমরা এখানে এই রান করতে যাচ্ছেন. তাই আমরা আমাদের Section2 মধ্যে সিডি চলুন. আমি এই প্রোগ্রাম ASCIIMath ডেকেছে. আমরা কোনো রান যখন তাই মনে রাখা প্রোগ্রাম, আমরা প্রথমে এটা কম্পাইল করতে চান আমাদের মেক মাধ্যমে এটি চলমান দ্বারা. এবং তারপর আমরা আসলে চালাতে চান ডট স্ল্যাশ করে প্রোগ্রাম. সুতরাং আমরা ./asciimath চলুন. ঠিক আছে, সেখানে আমরা যেতে. আর আমরা 32 দেখতে. সাবাশ. আপনি মিছরি এক টুকরা প্রাপ্য. আপনার জন্য ক্যান্ডি. দুঃখিত. ঠিক আছে. ঠিক আছে. তাই আমরা এখানে ফিরে আমাদের উদাহরণে ফিরে যেতে পারেন. কোন, aah. Aah. ঠিক আছে. আমি ঠিক সেই মতো তা রাখা যাচ্ছে না. ঠিক আছে. ঠিক আছে. আপনাকে বলছি দেখতে পারেন হিসাবে সুতরাং, আমরা কি করতে পারি খুব কৌতূহলোদ্দীপক, খুব শান্ত একটা অনেক, অনেক জড়িত খুব জটিল জিনিস ASCII অক্ষর এবং সংখ্যার. আপনি পাঁচটি লাইন নিচে পেতে হলে, যে বরাবর অনুসরণ অনেক. আমরা যেতে যাচ্ছেন না বিভাগের মাধ্যমে. যদি আপনি করতে পারেন, বিনা দ্বিধায় থেকে, কাগজে এটা যুক্তি প্রথম যখন কি ঘটছে করা উচিত মূল্যবোধের আপনি ইনপুট যেমন একটি স্ট্রিং. উদাহরণস্বরূপ, যে শেষ লাইনে, আমরা আছে z-- একটি নির্দিষ্ট number-- প্রতিনিধিত্ব করে যা ছাগু karigor.com এছাড়াও প্রতিনিধিত্ব করে যা একটি নির্দিষ্ট number-- প্লাস 1 modulos 26 প্লাস একটি ছোট হাতের অক্ষর. আপনাকে বলছি পড়ার রাখা এই মাধ্যমে, আপনি একটি প্যাটার্ন আসা পর্যন্ত দেখতে পারেন কীভাবে আমরা কোড সাধিত করছি. আমি অত্যন্ত, অত্যন্ত সুপারিশ আপনাকে বিভাগে সব পরে বলছি এগিয়ে এবং ইনপুট যেতে আপনার কম্পিউটার এ ঐ সব এবং কি ধরনের দেখতে সংখ্যা আসছে আউট এবং যারা কেন মাধ্যমে আলোচনা কারণ আপনার psets জন্য, ঘটছে এটা সত্যিই গুরুত্বপূর্ণ হবেন আপনি বুঝতে জন্য কেন নির্দিষ্ট কিছু ঘটছে. এই সকল স্লাইড অনলাইন হতে হবে. করার চেষ্টা সম্পর্কে তাই কোন উদ্বেগ শারীরিকভাবে নোট নিচে কপি. সবকিছু অনলাইন. এই বিভাগে নিজেই অনলাইন হতে হবে. সকল আমার সোর্স কোড যে আমি অনলাইন হতে হবে চলমান করছি. হ্যা. আপনি এখনও একটি প্রশ্ন আছে কি? শ্রোতা: modulos কি? Andi Peng: ঠিক আছে. সুতরাং modulo যাচ্ছে যে একটি অপারেটর আপনার বলছি এর pset অত্যন্ত গুরুত্বপূর্ণ এখানে. সুতরাং যে অপারেটর উপায় সি ও প্রোগ্রামিং কাজে আপনি কি বলা আছে যে হয় বিভাগ প্রতীক এবং মডিউলস প্রতীক, যা শুধু সাইন শতাংশ ভালো হয়. সি, যাতে আপনি একটি পূর্ণসংখ্যা না যখন একটি স্ল্যাশ সঙ্গে একটি পূর্ণসংখ্যা দ্বারা বিভক্ত, সি কাটা করতে একটি প্রবণতা আছে দশমিক পয়েন্ট সব বন্ধ, একটি পূর্ণসংখ্যা চায়, কারণ একটি পূর্ণসংখ্যা রূপান্তর. এটি একটি ডবল হতে চান যাচ্ছে না সব পরে দশমিক একটি গুচ্ছ সঙ্গে. আমি 2 দ্বারা বিভক্ত 3 না সুতরাং, যদি এটা যাচ্ছে 0.5 কেটে শুধু আপনি 1 দিতে. যে এমন কিছু যাতে করা আপনি যখন খুব সতর্কতা অবলম্বন প্রোগ্রামিং গণিত কোন ধরণের করছেন, সংখ্যা যে আপনি পেতে হয় নম্বর নাও হতে পারে আপনি চিন্তা করা হয়েছে যে, যা কেন rounding হয় আপনার শেষ pset এত গুরুত্বপূর্ণ. Modulo আপনি বাকি দেয়. আমি 3 করেনি উদাহরণস্বরূপ, যদি তাই মডুলো 2 না তাই 3 শতাংশ সাইন 2 না এটা আপনি যে বাকি দিতে হবে. তাই 3 2 দ্বারা বিভক্ত 1.5 হয়. এটা 1 এর 1 বাকি আছে. এটা আপনি 1, দিতে হবে, যা যে বাকি হয়. তাই আপনাকে বলছি চলন্ত হয় যখন ASCII টেবিল মাধ্যমে, মডুলো হচ্ছে শেষ হয়ে যাবে খুব গুরুত্বপূর্ণ কিছু যে, এবং আমরা যে পরবর্তী আলোচনা করব. ঠিক আছে. তাই বেশ কিছু যে, সুন্দর নতুন ও অনন্য সুন্দর আমরা এই সপ্তাহে আলোচনা করেছি যে একটি অ্যারে কি ধারণা. সুতরাং অ্যারের প্রথম ডাটা স্ট্রাকচার ধরণ আমরা চলুন যে এই ক্লাসে সম্মুখীন. সকল ডাটা স্ট্রাকচার হয় নির্বিচারে কিছু বাছাই, কাঠামো মত আক্ষরিক কিছু আমরা প্রোগ্রামারদের তৈরি করেছেন যে, আমরা আমাদের কোড রেখেছি যে যে কোড অন্যান্য টুকরা থাকতে পারে. এই অর্থে, একটি অ্যারে তাই একটি ফাইল মন্ত্রিসভা হিসাবে এটা মনে হয়, আপনি বিভিন্ন খুলুন যেখানে আপনার ফাইল ক্যাবিনেটে তাক, আপনি বিভিন্ন জিনিস ব্যবহার করতে পারবেন. মেমরি, একটি অ্যারের শুধু করছে আপনার কম্পিউটারে একই জিনিস. আপনি বিভিন্ন blocks-- আমরা থাকতে পারে একটি অ্যারের indices-- তাদের সাথে যোগাযোগ করে. এটি শুধু একটি ব্লক মত মেমরি বালুচর আমরা মধ্যে তৈরি করেছি যে আপনার কম্পিউটার যে আপনি ইনপুট করতে পারেন বিভিন্ন স্পেস নির্দিষ্ট কিছু. একটি অ্যারের সঙ্গে সুতরাং, আপনি সবসময় specify-- আছে আপনি কি চান একজন ঘোষণা উল্লেখ আছে নিম্নলিখিত বিন্যাসে অ্যারে. আপনিই প্রথম চলুন ডাটা টাইপ উল্লেখ আপনি অ্যারের তৈরি করতে চান. আমি পূর্ণসংখ্যার একটি অ্যারে চান আমি ঠিক আছে কোন int করা যাচ্ছে. আমি স্ট্রিং একটি অ্যারে চান আমি সেখানে স্ট্রিং লাগাতে যাচ্ছি নাম আপনার অ্যারে, এবং তারপর আপনি বর্গাকার বন্ধনী আছে চলুন. ও স্কয়ার বন্ধনীর ভিতরে, আপনি আছেন আপনার অ্যারের আকার আছে যাচ্ছে. সত্যিই গুরুত্বপূর্ণ যে কিছু অ্যারে তৈরি হয় যখন মনে রাখা আপনি কি চান একজন তৈরি একবার, যে অ্যারে, যে আকার পরিবর্তন করতে পারবেন না. তাই আপনি যদি জানেন এই মুহূর্তে যে আপনি, মাপ 10 একটি অ্যারে আছে আপনি আমি 10 কোষ আছে যাচ্ছি জানি যে এই অ্যারের মধ্যে সূচকের মধ্যে অথবা 10, এবং এটা হচ্ছে না হচ্ছে প্রসারিত বা কমা কোন ব্যাপার আছে কি, এবং যে স্থান বর্তমানে মাত্র 10 ব্লক সংরক্ষণ করতে পারেন যে আপনার মেমরি বরাদ্দ আপনি রেখেছি যাহা পর্যন্ত 10 জিনিষ. এই ভাবে তাই, একটি অ্যারের ডাটা টাইপ, একটি অ্যারের যে তথ্য কাঠামো আমরা করব কিছু অন্যদের থেকে ভিন্ন এই কোর্সে পরবর্তী আচ্ছাদন করা. হ্যা. উদাহরণস্বরূপ, যদি আপনি করতে চেয়েছিলেন মাপ 3 একটি অ্যারের তৈরি যে integer-- এর অন্তর্ভুক্ত ভেরিয়েবল ওহ, দুঃখিত, temperature-- এর এবং তাপমাত্রা, এর অবশ্যই, একটি পূর্ণসংখ্যা. সুতরাং আমরা যা কোন int তৈরি হবে আমরা সঞ্চয় করতে চান কি ডাটা টাইপ. আমরা এই তাপমাত্রা কল চলুন নামকরণের নামকরণের অনুরোধে জন্য সকলে বুঝতে পারে কিছু. আর আমরা বর্গাকার বন্ধনী আছে চলুন. এবং আমরা তিন নম্বর চান. সুতরাং আমরা রাখা চলুন এটি ভেতরে তিনটি. সত্যিই কিছু যে মনে রাখা গুরুত্বপূর্ণ অ্যারে শূন্য ইন্ডেক্স করা হয়. এর মানে হল যে আপনি যে সকল হয় 0 সূচক দিয়ে শুরু, এবং আপনি মাধ্যমে রান আপ 1 বিয়োগ অ্যারের সাইজ. সুতরাং এখানে যেমন, আমরা মাপ 3 একটি অ্যারে আছে. এটি সক্ষম হতে যাচ্ছে তিনটি মান রাখা. কিন্তু সংখ্যার যে themselves-- সংখ্যা, অ্যারে, যে সূচক, অ্যারে, 2 মাধ্যমে 0 হয়. তাই বলছি, সত্যিই সত্যিই, সতর্কতা অবলম্বন করা আবশ্যক আপনি সেট আপনার সমস্যার খুজছ এবং অ্যারের কোন ধরণের তৈরি, কারণ এটা সময়ের অনেক সত্যিই, সত্যিই সহজ যে ভুলতে. আমি আসলে সূচক হবে না 3, যে আমি বর্তমানে শুধু 2 সূচক আছে. এবং যদি আপনি চেষ্টা হলে তৃতীয় সূচক অ্যাক্সেস, এটা কি হতে যাচ্ছে নাল টারমিনেটর বলা. এটা আসলে যাচ্ছে না অ্যারের মধ্যে উপস্থিত. আর কম্পিউটার যে মত যাচ্ছে না. সুতরাং যখনই সতর্কতা অবলম্বন করা আবশ্যক আপনি শুধু কিছু অ্যাক্সেস করছি আপনি মনে রাখবেন, যে নিশ্চিত করার জন্য অ্যারে হয় শূন্য সূচিবদ্ধ. ঠিক আছে. সুতরাং প্রথম উদাহরণ শুধু হয় একটি অ্যারের তৈরি করার একটি পদ্ধতি. আমি দ্বিতীয় উদাহরণ নিচে মাত্র একটি পৃথক উপায় তৈরি একই তথ্য কি আমরা শুধু ইনপুট করেছি যে কাঠামো. সুতরাং পরিবর্তে শারীরিকভাবে চলমান মাধ্যমে এবং 0 তাপমাত্রার নির্বাণ যাই হোক না কেন সমান, তাপমাত্রা 1 যাই হোক না কেন, তাপমাত্রা সমান সমান 2 যাই হোক না কেন, আমি আসলে পারা সরাসরি এক লাইনে সব তৈরি তাপমাত্রা বর্গাকার বন্ধনী মধ্যে সমান. আর এই ক্ষেত্রে নোটিশ আপনি প্রয়োজন হবে না আপনার অ্যারে কত বড় উল্লেখ করতে, কম্পিউটার যাচ্ছে কারণ মধ্য দিয়ে যেতে এবং সেখানে দেখতে যারা কোঁকড়া ধনুর্বন্ধনী মধ্যে তিনটি উপাদান. এবং এটা, ঠিক আছে, জানেন যাচ্ছে আমি মাপ 3 একটি অ্যারের প্রয়োজন. আপনি প্রয়োজন যাচ্ছেন না ইনপুট এটি কোনো অন্য ভাষার. এবং এছাড়াও, হাঁ, যে পথ. কেউ প্রশ্ন আছে আমরা অ্যারে করতে কিভাবে সংক্রান্ত অথবা একটি অ্যারের গঠন কিভাবে কাজ করে? হ্যা. শ্রোতা: [শ্রবণাতীত]? Andi Peng: হাঁ, ঠিক. সুতরাং আপনি ঘোষণা এবং আরম্ভ করতে হলে একটি অ্যারের নিম্নলিখিত পদ্ধতি, যা দ্বিতীয় উপায়, আপনি শুধু ঐ চলে যাবে. আর কম্পিউটার স্বয়ংক্রিয়ভাবে এটি যে জানে কতগুলি উপাদান গণনা করা প্রয়োজন যারা কোঁকড়া ধনুর্বন্ধনী, পৃথক করা হয় কমা দ্বারা. সুতরাং এখানে তারা 65, 87, 30 দেখুন. সুতরাং কম্পিউটার, ওহ, জানে তিনটি ইন্টিজার আছে. আমি একটি অ্যারের নামের তৈরি করতে জানেন এটা এ তিনটি উপাদানের সঙ্গে তাপমাত্রা. ভালো প্রশ্ন. হ্যা. শ্রোতা: এটা সম্ভব তৈরি করতে না হয় তথ্য বিভিন্ন ধরনের সঙ্গে একটি অ্যারের এটা প্রবেশ করা যেতে পারে? উদাহরণস্বরূপ, ইন্টিজার সঙ্গে [শ্রবণাতীত]? Andi Peng: উদ্দেশ্য পূরণকল্পে এই শ্রেণীর, না, তুমি. আপনি একটি তথ্য তৈরি করেন একটি অ্যারের মত গঠন, আপনি কহন করছি কম্পিউটার, আরে, আমি আপনি প্রয়োজন এই অনেক বরাদ্দের আমার হার্ড ড্রাইভে মেমরি, প্রতিটি কোষের একটি হচ্ছে বিট নির্দিষ্ট সংখ্যক. আমরা সপ্তাহে শিখেছি মনে রেখো শূন্য যে বিভিন্ন তথ্য ধরনের বিভিন্ন মাপ আছে? উদাহরণস্বরূপ, একটি স্ট্রিং তাই একটি ভিন্ন পরিমাণ একটি গৃহস্থালি, বেশী স্থান যা স্থান একটি ভিন্ন পরিমাণ একটি পূর্ণসংখ্যা থেকে. আর তাই আপনার নির্দিষ্ট করা এবং যদি আপনি না মিশ্রিত করা এবং ভেরিয়েবল কি ধরণের মেলে আপনি কম্পিউটার এর, আছে যাচ্ছে খুব বিভ্রান্ত হতে. আর এটা জানা যাচ্ছে না কত স্মৃতি দিতে. সঠিক উদ্দেশ্যের জন্য তাই এখন, কম্পিউটার পারেন শুধুমাত্র একটি অ্যারের এক ধরনের স্বীকৃতি. ভালো প্রশ্ন. ঠিক আছে. তাই স্বাভাবিকভাবেই, আমরা দ্বিতীয় প্রশ্ন আমরা একটি তৈরি করেছি এখন যে, ভাল, হয় অ্যারে এবং আমরা এই সব রেখেছি অ্যারের মধ্যে, কিভাবে আমরা এটি অ্যাক্সেস করতে সক্ষম হতে যাচ্ছে? টিপিক্যাল কাঠামো যাতে আমরা সবসময় একটি অ্যারের অ্যাক্সেস লুপ জন্য আমাদের আনন্দদায়ক হয়. আমরা হবেন যে আমি আপনাকে বলছি অঙ্গীকার এখানে এই সহকর্মী অনেক দেখছি. মূলত, যে কোনো সময় আপনি চান ইনপুট একটি অ্যারের মধ্যে মান অথবা আপনি তাদের অ্যাক্সেস করতে চান, তাই সবচেয়ে ভালো উপায় কি, লুপ জন্য একটি হল কারণ লুপ জন্য একটি, আপনি আপনি আছেন কতবার জানি অ্যারে মাধ্যমে চালাতে চান যাচ্ছে, আপনি একটি স্টপ সংস্করণ আছে, কারণ, ঠিক আছে? এবং প্রত্যেক সময় আপনি চালানোর মাধ্যমে, আপনি অ্যাক্সেস করতে পারেন অ্যারের একটি ভিন্ন উপাদান. এবং এছাড়াও, এই একটি কারণে কেন সাধারণত হয় আমরা 0 মান loops জন্য আমাদের শুরু আপনি অ্যারে অ্যাক্সেস যখন কারণ, আপনি শূন্য সূচক অ্যাক্সেস করতে পারেন. আর তাই এটি খুব সুন্দরভাবে সমান্তরাল. আপনাকে বলছি চেয়েছিলেন হতে পারে আমি 1 সমান int- জন্য লিখুন. আমি কম বা 3 সমান. কিন্তু এটা হিসাবে বেশ কাজ করবে না আচ্ছা এখানে, আপনি কারণ শুধুমাত্র 0, 1, 2 উপাদান আছে. এবং যাতে আপনি শুরু করতে হলে আপনার উপাদান 1, 2 এ আমি, এবং 3, আপনি চলমান আপ শেষ হয়ে যাচ্ছেন আপনার অ্যারের সীমার বাইরে, এবং খারাপ জিনিস ঘটতে যাচ্ছে. তাই আমি আপনাকে বলছি segue দেখতে আশা করি কেন তার আগে ক্লাসের আমরা কিভাবে চালাতে আপনাকে বলছি অধ্যাপনা ছিল এবং লুপ জন্য আমরা ছিল যে ভাবে একটি বিন্যাসে. এখন আমরা করেছি, কারণ এটা অ্যারে মধ্যে স্থানান্তর, আপনি কেন 0 ধার দেখতে পারেন নিজেই খুব সুন্দরভাবে করতে অ্যাক্সেস. তাই আমরা যে কি ভাবে আমি কিন্তু যে হয় শুধু অনুরোধে জন্য এখানে এটা মুদ্রণ এটি মুদ্রণ. কিন্তু আমি আমার স্থানধারক, কমা আছে. আর প্রকৃত পড়তে অংশ ঘটছে. অ্যারে নাম তাপমাত্রা বলা হয়েছিল. সুতরাং এটা তাপমাত্রা এবং এর অ্যারের আমি-তম উপাদান. লুপ জন্য মাধ্যমে সঞ্চালিত হিসাবে সুতরাং, এটা 0 এ শুরু করতে যাচ্ছে. এটি প্রিন্ট আউট করতে যাচ্ছে এই অ্যারের 0th সূচক. তারপর এটা মুদ্রণ যাচ্ছে প্রথম উপাদান খুঁজে. তারপর এটা মুদ্রণ যাচ্ছে দ্বিতীয় এক আউট. এবং তারপর আমরা বিরতি চলুন. প্রত্যেককে স্পষ্ট যে কিভাবে ঘটছে? গ্রেট. ঠিক আছে. তাই আমরা এখানে একটি উপায় আছে আমরা চাই না, বলার অপেক্ষা রাখে না হার্ড-কোড প্রোগ্রামার হিসেবে আমার in--. আমি আসলে শারীরিকভাবে করতে চান না প্রত্যেক ব্যক্তি উপাদান রাখা এই অ্যারের. আমি পরিবর্তে চেয়েছিলেন ব্যবহারকারীর ইনপুট মান আছে যে সবচেয়ে ভালো উপায় কি কি? আচ্ছা, এখানে আমি সৃষ্টি করেছি এই সুদৃশ্য ফাংশন, যা আমি একটি অ্যারে ডিক্লেয়ার করতে পারেন. আসুন scores-- সুতরাং int- শুধু আমরা করতে চাই বলে সমস্ত 18 বাংলাদেশের অনুষ্ঠিত যে একটি অ্যারের এখানে এই বিভাগে শিক্ষার্থীদের. আমি মনে করি আমরা একটি বিট পেয়েছেন মনে অধিক 18 বাচ্চাদের আজ. কিন্তু উদাহরণস্বরূপ দোহাই, এর ঠিক আমরা 18 ছিল অনুমান করা যাক. আমি সঙ্গে একটি অ্যারের নাম স্কোর তৈরি হবে টাইপ int, স্কোর কারণ, অবশ্যই, সংখ্যা. আর আমি আছে যাচ্ছি বর্গাকার বন্ধনী মধ্যে 18, কারণ যে কত ছাত্র আমি স্কোর সঞ্চয় করতে সক্ষম হতে চান. আর ভাবে আমি পূরণ করতে চাই অ্যারে আমি চাই যে হয় , এর জন্য একটি লুপ মাধ্যমে এটি চালানোর অবশ্যই, 0 আমার 0th সূচক হচ্ছে. এবং তারপর 18 হচ্ছে আমার নেই, কারণ, সংস্করণ বাঁধন অ্যারের মধ্যে 18 উপাদানের. এবং তারপর আমি printf করতে যাচ্ছি, লিখুন student-- সাদা মাটা পাঠ্য সাদা মাটা জন্য স্কোর. কেউ আমি নই কেন আমাকে এখানে বলতে পারেন আমি প্লাস 1 মুদ্রণ ও না? এটি একটি কৌতুক ধরনের প্রশ্ন, না সত্যিই. এটা আসলে শারীরিকভাবে না কোড চলমান প্রভাবিত. হ্যা. শ্রোতা: [শ্রবণাতীত] 0? Andi Peng: হাঁ, ঠিক. এটা আরে, বলে একটি বিট বিশ্রী, আপনি কি এই ক্লাসে 0th ছাত্র. এটি একটি বিট অদ্ভুত. আমাদের তাই, মানুষ হিসাবে, সত্যিই ভালো না কম্পিউটার মনে কিভাবে ভাবতে. তাই এমনকি যদিও কম্পিউটার, এটা মান সংরক্ষণকারী 0 তম সূচক, যখন এ আমরা মানুষেরা আছেন, আমরা সত্যিই না শূন্য হিসাবে নিজেদেরকে পড়ুন করতে চাই. তাই আমি ঠিক করে প্রিন্ট করার সময়, আমি প্রিন্ট ও যোগ করা যাচ্ছে না শুধু স্বচ্ছতার খাতিরে 1. আমি মুদ্রণ যখন আমি হতে যাচ্ছি 18 মাধ্যমে ছাত্র 1 প্রিন্ট করতে সক্ষম. এটা আসলে প্রভাবিত করে না কোড চলমান কোন ভাবেই, পথ আমি প্রিন্ট করা হবে. আপনি যখন তবে সতর্কতা অবলম্বন করা আসলে অ্যারে অ্যাক্সেস. আপনি স্কোর আমি দেখতে হলে, এখানে লক্ষ্য করা আমি আসলে করছি 0th সূচক অ্যাক্সেস এবং না 1 প্লাস 0-- বা 1 প্লাস 1, এই ক্ষেত্রে, সূচক তাই যে এটা আসলে স্পষ্ট. সবাই ধরনের OK তে হয় কিভাবে এই মাধ্যমে চলমান এবং প্রতিটি সূচকেই সাথে আমি আছি অ্যারের মধ্যে একটি মান বসিয়ে এবং 18 সংখ্যার একটি অ্যারে তৈরি ব্যবহারকারীর ইনপুট যাচ্ছে? ঠিক আছে. কুল. ঠিক আছে. আমরা এখন বেশ কিছু যে মধ্যে স্থানান্তর পাশাপাশি সেট এই টুকরা জন্য প্রাসঙ্গিক. আমি বক্তৃতায় জানি, ডেভিড দুঃখিত, আপনি একটি প্রশ্ন ছিল? শ্রোতা: আপনি এটা সম্প্রসারিত করা যেতে পারে? Andi Peng: হ্যাঁ, তাই আমি চেষ্টা. কিন্তু আমি জানি না. যেকোনো কারণেই হোক, এই পাওয়ার পয়েন্ট এর সংস্করণ সত্যিই কাজ নয় ভাল প্রদর্শন. তাই আমরা ঠিক যাচ্ছেন এই মত এটি রাখা. এই সব অনলাইন আপলোড করা হবে. দুক্ষিত বন্ধুরা. হ্যা. ঠিক আছে. সুতরাং আমরা স্ট্রিং থাকতে পারে. তাই আসলে আপনাকে বলছি আমি বিজ্ঞপ্তি যদি রব যে বক্তৃতায় এই উপর গিয়েছিলাম জানেন তিনি একটি পংক্তি আসলে did-- যে শুধুমাত্র অক্ষরের একটি অ্যারের, আপনি এটি সম্পর্কে চিন্তা, ডান? একটি স্ট্রিং একটি নাম বা হয় বাক্য বা একটি শব্দ, ডান? আমি একটি স্ট্রিং নামে তৈরি করতে হলে Andi-- শুধু আমার নাম, একটি-এন-ডি-আমি. আপনি মাত্র এক পরিবর্তনশীল হিসাবে যে মনে. কিন্তু আসলে, এটি নিচে ভাঙা শুধু অক্ষর একটি অ্যারের মধ্যে. সুতরাং এটি একটি অক্ষর এর পেয়েছিলাম একটি একটি অ্যারের মান সংরক্ষণ করা হয়. সঞ্চিত এন একটি চরিত্র পেয়েছিলাম দ্বিতীয় সূচক তাই এবং তাই ঘোষণা. আমরা এমনভাবে তাই আসলে এই ধরনের আছে কাঠামো সেট আমাদের স্ট্রিং জন্য লিখুন. তাই এখানে, আমি ইনপুট করতে হলে শব্দ "খাওয়া" - তাই স্ট্রিং শব্দ সমান স্ট্রিং পেতে. আমি ইনপুট দিতে হয়, তাহলে শব্দ ", খাওয়া" যে যে আমার কম্পিউটার ভাবে শারীরিকভাবে হয় আমার স্মৃতিতে যে স্ট্রিং সংরক্ষণ করা হয়. আর আমি যে এর মাধ্যমে চালানো চেয়েছিলেন এবং আমি শুধুমাত্র জন্য তাই out-- যে প্রিন্ট আমরা, বক্তৃতায়, মনে রাখবেন, শূন্য সমান বলা strlen যে আচ্ছাদিত কিছু, বা স্ট্রিং এর দৈর্ঘ্য. আমি না আসলে না, কারণ অ্যারে কত বড় জানতে যাই হোক না কেন ব্যবহারকারীর inputting-- এর উদাহরণস্বরূপ, আমি ইনপুট শব্দ ", খাওয়া" এবং আমি জানি যে অধিকার, তিনটি অক্ষর ধরে আছে? তাই আমি সেখানে তিন রাখা পারে এবং সবকিছু ঠিক থাকবে. কিন্তু আপনার ব্যবহারকারীর ইনপুট কিছু যদি যে মান একটি আলাদা নম্বর আছে, আপনি কি সত্যিই করতে সক্ষম নাও হতে যাচ্ছেন আপনি আপনার কোড প্রোগ্রাম যখন জানি যে. তাই আমরা পরীক্ষার ক্ষেত্রে হ্যান্ডেল যে ভাবে যে মত আমরা কিছু আছে শুধু একটি ফাংশন যা বলা strlen যে একটি স্ট্রিং কতদিন আপনি বলে. তাই শব্দের strlen. আমার শব্দ খেতে হয়. এন শব্দের strlen সমান. কারো কি যে আমাকে বলতে পারবেন মান আসলে ঠিক আছে? এন অধিকার কি প্রতিনিধিত্বমূলক না এখন, এই উদাহরণে, যদি আমার থাকতো খেতে? শ্রোতা: 3. Andi Peng: 3, ঠিক. কোন int আমি সমান জন্য তাই আমরা আছে শূন্য, এন মূলত, 3 সমান. আর আমি চালাতে যাচ্ছে এটা 3i ++ কম হওয়া পর্যন্ত. এবং এটি মূলত যেতে যাচ্ছে এবং এর মাধ্যমে একই জিনিস. এটি প্রিন্ট আউট করতে যাচ্ছে প্রতি মূল্য এবং আপনি দিতে ই-একটি-টি. এটি শুধু একটি বাচক হচ্ছে এটা লেখার অন্যভাবে. যে খুব সহায়ক হতে যাচ্ছে. হ্যা. শ্রোতা: নির্বাণ সুবিধাগুলো কী এন যে ভিতরে strlen শব্দ সমান [শ্রবণাতীত] লুপ জন্য? Andi Peng: হ্যা. তাই আমি বলতে চাচ্ছি যদি, উদাহরণস্বরূপ, আমি ঠিক ছিল, তাহলে তা করতে এবং , আমার কোড, যে oop-- এটা হবে do-- আসলে একই জিনিস ভালো করছেন হতে. তবে উপায় ডেভিড ব্যাখ্যা যে এটা বক্তৃতা করার সময়, যদি আপনি কোন বলছি মনে রাখবেন, ছিল, যেমন যে মানুষের, প্রোগ্রামার হিসেবে, আমরা সত্যিই আমাদের প্রোগ্রামে চেষ্টা কোড আমাদের কম্পিউটার আছে, যাতে তাই যতটা সম্ভব সংক্ষিপ্ত কাজ যে আমাদের কোড খুব দক্ষ. তাই আমি যে আছে, তা ছিল যদি আমার জন্য লুপ মাধ্যমে ঘটতে পারে আমি প্রথম একটি ঘোষণা চাই যে পরিবর্তনশীল নামে আমি 0 হতে যাচ্ছে. আমি ওহ, পরীক্ষা দিতে যাচ্ছি শব্দের strlen কি? ওহ, strlen 3. তাই আমি তিনটি চেয়ে কম হয়? হ্যাঁ, এটা. আমি চালানো যাচ্ছে না. এবং তারপর দ্বিতীয় সময় ফিরে কাছাকাছি লুপ, আমি আমি বাড়ায় যাচ্ছি. আমি এক হতে যাচ্ছে. তখন আমি বললাম, ওহ, পরীক্ষা যাচ্ছে কিন্তু শব্দের strlen কি? ওহ, এটি তিন. আর, ধরনের অযথা মনে যে আছে আপনি লুপের মাধ্যমে চালানো প্রত্যেক সময়, ফাংশন চেক করা, এমনকি শব্দের strlen যদিও আসলে কখনও পরিবর্তন? সুতরাং এটি একটি কম্পিউটারের জন্য অতিরিক্ত ক্ষমতা. আপনি কিছু বিষয়ে কথা শুরু হলে বিলিয়ান এবং কোটি কোটি আছে এবং স্থান বিলিয়ান দীর্ঘ, আপনার কম্পিউটার কল্পনা শারীরিকভাবে মধ্য দিয়ে যেতে হচ্ছে এবং প্রতি একক সময় যে সব পরীক্ষা. সেজন্য, শুধু করা হয় দক্ষতা অনুরোধে জন্য, আমরা শুধু এই কাজ করতে ঝোঁক কারণ আমরা শুধুমাত্র করছি এই ভাবে ফাংশন কলিং শুরুতে একবার, এবং প্রত্যেক সময় যে এটা এটা ঘটছে মাধ্যমে যায় মান ধারণ করার জন্য 3 সেখানে, আপনি কি যে না ক্রমাগত প্রত্যেক সময় পরীক্ষা আছে. হ্যা. শ্রোতা: দুঃখিত. শুধু [শ্রবণাতীত]. আপনি int n strlen সমান এবং করা যেত না যে লুপ জন্য বাইরে উপরে আরো? Andi Peng: হ্যা. আপনি একেবারে, তা করতে পারে. আমরা এখানে তা আছে কারণ কারণ লুপ কাজ করার জন্য উপায় একটি এটা বলা হচ্ছে না যে একটি অর্থে স্থানীয় পরিবর্তনশীল আপনি আছেন যে সবকিছু লুপ জন্য ভেতরে তৈরি শুধুমাত্র লুপ জন্য ভিতরে বিদ্যমান. তাই পরিবর্তনশীল আমি শুধুমাত্র যারা ব্র্যাকেটের মধ্যে বিদ্যমান. এছাড়াও এন এবং এখানে ভেরিয়েবল শুধুমাত্র ঐ ব্র্যাকেটের মধ্যে বিদ্যমান. সুতরাং আপনি এর strlen ব্যবহার করতে হলে নিচে নিচে একাধিক বার শব্দ, একেবারে যে সবচেয়ে ভালো উপায় কি শীর্ষ এটা আপ ঘোষণা করা হবে তাই আপনি একবার এটা করতে হবে না. হ্যা. শ্রোতা: কেন আপনি একটি আছে না শতাংশ পরে নতুন লাইন আপনি সব লাগাতে চান তাহলে দেখা এটা আলাদা পরের অক্ষর? Andi Peng: ওহ, আমি চেয়েছিলাম প্রতিটি লাইনে তাদের সব প্রিন্ট করা হবে. এটা কোন ব্যাপার না. হ্যা, এটা একটি ফরম্যাটিং এর. যে যদিও, একটি ভাল প্রশ্ন. আমি চেয়েছি যদি হ্যা, প্রিন্ট এটা শুধু এক লাইনে সব, আমি এ ড্যাশ হবে না. ঠিক আছে. সবাই ভাল? ঠিক আছে. কুল. তাই আমি যথেষ্ট সায়ীদ আছে মনে. আপনাকে বলছি এর পালা মাধ্যমে চালানোর কোড এবং এখানে ভুল কি আমাকে বলুন. বাগ কোথায়? হিসাবে আপনি দেখতে পারেন, তাই আমি একটি ঘোষণা করেছি টাইপ স্ট্রিং নামে ক্লাসের নতুন অ্যারে. তখন আমি বললাম, স্যাম ইনপুট করেছি সেটিকে জেস, এবং কিম. আর আমি প্রিন্ট আউট করার চেষ্টা করছি অ্যারে সব উপাদান. কেন এই কারো কি আমাকে বলতে পারেন আমার সমস্যার দিতে যাচ্ছে? আমি বলছি আপনি 10 দেব সেকেন্ডের এই সম্পর্কে চিন্তা. ঠিক আছে. হ্যা? শ্রোতা: বাম কেন্দ্র 3 সমান বা [শ্রবণাতীত]? Andi Peng: রাইট. তাই এই আসলে কত বার এই লুপের মাধ্যমে চালানো যাচ্ছে? শ্রোতা: চার. Andi Peng: ঠিক. এটি চারটি সময়ের মধ্য দিয়ে যাচ্ছে. এটা মাধ্যমে চালানো যাচ্ছে 0, 1, 2, এবং 3 এ, তাদের উপাদান আমি কারণ অপেক্ষাকৃত ছোট বা 3 সমান. এটা 2 যখন বন্ধ করা যাচ্ছে না. এটা রাখা যাচ্ছে 3 হিট পর্যন্ত যাচ্ছে. আমরা জানি, এবং মাত্র তিন আছে আমাদের প্রকৃত অ্যারের মধ্যে উপাদান. আমরা চতুর্থ অ্যাক্সেস করতে চেষ্টা করুন উপাদান বা 3 এর সূচী, আপনি কোথাও এট্যাক স্মৃতিতে বিদ্যমান নেই. এটা নাল টারমিনেটর বলা হচ্ছে. কিছুই হতে যাচ্ছে. আপনার কম্পিউটার চালু হয় না আপনার সাথে খুব খুশি হতে. হ্যা. কেউ প্রশ্ন আছে কেন যে ঘটছে উপর? যে এড়াতে একটি সাধারণ এলাকা. হ্যা. শ্রোতা: প্রথম আর ভালো লাগছে না 2 একটি স্ট্রিং আছে স্লাইড? Andi Peng: নং তাই মূলত, যখন আপনি একটি অ্যারের তৈরি করছি, যে বন্ধনী ডান সেখানে সব number-- যে এটা আপনি কিভাবে হয় বলছে অনেক উপাদান আছে আমি. এটা আসলে বলার নেই আমার কিছু সূচী. তাই এই ক্ষেত্রে, আমি চাই জানেন তিনটি জায়গা দিয়ে লিখতে, তিনটি শারীরিক জায়গা দিয়ে আমি রাখা চাই যাই হোক না কেন রাখা. তিন নম্বর আছে সুতরাং যে কেন. যাইহোক, যদি আমি চেয়েছি আসলে এটি অ্যাক্সেস করতে, আমি বলতে চেয়েছিলাম, printf, তারপর ক্লাস বন্ধনী সংখ্যা, আপনি আসলে রাখা চলুন সেখানে শারীরিক সূচক. হ্যা, ভাল প্রশ্ন. শ্রোতা: সুতরাং শারীরিক সূচক অনুমিত [শ্রবণাতীত] হতে? Andi Peng: আমি দুঃখিত. আপনি একটি বিট উচ্চকণ্ঠে বলা যেতে পারে? শ্রোতা: তাই শারীরিক সূচি [শ্রবণাতীত] বাক্সে একে? [শ্রবণাতীত]? Andi Peng: হ্যা. তাই আমি ডান এখানে ফিরে যেতে চলেছি. এখানে ডান চিন্তা করুন. আমরা মাপ 3 একটি অ্যারে আছে. মত, তিনটি জায়গা আছে, এখানে শারীরিক স্থানধারক. কিন্তু তারা 0, 1, 2 নামে করছি. আমি তাদের অ্যাক্সেস করতে চায়, তাহলে আমি তাদের অ্যাক্সেস যে ভাবে আমি এখানে চেয়েছিলেন যাই হোক না কেন এর printf. আপনি প্রিন্ট করতে হবে এটা নাম, তারপর কম্পিউটার, কারণ ওহ, আমি সন্ধান করতে হবে, জানে না 0th সূচক জন্য এই অ্যারের মধ্যে. হ্যা. কিন্তু এটা মাপ পরিবর্তন করা হয় না. আকার নির্বিশেষে, 3 আপনি তাদের লেবেল কিভাবে. ঠিক আছে. সবাই ভাল? শ্রোতা: তাই প্রত্যেক সময় আমি [শ্রবণাতীত]? Andi Peng: ঠিক আছে. তাই এই ক্ষেত্রে, আমরা সত্যিই না কোর্সে এই মুহূর্তে এটা ঢোকা. কিন্তু জানেন যে আমি ভালো একটি স্ট্রিং একটি স্ট্রিং মূলত, আগে বলেন অক্ষরের একটি অ্যারের. আমি একটি অ্যারের তৈরি হলে তাই স্ট্রিং, আমি ধরনের অ্যারের একটি অ্যারে আছে অক্ষরের, ডান? তাই এই ক্ষেত্রে, আমি কারণ , স্ট্রিং একটি অ্যারে আছে আপনি ইনপুট সত্যিই একটি দীর্ঘ শব্দ হলে, যে এখনও, শুধুমাত্র এক স্থান দখল করে যে এক পংক্তি কারণ. কিন্তু আপনি যদি মনে করতে যে অ্যারের অক্ষর, তারপর যে আরো অনেক সময় নিচ্ছে অন্য কথায় কোনো তুলনায় অক্ষর হয়. এই মুহূর্তে জন্য সত্যিই গুরুত্বপূর্ণ নয়. কিন্তু যে শুধু সাধারণভাবে এর কিভাবে এটি কাজ করে. ঠিক আছে. তাই আমি আপনাদের কি জানাবো কিছু হয় সেমিস্টারে অবশ্যই বেশী অনেক. আমি আমার ভয়েস বিশ্রাম প্রয়োজন. আপনাকে বলছি নিজেদের উদ্দীপিত করা প্রয়োজন. আপনি অনেক সম্ভবত এই মুহূর্তে ঘুম আছে. আমি র্যান্ডম সমস্যার inputting করছি যেখানে আমরা একটি শ্রেণী হিসেবে অথবা আপনি একটি সঙ্গীর সঙ্গে আপনি পরের যাচ্ছি আলোচনা কয়েক মিনিট সময় ব্যয় করতে আমরা সমাধানে সম্পর্কে যেতে হবে কিভাবে অথবা যেমন এই হিসাবে একটি প্রোগ্রাম তৈরি. তাই এই মুহূর্তে, আমরা চাই একটি প্রোগ্রাম তৈরি করতে আমরা এটা কল চলুন upper.c-- পরিবর্তন করে ওপরের ক্লাসের একটি ছোট হাতের শব্দ স্ট্রিং ধাঁচের, দুঃখিত. শব্দ স্ট্রিং এ, দুঃখিত, সমার্থক. আমি তাদের পরিবর্তন করা যাচ্ছে না একই জিনিস মানে. হ্যা. মিনিট কয়েক সেকেন্ড সময় লাগতে. আর তাদেরকে পরিক্ষা করা হবে না কোন ভাষায় লিখিত. শুধু pseudocode কোড অথবা কথাটি কিভাবে আমরা এমনকি would এই ধরনের একটা সমস্যা করছেন সম্পর্কে যেতে. হ্যা. [পাশের কথোপকথন] আমি আপনাকে বলছি can-- লক্ষ্য করেছি যে আমি ধরনের ইতিমধ্যে প্রোগ্রাম দেখতে. আমি আমার অভাব অনুমান উপস্থাপক মোড একটি সমস্যা. কিন্তু এটা ঠিক আছে. [পাশের কথোপকথন] বলছি, দয়া করে, হ্যা. ক্যান্ডি পেতে আসুন. ক্যান্ডি পেতে আসুন. শ্রোতা: হ্যাঁ! [পাশের কথোপকথন] Andi Peng: এছাড়াও, হাঁ, আমি ক্যান্ডি নিক্ষেপ শুরু করব প্রশ্নের উত্তর না এমন লোকদের. আপনি সব প্রশ্নের উত্তর দিতে হবে, যাতে. অথবা আমি মানুষ অনুমান যারা প্রশ্নের উত্তর না. হ্যা, অন্য উপায় কাছাকাছি. [পাশের কথোপকথন] শ্রোতা: [শ্রবণাতীত] Andi Peng: হ্যা. হ্যা. [পাশের কথোপকথন] ঠিক আছে, বলছি. , মত, 10 দেখো নিন. [পাশের কথোপকথন] বলছি, ঠিক আছে. তাই আমরা চেষ্টা শুরু করার আগে আসলে শারীরিকভাবে, কোড লিখুন বিকাশ একটি ভাল অভ্যাস যে হয় আমরা কারণে প্রথম ধরনের চাই আউট কথাটি আমরা এটা করতে হবে কিভাবে. আপনি নিশ্চিত করতে চান, আপনি আগে শারীরিকভাবে কোড বের করার চেষ্টা শুরু মারিও মধ্যে, যে আপনি করতে নিশ্চিত করুন যে আপনি আপনার pseudocode হয় আছে. যে মাধ্যমে আপনি গ্রহণ করা হয় কি আপনি তাই তৈরি করতে হবে যখন আপনি শারীরিকভাবে, যে পরে আপনার প্রোগ্রাম লিখুন, আপনি ত্রুটি ধরা ভাল পারবেন আপনার কোড এবং যে ভালো জিনিস. তাই আমরা ঠিক শুরু করতে যাচ্ছেন by-- ইংরেজিতে, pseudocode মধ্যে, যে কেউ দিতে চায় আমাকে একটা জেনেরিক ব্যাখ্যা আমরা এই কাজ সম্পর্কে যেতে হবে কিভাবে? হ্যা. শ্রোতা: [শ্রবণাতীত]. Andi Peng: নিশ্চিত, কোন উদ্বেগ. শ্রোতা: আপনি এটা জিজ্ঞাসা বা চাইতে পারি কেউ, স্ট্রিং 1 টি হ্যা, স্ট্রিং পেতে এবং তারপর-- Andi Peng: হ্যাঁ, তাই এই একটি শুভ সূচনা. আমি আপনার সাথে কথা বলতে হিসাবে, দুঃখিত, টাইপ করা শুরু করব. So-- শ্রোতা: --The ছোট হাতের সংখ্যা বেশী, তাই না? অথবা ছোট হাতের অক্ষর উচ্চ নম্বর আছে? Andi Peng: ঠিক. শ্রোতা: তখন আমরা বিয়োগ যাই হোক না কেন [শ্রবণাতীত] থেকে 32. Andi Peng: গ্রেট. তাই আমরা ধরনের একটি সাধারণ অর্থে আছে কিভাবে এই সমস্যার বিষয়ে কাজ করতে. আমরা ধরনের শিখেছি করেছি বুদ্ধিমান যে স্ট্রিং শারীরিক ভাবে কণ্ঠস্থ করা হয়, ইতিমধ্যেই আপনি কি আপনি সম্ভবত চলুন জানি যে আপনার কোড লিখতে হবে যাতে স্ট্রিং মাধ্যমে সরাতে? শ্রোতা: লুপ জন্য. Andi Peng: লুপ জন্য একটি, ঠিক. গ্রেট. তাই আমরা ধরনের একটি জেনেরিক আছে pseudocode হয় নিচে লেখা যে ধরনের প্রদান করা হয় যদি আপনি উপর নোট সমস্যা সমাধানের বিষয়ে সরাতে হবে. এখন আপনি এই আছে, আপনি পরে জন্য তা উল্লেখ করতে পারেন আপনি চেষ্টা করছেন উপর আসলে আপনার কোড লিখুন. সুতরাং আমরা আসলে এখানে যেতে পারেন. আর আমি নামক একটি ফাংশন পেয়েছেন upper.c-- সেখানে এটি শুধু একটি ফাঁকা ফর্মার হচ্ছে ÑÑ এই মুহূর্তে আপনাকে বলছি করতে যাচ্ছি আমার লিখতে কিভাবে জিনিসটা সাহায্য না কোড লাইন code-- এই লাইন. এটা কোড একাধিক লাইন হবেন. কোন ধরণের শুরু করার সময় ফাঁকা pset হল, কি আমি সর্বপ্রথম যে জিনিসটি দরকার কি মনে রাখা? শ্রোতা: [শ্রবণাতীত]. Andi Peng: গ্রেট হাঁ. অন্তর্ভুক্ত করুন. stdio.h. পুন: পুন এই এক সবচেয়ে সহজ ভুল মানুষ তারা যখন করতে হবে লেখা তারা করব একটি অন্তর্ভুক্ত করতে ভুলবেন তারা প্রয়োজন গুরুত্বপূর্ণ গ্রন্থাগার. সুতরাং, এটা অফিসে ঘন্টা এবং আপনার মত থাকেন তাহলে আমার কোড কাজ করে না কেন আমি জানি না. আপনি এটা কাজ করছে না কেন আমাকে বলতে পারেন? আমরা আপনাকে # অন্তর্ভুক্ত হয়নি বলে যাচ্ছেন? আপনি এটা অন্তর্ভুক্ত করা # উচিত. ঠিক আছে. তাই আমরা এখানে স্ট্যান্ডার্ড ইনপুট / আউটপুট পেয়েছেন. যে শুধুমাত্র লাইব্রেরি আমরা এখানে প্রয়োজন চলুন? আর কি আমরা কি করতে যাচ্ছি? দুঃখিত. কেউ কেউ শুধু তা খুঁজে চিত্কার? শ্রোতা: [শ্রবণাতীত]. Andi Peng: অনেক ধন্যবাদ আপনাকে. ঠিক আছে. এবং কিভাবে আমি কোন ধরণের শুরু সম্পর্কে যেতে না প্রধান ফাংশন ফাংশন, কোনো সাজান আমাদের প্রোগ্রামের মধ্যে? Int প্রধান. ঠিক আছে. আমি এখানে ভিতরে স্থাপন করা হয়? আপনি কি করতে চান প্রথম জিনিস কি? আমরা একটি পেতে চান ব্যবহারকারী থেকে স্ট্রিং, আমরা কি করতে যাচ্ছি এই প্রথম লাইন করতে? দুঃখিত, আপনাকে বলছি শুধু মনে কথা বলার জন্য বিনামূল্যে এবং অট্ট. শুধু খুঁজে যাই হোক না কেন চিত্কার. শ্রোতা: ব্যবহারকারীকে জিজ্ঞাসা? Andi Peng: আমরা যে আপনি দলবাজ কিনা? Ask-- আমি "ব্যবহারকারীকে জিজ্ঞাসা" টাইপ করতে যাচ্ছি? শ্রোতা: printf. Andi Peng: ঠিক আছে. Printf. আমি কি printf করতে চাও? শ্রোতা: কিছু টাইপ. Andi Peng: যে লেগেছে? আমি একটি কম্পিউটার আছি মত বলছি, জাহির. শারীরিকভাবে আমাকে ধাপে ধাপে বলুন আমি এখানে টাইপ করতে চাইবে? আমি কি ভুল কিছু করছি? আমি কিছু টাইপ উচিত? শ্রোতা: আপনি মূল্য উদ্ধৃতি প্রয়োজন. Andi Peng: আমি কোট প্রয়োজন? ঠিক আছে. ঠিক আছে. শ্রোতা: এবং তারপর নতুন লাইন. সেমিকোলন. Andi Peng: সেমিকোলন? ঠিক আছে. ভাল. শ্রোতা: আর হয়তো উল্লেখ আপনি এটা ছোট হাতের চাইতে যে? Andi Peng: গ্রেট. আপনাকে বলছি আমাকে উপহাস একটি সেমিকোলন করা বিস্মরণ. আমি কোথাও আপনি গ্যারান্টি এই শ্রেণীর অবশ্যই, আপনি লাগাতে ভুলবেন হবে একটি সেমিকোলন, এবং এটা চিন্তা করার জন্য আপনি তিন ঘন্টা লাগবে খুঁজে কেন আপনার কোড কাজ করছে না. এটা আমাদের সব থেকে ঘটেছে. এটা সম্ভবত আপনি ঘটবে. সেমিকোলন ব্যবহার করে একটি ভাল অভ্যাস করুন. ঠিক আছে. শ্রোতা: আপনি চান এ backslash করবেন কিভাবে? Andi Peng: শিওর. আপনি ব্যাকস্ল্যাশ করতে চান না? শ্রোতা: হ্যাঁ. Andi Peng: গ্রেট. ঠিক আছে. আমি কি করব? শ্রোতা: স্ট্রিং পান. Andi Peng: স্ট্রিং পান. সুতরাং আমি কি টাইপ না? যে কেউ? শ্রোতা: স্ট্রিং গুলি. Andi Peng: স্ট্রিং গুলি. শ্রোতা: GetString,. Andi Peng: কারো, আপনি আমাকে যেখানে বলতে পারেন এই ফাংশন GetString থেকে আসছে? শ্রোতা: string.h. Andi Peng: string.h? আপনি এটা string.h থেকে মনে হয়? শ্রোতা: [শ্রবণাতীত]. Andi Peng: অনেক ধন্যবাদ আপনাকে. এটা cs50.h. থেকে আপনি সবসময় যেখানে একটি বিভ্রান্ত করছি লাইব্রেরি ফাইল বা হেডার ফাইল, গুগল আক্ষরিক string.h এবং আমি আপনাকে বলতে হবে সব ফাংশন কি আছে string.h মধ্যে হয়. ঠিক আছে. তাই এখন আমি একটি স্ট্রিং তৈরি করেছেন যে এবং আমি এটা জন্য ব্যবহারকারীকে অনুরোধ জানানো করেছি, আমি একটি পরিবর্তনশীল মধ্যে এটি সংরক্ষণ করেছি নামে গুলি, আমি এখন কি করতে হবে? শ্রোতা: এটা ছোট হাতের মধ্যে কিনা পরীক্ষা করুন. Andi Peng: দুঃখিত? শ্রোতা: এটা ছোট হাতের মধ্যে কিনা পরীক্ষা করুন. Andi Peng: ঠিক আছে, চলুন না যে. আমি এটা কিভাবে করবো? বাস্তবিক, উদ্দেশ্যে এই মুহূর্তে বর্গ, আমরা শুধু চলুন যে সবকিছু অনুমান যে আমরা ইনপুট ছোট হাতের মধ্যে ইতিমধ্যে. আপনি না পরীক্ষা করতে চেয়েছিলেন, তাহলে আপনি would শুধু একটি কন্ডিশনাল স্টেটমেন্ট যোগ চেক, যে মাধ্যমে দৌড়ে প্রতিটি অ্যারের উপাদান এটা এবং যদি চেক নির্দিষ্ট মান মধ্যে. আমি ভুলে কি সংখ্যা ছোট হাতের মূল্যবোধের হয়. আপনি ASCII টেবিল এটি খোঁজা পারেন. তবে হাঁ, যে সত্যিই একটি ভালো পয়েন্ট. কিন্তু এই মুহূর্তে, আমরা শুধু চলুন যে সমস্ত স্ট্রিং অনুমান আমরা ইনপুট ছোট হাতের মধ্যে আছে. ঠিক আছে. তাই আমি সম্পর্কে কিভাবে যেতে হবে পরের এই সমস্যা? শ্রোতা: লুপ জন্য. Andi Peng: লুপ জন্য? ঠিক আছে. কি টাইপ করতে বলো. শ্রোতা: INT জন্য আমি 0 সমান. Andi Peng: ঠিক আছে. শ্রোতা: ওহ, আসলে, তাহলে আপনি একটি কমা এবং এন strlen সমান. Andi Peng: তাই গুরুত্বপূর্ণ বিষয় আমি সে এখানে খেয়াল করি যে আমরা int বলার আছে না হয় এন দ্বিতীয় সময় আমরা এই কি. শুধু একটি মধ্যে যে জানেন আপনি ঘোষণা করছি যখন লুপ, আপনি আসলে এর কোন int প্রয়োজন হবে না দ্বিতীয় সময় আপনি একটি পরিবর্তনশীল না. আপনি এন strlen বলতে পারেন. শ্রোতা: এর. Andi Peng: গুলি. ঠিক আছে. শ্রোতা: তারপর একটি সেমিকোলন. Andi Peng: শিওর. শ্রোতা: এবং তারপর [শ্রবণাতীত] এন. তারপর i ++. Andi Peng: গ্রেট. ঠিক আছে. আমরা ভিতরে কি চাও এখন এই লুপ জন্য? আমরা মাধ্যমে চালানো চলুন তাহলে, মনে রেখো একটি স্ট্রিং এবং একটি অ্যারের মাধ্যমে চালানো আমরা এর প্রতি কিছু চেক করতে চান. আমরা কি প্রয়োজন যাচ্ছি? এই এখন চতুর অংশ ধরনের. যে কেউ একটি অনুমান আছে? ঠিক আছে. সুতরাং প্রথম, কিভাবে আমরা এমনকি অ্যাক্সেস না? কিভাবে কি আমরা এমনকি প্রথম চেক বা অ্যারের মধ্যে একটি উপাদান অ্যাক্সেস? আমরা যে কিভাবে করব? আমরা যে কাজ করতে ব্যবহার স্বরলিপি কী? এই অ্যারের নাম সিনেমাটার নাম কী? এটা ঠিক আছে, এর বলা হচ্ছে? কোন স্ট্রিং সবসময় একটি অ্যারে, মনে রাখবেন. সুতরাং গুলি বন্ধনী আমি, তাই না? যে বর্তমান মূল্য কারণ বা সূচক মান আমরা চেক করছি. আর আমরা যে সমান সেট চলুন চাচ্ছি আমরা ঠিক আছে, একটি ছোট হাতের মান চান? আমরা যে চালু করতে চান lower-- দুঃখিত, আমরা একটি বড় হাতের চান. আমরা ছোট হাতের চালু করতে চান একটি বড় হাতের মধ্যে মূল্য. আর আমি দুঃখিত তাই করার মত, তোমার নাম কী? শ্রোতা: হেইডি. Andi Peng: দুঃখিত? শ্রোতা: হেইডি. Andi Peng: হেইডি. হেইডি বলেন, ভালো লেগেছে প্রাথমিকভাবে, আমরা সম্ভবত আছেন আমরা করছি the-- প্রয়োজন যাচ্ছে সম্ভবত বিয়োগ করতে যাচ্ছে , সঠিক যে যাই হোক না কেন charc থেকে 32? একটি ASCII অনটি টেবিল, পার্থক্য একটি ছোট হাতের অক্ষর মধ্যে এবং একটি য়ের বড়হাতের অক্ষর 32. আমরা এই কাজ করছি তাই, যখন আমরা সম্ভবত আছেন ঠিক আছে, 32 বিয়োগ করতে চান যাচ্ছে? তাই আমরা এর আমি কাজ করতে যাচ্ছেন. আমি যে কেন সবাই বুঝতে? এখনই কারণ, আমাদের অ্যারের মধ্যে, আমরা 0th সূচক চেক করছি, ঠিক আছে? আর এর 0th সূচক স্ট্রিং, যে প্রথম অক্ষর. এবং যে চরিত্র আমরা চলুন এটা ছোট হাতের অক্ষর অনুমান করা. আমরা এটা য়ের বড়হাতের অক্ষর ছোটহাতের করতে চান, আমরা তার মূল্য থেকে 32 বিয়োগ করা আছে, আমাদের ASCII মধ্যে কারণ টেবিল, যে আমরা এটা পেতে কিভাবে সংশ্লিষ্ট পরের যাও এটা বড় হাতের যে মূল্য. সবাই আছে বুঝতে? হ্যা. শ্রোতা: এছাড়াও আপনি পারা একটি বিয়োগ ছোটহাতের না Andi Peng: হ্যাঁ, তাই যে আসলে সত্যিই ভাল. আমি যে ফিরে আসতে যাচ্ছি প্রশ্ন হল, আমরা এই কাজ করার পর. হ্যা. এবং তারপর আমি করতে চান তাহলে , কি ঘটছে দেখতে আমি সম্ভবত যাচ্ছি , ডান প্রিন্ট করতে চান? কেউ আমায় বলতে কি আমি এখানে প্রিন্ট করতে চান. শ্রোতা: printf, শতাংশ গ ব্যাকস্ল্যাশ [শ্রবণাতীত]. যে [শ্রবণাতীত] আমি এর মান. Andi Peng: গুলি আমি দুঃখিত? শ্রোতা: [শ্রবণাতীত]. Andi Peng: আমি জানি না. আপনি কি মনে করেন? শ্রোতা: ওয়েল, আমি wouldn't-- আমি bring-- না অনুমান আমি এটা গ্রহণ করবে ভিতরে, কারণ [শ্রবণাতীত]. Andi Peng: ওহ, আপনি যে কাজ হবে? শ্রোতা: হ্যাঁ. Andi Peng: চলুন পথ ছেড়ে দিন এটা, এবং আমি কেন পরে ব্যাখ্যা করব. এমনকি যখন আপনি মনে রাখবেন, একটি জায়গা ধারক আছে, আপনি এটি প্রায় ববহার করা চাই. ঠিক আছে. সুতরাং এটি একটি কঠিন ফাংশন হওয়া উচিত. এটি চালানোর জন্য এবং এটি প্রনয়ন কিনা দেখতে. উপরের করুন. উহ ওহ. যে খুব ভাল দেখাচ্ছে না. ইহা কি জন্য ঘটিতেছে? কোনো ত্রুটি হিসাবে, আপনি যেতে চান ফিরে এবং প্রথম এক সঙ্গে শুরু, সাধারণত একটি ত্রুটি কারণ কারণ এটা পরে অন্যান্য ত্রুটি প্রচুর. এখানে আমরা upper.c দেখুন: 18: 25, যা বলে আমার এই প্রোগ্রাম, upper.c নামে লাইন 18 ত্রুটি পরোক্ষভাবে ফাংশন লাইব্রেরি টাইপ সঙ্গে strlen unassigned-- বাজে, আমি জানি না কি যে পরে ঘটছে. সমস্ত এটা এই মুহূর্তে আমার হয় বলছে কিছু যে strlen ঘটছে. আর কম্পিউটার কারণ, বিভ্রান্ত এটা ভালো, আমি strlen হয় না জানেন যে কি করছেন? কি যে সম্ভবত আছে আপনি অনুপস্থিত করছি আপনাকে বলতে? শ্রোতা: [শ্রবণাতীত] অনুপস্থিত থাকেন. Andi Peng: আপনি ঠিক বলেছেন. ঠিক. এটা তাই এই হল যেখানে নিশ্চিত করার জন্য গুরুত্বপূর্ণ যে যে আপনি ব্যবহার প্রতিটি ফাংশন আপনার কোড সঠিক হেডার হচ্ছে না অন্য গ্রন্থাগারের জন্য ফাইল, বা আপনি ত্রুটি প্রচুর পেতে যাচ্ছেন এবং আপনার কোড যাচ্ছে না কি ঘটছে জানতে. তাই আমরা এখানে string.h অন্তর্ভুক্ত করতে যাচ্ছেন. এখন আমরা উপরের কম্পাইল করার চেষ্টা করুন. সঠিকভাবে কম্পাইল. এর এই প্রোগ্রামটি চালানোর জন্য. তাই ছোট হাতের মধ্যে টাইপ কিছু. কি আপনাকে বলছি টাইপ করতে চান না? কিছু আউট চিত্কার. ঠিক আছে, Charly শুধু পায়চারি করছিলেন. আমরা Charly নাম টাইপ করব. ছোট হাতের মধ্যে Charly. আর আশা করছি, আশা করছি, এই হল চিত্কার এবং থুতু যাচ্ছে বড় হাতের মধ্যে Charly. হ্যাঁ! সবাই বুঝতে না আমি যে মোকাবেলা করতে লাগল? পথ যে আমি যা করতে পারেন পূর্ণসংখ্যার ব্যবহার নিপূণভাবে কিছু সমাধান করতে পারে আমি স্ট্রিং এ কাজ করতে চান, অক্ষর এবং পূর্ণসংখ্যার পারেন কারণ একই ভাবে, কারণ উল্লেখ করা হবে হওয়া ASCII ম্যাপিং. যদি তাই হয়, আপনার পয়েন্ট ফিরে যেতে আমি 32 এর পরিবর্তে এখানে লাগাতে চেয়েছিল বড় হাতের একটি ঠিক মত একটি ছোট হাতের অক্ষর বিয়োগ যে, যে, পাশাপাশি সমানভাবে কাজ করবে কারণ যে কেবল মাত্র ঐ দুটি মানের মধ্যে পার্থক্য. আমি এই again-- Charly করতে চান. ওহ না. আমি মনে করি আমরা হাঁ, কুপথ গিয়েছিলাম মনে? শ্রোতা: [শ্রবণাতীত] একটি ছোট হাতের অক্ষর. Andi Peng: অনেক ধন্যবাদ আপনাকে. হাঁ. আর আউট Charly spits. সুতরাং যখন সতর্কতা অবলম্বন করা আবশ্যক আপনি মান বিয়োগ করছি এক যা মনে রাখা অন্য বেশী. উদাহরণস্বরূপ, আপ এখানে আমি ভুলে গেছি যে ছোট হাতের একটি আসলে ধাঁচের এ তার চেয়ে অনেক বেশী তাই যখন আমি তাদের পরিবর্তে অন্য কোন ভাবে বিয়োগ করার চেষ্টা কাছাকাছি, আমি নেতিবাচক 32 পেয়েছিলাম. আর আমার কম্পিউটার ভালো ছিল, আমি যে কি জানেন না. এটা শুধু কিছু র্যান্ডম সম্ভাবনা খুব ভাল নয় যে মান. আর তাই আপনি নিশ্চিত যে সঠিক দৈর্ঘ্য subtracting আপনি চান চরিত্র এটি. ঠিক আছে. কেউ আমরা কিভাবে বিভ্রান্ত হয় এই ফাংশন লেখা সম্পর্কে গিয়েছিলাম? ঠিক আছে. তাই আসলে, একটি ফাংশন ইতিমধ্যে লাইব্রেরি বলা ctype.h বিদ্যমান. লাইব্রেরীর বলা ctype.h. এই ফাংশনটি আসলে ইতিমধ্যে আপনার জন্য লেখা. এটা ঊর্ধ্ব বলা হচ্ছে. আর তাই এর উদ্দেশ্যে এই pset, আপনি যাচ্ছেন আপনি কি সত্যিই ব্যবহার করতে চান যে এটি অন্তর্ভুক্ত ফাংশন অনেক ctype গ্রন্থাগারের মধ্যে. , অর্ধবৃত্ত, উপরের উপরের নির্দেশ দিয়েছি যে, হয় lower-- ঐ সব ফাংশন আছে আপনি খুব ব্যবহার করতে সক্ষম হবে যে, খুব দ্রুত আপনার নিজস্ব কোড যে এই আছে ঠিক কি না. আমরা রূপান্তর কিভাবে খুঁজে লিখেছিলেন একটি স্ট্রিং বড়হাতের. কিন্তু আসলে এই কোড অন্য কারো লেখা হয়েছে যে এবং আপনি অ্যাক্সেস করতে পারেন যে একটি ভিন্ন ফাংশন মাধ্যমে. হ্যা? শ্রোতা: তাই আপনি শুধু সেখানে একটি কপি এবং প্রতিটি অক্ষরের জন্য এটি না? Andi Peng: হ্যা, আমি না, কারণ একটি মান যত্নশীল. আমি শুধু পার্থক্য যে যত্ন তাদের মধ্যে সঠিক, 32? ছোট হাতের মধ্যে পার্থক্য B এবং য়ের বড়হাতের অক্ষর ছোটহাতের বি এছাড়াও 32. এবং সি মধ্যে পার্থক্য এবং বড় হাতের সি সবসময় 32. আমি শুধু যত্নের আছে দুজনের মধ্যে পার্থক্য, অক্ষর সব কারণ ঠিক আছে, একই প্যাটার্ন অনুসরণ? আমি পার্থক্য থাকে তাদের মধ্যে এক, আমি জানি কি পার্থক্য তাদের সব মধ্যবর্তী সবকিছু. ভালো প্রশ্ন. হ্যা. সবাই ভাল? ঠিক আছে. OOP. ঠিক আছে. তাই অন্য ধারণা যে আপনি খুব দরকারী হতে যাচ্ছে বিকাশ অব্যাহত আপনার কোড এই ধারণা ফাংশন বা বিমূর্ততা তৈরি. তাই এই মুহূর্তে, আমরা সব বীজগণিত গ্রহণ করেছি. বীজগণিত, আপনি সেখানে যে শেখানো হয় এই বিস্ময়কর জিনিস একটি ফাংশন বলা মেশিন, যেখানে আপনি যদি সংখ্যা ইনপুট এক সাজান, এটা এই বিস্ময়কর ফাংশন মাধ্যমে সঞ্চালিত হয় এবং ডান, একটি ভিন্ন আউটপুট পপ? কোড, একই জিনিস ঘটে ফাংশন কোন ধরণের মধ্যে. তাই আমি শারীরিকভাবে পারা আমার কোডের আমার শরীরের মধ্যে লিখুন আসলে যে একটি প্রধান বিবৃতি যাই হোক না কেন কোড শরীরের করছে. যে বাইরে কিন্তু, আমি যা করতে পারেন বিভিন্ন ফাংশন লিখুন যে বিভিন্ন ধরনের জিনিস. উদাহরণস্বরূপ, আমরা ইতিমধ্যে করেছি তাদের মধ্যে কিছু ব্যবহার শুরু. Printf-- একটি হল ফাংশন যে অন্য কারো ইতিমধ্যে যে লেখা হয়েছে আমরা আমাদের কোড এ কল করতে পারেন. এই ক্ষেত্রে upper-- করুন, upper-- আরেকটি ফাংশন আমরা যে লিখিত করেছি আমাদের কোড এ কল করতে পারেন. আর তাই আমি কেন শেখায়নি আমরা এমনকি ফাংশন আছে? কেন আমরা শুধু এটা অকস্মাৎ না সব কোড একই লাইনে? এটা প্রত্যেকের জন্য এটা সহজ করে তোলে. ওয়েল, যে পিছনে যুক্তি প্রশাসন, প্রথম সব, হয়. এটা যাচ্ছে সত্যিই বিরক্তিকর কারো কোড মাধ্যমে এবং ভালো printf এক ফাংশন. আপনাকে বলছি আসলে জানতাম তাহলে কি ফাংশন printf,, লিখতে entailed এটা কোড 1000 লাইন, মত. যদি আমি চেয়েছি প্রত্যেক সময় কিছু printf যাও আমি কোড 1000 লাইন লেখা ছিল যে, পড়তে সত্যিই বিরক্তিকর হতে হবে ঠিক আছে? আমরা শুধু করেছি সেজন্য এই বিমূর্ত ফাংশন তৈরি আমরা কেউ ইতিমধ্যে আছে অন্য কোথাও অন্য লেখা হয়েছে. এবং প্রত্যেক সময় আমরা তা ব্যবহার করতে হবে আমাদের কোড, আমরা ঠিক printf বলার আছে. এবং যে ফাংশন ব্যবহার করতে সক্ষম হয় অন্য কেউ আমাদের কোড লেখা হয়েছে. এটা সহজ করে তোলে সাংগঠনিকভাবে কোড পড়া. দ্বিতীয়ত, এটি সরলীকরণ. এটা আমরা পদক্ষেপসমূহ সহজসাধ্য আমাদের সমস্যা সমাধানের জন্য নেওয়া. Printf, printf ফাংশন, উপরের মত ফাংশন আমাদের অনুমতি যে সব জিনিষ হয় এটা সহজ, তাই নিচে আমাদের কোড সহজতর. এবং শেষ জিনিস পুনর্ব্যাবহার্যোগ্যতা হয়. আমরা যে তাই একটি ফাংশন বলা printf, আমরা বিভিন্ন কল করতে পারে বার এবং এটি reusable হতে পারবেন. আমি printf লিখতে হলে, আমি কেবল একবার এটি লিখুন. এটা শুধুমাত্র যে এক জায়গায় বিদ্যমান. আমি আবার এটা করতে চেয়েছিলেন, তাহলে আমি চাই কপি এবং যে সব পেস্ট করতে হবে কোডের আমার দ্বিতীয় লাইন মধ্যে. আমরা একটি ফাংশন তৈরি হলে কেন যে, আমাদের প্রধান বাইরে বিদ্যমান আমরা শুধু উপর কল করতে পারেন এটা এবং এটা যখনই পুনরায় আমরা তাই এটি অনেক সহজ যে প্রয়োজন আমাদের জন্য প্রোগ্রাম লিখতে হিসাবে. তাই উপায় আমরা আসলে লিখতে হবে একটি ফাংশন ঠিক আছে, অনুরূপ? এই প্রথম ধরনের উদাহরণস্বরূপ আমরা করব যা একটি শৈলী উপর একটি ফাংশন দেখে আমাদের int প্রধান অকার্যকর চেয়ে ভিন্ন. এই ক্ষেত্রে, যদি আমি করতে চেয়েছিলেন ঠিক আছে, Q নামক একটি ফাংশন লিখুন? এবং এখানে int মান সব আমাকে বলছে, আমি এই কি করতে চান আমার ফিরে যাওয়ার কাজ? আমি একটি পূর্ণসংখ্যা ঘনক্ষেত্র চান আমি ইনপুট করতে চান যাচ্ছি. এই পরামিতি হয়. আমি int- এ টাইপ একটি মান ইনপুট যাচ্ছি. আর আমি ফিরে যাচ্ছি কোন int আরেক ধরনের মান. আর এখানে যে, আপনি যেমন সব আমি করছি, দেখতে পারেন আমার ইনপুট যাই হোক না কেন cubing হয় আমার আউটপুট হিসেবে এবং তা ফিরে. তাই এই সব ফাংশন হয় না পূর্ণসংখ্যা কিছু বাছাই লাগে. এটা দুবার নিজে দ্বিগুণ যাতে এটা প্রভাব কিউব. এবং তারপর ফেরত্ যাই হোক না কেন যে আউটপুট. তাই এই ক্ষেত্রে, এটা দুই লাইন আমরা অতিরিক্ত লেখা ছিল যে কোড. কিন্তু আমরা কল করতে চেয়েছিলেন এই একাধিক বার উপর, এটা যে এক ধরনের অনেক সহজ তুলনায় ঘনক মধ্যে যে অধিকার এখানে লাইন একাধিক বার মধ্য দিয়ে যেতে হবে. তাই উপায় যে মূলত কোন ফাংশন কোন ধরণের জন্য বিন্যাসকরণ বিদ্যমান যাচ্ছে এখানে ভালো হয়. সুতরাং আমরা ফাংশন নাম আছে. এই ক্ষেত্রে, এটা ঘনক বলা হচ্ছে. আর আমরা এটা ঘনক কারণ নাম এটা মনে রাখা সহজ. আপনি এটি বর্গাকার নাম দিতে পারেন এবং এটা আসলে ঘনাংকিত যাবে. কোন ব্যাপার না. আপনি আছেন যে শুধু একটি নাম আপনার ফাংশন বরাদ্দ. এখানে এই অধিকার, কোন int, হয় আপনি প্রয়োজন পরামিতি টাইপ. সুতরাং এই ফাংশন কী কাজ করার জন্য প্রয়োজন? ওয়েল, এটা একটি ইনপুট প্রয়োজন. আমি ইনপুট এটা নামে. আপনি যাহা চান এটির নাম দিন করতে পারেন. কিন্তু আমি int- এ টাইপ কিছু প্রয়োজন. এটি আসলে চালানো যাচ্ছে এখানে ভেতরে যাই হোক না কেন, ফাংশন শরীরের. এবং তারপর রিটার্ন টাইপ এখানে ডান, এই int- এ সব আমার হয় বলছে এই ফাংশন যে int মধ্যে আমার কাছে ফিরে যাচ্ছে. সুতরাং এটা কোন int নিতে যাচ্ছে, এবং এর এটা কোন int আপনাকে ফেরত দিতে যাচ্ছে. সবাই বুঝতে না এই ধরনের বিন্যাস কাজ? কুল. ঠিক আছে. এই বলে মনে হয়, তাহলে তাই দুশ্চিন্তা করবেন না এখন একটু বিমূর্ত অধিকার. এই সম্পর্কে আমরা কথা বলতে পারবেন যে কিছু হয়. আমরা গভীর ঝাঁপিয়ে করব পরে অবশ্যই. উপায় যে উচ্চ স্তরের কোন ধরণের এই জিনিস কাজ বিমূর্ততা হয়, মেমরি, যে আপনার কম্পিউটার, সবকিছু এই ধরনের মধ্যে সংরক্ষিত হয় স্ট্যাকের, আমি বলবে. সেখানে উপরের আপ তাই. আমি জানি না আপনি যদি বলছি যে ভাল দেখতে পারেন. আমি জুম করার চেষ্টা করব. এখানে উপরের, আমরা শারীরিক টেক্সট আছে কম্পিউটার interpreting-- কি এর সব zeros এবং বেশী যে আমাদের কম্পিউটার মধ্যে বিদ্যমান. এবং তারপর আমরা সক্রিয়া আছে তথ্য ও uninitialized তথ্য, কি আমরা গ্লোবাল ভেরিয়েবল কল. যে অস্তিত্ব ভেরিয়েবল তাই সব প্রোগ্রামের জুড়ে এবং আপনার সম্পূর্ণ জুড়ে, মূলত, কোড. কোন উদ্বেগ আপনাকে বলছি হয় তাহলে ধরনের অস্পষ্ট এই. এটা এই মুহূর্তে সত্যিই কোন ব্যাপার নয়. এবং তারপর আমরা কি আছে একটি স্ট্যাকের মধ্যে এক গাদা বলা. আক্ষরিক হিসাবে একটি স্ট্যাকের মনে শুধু কিছু একটি স্ট্যাক মত, বিভিন্ন একটি স্ট্যাক কিছু উপরে push করা হচ্ছে বিভিন্ন দোকান যে একে অপরের আপনার কোড মধ্যে ভেরিয়েবল এবং বাক্য গঠন. এবং তারপর এখানে খুব নীচে, আমরা এনভায়রনমেন্ট ভেরিয়েবল আছে আপনি মধ্যে নির্বাহ হয় কি কোড শুধু আপনার সামান্য রেখা. আর আমরা শুধু জুম চলুন প্রকৃত স্ট্যাকের পক্ষ থেকে এ. আমরা হলে তাই এখানে ডান, জুম স্ট্যাকের শুধু এই এলাকার উপর এ, এই এটা দেখে মনে হচ্ছে কি. আর এই আসলে বেশ গুরুত্বপূর্ণ আপনাকে বলছি ফাংশন সম্পর্কে যখন কথা বলা, কারণ নোটিশ যে আপনার কম্পিউটার এর মেমরি ভেরিয়েবল সংরক্ষণকারী হয় এবং ফাংশন এবং উভয় পরামিতি আপনার ফাংশন এবং আপনার প্রধান ভেরিয়েবল বিভিন্ন জায়গায়. তাই এই মুহূর্তে, প্রধান প্রকৃত ফাংশন আপনি একটি কোড নির্বাহ করছেন যে. আপনি তার পরামিতি এখানে সংরক্ষিত আছে এবং তার স্থানীয় ভেরিয়েবল এখানে সংরক্ষিত. স্থানীয় পরিবর্তনশীল ঠিক কোন পরিবর্তনশীল মানে শুধু যে ফাংশন মধ্যে বিদ্যমান. এবং এটা উপরে, আপনি এই আছে ঘনক বলা পৃথক ফাংশন. আপনি যে পরামিতি থাকতে পাশাপাশি যারা স্থানীয়দের হিসাবে. কারণ এবং আপনি যা করতে পারেন যে এখানে দেখতে কি ঘনক একটি লাগে যখন ঘটবে আপনার প্রধান ফাংশন থেকে মূল্য আসলে এটা যে ওভার অনুলিপি যে হয়. আমি ঘনক্ষেত্র করতে চায়, তাহলে 2 এবং 8 আসতে, যে 2 আসলে ইনপুট করা হয় একটি প্যারামিটার হিসেবে এবং এটা আপনি এটা বিদ্যমান আছে, যাতে ধরে কপি মেমরি দুটি ভিন্ন জায়গায়. আর আপনি খুব সতর্কতা অবলম্বন করা আবশ্যক আছে মনে উপর, যা তাদের এক আপনি আসলে সাধিত করছি. এবং কি ঘটেছে একটি উদাহরণ যে খুব, খুব খারাপ হবে ডান এখানে বিদ্যমান. সুতরাং, এখানে ডান আমি করিয়েছি, তত্ত্ব, এখানে ডান একটি প্রোগ্রাম, একটি প্রধান ফাংশন আমি কোন int ঘোষণা করছি যে এক্স 1 সমান. আমি অন্য কোন int Y 2 সমান ঘোষণা করছি. এবং তারপর আমি এটা করছি চলমান এই ফাংশন মাধ্যমে আমি ধরে নিই যে যেখানে বলা swap 'র, এটা দুটি মান সোয়াপিং হচ্ছে. এবং তারপর আমি যাচ্ছি ঠিক আছে, তাদের প্রিন্ট আউট? যে আমি এই প্রোগ্রাম কাজ করতে চান কি. সুতরাং আসুন নেমে এসে কটাক্ষপাত করা যাক. আমি আসলে একটি ভিন্ন লিখতে তাই ফাংশন, হিসাবে আপনি দেখতে পারেন, আমরা এখানে আমাদের প্রধান ফাংশন আছে. এবং তারপর আমরা আমাদের আছে এখানে দ্বিতীয় ফাংশন. অকার্যকর করতে swap. অকার্যকর শুধু এটা যে মানে কিছু ফিরে যাচ্ছে না. ফাংশন নাম swap 'র নামে, এবং এটা ভোজনের দুটি ভেরিয়েবল, কোন int একটি এবং যাচ্ছে আপনার [শ্রবণাতীত] ফাংশন থেকে, বি int. তাই মূলত এখানে, আমরা করছি এই ফাংশন মধ্যে এক্স এবং ওয়াই ক্ষণস্থায়ী. আর আমরা করতে হলে তাই আমরা চাই আপাততঃ তৈরি ঠিক আছে, একটি অস্থায়ী মান তৈরি করতে? আমরা একটি যে দায়িত্ব অর্পণ করতে যাচ্ছেন. এবং তারপর একটি এখন সমান বি যাচ্ছে. আর বি ফিরে হতে যাচ্ছে যেখানে টেম্প মূল্য ছিল, যা একটি, যখন কারণ আপনি যদি কিছু অদলবদল করতে চান, আপনি শুধু তাদের অদলবদল পছন্দ না করতে পারেন. আপনি এক খুঁজে রাখা আছে এখানে এটি মনে যাতে কি যে, একবার কারণ আপনি একটি swap ', আপনি ভুলবেন ঠিক আছে, কি যে আসল মূল্য ছিল? তত্ত্ব, এই প্রোগ্রাম তাই ঠিক আছে, কাজ করা উচিত? আমি অদলবদল চেয়েছিলেন দুই, তারা অদলবদল করা উচিত. সুতরাং এটি চালানো যাক এবং এটি কাজ করে দেখুন. আপনাকে বলছি দেখতে পারেন হিসাবে সুতরাং, এক্স একবার 1 ছিল এবং Y একবার 2 ছিল. আর আমি এটি প্রিন্ট আউট হলে, X এখনও 1 এবং Y 2 হয়. হুম, এই প্রোগ্রাম হবে বলে মনে হচ্ছে না আমি এটা কাজ করতে চান যে ভাবে কাজ. কেউ একটি শট নিতে চান না এই ঘটছে কেন মনন? এটা উপায় কি আছে যে ভিন্ন জিনিস মেমরি বিভিন্ন স্থানে সংরক্ষিত. ঠিক আছে. তাই আপনাকে বলছি চিন্তা করতে হবে না এই মুহূর্তে এই সম্পর্কে খুব বেশী. কিন্তু যে ঘনক্ষেত্র এর স্থানীয় জানেন ভেরিয়েবল a ও b ছিল, এখানে আমাদের ফাংশন কারণ, আমরা a ও b ঘোষণা করেছি যে অস্তিত্ব ভেরিয়েবল হিসেবে ঘনক মধ্যে, যে ফাংশন. কিন্তু আপনি, পরামিতি দেখতে পারেন যে তা এখানে সংরক্ষিত করা হচ্ছে এ সময় নিচ্ছে. কিন্তু আমরা আসলে ছিল না কিছু ফেরত. আমরা আসলে x এবং y পরিবর্তন করা হয় নি. আমরা শুধু A এবং B পরিবর্তন হয়েছে. আমরা শুধুমাত্র X এবং Y কপি ছিল কিছু A এবং B বলা. কিন্তু আমরা আসলে কখনও X এবং Y নিজেদের কাজে ব্যবহৃত. এইজন্য আপনি বলছি যে কিভাবে ঘটছে? আমরা কেবল এটি কপি করেছি যে ওভার, কিন্তু আমরা আসলে পালন কর নি তারা মেমরি ছিল যেখানে ট্র্যাক. আর তাই এখন কম্পিউটার ওহ, আমি করেছি, খুঁজছেন হয় মাধ্যমে এই জিনিস চালানোর এই সুদৃশ্য ফাংশন. কিন্তু x এবং y X এবং Y এখনও. কিছুই ঘটেছে তাদের কারণ সত্য যারা পরামিতি যে এবং লোকাল ভেরিয়েবল একটি ভিন্ন মধ্যে সংরক্ষণ করা হয় মেমরি লিখুন. আর এই একটি উচ্চতর পর্যায়ের হয় ধারণা যে আমরা করব কোর্সে পরবর্তী দেখা শুরু. কিন্তু শুধু এই জানি যে ঘটতে পারে যে একটি সমস্যা এবং আমরা কিভাবে উপায় করার চিন্তা করব যে কোর্সে পরবর্তী এই নিয়ে কারবার. ঠিক আছে. ঠিক আছে. তাই শেষ ধারণা আমরা আছেন সত্যিই আবরণ যাচ্ছে যে উপযোগী হতে যাচ্ছে pset এই সপ্তাহের জন্য কি বলা হয় কমান্ড লাইন আর্গুমেন্ট. সুতরাং তার বক্তৃতায় রব মাধ্যমে গিয়েছিলাম কিভাবে এই কাজের উপর সংক্ষিপ্তভাবে ধরনের. মূলত যে জানেন যখন আপনি লেখার একটি প্রধান ফাংশন, ভালো যখন আমরা অতীতে আগে ফাংশন লিখেছে আমরা int প্রধান অকার্যকর ছিল. এবং কারণ আমরা অকার্যকর সেখানে ছিল আমাদের প্রোগ্রাম না কারণ ছিল ঠিক আছে, চালানোর ইনপুট মান প্রয়োজন? আমি মারিও দৌড়ে যখন, আমি প্রয়োজন ছিল না আসলে শুধু কিছু টাইপ করার যখন আমি মারিও দৌড়ে. আমি পরবর্তী ব্যবহারকারী অনুরোধ জানানো হতে পারে. কিন্তু যে সবসময় হবে না. উদাহরণস্বরূপ, এই মধ্যে সপ্তাহে এর সমস্যা, সেট আপনি, যে জিজ্ঞাসা করা চলুন আপনার প্রোগ্রাম চালানো ছাড়াও, আপনি ইনপুট করতে চান চলুন আপনি যেমন সোজা কিছু জিনিস আপনার প্রোগ্র্যাম চালাতে. তাই আমরা যে কি ভাবে বলা হয় একটি কমান্ড লাইন আর্গুমেন্ট, যা একটি যুক্তি ভালো হয় আপনি সরাসরি ইনপুট করতে পারেন আপনার প্রোগ্রামে সম্ভবত কিছু চালানোর চেষ্টা করছেন হিসেবে. সুতরাং এই জন্য স্বরলিপি, এটা প্রশংসনীয় জটিল সুদর্শন এর কিন্তু এটা সত্যিই যে না অনুমোদিত. সুতরাং int- main-- যে শুধু আপনার প্রধান ফাংশন. কমা-argc স্ট্রিং argv বন্ধনী মধ্যে. তাই বলে যে এই সব যে হয় কোন int argc-- সব যে আপনি কহন যারা সংখ্যা হয় কম্পিউটার আশা উচিত আর্গুমেন্ট. সত্যিই যে তাই এক জিনিস ট্র্যাক রাখতে গুরুত্বপূর্ণ আপনার প্রোগ্রাম শারীরিক নাম যারা আর্গুমেন্ট এক হিসাবে গণ্য. আমি আমার কর্মসূচি চালাতে চেয়েছিল, তাই যদি প্লাস এক অতিরিক্ত কমান্ড লাইন চালানো যুক্তি, আমি আসলে করছি দুই আছে যাচ্ছে. Argc আসলে দুটি হতে যাচ্ছে. এবং তারপর স্ট্রিং argv bracket-- করছে যে সব, এটা আমার একটি দেবার যে স্ট্রিং অ্যারে শুধু প্রদর্শন ও সংরক্ষণ করে যাচ্ছে তা ঐ কমান্ড লাইন আর্গুমেন্ট সব হয়. সুতরাং উদাহরণস্বরূপ, আমি এই আছে চেয়েছিলেন প্রোগ্রাম, ঠিক আছে, outfile infile ./copy? যে শুধুমাত্র একটি সাধারন লিনাক্স কমান্ডের. কি আসলে argc হয়? কত কমান্ড লাইন আর্গুমেন্ট এই আসলে আছে? এই সব আছে একটি কপি করতে হয় এক ফাইলের নামের একটি infile এবং এটা কপি মধ্যে অন্য ফাইল, ডান? যে সব এই করছে না. যেহেতু আপনি দেখতে পারেন, আমি এক লাইন থেকে তা করছি আসলে প্রোগ্রাম ছাড়াই. এই ক্ষেত্রে আমাদের-argc কি? আমরা কত আর্গুমেন্ট আছে না? শ্রোতা: তিনটি? Andi Peng: আমরা ঠিক, তিন আছে. তাই এটা খুব স্বজ্ঞাত এটা ঠিক যে মনে infile এবং outfile. কিন্তু জানেন যে শারীরিক নাম প্রোগ্রাম আপনাকে একটি হিসাবে গন্য চালাচ্ছেন. তাই এই ক্ষেত্রে,-argc আসলে তিন বছর. কিভাবে সম্পর্কে, argv 0 কি? , সব মনে রাখুন কমান্ড লাইন আর্গুমেন্ট স্ট্রিং একটি অ্যারের মধ্যে সংরক্ষিত হয়. তাই আমি এটি অ্যাক্সেস করতে চেষ্টা করুন, কি বন্ধনী 0 আমাকে দিতে argv হবে? শ্রোতা: [শ্রবণাতীত]. Andi Peng: ঠিক. এটা আমার বিন্দু দিতে হবে যে কারণ, কপি কাট 0th উপাদান, আমার অ্যারের প্রথম উপাদান. কি argv হয় 1 সম্পর্কে? শ্রোতা: infile. Andi Peng: infile, ঠিক. কি argv 2 সম্পর্কে? শ্রোতা: outfile. Andi Peng: outfile. এই এখন একটু চতুর. আপনি কি মনে করেন না যে argv 3 আমার প্রদান করা যাচ্ছে আমি যে প্রিন্ট আউট করার চেষ্টা করে? শ্রোতা: [শ্রবণাতীত]? Andi Peng: আপনি একটি হাত আপ আছে কি? হ্যা. শ্রোতা: একটি বিকল্প. Andi Peng: ঠিক. সুতরাং বক্তৃতায় স্মরণ যে আমরা একটি জাতি কিছু শেষে আছে একটি নাল টারমিনেটর বলা? আমরা এই মধ্যে পাবেন আরও ক্লাসে. কিন্তু স্বরলিপি যে জানি, উপায় আপনার কম্পিউটার এটা শেষ যে জানে অ্যারের এটা যে হয় একটি নাল কিছু বলা রাখে টারমিনেটর বা ড্যাশ শূন্য. তাই আপনি যদি argv হয় 3 অ্যাক্সেস করতে চেষ্টা করুন, আপনি এই ড্যাশ 0 এট্যাক. এটি একটি কৌতুক প্রশ্ন আরও বেশি হয়. কি argv হয় 4 সম্পর্কে? সুতরাং এই গত নাল টারমিনেটর হয়, আমাদের অ্যারের কোট গত. যাচ্ছে আপনি কি মনে করেন আমরা যে কাজ করার চেষ্টা যখন ঘটতে? শ্রোতা: [শ্রবণাতীত]? Andi Peng: দুঃখিত? যে একটু জোরে বলুন? শ্রোতা: [শ্রবণাতীত]. Andi Peng: হ্যাঁ. যে নাম আপনি সম্ভবত পাবেন এলাকা. কিন্তু যে argv হয় জানেন 4-- যে আপনি অ্যাক্সেস করতে পারবেন আপনার কম্পিউটার এর যে জায়গা মেমরি আপনি যে সত্যিই কারণ, স্পর্শ করা উচিত নয় এই মুহূর্তে আপনি কি argv হয় জানেন. আপনি এটা মাপ 3 একটি অ্যারের যে জানি যে বিন্দু কপি, infile এবং outfile আছে. আপনি যে অতিক্রম পর্যন্ত যাওয়ার চেষ্টা করলে আপনি নাল টারমিনেটর অতীতের যে, আপনার কম্পিউটার সম্ভবত আছে argv হয় 4 সংরক্ষিত কিছু. এবং যদি আপনি সত্যিই উচিত হবে না , argv হয় 4 মধ্যে প্রবেশাধিকার অনুমতি আপনি একটি ফাইল আছে, কারণ মন্ত্রিসভা এবং আপনি শুধুমাত্র করছি যারা তিন তাক অ্যাক্সেস অনুমতি. কিন্তু আপনি পথ অতিক্রম পৌঁছানোর চেষ্টা হলে আপনি অনুমতি দেওয়া হয় যেখানে বালুচর, আপনার সাথে তালগোল পাকানো শুরু করতে যাচ্ছেন আপনার কম্পিউটার এর মেমরি অন্যান্য জিনিষ. যে সত্যিই, সত্যিই খারাপ হতে যাচ্ছে. সুতরাং শুধু যে জানি. আপনি যে খুব সতর্কতা অবলম্বন করা আবশ্যক শুধু এলোমেলোভাবে শুরু না একটি অ্যারের মধ্যে উপাদান অ্যাক্সেস যে আপনি তৈরি করতে চেয়েছিলেন তা ছিল না. হাঁ. ঠিক আছে. সুতরাং আমরা অন্য কাজ করতে যাচ্ছেন এখানে টার্মিনাল উদাহরণস্বরূপ. ঠিক আছে. দ্রুত বক্তৃতায় রব তাই অন্যান্য দিন গিয়েছিলাম এই উদাহরণ দিয়ে, যেখানে তিনি ছিল int প্রধান int-argc স্ট্রিং argv বন্ধনী, আমি নই যে আমাকে বলছে যা কমান্ড লাইন আর্গুমেন্ট আছে যাচ্ছে. কি argc সমান হলে তিনি হয়েছে 2 না মনে সমান, সমান তুলনা মানে সমান. এটি 2 সমান, তাহলে আমি আছি হ্যালো মুদ্রণ যাচ্ছে, যাই হোক না কেন প্রথম অ্যারের উপাদান. অন্য প্রিন্ট, হ্যালো দুনিয়া. এই কি যাচ্ছে মূলত ঘটতে? কেউ শুধু ব্যাখ্যা করতে পারে না ইংরেজি এই প্রোগ্রাম কি করছে? হ্যা. শ্রোতা: কেউ একটি কমান্ড টাইপ করা হলে এবং তাদের প্রথম এবং শেষ নাম বলেন, এটা শুধু প্রিন্ট করা হবে এক ও হ্যালো বলে, প্রথম, যাই হোক না কেন আপনার নামের প্রথম অংশ হয়. Andi Peng: ঠিক আছে, এর এটি চালানো যাক. আমি হলে সুতরাং উদাহরণস্বরূপ, করতে এই ফাইলটি হ্যালো হ্যালো করতে চাচ্ছি আপনি আমার ইনপুট কি চাও চাচ্ছি? শ্রোতা: প্রথম এবং শেষ নাম. Andi Peng: প্রথম এবং শেষ নাম? শূন্যস্থানের? শ্রোতা: হ্যাঁ. Andi Peng: বলতে পারেন আমার এই মুহূর্তে,-argc কি? শুধু অধিকার আছে? ওহো দুঃখিত. আমার ফিরে যাওয়া যাক. কত কমান্ড লাইন আর্গুমেন্ট আপনাকে বলছি সত্যিই দেখতে পারবেন না are--. কিন্তু আমি জুম করার চেষ্টা করব. আমি চেষ্টা করছি. হ্যা, ঠিক আছে, আছে তিনটি? এটা হ্যালো ডট স্ল্যাশ, এটা Andi, এবং এটা পেং এর. তাই আপনাকে বলছি এই কি মনে করেন প্রোগ্রাম প্রিন্ট আউট করা যাচ্ছে? ওহ. ওহ দুঃখিত. ভুল নাম. এটা হ্যালো দুনিয়া, মুদ্রণ এর. কেউ ব্যাখ্যা করতে চান না কেন যে ঘটছে? হ্যা? শ্রোতা: [শ্রবণাতীত]. Andi Peng: ঠিক. তাই এখানে, শর্তাধীন হয় argc, 2 সমান সমান হলে, হয়. সুতরাং শুধুমাত্র ক্ষেত্রে আছে যে দুটি কমান্ড লাইন আর্গুমেন্ট. তারপর আমি প্রিন্ট চলেছি, হ্যালো, যাই হোক না কেন. কিন্তু অন্য, আমি যাচ্ছি শুধু, হ্যালো দুনিয়া প্রিন্ট করা হবে. তাই কেউ চায় আমাকে একটি উদাহরণ দিতে কিভাবে আমি আসলে করতে সক্ষম হবে এটা argv হয় 1 এর মান প্রিন্ট করতে হবে? আমি এখানে ইনপুট কি হবে? শুধুমাত্র এক জিনিস, ডান? ডট হ্যালো ইতিমধ্যে কারণ প্রথম আর্গুমেন্ট হিসাবে গণ্য. আমি শুধুমাত্র এক আরো আছে. আমি শুধু Andi না যদি তাই হ্যালো বিন্দু. হ্যালো, Andi. সবাই বুঝতে না কেন যে ঘটছে? হ্যা. শ্রোতা: সুতরাং মধ্যে স্থান কমান্ড লাইনে তা হল [শ্রবণাতীত]? Andi Peng: নং একটি কমান্ড লাইনে স্থান তাই যুক্তি, এক্স, আপনার কম্পিউটার বলতে এই যে একটি নতুন স্ট্রিং শুরু হয়. তাই স্ট্রিং argv এটা সঞ্চয় এখানে আপনার কমান্ড লাইন আর্গুমেন্ট সব স্ট্রিং মধ্যে. আর তাই কমান্ড লাইনে স্থান , সব যে আছে আপনাকে বলতে হয় argument-- এই এক পংক্তির শেষে হয় এবং এটা অন্য যান সময়. হ্যা. এই জন্য বেশ গুরুত্বপূর্ণ আপনার pset, কারণ আপনি এই পরীক্ষামূলক করা যাচ্ছে. সুতরাং কেউ আছে এই প্রথম কোন প্রশ্ন? ঠিক আছে শান্ত হও. হ্যা? শ্রোতা: তাই কারণ আপনি would পরিবর্তে পূর্ণসংখ্যা যুক্তি ক্যালক করা যখন আপনি চান এর [শ্রবণাতীত] হবে অতিরিক্ত তথ্য টাইপ করার [শ্রবণাতীত]? Andi Peng: হাঁ, ঠিক. কিছু প্রোগ্রাম আপনার প্রয়োজন হবে ইনপুট একটি কমান্ড লাইন আর্গুমেন্ট এটা পাস এবং যে যে ব্যবহার. হ্যা. শ্রোতা: তাই কি যদি [শ্রবণাতীত]? Andi Peng: ওয়েল, আমি কি আমার প্রোগ্রাম তারপর পরিবর্তন? শ্রোতা: মাত্র 3. Andi Peng: কেন যে হয় ঘটছে, আপনি কি মনে করেন না? শ্রোতা: [শ্রবণাতীত] কারণ. শ্রোতা: আপনি আছে চাই [শ্রবণাতীত] 2 থেকে এটি পরিবর্তন. শ্রোতা: 1 এবং 2. Andi Peng: 1 এবং 2, ঠিক. তাই এই ক্ষেত্রে, আপনি সম্ভবত দুই printf statements-- করাতে চাই argv হয় 1 মুদ্রিত যে এক এবং argv 2 মুদ্রিত যে এক. এখানে. আমি আসলে বাস্তব দ্রুত তা করতে পারে. এই নাও. ওহ. না বেশ কি আপনি যেমনটি. কিন্তু চারপাশে আপনাকে বলছি জগাখিচুড়ি সঙ্গে যদি বিন্যাস, তা বের হয়ে আসবে. হ্যা. কুল. আমি মনে করি আমরা সময়মত একটু সংক্ষিপ্ত জানেন. কিন্তু আমি শুধু দ্রুত একটি কাটাতে যাচ্ছি helpful-- মাধ্যমে যাচ্ছে কয়েক মিনিট শ্রোতা: আপনি দুই মিনিট আছে. Andi Peng: আমি দুই মিনিট আছে? তোমাকে ধন্যবাদ. কিছু দ্রুত pset টিপস. এই pset জন্য তাই, আমি অত্যন্ত সুপারিশ আমি আগেই বলেছি, সবাই বৈশিষ্ট পড়া. আপনি তিনটি programs-- এক লেখা হবে , caesar.c নামক এক, initials.c বলা এক বলা vigenere.c. কিছু গুরুত্বপূর্ণ টিপস যে আপনাকে বলছি সত্যিই চান তাই mind-- রাখতে এই ফাংশন নেই আমি বলতে চাই একটি Trois, atoi-- বলা. যে যদি অস্পষ্ট আসলে আপনি এটা কিভাবে বলতে. কিন্তু সব এটা inputting এর, করছে. এটা কোন int একটি স্ট্রিং পরিবর্তন করে. সুতরাং একটি আমি পূর্ণসংখ্যা হওয়া ASCII প্রতিনিধিত্ব করে. এটা শুধু হওয়া ASCII রূপান্তর হচ্ছে মান মান পূর্ণসংখ্যা. সুতরাং, যে দোকানে অ্যারে argv হয় মনে আপনার কমান্ড সব আর্গুমেন্ট রেখায় এটা স্ট্রিং হিসেবে তাদের সব সঞ্চয়. এবং যাতে আপনি করতে সক্ষম হতে চান তাদের এক একটি পূর্ণসংখ্যা হয়ে আছে, আপনি আছে চলুন এখানে এই মান ব্যবহার করতে. Modulo, আমরা ঢেকে মত আগে বর্গ আজ, আপনি করতে সক্ষম হবেন আপনি যাই হোক না কেন বাকি. সুতরাং আমরা যদি সত্যিই, সত্যিই আছে সিজার বৃহৎ সংখ্যক, আমরা কি শেষ আছে Vigenere একটি স্ট্রিং? কিভাবে আপনি পাবে যাচ্ছি যে চারপাশে মোড়ানো পেতে? I Z আঘাত এবং যদি আমি চাই এটি একটি ফিরে যেতে, কিভাবে আমি পেতে যাচ্ছি যে চারপাশে মোড়ানো? সম্ভবত ব্যবহার করতে চান সেখানে কোথাও মডুলো. দ্বিতীয়ত, প্রায় ব্রাউজ আপনার লাইব্রেরি. ctype.h. যে আমরা একটি নতুন লাইব্রেরি. আপনি সত্যিই, সত্যিই অনেক পাবেন দরকারী ফাংশন isupper, islower, এর toupper, tolower, isalpha হয়, ইত্যাদি ইত্যাদি. খুবই উপযোগী হতে হবে যে সব ফাংশন আপনি চিন্তা করার চেষ্টা করছি যখন, এই চরিত্র একটি ছোট হাতের অক্ষর হয়? আমি এই রূপান্তর না কিভাবে একটি বড় হাতের স্ট্রিং? এই সব কিছু খুব হতে হবে আপনার pset জন্য খুবই সহায়ক. ঠিক আছে. অফিস ঘন্টার রাতের হয় 8:00 থেকে TEAL শ্রেণীকক্ষে 11:00 আগামীকাল পাশাপাশি বুধবার এবং বৃহস্পতিবার রাতে হিসেবে. অফিস ঘন্টার কমন্স হয়. অত্যন্ত আপনাকে বলছি সুপারিশ সব, এখুনি শুরু আপনি যে হতে চান না, কারণ বৃহস্পতিবার রাতে সমস্যা আছে যারা ছাগলছানা হয় আপনার pset জমা এবং মত, আমি কি করতে হবে তা জানি না. আমি সমাপ্ত, শুরু, আমি জমা. নিজেকে কিছু রুম দিতে চেষ্টা করে, কোড সমস্যার তখনই ঘটে কারণ. আপনি নিশ্চিত করতে চান আপনি নিজেকে দিতে পারে অনেক সময় পাবে psets সম্পন্ন করতে. কুল. আমি এখানে ঘোরাঘুরি করব. শ্রোতা: এই অনলাইন ইতিমধ্যে? Andi Peng: এটা যদি আমি জানি না অনলাইন ইতিমধ্যে, কিন্তু এটা হতে হবে. কেউ যদি আমার এখানে ঘোরাঘুরি করব ইতিমধ্যে কোন প্রশ্ন আছে. আসার জন্য ধন্যবাদ.