1 00:00:00,000 --> 00:00:02,418 >> [MUSIC PLAYING] 2 00:00:02,418 --> 00:00:10,542 3 00:00:10,542 --> 00:00:12,000 Allison Buchholtz-AU: Hey everyone. 4 00:00:12,000 --> 00:00:15,640 Selamat Datang pertama Anda Bagian CS50 resmi. 5 00:00:15,640 --> 00:00:19,507 Seperti yang dapat Anda, lihat ini Bagian CS50-seperti, hanya 6 00:00:19,507 --> 00:00:20,840 untuk menarik agenda kami untuk hari ini. 7 00:00:20,840 --> 00:00:23,990 Jadi, siapa saya, karena saya yakin Anda semua bertanya-tanya. 8 00:00:23,990 --> 00:00:25,514 Saya TF Anda. 9 00:00:25,514 --> 00:00:27,930 Aku tidak hanya mahasiswa acak siapa yang meniru TF Anda. 10 00:00:27,930 --> 00:00:31,190 >> Dan aku akan pergi melalui jenis memiliki bagian akan mengalir, 11 00:00:31,190 --> 00:00:34,900 harapan yang kita miliki, sumber daya, seterusnya dan sebagainya. 12 00:00:34,900 --> 00:00:39,190 Kita akan berbicara tentang array, ASCII fungsi, argumen baris perintah, 13 00:00:39,190 --> 00:00:42,020 dan itu tidak di sini, tapi Saya juga akan membantu 14 00:00:42,020 --> 00:00:45,054 Anda jenis berpikir melalui pset berikutnya untuk minggu ini. 15 00:00:45,054 --> 00:00:46,720 Yang saya yakin Anda semua akan menghargai. 16 00:00:46,720 --> 00:00:48,190 17 00:00:48,190 --> 00:00:53,390 >> Jadi, pertama question-- siapa saya, selain TF riang Anda di sini. 18 00:00:53,390 --> 00:00:55,390 Aku Alison Buchholtz-Au. 19 00:00:55,390 --> 00:00:57,970 Ini adalah tahun kedua saya TFing CS50. 20 00:00:57,970 --> 00:01:00,570 Saya juga TF CS51 di musim semi. 21 00:01:00,570 --> 00:01:03,930 Anda mungkin melihat lagi ada jika Anda memutuskan untuk mengambil itu. 22 00:01:03,930 --> 00:01:07,370 Saya juga PAF, sehingga setiap Freshmen-- dan jika Anda tidak mahasiswa baru, 23 00:01:07,370 --> 00:01:09,980 ini adalah tahun ketiga saya sebagai sesama menasihati. 24 00:01:09,980 --> 00:01:13,630 Saya sangat berpengalaman dalam menasihati Anda pada kehidupan dan program 25 00:01:13,630 --> 00:01:16,549 dalam CS, bukan dalam CS. 26 00:01:16,549 --> 00:01:18,090 Saya seorang Ilmu Komputer Concentrator. 27 00:01:18,090 --> 00:01:20,800 Saya seorang senior di Adams House, rumah terbaik. 28 00:01:20,800 --> 00:01:22,430 29 00:01:22,430 --> 00:01:26,050 Dan sebelum saya beralih ke CS saya Sophomore Spring, 30 00:01:26,050 --> 00:01:27,640 Aku benar-benar seorang insinyur biomedis. 31 00:01:27,640 --> 00:01:29,020 Aku akan pergi ke sekolah Med. 32 00:01:29,020 --> 00:01:30,530 Aku akan menjadi seorang ahli bedah trauma. 33 00:01:30,530 --> 00:01:33,000 Dan itu telah benar-benar berubah sejak saya mengambil CS50. 34 00:01:33,000 --> 00:01:34,250 35 00:01:34,250 --> 00:01:36,310 Aku mengambil kursus Sophomore saya jatuh. 36 00:01:36,310 --> 00:01:38,920 Itu adalah pengenalan pertama saya ke CS pernah. 37 00:01:38,920 --> 00:01:44,104 Saya adalah salah satu dari 78% dari Anda yang telah nol pengalaman datang, 38 00:01:44,104 --> 00:01:45,520 dan itu benar-benar mengubah hidup saya. 39 00:01:45,520 --> 00:01:49,820 Dan sekarang saya sedang bekerja di Microsoft, dan TF indah Anda. 40 00:01:49,820 --> 00:01:53,500 Dan CS50 merupakan salah satu pengalaman terbaik 41 00:01:53,500 --> 00:01:56,210 bahwa aku sudah di sini di Harvard-- baik mengambil kelas 42 00:01:56,210 --> 00:01:59,040 dan mampu membantu mengajar siswa seperti Anda. 43 00:01:59,040 --> 00:02:01,410 >> Jadi aku sangat bersemangat bahwa Anda semua di sini. 44 00:02:01,410 --> 00:02:04,270 Dalam kasus Anda datang terlambat, ada permen, 45 00:02:04,270 --> 00:02:07,227 yang Anda harus merasa bebas untuk datang ambil, atau mengirim 46 00:02:07,227 --> 00:02:08,560 orang lain untuk mengambil untuk Anda. 47 00:02:08,560 --> 00:02:09,399 tidak apa-apa. 48 00:02:09,399 --> 00:02:10,440 Saya tidak ingin makan itu. 49 00:02:10,440 --> 00:02:13,350 Kamar memiliki cukup cokelat, jadi kalian harus mencoba dan menyelesaikan itu. 50 00:02:13,350 --> 00:02:16,730 Aku tahu ada 100 buah, tapi seperti, 04:00 pada hari Senin, 51 00:02:16,730 --> 00:02:19,000 Saya pikir semua orang bisa menggunakan beberapa gula. 52 00:02:19,000 --> 00:02:21,750 >> Jadi semua Anda yang resmi dalam bagian saya 53 00:02:21,750 --> 00:02:24,700 harus mendapatkan email dari saya dengan nomor telepon saya, 54 00:02:24,700 --> 00:02:29,920 email address-- merasa bebas untuk menambahkan saya di Gchat, jangan ragu untuk menambahkan saya di Facebook, 55 00:02:29,920 --> 00:02:33,360 dan juga untuk sisa Anda, Anda dapat email saya di sini. 56 00:02:33,360 --> 00:02:34,450 Ada dua H. 57 00:02:34,450 --> 00:02:37,090 Semua orang selalu melakukan seperti dua L's atau dua C. 58 00:02:37,090 --> 00:02:38,260 Dua H di nama belakang. 59 00:02:38,260 --> 00:02:41,800 Jika tidak itu akan bangkit, dan Aku tidak akan mendapatkan email Anda. 60 00:02:41,800 --> 00:02:46,400 >> Jadi jangan ragu untuk email saya, untuk menghubungi saya kapan saja. 61 00:02:46,400 --> 00:02:51,440 Saya mungkin tidak mendapatkan kembali ke Anda dalam waktu 24 menit, 62 00:02:51,440 --> 00:02:53,760 tapi aku berjanji untuk kembali kepada Anda dalam waktu 24 jam. 63 00:02:53,760 --> 00:02:54,900 64 00:02:54,900 --> 00:02:58,067 Jika Anda menelepon saya setengah jam sebelum pset Anda adalah karena, Anda menjadi seperti, 65 00:02:58,067 --> 00:02:59,650 Aku tidak tahu apa yang saya lakukan Allison. 66 00:02:59,650 --> 00:03:00,160 Bantu saya. 67 00:03:00,160 --> 00:03:04,049 Aku akan menenangkan Anda, tapi pada akhir hari, 68 00:03:04,049 --> 00:03:07,340 jika Anda memanggil saya setengah jam sebelum pset Anda adalah karena dengan tidak tertulis, 69 00:03:07,340 --> 00:03:11,570 Aku akan menjadi seperti, well, mungkin saatnya untuk menggunakan hari terlambat. 70 00:03:11,570 --> 00:03:15,215 Jadi saya akan merespon semua Anda permintaan dalam cara yang sangat tepat waktu. 71 00:03:15,215 --> 00:03:16,482 72 00:03:16,482 --> 00:03:18,190 Ponsel saya biasanya melekat pada tangan saya. 73 00:03:18,190 --> 00:03:21,530 Saya biasanya merespon lebih lebih cepat dari 24 jam, 74 00:03:21,530 --> 00:03:25,650 tapi aku hanya bisa menjamin respon 24 jam. 75 00:03:25,650 --> 00:03:26,580 >> Baik. 76 00:03:26,580 --> 00:03:28,410 Jadi mengapa kita di sini? 77 00:03:28,410 --> 00:03:32,160 Juga, jika Anda memiliki pertanyaan di setiap saat, tolong beritahu saya. 78 00:03:32,160 --> 00:03:32,780 Saya bicara banyak. 79 00:03:32,780 --> 00:03:35,320 Saya bicara cepat, tapi tolong merasa bebas untuk mengganggu saya. 80 00:03:35,320 --> 00:03:36,980 Ini memberi saya ruang untuk bernapas juga. 81 00:03:36,980 --> 00:03:38,159 82 00:03:38,159 --> 00:03:40,200 Jadi bagian yang waktu bagi kita untuk benar-benar hanya menyelam 83 00:03:40,200 --> 00:03:44,270 di, mendapatkan beberapa tangan-pengalaman, untuk pergi melalui topik yang kami sebutkan 84 00:03:44,270 --> 00:03:49,760 di kelas atau dalam bahan studi yang kami sarankan untuk kalian secara online. 85 00:03:49,760 --> 00:03:52,980 Dan kita benar-benar akan pergi melalui beberapa dari mereka sumber daya dalam sedikit. 86 00:03:52,980 --> 00:03:54,300 87 00:03:54,300 --> 00:03:57,400 >> Jadi beberapa catatan pada bagian dukungan. 88 00:03:57,400 --> 00:04:00,250 CS50-- salah satu hal yang membuat itu salah satu kelas favorit saya 89 00:04:00,250 --> 00:04:02,510 adalah perasaan bahwa Anda tidak pernah sendirian. 90 00:04:02,510 --> 00:04:05,430 Kami memiliki staf lebih dari 100 orang yang ada di sini untuk membantu Anda. 91 00:04:05,430 --> 00:04:08,080 Kami memiliki jam kantor Senin sampai Kamis. 92 00:04:08,080 --> 00:04:13,230 Jadi ada begitu banyak orang yang cinta kelas hanya sebanyak seperti yang saya lakukan 93 00:04:13,230 --> 00:04:15,750 dan yang benar-benar di sini karena mereka ingin berada di sini. 94 00:04:15,750 --> 00:04:19,390 Sebagian besar dari kita adalah mahasiswa, dan ini seperti kelas kelima di samping 95 00:04:19,390 --> 00:04:20,390 ke seluruh pekerjaan kami. 96 00:04:20,390 --> 00:04:22,723 >> Dan itu banyak pekerjaan, tetapi kita melakukannya karena kita menyukainya, 97 00:04:22,723 --> 00:04:25,600 dan kita benar-benar senang untuk mengajarkan Anda dan membantu berbagi kegembiraan kami 98 00:04:25,600 --> 00:04:27,260 untuk hal ini dan kelas ini. 99 00:04:27,260 --> 00:04:28,490 Jadi silakan manfaatkan. 100 00:04:28,490 --> 00:04:29,370 Datang berbicara dengan kami. 101 00:04:29,370 --> 00:04:33,034 Aku kesepian ketika siswa saya tidak berbicara dengan saya, jadi jika Anda ingin, 102 00:04:33,034 --> 00:04:33,950 datang bergaul dengan saya. 103 00:04:33,950 --> 00:04:35,200 Ini akan menjadi besar. 104 00:04:35,200 --> 00:04:37,400 >> Jadi bagian jelas salah satu hal terbesar Anda. 105 00:04:37,400 --> 00:04:41,770 Kita akan pergi melalui hal-hal yang Anda pelajari di kuliah, 106 00:04:41,770 --> 00:04:44,100 melakukan beberapa contoh singkat ketika kita punya waktu, 107 00:04:44,100 --> 00:04:46,187 dan umumnya jenis mendapatkan ide tentang hal-hal 108 00:04:46,187 --> 00:04:48,270 Anda harus berpikir tentang untuk masalah Anda mengatur. 109 00:04:48,270 --> 00:04:49,540 110 00:04:49,540 --> 00:04:53,591 Shorts-- berapa banyak orang sebenarnya menonton video dari awal Anda 111 00:04:53,591 --> 00:04:54,090 pendek? 112 00:04:54,090 --> 00:04:55,460 113 00:04:55,460 --> 00:04:57,390 Siapapun mengenali saya? 114 00:04:57,390 --> 00:04:59,720 Jadi mereka sangat besar. 115 00:04:59,720 --> 00:05:01,210 Anda pasti harus menonton mereka. 116 00:05:01,210 --> 00:05:02,880 Banyak pekerjaan telah dimasukkan ke dalamnya. 117 00:05:02,880 --> 00:05:06,690 Dan mereka hanya dimaksudkan untuk menjadi gigitan-ukuran potongan bagi Anda untuk hanya menonton 118 00:05:06,690 --> 00:05:09,760 selama tiga atau empat menit dan mendapatkan pemahaman yang lebih baik dari konsep. 119 00:05:09,760 --> 00:05:11,147 120 00:05:11,147 --> 00:05:12,980 Berjalan throughs-- bagaimana banyak orang telah menyaksikan 121 00:05:12,980 --> 00:05:14,880 berjalan-through untuk yang sebelumnya? 122 00:05:14,880 --> 00:05:16,240 Zamyla menakjubkan, bukan? 123 00:05:16,240 --> 00:05:18,100 Seperti, aku berharap aku Zamyla kadang-kadang. 124 00:05:18,100 --> 00:05:19,650 125 00:05:19,650 --> 00:05:21,640 Jadi pasti menggunakan walk-through Anda. 126 00:05:21,640 --> 00:05:25,070 Dia akan memecahnya menjadi potongan-potongan kecil, menggigit-ukuran. 127 00:05:25,070 --> 00:05:28,079 Dan ketika Anda memiliki ini besar Spesifikasi dari set masalah Anda, 128 00:05:28,079 --> 00:05:30,870 itu akan menjadi benar-benar penting untuk dapat langsung mencari tempat 129 00:05:30,870 --> 00:05:32,600 untuk memulai dan bekerja perlahan-lahan melalui itu. 130 00:05:32,600 --> 00:05:33,610 131 00:05:33,610 --> 00:05:40,260 >> Baiklah, kami juga memiliki Study50, yang adalah study50.harvard.edu, saya percaya. 132 00:05:40,260 --> 00:05:42,270 Anda bisa saja Google belajar, dan itu akan datang. 133 00:05:42,270 --> 00:05:45,750 Ini adalah salah satu sumber daya terbaik yang kita miliki. 134 00:05:45,750 --> 00:05:49,800 Ini adalah PowerPoint dengan catatan dan praktek masalah bagi Anda 135 00:05:49,800 --> 00:05:52,430 dengan solusi yang Anda dapat benar-benar berjalan melalui. 136 00:05:52,430 --> 00:05:57,000 Jadi jika Anda pernah ingin lebih banyak latihan, lebih dari yang kita lakukan di bagian atau lebih 137 00:05:57,000 --> 00:06:00,700 dari set masalah Anda, ini adalah benar-benar tempat saya mendorong Anda untuk pergi. 138 00:06:00,700 --> 00:06:03,590 Dibangun musim panas lalu oleh beberapa teman yang benar-benar baik saya. 139 00:06:03,590 --> 00:06:04,480 Dan itu menakjubkan. 140 00:06:04,480 --> 00:06:05,540 141 00:06:05,540 --> 00:06:08,670 Bahkan, banyak slide bahwa saya akan menggunakan untuk Bagian 142 00:06:08,670 --> 00:06:10,190 akan datang dari Study50. 143 00:06:10,190 --> 00:06:12,000 >> Jadi banyak TF menggunakannya. 144 00:06:12,000 --> 00:06:13,920 Dan akhirnya, seperti yang saya disebutkan, jam kantor. 145 00:06:13,920 --> 00:06:15,836 Jika Anda mengalami kesulitan dengan pekerjaan rumah, Anda 146 00:06:15,836 --> 00:06:18,270 mengalami kesulitan dengan konsep, datang ke kantor jam. 147 00:06:18,270 --> 00:06:20,190 Pergi di awal minggu jika Anda bisa. 148 00:06:20,190 --> 00:06:23,130 Keluar ke quad, karena agak jauh. 149 00:06:23,130 --> 00:06:24,780 Tidak ada yang suka untuk berjalan di luar sana. 150 00:06:24,780 --> 00:06:27,090 Tapi itu adalah untuk keuntungan Anda, karena maka Anda 151 00:06:27,090 --> 00:06:29,580 akan memiliki semua TF ini, [Tak terdengar] mengelilingi Anda. 152 00:06:29,580 --> 00:06:31,920 Dan terutama sekarang, hanya tip, Kamis 153 00:06:31,920 --> 00:06:35,310 sangat dingin sekarang di Mather karena psets Anda 154 00:06:35,310 --> 00:06:36,577 akan jatuh tempo pada hari Kamis. 155 00:06:36,577 --> 00:06:38,410 Dan yang mengetahui ingin menggunakan hari terlambat Anda belum. 156 00:06:38,410 --> 00:06:40,030 >> Jadi jika Anda memiliki masalah dengan konsep, 157 00:06:40,030 --> 00:06:41,780 ada banyak TF yang ada untuk membantu Anda. 158 00:06:41,780 --> 00:06:43,196 Jadi datang ke Mather, Kamis. 159 00:06:43,196 --> 00:06:45,280 Jika Anda ingin melihat saya, Aku akan berada di sana. 160 00:06:45,280 --> 00:06:48,870 Saya biasanya melakukan pekerjaan rumah saya sendiri, karena tidak ada yang mau membantu saya. 161 00:06:48,870 --> 00:06:50,260 Jadi datang melihat kami. 162 00:06:50,260 --> 00:06:51,460 163 00:06:51,460 --> 00:06:52,440 >> Temui kami di tengah jalan. 164 00:06:52,440 --> 00:06:55,400 Jadi berapa banyak orang telah menghadiri kuliah atau menonton secara online? 165 00:06:55,400 --> 00:06:56,570 166 00:06:56,570 --> 00:06:59,140 Berapa banyak orang pergi ke Super seksi minggu lalu? 167 00:06:59,140 --> 00:07:00,171 168 00:07:00,171 --> 00:07:00,670 Keren. 169 00:07:00,670 --> 00:07:02,190 Itu sebenarnya cukup banyak. 170 00:07:02,190 --> 00:07:05,425 Berapa banyak dari Anda telah membaca Anda spek untuk minggu ini, untuk pset Anda? 171 00:07:05,425 --> 00:07:07,081 172 00:07:07,081 --> 00:07:08,461 Ooh, aku bangga kalian! 173 00:07:08,461 --> 00:07:09,335 Lebih permen untuk kalian. 174 00:07:09,335 --> 00:07:11,070 175 00:07:11,070 --> 00:07:13,280 >> Baik, jadi apa yang kita maksud "Menemui kami di tengah jalan," adalah 176 00:07:13,280 --> 00:07:16,440 Bagian yang benar-benar hanya akan menjadi super berguna bagi Anda 177 00:07:16,440 --> 00:07:19,810 jika Anda datang setelah membaca Anda spesifikasi untuk pset Anda. 178 00:07:19,810 --> 00:07:23,859 Karena ketika saya pergi melalui gambaran hal yang harus Anda melihat keluar untuk, 179 00:07:23,859 --> 00:07:25,650 itu tidak akan membuat sebanyak akal jika Anda 180 00:07:25,650 --> 00:07:28,358 tidak tahu apa masalah Anda mengatur yang akan meminta Anda untuk dilakukan. 181 00:07:28,358 --> 00:07:29,020 182 00:07:29,020 --> 00:07:32,590 >> Jika Anda tidak datang ke bagian, jelas Saya tidak dapat yang berguna bagi Anda. 183 00:07:32,590 --> 00:07:36,600 Aku tidak akan tersinggung jika Anda tidak datang ke bagian saya sekarang, 184 00:07:36,600 --> 00:07:38,570 tapi pasti Anda harus. 185 00:07:38,570 --> 00:07:40,090 Jika Anda tidak dapat, menonton secara online. 186 00:07:40,090 --> 00:07:41,230 187 00:07:41,230 --> 00:07:42,519 Mereka ada karena suatu alasan. 188 00:07:42,519 --> 00:07:43,560 Tambang akan segera ke sana. 189 00:07:43,560 --> 00:07:44,187 190 00:07:44,187 --> 00:07:47,270 Seperti yang Anda perhatikan, kita sedang direkam, sehingga akan segera ke sana untuk kalian. 191 00:07:47,270 --> 00:07:49,110 192 00:07:49,110 --> 00:07:51,570 Selain itu, akan lectures-- itu jelas 193 00:07:51,570 --> 00:07:53,790 di mana Anda mendapatkan mulai dari materi Anda di sini. 194 00:07:53,790 --> 00:07:57,430 Jadi saya pasti akan mencoba dan membantu Anda sebanyak yang saya bisa, 195 00:07:57,430 --> 00:07:58,840 tapi aku hanya bisa bertemu dengan Anda sejauh ini. 196 00:07:58,840 --> 00:08:01,220 Anda harus jenis menemui kami setengah jalan di sana. 197 00:08:01,220 --> 00:08:04,050 >> Grading-- begitu, kalian semua yang mendapat email dari saya, 198 00:08:04,050 --> 00:08:05,445 Anda bagian resmi saya. 199 00:08:05,445 --> 00:08:06,470 200 00:08:06,470 --> 00:08:08,120 Aku akan grading psets Anda. 201 00:08:08,120 --> 00:08:12,870 Dan aku hanya ingin mengatakan, satu hal yang Anda benar-benar harus memperhatikan 202 00:08:12,870 --> 00:08:13,820 adalah komentar. 203 00:08:13,820 --> 00:08:17,390 Komentar sering lebih berguna dari skor aktual kami memberikan. 204 00:08:17,390 --> 00:08:19,890 Dan komentar sebenarnya di mana saya menghabiskan banyak waktu saya 205 00:08:19,890 --> 00:08:20,770 ketika saya grading. 206 00:08:20,770 --> 00:08:22,700 Jadi saya akan menghargai jika Anda membacanya. 207 00:08:22,700 --> 00:08:26,990 Dan mereka benar-benar bagaimana Anda akan untuk mempelajari lebih lanjut tentang desain dan gaya 208 00:08:26,990 --> 00:08:29,860 dan hal-hal yang merupakan sedikit kurang dipotong dan kering. 209 00:08:29,860 --> 00:08:31,770 >> Jadi benar-benar memperhatikan kepada mereka komentar. 210 00:08:31,770 --> 00:08:34,720 Jika Anda memiliki pertanyaan tentang mereka, atau pertanyaan tentang skor Anda, 211 00:08:34,720 --> 00:08:37,620 silahkan datang bicara padaku baik sebelum bagian, 212 00:08:37,620 --> 00:08:41,039 Aku mungkin akan nongkrong di lobi, atau sesudahnya. 213 00:08:41,039 --> 00:08:43,559 Jika Anda ingin menjadwalkan satu-on-one meeting tentang bagaimana 214 00:08:43,559 --> 00:08:46,100 Anda dapat membantu meningkatkan nanti masalah set, just let me know. 215 00:08:46,100 --> 00:08:47,520 216 00:08:47,520 --> 00:08:49,750 >> Dan kemudian hanya beberapa tips untuk kalian. 217 00:08:49,750 --> 00:08:53,110 Jadi salah satu hal terbesar Saya selalu menekankan kepada bagian saya 218 00:08:53,110 --> 00:08:57,700 ketika Anda belajar bagaimana kode adalah untuk menulis hal-hal di atas kertas pertama. 219 00:08:57,700 --> 00:09:01,080 Jika Anda memiliki rencana permainan untuk di mana kode Anda perlu untuk pergi 220 00:09:01,080 --> 00:09:03,230 dan apa yang dibutuhkan untuk lakukan dan itu dipecah 221 00:09:03,230 --> 00:09:06,000 menjadi potongan-potongan kecil pseudocode kode yang telah ditulis, 222 00:09:06,000 --> 00:09:09,780 Anda akan menjadi kurang mungkin untuk membuat kesalahan sintaks 223 00:09:09,780 --> 00:09:12,355 atau membuat jika loop yang tidak memiliki lagi. 224 00:09:12,355 --> 00:09:14,064 225 00:09:14,064 --> 00:09:15,980 Jika Anda tahu di mana Anda akan secara keseluruhan, Anda 226 00:09:15,980 --> 00:09:19,764 kecil kemungkinannya untuk membuat ini kecil kesalahan yang kadang-kadang akan membawa Anda 227 00:09:19,764 --> 00:09:22,555 jam untuk memperbaikinya, karena Anda seperti, di mana saya hilang braket ini? 228 00:09:22,555 --> 00:09:23,580 229 00:09:23,580 --> 00:09:27,420 >> Pada catatan itu, silakan gunakan Style50. 230 00:09:27,420 --> 00:09:28,820 231 00:09:28,820 --> 00:09:31,590 Terutama ketika Anda akan jam kantor, 232 00:09:31,590 --> 00:09:34,850 jika kode Anda semua beralih ke satu sisi, 233 00:09:34,850 --> 00:09:37,740 itu adalah kebijakan program bahwa kita dapat mengatakan, memperbaikinya 234 00:09:37,740 --> 00:09:41,990 sehingga terlihat seperti Style50 mengatakan seharusnya, dan kemudian kami akan membantu Anda. 235 00:09:41,990 --> 00:09:43,830 Sehingga akan membuat hidup Anda lebih mudah. 236 00:09:43,830 --> 00:09:45,030 Ini akan membuat hidup kita lebih mudah. 237 00:09:45,030 --> 00:09:46,000 Semua orang bahagia. 238 00:09:46,000 --> 00:09:47,290 Semua orang mendapat nilai yang lebih baik. 239 00:09:47,290 --> 00:09:48,760 Bukankah itu yang kita semua inginkan? 240 00:09:48,760 --> 00:09:50,420 241 00:09:50,420 --> 00:09:53,860 >> Jadi menulis hal-hal di atas kertas sebelum Anda pernah menyentuh komputer Anda. 242 00:09:53,860 --> 00:09:57,540 Bicara hal-hal pada tingkat tinggi, dan pastikan Anda tahu di mana Anda akan pergi. 243 00:09:57,540 --> 00:09:59,940 Dan jika Anda tidak yakin, duduk dengan seseorang 244 00:09:59,940 --> 00:10:03,340 dan berjalan mereka melalui langkah demi langkah apa kode Anda yang seharusnya dilakukan. 245 00:10:03,340 --> 00:10:07,940 Dan sembilan dari 10, Anda akan seperti, oh, aku lupa sebuah jika kondisi 246 00:10:07,940 --> 00:10:12,420 atau saya lupa titik koma di sini atau Saya memperbarui salah variabel ini. 247 00:10:12,420 --> 00:10:15,740 Jadi mereka adalah tips saya untuk sukses. 248 00:10:15,740 --> 00:10:19,820 >> Jadi sejak sekitar setengah dari Anda melihat seperti Anda menghadiri Super bagian, 249 00:10:19,820 --> 00:10:24,080 Aku hanya akan sangat sebentar pergi melalui loop, 250 00:10:24,080 --> 00:10:26,650 yang tidak pada agenda asli kita. 251 00:10:26,650 --> 00:10:28,190 Tapi mereka benar-benar penting. 252 00:10:28,190 --> 00:10:30,250 Dan aku akan baik kecepatan melalui mereka 253 00:10:30,250 --> 00:10:32,860 sebelum kita masuk ke bagian kami yang sebenarnya. 254 00:10:32,860 --> 00:10:36,269 Sebelum saya melakukan itu, apakah ada setiap questions-- logistik, 255 00:10:36,269 --> 00:10:38,060 secara pribadi, apakah ada apa pun yang Anda inginkan 256 00:10:38,060 --> 00:10:40,990 untuk mengetahui tentang saya atau sekitar bagian atau kelas pada umumnya? 257 00:10:40,990 --> 00:10:43,195 258 00:10:43,195 --> 00:10:43,880 Semua baik? 259 00:10:43,880 --> 00:10:45,300 OK, keren. 260 00:10:45,300 --> 00:10:46,781 261 00:10:46,781 --> 00:10:47,280 Indah. 262 00:10:47,280 --> 00:10:50,071 >> Jadi loops-- kalian harus semua mengenali potongan-potongan ini dari awal. 263 00:10:50,071 --> 00:10:51,310 264 00:10:51,310 --> 00:10:55,220 Jadi loop pada dasarnya hanya cara bagi kita untuk melakukan sesuatu 265 00:10:55,220 --> 00:10:58,900 beberapa beberapa kali, beberapa diulang tindakan berdasarkan beberapa bersyarat. 266 00:10:58,900 --> 00:11:00,140 267 00:11:00,140 --> 00:11:02,090 Jadi kita memiliki tiga jenis. 268 00:11:02,090 --> 00:11:04,860 Kami memiliki untuk loop, sementara, dan do-while. 269 00:11:04,860 --> 00:11:06,430 270 00:11:06,430 --> 00:11:11,320 >> Jadi untuk loops-- hanya kita memiliki sangat tata letak umum di sini dari untuk loop. 271 00:11:11,320 --> 00:11:16,110 Dan ini sangat bagus untuk ketika Anda tahu bagaimana berkali-kali sesuatu perlu mengeksekusi. 272 00:11:16,110 --> 00:11:17,040 273 00:11:17,040 --> 00:11:18,790 Ketika kita berbicara tentang loop lain, Anda akan 274 00:11:18,790 --> 00:11:20,650 melihat mengapa itu merupakan perbedaan penting. 275 00:11:20,650 --> 00:11:22,530 Tapi untuk loop untuk sesuatu set. 276 00:11:22,530 --> 00:11:24,590 Anda tahu Anda dapat menghitung jumlah 277 00:11:24,590 --> 00:11:29,230 atau Anda tahu berapa kali Anda ingin ini terulang di awal. 278 00:11:29,230 --> 00:11:32,220 >> Jadi jika Anda lihat di sini, kita memiliki hanya semacam umum 279 00:11:32,220 --> 00:11:34,480 kerangka kerangka untuk untuk loop di sini. 280 00:11:34,480 --> 00:11:38,080 Jadi untuk-inisialisasi, ini adalah di mana variabel diinisialisasi. 281 00:11:38,080 --> 00:11:41,915 Dengan Mario, saya yakin kalian lakukan sesuatu seperti int i sama dengan 0. 282 00:11:41,915 --> 00:11:42,920 283 00:11:42,920 --> 00:11:44,710 Di situlah yang akan terjadi dengan warna biru. 284 00:11:44,710 --> 00:11:48,290 Anda memiliki kondisi Anda, yang adalah apa yang diperiksa setiap kali. 285 00:11:48,290 --> 00:11:52,410 Jika kondisi ini benar, maka sisa kode dijalankan. 286 00:11:52,410 --> 00:11:54,749 Kemudian akan menjalankan again-- dan bertanya. 287 00:11:54,749 --> 00:11:57,290 Dan kemudian kita harus memperbarui, di mana Anda memperbarui variabel Anda. 288 00:11:57,290 --> 00:12:01,410 Jadi, sekali lagi, dengan seperti Mario, saya yakin kalian melakukan sesuatu seperti i plus plus. 289 00:12:01,410 --> 00:12:04,640 Jadi setiap kali loop berlari, aku punya diperbarui sehingga 290 00:12:04,640 --> 00:12:09,370 bahwa ketika kami memeriksa itu terhadap beberapa kondisi, itu berubah. 291 00:12:09,370 --> 00:12:12,570 >> Karena jika Anda hanya memiliki variabel statis, 292 00:12:12,570 --> 00:12:15,567 jika dijalankan pertama kali, itu hanya akan mengeksekusi jauh. 293 00:12:15,567 --> 00:12:18,025 Jadi, Anda harus memastikan bahwa Anda memperbarui variabel Anda dengan benar. 294 00:12:18,025 --> 00:12:19,350 295 00:12:19,350 --> 00:12:23,890 Dan kami juga memiliki hanya representasi visual di sana. 296 00:12:23,890 --> 00:12:24,930 Semua orang baik? 297 00:12:24,930 --> 00:12:25,630 Untuk loop. 298 00:12:25,630 --> 00:12:27,540 Seharusnya melihat ini di pset Anda. 299 00:12:27,540 --> 00:12:28,840 Keren. 300 00:12:28,840 --> 00:12:31,870 >> Jadi di sini hanya sebuah contoh yang mudah. 301 00:12:31,870 --> 00:12:32,860 Cetak Ini adalah CS50! 302 00:12:32,860 --> 00:12:33,360 10 kali. 303 00:12:33,360 --> 00:12:34,850 304 00:12:34,850 --> 00:12:37,906 Dan jadi kita harus inisialisasi kami, seperti yang kita lihat di sana, dengan int i 305 00:12:37,906 --> 00:12:41,280 sama dengan 0, untuk i kurang dari 10, dan saya plus plus. 306 00:12:41,280 --> 00:12:43,090 307 00:12:43,090 --> 00:12:44,540 Dan itu akan mencetak bahwa 10 kali. 308 00:12:44,540 --> 00:12:46,230 309 00:12:46,230 --> 00:12:56,781 >> Jadi sementara loops-- sementara loop ketika besar Anda lakukan belum tentu 310 00:12:56,781 --> 00:12:59,530 harus tahu berapa kali itu akan memperbarui pada awalnya. 311 00:12:59,530 --> 00:13:00,640 312 00:13:00,640 --> 00:13:02,580 Anda hanya memiliki beberapa Kondisi yang diperiksa. 313 00:13:02,580 --> 00:13:09,550 Dan ini bisa menjadi sesuatu seperti while-- mari kita mengambil contoh dari pset Anda. 314 00:13:09,550 --> 00:13:12,540 Jika Mario, Anda mencoba untuk masukan angka negatif. 315 00:13:12,540 --> 00:13:13,270 Benar? 316 00:13:13,270 --> 00:13:15,460 Kau seharusnya kembali meminta pengguna Anda. 317 00:13:15,460 --> 00:13:20,890 Jadi Anda bisa mengatakan, baik, jika input pengguna sesuatu yang kurang dari nol, re-cepat 318 00:13:20,890 --> 00:13:21,390 mereka. 319 00:13:21,390 --> 00:13:23,890 Dan aku yakin yang mungkin memiliki sesuatu bahwa beberapa dari Anda 320 00:13:23,890 --> 00:13:24,660 digunakan dalam kode Anda. 321 00:13:24,660 --> 00:13:26,270 >> Jadi itu adalah hal yang sederhana. 322 00:13:26,270 --> 00:13:28,490 Anda memiliki sementara, beberapa kondisional yang diperiksa 323 00:13:28,490 --> 00:13:30,460 setiap kali kode berjalan untuk mengeksekusi. 324 00:13:30,460 --> 00:13:32,660 Jika bernilai true, kita menjalankannya. 325 00:13:32,660 --> 00:13:33,820 Kalau tidak, kita tidak. 326 00:13:33,820 --> 00:13:35,650 Dan apa yang benar-benar sesuatu important-- Saya 327 00:13:35,650 --> 00:13:38,155 berpikir bahwa David berbicara tentang di lecture-- adalah kawat gigi. 328 00:13:38,155 --> 00:13:40,760 329 00:13:40,760 --> 00:13:42,930 Apapun itu dalam kawat gigi adalah apa yang dijalankan. 330 00:13:42,930 --> 00:13:45,850 Jika Anda lupa mereka kawat gigi, itu hanya akan 331 00:13:45,850 --> 00:13:48,800 menjadi garis langsung setelah beberapa saat dieksekusi. 332 00:13:48,800 --> 00:13:51,040 >> Jadi jika Anda memiliki tiga hal-hal yang seharusnya 333 00:13:51,040 --> 00:13:54,020 terjadi ketika ini Kondisi bernilai true, 334 00:13:54,020 --> 00:13:58,040 dan Anda tidak memiliki orang-orang kawat gigi, hanya hal pertama yang akan terjadi. 335 00:13:58,040 --> 00:14:01,510 Jadi sangat sadar di mana Anda meletakkan kawat gigi Anda. 336 00:14:01,510 --> 00:14:04,880 Jika Anda tetap dengan Style50, ini pasti akan membantu Anda. 337 00:14:04,880 --> 00:14:06,220 338 00:14:06,220 --> 00:14:06,760 Keren. 339 00:14:06,760 --> 00:14:10,835 >> Jadi ini adalah hitung mundur dari 10 sampai nol. 340 00:14:10,835 --> 00:14:12,380 341 00:14:12,380 --> 00:14:16,210 Dan seperti yang Anda lihat di sini, kita menginisialisasi beberapa meja di luar itu. 342 00:14:16,210 --> 00:14:19,250 Satu hal yang berbeda adalah kita tidak menginisialisasi variabel kami 343 00:14:19,250 --> 00:14:20,300 dalam loop sementara kami. 344 00:14:20,300 --> 00:14:22,150 Ini diinisialisasi di luar itu. 345 00:14:22,150 --> 00:14:25,480 Kami hanya hanya menempatkan kondisi di untuk sementara kami. 346 00:14:25,480 --> 00:14:28,630 Jadi dalam hal ini, itu sementara hitung lebih besar dari nol. 347 00:14:28,630 --> 00:14:35,134 Dan kami mencetak apa count kita, dan kemudian kami pengurangan variabel kita. 348 00:14:35,134 --> 00:14:36,800 Dan itu juga hal lain untuk melihat. 349 00:14:36,800 --> 00:14:40,440 Pembaruan kita tidak terjadi dalam bagian pertama dari loop sementara. 350 00:14:40,440 --> 00:14:44,255 Ini akan benar-benar terjadi dalam kawat gigi, tubuh teks Anda. 351 00:14:44,255 --> 00:14:46,820 352 00:14:46,820 --> 00:14:51,860 >> Jadi jangan-sementara loops-- do-while loop yang besar untuk validasi pengguna. 353 00:14:51,860 --> 00:14:54,820 Jadi beberapa dari Anda mungkin memiliki juga menggunakan ini di pset Anda. 354 00:14:54,820 --> 00:14:59,960 Anda dapat mengatakan, lakukan, seperti, meminta pengguna untuk input. 355 00:14:59,960 --> 00:15:04,690 Dan kemudian saat, seperti, yang masukan kurang dari beberapa nomor. 356 00:15:04,690 --> 00:15:10,700 >> Jadi untuk kasus eksplisit dengan Mario, itu akan melakukan printf, masukkan integer, 357 00:15:10,700 --> 00:15:13,820 dan kemudian beberapa bilangan bulat sama dengan getInt. 358 00:15:13,820 --> 00:15:17,060 Dan kemudian itu akan benar-benar mengeksekusi kode yang pertama. 359 00:15:17,060 --> 00:15:19,120 Anda akan benar-benar memiliki semacam integer. 360 00:15:19,120 --> 00:15:23,380 Dan kemudian Anda bisa mengatakan, sementara integer yang kurang dari nol. 361 00:15:23,380 --> 00:15:26,120 Jadi apa yang akan lakukan adalah itu akan mengeksekusi setidaknya sekali. 362 00:15:26,120 --> 00:15:27,536 Ini akan memeriksa kondisi. 363 00:15:27,536 --> 00:15:29,690 Jika kondisi ini benar, itu akan berjalan lagi. 364 00:15:29,690 --> 00:15:32,900 >> Jadi do-while loop besar untuk validasi pengguna, 365 00:15:32,900 --> 00:15:36,770 karena Anda tahu kode akan mengeksekusi setidaknya 366 00:15:36,770 --> 00:15:39,720 sekali, sedangkan dengan sementara loop, Anda tidak 367 00:15:39,720 --> 00:15:41,630 dijamin bahwa itu akan mengeksekusi sekali. 368 00:15:41,630 --> 00:15:45,330 Ini akan memeriksa kondisi pertama dan kemudian memutuskan untuk melaksanakannya, 369 00:15:45,330 --> 00:15:48,350 sementara do-while akan mengeksekusi kode pertama 370 00:15:48,350 --> 00:15:51,110 dan kemudian memeriksa untuk melihat apakah Anda perlu mengulanginya. 371 00:15:51,110 --> 00:15:52,985 Apakah perbedaan itu masuk akal untuk semua orang? 372 00:15:52,985 --> 00:15:53,680 373 00:15:53,680 --> 00:15:54,180 OK. 374 00:15:54,180 --> 00:15:55,651 375 00:15:55,651 --> 00:15:56,150 Keren. 376 00:15:56,150 --> 00:15:57,380 377 00:15:57,380 --> 00:15:59,800 >> Jadi dalam hal ini, ini adalah jenis dari apa yang saya bicarakan, 378 00:15:59,800 --> 00:16:02,210 ini re-petunjuk sampai Anda mendapatkan angka positif. 379 00:16:02,210 --> 00:16:05,060 Jadi kita tahu bahwa printf "Masukkan angka positif" 380 00:16:05,060 --> 00:16:08,720 dan benar-benar meminta untuk itu masukan akan terjadi setidaknya sekali. 381 00:16:08,720 --> 00:16:12,650 Jika pengguna jahat dan terus memasukkan angka negatif, yang 382 00:16:12,650 --> 00:16:14,210 tahu berapa kali itu akan mengeksekusi. 383 00:16:14,210 --> 00:16:17,500 Tapi kode ini dijamin untuk mengeksekusi setidaknya sekali. 384 00:16:17,500 --> 00:16:20,040 Dan itulah mengapa itu bagus untuk memvalidasi input. 385 00:16:20,040 --> 00:16:22,300 Dan Anda akan menggunakan cukup sedikit. 386 00:16:22,300 --> 00:16:23,870 387 00:16:23,870 --> 00:16:25,830 >> Baiklah, pertanyaan sejauh ini? 388 00:16:25,830 --> 00:16:27,080 389 00:16:27,080 --> 00:16:28,030 Kami semua baik? 390 00:16:28,030 --> 00:16:29,513 Apakah saya berbicara terlalu cepat? 391 00:16:29,513 --> 00:16:30,520 392 00:16:30,520 --> 00:16:31,130 Kita baik? 393 00:16:31,130 --> 00:16:31,630 OK. 394 00:16:31,630 --> 00:16:32,960 395 00:16:32,960 --> 00:16:33,800 Mengagumkan 396 00:16:33,800 --> 00:16:35,841 >> Jadi kita akan pergi ke depan dan berbicara tentang array. 397 00:16:35,841 --> 00:16:36,660 398 00:16:36,660 --> 00:16:37,600 Keren. 399 00:16:37,600 --> 00:16:40,700 Jadi array pada dasarnya hanya struktur data 400 00:16:40,700 --> 00:16:43,260 yang memungkinkan kita untuk menyimpan hal dari jenis yang sama. 401 00:16:43,260 --> 00:16:47,920 Jadi jika Anda pernah memiliki sebuah array, itu baik hanya akan memiliki int 402 00:16:47,920 --> 00:16:51,590 atau itu hanya akan memiliki mengapung atau itu hanya akan memiliki karakter. 403 00:16:51,590 --> 00:16:55,440 Anda tidak akan memiliki int dengan char dengan pelampung dengan ganda. 404 00:16:55,440 --> 00:16:56,850 Satu hal. 405 00:16:56,850 --> 00:17:00,810 Array hanya satu ukuran, atau mereka hanya satu jenis. 406 00:17:00,810 --> 00:17:05,679 >> Jadi di sini kita memiliki sebuah array ukuran tiga dengan tiga bilangan bulat di dalamnya. 407 00:17:05,679 --> 00:17:07,970 Mereka bisa mengapung, tapi kami akan mengatakan int mereka. 408 00:17:07,970 --> 00:17:09,310 409 00:17:09,310 --> 00:17:16,970 Jadi satu hal yang harus disadari adalah bahwa array adalah ukuran set ketika Anda menginisialisasi 410 00:17:16,970 --> 00:17:22,285 mereka, dan mereka tidak easily-- karena Anda semua kurang nyaman, 411 00:17:22,285 --> 00:17:25,034 Anda hanya harus menganggap mereka sebagai tidak mampu untuk memperpanjang ukuran. 412 00:17:25,034 --> 00:17:26,119 413 00:17:26,119 --> 00:17:28,740 Namun besar Anda berangkat array di awal, 414 00:17:28,740 --> 00:17:31,070 itu ukuran itu akan untuk tinggal, karena array 415 00:17:31,070 --> 00:17:33,070 blok kontinu memori. 416 00:17:33,070 --> 00:17:34,007 417 00:17:34,007 --> 00:17:35,840 Dan ketika kalian dapatkan menjadi sedikit lebih 418 00:17:35,840 --> 00:17:40,820 bagaimana memori sebenarnya diletakkan di disk dan dalam tumpukan dan tumpukan, 419 00:17:40,820 --> 00:17:42,220 itu akan membuat sedikit lebih masuk akal. 420 00:17:42,220 --> 00:17:48,310 >> Tapi Anda hanya bisa memikirkan seperti, itu hanya deretan ruang pada disk Anda. 421 00:17:48,310 --> 00:17:52,540 Dan Anda tidak dapat menjamin bahwa ada akan menjadi ruang bebas setelah. 422 00:17:52,540 --> 00:17:55,290 Anda bisa menginisialisasi array tiga dan kemudian mungkin Anda 423 00:17:55,290 --> 00:17:59,190 menginisialisasi array lain dari lima kemudian, dan itu tepat setelah itu. 424 00:17:59,190 --> 00:18:04,000 Jadi jika Anda adalah untuk pergi tempat terakhir tiga yang pertama array, 425 00:18:04,000 --> 00:18:06,370 Anda akan menulis lebih dari sesuatu yang lain. 426 00:18:06,370 --> 00:18:10,390 Jadi array are-- untuk kalian, hanya menganggap mereka sebagai ukuran tetap. 427 00:18:10,390 --> 00:18:12,700 428 00:18:12,700 --> 00:18:16,890 >> Jadi menciptakan array-- Anda akan perlu untuk melakukan hal ini cukup sedikit. 429 00:18:16,890 --> 00:18:18,240 430 00:18:18,240 --> 00:18:22,080 Jadi dengan cara yang sama bahwa kita memiliki struktur umum untuk kami untuk loop, 431 00:18:22,080 --> 00:18:24,910 kami memiliki bagus umum struktur untuk array kita. 432 00:18:24,910 --> 00:18:28,430 Karena mereka dari satu jenis, semua elemen dalam array adalah dari satu jenis, 433 00:18:28,430 --> 00:18:30,950 Anda perlu menginisialisasi apa jenis itu. 434 00:18:30,950 --> 00:18:33,804 >> Jadi, seperti yang Anda lihat di sini, kita memiliki bagus sedikit tipe data braket. 435 00:18:33,804 --> 00:18:35,970 Jadi jika kita membuat sebuah int array, yang akan int. 436 00:18:35,970 --> 00:18:38,830 Jika kita membuat char array, itu akan menjadi arang. 437 00:18:38,830 --> 00:18:41,890 Jika kita membuat string array, itu akan menjadi tali. 438 00:18:41,890 --> 00:18:45,140 Dan kemudian nama array, apa pun yang Anda ingin untuk menjadi. 439 00:18:45,140 --> 00:18:51,750 Jadi mungkin itu nilai tes atau mungkin itu mahasiswa atau mungkin itu permen. 440 00:18:51,750 --> 00:18:54,440 Apa pun yang Anda memutuskan untuk nama Anda array, itulah yang akan. 441 00:18:54,440 --> 00:18:57,260 >> Dan kemudian di kurung, Anda akan memiliki ukuran yang Anda inginkan. 442 00:18:57,260 --> 00:19:01,350 Jadi, apakah kita menyimpan 10 siswa atau kita menyimpan 15 jenis permen? 443 00:19:01,350 --> 00:19:03,200 444 00:19:03,200 --> 00:19:03,920 Apa yang tidak. 445 00:19:03,920 --> 00:19:06,830 Jadi, dalam contoh kita di sini, kami menciptakan sebuah array 446 00:19:06,830 --> 00:19:10,100 ukuran tiga, yang kalian lihat di sini di sebelah kanan. 447 00:19:10,100 --> 00:19:11,350 448 00:19:11,350 --> 00:19:15,990 Dan ketika kami pertama kali menginisialisasi itu, segala sesuatu diatur ke nol. 449 00:19:15,990 --> 00:19:18,970 Jadi itu hanya berpikir seperti sebuah batu tulis kosong. 450 00:19:18,970 --> 00:19:22,550 Kami memiliki semua ruang ini, kita memiliki semua kotak-kotak ini kita bisa menempatkan data kami ke dalam, 451 00:19:22,550 --> 00:19:25,530 tapi mereka hanya kosong untuk saat ini. 452 00:19:25,530 --> 00:19:28,700 >> Jadi jika kita ingin benar-benar menetapkan mereka nilai-nilai ini, 453 00:19:28,700 --> 00:19:33,050 kami melakukannya sebagai tepat di bawah sini menunjukkan. 454 00:19:33,050 --> 00:19:39,170 Jadi Anda memiliki apa pun nama Anda array dan kemudian apa indeks yang Anda inginkan. 455 00:19:39,170 --> 00:19:43,070 Sehingga indeks hanya mengacu pada, seperti, apa Slot kita sedang melihat. 456 00:19:43,070 --> 00:19:47,830 Dan suatu hal yang penting untuk melihat adalah bahwa array nol-diindeks. 457 00:19:47,830 --> 00:19:53,160 Jadi jika kita ingin ruang pertama dalam memori array kami, itu akan menjadi nol. 458 00:19:53,160 --> 00:19:54,740 Jika kita ingin kedua, itu akan menjadi satu. 459 00:19:54,740 --> 00:19:56,198 Jika kita ingin ketiga, itu akan menjadi dua. 460 00:19:56,198 --> 00:19:57,820 Seterusnya dan sebagainya. 461 00:19:57,820 --> 00:20:02,130 >> Yang juga mengapa, secara konvensional, ketika kita lakukan untuk loops-- saya yakin 462 00:20:02,130 --> 00:20:05,030 kalian bertanya-tanya, mengapa kita mulai pada 0 vs 1? 463 00:20:05,030 --> 00:20:09,909 Dan itu karena ketika kita transisi dalam menggunakan array, itu peta dengan benar. 464 00:20:09,909 --> 00:20:11,700 Jadi jika Anda ingin iterate ke dalam array, itu 465 00:20:11,700 --> 00:20:14,830 membuat lebih banyak akal untuk apakah saya sama dengan 0, karena kita 466 00:20:14,830 --> 00:20:17,940 tahu bahwa akan sesuai ke tempat pertama dalam memori. 467 00:20:17,940 --> 00:20:18,990 468 00:20:18,990 --> 00:20:19,990 Semua orang baik dengan itu? 469 00:20:19,990 --> 00:20:21,060 470 00:20:21,060 --> 00:20:21,560 Keren. 471 00:20:21,560 --> 00:20:26,240 >> Dan kemudian pada bagian bawah di sini adalah hanya cara lain untuk menginisialisasi array. 472 00:20:26,240 --> 00:20:29,590 Anda masih memiliki Anda tipe data dan nama, 473 00:20:29,590 --> 00:20:31,960 tapi bukan benar-benar menempatkan ukuran di sana, 474 00:20:31,960 --> 00:20:33,830 Anda hanya dapat melakukan kurung kosong. 475 00:20:33,830 --> 00:20:36,350 Dan kemudian dengan ini keriting kawat gigi di bagian bawah, 476 00:20:36,350 --> 00:20:40,270 Anda hanya dapat memasukkan data yang Anda ingin dipisahkan dengan koma. 477 00:20:40,270 --> 00:20:43,070 Dan itu akan secara otomatis mengatakan, OK, saya melihat 478 00:20:43,070 --> 00:20:47,300 Anda memiliki tiga hal dalam kawat gigi ini. 479 00:20:47,300 --> 00:20:51,410 Jadi saya tahu bahwa saya perlu mengalokasikan tiga blok memori dan kemudian menyimpan mereka. 480 00:20:51,410 --> 00:20:55,300 481 00:20:55,300 --> 00:21:01,670 >> Jadi versi pertama yang mungkin Anda gunakan jika Anda meminta pengguna untuk masukan 482 00:21:01,670 --> 00:21:04,770 nilai-nilai sehingga Anda dapat iterate melalui array 483 00:21:04,770 --> 00:21:07,660 dan ask-- mendapatkan beberapa int untuk memasukkan mereka. 484 00:21:07,660 --> 00:21:10,500 Jika Anda tahu nilai-nilai sebelumnya, itu membuat banyak lebih masuk akal 485 00:21:10,500 --> 00:21:12,110 untuk menggunakan cara kedua. 486 00:21:12,110 --> 00:21:17,270 Tetapi pada kebanyakan kasus, Anda mungkin tidak tahu apa nilai-nilai tersebut akan menjadi. 487 00:21:17,270 --> 00:21:19,060 488 00:21:19,060 --> 00:21:19,560 Keren. 489 00:21:19,560 --> 00:21:20,393 Ada pertanyaan lain? 490 00:21:20,393 --> 00:21:21,206 491 00:21:21,206 --> 00:21:21,705 Baiklah. 492 00:21:21,705 --> 00:21:25,960 493 00:21:25,960 --> 00:21:30,370 >> Jadi mengakses elements-- jadi satu hal besar tentang array 494 00:21:30,370 --> 00:21:33,310 adalah bahwa mereka acak Akses, yang berarti bahwa Anda 495 00:21:33,310 --> 00:21:36,010 tidak harus melihat melalui setiap blok. 496 00:21:36,010 --> 00:21:38,150 Jika Anda tahu bahwa Anda ingin apa yang ada di blok dua, 497 00:21:38,150 --> 00:21:40,820 Anda bisa saja mengatakan, beri saya blok dua. 498 00:21:40,820 --> 00:21:44,160 Dan itulah mengapa ini indeks sangat penting, 499 00:21:44,160 --> 00:21:46,220 dan itulah bagaimana kita benar-benar mengaksesnya. 500 00:21:46,220 --> 00:21:50,660 Jadi dalam hal ini, seperti yang kita lihat sebelumnya ketika kami menetapkan nilai-nilai, di salah satu 501 00:21:50,660 --> 00:21:55,360 sebelumnya, kami memiliki nama dan Indeks kami ingin akses, kan? 502 00:21:55,360 --> 00:21:59,370 Jadi dengan cara yang sama, itu semua kita lakukan untuk benar-benar menarik bahwa data keluar. 503 00:21:59,370 --> 00:22:02,940 Kami memiliki nama dan kami memiliki indeks yang kita inginkan. 504 00:22:02,940 --> 00:22:06,710 >> Jadi dalam hal ini, untuk loop di sini di bagian bawah, siapa pun 505 00:22:06,710 --> 00:22:09,060 tahu apa yang dilakukannya, apa yang akan mencetak? 506 00:22:09,060 --> 00:22:13,771 507 00:22:13,771 --> 00:22:14,270 Mmhmm? 508 00:22:14,270 --> 00:22:17,790 509 00:22:17,790 --> 00:22:18,520 Tepat. 510 00:22:18,520 --> 00:22:20,130 Jadi ya, itu hanya iterasi melalui. 511 00:22:20,130 --> 00:22:23,410 i sama dengan zero-- kita dapat berjalan melalui kode hanya cepat. 512 00:22:23,410 --> 00:22:26,680 i sama dengan nol, saya kurang dari tiga pada titik ini, kan? 513 00:22:26,680 --> 00:22:27,780 Jadi yang memeriksa keluar. 514 00:22:27,780 --> 00:22:33,370 Dan kita katakan, OK, cetak f apa yang ada di suhu i. 515 00:22:33,370 --> 00:22:37,990 i adalah nol di sini ketika kami pertama kali iterate, jadi kami pergi ke tempat pertama ini, 516 00:22:37,990 --> 00:22:40,840 dan kita katakan, OK, 65 adalah nomor kita ingin mencetak. 517 00:22:40,840 --> 00:22:43,570 Sehingga akan mencetak 65 dan kemudian melakukan baris baru. 518 00:22:43,570 --> 00:22:46,550 saya akan update, sehingga mencetak 87. 519 00:22:46,550 --> 00:22:48,780 Ini update lagi, dan itu akan mencetak 30. 520 00:22:48,780 --> 00:22:49,810 521 00:22:49,810 --> 00:22:50,630 Semua orang keren? 522 00:22:50,630 --> 00:22:51,630 523 00:22:51,630 --> 00:22:52,130 Mengagumkan. 524 00:22:52,130 --> 00:22:54,340 525 00:22:54,340 --> 00:22:54,840 >> Baik. 526 00:22:54,840 --> 00:22:57,710 Jadi inilah jenis satu hal yang saya katakan bagaimana 527 00:22:57,710 --> 00:23:00,020 Anda dapat melacak Rata seseorang dan mengapa 528 00:23:00,020 --> 00:23:03,300 Anda akan menggunakan pertama cara memulainya 529 00:23:03,300 --> 00:23:04,890 bukannya itu cara kedua. 530 00:23:04,890 --> 00:23:06,620 Dan ini hanya melewati. 531 00:23:06,620 --> 00:23:08,945 Dan melihat kita memiliki ukuran kelas 30. 532 00:23:08,945 --> 00:23:10,690 533 00:23:10,690 --> 00:23:15,770 Dan kita menginisialisasi ini array int yang ukuran 30. 534 00:23:15,770 --> 00:23:18,070 Dan kemudian kita iterasi melalui dan kami 535 00:23:18,070 --> 00:23:20,910 meminta pengguna untuk memasukkan skor untuk masing-masing 536 00:23:20,910 --> 00:23:23,700 dan kemudian menugaskan ke tempat tertentu di memori 537 00:23:23,700 --> 00:23:24,860 suatu tempat di array. 538 00:23:24,860 --> 00:23:26,700 539 00:23:26,700 --> 00:23:27,890 Keren? 540 00:23:27,890 --> 00:23:29,650 Apakah itu masuk akal untuk semua orang? 541 00:23:29,650 --> 00:23:30,150 Mmhmm? 542 00:23:30,150 --> 00:23:32,910 543 00:23:32,910 --> 00:23:40,360 >> Jadi hashtag mendefinisikan ukuran kelas 30 adalah direktif preprocessor, 544 00:23:40,360 --> 00:23:43,780 yang hanya berarti gets-- memiliki untuk melakukan seperti proses kompilasi. 545 00:23:43,780 --> 00:23:47,595 Anda dapat menganggap itu sebagai variabel global. 546 00:23:47,595 --> 00:23:49,260 547 00:23:49,260 --> 00:23:53,030 Cara kita melakukannya adalah typically-- memungkinkan kode Anda 548 00:23:53,030 --> 00:23:54,770 agar lebih mudah berubah. 549 00:23:54,770 --> 00:23:59,480 Jadi mari kita mengatakan bahwa ukuran kelas kami tiba-tiba pergi 30-15, 550 00:23:59,480 --> 00:24:03,930 jika aku tidak didefinisikan dengan cara ini, saya akan harus melalui seluruh program saya 551 00:24:03,930 --> 00:24:07,420 dan mengubah setiap contoh dari 30-15. 552 00:24:07,420 --> 00:24:11,590 Tapi dengan ini, saya bisa mengubah satu spot, dan segala sesuatu yang lain perubahan. 553 00:24:11,590 --> 00:24:14,930 >> Jika Anda pernah ingin melakukan hash menentukan dalam kasus 554 00:24:14,930 --> 00:24:19,020 di mana Anda melacak beberapa mengatur jumlah skor untuk kelas 555 00:24:19,020 --> 00:24:23,250 atau Anda menggunakan nomor yang akan digunakan, seperti, 556 00:24:23,250 --> 00:24:27,740 seluruh program yang sangat panjang, itu lebih baik untuk menentukan bahwa pada awalnya 557 00:24:27,740 --> 00:24:34,440 sehingga jika pernah berubah, Anda mendapatkan untuk mengubah satu tempat, bukan 100. 558 00:24:34,440 --> 00:24:34,940 Ya? 559 00:24:34,940 --> 00:24:39,830 >> SISWA: Antara melakukan hal itu dan hanya menyatakan [tak terdengar] lebih di bagian atas. 560 00:24:39,830 --> 00:24:42,470 >> Allison Buchholtz-AU: Jadi hubungannya dengan efficient-- 561 00:24:42,470 --> 00:24:45,460 itu semacam di luar lingkup apa yang bisa kita bahas di bagian ini. 562 00:24:45,460 --> 00:24:49,236 Ini harus berbuat lebih banyak dengan efisiensi dan bagaimana hal-hal benar-benar 563 00:24:49,236 --> 00:24:50,485 bekerja dalam proses kompilasi. 564 00:24:50,485 --> 00:24:52,590 565 00:24:52,590 --> 00:24:55,006 Jika Anda ingin benar-benar tahu tentang hal itu, saya senang untuk mengirimkan 566 00:24:55,006 --> 00:24:56,450 email dengan sumber daya tentang hal itu. 567 00:24:56,450 --> 00:24:57,810 568 00:24:57,810 --> 00:25:03,880 Hash mendefinisikan cenderung pilihan untuk hal-hal. 569 00:25:03,880 --> 00:25:06,380 Dan seperti yang Anda kode lebih, Anda jenis belajar nuansa 570 00:25:06,380 --> 00:25:09,135 ketika Anda harus menggunakan global yang dibandingkan hash menentukan. 571 00:25:09,135 --> 00:25:11,010 Tapi untuk saat ini, Anda tidak benar-benar memiliki 572 00:25:11,010 --> 00:25:13,290 khawatir tentang hal itu adalah bahwa jawaban singkat. 573 00:25:13,290 --> 00:25:15,360 574 00:25:15,360 --> 00:25:16,360 Semua orang baik dengan itu? 575 00:25:16,360 --> 00:25:18,151 Dan juga, jika Anda ingin menggunakan hash mendefinisikan, 576 00:25:18,151 --> 00:25:21,120 itu benar-benar penting untuk melihat bahwa nama harus dalam huruf besar semua. 577 00:25:21,120 --> 00:25:22,210 578 00:25:22,210 --> 00:25:24,674 Kami tidak hanya melakukan CLASS SIZE menjadi dramatis. 579 00:25:24,674 --> 00:25:26,090 Ini benar-benar harus dalam huruf besar semua. 580 00:25:26,090 --> 00:25:27,880 581 00:25:27,880 --> 00:25:28,610 Keren. 582 00:25:28,610 --> 00:25:30,130 Apa pun ada? 583 00:25:30,130 --> 00:25:31,190 Kita baik? 584 00:25:31,190 --> 00:25:32,220 Indah. 585 00:25:32,220 --> 00:25:32,720 Selamat Datang. 586 00:25:32,720 --> 00:25:34,240 587 00:25:34,240 --> 00:25:38,495 >> OK, jadi saya ingin kalian lihat ini dan lihat apakah Anda dapat menemukan bug. 588 00:25:38,495 --> 00:25:45,580 589 00:25:45,580 --> 00:25:46,507 Aku akan memberikan petunjuk. 590 00:25:46,507 --> 00:25:47,840 Itu suatu tempat di bahwa untuk loop. 591 00:25:47,840 --> 00:25:53,070 592 00:25:53,070 --> 00:25:53,665 Mmhmm? 593 00:25:53,665 --> 00:25:55,704 >> SISWA: Harus kurang dari sama dengan 2. 594 00:25:55,704 --> 00:25:56,920 595 00:25:56,920 --> 00:26:01,094 >> ALLISON: Jadi bisa kurang dari atau sama dengan 2, atau bisa juga kurang dari 3. 596 00:26:01,094 --> 00:26:02,510 Dan apa alasan untuk itu? 597 00:26:02,510 --> 00:26:05,135 >> SISWA: The [tidak terdengar], 0, 1, 2. 598 00:26:05,135 --> 00:26:06,080 >> ALLISON: Tepat. 599 00:26:06,080 --> 00:26:12,180 Jadi dalam berbagai ukuran n, kita hanya memiliki indeks n minus 1. 600 00:26:12,180 --> 00:26:13,700 601 00:26:13,700 --> 00:26:14,200 Keren. 602 00:26:14,200 --> 00:26:15,091 603 00:26:15,091 --> 00:26:17,840 Dan kemudian kita bisa benar-benar gila dan mendapatkan array multi-dimensi. 604 00:26:17,840 --> 00:26:19,340 605 00:26:19,340 --> 00:26:23,960 Salah satu masalah ketika saya mengambil itu di saya tahun dibutuhkan array multi-dimensi, 606 00:26:23,960 --> 00:26:28,720 dan saya pikir salah satu dari mereka mungkin memerlukan tahun ini, jadi nyaman. 607 00:26:28,720 --> 00:26:30,140 Membungkus kepala Anda sekitar sekarang. 608 00:26:30,140 --> 00:26:33,087 Ini akan kembali menghantui Anda, tetapi dalam cara yang sejuk. 609 00:26:33,087 --> 00:26:35,420 Jadi Anda benar-benar dapat hanya berpikir array multi-dimensi 610 00:26:35,420 --> 00:26:36,870 sebagai array dari array. 611 00:26:36,870 --> 00:26:38,060 612 00:26:38,060 --> 00:26:43,809 Sehingga Anda dapat jenis memikirkan top ini baris sebagai potongan pertama dari memori. 613 00:26:43,809 --> 00:26:45,600 Dan yang satu ini adalah potongan kedua memori, 614 00:26:45,600 --> 00:26:47,570 dan baris terakhir adalah potongan ketiga memori. 615 00:26:47,570 --> 00:26:50,740 Dan dalam itu, ada sebuah array. 616 00:26:50,740 --> 00:26:53,250 Tapi tentu saja, akan lebih mudah untuk menggambarkan seperti ini. 617 00:26:53,250 --> 00:26:55,610 >> Jadi Anda menginisialisasi dengan cara yang sama. 618 00:26:55,610 --> 00:26:57,290 619 00:26:57,290 --> 00:27:01,610 Ini adalah karakter dewan tiga oleh tiga. 620 00:27:01,610 --> 00:27:04,180 Jadi Anda memiliki tiga baris dan tiga kolom. 621 00:27:04,180 --> 00:27:06,760 Kami mewakili cara ini. 622 00:27:06,760 --> 00:27:11,800 Dan anda dapat mengaksesnya dengan cara yang sama, kolom dengan baris. 623 00:27:11,800 --> 00:27:14,840 Dan 1,1 seperti yang kita lihat di sini. 624 00:27:14,840 --> 00:27:18,730 Kami menetapkan nol, nol di sana. 625 00:27:18,730 --> 00:27:21,900 2,0 dan 0,2. 626 00:27:21,900 --> 00:27:26,900 Jadi Anda hanya akan mengakses them-- jika yang pernah dilakukan aljabar linear, 627 00:27:26,900 --> 00:27:31,580 dengan cara yang sama Anda mengakses sebuah elemen dalam matrik, itu ide yang sama di sini. 628 00:27:31,580 --> 00:27:33,030 Jadi Anda dapat berhubungan kembali ke matematika. 629 00:27:33,030 --> 00:27:34,130 630 00:27:34,130 --> 00:27:36,380 Anda tidak perlu khawatir terlalu banyak tentang ini sekarang. 631 00:27:36,380 --> 00:27:38,671 Ini baik untuk memiliki eksposur, untuk tahu bahwa Anda bisa melakukannya. 632 00:27:38,671 --> 00:27:42,700 Anda dapat membuat beberapa gila number-- Anda bisa 633 00:27:42,700 --> 00:27:44,750 membuat array gila adalah semua aku akan mengatakan. 634 00:27:44,750 --> 00:27:45,250 [Tidak terdengar] 635 00:27:45,250 --> 00:27:46,585 636 00:27:46,585 --> 00:27:48,460 Ia mendapat sedikit gila, tapi itu benar-benar keren. 637 00:27:48,460 --> 00:27:50,020 638 00:27:50,020 --> 00:27:50,670 Mengagumkan. 639 00:27:50,670 --> 00:27:52,550 >> Dan kemudian, jadi kita memiliki contoh di sini. 640 00:27:52,550 --> 00:27:54,165 Ini menghitung panjang string. 641 00:27:54,165 --> 00:27:55,210 642 00:27:55,210 --> 00:27:59,670 Jadi berapa banyak orang tahu bahwa string yang Anda gunakan 643 00:27:59,670 --> 00:28:01,265 hanya array karakter? 644 00:28:01,265 --> 00:28:03,670 645 00:28:03,670 --> 00:28:04,655 OK, ya. 646 00:28:04,655 --> 00:28:08,000 Jadi kalian mungkin berpikir bahwa Anda belum array digunakan sebelumnya, tapi setiap saat 647 00:28:08,000 --> 00:28:10,740 Anda menggunakan GetString di Perpustakaan CSView, kau 648 00:28:10,740 --> 00:28:14,690 sebenarnya hanya meminta array karakter. 649 00:28:14,690 --> 00:28:17,450 Dan kami mengurus semua bahwa dalam back-end untuk Anda. 650 00:28:17,450 --> 00:28:20,184 Tapi Anda telah menggunakan array sejak Anda mulai. 651 00:28:20,184 --> 00:28:21,350 Anda hanya tidak tahu itu belum. 652 00:28:21,350 --> 00:28:22,420 653 00:28:22,420 --> 00:28:28,390 >> Dan setiap kali Anda memiliki array karakter atau array yang menyimpan string, 654 00:28:28,390 --> 00:28:32,050 hal terakhir selalu apa disebut terminator null, yang 655 00:28:32,050 --> 00:28:33,830 adalah ini di sini. 656 00:28:33,830 --> 00:28:37,300 Dan itu adalah pada akhir setiap kata yang Anda menyimpan. 657 00:28:37,300 --> 00:28:41,170 Jadi jika kita ingin mengetahui Panjang string, kita dapat mengatakan, 658 00:28:41,170 --> 00:28:45,320 baik, Anda tahu, isi blok yang 659 00:28:45,320 --> 00:28:46,867 tidak sama dengan null terminator kami. 660 00:28:46,867 --> 00:28:49,450 Itu berarti bahwa ada beberapa karakter ada yang kita benar-benar 661 00:28:49,450 --> 00:28:51,540 peduli itu bagian dari kata. 662 00:28:51,540 --> 00:28:52,665 Anda meningkatkan panjang Anda. 663 00:28:52,665 --> 00:28:55,540 Dan kemudian ketika kita benar-benar bisa akhir kata, itu akan mengakhiri 664 00:28:55,540 --> 00:28:58,790 dan itu akan kembali panjang bagi kita. 665 00:28:58,790 --> 00:29:00,098 Mmhmm? 666 00:29:00,098 --> 00:29:02,906 >> SISWA: Apakah ruang dihitung sebagai null terminator? 667 00:29:02,906 --> 00:29:04,780 ALLISON: Jadi spasi adalah bukan null terminator. 668 00:29:04,780 --> 00:29:10,590 Jadi jika Anda memiliki multiple-- ruang sebenarnya nilai ASCII tertentu. 669 00:29:10,590 --> 00:29:11,719 670 00:29:11,719 --> 00:29:13,552 SISWA: Apa seru sama lagi? 671 00:29:13,552 --> 00:29:17,080 ALLISON: Jadi, ini adalah apa yang Anda lihat. 672 00:29:17,080 --> 00:29:21,220 Jika Anda pernah mendengar saya di jam kantor, Aku selalu menyebutnya, seperti, Bang sama. 673 00:29:21,220 --> 00:29:23,520 Jadi bang tidak. 674 00:29:23,520 --> 00:29:25,370 Jadi ini bukan sama. 675 00:29:25,370 --> 00:29:28,480 676 00:29:28,480 --> 00:29:32,290 Jadi jika Anda mencoba untuk melihat apakah ada sesuatu yang salah, 677 00:29:32,290 --> 00:29:35,915 Anda tahu selalu lakukan, Bang apapun variabel, dan jika itu palsu, 678 00:29:35,915 --> 00:29:38,540 itu bernilai true dan Anda dapat melakukan hal-hal keren dengan itu. 679 00:29:38,540 --> 00:29:39,830 680 00:29:39,830 --> 00:29:40,675 Lebih pada nanti. 681 00:29:40,675 --> 00:29:42,090 682 00:29:42,090 --> 00:29:42,590 Keren. 683 00:29:42,590 --> 00:29:44,260 Semuanya baik di sana? 684 00:29:44,260 --> 00:29:44,760 Mengagumkan. 685 00:29:44,760 --> 00:29:48,045 >> Jadi sekarang saatnya orang-orang Anda untuk bekerja, karena saya sudah bicara. 686 00:29:48,045 --> 00:29:49,220 687 00:29:49,220 --> 00:29:53,200 Jadi saya ingin Anda untuk hanya membuat array dengan bilangan bulat satu, dua, dan tiga, 688 00:29:53,200 --> 00:29:54,660 dan kemudian telah mereka dicetak. 689 00:29:54,660 --> 00:29:58,050 Anda tidak harus melakukan, seperti, utama, bla, bla, bla, apa pun. 690 00:29:58,050 --> 00:30:00,840 Aku hanya ingin kau menginisialisasi array dan kemudian membuat 691 00:30:00,840 --> 00:30:04,790 untuk loop untuk mencetak mereka out-- atau loop sementara, terserah Anda. 692 00:30:04,790 --> 00:30:07,600 >> Aku hanya akan memberikan pasangan menit untuk bekerja pada itu. 693 00:30:07,600 --> 00:30:09,320 Aku akan beristirahat suaraku. 694 00:30:09,320 --> 00:30:13,290 Jika Anda memiliki pertanyaan, saya senang untuk datang dan berbicara dengan kalian. 695 00:30:13,290 --> 00:30:15,290 Jangan ragu untuk berbicara dengan satu sama lain. 696 00:30:15,290 --> 00:30:16,125 Dapatkan lebih banyak permen. 697 00:30:16,125 --> 00:30:17,181 698 00:30:17,181 --> 00:30:18,930 Bahkan, saya hanya akan berjalan-jalan dengan permen. 699 00:30:18,930 --> 00:30:19,600 Bagaimana? 700 00:30:19,600 --> 00:30:22,974 701 00:30:22,974 --> 00:30:23,938 >> Apakah Anda ingin apapun? 702 00:30:23,938 --> 00:30:34,703 703 00:30:34,703 --> 00:30:36,675 Orang lain di ruangan ini ingin permen? 704 00:30:36,675 --> 00:30:47,030 705 00:30:47,030 --> 00:30:49,206 Anda juga dapat mengambil lebih dari satu, guys. 706 00:30:49,206 --> 00:30:50,330 Ambil segenggam jika Anda ingin. 707 00:30:50,330 --> 00:30:52,690 708 00:30:52,690 --> 00:30:53,190 Mungkin juga. 709 00:30:53,190 --> 00:30:54,929 710 00:30:54,929 --> 00:30:55,720 Semua orang baik? 711 00:30:55,720 --> 00:30:57,561 712 00:30:57,561 --> 00:30:58,060 OK. 713 00:30:58,060 --> 00:31:02,750 714 00:31:02,750 --> 00:31:07,290 >> Juga, aku akan membuat Formulir Google anonim, 715 00:31:07,290 --> 00:31:09,830 dan kalian hanya bisa mengirimkan umpan balik setelah setiap bagian 716 00:31:09,830 --> 00:31:14,115 jika ada sesuatu yang ingin memperbaiki atau sesuatu yang ingin dilakukan. 717 00:31:14,115 --> 00:31:17,135 Jika saya sedikit terlalu penuh semangat untuk Anda, saya bisa nada turun. 718 00:31:17,135 --> 00:31:18,510 719 00:31:18,510 --> 00:31:20,885 Aku akan membuat itu dan mengirim bahwa kepada Anda semua setelah itu. 720 00:31:20,885 --> 00:32:39,420 721 00:32:39,420 --> 00:32:40,020 >> Baik. 722 00:32:40,020 --> 00:32:41,050 Jadi mari kita mulai dari kecil. 723 00:32:41,050 --> 00:32:42,740 Bagaimana kita akan menginisialisasi array kita? 724 00:32:42,740 --> 00:32:49,690 725 00:32:49,690 --> 00:32:51,670 Apa jenis array kita? 726 00:32:51,670 --> 00:32:52,410 Int, kan? 727 00:32:52,410 --> 00:32:54,740 OK, jadi apa yang Anda inginkan untuk memanggil array Anda? 728 00:32:54,740 --> 00:32:57,880 729 00:32:57,880 --> 00:32:59,230 Int array, keren. 730 00:32:59,230 --> 00:33:04,200 Baiklah, jadi kita memiliki int array int sama, dan apa yang kita miliki setelah itu? 731 00:33:04,200 --> 00:33:07,009 732 00:33:07,009 --> 00:33:08,259 SISWA: [tak terdengar] kurung. 733 00:33:08,259 --> 00:33:09,140 ALLISON: Braces. 734 00:33:09,140 --> 00:33:10,330 735 00:33:10,330 --> 00:33:11,775 Dan kemudian di dalam kawat gigi? 736 00:33:11,775 --> 00:33:14,360 737 00:33:14,360 --> 00:33:16,830 Satu koma dua koma tiga. 738 00:33:16,830 --> 00:33:17,330 Keren. 739 00:33:17,330 --> 00:33:18,660 Jadi tidak apa-apa. 740 00:33:18,660 --> 00:33:21,480 Jadi sekarang kita memiliki kita untuk loop. 741 00:33:21,480 --> 00:33:24,180 Jadi dalam bagian pertama dari kami untuk loop, apa yang kita miliki? 742 00:33:24,180 --> 00:33:25,796 743 00:33:25,796 --> 00:33:27,420 >> SISWA: i sama dengan 0? 744 00:33:27,420 --> 00:33:31,400 >> ALLISON: Jadi int i sama dengan 0, dan lalu apa kondisi kita? 745 00:33:31,400 --> 00:33:33,750 746 00:33:33,750 --> 00:33:36,120 Apa yang saya akan kurang dari? 747 00:33:36,120 --> 00:33:39,510 Kurang dari tiga, dan bagaimana kita kita update i? 748 00:33:39,510 --> 00:33:41,630 i plus plus, memperbarui dengan satu. 749 00:33:41,630 --> 00:33:46,150 Dan kemudian kita akan memiliki beberapa printf dari integer, 750 00:33:46,150 --> 00:33:49,530 dan apa itu terakhir bagian yang sebenarnya 751 00:33:49,530 --> 00:33:51,370 akan mengatakan apa yang harus kita mencetak? 752 00:33:51,370 --> 00:33:55,610 753 00:33:55,610 --> 00:33:59,120 Ini akan menjadi nama array, yang merupakan array int, kan? 754 00:33:59,120 --> 00:34:01,090 Dan apa yang ada di kurung dari array int? 755 00:34:01,090 --> 00:34:02,540 756 00:34:02,540 --> 00:34:03,640 i. 757 00:34:03,640 --> 00:34:06,550 [? Jadi saya?] Disebut saya Misalnya, tapi ada Anda pergi. 758 00:34:06,550 --> 00:34:07,939 759 00:34:07,939 --> 00:34:08,480 Bukan yang buruk. 760 00:34:08,480 --> 00:34:09,250 Semua orang baik? 761 00:34:09,250 --> 00:34:10,220 762 00:34:10,220 --> 00:34:10,719 Keren. 763 00:34:10,719 --> 00:34:12,949 764 00:34:12,949 --> 00:34:14,340 >> Jadi kita sudah selesai dengan array. 765 00:34:14,340 --> 00:34:15,190 Selamat. 766 00:34:15,190 --> 00:34:18,274 Anda berhasil iterate melalui semua the-- ya? 767 00:34:18,274 --> 00:34:19,705 >> SISWA: [tidak terdengar] 768 00:34:19,705 --> 00:34:20,659 >> ALLISON: Ya. 769 00:34:20,659 --> 00:34:26,383 770 00:34:26,383 --> 00:34:27,798 >> SISWA: Saya punya pertanyaan. 771 00:34:27,798 --> 00:34:30,288 Anda seharusnya indent kawat gigi? 772 00:34:30,288 --> 00:34:34,150 >> ALLISON: Jadi kawat gigi harus berbaris dengan untuk loop, dan kemudian semuanya 773 00:34:34,150 --> 00:34:35,699 di dalam kurung harus menjorok. 774 00:34:35,699 --> 00:34:37,824 >> SISWA: OK, seharusnya untuk loop menjorok? 775 00:34:37,824 --> 00:34:41,159 >> ALLISON: Untuk loop tidak perlu menjorok pada saat ini. 776 00:34:41,159 --> 00:34:46,750 Jika Anda berada di utama, jika kita benar-benar memiliki fungsi utama di sini, 777 00:34:46,750 --> 00:34:48,929 itu akan menjorok dari utama. 778 00:34:48,929 --> 00:34:52,590 Tapi dalam kasus ini, itu baik-baik saja. 779 00:34:52,590 --> 00:34:53,354 Ya, pertanyaan. 780 00:34:53,354 --> 00:34:55,687 >> SISWA: Apakah Anda harus memiliki kurung setelah contoh? 781 00:34:55,687 --> 00:34:59,050 782 00:34:59,050 --> 00:35:01,260 >> ALLISON: Ya, jika Anda menginisialisasi seperti itu. 783 00:35:01,260 --> 00:35:03,430 784 00:35:03,430 --> 00:35:06,860 Jadi ingat, ini adalah yang kedua cara menginisialisasi array di mana 785 00:35:06,860 --> 00:35:10,680 kita memiliki kawat gigi, dan kemudian aktual kami Data dipisahkan dengan koma dalam. 786 00:35:10,680 --> 00:35:14,700 787 00:35:14,700 --> 00:35:17,281 >> SISWA: Saya pikir ada kurung misalnya bahwa. 788 00:35:17,281 --> 00:35:19,010 >> ALLISON: Tidak, mereka kawat gigi. 789 00:35:19,010 --> 00:35:20,039 Mereka kawat gigi. 790 00:35:20,039 --> 00:35:22,330 Jika Anda memulainya bahwa cara kedua, itu kawat gigi. 791 00:35:22,330 --> 00:35:28,780 Jika kita mengatakan, int example-- jika kami hanya ingin array kosong untuk int, 792 00:35:28,780 --> 00:35:32,270 itu akan int contoh kurung tiga. 793 00:35:32,270 --> 00:35:34,670 Tanda kurung merupakan ukuran. 794 00:35:34,670 --> 00:35:36,720 Bila Anda memiliki kawat gigi, itu adalah data aktual 795 00:35:36,720 --> 00:35:39,244 Anda memasukkan ke dalamnya dengan cara ini. 796 00:35:39,244 --> 00:35:40,535 Kita dapat menggulir kembali sangat cepat. 797 00:35:40,535 --> 00:35:42,370 798 00:35:42,370 --> 00:35:48,010 >> Jadi dalam satu ini, ini hanya kami Array awal, inisialisasi. 799 00:35:48,010 --> 00:35:51,640 Dan di sini, kita secara individual menugaskan tempat kepada mereka, 800 00:35:51,640 --> 00:35:56,730 jadi ini merupakan indeks dari kami array, itulah sebabnya mengapa kita memiliki kurung. 801 00:35:56,730 --> 00:36:01,630 Tapi di sini, jika Anda perhatikan, kita sudah meninggalkan kurung kami tanpa ukuran, 802 00:36:01,630 --> 00:36:05,969 dan kita menginisialisasi itu dengan data aktual all-in-one dengan kawat gigi. 803 00:36:05,969 --> 00:36:08,260 SISWA: Jadi kenapa tidak kita miliki kurung dalam contoh ini? 804 00:36:08,260 --> 00:36:11,030 ALLISON: Jadi, di mana bagian? 805 00:36:11,030 --> 00:36:14,645 SISWA: Bukankah kita mengatakan, int contoh kurung 806 00:36:14,645 --> 00:36:19,710 sama dengan kawat gigi [tidak terdengar] kurung misalnya. 807 00:36:19,710 --> 00:36:20,900 >> ALLISON: Oh, maaf. 808 00:36:20,900 --> 00:36:21,560 Kau benar. 809 00:36:21,560 --> 00:36:22,690 Kami memiliki kurung di sana. 810 00:36:22,690 --> 00:36:23,486 Maaf guys, saya buruk. 811 00:36:23,486 --> 00:36:25,150 812 00:36:25,150 --> 00:36:27,560 Ya, Anda harus memiliki kurung setelah contoh. 813 00:36:27,560 --> 00:36:28,850 Kau benar. 814 00:36:28,850 --> 00:36:29,750 >> SISWA: [tak terdengar] tidak melakukannya. 815 00:36:29,750 --> 00:36:31,270 >> ALLISON: Tidak, Anda harus memiliki kurung, karena kalau tidak, 816 00:36:31,270 --> 00:36:32,810 tidak akan mendeklarasikan array. 817 00:36:32,810 --> 00:36:33,685 SISWA: [tak terdengar]. 818 00:36:33,685 --> 00:36:34,200 Maaf tentang itu. 819 00:36:34,200 --> 00:36:36,200 >> ALLISON: Maaf, Anda harus kurung setelah contoh. 820 00:36:36,200 --> 00:36:36,620 821 00:36:36,620 --> 00:36:37,120 Typo. 822 00:36:37,120 --> 00:36:40,650 823 00:36:40,650 --> 00:36:43,160 Baik menangkap, bintang emas untuk Anda. 824 00:36:43,160 --> 00:36:47,730 Juga, jika Anda mengajukan pertanyaan, jika kalian hanya akan memberitahu saya nama Anda, 825 00:36:47,730 --> 00:36:48,570 Aku ingin itu. 826 00:36:48,570 --> 00:36:50,630 Aku akan senang untuk dapat tahu semua nama Anda. 827 00:36:50,630 --> 00:36:53,187 Aku tidak akan dingin meneleponmu, aku benar-benar 828 00:36:53,187 --> 00:36:54,520 jangan hanya ingin tahu nama Anda. 829 00:36:54,520 --> 00:36:57,530 Jadi tolong benar-benar memberitahu saya nama Anda. 830 00:36:57,530 --> 00:36:58,426 >> Leah: Leah. 831 00:36:58,426 --> 00:36:59,340 >> ALLISON: Leah. 832 00:36:59,340 --> 00:37:03,960 OK, jadi functions-- saya tahu secara singkat mereka berbicara tentang hal ini selama kuliah. 833 00:37:03,960 --> 00:37:07,590 Jadi fungsi adalah jenis hanya seperti ini sedikit gigitan-ukuran hal-hal 834 00:37:07,590 --> 00:37:11,525 di mana Anda lulus dalam input, sesuatu ajaib terjadi, dan Anda mendapatkan output. 835 00:37:11,525 --> 00:37:12,680 836 00:37:12,680 --> 00:37:13,180 Keren. 837 00:37:13,180 --> 00:37:15,013 Jadi Anda benar-benar menggunakan banyak ini sudah. 838 00:37:15,013 --> 00:37:15,970 839 00:37:15,970 --> 00:37:18,840 Dapatkan int, dapatkan tali, cetak f. 840 00:37:18,840 --> 00:37:21,790 Ini semua adalah fungsi di mana Anda hanya memanggil mereka, 841 00:37:21,790 --> 00:37:24,370 ada banyak hal yang ajaib terjadi di latar belakang 842 00:37:24,370 --> 00:37:27,390 bahwa Anda tidak perlu melihat, dan Anda mendapatkan apa yang Anda inginkan. 843 00:37:27,390 --> 00:37:30,280 Atau setidaknya Anda mendapatkan apa yang Anda harap Anda inginkan. 844 00:37:30,280 --> 00:37:31,920 845 00:37:31,920 --> 00:37:35,620 >> Dan pada dasarnya titik fungsi, dan salah satu tema utama CS, 846 00:37:35,620 --> 00:37:38,700 adalah untuk memecahkan kode Anda menjadi potongan-potongan dikelola. 847 00:37:38,700 --> 00:37:41,520 Ketika Anda mulai menulis program-program yang sangat panjang, 848 00:37:41,520 --> 00:37:44,970 atau dalam Scratch ketika Anda memiliki ide besar ini untuk permainan, 849 00:37:44,970 --> 00:37:48,070 Anda harus mampu untuk memecahkannya ke, seperti, OK, bagaimana saya memulai? 850 00:37:48,070 --> 00:37:50,470 Apa potongan-potongan kecil yang saya butuhkan? 851 00:37:50,470 --> 00:37:53,320 Oh, saya harus meminta pengguna untuk sesuatu. 852 00:37:53,320 --> 00:37:54,830 Sekarang saya perlu untuk mencetak sesuatu. 853 00:37:54,830 --> 00:37:56,590 Oh, saya perlu untuk menghitung nilai ini. 854 00:37:56,590 --> 00:38:00,050 >> Dan belajar bagaimana untuk memecah Anda kode dan masalah besar Anda 855 00:38:00,050 --> 00:38:02,740 memiliki menjadi potongan-potongan kecil dan menciptakan fungsi 856 00:38:02,740 --> 00:38:05,330 sebenarnya adalah salah satu dari pilar besar CS. 857 00:38:05,330 --> 00:38:06,440 858 00:38:06,440 --> 00:38:11,740 Jadi Anda bisa memikirkan fungsi seperti seperti kotak hitam, kotak hitam ajaib, 859 00:38:11,740 --> 00:38:15,030 bahwa Anda meletakkan segala sesuatu ke dan Anda mendapatkan beberapa output. 860 00:38:15,030 --> 00:38:16,290 861 00:38:16,290 --> 00:38:19,460 Dan sisanya dari program tidak perlu selalu tahu 862 00:38:19,460 --> 00:38:21,150 apa yang terjadi di dalam kotak hitam. 863 00:38:21,150 --> 00:38:24,190 Semua itu peduli apa masuk dan apa yang keluar. 864 00:38:24,190 --> 00:38:26,230 865 00:38:26,230 --> 00:38:26,730 Keren. 866 00:38:26,730 --> 00:38:27,820 >> Jadi mengapa fungsi? 867 00:38:27,820 --> 00:38:33,240 Organization-- seperti yang saya katakan, ketika Anda berurusan dengan basis kode yang sangat besar, 868 00:38:33,240 --> 00:38:37,357 bagaimana Anda mengatur kode Anda akan jauh lebih mudah jika Anda menggunakan fungsi. 869 00:38:37,357 --> 00:38:39,190 Karena Anda akan dapat menjadi, seperti, OK, ini 870 00:38:39,190 --> 00:38:41,849 adalah apa fungsi ini tidak dan inilah yang satu lagi tidak. 871 00:38:41,849 --> 00:38:43,890 Dan Anda dapat dengan mudah melihat bagaimana mereka semua cocok bersama-sama. 872 00:38:43,890 --> 00:38:45,590 873 00:38:45,590 --> 00:38:48,210 Jadi melanggar itu ke dalam semua ini subparts dikelola. 874 00:38:48,210 --> 00:38:51,860 >> Jadi simplification-- Saya yakin kalian semua melihat ini, seperti yang saya katakan, dengan Scratch. 875 00:38:51,860 --> 00:38:53,230 876 00:38:53,230 --> 00:38:56,790 Anda memiliki ide besar ini, dan Anda seperti, bagaimana melakukan semua pekerjaan ini? 877 00:38:56,790 --> 00:38:59,710 Tetapi jika Anda mendekatinya sedikit demi sedikit, Anda berkata, OK, 878 00:38:59,710 --> 00:39:03,650 bagaimana cara membuat satu sprite mengapung di layar? 879 00:39:03,650 --> 00:39:04,805 Itu sedikit lebih mudah. 880 00:39:04,805 --> 00:39:06,000 881 00:39:06,000 --> 00:39:09,590 Penggunaan begitu baik fungsi merek kode Anda lebih mudah untuk dibaca. 882 00:39:09,590 --> 00:39:13,800 Itu membuat lebih mudah untuk debug yang sebagai Anda masuk ke set masalah kemudian Anda, 883 00:39:13,800 --> 00:39:15,900 Anda akan benar-benar ingin dapat dilakukan. 884 00:39:15,900 --> 00:39:17,900 Dan mereka juga lebih mudah untuk merancang dan mengimplementasikan. 885 00:39:17,900 --> 00:39:21,100 Anda dapat kode sebuah kecil berfungsi relatif cepat 886 00:39:21,100 --> 00:39:25,260 dan pastikan bekerja dibandingkan mencoba untuk membuat program lama ini seluruh 887 00:39:25,260 --> 00:39:28,960 dan kemudian jenis pergi melalui dan melihat apa yang bekerja dan apa yang tidak. 888 00:39:28,960 --> 00:39:30,300 >> Dan kemudian usabilitas. 889 00:39:30,300 --> 00:39:33,380 Jadi fungsi hanya perlu untuk ditulis sekali, 890 00:39:33,380 --> 00:39:35,586 dan kemudian Anda dapat menggunakannya sebanyak mungkin. 891 00:39:35,586 --> 00:39:37,210 Jadi, seperti, dalam arti ramah lingkungan. 892 00:39:37,210 --> 00:39:39,660 893 00:39:39,660 --> 00:39:42,070 Jika Anda memiliki hal-hal seperti cetak f, di mana Anda 894 00:39:42,070 --> 00:39:47,420 harus menuliskan sihir yang berlangsung di balik mencetak f setiap saat 895 00:39:47,420 --> 00:39:51,040 Anda ingin mencetak sesuatu, Anda akan sangat sakit dan lelah itu 896 00:39:51,040 --> 00:39:51,650 pada akhir. 897 00:39:51,650 --> 00:39:52,660 898 00:39:52,660 --> 00:39:55,292 >> Salah satu hal yang Anda akan belajar di kemudian kelas CS, 899 00:39:55,292 --> 00:39:57,000 atau salah satu yang terbaik nasihat saya mendapatkan 900 00:39:57,000 --> 00:40:00,870 adalah, jika Anda menyalin dan menyisipkan kode, mungkin harus fungsi. 901 00:40:00,870 --> 00:40:01,880 902 00:40:01,880 --> 00:40:06,007 Jika Anda memiliki yang sama persis baris di seluruh kode Anda, 903 00:40:06,007 --> 00:40:08,090 jika Anda faktor mereka, kode Anda mungkin akan 904 00:40:08,090 --> 00:40:11,860 menjadi, seperti, lima kali lebih pendek dan jauh lebih mudah dibaca. 905 00:40:11,860 --> 00:40:15,230 Dan alih-alih mencoba untuk memecahkan masalah semua tempat-tempat ini berbeda di mana hal-hal 906 00:40:15,230 --> 00:40:18,021 mungkin salah, Anda memiliki satu fungsi bahwa Anda mendapatkan untuk memecahkan masalah. 907 00:40:18,021 --> 00:40:19,230 908 00:40:19,230 --> 00:40:21,890 Dan aku berjanji, banyak ini mungkin tampak agak abstrak sekarang, 909 00:40:21,890 --> 00:40:24,620 tetapi karena Anda masuk ke kemudian dan masalah kemudian set, 910 00:40:24,620 --> 00:40:28,950 itu akan membuat banyak lebih masuk akal dan benar-benar didorong rumah. 911 00:40:28,950 --> 00:40:31,775 Apakah ada pertanyaan tentang fungsi sejauh ini? 912 00:40:31,775 --> 00:40:32,650 Mengapa kita menggunakan mereka? 913 00:40:32,650 --> 00:40:34,775 Aku tahu kita belum sempat ke sepele belum. 914 00:40:34,775 --> 00:40:40,610 Jadi mendefinisikan function-- seperti array, kita perlu semacam of-- ini 915 00:40:40,610 --> 00:40:41,860 hanya output umum. 916 00:40:41,860 --> 00:40:45,110 Jadi ini adalah fungsi yang hanya akan kubus beberapa masukan. 917 00:40:45,110 --> 00:40:50,120 Dan pada halaman berikutnya, sebenarnya, kita memiliki semua hal-hal kecil ini mengagumkan di sini. 918 00:40:50,120 --> 00:40:52,420 Jadi, bisa semua orang baca bahwa, karena penasaran? 919 00:40:52,420 --> 00:40:55,050 Aku tahu ungu dan hitam mungkin agak sulit. 920 00:40:55,050 --> 00:41:00,730 >> Tapi hal-hal besar untuk tahu-- jadi yang pertama satu di sini adalah jenis kami kembali. 921 00:41:00,730 --> 00:41:05,270 Jadi ini adalah berbicara tentang output fungsi ini ketika, dalam hal ini, 922 00:41:05,270 --> 00:41:08,990 kami dimasukkan ke dalam beberapa nomor, apa yang kita mendapatkan adalah bahwa nomor potong dadu. 923 00:41:08,990 --> 00:41:11,090 Jadi harus int dalam kasus ini. 924 00:41:11,090 --> 00:41:14,055 Mungkin itu akan menjadi ganda atau sesuatu yang lain nanti, tapi dalam kasus ini, 925 00:41:14,055 --> 00:41:14,555 itu adalah int. 926 00:41:14,555 --> 00:41:15,620 927 00:41:15,620 --> 00:41:19,440 >> Dengan c, Anda selalu membutuhkan tipe kembali. 928 00:41:19,440 --> 00:41:20,267 Ini akan menjadi int. 929 00:41:20,267 --> 00:41:20,975 Ini akan menjadi pelampung. 930 00:41:20,975 --> 00:41:22,180 Ini akan menjadi ganda. 931 00:41:22,180 --> 00:41:25,370 Tapi Anda harus menentukan apa Fungsi ini akan kembali. 932 00:41:25,370 --> 00:41:26,480 933 00:41:26,480 --> 00:41:29,170 Jika tidak, akan berteriak Anda, dan itu tidak dapat dikompilasi. 934 00:41:29,170 --> 00:41:30,462 Anda akan sedih, dan aku akan sedih. 935 00:41:30,462 --> 00:41:31,420 Dan itu tidak baik. 936 00:41:31,420 --> 00:41:31,940 OK. 937 00:41:31,940 --> 00:41:34,290 >> Dan kemudian kita memiliki nama fungsi kita. 938 00:41:34,290 --> 00:41:38,440 Dan seperti yang Anda lihat di sini, dengan c ada paradigma yang sangat konsisten ini. 939 00:41:38,440 --> 00:41:42,630 Apa tipe Anda, apa nama, dan kemudian beberapa hal lain di akhir. 940 00:41:42,630 --> 00:41:45,550 Jadi kita memiliki tipe kami kembali, Nama fungsi kita, dan kemudian 941 00:41:45,550 --> 00:41:49,320 kita memiliki kepala kami dengan daftar parameter kami. 942 00:41:49,320 --> 00:41:52,080 >> Jadi daftar parameter adalah, apa fungsi ini akan mengambil dalam? 943 00:41:52,080 --> 00:41:56,360 Sebuah daftar parameter hanyalah sebuah sinonim untuk, apa masukan dari kami? 944 00:41:56,360 --> 00:42:00,230 Dan dengan cara yang sama bahwa kita harus mendefinisikan fungsi kita 945 00:42:00,230 --> 00:42:03,210 dan memberikan return mengetik, masing-masing masukan kami 946 00:42:03,210 --> 00:42:05,350 perlu memiliki tipe yang terkait dengannya. 947 00:42:05,350 --> 00:42:08,850 Jadi kita tahu apa fungsi kita benar-benar dapat bekerja dengan. 948 00:42:08,850 --> 00:42:11,290 >> Jadi dalam hal ini, kami memiliki beberapa masukan int. 949 00:42:11,290 --> 00:42:14,660 Jadi sekali lagi, itu akan menjadi jenis dan apa yang Anda menyebutnya. 950 00:42:14,660 --> 00:42:16,500 951 00:42:16,500 --> 00:42:19,040 Dan kemudian, seperti yang Anda lihat di sini, kita memiliki tubuh kita. 952 00:42:19,040 --> 00:42:23,600 Jadi kita memiliki beberapa output int, yang hanya kami masukan kali sendiri 953 00:42:23,600 --> 00:42:25,810 kali itu sendiri, yang hanya batu itu. 954 00:42:25,810 --> 00:42:27,610 Dan kemudian kita kembali bahwa output. 955 00:42:27,610 --> 00:42:32,140 >> Jadi seperti yang Anda lihat di sini, kami memiliki int kali int kali int, 956 00:42:32,140 --> 00:42:35,420 sehingga mengembalikan sebuah int, yang telah dinyatakan ada. 957 00:42:35,420 --> 00:42:38,240 Jadi semuanya kohesif. 958 00:42:38,240 --> 00:42:39,210 Semuanya senang. 959 00:42:39,210 --> 00:42:40,250 Fungsi Anda akan berjalan. 960 00:42:40,250 --> 00:42:41,192 961 00:42:41,192 --> 00:42:42,650 Dan ini adalah hal umum. 962 00:42:42,650 --> 00:42:46,750 Jadi selalu memiliki jenis kembali, Nama, dan daftar parameter Anda. 963 00:42:46,750 --> 00:42:48,830 Setiap hal dalam Anda daftar parameter, atau masukan, 964 00:42:48,830 --> 00:42:51,410 perlu memiliki tipe yang terkait dengannya. 965 00:42:51,410 --> 00:42:54,210 Dan kemudian Anda memiliki Anda Tubuh di sini dengan apa pun 966 00:42:54,210 --> 00:42:55,590 Anda ingin lakukan dengan masukan Anda. 967 00:42:55,590 --> 00:42:57,390 968 00:42:57,390 --> 00:43:00,410 >> Dan maka jelas Anda ingin kembali sesuatu. 969 00:43:00,410 --> 00:43:02,630 Kadang-kadang fungsi hanya akan kembali. 970 00:43:02,630 --> 00:43:06,090 Mereka tidak benar-benar kembali sesuatu untuk Anda gunakan. 971 00:43:06,090 --> 00:43:08,660 Tapi Anda harus kembali dalam beberapa cara. 972 00:43:08,660 --> 00:43:12,900 Dan ketika Anda membuat fungsi sendiri, 973 00:43:12,900 --> 00:43:15,430 kita bisa masuk ke yang sedikit lebih dalam. 974 00:43:15,430 --> 00:43:18,880 Secara pribadi, jika Anda ingin, ada banyak hal yang berbeda yang dapat Anda lakukan di sana. 975 00:43:18,880 --> 00:43:21,350 976 00:43:21,350 --> 00:43:22,140 Semua orang baik? 977 00:43:22,140 --> 00:43:25,900 Apa pun dalam daftar ini yang Anda inginkan saya untuk pergi ke, bahwa Anda tidak mengerti? 978 00:43:25,900 --> 00:43:27,204 979 00:43:27,204 --> 00:43:28,120 Semua orang baik di sana? 980 00:43:28,120 --> 00:43:29,071 981 00:43:29,071 --> 00:43:29,570 Keren. 982 00:43:29,570 --> 00:43:31,350 983 00:43:31,350 --> 00:43:32,120 Mengagumkan. 984 00:43:32,120 --> 00:43:34,700 >> OK, jadi kita meletakkan semua bersama-sama ini sekarang. 985 00:43:34,700 --> 00:43:35,720 986 00:43:35,720 --> 00:43:41,201 Jadi kita memiliki beberapa masukan int kubus, jadi ini adalah program lengkap di sini. 987 00:43:41,201 --> 00:43:42,950 Sampai sekarang, saya sudah jenis telah memberikan Anda 988 00:43:42,950 --> 00:43:45,699 orang potongan yang mungkin pergi dalam sebuah program. 989 00:43:45,699 --> 00:43:47,240 Kami baru saja melihat fungsi. 990 00:43:47,240 --> 00:43:48,448 Tapi inilah seluruh program. 991 00:43:48,448 --> 00:43:49,400 992 00:43:49,400 --> 00:43:53,690 Jadi berapa banyak dari Anda ingat prototipe kata dari kuliah? 993 00:43:53,690 --> 00:43:54,750 994 00:43:54,750 --> 00:43:55,300 Keren. 995 00:43:55,300 --> 00:43:55,890 Kami punya satu. 996 00:43:55,890 --> 00:43:57,160 997 00:43:57,160 --> 00:43:58,110 Siapa namamu? 998 00:43:58,110 --> 00:43:58,850 >> STEPH: Steph. 999 00:43:58,850 --> 00:43:59,475 >> ALLISON: Steph? 1000 00:43:59,475 --> 00:44:01,030 OK, mengagumkan. 1001 00:44:01,030 --> 00:44:03,310 Jadi, apakah Anda ingat apa prototipe adalah? 1002 00:44:03,310 --> 00:44:04,651 1003 00:44:04,651 --> 00:44:10,230 >> SISWA: Anda mengatakan [tidak terdengar] sebelum Anda benar-benar berurusan dengan itu. 1004 00:44:10,230 --> 00:44:11,700 >> ALLISON: Apakah Anda ingat mengapa? 1005 00:44:11,700 --> 00:44:13,158 >> SISWA: No. 1006 00:44:13,158 --> 00:44:14,620 >> ALLISON: OK. 1007 00:44:14,620 --> 00:44:16,090 Bintang emas. 1008 00:44:16,090 --> 00:44:19,470 Jadi ya, prototipe kami sebelumnya, karena jika tidak, 1009 00:44:19,470 --> 00:44:21,260 compiler kita akan berteriak pada kami. 1010 00:44:21,260 --> 00:44:24,294 Itu akan berkata, OK, apa fungsi kubus ini? 1011 00:44:24,294 --> 00:44:26,460 Seperti, Anda benar-benar memiliki mengatakan apa-apa tentang hal ini. 1012 00:44:26,460 --> 00:44:28,110 Ini seperti ketika Anda berjalan ke ruang kelas, 1013 00:44:28,110 --> 00:44:29,320 dan seseorang seperti, ada kuis hari ini. 1014 00:44:29,320 --> 00:44:31,380 Dan Anda seperti, Anda tidak pernah mengatakan kepada saya tentang hal ini. 1015 00:44:31,380 --> 00:44:32,930 Saya tidak senang dengan kami. 1016 00:44:32,930 --> 00:44:34,300 1017 00:44:34,300 --> 00:44:37,020 Prototipe pada dasarnya seperti silabus Anda mengatakan, melihat. 1018 00:44:37,020 --> 00:44:37,900 Kepala. 1019 00:44:37,900 --> 00:44:39,570 Ada akan menjadi kuis pada hari ini. 1020 00:44:39,570 --> 00:44:41,420 Jangan panik ketika Anda sampai ke sana. 1021 00:44:41,420 --> 00:44:42,690 Kau akan baik-baik saja. 1022 00:44:42,690 --> 00:44:48,170 >> Jadi semua prototipe dilakukan adalah memberitahu utama, saya akan menggunakan fungsi ini. 1023 00:44:48,170 --> 00:44:51,010 Aku berjanji aku mendefinisikan nanti. 1024 00:44:51,010 --> 00:44:52,260 Jangan panik ke arahku. 1025 00:44:52,260 --> 00:44:54,750 Hanya mengkompilasi dan melakukan apa yang saya memberitahu Anda untuk. 1026 00:44:54,750 --> 00:44:58,880 Jadi kita memiliki prototipe ada hanya untuk membuat kompiler kita bahagia. 1027 00:44:58,880 --> 00:45:04,360 Dan itu pada dasarnya janji bahwa Anda telah menetapkan fungsi ini kemudian 1028 00:45:04,360 --> 00:45:07,960 dan bahwa Anda tidak hanya menelepon Hal acak ini yang 1029 00:45:07,960 --> 00:45:10,070 tidak tahu apa yang Anda akan lakukan. 1030 00:45:10,070 --> 00:45:11,910 >> Jadi dalam hal ini, kita memiliki utama di sini. 1031 00:45:11,910 --> 00:45:14,660 Kami menginisialisasi beberapa bilangan bulat x. 1032 00:45:14,660 --> 00:45:15,620 Itu dua. 1033 00:45:15,620 --> 00:45:17,510 Kita akan mencetak apa x adalah. 1034 00:45:17,510 --> 00:45:18,800 Kita akan kubus x. 1035 00:45:18,800 --> 00:45:21,520 Seperti yang Anda lihat, kami telah kami deklarasi fungsi 1036 00:45:21,520 --> 00:45:23,770 di sini bahwa kita berbicara tentang sebelumnya. 1037 00:45:23,770 --> 00:45:28,260 Ini akan kubus x, dan kemudian, jika kita ingat, fungsi kubus sebenarnya 1038 00:45:28,260 --> 00:45:31,340 mengembalikan sebuah integer untuk kami, yang disimpan 1039 00:45:31,340 --> 00:45:35,860 di x lagi sehingga kita dapat mencetak delapan, atau kubus x sekarang. 1040 00:45:35,860 --> 00:45:37,170 1041 00:45:37,170 --> 00:45:38,920 Apakah itu masuk akal untuk semua orang? 1042 00:45:38,920 --> 00:45:40,360 Kita baik? 1043 00:45:40,360 --> 00:45:41,160 Baik. 1044 00:45:41,160 --> 00:45:41,660 Mengagumkan. 1045 00:45:41,660 --> 00:45:45,540 1046 00:45:45,540 --> 00:45:46,840 >> Baik. 1047 00:45:46,840 --> 00:45:50,879 Berapa banyak dari kalian ingat ini jadi ini 1048 00:45:50,879 --> 00:45:52,670 pada dasarnya hanya Anda stack dan heap Anda, 1049 00:45:52,670 --> 00:45:56,510 hanya visualisasi bagaimana memori disimpan di sini. 1050 00:45:56,510 --> 00:45:58,200 1051 00:45:58,200 --> 00:46:01,400 Jadi kami hanya ingin membuat Pastikan bahwa Anda memahami 1052 00:46:01,400 --> 00:46:03,680 bagaimana ini diwakili dalam memori. 1053 00:46:03,680 --> 00:46:07,670 Jika Anda mengambil kelas seperti CS61 dan hal-hal kemudian, 1054 00:46:07,670 --> 00:46:10,570 Anda bisa belajar ini jauh lebih secara mendalam, dan itu benar-benar keren. 1055 00:46:10,570 --> 00:46:11,730 Saya sangat merekomendasikan hal ini. 1056 00:46:11,730 --> 00:46:12,740 1057 00:46:12,740 --> 00:46:14,720 Tapi untuk saat ini, saya akan memberikan Anda gambaran yang luas 1058 00:46:14,720 --> 00:46:16,950 sehingga Anda tidak perlu mengetahui sepele. 1059 00:46:16,950 --> 00:46:20,820 >> Jadi atas hanya segmen teks yang berisi angka nol yang sebenarnya dan yang, 1060 00:46:20,820 --> 00:46:23,740 biner untuk itu. 1061 00:46:23,740 --> 00:46:27,510 Dan ini digunakan untuk menyimpan variabel global jika Anda memiliki. 1062 00:46:27,510 --> 00:46:28,870 1063 00:46:28,870 --> 00:46:32,240 Ketika Anda bergerak ke bawah, kita memiliki, seperti yang Anda lihat di sini, 1064 00:46:32,240 --> 00:46:34,670 Data diinisialisasi, diinisiasi data, dan kemudian tumpukan. 1065 00:46:34,670 --> 00:46:35,800 1066 00:46:35,800 --> 00:46:38,584 >> Jadi kita tidak benar-benar bicara tentang tumpukan sekarang. 1067 00:46:38,584 --> 00:46:39,500 Kita akan sampai ke sana nanti. 1068 00:46:39,500 --> 00:46:40,762 1069 00:46:40,762 --> 00:46:42,970 Untuk saat ini, aku hanya akan gelombang tangan saya dan menjadi seperti, 1070 00:46:42,970 --> 00:46:44,553 Anda tidak perlu tahu tentang hal ini sekarang. 1071 00:46:44,553 --> 00:46:46,100 1072 00:46:46,100 --> 00:46:49,060 Tapi kami akan berbicara sedikit sedikit tentang stack. 1073 00:46:49,060 --> 00:46:53,050 Jadi stack adalah where-- kita memiliki zoom in. 1074 00:46:53,050 --> 00:46:58,590 Ini sebenarnya bagaimana program kita hanya melihat terjadi pada memori. 1075 00:46:58,590 --> 00:47:01,630 >> Jadi apa yang terjadi adalah, setiap kali kita memanggil fungsi, 1076 00:47:01,630 --> 00:47:04,180 kita mendapatkan apa yang disebut stack bingkai, yang merupakan salah satu dari ini. 1077 00:47:04,180 --> 00:47:05,870 Parameter sehingga utama dunia. 1078 00:47:05,870 --> 00:47:07,944 Jadi mereka adalah hal-hal bahwa kita masuk ke utama. 1079 00:47:07,944 --> 00:47:11,110 Jadi mereka di sini di bagian bawah, karena itulah hal pertama yang kita sebut. 1080 00:47:11,110 --> 00:47:13,401 Dan kemudian kita sampai ke dunia utama penduduk setempat, dan ketika kita mengatakan bahwa, 1081 00:47:13,401 --> 00:47:15,970 kita berarti variabel lokal yang disimpan dalam utama. 1082 00:47:15,970 --> 00:47:19,950 1083 00:47:19,950 --> 00:47:23,620 Jadi penduduk setempat di sini akan, seperti, x sama dengan dua dalam kasus ini. 1084 00:47:23,620 --> 00:47:26,350 Karena yang diterjemahkan ke utama. 1085 00:47:26,350 --> 00:47:29,745 Apakah semua orang ingat ruang lingkup, akan lebih dari itu dalam kuliah? 1086 00:47:29,745 --> 00:47:31,517 1087 00:47:31,517 --> 00:47:32,017 OK. 1088 00:47:32,017 --> 00:47:36,110 Jadi, hanya variabel-variabel yang diinisialisasi dalam utama. 1089 00:47:36,110 --> 00:47:38,550 Jadi itulah mengapa kita memiliki utama [? vokal. ?] 1090 00:47:38,550 --> 00:47:40,390 >> Dan kemudian dalam waktu utama, kita sebut kubus. 1091 00:47:40,390 --> 00:47:41,000 Benar? 1092 00:47:41,000 --> 00:47:44,510 Jadi kita mendapatkan frame yang lain dengan parameter kubus ini. 1093 00:47:44,510 --> 00:47:47,050 Jadi dalam hal ini, kubus ini parameter sekarang 1094 00:47:47,050 --> 00:47:50,800 x yang kita berlalu dalam, dua yang kami melewati di. 1095 00:47:50,800 --> 00:47:55,320 Dan kemudian penduduk setempat kubus, yang merupakan dimana cubing yang sebenarnya terjadi. 1096 00:47:55,320 --> 00:47:56,450 Dan kemudian ia kembali. 1097 00:47:56,450 --> 00:48:02,120 >> Jadi apa yang terjadi adalah sebagai kubus sebenarnya apa yang seharusnya dilakukan, itu kembali. 1098 00:48:02,120 --> 00:48:07,020 Ketika ia kembali, frame ini daun, dan yang kembali ke utama. 1099 00:48:07,020 --> 00:48:09,160 Dan kemudian dalam waktu utama, kami benar-benar dapat mencetaknya. 1100 00:48:09,160 --> 00:48:10,840 1101 00:48:10,840 --> 00:48:14,500 Jadi, ketika Anda kembali sesuatu, ketika fungsi Anda kembali, 1102 00:48:14,500 --> 00:48:19,900 itu seperti menyampaikan nilai-nilai ke bingkai bawah dan kemudian meninggalkan. 1103 00:48:19,900 --> 00:48:22,200 Dan hal-hal harus menjalankan dalam rangka. 1104 00:48:22,200 --> 00:48:25,550 >> Dan ketika Anda sampai ke program yang lebih besar, kita dapat membuat lebih dingin dan lebih rumit 1105 00:48:25,550 --> 00:48:26,470 diagram. 1106 00:48:26,470 --> 00:48:29,070 Tetapi untuk sekarang, ini adalah hanya gambaran umum 1107 00:48:29,070 --> 00:48:31,110 sehingga Anda memiliki jenis yang pemahaman tentang apa 1108 00:48:31,110 --> 00:48:35,160 terjadi ketika Anda memanggil fungsi dan bagaimana yang benar-benar terlihat dalam memori. 1109 00:48:35,160 --> 00:48:37,230 1110 00:48:37,230 --> 00:48:37,770 Keren? 1111 00:48:37,770 --> 00:48:38,353 Semua orang baik? 1112 00:48:38,353 --> 00:48:39,920 1113 00:48:39,920 --> 00:48:40,420 Mengagumkan. 1114 00:48:40,420 --> 00:48:42,070 1115 00:48:42,070 --> 00:48:50,575 >> Jadi ini adalah salah satu yang hanya mencoba untuk swap hal. 1116 00:48:50,575 --> 00:48:52,260 1117 00:48:52,260 --> 00:48:54,930 Seperti yang kita lihat di sini, kami memiliki prototipe fungsi kita 1118 00:48:54,930 --> 00:48:56,900 sehingga compiler kami tidak berteriak pada kami. 1119 00:48:56,900 --> 00:48:59,220 Kami memiliki beberapa utama, dan kami ingin beralih x dan y. 1120 00:48:59,220 --> 00:49:00,320 1121 00:49:00,320 --> 00:49:04,129 Mereka tidak melakukan demo ini dalam kuliah lagi, memiliki mereka? 1122 00:49:04,129 --> 00:49:04,670 Mereka belum? 1123 00:49:04,670 --> 00:49:05,900 OK. 1124 00:49:05,900 --> 00:49:08,450 Jadi kita akan pergi lebih dari ini sangat singkat. 1125 00:49:08,450 --> 00:49:12,210 Anda akan masuk ke contoh ini lebih secara mendalam, saya pikir, pekan ini. 1126 00:49:12,210 --> 00:49:15,680 Dan kemudian minggu depan kita bisa benar-benar menyelam ke mengapa ini tidak bekerja. 1127 00:49:15,680 --> 00:49:18,810 >> Jadi kita memiliki kekosongan ini Fungsi sini-swap. 1128 00:49:18,810 --> 00:49:20,720 Jadi batal hanya berarti bahwa tidak ada yang dikembalikan. 1129 00:49:20,720 --> 00:49:22,000 1130 00:49:22,000 --> 00:49:24,110 Dan kami memiliki pertukaran int dan int b. 1131 00:49:24,110 --> 00:49:27,046 Dan kami memiliki beberapa sementara variabel itu adalah. 1132 00:49:27,046 --> 00:49:30,050 a akan ditugaskan untuk b, dan kemudian b akan ditugaskan untuk temp 1133 00:49:30,050 --> 00:49:32,235 sehingga dan b nilai-nilai yang sekarang beralih. 1134 00:49:32,235 --> 00:49:33,510 1135 00:49:33,510 --> 00:49:36,030 >> Tapi, twist plot, ini tidak bekerja. 1136 00:49:36,030 --> 00:49:37,390 1137 00:49:37,390 --> 00:49:42,380 Dan bagian dari itu sebenarnya memiliki hubungannya dengan fakta bahwa 1138 00:49:42,380 --> 00:49:48,800 dan b di sini, orang-orang yang bisa lewat di di sini, sebenarnya salinan x dan y. 1139 00:49:48,800 --> 00:49:53,220 Jadi ketika fungsi benar-benar kembali, switch salinan tapi tidak 1140 00:49:53,220 --> 00:49:55,960 x aktual dan y ini. 1141 00:49:55,960 --> 00:50:02,370 Jadi salah satu cara untuk berpikir tentang hal ini adalah itu-- berpura-pura ini adalah swap. 1142 00:50:02,370 --> 00:50:03,130 OK? 1143 00:50:03,130 --> 00:50:05,390 Jadi dalam utama, kami memiliki x dan y diinisialisasi. 1144 00:50:05,390 --> 00:50:06,530 1145 00:50:06,530 --> 00:50:10,760 Tapi ketika kita benar-benar naik untuk frame ini dengan swap, 1146 00:50:10,760 --> 00:50:15,740 kita melewati nilai-nilai lebih dari untuk itu, dan mereka diinisialisasi. 1147 00:50:15,740 --> 00:50:18,570 >> Dan mereka hanya pernah tinggal di sini. 1148 00:50:18,570 --> 00:50:19,796 Jadi a dan b tinggal di sini. 1149 00:50:19,796 --> 00:50:20,670 Dan mereka mendapatkan bertukar. 1150 00:50:20,670 --> 00:50:21,870 1151 00:50:21,870 --> 00:50:26,190 Tapi ketika kita kembali, kita tidak melakukan apa saja dengan a dan b. sebuah 1152 00:50:26,190 --> 00:50:28,980 dan b cuti dengan fungsi kita. 1153 00:50:28,980 --> 00:50:30,850 Dan x dan y tetap sama. 1154 00:50:30,850 --> 00:50:31,960 1155 00:50:31,960 --> 00:50:39,665 Anda akan mendapatkan lebih ke bagaimana memperbaikinya dan bagaimana kita benar-benar berurusan dengan itu nanti. 1156 00:50:39,665 --> 00:50:40,750 1157 00:50:40,750 --> 00:50:43,740 >> Tapi itu hanya satu hal untuk jenis diingat. 1158 00:50:43,740 --> 00:50:45,270 Menggunakannya untuk masa depan. 1159 00:50:45,270 --> 00:50:48,050 Jangan khawatir jika itu tidak membuat semua rasa di dunia. 1160 00:50:48,050 --> 00:50:49,510 1161 00:50:49,510 --> 00:50:51,440 Mereka adalah salinan adalah hal terbesar. 1162 00:50:51,440 --> 00:50:54,580 Jika Anda akan mengambil apa-apa jauh dari itu, Anda lulus dalam salinan. 1163 00:50:54,580 --> 00:50:56,410 Jadi aslinya tetap sama. 1164 00:50:56,410 --> 00:50:58,170 1165 00:50:58,170 --> 00:50:58,770 Semua orang baik? 1166 00:50:58,770 --> 00:51:00,280 1167 00:51:00,280 --> 00:51:00,930 Keren. 1168 00:51:00,930 --> 00:51:02,295 >> Jadi argumen baris perintah. 1169 00:51:02,295 --> 00:51:03,520 1170 00:51:03,520 --> 00:51:07,630 Saya yakin pada awalnya kalian semua memiliki orang-orang besar, seperti, void utama int. 1171 00:51:07,630 --> 00:51:09,517 Dan Anda seperti, OK keren. 1172 00:51:09,517 --> 00:51:10,350 Aku tidak benar-benar peduli. 1173 00:51:10,350 --> 00:51:12,360 Ini hanya apa yang saya harus menulis. 1174 00:51:12,360 --> 00:51:16,349 Tapi dalam program baru Anda, terutama di pset ini, 1175 00:51:16,349 --> 00:51:17,890 dan mengapa ada kapur di tanah? 1176 00:51:17,890 --> 00:51:19,640 1177 00:51:19,640 --> 00:51:22,680 >> Dengan pset berikutnya, Anda akan melihat ini. 1178 00:51:22,680 --> 00:51:26,130 Int main, int arg c, tali busur v, kurung. 1179 00:51:26,130 --> 00:51:28,770 Jadi, dari apa yang kita hanya pelajari hari ini, apa 1180 00:51:28,770 --> 00:51:32,190 kita berpikir bahwa parameter kedua atau Elemen kedua adalah di sini? 1181 00:51:32,190 --> 00:51:34,830 1182 00:51:34,830 --> 00:51:35,824 Ini sebuah array. 1183 00:51:35,824 --> 00:51:36,615 Apa jenis array? 1184 00:51:36,615 --> 00:51:38,430 1185 00:51:38,430 --> 00:51:40,690 String array, ya. 1186 00:51:40,690 --> 00:51:41,980 Keren. 1187 00:51:41,980 --> 00:51:45,320 Jadi itulah bagaimana Anda akan akan menyatakan ini sekarang. 1188 00:51:45,320 --> 00:51:48,570 >> Apakah ada yang ingat apa ini berdiri untuk? 1189 00:51:48,570 --> 00:51:52,551 1190 00:51:52,551 --> 00:51:53,050 Tidak ada? 1191 00:51:53,050 --> 00:51:54,020 1192 00:51:54,020 --> 00:51:54,520 Hmm? 1193 00:51:54,520 --> 00:51:55,640 >> SISWA: arg c. 1194 00:51:55,640 --> 00:51:56,961 1195 00:51:56,961 --> 00:51:58,950 >> ALLISON: Jadi arg c terus counter. 1196 00:51:58,950 --> 00:51:59,450 Ini adalah int. 1197 00:51:59,450 --> 00:52:00,615 Itu nomor, kan? 1198 00:52:00,615 --> 00:52:02,240 Jadi apa yang Anda pikirkan angka itu dari? 1199 00:52:02,240 --> 00:52:08,260 1200 00:52:08,260 --> 00:52:08,760 Ya. 1201 00:52:08,760 --> 00:52:11,450 Jadi arg c adalah jumlah string yang membentuk baris perintah. 1202 00:52:11,450 --> 00:52:12,560 1203 00:52:12,560 --> 00:52:18,499 Jadi jika kita do-- sebenarnya, ada contoh setelah ini, 1204 00:52:18,499 --> 00:52:19,790 jadi saya tidak akan maju dari diriku sendiri. 1205 00:52:19,790 --> 00:52:21,299 1206 00:52:21,299 --> 00:52:23,840 Ini adalah jumlah string yang hanya membuat baris perintah Anda. 1207 00:52:23,840 --> 00:52:35,080 >> Jadi, ketika Anda lakukan, seperti, dot slash Mario, itu salah satu string yang membuat itu. 1208 00:52:35,080 --> 00:52:38,520 Dalam bagian ini, Anda benar-benar akan makan hal-hal ke dalam baris perintah, 1209 00:52:38,520 --> 00:52:41,750 karena saya yakin kalian yang telah membaca melihat spec. 1210 00:52:41,750 --> 00:52:44,470 Jadi dalam kasus-kasus, mungkin Anda akan memiliki dua atau tiga argumen. 1211 00:52:44,470 --> 00:52:45,652 1212 00:52:45,652 --> 00:52:48,360 Ini akan menjadi hal yang berguna untuk digunakan. 1213 00:52:48,360 --> 00:52:51,500 >> Dan kemudian arg v, seperti kami katakan, hanya sebuah array string. 1214 00:52:51,500 --> 00:52:57,000 Sehingga sebenarnya menyimpan apa Anda masukan ke dalam baris perintah. 1215 00:52:57,000 --> 00:52:59,960 Jadi kita memiliki ini. 1216 00:52:59,960 --> 00:53:02,850 Anda memiliki beberapa dot slash menyalin outfile infile. 1217 00:53:02,850 --> 00:53:06,670 Jadi, jika arg c adalah jumlah string bahwa kita melewati ke perintah 1218 00:53:06,670 --> 00:53:09,080 line, apa c arg kami dalam kasus ini? 1219 00:53:09,080 --> 00:53:14,520 1220 00:53:14,520 --> 00:53:15,850 Tiga. 1221 00:53:15,850 --> 00:53:16,690 Tepat. 1222 00:53:16,690 --> 00:53:20,086 >> Jadi apa arg v dari nol? 1223 00:53:20,086 --> 00:53:21,710 Jadi apa hal pertama yang kita telah disimpan? 1224 00:53:21,710 --> 00:53:24,640 1225 00:53:24,640 --> 00:53:26,290 Dot slash copy, tepatnya. 1226 00:53:26,290 --> 00:53:28,065 Dan kemudian yang kedua akan infile. 1227 00:53:28,065 --> 00:53:29,290 1228 00:53:29,290 --> 00:53:30,930 Ketiga akan outfile. 1229 00:53:30,930 --> 00:53:32,390 Jadi bagaimana dengan arg v tiga? 1230 00:53:32,390 --> 00:53:35,810 1231 00:53:35,810 --> 00:53:39,370 Akan null, karena itulah akhir array kita, kan? 1232 00:53:39,370 --> 00:53:40,600 1233 00:53:40,600 --> 00:53:41,460 Keren. 1234 00:53:41,460 --> 00:53:44,500 >> Dan kemudian bagaimana dengan seperenam? 1235 00:53:44,500 --> 00:53:45,900 Ini semacam pertanyaan jebakan. 1236 00:53:45,900 --> 00:53:46,400 Ish. 1237 00:53:46,400 --> 00:53:49,027 1238 00:53:49,027 --> 00:53:49,943 Apakah kita tahu apa itu? 1239 00:53:49,943 --> 00:53:50,960 1240 00:53:50,960 --> 00:53:51,690 Ini tidak terdefinisi. 1241 00:53:51,690 --> 00:53:53,170 Kami tidak tahu apa yang bisa. 1242 00:53:53,170 --> 00:53:57,000 Itu pun yang benar setelah array dalam memori, 1243 00:53:57,000 --> 00:54:00,220 dan kami tidak tahu apa itu. 1244 00:54:00,220 --> 00:54:03,500 Dan itu berbahaya untuk menyentuh orang-orang hal, karena untuk semua yang Anda tahu, 1245 00:54:03,500 --> 00:54:07,080 itu adalah beberapa bagian dari memori yang Anda tidak boleh mengakses atau null. 1246 00:54:07,080 --> 00:54:09,000 Dan dapat melakukan hal-hal gila. 1247 00:54:09,000 --> 00:54:11,690 Ini disebut over-pengindeksan Anda terikat untuk array Anda. 1248 00:54:11,690 --> 00:54:14,785 Jangan pergi di luar batas-batas Anda array, atau hal buruk bisa terjadi. 1249 00:54:14,785 --> 00:54:16,274 1250 00:54:16,274 --> 00:54:18,940 Anda kembali dan, seperti, hukum fisika telah hancur 1251 00:54:18,940 --> 00:54:19,481 atau sesuatu. 1252 00:54:19,481 --> 00:54:21,021 1253 00:54:21,021 --> 00:54:21,520 Keren. 1254 00:54:21,520 --> 00:54:22,895 Apakah itu masuk akal untuk semua orang? 1255 00:54:22,895 --> 00:54:23,810 1256 00:54:23,810 --> 00:54:25,025 Tidak terlalu buruk. 1257 00:54:25,025 --> 00:54:28,926 >> Jadi sekarang, semua orang Bagian favorit, ulasan pset. 1258 00:54:28,926 --> 00:54:29,426 Yay! 1259 00:54:29,426 --> 00:54:30,530 1260 00:54:30,530 --> 00:54:31,030 OK. 1261 00:54:31,030 --> 00:54:33,830 Jadi bagi anda yang belum membaca pset spec, 1262 00:54:33,830 --> 00:54:36,790 Anda melakukan beberapa benar-benar keren dengan kriptografi. 1263 00:54:36,790 --> 00:54:39,360 Anda akan membuat Caesar Cipher dan Vigenere Cipher. 1264 00:54:39,360 --> 00:54:42,000 1265 00:54:42,000 --> 00:54:45,480 Anda pasti harus membaca spek untuk melihat bagaimana pekerjaan mereka. 1266 00:54:45,480 --> 00:54:49,650 Dan jika Anda mengalami kesulitan tentang apa yang benar-benar harus lakukan, 1267 00:54:49,650 --> 00:54:52,920 silahkan datang bicara padaku, email saya atau teks saya. 1268 00:54:52,920 --> 00:54:53,420 Aku sekitar. 1269 00:54:53,420 --> 00:54:54,780 1270 00:54:54,780 --> 00:54:57,070 >> Jadi ada tiga utama hal di sini bahwa kita 1271 00:54:57,070 --> 00:55:00,440 ingin berbicara about-- hanya jenis perpanjangan kuliah. 1272 00:55:00,440 --> 00:55:03,645 Hal-hal yang Anda mungkin tidak tahu tentang, petunjuk bermanfaat dan alat-alat. 1273 00:55:03,645 --> 00:55:05,520 Jadi kita akan melakukan tinjauan singkat dari ASCII, 1274 00:55:05,520 --> 00:55:10,420 karena itu akan menjadi super penting bagi Vigenere Cipher ini. 1275 00:55:10,420 --> 00:55:11,809 1276 00:55:11,809 --> 00:55:14,100 Kita akan konversi input baris perintah, yang 1277 00:55:14,100 --> 00:55:17,160 akan sangat membantu untuk Caesar Cipher. 1278 00:55:17,160 --> 00:55:18,133 Dan kemudian modulo. 1279 00:55:18,133 --> 00:55:20,220 1280 00:55:20,220 --> 00:55:21,210 Keren. 1281 00:55:21,210 --> 00:55:24,005 >> Jadi, ASCII peta karakter untuk nomor. 1282 00:55:24,005 --> 00:55:25,270 1283 00:55:25,270 --> 00:55:26,365 Ini adalah grafik yang besar. 1284 00:55:26,365 --> 00:55:28,115 Anda harus memiliki ini bookmarked suatu tempat. 1285 00:55:28,115 --> 00:55:29,310 1286 00:55:29,310 --> 00:55:33,250 Anda akan ingin untuk jangka menengah-pertama Anda. 1287 00:55:33,250 --> 00:55:36,320 Aku cukup yakin setiap orang memiliki ini grafik pada lembar jangka menengah mereka. 1288 00:55:36,320 --> 00:55:37,810 Jadi mempelajarinya. 1289 00:55:37,810 --> 00:55:38,410 Love it. 1290 00:55:38,410 --> 00:55:39,740 Tetap berguna. 1291 00:55:39,740 --> 00:55:41,210 Ini akan berguna. 1292 00:55:41,210 --> 00:55:45,630 >> Dan semua itu adalah sebuah encoding yang memetakan abjad, angka, 1293 00:55:45,630 --> 00:55:47,740 dan karakter lain untuk angka untuk komputer kita. 1294 00:55:47,740 --> 00:55:49,947 Karena tentu saja, dalam end, segala sesuatu yang kita simpan 1295 00:55:49,947 --> 00:55:52,030 akan mendapatkan dikonversi turun ke nol dan yang, 1296 00:55:52,030 --> 00:55:55,200 jadi kita perlu beberapa cara untuk mewakili teks dan karakter yang kita semua 1297 00:55:55,200 --> 00:55:59,105 digunakan untuk melihat sebagai semacam nomor. 1298 00:55:59,105 --> 00:56:00,370 1299 00:56:00,370 --> 00:56:05,880 >> Jadi seperti yang kita lihat di sini, kami memiliki huruf A, yang ada di sana. 1300 00:56:05,880 --> 00:56:06,555 Ini 65. 1301 00:56:06,555 --> 00:56:07,570 1302 00:56:07,570 --> 00:56:09,660 Dan huruf kecil A adalah 97. 1303 00:56:09,660 --> 00:56:13,170 Jadi Anda dapat mencari out-- seperti yang saya katakan sebelumnya, 1304 00:56:13,170 --> 00:56:16,532 jika Anda memiliki array beberapa string, apa masing-masing 1305 00:56:16,532 --> 00:56:17,490 memiliki null terminator. 1306 00:56:17,490 --> 00:56:18,480 Ini akan menjadi ruang. 1307 00:56:18,480 --> 00:56:22,581 Ruang memiliki special-- sendiri Saya lupa di mana itu adalah di sini. 1308 00:56:22,581 --> 00:56:23,080 Ah. 1309 00:56:23,080 --> 00:56:24,700 32 adalah ruang. 1310 00:56:24,700 --> 00:56:27,090 Jadi semuanya peta untuk itu. 1311 00:56:27,090 --> 00:56:28,680 1312 00:56:28,680 --> 00:56:29,740 >> Jadi kita memiliki matematika ASCII. 1313 00:56:29,740 --> 00:56:31,080 1314 00:56:31,080 --> 00:56:34,290 Pro tip-- di Vigenere ini, Anda mungkin tergoda 1315 00:56:34,290 --> 00:56:39,480 untuk mengkonversi nomor Anda ke bilangan bulat, tapi praktek sebenarnya lebih baik 1316 00:56:39,480 --> 00:56:43,860 untuk dapat menggunakan karakter seperti ini 1317 00:56:43,860 --> 00:56:45,820 ketika Anda benar-benar memanipulasi mereka. 1318 00:56:45,820 --> 00:56:48,950 Jadi jika Anda ingin menggunakan angka, Anda bisa. 1319 00:56:48,950 --> 00:56:55,260 Tapi cara yang lebih baik, atau cara yang kita cenderung ingin kalian untuk melakukannya, 1320 00:56:55,260 --> 00:56:57,830 cara ini di mana Anda benar-benar mengurangi karakter. 1321 00:56:57,830 --> 00:56:58,840 1322 00:56:58,840 --> 00:57:02,830 >> Jadi saya ingin kalian jenis mencari ini keluar. 1323 00:57:02,830 --> 00:57:05,070 Mengapa Anda tidak mencoba setiap orang lain? 1324 00:57:05,070 --> 00:57:07,580 1325 00:57:07,580 --> 00:57:09,830 Begitu juga yang pertama, sepertiga, dan yang kelima. 1326 00:57:09,830 --> 00:57:11,160 1327 00:57:11,160 --> 00:57:15,000 Karena saya ingin memastikan bahwa kita berbicara tentang segala sesuatu yang kita perlu bicarakan. 1328 00:57:15,000 --> 00:57:17,410 1329 00:57:17,410 --> 00:57:20,259 Aku hanya akan mengatakan, salah satu hal penting to-- oh tunggu, 1330 00:57:20,259 --> 00:57:21,550 kalian belum melihat yang satu ini. 1331 00:57:21,550 --> 00:57:23,710 OK jadi melakukan tiga pertama. 1332 00:57:23,710 --> 00:57:24,430 Mari kita melakukan itu. 1333 00:57:24,430 --> 00:57:25,971 Karena kita harus berbicara tentang Modulo. 1334 00:57:25,971 --> 00:57:27,810 1335 00:57:27,810 --> 00:57:28,310 Aku tahu. 1336 00:57:28,310 --> 00:57:28,851 Matematika sulit. 1337 00:57:28,851 --> 00:57:29,870 1338 00:57:29,870 --> 00:57:30,980 Anda dapat menggunakan kalkulator. 1339 00:57:30,980 --> 00:57:31,580 Tidak apa-apa. 1340 00:57:31,580 --> 00:57:37,464 1341 00:57:37,464 --> 00:57:40,380 Atau menarik tabel ASCII, karena Anda mungkin akan menginginkan hal itu. 1342 00:57:40,380 --> 00:58:03,660 1343 00:58:03,660 --> 00:58:04,820 >> Keren. 1344 00:58:04,820 --> 00:58:07,960 Jadi saya akan cepat berjalan kalian melalui ini. 1345 00:58:07,960 --> 00:58:11,120 Jadi orang tabel ASCII berhenti? 1346 00:58:11,120 --> 00:58:15,645 Apa numerik kami nomor untuk huruf kecil A? 1347 00:58:15,645 --> 00:58:16,270 SISWA: Tujuh. 1348 00:58:16,270 --> 00:58:19,420 1349 00:58:19,420 --> 00:58:24,550 >> ALLISON: Jadi huruf kecil A adalah 97 dan huruf A adalah 65. 1350 00:58:24,550 --> 00:58:26,390 Jadi 97 dikurangi 65? 1351 00:58:26,390 --> 00:58:27,782 1352 00:58:27,782 --> 00:58:28,570 >> AUDIENCE: 32? 1353 00:58:28,570 --> 00:58:33,260 1354 00:58:33,260 --> 00:58:35,630 >> ALLISON: 62, ya. 1355 00:58:35,630 --> 00:58:38,675 Jadi dalam hal ini, apa apakah itu mencetak? 1356 00:58:38,675 --> 00:58:40,360 Itu yang pertama? 1357 00:58:40,360 --> 00:58:43,830 Jika kita memiliki persen d, apakah itu menunjukkan? 1358 00:58:43,830 --> 00:58:45,980 1359 00:58:45,980 --> 00:58:46,730 SISWA: Sejumlah. 1360 00:58:46,730 --> 00:58:48,604 ALLISON: Kami mencetak out jumlah yang sebenarnya. 1361 00:58:48,604 --> 00:58:50,770 Jadi kita benar-benar akan untuk mencetak 32 di sini. 1362 00:58:50,770 --> 00:58:56,360 Dan jika ini adalah persen c, 32 akan memberi kita ruang. 1363 00:58:56,360 --> 00:58:57,700 1364 00:58:57,700 --> 00:59:01,670 Jadi pemahaman bahwa karakter dapat dicetak 1365 00:59:01,670 --> 00:59:06,140 baik sebagai angka dan sebagai karakter yang sebenarnya 1366 00:59:06,140 --> 00:59:11,080 benar-benar penting, dan membayar perhatian pada jenis yang sebenarnya 1367 00:59:11,080 --> 00:59:12,040 yang kita lakukan di sini. 1368 00:59:12,040 --> 00:59:14,520 1369 00:59:14,520 --> 00:59:15,020 Keren. 1370 00:59:15,020 --> 00:59:18,862 Jadi untuk setiap orang lain dari ini, apa yang kita akan mencetak? 1371 00:59:18,862 --> 00:59:19,825 >> SISWA: Sebuah karakter. 1372 00:59:19,825 --> 00:59:20,830 >> ALLISON: Sebuah karakter. 1373 00:59:20,830 --> 00:59:21,330 Keren. 1374 00:59:21,330 --> 00:59:24,260 Jadi jika kalian ingin tahu, Anda dapat bekerja ini keluar pada Anda sendiri. 1375 00:59:24,260 --> 00:59:25,900 Jika Anda mengalami kesulitan, email saya. 1376 00:59:25,900 --> 00:59:28,950 Tapi yang kedua akan mencetak huruf kecil b. 1377 00:59:28,950 --> 00:59:32,910 Yang ketiga akan mencetak sebuah huruf B. keempat yang akan mencetak 1378 00:59:32,910 --> 00:59:36,410 out huruf besar C, dan yang terakhir akan menjadi huruf kecil A. 1379 00:59:36,410 --> 00:59:42,530 Dan satu-- terakhir kita benar-benar akan untuk masuk ke dalam apa yang persen gila 1380 00:59:42,530 --> 00:59:45,020 tanda bahkan berarti dalam beberapa slide. 1381 00:59:45,020 --> 00:59:46,667 Jadi cobalah mereka sendiri. 1382 00:59:46,667 --> 00:59:48,500 Jika Anda memiliki masalah, silahkan datang bicara padaku. 1383 00:59:48,500 --> 00:59:49,655 1384 00:59:49,655 --> 00:59:53,290 Jika Anda biasanya di Adams aula D, Anda mungkin akan menemukan saya sekitar. 1385 00:59:53,290 --> 00:59:54,760 1386 00:59:54,760 --> 00:59:55,760 >> Jadi, atoi. 1387 00:59:55,760 --> 00:59:59,660 Berapa banyak dari Anda telah melihat ini fungsi atau mendengar tentang hal itu sama sekali? 1388 00:59:59,660 --> 01:00:00,380 1389 01:00:00,380 --> 01:00:00,880 Siapa? 1390 01:00:00,880 --> 01:00:02,100 1391 01:00:02,100 --> 01:00:02,600 Keren. 1392 01:00:02,600 --> 01:00:06,250 Jadi apa yang sebenarnya berdiri adalah ASCII ke integer. 1393 01:00:06,250 --> 01:00:13,150 Jadi apa yang dapat Anda lakukan adalah, dengan Caesar, bagi mereka yang membaca spec, 1394 01:00:13,150 --> 01:00:16,460 Anda akan melakukan dot slash Caesar setelah Anda menulis program Anda, 1395 01:00:16,460 --> 01:00:18,690 dan kemudian Anda akan masukan beberapa nomor yang Anda 1396 01:00:18,690 --> 01:00:24,780 ingin mengkodekan pesan rahasia Anda dengan. 1397 01:00:24,780 --> 01:00:30,700 >> Tapi, jika kita ingat, semua kami input disimpan sebagai string. 1398 01:00:30,700 --> 01:00:31,390 Benar? 1399 01:00:31,390 --> 01:00:35,160 Kami memiliki v array yang arg itu semua tipe string. 1400 01:00:35,160 --> 01:00:37,870 Jadi, jika Anda hanya mencoba untuk menarik satu itu, akan 1401 01:00:37,870 --> 01:00:43,240 berpikir bahwa itu satu atau nomor apa pun Anda digunakan sebenarnya karakter. 1402 01:00:43,240 --> 01:00:45,490 Jadi Anda akan mendapatkan beberapa hasil gila. 1403 01:00:45,490 --> 01:00:48,200 Jadi jika Anda benar-benar ingin mengubahnya menjadi integer 1404 01:00:48,200 --> 01:00:52,060 yang dapat Anda gunakan untuk memanipulasi kata atau pesan Anda, 1405 01:00:52,060 --> 01:00:53,366 Anda akan ingin menggunakan atoi. 1406 01:00:53,366 --> 01:00:56,320 atoi hanya mengkonversi string ke int. 1407 01:00:56,320 --> 01:01:04,530 >> Jadi jika kita memiliki serangkaian 12, jika kita sebut atoi pada 12, atau apa pun masukan yaitu, 1408 01:01:04,530 --> 01:01:07,370 itu benar-benar akan kembali Anda integer. 1409 01:01:07,370 --> 01:01:10,610 Bukan karakter atau string 12. 1410 01:01:10,610 --> 01:01:14,230 Yang, ketika Anda mulai menambahkan bahwa untuk angka, 1411 01:01:14,230 --> 01:01:17,710 akan sangat berbeda, karena string 12 adalah 1412 01:01:17,710 --> 01:01:21,210 beberapa nomor gila di ASCII, tetapi integer 12 1413 01:01:21,210 --> 01:01:23,390 sebenarnya 12, yang adalah apa yang Anda inginkan. 1414 01:01:23,390 --> 01:01:25,630 Jadi, Anda ingin memastikan untuk menggunakan atoi. 1415 01:01:25,630 --> 01:01:29,203 >> Anda akan ingin ini di Caesar, karena Anda 1416 01:01:29,203 --> 01:01:32,520 membutuhkan int disediakan oleh pengguna pada command line. 1417 01:01:32,520 --> 01:01:35,230 Tapi ketika mereka dimasukkan ke dalam perintah line, itu disimpan sebagai string 1418 01:01:35,230 --> 01:01:35,813 untuk mulai dengan. 1419 01:01:35,813 --> 01:01:36,950 1420 01:01:36,950 --> 01:01:38,210 Apakah itu masuk akal? 1421 01:01:38,210 --> 01:01:40,590 Anda tidak perlu memerlukan ini untuk Vigenere. 1422 01:01:40,590 --> 01:01:43,180 Dengan Vigenere, seperti yang saya katakan sebelumnya, Anda harus mencoba dan menggunakan 1423 01:01:43,180 --> 01:01:46,600 Matematika ASCII yang terlihat lebih seperti ini, di mana Anda benar-benar 1424 01:01:46,600 --> 01:01:49,320 menggunakan karakter yang kita diberikan kepada Anda. 1425 01:01:49,320 --> 01:01:50,970 1426 01:01:50,970 --> 01:01:51,470 Keren. 1427 01:01:51,470 --> 01:01:52,970 1428 01:01:52,970 --> 01:01:54,170 Semua orang baik di sana? 1429 01:01:54,170 --> 01:01:56,530 1430 01:01:56,530 --> 01:01:57,480 Mengagumkan. 1431 01:01:57,480 --> 01:01:59,030 >> Jadi modulo. 1432 01:01:59,030 --> 01:02:01,950 Jadi bagaimana jika Anda diberi sejumlah besar ini untuk Caesar? 1433 01:02:01,950 --> 01:02:03,720 1434 01:02:03,720 --> 01:02:07,970 Anda memiliki gagasan bahwa jika Anda di Z dan Anda 1435 01:02:07,970 --> 01:02:11,020 diberi nomor dua, itu berarti Anda need-- 1436 01:02:11,020 --> 01:02:15,130 Z menjadi yang kedua surat setelah itu sendiri, kan? 1437 01:02:15,130 --> 01:02:20,800 Jadi, Anda perlu entah bagaimana membungkus, dan modulo adalah cara untuk melakukan itu. 1438 01:02:20,800 --> 01:02:23,310 Jadi semua yang dilakukannya itu memberikan sisanya 1439 01:02:23,310 --> 01:02:25,660 dari pembagian Nomor pertama oleh kedua. 1440 01:02:25,660 --> 01:02:28,660 Dan kami memiliki beberapa contoh untuk membuat beton lebih sedikit. 1441 01:02:28,660 --> 01:02:34,390 Tapi pada dasarnya, Anda menggunakan modulo ketika Anda ingin membuat sesuatu membungkus. 1442 01:02:34,390 --> 01:02:36,950 >> Jadi jika Anda hanya ingin angka satu sampai delapan, 1443 01:02:36,950 --> 01:02:39,670 Anda dapat menggunakan modulo pada setiap lain nomor, dan itu akan selalu 1444 01:02:39,670 --> 01:02:42,960 kembali nomor dari nol sampai delapan. 1445 01:02:42,960 --> 01:02:48,750 Jadi beberapa examples-- jika kami memiliki 55 modulo 10, 1446 01:02:48,750 --> 01:02:55,350 itu hanya memberi Anda sisa 55 dibagi dengan 10, yang akan menjadi 5. 1447 01:02:55,350 --> 01:02:56,440 1448 01:02:56,440 --> 01:03:02,470 Dan kemudian tiga modulo lima, ada yang menebak apa yang akan terjadi? 1449 01:03:02,470 --> 01:03:03,800 1450 01:03:03,800 --> 01:03:04,300 Tiga. 1451 01:03:04,300 --> 01:03:05,570 1452 01:03:05,570 --> 01:03:10,910 >> Jadi jika Anda memiliki sejumlah kecil sebelum Modulo, tidak bisa masuk secara merata. 1453 01:03:10,910 --> 01:03:11,520 Itu nol. 1454 01:03:11,520 --> 01:03:14,090 Jadi hanya mengembalikan jumlah itu sendiri. 1455 01:03:14,090 --> 01:03:15,920 Jadi delapan modulo delapan akan? 1456 01:03:15,920 --> 01:03:16,603 >> SISWA: Zero. 1457 01:03:16,603 --> 01:03:18,350 >> ALLISON: Zero. 1458 01:03:18,350 --> 01:03:20,160 Karena masuk merata. 1459 01:03:20,160 --> 01:03:22,095 16 modulo 15? 1460 01:03:22,095 --> 01:03:23,660 >> AUDIENCE: Satu. 1461 01:03:23,660 --> 01:03:24,700 >> ALLISON: Cool. 1462 01:03:24,700 --> 01:03:29,280 Dan kemudian yang terakhir ini hanya untuk menunjukkan you-- Anda mungkin bertanya-tanya, OK, 1463 01:03:29,280 --> 01:03:31,800 apa urutan operasi di sini? 1464 01:03:31,800 --> 01:03:33,100 Apakah kita membagi lebih dulu? 1465 01:03:33,100 --> 01:03:34,570 Apakah kita modulo pertama? 1466 01:03:34,570 --> 01:03:38,730 Jadi modulo memegang prioritas yang sama sebagai divisi atau perkalian, 1467 01:03:38,730 --> 01:03:39,940 dan asosiatif kiri. 1468 01:03:39,940 --> 01:03:41,730 Jadi itu dengan cara yang sama. 1469 01:03:41,730 --> 01:03:46,520 Anda akan selalu melakukan kurung, maka perkalian, pembagian, 1470 01:03:46,520 --> 01:03:49,570 dan modulo dalam urutan dari kiri ke kanan. 1471 01:03:49,570 --> 01:03:51,050 Aturan sehingga standar. 1472 01:03:51,050 --> 01:03:55,260 Hanya menaruhnya di kategori yang sama sebagai divisi dan perkalian. 1473 01:03:55,260 --> 01:03:59,040 >> Jadi dalam hal ini, kita akan memiliki 1 ditambah 2 memberi kita 3. 1474 01:03:59,040 --> 01:04:02,210 Kita kalikan dengan 2, sehingga kita mendapatkan 6. 1475 01:04:02,210 --> 01:04:05,050 Kami modulo bahwa dengan 2, yang memberi kita? 1476 01:04:05,050 --> 01:04:06,042 >> SISWA: 0. 1477 01:04:06,042 --> 01:04:07,430 >> ALLISON: 0. 1478 01:04:07,430 --> 01:04:10,270 Dan kemudian kita tambahkan 2, jadi kami mendapatkan 2 dalam kasus terakhir ini. 1479 01:04:10,270 --> 01:04:12,080 1480 01:04:12,080 --> 01:04:16,360 Jadi modulo-- Anda pasti akan berpikir tentang cara untuk memasukkan 1481 01:04:16,360 --> 01:04:19,520 bahwa ketika Anda membungkus sekitar alfabet. 1482 01:04:19,520 --> 01:04:24,210 Jika Anda berada di Z dan Anda perlu untuk memindahkan maju tiga ruang untuk sampai ke C, 1483 01:04:24,210 --> 01:04:26,230 ada yang seluruh konsep membungkus di sekitar. 1484 01:04:26,230 --> 01:04:28,790 Jadi saya akan menyerahkan kepada kalian untuk mencari tahu 1485 01:04:28,790 --> 01:04:31,940 bagaimana tepatnya Anda akan menggunakannya. 1486 01:04:31,940 --> 01:04:35,660 Tapi yang pasti alat yang berguna untuk pset Anda minggu ini. 1487 01:04:35,660 --> 01:04:36,910 1488 01:04:36,910 --> 01:04:37,730 Saya sangat suka ini. 1489 01:04:37,730 --> 01:04:39,480 Ini adalah salah satu psets favorit saya. 1490 01:04:39,480 --> 01:04:41,230 Kemudian setelah Anda melakukannya, jika Anda memiliki teman, 1491 01:04:41,230 --> 01:04:44,146 Anda bisa, seperti, saling mengirim rahasia lainnya pesan dan pastikan bekerja. 1492 01:04:44,146 --> 01:04:45,695 Karena akan mendekripsi itu atau apa pun. 1493 01:04:45,695 --> 01:04:46,710 1494 01:04:46,710 --> 01:04:47,390 Banyak menyenangkan. 1495 01:04:47,390 --> 01:04:48,840 1496 01:04:48,840 --> 01:04:51,220 >> Dan itu adalah akhir bagian. 1497 01:04:51,220 --> 01:04:52,430 1498 01:04:52,430 --> 01:04:54,040 Aku selesai awal. 1499 01:04:54,040 --> 01:04:57,540 Saya masih memiliki 15 menit dengan kalian, jadi jika ada sesuatu 1500 01:04:57,540 --> 01:05:02,180 bahwa Anda ingin pergi lebih lanjut, saya akan senang untuk melakukan itu. 1501 01:05:02,180 --> 01:05:04,340 Pertanyaan lain pada pset Anda bagi anda 1502 01:05:04,340 --> 01:05:06,355 yang sudah mulai atau membaca spec. 1503 01:05:06,355 --> 01:05:07,870 1504 01:05:07,870 --> 01:05:12,060 Apa pun yang kita sudah bicara tentang dalam satu jam terakhir 1505 01:05:12,060 --> 01:05:16,880 dan 15 menit yang Anda ingin saya untuk jenis pengulangan, saya akan senang untuk. 1506 01:05:16,880 --> 01:05:20,790 Atau kita bisa menyebutnya berhenti, dan Anda dapat semua meninggalkan dan mengambil lebih permen dengan Anda 1507 01:05:20,790 --> 01:05:21,650 saat Anda pergi. 1508 01:05:21,650 --> 01:05:23,719 1509 01:05:23,719 --> 01:05:26,260 Tetapi jika ada tersisa apapun pertanyaan, tolong beritahu saya. 1510 01:05:26,260 --> 01:05:28,467 Anda juga dapat datang dan berbicara dengan saya setelah itu. 1511 01:05:28,467 --> 01:05:29,425 Aku berjanji tidak menggigit. 1512 01:05:29,425 --> 01:05:32,140 1513 01:05:32,140 --> 01:05:32,795 Ada lagi? 1514 01:05:32,795 --> 01:05:33,890 1515 01:05:33,890 --> 01:05:35,240 Semua orang baik? 1516 01:05:35,240 --> 01:05:37,540 Perasaan semua orang seperti mereka dapat menangani pset ini? 1517 01:05:37,540 --> 01:05:38,820 1518 01:05:38,820 --> 01:05:42,405 Anda akan menjadi orang baik-baik saja. 1519 01:05:42,405 --> 01:05:43,905 Jam kerja yang ada karena suatu alasan. 1520 01:05:43,905 --> 01:05:45,930 1521 01:05:45,930 --> 01:05:46,460 Keren. 1522 01:05:46,460 --> 01:05:47,020 Baiklah. 1523 01:05:47,020 --> 01:05:49,680 >> Nah, dalam hal ini, terima kasih kasih banyak untuk datang. 1524 01:05:49,680 --> 01:05:50,940 Saya berharap untuk melihat Anda minggu depan. 1525 01:05:50,940 --> 01:05:52,120 Akan ada lebih banyak permen. 1526 01:05:52,120 --> 01:05:53,495 Mungkin ada hal-hal menarik lainnya. 1527 01:05:53,495 --> 01:05:55,010 1528 01:05:55,010 --> 01:05:59,090 Dan saya berharap untuk mendapatkan untuk mengetahui semua Anda tahun ini. 1529 01:05:59,090 --> 01:06:00,320