LUCAS FREITAS: OK، أعتقد الآن نحن الحية. مرحبا بكم في CS50 Supersection. نحن أقل مريحة. اسمي لوكاس فريتاس. أنا واحد CS50 رئيس TFS. هذا هو لورين. لورين CARVALHO: مرحبا، أنا لورين. أنا أيضا رئيس فريق العمل لCS50. LUCAS FREITAS: اليوم نحن مجرد الذهاب لإعطاء لمحة عامة عن كل ما كنت تعلمت الرجال في أسبوع واحد، ونأمل لتعطيك اللاعبين جيدة بمعنى أن ما يجب أن تعرفه لمشكلة مجموعة واحدة. إعلانات مجرد زوجين. في المقام الأول، ساعات العمل. ساعات العمل التي تحدث من الاثنين إلى الخميس في منازل مختلفة في أننبرغ كل يوم. انهم موردا جيدا للغاية بالنسبة لك الرجال ليأتي وطرح الأسئلة، و التحدث مع TFS، وحتى الصرف الأفكار مع الطلاب الآخرين. لذا يجب التأكد من استخدام تلك الموارد في صالحك. الشيء الثاني هو CS50 جهاز. للمشاركة [غير مسموع] لم يا رفاق لا يجب أن الواقع لها الأجهزة. كنت فقط فعلت كل ما في و الكمبيوتر الشخصي الخاص بك. ولكن لهذه المشكلة، لديك فعلا لديك جهاز ظاهري، بحيث تكون تأكد من تحميل CS50 الأجهزة وإعداده. والشيء الثالث هو أن تكون متأكدا من أن تبدأ المشكلة في اسرع وقت ممكن تعيين فقط لأنه من الأسهل بكثير للعثور على مساعدة عندما كنت في ابتداء من الأسبوع. لأن الناس يميلون إلى الانتظار حتى الثاني الماضي لبدء مجموعة المشكلة، ثم تذهب إلى ساعات العمل، وهناك الكثير من الناس. حيث إذا ذهبت يوم الاثنين، وأنت تسير لمعرفة أنه يمكنك التحدث إلى TFS الى حد كبير ليلة كاملة، وانهم ذاهبون أن يكون أكثر من سعداء لمساعدتك. لورين CARVALHO: هل يمكنني تتوقف فقط كنت لمدة ثانية واحدة فقط؟ والجميع كان قادرا على تحميل وCS50 جهاز؟ لقد حاول الناس؟ LUCAS FREITAS: لتحميل، من الطريقة، يمكنك الحصول على الإرشادات في cs50.net/appliance. لورين CARVALHO: الحق. والأمر يستغرق بعض الوقت لدينا مدراء أنظمة لتحصل على ترخيص المفتاح، وذلك الاشتراك في محاكمة الحرة الأولى. بهذه الطريقة سيكون لديك لمدة 30 يوما، ومن ثم الانتظار لمفتاح الترخيص الخاص بك التي ينبغي إعطائها لك لمدة عام. LUCAS FREITAS: أولا وقبل كل شيء، دعونا نتحدث قليلا حول جهاز CS50. الجهاز CS50 هو في الواقع الظاهري الجهاز الذي كنت تريد الذهاب ل تشغيل في جهاز الكمبيوتر الخاص بك الذي هو أساسا تشغيل كمبيوتر آخر داخل جهاز الكمبيوتر الخاص بك. الذي هو بارد جدا. والواقع انها تستخدم في كل مكان. كان الناس الذين يعرفون أن لالتكنولوجيا هذا ويستخدم في كل وقت. لك؟ يمكن أن يكون العديد من أجهزة الكمبيوتر في جهاز واحد. دعونا نلقي نظرة الواقع في جهاز. عندما تذهب إلى جهاز بعد تسجيل، وأنت تسير لدينا ل وضع اسمك وتسجيل الدخول إلى هارفارد ولذا فإننا يمكن أن تحصل على جميع المسجلين. أنت ذاهب لرؤية أساسا مجرد ورق الجدران، ثم الرئيسية والقمامة، ثم هذه الرموز قليلا. هذه الرموز الثلاثة هي في الواقع أكثر الأمور الهامة التي يمكن أن يكون في الأجهزة الخاصة بك. أول واحد هو gedit، وهو النص محرر، تماما مثل المفكرة أو ما شابه أي نوع من محرر النصوص. انها مجرد شيء التي نستخدمها لكتابة رمز وثم تفعل أشياء معها. الشيء الثاني أننا دينا هنا هو كروم. حتى إذا كنت بحاجة إلى استخدام الانترنت في الأجهزة، وهذا ما يمكنك استخدامها. والشيء الثالث هو محطة، الذي هو في الواقع حلوة جدا. الناس عادة هي نوع من الخوف من المحطة لأنه هذا جدا تطبيق الطراز القديم الذي كنت فقط اكتب في الأساس كل شيء مع لوحة المفاتيح. ليس هناك الكثير من التفاعل مع الماوس. ولكن في الواقع محطة يفعل أشياء جيدة جدا. بادئ ذي بدء، دعونا اذهبوا من خلال بعض الأوامر التي يمكن استخدامها في المحطة. لورين CARVALHO: وتتردد في وقف لنا إذا كان لديك أي أسئلة. LUCAS FREITAS: نعم. وبالتالي فإن الأمر الأول أن لدينا للمحطة هو ليرة سورية. ليرة سورية يعني أساسا قائمة كل شيء، كل الملفات وجميع أعضاء مجلس الإدارة، أن لدي في المكان الذي أنا في. حتى لو كنت تفعل ليرة سورية هنا، وانا ذاهب لرؤية أن لدي بعض الدلائل. لدي سطح المكتب، والتنزيلات، و سجلات، وVHOSTs. تلك هي باللون الأزرق لأنهم كلها الدلائل. ثم لديك بعض الملفات الأخرى. لديك مثل مرحبا وhello.c، التي هي ملفات فقط، وأنهم في ألوان مختلفة. لذلك هذا هو أمر مهم جدا فقط يمكنك ان ترى ما هي الملفات والدلائل التي لديك في الدليل الذي كنت في في المحطة. عندما ترى jharvard @ الأجهزة و ثم رمز قليلا هناك، و تيلدا، وهذا يعني فقط أن هذا هو الدليل أنك في هذه اللحظة. لورين CARVALHO: حتى كتابة يرة سورية هو تقريبا مثل النقر على المجلد مسرود الحق هناك، في ذلك البرامج لكم جميعا من المحتويات التي هي داخل هذا المجلد. الحضور: هل هناك نص بعد hello.c؟ لورين CARVALHO: أوه، لا يمكنك نرى أن، لانها زرقاء. LUCAS FREITAS: وتقول سجلات وVHOSTs. لورين CARVALHO: تلك هي فقط مجلدات أخرى. أنا آسف، فإنه من الصعب حقا أن نرى. ربما لو لجأنا الأنوار؟ كولتون، هل تريد أن تجرب و العثور على مفتاح الضوء؟ آسف لذلك. لم أكن أفكر في ذلك. LUCAS FREITAS: ولكن في الاساس - نعم، إذا كنت تستطيع - لورين CARVALHO: تكبير الشاشة. LUCAS FREITAS: أنا لا لديها هذه الميزة. لورين CARVALHO: [غير مسموع]. موافق. حسنا، هناك فقط الكثير من الطبيعية الضوء في هذه القاعة أيضا. LUCAS FREITAS: دعونا نفترض فقط أن هناك نوعان من الدلائل الأخرى هناك. لورين CARVALHO: تحمل فقط معنا. هذا هو الجزء الوحيد الذي عليك أن تبحث في المحطة. LUCAS FREITAS: الأمر التالي هو في الأساس ربما كنت ترغب في تنظيم ملفاتك - على سبيل المثال، جميع الملفات الخاصة بك C في واحد الدليل، ولكن لم يكن لديك ل الدليل لمجرد C ملفات حتى الآن. يمكنك إنشاء أساسا الدليل استخدام المعبر أيضا، والذي هو نفس الشيء مثل النقر بزر الماوس الأيمن وقوله مجلد جديد. الأمر هو جعل الدليل، الذي هو إنشاء مجلد، وذلك أساسا "جعل" و "الدليل". ثم يمكنك وضع اسم الدليل. دعنا نقول أنني أريد أن يسمى، أنا لا أعرف، دعونا نقول pset1 القيام هذا، وأنا مجرد إنشاء دليل. دعونا تحقق فقط أنه هناك. حتى لو كنت تفعل ليرة سورية، والآن أرى سجلات، و ثم pset1، ثم VHOSTs. وذلك لدي الدليل الجديد هناك. ثم بعد أن يكون لديك دليل جديد، ربما كنت ترغب في التنقل الى ذلك، وبالتالي فإن هذا الأمر التالي مؤتمر نزع السلاح، وهو ما يعني في الأساس مجرد الذهاب الى دليل معين. حتى لو كنت أريد أن أذهب إلى pset1، يمكنني القيام به للتو مؤتمر نزع السلاح pset1. لورين CARVALHO: مؤتمر نزع السلاح لتقف على التغيير الدليل، [غير مسموع] قادرة على تذكر ذلك. LUCAS FREITAS: والآن ترى أن بدلا من مجرد وجود jharvard الأجهزة، لقد jharvard الأجهزة، ثم pset1، لأنها تظهر لي أين أنا في هذا الكمبيوتر. الآن إذا أريد أن أعود إلى الدليل الذي كان قبل هذا واحد، وأنا يمكن القيام به نقطة نقطة مؤتمر نزع السلاح، وهو ما يعني اذهبوا إلى الدليل الذي كنت عليه من قبل، مثل الأم لهذا الدليل، من حيث الأساس. والآن أرى أنني العودة إلى jharvard. والشيء التالي الذي أستطيع أن أفعل ذلك هو جمهورية مقدونيا، والذي هو إزالة ملف. على سبيل المثال، دعونا أولا القيام يرة سورية لمعرفة ما لدي هنا. مرحبا لدي وhello.c. دعنا نقول أن أريد لإزالتها. يمكنني القيام به جمهورية مقدونيا مرحبا. انها سوف يقول "إزالة الملفات العادية مرحبا "وأنا أقول"؟ نعم "، والآن إذا أنا قيام ليرة سورية، وأرى أنه من ليس هناك بعد الآن. إذا حاولت استخدام RM للدليل، على الرغم من أنه لن لتمكنك من فعل أي شيء. انها سوف يقول، مهلا، أنت لا يمكن إزالة الدليل. لذلك لدينا هذا يسمى RMDIR أخرى تأتي، وهو ما يعني في الأساس فقط إزالة الدليل. يمكنني، على سبيل المثال، قم بإزالة pset1. وإذا كنت تفعل ليرة سورية، وأنا لا يكون ذلك بعد الآن. أي أسئلة حول هذا الموضوع؟ لا؟ نعم؟ الحضور: هل من المهم أن تترك مسافة بعد - كلما البدء بكتابة شيء ما في؟ LUCAS FREITAS: نعم. إذا كنت تفعل مثل مؤتمر نزع السلاح والدليل، يجب أن أضع مسافة. ما الفضاء الذي تتحدث عنه؟ لورين CARVALHO: المسافة بين مؤتمر نزع السلاح و[غير مسموع]. LUCAS FREITAS: نعم، سيكون لديك ل وضع مساحات لمؤتمر نزع السلاح هو الأوامر، ثم السلسلة التالية التي لك هو في الأساس نوع الدليل. لذلك فمن مثل حجة. نعم؟ الحضور: عند سرد، كل هذه هي دلائل مختلفة، أليس كذلك؟ LUCAS FREITAS: نعم، أنها في الدليل. الحضور: ما هو الخلافات من بين الدلائل؟ LUCAS FREITAS: انهم فقط مجلدات مختلفة. الدليل هو مجلد في جهاز الكمبيوتر الخاص بك. الجمهور: فتح المجلد. LUCAS FREITAS: نعم، انها مجرد مجلد مفتوح. لورين CARVALHO: أكثر من هنا، تلك التي هي في الزرقاء هي الفعلية الدلائل التي يمكن أن تحصل في و ثم نرى حفنة من الأشياء التي هي في غضون ذلك، وهو أمر مؤسف لأنك لا يمكن قراءة الواقع منها باللون الأزرق. وتلك في الأبيض فقط هي ملفات التي هي داخل الدليل الحالي. LUCAS FREITAS: لذا الدلائل هي المجلدات. تلك هي ملفات أخرى. الحضور: ما هو الأمر لإعادة تعيينها أو لمسحها؟ LUCAS FREITAS: لمسح؟ لورين CARVALHO: لمسح؟ LUCAS FREITAS: أعتقد انها "واضحة". نعم. لذلك أنت فقط اكتب الواضح ما إذا الشاشة هو فوضوي للغاية. أي أسئلة أخرى؟ وسوف تتعلم حفنة من غيرها أوامر فقط بشكل طبيعي خلال فصل دراسي لأنهم مفيدة جدا. حتى الآن دعونا نتحدث عن تجميع. تحدثنا عن شبة الكود و شفرة المصدر ورمز الكائن. وهناك الكثير من الرموز، وربما يا رفاق هي الخلط حول ذلك. دعونا نتحدث قليلا عن ما يحدث عندما كنت كتابة برنامج، ويمكنك ترجمة ذلك، ويصبح ملف تنفيذي. تلك هي جميع الكلمات التي يا رفاق ربما سمع، وربما كنت لا متأكدا حقا ما يجري. دعونا نقول، على سبيل المثال، التي أريد أن كتابة برنامج الذي يقول "مرحبا". ال أول ما يتبادر في ذهنك هو كنت نوع من محاولة التفكير في كيف كنت ذاهب للقيام بذلك في عقلك، و ربما كنت أفكر في اللغة الإنجليزية أو بعض اللغات الأخرى، مثل الطبيعية اللغة، على الأرجح. ثم كنت تعتقد، أيضا، إذا أريد ل، على سبيل المثال، كتابة البرنامج الذي ويقول "مرحبا"، وأود أن تبدأ برنامج، وسوف طباعة مرحبا، وبعد ذلك سوف إنهاء البرنامج. هذا هو شبة الكود. هو مجرد أساسا كنت تحاول هذه ل تأتي مع تسلسل الأحداث ان كنت تنوي القيام به لتكون قادرا على كتابة البرنامج. ثم لديك شفرة المصدر، و لا يملك شفرة المصدر ل يكون على وجه التحديد في C. نحن نتحدث حول التعليمات البرمجية المصدر في C لأن هذا هو اللغة نحن نتعلم، ولكن بالطبع رمز يمكن أن يكون الى حد كبير أي لغة البرمجة التي لديك. في وقت لاحق في فصل دراسي، وأنت تسير لتعلم لغات أخرى. وهذا أيضا شفرة المصدر. على سبيل المثال، هنا، وهذا هو مصدر بلدي رمز، ثم أنا بينهم المكتبة، ثم أبدأ الرئيسية، وبعد ذلك طباعتها. ولورا سوف نتحدث قليلا قليلا عن كل هذا. لذلك هذا هو رمز المصدر. وما هو رمز الكائن؟ الكائن هو مجموعة من الأصفار ومنها، في الأساس. ما يحدث هو أن يكون لديك في البداية شبة الكود الذي هو كل شيء في اللغة الإنجليزية. وأعني، أن تفهمها. ربما أصدقائك فهم ذلك، ومعظم الناس سوف فهم الفكرة. ولكن أجهزة الكمبيوتر هي غبية حقا، وأنها لا يفهمون اللغة الإنجليزية، لذلك كنت وترجمة ذلك إلى شيء، تترجم عادة إلى بعض لغة البرمجة. ويمكنك التفكير في البرمجة اللغة كنوع من مثل لغة أن تخبر كيف جهاز الكمبيوتر الخاص بك في الكلام والفهم. كنت أساسا في كتابة شيء لغة أن كلا منكم ولكم الكمبيوتر فهمها. هذا هو شفرة المصدر. لذلك يذهب إلى شكل شبة الكود المصدر الرمز، والامر متروك لك. انها في الاساس تفعل البرنامج. ولكن المشكلة هي أن الكمبيوتر لا حتى فهم لغة البرمجة. فإنه لا يفهم شفرة المصدر على الإطلاق. فعلا يفهم فقط والأصفار منها. لذلك لدينا هذا الشيء السحري للغاية ودعا مترجم، والتي هي في الأساس يذهب للحصول على مصدر دعا أنك كتب بلغة كلا لك وجهاز الكمبيوتر الخاص بك الكلام، والآن أنت الذهاب الى تحويل هذا في والأصفار منها. وذلك أساسا ما يفعله هو مترجم فإنه يحصل على شفرة المصدر، في هذه الحالة C، هو ذاهب لتحويلها إلى أصفار ومنها أن الكمبيوتر يفهم ويمكن أن يكون لها الملف القابل للتنفيذ للخروج منه. فهل هذا يعقل؟ يمكنك مجرد التفكير في المجمع كما بعض النوع من الترجمة وهذا هو مما يساعدك على شرح لجهاز الكمبيوتر بالضبط ما يفترض القيام به. ولكن كيف يمكنني تجميع. دعونا نعود إلى الأجهزة، و دعنا نقول أن أفعله هذا البرنامج. أولا أنا ذاهب لإنشاء دليل هنا، وأنا ذاهب إلى نسميها "الممارسة". الآن انا ذاهب للتنقل إلى الدليل، لذلك الممارسة مؤتمر نزع السلاح. الآن أنا داخل الممارسة. الآن أريد أن أبدأ gedit، فكيف أفعل ذلك؟ أنا يمكن إما انقر هنا، أو يمكنني فقط اكتب حرفيا "gedit"، وانها تسير لفتح بالنسبة لي. الآن أنا ذاهب إلى كتابة برنامج بلدي، لذلك بالضبط ما كتبته في الشريحة. أنا معلنا مكتبة. أفعله الباحث الرئيسي، باطلة. والآن أنا أفعل printf، مرحبا. الآن انا ذاهب لحفظ هذا. اسمحوا لي أن وضعه موضع التنفيذ، و أنا ذاهب لاستدعاء هذا hello.c. وحتى الآن يتم حفظه. إذا كنت ترغب في ترجمة عليه، وأنا فعلا تستطيع ان تفعل ذلك في مكانين مختلفين. أستطيع أن أفعل ذلك إما في إطار محطة طرفية، لذلك هذا واحد كبير، أو يمكنك استخدام gedit أن لديه في الواقع نافذة طرفية هنا. حتى تتمكن من القيام مريح جدا فقط التعليمات البرمجية الخاصة بك، ثم يمكنك كتابة فقط مهما هنا، ومحاولة ترجمة ذلك. فكيف يمكنني ترجمة التعليمات البرمجية؟ أسهل طريقة التي لدينا هي باستخدام جعل، وهي الوظيفة التي يجري أساسا ل ترجمة التعليمات البرمجية الخاصة بك. عليك فقط أن أقول مرحبا جعل، لذلك "جعل" واسم البرنامج. عفوا. هذا هو حرج. لورين CARVALHO: هل لك أن [غير مسموع]؟ LUCAS FREITAS: آسف. لم أكن حفظه في الدليل الصحيح. تأتي لممارسة، والآن حفظه ك hello.c. أنا آسف. الآن يتم حفظه. اسمحوا لي أن تفعل ليرة سورية، وتكون متأكد أنه من هنا. موافق، والآن حان هنا. حتى الآن إذا كنت لا تجعل مرحبا، فإنه يبصق على الكثير من الاشياء، ولكن بعد ذلك يعطي فقط لي خط آخر للمحطة، والتي يعني أنه كان ناجحا. حتى الآن إذا كنت تفعل ليرة سورية مرة أخرى، وأنا فعلا انظر هذا الملف باللون الأخضر، الذي هو الملف القابل للتنفيذ. ثم إذا أريد لتشغيله، كل ذلك يجب أن أقوم به هو مائل نقطة مرحبا. انها تسير ليقول مرحبا الحق هنا، لذلك انها بالضبط ما أنا أسأل ل. هناك أكثر من طريقة لتجميع و الذي يستخدم رنة. رنة هو مجرد مترجم التي لدينا، وانها اكثر قليلا مطول ل ترجمة عليه. لكنه يعمل فقط كذلك. حتى لو كنت تفعل رنة، ثم س، ومن ثم الاسم الذي أريد أن أعطي ل الملف القابل للتنفيذ، لذلك دعونا نقول "مرحبا". ثم الملف الذي أريد لتجميع، hello.c. انها تسير أيضا إلى تجميع. وكان لديك ملف هنا، و يمكنني فقط تنفيذه كذلك. لذلك كل منهم يعملون. فهل هذا يعقل؟ أي أسئلة؟ الحضور: يمكنك التكبير في قليلا؟ LUCAS FREITAS: عذرا؟ الجمهور: التكبير؟ لورين CARVALHO: أعتقد أنك يمكن فقط أمر زائد. LUCAS FREITAS: أمر ما؟ لورين CARVALHO: أمر زائد. LUCAS FREITAS: رقم لورين CARVALHO: أوه، هذا ليس الذهاب إلى العمل لأنه - انها لأننا تعيين دقة لهذا الشيء. LUCAS FREITAS: أنا لا أعتقد أننا يمكن تكبير. نعم، ونحن لا يمكن تكبير. هل لديك سؤال آخر؟ آسف. الحضور: هل يمكنك تكرار رنة؟ LUCAS FREITAS: ورنة؟ رنة هي نفس الشيء مثل جعل، ولكن الفرق هو أن الأول سأشارك لكتابة رنة، وهو الأمر، ثم انا ذاهب الى القيام -0، قبل كل شيء، والذي هو فقط ما نحن ذاهبون ل تعلم فيما بعد باسم العلم. حتى مجرد التفكير بأنك دائما لديك لوضع س. ثم الأولى، وأنت تسير لوضع اسم الملف القابل للتنفيذ، أساسا الملف الذي كنت الذهاب الى خلق. لذلك أستطيع أن أقول، على سبيل المثال، hello2 و ثم الملف الذي أريد أن تجميع، وهو ملف ج. ذلك أن hello.c. فهل هذا يعقل؟ الجمهور: مرحبا ماذا؟ ما هذا؟ LUCAS FREITAS: Hello.c. وإذا كنت ترجمة عليه، وإذا أنا لا يرة سورية، ولدي أيضا hello2 أنني جمعت فقط. وإذا حاولت تشغيله، انه سيكون ل تفعل بالضبط نفس الشيء مثل مرحبا، مجرد طباعة مرحبا. الحضور: كيف تأتي لجعل يمكنك وضع hello.c بعد؟ LUCAS FREITAS: في جعل، لك لم يكن لديك لوضع ج. في جعل، ويقول لك فقط اسم البرنامج. لم يكن لديك لتقوله. ج. ولكن لرنة، يجب عليك. الحضور: مع رنة هل أيضا عليك إضافة [غير مسموع] لورين CARVALHO: نعم. بحيث يكون لديك أيضا إلى المكتبة. LUCAS FREITAS: نعم، هذا شيء نحن ذاهبون لاستخدامها لاحقا. وهذا ما يسمى ربط، وأعتقد أننا سنتحدث عن ذلك لاحقا. سؤال آخر؟ الحضور: هل وضع على رنة نقطة مائلة؟ LUCAS FREITAS: رقم مائلة للنقطة هو فقط لفتح الملف القابل للتنفيذ. حتى رنة، كنت أكتب فقط "رنة"، و ثم إذا كنت ترغب في فتح ملف القابل للتنفيذ الذي كنت للتو المترجمة، ثم لم تنتشر خفض واسم. فهل هذا يعقل؟ الجمهور: لو كنت لمجرد التغيير [غير مسموع] إلى العالم مرحبا، هل لديك إلى إعادة ترجمة ذلك؟ LUCAS FREITAS: نعم. إذا كنت أريد أن أقول، على سبيل المثال، "مرحبا هناك، "يمكنني فقط حفظه الآن، وأنا مجرد ترجمة عليه مرة أخرى. لذلك اسمحوا لي القيام جعل مرحبا. وإذا كنت تفعل مرحبا، انه سيكون ل ويقول "مرحبا هناك." من المنطقي؟ أي أسئلة أخرى؟ الحضور: هل لديك لتشمل المعيار I / O لتنسيق العمل؟ LUCAS FREITAS: نعم. وأنا القياسية / O هو في الأساس المكتبة التي تحتوي على لتنفيذ printf. حتى هذا الحق شيء على يتضمن أعلى stdio و. وهذا هو بما أن مكتبة في الأساس مجموعة من مختلفة الأدوات التي يمكنك استخدامها. واحد؟ واحد منهم هو printf التي هي وظيفة أن الأساس يطبع رسائل إلى الشاشة. أي أسئلة أخرى؟ لا؟ موافق. حتى الآن دعونا نتحدث عن - لورين CARVALHO: دعنا فقط انتقل إلى دليل الاسلوب. هل تريد فقط العثور عليه هنا؟ LUCAS FREITAS: لذلك نحن ذاهبون للحديث عن الاسلوب. لورين CARVALHO: أوه، ديفيد لم تنته. موافق. لماذا لا نعود ل النمط في نهاية جدا؟ في الواقع تم تحديثه ونحن نتكلم. LUCAS FREITAS: نعم. دعونا طريقة لديفيد لإنهاء ذلك. لورين CARVALHO: هل يمكن نحن التبديل في الواقع؟ لذلك آمل لقد الجميع تتمتع خدش. للأسف، لقد حان الوقت ل الابتعاد عن هذا - للأسف لقد حان الوقت للابتعاد من هذه الكتل البرمجة جميلة إلى C. ولكن لحسن الحظ، كل من البرمجة يبني أن قمت تم العمل مع في خدش و ترجمة مباشرة إلى C، ونحن سوف تبدأ لمعرفة المزيد عن بعض منهم الآن. دعونا نتحدث أولا عن الظروف في التعبيرات المنطقية. هذا يعمل على الاحتياطي طاقة البطارية. LUCAS FREITAS: كيف هو التي لا تعمل؟ موافق. كنت أذهب إلى هناك، وأنا ذاهب للحصول على - لورين CARVALHO: حتى تكون الظروف مهمة لأنها تسمح لنا إدخال المنطق في برامجنا. وهنا مثال على حالة ضمن برنامج C. دعونا نلاحظ كيف أن هذا - حتى هذا الشرط كتلة الحق هنا، وهذا وسوف يتم تنفيذ بيان printf ما لم يكن الشرط ضمن قوسين، ن أكبر من 0، يقيم إلى true. الآن، كل الأوضاع داخل و التصريحات هي تعبيرات منطقية، وهو ما يعني أن هناك سوى اثنين من الخيارات. يمكنهم تقييم إما إلى true، أو أنها يمكن تقييم إلى false. حتى هنا، لذلك هذا أمر منطقي، أليس كذلك؟ ن أكبر من 0، يعني أنها إيجابية العدد، مما يعني أنه سيتم طباعة خروج "اخترت رقما موجبا." هناك الكثير من التعبيرات المنطقية التي يمكن أن تشكل حالة مع بيان الحرف الأول. لدينا أقل من. هذا هو أقل من أو يساوي. هذا هو مجرد مضحك [غير مسموع]. إذا كنت ترغب في أن يحدث إذا printf انها أكبر من أو يساوي 0، ثم هذا من شأنه أن تختار. وبالتالي فإن المساواة في الحق فقط بإلحاق بعد أكثر من علامة. متساوية على قدم المساواة، والذي يختلف من واحدة فقط علامة المساواة، وتكافؤ متساوية يعني في الواقع أن كل ما حول الجانب الأيسر من هذا هو نفس ما هو على الجانب الأيمن من هذا حيث يساوي واحد ما هو؟ ما هي واحدة فقط علامة المساواة؟ الاحالة. LUCAS FREITAS: من قال هذا؟ هو أن الحلوى؟ أوه، لا. آسف. آسف. كنت على حد سواء الحصول على الحلوى. أوه، حسنا! ثلاثة أشخاص الحصول على الحلوى! لورين CARVALHO: إذن هذا الحق واحد هنا هي المشغل الانفجار السابقة علامة المساواة، ذلك أن لا يساوي. حتى إذا كان هذا ضمن وضعي، جسد حالة من شأنه تنفيذ إلا إذا ما في اليسار هو ليس نفس ما هو على حق. أنا يمكن أن يكون أيضا مجرد تعجب. في الواقع سنرى في سمة الشريحة كيف ستستخدم هذه. LUCAS FREITAS: أي أسئلة؟ لا؟ لورين CARVALHO: نحن لا يمكن الجمع بين هذه تعبيرات منطقية لبناء أكثر عبارات الشرطية المعقدة. حتى هنا، إذا ما وعلى اليسار الجانب من القضبان أو مزدوجة كل ما هو على الجانب الأيمن من قضبان مزدوجة بتقييم إلى true، ثم سنقوم بطباعة صالح. ثم إلى هنا، إذا ما و على الجانب الأيسر من اثنين اقحام ومهما على الحق الجانب من اقحام اثنين يقيم إلى true، ثم سنقوم بطباعة صالحة. وتسمى قضبان مزدوجة المنطقية أو المشغل اقحام المزدوجة يسمى العامل المنطقي AND. نعم؟ الحضور: هل هذه فقط الحالة الأدنى L'ق؟ لورين CARVALHO: رقم انهم في الواقع - كنت تعرف رد فعل عنيف، مثل أعلاه مفتاح العودة الخاصة بك؟ هل ترى ذلك؟ LUCAS FREITAS: انها فعلا بار. لورين CARVALHO: انها في الواقع اثنين فقط من القضبان. الحضور: هل لك أن استخدام متساوية متساوية للسلاسل؟ LUCAS FREITAS: رقم ونحن في طريقنا لمعرفة وقت لاحق شيئا عن ذلك. لورين CARVALHO: هناك وظيفة التي يمكنك استخدامها. ولكن لم يكن لديك ل يشعرون بالقلق من ان فقط حتى الآن. ماذا لو أعطي هذا البرنامج عدد 5؟ ما سوف تطبع؟ الحضور: [غير مسموع] صالحة. لورين CARVALHO: صالحة؟ نعم. أنا لا أعرف الذين حصلوا على ذلك. [ضحك] لورين CARVALHO: هذا النوع مخيفة [غير مسموع]. الحضور: إذن مزدوجة و، هذا يعني فقط و؟ لورين CARVALHO: نعم. حتى عدد 5 على حد سواء أكبر من 0 وأقل من 100. الحضور: لماذا سيكون من واحد؟ لورين CARVALHO: واحد هو العطف في الواقع شيء مختلف، وانها عامل أحادي المعامل، والتي عليك معرفة وقت لاحق. ولكن هذا شيء أن يعمل فعلا مع البتات من عدد معين. LUCAS FREITAS: مجرد التفكير لم يفعلوا ذلك داعي للقلق حول هذا الموضوع في الوقت الراهن. لورين CARVALHO: أعتقد أنه على الأرجح الخروج الاسبوع المقبل. LUCAS FREITAS: أي أسئلة أخرى؟ لا؟ لورين CARVALHO: وهكذا رأينا أن ل فإنه يمكن منع تقف وحدها، ولكن ما في وسعها كما أن يقترن كتلة وآخر. حتى في هذه الحالة، إذا كان n أكبر من 0، ونحن في طريقنا للطباعة "أنت اختار رقما موجبا. "آخر، وهذا يعني إذا كان 0 أو إذا كان أقل من 0، ونحن في طريقنا للطباعة، "أنت التقطت عددا سلبية." والشيء المثير للاهتمام هنا هو أن هذه هي حصرية من بعضها البعض. انها هناك لن تكون قضية الذي هذا وهذا على حد سواء يمكن طباعة. أنا متأكد من أنك عملت مع لو / آخر في مربع الصفر، لذلك ينبغي أن يكون هذا مألوفة جدا. نعم؟ الحضور: هل نحن بحاجة إلى الفضاء بين ن الباحث يساوي GetInt ثم في الفضاء إذا البيان؟ مثل نستخدم خط [غير مسموع] لورين CARVALHO: أوه، الفضاء هنا؟ الحضور: مثل ذلك، ولكن كنت مضاعفة الفضاء. لا، ترتفع. ترتفع. LUCAS FREITAS: فقط الخط؟ الجمهور: نعم. LUCAS FREITAS: مجرد سطر فارغ؟ الجمهور: نعم. لورين CARVALHO: خط فارغ؟ لا. هذا مجرد شيء الأسلوبية. LUCAS FREITAS: انها مجرد مثل في بعض الأحيان كنت مجرد تخطي بعض الخطوط حتى أن الرمز لا تبدو وكأنها كتلة ضخمة من النص. لورين CARVALHO: أعتقد أن ما حدث وكان أن كان لدينا تعليق هنا، لكنني قد أخرج العلبة بحيث يا رفاق سيكون لها للتفكير حول رمز بدلا من مجرد قراءة تعليقي. بشكل عام، لن تباعد حقا تؤثر على الطريقة التي تدير البرنامج. إنها أكثر من شيء الأسلوبية. وعندما يكون لدينا دليل على غرار تحديث وعلى استعداد للذهاب بحلول نهاية supersection، سنتحدث عن ذلك أكثر. هناك شيء خاطئ مع هذا البرنامج، أليس كذلك؟ لأن 0 ليس حقا رقم سالب. لذلك دعونا نرى ما اذا كنا نستطيع تحديد ذلك. ربما يمكنك تخيل مع هذا يقول، أليس كذلك؟ إذا كان n أكبر من 0، ونحن طباعة "، يمكنك اختار عدد موجب "، ثم آخر إذا كان n أقل من 0 "أنت اختار رقم سالب. "آخر،" أنت التقطت 0 ". الآن الشيء المثير للاهتمام هو أن وهذا يمكن أن تستمر إلى الأبد. هل يمكن أن يكون إذا كتلة، وهي آخر إذا كتلة، وآخر الا اذا كتلة، الا اذا، والا اذا، الا اذا، آخر، في الأساس طالما تريد. وعندما شيدت من هذا القبيل، هذه كلها ستكون الحصري لبعضها البعض. نعم؟ الحضور: لماذا لا يمكنك استخدام فقط آخر إذا بدلا من (غير مسموع)؟ لورين CARVALHO: في هذه الحالة، نعم أنا يمكن استخدام آخر إذا، وأنه سيكون غرامة على الاطلاق لأن الشروط هي نفسها الحصري لبعضها البعض. ولكن إذا كانت الظروف غير حصرية من بعضها البعض، وهذا من شأنه إجبارهم على حد سواء أبدا تقييم، إذا كان هذا الأمر يبدو معقولا تماما. الحضور: في هذه الحالة، يمكن لنا عش الثاني إذا كان في الأولى إذا؟ لورين CARVALHO: إذا - ماذا تقصد؟ الحضور: إذا شرطين لا يستبعد بعضها بعضا؟ لورين CARVALHO: إذا كانت الشروط لا يستبعد بعضها بعضا؟ ولكن كنت تريد واحدة منها فقط لتشغيل؟ الحضور: أنت تريد فقط إذا بدلا من آخر. لورين CARVALHO: نعم. هناك دائما ما يكون الكثير من الطرق التي يمكنك القيام بذلك. يمكنك بالتأكيد عش لهم. وسترى في شريحة المستقبل أن هل يمكن أن يكون استثناءات متعددة، واحد فقط بعد آخر. ولكن هذا هو وسيلة لمنطقيا تنظيم تدفق البرنامج. LUCAS FREITAS: وهناك واحد أكثر الشيء، هو أنك سألت عن وضع إذا ثم آخر إذا. ومن شأن ذلك أن العمل على أكمل وجه، ولكن انها سيئة تصميم لأنه في الاساس إذا كنت تحقق أول إذا، وأنت تلاحظ أن عدد أكبر من 0، ل يمكن فقط إنهاء البرنامج. لم يكن لديك للتحقق مما إذا انها أقل من 0، أليس كذلك؟ ولكن إذا كنت لا لو لو، انها سوف تحقق كلا، في حين إذا أفعل إذا آخر غير، انها تسير للتحقق مما إذا انها أكبر من 0. إذا كان كذلك، فإنه لن ننظر حتى في خطوط أخرى من التعليمات البرمجية. لذلك كنت التدقيق في الأساس عليه مرتين دون داع، لذلك هذا هو السبب في أننا تفعل إذا آخر إذا. أي أسئلة أخرى؟ الحضور: وهكذا وظيفة من آخر إذا هو نفس إذا كان مجرد لو؟ لورين CARVALHO: رقم وأنت تسير في الواقع أن نرى في وجهتي المقبلة الشريحة مثال الذي يمكن تكون مختلفة. في هذه الحالة، انها تقريبا نفس. حتى هنا، لدينا مثال متعددة إذا كانت تصريحات، و وظائف ليست هي نفسها كما لو كنت قد قلت فقط إذا آخر، إذا آخر، إذا آخر. دعونا نفكر فقط حول ما يمكن أن طباعة ما إذا كنت أدخل رقم 95 في هذا البرنامج. الحضور: [غير مسموع] لورين CARVALHO: وبعد ذلك؟ الحضور: [غير مسموع] لورين CARVALHO: نعم. حتى في هذه الحالة، وهذه الشروط هي لا يستبعد بعضها بعضا من بعضها البعض. وأنه لا يوجد شيء وقف هذا الشرط من تقييم ما إذا كان هذا واحد لديه بالفعل، وانهم فقط كل ذاهب للطباعة. فكيف يمكنني إصلاح ذلك؟ الجمهور: IFS آخر؟ لورين CARVALHO: يمكنك استخدام IFS آخر. أتمكن من تغيير النظام من هذه، أليس كذلك؟ إذا فعلت هذا أول واحد؟ حسنا، في الواقع، لا. فإن ذلك لا تعمل ل95. LUCAS FREITAS: لا، مجرد استثناءات آخر. المؤسسة الدولية للعلوم وآخر: لورين CARVALHO كان إصلاح هذا. لا أن إزالة هذا اللبس بين المحاذير وآخر استثناءات؟ الجمهور: أردت فقط أن أطلب منكم، إذا أنت لم تستخدم الا اذا، فإنه يتوقف؟ لورين CARVALHO: الحق. وذلك فقط هذا أول واحد. إذا دخلت رقم 95، وهذا فقط قد طباعتها، وأنه لم قد تقدم إلى آخر. LUCAS FREITAS: مجرد نوع من التفكير كما لو حدث ذلك، القيام بذلك. وآخر هو مثل إذا لم يكن كذلك، الاختيار لهذا، ثم فعل ذلك. ذلك انهم جميعا مثل بعضها بعضا الحصري. لا يمكنك الحصول على تلك الى قسمين. الحضور: هل يمكنك استخدام منطقية ولهذا الوضع؟ لورين CARVALHO: نعم. هذا هو وسيلة أخرى أننا يمكن أن قد إصلاح هذه المشكلة. نحن يمكن أن يعرف يتراوح، أليس كذلك؟ حتى أتمكن من قال إذا كان n أكبر من 90 وأقل من - حسنا، أعتقد أن هذا واحد لا حقا يهم، ولكن هنا كان يمكن أن يقول إذا n أكبر من 80 وأقل من 90. أكبر من 70، وأقل من 80. قد عملت ذلك أيضا. [ضحك] LUCAS FREITAS: أنها خائفة. لورين CARVALHO: لا تخافوا. LUCAS FREITAS: انها ليست أنه سوف يكون من الخطأ. انها مجرد أنه لا داعي له مطول. كما هو الحال في علوم الكمبيوتر، وينبغي للمرء أن يكون بسيطا قدر الإمكان طالما لديك وظيفة. هل تريد حلوى؟ الحضور: لا حاجة إليها. لورين CARVALHO: أنت اخافة الجميع، لوكاس. LUCAS FREITAS: آسف. لورين CARVALHO: ذكر ديفيد أيضا هذه التبديل البيان في الصف. أساسا ما يحدث هو التحول بيان يأخذ متغير. في هذه الحالة، نحن مع عدد صحيح. إذا كان صحيحا هو 1، ونحن في طريقنا لل طباعة "، يمكنك اختار الصغيرة العدد. "إذا كان صحيحا هو 1،" أنت التقطت عددا المتوسطة ". إذا كان صحيح هو 3 "، يمكنك اختار عالية كان العدد. "وأنا أيضا الحالة الافتراضية إلى هنا، لكنه لا يظهر يصل، وهو أمر سيء للغاية. في الأساس، وهذا هو فقط جملة أخرى. أننا يمكن أن تنفذ هذا بالضبط نفس الشيء مع وإذا آخر إذا التصريحات. ولكن عندما يكون هناك الكثير من مختلف والكثير من الظروف المختلفة تنويعات على ما تريد القيام به ل كل المدخلات، وهذا هو الخيار. حتى انها مجرد جملة الجيد أن نعرف. نعم؟ الحضور: لماذا لا يوجد خط مائل عكسي ن في أول واحد؟ لورين CARVALHO: للحصول على ما يصل هناك؟ ليس هناك ن مائل الى هناك لأن GetInt - إذا حاولت ذلك، وأنها سوف تعطيك هذه المطالبة. أعطني عدد صحيح بين 1 و 3. وإذا وضعت رد فعل ن، أنه سيكون يأخذني إلى السطر التالي، ولكن أنا فقط أراد لهم أن اكتب عدد صحيح الحق بعد النقطتين. كنت قد وضعت رد فعل ن. انها ليست صفقة كبيرة. نعم؟ الحضور: لهذا الرمز، وهذا هو حالة واحدة، هي أنه بسبب انها الحالة الأولى؟ لأنه - لورين CARVALHO: لا، لا، لا. لذلك هذا هو تعطيني عدد صحيح بين 1 و 3. إذا كان n هو 1، وأنا طباعة هذا. إذا كنت قد طلبت للرسائل، وأنا يمكن أن يكون وقال تعطيني بريد إلكتروني بين ألف وC. ثم هذا سيكون الحال A. الحضور: [غير مسموع]. حالة أن مجرد [غير مسموع] لورين CARVALHO: نعم، هذا صحيح. نعم؟ الجمهور: ماذا لو كنت تريد أن يكون أكثر من التعبير العلائقية؟ وذلك بدلا من أن تقول ن يساوي 1، [غير مسموع] n أكبر من 1 في الحالة الأولى؟ لورين CARVALHO: في الواقع، إذا كنت لا تحديد بعض هذه الحالات، وهذا من شأنه أن تحمل إلى أسفل. ذلك في الواقع، وربما هذا ليس ما كنت طالبا. LUCAS FREITAS: أعتقد انها تسألك عما إذا كان الحال أكبر من ن 0، حالة أقل من 0. لورين CARVALHO: التحول ربما البيان ليس حقا ما تريد لاستخدامها في هذه الحالة. LUCAS FREITAS: البيان التبديل فقط للقيمة، لذلك كنت تريد التحقق من قيمة مثل هذا أو ذاك. لذلك لا يمكن في الواقع وضع الشروط. الحضور: ما إذا كان الشخص أنواع مع [غير مسموع]؟ لورين CARVALHO: كان يمكن أن يكون هذا الحالة الافتراضية بلدي، والتي للأسف لا يمكنك أن ترى. LUCAS FREITAS: [غير مسموع] جعلها نرى. لورين CARVALHO: في الواقع، أنت تعرف لماذا؟ دعونا اذهبوا للدراسة 50، وأنا لن مجرد التكبير في الشرائح على الدراسة 50، وذلك لأن هذا هو مجرد مزعج. لذلك اسمحوا لي فعلا إلى حالة. هذا هو مجرد الذهاب الى تأخذ بعض الوقت. حسنا. لذلك، أنا آسف. على الأقل الآن سنكون قادرين على رؤية كل شيء دون ذلك قطع. حسنا. حتى إذا وضعوا في 10، كنا الافتراضي هنا لحالة الافتراضي الخاص بي، وأنا أن مجرد طباعة غير صالحة لأنني طلب منهم إدخال عدد صحيح بين 1 و 3. أي أسئلة أخرى؟ نعم؟ الجمهور: دعونا نقول لحالة واحدة، حالة ثلاثة، ويقول لك أريد لها أن تكون جميع نفس الشيء، لذلك اخترت عددا هذا ليس عددا المتوسط. في هذه الحالة، فإنه سيكون زائدة عن الحاجة؟ هل مجرد تغيير النص في كل من منهم، أو يمكن أن تكون هناك بعض التكرار؟ هل هناك أي طريقة للجمع بين [غير مسموع]؟ لورين CARVALHO: هناك طرق ل الجمع بينهما، ولكن أعتقد أنك يمكن فقط الجمع بين تلك المجاورة. حتى لو كنت لا تعرف أي شيء لحالة اثنين، وهذا من شأنه تنطبق على كل الحالات. أوه، إذا أنا لم أضع أي شيء للقضية واحد، فإن هذا ينطبق على كل من حالة واحدة واثنين. إذا كان هذا الأمر يبدو معقولا تماما. الحضور: هل يمكنك تكرار ذلك؟ LUCAS FREITAS: OK. إذا كنت فعلت أساسا، مثل، لديك نفس الشيء، ولكن كنت لا تضع أي شيء هنا، تريد ان تكون اما ل حالة واحدة أو حالتين، القيام بذلك. أليس كذلك؟ وهذا يعني كسر إذا كنت تحصل على في هذه الحالة، وترك فقط. وهذا ما يعني أن الفرامل. لذلك إن أنا فعلت هذا، نظرتم، انها حالة واحدة، وكنت تفعل هذا فقط. إذا كان حالة اثنين، فإنه سيكون أيضا فقط يأتون إلى هنا وتفعل ذلك. الحضور: ولكن يمكنك أن تفعل ذلك؟ إذا كان هناك شيء لل حالة اثنين [غير مسموع] لورين CARVALHO: لا أعتقد يمكنك أن تفعل ذلك. لا أعتقد يمكنك تخطي حولها. يمكنك أن تفعل ذلك، روب؟ لا اعتقد هذا. الحضور: وهكذا فقط رقم واحد يمكن أن تذهب بعد هذه الحالة، أليس كذلك؟ لا يمكن أن يكون هناك حالة واحدة، فاصلة، وهما؟ LUCAS FREITAS: لا، لا يمكنك ذلك. أنت بالتأكيد لا يمكن. لورين CARVALHO: أعني، وهذه النقطة هي هذا هو الخيار، وليس هذا قد تناسب حالة استخدامك، لذلك فإنك ستستخدم إذا كانت الظروف. الحضور: لماذا كنت ستفعل ذلك؟ التبديل؟ لورين CARVALHO: وأود أن استخدام هذه إذا قمت بتعريف جدا - في الواقع، لوكاس، وكنت الحجب. LUCAS FREITAS: أوه، آسف. لورين CARVALHO: إذا كان لديك جدا السلوكيات المحددة التي تريدها ل كل المدخلات، قد يكون هذا قليلا أكثر إيجازا من الكتابة خارج وإذا البيان لكل واحد. الجمهور: ماذا يفعل كسر يعني مرة أخرى؟ لورين CARVALHO: فاصل يعني توقف. تذكر، إذا لم يكن لديك هذا الكسر هنا، فإننا قد انخفضت فقط بانخفاض في القضية المقبل. LUCAS FREITAS: استراحة الوسائل للحصول على من بيان التبديل. لأن لو كان 1، وأريد لطباعة هذا وترك. أنا لا أريد أن تحقق أي شيء آخر. الحضور: أنت لا تريد لطباعة أي شيء آخر. LUCAS FREITAS: نعم. لأنه يستبعد بعضها بعضا. الحضور: وهل هذا المضي قدما فقط إلى الحالة التالية إذا كانت القضية الأولى ليس صحيحا؟ أو أنها لا اختبار جميع الحالات في نفس الوقت؟ LUCAS FREITAS: لا، الشيكات بالتسلسل. بالتتابع، نعم. سؤال واحد، ثم علينا أن الانتقال حتى نتمكن من تغطية كل شيء. نعم؟ الحضور: لذلك هو الحال، يمكن أن يكون فعلت شيئا جانب واحد فقط؟ هل يمكن أن تعطيه طائفة؟ LUCAS FREITAS: رقم لورين CARVALHO: لا أعتقد يمكنك إعطائها النطاق. LUCAS FREITAS: أنت لا يمكن لك لا يمكن أن تعطيه نطاق. الحضور: وهذه القضية هي محددة [غير مسموع]. LUCAS FREITAS: تبديل هو نوع من القيم. تفعل أشياء مختلفة اعتمادا على القيمة، قيمة محددة. لا يمكنك أن تفعل مجموعة، لا يمكنك تفعل أي شيء آخر. انها مجرد أداة أخرى لنرى. لورين CARVALHO: معظم الناس لا تستخدم تبديل البيانات كثيرا في CS50، لكنه هناك. حسنا. وبالتالي فإن الشيء التالي ونحن في طريقنا للحديث حول هي المشغل الثلاثي. هذا هو مجرد نوع آخر من الشرطي. أساسا ما يحدث هنا هو أنا يسأل عن عدد صحيح، وإذا كان n هو أكبر من 100، وانا ذاهب لطباعة "عالية". إذا لم تكن كذلك، انا ذاهب الى طباعة "منخفض". ذلك ما تقوم به هو الشرط هنا في الأقواس، وكنت يمكن نوع من التفكير في مسألة كما أنا أسأل ما إذا كان هذا صحيح أم لا. إذا كان هذا صحيحا، وأنا ذاهب للقيام بذلك أول الشيء، وإذا لم يكن صحيحا، وأنا ذاهب للقيام بذلك الشيء الثاني. أي أسئلة حول مشغل الثلاثي؟ LUCAS FREITAS: نريد فقط نلاحظ من ديفيد هو أنه كلما كان لديك حالة - لورين CARVALHO: أعتقد داود مشاهدة عبر بث مباشر. LUCAS FREITAS: انه يفعل تيار الحياة الآن. لذلك كلما كان لديك حالة، وكنت من المفترض أن وضع الأقواس المتعرجة، تماما مثل لدينا في التبديل بيان هنا. لدينا الأقواس المتعرجة هنا. لأي ظروف، وكنت من المفترض أيضا أن يضع ذلك. لورين CARVALHO: سترى هذا في دليل الاسلوب. ليس لدينا في الواقع دليل نمط الآن. أعتقد ديفيد لا تزال تعمل. وقال ان: LUCAS FREITAS انها تعمل فقط الآن. لورين CARVALHO: أوه، هل هو العمل الآن؟ موافق. لذلك يبدو هذا العام في أسلوب توجيه، حتى إذا كان لديك فقط سطر واحد، كنت قد حصلت على وضع تلك الأقواس المتعرجة فيها. لا تحتاج بالضرورة إلى ل وظائف البرنامج. وربما ينبغي أن نأخذ مجرد استراحة بعد الظروف والذهاب مباشرة إلى دليل نمط لمسح بعض من هذه الأمور؟ LUCAS FREITAS: نعم. هل لديك سؤال؟ الجمهور: لا، أنا مجرد الانتظار حتى دليل الاسلوب. الحضور: هل يمكن أن أعود إلى المشغل الثلاثي؟ لورين CARVALHO: ترناري، نعم. LUCAS FREITAS: المشغل هو ترناري أساسا بيان إذا آخر، ولكن بدلا من ان يكون لدينا الخطين من التحقق من وجود لو وثم آخر، عليك فقط سطر واحد. وذلك أساسا إذا كنت تريد أن تعطي سلسلة قيمة مرتفعة أو منخفضة، وأنا تريد أن تفعل عالية إذا كان n أكبر من 100 أو منخفضة إذا كان أقل من ذلك، ما يمكنني القيام به هو هذا [غير مسموع] السلسلة ستكون، وبعد ذلك نطلب من البرنامج هو N أكبر من 100؟ ولهذا السبب لدي هذا التعبير بين قوسين ثم علامة الاستفهام. أنا أسأل هل هو أكبر من 100؟ إذا كان كذلك، انها سوف تكون مرتفعة. إذا لم تكن كذلك، انها سوف تكون منخفضة. ذلك أساسا ما كنت تعتقد أن تسأل سؤال، لذلك كنت وضعت بين قوسين الشرط. ثم قمت بوضع علامة استفهام لأنك تطلب ذلك. وإذا كان هذا صحيحا، فإنه سيكون في القيمة الأولى [غير مسموع] هنا. إذا لم تكن كذلك، انا ذاهب الى وضع قيمة بعد النقطتين. هل يعقل؟ كما انها شيء يشبه أداة في C ولكن لم يكن لديك ل استخدام تحديدا. ولكن الناس يحبون عادة أن CS لأنه فقط يوفر خطوط. لورين CARVALHO: انها أنيقة جدا. يفعل الكثير في بيان واحد فقط. الحضور: وبالتالي فإن النسبة المئوية هو مهما فقط النتائج على السطر السابق؟ لورين CARVALHO: أوه، أنا آسف. علامة هذه النسبة هي في الواقع نائب لهذا ق. في بيان printf، وكنت قد حصلت على هذا سلسلة هنا، وهو ما يحدث ل طباعة، ولكن لا يمكنك فقط وضع هذا ق في هناك. وإلا فإنه سوف طباعة من ليالي حرفيا. لذلك وضعنا هنا في المئة للحفاظ على هذا المكان لأي عقد يأتي بعد الفاصلة. ذلك عن سلسلة، وكنت قد حصلت في المئة ق. لعدد صحيح، وأنا في المئة. لتعويم، و في المئة. سترى تلك ونحن رؤية المزيد من الأمثلة. ولكن ربما يجب أن نتحدث عن دليل نمط لبعض الوقت، والآن ان الامر متروك. LUCAS FREITAS: إذا ذهبت إلى cs50.net/style، وأنت تسير لرؤية دليل الاسلوب. للمجموعات المشكلة، درجاتك ل وتتألف مجموعة مشكلة من نطاق، وهو ما يعني أساسا إذا كنت فعلت كل أجزاء من المشكلة تعيين أو إذا كنت حاول شيئا. الشيء الثاني هو صواب، والتي الوسائل والبرنامج تفعل ما في و كان من المفترض أن تفعل، أو يفعل ذلك البق، أم أنها لا تفعل ما أنه من المفترض أن تفعل. الشيء الثالث هو التصميم، وهو ما يعني أنت تنفيذ هذا جيدا، أو هي هل تستخدم عبارات غير ضرورية؟ ذلك على سبيل المثال، إذا كنت ترغب في تكرار عدد 10 مرات، هل كتابة لحلقة أم أنك فقط تفعل 10 مرات البيان نفسه، والقيام فقط نسخ ولصق. لذلك التصميم هو لذلك. وأخيرا، لديك النمط. الاسلوب هو تماما مثل الحكم إذا التعليمات البرمجية يبدو قراءة ونوع من جميلة. بل يعني فقط أساسا هو رمز لديك للقراءة؟ سيكون شخص آخر الذي كان يبحث ل التعليمات البرمجية الخاصة بك تكون قادرة على فهم ما انها تفعل؟ هل لديك تعليقات وما شابه ذلك؟ دعونا نتحدث عن النمط الذي كنت من المفترض أن استخدام. وأول شيء هو تعليق. التعليقات هي مهمة جدا لجهودكم كود لأن في بعض الأحيان تفعلونه البرنامج الخاص بك، وأنت تعرف بالضبط ما كنت تريد أن تفعل ذلك عليك أن تبدأ فقط الترميز، فقط اكتب حتى حفنة من C. ولكن إذا كان شخص آخر هو يبحث وكنت رمز، انهم لن تكون قادرة على فهم لأنهم لا يعرفون الأشياء التي هي في رأسك، مثل وpesudocode، لذلك ربما أنها سوف يجدون صعوبة في فهم ما رمز يقوم به. حتى التعليقات هي مفيدة حقا لشرح لشخص الذي يبحث في التعليمات البرمجية ما تقوم به، و في الواقع حتى بالنسبة لك، انهم مفيدة جدا. كما تذهب إلى Psets أصعب والصلب، وأنت تسير أن نرى أن يحصل على رمز أطول، ثم والتعليقات هي حقا مهم جدا أن تتذكر كل ما جزء من البرنامج الخاص بك لا. لوضع تعليق، يمكنك القيام مجرد خفض مائل ثم إرسال تعليق. والخط كله هو جزء من تعليق، ومهما كنت أكتب، انها لن تكون تستخدم لالتعليمات البرمجية. انها في الاساس مثل المترجم يجري تجاهل ذلك. فهل هذا يعقل؟ الجمهور: ماذا ستفعل مرة أخرى لكتابة تعليق؟ LUCAS FREITAS: هذا؟ مائل مائل؟ كلما كنت اكتب مائل مائل، أيا كان في هذا الخط لن إلى أن تعتبر C. نعم؟ الحضور: وهكذا بعد تعليق، كنت فقط أدخل وبدء سطر جديد؟ LUCAS FREITAS: نعم، بالضبط. لورين CARVALHO: ومائل مائل هي للتعليقات سطر واحد. LUCAS FREITAS: على سبيل المثال، هنا لدينا - اسمحوا لي أن التكبير - على سبيل المثال، وهنا أنا أعلن تعويم، ولكن ربما لو كنت وضعت للتو هذا في التعليمات البرمجية، مثل أن يكون لديك أي فكرة ما هذا يقوم به، مثل الواقع شخص يبحث في هذا الرمز ستكون، مثل، ما هيك يجري؟ إذا وضعت تعليق قائلا "تحويل فهرنهايت إلى درجة مئوية، فإنه يجعل من ذلك بكثير أكثر منطقية. كنت، مثل، حسنا، كنت القيام التحويل. فهل هذا يعقل؟ حتى انها مجرد شيء أن يساعد الناس استعداد التعليمات البرمجية الخاصة بك وأيضا جعل أن تكون قادرة على تنظيم التعليمات البرمجية الخاصة بك بشكل أفضل. الشيء الثاني هو أنه يمكنك القيام به تعليقات متعدد الخطوط، بحيث يكون واحد التعليق على مجموعة من الخطوط. بدلا من الاضطرار إلى وضع مائل مائل، التعليقات السطر الأول، خفض مائلة، السطر الثاني، وهلم جرا، ل يمكن استخدام نجمة مائلة. الطريقة التي كنت تفعل ذلك هو أن ل السطر الأول من التعليق، وكنت تنوي القيام به نجم النجوم مائل، وذلك فقط من هذا القبيل. تماما مثل هنا لدينا بداية برنامج، وكنت عادة وضع الذي كنت هي، ماذا يفعل هذا البرنامج، وأشياء من هذا القبيل. انها نوع من مثل رأس للبرنامج. مرة أخرى، انها ليست شيئا أن المترجم هو الذهاب الى يهتمون، ولكن فمن المهم بالنسبة لك أن تعرف ما هو هذا البرنامج لا أو لأشخاص آخرين لمعرفة ما يقوم به البرنامج. لذلك لم خفض نجمة نجمة، وبعد ذلك السطر الأخير كنت تنوي القيام به النجوم خفض لتكون قادرة على إغلاق هذا التعليق. وذلك أساسا لجميع خطوط أخرى، يمكنك فقط إرسال أيا كان، وهذا هو كل ذاهب لتجاهلها. وأيضا، تماما كما الاسلوب، ترى أن كل من لديه خطوط نجمة، وجميع يتم محاذاة النجوم. هذه هي الأشياء مهم جدا أن التعليمات البرمجية تبدو جميلة. يبدو جيدا؟ الآن، والظروف. ما كان داود قائلا أننا ينبغي وضعت فعلا في تلك الشرائح، هو أن عندما يكون لديك أي نوع من البيانات إذا أو أي نوع من الشروط، يجب استخدام الأقواس المتعرجة لإظهار أن هذا ما كان سيحدث عندما يكون لديك حالة. من الناحية الفنية، عندما يكون لديك حالة ثم السطر التالي هو مجرد واحد الخط، لم يكن لديك تقنيا لوضع الأقواس المتعرجة. أساسا المترجم أن يفهم على أي حال كما ضمنية. ولكن لCS50، ونحن نسأل يا رفاق لوضع الأقواس المتعرجة فقط حتى بأن ما تتمتعون به الكود هو أكثر تنظيما وأكثر قابلية للقراءة. لأن ذلك يعد رمز يحصل إذا كنت لم يكن لديك الأقواس المتعرجة وكذا. فإنه يحصل فوضوي حقا. لورين CARVALHO: هذا هو بالضبط ما أشار ديفيد للتو في بلدي الشرائح السابقة. يعمل بالتأكيد دون مجعد الأقواس، ولكن لأسباب أسلوبية ونحن في طريقنا إلى أن نسأل كنت وضعت فيه. تلك وعند بدء تشغيل style50، الذي هو نوع من الاختيار 50 ل والأسلوب، وسوف أذكر لك أن تفعل هذا. LUCAS FREITAS: وشيء آخر هو تذكر أن وضع الأقواس المتعرجة على طول في كل سطر. لذلك يمكنك القيام به، على سبيل المثال، أنا ق. انتقل إلى السطر التالي، فتح مجعد هدفين، ثم تذهب إلى السطر التالي. المسافة البادئة، وهو أربع مسافات. ثم تكتب أيا كان، ثم آخر الخط، وإغلاق متعرج. لذا يجب التأكد من أن كلا من تلك مجعد الأقواس في خطوط مختلفة. الجمهور: حتى لو كان هذا الرمز مثل 10 IFS آخر، وهذا ينبغي يكون 10 مجموعات من الأقواس؟ LUCAS FREITAS: نعم، لكل واحد منهم. نعم. إذا كان الأمر كذلك، الا اذا، وهلم جرا. الحضور: هل لك أن لا اضغط Tab لالبادئة؟ LUCAS FREITAS: نحن نطلب منك الرجال لاستخدام أربع مسافات. بعض برامج تحرير النصوص التبويب ترجمة أربعة المساحات تلقائيا. gedit لا، ولذلك عليك أن تفعل الفضاء الفضاء الفضاء الفضاء. وهذا هو أيضا شيء أن بعض المبرمجين القيام علامات التبويب، وبعض فقط المبرمجين تفعل سوى أربع مسافات، وبعض الأشخاص الآخرين حتى قيام اثنين أو ثلاثة مسافات. انها مجرد أن نطلبه هنا يا رفاق أن تفعل أربعة مسافات. الحضور: هناك بالتأكيد تقريبا يجب أن يكون وسيلة للgedit ل تلقائيا [غير مسموع]. مثل أي [غير مسموع] يفعل ذلك. LUCAS FREITAS: نعم. أعتقد أنك يمكن أن تذهب إلى إعدادات. الحضور: وبالفعل يفعل كل ذلك. LUCAS FREITAS: فإنه لا بالفعل؟ موافق. لذلك فقط تأكد أنك لديها أربعة مسافات. الحضور: هل لدينا لوضع مجعد بين قوسين في لحلقات كذلك؟ LUCAS FREITAS: نعم. لورين CARVALHO: كلما الخاص التغليف كتلة من التعليمات البرمجية، فقط الرجاء استخدام الأقواس المتعرجة. وقبل أن تفكر أننا فقط يجري المتمسكون عن هذا ليست جيدة السبب، إذا يا رفاق لا تذهب للحصول على التدريب التكنولوجيا في الشركات الكبرى، وسوف أعطيك دليل الأسلوب، و وسوف اقول لكم هذا هو ما لديك كود يحتاج لتبدو وكأنها. وحتى ولو كنت تعلم إلى رمز مثل هذا، وربما في التدريب الخاص عليك أن تفعل شيئا مختلفة تماما. لم أتوقع منك أن تتفق لأسلوبهم. LUCAS FREITAS: شيء واحد هو أكثر أن لا لاحظت كيف لدي مثل س، مساحة، وأقل، والفضاء، 0؟ كلما كان لديك عامل - يمكن أن يكون مثل زائد، ناقص، مرات، أقل، أكبر، أيا كان المشغل - لديك لوضع مسافة على اليسار وحق المشغل. لورين CARVALHO: تلك هي دعا المعاملات الثنائية. فقط تأكد من الفضاء دائما من المعاملات الثنائية الخاصة بك. LUCAS FREITAS: هذا هو ليس المعامل ثنائي. لورين CARVALHO: هذا هو لأنه يأخذ اثنين. LUCAS FREITAS: أوه، نعم. موافق، والتبديل. أولا، عليك أن ترى أن مثل في بيان إذا أو آخر، لديك لوضع متعرج على السطر الخاص به وتحت متعرج هنا. لاحظ أن هناك مسافة واحدة بعد التبديل، تماما مثل الدخول إذا وآخر كان لدينا مسافة واحدة بين أن والأقواس. ولذلك عليك أن تضع ذلك. وليس هناك مساحة الحق بعد كل من الأقواس أو قبل نهاية من الأقواس. لذلك ترى أن كل شيء معا، وأود أيضا هنا. نعم؟ لورين CARVALHO: أعتقد نحن بحاجة للمضي قدما. LUCAS FREITAS: إذن هذا هو جزء من دليل النمط الذي لديك لCS50. تأكد من الذهاب إلى cs50.net/style ونلقي نظرة على هذا. هذه كلها عوامل مهمة جدا لدرجة طريقتك. اسمحوا لي أن أعود إلى بيان. لورين CARVALHO: أود أن بدلا مجرد استخدام style50. نحن مجرد الذهاب للذهاب مباشرة إلى حلقات. حسنا. لذلك دعونا نعود إلى المحتويات، والآن أننا قد ذهبت أكثر من دليل الاسلوب. الحلقات، وكنت قد رأيت منهم في خدش، و نحن ذاهبون الى الحديث عنها في C. في حلقة for، هناك ثلاثة أجزاء ل إعلان عن هذه الحلقة. كنت قد حصلت على التهيئة الخاصة بك في الذي قمت بتعيين المتغيرات الخاصة بك. كنت قد حصلت على حالتك، والتي هي فحص لمعرفة ما إذا كان هناك شيئا صحيحة أو خاطئة، وما إذا كان ينبغي أن تستمر الحلقة. وكنت قد حصلت على التحديث، والتي يتم تحديث المتغيرات الخاصة بك. دعونا فقط أن نلقي نظرة سريعة على بعض كود C هذا للحلقة في العمل. ما يحدث هنا في التهيئة، ونحن تحديد ط إلى 0. في حالة أننا التحقق سواء كنت أقل من 10. وفي التحديث نحن تزايد ط. وذلك ما سوف ينتج عن هذا للحلقة؟ LUCAS FREITAS: في الواقع، أولا وقبل كل شيء، هل تعرفون ما ط + + هو؟ الحضور: زيادة بمقدار 1. LUCAS FREITAS: ارتفع بنسبة 1، نعم. لذلك هذا هو نفس الشيء مثل القيام ط ط يساوي زائد 1. وتلاحظ أن ليس لدينا مساحة بين ط و+ +. لذلك يا رفاق معرفة ما سيفعل هذا؟ يمكن أن تقولوا لي؟ وربما تحصل على بعض الحلوى بسبب ذلك؟ الحضور: [غير مسموع] LUCAS FREITAS: OK. [غير مسموع] تظهر الجميع في وقت لاحق [غير مسموع]. نعم، انها سوف تظهر "هذا هو CS50 "10 مرات. لورين CARVALHO: أعتقد أنه كان في عنوان الشريحة. LUCAS FREITAS: أوه، نعم. [ضحك] LUCAS FREITAS: وهذا يساعد. لورين CARVALHO: حتى تلك هي للحلقات. ونحن في طريقنا لرؤية بعض الأمثلة أكثر من أجل الحلقات في وقت لاحق. ولكن دعونا نلقي نظرة الواقع في النوع الثاني من حلقة سوف تواجه في C، وانه دعا الحلقة حين. في حلقة من الوقت، كنت قد فقط حصلت على الشرط. يتم فحص الشرط في بداية، وإذا كان هذا الشرط يقيم إلى true، ثم رمز داخل الجسم من كتلة حين سيتم تنفيذ. وستواصل رمز ل تنفيذ طالما أن يبقى شرط صحيح. وهنا مثال من حلقة بينما في C. ونحن في طريقنا لتعيين العد إلى 10 ل بادئ ذي بدء. طالما العد أكبر من 0، ونحن في طريقنا للحفاظ على طبع هذا متغير هنا. ونحن في طريقنا إلى إنقاص عدد و ثم تحقق الشرط مرة أخرى. الطباعة، إنقاص، الاختيار الشرط مرة أخرى. هنا لدينا مثال التي تنتمي على سؤالك في وقت سابق. كان لدينا ليالي في المئة عندما كنا طبع سلسلة، والآن بعد أن نحن طبع عدد صحيح، لدينا في المئة كما انني نائبا لدينا بدلا من ذلك. يجب على جميع الحروف تكون جميلة بديهية، ق للسلسلة، ط لكثافة العمليات. حتى إذا ينفذ هذا الرمز، يجب عليك العد التنازلي 10-0، طبع كل عدد صحيح. LUCAS FREITAS: ويمكنك التفكير في في المئة كما يشعر وكأنه فارغ الفضاء، ثم أنك تضع هذا متغير هنا في هذه المساحة فارغة. ذلك على سبيل المثال، وهنا سوف يكون لي فقط فارغة، ثم أنا وضع عد هناك حق، و قيمة العد. فهل هذا يعقل؟ أنا فقط يمكن أن تفعل مثل printf ونقلت بعد ذلك، عد؟ التي من شأنها أن تعمل؟ الحضور: رقم LUCAS FREITAS: لا، لأنه سوف في الواقع طباعة كلمة "العد" بدلا من طباعة القيمة. هذه هي الطريقة التي تجعل من طباعة القيم بالنسبة لمتغير بدلا من مجرد اسم المتغير. أي أسئلة؟ الحضور: لماذا كنت تستخدم ل باعتبارها معارضة للحين؟ لورين CARVALHO: أود أن استخدام لل حلقة إذا أنا أعرف بالضبط كم عدد التكرار أريد حلقة بلدي لتشغيل. في هذه الحالة، لا يهم لأنه، أعني، كنت مجرد محاولة ل التفكير في حقيقة بسيطة مثال لهذه الشريحة. ولكن دعونا نقول ان كنت تريد شيئا على الاستمرار في حين - LUCAS FREITAS: على سبيل المثال، كنت طلب الإدخال حتى الشخص يعطيك الحق المدخلات. مثل ذلك في حين أن مدخلات ليس موافق، يبقى السؤال عن ذلك. أو ما شابه بينما كنت الآباء لا تعطي لك المال، والحفاظ على السعر المطلوب لذلك. [ضحك] لورين CARVALHO: أنت لا تعرف كيف عدة مرات سيكون لديك للقيام بذلك. LUCAS FREITAS: لأنك لا أعرف كم مرة هذا الذهاب الى الاستمرار. لورين CARVALHO: ولكن في حلقة for، عليك أن تعرف كيف مرات عديدة. نعم؟ الجمهور: فقط لتوضيح، والمئة يقول هذا شيء وشك يحدث، وط لعدد صحيح، ومائل ن - لورين CARVALHO: وسائل؟ من يدري ما يعني مائل ن؟ سطر جديد، نعم. بالضبط. LUCAS FREITAS: يمكنك التفكير ن كما سطر جديد. لورين CARVALHO: نيس. الحضور: ما هذا العد اندفاعة اندفاعة [غير مسموع]؟ LUCAS FREITAS: عدد ناقص ناقص هو نفس الشيء مثل زائد زائد، ولكن بدلا من زيادة، انها تتناقص بمقدار 1. لورين CARVALHO: أي أكثر بينما الأسئلة حلقة؟ لا؟ أوه، كان من المفترض أن وقد تخطي ذلك. هذه هي تفعل حين حلقة. مشابهة جدا لحلقة while إلا في علينا التحقق من حالة بعد هذه الحالة التعليمات البرمجية في جسد حلقة ينفذ مرة واحدة. ولذا فإننا تنفيذ التعليمات البرمجية أولا مهما كانت. ثم علينا التحقق من حالة، وتنفيذ مرة أخرى إذا كان الشرط صحيحا. ستجد نفسك باستخدام هذا عندما كنت طالبا لإدخال المستخدم. لأنك دائما ستكون لدينا ل نسأل مرة واحدة، ثم اعتمادا على ما مدخلات المستخدم، قد تكون لديكم ل reprompt ونسأل مرة أخرى ومرة ​​أخرى إذا كان المدخل ليس ما كنت من المتوقع لها أن تكون. الحضور: لذلك فمن مثل شكل للناس لملء. لورين CARVALHO: نعم، بالضبط. ستجد، كما أعتقد، في الأول الخاص بك جدا Pset، وأنت تسير لدينا ل استخدام حلقة صنعا لجمع مدخلات من المستخدم. الحضور: اعتمادا على الوضع، سوف حلقات في حين الخاص بك تميل إلى تشغيل أكثر في كثير من الأحيان من حين الحلقات، مثل من جانب واحد أو شيء من هذا؟ لورين CARVALHO: إذا كان هذا هو بالضبط - LUCAS FREITAS: ينبغي أن تعمل دائما المبلغ المحدد المرات التي كنت تريد تشغيله. مثل التي نستخدمها تفعل حين لأننا حقا أرغب في الحصول على المدخلات مرة واحدة على الأقل. في حين الحلقات، وأحيانا كنت لا تريد لتنفيذ ذلك على الإطلاق إذا لم يكن القضية لتنفيذه. لذلك يعتمد على التصميم. أعني، يمكنك إما استخدام أو تفعل حين بينما طالما يفعل التعليمات البرمجية التي أنه من المفترض أن تفعل. لورين CARVALHO: ولكن أفعل أعتقد أن الجواب على الخاص السؤال هو نعم على الارجح. دعونا نقول ان حالة كاذبة. في حالة واحدة أنه سيرشح نفسه مرة واحدة، و قضية أخرى أنه سيرشح نفسه الصفر مرة. لذلك، نعم. أي أسئلة أخرى؟ نعم؟ الحضور: هل يمكن أن يكون شرط حلقة ل لحلقة من حيث متغير أخرى من [غير مسموع]. لورين CARVALHO: نعم، يمكن أن يكون أي شيء. ربما لPsets بداية، كنت لن يكون لقاء هذه الحالة، ولكن بالتأكيد يمكن أن يكون أي شيء. LUCAS FREITAS: أعتقد ننتهي هنا. لورين CARVALHO: هل نحن؟ لا؟ LUCAS FREITAS: حلقات؟ نعم. لورين CARVALHO: نحن لا ينبغي أن يكون. أوه، نحن القيام به مع الحلقات. موافق. في الواقع، لكنا نتحدث حتى الكثير، دعونا فعلا تنقل جميع أكثر من study.cs50.net/conditions. وأنت تسير في التنقل لأسفل للمشاكل ويدجت. حسنا، في الواقع، في حين أن الناس يحصلون على وضع هذا الأمر، دراسة CS50 هو سيكون أداة من شأنها أن TFS الخاص استخدام للتحضير للأقسام والتي يمكنك استخدام الرجال إذا كنت أفتقد أقسام. انها سوف تحتوي على مجموعة من الشرائح، بعض النصائح والحيل لكل الموضوع، وبعض المشاكل الممارسة مع الحلول. لماذا لا الجميع مجرد إلقاء نظرة في هذه المشكلة هنا. أنا آسف، وأرجو أن يكون تذكير الناس لجلب أجهزة الكمبيوتر المحمولة اليوم. ولكن إذا لم يكن لديك جهاز كمبيوتر محمول، وهذا موافق. يمكنك فقط ذرة هذه أسفل على قطعة من الورق أو تبدو أكثر الكتف جارك. دعونا نحاول وكتابة البرنامج الذي يطالب المستخدم لاتخاذ تخمين، و متوسط ​​عدد الأطفال لكل أسرة وحدة في الولايات المتحدة. هذا العدد هو 2، بالمناسبة، كما كنت يمكن أن ترى من هذه الأمثلة. نحن نريد لطباعة متوسط ​​عدد الأطفال في الأسرة في الولايات المتحدة، ثم نحن ما تريد؟ نحن نريد لجمع المدخلات من المستخدم. ثم اعتمادا على ما المستخدم الإدخال، وأنت تسير لطباعة إما هذا هو الصحيح أو هذا غير صحيح. وأول شيء جدا أن عليك ترى، إذا قمت بالنقر فوق السهم قليلا في الجزء السفلي من القطعة المشكلة هو بقعة لتدوين بعض شبة الكود. لذلك كنت لا البرمجة حتى الآن. كنت مجرد الحصول على الخاص بك الأفكار في النظام. لا تريد أي شخص للمساعدة لوكاس الخروج مع الحق شبة الكود لهذه المشكلة؟ LUCAS FREITAS: ما هو أول شيء ربما ينبغي لنا أن نفعل هنا؟ ماذا يعتقد الرجال؟ الحضور: [غير مسموع] LUCAS FREITAS: نعم، حسنا. لذلك، الطباعة. أقول الطباعة هذا المتوسط عدد من الناس؟ موافق. السؤال الطباعة، دعنا نقول. بعد أن طباعة هذا السؤال، ماذا علي أن أفعل؟ الحضور: الحصول على المدخلات. LUCAS FREITAS: الحصول على المدخلات. أي شيء آخر؟ الحضور: الشرط. LUCAS FREITAS: الشرط. لورين CARVALHO: ما هو هذا حالة ستكون؟ الحضور: عدد [غير مسموع]. لورين CARVALHO: الحق. LUCAS FREITAS: فما أنا ذاهب للتحقق في حالة؟ الحضور: إذا كان يساوي 2. لورين CARVALHO: إذا كان يساوي 2. بالضبط. LUCAS FREITAS: هل هناك أي شيء آخر أن يجب أن أقوم به؟ الحضور: عدد. LUCAS FREITAS: حتى لو كان تساوي 2، دعنا نقول - اسمحوا لي أن أكتب فقط إذا تساوي المدخلات إلى 2، ثم ما أنا ذاهب القيام به هو الطباعة الصحيحة. ثم آخر، وأنا ذاهب لطباعة غير صحيحة. أي شيء آخر؟ لا؟ لورين CARVALHO: إذن أنت يمكن النقر على - لا الجميع لديهم هذا باستمرار؟ LUCAS FREITAS: هل يعقل؟ حتى الآن دعونا نحاول أن رمز هذا. لورين CARVALHO: إذا قمت بالنقر فوق قليلا سهم، فإنه يحفظ الواقع الخاص شبة الكود، الذي هو مثير حقا. ويمكنك جعل تلك في التعليقات إذا كنت ترغب فقط لتذكير نفسك من ما يجب القيام به. LUCAS FREITAS: فعلى سبيل المثال، الأول أنا ذاهب لطباعة السؤال، لذلك كيف أنا ذاهب للقيام بذلك، في الواقع؟ printf. لذلك printf، والسؤال هو متوسط عدد الأطفال لكل الأسرة في الولايات المتحدة. ثم أنا ذاهب للحصول على مدخلات من المستخدم. فكيف يمكنني أن أفعل ذلك؟ الحضور: الحصول على كثافة العمليات. لورين CARVALHO: GetInt. LUCAS FREITAS: OK. لذلك تعلن أول، أليس كذلك؟ الباحث، دعونا نسميها ن يساوي GetInt. والآن هذه الحالة. لذلك اسمحوا لي أن أقول إنني ذاهب إلى هنا الجواب الاختيار. لذلك أولا، إذا المدخلات، والتي هي ن، يساوي ل- كيف أنا ذاهب لكتابة ذلك؟ الجمهور: المساواة المساواة. LUCAS FREITAS: ممتازة. حتى ن. وتلاحظ أن أفعل الفضاء، يساوي، يساوي، والفضاء، صحيح. والآن ماذا علي أن أفعل؟ شيء مهم جدا لنمط. الأقواس المتعرجة. ثم أنا ذاهب للطباعة. كيف أقوم بطباعة؟ printf. الحضور: هل يمكن رسملتها ذلك؟ LUCAS FREITAS: رقم أنه من المفترض أن يكون كل صغيرة. لذلك هذا هو الصحيح. هذا من شأنه أن يكون كافيا لprintf البيان، أو أنا في عداد المفقودين أي شيء؟ الجمهور: خط جديد. LUCAS FREITAS: خط جديد، نعم. والآن آخر. الحضور: هل هناك مساحة بعد printf، أو لا؟ لورين CARVALHO: نحن ينبغي تحقق من دليل نمط. الجمهور: إنه لا ينبغي أن يكون. LUCAS FREITAS: لا ينبغي أن يكون، OK. لذلك آخر، printf، واضاف "هذا غير صحيح." لورين CARVALHO: عفوا، ونقلت الخاص بك. LUCAS FREITAS: OK. أي شيء آخر؟ أنها لا تبدو جيدة؟ لورين CARVALHO: يجب علينا محاولة ذلك؟ LUCAS FREITAS: نعم، دعونا تشغيله. لذلك فمن تجميع، و يبدو أنه يعمل. دعونا نحاول طفلين. وهذا هو الصحيح. والآن دعونا تشغيل مرة أخرى، ولكن الآن بدلا من ذلك وضع طفلين، دعونا أقول إنني ذاهب لوضع مثل الخمس. هذا غير صحيح. لذلك يبدو أنه يعمل. لورين CARVALHO: لماذا لا تظهر لهم ماذا يحدث إذا وضعت شيئا غريبة، مثل بعض الحروف. LUCAS FREITAS: أوه، نعم. دعونا أيضا التحقق من ذلك. ما إذا كان المستخدم يحاول فوضى مع البرنامج، وانهم فقط الكتابة، وأنا لا أعرف اثنين. انها ستقول إعادة المحاولة. لورين CARVALHO: حتى GetInt ويطلب منهم لإعادة المحاولة. لم يكن لدينا لرعاية لذلك أنفسنا. LUCAS FREITAS: نعم. لذلك، إلا أن وضعت فعلا عددا، انها سوف يسألني لإعادة المحاولة. الحضور: كيف تشغيله؟ LUCAS FREITAS: انقر فقط هذا الزر نجوم. لورين CARVALHO: يجب أن ترتفع. هناك تذهب. LUCAS FREITAS: ستار الزر الأيمن هناك. نعم؟ الحضور: هل يدفع [غير مسموع] مع الأرقام العشرية أيضا؟ لورين CARVALHO: أعتقد أنها ستفعل ذلك. LUCAS FREITAS: إذا كان يفعل ما؟ لورين CARVALHO: إذا كانوا اكتب في عدد عشري، وأعتقد انها تسير للمطالبة. LUCAS FREITAS: دعونا نرى. لورين CARVALHO: لأن انها ليست كثافة العمليات. LUCAS FREITAS: نعم. لورين CARVALHO: لذلك انها ليست كثافة العمليات، الحصول على كثافة العمليات سوف يطلب منك إعادة المحاولة. الجمهور: فأين في هذا الرمز سيكون المكان العشرية التي يطالب المستخدم الذي لديهم للدخول عدد صحيح على وجه التحديد؟ لورين CARVALHO: GetInt هو في الواقع فعل ذلك بالنسبة لنا. الحضور: لا، أعني إذا أردنا للدخول [غير مسموع] LUCAS FREITAS: يمكنك القول مثل متوسط عدد الأطفال في الولايات المتحدة. لا أعرف. يمكننا القول، على سبيل المثال، "من فضلك إدخال عدد صحيح ". لورين CARVALHO: عدد صحيح يساوي إلى العدد المتوسط. أعني، انها مجرد كيف لك الكلمة، أليس كذلك؟ LUCAS FREITAS: نعم. هذا ليس جزءا من الترميز فعلا. انها أكثر من مثل أيا كان كنت تريد الذهاب الى الكتابة في البرنامج. الحضور: كيف كنا تشغيله إذا كان كان في الواقع في gedit [غير مسموع]. بدلا من الضغط على اللعب؟ LUCAS FREITAS: سنقوم تجميع لأول مرة. يمكننا أن نفعل ذلك عن طريق القيام ماركة واسم الملف. ثم لتشغيله، وسوف نبذل نقطة مائلة واسم البرنامج. الجمهور: أعتقد أن ما قصدته هو إذا أردنا البرنامج للاستجابة ل غير صحيحة، دخول غير صالحة، و يجب أن لا تضع في - LUCAS FREITAS: لن نكون قادرين على نفعل ذلك لأن التعليمات البرمجية هذا يقول إعادة المحاولة تأتي من الحصول على كثافة العمليات التي هي الدالة التي يتم تنفيذها بالفعل بالنسبة لنا من خلال مكتبة CS50، ومنذ انها بالفعل تنفيذها هناك، ونحن لا يمكن فقط [غير مسموع]. لورين CARVALHO: إذا كنت لا تستخدم GetInt، ثم يمكنك أن تفعل ذلك. LUCAS FREITAS: نعم. ولكن إذا كنت تستخدم GetInt، لا يمكنك. أي أسئلة أخرى؟ الحضور: هل كنت قد ذهبت مع مثل GetFloat ومن ثم تكون قادرة على وضع في عشري؟ LUCAS FREITAS: نعم. الحضور: OK. ثم هل يمكن أن مجرد إدخال تطفو على قدم المساواة - لورين CARVALHO: نعم. بالضبط نفس ما عدا تطفو بدلا من كثافة العمليات. LUCAS FREITAS: مجرد وضعها هنا ثم GetFloat هناك. الحضور: كما شئت رؤية أو شهدت - لورين CARVALHO: لدينا لم نصل هناك بعد. الحضور: - القيام مع عدم المساواة لا يطفو [غير مسموع] الجمهور: ماذا المنقوطة يعني؟ لورين CARVALHO: الفاصلة المنقوطة فقط يعني أن هذا البيان هو كاملة، ونحن في طريقنا للذهاب على الشريحة التالية. الحضور: لذلك فمن الضروري في كل مرة؟ لورين CARVALHO: نعم. حسنا، موافق، لذلك ليس لهذه الظروف، لأنهم التغليف شيء. وذلك أساسا إذا كان هناك شيء يسبب لك ثم إنشاء متعرج كتلة، لا تضع فاصلة منقوطة في نهاية المطاف. LUCAS FREITAS: ولكن كل شيء آخر، نعم. عند الانتهاء من البيان، وضع الفاصلة المنقوطة. وإذا كنت قد نسيت الفاصلة المنقوطة، و المترجم يحدث أن تغضب عليك، وأنت ستكون لدينا في محاولة لتصحيح الامر. لورين CARVALHO: إذا أنا وضعت فاصلة منقوطة هنا، من شأنه أن يوقف هذا، وأنا لن تحصل لتنفيذ ما في الداخل، من جانب الطريق. حتى انها واحدة من تلك الحشرات المشتركة. الجمهور: تنفيذ دائما. لورين CARVALHO: نعم. في هذه الحالة، كنا دائما تنفيذ ما هو في الداخل. الجمهور: طريقتك [غير مسموع] نعلق ذلك لك، ويعتقد. لورين CARVALHO: أوه، هذا صحيح. الحضور: [غير مسموع] واحد الشيء خط [غير مسموع] الجمهور: نعم؟ الحضور: هل لديك عدة المدخلات في سطر واحد؟ مثل ذلك يمكنك أن تطلب من المستخدمين لطباعة شيئين؟ لورين CARVALHO: عدم استخدام - LUCAS FREITAS: رقم دعنا نقول أن أريد أيضا للحصول على هذا العدد الصحيح م. ولا بد لي من القيام بذلك في خط مختلف. الجمهور: لو كنت لتشغيل ذلك، كيف [غير مسموع]؟ فإنه طباعة موجه هناك [غير مسموع] ثم كنت أدخل أحد و- لورين CARVALHO: حسنا، تشغيله. أعني، لا يوجد شيء يمنعنا من انها تعمل فقط ورؤية ما سيحدث. LUCAS FREITAS: أعتقد أنه من سوف يشكو إلينا لأننا لا تستخدم - لورين CARVALHO: عفوا. LUCAS FREITAS: إنه اشتكى لنا الحق في الآن لأننا لا تستخدم هذا متغير، ولكن إذا فعلت ذلك، على سبيل المثال، n هو يساوي يساوي، ويساوي م يساوي، ثم ما سوف يحدث في هذه الحالة؟ فماذا يفعل هذا البرنامج؟ الحضور: أنا فقط أتساءل كيف سيكون - لورين CARVALHO: إنها تريد فقط لمعرفة كيف يبدو مثل، أعتقد، أليس كذلك؟ لذلك استغرق واحد منهم، ثم استغرق ثانية واحدة. أعتقد أننا يجب أن نمضي قدما، لأن لدينا أكثر واحد عرض الشرائح للذهاب قبل - هل ترغب في سحب ما يصل الرياضيات؟ LUCAS FREITAS: نعم، الرياضيات. لورين CARVALHO: أعط لي ثانية واحدة فقط. هناك عدد قليل من عددية مختلفة المتغيرات في البيانات C. العددي في C يمكن تصنيفها إلى أنواع مختلفة، وهؤلاء هم عليك نرى في معظم الأحيان. والباحث هو عدد صحيح. لا يمكنك الحصول على أي عشرية. في جهاز، فإنه يأخذ 32 بت لتخزين عدد صحيح. A تعويم يمكن أن يكون عشرية. فإنه يأخذ أيضا 32 بت لتخزين تعويم في الأجهزة. مزدوج هو عدد عشري مع النقطة التي يأخذ 64 بت لتخزينه، مما يعني أنه يمكن أن يكون فقط لمزيد من الدقة هل يمكن أن يكون أكثر من ذلك - ماذا نسميها؟ LUCAS FREITAS: نعم، هذا هو أكثر من ذلك. لورين CARVALHO: أكثر الأماكن بعد العلامة العشرية. وطويل هو عدد صحيح يأخذ 64 بت ل ذلك قرحة في الجهاز. LUCAS FREITAS: لذلك يمكن أن تكون أكبر من رجات يمكن أن يكون. لورين CARVALHO: الشيء عن البيانات أنواع في C هو أنها اقول لكم ما نوع البيانات التي يمكن تخزينها في المتغير الخاص بك. يقولون لك كيف يمكنك استخدام هذه متغير في البرنامج. من المهم جدا للحفاظ على المسار فقط ما نوع البيانات الذي تستخدمه، وإذا كنت بحاجة لتحويل من نوع بيانات إلى آخر، تأكد من أن تعرفه بالضبط ما يحدث عندما يكون ذلك صب تأخذ مكان. وسترى مثال لاحقا على هذه الشرائح في ل الخطأ الذي يمكن أن يحدث. دعونا نلقي نظرة على بعض الرياضيات في C و التفكير مليا في الحقيقة، أعتقد، حول ما يحدث عندما يكون هذا الرياضيات يجري. في السطر الأول جدا، ما هو يحدث عندما أعلن س؟ الحضور: أنت السماح س ليكون شيئا؟ لورين CARVALHO: نعم. حسنا، أنا حقا تطلب من التشغيل نظام 32 بت من الذاكرة، أليس كذلك؟ الذي أنا يمكن تخزين عدد صحيح، و انا ذاهب الى استدعاء أن كثافة العمليات خ. LUCAS FREITAS: في الأساس تسير في الذاكرة والعثور على المكان الذي لديه 32 بت والقول، مهلا، أريد هذا الفضاء، وانها على وشك أن يسمى خ. لذلك كنت فقط الى حد كبير النتيجة مربع في الذاكرة ل القيم متجر ل x. لورين CARVALHO: وبعد ذلك تهيئة س، مما يعني أن أنا فقط تخزين قيمة 2 في ذلك المكان، أن قسما من الذاكرة، التي طلبنا التشغيل نظام ل. وإلى هنا ما نقوم به هو نحن في الواقع ويعلن تهيئة ذ في سطر واحد بدلا من في سطرين كما فعلنا هنا، وهو أيضا ما يرام تماما، نحن إضافة إلى x 1، ونحن تخزين التي قيمة في ذ. LUCAS FREITAS: ذلك أساسا ما هذا خط يفعل، فإنه يجد الآن مربع لذ، ومن ثم قيمته، الشيء الذي وأنت تسير لوضع داخل منطقة الجزاء، هو ستكون قيمة x زائد 1. وهكذا كان هذا المربع لذ. فإنه يحصل على قيمة x، يبدو هنا، ونرى أنه من 2. وضعها هناك، بالإضافة إلى 1، بحيث فإنه يضع 3 هناك. فهل هذا يعقل؟ لذلك سيكون ذ 2 في هذه الحالة. لورين CARVALHO: حسنا، بارد. شاهدنا بعض بالإضافة إلى ذلك، لذلك دعونا نفكر الآن حول الانقسام في C. هنا أنا إعلان وتهيئة تعويم دعا الجواب وتقسيم 1 على 10، ثم أنا طبع الجواب إلى منزلتين عشريتين. ونلاحظ هنا، في بيان printf بلدي، عندما كنت ترغب في طباعة شيء لاثنين المنازل العشرية،٪ .2 f غير ما أريد للاستخدام. وبالتالي فإن النقطة 2 هو مجرد قوله أحتاج مكانين بعد العشري طباعتها. الآن، ما الذي سيحدث إذا قمت بتشغيل هذا الرمز؟ هل لدى أي شخص فكرة؟ ما يمكن أن تطبع؟ LUCAS FREITAS: ما هي نحن نتوقع الحصول عليها. لورين CARVALHO: ماذا تفعل نريد، أولا وقبل كل شيء؟ LUCAS FREITAS: [غير مسموع] لورين CARVALHO: 0.1، نعم. ولكن ما سوف تطبع؟ الحضور: [غير مسموع] لورين CARVALHO: حسنا، لا، في الواقع. هذا ما كنت أتحدث حول لماذا تحتاج إلى تتبع دقيق جدا من أنواع البيانات الخاصة بك. لذلك، ما هو نوع البيانات هذا؟ هو كثافة، أليس كذلك؟ ليس هناك مكان العشري. 10 هو أيضا الباحث. ليس هناك مكان العشري. إذا أقسم عدد صحيح من قبل الباحث، وأنا الحصول على الباحث الذي ليس 0.1، وذلك لأن رجات لا يمكن أن يكون عشريين، ولكن فقط 0. لأن الباحث باقتطاع فقط قبالة المنازل العشرية. LUCAS FREITAS: لذلك كلما كنت تفعل العمليات مع رجات، وأنت تسير ل الحصول على كثافة العمليات كما الجواب. ذلك أساسا، ما الكمبيوتر تقوم به، انها الانقسامات 1 من قبل 10، وأنها تحصل على 0.1. ولكن بعد ذلك انها مثل، الانتظار، وهذا هو من المفترض أن يكون عدد صحيح، لذلك أنت فقط تجاهل 0.1، لذلك فمن الآن فقط 0. لورين CARVALHO: لذلك عندما أقوم بطباعة هذه خروج، وأحصل على 0.00 بدلا من 0.10. LUCAS FREITAS: هل هذا يعقل؟ لورين CARVALHO: هذا النوع من المؤسف، أليس كذلك؟ LUCAS FREITAS: فكيف يمكننا إصلاح هذا؟ لورين CARVALHO: دعونا محاولة لإصلاح ذلك. وهنا مثال من حيث أنا صب الواقع 1 و10 ليطفو. وحتى الآن، 1 لم يعد كثافة العمليات. 1 هو عدد عشري. بالمناسبة، هذا هو مجرد بناء الجملة عندما تريد أن يلقي من أحد نوع بيانات إلى آخر. يمكنك فقط وضع نوع البيانات في أقواس ولها أن تسبق فقط القيمة التي كنت الصب. حتى هنا، أنا تقسيم تعويم بواسطة تعويم للحصول على الجواب عشري. ونعم، وهذا من شأنه في حقيقة طباعة 0.10. فهل هذا يعقل؟ LUCAS FREITAS: إذن نوع الصب هو مجرد تحويل من نوع واحد إلى آخر. حتى تطفو 1 هو في الواقع 1.000. ليس بالضبط هذا، ولكن هذا شيء مع المنازل العشرية التي هي في الواقع 1. فهل هذا يعقل؟ نعم؟ الجمهور: ماذا لو فعلت تعويم الجواب يساوي 1.0 مقسوما على 10؟ لورين CARVALHO: وأنت تسير في الواقع أن نرى أن في الشريحة التالية. وهذا في الواقع لدينا الشريحة التالية للغاية. هذا هو في الواقع أجمل من اكتب الصب، على ما أعتقد. لذلك فان هذه العوامات هما فقط من خلال طبيعة حقيقة أنها لديهم منازل عشرية. نعم؟ الجمهور: ماذا لو كنت فعلت [غير مسموع] مقسوما على 10؟ لورين CARVALHO: في الواقع تعويم مقسوما على عدد صحيح فعلا يعطيك تطفو، بحيث تعمل بشكل جيد. الانتظار، هل الجميع فهم هذا؟ لأن هذا سيكون حقا صفقة كبيرة في Pset1، في الواقع. نعم؟ الحضور: هل يمكنك بسرعة فقط يذهب أكثر من الجزء الأحمر؟ لورين CARVALHO: الجزء الأحمر، نعم. لوكاس، هل تريد؟ LUCAS FREITAS: OK. حتى أن نتذكر أن نسبة هو عنصر نائب. انها مثل مساحة فارغة. لذلك دعونا نحاول أن نفهم كل شيء وهذا ما يحدث هنا. في المئة يعني أنه عنصر نائب. ثم لديك و الذي يعني أن هذا العنصر النائب هو لتعويم. آخر ما لدينا هنا هو .2، وهو ما يعني أنني أريد أن يكون اثنين المنازل العشرية لتعويم. إذا كان لي فقط و٪، وأنها سوف تضع مجموعة من المنازل العشرية. حتى أستطيع أن وضعت للتو .2 أو .1 .5 أو، أو أيا كان، وانها سوف تضع ذلك عدد المنازل العشرية. الشيء الوحيد هو أنه إذا كنت وضعت مثل .100 أو .1،000، انها ليست في الواقع ذاهب الى وضع كل تلك الأماكن العشرية لأنه لا يملك ذاكرة كافية أن يكون هذا الدقة. أي أسئلة أخرى؟ نعم؟ الحضور: وهكذا تطفو يسمح فقط لك أن تذهب أبعد من الأعداد الصحيحة؟ LUCAS FREITAS: نعم. لورين CARVALHO: حسنا، تعويم فقط يسمح لك أن المنازل العشرية. LUCAS FREITAS: بل يعني فقط أن ل الآن يمكن أن يكون الأرقام العشرية. الحضور: لماذا نحن من أي وقت مضى استخدام الأعداد الصحيحة؟ LUCAS FREITAS: لماذا استخدام الأعداد الصحيحة؟ ربما لو كنت عد 0-10، الذي تريد استخدامه في الواقع صحيح. لا تحتاج لاستخدام عشري. في بعض الحالات، لم تقم بذلك أن الواقع - لورين CARVALHO: ربما كنت لا نريد عشرية. LUCAS FREITAS: ربما كنت لا تريد استخدام عوامة. لورين CARVALHO: والشيء الآخر هو، تذكر، سواء وضع تعويم وكثافة العمليات تأخذ 32 بت لتخزينها، وربما كنت لا تريد أن تضيع بت على المنازل العشرية. LUCAS FREITAS: نعم. مثل ذلك، مجرد التفكير في هذا. لديك 32 بت على حد سواء عدد صحيح وعدد عشري. لكثافة العمليات، كل تلك البتات 32 انتقل إلى الجزء صحيحا. إذا كنت تستخدم تعويم مع 32 بت، ل يكون جزءا من هذه الذاكرة المستخدمة لعدد، لعدد صحيح، والجزء الآخر يتم استخدامه ل المنازل العشرية. وهذا يعني أنه لا يمكنك الحصول على أعداد كبيرة جدا مع العوامات ل تعويم هو بالفعل باستخدام الكثير من الذاكرة لمنازل عشرية. نعم؟ الحضور: وهذا الجواب الأول، ما هو بالضبط تفعل؟ هل هو تعيين قيمة متساوية تعويم إلى ذلك نائبا لأنه يمكنك أذكر أنه في السطر التالي؟ تقول تطفو الجواب. LUCAS FREITAS: نعم. لذلك، تعويم الجواب يعني انك تحصل الآن دلو قليلا في الذاكرة التي حاصل على تعويم، والتي يجري ليتم استدعاؤها الجواب. وهذا ما لا تعويم الجواب. ثم كنت أقول إن داخل هذا، وأنت تسير لوضع ونتيجة لهذا. لذلك كنت تنوي القيام به 1.0 مقسوما 10.0، وتحصل على 0.1، ثم كنت وضعت أن داخل الجواب. لورين CARVALHO: حتى في سطر واحد، ونحن إعلان وتهيئة هذا تعويم دعا الجواب. LUCAS FREITAS: ومن المثير للاهتمام، على الرغم من وسطر واحد فقط، فإنه يفعل هذا عمليات متعددة. انها مجرد وسيلة لسفك C كنت تستخدم أقل التعليمات البرمجية. انها نفس الشيء مثل الثلاثي المشغل، كيف يمكنك أن تفعل مجرد [غير مسموع] في سطر واحد. انها تفعل في الواقع نفس الشيء مثل الجواب القيام تعويم، الفاصلة المنقوطة، و ثم الجواب يساوي هذا، ولكن بدلا من يجعلك تفعل خطين لذلك، انها مثل اختصار. نعم؟ الجمهور: حتى إذا قمت بتشغيل هذا، سيكون من 0.10؟ LUCAS FREITAS: نعم. نعم؟ الحضور: هل الإجابة كود الواقع، أم أنها مجرد اسم؟ لورين CARVALHO: هذا هو في الواقع رمز. هذا هو ما نحن في طريقنا على سبيل المثال لدينا المتغير. الجمهور: حتى انها مجرد اسم [غير مسموع]. لورين CARVALHO: نعم. كان يمكن أن تطفو وقال x تساوي 1.0. LUCAS FREITAS: الشيء هو أن اسم المتغير شيء الذي تستخدمه. فمن المهم بالنسبة لك. للبرنامج الفعلي، والشيء الوحيد ما يهم هو القيمة التي يكون داخل دلو. السبب لديك المتغيرات و أسماء المتغيرات هو ذلك كنت أعرف ما كنت تتعامل مع مثل أي نوع من البيانات كنت الوصول في وقت واحد. ولكن بالنسبة للكود نفسه، إذا كنت استدعاء فإنه يجيب أو سؤال أو أي شيء، الى حد كبير، لا يهم. لا يهم. طالما كنت ثابتا في كل حدوث ذلك وهكذا كنت اسميها شيء آخر. نعم؟ الحضور: هل المتغيرات تتجاوز وظيفة؟ مثل لو كنت لخلق قوس [غير مسموع]، يمكن لك فقط [غير مسموع] الإجابة مرة أخرى؟ لورين CARVALHO: رقم الحضور: [غير مسموع] لورين CARVALHO: رقم من شأنها أن تكون خارج نطاق هذا المتغير خاص. وفعلا، وهذا النوع من مثيرة للاهتمام، لأنه عندما يكون لدينا أشياء مثل هذه الحلقات أو إذا الظروف، إذا قمت بتعريف متغير ضمن مجموعة أخرى من الأقواس المتعرجة، كان موجودا حقا فقط داخل هذه الأقواس المتعرجة. الجمهور: ملاحظة أخيرة حول و[غير مسموع] العوامات. لماذا تريد من أي وقت مضى لاستخدام رجات؟ هذا هو أكثر من الجانب علما من أي شيء، ولكن جهاز الكمبيوتر الخاص بك أفضل بكثير في التعامل مع رجات مما هو عليه في العوامات المناولة. انها مثل أمر حجم أسرع. حتى إذا كنا التعامل فقط يطفو فقط، ان الامور ستكون أبطأ كثيرا. لورين CARVALHO: في الواقع، يبدو أن هناك وجود مشكلة مع العوامات. LUCAS FREITAS: نوع من سبب ذلك، يمكن ان يخطر لك، هو كيف في ثنائي يمكنك تمثيل الأعداد الصحيحة عن طريق وضع و0 1 في. لورين CARVALHO: هذا والشيء التالي. LUCAS FREITAS: OK. رهيبة. لورين CARVALHO: فقط عقد هذا الفكر. LUCAS FREITAS: OK، وسوف أكون أقول لكم في وقت لاحق. لورين CARVALHO: قبل أن نصل إلى ما وكان لوكاس مجرد القول، المشغل الأسبقية. هذا هو المنطق السليم. يا رفاق فعلت هذا يكفي. لذلك، فقط إذا كان هناك شيء من بين قوسين، وسوف يحدث أولا. انها الضرب الأسبقية أكثر بالإضافة إلى ذلك، الطرح، وأشياء من هذا القبيل. لذلك فعلا، فقط لا أحد يريد ل قل لي رقم واحد ما فعلا يقيم إلى؟ الحضور: 27. لورين CARVALHO: 27؟ نعم. LUCAS FREITAS: اسمحوا لي أن أقدم الحلوى للناس. لورين CARVALHO: حسنا. ماذا عن رقم اثنين؟ ماذا عن رقم اثنين؟ الحضور: 22. لورين CARVALHO: 22، نعم. أنا لا أعرف الذين حصلوا على ذلك. عدد ثلاثة؟ الحضور: 10. لورين CARVALHO: 10، نعم. بارد. حتى نمطية. لوكاس، هل تريد لشرح نمطية؟ LUCAS FREITAS: مودولو هو هذا المشغل التي هي في الواقع مفيدة جدا ل حفنة من المشاكل. إذا كنت تفعل 55 نمطية 10، ما تقوم به هذا دعونا نقول أنني أريد أن تقسيم 55 بنسبة 10. ما يمكنني الحصول عليه؟ أنه يشعر تماما مثل إذا أنا في الواقع مجرد القيام الانقسام، ما هو المرة الأولى التي حصلت على عدد صحيح؟ الحضور: 5. LUCAS FREITAS: 5. ثم ما تبقى هو 5، أليس كذلك؟ لذلك فمن مثل 5 مرات 10 زائد 5. أساسا، ما لا نمطية، فإنه يحاول تقسيم هذا العدد من نفس واحدة، و ترى ما هو الباقي من الانقسام. لورين CARVALHO: لذلك فقط إرجاع الباقي. حتى رقم واحد ما هو؟ 5. رقم اثنين؟ الحضور: 3. لورين CARVALHO: 3. عدد ثلاثة؟ 0. وأربعة هي 1. بالضبط. LUCAS FREITAS: بسيطة، أليس كذلك؟ لورين CARVALHO: لماذا لا يمكننا تخطي هذه فقط لأننا لم يكن لديك حقا الوقت، ويبدو أن الناس يفهمون. حتى هنا ما كان لوكاس مجرد الحديث عنه. LUCAS FREITAS: وهناك سبب آخر لماذا أنا ستستخدم رجات بدلا من العوامات هو أن يطفو غير دقيقة جدا. ولماذا هم غير دقيق؟ وقال ديفيد التي لتمثيل عدد صحيح، على سبيل المثال، ونحن نستخدم 0 و 1، أليس كذلك؟ ثم كنت تفعل في الأساس الضرب، تفعل كل تلك العمليات لمعرفة ما رقم عشري لديك بدلا من ثنائي. ما يحدث الآن إذا حاولت لوضع النقاط العشرية؟ في الواقع، على سبيل المثال، إذا كان لدي عدد مثل 3.33333؟ فهو يبدو وكأنه أكثر من 3 10. كيف أنا ذاهب لتخزين جميع 3 هو أن لدي بعد ذلك؟ فإنه من الصعب حقا، أليس كذلك؟ لا يمكنك فقط اقول الكمبيوتر، مهلا، لدي 3، و ثم كنت تفعل ذلك إلى الأبد. فعلا لم يكن الكمبيوتر ذكي بما فيه الكفاية لذلك. وذلك أساسا عن جهاز الكمبيوتر الخاص بك لا غير أنه يحاول أن يضع العديد من الأرقام كما فإنه يمكن أن تصل إلى الذاكرة التي لديك. لذلك دعونا نقول انه ذاهب ل يقول 3.3333، وهذا كل شيء. حتى انها ليست قادرة على التعبير عن الواقع بالضبط ما هو أن تطفو. لورين CARVALHO: لدينا عدد محدود بت، مما يعني أن لا كل رقم عشري ستكون قادرة على أن تكون ممثلة على وجه التحديد. وحتى في هذا المثال، إذا أردنا طبع 0.1، ونحن الآن الطباعة من 20 الأماكن. LUCAS FREITAS: تماما مثل كنت أقول يا رفاق، هل يمكن وضع أي رقم. ولكن إذا فعلت للتو المكانين، كنت أحصل 0.10، ولكن إذا وضعت 20 الأماكن، وانها سوف تظهر لك مجموعة من 'ق لأن هذا هو ما يمكنك وضع في الذاكرة، أليس كذلك؟ ولكن هنا، وصولا إلى 0، ومن ثم يتم وضعه فقط ل حفنة من الأرقام العشوائية. هذا هو نوع من مثل بعض - لورين CARVALHO: هذا هو لأننا لم يكن قادرا على تمثل هذه العشرية على وجه التحديد مع عدد بت لدينا. LUCAS FREITAS: وبعد ذلك الكمبيوتر هو في الأساس مما يتيح لك عددا القمامة. هذا ليس في الواقع قيمة الرقم. الجمهور: انها أقرب ما أنه يمكن الحصول على (غير مسموع) باستخدام [غير مسموع]. لورين CARVALHO: إذن الآثار المترتبة على هذا هو أن دعونا نقول أنه بدلا من يجري 0.100014، أيا كان، ماذا لو كان 0.0999 - حسنا، موافق. دعونا نتظاهر بأن الجواب الفعلي لهذا كان 0.9999999. وهذا قريب جدا إلى 1، ولكن انها ليست بالضبط 1. انها 0.99999. وهذا يعني أنه إذا كنت تأخذ هذا 0.999، وأنا يلقي ذلك إلى int، أحصل 0. أنا لا أحصل على 1. LUCAS FREITAS: لأن تذكر، الصب من تعويم لكثافة العمليات، أنت فقط تجاهل كل المنازل العشرية. كنت مجرد تجاهلها. ليس هناك شيء مثل القبض على أو يهرول عند التلبيس. في الواقع، هناك هذه الوظيفة التي لا التقريب، الذي هو غاية المهم، ولكن كنت مجرد التفكير في أنه عندما كنت تفعل تلبيس النوع، انها مجرد الذهاب الى حذف كل شيء. لذلك حتى لو كان لديك 0.99999، انها تسير لإعطاء فقط 0 إذا كنت التلبيس [غير مسموع] عدد صحيح. لورين CARVALHO: هكذا فقط تكون على علم حقا نقطة عائمة في الدقة، وخصوصا عند بدء تشغيل لاستخدام العوامات في Pset1. ولكن ينبغي أن المشي من خلال يحذرك من ذلك أيضا. LUCAS FREITAS: وفعلا انها حقا من الصعب، على سبيل المثال، إذا فعلت تعويم الجواب 1 يساوي 1.0 على 10، ثم تطفو الإجابة 2 يساوي 10.0 على 100.0. هم نفس العدد، أليس كذلك؟ 0.1، أليس كذلك؟ 1 أكثر من 10 أو 10 أكثر من 100. ولكن الآن إذا أنا أحاول أن نرى المساواة، مثل إذا الجواب 1 يساوي 2 الإجابة، ربما لن الواقع أن يكون نفس الشيء. حتى يطفو هي نوع من هذا القبيل. انهم مثل القيام المساواة.