ZAMYLA تشان: يا الجميع.
مرحبا بكم في القسم.
اليوم هو مجرد الذهاب الى أن يكون كل مسابقة مراجعة للمسابقة الخاص يوم الاربعاء.
وأرجو من الجميع أن يتذكر لديهم مسابقة يوم الاربعاء.
وإذا كنت لا، حسنا، الآن كنت قد ذكرت.
حتى الاربعاء تأكد من تظهر لفئة أو أماكن أخرى
الضرورة.
يا رفاق سوف تكون رهيبة.
انها سوف تكون كبيرة.
وانا ذاهب الى القيام بكل ما بوسعي للمساعدة في إعداد لكم اليوم عن مسابقة الخاص بك
الآن.
وأيضا في حال كنت لا أعرف، هناك بالطبع دورة الاستعراض واسعة
اليوم في 7:00 في مختبرات شمال غرب الغرفة B103.
يمكنك ان ترى لي مرة أخرى إلى الظهور من جديد كما وسوف تؤدي جزءا من هذه الدورة مراجعة
أيضا.
لذلك إذا كنت لا تستطيع الحصول على ما يكفي من لي الآن، يمكنك أن تأتي مرة أخرى هذه الليلة.
>> كل الحق، حتى الأشياء الأولى أولا.
فقط بعض النصائح قبل أن مسابقة الغوص في الواقع لمراجعات.
لذلك كما هو الحال مع أي امتحان، والممارسة سوف تساعد بالتأكيد أنت خارجا.
هناك امتحانات من الماضي ست أو سبع سنوات هناك،
حتى أن الكثير من الممارسات مواد ليا رفاق لديهم.
و في الواقع، اليوم هو حقا فقط على وشك أن يحدث على أي الموضوعات
أن يا رفاق لديك أسئلة حول فضلا كما تعمل من خلال الممارسة المشاكل
مسابقة من الصفر.
ولذا فإنني سوف يلقي مسابقة الصفر من العام الماضي هنا،
ويمكننا العمل من خلال أي مشاكل أن يا رفاق يود أن.
>> حتى ممارسة.
وأنت تسير لتبدأ في فعل ذلك اليوم.
كود على الورق.
لذلك نعم، إذا الجميع يمكن أن تحصل فعلا
الورق، والتي سوف يكون كبيرا، لأنك لا
ستكون لدينا جهاز الكمبيوتر الخاص بك على الامتحان والكتابة خارج رمز باليد
غالبا ما يكون أكثر صعوبة بكثير مما قد تتوقع.
تعودت عليها فقط رؤيتها وكتابتها،
وكان لديك مترجم ل مساعدتك عندما يكون لديك أخطاء،
ولكنك لا تحصل على هذا في الامتحان.
لذلك فمن المهم حقا أن الواقع تكون قادرة على كتابة رمز،
وأن الذاكرة العضلات للقيام باليد سوف تساعد حقا لك.
>> لذلك نحن نحصل على القليل من نهايته.
انها الاثنين.
الامتحان الخاص بك هو يوم الأربعاء.
ولكن إذا كان لديك الوقت، بالتأكيد تأخذ واحدة
الامتحانات من العام الماضي أو قبل عام في ظل ضيق الوقت
من ساعة ونصف.
مجرد ضرب من ساعة ونصف من الزمن،
والجلوس نفسك إلى أسفل، و فقط العمل من خلال المشاكل
كما لو كنت في الواقع الاستيلاء عليها، لأن واحدا
من أكبر الأشياء التي نسمع فيها عن مسابقات هي أنها طويلة جدا.
ومن الكثير من المواد.
هناك الكثير من الأسئلة، ومعظم الناس قد لا ينتهي.
وأنا أعلم أنني لم أكن الانتهاء تماما مسابقات بلدي عندما أخذت الطبقة.
>> في تلك المذكرة، باعتبارها أقل القسم مريحة،
نفهم أن هذا بالطبع هو المقصود لتلبية احتياجات الناس من جميع المستويات.
السبب كله لدينا لك تقسيم أقل راحة، في مكان ما بين،
وأكثر راحة هو ل نوع من جعله أكثر إنصافا.
وإذا كنت أقل راحة، انها ليس ضروريا في حد ذاته للحصول على كل شيء.
كما لو كنت الحصول على كل شيء، وكنت ربما
يكون في القسم أكثر راحة.
ومن الواضح أن ذلك لا تغلب أنفسكم من الصعب جدا إذا لم تتمكن من الانتهاء من الامتحان.
اخذها مني، وأنا لم أفعل ذلك.
ما زلت مكثف.
ما زلت مساعدة تدريس الدورة.
سوف يكون على ما يرام.
حسنا.
وأخيرا، والحصول على بعض النوم.
من الواضح مع أي امتحان نقول هذا دائما.
هدفهم في الليلة السابقة وعدم الحصول على أي النوم
لا not-- ربما لو أن يعمل بالنسبة لك، لأنها تذهب.
ولكن بالنسبة للغالبية العظمى من الناس، والحصول على بعض النوم،
ترك بقية الدماغ واستعادة قبل ان يأتي في الامتحان
سوف تساعد حقا لك.
أيضا سوف هناك تقريبا يكون بالتأكيد الحلوى في الامتحان،
ولذلك عليك أن نتطلع إلى.
يا رفاق ذاهبون للقيام عظيم.
انها سوف يكون على ما يرام.
والآن في ساعة المقبلة ونصف وأنا سيحاول والإعدادية لك قدر ما أستطيع.
>> لذلك ليس لدي الشرائح من الأساس جميع الأقسام حتى الآن.
أنا لا أريد أن يذهب من خلال كل منهم لأن ذلك ليس
مجدية في ساعة ونصف وكذلك كما تعمل من خلال المشاكل الممارسة.
وذلك بدلا لدي قائمة من الموضوعات.
هذه هي كل الأشياء نتمكن من استجواب دخولك.
إذا كان هناك أي شيء أن يقفز حقا
أن تريد أن تذهب أكثر، أنك تريد مني أن يذهب أكثر من الناحية المفاهيمية،
يمكن أن أحاول وإعطاء لمحة عامة هناك.
أو إذا كنت تريد أن تقفز الحق في ل به مشاكل الممارسة معا،
يمكننا أن نفعل ذلك.
والامر متروك لكم الرجال.
ليست هناك أن العديد منكم.
لذلك فمن كل ما يا رفاق تريد ان تفعل.
أريد أن أكون أكثر مفيدة نحو يا رفاق.
ولذا فإنني سوف تتيح لك النظر فقط.
>> الجمهور: هناك شيء واحد الرسم البياني أن نبقي
قائلا عن كومة كومة و.
مجرد الفكرة كلها وراء هذا وماذا يعني ذلك.
ZAMYLA تشان: نعم، موافق.
هذا هو كل وسيلة في نهاية، لذلك اسمحوا لي أن انتقل من خلال.
>> الجمهور: ليس لدينا ل نفعل ذلك الآن، ولكن أيا كان.
>> ZAMYLA تشان: هل كان هناك anything-- هذا واحد.
هو هذا النوع من غامض بالنسبة للناس؟
الجمهور: نعم، أنا الثانية التي.
ويمكننا أيضا لا تجاوز سعة المخزن المؤقت؟
ZAMYLA تشان: تجاوز سعة المخزن المؤقت؟
موافق.
حتى تجاوز سعة المخزن المؤقت جميلة سهلة فقط للحديث عنها.
انها في الاساس مخازن رأيك بعض مجموعة الذاكرة التي لديك، أليس كذلك؟
نتحدث عادة عن عندما تجاوز سعة المخزن المؤقت
كنت لا تحقق كم المستخدم يضع في، أليس كذلك؟
والفكرة هي مع تجاوز سعة المخزن المؤقت هو
أنهم يضعون في الآن بيانات كثيرة جدا بالنسبة للمساحة
بعد أن كنت قد خصصت لهم، أليس كذلك؟
>> حتى إذا كنت تقول، وإعطاء لي بعض الرسالة، ونحن
على افتراض أنهم ذاهبون لإعطاء رسالة لنا طول معقولة.
ربما بضعة أسطر، غيرها.
لذلك نحن لا تحقق.
بدلا من ذلك تتغذى لنا في الكتاب كله هذا رسالة،
ويفيض مبلغ المساحة التي قمنا المخصصة لذلك.
وما يحدث هو أنه قد الكتابة الأماكن التي ليس من المفترض عليه.
>> إذا كنت لا تعرف قال البروفيسور مالان شيئا عن الهجمات تجاوز سعة المخزن المؤقت.
لذلك حيث ان ارادة إدخال المستخدم بعض كمية هائلة من البيانات في الآمال
انه بالكتابة الماضي نهاية عازلة بك
ويحل محل something-- أتساءل أنا لدينا تلك الشرائح في هنا.
لا أعتقد أن لدينا تلك الشرائح في هنا.
ولكن في الأساس هو بالكتابة جزء من الذاكرة
الذي يسمح له الوصول إلى أجزاء من جهاز الكمبيوتر الخاص بك
أنك لن يفعل وعادة ما يكون الوصول إليها.
>> أهم شيء مع تجاوز سعة المخزن المؤقت هو مجرد
لفهم أنه يحدث عندما لا تكون
الوقوف على مدى ما لديك يضع المستخدم في.
عندما لا تكون نوع من حماية ضد ذلك.
وفي أبسط صورها شيء، انها مجرد الخاص بك المستعمل
إدخال كمية هائلة البيانات في محاولة
للكتابة بعض الأمن جزء من الذاكرة الخاصة بك.
هذا كل ما هو عليه.
>> لذلك هذا هنا، وكومة كومة.
أساسا كل هذا هو مجرد تمثيل الذاكرة
وحيث يتم تخزين الأشياء.
هذا هو حقا نوع من كل ما تحتاج إلى معرفته.
أكبر الأشياء التي عليك أن تعرف ل
that-- اسمحوا لي أن نرى ما اذا كان هناك better-- هنا.
لذلك هذا هو كومة هنا.
>> حتى كومة له علاقة جميع مهامكم
إن كنت تتصل في أي وقت من الأوقات.
وما هو مهم أن نتذكر الخروج من الاسبوع الماضي مع malloc
هو أنك لا تملك حقا المراقبة الضرورية أكثر من ذلك.
كل هذا يتوقف على يقين عندما يتم تنفيذ المهام.
وعندما يتم تنفيذ، و لديك ما تسمى كومة الإطارات
أن تصعد هنا.
>> لذلك يحدث كل نوع من دون أي مساهمة حقيقية منك.
تكتب البرنامج، وكنت أود تشغيله،
وكومة نوع من يأخذ رعاية نفسها كما انها تحتاج ل.
حتى إذا كنت في منزل الدعوة المكعب، التي سيتم تمريرها إلى هنا.
انها سوف إنشاء الإطار.
ولكن لا يوجد شيء يمكنك القيام به صراحة لخلق هذا الإطار كومة غير
كتابة وظيفة لتبدأ، موافق؟
>> ما هو نوع من تحت الخاص بك السيطرة هي كومة مع malloc.
لذلك كلما كنت شيء malloc، كنت تأخذ الذاكرة من الكومة.
وهذا هو الذاكرة التي لديهم، لعدم وجود كلمة أفضل،
التحكم الصريح، لنتذكر مع malloc
انها في الاساس هناك حتى تقول خلاف ذلك.
لأولئك منكم الذين القسم شاهدت الأسبوع الماضي،
انها هناك حتى أقول أن تذهب بعيدا.
سيكون هناك ما لم وقال خلاف ذلك.
حتى كومة هي مجرد شيء يمكنك التفكير في مثل الذاكرة
أن لديك السيطرة عليها.
وتلك ليست سوى شيئان كبيرة مختلفة.
>> بخلاف ذلك، يجب أن لا يكون لتقلق كثيرا عن كومة كومة و
أسئلة أو عادة أكثر عدلا إذا كان لديك المعلمات المحلية
أو وظيفة فإنه سيكون على كومة أو كومة.
من الواضح في هذه الحالة سيكون من المكدس.
إذا كنت mallocing شيء، حيث أن تأتي من؟
الكومة.
اذا نظرتم الى مسابقات الممارسة، تلك عموما نوع من الأسئلة
التي لديهم.
>> كنت لا داعي للقلق كثيرا حول هذا الموضوع.
تحصل في أكثر صراحة حول كومة كومة و
في وقت لاحق أو في فصول CS الأخرى.
حتى مجرد وجود نوع من فكرة عامة عن ما هو هذا
سوف تكون جيدة، وأنا فقط ذهبت لأكثر من نوع.
أي مواضيع أخرى؟
نعم؟
>> الجمهور: هل يمكن أن يذهب أكثر المؤشرات مرة أخرى بسرعة حقا؟
ZAMYLA تشان: مؤشرات؟
هل تريد المفاهيمي نظرة عامة من المؤشرات
أو هل تمارس مع مؤشرات؟
الجمهور: نوع من مثل بناء الجملة.
ZAMYLA تشان: إن بناء جملة؟
نعم.
حسنا، نحن للوصول الى هناك.
نعم، لذلك هذا هو مجرد نوع من شيء عندما يكون لديك وظيفة متكررة،
في كل مرة أن وظيفة متكررة ل ودعا، فإنه يضيف فقط غيرهم إطار المكدس.
الى حد كبير مثال وكيف لا حقا
لديك السيطرة على الإطارات على كومة الخاص بك.
>> OK، المؤشرات.
كل الحق، لذلك خلق المؤشرات.
تذكر، انها مجرد اكتب نجوم.
وبغض النظر عن نوع البيانات التي وأنت تسير أن يكون لافتا إلى.
ولذلك فإن هذا سيكون مؤشر إلى int.
سيكون هذا مؤشر إلى شار.
سيكون هذا مؤشر إلى تعويم.
لذلك فمن أساسا مهما كنت تريد أن تكون لافتا إلى،
النجم هو كيف تقوم بتعريف المؤشر، موافق؟
>> ولكن ثم الواضح يحصل قليلا صعبة عندما يكون لديك مؤشر
أو لديك نجمة أيا كان.
لذلك الفرق الكبير هو عندما كنت declaring--
لذلك لدينا حتى some-- هذا يستغرق بعض النجوم الباحث.
لذلك هذا هو بعض مؤشر س يدعو إلى int، أليس كذلك؟
حتى نتذكر ما يفعل هذا هذا يدعو النظام العاشر.
وهذا يحدث ل لدينا بعض العناوين، أليس كذلك؟
لذلك دعونا نقول فقط وهذا هو عنواننا.
مؤشرات عقد العناوين.
فماذا يقول هذا هو أنه في هذه الموقع، ونحن تخزين عدد صحيح.
>> حتى طريقة أخرى يمكن أن نفكر في هذا هو أن هذا هو بعض الباحث.
نحن لم تعيينه حقا ل أي شيء حتى الآن، ولكن هذا مجرد كثافة العمليات.
حتى نتمكن من القيام به هو أننا إذا نجم X يساوي 5، وهذا يصبح 5، موافق؟
هذا يقول تذهب إلى ما هو X مشيرا في الوقت ذاته، لذلك يذهب إلى هذا العنوان
وجعله يساوي 5.
لذلك نحن تعيين 5 إلى هذا العنوان، أليس كذلك؟
>> ثم إذا كنت تفعل هذا، هذا يعطينا عنوان.
هذا هو عنوان المشغل.
فما هو عنوان العاشر؟
نحن لا نعرف.
نحن لم تعيينه عنوان.
يمكننا القول انها some-- الآن أعطينا كان عنوان، وبالتالي فإن العنوان هو 4.
وفعلا اذا ذهبنا من خلال شيء مثل هذا، نوع من ما فعلناه.
لذلك تعمل من خلال here-- أجد أنه يساعد إذا كنت استخلاص المؤشرات.
إذا كنت على الامتحان الخاص بك، وأنا أوصي صناديق رسم.
>> لذلك هذا واحد الأول، كثافة العمليات س يساوي 5.
هذا يعني فقط أن لدينا بعض ضع في الذاكرة التي هي 5، أليس كذلك؟
وطاولتنا هنا يخبرنا أنه في العنوان 0x04.
ثم نخلق بعض المؤشر.
لذلك دعونا كسر هذه أسفل في وقت واحد.
ولذلك فإن هذا يخلق بعض مربع إلى int، أليس كذلك؟
انها تسير لعقد بعض العناوين من ذلك.
لذلك هذا هو بعض المؤشر.
وهذا الطباشير هو صغير حقا.
لذلك لدينا بعض مؤشر هنا.
وطاولتنا يخبرنا هذا هو العنوان 0x08.
بارد.
ونحن تعيين إلى العنوان ل x.
>> تذكر، مؤشرات عقد عناوين، موافق؟
لذلك إذا أردنا أن يعقد العاشر، لدينا استخدام المشغل العنوان، الذي
هو العطف، للحصول على عنوان من خ، وهو في هذه الحالة، 0x04.
ثم اذا كان لدينا بعض نسخة كثافة، وهذا فقط
يخلق بعض مربع آخر حاصل على نسخة يسمى الباحث.
وإذا كان لنا أن إسناد ذلك إلى this-- لذلك هذا هو الرجوع إليها.
لذلك يقول تذهب إلى أي مؤشر يحمل العنوان.
المؤشر يحمل هذا العنوان، حتى أننا نذهب أكثر من هنا،
ونحن نقول، حسنا، ماذا في ذلك؟
انها 5.
حتى تصبح نسخة 5.
معنى؟
>> ماذا لو حاولت تعيين هذا المؤشر فقط.
ماذا يفعل المؤشر يساوي فعلا؟
سيكون مهما فقط مؤشر يحتوي، أليس كذلك؟
ثم ماذا لو فعلت هذا؟
ما يمكن أن يكون نسخة الآن؟
>> الجمهور: 0x08.
ZAMYLA تشان: نعم، و عنوان مؤشر لدينا.
أي جزء من ذلك أن يحتاج إلى إعادة شرح؟
بارد.
هناك بالتأكيد جدا مشكلة المرح على مسابقة واحدة
أن نتمكن من خلال تلك يمنحك المزيد من الممارسة.
اللاعبين من الأسبوع الماضي يمكن أقول لك أنه لم يكن بهذا السوء.
وصلنا عبر كامل الرسم البياني، والجميع فعل عظيم.
>> موافق، لذلك أن النظرة العامة من جملة من المؤشرات.
أهم شيء هو فهم كيف لخلق لهم، لا الرجوع،
وعنوان، موافق؟
بارد.
أي مواضيع أخرى قبل نحن الغوص في الممارسة.
كما لو أننا ذاهبون من خلال المشاكل الممارسة
وهناك شيء تريد تجديد على، يمكننا أن نفعل ذلك أيضا.
هل لديك شيء؟
>> الجمهور: البنيات والقوائم المرتبطة.
ZAMYLA تشان: البنيات والقوائم المرتبطة، موافق.
البنيات ذلك.
نحن فعلا نسير خلال هذه الليلة أيضا.
OK، البنيات ذلك.
البنيات هي في الأساس مجرد طريقة لعقد
قيم متعددة من أنواع مختلفة.
وذلك مع مجموعة نحن مقيدة إلى نوع بيانات واحد.
لدينا مجموعة لديها إما أن تكون مجرد أرقام، أو يكون مجرد حرف، أو أن يكون مجرد يطفو.
>> ولكن ربما تحتاج ل تحتوي على أكثر من ذلك.
ربما تحتاج إلى hold-- إذا كنت تتحدث عن طالب،
وأنت تسير أن يكون منزلهم، هم رقم الهوية، وسنهم، حيث يعيشون،
أليس كذلك؟
وجميع هؤلاء هم أنواع مختلفة من أنواع.
وبالتالي لا يمكنك تخزين تلك كلها في صفيف.
>> ذلك ما يمكنك القيام به هو أنت يمكن إنشاء البنية، التي
يمكن ان يخطر لك ك نوع البيانات الشخصية الخاصة.
وذلك بدلا من مجرد وجود [إينتس] وبدلا من مجرد وجود العوامات،
يمكنك الحصول على النوع الذي طالب لديه كل هذه المجالات في ذلك.
ولذلك فإن الطريقة التي تهيئة البنيات دينا is-- الواقع
منذ كتابتي أمر فظيع، نحن ذاهبون للانتقال إلى الكتابة.
وو.
>> موافق، لذلك إذا أردنا أن إنشاء struct-- أنا ذاهب لمجرد عليه هنا.
تجاهل كل ما في main الذي سوف نستخدم في وقت لاحق.
ذلك بالطريقة التي تريدها أن تفعل فمن مع typedef والبنية.
ودعونا ندعو فقط هذا الطالب لأن هذا هو ما كنت تستخدم.
موافق، لذلك كنت يعني typedef و تعريف نوع جديد، موافق؟
هناك فروق دقيقة في حين كنت تفعل مجرد بنية مقابل البنية typedef و.
لجميع المقاصد و الأغراض، يا رفاق هم فقط
سوف نفترض انهم تقريبا نفس وفقط
استخدام الرموز المميزة ل typedef البنية في الوقت الراهن.
انها سوف تصبح أكثر وضوحا في الطريقة الخاصة بك وضع P القادمة ما هي تلك الفروق،
لكني لا أعتقد أنك في حاجة ل تقلق بشأن ذلك الآن.
وأود أن كثيرا بدلا لك معرفة كيفية إنشاء واحد،
الوصول إليه، وتعيين [؟ القيمة. ؟]
>> وهناك نوع جديد من البنية، و نحن وصفه بأنه طالب.
وذلك بعد أن الانتهاء من إنشاء هذا، لجميع النوايا والمقاصد،
سيكون لديك نوع يسمى طالب.
ويمكنك التفكير في الأمر فقط كنوع مثل عدد صحيح أو عدد عشري أو حرف.
انها مجرد نوع آخر، موافق؟
>> حتى في هذا واحد، ماذا لدينا؟
لدينا ربما اسما.
وربما لذلك نحن نريد اسم السلسلة.
وربما لدينا عدد صحيح وهذا هو معرف.
وعلينا في آخر هذا رقم الهاتف.
ولقد some-- دعونا نرى.
ماذا يمكن لدينا؟
سيكون لدينا بعض سلسلة في منزله.
كل شيء أن الطالب لديه.
>> ولذلك فإن هذا يخلق بنية الآن.
فكيف يمكن أن نخلق طالبا؟
اذا كان لدينا بعض المتغير الذي هو بصدد الحديث عن وكر هنا،
لذلك نحن have-- نحن فقط سوف نسمي هذا وكر.
انه يحتاج الى نوع.
ما هو نوع الخاص بك؟
الجمهور: الطلاب.
ZAMYLA تشان: طالب.
ولذلك فإن هذا يخلق مجرد كائن ما يمكن أعتقد أن من لديه كل هذه الأشياء.
قمت بإنشائه مجرد طالب ووكر.
حتى الآن نحن بحاجة إلى أن تكون قادرة لتعيين كل هؤلاء، أليس كذلك؟
لذلك لا أحد يتذكر كيف نحن وصول إلى داخل البنية؟
الجمهور: الفترة.
ZAMYLA تشان: الفترة بالضبط.
لذلك إذا أردنا أن تعيين له اسم، يمكننا أن نفعل ذلك.
من الواضح أن هذا من شأنه be-- هذا الجزء سيكون هنا
تكون ضمن الرئيسي، لذلك السماح لي فعلا القيام بذلك.
يعلن هذا فوق الرئيسي حتى أننا يمكن استخدامه داخل الرئيسي.
حتى الآن أريد أن تفعل الهوية، ونحن سوف نفعل سوى بعض هناك،
ثم سنقوم بتعيين المنزل.
بام.
بارد.
>> حتى الآن يجب أن نحتاج إلى الوصول في أي وقت أي شيء on-- وقت لاحق ربما we--
إذا كنا بحاجة إلى أي وقت مضى للوصول إلى أي شيء، دعونا لا مجرد معرف نسخة كثافة العمليات.
وأريد أن نسخ معرف وكر في هذا.
كيف يمكن أن أفعل ذلك؟
تحتاج للوصول إلى داخل وكر البنية إلى [؟ الذهاب إلى ذلك؟] [؟ E؟].
وبنفس الطريقة التي كنا كلف الامر هنا، كيف
ربما علينا الوصول إليه عندما نريد تعطي تلك القيمة إلى شيء آخر؟
الجمهور: Walker.id.
ZAMYLA تشان: نعم، بالضبط.
لذلك هذا الى حد كبير جميع ما تحتاج لمعرفته عن البنيات.
تحتاج فقط إلى التفكير في لهم كما متغير آخر.
أساسا خلق الخاصة بك خاصة نوع متغير، موافق؟
استخدامه لاعلان المتغيرات بأي شكل من الأشكال.
هنا وكر لا يزال متغير.
انها مجرد طالب بدلا من ذلك النوع الآن من الباحث نوع، أو سلسلة نوع،
أو نوع شار.
إذا كان هناك طريقة سهلة للحديث حول البنيات، فمن حرفيا فقط
خلق نوع البيانات الخاصة بك التي تسمح لك لمجموعة
كل هذه مختلفة نوع البيانات معا.
هل هذا منطقي؟
موافق.
وأن الوصول مع النقاط.
الى حد كبير كل ما تحتاجه.
>> حسنا، أين تذهب بي باور بوينت؟
ومن هنا.
حسنا هذا أمر غريب.
آها.
موافق، بارد.
أي أمور أخرى أم أننا يريدون التوجه الى ممارسة؟
ممارسة؟
موافق.
رهيبة.
انا ذاهب للخروج من هذا.
إذا في أي وقت خلال أسئلة الممارسة،
أنا سعيد لتجديد وتذهب من خلال الأشياء.
لذلك ليس لدي مسابقة صفر هنا.
إذا كنت الرجال يريدون سحب أنه حتى على جهاز الكمبيوتر الخاص بك،
مثلما تأخذ خمسة دقيقة للتصفح.
ربما يختار بعض أعلى الأسئلة التي يريدون الذهاب قد انتهت.
إذا يا رفاق لا تستطيع أن تقرر، سنقوم فقط تبدأ ببطء تعمل من خلالها،
ولكن أنا متأكد من أن هناك ستكون بعض الأسئلة التي كنت خاصة
حريصة على الحديث عن وديك لي العمل من خلال معكم جميعا.
حتى مجرد المضي قدما واتخاذ خمس دقائق.
انتقل من خلال.
وهذا هو الاختبار من عام 2013.
>> الجمهور: صفر؟
>> ZAMYLA تشان: نعم، مسابقة الصفر.
نحن لا نفعل الاشياء مسابقة واحدة.
سنفعل ذلك في بضعة أسابيع.
أيضا لأولئك منكم الذين جاء في وقت متأخر، لدينا الحلوى،
تفعل ذلك يا رفاق تريد الحلوى؟
>> الجمهور: بالتأكيد.
>> ZAMYLA تشان: أنا فقط الذهاب لتمرير حولها.
مهلا، إذا كنت تحصل على الرجال هنا في وقت مبكر، وتحصل على المزيد من الحلوى.
هذا شيء طيب.
بن، هل تريد حلوى؟
كنت تريد بعض من هذه؟
هناك أيضا سنيكرز إذا أي شخص يريد سنيكرز.
سأترك لهم هنا وهنا.
لا تتردد.
هل تريد بعد الآن؟
الجمهور: كل مجموعة.
شكرا لك.
>> ZAMYLA تشان: وكان لي لطيفة كومة صغيرة هناك في البداية.
يا رفاق تحصل على اتخاذ هذه المسابقة و أحصل على أن يكون لها مسابقة الدرجات الحزبية.
انها الفوضى.
900 الامتحانات.
انها سوف يكون الكثير من المرح.
ستكون كبيرة.
أنا متأكد من أن هذا واحد من أكبر الترابط الموظفين
ليال من السنة.
لقد فعلت كل مسابقة من الصفر العام الماضي حتى الان من باب الفضول؟
>> الجمهور: أجزاء منه.
>> ZAMYLA تشان: أجزاء منه، موافق.
هل لديك أسئلة حول أي منهم؟
الجمهور: أنا بالفعل ذهب إلى ساعات العمل.
شكرا بالرغم من ذلك.
ZAMYLA تشان: حسنا، ونأمل ما زال النوع مفيدة لل.
عندما ذهبت ل ساعات العمل لذلك؟
الجمهور: بلدي TF زيارتها لهم بعد ظهر هذا اليوم.
ZAMYLA تشان: أوه.
من هو فريق العمل الخاص بك؟
الجمهور: فريد [؟ Wujaya؟].
ZAMYLA تشان: هناك الكثير من TFS.
الكثير.
حسنا.
أي شخص لديه أي لبدء ما أستطيع ندون أننا نريد أن نعمل على؟
أفترض المؤشرات واحدة مع الجدول.
لأنها تذهب.
>> الجمهور: ربما مفتاح واحد.
ZAMYLA تشان: حتى العدد 12؟
أفترض رقم 8 و 9 على الأرجح الناس هم يريدون الذهاب قد انتهت.
>> الجمهور: و 10 و 11.
>> ZAMYLA تشان: وأنت تعرف الرجال يمكنك الحصول على صفحة واحدة من الملاحظات، أليس كذلك؟
>> الجمهور: نعم، فما هي سمحنا لوضعه على ذلك.
>> ZAMYLA تشان: كنت يسمح لوضع أي شيء تريده.
ويمكن كتابتها.
بقدر ما أتذكر، كانت كتبته لنا.
>> الجمهور: يمكنك القيام به الظهر والجانبين؟
>> ZAMYLA تشان: نعم، كلا الجانبين.
حتى ما يشبه كومة و [؟ النهاية الخلفية؟] كومة، الجري
مرات.
مفيدة.
أشياء ربما قليلا حول مؤشرات لتذكيرك.
بناء جملة أمور.
مجرد وجود مثل هيكل عظمي يمكن أن يكون البرنامج مفيدا عظمى.
وأنا أعلم أنني دائما نسيت تماما ما كان من المفترض أن أكتب عن الباحث الرئيسي،
لأنني دائما مجرد نسخ لصق من تقريري السابق مجموعة P
أو أنه بالفعل هناك، لذلك أنا لم أكتب أبدا حقا،
وذلك بعد أن يمكن أن تكون مفيدة عظمى.
>> حسنا، لماذا لا يتم نبدأ مع رقم 8 ثم؟
حسنا.
موافق.
حتى النظر في البرنامج أدناه.
لذلك من الواضح عندما نرى مؤشرات، هو على الأرجح
فكرة جيدة لبدء الرسم، أليس كذلك؟
أريد أن أعرف أين كل ما عندي ذهبت قطع كبيرة من الطباشير.
هذا هو نوع من مزعج.
>> لذلك لدينا هنا بعض من وظيفة مقايضة وهذا ما سيستغرق يومين في المؤشرات.
حتى في هذه الحالة، فإنها يجب أن يكون في الواقع التحول
أشياء مقابل مقايضة لدينا الأصلي الوظيفة التي لم تكن الا في نسخة.
فما انها تنوي القيام به is-- دعونا نبدأ مع رئيسي،
لأن هذا هو حيث هو 1.
>> لذلك لدينا بعض الباحث × 1.
لدينا بعض ذ هذا يساوي 2.
ثم لدينا بعض مقايضة ما يجري لاتخاذ تلك.
ودعونا نرى ماذا لدينا هنا.
وtable-- دينا يا صبي.
كيف أنا ذاهب للقيام بذلك؟
انا ذاهب الى رسم مائدتي أكثر من هنا.
جعل بالكاد هناك.
مما يجعله بالكاد.
1، 2، 3، 4، 5، 6، 7.
ويقدمون لنا أن 1 هو 1، و 1 2.
بارد.
رهيبة.
هكذا 3.
وهناك [؟ 1. و؟]
>> حسنا.
ثم عنوان x هو 0x123.
و y هو Ox127.
بارد.
حسنا.
أريد يا رفاق العمل على هذا للعمل فقط like-- عليه
مع الناس من حولك.
كنت أتمنى لو كان قد قال أن بينما كنت إقامة.
العمل على ذلك.
ومحاولة العمل على ذلك من قبل أنفسكم لبضع دقائق،
ثم سأعمل على معك.
لأن السبيل الوحيد كنت حقا سوف تتعلم من خلال القيام بذلك بنفسك.
لا تقلق.
حظا سعيدا.
>> حسنا، لماذا لا يتم ببطء بدء العمل من خلال ذلك.
بعد ذلك يحصل الجميع على خط واحد، x هو 1.
بعد سطرين، العاشر و ذ هي 1 و 2، أليس كذلك؟
بارد.
حتى خط ثلاثة أشياء هو المكان الحصول على اهتمام بالطبع.
>> وذلك ما فعلناه هنا ولقد تبادلت الآن.
نقول أن x و y لديها تلك النقاط، أو لديهم عنوان x و y،
أليس كذلك؟
حتى في هذه الحالة، ثلاثة، ما هو قيمة؟
وكان قد صدر عام، وقد أعطيت قيمة عنوان السينية، أليس كذلك؟
>> الجمهور: 1؟
>> ZAMYLA تشان: لذلك نحن إضافته إلى العاشر؟
ما هو عنوان إكس؟
>> الجمهور: 0x123.
>> ZAMYLA تشان: بالضبط.
ولكن ما هو في الواقع لافتا إلى؟
إذا كان لنا أن dereference لذلك، ما قيمة فإنه يقدم لنا.
الجمهور: 1.
ZAMYLA تشان: انها تعطينا 1، لأن ما
نقوله هو الذهاب إلى هذا العنوان، قل لنا ما هي القيمة.
فماذا سيكون ب؟
>> الجمهور: 0x127.
ZAMYLA تشان: بالضبط.
ذلك هو عنوان ذ.
ثم ما [؟ dereference؟ ؟]
الجمهور: 2.
ZAMYLA تشان: حسنا، حتى الآن أربعة.
وقال لدينا على ما يرام الآن لقد equal-- الباحث مؤقت يتم تساوي نجم أ.
فماذا تغير؟
هناك شيء واحد فقط الذي يتغير هنا.
ما هو؟
>> الجمهور: درجة الحرارة.
ZAMYLA تشان: إن درجة الحرارة.
حتى نتمكن من إعادة كتابة كل هذه.
استراتيجية جيدة لهذه هو مجرد معرفة
ما هي التغييرات، لأنه في أغلب الأحيان هناك شيء واحد فقط هذا
الذهاب للتغيير في أي لحظة معينة، موافق؟
لذلك قمنا تعيين مؤقت.
>> الآن لدينا النقطة التالية، خمسة، نحن جعلت النجوم على قدم المساواة لنجمة ب.
فماذا تغير الآن؟
>> الجمهور: ستار.
>> ZAMYLA تشان: ستار، لذلك كل شيء يبقى على حاله.
وماذا نجم على قدم المساواة؟
>> الجمهور: 2.
ZAMYLA تشان: 2.
جميل.
رهيبة.
OK، ثم الآن لدينا يبدأ ب يساوي درجة الحرارة.
ولذلك فإن الشيء الوحيد الذي تغير هو نجم ب.
كل شيء آخر يبقى على حاله.
وما هو نجم ب يساوي الآن؟
وكنت قد أكملت الجدول.
لأنه الآن في النهاية، إذا قلنا س و y، ونحن نعرف أن في هذا point--
نحن نعرف أننا عندما تغيرت نجمة لل2،
ما الذي فعلته هو قال هو موافق، في معالجة 0x123 هنا، تغييره.
الآن كان هذا 2.
ثم في هذه المرحلة، قلنا حسنا، اذهب إلى نجم ب.
لذلك يذهب إلى العنوان في 0x127 وجعلها 1.
حتى الآن في نهاية جدا عندما نعود فعلا للرئيسية،
علينا فعلا أن x هو تساوي 2 و y تساوي 1.
الجميع الجيد مع ذلك؟
موافق، بارد.
رقم 9.
يا رفاق العمل على هذا.
انا ذاهب الى انشاء مجلس حتى نتمكن من رسم من خلال ذلك.
أنه سوف يكون الانفجار.
يمكن أن تكون الجداول كبيرة مخيف حقا، وأنا أعلم.
ولكن إذا كنت تأخذ منهم فقط في صف واحد كل مرة، أنها تحصل على الكثير أقل مخيفة.
حسنا.
>> حتى تعرف أن هذا سيكون له مرت الرئيسي الأول، أليس كذلك؟
تهيئة x و y و ثم يحاول مقايضتهم.
وذلك حتى المبادلة أعلاه، وسيلة حقيقية عليه يذهب هو أننا ذاهبون من خلال الرئيسي،
وبعد ذلك المتصل تصل إلى مبادلة، كل الحق؟
حتى يعلم الجميع ذلك.
>> لذلك أي واحد هل الرجال يريدون أن تبدأ؟
لا أحد على يقين حقا عن واحد من هؤلاء؟
أو حتى التأكد جزئيا؟
لماذا لا نبدأ مع العاشر؟
ماذا نفكر x هو؟
>> الجمهور: 1.
ZAMYLA تشان: 1.
حتى ذلك الحين لماذا هو 2.
وهذا لأن تمييز كبير هنا
هو أننا فقط يمر نسخة في، أليس كذلك؟
نحن لا يمر حسب المرجع.
وذلك حتى في نهاية هذا البرنامج X و y
وقد بقيت على حالها، لأنها هي نسخ فقط في وظيفة المبادلة.
انهم لا تغيير في الواقع، أليس كذلك؟
>> فكيف أ، ب، ودرجة الحرارة؟
>> الجمهور: من هو ب.
>> ZAMYLA تشان: أ هو ب.
حتى في هذه الحالة، كان س، الذي هو 1، أليس كذلك؟
حتى هنا، دعونا المشي من خلال ذلك.
لذلك في البداية، لو ب هي 1 و 2 و غير معروف.
لذلك أصلا مؤقت يحصل تعيينه ل، لذلك الحرارة هي 1.
ويساوي B، وهكذا نحصل على 2، وب يساوي درجة الحرارة.
الآن نحصل على 1.
>> الجمهور: في السابق واحدة تبادلت العطف والعطف س ذ.
بالضبط ما الذي يعنيه ذلك؟
ZAMYLA تشان: حتى أن يعني أن كنت مارة بالرجوع.
وهذا يعني أنك فعلا عابرة في عناوين حيث
x و y يتم تخزين.
الجمهور: ولكن كنت لا مبادلة العنوان.
ZAMYLA تشان: أنت لا تبادل العناوين.
كنت مبادلة ما في داخلها.
مثل ما هو في هذا العنوان، وهذا هو السبب في أنها تعمل.
في مقابل هذا البرنامج هنا ما كنت تفعل وأنت تقوم بإنشاء نسخ.
ولذلك عليك أن x و y التي توجد كما المتغيرات الخاصة بها هنا.
ولكن بعد ذلك عندما كنت تمر لهم في التبادل، انها
كما لو كنت تقوم بإنشاء هذه مجموعة أخرى كاملة.
لذلك كنت أبدا في الواقع س مؤثرة و y.
>> الجمهور: إذا كان العطف X هو ما هو في عنوان السينية، ما من شأنه أن النجم س يكون؟
>> ZAMYLA تشان: الضم x هو ما هو على عنوان السينية، ثم star-- جيدا،
في هذه الحالة، x هو ليس مؤشر.
الجمهور: أوه، حسنا.
لذلك يمكنك القيام بذلك فقط لأنها ليست مؤشر.
ZAMYLA تشان: الحق.
يمكنك أن تفعل نجم فقط ما هذا مؤشر.
ربما يمكنك أن تفعل ذلك من الأشياء التي ل لا، ولكن الترجمة التي تقوم
فعل الأشياء المجنونة التي يمكن أن يحدث.
وأنا لست بالضبط بالتأكيد ما سيحدث.
يمكنك أن تأخذ دائما عنوان شيئا،
ولكن لا يمكنك dereference شيء وهذا ليس مؤشر.
إذا كان هذا الأمر يبدو معقولا، وهذا تمييز الجيد لديهم.
>> لذلك ليس سيئا جدا، أليس كذلك؟
الجداول أمل الحصول على أقل قليلا مخيف.
حسنا.
آه، ومتعة منها.
وحتى الآن، وكتابة التعليمات البرمجية الخاصة بك.
لذلك أنا ذاهب لتمكنك من رفاق العمل على هذا لنحو أربع دقائق،
ومن ثم يمكننا الحديث حول سبل الاقتراب منه.
لا تتردد في التحدث مع الناس من حولك.
أيضا هذا مثير للاهتمام.
انها مثل كل البنات القسم الآن.
مثيرة جدا.
باستثناء تشانغ.
ولكن تشانغ ليست في الحقيقة جزء من القسم.
رهيبة.
الكمال.
لذلك أنا سوف أعطيك تلميحات زوجين.
في حال كان لديك أكثر من حرف واحد، حيث
لديك شيء آخر مثل 123 أو 1000 شيء،
عليك أن تكون قادرا على حلقة من خلال وتحويل كل من هؤلاء.
لذلك هناك زوجين الطرق التي يمكن ان نفعل ذلك،
ولكن كنت بالتأكيد ستكون لدينا لحلقة في مكان ما هناك للحلقة
من خلالها، والتي هي نوع من مثل الهبات
وحتى إذا كنت استدعاء strlen، الذي هو نوع من مثل يا
ربما كنت ترغب في استخدام طول من السلسلة بطريقة أو بأخرى.
>> حسنا.
فماذا يا رفاق التفكير قد يكون واحد من أول الأشياء التي نريد أن نفعله؟
هناك بضع حالات الدخول هنا نحن بحاجة لتفسير، أليس كذلك؟
إما أن لديهم ما هو باطل.
ماذا لدينا؟
الحالات.
اغية.
لدينا حالة أن لديها شيء آخر غير 09، أليس كذلك؟
لذلك دعونا نقول لها خطابات.
أو لدينا حالة هذا صحيحا.
ثلاث حالات للتفكير.
حتى وهو واحد هل تعتقد أنه قد يكون أسهل واحد لرعاية أولا؟
الجمهور: خالية.
ZAMYLA تشان: وهذه القضية هي فارغة.
ذلك ما يمكن أن نقوم به هناك؟
الجمهور: [غير مسموع].
ZAMYLA تشان: نعم.
وماذا تريد أن تفعل؟
>> الجمهور: 0 العودة.
>> ZAMYLA تشان: بالضبط.
رهيبة.
موافق.
هكذا الحال الآن أن لديها رسائل والحال أنه من صالح.
يمكننا فعلا رعاية هذا ضمن حلقة واحدة، موافق؟
حتى طريقة واحدة للقيام it-- ما قد يكون طريقة بسيطة لمعرفة ما اذا انها صالحة.
سيكون علينا أن نذهب من خلال كل حرف وتفعل ما؟
>> الجمهور: تحقق اذا كان in--
>> ZAMYLA تشان: الحق، يمكنك التحقق لو كان بين 0 و 9، أليس كذلك؟
ثم في حالة انه ساري المفعول، ونحن
لن ينتهي بالتكرار عبر سلسلة لدينا على أي حال، أليس كذلك؟
لذلك لماذا لا نحاول و الجمع بينهما في واحد.
نحن ذاهبون الى تكرار من خلال سلسلة من، وكما نحن
نفعل ذلك، ونحن في طريقنا لأول القيام فحص لمعرفة ما إذا كانت تلك الرسالة
أو إذا كان هذا الحرف هو صالح.
إذا كان ذلك، ونحن ذاهبون لأداء العملية التي نحتاج لتحويله.
وإلا فإنه سوف يعود 0، أليس كذلك؟
>> حتى قبل ان نفعل ذلك، ونحن ربما تريد بعض متغير
أن نتمكن من العودة في نهاية التي ستكون القيمة الفعلية لدينا.
لذلك نحن ذاهبون الى تهيئة بعض القيمة لتكون 0.
وهذا فقط كيف نبدأ.
لذلك أنا ذاهب للتخلص من هذا.
فكيف نحن ذاهبون ل تكرار خلال هذه السلسلة.
الجمهور: بالنسبة للحلقة.
ZAMYLA تشان: وللحلقة.
إذن ما هو لدينا؟
>> الجمهور: أنا هو 0.
ZAMYLA تشان: مم-HM.
وما نحن بالتكرار حتى؟
>> الجمهور: طول شارع ق.
>> ZAMYLA تشان: حسنا، أتذكر الآن هناك طريقة أفضل. [غير مسموع].
>> الجمهور: نعم، يمكننا أن نفعل ن يساوي.
ZAMYLA تشان: بالضبط.
>> الجمهور: أنا أقل من ن.
ZAMYLA تشان: ولماذا كنا نريد أن نفعل ذلك؟
هل تذكر السبب؟
الجمهور: لدينا لإعادة حساب ذلك.
ZAMYLA تشان: Becasue بهذه الطريقة لا تملك إلا أن حساب strlen مرة واحدة.
إذا هل أنا أقل من strlen S، وهذا يعني أنه يعيد حساب
طول كل الوقت تشغيل للحلقة،
وهي ليست تكلفة ضخمة من الطاقة، ولكنها ل
أفضل الممارسات في محاولة ل تفعل أشياء من هذا القبيل مرة واحدة.
إلا ربما لديك سلسلة مجنونة أن يتغير في كل التكرار.
ولكن اذا كان البقاء نفسها، وحفظه.
حسنا.
وبعد ذلك زائد زائد.
رهيبة.
نحن في طريقنا.
الجمهور: حقا بسرعة.
أولا، لذلك دعونا نقول أننا فقط أنا لم أقل من strlen من ليالي،
هم الدرجات لنا على التصميم على الإطلاق، أو مجرد الأداء الدقيق؟
انهم لا.
نحن الدرجات على صحة لمسابقات بقدر ما أعرف.
لا أستطيع تقديم الكامل على الضمان، ولكن بالنسبة للجزء الأكبر،
الغالبية العظمى هو صواب، ل كنت تحت الكثير من ضيق الوقت.
تصميم يعني عادة لديك الوقت للتفكير
عن أناقة وضعك.
>> موافق، لذلك نحن بالتكرار عبر.
لذلك نحن بحاجة إلى التحقق إما ل نرى ما اذا كان هذا الحرف صالح
أو ما اذا كنا نستطيع القيام لدينا العادي [؟ وإلى ط؟] وظيفة.
يمكننا أن تقلق بشأن ما هذا هو في الثانية.
فلماذا لا نقوم take-- إذا كان أي شخص يمكن أن يفكر
حول وسيلة للتحقق ل نرى ما اذا كان هذا صحيحا.
نحن نعلم انها ستكون بعض اذا كان الشرط، أليس كذلك؟
وتذكر هذه هي في ASCII، فكيف قد
نحن نرى إذا لم يكن 0،1، 2، 3، 4، 5، 6، 7، 8، أو 9.
الجمهور: إذا كان ألفا.
>> ZAMYLA تشان: حتى إذا أراد ألفا فقط دعونا نعرف ما اذا كان بريد إلكتروني.
وإذا كانت تعطينا رمزا، انها لا يزال لا يذهب الى حد بعيد للتحقق.
حتى إذا كنت سحب ما يصل ASCII الخاص الجدول، ونحن نعلم أن من 0 إلى 9
هي في جزء واحد.
تقول لي الأرقام وأنهم تقابل إن أمكن.
الجمهور: 40.
>> ZAMYLA تشان: حتى يكون النطاق مثل 40--
الجمهور: ربما.
48 الى 57.
لست متأكدا.
>> ZAMYLA تشان: 40-57؟
>> الجمهور: 48، على ما أعتقد.
ZAMYLA تشان: من 48 الى 57.
لذلك نحن نعلم أن تلك ASCII symbols-- إذا كانت قيمة ASCII ليست
بين 48 و 57، انها ليست صحيحة، أليس كذلك؟
لذلك يمكن أن نستخدمها ل ميزتنا ربما؟
كيف نحن ذاهبون للحصول على هذه الرسالة، من الأول؟
كيف لنا الوصول هذه هذه الشخصية؟
>> الجمهور: S قوس ط.
>> ZAMYLA تشان: مم-HM.
لأننا لا نستطيع التفكير في سلاسل كما صفائف، تذكر.
لذلك ماذا نريد أن نقول؟
نريد أن نقول إذا كان هذا is-- سأعطيك تلميحا.
انها اقل من.
ماذا تظن أنه يجب أن يكون أقل من؟
الجمهور: 57؟
>> ZAMYLA تشان: 47، أليس كذلك؟
ولكنه يمثل أيضا أنه عند و0 في [واحد؟ وقال المتحدث؟]، لأن هذا
الطابع 0.
هل يمكن أيضا وضع 47.
وجود جدول ASCII، و ترى، هو مجرد شيء
يجب أن يكون على ورقة الاختبار الخاصة بك.
>> حتى إذا كان هذا هو الحال، لو كان أقل من 0-- ليس بالضرورة و.
انها فقط إما ستكون أقل من أو أكبر من 9.
لذلك يمكنك ملء هذا الأخير بالنسبة لي؟
أو حتى ق ط هو ما، ريا؟
>> الجمهور: أكبر من 9.
>> ZAMYLA تشان: هناك.
هل هذا معنى ل الجميع، كيف وصلنا إلى هناك؟
هذه المشاكل، وانهم مثل بمجرد رؤية الحلول، انها مثل أوه، حسنا.
وهذا هو السبب في الممارسة سوف تساعدك.
موافق، لذلك نعود 0.
جميل.
حسنا.
خلاف ذلك ماذا نريد أن نفعل؟
هذا هو الجزء المثير للاهتمام حيث انها أكثر من ذلك بقليل
مثل الرياضيات مقابل CS في رأيي.
هل لدى أي شخص فكرة كيف أننا قد تفعل هذا؟
ذلك الشيء المهم يدرك هو الحرف الأول
نحن مع الأخذ ستكون أعلى ترتيب أرقام، أليس كذلك؟
حتى إذا كنا نبحث في تحويل 123، وهي المرة الأولى التي نقوم تكرار
هو سيكون 1، لكننا بحاجة أن تكون 100 بحلول نهاية، أليس كذلك؟
ذلك شيء واحد يمكنك القيام به هو أن مع كل رقم لاحقا
كنت تأخذ، يمكنك مضاعفة قيمة الخاص بنسبة 10، حتى أنه بحلول الوقت الذي تصل إلى نهاية،
كان كل شيء تحول صعودا، أليس كذلك؟
>> لذا في المرة الأولى التي تقوم بتشغيل ذلك، لديك 1 كقيمة الخاص بك.
المرة الثانية تشغيله، كنت مضاعفة قيمة الخاص بنسبة 10.
فإنه سيتم تحديثه بحيث انها الآن 10، وأضفت على قيمة الخاص بك المقبل.
ثم تتضاعف التي كتبها 10 وإضافة على قيمة الخاص بك المقبل.
وهذا هو السبب يقولون هذا هو أكثر من ذلك بكثير مثل اختبار
الخوارزمية في الرياضيات مقابل CS، لكنني استطرادا.
أنا لا أكتب للمسابقات.
>> ذلك شيء واحد يمكن أن نفعله هو أننا نقول مرة قيمة تساوي 10.
لذلك هذا هو الذهاب الى التحول الرقم الخاص بك مرة واحدة في كل مرة.
ومن ثم نحن نريد فقط أن أضيف.
نريد أن نضيف في ما وصلنا للتو، أليس كذلك؟
لذلك كيف يمكننا تحويل الواقع لدينا حرف ASCII في عدد
أنه يمثل؟
>> لذلك نحن نعلم أن 0 يساوي 47، أليس كذلك؟
حتى إذا 0 هو 47، ما كان علينا أن نفعل ذلك ل
لجعله يكون عدد صحيح من 0؟
>> الجمهور: انها 48.
ZAMYLA تشان: 48؟
آسف.
نود طرح 48، أليس كذلك؟
تذكر ASCII الرياضيات؟
يمكننا التعامل معهم فقط مثل الأرقام العادية.
إذا كنت نعاملهم مثل الأرقام و عندما تصبح الأرقام على نحو فعال.
حتى إذا كان لدينا ق ط، والتي دعونا نقول في هذه الحالة يساوي 0.
حتى ق ط في هذه الحالة سيكون ASCII--
ان الباحث ASCII لأن يكون 47.
حتى نتمكن من subtract-- أو 48.
هل يمكن أن تفعل ذلك، هي طريقة واحدة.
لا أحد يعرف على نحو أفضل الطريقة يمكننا القيام به 48؟
قلنا فقط 0 is-- الخوض في وASCII هل يمكن أن تفعل الاقتباس 0.
حتى يفعل ذلك النوع من جعل بمعنى كيف يعمل هذا؟
>> الجمهور: عند هذه النقطة، هو القيمة 0 لأنه حتى لو كنت اضربها 10،
كنت بدأت من الصفر، لذلك ينبغي أن تحول ذلك؟
>> ZAMYLA تشان: حتى في هذه الحالة، تريد اضربها قبل إضافة،
لأنه في هذه الحالة، نعم، انه سيكون لا يزال مؤشر be-- بلدي مفقود.
القيمة في هذه الحالة، لأول مرة مرة ونحن تشغيله سوف يكون صفرا.
لذلك كنت فقط مضيفا على أن الرقم الأول.
ما هو مهم هو المرة القادمة يمكنك تكرار، وتريد أن تحول عنه
قبل إضافة الرقم الخاص بك المقبل جرا.
لم توضح بالنسبة لك؟
موافق.
>> أحيانا كنت تريد الذهاب ل الحصول على المزيد من الأشياء الغريبة ماثي.
إذا كان لديك أكثر من هذا، كنت لا تزال جارية
لget-- كنت تنوي القيام به بشكل جيد.
الائتمان الجزئي هو جدا الشيء الكبير في مسابقات CS50.
حتى كتابة ما تعرفه.
إذا كنت حصلت على كل شيء عدا هنا، كنت
لا تزال تنوي القيام به جيد حقا مشكلة.
لأنك تظهر، حسنا، أنا أعرف تقريبا.
وأنا أعلم أنني بحاجة إلى تكرار خلال.
أنا أعرف ما أنا في حاجة للتحقق من.
أنا فقط لا جدا الحصول على كيفية تحويله.
وأنت تسير على ما يرام.
نعم، وأنت تسير ل تفقد نقاط الزوجين،
ولكن كنت لا تزال جارية للحصول على عدد لا بأس به من النقاط عن شيء
كما أنه إذا كنت المفقودين هذين الخطين.
سأكون مثل موافق، هذا الشخص يعرف ما يفعلونه.
الرياضيات هو الثابت.
لذلك أود أن أقول أنك سوف تكون على ما يرام.
>> موافق، لذلك كنت على استعداد الرجال ل حاول strlen مع مؤشرات الآن
أن يا رفاق هم سادة المؤشر؟
ولذا فإنني سوف تتيح لك رفاق العمل على أنه بالنسبة قليلا.
إذا كان أي شخص يحتاج إلى تجديد.
لذلك تريد استخدام المؤشر الحساب، ثم إذا S لاغ،
التطبيق الخاص بك يجب أن تعود 0.
مثل هذه الامور التي تجعلك سعيد حقا لمجرد دعوة strlen
في نهاية اليوم.
اعتقد قد يكون هذا واحد قليلا أسهل من آخر واحد، والتي
أمر جيد.
سأعطيك الرجال دقيقة أخرى، وبعد ذلك سنعمل من خلال ذلك.
ثم نصل إلى الذهاب إلى المفاتيح.
>> موافق، والرجال مستعد؟
ربما قليلا.
حتى لقد قدمت لكم الخاصة بك خياران، أليس كذلك؟
إما تحقق لاغية والعودة 0 إذا هو، في الواقع أو حساب طول.
حتى الذي يريد أن يكتب تحقق لاغية؟
لأنها تذهب.
>> الجمهور: إذا قوسين S يساوي يساوي 0 عودة فارغة.
ZAMYLA تشان: جميل.
أنا أحب عندما نصف مشكلتك هو مجرد فحص لاغية.
أنا أعرف مع رفاق الماضي كنت الأسبوع مثل الاختيار لاغية
حرفيا في كل مرة.
OK، so--
>> الجمهور: إذا كان العائد 0 هو سطر واحد فقط، لا زلنا بحاجة قوس مجعد؟
>> ZAMYLA تشان: لست تقنيا في حاجة إليها طالما كنت ثابت.
انها ممارسة جيدة فقط للحصول على هذه العادة
استخدام الأقواس المعقوفة، لكن من الناحية الفنية لا.
كنت لا حاجة لهم لسطر واحد.
ونحن نميل إلى مجرد أوصي به للناس بدأ البرنامج.
>> حتى الآن ما يمكن أن نريد أن نفعل هنا؟
حتى الآن نحن نعرف أن لدينا سلسلة صالحة.
نحن نريد للحفاظ على حساب طول.
ما هو ربما لأول مرة شيء نريد ان نفعله؟
>> الجمهور: إنشاء الباحث هذا هو طول.
ZAMYLA تشان: بالضبط.
الجمهور: ونحن نريد أن نضعها ل؟
ZAMYLA تشان: 0.
الكمال.
حسنا.
الآن ماذا تريد أن تفعل؟
هذا هو حقا الجزء الأكبر منه.
لأنها تذهب.
>> الجمهور: ذلك ربما كنت تفعل للحلقة.
ومنذ ذلك الحين عند استدعاء S كنت الحصول على عنوان أول شيء،
يمكنك أن تبدأ مع ط يساوي 0.
ثم طالما X بالاضافة الى انني لا يعود خفض 0.
ZAMYLA تشان: فاصل فارغة.
الجمهور: والمنهي فارغة.
ثم أضفت واحد لطول.
>> ZAMYLA تشان: نعم.
OK، بحيث يتيح تحويل ذلك إلى رمز ملموس جدا.
ولكن هذا هو فكرة مثالية.
هذا هو بالضبط ما نقوم به.
نحن ذاهبون ليكون بالتكرار من خلال مع المؤشر.
وذلك ما نريد القيام به وبدلا من الباحث
هنا، لأننا لا أشير إلى ذلك.
نحن في اشارة الى بدء السلسلة التي تبدأ يجري بعض العنوان،
أليس كذلك؟
>> لذلك نحن نريد مؤشر.
لذلك نحن ذاهبون الى بعض النجوم شار، لأنه يتوافق مع ليالي لدينا، أليس كذلك؟
لذلك هذا هو بعض نقطة نحن تهيئة إلى بداية السلسلة، موافق؟
لذلك دعونا فقط نسميها ط.
اذا كان بداية سلسلة، ما تسير الأمور على أن تسند إليه؟
ليست 0.
نحن نريد أن يكون ل بدء من سلسلة لدينا.
ما يمثل بداية سلسلة لدينا التي أعطيت لنا؟
>> الجمهور: S فقط.
>> ZAMYLA تشان: S.
ولذلك فإن هذا يخلق بعض مؤشر جديد يمثل بداية سلسلة لدينا، موافق؟
طريقة أخرى للتفكير في ذلك مثل هنا هو مجموعة لدينا.
هذا هو لدينا سلسلة، ق.
لذلك دعونا نقول هذا هو المركز الأول، وهذا هو 0x4.
04.
هذا هو موقفنا، والتي تحمل هذا العنوان.
وأنشأنا واحد فقط آخر يسمى ط يشير فقط إلى نفس الشيء.
حتى انهم على حد سواء مشيرا فقط بدء سلسلة لدينا.
هذا هو مجرد التمثيل البياني.
>> حتى الآن ما نريد نريد فعله هو تكرار
اوضاعنا لبالتكرار من خلال سلسلة لدينا.
تسوق الآن.
حصلت على متجر، الرجال.
ونحن نريد للحفاظ على تحديث حتى نصل إلى فاصل باطل، أليس كذلك؟
ذلك ما يمكن أن تبدو وكأنها؟
نريد ط، أم نريد نجم أنا هو السؤال؟
هو فاصل لاغيا عنوان أو شيء يقع في عنوان؟
يقع في العنوان، أليس كذلك؟
>> لذلك نحن بحاجة dereference كل ما هو هنا، لأن هذه ليست سوى بعض العناوين.
للحصول على فعلا لبدء نحن بحاجة إلى dereference هذا
بحيث نحصل على الواقع ما هو في هذا المقام الأول.
لذلك اذا لم نفعل نجمة ط، ما لا نريد لها أن يساوي؟
الجمهور: العودة مائل؟
>> ZAMYLA تشان: هناك.
فهل يعقل أن الجميع؟
نحن بحاجة إلى الخوض في سلسلة لدينا و تأكد من انها ليست نهاية المطاف.
ومن ثم يمكننا فقط تحديث من هذا القبيل.
تحديث العادي.
طالما لأن هذه هي الأرصاد، ماذا علينا أن نفعل؟
>> الجمهور: طول زائد زائد.
>> ZAMYLA تشان: مم-HM.
ثم بعد لحلقة ينهي، ماذا نريد العودة؟
الجمهور: طول؟
ZAMYLA تشان: الطول.
هناك تذهب.
من الواضح أن هذا واحد من اللحوم ومن فهم هذا عن الحلقة.
لا تحصل الجميع كيف أن يعمل؟
أنا سعيد أن يذهب أكثر من ذلك مرة أخرى.
>> الجمهور: والثاني جزء، لذلك النجم وأنا هناك،
هذا هو عنوان first--
ZAMYLA تشان: انها ليست العنوان.
هذا ما هو على.
الجمهور: هذا هو في الواقع هناك.
ZAMYLA تشان: هذا ما هو في الواقع هناك.
لذلك هذا هو saying-- السماح لي أن هذا أفضل.
لذلك هذا هو 0x04، وأنا مجرد الذهاب أن أقول أنا ذاهب إلى جعل هذا اسمي.
موافق.
نعم، أنا أعرف أن لدي مراجعة مسابقة الليلة.
الكثير من المراجعة مسابقة.
لذلك دعونا نقول هذه السلسلة هو اسمي، أليسون.
قليلا فوضوي، لكنه هناك.
وS يمثل الموقع من أين يبدأ الخيط،
لذلك أنا ذاهب لجعل هذا real-- هذا هو عنوان،
حيث تبدأ السلسلة، أليس كذلك؟
>> لذلك ما نقوم به هنا هو أننا نريد أن استخدام مؤشرات إلى تكرار خلال.
حتى نخلق بعض مؤشر، ط، كما أن تساوي بداية السلسلة.
وعند كل نقطة، ونحن نريد ل الاستمرار في الذهاب من خلال مجموعة
نحن هنا حتى ضرب فاصل فارغة.
لذلك نحن نريد دائما أن تحقق ما هو في كل من هذه العناوين.
>> لذلك نحن dereference ط، بحيث المرة الأولى التي تفعل ذلك فإننا
نقول، حسنا، ما هو في العنوان 0x04؟
انها أ.
حسنا، نحن في حالة جيدة.
طول الاضافة.
ننتقل إلى المرحلة التالية.
حتى i-- زيادة مؤشرات تذكر من قبل حجم كل ما كنت لافتا إلى.
حتى في هذه الحالة، لأنه وشار، وأنها سوف تحديث تلو الآخر.
وحتى الآن ونحن في طريقنا للبحث في 5، وهو ما يعني انه سيكون أكثر من هنا.
لذلك يقول موافق، انتقل إلى 0x05.
ما هو هناك؟
انها للتر.
وانها سوف تستمر في فعل ذلك حتى يضرب هذا واحد.
وتقول حسنا، ما هو في أيا كان عنوان هذا؟
فاصل باطل، موافق.
الخروج.
والعودة فقط طول.
لأنك بحاجة إلى ما هو في الواقع في هذا العنوان، وليس العنوان نفسه.
>> هناك عدد قليل جدا من الأماكن التي كنت في الواقع في حاجة إلى العنوان.
أكثر من مرة عندما كنت تستخدم وانها
عندما كنت لأول مرة تعيين المؤشر أو عندما
كنت تمريرها إلى وظيفة أخرى.
حسنا، الجميع جيدة هناك؟
نوع من؟
موافق.
>> لذلك يبدو أننا بحثنا حصلت حوالي 12 دقيقة من نهاية المباراة،
لذلك سنذهب إلى ربما المشكلة الأخيرة لدينا،
ومن ثم كان هناك أي المفاهيم التي ظهرت
في هذه الأثناء نستطيع الذهاب بسرعة على ذلك.
>> لذا فإن التحول التروس هو آخر المشكلة هنا، تبديل البيانات.
لذا عملك هو لكتابة هذا بحيث يتصرف في نفسه
ولكن لا تستخدم مفاتيح.
يد طباشيري.
لذلك أي أسئلة حول هذا قبالة الخفافيش؟
لا شيء؟
موافق.
لم يفهم الجميع أنه إذا كان لايوجد حالة أي شيء بعد ذلك،
وهو ما يعني أنه ينبغي اتبع الخطوة التالية؟
حتى حالة 1 و 2 في هذه الحالة تفعل الشيء نفسه بالضبط.
أحيانا نقطة من الارتباك.
>> حسنا.
أي شخص يحصل على أي أفكار؟
نعم؟
>> الجمهور: حتى تتمكن من فقط تفعل إذا البيانات.
>> ZAMYLA تشان: مم-HM.
إذن ما هو أول واحد لدينا؟
>> الجمهور: إذا كانت n يساوي يساوي 1، وللخطوط 2 أو ن متساوين
يساوي 2، ثم طباعة صغيرة.
ومن ثم يمكنك أن تفعل إذا آخر؟
أو يمكنك القيام مجرد إذا؟
>> ZAMYLA تشان: يمكنك القيام به آخر إذا؟
>> الجمهور: هل يهم إذا كنت تفعل لو؟
ZAMYLA تشان: وهكذا يفعل.
لا anyone-- ذلك، كنت سوف تحصل على نفس الناتج
إذا كنت تستخدم فقط مقابل IFS إذا كنت تستخدم IFS آخر.
يمكن يا رفاق التفكير في السبب لماذا قد ترغب في استخدام آخر
إذا مقابل الكثير من المحاذير؟
مع أن الكفاءة.
نعم؟
>> الجمهور: سيكون الاختيار كل المحاذير في كل مرة.
>> ZAMYLA تشان: حتى لو انه ضرب هذا واحد الأول،
انها ستمضي على الاختيار كل واحد الآخر.
لذلك تريد لاستخدام إذا IFS آخر في حالات حيث لا يوجد سوى واحد منهم ينطبق من أي وقت مضى.
لذلك الإقصاء المتبادل ما فإننا نميل إلى القول.
إذا كان لديك مجموعة من المحاذير، وهو ما يعني ربما أن أكثر من واحد منهم
المسائل، وربما أكثر من واحد منهم يمكن أن يكون صحيحا.
وتريد كل منهما لتنفيذ لو انهم صحيح.
إذا كنت تريد فقط واحد منهم للعمل في هذه الحالات يستبعد بعضها بعضا،
كنت ترغب في استخدام آخر إذا، ل كل شيء له علاقة الكفاءة.
تم تصميم التعليمات البرمجية أفضل فقط اذا التزمت هذه الممارسة.
حتى في هذه الحالة سوف يكون لها آخر إذا.
وهذا من شأنه أن يكون؟
>> الجمهور: ن يساوي يساوي 3.
ZAMYLA تشان: الكمال.
الطباعة المتوسطة.
ثم في لدينا آخر الحالة، ماذا لدينا؟
آخر أو آخر إذا؟
الجمهور: آخر.
>> ZAMYLA تشان: هل نحن want-- تريد إلا إذا لدينا حالات محددة.
انها ليست نوع من صيد جميع.
إذا كان لديك الافتراضي في switch-- نتذكر في مفاتيح يمكن أن يكون الحال،
ثم لديك الافتراضي.
إذا كان لديك الافتراضي، وهذا النوع من بيانكم آخر هناك.
ولكن إذا كان لديه حالات فقط، وهذا يعني انك تحتاج
للتحقق لمعرفة ما اذا كان كل واحد من هؤلاء.
حتى في هذه الحالة، أن 4 أو 5.
نريد طباعة قبالة.
انها كبيرة.
وهناك تذهب.
وسيكون ذلك البرنامج.
>> حتى في هذه الحالة إذا كنا كان شيء افتراضي،
سيكون لدينا لآخر في كل ما يريد منا أن نفعل.
بحيث هو تمييز جيد لمعرفة، لفهم.
لا تساعد مع مفاتيح بالنسبة لك؟
الكمال.
حسنا.
>> لدينا حوالي ثمانية دقائق من نهاية المباراة.
هل لديك أي الرجال مفاهيم أخرى على مستوى عال؟
الأسئلة بشكل عام؟
نعم؟
>> الجمهور: كان لي سؤال عن واحد منهم
التي كانت على وشك أن عشوائي عدد المولدات في مسابقة الصفر.
ZAMYLA تشان: أوه، هذا واحد.
أن واحدا هو آخر واحد حيث فمن أكثر الرياضيات than-- نعم.
الحل لthat-- حتى أنني عندما أراه، وأنا مثل ما هو هذا.
>> الجمهور: كان رقم 7.
>> ZAMYLA تشان: إنه أمر غريب في رأيي.
وذلك أساسا تريد استخدام drand48، التي
سوف أعطيك بعض رقم بين 0 و 1.
وتريد استخدامه لذلك ان كنت بطريقة ما الحصول على a--
وانها اكثر بكثير من مشكلة الرياضيات بالنسبة لي أعتقد أن من مشكلة CS.
>> الطريقة التي كنت تفعل it-- و أحيانا سيكون تماما مثل ذلك.
مرة أخرى، وهذه هي الحالات التي يكون فيها انها نوع
من مثل كتابة ما كنت يمكن والائتمان الجزئي.
لذلك إذا أردنا العودة، نحن نعلم أننا
ستكون باستخدام drand48 بطريقة ما، أليس كذلك؟
لذلك لماذا لا يمكننا مجرد أن ذرة أسفل.
نستخدمه في بعض الطريق.
الطريقة التي لديهم يا رفاق استخدامها هو
مثل هذا الذي سأحاول شرح و.
>> وذلك أساسا ما يحدث هنا هو لأنها بين 0 و 1،
ما تفعلونه هو أنك التكاثر by-- هذا كثير جدا على سؤال الرياضيات.
فقط التنصل الكامل، وهذا هو تماما سؤال الرياضيات.
ما تفعلونه هو لأن من 0 و 1 و لك
تريد أن تكون ضمن هذا النطاق، كنت في الواقع
معرفة كيفية كبيرة يكون النطاق، ومن ثم
يمكنك توسيع نطاق الأساس عنه، وهو ما يقوم به هذا.
>> ب ناقص يمنحك هذا النطاق، و الفرق بين هذه الأرقام.
يمكنك مضاعفة بين 0 و1، ومن ثم إضافة فقط
يعني بأن ما تتمتعون به رفع عنه ذلك أنه من بين أ و ب،
الذي لم أكن أحب هذه المشكلة حقا.
كما قلت، هذا الاختبار ومن المفترض أن يشمل
الناس الذين هم أقل راحة، في مكان ما بين،
وأكثر راحة.
حتى لو أنها جعلت من ذلك أنه شيء
أن كل شخص في أقل مكان مريح ستحصل،
سيكون لدينا عدد كبير جدا من الناس يتقن التهديف،
وسيكون أكثر راحة يكون بالملل.
>> بحيث يصبح لديهم دائما هذه نوع من الأسئلة دعابة الدماغ
التي من المفترض أن تكون أصعب قليلا تأخذ بعض التفكير الإبداعي.
عندما كنت انظر اليهم، لا تحصل متعكز أيضا.
وأود أن أقول بالتأكيد الوجه من خلال المسابقات الخاصة بك أولا.
معالجة المشاكل عليك أن تعرف ما تستطيع،
لأنه ليس هناك استخدام يعلقوا على مشكلة عندما يكون هناك ثلاثة
أو أربعة أو خمسة على الصفحة بعد ذلك يمكنك القيام بذلك بسهولة.
>> الجمهور: لماذا بالضبط هل اضربها مجموعة؟
>> ZAMYLA تشان: هل مضاعفة النطاق الذي كنت know-- انها مثل كم بعد
هل تريد؟
لذلك يمكن ان يخطر لك، لأنه إرجاع رقم بين 0 و 1،
يمكنك التفكير في الأمر كنسبة مئوية.
حتى انها في الأساس قائلا اذا كان لدينا خط الأعداد لدينا هنا، وهنا،
وب هنا.
كنت مثل كم مضى من هو؟
هو كل شيء نقوم به.
لذلك كنت أسأل فقط ل نسبة هذا النطاق، والتي
ما هي انها تعطي لك.
ثم أنت في الأساس فقط توسيع نطاق عنه بإضافة.
انها دعابة الرياضيات الدماغ.
>> إذا كان هناك أي مشورة اللحظة الأخيرة، و أن أقول الوجه من خلال الأسئلة،
معرفة تلك التي أعرف أن مثل، يا أنا حصلت على هذا.
شبه المؤكد انهم ذاهبون ل أن تكون الأسئلة التي لن تعرف
أو أنك ستكون لدينا الوقت ل، حتى ضرب نقاط القوة الخاصة بك، موافق؟
يا رفاق ذاهبون إلى كبيرة.
هناك الكثير من أسئلة لسبب ما،
بحيث يكون لديك الوقت ل لديهم نوع من الفرصة
لإثبات ما كنت جيدة حقا في.
ذلك انه موافق إذا كنت ليست جيدة في كل شيء.
تلعب على نقاط قوتك.
نعم؟
>> الجمهور: فهل هذا الذهاب الى العودة اقتطاع شيء ما؟
نعم، سيكون، لأن drand العوائد بين 0 و 1.
انها سوف تعود على الباحث، لأنه سوف اقتطاع
عندما نضيف أو ضرب به.
بارد.
أي أسئلة اللحظة الأخيرة؟
>> يا رفاق ذاهبون للقيام عظيم.
وأنت تسير لتكون رائع.
وحتى لو لم يكن كذلك، سوف هناك تكون الحلوى هنا الاسبوع المقبل.
وأنا أحبك.
أنا أحبك الرجال بغض النظر.
كل الحق، والجميع، ونتمنى لك التوفيق.
لدينا وقت كبير.
وأنت تسير على ما يرام.
وأنت تعرف لماذا؟
في يومين انه سيكون أن تكون قد انتهت، في حين أنا
لدينا اثنين من انتخابات التجديد النصفي يوم الخميس، وذلك على الأقل سيتم ذلك يا رفاق.
كل الحق، أنا أراكم اللاعبين الأسبوع المقبل.