JASON Hirschhorn: Selamat datang. Jadi hanya beberapa pengumuman sebelum kita mula. Jadi bahagian, semua orang harus telah dipotong sudah. Seksyen biasanya dijalankan dari hari Ahad hingga Selasa. Jadi anda semua harus mendapatkan tugas anda. Dan saya rasa minggu depan Anda akan dengan TF sebenarnya. Jadi, jika anda mempunyai sebarang pertanyaan, atau masalah, atau anda terlupa untuk bahagian. Sesetengah orang melakukan itu. Hanya beritahu kami. Tembak email pada kami di kepala. Kemudian waktu pejabat. Kami mulai jam kerja minggu lepas. Waktu pejabat setiap minggu. Isnin adalah di Leverett 8:00-11:00. Selasa di quad, jadi Cabot 8:00-11:00. Rabu, Mather 8:30-11:30. Dan Khamis Annenberg 8:00-11:00. Jadi Gores, banyak orang tidak perlu waktu pejabat membantu untuk Awal, yang benar-benar baik. Jika anda lakukan, itu baik-baik saja juga. Tetapi pada masa akan datang, masalah set, mereka mendapat jauh lebih sukar. Jadi ini akan menjadi rakan anda. Pasti pergi ke waktu pejabat. Rancang pergi ke waktu pejabat. Apabila anda mendapat kepada masalah menetapkan empat, lima, enam, tujuh, Anda perlu pergi ke waktu pejabat. Itulah di mana banyak bantuan dan kerja-kerja yang akan dilakukan. Saya rasa tahun lepas, hanya untuk Sebagai contoh, pada hari Khamis malam- jadi saya fikir masalah ini set adalah karena pada hari Jumaat. Jadi malam hari Khamis, kami akan mempunyai 200, 250 orang pelajar pada waktu pejabat. Jadi pasti menggunakan ini. Ini adalah kawan-kawan anda yang terbaik. Seperti ini adalah di mana jika anda terjebak pada satu set masalah, ini adalah di mana anda mungkin akan mendapat bantuan. Jadi waktu pejabat. OK sehingga mereka adalah pengumuman. Pengumuman yang dilakukan, jadi mari kita mulai. OK, perkakas. Adakah semua orang turun perkakas belum? Tidak. Seperti dalam begitu begitu. Aku agak turun perkakas. Betul supaya alat tersebut baru tahun ini, jadi kita mungkin akan mempunyai beberapa bug di dalamnya. Oleh itu, sila muat turunnya seawal yang mungkin. Jadi masalah menetapkan satu akan memberitahu dengan tepat bagaimana untuk memuat turun. Bermula memasang di sini. Ia akan memberitahu anda bagaimana untuk memuat turun alat. Jadi pasti men-download perkakas terlebih dahulu dan bukannya kemudian. Arahan dalam spec P set. Jadi, jika anda menunggu sehingga Rabu malam, dan kemudian anda menghadapi masalah, dan anda menghantar e-mel kepada kami di tengah malam pada malam Rabu bahawa anda tidak boleh memuat turun perkakas, itu bukan alasan legit untuk tempoh lanjutan. Yang perlu anda lakukan sekarang, dan anda akan mempunyai masalah. Saya cuba untuk memuat turun malam tadi. Aku berlari ke dalam sedikit masalah. Jika anda mengalami masalah memasang, pasti memukul coba lagi, kerana saya hanya tekan cuba semula yang beberapa kali, dan akhirnya ia bekerja, yang tidak membuat apa-apa akal, tetapi ia tidak. Jadi pasti cuba semula, tetapi jika anda datang ke dinding bata, menembak kami e-mel di kepala, dan kami akan lebih dari senang untuk membantu anda semua. Ada apa? PELAJAR: Hanya pertanyaan cepat. Jika mereka memeriksa gaya, ada sebahagian yang menyatakan bahwa kita tidak termasuk ini. JASON Hirschhorn: Belum. PELAJAR: Dikatakan melaksanakannya. Bagaimana anda melaksanakan bahawa untuk memastikan ia dalam sistem anda? JASON Hirschhorn: Anda akan menjalankan perintah Bash. Aku akan pergi ke itu nanti. Sejuk. Jadi perkakas boleh menjadi sedikit menakutkan, kerana anda yang digunakan untuk jenis berjalan dalam antara muka pengguna grafik. Jadi Scratch adalah pengguna grafik antara muka, jadi apa yang saya maksudkan dengan itu? Apa yang saya maksudkan ialah apabila anda pengaturcaraan, Anda pada dasarnya menggunakan blok kod. Anda boleh melihat kode dan hal-hal seperti itu. Perkakas, anda akan melakukan perkara dalam persekitaran baris perintah. Dan sebagainya untuk sisa kehidupan pengaturcaraan anda, Anda akan melakukan hal-hal dalam persekitaran baris arahan. Jadi ada baiknya untuk melompat pada awal dan mendapatkan pengalaman. Jadi mari kita melakukannya. Jadi itulah Rob. OK, jadi mari kita melompat ke dalam perintah barangan talian. Jadi, ini adalah alat. Bolehkah sesiapa beritahu saya kenapa kami menggunakan alat itu? Apa yang alat ini? Kawan atau musuh? Ada apa? PELAJAR: Ia hanya satu mesin maya bahawa anda menjalankan komputer anda sehingga anda boleh mendapatkan lebih dari OS perbezaan pendapat antara Mac dan PC. JASON Hirschhorn: Perfect. PELAJAR: Ini templat sejagat. JASON Hirschhorn: Ya, itu seperti templat sejagat. Sempurna. Jadi ya, ia adalah satu mesin maya. Jadi pada dasarnya sebuah sistem operasi. Ini adalah satu sistem operasi. Ini sama dengan anda Mac, atau PC anda, atau Linux anda. Ini adalah sama. Dan supaya anda boleh melakukan hal-hal yang sama. Jika anda mahu, anda boleh pergi ke dalam talian sebagai contoh. Anda tidak boleh benar-benar melihatnya, tetapi di sini, Google Chrome. Anda boleh pergi ke dalam talian jika anda mahu. Ini adalah satu sistem operasi. Dan alasan yang kita lakukan itu adalah kerana itu jauh lebih mudah apabila kita membagi-bagikan arahan dan segala-galanya. Jika hanya persekitaran yang seragam, itu jauh lebih mudah untuk kita, dan itu jauh lebih mudah untuk anda. Anda tidak akan mengalami ia mengalami apa-apa keistimewaan apabila anda pengaturcaraan. Kita tahu apa yang Anda akan mengalami. Jadi alat tersebut di sini. Oleh itu, apabila anda mula pengaturcaraan, anda akan turun ke sudut kiri. Ada sebuah kotak kecil. Anda akan klik. Ini adalah tetingkap terminal anda. Jadi, ini adalah di mana anda akan ada banyak semester. Jadi, saya memperbesar sedikit. OK, sehingga mendapatkan sekitar terminal tetingkap adalah sedikit berbeza. Pertama, tidak ada ikon. Saya tidak boleh klik apa-apa. Tidak ada yang selamat. Jadi, anda perlu memikirkan satu cara untuk mencari tahu di mana anda berada, apa yang ada di sini, dan bagaimana untuk bergerak. Jadi kedua-dua perintah yang paling berguna mungkin adalah ls-- jadi apa yang anda berfikir ls tidak? PELAJAR: Senarai. JASON Hirschhorn: Daftar, yeah. Ia hanya menyenaraikan algoritma dalam direktori. Dan kemudian cd. Jadi, bila saya mahu cd CS50, apa yang lakukan? Ya? PELAJAR: Perubahan direktori anda. JASON Hirschhorn: Perfect, yeah. Ia hanya perubahan direktori. Jadi mari kita kembali. Jadi bagaimana saya kembali? Jadi, bila saya mahu pergi kembali ke direktori sebelumnya. Ya pasti. PELAJAR: Saya rasa anda menulis cd sahaja tanpa apa-apa. JASON Hirschhorn: Anda boleh melakukan itu. Begitu sempurna. Jadi jika saya menulis cd, ini adalah benar-benar akan pop saya cadangan ke direktori rumah. Jadi anda lihat tilde ini, itu akan pop saya cara kembali ke tempat tilde itu. Jadi ia akan pop saya kembali ke direktori rumah. Tetapi katakanlah saya melakukan sesuatu seperti ini. Katakanlah cd CS50. ls lagi. Saya ada hal-hal lain. cd seksyen super. fail cd, jadi saya akan dalam. Dan kemudian katakanlah saya mahu hanya muncul kembali ke atas. cd. Katakanlah saya tidak mahu melakukan itu. Katakanlah saya hanya mahu muncul kembali untuk direktori yang tepat di atas saya. Bagaimana saya melakukannya? Jadi, bila cd CS50. cd supersection. Oleh itu, marilah aku di sini. Katakanlah saya hanya ingin untuk memunculkan satu masa. Bagaimana saya melakukannya? Ya, ada apa? PELAJAR: Anda hanya perlu menaip cd supersection lagi. JASON Hirschhorn: Anda boleh melakukannya. Yah aku di supersection. PELAJAR: Oh, yang sebelumnya. JASON Hirschhorn: Ya, jadi anda boleh melakukannya. Anda boleh melakukan cd ~ CS50. Jadi, jika anda melihat penggunaan di sini, ini adalah jalan anda di sini. Itulah laluan anda. Jadi, anda boleh serius hanya pergi cd ~ / CS50. Boom, anda berada di sana. Apa cara yang lebih mudah untuk melakukannya walaupun? Itu adalah sempurna benar, tetapi apakah cara yang sedikit lebih mudah untuk melakukannya, kerana banyak kali anda akan yang akan melompat dalam direktori, melompat keluar dari direktori. Jadi mari kita kembali. cd supersection. Jadi, bila saya mahu kembali cepat. Anda boleh melakukan sesuatu seperti cd dot dot. Itu akan pop anda membuat sandaran cepat. Jadi cd supersection. file cd. Katakan aku di sini. By the way, yang jelas adalah baik, kerana saya jendela semakin sedikit tidak kemas. Jadi ls, jadi saya tidak mahu berada di sini lagi. cd dot dot. Bawa aku satu. Cd dot dot mengambil saya satu. Cd dot dot dan kembali ke rumah saya. OK, jadi cd, ls. Mungkin yang paling penting hal, kerana anda akan perlu tahu di mana anda berada. ls akan memberitahu anda mana anda berada, dan cd adalah bagaimana anda akan melompat-lompat. Anda juga boleh melakukan beberapa hal lain yang menarik. Jadi misalnya ls. ls hanya akan menunjukkan kepada anda direktori dalam fail anda. Ia juga akan menunjukkan kepada anda fail. Tetapi ia hanya akan menunjukkan apa yang ada. Jika anda ingin sesuatu yang sedikit lebih sejuk, dan anda akan benar-benar melakukan ini dalam beberapa minggu. ls dash l. Yang mencetak sedikit maklumat lanjut. Bolehkah sesiapa meneka di tangan sebelah kiri sisi yang drwx, rwx dan hal-hal seperti itu. Ada yang punya idea apa artinya itu? PELAJAR: Izin. JASON Hirschhorn: Ya, sempurna. Izin. Jadi, anda akan perlu berurusan dengan ini apabila anda melakukan pengaturcaraan web di kemudian hari. Jika anda pernah pergi dalam talian, dan anda klik pada imej atau klik di lapangan, dan ia berkata permission-- seperti kebenaran tidak dibenarkan, atau seperti kebenaran tidak diberikan atau apa sahaja, itu karena apabila mereka pengaturcaraan, mereka belum menetapkan hak akses ini untuk membolehkan anda melakukan itu. Jadi di mana yang berasal dari. OK, jadi itu sejuk. Oleh itu, kita melompat-lompat. Kita dapat melihat hal-hal di dalam direktori kami. Tetapi bagaimana kita membuat barangan? Saya ada direktori di sini. Itulah yang menggerunkan. Bagaimana saya membuat direktori baru? Katakanlah saya ingin membuat yang baru direktori untuk sekarang. Anda boleh melakukan sesuatu seperti ini, mkdir. Oleh itu, direktori. Jadi, apa yang anda mahu memanggil direktori ini? PELAJAR: Awesome. JASON Hirschhorn: Awesome. Saya sukakannya. Membuat direktori mengagumkan. Dan ada anda pergi. Jadi kita perlu daftar. Anda mempunyai direktori yang baru. Dan anda boleh memberitahu ia adalah satu direktori dalam alat anda kerana ia mendapat warna ini, kan? Jadi seperti kebiruan ungu atau apa sahaja. Jadi mari kita berubah. Mari kita menukar direktori. Mari kita pergi ke directory-- yeah, ada apa? PELAJAR: Adakah terdapat senarai semua ini [terdengar] dalam talian? JASON Hirschhorn: Ya, saya akan meletakkan mereka on-- kita akan mempunyai slaid. Ini akan menjadi PDF. Kami akan menempatkan mereka untuk semua orang. Ya, maaf itu banyak perintah. jika anda mahu saya untuk melambatkan, atau kembali, atau sesuatu seperti itu, pasti beritahu saya. Ini banyak untuk menyerap segera. Ada apa? PELAJAR: Bolehkah saya bertanya soalan yang mungkin bodoh? JASON Hirschhorn: Ada ada soalan yang bodoh. PELAJAR: Ada. Direktori adalah untuk hanya mencari pada maklumat di mana anda menyimpannya. JASON Hirschhorn: Ya. PELAJAR: Apakah yang pada dasarnya apa yang anda lakukan? Oleh itu, apabila kita membuat sesuatu, hello world atau apa sahaja, ia disimpan dalam direktori, ya? JASON Hirschhorn: Ya. PELAJAR: Apakah yang berlaku untuk segala-galanya. Semuanya disimpan dalam direktori. JASON Hirschhorn: Ya. Setiap kali anda membuat, apapun direktori anda berada dalam, ia akan pada dasarnya menyimpannya dalam direktori tersebut. PELAJAR: Dan apabila kita menyebutnya, kami menyebutnya dari direktori. JASON Hirschhorn: Ya, jadi direktori di mana ia es. Jadi ia adalah jenis seperti jika anda mempunyai folder baru di desktop anda dan kemudian anda menulis teks fail, memasukkannya ke dalam folder itu, fail yang ada di dalam folder itu. Adakah ini masuk akal? PELAJAR: Ya. JASON Hirschhorn: Ya, ada apa? PELAJAR: Bolehkah saya hanya meminta anda untuk membuat ia sedikit lebih besar? JASON Hirschhorn: Oh, ya. Maaf. Projektor yang tidak baik. Kami mempunyai begitu banyak masalah dengan ini lebih awal. Adakah itu lebih baik? Adakah itu terlalu besar? PELAJAR: Tidak, tidak tidak. JASON Hirschhorn: Tidak, ia tidak. Adakah ia terlalu kecil? Ada apa? PELAJAR: Saya minta maaf, apa yang perintah bagi penjelasan? JASON Hirschhorn: Oh, jelas. Jika anda mahu untuk membersihkan, hanya menaip jelas. jelas masuk. Perkakas yang terakhir, apa yang ia pada dasarnya tidak, itu tidak mengosongkan maklumat anda, ia hanya jenis beralih semua turun satu skrin. Jadi, jika anda taip clear-- untuk contoh katakanlah saya menatal ke atas. Saya boleh tatal ke atas. Ini semua yang saya lakukan. Tetapi jika saya menaip jelas, dan kemudian Saya tatal ke atas, inilah barang-barang saya. Sehingga tidak menghapusnya, ia hanya pada dasarnya memberikan anda bingkai baru. PELAJAR: Bagaimana anda [Terdengar] direktori? JASON Hirschhorn: Kami akan ke sana. [Ketawa] Lambat roll. Baik. OK, jadi sehingga kita berada dalam direktori sekarang. Lalu Daud, saya rasa dalam syarahan ia melakukan hal-hal beberapa sejuk. Jadi mari kita menulis program. Jadi, anda boleh melakukan yang beberapa cara yang berbeza. Anda boleh menggunakan sebarang editor teks. Anda boleh menggunakan Nano, anda boleh menggunakan Vim, Emacs. Mereka adalah sedikit lebih rumit. Atau anda boleh menggunakan sesuatu yang di di sini yang dinamakan gedit. Maaf. gedit tidak gembira. Jadi pada dasarnya gedit hanya editor teks. Sama seperti saya mengedit teks perkataan pemproses atau sesuatu seperti itu. Jadi itu punya bagus antara muka hanya menyukainya. Jadi, anda melakukan sesuatu seperti itu. Jadi sebenarnya biarlah saya memberikan nama kerana saya tidak pernah melakukan itu. Jadi, apa yang anda mahu nama program pertama kami? Ia hanya akan menyapa. PELAJAR: [didengar]. JASON Hirschhorn: Anda tidak mempunyai imaginasi. OK, gedit. Hi. Saya akan melakukan .txt. OK, jadi di sini ia. Jadi mari kita menulis program. Jadi saya fikir anda melihat ini dalam kuliah. Anda memerlukan fungsi utama. Boop. Jadi, ini adalah hanya satu fungsi utama. Yang lebih besar? Ya, maaf. OK jadi anda perlu fungsi utama. Saya fikir saya melompat pistol sedikit, tapi tidak buruk untuk mendapatkan digunakan untuk hal semacam ini. Jadi fungsi utama, setiap program C anda akan menulis untuk sisa ini tentu akan mempunyai fungsi utama. Apakah ada yang tahu mengapa? Ada apa? PELAJAR: Mula. JASON Hirschhorn: Tepat sekali, sehingga memberitahu program anda di mana untuk bermula. Jadi, jika anda tidak mempunyai satu fungsi utama, dan anda menyusun dan hal-hal ini, ia tidak akan tahu adalah untuk memulakan. Utama adalah sentiasa di mana ia bermula. Jadi, anda mempunyai satu fungsi utama, dan kemudian apakah ada yang masih ingat bagaimana untuk mencetak? PELAJAR: printf. JASON Hirschhorn: Ya, printf. printf hi. OK, sekarang saya telah menetapkan kalian sehingga untuk gagal, tetapi ini akan mengumpulkannya. PELAJAR: No. JASON Hirschhorn: Mengapa? Ada beberapa alasan mengapa. Tentu. PELAJAR: Ia tidak mempunyai piawaian [terdengar]. JASON Hirschhorn: Perfect. Jadi apa yang disebut di sini? PELAJAR: [didengar] JASON Hirschhorn: Ini file kepala, kan? Ia adalah satu file header. Dan kau betul-betul benar. Anda berdua benar. Jadi untuk memasukkan itu, saya hanya melakukan pon termasuk standard H input output. Adakah saya yang baik untuk pergi sekarang? Apakah ini kompilasi? PELAJAR: No. JASON Hirschhorn: Mengapa tidak? PELAJAR: Ini adalah [terdengar] teks. JASON Hirschhorn: Ya, mengagumkan. Jadi saya hanya membuatnya. Jadi saya menyimpannya, tetapi gedit hi.txt. Jadi jika saya lakukan ls, ini dia. Di sini. Oh, ia bukan di mengagumkan. Aku pasti padam. Oh, sempurna. Bagaimana kita meletakkan ini dalam awesome? Jadi, saya tidak mahu ia di sini di rumah saya direktori dengan segala sesuatu yang lain. Saya ingin memasukkannya ke dalam folder. Bagaimana saya melakukannya? Tidak terlalu keras. Bergerak. Oleh itu, kita sudah belajar ls, senarai. cd untuk menukar direktori. cd dot dot untuk bertemu dari direktori. Dan sekarang kita akan mula bergerak di sekitar fail. Jadi untuk bergerak hanya bergerak hi.txt, dan Aku akan memasukkannya ke dalam menggerunkan. Hanya berhati-hati. Setiap kali anda menulis dalam baris arahan, masalah segala-galanya. Jadi hal-hal huruf besar. Jika saya telah selesai huruf kecil, itu tidak akan tahu apa yang berlaku. Jadi perkara-perkara semua menjadi sangat khusus. Jadi berjalan yang ls. Itu tidak lagi di sini. Mari kita menukar direktori ke menggerunkan. ls. Boom, itu ada. Dan seseorang yang disebutkan mengapa ini tidak akan mengumpulkannya. Mengapa tidak akan menyusun semula? Ya? PELAJAR: Ia bukan dalam c yang. JASON Hirschhorn: Perfect. Ia bukan c a, s sehingga bagaimana aku akan mengubah nama kepada c yang? Apa cara yang mudah untuk melakukannya? Mari kita gunakan perintah baru saja kita lakukan. Oleh itu, kita hanya akan bergerak hi.txt untuk hi.c. ls hi.c. Dan kemudian hanya untuk suka-suka, mari kita hanya melompat ke dalam ini cepat sebenar. hi.c. Anda akan melihat ia adalah baik dan penuh warna. Jadi ini adalah hanya jenis berguna warna apabila anda pengaturcaraan. Jadi int dan kekosongan, mereka adalah jenis data. Kita akan pergi ke atas dalam satu saat. Hai adalah string. Tetapi warna yang bermanfaat. Jadi, jika anda tidak sengaja memilih sambungan yang salah, Anda harus mempunyai warna-warna ini. Ada apa? PELAJAR: Bagaimana saya boleh menyalin ke dalam file [terdengar] ke dalam fail yang lain? JASON Hirschhorn: Oh, saya akan menunjukkan kepada anda itu juga. Jadi menyalin keluarkan adalah di dermaga. Mari kita membuat ini. Pastikan ia berfungsi. Membuat hi. Kerja Raya, menjalankannya. Jadi ./hi mengagumkan. Itu adalah program pertama anda. Biar saya membuatnya lebih besar. Jadi yang benar-benar good-- Ya, ada apa? PELAJAR: Mengapa ia akan menjadi bahawa apabila saya mengambil gedit, ia tidak memberi saya satu lagi talian bagi gedit hi.txt? Ia hanya meletakkan kursor ke garis. PELAJAR: Ya. The [terdengar]. JASON Hirschhorn: Tunggu, sehingga mengatakan itu lagi. PELAJAR: Apabila saya menaip gedit, yang pertama kalinya, line-- pertama JASON Hirschhorn: Sehingga terdapat di bahagian paling atas? PELAJAR: Tidak mempunyai J Harvard alat, dan kursor hanya sepanjang jalan ke sebelah kiri. JASON Hirschhorn: Semua jalan ke kiri? PELAJAR: Ya. Apakah orang lain punya itu? JASON Hirschhorn: Oh, J Harvard adalah seperti username. Jadi itu hanya nama pengguna standard. PELAJAR: Berhenti balas. JASON Hirschhorn: Oh, ia berhenti bergerak balas. OK, jadi apa yang anda perlu lakukan adalah Anda harus menutup daripada gedit. Begitu dekat daripada gedit, dan ia harus kembali. Begitu juga gedit terbuka pada anda alat yang tepat ini? Jika anda keluar daripada itu, ia perlu kembali dan anda harus baik untuk pergi. Melakukan kerja-kerja itu? PELAJAR: Jadi yang anda gunakan perintah gedit untuk open-- JASON Hirschhorn: Tidak, yang pertama perintah gedit adalah satu kesilapan. Perintah gedit pertama, Saya lakukan gedit hi.txt. Jadi saya memberikan nama, hi.txt sehingga gedit. hi.txt adalah nama fail. Yang pertama adalah hanya kesalahan, dan kemudian Aku segera menutup program tersebut. Jadi persoalannya adalah jika saya melakukan gedit, saya tidak akan dapat benar-benar apa-apa lagi dalam baris perintah sehingga saya menutup gedit itu, jadi saya berfikir bahawa apa yang mereka berlari ke dalam. Begitu dekat gedit itu. Ia akan kembali daripada yang program, dan kemudian anda akan dapat benar-benar menaip selaras perintah lagi. Adakah itu baik? Dadah. Jadi pastikan untuk menutup jika anda mengalami kesulitan. OK, jadi soalan yang benar-benar baik beberapa detik yang lalu telah menyalin. Jadi sekarang saya telah hi.c. Tetapi katakanlah saya mahu mengubahnya. Saya mahu ia menjadi lebih baik. Saya ingin mengatakan kelas hi. Tetapi saya mahu menyimpan template ini. Saya tidak perlu menulis semula keseluruhan program lagi. Aku ingin menyimpan template. Bagaimana untuk menyalin? Mudah. Jadi cp hi.c newhi.c. Sekarang saya mempunyai dua. Dan kemudian saya boleh membuka newhi.c, dan bukan hanya mengatakan hi, Saya akan mengatakan kelas hi! Jadi aku akan kembali. Keluar keluar. Kembali ke baris arahan saya. ls membuat newhi. Menjalankannya. Ada. Ia adalah lebih baik, jauh lebih baik. Jadi jika anda ingin menyalin sesuatu, semudah itu. cp adalah salinan. Jadi kami telah pergi lebih bergerak, membuat direktori, menyalin. Mari kita lihat apa lagi yang perlu saya pergi ke? Oh, ya. Mari kita pergi ke ini. Jadi, ini adalah mengagumkan. Katakanlah saya ingin supaya- oh menunggu. Saya akan kembali ke mengagumkan. Katakanlah saya tidak mahu fail-fail ini di sini. Katakanlah saya mahu mereka dalam baru direktori seperti di dalam direktori mengagumkan. Saya ingin memulakan penganjuran, jadi sekarang saya akan dengan membuat satu direktori baru yang disebut hi. Ia mempunyai semua program Saya menulis dipanggil hi. Jadi bagaimana kita melakukannya? PELAJAR: Ubah direktori. JASON Hirschhorn: Ya. hi. Boop. mkdir hi_dir. Ia mengeluh kerana saya sudah mempunyai teknologi yang di sini. Jadi sekarang saya mempunyai direktori hi. Jadi sekarang saya ingin memindahkan segala-galanya, semua program yang saya tulis, Saya ingin memindahkan mereka ke dalam direktori hai itu. Hanya bersih tersumbat. Bagaimana saya melakukannya? PELAJAR: [didengar]. JASON Hirschhorn: Pindah, kan? Jadi mari kita bergerak. Ya? PELAJAR: Apakah perbezaan di antara hi dan hi.c yang sudah kita miliki. JASON Hirschhorn: Oh, hi.c adalah yang sebenarnya. Jadi itulah fail yang anda menulis. Jadi jika anda akan membukanya di gedit atau Nano, itulah apa yang anda menaip. Apabila anda compile, kemudian Anda mendapatkan fail boleh laku. Itu hi. Jadi, jika anda membuka hi, perkara yang berlaku menjadi sekumpulan bahasa raban kepada anda. Ia pada dasarnya akan menjadi sekumpulan arahan komputer. Ada apa? PELAJAR: Apa yang semua warna bermakna? Biru ini mungkin direktori. Apa yang kuning? JASON Hirschhorn: Mereka adalah fail boleh laku. Oleh itu, apabila saya membuat hi.c, ia memberikan me-- jadi saya boleh melakukannya. Terburu-buru. Jadi menghapus hai ya. Karena itu baiklah kita buat ls. Saya tidak mempunyai hai lagi. Oleh itu, apabila anda membuat, saat itulah anda mengikuti program yang anda tulis dan anda membuat fail boleh laku. Oleh itu, hi.c-- baik, membuat hi. Saya fikir dia pergi ini dalam kuliah. Ini adalah sekumpulan petunjuk pengkompil. Jadi, daripada harus benar-benar menulis dentang dengan semua ini. Ini adalah bendera. Anda hanya menulis buat. Jadi ini membuat fail boleh laku. Oleh itu, apabila anda melakukan ls, sekarang anda mempunyai hi. Jadi, ini adalah apa yang anda akan benar-benar berjalan. Dan supaya anda menjalankan bahwa dengan melakukan ./hi, dan menjalankan program anda. Tetapi jika saya cuba untuk melakukan itu dengan hi.c, tidak, ia tidak akan bekerja. Ya, apakah itu masuk akal? PELAJAR: Mm-hm. JASON Hirschhorn: Cool. Tunggu, aku ingin mengatakan sesuatu yang lain. Hanya nyata cepat, dalam hal ada yang tertarik, apabila anda melompat keluar dari direktori, ia adalah titik titik. Apakah ada yang mempunyai idea tentang apa yang mungkin hanya cara yang titik tunggal? PELAJAR: [didengar]. JASON Hirschhorn: Ini sebenarnya direktori semasa. Jadi ia direktori semasa anda. Jadi aku di sini. Aku di mengagumkan. Jika saya melakukan cd titik, ia tidak berbuat apa-apa. Ia membawa saya ke dalam direktori semasa saya. Jadi sedikit berlebihan, tetapi anda perlu untuk melakukan itu, jadi ./ nama program anda, untuk menjalankan program, anda perlu berbuat demikian. OK. PELAJAR: Jika anda melakukan cd dot dot dot, namun banyak titik-titik ia hanya akan membawa anda sehingga bahawa banyak direktori? JASON Hirschhorn: Maksudmu seperti cd dot dot dot dot? PELAJAR: Ya. JASON Hirschhorn: No. Jadi sebenarnya Ingat saya ls -l? Jika saya melakukan sesuatu yang lain, saya boleh ls -a. Jadi apa ini mengatakan adalah -a menunjukkan segala-galanya. Jadi ia menunjukkan kamu perkara-perkara yang tersembunyi dan perkara-perkara yang tidak tersembunyi. Jadi, jika anda perasan bahawa apabila saya melakukan hanya ls, saya hanya melihat barang-barang itu, barangan yang saya dibuat. Jika saya melakukan -a, ia akan untuk menunjukkan segala-galanya. Dan direktori sehingga saat ini, direktori di atasnya. Adakah ini masuk akal? Ya? PELAJAR: Tetapi mereka tidak sebenarnya dalam direktori. Direktori saat ini bukan dalam dirinya sendiri, jadi mengapa mereka yang menunjukkan titik-titik di dalam? JASON Hirschhorn: Maksudmu itu seperti ia bukan dalam direktori. PELAJAR: Benar. Oleh itu, kita mempunyai senarai perkara yang dalam direktori. JASON Hirschhorn: Saya rasa ia adalah dalam direktori. Seperti -a menunjukkan segala-galanya, walaupun ia tersembunyi di dalam direktori. Jadi saya fikir ia hanya perjalanan ke direktori semasa jika yang masuk akal. Ini adalah rekursif sedikit. Ia seperti Pendahuluan. Ada apa? PELAJAR: Jadi anda kata menunjukkan -a [terdengar]? JASON Hirschhorn: -a, ya. PELAJAR: Apa yang membuatnya [terdengar]? JASON Hirschhorn: Nah, sebagai contoh, mari kita kembali ke atas. Ini biasanya barang-barang anda tidak boleh main-main dengan dan anda tidak perlu bimbang tentang. Jadi ini adalah jenis rumah. Jika saya melakukan -a, saya mendapat banyak hal. Semua itu. Dan anda tidak perlu untuk main dengan mana-mana barangan itu. Pasti tidak mula pergi di sini dan hanya mengeluarkan barangan. [Ketawa] Ya, ini adalah sedikit lebih hal-hal yang selesa, tetapi ia adalah baik untuk tahu. Saya fikir ia adalah baik untuk mengetahui. Tetapi jika anda tidak mahu untuk menaip -a dalam keseluruhan kursus ini, lupakan saja. Ada apa? PELAJAR: Apa yang ls -l? JASON Hirschhorn: Itu menunjukkan kebenaran. Pada asasnya anda menggunakan untuk kebenaran, jadi-l. Ia menunjukkan anda sedikit sedikit maklumat lanjut, tetapi sekali lagi, ini adalah sedikit sedikit hal yang lebih selesa. Ini hanya kebenaran. Jadi hak akses dari folder. Jadi, sebagai contoh, katakanlah saya membuat folder, jadi d mewakili direktori. Jadi mereka adalah direktori. Dan kemudian membaca, menulis, melaksanakan. Jadi mereka adalah kebenaran untuk Saya rasa pengguna, kumpulan, dunia. Benar-benar akan terlalu jauh. Anda akan pergi di ini seperti minggu dari sekarang, tetapi hanya sehingga anda tahu, mereka adalah kebenaran. Ada apa? PELAJAR: Bolehkah anda jelas daripada hanya melompat ke perkara yang akan datang, boleh you-- JASON Hirschhorn: Anda maksud sebenarnya memadamkan? Saya tidak tahu. Saya tidak pernah berbuat demikian. Mengapa anda mahu berbuat demikian? Mengapa anda melakukan itu? Aku suka. Anda tinggal di tepi. Anda seperti saya tidak mahu semua ini. Itu sengit. PELAJAR: [didengar]. JASON Hirschhorn: Ya, kita boleh berbuat demikian. Maaf, bermain-main dengan saiz adalah betul-betul membuatku takut sekarang. Mari kita naik. Ya, sehingga sekarang saya tidak boleh naik lagi. Jadi semua yang saya diajar anda hilang selamanya. Matur nuwun. Kami membuat direktori kami. Kami membuat fail dan barang-barang kami seperti itu, jadi kami masih mempunyai semua itu. OK, saya akan pergi cepat. Jadi cepat. Jadi, bila aku di mengagumkan. Katakanlah saya ingin pindah segala-galanya kepada direktori baru kerana saya hanya mahu untuk mengatur, kan? Jadi bagaimana saya akan melakukannya. Bergerak. Kami akan menggunakan langkah lagi. Jadi bergerak hi.c. Dan apa yang anda boleh lakukan ialah anda mula menyenaraikan barang-barang, dan perkara terakhir yang anda daftar ini di mana ia akan menggerakkannya. Jadi bergerak hi.c, hi newhi newhi.c, hi_dir. Dan sebagainya ia bergerak segala sesuatu ke perkara terakhir yang anda sebutkan. Jadi kemudian menukar direktori, ls hi_dir. Semua yang ada di dalam sana. Jadi ia adalah baik dan lebih teratur. OK, katakan saya tidak suka program teknologi asli saya. Saya ingin mendapatkan membuangnya. Bagaimana cara membuangnya? Ada apa? PELAJAR: [didengar]. JASON Hirschhorn: Katakanlah saya hanya mahu mengeluarkan program ini, jadi hanya hi. Tidak, kau benar. Jadi ia rm, tetapi anda rm hi. Ia akan memberikan sedikit peringatan. Ia akan katakan anda pasti anda mahu memadam ini, dan ya saya lakukan. Jika anda tidak mahu diminta seperti itu kerana anda tidak mempunyai masa untuk peringatan, keluarkan f. Ini adalah bendera lain. Ia seperti l itu. Ia seperti -a. Ini hanya bendera yang Anda memberi kepada perintah ini. Jadi keluarkan f. f f berarti kekuatan. Jadi memaksa itu. Saya tidak ingin ditanya. Jadi keluarkan f. Mari kita buat hi.c. Baru saja membuangnya. Ia tidak memberitahu saya. Tetapi katakanlah, bukan saya dilakukan dengan direktori ini. Saya ingin menghilangkan direktori. Jadi saya mengeluarkan hi_dir. Tidak, itu tidak berfungsi. Tidak, jadi ia tidak akan membiarkan aku mengeluarkan direktori. Ada yang punya idea? PELAJAR: Adakah ia mengeluarkan dir? JASON Hirschhorn: Jadi menghapus seperti ini? PELAJAR: No. Masih [terdengar]. JASON Hirschhorn: Tidak, sekarang tidak ada hi. Hanya ada hi_dir. Jadi, ini adalah direktori. Jadi sebenarnya apa yang anda ingin lakukan is-- oh, adakah anda mempunyai idea? Saya melihat seperti tangan setengah. PELAJAR: [didengar]. JASON Hirschhorn: OK. PELAJAR: [didengar]. JASON Hirschhorn: OK. Jadi jika saya mahu mengeluarkan direktori, menghilangkan r. Itu rekursif. Jadi mengeluarkan direktori rekursif. Jadi saya mahu anda untuk pergi ke direktori tersebut, menghapus segala sesuatu dalam direktori, dan kemudian membuang direktori. Dan kemudian saya akan f juga, kerana saya tidak mahu ia untuk meminta saya dengan peringatan setelah menghapus setiap fail. Jadi menghapus hi_dir rf. Boom, itu akan hilang. Hanya berhati-hati di mana anda menggunakannya. Saya akan menggunakannya di sini juga. rf mengagumkan. Itu akan hilang. Berhati-hati di mana anda menggunakannya. Jika anda menggunakan bahawa di sini dan sesuatu jenis seperti ini, jangan sekali-kali melakukan itu. Yang akan menghapus segala sesuatu pada anda alat tanpa pernah memberikan amaran kepada kamu. Dan saya telah melakukan itu. Masalah Penggredan menetapkan jam 4.00 pagi, saya cuba menghilangkan masalah mengatur direktori, dan saya melakukan ini. Dan aku seperti oh Tuhan. Jangan do-- saya cuba untuk membatalkannya. Anda boleh membatalkan. Perintah C hanya membatalkan segala-galanya, tetapi saya telah dihapus seperti 75%. Jadi saya hancur itu. Dan orang-orang melakukan itu. Semua orang melakukan hal ini. Jangan lakukan ini walaupun semester ini. Ia menghisap. Saya mempunyai saraf di sini. Saya akan memadamnya. [Ketawa] Bolehkah anda bayangkan? OK, soalan. Ya? PELAJAR: Jadi jika kita melakukan segala-galanya yang anda lakukan di sini, adakah ini yang sama kerana hanya akan menjadi benar-benar memfailkan save as [terdengar]. JASON Hirschhorn: Oh, Anda maksud melalui gedit. PELAJAR: Ya. JASON Hirschhorn: Yeah itu. gedit berguna. Jadi gedit sangat berguna. Di dalam kelas ini, anda boleh melakukan banyak hal melalui gedit. Anda boleh menyimpan. Anda boleh menukar nama. Anda boleh memindahkan fail dan hal-hal seperti itu, tetapi hanya dengan benar apabila anda pergi ke 50-- baik anda berada dalam 50-- 51, jika anda pergi ke 61, ini akan menjadi hidup anda. Ini adalah baris arahan. Ini adalah di mana anda akan program untuk sepanjang hidup anda, jadi pasti menggunakan gedit jika anda mahu. Sudah pasti dengan cara yang baik untuk memulakan. Untuk masalah yang pertama set, pasti digunakan, tetapi setiap sekali-sekala cuba untuk mendapatkan lebih banyak digunakan lebih selesa dengan argumen baris arahan. Tetapi anda boleh, pasti. Ada apa? PELAJAR: Oleh itu, apabila kita ingin menghapuskan salah satu fail yang kita buat, ada dua cara. [Terdengar]. Adakah terdapat cara apabila anda memotong direktori meminta segera supaya anda tidak berakhir menghapusnya? JASON Hirschhorn: rm -r. Jadi, jangan memaksa. Jadi rm -r. Ia akan melalui secara rekursif, memadam segala-galanya, meminta Anda setelah segala sesuatu, yang akan mengeluarkan kamu kacang. Seperti Saya hampir secara rm f dan rm-rf, hanya terus-menerus. Aku seperti saya tidak mempunyai masa. Saya adalah orang yang sibuk. Baiklah, ada apa? Yeah. PELAJAR: Adakah batal, atau yang tong sampah, atau apa-apa seperti itu? JASON Hirschhorn: No. [Ketawa] Saya boleh kembali dan mendapatkan saya alat yang saya hanya dihapus, tidak. Tidak, tidak, tidak. Jika anda melakukan rm, ia harus pergi. Ada apa? PELAJAR: Jadi, anda boleh [Terdengar] bersama-sama. JASON Hirschhorn: Ya, seperti itu. Jadi, sebagai contoh, anda melihat-rf rm. Katakanlah saya ingin ls -la, itu menunjukkan saya segala-galanya, bahkan yang tersembunyi perkara dengan kebenaran mereka. PELAJAR: Jadi r -r bendera, jika kita tidak memiliki, kita tidak boleh memadam direktori, bukan? JASON Hirschhorn: Benar. PELAJAR: Jadi yang mengatakan bahawa kita mahu melakukan sesuatu dengan direktori? Adakah itu apa yang bermakna? JASON Hirschhorn: -r bermakna secara rekursif. Jadi direktori akan mempunyai fail di dalamnya, bukan? Jadi apa yang anda mahu lakukan adalah anda mahu pergi ke direktori tersebut, memadam segala-galanya, semua fail dalam direktori tersebut, kemudian muncul keluar dan memadam direktori sebenar. Jadi r berarti rekursif, melakukannya semua rekursif jika yang masuk akal. Yeah. PELAJAR: Jadi direktori mempunyai [Terdengar] dan hanya memadamnya. Atau adakah anda still-- JASON Hirschhorn: Mari kita cuba. Jadi mkdir kosong. Hapus kosong. Tidak. PELAJAR: Tidak, jadi anda masih perlu the-- JASON Hirschhorn: Ya, selalu. Jadi r, rf, kosong. Awesome. Lagi soalan? Saya berfikir yang kemalangan anda kursus pada hal-hal baris arahan. Sebarang pertanyaan, kerana kita akan melompat ke jenis data, dan gelung, dan semua itu? Ada apa? PELAJAR: Saya tidak mempunyai CS50 menunjukkan sebagai salah satu direktori saya. Adakah itu normal? JASON Hirschhorn: Oh, ya. Itu saya. Ya, itu di mana saya penyelesaian kepada barang-barang anda. [Ketawa] Jadi ya, itu benar-benar biasa. Saya rasa anda mungkin hanya perlu empat. Saya fikir mungkin menjadi normal. Yeah. OK, apa-apa soalan lagi? Saya tahu bahawa adalah super cepat. Ada apa? PELAJAR: Aku melihat warna hijau biru. Apa itu? JASON Hirschhorn: Ini bermakna direktori. PELAJAR: Dan biru ini? JASON Hirschhorn: Oh, Anda maksud hijau biru ini? PELAJAR: No. JASON Hirschhorn: Ini hijau biru? PELAJAR: No. Apabila anda listed-- JASON Hirschhorn: Oh. Seperti ini? PELAJAR: Ya, ikon. JASON Hirschhorn: Oh, ini. Saya tidak tahu. Apa maksudnya? Oleh itu, ia seolah-olah menjadi menunjuk ke direktori. PELAJAR: Ia hampir kelihatan seperti alias. JASON Hirschhorn: Mungkin. Anda tidak perlu tahu itu. Lagi soalan? Awesome. Jika anda mempunyai sebarang pertanyaan, Saya tahu itu banyak. Banyak maklumat ini akan berada dalam talian. Aku akan memasukkannya ke dalam talian untuk anda semua. Bahagian B akan berada dalam talian juga. Atau jika anda mempunyai soalan, hanya datang dan bertanya kepada saya. Di sini anda pergi. Jadi sekarang Sharon dan Hannah akan membahas beberapa logik di sebalik permasalahan yang satu. SHARON: Ya Tuhan. Masalah. HANNAH: Dalam pada itu, saya Hanna. Ini Sharon. Kami berdua CS50 TF, dan kita akan memberikan intro sedikit pada pasangan penting perkara untuk permasalahan yang satu. Semuanya dari jenis data untuk conditional ke untuk gelung. Gelung pada umumnya. SHARON: Dan pada akhirnya, kita akan kita lihat pada P menetapkan satu, dan apa yang anda perlu tahu untuk itu. Jadi mari kita mulakan dengan jenis data. Kalian harus akrab dengan orang-orang yang disorotkan dengan warna biru. Oleh itu, kita boleh mulakan dengan int. ints adalah bilangan bulat, jadi satu, dua, tiga, empat. mengapung, mata terapung. Seperti bilangan bulat dengan perpuluhan, sehingga 5.2 atau 5.0. Aksara merupakan watak-watak seperti A, B, C. Dan tali, kalian semua tahu. Seperti CS50 atau khabar dan dunia. Bool adalah Boolean, jadi kita harus benar dan palsu sebagai Boolean kami. Oleh itu, jika sesuatu yang menghitung dengan truth-- 5 sama dengan 5, yang menghitung dengan benar, dan jika kita mempunyai 5 sama dengan 4, itu palsu, jadi yang menghitung dengan palsu. Dan di sini kita telah yang berkaitan Saiz semua jenis data. Dan anda perlu tahu kuiz ini untuk anda, jadi ini mungkin dapat membantu ingat, tetapi kita akan posting ini. Sebenarnya mereka sudah dihantar. Jadi, anda perlu membiasakan diri dengan yang diserlahkan dengan warna biru. JASON Hirschhorn: Real cepat, hanya dalam kes anda ingin tahu perbezaan antara arang dan string. Oleh itu, apabila anda menulis hal-hal, bila-bila masa anda mempunyai sesuatu seperti "hi," yang akan menjadi string. Oleh itu, jika terdapat dua sebut harga, itu string. Tetapi jika saya "h" seperti itu, itu string. Tetapi jika saya hanya mempunyai satu kutipan, itu char. Dan jadi apa perbezaan anda mungkin bertanya. Nah, perbezaan adalah ini adalah salah satu bait memori. Ini adalah 4 bait memori. SHARON: float? Menjelaskan lagi? OK, ia adalah jenis seperti sebilangan yang mempunyai titik perpuluhan dengan itu, sehingga 5.2 atau 5.0 adalah apungan berbanding hanya 5 adalah int. PELAJAR: [didengar]. SHARON: Oh, ia boleh mempunyai banyak titik perpuluhan, jadi 5,675-3,1415. Ya? PELAJAR: Adakah kita perlu tahu semua ukuran untuk ini? SHARON: Ya. PELAJAR: [didengar]. SHARON: Anda tidak bimbang tentang yang putih dulu. HANNAH: GN Hantar pada CS50.net/sections. PELAJAR: Hanya keluar dari rasa ingin tahu, apakah ada utiliti untuk mengetahui saiz fail anda menyeru supaya kita harus tahu itu? SHARON: Jadi ini adalah jenis-jenis data, tetapi ya. Jadi dalam kes ini, yang mana satu akan mengambil lebih banyak memori atau lebih ruang? JASON Hirschhorn: Jadi untuk contoh yang konkrit, Saya rasa dalam set masalah empat atau lima, kami tidak akan memberi anda sekumpulan data, dan pada dasarnya anda harus melintasi data itu. Jadi ia adalah berguna untuk mengetahui bahawa jika anda mempunyai begitu banyak bilangan bulat, yang akan menjadi apa. Jadi, bila saya memberi anda sepuluh bilangan bulat, apa saiz itu? PELAJAR: 40. JASON Hirschhorn: 40 bait, betul. Jadi, anda perlu tahu bahawa OK, saya perlu melompat 40 bait. Jadi, bila bukan itu 40 aksara, then-- katakanlah saya memberikan anda 10 aksara, maka anda tahu, OK, saya hanya perlu melompat 10 bait. Jadi ia amat berguna untuk mengetahui saiz jenis data yang sebenarnya, kerana banyak kali anda akan akan melompat-lompat data, jadi anda perlu untuk mengetahui sejauh mana untuk melompat. PELAJAR: Apakah perbezaan di antara ungkapan dan dalam satu kutipan? JASON Hirschhorn: OK, dua kutipan adalah string. Satu petikan adalah char. PELAJAR: Seperti operasi, apa bezanya? Mereka berdua menyapa. JASON Hirschhorn: Oh, maaf. Ini baru h. Maaf, ini tidak jelas. PELAJAR: Jadi atas satu-- JASON Hirschhorn: Ini adalah string, yeah. Jadi itu dua watak, bukan? String, hi. Tetapi katakanlah saya hanya mempunyai satu karakter, jika saya meletakkan dua tanda kutip hanya h, itu string. Ini adalah rentetan h. Adakah ini masuk akal? Jadi, ini adalah empat bait. Tetapi katakanlah saya tidak perlu lagi ambil dari yang hanya memasukkan satu. Satu petikan. Ini kini merupakan char, char h. Jadi perkara yang sama, jenis data yang berbeza. Ini hanya salah satu bait, sedangkan rentetan empat bait. Yeah. PELAJAR: Oleh itu, jika anda cuba untuk menyimpan kata seperti Daud, Anda ingin menggunakan string kerana tanpa mengira berapa lama tali adalah, ia hanya akan mengambil masa empat bait kecuali jika yang lama lama atau ganda, di mana case-- jadi jika ia melampaui empat karakter, Anda ingin menjadi tali. Adakah itu logik umum di belakang. JASON Hirschhorn: Jika ia meluas lebih dari satu karakter, itu string. PELAJAR: Jadi tidak ada [terdengar] untuk menyimpan surat empat kata sebagai empat individu atau tiga surat kata tiga karakter individu kerana itu hanya akan ada tiga bait, yang bertentangan dengan tali tiga bahagian. JASON Hirschhorn: Anda boleh melakukannya. Anda boleh berbuat demikian, tetapi saya tidak berfikir itu benar-benar bermanfaat, kerana anda hanya menyimpan satu byte. Anda tahu apa yang saya katakan? Dalam skim besar perkara, yang tidak akan benar-benar perkara itu. Tetapi sebagai contoh, printf, jika Anda mencetak f dan anda memiliki tiga karakter anda boleh mencetak yang out-- katakan anda C-A-T, Anda boleh mencetak kucing hanya dengan melakukan satu char satu char satu char, atau anda boleh mencetak tali kucing. Ia adalah perkara yang sama. Jadi, anda boleh melakukannya seperti itu, tapi-- PELAJAR: Ia tidak akan untuk menjimatkan yang banyak. JASON Hirschhorn: Ya. Sakit kepala yang ia akan mendorong adalah tidak berbaloi. Ya? PELAJAR: Sebagai contoh, Anda mempunyai h dengan satu berbanding dua, tanda kutip tunggal atau ganda. Mengapa anda mahu menyimpan satu huruf sebagai string. Apakah tujuan yang yang pernah berkhidmat? JASON Hirschhorn: Saya tidak tahu. Maksud saya, ia benar-benar bergantung kepada program. Sebagai contoh, saya rasa nanti Anda akan masuk ke dalam hal-hal baris arahan. Jadi, sebagai contoh, bukan aku meminta anda untuk maaf integer--, boleh saya bercakap dengan anda? HANNAH: Ya. JASON Hirschhorn: Jadi misalnya, bukan saya meminta sesuatu dengan mendapatkan akhir, yang Saya rasa anda mungkin telah melihat ceramah, mungkin ada baris arahan. Anda hanya perlu menaip dalam pada baris arahan. Ia akan menjadi seperti - / hello4 atau sesuatu, atau helloh h, apa pun. Anda melakukannya pada baris arahan bukannya diminta untuk itu, bahawa baris arahan selalu tali, sama ada ia adalah empat atau h, yang selalu string. Jadi itulah satu contoh apabila anda mungkin memiliki surat tunggal atau tunggal jumlah diwakili sebagai string. SHARON: Baiklah. Dan maka di sini adalah beberapa operator asas. Mudah-mudahan anda sudah biasa dengan empat pertama hanya secara umum. Jadi ada yang menambah, mengurangi, mendarab dan membahagikan, dan pastikan anda menggunakan ketukan kekunci yang tepat. Dan kemudian ada juga yang modulo, yang beberapa Anda mungkin tidak akan sangat akrab dengan. Dan apa modulo dilakukan adalah bahwa jika kita mengambil contoh 4% 2, ia mengambil sisa apa yang tidak di bahagian. Jadi 4 dibahagikan dengan 2 ialah 2, dan tidak ada baki. 4 bagi dengan 3 adalah 1 dan 1/3, dan sebagainya baki 1. Jadi ia mengira kepada satu. Dan kemudian 4% 5 adalah pecahan 4/5, dan bakinya adalah 4. Adakah ini masuk akal? OK, sejuk. Dan kami mengikut Pemdas di sini juga. Jadi beberapa ungkapan Boolean. Jadi kalian telah melihat sama sama dengan untuk membandingkan, berkata, dua nombor. Jadi, jika 5 sama sama dengan 5, yang menghitung dengan benar. Pastikan anda hanya mempunyai satu tanda sama dengan. Untuk tidaklah sama, itu bang atau tanda seru. HANNAH: Dua tanda sama dengan apabila anda melakukan kesaksamaan. SHARON: Oh, ya. Pastikan anda tidak melakukan mempunyai satu tanda sama dengan. Dan kemudian kerana tidak sama dengan, itu bang sama. Dan kemudian anda boleh melihat melalui kurang daripada, lebih besar dari. Dan selepas itu perlu logik dan dan logik atau di sini. Dan apa yang dilakukan adalah, jika anda ingat dalam Scratch apabila anda mempunyai blok yang yang dikatakan dan, dan kemudian anda boleh memuatkan dua keping yang berbeza ada, itulah yang ini dan tidak. Dan pastikan anda melakukan dua ampersands. Dan kunci ini anda boleh mencari arah kanan, bawah butang Padam anda. Soalan? PELAJAR: Apa [terdengar]? SHARON: OK, jadi jika anda hanya melakukan satu, kau membandingkan bit. Jadi, jika anda masih ingat apa bit adalah, mereka 0 dan 1, dan sebagainya yang membandingkan sesuatu yang lain. Jadi, kita akan memberi tumpuan kepada ini buat masa ini. JASON Hirschhorn: Jadi satu sama dengan adalah seperti tugas, bukan? Jadi seperti int x sama dengan 4. Anda mengatakan bahwa variabel x sama dengan 4. Jadi 1 sama adalah tugas, tetapi ands dan paip atau bar, sama seperti Sharon berkata, mereka pengendali bitwise. Anda tidak perlu bimbang tentang itu. PELAJAR: Bilakah anda menggunakan logik dan dan logik atau lagi? Saya hanya lupa apabila anda melakukan itu. HANNAH: Tentu, jadi jika anda ingin untuk memeriksa jika dua perkara adalah benar, sebagai contoh, katakanlah saya ingin memeriksa bahawa sebilangan adalah antara 5 dan 15, Saya akan mengatakan memastikan bahawa bilangan lebih besar dari 5. Jadi, bila jika x lebih besar daripada 5 dan kurang daripada 15. Jadi agar keseluruhan yang pernyataan untuk menilai kepada benar, anda memerlukan kedua-dua jenis sub pernyataan untuk menilai benar. Dengan atau anda hanya perlu salah satu daripada dua atau kedua-duanya. PELAJAR: Great, matur nuwun. SHARON: Dan juga dalam Scratch, saya yakin dalam banyak projek-projek anda Anda harus jika menyentuh tepi atau jika menyentuh bidadari lain kemudian melantun atau sesuatu. HANNAH: Baiklah, jadi mengapa kita mengambil berat tentang semua ini Booleans? Kami mempunyai struktur ini bahawa anda telah dilihat dalam Scratch disebut conditional. Dan conditional adalah apa-apa dari membentuk jika beberapa syarat atau beberapa Boolean benar, maka lakukan kod antara pendakap kerinting. Jadi, anda boleh lihat di sebelah kanan di sini ialah blok Gores. Anda mempunyai ini jika itu, dan apa-apa yang masuk ke dalam bentuk yang kecil yang kelihatan seperti this-- i tidak tahu apa yang Anda lebih memanggil bahawa- itu akan menjadi Boolean atau keadaan. Jadi sekali lagi, Boolean atau keadaan sesuatu yang baik untuk menilai benar atau salah. Dan lagi, anda boleh menggabungkan boolean. Anda boleh mempunyai, sekali lagi, x lebih besar dari 5 dan x kurang dari 15. Atau anda hanya boleh mempunyai satu dari mereka yang x kurang dari 5. OK, jadi dalam C Ini di sebelah kiri. Ia hanya kata kunci jika. Tanda kurung, syarat atau Boolean. Dan kemudian kod di antara kedua-dua pendakap kerinting hanya akan melaksanakan, hanya akan dijalankan jika bahawa syarat atau Boolean itu benar. Adakah ini masuk akal? Awesome. OK. Dan kemudian kerana anda mungkin lihat dalam Scratch, kita juga boleh menambahkan pada yang lain, yang pada dasarnya apa-apa antara pendakap kerinting di bawah yang lain hanya akan melaksanakan jika keadaan itu adalah palsu. Masuk akal? Apa-apa soalan pada kedua-dua? Awesome. Sejuk. Jadi, inilah contoh cepat. Katakanlah kita ingin menentukan, berdasarkan masa, apakah kita harus mengucapkan pagi atau malam yang baik. Saya akan mengatakan apakah itu sebelum jam 12.00 tengahari, kita akan mengucapkan selamat pagi, kalau tidak kita akan untuk mengatakan selamat malam. Dan apabila saya mengatakan bahawa jika tidak, yang setara dalam C untuk yang lain ini. Jadi, kita akan memeriksa apakah masa tentera adalah kurang daripada 12:00, mengucapkan selamat pagi. Jika tidak mengatakan selamat malam. PELAJAR: Jadi kita benar-benar akan mendapat input yang untuk masa tentera dengan mendapatkan string. HANNAH: Benar. Adakah Tempat lain sebaiknya kita sebenarnya perlu menyediakan maklumat tersebut. Di sini ia tidak mempunyai nilai. Kami tidak pernah menyatakan itu. Saya menganggap bahawa di suatu tempat di atas program ini saya menyatakan masa, atau meminta waktu, or-- apa-apa lagi dengan contoh ini? Awesome. OK, sekarang kita ada selain dengan mudah jika format yang lain, kita mempunyai dua struktur yang berbeza. Jadi pertama kita mempunyai suis pernyataan, dan inilah bentuk umum pernyataan switch. Anda mempunyai kata kunci yang menukar cara yang sama anda mempunyai kata kunci yang jika. Dan kemudian input, dalam hal ini n. Jadi ini hanya boleh bekerja dengan bilangan bulat. Jadi input yang mempunyai n menjadi integer, OK? Dan kita akan mengikuti salah satu daripada kes-kes ini bergantung kepada apa yang nilai n. Jadi dalam hal ini, anda membandingkan adalah n sama dengan satu yang berterusan, jika ia adalah, melakukan segala-galanya jenis menjorok di sini. Aku dapat ke sana kerana saya terlalu pendek. Jika tidak, sama seperti orang yang tetap dan sebaliknya sama dengan konstan dua, kita akan mengikuti blok kedua, dan kita dapat melakukan ini untuk sebanyak seperti yang kita mahu, dan kemudian lalai iaitu jika ia tidak sepadan dengan mana-mana kes di atas, melaksanakan kod itu. Mana-mana soalan di sini? Yang ini adalah sedikit lebih rumit. Ya? PELAJAR: Cuti menandakan apa? HANNAH: Tentu, sehingga setelah kita memasuki blok itu, jika kita dapati, katakanlah, n kita adalah sebenarnya sama dengan satu yang berterusan, kita memasuki blok bahawa selepas usus besar. Kami melakukan apa sahaja yang di bahawa garis mengulas, dan kemudian kita melanggar, bermakna kita keluar dari pernyataan switch ini sepenuhnya. PELAJAR: OK. HANNAH: Mm-hm? PELAJAR: Apakah lekukan perlu, atau adakah anda perlu [terdengar]? HANNAH: Tentu. Jadi, seperti biasa, lekukan tidak benar-benar diperlukan. Komputer tidak peduli sama ada anda digantung. Kita, sebagai orang-orang yang membaca kod anda, peduli. Jadi ia lebih mudah untuk melihat ke skrin dan melihat, oh, saya tahu apa yang berlaku apabila n adalah sama dengan satu malar. Jika saya harus menyusun rawak, saya tidak akan dapat memberitahu dengan mudah. Ya? PELAJAR: Oleh itu, jika ingin pengguna untuk memilih salah satu daripada pilihan yang kita ada dalam senarai itu, akan kita gunakan, saya kira, [terdengar], tetapi mendapat bilangan bulat dari mereka dan memasukkan ke n? HANNAH: Tepat betul. Jadi, bila kita mahu untuk memeriksa apa integer. Kami berkata oh, masukkan integer antara 0 dan 5, mari kita katakan. Kita boleh meminta untuk itu n, meminta nilai tersebut, dan kemudian masing-masing dari kes-kes. Dan sekali lagi, ini adalah sesuatu yang kita boleh sangat mudah melakukan dengan jika pernyataan, kan? Kita boleh mempunyai jika sama dengan huruf satu, jika sama dengan huruf dua, jika sama dengan huruf tiga, sebagainya dan sebagainya. Ini adalah sedikit lebih cepat dan agak bersih. Ini semacam hanya struktur bagus sekarang. PELAJAR: Lebih cepat seperti dalam penulisan? Atau apakah ia menjalankan komputer sedikit lebih cepat? HANNAH: Ia berjalan sedikit lebih cepat. Ya? PELAJAR: Jadi ganda dash hanya mengulas or-- HANNAH: Oh, saya minta maaf. Saya tidak menunjukkan bahawa daripada. OK, jika anda mempunyai // itu, adalah komen. Hanya // adalah komen. Jadi bila-bila masa komputer melihat itu, ia akan mengatakan OK, semua yang berhubungan ini, saya hanya akan mengabaikan. Saya akan berpura-pura anda tidak pernah menulis bahawa. PELAJAR: Jadi ini [terdengar]. HANNAH: Ini tidak apa-apa. Tetapi jika saya menulis sesuatu seperti pada komen pertama saya menulis bukan printf mengucapkan selamat yang anda masukkan satu yang berterusan, yang akan menjadi sesuatu. Ya? PELAJAR: Jadi, dalam kehidupan nyata, kes hanya akan hanya menjadi nombor satu dan kemudian [terdengar] akan integer lain. HANNAH: Tepat sekali. PELAJAR: Dan adakah anda memerlukan elips? HANNAH: Maaf? PELAJAR: Adakah anda memerlukan itu? HANNAH: Oh, tidak. Saya minta maaf. Itu hanya untuk menunjukkan bahawa anda boleh berlangsung selama seperti banyak kes yang anda mahu. Mari kita buat satu contoh yang konkrit yang mungkin membuat perkara yang sedikit lebih jelas. OK, jadi katakanlah saya berkata, OK, beri aku integer n yang mewakili beberapa kelas, khusus kelas sains komputer nombor. Jadi, jika anda memberi saya 50, Saya akan mengatakan besar. CS50 adalah pengenalan kepada komputer ilmu pengetahuan, dan kemudian saya akan pecah. Ini bermakna saya melompat keluar dari ini pernyataan switch keseluruhan, jadi sekarang saya sudah selesai menjalankan kode, OK? Jika anda memberikan saya dan bukannya 51, saya akan mencetak kenyataan kedua. Dan kemudian jika anda memberi saya beberapa jumlah yang tidak 50 atau 51, Saya akan minta maaf, saya tidak biasa dengan kelas itu. Ya? PELAJAR: Anda tidak perlu rehat. HANNAH: Maaf, saya tidak mempunyai rehat? PELAJAR: Bagaimana jika. HANNAH: Oh, bagaimana jika anda tidak perlu berehat? Soalan yang sangat baik. Jadi apa yang akan berlaku adalah anda akan masuk, dan anda akan memeriksa saya sama dengan 50? Dan katakanlah, ya, anda adalah sama 50, anda akan mencetak kenyataan itu. Dan kemudian anda akan terus melaksanakan, jadi anda akan mengatakan saya sama dengan 51? Dan anda akan pergi dan pergi melalui tiap-tiap hal seperti itu? Ya? PELAJAR: Apakah garis lalai analog dengan mengatakan yang lain? HANNAH: Tepat sekali. Sangat baik. Ia seperti jenis menangkap semua. PELAJAR: Oleh itu, jika anda tidak mempunyai rehat dan kemudian salah satu pernyataan kes adalah benar, dan kemudian ia berkata peningkatan n sebanyak 1, maka ia akan secara automatik membuat satu depan. Ia akan menyemak kes 51, dan maka satu paparan itu juga? HANNAH: Ya, saya rasa yang akan bekerja. Jadi anda jenis bisa berantakan, jadi rehat adalah satu perkara yang baik untuk mempunyai. Ya? PELAJAR: Tanpa rehat ia akan berbuat lalai? HANNAH: Itu adalah soalan yang baik. JASON Hirschhorn: Saya rasa ia hanya berjalan. Jadi, jika anda tidak mempunyai break-- jadi katakanlah saya lakukan 50 dan diperiksa 50, dan ia akan mencetak yang keluar. Cetak CS50 pengenalan kepada sains komputer. Anda tidak perlu istirahat, ia perlu dan terus sampai hits rehat. Jadi, jika tidak ada rehat, ia akan terus berjalan. Ia akan mencetak segala sesuatu yang lain keluar. HANNAH: Jadi saya rasa itu akan termasuk menjadi lalai. JASON Hirschhorn: Ya. HANNAH: Soalan yang baik. Ya? PELAJAR: Apakah kes dianggap fungsi? HANNAH: Saya minta maaf? PELAJAR: Apakah kes dianggap fungsi? HANNAH: Adakah kes dianggap fungsi. Saya akan teragak-agak untuk mengatakan bahawa. JASON Hirschhorn: Jadi biasanya apabila anda melihat fungsi mereka akan berada dalam pendakap kerinting. Sebagai contoh, apabila anda melihat pada kod anda, sebagai contoh, utama. Itu paren terbuka utama, maka tidak sah, paren dekat. Functions-- mereka pada dasarnya selalu anda akan melihat tanda kurung. Jadi kes jika kes tidak mempunyai apa-apa tanda kurung, itulah petunjuk anda yang itu bukan fungsi. Tetapi ia bukan. Ya? PELAJAR: Jadi adakah itu membuat beralih fungsi? HANNAH: Apakah itu jenama beralih fungsi. PELAJAR: Dalam erti kata bahawa anda memasukkan sesuatu ke dalam, ia memberi anda salah satu daripada kes. JASON Hirschhorn: Saya tidak akan menyebutnya fungsi. Tidak semuanya dengan parens adalah fungsi. Yang saya maksudkan itu adalah petunjuk bahawa fungsi. Saya tidak akan mengatakan switch adalah fungsi kerana ia tidak benar-benar kembali apa-apa. Anda akan masuk ke dalam yang lebih. HANNAH: Ya, hanya berfikir saja sebagai jika struktur. PELAJAR: Bolehkah Anda sarang ini jika struktur? HANNAH: Ya, Anda sarang cukup banyak apa-apa. PELAJAR: Barry berkata kutipan adalah semacam seperti yang sama seperti yang lain. Jadi, anda boleh menggantikan kutipan dengan yang lain? HANNAH: Tidak dalam khusus ini struktur kerana suis kenyataan menjangkakan lalai perkataan. Komputer tahu default yang bermakna sesuatu yang istimewa, yang ertinya menangkap semua. Apa-apa lagi mengenai perkara ini. Kami mempunyai satu lagi untuk melalui. Ya? PELAJAR: [didengar]. HANNAH: Perbezaan antara menggunakan tanda titik koma dan titik dua. Jadi titik koma selalu memberitahu komputer saya sudah selesai dengan baris ini. Anda boleh pergi ke depan dan melaksanakannya. Ini adalah garis yang lengkap. Tanda titik dua akan, dalam kes ini, membawa anda ke dalam blok tertentu. Jadi koma adalah selalu gunakan untuk menamatkan baris. Titik dua digunakan untuk pelbagai kes-kes lain. PELAJAR: Apakah setara ini untuk hanya mengatakan jika n sama 50, maka bla bla bla. HANNAH: Mm-hm. PELAJAR: Ia hanya sama [terdengar] itu. HANNAH: Tepat sekali. Dan kita berkata ia berjalan sedikit lebih cepat. Jika kita tidak mempunyai rehat, ia akan menjadi seperti jika, jika, jika. Jika kita mempunyai rehat, itu seperti jika lain jika lain jika lain jika. Cool? JASON Hirschhorn: Oleh itu, apabila coding, anda hanya boleh menggunakan jika lain, tetapi saya fikir tahun lalu pada kita kuiz telah mereka menulis pernyataan switch, supaya berjaga-jaga. HANNAH: Tapi yang pasti ada yang salah. Kami tidak mengharapkan anda perlu bimbang mengenai prestasi hal gila. Hanya jika lain adalah benar-benar baik. Ini hanya baik hal-hal yang harus diperhatikan. Dan inilah yang terakhir kami seperti itu berada di bawah kategori ini bersyarat. Kami mempunyai sesuatu daripada keadaan bentuk umum?, dan kemudian sepotong kecil kod yang yang terjadi jika keadaan ini berlaku. Kemudian usus besar, sedikit sekeping kod yang melaksanakan jika keadaan adalah palsu, titik koma. Kita sudah selesai dengan garis itu. Jadi sintaksis itu sedikit hodoh. Kita akan pergi melalui contoh saya rasa yang paling jelas. Jadi, kita akan menentukan profesor tali dengan salah seorang dari dua nilai, sama ada David Malan atau tidak David Malan, OK? Jadi, anda perlu membiasakan diri dengan tali, profesor =. Kami akan menetapkan string untuk ubah dikenali sebagai profesor. Sekarang kita ingin memeriksa keadaan tertentu. Dalam hal ini, keadaan kita adalah class_num = = 50. Dan kini mungkin menjadi saat yang tepat untuk menunjukkan apabila kita mempunyai tali profesor =, Itu salah satu tanda sama dengan. Itu tugas. Manakala di class_num = = 50, itu dua tanda yang sama. Itu semakan kualiti. Jadi, kita akan katakan adalah Kelas sama dengan 50? Jika demikian, menetapkan Profesor David Malan. Jika tidak, menetapkan profesor untuk tidak menggunduli David Malan. Mana-mana soalan di sana? Sekali lagi, ini adalah sesuatu itulah yang baik tahu. Anda boleh melakukan ini dengan jika lain. Masalah amalan yang baik mungkin untuk, apabila Anda pulang ke rumah, hak yang sama persis bersyarat dalam bentuk lain jika, kerana anda boleh melakukan itu. Mana-mana soalan di sini? Baiklah, saya rasa kami akan pergi ke gelung. Awesome. SHARON: OK, mari kita bercakap tentang saat gelung. Jadi pertama di sebelah kiri anda lihat di sini- OK mengatakan sementara, sedangkan (kondisi). Dan kemudian anda melakukan this-- kita boleh mengubah ini? JASON Hirschhorn: Ia dipotong. SHARON: OK, dan kemudian ada juga pendakap kerinting. Jadi berpura-pura kerinting yang kawat gigi yang ada di atas dan di bawah melakukannya lagi dan lagi. Oleh itu, jika keadaan pada mereka kurung bernilai true, maka anda perlu terus melakukan apa yang ada dalam gelung sementara. Sebagai contoh, kita boleh melakukan masalah amalan. Aku memakai dua anting-anting sekarang, jadi katakanlah jika aku memakai sekurang-kurangnya satu pendengaran, bertepuk tangan anda. Jadi jika kita akan pergi melalui ini, kami going-- [Bertepuk tangan] Betul? Dan saya memakai satu, dan- OK. Yeah. Saya tidak memakai anting-anting lagi, sehingga tidak ada lagi. OK, jadi maka saat itulah anda akan berhenti. Dan ini anda boleh katakan adalah setara dengan hampir pembolehubah. Katakanlah anda mempunyai beberapa pembolehubah anting-anting. Oleh itu, sambil beberapa anting-anting adalah lebih besar daripada atau sama dengan 1, bertepuk tangan. Dan kemudian selepas bertepuk tangan, anting-anting penurunan. Adakah seperti anting-anting tolak 1. Jadi pengurangan bilangan anting-anting, dan maka anda akan melalui gelung sementara dua kali. Dan jika keadaan ini selalu true-- jadi jika, katakan, 2 = = 2, dan 2 selalu sama dengan 2, kan? Maka anda akan selalu melakukan sesuatu di sana, dan yang setara dengan hampir selamanya gelung yang diterima di Scratch. Ya? PELAJAR: Adakah kedua-dua pihak hanya cara lain menulis while loop? SHARON: Jadi, kita memberi tumpuan yang satu ini pertama. Kemudian begitu mari kita bandingkan itu dengan do while. Jadi mereka sedikit berbeza. OK, jadi katakanlah kondisi masih sedangkan aku memakai sekurang-kurangnya satu anting-anting, dan saya tidak memakai anting-anting sekarang. Dan katakanlah lakukan dan masih bertepuk sementara Aku memakai sekurang-kurangnya satu anting-anting. Apa yang sepatutnya berlaku? [Bertepuk tangan] Uh oh, guys. OK, jadi anda sepatutnya bertepuk sekali kerana pada dasarnya anda melalui bahagian pertama kod. Anda melakukannya tidak kira apa, dan maka anda melihat keadaan sedangkan, dan anda kembali ke dalam gelung bahawa jika itu benar. Adakah ini masuk akal? PELAJAR: Anda sentiasa melakukannya buat pertama kali. SHARON: Anda sentiasa melakukannya dengan kali pertama tidak kira sama ada atau tidak keadaan itu benar atau tidak. JASON Hirschhorn: Kapan anda fikir anda boleh menggunakan ini? Apabila ia masuk akal untuk menggunakan ini? HANNAH: Ya? PELAJAR: [didengar]. JASON Hirschhorn: Benar. HANNAH: Sangat baik. JASON Hirschhorn: Jadi apabila anda meminta pengguna yang, anda akan sentiasa mahu untuk meminta pengguna yang satu masa. Anda akan selalu ingin untuk meminta pengguna dalam satu masa. Jadi, daripada meletakkan dalam gelung sementara, anda dimasukkan ke dalam melakukan while, kerana anda selalu akan melakukannya satu masa. Jika mereka memberikan jawapan yang betul, anda sudah selesai. Jika tidak, maka anda meminta semula. SHARON: Baiklah, untuk gelung. Jadi dalam Scratch, kami mempunyai blok berulang. Jadi kami ingin mengulangi sesuatu, katakanlah, tujuh kali. Oleh itu, kita hanya berkata mengulangi tujuh, dan mengatakan saya berada di sini untuk membantu anda Snow White! Dalam C, kita ada untuk gelung jika kita mahu pergi melalui sesuatu jumlah tertentu masa. Katakanlah jika kita memulakan orang kerdil variabel dan membuat sure-- sehingga blok pertama di sana sebelum koma yang pertama, kami memulakan variabel kita untuk, dan kita set ke 0. Dan berubah-ubah kami di sana adalah bilangan bulat, int. Dan nama variabel orang kerdil, dan kami menetapkan kerdil ke 0. Dan yang kedua antara dua titik koma adalah keadaan kita. Dan sehingga selama kerdil adalah kurang daripada tujuh tahun, kami akan terus melalui ini untuk gelung. Dan kemudian bahagian yang terakhir adalah apa yang kita lakukan pada akhir ini untuk gelung? kerdil ++, dan itu berarti kita kenaikan kerdil per satu setiap kali. Jadi apa yang akan berlaku di sini? Jadi pertama kita akan melalui. Kami mempunyai orang kerdil sebagai 0, dan kemudian kita akan untuk mencetak Aku di sini untuk membantu anda Snow White! Dan kemudian orang kerdil akan meningkat kerana kita mengatakan orang kerdil ++. Kerdil akan menjadi 1. Dan kemudian kita compare-- kerdil ialah 1. Kami membandingkannya dengan adalah kerdil kurang daripada 7? Ya. Saya akan pergi melalui ini lagi. Saya di sini untuk membantu anda Snow White! Dan kemudian menjadi orang kerdil 2, kemudian kita bandingkan. Apakah 2 kurang 7? Ya. Kita akan terus melalui. Dan kita akan pergi melalui ini tujuh kali. Jadi pada akhirnya, kita akan mempunyai kerdil = 0 mencetak Saya di sini untuk membantu anda Snow White! kerdil sama dengan 1, 2, 3, 4, 5, dan 6. Ingat indeks kita pada 0. Oleh itu, kita bermula dengan 0. Ya? PELAJAR: Jadi ini adalah berbeza daripada apa yang boleh kerana ini tidak mencetak keluar awalnya pada awalnya. Jadi, anda boleh terus perkara yang sama. Anda boleh melakukan ini juga dengan gelung do? Seperti proses yang sama. Keadaan ini kerdil kurang daripada 7 atau apa sahaja. Respon kurang daripada 7. SHARON: Jadi, anda boleh dari segi teknikal. Jadi, jika kita kembali kepada- bercakap anda tentang gelung sementara, bukan? Jadi apa yang boleh manakala gelung adalah sedikit berbeza kerana kami menjamin sekurang-kurangnya sekali bahawa kita akan pergi melalui itu, jadi itulah perbezaan terbesar. Tetapi dengan gelung sedangkan kita boleh berkata sementara orang kerdil kurang dari 7, melakukan ini, dan kemudian kenaikan kerdil per satu. Dan kemudian kita perlu memulakan kerdil sebelum kenyataan ini seluruh bahawa ia sama dengan 0. Jadi ya, kami boleh melakukannya dengan itu. Mm-hm? PELAJAR: Bolehkah anda kembali ke [terdengar]? SHARON: Untuk gelung? PELAJAR: Ya, jadi dengan orang kerdil ++, seolah-olah seperti itulah yang anda lakukan selepas Anda telah berlari beberapa cara lain. SHARON: Betul. PELAJAR: Bolehkah anda hanya tidak mempunyai itu dan meletakkan itu-- SHARON: Anda bisa. PELAJAR: Begitu juga [terdengar] selepas mencetak di baris berikutnya di bawah. SHARON: Ya, anda boleh meletakkan ia di sana. Tetapi kemudian anda akan hanya meninggalkan yang kosong. JASON Hirschhorn: Anda masih perlu kolon semi sekalipun. SHARON: Ia kelihatan sedikit janggal, tetapi anda teknikal boleh melakukannya. Secara teknikal. Tolong jangan. Ya? PELAJAR: Adakah terdapat apa-apa alternatif kepada ++? Adakah terdapat apa-apa lagi [terdengar]? SHARON: Secara teknikal ia itu orang kerdil itu. Salah satu tanda sama dengan kita akan untuk menetapkan ia untuk orang kerdil ditambah 1. Jadi secara teknikal itu apa yang kerdil ++ cara. Adakah ini masuk akal? PELAJAR: Ya, tetapi ada alternatif? Seperti jika anda ever-- SHARON: Ya, anda boleh melakukan kerdil - -. PELAJAR: [didengar]. SHARON: Ya, anda boleh melakukan pelbagai perkara. HANNAH: Dan anda boleh kenaikan sebanyak 2. Anda boleh kenaikan sebanyak 3. Apa-apa yang akan berubah, lama kelamaan ia akan membuat keadaan. PELAJAR: Jadi, jika anda mahu untuk kenaikan dengan 2, bagaimana anda akan menulis itu? HANNAH: Anda boleh sama ada menulis dwarves-- Anda boleh menulis semua ini keluar. kerdil kerdil = + 2. Atau singkatan sedikit. Saya hanya akan menulis + sama dengan 2. PELAJAR: OK, dan anda akan menulis bahawa tepat di mana orang kerdil ++ ada. HANNAH: Tepat sekali. SHARON: Betul. Ada soalan lain? Ya? PELAJAR: [didengar] kerdil ++? SHARON: Jadi anda don't-- JASON Hirschhorn: Ya, tidak perlu di sana. [Terdengar] paling akhir. Jadi, anda melakukan [terdengar] orang kerana anda jenis berpisah pengawalan, syarat, dan perubahan. Pada akhir sangat, anda tidak memerlukannya. SHARON: Juga perhatikan anda tidak perlu titik koma setelah seluruh seluruh untuk loop. PELAJAR: Bagaimana anda akan bermula dengan nombor awal negatif, misalnya? SHARON: Anda boleh memulakan kerdil sama kepada negatif 2. PELAJAR: Adakah anda hanya melontarkan 2? SHARON: Ya, sehingga tanda negatif, dash 2. PELAJAR: Adakah ia [terdengar] memulakan sebagai orang kerdil [terdengar]? SHARON: Ya. Jadi jika kita baru sahaja dimulakan kerdil sebelum ini, hanya melakukan int koma kerdil, dan kemudian ada yang boleh kita lakukan orang kerdil yang ditetapkan sama dengan 0. PELAJAR: Bolehkah kita melakukannya di awal program ini mengatakan int kerdil = 0, dan kemudian hanya-- SHARON: Hanya tidak have-- jadi akan ada ruang lagi, tetapi anda masih perlu titik koma. Yeah. Mm-hm? PELAJAR: Adakah kod ini mengatakan apa yang nilai kerdil adalah selepas itu. Jika anda bertanya setelah semua ini adalah dilakukan untuk mencetak nilai kerdil. SHARON: Anda boleh meminta untuk melakukan itu. PELAJAR: OK. SHARON: Tetapi anda akan perlu meminta untuk melakukan itu. Ia tidak melakukannya untuk anda. Saya takut untuk meletakkan anting-anting kembali. Lakukan pada akhir tepuk tangan. Hanya bercanda. JASON Hirschhorn: Jadi itu yang sama. Jadi memulakan di bahagian atas. Keadaan, mencetak, perubahan. Jadi ini adalah sama seperti bahawa jika sesiapa sahaja boleh melihatnya. PELAJAR: Mengapa kamu tidak mempunyai titik koma pada baris pertama? SHARON: Di mana? PELAJAR: Selepas baris pertama. SHARON: Selepas 4 dalam kurungan? Kerana kita mahu pergi melaluinya ke dalam lingkaran ini. Dan jika anda melihat di dalam gelung umum, mereka tidak mempunyai titik koma. Ia tidak praktikal. Adakah kita yang baik? Satu lagi soalan, dua lagi. Ya? PELAJAR: Hal ini mungkin sedikit maju, tetapi adakah orang kerdil mempunyai berbeza [terdengar] dari variabel [terdengar]. SHARON: Sangat baik. PELAJAR: [didengar]. SHARON: Ya, ia adalah. Apa? JASON Hirschhorn: Ya, jadi ia. Jadi biasanya skop sesuatu yang tidak di kurung kurawal. Jadi skop selalu akan berada dalam pendakap kerinting, tetapi itu tidak akan membuat pengertian yang mendalam untuk untuk loop kerana kita dimulakan orang kerdil dalam pendakap kerinting. Jadi biasanya skop kerdil, yang pembolehubah tidak akan memperpanjang masa lalu itu. Ini adalah kes khas walaupun. Jadi, anda memulakan ia dalam mereka kurung, dan kemudian anda perlu skop di kemudian hari. Kes begitu istimewa. Mereka tidak boleh memiliki itu, dan yang was-- itu masuk akal? PELAJAR: No. JASON Hirschhorn: saya boleh pergi lebih dari itu. Jadi apa yang anda masih keliru tentang? PELAJAR: Seperti yang anda boleh menggunakan dwarves-- anda jelas dapat menggunakan orang kerdil [terdengar] formula luar juga? JASON Hirschhorn: Tidak, tidak. Jadi skop itu hanya di dalam pendakap kerinting untuk untuk loop, ya. SHARON: Tetapi jika anda memulakan orang kerdil di luar untuk gelung, maka Anda boleh menggunakannya di tempat lain Ada satu pertanyaan yang lebih? Tidak? OK. Oleh itu, kita bercakap sedikit tentang bersarang untuk gelung atau conditional bersarang, jika laporan. Jadi di sini adalah satu contoh di mana kita bisa sarang untuk loop. Katakanlah kita telah mencetak jadual ini x ada di sini. Kita mungkin ingin supaya- pertama jika kita tidak melihat kode dan kami hanya berfikir tentang hal itu, kita mahu pergi melalui setiap baris dan mencetak setiap lajur, kan? Adakah ini masuk akal? OK. Jadi di sini kita akan melalui setiap baris untuk pada dasarnya setiap baris, dan ada tiga baris. Dan kemudian dalam setiap baris untuk setiap kolom, dan ada empat tiang, mencetak x. demikian. Apabila baris adalah 0 dan kolom 0, kita mencetak x ini. Dan kemudian kita terus melalui gelung kolom. Berturut-turut masih 0, tetapi ruang adalah satu. Dan kemudian kolom 2, dan kemudian kolom 3. Dan kemudian kita keluar daripada yang gelung kerana maka kolom tidak lagi kurang dari 4. Dan kemudian kami cetak baris baru, dan kami pergi ke baris baru. Dan kemudian kita melalui depan berturut-turut, dan berturut-turut akan bertambah, dan kamu membaca lagi. Adakah ini masuk akal? Ya? PELAJAR: Jadi untuk sarang [terdengar] adalah hanya meletakkannya di dalam satu untuk gelung? SHARON: berarti Jadi bersarang yang kita mempunyai untuk gelung dalam gelung, seperti Pendahuluan. PELAJAR: Anda tidak perlu putaran khas atau apa-apa? Anda hanya menempel dengan betul di dalamnya? SHARON: Betul. Ya? PELAJAR: Mungkin [terdengar], tetapi ia kelihatan seperti ada ruang tambahan antara semua x. Saya tidak tahu jika that's-- Jika itu adalah untuk benar-benar melakukan program, ia akan melakukan sesuatu seperti itu? SHARON: Jadi tidak ada. Yang menekan Enter. Yang buruk di pihak kita. Minta maaf. HANNAH: Bagaimana anda akan mengubah ini program jika anda melakukan satu talian tambahan? PELAJAR: [didengar]. SHARON: pekerjaan yang baik. PELAJAR: Anda juga boleh mencetak sama perkara dengan beralih di sekitar ruang, kan? SHARON: Hm? PELAJAR: Jadi untuk mencetak kecil anda xxx, baris pertama dapat mengatakan cetak, dan bukannya mengatakan berturut-turut, ia mengatakan lajur. SHARON: Jadi, anda boleh mengubah nama variabel untuk melakukan itu. Adakah itu apa yang anda katakan? PELAJAR: Tidak, aku hanya mengatakan bahawa- sehingga Anda baris cetakan pertama dan kemudian mencetak tiang. Bolehkah anda mencetak ruangan pertama dan maka baris untuk mendapatkan gambarajah yang sama? SHARON: Anda boleh, tetapi maka anda akan mempunyai berhati-hati di mana anda meletakkan baris yang baru. Dan bagaimana anda akan melompat kembali? JASON Hirschhorn: Jika Anda hanya beralih dan nilai-nilai yang berbeza, daripada harus four-- apakah ia? Tiga empat. I Anda akan mempunyai empat baris dan tiga lajur. Adakah ini masuk akal? PELAJAR: Ya. JASON Hirschhorn: Jadi yeah, anda boleh berbuat demikian. Ya, pasti. SHARON: Tapi itu akan menjadi benar-benar hanya menukar nama-nama pembolehubah. Baik? OK. Baiklah, P menetapkan satu. OK, jadi bahagian pertama itu Anda akan melakukan ini, Mario. Hanya bercanda. Ia lebih seperti ini. Dan ketika kita hanya melihat pada bersarang untuk gelung, membuat jadual yang, berfikir tentang bagaimana anda mungkin boleh mencetak hashtags ini dengan cara ini. Dan kemudian di sini bagaimana akan anda mencetak hak ini di sini, kawasan lapang ini. PELAJAR: [didengar]. SHARON: Ya, anda hanya mencetak ruang. OK, jadi berfikir tentang itu. HANNAH: Kemudian yang sama sebahagian daripada masalah yang dinyatakan adalah program yang dipanggil greedy.c, sehingga anda akan mahu berfikir tentang conditional dan memastikan bahawa anda boleh membuat perubahan yang tepat. Dan satu amaran yang kita ada untuk anda adalah berhati-hati dengan mata yang terapung. Jika ini bermakna apa-apa kepada anda, itu akan dibincangkan dalam kuliah minggu ini dan juga dalam [terdengar] berjalan melalui, yang kalian akan belajar untuk suka pada set masalah. Satu perkara yang saya benar-benar mencadangkan, terutama dengan Mario.c, ketika sedang melakukan masalah ditetapkan, jika anda buntu, bermula dengan melakukannya di atas kertas. Menulis itu dan benar-benar duduk di sana dan berpura-pura menjadi komputer, dan pergi through-- mengatakan Saya komputer, bagaimana saya akan mengikuti ini untuk loop melalui? Bagaimanakah variabel saya dalam gelung untuk perubahan? Berbuat demikian di atas kertas menjadikan ia 10 kali lebih mudah apabila anda pergi untuk duduk di depan komputer. Jadi hanya plug kecilku. SHARON: Dan juga jangan berfikir bahawa anda harus kode semuanya sekaligus. Pastikan anda mengambil proses berulang-ulang. Lakukan sedikit, mencetak keluar, lihat apa yang berlaku. Kadang-kadang sedikit trial and error. Dan sampai pada waktu pejabat. Menyeronokkan super. JASON Hirschhorn: Jadi apa-apa soalan? Semua orang-orang yang benar, yang adalah bahagian pertama anda. HANNAH: Terima kasih kerana datang. JASON Hirschhorn: Terima kasih kerana datang. SHARON: Terima kasih. [Tepuk Tangan]