1 00:00:00,000 --> 00:00:11,980 2 00:00:11,980 --> 00:00:16,980 >> ROB:こんにちは、私はロブだし、のは解読しましょう ヴィジュネルプログラム。 3 00:00:16,980 --> 00:00:21,180 我々がする必要があるので、まず最初にすることです。 ユーザーは我々が期待したものを入力してください 4 00:00:21,180 --> 00:00:23,240 コマンドラインで、それら。 5 00:00:23,240 --> 00:00:28,720 ARGCが2でないのであれば、それはどちらかを意味し 利用者は、文字列、我々が入力されていません 6 00:00:28,720 --> 00:00:31,780 私たちの暗号として使用されるようにする 文字列、またはそれら 7 00:00:31,780 --> 00:00:32,890 あまりにも多くのことを入った。 8 00:00:32,890 --> 00:00:35,130 そして、我々は何をすべきか分からない これらの他のものと。 9 00:00:35,130 --> 00:00:37,960 >> だから我々は彼らは何を伝え 入力されている必要があります。 10 00:00:37,960 --> 00:00:39,300 そして、我々は戻って。 11 00:00:39,300 --> 00:00:44,570 今、我々はできる、ARGCが2だったと仮定して プログラムの残りの部分を続行します。 12 00:00:44,570 --> 00:00:47,890 >> 私たちは、[1] ARGVの名前に別名 13 00:00:47,890 --> 00:00:49,750 変数のキーワードに。 14 00:00:49,750 --> 00:00:51,860 我々はする必要がないように [1]名ARGVを使う 15 00:00:51,860 --> 00:00:53,050 プログラムの残りの部分全体。 16 00:00:53,050 --> 00:00:55,570 そして多分私達は何を忘れる つまり、というように意味や。 17 00:00:55,570 --> 00:00:57,830 キーワードは非常に良く名前です。 18 00:00:57,830 --> 00:01:01,982 そして、我々はすぐに、長さをつかむだろう 右ここに私たちのキーワード。 19 00:01:01,982 --> 00:01:07,460 >> [OK]を、だから今我々はそれを確認したい 私たちのキーワードは、実際に有効である。 20 00:01:07,460 --> 00:01:11,250 我々は、文字列の暗号化に使用するキーワード ただ、アルファベットでなければなりません 21 00:01:11,250 --> 00:01:12,400 文字。 22 00:01:12,400 --> 00:01:16,830 ユーザーは、アルファベット以外を入力した場合 文字、私たちが言うべき、キーワード 23 00:01:16,830 --> 00:01:20,170 のみを通じて含まれている必要があります それから、Zとリターン。 24 00:01:20,170 --> 00:01:24,370 したがって、このループが繰り返さための上のすべての 私たちのキーワードの文字、チェック 25 00:01:24,370 --> 00:01:31,870 その1はアルファベット、その後でない場合 我々は、警告を表示する必要があります。 26 00:01:31,870 --> 00:01:36,285 >> 我々はこの点に得れば、今、我々は知っている つまり、文字列が正しくなければなりません。 27 00:01:36,285 --> 00:01:38,230 キーワードが正しくなければなりません。 28 00:01:38,230 --> 00:01:40,880 そして今、我々はからメッセージを取得する必要があります 彼らは私たちがしたいことをユーザー 29 00:01:40,880 --> 00:01:43,910 そのキーフレーズで暗号化します。 30 00:01:43,910 --> 00:01:46,780 だから、そのメッセージを取得するために、我々は持っている やるしばらくになるだろうループ 31 00:01:46,780 --> 00:01:52,650 継続的に、ユーザから文字列を取得 彼らは有効な文字列を入力するまで。 32 00:01:52,650 --> 00:01:58,690 >> 続いて、我々はここに、この変数を参照してください。 INT nun_letters_seen。 33 00:01:58,690 --> 00:02:01,300 我々が必要とするなぜ我々が表示されます 第二のもの。 34 00:02:01,300 --> 00:02:07,320 しかし、forループは、これは反復処理しようとしている 私は、最大0ずっと等しいから 35 00:02:07,320 --> 00:02:10,940 我々は繰り返し処理していることを意味し、Nに等しく すべての可能なオーバー 36 00:02:10,940 --> 00:02:13,020 私たちのメッセージ内の文字。 37 00:02:13,020 --> 00:02:17,370 我々はすべてを暗号化するので、 私たちのメッセージ内の文字。 38 00:02:17,370 --> 00:02:22,970 だから、我々は(isalphamessage [I]場合の対処に気づく 私たちは、暗号化しないので、 39 00:02:22,970 --> 00:02:25,660 アルファベット順でない文字。 40 00:02:25,660 --> 00:02:28,810 シンボルがある場合には、スペース、 や数字、​​我々はしないでください 41 00:02:28,810 --> 00:02:30,730 それらを暗号化したい。 42 00:02:30,730 --> 00:02:37,220 >> 今、それはアルファベット順であると仮定 まず私たちを把握したい 43 00:02:37,220 --> 00:02:40,890 実際に暗号化したい 使用してメッセージ。 44 00:02:40,890 --> 00:02:42,710 だから私はそれとはどういう意味ですか? 45 00:02:42,710 --> 00:02:46,740 >> それでは、そのキーフレーズを仮定しましょう 入力したユーザーは、ABCた。 46 00:02:46,740 --> 00:02:49,070 それは我々が暗号化に使用しているものです。 47 00:02:49,070 --> 00:02:54,850 今、単純に、我々はそれが意味だと思う 我々は最初の文字を暗号化したい 48 00:02:54,850 --> 00:02:59,740 0による私たちのメッセージを、以降の手段 0で文字を回転させること。 49 00:02:59,740 --> 00:03:04,395 >> 私たちは番目の文字を暗号化したい 1によって、2番目の文字によって、 50 00:03:04,395 --> 00:03:09,170 0による四文字、五 1によって、というように2による第六、および。 51 00:03:09,170 --> 00:03:14,440 しかし、我々はスキップしたいことを、覚えている スペースや記号と数字。 52 00:03:14,440 --> 00:03:21,520 これは、ユーザが入力した場合を意味する メッセージとしてハローワールド 53 00:03:21,520 --> 00:03:26,590 そして、彼らは、暗号化すること 我々は0で、Hを暗号化したい 54 00:03:26,590 --> 00:03:32,680 、1でA、Eに対応する L 2で、0によるL、1によるO。 55 00:03:32,680 --> 00:03:41,050 我々は、暗号化され、スペースをスキップする 2によるwは、0、1、2、0重量O。 56 00:03:41,050 --> 00:03:45,250 我々はスキップされていなかったのであれば、注意してください スペースは、その後、我々は暗号化されたであろう 57 00:03:45,250 --> 00:03:51,240 0によるWとなってしまった 間違った文字列。 58 00:03:51,240 --> 00:03:57,470 >> [OK]を、これは我々が変数を必要とするものである 用num_letters_seen。 59 00:03:57,470 --> 00:04:04,450 我々だけで使用して暗号化するために行っていた場合 スキップしないこの方法、 60 00:04:04,450 --> 00:04:09,860 記号、スペース、数字、我々 ちょうど私は何として変数を使用することができます 61 00:04:09,860 --> 00:04:12,540 と私たちのキーフレーズをインデックスする。 62 00:04:12,540 --> 00:04:17,620 我々は維持しnum_letters_seenを使用する必要があります の実際の場所を追跡 63 00:04:17,620 --> 00:04:21,146 我々は、インデックスを作成するキーフレーズ。 64 00:04:21,146 --> 00:04:32,240 だからここに、我々が持っているキーワードの場合、もし num_letter_seen MOD keyword_lengthので、 65 00:04:32,240 --> 00:04:34,570 なぜ我々はMODに必要なのですか キーワード長さ? 66 00:04:34,570 --> 00:04:36,630 >> さて、Hello Worldのが良い例だった。 67 00:04:36,630 --> 00:04:42,310 キーワードはABCれた場合、我々は必要とする 継続し、その後Bで暗号化する 68 00:04:42,310 --> 00:04:45,740 それからC、そして、周りのバックラップ のa、b、cであり、a、b、c。 69 00:04:45,740 --> 00:04:50,110 だから我々は、キーワードの長さで国防省する必要があります 周りのバックラップするためである。 70 00:04:50,110 --> 00:04:57,280 >> もしそうなら、これは大文字で、 その後、我々はで暗号化する 71 00:04:57,280 --> 00:05:01,450 アルファベットのその文字の位置、 私達はちょうどで取得した 72 00:05:01,450 --> 00:05:06,730 資本A.を差し引き、 同様に、小文字のため、我々 73 00:05:06,730 --> 00:05:13,000 我々はでするキーを取得することができます 小文字のaを減算する。 74 00:05:13,000 --> 00:05:16,910 だからかどうかに関係なく手紙 キーフレーズに首都であったか、 75 00:05:16,910 --> 00:05:21,640 小文字、我々はするつもりだ 同額暗号化します。 76 00:05:21,640 --> 00:05:28,680 >> 今、私たちは鍵を持っていることを、私たちはここを参照してください、 そのメッセージなら、私は大文字 77 00:05:28,680 --> 00:05:32,660 キャラクターは、その後、我々は計算したい それのアルファベットの位置 78 00:05:32,660 --> 00:05:39,460 キャラクター、それに私たちのキーを追加し、バックラップ 周りのように我々は、過去行けば 79 00:05:39,460 --> 00:05:43,170 Z私たちは、というように戻って、A、B、Cに移動し、。 80 00:05:43,170 --> 00:05:49,070 そして、最後に、そのための資本Aに再度追加 我々は戻って[に移行? ASCII?] 81 00:05:49,070 --> 00:05:52,010 これらの文字の範囲の代わりに、 アルファベット、数字の位置 82 00:05:52,010 --> 00:05:53,540 これらの文字の。 83 00:05:53,540 --> 00:05:56,610 >> そして、我々は同じことをやる 小文字。 84 00:05:56,610 --> 00:06:00,070 私たちは、小文字を減算したい場合を除き とに背中にそれを追加 85 00:06:00,070 --> 00:06:02,900 最後は、小文字。 86 00:06:02,900 --> 00:06:08,120 num_letter_seenのみであることに注意してください メッセージは私がいた場合にはインクリメント 87 00:06:08,120 --> 00:06:09,640 アルファベット順。 88 00:06:09,640 --> 00:06:15,790 これは、我々は、スペース、記号をスキップする方法であり、 私たちのキーフレーズの中の数字、以来、 89 00:06:15,790 --> 00:06:20,520 num_letter_seenは、我々が使用しているものです。 私たちのキーワードをインデックスする。 90 00:06:20,520 --> 00:06:24,540 >> 最後に、最終的には、現在、そのメッセージ 私は、暗号化されている私たち 91 00:06:24,540 --> 00:06:26,280 私はメッセージを出力します。 92 00:06:26,280 --> 00:06:27,890 そして、それはこれだけです。 93 00:06:27,890 --> 00:06:28,670 私の名前はロブです。 94 00:06:28,670 --> 00:06:31,020 そして、これはヴィジュネルです。 95 00:06:31,020 --> 00:06:32,850 >> [音楽再生] 96 00:06:32,850 --> 00:06:36,651