>> ROB BOWDEN: Привіт, я Роб.
І коли в Римі, давайте програма як римляни.
Так, перше, що нам потрібно зробити, це перевірити щоб переконатися, що користувач дійсно увійшов
кількість, що ми хочемо, щоб повернути кожен характер, по крайней командного рядка.
>> Так, ми перевіряємо.
Є агдс одно 2?
Якщо це не так, це означає, що користувачеві або чи не ввести номер в
командного рядка або вони увійшли занадто багато речі в командному рядку, в якій
випадок, ми не знаємо, що робити з іншою частиною речей.
Так, поки агдс було два роки, ми можемо продовжити решті частини програми.
>> Тепер, пам'ятайте, що ARGV 1 завжди є рядком.
Але ми хочемо, щоб розглядати його як ціле.
Так, ми використовуємо функцію atoi Це вищезазначене безліч р специфікації для перетворення
Рядок агду 1 до цілого числа, і ми зберігаємо, що в ключі.
Ми хочемо, щоб переконатися, що ціле , Який був введений не є негативним.
І якщо це так, ми хочемо надрукувати, що в користувач, що вони не дозволяють
щоб зробити це, і повернутися.
>> Отже, тепер у нас є діючий число від користувача.
Але нам потрібно, щоб отримати рядок з Користувач, який ми хочемо зашифрувати.
Таким чином, ми звикли робити-то час як цикл і використовувати отримати рядок, щоб отримати цю рядок з
користувача і продовжувати отримувати рядок ні, поки вони насправді
введіть допустиму рядок.
>> Як тільки ми отримаємо цю рядок, ми може піти на зашифрувати його.
Таким чином, це для петлі робить що шифрування.
Зверніть увагу, що ми ітерації від I дорівнює 0 т весь шлях до Я рівних
де п визначається як довжина наше послання, де повідомлення є
Рядок, користувач ввів.
>> Таким чином, ми перебору всіх символи в рядку.
І якщо символ у верхньому регістрі, то ми збираємося перевести його за допомогою цього
Формула, яку ми будемо отримати в секунду.
І якщо це був нижній регістр, то ми змістити його з допомогою це
дуже схожі формула.
І якщо це не було ні у верхньому регістрі, ні рядкова буква - наприклад,
може бути декілька або символ - то ми не збирається нічого робити з ним.
>> Отже, які ці формули?
Ну, як ми переходимо персонажу?
Ми хочемо, щоб розглядати характер Як число 0.
І ми хочемо, щоб розглядати характер B як число 1, і так далі.
Це нульового та першого символів алфавіту і так далі.
>> Так от, повідомлення я мінус передбачається дати нам чисельну місце
буква в алфавіті.
Так що, якщо повідомлення я це, це збирається дати нам 0.
Тепер ми хочемо додати до того, що число, яке користувач хоче
повернути лист на.
Так що, якщо вони увійшли 3, а потім, якщо повідомлення я був, це дасть нам 0 і плюс
Ключ дасть нам 3.
>> Так що тепер, ми розглядаємо Третє місце в алфавіті.
Ми побачимо, чому ми повинні мод по кіл-листів в секунду.
Але врешті-решт, ми хочемо додати до кінець ще раз, щоб перемістити нас назад у
Значення ASCII для цих символів замість числових місць в
алфавіт з цих символів.
>> Так чому ж ми мод на NUM букв?
Пам'ятайте, що ми хочемо, щоб обернути навколо з кінця алфавіту в
початку алфавіту.
Так, якщо користувач увійшов Z, то вирахування з який збирається
дати нам 25.
І якщо ключ були 3, потім ми збираємося мати 28.
Але Z слід обернути навколо в АВС, так 28 мод піт листа, який хеш певні
як 26 і слід було очікувати, збирається дати нам 2, де С-друга буква
алфавіт, якщо згадати, що це нульова буква алфавіту.
>> Так ось чому ми повинні мод на NUM буквами.
Тепер ми повинні зробити точно такий же речі для малих літер, крім
пам'ятаю, що коли ми маємо справу з малі літери, вони мають різні
Значення ASCII.
І тому ми повинні відняти і додати на перекласти його з нижнього регістру
Значення ASCII, а потім назад оригінальні рядкові значення ASCII.
>> І, нарешті, що дасть нам наша зашифроване повідомлення.
І врешті-решт, ми просто роздрукувати що повідомлення, і цим все сказано.
Мене звуть Боб, і був Цезар.