ROB : 안녕, 난 롭 해요, 그리고의 해독하자 Vigenere 프로그램. 우리가해야 할 그래서 먼저 확인합니다 확인 사용자는 우리가 기대했던 입력 그 명령 라인에. ARGC 2없는 경우 그래서 그 중 하나가 의미 사용자가 문자열 우리를 입력하지 않았습니다 우리의 암호화로 사용되도록하려면 문자열, 또는 그들이 너무 많은 일을 입력. 그리고 우리는 무엇을 해야할지 모르겠어요 그 다른 것들과. 그래서 우리는 그들에게 그들이 입력해야합니다. 그리고 우리는 돌아갑니다. 지금, 우리가 할 수있는, ARGC 2라고 가정 프로그램의 나머지 부분을 계속합니다. 우리는 [1] ARGV의 이름을 별칭 변수 키워드에. 우리가 할 필요가 없도록 [1] 이름 ARGV를 사용 프로그램의 나머지. 그리고 어쩌면 우리는 잊을거야 무엇 그 등을 의미합니다. 키워드는 훨씬 더 멋진 이름입니다. 그리고 우리는 바로 길이를 갖다 줄게 바로 여기에 우리의 키워드. OK, 이제 우리는 그것을 확인하려면 우리의 키워드는 실제로 유효합니다. 우리는 문자열을 암호화하는 데 사용하는 키워드 그냥 알파벳해야 문자. 사용자는 알파벳 이외의 입력 한 경우 자, 우리가 말을해야, 키워드 단을 통해이 포함되어야합니다 다음 Z 및 반환. 따라서이 루프 반복을위한 이상 모든 우리의 키워드 문자 확인 하나는 알파벳 다음 수없는 경우 우리는 그 경고를 인쇄해야합니다. 우리는이 점에 도착하면 지금, 우리는 알고있다 문자열이 정확해야합니다. 키워드는 정확해야합니다. 그리고 지금 우리의 메시지를 얻을 필요 그들은 우리를 원하는 사용자 그 중요한 어구와 함께 암호화합니다. 그래서 메시지를 얻기 위해, 우리는이 하는 동안에 무슨 루프 연속적 사용자로부터 문자열을 얻을 그들은 올바른 문자열을 입력 할 때까지. 계속해서, 우리는 여기에서이 변수를 참조 INT nun_letters_seen. 우리가 필요로하는 이유를 우리는 볼 수 있습니다 두 번째에 해당. 그러나 루프이 반복하는 것입니다 나는 최대 0 모든 방법을 동일에서 우리가 반복하고 의미하는 N과 동일 가능한 모든 이상 우리의 메시지의 문자. 우리는 모두 암호화 할 때문에 우리의 메시지에있는 문자. 그래서, 우리는 (isalphamessage [I] 경우 어떻게 알 수 우리는 암호화하지 않기 때문에 알파벳없는 문자. 기호가있는 경우에, 공백 나 숫자, 우리는하지 않습니다 사람들을 암호화 할. 지금,이 알파벳이라고 가정 우리는 먼저 파악하려는 우리 실제로 암호화하려면 사용하여 메시지. 그래서 나는 그 무엇을 의미합니까? 의 가정하자 그 중요한 어구 입력 한 사용자는 ABC했다. 그것은 우리가 암호화하는 사용하는거야. 이제, 순진, 우리는 그 의미 생각 우리는 첫 번째 문자를 암호화하려면 0에 의해 우리의 메시지, 이후 수단 0으로 문자를 회전. 우리는 두 번째 문자를 암호화하려면 1로, 2로 세 번째 문자, 0으로 네 번째 문자, 다섯 번째 1로, 등등 2로 여섯 번째합니다. 그러나 우리는 건너 뛸 것을 기억 공백 및 기호 및 숫자. 즉, 사용자가 입력했다면 메시지와 안녕하세요! 그런 다음, 암호화 할 것을 우리는 0으로 시간을 암호화하려면 , (1)에 의해, E에 대응하는 L 2로, 0에 의한 L, 1에 의한 오. 우리는 암호화 된 공간을 건너 뛸 이 순서 w, 0, 1, 2, 0에 의해 O. 우리는 생략하지 않은 경우에, 통지 공간, 우리는 암호화 된 것 0으로 W와 함께 종료 잘못된 문자열입니다. OK, 이것은 우리가 변수를 필요로하는 무슨이다 대한 num_letters_seen. 우리는 단지 사용하여 암호화 생길까 이동하지 않는이 방법 기호, 공간, 숫자, 우리 다만 나는 무엇으로 변수를 사용할 수 있습니다 우리의 주요 구문에 인덱스. 우리는 계속 num_letters_seen를 사용할 필요가 의 실제 위치를 추적 우리는 인덱싱 할 중요한 어구. 그래서 여기에, 키워드는 우리가 가지고있는 경우에, 경우 num_letter_seen 모드 keyword_length, 그래서 왜 우리는 모드 (mod)해야합니까 키워드 길이로? 음, 안녕하세요 좋은 예였다. 키워드 ABC했다 경우에, 우리는 필요 계속 B를 다음으로 암호화하는 다음 C, 다음, 주위에 다시 포장 A, B, C, A, B, C,. 그래서 우리는 키워드 길이 모드 (mod) 할 필요가 주위에 다시 포장하기 위하여. 그래서,이 대문자 인 경우 우리는에 의해 암호화하려면 알파벳에서 해당 문자의 위치, 우리는 단지에 의해 얻을 수있는 자본 A.을 뺀 마찬가지로 소문자의 경우, 우리 우리가 원하는 키를 얻을 수 있습니다 소문자를 빼서. 그래서되는지의 여부에 관계없이 문자 중요한 어구의 수도였다 또는 소문자, 우리는 갈거야 같은 양으로 암호화합니다. 이제 우리는 우리의 키를 가지고, 우리는 여기에서 참조 그 메시지 경우에 나는 대문자 문자는, 우리는 계산할 그 알파벳 위치 자, 여기에 우리의 키를 추가, 다시 포장 주위에 그 그래서 우리는 지나친 경우 Z 우리는 그렇게 다시 A, B, C로 이동합니다. 그리고, 마지막으로, 자본 A.에 다시 추가 그래서 우리는 [로 다시 이동? 아스키?] 이러한 문자의 범위 대신 알파벳 숫자 위치 이러한 문자. 그리고 우리를 위해 같은 일을 소문자. 우리는 소문자를 뺄 경우를 제외하고 과에 다시 추가 끝, 소문자. 그 num_letter_seen이 아니라주의 증가하면이었다 메시지 알파벳. 이것은 우리가 공백, 기호를 이동하는 방법이며, 우리의 중요한 어구, 이후의 숫자 num_letter_seen 우리가 사용하는 것입니다 우리의 키워드로 인덱스. 마지막으로, 결국, 지금 메시지 나는, 암호화 된 우리 내가 메시지를 인쇄 할 수 있습니다. 그리고 바로 그거야. 내 이름은 롭입니다. 그리고 이것은 Vigenere입니다. [음악 연주]