>> ЗАМИЛА цхан: Честитамо на окончање
Први пар Ц програма.
Знам да је ваш први улазак у Ц синтакса може бити застрашујуће.
Али, уверавам вас, на крају курс, моћи ћете да погледате
Првих неколико задатака и заврше у минутима.
>> Сада када се све више упознати са синтаксом, хајдемо до Цезара.
У Цезара, корисник ће поднети цео кључ као командне линије
Аргумент, затим унесите обичан текстуална порука на линији.
Програм ће тада енципхер текста и штампање
њихова порука шифрата.
>> Ксифарска за Цезара је прилично једноставан.
Схифт свако слово, у својим обичан текст, по кључу.
Као резултат тога, то је такође прилично несигурно.
Међутим, проведба Цезар ће увести да АСЦИИМатх и низ података
структуре.
Доћи ћемо до сложеније шифре касније.
Уз Цезара кључу 2, писмо у обичан текст ће бити представљен
слово Ц у шифрату јер Ц је после два слова А. Б ће бити
заступа Д и Ц Е. Ка крај писма, В
представља И и Кс, З. Али И нема два слова после њега, па
шифре се обавија око азбуке.
И у обичном тексту овако представља У шифрату, а З од Б. То може
помоћи да видите као Цезар Ципхер континуирано писмо точак.
>> Да енципхер њихов текст, упутство ће ући два аргумента
у командној линији -
/ Цезар. Затим кључа.
Као и увек, не можемо да верујемо корисника потпуно да унесете улаз који чине
смисао за наш програм.
Тако да ћемо морати да провере своје командне линије улаз.
>> Уместо коришћења маин празнину, ми смо коришћење маин, инт аргц, аргв ниска.
Целобројна променљива аргц представља број аргумената донетих у
командне линије.
И аргв је низ, или мислите да је то листа, од аргумената прошло ин
>> Дакле, за Цезара, како ми потврди корисников улаз?
Па, они само треба да се улази два аргументи командне линије -
/ И Цезар. Кључ.
Дакле, ако се не аргц 2, то значи да је они су или заборавили кључ и само
ушао / Цезар,. или они ушао више кључева.
>> Ако је то случај, онда ћете желите да одштампате упутства
и напустио програм.
Они ће морати да покушате поново из командне линије.
Али, чак и ако је аргц 2, ви ћете Треба да се провери да ли су они
да вам важећи кључ.
За Цезара, потребан вам је цео број.
Али аргв је низ стрингова.
Како приступити тај кључ?
>> Кратак поглед на низове -
структуре података које имају више вредности истог типа података.
Пријаве су нула-индексирани, што значи да Први елемент је индекс нула
и последњи елемент је у величини индекса минус 1, где је величина је број
елемената у низу.
>> Ако сам прогласио нову стринг низа сандуче дужине 3, визуелно, то
изгледа овако.
Три контејнери за гудаче , Раме уз раме.
Да бисте приступили било који елемент, упишете име низа, а затим указује
индекс у угластим заградама.
Ево, ја додељивањем вредности сваког елеменат, баш као што сам урадио са било
други стринг променљиве.
>> Дакле, за приступ наше аргументе командне линије, Све што треба да урадите је приступ
право аргв елемент низа.
Уколико корисник унео / Бластофф. Теам Ракета у терминал, аргв 0 би
бе / Бластофф..
аргв ће бити тим, и арг2 би ракета.
>> Сада то можемо приступити наш кључ, ми и даље треба да се
сигурни да је то тачно.
Морамо да га претворити у цео број.
Али, не можемо само баци као ми смо урадили раније.
Срећом, на И функција брине ово за нас, па чак и враћа 0
Ако стринг не може бити конвертован у цео број.
То је на вама, мада, да кажем корисник зашто нећеш
нека настави програма.
Чувајте резултат за И у цео број, и тамо имате кључ.
Следећи део је једноставна.
Питај корисника за њихову чисти текст, који ће бити од типа података стринг.
Срећом за нас, све корисник уноси жице су важећи.
>> Сада када имамо све потребне улаз од корисника, то је време да
енципхер њихову поруку.
Концепт је једноставан Цезара довољно да се схвати.
Али како се рачунар зна који слова се после један од другог?
>> Ево где АСЦИИ табела ступа на сцену
Сваки лик има цео број број повезан са њим.
Капитал је 65.
Капитал Б 66.
Мала слова је 97.
Слово Б је 98.
Али знакови нису ограничени уноса слова на само бројевима.
На пример, @ симбол број 64 је АСЦИИ.
>> Пре него што се бави читав низ, хајде да се претварамо да ми само треба да пребаце
један знак.
Па, ми само желимо да се пребаци стварна Слова у чисти текст, а не
карактере или бројеве.
Дакле, прва ствар коју ћемо желети да проверите да ли је лик у
писмо.
>> Функција исалпха то ради нас и враћа боолеан -
ако је истина ликова је писмо, фалсе ако је другачије.
Две друге корисне функције исуппер и исловер, са
саморазумљиво имена.
Они су се вратили важи ако даје карактер је велика или мала,
респективно.
Пошто су боолеанс, они су корисно користити као услове.
>> Ако исалпха враћа труе, мораћете да пребаце тај лик по кључу.
Дакле, хајде да отворимо да АСЦИИМатх и неки АСЦИИ математику.
Употреба је веома сличан коришћења за Цезара и узима у кључ у
командне линије.
>> Ако ми АСЦИИМатх 5, чини се да додате 5. да, дајући ми слово Ф, а
приказивање АСЦИИ вредност.
Па хајде да погледамо програм.
>> Можда се питате, баш овде, зашто Писмо је цео број, када је
јасно, па, писмо.
Испоставило се да су ликови и броја су заменљиви.
Стављајући писмо у сингл наводници, цео број може да складишти
АСЦИИ вредност капитала О: Будите опрезни, ипак.
Треба појединачне одећу.
Без појединачних наводника, компајлер ће изгледати за променљиву
имену, а не карактер.
>> Онда додати слово и кључ, складиштење сума у ​​инт променљивих резултата.
Иако је резултат од типа података цео број, моја изјава користи иф
% Ц чувар места за карактере.
Дакле Програм исписује карактер повезана са целобројну резултатом.
А пошто смо штампала цео облик као и у% д, видимо
као и број.
Тако сада можете видети да смо третирају карактера и
целих бројева, и обрнуто.
>> Хајде да испробате неколико АСЦИИМатх више пута користе 25 као кључ.
Ми смо добили слово З.
Сада ћемо покушати 26.
Ми желимо да се писмо, али уместо тога добијамо леву заграду.
Дакле, очигледно, само додавање Кључ писма неће учинити.
Морамо да смислимо формулу за увијање око азбуке, као и наши
пример у почетку учинио.
>> Формула за Цезаровог помак је следећи.
Ц једнак П плус по модулу 26 к.
Сетите се да је користан по модулу Операција која нам даје остатак
поделе један број од другог.
Хајде да примењују ову формулу за обичан Текст писмо са кључем од 2.
АСЦИИ вредност и је 89, што даје нам 91 по модулу 26,
што је једнако 13 -
дефинитивно није АСЦИИ вредност у, који је 67..
>> Хумор и сада ми се удаљи од АСЦИИ вредности на абецедном индексу
где је нула, а З је 25, што значи да је и 24.
24 плус 2, по модулу 6, даје нам 26, по модулу 26, 0, што је
азбучни индекс.
Дакле, ова формула изгледа да утиче на азбучни индекс писма и
Не његова АСЦИИ вредност.
>> Али почнете са АСЦИИ вредностима.
И да одштампате Ципхертект карактер, мораћете његову АСЦИИ вредност, као добро.
То је на вама, онда, да схватим како да се пребаците напред и назад.
>> Када схватите праву формулу један знак, све што треба да урадите
се применити исту формулу за сваки писмо у облику чистог текста -
само ако је то писмо није абецедно, наравно.
И запамтите да треба да сачува случају, горњи или доњи, ту
исУппер и исЛовер функције раније поменуто ће добро доћи.
Можете имати две формуле -
један за великим словима и један за мала слова.
Дакле исУппер исЛовер ће вам помоћи одредити који формула да се пријаве.
>> Како да примените своју формулу за сваки Један знак у низу?
Па, ниска је само низ карактера.
Дакле, можете да приступите сваки знак од груписање преко сваког карактера у
стринг у фор петљи.
Што се тиче стања вашег за петље, функцију стрлен, за ниску
дужина, ће добро доћи.
Потребно је у ниски, као и улаз враћа дужину тог низа.
Побрините се да укључите праву библиотеку да користите функцију Дужина низа.
>> И ту имате шифрат.
Моје име је Замила.
И [ВИМОВА ШИФРА].