1 00:00:00,000 --> 00:00:05,830 2 00:00:05,830 --> 00:00:08,650 >> JASON Hirschhorn: Selamat datang ke CS50 seksyen ini, semua orang. 3 00:00:08,650 --> 00:00:11,430 Nama saya Jason Hirschhorn. 4 00:00:11,430 --> 00:00:15,850 Saya banyak TFS anda, tetapi banyak orang diharapkan akan menyertai kami 5 00:00:15,850 --> 00:00:20,420 online pelajar, lanjutan atau pelajar cuba untuk melihat melalui seksyen jika mereka 6 00:00:20,420 --> 00:00:22,830 terlepas seksyen mereka bahawa minggu atau hanya mengejar jika mereka mahu 7 00:00:22,830 --> 00:00:24,510 mengkaji beberapa material. 8 00:00:24,510 --> 00:00:30,060 >> Jadi sebagai satu sukatan pelajaran, yang semua anda telah membaca, betul? 9 00:00:30,060 --> 00:00:31,390 Saya lihat banyak mengangguk kepala. 10 00:00:31,390 --> 00:00:34,220 Seksyen menyediakan anda dengan peluang-peluang untuk meneroka kursus ini 11 00:00:34,220 --> 00:00:37,420 bahan dalam persekitaran yang lebih intim, serta terjun ke dalam 12 00:00:37,420 --> 00:00:38,810 hands-on aktiviti. 13 00:00:38,810 --> 00:00:41,230 >> Jadi pada dasarnya apa yang kita akan melakukan setiap minggu. 14 00:00:41,230 --> 00:00:45,090 Kami akan pergi melalui apa yang kita ada berazam untuk menjadi yang paling penting 15 00:00:45,090 --> 00:00:49,170 topik yang dibincangkan dalam kuliah, dan orang-orang mungkin juga yang paling berguna dan 16 00:00:49,170 --> 00:00:52,780 kemungkinan besar datang pada set masalah dan dalam kuiz, dan dalam kod anda 17 00:00:52,780 --> 00:00:53,970 kehidupan di luar CS50. 18 00:00:53,970 --> 00:00:57,260 Jadi, kita akan pergi ke topik, membincangkan mereka, pergi ke atas mereka, 19 00:00:57,260 --> 00:01:00,660 menjawab apa-apa soalan yang anda lelaki itu mempunyai, dan maka kita akan melakukan banyak 20 00:01:00,660 --> 00:01:02,250 masalah amalan dalam pengkodan. 21 00:01:02,250 --> 00:01:04,239 >> Anda semua membawa komputer riba, yang hebat. 22 00:01:04,239 --> 00:01:05,710 Ini adalah kelas sains komputer. 23 00:01:05,710 --> 00:01:10,070 Walau bagaimanapun, banyak latihan yang kita lakukan, anda tidak perlu untuk komputer riba anda. 24 00:01:10,070 --> 00:01:11,720 Anda boleh melakukannya di atas sehelai kertas. 25 00:01:11,720 --> 00:01:13,580 Itulah bagaimana anda akan melakukannya pada kuiz. 26 00:01:13,580 --> 00:01:16,450 Dan sesungguhnya, itu adalah satu cara yang baik untuk benar-benar tahu bahawa anda bagaimana untuk melakukan 27 00:01:16,450 --> 00:01:19,720 sesuatu jika anda tidak mempunyai Semak 50 bergantung pada atau Buat bergantung kepada, memberitahu 28 00:01:19,720 --> 00:01:20,620 anda membuat sebarang kesilapan. 29 00:01:20,620 --> 00:01:25,670 >> Jadi, anda dialu-alukan untuk kod pada perkakas atau run.cs50.net, yang merupakan 30 00:01:25,670 --> 00:01:29,770 satu lagi alat yang membolehkan anda untuk kod talian, tetapi saya juga ingin mengesyorkan, jika 31 00:01:29,770 --> 00:01:32,280 anda tidak mencuba, dengan menggunakan kunci kertas dan cuba amalan ini 32 00:01:32,280 --> 00:01:33,640 masalah pada sehelai kertas. 33 00:01:33,640 --> 00:01:35,330 Kerana sekali lagi, itu akhirnya apa yang anda akan menjadi 34 00:01:35,330 --> 00:01:37,430 diminta untuk lakukan pada kuiz. 35 00:01:37,430 --> 00:01:44,080 >> Jadi mari kita mulakan dengan kami agenda untuk hari ini. 36 00:01:44,080 --> 00:01:47,710 Kami akan pergi ke beberapa norma seksyen kita, maka kita akan menyelam 37 00:01:47,710 --> 00:01:51,180 ke array, fungsi, dan baris arahan hujah-hujah, yang adalah apa yang anda guys 38 00:01:51,180 --> 00:01:56,200 telah dilindungi ini minggu lalu dalam syarahan dan kemudian hari Isnin, dan apa yang anda akan meliputi 39 00:01:56,200 --> 00:01:57,330 lebih hari esok. 40 00:01:57,330 --> 00:01:59,060 Dan akhirnya, kita akan bercakap tentang pset2. 41 00:01:59,060 --> 00:02:03,640 Jika saya boleh mendapatkan tanda tangan jika anda tidak melihat masalah set dua 42 00:02:03,640 --> 00:02:04,890 spesifikasi. 43 00:02:04,890 --> 00:02:07,060 44 00:02:07,060 --> 00:02:08,120 Kami akan mengatakan semua orang. 45 00:02:08,120 --> 00:02:09,419 Hebat. 46 00:02:09,419 --> 00:02:12,070 >> Kami akan bercakap mengenai set masalah dalam sedikit, tetapi jika anda membaca set masalah 47 00:02:12,070 --> 00:02:14,340 spesifikasi, itu semua yang anda perlu lakukan. 48 00:02:14,340 --> 00:02:18,370 Jika anda membaca bahawa sebelum anda datang ke kelas dan bahagian pada hari Selasa, anda akan 49 00:02:18,370 --> 00:02:19,220 menjadi kedudukan yang baik. 50 00:02:19,220 --> 00:02:21,680 Kita boleh pergi melalui set masalah, yang adalah apa yang kita akan 51 00:02:21,680 --> 00:02:22,090 lakukan pada akhir. 52 00:02:22,090 --> 00:02:23,500 Kami akan pergi melalui logik, pastikan 53 00:02:23,500 --> 00:02:24,710 semua orang yang di halaman yang sama. 54 00:02:24,710 --> 00:02:28,650 >> Saya mahu anda dapat meninggalkan Selasa berasa sangat selesa dengan apa yang anda 55 00:02:28,650 --> 00:02:31,560 perlu lakukan untuk masalah set minggu ini, dan jika anda tidak berbuat demikian, saya akan gembira 56 00:02:31,560 --> 00:02:33,050 tinggal selepas dan bekerja dengan anda. 57 00:02:33,050 --> 00:02:36,850 Tetapi itu adalah satu perkara yang anda perlu lakukan tetapi saya fikir akan benar-benar pintar, 58 00:02:36,850 --> 00:02:40,500 hanya untuk membaca set masalah spesifikasi oleh kelas pada hari Selasa, 59 00:02:40,500 --> 00:02:42,640 yang ia kedengaran seperti banyak kamu lakukan. 60 00:02:42,640 --> 00:02:45,810 >> Saya akan bermula dengan agenda setiap kelas supaya anda tahu di mana kita nak pergi. 61 00:02:45,810 --> 00:02:49,520 Ini juga berguna untuk orang menonton talian kerana setiap bahagian 62 00:02:49,520 --> 00:02:53,540 adalah kod warna, jadi jika anda mahu datang belakang dan hanya menonton 10 minit lebih 63 00:02:53,540 --> 00:02:56,950 daripada seksyen 90 minit keseluruhan, anda hanya boleh pergi ke bahagian warna berkod 64 00:02:56,950 --> 00:02:57,890 dan melihat bahagian itu. 65 00:02:57,890 --> 00:03:01,510 Jadi, saya telah cuba untuk memecahkan mereka ke dalam baik modul yang akan membolehkan anda untuk - 66 00:03:01,510 --> 00:03:03,960 jika anda mahu untuk kembali dan mengkaji semula, atau pelajar-pelajar lain yang hanya 67 00:03:03,960 --> 00:03:05,350 menonton seksyen untuk mengkaji semula - 68 00:03:05,350 --> 00:03:08,130 mencari perkara tertentu mereka mahu memberi perhatian kepada 69 00:03:08,130 --> 00:03:10,480 dan belajar lebih lanjut mengenai. 70 00:03:10,480 --> 00:03:11,390 Manis. 71 00:03:11,390 --> 00:03:12,180 >> Norma. 72 00:03:12,180 --> 00:03:13,680 Saya seorang pemimpin kuliah di kampus. 73 00:03:13,680 --> 00:03:14,900 Saya tidak tahu jika sesiapa melakukan kuliah. 74 00:03:14,900 --> 00:03:16,280 Adakah sesiapa melakukan kuliah? 75 00:03:16,280 --> 00:03:17,100 Satu orang tidak kuliah. 76 00:03:17,100 --> 00:03:18,430 Dua orang melakukan kuliah. 77 00:03:18,430 --> 00:03:19,250 Awesome. 78 00:03:19,250 --> 00:03:22,360 Jadi kuliah adalah tahun pertama Luaran Program orientasi. 79 00:03:22,360 --> 00:03:27,240 Kami mengambil mahasiswa ke dalam hutan dan membuat pengalaman yang paling ajaib 80 00:03:27,240 --> 00:03:28,830 kehidupan mereka, betul? 81 00:03:28,830 --> 00:03:29,220 Yeah. 82 00:03:29,220 --> 00:03:30,080 Bunyi mengenai hak. 83 00:03:30,080 --> 00:03:36,360 >> Jadi saya hanya mahu untuk memulakan kita yang pertama seksyen dengan membincangkan beberapa norma-norma 84 00:03:36,360 --> 00:03:38,860 bagi kelas dan hubungan kita kerana saya fikir 85 00:03:38,860 --> 00:03:40,010 mereka sangat penting. 86 00:03:40,010 --> 00:03:43,630 Pertama sekali, seperti orang-orang di antara kamu yang adalah seksyen saya telah menerima dan 87 00:03:43,630 --> 00:03:47,150 telah dibincangkan dalam yang e-mel, saya suka ini. 88 00:03:47,150 --> 00:03:48,130 Ini adalah sebahagian kegemaran saya tahun ini. 89 00:03:48,130 --> 00:03:49,100 Saya begitu teruja. 90 00:03:49,100 --> 00:03:50,040 Saya telah berada di sini selama beberapa jam hari ini. 91 00:03:50,040 --> 00:03:54,560 Saya tidak meninggalkan bangunan ini kecuali untuk pergi makan kerana saya suka CS50 seksyen, saya 92 00:03:54,560 --> 00:03:58,620 suka mengajar, saya suka bekerja dengan anda semua. 93 00:03:58,620 --> 00:04:02,000 >> Salah satu keutamaan saya, jika tidak saya keutamaan nombor satu, bukan sahaja untuk 94 00:04:02,000 --> 00:04:05,130 kelas ini tetapi termasuk saya yang lain kelas dan extracurriculars, adalah untuk 95 00:04:05,130 --> 00:04:09,350 menyokong anda semua, dan membantu anda lelaki, dan melakukan yang terbaik untuk memastikan bahawa anda 96 00:04:09,350 --> 00:04:13,780 lelaki itu mempunyai yang indah, menyeronokkan, produktif, menarik, menarik 97 00:04:13,780 --> 00:04:15,250 pengalaman dalam kelas ini. 98 00:04:15,250 --> 00:04:16,190 Itulah apa yang saya komited untuk. 99 00:04:16,190 --> 00:04:17,959 Itulah sebabnya saya suka untuk melakukan ini. 100 00:04:17,959 --> 00:04:20,190 Itu adalah nombor saya satu perkara, sokongan anda semua. 101 00:04:20,190 --> 00:04:25,110 Jika anda mempunyai sebarang soalan mengenai kuliah, set masalah, seksyen, 102 00:04:25,110 --> 00:04:28,830 hidup, walaupun jika anda mahu bercakap tentang kehidupan, sila berasa bebas untuk mencapai keluar. 103 00:04:28,830 --> 00:04:31,210 >> Anda mempunyai nombor telefon bimbit saya, anda mempunyai e-mel saya 104 00:04:31,210 --> 00:04:32,910 alamat, anda mempunyai GChat saya. 105 00:04:32,910 --> 00:04:37,540 Anda boleh hubungi saya di mana-mana atau semua mereka bila-bila masa, tetapi mungkin tidak akan mendapat 106 00:04:37,540 --> 00:04:38,720 jawapan apabila. 107 00:04:38,720 --> 00:04:41,020 Saya cuba dan kembali dalam tempoh 24 jam. 108 00:04:41,020 --> 00:04:44,760 Sering kali ia akan berada dalam 20 minit atau 24 minit. 109 00:04:44,760 --> 00:04:46,110 Saya sepatutnya berkata bahawa untuk membuat ia selari. 110 00:04:46,110 --> 00:04:48,840 Tetapi anda akan mendapat jawapan agak cepat. 111 00:04:48,840 --> 00:04:54,220 >> Jika anda teks saya satu jam sebelum set masalah adalah kerana, saya akan menenangkan anda 112 00:04:54,220 --> 00:04:57,660 ke bawah dan melakukan senaman pernafasan yang mendalam dengan anda, tetapi jika anda tidak bermula, 113 00:04:57,660 --> 00:05:00,270 anda mungkin tidak akan selesai, dan Saya tidak boleh benar-benar membantu anda di luar sana 114 00:05:00,270 --> 00:05:01,710 walaupun saya akan cuba yang terbaik. 115 00:05:01,710 --> 00:05:03,920 Jadi saya akan melakukan segala-galanya Saya boleh untuk menyokong anda. 116 00:05:03,920 --> 00:05:07,980 Sila berasa bebas untuk mendekati sama ada ia dalam seksyen lagi, pada Waktu Pejabat 117 00:05:07,980 --> 00:05:09,150 jika anda lihat saya, atau walaupun di luar. 118 00:05:09,150 --> 00:05:11,800 Saya gembira untuk menubuhkan masa untuk memenuhi dan kerja-kerja melalui masalah 119 00:05:11,800 --> 00:05:14,410 dengan atau pergi ke atas material. 120 00:05:14,410 --> 00:05:15,990 Jadi yang nombor satu, sokongan. 121 00:05:15,990 --> 00:05:17,940 Saya akan melakukan semua yang saya boleh untuk menyokong anda. 122 00:05:17,940 --> 00:05:21,520 >> Nombor dua, mesyuarat di tengah-tengah. 123 00:05:21,520 --> 00:05:24,760 Seberapa banyak yang saya ingin menjadi, saya tidak berkuasa atau yang berkuasa atau 124 00:05:24,760 --> 00:05:28,410 semua-mengetahui, jadi saya tidak tahu semua masa jika apa yang saya lakukan adalah untuk mendapatkan 125 00:05:28,410 --> 00:05:33,410 seluruh, jika cara yang saya mengajar topik membantu anda belajar, atau jika anda 126 00:05:33,410 --> 00:05:36,120 keliru mengenai topik tetapi tidak mengangkat tangan anda atau bertanya kepada saya 127 00:05:36,120 --> 00:05:37,390 atau menghantar saya e-mel. 128 00:05:37,390 --> 00:05:42,150 Atau jika anda, sekali lagi, keliru tentang sesuatu pada set masalah. 129 00:05:42,150 --> 00:05:44,240 Jika anda tidak sampai kepada saya, Saya tidak dapat tahu bahawa pasti. 130 00:05:44,240 --> 00:05:46,950 Saya akan melakukan yang terbaik untuk mendaftar masuk pada anda semua, pastikan semuanya 131 00:05:46,950 --> 00:05:51,170 berjalan dengan baik, cuba untuk mengajar perkara-perkara dengan cara yang yang akan menjadi sesuai untuk kebanyakan 132 00:05:51,170 --> 00:05:54,910 gaya pembelajaran anda, tetapi jika ada apa-apa yang boleh saya lakukan, beritahu saya. 133 00:05:54,910 --> 00:05:58,520 >> Bersama-sama orang-orang garisan, jika anda mahu bantuan dengan set masalah, saya lebih 134 00:05:58,520 --> 00:05:59,700 daripada gembira untuk membantu anda dengan set masalah. 135 00:05:59,700 --> 00:06:02,300 Kami akan melakukan banyak ke arah yang kedua 136 00:06:02,300 --> 00:06:03,460 separuh daripada bahagian ini. 137 00:06:03,460 --> 00:06:06,040 Tetapi jika anda tidak membaca masalah menetapkan menyokong dan tidak menonton berjalan 138 00:06:06,040 --> 00:06:09,310 melalui dan tidak melihat seluar pendek dan mengharapkan saya untuk mengajar anda 139 00:06:09,310 --> 00:06:13,260 semua yang telah dirakam online atau anda boleh dapati di CS50 140 00:06:13,260 --> 00:06:16,720 kajian, yang tidak benar-benar adil kepada saya atau kepada rakan-rakan anda yang lain. 141 00:06:16,720 --> 00:06:20,440 142 00:06:20,440 --> 00:06:25,730 >> Oleh itu, sila, saya lebih daripada gembira untuk membantu anda, tetapi anda semua dapat bertemu saya dalam 143 00:06:25,730 --> 00:06:27,230 tengah-tengah. 144 00:06:27,230 --> 00:06:30,100 Kami mempunyai banyak sumber untuk anda boleh didapati di CS50. 145 00:06:30,100 --> 00:06:31,230 Saya sebutkan sebahagian daripada mereka. 146 00:06:31,230 --> 00:06:32,960 Sila mengambil kesempatan daripada mereka. 147 00:06:32,960 --> 00:06:35,140 Jika anda keliru, saya lebih daripada gembira untuk membantu anda menerangkan kepada mereka dalam 148 00:06:35,140 --> 00:06:39,290 cara yang lain, tetapi ia tidak adil jika pelajar muncul pada waktu pejabat, 149 00:06:39,290 --> 00:06:42,530 belum bermula apa-apa, dan ia Malam Khamis dan mereka menjangkakan 150 00:06:42,530 --> 00:06:45,880 TF untuk berjalan mereka melalui setiap satu perkara bagi masalah yang ditetapkan oleh 151 00:06:45,880 --> 00:06:47,140 pada tengah hari keesokan harinya. 152 00:06:47,140 --> 00:06:48,300 Masuk akal? 153 00:06:48,300 --> 00:06:50,890 Sekali lagi, sila berjumpa dengan kami di tengah-tengah. 154 00:06:50,890 --> 00:06:53,230 >> Dan akhirnya, harapan yang tinggi. 155 00:06:53,230 --> 00:06:58,010 Saya akan menjadi orang penggredan siapa dalam seksyen saya, atau menjaringkan anda 156 00:06:58,010 --> 00:06:59,020 set masalah. 157 00:06:59,020 --> 00:07:01,240 Anda belum pulang masalah ditetapkan sifar atau satu lagi. 158 00:07:01,240 --> 00:07:02,250 Kami minta maaf tentang itu. 159 00:07:02,250 --> 00:07:04,970 Kami mengambil masa seketika untuk akhirnya menyelesaikan bahagian, dan kini 160 00:07:04,970 --> 00:07:05,560 kita boleh mula penggredan. 161 00:07:05,560 --> 00:07:09,560 >> Saya akan mendapatkan mereka kembali kepada anda secepat mungkin. 162 00:07:09,560 --> 00:07:11,890 Mereka adalah sebahagian daripada saya advisees di luar sana. 163 00:07:11,890 --> 00:07:14,150 Saya akan mendapatkan mereka kembali kepada anda secepat mungkin. 164 00:07:14,150 --> 00:07:18,046 Dan untuk masalah set dua, kami akan berada di jadual dan kami akan mula mendapat mereka 165 00:07:18,046 --> 00:07:20,440 kepada anda agak cepat selepas anda menghidupkan mereka masuk 166 00:07:20,440 --> 00:07:24,130 >> Apabila anda mendapat masalah yang ditetapkan kembali, anda akan mendapat markah, seperti yang anda tahu daripada 167 00:07:24,130 --> 00:07:28,150 membaca sukatan pelajaran - ketepatan, reka bentuk, skop, dan gaya markah. 168 00:07:28,150 --> 00:07:29,760 Anda juga akan mendapatkan komen. 169 00:07:29,760 --> 00:07:32,160 Komen-komen adalah lebih penting daripada markah. 170 00:07:32,160 --> 00:07:33,780 Saya fikir ia adalah selamat untuk mengatakan bahawa. 171 00:07:33,780 --> 00:07:37,930 >> Markah hanya sebilangan dari satu hingga lima. 172 00:07:37,930 --> 00:07:38,930 Adalah sukar untuk membaca kepada mereka. 173 00:07:38,930 --> 00:07:40,720 Adalah sukar untuk meningkat daripada mereka. 174 00:07:40,720 --> 00:07:44,460 Tetapi komen akan menunjukkan tertentu perkara yang anda lakukan dengan baik atau kawasan 175 00:07:44,460 --> 00:07:48,360 anda boleh meningkatkan dan memberikan anda beberapa idea untuk masa depan atau alternatif 176 00:07:48,360 --> 00:07:49,160 cara-cara melakukan sesuatu. 177 00:07:49,160 --> 00:07:52,270 >> Oleh itu, sila, sila, sila baca melalui komen. 178 00:07:52,270 --> 00:07:54,190 Saya meletakkan banyak masa ke orang komen. 179 00:07:54,190 --> 00:07:57,190 Sila baca melalui mereka dan tidak hanya tatal ke bawah ke bahagian bawah 180 00:07:57,190 --> 00:08:01,890 PDF, mencari skor anda, atau pergi ke dalam talian dan mencari skor anda, dan kemudian mengabaikan 181 00:08:01,890 --> 00:08:02,800 komen-komen. 182 00:08:02,800 --> 00:08:03,910 Itu bukan bagaimana anda akan menjadi lebih baik. 183 00:08:03,910 --> 00:08:06,550 Itu bukan bagaimana anda akan meningkatkan skor anda akhirnya, hanya 184 00:08:06,550 --> 00:08:07,340 dengan melihat markah. 185 00:08:07,340 --> 00:08:08,760 Sila melihat orang-orang komen. 186 00:08:08,760 --> 00:08:13,240 >> Dan bersama-sama barisan harapan yang tinggi, sekali lagi, seperti yang saya kata, anda 187 00:08:13,240 --> 00:08:14,260 boleh menjaringkan gol dari satu sampai lima. 188 00:08:14,260 --> 00:08:17,120 Berdua-dua, bertiga, dan merangkak adalah Sebahagian besar daripada skor 189 00:08:17,120 --> 00:08:17,940 anda akan mendapat. 190 00:08:17,940 --> 00:08:20,180 Orang-orang dan lima kedua-duanya benar-benar jarang berlaku. 191 00:08:20,180 --> 00:08:21,720 Selalu ada perkara-perkara kita boleh melakukan yang lebih baik. 192 00:08:21,720 --> 00:08:23,490 Setiap kali saya kod program, terdapat sentiasa sesuatu yang saya 193 00:08:23,490 --> 00:08:24,800 boleh buat lebih baik. 194 00:08:24,800 --> 00:08:28,740 >> Jadi, daripada mengatakan anda mendapat lima sepanjang masa atas segala-galanya dan tidak 195 00:08:28,740 --> 00:08:31,960 segala-galanya sempurna, saya tidak fikir mana-mana kita benar-benar percaya bahawa kita - atau 196 00:08:31,960 --> 00:08:34,830 mudah-mudahan, kita tidak melakukan segala-galanya sempurna setiap masa. 197 00:08:34,830 --> 00:08:37,010 Jadi jangan bimbang jika anda tidak mendapat lima. 198 00:08:37,010 --> 00:08:40,470 A lima tidak merancang ke A, empat tidak merancang ke B, tiga tidak 199 00:08:40,470 --> 00:08:42,950 tidak peta ke C. Itu bukan bagaimana skor bekerja. 200 00:08:42,950 --> 00:08:48,140 >> Seperti Daud telah berkata banyak kali, pada akhir semester semua skor anda dan 201 00:08:48,140 --> 00:08:53,390 input dari saya, TF anda, datang bersama-sama dan menentukan gred akhir untuk anda. 202 00:08:53,390 --> 00:08:56,760 Tetapi sekali lagi, ia bukan lima, A, empat, B, dan sebagainya. 203 00:08:56,760 --> 00:09:01,150 Jadi saya akan mempunyai harapan yang tinggi untuk anda semua. 204 00:09:01,150 --> 00:09:03,670 Saya akan mengharapkan masalah yang baik set dan saya akan memberi 205 00:09:03,670 --> 00:09:05,010 maklum balas seperti itu. 206 00:09:05,010 --> 00:09:07,430 Dan ia tidak akan bermakna anda akan mendapat gred yang lebih buruk. 207 00:09:07,430 --> 00:09:09,760 Anda digredkan dari segi kemajuan anda dari minggu 208 00:09:09,760 --> 00:09:11,260 sifar ke akhir kursus ini. 209 00:09:11,260 --> 00:09:17,190 >> Dan akhirnya, dari segi tinggi jangkaan di dalam kelas, saya suka apabila 210 00:09:17,190 --> 00:09:18,460 orang mengambil bahagian. 211 00:09:18,460 --> 00:09:23,180 Saya faham sesetengah orang merasa lebih atau kurang selesa mengambil bahagian. 212 00:09:23,180 --> 00:09:26,050 Orang lain yang mengambil bahagian bukan dengan mengangkat tangan mereka dan 213 00:09:26,050 --> 00:09:27,320 bercakap sepanjang masa. 214 00:09:27,320 --> 00:09:30,570 Tetapi kita di dalam kelas ini akan menjadi melakukan banyak masalah kecil, banyak 215 00:09:30,570 --> 00:09:33,770 soalan mini, dan kemudian beberapa besar kod masalah. 216 00:09:33,770 --> 00:09:36,760 Jadi pasti bekerja senaman ini keluar apabila kita melakukan mereka di dalam komputer anda atau pada 217 00:09:36,760 --> 00:09:37,900 sehelai kertas. 218 00:09:37,900 --> 00:09:40,933 >> Tetapi saya juga akan memberikan sedikit masa sebelum sesiapa yang pernah mempunyai untuk menjawab beberapa 219 00:09:40,933 --> 00:09:42,220 soalan-soalan yang saya bertanya. 220 00:09:42,220 --> 00:09:44,930 Jadi kerana saya akan memberikan anda sedikit masa untuk berfikir tentang hal itu, kerana kita akan 221 00:09:44,930 --> 00:09:49,380 melakukan perkara-perkara dalam rakan-rakan kadang-kadang, Saya akan mengharapkan semua orang 222 00:09:49,380 --> 00:09:52,150 untuk terlibat agak. 223 00:09:52,150 --> 00:09:56,030 Dan kerana kekurangan istilah yang lebih baik, terdapat mungkin akan memanggil sejuk, yang 224 00:09:56,030 --> 00:09:59,045 adalah di mana semua orang akan mempunyai peluang yang untuk berfikir tentang jawapan, dan kemudian 225 00:09:59,045 --> 00:10:01,150 Saya akan memanggil anda, dan kemudian anda akan mengatakan jawapannya. 226 00:10:01,150 --> 00:10:05,200 >> Jangan bimbang atau takut tentang itu. 227 00:10:05,200 --> 00:10:08,610 Saya telah melakukannya pada masa lalu dan kita dapati bahawa ia adalah lebih berjaya, 228 00:10:08,610 --> 00:10:11,810 juga membaca penyelidikan pendidikan padanya untuk menentukan sama ada atau tidak ia adalah satu 229 00:10:11,810 --> 00:10:12,640 taktik yang baik. 230 00:10:12,640 --> 00:10:15,790 Ia adalah sangat membantu, terutamanya jika anda memberi pelajar masa untuk berfikir tentang 231 00:10:15,790 --> 00:10:20,070 jawapan dan tidak membuat mereka hanya datang keluar dan berkata ia hak off kelawar. 232 00:10:20,070 --> 00:10:22,620 Tetapi jika anda tidak berasa selesa menjawab, saya juga cukup baik 233 00:10:22,620 --> 00:10:25,370 merasakan bahawa keluar, dan kami tidak akan meletakkan anda di tempat, terutamanya pada 234 00:10:25,370 --> 00:10:28,240 kamera, walaupun tiada anda berada di kamera sekarang. 235 00:10:28,240 --> 00:10:32,250 >> Jadi mereka adalah norma saya. 236 00:10:32,250 --> 00:10:34,670 Satu perkara yang lebih sepanjang garis mesyuarat di tengah-tengah. 237 00:10:34,670 --> 00:10:36,490 Saya akan memberikan anda semua banyak maklum balas. 238 00:10:36,490 --> 00:10:38,310 Sila memberi saya maklum balas juga. 239 00:10:38,310 --> 00:10:46,190 Ada laman web, sayat.me/cs50. 240 00:10:46,190 --> 00:10:48,380 Jadi ia adalah satu maklum balas yang jujur. 241 00:10:48,380 --> 00:10:50,730 Jika anda mahu memberikan dalam seksyen, Saya mendapat e-mel apabila ia berlaku. 242 00:10:50,730 --> 00:10:53,820 Kami akan berehat dalam sedikit, jadi saya akan melihat melalui maklum balas kemudian. 243 00:10:53,820 --> 00:10:55,970 Jika anda mempunyai sebarang maklum balas, sila berikan kepada saya di sana. 244 00:10:55,970 --> 00:11:01,380 >> Jika anda memberi saya maklum balas mengenai Q, itu indah, tetapi itulah panduan 245 00:11:01,380 --> 00:11:02,570 yang anda lakukan pada akhir. 246 00:11:02,570 --> 00:11:05,690 Tetapi itu akan berada di akhir semester jadi Saya tidak akan dapat mengambil apa-apa yang 247 00:11:05,690 --> 00:11:08,620 maklum balas dan mengubahnya menjadi pengajaran anda lelaki yang lebih baik. 248 00:11:08,620 --> 00:11:11,020 Oleh itu, sila, jika anda mempunyai apa-apa maklum balas, memberikan kepada saya. 249 00:11:11,020 --> 00:11:12,010 Saya suka maklum balas. 250 00:11:12,010 --> 00:11:14,490 Kembali ke kuliah, kita akan mendapat maklum balas sepanjang masa. 251 00:11:14,490 --> 00:11:18,610 >> Anda boleh memberi saya plus, perkara yang baik, delta, perkara-perkara yang boleh saya memperbaiki. 252 00:11:18,610 --> 00:11:20,600 Anda boleh memberi komen pada pakaian saya. 253 00:11:20,600 --> 00:11:24,170 Itu tidak akan menjadi berguna, tetapi anda dialu-alukan untuk memberi komen di mana-mana dan 254 00:11:24,170 --> 00:11:24,570 segala-galanya. 255 00:11:24,570 --> 00:11:26,280 Sila, sila memberi saya maklum balas. 256 00:11:26,280 --> 00:11:28,740 Saya menghargai ia banyak dan ia bermakna banyak kepada saya. 257 00:11:28,740 --> 00:11:31,760 258 00:11:31,760 --> 00:11:33,280 >> Satu kebiasaan lanjut, menyeronokkan. 259 00:11:33,280 --> 00:11:34,530 Kami akan mempunyai banyak keseronokan. 260 00:11:34,530 --> 00:11:36,930 Mudah-mudahan dalam kursus ini, anda akan mempunyai banyak keseronokan. 261 00:11:36,930 --> 00:11:38,780 Kami akan mempunyai gula-gula di bahagian. 262 00:11:38,780 --> 00:11:40,040 Kami akan mempunyai muzik. 263 00:11:40,040 --> 00:11:45,510 Kami akan diharapkan mendapat tahu satu lain agak baik, jadi saya ingin 264 00:11:45,510 --> 00:11:47,690 ini menjadi yang menyeronokkan, pengalaman yang menarik. 265 00:11:47,690 --> 00:11:50,890 >> Saya tahu sebahagian dari kamu telah meninggal kuliah anda mempunyai awal hari ini, 266 00:11:50,890 --> 00:11:53,750 jadi diharapkan yang tidak akan berlaku sekarang. 267 00:11:53,750 --> 00:11:55,960 Dan jika ia berlaku sekarang, hanya tidak berdengkur kerana mungkin 268 00:11:55,960 --> 00:11:57,580 ditangkap pada kamera. 269 00:11:57,580 --> 00:11:58,770 Manis. 270 00:11:58,770 --> 00:12:04,020 Sebarang pertanyaan, komen, atau kebimbangan sebelum saya bergerak pada kira-kira apa-apa yang kita telah 271 00:12:04,020 --> 00:12:05,270 bercakap tentang? 272 00:12:05,270 --> 00:12:08,620 273 00:12:08,620 --> 00:12:11,350 Besar. 274 00:12:11,350 --> 00:12:14,830 >> Jadi kita akan pergi ke dalam barisan pertama. 275 00:12:14,830 --> 00:12:17,140 Ini adalah bagaimana anda membuat array. 276 00:12:17,140 --> 00:12:18,410 Kami telah melihat ini sebelum ini. 277 00:12:18,410 --> 00:12:21,830 Anda mempunyai jenis data, anda mempunyai nama, dan kemudian anda perlu saiz. 278 00:12:21,830 --> 00:12:24,430 Di sini, saya membuat dua tatasusunan. 279 00:12:24,430 --> 00:12:30,360 Yang pertama adalah pelbagai watak-watak, dan ia mempunyai 26 ruang. 280 00:12:30,360 --> 00:12:33,790 Yang kedua adalah pelbagai skor, dan ia mempunyai tiga 281 00:12:33,790 --> 00:12:35,390 ruang untuk tiga integer. 282 00:12:35,390 --> 00:12:35,827 Ya? 283 00:12:35,827 --> 00:12:38,200 >> PELAJAR: Adakah semua ini slaid ada tempat untuk kita? 284 00:12:38,200 --> 00:12:38,850 >> JASON Hirschhorn: Soalan Besar. 285 00:12:38,850 --> 00:12:40,650 Persoalannya ialah, adakah semua slaid ini boleh didapati? 286 00:12:40,650 --> 00:12:40,920 Ya. 287 00:12:40,920 --> 00:12:43,420 Semua ini slaid akan disediakan, dan pada masa depan, saya akan e-mel mereka untuk 288 00:12:43,420 --> 00:12:44,640 anda sebelum bahagian. 289 00:12:44,640 --> 00:12:47,340 Tetapi hari ini, kerana ini adalah yang pertama minggu, kami mempunyai satu permulaan yang lewat. 290 00:12:47,340 --> 00:12:49,675 Jadi biasanya, anda akan mendapat slaid ini, tetapi mereka akan didapati dalam talian dan 291 00:12:49,675 --> 00:12:52,420 Saya akan email kepada anda sejurus selepas kelas. 292 00:12:52,420 --> 00:12:54,140 Mana-mana soalan-soalan lain? 293 00:12:54,140 --> 00:13:01,330 >> Jadi sekali lagi, barisan kotak-kotak, kerana kekurangan satu perkataan yang lebih baik, yang memegang pelbagai 294 00:13:01,330 --> 00:13:06,420 unsur-unsur satu jenis data, dan mereka sebelah satu sama lain dalam ingatan. 295 00:13:06,420 --> 00:13:11,370 Dan sekali lagi, ini adalah bagaimana anda boleh membuat dua jenis tatasusunan. 296 00:13:11,370 --> 00:13:15,090 >> Jadi, selepas anda telah membuat pelbagai anda dengan yang baris pertama - skor int, kurungan 297 00:13:15,090 --> 00:13:17,430 tiga, kurungan rapat - anda ingin memulakan ia. 298 00:13:17,430 --> 00:13:19,050 Anda ingin meletakkan beberapa nilai di sana. 299 00:13:19,050 --> 00:13:24,660 Dan ini adalah bagaimana anda meletakkan beberapa nilai-nilai dalam di sana, hanya memilih indice dan 300 00:13:24,660 --> 00:13:25,670 menulis nombor. 301 00:13:25,670 --> 00:13:27,130 Mari menarik ini di atas kapal. 302 00:13:27,130 --> 00:13:28,270 Semua orang boleh lihat? 303 00:13:28,270 --> 00:13:29,030 Semua orang boleh melihat. 304 00:13:29,030 --> 00:13:30,790 Manis. 305 00:13:30,790 --> 00:13:36,550 >> Supaya akan menjadi saya pelbagai dipanggil Markah. 306 00:13:36,550 --> 00:13:37,730 Seperti yang anda lihat, ia adalah saiz tiga. 307 00:13:37,730 --> 00:13:39,210 Terdapat tiga tempat di sana. 308 00:13:39,210 --> 00:13:43,120 Masing-masing boleh memuatkan apa jenis jenis data? 309 00:13:43,120 --> 00:13:43,790 >> PELAJAR: Integer. 310 00:13:43,790 --> 00:13:45,250 >> JASON Hirschhorn: integer Satu dalam satu ini. 311 00:13:45,250 --> 00:13:48,790 Kami menulis skor int, dan perkataan yang pertama adalah jenis data yang akan 312 00:13:48,790 --> 00:13:50,910 pergi di tempat dalam barisan itu. 313 00:13:50,910 --> 00:13:52,160 Jadi saya boleh memuatkan tiga. 314 00:13:52,160 --> 00:13:54,880 315 00:13:54,880 --> 00:13:57,000 Mengapa saya mempunyai sifar sehingga terdapat di atas kapal? 316 00:13:57,000 --> 00:13:59,240 Mengapa ia mengatakan sifar skor bersamaan 1? 317 00:13:59,240 --> 00:14:02,090 318 00:14:02,090 --> 00:14:03,180 Mengingatkan saya kepada nama anda. 319 00:14:03,180 --> 00:14:03,470 >> PELAJAR: Kurt. 320 00:14:03,470 --> 00:14:04,070 >> JASON Hirschhorn: Kurt. 321 00:14:04,070 --> 00:14:04,480 >> PELAJAR: Ya. 322 00:14:04,480 --> 00:14:04,920 >> JASON Hirschhorn: Kenapa? 323 00:14:04,920 --> 00:14:07,230 >> PELAJAR: Kerana indeks pertama adalah sifar, kita mula mengira pada sifar. 324 00:14:07,230 --> 00:14:08,480 >> JASON Hirschhorn: Jadi kita mula mengira pada sifar. 325 00:14:08,480 --> 00:14:09,580 Itulah yang betul. 326 00:14:09,580 --> 00:14:12,340 Ini adalah bahagian yang mengelirukan dan perjalanan kehendak anda sehingga, terutamanya apabila anda 327 00:14:12,340 --> 00:14:14,900 cuba untuk melelar melalui array, yang kita akan lakukan dalam sedikit. 328 00:14:14,900 --> 00:14:15,980 Kita mula mengira pada sifar. 329 00:14:15,980 --> 00:14:19,170 Jadi jika saya ingin merujuk kepada yang pertama kotak, ia bukan satu kotak. 330 00:14:19,170 --> 00:14:22,290 Malangnya, ia adalah kotak sifar. 331 00:14:22,290 --> 00:14:26,460 Yang kedua adalah kotak satu, dan dalam hal ini kes, yang ketiga ialah kotak dua. 332 00:14:26,460 --> 00:14:28,700 >> Bagaimana pula dengan kotak tiga? 333 00:14:28,700 --> 00:14:30,670 Dimana kotak tiga? 334 00:14:30,670 --> 00:14:34,750 Atau jika saya mahu lakukan skor, kurungan tiga, kurungan rapat, apa itu? 335 00:14:34,750 --> 00:14:37,650 336 00:14:37,650 --> 00:14:39,760 Jadi anda berkata watak null. 337 00:14:39,760 --> 00:14:41,600 Mana-mana pemikiran lain? 338 00:14:41,600 --> 00:14:44,590 Apakah golongan skor tiga kurungan? 339 00:14:44,590 --> 00:14:48,045 >> PELAJAR: Ia tidak benar-benar wujud kerana anda hanya ditakrifkan sebagai skor, 340 00:14:48,045 --> 00:14:49,370 kurungan tiga. 341 00:14:49,370 --> 00:14:51,400 >> JASON Hirschhorn: Jadi kamu berkata ia tidak benar-benar wujud. 342 00:14:51,400 --> 00:14:54,230 Dalam beberapa kes, apabila kita berurusan dengan tali, biasanya kita akan meletakkan batal yang 343 00:14:54,230 --> 00:14:54,790 watak di akhir. 344 00:14:54,790 --> 00:14:56,100 Kita akan sampai ke dalam kedua. 345 00:14:56,100 --> 00:15:01,020 Tetapi dalam kes ini, terdapat ada kotak ketiga di sini. 346 00:15:01,020 --> 00:15:06,390 Jadi kotak yang terakhir dalam mana-mana pelbagai saiz tolak 1. 347 00:15:06,390 --> 00:15:11,310 Jadi, jika kita mempunyai pelbagai n saiz, kotak pertama adalah pada sifar, yang terakhir adalah 348 00:15:11,310 --> 00:15:12,700 di n tolak 1. 349 00:15:12,700 --> 00:15:14,970 Dan dalam kes ini, ia tidak wujud. 350 00:15:14,970 --> 00:15:17,970 Ada sesuatu di sini memori, tetapi ia bukan milik kita. 351 00:15:17,970 --> 00:15:18,460 Kami tidak ia sendiri. 352 00:15:18,460 --> 00:15:19,570 Kami tidak meminta untuk itu. 353 00:15:19,570 --> 00:15:22,606 Jadi, jika kita cuba untuk mengakses ia, yang kita akan lakukan dalam sedikit, kita mungkin akan 354 00:15:22,606 --> 00:15:24,970 masuk ke dalam masalah. 355 00:15:24,970 --> 00:15:29,180 >> Dalam kes ini, saya Memulakan saya pelbagai dengan tiga pembolehubah. 356 00:15:29,180 --> 00:15:36,195 Kami meletakkan satu di dalam kotak kosong, dua di dalam kotak satu, dan tiga di dalam kotak dua. 357 00:15:36,195 --> 00:15:39,280 Adakah sesiapa mempunyai apa-apa soalan kira-kira Memulakan array? 358 00:15:39,280 --> 00:15:44,540 359 00:15:44,540 --> 00:15:46,970 >> Jadi kami pergi ke ini tadi. 360 00:15:46,970 --> 00:15:52,725 Markah, kurungan tiga, kurungan rapat, yang tidak wujud. 361 00:15:52,725 --> 00:15:58,130 Kami sifar diindeks dalam bidang sains komputer, jadi kita mula mengira pada sifar. 362 00:15:58,130 --> 00:16:01,860 Kotak terakhir yang ada kepada kami, ia adalah kotak ketiga, tetapi ia dipanggil kotak 363 00:16:01,860 --> 00:16:03,110 nombor dua. 364 00:16:03,110 --> 00:16:05,790 365 00:16:05,790 --> 00:16:09,710 >> Down di bawah, ini adalah alternatif cara Memulakan tatasusunan. 366 00:16:09,710 --> 00:16:13,410 Jadi, daripada mewujudkan pelbagai pada satu line, mengisi kotak yang pertama, kemudian 367 00:16:13,410 --> 00:16:17,070 kotak kedua, maka kotak ketiga, anda boleh melakukannya semua dalam satu baris. 368 00:16:17,070 --> 00:16:19,040 Jadi dalam talian itu, kedua-dua tatasusunan. 369 00:16:19,040 --> 00:16:23,460 Ini mewujudkan pelbagai yang sama seperti apa yang kita dicipta di sini, tetapi ia 370 00:16:23,460 --> 00:16:24,710 hanya tidak dalam satu baris. 371 00:16:24,710 --> 00:16:29,740 372 00:16:29,740 --> 00:16:31,360 >> Sekarang kita telah mencipta pelbagai kami. 373 00:16:31,360 --> 00:16:34,100 Biasanya apabila anda mewujudkan pelbagai, anda mahu melakukan sesuatu dengan itu, sama ada 374 00:16:34,100 --> 00:16:38,430 itu isi atau mendapatkan sesuatu daripada ia dan mencetak mereka keluar di skrin. 375 00:16:38,430 --> 00:16:42,270 Dalam kes ini, kita akan melalui kami skor array, yang kita dimulakan pada 376 00:16:42,270 --> 00:16:44,740 baris pertama di sini di kelabu. 377 00:16:44,740 --> 00:16:49,600 Dan kemudian pada baris kedua, kita mula iterating melalui array. 378 00:16:49,600 --> 00:16:52,640 Adakah sesiapa mempunyai sebarang soalan mengenai struktur untuk gelung? 379 00:16:52,640 --> 00:16:55,250 380 00:16:55,250 --> 00:16:56,400 >> Jadi ini adalah untuk gelung. 381 00:16:56,400 --> 00:16:59,530 Kami mempunyai keadaan awal, dan kemudian keadaan akhir kita, dan kemudian kita 382 00:16:59,530 --> 00:17:01,160 melelar, i, setiap gelung. 383 00:17:01,160 --> 00:17:05,579 Dan dalam pendakap kerinting di ini untuk gelung, apa yang berlaku jika saya menjalankan 384 00:17:05,579 --> 00:17:06,290 program ini? 385 00:17:06,290 --> 00:17:10,410 Bolehkah sesiapa beritahu saya apa yang kita akan dapat? 386 00:17:10,410 --> 00:17:11,589 [? Matu? ?] 387 00:17:11,589 --> 00:17:13,819 >> Matu: Cetak semua markah pada setiap baris. 388 00:17:13,819 --> 00:17:14,900 Ia akan mencetak setiap skor pada baris yang berasingan. 389 00:17:14,900 --> 00:17:16,300 >> JASON Hirschhorn: Apa sebenarnya ia akan mencetak? 390 00:17:16,300 --> 00:17:19,790 >> PELAJAR: Ia akan mencetak satu, kemudian dua, kemudian tiga. 391 00:17:19,790 --> 00:17:20,235 >> JASON Hirschhorn: Tepat sekali. 392 00:17:20,235 --> 00:17:23,490 Ia akan mencetak satu, kemudian dua, maka tiga, masing-masing pada baris yang berasingan, kerana 393 00:17:23,490 --> 00:17:27,810 kita akan melalui pelbagai dan anda akan melihat bahawa kedua, printf 394 00:17:27,810 --> 00:17:29,275 pernyataan, skor i. 395 00:17:29,275 --> 00:17:32,880 Jadi pada pusingan pertama melalui kami untuk gelung, i sama dengan sifar, yang bererti kita 396 00:17:32,880 --> 00:17:34,640 mendapat nilai pada nilai sifar - 397 00:17:34,640 --> 00:17:36,900 yang, jika kita kembali kepada Rajah kami, adalah satu - 398 00:17:36,900 --> 00:17:38,630 dan mengisi - 399 00:17:38,630 --> 00:17:39,700 oh, ia mengatakan c. 400 00:17:39,700 --> 00:17:41,680 Yang harus% d. 401 00:17:41,680 --> 00:17:43,970 Saya akan menetapkan bahawa dalam sedikit apabila Tangan yang saya kepada anda semua. 402 00:17:43,970 --> 00:17:48,670 Tetapi kita menyampaikan integer supaya ia harus% d di sini, tidak% c. 403 00:17:48,670 --> 00:17:50,340 Apakah% c untuk? 404 00:17:50,340 --> 00:17:50,790 >> PELAJAR: Watak. 405 00:17:50,790 --> 00:17:52,680 >> JASON Hirschhorn: Watak, betul-betul. 406 00:17:52,680 --> 00:17:53,690 Apa yang lain? 407 00:17:53,690 --> 00:17:56,260 Jika anda tidak mahu lakukan% d bagi integer, apa lagi yang boleh anda lakukan? 408 00:17:56,260 --> 00:17:57,000 >> PELAJAR: i. 409 00:17:57,000 --> 00:17:59,180 >> JASON Hirschhorn:% i, betul-betul. 410 00:17:59,180 --> 00:18:01,660 Jadi apa-apa soalan mengenai iterating melalui pelbagai? 411 00:18:01,660 --> 00:18:05,500 412 00:18:05,500 --> 00:18:07,800 Jadi apa yang berlaku jika kita melakukan ini? 413 00:18:07,800 --> 00:18:10,290 Daripada melakukan i adalah kurang daripada tiga, kita i adalah kurang 414 00:18:10,290 --> 00:18:11,390 daripada atau sama dengan tiga. 415 00:18:11,390 --> 00:18:13,420 Apa yang berlaku apabila kita menjalankan kod ini? 416 00:18:13,420 --> 00:18:17,510 417 00:18:17,510 --> 00:18:18,940 Ya, Annie? 418 00:18:18,940 --> 00:18:22,030 >> PELAJAR: Mereka akan mencetak barangan pelik pada baris keempat. 419 00:18:22,030 --> 00:18:23,850 >> JASON Hirschhorn: Jadi anda berkata, ia akan mencetak keluar barangan pelik pada 420 00:18:23,850 --> 00:18:24,390 line keempat? 421 00:18:24,390 --> 00:18:25,750 Adakah sesiapa mempunyai jawapan kepada soalan itu? 422 00:18:25,750 --> 00:18:28,940 423 00:18:28,940 --> 00:18:33,160 Oleh itu, kemungkinan adalah bahawa apabila kita sampai ke - 424 00:18:33,160 --> 00:18:36,700 sebagainya pusingan keempat melalui untuk kami gelung, seperti yang anda sangka, Annie, 425 00:18:36,700 --> 00:18:39,430 ia akan menjadi skor kurungan tiga, yang kita sudah digambarkan tidak 426 00:18:39,430 --> 00:18:41,990 wujud, dan kami akan cuba dan mengakses itu, mencetak 427 00:18:41,990 --> 00:18:43,350 keluar, gunakan beberapa cara. 428 00:18:43,350 --> 00:18:46,060 Jadi komputer akan mungkin marah pada kita. 429 00:18:46,060 --> 00:18:46,760 Anda betul-betul betul. 430 00:18:46,760 --> 00:18:48,830 >> Ia mungkin berhenti program ini sama sekali. 431 00:18:48,830 --> 00:18:52,222 Ia mungkin mencetak sesuatu benar-benar pelik. 432 00:18:52,222 --> 00:18:53,420 Anda tidak boleh mengatakan dengan pasti. 433 00:18:53,420 --> 00:18:56,210 Kemungkinan ia mungkin akan marah pada anda dan hanya berhenti segera. 434 00:18:56,210 --> 00:19:00,100 >> Tetapi ini adalah satu kesilapan yang sama anda akan mempunyai di mana anda hanya dikeluarkan oleh satu pada 435 00:19:00,100 --> 00:19:05,110 Akhirnya, dan ini adalah bug yang akan tulah anda sepanjang kod anda. 436 00:19:05,110 --> 00:19:09,350 437 00:19:09,350 --> 00:19:14,150 Salah satu cara yang saya suka lakukan adalah hanya pada papan putih, melalui setiap lelaran 438 00:19:14,150 --> 00:19:18,190 gelung di tangan atau di atas kertas untuk melihat apa yang berlaku, dan kemudian anda 439 00:19:18,190 --> 00:19:20,440 umumnya sedar, oh tunggu, saya tidak perlu telah pergi ke kurang daripada atau 440 00:19:20,440 --> 00:19:20,870 sama dengan tiga. 441 00:19:20,870 --> 00:19:24,730 Saya sepatutnya berhenti di dua, iaitu apa yang berlaku jika keadaan anda adalah kurang 442 00:19:24,730 --> 00:19:26,206 daripada tiga. 443 00:19:26,206 --> 00:19:29,120 Sebarang pertanyaan setakat ini? 444 00:19:29,120 --> 00:19:31,010 Manis. 445 00:19:31,010 --> 00:19:33,360 >> Jadi, anda semua mempunyai komputer anda terbuka. 446 00:19:33,360 --> 00:19:36,760 Kami akan memberi anda 2-3 minit untuk menulis program yang 447 00:19:36,760 --> 00:19:40,460 mencipta array dengan satu integer melalui lima dan kemudian mencetak keluar setiap 448 00:19:40,460 --> 00:19:41,720 integer pada garis baru. 449 00:19:41,720 --> 00:19:44,330 450 00:19:44,330 --> 00:19:46,000 Dan jika anda mempunyai sebarang pertanyaan, mengangkat tangan anda. 451 00:19:46,000 --> 00:19:48,140 Saya gembira untuk datang oleh. 452 00:19:48,140 --> 00:19:50,630 Seperti saya katakan, mari kita mengambil masa tiga minit untuk menulis ini. 453 00:19:50,630 --> 00:20:41,300 454 00:20:41,300 --> 00:20:45,110 Adakah semua orang OK jika saya pergi ke tetingkap baru dan menutup ini? 455 00:20:45,110 --> 00:22:13,420 456 00:22:13,420 --> 00:22:15,520 >> Saya minta maaf jika anda tidak mempunyai peluang hingga ke akhir, tetapi kami akan melakukannya 457 00:22:15,520 --> 00:22:17,310 bersama-sama sekarang. 458 00:22:17,310 --> 00:22:23,640 Jadi di skrin, saya telah # include cs50.h, # termasuk stdio.h. 459 00:22:23,640 --> 00:22:26,090 Bolehkah seseorang beritahu saya apa kedua-dua garis lakukan? 460 00:22:26,090 --> 00:22:32,250 461 00:22:32,250 --> 00:22:33,155 Michael? 462 00:22:33,155 --> 00:22:40,030 >> PELAJAR: Mereka termasuk perpustakaan CS50 yang dibuat dan bahawa Steve mempunyai 463 00:22:40,030 --> 00:22:44,210 disimpan untuk anda gunakan untuk menjadikan kehidupan anda lebih mudah. 464 00:22:44,210 --> 00:22:46,820 >> JASON Hirschhorn: Jadi anda kata mereka termasuk perpustakaan, salah satu yang CS50 465 00:22:46,820 --> 00:22:51,230 dibuat, cs50.h, dan salah satu yang hanya standard, dilengkapi dengan 466 00:22:51,230 --> 00:22:53,510 pakej C, stdio.h. 467 00:22:53,510 --> 00:22:54,890 Apa yang kamu maksudkan termasuk perpustakaan, walaupun? 468 00:22:54,890 --> 00:22:55,770 Bolehkah anda menjadi sedikit lebih spesifik? 469 00:22:55,770 --> 00:23:01,180 >> PELAJAR: Ia menjadikan ia supaya anda boleh menggunakan perkataan kod tertentu mempunyai 470 00:23:01,180 --> 00:23:05,710 berfungsi berlaku tanpa perlu pergi dan membuat fungsi c sendiri. 471 00:23:05,710 --> 00:23:08,730 >> JASON Hirschhorn: Bolehkah anda beri saya contoh? 472 00:23:08,730 --> 00:23:11,160 >> PELAJAR: Seperti printf adalah salah satu anda boleh gunakan. 473 00:23:11,160 --> 00:23:11,860 >> JASON Hirschhorn: printf. 474 00:23:11,860 --> 00:23:14,680 Jadi anda berkata printf adalah salah satu fungsi di mana bukannya untuk 475 00:23:14,680 --> 00:23:19,840 menulis printf sendiri, printf adalah dimasukkan sebenarnya stdio.h, jadi anda 476 00:23:19,840 --> 00:23:22,010 hanya boleh menggunakannya dan menganggap bahawa ia akan berfungsi. 477 00:23:22,010 --> 00:23:28,270 Dalam stdio.h, jika anda membuka fail itu, ia akan termasuk bagaimana printf 478 00:23:28,270 --> 00:23:31,620 kerja-kerja, semua kod untuk printf? 479 00:23:31,620 --> 00:23:33,105 Mengapa anda menggelengkan kepala anda? 480 00:23:33,105 --> 00:23:35,710 >> PELAJAR: Kerana fail pengepala hanya termasuk akuan fungsi. 481 00:23:35,710 --> 00:23:36,400 >> JASON Hirschhorn: Tepat betul. 482 00:23:36,400 --> 00:23:39,680 Fail header hanya termasuk pengisytiharan fungsi. 483 00:23:39,680 --> 00:23:42,950 Jadi, pada asasnya, apabila anda mengumpul ini, memukul Buat Count, yang kita akan lakukan dalam 484 00:23:42,950 --> 00:23:48,070 kedua, pengkompil tahu bahawa jika anda menggunakan printf, printf wujud. 485 00:23:48,070 --> 00:23:49,370 Ia akan ditakrifkan tempat. 486 00:23:49,370 --> 00:23:51,200 Ia bukan satu masalah untuk anda menggunakannya. 487 00:23:51,200 --> 00:23:55,490 Dan kemudian, ia akan termasuk orang-orang dan sifar yang benar-benar mengandungi 488 00:23:55,490 --> 00:23:58,360 printf pelaksanaan dan menggabungkan mereka dengan kod anda. 489 00:23:58,360 --> 00:24:01,935 Bagaimana anda memastikan ia termasuk orang-orang dan sifar untuk, katakan, dapatkan tali? 490 00:24:01,935 --> 00:24:05,670 491 00:24:05,670 --> 00:24:07,210 >> PELAJAR: Dapatkan tali dalam cs50.h. 492 00:24:07,210 --> 00:24:07,830 >> JASON Hirschhorn: Betul. 493 00:24:07,830 --> 00:24:11,110 Jadi yang mengatakan mendapatkan rentetan wujud, pengisytiharan fungsi. 494 00:24:11,110 --> 00:24:15,410 Tetapi orang-orang dan sifar, binari fail yang sebenarnya termasuk 495 00:24:15,410 --> 00:24:17,370 pelaksanaan tali get? 496 00:24:17,370 --> 00:24:19,310 Bagaimana anda memastikan bahawa pergi dengan program anda? 497 00:24:19,310 --> 00:24:23,220 >> PELAJAR: Pas pemaut dalam garis hujah perintah. 498 00:24:23,220 --> 00:24:25,430 >> JASON Hirschhorn: Lulus pemaut dalam hujah baris arahan. 499 00:24:25,430 --> 00:24:26,700 Bagaimana anda berbuat demikian? 500 00:24:26,700 --> 00:24:29,730 >> PELAJAR: Ia-l garis di dilafaz yang 501 00:24:29,730 --> 00:24:30,480 >> JASON Hirschhorn: Tepat betul. 502 00:24:30,480 --> 00:24:32,900 Anda berkata-l cs50, bukan? 503 00:24:32,900 --> 00:24:34,940 Ini termasuk orang-orang yang dan sifar. 504 00:24:34,940 --> 00:24:36,460 >> PELAJAR: Buat Tetapi tidak untuk anda, bukan? 505 00:24:36,460 --> 00:24:37,010 >> JASON Hirschhorn: Tepat sekali. 506 00:24:37,010 --> 00:24:40,390 Buat adakah itu untuk anda, tetapi akhirnya, anda tidak akan Buat, atau 507 00:24:40,390 --> 00:24:43,220 anda akan mempunyai untuk membuat Buat sendiri, maka itulah 508 00:24:43,220 --> 00:24:43,940 perkara yang baik untuk diingati. 509 00:24:43,940 --> 00:24:47,350 Jika anda akan menggunakan salah satu daripada perpustakaan lain, bukan sahaja yang anda perlu 510 00:24:47,350 --> 00:24:49,490 untuk menulis # termasuk dan maka perpustakaan. 511 00:24:49,490 --> 00:24:51,420 Anda juga perlu untuk menghubungkan ia masuk 512 00:24:51,420 --> 00:24:54,480 Dan kedua-dua perkara yang berbeza. -L cs50 adalah berbeza 513 00:24:54,480 --> 00:24:59,260 daripada # include cs50.h. 514 00:24:59,260 --> 00:25:02,870 >> Kemudian kita mempunyai int sah utama kerinting pendakap, dan sekarang kita akan kod 515 00:25:02,870 --> 00:25:03,590 dalam utama. 516 00:25:03,590 --> 00:25:07,090 Barisan pertama saya ada di sini adalah komen yang mengatakan, mencipta array 517 00:25:07,090 --> 00:25:08,820 dengan Ints satu melalui lima. 518 00:25:08,820 --> 00:25:12,600 Apakah perkataan yang baik untuk menggambarkan apa yang saya ada sekarang pada skrin, hanya 519 00:25:12,600 --> 00:25:14,170 komen dalam utama? 520 00:25:14,170 --> 00:25:15,722 Apa yang kita panggil yang? 521 00:25:15,722 --> 00:25:16,820 >> PELAJAR: pseudokod. 522 00:25:16,820 --> 00:25:17,840 >> JASON Hirschhorn: pseudokod. 523 00:25:17,840 --> 00:25:18,420 Terima kasih, Jeffrey. 524 00:25:18,420 --> 00:25:19,540 Yang betul-betul betul. 525 00:25:19,540 --> 00:25:20,005 Kod pseudo. 526 00:25:20,005 --> 00:25:22,854 Adakah anda lelaki dilihat pseudokod sebelum ini? 527 00:25:22,854 --> 00:25:28,340 Mengangkat tangan anda jika anda telah digunakan pseudokod sebelum masalah menetapkan satu. 528 00:25:28,340 --> 00:25:29,400 Kira-kira separuh daripada anda. 529 00:25:29,400 --> 00:25:32,700 >> Saya sangat akan mengesyorkan menggunakan pseudokod untuk memecahkan masalah kepada 530 00:25:32,700 --> 00:25:35,210 yang lebih kecil, lebih mudah untuk menggigit keping. 531 00:25:35,210 --> 00:25:38,630 Juga, jika anda lakukan pseudokod, anda mempunyai komen anda sudah sebahagian besarnya 532 00:25:38,630 --> 00:25:40,760 terbina dalam, jadi anda tidak perlu kembali dan cuba untuk memikirkan 533 00:25:40,760 --> 00:25:42,450 apa yang anda lakukan. 534 00:25:42,450 --> 00:25:44,730 Jadi seseorang boleh memberi saya baris pertama ini untuk mewujudkan pelbagai dengan Ints satu 535 00:25:44,730 --> 00:25:45,980 melalui lima? 536 00:25:45,980 --> 00:25:48,700 537 00:25:48,700 --> 00:25:49,130 Anda? 538 00:25:49,130 --> 00:25:53,350 >> PELAJAR: Int dan kemudian anda boleh menghubungi apa nombor, dan kemudian persegi 539 00:25:53,350 --> 00:25:54,830 kurungan lima. 540 00:25:54,830 --> 00:25:57,820 >> JASON Hirschhorn: Nombor Jadi int, kurungan persegi lima. 541 00:25:57,820 --> 00:25:59,160 >> PELAJAR: Sama, dan maka pendakap kerinting. 542 00:25:59,160 --> 00:26:00,830 >> JASON Hirschhorn: Sama, pendakap kerinting. 543 00:26:00,830 --> 00:26:01,830 >> PELAJAR: Satu, dua, tiga, empat. 544 00:26:01,830 --> 00:26:05,566 >> JASON Hirschhorn: Satu, dua, tiga, empat, lima. 545 00:26:05,566 --> 00:26:07,390 >> PELAJAR: Dan kemudian pendakap kerinting dan kemudian koma bertitik. 546 00:26:07,390 --> 00:26:09,240 >> JASON Hirschhorn: Dan kerinting penyokong dan koma. 547 00:26:09,240 --> 00:26:10,330 Excellent. 548 00:26:10,330 --> 00:26:12,210 Cetak setiap int pada baris baru. 549 00:26:12,210 --> 00:26:17,140 Bolehkah orang lain memberi kod yang saya, please? 550 00:26:17,140 --> 00:26:17,530 [? Matu? ?] 551 00:26:17,530 --> 00:26:18,560 Teruskan. 552 00:26:18,560 --> 00:26:20,440 >> PELAJAR: Untuk ( 553 00:26:20,440 --> 00:26:21,750 >> JASON Hirschhorn: Untuk ( 554 00:26:21,750 --> 00:26:23,740 >> PELAJAR: Int i = 0 555 00:26:23,740 --> 00:26:26,070 >> JASON Hirschhorn: Int i = 0 556 00:26:26,070 --> 00:26:28,190 >> PELAJAR: Koma bertitik i kurang daripada lima. 557 00:26:28,190 --> 00:26:31,680 >> JASON Hirschhorn: Koma bertitik, i kurang daripada 5. 558 00:26:31,680 --> 00:26:33,600 >> PELAJAR: Koma bertitik, i + +. 559 00:26:33,600 --> 00:26:35,140 >> JASON Hirschhorn: Koma bertitik, i + +. 560 00:26:35,140 --> 00:26:37,720 >> PELAJAR: kurungan tertutup, kemudian bersedia terbuka. 561 00:26:37,720 --> 00:26:39,410 >> JASON Hirschhorn: kurungan tertutup dan dua penyokong gigi. 562 00:26:39,410 --> 00:26:40,510 Di dalam penyokong gigi? 563 00:26:40,510 --> 00:26:47,640 >> PELAJAR: Dan kemudian printf "% d / n" 564 00:26:47,640 --> 00:26:48,695 >> JASON Hirschhorn: Maaf, memegang. 565 00:26:48,695 --> 00:26:52,330 Printf "% d / n, quote tertutup. 566 00:26:52,330 --> 00:26:55,980 >> PELAJAR: Dan kemudian quote tertutup, koma, mengira, golongan i. 567 00:26:55,980 --> 00:26:58,350 >> JASON Hirschhorn: Comma, mengira, golongan i. 568 00:26:58,350 --> 00:26:59,970 >> PELAJAR: Maaf, nombor kurungan i. 569 00:26:59,970 --> 00:27:01,416 >> JASON Hirschhorn: Nombor, golongan i. 570 00:27:01,416 --> 00:27:03,200 >> PELAJAR: Maaf. 571 00:27:03,200 --> 00:27:04,750 Dan kemudian ditutup kurungan, koma bertitik. 572 00:27:04,750 --> 00:27:07,156 >> JASON Hirschhorn: Tutup kurungan, koma bertitik. 573 00:27:07,156 --> 00:27:08,680 Saya akan menyimpan itu. 574 00:27:08,680 --> 00:27:12,670 Kami akan membuat kiraan. 575 00:27:12,670 --> 00:27:14,742 Dan bagaimana saya menjalankan kiraan? 576 00:27:14,742 --> 00:27:16,470 >> PELAJAR: garis sendeng terbalik. 577 00:27:16,470 --> 00:27:17,180 >> PELAJAR: Dot italik - 578 00:27:17,180 --> 00:27:18,050 >> JASON Hirschhorn:. / Mengira, betul-betul. 579 00:27:18,050 --> 00:27:19,380 Terima kasih. . / Mengira. 580 00:27:19,380 --> 00:27:21,060 Satu, dua, tiga, empat, lima di baris baru. 581 00:27:21,060 --> 00:27:22,110 Kelihatan seperti ia bekerja. 582 00:27:22,110 --> 00:27:23,200 Ya, Nuh? 583 00:27:23,200 --> 00:27:26,660 >> PELAJAR: Anda juga boleh melakukan kurang daripada atau sama dengan empat, seperti i adalah kurang daripada 584 00:27:26,660 --> 00:27:27,630 atau sama dengan empat? 585 00:27:27,630 --> 00:27:31,190 Adakah terdapat apa-apa kelebihan untuk melakukan kurang daripada lima, atau hanya cara yang berbeza 586 00:27:31,190 --> 00:27:31,610 menulis? 587 00:27:31,610 --> 00:27:35,280 >> JASON Hirschhorn: Jadi persoalannya ialah anda boleh buat i adalah kurang daripada atau 588 00:27:35,280 --> 00:27:37,450 sama dengan empat daripada i adalah kurang daripada lima. 589 00:27:37,450 --> 00:27:38,935 Adakah yang telah bekerja sama? 590 00:27:38,935 --> 00:27:39,760 >> PELAJAR: Ia sepatutnya. 591 00:27:39,760 --> 00:27:39,860 >> JASON Hirschhorn: Ya. 592 00:27:39,860 --> 00:27:41,660 Ia benar-benar akan bekerja yang sama. 593 00:27:41,660 --> 00:27:44,780 Stylistically, ia biasanya kurang daripada, dan anda akan melihat dalam kedua apabila 594 00:27:44,780 --> 00:27:48,160 kita tali, anda boleh menggunakan sesuatu dipanggil strlen, yang anda lihat 595 00:27:48,160 --> 00:27:50,380 sebelum ini, untuk mendapatkan panjang tali. 596 00:27:50,380 --> 00:27:54,090 Dan anda tidak boleh berbuat kurang daripada atau sama strlen. 597 00:27:54,090 --> 00:27:56,500 Anda boleh melakukan kurang daripada atau sama strlen tolak satu. 598 00:27:56,500 --> 00:27:59,260 Jadi ia hanya bagus untuk melakukan kurang daripada strlen. 599 00:27:59,260 --> 00:28:00,240 Ya? 600 00:28:00,240 --> 00:28:03,270 >> PELAJAR: Dan dalam sebenar kuiz, melakukan kita perlu memberi komen pada kami 601 00:28:03,270 --> 00:28:04,620 kod juga? 602 00:28:04,620 --> 00:28:06,130 >> JASON Hirschhorn: Soalan ini telah dalam kuiz, adakah anda 603 00:28:06,130 --> 00:28:07,760 perlu memberi komen? 604 00:28:07,760 --> 00:28:12,050 Jadi kita akan bercakap lebih lanjut mengenai kuiz apabila mereka datang, tetapi secara umumnya, yang baik 605 00:28:12,050 --> 00:28:14,530 kemestian adalah apabila anda menulis kod, memberi komen. 606 00:28:14,530 --> 00:28:18,130 Jika anda mendapat kod yang salah tetapi mengulas betul, anda mungkin akan mendapat beberapa 607 00:28:18,130 --> 00:28:22,280 kredit kedua-duanya dari saya jika saya penggredan anda pada set masalah atau kuiz. 608 00:28:22,280 --> 00:28:24,660 Jadi komen sentiasa baik untuk menyediakan. 609 00:28:24,660 --> 00:28:25,040 Manis. 610 00:28:25,040 --> 00:28:25,460 Mengira. 611 00:28:25,460 --> 00:28:26,720 Kerja yang cemerlang. 612 00:28:26,720 --> 00:28:28,570 Mari kita bergerak ke atas. 613 00:28:28,570 --> 00:28:29,920 >> Tali. 614 00:28:29,920 --> 00:28:30,630 Tali. 615 00:28:30,630 --> 00:28:31,730 Kami telah melihat sebelum ini dalam kuliah. 616 00:28:31,730 --> 00:28:33,390 Ini meniup fikiran saya apabila saya pertama mendapati ini. 617 00:28:33,390 --> 00:28:37,240 Ia mungkin tidak meniup sesiapa fikiran di sini, tetapi itulah OK. 618 00:28:37,240 --> 00:28:41,260 >> Rentetan adalah barisan watak-watak, dan mereka berakhir dengan, seperti yang anda katakan tadi, 619 00:28:41,260 --> 00:28:45,710 terminator yang batal, yang adalah watak / 0 ini. 620 00:28:45,710 --> 00:28:47,740 Jika kita akan menarik tali pada lembaga, kami akan menarik ia di sini. 621 00:28:47,740 --> 00:28:53,080 622 00:28:53,080 --> 00:28:56,420 Jadi berapa lama adalah rentetan ini? 623 00:28:56,420 --> 00:28:56,680 Maaf. 624 00:28:56,680 --> 00:28:57,660 Berapa lama tali ini? 625 00:28:57,660 --> 00:28:57,910 >> PELAJAR: [didengar]. 626 00:28:57,910 --> 00:28:59,010 >> JASON Hirschhorn: Empat? 627 00:28:59,010 --> 00:28:59,880 Mengapa ia empat? 628 00:28:59,880 --> 00:29:02,240 >> PELAJAR: Kerana tempat kelima adalah untuk watak null. 629 00:29:02,240 --> 00:29:04,070 >> JASON Hirschhorn: Jadi tempat kelima adalah untuk watak null. 630 00:29:04,070 --> 00:29:07,130 Jadi jika saya berjalan di strlen ini, ia akan memberi saya empat. 631 00:29:07,130 --> 00:29:07,850 Betul. 632 00:29:07,850 --> 00:29:11,640 Dan mudah, walaupun, jika saya memulakan pelbagai ini, berapa banyak ruang 633 00:29:11,640 --> 00:29:13,444 saya perlu meminta? 634 00:29:13,444 --> 00:29:13,821 >> PELAJAR: Five. 635 00:29:13,821 --> 00:29:14,200 >> JASON Hirschhorn: Lima. 636 00:29:14,200 --> 00:29:17,650 Saya akan mempunyai untuk meminta lima, tetapi saya boleh hanya meletakkan empat watak di sini 637 00:29:17,650 --> 00:29:19,750 kerana saya perlu meletakkan nol bahawa terminator pada akhir. 638 00:29:19,750 --> 00:29:25,260 Jadi, kita akan menulis dalam "ohai" dan meletakkan null dalam pada akhir. 639 00:29:25,260 --> 00:29:31,820 640 00:29:31,820 --> 00:29:34,940 Kami akan mengatakan ini adalah rentetan s sama ini. 641 00:29:34,940 --> 00:29:36,610 Apakah s kurungan sifar? 642 00:29:36,610 --> 00:29:40,210 643 00:29:40,210 --> 00:29:41,550 s kurungan sifar, Annie? 644 00:29:41,550 --> 00:29:41,950 >> PELAJAR: O. 645 00:29:41,950 --> 00:29:45,400 >> JASON Hirschhorn: O, betul-betul. s kurungan satu? 646 00:29:45,400 --> 00:29:48,200 s kurungan lima? 647 00:29:48,200 --> 00:29:52,670 648 00:29:52,670 --> 00:29:53,955 s kurungan lima? 649 00:29:53,955 --> 00:29:54,740 >> PELAJAR: Adakah tidak wujud. 650 00:29:54,740 --> 00:29:55,040 >> JASON Hirschhorn: Adakah tidak wujud. 651 00:29:55,040 --> 00:29:57,050 Tepat betul. 652 00:29:57,050 --> 00:29:57,940 Sejuk. 653 00:29:57,940 --> 00:30:03,120 Mana-mana soalan mengenai pemahaman tali sebagai barisan watak-watak? 654 00:30:03,120 --> 00:30:03,870 OK, kemudian. 655 00:30:03,870 --> 00:30:05,440 Salah satu program yang lebih untuk anda semua. 656 00:30:05,440 --> 00:30:09,190 Tulis satu program yang meminta pengguna untuk tali kemudian mencetak keluar setiap 657 00:30:09,190 --> 00:30:11,880 watak pada baris baru. 658 00:30:11,880 --> 00:30:14,160 Jadi mari kita mengambil masa tiga minit untuk menulis program ini, dan kemudian kita akan kod itu 659 00:30:14,160 --> 00:30:15,410 sebagai satu kumpulan. 660 00:30:15,410 --> 00:31:04,730 661 00:31:04,730 --> 00:31:04,830 >> Maaf. 662 00:31:04,830 --> 00:31:06,470 Adakah anda perlu melihat ini? 663 00:31:06,470 --> 00:31:07,410 >> PELAJAR: No 664 00:31:07,410 --> 00:31:08,660 >> JASON Hirschhorn: OK. 665 00:31:08,660 --> 00:31:36,390 666 00:31:36,390 --> 00:31:40,605 Mari kita mengambil satu minit lebih kepada kod ini, atau sekurang-kurangnya bermula di atasnya. 667 00:31:40,605 --> 00:32:13,900 668 00:32:13,900 --> 00:32:17,020 >> Jadi, anda boleh terus bekerja, tetapi saya akan untuk memulakan akan melaluinya. 669 00:32:17,020 --> 00:32:22,560 Jadi seperti sebelum ini, saya mempunyai pada skrin # Include cs50.h, # termasuk stdio.h. 670 00:32:22,560 --> 00:32:24,020 int sah utama. 671 00:32:24,020 --> 00:32:28,880 Di dalam pendakap utama yang kerinting, saya mempunyai dua komen, kod pseudo. 672 00:32:28,880 --> 00:32:30,980 Satu adalah meminta rentetan daripada pengguna. 673 00:32:30,980 --> 00:32:33,900 Yang kedua ialah mencetak setiap watak pada baris baru. 674 00:32:33,900 --> 00:32:39,780 Jadi Anna, anda boleh memberi saya tanya untuk rentetan dari pengguna? 675 00:32:39,780 --> 00:32:41,970 >> PELAJAR: printf. 676 00:32:41,970 --> 00:32:42,720 >> JASON Hirschhorn: printf? 677 00:32:42,720 --> 00:32:45,050 >> PELAJAR: Ya. 678 00:32:45,050 --> 00:32:46,165 ( 679 00:32:46,165 --> 00:32:47,610 >> JASON Hirschhorn: ( 680 00:32:47,610 --> 00:32:49,300 >> PELAJAR: "memberi saya rentetan. 681 00:32:49,300 --> 00:32:52,380 >> JASON Hirschhorn: "memberi saya str - oops - 682 00:32:52,380 --> 00:32:53,710 tali. 683 00:32:53,710 --> 00:32:59,980 >> PELAJAR: / n ") dengan koma bertitik. 684 00:32:59,980 --> 00:33:02,300 >> JASON Hirschhorn: Akhir tali, kurungan tertutup, koma bertitik. 685 00:33:02,300 --> 00:33:03,550 >> PELAJAR: Ya. 686 00:33:03,550 --> 00:33:09,080 Dan kemudian garis depan, tali s = mendapatkan tali. 687 00:33:09,080 --> 00:33:11,240 >> JASON Hirschhorn: String s = mendapatkan tali. 688 00:33:11,240 --> 00:33:11,665 >> PELAJAR: Ya. 689 00:33:11,665 --> 00:33:13,080 Dan kemudian () 690 00:33:13,080 --> 00:33:14,365 >> JASON Hirschhorn: () 691 00:33:14,365 --> 00:33:14,720 >> PELAJAR: Koma bertitik. 692 00:33:14,720 --> 00:33:15,540 >> JASON Hirschhorn: Koma bertitik. 693 00:33:15,540 --> 00:33:16,890 Hebat. 694 00:33:16,890 --> 00:33:19,000 Jadi, saya akan mendapat tali dan Saya akan simpan dalam apa? 695 00:33:19,000 --> 00:33:21,830 Apa yang berubah-ubah yang dipanggil yang anda buat? 696 00:33:21,830 --> 00:33:23,290 >> PELAJAR: String s. 697 00:33:23,290 --> 00:33:24,580 >> JASON Hirschhorn: ubah ini adalah dipanggil s. 698 00:33:24,580 --> 00:33:25,700 Ia adalah rentetan jenis. 699 00:33:25,700 --> 00:33:27,200 Tepat sekali. 700 00:33:27,200 --> 00:33:30,080 Perkara seterusnya yang kita mahu adalah mencetak setiap watak pada baris baru. 701 00:33:30,080 --> 00:33:31,710 Siapa yang boleh memberi saya kod itu? 702 00:33:31,710 --> 00:33:32,110 [Didengar] 703 00:33:32,110 --> 00:33:33,000 Bolehkah anda berikan kepada saya? 704 00:33:33,000 --> 00:33:33,580 >> PELAJAR: Pasti. 705 00:33:33,580 --> 00:33:35,420 >> JASON Hirschhorn: Mari kita melakukannya. 706 00:33:35,420 --> 00:33:36,080 Dan maaf. 707 00:33:36,080 --> 00:33:38,896 Saya tidak suka untuk mengulangi apa yang kamu katakan kerana anda mendapat dengan betul, tetapi saya 708 00:33:38,896 --> 00:33:42,100 perlu mengulangi supaya apabila mereka menyalin ini, mereka boleh mendapatkan semua 709 00:33:42,100 --> 00:33:44,870 keluar teks pada transkripsi. 710 00:33:44,870 --> 00:33:47,180 Jadi, anda hanya boleh terus bercakap. 711 00:33:47,180 --> 00:33:48,590 Malangnya, saya mempunyai untuk mengatakan ia ke atas kamu. 712 00:33:48,590 --> 00:33:49,510 Saya minta maaf, tetapi - 713 00:33:49,510 --> 00:33:50,610 >> PELAJAR: Itu denda. 714 00:33:50,610 --> 00:33:53,010 Untuk int i = 0 715 00:33:53,010 --> 00:33:54,170 >> JASON Hirschhorn: Untuk int i = 0 716 00:33:54,170 --> 00:33:56,740 >> PELAJAR: Saya kurang daripada - 717 00:33:56,740 --> 00:33:58,206 >> JASON Hirschhorn: Koma bertitik. 718 00:33:58,206 --> 00:34:00,650 >> PELAJAR: Sebelum ini, kita boleh meletakkan berubah-ubah supaya anda mendapat nama int panjang? 719 00:34:00,650 --> 00:34:01,870 >> JASON Hirschhorn: Oh, anda tidak perlu mahu meletakkan koma? 720 00:34:01,870 --> 00:34:02,310 OK. 721 00:34:02,310 --> 00:34:05,120 Jadi, apa yang anda mahu lakukan selepas sifar? 722 00:34:05,120 --> 00:34:09,340 >> PELAJAR: Saya ingin mendapatkan panjang rentetan s dan 723 00:34:09,340 --> 00:34:10,410 menetapkan bahawa untuk pembolehubah? 724 00:34:10,410 --> 00:34:11,760 >> JASON Hirschhorn: OK, jadi bagaimana saya melakukannya? 725 00:34:11,760 --> 00:34:17,636 >> PELAJAR: Jadi anda lakukan panjang int = 726 00:34:17,636 --> 00:34:20,010 >> JASON Hirschhorn: Int panjang = 727 00:34:20,010 --> 00:34:22,230 >> PELAJAR: S-T-R-L-E-N. 728 00:34:22,230 --> 00:34:24,260 >> JASON Hirschhorn: S-T-R-L-E-N - 729 00:34:24,260 --> 00:34:25,380 >> PELAJAR: Daripada s. 730 00:34:25,380 --> 00:34:25,790 Kurungan. 731 00:34:25,790 --> 00:34:27,920 >> JASON Hirschhorn: (s). 732 00:34:27,920 --> 00:34:33,040 >> PELAJAR: Dan kemudian saya fikir anda perlu meletakkan koma antara kedua-dua Ints. 733 00:34:33,040 --> 00:34:34,590 >> JASON Hirschhorn: koma bertitik A selepas sifar? 734 00:34:34,590 --> 00:34:35,260 >> PELAJAR: Ya. 735 00:34:35,260 --> 00:34:40,670 Kemudian letakkan koma bertitik selepas itu, dan anda katakan, saya kurang daripada panjang. 736 00:34:40,670 --> 00:34:43,250 i kurang daripada panjang, yang berubah-ubah itu. 737 00:34:43,250 --> 00:34:44,590 >> PELAJAR: Dan kemudian koma bertitik. 738 00:34:44,590 --> 00:34:45,790 >> JASON Hirschhorn: Koma bertitik. 739 00:34:45,790 --> 00:34:46,290 >> PELAJAR: i + +. 740 00:34:46,290 --> 00:34:46,909 >> JASON Hirschhorn: i + +. 741 00:34:46,909 --> 00:34:47,530 Terdapat gelung untuk kita. 742 00:34:47,530 --> 00:34:48,860 OK, di dalam untuk gelung. 743 00:34:48,860 --> 00:34:51,670 >> PELAJAR: Dan kemudian melakukan printf. 744 00:34:51,670 --> 00:34:53,340 >> JASON Hirschhorn: printf. 745 00:34:53,340 --> 00:34:53,889 >> PELAJAR: Kurungan. 746 00:34:53,889 --> 00:34:55,130 >> JASON Hirschhorn: kurung, sebut harga. 747 00:34:55,130 --> 00:34:59,930 >> PELAJAR: kurung, sebut harga,% c / n. 748 00:34:59,930 --> 00:35:00,760 >> JASON Hirschhorn:% c, OK. 749 00:35:00,760 --> 00:35:01,670 >> PELAJAR: / n. 750 00:35:01,670 --> 00:35:03,470 >> JASON Hirschhorn: / n. 751 00:35:03,470 --> 00:35:04,410 >> PELAJAR: petikan tertutup. 752 00:35:04,410 --> 00:35:05,270 >> JASON Hirschhorn: petikan tertutup. 753 00:35:05,270 --> 00:35:05,810 >> PELAJAR: Comma. 754 00:35:05,810 --> 00:35:06,860 >> JASON Hirschhorn: Comma. 755 00:35:06,860 --> 00:35:07,800 >> PELAJAR: S. 756 00:35:07,800 --> 00:35:08,070 >> JASON Hirschhorn: S. 757 00:35:08,070 --> 00:35:08,690 >> PELAJAR: Kurungan i. 758 00:35:08,690 --> 00:35:10,230 >> JASON Hirschhorn: Kurungan i. 759 00:35:10,230 --> 00:35:11,520 >> PELAJAR: Dan kurungan kemudian ditutup. 760 00:35:11,520 --> 00:35:12,540 >> JASON Hirschhorn: kurungan tertutup. 761 00:35:12,540 --> 00:35:13,660 >> PELAJAR: Dan kemudian koma bertitik. 762 00:35:13,660 --> 00:35:13,770 >> JASON Hirschhorn: Koma bertitik. 763 00:35:13,770 --> 00:35:14,380 Hebat. 764 00:35:14,380 --> 00:35:16,890 Jadi mari kita simpan ini. 765 00:35:16,890 --> 00:35:19,770 Buat mengeja. 766 00:35:19,770 --> 00:35:20,040 Oh boy. 767 00:35:20,040 --> 00:35:22,275 Saya telah mendapat beberapa kesilapan. 768 00:35:22,275 --> 00:35:33,120 Kesilapan pertama pada baris 11, ia berkata, dijangka bersuara, dan ia memberi 769 00:35:33,120 --> 00:35:36,910 saya kesilapan yang kedua int, ada kesilapan. 770 00:35:36,910 --> 00:35:38,430 Terdapat beberapa kesilapan di sana. 771 00:35:38,430 --> 00:35:41,060 Adakah sesiapa tahu apa kesilapan yang? 772 00:35:41,060 --> 00:35:41,640 Kurt? 773 00:35:41,640 --> 00:35:44,108 >> PELAJAR: Saya rasa ia sepatutnya menjadi koma dan tidak koma bernoktah. 774 00:35:44,108 --> 00:35:46,010 >> JASON Hirschhorn: OK, koma bukannya koma bernoktah. 775 00:35:46,010 --> 00:35:47,340 Begitu juga dengan apa yang kita perlu menetapkan? 776 00:35:47,340 --> 00:35:47,655 >> PELAJAR: No 777 00:35:47,655 --> 00:35:48,930 >> JASON Hirschhorn: Apa lagi kita perlu untuk menetapkan? 778 00:35:48,930 --> 00:35:50,920 >> PELAJAR: Kita perlu termasuk string.h. 779 00:35:50,920 --> 00:35:51,680 >> JASON Hirschhorn: Termasuk string.h. 780 00:35:51,680 --> 00:35:53,730 Di manakah saya perlu termasuk itu? 781 00:35:53,730 --> 00:35:57,085 >> PELAJAR: Tempat yang sama anda termasuk barangan lain, hak 782 00:35:57,085 --> 00:35:59,560 selepas termasuk stdio.h. 783 00:35:59,560 --> 00:36:01,610 >> JASON Hirschhorn: Mari kita lihat jika ini berjalan pertama kerana secara amnya, saya suka 784 00:36:01,610 --> 00:36:06,360 untuk menetapkan satu perkara yang pertama, dan kemudian berjalan , dan kemudian melihat kesilapan-kesilapan kita. 785 00:36:06,360 --> 00:36:11,620 Jadi, kita akan untuk membersihkan terminal dengan kawalan n, mari kita jangan membuat ejaan. 786 00:36:11,620 --> 00:36:15,190 787 00:36:15,190 --> 00:36:18,770 Jadi satu lagi kesilapan dalam talian 11. 788 00:36:18,770 --> 00:36:20,540 Dijangka koma bertitik. 789 00:36:20,540 --> 00:36:22,640 Dan saya masih mendapat kesilapan pada baris ini. 790 00:36:22,640 --> 00:36:25,270 Jadi ia tidak memberi saya ralat berkata ia tidak memahami apa strlen adalah, 791 00:36:25,270 --> 00:36:28,980 tetapi ia memberi saya ralat pada ini line, jadi apa lagi yang salah? 792 00:36:28,980 --> 00:36:29,690 Tandakan? 793 00:36:29,690 --> 00:36:30,940 Marcus. 794 00:36:30,940 --> 00:36:32,570 >> PELAJAR: Adakah anda perlu membuang pengisytiharan int kedua? 795 00:36:32,570 --> 00:36:34,990 >> JASON Hirschhorn: Buang yang int kedua. 796 00:36:34,990 --> 00:36:35,710 Mari kita cuba ini. 797 00:36:35,710 --> 00:36:37,600 Sekarang jelas terminal. 798 00:36:37,600 --> 00:36:40,130 Buat mengeja. 799 00:36:40,130 --> 00:36:40,490 Kesilapan. 800 00:36:40,490 --> 00:36:42,890 Tersirat mengisytiharkan perpustakaan fungsi strlen. 801 00:36:42,890 --> 00:36:44,270 Jadi sekarang kita lihat kesilapan itu. 802 00:36:44,270 --> 00:36:45,760 Apa yang kita perlu termasuk? 803 00:36:45,760 --> 00:36:46,660 >> PELAJAR: String.h. 804 00:36:46,660 --> 00:36:51,880 >> JASON Hirschhorn: Termasuk string.h, kita akan lakukan # include string.h di bahagian atas 805 00:36:51,880 --> 00:36:52,920 skrin. 806 00:36:52,920 --> 00:36:55,450 Mari kita menyimpan, membuat mengeja. 807 00:36:55,450 --> 00:36:56,970 Sekarang disusun. 808 00:36:56,970 --> 00:37:01,970 Jadi sekali lagi, perkara-perkara yang kita perlu ingat line 12 dalam gelung untuk kita apabila 809 00:37:01,970 --> 00:37:08,010 kita menetapkan ia sehingga, int i = 0, panjang = strlen (s). 810 00:37:08,010 --> 00:37:09,350 >> Ini adalah satu strategi yang hebat. 811 00:37:09,350 --> 00:37:12,590 Gaya ini adalah besar, reka bentuk ini adalah besar. 812 00:37:12,590 --> 00:37:15,620 Kita boleh pergi kepada mereka sebab-sebab yang kemudian, tetapi cara ini, anda hanya perlu untuk memanggil 813 00:37:15,620 --> 00:37:19,040 strlen sekali dan bukan setiap satu kali anda berjalan melalui gelung. 814 00:37:19,040 --> 00:37:22,255 Walau bagaimanapun, anda perlu menggunakan koma terdapat dan anda tidak perlu int lagi. 815 00:37:22,255 --> 00:37:24,180 Jika anda sedang mengisytiharkan kedua-dua mereka pembolehubah bersama-sama, anda 816 00:37:24,180 --> 00:37:26,850 tidak perlu int lagi. 817 00:37:26,850 --> 00:37:29,820 Dan kemudian jika anda mahu menggunakan strlen, perpustakaan yang lain 818 00:37:29,820 --> 00:37:33,560 berfungsi tidak termasuk dalam stdio.h atau cs50.h, membuat 819 00:37:33,560 --> 00:37:35,310 pastikan anda termasuk string.h. 820 00:37:35,310 --> 00:37:35,900 Kurt? 821 00:37:35,900 --> 00:37:39,085 >> PELAJAR: Jadi kemudian jika anda tidak perlu mengatakan apa yang panjang jenis adalah, adakah 822 00:37:39,085 --> 00:37:40,290 bermakna ia telah menjadi int an? 823 00:37:40,290 --> 00:37:41,930 Anda tidak boleh mempunyai dua yang berbeza jenis di sana? 824 00:37:41,930 --> 00:37:43,290 >> JASON Hirschhorn: Jadi, anda boleh mempunyai dua jenis yang berbeza. 825 00:37:43,290 --> 00:37:45,730 Panjang adalah int di sini, walaupun. 826 00:37:45,730 --> 00:37:48,590 Panjang adalah int an kerana ia adalah koma dan kemudian perkara yang sama. 827 00:37:48,590 --> 00:37:50,460 >> PELAJAR: Jadi ia mengandaikan bahawa ia akan untuk menjadi sama dengan yang pertama? 828 00:37:50,460 --> 00:37:52,423 >> JASON Hirschhorn: Tepat sekali. 829 00:37:52,423 --> 00:37:54,970 Kami tidak akan melakukan ini sekarang, tetapi anda boleh termasuk dua pembolehubah di 830 00:37:54,970 --> 00:37:57,080 line sama menggunakan satu jenis data. 831 00:37:57,080 --> 00:38:01,415 Jadi int x, y akan mewujudkan dua pembolehubah. 832 00:38:01,415 --> 00:38:05,830 833 00:38:05,830 --> 00:38:10,770 Jadi int x, y, jika kita membuat itu, ia memberi saya x digunakan berubah-ubah dan y kerana 834 00:38:10,770 --> 00:38:12,020 kita tidak menggunakannya. 835 00:38:12,020 --> 00:38:17,950 836 00:38:17,950 --> 00:38:21,650 Jadi meletakkan sah sebelum sahaja helah mewah jika anda tidak menggunakan 837 00:38:21,650 --> 00:38:22,810 sesuatu, untuk menggunakannya. 838 00:38:22,810 --> 00:38:26,300 Tetapi seperti yang anda lihat, saya buat x dan y pada baris yang sama dengan koma. 839 00:38:26,300 --> 00:38:28,450 Ia mewujudkan dua integer di sana. 840 00:38:28,450 --> 00:38:31,560 Jadi ya, benar-benar mungkin untuk membuat dua perkara pada baris yang sama 841 00:38:31,560 --> 00:38:33,720 dipisahkan oleh koma. 842 00:38:33,720 --> 00:38:35,470 Mari kita menyingkirkan mereka, walaupun. 843 00:38:35,470 --> 00:38:36,370 >> Jadi ada ejaan. 844 00:38:36,370 --> 00:38:39,200 Terima kasih lelaki untuk pengekodan untuk kita. 845 00:38:39,200 --> 00:38:43,040 Mari kita membuat satu lagi masa, jalankan. 846 00:38:43,040 --> 00:38:44,580 Berikan saya rentetan. 847 00:38:44,580 --> 00:38:45,580 [Didengar], anda pula sebahagian daripadanya. 848 00:38:45,580 --> 00:38:47,910 Apakah tali? 849 00:38:47,910 --> 00:38:48,250 >> PELAJAR: Hello. 850 00:38:48,250 --> 00:38:50,110 >> JASON Hirschhorn: Hello. 851 00:38:50,110 --> 00:38:52,810 H-E-L-L-O, setiap watak dalam satu baris. 852 00:38:52,810 --> 00:38:53,700 Kelihatan hebat. 853 00:38:53,700 --> 00:38:54,750 Mari kita berjalan lagi. 854 00:38:54,750 --> 00:38:56,050 Sentiasa akan menyemak bagi kes-kes sudut. 855 00:38:56,050 --> 00:38:57,750 Apakah yang dimaksudkan dengan kes sudut yang baik untuk mendaftar? 856 00:38:57,750 --> 00:39:00,250 857 00:39:00,250 --> 00:39:00,890 >> PELAJAR: bilangan A? 858 00:39:00,890 --> 00:39:02,240 >> JASON Hirschhorn: Nombor Satu. 859 00:39:02,240 --> 00:39:06,580 Jadi saya akan dimasukkan ke dalam 1, dan ia mencetak keluar 1. 860 00:39:06,580 --> 00:39:08,970 Ia tidak meminta surat, supaya ia seolah-olah seperti nombor kerja. 861 00:39:08,970 --> 00:39:09,890 Kes sudut yang baik untuk memeriksa. 862 00:39:09,890 --> 00:39:11,740 Apa lagi sudut yang baik kes untuk memeriksa? 863 00:39:11,740 --> 00:39:12,420 >> PELAJAR: Rentetan kosong. 864 00:39:12,420 --> 00:39:12,910 >> JASON Hirschhorn: Hm? 865 00:39:12,910 --> 00:39:13,880 >> PELAJAR: Seperti rentetan kosong. 866 00:39:13,880 --> 00:39:14,400 >> JASON Hirschhorn: string kosong. 867 00:39:14,400 --> 00:39:16,730 Jadi mari kita tidak dimasukkan ke dalam apa-apa. 868 00:39:16,730 --> 00:39:18,660 Dan apa yang akan dicetak? 869 00:39:18,660 --> 00:39:19,090 >> PELAJAR: Tiada apa-apa. 870 00:39:19,090 --> 00:39:19,870 >> JASON Hirschhorn: Tiada apa-apa. 871 00:39:19,870 --> 00:39:20,555 Seolah-olah seperti ia berfungsi. 872 00:39:20,555 --> 00:39:23,790 Anda boleh cuba kes sudut lebih, tetapi biasanya nombor, data yang berbeza 873 00:39:23,790 --> 00:39:26,160 besar untuk mencuba, serta apa-apa. 874 00:39:26,160 --> 00:39:29,180 Tiada apa-apa, sifar, negatif sentiasa perkara-perkara yang baik untuk mencuba dan perkara yang anda 875 00:39:29,180 --> 00:39:33,140 perlu ujian, perkara-perkara yang sudah tentu kita akan menguji untuk dan Semak 50 akan menguji. 876 00:39:33,140 --> 00:39:34,720 Mana-mana soalan mengenai spell.c? 877 00:39:34,720 --> 00:39:37,752 878 00:39:37,752 --> 00:39:39,310 >> OK, mari kita kembali semula. 879 00:39:39,310 --> 00:39:42,420 Saya mempunyai satu lagi program untuk anda semua untuk menulis. 880 00:39:42,420 --> 00:39:44,700 Ia dipanggil students.c. 881 00:39:44,700 --> 00:39:49,020 Ini adalah program yang meminta pengguna untuk lima nama, maka secara rawak memilih 882 00:39:49,020 --> 00:39:51,600 dan mencetak salah satu daripada nama-nama. 883 00:39:51,600 --> 00:39:54,840 Program ini adalah lebih sedikit terlibat daripada dua lepas kita menulis, 884 00:39:54,840 --> 00:39:58,080 jadi mengapa kita tidak mengambil masa lima minit untuk kod secara individu, dan kemudian kami akan 885 00:39:58,080 --> 00:40:00,130 kod ia sebagai satu kumpulan. 886 00:40:00,130 --> 00:40:03,795 >> Program ini juga melibatkan beberapa perkara anda mungkin tidak dilihat sebelum ini, jadi jika 887 00:40:03,795 --> 00:40:06,390 anda mempunyai soalan tentang, bagaimana Saya berbuat demikian, mengangkat tangan anda. 888 00:40:06,390 --> 00:40:08,530 Saya akan datang dan menunjukkan anda ke arah yang betul. 889 00:40:08,530 --> 00:40:10,820 Tetapi kita juga lakukan kerana ini akan menjadi satu cara yang baik untuk memperkenalkan beberapa 890 00:40:10,820 --> 00:40:12,070 topik yang sukar. 891 00:40:12,070 --> 00:44:14,600 892 00:44:14,600 --> 00:44:15,560 >> Jadi ia berfungsi, bukan? 893 00:44:15,560 --> 00:44:17,580 >> PELAJAR: Ya. 894 00:44:17,580 --> 00:44:19,180 >> JASON Hirschhorn: Apabila anda menghidupkan dalam set masalah, ada banyak cara untuk melakukan 895 00:44:19,180 --> 00:44:20,790 , tetapi ada yang lebih elegan daripada yang lain. 896 00:44:20,790 --> 00:44:29,000 897 00:44:29,000 --> 00:44:31,110 Mari kita menyelam masuk 898 00:44:31,110 --> 00:44:32,880 # Include cs50.h. 899 00:44:32,880 --> 00:44:34,250 # Include stdio.h. 900 00:44:34,250 --> 00:44:37,240 int sah utama, pendakap kerinting. 901 00:44:37,240 --> 00:44:39,430 Di dalam pendakap kerinting, Saya mempunyai dua komen. 902 00:44:39,430 --> 00:44:41,500 Yang pertama adalah, minta pengguna selama lima nama. 903 00:44:41,500 --> 00:44:46,580 Yang kedua ialah, secara rawak memilih dan mencetak salah satu daripada nama-nama. 904 00:44:46,580 --> 00:44:50,250 Jadi mari kita buat yang pertama, minta pengguna untuk lima nama. 905 00:44:50,250 --> 00:44:53,730 Yang telah meminta pengguna untuk lima nama dan boleh beritahu saya bagaimana untuk berbuat demikian? 906 00:44:53,730 --> 00:44:56,760 907 00:44:56,760 --> 00:44:58,570 Hanya dua orang melakukan bahagian pertama. 908 00:44:58,570 --> 00:45:00,150 Tiga orang melakukan bahagian pertama. 909 00:45:00,150 --> 00:45:00,670 Empat, lima. 910 00:45:00,670 --> 00:45:03,140 Tom, bagaimana anda melakukannya? 911 00:45:03,140 --> 00:45:09,940 >> PELAJAR: Anda akan mengisytiharkan tali dan kemudian nama, kurungan lima. 912 00:45:09,940 --> 00:45:12,070 >> JASON Hirschhorn: String menamakan kurungan lima. 913 00:45:12,070 --> 00:45:15,350 Jadi, apakah ini selaras lakukan, Nama tali kurungan lima? 914 00:45:15,350 --> 00:45:17,800 >> PELAJAR: Anda akan mengisytiharkan pelbagai tali. 915 00:45:17,800 --> 00:45:19,000 >> JASON Hirschhorn: Ini adalah pelbagai tali. 916 00:45:19,000 --> 00:45:21,590 Berapa banyak tali akan untuk menyesuaikan diri di sini? 917 00:45:21,590 --> 00:45:22,010 >> PELAJAR: Five. 918 00:45:22,010 --> 00:45:22,320 >> JASON Hirschhorn: Lima. 919 00:45:22,320 --> 00:45:22,660 Excellent. 920 00:45:22,660 --> 00:45:26,360 Kami akan memanggilnya Nama kerana kita akan mendapatkan yang berganda. 921 00:45:26,360 --> 00:45:27,790 OK, seterusnya? 922 00:45:27,790 --> 00:45:29,270 >> PELAJAR: Dan kemudian anda mempunyai untuk gelung - 923 00:45:29,270 --> 00:45:30,060 >> JASON Hirschhorn: Untuk gelung. 924 00:45:30,060 --> 00:45:33,035 >> PELAJAR: - untuk i = 0. 925 00:45:33,035 --> 00:45:37,040 >> JASON Hirschhorn: Untuk (int i = 0. 926 00:45:37,040 --> 00:45:38,270 >> PELAJAR: Koma bertitik. 927 00:45:38,270 --> 00:45:38,880 >> JASON Hirschhorn: Koma bertitik. 928 00:45:38,880 --> 00:45:39,790 >> PELAJAR: Saya kurang daripada lima. 929 00:45:39,790 --> 00:45:41,310 >> JASON Hirschhorn: Saya kurang daripada lima. 930 00:45:41,310 --> 00:45:42,230 >> PELAJAR: Koma bertitik. 931 00:45:42,230 --> 00:45:42,560 >> JASON Hirschhorn: Koma bertitik. 932 00:45:42,560 --> 00:45:43,380 >> PELAJAR: i + +. 933 00:45:43,380 --> 00:45:46,050 >> JASON Hirschhorn: i + +. 934 00:45:46,050 --> 00:45:47,100 >> PELAJAR: Dan kurungan kemudian ditutup. 935 00:45:47,100 --> 00:45:48,600 >> JASON Hirschhorn: kurungan tertutup, dan kemudian beberapa pendakap kerinting. 936 00:45:48,600 --> 00:45:50,050 Di dalam pendakap kerinting? 937 00:45:50,050 --> 00:45:51,423 >> PELAJAR: Dan kemudian printf. 938 00:45:51,423 --> 00:45:52,535 >> JASON Hirschhorn: printf. 939 00:45:52,535 --> 00:45:56,200 >> PELAJAR: kurungan Terbuka, nama% d. 940 00:45:56,200 --> 00:45:57,090 >> JASON Hirschhorn: Maaf? 941 00:45:57,090 --> 00:45:57,660 >> PELAJAR: Nama. 942 00:45:57,660 --> 00:45:58,200 >> JASON Hirschhorn: Nama. 943 00:45:58,200 --> 00:46:01,700 >> PELAJAR: Dan kemudian ruang, dan kemudian% d. 944 00:46:01,700 --> 00:46:02,950 >> JASON Hirschhorn: Nama, ruang,% d. 945 00:46:02,950 --> 00:46:05,630 946 00:46:05,630 --> 00:46:10,820 >> PELAJAR: Dan kemudian / n, dan kemudian ditutup. 947 00:46:10,820 --> 00:46:15,070 >> JASON Hirschhorn: Nama Jadi, ruang, % D / n, kurungan tertutup. 948 00:46:15,070 --> 00:46:17,730 >> PELAJAR: Comma, i + 1. 949 00:46:17,730 --> 00:46:19,390 Saya minta maaf. 950 00:46:19,390 --> 00:46:21,040 Quote tertutup, dan kemudian koma, i +1. 951 00:46:21,040 --> 00:46:24,400 >> JASON Hirschhorn: Tutup quote, koma, i +1. 952 00:46:24,400 --> 00:46:25,850 >> PELAJAR: Ya. 953 00:46:25,850 --> 00:46:27,650 Dan kemudian barisan depan - 954 00:46:27,650 --> 00:46:29,400 >> JASON Hirschhorn: i + 1. 955 00:46:29,400 --> 00:46:31,600 >> PELAJAR: Ya. 956 00:46:31,600 --> 00:46:36,440 Dan kemudian slaid seterusnya adalah nama-nama golongan i. 957 00:46:36,440 --> 00:46:39,000 >> JASON Hirschhorn: line Seterusnya adalah nama-nama golongan i. 958 00:46:39,000 --> 00:46:41,360 >> PELAJAR: = mendapatkan tali. 959 00:46:41,360 --> 00:46:43,460 >> JASON Hirschhorn: = Get - 960 00:46:43,460 --> 00:46:44,510 modal G-E-T - 961 00:46:44,510 --> 00:46:45,530 tali. 962 00:46:45,530 --> 00:46:47,800 Oops, maaf. 963 00:46:47,800 --> 00:46:49,050 >> PELAJAR: Terbuka, kurungan tertutup dan kemudian - 964 00:46:49,050 --> 00:46:50,940 >> JASON Hirschhorn: Buka, ditutup paren. 965 00:46:50,940 --> 00:46:51,030 >> PELAJAR: Koma bertitik. 966 00:46:51,030 --> 00:46:52,500 >> JASON Hirschhorn: Koma bertitik. 967 00:46:52,500 --> 00:46:57,545 OK, jadi anda memulakan array tali, nama-nama, dan kemudian pergi melalui 968 00:46:57,545 --> 00:47:02,720 untuk gelung, dan lima kali mencetak beberapa segera kepada pengguna dan kemudian menyimpan 969 00:47:02,720 --> 00:47:03,360 lima tali. 970 00:47:03,360 --> 00:47:08,090 Adakah sesiapa mempunyai apa-apa pelarasan ini? 971 00:47:08,090 --> 00:47:10,030 Tom, saya fikir semua orang bersetuju dengan anda. 972 00:47:10,030 --> 00:47:10,880 Kelihatan cukup baik. 973 00:47:10,880 --> 00:47:11,660 OK. 974 00:47:11,660 --> 00:47:14,830 Kenapa awak buat i +1, walaupun? 975 00:47:14,830 --> 00:47:18,000 >> PELAJAR: Maksud saya, tidak mempunyai menjadi, tetapi i +1 supaya ia 976 00:47:18,000 --> 00:47:19,700 nama seseorang untuk menamakan lima. 977 00:47:19,700 --> 00:47:21,930 Jika tidak, ia akan menjadi nama sifar untuk menamakan empat. 978 00:47:21,930 --> 00:47:24,400 >> JASON Hirschhorn: Jadi anda lakukan i +1 kerana jika tidak, ia akan 979 00:47:24,400 --> 00:47:27,060 dicetak sifar melalui empat kerana itulah bagaimana komputer berfikir, tetapi manusia 980 00:47:27,060 --> 00:47:28,530 tidak benar-benar membaca seperti itu. 981 00:47:28,530 --> 00:47:30,190 Itu adalah perkara yang lain anda akan hadapi. 982 00:47:30,190 --> 00:47:33,210 Kadang-kadang apabila anda mencetak sesuatu kepada pengguna, anda akan ingin untuk menjadikan ia satu 983 00:47:33,210 --> 00:47:35,733 sedikit lebih cantik, dan melakukan i +1 dalam kes ini adalah 984 00:47:35,733 --> 00:47:37,430 cara untuk menjadikan ia lebih cantik. 985 00:47:37,430 --> 00:47:41,380 >> Saya juga melihat dua kali lima, nama tali ialah lima, i adalah kurang daripada lima. 986 00:47:41,380 --> 00:47:42,430 Saya tahu di mana anda mendapat lima. 987 00:47:42,430 --> 00:47:44,890 Anda mendapat ia daripada saya memberitahu anda lima nama. 988 00:47:44,890 --> 00:47:49,000 Tetapi jika kita mahu membuat kod yang sedikit lebih kukuh, satu perkara yang kita 989 00:47:49,000 --> 00:47:53,110 boleh lakukan adalah di sini, di luar int, kita boleh melakukan sesuatu seperti ini, 990 00:47:53,110 --> 00:47:57,070 # Menentukan, dan kita boleh melakukannya NAMA 5. 991 00:47:57,070 --> 00:48:01,580 992 00:48:01,580 --> 00:48:05,390 >> Jadi, pada asasnya, mana-mana saya menulis modal N, ibu A, M modal, modal E, 993 00:48:05,390 --> 00:48:08,890 modal S, tali itu, ia akan menggantikan dengan 5 dalam kod. 994 00:48:08,890 --> 00:48:11,530 995 00:48:11,530 --> 00:48:13,445 Atau mari kita hanya memanggilnya - kita akan hanya memanggilnya NUMBER. 996 00:48:13,445 --> 00:48:17,190 Jadi saya menentukan semua topi NUMBER menjadi 5. 997 00:48:17,190 --> 00:48:22,830 >> Jadi sekarang di mana-mana saya mempunyai nombor 5, saya boleh menggantikannya dengan semua NUMBER topi. 998 00:48:22,830 --> 00:48:26,880 Dan kini, jika saya ingin menukar nombor nama, semua saya perlu lakukan adalah 999 00:48:26,880 --> 00:48:31,350 garis yang satu ini, garis empat, di mana saya mempunyai # Menentukan nombor 5, perubahan yang ke 10, 1000 00:48:31,350 --> 00:48:34,340 atau menukar yang ke 4. 1001 00:48:34,340 --> 00:48:37,400 Apabila kod anda mendapat lebih panjang, anda tidak akan ingat semua tempat yang anda 1002 00:48:37,400 --> 00:48:41,630 meletakkan berapa banyak nama yang anda mahu, dan supaya anda tidak terlepas satu, ini adalah 1003 00:48:41,630 --> 00:48:45,490 cara yang baik untuk melakukannya, untuk mencari sesuatu top up dan kemudian hanya menggunakan frasa yang 1004 00:48:45,490 --> 00:48:46,400 di mana-mana di seluruh kod anda. 1005 00:48:46,400 --> 00:48:46,780 Marcus? 1006 00:48:46,780 --> 00:48:49,780 >> PELAJAR: Apakah yang stylistically pilihan daripada global menentukan 1007 00:48:49,780 --> 00:48:51,270 n berterusan? 1008 00:48:51,270 --> 00:48:53,760 >> JASON Hirschhorn: Jadi adalah bahawa stylistically diutamakan daripada global 1009 00:48:53,760 --> 00:48:54,980 menentukan n berterusan? 1010 00:48:54,980 --> 00:48:59,036 Jadi anda mengatakan anda boleh lakukan, int bilangan = 5? 1011 00:48:59,036 --> 00:49:01,300 >> PELAJAR: Adakah mereka mempunyai konsonan dalam C atau tidak? 1012 00:49:01,300 --> 00:49:02,720 >> JASON Hirschhorn: Atau malar - dalam yang sama. 1013 00:49:02,720 --> 00:49:04,275 Jadi anda mengatakan hanya berubah-ubah global? 1014 00:49:04,275 --> 00:49:04,990 >> PELAJAR: Ya. 1015 00:49:04,990 --> 00:49:08,670 >> JASON Hirschhorn: Jadi stylistically, tidak ada semestinya betul 1016 00:49:08,670 --> 00:49:12,050 menjawab, tetapi kedua-dua mereka adalah lebih baik daripada hanya membuang ini rawak 1017 00:49:12,050 --> 00:49:12,960 nombor di seluruh kod anda. 1018 00:49:12,960 --> 00:49:14,650 Kami menyeru mereka nombor sihir. 1019 00:49:14,650 --> 00:49:16,450 Apabila saya melihat kod anda atau apabila sesiapa yang membaca, mereka 1020 00:49:16,450 --> 00:49:18,790 tidak mahu hanya nombor-nombor rawak yang tidak masuk akal. 1021 00:49:18,790 --> 00:49:22,420 Malah, bilangan 26, yang secara amnya adalah bilangan huruf dalam abjad, 1022 00:49:22,420 --> 00:49:28,870 ia adalah lebih baik untuk menentukan abjad top up dan menyimpan nombor 26 dalam rentetan itu, 1023 00:49:28,870 --> 00:49:29,550 jika yang masuk akal. 1024 00:49:29,550 --> 00:49:33,210 >> Atau menetapkan satu masalah, dan bukannya - sekali lagi, kita tidak bercakap tentang perkara ini pada 1025 00:49:33,210 --> 00:49:37,020 masa itu, tetapi sebaliknya hanya membuang dalam mana-mana 25 atau 10, anda boleh 1026 00:49:37,020 --> 00:49:41,860 menyimpan nombor 25 sebagai SUKU atau 10 sebagai DIME, dan yang menjadikan ia lebih mudah bagi 1027 00:49:41,860 --> 00:49:44,140 sesiapa yang membaca kod anda untuk faham mengapa anda memilih nombor itu. 1028 00:49:44,140 --> 00:49:46,540 Dan juga untuk anda, jika anda pernah mahu mengemaskini kod anda, ia membuatkan ia agak 1029 00:49:46,540 --> 00:49:47,290 lebih mantap. 1030 00:49:47,290 --> 00:49:48,070 Ya? 1031 00:49:48,070 --> 00:49:50,830 >> PELAJAR: Adakah kod ini juga akan boleh didapati untuk kita selepas? 1032 00:49:50,830 --> 00:49:52,453 >> JASON Hirschhorn: Semua kod ini bahawa kita telah menulis bersama- 1033 00:49:52,453 --> 00:49:54,620 akan dihantar ke email anda lelaki dan boleh didapati. 1034 00:49:54,620 --> 00:49:55,740 Ya. 1035 00:49:55,740 --> 00:49:58,040 Jadi meminta pengguna untuk lima nama. 1036 00:49:58,040 --> 00:50:00,280 Secara rawak memilih dan mencetak salah satu daripada nama-nama. 1037 00:50:00,280 --> 00:50:00,940 Yang melakukan baris ini? 1038 00:50:00,940 --> 00:50:02,230 Ini adalah garis trickiest sini. 1039 00:50:02,230 --> 00:50:02,450 Maaf, Tom. 1040 00:50:02,450 --> 00:50:05,510 Anda melakukan kerja yang benar-benar baik, tetapi ini adalah sedikit lebih sukar. 1041 00:50:05,510 --> 00:50:06,600 Marcus, teruskan. 1042 00:50:06,600 --> 00:50:10,180 >> PELAJAR: Baik pertama, anda akan perlu termasuk stdlib.h dan time.h. 1043 00:50:10,180 --> 00:50:13,200 >> JASON Hirschhorn: Jadi yang anda katakan pada atas, termasuk dua lagi perpustakaan. 1044 00:50:13,200 --> 00:50:18,830 Anda mahu saya termasuk S-T-D-L-I-B titik H, Perpustakaan Standard, dan apa 1045 00:50:18,830 --> 00:50:19,760 adalah salah satu yang lain? 1046 00:50:19,760 --> 00:50:21,010 >> PELAJAR: Time.h. 1047 00:50:21,010 --> 00:50:25,130 1048 00:50:25,130 --> 00:50:27,840 >> JASON Hirschhorn: # include time.h. 1049 00:50:27,840 --> 00:50:29,470 Jadi ini adalah dua lagi perpustakaan. 1050 00:50:29,470 --> 00:50:31,790 Saya menganggap sekarang kita akan menggunakan fungsi yang terkandung di dalam 1051 00:50:31,790 --> 00:50:34,240 dua, itulah sebabnya anda perlu termasuk mereka? 1052 00:50:34,240 --> 00:50:36,980 >> PELAJAR: Jadi itu, pertama anda akan mahu menulis srand. 1053 00:50:36,980 --> 00:50:38,770 >> JASON Hirschhorn: Srand. 1054 00:50:38,770 --> 00:50:42,070 >> PELAJAR: (masa (0) 1055 00:50:42,070 --> 00:50:42,700 >> JASON Hirschhorn: Maaf. 1056 00:50:42,700 --> 00:50:45,580 Srand (masa ( 1057 00:50:45,580 --> 00:50:46,890 >> PELAJAR: 0. 1058 00:50:46,890 --> 00:50:47,230 >> JASON Hirschhorn: 0. 1059 00:50:47,230 --> 00:50:49,990 >> PELAJAR:)), koma bertitik. 1060 00:50:49,990 --> 00:50:51,320 >> JASON Hirschhorn: Satu lagi paren ditutup? 1061 00:50:51,320 --> 00:50:51,650 Koma bertitik. 1062 00:50:51,650 --> 00:50:53,610 Saya akan hanya menggantikan sifar anda dengan NULL. 1063 00:50:53,610 --> 00:50:55,980 Ia akan lakukan perkara yang sama, tetapi umumnya, anda akan melihat NULL, yang 1064 00:50:55,980 --> 00:50:57,720 kita akan bercakap tentang ini baris dalam kedua. 1065 00:50:57,720 --> 00:50:58,580 >> PELAJAR: stylistically lebih baik? 1066 00:50:58,580 --> 00:51:02,240 >> JASON Hirschhorn: Secara umumnya, orang-orang NULL betul, tetapi perkara yang sama. 1067 00:51:02,240 --> 00:51:05,010 >> PELAJAR: Dan kemudian nama int. 1068 00:51:05,010 --> 00:51:06,490 >> JASON Hirschhorn: Nama Int. 1069 00:51:06,490 --> 00:51:07,280 >> PELAJAR: = 1070 00:51:07,280 --> 00:51:07,780 >> JASON Hirschhorn: = 1071 00:51:07,780 --> 00:51:08,580 >> PELAJAR: Rand. 1072 00:51:08,580 --> 00:51:09,340 >> JASON Hirschhorn: Rand. 1073 00:51:09,340 --> 00:51:10,420 >> PELAJAR: () 1074 00:51:10,420 --> 00:51:11,500 >> JASON Hirschhorn: () 1075 00:51:11,500 --> 00:51:12,850 >> PELAJAR: bilangan Modulo. 1076 00:51:12,850 --> 00:51:14,310 >> JASON Hirschhorn: Apakah modulo? 1077 00:51:14,310 --> 00:51:14,970 Watak ini? 1078 00:51:14,970 --> 00:51:16,000 Watak peratus? 1079 00:51:16,000 --> 00:51:17,790 >> PELAJAR: watak Peratus. 1080 00:51:17,790 --> 00:51:19,521 NUMBER Modulo yang anda ditakrifkan top up. 1081 00:51:19,521 --> 00:51:22,030 >> JASON Hirschhorn: BILANGAN Modulo. 1082 00:51:22,030 --> 00:51:24,052 >> PELAJAR: Dan kemudian koma bertitik. 1083 00:51:24,052 --> 00:51:24,660 >> JASON Hirschhorn: Koma bertitik. 1084 00:51:24,660 --> 00:51:27,820 >> PELAJAR: Dan kemudian barisan baru, printf. 1085 00:51:27,820 --> 00:51:28,460 >> JASON Hirschhorn: printf. 1086 00:51:28,460 --> 00:51:29,730 >> PELAJAR: ( 1087 00:51:29,730 --> 00:51:30,620 >> JASON Hirschhorn: ( 1088 00:51:30,620 --> 00:51:31,650 >> PELAJAR: " 1089 00:51:31,650 --> 00:51:32,630 >> JASON Hirschhorn: " 1090 00:51:32,630 --> 00:51:35,320 >> PELAJAR:% s / n 1091 00:51:35,320 --> 00:51:37,220 >> JASON Hirschhorn:% s / n 1092 00:51:37,220 --> 00:51:38,420 >> PELAJAR: " 1093 00:51:38,420 --> 00:51:40,640 >> JASON Hirschhorn:% s / n " 1094 00:51:40,640 --> 00:51:43,540 >> PELAJAR: Comma, nama ruang. 1095 00:51:43,540 --> 00:51:44,350 >> JASON Hirschhorn: Space - 1096 00:51:44,350 --> 00:51:46,300 >> PELAJAR: Oh, saya rasa, apa yang adakah kita panggil ia di sini? 1097 00:51:46,300 --> 00:51:48,640 >> JASON Hirschhorn: Kami memanggilnya nama. 1098 00:51:48,640 --> 00:51:52,360 >> PELAJAR: kurungan Terbuka, nama. 1099 00:51:52,360 --> 00:51:55,090 >> JASON Hirschhorn: kurungan Terbuka, nama. 1100 00:51:55,090 --> 00:51:55,850 >> PELAJAR: kurungan tertutup. 1101 00:51:55,850 --> 00:51:56,490 >> JASON Hirschhorn: kurungan tertutup. 1102 00:51:56,490 --> 00:51:57,460 >> PELAJAR:) 1103 00:51:57,460 --> 00:51:58,800 >> JASON Hirschhorn:) 1104 00:51:58,800 --> 00:51:59,440 >> PELAJAR: Koma bertitik. 1105 00:51:59,440 --> 00:52:00,410 >> JASON Hirschhorn: Koma bertitik. 1106 00:52:00,410 --> 00:52:01,500 OK, mari kita menyimpan. 1107 00:52:01,500 --> 00:52:04,410 Mari kita membuat kod ini. 1108 00:52:04,410 --> 00:52:06,365 Pelajar. 1109 00:52:06,365 --> 00:52:07,100 Mari kita menjalankan kod ini. 1110 00:52:07,100 --> 00:52:08,480 Pelajar. 1111 00:52:08,480 --> 00:52:11,630 Bukan pelajar. /. . / Pelajar. 1112 00:52:11,630 --> 00:52:12,870 Nama satu. 1113 00:52:12,870 --> 00:52:15,490 Kami akan mengatakan Daud. 1114 00:52:15,490 --> 00:52:18,070 Nama dua, RJ. 1115 00:52:18,070 --> 00:52:20,561 Nama tiga, Rob. 1116 00:52:20,561 --> 00:52:22,490 Nama empat, Lucas. 1117 00:52:22,490 --> 00:52:26,060 Nama lima, Yusuf. 1118 00:52:26,060 --> 00:52:28,850 Dan kemudian ia mencetak Joseph lagi. 1119 00:52:28,850 --> 00:52:31,730 >> Jadi biarlah saya berjalan ini lagi. 1120 00:52:31,730 --> 00:52:32,460 Biar saya buat nama yang sama. 1121 00:52:32,460 --> 00:52:39,760 David, RJ, Rob, Lucas, Yusuf. 1122 00:52:39,760 --> 00:52:41,070 Dan ia memberikan saya David masa ini. 1123 00:52:41,070 --> 00:52:43,030 Jadi saya telah melakukan perkara yang sama, tetapi ia memberikan saya satu perkara yang berbeza, dan itu 1124 00:52:43,030 --> 00:52:45,410 kerana, sudah tentu, kita meminta nama rawak. 1125 00:52:45,410 --> 00:52:50,950 Jadi saya fikir, berdasarkan kira saya mengembara sekitar bilik, bahawa kebanyakan orang 1126 00:52:50,950 --> 00:52:55,960 mungkin mendapat hak bahagian pertama, menubuhkan pelbagai itu dan kemudian mendapat 1127 00:52:55,960 --> 00:52:56,430 semua nama-nama. 1128 00:52:56,430 --> 00:52:59,320 Saya bercakap tentang garis 10 melalui 16. 1129 00:52:59,320 --> 00:53:02,150 Tetapi garisan 18 melalui 21 mungkin beberapa perkara yang anda tidak pernah melihat sebelum ini, 1130 00:53:02,150 --> 00:53:03,750 jadi mari kita pergi melalui mereka. 1131 00:53:03,750 --> 00:53:10,390 >> Baris ini, srand masa NULL asasnya - 1132 00:53:10,390 --> 00:53:14,300 maaf, mari kita melangkau ke garis, rand (). 1133 00:53:14,300 --> 00:53:17,320 Yang memberikan anda beberapa rawak, integer rawak. 1134 00:53:17,320 --> 00:53:19,630 Dan jika anda memukul rand manusia, yang banyak anda lakukan - 1135 00:53:19,630 --> 00:53:21,530 M-A-N ruang R-A-N-D - 1136 00:53:21,530 --> 00:53:25,910 di terminal seperti ini, M-A-N ruang R-A-N-D, tekan Enter. 1137 00:53:25,910 --> 00:53:30,490 Anda akan datang kepada pengguna dan akan dapat membaca bahawa rand 1138 00:53:30,490 --> 00:53:34,260 output arahan num pseudo bytes rawak selepas pembenihan nombor rawak 1139 00:53:34,260 --> 00:53:35,510 generator sekali. 1140 00:53:35,510 --> 00:53:38,450 1141 00:53:38,450 --> 00:53:39,700 >> Itulah huraian. 1142 00:53:39,700 --> 00:53:43,860 1143 00:53:43,860 --> 00:53:46,800 Itulah apa yang rand tidak, memberikan anda beberapa rawak apabila 1144 00:53:46,800 --> 00:53:48,610 anda memanggil fungsi itu. 1145 00:53:48,610 --> 00:53:53,140 Malangnya, ia tidak benar-benar rawak kerana jika anda hanya memanggil rawak 1146 00:53:53,140 --> 00:53:55,970 tanpa ia beberapa benih, beberapa titik permulaan, ia akan sentiasa memilih 1147 00:53:55,970 --> 00:53:59,100 salah satu yang sama dan ia menggunakan formula untuk menentukan yang akan datang. 1148 00:53:59,100 --> 00:54:01,730 Jadi, jika anda memanggil rand, ia akan hanya memberikan anda perkara yang sama. 1149 00:54:01,730 --> 00:54:02,610 Ia akan menjadi sangat diramalkan. 1150 00:54:02,610 --> 00:54:03,790 Ia sebenarnya tidak akan secara rawak. 1151 00:54:03,790 --> 00:54:09,610 >> Jadi apa yang perlu kita lakukan, setiap itu Marcus arahan kepada saya, adalah rand benih 1152 00:54:09,610 --> 00:54:13,810 dengan sesuatu yang lain, apa yang fungsi srand tidak. 1153 00:54:13,810 --> 00:54:18,055 Ia benih rand dengan sesuatu yang sedikit lebih rawak daripada perkara yang sama, dan 1154 00:54:18,055 --> 00:54:23,360 dia kekuatan dengan NULL masa, yang adalah, hanya dengan konvensyen, semasa 1155 00:54:23,360 --> 00:54:24,650 masa dalam saat. 1156 00:54:24,650 --> 00:54:29,790 >> Jadi anda menganggap bahawa semua orang bukan akan menjalankan kod pada tepat 1157 00:54:29,790 --> 00:54:33,620 kedua yang sama, maka ia adalah pertaruhan selamat yang NULL masa akan berbeza 1158 00:54:33,620 --> 00:54:35,250 setiap kali kod ini dijalankan. 1159 00:54:35,250 --> 00:54:39,020 Pertaruhan selamat bahawa dengan itu, srand benih akan rand dengan sesuatu yang berbeza setiap 1160 00:54:39,020 --> 00:54:39,990 masa tunggal. 1161 00:54:39,990 --> 00:54:44,110 Jadi dengan konvensyen, apabila kita mahu nombor rawak, kita menulis baris ini, 1162 00:54:44,110 --> 00:54:50,540 srand masa NULL, untuk memberi kita banyak benih lebih rawak, dan kemudian kita berjalan 1163 00:54:50,540 --> 00:54:52,080 rand, yang memberikan kita beberapa rawak. 1164 00:54:52,080 --> 00:54:52,840 Ya? 1165 00:54:52,840 --> 00:54:54,140 >> PELAJAR: Bolehkah anda mengatakan apa yang anda maksudkan dengan benih? 1166 00:54:54,140 --> 00:54:55,630 >> JASON Hirschhorn: Seed seperti dalam - 1167 00:54:55,630 --> 00:54:58,730 jadi rand akan memilih nombor beberapa dan ia akan menggunakan beberapa 1168 00:54:58,730 --> 00:55:00,060 formula untuk sampai ke sana. 1169 00:55:00,060 --> 00:55:03,250 Jadi ia akan bermula dengan sesuatu dan kemudian bertukar menjadi sesuatu yang berdasarkan 1170 00:55:03,250 --> 00:55:03,890 kira formula itu. 1171 00:55:03,890 --> 00:55:06,090 Jika anda sentiasa memberikan perkara yang sama, ia sentiasa akan berubah ke dalam 1172 00:55:06,090 --> 00:55:06,790 perkara yang sama. 1173 00:55:06,790 --> 00:55:08,450 Jadi perkara pertama yang anda memberikan adalah benih. 1174 00:55:08,450 --> 00:55:10,880 Jadi, anda mahu memberikan sesuatu lain untuk memulakan dengan, dan oleh itu 1175 00:55:10,880 --> 00:55:12,610 akan bertukar menjadi sesuatu yang berbeza. 1176 00:55:12,610 --> 00:55:15,840 >> Dan akhirnya, line 20, % ini dipanggil 1177 00:55:15,840 --> 00:55:17,470 modulo, dan yang mengelirukan. 1178 00:55:17,470 --> 00:55:19,850 Itu sesuatu yang sedikit yang berbeza di sini bahawa anda tidak benar-benar 1179 00:55:19,850 --> 00:55:22,240 mempunyai dalam matematik kehidupan sebenar. 1180 00:55:22,240 --> 00:55:27,430 Tetapi pada dasarnya, apabila anda mengambil gergasi bilangan dan anda membahagikan dalam C, apa 1181 00:55:27,430 --> 00:55:29,482 yang berlaku kepada selebihnya? 1182 00:55:29,482 --> 00:55:30,510 >> PELAJAR: Ia mendapat dipenggal. 1183 00:55:30,510 --> 00:55:31,220 >> JASON Hirschhorn: Ia mendapat dipenggal. 1184 00:55:31,220 --> 00:55:35,200 Jadi 20 dibahagikan dengan 3 adalah apa? 1185 00:55:35,200 --> 00:55:37,950 Apakah yang kembali ke anda, 20 dibahagikan dengan 3. 1186 00:55:37,950 --> 00:55:39,260 Maaf, 10 dibahagikan dengan 3. 1187 00:55:39,260 --> 00:55:41,062 Apa yang kembali kepada anda? 1188 00:55:41,062 --> 00:55:41,540 >> PELAJAR: [didengar]. 1189 00:55:41,540 --> 00:55:45,170 >> JASON Hirschhorn: 10 dibahagikan dengan 3 hanya pulangan 3, tidak 3 baki 1. 1190 00:55:45,170 --> 00:55:51,490 Jadi apa 10 modulo 3 mengembalikan hanya baki, 1. 1191 00:55:51,490 --> 00:55:54,020 Jadi, jika anda ingin tahu apa 10 dibahagikan sebanyak 3 sebenarnya adalah, anda akan 1192 00:55:54,020 --> 00:55:58,950 buat 10 dibahagikan dengan 3, anda akan mendapat 3 anda, dan kemudian anda akan buat 10 modulo 3, dan 1193 00:55:58,950 --> 00:55:59,860 anda akan mendapat 1. 1194 00:55:59,860 --> 00:56:04,630 Jadi, anda akan menyedari bahawa 10 dibahagikan sebanyak 3 adalah 3, bakinya 1. 1195 00:56:04,630 --> 00:56:07,990 >> Dan di dalam bidang ini, boleh rand mana-mana integer, pada asasnya. 1196 00:56:07,990 --> 00:56:12,660 Jadi modulo mengatakan, dibahagikan dengan nombor, yang dalam kes ini 5. 1197 00:56:12,660 --> 00:56:16,420 Dan jika anda pernah membahagi dengan nombor, yang integer sentiasa mempunyai kurang daripada 1198 00:56:16,420 --> 00:56:17,590 nombor tersebut. 1199 00:56:17,590 --> 00:56:22,200 Jadi jika anda membahagikan oleh nombor 5, selebihnya adalah sentiasa akan menjadi 1200 00:56:22,200 --> 00:56:23,396 sifar melalui empat. 1201 00:56:23,396 --> 00:56:25,520 Itu hanya bagaimana matematik kerja-kerja keluar. 1202 00:56:25,520 --> 00:56:29,700 >> Jadi sebilangan besar moduloed oleh yang lebih kecil nombor akan sentiasa kembali 1203 00:56:29,700 --> 00:56:33,530 baki dan akan sentiasa kembali beberapa nombor yang kurang daripada bilangan yang anda 1204 00:56:33,530 --> 00:56:34,693 dibahagikan dengan. 1205 00:56:34,693 --> 00:56:37,920 Adakah sesiapa mempunyai sebarang soalan mengenai modulo, kerana ia akan datang dalam sangat, 1206 00:56:37,920 --> 00:56:41,450 sangat berguna, jadi saya ingin memastikan semua orang memahami perkara ini? 1207 00:56:41,450 --> 00:56:43,710 Sejuk. 1208 00:56:43,710 --> 00:56:46,000 Dan kita melihat bahawa program ini bekerja. 1209 00:56:46,000 --> 00:56:50,280 OK, bergerak ke atas. 1210 00:56:50,280 --> 00:56:52,970 >> Jadi akan datang, kami akan pergi ke fungsi, dan kami akan pergi 1211 00:56:52,970 --> 00:56:55,580 melalui seluruh barangan ini cukup cepat kerana saya mahu ke 1212 00:56:55,580 --> 00:56:57,150 line hujah perintah. 1213 00:56:57,150 --> 00:57:00,330 Jadi fungsi asasnya, seperti yang anda lihat, kotak hitam. 1214 00:57:00,330 --> 00:57:04,290 Mereka mengambil perkara-perkara dalam dipanggil parameter, mereka melakukan sesuatu untuk mereka, sama ada 1215 00:57:04,290 --> 00:57:06,990 menukar mereka atau mewujudkan beberapa kesan sampingan, dan akhirnya, mereka meludah 1216 00:57:06,990 --> 00:57:09,530 sesuatu yang keluar, yang merupakan nilai pulangan. 1217 00:57:09,530 --> 00:57:12,495 Bolehkah sesiapa memberi saya satu sebab Sebab itu kita akan menggunakan fungsi? 1218 00:57:12,495 --> 00:57:15,870 1219 00:57:15,870 --> 00:57:16,360 Sesiapa sahaja? 1220 00:57:16,360 --> 00:57:19,360 Salah satu sebab mengapa kita akan menggunakan fungsi-fungsi? 1221 00:57:19,360 --> 00:57:21,280 Sesiapa sahaja? 1222 00:57:21,280 --> 00:57:22,700 Saya melihat dua tangan. 1223 00:57:22,700 --> 00:57:23,590 Apakah sebab-sebab yang baik? 1224 00:57:23,590 --> 00:57:24,930 Marcus? 1225 00:57:24,930 --> 00:57:27,730 >> PELAJAR: Jika anda mempunyai untuk memanggil sama sebahagian kod beberapa kali. 1226 00:57:27,730 --> 00:57:29,150 >> JASON Hirschhorn: OK, jika anda perlu untuk memanggil sebahagian yang sama 1227 00:57:29,150 --> 00:57:30,040 kod beberapa kali. 1228 00:57:30,040 --> 00:57:32,470 Jeff, adakah anda mempunyai sebab yang berbeza? 1229 00:57:32,470 --> 00:57:34,230 >> PELAJAR: Hanya supaya anda boleh kod kurang. 1230 00:57:34,230 --> 00:57:35,070 >> JASON Hirschhorn: Anda boleh kod kurang. 1231 00:57:35,070 --> 00:57:35,320 Betul. 1232 00:57:35,320 --> 00:57:38,720 Jika anda mahu melakukan sesuatu yang banyak - 1233 00:57:38,720 --> 00:57:41,720 dalam kod sebelum ini, saya boleh mempunyai ditulis mendapatkan rentetan lima kali, tetapi 1234 00:57:41,720 --> 00:57:44,620 untuk gelung menjadikan ia kelihatan lebih bagus dan anda perlu menulis kod kurang. 1235 00:57:44,620 --> 00:57:45,760 Fungsi adalah idea yang sama. 1236 00:57:45,760 --> 00:57:48,720 Jika saya mahu melakukan perkara yang sama banyak, bergerak ke fungsi dan panggilan yang 1237 00:57:48,720 --> 00:57:49,610 berfungsi setiap kali. 1238 00:57:49,610 --> 00:57:51,190 Yang akan melakukan perkara itu untuk anda. 1239 00:57:51,190 --> 00:57:53,740 Itulah alasan yang baik menggunakan fungsi. 1240 00:57:53,740 --> 00:57:54,870 >> Jadi anatomi fungsi. 1241 00:57:54,870 --> 00:57:56,670 Fungsi akan secara amnya kelihatan seperti ini. 1242 00:57:56,670 --> 00:57:59,280 Ia akan bermula dengan jenis penyata, maka anda akan mendapat nama. 1243 00:57:59,280 --> 00:58:02,935 Ia akan mengambil hujah-hujah, jika tidak dikenali sebagai parameter, dan dalam 1244 00:58:02,935 --> 00:58:05,290 mereka pendakap kerinting, anda akan menulis kod anda. 1245 00:58:05,290 --> 00:58:07,150 >> Kami telah melihat satu fungsi banyak. 1246 00:58:07,150 --> 00:58:09,160 Itulah utama. 1247 00:58:09,160 --> 00:58:13,820 Berikut adalah utama ditekankan ke anatomi yang saya sebelum ini. 1248 00:58:13,820 --> 00:58:15,525 Apakah int di sini menandakan? 1249 00:58:15,525 --> 00:58:18,534 1250 00:58:18,534 --> 00:58:19,450 Apakah int maksudkan? 1251 00:58:19,450 --> 00:58:21,026 Apabila saya menulis int utama (tidak sah). 1252 00:58:21,026 --> 00:58:21,740 >> PELAJAR: Jenis Kembali? 1253 00:58:21,740 --> 00:58:22,350 >> JASON Hirschhorn: Maaf? 1254 00:58:22,350 --> 00:58:23,170 >> PELAJAR: Jenis balasan. 1255 00:58:23,170 --> 00:58:24,820 >> JASON Hirschhorn: Int adalah kembali jenis, betul-betul betul. 1256 00:58:24,820 --> 00:58:25,870 Main kembali int an. 1257 00:58:25,870 --> 00:58:28,678 Apa yang utama? 1258 00:58:28,678 --> 00:58:29,510 >> PELAJAR: Nama Fungsi. 1259 00:58:29,510 --> 00:58:30,800 >> JASON Hirschhorn: Main adalah nama fungsi. 1260 00:58:30,800 --> 00:58:31,510 Tepat betul. 1261 00:58:31,510 --> 00:58:31,840 Dan tidak sah? 1262 00:58:31,840 --> 00:58:33,190 Apa yang tidak sah di dalam kurungan? 1263 00:58:33,190 --> 00:58:36,650 1264 00:58:36,650 --> 00:58:42,030 >> PELAJAR: Ia tidak mengambil apa-apa nilai luar. 1265 00:58:42,030 --> 00:58:42,930 >> JASON Hirschhorn: sah Jadi - 1266 00:58:42,930 --> 00:58:43,240 betul. 1267 00:58:43,240 --> 00:58:45,940 Di dalam kurungan, kita meletakkan parameter atau hujah-hujah yang 1268 00:58:45,940 --> 00:58:48,480 fungsi yang diperlukan, apa yang berlaku di dalam kotak hitam. 1269 00:58:48,480 --> 00:58:50,760 Apabila anda menulis tidak sah, anda katakan ini mengambil apa-apa masuk 1270 00:58:50,760 --> 00:58:53,802 Jadi tidak sah int utama bermakna yang utama tidak mengambil apa-apa masuk 1271 00:58:53,802 --> 00:58:56,950 >> Di dalam pendakap kerinting, kita mempunyai beberapa kod, dan kemudian kita lihat pada akhir 1272 00:58:56,950 --> 00:58:57,640 kembali sifar. 1273 00:58:57,640 --> 00:59:01,220 Apakah pulangan sifar bermakna? 1274 00:59:01,220 --> 00:59:02,470 Nah, kita bercakap tentang jenis pulangan. 1275 00:59:02,470 --> 00:59:03,780 Utama keperluan untuk kembali int an. 1276 00:59:03,780 --> 00:59:04,960 Itulah apa baris ini tidak. 1277 00:59:04,960 --> 00:59:07,330 Ia mengembalikan int, sifar. 1278 00:59:07,330 --> 00:59:13,600 >> Sudah tentu, kita tidak pernah melihat bahawa banyak kerana dalam program yang kita lakukan dengan 1279 00:59:13,600 --> 00:59:16,070 mesin yang kita lakukan dan penyusun yang kita gunakan hari ini, anda 1280 00:59:16,070 --> 00:59:16,990 tidak perlu garis itu. 1281 00:59:16,990 --> 00:59:20,070 Utama adalah khas yang cukup bahawa ia tahu apabila anda sampai ke akhir utama, hanya 1282 00:59:20,070 --> 00:59:22,060 kembali sifar jika semuanya berjalan dengan baik. 1283 00:59:22,060 --> 00:59:25,560 Malah, jika sesuatu tidak pergi dengan baik, utama sering akan kembali yang berbeza 1284 00:59:25,560 --> 00:59:28,500 nombor menandakan sesuatu yang pergi salah dengan program anda. 1285 00:59:28,500 --> 00:59:32,470 >> Jadi secara umumnya apabila anda melihat kod, anda tidak menulis pulangan sifar, tetapi ia adalah baik 1286 00:59:32,470 --> 00:59:34,770 untuk mengetahui bahawa ia berlaku di belakang adegan kerana apabila anda menulis 1287 00:59:34,770 --> 00:59:36,370 satu lagi jenis fungsi, anda akan perlu 1288 00:59:36,370 --> 00:59:37,400 termasuk talian kembali. 1289 00:59:37,400 --> 00:59:39,710 Jika anda berkata saya akan kembali int, anda perlu 1290 00:59:39,710 --> 00:59:41,250 menulis kembali sesuatu. 1291 00:59:41,250 --> 00:59:45,160 Jika anda mengatakan tidak sah di sini pada permulaan, tidak sah tidak sah utama, bagi 1292 00:59:45,160 --> 00:59:48,670 Sebagai contoh, maka ia tidak kembali apa-apa - tidak sah bermaksud apa-apa - 1293 00:59:48,670 --> 00:59:50,320 jadi anda tidak perlu bahawa talian kembali. 1294 00:59:50,320 --> 00:59:53,610 Tetapi anda pernah menulis sesuatu yang tidak membatalkan untuk jenis pulangan, anda perlu 1295 00:59:53,610 --> 00:59:55,950 garis yang mengatakan pulangan dan anda perlu meletakkan sesuatu di sana 1296 00:59:55,950 --> 00:59:57,650 yang sepadan dengan jenis. 1297 00:59:57,650 --> 00:59:58,900 Mana-mana soalan mengenai itu? 1298 00:59:58,900 --> 01:00:03,110 1299 01:00:03,110 --> 01:00:04,680 Manis. 1300 01:00:04,680 --> 01:00:05,930 >> Skop. 1301 01:00:05,930 --> 01:00:07,360 Ini adalah sesuatu yang kita telah menyentuh juga. 1302 01:00:07,360 --> 01:00:10,720 Setiap berubah-ubah, seperti yang kita tahu, mempunyai skop tertentu, dan yang pada asasnya 1303 01:00:10,720 --> 01:00:14,160 bercakap tentang di mana pembolehubah boleh atau tidak boleh dirujuk. 1304 01:00:14,160 --> 01:00:16,310 Dan saya suka untuk mengatakan apa yang berlaku dalam pendakap kerinting kekal 1305 01:00:16,310 --> 01:00:18,000 dalam pendakap kerinting. 1306 01:00:18,000 --> 01:00:21,490 Sebagai contoh, jika kita lihat pada kod ini, kita menentukan ubah global 1307 01:00:21,490 --> 01:00:24,510 luar utama, int a, di sini di atas. 1308 01:00:24,510 --> 01:00:27,380 Kami memanggil lagi int di dalam utama. 1309 01:00:27,380 --> 01:00:29,760 Kami mempunyai beberapa pendakap lebih kerinting, dan kami memanggil lain yang int. 1310 01:00:29,760 --> 01:00:31,690 >> Kami mempunyai tiga yang dalam kod. 1311 01:00:31,690 --> 01:00:32,550 Ini bukan perkara yang sama. 1312 01:00:32,550 --> 01:00:34,880 Saya telah membuat tiga pembolehubah yang berbeza. 1313 01:00:34,880 --> 01:00:39,370 Kemudian di dalam ini kerinting dalaman pendakap, saya katakan a = 4. 1314 01:00:39,370 --> 01:00:44,130 Yang adalah bahawa bercakap tentang, pertama satu, yang kedua, 1315 01:00:44,130 --> 01:00:47,045 atau yang ketiga? 1316 01:00:47,045 --> 01:00:47,920 >> PELAJAR: Yang ketiga. 1317 01:00:47,920 --> 01:00:49,320 >> JASON Hirschhorn: Ia bercakap kira-kira satu ketiga. 1318 01:00:49,320 --> 01:00:52,850 Semua orang-orang yang sebenarnya boleh bercakap tentang dalam khusus ini 1319 01:00:52,850 --> 01:00:58,660 contohnya kerana skop mereka semua berjalan ke dalam pendakap kerinting terdalam. 1320 01:00:58,660 --> 01:01:02,360 Walau bagaimanapun, apabila anda memanggil perkara yang sama nama, ada sesuatu yang dipanggil bersembunyi. 1321 01:01:02,360 --> 01:01:09,670 Jadi, anda hanya berurusan dengan atau menetapkan atau menggunakan ubah yang paling baru-baru ini, atau salah satu 1322 01:01:09,670 --> 01:01:11,090 paling rapat dengan anda. 1323 01:01:11,090 --> 01:01:14,760 Jadi di sini, ketiga ini adalah yang paling dekat kepada barisan itu, a = 4, jadi ia 1324 01:01:14,760 --> 01:01:16,550 memberi kesan kepada satu pertiga. 1325 01:01:16,550 --> 01:01:19,890 Dan garis terakhir, a = 2, yang merupakan bahawa bercakap tentang, yang pertama, kedua, 1326 01:01:19,890 --> 01:01:20,805 atau ketiga? 1327 01:01:20,805 --> 01:01:22,530 >> PELAJAR: Kedua. 1328 01:01:22,530 --> 01:01:24,430 >> JASON Hirschhorn: Ia bercakap kira-kira satu kedua. 1329 01:01:24,430 --> 01:01:27,970 Sudah tentu, yang ketiga adalah yang paling dekat dengan dalam kod, tetapi ketiga 1330 01:01:27,970 --> 01:01:30,200 tidak wujud di luar mereka pendakap kerinting. 1331 01:01:30,200 --> 01:01:32,650 Sebaik sahaja anda sampai ke tertutup kerinting bersedia, ia seperti ia pergi, 1332 01:01:32,650 --> 01:01:33,570 asasnya. 1333 01:01:33,570 --> 01:01:36,150 Jadi hanya dua anda telah meninggalkan orang-orang dua yang pertama, dan sudah tentu, kini 1334 01:01:36,150 --> 01:01:37,960 ia paling dekat dengan yang kedua. 1335 01:01:37,960 --> 01:01:39,410 >> Jadi itu adalah satu perkara yang baik untuk ingat tentang skop. 1336 01:01:39,410 --> 01:01:42,900 Sebagai contoh, saya pasti anda telah dihadapi ini di lakukan semasa gelung. 1337 01:01:42,900 --> 01:01:46,680 Jika anda memulakan di dalam pembolehubah yang tidak manakala gelung dan kemudian anda cuba untuk 1338 01:01:46,680 --> 01:01:50,360 mengakses di luar, anda mungkin mendapat beberapa amaran seperti ini 1339 01:01:50,360 --> 01:01:51,680 berubah-ubah tidak wujud. 1340 01:01:51,680 --> 01:01:54,370 Ini kerana idea skop, bahawa perkara yang hanya wujud 1341 01:01:54,370 --> 01:01:55,320 di dalam orang-orang pendakap kerinting. 1342 01:01:55,320 --> 01:01:59,320 Pendakap kerinting seperti pelukan gergasi yang anda memberikan kepada kod anda, adalah satu lagi 1343 01:01:59,320 --> 01:02:01,380 cara untuk berfikir mengenainya. 1344 01:02:01,380 --> 01:02:05,280 >> Jadi ini adalah fungsi yang lain, sesuatu untuk anda semua untuk kod, hellofunction.c. 1345 01:02:05,280 --> 01:02:08,240 Kami akan skip bahawa buat masa ini, tetapi ini adalah sesuatu yang saya menggalakkan anda untuk 1346 01:02:08,240 --> 01:02:09,740 berlatih sendiri. 1347 01:02:09,740 --> 01:02:12,510 Tulis satu program di mana panggilan utama satu lagi fungsi yang mencetak keluar 1348 01:02:12,510 --> 01:02:13,750 ucapan kepada pengguna. 1349 01:02:13,750 --> 01:02:17,750 Ia pada asasnya mengambil dunia hello dan pengabstrakan yang printf ke 1350 01:02:17,750 --> 01:02:18,680 fungsi yang lain. 1351 01:02:18,680 --> 01:02:22,360 Tetapi kita tidak akan berbuat baik yang kini kerana kita tidak mempunyai masa yang banyak 1352 01:02:22,360 --> 01:02:23,350 ditinggalkan kerana saya akan suka. 1353 01:02:23,350 --> 01:02:26,250 >> Jadi akuan fungsi. 1354 01:02:26,250 --> 01:02:28,080 Kami telah melihat sebelum ini juga. 1355 01:02:28,080 --> 01:02:31,180 Jika anda mahu menulis fungsi yang lain, anda perlu membiarkan komputer tahu dan 1356 01:02:31,180 --> 01:02:32,600 utama tahu bahawa ia wujud. 1357 01:02:32,600 --> 01:02:37,140 Jadi apa yang kita lakukan adalah atas utama, kita menulis jenis pulangan, nama, dan 1358 01:02:37,140 --> 01:02:42,970 parameter, dan kemudian ke bawah utama, turun di sini, kita sebenarnya menyalin garis yang 1359 01:02:42,970 --> 01:02:45,080 dan kemudian menulis kod sebenar. 1360 01:02:45,080 --> 01:02:50,990 Jadi cara ini, jika anda memanggil fungsi di utama di bahagian atas, utama tahu bahawa 1361 01:02:50,990 --> 01:02:54,650 hello wujud, sebagai contoh, jika saya untuk memanggil hello, dan kemudian ia kelihatan 1362 01:02:54,650 --> 01:02:56,710 pelaksanaan ke bawah. 1363 01:02:56,710 --> 01:02:59,680 Apakah yang akan berlaku jika saya tidak memasukkan ini beratur atas, membatalkan hello (tidak sah)? 1364 01:02:59,680 --> 01:03:03,820 1365 01:03:03,820 --> 01:03:06,560 >> Jika saya tidak mempunyai garis ini dan panggilan utama hello, saya 1366 01:03:06,560 --> 01:03:07,640 akan mendapat ralat. 1367 01:03:07,640 --> 01:03:10,090 Saya akan mendapat ralat kerana pengkompil tidak tahu 1368 01:03:10,090 --> 01:03:13,070 bahawa perkara ini wujud. 1369 01:03:13,070 --> 01:03:16,680 Ini adalah sama dengan mengapa kita jangan # include cs50.h. 1370 01:03:16,680 --> 01:03:21,390 Apa asasnya cs50.h melakukan meletakkan mendapatkan tali di sana. 1371 01:03:21,390 --> 01:03:23,120 Ia meletakkan int mendapatkan di sana. 1372 01:03:23,120 --> 01:03:26,570 Ia meletakkan semua fungsi mereka prototaip sebelum utama supaya apabila 1373 01:03:26,570 --> 01:03:29,900 anda memanggil mereka dalam utama, utama tahu bahawa perkara-perkara ini wujud. 1374 01:03:29,900 --> 01:03:31,630 Itulah apa yang mereka. H fail dilakukan. 1375 01:03:31,630 --> 01:03:33,850 Dan jadi jika anda akan membuat anda sendiri fungsi, anda perlu memastikan 1376 01:03:33,850 --> 01:03:36,690 anda meletakkan prototaip yang di sana. 1377 01:03:36,690 --> 01:03:38,380 Sebarang pertanyaan mengenai perkara ini setakat ini? 1378 01:03:38,380 --> 01:03:41,630 1379 01:03:41,630 --> 01:03:42,490 >> Line hujah perintah. 1380 01:03:42,490 --> 01:03:44,780 Ini adalah apa yang kita akan menyelesaikan , dan kemudian mudah-mudahan kita akan 1381 01:03:44,780 --> 01:03:46,180 memerah dalam beberapa pset. 1382 01:03:46,180 --> 01:03:48,700 Saya tidak tahu jika kita akan dapat memerah yang dalam kerana masa, tetapi 1383 01:03:48,700 --> 01:03:51,560 dengan anda semua yang berada di sini, dan jika anda lelaki ingin berkata selepas untuk sedikit, kita 1384 01:03:51,560 --> 01:03:54,290 boleh pergi ke di luar. 1385 01:03:54,290 --> 01:03:56,020 Tetapi kita akan selesai dengan hujah baris arahan 1386 01:03:56,020 --> 01:03:58,510 selama 15 minit terakhir. 1387 01:03:58,510 --> 01:03:59,930 Kami sedar, Michael? 1388 01:03:59,930 --> 01:04:01,180 Anda sedar? 1389 01:04:01,180 --> 01:04:01,660 Baik. 1390 01:04:01,660 --> 01:04:03,760 Saya tidak tahu jika anda tidur dengan mata tertutup. 1391 01:04:03,760 --> 01:04:05,800 Ia akan menjadi sukar. 1392 01:04:05,800 --> 01:04:07,180 >> Line hujah perintah. 1393 01:04:07,180 --> 01:04:10,430 Mereka adalah salah satu cara untuk memberikan maklumat ke dalam program. 1394 01:04:10,430 --> 01:04:12,780 Akhirnya, kita akan menemui orang lain. 1395 01:04:12,780 --> 01:04:15,600 Tetapi pada dasarnya, kita akan berhenti menulis int utama (tidak sah) jika kita mahu 1396 01:04:15,600 --> 01:04:16,720 mengambil beberapa hujah baris arahan. 1397 01:04:16,720 --> 01:04:19,850 Kami akan menulis perkara ini dipanggil int main (int argc, 1398 01:04:19,850 --> 01:04:22,430 rentetan argv, kurungan. 1399 01:04:22,430 --> 01:04:23,710 Yang mengelirukan. 1400 01:04:23,710 --> 01:04:26,070 Itu banyak huruf yang tidak berada dalam manusia Bahasa Inggeris, jadi kita akan 1401 01:04:26,070 --> 01:04:27,680 membongkar mereka sekarang. 1402 01:04:27,680 --> 01:04:30,450 >> Argc bermaksud kiraan hujah - 1403 01:04:30,450 --> 01:04:32,600 dan sekali lagi, semua ini akan boleh didapati dalam talian - 1404 01:04:32,600 --> 01:04:34,280 dan itulah bilangan hujah. 1405 01:04:34,280 --> 01:04:37,940 Argv bermaksud vektor hujah, dan mereka adalah hujah-hujah mereka. 1406 01:04:37,940 --> 01:04:38,830 Ia adalah pelbagai tali. 1407 01:04:38,830 --> 01:04:40,880 Kami telah benar-benar melihat array rentetan sebelum hari ini. 1408 01:04:40,880 --> 01:04:44,390 Kami telah mencipta satu di lepas Program kita dikodkan. 1409 01:04:44,390 --> 01:04:45,720 >> Jadi di sini adalah satu contoh. 1410 01:04:45,720 --> 01:04:50,230 Saya menulis. / Ohai cs50 seksyen pada baris arahan saya. 1411 01:04:50,230 --> 01:04:54,090 Argc dalam kes ini bersamaan 3. 1412 01:04:54,090 --> 01:05:01,170 Argv kurungan 0 adalah ohai, argv kurungan 1 adalah cs50, argv kurungan 2 adalah bahagian. 1413 01:05:01,170 --> 01:05:05,160 Sekali lagi, argc adalah bilangan hujah, dan perjalanan anda sehingga sedikit 1414 01:05:05,160 --> 01:05:08,710 bit, kita sentiasa mengira nama berfungsi sebagai hujah yang pertama. 1415 01:05:08,710 --> 01:05:12,350 Jadi dalam kes ini, terdapat tiga hujah-hujah, nama fungsi 1416 01:05:12,350 --> 01:05:14,590 dan kemudian kedua-dua yang saya ditaip masuk 1417 01:05:14,590 --> 01:05:18,900 >> Seterusnya, kita akan menyelamatkan orang-orang hujah-hujah mereka dalam argv. 1418 01:05:18,900 --> 01:05:22,690 Dan sekali lagi, seperti yang kita lihat sebelum ini, kami tidak ini dalam program yang kita dikodkan. 1419 01:05:22,690 --> 01:05:27,110 Anda boleh bergerak melalui pelbagai argv dan mendapatkan orang-tali. 1420 01:05:27,110 --> 01:05:28,830 Itulah asasnya apa yang kita lakukan pada akhir program terakhir kami. 1421 01:05:28,830 --> 01:05:33,190 Kami memilih nama rawak dan kemudian pergi ke nama kurungan apa sahaja dan dicetak 1422 01:05:33,190 --> 01:05:34,580 daripada rentetan terletak di sana. 1423 01:05:34,580 --> 01:05:39,870 1424 01:05:39,870 --> 01:05:43,670 >> Di atas hanya array satu, kerana tali sendiri adalah array, sebagai 1425 01:05:43,670 --> 01:05:46,320 bercakap tentang, anda boleh mempunyai array array, yang merupakan 1426 01:05:46,320 --> 01:05:48,530 asasnya apa argv adalah. 1427 01:05:48,530 --> 01:05:51,370 Salah satu cara yang anda boleh berfikir tentang ini adalah baris dan lajur. 1428 01:05:51,370 --> 01:05:54,750 Saya boleh menarik hak yang sekarang. 1429 01:05:54,750 --> 01:05:57,370 Jadi argv - 1430 01:05:57,370 --> 01:05:58,630 itu tidak memadam. 1431 01:05:58,630 --> 01:05:59,880 Mari menarik di bawah ohai. 1432 01:05:59,880 --> 01:06:09,320 1433 01:06:09,320 --> 01:06:12,490 >> Jadi jika saya menulis di dalam, ohai seksyen cs50, Saya akan menyingkatkan 1434 01:06:12,490 --> 01:06:14,520 bahagian untuk contoh ini. 1435 01:06:14,520 --> 01:06:29,026 Tetapi pada dasarnya, pelbagai dimensi saya pelbagai, ohai cs50, 1436 01:06:29,026 --> 01:06:32,200 kita akan melakukan mazhab. 1437 01:06:32,200 --> 01:06:34,610 Jadi di sini, saya boleh mengakses - 1438 01:06:34,610 --> 01:06:40,930 1439 01:06:40,930 --> 01:06:45,710 jika saya hanya memberi argv nombor satu - 1440 01:06:45,710 --> 01:06:46,390 ini adalah salah. 1441 01:06:46,390 --> 01:06:49,020 Apa salahnya dalam rajah ini? 1442 01:06:49,020 --> 01:06:49,690 >> PELAJAR: Mula pada sifar. 1443 01:06:49,690 --> 01:06:50,350 >> JASON Hirschhorn: Ia perlu bermula dengan sifar. 1444 01:06:50,350 --> 01:06:52,940 Saya mungkin perlu juga berputar, tetapi kerana saya sudah tertarik pada, saya 1445 01:06:52,940 --> 01:06:54,120 akan meninggalkan ia di sana buat masa ini. 1446 01:06:54,120 --> 01:06:55,160 Tetapi ia bermula pada sifar. 1447 01:06:55,160 --> 01:06:56,410 Itulah yang betul. 1448 01:06:56,410 --> 01:06:58,980 1449 01:06:58,980 --> 01:07:00,120 Saya minta maaf jika ini adalah kecil. 1450 01:07:00,120 --> 01:07:01,370 Bolehkah anda semua jenis melihat? 1451 01:07:01,370 --> 01:07:03,620 1452 01:07:03,620 --> 01:07:06,670 Jadi, jika saya lakukan argv 0, saya akan mendapatkan semua ohai. 1453 01:07:06,670 --> 01:07:08,555 Jika saya argv 1, saya akan mendapat semua cs50. 1454 01:07:08,555 --> 01:07:10,720 Jika saya argv 2, saya akan mendapatkan semua mazhab. 1455 01:07:10,720 --> 01:07:13,370 >> Tetapi sekarang, seperti yang kita kata, tali adalah barisan sendiri. 1456 01:07:13,370 --> 01:07:19,740 Jadi apa yang boleh saya lakukan adalah saya boleh merawat ini sebagai array pelbagai dimensi, dan saya 1457 01:07:19,740 --> 01:07:24,190 boleh melakukan sesuatu sepanjang garis argv 0, 0, yang memberikan saya hanya 1458 01:07:24,190 --> 01:07:25,400 watak 0. 1459 01:07:25,400 --> 01:07:28,760 Argv 0, 1, yang memberikan saya hanya h. 1460 01:07:28,760 --> 01:07:33,960 Argv 1, 3, yang memberikan saya hanya 0 ini turun di sini di cs50. 1461 01:07:33,960 --> 01:07:37,690 >> Jadi kerana rentetan diri adalah tatasusunan, kita meletakkan 1462 01:07:37,690 --> 01:07:38,540 bahawa dalam pelbagai lain. 1463 01:07:38,540 --> 01:07:42,850 Kami kini mempunyai pelbagai array, dan kami boleh ke dalam pelbagai indeks pertama kami dan 1464 01:07:42,850 --> 01:07:44,840 maka indeks ke pelbagai kedua kami. 1465 01:07:44,840 --> 01:07:48,650 Dan seperti yang anda jangkakan, kita berbuat demikian dengan hanya meletakkan kedua-dua - 1466 01:07:48,650 --> 01:07:51,760 kita melakukan kurungan hanya betul-betul bersebelahan antara satu sama lain. 1467 01:07:51,760 --> 01:07:58,930 Jadi, dalam contoh ini, argv 1 adalah cs50 dan argv 1, 2, seperti yang kita berkata, hanya 5. 1468 01:07:58,930 --> 01:08:02,120 Adakah sesiapa mempunyai sebarang soalan mengenai array pelbagai dimensi? 1469 01:08:02,120 --> 01:08:05,090 1470 01:08:05,090 --> 01:08:06,380 Kalian melakukan yang menggerunkan. 1471 01:08:06,380 --> 01:08:07,750 Manis. 1472 01:08:07,750 --> 01:08:11,980 >> Jadi kita mempunyai satu lagi program di sini, dan ini adalah perkara yang terakhir kami 1473 01:08:11,980 --> 01:08:13,690 akan lakukan sekarang. 1474 01:08:13,690 --> 01:08:18,160 Jadi saya mahu anda untuk menulis program yang mengambil nama penuh pengguna, dua dan hanya 1475 01:08:18,160 --> 01:08:21,649 dua hujah baris arahan, dan akhirnya, mencetak ucapan kepada 1476 01:08:21,649 --> 01:08:24,180 pengguna yang termasuk nama pertama mereka. 1477 01:08:24,180 --> 01:08:27,800 Jadi mengapa tidak anda mengambil tiga atau empat minit untuk melakukan ini, dan kemudian kami akan pergi 1478 01:08:27,800 --> 01:08:29,870 ke atasnya sebagai satu kumpulan, dan maka kita akan mengakhiri? 1479 01:08:29,870 --> 01:09:44,189 1480 01:09:44,189 --> 01:09:48,084 >> Dan sekali lagi, di sini, apabila kita katakan mengambil nama penuh pengguna setiap keterangan 1481 01:09:48,084 --> 01:09:54,473 masalah ini, ia perlu arahan hujah line, tidak menggunakan mendapatkan tali. 1482 01:09:54,473 --> 01:09:55,450 Ya, Marcus? 1483 01:09:55,450 --> 01:09:58,260 >> PELAJAR: Oleh itu, apabila anda berkata dua perintah hujah line, adalah bahawa di samping 1484 01:09:58,260 --> 01:10:00,000 . yang / berjalan, atau - 1485 01:10:00,000 --> 01:10:02,980 >> JASON Hirschhorn: Soalan yang baik. 1486 01:10:02,980 --> 01:10:05,995 Do, termasuk. / Run, tiga line hujah perintah. 1487 01:10:05,995 --> 01:10:08,550 1488 01:10:08,550 --> 01:10:11,320 Atau termasuk. / Peribadi, dalam kes ini, kerana itulah 1489 01:10:11,320 --> 01:10:12,360 nama fail ini. 1490 01:10:12,360 --> 01:10:13,300 Jadi argc akan menjadi tiga. 1491 01:10:13,300 --> 01:10:19,480 Tetapi saya mahu hanya dua hujah diberikan kepada program ini. 1492 01:10:19,480 --> 01:10:20,400 Saya perlu menyatakan bahawa. 1493 01:10:20,400 --> 01:10:23,380 Saya akan membuat perubahan yang sebelum saya hantar ini dan menghantar mereka kepada kamu. 1494 01:10:23,380 --> 01:10:32,747 1495 01:10:32,747 --> 01:10:34,740 >> PELAJAR: Bagaimana jika anda mempunyai nama tengah? 1496 01:10:34,740 --> 01:10:36,800 >> JASON Hirschhorn: Jika anda mempunyai pertengahan yang nama, anda daripada nasib. 1497 01:10:36,800 --> 01:10:38,050 Saya minta maaf. 1498 01:10:38,050 --> 01:10:40,320 1499 01:10:40,320 --> 01:10:43,744 Atau jika anda hanya pergi dengan Shakira, anda juga daripada nasib. 1500 01:10:43,744 --> 01:10:55,672 1501 01:10:55,672 --> 01:10:56,425 Ya? 1502 01:10:56,425 --> 01:11:00,760 >> PELAJAR: Oleh itu, apabila orang tidak mempunyai cs50.h, adakah mereka menentukan argv 1503 01:11:00,760 --> 01:11:03,450 sebagai char bintang argv? 1504 01:11:03,450 --> 01:11:05,160 Atau adakah ia masih dipanggil rentetan argv? 1505 01:11:05,160 --> 01:11:07,430 >> JASON Hirschhorn: Ya. 1506 01:11:07,430 --> 01:11:10,480 Jadi tali, sekali lagi, kita topeng atas apa sebenarnya yang sedang berlaku di sana. 1507 01:11:10,480 --> 01:11:14,040 Itu akan terpadat mungkin pada hari Rabu, tetapi tidak lama lagi. 1508 01:11:14,040 --> 01:11:16,380 Ia seperti roda latihan. 1509 01:11:16,380 --> 01:11:18,370 Kerana pada dasarnya, ia adalah perkara yang sama. 1510 01:11:18,370 --> 01:11:37,040 1511 01:11:37,040 --> 01:11:42,560 >> Jadi mari kita mengambil satu minit lagi untuk program ini, dan kemudian kita akan pergi ke 1512 01:11:42,560 --> 01:11:45,130 ia sebagai satu kumpulan, dan kemudian seperti saya katakan, mengakhiri. 1513 01:11:45,130 --> 01:11:47,770 Dan saya fikir mereka masih gula-gula tambahan, supaya kamu mudah-mudahan harus mengambil 1514 01:11:47,770 --> 01:11:49,790 itu, atau sila ambil itu. 1515 01:11:49,790 --> 01:12:20,380 1516 01:12:20,380 --> 01:12:22,560 >> Maaf jika anda masih menulis, tetapi saya mahu menyelam dalam dan kami 1517 01:12:22,560 --> 01:12:24,010 boleh menyelesaikannya bersama-sama. 1518 01:12:24,010 --> 01:12:30,470 Jadi saya telah menulis di dalam, # include cs50.h, # termasuk stdio.h. 1519 01:12:30,470 --> 01:12:33,970 int main (tidak sah), kerinting bersedia, kerinting bersedia, di dalam tiga barisan 1520 01:12:33,970 --> 01:12:38,760 pseudokod, mengambil nama penuh pengguna, dua dan hanya dua baris arahan 1521 01:12:38,760 --> 01:12:42,670 hujah, mencetak ucapan kepada pengguna yang termasuk nama pertama mereka. 1522 01:12:42,670 --> 01:12:45,810 >> Jadi yang pertama, mengambil nama penuh pengguna. 1523 01:12:45,810 --> 01:12:47,290 Siapa yang boleh membantu saya mengambil nama penuh pengguna ini? 1524 01:12:47,290 --> 01:12:50,882 1525 01:12:50,882 --> 01:12:52,780 Bagaimana saya melakukan bahagian itu? 1526 01:12:52,780 --> 01:12:57,685 1527 01:12:57,685 --> 01:12:59,500 Adakah anda lelaki melakukan bahagian pertama? 1528 01:12:59,500 --> 01:13:02,587 1529 01:13:02,587 --> 01:13:03,894 Ambil nama penuh pengguna. 1530 01:13:03,894 --> 01:13:05,860 Nah, untuk satu baris arahan hujah, apa yang perlu saya menulis? 1531 01:13:05,860 --> 01:13:09,624 Apakah yang perlu saya menukar tentang akuan fungsi saya? 1532 01:13:09,624 --> 01:13:11,140 >> PELAJAR: Anda tidak mahu ia menjadi tidak sah lagi. 1533 01:13:11,140 --> 01:13:11,410 >> JASON Hirschhorn: Tepat sekali. 1534 01:13:11,410 --> 01:13:12,385 Saya tidak mahu ia menjadi tidak sah. 1535 01:13:12,385 --> 01:13:13,630 Apa yang saya mahu ia? 1536 01:13:13,630 --> 01:13:14,650 >> PELAJAR: argc Int. 1537 01:13:14,650 --> 01:13:15,720 >> JASON Hirschhorn: Int argc. 1538 01:13:15,720 --> 01:13:17,430 >> PELAJAR: argv String. 1539 01:13:17,430 --> 01:13:19,055 >> JASON Hirschhorn: Rentetan argv. 1540 01:13:19,055 --> 01:13:19,705 >> PELAJAR: Bracket, kurungan. 1541 01:13:19,705 --> 01:13:20,070 >> JASON Hirschhorn: Bracket, kurungan. 1542 01:13:20,070 --> 01:13:21,780 Itulah yang betul, dan itulah sebenarnya bagaimana saya akan mendapatkan 1543 01:13:21,780 --> 01:13:22,820 nama penuh pengguna. 1544 01:13:22,820 --> 01:13:24,070 Mereka akan meletakkan ia di sana. 1545 01:13:24,070 --> 01:13:27,720 1546 01:13:27,720 --> 01:13:28,780 Jadi salah satu yang dilakukan. 1547 01:13:28,780 --> 01:13:30,780 Jadi sekarang saya mahu dua dan hanya dua line hujah perintah. 1548 01:13:30,780 --> 01:13:35,065 Jadi Nuh, apa yang merupakan salah satu cara saya boleh semak nombor perintah 1549 01:13:35,065 --> 01:13:36,315 hujah talian saya? 1550 01:13:36,315 --> 01:13:39,676 1551 01:13:39,676 --> 01:13:40,725 >> PELAJAR: Anda melakukan sesuatu jika kenyataan. 1552 01:13:40,725 --> 01:13:42,270 >> JASON Hirschhorn: Jika pernyataan, tepat. 1553 01:13:42,270 --> 01:13:44,830 Apa yang saya mahu sebagai keadaan? 1554 01:13:44,830 --> 01:13:48,370 >> PELAJAR: Jika argc lebih besar daripada 3. 1555 01:13:48,370 --> 01:13:52,485 >> JASON Hirschhorn: Jika argc adalah lebih besar daripada 3. 1556 01:13:52,485 --> 01:13:58,430 Jika argc lebih daripada 3, apa yang saya lakukan? 1557 01:13:58,430 --> 01:13:59,400 >> PELAJAR: Pulang Balik 1. 1558 01:13:59,400 --> 01:14:01,856 >> JASON Hirschhorn: Kembali 1. 1559 01:14:01,856 --> 01:14:04,050 Yang akan memastikan saya mempunyai dua dan hanya dua? 1560 01:14:04,050 --> 01:14:07,280 1561 01:14:07,280 --> 01:14:07,820 >> PELAJAR: No 1562 01:14:07,820 --> 01:14:13,110 Jika argc adalah lebih besar daripada 3 dan kurang daripada 2. 1563 01:14:13,110 --> 01:14:17,770 >> JASON Hirschhorn: Jika argc adalah lebih besar daripada 3 dan argc adalah kurang daripada 2. 1564 01:14:17,770 --> 01:14:21,540 Apa yang salah satu cara yang boleh saya menulis ini dalam hanya satu baris, atau tanpa menggunakan bahawa 1565 01:14:21,540 --> 01:14:23,890 dan operator Boolean? 1566 01:14:23,890 --> 01:14:25,942 >> PELAJAR: Ia tidak sama dengan 2. 1567 01:14:25,942 --> 01:14:28,790 >> JASON Hirschhorn: Jika argc tidak sama dengan 2. 1568 01:14:28,790 --> 01:14:29,260 Tepat sekali. 1569 01:14:29,260 --> 01:14:34,890 Jadi jika argc tidak sama dengan 2, yang akan memberi saya program ini, 1570 01:14:34,890 --> 01:14:37,250 peribadi, apabila saya berjalan, dan yang akan memberi saya berapa ramai 1571 01:14:37,250 --> 01:14:38,740 baris arahan hujah? 1572 01:14:38,740 --> 01:14:42,110 Berapa banyak saya akan memeriksa? 1573 01:14:42,110 --> 01:14:42,370 >> Maaf. 1574 01:14:42,370 --> 01:14:43,400 Biar saya reword itu. 1575 01:14:43,400 --> 01:14:46,620 Jika argc = 2, berapa banyak perkara tidak pengguna menulis ke baris? 1576 01:14:46,620 --> 01:14:47,500 >> PELAJAR: Satu. 1577 01:14:47,500 --> 01:14:49,120 >> JASON Hirschhorn: Hanya satu. 1578 01:14:49,120 --> 01:14:50,430 Jadi sebelum ini, anda adalah betul, Nuh. 1579 01:14:50,430 --> 01:14:52,192 Apa yang saya benar-benar perlu untuk meletakkan di sana? 1580 01:14:52,192 --> 01:14:53,640 >> PELAJAR: Yang sama 3. 1581 01:14:53,640 --> 01:14:55,970 >> JASON Hirschhorn: Argc tidak sama 3. 1582 01:14:55,970 --> 01:15:00,250 Saya mahu sama 3 kerana saya mahu peribadi serta dua yang lain. 1583 01:15:00,250 --> 01:15:02,560 Jadi jika argc tidak 3 sama, kembali 1. 1584 01:15:02,560 --> 01:15:04,475 Mengapa kamu katakan kembali 1? 1585 01:15:04,475 --> 01:15:06,180 >> PELAJAR: Kerana itu bermakna ia salah. 1586 01:15:06,180 --> 01:15:08,420 >> JASON Hirschhorn: Ini bermakna ia salah, dan apa yang yang akan lakukan? 1587 01:15:08,420 --> 01:15:10,360 >> PELAJAR: Re-segera pengguna. 1588 01:15:10,360 --> 01:15:11,940 >> JASON Hirschhorn: Ia akan berhenti program ini, maka ia akan perlu menjalankan 1589 01:15:11,940 --> 01:15:14,520 sekali lagi, tetapi kita tidak mempunyai apa-apa di sini untuk meminta mereka lagi. 1590 01:15:14,520 --> 01:15:14,840 Saya tidak meminta untuk itu. 1591 01:15:14,840 --> 01:15:15,990 Jadi itulah yang betul. 1592 01:15:15,990 --> 01:15:17,680 Kembali 1 hanya berhenti program ini. 1593 01:15:17,680 --> 01:15:18,520 Besar. 1594 01:15:18,520 --> 01:15:21,600 >> Dan mencetak ucapan kepada pengguna yang termasuk nama pertama mereka. 1595 01:15:21,600 --> 01:15:24,010 Bagaimana saya boleh berbuat demikian? 1596 01:15:24,010 --> 01:15:25,990 Anna? 1597 01:15:25,990 --> 01:15:26,580 >> PELAJAR: printf. 1598 01:15:26,580 --> 01:15:27,785 >> JASON Hirschhorn: printf. 1599 01:15:27,785 --> 01:15:28,640 >> PELAJAR: (" 1600 01:15:28,640 --> 01:15:30,460 >> JASON Hirschhorn: ( 1601 01:15:30,460 --> 01:15:31,600 >> PELAJAR: "hello 1602 01:15:31,600 --> 01:15:33,210 >> JASON Hirschhorn: "hello 1603 01:15:33,210 --> 01:15:34,800 >> PELAJAR:% s 1604 01:15:34,800 --> 01:15:37,230 >> JASON Hirschhorn:% s 1605 01:15:37,230 --> 01:15:38,840 >> PELAJAR: / n 1606 01:15:38,840 --> 01:15:41,030 >> JASON Hirschhorn: / n 1607 01:15:41,030 --> 01:15:43,120 >> PELAJAR: ", 1608 01:15:43,120 --> 01:15:45,130 >> JASON Hirschhorn: ", 1609 01:15:45,130 --> 01:15:46,620 >> PELAJAR: Argv 1610 01:15:46,620 --> 01:15:47,080 >> JASON Hirschhorn: Maaf? 1611 01:15:47,080 --> 01:15:47,750 >> PELAJAR: Argv 1612 01:15:47,750 --> 01:15:48,840 >> JASON Hirschhorn: Argv 1613 01:15:48,840 --> 01:15:50,190 >> PELAJAR: Square kurungan 1. 1614 01:15:50,190 --> 01:15:51,230 >> JASON Hirschhorn: kurungan Square? 1615 01:15:51,230 --> 01:15:51,870 >> PELAJAR: 1. 1616 01:15:51,870 --> 01:15:54,050 >> JASON Hirschhorn: 1. 1617 01:15:54,050 --> 01:15:55,850 >> PELAJAR: Dan) dengan koma bertitik. 1618 01:15:55,850 --> 01:15:58,290 >> JASON Hirschhorn:) dengan koma bertitik. 1619 01:15:58,290 --> 01:16:00,250 Marilah kita menjalankan ini. 1620 01:16:00,250 --> 01:16:03,730 Buat peribadi. 1621 01:16:03,730 --> 01:16:06,392 . / Peribadi. 1622 01:16:06,392 --> 01:16:07,420 Ia hanya berhenti. 1623 01:16:07,420 --> 01:16:10,390 Mengapa ia berhenti? 1624 01:16:10,390 --> 01:16:11,310 >> PELAJAR: Anda tidak meletakkan apa-apa hujah. 1625 01:16:11,310 --> 01:16:12,560 >> JASON Hirschhorn: Saya tidak meletakkan apa-apa hujah masuk 1626 01:16:12,560 --> 01:16:16,360 1627 01:16:16,360 --> 01:16:16,920 Kelihatan hebat. 1628 01:16:16,920 --> 01:16:18,130 Kalian dipaku ia. 1629 01:16:18,130 --> 01:16:22,420 Jadi sekali lagi, anda pergi ke argv dan anda diperiksa pada argc permulaan. 1630 01:16:22,420 --> 01:16:24,390 Inilah dua penting perkara yang perlu diingat. 1631 01:16:24,390 --> 01:16:29,250 Jadi dalam terakhir kami dua minit sebelum kita meninggalkan, kita tidak akan dapat pset dua, tetapi 1632 01:16:29,250 --> 01:16:33,585 seperti saya katakan, jika anda mahu kekal selepas selama 10 minit, saya akan gembira untuk dia pergi 1633 01:16:33,585 --> 01:16:35,710 lebih dengan anda semua logik bagi set masalah. 1634 01:16:35,710 --> 01:16:37,930 Kami mempunyai banyak untuk menampung hari ini jadi saya tidak sampai kepada mereka. 1635 01:16:37,930 --> 01:16:39,820 Secara umumnya, saya suka termasuk bahawa pada akhir. 1636 01:16:39,820 --> 01:16:42,150 Jadi, jika anda mahu melekat di sekeliling, melekat di sekeliling selama 10 minit. 1637 01:16:42,150 --> 01:16:42,990 Kami akan berbuat demikian. 1638 01:16:42,990 --> 01:16:46,250 >> Kemudian, seperti yang saya nyatakan di awal, pset sifar dan satu, kita akan mendapat yang 1639 01:16:46,250 --> 01:16:48,040 maklum balas kembali kepada anda secepat mungkin. 1640 01:16:48,040 --> 01:16:51,260 Matlamatnya adalah untuk mendapatkan pset satu maklum balas, bahagian komen, 1641 01:16:51,260 --> 01:16:52,850 sebelum pset dua adalah disebabkan. 1642 01:16:52,850 --> 01:16:56,730 Jadi, jika anda membuat beberapa kesilapan atau stylistically, perkara-perkara yang lebih baik, 1643 01:16:56,730 --> 01:17:01,330 anda akan mempunyai maklumat yang begitu anda tidak akan melakukan perkara yang sama dalam pset dua. 1644 01:17:01,330 --> 01:17:06,140 Dan kemudian pada masa akan datang, anda akan mendapat semua maklum balas pset anda dan komen 1645 01:17:06,140 --> 01:17:08,190 kembali sebelum yang seterusnya adalah disebabkan. 1646 01:17:08,190 --> 01:17:12,695 >> Akhir sekali, jika saya boleh dimasukkan ke dalam satu lagi plug maklum balas. 1647 01:17:12,695 --> 01:17:13,935 Ini adalah bahagian pertama anda. 1648 01:17:13,935 --> 01:17:15,920 Ia adalah bahagian pertama saya pengajaran tahun ini. 1649 01:17:15,920 --> 01:17:16,930 Pergi ke sana. 1650 01:17:16,930 --> 01:17:19,800 Tulis barangan, baik dan buruk, dan saya akan menggunakannya untuk membuat 1651 01:17:19,800 --> 01:17:21,320 seksyen yang lebih baik pada masa akan datang. 1652 01:17:21,320 --> 01:17:24,870 Dan terakhir, sekali lagi, jika anda perlu apa-apa, beritahu saya. 1653 01:17:24,870 --> 01:17:26,410 Saya lebih daripada gembira untuk membantu anda semua. 1654 01:17:26,410 --> 01:17:28,420 Jika anda hanya mahu gula-gula, saya akan mempunyai gula-gula tambahan. 1655 01:17:28,420 --> 01:17:29,800 Saya gembira untuk membawa kepada anda. 1656 01:17:29,800 --> 01:17:31,190 >> Ini akan menjadi satu kursus yang menakjubkan. 1657 01:17:31,190 --> 01:17:34,900 Ini adalah salah satu, jika tidak kegemaran saya Sudah tentu, saya telah mengambil di seluruh hidup saya, 1658 01:17:34,900 --> 01:17:37,220 dan saya berharap ia akan menjadi yang menarik untuk anda. 1659 01:17:37,220 --> 01:17:40,090 Jadi saya mahu melakukan segala-galanya dalam kuasa saya untuk menjadikannya yang hebat untuk anda. 1660 01:17:40,090 --> 01:17:46,590 Saya akan menghantar e-mel jika anda dalam seksyen saya atau Nuh, dan 1661 01:17:46,590 --> 01:17:50,310 akan cuba dan jadual dengan setiap anda semua masa untuk mendaftar masuk ke atas 1662 01:17:50,310 --> 01:17:53,820 beberapa minggu akan datang, jadi saya boleh mendapatkan rasa apa latar belakang CS anda, 1663 01:17:53,820 --> 01:17:58,170 dan ia juga akan membantu saya menyesuaikan ini bahagian-bahagian yang lebih baik sesuai dengan keperluan anda. 1664 01:17:58,170 --> 01:17:59,740 Jadi itulah yang saya telah mendapat berbaris. 1665 01:17:59,740 --> 01:18:02,260 Sekali lagi, saya akan melihat anda di luar jika anda mahu berada di sana. 1666 01:18:02,260 --> 01:18:03,700 Ini adalah dua minggu bahagian. 1667 01:18:03,700 --> 01:18:04,950 Terima kasih guys begitu banyak. 1668 01:18:04,950 --> 01:18:09,067