[সঙ্গীত বাজানো] Zamyla Chan: যাক এর বাস্তবায়ন Vigenère, একটি সামান্য বেশি সিজার সাইফার আর অভেদ্য. প্লেইন টেক্সট ব্যবহার করে enciphered হয় পরিবর্তে একটি পূর্ণসংখ্যা একটি পংক্তি. প্রতিটি বর্ণের অক্ষর প্লেইন টেক্সট একটি দ্বারা স্থানান্তরিত করা হয় কী খুঁজতে হবে মধ্যে অক্ষর. এই উদাহরণে, শব্দ ohai, হে 14 একটি শিফট অনুরূপ; এইচ একটি 7 নামান; একটি, শিফ্ট 0; এবং আমি 8 একটি নামান. আপনি সফলভাবে প্রয়োগ করে থাকেন তাহলে আপনার সিজার সাইফার, এটি একটি সুন্দর হতে হবে কাঠামো, যা থেকে আপনি Vigenère বাস্তবায়ন করতে পারে. যেহেতু আপনি দেখতে পারেন, একটি Vigenère চলমান একটি হিসাবে একটি অক্ষর দিয়ে সাইফার শব্দ একই জিনিস একটি সিজার সাইফার হিসেবে. একই পদক্ষেপ Vigenère প্রযোজ্য তারা সিজার করেছিল হিসেবে. শব্দ দ্বিতীয় কমান্ড লাইন যুক্তি, তাই আপনি argv1 সঙ্গে এটি অ্যাক্সেস. তারপর আপনি যাচাই করতে হবে যে কী শব্দ, প্রকৃতপক্ষে সব বর্ণের হয়. এখানে আলফা যেখানে হয় উপকারে আসতে পারেন. আপনাকে অবশ্যই একটি বৈধ শব্দ থাকে, তাহলে আপনি পাবেন তারপর ব্যবহারকারী থেকে শক্তি, এবং আপনি encipher করার জন্য প্রস্তুত হন. Vigenère সাইফার সূত্র অনুরূপ এখন ট ছাড়া সিজার সূত্র, আপনি ইঙ্গিত K সাবস্ক্রিপ্ট, j, হয়ে কিওয়ার্ড এর J-তম অক্ষর. এর এই প্রক্রিয়ার মাধ্যমে পইঠা চলুন শুরু করা যাক. আপনি আপনার একটি বার্তা পাঠাতে চেয়েছিলেন বলুন ক্র্যাশ, আমি তোমাকে পছন্দ করি, কিন্তু আপনি না সবাই জানতে চান. তাই আপনার সাথে একটি Vigenère সাইফার ব্যবহার শব্দ Panda, কারণ, ভাল, আপনি পান্ডাস না. প্রথম চিঠি, আমি স্থানান্তরিত করা হবে আমি পরে, 15 অক্ষর x এর প্রদান P, দ্বারা, 15 P 16 কারণ বর্ণমালার অক্ষর. প্লেইন টেক্সট পরবর্তী চিঠি একটি স্থান, স্থানান্তরিত করা যাতে. এবং শব্দ সূচী পরিবর্তন হবে না. তারপর প্লেইন টেক্সট পরবর্তী চিঠি নামান না যা দ্বারা স্থানান্তরিত L, এ সব প্লেইন টেক্সট অক্ষর, কারণ একটি বর্ণমালার 0th অক্ষর. প্রক্রিয়া আগুয়ান, অব্যাহত শব্দ চরিত্র আছে প্রত্যেক সময় একটি প্লেইন টেক্সট অক্ষর. শব্দ শেষ অক্ষর একবার পৌঁছেছেন, শব্দ কাছাকাছি গোপন এবং পরবর্তী প্লেইন বদল পি দ্বারা টেক্সট অক্ষর. এক্স lvne noh. কিভাবে রোমান্টিক. সুতরাং একটি চরিত্র দেওয়া হয়, কিভাবে আপনি রূপান্তর না যে সংশ্লিষ্ট মধ্যে স্থানান্তর সাইফার? হওয়া ASCII তুলনা চেষ্টা করুন নামান মান. হয়তো আপনি একটি সম্পর্কে জানতে পারেন অক্ষর এবং তাদের মধ্যে হওয়া ASCII গণিত ব্যবহার করে বর্ণানুক্রমিক সূচী. আপনি একটি অক্ষর যোগ অথবা বিয়োগ করতে পারেন অন্য কাছ থেকে আপনি পছন্দসই ফলাফল? মনে রাখবেন যে য়ের বড়হাতের অক্ষর ছোটহাতের জন্য বদল আনতে এবং ছোট হাতের অক্ষর একই. তাই সম্ভবত আপনি দুটি শনাক্ত করতে হবে অনুরূপ সূত্রে প্রতিনিধিত্বকারী স্থানান্তর, একটি য়ের বড়হাতের অক্ষর ছোটহাতের জন্য এক শব্দ অক্ষর, এবং এক একটি ছোট আকারের এক জন্য. এর পরে, মনে রাখবেন যে শব্দ অগ্রগতি শুধুমাত্র চরিত্রের হলে প্লেইন টেক্সট একটি চিঠি এবং যে হয় প্লেইন ক্ষেত্রে টেক্সট সংরক্ষণ করা আবশ্যক. আমরা জন্য সূত্র তাকান তাই আপনি যদি Vigenère স্থানান্তর, দুটি সূচক আছে ভেরিয়েবল, আমি এবং ঞ. এক সমভূমি অবস্থান ট্র্যাক রাখে টেক্সট, এবং অন্যান্য স্থান কী খুঁজতে হবে না. কিন্তু আপনার প্লেইন টেক্সট অনেক লম্বা হতে পারে আপনার শব্দ আর, যে ক্ষেত্রে আপনার শব্দ সূচক ফিরে চারপাশে মোড়ানো প্রয়োজন অভিব্যক্তি শুরুতে. আপনি কিভাবে এই কাজ করে? এ ফিরে তাকান চলুন শুরু করা যাক modulo অপারেটর. Modulo সংজ্ঞায়িত করা হয় বাকি হয় দুটি সংখ্যার বিভাজক না. কিন্তু কি একটি প্রকৃত বাস্তব এর modulo ব্যবহার? হ্যাঁ, আপনি একটি বড় দল আছে বলে মানুষ, এবং আপনি ভাগ করার প্রয়োজন তিনটি গ্রুপ. দলের মধ্যে মানুষ বিভক্ত করা এক উপায় তাদের গণনা করতে হয়. আপনি নম্বর গ্রুপ গ্রুপ সংখ্যা 1, 2, এবং 3. প্রথম ব্যক্তি, 1 বলবে পরবর্তী 2, পরবর্তী 3. 1 বলতে হবে যে পরে ব্যক্তি, একটি গ্রুপ 4, এবং সেখানে না থাকার কারণে গণনা সেখানে থেকে আরম্ভ করা হয়. আপনি modulo ব্যবহার করতে পারেন একই জিনিস করে. এই সময়, দল হবে গ্রুপ 0, 1, এবং 2. প্রথম ব্যক্তি, সংখ্যা 1 modulo 3, 1. ব্যক্তির 2 modulo 3 2. ব্যক্তি 3 modulo 3 0. ব্যক্তি 4 modulo 3 তাই 1 দেয়, এবং গ্রুপ চারপাশে মোড়ানো করতে পারেন. আপনি একটি সূচক এবং modulo নিতে তাই আপনি যদি সর্বোচ্চ আকার দ্বারা যে সূচক, ফলে এর চেয়ে বড় বা হবে না যার অর্থ, আয়তন সমান যে আপনি হিসাবে সূচক বৃদ্ধি করতে পারেন আপনি চান হিসাবে অনেক. এবং যতদিন আপনি সূচক modulo হিসাবে কিছু সংখ্যা, আপনি একটি নম্বর পাবেন না যে চেয়ে বড়. তাই আমরা 10 জনের পরিবর্তে 5 আছে, এবং তারা সব গ্রুপ নির্ধারিত পেতে হবে সংখ্যা 0, 1, বা 2. ওভার মোড়কে এই আবেদন করতে চেষ্টা করুন শব্দ ছাড়া পরিবর্তে বাছাই গ্রুপ সংখ্যার মধ্যে মানুষ আপনি চান শব্দ সূচী করতে পারেন যাতে জন্য সঠিক চরিত্র পেতে অতিশয় ছাড়া নামান স্ট্রিং এর দৈর্ঘ্য. যে সঙ্গে, আপনি আপনার Vigenère সাইফার. আমার সম্পর্কে নাম Zamyla, এবং এই CS50 হয়.