JASON Hirschhorn: Welcome. Jadi hanya beberapa pengumuman sebelum kita mulai. Jadi bagian, setiap orang harus telah dipotong sudah. Bagian yang biasanya dijalankan dari Minggu sampai Selasa. Jadi kalian harus mendapatkan tugas Anda. Dan kemudian saya pikir minggu depan Anda akan dengan TF yang sebenarnya. Jadi jika Anda memiliki pertanyaan, atau masalah, atau Anda lupa untuk bagian. Beberapa orang melakukan itu. Biarkan kami tahu. Menembak kami email di kepala. Kemudian jam kantor. Kami mulai jam kantor pekan lalu. Jam kerja setiap minggu. Senin adalah di Leverett 8:00-11:00. Selasa di quad, sehingga Cabot 8:00-11:00. Rabu, Mather 8:30-11:30. Dan Kamis Annenberg 8:00-11:00. Jadi Scratch, banyak orang tidak perlu jam kantor bantuan untuk Scratch, yang benar-benar baik-baik saja. Jika Anda melakukannya, itu benar-benar baik juga. Tapi di masa depan, masalah set, mereka mendapatkan jauh lebih sulit. Jadi ini akan menjadi teman Anda. Pasti pergi ke jam kantor. Berencana akan jam kantor. Saat Anda masuk ke masalah menetapkan empat, lima, enam, tujuh, Anda perlu pergi ke kantor jam. Di situlah banyak bantuan dan pekerjaan dilakukan. Saya pikir tahun lalu, hanya untuk Misalnya, pada hari Kamis malam- jadi saya pikir masalahnya set yang jatuh tempo pada hari Jumat. Jadi Kamis malam, kita akan memiliki 200, 250 siswa di jam kantor. Jadi pasti menggunakan ini. Ini adalah teman terbaik Anda. Seperti ini adalah di mana jika Anda terjebak pada satu set masalah, ini adalah di mana Anda mungkin akan mendapatkan bantuan. Jadi jam kantor. OK jadi mereka adalah pengumuman. Pengumuman yang dilakukan, jadi mari kita mulai. OK, alat. Apakah semua orang men-download alat belum? Nomor Seperti dalam begitu begitu. Aku agak download alat. Kanan sehingga alat baru tahun ini, jadi kita mungkin akan memiliki beberapa bug di dalamnya. Jadi silahkan download sedini mungkin. Jadi masalah menetapkan satu akan memberitahu anda bagaimana untuk mendownloadnya. Persiapan menginstal di sini. Ini akan memberitahu Anda bagaimana untuk men-download alat. Jadi pasti ambil alat lebih awal daripada kemudian. Instruksi berada di P set spec. Jadi jika Anda menunggu sampai Rabu malam, dan kemudian Anda memiliki masalah, dan Anda mengirim email pada kami di tengah malam pada Rabu malam bahwa Anda tidak dapat men-download alat, itu bukan alasan legit untuk perpanjangan. Anda perlu melakukannya sekarang, dan Anda akan mengalami kesulitan. Aku mencoba untuk men-download tadi malam. Aku berlari ke dalam sedikit kesulitan. Jika Anda mengalami kesulitan menginstal, pasti hit coba, karena saya hanya memukul coba lagi sebuah beberapa kali, dan akhirnya berhasil, yang tidak membuat akal, tapi itu tidak. Jadi pasti coba lagi, tetapi jika Anda datang melawan dinding bata, menembak kami email di kepala, dan kita akan lebih dari senang untuk membantu kalian. Ada apa? STUDENT: Hanya pertanyaan singkat. Jika mereka memeriksa gaya, ada bagian yang mengatakan kita tidak memasukkan ini. JASON Hirschhorn: Belum. SISWA: Dikatakan melaksanakannya. Bagaimana Anda mengeksekusi bahwa untuk pastikan itu di sistem anda? JASON Hirschhorn: Kau akan menjalankan perintah bash. Aku akan pergi lebih dari itu nanti. Keren. Jadi alat bisa menjadi sedikit menakutkan, karena Anda terbiasa dengan jenis berjalan di antarmuka pengguna grafis. Jadi Scratch adalah pengguna grafis interface, jadi apa yang saya maksud dengan itu? Yang saya maksud adalah bahwa ketika Anda pemrograman, Anda pada dasarnya menggunakan blok kode. Anda dapat melihat kode dan hal-hal seperti itu. Alat, Anda akan melakukan hal dalam lingkungan baris perintah. Dan untuk sisa hidup pemrograman Anda, Anda akan melakukan hal-hal dalam lingkungan baris perintah. Jadi ada baiknya untuk melompat pada awal dan mendapatkan beberapa pengalaman. Jadi mari kita lakukan. Jadi itulah Rob. OK, jadi mari kita melompat ke baris perintah hal. Jadi ini adalah alat. Ada yang bisa memberitahu saya mengapa kita menggunakan sebuah alat? Apa alat? Apakah ada yang tahu? Ada apa? SISWA: Ini hanya sebuah mesin virtual bahwa Anda menjalankan mesin Anda sehingga Anda bisa lebih OS ketidaksepakatan antara Mac dan PC. JASON Hirschhorn: Perfect. SISWA: Ini template universal. JASON Hirschhorn: Ya, itu seperti template yang universal. Sempurna. Jadi ya, itu adalah mesin virtual. Jadi pada dasarnya sebuah sistem operasi. Ini adalah sebuah sistem operasi. Ini sama dengan Anda Mac, atau PC Anda, atau Linux Anda. Ini adalah persis sama. Dan sehingga Anda dapat melakukan hal serupa. Jika Anda mau, Anda bisa online misalnya. Anda tidak bisa benar-benar melihatnya, tapi di sini, Google Chrome. Anda dapat pergi online jika Anda ingin. Ini adalah sebuah sistem operasi. Dan alasan kita melakukannya karena itu jauh lebih mudah ketika kita sedang membagi-bagikan instruksi dan segala sesuatu. Jika hanya lingkungan seragam, itu jauh lebih mudah bagi kita, dan itu jauh lebih mudah bagi Anda. Anda tidak akan mengalami berjalan ke setiap keanehan ketika Anda pemrograman. Kita tahu persis apa yang Anda akan mengalami. Jadi alat ini di sini. Jadi, ketika Anda mulai pemrograman, Anda akan turun ke pojok kiri. Ada sebuah kotak kecil. Anda akan klik. Ini adalah jendela terminal Anda. Jadi ini adalah di mana Anda akan menjadi banyak semester. Jadi biarkan aku memperbesar sedikit. OK, sehingga mendapatkan sekitar terminal Jendela adalah sedikit berbeda. Pertama, tidak ada ikon. Aku tidak bisa klik apa-apa. Tidak ada yang klik. Jadi, Anda harus mencari cara untuk mencari tahu di mana Anda berada, apa yang ada di sini, dan bagaimana untuk bergerak di sekitar. Jadi dua perintah yang paling berguna mungkin yang ls-- jadi apa yang Anda pikirkan ls tidak? SISWA: Daftar. JASON Hirschhorn: Daftar, ya. Itu hanya berisi algoritma dalam direktori. Dan kemudian cd. Jadi katakanlah saya ingin cd CS50, apa yang dilakukan? Ya? SISWA: Mengubah direktori Anda. JASON Hirschhorn: Perfect, ya. Itu hanya mengubah direktori. Jadi mari kita kembali. Jadi bagaimana aku kembali? Jadi katakanlah saya ingin pergi kembali ke direktori sebelumnya. Ya yakin. SISWA: Saya pikir Anda menulis cd hanya tanpa apa-apa. JASON Hirschhorn: Anda bisa melakukan itu. Begitu sempurna. Jadi jika saya menulis cd, ini adalah benar-benar akan pop saya cadangan ke direktori home. Jadi Anda lihat tilde ini, itu akan pop saya cara kembali ke tempat tilde adalah. Jadi itu akan pop saya kembali ke direktori home. Tapi katakanlah saya melakukan sesuatu seperti ini. Katakanlah cd CS50. ls lagi. Aku punya hal-hal lain. cd Super bagian. File cd, jadi aku pergi jauh. Dan kemudian katakanlah saya ingin hanya pop kembali ke atas. cd. Katakanlah saya tidak ingin melakukan itu. Katakanlah saya hanya ingin pop kembali ke direktori yang tepat di atas saya. Bagaimana saya melakukannya? Jadi katakanlah cd CS50. cd supersection. Jadi mari kita aku di sini. Katakanlah saya hanya ingin untuk pop up satu waktu. Bagaimana saya melakukannya? Yeah, ada apa? SISWA: Anda cukup mengetikkan cd supersection lagi. JASON Hirschhorn: Anda bisa melakukan itu. Yah aku di supersection. SISWA: Oh, yang sebelumnya. JASON Hirschhorn: Yeah, sehingga Anda bisa melakukan itu. Anda melakukan cd ~ CS50. Jadi jika Anda melihat di sini, ini adalah jalan Anda di sini. Itu jalan Anda. Jadi Anda bisa serius hanya pergi cd ~ / CS50. Boom, Anda berada di sana. Apa cara yang lebih mudah untuk melakukannya meskipun? Itu sempurna benar, tapi apa cara yang sedikit lebih mudah untuk melakukannya, karena banyak kali Anda akan untuk melompat di direktori, melompat keluar dari direktori. Jadi mari kita kembali. cd supersection. Jadi katakanlah saya ingin kembali dengan cepat. Anda dapat melakukan sesuatu seperti cd dot dot. Itu akan pop Anda kembali dengan cepat. Jadi cd supersection. file cd. Katakanlah aku di sini. By the way, jelas adalah baik, karena saya Jendela semakin sedikit berantakan. Jadi ls, jadi saya tidak ingin berada di sini lagi. cd dot dot. Bawa aku satu. Cd dot dot membawaku satu. Cd dot dot dan kembali ke rumah saya. OK, jadi cd, ls. Mungkin yang paling penting hal, karena kau akan perlu tahu di mana Anda berada. ls akan memberitahu Anda di mana Anda berada, dan cd adalah bagaimana Anda akan melompat-lompat. Anda juga dapat melakukan beberapa hal menarik lainnya. Jadi misalnya ls. ls hanya akan menampilkan direktori dalam file Anda. Ini juga akan menampilkan file. Tapi itu hanya akan menampilkan apa yang ada. Jika Anda ingin sesuatu sedikit lebih keren, dan Anda akan benar-benar melakukan ini dalam beberapa minggu. ls dasbor l. Yang mencetak sebuah informasi sedikit lebih. Ada yang bisa menebak di sisi kiri sisi yang drwx, rwx dan hal-hal seperti itu. Apakah ada yang punya ide apa yang mungkin berarti? SISWA: Izin. JASON Hirschhorn: Ya, sempurna. Permissions. Jadi Anda akan harus berurusan dengan ini ketika Anda melakukan pemrograman web di kemudian hari. Jika Anda pernah pergi online, dan Anda mengklik pada gambar atau diklik di lapangan, dan dikatakan permission-- seperti izin tidak diperbolehkan, atau seperti izin tidak diberikan atau apa pun, itu karena ketika mereka pemrograman, mereka belum mengatur hak akses ini untuk membiarkan Anda melakukan itu. Jadi di mana yang berasal dari. OK, jadi itu keren. Jadi kita melompat-lompat. Kita dapat melihat hal-hal di direktori kami. Tapi bagaimana kita membuat hal-hal? Aku punya direktori di sini. Itu mengagumkan. Bagaimana cara membuat direktori baru? Katakanlah saya ingin membuat baru directory untuk sekarang. Anda dapat melakukan sesuatu seperti ini, mkdir. Sehingga membuat direktori. Jadi apa yang Anda inginkan untuk memanggil direktori ini? SISWA: Awesome. JASON Hirschhorn: Awesome. I love it. Membuat direktori yang mengagumkan. Dan di sana Anda pergi. Jadi kita perlu daftar. Anda memiliki sebuah direktori baru. Dan Anda dapat memberitahu itu adalah direktori dalam alat Anda karena itu punya warna ini, kan? Jadi itu seperti kebiruan ungu atau apa pun. Jadi mari kita berubah. Mari kita mengubah direktori. Mari kita pergi ke directory-- ya, ada apa? SISWA: Apakah ada daftar semua ini [tak terdengar] secara online? JASON Hirschhorn: Ya, saya akan menaruh mereka on-- akan kita slide. Itu akan menjadi PDF. Kami akan menempatkan mereka untuk semua orang. Ya, maaf itu banyak perintah. jika Anda ingin saya untuk memperlambat, atau kembali, atau sesuatu seperti itu, pasti beritahu saya. Ini banyak menyerap segera. Ada apa? SISWA: Dapatkah saya meminta Pertanyaan berpotensi bodoh? JASON Hirschhorn: Ada tidak ada pertanyaan bodoh. SISWA: Ada. Direktori adalah untuk hanya melihat pada informasi di mana Anda menyimpannya. JASON Hirschhorn: Ya. SISWA: Apakah yang pada dasarnya apa yang Anda lakukan? Jadi ketika kita membuat sesuatu, hello world atau apa pun, itu disimpan dalam direktori, ya? JASON Hirschhorn: Ya. SISWA: Apakah itu benar untuk semuanya. Semuanya disimpan dalam direktori. JASON Hirschhorn: Ya. Setiap kali Anda membuatnya, direktori apapun yang Anda berada di, itu akan pada dasarnya menyimpannya dalam direktori tersebut. SISWA: Dan ketika kita menyebutnya, kita menyebutnya dari direktori. JASON Hirschhorn: Ya, jadi direktori adalah di mana ia es. Jadi semacam seperti jika Anda memiliki folder baru di desktop Anda dan kemudian Anda menulis teks File, memasukkannya ke dalam folder itu, file yang ada di folder itu. Apakah itu masuk akal? SISWA: Ya. JASON Hirschhorn: Ya, ada apa? SISWA: Bisakah saya meminta Anda untuk membuatnya sedikit lebih besar? JASON Hirschhorn: Oh, ya. Maaf. Proyektor begitu buruk. Kami memiliki begitu banyak masalah dengan ini sebelumnya. Apakah itu lebih baik? Apakah itu terlalu besar? SISWA: Tidak, tidak ada itu tidak. JASON Hirschhorn: Tidak, itu tidak. Apakah terlalu kecil? Ada apa? SISWA: Maaf, apa perintah untuk membersihkan? JASON Hirschhorn: Oh, jelas. Jika Anda ingin menghapus, hanya ketik jelas. jelas masuk. Pada alat terakhir, apa dasarnya melakukan, itu tidak menghapus informasi Anda, itu hanya semacam pergeseran segalanya turun satu layar. Jadi, jika Anda mengetik clear-- untuk contoh katakanlah aku bergulir ke atas. Saya dapat menggulir ke atas. Ini adalah semua yang saya lakukan. Tapi kalau saya ketik jelas, dan kemudian Saya gulir ke atas, inilah barang-barang saya. Jadi itu tidak menghapusnya, itu hanya pada dasarnya memberikan Anda sebuah bingkai baru. SISWA: Bagaimana Anda [Tak terdengar] direktori? JASON Hirschhorn: Kita akan sampai di sana. [Tertawa] Lambat roll. Baik. OK, jadi begitu kita berada dalam direktori sekarang. Jadi Daud, saya pikir dalam kuliah ia melakukan beberapa hal menarik. Jadi mari kita menulis sebuah program. Sehingga Anda dapat melakukan itu sejumlah cara yang berbeda. Anda dapat menggunakan segala jenis editor teks. Anda dapat menggunakan Nano, Anda dapat menggunakan Vim, Emacs. Mereka adalah sedikit lebih rumit. Atau Anda dapat menggunakan sesuatu di di sini yang disebut gedit. Maaf. gedit tidak senang. Jadi gedit pada dasarnya adalah hanya editor teks. Sama seperti aku text mengedit kata processor atau sesuatu seperti itu. Jadi itu punya bagus antarmuka persis seperti ini. Jadi Anda melakukan sesuatu seperti itu. Jadi benar-benar membiarkan saya memberikan nama karena saya tidak pernah melakukan itu. Jadi apa yang Anda inginkan untuk nama program pertama kita? Ini hanya akan menyapa. SISWA: [tak terdengar]. JASON Hirschhorn: Anda kurang imajinasi. OK, gedit. Hi. Aku akan melakukan .txt. OK, jadi di sini itu. Jadi mari kita menulis sebuah program. Jadi saya pikir Anda sudah melihat ini dalam kuliah. Anda membutuhkan fungsi utama. Boop. Jadi ini hanyalah sebuah fungsi utama. Bigger? Ya, maaf. OK jadi Anda perlu fungsi utama. Saya pikir saya melompat pistol sedikit, tapi itu tidak pernah buruk untuk mendapatkan digunakan untuk hal semacam ini. Jadi fungsi utama, setiap program C Anda akan menulis untuk sisa ini Tentu saja akan memiliki fungsi utama. Apakah ada yang tahu mengapa? Ada apa? SISWA: Mulai. JASON Hirschhorn: Tepat, sehingga memberitahu program anda harus mulai dari mana. Jadi jika Anda tidak memiliki fungsi utama, dan Anda mengkompilasi ini dan hal-hal, itu tidak akan tahu harus mulai. Main selalu mana dimulai. Jadi Anda memiliki fungsi utama, dan kemudian apakah ada yang ingat bagaimana untuk mencetak? SISWA: printf. JASON Hirschhorn: Ya, printf. printf hi. OK, sekarang saya telah menetapkan kalian up gagal, tapi akan mengkompilasi ini. SISWA: No. JASON Hirschhorn: Mengapa? Ada beberapa alasan mengapa. Tentu. SISWA: Itu tidak memiliki standar [tak terdengar]. JASON Hirschhorn: Perfect. Jadi apa ini yang disebut di sini? SISWA: [tidak terdengar] JASON Hirschhorn: Ini file header, kan? Ini adalah file header. Dan kau tepat. Anda berdua benar. Jadi untuk memasukkan itu, saya hanya melakukan pound termasuk standar input output h. Apakah saya baik untuk pergi sekarang? Apakah ini kompilasi? SISWA: No. JASON Hirschhorn: Mengapa tidak? SISWA: Ini adalah [tidak terdengar] teks. JASON Hirschhorn: Ya, mengagumkan. Jadi saya hanya membuatnya. Jadi saya menyimpannya, tapi gedit hi.txt. Jadi sekarang jika saya melakukan ls, ini dia. Di sini. Oh, itu tidak mengagumkan. Saya harus pergi keluar. Oh, sempurna. Bagaimana kita menempatkan ini dalam mengagumkan? Jadi saya tidak ingin di sini di rumah saya direktori dengan segala sesuatu yang lain. Saya ingin memasukkannya ke dalam folder. Bagaimana saya melakukannya? Tidak terlalu sulit. Pindahkan. Jadi kita sudah belajar ls, daftar. cd untuk mengubah direktori. cd dot dot untuk bertemu keluar dari direktori. Dan sekarang kita akan mulai bergerak di sekitar file. Jadi untuk bergerak hanya bergerak hi.txt, dan Aku akan memasukkannya ke dalam mengagumkan. Hanya berhati-hati. Setiap kali Anda menulis di baris perintah, segala sesuatu hal. Hal begitu huruf besar. Jika aku selesai huruf kecil, itu tidak akan tahu apa yang terjadi. Jadi semuanya hal menjadi sangat spesifik. Jadi menjalankan bahwa ls. Ini tidak lagi di sini. Mari kita ubah direktori ke mengagumkan. ls. Boom, itu ada. Dan seseorang disebutkan mengapa ini tidak akan dikompilasi. Mengapa tidak akan mengkompilasi lagi? Ya? SISWA: Hal ini tidak di c a. JASON Hirschhorn: Perfect. Ini bukan c sebuah, s jadi bagaimana aku akan mengganti nama untuk c a? Apa cara mudah untuk melakukannya? Mari kita gunakan perintah baru saja kita lakukan. Jadi kita hanya akan memindahkan hi.txt untuk hi.c. ls hi.c. Dan kemudian hanya untuk bersenang-senang, mari kita hanya melompat ke dalam cepat nyata ini. hi.c. Anda akan melihat itu bagus dan berwarna-warni. Jadi ini hanya semacam bermanfaat warna ketika Anda pemrograman. Jadi int dan kehampaan, mereka adalah tipe data. Kami akan pergi ke orang-orang dalam detik. Hi adalah string. Tapi warna berguna. Jadi jika Anda pernah tidak sengaja memilih ekstensi yang salah, Anda harus memiliki warna-warna ini. Ada apa? SISWA: Bagaimana saya dapat menyalin ke mengajukan [tak terdengar] ke file lain? JASON Hirschhorn: Oh, aku akan menunjukkan kepada Anda bahwa juga. Jadi copy menghapus berada di dermaga. Mari kita membuat ini. Pastikan kerjanya. Membuat hi. Pekerjaan, menjalankannya. Jadi ./hi mengagumkan. Itu adalah program pertama Anda. Biarkan saya membuatnya lebih besar. Jadi benar-benar good-- Yeah, ada apa? SISWA: Mengapa itu akan bahwa ketika saya mengambil gedit, itu tidak memberikan saya lain line untuk gedit hi.txt? Itu hanya menempatkan kursor ke baris. SISWA: Ya. The [tidak terdengar]. JASON Hirschhorn: Tunggu, sehingga mengatakan itu lagi. SISWA: Ketika saya ketik gedit, yang pertama kalinya, line-- pertama JASON Hirschhorn: Up ada di bagian paling atas? SISWA: Tidak memiliki J Harvard alat, dan kursor hanya sepanjang jalan ke kiri. JASON Hirschhorn: Semua cara ke kiri? SISWA: Ya. Apakah orang lain memiliki itu? JASON Hirschhorn: Oh, well J Harvard adalah seperti username. Jadi itu hanya username standar. SISWA: Ini berhenti merespons. JASON Hirschhorn: Oh, itu berhenti merespons. OK, jadi apa yang harus Anda lakukan adalah Anda harus menutup dari gedit. Begitu dekat dari gedit, dan harus kembali. Begitu juga gedit terbuka pada Anda alat sekarang? Jika Anda keluar dari itu, seharusnya kembali dan Anda harus baik untuk pergi. Melakukan pekerjaan itu? SISWA: Jadi apakah Anda menggunakan perintah gedit untuk open-- JASON Hirschhorn: Tidak, yang pertama perintah gedit adalah sebuah kesalahan. Perintah gedit pertama, Saya lakukan gedit hi.txt. Jadi saya memberikan nama, hi.txt begitu gedit. hi.txt adalah nama file. Yang pertama adalah hanya kesalahan, dan kemudian Aku segera menutup program. Jadi pertanyaannya adalah jika saya melakukan gedit, aku tidak akan dapat benar-benar melakukan apa pun di baris perintah saya sampai aku menutup gedit itu, jadi saya berpikir bahwa apa yang mereka berlari ke dalam. Begitu dekat gedit tersebut. Ini akan kembali keluar dari itu Program, dan kemudian Anda akan dapat benar-benar mengetik pada command line lagi. Apakah itu baik? Dope. Jadi pastikan untuk menutup jika Anda mengalami kesulitan. OK, jadi pertanyaan yang benar-benar baik kedua lalu telah menyalin. Jadi sekarang saya telah hi.c. Tapi katakanlah saya ingin mengubahnya. Saya ingin menjadi sedikit lebih baik. Saya ingin mengatakan hi kelas. Tapi aku ingin tetap template ini. Saya tidak perlu menulis ulang seluruh program lagi. Saya ingin menyimpan template. Bagaimana cara menyalin? Mudah. Jadi cp hi.c newhi.c. Sekarang aku punya dua. Dan kemudian saya bisa membuka newhi.c, dan bukan hanya mengatakan hi, Aku akan menyapa kelas! Jadi aku akan kembali. Keluar out. Kembali ke baris perintah saya. ls membuat newhi. Menjalankannya. Ada. Lebih baik, jauh lebih baik. Jadi jika Anda ingin menyalin sesuatu, semudah itu. cp adalah copy. Jadi kita sudah lebih bergerak, membuat direktori, menyalin. Mari kita lihat apa lagi yang harus saya pergi? Oh, yeah. Mari kita pergi selama ini. Jadi ini adalah mengagumkan. Katakanlah saya ingin to-- oh tunggu. Aku akan kembali ke mengagumkan. Katakanlah saya tidak ingin file-file ini di sini. Katakanlah saya ingin mereka dalam baru direktori seperti dalam direktori mengagumkan. Saya ingin memulai pengorganisasian, jadi sekarang aku akan untuk memiliki sebuah direktori baru yang disebut hi. Itu punya semua program Saya menulis disebut hi. Jadi bagaimana kita melakukannya? SISWA: Ubah direktori. JASON Hirschhorn: Ya. hi. Boop. mkdir hi_dir. Itu mengeluh karena saya sudah memiliki hi di sini. Jadi sekarang aku punya sebuah direktori hi. Jadi sekarang saya ingin pindah semuanya, semua program yang saya tulis, Saya ingin memindahkan mereka ke dalam direktori hi. Hanya bersih tersumbat. Bagaimana saya melakukannya? SISWA: [tak terdengar]. JASON Hirschhorn: Pindah, kan? Jadi mari kita lanjutkan. Ya? SISWA: Apa perbedaan antara hi dan hi.c yang sudah kita miliki. JASON Hirschhorn: Oh, hi.c adalah yang sebenarnya. Jadi itulah file yang Anda tulis. Jadi, jika Anda akan membukanya di gedit atau Nano, itulah apa yang Anda mengetik. Ketika anda mengkompilasi, maka Anda mendapatkan file eksekusi. Itu hi. Jadi, jika Anda membuka hi, itu akan menjadi sekelompok omong kosong bagi Anda. Ini pada dasarnya akan menjadi sekelompok instruksi komputer. Ada apa? SISWA: Apa artinya semua warna? Biru ini mungkin direktori. Apa kuning? JASON Hirschhorn: Mereka adalah file yang dapat dieksekusi. Jadi ketika aku membuat hi.c, itu memberi me-- sehingga saya bisa melakukannya. Terburu-buru. Jadi menghapus hi ya. Jadi mari kita lakukan ls. Saya tidak punya hi lagi. Jadi, ketika Anda membuat, saat itulah Anda mengambil program yang Anda tulis dan Anda membuat file eksekusi. Sehingga membuat hi.c-- baik, membuat hi. Saya pikir dia pergi ini dalam kuliah. Ini adalah sekelompok instruksi compiler. Jadi, bukannya harus benar-benar menulis dentang dengan semua ini. Ini adalah bendera. Anda hanya menulis membuat. Jadi ini membuat file yang dapat dieksekusi. Jadi, ketika Anda melakukan ls, sekarang Anda memiliki hi. Jadi ini adalah apa yang Anda akan benar-benar menjalankan. Dan sehingga Anda menjalankan bahwa dengan melakukan ./hi, dan menjalankan program Anda. Tetapi jika saya mencoba untuk melakukannya dengan hi.c, tidak, itu tidak akan bekerja. Ya, apakah itu masuk akal? SISWA: Mm-hm. JASON Hirschhorn: Cool. Tunggu, aku ingin mengatakan sesuatu yang lain. Hanya nyata cepat, dalam kasus ada yang tertarik, ketika Anda melompat keluar dari direktori, itu adalah dot dot. Apakah ada yang punya ide tentang apa mungkin hanya bentuk tunggal dot berarti? SISWA: [tak terdengar]. JASON Hirschhorn: Ini sebenarnya direktori saat ini. Jadi itu direktori Anda saat ini. Jadi aku di sini. Aku di mengagumkan. Jika saya melakukan cd dot, tidak melakukan apa-apa. Dibutuhkan saya ke direktori saya saat ini. Jadi sedikit berlebihan, tapi Anda harus untuk melakukan itu, jadi ./ nama program Anda, dalam rangka untuk menjalankan Anda Program, yang harus Anda lakukan itu. OK. SISWA: Jika Anda melakukan cd dot dot dot, namun banyak titik akan hanya membawa Anda bahwa banyak direktori? JASON Hirschhorn: Maksudmu seperti cd dot dot dot dot? SISWA: Ya. JASON Hirschhorn: No. Jadi sebenarnya Ingat saya ls -l? Jika saya melakukan sesuatu yang lain, saya bisa ls -a. Jadi apa ini, dapat dikatakan -a menunjukkan Anda semua. Jadi ia memperlihatkan kepada Anda hal-hal yang tersembunyi dan hal-hal yang tidak tersembunyi. Jadi jika Anda melihat bahwa ketika aku hanya ls, saya hanya melihat hal-hal itu, hal-hal yang saya buat. Jika saya melakukannya -a, itu akan untuk menunjukkan segala sesuatu. Dan direktori sehingga saat ini, direktori di atasnya. Apakah itu masuk akal? Ya? SISWA: Tetapi mereka tidak sebenarnya dalam direktori. Direktori saat ini tidak dalam dirinya sendiri, jadi mengapa menunjukkan orang-orang dengan titik-titik di dalam? JASON Hirschhorn: Anda berarti itu seperti itu tidak dalam direktori. SISWA: Benar. Jadi kita memiliki daftar hal-hal yang berada di direktori. JASON Hirschhorn: saya pikir itu adalah dalam direktori. Seperti -a menunjukkan segalanya, bahkan jika itu tersembunyi di dalam direktori. Jadi saya pikir itu hanya rute ke direktori saat ini jika itu masuk akal. Ini adalah rekursif kecil. Ini seperti Inception. Ada apa? SISWA: Jadi Anda berkata menunjukkan -a [tidak terdengar]? JASON Hirschhorn: -a, ya. SISWA: Apa yang membuatnya [tak terdengar]? JASON Hirschhorn: Yah, misalnya, mari kita kembali ke atas. Ini biasanya hal-hal Anda tidak harus berantakan dengan dan Anda tidak perlu khawatir tentang. Jadi ini adalah jenis rumah. Jika saya melakukan -a, saya mendapatkan banyak hal. Semua hal. Dan Anda tidak perlu berantakan dengan hal itu. Pasti tidak akan mulai di sini dan hanya menghapus hal-hal. [Tertawa] Ya, ini adalah sedikit lebih hal yang nyaman, tapi ada baiknya untuk mengetahui. Saya pikir itu baik untuk tahu. Tapi jika Anda tidak pernah ingin mengetik -a dalam keseluruhan kursus ini, lupakan saja. Ada apa? SISWA: Apa yang dimaksud dengan ls -l? JASON Hirschhorn: Bahwa menunjukkan izin. Pada dasarnya Anda menggunakan untuk izin, jadi l. Ini menunjukkan bahwa Anda sedikit bit informasi lebih lanjut, tapi sekali lagi, ini sedikit sedikit hal-hal yang lebih nyaman. Ini hanya izin. Jadi hak akses dari folder. Jadi hanya untuk contoh, katakanlah saya membuat folder, sehingga d merupakan direktori. Jadi mereka adalah direktori. Dan kemudian membaca, menulis, mengeksekusi. Jadi mereka adalah izin untuk Saya pikir user, grup, dunia. Benar-benar akan terlalu jauh. Kau akan pergi dalam hal ini seperti minggu dari sekarang, tapi hanya jadi Anda tahu, mereka adalah izin. Ada apa? SISWA: Dapatkah Anda jelas bukan hanya melompat ke hal berikutnya, dapat you-- JASON Hirschhorn: Anda berarti benar-benar menghapus? Saya tidak tahu. Saya tidak pernah melakukan itu. Mengapa Anda ingin melakukan itu? Mengapa Anda melakukan itu? Saya menyukainya. Anda tinggal di tepi. Kau seperti aku tidak ingin semua ini. Itu intens. SISWA: [tak terdengar]. JASON Hirschhorn: Ya, kita bisa melakukan itu. Maaf, bermain-main dengan ukurannya benar-benar membuatku takut sekarang. Mari kita naik. Ya, jadi sekarang saya tidak bisa naik lagi. Jadi semua yang saya ajarkan Anda hilang selamanya. Terima kasih. Kami membuat direktori kami. Kami membuat file kita dan hal-hal seperti itu, jadi kita masih memiliki semua itu. OK, aku akan pergi cepat. Jadi cepat. Jadi katakanlah saya di mengagumkan. Katakanlah saya ingin pindah segala sesuatu ke direktori baru karena saya hanya ingin untuk mengatur itu, kan? Jadi bagaimana saya akan melakukannya. Pindahkan. Kita akan menggunakan langkah lagi. Jadi pindah hi.c. Dan apa yang dapat Anda lakukan adalah Anda mulai daftar barang, dan hal terakhir yang Anda daftar adalah di mana itu akan memindahkannya. Jadi memindahkan hi.c, hi newhi newhi.c, hi_dir. Dan jadi pindah semuanya ke dalam hal terakhir yang Anda sebutkan. Jadi kemudian mengubah direktori, ls hi_dir. Semuanya ada di sana. Sehingga sangat bagus dan lebih terorganisir. OK, katakanlah saya benci saya asli Program hi. Saya ingin menyingkirkannya. Bagaimana cara menyingkirkan itu? Ada apa? SISWA: [tak terdengar]. JASON Hirschhorn: Katakanlah saya hanya ingin menghapus program, jadi hanya hi. Tidak, kau benar. Jadi itu rm, tetapi Anda rm hi. Ini akan memberi Anda sedikit peringatan. Ini akan mengatakan apakah Anda yakin Anda ingin menghapus ini, dan ya saya lakukan. Jika Anda tidak ingin diminta seperti itu karena Anda tidak punya waktu untuk peringatan, hapus -f. Ini adalah bendera lain. Ini seperti l tersebut. Ini seperti -a. Ini hanya bendera yang Anda memberikan perintah ini. Jadi menghapus -f. -f f berarti kekuatan. Jadi memaksa. Saya tidak ingin diminta. Jadi menghapus -f. Mari kita lakukan hi.c. Hanya menyingkirkan itu. Itu tidak memberitahu saya. Tapi katakanlah bukan aku dilakukan dengan direktori ini. Saya ingin menyingkirkan direktori. Jadi saya menghapus hi_dir. Tidak, itu tidak berhasil. Tidak, sehingga tidak akan membiarkan saya menghapus direktori. Apakah ada yang punya ide? SISWA: Apakah menghapus dir? JASON Hirschhorn: Jadi menghapus seperti ini? SISWA: No. Hanya [tidak terdengar]. JASON Hirschhorn: Tidak, sekarang tidak ada hi. Hanya ada hi_dir. Jadi, ini adalah direktori. Jadi sebenarnya apa yang ingin Anda lakukan is-- oh, apakah Anda punya ide? Saya melihat seperti setengah tangan. SISWA: [tak terdengar]. JASON Hirschhorn: OK. SISWA: [tak terdengar]. JASON Hirschhorn: OK. Jadi jika saya ingin menghapus direktori, menghapus r. Itu rekursif. Jadi menghapus direktori rekursif. Jadi aku ingin kau masuk ke direktori tersebut, menghapus segala sesuatu dalam direktori, dan kemudian menyingkirkan direktori. Dan kemudian aku akan f juga, karena saya tidak ingin meminta saya dengan peringatan setelah menghapus setiap file. Jadi menghapus hi_dir rf. Boom, itu akan hilang. Hanya berhati-hati di mana Anda menggunakannya. Aku akan menggunakannya di sini juga. rf mengagumkan. Itu akan hilang. Hati-hati di mana Anda menggunakannya. Jika Anda menggunakan itu di sini dan ketik sesuatu seperti ini, jangan pernah melakukan itu. Yang akan menghapus segala sesuatu pada Anda alat tanpa pernah peringatan Anda. Dan saya sudah melakukan itu. Masalah Grading set pada 4:00 AM, saya mencoba menghilangkan masalah direktori set, dan saya melakukan ini. Dan aku seperti oh my god. Jangan do-- Aku mencoba untuk membatalkannya. Anda dapat membatalkan. Command C hanya membatalkan semuanya, tapi aku sudah dihapus seperti 75%. Jadi aku hancur itu. Dan orang-orang melakukan itu. Semua orang melakukan hal ini. Jangan lakukan ini meskipun semester ini. Itu menyebalkan. Aku gugup memilikinya di sini. Aku akan menghapusnya. [Tertawa] Dapatkah Anda bayangkan? OK, pertanyaan. Ya? SISWA: Jadi jika kita melakukan segala sesuatu Anda lakukan di sini, apakah ini sama sebagai hanya akan menjadi benar-benar mengajukan save as [tak terdengar]. JASON Hirschhorn: Oh, Anda berarti melalui gedit. SISWA: Ya. JASON Hirschhorn: Yeah itu. gedit berguna. Jadi gedit sangat berguna. Di kelas ini, Anda dapat melakukan banyak hal melalui gedit. Anda dapat menyimpan. Anda dapat mengubah nama. Anda dapat memindahkan file dan hal-hal seperti itu, tapi hanya jujur ​​ketika Anda pergi ke 50-- baik Anda berada di 50-- 51, jika Anda pergi ke 61, ini akan menjadi hidup Anda. Ini adalah baris perintah. Ini adalah di mana Anda akan memprogram untuk sisa hidup Anda, jadi pasti menggunakan gedit jika Anda ingin. Pasti cara yang baik untuk memulai. Untuk masalah pertama set, pasti digunakan, tapi setiap sekali-sekali mencoba untuk mendapatkan lebih banyak digunakan lebih nyaman dengan argumen baris perintah. Tapi Anda bisa, pasti. Ada apa? SISWA: Jadi ketika kita ingin menghapus salah satu file yang kami buat, ada dua cara. [Tak terdengar]. Apakah ada cara ketika Anda menghapus direktori untuk meminta konfirmasi sehingga Anda tidak berakhir menghapusnya? JASON Hirschhorn: rm-r. Jadi jangan memaksa. Jadi rm-r. Ini akan pergi melalui rekursif, menghapus segala sesuatu, meminta Anda setelah semua, yang akan membuat Anda gila. Seperti saya hampir secara eksklusif melakukan rm -f dan rm-rf, hanya terus-menerus. Aku seperti saya tidak punya waktu. Aku orang yang sibuk. Baiklah, ada apa? Ya. SISWA: Apakah ada undo, atau tong sampah, atau sesuatu seperti itu? JASON Hirschhorn: No. [Tertawa] Aku bisa kembali dan mendapatkan saya alat yang saya hanya dihapus, tidak ada. Tidak, tidak, tidak. Jika Anda melakukan rm, itu harus pergi. Ada apa? SISWA: Jadi Anda bisa [Tak terdengar] bersama-sama. JASON Hirschhorn: Ya, begitu saja. Jadi misalnya, Anda melihat rm-rf. Katakanlah saya ingin melakukan ls -la, itu menunjukkan saya segala sesuatu, bahkan yang tersembunyi hal dengan izin mereka. SISWA: Jadi r -r bendera, jika kita tidak memiliki itu, kita tidak bisa menghapus direktori, kan? JASON Hirschhorn: Benar. SISWA: Jadi yang mengatakan bahwa kita ingin untuk melakukan sesuatu dengan direktori? Apakah itu apa artinya? JASON Hirschhorn: r berarti rekursif. Jadi direktori akan memiliki file di dalamnya, kan? Jadi apa yang ingin Anda lakukan adalah Anda ingin masuk ke direktori tersebut, menghapus semuanya, semua file dalam direktori tersebut, kemudian pop keluar dan menghapus direktori yang sebenarnya. Jadi -r berarti recursive, melakukannya semua rekursif jika itu masuk akal. Ya. SISWA: Jadi direktori memiliki [Tak terdengar] dan hanya menghapusnya. Atau apakah Anda still-- JASON Hirschhorn: Mari kita coba. Jadi mkdir kosong. Hapus kosong. Nomor SISWA: Tidak, sehingga Anda masih perlu the-- JASON Hirschhorn: Ya, selalu. Jadi -r, rf, kosong. Mengagumkan. Pertanyaan lagi? Saya pikir itu adalah kecelakaan Anda Tentu saja pada baris perintah hal. Ada pertanyaan, karena kita akan melompat ke tipe data, dan loop, dan semua itu? Ada apa? SISWA: Saya tidak punya CS50 menunjukkan sebagai salah satu direktori saya. Apakah itu normal? JASON Hirschhorn: Oh, ya. Itu milikku. Ya, di situlah saya solusi untuk barang-barang Anda. [Tertawa] Jadi ya, itu benar-benar normal. Saya pikir mungkin Anda akan hanya memiliki empat ini. Saya berpikir bahwa mungkin menjadi normal. Ya. OK, pertanyaan lagi? Saya tahu bahwa adalah super cepat. Ada apa? SISWA: Aku melihat warna hijau biru. Apa itu? JASON Hirschhorn: Itu berarti direktori. SISWA: Dan biru ini? JASON Hirschhorn: Oh, Anda berarti hijau biru ini? SISWA: No. JASON Hirschhorn: hijau biru ini? SISWA: No. Bila Anda listed-- JASON Hirschhorn: Oh. Seperti ini? SISWA: Ya, ikon. JASON Hirschhorn: Oh, ini. Saya tidak tahu. Apa artinya? Jadi tampaknya menunjuk ke sebuah direktori. SISWA: Hampir tampak seperti sebuah alias. JASON Hirschhorn: Mungkin. Anda tidak perlu tahu itu. Pertanyaan lagi? Mengagumkan. Jika Anda memiliki pertanyaan, Aku tahu itu banyak. Banyak informasi ini akan online. Aku akan menaruhnya online untuk kalian. Bagian B akan online juga. Atau jika Anda memiliki pertanyaan, hanya datang dan bertanya kepada saya. Di sini Anda pergi. Jadi sekarang Sharon dan Hannah akan membahas beberapa dari logika di balik masalah menetapkan satu. SHARON: Oh my god. Masalah. HANNAH: Sementara itu, aku Hanna. Ini adalah Sharon. Kami berdua CS50 TF, dan kita akan memberikan intro kecil pada beberapa penting hal-hal untuk permasalahan yang satu. Semuanya dari tipe data untuk conditional ke untuk loop. Loop pada umumnya. SHARON: Dan pada akhirnya, kita akan kita lihat P menetapkan satu, dan apa yang Anda harus tahu untuk itu. Jadi mari kita mulai dengan jenis data. Kalian harus akrab dengan orang-orang yang disorot dengan warna biru. Jadi kita bisa mulai dengan int. int adalah bilangan bulat, jadi satu, dua, tiga, empat. mengapung, poin mengambang. Seperti bilangan bulat dengan desimal, jadi 5,2 atau bahkan 5,0. Karakter adalah karakter seperti A, B, C. Dan string, kalian semua tahu. Seperti CS50 atau Halo dan dunia. Bool adalah Boolean, jadi kita harus benar dan salah sebagai Boolean kami. Jadi jika sesuatu menghitung untuk truth-- 5 sama dengan 5, yang menghitung dengan benar, dan jika kita memiliki 5 sama dengan 4, yang palsu, sehingga menghitung ke false. Dan di sini kita telah terkait ukuran semua jenis data ini. Dan Anda harus tahu ini untuk kuis Anda, jadi ini mungkin bisa membantu untuk ingat, tapi kami akan posting ini. Sebenarnya mereka sudah diposting. Jadi, Anda harus akrab dengan yang disorot dengan warna biru. JASON Hirschhorn: Nyata cepat, hanya dalam kasus Anda ingin tahu perbedaan antara char dan string. Jadi, ketika Anda sedang menulis hal-hal, setiap kali Anda memiliki sesuatu seperti "hai," yang akan menjadi string. Jadi jika ada dua kutipan, itu string. Tapi kalau saya ke "h" seperti itu, itu string. Tetapi jika aku hanya memiliki satu kutipan, itu char. Dan jadi apa perbedaan Anda mungkin bertanya. Nah, perbedaannya adalah ini adalah salah satu byte memori. Ini adalah 4 byte memori. SHARON: mengapung? Jelaskan lagi? OK, itu jenis seperti nomor yang memiliki titik desimal dengan itu, jadi 5,2 atau bahkan 5.0 adalah float versus hanya 5 adalah int. SISWA: [tak terdengar]. SHARON: Oh, itu dapat memiliki banyak poin desimal, sehingga 5,675-3,1415. Ya? SISWA: Apakah kita perlu tahu semua ukuran untuk ini? SHARON: Ya. SISWA: [tak terdengar]. SHARON: Anda jangan khawatir tentang yang putih dulu. HANNAH: Catatan tersebut diposting di CS50.net/sections. SISWA: Hanya keluar dari rasa ingin tahu, apakah ada utilitas untuk mengetahui ukuran file Anda memanggil sehingga kita harus tahu itu? SHARON: Jadi ini adalah tipe data, tapi ya. Jadi dalam hal ini, mana yang akan mengambil lebih banyak memori atau lebih banyak ruang? JASON Hirschhorn: Jadi untuk contoh konkret, Saya pikir masalah di set empat atau lima, kami akan memberi Anda banyak yang data, dan pada dasarnya anda harus melintasi data tersebut. Jadi itu berguna untuk mengetahui bahwa jika Anda memiliki begitu banyak bilangan bulat, itu akan menjadi apa. Jadi, bila saya memberi Anda sepuluh bilangan bulat, apa ukuran itu? SISWA: 40. JASON Hirschhorn: 40 byte, benar. Jadi Anda mungkin perlu tahu bahwa OK, saya harus melompat 40 byte. Jadi katakanlah bukan itu 40 karakter, then-- katakanlah saya memberi Anda 10 karakter, maka Anda tahu, OK, saya hanya harus melompat 10 byte. Jadi itu sangat berguna untuk mengetahui ukuran tipe data yang sebenarnya, karena banyak kali Anda akan akan melompat-lompat data, sehingga Anda perlu tahu seberapa jauh untuk melompat. SISWA: Apa bedanya antara tanda kutip dan satu kutipan? JASON Hirschhorn: OK, dua kutipan adalah string. Salah satu kutipan adalah char. SISWA: Seperti operasional, apa bedanya? Mereka berdua menyapa. JASON Hirschhorn: Oh, maaf. Ini hanya h. Maaf, ini tidak jelas. SISWA: Jadi atas satu-- JASON Hirschhorn: Ini adalah string, ya. Jadi itu dua karakter, kan? String, hi. Tapi katakanlah saya hanya memiliki satu karakter, jika saya menempatkan dua tanda kutip hanya h, itu string. Ini adalah string h. Apakah itu masuk akal? Jadi ini adalah empat byte. Tapi katakanlah saya menyingkirkan dari yang hanya menempatkan satu. Satu kutipan. Sekarang ini adalah char, char h. Jadi hal yang sama persis, berbeda tipe data. Ini hanya satu byte, sedangkan string adalah empat byte. Ya. SISWA: Jadi, jika Anda mencoba untuk menyimpan kata seperti David, Anda akan ingin menggunakan string karena terlepas dari berapa lama string adalah, itu hanya akan mengambil empat byte kecuali jika itu adalah lama atau ganda, di mana case-- sehingga jika melampaui empat karakter, maka Anda ingin membuatnya ke dalam string. Apakah itu logika umum di belakang. JASON Hirschhorn: Jika meluas lebih dari satu karakter, itu string. SISWA: Jadi tidak ada [tidak terdengar] untuk menyimpan empat huruf kata sebagai empat individu atau tiga huruf kata sebagai tiga karakter individu karena itu hanya akan ada tiga byte, yang bertentangan dengan tiga bagian tali. JASON Hirschhorn: Anda bisa melakukan itu. Anda bisa melakukan itu, tapi aku tidak pikir itu benar-benar berharga, karena Anda hanya menyimpan satu byte. Kau tahu apa yang saya katakan? Dalam skema besar hal, yang tidak akan benar-benar penting. Tapi misalnya, printf, jika Anda mencetak f dan Anda memiliki tiga karakter Anda dapat mencetak yang out-- katakanlah Anda C-A-T, Anda dapat mencetak kucing hanya dengan melakukan satu char satu char satu char, atau Anda dapat mencetak tali kucing. Ini hal yang sama persis. Jadi Anda bisa melakukannya seperti itu, tapi-- SISWA: Ini tidak akan untuk menghemat banyak. JASON Hirschhorn: Ya. Sakit kepala yang akan menginduksi tidak layak. Ya? SISWA: Sebagai contoh, Anda memiliki h dengan satu dibandingkan dua, tanda kutip tunggal atau ganda. Mengapa Anda ingin menyimpan satu huruf sebagai string. Apa tujuan yang pernah melayani? JASON Hirschhorn: Saya tidak tahu. Maksudku, itu benar-benar tergantung pada program. Sebagai contoh, saya pikir nanti Anda akan masuk ke baris perintah hal. Jadi misalnya, bukan aku meminta Anda untuk integer-- maaf, dapat saya berbicara ke dalam diri Anda? HANNAH: Ya. JASON Hirschhorn: Jadi misalnya, bukan saya meminta sesuatu dengan mendapatkan akhir, yang Saya pikir Anda mungkin telah melihat ceramah, mungkin ada baris perintah. Anda cukup ketik dalam pada baris perintah. Ini akan seperti - / hello4 atau sesuatu, atau helloh h, apa pun. Anda melakukannya pada baris perintah bukannya diminta untuk itu, bahwa baris perintah selalu String, apakah itu empat atau h, yang selalu string. Jadi itulah salah satu contoh ketika Anda mungkin memiliki surat tunggal atau tunggal jumlah direpresentasikan sebagai string. SHARON: Baiklah. Dan maka di sini adalah beberapa operator dasar. Mudah-mudahan Anda akrab dengan empat pertama hanya secara umum. Jadi ada yang menambah, mengurangi, mengalikan, membagi dan, dan pastikan Anda menggunakan keystrokes tepat. Dan kemudian ada juga Modulo, yang beberapa Anda mungkin tidak sangat akrab dengan. Dan apa modulo dilakukan adalah bahwa jika kita mengambil contoh ini 4% 2, dibutuhkan sisa apa yang tidak di divisi. Jadi 4 dibagi 2 adalah 2, dan tidak ada sisa. 4 bagi dengan 3 adalah 1 dan 1/3, dan sisanya 1. Jadi menghitung satu. Dan kemudian 4% 5 adalah fraksi 4/5, dan sisanya adalah 4. Apakah itu masuk akal? OK, keren. Dan kita mengikuti Pemdas di sini juga. Jadi beberapa ekspresi Boolean. Jadi kalian telah melihat sama equals untuk membandingkan, katakanlah, dua nomor. Jadi jika 5 sama dengan sama dengan 5, yang menghitung dengan benar. Pastikan Anda hanya memiliki satu tanda sama dengan. Karena tidak equals, itu Bang atau tanda seru. HANNAH: Dua tanda yang sama ketika Anda melakukan kesetaraan. SHARON: Oh, ya. Pastikan Anda tidak melakukan memiliki satu tanda sama dengan. Dan kemudian karena tidak equals, itu bang sama. Dan kemudian Anda bisa melihat melalui kurang dari, lebih besar dari. Dan kemudian kita harus logis dan dan logis atau di sini. Dan apa yang dilakukan adalah, jika Anda ingat di Scratch ketika Anda memiliki blok yang yang mengatakan dan, dan kemudian Anda bisa muat dua bagian yang berbeda ada, itulah yang ini dan melakukan. Dan pastikan Anda melakukan dua ampersands. Dan tombol ini Anda dapat menemukan arah benar, tepat di bawah tombol Delete Anda. Pertanyaan? SISWA: Apa [tidak terdengar]? SHARON: OK, jadi jika Anda hanya melakukan satu, Anda membandingkan bit. Jadi, jika Anda ingat apa bit adalah, mereka 0 dan 1, dan sebagainya yang membandingkan sesuatu yang lain. Jadi kita akan fokus pada ini untuk saat ini. JASON Hirschhorn: Jadi satu sama dengan seperti tugas, kan? Jadi seperti int x sama dengan 4. Anda mengatakan bahwa variabel x sama dengan 4. Jadi 1 sama adalah tugas, tapi ands dan pipa atau bar, seperti Sharon mengatakan, mereka operator bitwise. Anda tidak perlu khawatir tentang itu. SISWA: Kapan Anda menggunakan logis dan dan logis atau lagi? Aku hanya lupa ketika Anda melakukan itu. HANNAH: Tentu, jadi jika Anda pernah ingin untuk memeriksa apakah dua hal yang benar, misalnya, katakanlah saya ingin memeriksa bahwa angka adalah antara 5 dan 15, Aku akan mengatakan pastikan bahwa jumlah ini lebih besar dari 5. Jadi katakanlah jika x lebih besar dari 5 dan kurang dari 15. Jadi agar seluruh yang pernyataan untuk mengevaluasi dengan benar, Anda perlu kedua jenis sub laporan untuk mengevaluasi benar. Dengan atau Anda hanya perlu salah satu dari dua atau keduanya. SISWA: Great, terima kasih. SHARON: Dan juga di Scratch, aku yakin dalam banyak proyek Anda Anda harus jika menyentuh tepi atau jika menyentuh sprite lain kemudian mental atau sesuatu. HANNAH: Baiklah, jadi mengapa kita peduli semua Booleans ini? Kami memiliki struktur ini bahwa Anda telah terlihat dalam Scratch disebut conditional. Dan conditional adalah sesuatu yang terbentuk jika beberapa kondisi atau Boolean benar, kemudian melakukan kode antara kurung kurawal. Sehingga Anda dapat melihat di sebelah kanan di sini adalah blok Scratch. Anda memiliki ini jika saat itu, dan apa pun yang masuk ke dalam bentuk kecil yang Sepertinya saya this-- tidak tahu apa yang Anda lebih panggilan itu-- yang akan menjadi Boolean atau kondisi. Jadi sekali lagi, Boolean atau Kondisi sesuatu bahwa baik mengevaluasi benar atau salah. Dan lagi, Anda dapat menggabungkan Booleans. Anda dapat memiliki, sekali lagi, x lebih besar dari 5 dan x kurang dari 15. Atau Anda hanya dapat memiliki satu mereka x kurang dari 5. OK, jadi di C Itu di sebelah kiri. Hanya saja kata kunci jika. Dalam kurung, Kondisi atau Boolean. Dan kemudian kode di antara dua kurung kurawal hanya akan mengeksekusi, hanya akan berjalan jika bahwa kondisi atau Boolean itu benar. Apakah itu masuk akal? Mengagumkan. OK. Dan kemudian karena Anda mungkin telah melihat di Scratch, kami juga dapat menambahkan pada lain, yang pada dasarnya adalah apa-apa antara kurung kurawal di bawah yang lain hanya akan mengeksekusi jika kondisi salah. Masuk akal? Pertanyaan kedua? Mengagumkan. Keren. Jadi, inilah contoh cepat. Katakanlah kita ingin menentukan, berdasarkan waktu, apakah kita harus mengucapkan selamat pagi atau malam yang baik. Aku akan mengatakan jika itu sebelum pukul 12:00 siang, kita akan mengatakan selamat pagi, kalau tidak kita akan untuk mengatakan selamat malam. Dan ketika saya mengatakan bahwa jika tidak, yang setara dalam C untuk yang lain ini. Jadi kita akan memeriksa apakah waktu militer kurang dari 0:00, mengucapkan selamat pagi. Jika tidak mengatakan selamat malam. SISWA: Jadi kita akan benar-benar mendapatkan masukan yang untuk waktu militer dengan mendapatkan tali. HANNAH: Benar. Apakah Tempat lain kita lebih benar harus menyediakan informasi tersebut. Di sini tidak memiliki nilai. Kami bahkan tidak pernah menyatakan hal itu. Saya berasumsi bahwa di suatu tempat di atas Program ini saya menyatakan waktu, atau meminta waktu, or-- apa pun dengan contoh ini? Mengagumkan. OK, sekarang kita memiliki selain itu sederhana jika format lain, kita memiliki dua struktur yang berbeda lainnya. Jadi pertama kita memiliki saklar pernyataan, dan inilah bentuk umum dari pernyataan switch. Anda memiliki kata kunci beralih cara yang sama Anda memiliki kata kunci jika. Dan kemudian input, dalam hal ini n. Jadi ini hanya dapat bekerja dengan bilangan bulat. Jadi masukan yang n memiliki menjadi integer, OK? Dan kita akan mengikuti salah satu dari kasus-kasus ini tergantung pada apa yang nilai n adalah. Jadi dalam hal ini, Anda harus terlebih bandingkan adalah n sama dengan konstan satu, jika sudah, melakukan segala sesuatu jenis indentasi di sini. Saya dapat menunjukkan hal itu karena aku terlalu pendek. Jika tidak sama dengan konstan satu dan bukannya sama dengan konstan dua, kita akan mengikuti blok kedua, dan kita dapat melakukan ini untuk sebanyak seperti yang kita inginkan, dan kemudian standar yaitu jika itu tidak dapat ditemukan pada kasus di atas, mengeksekusi kode tersebut. Setiap pertanyaan di sini? Yang satu ini sedikit lebih rumit. Ya? SISWA: Istirahat menandakan apa? HANNAH: Tentu, jadi setelah kita masukkan blok itu, jika kita menemukan, katakanlah, n kami sebenarnya sama dengan konstan satu, kita memasuki blok bahwa setelah usus besar. Kami melakukan apa yang ada di bahwa garis berkomentar, dan kemudian kita istirahat, berarti kita keluar dari pernyataan switch ini sepenuhnya. SISWA: OK. HANNAH: Mm-hm? SISWA: Apakah lekukan diperlukan, atau apakah Anda perlu [tak terdengar]? HANNAH: Tentu. Jadi, seperti biasa, lekukan tidak benar-benar diperlukan. Komputer tidak peduli apakah Anda indent. Kami, sebagai orang yang membaca kode Anda, lakukan perawatan. Jadi itu jauh lebih mudah untuk melihat ke layar dan lihat, oh, saya tahu persis apa terjadi ketika n adalah sama dengan konstan satu. Jika aku punya indentasi acak, saya tidak akan bisa mengatakan begitu mudah. Ya? SISWA: Jadi, jika ingin user untuk memilih salah satu pilihan yang kami memiliki daftar, akan kita gunakan, saya kira, [tak terdengar], tapi mendapatkan bilangan bulat dari mereka dan memasukkan ke n? HANNAH: Persis benar. Jadi katakanlah kita ingin untuk memeriksa apa integer. Kami berkata oh, masukkan integer antara 0 dan 5, katakanlah. Kita bisa meminta untuk itu n, meminta nilai tersebut, dan kemudian memiliki masing-masing kasus. Dan sekali lagi, ini adalah sesuatu yang kita bisa sangat mudah dilakukan dengan jika pernyataan, kan? Kita bisa memiliki jika sama dengan huruf satu, jika sama dengan huruf dua, jika sama dengan huruf tiga, seterusnya dan sebagainya. Ini adalah sedikit lebih cepat dan sedikit lebih bersih. Ini adalah jenis hanya struktur yang bagus sekarang. SISWA: Lebih cepat seperti dalam menulis? Atau apakah itu menjalankan komputer sedikit lebih cepat? HANNAH: Ini berjalan sedikit lebih cepat. Ya? SISWA: Jadi ganda dasbor hanya komentar or-- HANNAH: Oh, aku sangat menyesal. Aku tidak menunjukkan bahwa. OK, jika Anda memiliki // itu, adalah komentar. Hanya // adalah komentar. Jadi setiap kali komputer melihat bahwa, itu akan mengatakan OK, semua yang berhubungan ini, aku hanya akan mengabaikan. Aku akan berpura-pura Anda bahkan tidak pernah menulis bahwa. SISWA: Jadi ini [tak terdengar]. HANNAH: Ini tidak apa-apa. Tapi kalau saya menulis sesuatu seperti pada Komentar pertama saya menulis bukan printf mengucapkan selamat Anda masukkan konstan satu, yang akan menjadi sesuatu. Ya? SISWA: Jadi dalam kehidupan nyata, hal ini hanya akan hanya berupa angka dan kemudian [tidak terdengar] akan bilangan bulat lain. HANNAH: Tepat. SISWA: Dan apakah Anda memerlukan elips? HANNAH: Maaf? SISWA: Apakah Anda membutuhkan? HANNAH: Oh, tidak. Maafkan aku. Itu hanya untuk menunjukkan bahwa Anda dapat berlangsung selama karena banyak kasus yang Anda inginkan. Mari kita lakukan contoh konkret bahwa mungkin membuat sesuatu yang sedikit lebih jelas. OK, jadi mari kita katakan saya katakan, OK, beri aku integer n yang mewakili nomor kelas, khususnya kelas ilmu komputer nomor. Jadi jika Anda memberi saya 50, Aku akan mengatakan besar. CS50 merupakan pengantar untuk komputer ilmu pengetahuan, dan kemudian aku akan istirahat. Jadi itu berarti aku melompat keluar dari ini pernyataan seluruh switch, jadi sekarang saya sudah selesai menjalankan kode, OK? Jika Anda memberi saya bukan 51, saya akan mencetak pernyataan kedua. Dan kemudian jika Anda memberi saya beberapa jumlah yang tidak 50 atau 51, Aku akan mengatakan maaf, aku tidak akrab dengan kelas itu. Ya? SISWA: Anda tidak perlu istirahat. HANNAH: Maaf, saya tidak punya istirahat? SISWA: Bagaimana jika. HANNAH: Oh, bagaimana jika Anda tidak memiliki istirahat? Pertanyaan yang sangat bagus. Jadi apa yang akan terjadi adalah Anda akan masuk, dan Anda akan memeriksa am I sebesar 50? Dan katakanlah, ya, kau sama 50, Anda akan mencetak pernyataan itu. Dan kemudian Anda akan terus mengeksekusi, sehingga Anda akan mengatakan aku sama ke 51? Dan Anda akan pergi dan pergi melalui setiap kasus seperti itu? Ya? SISWA: Apakah garis standar analog dengan mengatakan lain? HANNAH: Tepat. Sangat bagus. Ini seperti jenis tangkapan semua. SISWA: Jadi, jika Anda tidak memiliki istirahat dan kemudian salah satu pernyataan kasus benar, dan kemudian mengatakan kenaikan n dengan 1, maka akan secara otomatis membuat yang berikutnya. Ini akan memeriksa kasus 51, dan kemudian menampilkan itu juga? HANNAH: Ya, saya pikir itu akan bekerja. Jadi Anda bisa mendapatkan semacam berantakan, jadi istirahat adalah hal yang baik untuk memiliki. Ya? SISWA: Tanpa istirahat yang akan ia lakukan default? HANNAH: Itu adalah pertanyaan yang bagus. JASON Hirschhorn: Saya pikir itu hanya berjalan. Jadi, jika Anda tidak memiliki break-- jadi katakanlah saya lakukan 50 dan diperiksa 50, dan itu akan mencetak yang keluar. Cetak CS50 sebagai pengantar untuk ilmu komputer. Anda tidak memiliki istirahat, harus pergi dan terus berjalan sampai hits istirahat. Jadi jika tidak ada istirahat, itu akan terus berjalan. Ini akan mencetak segala sesuatu yang lain keluar. HANNAH: Jadi saya rasa itu akan menjadi termasuk default. JASON Hirschhorn: Ya. HANNAH: Pertanyaan yang bagus. Ya? SISWA: Apakah kasus dianggap fungsi? HANNAH: Maaf? SISWA: Apakah kasus dianggap fungsi? HANNAH: Apakah kasus dianggap fungsi. Saya ragu-ragu untuk mengatakan bahwa. JASON Hirschhorn: Jadi biasanya ketika Anda melihat fungsi mereka akan berada dalam kurung kurawal. Jadi misalnya, ketika Anda melihat kode Anda, misalnya, utama. Itu paren terbuka utama, kemudian batal, paren dekat. Functions-- mereka pada dasarnya selalu Anda akan melihat tanda kurung. Jadi kasus jika kasus tidak memiliki tanda kurung, itulah petunjuk Anda yang itu bukan fungsi. Tapi itu tidak. Ya? SISWA: Jadi apakah itu membuat beralih fungsi? HANNAH: Apakah itu merek beralih fungsi. SISWA: Dalam arti bahwa Anda memasukkan sesuatu ke dalam, memberikan Anda salah satu kasus. JASON Hirschhorn: Saya tidak akan menyebutnya fungsi. Tidak semuanya dengan parens adalah fungsi. Maksudku itu petunjuk bahwa itu adalah fungsi. Saya tidak akan mengatakan switch adalah Fungsi karena itu tidak benar-benar kembali apa-apa. Anda akan masuk ke dalam itu lagi. HANNAH: Ya, hanya berpikir itu sebagai jika struktur. SISWA: Dapatkah Anda sarang ini dalam jika struktur? HANNAH: Ya, Anda sarang apa pun cukup banyak. SISWA: Barry mengatakan tanda kutip adalah semacam seperti sama seperti yang lain. Jadi bisa Anda mengganti tanda kutip dengan yang lain? HANNAH: Tidak dalam hal ini khususnya struktur karena switch Pernyataan mengharapkan default kata. Komputer tahu default yang berarti sesuatu yang istimewa, yang berarti menangkap semua. Ada lagi tentang hal ini. Kami memiliki satu lagi untuk melewati. Ya? SISWA: [tak terdengar]. HANNAH: Perbedaan antara menggunakan koma dan titik dua. Jadi titik koma selalu untuk memberitahu komputer aku sudah selesai dengan baris ini. Anda dapat pergi ke depan dan jalankan. Ini adalah garis lengkap. Usus A akan, dalam kasus ini, membawa Anda ke dalam blok tertentu. Jadi titik koma adalah selalu gunakan untuk mengakhiri garis. Titik dua digunakan untuk berbagai kasus lainnya. SISWA: Apakah setara ini untuk hanya mengatakan jika n sama dengan 50, maka bla bla bla. HANNAH: Mm-hm. SISWA: Ini sama saja [tak terdengar]. HANNAH: Tepat. Dan kita mengatakan itu berjalan sedikit lebih cepat. Jika kita tidak memiliki istirahat, itu akan seperti jika, jika, jika. Jika kita memiliki istirahat, itu seperti jika lain jika lain jika lain jika. Keren? JASON Hirschhorn: Jadi, ketika coding, Anda hanya dapat menggunakan jika lain, tapi saya pikir tahun lalu pada kita kuis telah mereka menulis pernyataan switch, jadi hanya dalam kasus. HANNAH: Tapi yang pasti ada yang salah. Kami tidak mengharapkan Anda untuk khawatir hal-hal gila tentang kinerja. Hanya jika lain benar-benar baik-baik saja. Ini hanya baik hal yang harus diperhatikan. Dan inilah yang terakhir kami seperti itu jatuh di bawah kategori bersyarat ini. Kami memiliki sesuatu yang Kondisi bentuk umum?, dan kemudian sepotong kecil kode yang terjadi jika kondisi benar. Dan kemudian usus besar, sedikit potongan kode yang mengeksekusi jika kondisi adalah palsu, titik koma. Kami sudah selesai dengan garis itu. Jadi sintaksis itu sedikit jelek. Kita akan pergi melalui contoh saya pikir itu yang paling jelas. Jadi kita ingin menetapkan profesor String ke salah satu dari dua nilai, baik David Malan atau tidak David Malan, OK? Jadi, Anda harus akrab dengan string, profesor =. Kita akan menetapkan string dengan variabel yang disebut profesor. Sekarang kita ingin memeriksa kondisi tertentu. Dalam hal ini, kondisi kita adalah class_num = = 50. Dan sekarang mungkin waktu yang baik untuk menunjukkan ketika kita memiliki tali profesor =, Itu salah satu tanda sama dengan. Itu tugas. Sedangkan di class_num = = 50, itu dua tanda sama. Itu pemeriksaan kualitas. Jadi kita akan katakan adalah nomor kelas sama dengan 50? Jika demikian, menetapkan Profesor David Malan. Jika tidak, menetapkan profesor untuk tidak menggunduli David Malan. Ada pertanyaan di sana? Sekali lagi, ini hanya sesuatu itu bagus untuk tahu. Anda dapat melakukan ini dengan jika lain. Masalah praktik yang baik mungkin untuk saat Anda pulang, kan sama persis kondisional dalam if bentuk lain, karena Anda bisa melakukan itu. Setiap pertanyaan di sini? Baiklah, saya pikir kita akan pergi ke loop. Mengagumkan. SHARON: OK, mari kita bicara tentang sementara loops. Jadi pertama di sebelah kiri Anda lihat di sini- OK mengatakan sementara, sementara (kondisi). Dan kemudian Anda lakukan this-- bisa kita mengubah ini? JASON Hirschhorn: Ini dipotong. SHARON: OK, dan kemudian ada juga kurung kurawal. Jadi berpura-pura keriting yang kawat gigi yang ada di atas dan di bawah melakukan ini lagi dan lagi. Jadi jika kondisi pada mereka kurung bernilai true, maka Anda harus terus melakukan apa yang ada di loop sementara. Jadi misalnya, kita bisa melakukan masalah praktek. Aku memakai dua anting-anting sekarang, jadi katakanlah jika aku memakai setidaknya satu mendengar, bertepuk tangan. Jadi jika kita akan pergi melalui ini, kita going-- [Tepuk tangan] Benar? Dan aku memakai satu, dan-- OK. Ya. Aku tidak memakai anting-anting lagi, sehingga tidak ada lagi. OK, jadi maka saat itulah Anda akan berhenti. Dan ini bisa dibilang adalah setara dengan hampir variabel. Katakanlah Anda memiliki variabel jumlah anting-anting. Jadi sementara jumlah anting-anting besar dari atau sama dengan 1, bertepuk tangan. Dan kemudian setelah bertepuk tangan, anting-anting penurunan. Lakukan seperti anting-anting minus 1. Jadi pengurangan jumlah anting-anting, dan maka Anda akan pergi melalui loop sementara dua kali. Dan jika kondisi ini selalu true-- jadi jika, katakanlah, 2 = = 2, dan 2 selalu sama dengan 2, kan? Kemudian Anda akan selalu melakukan sesuatu di sana, dan itu setara dengan hampir selamanya loop yang kami punya di Scratch. Ya? SISWA: Apakah kedua belah pihak hanya cara penulisan loop sementara? SHARON: Jadi kami fokus yang satu ini dulu. Dan kemudian jadi mari kita bandingkan dengan do while. Jadi mereka sedikit berbeda. OK, jadi mari kita katakan kondisi masih sementara aku memakai setidaknya satu anting-anting, dan aku tidak memakai apapun anting sekarang. Dan katakanlah lakukan dan masih bertepuk sementara Aku mengenakan setidaknya satu anting-anting. Apa yang harus terjadi? [Bertepuk] Uh oh, guys. OK, jadi Anda seharusnya bertepuk sekali karena pada dasarnya Anda pergi melalui bagian pertama dari kode tersebut. Anda melakukannya tidak peduli apa, dan maka Anda melihat kondisi saat, dan Anda kembali ke loop yang jika itu benar. Apakah itu masuk akal? SISWA: Anda selalu melakukannya pertama kali. SHARON: Anda selalu melakukannya dengan pertama kali terlepas dari apakah atau tidak kondisi itu benar atau tidak. JASON Hirschhorn: Kapan Anda pikir Anda bisa menggunakan ini? Kapan masuk akal untuk menggunakan ini? HANNAH: Ya? SISWA: [tak terdengar]. JASON Hirschhorn: Benar. HANNAH: Sangat bagus. JASON Hirschhorn: Jadi ketika Anda meminta pengguna, Anda akan selalu ingin untuk meminta pengguna satu waktu. Anda akan selalu ingin untuk meminta pengguna satu waktu. Jadi, bukannya menempatkan dalam beberapa saat loop, Anda dimasukkan ke dalam melakukan while, karena kau selalu akan melakukannya satu kali. Jika mereka memberi Anda jawaban yang benar, Anda sudah selesai. Jika tidak, maka Anda kembali meminta-mereka. SHARON: Baiklah, untuk loop. Jadi dalam Scratch, kami memiliki blok ulangi. Jadi kami ingin mengulang sesuatu, katakanlah, tujuh kali. Jadi kita hanya mengatakan ulangi tujuh, dan mengatakan aku di sini untuk membantu Anda Putri Salju! Dalam C, kita memiliki untuk loop jika kita ingin pergi melalui sesuatu jumlah tertentu kali. Katakanlah jika kita menginisialisasi Kurcaci variabel dan membuat sure-- sehingga blok pertama di sana sebelum koma pertama, kita menginisialisasi variabel kami untuk, dan kita set ke 0. Dan variabel kami ada adalah bilangan bulat, int. Dan nama variabel adalah kurcaci, dan kami menetapkan kurcaci dengan 0. Dan bagian kedua antara dua titik koma adalah kondisi kita. Dan selama kurcaci kurang dari tujuh tahun, kami akan terus melalui ini untuk loop. Dan kemudian bagian terakhir adalah apa yang dilakukan kita lakukan pada akhir ini untuk loop? kurcaci ++, dan itu berarti kita kenaikan kurcaci per satu setiap kali. Jadi apa yang akan terjadi di sini? Jadi pertama kita akan pergi melalui. Kami memiliki kurcaci sebagai 0, dan kemudian kita akan untuk mencetak Aku di sini untuk membantu Anda Putri Salju! Dan kemudian kurcaci akan meningkat karena kita berkata kurcaci ++. Kurcaci akan menjadi 1. Dan kemudian kita compare-- kurcaci adalah 1. Kami membandingkannya dengan adalah kurcaci kurang dari 7? Ya. Aku akan pergi melalui ini lagi. Aku di sini untuk membantu Anda Putri Salju! Dan kemudian kurcaci menjadi 2, dan kemudian kita bandingkan. Adalah 2 kurang 7? Ya. Kami akan terus melalui. Dan kita akan pergi melalui ini tujuh kali. Jadi pada akhirnya, kita akan memiliki kurcaci = 0 print out saya di sini untuk membantu Anda Putri Salju! kurcaci sama dengan 1, 2, 3, 4, 5, dan 6. Ingat indeks kami pada 0. Jadi kita mulai dengan 0. Ya? SISWA: Jadi ini berbeda dari do karena ini tidak mencetak keluar awalnya pada awalnya. Jadi Anda bisa melanjutkan hal yang sama. Anda bisa melakukan ini juga dengan loop do? Seperti proses yang sama. Kondisi ini kurcaci kurang dari 7 atau apa pun. Tanggapan kurang dari 7. SHARON: Jadi Anda bisa secara teknis. Jadi jika kita kembali to-- berbicara Anda tentang while loop, kan? Jadi do while sedikit berbeda karena kami menjamin setidaknya setelah itu kita akan pergi melalui itu, sehingga perbedaan terbesar. Tapi dengan loop sementara kita bisa mengatakan sementara kurcaci kurang dari 7, melakukan hal ini, dan kemudian kenaikan kurcaci per satu. Dan kemudian kita harus menginisialisasi kurcaci sebelum pernyataan ini seluruh bahwa itu sama dengan 0. Jadi ya, kita bisa melakukan itu dengan itu. Mm-hm? SISWA: Bisakah Anda kembali ke [tak terdengar]? SHARON: Untuk lingkaran? SISWA: Ya, jadi dengan kurcaci ++, Sepertinya itulah yang Anda lakukan setelah Anda telah berlari beberapa cara lain. SHARON: Benar. SISWA: Bisakah Anda hanya tidak memiliki itu dan menempatkan itu-- SHARON: Anda bisa. STUDENT: Jadi [tak terdengar] setelah mencetak di baris berikutnya di bawahnya. SHARON: Ya, Anda bisa menaruhnya di sana. Tapi kemudian Anda akan hanya meninggalkan yang kosong. JASON Hirschhorn: Anda masih memerlukan titik koma sekalipun. SHARON: Ini terlihat sedikit canggung, tetapi Anda secara teknis bisa melakukan itu. Secara teknis. Harap tidak. Ya? SISWA: Apakah ada alternatif untuk ++? Apakah ada hal lain [tak terdengar]? SHARON: Secara teknis itu kurcaci. Satu tanda sama dengan kita akan untuk set ke kurcaci ditambah 1. Jadi secara teknis itu apa kurcaci ++ berarti. Apakah itu masuk akal? SISWA: Ya, tetapi ada alternatif? Seperti jika Anda ever-- SHARON: Ya, Anda bisa melakukan kurcaci - -. SISWA: [tak terdengar]. SHARON: Ya, Anda bisa melakukan sejumlah hal. HANNAH: Dan Anda bisa increment 2. Anda bisa increment 3. Apa pun yang akan berubah, pada akhirnya akan membuat kondisi. SISWA: Jadi, jika Anda ingin kenaikan dengan 2, bagaimana Anda akan menulis itu? HANNAH: Anda juga bisa menulis dwarves-- Anda bisa menulis semua ini keluar. kurcaci = kurcaci + 2. Atau sedikit steno. Aku hanya akan menulis + sama 2. SISWA: OK, dan Anda akan menulis bahwa tepat di mana kurcaci ++ ada. HANNAH: Tepat. SHARON: Benar. Ada pertanyaan lain? Ya? SISWA: [tak terdengar] kurcaci ++? SHARON: Jadi Anda don't-- JASON Hirschhorn: Ya, tidak perlu di sana. [Tak terdengar] paling akhir. Jadi Anda lakukan [tidak terdengar] yang karena Anda jenis berpisah inisialisasi, Kondisi, dan perubahan. Pada akhir, Anda tidak membutuhkannya. SHARON: Juga perhatikan Anda tidak perlu titik koma setelah seluruh seluruh untuk loop. SISWA: Bagaimana Anda akan mulai dengan jumlah awal negatif, misalnya? SHARON: Anda dapat initialize kurcaci sama ke negatif 2. SISWA: Apakah Anda hanya lari 2? SHARON: Ya, jadi tanda negatif, dasbor 2. SISWA: Apakah [tak terdengar] untuk menginisialisasi sebagai kurcaci [tak terdengar]? SHARON: Ya. Jadi jika kita hanya diinisialisasi kurcaci sebelumnya, hanya melakukan int koma kurcaci, dan kemudian ada yang bisa kita lakukan Kurcaci mengatur bahwa sama dengan 0. SISWA: Bisakah kita melakukannya pada awal program mengatakan int kurcaci = 0, dan kemudian hanya-- SHARON: Hanya tidak have-- begitu akan ada ruang lagi, tapi Anda masih perlu titik koma. Ya. Mm-hm? SISWA: Apakah kode ini mengatakan apa nilai kurcaci adalah sesudahnya. Jika Anda bertanya setelah semua ini adalah dilakukan untuk mencetak nilai kurcaci. SHARON: Anda bisa meminta untuk melakukan itu. SISWA: OK. SHARON: Tapi Anda akan harus meminta untuk melakukan itu. Ia tidak melakukannya untuk Anda. Aku takut untuk menempatkan anting-anting saya kembali. Lakukan pada akhir untuk tepuk tangan. Hanya bercanda. JASON Hirschhorn: Jadi itu sama. Jadi menginisialisasi di bagian atas. Syaratnya, cetak, perubahan. Jadi ini persis sama dengan bahwa jika setiap orang bisa melihat bahwa. SISWA: Mengapa Anda tidak memiliki titik koma pada baris pertama? SHARON: Dimana? SISWA: Setelah baris pertama. SHARON: Setelah 4 di kurung? Karena kita ingin pergi melaluinya ke loop ini. Dan jika Anda melihat pada loop dalam umum, mereka tidak memiliki titik koma. Hal ini tidak praktis. Apakah kita baik? Satu pertanyaan lagi, dua lagi. Ya? SISWA: Ini mungkin sedikit maju, tapi apakah kurcaci memiliki berbeda [tidak terdengar] dari variabel [tak terdengar]. SHARON: Sangat bagus. SISWA: [tak terdengar]. SHARON: Ya, itu. Apa? JASON Hirschhorn: Ya, jadi itu tidak. Jadi biasanya lingkup sesuatu yang di kurung kurawal. Jadi lingkup selalu akan berada di kurung kurawal, tapi itu tidak akan membuat banyak akal untuk untuk loop karena kita diinisialisasi kurcaci dalam kurung kurawal. Jadi biasanya lingkup kurcaci, yang variabel tidak akan memperpanjang masa lalu itu. Ini adalah kasus khusus meskipun. Jadi Anda menginisialisasi dalam mereka kurung, dan kemudian Anda memiliki ruang lingkup nanti. Kasus begitu istimewa. Mereka tidak harus memiliki itu, dan yang was-- Itu masuk akal? SISWA: No. JASON Hirschhorn: Aku bisa pergi lebih dari itu. Jadi apa yang Anda masih bingung tentang? SISWA: Seperti dalam dapat Anda gunakan dwarves-- Anda jelas dapat menggunakan kurcaci [tidak terdengar] luar formula juga? JASON Hirschhorn: Tidak, tidak. Jadi ruang lingkup hanya di dalam kurung kurawal untuk loop, ya. SHARON: Tetapi jika Anda menginisialisasi kurcaci di luar untuk loop, maka Anda dapat menggunakannya di tempat lain Ada satu pertanyaan lagi? Tidak ada? OK. Jadi kami berbicara sedikit tentang bersarang untuk loop atau conditional bersarang, jika pernyataan. Jadi di sini adalah contoh di mana kita bisa sarang untuk loop. Katakanlah kita mencetak tabel ini dari x ada di sini. Kita mungkin ingin to-- pertama jika kita hanya tidak melihat kode dan kami hanya berpikir tentang hal itu, kita ingin pergi melalui setiap baris dan mencetak setiap kolom, kan? Apakah itu masuk akal? OK. Jadi di sini kita akan melalui setiap baris untuk dasarnya setiap baris, dan ada tiga baris. Dan kemudian dalam setiap baris untuk setiap kolom, dan ada empat kolom, mencetak x. jadi. Ketika baris adalah 0 dan kolom adalah 0, kita mencetak x ini. Dan kemudian kita terus melalui kolom lingkaran. Row masih 0, tapi kolom adalah salah satu. Dan kemudian kolom 2, dan kemudian kolom 3. Dan kemudian kita keluar dari itu lingkaran karena maka kolom tidak lagi kurang dari 4. Dan kemudian kami cetak baris baru, dan kami pergi ke baris baru. Dan kemudian kami pergi melalui berikutnya baris, dan baris akan bertambah, dan kami pergi melalui itu lagi. Apakah itu masuk akal? Ya? SISWA: Jadi untuk sarang [tidak terdengar] adalah hanya menempatkan dalam untuk loop? SHARON: berarti Jadi bersarang yang kita memiliki untuk loop dalam untuk loop, seperti Inception. SISWA: Anda tidak perlu rotasi khusus atau sesuatu? Anda hanya menempel dengan benar di dalamnya? SHARON: Benar. Ya? SISWA: Mungkin [tidak terdengar], tapi sepertinya ada ruang ekstra antara semua x. Saya tidak tahu apakah that's-- Jika itu adalah untuk benar-benar melakukan program, apakah itu melakukan hal seperti itu? SHARON: Jadi tidak ada. Yang menekan Enter. Itu buruk di pihak kita. Meminta maaf. HANNAH: Bagaimana Anda akan mengubah ini Program jika Anda melakukan satu baris tambahan? SISWA: [tak terdengar]. SHARON: Good job. SISWA: Anda juga dapat mencetak sama hal dengan beralih sekitar kolom, kan? SHARON: Hm? SISWA: Jadi untuk mencetak kecil Anda xxx, baris pertama dapat mengatakan cetak, dan bukannya mengatakan baris, ia mengatakan kolom. SHARON: Jadi Anda bisa mengubah nama variabel untuk melakukan itu. Adalah bahwa apa yang Anda katakan? SISWA: Tidak, aku hanya mengatakan itu-- sehingga Anda baris cetakan pertama dan kemudian mencetak kolom. Dapatkah Anda juga mencetak kolom pertama dan maka baris untuk mendapatkan diagram yang sama? SHARON: Anda bisa, tapi maka Anda akan memiliki berhati-hati dari mana Anda menempatkan baris baru. Dan bagaimana Anda akan melompat kembali? JASON Hirschhorn: Jika Anda hanya beralih dan nilai-nilai yang berbeda, daripada harus four-- apa itu? Tiga empat. I Anda akan memiliki empat baris dan tiga kolom. Apakah itu masuk akal? SISWA: Ya. JASON Hirschhorn: Jadi ya, Anda bisa melakukan itu. Ya, pasti. SHARON: Tapi itu akan menjadi benar-benar hanya beralih nama-nama variabel. Baik? OK. Baiklah, P menetapkan satu. OK, jadi bagian pertama dari itu Anda akan melakukan hal ini, Mario. Hanya bercanda. Ini lebih seperti ini. Dan ketika kita hanya melihat bersarang untuk loop, membuat meja itu, berpikir tentang bagaimana Anda mungkin bisa mencetak hashtags ini dengan cara ini. Dan kemudian di sini bagaimana akan Anda mencetak hak ini di sini, ruang terbuka ini. SISWA: [tak terdengar]. SHARON: Ya, Anda hanya mencetak spasi. OK, jadi hanya berpikir tentang hal itu. HANNAH: Dan kemudian sama bagian dari masalah ditetapkan adalah sebuah program yang disebut greedy.c, sehingga Anda akan ingin untuk berpikir tentang conditional dan memastikan bahwa Anda dapat membuat perubahan yang tepat. Dan satu peringatan kecil yang kita miliki untuk Anda adalah berhati-hati floating point nilai. Jika itu berarti apa-apa bagi Anda, itu akan dibahas dalam kuliah minggu ini dan juga di [tidak terdengar] berjalan melalui, yang kalian akan belajar untuk cinta pada set masalah. Satu hal yang saya benar-benar menyarankan, terutama dengan Mario.c, ketika Anda sedang melakukan masalah mengatur, jika Anda terjebak, mulai dengan melakukan hal itu di atas kertas. Menulis itu keluar dan benar-benar duduk di sana dan berpura-pura menjadi komputer, dan pergi through-- mengatakan Aku adalah komputer, bagaimana saya akan mengikuti ini untuk loop melalui? Bagaimana akan variabel saya dalam untuk loop perubahan? Jadi melakukannya di atas kertas membuat 10 kali lebih mudah ketika Anda pergi untuk duduk di depan komputer. Jadi hanya steker kecilku. SHARON: Dan juga jangan berpikir bahwa Anda harus kode semuanya sekaligus. Pastikan Anda mengambil proses berulang-ulang. Melakukan sedikit, cetak itu, melihat apa yang terjadi. Kadang-kadang sedikit trial and error. Dan datang ke jam kantor. Super menyenangkan. JASON Hirschhorn: Jadi pertanyaan? Semua orang yang tepat, yang adalah bagian pertama Anda. HANNAH: Terima kasih sudah datang. JASON Hirschhorn: Terima kasih untuk datang. SHARON: Terima kasih. [Tepuk Tangan]