LUCAS Freitas: OK, saya rasa sekarang kita hidup. Selamat datang ke CS50 Supersection. Kami Kurang selesa. Nama saya Lucas Freitas. Saya salah seorang CS50 Ketua TFS. Ini adalah Lauren. LAUREN Carvalho: Hi, Saya Lauren. Saya juga TF Ketua untuk CS50. LUCAS Freitas: Hari ini kita hanya akan untuk memberi gambaran keseluruhan tentang apa yang semua yang anda lelaki telah belajar pada minggu satu, mudah-mudahan untuk memberikan anda orang baik yang akal untuk apa yang anda perlu tahu untuk menetapkan satu masalah. Hanya beberapa pengumuman. Pertama sekali, waktu pejabat. Waktu pejabat berlaku dari Isnin hingga Khamis di rumah yang berbeza dalam Annenberg setiap hari. Mereka sumber yang sangat baik untuk anda lelaki untuk datang dan bertanya soalan, dan bercakap dengan TFS, dan juga pertukaran idea dengan pelajar-pelajar lain. Jadi pastikan anda menggunakan sumber yang memihak kepada anda. Perkara yang kedua ialah CS50 Appliance. Untuk yang terakhir [didengar] kamu tidak perlu sebenarnya mempunyai perkakas. Anda hanya melakukan segala-galanya dalam komputer peribadi anda. Tetapi bagi masalah ini, anda sebenarnya mempunyai mempunyai mesin maya, jadi pasti untuk memuat turun CS50 Perkakas dan membinanya. Dan perkara yang ketiga pastikan anda mula masalah yang ditetapkan ASAP hanya kerana ia lebih mudah untuk mencari membantu apabila anda berada di kawasan bermula dalam seminggu. Kerana orang cenderung untuk menunggu sehingga kedua terakhir untuk memulakan masalah yang ditetapkan, dan kemudian anda pergi ke waktu pejabat, dan ada ramai orang. Di mana jika anda pergi pada hari Isnin, anda akan untuk melihat bahawa anda boleh bercakap dengan TFS cukup banyak untuk sepanjang malam, dan mereka akan menjadi lebih daripada gembira untuk membantu anda. LAUREN Carvalho: Bolehkah saya hanya berhenti anda hanya satu kedua? Telah semua orang mampu untuk memuat turun Appliance CS50? Ada orang cuba? LUCAS Freitas: Untuk muat turun, oleh cara, anda boleh mendapatkan arahan di cs50.net/appliance. LAUREN Carvalho: Betul. Dan ia mengambil sedikit masa untuk kita admin Cuser untuk mendapatkan anda lesen utama, jadi mendaftar untuk percubaan percuma pertama. Dengan cara itu anda akan mempunyai ia selama 30 hari, dan kemudian tunggu kunci lesen anda yang sepatutnya memberikan kepada anda selama setahun. LUCAS Freitas: Pertama sekali, mari kita bercakap sedikit tentang Appliance CS50. Yang CS50 Appliance sebenarnya maya mesin yang anda akan berjalan di komputer anda sendiri yang pada dasarnya berjalan komputer lain di dalam komputer anda sendiri. Yang agak sejuk. Dan sebenarnya ia digunakan di mana-mana. Orang yang ke berteknologi akan tahu bahawa ini digunakan setiap masa. anda? Boleh mempunyai beberapa komputer dalam satu peranti. Mari kita sebenarnya melihat di Peralatan ini. Apabila anda pergi ke Appliance selepas mendaftar, anda akan perlu untuk meletakkan nama anda dan log masuk ke Harvard jadi kami boleh mendapatkan anda semua yang berdaftar. Anda akan melihat dasarnya hanya kertas dinding, dan kemudian Rumah dan Sampah, dan kemudian ikon ini sedikit. Ini tiga ikon sebenarnya yang paling perkara penting yang anda boleh mempunyai dalam Appliance anda. Yang pertama adalah gedit, yang merupakan teks editor, seperti Notepad atau seperti apa-apa jenis editor teks. Ia hanya sesuatu yang kita gunakan untuk menulis kod dan kemudian melakukan barangan dengannya. Perkara kedua yang kita ada di sini adalah Chrome. Jadi, jika anda perlu menggunakan internet dalam Appliance, itu apa yang boleh anda gunakan. Dan perkara ketiga ialah terminal, yang sebenarnya sangat manis. Orang biasanya adalah jenis takut terminal kerana ia ini sangat permohonan kuno di mana anda hanya pada dasarnya segala-galanya dengan menaip papan kekunci anda. Tidak ada banyak interaksi dengan tetikus anda. Tetapi sebenarnya terminal tidak perkara yang sangat baik. Pertama sekali, mari kita hanya mengikut sahaja beberapa arahan yang anda boleh gunakan dalam terminal. LAUREN Carvalho: Dan berasa bebas untuk berhenti kami jika anda mempunyai sebarang pertanyaan. LUCAS Freitas: Yeah. Jadi perintah yang pertama yang kita ada terminal adalah ls. ls pada asasnya bermakna senarai segala-galanya, semua fail-fail dan semua pengarah, yang saya ada di tempat yang bahawa saya di. Jadi, jika saya lakukan ls di sini, saya akan melihat bahawa saya mempunyai beberapa direktori. Saya mempunyai desktop, muat turun, kayu balak itu, dan VHOSTs. Yang di dalam biru kerana mereka semua direktori. Kemudian anda mempunyai beberapa fail lain. Anda mempunyai seperti khabar dan hello.c, yang hanya fail, dan mereka dalam warna yang berbeza. Jadi ini adalah satu arahan yang sangat penting hanya anda boleh melihat apakah fail dan direktori yang anda mempunyai dalam direktori yang anda berada di dalam terminal. Apabila anda melihat jharvard @ perkakas dan maka simbol kecil di sana, tilde, yang hanya bermakna bahawa itulah direktori yang anda pada masa ini. LAUREN Carvalho: Jadi menaip ls hampir seperti klik pada folder yang yang disenaraikan di sana, di dalamnya menunjukkan anda semua kandungan yang yang dalam folder itu. PENONTON: Adakah teks selepas hello.c ini? LAUREN Carvalho: Oh, anda tidak boleh melihat bahawa, kerana ia biru. LUCAS Freitas: Ia mengatakan log dan VHOSTs. LAUREN Carvalho: Mereka adalah hanya folder lain. Saya minta maaf, ia benar-benar sukar untuk melihat. Mungkin jika kita menutup lampu? Colton, adakah anda mahu mencuba dan mencari suis lampu? Maaf tentang itu. Saya tidak berfikir mengenainya. LUCAS Freitas: Tetapi ia pada dasarnya - yeah, jika anda boleh - LAUREN Carvalho: Zoom di skrin anda. LUCAS Freitas: Saya tidak mempunyai ciri itu. LAUREN Carvalho: [didengar]. OK. Nah, terdapat hanya banyak semula jadi cahaya di dalam bilik ini juga. LUCAS Freitas: Mari kita menganggap bahawa terdapat dua direktori lain di sana. LAUREN Carvalho: Hanya menanggung dengan kami. Ini adalah satu-satunya bahagian yang anda akan mencari di terminal. LUCAS Freitas: Arahan seterusnya adalah pada dasarnya mungkin anda mahu untuk menganjurkan fail anda - sebagai contoh, semua fail C anda dalam satu direktori-tetapi anda tidak mempunyai direktori hanya untuk C fail yet. Anda sebenarnya boleh membuat direktori menggunakan terminal itu juga, yang merupakan perkara yang sama seperti klik-kanan dan berkata Folder Baru. Arahan ini membuat direktori, yang adalah mkdir, jadi pada dasarnya "membuat" dan "Direktori." Dan kemudian anda boleh meletakkan menamakan direktori. Katakan saya mahu dipanggil, Saya tidak tahu, katakan pset1 Melakukan ini, saya hanya mencipta direktori. Mari kita lihat bahawa ia adalah di sana. Jadi, jika saya lakukan ls, sekarang saya melihat balak, dan maka pset1, dan kemudian VHOSTs. Jadi saya mempunyai direktori baru di sana. Dan kemudian selepas anda mempunyai direktori baru, mungkin anda mahu untuk mengemudi ke dalamnya, jadi arahan seterusnya cd ini, yang hanya pada dasarnya bermakna pergi ke direktori tertentu. Jadi jika saya mahu pergi ke pset1, Saya hanya boleh lakukan cd pset1. LAUREN Carvalho: cd bermaksud perubahan direktori, [didengar] dapat ingat bahawa. LUCAS Freitas: Dan kini anda melihat bahawa bukan hanya mempunyai jharvard perkakas, saya telah jharvard perkakas, dan kemudian pset1, kerana ia menunjukkan saya di mana saya di komputer ini. Sekarang, jika saya mahu kembali kepada Direktori itu sebelum satu ini, saya boleh melakukan dot dot cd, yang hanya bermakna pergi ke direktori yang saya sebelum ini, seperti ibu bapa ini direktori, pada asasnya. Dan sekarang saya melihat bahawa saya kembali ke jharvard. Perkara seterusnya yang saya boleh melakukannya adalah rm, yang mengeluarkan fail. Sebagai contoh, mari kita pertama melakukan ls untuk melihat apa yang saya ada di sini. Saya khabar dan hello.c. Mari kita mengatakan bahawa saya mahu untuk menghapuskan mereka. Yang boleh saya lakukan rm khabar. Ia akan mengatakan "mengeluarkan fail biasa hello? "Dan saya berkata" ya. "Dan kini jika saya melakukan ls, saya melihat bahawa itu tidak ada lagi. Jika saya cuba menggunakan rm untuk direktori, walaupun, ia tidak akan untuk memberitahu anda berbuat apa-apa. Ia akan berkata, hey, anda tidak boleh mengeluarkan direktori. Oleh itu, kita mempunyai ini lain datang dipanggil rmdir, yang hanya pada dasarnya bermakna pindahkan direktori. Saya boleh, sebagai contoh, keluarkan pset1. Dan jika saya lakukan ls, saya tidak mempunyai lagi. Sebarang pertanyaan tentang perkara ini? Tidak? Yeah? PENONTON: Adakah penting yang anda meninggalkan ruang selepas - setiap kali anda mula menaip sesuatu dalam? LUCAS Freitas: Yeah. Jika saya suka cd dan direktori, Saya perlu meletakkan ruang. Apa ruang yang anda bercakap tentang? LAUREN Carvalho: Ruang di antara cd dan [didengar]. LUCAS Freitas: Ya, anda perlu meletakkan ruang kerana cd adalah perintah, dan kemudian tali berikutnya yang Jenis yang anda pada dasarnya direktori. Jadi ia seperti pertengkaran. Yeah? PENONTON: Apabila anda senarai, semua adalah direktori yang berbeza, bukan? LUCAS Freitas: Ya, mereka adalah dalam direktori. PENONTON: Apakah perbezaan antara direktori? LUCAS Freitas: Mereka hanya folder yang berlainan. Direktori adalah folder dalam komputer anda. PENONTON: Buka folder. LUCAS Freitas: Ya, ia hanya folder terbuka. LAUREN Carvalho: Di sini, orang-orang yang yang berada dalam biru adalah sebenar direktori yang anda boleh masuk ke dalam dan kemudian melihat sekumpulan perkara-perkara yang dalam itu, yang malang kerana anda tidak boleh benar-benar membaca yang warna biru. Dan orang-orang yang putih hanya fail yang berada dalam direktori semasa. LUCAS Freitas: Jadi direktori adalah folder. Orang-orang yang lain adalah fail. PENONTON: Apakah arahan untuk menetapkan semula atau untuk membersihkan ia? LUCAS Freitas: Untuk mengosongkan? LAUREN Carvalho: Untuk mengosongkan? LUCAS Freitas: Saya rasa ia "jelas." Yeah. Jadi anda hanya perlu menaip jelas jika skrin anda terlalu berantakan. Apa-apa soalan lain? Dan anda akan belajar sekumpulan lain arahan hanya secara semula jadi semasa semester kerana mereka sangat berguna. Jadi sekarang mari kita bercakap tentang menyusun. Kita bercakap tentang kod pseudo dan kod sumber dan kod objek. Dan ada banyak kod, dan mungkin anda semua keliru tentang itu. Mari kita bercakap sedikit tentang apa yang yang berlaku apabila anda menulis program, dan anda menyusun, dan ia menjadi fail boleh laku. Mereka semua kata-kata yang anda semua mungkin mendengar, dan mungkin anda tidak benar-benar pasti apa yang sedang berlaku. Katakan, sebagai contoh, yang saya mahu menulis satu program yang berkata "hello." Yang perkara pertama yang datang dalam fikiran anda anda jenis cuba untuk memikirkan bagaimana anda akan berbuat demikian dalam fikiran anda, dan anda mungkin terfikir dalam Bahasa Inggeris atau beberapa bahasa lain, seperti semula jadi bahasa, mungkin. Dan kemudian anda berfikir, baik, jika saya mahu, sebagai contoh, menulis program yang kata "hello", saya akan memulakan program, Saya akan mencetak hello, dan kemudian saya akan berhenti program ini. Ini adalah kod pseudo. Ini hanya pada dasarnya anda cuba untuk datang dengan turutan yang yang anda akan lakukan untuk menjadi dapat menulis program. Kemudian anda mempunyai kod sumber, dan kod sumber tidak perlu khusus dalam C. Kami bercakap mengenai kod sumber dalam C kerana itulah bahasa yang kita sedang belajar, tetapi kursus kod boleh agak banyak mana-mana bahasa pengaturcaraan yang anda ada. Kemudian pada semester, anda akan untuk belajar bahasa lain. Itulah juga kod sumber. Sebagai contoh, di sini, ini adalah sumber saya kod, dan kemudian saya termasuk perpustakaan, dan kemudian saya mula utama, dan kemudian saya mencetak. Dan Laura akan bercakap sedikit sedikit tentang semua ini. Jadi ini adalah kod sumber. Dan apa yang kod objek? Objek adalah sekumpulan sifar dan orang-orang yang, pada asasnya. Apa yang berlaku ialah anda pada mulanya mempunyai kod pseudo, yang semua dalam bahasa Inggeris. Dan saya maksudkan, anda memahaminya. Mungkin rakan-rakan anda memahami ia, dan kebanyakan orang akan memahami idea tersebut. Tetapi komputer adalah benar-benar dalam keadaan sihat, dan mereka tidak memahami bahasa Inggeris, jadi anda telah menterjemahkan ke dalam sesuatu, biasanya diterjemahkan ke dalam beberapa bahasa pengaturcaraan. Dan anda boleh memikirkan pengaturcaraan bahasa sebagai jenis seperti bahasa anda memberitahu bagaimana komputer anda untuk bercakap dan memahami. Anda pada dasarnya menulis sesuatu di bahasa yang kedua-dua anda dan anda komputer memahami. Itulah kod sumber. Jadi akan bentuk pseudokod kepada sumber kod, ia terpulang kepada anda. Ia pada dasarnya anda melakukan program anda. Tetapi masalahnya ialah bahawa komputer tidak walaupun memahami bahasa pengaturcaraan. Ia tidak memahami kod sumber sama sekali. Ia sebenarnya hanya memahami sifar dan satu. Oleh itu, kita mempunyai perkara yang sangat ajaib ini dipanggil pengkompil, yang pada asasnya adalah akan mendapatkan sumber yang dipanggil bahawa anda menulis dalam bahasa kedua-dua anda dan komputer anda bercakap, dan kini anda akan mengubah bahawa dalam sifar dan satu. Jadi, pada asasnya apa yang pengkompil tidak adalah ia mendapat kod sumber, dalam kes ini C, ia akan menjadikannya besar sifar dan orang-orang yang komputer memahami dan boleh membuat fail boleh laku daripada itu. Adakah ini masuk akal? Anda hanya boleh berfikir pengkompil sebagai beberapa jenis penterjemah yang membantu anda menjelaskan kepada komputer apa yang ia sepatutnya lakukan. Tetapi bagaimana saya menyusun. Mari kita kembali kepada Appliance, dan mari kita mengatakan bahawa saya melakukan program itu. Pertama saya akan mewujudkan direktori di sini, dan saya akan memanggilnya "Amalan." Sekarang saya akan untuk mengemudi ke direktori, jadi amalan cd. Kini saya dalam amalan. Sekarang saya ingin memulakan gedit, jadi bagaimana saya melakukannya? Saya sama ada boleh klik di sini, atau saya boleh hanya literal menaip "gedit," dan ia akan untuk membuka untuk saya. Sekarang saya akan menaip program saya, jadi betul-betul apa yang saya tulis dalam slaid. Saya mengisytiharkan perpustakaan. Saya melakukan int utama, tidak sah. Dan kini saya lakukan printf, hello. Sekarang saya akan untuk menyelamatkan ini. Izinkan saya meletakkan ke dalam amalan, dan Saya akan memanggil hello.c ini. Jadi kini ia disimpan. Jika saya ingin menyusun, saya sebenarnya boleh melakukannya dalam dua tempat yang berbeza. Saya sama ada boleh melakukannya dalam tetingkap terminal, jadi satu ini besar, atau anda boleh menggunakan gedit yang benar-benar mempunyai tetingkap terminal di sini. Jadi, anda boleh sangat mudah hanya melakukan kod anda, dan kemudian anda boleh hanya menaip apa sahaja di sini, dan cuba untuk menyusun ia. Jadi bagaimana saya menyusun kod? Cara yang paling mudah yang kita ada adalah dengan menggunakan membuat, iaitu fungsi yang pada dasarnya akan menyusun kod anda. Anda hanya perlu berkata membuat hello, jadi "Membuat" dan nama program ini. Oops. Ini adalah janggal. LAUREN Carvalho: Bolehkah anda [didengar]? LUCAS Freitas: Maaf. Saya tidak menyimpannya dalam direktori betul. Datang untuk amalan, dan kini simpan sebagai hello.c. Saya minta maaf. Kini ia disimpan. Biar saya hanya melakukan ls dan memastikan bahawa ia di sini. OK, sekarang ia di sini. Jadi sekarang jika saya lakukan membuat hello, ia memuntahkannya yang banyak barangan, tetapi kemudian ia hanya memberi saya satu lagi talian bagi terminal, yang bermakna bahawa ia telah berjaya. Jadi sekarang jika saya melakukan sesuatu ls lagi, saya sebenarnya melihat fail ini dalam hijau, yang merupakan fail boleh laku. Dan kemudian jika saya ingin menjalankannya, apa yang Saya perlu lakukan adalah slash dot khabar. Ia akan bertanya khabar di sini, jadi ia betul-betul apa yang saya bertanya kepada. Ada satu lagi cara menyusun, yang menggunakan bunyi berdering. Dentang hanya pengkompil yang kita ada, dan ia sedikit lebih lantung untuk menyusun ia. Tetapi ia hanya kerja-kerja juga. Jadi, jika saya lakukan dilafaz, dan kemudian-o, dan kemudian nama yang saya mahu memberi fail boleh laku, jadi katakan "Hello." Dan kemudian fail yang saya mahu untuk menyusun, hello.c. Ia juga akan menyusun. Dan anda mempunyai fail di sini, dan Saya hanya boleh melaksanakannya juga. Jadi kedua-dua daripada mereka bekerja. Adakah ini masuk akal? Apa-apa soalan? PENONTON: Bolehkah anda zum dengan sedikit? LUCAS Freitas: Maaf? PENONTON: Zum masuk? LAUREN Carvalho: Saya rasa anda hanya boleh perintah ditambah. LUCAS Freitas: Suruhlah apa? LAUREN Carvalho: Perintah ditambah. LUCAS Freitas: No LAUREN Carvalho: Oh, itu bukan akan bekerja kerana - ia adalah kerana kita menetapkan resolusi yang untuk perkara ini. LUCAS Freitas: Saya tidak rasa kita boleh zum masuk Ya, kita tidak boleh zoom. Adakah anda mempunyai soalan lain? Maaf. PENONTON: Bolehkah anda mengulangi bunyi berdering? LUCAS Freitas: dentang ini? Dentang adalah perkara yang sama seperti membuat, tetapi perbezaan adalah bahawa pertama yang saya akan untuk menulis dentang, yang merupakan perintah, kemudian saya akan melakukan -0, semua, yang merupakan hanya apa yang kita akan belajar kemudian sebagai bendera. Jadi hanya berfikir bahawa anda sentiasa perlu meletakkan-o. Dan kemudian pertama, anda akan meletakkan nama fail boleh laku, pada dasarnya fail yang anda akan mewujudkan. Jadi saya boleh berkata, sebagai contoh, hello2 dan maka fail yang saya mahu menyusun, yang merupakan. c fail. Jadi, itu hello.c. Adakah ini masuk akal? PENONTON: Hello apa? Apa tu? LUCAS Freitas: Hello.c. Dan jika saya menyusun, dan jika Saya ls, saya juga mempunyai hello2 bahawa saya hanya disusun. Dan jika saya cuba untuk menjalankannya, ia akan melakukan perkara yang sama seperti hello, hanya mencetak khabar. PENONTON: Bagaimana datang untuk pilihan membuat anda boleh meletakkan hello.c selepas? LUCAS Freitas: Dalam membuat, anda tidak perlu meletakkan. c. Dalam membuat, anda hanya mengatakan menamakan program tersebut. Anda tidak perlu untuk mengatakan. C. Tetapi bagi dentang, anda harus. PENONTON: Dengan dentang adakah anda juga perlu menambah [didengar] LAUREN Carvalho: Yeah. Jadi, anda juga perlu perpustakaan. LUCAS Freitas: Ya, itu sesuatu kita akan gunakan kemudian. Yang dinamakan menghubungkan, dan saya fikir kita akan bercakap mengenainya kemudian. Satu lagi soalan? PENONTON: Adakah anda meletakkan yang dilafaz dot slash? LUCAS Freitas: No The slash dot hanya untuk membuka fail boleh laku. Jadi dentang, anda hanya menulis "dentang," dan maka jika anda mahu untuk membuka fail boleh laku yang anda hanya disusun, maka anda dot slash dan nama. Adakah ini masuk akal? PENONTON: Jika anda untuk perubahan hanya [Didengar] untuk dunia hello, adakah anda perlu susun semula ia? LUCAS Freitas: Yeah. jika saya ingin berkata, sebagai contoh, "hello di sana, "Saya hanya boleh menyimpan sekarang, dan saya hanya menyusun semula. Jadi biarlah saya melakukan make a hello. Dan jika saya lakukan hello, ia akan berkata "hello di sana." Masuk akal? Apa-apa soalan lain? PENONTON: Adakah anda perlu termasuk standard I / O untuk menyelaraskan kerja-kerja? LUCAS Freitas: Yeah. I standard / O pada dasarnya perpustakaan yang mempunyai pelaksanaan bagi printf. Supaya perkara yang betul pada atas termasuk stdio. Yang termasuk perpustakaan yang pada dasarnya mempunyai sekumpulan yang berbeza alat-alat yang boleh anda gunakan. satu? Daripada mereka adalah printf iaitu fungsi yang yang pada dasarnya cetakan mesej kepada skrin. Apa-apa soalan lain? Tidak? OK. Jadi sekarang mari kita bercakap tentang - LAUREN Carvalho: Mari kita pergi ke panduan gaya. Adakah anda mahu hanya menemuinya di sini? LUCAS Freitas: Jadi, kita akan bercakap tentang gaya. LAUREN Carvalho: Oh, David tidak selesai. OK. Mengapa tidak kita kembali kepada gaya di akhir sangat? Ini sebenarnya telah dikemaskini seperti yang kita bercakap. LUCAS Freitas: Yeah. Biarlah jalan untuk David untuk menyelesaikan itu. LAUREN Carvalho: Bolehkah kita beralih sebenarnya? Jadi saya berharap semua orang menjadi menikmati Scratch. Malangnya, ia adalah masa untuk beralih daripada ini - malangnya ia adalah masa untuk bergerak daripada blok-blok pengaturcaraan cantik ke C. Tetapi bernasib baik, semua pengaturcaraan membina bahawa anda telah telah bekerja dengan dalam Scratch adalah secara langsung diterjemahkan kepada C, dan kami akan mula belajar tentang sebahagian daripada mereka sekarang. Mari kita bercakap pertama mengenai keadaan dalam ungkapan Boolean. Ini sedang berjalan di rizab kuasa bateri. LUCAS Freitas: Bagaimana yang tidak berfungsi? OK. Anda pergi ke sana, saya akan mendapatkan - LAUREN Carvalho: Jadi syarat-syarat yang penting kerana ia membolehkan kita memperkenalkan logik ke dalam program kami. Berikut adalah satu contoh keadaan yang dalam program C. Mari kita perhatikan bagaimana ini - Jadi keadaan ini blok di sini, ini Penyataan printf tidak akan melaksanakan melainkan keadaan dalam kurungan, n lebih besar daripada 0, dinilai sebagai benar. Sekarang, semua syarat dalam f kenyataan adalah ungkapan Boolean, yang bermaksud bahawa terdapat hanya dua pilihan. Mereka sama ada boleh menilai untuk benar, atau mereka boleh menilai untuk palsu. Jadi di sini, jadi ini masuk akal, bukan? n lebih besar daripada 0, bermakna ia adalah satu yang positif nombor, yang bermakna bahawa ia akan mencetak keluar "anda pilih nombor positif." Terdapat banyak ungkapan Boolean yang boleh membentuk keadaan dengan Penyataan init. Kami mempunyai kurang daripada. Ini adalah kurang daripada atau sama dengan. Ini hanyalah lucu [didengar]. Jika anda ingin printf yang berlaku jika ia lebih besar daripada atau sama dengan 0, maka anda akan memilih ini. Jadi sama hanya Melampirkan betul selepas lebih besar daripada tanda. Sama sama, yang berbeza daripada hanya satu tanda yang sama, sama sama sebenarnya bermaksud bahawa apa sahaja mengenai sebelah kiri ini adalah sama seperti apa yang di sebelah kanan ini mana satu tanda yang sama adalah apa? Apakah hanya satu tanda sama? Tugasan. LUCAS Freitas: Yang mengatakan bahawa? Adakah itu gula-gula? Oh, tidak. Maaf. Maaf. Anda berdua mendapat gula-gula. Oh, OK! Tiga orang mendapatkan gula-gula! LAUREN Carvalho: Jadi yang satu ini di sini adalah pengendali bang sebelumnya tanda yang sama, supaya tidak sama dengan. Jadi, jika ini adalah dalam keadaan saya, badan keadaan akan melaksanakan hanya jika apa sahaja dalam kiri tidak sama seperti apa yang di sebelah kanan. Saya juga boleh mempunyai hanya tanda seru. Sebenarnya kita akan melihat dalam ciri yang slaid bagaimana ini akan digunakan. LUCAS Freitas: Mana-mana soalan? Tidak? LAUREN Carvalho: Kita boleh menggabungkan ini Ungkapan Boolean untuk membina lebih kenyataan bersyarat yang rumit. Jadi di sini, jika apa sahaja yang di sebelah kiri sebelah satu bar berganda atau apa sahaja yang di sebelah kanan bar berganda menilai untuk benar, maka kita akan mencetak tidak sah. Dan kemudian turun di sini, jika apa sahaja ini di sebelah kiri kedua-dua ampersands dan apa jua yang di sebelah kanan sebelah kedua-dua ampersands dinilai sebagai benar, maka kami akan mencetak sah. Bar berganda dipanggil logik ATAU pengendali ampersands berganda adalah dipanggil pengendali logik DAN. Ya? PENONTON: Adakah mereka yang hanya kes yang lebih rendah l's? LAUREN Carvalho: No Mereka sebenarnya - anda tahu tindak balas hebat, seperti atas utama Kembali anda? Adakah anda melihat bahawa? LUCAS Freitas: Ini sebenarnya bar. LAUREN Carvalho: Ini sebenarnya hanya dua bar. PENONTON: Bolehkah anda menggunakan sama sama bagi tali? LUCAS Freitas: No Kita akan belajar kemudian sesuatu tentang itu. LAUREN Carvalho: Ada fungsi yang boleh anda gunakan. Tetapi anda tidak perlu bimbang bahawa hanya lagi. Bagaimana jika saya memberikan program ini nombor 5? Apa yang akan mencetak? PENONTON: [didengar] sah. LAUREN Carvalho: Sah? Yeah. Saya tidak tahu yang mendapat itu. [Ketawa] LAUREN Carvalho: Itulah jenis menakutkan [didengar]. PENONTON: Jadi dua kali dan, yang hanya bermakna dan? LAUREN Carvalho: Yeah. Jadi nombor 5 adalah kedua-dua yang lebih besar daripada 0 dan kurang daripada 100. PENONTON: Mengapa ia akan menjadi salah satu? LAUREN Carvalho: Satu Ampersand adalah sebenarnya sesuatu yang berbeza, dan ia pengendali bitwise, yang anda akan pelajari nanti. Tetapi ia adalah sesuatu yang benar-benar bekerja dengan bit nombor yang diberikan. LUCAS Freitas: Cuba fikirkan mereka tidak perlu bimbang tentang ia sekarang. LAUREN Carvalho: Saya rasa ia mungkin datang minggu depan. LUCAS Freitas: Mana-mana soalan-soalan lain? Tidak? LAUREN Carvalho: Oleh itu, kita telah melihat bahawa ia menghalang boleh berdiri sendiri, tetapi ia boleh juga dipasangkan dengan dan lain blok. Jadi dalam kes ini, jika n adalah lebih besar daripada 0, kita akan mencetak "Anda mengambil nombor positif. "lagi, bermakna jika ia adalah 0 atau jika ia kurang daripada 0, kita akan mencetak, "Anda mengambil nombor negatif." Perkara yang menarik di sini ialah ini adalah eksklusif antara satu sama lain. Ada pernah akan menjadi kes di mana ini dan ini kedua-duanya boleh mencetak. Saya pasti anda bekerja dengan jika / lagi mengurung Awal, supaya ini harus agak biasa. Ya? PENONTON: Adakah kita memerlukan ruang antara int n sama GetInt maka ruang dalam jika kenyataan? Like kita menggunakan garis [didengar] LAUREN Carvalho: Oh, ruang di sini? PENONTON: Seperti itu, tetapi anda dua kali ganda ruang. Tidak, naik. Naik. LUCAS Freitas: Hanya baris? PENONTON: Yeah. LUCAS Freitas: Hanya baris kosong? PENONTON: Yeah. LAUREN Carvalho: Talian Kosong? No Itu hanya satu perkara yang gaya. LUCAS Freitas: Ia hanya seperti kadang-kadang anda hanya melangkau beberapa garis supaya bahawa kod tidak kelihatan seperti blok besar teks. LAUREN Carvalho: Saya rasa apa yang berlaku adalah bahawa kita mempunyai komen di sini, tetapi saya mengambil keluar supaya anda semua akan mempunyai untuk berfikir tentang kod dan bukan daripada sekadar membaca komen saya. Secara umum, jarak tidak akan benar-benar menjejaskan cara program anda berjalan. Ia lebih daripada satu perkara yang gaya. Dan apabila kita mempunyai panduan gaya terkini dan bersedia untuk pergi pada akhir supersection, kita akan bercakap tentang itu lagi. Ada sesuatu yang salah dengan program ini, bukan? Kerana 0 tidak benar-benar nombor negatif. Jadi mari kita lihat jika kita boleh menetapkan bahawa. Anda mungkin boleh bayangkan dengan ini mengatakan, bukan? Jika n lebih besar daripada 0, kita cetak, "Anda mengambil nombor positif. "Kemudian lagi jika n kurang daripada 0, "Anda mengambil satu nombor negatif. "lagi," Anda dipilih 0. " Sekarang perkara yang menarik ialah ini boleh pergi selama-lamanya. Anda boleh mempunyai jika blok, lain jika blok, satu lagi lagi jika blok, lain jika, lain jika, lain jika, lagi, pada dasarnya selagi anda mahu. Dan apabila dibina seperti ini, semua ini akan menjadi eksklusif antara satu sama lain. Ya? PENONTON: Jadi mengapa tidak boleh anda hanya menggunakan lain jika bukan [didengar]? LAUREN Carvalho: Dalam kes ini, ya saya boleh menggunakan lain jika, dan ia akan menjadi benar-benar halus kerana keadaan diri mereka adalah eksklusif antara satu sama lain. Tetapi jika keadaan tidak eksklusif antara satu sama lain, akan ini memaksa mereka untuk tidak pernah kedua-dua menilai, jika yang masuk akal. PENONTON: Dalam kes itu, boleh kita sarang kedua jika pada pertama jika? LAUREN Carvalho: Jika - apa yang kamu maksudkan? PENONTON: Jika dua syarat tidak saling eksklusif? LAUREN Carvalho: Jika syarat-syarat tidak saling eksklusif? Tetapi anda ingin hanya satu daripada mereka untuk berjalan? PENONTON: Anda mahu hanya jika bukan yang lain. LAUREN Carvalho: Yeah. Terdapat sentiasa akan menjadi banyak satu cara yang boleh anda lakukan ini. Anda boleh pasti sarang mereka. Dan anda akan lihat dalam slaid masa depan yang anda boleh mempunyai beberapa IFS, hanya satu demi satu. Tetapi ini adalah satu cara logik menganjurkan aliran program anda. LUCAS Freitas: Dan ada satu lagi benda, adalah bahawa anda bertanya tentang meletakkan jika dan kemudian yang lain jika. Yang akan bekerja dengan sempurna, tetapi ia tidak baik reka bentuk kerana pada dasarnya jika anda tanda yang pertama jika, dan anda dapati dalam jumlah yang lebih besar daripada 0, anda hanya boleh menyelesaikan program ini. Anda tidak perlu untuk memeriksa jika ia kurang daripada 0, betul? Tetapi jika anda jika sekiranya, ia akan memeriksa kedua-duanya, manakala jika saya lakukan sekiranya lain merupakan ia akan memeriksa jika ia lebih besar daripada 0. Jika ia, ia tidak akan kelihatan lebih di lain-lain talian kod. Jadi anda pada dasarnya menyemak ia seperti dua kali jika tidak perlu, jadi itu sebabnya kami dilakukan jika lagi jika. Apa-apa soalan lain? PENONTON: Jadi fungsi daripada lain jika adalah sama seperti jika ia hanya jika? LAUREN Carvalho: No Anda sebenarnya akan melihat di depan saya slaid contoh di mana ia boleh berbeza. Dalam kes ini, ia hampir sama. Jadi di sini, kita mempunyai contoh berganda jika kenyataan, dan fungsi tidak sama seolah-olah saya baru sahaja berkata jika lagi, jika yang lain, jika lain. Mari kita berfikir tentang apa yang akan mencetak jika saya masukkan nombor 95 ke dalam program ini. PENONTON: [didengar] LAUREN Carvalho: Dan kemudian? PENONTON: [didengar] LAUREN Carvalho: Yeah. Jadi dalam kes ini, syarat-syarat ini tidak saling eksklusif antara satu sama lain. Dan kerana tiada apa-apa berhenti keadaan ini dari menilai jika ini satu sudah mempunyai, mereka hanya semua akan mencetak. Jadi bagaimana saya boleh menetapkan ini? PENONTON: IFS yang berlainan? LAUREN Carvalho: Anda boleh menggunakan IFS lain. Saya boleh mengubah susunan ini, bukan? Jika saya satu ini pertama? Well, sebenarnya, tidak. Yang tidak akan bekerja untuk 95. LUCAS Freitas: Tidak, hanya IFS lain. IFS lagi ini: LAUREN Carvalho akan tetap ini. Adakah itu membersihkan kekeliruan antara IFS dan lain IFS? PENONTON: Saya hanya mahu bertanya kepada anda, jika anda tidak menggunakan lagi jika, ia akan berhenti? LAUREN Carvalho: Betul. Jadi hanya yang pertama ini. Jika saya memasukkan nombor 95, hanya ini akan dicetak, dan ia tidak pernah akan berkembang ke lain itu. LUCAS Freitas: Hanya jenis memikirkan ia seolah-olah ini berlaku, melakukan ini. Lagi ialah seperti jika tidak, cek untuk ini, dan kemudian melakukannya. Jadi seperti mereka semua saling eksklusif. Anda tidak boleh masuk ke dalam dua ke atas. PENONTON: Bolehkah anda menggunakan logik DAN untuk situasi itu? LAUREN Carvalho: Yeah. Itulah cara lain yang kita boleh telah tetap masalah ini. Kami boleh ditakrifkan antara, bukan? Jadi saya boleh berkata jika n adalah lebih besar dari 90 dan kurang daripada - baik, saya rasa yang satu ini tidak benar-benar perkara itu, tetapi di sini saya boleh berkata jika n lebih besar daripada 80 dan kurang daripada 90. Lebih besar daripada 70, kurang daripada 80. Itu juga telah bekerja. [Ketawa] LUCAS Freitas: Dia takut. LAUREN Carvalho: Jangan takut. LUCAS Freitas: Ia bukan bahawa ia akan menjadi salah. Cuma ia tidak perlu lantung. Seperti dalam bidang sains komputer, seseorang itu perlu menjadi semudah mungkin selagi anda mempunyai fungsi. Adakah anda mahu gula-gula? PENONTON: Jangan memerlukannya. LAUREN Carvalho: Anda menakut-nakutkan semua orang, Lucas. LUCAS Freitas: Maaf. LAUREN Carvalho: David juga menyebut ini menukar kenyataan di dalam kelas. Pada asasnya apa yang berlaku adalah suis Penyataan mengambil pembolehubah. Dalam kes ini, kami mengambil integer. Jika integer ialah 1, kita akan mencetak, "Anda mengambil yang kecil nombor. "Jika integer ialah 1," Anda mengambil beberapa sederhana. "Jika integer ialah 3, "Anda mengambil yang tinggi nombor. "Dan saya juga mempunyai kes lalai turun di sini, tetapi ia tidak menunjukkan up, yang terlalu buruk. Pada asasnya, ini hanya sintaks lain. Kita boleh melaksanakan ini tepat Perkara yang sama dengan jika dan lain jika kenyataan. Tetapi apabila terdapat banyak berbeza syarat dan banyak yang berbeza variasi kepada apa yang anda mahu lakukan untuk setiap input, ini adalah pilihan. Jadi ia hanya sintaks baik untuk mengetahui. Ya? PENONTON: Kenapa ada tidak garis sendeng terbalik yang n dalam yang pertama? LAUREN Carvalho: Untuk di sana? Tidak ada garis sendeng terbalik n di sana kerana GetInt - jika anda cuba ini, ia akan memberi anda segera ini. Berikan saya integer antara 1 dan 3. Dan jika saya meletakkan tindak balas hebat n, ia akan membawa saya ke baris seterusnya, tetapi saya hanya mahu mereka untuk menaip integer selepas kolon. Anda boleh meletakkan tindak balas hebat n. Ia bukan satu masalah besar. Yeah? PENONTON: Untuk kod ini, adakah ini kes satu, ialah kerana ia kes pertama? Kerana - LAUREN Carvalho: Tidak, tidak, tidak. Jadi ini memberi saya integer antara 1 dan 3. Jika n ialah 1, saya mencetak ini. Jika saya meminta surat, saya boleh berkata memberi saya surat antara A dan C. Kemudian ini akan menjadi kes A. PENONTON: [didengar]. Kes itu akan hanya [didengar] LAUREN Carvalho: Ya, betul. Yeah? PENONTON: Bagaimana jika anda mahu mempunyai lebih daripada ekspresi perhubungan? Jadi, daripada berkata n bersamaan dengan 1, [didengar] n lebih besar daripada 1 dalam kes pertama? LAUREN Carvalho: Sebenarnya, jika saya tidak mentakrifkan beberapa kes-kes ini, akan ini akan membawa ke bawah. Jadi sebenarnya, mungkin ini bukan apa yang anda meminta. LUCAS Freitas: Saya rasa dia bertanya jika kes itu n lebih besar daripada 0, kes kurang daripada 0. LAUREN Carvalho: Mungkin suis Penyataan tidak benar-benar apa yang anda mahu untuk digunakan dalam kes itu. LUCAS Freitas: Kenyataan suis hanya untuk nilai, jadi anda memeriksa daripada nilai adalah seperti ini atau itu. Jadi anda tidak boleh sebenarnya meletakkan syarat. PENONTON: Bagaimana jika orang yang jenis dengan [didengar]? LAUREN Carvalho: Itu akan menjadi kes lalai saya, yang malangnya anda tidak dapat melihat. LUCAS Freitas: [didengar] membuat mereka melihat. LAUREN Carvalho: Sebenarnya, anda tahu apa? Mari kita pergi untuk mengkaji 50, dan saya akan hanya zoom ke slaid kajian 50, kerana ini adalah hanya menjengkelkan. Jadi biarlah saya sebenarnya pergi kepada keadaan. Ini hanya akan mengambil sedikit masa. Baiklah. Jadi, saya minta maaf. Sekurang-kurangnya sekarang kita akan dapat melihat segala-galanya tanpa ia memotong. Baiklah. Jadi, jika mereka dimasukkan ke dalam 10, kita akan lalai di sini untuk kes lalai saya, dan saya hanya akan mencetak tidak sah kerana saya meminta mereka untuk memasuki integer antara 1 dan 3. Apa-apa soalan lain? Yeah? PENONTON: Katakan untuk kes satu, kes tiga, katakan anda mahu ia menjadi semua Perkara yang sama, jadi anda memilih sebilangan itu bukan beberapa sederhana. Dalam kes itu, ia akan menjadi berlebihan? Adakah anda hanya menukar teks dalam kedua-dua daripada mereka, atau akan ada beberapa lebihan? Adakah sebarang jalan untuk menggabungkan [Didengar]? LAUREN Carvalho: Terdapat pelbagai cara untuk menggabungkan mereka, tetapi saya percaya anda boleh hanya orang-orang yang menggabungkan bersebelahan. Jadi jika saya tidak menentukan apa-apa untuk kes dua, akan ini terpakai bagi kedua-dua kes. Oh, jika saya tidak meletakkan apa-apa untuk kes satu, ini akan terpakai bagi kedua-dua kes satu dan dua. Jika yang masuk akal. PENONTON: Bolehkah anda mengulangi itu? LUCAS Freitas: OK. Jika anda lakukan pada dasarnya, seperti, anda mempunyai perkara yang sama, tetapi anda tidak meletakkan apa-apa di sini, anda akan sama ada untuk kes satu atau dua kes, melakukan ini. Betul? Dan rehat ini bermakna jika anda mendapat ke dalam kes ini, biarkan. Jadi itulah yang brek bermakna. Jadi, jika saya hanya melakukan ini, anda melihat, ia kes satu, dan anda hanya akan melakukan ini. Jika ia adalah kes dua, ia juga akan hanya datang ke sini dan melakukannya. PENONTON: Tetapi anda boleh melakukannya? Jika ada sesuatu untuk kes dua [didengar] LAUREN Carvalho: Saya tidak percaya anda boleh berbuat demikian. Saya tidak fikir anda boleh melangkau sekitar. Bolehkah anda berbuat demikian, Rob? Saya tidak fikir begitu. PENONTON: Jadi hanya satu nombor boleh pergi selepas kes, betul? Tidak boleh ada kes satu, koma, dua? LUCAS Freitas: Tidak, anda tidak boleh. Anda pasti tidak boleh. LAUREN Carvalho: Maksud saya, persoalannya adalah ini adalah pilihan, dan ini tidak mungkin muat kes penggunaan anda, jadi maka anda akan menggunakan jika keadaan. PENONTON: Jadi mengapa anda akan melakukan ini? Suis? LAUREN Carvalho: saya akan menggunakan ini jika anda telah sangat ditakrifkan - sebenarnya, Lucas, adalah anda menghalang. LUCAS Freitas: Oh, maaf. LAUREN Carvalho: Jika anda mempunyai sangat tingkah laku ditakrifkan yang anda mahu untuk setiap input, ini mungkin satu sedikit lebih padat daripada menulis jika kenyataan untuk setiap satu. PENONTON: Apakah yang Cuti bermakna lagi? LAUREN Carvalho: rehat itu bermakna berhenti. Ingat, jika saya tidak mempunyai rehat ini di sini, kita akan hanya jatuh ke bawah kes itu akan datang. LUCAS Freitas: Cuti bermakna untuk mendapatkan keluar daripada penyata suis. Kerana jika ia 1, saya mahu untuk mencetak ini dan meninggalkan. Saya tidak mahu untuk memeriksa apa-apa lagi. PENONTON: Anda tidak mahu untuk mencetak apa-apa lagi. LUCAS Freitas: Yeah. Kerana ia adalah saling eksklusif. PENONTON: Dan adakah ini hanya meneruskan dengan kes yang akan datang jika kes pertama tidak benar? Atau adakah ia menguji semua kes pada masa yang sama? LUCAS Freitas: Tidak, ia cek berurutan. Berturut-turut, yeah. Satu lagi soalan, maka kita punya untuk bergerak jadi kami boleh meliputi segala-galanya. Yeah? PENONTON: Jadi untuk kes itu, boleh mempunyai melakukan sesuatu selain hanya satu? Bolehkah anda memberikan pelbagai? LUCAS Freitas: No LAUREN Carvalho: Saya tidak fikir anda boleh memberikan pelbagai. LUCAS Freitas: Anda tidak boleh anda tidak boleh memberikan pelbagai. PENONTON: Kes ini spesifik [Didengar]. LUCAS Freitas: Tukar adalah jenis nilai-nilai. Anda melakukan perkara-perkara yang berbeza bergantung nilai, nilai tertentu. Anda tidak boleh melakukan pelbagai, anda tidak boleh melakukan apa-apa lagi. Ia hanya satu lagi alat untuk melihat. LAUREN Carvalho: Kebanyakan orang tidak menggunakan menukar kenyataan amat CS50, tetapi ia di sana. Baiklah. Jadi perkara yang akan datang kita akan bercakap kira-kira adalah pengendali pertigaan. Ini hanyalah satu lagi jenis bersyarat. Pada asasnya apa yang berlaku di sini ialah saya meminta integer, dan jika n lebih daripada 100, saya akan mencetak "Yang tinggi." Jika tidak, saya akan mencetak "yang rendah." Jadi apa yang ia lakukan adalah keadaan ini di sini di kurungan, dan anda jenis boleh berfikir soalan kerana saya bertanya sama ada ini adalah benar atau tidak. Jika ia benar, saya akan melakukan ini pertama perkara, dan jika ia tidak benar, saya akan melakukan perkara kedua ini. Sebarang soalan mengenai pengendali pertigaan? LUCAS Freitas: Hanya mahu ambil perhatian dari David ialah bila-bila masa anda mempunyai keadaan - LAUREN Carvalho: Saya rasa Daud menonton melalui aliran hidup. LUCAS Freitas: Dia melakukan hidup aliran sekarang. Jadi apabila anda mempunyai keadaan, anda sepatutnya meletakkan pendakap kerinting, seperti yang kita ada dalam suis kenyataan di sini. Kami mempunyai pendakap kerinting di sini. Untuk apa-apa syarat, anda sepatutnya juga meletakkan bahawa. LAUREN Carvalho: Anda akan melihat ini di dalam panduan gaya. Kita sebenarnya tidak mempunyai panduan gaya sekarang. Saya fikir Daud masih bekerja. LUCAS Freitas: Beliau berkata ia hanya bekerja sekarang. LAUREN Carvalho: Oh, adakah ia bekerja sekarang? OK. Jadi nampaknya tahun ini dalam gaya membimbing, walaupun anda hanya mempunyai satu baris, anda perlu meletakkan semua itu pendakap kerinting masuk Anda tidak semestinya perlu untuk fungsi program ini. Dan mungkin kita hanya perlu berehat selepas syarat-syarat dan pergi terus untuk panduan gaya untuk membersihkan beberapa perkara-perkara ini? LUCAS Freitas: Yeah. Adakah anda mempunyai soalan? PENONTON: Tidak, saya akan hanya menunggu hingga panduan gaya. PENONTON: Bolehkah anda kembali kepada pengendali pertigaan? LAUREN Carvalho: pertigaan, ya. LUCAS Freitas: operator pertigaan adalah pada dasarnya kenyataan jika lain, tetapi daripada harus mempunyai dua baris menyemak jika dan maka lain, anda hanya perlu satu baris. Jadi, pada asasnya jika saya mahu memberi rentetan nilai tinggi atau rendah, dan saya mahu melakukan yang tinggi jika n adalah lebih besar daripada 100 atau rendah jika ia kurang, apa yang boleh saya lakukan adalah ini [didengar] tali itu akan menjadi, dan kemudian saya meminta program itu n lebih besar daripada 100? Jadi sebab itu saya mempunyai ungkapan ini dalam kurungan dan kemudian tanda soalan. Saya meminta ia lebih besar daripada 100? Jika ia, ia akan menjadi tinggi. Jika tidak, ia akan menjadi rendah. Jadi, pada asasnya apa yang anda berfikir adalah anda bertanya soalan, jadi anda masukkan ke dalam kurungan keadaan. Kemudian anda meletakkan tanda tanya kerana anda bertanya itu. Dan jika ini adalah benar, ia akan menjadi nilai yang pertama [didengar] di sini. Jika tidak, saya akan meletakkan nilai iaitu selepas kolon. Adakah ia masuk akal? Ia juga sesuatu yang adalah seperti alat dalam C tetapi anda tidak perlu khusus menggunakannya. Tetapi CS orang biasanya suka itu kerana ia hanya menjimatkan baris. LAUREN Carvalho: Ia amat elegan. Ia banyak dalam satu kenyataan. PENONTON: Jadi tanda peratus adalah hanya apa sahaja keputusan pada baris sebelumnya? LAUREN Carvalho: Oh, saya minta maaf. Ini tanda peratus sebenarnya pemegang tempat untuk ini s. Dalam satu kenyataan printf, anda mempunyai ini tali di sini, yang adalah apa yang akan mencetak, tetapi anda tidak boleh hanya meletakkan ini s di sana. Jika tidak, ia akan mencetak keluar s betul-betul. Oleh itu, kita meletakkan peratus di sini untuk menjaga tempat ini dipegang untuk apa sahaja datang selepas koma. Jadi untuk tali, anda mempunyai peratus s. Untuk integer, peratus i. Untuk terapung, peratus f. Anda akan melihat orang-orang seperti yang kita melihat lebih banyak contoh. Tetapi mungkin anda perlu bercakap tentang panduan gaya untuk sementara waktu, kini bahawa ia terpulang. LUCAS Freitas: Jika anda pergi ke cs50.net/style, anda akan melihat panduan gaya. Untuk set masalah, skor anda untuk set masalah terdiri daripada skop, yang pada asasnya bermakna jika anda melakukan semua bahagian-bahagian masalah yang ditetapkan atau jika anda cuba sesuatu. Perkara kedua ialah kebenaran, yang cara adalah program anda melakukan apa yang sepatutnya lakukan, atau adakah ia mempunyai pepijat, atau adakah ia tidak melakukan apa ia sepatutnya lakukan. Perkara ketiga ialah reka bentuk, yang bermaksud yang anda melaksanakan dengan baik, atau sememangnya anda menggunakan pernyataan yang tidak perlu? Sebagai contoh, jika anda mahu mengulangi beberapa 10 kali, yang anda menulis untuk gelung atau yang anda hanya melakukan 10 kali kenyataan yang sama, hanya melakukan salinan dan tampal. Jadi reka bentuk adalah untuk itu. Dan akhirnya, anda mempunyai gaya. Gaya adalah sama seperti penghakiman jika kod anda kelihatan boleh dibaca dan jenis cantik. Ia hanya pada dasarnya bermakna adalah kod anda boleh dibaca? Adakah orang lain yang sedang berada kod anda dapat memahami apa yang ia melakukan? Adakah ia mempunyai komen dan sebagainya? Mari kita bercakap tentang gaya yang anda sepatutnya digunakan. Perkara pertama adalah komen. Komen adalah sangat penting bagi anda kod kerana kadang-kadang yang anda lakukan program anda, dan anda tahu apa yang yang anda mahu lakukan supaya anda hanya mula pengekodan, hanya menaip sekumpulan C. Tetapi jika orang lain sedang mencari yang anda kod, mereka tidak akan dapat memahaminya kerana mereka tidak tahu perkara-perkara yang dalam kepala anda, seperti pesudocode, jadi mungkin mereka akan mempunyai masa yang sukar untuk difahami apa kod di lakukan. Jadi pendapat benar-benar berguna untuk menerangkan untuk seseorang yang melihat kod anda apa yang ia lakukan, dan sebenarnya walaupun untuk anda, mereka sangat berguna. Seperti yang anda pergi ke Psets lebih kuat dan keras, anda akan melihat bahawa kod mendapat lebih lama, dan kemudian komen benar-benar penting supaya anda ingat apa yang setiap sebahagian daripada program anda tidak. Untuk meletakkan komen, anda hanya boleh melakukan slash slash dan kemudian menulis komen. Dan seluruh talian adalah sebahagian daripada komen, dan apa sahaja yang anda menulis, ia tidak akan menjadi digunakan untuk kod anda. Ia pada dasarnya seperti pengkompil akan mengabaikan itu. Adakah ini masuk akal? PENONTON: Apa yang anda lakukan sekali lagi untuk menulis komen? LUCAS Freitas: Ini? Slash slash? Setiap kali anda menaip slash slash, apa sahaja adalah selaras yang tidak akan akan dianggap sebagai C. Ya? PENONTON: Jadi, selepas komen, anda Langkah pertama ialah memasukkan dan memulakan baris baru? LUCAS Freitas: Ya, betul-betul. LAUREN Carvalho: The slash slash adalah untuk komen baris. LUCAS Freitas: Sebagai contoh, di sini kita mempunyai - biarlah saya mengezum masuk - sebagai contoh, di sini saya mengisytiharkan apungan, tetapi mungkin jika anda hanya meletakkan ini dalam kod anda, seperti anda tidak tahu apa ini lakukan, seperti sebenarnya seseorang yang melihat kod ini akan menjadi, seperti, apa yang palang pintu yang sedang berlaku? Jika anda meletakkan komen dengan berkata "menukar Fahrenheit untuk Celsius, ia membuat banyak rasa lagi. Anda, seperti, OK, anda membuat penukaran. Adakah ini masuk akal? Jadi ia hanya sesuatu yang membantu orang ramai bersedia kod anda dan juga membuat anda dapat menganjurkan kod anda lebih baik. Perkara yang kedua ialah anda boleh lakukan comments berbilang talian, jadi mempunyai satu comment untuk sekumpulan baris. Daripada perlu meletakkan slash slash, komen baris pertama, slash slash, baris kedua, dan sebagainya, anda boleh menggunakan bintang palang. Cara yang anda melakukannya ialah untuk Baris pertama komen, anda akan melakukan bintang slash bintang, jadi begitu sahaja. Sama seperti di sini kita mempunyai permulaan program, anda biasanya meletakkan yang anda , apa yang program ini tidak, dan barangan seperti itu. Ia adalah jenis seperti tandukan untuk program ini. Sekali lagi, ia bukan sesuatu yang pengkompil akan mengambil berat tentang, tetapi ia adalah penting untuk anda tahu apa ini program tidak atau untuk orang lain untuk mengetahui apa program anda lakukan. Jadi anda mengurangkan bintang bintang, dan maka baris terakhir yang anda akan lakukan bintang slash dapat menutup komen itu. Jadi, pada asasnya untuk semua garis yang lain, anda hanya boleh menulis apa sahaja, dan ini semua akan diabaikan. Dan juga, seperti gaya, anda melihat bahawa setiap daripada garis itu mempunyai bintang, dan semua bintang-bintang adalah selaras. Ini adalah perkara yang penting supaya bahawa kod anda kelihatan cantik. Bunyi yang baik? Sekarang, keadaan. Apa Daud telah berkata bahawa kita harus sebenarnya dimasukkan ke dalam mereka slaid, ialah apabila anda mempunyai apa-apa jenis kenyataan jika atau apa-apa keadaan, anda perlu menggunakan pendakap kerinting untuk menunjukkan bahawa ini adalah apa yang akan berlaku apabila anda mempunyai keadaan. Secara teknikal, apabila anda mempunyai keadaan yang dan kemudian baris berikutnya hanya salah satu line, anda tidak secara teknikal mempunyai untuk meletakkan pendakap kerinting. Pada asasnya pengkompil akan memahami teruskan sebagai tersirat. Tetapi bagi CS50, kami meminta anda semua untuk meletakkan pendakap kerinting hanya supaya anda kod adalah lebih teratur dan lebih senang dibaca. Oleh kerana kod yang mendapat lebih lama jika anda tidak mempunyai pendakap kerinting dan sebagainya. Ia akan benar-benar tidak kemas. LAUREN Carvalho: Ini betul-betul apa yang David hanya berkata dalam slaid saya sebelum ini. Ia pasti kerja-kerja tanpa kerinting yang pendakap, tetapi atas sebab-sebab gaya kita akan meminta anda meletakkan mereka masuk Dan apabila anda mula berjalan style50, yang jenis cek 50 untuk gaya, ia akan mengingatkan anda untuk melakukan ini. LUCAS Freitas: Dan perkara yang lain adalah ingat untuk meletakkan pendakap kerinting bersama-sama dalam setiap baris. Jadi anda lakukan, sebagai contoh, l's. Pergi ke baris seterusnya, buka kerinting yang menyokong, maka anda pergi ke garis depan. Lekukan, yang adalah empat ruang. Kemudian anda menulis apa sahaja, maka satu lagi line, dan menutup pendakap kerinting. Jadi pastikan bahawa kedua-dua orang-orang kerinting penyokong gigi adalah di laluan yang berbeza. PENONTON: Jadi, jika kod ini mempunyai seperti 10 IFS lagi, sekiranya ini menjadi 10 set kurungan? LUCAS Freitas: Ya, bagi setiap daripada mereka. Yeah. Jadi, jika, kalau sekiranya, dan sebagainya. PENONTON: Bolehkah anda tidak tekan Tab untuk mengensot? LUCAS Freitas: Kami meminta anda lelaki menggunakan empat ruang. Sesetengah editor teks menterjemahkan tekan sebagai empat ruang secara automatik. gedit tidak, jadi anda perlu melakukan ruang angkasa ruang angkasa. Ini juga sesuatu yang beberapa pengaturcara sahaja tab, beberapa pengaturcara sahaja empat ruang, dan beberapa orang lain juga melakukan dua atau tiga ruang. Ia hanya bahawa di sini kita meminta anda semua untuk melakukan empat ruang. PENONTON: Terdapat hampir pasti mendapat menjadi satu cara untuk gedit untuk secara automatik [didengar]. Seperti tidak [didengar] melakukan hal tersebut. LUCAS Freitas: Yeah. Saya rasa anda boleh pergi ke Tetapan. PENONTON: Ia sudah melakukan semua itu. LUCAS Freitas: Ia sudah tidak? OK. Jadi pastikan bahawa anda mempunyai empat ruang. PENONTON: Adakah kita perlu meletakkan kerinting yang kurungan dalam untuk gelung juga? LUCAS Freitas: Ya. LAUREN Carvalho: Apabila anda menghimpun satu blok kod, hanya sila gunakan pendakap kerinting. Dan sebelum anda berfikir bahawa kami hanya menjadi sticklers tentang perkara ini untuk tidak baik sebab, jika anda semua masih meneruskan untuk mendapatkan latihan berteknologi di syarikat-syarikat besar, mereka akan memberikan anda panduan gaya, dan mereka akan memberitahu anda ini adalah apa yang anda kod perlu kelihatan seperti. Dan walaupun anda belajar untuk kod seperti ini, mungkin dalam latihan anda anda perlu melakukan sesuatu berbeza. Mereka mengharapkan anda untuk menepati untuk gaya mereka. LUCAS Freitas: Dan satu lagi perkara yang yang anda notis bagaimana saya mempunyai seperti x, ruang, kurang, ruang, 0? Setiap kali anda mempunyai pengendali - ia boleh menjadi seperti campur, tolak, kali, kurang, lebih besar, apa sahaja pengendali - anda perlu meletakkan ruang yang di sebelah kiri dan hak pengendali. LAUREN Carvalho: Mereka adalah dipanggil operan binari. Hanya pastikan anda sentiasa ruang keluar operan binari anda. LUCAS Freitas: Ini adalah bukan kendalian binari. LAUREN Carvalho: Itu kerana ia mengambil masa dua. LUCAS Freitas: Oh, yeah. OK, suis. Pertama, anda perlu untuk melihat bahawa seperti dalam satu kenyataan jika atau yang lain, anda mempunyai untuk meletakkan pendakap kerinting pada baris sendiri dan di bawah pendakap kerinting di sini. Perhatikan bahawa terdapat ruang tunggal selepas suis, hanya suka dalam jika dan lagi kami mempunyai ruang tunggal antara itu dan kurungan. Jadi anda perlu meletakkan itu. Dan tidak ada ruang selepas setiap daripada kurungan atau sebelum akhir daripada kurungan. Jadi anda lihat bahawa itu semua bersama-sama, dan juga suka di sini. Yeah? LAUREN Carvalho: Saya rasa kita perlu bergerak ke atas. LUCAS Freitas: Jadi ini adalah sebahagian daripada panduan gaya yang anda ada untuk CS50. Pastikan anda pergi ke cs50.net/style dan lihat ini. Ini semua adalah sangat penting untuk skor gaya anda. Biar saya kembali ke kenyataan itu. LAUREN Carvalho: saya mahu hanya menggunakan style50. Kami hanya akan pergi terus ke gelung. Baiklah. Oleh itu, marilah kita kembali kepada kandungan, kini bahawa kami telah pergi ke atas panduan gaya. Gelung, anda telah melihat mereka di Awal, dan kita akan bercakap tentang mereka dalam C. Dalam untuk gelung, terdapat tiga bahagian kepada pengisytiharan ini untuk gelung. Anda mempunyai pengawalan anda di yang anda menetapkan pembolehubah anda. Anda mempunyai keadaan anda, yang memeriksa untuk melihat sama ada sesuatu yang benar atau salah dan sama ada gelung hendaklah diteruskan. Dan anda telah mendapat kemas kini anda, yang mengemaskini pembolehubah anda. Mari kita melihat cepat di beberapa Kod C ini untuk gelung dalam tindakan. Apa yang berlaku di sini dalam pengawalan, kami menetapkan i kepada 0. Dalam keadaan yang kita sedang menyemak sama ada i adalah kurang daripada 10. Dan dalam kemas kini kami menokok i. Jadi apa yang akan terhasil daripada ini untuk gelung? LUCAS Freitas: Sebenarnya, pertama sekali, yang anda semua tahu apa yang saya + + adalah? PENONTON: Peningkatan oleh 1. LUCAS Freitas: Peningkatan sebanyak 1, ya. Jadi ini adalah perkara yang sama seperti melakukan i sama i campur 1. Dan melihat bahawa kita tidak mempunyai ruang yang antara i dan + +. Jadi yang anda semua tahu apa ini akan lakukan? Bolehkah seseorang beritahu saya? Dan mungkin mendapat beberapa gula-gula kerana itu? PENONTON: [didengar] LUCAS Freitas: OK. [Didengar] menunjukkan semua orang kemudian [didengar]. Ya, ia akan menunjukkan "Ini adalah CS50 "10 kali. LAUREN Carvalho: Saya rasa ia adalah dalam tajuk slaid. LUCAS Freitas: Oh, yeah. [Ketawa] LUCAS Freitas: Itu membantu. LAUREN Carvalho: Maka itulah adalah untuk gelung. Kita akan melihat beberapa contoh-contoh Daripada gelung untuk kemudian hari. Tetapi mari kita benar-benar mengambil lihat di Jenis kedua gelung anda akan menghadapi dalam C, dan ia dipanggil gelung sementara. Dalam gelung sementara, anda telah hanya mendapat syarat. Keadaan ini diperiksa di permulaan, dan jika keadaan yang dinilai sebagai benar, maka kod di dalam badan blok sementara akan melaksanakan. Dan kod akan terus melaksanakan selagi yang keadaan masih benar. Berikut adalah satu contoh gelung manakala di C. Kami akan menetapkan kiraan untuk 10 hingga memulakan. Selagi kiraan adalah lebih besar daripada 0, kita akan menyimpan mencetak ini berubah-ubah di sini. Kami akan SUSUTAN kiraan dan kemudian memeriksa keadaan lagi. Cetak, susutan, cek keadaan lagi. Di sini kita mempunyai contoh yang berkaitan soalan anda sebelum ini. Kami mempunyai peratus s ketika kami mencetak rentetan, dan kini bahawa kami mencetak int, kami mempunyai peratus i sebagai pemegang tempat kita dan bukannya. Huruf-huruf yang semua harus cukup intuitif, s untuk tali, i untuk int. Jadi, jika kod ini melaksanakan, anda harus mengira detik 10-0, mencetak setiap integer. LUCAS Freitas: Dan anda boleh memikirkan peratus rasanya kosong ruang, dan kemudian anda meletakkan ini berubah-ubah di sini di ruang kosong. Jadi, sebagai contoh, di sini saya akan mempunyai hanya kosong, dan kemudian saya meletakkan mengira di sana, yang nilai kiraan. Adakah ini masuk akal? Bolehkah saya hanya melakukan seperti printf dan kemudian memetik, mengira? Adakah yang bekerja? PENONTON: No LUCAS Freitas: Tidak, kerana ia akan sebenarnya mencetak perkataan "mengira" bukannya mencetak nilai. Ini adalah bagaimana anda membuat ia mencetak nilai-nilai ke atas pembolehubah bukan hanya nama pembolehubah. Apa-apa soalan? PENONTON: Mengapa anda gunakan untuk sebagai menentang untuk sementara? LAUREN Carvalho: saya akan menggunakan untuk gelung jika saya tahu berapa banyak lelaran gelung Saya mahu saya untuk berjalan. Dalam kes ini, ia tidak menjadi masalah kerana, Maksud saya, saya hanya mencuba untuk memikirkan benar-benar mudah contoh untuk slaid ini. Tetapi mari kita mengatakan bahawa anda mahu sesuatu untuk menjaga akan sementara - LUCAS Freitas: Sebagai contoh, anda meminta input sehingga orang itu memberikan anda input yang betul. Jadi seperti manakala input tidak OK, terus bertanya untuk itu. Atau seperti semasa anda ibu bapa tidak memberi wang anda, terus bertanya untuk itu. [Ketawa] LAUREN Carvalho: Anda tidak tahu bagaimana banyak kali anda akan mempunyai untuk melakukannya. LUCAS Freitas: Kerana anda tidak tahu berapa kali itulah akan terus. LAUREN Carvalho: Tetapi dalam untuk gelung, anda perlu tahu berapa kali. Yeah? PENONTON: Hanya untuk menjelaskan, peratus kata ini adalah sesuatu yang kira-kira untuk berlaku, i bagi integer, dan garis sendeng terbalik n - LAUREN Carvalho: Bermakna? Siapa tahu apa garis sendeng terbalik n bermakna? Barisan baru, yeah. Tepat sekali. LUCAS Freitas: Anda boleh berfikir n sebagai barisan baru. LAUREN Carvalho: Nice. PENONTON: Apakah yang dikira dash dash [didengar]? LUCAS Freitas: Count tolak tolak adalah perkara yang sama seperti plus plus, tetapi bukannya semakin meningkat, ia menurun sebanyak 1. LAUREN Carvalho: Mana-mana lebih manakala soalan gelung? Tidak? Oh, kita sepatutnya telah melangkau itu. Ini adalah tugasan manakala gelung. Hampir sama dengan gelung sementara kecuali dalam kes ini kita memeriksa keadaan selepas kod di dalam badan daripada gelung melaksanakan sekali. Oleh itu, kita melaksanakan kod yang pertama tidak kira apa. Kemudian kami memeriksa keadaan, melaksanakan sekali lagi jika keadaan ini benar. Anda akan mendapati diri anda menggunakan ini apabila anda meminta untuk input pengguna. Kerana anda sentiasa akan perlu tanya sekali, dan kemudian bergantung kepada apa yang input pengguna adalah, anda mungkin perlu reprompt dan tanya lagi dan sekali lagi jika input bukan apa yang anda dijangka ia menjadi. PENONTON: Jadi ia seperti bentuk yang bagi orang-orang untuk mengisi. LAUREN Carvalho: Ya, betul-betul. Anda akan dapati, saya fikir, dalam pertama anda Serangga, anda akan perlu untuk menggunakan gelung do baik untuk mengumpul input daripada pengguna. PENONTON: Bergantung kepada keadaan, gelung manakala anda akan cenderung untuk berjalan lebih kerap daripada manakala gelung, seperti oleh satu atau sesuatu? LAUREN Carvalho: Jika ia adalah tepat - LUCAS Freitas: Mereka sentiasa perlu menjalankan jumlah sebenar masa yang anda hendak membuatnya. Seperti kita menggunakan lakukan semasa kerana kita benar-benar mahu mendapatkan input sekurang-kurangnya sekali. Dalam gelung sementara, kadang-kadang anda tidak mahu untuk melaksanakannya di semua jika ia bukan kes untuk melaksanakan. Jadi ia bergantung kepada reka bentuk. Maksud saya, anda boleh menggunakan lakukan semasa atau manakala selagi kod anda tidak yang ia sepatutnya lakukan. LAUREN Carvalho: Tetapi saya berfikir jawapan kepada anda soalan mungkin ya. Katakan keadaan adalah palsu. Dalam satu kes ia akan berjalan sekali, dan kes lain ia akan menjalankan sifar kali. Jadi, yeah. Apa-apa soalan lagi? Ya? PENONTON: Bolehkah keadaan gelung menjadi untuk gelung dari segi lain berubah-ubah daripada [didengar]. LAUREN Carvalho: Ya, ia boleh menjadi apa-apa. Mungkin bagi Psets permulaan, anda tidak perlu menghadapi kes itu, tetapi pasti ia boleh menjadi apa-apa. LUCAS Freitas: Saya rasa kita sudah selesai disini. LAUREN Carvalho: Adakah kita? Tidak? LUCAS Freitas: gelung? Yeah. LAUREN Carvalho: Kami tidak sepatutnya. Oh, kami selesai dengan gelung. OK. Sebenarnya, kerana kita telah bercakap begitu banyak, mari kita sebenarnya semua mengemudi kepada study.cs50.net/conditions. Dan anda akan mengemudi ke bawah kepada masalah-masalah widget. Well, sebenarnya, manakala orang yang mendapat ini ditubuhkan, Kajian CS50 adalah akan menjadi alat yang TFS anda akan gunakan untuk bersedia untuk bahagian dan yang anda semua boleh digunakan jika anda terlepas bahagian. Ia akan mengandungi sekumpulan slaid, beberapa tips dan trik untuk setiap topik, dan beberapa masalah amalan dengan penyelesaian. Mengapa tidak semua orang hanya melihat masalah ini di sini. Saya minta maaf, saya perlu mengingatkan orang untuk membawa komputer riba hari ini. Tetapi jika anda tidak mempunyai komputer riba, itu OK. Anda hanya boleh mencatat ini turun pada sekeping kertas atau melihat ke atas bahu sesamamu itu. Mari kita cuba dan menulis program yang meminta pengguna untuk mengambil tekaan itu, Purata bilangan anak bagi setiap keluarga unit di Amerika Syarikat. Nombor yang 2, dengan cara ini, kerana anda lihat dari contoh-contoh ini. Kami mahu mencetak Purata bilangan kanak-kanak setiap keluarga di Amerika Syarikat, maka kita mahu apa? Kami mahu mengumpul input daripada pengguna. Dan kemudian bergantung kepada apa yang pengguna itu input, anda akan mencetak sama ada ini adalah betul atau ini adalah tidak betul. Dan perkara pertama yang anda akan lihat, jika anda klik anak panah kecil di bahagian bawah widget masalah adalah tempat untuk menulis beberapa kod pseudo. Jadi anda tidak pengaturcaraan yet. Anda hanya mendapat anda idea teratur. Adakah sesiapa yang ingin membantu Lucas datang dengan hak kod pseudo bagi masalah ini? LUCAS Freitas: Apakah perkara pertama bahawa kita mungkin perlu lakukan di sini? Apa yang anda semua berfikir? PENONTON: [didengar] LUCAS Freitas: Ya, OK. Jadi, cetak. Hanya mengatakan cetak purata ini beberapa orang? OK. Soalan cetak, katakan. Selepas saya mencetak soalan ini, apa yang perlu saya lakukan? PENONTON: Dapatkan input. LUCAS Freitas: Dapatkan input. Apa-apa lagi? PENONTON: Keadaan. LUCAS Freitas: Keadaan. LAUREN Carvalho: Apakah yang keadaan akan menjadi? PENONTON: Bilangan [didengar]. LAUREN Carvalho: Betul. LUCAS Freitas: Jadi apa yang saya akan untuk memeriksa dalam keadaan ini? PENONTON: Jika ia sama 2. LAUREN Carvalho: Jika ia sama 2. Tepat sekali. LUCAS Freitas: Adakah apa-apa yang lain yang saya perlu lakukan? PENONTON: Count. LUCAS Freitas: Jadi, jika ia sama dengan 2, katakan - biarlah saya hanya menulis jika input sama kepada 2, kemudian apa yang saya akan lakukan adalah cetak betul. Dan kemudian lagi, saya akan untuk mencetak tidak betul. Apa-apa lagi? Tidak? LAUREN Carvalho: Jadi anda boleh klik pada - tidak semua orang mempunyai ini ke bawah? LUCAS Freitas: Adakah ia masuk akal? Jadi sekarang mari kita cuba untuk kod ini. LAUREN Carvalho: Jika anda klik sedikit arrow, ia sebenarnya menjimatkan anda kod pseudo, yang benar-benar menarik. Dan anda boleh membuat orang-orang ke dalam komen jika anda mahu hanya untuk mengingatkan diri anda apa yang perlu dilakukan. LUCAS Freitas: Jadi, sebagai contoh, pertama Saya akan mencetak soalan, jadi bagaimana saya akan berbuat demikian, benar-benar? printf. Jadi printf, dan soalan adalah purata beberapa kanak-kanak setiap keluarga di Amerika Syarikat. Kemudian saya akan mendapatkan input daripada pengguna. Jadi bagaimana saya boleh berbuat demikian? PENONTON: Dapatkan Int. LAUREN Carvalho: GetInt. LUCAS Freitas: OK. Oleh itu mengaku, bukan? int, mari kita memanggilnya n sama GetInt. Dan sekarang keadaan. Jadi biarlah saya katakan bahawa saya akan ke sini cek jawapan. Oleh itu, jika input, iaitu n, sama untuk - bagaimana saya akan menulis bahawa? PENONTON: Sama sama. LUCAS Freitas: Perfect. Jadi n. Dan notis yang saya lakukan ruang, sama, sama, ruang, benar. Dan sekarang apa yang perlu saya lakukan? Sesuatu yang sangat penting untuk gaya. Pendakap kerinting. Dan kemudian saya akan mencetak. Bagaimana saya mencetak? printf. PENONTON: Bolehkah ia dipermodalkan? LUCAS Freitas: No Ia sepatutnya semua huruf kecil. Jadi itu adalah betul. Adakah ini memadai untuk printf yang pernyataan, atau saya hilang apa-apa? PENONTON: Talian Baru. LUCAS Freitas: Talian Baru, yeah. Dan sekarang lain. PENONTON: Adakah terdapat ruang selepas printf, atau tidak? LAUREN Carvalho: Kami perlu semak panduan gaya. PENONTON: Ia tidak sepatutnya. LUCAS Freitas: tidak Hendaklah, OK. Jadi lain, printf, "Itu tidak betul." LAUREN Carvalho: Oops, sebut harga anda. LUCAS Freitas: OK. Apa-apa lagi? Adakah ia melihat yang baik? LAUREN Carvalho: Patutkah kita cuba? LUCAS Freitas: Ya, mari kita menjalankannya. Jadi ia menyusun, dan ia Nampaknya ia berfungsi. Mari kita cuba dua kanak-kanak. Itu betul. Dan sekarang mari kita berjalan semula, tetapi kini sebaliknya meletakkan dua kanak-kanak, mari kita mengatakan bahawa saya akan meletakkan seperti lima. Itu tidak betul. Jadi ia kelihatan bahawa ia berfungsi. LAUREN Carvalho: Mengapa tidak anda menunjukkan kepada mereka apa yang berlaku jika anda meletakkan sesuatu pelik, seperti beberapa huruf. LUCAS Freitas: Oh, yeah. Mari kita semak itu. Bagaimana jika pengguna cuba untuk mes dengan program anda, dan mereka hanya menulis, saya tidak tahu dua. Ia akan mengatakan cuba semula. LAUREN Carvalho: Jadi GetInt meminta mereka untuk mencuba semula. Kami tidak perlu menjaga itu diri kita sendiri. LUCAS Freitas: Yeah. Jadi, melainkan saya benar-benar meletakkan nombor, ia akan terus bertanya saya untuk mencuba semula. PENONTON: Bagaimana anda menjalankannya? LUCAS Freitas: Hanya klik butang bintang ini. LAUREN Carvalho: Anda harus naik. Terdapat anda pergi. LUCAS Freitas: Bintang itu butang di sana. Yeah? PENONTON: Adakah ia meminta [didengar] dengan nombor perpuluhan juga? LAUREN Carvalho: Saya percaya ia akan. LUCAS Freitas: Jika ia melakukan apa? LAUREN Carvalho: Jika mereka menaip dalam nombor perpuluhan, saya fikir ia akan meminta. LUCAS Freitas: Mari kita lihat. LAUREN Carvalho: Kerana ia bukan satu int. LUCAS Freitas: Yeah. LAUREN Carvalho: Jadi ia bukan satu int, Dapatkan Int akan meminta anda untuk mencuba semula. PENONTON: Jadi di mana dalam kod yang akan tempat perpuluhan yang meminta yang pengguna bahawa mereka perlu memasukkan integer khusus? LAUREN Carvalho: GetInt sebenarnya melakukannya untuk kita. PENONTON: Tidak, saya maksudkan jika kita mahu untuk memasuki [didengar] LUCAS Freitas: Anda boleh mengatakan seperti purata Jumlah kanak-kanak di Amerika Syarikat. Saya tidak tahu. Kita boleh berkata, sebagai contoh, "Sila input integer. " LAUREN Carvalho: Satu integer sama dengan bilangan purata. Maksud saya, ia hanya bagaimana anda kata ia, bukan? LUCAS Freitas: Yeah. Ini bukan sebahagian daripada sebenarnya pengkodan. Ia lebih daripada seperti apa sahaja anda akan mahu menulis dalam program anda. PENONTON: Bagaimanakah kami telah menjalankannya jika ia sebenarnya dalam gedit [didengar]. Bukannya menekan bermain? LUCAS Freitas: Kami akan pertama menyusun ia. Kita boleh melakukannya dengan melakukan make dan nama fail. Dan kemudian untuk menjalankannya, kami akan melakukan yang dot slash dan nama program ini. PENONTON: Saya rasa apa yang saya maksudkan ialah jika kami mahu program untuk bertindak balas terhadap tidak betul, kemasukan tidak sah mereka, anda tidak perlu dimasukkan ke dalam - LUCAS Freitas: Kami tidak akan dapat berbuat demikian kerana kod ini mengatakan cuba semula datang dari Get Int yang merupakan fungsi yang sudah dilaksanakan untuk kita melalui perpustakaan CS50, dan kerana ia sudah dilaksanakan di sana, kami tidak boleh hanya [didengar]. LAUREN Carvalho: Jika anda tidak menggunakan GetInt, maka anda boleh melakukannya. LUCAS Freitas: Yeah. Tetapi jika anda menggunakan GetInt, anda tidak boleh. Apa-apa soalan lain? PENONTON: Bolehkah anda telah dengan seperti GetFloat dan kemudian dapat meletakkan dalam perpuluhan? LUCAS Freitas: Yeah. PENONTON: OK. Kemudian anda hanya boleh input terapung setaraf - LAUREN Carvalho: Yeah. Tepat yang sama kecuali terapung dan bukannya int satu. LUCAS Freitas: Hanya letakkan di sini dan kemudian GetFloat sana. PENONTON: Seperti yang anda akan melihat atau telah melihat - LAUREN Carvalho: kita mempunyai tidak mendapat ada lagi. PENONTON: - melakukan ketidaksamaan dengan pelampung tidak [didengar] PENONTON: Apa yang koma bertitik bermakna? LAUREN Carvalho: koma bertitik ini hanya bermakna bahawa kenyataan ini adalah lengkap, dan kita akan pergi ke slaid seterusnya. PENONTON: Jadi ia perlu setiap kali? LAUREN Carvalho: Yeah. Nah, OK, jadi tidak untuk keadaan ini, kerana mereka menghimpun sesuatu. Jadi, pada asasnya jika sesuatu yang menyebabkan anda kemudian buat pendakap kerinting blok, tidak meletakkan koma bernoktah pada akhir. LUCAS Freitas: Tetapi segala-galanya lagi, ya. Apabila anda selesai satu kenyataan, meletakkan koma bernoktah. Dan jika anda terlupa koma bertitik, yang pengkompil akan marah pada anda, dan anda akan perlu cuba untuk menyelesaikannya. LAUREN Carvalho: Jika saya meletakkan koma bernoktah di sini, yang akan menghentikan ini, dan saya tidak akan dapat melaksanakan apa yang di dalam, dengan cara itu. Jadi ia adalah salah satu orang-orang pepijat yang sama. PENONTON: Sentiasa melaksanakan. LAUREN Carvalho: Yeah. Dalam kes ini, kita akan sentiasa melaksanakan apa yang di dalam. PENONTON: Gaya anda [didengar] melampirkan untuk anda, fikir. LAUREN Carvalho: Oh, itu benar. PENONTON: [didengar] tunggal perkara line [didengar] PENONTON: Ya? PENONTON: Bolehkah anda mempunyai pelbagai input dalam satu baris? Jadi seperti anda boleh meminta pengguna untuk mencetak dua perkara? LAUREN Carvalho: Tidak menggunakan - LUCAS Freitas: No Mari kita mengatakan bahawa saya juga mahu untuk mendapatkan integer ini m. Saya perlu melakukannya dalam satu barisan yang berbeza. PENONTON: Jika anda untuk menjalankan itu, bagaimana [didengar]? Ia akan mencetak segera yang ada [didengar] dan kemudian anda akan masukkan satu dan - LAUREN Carvalho: Nah, menjalankannya. Maksud saya, tiada apa-apa berhenti kita daripada hanya berjalan dan melihat apa yang akan berlaku. LUCAS Freitas: Saya rasa ia akan mengadu pada kita kerana kita tidak menggunakan - LAUREN Carvalho: Oops. LUCAS Freitas: Ia mengadu pada kita hak sekarang kerana kita tidak menggunakan ini berubah-ubah, tetapi jika saya, sebagai contoh, n adalah sama sama dengan, dan m sama bersamaan dengan, maka apa yang akan berlaku dalam kes ini? Apa yang akan program ini lakukan? PENONTON: Saya hanya tertanya-tanya bagaimana ia akan - LAUREN Carvalho: Dia hanya mahu tahu bagaimana ia kelihatan , saya rasa, bukan? Jadi ia mengambil salah seorang daripada mereka, dan kemudian ia mengambil masa yang kedua. Saya fikir kita perlu bergerak ke atas, kerana kami mempunyai satu lagi slaid menunjukkan untuk pergi sebelum - yang anda mahu untuk menarik sehingga matematik? LUCAS Freitas: Ya, matematik. LAUREN Carvalho: Beri saya hanya satu saat. Terdapat berangka yang berbeza beberapa pembolehubah dalam data C. berangka dalam C boleh dikelaskan kepada pelbagai jenis, dan merekalah orang-orang yang anda akan lihat yang paling kerap. Dan int adalah nombor bulat. Anda tidak boleh mempunyai apa-apa perpuluhan. Dalam Appliance, ia mengambil masa 32 bit untuk menyimpan int satu. Apungan boleh mempunyai perpuluhan. Ia juga mengambil 32 bit untuk menyimpan apungan dalam Peralatan ini. Dua adalah nombor dengan nombor perpuluhan ketika itu mengambil 64 bit untuk menyimpannya, yang bermakna anda hanya boleh mempunyai ketepatan yang lebih besar kerana anda boleh mempunyai lebih - apa yang anda memanggilnya? LUCAS Freitas: Ya, itu lagi. LAUREN Carvalho: Lebih tempat selepas titik perpuluhan. Dan yang panjang panjang adalah nombor bulat yang mengambil 64 bit untuk ia sakit dalam Peralatan ini. LUCAS Freitas: Jadi ia boleh lebih besar daripada Ints boleh. LAUREN Carvalho: Perkara mengenai data jenis dalam C adalah bahawa mereka memberitahu anda apa yang jenis data yang anda boleh menyimpan dalam pembolehubah anda. Mereka memberitahu anda bagaimana anda boleh menggunakan ini berubah-ubah dalam program anda. Ia amat penting untuk hanya mengesan apa jenis data yang anda gunakan, dan jika anda perlu dibuang dari jenis data yang lain, pastikan anda tahu betul-betul apa yang berlaku apabila yang pemutus berlaku. Dan anda akan melihat contoh kemudian di dalam slaid yang kesilapan yang boleh berlaku. Mari kita lihat beberapa matematik dalam C dan berfikir benar-benar berhati-hati, saya rasa, mengenai apa yang berlaku ketika ini matematik sedang berlaku. Selaras yang pertama, apa yang berlaku apabila saya mengaku x? PENONTON: Anda membenarkan x menjadi sesuatu? LAUREN Carvalho: Yeah. Baiklah, saya benar-benar meminta operasi sistem 32 bit memori, bukan? Di mana saya boleh menyimpan int, dan Saya akan memanggil bahawa int x. LUCAS Freitas: Pada dasarnya akan dalam ingatan dan mencari tempat yang mempunyai 32 bit dan kata, hey, saya mahu ruang ini, dan ia akan dipanggil x. Jadi anda mencari hanya cukup banyak kotak dalam memori anda untuk kedai untuk nilai-nilai x. LAUREN Carvalho: Dan kemudian saya memulakan x, yang bermaksud bahawa saya hanya menyimpan nilai 2 di tempat itu, sebahagian yang ingatan, bahawa kami bertanya operasi sistem untuk. Dan ke bawah di sini apa yang kami lakukan adalah kita sebenarnya mengisytiharkan dan Memulakan y dalam satu baris dan bukannya dalam dua baris seperti yang kami lakukan di sini, yang juga denda dengan sempurna, Kami menambah 1 untuk x, dan kami menyimpan yang nilai y. LUCAS Freitas: Jadi, pada asasnya apa ini line tidak, ia mendapati kini kotak untuk y, dan kemudian nilainya, perkara yang anda akan diletakkan di dalam kotak, adalah akan menjadi nilai x campur 1. Jadi ia mempunyai kotak ini untuk y. Ia mendapat nilai x, kelihatan di sini, dan melihat bahawa itu 2. Meletakkannya di sana, ditambah 1, jadi ia meletakkan 3 di sana. Adakah ini masuk akal? Jadi y akan 2 dalam kes ini. LAUREN Carvalho: Baiklah, sejuk. Kami melihat beberapa tambahan, jadi mari kita anggap kira-kira bahagian dalam C. Di sini saya mengisytiharkan dan Memulakan apungan dipanggil jawapan dan membahagikan 1 dengan 10, dan kemudian saya mencetak di atas jawapan itu kepada dua tempat perpuluhan. Dan ambil perhatian di sini, dalam satu kenyataan printf saya, apabila saya ingin mencetak sesuatu untuk dua tempat perpuluhan,% .2 f ialah apa yang saya mahu untuk digunakan. Jadi titik 2 adalah hanya mengatakan Saya memerlukan dua tempat selepas perpuluhan dicetak. Kini, apa yang akan berlaku jika saya menjalankan kod ini? Adakah sesiapa yang mempunyai idea? Apa yang akan mencetak? LUCAS Freitas: Apakah kita mengharapkan untuk mendapatkan. LAUREN Carvalho: Apa yang yang kita mahu, pertama sekali? LUCAS Freitas: [didengar] LAUREN Carvalho: 0.1, yeah. Tetapi apa yang akan mencetak? PENONTON: [didengar] LAUREN Carvalho: Nah, tidak, sebenarnya. Ini adalah apa yang saya bercakap tentang mengapa anda perlu menjejaki sangat berhati-hati jenis data anda. Jadi, apa jenis data ini? Adalah int an, bukan? Tiada tempat perpuluhan. 10 adalah juga int satu. Tiada tempat perpuluhan. Jika saya membahagikan satu int oleh int, saya mendapat satu int yang tidak 0.1, kerana Ints tidak boleh mempunyai tempat perpuluhan, tetapi hanya 0. Kerana int satu hanya truncates kira tempat perpuluhan. LUCAS Freitas: Jadi setiap kali anda melakukan operasi dengan Ints, anda akan mendapatkan int sebagai jawapan. Jadi, pada asasnya, apa yang komputer lakukan, ia membahagi 1 oleh 10, dan ia mendapat 0.1. Tetapi rasanya, tunggu, ini adalah sepatutnya integer, jadi anda hanya mengabaikan 0.1, jadi ia kini hanya 0. LAUREN Carvalho: Oleh itu, apabila saya mencetak ini keluar, saya mendapat 0.00 daripada 0.10. LUCAS Freitas: Adakah yang masuk akal? LAUREN Carvalho: Itulah jenis daripada malang, bukan? LUCAS Freitas: Jadi bagaimana kita boleh menetapkan ini? LAUREN Carvalho: Mari kita mencuba dan menetapkan bahawa. Berikut adalah satu contoh di mana saya sebenarnya pemutus 1 dan 10 untuk terapung. Jadi sekarang, 1 tidak lagi int satu. 1 adalah apungan. Dengan cara itu, ini hanya sintaks apabila anda mahu untuk membuang dari satu Jenis data yang lain. Anda hanya boleh meletakkan jenis data yang di kurungan dan mempunyai yang hanya mendahului nilai yang anda pemutus. Jadi di sini, saya membahagikan apungan oleh apungan untuk mendapatkan jawapan yang terapung. Dan ya, ini akan di Malah mencetak 0.10. Adakah ini masuk akal? LUCAS Freitas: Jadi jenis pemutus hanya menukar dari satu jenis yang lain. Jadi terapung 1 adalah benar-benar 1,000. Tidak betul-betul ini, tetapi ia sesuatu yang dengan tempat perpuluhan yang sebenarnya 1. Adakah ini masuk akal? Yeah? PENONTON: Bagaimana jika anda lakukan jawapan apungan bersamaan 1.0 dibahagikan dengan 10? LAUREN Carvalho: Anda sebenarnya akan untuk melihat bahawa dalam slaid seterusnya. Itulah sebenarnya slaid harinya kami. Ini sebenarnya lebih bagus daripada menaip pemutus, saya fikir. Jadi kedua-dua adalah kereta berhias hanya dengan sifat hakikat bahawa mereka mempunyai tempat perpuluhan. Ya? PENONTON: Bagaimana jika anda lakukan [didengar] dibahagikan dengan 10? LAUREN Carvalho: Sebenarnya apungan dibahagikan dengan int satu sebenarnya memberikan anda terapung, jadi yang akan bekerja denda. Tunggu, adakah semua orang faham ini? Kerana ini akan menjadi benar-benar masalah besar dalam Pset1, sebenarnya. Ya? PENONTON: Bolehkah anda hanya dengan cepat pergi ke bahagian yang merah? LAUREN Carvalho: Bahagian merah, yeah. Lucas, adakah anda mahu? LUCAS Freitas: OK. Jadi ingat bahawa peratus adalah pemegang tempat yang. Ia seperti ruang kosong. Jadi mari kita cuba untuk memahami segala-galanya perkara yang berlaku di sini. Peratus bermakna ia pemegang tempat yang. Kemudian anda mempunyai f, yang bermakna pemegang tempat ini adalah untuk apungan. Perkara terakhir yang kita ada di sini adalah .2, Yang bermakna saya mahu ada dua tempat perpuluhan bagi apung. Jika saya hanya mempunyai% f, mereka ia akan meletakkan sekumpulan tempat perpuluhan. Jadi saya hanya boleh meletakkan 0,2 atau 0,1 atau 0,5, atau apa sahaja, dan ia akan meletakkan bahawa beberapa tempat perpuluhan. Satu-satunya perkara adalah bahawa jika anda meletakkan seperti 0,100 atau .1,000, ia bukan sebenarnya akan meletakkan semua tempat-tempat perpuluhan kerana ia tidak mempunyai memori yang cukup mempunyai ketepatan itu. Apa-apa soalan lain? Yeah? PENONTON: Jadi terapung hanya membolehkan anda untuk melampaui integer? LUCAS Freitas: Ya. LAUREN Carvalho: Nah, apungan hanya membolehkan anda mempunyai tempat perpuluhan. LUCAS Freitas: Ia hanya bermakna anda kini boleh mempunyai nombor perpuluhan. PENONTON: Mengapa kita akan pernah menggunakan integer? LUCAS Freitas: Mengapa akan anda menggunakan integer? Mungkin jika anda mengira dari 0 hingga 10, anda mahu menggunakan sebenarnya integer. Anda tidak perlu menggunakan apungan. Dalam sesetengah situasi, anda tidak perlu mempunyai untuk benar-benar - LAUREN Carvalho: Mungkin anda tidak mahu perpuluhan. LUCAS Freitas: Mungkin anda tidak mahu menggunakan apungan. LAUREN Carvalho: Satu perkara lagi ialah, ingat, kedua-dua meletakkan terapung dan int mengambil 32 bit untuk menyimpan mereka, dan mungkin anda tidak mahu membazirkan bit pada tempat perpuluhan. LUCAS Freitas: Yeah. Mahu, hanya berfikir tentang perkara ini. Anda mempunyai 32 bit bagi kedua-dua satu int dan apungan. Untuk int satu, semua 32 bit pergi ke bahagian integer. Jika anda menggunakan apungan dengan 32 bit, anda mempunyai sebahagian daripada memori ini digunakan untuk nombor tersebut, untuk semua nombor, dan bahagian yang lain yang digunakan untuk tempat perpuluhan. Ini bermakna bahawa anda tidak boleh sampai ke jumlah yang sangat besar dengan kereta berhias kerana apungan sudah menggunakan banyak memori untuk tempat perpuluhan. Yeah? PENONTON: Itulah jawapan pertama, apa sebenarnya yang ia lakukan? Adakah ia menetapkan nilai apungan sama kepada pemegang tempat yang untuk yang anda boleh ingat ia di baris berikutnya? Ia mengatakan terapung jawapan. LUCAS Freitas: Yeah. Jadi, jawapan terapung bermakna anda mendapat kini baldi kecil di dalam memori yang memegang apungan, dan perkara yang berlaku yang akan dipanggil jawapan. Jadi itulah yang terapung jawapan tidak. Dan kemudian anda mengatakan bahawa di dalam ini, anda akan meletakkan hasil daripada ini. Jadi, anda akan buat 1.0 dibahagikan dengan 10.0, anda mendapat 0.1, dan kemudian anda meletakkan bahawa di dalam jawapan. LAUREN Carvalho: Jadi dalam satu baris, kami mengisytiharkan dan Memulakan apungan ini dipanggil jawapan. LUCAS Freitas: Menariknya, walaupun ini hanya satu baris, ia melakukan pelbagai operasi. Ia hanya satu cara C penyewaan anda menggunakan kod kurang. Ia adalah perkara yang sama seperti yang pertigaan pengendali, bagaimana anda hanya boleh melakukan sesuatu [Didengar] dalam satu baris. Ia sebenarnya melakukan perkara yang sama seperti melakukan jawapan terapung, koma bertitik, dan maka jawapan sama ini, tetapi sebaliknya membuat anda melakukan dua baris untuk itu, rasanya jalan pintas. Yeah? PENONTON: Jadi, jika anda berlari ini, ia akan menjadi 0.10? LUCAS Freitas: Ya. Yeah? PENONTON: Apakah menjawab sebenarnya kod, atau adakah ia hanya nama? LAUREN Carvalho: Ini sebenarnya kod. Ini adalah apa yang kita akan untuk menamakan pembolehubah kami. PENONTON: Jadi ia hanya nama [didengar]. LAUREN Carvalho: Yeah. Saya boleh berkata apungan x sama 1.0. LUCAS Freitas: Masalahnya ialah nama pembolehubah adalah sesuatu yang anda gunakan. Adalah penting untuk anda. Untuk program sebenar, satu-satunya bahawa perkara-perkara adalah nilai yang anda mempunyai bahagian dalam baldi. Sebab mengapa anda mempunyai pembolehubah dan nama-nama pembolehubah adalah supaya anda akan tahu apa yang anda berurusan dengan, seperti jenis data anda mengakses pada satu masa. Tetapi bagi kod itu sendiri, jika anda memanggil ia menjawab atau soalan atau apa-apa, cukup banyak, ia tidak mengapa. Ia tidak mengapa. Selagi anda konsisten dalam setiap kejadian itu dan supaya anda memanggilnya sesuatu yang lain. Yeah? PENONTON: Adakah pembolehubah melampaui fungsi? Seperti jika anda adalah untuk membuat kurungan [Didengar], anda hanya boleh [Didengar] menjawab lagi? LAUREN Carvalho: No PENONTON: [didengar] LAUREN Carvalho: No Yang akan berada di luar skop variabel ini tertentu. Dan sebenarnya, itu jenis menarik, kerana apabila kita mempunyai perkara seperti gelung atau ini jika syarat, jika anda mengisytiharkan pembolehubah dalam satu lagi set pendakap kerinting, ia benar-benar hanya wujud dalam orang-orang pendakap kerinting. PENONTON: Satu nota akhir mengenai yang [didengar] pelampung. Mengapa anda pernah mahu menggunakan Ints? Ini adalah lebih daripada nota sampingan daripada apa-apa, tetapi komputer anda ketara lebih baik pada pengendalian Ints daripada itu adalah di pelampung pengendalian. Ia seperti suatu perintah magnitud lebih cepat. Jadi, jika kita hanya mengendalikan hanya terapung, perkara akan banyak yang lebih perlahan. LAUREN Carvalho: Sebenarnya, terdapat seolah-olah menjadi masalah dengan kereta berhias. LUCAS Freitas: Jenis sebab bagi itu, anda boleh berfikir, bagaimana dalam binari anda boleh mewakili integer dengan meletakkan 0 dan 1 ini. LAUREN Carvalho: Itu perkara seterusnya. LUCAS Freitas: OK. Awesome. LAUREN Carvalho: Hanya memegang pemikiran itu. LUCAS Freitas: OK, saya akan memberitahu anda kemudian. LAUREN Carvalho: Sebelum kita masuk kepada apa yang Lucas hanya mengatakan, operator keutamaan. Ini adalah akal. Anda semua telah melakukan ini mencukupi. Jadi, hanya jika sesuatu dalam kurungan, ia akan berlaku pertama. Ia pendaraban keutamaan lebih samping itu, tolak, perkara seperti itu. Jadi sebenarnya, hanya tidak sesiapa mahu beritahu saya apa yang nombor satu sebenarnya menilai ke? PENONTON: 27. LAUREN Carvalho: 27? Yeah. LUCAS Freitas: Biar saya memberi gula-gula untuk rakyat. LAUREN Carvalho: Baiklah. Apa kira-kira nombor dua? Apa kira-kira nombor dua? PENONTON: 22. LAUREN Carvalho: 22, yeah. Saya tidak tahu yang mendapat itu. Nombor tiga? PENONTON: 10. LAUREN Carvalho: 10, ya. Sejuk. Jadi modulo. Lucas, adakah anda mahu menerangkan modulo? LUCAS Freitas: Modulo adalah pengendali ini yang sebenarnya sangat berguna untuk sekumpulan masalah. Jika saya 55 modulo 10, apa yang dilakukan ini mari kita mengatakan bahawa saya mahu membahagi 55 dengan 10. Apa yang saya dapat? Rasanya seperti jika saya sebenarnya hanya melakukan bahagian ini, apakah kali pertama saya mendapat integer? PENONTON: 5. LUCAS Freitas: 5. Dan kemudian bakinya ialah 5, bukan? Jadi ia seperti 5 kali 10 tambah 5. Pada asasnya, apa modulo tidak, ia cuba untuk membahagikan nombor ini dengan satu ini, dan ia melihat apa yang selebihnya bahagian ini. LAUREN Carvalho: Jadi ia hanya mengembalikan bakinya. Jadi nombor satu adalah apa? 5. Nombor dua? PENONTON: 3. LAUREN Carvalho: 3. Nombor tiga? 0. Dan empat ialah 1. Tepat sekali. LUCAS Freitas: Mudah, bukan? LAUREN Carvalho: Kenapa tidak kita skip ini hanya kerana kita tidak benar-benar mempunyai masa, dan orang seolah-olah untuk difahami. Jadi di sini adalah apa yang Lucas adalah hanya bercakap tentang. LUCAS Freitas: Satu lagi sebab mengapa saya akan menggunakan Ints bukannya terapung adalah yang terapung adalah sangat tidak tepat. Dan kenapa mereka tidak tepat? David berkata untuk mewakili integer, sebagai contoh, kita menggunakan 0 dan 1, bukan? Dan kemudian anda pada dasarnya melakukan perkara yang darab, melakukan semua mereka operasi untuk mengetahui apa nombor perpuluhan anda mempunyai bukannya binari itu. Apa yang berlaku sekarang jika saya cuba untuk meletakkan titik perpuluhan? Sebenarnya, sebagai contoh, jika saya mempunyai bilangan seperti 3,33333? Rasanya seperti 10 ke atas 3. Bagaimana saya akan menyimpan semua 3 bahawa saya mempunyai selepas itu? Ia benar-benar sukar, bukan? Anda tidak boleh hanya memberitahu komputer, hey, saya mempunyai 3, dan maka anda melakukan itu selama-lamanya. Sebenarnya komputer tidak bijak untuk ini. Jadi, pada asasnya semua komputer anda tidak adalah yang ia cuba untuk meletakkan seberapa banyak digit sebagai ia boleh sehingga memori yang anda ada. Jadi mari kita mengatakan bahawa ia akan mengatakan 3,3333, dan itu sahaja. Jadi ia bukan dapat benar-benar menyatakan tepat apa apungan iaitu. LAUREN Carvalho: Kami mempunyai beberapa terhingga bit, yang bermaksud bahawa tidak setiap nombor perpuluhan akan menjadi dapat diwakili dengan tepat. Dan sebagainya dalam contoh ini, jika kita mencetak 0.1, kami kini percetakan keluar 20 tempat. LUCAS Freitas: Sama seperti saya memberitahu anda lelaki, anda boleh meletakkan sebarang nombor. Tetapi jika anda hanya melakukan kedua-dua tempat, anda akan mendapat 0.10, tetapi jika anda meletakkan 20 tempat, ia akan menunjukkan kepada anda sekumpulan 's kerana ini adalah apa yang anda boleh meletakkan dalam memori, bukan? Tetapi di sini, sehingga 0, dan kemudian hanya meletakkan ia satu sekumpulan nombor rawak. Ini adalah jenis seperti beberapa - LAUREN Carvalho: Ini adalah kerana kita tidak dapat mewakili perpuluhan ini tepat dengan bilangan bit yang kita ada. LUCAS Freitas: Dan kemudian komputer pada dasarnya memberikan anda beberapa sampah. Ini bukan sebenarnya nilai nombor. PENONTON: Ia sehampir ia boleh mendapatkan [didengar] menggunakan [didengar]. LAUREN Carvalho: Jadi implikasi ini ialah katakan bahawa bukan menjadi 0.100014, apa sahaja, bagaimana jika ia adalah 0,0999 - baik, OK. Mari kita berpura-pura bahawa jawapan yang sebenar untuk ini adalah 0,9999999. Yang sangat dekat dengan 1, tetapi ia tidak betul-betul 1. Ia 0,99999. Ini bermakna bahawa jika saya mengambil 0.999, dan saya membuangnya ke int, saya mendapat 0. Saya tidak mendapat 1. LUCAS Freitas: Kerana ingat, pemutus dari apungan untuk int, anda hanya mengabaikan semua tempat perpuluhan. Anda hanya mengabaikan mereka. Tidak ada perkara seperti pembundaran atau berlari ke bawah apabila anda typecast. Sebenarnya, terdapat fungsi ini tidak pembundaran, yang sangat penting, tetapi anda hanya berfikir bahawa apabila anda typecasting, ia hanya akan memadam segala-galanya. Jadi, walaupun anda mempunyai 0,99999, ia akan hanya memberi 0 jika anda typecast [Didengar] integer. LAUREN Carvalho: Jadi hanya benar-benar sedar titik terapung di jitu, terutamanya apabila anda mula menggunakan kereta berhias di Pset1. Tetapi berjalan kaki melalui perlu memberi amaran kepada kamu daripada itu juga. LUCAS Freitas: Dan sebenarnya ia benar-benar keras, sebagai contoh, jika saya apungan jawapan 1 sama 1.0 ke atas 10, dan kemudian terapung jawapan 2 sama 10.0 lebih 100.0. Mereka adalah nombor yang sama, bukan? 0.1, bukan? 1 lebih daripada 10 atau 10 lebih 100. Tetapi sekarang jika saya cuba untuk melihat kesamaan, seperti jika jawapan 1 adalah bersamaan dengan menjawab 2, mungkin ia tidak benar-benar akan menjadi perkara yang sama. Jadi kereta berhias adalah jenis seperti itu. Mereka seperti melakukan kesaksamaan.