1 00:00:00,000 --> 00:00:07,070 [Powered by Google Translate] [♪ dengung ♪] 2 00:00:07,070 --> 00:00:10,380 Jadi untuk memperkenalkan anda kepada apa yang saya telah bangun pada skrin; 3 00:00:10,380 --> 00:00:12,710 ia adalah salah satu daripada alat-alat yang kita dibangunkan sepanjang musim panas; 4 00:00:12,710 --> 00:00:15,530 ia dipanggil CS50 kawasan, 5 00:00:15,530 --> 00:00:18,860 dan ia adalah permohonan kerjasama kami pengekodan 6 00:00:18,860 --> 00:00:20,180 bahawa kita akan menggunakan dalam seksyen. 7 00:00:20,180 --> 00:00:22,470 Ia adalah agak sejuk. 8 00:00:22,470 --> 00:00:26,040 Adakah mana-mana anda melihat CS50 run lagi? 9 00:00:26,040 --> 00:00:29,760 Biar saya tarik sehingga yang dalam tab lain. 10 00:00:29,760 --> 00:00:33,440 Run.cs50.net 11 00:00:33,440 --> 00:00:36,230 Jadi 12 00:00:36,230 --> 00:00:39,700 jika anda pergi ke run.cs50.net, 13 00:00:39,700 --> 00:00:43,030 anda boleh melihat ini adalah dengan cara pelayar anda untuk 14 00:00:43,030 --> 00:00:45,940 sebenarnya kod menulis kod C, 15 00:00:45,940 --> 00:00:47,460 dan kemudian berjalan ia, 16 00:00:47,460 --> 00:00:50,960 jadi ia berdua menyusun, berjalan ia, kemudian kembali output kepada anda, 17 00:00:50,960 --> 00:00:53,350 jadi ini adalah jenis cara yang sejuk untuk bereksperimen 18 00:00:53,350 --> 00:00:56,060 dengan beberapa kod bahawa Daud pergi lebih dalam kuliah 19 00:00:56,060 --> 00:00:58,640 dan kita berikan kepada anda pada set masalah 20 00:00:58,640 --> 00:01:01,900 tanpa sebenarnya perlu api sehingga perkakas. 21 00:01:01,900 --> 00:01:04,489 >> Jadi apa Ruang tidak yang berbeza daripada yang 22 00:01:04,489 --> 00:01:07,450 jika saya menghidupkan kembali ke tab ini, 23 00:01:07,450 --> 00:01:11,580 Ruangan CS50 jangka, seperti yang anda lihat di sini, 24 00:01:11,580 --> 00:01:15,380 tetapi jika kita tatal ke atas dan melihat sisi lain tingkap, 25 00:01:15,380 --> 00:01:18,130 anda lihat kanan saya satu-satunya orang di dalam ruang ini, 26 00:01:18,130 --> 00:01:21,030 tetapi apa yang saya akan lakukan adalah meminta anda semua untuk menyertai Angkasa ini dengan saya 27 00:01:21,030 --> 00:01:24,590 dan kita semua akan mendapat kod dalam tetingkap kecil yang sama, 28 00:01:24,590 --> 00:01:26,070 berkongsi kod dengan satu sama lain, 29 00:01:26,070 --> 00:01:28,900 dan bercakap tentang perbezaan di antara kod kami. 30 00:01:28,900 --> 00:01:31,530 Jadi ia adalah jenis perkara yang sejuk - 31 00:01:31,530 --> 00:01:35,770 jadi untuk menyertai, jika anda akan lawati pautan ini di sini di atas 32 00:01:35,770 --> 00:01:38,980 bahawa saya telah diserlahkan, 33 00:01:38,980 --> 00:01:53,860 anda hanya boleh menaip di apps.cs50.net/spaces/vqcspSnO. 34 00:01:53,860 --> 00:01:56,610 >> Baiklah, jadi untuk memulakan, 35 00:01:56,610 --> 00:01:59,720 Saya akan memberikan anda sedikit lawatan ini. 36 00:01:59,720 --> 00:02:01,720 Kami gonna melakukan beberapa kod bodoh sedikit dengan ia pada mulanya, 37 00:02:01,720 --> 00:02:06,200 hanya supaya semua orang agak mendapat rasa untuk apa ia adalah seperti, 38 00:02:06,200 --> 00:02:09,000 tetapi apa yang saya lakukan - 39 00:02:09,000 --> 00:02:11,830 atau apa yang saya kira-kira untuk melakukan yang betul di sini adalah - 40 00:02:11,830 --> 00:02:13,480 Saya akan mengambil kod yang saya telah menulis di sini, 41 00:02:13,480 --> 00:02:15,800 yang seperti yang anda lihat sekarang adalah kosong; 42 00:02:15,800 --> 00:02:17,090 ia tidak berbuat apa-apa. 43 00:02:17,090 --> 00:02:21,080 Ia hanya plat dandang kod, kita akan memanggilnya. 44 00:02:21,080 --> 00:02:23,820 Dengan sedikit tugasan komen. 45 00:02:23,820 --> 00:02:27,850 Saya akan menyimpannya dengan menekan butang Simpan. 46 00:02:27,850 --> 00:02:30,190 Dan apa yang tidak ia 47 00:02:30,190 --> 00:02:34,400 menekankan di sini secara ringkas bahawa kotak semakan save hijau, 48 00:02:34,400 --> 00:02:37,570 dan kini, jika anda mencari saya di Angkasa, 49 00:02:37,570 --> 00:02:40,340 anda klik nama saya, 50 00:02:40,340 --> 00:02:43,370 anda boleh lihat bahawa saya telah mendapat semakan ini di sini, 51 00:02:43,370 --> 00:02:45,490 dan jika anda klik pada revisi itu, 52 00:02:45,490 --> 00:02:48,240 ia akan memuatkan kod yang ke Angkasa anda, terlalu. 53 00:02:50,510 --> 00:02:54,160 >> Begitu juga semua orang dimuatkan bahawa kod ke Angkasa mereka? 54 00:02:54,160 --> 00:02:57,810 Baiklah, jika anda tidak mempunyai lagi, pergi ke hadapan dan berbuat demikian, 55 00:02:57,810 --> 00:03:01,120 dan kemudian apa yang saya mahu anda semua untuk melakukan ini sedikit tugasan seksyen 56 00:03:01,120 --> 00:03:05,940 menulis sedikit menggunakan printf tentang diri anda, 57 00:03:05,940 --> 00:03:08,310 demikian bagi contoh, saya akan menulis 58 00:03:08,310 --> 00:03:12,270 printf ("Nama saya Nate"); 59 00:03:15,140 --> 00:03:17,700 dan kemudian saya menulis 60 00:03:17,700 --> 00:03:21,660 "Saya menamatkan pengajian pada 2009 61 00:03:21,660 --> 00:03:24,440 dari Stanford " 62 00:03:26,050 --> 00:03:28,390 dan saya akan suka mendengar tentang 63 00:03:28,390 --> 00:03:30,270 apa tahun anda berada di sekolah, 64 00:03:30,270 --> 00:03:33,910 sama ada anda berada di kolej atau sekolah perniagaan 65 00:03:33,910 --> 00:03:36,130 atau lain sekolah Harvard, 66 00:03:36,130 --> 00:03:39,200 apa yang anda belajar jika ia diketahui lagi; 67 00:03:39,200 --> 00:03:41,290 jika ia tidak dikenali, yang benar-benar sejuk. 68 00:03:41,290 --> 00:03:45,170 Saya tidak membuat keputusan sehingga saya lewat tahun kedua saya. 69 00:03:46,910 --> 00:03:49,210 dan kemudian saya juga akan suka tahu 70 00:03:49,210 --> 00:03:51,610 apa-apa gila anda ingin memberitahu saya atau 71 00:03:51,610 --> 00:03:54,790 sesuatu tentang kelas atau hanya apa-apa lagi. 72 00:03:56,930 --> 00:04:00,370 Apabila anda selesai menulis bahawa dengan printf sedikit anda, 73 00:04:00,370 --> 00:04:03,480 jika anda akan menjimatkan semakan atau sebaliknya 74 00:04:03,480 --> 00:04:06,080 pertama pastikan bahawa anda boleh menjalankan 75 00:04:06,080 --> 00:04:10,640 dan bahawa ia mencetak keluar apa yang anda mahu ia untuk mencetak keluar, 76 00:04:14,050 --> 00:04:16,399 dan kemudian jika anda pergi ke hadapan dan menyelamatkan semakan yang 77 00:04:16,399 --> 00:04:21,600 menggunakan butang Penyemakan Simpan, lelaki ini pertama sedikit di sini, 78 00:04:24,080 --> 00:04:27,340 dan kita agak akan pergi melalui dan melakukan sedikit pengenalan yang cara. 79 00:04:27,340 --> 00:04:30,150 Jadi anda hanya perlu mempunyai untuk memukul butang Main, 80 00:04:30,150 --> 00:04:32,550 yang di sini di sebelah kiri atas, 81 00:04:32,550 --> 00:04:35,340 jadi ini butang Main di sebelah kiri atas akan 82 00:04:35,340 --> 00:04:39,050 menghantar kod anda kepada pelayan kami di mana ia mendapat disusun dan kemudian berjalan. 83 00:04:40,600 --> 00:04:43,300 Jadi apa yang agak gila tentang ini 84 00:04:43,300 --> 00:04:46,550 kod ini sebenarnya tidak berjalan pada komputer anda; 85 00:04:46,550 --> 00:04:49,290 ia sebenarnya sedang dihantar merentasi Internet. 86 00:04:49,290 --> 00:04:51,240 >> Bagaimana PUASANYA, Charlotte? 87 00:04:51,240 --> 00:04:54,810 >> I - okay. : Saya - Saya fikir saya 88 00:04:54,810 --> 00:04:57,330 setelah kesukaran menyimpannya 89 00:04:57,330 --> 00:05:00,530 pada pelayan seperti yang ia boleh - saya boleh menjalankan program. 90 00:05:02,090 --> 00:05:05,780 Dan kemudian apabila saya cuba untuk menjalankannya, ia mengatakan bahawa terdapat kesilapan. 91 00:05:05,780 --> 00:05:08,850 Diisytiharkan sebagai virus, yang tidak di sana lagi. 92 00:05:08,850 --> 00:05:11,860 Oh, mari kita lihat, anda boleh memukul Simpan lagi? 93 00:05:11,860 --> 00:05:13,770 Saya melihat ia pada skrin. 94 00:05:13,770 --> 00:05:15,120 Hak >>, okay, supaya apa yang saya ada. 95 00:05:15,120 --> 00:05:19,430 Dan saya tidak tahu mengapa ia tidak membiarkan saya menjalankan. 96 00:05:22,990 --> 00:05:24,990 Oh, okay, maaf. 97 00:05:27,930 --> 00:05:31,220 Bolehkah anda menjelaskan mengapa - apa yang salah - apa yang tidak bekerja dengan ia? 98 00:05:31,220 --> 00:05:34,760 >> Yeah, kerana saya tidak melihat bahawa terdapat satu barisan terakhir di mana terdapat masih berubah-ubah 99 00:05:34,760 --> 00:05:37,700 bahawa saya telah tidak diisytiharkan, yang saya tidak berniat untuk ia berada di sana. 100 00:05:37,700 --> 00:05:38,730 Ya, perfect! 101 00:05:38,730 --> 00:05:40,390 >> Sekarang jika saya menyimpan ia, saya fikir ia harus bekerja. 102 00:05:40,390 --> 00:05:42,970 Sekarang bahawa anda telah disimpan, ia berfungsi; menggerunkan. 103 00:05:42,970 --> 00:05:44,570 >> Jadi yeah, seperti yang kita pergi melalui - 104 00:05:44,570 --> 00:05:46,690 jadi apa yang sedang berlaku, 105 00:05:46,690 --> 00:05:49,130 Saya hanya akan mengulangi ini untuk kamera. 106 00:05:49,130 --> 00:05:51,760 Apa yang berlaku ialah bahawa variabel ini s 107 00:05:51,760 --> 00:05:54,310 ditinggalkan selepas - Saya menganggap anda dipadam beberapa barangan lain 108 00:05:54,310 --> 00:05:56,670 di mana anda diisytiharkan sebagai, 109 00:05:56,670 --> 00:05:59,560 dan sebagainya ini telah membuang sesuatu di luar dan tidak membiarkan anda menjalankan ia. 110 00:05:59,560 --> 00:06:02,540 Jadi ini adalah apa yang kita mahu lakukan dalam seksyen 111 00:06:02,540 --> 00:06:05,690 ada orang cuba menulis kepingan yang berbeza kod, 112 00:06:05,690 --> 00:06:08,490 menyusun, lihat apa kerja, lihat apa yang tidak, 113 00:06:08,490 --> 00:06:10,730 dan kemudian agak bercakap tentang perkara-perkara ini, kerana ini adalah mata tersandung bahawa 114 00:06:10,730 --> 00:06:12,850 Saya masih menghadapi, 115 00:06:12,850 --> 00:06:15,470 Saya masih - saya lakukan banyak barangan bodoh sepanjang masa, 116 00:06:15,470 --> 00:06:17,820 dan saya tidak tahu mengapa ia tidak berfungsi, 117 00:06:17,820 --> 00:06:22,960 jadi mari kita tarik sehingga semakan Charlotte 3, 118 00:06:23,980 --> 00:06:25,380 dan kami akan menjalankan ia. 119 00:06:25,380 --> 00:06:28,950 >> Jadi, apabila saya berjalan, sekarang bahawa saya telah mendapat kod beliau di sini, 120 00:06:28,950 --> 00:06:31,450 Saya boleh mengezum masuk, tekan butang Run, 121 00:06:31,450 --> 00:06:33,680 Gambar, membina, berjalan ia, 122 00:06:33,680 --> 00:06:36,980 mengatakan ia berlari berjaya, dan jika saya tatal ke bawah, 123 00:06:36,980 --> 00:06:39,440 lihat Charlotte adalah seorang junior di Adams House, 124 00:06:39,440 --> 00:06:42,720 psikologi, menengah dalam bidang ekonomi; menggerunkan. 125 00:06:42,720 --> 00:06:44,310 Great untuk bertemu dengan kamu! 126 00:06:44,310 --> 00:06:46,550 Menggerunkan. 127 00:06:46,550 --> 00:06:49,670 Okay, bergerak ke atas, mari kita pergi kepada Daniel, 128 00:06:49,670 --> 00:06:52,710 pergi ke 3 revisi, 129 00:06:52,710 --> 00:06:54,180 menyusun, jalankan; 130 00:06:54,180 --> 00:06:56,680 mengapa tidak anda memberitahu kami sedikit tentang diri sendiri, Daniel? 131 00:06:56,680 --> 00:06:59,380 >> Panggil saya Dan. 132 00:06:59,380 --> 00:07:01,920 Saya pergi ke sekolah perniagaan di seberang dari anda semua, 133 00:07:01,920 --> 00:07:05,020 dan saya adalah di Marin sebelum sini, 134 00:07:05,020 --> 00:07:08,020 dan ini semua baru kepada saya, jadi yeah. 135 00:07:08,020 --> 00:07:11,060 Jangan merasa buruk, saya 30 dan saya tidak tahu apa-apa barangan ini. 136 00:07:11,060 --> 00:07:13,800 Awesome; terima kasih, Dan! 137 00:07:13,800 --> 00:07:17,300 Baiklah, kita mendapat satu lagi Daniel. 138 00:07:17,300 --> 00:07:20,930 Anda pergi oleh Daniel - anda akan memperkenalkan diri anda, Daniel? 139 00:07:20,930 --> 00:07:22,260 >> >> Pasti, saya Daniel. 140 00:07:22,260 --> 00:07:24,330 Saya seorang mahasiswa tingkat kedua di Mather sekarang. 141 00:07:24,330 --> 00:07:25,840 Saya menumpukan perhatian kepada kerajaan, 142 00:07:25,840 --> 00:07:28,760 tetapi saya mahu mengambil CS50 kerana saya pernah mendengar ulasan yang menarik mengenai kelas 143 00:07:28,760 --> 00:07:30,750 dan saya tidak pernah cuba CS sebelum. 144 00:07:30,750 --> 00:07:34,680 Tatal ke bawah sini dan menunjukkan ini - sejuk. 145 00:07:36,330 --> 00:07:39,090 Beralih, Jared. 146 00:07:39,090 --> 00:07:41,990 Bagaimana ia akan? 147 00:07:41,990 --> 00:07:43,430 Baik >>, bagaimana anda? 148 00:07:43,430 --> 00:07:47,520 Seperti yang anda boleh lihat, saya Penumpu falsafah junior dalam Eliot, 149 00:07:47,520 --> 00:07:50,260 berasal dari selatan California, 150 00:07:50,260 --> 00:07:53,100 dan saya berminat dalam mengambil CS50 kerana saya suka logik, 151 00:07:53,100 --> 00:07:57,420 dan ia seolah-olah benar-benar sejuk untuk melakukan perkara-perkara di dalam komputer, jadi. 152 00:07:57,420 --> 00:07:59,570 Awesome; mana di selatan California are you from? 153 00:07:59,570 --> 00:08:02,340 >> Kira-kira sejam dari [didengar], sebuah bandar kecil [didengar]. 154 00:08:02,340 --> 00:08:04,850 Oh, yeah, ayah saya dari Redlands. 155 00:08:04,850 --> 00:08:07,060 Barangan sejuk. 156 00:08:07,060 --> 00:08:12,130 >> Baiklah, Jimmy, bagaimana ia akan, Jimmy? 157 00:08:12,130 --> 00:08:15,130 Baik >>, bagaimana anda? 158 00:08:15,130 --> 00:08:16,040 Melakukan cukup baik! 159 00:08:16,040 --> 00:08:17,710 Beritahu kami tentang diri anda. 160 00:08:17,710 --> 00:08:20,840 >> Saya bayat, dan saya tidak sepenuhnya pasti apa yang saya dengan pengkhususan dalam 161 00:08:20,840 --> 00:08:22,820 tetapi saya agak condong ke arah ekonomi. 162 00:08:22,820 --> 00:08:25,680 Seperti Daniel sebelum saya, saya tidak pernah dilakukan mana-mana CS, tetapi ia kedengaran agak sejuk. 163 00:08:25,680 --> 00:08:28,120 Saya berasal dari Chicago. 164 00:08:28,120 --> 00:08:31,640 Menggerunkan. Jadi menyemak cetakan di sini. 165 00:08:31,640 --> 00:08:34,630 Aku ingin bertanya, adakah ini cetak yang anda harapkan? 166 00:08:34,630 --> 00:08:37,650 >> Tiada, saya terlupa untuk mencetak baris baru. 167 00:08:37,650 --> 00:08:41,270 Saya sebenarnya terlupa bahawa apabila saya menulis perkara yang saya 168 00:08:41,270 --> 00:08:43,090 buat kali pertama, terlalu. 169 00:08:43,090 --> 00:08:46,330 Ia adalah jenis sakit ingat untuk meletakkan mereka secara manual. 170 00:08:46,330 --> 00:08:50,560 Ia akan menjadi baik jika ia hanya tahu bahawa apa yang anda mahu. 171 00:08:50,560 --> 00:08:53,630 >> Okay, Kelly. 172 00:08:53,630 --> 00:08:56,050 Wow, kita mempunyai 2 Kelly; 2 Daniels, 2 Kelly. 173 00:08:56,050 --> 00:09:00,490 Jadi Kelly - adakah anda pergi oleh Kelly Ren? 174 00:09:00,490 --> 00:09:03,870 Okay, menggerunkan. 175 00:09:03,870 --> 00:09:07,270 Atau Kelly, yang saya maksudkan. 176 00:09:07,270 --> 00:09:10,260 >> Jadi yeah, jadi saya Kelly. 177 00:09:10,260 --> 00:09:12,930 Saya seorang mahasiswa tingkat kedua di Pfoho. 178 00:09:12,930 --> 00:09:17,000 Saya mendapat e-mel hari ini bahawa saya masih ada 7 minggu untuk mengisytiharkan kepekatan saya, 179 00:09:17,000 --> 00:09:20,940 jadi saya cuba untuk tidak berfikir tentang hal itu, 180 00:09:20,940 --> 00:09:24,090 dan saya suka baking, berlari, dan Craisins. 181 00:09:24,090 --> 00:09:29,110 Saya tidak mempunyai pengalaman dengan kebanyakan CS; 182 00:09:29,110 --> 00:09:32,700 Saya mengajar diri saya untuk membina laman web apabila saya benar-benar muda, 183 00:09:32,700 --> 00:09:35,750 tetapi saya fikir saya mungkin mengajar diri saya salah banyak kali. 184 00:09:35,750 --> 00:09:39,260 Semoga saya akan belajar sedikit lebih 185 00:09:39,260 --> 00:09:41,450 dan - yeah. 186 00:09:41,450 --> 00:09:44,100 >> Awesome; baik, terima kasih. 187 00:09:44,100 --> 00:09:47,190 Mari kita pergi ke Kelly yang lain; 188 00:09:47,190 --> 00:09:48,880 Saya tidak mempunyai apa-apa - adakah anda mengatakan sesuatu di sini? 189 00:09:48,880 --> 00:09:51,880 >> [Didengar] 190 00:09:51,880 --> 00:09:56,180 Sana ia! 191 00:09:56,180 --> 00:09:58,120 Manis! 192 00:09:58,120 --> 00:10:01,400 >> Baiklah, jadi saya Kelly. 193 00:10:01,400 --> 00:10:03,980 Saya seorang pelajar tahun pertama ijazah. 194 00:10:03,980 --> 00:10:05,560 Saya dengan pengkhususan dalam Minda, Otak, Pendidikan dan. 195 00:10:05,560 --> 00:10:07,940 Saya lulus dalam Franklin & Marshall College pada tahun 2008 196 00:10:07,940 --> 00:10:10,840 dengan major dalam bidang psikologi dan sosiologi 197 00:10:10,840 --> 00:10:13,120 dan kecil di Perancis. 198 00:10:13,120 --> 00:10:15,330 Saya mengambil CS50 199 00:10:15,330 --> 00:10:18,080 kerana saya berminat untuk mendapatkan PhD dalam Neurosains 200 00:10:18,080 --> 00:10:21,220 dan saya berasa seperti ini akan membantu saya memahami teknologi yang digunakan. 201 00:10:21,220 --> 00:10:23,150 Menggerunkan. 202 00:10:26,980 --> 00:10:29,390 Beralih, Mikaela. 203 00:10:29,390 --> 00:10:31,640 Adakah sebutannya yang betul? 204 00:10:31,640 --> 00:10:32,990 Okay, menggerunkan. 205 00:10:32,990 --> 00:10:34,640 >> >> Saya Mikhaila. 206 00:10:34,640 --> 00:10:36,870 Saya seorang mahasiswa tingkat kedua di Kirkland House, 207 00:10:36,870 --> 00:10:39,950 dan saya menumpukan perhatian dalam bidang Kejuruteraan Mekanikal. 208 00:10:39,950 --> 00:10:43,180 Saya benar-benar suka berbasikal, membina basikal musim panas ini. 209 00:10:43,180 --> 00:10:46,140 Saya mengambil CS, sebenarnya, 210 00:10:46,140 --> 00:10:48,350 sebagai keperluan kepekatan, 211 00:10:48,350 --> 00:10:52,550 tetapi anda tahu, saya fikir ia masih jenis sejuk kelas kejuruteraan. 212 00:10:52,550 --> 00:10:55,150 Awesome - anda membina basikal musim panas ini? 213 00:10:55,150 --> 00:10:56,730 >> Yeah. 214 00:10:56,730 --> 00:10:58,900 Wow, seperti bingkai dan semua itu? 215 00:10:58,900 --> 00:11:00,120 >> Uh-hunh (afirmatif). 216 00:11:00,120 --> 00:11:01,530 Wow, itu benar-benar sejuk. 217 00:11:01,530 --> 00:11:06,370 >> [Didengar off kamera sembang] 218 00:11:06,370 --> 00:11:10,000 [Ketawa] 219 00:11:12,640 --> 00:11:14,200 Ya, ia telah begitu lama. 220 00:11:14,200 --> 00:11:16,730 Anda tidak pernah tahu, kan? 221 00:11:16,730 --> 00:11:19,420 Nah, sejuk, terima kasih juga, Mikhaila. 222 00:11:19,420 --> 00:11:21,390 >> Baiklah, Missy. 223 00:11:21,390 --> 00:11:23,280 >> Missy nama saya, saya bayat, 224 00:11:23,280 --> 00:11:25,500 supaya bermakna saya tidak tahu apa-apa! 225 00:11:25,500 --> 00:11:29,180 Saya mahu menumpukan perhatian dalam bidang astrofizik. 226 00:11:29,180 --> 00:11:31,220 Dalam CS50, 227 00:11:31,220 --> 00:11:33,350 Saya berasa seperti pasti akan membantu dengan itu. 228 00:11:33,350 --> 00:11:37,750 Satu fakta pelik tentang saya adalah saya seorang ahli bomba nasional disahkan. 229 00:11:37,750 --> 00:11:39,960 Wow! 230 00:11:39,960 --> 00:11:42,440 Bagaimana yang berlaku? 231 00:11:42,440 --> 00:11:45,570 >> Saya menghadiri akademi 232 00:11:45,570 --> 00:11:49,000 dan pergi melalui neraka untuk banyak minggu 233 00:11:49,000 --> 00:11:51,200 dan mendapat pensijilan saya. 234 00:11:51,200 --> 00:11:54,090 Wow, tahniah! 235 00:11:54,090 --> 00:11:57,280 Itu tidak feat kecil, pasti. 236 00:11:57,280 --> 00:11:59,070 Okay, jadi sekarang kita akan melakukan saya. 237 00:11:59,070 --> 00:12:01,290 Saya satu seterusnya dalam barisan. 238 00:12:01,290 --> 00:12:04,510 : Saya jalankan. 239 00:12:04,510 --> 00:12:07,580 >> Jadi nama saya adalah Nate. 240 00:12:07,580 --> 00:12:11,160 Saya kelas 2009 di Stanford. 241 00:12:11,160 --> 00:12:13,840 Saya adalah Sistem utama Simbolik, 242 00:12:13,840 --> 00:12:17,370 yang serupa dengan Minda, Otak, Kelakuan, kepekatan sini, 243 00:12:17,370 --> 00:12:19,300 tetapi ia adalah jenis campuran 244 00:12:19,300 --> 00:12:22,350 sains komputer, linguistik, psikologi, dan falsafah. 245 00:12:22,350 --> 00:12:26,600 Jenis - yeah, banyak barangan pelik, tetapi ia adalah besar, 246 00:12:26,600 --> 00:12:29,880 dan kemudian saya melakukan sarjana saya dalam Sains Komputer di sana, serta. 247 00:12:29,880 --> 00:12:33,250 Jadi saya baru Harvard tahun ini. 248 00:12:33,250 --> 00:12:35,750 Saya benar-benar mahu masuk ke dalam pengajaran. 249 00:12:35,750 --> 00:12:39,860 Saya menghabiskan 4 tahun lepas di Stanford TA-ing kelas Sains Komputer 250 00:12:39,860 --> 00:12:43,370 dan sebagainya Daud izinkan saya datang pada, 251 00:12:43,370 --> 00:12:45,550 dan saya gonna membantu keluar dengan CS50, 252 00:12:45,550 --> 00:12:47,890 jadi saya melakukan ini sepenuh masa, saya tidak di sekolah grad. 253 00:12:47,890 --> 00:12:50,330 Ia pernah menyeronokkan. 254 00:12:50,330 --> 00:12:53,130 Semoga ia akan terus menjadi seronok, saya pasti ia akan. 255 00:12:53,130 --> 00:12:56,040 >> Baiklah, Sam. 256 00:13:01,910 --> 00:13:05,470 >> Nama saya Sam, Saya seorang mahasiswa tingkat kedua di kolej itu, dalam undang-undang khusus. 257 00:13:05,470 --> 00:13:10,110 Utama saya akan sejarah sains, mungkin, dan Ves menengah, 258 00:13:10,110 --> 00:13:13,240 dan warna kegemaran saya adalah kuning. 259 00:13:18,790 --> 00:13:21,100 Tidak perlu untuk lulus penghakiman atau apa-apa, tetapi ia adalah satu warna yang baik! 260 00:13:21,100 --> 00:13:24,780 Dan Stella. 261 00:13:24,780 --> 00:13:26,980 >> Hi, Saya Stella, saya bayat di Grays. 262 00:13:26,980 --> 00:13:30,070 Saya tidak mempunyai petunjuk apa yang saya telah tertumpu di lagi, 263 00:13:30,070 --> 00:13:32,500 jadi CS50 adalah hanya jenis rawak, 264 00:13:32,500 --> 00:13:34,220 yang menarik. 265 00:13:34,220 --> 00:13:36,080 Malah Fun, Jimmy adalah rakan pertama Harvard lombong, 266 00:13:36,080 --> 00:13:38,360 kerana kami kedua-duanya dari Chicago. 267 00:13:38,360 --> 00:13:42,450 Sejuk, dan Grace - yang sepatutnya menjadi salah satu yang benar-benar bagus, kan? 268 00:13:42,450 --> 00:13:45,220 >> Saya fikir [didengar]. 269 00:13:45,220 --> 00:13:46,690 Oh, ya. 270 00:13:46,690 --> 00:13:51,210 [Didengar / off kamera sembang] 271 00:13:51,210 --> 00:13:54,420 Okay; Saya masih belajar, masih belajar. 272 00:13:54,420 --> 00:13:57,800 >> Jadi kita telah mendapat sesuatu yang lain yang jenis yang menarik di sini. 273 00:13:59,600 --> 00:14:02,870 Ya, saya hanya tertanya-tanya, adakah anda mempunyai idea yang sedang berlaku di sini? 274 00:14:02,870 --> 00:14:05,890 Anda tahu bagaimana untuk mentafsirkan ini? 275 00:14:05,890 --> 00:14:13,340 >> Saya sepatutnya meletakkan koma selepas setiap baris tunggal. 276 00:14:13,340 --> 00:14:16,370 Itulah jenis sakit. 277 00:14:16,370 --> 00:14:19,100 Kadang-kadang orang-orang koma bertitik boleh menjadi sakit sebenar untuk mengesan. 278 00:14:19,100 --> 00:14:21,420 Jadi ternyata bahawa 279 00:14:21,420 --> 00:14:22,820 program khas kita menggunakan tahun ini untuk 280 00:14:22,820 --> 00:14:26,670 menyusun kod C kami dipanggil dilafaz, 281 00:14:26,670 --> 00:14:29,460 dan sebab kita telah mula menggunakan dilafaz tahun ini - 282 00:14:29,460 --> 00:14:32,030 kerana kita telah tidak digunakan program itu pada masa lalu; 283 00:14:32,030 --> 00:14:35,710 kita telah menggunakan satu lagi dipanggil GCC yang benar-benar popular - 284 00:14:35,710 --> 00:14:38,420 Dilafaz sebenarnya memberikan anda mesej ralat yang masuk akal. 285 00:14:38,420 --> 00:14:41,420 Yang ini mengatakan "dijangka ';' selepas ungkapan", 286 00:14:41,420 --> 00:14:45,260 dan ia juga memberitahu anda ungkapan selepas itu anda perlu koma bernoktah. 287 00:14:45,260 --> 00:14:47,830 Jadi anda membetulkannya? 288 00:14:47,830 --> 00:14:48,930 >> Yeah, sekarang. 289 00:14:48,930 --> 00:14:52,040 Awesome, biarlah saya tahu dan kita akan tarik sehingga ia, dan kita akan menjalankan. 290 00:14:52,040 --> 00:14:55,830 Tetapi yeah, meletakkan koma bertitik ini dalam adalah jenis sakit. 291 00:14:55,830 --> 00:14:59,580 >> Saya tetap, jadi saya fikir ia harus bekerja. 292 00:14:59,580 --> 00:15:02,760 Awesome - semakan 3. 293 00:15:02,760 --> 00:15:05,250 Yang kelihatan seperti ia. 294 00:15:05,250 --> 00:15:08,580 Baiklah, jadi sekarang jika kita menjalankan, 295 00:15:08,580 --> 00:15:11,020 sana ia pergi. 296 00:15:11,020 --> 00:15:13,830 Barangan sejuk. 297 00:15:13,830 --> 00:15:15,340 >> Semua hak. 298 00:15:15,340 --> 00:15:18,230 Jadi terima kasih kerana berbuat demikian. 299 00:15:18,230 --> 00:15:20,210 Ia adalah besar untuk bertemu anda semua. 300 00:15:20,210 --> 00:15:22,880 Apa yang kita akan lakukan sekarang menghabiskan sedikit seterusnya 301 00:15:22,880 --> 00:15:24,740 kinda menyelam ke dalam seksyen masalah 302 00:15:24,740 --> 00:15:27,550 yang datang dari masalah yang ditetapkan dari minggu ini 303 00:15:27,550 --> 00:15:29,920 dan kami akan melakukan bahawa bagi kebanyakan bahagian 304 00:15:29,920 --> 00:15:32,110 untuk sepanjang penggal, 305 00:15:32,110 --> 00:15:35,580 dan kemudian kita akan menjimatkan 15 tahun lepas, 20 minit atau lebih 306 00:15:35,580 --> 00:15:38,490 untuk bercakap tentang masalah ini menetapkan sendiri 307 00:15:38,490 --> 00:15:41,420 dan kemudian hanya apa-apa soalan lain yang anda mempunyai secara umum tentang kelas. 308 00:15:43,380 --> 00:15:45,670 Itu berkata, apa yang kita benar-benar mahu melakukan 309 00:15:45,670 --> 00:15:49,390 yang telah menyertai semua orang 310 00:15:49,390 --> 00:15:51,500 menggunakan barangan Ruang, 311 00:15:51,500 --> 00:15:53,500 melontar dalam kod, membuang dalam cadangan, 312 00:15:53,500 --> 00:15:56,500 dan bercakap tentang apabila perkara-perkara seperti rehat ini 313 00:15:56,500 --> 00:15:58,360 atau tidak berfungsi, hanya kerana ini adalah perkara-perkara yang 314 00:15:58,360 --> 00:16:00,870 Saya tahu saya terserempak 315 00:16:00,870 --> 00:16:03,180 apabila saya mula pengekodan, 316 00:16:03,180 --> 00:16:05,490 dan benar-benar agak mengecewakan pada masa-masa 317 00:16:05,490 --> 00:16:08,690 kerana jika ia adalah seperti 2 pagi sebelum set masalah anda adalah disebabkan, 318 00:16:08,690 --> 00:16:11,330 jadi hanya untuk pendedahan, 319 00:16:11,330 --> 00:16:14,590 Saya tidak memulakan pengaturcaraan sehingga saya adalah seorang mahasiswa tingkat kedua di kolej. 320 00:16:14,590 --> 00:16:17,360 Ia adalah jenis perkara ini pelik, tidak diketahui 321 00:16:17,360 --> 00:16:20,360 yang saya dengar adalah agak sejuk 322 00:16:20,360 --> 00:16:23,590 dan saya juga mendengar ia boleh menjadi sakit sebenar di punggung 323 00:16:23,590 --> 00:16:27,610 jika anda terlepas dengan koma bernoktah dan itulah kesilapan hanya menjaga program anda daripada bekerja 324 00:16:27,610 --> 00:16:30,890 dan menjaga anda dari tidur, 325 00:16:30,890 --> 00:16:32,650 sudah pasti, 326 00:16:32,650 --> 00:16:34,020 jika anda mempunyai soalan-soalan seperti itu, 327 00:16:34,020 --> 00:16:37,060 jika anda mempunyai kebimbangan seperti itu, biarlah saya tahu, 328 00:16:37,060 --> 00:16:40,050 kerana saya mahu membuat ini satu pengalaman yang baik untuk anda semua. 329 00:16:40,050 --> 00:16:44,620 >> Jadi anda telah lelaki semua turun masalah ditetapkan lagi? 330 00:16:44,620 --> 00:16:47,160 Kinda tahu di mana ia? Okay. 331 00:16:47,160 --> 00:16:51,490 Jadi kita akan pergi ke cs50.net, kerana saya tidak mempunyai akaun ini, 332 00:16:51,490 --> 00:16:54,110 tarik sehingga set masalah, 333 00:16:54,110 --> 00:16:57,940 tarik sehingga masalah set 2, dan kita akan melihat edisi standard hari ini. 334 00:16:57,940 --> 00:17:01,190 Kami akan tarik sehingga spesifikasi di sini. 335 00:17:02,640 --> 00:17:04,420 Tatal ke bawah. 336 00:17:06,790 --> 00:17:11,109 Jadi kita gonna mula mencari di seksyen ini soalan. 337 00:17:14,069 --> 00:17:16,710 Pernahkah anda semua melihat ini seluar pendek lagi? 338 00:17:16,710 --> 00:17:18,329 Okay. 339 00:17:18,329 --> 00:17:21,329 Jadi terdapat seluar pendek pada gelung, 340 00:17:21,329 --> 00:17:24,700 yang dilakukan oleh Tommy, salah satu felo pengajaran kepala. 341 00:17:24,700 --> 00:17:27,230 Ada satu mengenai skop, 342 00:17:27,230 --> 00:17:30,530 Saya percaya yang dilakukan oleh rakan-rakan pengajaran lain yang bernama David 343 00:17:30,530 --> 00:17:33,400 dan kemudian satu di Caesar Cipher juga dilakukan oleh Daud. 344 00:17:33,400 --> 00:17:35,550 Mereka agak sejuk. 345 00:17:35,550 --> 00:17:37,770 Adakah anda semua telah menonton seluar mereka setakat ini? 346 00:17:37,770 --> 00:17:39,270 How've mereka? 347 00:17:39,270 --> 00:17:41,490 Membantu anda? Okay, baik untuk mengetahui. 348 00:17:41,490 --> 00:17:44,210 Jika mereka tidak, anda boleh berkata demikian. 349 00:17:46,290 --> 00:17:49,870 Tetapi sebelum anda berbuat demikian, 350 00:17:49,870 --> 00:17:52,600 telah anda semua melihat soalan-soalan 351 00:17:52,600 --> 00:17:55,430 pada semua? 352 00:17:55,430 --> 00:17:57,480 >> Mari kita bercakap tentang ini sedikit. 353 00:17:57,480 --> 00:18:00,600 Jadi kita telah diperkenalkan sejak beberapa minggu lepas 354 00:18:00,600 --> 00:18:02,480 dalam kuliah 355 00:18:02,480 --> 00:18:04,910 beberapa gelung yang berbeza. 356 00:18:04,910 --> 00:18:06,140 Terdapat gelung, 357 00:18:06,140 --> 00:18:09,570 gelung sementara, dan kemudian gelung do sementara, 358 00:18:09,570 --> 00:18:13,100 dan dalam kuliah, kita telah bercakap banyak tentang 359 00:18:13,100 --> 00:18:16,010 bagaimana mereka gelung semua 360 00:18:16,010 --> 00:18:18,320 agak sama dalam banyak cara, 361 00:18:18,320 --> 00:18:21,210 dan anda boleh melakukan banyak perkara yang sama dengan gelung sementara 362 00:18:21,210 --> 00:18:23,260 bahawa anda boleh dengan gelung untuk. 363 00:18:23,260 --> 00:18:26,300 Anda hanya mempunyai jenis penggunaan kombinasi yang betul pembolehubah dan sebagainya. 364 00:18:26,300 --> 00:18:28,680 dan sebagainya benar-benar 365 00:18:28,680 --> 00:18:31,200 perbezaan sebenar antara semua gelung adalah bahawa 366 00:18:31,200 --> 00:18:33,620 kadang-kadang mereka lebih berguna 367 00:18:33,620 --> 00:18:36,930 untuk menggunakan mereka pada satu-satu masa berbanding pada masa yang lain. 368 00:18:36,930 --> 00:18:39,340 >> Jadi, sebagai contoh, 369 00:18:39,340 --> 00:18:42,260 gelung sementara berbeza daripada gelung do sementara. 370 00:18:42,260 --> 00:18:45,680 Adakah semua orang berasa seperti mereka mempunyai mengendalikan yang baik apabila 371 00:18:45,680 --> 00:18:48,650 do-gelung while lebih 372 00:18:48,650 --> 00:18:50,990 berguna atau apa perbezaan? 373 00:18:50,990 --> 00:18:53,410 >> Saya rasa perbezaan adalah gelung do sementara 374 00:18:53,410 --> 00:18:56,960 berjalan - Saya tidak tahu agak apa istilah, 375 00:18:56,960 --> 00:18:59,750 tetapi siri fungsi dalam gelung. 376 00:18:59,750 --> 00:19:02,020 Mereka secara automatik - ia tidak berjalan sekurang-kurangnya 377 00:19:02,020 --> 00:19:05,390 sebelum ia memeriksa keadaan, atau gelung sementara hanya akan dijalankan apabila 378 00:19:05,390 --> 00:19:08,290 ia terus berjalan - sama ada atau tidak keadaan berpuas hati. 379 00:19:08,290 --> 00:19:11,010 Ya, yang masuk akal? 380 00:19:11,010 --> 00:19:14,200 >> Mari kita melihat sedikit kod. 381 00:19:14,200 --> 00:19:16,930 Jadi hanya mengulangi soalan, 382 00:19:16,930 --> 00:19:19,230 atau jawapan, sebaliknya; 383 00:19:19,230 --> 00:19:22,050 jawapannya ialah 384 00:19:22,050 --> 00:19:25,850 gelung sementara akan memeriksa untuk melihat jika keadaan 385 00:19:25,850 --> 00:19:27,440 yang anda nyatakan dipenuhi 386 00:19:27,440 --> 00:19:31,320 sebelum ia berjalan badan gelung untuk kali pertama, 387 00:19:31,320 --> 00:19:35,000 manakala do-gelung while secara automatik akan berjalan badan gelung, 388 00:19:35,000 --> 00:19:38,450 adalah apa yang kita panggil ia - ia adalah pelik istilah, 389 00:19:38,450 --> 00:19:41,460 tetapi jika saya pernah berkata apa-apa yang tidak masuk akal, biarlah saya tahu - 390 00:19:41,460 --> 00:19:45,360 badan gelung adalah bahawa barangan yang anda meletakkan di antara pendakap kerinting. 391 00:19:45,360 --> 00:19:47,840 Dan dalam gelung do sementara, 392 00:19:47,840 --> 00:19:50,220 bahawa badan dapat dijalankan sekurang-kurangnya sekali, 393 00:19:50,220 --> 00:19:54,460 dan kemudian keadaan mendapat diperiksa sebelum ia berjalan setiap kali berturut-turut. 394 00:19:54,460 --> 00:19:56,580 >> Jadi sebenarnya, Sam, 395 00:19:56,580 --> 00:20:00,820 adakah anda keberatan menulis mudah gelung while 396 00:20:00,820 --> 00:20:02,840 di Ruang? 397 00:20:02,840 --> 00:20:05,600 >> Bagaimana anda jenis seperti 398 00:20:05,600 --> 00:20:07,060 membuat baru ...? 399 00:20:07,060 --> 00:20:09,220 Saya hanya memadam apa sahaja yang anda ada di sana. 400 00:20:09,220 --> 00:20:11,300 Ya, hanya membersihkan ia keluar. 401 00:20:11,300 --> 00:20:14,510 >> Well, saya percaya saya mempunyai ini - 402 00:20:14,510 --> 00:20:16,640 yang mana satu yang anda mahu, sementara, atau adakah anda mahu ...? 403 00:20:16,640 --> 00:20:19,350 Ya, hanya melakukan manakala benar, mencetak sesuatu yang keluar. 404 00:20:21,050 --> 00:20:23,140 Dan mari kita lihat. 405 00:20:23,140 --> 00:20:25,850 Alexander, saya sedar kita tidak memperkenalkan anda. 406 00:20:25,850 --> 00:20:27,510 >> Oh, itulah denda. 407 00:20:27,510 --> 00:20:30,760 Adakah anda - anda boleh kod gelung do-manakala bagi kita? 408 00:20:30,760 --> 00:20:32,520 >> Ya, saya akan cuba. 409 00:20:32,520 --> 00:20:34,370 Baiklah, kita hanya akan tarik ini pada skrin, 410 00:20:34,370 --> 00:20:38,240 supaya anda jenis mempunyai mengendalikan apa perbezaan. 411 00:20:38,240 --> 00:20:41,280 >> Jadi di sini adalah apa yang dilakukan Sam. 412 00:20:41,280 --> 00:20:44,460 Beliau mendapat integer dipanggil i 413 00:20:44,460 --> 00:20:47,480 bahawa dia dimulakan hingga 17. 414 00:20:47,480 --> 00:20:51,570 Kemudian dia berkata sementara (int i = 17) 415 00:20:51,570 --> 00:20:54,230 printf ("Nama saya Sam."); 416 00:20:54,230 --> 00:20:57,300 Jadi apa yang berlaku apabila kita menjalankan kod ini? 417 00:20:57,300 --> 00:21:00,340 Terdapat ralat; apakah kesilapan itu mengatakan? 418 00:21:00,340 --> 00:21:02,890 Mari kita tarik dan bercakap mengenainya. 419 00:21:02,890 --> 00:21:05,040 Ralat berlaku, ia berkata. 420 00:21:05,040 --> 00:21:07,400 Mari kita tatal ke bawah. 421 00:21:07,400 --> 00:21:09,460 Jadi ia memberikan kita kesilapan ini, dan ia berkata, 422 00:21:09,460 --> 00:21:12,690 "Hei, saya dijangka ungkapan." 423 00:21:12,690 --> 00:21:16,180 Itu agak samar. 424 00:21:19,160 --> 00:21:23,140 Ya, jadi tepat - dan sekali lagi, 425 00:21:23,140 --> 00:21:27,140 akan ada satu lagi pepijat kecil yang kita akan menangkap dalam hanya sesaat. 426 00:21:27,140 --> 00:21:31,800 Tetapi ini adalah satu lagi jenis mereka perkara pelik istilah, 427 00:21:31,800 --> 00:21:36,150 jadi ini int i = 17 428 00:21:36,150 --> 00:21:39,290 bukan adalah ungkapan. 429 00:21:39,290 --> 00:21:41,220 Apa yang kelihatan seperti ia melakukan adalah ia 430 00:21:41,220 --> 00:21:43,410 mengisytiharkan integer dipanggil i 431 00:21:43,410 --> 00:21:45,540 dan menetapkan ia sama kepada 17 432 00:21:45,540 --> 00:21:48,780 atau, sebaliknya, meletakkan 17 ke int itu dipanggil i. 433 00:21:50,560 --> 00:21:53,350 Dan yang tidak masuk akal 434 00:21:53,350 --> 00:21:55,790 dalam konteks gelung sementara ini. 435 00:21:55,790 --> 00:21:58,190 Ia tidak masuk akal, seperti yang kita akan lihat, 436 00:21:58,190 --> 00:22:01,250 dalam konteks untuk gelung, kerana bagi pengisytiharan gelung bermula 437 00:22:01,250 --> 00:22:05,800 dengan itu untuk int i sama sesuatu 438 00:22:05,800 --> 00:22:07,830 dan seterusnya. 439 00:22:07,830 --> 00:22:09,500 >> Jadi anda pula - 440 00:22:09,500 --> 00:22:12,630 menetapkan sesuatu, hak semua. 441 00:22:12,630 --> 00:22:15,270 Di sini ia pergi; menggerunkan. 442 00:22:15,270 --> 00:22:17,920 Jadi sekarang benda kelihatan sedikit berbeza. 443 00:22:17,920 --> 00:22:19,030 Beberapa perkara telah berubah. 444 00:22:19,030 --> 00:22:21,300 Bolehkah anda memberitahu kami apa perkara yang telah berubah? 445 00:22:21,300 --> 00:22:24,950 >> Saya mengambil int, jadi terdapat pengisytiharan tidak [didengar] bukannya tugasan. 446 00:22:24,950 --> 00:22:28,770 Tanda satu sama, saya meletakkan 2 tanda-tanda yang sama, yang bermaksud sama. 447 00:22:28,770 --> 00:22:30,560 Menggerunkan. 448 00:22:30,560 --> 00:22:33,320 Yeah, jadi apa yang Sam tidak dia mengambil keluar int 449 00:22:33,320 --> 00:22:35,770 yang betul di sini sebelum ini, 450 00:22:35,770 --> 00:22:39,340 jadi jika saya hanya melihat ini - ini adalah apa yang ia lebih awal, ia berkata int, 451 00:22:39,340 --> 00:22:41,970 yang telah mengisytiharkan ia - jadi kami mengambil jenis. 452 00:22:41,970 --> 00:22:44,710 Ada int, char, tali, pendek, 453 00:22:44,710 --> 00:22:47,380 mereka dipanggil jenis. 454 00:22:47,380 --> 00:22:49,510 Jadi anda mengambil jenis 455 00:22:49,510 --> 00:22:51,580 dan kemudian sebelum ini, 456 00:22:51,580 --> 00:22:54,190 dia mempunyai hanya satu tanda sama 457 00:22:54,190 --> 00:22:57,300 dan apa yang dia kata adalah masalah tentang perkara ini telah 458 00:22:57,300 --> 00:22:59,580 apabila anda mempunyai 1 tanda sama, 459 00:22:59,580 --> 00:23:01,780 bahawa pengendali tugasan. 460 00:23:01,780 --> 00:23:04,930 Itu tidak menguji sama ada atau tidak 2 perkara yang sama. 461 00:23:04,930 --> 00:23:07,920 Itu sebenarnya menetapkan sesuatu yang bersamaan dengan sesuatu. 462 00:23:07,920 --> 00:23:11,110 Kami meletakkan nombor 17 ke i pembolehubah. 463 00:23:11,110 --> 00:23:13,850 Jadi untuk melakukan yang jenis perbandingan, 464 00:23:13,850 --> 00:23:16,430 anda perlu menggunakan dua sama, 465 00:23:16,430 --> 00:23:19,640 yang jenis perkara pelik 466 00:23:19,640 --> 00:23:22,760 tetapi adalah satu kesilapan yang agak biasa. 467 00:23:23,980 --> 00:23:27,830 Jadi satu perkara yang lain saya akan menunjukkan, jika anda tidak keberatan, 468 00:23:27,830 --> 00:23:30,610 adalah bahawa dalam 469 00:23:30,610 --> 00:23:33,210 kami berfungsi dengan di sini di int utama, 470 00:23:33,210 --> 00:23:36,740 anda melihat bahawa badan fungsi kami 471 00:23:36,740 --> 00:23:39,810 mengimbangi dari sebelah kiri 472 00:23:39,810 --> 00:23:42,400 oleh 4 ruangan atau tab. 473 00:23:42,400 --> 00:23:44,730 Sebab yang kita lakukan ini 474 00:23:44,730 --> 00:23:47,000 adalah hanya untuk pembacaan. 475 00:23:47,000 --> 00:23:51,620 Seperti yang anda boleh lihat dalam gelung sementara Sam di sini, 476 00:23:51,620 --> 00:23:53,120 dia tidak inden pada semua, 477 00:23:53,120 --> 00:23:55,390 dan yang tidak menjejaskan fungsi kod. 478 00:23:55,390 --> 00:23:57,860 Ia akan berjalan sama. 479 00:23:57,860 --> 00:24:00,950 >> Jadi, sebagai contoh, jika kita datang ke atas di sini 480 00:24:00,950 --> 00:24:02,680 dan tekan butang Main kami, ia akan membina, 481 00:24:02,680 --> 00:24:04,470 ia akan lari, 482 00:24:04,470 --> 00:24:06,700 dan apa yang akan berlaku? 483 00:24:06,700 --> 00:24:08,360 Mengapa ia masih katakan berjalan? 484 00:24:08,360 --> 00:24:10,560 >> Kerana ia akan terus mengulangi hi. 485 00:24:10,560 --> 00:24:12,900 Tepat sekali, dan mengapa ia terus mengulangi hi? 486 00:24:12,900 --> 00:24:15,850 >> Kerana integer tidak pernah berubah, jadi ia sentiasa 17. 487 00:24:15,850 --> 00:24:18,030 Ya, sebenarnya, jadi 488 00:24:18,030 --> 00:24:20,970 mari kita lihat, selepas mengingatkan saya nama anda sekali lagi? 489 00:24:20,970 --> 00:24:24,020 Jimmy. Jadi Jimmy berkata bahawa 490 00:24:24,020 --> 00:24:27,340 sebab ini terus mengulangi hi berulang-ulang kali 491 00:24:27,340 --> 00:24:30,510 adalah kerana keadaan ini sentiasa benar. 492 00:24:30,510 --> 00:24:33,270 Kami tidak pernah mengubah nilai i. 493 00:24:33,270 --> 00:24:36,170 Kami tidak pernah menukar kandungan apa yang disimpan dalam pembolehubah itu. 494 00:24:36,170 --> 00:24:39,180 Jadi pada ketika ini kita mendapat ralat ini bahawa 495 00:24:39,180 --> 00:24:42,170 program anda menjana output terlalu banyak, 496 00:24:42,170 --> 00:24:45,100 dan jika kita tatal ke bawah dan jenis melihat apa yang berlaku di sini, 497 00:24:45,100 --> 00:24:49,160 anda boleh melihat bahawa ia adalah hi, hi, hi, hi, hi, hi, hi semua jalan melalui. 498 00:24:49,160 --> 00:24:51,200 Menggerunkan. 499 00:24:51,200 --> 00:24:53,750 >> Jadi jenis kembali ke titik asal 500 00:24:53,750 --> 00:24:57,020 yang mempunyai lekukan di sini 501 00:24:57,020 --> 00:25:00,110 dalam badan gelung sementara tidak menjejaskan apa-apa. 502 00:25:00,110 --> 00:25:03,050 Program ini masih berlari hanya denda. 503 00:25:03,050 --> 00:25:06,790 Biasanya untuk gaya yang baik - 504 00:25:06,790 --> 00:25:10,210 dan ini adalah sesuatu yang kita lihat dalam set masalah anda - 505 00:25:10,210 --> 00:25:13,930 kami meminta anda untuk inden ini dengan 4 ruang, yang boleh anda lakukan 506 00:25:13,930 --> 00:25:16,440 dengan hanya menekan kekunci tab 507 00:25:16,440 --> 00:25:18,860 atau secara manual meletakkan dalam 4 ruang sendiri. 508 00:25:21,880 --> 00:25:25,050 Sejuk, okay jadi mari kita pergi ke belakang dan melihat 509 00:25:25,050 --> 00:25:30,460 Alexander do-sementara. 510 00:25:30,460 --> 00:25:32,980 >> Hanya kinda mempunyai sedikit masalah. 511 00:25:32,980 --> 00:25:34,390 Okay, mari kita bekerja melalui. 512 00:25:34,390 --> 00:25:36,400 Apakah yang sejuk? 513 00:25:36,400 --> 00:25:37,430 >> Yeah. 514 00:25:37,430 --> 00:25:39,200 >> Okay, jadi di sini kita pergi. 515 00:25:39,200 --> 00:25:41,010 Ini adalah kod bahawa Alexander menulis. 516 00:25:41,010 --> 00:25:43,410 Adakah anda pergi oleh Alex - okay. 517 00:25:43,410 --> 00:25:46,380 Jadi di sini adalah kod bahawa Alex telah menulis. 518 00:25:46,380 --> 00:25:50,500 Jadi, kami telah mendapat pengisytiharan kami utama di sini, 519 00:25:50,500 --> 00:25:54,410 dan kemudian kami telah mendapat variabel ini integer dipanggil i 520 00:25:54,410 --> 00:25:57,320 diisytiharkan di sini. 521 00:25:57,320 --> 00:26:01,060 Kami telah mendapat satu kenyataan do 522 00:26:01,060 --> 00:26:04,600 dan kemudian badan lagi dengan pendakap, 523 00:26:04,600 --> 00:26:06,520 jadi ini adalah badan do sementara - 524 00:26:06,520 --> 00:26:09,210 izinkan saya zoom di atas ini supaya ia lebih senang dibaca - 525 00:26:09,210 --> 00:26:12,730 dan di dalam badan, kita sedang cuba untuk mencetak "ini adalah badan", 526 00:26:12,730 --> 00:26:14,300 i + +, 527 00:26:14,300 --> 00:26:17,710 jadi menokokkan kandungan i dan melakukan ini 528 00:26:17,710 --> 00:26:19,470 sehingga i mendapat menjadi 3, 529 00:26:19,470 --> 00:26:22,440 dan kemudian program kami berakhir. 530 00:26:22,440 --> 00:26:24,680 >> Jadi apa yang berlaku apabila kita menjalankan program ini? 531 00:26:24,680 --> 00:26:27,580 >> Saya harapkan pengecam. 532 00:26:27,580 --> 00:26:32,070 Okay, jadi membina, berlari, kesilapan berlaku. 533 00:26:32,070 --> 00:26:34,820 Apa yang berlaku? 534 00:26:34,820 --> 00:26:37,060 Kami tatal ke bawah di sini, 535 00:26:37,060 --> 00:26:40,260 kita akan mendapat perkara ini agak samar mencari, 536 00:26:40,260 --> 00:26:43,930 koma bernoktah dijangka selepas pengisytiharan tahap tertinggi. 537 00:26:43,930 --> 00:26:46,620 Itu agak pelik. 538 00:26:46,620 --> 00:26:50,990 Adakah sesiapa mempunyai idea apa yang mungkin berlaku? 539 00:26:53,080 --> 00:26:54,640 Agak pelik, yeah. 540 00:26:54,640 --> 00:26:57,640 >> [Didengar] diisytiharkan luar kurungan? 541 00:26:57,640 --> 00:27:03,480 Begitu juga yang tidak memohon maka apabila anda menggunakan kurungan? 542 00:27:03,480 --> 00:27:07,390 Jadi beliau mengisytiharkan lelaki ini luar yang kurungan? 543 00:27:09,670 --> 00:27:12,240 Oh, lelaki ini - pendakap kerinting? 544 00:27:12,240 --> 00:27:13,850 >> Yeah. 545 00:27:13,850 --> 00:27:15,310 Ya, sebenarnya. 546 00:27:15,310 --> 00:27:17,120 Jadi ternyata bahawa 547 00:27:17,120 --> 00:27:21,550 anda boleh sebenarnya tidak mengisytiharkan pembolehubah di sini seperti ini. 548 00:27:23,750 --> 00:27:26,690 Apa yang anda mungkin telah cuba untuk lakukan ialah - 549 00:27:26,690 --> 00:27:30,110 dipotong keluar dari sana - 550 00:27:30,110 --> 00:27:34,330 sama ada anda boleh meletakkan ia dalam pendakap kerinting di sini 551 00:27:34,330 --> 00:27:37,400 atau alternatif lain 552 00:27:37,400 --> 00:27:40,350 adalah untuk meletakkan ia benar-benar di luar. 553 00:27:42,480 --> 00:27:46,610 Dan sebagainya ini - bergantung kepada di mana anda sebenarnya meletakkan perisytiharan itu 554 00:27:46,610 --> 00:27:48,550 pembolehubah bahawa integer, 555 00:27:48,550 --> 00:27:53,540 anda boleh mendapatkan 2 sangat berbeza jenis pembolehubah; 556 00:27:53,540 --> 00:27:55,100 apabila ia di luar utama, 557 00:27:55,100 --> 00:27:58,240 ia adalah apa yang kita panggil pembolehubah global. 558 00:27:58,240 --> 00:28:00,070 Ia adalah di luar skop mana-mana fungsi - 559 00:28:00,070 --> 00:28:03,420 ia bukan dalam fungsi - 560 00:28:03,420 --> 00:28:07,050 sedangkan jika kita meletakkan ia di dalam utama, 561 00:28:07,050 --> 00:28:10,000 suka di sini, maka ia dipanggil pembolehubah tempatan, 562 00:28:10,000 --> 00:28:13,830 kerana ia tempatan untuk skop utama. 563 00:28:13,830 --> 00:28:16,720 Dan kita akan bercakap sedikit lebih lanjut mengenai apa perbezaan 564 00:28:16,720 --> 00:28:20,970 antara 2 jenis dan mengapa anda menggunakan pelbagai jenis pembolehubah, 565 00:28:20,970 --> 00:28:23,040 tetapi buat masa sekarang, 566 00:28:23,040 --> 00:28:25,070 anda hanya boleh menyimpan semua pembolehubah tempatan, 567 00:28:25,070 --> 00:28:28,320 kerana kita tidak mempunyai apa-apa keperluan untuk pembolehubah global. 568 00:28:28,320 --> 00:28:31,390 >> Okay, jadi itulah satu perkara di sana. 569 00:28:31,390 --> 00:28:34,680 Mari kita cuba berjalan ini lagi, lihat apa yang berlaku. 570 00:28:37,420 --> 00:28:40,270 Main, dapatkan satu lagi kesilapan. 571 00:28:40,270 --> 00:28:43,320 Zum dalam sedikit, apa yang kita dapat? 572 00:28:45,110 --> 00:28:50,000 Kita mendapat ini kurungan dijangka selepas melakukan / manakala. 573 00:28:53,660 --> 00:28:55,260 Apa-apa idea apa yang berlaku? Dan? 574 00:28:55,260 --> 00:28:58,880 >> Apakah seketika kemudian kurungan dan kemudian - 575 00:28:58,880 --> 00:29:01,990 Saya tidak tahu jika anda perlu redeclare int, 576 00:29:01,990 --> 00:29:04,980 tetapi lakukan semasa (i <3). 577 00:29:04,980 --> 00:29:06,930 Tepat sekali, yeah. 578 00:29:06,930 --> 00:29:08,830 Jadi ia ternyata bahawa Dan betul-betul betul. 579 00:29:08,830 --> 00:29:11,230 Kita tidak perlu untuk meletakkan jenis ini di sini lagi. 580 00:29:11,230 --> 00:29:14,440 Kita sebaliknya boleh membunuh jenis 581 00:29:14,440 --> 00:29:17,220 dan hanya berbuat demikian. 582 00:29:19,270 --> 00:29:21,640 Semua hak. 583 00:29:21,640 --> 00:29:24,950 Saya akan zum keluar, cuba satu lagi masa. 584 00:29:26,360 --> 00:29:29,580 Melihat bahawa; ia berjalan berjaya. 585 00:29:29,580 --> 00:29:33,260 Jika kita tatal ke bawah, "ini adalah badan" dicetak keluar 3 kali. 586 00:29:33,260 --> 00:29:35,820 Itu cukup manis. 587 00:29:35,820 --> 00:29:38,670 Syabas, syabas, guys. 588 00:29:38,670 --> 00:29:41,080 Dilakukan dengan baik. 589 00:29:41,080 --> 00:29:43,250 Bagaimana ini akan setakat ini? 590 00:29:43,250 --> 00:29:46,200 Kadar yang baik? 591 00:29:46,200 --> 00:29:49,200 Okay, sejuk. 592 00:29:49,200 --> 00:29:52,590 >> Jadi, seperti yang kita jenis kembali kepada soalan asal, 593 00:29:52,590 --> 00:29:55,430 kita - dan kini jika kita lihat perbezaan, 594 00:29:55,430 --> 00:29:58,240 anda melihat bahawa di gelung do-manakala, 595 00:29:58,240 --> 00:30:00,030 keadaan datang lepas. 596 00:30:00,030 --> 00:30:02,530 Jadi sebagai komputer membaca program 597 00:30:02,530 --> 00:30:06,050 sejak program C disempurnakan jenis dalam perintah ini berurutan, 598 00:30:06,050 --> 00:30:09,450 di mana mereka benar-benar bermula dengan baris pertama utama, 599 00:30:09,450 --> 00:30:13,450 dan kemudian melaksanakan garis 6, baris 7, baris 8, baris 9, 600 00:30:13,450 --> 00:30:16,150 line 10, line 11, 601 00:30:16,150 --> 00:30:18,440 semua barangan ini di bahagian atas kanan di sini 602 00:30:18,440 --> 00:30:20,020 akan melaksanakan sekali 603 00:30:20,020 --> 00:30:23,350 sebelum kita pernah menguji keadaan ini untuk melihat 604 00:30:23,350 --> 00:30:26,240 sama ada atau tidak i - atau kandungan i, agak - 605 00:30:26,240 --> 00:30:29,750 adalah kurang daripada bilangan 3. 606 00:30:29,750 --> 00:30:33,300 Dan hanya jika sekali kita sampai ke 12 barisan, 607 00:30:33,300 --> 00:30:36,260 kandungan i adalah kurang daripada 3 608 00:30:36,260 --> 00:30:39,150 adakah kita sebenarnya melompat kembali sehingga Line 7 609 00:30:39,150 --> 00:30:41,140 dan kemudian mengulangi proses, 610 00:30:41,140 --> 00:30:44,620 dan kemudian kami menguji keadaan lagi dan lagi dan lagi. 611 00:30:44,620 --> 00:30:47,440 >> Jadi kita boleh bezakan ini 612 00:30:47,440 --> 00:30:50,240 dengan - zoom kembali keluar, 613 00:30:50,240 --> 00:30:56,500 tatal ke bawah untuk versi Sam, 614 00:30:56,500 --> 00:31:00,760 kita gonna melihat ini, sedikit berubah supaya ia tidak lagi gelung tak terhingga - 615 00:31:00,760 --> 00:31:03,570 di mana jika kita mengezum masuk, 616 00:31:03,570 --> 00:31:06,300 kita lihat bahawa sebagai program ini melaksanakan, 617 00:31:06,300 --> 00:31:09,120 ia akan terlebih dahulu mengisytiharkan int i, 618 00:31:09,120 --> 00:31:12,030 menetapkan kandungan i ke 0, 619 00:31:12,030 --> 00:31:15,820 dan kemudian ia mencecah keadaan gelung while 1, 620 00:31:15,820 --> 00:31:19,210 jadi dalam kes ini, badan ini, ini printf ("hi") dan i + + 621 00:31:19,210 --> 00:31:21,630 bahkan tidak akan melaksanakan 622 00:31:21,630 --> 00:31:24,310 melainkan jika i sebenarnya kurang daripada atau sama dengan 2. 623 00:31:24,310 --> 00:31:26,750 Jadi, jika i 3, sebagai contoh, 624 00:31:26,750 --> 00:31:28,840 jika kita menetapkan hak ini di sini 625 00:31:28,840 --> 00:31:32,160 bersamaan dengan 4 - atau saya akan melakukan 3, kerana saya berkata 3 - 626 00:31:32,160 --> 00:31:34,890 dan kemudian berjalan ia, 627 00:31:34,890 --> 00:31:38,320 ia akan membina, ia akan menjalankan benar-benar halus, 628 00:31:38,320 --> 00:31:40,530 tetapi ia akan sebenarnya tidak mencetak apa-apa, 629 00:31:40,530 --> 00:31:43,030 kerana ia gagal bahawa ujian untuk kes pertama. 630 00:31:44,780 --> 00:31:47,530 Jadi, di dalam kelas, kita jenis yang bercakap tentang mengapa ini gelung do sementara 631 00:31:47,530 --> 00:31:49,800 berguna kadang-kadang 632 00:31:49,800 --> 00:31:53,140 dan mengapa kita akan menggunakan ia sebagai bertentangan dengan gelung sementara. 633 00:31:53,140 --> 00:31:56,450 >> Berada di sana - adakah anda lelaki itu mempunyai apa-apa cadangan 634 00:31:56,450 --> 00:31:59,090 mengapa do-gelung while mungkin lebih berguna? 635 00:31:59,090 --> 00:32:02,560 >> Nah, saya fikir gelung do-manakala jika anda mahu input pengguna, 636 00:32:02,560 --> 00:32:05,020 kerana cara yang anda boleh biarkan mereka 637 00:32:05,020 --> 00:32:07,780 meletakkan sesuatu dalam sekali; jika ia adalah betul, 638 00:32:07,780 --> 00:32:09,300 kita boleh bergerak ke seluruh program, 639 00:32:09,300 --> 00:32:11,250 tetapi jika ia tidak betul, maka anda terus mendorong pengguna 640 00:32:11,250 --> 00:32:13,250 sehingga anda meletakkan input yang betul. 641 00:32:13,250 --> 00:32:14,260 Ya, tepat - tepat, 642 00:32:14,260 --> 00:32:16,840 jadi gelung while berguna 643 00:32:16,840 --> 00:32:18,930 kerana apabila menggesa untuk input pengguna 644 00:32:18,930 --> 00:32:23,000 kerana anda perlu mendapatkan input pengguna sebelum anda sebenarnya boleh menyemak ia. 645 00:32:23,000 --> 00:32:27,330 Jadi dalam pset 1, di pset 2, 646 00:32:27,330 --> 00:32:29,650 di mana anda menggesa untuk input pengguna banyak, 647 00:32:29,650 --> 00:32:31,200 itulah satu perkara yang berguna untuk digunakan 648 00:32:31,200 --> 00:32:33,740 berbanding dengan hanya gelung sementara yang mudah. 649 00:32:33,740 --> 00:32:36,780 Jika anda menggunakan gelung sementara, anda boleh melakukan perkara yang sama - 650 00:32:36,780 --> 00:32:38,750 anda boleh melakukan perkara yang sama dengan gelung sementara 651 00:32:38,750 --> 00:32:40,580 seperti yang anda lakukan dengan gelung do sementara. 652 00:32:40,580 --> 00:32:43,380 Anda hanya perlu untuk jenis mempunyai proses ini pendua 653 00:32:43,380 --> 00:32:47,010 di mana anda mendapatkan input pertama dan kemudian memulakan gelung sementara anda. 654 00:32:47,010 --> 00:32:49,800 Manakala do-gelung while, anda hanya perlu untuk menulis sekali 655 00:32:49,800 --> 00:32:52,430 dan ia adalah pembersih banyak. 656 00:32:52,430 --> 00:32:54,650 >> Semua hak. 657 00:32:55,970 --> 00:32:57,330 Apa-apa soalan? 658 00:32:59,350 --> 00:33:01,380 Masuk akal? 659 00:33:01,380 --> 00:33:06,200 >> Pulangan 0 - yang hanya jenis gerai atau adakah ia? 660 00:33:06,200 --> 00:33:08,960 Ya, jadi kita boleh - 661 00:33:08,960 --> 00:33:11,960 baik, kami akan meliputi ini sedikit lebih kemudian 662 00:33:11,960 --> 00:33:13,290 tetapi ternyata bahawa 663 00:33:13,290 --> 00:33:15,720 ini 0 pulangan yang kita meletakkan 664 00:33:15,720 --> 00:33:19,090 pada akhir utama sepanjang masa - 665 00:33:19,090 --> 00:33:21,980 anda boleh agak hanya mengambil ia sebagai sesuatu yang kita lakukan 666 00:33:21,980 --> 00:33:24,930 untuk masa ini. 667 00:33:24,930 --> 00:33:28,860 Apa yang kita telah mula untuk bercakap mengenai dengan fungsi 668 00:33:28,860 --> 00:33:31,600 jenis pada akhir minggu lepas dan kemudian sekali lagi minggu ini 669 00:33:31,600 --> 00:33:33,550 adalah bahawa fungsi 670 00:33:33,550 --> 00:33:37,680 mengambil input yang perkara-perkara ini dalam kurungan; 671 00:33:37,680 --> 00:33:41,690 ini adalah 2 input, hujah atau parameter kami, 672 00:33:41,690 --> 00:33:44,540 apa yang mereka juga dipanggil fungsi utama kami, 673 00:33:44,540 --> 00:33:48,510 dan kemudian fungsi menghasilkan output 674 00:33:48,510 --> 00:33:51,290 yang kita panggil nilai kembali. 675 00:33:51,290 --> 00:33:56,260 Dan nilai pulangan dalam kes utama adalah int ini, 676 00:33:56,260 --> 00:33:58,320 integer ini, 677 00:33:58,320 --> 00:34:01,160 dan cara anda memberitahu fungsi, "Hei, ini adalah apa pengeluaran anda 678 00:34:01,160 --> 00:34:05,840 akan menjadi, "dengan perkataan ini" pulangan ", 679 00:34:05,840 --> 00:34:07,960 kata kunci tersebut, sebaliknya, 680 00:34:07,960 --> 00:34:11,000 dan sebagainya utama kembali 0 681 00:34:11,000 --> 00:34:13,389 utama atau keluarkan 0 682 00:34:13,389 --> 00:34:15,139 adalah standard dalam program C 683 00:34:15,139 --> 00:34:18,110 kerana kembali 0 daripada cara utama yang 684 00:34:18,110 --> 00:34:21,600 "Hei, semuanya dilaksanakan dengan program baik-baik saja saya." 685 00:34:21,600 --> 00:34:24,639 Jika kita meletakkan sesuatu yang lain daripada 0, 686 00:34:24,639 --> 00:34:27,440 seperti 1, sebagai contoh, 687 00:34:27,440 --> 00:34:31,080 yang digunakan untuk memberitahu sesiapa yang berlari program ini 688 00:34:31,080 --> 00:34:33,540 sesuatu yang silapnya. 689 00:34:35,739 --> 00:34:39,989 Jadi, seperti yang kita mendapatkan lebih terlibat dengan barangan sepanjang semester, 690 00:34:39,989 --> 00:34:42,670 jika anda pernah perlu untuk mengatakan, 691 00:34:42,670 --> 00:34:46,650 "Alamak, anda tahu, sesuatu silapnya dengan program ini," 692 00:34:46,650 --> 00:34:49,409 bukannya mempunyai kemalangan program saya, saya ingin memberitahu 693 00:34:49,409 --> 00:34:52,310 pelari program saya bahawa sesuatu yang silapnya, 694 00:34:52,310 --> 00:34:54,530 anda boleh menggunakan nilai pulangan, 695 00:34:54,530 --> 00:34:57,230 seperti yang kita panggil ia, itu bukan 0. 696 00:35:00,180 --> 00:35:02,240 >> Jadi kita akan meliputi bahawa sedikit lebih 697 00:35:02,240 --> 00:35:05,480 sekali kita masuk ke dalam fungsi. 698 00:35:05,480 --> 00:35:09,030 Yang jenis masuk akal? 699 00:35:09,030 --> 00:35:11,240 Okay. 700 00:35:11,240 --> 00:35:13,530 Fungsi jenis pelik - 701 00:35:13,530 --> 00:35:17,270 Saya rasa bagi orang-orang yang mempunyai banyak latar belakang matematik, 702 00:35:17,270 --> 00:35:20,100 ia datang sedikit lebih mudah, 703 00:35:20,100 --> 00:35:22,540 terutamanya jika anda mempunyai sedikit matematik latar belakang yang lebih abstrak 704 00:35:22,540 --> 00:35:24,240 dan anda digunakan untuk bercakap tentang fungsi 705 00:35:24,240 --> 00:35:27,370 dan semua yang jenis barangan. 706 00:35:28,590 --> 00:35:30,610 Tetapi kita akan cuba dan meliputi mereka 707 00:35:30,610 --> 00:35:33,280 dan pergi bagus dan perlahan kerana mereka datang. 708 00:35:34,730 --> 00:35:37,870 Begitu juga, ini int argc keseluruhan, 709 00:35:37,870 --> 00:35:41,090 char * argv [], 710 00:35:41,090 --> 00:35:44,960 sekarang, anda juga boleh mengambil bahawa sebagai plat dandang. 711 00:35:46,650 --> 00:35:49,050 Kami telah mula untuk menutup mereka sedikit dalam syarahan 712 00:35:49,050 --> 00:35:53,060 apabila kita bercakap mengenai hujah-hujah yang mendapat diluluskan ke dalam program baris arahan, 713 00:35:53,060 --> 00:35:55,700 tetapi dalam set masalah anda dan program anda, 714 00:35:55,700 --> 00:35:58,760 ia adalah benar-benar halus hanya menulis tidak sah dan memastikan ia mudah. 715 00:35:58,760 --> 00:36:01,490 Dan apa yang tidak sah ini bermakna adalah bahawa 716 00:36:01,490 --> 00:36:04,630 "Hei, utama tidak akan menerima apa-apa input; 717 00:36:04,630 --> 00:36:07,440 ini adalah hanya satu program kami gonna hanya menjalankan. 718 00:36:07,440 --> 00:36:09,320 Kami tidak akan memberikan apa-apa maklumat tambahan 719 00:36:09,320 --> 00:36:12,420 setiap kali kita mula berjalan. " 720 00:36:14,730 --> 00:36:16,600 Jadi untuk sekarang, anda boleh melakukan ini; 721 00:36:16,600 --> 00:36:19,710 anda juga boleh tinggalkan 0 kembali 722 00:36:19,710 --> 00:36:22,650 pada akhir program anda dan mereka akan berjalan baik-baik saja, 723 00:36:22,650 --> 00:36:26,150 tetapi saya cadangkan hanya menjaga bahawa masuk 724 00:36:26,150 --> 00:36:28,320 Dalam beberapa minggu, kita akan mula jenis 725 00:36:28,320 --> 00:36:31,340 tarik penutup belakang sedikit dan memahami lebih lanjut mengenai 726 00:36:31,340 --> 00:36:34,380 semua orang berbeza sedikit bahagian yang bergerak. 727 00:36:34,380 --> 00:36:38,160 >> Baiklah, sekarang mari kita bercakap tentang soalan kedua kami di sini. 728 00:36:38,160 --> 00:36:43,190 Jadi apakah "pengecam diisytiharkan" biasanya menunjukkan 729 00:36:43,190 --> 00:36:46,040 jika outputted oleh dilafaz? 730 00:36:46,040 --> 00:36:49,290 Saya fikir kita mungkin telah melihat bahawa sudah hari ini. 731 00:36:51,170 --> 00:36:54,370 Seseorang boleh memberi recap apa yang bermakna? 732 00:36:54,370 --> 00:36:57,680 Mari kita lihat, Kelly - salah satu daripada Kelly. 733 00:37:02,580 --> 00:37:05,300 >> Jadi - 734 00:37:05,300 --> 00:37:07,080 Ya, apakah - 735 00:37:07,080 --> 00:37:10,140 >> Saya fikir apabila anda, seperti, tidak mengisytiharkan pembolehubah dan anda cuba untuk menggunakannya. 736 00:37:10,140 --> 00:37:13,310 Ya, betul-betul, sebenarnya. 737 00:37:13,310 --> 00:37:15,250 Jadi jika anda pernah melihat output ini 738 00:37:15,250 --> 00:37:17,690 apabila anda cuba dan menyusun program anda, 739 00:37:17,690 --> 00:37:19,470 seperti Kelly berkata, 740 00:37:19,470 --> 00:37:24,210 ia bermakna bahawa anda menggunakan pembolehubah yang anda tidak mengisytiharkan, 741 00:37:24,210 --> 00:37:28,460 jadi jika saya pergi kembali ke Angkasa kami, 742 00:37:28,460 --> 00:37:31,150 dan saya melakukan sesuatu seperti 743 00:37:31,150 --> 00:37:34,800 printf ( 744 00:37:34,800 --> 00:37:38,260 "Hello% s") 745 00:37:40,070 --> 00:37:42,440 dan cuba mengisi dalam% s 746 00:37:42,440 --> 00:37:45,640 dengan s pembolehubah yang saya telah tidak diisytiharkan di mana-mana 747 00:37:45,640 --> 00:37:48,330 dan saya cuba untuk menjalankannya, 748 00:37:48,330 --> 00:37:51,330 anda akan melihat apa yang saya dapatkan di bawah ini di sini: 749 00:37:51,330 --> 00:37:54,010 "Menggunakan pengecam tidak diisytiharkan 's'"; 750 00:37:54,010 --> 00:37:57,710 yang hanya bermakna anda tidak mengisytiharkan pembolehubah anda. 751 00:37:57,710 --> 00:38:00,750 Perkara yang sama berlaku jika 752 00:38:00,750 --> 00:38:05,240 anda mempunyai x dan anda cuba dan menyimpan 7 di dalamnya 753 00:38:05,240 --> 00:38:08,720 dan saya tidak mengisytiharkan X. 754 00:38:08,720 --> 00:38:10,200 Saya mendapat bahawa kesilapan yang sama: 755 00:38:10,200 --> 00:38:13,480 "Menggunakan 'x' pengecam tidak diisytiharkan". 756 00:38:16,390 --> 00:38:18,250 >> Baiklah, 757 00:38:18,250 --> 00:38:21,720 jadi Cipher Caesar, bukan menjadi sangat selamat, 758 00:38:21,720 --> 00:38:24,590 Saya akan biarkan anda semua menonton singkat ini, jenis memahami mengapa, 759 00:38:24,590 --> 00:38:27,590 dan diharapkan selepas melakukan masalah minggu ini menetapkan 760 00:38:27,590 --> 00:38:29,270 di mana anda sebenarnya menulis Cipher Caesar, anda akan memahami lebih sedikit 761 00:38:29,270 --> 00:38:32,600 tentang apa ertinya menjadi selamat dan tidak selamat - 762 00:38:36,180 --> 00:38:38,960 atau tidak selamat, saya rasa - tidak selamat adalah sedikit berbeza. 763 00:38:40,560 --> 00:38:43,140 Perkara lain adalah kita mempunyai soalan-soalan yang lain di sini 764 00:38:43,140 --> 00:38:45,470 tentang fungsi 765 00:38:45,470 --> 00:38:47,330 dan apa fungsi, 766 00:38:47,330 --> 00:38:52,820 dan kita jenis bercakap tentang secara ringkas bahawa apabila kita bercakap tentang nilai-nilai pulangan; 767 00:38:52,820 --> 00:38:54,560 bagi seseorang yang sudah ke kuliah, 768 00:38:54,560 --> 00:38:57,790 anda boleh menggulung yang sudah untuk bersyarah pada hari ini? 769 00:38:57,790 --> 00:38:59,670 Semua hak. 770 00:39:01,210 --> 00:39:04,320 Mari kita lihat, mari kita - seseorang boleh memberitahu kita apa fungsi? 771 00:39:04,320 --> 00:39:06,060 Kelly? 772 00:39:07,800 --> 00:39:11,260 >> >> Pada asasnya sesuatu anda menarik apabila sesuatu yang ditulis dalam perpustakaan itu 773 00:39:11,260 --> 00:39:14,460 lebih rumit di sana, dan kemudian anda hanya menulis satu bentuk pendek, 774 00:39:14,460 --> 00:39:17,360 jadi seperti anda merujuk kembali kepada perpustakaan itu, menggunakan 775 00:39:17,360 --> 00:39:19,650 semua yang kod yang panjang dan [didengar]. 776 00:39:19,650 --> 00:39:22,680 Ya, betul-betul, dan kemudian anda mahu menambah sesuatu itu? 777 00:39:22,680 --> 00:39:27,050 >> Ya, saya berfikir tentang ia sebagai serupa dengan konsep formula dalam matematik 778 00:39:27,050 --> 00:39:30,130 di mana anda hanya menulis formula dan kemudian anda boleh palam pembolehubah dalam 779 00:39:30,130 --> 00:39:32,660 dan bahawa apa fungsi [didengar]. 780 00:39:32,660 --> 00:39:35,390 >> Ya, jadi kami telah mendapat beberapa jawapan di sini 781 00:39:35,390 --> 00:39:38,080 yang kedua-duanya adalah benar-benar baik dan tepat pada. 782 00:39:38,080 --> 00:39:43,040 Ada merujuk kepada kod yang telah ditulis di perpustakaan tempat 783 00:39:43,040 --> 00:39:45,390 yang adalah lebih rumit 784 00:39:45,390 --> 00:39:47,130 dan kemudian anda boleh menarik apabila kod itu 785 00:39:47,130 --> 00:39:50,480 dan sebenarnya menggunakannya dengan hanya menulis bentuk pendek - 786 00:39:50,480 --> 00:39:54,060 atau, sebaliknya, namanya - 787 00:39:54,060 --> 00:39:57,590 dan kemudian ada juga perbandingan ini kepada formula dalam matematik 788 00:39:57,590 --> 00:40:00,400 atau fizik, semua yang jenis barangan 789 00:40:00,400 --> 00:40:02,980 di mana anda mempunyai formula 790 00:40:02,980 --> 00:40:05,690 dan anda kemudiannya boleh pasangkan 791 00:40:05,690 --> 00:40:08,100 pembolehubah untuk formula yang 792 00:40:08,100 --> 00:40:11,130 kemudian mendapatkan hasil formula, 793 00:40:11,130 --> 00:40:14,580 jadi anda berfikir tentang hal seperti persamaan kuadratik. 794 00:40:14,580 --> 00:40:17,690 Bayangkan jika bukannya perlu belajar tentang 795 00:40:17,690 --> 00:40:21,310 apa formula kuadratik adalah dalam kelas matematik, 796 00:40:21,310 --> 00:40:24,610 anda hanya mempunyai program kalkulator sedikit yang melakukannya untuk anda. 797 00:40:24,610 --> 00:40:28,930 Adakah sesiapa menggunakan program kalkulator dalam kelas matematik di sekolah tinggi? 798 00:40:28,930 --> 00:40:31,020 Ya, kelas fizik? 799 00:40:31,020 --> 00:40:34,670 Mana anda hanya boleh berkata, "Hei, formula kuadratik. 800 00:40:34,670 --> 00:40:37,740 Ini adalah pembolehubah yang saya mahu untuk input. 801 00:40:37,740 --> 00:40:40,250 Sekarang berikan saya jawapannya. " 802 00:40:40,250 --> 00:40:42,170 Itulah jenis apa fungsi. 803 00:40:42,170 --> 00:40:44,850 Ia adalah satu cara untuk kita 804 00:40:44,850 --> 00:40:47,720 jenis hapus seperti program kecil sub sedikit 805 00:40:47,720 --> 00:40:51,700 dalam program yang lebih besar kita 806 00:40:51,700 --> 00:40:55,090 dan menggunakannya berulang-ulang kali 807 00:40:55,090 --> 00:40:58,380 supaya kita tidak perlu copy dan paste kod, 808 00:40:58,380 --> 00:41:04,220 kita boleh memberikan input yang berbeza dan mendapatkan output yang berbeza, 809 00:41:04,220 --> 00:41:07,090 super berguna 810 00:41:07,090 --> 00:41:11,420 apabila anda cuba untuk menulis program-program yang berbeza pada masa yang berlainan. 811 00:41:11,420 --> 00:41:14,580 >> Jadi, sebagai contoh, fungsi bahawa kita telah menggunakan lebih dan lebih dan lebih lagi 812 00:41:14,580 --> 00:41:17,310 sepanjang kursus adalah printf. 813 00:41:17,310 --> 00:41:19,680 Printf sendiri fungsi 814 00:41:19,680 --> 00:41:23,360 dan ia ternyata bahawa ia sebenarnya cukup panjang dan rumit, 815 00:41:23,360 --> 00:41:26,420 jahat cari, berfungsi untuk menulis. 816 00:41:26,420 --> 00:41:29,590 Jadi sebagai mudah kerana ia seolah-olah kita 817 00:41:29,590 --> 00:41:31,810 untuk mencetak barangan keluar ke skrin, 818 00:41:31,810 --> 00:41:34,820 kerana kita semua hanya melakukan itu pada awal hari ini seksyen, 819 00:41:34,820 --> 00:41:36,870 ternyata bahawa ia sebenarnya, anda tahu, 820 00:41:36,870 --> 00:41:39,900 beberapa baik ratus baris kod. 821 00:41:42,030 --> 00:41:45,620 Ia bukan sesuatu yang pernah saya mahu menulis, pasti, 822 00:41:45,620 --> 00:41:47,480 tetapi kita dapat menggunakan ia setiap hari, itulah jenis sejuk, 823 00:41:47,480 --> 00:41:49,020 jadi kita dapat berkongsi dengan satu sama lain, 824 00:41:49,020 --> 00:41:51,790 dengan program-program yang berbeza, 825 00:41:51,790 --> 00:41:54,520 jadi kami akan menyelam lebih kepada fungsi; 826 00:41:54,520 --> 00:41:56,090 buat masa ini, kami tidak - 827 00:41:56,090 --> 00:41:59,150 fungsi sahaja kita akan menulis adalah utama. 828 00:41:59,150 --> 00:42:01,570 Utama itu sendiri adalah juga fungsi, 829 00:42:01,570 --> 00:42:04,270 dan anda boleh lihat ia mendapat output, 830 00:42:04,270 --> 00:42:06,610 input seperti kita bercakap tentang, 831 00:42:06,610 --> 00:42:08,930 dan kemudian namanya, yang utama. 832 00:42:08,930 --> 00:42:11,800 Utama adalah jenis satu - adalah satu fungsi khas di sana. 833 00:42:11,800 --> 00:42:14,800 Dalam program C anda, perlu ada fungsi utama, 834 00:42:14,800 --> 00:42:17,900 dan sebagainya buat masa sekarang, kami telah jenis penulisan yang ditinggalkan 835 00:42:17,900 --> 00:42:21,400 prototaip, atau akuan utama. 836 00:42:21,400 --> 00:42:23,050 Kami telah diberikan kepada anda, 837 00:42:23,050 --> 00:42:25,650 dan kita baru sahaja telah anda mengisi jenis kosong. 838 00:42:25,650 --> 00:42:29,120 >> >> Jadi untuk menetapkan masalah kedua, kita tidak perlu 839 00:42:29,120 --> 00:42:31,350 menulis dalam fungsi kedua? 840 00:42:31,350 --> 00:42:34,200 Saya tidak percaya begitu. 841 00:42:34,200 --> 00:42:37,600 Saya percaya ia adalah semua di sini. 842 00:42:37,600 --> 00:42:41,710 Ya, jadi Caesar Cipher, 843 00:42:41,710 --> 00:42:45,000 anda tidak mempunyai, ia tidak kelihatan seperti, 844 00:42:48,740 --> 00:42:53,150 dan Vigenere, anda tidak berbuat demikian sama ada, 845 00:42:53,150 --> 00:42:56,400 begitu - dan ternyata anda tidak pernah benar-benar perlu untuk menulis 846 00:42:56,400 --> 00:42:58,250 fungsi, betul-betul? 847 00:42:58,250 --> 00:43:01,950 Anda memanggil sentiasa meletakkan semua kod anda dalam utama, 848 00:43:01,950 --> 00:43:04,500 dan pengaturcara ramai yang berbuat demikian. 849 00:43:04,500 --> 00:43:07,130 Seperti yang kita bergerak ke atas, 850 00:43:07,130 --> 00:43:09,480 kita mula memperkenalkan fungsi sebagai satu cara 851 00:43:09,480 --> 00:43:11,530 untuk membersihkan sehingga kod anda, 852 00:43:11,530 --> 00:43:13,380 untuk membuat ia lebih anggun, 853 00:43:13,380 --> 00:43:16,890 sekiranya anda mempunyai tugas - jenis seperti apabila kita bercakap tentang gelung, 854 00:43:16,890 --> 00:43:20,400 bagaimana kadang-kadang terdapat perkara-perkara yang anda mahu lakukan lagi dan lagi dan lagi, 855 00:43:20,400 --> 00:43:23,510 dan anda mempunyai jenis cara naif - 856 00:43:23,510 --> 00:43:26,360 atau apa yang kita sering panggil "jerami manusia" penyelesaian, 857 00:43:26,360 --> 00:43:29,390 adalah untuk hanya salin dan tampal berulang kali - 858 00:43:29,390 --> 00:43:31,000 anda boleh melakukan perkara yang sama dengan fungsi di mana anda hanya salin dan tampal 859 00:43:31,000 --> 00:43:33,360 kod yang sama berulang-ulang kali, 860 00:43:33,360 --> 00:43:35,750 tetapi itu bloats kod anda - 861 00:43:35,750 --> 00:43:38,550 ia berakhir sehingga membuat kod anda benar-benar panjang - 862 00:43:38,550 --> 00:43:41,550 dan ia juga mendapat sedikit mengelirukan, 863 00:43:41,550 --> 00:43:43,470 dan kemudian ia bermakna bahawa anda tidak mampu untuk suka - 864 00:43:43,470 --> 00:43:45,250 jika anda pernah mahu untuk menggunakan kod yang sekali lagi dalam program lain, 865 00:43:45,250 --> 00:43:48,610 anda juga terjebak menyalin dan menampal sekali lagi, 866 00:43:48,610 --> 00:43:51,170 jadi salah satu perkara yang kita akan bercakap tentang adalah 867 00:43:51,170 --> 00:43:54,960 jenis reka bentuk dan gaya program anda, 868 00:43:54,960 --> 00:43:57,010 dan sebagainya apabila ia masuk akal untuk jenis 869 00:43:57,010 --> 00:43:59,800 pakej sesuatu dan meletakkan ia sebagai fungsi yang berasingan, 870 00:43:59,800 --> 00:44:02,080 kami menggalakkan anda untuk berbuat demikian, 871 00:44:02,080 --> 00:44:04,700 dan itu adalah sesuatu bahawa, sekali lagi, 872 00:44:04,700 --> 00:44:07,790 tidak ada peraturan keras dan cepat. 873 00:44:07,790 --> 00:44:11,540 Kita jarang mengatakan bahawa anda mesti menulis fungsi yang dipanggil ini, 874 00:44:12,870 --> 00:44:16,320 tetapi ia adalah lebih daripada satu daripada perkara-perkara anda hanya berkembang dari masa ke masa 875 00:44:16,320 --> 00:44:19,470 kerana anda menulis lebih dan lebih banyak program. 876 00:44:21,940 --> 00:44:24,790 >> Apa-apa lagi soalan? 877 00:44:26,340 --> 00:44:30,610 Okay, jadi mari kita kini 878 00:44:30,610 --> 00:44:34,750 pergi sandaran kepada lelaki ini di sini, 879 00:44:34,750 --> 00:44:37,800 jadi saya masih dalam seksyen ini soalan. 880 00:44:37,800 --> 00:44:39,900 Kami telah bercakap tentang semua ini orang-orang yang berbeza, 881 00:44:39,900 --> 00:44:42,050 apa fungsi, mengapa untuk menulis fungsi, 882 00:44:42,050 --> 00:44:44,700 apabila anda hanya boleh menyalin dan menampal? 883 00:44:44,700 --> 00:44:47,700 Semoga kita telah yakin anda bahawa menulis fungsi adalah satu perkara yang baik. 884 00:44:47,700 --> 00:44:50,870 Jadi sekarang mari kita beralih kepada program ini MySpace, 885 00:44:50,870 --> 00:44:53,080 dan kita akan menghabiskan sedikit masa melakukan ini. 886 00:44:54,600 --> 00:44:56,480 >> Jadi, mari kita lihat, 887 00:44:56,480 --> 00:45:00,230 saya boleh seseorang membaca ini untuk saya? 888 00:45:02,640 --> 00:45:04,660 Mari kita mempunyai Mikhaila - anda akan membaca ini untuk kita? 889 00:45:07,660 --> 00:45:08,890 >> Anda amat bermakna kembali apabila MySpace - 890 00:45:08,890 --> 00:45:10,920 Kembali apabila MySpace sejuk. 891 00:45:10,920 --> 00:45:12,070 >> "Kembali apabila MySpace adalah sejuk, 892 00:45:12,070 --> 00:45:14,900 ia adalah semua kemarahan kepada jenis seperti ini. 893 00:45:14,900 --> 00:45:17,320 Mungkin ia masih? Saya tidak benar-benar pasti. 894 00:45:17,320 --> 00:45:19,990 Dalam mana-mana kes, menggunakan Appliance CS50, 895 00:45:19,990 --> 00:45:22,600 CS50 Run, atau CS50 kawasan, 896 00:45:22,600 --> 00:45:25,370 menulis program yang meminta pengguna untuk mesej 897 00:45:25,370 --> 00:45:29,350 dan kemudian output mesej dengan huruf pertama dipermodalkan, 898 00:45:29,350 --> 00:45:31,800 dengan semua huruf lain dalam kes seli, 899 00:45:31,800 --> 00:45:34,010 sebagai setiap output sampel bawah, 900 00:45:34,010 --> 00:45:37,060 teks mana boldfaced mewakili input sesetengah pengguna. 901 00:45:37,060 --> 00:45:39,800 Untuk memudahkan, anda boleh mengandaikan bahawa pengguna 902 00:45:39,800 --> 00:45:42,810 akan huruf input hanya huruf kecil dan ruang. 903 00:45:42,810 --> 00:45:45,900 Pertimbangkan masalah ini peluang untuk mengamalkan; 904 00:45:45,900 --> 00:45:48,640 anda tidak akan diminta untuk mengemukakan program ini. " 905 00:45:48,640 --> 00:45:51,640 >> Awesome, terima kasih. 906 00:45:51,640 --> 00:45:54,750 Jadi sebagai Mikhaila berkata, 907 00:45:54,750 --> 00:45:58,850 kita akan untuk menulis program yang MySpaces kod anda. 908 00:45:58,850 --> 00:46:02,230 Jadi adakah mana-mana anda semua menggunakan MySpace? 909 00:46:02,230 --> 00:46:04,100 Mana-mana anda mempunyai akaun MySpace? 910 00:46:04,100 --> 00:46:05,920 Oh, yeah, yeah! 911 00:46:05,920 --> 00:46:08,300 Ia adalah agak sejuk. 912 00:46:08,300 --> 00:46:09,950 [Ketawa] 913 00:46:09,950 --> 00:46:12,060 Saya tahu. 914 00:46:12,060 --> 00:46:14,500 Dating sendiri. 915 00:46:15,490 --> 00:46:18,300 Jadi apa yang kita cuba lakukan adalah menulis program 916 00:46:18,300 --> 00:46:21,110 yang pergi melalui 917 00:46:21,110 --> 00:46:24,490 dan capitalizes huruf pertama 918 00:46:24,490 --> 00:46:27,140 dan kemudian setiap huruf selepasnya - 919 00:46:27,140 --> 00:46:29,350 atau setiap huruf lain selepas itu, saya minta maaf. 920 00:46:29,350 --> 00:46:32,910 >> Jadi - dan anda boleh lihat dalam contoh ini, 921 00:46:32,910 --> 00:46:35,260 ini adalah bagaimana kita menjalankan program, 922 00:46:35,260 --> 00:46:38,780 dan sebagainya ini hanya berkata, "Kami sedang menjalankan satu program yang dipanggil a.out. 923 00:46:41,490 --> 00:46:44,630 Input yang kita pergi untuk memberi 924 00:46:44,630 --> 00:46:47,090 akan akan diminta. 925 00:46:47,090 --> 00:46:51,150 Kami tidak gonna membekalkan input pada baris arahan. " 926 00:46:51,150 --> 00:46:54,100 Jika anda telah mengikuti semua kuliah 927 00:46:54,100 --> 00:46:56,710 dan mendengar tentang hujah baris arahan, 928 00:46:57,810 --> 00:47:00,080 yang jenis mana mereka - bahawa sintaks funky 929 00:47:00,080 --> 00:47:04,530 di utama datang dalam dengan int argc, semua barangan itu, 930 00:47:04,530 --> 00:47:07,630 jadi di sini kita tidak menggunakan itu; kita tidak berurusan dengan mana-mana itu. 931 00:47:09,400 --> 00:47:12,650 Kami hanya gonna mendapatkan ini ditaip oleh pengguna, 932 00:47:12,650 --> 00:47:15,700 dan kemudian ini barisan kedua dengan permodalan funky 933 00:47:15,700 --> 00:47:18,550 adalah apa yang kita mahu program kami kepada output. 934 00:47:19,790 --> 00:47:22,860 >> Jadi, bukannya menggunakan Appliance atau Run, kita akan menggunakan Ruang, 935 00:47:22,860 --> 00:47:25,360 kerana kita telah mendapat Ruang, 936 00:47:25,360 --> 00:47:28,640 dan jadi jika anda semua akan 937 00:47:28,640 --> 00:47:32,380 mendapatkan kod anda untuk melihat sesuatu seperti ini, 938 00:47:32,380 --> 00:47:35,930 jadi saya akan menjimatkan semakan ini 939 00:47:35,930 --> 00:47:38,390 hanya jadi anda telah mendapat plat dandang di sini 940 00:47:38,390 --> 00:47:42,840 yang kelihatan seperti ini, int utama (tidak sah), tiada apa-apa di dalamnya. 941 00:47:44,480 --> 00:47:48,460 Sebenarnya, apa yang kita akan lakukan ialah kita hanya akan memadam segala-galanya semua bersama-sama. 942 00:47:48,460 --> 00:47:50,330 Kami mahu sabak kosong, 943 00:47:50,330 --> 00:47:52,470 kerana kita tidak gonna mula menulis kod; 944 00:47:52,470 --> 00:47:55,380 sebaliknya, kita gonna cuba menulis pseudokod beberapa 945 00:47:55,380 --> 00:47:58,580 yang benar-benar hanya bermakna kita akan menulis sesuatu yang bukan kod 946 00:47:58,580 --> 00:48:01,010 yang jenis menerangkan apa yang kita mahu lakukan, 947 00:48:01,010 --> 00:48:05,180 agak seperti Daud lakukan pada hari pertama kuliah, 948 00:48:05,180 --> 00:48:08,310 atau saya rasa itu adalah hari kedua kuliah apabila dia melakukan demo stoking keseluruhan. 949 00:48:08,310 --> 00:48:10,990 Kalian ingat bahawa - melihat stoking? 950 00:48:10,990 --> 00:48:13,300 Yusuf adalah terdapat jenis menaip dalam bahasa Inggeris? 951 00:48:13,300 --> 00:48:16,300 Jadi kita akan melakukan perkara yang sama. 952 00:48:16,300 --> 00:48:18,380 >> Jadi, apabila saya mula menulis pseudokod, 953 00:48:18,380 --> 00:48:22,640 Saya suka mulakan dengan melihat apa input akan menjadi. 954 00:48:22,640 --> 00:48:24,950 Dan saya memberikan diri saya kes sampel, 955 00:48:24,950 --> 00:48:28,780 jadi seperti "terima kasih untuk tambah!" 956 00:48:35,030 --> 00:48:38,010 Dan kemudian saya juga menulis apa yang saya mahu output, 957 00:48:38,010 --> 00:48:42,210 yang dalam kes ini adalah sesuatu seperti ini. 958 00:48:53,790 --> 00:48:56,050 Dan yang jenis memberikan saya tempat yang baik, seperti, mula berfikir tentang, 959 00:48:56,050 --> 00:48:59,730 "Baiklah, saya ingin mengambil line 1 960 00:48:59,730 --> 00:49:03,560 dan saya mahu untuk mengubah ke dalam baris 2, " 961 00:49:03,560 --> 00:49:06,570 dan yang jenis membantu membimbing pemikiran saya. 962 00:49:06,570 --> 00:49:09,990 Ini adalah tempat yang baik untuk memulakan. 963 00:49:09,990 --> 00:49:12,190 Cara lain untuk berfikir tentang hal itu, juga, seperti yang kita agak bergerak 964 00:49:12,190 --> 00:49:15,020 dan seperti yang anda lakukan ini dalam program anda sendiri, adalah untuk 965 00:49:15,020 --> 00:49:18,530 berfikir tentang jenis seperti apakah kes kelebihan ini? 966 00:49:18,530 --> 00:49:20,740 Apakah jenis senario pelik? 967 00:49:20,740 --> 00:49:23,660 Apakah input yang pelik yang kita mungkin mendapatkan? 968 00:49:23,660 --> 00:49:26,550 Dan apa yang perlu mereka output kelihatan seperti? 969 00:49:26,550 --> 00:49:29,670 Sebagai contoh, satu input pelik 970 00:49:29,670 --> 00:49:33,200 akan menjadi salah satu ini, 971 00:49:33,200 --> 00:49:35,630 mewujudkan benar-benar tiada, 972 00:49:35,630 --> 00:49:37,840 seperti apa yang kita harus keluar dalam kes itu? 973 00:49:37,840 --> 00:49:40,530 Sesuatu yang kita mahu untuk berfikir tentang, terlalu. 974 00:49:40,530 --> 00:49:44,450 >> Jadi hanya sebagai soalan, 975 00:49:44,450 --> 00:49:46,870 apa yang kita mungkin mahu kepada output? 976 00:49:46,870 --> 00:49:50,740 Jika kita tidak mendapatkan input apa-apa pada semua, apa program kami perlu keluarkan? 977 00:49:53,740 --> 00:49:54,860 Tiada apa-apa. >> 978 00:49:54,860 --> 00:49:57,340 Apa-apa? Bunyi yang hebat. 979 00:49:57,340 --> 00:49:59,280 Jadi, kita mahu pastikan bahawa kita tidak menulis apa-apa daripada 980 00:49:59,280 --> 00:50:01,500 jika kita tidak mendapat apa-apa. 981 00:50:01,500 --> 00:50:04,320 Sejuk. Okay. 982 00:50:04,320 --> 00:50:07,370 Jadi 983 00:50:07,370 --> 00:50:09,380 Saya akan memanggil beberapa orang seperti yang kita pergi melalui 984 00:50:09,380 --> 00:50:12,790 dan hanya memikirkan jenis seperti apa algoritma umum adalah 985 00:50:12,790 --> 00:50:15,250 dan kita jenis akan mula bekerja melalui bersama-sama ini. 986 00:50:16,240 --> 00:50:19,710 >> Jadi, mari kita lihat. Missy. 987 00:50:19,710 --> 00:50:21,220 Bagaimana anda berfikir kita akan bermula? 988 00:50:21,220 --> 00:50:24,830 Apa yang akan menjadi tempat yang baik untuk bermula di sini 989 00:50:24,830 --> 00:50:27,900 jika kita mahu mengubah, berkata, line 1 990 00:50:27,900 --> 00:50:29,440 ke talian 2? 991 00:50:29,440 --> 00:50:32,650 Bolehkah anda jenis hanya menjelaskan kepada saya, dalam bahasa Inggeris, apa yang anda fikirkan? 992 00:50:32,650 --> 00:50:34,770 Jangan bimbang tentang kod. 993 00:50:34,770 --> 00:50:38,250 Perkara >> Pertama saya akan lakukan akan 994 00:50:38,250 --> 00:50:41,170 jenis pengguna langsung untuk memberitahu mereka apa yang anda mahu. 995 00:50:41,170 --> 00:50:44,730 Okay, jadi, katakan, 996 00:50:44,730 --> 00:50:47,450 "Hei, pengguna saya mahu 997 00:50:47,450 --> 00:50:50,560 rentetan "- hebat. 998 00:50:50,560 --> 00:50:52,990 Jadi, mari kita menulis ini. 999 00:50:52,990 --> 00:50:56,140 Mendorong pengguna untuk rentetan. 1000 00:50:56,140 --> 00:50:59,270 Yang berbunyi seperti permulaan yang baik. 1001 00:51:03,920 --> 00:51:06,460 Semua hak. 1002 00:51:06,460 --> 00:51:09,750 Mari kita bertanya Kelly Ren masa ini. 1003 00:51:09,750 --> 00:51:11,580 Apa yang akan kita kemudian mahu lakukan seterusnya? 1004 00:51:11,580 --> 00:51:14,220 Apakah jenis kami seterusnya? 1005 00:51:14,220 --> 00:51:18,080 >> Kumpul input mereka dan menyimpan ia sebagai pemboleh ubah. 1006 00:51:18,080 --> 00:51:20,470 Besar. 1007 00:51:20,470 --> 00:51:24,280 Jadi mengumpul tali, 1008 00:51:25,450 --> 00:51:27,880 menyimpannya dalam pembolehubah. 1009 00:51:34,840 --> 00:51:36,460 Jadi ada apa-apa yang istimewa yang kita mahu lakukan di sini? 1010 00:51:36,460 --> 00:51:39,700 Adakah kita mahu untuk memeriksa input mereka 1011 00:51:39,700 --> 00:51:42,260 sebelum -? 1012 00:51:42,260 --> 00:51:43,790 >> Yeah. 1013 00:51:43,790 --> 00:51:46,330 Apa yang kita mungkin mahu untuk memeriksa? 1014 00:51:46,330 --> 00:51:48,980 >> Nah, anda berkata kita tidak perlu untuk memeriksa jika ia adalah nombor, bukan? 1015 00:51:48,980 --> 00:51:52,400 Kerana ia akan menganggap bahawa ia adalah huruf kecil? 1016 00:51:52,400 --> 00:51:55,650 Yeah. 1017 00:51:56,380 --> 00:51:58,920 >> Jadi ternyata bahawa - yeah. 1018 00:51:58,920 --> 00:52:01,850 Jadi getString dijamin untuk kembali kami rentetan. 1019 00:52:01,850 --> 00:52:05,050 Ia tidak akan mengembalikan nombor kepada kami atau apa-apa seperti itu. 1020 00:52:05,050 --> 00:52:09,140 Mungkin terdapat watak digit dalam rentetan itu, walaupun. 1021 00:52:09,140 --> 00:52:13,460 Dan orang-orang, kita boleh mengabaikan seperti yang kita lakukan permodalan. 1022 00:52:13,460 --> 00:52:16,620 Tetapi rentetan kosong adalah betul-betul halus, 1023 00:52:16,620 --> 00:52:19,900 jadi kes yang betul di sini pada baris 4 dan 5, 1024 00:52:19,900 --> 00:52:22,020 betul, di mana terdapat tiada input, 1025 00:52:22,020 --> 00:52:25,190 dan kita telah meletakkan apa-apa sebagai keluaran kami. 1026 00:52:25,190 --> 00:52:28,730 Kita tidak perlu bimbang tentang membuat pasti bahawa ada sesuatu dalam string 1027 00:52:28,730 --> 00:52:31,840 atau bahawa rentetan adalah sekurang-kurangnya 4 aksara; 1028 00:52:31,840 --> 00:52:34,190 apa-apa denda. 1029 00:52:34,190 --> 00:52:38,270 Jadi ini adalah berbeza, misalnya, dengan seperti program sen yang anda menulis 1030 00:52:38,270 --> 00:52:42,340 di mana anda terpaksa pastikan anda telah mendapat nombor bukan negatif; 1031 00:52:42,340 --> 00:52:46,430 anda terpaksa untuk memastikan bahawa anda telah mendapat bilangan yang betul hari dalam sebulan. 1032 00:52:46,430 --> 00:52:49,630 Dan bagaimana kalian lakukan itu? 1033 00:52:49,630 --> 00:52:51,470 Bagaimana anda akan melakukan ujian itu? 1034 00:52:51,470 --> 00:52:54,090 Apa yang memerlukan anda menggunakan? 1035 00:52:54,090 --> 00:52:55,650 >> Adakah sementara gelung. 1036 00:52:55,650 --> 00:53:00,840 Adakah manakala gelung; jenis lain gelung, terlalu, ya. 1037 00:53:02,190 --> 00:53:04,520 Jadi ternyata kita tidak perlu menggunakan gelung dalam kes ini, 1038 00:53:04,520 --> 00:53:07,360 apabila kami menggesa untuk rentetan, yang merupakan jenis bagus. 1039 00:53:08,280 --> 00:53:10,620 >> Baiklah, bergerak ke atas. 1040 00:53:12,410 --> 00:53:14,270 Jadi, Stella. 1041 00:53:14,270 --> 00:53:17,530 Bolehkah anda memberitahu kami sedikit tentang apa yang kita harus lakukan seterusnya? 1042 00:53:17,530 --> 00:53:20,270 Jadi sekarang kita telah mendapat tali, kami telah mendapat ia disimpan dalam pembolehubah; 1043 00:53:20,270 --> 00:53:23,360 apa yang perlu kita lakukan dengan tali? 1044 00:53:26,790 --> 00:53:33,530 >> Kita perlu - 1045 00:53:33,530 --> 00:53:36,550 mengenal pasti 2 - 1046 00:53:36,550 --> 00:53:39,290 Ya, hanya mengatakan ia dalam Bahasa Inggeris, yang menggerunkan. 1047 00:53:39,290 --> 00:53:42,670 >> Kenal pasti [didengar] ibu - atau huruf besar. 1048 00:53:44,420 --> 00:53:48,130 Ya, jadi anda akan mengenal pasti yang mana adalah huruf besar dan huruf kecil. 1049 00:53:50,020 --> 00:53:54,180 Kita tidak boleh huruf besar atau huruf kecil mereka sehingga kita telah mengenal pasti yang mana. 1050 00:54:03,790 --> 00:54:06,350 Jadi kita akan meletakkan bahawa di sini. 1051 00:54:06,350 --> 00:54:10,210 >> Jadi, hanya memikirkan tentang proses ini, 1052 00:54:10,210 --> 00:54:13,200 bagaimana kita melakukan pengenalan ini? 1053 00:54:13,200 --> 00:54:15,050 Adakah anda tahu, Dan? 1054 00:54:15,050 --> 00:54:18,120 Jenis apa yang kita - apa alat kita akan perlu untuk menggunakan daripada toolbox kami? 1055 00:54:18,120 --> 00:54:22,500 >> Saya meletakkan ia masuk entah bagaimana seperti pelbagai atau setiap baris 1056 00:54:22,500 --> 00:54:24,240 adalah kotak sendiri sedikit, 1057 00:54:24,240 --> 00:54:27,240 dan kemudian huruf besar dari sana atau tidak. 1058 00:54:27,240 --> 00:54:30,440 Okay, jadi salah satu alat yang boleh kita gunakan adalah array. 1059 00:54:30,440 --> 00:54:33,760 Apa yang kita perlu untuk melihat dalam string, 1060 00:54:33,760 --> 00:54:36,680 walaupun, untuk memikirkan - kita terpaksa melihat watak-watak. 1061 00:54:36,680 --> 00:54:40,890 >> Jadi, anda telah mendapat untuk melihat pada panjang tali? 1062 00:54:40,890 --> 00:54:43,880 Ya, jadi sebahagian yang semakin panjang rentetan. 1063 00:54:50,450 --> 00:54:54,150 Hanya daripada rasa ingin tahu, apa yang kita gunakan untuk mendapatkan panjang rentetan? 1064 00:54:54,150 --> 00:54:58,080 >> Strlen? 1065 00:54:58,080 --> 00:55:02,870 Ya, strlen, kita panggil ini "strlen" 1066 00:55:04,180 --> 00:55:08,620 Semua fungsi-fungsi rentetan, jadi strlen adalah fungsi, 1067 00:55:08,620 --> 00:55:10,670 dan ia sangat berguna, kerana kita boleh menggunakannya untuk hanya mengatakan, 1068 00:55:10,670 --> 00:55:13,430 Hei, strlen: Berikut adalah rentetan, beritahu saya berapa lama ia adalah. 1069 00:55:13,430 --> 00:55:17,350 Dalam kuliah hari ini, David bercakap banyak tentang bagaimana strlen dilaksanakan, 1070 00:55:17,350 --> 00:55:20,370 apa yang sebenarnya berlaku di sebalik tabir. 1071 00:55:20,370 --> 00:55:25,450 Tetapi ini adalah salah satu daripada orang-orang yang sangat super berguna. 1072 00:55:25,450 --> 00:55:29,170 Terdapat orang lain yang juga di perpustakaan rentetan, 1073 00:55:29,170 --> 00:55:34,690 seperti strcmp, yang dieja "strcmp", 1074 00:55:34,690 --> 00:55:38,010 yang digunakan untuk membandingkan tali antara satu sama lain. 1075 00:55:41,220 --> 00:55:45,020 Yang lain anda akan menggunakan seperti strstr, 1076 00:55:45,020 --> 00:55:48,770 yang baik untuk mencari rentetan sub dan sebagainya. 1077 00:55:48,770 --> 00:55:53,380 Bagi sebahagian besar, mereka semua bermula dengan str dan kemudian pergi untuk menjadi sesuatu yang lain. 1078 00:55:53,380 --> 00:55:57,080 Sebab mereka tidak sebenarnya mengeja mereka seperti tali dan sebagainya 1079 00:55:57,080 --> 00:56:00,260 kerana kembali seperti hari-hari awal C, 1080 00:56:00,260 --> 00:56:04,100 apabila orang bertulis pertama dan semua itu, 1081 00:56:04,100 --> 00:56:07,580 mereka mempunyai batasan pada bilangan aksara yang anda boleh gunakan 1082 00:56:07,580 --> 00:56:09,950 untuk nama fungsi dan nama-nama pembolehubah, 1083 00:56:09,950 --> 00:56:12,620 jadi segala-galanya adalah seperti super pekat. 1084 00:56:12,620 --> 00:56:15,750 Tetapi bila-bila masa anda melihat sesuatu yang bermula dengan str, 1085 00:56:15,750 --> 00:56:18,600 yang biasanya bermakna ini mempunyai sesuatu untuk dilakukan dengan rentetan. 1086 00:56:20,990 --> 00:56:23,350 >> Okay, jadi anda telah mendapat untuk mendapatkan panjang tali, 1087 00:56:23,350 --> 00:56:27,110 dan kemudian, apa yang kita lakukan dengan watak-watak? 1088 00:56:27,110 --> 00:56:29,020 Adakah anda tahu, Sam? 1089 00:56:29,020 --> 00:56:32,410 >> Saya tidak tahu, saya telah cuba untuk memikirkan ia keluar. 1090 00:56:32,410 --> 00:56:35,410 Saya benar-benar tidak tahu - saya ingin terdapat beberapa cara untuk - 1091 00:56:35,410 --> 00:56:38,990 Maksud saya, saya akan fikir mungkin kita boleh melakukan sesuatu dengan kemungkinan dan evens, 1092 00:56:38,990 --> 00:56:40,860 tetapi saya tidak tahu apa-apa fungsi seperti itu. 1093 00:56:40,860 --> 00:56:42,240 Yeah. 1094 00:56:43,160 --> 00:56:45,200 >> Tetapi itu - ia akan tidak semestinya bekerja, 1095 00:56:45,200 --> 00:56:48,690 kerana maka anda akan mendapat ruang untuk menjadi - 1096 00:56:48,690 --> 00:56:51,130 anda akan perlu mempunyai ruang untuk mendapatkan tip bagaimana - 1097 00:56:51,130 --> 00:56:54,310 Okay. 1098 00:56:54,310 --> 00:56:56,490 >> Saya tidak tahu - jenis: saya hilang pada ketika ini. 1099 00:56:56,490 --> 00:56:58,120 Yeah - tidak, tidak, tidak, ini adalah perkara yang baik. 1100 00:56:58,120 --> 00:57:00,420 Jadi apa yang perlu kita lakukan adalah, seperti Sam berkata, 1101 00:57:00,420 --> 00:57:02,970 kita perlu untuk mengesan yang huruf huruf ganjil, 1102 00:57:02,970 --> 00:57:05,540 dan yang mana adalah huruf walaupun. 1103 00:57:06,650 --> 00:57:09,090 Tetapi kita mahu pastikan kita bukan hanya mencari 1104 00:57:09,090 --> 00:57:12,110 pada yang ganjil dan juga 1105 00:57:12,110 --> 00:57:14,030 indeks dalam string, 1106 00:57:14,030 --> 00:57:17,660 tetapi melihat huruf ganjil dan juga dalam rentetan, 1107 00:57:17,660 --> 00:57:20,190 jadi kita perlu kinda mempunyai perbezaan di antara 1108 00:57:20,190 --> 00:57:25,190 surat - seperti apa yang sebenarnya A, B, C, D, atau sebagainya, 1109 00:57:25,190 --> 00:57:29,090 dan apa perkara yang tidak surat tetapi masih dalam rentetan kami. 1110 00:57:29,090 --> 00:57:32,390 Sebagai contoh di sini, seperti tanda seru ini bukan sepucuk surat, 1111 00:57:32,390 --> 00:57:36,060 tetapi ia masih sebahagian daripada rentetan kami; ia masih char. 1112 00:57:36,060 --> 00:57:38,820 Begitu juga, semua ruang ini - 1113 00:57:38,820 --> 00:57:41,710 ia tidak masuk akal untuk memanfaatkan ruang, betul? 1114 00:57:41,710 --> 00:57:46,160 Jadi, kita mahu memastikan bahawa kita entah bagaimana melangkau mereka 1115 00:57:46,160 --> 00:57:49,410 sementara masih mengesan kemungkinan dan evens. 1116 00:57:50,900 --> 00:57:54,990 >> Jadi jenis dalam toolbox pengaturcaraan kami 1117 00:57:54,990 --> 00:57:57,270 setakat ini, jika anda akan, 1118 00:57:57,270 --> 00:58:01,310 kita mempunyai bilangan alat yang berbeza yang kita telah bercakap tentang. 1119 00:58:01,310 --> 00:58:04,640 Jadi seseorang, sebagai contoh, adalah pembolehubah, 1120 00:58:04,640 --> 00:58:07,120 seperti yang kita telah bercakap tentang di sini. 1121 00:58:07,120 --> 00:58:10,730 Satu lagi alat yang kita telah bercakap tentang fungsi. 1122 00:58:10,730 --> 00:58:15,800 Jadi kita telah berbincang tentang pembolehubah pseudokod kami di sini 1123 00:58:15,800 --> 00:58:19,760 sebagai apa yang kita akan gunakan untuk menyimpan rentetan kami. 1124 00:58:19,760 --> 00:58:24,630 Kami telah berbincang tentang fungsi untuk mendapatkan panjang rentetan, seperti strlen. 1125 00:58:28,510 --> 00:58:31,170 Kami telah bercakap tentang sesuatu yang lain, dan kita telah bercakap tentang 1126 00:58:31,170 --> 00:58:34,850 banyak awal dalam seksyen hari ini: gelung. 1127 00:58:39,390 --> 00:58:42,030 >> Apa yang anda semua berfikir tentang menggunakan gelung dalam program ini? 1128 00:58:42,030 --> 00:58:44,110 Jared, apa yang anda fikir? 1129 00:58:47,150 --> 00:58:50,030 Kita akan menggunakan gelung dalam program ini? 1130 00:58:50,030 --> 00:58:52,500 >> Mungkin tidak, tidak, kerana anda tidak perlu untuk pergi melalui ia lebih daripada sekali. 1131 00:58:52,500 --> 00:58:55,260 Baiklah, anda tidak perlu pergi melalui apa lebih daripada sekali? 1132 00:58:55,260 --> 00:58:57,190 >> Keseluruhan Rentetan. 1133 00:58:57,190 --> 00:59:00,660 Betul, jadi anda tidak perlu untuk pergi melalui rentetan keseluruhan sekali. 1134 00:59:00,660 --> 00:59:03,330 Maaf yang dibuat benar-benar tidak masuk akal! 1135 00:59:03,330 --> 00:59:06,360 Anda tidak perlu untuk pergi melalui rentetan keseluruhan lebih daripada sekali. 1136 00:59:06,360 --> 00:59:08,660 Okay. 1137 00:59:09,790 --> 00:59:11,920 Apa yang anda fikir? 1138 00:59:11,920 --> 00:59:14,110 >> Saya berfikir bahawa ia adalah lebih baik untuk menggunakannya 1139 00:59:14,110 --> 00:59:16,640 supaya kita boleh melakukan seperti mengambil kesempatan manakala 1140 00:59:16,640 --> 00:59:19,750 lokasi ia adalah [didengar] nombor. 1141 00:59:19,750 --> 00:59:22,940 Besar, dan begitu memanfaatkan apa? 1142 00:59:22,940 --> 00:59:25,200 Okay, jadi kita mengatakan bahawa 1143 00:59:25,200 --> 00:59:28,130 kita perlu menggunakan gelung kerana kita mahu 1144 00:59:28,130 --> 00:59:32,550 kesempatan surat manakala ia bukan nombor. 1145 00:59:35,130 --> 00:59:37,140 Jadi - maaf, adakah anda mahu menambah? 1146 00:59:37,140 --> 00:59:39,340 >> Saya akan mengatakan bahawa cara yang anda merawat tali 1147 00:59:39,340 --> 00:59:42,290 dan ia [didengar] berasingan [] didengar pada watak-watak? 1148 00:59:42,290 --> 00:59:43,710 Yeah. 1149 00:59:43,710 --> 00:59:45,850 >> Dan kemudian kita boleh memberikan nombor untuk - 1150 00:59:45,850 --> 00:59:47,780 atau berdasarkan lokasi huruf dalam rentetan? 1151 00:59:47,780 --> 00:59:49,720 Yeah. 1152 00:59:49,720 --> 00:59:53,640 >> Dan mengenal pasti sama ada ia adalah ganjil atau bahkan dan untuk meraih surat itu sendiri 1153 00:59:53,640 --> 00:59:57,750 manakala lokasi surat [didengar] - maaf. 1154 00:59:57,750 --> 01:00:00,150 Besar. 1155 01:00:00,150 --> 01:00:03,430 >> Jadi hanya recap. 1156 01:00:03,430 --> 01:00:05,840 Bolehkah anda mengingatkan saya nama anda lagi -: saya minta maaf. 1157 01:00:05,840 --> 01:00:06,900 >> Charlotte. 1158 01:00:06,900 --> 01:00:08,490 Charlotte, okay. 1159 01:00:08,490 --> 01:00:11,130 Jadi apa Charlotte berkata, 1160 01:00:11,130 --> 01:00:14,950 yang benar-benar betul - Astaga, orang-orang ini untuk auto indent pada saya - 1161 01:00:14,950 --> 01:00:17,770 adalah bahawa jika kita melihat rentetan 1162 01:00:17,770 --> 01:00:19,160 seperti yang satu ini di atas - 1163 01:00:19,160 --> 01:00:21,590 "Terima kasih kerana menambah" - 1164 01:00:21,590 --> 01:00:24,790 sebagai urutan aksara 1165 01:00:24,790 --> 01:00:29,010 mana adalah pada kedudukan 0, 1166 01:00:29,010 --> 01:00:32,260 h adalah pada 1 kedudukan. 1167 01:00:32,260 --> 01:00:36,880 A adalah pada 2, maka kita mendapat 3, 4, 5; 1168 01:00:36,880 --> 01:00:40,830 ruang adalah pada 6 kedudukan. 1169 01:00:42,380 --> 01:00:45,300 Manakala - apa kedudukan f? 1170 01:00:45,300 --> 01:00:47,610 7! 1171 01:00:47,610 --> 01:00:49,300 O? 8. 1172 01:00:49,300 --> 01:00:52,070 R? 9. 1173 01:00:52,070 --> 01:00:54,340 Dan kemudian kita telah mendapat 10, dan maka saya tidak boleh benar-benar menulis tanpa 1174 01:00:54,340 --> 01:00:57,430 agak mendapat berantakan pada skrin. 1175 01:00:57,430 --> 01:01:02,340 Tetapi ini sebenarnya adalah bagaimana kita boleh bercakap tentang rentetan dalam ingatan. 1176 01:01:02,340 --> 01:01:04,660 Adakah ia rentetan 1177 01:01:04,660 --> 01:01:07,920 adalah jujukan aksara, 1178 01:01:07,920 --> 01:01:12,430 dan apabila kita merujuk kepada watak individu dalam rentetan, 1179 01:01:12,430 --> 01:01:15,280 kita sering berbuat demikian dengan merujuk kepada kedudukan yang watak itu 1180 01:01:15,280 --> 01:01:17,620 dalam tali, 1181 01:01:17,620 --> 01:01:19,910 mungkin dengan cara yang sama bahawa kita bercakap tentang September 1182 01:01:19,910 --> 01:01:22,870 menjadi bulan kesembilan tahun 1183 01:01:22,870 --> 01:01:27,730 atau Isnin sebagai hari pertama dalam seminggu. 1184 01:01:29,280 --> 01:01:33,070 Jadi ini memberikan kita satu cara untuk 1185 01:01:33,070 --> 01:01:37,030 memikirkan yang mana ganjil berbanding walaupun 1186 01:01:37,030 --> 01:01:39,540 kerana anda boleh lihat di sini, 1187 01:01:39,540 --> 01:01:43,640 jika kita sepadan dengan T ini, 1188 01:01:46,310 --> 01:01:49,360 anda boleh lihat bahawa semua orang-orang yang berhuruf 1189 01:01:49,360 --> 01:01:53,040 adalah walaupun pada jawatan, 1190 01:01:53,040 --> 01:01:55,880 sekurang-kurangnya bagi perkataan pertama, 1191 01:01:55,880 --> 01:01:59,080 dan kemudian perkara mendapatkan dibuang sekali kita mencapai ruang yang, 1192 01:01:59,080 --> 01:02:02,460 kerana kita tidak mengira ruang ini sebagai surat, 1193 01:02:02,460 --> 01:02:05,150 jadi ia seolah-olah kita bermula 1194 01:02:05,150 --> 01:02:08,930 dan pergi 0, 1, 2, 3, 4, 5, 1195 01:02:08,930 --> 01:02:12,600 ruang, 6, 7, 8, ruang, 1196 01:02:12,600 --> 01:02:16,440 9, dan kemudian 10, 11, 12, dan sebagainya. 1197 01:02:19,300 --> 01:02:22,910 >> Sejuk, jadi kita pasti akan mahu menggunakan beberapa jenis gelung 1198 01:02:22,910 --> 01:02:27,760 untuk pergi ke setiap watak-watak seterusnya. 1199 01:02:31,330 --> 01:02:34,580 Jadi pada ketika ini, 1200 01:02:36,490 --> 01:02:38,360 kita akan kembali kepada pseudokod lama kita di sini. 1201 01:02:40,970 --> 01:02:42,650 Sebagai sebahagian pengenalan ini yang mana 1202 01:02:42,650 --> 01:02:45,350 huruf besar dan yang mana adalah huruf kecil, 1203 01:02:45,350 --> 01:02:48,340 kita akan mahu melakukan ini dalam beberapa jenis gelung. 1204 01:02:51,080 --> 01:02:53,390 Loop, kolon. 1205 01:02:55,070 --> 01:03:01,220 Apakah jenis gelung, daripada jenis gelung yang kita ada, 1206 01:03:01,220 --> 01:03:03,670 seolah-olah menjadi satu yang baik untuk digunakan dalam kes ini? 1207 01:03:03,670 --> 01:03:05,610 >> Saya memikirkan untuk gelung. 1208 01:03:05,610 --> 01:03:07,500 Dan mengapa anda berfikir untuk gelung? 1209 01:03:07,500 --> 01:03:10,000 >> Kerana ia bermula pada sifar, dan kemudian 1210 01:03:10,000 --> 01:03:13,000 apabila kita mencapai panjang tali, 1211 01:03:13,000 --> 01:03:16,170 dan kemudian setiap lelaran anda boleh [didengar], juga? 1212 01:03:16,170 --> 01:03:18,260 Ya, sebenarnya. 1213 01:03:18,260 --> 01:03:21,490 Jadi, daripada pilihan yang berbeza gelung, 1214 01:03:21,490 --> 01:03:25,350 kita mempunyai gelung, manakala gelung, dan lakukan sementara gelung. 1215 01:03:25,350 --> 01:03:28,550 Jika bagi gelung adalah amat berguna 1216 01:03:28,550 --> 01:03:32,120 adalah apabila anda ingin tahu 1217 01:03:32,120 --> 01:03:34,940 jenis di mana anda berada di dalam gelung, 1218 01:03:34,940 --> 01:03:38,520 berapa kali gelung telah dilaksanakan setakat ini. 1219 01:03:38,520 --> 01:03:42,490 Yang adalah apa yang kita mahu tahu dalam situasi ini, 1220 01:03:42,490 --> 01:03:44,640 seperti kata Kelly, 1221 01:03:44,640 --> 01:03:47,400 berdasarkan kira komen awal Charlotte bahawa kita mahu tahu kedudukan 1222 01:03:47,400 --> 01:03:49,900 watak dalam tali, 1223 01:03:49,900 --> 01:03:51,750 dan untuk gelung akan memberikan kita hanya itu, 1224 01:03:51,750 --> 01:03:54,680 kerana jika kita mula jenis melihat kembali rentetan kami, 1225 01:03:54,680 --> 01:03:57,140 jika kita mula gelung untuk kami pada 0, 1226 01:03:57,140 --> 01:04:00,350 dan kita pergi melalui panjang keseluruhan rentetan, 1227 01:04:00,350 --> 01:04:04,740 maka kita boleh mengaitkan huruf T 1228 01:04:04,740 --> 01:04:08,110 dengan 0 dalam kami untuk gelung, 1229 01:04:09,950 --> 01:04:13,080 H surat dengan 1 dalam kami untuk gelung, dan sebagainya, 1230 01:04:13,080 --> 01:04:16,600 pergi sepanjang jalan melalui hujung tali. 1231 01:04:18,810 --> 01:04:21,890 >> Jadi mari kita mulakan pengekodan ini hanya sedikit 1232 01:04:21,890 --> 01:04:24,930 hanya supaya anda semua mendapatkan rasa untuk apa ini kelihatan seperti. 1233 01:04:24,930 --> 01:04:27,980 Saya akan menyimpan ini, 1234 01:04:27,980 --> 01:04:31,230 jadi kami telah mendapat kod pseudo kami di sini, 1235 01:04:33,490 --> 01:04:38,120 dan saya akan memadam segala-galanya. 1236 01:04:38,120 --> 01:04:42,210 Jadi saya mempunyai sabak kosong. 1237 01:04:42,210 --> 01:04:45,910 Saya gonna bermula dengan menulis int utama (tidak sah) 1238 01:04:45,910 --> 01:04:48,440 { 1239 01:04:48,440 --> 01:04:51,380 Saya gonna meletakkan 0 pulangan dalam 1240 01:04:51,380 --> 01:04:53,320 dan kemudian.} 1241 01:04:53,320 --> 01:04:56,130 Jadi biasanya apabila saya mula program, ini adalah apa yang saya mulakan dengan. 1242 01:04:56,130 --> 01:04:59,370 Saya akan menyimpan ia supaya anda semua mempunyai ia. 1243 01:05:06,290 --> 01:05:08,440 Jadi, salah satu perkara pertama yang kita bercakap tentang adalah 1244 01:05:08,440 --> 01:05:10,920 mendapatkan input daripada pengguna 1245 01:05:10,920 --> 01:05:13,740 dan menyimpannya dalam rentetan. 1246 01:05:13,740 --> 01:05:16,420 Bagaimana kita mendapatkan input dari pengguna? 1247 01:05:16,420 --> 01:05:19,640 GetString. >> 1248 01:05:19,640 --> 01:05:21,870 GetString, hak semua. 1249 01:05:23,150 --> 01:05:26,820 Jadi jika saya menaip GetString () 1250 01:05:26,820 --> 01:05:32,150 dan koma bertitik. 1251 01:05:32,150 --> 01:05:36,630 Mari kita cuba berjalan ini; akan berjalan ini, pertama sekali? 1252 01:05:36,630 --> 01:05:38,430 Dan mengapa tidak ini berjalan? 1253 01:05:38,430 --> 01:05:40,090 >> Anda perlu mengisytiharkan pembolehubah. 1254 01:05:40,090 --> 01:05:43,040 Saya perlu untuk mengisytiharkan pembolehubah. Okay. 1255 01:05:43,040 --> 01:05:45,700 >> Jadi bagaimana saya boleh berbuat demikian? 1256 01:05:45,700 --> 01:05:48,400 Adakah anda keberatan menulis sesuatu, berkongsi? 1257 01:05:48,400 --> 01:05:51,270 Dan kemudian kita boleh tarik. 1258 01:05:51,270 --> 01:05:54,630 Mari kita lihat, Dan, betul, okay. 1259 01:05:54,630 --> 01:05:59,100 Atau Daniel. Salin bahawa, input rentetan = GetString (). 1260 01:05:59,100 --> 01:06:01,340 Menggerunkan. 1261 01:06:01,340 --> 01:06:02,890 Ini akan berjalan? 1262 01:06:02,890 --> 01:06:05,210 Mari kita cuba. 1263 01:06:05,210 --> 01:06:08,890 Hit run, memuat naik kod sumber, bangunan, ralat berlaku. 1264 01:06:08,890 --> 01:06:11,040 Okay. 1265 01:06:11,040 --> 01:06:14,950 Jadi Whats berlaku di sini? 1266 01:06:14,950 --> 01:06:18,700 Penggunaan 'string' pengecam yang tidak diisytiharkan. 1267 01:06:18,700 --> 01:06:22,840 >> Kita perlu termasuk perpustakaan? 1268 01:06:22,840 --> 01:06:25,130 Ya, jadi Dan mengatakan kita perlu termasuk perpustakaan. 1269 01:06:25,130 --> 01:06:28,270 Adakah bahawa apa yang anda akan katakan, Stella? Menggerunkan. 1270 01:06:29,450 --> 01:06:31,430 Itulah hebat, jadi Stella, anda boleh 1271 01:06:31,430 --> 01:06:34,800 menyalin kod ini keluar Angkasa Daniel? 1272 01:06:34,800 --> 01:06:37,580 Jika anda klik pada Daniel Roland Ki, menyalin, 1273 01:06:37,580 --> 01:06:41,360 dan kemudian anda akan meletakkan garis termasuk dalam, dan kemudian simpan ia keluar? 1274 01:06:46,580 --> 01:06:49,360 Biar saya tahu apabila anda sudah bersedia. 1275 01:06:57,160 --> 01:06:59,490 Jadi ini sintaks termasuk juga jenis funky; 1276 01:06:59,490 --> 01:07:02,210 ada seperti tag yang hash, 1277 01:07:02,210 --> 01:07:05,760 dan ada termasuk, dan kemudian terdapat kurungan sudut. 1278 01:07:12,490 --> 01:07:15,360 Adakah anda masih ingat bagaimana ini berfungsi, atau saya perlu meletakkan kod ini di sini? 1279 01:07:15,360 --> 01:07:17,850 >> Saya baik. 1280 01:07:17,850 --> 01:07:19,810 Okay. 1281 01:07:19,810 --> 01:07:23,260 >> Saya dicetak - Saya tidak pasti yang perpustakaan, walaupun. 1282 01:07:23,260 --> 01:07:25,570 Oh, okay - yeah, jadi ia adalah perpustakaan CS50. 1283 01:07:25,570 --> 01:07:27,660 >> Oh, saya meletakkan perpustakaan stdio. 1284 01:07:27,660 --> 01:07:30,950 >> Oh, mendapat ia - yeah, tidak, that's - 1285 01:07:30,950 --> 01:07:34,380 jadi ia ternyata bahawa rentetan adalah sebenarnya sesuatu yang khas untuk CS50. 1286 01:07:36,590 --> 01:07:41,240 Terdapat sebenarnya tidak adalah sejenis tali yang benar 1287 01:07:41,240 --> 01:07:45,000 kerana di sini, tali adalah dalam kedudukan jenis, - 1288 01:07:45,000 --> 01:07:49,140 kita mengisytiharkan input berubah yang dipanggil tali jenis - 1289 01:07:49,140 --> 01:07:53,320 dan kami meletakkan di dalam input 1290 01:07:53,320 --> 01:07:58,440 nilai yang akan dikembalikan kepada kami: output panggilan fungsi ini GetString. 1291 01:07:58,440 --> 01:08:02,910 Anda boleh memberitahu ini adalah panggilan fungsi kerana ia mendapat kurungan, hanya seperti printf tidak, 1292 01:08:02,910 --> 01:08:05,920 seperti strlen tidak. 1293 01:08:05,920 --> 01:08:09,860 Tetapi rentetan sebenarnya bukan sejenis sebenar 1294 01:08:09,860 --> 01:08:11,760 dalam bahasa C. 1295 01:08:11,760 --> 01:08:15,710 Kami telah membuat ia ke dalam jenis, dan kami akan mengambil lebih apa yang sebenarnya 1296 01:08:15,710 --> 01:08:19,000 dalam C, kerana ada cara untuk bekerja dengan rentetan; 1297 01:08:19,000 --> 01:08:22,479 kita baru sahaja melakukan sesuatu untuk membuat ia kelihatan sedikit lebih bagus. 1298 01:08:22,479 --> 01:08:25,240 >> Jadi di sini kita pergi. 1299 01:08:25,240 --> 01:08:28,439 Berikut adalah kod Stella. 1300 01:08:28,439 --> 01:08:32,470 Ia mendapat # termasuk . 1301 01:08:32,470 --> 01:08:36,390 Orang lain akan memanggil ini seperti hash termasuk kadang-kadang atau tajam termasuk. 1302 01:08:36,390 --> 01:08:39,580 Sekarang kita boleh mula, jalankan ia, 1303 01:08:39,580 --> 01:08:43,649 dan kita masih mendapat ralat. 1304 01:08:43,649 --> 01:08:46,290 Mari kita lihat apa yang berlaku. 1305 01:08:48,069 --> 01:08:50,569 "'Input' pembolehubah yang tidak digunakan." 1306 01:08:50,569 --> 01:08:53,350 Okay, jadi yang sejuk, yang sejuk. 1307 01:08:53,350 --> 01:08:55,859 Maksud saya, ia tidak benar-benar sejuk, 1308 01:08:55,859 --> 01:08:57,930 kerana kita mendapat satu kesilapan dan ia tidak berjalan, 1309 01:08:57,930 --> 01:09:00,410 tetapi apa ini mengatakan bahawa 1310 01:09:00,410 --> 01:09:03,130 kita telah tidak digunakan pembolehubah kami, yang masuk akal. 1311 01:09:03,130 --> 01:09:06,090 Kita tidak cuba untuk berbuat apa-apa dengannya. 1312 01:09:07,819 --> 01:09:10,490 Ini adalah cara yang 1313 01:09:10,490 --> 01:09:14,170 Dilafaz cuba untuk membantu kita memastikan bahawa kita tidak hanya menggunakan pembolehubah 1314 01:09:14,170 --> 01:09:18,819 dan kemudian secara tidak sengaja memanggil mereka sesuatu yang lain kemudian dalam kod kami, 1315 01:09:18,819 --> 01:09:21,649 membantu kita mengelakkan kesilapan bahawa cara. 1316 01:09:23,130 --> 01:09:28,810 >> Baiklah, jadi kami telah mendapat input daripada pengguna, 1317 01:09:28,810 --> 01:09:31,910 kami disimpan dalam pembolehubah. 1318 01:09:31,910 --> 01:09:34,569 Langkah seterusnya adalah untuk kemudian 1319 01:09:34,569 --> 01:09:37,609 mula mencari di semua watak-watak dalam string 1320 01:09:37,609 --> 01:09:41,830 dan mengenal pasti yang mana adalah menjadi huruf besar 1321 01:09:41,830 --> 01:09:44,600 dan yang mana adalah menjadi huruf kecil. 1322 01:09:44,600 --> 01:09:49,439 Dan seperti Kelly dan Charlotte dibesarkan, 1323 01:09:49,439 --> 01:09:52,340 kita ini menggunakan gelung. 1324 01:09:52,340 --> 01:09:55,520 Jadi tidak sesiapa ingat sintaks untuk gelung 1325 01:09:55,520 --> 01:09:58,670 dan ingin mengambil menikam pada hanya menulis 1326 01:09:58,670 --> 01:10:03,170 baris pertama dari gelung, hanya untuk sedikit? 1327 01:10:05,740 --> 01:10:07,330 Kelly, anda mahu mencuba? 1328 01:10:07,330 --> 01:10:10,300 >> Yeah, jadi anda perlu untuk memulakan pertama, 1329 01:10:10,300 --> 01:10:13,170 jadi saya meletakkan i = 0, 1330 01:10:13,170 --> 01:10:15,390 dan kemudian saya lakukan i 01:10:18,570 Adakah ia di Angkasa anda - saya boleh tarik sehingga ia? 1332 01:10:18,570 --> 01:10:21,330 >> Ya, saya diskrukan sehingga sedikit, tetapi yeah. 1333 01:10:21,330 --> 01:10:24,180 >> Baiklah, mari kita tarik. 1334 01:10:24,180 --> 01:10:26,490 Menggerunkan. 1335 01:10:26,490 --> 01:10:29,510 >> Tetapi kemudian saya tidak tahu jika anda mempunyai bahawa - 1336 01:10:29,510 --> 01:10:32,180 Ya, okay. 1337 01:10:33,020 --> 01:10:36,030 Jadi di sini adalah apa yang Kelly mendapat: mari kita melihat ia cepat. 1338 01:10:36,030 --> 01:10:40,290 Jadi dia dimasukkan cs50 perpustakaan di atas. 1339 01:10:40,290 --> 01:10:44,790 Dia termasuk perpustakaan IO standard di atas, 1340 01:10:45,550 --> 01:10:48,990 dan IO standard mempunyai fungsi seperti printf, 1341 01:10:48,990 --> 01:10:51,690 jadi jika anda pernah mahu menggunakan printf, anda perlu baris itu. 1342 01:10:53,060 --> 01:10:56,140 Dan kemudian dia termasuk perpustakaan rentetan, 1343 01:10:56,140 --> 01:10:58,200 yang kita akan perlukan, 1344 01:10:58,200 --> 01:11:01,010 kerana perpustakaan rentetan mempunyai strlen fungsi, 1345 01:11:01,010 --> 01:11:04,320 yang kita akan sampai ke dalam hanya sedikit. 1346 01:11:04,320 --> 01:11:07,560 Jadi, jika kita melihat apa yang dilakukan Kelly di sini, 1347 01:11:07,560 --> 01:11:10,260 anda boleh berjalan kita melalui apa yang anda lakukan? 1348 01:11:10,260 --> 01:11:13,600 >> Yeah, jadi - yang saya maksudkan, saya mendapat kesilapan, jadi - 1349 01:11:13,600 --> 01:11:15,380 Ya, tidak, it's - 1350 01:11:15,380 --> 01:11:18,580 >> Jadi saya mahu untuk memanggil rentetan yang saya mendapat hanya "rentetan". 1351 01:11:18,580 --> 01:11:22,230 Saya mahu mencetak rentetan 1352 01:11:22,230 --> 01:11:25,640 dan kemudian saya - 1353 01:11:27,450 --> 01:11:30,930 Saya mahu suka menetapkan tali seperti pelbagai watak setiap 1354 01:11:30,930 --> 01:11:33,170 yang berbeza [didengar], kan? 1355 01:11:33,170 --> 01:11:38,080 Dan kemudian saya mahu bermula pada kedudukan 0 1356 01:11:38,080 --> 01:11:40,630 dan kemudian setiap 2 ruang, 1357 01:11:40,630 --> 01:11:42,580 Saya akan mengambil kesempatan, 1358 01:11:42,580 --> 01:11:45,680 jadi saya hanya menyifatkan ia sebagai 23, kerana saya telah melihat jadual ASCII. 1359 01:11:45,680 --> 01:11:48,730 Jadi itulah apa yang saya berfikir - saya tahu ia tidak betul. 1360 01:11:48,730 --> 01:11:50,920 >> Mendapat ia, jadi ini adalah permulaan yang hebat. 1361 01:11:50,920 --> 01:11:54,120 Saya fikir banyak rangka kerja ini adalah di tempat di sini. 1362 01:11:54,120 --> 01:11:57,500 Mari kita pergi melalui jenis baris demi baris dan lihat apa yang berlaku. 1363 01:11:57,500 --> 01:12:01,040 Jadi cara yang saya suka untuk melakukan ini hanya bermula dengan menyusun kod 1364 01:12:01,040 --> 01:12:04,300 dan membiarkan pengkompil beritahu saya seperti apa yang salah dengan kod saya, 1365 01:12:04,300 --> 01:12:07,450 kerana pengkompil adalah benar-benar baik untuk memberitahu anda apa yang salah dengan kod anda. 1366 01:12:09,790 --> 01:12:12,780 Jadi, jika kita bermain, membina, dan ia tidak membina. 1367 01:12:12,780 --> 01:12:14,860 Ia berkata terdapat ralat, 1368 01:12:14,860 --> 01:12:17,320 jadi jika kita tatal ke bawah dan melihat kesilapan pertama, 1369 01:12:17,320 --> 01:12:20,960 ia berkata - 1370 01:12:20,960 --> 01:12:22,040 kita skrol kembali ke atas, 1371 01:12:22,040 --> 01:12:26,070 kita boleh melihat terdapat 5 kesilapan yang dihasilkan ke sini di bawah. 1372 01:12:26,070 --> 01:12:30,180 Oops, yang benar-benar terputus. 1373 01:12:31,810 --> 01:12:35,790 Saya rasa itu hanya tidak akan mendapat apa-apa yang lebih baik. 1374 01:12:36,970 --> 01:12:38,500 >> Di sini kita pergi. 1375 01:12:39,790 --> 01:12:42,530 Jadi terdapat 5 kesilapan jumlah yang dijana. 1376 01:12:42,530 --> 01:12:45,140 Di sini saya hanya boleh melihat 2 pertama, 1377 01:12:45,140 --> 01:12:49,100 jadi saya boleh bergerak ini sehingga sedikit dan kemudian jenis sehingga tatal. 1378 01:12:49,100 --> 01:12:53,220 Ini adalah arahan yang telah dijalankan untuk menyusun kod, 1379 01:12:53,220 --> 01:12:59,030 dan kemudian kesilapan pertama adalah dalam file.c di sini: 1380 01:12:59,030 --> 01:13:03,300 "Mengenal pasti dijangka atau '('", dan ia adalah on-line ini 1381 01:13:03,300 --> 01:13:06,680 di mana kita berkata rentetan = GetString (). 1382 01:13:07,660 --> 01:13:12,920 Anda boleh lihat di sini bahawa ia adalah pada 8 garis file.c, 1383 01:13:12,920 --> 01:13:17,230 dan kemudian saya percaya ini adalah watak 12 - itulah kesilapan. 1384 01:13:17,230 --> 01:13:20,390 Jadi apa yang berlaku salah pada 8 baris - Kelly? 1385 01:13:20,390 --> 01:13:22,810 >> Anda hanya perlu untuk memanggilnya, seperti, surat atau sesuatu, 1386 01:13:22,810 --> 01:13:24,400 seperti rentetan s atau sesuatu? 1387 01:13:24,400 --> 01:13:28,250 Ya, jadi ia ternyata bahawa ini jenis nama khas, 1388 01:13:28,250 --> 01:13:31,770 jadi string, int, char, pendek, 1389 01:13:31,770 --> 01:13:35,740 mereka semua kata kunci khas, 1390 01:13:35,740 --> 01:13:38,940 dan anda tidak boleh sebenarnya menggunakan mereka sebagai nama pembolehubah anda, 1391 01:13:38,940 --> 01:13:41,430 kerana pengkompil kelihatan pada itu dan berkata, 1392 01:13:41,430 --> 01:13:43,680 "Oh, saya tahu bahawa jenis," 1393 01:13:43,680 --> 01:13:46,530 supaya anda boleh sebenarnya tidak mempunyai rentetan pembolehubah rentetan yang dipanggil, 1394 01:13:46,530 --> 01:13:50,800 seperti yang saya cuba lakukan di sini, ini tidak akan berfungsi. 1395 01:13:52,610 --> 01:13:58,250 Tetapi sebaliknya, kita boleh memanggil ia sesuatu seperti s atau st atau str. 1396 01:13:58,250 --> 01:14:01,540 Kita juga tidak boleh memanggil ia int. 1397 01:14:01,540 --> 01:14:03,740 Kita tidak boleh mempunyai rentetan dipanggil int. 1398 01:14:03,740 --> 01:14:06,740 Kita tidak boleh mempunyai rentetan yang dipanggil char; tidak seorang pun daripada mereka akan bekerja. 1399 01:14:06,740 --> 01:14:09,420 >> Jadi kita hanya akan memanggilnya s buat masa ini. 1400 01:14:10,630 --> 01:14:13,170 Menggerunkan. 1401 01:14:13,170 --> 01:14:17,500 Jadi apa yang seterusnya akan di baris ini? 1402 01:14:21,390 --> 01:14:24,350 String - baris ini kelihatan cukup baik? 1403 01:14:24,350 --> 01:14:27,830 Mari kita memberikan satu lagi cuba, mari kita jalankan ia. 1404 01:14:27,830 --> 01:14:30,360 Okay, jadi kita masih mendapat kesilapan. 1405 01:14:30,360 --> 01:14:32,080 Masa ini, kami turun ke 4 kesilapan. 1406 01:14:32,080 --> 01:14:34,350 Jadi kita mendapat salah seorang daripada mereka. 1407 01:14:34,350 --> 01:14:36,130 Mari kita bergerak ke atas. 1408 01:14:36,130 --> 01:14:38,890 "'String' nama jenis Unexpected: ungkapan yang dijangkakan," ya? 1409 01:14:38,890 --> 01:14:41,780 >> Yeah, itu kerana saya cuba untuk menamakan tali. 1410 01:14:41,780 --> 01:14:44,270 Ya, jadi ia kelihatan seperti kita kini juga perlu pergi menetapkan 1411 01:14:44,270 --> 01:14:46,560 semua rujukan kepada rentetan. 1412 01:14:46,560 --> 01:14:50,070 Anda boleh lihat terdapat adalah merujuk kepada rentetan di sini, satu di sini, satu di sini, 1413 01:14:50,070 --> 01:14:53,440 supaya kita boleh bergerak semua ini s. 1414 01:14:56,040 --> 01:15:00,930 Besar. Okay, jalankan lagi. 1415 01:15:00,930 --> 01:15:03,260 Bangunan - satu lagi kesilapan yang berlaku. 1416 01:15:03,260 --> 01:15:06,900 >> Okay, sekarang kita ke satu kesilapan, 1417 01:15:06,900 --> 01:15:11,090 jadi int i = s dan kemudian kurungan persegi. 1418 01:15:11,090 --> 01:15:14,880 Jadi, anda boleh memberitahu kami sedikit tentang apa yang anda lakukan di sini, Kelly? 1419 01:15:14,880 --> 01:15:17,120 >> Ya. 1420 01:15:17,120 --> 01:15:19,410 Ia adalah pada 10 baris. 1421 01:15:19,410 --> 01:15:22,760 >> Saya tidak tahu jika kita memerlukan ia semua, 1422 01:15:22,760 --> 01:15:25,560 tetapi saya fikir saya telah cuba untuk - 1423 01:15:25,560 --> 01:15:27,580 Saya akan menyimpan ia supaya anda boleh mengikuti bersama-sama. 1424 01:15:27,580 --> 01:15:30,470 >> Saya rasa saya 1425 01:15:30,470 --> 01:15:33,150 cuba untuk memberitahu ia bermula pada kedudukan 0 1426 01:15:33,150 --> 01:15:35,030 pada permulaan saya untuk gelung, 1427 01:15:35,030 --> 01:15:38,370 jadi saya fikir mungkin itu berkata adalah tidak perlu. 1428 01:15:39,690 --> 01:15:41,350 Jadi hanya untuk menggulung, 1429 01:15:41,350 --> 01:15:44,850 anda telah mengatakan bahawa ini - anda telah cuba untuk memulakan ini pada kedudukan 0 1430 01:15:44,850 --> 01:15:47,030 dan mendapatkan ini - yeah, 1431 01:15:47,030 --> 01:15:50,460 jadi saya fikir sebelum ini, juga, apabila anda berjalan melalui kod, 1432 01:15:50,460 --> 01:15:54,070 anda bercakap tentang bagaimana anda mahu merawat tali sebagai array 1433 01:15:54,070 --> 01:15:57,440 jadi kita boleh mengakses watak setiap individu. 1434 01:15:57,440 --> 01:16:00,660 Saya fikir Dan disebutkan tatasusunan, juga, cuba untuk menukar rentetan ke dalam tatasusunan. 1435 01:16:01,400 --> 01:16:03,300 >> Ia ternyata bahawa jenis di bawah hood, 1436 01:16:03,300 --> 01:16:06,060 rentetan sebenarnya disimpan sebagai array sudah, 1437 01:16:06,060 --> 01:16:08,060 dan anda boleh mengakses ia seperti array; 1438 01:16:08,060 --> 01:16:12,390 tiada penukaran yang anda perlu lakukan. 1439 01:16:12,390 --> 01:16:15,770 Satu rentetan isn't - jadi - 1440 01:16:15,770 --> 01:16:18,200 rentetan tidak benar-benar sebuah array, 1441 01:16:18,200 --> 01:16:21,940 tetapi anda boleh mengakses seperti itu, kerana semua watak-watak disimpan 1442 01:16:21,940 --> 01:16:25,160 satu betul-betul bersebelahan antara satu sama lain dalam ingatan, 1443 01:16:25,160 --> 01:16:28,310 jadi jika anda mahu untuk mendapatkan watak pertama tali, 1444 01:16:28,310 --> 01:16:31,910 ia adalah sama seperti mendapat integer pertama dalam pelbagai integer. 1445 01:16:31,910 --> 01:16:35,010 Jadi kita sering - we'll 1446 01:16:35,010 --> 01:16:36,360 rujuk kepada 2 seperti 1447 01:16:36,360 --> 01:16:38,590 oh, sebagai rentetan, sebagai array, 1448 01:16:38,590 --> 01:16:40,830 walaupun ia benar-benar - they're benda yang sangat berbeza, 1449 01:16:40,830 --> 01:16:43,410 tetapi anda boleh merawat mereka amat sama. 1450 01:16:44,700 --> 01:16:47,400 Jadi ternyata bahawa garis ini sebenarnya - 1451 01:16:47,400 --> 01:16:51,270 kita tidak perlu untuk melakukan apa-apa penukaran, 1452 01:16:51,270 --> 01:16:53,500 dan pada hakikatnya, 1453 01:16:53,500 --> 01:16:56,790 ini sebenarnya tidak adalah satu ungkapan yang sah, 1454 01:16:56,790 --> 01:16:59,040 yang adalah apa yang pengkompil kami memberitahu kita. 1455 01:16:59,040 --> 01:17:01,290 Ia berkata, "Hei, ia dijangka ungkapan, 1456 01:17:01,290 --> 01:17:04,610 dan apa yang saya dapat di sini adalah sesuatu yang tidak satu ungkapan. " 1457 01:17:04,610 --> 01:17:07,310 Untuk mengisytiharkan array, 1458 01:17:07,310 --> 01:17:11,780 semua yang anda perlu lakukan adalah sesuatu yang seperti ini dengan semicolon, 1459 01:17:11,780 --> 01:17:15,080 dan kemudian anda memberitahu array berapa lama anda mahu ia menjadi, 1460 01:17:15,080 --> 01:17:18,370 seperti 5, jadi ini baris 10 1461 01:17:18,370 --> 01:17:23,880 akan mengisytiharkan pelbagai yang dipanggil i dengan 5 integer di dalamnya. 1462 01:17:23,880 --> 01:17:26,540 >> Ini adalah selain; ini tidak perlu bagi kod, 1463 01:17:26,540 --> 01:17:30,970 tetapi ini adalah - ini adalah jenis apa perisytiharan itu kelihatan seperti. 1464 01:17:30,970 --> 01:17:35,310 >> Bagaimana anda tidak menggunakan char i [strlen (s)]? 1465 01:17:35,310 --> 01:17:38,500 Char i [strlen (s)]? 1466 01:17:38,500 --> 01:17:41,500 Char >> i, dan kemudian di dalam kurungan, strlen (s). 1467 01:17:43,900 --> 01:17:47,710 Ya, jadi kita boleh - 1468 01:17:47,710 --> 01:17:49,460 kita boleh melakukan ini, 1469 01:17:49,460 --> 01:17:52,160 dan ini akan mengisytiharkan - apa ini akan lakukan? 1470 01:17:52,160 --> 01:17:55,900 >> Saya fikir ia akan mengisytiharkan array 1471 01:17:55,900 --> 01:18:01,780 , seperti - 1472 01:18:01,780 --> 01:18:04,540 oh, anda tidak perlu i - oh, 1473 01:18:04,540 --> 01:18:06,420 yeah, anda pasti tidak perlu i. 1474 01:18:06,420 --> 01:18:10,250 Anda mengaku pelbagai aksara 1475 01:18:10,250 --> 01:18:13,150 panjang s. 1476 01:18:14,680 --> 01:18:16,770 Dan sebagainya apa yang Sam mengatakan bahawa 1477 01:18:16,770 --> 01:18:20,660 ini selaras 10 - izinkan saya meletakkan beberapa ruang di antara dan lain supaya kita boleh mengasingkan - 1478 01:18:20,660 --> 01:18:23,440 10 baris ini akan mengisytiharkan array 1479 01:18:23,440 --> 01:18:28,520 aksara, strlen (s) bernilai mereka, 1480 01:18:28,520 --> 01:18:32,270 tetapi kita sebenarnya tidak memerlukan i, 1481 01:18:32,270 --> 01:18:35,710 dan sebab kita perlu i adalah kerana kita perlu memberi pelbagai nama; 1482 01:18:35,710 --> 01:18:38,900 sebaliknya, kita tidak akan mempunyai cara untuk merujuk kepada array kemudian dalam kod. 1483 01:18:38,900 --> 01:18:41,180 >> Jadi hak ini di sini adalah pelbagai nama 1484 01:18:41,180 --> 01:18:43,420 dan dalam adalah panjang. 1485 01:18:43,420 --> 01:18:45,010 Ini akan memberikan kita array, 1486 01:18:45,010 --> 01:18:47,430 tetapi ini adalah - sekali lagi, ini adalah perisytiharan. 1487 01:18:47,430 --> 01:18:50,380 Ia bukan suatu penguntukan; ia tidak pengawalan. 1488 01:18:50,380 --> 01:18:52,330 Jika kita mengisytiharkan array ini seperti ini, 1489 01:18:52,330 --> 01:18:54,490 ada sebenarnya tiada apa-apa jua dalam kandungan array. 1490 01:18:54,490 --> 01:18:57,490 Ia hanya sampah - apa yang ada di sana. 1491 01:18:57,490 --> 01:18:59,780 Dan seperti kita berkata, 1492 01:18:59,780 --> 01:19:01,340 kita sebenarnya tidak perlu untuk melakukan penukaran ini, 1493 01:19:01,340 --> 01:19:04,810 kerana kita sudah boleh merawat rentetan s sebagai array. 1494 01:19:06,750 --> 01:19:09,170 Saya tahu bahawa kita sedang berjalan agak lama pada masa, 1495 01:19:09,170 --> 01:19:12,330 tetapi saya mahu hanya benar-benar cepat sampai ke ini untuk gelung 1496 01:19:12,330 --> 01:19:14,850 dan menunjukkan kepada anda bagaimana untuk mengakses watak-watak individu dalam array, 1497 01:19:14,850 --> 01:19:17,170 kerana itulah kunci untuk tugasan kami. 1498 01:19:17,170 --> 01:19:20,790 Dan kemudian kita akan membiarkan anda pergi dari sana. 1499 01:19:20,790 --> 01:19:24,610 >> Jadi di sini, kami telah mendapat untuk gelung 1500 01:19:24,610 --> 01:19:28,310 yang kelihatan hampir baik. 1501 01:19:28,310 --> 01:19:30,960 Apa yang tidak agak hampir ada? 1502 01:19:30,960 --> 01:19:33,240 What's - apa yang tidak agak tepat tentang perkara ini untuk gelung? 1503 01:19:33,240 --> 01:19:36,010 >> Tiada pendakap kerinting? 1504 01:19:36,010 --> 01:19:38,420 Tiada pendakap kerinting, untuk satu. 1505 01:19:38,420 --> 01:19:42,580 Ingin pastikan bahawa kita mempunyai badan gelung dengan pendakap kerinting. 1506 01:19:42,580 --> 01:19:45,240 Oops, tidak bersedia persegi! 1507 01:19:45,240 --> 01:19:48,660 Dan apakah perkara seterusnya yang perlu kita lakukan dengan gelung ini? 1508 01:19:48,660 --> 01:19:52,640 Jika saya mencuba dan jalankan ia, 1509 01:19:52,640 --> 01:19:56,740 Whats kesilapan ini yang saya dapat? 1510 01:19:56,740 --> 01:20:00,990 Saya mendapat semua kesilapan-kesilapan - saya perlu untuk memulakan i. 1511 01:20:00,990 --> 01:20:03,610 Besar. 1512 01:20:03,610 --> 01:20:05,770 Jadi ini akan menjadi gelung - ini tidak cukup di sana, 1513 01:20:05,770 --> 01:20:08,680 tetapi ia semakin benar-benar rapat. 1514 01:20:08,680 --> 01:20:11,260 Kod ini kita kini boleh menjalankan, 1515 01:20:11,260 --> 01:20:14,620 membina, kesilapan masih berlaku. 1516 01:20:17,960 --> 01:20:19,800 Mengapa ia masih mengadu, 1517 01:20:19,800 --> 01:20:22,030 mengatakan ungkapan tidak digunakan, 1518 01:20:22,030 --> 01:20:24,600 dan itulah kerana baris ini tidak berbuat apa-apa. 1519 01:20:24,600 --> 01:20:27,620 Kami tidak menyimpan di mana-mana, kita tidak menyimpan hasilnya. 1520 01:20:27,620 --> 01:20:30,210 Mana kita harus menyimpan keputusan ini? 1521 01:20:30,210 --> 01:20:32,920 >> S atau i? 1522 01:20:32,920 --> 01:20:35,990 Tepat sekali, dan ini sintaks funky, 1523 01:20:35,990 --> 01:20:38,550 ini s dengan kurungan persegi 1524 01:20:38,550 --> 01:20:41,500 bermakna mengakses watak i-ke s. 1525 01:20:41,500 --> 01:20:45,650 Itu akan menjadi sesuatu yang benar-benar penting untuk tugasan. 1526 01:20:45,650 --> 01:20:48,070 Malangnya, kita akan perlu berhenti di sini, 1527 01:20:48,070 --> 01:20:50,550 supaya seksyen Sebastian boleh datang dalam, 1528 01:20:50,550 --> 01:20:53,980 tetapi saya gembira untuk tinggal selepas luar dan akan mengambil apa-apa soalan. 1529 01:20:53,980 --> 01:20:56,680 Jadi terima kasih lelaki untuk datang. 1530 01:20:56,680 --> 01:20:59,730 Ini kini perlu memuat naik, membina, menjalankan. 1531 01:21:01,570 --> 01:21:04,320 Kita boleh masukkan rentetan seperti "hello" 1532 01:21:06,570 --> 01:21:08,730 dan ia mencetak "QOX". 1533 01:21:08,730 --> 01:21:11,030 [Ketawa] 1534 01:21:11,030 --> 01:21:14,640 >> Jadi tidak cukup di sana, tetapi bergerak, mendapat ke arah gelung mereka! 1535 01:21:14,640 --> 01:21:18,640 Terima kasih kerana datang, dan saya akan berada di luar.