1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB BOWDEN: مرحبا، أنا روب. 3 00:00:13,750 --> 00:00:17,360 وعندما تكون في روما، والسماح البرنامج كما يفعل الرومان. 4 00:00:17,360 --> 00:00:22,280 لذلك، أول شيء يتعين علينا القيام به هو الاختيار للتأكد من أن المستخدم دخلت فعلا 5 00:00:22,280 --> 00:00:26,670 الرقم الذي نريد لتدوير كل حرف في سطر الأوامر. 6 00:00:26,670 --> 00:00:27,740 >> لذلك، ونحن تحقق. 7 00:00:27,740 --> 00:00:30,180 هو ARGC تساوي 2؟ 8 00:00:30,180 --> 00:00:34,190 إذا لم تكن كذلك، وهذا يعني أن المستخدم إما لم يدخل الرقم في 9 00:00:34,190 --> 00:00:37,770 سطر الأوامر أو أنها دخلت الكثير من الأشياء في سطر الأوامر، التي 10 00:00:37,770 --> 00:00:40,560 الحالة نحن لا نعرف ما يجب القيام به مع بقية الأشياء. 11 00:00:40,560 --> 00:00:45,750 لذلك، طالما كان ARGC اثنين، يمكننا تواصل مع بقية البرنامج. 12 00:00:45,750 --> 00:00:49,610 >> الآن، تذكر أن ARGV 1 هو دائما سلسلة. 13 00:00:49,610 --> 00:00:52,490 لكننا نريد التعامل معها على أنها عدد صحيح. 14 00:00:52,490 --> 00:00:57,550 لذلك، علينا استخدام وظيفة atoi هذا ع المواصفات المذكورة مجموعة لتحويل 15 00:00:57,550 --> 00:01:02,330 سلسلة ARGV 1 إلى عدد صحيح، ونقوم بتخزين أنه في المفتاح. 16 00:01:02,330 --> 00:01:06,050 نحن نريد أن نتأكد من أن عدد صحيح التي تم إدخالها ليست سلبية. 17 00:01:06,050 --> 00:01:09,490 وإذا كان، ونحن نريد لطباعة التي ل المستخدم الذي كنت لا يسمح لهم 18 00:01:09,490 --> 00:01:11,980 للقيام بذلك، والعودة. 19 00:01:11,980 --> 00:01:15,100 >> لذلك، والآن لدينا صالحة عدد من المستخدم. 20 00:01:15,100 --> 00:01:19,780 ولكن نحن بحاجة للحصول على سلسلة من المستخدم الذي نريد لتشفير. 21 00:01:19,780 --> 00:01:25,340 لذلك كنا نفعل أثناء حلقة واستخدام الحصول على سلسلة للحصول على هذه السلسلة من 22 00:01:25,340 --> 00:01:29,190 المستخدم، ومواصلة الحصول على سلسلة حتى أنهم في الواقع 23 00:01:29,190 --> 00:01:31,270 إدخال سلسلة صالحة. 24 00:01:31,270 --> 00:01:34,400 >> مرة واحدة لدينا هذه السلسلة، ونحن يمكن أن تذهب إلى تشفيرها. 25 00:01:34,400 --> 00:01:38,120 لذلك، وهذا لحلقة تقوم به أن التشفير. 26 00:01:38,120 --> 00:01:43,250 لاحظ أننا بالتكرار من ط يساوي 0 ر كل وسيلة تصل إلى i يساوي 27 00:01:43,250 --> 00:01:47,790 ن، حيث يتم تعريف ن وطول رسالتنا، حيث الرسالة هو 28 00:01:47,790 --> 00:01:50,260 السلسلة التي قام المستخدم بإدخالها. 29 00:01:50,260 --> 00:01:54,330 >> لذلك نحن بالتكرار على كل الأحرف في السلسلة. 30 00:01:54,330 --> 00:01:59,740 وإذا تم أحرف كبيرة حرف، ثم ونحن في طريقنا إلى التحول باستخدام هذه 31 00:01:59,740 --> 00:02:01,860 الصيغة التي سنقوم الحصول على في الثانية. 32 00:02:01,860 --> 00:02:05,260 وإذا كان أحرف صغيرة، ثم سنقوم التحول باستخدام هذا 33 00:02:05,260 --> 00:02:07,290 صيغة مشابهة جدا. 34 00:02:07,290 --> 00:02:10,850 وإذا كان لا أحد ولا كبيرة بريد إلكتروني صغيرة - على سبيل المثال، فإنه 35 00:02:10,850 --> 00:02:15,370 يمكن أن يكون رقما أو رمزا - ثم نحن لن لفعل أي شيء له. 36 00:02:15,370 --> 00:02:18,220 >> الأمر كذلك، فما هي هذه الصيغ؟ 37 00:02:18,220 --> 00:02:22,090 حسنا، كيف يمكننا تحويل حرف A؟ 38 00:02:22,090 --> 00:02:27,250 نحن نريد لعلاج حرف وحيث أن عدد 0. 39 00:02:27,250 --> 00:02:30,710 ونحن نريد لعلاج حرف B حيث وصل عدد 1، وهلم جرا. 40 00:02:30,710 --> 00:02:35,170 انها الأحرف الأولى الصفري و من الأبجدية وهلم جرا. 41 00:02:35,170 --> 00:02:42,900 >> حتى هنا، يفترض رسالة ط ناقص A لتعطينا المكان رقمية لل 42 00:02:42,900 --> 00:02:44,400 حرف في الأبجدية. 43 00:02:44,400 --> 00:02:48,080 حتى إذا الأول هو رسالة، وهذا سوف تعطينا 0. 44 00:02:48,080 --> 00:02:52,880 الآن، نريد أن نضيف إلى ذلك الرقم الذي يريد المستخدم ل 45 00:02:52,880 --> 00:02:54,840 تدوير الرسالة. 46 00:02:54,840 --> 00:03:03,280 لذلك، إذا دخلوا 3، ثم إذا كان رسالة كنت، وهذا سيعطينا 0 وزائد 47 00:03:03,280 --> 00:03:05,400 سوف تعطينا مفتاح 3. 48 00:03:05,400 --> 00:03:09,450 >> وحتى الآن، ونحن ننظر لل المركز الثالث في الأبجدية. 49 00:03:09,450 --> 00:03:12,810 سنرى ماذا نحن بحاجة إلى وزارة الدفاع خطابات الأسطوانات في الثانية. 50 00:03:12,810 --> 00:03:18,700 ولكن في النهاية، نريد أن نضيف إلى إنهاء A مرة أخرى إلى التحول يعود بنا إلى 51 00:03:18,700 --> 00:03:22,020 قيم ASCII لهذه الأحرف بدلا من الأماكن العددي في 52 00:03:22,020 --> 00:03:24,260 الأبجدية من هذه الأحرف. 53 00:03:24,260 --> 00:03:26,580 >> لذلك، لماذا نحن وزارة الدفاع عن طريق الرسائل الأسطوانات؟ 54 00:03:26,580 --> 00:03:29,960 تذكر أننا نريد أن يلتف حول من نهاية الحروف الأبجدية ل 55 00:03:29,960 --> 00:03:31,470 بدءا من الأبجدية. 56 00:03:31,470 --> 00:03:38,530 حتى إذا كان المستخدم قد دخل Z، ثم طرح A من أن يتم الانتقال إلى 57 00:03:38,530 --> 00:03:40,520 تعطينا 25. 58 00:03:40,520 --> 00:03:44,800 وإذا كان المفتاح 3، ثم نحن ذاهبون الى 28. 59 00:03:44,800 --> 00:03:53,000 ولكن ينبغي أن يلتف حول Z إلى ABC، لذلك 28 رسائل الأسطوانات وزارة الدفاع، الذي يعرف التجزئة 60 00:03:53,000 --> 00:04:01,890 كما ينتظر أن تتم 26، هو الذهاب الى اعطاء لنا (2)، حيث C هو حرف الثاني من 61 00:04:01,890 --> 00:04:05,880 الأبجدية، إذا كنت تتذكر أن (أ) هو الرسالة الصفري من الأبجدية. 62 00:04:05,880 --> 00:04:09,210 >> ولهذا السبب نحن بحاجة ل وزارة الدفاع عن طريق الرسائل الأسطوانات. 63 00:04:09,210 --> 00:04:13,540 الآن، نحن بحاجة إلى أن تفعل الشيء نفسه بالضبط لأحرف صغيرة، باستثناء 64 00:04:13,540 --> 00:04:17,240 تذكر أنه عندما نتعامل مع الأحرف الصغيرة، لديهم مختلفة 65 00:04:17,240 --> 00:04:18,579 قيم ASCII. 66 00:04:18,579 --> 00:04:24,550 ولذا فإننا بحاجة إلى طرح وإضافة على لتحويل عليه من صغيرة 67 00:04:24,550 --> 00:04:30,020 قيم ASCII ومن ثم العودة إلى قيم ASCII صغيرة الأصلي. 68 00:04:30,020 --> 00:04:33,140 >> وأخيرا، والتي سوف تعطينا رسالة مشفرة لدينا. 69 00:04:33,140 --> 00:04:37,780 وفي النهاية، نحن فقط طباعة تلك الرسالة، وهذا كل شيء. 70 00:04:37,780 --> 00:04:39,875 اسمي روب، وكان قيصر. 71 00:04:39,875 --> 00:04:49,856