[عزف الموسيقى] ALLISON BUCHHOLTZ والاتحاد الافريقي: يا الجميع. نرحب بك لأول مرة قسم CS50 الرسمي. كما يمكنك، انظر هذا قسم CS50 مثل، فقط لسحب ما يصل جدول أعمالنا لهذا اليوم. لذلك، من أنا، وأنا متأكد كنت أتساءل فقط. أنا TF الخاص بك. أنا لست مجرد طالب عشوائي من الذي ينتحل TF الخاص بك. وانا ذاهب الى الذهاب من خلال لديهم نوع من سوف تتدفق أقسام، توقعات دينا، الموارد، وهلم جرا وهكذا دواليك. نحن ذاهبون الى الحديث عن المصفوفات، ASCII وظائف، وسائط سطر الأوامر، وانها ليست هنا، ولكن وسوف يساعد أيضا هل النوع من التفكير من خلال PSET القادم لهذا الأسبوع. وأنا متأكد من أنك سوف نقدر جميع. لذلك، question-- أولا من أنا، إلى جانب TF مندفعا هنا. أنا Buchholtz أليسون والاتحاد الافريقي. هذا هو بلدي السنة الثانية TFing CS50. أنا أيضا TF CS51 في الربيع. قد ترى هناك مرة أخرى إذا قررت أن أعتبر. أنا أيضا القوات الجوية الباكستانية، لذلك أي Freshmen-- وإذا كنت غير طالبة، هذه هي السنة الثالثة لي كما زميل تقديم المشورة. أنا جدا على دراية جيدة في تقديم المشورة لك في الحياة والدورات ضمن CS وليس ضمن CS. أنا علوم الحاسوب المكثف. أنا أحد كبار في البيت آدمز، وأفضل منزل. وقبل أن انتقل الى CS بلدي طالبة الربيع، كنت فعلا مهندس الطب الحيوي. كنت ذاهبا للذهاب إلى المدرسة ميد. كنت ذاهبا ليكون جراحا. والذي لديه تماما تغيرت منذ أن تولى CS50. أخذت بالطبع بلدي طالبة الخريف. كان أول مقدمة لي لCS من أي وقت مضى. كنت واحدا من 78٪ منكم الذين وكان تجربة الصفر القادمة من، وتغيرت حياتي تماما. والآن أنا أعمل في مايكروسوفت، وفريق العمل الخاص بك جميلة. وCS50 هو على الارجح واحدة من أفضل التجارب أنني لقد كان هنا في Harvard-- سواء أخذ الطبقة والقدرة على مساعدة تعليم الطلاب مثلك. لذلك أنا متحمس حقا ان كنت جميع هنا. في حال كنت جاء في في وقت متأخر، وهناك حلوى، التي يجب أن أشعر مجانا قادمة الاستيلاء، أو إرسال شخص آخر لانتزاع ذلك بالنسبة لك. لا بأس. لا أريد أن يأكل ذلك. غرفتي ديها ما يكفي من الشوكولاته، لذلك ي 'الل أن تحاول والانتهاء من ذلك. أعرف أن هناك 100 قطعة، ولكن مثل، 4:00 يوم الاثنين، أعتقد أن الجميع يمكن استخدام بعض السكر. لذلك كل واحد منكم الذين هم رسميا في القسم الخاص بي ينبغي أن حصلت على البريد الإلكتروني من لي مع رقم هاتفي، البريد الإلكتروني address-- لا تتردد في إضافة لي على Gchat، لا تتردد في إضافة لي في الفيسبوك، وكذلك بالنسبة لبقية لك، يمكنك البريد الالكتروني لي هنا. هناك نوعان من H ل. الجميع يفعل دائما مثل اثنين L'ثانية أو اثنين جيم. اثنين في الاسم الأخير H. وإلا فإنه سيكون لترتد، و أنا لا أذهب إلى الحصول على البريد الإلكتروني الخاص بك. لذا لا تتردد في الكتابة لي، في الاتصال بي في أي وقت. أنا قد لا نعود إلى لكم في غضون 24 دقيقة، ولكن أعدك أن نعود اليكم في غضون 24 ساعة. إذا كنت تتصل بي قبل نصف ساعة ومن المقرر، أن يكون لك مثل PSET الخاص بك، ليست لدي فكرة عما أفعله أليسون. مساعدتي. انا ذاهب الى تهدئة بانخفاض لكم، ولكن في نهاية المطاف، إذا كنت تتصل بي قبل نصف ساعة ومن المقرر مع شيء مكتوب PSET الخاص بك، أنا ذاهب ليكون مثل، حسنا، ربما حان الوقت لاستخدام ذلك اليوم في وقت متأخر. ولذا فإنني سوف الرد على كل الخاص بك الطلبات في الوقت المناسب جدا. هاتفي هو عادة تعلق على يدي. أنا عادة الاستجابة بكثير أسرع من 24 ساعة، ولكن استطيع ان اؤكد فقط ردا على مدار 24 ساعة. حسنا. لذلك لماذا نحن هنا؟ أيضا، إذا كان لديك أسئلة في أي وقت، واسمحوا لي أن أعرف. أتحدث كثيرا. أتحدث بسرعة، ولكن من فضلك لا تتردد في تقاطعني. انه يعطيني فسحة من التنفس أيضا. لذلك أقسام هي المرة بالنسبة لنا لحقا الغوص فقط في، الحصول على بعض التدريب العملي على الخبرة، ل تذهب من خلال المواضيع التي ذكرنا في الصف أو في مواد الدراسة أن نوصي ليا رفاق على الانترنت. وسوف نذهب في الواقع من خلال بعض من هذه الموارد في شيء. وحتى بعض الملاحظات على قسم الدعم. CS50-- واحدة من الأشياء التي تجعل واحدة من بلدي المفضلة الطبقات هو الشعور الذي كنت أبدا وحدها. لدينا أكثر من 100 من الموظفين الناس الذين هم هنا لمساعدتك. لدينا ساعات العمل من الاثنين حتى الخميس. لذلك هناك الكثير من الناس الذين أحب الطبقة بقدر ما أفعل والذين هم حقا هنا لأنهم يريدون أن يكونوا هنا. معظمنا من الطلاب، وهذا هو مثل الطبقة الخامسة بالإضافة إلى بقية عملنا. والكثير من العمل، ولكن ونحن نفعل ذلك لأننا نحب ذلك، ونحن حقا أحب أن يعلمك وتساعد مشاركة حماسنا عن هذا الموضوع، وهذه الطبقة. لذا يرجى الاستفادة. يأتي الحديث إلينا. أحصل حيدا عندما طلابي لا تتحدث معي، لذلك إذا كنت تريد، تأتي شنق معي. انها سوف تكون كبيرة. لذلك القسم من الواضح واحدة من أكبر الأشياء الخاصة بك. سنذهب من خلال الأشياء التي تعلمت في المحاضرة، القيام ببعض الأمثلة قصيرة عندما يكون لدينا الوقت، وعموما نوع من الحصول على فكرة عن الأشياء يجب أن يكون التفكير حول لمشكلتك مجموعة. Shorts-- كم من الناس فعلا شاهد الفيديو الخاص بك من الصفر باختصار؟ أي شخص تعرفني؟ حتى تلك هي كبيرة جدا. يجب عليك بالتأكيد مشاهدة تلك. وقد تم وضع الكثير من العمل فيها. وانهم يعني مجرد أن يكون لدغة حجم القطع لتتمكن من مشاهدة فقط لمدة ثلاث أو أربع دقائق، والحصول على فهم أفضل لمفهوم. كيف تمشي throughs-- لقد شاهد كثير من الناس المشي الاقدام عن سابقاتها؟ Zamyla هو مدهش، أليس كذلك؟ مثل، أتمنى لو كنت Zamyla في بعض الأحيان. وذلك باستخدام بالتأكيد الخاص بك المشي الاقدام. وقالت انها سوف كسرها نزولا إلى قطع صغيرة، لدغة الحجم. وعندما يكون لديك هذه ضخمة مواصفات من مجموعات مشكلتك، انه سيكون من المهم حقا لتكون قادرة على مجرد إيجاد مكان ما للبدء والعمل ببطء من خلال ذلك. كل الحق، لدينا أيضا Study50، التي هو study50.harvard.edu، على ما أعتقد. يمكنك فقط جوجل دراسة، وانها سوف تأتي. هذا هو واحد من أفضل الموارد لدينا. ومن العروض التي تستخدم برنامج مع ملاحظات وممارسة المشاكل بالنسبة لك مع الحلول التي قمت يمكن فعلا المشي من خلال. حتى إذا كنت تريد من أي وقت مضى مزيد من الممارسة، أكثر مما كنا نفعل في أقسام أو أكثر مجموعات من مشكلتك، وهذا هو حقا مكان أهيب بكم أن يذهب. تم بناؤه في الصيف الماضي من قبل بعض أصدقائي جيدة حقا. وإنه لأمر مدهش. في الواقع، هناك الكثير من الشرائح انني سوف تستخدم لالقسم سيأتي من Study50. لذلك الكثير من TFS استخدامها. وأخيرا، وكما قلت ذكر، ساعات العمل. إذا كنت تواجه مشكلة مع الواجبات المنزلية، وكنت تواجه مشكلة مع مفهوم، وتأتي لساعات العمل. الذهاب في وقت مبكر في الأسبوع إذا كنت تستطيع. الخروج إلى رباعية، لأنه نوع من الآن. لا أحد يحب أن السير هناك. لكنها لصالحك، لأن ثم أنت ستكون لدينا كل هذه TFS، [غير مسموع] تحيط بك. وخصوصا الآن، مجرد غيض والخميس هي البرد جدا في الوقت الحالي في ماثر بسبب psets بك من المقرر يوم الخميس. وعليم يريد استخدام أيامك في وقت متأخر بعد. لذا إذا كنت تواجه مشكلة مع المفاهيم و هناك الكثير من الذين TFS هناك لمساعدتك. لذلك يخرج إلى ماثر يوم الخميس. إذا كنت تريد أن ترى لي، انا ذاهب الى هناك. أنا عادة ما تفعل واجباتي المنزلية الخاصة، لأن لا أحد يريد مساعدتي. حتى يأتوا ويروا لنا. قائنا في منتصف الطريق. لذلك فقد حضر كيف كثير من الناس محاضرة أو شاهدت على الانترنت؟ كيف ذهب كثير من الناس ل القسم سوبر الاسبوع الماضي؟ بارد. وهذا في الواقع عدد لا بأس به. كم كنت قد قرأت لكم المواصفات لهذا الأسبوع، لPSET الخاصة بك؟ أوه، أنا فخور يا رفاق! المزيد من الحلوى لي 'الل. جيدة، لذلك ما نعنيه "قائنا في منتصف الطريق"، هو هذا القسم هو حقا فقط سيكون من المفيد لك السوبر إذا كنت تأتي في بعد قراءة بك مواصفات PSET الخاص بك. لأنه عندما أذهب من خلال نظرة عامة من الأشياء التي يجب أن تبحث خارج ل، انها ليست الذهاب الى جعل الكثير من المعنى إذا كنت لا أعرف ما وضعت مشكلتك سوف يتم طلب منك القيام به. إذا كنت لا تأتي إلى القسم، ومن الواضح أنا لا يمكن أن يكون ذلك مفيدا لك. أنا لن أعتبر شخصيا لو أنت لا تأتي إلى قسم بلدي في الوقت الحالي، ولكن بالتأكيد يجب عليك. إذا كنت لا تستطيع، ومشاهدتها على الانترنت. انهم هناك لسبب ما. الألغام سوف يكون هناك حق. كما لاحظت، نحن يتم تسجيلها، لذلك سوف يكون هناك حق للرفاق. كذلك، سوف من الواضح أن lectures-- حيث انك تحصل على بدء من المواد الخاصة بك هنا. لذلك سأحاول بالتأكيد و مساعدتك بقدر ما أستطيع، ولكن لا يسعني إلا أن ألتقي بك حتى الآن. لديك لنوع من قائنا في منتصف الطريق هناك. Grading-- ذلك، ولكم جميعا الذي حصل على رسالة بالبريد الالكتروني من لي، كنت القسم الرسمي بلدي. وسوف يتم تصنيف psets الخاص بك. وأريد فقط أن أقول، الشيء الوحيد الذي يجب إيلاء اهتمام حقا ل هي التعليقات. تعليقات غالبا ما تكون أكثر فائدة من النتيجة الفعلية نقدم لكم. والتعليقات التي هي في الواقع حيث أقضي الكثير من وقتي عندما أكون الدرجات. لذلك أود أن نقدر إذا كنت تقرأ لهم. وانهم في الواقع كيف وأنت تسير لمعرفة المزيد عن التصميم والأناقة والأشياء التي هي أقل القليل خفض والجافة. هكذا حقا أن يلتفت لتلك التعليقات. إذا كان لديك أسئلة حول لهم، أو أسئلة حول درجاتك، يرجى تأتي الكلام لي إما قبل القسم، أنا ربما شنقا في بهو الفندق، أو بعد ذلك. إذا كنت ترغب في جدولة واحد على واحد واجتماعات حول كيفية يمكنك المساعدة على تحسين لاحقا مجموعات مشكلة، فقط اسمحوا لي أن أعرف. وبعد بضع نصائح ليا رفاق. ذلك واحد من أكبر الأشياء أنا دائما أؤكد على القسم الخاص بي عندما كنت تعلم كيفية المدونة لكتابة أشياء على الورق أولا. إذا كان لديك خطة اللعبة لل حيث يحتاج التعليمات البرمجية للذهاب وما يحتاجه ل به وكسرها نزولا في بت صغيرة من شبة الكود كود كنت قد كتبت بها، وأنت تسير إلى أن تكون أقل من المرجح أن تجعل أخطاء في بناء الجملة أو إذا خلق حلقة لا يكون لها آخر. إذا كنت تعرف أين أنت الذهاب عموما، كنت أقل احتمالا لجعل هذه صغيرة الاخطاء التي سوف يأخذك أحيانا ساعات للإصلاح، لأنك مثل، حيث أنا في عداد المفقودين هذه الفئة؟ في تلك المذكرة، يرجى استخدام Style50. وخصوصا عندما كنت الذهاب إلى ساعات العمل، إذا التعليمات البرمجية هو كل شيء انتقلت الى جانب واحد، فمن السياسة بالطبع يمكننا أن نقول، اصلاحها بحيث يبدو كأنه يقول Style50 ينبغي، ومن ثم فإننا سوف تساعدك. لذلك سوف تجعل حياتك أسهل. انها سوف تجعل حياتنا أسهل. الجميع أكثر سعادة. كل شخص يحصل على أفضل الدرجات. ليس هذا ما نريده جميعا؟ حتى كتابة أشياء على ورقة قبل هل سبق لك أن تلمس جهاز الكمبيوتر الخاص بك. التحدث الامور على مستوى عال، و تأكد من أنك تعرف أين أنت ذاهب. وإذا كنت غير متأكد، الجلوس مع شخص والمشي من خلال خطوة خطوة ما يفترض التعليمات البرمجية الخاصة بك القيام به. وتسع مرات من أصل 10، عليك أن تكون مثل، أوه، لقد نسيت هذا اذا كان الشرط لقد نسيت أو فاصلة منقوطة هنا أو أنا استكمال هذا الخطأ متغير. حتى تلك هي بلدي نصائح للنجاح. لذلك منذ ما يقرب من نصف نظرتم مثلك حضر القسم سوبر، أنا مجرد الذهاب الى جدا الذهاب لفترة وجيزة خلال الحلقات، و التي لم تكن على جدول أعمالنا الأصلي. لكنها مهمة حقا. وهكذا انا ذاهب الى نوع السرعة من خلال تلك قبل أن نصل إلى القسم الفعلي لدينا. قبل أن أفعل ذلك، هناك أي questions-- وجستيا، شخصيا، ليس هناك أي شيء آخر تريد لمعرفته حول لي أو نحو القسم أو الطبقة بشكل عام؟ كل خير؟ موافق، بارد. جميل. لذلك ينبغي loops-- يا رفاق جميع التعرف على هذه القطع من نقطة الصفر. حتى الحلقات هي في الأساس فقط وسيلة بالنسبة لنا لنفعل شيئا بعض عدة مرات، وكرر بعض العمل استنادا إلى بعض مشروطة. لذلك لدينا ثلاثة أنواع مختلفة. لدينا للحلقة، في حين، وحين تفعل. لذلك لدينا loops-- مجرد جدا التخطيط العام هنا لللحلقة. وهذا شيء عظيم لأنه عندما تعرف كيف مرات كثيرة شيء يحتاج لتنفيذه. عندما نتحدث عن حلقات أخرى، عليك ترى لماذا هذا تمييز مهم. ولكن بالنسبة الحلقات هي عن شيء محدد. كنت أعلم أنك يمكن إما حساب عدد أو يمكنك معرفة عدد المرات التي أريد هذا يتكرر في البداية. حتى إذا كنت ترى هنا، فإننا يكون مجرد نوع عام من إطار هيكل عظمي لللحلقة هنا. لذلك، وهذا هو، حيث التهيئة يتم تهيئة المتغيرات الخاصة بك. مع ماريو، وأنا متأكد من أنك لم يفعل الرجال شيء من هذا القبيل كثافة العمليات ط يساوي 0. هذا هو المكان الذي يمكن أن يحدث في الزرقاء. لديك شرط الخاصة بك، والتي هو ما دققت في كل مرة. إذا كان هذا الشرط صحيحا، ثم ما تبقى من تنفيذ التعليمات البرمجية. ثم انها سوف تشغيل again-- ونسأل. ومن ثم لدينا التحديث، حيث كنت تقوم بتحديث المتغير الخاص بك. هكذا، مرة أخرى، مع مثل ماريو، وأنا متأكد يا رفاق فعل شيء من هذا القبيل أنا زائد زائد. هكذا في كل مرة حلقة ركض، حصلت على تحديث لذلك أننا عندما تم التحقق من ذلك ضد بعض شرط، انها تتغير. لأنه إذا كنت فقط لديك متغير ثابت، إذا كان ينفذ للمرة الأولى، فإنه من مجرد الذهاب الى تنفيذ ما لا نهاية. حتى يكون لديك للتأكد من تحديث متغير بشكل صحيح. وعلينا أيضا أن مجرد التمثيل المرئي هناك. الجميع جيدا؟ للحلقات. يجب أن ينظر في هذه PSET الخاص بك. بارد. حتى هنا مجرد مثال سهلا. طباعة هذا هو CS50! 10 مرات. ولذا علينا التهيئة لدينا، كما نرى هناك، مع كثافة العمليات ط يساوي 0، لأنني أقل من 10، وأنا زائد زائد. وانها سوف طباعة هذا 10 مرات. وذلك في حين loops-- بينما هي الحلقات عندما عظيم تفعله ليس بالضرورة أن تعرف كم مرة انها الذهاب إلى تحديث في البداية. كنت للتو لدينا بعض شرط أن هو التحقق. وهذا يمكن أن يكون شيء من هذا القبيل while-- دعونا نأخذ مثالا من PSET الخاص بك. إذا ماريو، حاولت إدخال رقم سالب. أليس كذلك؟ هل كان من المفترض أن إعادة يدفع المستخدم الخاص بك. لذلك يمكن القول، أيضا، إن مدخلات المستخدم شيء أقل من الصفر، وإعادة موجه- لهم. وأنا متأكد من أنه قد يكون كان شيء أن البعض منكم المستخدمة في التعليمات البرمجية. لذلك هو شيء بسيط. لديك الوقت، وبعض شرط أن يتم فحص في كل مرة يذهب رمز لتنفيذه. إذا كان تقييم إلى true، فإننا تشغيله. إلا أننا لا. وما هو حقا شيء important-- أنا أعتقد أن ديفيد تحدثت عن في lecture-- هي الأقواس. أيا كان داخل الأقواس هو ما أعدم. إذا كنت قد نسيت تلك الأقواس، انه سيكون فقط أن يكون الخط مباشرة أعدم بعد حين. حتى إذا كان لديك ثلاثة الأشياء التي من المفترض يحدث هذا عندما حالة بتقييم إلى true، وأنك لا تملك تلك الأقواس، فقط أول شيء سيحدث. حتى نكون مدركين جدا ل حيث يمكنك وضع المشابك. إذا كنت عصا مع Style50، هذا سوف يساعد بالتأكيد لك. بارد. لذلك هذا هو العد التنازلي من 10 إلى صفر. وكما ترون هنا، فإننا تهيئة بعض مكافحة خارجها. الشيء الوحيد الذي هو مختلف هو نحن لا تهيئة متغير لدينا ضمن حلقة في حين لدينا. هو تهيئة عليه خارجها. نحن ببساطة مجرد وضع في حين تشترط لدينا. حتى في هذه الحالة، فإنه من حين عدد أكبر من الصفر. ونحن طباعة ما هو العد لدينا، ثم نحن لدينا إنقاص المتغير. وهذا أيضا شيء آخر لاحظت. لدينا التحديث لا يحدث داخل هذا الجزء الأول من الحلقة بعض الوقت. أن ذلك سيحدث فعلا داخل الأقواس، جسد النص. لذلك، في حين loops-- تفعل حين الحلقات هي كبيرة من أجل التحقق من المستخدم. وحتى بعض من قد تكون لديكم تستخدم أيضا في هذا PSET الخاص بك. يمكنك أن تقول، لا، مثل، يطلب من المستخدم إدخال. وبعد ذلك الوقت، مثل، مدخلات أقل من بعض الأرقام. حتى لحالة واضحة مع ماريو، و سيكون القيام printf، أدخل عددا صحيحا، وبعد ذلك بعض عدد صحيح يساوي getint. وبعد ذلك سوف أكون في الواقع تنفيذ التعليمات البرمجية أولا. سيكون لديك فعلا نوع من عدد صحيح. ومن ثم يمكن القول، في حين صحيح أن أقل من الصفر. ذلك ما يجري القيام به هو انها الذهاب لتنفيذ مرة واحدة على الأقل. انها سوف تحقق الشرط. إذا كان الشرط هو صحيح، وأنها سوف تعمل من جديد. تفعل ذلك، بينما هي الحلقات كبيرة من أجل التحقق من المستخدم، لأنك تعرف الشفرة يجري تنفيذ ما لا يقل عن مرة واحدة، في حين مع بينما الحلقات، وكنت لا يضمن أنه الذهاب لتنفيذ مرة واحدة. انها سوف تحقق شرط أولا ثم تقرر تنفيذه، في حين سوف افعل حين تنفيذ التعليمات البرمجية أولا ثم تحقق لمعرفة ما إذا كان تحتاج إلى تكرار ذلك. يفعل هذا التمييز من المنطقي أن الجميع؟ موافق. بارد. حتى في هذه الحالة، وهذا هو النوع ما كنت أتحدث عنه، هذا إعادة المطالبات-حتى الحصول على رقم موجب. لذلك نحن نعلم أن printf "إدخال رقم موجب" ويسأل فعلا عن ذلك سوف مدخلات يحدث مرة واحدة على الأقل. إذا كان المستخدم هو الشر ويبقي إدخال رقم السلبي الذي يعرف كم عدد المرات التي سوف تنفيذ. لكن مضمون هذا الرمز لتنفيذ مرة واحدة على الأقل. وهذا هو السبب في انه لشيء رائع للتحقق من صحة الإدخال. وسوف تستخدم هذا لا بأس به. كل الحق، على أية أسئلة حتى الآن؟ نحن جميعا جيدة؟ أتحدث سريع جدا؟ نحن في حالة جيدة؟ موافق. مرعب لذلك نحن ذاهبون الى المضي قدما والحديث عن المصفوفات. بارد. حتى المصفوفات هي في الأساس هياكل البيانات فقط التي تسمح لنا لتخزين الأشياء من نفس النوع. حتى إذا كان لديك أي وقت مضى صفيف، انها إما فقط ستكون لدينا [إينتس] أو انها فقط ستكون لدينا عوامات أو انها فقط ستكون لدينا حرف. كنت لن يكون لها الباحث مع شار مع تعويم مع ضعف. شيء واحد. المصفوفات هي حجم واحد فقط، أو أنهم نوع واحد فقط. حتى هنا لدينا مجموعة من حجم ثلاثة مع ثلاثة الأعداد الصحيحة في ذلك. ويمكن أن يطفو، ولكن نحن سأقول [إينتس] انهم. ذلك شيء واحد هو أن ندرك المصفوفات هي مجموعة الحجم عند تهيئة لهم، وأنهم لا easily-- منذ لكم جميعا هي أقل راحة، يجب أن نفكر فقط منهم كما عدم التمكن من توسيع في حجم. لكن كبير شرعتم مجموعة الخاصة بك في البداية، هذا هو حجم انها تسير على البقاء، لأن المصفوفات هي كتل مستمرة من الذاكرة. وعندما تحصل على الرجال في أكثر قليلا وكيف انها وضعت فعلا على الذاكرة والأقراص في كومة والمكدس، انها سوف تجعل قليلا من معنى. ولكن هل يمكن أن مجرد التفكير في مثل، انها مجرد صف من المساحات على القرص. وأنت لا يمكن أن يضمن أن هناك ستكون مساحة حرة بعد ذلك. هل يمكن تهيئة مجموعة ثلاثة وبعد ذلك ربما كنت تهيئة مجموعة أخرى من خمسة في وقت لاحق، وهذا الحق بعد ذلك. حتى لو كنت لأذهب بقعة الماضية ثلاثة في أن مجموعة الأولى، هل سيكون الكتابة أكثر من أي شيء آخر. حتى المصفوفات are-- ليا رفاق، فقط نفكر بها وحجم ثابت. هكذا خلق array-- وأنت تسير في حاجة للقيام بذلك قليلا جدا. هكذا بنفس الطريقة التي لدينا الهيكل العام لللدينا الحلقات، لدينا جنرال لطيف هيكل لدينا مجموعة. لأنها من نوع واحد، كل العناصر في مجموعة من نوع واحد، تحتاج إلى تهيئة ما هو هذا النوع. لذا، وكما ترون هنا، لدينا صغيرة لطيفة نوع البيانات قوس. حتى إذا كنا بصدد إنشاء عدد صحيح مجموعة، من شأنها أن تكون كثافة العمليات. إذا كنا بصدد إنشاء شار مجموعة، فإنه سوف يكون شار. إذا كنا بصدد إنشاء سلسلة مجموعة، فإنه سوف يكون سلسلة. ثم اسم مجموعة الخاصة بك، كل ما تريد أن تكون. ولذلك ربما يكون حان درجات الاختبار أو ربما انها الطلاب أو ربما انها الحلوى. كل ما عليك أن تقرر لاسمك مجموعة، وهذا ما سوف يكون. ثم بين قوسين، عليك لدي حجم القيمة التي تريدها. لذلك، نحن تخزين 10 طلاب أو نحن تخزين 15 أنواع من الحلوى؟ ليس ما. حتى في مثالنا هنا، نحن بصدد إنشاء مجموعة من حجم الثلاثة، التي يا رفاق نرى هنا على اليمين. وعندما كنا تهيئة أولا ذلك، يتم تعيين كل شيء من الصفر. حتى انها مجرد التفكير من مثل لائحة بيضاء. لدينا كل هذه المساحات، لدينا جميع هذه الصناديق يمكن أن نضع بياناتنا إلى، ولكنهم فقط فارغة في الوقت الراهن. لذلك إذا أردنا فعلا التنازل عنها هذه القيم، نفعل ذلك الحق بموجب يظهر هنا. ولذلك عليك مهما كان اسم الخاص بك الصفيف ثم مؤشر ما تريد. لذلك المؤشر يشير فقط إلى، مثل، ما فتحة نحن نبحث في. والشيء المهم أن تلاحظ غير أن صفائف مفهرسة-صفر. لذلك إذا أردنا الفضاء الأول في الذاكرة من مجموعة لدينا، فإنه سيكون من الصفر. إذا كنا نريد الثانية، فانه سوف يكون واحدا. إذا كنا نريد الثلث، فإنه سوف يكون اثنين. هلم جرا وهكذا دواليك. وهو أيضا السبب، تقليديا، عندما نفعل لloops-- أنا متأكد يا رفاق أتساءل، لماذا نبدأ في 0 مقابل 1؟ وهذا لأنه عندما كنا الانتقال في استخدام المصفوفات، والخرائط بشكل صحيح. حتى إذا كنت تريد تكرار في صفيف، و يجعل الكثير من معنى ل هل أنا يساوي 0، لأننا نعرف أن سوف تقابل إلى المركز الأول في الذاكرة. الجميع الجيد مع ذلك؟ بارد. ثم في الجزء السفلي هنا هو فقط طريقة أخرى لتهيئة صفيف. لا يزال لديك الخاص بك نوع البيانات واسم، ولكن بدلا من الواقع وضع حجم هناك، يمكنك القيام به فقط الأقواس فارغة. ثم مع هذه مجعد تستعد في الجزء السفلي، يمكنك فقط إدخال البيانات التي تريد مفصولة بفواصل. والتي سوف تلقائيا نقول، حسنا، أرى أن يكون لديك ثلاثة الأشياء في هذه الأقواس. لذلك أنا أعلم أنني بحاجة إلى تخصيص ثلاثة كتل من الذاكرة ومن ثم تخزين تلك. حتى النسخة الأولى التي قد تستخدم إذا كنت طالبا المستخدم لإدخال قيم بحيث يمكنك تكرار خلال مجموعة وask-- الحصول على بعض الباحث إلى مساهمة منها. إذا كنت تعرف القيم مسبقا، يجعل الكثير من المعنى لاستخدام الطريقة الثانية. ولكن في معظم الحالات، لا يمكن أن نعرف ما هي تلك القيم ستكون. بارد. أي أسئلة أخرى؟ حسنا. حتى الوصول إلى elements-- حتى واحد من أشياء عظيمة عن المصفوفات هي أنها عشوائي وصول، وهذا يعني أن ل لا يجب أن ننظر من خلال كل كتلة. إذا كنت تعرف أنك تريد ما في كتلة اثنين، يمكنك القول فقط، أعطني منع اثنين. وهذا هو السبب في هذه المؤشرات هي في غاية الأهمية، وهذه هي الطريقة التي يمكننا الوصول إليها في الواقع. حتى في هذه الحالة، كما رأينا من قبل عندما كنا تعيين قيم، في واحد من قبل، كان لدينا اسم و مؤشر أردنا الوصول إليها، أليس كذلك؟ حتى في نفس الطريق، وهذا كل ما القيام بسحب الواقع أن البيانات بها. لدينا اسم ونحن يكون الفهرس الذي نريد. حتى في هذه الحالة، للحلقة إلى هنا في الأسفل، أي شخص تعرف ما تقوم به، ما من شأنه أن تطبع؟ Mmhmm؟ بالضبط. لذلك نعم، انها مجرد بالتكرار عبر. ط يساوي zero-- يمكننا السير خلال التعليمات البرمجية بسرعة فقط. ط يساوي الصفر، وأنا أقل من ثلاثة إلى هذه النقطة، أليس كذلك؟ بحيث يتحقق بها. ونحن نقول، حسنا، طباعة و كل ما هو في درجة حرارة ط. ط صفرا هنا عندما كنا أولا تكرار، لذلك نذهب إلى هذه البقعة الأولى، ونحن نقول، حسنا، هو 65 عدد نريد للطباعة. لذلك سوف تطبع 65 ثم قم سطر جديد. وسوف أقوم بتحديث، لذلك فإنه يطبع 87. فإنه يقوم بتحديث مرة أخرى، وأنها سوف طباعة 30. كل شخص بارد؟ رهيبة. حسنا. حتى هنا نوع واحد شيء وكنت أقول كيف يمكنك تتبع نتيجة لشخص ما ولماذا كنت ستستخدم أولا طريقة تهيئة ذلك بدلا من أن الطريقة الثانية. وهذا ينطبق فقط من خلال. وتلاحظ لدينا حجم الفصل 30. ونحن تهيئة هذا مجموعة من [إينتس] التي هي من حجم 30. ثم نحن بالتكرار ونحن من خلال يطلب من المستخدم إدخال عشرات لكل من هذه ثم تعيين ل مكان محدد في الذاكرة في مكان ما في هذا صفيف. بارد؟ فهل يعقل أن الجميع؟ Mmhmm؟ حتى هاشتاج تحديد حجم الطبقة 30 هو توجيه المعالج، وهو ما يعني فقط أنه gets-- لها للقيام مثل عملية تجميع. يمكنك التفكير في الأمر كمتغير العالمي. الطريقة التي تفعل ذلك هي typically-- أنه يسمح التعليمات البرمجية لتغييرها بسهولة أكبر. لذلك دعونا نقول أن حجم طبقتنا يذهب فجأة 30-15، لو لم أكن قد تعريفه بهذه الطريقة، وأود أن يجب أن تمر عبر برنامجي كامل وتغيير كل حالة من الحالات بين 30 و 15 عاما. ولكن مع هذا، أحصل على تغيير واحد بقعة، وكل شيء يتغير. إذا كنت تريد أن تفعل أي وقت مضى تجزئة تحدد في هذه الحالة أين أنت تتبع بعض وضع عدد من النقاط لفئة أو كنت تستخدم عددا التي سيتم استخدامها، مثل، طوال برنامج طويل جدا، انها أفضل لتحديد ذلك في بداية بحيث إذا من أي وقت مضى يتغير، وتحصل لتغيير مكان واحد بدلا من 100. نعم؟ الطالب: بين فعل ذلك وفقط يعلن [غير مسموع] فوق في القمة. ALLISON BUCHHOLTZ والاتحاد الافريقي: لذلك له علاقة efficient-- انها نوع من خارج نطاق ما يمكننا تغطية في هذا القسم. عليها أن تفعل أكثر مع كفاءة وكيف تسير الامور في الواقع العمل في عملية تجميع. إذا كنت تريد أن تعرف حقا عن ذلك، وأنا سعيد أن يرسل لك رسالة بالبريد الالكتروني مع الموارد حيال ذلك. بعثرة تحديد يميل إلى أن يكون فضل لأشياء. وكما أن رمز أكثر، كنت نوع من معرفة الفروق الدقيقة متى يجب استخدام العالمية مقابل تجزئة تحديد. ولكن في الوقت الحاضر، لم يكن لديك حقا ما يدعو للقلق هو إن الجواب القصير. الجميع الجيد مع ذلك؟ وأيضا، إذا كنت تريد استخدام تجزئة تحدد، من المهم حقا أن تلاحظ أن الاسم يجب أن يكون في كل مباراة دولية. نحن لا نفعل فقط صنف حجم تكون دراماتيكية. ينبغي أن يكون واقعيا في كل مباراة دولية. بارد. أي شيء آخر هناك؟ نحن في حالة جيدة؟ جميل. أرحب. موافق، لذلك أريد يا رفاق لإلقاء نظرة في هذا ونرى ما اذا كان يمكنك العثور على الشوائب. سأعطيك تلميحا. انها في مكان ما في تلك الحلقة ل. Mmhmm؟ الطالب: يجب أن تكون أقل من يساوي 2. أليسون: لذلك يمكن أن يكون أقل من أو تساوي 2، أو أنه يمكن أن يكون أقل من 3. وما هو التعليل لذلك؟ الطالب: إن [غير مسموع]، 0، 1، 2. أليسون: بالضبط. لذلك في مجموعة من حجم ن، نحن لدينا مؤشرات ن ناقص 1 فقط. بارد. ومن ثم يمكننا الحصول على مجنون حقا والحصول على المصفوفات متعددة الأبعاد. واحدة من المشاكل عندما أخذته في بلدي السنة المطلوبة المصفوفات متعددة الأبعاد، وأعتقد أنه قد تتطلب واحد منهم هذا العام، بحيث تكون مريحة. التفاف رأسك حولها الآن. أنه سوف يعود إلى تطارد لك، ولكن بطريقة باردة. بحيث يمكنك حقا مجرد التفكير من المصفوفات متعددة الأبعاد كما صفائف المصفوفات. حتى تتمكن من نوع من التفكير في هذه القمة كما صف أول قطعة من الذاكرة. وهذا واحد هو قطعة ثانية من الذاكرة، والصف الأخير هو جزء ثالث من الذاكرة. وضمن ذلك، هناك مجموعة. ولكن بطبيعة الحال، فإنه من السهل لتصوير مثل هذا. حتى يمكنك تهيئة عليه بنفس الطريقة. هذا هو شخصية مجلس ثلاثة ثلاثة. بحيث يكون لديك ثلاثة صفوف وثلاثة أعمدة. نحن يمثلون الامر بهذه الطريقة. وسوف يمكنك الوصول إليه و بنفس الطريقة، بواسطة عمود التوالي. وحتى 1،1 كما نرى هنا. نحن تعيين صفر، صفر الى هناك. 2،0 و 0،2. لذلك يمكنك أن مجرد الوصول them-- إذا أي شخص من أي وقت مضى القيام به الجبر الخطي، بنفس الطريقة يمكنك الوصول إلى عنصر في وmatrice، انها نفس الفكرة هنا. لذلك أنت يمكن أن تتصل مرة أخرى إلى الرياضيات. كنت لا داعي للقلق للغاية الكثير عن هذا الحق الآن. أنه من الجيد أن يكون التعرض، لمعرفة ان كنت تستطيع ان تفعل ذلك. يمكنك إنشاء بعض مجنون number-- يمكنك إنشاء صفائف مجنون و جميع انا ذاهب الى القول. [غير مسموع] يحصل مجنون قليلا، ولكن هذا رائع حقا. رهيبة. ومن ثم، لذلك لدينا مثال هنا. يحسب طول السلسلة. حتى يعرف كيف كثير من الناس أن الجمل الذي تستخدمه هي مجرد مصفوفات من الحروف؟ حسنا، نعم. لذلك يا رفاق قد تعتقد أن لديك لا المصفوفات المستخدمة من قبل، ولكن في أي وقت استخدام getstring في مكتبة CSView، كنت في الواقع مجرد طلب مجموعة من الأحرف. ونحن رعاية جميع أن في الخلفية بالنسبة لك. ولكن كنت قد تم استخدام صفائف منذ كنت بدأت. أنت فقط لم تعرف بعد. وكلما كان لديك صفيف حرف أو مجموعة أن يخزن سلسلة، آخر شيء هو دائما ما دعا فاصل لاغيا، والتي هذا هو الحق هنا. وهذا هو في نهاية كل كلمة كنت تخزين. لذلك إذا أردنا معرفة طول سلسلة، يمكننا القول، حسنا، كما تعلمون، و محتويات تلك الكتلة ليس مساويا لدينا فاصل فارغة. وهذا يعني أن هناك بعض هناك الطابع أننا فعلا يهتم هذا جزء من الكلمة. يمكنك زيادة طول الخاص بك. ثم عندما كنا في الواقع الحصول على ل في نهاية الكلمة، وأنها سوف تنتهي وأنه سوف يعود طول بالنسبة لنا. Mmhmm؟ الطالب: هل الفضاء اعتباره فاصل باطل؟ أليسون: إذن هو فضاء لا فاصل فارغة. حتى إذا كان لديك مساحة multiple-- هو في الواقع قيمة ASCII محددة. الطالب: ما هو تعجب المساواة مرة أخرى؟ أليسون: إذن، هذا ما كنت أشير إليه. إذا سبق لك أن تسمعني في ساعات العمل، أدعو دائما، مثل، يساوي الانفجار. ذلك الانفجار ليست كذلك. وهذا ليس يساوي. حتى إذا كنت في محاولة ل معرفة ما إذا كان شيء ما هو زائف، كنت أعرف دائما القيام به، مهما كان الانفجار المتغير هو، وإذا كان كاذبا، فالتقييم إلى true ولك يمكن أن تفعل الاشياء باردة مع ذلك. أكثر على ذلك لاحقا. بارد. كل شيء جيد هناك؟ رهيبة. حتى الآن حان الوقت رفاق الخاص بك ل العمل، منذ كنت أتحدث. لذلك أريد منك أن مجرد إنشاء صفيف مع الأعداد الصحيحة واحد، اثنان، وثلاثة، ومن ثم يكون لهم طباعتها. لم يكن لديك القيام به، مثل، الرئيسي وكذا وكذا وكذا، أيا كان. أنا فقط أريدك أن تهيئة مجموعة ويخلق ثم لحلقة طباعتها out-- أو حلقة في حين، متروك لكم. أنا فقط تعطيك الزوجين دقيقة للعمل على ذلك. انا ذاهب للراحة صوتي. إذا كان لديك أي أسئلة، أنا سعيد للمجيء والتحدث مع يا رفاق. لا تتردد في التحدث مع بعضهم البعض. الحصول على المزيد من الحلوى. في الواقع، أنا فقط يتجول مع الحلوى. كيف هذا؟ هل تريد أي؟ أي شخص آخر في هذه القاعة يريدون الحلوى؟ يمكنك أيضا أن تأخذ أكثر من الرجال. تأخذ حفنة إذا كنت تريد. ويجوز كذلك. الجميع خير؟ موافق. أيضا، أنا ذاهب لخلق نموذج جوجل مجهول، ويا رفاق يمكن أن تقدم فقط ردود الفعل بعد كل قسم إذا كان هناك شيء تريد تحسينها أو شيء تريد القيام به. إذا أنا قليلا جدا مفعم بالحيوية بالنسبة لك، وأنا يمكن التخفيف من لهجته. أنا خلق ذلك وإرسال تلك خروج لكم جميعا بعد ذلك. حسنا. لذلك دعونا نبدأ الصغيرة. كيف يمكننا أن تهيئة مجموعة لدينا؟ ما هو نوع من مجموعة لدينا؟ عدد صحيح، أليس كذلك؟ حسنا، ماذا تريد دعوة مجموعة الخاصة بك؟ الباحث مجموعة، باردة. كل الحق، لذلك لدينا الباحث الباحث مجموعة قدم المساواة، وماذا لدينا بعد ذلك؟ الطالب: (غير مسموع) بين قوسين. أليسون: الحمالات. ثم داخل الأقواس؟ واحد فاصلة اثنين فاصلة ثلاثة. بارد. بحيث كل الحق. حتى الآن لدينا للحلقة. وذلك في الجزء الاول من للحلقة، ماذا لدينا؟ الطالب: أنا يساوي 0؟ أليسون: إذن كثافة العمليات ط يساوي 0، ثم ما هو شرط لدينا؟ ما أنا ذاهب لتكون أقل من؟ أقل من ثلاثة، و كيف أننا لا نقوم بتحديث أنا؟ أنا زائد زائد وتحديث من قبل احد. ثم نحن في طريقنا لديك بعض printf من عدد صحيح، وما هو آخر الجزء الذي هو في الواقع سأقول ما ينبغي لنا أن تطبع؟ سيكون اسم مجموعة، وهو مجموعة الباحث، أليس كذلك؟ وما هو في الأقواس من مجموعة الباحث؟ أنا. [؟ لذلك أنا؟] دعا لي سبيل المثال، ولكن هناك تذهب. ليس بهذا السوء. الجميع جيدا؟ بارد. لذلك نحن القيام به مع المصفوفات. تهاني. كنت تمكنت من تكرار من خلال كل the-- نعم؟ الطالب: [غير مسموع] أليسون: نعم. الطالب: لدي سؤال. هل من المفترض بمحاذاة أطراف الأقواس؟ أليسون: إذن الأقواس يجب أن يصطف مع لحلقة، وبعد ذلك كل شيء يجب أن تكون بادئة داخل الأقواس. الطالب: حسنا، ينبغي لل حلقة لتكون بادئة؟ أليسون: إن لحلقة لا تحتاج إلى تحريكها في هذه المرحلة. لو كنت في منزل، واذا كنا كان في الواقع المهمة الرئيسية هنا، فإنه سيتم تحريكها من الرئيسي. ولكن في هذه الحالة، لا بأس. نعم، سؤال. الطالب: هل يحتاج أن يكون بين قوسين بعد مثلا؟ أليسون: نعم، إذا كنت تهيئة الأمر على هذا النحو. لذلك تذكر، وهذا هو ثاني طريق تهيئة مصفوفة حيث لدينا الأقواس ثم لدينا الفعلية بيانات مفصولة بفواصل الداخل. الطالب: اعتقد هناك بين قوسين لهذا المثال. أليسون: لا، انهم الأقواس. انهم الأقواس. إذا كنت تهيئة عليه بهذه الطريقة الثانية، انها الأقواس. إذا كان لنا أن نقول، إن الباحث example-- أردنا مجرد مجموعة فارغة ل[إينتس]، سيكون قوسين سبيل المثال كثافة العمليات الثلاث. وتمثل الأقواس حجم. عندما يكون لديك الأقواس، انها البيانات الفعلية أنك تضع في الامر بهذه الطريقة. يمكننا أن انتقل إلى الوراء بسرعة. حتى في هذا واحد، وهذا هو فقط لدينا مجموعة الأولى، التهيئة. وهنا، نحن فردي تعيين البقع لهم، ولذلك فإن هذا يمثل مؤشر لدينا مجموعة، وهذا هو السبب لدينا قوسين. ولكن هنا، إذا لاحظت أن لدينا تركت بين قوسين لدينا دون الحجم، ونحن تهيئة ذلك مع البيانات الفعلية الكل في واحد مع الأقواس. الطالب: إذن لماذا لا علينا بين قوسين في هذا المثال؟ أليسون: إذن، في أي جزء؟ الطالب: لا ونحن مثلا، الباحث المثال قوسين يساوي الأقواس [غير مسموع] بين قوسين على سبيل المثال. أليسون: أوه، آسف. كنت على حق. لدينا قوسين هناك. الرجال آسف، بلدي سيئة. نعم، يجب أن يكون لديك بين قوسين بعد المثال. أنت محق تماما. الطالب: [غير مسموع] لا تفعل ذلك. أليسون: لا، لديك ل بين قوسين، لأن خلاف ذلك انها لن يعلن صفيف. الطالب: [غير مسموع]. آسف لذلك. أليسون: عذرا، تحتاج بين قوسين بعد المثال. الخطأ المطبعي. صيد ثمين، النجمة الذهبية بالنسبة لك. أيضا، إذا كنت تسأل سؤالا، إذا هل الرجال قل لي فقط أسماء الخاصة بك، أنا أحب ذلك. أحب أن تكون قادرة على تعرف كل ما تبذلونه من الأسماء. أنا لا أذهب للبرد ندعو لكم، وأنا في الواقع لا نريد فقط أن نعرف أسماء الخاصة بك. لذلك من فضلك قل لي في الواقع أسماء الخاصة بك. ليا: ليا. أليسون: ليا. موافق، لذلك functions-- أعرف باختصار تحدثوا عن ذلك خلال المحاضرة. حتى الوظائف هي نوع من مجرد مثل هذه الأشياء الصغيرة لدغة الحجم حيث كنت تمر في المدخلات، شيء يحدث السحرية، وتحصل على النواتج. بارد. لذلك يمكنك استخدامها في الواقع الكثير من هؤلاء بالفعل. حصول الباحث، الحصول على سلسلة والطباعة و. هذه كلها وظائف حيث كنت مجرد دعوة لهم، هناك الكثير من الأشياء السحرية يحدث في الخلفية إن كنت لا ترى بالضرورة، وتحصل على ما تريد. أو على الأقل تحصل ما كنت آمل تريد. وأساسا نقطة من الوظائف، واحدة من المواضيع الرئيسية للCS، هو كسر الشفرة إلى أجزاء يمكن التحكم فيها. عند البدء في كتابة هذه البرامج طويلة حقا، أو خدش عندما كان ل هذه فكرة عظيمة لعبة، عليك أن تكون قادرة على كسرها وصولا إلى، مثل، حسنا، كيف أبدأ؟ ما هي القطع الصغيرة التي احتاجها؟ أوه، أنا بحاجة إلى أن نسأل ل المستخدم عن شيء. الآن أنا بحاجة لطباعة شيء ما. أوه، أنا بحاجة لحساب هذه القيمة. وتعلم كيفية تفريق بك رمز ومشاكل كبيرة لك لدينا في هذه القطع الصغيرة وخلق وظائف هو في الواقع واحدة من حجر الزاوية كبيرة من CS. لذلك يمكنك التفكير في وظيفة مثلما مثل الصندوق الاسود، الصندوق الاسود السحري، التي وضعت الأمور في ويمكنك الحصول على بعض المخرجات. والباقي من البرنامج لا تحتاج إلى معرفة بالضرورة ما يحدث داخل هذا الصندوق الأسود. كل ما يهتم به هو ما يدور في وما يخرج. بارد. فلماذا ظائف؟ Organization-- كما قلت، عندما كنت التعامل مع قواعد رمز كبير جدا، كيف سيتم تنظيم التعليمات البرمجية يكون أسهل بكثير إذا كنت تستخدم وظائف. لأنك سوف تكون قادرة أن تكون، مثل، هذا موافق، هو ما تفعله هذه الوظيفة و وهنا ما احد آخر لا. ويمكنك ان ترى بسهولة كيف تناسب جميع معا. حتى كسرها يصل الى كل هذه subparts التحكم فيها. simplification-- لذلك أنا متأكد يا رفاق رأى كل هذا، كما قلت، مع خدش. لديك هذه الفكرة العظيمة، و كنت مثل، كيف يفعل كل هذا العمل؟ ولكن إذا كنت الاقتراب منه مجزأة، ويقول لك، حسنا، كيف يمكنني جعل شبح واحد تطفو عبر الشاشة؟ هذا هو أسهل قليلا. الاستخدام الجيد بحيث يجعل من وظيفة التعليمات البرمجية أسهل بكثير للقراءة. هذا يجعل الأمر أكثر سهولة لتصحيح والتي كما تحصل في مجموعات مشكلة لاحقة بك، وأنت تسير لحقا تريد أن تكون قادرة على القيام به. وانهم أسهل أيضا لتصميم وتنفيذ. يمكنك رمز تصل صغيرة تعمل بسرعة نسبيا وتأكد من أنه يعمل مقابل تحاول لإنشاء هذا البرنامج الطويل كله وبعد ذلك نوع من الذهاب من خلال و ترى ما هو العمل وما هو ليس كذلك. ومن ثم إعادة استخدام. حتى ظائف تحتاج فقط للكتابة مرة واحدة، ومن ثم يمكنك استخدامها عدة مرات ممكن. حتى انها، مثل، بمعنى صديقة للبيئة. إذا كان لديك أشياء مثل و الطباعة، حيث كنت وكان لكتابة السحر الذي يذهب وراء طباعة و في كل مرة واحد أردت طباعة شيء ما، كنت أن يكون مريضا جدا وتعبت منه بحلول نهاية. واحدة من الأشياء التي عليك تعلم في وقت لاحق من فصول CS، أو واحدة من أفضل قطعة من المشورة أحصل هو، إذا كنت تقوم بنسخ ولصق رمز، ربما كان ينبغي أن يكون وظيفة. إذا كان لديك بالضبط نفس خطوط جميع أنحاء الشفرة الخاصة بك، إذا كنت يؤخذ بها، سوف الشفرة ربما يكون، مثل، خمس مرات أقصر وتكون أكثر من ذلك بكثير سهلة القراءة. وبدلا من محاولة استكشاف كل هذه الأماكن المختلفة حيث الأشياء قد يذهب على نحو خاطئ، لديك وظيفة واحدة أن تحصل على استكشاف. وأعدكم، والكثير من هذه قد يبدو نوع من التجريد الآن، ولكن كما تحصل في وقت لاحق وتحدد المشكلة لاحقة، انها سوف تجعل الكثير من المعنى وحقا أن تكون مدفوعة المنزل. هل هناك أي أسئلة عن وظائف حتى الآن؟ لماذا نستخدمه لهم؟ وأنا أعلم أننا لم نصل في نيتي] رملية بعد. حتى تحديد function-- تماما مثل المصفوفات، ونحن بحاجة إلى نوع هذا of-- هو مجرد الناتج العام. لذلك هذا هو وظيفة هذا مجرد الذهاب إلى مكعبات بعض المدخلات. وعلى الصفحة التالية، في الواقع، لدينا كل هذه أشياء صغيرة رهيبة هنا. لذلك، يمكن للجميع قراءة ذلك، من باب الفضول؟ وأنا أعلم أن البنفسجي والأسود قد يكون من الصعب قليلا. لكن الأمور الكبيرة إلى know-- ذلك أول واحد هنا هو لدينا نوع الإرجاع. لذلك هذا هو الحديث عن الانتاج هذه الوظيفة عندما، في هذه الحالة، وضعنا في بعض الأرقام، ما نحن يحصل هو أن عدد مكعبة. لذلك ينبغي أن يكون الباحث في هذه الحالة. ربما سيكون ضعف أو شيء آخر في وقت لاحق، ولكن في هذه الحالة، انها عدد صحيح. مع ج، وكنت دائما في حاجة إلى نوع الإرجاع. أنه سوف يكون عدد صحيح. انها سوف تكون تعويم. انها سوف تكون مزدوجة. ولكن عليك أن تحدد ما هذه الوظيفة سوف يعود. وإلا فإنه سوف يصيح في لك، وانها لن تجميع. عليك أن تكون حزينة، وسأكون حزينا. وانها مجرد ليست جيدة. موافق. ثم لدينا اسم الدالة. وكما ترون هنا، مع ج يوجد هذا النموذج متسقة للغاية. ما هو نوع الخاص بك، ما هو اسمها، وبعد ذلك بعض الشيء الآخر في نهاية المطاف. لذلك نحن لدينا نوع الإرجاع، لدينا اسم وظيفة، ومن ثم لدينا لدينا مع رأس قائمة المعلمة لدينا. حتى قائمة المعلمة، ما هو هذه الوظيفة سوف تتخذ في؟ قائمة المعلمة هي ببساطة مرادفا لل، ما هي المدخلات لدينا؟ وبنفس الطريقة التي كنا يجب أن تحدد وظيفتنا وإعطائها عودة اكتب كل المدخلات لدينا تحتاج إلى وجود نوع المرتبطة به. حتى نعرف ما لدينا وظيفة يمكن أن تعمل مع الواقع. حتى في هذه الحالة، لدينا بعض المدخلات كثافة العمليات. ذلك مرة أخرى، وأنها سوف تكون من نوع وما كنت تتصل عليه. ومن ثم، وكما ترون هنا، لدينا الجسم. لذلك لدينا بعض الانتاج الباحث، أن هو مجرد عصرنا مدخلات نفسه الأوقات نفسها، والتي مكعبات فقط. ثم نعود ان الانتاج. هكذا كما ترون هنا، لدينا كثافة العمليات مرات في الأوقات كثافة عدد صحيح، لذلك بإرجاع كثافة العمليات التي وقد أعلن هناك. حيث كل شيء متماسك. كل شيء سعيد. سيتم تشغيل وظيفة الخاص بك. وهذا هو مجرد شيء عام. بحيث يكون دائما نوع الإرجاع، اسم، وقائمة المعلمة الخاص بك. كل شيء في حياتك قائمة المعلمة، أو المدخلات، تحتاج إلى وجود نوع المرتبطة به. ثم لديك الخاص بك جسد هنا مع كل ما تريد أن تفعل مع المدخلات الخاصة بك. ثم من الواضح انكم يريدون العودة شيئا. وظائف في بعض الأحيان سوف يعود فقط. وهم لا يرجعون الواقع شيء لتتمكن من استخدامها. ولكن عليك أن تعود بطريقة ما. وعند الانتهاء من إصدار وظائف خاصة بك، يمكننا أن ندخل أعمق قليلا. شخصيا، إذا كنت تريد، وهناك الكثير من الأشياء المختلفة التي يمكن القيام به هناك. الجميع جيدا؟ أي شيء في هذه القائمة التي تريد مني أن يذهب أكثر، أنك لم تفهم؟ الجميع جيدة هناك؟ بارد. رهيبة. موافق، لذلك نحن نضع كل هذا معا الآن. لذلك لدينا بعض المدخلات الباحث مكعب، لذلك هذا هو البرنامج الكامل هنا. حتى الآن، لقد نوع من تم إعطاء لك قصاصات الرجال التي قد يذهب داخل البرنامج. لقد تم للتو تبحث في الوظائف. ولكن هنا برنامج كامل. فكيف الكثير منكم يتذكر كلمة النموذج من المحاضرة؟ بارد. لدينا واحدة. ما اسمك؟ إضافة تعليق: إضافة تعليق. أليسون: إضافة تعليق؟ OK، رهيبة. لذلك، هل تذكر ما هو النموذج؟ الطالب: أنت تقول [غير مسموع] قبل كنت فعلا التعامل معها. أليسون: هل تذكر لماذا؟ الطالب: لا. أليسون: موافق. نجمة ذهبية. لذلك نعم، نموذجا أوليا لدينا قبل ذلك، لأن خلاف ذلك، مترجم لدينا هو الذهاب الى الصراخ لنا. انها سوف نقول، حسنا، ما هي وظيفة هذا المكعب؟ مثل، لديك حرفيا قال لي شيئا عن هذا. انها مثل عندما كنت المشي الى الفصول الدراسية، وشخص ما مثل، هناك مسابقة اليوم. وكنت مثل، أنت قال لي أبدا حول هذا الموضوع. لست سعيدا معنا. النموذج هو في الأساس مثل المنهج الخاص يقول، نظرة. رؤساء متابعة. هناك ستكون مسابقة في هذا اليوم. لا يفزع عندما تحصل عليه. وأنت تسير على ما يرام. لذلك كل ما هو النموذج الأولي لا تخبر الرئيسية، وانا ذاهب الى استخدام هذه الوظيفة. اتعهد انا تحديده لاحقا. لا يفزع في وجهي. مجرد تجميع وتفعل ما أقول لك. لذلك لدينا النموذج هناك فقط لجعل لدينا مترجم سعيدة. وانها في الاساس عملية الوعد الذي كنت قد حددت في وقت لاحق هذه الوظيفة وأنك لا تدعو فقط هذا شيء عشوائي أنه لا تعرف ما كنت الذهاب الى ما تقوم به. حتى في هذه الحالة، لدينا الرئيسي هنا. نحن تهيئة بعض صحيحا س. هذا هو اثنين. ونحن في طريقنا لطباعة ما x هو. نحن ذاهبون الى مكعبات س. كما ترون، لدينا إعلان وظيفة إلى هنا أننا تحدثنا عن سابقا. انها سوف مكعبات السينية، ومن ثم، إذا كنا تذكر، وظيفة مكعب في الواقع بإرجاع عدد صحيح ل لنا، والتي يتم تخزينها في العاشر مرة أخرى حتى نتمكن من طباعة خروج ثمانية، أو المكعب س الآن. فهل يعقل أن الجميع؟ نحن في حالة جيدة؟ حسنا. رهيبة. حسنا. كم منكم الرجال نتذكر هذا حتى هذا هو أساسا مجرد الخاص بك المكدس وكومة الخاص بك، مجرد تصور كيف يتم تخزين الذاكرة هنا. لذلك نحن نريد فقط لجعل تأكد من أنك تفهم كيف يتم تمثيل هذه في الذاكرة. إذا كنت تأخذ الطبقات مثل CS61 والاشياء في وقت لاحق، يمكنك الحصول على معرفة هذا أكثر بكثير في العمق، وانها حقا بارد. أنا أوصي به. لكنه الآن، سأعطيك لك نظرة عامة واسعة لذلك لم يكن لديك ل تعرف نيتي] رملية. حتى الجزء العلوي مجرد جزء النص الذي يحتوي على الأصفار الفعلية ومنها، ثنائي لذلك. وهذا يستخدم لتخزين المتغيرات العالمية إذا كان لديك أي. وأنت تتحرك إلى أسفل، ونحن لديهم، كما ترون هنا، تهيئة البيانات، غير مهيأ البيانات، ومن ثم الكومة. لذلك نحن لا نتحدث حقا حول كومة الآن. أننا سنصل إلى وقت لاحق. الآن، أنا مجرد الذهاب الى موجة يدي ويكون مثل، أنت لست بحاجة إلى أن تعرف عن هذا الآن. ولكننا سوف نتحدث قليلا قليلا عن المكدس. حتى المكدس where-- لدينا تكبير. هذا هو في الواقع كيف يمكن للبرنامج نحن فقط نظرت يحدث في الذاكرة. فما يحدث هو، كل الوقت نسميه وظيفة، نحصل على ما يسمى كومة الإطار، والتي تعد واحدة من هؤلاء. المعالم الرئيسية لذلك. حتى تلك هي الأشياء أننا تنتقل إلى منزل. حتى انهم هنا في الأسفل، لأن هذا هو أول شيء نسميه. ثم نصل إلى الرئيسية السكان المحليين، وعندما نقول ذلك، نحن هنا نتحدث عن المتغيرات المحلية التي يتم تخزينها داخل الرئيسي. حتى السكان المحليين هنا سيكون مثل، س يساوي اثنين في هذه القضية. لأن ذلك هو محلي إلى الرئيسية. هل يتذكر الجميع نطاقها، يذهب أكثر من ذلك في محاضرة؟ موافق. لذلك، فقط المتغيرات التي يتم تهيئة ضمن الرئيسي. ولهذا السبب لدينا [الرئيسي؟ غناء. ؟] ثم داخل الرئيسي، فإننا ندعو مكعب. أليس كذلك؟ حتى نحصل على إطار آخر مع معلمات المكعب. حتى في هذه الحالة، المكعب المعلمات الآن س التي مررنا فيها، البلدين التي مررنا فيها. ثم السكان المحليين مكعب، والذي هو حيث يحدث التكعيب الفعلي. ومن ثم فإنها ترجع. فما يحدث هو في الواقع لا كما مكعب ما يفترض القيام به، فإنه يعود. عندما يعود، ويترك هذا الإطار، وعاد وصولا الى منزل. ثم ضمن رئيسي، نحن يمكن طباعته فعلا. لذلك عندما كنت تعود شيئا، عندما ترجع الدالة الخاص بك، انها مثل تمر على تلك القيم ل إطار تحتها ثم يغادرون. والأشياء لها لتنفيذ بالترتيب. وعند الوصول إلى برامج أكبر، يمكننا أن نجعل برودة وأكثر تعقيدا الرسوم البيانية. ولكن الآن، وهذا هو مجرد لمحة عامة بحيث يكون لديك نوع من فهم ما يحدث عندما كنت تتصل وظيفة وكيف تبدو في الواقع في الذاكرة. بارد؟ الجميع جيدا؟ رهيبة. لذلك هذا هو واحد هو أن مجرد محاولة لمبادلة الأشياء. كما نرى هنا، لدينا لدينا نموذج وظيفة ذلك أن المترجم لدينا لا يصيح علينا. لدينا بعض الأحوال، ونحن تريد أن تتحول x و y. لم تفعل هذا فإنها التجريبي في محاضرة بعد، يتعين عليهم؟ لديهم لا؟ موافق. لذلك نحن في طريقنا للذهاب على هذا لفترة وجيزة جدا. سوف تحصل في هذا المثال أكثر في العمق، أعتقد أن هذا الأسبوع. ثم الأسبوع القادم نستطيع حقا يغوص هذا السبب لا يعمل. لذلك لدينا هذا الفراغ وظيفة here-- المبادلة. الفراغ بحيث يعني فقط أن يتم إرجاع أي شيء. وعلينا مقايضة الباحث عن الباحث وب. ولدينا بعض مؤقتة هذا هو المتغير. ويحصل المخصصة لB، ومن ثم ب يحصل المخصصة لدرجة الحرارة ذلك أن وباء الآن يتم تبديل القيم. ولكن، مؤامرة تحريف، وهذا لا يعمل. وجزء من ذلك له فعلا للقيام مع حقيقة أن وباء هنا، تلك التي تحصل مرت في هنا، هي في الواقع نسخ من x و y. لذلك عندما تقوم الدالة بإرجاع الواقع، ومفاتيح نسخ ولكن ليس س الفعلي و y ل. حتى طريقة واحدة للتفكير في الامر هو that-- التظاهر هذه المبادلة. موافق؟ حتى في الأحوال، لدينا x و y تهيئة. ولكن عندما نذهب فعليا حتى لهذه الأطر مع المبادلة نحن تمرير القيم عبر إلى ذلك، وانهم تهيئة. وأنها من أي وقت مضى فقط يعيشون هنا. لذلك وب يعيش هنا. ويحصلون على تبادلت. ولكن عندما نعود، ونحن لا فعل أي شيء مع وب. و وب إجازة مع وظيفة لدينا. وهكذا x و y تبقى نفسها. ستحصل أكثر في كيفية إصلاح ذلك و كيف ونحن في الواقع التعامل مع ذلك لاحقا. ولكن هذا شيء واحد فقط للحفاظ على نوع من في الاعتبار. استخدامها في المستقبل. لا تقلق إذا لم تجعل كل معنى في العالم. هم نسخ هي أهم شيء. إذا كنت تريد الذهاب لأخذ أي شيء بعيدا عن ذلك، أنت الذي صدر في نسخة. لذا أصول تبقى نفسها. الجميع جيدا؟ بارد. لذلك وسائط سطر الأوامر. أنا متأكد في البداية يا رفاق جميع وكان هؤلاء، مثل الفراغات الرئيسية كثافة العمليات الكبيرة. وكنت مثل، باردة موافق. لا يهمني حقا. هذا هو بالضبط ما لا بد لي من الكتابة. ولكن في البرامج الجديدة، خصوصا في هذا PSET، ولماذا هناك الطباشير على الأرض؟ مع PSET الخاص بك المقبل، كنت ستكون رؤية هذا. الباحث الرئيسي، الباحث ARG ج، سلسلة القوس الخامس، بين قوسين. لذلك، من ما نحن فقط تعلمت اليوم، ما لا نعتقد أن المعلمة الثانية أو أن العنصر الثاني هو هنا؟ انها صفيف. ما هو نوع من مجموعة؟ مجموعة سلسلة، نعم. بارد. ولهذا كيف وأنت تسير أن تعلن هذه الآن. هل يتذكر أحد ما هذه الوقوف ل؟ لا؟ هم؟ الطالب: ARG ج. أليسون: إذن ARG ج تبقي عداد. إنها كثافة العمليات. انها عددا، أليس كذلك؟ فما رأيك أن العدد هو من؟ نعم. حتى ARG ج هو عدد السلاسل التي تشكل سطر الأوامر. حتى لو كنا في do-- الواقع، هناك أمثلة بعد ذلك، ولذا فإنني لن نسبق نفسي. انها عدد من السلاسل التي مجرد يشكلون سطر الأوامر الخاص بك. لذلك عندما قمت بذلك، مثل دوت خفض ماريو، هذا هو الخيط الوحيد الذي يجعل الامر. في هذه القطعة، عليك أن تكون واقعيا تغذية الأمور في سطر الأوامر، وأنا على يقين يا رفاق الذين قرأت المنشار المواصفات. حتى في تلك الحالات، ربما عليك لديك اثنين أو ثلاث حجج. انها سوف يكون أمرا مفيدا للاستخدام. ثم ARG الخامس، كما قلنا، هو مجرد مجموعة السلسلة. بحيث يخزن في الواقع ما يمكنك إدخال في سطر الأوامر. لذلك لدينا هذه. لديك بعض مائل نقطة نسخ OUTFILE INFILE. لذلك، إذا ARG ج هو عدد الجمل اننا يمر في الأمر الخط، ما هو لدينا ARG ج في هذه الحالة؟ ثلاثة. بالضبط. إذن ما هو ARG v من الصفر؟ فما هو أول شيء قمنا تخزينها؟ نقطة خفض نسخة، بالضبط. ومن ثم فإن الثاني يكون INFILE. ان يكون ثلث OUTFILE. فكيف ARG ضد ثلاثة؟ سيكون لاغيا، لأن هذا نهاية مجموعة لدينا، أليس كذلك؟ بارد. ثم ماذا عن واحدة السادس؟ انها نوع من السؤال خدعة. العش. لا نعرف ما هو؟ انها غير معرف. ليس لدينا أي فكرة عما يمكن أن يكون. انها كل ما هو حق بعد المصفوفة في الذاكرة، وليس لدينا أي فكرة ما هو. وهذا أمر خطير للمس تلك الأشياء، لأن للجميع تعلمون، انها جزء من الذاكرة التي لا ينبغي أن يكون الوصول أو باطل. ويمكن أن تفعل أشياء مجنونة. انه دعا الإفراط في الفهرسة لديك متجهة إلى مجموعة الخاصة بك. لا تذهب خارج حدود الخاص بك مجموعة، أو الأشياء السيئة يمكن أن يحدث. كنت أعود و، مثل، قوانين الفيزياء دمرت أو شيء من هذا. بارد. فهل يعقل أن الجميع؟ ليست سيئة للغاية. حتى الآن، الجميع الجزء المفضل، مراجعة PSET. ياي! موافق. حتى بالنسبة لأولئك منكم الذين لم أقرأ المواصفات PSET، تقومون به بعض الحقيقة الاشياء باردة مع التشفير. وأنت تسير لإنشاء قيصر الشفرات وVigenere الصفر. يجب عليك بالتأكيد قراءة المواصفات لنرى كيف أن هذه الأعمال. وإذا كنت تواجه أي مشكلة حول ما ينبغي أن تفعله في الواقع، يرجى يأتي الحديث بالنسبة لي، البريد الالكتروني لي أو نص لي. أنا حولها. لذلك هناك ثلاثة الرئيسي الأشياء هنا أننا أريد أن أتحدث about-- مجرد نوع وامتدادا للمحاضرة. الأشياء التي قد لا يعرف حول، وتلميحات وأدوات مفيدة. لذلك نحن ذاهبون للقيام مراجعة سريعة لASCII، لأن ذلك سيكون السوبر المهم بالنسبة الشفرات Vigenere ل. نحن في طريقنا لتحويل المدخلات سطر الأوامر، التي سوف تكون مفيدة جدا للقيصر الصفر. ثم MODULO. بارد. لذلك، ASCII خرائط الأحرف إلى أرقام. هذا هو مخطط كبير. يجب أن يكون هذا إشارة مرجعية في مكان ما. هل تريد ذلك ل الخاص بك الأول منتصف المدة. وأنا متأكد من كل من لديه هذا الرسم البياني على ورقة منتصف الأجل. حتى معرفة ذلك. أحب ذلك. يبقيه في متناول يدي. أنه سوف يكون من المفيد. وكل ما هو هو ترميز أن خرائط أبجدية، رقمية، وشخصيات أخرى ل أرقام لجهاز الكمبيوتر الخاص بنا. لأنه بطبيعة الحال، في نهاية، كل شيء نقوم بتخزين هو الذهاب الى الحصول على تحويلها وصولا إلى أصفار ومنها، لذلك نحن بحاجة إلى طريقة لتمثيل النص والشخصيات التي نحن جميعا تستخدم لرؤية كنوع من العدد. لذلك كما نرى هنا، لدينا الأحرف الكبيرة A، الذي هو حق هناك. انها 65. والصغيرة (أ) هو 97. حتى تتمكن من معرفة out-- كما قلت في وقت سابق، إذا كان لديك مجموعة من متعددة سلاسل، ما كل واحد منهم لدينا فاصل فارغة. سيكون من الفضاء. مساحة ديه special-- تلقاء نفسها أنسى أين هو هنا. آه. 32 هو الفضاء. لذلك كل شيء الخرائط لذلك. لذلك لدينا ASCII الرياضيات. المؤيد tip-- في لVigenere، كنت قد تميل لتحويل الأرقام الخاصة بك إلى أعداد صحيحة، ولكن من الناحية العملية في الواقع أفضل لتكون قادرة على استخدام شخصيات مثل هذا عندما كنت في الواقع التلاعب بها. حتى إذا كنت تريد استخدام الأرقام، يمكنك. ولكن بطريقة أفضل، أو بطريقة ونحن نميل إلى مثل يا رفاق لتفعل ذلك، وبهذه الطريقة حيث كنت طرح فعلا حرفا. لذلك أريد يا رفاق ل نوع من معرفة هذه خارج. لماذا لا تحاول كل واحد آخر؟ هكذا يفعل الأول، و الثالث، والخامس واحد. لأنني أريد أن تأكد من أن نتحدث عن كل شيء نحن بحاجة للحديث عنها. أنا فقط أريد أن أقول، واحدة من أشياء مهمة علي: يا الانتظار، لم أر يا رفاق هذا واحد. موافق حتى القيام الثلاثة الأولى. دعونا نفعل ذلك. لأن لدينا للحديث عن مودولو. وأنا أعلم. الرياضيات هو الثابت. يمكنك استخدام الآلة الحاسبة. لا بأس. أو سحب جدول ASCII، ل ربما كنت تريد الذهاب الى ذلك. بارد. ولذا فإنني سوف يسير بسرعة يا رفاق من خلال هذه. لذا فقد انسحبت الناس الجداول ASCII يصل؟ ما هو لدينا رقمية عدد لصغيرة و؟ الطالب: سبعة. أليسون: صغيرة لذلك هو 97 والأحرف الكبيرة (أ) هو 65. حتى 97 ناقص 65؟ الجمهور: 32؟ أليسون: 62، نعم. حتى في هذه الحالة، ما فإنه طباعة؟ أن أول واحد؟ إذا كان لدينا في المئة د، ما من شأنه أن يدل؟ الطالب: عدد. أليسون: نحن الطباعة من العدد الفعلي. لذلك نحن ذاهبون فعلا لطباعة 32 هنا. وإذا كانت هذه النسبة ج، 32 ان يعطينا الفضاء. ذلك أن فهم شخصيات يمكن طباعة سواء كأرقام وكما الأحرف الفعلية من المهم حقا، ودفع الانتباه إلى أنواع الفعلية أن نقوم به هنا. بارد. لذلك على كل واحد من هؤلاء الآخرين، ما نحن ذاهبون إلى أن تطبع؟ الطالب: حرف. أليسون: إن شخصية. بارد. حتى إذا كنت تريد أن تعرف الرجال، وكنت يمكن أن تعمل هذه بنفسك. إذا كنت تواجه مشكلة، والبريد الإلكتروني لي. ولكن ثانية واحدة سوف طباعة أحرف صغيرة ب. الثالث واحد سوف تطبع و B. الأحرف الكبيرة والرابع واحد سوف طباعة من الأحرف كبيرة C، و آخر واحد ستكون صغيرة A. وآخر one-- نحن ذاهبون فعلا للوصول الى ما الذي المئة مجنون علامة يعني حتى في الشرائح زوجين. لذلك حاول هؤلاء بنفسك. إذا كان لديك مشكلة، يرجى يأتي الحديث بالنسبة لي. إذا كنت عادة في آدمز D القاعة، عليك ربما تجد لي حولها. لذلك، atoi. كم كنت قد رأيت هذا وظيفة أو سمع منه على الإطلاق؟ أي شخص؟ بارد. لذلك ما هو عليه في الواقع لهو ASCII إلى عدد صحيح. ذلك ما يمكنك القيام به هو، مع قيصر، بالنسبة لأولئك الذين يقرأون المواصفات، كنت تنوي القيام به نقطة مائل قيصر بعد أن تكتب البرنامج، ثم كنت تريد الذهاب ل إدخال بعض الرقم الذي تريد لتشفير الرسالة السرية الخاصة بك مع. ولكن، إذا كنا نتذكر، كل من يتم تخزين المدخلات كسلاسل. أليس كذلك؟ لدينا ARG ضد مجموعة هذا هو كل نوع السلسلة. حتى إذا كنت مجرد محاولة ل سحب هذا واحد، فإنه أعتقد أن هذا واحد أو أي عدد استخدمته هو في الواقع شخصية. حتى وأنت تسير في الحصول على بعض النتائج مجنون. حتى إذا كنت فعلا تريد تحويل هذا إلى عدد صحيح التي يمكنك استخدامها للتلاعب كلمة أو رسالتك، سترغب في استخدام atoi. atoi يحول فقط سلسلة الخاص بك إلى int. حتى إذا كان لدينا سلسلة من 12، إذا نسميه atoi في 12، أو أيا كان ذلك الإدخال، فإنه سيعود فعلا للك صحيح. ليس حرف أو سلسلة 12. والتي، عند بدء تشغيل إضافة إلى أن الأرقام و سوف تكون مختلفة جدا، لأن سلسلة هي 12 بعض الجنون في عدد ASCII، ولكن عدد صحيح 12 هو في الواقع 12، وهو ما تريد. لذلك كنت ترغب في التأكد من استخدام atoi. كنت تريد الذهاب الى هذا في قيصر، لأنك تحتاج إلى كثافة العمليات التي قدمتها المستخدم في سطر الأوامر. ولكن عندما وضعه في الأمر الخط، ويتم تخزينها كسلسلة لتبدأ. هل هذا يعقل؟ كنت لا بالضرورة تحتاج هذه لVigenere. مع Vigenere، كما قلت من قبل، يجب أن تحاول استخدام و ASCII الرياضيات التي تبدو أكثر مثل هذا، حيث كنت فعلا باستخدام حرف أننا نظرا للكم. بارد. الجميع جيدة هناك؟ رهيبة. حتى مودولو. فماذا لو كنت أعطيت هذا العدد الضخم لقيصر؟ لديك هذه الفكرة التي إذا كنت في Z، وكنت نظرا لعدد اثنين، وهذا يعني انك need-- Z يصبح ثاني بعد خطاب نفسه، أليس كذلك؟ لذلك تحتاج إلى التفاف حولها بطريقة أو بأخرى، ومودولو هي الطريقة للقيام بذلك. لذلك كل ما يفعله هو أنه يعطيك الباقي من تقسيم العدد الأول والثاني. ولدينا بعض الأمثلة ل جعل ذلك أكثر واقعية قليلا. لكن في الأساس، يمكنك استخدام مودولو عند أريد أن أصنع شيئا التفاف حولها. حتى إذا كنت ترغب فقط أرقام واحد خلال ثمانية، يمكنك استخدام مودولو على أي دولة أخرى عدد، وسوف دائما العودة عددا من صفر إلى ثمانية. وحتى بعض examples-- إذا لدينا 55 مودولو 10، أنه يعطي فقط لك ما تبقى من 55 مقسوما على 10، والتي ستكون 5. ثم ثلاثة مودولو خمسة، أي شخص تخمين ما الذي سيكون؟ ثلاثة. حتى إذا كان لديك عدد أصغر قبل ومودولو، فإنه لا يمكن أن تذهب في بالتساوي. انها الصفر. لذلك فإنها ترجع فقط العدد نفسه. حتى ثمانية مودولو ثمانية سيكون؟ الطالب: صفر. أليسون: صفر. لأنه يذهب في بالتساوي. 16 MODULO 15؟ الجمهور: واحدة. أليسون: بارد. ثم هذا الأخير هو واحد فقط ل عرض you-- هل يمكن أن يتساءل، OK، ما هو ترتيب العمليات هنا؟ هل نحن نقسم أولا؟ هل نحن MODULO أولا؟ حتى مودولو يحمل نفس الأسبقية كما القسمة أو الضرب، والجمعوية في اليسرى. حتى انها في نفس الطريق. كنت تفعل دائما بين قوسين، ثم الضرب، القسمة، ومودولو بالترتيب من اليسار إلى اليمين. قواعد موحدة لذلك. مجرد وضعها في نفس الفئة كما الانقسام والتكاثر. حتى في هذه الحالة، فإننا سوف لدينا 1 زائد 2 يعطينا 3. ضربنا التي كتبها 2، حتى نحصل على 6. نحن MODULO التي كتبها 2، مما يعطينا؟ الطالب: 0. أليسون: 0. ثم نضيف 2، لذلك نحن الحصول على 2 في هذه الحالة الأخيرة. حتى modulo-- أنت تسير بالتأكيد ل يمكن التفكير في سبل لإدماج أنه عندما كنت التفاف حول الأبجدية. إذا كنت في Z وتحتاج إلى نقل ترسل ثلاث مسافات للوصول إلى C، يوجد هذا المفهوم كله للالتفاف حولها. ولذا فإنني سوف نترك الامر ل يا رفاق لمعرفة بالضبط كيف كنت تريد الذهاب ليكون استخدامه. ولكن بالتأكيد أداة مفيدة لPSET بك هذا الاسبوع. أنا حقا أحب هذا. هذا هو واحد من بلدي المفضل psets. ثم بعد أن تفعل ذلك، إذا كان لديك أصدقاء، يمكنك، مثل، وإرسال كل سرية أخرى الرسائل وتأكد من أنه يعمل. لأنه سوف فك تشفيرها أو أيا كان. الكثير من المرح. وهذا هو نهاية القسم. انتهيت في وقت مبكر. لا يزال لدي 15 دقيقة مع يا رفاق، لذلك إذا كان هناك أي شيء إن كنت ترغب في أن يذهب أكثر أبعد من ذلك، وسأكون سعيدا للقيام بذلك. أي أسئلة أخرى على PSET الخاص لأولئك منكم الذين بدأوا أو قراءة المواصفات. كل ما تحدثنا في حوالي الساعة الأخيرة و15 دقيقة التي ترغب لي إلى نوع من إعادة صياغة، وسأكون سعيدا ل. أو يمكن أن نطلق عليه إنهاء، ويمكنك ترك كل واتخاذ المزيد من الحلوى معك كما تذهب. ولكن إذا كان هناك أي العالقة أسئلة، واسمحوا لي أن أعرف. يمكنك أيضا الخروج و يتحدث معي بعد ذلك. أعدك أنني لا يعض. أي شيء آخر؟ الجميع جيدا؟ شعور الجميع مثل يمكنهم التعامل مع هذا PSET؟ كنت على وشك أن اللاعبين بخير. ساعات العمل هناك لسبب ما. بارد. حسنا. حسنا، في هذه الحالة، وشكرا لكم جميعا كثيرا على حضوركم. آمل أن أراك الأسبوع المقبل. سيكون هناك المزيد من الحلوى. قد يكون هناك أشياء باردة أخرى. وإنني أتطلع إلى الحصول على أن يعرف كل واحد منكم هذا العام.