1 00:00:00,000 --> 00:00:03,290 >> [MUSIC PLAYING] 2 00:00:03,290 --> 00:00:04,989 3 00:00:04,989 --> 00:00:06,280 JASON Hirschhorn: OK, semua orang. 4 00:00:06,280 --> 00:00:07,460 Selamat Datang di Bagian. 5 00:00:07,460 --> 00:00:10,840 Ini CS50, sangat kami Super bagian pertama. 6 00:00:10,840 --> 00:00:13,700 Seperti Anda semua tahu, minggu depan bagian reguler akan mulai, 7 00:00:13,700 --> 00:00:15,580 tapi minggu ini kita semua bersama-sama. 8 00:00:15,580 --> 00:00:17,730 >> Ada sendiri. 9 00:00:17,730 --> 00:00:18,840 Nama saya Jason. 10 00:00:18,840 --> 00:00:20,630 Saya seorang dosen di bidang Ilmu Komputer. 11 00:00:20,630 --> 00:00:23,910 Kami memiliki Andi, siapa kepala TA dari CS50. 12 00:00:23,910 --> 00:00:27,630 Dan Scaz, Profesor Brian Scassellati, dia seorang profesor di bidang Ilmu Komputer. 13 00:00:27,630 --> 00:00:30,970 >> Kami adalah kepala CS50 di Yale. 14 00:00:30,970 --> 00:00:34,992 Anda selalu dapat email kami heads@cs50.yale.edu. 15 00:00:34,992 --> 00:00:35,950 Kami akan berada di kuliah. 16 00:00:35,950 --> 00:00:37,547 Kami akan berada di jam kantor. 17 00:00:37,547 --> 00:00:40,130 Jika ada apa-apa yang pernah kita bisa lakukan untuk Anda, apa pun yang Anda butuhkan, 18 00:00:40,130 --> 00:00:42,610 merasa bebas untuk menjangkau kita. 19 00:00:42,610 --> 00:00:44,140 >> Jadi apa yang akan kita lakukan hari ini? 20 00:00:44,140 --> 00:00:47,790 Atau sebelum itu, apa datang minggu ini? 21 00:00:47,790 --> 00:00:52,620 Jadi jam kantor adalah Senin, Selasa, Rabu, dan Kamis, 8:00-11:00. 22 00:00:52,620 --> 00:00:54,770 Ada jadwal di website. 23 00:00:54,770 --> 00:00:57,830 >> Bagian, seperti saya sebutkan, mulai minggu depan. 24 00:00:57,830 --> 00:01:01,390 Dan Anda akan menemukan apa minggu ini mengatur waktu bagian Anda, hari apa itu, 25 00:01:01,390 --> 00:01:03,350 dan siapa TA Anda. 26 00:01:03,350 --> 00:01:08,610 >> Masalah Set 1 adalah karena pada hari Kamis di siang, Jumat siang dengan hari akhir. 27 00:01:08,610 --> 00:01:10,817 Ya, Anda memiliki sembilan hari terlambat. 28 00:01:10,817 --> 00:01:12,150 Dan ada sembilan masalah set. 29 00:01:12,150 --> 00:01:14,320 Dan hanya dapat menggunakan satu akhir hari per masalah set. 30 00:01:14,320 --> 00:01:17,930 Ya, pada dasarnya, semua masalah set adalah karena Jumat siang. 31 00:01:17,930 --> 00:01:18,550 Itu semuanya. 32 00:01:18,550 --> 00:01:20,400 Semua yang ada di rincian silabus. 33 00:01:20,400 --> 00:01:22,360 >> Setiap Jumat, kami memiliki makan siang. 34 00:01:22,360 --> 00:01:25,230 Kami ingin membuat ini besar Tentu saja merasa sedikit lebih kecil. 35 00:01:25,230 --> 00:01:26,580 Jadi Anda dipersilakan untuk RSVP. 36 00:01:26,580 --> 00:01:30,050 Gratis makan siang dengan rekan-rekan teman sekelas dan staf. 37 00:01:30,050 --> 00:01:34,120 cs50.yale.edu/rsvp. 38 00:01:34,120 --> 00:01:36,940 >> Semua hal ini yang Saya miliki di layar, 39 00:01:36,940 --> 00:01:43,330 dan banyak lagi, Anda dapat menemukan cs50.yale.edu atau cs50.harvard.edu, jika Anda pergi ke Harvard 40 00:01:43,330 --> 00:01:46,800 dan menonton secara online ini. 41 00:01:46,800 --> 00:01:50,240 >> Juga pada situs-situs, ada satu ton sumber daya untuk Anda. 42 00:01:50,240 --> 00:01:54,610 Setiap kuliah tidak hanya memiliki video dari kuliah, tapi juga mencatat. 43 00:01:54,610 --> 00:01:58,184 Seseorang akan menonton kuliah dan mengambil catatan untuk Anda. 44 00:01:58,184 --> 00:02:00,100 Jadi Anda hanya dapat membayar perhatian selama kuliah, 45 00:02:00,100 --> 00:02:03,970 atau Anda dapat menggunakan catatan mereka / kami catatan untuk melengkapi catatan Anda sendiri. 46 00:02:03,970 --> 00:02:04,987 >> Ada slide online. 47 00:02:04,987 --> 00:02:07,320 Sumber code-- segalanya David berjalan di atas dalam kuliah, 48 00:02:07,320 --> 00:02:09,979 atau Scaz berjalan di atas kuliah, yang Kode sumber tersedia secara online 49 00:02:09,979 --> 00:02:11,750 juga, karena seperti saya, disebutkan video. 50 00:02:11,750 --> 00:02:14,257 >> Bagian, juga, semua akan difilmkan. 51 00:02:14,257 --> 00:02:15,840 Semua dari mereka slide akan tersedia. 52 00:02:15,840 --> 00:02:18,190 Semua kode yang akan tersedia untuk Anda. 53 00:02:18,190 --> 00:02:22,440 Ada celana pendek di website mana Anggota staf CS50 menghabiskan lima sampai 10 54 00:02:22,440 --> 00:02:24,130 menit melalui topik untuk Anda. 55 00:02:24,130 --> 00:02:26,750 Beberapa dari mereka Anda sudah sudah ditemui dalam masalah set. 56 00:02:26,750 --> 00:02:30,430 >> Jam kantor, seperti yang saya sebutkan, Senin melalui Kamis, 8:00-11:00. 57 00:02:30,430 --> 00:02:32,600 CS50 Studi adalah sumber daya yang fantastis. 58 00:02:32,600 --> 00:02:37,100 Ada masalah praktek, slide sampel, bug dikenal 59 00:02:37,100 --> 00:02:40,920 bahwa siswa ingin mengalami, untuk dasarnya setiap kita topik 60 00:02:40,920 --> 00:02:42,650 akan mencakup dalam kursus ini. 61 00:02:42,650 --> 00:02:46,350 >> Dan akhirnya, pada slide ini setidaknya, Reference50 62 00:02:46,350 --> 00:02:49,690 yang memberikan informasi pada semua fungsi C 63 00:02:49,690 --> 00:02:53,160 Anda pernah mungkin berharap digunakan dan banyak, banyak lagi. 64 00:02:53,160 --> 00:02:55,690 >> Sekali lagi, yang titik titik titik di bagian bawah layar 65 00:02:55,690 --> 00:02:59,990 adalah untuk menunjukkan bahwa ada bahkan lebih banyak sumber daya pada dua website: 66 00:02:59,990 --> 00:03:04,270 cs50.yale.edu, cs50.harvard.edu. 67 00:03:04,270 --> 00:03:05,840 >> Jadi, apa yang kita lakukan hari ini? 68 00:03:05,840 --> 00:03:08,970 Yah, pertama saya akan memberikan Anda melihat sumber. 69 00:03:08,970 --> 00:03:10,010 Sudah melakukan yang satu itu. 70 00:03:10,010 --> 00:03:11,590 Melihat kami. 71 00:03:11,590 --> 00:03:16,430 >> Sekarang, kita akan pergi tipe data dan operator di C. 72 00:03:16,430 --> 00:03:19,990 Kemudian Andi akan datang ke sini dan pergi perpustakaan di C, printf (), 73 00:03:19,990 --> 00:03:24,570 fungsi yang Anda sudah akrab atau cepat akan menjadi sangat 74 00:03:24,570 --> 00:03:25,530 akrab. 75 00:03:25,530 --> 00:03:27,810 Dan Anda juga akan pergi conditional dan loop. 76 00:03:27,810 --> 00:03:30,900 >> Dan akhirnya, Scaz akan pergi ke ID CS50. 77 00:03:30,900 --> 00:03:34,250 Jika Anda belum terjun di sudah pada Soal Set 1, 78 00:03:34,250 --> 00:03:37,060 serta bagaimana menggunakan terminal dan berguna perintah 79 00:03:37,060 --> 00:03:42,280 dan kemudian memberikan beberapa demo dan praktek coding di ID CS50. 80 00:03:42,280 --> 00:03:45,130 >> Sebelum saya melompat ke ini isi pada sisi ini, 81 00:03:45,130 --> 00:03:46,770 apakah ada yang memiliki pertanyaan sejauh ini? 82 00:03:46,770 --> 00:03:53,190 83 00:03:53,190 --> 00:03:54,030 Besar. 84 00:03:54,030 --> 00:03:54,950 OKE. 85 00:03:54,950 --> 00:03:55,810 Mengubah gigi. 86 00:03:55,810 --> 00:03:58,760 >> [MENGUBAH GEARS] 87 00:03:58,760 --> 00:04:03,070 >> Itu aku menggeser gigi di mobil manual. 88 00:04:03,070 --> 00:04:10,920 Jadi tipe data di C, Anda tidak bisa hanya memiliki variabel x dan memilikinya berada di baris 10, 89 00:04:10,920 --> 00:04:17,170 integer, mungkin nomor 1, pada baris 20, angka desimal 10,5, 90 00:04:17,170 --> 00:04:20,500 dan kemudian beberapa baris kemudian string, aku cinta CS50. 91 00:04:20,500 --> 00:04:25,052 >> Dalam C, variabel hanya dapat satu hal, dan satu hal saja. 92 00:04:25,052 --> 00:04:26,510 Dan sehingga Anda harus memberi mereka jenis. 93 00:04:26,510 --> 00:04:28,780 Dan di forum ini, kita memiliki daftar jenis. 94 00:04:28,780 --> 00:04:32,000 Ada karakter, yang berdiri untuk karakter. 95 00:04:32,000 --> 00:04:36,850 Jadi itu satu huruf A, B, C, D. Itu juga bisa menjadi ruang, 96 00:04:36,850 --> 00:04:40,290 atau yang juga bisa karakter baris baru. 97 00:04:40,290 --> 00:04:45,030 >> Ada bilangan bulat, yang hanya angka, seluruh Numbers atau bilangan bulat 98 00:04:45,030 --> 00:04:47,130 rather-- tapi tidak ada desimal. 99 00:04:47,130 --> 00:04:49,790 >> Untuk desimal, kita memiliki angka floating point. 100 00:04:49,790 --> 00:04:53,200 Angka floating point adalah angka dengan desimal. 101 00:04:53,200 --> 00:04:58,160 >> Lalu ada rindu, yang bilangan bulat dasarnya lagi. 102 00:04:58,160 --> 00:05:01,160 Anda akan melihat bahwa panjang adalah 8 sedangkan int adalah 4. 103 00:05:01,160 --> 00:05:02,640 Aku akan mendapatkan bahwa dalam satu detik. 104 00:05:02,640 --> 00:05:07,390 Itu karena rindu dapat menyimpan bahkan lebih bilangan bulat dari int dapat menyimpan. 105 00:05:07,390 --> 00:05:10,100 Ganda adalah pelampung panjang. 106 00:05:10,100 --> 00:05:12,460 >> Dan akhirnya, kita memiliki string, yang merupakan tipe 107 00:05:12,460 --> 00:05:14,430 bahwa Anda mungkin digunakan sebelumnya. 108 00:05:14,430 --> 00:05:21,100 Jika Anda termasuk hashtag # includeCS50.h dalam file sumber Anda, 109 00:05:21,100 --> 00:05:23,170 maka Anda dapat menggunakan tipe string. 110 00:05:23,170 --> 00:05:25,560 Itu tidak benar-benar dibangun ke C. 111 00:05:25,560 --> 00:05:27,760 >> Ada beberapa jenis lain juga. 112 00:05:27,760 --> 00:05:32,900 Tapi ini adalah yang utama dengan yang akan Anda gunakan dan temui. 113 00:05:32,900 --> 00:05:36,210 C sebagai, sekali lagi saya sebutkan, setiap variable-- itu 114 00:05:36,210 --> 00:05:38,620 hanya dapat satu jenis dan satu jenis saja. 115 00:05:38,620 --> 00:05:42,890 Itu karena C adalah statis bahasa diketik, sebagai lawan 116 00:05:42,890 --> 00:05:45,780 untuk bahasa dinamis mengetik di mana jika Anda membuat sebuah variabel 117 00:05:45,780 --> 00:05:50,081 Anda dapat mengubah apa yang disimpan dalam sebagai Anda pergi dalam program Anda. 118 00:05:50,081 --> 00:05:52,580 Di sini di sebelah kanan sisi, saya memiliki ukuran yang berbeda 119 00:05:52,580 --> 00:05:57,440 dari jenis data dalam byte. 120 00:05:57,440 --> 00:05:59,710 Jadi karakter adalah 1 byte. 121 00:05:59,710 --> 00:06:01,250 Itu 8 bit. 122 00:06:01,250 --> 00:06:05,530 Dan itu berarti karena 8 bit ada delapan 0s dan 1s. 123 00:06:05,530 --> 00:06:08,280 Kami melihat mereka demo di pertama minggu dengan lampu biner. 124 00:06:08,280 --> 00:06:15,680 >> Dengan 8 bit atau 1 byte, kita bisa mewakili angka dari 0 sampai 255. 125 00:06:15,680 --> 00:06:16,180 Benar. 126 00:06:16,180 --> 00:06:18,770 Jika semua 8 bit adalah 0 itu 0. 127 00:06:18,770 --> 00:06:23,640 Jika bit pertama adalah 1, yang jumlahnya satu, dan sebagainya, semua jalan sampai ke 255. 128 00:06:23,640 --> 00:06:28,290 Dan itulah mengapa untuk karakter Anda bisa memiliki dasarnya hingga 255 dari mereka, 129 00:06:28,290 --> 00:06:31,210 tapi itu banyak untuk menutupi semua karakter kita perlu menggunakan. 130 00:06:31,210 --> 00:06:38,060 >> Untuk bilangan bulat, Anda dapat memiliki 0 dan maka Anda memiliki 2 ke 32 minus 1. 131 00:06:38,060 --> 00:06:40,340 Mereka adalah berapa banyak pilihan Anda memiliki untuk bilangan bulat. 132 00:06:40,340 --> 00:06:44,780 >> Untuk waktu yang lama, Anda memiliki 0 2 ke 64 minus 1. 133 00:06:44,780 --> 00:06:48,860 Jadi Anda memiliki banyak, banyak, lebih banyak pilihan untuk rindu. 134 00:06:48,860 --> 00:06:54,220 >> String, itu tanda tanya karena itulah cliffhanger untuk nanti. 135 00:06:54,220 --> 00:06:55,000 Ya. 136 00:06:55,000 --> 00:06:56,350 Saya bisa memberitahu semua orang yang di tepi kursi mereka, 137 00:06:56,350 --> 00:06:57,450 seperti apa itu tanda tanya? 138 00:06:57,450 --> 00:06:58,390 Ini cliffhanger. 139 00:06:58,390 --> 00:07:02,340 Kami akhirnya akan mencakup ukuran string dan berbicara tentang string. 140 00:07:02,340 --> 00:07:04,692 Karena string sebenarnya salah satu roda pelatihan 141 00:07:04,692 --> 00:07:06,400 kita pasang di dalam ini Tentu saja di awal 142 00:07:06,400 --> 00:07:09,700 dan kemudian lepas landas kemudian pada, karena string di C 143 00:07:09,700 --> 00:07:13,320 sebenarnya pointer karakter array. 144 00:07:13,320 --> 00:07:15,810 Tapi sekali lagi, itu adalah cliffhanger untuk nanti. 145 00:07:15,810 --> 00:07:18,890 Sebelum saya melanjutkan pertanyaan, komentar, kekhawatiran tentang geser ini? 146 00:07:18,890 --> 00:07:25,800 147 00:07:25,800 --> 00:07:26,630 >> OKE. 148 00:07:26,630 --> 00:07:30,330 Aku harus menjadi explainer fantastis. 149 00:07:30,330 --> 00:07:33,210 Juga ketika Anda pemrograman, Anda akan menggunakan operator ini. 150 00:07:33,210 --> 00:07:36,730 Tanda-tanda benar-benar sederhana yang dapat melakukan sederhana operasi, dengan yang Anda mungkin 151 00:07:36,730 --> 00:07:38,340 sudah sangat akrab. 152 00:07:38,340 --> 00:07:42,580 >> Misalnya, di sebelah kanan sisi, kita melihat menambahkan. 153 00:07:42,580 --> 00:07:44,640 Untuk menambahkan, Anda hanya melakukan tanda Plus. 154 00:07:44,640 --> 00:07:46,850 Dan sehingga Anda mungkin harus dua variabel x dan y. 155 00:07:46,850 --> 00:07:48,810 Anda dapat melakukan x + y dalam kode Anda. 156 00:07:48,810 --> 00:07:52,790 Mungkin Anda ingin to-- mengatakan Anda memiliki nomor 7 dan 3, 157 00:07:52,790 --> 00:07:55,780 Anda ingin menyimpan yang dalam variabel yang disebut sum. 158 00:07:55,780 --> 00:08:03,010 Anda dapat melakukan int untuk jenis, ruang sum, nama variabel, = 7 + 3; 159 00:08:03,010 --> 00:08:05,780 >> Apa yang akan bahwa toko di sum? 160 00:08:05,780 --> 00:08:07,190 Siapapun? 161 00:08:07,190 --> 00:08:09,270 Jika aku punya di sum = 7 + 3. 162 00:08:09,270 --> 00:08:10,437 Apa yang akan disimpan dalam jumlah? 163 00:08:10,437 --> 00:08:11,520 Anda hanya dapat berteriak keluar. 164 00:08:11,520 --> 00:08:12,120 AUDIENCE: 10. 165 00:08:12,120 --> 00:08:12,995 >> JASON Hirschhorn: 10! 166 00:08:12,995 --> 00:08:14,870 Itu tepat. 167 00:08:14,870 --> 00:08:19,520 Bagaimana di sum = 7-3, Saya hanya menggunakan tanda dash. 168 00:08:19,520 --> 00:08:20,871 Apa yang akan disimpan? 169 00:08:20,871 --> 00:08:21,370 AUDIENCE: 4. 170 00:08:21,370 --> 00:08:22,203 JASON Hirschhorn: 4. 171 00:08:22,203 --> 00:08:25,770 Sum mungkin adalah nama salah untuk variabel itu, tapi 4 akan disimpan. 172 00:08:25,770 --> 00:08:31,890 >> Untuk berkembang biak dalam C, menggunakan sedikit Karakter bintang, Anda tidak menggunakan x. 173 00:08:31,890 --> 00:08:35,990 Untuk membagi, menggunakan Teruskan Slash tidak simbol divisi. 174 00:08:35,990 --> 00:08:39,580 Dan untuk modulo, menggunakan simbol Persen. 175 00:08:39,580 --> 00:08:47,900 >> Jadi katakanlah saya ingin melihat int z = 7% 3, apa yang akan disimpan di z? 176 00:08:47,900 --> 00:08:51,250 Jadi, itulah dasarnya bertanya apa modulo lakukan? 177 00:08:51,250 --> 00:08:52,750 Apakah ada yang tahu apa yang modulo tidak? 178 00:08:52,750 --> 00:08:53,940 Ya. 179 00:08:53,940 --> 00:08:54,870 y 4. 180 00:08:54,870 --> 00:08:56,120 SPEAKER 1: Ini sisanya. 181 00:08:56,120 --> 00:08:58,369 JASON Hirschhorn: Ini adalah sisanya ketika Anda membagi. 182 00:08:58,369 --> 00:09:02,790 Jadi 7 dibagi 3 adalah 2 sisa 1. 183 00:09:02,790 --> 00:09:04,690 Jadi 1 akan disimpan. 184 00:09:04,690 --> 00:09:06,970 >> Anda melakukan pengurangan, tapi itu cara kerjanya. 185 00:09:06,970 --> 00:09:09,140 Itulah yang operator modulo tidak. 186 00:09:09,140 --> 00:09:12,360 Dibutuhkan nomor membaginya dengan nomor lain dan kembali ke Anda 187 00:09:12,360 --> 00:09:14,590 pengingat. 188 00:09:14,590 --> 00:09:19,770 Jadi sekali lagi, 7% 3 memberikan 1, karena 7 dibagi 3 adalah 2 sisa 1, 189 00:09:19,770 --> 00:09:21,650 dan mengembalikan sisanya. 190 00:09:21,650 --> 00:09:24,470 >> Bagaimana mari kita kembali ke atas satu langkah untuk yang tanda divisi. 191 00:09:24,470 --> 00:09:29,194 Jika saya melakukan 7 / dibagi dengan 3 tidak ada yang tahu apa yang akan kembali? 192 00:09:29,194 --> 00:09:30,090 >> SPEAKER 2: 2. 193 00:09:30,090 --> 00:09:32,240 >> JASON Hirschhorn: Mengapa 2 dan tidak 2,333? 194 00:09:32,240 --> 00:09:34,560 >> SPEAKER 2: saya pikir itu memotong off setelah seluruh nomor. 195 00:09:34,560 --> 00:09:36,310 JASON Hirschhorn: Jadi itulah yang benar. 196 00:09:36,310 --> 00:09:39,880 Dalam C, jika Anda melakukan pembagian dua bilangan bulat 7 dibagi dengan 3, 197 00:09:39,880 --> 00:09:43,430 mendapat jawaban yang dalam hal ini 2,3333 selamanya 198 00:09:43,430 --> 00:09:47,080 dan menemukan bahwa titik desimal dan chops semuanya off setelah desimal 199 00:09:47,080 --> 00:09:49,240 dan hanya mengembalikan Anda 2. 200 00:09:49,240 --> 00:09:51,120 >> Jadi jika saya melakukan 8 dibagi dengan 3. 201 00:09:51,120 --> 00:09:54,010 Yang benar-benar, kita tahu yang kembali 2,666, 202 00:09:54,010 --> 00:09:57,050 tapi chops semuanya turun di desimal, memotong itu semua, 203 00:09:57,050 --> 00:09:58,640 dan hanya kembali ke Anda 2. 204 00:09:58,640 --> 00:10:02,090 Jadi 6 dibagi 3, 7 dibagi oleh 3, 8 dibagi dengan 3, 205 00:10:02,090 --> 00:10:04,840 semua akan kembali kepada Anda 2. 206 00:10:04,840 --> 00:10:08,770 >> Apakah ada yang tahu, atau memiliki menebak, bagaimana saya benar-benar bisa 207 00:10:08,770 --> 00:10:10,790 jawaban penuh jika saya ingin desimal itu? 208 00:10:10,790 --> 00:10:13,120 209 00:10:13,120 --> 00:10:13,620 Ya. 210 00:10:13,620 --> 00:10:14,152 Lanjutkan. 211 00:10:14,152 --> 00:10:15,110 SPEAKER 3: Gunakan pelampung? 212 00:10:15,110 --> 00:10:16,942 JASON Hirschhorn: Apa maksudmu? 213 00:10:16,942 --> 00:10:19,786 SPEAKER 3: Karena Anda mengatakan float untuk nomor [tidak terdengar] 214 00:10:19,786 --> 00:10:22,900 215 00:10:22,900 --> 00:10:23,900 JASON Hirschhorn: Benar. 216 00:10:23,900 --> 00:10:26,100 Jadi, itulah yang benar. 217 00:10:26,100 --> 00:10:28,440 7 adalah bilangan bulat. 218 00:10:28,440 --> 00:10:31,690 Tapi jika saya ingin mengubah bahwa menjadi beberapa floating point, 219 00:10:31,690 --> 00:10:34,674 Saya harus menyimpan yang sebagai 7.0 karena komputer 220 00:10:34,674 --> 00:10:37,090 benar-benar stupid-- kita melihat bahwa dengan PB dan J example-- 221 00:10:37,090 --> 00:10:38,930 itu hanya akan melakukan persis apa yang Anda katakan itu. 222 00:10:38,930 --> 00:10:40,846 >> Jadi jika Anda menulis 7, itu pikir itu sebuah integer. 223 00:10:40,846 --> 00:10:43,640 Jika Anda menulis 7.0, meskipun kita tahu hal-hal yang setara, 224 00:10:43,640 --> 00:10:45,550 memperlakukan bahwa seperti angka floating point. 225 00:10:45,550 --> 00:10:50,441 Jadi, jika Anda melakukan 7,0 dibagi oleh 3, atau dibagi dengan 3.0, 226 00:10:50,441 --> 00:10:52,440 itu akan mengatakan, OK, sekarang kita sedang berhadapan dengan mengapung. 227 00:10:52,440 --> 00:10:57,514 Aku akan kembali ke Anda 2.333333 selamanya. 228 00:10:57,514 --> 00:10:59,930 Tapi tidak benar-benar selamanya, karena seperti yang kita lihat juga di kuliah, 229 00:10:59,930 --> 00:11:03,350 angka-angka floating point tidak benar-benar tepat. 230 00:11:03,350 --> 00:11:05,940 >> Jadi jika Anda ingin desimal itu, atau bagian dari desimal itu, 231 00:11:05,940 --> 00:11:08,090 maka Anda harus use-- salah satu dari mereka harus menjadi angka floating point 232 00:11:08,090 --> 00:11:11,048 dan komputer harus memahami bahwa ini adalah floating point Anda 233 00:11:11,048 --> 00:11:13,350 berurusan dengan, bukan integer. 234 00:11:13,350 --> 00:11:16,760 Pertanyaan di atas meja yang di sisi kanan, sejauh ini? 235 00:11:16,760 --> 00:11:22,650 Atau sisi kiri, Anda kiri, sisi kiri. 236 00:11:22,650 --> 00:11:23,264 Ya. 237 00:11:23,264 --> 00:11:23,972 SPEAKER 4: Benar. 238 00:11:23,972 --> 00:11:26,216 Untuk hanya seperti biasa bilangan bulat, Anda akan 239 00:11:26,216 --> 00:11:30,230 write-- akan Anda harus menulis mengapung? 240 00:11:30,230 --> 00:11:31,920 >> JASON Hirschhorn: Ya begitu. 241 00:11:31,920 --> 00:11:34,400 Nah, jika Anda ingin membuat variabel yang pelampung, 242 00:11:34,400 --> 00:11:37,020 Anda perlu mengatakan mengapung z sama dengan sesuatu. 243 00:11:37,020 --> 00:11:37,640 >> SPEAKER 4: OK. 244 00:11:37,640 --> 00:11:41,950 >> JASON Hirschhorn: Tapi jika saya ingin lakukan 7 dibagi 3 dan desimal itu, 245 00:11:41,950 --> 00:11:48,540 Saya akan melakukan mengapung z = 7.0 / 3.0 oleh; dan yang akan memberi saya floating point 246 00:11:48,540 --> 00:11:49,273 nomor. 247 00:11:49,273 --> 00:11:50,000 >> SPEAKER 4: OK. 248 00:11:50,000 --> 00:11:56,370 >> JASON Hirschhorn: Jika saya melakukan sesuatu seperti int z = 7 / oleh 3, 249 00:11:56,370 --> 00:12:00,856 yang akan memberikan saya integer, karena mereka adalah semua bilangan bulat. 250 00:12:00,856 --> 00:12:01,730 Apakah itu masuk akal? 251 00:12:01,730 --> 00:12:02,320 >> SPEAKER 4: Ya. 252 00:12:02,320 --> 00:12:02,950 >> JASON Hirschhorn: OK. 253 00:12:02,950 --> 00:12:03,450 Besar. 254 00:12:03,450 --> 00:12:06,030 Pertanyaan lain tentang meja itu? 255 00:12:06,030 --> 00:12:07,220 Benar-benar? 256 00:12:07,220 --> 00:12:08,380 Aku sangat gembira. 257 00:12:08,380 --> 00:12:09,120 OKE. 258 00:12:09,120 --> 00:12:13,910 >> Jadi beberapa hal lain yang akan Anda gunakan, seringkali dalam kondisi atau loop, 259 00:12:13,910 --> 00:12:17,580 adalah jenis operators-- jenis ekspresi Boolean. 260 00:12:17,580 --> 00:12:23,140 Dan seperti yang kita pelajari, == adalah apa yang Anda gunakan untuk memeriksa apakah dua hal yang sama. 261 00:12:23,140 --> 00:12:28,170 >> Jadi di sini aku memeriksa jika x == y, mari kita lagi menganggap bahwa x adalah 7 dan y adalah 3. 262 00:12:28,170 --> 00:12:33,220 Jadi jika saya menulis 7 == 3, apa akan yang kembali ke saya? 263 00:12:33,220 --> 00:12:34,220 Apakah itu benar atau salah? 264 00:12:34,220 --> 00:12:35,275 >> AUDIENCE: Salah. 265 00:12:35,275 --> 00:12:36,150 JASON Hirschhorn: OK. 266 00:12:36,150 --> 00:12:37,370 Saya merasa seperti semua orang bisa mendapatkan satu ini. 267 00:12:37,370 --> 00:12:39,054 Jadi semua orang, apakah itu kembali? 268 00:12:39,054 --> 00:12:39,720 AUDIENCE: Salah. 269 00:12:39,720 --> 00:12:40,130 JASON Hirschhorn: Salah. 270 00:12:40,130 --> 00:12:40,850 Besar. 271 00:12:40,850 --> 00:12:41,930 7 tidak sama dengan 3. 272 00:12:41,930 --> 00:12:44,530 Jadi 7 == 3 akan kembali palsu. 273 00:12:44,530 --> 00:12:50,746 Anda memiliki tanda tidak sama, jadi jika saya diperiksa 7! = 3, apakah itu kembali? 274 00:12:50,746 --> 00:12:51,370 AUDIENCE: Benar. 275 00:12:51,370 --> 00:12:52,650 JASON Hirschhorn: Benar. 276 00:12:52,650 --> 00:12:53,200 Sangat baik. 277 00:12:53,200 --> 00:12:55,990 Seseorang sangat tegas dalam belakang dan menghargai itu. 278 00:12:55,990 --> 00:12:59,070 Maka Anda memiliki kurang dari operator, kurang dari atau sama dengan operator, 279 00:12:59,070 --> 00:13:01,990 lebih besar dari operator, lebih besar dari atau sama dengan operator. 280 00:13:01,990 --> 00:13:03,490 >> Jadi satu lagi cek kewarasan. 281 00:13:03,490 --> 00:13:05,660 Jika saya harus 7 lebih besar dari atau sama dengan 3. 282 00:13:05,660 --> 00:13:06,966 Apa yang akan kembali? 283 00:13:06,966 --> 00:13:07,692 >> AUDIENCE: Benar. 284 00:13:07,692 --> 00:13:08,650 JASON Hirschhorn: Benar. 285 00:13:08,650 --> 00:13:10,050 Iya nih. 286 00:13:10,050 --> 00:13:13,290 Ruang belakang, sisi belakang ruangan, fantastis. 287 00:13:13,290 --> 00:13:16,240 Anda dapat menggabungkan ekspresi jika Anda suka, juga, 288 00:13:16,240 --> 00:13:21,880 dengan logika AND yang && Atau logika OR yang || 289 00:13:21,880 --> 00:13:22,800 ||. 290 00:13:22,800 --> 00:13:25,785 Dan jadi sekarang Anda dapat menguji dua hal together-- Apakah itu lucu? 291 00:13:25,785 --> 00:13:28,250 Mengapa itu lucu? 292 00:13:28,250 --> 00:13:35,200 >> Jadi jika saya ingin, saya bisa katakan adalah 7 lebih dari 3 DAN 2 kurang dari 4? 293 00:13:35,200 --> 00:13:37,090 Nah, jika 7 lebih besar dari 3, itu benar. 294 00:13:37,090 --> 00:13:38,400 2 kurang dari 4, itu benar. 295 00:13:38,400 --> 00:13:41,140 Jadi semua ini akan kembali benar. 296 00:13:41,140 --> 00:13:45,130 >> Jika saya diuji 7 lebih besar dari 3 dan-- Aku hanya memilih nomor acak di sini- 297 00:13:45,130 --> 00:13:47,340 4 kurang dari 2, yah, itu palsu. 298 00:13:47,340 --> 00:13:49,610 Jadi benar dan make false false. 299 00:13:49,610 --> 00:13:54,520 Dan Anda dapat pergi dan Anda menggabungkan sebagai banyak kondisi bersama-sama seperti yang Anda inginkan. 300 00:13:54,520 --> 00:14:00,000 >> Ada yang punya pertanyaan, komentar, keprihatinan sejauh ini? 301 00:14:00,000 --> 00:14:03,862 Dan saya melihat beberapa dari Anda mengambil gambar dari saya di layar, yang saya hargai. 302 00:14:03,862 --> 00:14:05,070 Mudah-mudahan, itu tidak snapchat. 303 00:14:05,070 --> 00:14:06,417 Mudah-mudahan, itu untuk catatan Anda. 304 00:14:06,417 --> 00:14:08,500 Tapi semua ini akan akan tersedia secara online. 305 00:14:08,500 --> 00:14:11,210 Jadi Anda tidak perlu mengambil gambar dari ini. 306 00:14:11,210 --> 00:14:15,150 Seperti yang saya sebutkan, semuanya akan tersedia secara online untuk Anda. 307 00:14:15,150 --> 00:14:15,650 OKE. 308 00:14:15,650 --> 00:14:17,980 Aku akan mendapatkan luar panggung, begitu juga siapa pun 309 00:14:17,980 --> 00:14:20,350 ingin mengatakan apa-apa sebelum itu terjadi? 310 00:14:20,350 --> 00:14:21,080 Pertanyaan? 311 00:14:21,080 --> 00:14:21,680 >> [Interposing SUARA] 312 00:14:21,680 --> 00:14:22,250 >> JASON Hirschhorn: Oh, berhenti. 313 00:14:22,250 --> 00:14:23,290 Kalian terlalu bagus. 314 00:14:23,290 --> 00:14:23,790 OKE. 315 00:14:23,790 --> 00:14:26,520 Aku akan menandai keluar. 316 00:14:26,520 --> 00:14:27,240 Ayo. 317 00:14:27,240 --> 00:14:29,570 >> ANDI PENG: Kami akan melakukan perubahan mic canggung sekarang. 318 00:14:29,570 --> 00:14:32,280 >> JASON Hirschhorn: Aku akan mengambil ini off. 319 00:14:32,280 --> 00:14:33,946 ANDI PENG: Menghargai dukungan, guys. 320 00:14:33,946 --> 00:14:42,250 321 00:14:42,250 --> 00:14:43,180 Bisakah kamu mendengarku? 322 00:14:43,180 --> 00:14:43,930 Apakah itu baik? 323 00:14:43,930 --> 00:14:44,760 Sempurna. 324 00:14:44,760 --> 00:14:45,630 Indah. 325 00:14:45,630 --> 00:14:47,490 Mari saya hanya menyelipkan bahwa dalam. 326 00:14:47,490 --> 00:14:49,100 OKE. 327 00:14:49,100 --> 00:14:54,140 Jadi, saya akan lakukan seperti raksasa Informasi membuang pada kalian sekarang. 328 00:14:54,140 --> 00:14:57,370 Dan tidak ada kekhawatiran apapun jika Anda tidak mengikuti setiap baris sedikit dari apa 329 00:14:57,370 --> 00:14:58,812 Aku akan menunjukkan kepada Anda. 330 00:14:58,812 --> 00:15:00,770 Seperti kata Jason, semuanya benar-benar online. 331 00:15:00,770 --> 00:15:03,780 Hanya kita akan mencoba untuk memperkenalkan semua orang untuk konsep tertutup 332 00:15:03,780 --> 00:15:05,270 di beberapa slide ini. 333 00:15:05,270 --> 00:15:06,582 Jadi ikuti saja bersama. 334 00:15:06,582 --> 00:15:09,540 Jangan khawatir jika Anda tidak mengerti segala sesuatu; Namun, jika pada setiap titik 335 00:15:09,540 --> 00:15:12,820 Anda merasa kehilangan, meningkatkan Anda tangan, kita akan berhenti, tidak ada kekhawatiran. 336 00:15:12,820 --> 00:15:15,060 Keren. 337 00:15:15,060 --> 00:15:19,270 >> Jadi saya pikir sesuatu yang memiliki David sudah semacam disebutkan dalam kuliah 338 00:15:19,270 --> 00:15:23,240 dan Jason telah jenis disinggung untuk hari ini adalah apa perpustakaan adalah. 339 00:15:23,240 --> 00:15:27,510 Jadi dalam pemrograman, kita memiliki hal-hal ini disebut perpustakaan. 340 00:15:27,510 --> 00:15:29,690 Dimana, pada dasarnya, semua mereka hanya satu set 341 00:15:29,690 --> 00:15:32,610 fungsi, yaitu dasarnya hanya kode itu 342 00:15:32,610 --> 00:15:35,070 sudah ditulis oleh orang lain yang kita semua bisa 343 00:15:35,070 --> 00:15:36,410 menggunakan dalam program kami. 344 00:15:36,410 --> 00:15:38,790 >> Jadi bagaimana normal kerja perpustakaan, kan? 345 00:15:38,790 --> 00:15:40,030 Anda memasuki pintu perpustakaan. 346 00:15:40,030 --> 00:15:41,890 Anda memiliki semua ini buku Anda dapat menarik keluar 347 00:15:41,890 --> 00:15:44,590 dan Anda dapat mengakses informasi dalam buku-buku. 348 00:15:44,590 --> 00:15:45,840 Hal yang sama dalam pemrograman. 349 00:15:45,840 --> 00:15:48,820 >> Anda memiliki perpustakaan yang memiliki sudah ditulis oleh orang lain. 350 00:15:48,820 --> 00:15:51,530 Dan cara yang Anda bisa, sebagai programmer atau mahasiswa, 351 00:15:51,530 --> 00:15:55,780 dapat memperoleh akses ke perpustakaan yang adalah melalui hashtag # include. 352 00:15:55,780 --> 00:15:59,720 >> Misalnya, di C kami memiliki tiga C-- paling 353 00:15:59,720 --> 00:16:03,420 umum digunakan tiga standar C libraries-- perpustakaan input / output, 354 00:16:03,420 --> 00:16:05,540 perpustakaan tali, dan perpustakaan matematika. 355 00:16:05,540 --> 00:16:07,610 >> Jadi dalam pertama Anda beberapa masalah set, 356 00:16:07,610 --> 00:16:10,940 mereka akan menjadi tiga bahwa Anda terutama menggunakan. 357 00:16:10,940 --> 00:16:14,610 Sehingga David sudah dijelaskan dalam kuliah, 358 00:16:14,610 --> 00:16:17,460 I standar / O perpustakaan, atau standar input / output perpustakaan 359 00:16:17,460 --> 00:16:18,620 tidak tepat. 360 00:16:18,620 --> 00:16:23,530 Hal ini memungkinkan Anda, dalam kode Anda, untuk memasukkan apa pun dari pengguna dan output yang 361 00:16:23,530 --> 00:16:25,960 ke layar, pada dasarnya mencetaknya ke layar. 362 00:16:25,960 --> 00:16:29,990 >> Dan setiap kali Anda menggunakan fungsi apapun, misalnya fungsi printf () yang 363 00:16:29,990 --> 00:16:33,319 kita akan pergi ke slide berikutnya, pastikan untuk menyertakan standar I / O 364 00:16:33,319 --> 00:16:36,360 perpustakaan atau Anda tidak akan dapat menggunakan printf () fungsi. 365 00:16:36,360 --> 00:16:39,110 Karena Anda, sebagai programmer tidak pernah benar-benar menulis fungsi itu, 366 00:16:39,110 --> 00:16:41,840 Anda hanya menggunakan orang kode lain dalam kode Anda sendiri. 367 00:16:41,840 --> 00:16:43,620 >> Apakah itu masuk akal semua orang? 368 00:16:43,620 --> 00:16:44,520 Keren. 369 00:16:44,520 --> 00:16:48,530 >> Dan kemudian kita pada dasarnya mendapatkan ke perpustakaan string.h dan math.h yang 370 00:16:48,530 --> 00:16:52,970 perpustakaan, H hanya menandakan perpustakaan, perpustakaan lain yang Anda akan akhirnya 371 00:16:52,970 --> 00:16:55,310 akan menggunakan dalam kode Anda. 372 00:16:55,310 --> 00:16:57,620 >> Namun, untuk tujuan perpustakaan ini, kami juga 373 00:16:57,620 --> 00:17:01,170 have-- dari class-- ini kami juga memiliki apa yang disebut perpustakaan CS50, 374 00:17:01,170 --> 00:17:05,270 cs50.h, di mana kita, untuk teliti telah menciptakan 375 00:17:05,270 --> 00:17:07,369 banyak fungsi penting dan berguna. 376 00:17:07,369 --> 00:17:09,550 Sehingga programmer Anda sebagai dapat kuda-kudaan off 377 00:17:09,550 --> 00:17:14,470 apa yang kita sudah ditulis sehingga Fungsi ini tersedia untuk Anda 378 00:17:14,470 --> 00:17:15,599 untuk Anda gunakan. 379 00:17:15,599 --> 00:17:18,359 >> Saya akan meliputi beberapa fungsi umum digunakan, 380 00:17:18,359 --> 00:17:20,839 tapi tahu bahwa ini adalah semua secara online googleable. 381 00:17:20,839 --> 00:17:24,904 Jangan ragu, menarik perpustakaan CS50 dan maka Anda memiliki semua fungsi ada. 382 00:17:24,904 --> 00:17:25,828 Ya. 383 00:17:25,828 --> 00:17:28,140 >> SPEAKER 5: Jadi, jika Anda tidak menggunakan perangkat lunak yang 384 00:17:28,140 --> 00:17:29,916 disediakan kepada kami oleh kelas, apakah itu 385 00:17:29,916 --> 00:17:32,698 berarti kita harus men-download dan mencari header ini mengajukan diri dan memberitahu 386 00:17:32,698 --> 00:17:33,840 komputer di mana itu? 387 00:17:33,840 --> 00:17:34,320 >> ANDI PENG: pertanyaan besar. 388 00:17:34,320 --> 00:17:34,820 Tepat. 389 00:17:34,820 --> 00:17:38,194 Jadi seperti jika Anda tidak secara fisik hadir di perpustakaan, 390 00:17:38,194 --> 00:17:40,360 tidak ada cara bagi Anda untuk benar-benar pergi dan mengaksesnya. 391 00:17:40,360 --> 00:17:42,589 Jadi hal yang sama dengan pemrograman di C, Anda 392 00:17:42,589 --> 00:17:45,880 harus memastikan bahwa Anda menggunakan kami alat karena perpustakaan sudah 393 00:17:45,880 --> 00:17:47,270 dimasukkan ke dalamnya. 394 00:17:47,270 --> 00:17:50,020 Dan kemudian ketika Anda hashtag # include, perpustakaan ada. 395 00:17:50,020 --> 00:17:50,520 Ya. 396 00:17:50,520 --> 00:17:51,920 Pertanyaan bagus. 397 00:17:51,920 --> 00:17:53,461 Semua orang baik? 398 00:17:53,461 --> 00:17:53,960 Keren. 399 00:17:53,960 --> 00:17:56,371 400 00:17:56,371 --> 00:17:56,870 Baiklah. 401 00:17:56,870 --> 00:17:59,330 Jadi kita akan memukul, dasarnya, apa yang 402 00:17:59,330 --> 00:18:01,620 fungsi pertama yang Kita sebagai programmer 403 00:18:01,620 --> 00:18:03,900 akan menggunakan dalam kode kami. 404 00:18:03,900 --> 00:18:05,690 Ini disebut printf () fungsi. 405 00:18:05,690 --> 00:18:08,450 Jadi, printf () fungsi, seperti yang telah saya sudah mengatakan dalam slide terakhir, 406 00:18:08,450 --> 00:18:11,830 termasuk dalam standar I / O, standar input / output, perpustakaan. 407 00:18:11,830 --> 00:18:16,470 >> Jadi, pastikan apa pun yang Anda using-- oh, biarkan aku ambil laser pointer-- 408 00:18:16,470 --> 00:18:18,660 setiap kali Anda menggunakan printf () fungsi, 409 00:18:18,660 --> 00:18:21,790 Anda harus menyertakan standar I / O perpustakaan atau yang lain, ketika Anda mengkompilasi, 410 00:18:21,790 --> 00:18:23,760 Anda akan mendapatkan error karena komputer akan menjadi seperti, 411 00:18:23,760 --> 00:18:26,140 oh saya tidak tahu di mana printf () adalah, Anda tidak memberitahu saya di mana printf () 412 00:18:26,140 --> 00:18:26,830 aku s. 413 00:18:26,830 --> 00:18:30,150 Nah printf () termasuk dalam standar I / O, jadi ketika Anda menggunakan printf (), 414 00:18:30,150 --> 00:18:32,960 pastikan untuk memiliki baris di atas kode Anda. 415 00:18:32,960 --> 00:18:36,040 >> Jadi misalnya, printf () di sini adalah fungsi. 416 00:18:36,040 --> 00:18:40,260 Semua hal ini adalah sesuatu cetak dalam kurung untuk pengguna. 417 00:18:40,260 --> 00:18:44,840 Ada orang ingin mengambil bacokan apa baris kode yang tepat 418 00:18:44,840 --> 00:18:46,420 di sini akan mencetak? 419 00:18:46,420 --> 00:18:48,730 Oleh karena itu, jawabannya ada di layar. 420 00:18:48,730 --> 00:18:50,480 Siapapun? 421 00:18:50,480 --> 00:18:51,380 >> VERDI: Bagian bawah. 422 00:18:51,380 --> 00:18:53,510 >> ANDI PENG: Verdi, kenapa tidak Anda pergi depan dan mengatakan seluruh pernyataan? 423 00:18:53,510 --> 00:18:55,718 >> VERDI: Halo, nama saya Andi, dan saya berusia 20 tahun. 424 00:18:55,718 --> 00:18:57,270 ANDI PENG: Ah, indah. 425 00:18:57,270 --> 00:19:00,240 Jadi di baris ini kita akan mencetak, Hello, nama saya Andi, 426 00:19:00,240 --> 00:19:04,280 dan saya berusia 20 tahun, yang sebenarnya pernyataan yang benar. 427 00:19:04,280 --> 00:19:05,090 >> Sintaks. 428 00:19:05,090 --> 00:19:08,830 Jadi beberapa masalah sintaksis yang kalian ingin memastikan Anda tahu. 429 00:19:08,830 --> 00:19:09,360 Tanda kutip. 430 00:19:09,360 --> 00:19:13,170 Tanda kutip ganda memberitahu komputer yang segala sesuatu di dalam 431 00:19:13,170 --> 00:19:14,850 akan dicetak. 432 00:19:14,850 --> 00:19:16,620 >> Segala sesuatu di dalam kaleng hanya menjadi persis bagaimana 433 00:19:16,620 --> 00:19:19,920 Anda ketik, kecuali untuk umum di akhir, 434 00:19:19,920 --> 00:19:23,610 kita akan ingin memasukkan sebuah hash-- oh sorry-- n dasbor. 435 00:19:23,610 --> 00:19:24,640 Jadi dash n. 436 00:19:24,640 --> 00:19:28,884 >> Apakah ada yang ingin mengambil menebak apa yang tidak untuk kode kita? 437 00:19:28,884 --> 00:19:29,465 Ya. 438 00:19:29,465 --> 00:19:30,840 SPEAKER 6: Menempatkan pada baris baru. 439 00:19:30,840 --> 00:19:31,650 ANDI PENG: Tepat. 440 00:19:31,650 --> 00:19:34,660 Jadi semua yang dilakukan adalah memungkinkan apapun yang terjadi 441 00:19:34,660 --> 00:19:37,520 setelah ini, setelah pernyataan ini, yang akan dicetak ke baris baru. 442 00:19:37,520 --> 00:19:40,030 Sehingga ketika Anda sedang menulis Anda kode Anda tidak memiliki hal-hal secara acak 443 00:19:40,030 --> 00:19:41,738 tertempel pada akhir bahwa Anda tidak ingin. 444 00:19:41,738 --> 00:19:43,700 Semua yang mendapat rapi dicetak satu baris 445 00:19:43,700 --> 00:19:46,870 dan kemudian kita mulai pada baris berikut. 446 00:19:46,870 --> 00:19:50,970 >> Apakah ada yang ingat apa yang koma halnya ketika kita coding? 447 00:19:50,970 --> 00:19:54,580 448 00:19:54,580 --> 00:19:55,330 Ya. 449 00:19:55,330 --> 00:19:55,740 >> SPEAKER 7: Pernyataan. 450 00:19:55,740 --> 00:19:56,010 >> ANDI PENG: Maaf? 451 00:19:56,010 --> 00:19:57,100 >> SPEAKER 7: Apakah itu mengakhiri pernyataan? 452 00:19:57,100 --> 00:19:57,766 >> ANDI PENG: Ya. 453 00:19:57,766 --> 00:20:02,670 Jadi di C, atau pemrograman bahasa, titik koma 454 00:20:02,670 --> 00:20:04,640 menunjukkan akhir baris pemrograman. 455 00:20:04,640 --> 00:20:09,240 Jadi misalnya, dalam bahasa Inggris kita menggunakan periode mengatakan, oh ini adalah akhir kalimat. 456 00:20:09,240 --> 00:20:12,857 Dalam pemrograman, hal yang sama, kita memiliki titik koma untuk menunjukkan akhir baris. 457 00:20:12,857 --> 00:20:14,690 Sering kali, ketika Anda mulai memprogram, 458 00:20:14,690 --> 00:20:17,150 Anda akan menyadari Anda lupa untuk menambahkan titik koma 459 00:20:17,150 --> 00:20:19,400 dan kemudian Anda mencoba untuk menjalankan Anda kode dan itu tidak bekerja. 460 00:20:19,400 --> 00:20:21,520 Dan Anda seperti, Ah, saya tidak tahu mengapa, harus bekerja. 461 00:20:21,520 --> 00:20:24,394 >> Kemungkinan Anda mungkin lupa titik koma atau bracket atau sesuatu 462 00:20:24,394 --> 00:20:25,020 di suatu tempat. 463 00:20:25,020 --> 00:20:27,740 Jadi, yang penting untuk diingat. 464 00:20:27,740 --> 00:20:29,627 Keren. 465 00:20:29,627 --> 00:20:31,960 Baiklah, menunjukkan tangan, bagaimana banyak orang di sini yang pernah 466 00:20:31,960 --> 00:20:37,210 diambil AP Ilmu Komputer atau diprogram di Jawa sebelumnya, pernah? 467 00:20:37,210 --> 00:20:37,710 OKE. 468 00:20:37,710 --> 00:20:38,210 Indah. 469 00:20:38,210 --> 00:20:41,340 Itu tidak akan berlaku kemudian, tetapi di Jawa, Anda 470 00:20:41,340 --> 00:20:44,960 memiliki sesuatu yang disebut System.out.println yang tidak ada di C. 471 00:20:44,960 --> 00:20:49,927 >> Jadi dalam C, setiap kali Anda ingin menambahkan variabel 472 00:20:49,927 --> 00:20:51,760 menjadi apapun yang Anda inginkan untuk mencetak, ada 473 00:20:51,760 --> 00:20:54,620 sintaks tertentu kita akan menggunakan. 474 00:20:54,620 --> 00:20:56,520 Itu disebut placeholding-- dasarnya 475 00:20:56,520 --> 00:21:01,180 kita menambahkan placeholder di tempat dari integer atau variabel 476 00:21:01,180 --> 00:21:02,580 yang ingin kita cetak. 477 00:21:02,580 --> 00:21:07,430 >> Sehingga kalian bisa melihat kami menyertakan header perpustakaan baru mengajukan sini. 478 00:21:07,430 --> 00:21:09,130 The CS50 perpustakaan. 479 00:21:09,130 --> 00:21:13,160 Dan terkandung dalam bahwa perpustakaan CS50 adalah fungsi umum kita akan menggunakan 480 00:21:13,160 --> 00:21:15,610 dalam kursus kami disebut getInt (). 481 00:21:15,610 --> 00:21:21,830 >> Apakah ada yang ingin mengambil bacokan di apa getInt () mungkin dapat melakukan. 482 00:21:21,830 --> 00:21:22,830 >> AUDIENCE: [tidak terdengar] 483 00:21:22,830 --> 00:21:23,550 >> ANDI PENG: Maaf. 484 00:21:23,550 --> 00:21:24,370 Tidak bisa mendengar Anda. 485 00:21:24,370 --> 00:21:25,511 Maddie, siapa pun. 486 00:21:25,511 --> 00:21:27,260 Maddie: Oh, ia meminta Anda untuk integer. 487 00:21:27,260 --> 00:21:28,051 ANDI PENG: Tepat. 488 00:21:28,051 --> 00:21:30,670 Jadi fungsi ini, lain fungsi yang sudah 489 00:21:30,670 --> 00:21:33,690 ditulis oleh orang lain bahwa kita dapat memanggil sekarang. 490 00:21:33,690 --> 00:21:38,000 Semua itu adalah meminta Anda, pengguna, untuk memasukkan apa pun yang Anda inginkan sebagai kode 491 00:21:38,000 --> 00:21:41,850 berjalan dan menyimpan whatever-- dalam hal ini kami getInt () - ing, 492 00:21:41,850 --> 00:21:44,060 sehingga berarti kita mendapatkan integer. 493 00:21:44,060 --> 00:21:46,150 >> Dan kita akan menyimpan bahwa dalam bilangan bulat lain 494 00:21:46,150 --> 00:21:48,900 bahwa kita baru saja membuat disebut usia. 495 00:21:48,900 --> 00:21:51,500 Yang masuk akal untuk semua orang? 496 00:21:51,500 --> 00:21:52,190 Keren. 497 00:21:52,190 --> 00:21:56,400 >> Jadi sekarang kita sudah disimpan bilangan bulat ini, bahwa kami telah diminta dari pengguna, 498 00:21:56,400 --> 00:22:00,010 dalam variabel ini, kami telah menciptakan tipe int disebut usia, 499 00:22:00,010 --> 00:22:03,720 kita bisa pergi ke depan dan tempat bahwa dalam printf kami () fungsi. 500 00:22:03,720 --> 00:22:08,970 Jadi sintaks biasanya untuk printf () adalah bahwa di mana pun di fisik Anda yang sebenarnya 501 00:22:08,970 --> 00:22:14,410 baris Anda ingin memasukkan integer yang, Anda melakukan simbol bahwa di sana, 502 00:22:14,410 --> 00:22:17,800 simbol persen, dengan jenis variabel yang Anda inginkan. 503 00:22:17,800 --> 00:22:20,090 >> Jadi dalam hal ini usia kasus adalah bilangan bulat. 504 00:22:20,090 --> 00:22:25,030 Jadi Anda akan mencakup % i karena integer. 505 00:22:25,030 --> 00:22:26,860 Dan kemudian setelah Anda Pernyataan, Anda akan 506 00:22:26,860 --> 00:22:30,370 untuk melakukan koma dan nama variabel. 507 00:22:30,370 --> 00:22:33,420 >> Jadi di sini, kita akan mencetak keluar, Hello, nama saya Andi, 508 00:22:33,420 --> 00:22:35,730 dan saya berusia tahun kosong. 509 00:22:35,730 --> 00:22:38,890 Hashta-- atau, sorry--, usia dengan apa pun yang saya masukan. 510 00:22:38,890 --> 00:22:42,790 Jadi jika saya masukan 20 untuk getInt saya () di sini, 511 00:22:42,790 --> 00:22:44,500 itu akan mencetak hal yang sama persis. 512 00:22:44,500 --> 00:22:47,990 Tapi, jika saya ingin masukan sesuatu lain, seperti mungkin 40 atau 45, 513 00:22:47,990 --> 00:22:50,800 maka Anda akan melihat bahwa tercermin sesuai dalam kode. 514 00:22:50,800 --> 00:22:52,886 >> Jadi ini adalah contoh sesuatu yang 515 00:22:52,886 --> 00:22:55,260 mencetak dan terlihat Anda seolah-olah itu hal yang sama, 516 00:22:55,260 --> 00:22:57,593 namun di balik kap komputer sebenarnya ada 517 00:22:57,593 --> 00:22:59,560 hal yang sangat berbeda terjadi. 518 00:22:59,560 --> 00:23:00,060 Keren. 519 00:23:00,060 --> 00:23:02,760 520 00:23:02,760 --> 00:23:03,260 Baiklah. 521 00:23:03,260 --> 00:23:06,940 Jadi bagaimana jika kita ingin beberapa variabel? 522 00:23:06,940 --> 00:23:08,290 Cukup mudah. 523 00:23:08,290 --> 00:23:09,150 Hal yang sama. 524 00:23:09,150 --> 00:23:11,930 Kami juga memiliki fungsi baru di sini disebut GetString (), 525 00:23:11,930 --> 00:23:15,380 juga termasuk dalam perpustakaan CS50, bahwa semua hal ini adalah meminta pengguna 526 00:23:15,380 --> 00:23:18,120 untuk string, yang hanya satu set karakter, 527 00:23:18,120 --> 00:23:19,810 jadi seperti kalimat atau seperti nama. 528 00:23:19,810 --> 00:23:25,470 >> Jadi dalam hal ini, kita akan memiliki dua penampung% s string dan i% 529 00:23:25,470 --> 00:23:26,750 untuk integer. 530 00:23:26,750 --> 00:23:29,190 Dan kita akan mengikuti bahwa dengan dua variabel 531 00:23:29,190 --> 00:23:32,670 kami ingin disertakan, dalam urutan bahwa mereka muncul dalam kalimat. 532 00:23:32,670 --> 00:23:35,471 Jadi misalnya, nama saya kosong, saya ingin nama di sana, 533 00:23:35,471 --> 00:23:36,970 jadi saya akan memiliki nama pertama. 534 00:23:36,970 --> 00:23:39,637 Dan kemudian setelah itu, saya ingin usia, ingin memiliki usia kedua. 535 00:23:39,637 --> 00:23:42,720 Dan jadi jika saya ingin masukan, Hello, Nama saya Andi, dan saya berusia 20 tahun. 536 00:23:42,720 --> 00:23:46,370 Jika saya diinput Andi dan 20, yang hal yang sama persis akan mencetak; 537 00:23:46,370 --> 00:23:51,134 Namun, sekarang kita punya dua disimpan variabel nama serta int. 538 00:23:51,134 --> 00:23:51,634 Ya. 539 00:23:51,634 --> 00:23:54,124 >> SPEAKER 8: Apakah akan dapat dijalankan jika Anda beralih 540 00:23:54,124 --> 00:23:55,620 nama dan usia pada akhir itu? 541 00:23:55,620 --> 00:23:55,840 >> ANDI PENG: Ya. 542 00:23:55,840 --> 00:23:57,006 Itu pertanyaan yang sangat bagus. 543 00:23:57,006 --> 00:23:59,520 Jadi cerita panjang pendek, tidak ada. 544 00:23:59,520 --> 00:24:03,070 Karena nama dan age-- apa jenis variabel adalah nama? 545 00:24:03,070 --> 00:24:03,950 >> SPEAKER 8: String. 546 00:24:03,950 --> 00:24:05,440 >> ANDI PENG: Dan apa jenis variabel usia? 547 00:24:05,440 --> 00:24:06,231 >> SPEAKER 8: Integer. 548 00:24:06,231 --> 00:24:10,290 ANDI PENG: Jadi di sini kita memiliki placeholder string dan integer, kan? 549 00:24:10,290 --> 00:24:13,350 Jadi jika Anda adalah untuk beralih ini, komputer tidak akan tahu. 550 00:24:13,350 --> 00:24:16,250 Ini akan memeriksa string, dan jika Anda mencoba untuk memberikan sebuah int, 551 00:24:16,250 --> 00:24:18,083 itu akan menjadi seperti menunggu aku bingung, Anda 552 00:24:18,083 --> 00:24:21,100 bilang aku harus allotting memori untuk int. 553 00:24:21,100 --> 00:24:23,760 Dan di sini, ketika mengharapkan integer 554 00:24:23,760 --> 00:24:25,640 dan Anda memberikan nama dan string sebaliknya, 555 00:24:25,640 --> 00:24:28,931 itu juga akan menjadi sangat membingungkan, itu tidak akan berjalan persis seperti yang Anda membutuhkannya. 556 00:24:28,931 --> 00:24:35,280 Jadi di sini, penamaan dan sintaks adalah sangat penting untuk menjalankan kode. 557 00:24:35,280 --> 00:24:37,991 Semua orang baik? 558 00:24:37,991 --> 00:24:38,490 Ya. 559 00:24:38,490 --> 00:24:39,476 Maddie. 560 00:24:39,476 --> 00:24:44,620 >> Maddie: Di sini, saya tahu kita telah melihat contoh-contoh di kelas, di mana mereka meminta 561 00:24:44,620 --> 00:24:46,950 apa usia Anda, apa nama Anda. 562 00:24:46,950 --> 00:24:50,250 Di sini, apakah itu hal doesn't-- jika kita menjalankan kode ini, 563 00:24:50,250 --> 00:24:51,750 itu tidak akan meminta untuk itu? 564 00:24:51,750 --> 00:24:54,740 Tapi Anda akan hanya masukan dua angka dan kemudian akan berjalan seperti itu? 565 00:24:54,740 --> 00:24:55,781 >> ANDI PENG: Ya, persis. 566 00:24:55,781 --> 00:24:58,250 Jadi jika Anda ingin untuk itu untuk display, masukkan usia Anda, 567 00:24:58,250 --> 00:25:01,100 Anda hanya dapat menambahkan printf () fungsi yang mengatakan, masukkan usia Anda, 568 00:25:01,100 --> 00:25:01,600 Diatasnya. 569 00:25:01,600 --> 00:25:02,711 Itu pertanyaan yang bagus. 570 00:25:02,711 --> 00:25:03,210 Ya. 571 00:25:03,210 --> 00:25:07,964 >> SPEAKER 9: Jadi, sudah akan termasuk dalam getInt () [tidak terdengar]. 572 00:25:07,964 --> 00:25:09,380 ANDI PENG: Tidak, itu benar-benar tidak. 573 00:25:09,380 --> 00:25:11,809 Jadi semua ini tidak hanya meminta layar kosong 574 00:25:11,809 --> 00:25:13,100 untuk pengguna untuk memasukkan sesuatu. 575 00:25:13,100 --> 00:25:17,420 Jika Anda menginginkannya, jika Anda ingin mencetak sesuatu yang memberitahu pengguna seperti, 576 00:25:17,420 --> 00:25:21,110 tolong beri saya usia Anda, maka Anda harus printf () yang sendiri. 577 00:25:21,110 --> 00:25:23,789 Karena setiap orang menggunakan ini Fungsi untuk hal-hal yang berbeda, 578 00:25:23,789 --> 00:25:26,080 Anda bisa menyimpan usia, Anda dapat menyimpan alamat, 579 00:25:26,080 --> 00:25:28,060 Anda dapat menyimpan nomor telepon. 580 00:25:28,060 --> 00:25:31,190 Dan itu benar-benar sampai menggunakan individu orang-orang Anda ' 581 00:25:31,190 --> 00:25:34,390 untuk apa yang Anda ingin katakan. 582 00:25:34,390 --> 00:25:34,890 Ya. 583 00:25:34,890 --> 00:25:38,236 >> SPEAKER 10: Jadi, hanya untuk memperjelas, di mana apakah Anda masukan nama dan usia 584 00:25:38,236 --> 00:25:43,020 sehingga muncul di tempat% s? 585 00:25:43,020 --> 00:25:44,320 >> ANDI PENG: Seperti pengguna? 586 00:25:44,320 --> 00:25:47,165 >> SPEAKER 10: Ya, seperti bagaimana cara membuat itu-- mana saya menempatkan Andi, 587 00:25:47,165 --> 00:25:48,350 dan di mana saya menempatkan 20? 588 00:25:48,350 --> 00:25:48,640 >> ANDI PENG: Ya. 589 00:25:48,640 --> 00:25:50,250 Jadi jika Anda adalah untuk benar-benar menjalankan kode ini, 590 00:25:50,250 --> 00:25:52,875 Aku tidak benar-benar menjalankan kode, ini hanya di sini sekarang. 591 00:25:52,875 --> 00:25:56,910 Jika saya harus menjalankan kode, saya akan mengkompilasi kode, membuat file, 592 00:25:56,910 --> 00:26:00,760 menjalankan kode, dan kemudian ada akan hanya menjadi dua ruang bagi saya untuk masukan itu. 593 00:26:00,760 --> 00:26:01,260 Ya. 594 00:26:01,260 --> 00:26:03,843 Kalian akan melihat ketika Anda bermain main dengan kode sendiri. 595 00:26:03,843 --> 00:26:05,760 596 00:26:05,760 --> 00:26:09,645 >> Baiklah kita akan pindah ke bagian berikutnya dari apa 597 00:26:09,645 --> 00:26:11,610 kita akan meliputi hari ini. 598 00:26:11,610 --> 00:26:13,980 Kita akan pergi atas apa pernyataan bersyarat adalah. 599 00:26:13,980 --> 00:26:16,500 Jadi jika kalian ingat dan ingat dari kuliah, 600 00:26:16,500 --> 00:26:19,210 pernyataan bersyarat, semua mereka adalah satu set 601 00:26:19,210 --> 00:26:24,010 instruksi ke komputer di yang jika kondisi tertentu adalah benar, 602 00:26:24,010 --> 00:26:27,470 Anda mengeksekusi kode dalam kondisi itu. 603 00:26:27,470 --> 00:26:30,101 >> Jadi di Scratch-- dasarnya tema besar dari hari ini 604 00:26:30,101 --> 00:26:32,850 adalah bahwa kalian sudah semua melihat logika di balik semua 605 00:26:32,850 --> 00:26:34,020 bahwa kita menutupi. 606 00:26:34,020 --> 00:26:36,190 Dan semua yang kita lakukan adalah menerjemahkan sesuatu 607 00:26:36,190 --> 00:26:39,090 yang sangat intuitif dalam Scratch, dan keras coding 608 00:26:39,090 --> 00:26:41,950 dalam sintaks kita akan menggunakan untuk kelas yang C. 609 00:26:41,950 --> 00:26:47,550 Jadi secara logis, semua blok ini adalah bahwa potongan kode di sana. 610 00:26:47,550 --> 00:26:49,995 Ya. 611 00:26:49,995 --> 00:26:50,900 OKE. 612 00:26:50,900 --> 00:26:55,290 >> Kami juga masuk ke sebuah if ... else Pernyataan yang hanya lapisan tambahan 613 00:26:55,290 --> 00:26:59,120 kompleksitas jika pernyataan di mana komputer mengambil melihat ini 614 00:26:59,120 --> 00:27:04,260 dan dilihatnya, jika kondisi ini benar, lakukan apapun itu dalam dua kurung ini, 615 00:27:04,260 --> 00:27:08,470 else-- sehingga jenis seperti default jika tidak memenuhi condition-- yang melakukan hal ini. 616 00:27:08,470 --> 00:27:10,120 Ini seperti persimpangan jalan. 617 00:27:10,120 --> 00:27:14,400 Jika hujan di luar, saya menempatkan pada jaket hujan, yang lain apa pun 618 00:27:14,400 --> 00:27:16,330 lain aku tidak mengenakan jaket hujan. 619 00:27:16,330 --> 00:27:18,400 >> Apakah logika yang masuk akal untuk semua orang? 620 00:27:18,400 --> 00:27:21,031 Keren. 621 00:27:21,031 --> 00:27:21,530 Baiklah. 622 00:27:21,530 --> 00:27:24,970 Jadi seperti contoh keras ini bahwa kita akan melihat di C 623 00:27:24,970 --> 00:27:28,890 adalah jika saya ingin membuat variabel disebut jam pekerjaan rumah. 624 00:27:28,890 --> 00:27:32,050 Dan jika jam pekerjaan rumah kurang dari lima, saya katakan Hidup ini besar. 625 00:27:32,050 --> 00:27:33,070 Ini luar biasa. 626 00:27:33,070 --> 00:27:36,450 Namun, mengatakan perjuangan tersebut real-- yang adalah apa yang kita semua pada hari Senin ini 627 00:27:36,450 --> 00:27:39,337 sore sampai Science Hill adalah mungkin melakukan hal yang benar sekarang-- 628 00:27:39,337 --> 00:27:40,170 AUDIENCE: [TERTAWA] 629 00:27:40,170 --> 00:27:42,510 ANDI PENG: Mereka cara kita akan, terima kasih untuk itu. 630 00:27:42,510 --> 00:27:46,180 Cara kita akan hardcode ini di C adalah if-- mari kita asumsikan 631 00:27:46,180 --> 00:27:49,920 kita sudah memiliki variabel jenis int disebut jam pekerjaan rumah di sini. 632 00:27:49,920 --> 00:27:53,870 Jika jam pekerjaan rumah kurang dari lima printf (), Hidup adalah besar. 633 00:27:53,870 --> 00:27:57,330 Ingat terus / n karena Anda ingin baris baru setelah. 634 00:27:57,330 --> 00:27:59,660 Cetak lain, perjuangan adalah nyata. 635 00:27:59,660 --> 00:28:03,720 >> Apakah semua orang mengerti bagaimana Saya beralih dari blok ini 636 00:28:03,720 --> 00:28:07,610 dalam blok kode ini? 637 00:28:07,610 --> 00:28:08,110 Keren. 638 00:28:08,110 --> 00:28:11,030 639 00:28:11,030 --> 00:28:11,840 Baiklah. 640 00:28:11,840 --> 00:28:15,930 >> Jadi sekarang kita akan melihat pada beberapa pernyataan Jika sama sekali. 641 00:28:15,930 --> 00:28:18,140 Jadi mari kita asumsikan Tujuan dari program ini 642 00:28:18,140 --> 00:28:20,870 adalah kami meminta pengguna untuk kelas. 643 00:28:20,870 --> 00:28:24,450 Kami prompt menggunakan getInt () untuk kelas, dan mereka masukan nilai, 644 00:28:24,450 --> 00:28:27,700 dan Anda ingin menampilkan apa jenis kelas yang mereka punya. 645 00:28:27,700 --> 00:28:30,730 >> Jadi jika saya harus merancang program, saya berarti biasanya dalam semua mata kita, 646 00:28:30,730 --> 00:28:35,490 90-100 adalah A, 80-90 adalah B, dan sebagainya dan sebagainya. 647 00:28:35,490 --> 00:28:39,040 Apa yang salah dengan ini bagian dari kode yang itu tidak 648 00:28:39,040 --> 00:28:41,393 melakukan apa yang saya ingin lakukan. 649 00:28:41,393 --> 00:28:41,892 Ya. 650 00:28:41,892 --> 00:28:45,100 >> SPEAKER 11: Mereka memiliki batas yang lebih rendah, tetapi mereka tidak memiliki batas atas. 651 00:28:45,100 --> 00:28:46,280 >> ANDI PENG: Tepat. 652 00:28:46,280 --> 00:28:47,950 Apakah semua orang mendengar apa yang dia katakan? 653 00:28:47,950 --> 00:28:50,200 Ada akan menjadi atas batas, tetapi tidak ada batas bawah. 654 00:28:50,200 --> 00:28:52,540 Maaf, sebaliknya, batas bawah, tidak ada batas atas. 655 00:28:52,540 --> 00:28:55,090 Jadi Anda ingin mengambil bacokan di mengatakan 656 00:28:55,090 --> 00:28:58,945 apa yang akan dicetak pada ini layar jika saya menjalankan kode ini. 657 00:28:58,945 --> 00:28:59,820 SPEAKER 11: Kesalahan? 658 00:28:59,820 --> 00:29:01,140 ANDI PENG: Sebuah kesalahan? 659 00:29:01,140 --> 00:29:02,740 Besar menebak, tidak benar. 660 00:29:02,740 --> 00:29:05,465 Apakah ada yang punya menusuk lain? 661 00:29:05,465 --> 00:29:06,640 Ya, Aaron. 662 00:29:06,640 --> 00:29:10,099 >> AARON: Jika Anda menempatkan di sesuatu yang lebih besar dari 90, 663 00:29:10,099 --> 00:29:11,640 itu akan menampilkan semua nilai yang Anda punya. 664 00:29:11,640 --> 00:29:13,640 Ini akan menunjukkan Anda mendapat nilai A, Anda punya B, Anda punya C. 665 00:29:13,640 --> 00:29:13,870 >> ANDI PENG: Ya. 666 00:29:13,870 --> 00:29:14,840 Itu tepat. 667 00:29:14,840 --> 00:29:17,820 Jadi, yang akan menjadi indah. 668 00:29:17,820 --> 00:29:21,781 Namun, mereka saling eksklusif, saya pikir. 669 00:29:21,781 --> 00:29:23,280 Jika saya menjalankan potongan kode ini. 670 00:29:23,280 --> 00:29:26,200 Dan kemudian katakan saja, aku diinput kelas dari 95. 671 00:29:26,200 --> 00:29:30,360 Jadi 95 sekarang disimpan di yang int disebut kelas. 672 00:29:30,360 --> 00:29:33,610 >> Dan C adalah bahasa yang berjalan sampai atas ke bawah, 673 00:29:33,610 --> 00:29:36,000 sehingga akan selalu berlari ke bawah. 674 00:29:36,000 --> 00:29:39,420 Jadi itu akan datang ke sini, dibaca jika kelas lebih besar dari atau sama dengan 90, 675 00:29:39,420 --> 00:29:42,850 printf () Anda punya A. Besar, saya memiliki 95, yang lebih besar dari 90. 676 00:29:42,850 --> 00:29:44,866 Ini akan mencetak, Saya mendapat A. Ini akan 677 00:29:44,866 --> 00:29:48,850 untuk melihat ini jika, itu akan mengatakan, baik 95 juga lebih besar dari 80, 678 00:29:48,850 --> 00:29:52,970 itu akan mencetak Anda juga mendapat Got a tanda seru B, dan seterusnya dan 679 00:29:52,970 --> 00:29:53,690 sebagainya. 680 00:29:53,690 --> 00:29:55,890 >> Jadi seperti yang kita semua bisa melihat, ini adalah bug umum 681 00:29:55,890 --> 00:30:00,760 yang mungkin terjadi ketika kita berada menulis kode untuk melihat keluar untuk. 682 00:30:00,760 --> 00:30:05,430 Siapapun, apapun pertanyaan pada mengapa yang terjadi? 683 00:30:05,430 --> 00:30:05,930 Besar. 684 00:30:05,930 --> 00:30:08,920 685 00:30:08,920 --> 00:30:09,440 OKE. 686 00:30:09,440 --> 00:30:12,110 >> Jadi bagaimana kita memperbaiki hal ini, jelas logis pertanyaan berikutnya. 687 00:30:12,110 --> 00:30:16,290 Nah, kita memiliki indah ini hal disebut jika lain jika lain 688 00:30:16,290 --> 00:30:18,010 jika pernyataan lain. 689 00:30:18,010 --> 00:30:22,230 Sehingga Anda dapat melihat, jika Anda ingin untuk mengubah masalah itu, 690 00:30:22,230 --> 00:30:25,260 Anda ingin membuat masing-masing kondisi saling eksklusif, 691 00:30:25,260 --> 00:30:26,860 Anda akan menambahkan lagi ... jika pernyataan. 692 00:30:26,860 --> 00:30:30,068 >> Dan ini dari course-- menganggap mereka sebagai tangga, atau seperti anak tangga pada ladder-- 693 00:30:30,068 --> 00:30:34,050 Anda dapat menambahkan sebanyak ini seperti yang Anda ingin untuk sebanyak kondisi yang Anda inginkan. 694 00:30:34,050 --> 00:30:36,790 Jadi di sini, jika saya diinput kelas menjadi 95. 695 00:30:36,790 --> 00:30:39,479 Jika kelas lebih besar dari 95, printf (), saya mendapat A. Besar. 696 00:30:39,479 --> 00:30:42,020 Ini akan melihat lagi ... jika dan itu akan tahu, Oh tidak, 697 00:30:42,020 --> 00:30:43,750 Saya sudah dieksekusi pertama lagi. 698 00:30:43,750 --> 00:30:47,020 Saya tahu-- atau if-- pertama yang saya tahu bahwa Saya tidak perlu melihat semua ini 699 00:30:47,020 --> 00:30:48,920 karena salah satu dari mereka telah menjadi kenyataan. 700 00:30:48,920 --> 00:30:50,410 Jadi itu akan lari dari atas ke bawah. 701 00:30:50,410 --> 00:30:53,650 Begitu yang pertama adalah benar, maka itu akan melewatkan semua sisanya 702 00:30:53,650 --> 00:30:54,675 dari yang lain ... seandainya. 703 00:30:54,675 --> 00:30:55,550 Apakah itu masuk akal? 704 00:30:55,550 --> 00:30:57,841 Jadi, dengan cara ini Anda memiliki berbagai tingkat pemeriksaan 705 00:30:57,841 --> 00:31:01,090 dan segera setelah salah satu dari mereka adalah palsu, Sisanya juga, mereka bahkan tidak akan memeriksa. 706 00:31:01,090 --> 00:31:03,577 707 00:31:03,577 --> 00:31:04,076 Keren. 708 00:31:04,076 --> 00:31:07,680 709 00:31:07,680 --> 00:31:08,180 Baiklah. 710 00:31:08,180 --> 00:31:11,180 >> Jadi ini adalah contoh dari yang berbeda semacam pernyataan kondisional 711 00:31:11,180 --> 00:31:15,250 kita lihat lebih sering, tapi kita akan melihat mereka dan menggunakannya. 712 00:31:15,250 --> 00:31:18,120 Dan mereka sering lebih efisien untuk kasus-kasus tertentu. 713 00:31:18,120 --> 00:31:20,020 Jadi kita memiliki apa yang disebut pernyataan switch. 714 00:31:20,020 --> 00:31:25,140 Jadi sebelum kita membahas apa yang lain pernyataan, if ... else pernyataan. 715 00:31:25,140 --> 00:31:27,790 Di sini, kita memiliki apa yang disebut laporan beralih. 716 00:31:27,790 --> 00:31:31,100 >> Jadi ketika kita menggunakan switch pernyataan kuncinya? 717 00:31:31,100 --> 00:31:34,090 Jadi dalam pernyataan switch, Anda biasanya, biasanya, sebenarnya Anda 718 00:31:34,090 --> 00:31:38,010 hanya dapat memasukkan bilangan bulat untuk Anda variabel yang Anda sedang memeriksa. 719 00:31:38,010 --> 00:31:42,390 Jadi jika saya ingin memeriksa untuk melihat jika number-- tertentu misalnya 720 00:31:42,390 --> 00:31:43,720 kelas, jika aku punya 90. 721 00:31:43,720 --> 00:31:48,190 Saya ingin melihat apakah itu A, B, atau C. Saya bisa punya kasus di sini. 722 00:31:48,190 --> 00:31:50,840 Namun, kasus ini memiliki konstan lain. 723 00:31:50,840 --> 00:31:53,170 >> Jadi dalam pengertian ini, beralih pernyataan hanya dapat 724 00:31:53,170 --> 00:31:55,290 memeriksa kesamaan dua angka. 725 00:31:55,290 --> 00:31:57,242 Itu tidak memeriksa apa-apa lagi. 726 00:31:57,242 --> 00:31:59,950 Jadi itu sesuatu yang sangat hati-hati ketika Anda menggunakan ini. 727 00:31:59,950 --> 00:32:04,810 Jadi di sini, jika saya ingin memeriksa untuk melihat jika kelas saya 90 adalah sama dengan 90 atau 80 728 00:32:04,810 --> 00:32:08,500 atau 70 atau 60, dan kemudian cetak kelas yang sesuai, 729 00:32:08,500 --> 00:32:11,420 Aku bisa menulis bahwa dalam sebuah pernyataan switch. 730 00:32:11,420 --> 00:32:15,120 >> Jadi itu akan datang ke sini, cek bilangan bulat ini sama dengan konstan ini? 731 00:32:15,120 --> 00:32:17,030 Jika tidak, itu akan melompat. 732 00:32:17,030 --> 00:32:19,880 Apakah itu sama dengan konstan dua, dan seterusnya dan sebagainya, 733 00:32:19,880 --> 00:32:22,390 sampai anda menekan default, jika tidak satupun dari mereka adalah sama. 734 00:32:22,390 --> 00:32:24,590 Begitu salah satu dari mereka diatur untuk menjadi sama, 735 00:32:24,590 --> 00:32:27,040 itu akan melakukan hal ini baris kode dan istirahat. 736 00:32:27,040 --> 00:32:30,990 Yang berarti itu akan memukul yang menjalankan, istirahat, dan hanya benar-benar melewatkan 737 00:32:30,990 --> 00:32:32,240 ke bagian bawah kode. 738 00:32:32,240 --> 00:32:37,550 Jadi dalam arti bahwa jenis fungsi seperti jika lain jika lain jika pernyataan. 739 00:32:37,550 --> 00:32:40,830 >> Jadi, inilah beton Misalnya untuk kalian. 740 00:32:40,830 --> 00:32:46,140 Jadi mari kita asumsikan bahwa saya ingin membuat variabel disebut tahun didirikan. 741 00:32:46,140 --> 00:32:50,230 Dan saya ingin meminta pengguna untuk memasukkan tahun yang sekolah mereka didirikan. 742 00:32:50,230 --> 00:32:53,300 Jadi saya bisa membuat pernyataan switch di sini. 743 00:32:53,300 --> 00:32:56,650 Dan katakan saja, saya masukan 1636. 744 00:32:56,650 --> 00:33:01,120 >> Kode ini di sini akan melihat saklar tahun didirikan yang sama 1636. 745 00:33:01,120 --> 00:33:03,940 Ini akan melihat kasus 1636, oh mereka adalah sama, 746 00:33:03,940 --> 00:33:06,230 printf () tidak Jika Anda menjadi pada saat itu sekolah ke utara? 747 00:33:06,230 --> 00:33:08,770 Karena kita menganggap mereka tidak pergi di sini jika mereka pergi ke Harvard, 748 00:33:08,770 --> 00:33:10,380 istirahat dan melompat ke akhir. 749 00:33:10,380 --> 00:33:14,090 >> Jika saya masukan 1701, yang Saya berasumsi kita semua akan masukan, 750 00:33:14,090 --> 00:33:17,500 itu akan melewatkan hal ini, datang turun ke kasus dua yang 1701, 751 00:33:17,500 --> 00:33:19,660 dan mencetak Selamat Datang di Yale! 752 00:33:19,660 --> 00:33:21,360 Istirahat, melompat ke akhir. 753 00:33:21,360 --> 00:33:25,130 Lain Anda mungkin mengambil kursus ini online di mana case-- mengagumkan diterima 754 00:33:25,130 --> 00:33:29,020 untuk Yale-- itu akan pergi ke cetak default, Hello Internet! 755 00:33:29,020 --> 00:33:29,870 Dan istirahat. 756 00:33:29,870 --> 00:33:30,466 Ya. 757 00:33:30,466 --> 00:33:32,090 >> SPEAKER 12: Dapatkah Anda menggunakan lain bukannya default ada? 758 00:33:32,090 --> 00:33:34,550 >> ANDI PENG: Tidak, karena cara seluruh fungsi ini 759 00:33:34,550 --> 00:33:39,170 beralih dibangun, sintaks Anda perlu menggunakan kasus kasus default. 760 00:33:39,170 --> 00:33:42,400 Ini seperti jika lain jika, ini satu itu kasus kasus default. Ya. 761 00:33:42,400 --> 00:33:45,650 SPEAKER 13: Anda mungkin sudah mengatakan ini, tetapi dapat Anda memiliki lebih dari dua kasus? 762 00:33:45,650 --> 00:33:48,066 ANDI PENG: Ya, Anda bisa memiliki banyak kasus yang Anda inginkan. 763 00:33:48,066 --> 00:33:50,050 Anggap saja sebagai hanya ingin jauh menambahkan pada. 764 00:33:50,050 --> 00:33:52,396 >> SPEAKER 14: Jika Anda beralih 1701 dengan 1636, 765 00:33:52,396 --> 00:33:54,187 itu tidak benar-benar membuat perbedaan kan? 766 00:33:54,187 --> 00:33:55,770 Ini hanya akan memeriksa untuk itu. 767 00:33:55,770 --> 00:33:56,900 >> ANDI PENG: Itu Pertanyaan benar-benar baik. 768 00:33:56,900 --> 00:33:58,880 Dan kami akan menyentuh ini nanti, tetapi hanya 769 00:33:58,880 --> 00:34:01,160 tahu itu saklar pernyataan infinitely-- itu 770 00:34:01,160 --> 00:34:03,536 lebih efisien daripada itu dan jika lain jika karena beroperasi 771 00:34:03,536 --> 00:34:06,660 menggunakan berbagai jenis fungsi yang memungkinkan Anda, untuk dasarnya, hanya 772 00:34:06,660 --> 00:34:08,790 melompat langsung ke Jika Anda perlu berada di. 773 00:34:08,790 --> 00:34:10,547 Ya. 774 00:34:10,547 --> 00:34:11,255 SPEAKER 14: Cool. 775 00:34:11,255 --> 00:34:11,754 Terima kasih. 776 00:34:11,754 --> 00:34:12,526 ANDI PENG: Ya 777 00:34:12,526 --> 00:34:16,687 >> SPEAKER 14: Dan Anda tidak bisa melakukan kasus seperti dan lebih besar dari. 778 00:34:16,687 --> 00:34:17,270 ANDI PENG: No. 779 00:34:17,270 --> 00:34:19,860 Jadi, itulah yang membatasi tentang pernyataan switch adalah bahwa Anda memiliki 780 00:34:19,860 --> 00:34:21,564 memiliki konstanta saja, hanya bilangan bulat. 781 00:34:21,564 --> 00:34:22,064 Ya. 782 00:34:22,064 --> 00:34:25,179 783 00:34:25,179 --> 00:34:25,820 OKE. 784 00:34:25,820 --> 00:34:28,659 >> Jadi ini adalah sesuatu yang Anda orang akan menemukan lebih jarang dari, 785 00:34:28,659 --> 00:34:32,280 tapi saya hanya ingin memperkenalkannya dalam kasus. 786 00:34:32,280 --> 00:34:36,210 Kita miliki di sini apa disebut operator ternary. 787 00:34:36,210 --> 00:34:39,370 Di mana dasarnya, itu hanya seperti sebuah jika pernyataan disusun menjadi satu baris. 788 00:34:39,370 --> 00:34:42,630 Di sini, saya akan pergi ke garis depan, halaman berikutnya, karena lebih mudah untuk melihat. 789 00:34:42,630 --> 00:34:44,860 >> Jadi kita semua pernah melihat ini benar? 790 00:34:44,860 --> 00:34:46,110 Ini cukup mudah diikuti. 791 00:34:46,110 --> 00:34:51,290 Jika saya ingin membuat sebuah variabel yang disebut string bernama s, jika jumlah tertentu 792 00:34:51,290 --> 00:34:54,770 Aku memberikan kurang dari 100, saya ingin menetapkan rendah untuk string, 793 00:34:54,770 --> 00:34:57,240 lain saya ingin menetapkan tinggi. 794 00:34:57,240 --> 00:35:01,370 >> Ini di sini adalah melakukan hal yang sama persis delapan baris kode lakukan. 795 00:35:01,370 --> 00:35:03,600 Jadi di sini saya ingin membuat string variabel. 796 00:35:03,600 --> 00:35:08,520 Dan ini adalah kondisi saya memeriksa, jika nomor kurang dari 100, 797 00:35:08,520 --> 00:35:12,750 maka Anda menetapkan nilai rendah, lain menetapkan nilai tinggi. 798 00:35:12,750 --> 00:35:15,802 >> Slide ini akan online, tidak ada kekhawatiran jika kalian tidak mendapatkan ini turun. 799 00:35:15,802 --> 00:35:18,510 Ini adalah cara sederhana, lebih cara yang efisien untuk menulis kode. 800 00:35:18,510 --> 00:35:21,290 801 00:35:21,290 --> 00:35:21,810 OKE. 802 00:35:21,810 --> 00:35:25,190 >> Jadi sekarang kita akan masukkan apa, bagi kebanyakan orang 803 00:35:25,190 --> 00:35:28,660 seperti sangat, sangat membingungkan Hal untuk berpikir tentang pada awalnya. 804 00:35:28,660 --> 00:35:30,226 Bagian lingkaran. 805 00:35:30,226 --> 00:35:32,600 Jadi hari ini, kita akan berbicara sekitar tiga jenis loop. 806 00:35:32,600 --> 00:35:34,890 Kita akan memulai dengan sementara lingkaran, kemudian berbicara tentang do while, 807 00:35:34,890 --> 00:35:36,740 dan kemudian berbicara tentang untuk loop. 808 00:35:36,740 --> 00:35:40,010 >> Jadi pada dasarnya, untuk lebih pelajar visual di luar sana, 809 00:35:40,010 --> 00:35:44,410 kita memiliki, pada dasarnya, sebuah grafis penggambaran apa loop sementara tidak. 810 00:35:44,410 --> 00:35:48,290 Jadi dalam pemrograman, Anda akan mulai dan masukkan loop pada titik tertentu. 811 00:35:48,290 --> 00:35:49,470 Anda memeriksa kondisi. 812 00:35:49,470 --> 00:35:52,165 Dan jika kondisi benar, Anda mengeksekusi kode di dalam. 813 00:35:52,165 --> 00:35:53,790 Dan Anda datang kembali sekitar dan Anda periksa. 814 00:35:53,790 --> 00:35:57,190 Jika itu masih benar Anda tetap berjalan kode ini sekitar dan di dalam lingkaran. 815 00:35:57,190 --> 00:36:00,970 >> Namun, kedua yang kondisi menjadi palsu, 816 00:36:00,970 --> 00:36:02,739 Anda akan istirahat dan mengakhiri loop. 817 00:36:02,739 --> 00:36:05,030 Dan ini pada dasarnya adalah sintaks Anda akan menggunakan. 818 00:36:05,030 --> 00:36:08,250 Sementara kondisi tertentu adalah benar melakukan hal ini, jika itu tidak benar, 819 00:36:08,250 --> 00:36:12,920 Anda akan melompat ke akhir dan bergerak maju dengan program anda. 820 00:36:12,920 --> 00:36:13,690 OKE. 821 00:36:13,690 --> 00:36:17,250 >> Apakah ada yang punya contoh pada apa yang berpotensi terjadi 822 00:36:17,250 --> 00:36:19,160 jika saya mencoba untuk menjalankan potongan kode ini? 823 00:36:19,160 --> 00:36:22,470 By the way, SAJ-- itu Scaz, Andi, Jason-- akan kami menandatangani email kami, 824 00:36:22,470 --> 00:36:24,830 Cinta, SAJ. 825 00:36:24,830 --> 00:36:25,573 Itu kita. 826 00:36:25,573 --> 00:36:26,500 OKE. 827 00:36:26,500 --> 00:36:29,829 >> Ada yang punya contoh, atau memiliki ide tentang apa ini akan mencetak? 828 00:36:29,829 --> 00:36:30,870 Jenis pertanyaan jebakan. 829 00:36:30,870 --> 00:36:34,550 830 00:36:34,550 --> 00:36:39,380 Jadi di sini, mengingat kondisi kami memeriksa adalah sementara benar. 831 00:36:39,380 --> 00:36:42,840 Jadi sementara ini benar, itu akan mencetak, aku cinta SAJ! 832 00:36:42,840 --> 00:36:48,460 Apakah ada titik di mana kami akan mengubah ini untuk apa-apa jika tidak? 833 00:36:48,460 --> 00:36:49,050 Tidak ada, kan? 834 00:36:49,050 --> 00:36:51,470 >> Jadi di sini, kita memiliki ditemui apa yang mungkin 835 00:36:51,470 --> 00:36:54,310 akan mengganggu banyak program Anda, loop tak terbatas. 836 00:36:54,310 --> 00:36:56,268 Anda akan menemukan bahwa jika Anda menjalankan potongan kode ini, 837 00:36:56,268 --> 00:36:58,160 itu hanya akan terus percetakan, aku cinta SAJ! 838 00:36:58,160 --> 00:37:00,701 Sementara kita menghargai dukungan tersebut, kita tidak ingin komputer Anda 839 00:37:00,701 --> 00:37:02,910 crash karena Anda tetap mencetak Saya suka SAJ! 840 00:37:02,910 --> 00:37:05,320 >> Jadi tolong, tolong, menghindari loop tak terbatas 841 00:37:05,320 --> 00:37:07,320 karena itu tidak akan untuk mengevaluasi ke false 842 00:37:07,320 --> 00:37:08,780 dan Anda tidak akan pernah meninggalkan loop. 843 00:37:08,780 --> 00:37:10,530 Dan Anda akan tersedot selamanya. 844 00:37:10,530 --> 00:37:13,000 Keren. 845 00:37:13,000 --> 00:37:13,694 OKE. 846 00:37:13,694 --> 00:37:15,610 Tipe kedua loop kita akan berbicara tentang hari ini 847 00:37:15,610 --> 00:37:17,580 adalah do while, do while loop. 848 00:37:17,580 --> 00:37:20,580 Dan itu disebut do while karena Anda memiliki do dan sementara. 849 00:37:20,580 --> 00:37:24,390 Jadi ini sangat mirip dengan sementara lingkaran, tapi sedikit berbeda. 850 00:37:24,390 --> 00:37:27,620 Di sini, Anda akan melakukan apapun yang di dalam ini 851 00:37:27,620 --> 00:37:29,747 sementara kondisi tertentu adalah benar. 852 00:37:29,747 --> 00:37:32,580 Jadi jika saya C dan komputer saya mengalir potongan kode ini, 853 00:37:32,580 --> 00:37:33,880 Saya lihat di atas. 854 00:37:33,880 --> 00:37:36,890 Aku pergi ke C, saya mengatakan melakukan hal ini. 855 00:37:36,890 --> 00:37:40,550 Dan kemudian saya cek, sementara ini benar, saya harus mengulanginya. 856 00:37:40,550 --> 00:37:42,750 Tapi sementara ini adalah palsu, maka saya bergerak maju 857 00:37:42,750 --> 00:37:44,700 dan aku tidak pernah kembali ke lingkaran itu lagi. 858 00:37:44,700 --> 00:37:48,360 >> Ada yang bisa mengambil bacokan apa perbedaan 859 00:37:48,360 --> 00:37:52,130 antara lingkaran ini dan yang kita hanya tampak di praktis. 860 00:37:52,130 --> 00:37:52,717 Ya. 861 00:37:52,717 --> 00:37:55,050 SPEAKER 15: Kondisi datang setelah bukannya sebelumnya? 862 00:37:55,050 --> 00:37:55,841 ANDI PENG: Tepat. 863 00:37:55,841 --> 00:37:57,984 Jadi dia mengatakan kondisi muncul setelah, bukan sebelumnya. 864 00:37:57,984 --> 00:38:00,400 Pada akhirnya, perbedaan antara ini dan loop sementara 865 00:38:00,400 --> 00:38:03,597 adalah bahwa Anda hanya akan melakukan apa yang di dalam ini terlepas dari 866 00:38:03,597 --> 00:38:06,430 apakah kondisi Anda adalah benar, dan kemudian memeriksa kondisi. 867 00:38:06,430 --> 00:38:08,304 Jadi dalam hal ini, Anda always-- dengan cara ini, 868 00:38:08,304 --> 00:38:11,240 Anda selalu memastikan apa yang ada di dalamnya berjalan setidaknya 869 00:38:11,240 --> 00:38:14,230 sekali sebelum memeriksa untuk melihat jika Anda ingin menjalankannya lagi. 870 00:38:14,230 --> 00:38:18,040 >> Dan di sini adalah contoh ketika kita akan menggunakannya. 871 00:38:18,040 --> 00:38:22,570 Jadi misalnya, jika saya ingin memiliki variabel bertipe int bernama usia, 872 00:38:22,570 --> 00:38:25,640 dan saya ingin meminta pengguna untuk usia mereka, 873 00:38:25,640 --> 00:38:27,910 Aku akan melakukan printf () Berapa umur anda? 874 00:38:27,910 --> 00:38:30,330 usia = getInt (), yang adalah mendorong pengguna. 875 00:38:30,330 --> 00:38:32,140 >> Dan beberapa orang akan benar-benar menjengkelkan. 876 00:38:32,140 --> 00:38:34,931 Dan Anda tidak ingin bug di Anda Program seseorang memasukkan seperti, 877 00:38:34,931 --> 00:38:36,680 oh aku negatif berusia 4 tahun atau apa pun. 878 00:38:36,680 --> 00:38:39,900 Dalam hal ini jika mereka melakukan itu, ini mengevaluasi 879 00:38:39,900 --> 00:38:43,150 true, yang berarti bahwa aku akan harus terus kembali dan melakukan hal ini. 880 00:38:43,150 --> 00:38:45,310 Jadi ini akan terus re-mendorong pengguna 881 00:38:45,310 --> 00:38:47,960 untuk memberikan seperti nyata jumlah usia dan itu 882 00:38:47,960 --> 00:38:51,930 akan terus kembali dan mengulangi sampai mereka memberikan usia sebenarnya 883 00:38:51,930 --> 00:38:56,900 lebih besar dari satu, atau tidak nol. 884 00:38:56,900 --> 00:38:58,020 >> Jadi mengisyaratkan, petunjuk. 885 00:38:58,020 --> 00:39:02,263 Ini akan sangat, sangat berguna untuk salah satu masalah PSet Anda. 886 00:39:02,263 --> 00:39:04,155 Ya. 887 00:39:04,155 --> 00:39:05,580 >> SPEAKER 16: Ups, maaf. 888 00:39:05,580 --> 00:39:06,288 >> ANDI PENG: Yep. 889 00:39:06,288 --> 00:39:09,424 >> SPEAKER 16: Apakah ada, tidak menjadi bajingan, tapi-- 890 00:39:09,424 --> 00:39:10,340 ANDI PENG: Jangan khawatir. 891 00:39:10,340 --> 00:39:11,990 SPEAKER 16: --are ada aturan yang berbeda di sini, 892 00:39:11,990 --> 00:39:13,810 atau apakah Anda hanya lupa untuk menempatkan kutipan? 893 00:39:13,810 --> 00:39:14,250 >> ANDI PENG: Oh Yeah. 894 00:39:14,250 --> 00:39:15,530 Maaf, itu benar-benar buruk saya. 895 00:39:15,530 --> 00:39:17,100 Itu pasti seharusnya kutipan. 896 00:39:17,100 --> 00:39:17,690 Tangkapan bagus. 897 00:39:17,690 --> 00:39:18,800 Itu akan tidak berjalan. 898 00:39:18,800 --> 00:39:22,070 899 00:39:22,070 --> 00:39:22,830 OKE. 900 00:39:22,830 --> 00:39:26,160 >> Jadi jenis terakhir loop kita akan bicara tentang dan, pada akhirnya, jenis yang paling 901 00:39:26,160 --> 00:39:28,854 kompleks adalah untuk loop. 902 00:39:28,854 --> 00:39:30,770 Jangan khawatir jika Anda tidak tahu apa artinya. 903 00:39:30,770 --> 00:39:32,061 Ini cukup membingungkan pada awalnya. 904 00:39:32,061 --> 00:39:33,640 Kami akan pergi ke sebuah contoh. 905 00:39:33,640 --> 00:39:37,040 >> Semua itu terjadi dalam untuk loop adalah bahwa Anda memiliki tiga pernyataan 906 00:39:37,040 --> 00:39:38,380 bahwa Anda akan menyertakan. 907 00:39:38,380 --> 00:39:42,130 Jadi untuk hal tertentu, Anda akan menginisialisasi variabel. 908 00:39:42,130 --> 00:39:45,280 Anda akan menambahkan kondisi ke yang lingkaran ini akan tetap berjalan. 909 00:39:45,280 --> 00:39:47,790 Dan kemudian, pada akhir lingkaran, Anda akan memperbaruinya. 910 00:39:47,790 --> 00:39:50,248 Anda dapat memperbarui variabel bahwa Anda ingin melacak. 911 00:39:50,248 --> 00:39:52,530 Jadi kita biasanya menggunakan untuk loop ketika kita 912 00:39:52,530 --> 00:39:55,390 ingin menjalankan loop untuk jumlah tertentu kali 913 00:39:55,390 --> 00:39:58,900 dan kita sudah tahu, Oh aku ingin lingkaran ini untuk mengeksekusi seperti 10 kali, 914 00:39:58,900 --> 00:40:03,060 maka Anda do-- aku akan pergi contoh pada halaman berikutnya. 915 00:40:03,060 --> 00:40:07,830 >> Jadi di sini misalnya, di Scratch, jika Anda ingin sesuatu untuk mengulang 10 kali, 916 00:40:07,830 --> 00:40:10,790 semua yang Anda harus katakan adalah, ulangi 10 kali aku cinta SAJ! 917 00:40:10,790 --> 00:40:15,260 yang merupakan lebih dapat diterima menunjukkan dukungan bagi kita 918 00:40:15,260 --> 00:40:17,120 daripada loop tak terbatas. 919 00:40:17,120 --> 00:40:19,920 Di sini, Anda akan bagaimana transisi ke C dan menulis 920 00:40:19,920 --> 00:40:26,040 yaitu untuk int-- Aku akan membuat atau mendeklarasikan variabel bertipe int bernama i. 921 00:40:26,040 --> 00:40:30,089 Aku akan menginisialisasi ke 0, jadi saya = 0; 922 00:40:30,089 --> 00:40:31,630 dan ini akan menjadi kondisi saya. 923 00:40:31,630 --> 00:40:33,860 Jadi saya kurang dari 10. 924 00:40:33,860 --> 00:40:36,096 Dan kemudian di end-- pernyataan terakhir Anda 925 00:40:36,096 --> 00:40:38,710 akan memiliki adalah update apa yang terjadi pada saya variabel 926 00:40:38,710 --> 00:40:40,206 pada akhir untuk Anda lingkaran. 927 00:40:40,206 --> 00:40:42,830 Jadi itu agak membingungkan, karena bagian yang berbeda dari garis ini 928 00:40:42,830 --> 00:40:44,871 yang terjadi di berbagai jenis loop. 929 00:40:44,871 --> 00:40:46,746 Tapi aku akan pergi selama Contoh pseudocode itu 930 00:40:46,746 --> 00:40:50,360 dan mungkin menjelaskan hal ini hanya sedikit lebih baik. 931 00:40:50,360 --> 00:40:51,500 >> Jadi di sini. 932 00:40:51,500 --> 00:40:52,929 Itulah lingkaran yang kita hanya melihat. 933 00:40:52,929 --> 00:40:55,470 Pada dasarnya di pseudocode, apa yang terjadi dalam program ini, 934 00:40:55,470 --> 00:40:57,940 pertama saya menciptakan i, menginisialisasi ke 0. 935 00:40:57,940 --> 00:41:00,440 Aku memeriksa untuk melihat apakah saya adalah kurang dari 10, dalam hal ini 936 00:41:00,440 --> 00:41:02,840 pertama kali adalah karena 0 adalah kurang dari 10. 937 00:41:02,840 --> 00:41:04,727 Jadi loop akan dijalankan. 938 00:41:04,727 --> 00:41:06,310 Dan kemudian aku akan mencetak baris ini. 939 00:41:06,310 --> 00:41:11,240 Dan kemudian pada akhir baris ini, tepat di sini, saya akan melakukan kenaikan i, i ++, 940 00:41:11,240 --> 00:41:13,370 segala cara yang incrementing dengan satu. 941 00:41:13,370 --> 00:41:15,460 >> Jadi saya sekarang 1. 942 00:41:15,460 --> 00:41:17,960 Karena itu sekali 0, jika saya kenaikan itu, sekarang 1. 943 00:41:17,960 --> 00:41:19,610 Dan kemudian aku akan kembali ke awal loop 944 00:41:19,610 --> 00:41:20,730 dan saya memeriksa kondisi. 945 00:41:20,730 --> 00:41:22,080 Apakah kondisi masih benar? 946 00:41:22,080 --> 00:41:24,030 Ya, 1 masih kurang dari 10. 947 00:41:24,030 --> 00:41:27,370 Jadi itu akan mencetak ini lagi, pergi dan kemudian kenaikan i, dan periksa 948 00:41:27,370 --> 00:41:29,180 kondisi terus, terus, 949 00:41:29,180 --> 00:41:33,290 sampai Anda akhirnya mendapatkan ke titik di mana saya adalah 10. 950 00:41:33,290 --> 00:41:36,300 >> Anda akan mencetak ini 10 kali dan kemudian saya akan sama 10. 951 00:41:36,300 --> 00:41:37,800 Anda akan memeriksa kondisi. 952 00:41:37,800 --> 00:41:38,760 Adalah 10 kurang dari 10? 953 00:41:38,760 --> 00:41:40,370 Tidak, itu adalah palsu. 954 00:41:40,370 --> 00:41:43,020 Dengan demikian, lingkaran ini tidak akan untuk menjalankan, itu akan istirahat, 955 00:41:43,020 --> 00:41:45,040 dan Anda akan melanjutkan dengan kode Anda. 956 00:41:45,040 --> 00:41:47,550 >> Sehingga kalian bisa lihat, ini adalah contoh benar-benar hebat 957 00:41:47,550 --> 00:41:53,110 dari lingkaran Anda dapat memprogram dalam berjalan untuk jumlah tertentu kali. 958 00:41:53,110 --> 00:41:54,457 Setiap orang yang jelas? 959 00:41:54,457 --> 00:41:54,956 Ya. 960 00:41:54,956 --> 00:41:59,060 >> SPEAKER 17: Bagaimana increment eksponensial, itu coding yang berbeda? 961 00:41:59,060 --> 00:42:02,060 >> ANDI PENG: Anda can-- kita akan pergi lebih ini di slide berikutnya. 962 00:42:02,060 --> 00:42:03,350 Pertanyaan bagus. 963 00:42:03,350 --> 00:42:05,910 Apakah anyone-- sebelum saya pindah on-- siapa pun sama sekali bingung, 964 00:42:05,910 --> 00:42:07,640 karena ini adalah konsep benar-benar sulit. 965 00:42:07,640 --> 00:42:09,510 Jangan khawatir, jika you're-- OK. 966 00:42:09,510 --> 00:42:10,010 Keren. 967 00:42:10,010 --> 00:42:12,836 968 00:42:12,836 --> 00:42:13,490 >> Baiklah. 969 00:42:13,490 --> 00:42:14,610 Hanya slide umum. 970 00:42:14,610 --> 00:42:18,020 Loop sementara ini melakukan persis hal yang sama untuk loop adalah. 971 00:42:18,020 --> 00:42:19,631 Ini hanya ditulis berbeda. 972 00:42:19,631 --> 00:42:22,130 Kalian bisa membaca dengan teliti slide pada kenyamanan Anda di kemudian hari. 973 00:42:22,130 --> 00:42:24,880 Tapi hanya tahu bahwa ada beberapa cara menulis hal yang sama 974 00:42:24,880 --> 00:42:28,300 terjadi dengan loop yang berbeda. 975 00:42:28,300 --> 00:42:28,800 OKE. 976 00:42:28,800 --> 00:42:32,380 >> Jadi, sekarang kita masuk pertanyaan tentang apa jika kita memiliki lingkaran dalam lingkaran. 977 00:42:32,380 --> 00:42:35,810 Kami masuk ke nyata Inception jenis barang di sini. 978 00:42:35,810 --> 00:42:40,640 Bila Anda ingin melakukan hal-hal beberapa kali dalam hal-hal lain 979 00:42:40,640 --> 00:42:44,129 yang melakukan hal-hal beberapa kali, Anda ingin apa yang disebut bersarang untuk loop. 980 00:42:44,129 --> 00:42:47,420 Bagi Anda yang pertama kali melihat ini dan mendapatkan sangat bingung, semua yang kita lakukan di sini 981 00:42:47,420 --> 00:42:50,580 adalah memiliki untuk loop di mana kita memiliki variabel baris. 982 00:42:50,580 --> 00:42:54,500 Tapi di dalam itu, kami juga memiliki lain untuk loop dari variabel yang disebut kolom. 983 00:42:54,500 --> 00:42:58,560 Dan saya sangat menyarankan anda semua yang bingung untuk pertama tetap 984 00:42:58,560 --> 00:43:00,310 track-- menarik ini keluar, menarik ini. 985 00:43:00,310 --> 00:43:03,000 Jangan mencoba untuk hanya alasan melalui itu, menarik keluar. 986 00:43:03,000 --> 00:43:06,630 >> Di kepala Anda, pada bagian ini kertas, atau apa pun, menulis baris, 987 00:43:06,630 --> 00:43:08,614 melacak apa baris sama dengan. 988 00:43:08,614 --> 00:43:10,780 Menulis kolom, melacak apa kolom sama dengan. 989 00:43:10,780 --> 00:43:13,490 Dan melacak apa yang mencetak dengan setiap iterasi. 990 00:43:13,490 --> 00:43:16,320 Setiap iterasi dari loop ini, setiap iterasi dari lingkaran yang lebih besar yang, 991 00:43:16,320 --> 00:43:17,820 terus mengikuti logika. 992 00:43:17,820 --> 00:43:20,190 Dan saya jamin, Anda akan menyukai apa yang Anda lihat, 993 00:43:20,190 --> 00:43:24,307 karena itu juga sangat berlaku untuk set masalah Anda. 994 00:43:24,307 --> 00:43:24,806 Keren. 995 00:43:24,806 --> 00:43:27,501 996 00:43:27,501 --> 00:43:28,000 Baiklah. 997 00:43:28,000 --> 00:43:30,723 Jadi hal yang paling penting bahwa kalian mungkin semua 998 00:43:30,723 --> 00:43:32,400 berpikir tentang sekarang, adalah Masalah Set Anda 1s, 999 00:43:32,400 --> 00:43:33,650 yang dirilis Kamis / Jumat. 1000 00:43:33,650 --> 00:43:36,890 1001 00:43:36,890 --> 00:43:39,710 >> Dalam program water.c Anda, petunjuk Anda akan memiliki 1002 00:43:39,710 --> 00:43:41,590 untuk meminta pengguna untuk input. 1003 00:43:41,590 --> 00:43:43,640 Dalam program mario.c Anda Anda akan memiliki 1004 00:43:43,640 --> 00:43:46,431 menggunakan bersarang untuk loop, yang untuk loop dalam untuk loop, 1005 00:43:46,431 --> 00:43:50,247 untuk mencetak blok piramida, dasarnya seperti apa Mario harus melompat melalui. 1006 00:43:50,247 --> 00:43:53,330 Dan kemudian di dalam Anda greedy-- atau mungkin Membuat Perubahan, jika salah satu dari kalian 1007 00:43:53,330 --> 00:43:55,740 pernah mendengar tentang itu-- Anda akan harus sangat 1008 00:43:55,740 --> 00:43:58,160 hati nilai-nilai floating point pertama. 1009 00:43:58,160 --> 00:44:01,860 Ingat desimal mengambang dan bilangan bulat tidak hal yang sama. 1010 00:44:01,860 --> 00:44:03,620 Melacak mana yang yang. 1011 00:44:03,620 --> 00:44:05,953 Dan Anda akan menggunakan pernyataan bersyarat, juga. 1012 00:44:05,953 --> 00:44:09,070 1013 00:44:09,070 --> 00:44:10,940 >> Baiklah, hal terakhir. 1014 00:44:10,940 --> 00:44:12,770 Saya punya beberapa menit lagi. 1015 00:44:12,770 --> 00:44:13,460 Gaya. 1016 00:44:13,460 --> 00:44:19,320 Jadi ini adalah sesuatu yang tidak sebenarnya efek efisiensi, 1017 00:44:19,320 --> 00:44:21,010 atau menjalankan sebenarnya kode Anda. 1018 00:44:21,010 --> 00:44:24,380 Namun, itu efek kita sebagai grader Anda, sebagai pembaca Anda. 1019 00:44:24,380 --> 00:44:27,290 Ini efek sendiri, jika Anda mencoba untuk menemukan masalah. 1020 00:44:27,290 --> 00:44:30,700 Itu efek pembacaan kode Anda. 1021 00:44:30,700 --> 00:44:34,070 >> Jadi gaya, seperti ketika Anda mencoba untuk gaya esai untuk bahasa Inggris, jika Anda 1022 00:44:34,070 --> 00:44:36,070 tidak memiliki paragraf, Anda memiliki semua jenis 1023 00:44:36,070 --> 00:44:39,190 dari campur aduk bersama-sama dalam satu baris, itu membuat sangat sulit bagi siapa pun 1024 00:44:39,190 --> 00:44:42,620 untuk membaca esai Anda, bahkan jika poin Anda secara logis suara. 1025 00:44:42,620 --> 00:44:44,390 Hal yang sama dalam pemrograman. 1026 00:44:44,390 --> 00:44:47,910 Anda dapat memiliki mengerikan jelas Kode yang Scaz akan mencakup, 1027 00:44:47,910 --> 00:44:49,660 dan masih dapat berjalan dan fungsi. 1028 00:44:49,660 --> 00:44:53,110 Tapi bagi kami, karena TA indah Anda, yang akan membaca dan mengevaluasi PSets Anda, 1029 00:44:53,110 --> 00:44:54,460 itu tidak sangat bagus. 1030 00:44:54,460 --> 00:44:56,859 >> Jadi tolong, demi kita dan diri sendiri, 1031 00:44:56,859 --> 00:44:58,900 ketika Anda mencoba untuk memperbaiki masalah dalam kode Anda, 1032 00:44:58,900 --> 00:45:00,774 dan Anda mencoba untuk membaca kode Anda sendiri, membuat 1033 00:45:00,774 --> 00:45:03,910 Pastikan Anda mengikuti beberapa konvensi bahwa kita akan pergi. 1034 00:45:03,910 --> 00:45:04,510 >> Jadi pertama. 1035 00:45:04,510 --> 00:45:07,070 Berikan variabel nama-nama bermakna. 1036 00:45:07,070 --> 00:45:11,450 Jika Anda ingin menyimpan integer disebut usia, silakan nama itu usia. 1037 00:45:11,450 --> 00:45:12,875 Jangan nama itu tinggi. 1038 00:45:12,875 --> 00:45:14,750 Ketika Anda mencoba untuk menyimpan usia tinggi, 1039 00:45:14,750 --> 00:45:16,722 itu membuat segalanya sangat membingungkan bagi kita. 1040 00:45:16,722 --> 00:45:17,930 Kami tidak suka bingung. 1041 00:45:17,930 --> 00:45:19,180 Anda tidak suka menjadi bingung. 1042 00:45:19,180 --> 00:45:20,350 Tidak ada yang suka bingung. 1043 00:45:20,350 --> 00:45:23,100 Jika Anda akan menciptakan sesuatu, nama itu sesuatu yang berarti. 1044 00:45:23,100 --> 00:45:26,440 >> Namun, dalam untuk loop, tunggal variabel karakter biasanya baik-baik saja. 1045 00:45:26,440 --> 00:45:31,350 Dan di untuk loop, jika Anda ingin hanya saya, dan j, k, merasa bebas untuk hanya melakukan itu. 1046 00:45:31,350 --> 00:45:32,670 >> Inisialisasi konsisten. 1047 00:45:32,670 --> 00:45:33,770 Jadi apa artinya? 1048 00:45:33,770 --> 00:45:37,600 Itu berarti secara teknis, secara teoritis, Anda dapat memulai dan membuat 1049 00:45:37,600 --> 00:45:40,140 beberapa variabel pada baris yang sama. 1050 00:45:40,140 --> 00:45:42,820 Jadi misalnya, saya dapat membuat integer disebut scaz_age, 1051 00:45:42,820 --> 00:45:47,110 dan integer disebut andi_age = 20, dan integer disebut jason_age 1052 00:45:47,110 --> 00:45:48,090 pada baris yang sama. 1053 00:45:48,090 --> 00:45:52,060 Dan saya juga dapat menetapkan hanya satu dari mereka dan bukan orang lain untuk nilai-nilai. 1054 00:45:52,060 --> 00:45:54,142 Kami meminta tolong jangan lakukan itu. 1055 00:45:54,142 --> 00:45:57,350 Karena di sini Anda sudah dasarnya dibuat tiga variabel, tetapi hanya salah satu dari mereka 1056 00:45:57,350 --> 00:45:58,295 sebenarnya memiliki nilai. 1057 00:45:58,295 --> 00:46:00,170 Dan kemudian ketika kita mencoba untuk membaca kode Anda, 1058 00:46:00,170 --> 00:46:01,850 atau jika Anda mencoba untuk memperbaiki masalah dalam kode Anda, 1059 00:46:01,850 --> 00:46:03,340 itu sangat membingungkan untuk mengikuti. 1060 00:46:03,340 --> 00:46:09,300 Jadi hanya untuk dibaca Anda, untuk pembacaan kami, jangan lakukan itu. 1061 00:46:09,300 --> 00:46:10,355 >> Kurung kurawal konsisten. 1062 00:46:10,355 --> 00:46:12,980 Beberapa orang ingin menempatkan mereka kurung kurawal di tempat yang berbeda. 1063 00:46:12,980 --> 00:46:14,100 Itu tidak terlalu penting. 1064 00:46:14,100 --> 00:46:17,900 Pastikan Anda konsisten dalam Anda Kode sendiri di mana Anda ingin menempatkan mereka. 1065 00:46:17,900 --> 00:46:18,950 >> Spasi konsisten. 1066 00:46:18,950 --> 00:46:22,040 Jika Anda menempatkan spasi setelah untuk loop, selalu melakukan itu. 1067 00:46:22,040 --> 00:46:24,930 Jangan hanya suka jenis melakukannya pada beberapa tempat, jangan lakukan itu pada orang lain. 1068 00:46:24,930 --> 00:46:26,580 Hanya konsisten. 1069 00:46:26,580 --> 00:46:29,500 >> Kedua, kalau ada yang ingin untuk membaca dengan teliti CS50 Style Guide, 1070 00:46:29,500 --> 00:46:33,230 kami secara resmi memiliki panduan gaya yang memberitahu Anda semua konvensi ini, 1071 00:46:33,230 --> 00:46:34,890 ditambah lagi. 1072 00:46:34,890 --> 00:46:35,530 Ini online. 1073 00:46:35,530 --> 00:46:38,670 Ini seperti cs50.net/style atau semacam itu. 1074 00:46:38,670 --> 00:46:40,180 Anda bisa google. 1075 00:46:40,180 --> 00:46:41,399 >> Konsistensi adalah kunci. 1076 00:46:41,399 --> 00:46:43,190 Jadi jangan khawatir apa orang lain lakukan, 1077 00:46:43,190 --> 00:46:46,180 hanya pastikan bahwa Anda konsisten dalam kode Anda sendiri. 1078 00:46:46,180 --> 00:46:50,570 Siapa pun punya pertanyaan tentang itu? 1079 00:46:50,570 --> 00:46:51,070 Ya. 1080 00:46:51,070 --> 00:46:53,370 >> SPEAKER 18: Jadi hal yang tepat hubungannya dengan inisialisasi hanya 1081 00:46:53,370 --> 00:46:56,130 memiliki mereka semua dalam terpisah line, adalah bahwa apa yang Anda katakan? 1082 00:46:56,130 --> 00:46:58,850 >> ANDI PENG: Jadi saya jarang telah ini terjadi. 1083 00:46:58,850 --> 00:47:02,230 Tetapi jika Anda ingin, jika Anda ingin menjadi seperti menghemat ruang dalam kode Anda, 1084 00:47:02,230 --> 00:47:04,000 atau apa pun, Anda dapat melakukan hal ini. 1085 00:47:04,000 --> 00:47:07,800 Kami meminta bahwa Anda hanya tidak menginisialisasi satu hal dan bukan orang lain. 1086 00:47:07,800 --> 00:47:12,600 Jadi jika Anda ingin melakukan int scaz_age, int andi_age, int jason_age, itu baik-baik saja. 1087 00:47:12,600 --> 00:47:15,600 Hanya tidak menginisialisasi satu dan bukan orang lain saja. 1088 00:47:15,600 --> 00:47:18,380 1089 00:47:18,380 --> 00:47:19,904 >> Pertanyaan? 1090 00:47:19,904 --> 00:47:20,850 Baiklah. 1091 00:47:20,850 --> 00:47:24,610 Aku akan lulus dari mikrofon, dan laser pointer, 1092 00:47:24,610 --> 00:47:28,862 dan tongkat untuk Scaz pada saat ini. 1093 00:47:28,862 --> 00:47:29,808 Ini aneh. 1094 00:47:29,808 --> 00:47:32,650 1095 00:47:32,650 --> 00:47:33,200 Ini dia. 1096 00:47:33,200 --> 00:47:34,408 >> BRIAN SCASSELLATI: Terima kasih. 1097 00:47:34,408 --> 00:47:42,500 1098 00:47:42,500 --> 00:47:43,380 Bagaimana bahwa untuk suara? 1099 00:47:43,380 --> 00:47:46,420 1100 00:47:46,420 --> 00:47:47,900 Suara yang baik? . 1101 00:47:47,900 --> 00:47:49,220 Sangat baik. 1102 00:47:49,220 --> 00:47:50,350 OKE. 1103 00:47:50,350 --> 00:47:52,110 Jadi, hi semua orang. 1104 00:47:52,110 --> 00:47:56,540 >> Aku akan mencoba untuk bekerja melalui contoh praktis dengan Anda. 1105 00:47:56,540 --> 00:48:00,850 Dan kita akan menggunakan CS50 ini lingkungan pengembangan, apa yang disebut 1106 00:48:00,850 --> 00:48:03,120 Lingkungan Integrated Development. 1107 00:48:03,120 --> 00:48:05,145 Dan Anda sudah melihat ini ditunjukkan dalam kuliah. 1108 00:48:05,145 --> 00:48:07,520 Dan pada Soal Set 1, Anda akan memiliki kesempatan 1109 00:48:07,520 --> 00:48:10,890 menggunakannya, dan bermain-main dengan itu, dan mendapatkan terbiasa untuk itu, 1110 00:48:10,890 --> 00:48:13,640 karena kita akan menggunakannya melalui sisa semester. 1111 00:48:13,640 --> 00:48:20,350 >> Jadi dalam IDE ini, Anda memiliki apa yang tampak seperti file browser sangat tradisional 1112 00:48:20,350 --> 00:48:21,890 lebih pada satu sisi. 1113 00:48:21,890 --> 00:48:24,360 Anda punya porsi up atas di mana Anda akan 1114 00:48:24,360 --> 00:48:28,850 untuk melihat kode sumber Anda, Anda Cfile, kode yang Anda tulis. 1115 00:48:28,850 --> 00:48:31,880 Dan di bagian bawah, Anda akan memiliki jendela terminal 1116 00:48:31,880 --> 00:48:36,330 yang Anda akan gunakan untuk kedua mengkompilasi program Anda 1117 00:48:36,330 --> 00:48:39,090 dan untuk menjalankan atau mengeksekusi program Anda. 1118 00:48:39,090 --> 00:48:40,100 OKE. 1119 00:48:40,100 --> 00:48:46,560 >> Jadi hanya untuk memberi kita sedikit yayasan, di jendela terminal, 1120 00:48:46,560 --> 00:48:48,930 Anda akan menjadi menggunakan seperangkat perintah 1121 00:48:48,930 --> 00:48:53,040 yang perintah standar di seluruh sebagian besar sistem Unix atau Linux. 1122 00:48:53,040 --> 00:48:55,890 Dan jadi jika Anda pernah menggunakan bentuk Unix, Ubuntu, 1123 00:48:55,890 --> 00:48:59,140 atau dari rasa lain, ini akan tampak akrab. 1124 00:48:59,140 --> 00:49:00,890 >> Jika Anda belum, jangan khawatir. 1125 00:49:00,890 --> 00:49:02,830 Tidak ada yang rumit tentang mereka. 1126 00:49:02,830 --> 00:49:05,330 Mereka hanya menggunakan yang berbeda sintaks, penamaan yang berbeda 1127 00:49:05,330 --> 00:49:07,630 konvensi dari yang Anda pernah lihat sebelumnya. 1128 00:49:07,630 --> 00:49:12,190 >> Jadi untuk daftar keluar file dalam direktori tertentu, 1129 00:49:12,190 --> 00:49:15,310 mereka akan menggunakan perintah yang disebut ls, atau daftar. 1130 00:49:15,310 --> 00:49:18,010 Jika Anda ingin melihat segala sesuatu dengan semua rincian, 1131 00:49:18,010 --> 00:49:21,535 Anda akan menggunakan perintah Argumen sejalan dengan ls -l. 1132 00:49:21,535 --> 00:49:23,910 Dan itu akan menunjukkan kepada Anda semua secara lebih rinci, termasuk 1133 00:49:23,910 --> 00:49:26,270 izin untuk file. 1134 00:49:26,270 --> 00:49:31,190 >> Untuk mengubah direktori, Anda akan menggunakan perintah cd. 1135 00:49:31,190 --> 00:49:35,180 Dan Anda akan dapat mengubah direktori baik untuk pergi ke direktori home Anda. 1136 00:49:35,180 --> 00:49:38,500 Itu hanya cd semua oleh sendiri, cd dengan dua 1137 00:49:38,500 --> 00:49:42,930 titik akan kembali Anda up satu tingkat ke direktori sebelumnya. 1138 00:49:42,930 --> 00:49:46,400 Dan Anda juga dapat cd ke subdirektori dengan mengetikkan cd 1139 00:49:46,400 --> 00:49:48,500 dan nama subdirektori itu. 1140 00:49:48,500 --> 00:49:50,540 >> Anda juga dapat membuat direktori baru. 1141 00:49:50,540 --> 00:49:52,790 Dan kita akan berjalan melalui ini hanya dalam satu menit. 1142 00:49:52,790 --> 00:49:54,498 Tapi hanya untuk menempatkan segala sesuatu di layar. 1143 00:49:54,498 --> 00:49:56,310 Sehingga Anda dapat melihat mereka. 1144 00:49:56,310 --> 00:50:00,420 >> Anda juga akan memiliki kemampuan untuk memanipulasi file langsung 1145 00:50:00,420 --> 00:50:02,100 dari baris perintah. 1146 00:50:02,100 --> 00:50:06,059 Anda akan dapat menyalinnya, untuk memindahkan mereka, atau untuk menghapusnya, 1147 00:50:06,059 --> 00:50:07,600 yaitu, efektif, untuk menghapusnya. 1148 00:50:07,600 --> 00:50:10,310 1149 00:50:10,310 --> 00:50:15,350 >> The CS50 IDE memberi Anda penuh kekuatan argumen baris perintah. 1150 00:50:15,350 --> 00:50:20,280 Dan itu berarti Anda juga bisa melakukan hal-hal yang sangat berbahaya. 1151 00:50:20,280 --> 00:50:21,560 OKE. 1152 00:50:21,560 --> 00:50:25,010 Misalnya, Anda dapat menghapus, atau yang ada delete, 1153 00:50:25,010 --> 00:50:28,750 file tanpa meminta untuk konfirmasi. 1154 00:50:28,750 --> 00:50:31,820 Dan Anda bahkan dapat menghapus recursively-- itu 1155 00:50:31,820 --> 00:50:38,940 dasbor r flag-- seluruh subdirektori dan semua isinya. 1156 00:50:38,940 --> 00:50:39,660 OKE. 1157 00:50:39,660 --> 00:50:42,940 Mereka terdaftar dalam merah karena Anda harus berpikir "Bahaya" setiap kali 1158 00:50:42,940 --> 00:50:45,000 Anda melihat hal-hal. 1159 00:50:45,000 --> 00:50:45,920 OKE. 1160 00:50:45,920 --> 00:50:46,420 Baiklah. 1161 00:50:46,420 --> 00:50:50,090 1162 00:50:50,090 --> 00:50:53,430 >> Sekarang akhirnya, hal-hal yang akan sangat berharga untuk Anda, 1163 00:50:53,430 --> 00:50:57,270 adalah ada beberapa trik yang baik untuk mengetahui karena Anda menavigasi 1164 00:50:57,270 --> 00:50:59,190 melalui jendela terminal ini. 1165 00:50:59,190 --> 00:51:03,590 Pertama, Anda dapat menghapus layar di setiap saat dengan hanya mengetik di jelas. 1166 00:51:03,590 --> 00:51:06,310 Dan Anda akan melihat saya melakukan itu cukup sering. 1167 00:51:06,310 --> 00:51:09,990 Anda juga dapat hanya menampilkan teks file 1168 00:51:09,990 --> 00:51:13,992 dengan mengetik lebih dan kemudian nama file. 1169 00:51:13,992 --> 00:51:17,200 Anda kemudian akan dapat gulir kembali dan sebagainya dengan hanya dengan spasi 1170 00:51:17,200 --> 00:51:19,010 dan tombol panah. 1171 00:51:19,010 --> 00:51:25,450 >> Jika Anda memiliki, seperti yang kita lakukan hari ini di kuliah, sebuah program yang sedang berjalan terus menerus 1172 00:51:25,450 --> 00:51:29,190 di loop tak terbatas, Anda dapat menghentikan program yang 1173 00:51:29,190 --> 00:51:35,160 dari mengeksekusi dengan mengetikkan kontrol, yang menekan Control-C. 1174 00:51:35,160 --> 00:51:38,360 Dan Anda mungkin harus melakukan ini beberapa kali. 1175 00:51:38,360 --> 00:51:40,620 Komputer mendapat jauh di depan Anda. 1176 00:51:40,620 --> 00:51:43,380 Dan Anda kadang-kadang perlu memberikan beberapa mencoba 1177 00:51:43,380 --> 00:51:46,280 sebelum benar-benar akan datang melalui. 1178 00:51:46,280 --> 00:51:48,760 >> Anda juga akan dapat semacam melalui perintah 1179 00:51:48,760 --> 00:51:54,230 Anda hanya mengetik menggunakan tombol up, tombol panah, dan kemudian tombol panah bawah. 1180 00:51:54,230 --> 00:51:57,560 Dan apa yang paling berguna adalah bukan dari mengetik nama file yang panjang, 1181 00:51:57,560 --> 00:52:02,209 Anda akan dapat menggunakan Tab untuk autocomplete beberapa petunjuk. 1182 00:52:02,209 --> 00:52:04,750 Sekarang kita akan menunjukkan semua orang hanya dalam satu detik. 1183 00:52:04,750 --> 00:52:06,780 Jadi, jika Anda tidak ingat mereka, jangan khawatir. 1184 00:52:06,780 --> 00:52:10,780 Ini adalah hal-hal yang Anda akan mengambil dan menggunakan seperti yang kita pergi bersama. 1185 00:52:10,780 --> 00:52:11,470 OKE. 1186 00:52:11,470 --> 00:52:18,830 >> Jadi dalam C-- tidak seperti di Scratch-- C adalah bahasa yang dikompilasi. 1187 00:52:18,830 --> 00:52:23,210 Itu berarti kita akan mengambil sumber file-- itulah teks yang Anda tulis, 1188 00:52:23,210 --> 00:52:26,500 perintah yang Anda menulis, printf () pernyataan, loop, 1189 00:52:26,500 --> 00:52:32,580 segala sesuatu else-- dan kita akan untuk mengambil file itu dan menyerahkannya off 1190 00:52:32,580 --> 00:52:34,670 untuk program yang disebut kompilator. 1191 00:52:34,670 --> 00:52:39,850 >> Compiler kemudian akan mengambil bahwa teks yang telah Anda tulis 1192 00:52:39,850 --> 00:52:43,270 dan menerjemahkannya ke dalam petunjuk biner 1193 00:52:43,270 --> 00:52:46,010 bahwa komputer Anda benar-benar akan digunakan. 1194 00:52:46,010 --> 00:52:49,700 Itu disebut objek atau file executable. 1195 00:52:49,700 --> 00:52:55,320 Jika Anda melihat file ini, Anda akan untuk melihat kode yang telah Anda tulis. 1196 00:52:55,320 --> 00:52:59,480 Jika Anda melihat file ini, Anda akan untuk melihat urutan acak karakter 1197 00:52:59,480 --> 00:53:01,680 yang tidak masuk akal sama sekali. 1198 00:53:01,680 --> 00:53:03,250 Itu karena ini adalah biner. 1199 00:53:03,250 --> 00:53:05,560 Ini tidak dimaksudkan bagi Anda untuk membaca. 1200 00:53:05,560 --> 00:53:08,690 >> Namun, setiap kali Anda ingin menjalankan sesuatu, apa yang akan Anda 1201 00:53:08,690 --> 00:53:13,670 akan berjalan adalah file objek ini. 1202 00:53:13,670 --> 00:53:19,110 Jadi ketika kita bekerja dengan ini file, kita akan menulis file di C. 1203 00:53:19,110 --> 00:53:23,400 Kami kemudian akan compile, menggunakan perintah seperti make yang akan memanggil 1204 00:53:23,400 --> 00:53:27,070 dentang compiler untuk bahasa C. 1205 00:53:27,070 --> 00:53:31,530 Dan yang akan menghasilkan sebuah objek mengajukan, seperti keluar, atau dalam hal ini, 1206 00:53:31,530 --> 00:53:36,580 nama, file saya, bahwa saya telah dimasukkan ke dalam. 1207 00:53:36,580 --> 00:53:37,780 Baiklah. 1208 00:53:37,780 --> 00:53:39,790 >> Jadi mari kita benar-benar mencoba ini. 1209 00:53:39,790 --> 00:53:42,850 Jadi saya datang dengan sebuah contoh dari apa yang saya ingin mencoba. 1210 00:53:42,850 --> 00:53:47,380 Dan salah satu hal yang mempesona saya adalah animasi. 1211 00:53:47,380 --> 00:53:51,010 Jadi kita akan mencoba untuk melakukan sedikit animasi 1212 00:53:51,010 --> 00:53:53,760 hanya menggunakan karakter ASCII. 1213 00:53:53,760 --> 00:53:56,470 Karakter kita dapat mencetak dengan mudah sekarang. 1214 00:53:56,470 --> 00:54:00,890 >> Jadi di sini adalah upaya terbaik saya menciptakan untuk Anda 1215 00:54:00,890 --> 00:54:07,005 animasi kelinci berjalan melalui rumput tinggi. 1216 00:54:07,005 --> 00:54:07,505 Itu dia. 1217 00:54:07,505 --> 00:54:10,150 1218 00:54:10,150 --> 00:54:10,670 OKE. 1219 00:54:10,670 --> 00:54:14,050 Jadi dia tidak berjalan lagi, tapi dia berdiri di rumput tinggi. 1220 00:54:14,050 --> 00:54:17,810 >> Sekarang jika saya seorang animator, di sekolah tua 1221 00:54:17,810 --> 00:54:20,860 versi animasi, apa yang saya akan lakukan adalah saya akan menghasilkan 1222 00:54:20,860 --> 00:54:23,640 gambar kelinci ini di rumput. 1223 00:54:23,640 --> 00:54:25,390 Dan kemudian saya akan menghasilkan picture-- lain 1224 00:54:25,390 --> 00:54:30,600 lain apa yang mereka sebut cell-- yang telah kelinci hanya sedikit bergerak. 1225 00:54:30,600 --> 00:54:34,870 Dan kemudian yang ketiga yang memiliki kelinci bergerak sedikit lebih jauh. 1226 00:54:34,870 --> 00:54:40,610 >> Dan aku akan menghasilkan seluruh urutan sel-sel ini. 1227 00:54:40,610 --> 00:54:44,220 Beberapa di mana kelinci lebih ke sisi kiri. 1228 00:54:44,220 --> 00:54:47,050 Dan kemudian bergerak perlahan-lahan, satu oleh satu ke tengah. 1229 00:54:47,050 --> 00:54:51,120 Dan kemudian dari tengah ke kanan. 1230 00:54:51,120 --> 00:54:55,760 Dan jika saya kemudian, benar-benar beruntung, saya bisa menempatkan bersama-sama 1231 00:54:55,760 --> 00:54:57,970 dan aku bisa menghidupkan mereka. 1232 00:54:57,970 --> 00:55:00,370 Dan ada kelinci saya berjalan melalui rumput. 1233 00:55:00,370 --> 00:55:02,310 >> Itu PowerPoint besar saya trick untuk hari. 1234 00:55:02,310 --> 00:55:02,809 OKE. 1235 00:55:02,809 --> 00:55:04,760 Jadi ini adalah sebagai baik karena mendapat. 1236 00:55:04,760 --> 00:55:05,260 OKE. 1237 00:55:05,260 --> 00:55:08,455 Jadi, di sini sekali lagi, di sini adalah kami kelinci berjalan melalui rumput. 1238 00:55:08,455 --> 00:55:09,217 >> SPEAKER 19: Lagi. 1239 00:55:09,217 --> 00:55:11,050 BRIAN SCASSELLATI: Satu lebih banyak waktu, baiklah. 1240 00:55:11,050 --> 00:55:11,940 Ada kelinci Anda. 1241 00:55:11,940 --> 00:55:12,940 OKE. 1242 00:55:12,940 --> 00:55:15,470 >> Jadi hari ini apa yang kita akan lakukan adalah kita akan 1243 00:55:15,470 --> 00:55:21,110 mencoba untuk mengotomatisasi proses memproduksi sel-sel ini. 1244 00:55:21,110 --> 00:55:24,135 Kami tidak akan cukup sampai ke titik mampu menempatkan mereka semua bersama-sama. 1245 00:55:24,135 --> 00:55:28,900 Tapi, kita akan mencoba untuk mengotomatisasi Proses menghasilkan urutan ini. 1246 00:55:28,900 --> 00:55:32,900 >> Dan ini jauh dari apa yang animasi saat ini adalah seperti. 1247 00:55:32,900 --> 00:55:36,690 Artinya, Anda tidak melakukan hal-hal tentu dengan menggambar segala sesuatu dengan tangan. 1248 00:55:36,690 --> 00:55:40,610 Kami menggunakan komputer untuk mengotomatisasi bagian dari proses itu. 1249 00:55:40,610 --> 00:55:41,110 OKE. 1250 00:55:41,110 --> 00:55:47,720 >> Jadi biarkan aku beralih sekarang untuk IDE CS50 kami. 1251 00:55:47,720 --> 00:55:54,260 Dan saya telah diciptakan untuk us-- dan membiarkan saya memperbesar sini bit-- sedikit saya sudah 1252 00:55:54,260 --> 00:55:58,420 diciptakan untuk kita titik awal. 1253 00:55:58,420 --> 00:56:03,830 >> Setiap kali kami meminta Anda untuk duduk dan menulis sepotong kode, 1254 00:56:03,830 --> 00:56:09,250 apa yang kita benar-benar meminta Anda untuk melakukan adalah kami meminta untuk memecahkan masalah. 1255 00:56:09,250 --> 00:56:11,810 Dan cara bahwa Anda harus berpikir tentang melakukan hal itu 1256 00:56:11,810 --> 00:56:17,900 adalah dengan memulai dengan beberapa bagian sederhana dari solusi itu. 1257 00:56:17,900 --> 00:56:21,730 Dan kemudian membangun dari bagian itu. 1258 00:56:21,730 --> 00:56:23,400 Dan itulah yang akan kita lakukan hari ini. 1259 00:56:23,400 --> 00:56:27,570 >> Jadi, daripada mencoba sekaligus untuk menulis seluruh sekelompok kode yang 1260 00:56:27,570 --> 00:56:30,770 akan menghasilkan orang-orang 10 sel animasi, 1261 00:56:30,770 --> 00:56:35,506 kita akan mulai sebaliknya dengan salah satu bagian yang bekerja. 1262 00:56:35,506 --> 00:56:37,380 Dan kemudian kita akan membangun sedikit sekitar yang 1263 00:56:37,380 --> 00:56:39,740 dan lebih sedikit dan lebih sedikit. 1264 00:56:39,740 --> 00:56:42,550 >> Sekarang hal yang baik tentang memecahkan masalah dengan cara ini 1265 00:56:42,550 --> 00:56:46,716 adalah bahwa hal itu akan memungkinkan Anda untuk memulai selalu dengan sesuatu yang Anda tahu 1266 00:56:46,716 --> 00:56:51,130 bekerja dan memperkenalkan salah satu perubahan bertahap. 1267 00:56:51,130 --> 00:56:54,090 Dan itu adalah cara yang bagus untuk belajar bagaimana kode, 1268 00:56:54,090 --> 00:56:58,590 karena setiap kali Anda membuat perubahan, Anda melihat apa dampaknya. 1269 00:56:58,590 --> 00:56:59,540 OKE. 1270 00:56:59,540 --> 00:57:01,450 >> Jadi, inilah titik awal kita. 1271 00:57:01,450 --> 00:57:01,950 OKE. 1272 00:57:01,950 --> 00:57:08,030 Jadi pada awal file saya, Saya sudah hash # disertakan stdio.h. 1273 00:57:08,030 --> 00:57:12,560 Itu sehingga saya bisa mendapatkan printf () fungsi untuk bekerja. 1274 00:57:12,560 --> 00:57:15,240 >> Saya kemudian saya memiliki fungsi utama saya. 1275 00:57:15,240 --> 00:57:18,760 Dan ini masih terlihat sedikit misterius atau tidak jelas untuk sebagian dari Anda. 1276 00:57:18,760 --> 00:57:20,010 Tidak apa-apa. 1277 00:57:20,010 --> 00:57:23,190 Semua yang dikatakannya adalah bahwa fungsi utama mengambil 1278 00:57:23,190 --> 00:57:27,830 ada arguments-- kekosongan berarti tidak ada di C. Dan itu 1279 00:57:27,830 --> 00:57:29,940 kembali dengan konvensi integer. 1280 00:57:29,940 --> 00:57:33,290 Main selalu mengembalikan integer, biasanya kode mengatakan hal-hal 1281 00:57:33,290 --> 00:57:35,071 berjalan dengan baik atau tidak berjalan dengan baik. 1282 00:57:35,071 --> 00:57:35,570 OKE. 1283 00:57:35,570 --> 00:57:39,110 Tapi utama harus memiliki yang membentuk bagi kita sekarang. 1284 00:57:39,110 --> 00:57:42,080 >> Aku sudah kemudian dimasukkan ke dalam tiga baris kode. 1285 00:57:42,080 --> 00:57:46,760 Dan bersama dengan setiap baris kode, aku telah menempatkan komentar. 1286 00:57:46,760 --> 00:57:51,340 Sekarang salah satu hal yang kita akan bersikeras bahwa Anda lakukan, 1287 00:57:51,340 --> 00:57:55,320 dan itu seperti yang penting praktek pemrograman, 1288 00:57:55,320 --> 00:57:57,800 adalah untuk selalu mengomentari kode Anda. 1289 00:57:57,800 --> 00:58:02,550 Selalu menuliskan dalam English komentar sesuatu 1290 00:58:02,550 --> 00:58:06,740 Anda pikir kode yang seharusnya dilakukan. 1291 00:58:06,740 --> 00:58:11,360 Dengan cara itu, nanti pada saat Anda kembali ke itu, Anda dapat melihat dan Anda dapat mengatakan, 1292 00:58:11,360 --> 00:58:13,800 oh, aku ingat apa yang saya coba lakukan dengan ini. 1293 00:58:13,800 --> 00:58:17,590 Atau ketika TA duduk dengan Anda untuk mencoba untuk membantu Anda di jam kantor, 1294 00:58:17,590 --> 00:58:20,890 mereka dapat melihat ini dan pergi, saya melihat apa yang Anda coba lakukan, 1295 00:58:20,890 --> 00:58:25,630 tetapi ini apa yang sebenarnya terjadi. 1296 00:58:25,630 --> 00:58:26,130 OKE. 1297 00:58:26,130 --> 00:58:30,300 >> Jadi saya punya tiga bagian untuk kode saya, Aku akan pertama-tama cetak 1298 00:58:30,300 --> 00:58:33,110 beberapa titik di awal. 1299 00:58:33,110 --> 00:58:37,480 Saya kemudian akan mencetak saya kelinci sangat mewah. 1300 00:58:37,480 --> 00:58:40,600 Dan kemudian beberapa sedikit titik di akhir. 1301 00:58:40,600 --> 00:58:45,220 >> Dan tiga pernyataan cetak ini harus tampak akrab bagi Anda pada saat ini. 1302 00:58:45,220 --> 00:58:47,350 Semua yang saya lakukan di masing-masing dari mereka adalah aku 1303 00:58:47,350 --> 00:58:49,780 mencetak urutan karakter. 1304 00:58:49,780 --> 00:58:51,370 Tidak ada variabel yang terlibat. 1305 00:58:51,370 --> 00:58:54,320 Semuanya hanya datar. 1306 00:58:54,320 --> 00:58:55,270 OKE. 1307 00:58:55,270 --> 00:59:07,340 >> Jadi jika saya pergi sekarang untuk terminal-- saya mari kita lihat apakah saya bisa kembali ini out-- 1308 00:59:07,340 --> 00:59:09,370 dan aku akan mengetik jelas lagi. 1309 00:59:09,370 --> 00:59:12,507 >> SPEAKER 20: Apakah kita menggunakan slash ganda berkomentar? 1310 00:59:12,507 --> 00:59:14,340 BRIAN SCASSELLATI: Can menggunakan ya double--. 1311 00:59:14,340 --> 00:59:16,920 Ada beberapa cara untuk meninggalkan komentar di C. Satu 1312 00:59:16,920 --> 00:59:19,440 cara adalah dengan menggunakan garis miring ganda. 1313 00:59:19,440 --> 00:59:24,910 Yang lain adalah dengan menggunakan garis miring dan bintang dan kemudian tutup dengan bintang dan garis miring. 1314 00:59:24,910 --> 00:59:26,110 Baiklah. 1315 00:59:26,110 --> 00:59:28,950 >> Pertama-tama, aku akan mulai navigasi di sekitar sini. 1316 00:59:28,950 --> 00:59:35,350 Jadi jika saya pergi ke direktori rumah saya, Aku sudah berubah direktori ada, 1317 00:59:35,350 --> 00:59:40,230 Aku akan melihat dan melihat apa yang dalam direktori tersebut, ls, daftar keluar. 1318 00:59:40,230 --> 00:59:43,230 Aku akan melihat bahwa saya telah punya dua subdirektori. 1319 00:59:43,230 --> 00:59:47,910 Mari kita membuat ini sedikit lebih besar di sini sehingga kita semua bisa melihatnya. 1320 00:59:47,910 --> 00:59:50,610 >> Saya dapat melihat bahwa saya telah punya dua subdirektori. 1321 00:59:50,610 --> 00:59:53,510 Aku akan mengubah direktori untuk pergi ke ruang kerja. 1322 00:59:53,510 --> 00:59:58,380 Dan aku akan hanya mengetikkan bagian dari itu, dan kemudian tekan saja Tab. 1323 00:59:58,380 --> 01:00:01,520 Dan itu akan menyelesaikan sisanya untuk saya. 1324 01:00:01,520 --> 01:00:03,370 Fancy. 1325 01:00:03,370 --> 01:00:04,960 >> Aku akan melihat dan melihat di ruang kerja. 1326 01:00:04,960 --> 01:00:08,431 Dan sekarang, aku bekerja pada SuperSection yang 1327 01:00:08,431 --> 01:00:09,680 bahwa kita mengajar sekarang. 1328 01:00:09,680 --> 01:00:10,971 Jadi aku akan pergi ke direktori tersebut. 1329 01:00:10,971 --> 01:00:14,770 1330 01:00:14,770 --> 01:00:15,970 Dan akhirnya, melihat dan melihat. 1331 01:00:15,970 --> 01:00:18,480 Dan aku punya file bunny.c. 1332 01:00:18,480 --> 01:00:20,980 >> Baiklah jadi biar jelas sekali lagi. 1333 01:00:20,980 --> 01:00:24,370 Dan aku akan sekarang-- lagi aku masih tinggal di direktori yang 1334 01:00:24,370 --> 01:00:27,540 dan itu mengatakan aku di direktori SuperSection. 1335 01:00:27,540 --> 01:00:30,690 Aku akan pergi ke depan dan membuat program saya kelinci. 1336 01:00:30,690 --> 01:00:33,730 1337 01:00:33,730 --> 01:00:38,810 Dan perintah itu, membuat kelinci, sementara terdengar sedikit aneh, 1338 01:00:38,810 --> 01:00:42,960 juga memanggil compiler dentang. 1339 01:00:42,960 --> 01:00:46,470 >> Dan itu diproduksi untuk saya output yang 1340 01:00:46,470 --> 01:00:52,130 sebuah funny-- dieksekusi file eksekusi yang disebut kelinci. 1341 01:00:52,130 --> 01:00:52,700 OKE. 1342 01:00:52,700 --> 01:00:56,700 Maka saya bisa, dan ini terdengar bahkan lebih buruk, mengeksekusi kelinci. 1343 01:00:56,700 --> 01:00:59,360 1344 01:00:59,360 --> 01:01:00,680 OKE. 1345 01:01:00,680 --> 01:01:03,150 Dan mari kita lihat apa yang dilakukannya. 1346 01:01:03,150 --> 01:01:04,527 OKE. 1347 01:01:04,527 --> 01:01:06,360 Itu sedikit apa yang kuharapkan. 1348 01:01:06,360 --> 01:01:11,290 Aku punya gambar kelinci saya di sana, tapi aku agak ingin semuanya dengan sendirinya. 1349 01:01:11,290 --> 01:01:13,186 Apa yang saya lewatkan? 1350 01:01:13,186 --> 01:01:14,478 >> SPEAKER 21: Slash l atau memangkas n. 1351 01:01:14,478 --> 01:01:15,602 BRIAN SCASSELLATI: Slash n. 1352 01:01:15,602 --> 01:01:16,580 OKE. 1353 01:01:16,580 --> 01:01:18,800 Jadi mari kita kembali di sini. 1354 01:01:18,800 --> 01:01:20,330 Dan aku akan keluar dari itu. 1355 01:01:20,330 --> 01:01:23,320 Dan aku akan kembali ke satu ini. 1356 01:01:23,320 --> 01:01:27,720 Dan mari kita lihat sekarang dari fungsi utama saya di sini. 1357 01:01:27,720 --> 01:01:29,280 >> Jadi apa yang harus aku lakukan? 1358 01:01:29,280 --> 01:01:30,465 Saya ingin mengakhiri garis. 1359 01:01:30,465 --> 01:01:34,020 1360 01:01:34,020 --> 01:01:35,800 Jadi saya akan dimasukkan ke dalam komentar. 1361 01:01:35,800 --> 01:01:38,430 Aku akan dimasukkan ke dalam printf (). 1362 01:01:38,430 --> 01:01:41,350 Dan apa yang harus saya dimasukkan ke dalam? 1363 01:01:41,350 --> 01:01:41,890 / n. 1364 01:01:41,890 --> 01:01:43,480 OKE. 1365 01:01:43,480 --> 01:01:46,040 Apa yang harus saya mengakhirinya dengan? 1366 01:01:46,040 --> 01:01:47,100 Titik koma. 1367 01:01:47,100 --> 01:01:48,730 Baiklah. 1368 01:01:48,730 --> 01:01:52,880 >> Sekarang, salah satu yang benar-benar hal penting adalah memastikan 1369 01:01:52,880 --> 01:01:56,720 setiap kali Anda membuat perubahan dalam kode Anda, bahwa Anda menyimpannya. 1370 01:01:56,720 --> 01:02:01,380 Jika Anda belum menyimpan kode Anda, Anda akan melihat sedikit bintang di atas sana. 1371 01:02:01,380 --> 01:02:03,420 Dan bintang yang mengatakan bahwa Anda belum menyimpan kode ini. 1372 01:02:03,420 --> 01:02:07,790 >> Jika saya compile sekarang, itu tidak akan mencerminkan perubahan tersebut, 1373 01:02:07,790 --> 01:02:11,680 karena compiler melihat file yang pada disk, bukan file itu 1374 01:02:11,680 --> 01:02:13,790 terbuka di editor. 1375 01:02:13,790 --> 01:02:14,290 Baiklah. 1376 01:02:14,290 --> 01:02:20,830 >> Jadi mari kita simpan dan kemudian kami akan pergi tepat di bawah sini, kembali keluar. 1377 01:02:20,830 --> 01:02:24,670 Datang ke terminal saya. 1378 01:02:24,670 --> 01:02:27,193 Dan mari kita membersihkan ruang lagi. 1379 01:02:27,193 --> 01:02:30,690 1380 01:02:30,690 --> 01:02:35,760 >> Dan kita bisa pergi ke depan dan satu lagi waktu membuat program kelinci kami. 1381 01:02:35,760 --> 01:02:40,180 Dan mengeksekusi kelinci. 1382 01:02:40,180 --> 01:02:42,500 Itu tidak berhasil. 1383 01:02:42,500 --> 01:02:43,950 Slash salah. 1384 01:02:43,950 --> 01:02:52,280 Jadi jika Anda melihat apa yang saya punya, saya menempatkan / n di sana, tapi aku punya garis miring yang salah. 1385 01:02:52,280 --> 01:02:56,190 >> Segala sesuatu yang komputer Anda Apakah sangat eksplisit. 1386 01:02:56,190 --> 01:02:57,230 OKE? 1387 01:02:57,230 --> 01:03:01,250 Satu kesalahan kecil tanda baca, dan tiba-tiba Anda tidak mendapatkan apa yang Anda inginkan. 1388 01:03:01,250 --> 01:03:01,750 Baiklah. 1389 01:03:01,750 --> 01:03:03,740 Jadi mari kita tampilannya kembali keluar lagi. 1390 01:03:03,740 --> 01:03:04,410 Kami akan kembali. 1391 01:03:04,410 --> 01:03:07,930 Nah membuat perbaikan yang sangat cepat. 1392 01:03:07,930 --> 01:03:09,270 Kami akan menempatkan garis miring tepat di. 1393 01:03:09,270 --> 01:03:10,570 Kami akan menyimpannya. 1394 01:03:10,570 --> 01:03:13,410 Kami akan tampilannya kembali. 1395 01:03:13,410 --> 01:03:16,730 >> Untuk beberapa alasan, itu tidak menjadi bahagia, tetapi mari kita pergi ke depan 1396 01:03:16,730 --> 01:03:19,850 dan kita akan kembali ke terminal sini. 1397 01:03:19,850 --> 01:03:22,940 Jelas itu. 1398 01:03:22,940 --> 01:03:24,880 Kami akan memperbesar. 1399 01:03:24,880 --> 01:03:28,410 Dan sekali lagi, kami akan membuat kelinci. 1400 01:03:28,410 --> 01:03:32,360 Dan sekarang cukup yakin, ia bekerja. 1401 01:03:32,360 --> 01:03:33,240 Hore. 1402 01:03:33,240 --> 01:03:34,300 OKE. 1403 01:03:34,300 --> 01:03:39,580 >> Jadi mari kita coba untuk membuat ini sedikit lebih umum. 1404 01:03:39,580 --> 01:03:46,750 Mari kita lihat apakah bukan hanya mencetak satu frame tertentu, 1405 01:03:46,750 --> 01:03:49,610 mari kita lihat apakah kita dapat membuat ini sehingga kita bisa mendapatkan semua 10 1406 01:03:49,610 --> 01:03:52,960 dari mereka frame animasi bahwa kita ingin memiliki. 1407 01:03:52,960 --> 01:03:56,550 Jadi sekali lagi, mari kita ini langkah pada satu waktu. 1408 01:03:56,550 --> 01:03:59,900 >> Mari kita pertama menggeneralisasi itu, tidak sehingga saya melakukan semua frame, 1409 01:03:59,900 --> 01:04:03,990 tapi begitu saya melakukan salah satu frame yang saya mungkin ingin. 1410 01:04:03,990 --> 01:04:05,920 Jadi apa bedanya antara frame? 1411 01:04:05,920 --> 01:04:07,377 Apakah kelinci yang sama? 1412 01:04:07,377 --> 01:04:07,960 AUDIENCE: Ya. 1413 01:04:07,960 --> 01:04:08,390 BRIAN SCASSELLATI: Ya. 1414 01:04:08,390 --> 01:04:09,370 Apa bedanya? 1415 01:04:09,370 --> 01:04:10,246 >> AUDIENCE: Posisi. 1416 01:04:10,246 --> 01:04:11,870 BRIAN SCASSELLATI: Posisinya, tepat? 1417 01:04:11,870 --> 01:04:15,590 Dan bagaimana mengontrol posisinya? 1418 01:04:15,590 --> 01:04:17,340 Berapa banyak titik aku menempatkan di awal 1419 01:04:17,340 --> 01:04:19,048 dan berapa banyak titik aku menempatkan di akhir. 1420 01:04:19,048 --> 01:04:21,970 Jadi saya memiliki lima di awal dan lima di akhir. 1421 01:04:21,970 --> 01:04:28,320 >> Mari kita ganti yang lima dengan untuk loop. 1422 01:04:28,320 --> 01:04:29,380 OKE. 1423 01:04:29,380 --> 01:04:32,330 Dan aku akan membuat untuk lingkaran sekarang akan mengatakan, 1424 01:04:32,330 --> 01:04:37,800 Aku akan mencetak beberapa nomor dari dots di awal. 1425 01:04:37,800 --> 01:04:39,600 Aku akan menggunakan variabel. 1426 01:04:39,600 --> 01:04:44,150 Katakanlah, bagaimana saya sebagai counter dalam lingkaran saya. 1427 01:04:44,150 --> 01:04:47,200 Dan aku akan menyatakan itu atas. 1428 01:04:47,200 --> 01:04:49,360 >> Dan kemudian di loop Saya perlu melakukan tiga hal. 1429 01:04:49,360 --> 01:04:52,340 Hal pertama yang harus saya lakukan adalah saya harus menginisialisasi i. 1430 01:04:52,340 --> 01:04:56,570 Apa yang harus saya menginisialisasi untuk memulai untuk menjadi? 1431 01:04:56,570 --> 01:04:57,160 0. 1432 01:04:57,160 --> 01:04:58,310 OKE. 1433 01:04:58,310 --> 01:05:00,950 >> Lalu aku harus mengatakan, apa yang kondisi terminasi? 1434 01:05:00,950 --> 01:05:03,020 Ketika saya harus berhenti? 1435 01:05:03,020 --> 01:05:05,983 Nah berapa banyak titik-titik yang Anda ingin mencetak satu ini? 1436 01:05:05,983 --> 01:05:06,921 >> AUDIENCE: Lima. 1437 01:05:06,921 --> 01:05:08,170 BRIAN SCASSELLATI: Lima lagi? 1438 01:05:08,170 --> 01:05:10,650 Bagaimana mari kita lakukan sesuatu yang berbeda, yang kita lakukan lima. 1439 01:05:10,650 --> 01:05:12,584 Mari kita tunjukkan bahwa itu berbeda. 1440 01:05:12,584 --> 01:05:13,250 SPEAKER 22: Dua. 1441 01:05:13,250 --> 01:05:13,580 BRIAN SCASSELLATI: Dua. 1442 01:05:13,580 --> 01:05:14,080 OKE. 1443 01:05:14,080 --> 01:05:17,760 Jadi jika saya ingin dua titik, apa yang harus saya masukkan di sini? 1444 01:05:17,760 --> 01:05:19,140 >> AUDIENCE: Tiga. 1445 01:05:19,140 --> 01:05:20,530 >> BRIAN SCASSELLATI: Tiga. 1446 01:05:20,530 --> 01:05:21,400 OKE. 1447 01:05:21,400 --> 01:05:24,220 Berapa kali adalah bahwa akan pergi melalui? 1448 01:05:24,220 --> 01:05:28,469 Itu akan pergi melalui tiga kali, 0, 1, dan 2, kanan? 1449 01:05:28,469 --> 01:05:30,010 Baiklah, mari kita kembali ke dua. 1450 01:05:30,010 --> 01:05:31,570 Sekarang kita akan mendapatkan dua titik. 1451 01:05:31,570 --> 01:05:35,800 Dan apa yang ingin saya lakukan setiap waktu aku pergi melalui loop? 1452 01:05:35,800 --> 01:05:38,657 Apa harus berubah setiap kali saya pergi melalui? 1453 01:05:38,657 --> 01:05:39,850 >> SPEAKER 23: Menambahkan dot. 1454 01:05:39,850 --> 01:05:41,020 >> BRIAN SCASSELLATI: Saya harus terus berjalan. 1455 01:05:41,020 --> 01:05:41,978 Saya akan menambahkan sebuah titik. 1456 01:05:41,978 --> 01:05:45,310 Aku akan mencetak dot, setiap kali melalui loop. 1457 01:05:45,310 --> 01:05:49,990 Tapi bagaimana aku melacak bagaimana banyak kali aku sudah melalui loop? 1458 01:05:49,990 --> 01:05:53,260 Saya menggunakan i, yang variabel, counter itu. 1459 01:05:53,260 --> 01:05:57,110 >> Jadi setiap kali melalui, aku akan untuk kenaikan counter per satu. 1460 01:05:57,110 --> 01:06:00,670 Sekarang, itu sama untuk saya mengatakan i = i + 1. 1461 01:06:00,670 --> 01:06:01,210 Tidak apa-apa. 1462 01:06:01,210 --> 01:06:04,653 Aku bisa melakukannya itu-- Saya suka singkatan, jadi saya akan mengatakan i ++. 1463 01:06:04,653 --> 01:06:07,190 1464 01:06:07,190 --> 01:06:08,370 OKE. 1465 01:06:08,370 --> 01:06:10,680 >> Mari kita lakukan hal yang sama di sini di bagian bawah. 1466 01:06:10,680 --> 01:06:11,846 Hanya Aku agak melakukan satu itu. 1467 01:06:11,846 --> 01:06:13,990 Aku akan membiarkan kalian melakukan satu ini benar-benar. 1468 01:06:13,990 --> 01:06:14,260 Baiklah. 1469 01:06:14,260 --> 01:06:15,426 >> Jadi apa yang harus saya tulis di sini? 1470 01:06:15,426 --> 01:06:17,170 Berikut saya untuk loop. 1471 01:06:17,170 --> 01:06:23,162 Aku akan melakukan printf () dan aku akan untuk membuatnya sehingga saya hanya mencetak satu titik 1472 01:06:23,162 --> 01:06:25,740 di bagian bawah itu. 1473 01:06:25,740 --> 01:06:27,740 >> Apa yang harus saya tulis dalam hal ini untuk loop sekarang? 1474 01:06:27,740 --> 01:06:30,897 1475 01:06:30,897 --> 01:06:33,948 Yah, pertama-tama apa variabel yang harus saya gunakan? 1476 01:06:33,948 --> 01:06:35,430 >> SPEAKER 24: j. 1477 01:06:35,430 --> 01:06:36,880 >> BRIAN SCASSELLATI: Saya bisa menggunakan j. 1478 01:06:36,880 --> 01:06:38,040 Dapatkah saya menggunakan satu sama? 1479 01:06:38,040 --> 01:06:39,961 Dapatkah saya menggunakan saya lagi? 1480 01:06:39,961 --> 01:06:40,460 Ya. 1481 01:06:40,460 --> 01:06:45,531 Itu OK, karena Is bahwa saya menggunakan di sini, 1482 01:06:45,531 --> 01:06:47,780 Aku tidak membutuhkan mereka lagi ketika Aku turun ke titik ini. 1483 01:06:47,780 --> 01:06:52,240 1484 01:06:52,240 --> 01:06:53,790 >> Jadi apa yang harus saya menginisialisasi saya ke? 1485 01:06:53,790 --> 01:06:56,675 1486 01:06:56,675 --> 01:06:57,300 SPEAKER 25: 10. 1487 01:06:57,300 --> 01:06:58,567 BRIAN SCASSELLATI: 0. 1488 01:06:58,567 --> 01:06:59,400 Apa yang harus saya cek? 1489 01:06:59,400 --> 01:07:02,960 Berapa banyak titik-titik yang harus saya sekarang di akhir jika saya punya dua titik di awal? 1490 01:07:02,960 --> 01:07:05,820 1491 01:07:05,820 --> 01:07:09,165 Aku butuh delapan di akhir, jadi apa harus saya cek, saya kurang than-- 1492 01:07:09,165 --> 01:07:12,645 >> AUDIENCE: Tujuh, delapan, sembilan. 1493 01:07:12,645 --> 01:07:14,020 BRIAN SCASSELLATI: Aku mendengar tujuh. 1494 01:07:14,020 --> 01:07:14,810 Aku mendengar delapan. 1495 01:07:14,810 --> 01:07:15,970 Dan aku mendengar sembilan. 1496 01:07:15,970 --> 01:07:16,470 OKE. 1497 01:07:16,470 --> 01:07:19,540 Jadi kita semua di kanan ball-- Jason mengatakan 10. 1498 01:07:19,540 --> 01:07:21,550 OKE. 1499 01:07:21,550 --> 01:07:25,920 >> Jika saya perlu dua titik untuk yang pertama, berapa banyak melakukan 1500 01:07:25,920 --> 01:07:30,170 Aku-- dan saya perlu delapan titik untuk lalu satu-- Aku meletakkan dua di atas, 1501 01:07:30,170 --> 01:07:31,743 apa yang harus saya meletakkan di bawah ini? 1502 01:07:31,743 --> 01:07:32,570 >> AUDIENCE: Delapan. 1503 01:07:32,570 --> 01:07:33,611 >> BRIAN SCASSELLATI: Delapan. 1504 01:07:33,611 --> 01:07:35,695 Karena itu akan menghitung nol melalui tujuh. 1505 01:07:35,695 --> 01:07:38,490 Dan itu delapan kali melalui loop. 1506 01:07:38,490 --> 01:07:38,990 OKE. 1507 01:07:38,990 --> 01:07:41,774 Dan apa yang harus saya lakukan di akhir? 1508 01:07:41,774 --> 01:07:42,670 >> AUDIENCE: i ++. 1509 01:07:42,670 --> 01:07:44,400 >> BRIAN SCASSELLATI: i ++. 1510 01:07:44,400 --> 01:07:45,440 Baiklah. 1511 01:07:45,440 --> 01:07:48,260 Sehingga tampak cukup baik di sana. 1512 01:07:48,260 --> 01:07:50,620 Mari kita coba dan mari kita lihat apa yang dilakukannya. 1513 01:07:50,620 --> 01:07:51,450 OKE. 1514 01:07:51,450 --> 01:07:53,770 Jadi kita akan menyimpannya. 1515 01:07:53,770 --> 01:07:54,940 Bagus dan disimpan. 1516 01:07:54,940 --> 01:07:56,910 >> Kami akan tampilannya kembali keluar. 1517 01:07:56,910 --> 01:07:58,220 Kami akan mencoba di sini di terminal. 1518 01:07:58,220 --> 01:08:01,440 1519 01:08:01,440 --> 01:08:02,970 Kami akan memperbesar. 1520 01:08:02,970 --> 01:08:05,416 Ups. 1521 01:08:05,416 --> 01:08:09,990 Kami akan, sekali lagi, membuat program kelinci kami. 1522 01:08:09,990 --> 01:08:14,460 Dan pergi ke depan dan mengeksekusi kelinci. 1523 01:08:14,460 --> 01:08:15,980 Dan ada itu. 1524 01:08:15,980 --> 01:08:17,710 >> Jadi ada kelinci kami. 1525 01:08:17,710 --> 01:08:25,130 Di mana ia memiliki dua titik di awal dan delapan titik keluar di akhir. 1526 01:08:25,130 --> 01:08:27,540 Semua orang masih dengan saya? 1527 01:08:27,540 --> 01:08:28,770 OKE. 1528 01:08:28,770 --> 01:08:29,580 >> Jadi kami membangun itu. 1529 01:08:29,580 --> 01:08:33,000 Kami membangun satu kelinci, satu frame tertentu. 1530 01:08:33,000 --> 01:08:36,229 Sekarang kita sudah bisa generalisasi bahwa untuk membangun 1531 01:08:36,229 --> 01:08:38,390 lebih, berbagai jenis frame. 1532 01:08:38,390 --> 01:08:42,399 >> Sekarang mari kita pergi ke depan, dan memiliki itu menghasilkan tidak hanya satu frame, 1533 01:08:42,399 --> 01:08:46,290 tapi mari kita menghasilkan 10 frame, di mana kita perlahan-lahan 1534 01:08:46,290 --> 01:08:50,569 membuat kelinci memindahkan semua jalan melintasi lapangan. 1535 01:08:50,569 --> 01:08:51,430 Baiklah. 1536 01:08:51,430 --> 01:08:53,660 >> Ayo kembali. 1537 01:08:53,660 --> 01:08:54,839 Dan kami akan mencoba sekarang. 1538 01:08:54,839 --> 01:09:00,680 1539 01:09:00,680 --> 01:09:02,830 Jadi apa yang saya benar-benar perlu mengubah di sini? 1540 01:09:02,830 --> 01:09:06,139 1541 01:09:06,139 --> 01:09:07,180 Apa yang harus saya ubah? 1542 01:09:07,180 --> 01:09:10,638 >> SPEAKER 26: Anda harus terlebih dahulu mengubah jumlah maksimum titik 1543 01:09:10,638 --> 01:09:11,626 pada awalnya. 1544 01:09:11,626 --> 01:09:16,850 Karena jika kita melakukan 10 titik, itu akan perlu untuk skala. 1545 01:09:16,850 --> 01:09:17,850 BRIAN SCASSELLATI: Ya. 1546 01:09:17,850 --> 01:09:23,760 Jadi sekarang saya memilikinya semacam tertanam untuk selalu melakukan dua titik di awal 1547 01:09:23,760 --> 01:09:27,890 dan selalu melakukan delapan titik di akhir. 1548 01:09:27,890 --> 01:09:30,660 >> Saya ingin membangun loop lain, kan? 1549 01:09:30,660 --> 01:09:33,290 Karena saya tidak ingin membangun hanya satu gambar kelinci, 1550 01:09:33,290 --> 01:09:37,140 Saya ingin membangun 10 gambar kelinci. 1551 01:09:37,140 --> 01:09:41,500 Jadi saya perlu untuk membangun lingkaran lain, dan saat aku pergi melalui lingkaran itu, 1552 01:09:41,500 --> 01:09:44,660 Saya ingin mengubah berapa banyak titik saya mencetak di awal 1553 01:09:44,660 --> 01:09:50,529 dan berapa banyak titik saya mencetak di akhir, berdasarkan yang siklus melalui loop 1554 01:09:50,529 --> 01:09:52,270 Saya di. 1555 01:09:52,270 --> 01:09:52,770 Baiklah. 1556 01:09:52,770 --> 01:09:54,430 >> Jadi mari kita kontra lain. 1557 01:09:54,430 --> 01:09:58,142 Seseorang sebelum mengatakan j, jadi kita akan membuat j lain. 1558 01:09:58,142 --> 01:10:00,100 Dan sekarang, kita akan membangun yang lain untuk loop. 1559 01:10:00,100 --> 01:10:02,650 1560 01:10:02,650 --> 01:10:06,200 >> Apa yang terjadi di dalam lingkaran itu? 1561 01:10:06,200 --> 01:10:09,060 Hal ini harus pergi dalam loop, kan? 1562 01:10:09,060 --> 01:10:11,190 Apakah kelinci memiliki masuk ke dalam loop? 1563 01:10:11,190 --> 01:10:13,390 Apakah saya perlu kelinci di masing-masing 10 frame? 1564 01:10:13,390 --> 01:10:14,099 >> AUDIENCE: Uh-huh. 1565 01:10:14,099 --> 01:10:15,098 BRIAN SCASSELLATI: Ya. 1566 01:10:15,098 --> 01:10:17,250 Saya ingin kelinci di setiap dari 10 frame, kan? 1567 01:10:17,250 --> 01:10:20,531 Bagaimana dengan titik di akhirnya, perlu saya itu? 1568 01:10:20,531 --> 01:10:21,030 OKE. 1569 01:10:21,030 --> 01:10:22,550 >> Jadi aku akan indent mereka semua. 1570 01:10:22,550 --> 01:10:25,110 Aku akan menyoroti semua ini, dan aku akan memukul Tab. 1571 01:10:25,110 --> 01:10:28,590 Dan itu akan mendorong mereka seluruh sedikit, sehingga mudah bagi saya 1572 01:10:28,590 --> 01:10:32,010 untuk melihat apa yang ada di loop. 1573 01:10:32,010 --> 01:10:33,710 Dan kemudian aku akan mengakhirinya. 1574 01:10:33,710 --> 01:10:35,850 Katakanlah. 1575 01:10:35,850 --> 01:10:36,430 OKE? 1576 01:10:36,430 --> 01:10:39,230 >> Sekarang, dalam lingkaran ini yang Aku building-- whoops, 1577 01:10:39,230 --> 01:10:43,810 membuat sehingga Anda dapat see-- Aku punya meja saya j. 1578 01:10:43,810 --> 01:10:45,630 Saya akan memulainya pada 0. 1579 01:10:45,630 --> 01:10:47,829 Berapa kali saya ingin untuk pergi melalui loop ini? 1580 01:10:47,829 --> 01:10:48,620 AUDIENCE: 10 kali. 1581 01:10:48,620 --> 01:10:49,786 BRIAN SCASSELLATI: 10 kali. 1582 01:10:49,786 --> 01:10:51,402 Jadi apa nomor yang harus saya masukkan di sini? 1583 01:10:51,402 --> 01:10:52,880 >> AUDIENCE: 9, 10. 1584 01:10:52,880 --> 01:10:55,600 >> BRIAN SCASSELLATI: 9, 10, harus ada yang mengatakan 11, kan? 1585 01:10:55,600 --> 01:10:58,190 1586 01:10:58,190 --> 01:11:01,585 Saya ingin dua titik sebelum dan menempatkan saya kurang dari 2. 1587 01:11:01,585 --> 01:11:03,810 Saya ingin delapan titik, Aku meletakkan saya kurang dari 8. 1588 01:11:03,810 --> 01:11:06,950 Sekarang saya ingin pergi melalui 10 kali, jadi aku meletakkan j kurang than-- 1589 01:11:06,950 --> 01:11:07,590 >> AUDIENCE: 10. 1590 01:11:07,590 --> 01:11:08,610 >> BRIAN SCASSELLATI: 10. 1591 01:11:08,610 --> 01:11:10,150 Di sana kami pergi. 1592 01:11:10,150 --> 01:11:13,360 Dan apa yang harus saya lakukan pada akhir untuk j? 1593 01:11:13,360 --> 01:11:15,310 ++, Kenaikan itu. 1594 01:11:15,310 --> 01:11:16,230 OKE. 1595 01:11:16,230 --> 01:11:21,500 Sekarang, inilah bagian yang sulit, apa akan terjadi sekarang jika saya melakukan ini? 1596 01:11:21,500 --> 01:11:24,537 Apakah aku akan mencetak 10 frame? 1597 01:11:24,537 --> 01:11:26,370 SPEAKER 27: saya pikir mereka semua akan sama. 1598 01:11:26,370 --> 01:11:28,453 BRIAN SCASSELLATI: Mereka akan semua sama, kan? 1599 01:11:28,453 --> 01:11:31,750 Karena semua dari mereka masih akan untuk menempatkan dua titik di awal. 1600 01:11:31,750 --> 01:11:34,162 Tapi aku tidak ingin mereka semua untuk memiliki dua titik awal. 1601 01:11:34,162 --> 01:11:35,870 Berapa banyak titik-titik yang saya ingin di awal? 1602 01:11:35,870 --> 01:11:39,097 1603 01:11:39,097 --> 01:11:40,020 >> AUDIENCE: Mengubah. 1604 01:11:40,020 --> 01:11:42,840 >> BRIAN SCASSELLATI: Saya ingin berubah, kan? 1605 01:11:42,840 --> 01:11:46,588 Jadi apa yang saya miliki di sini yang berubah setiap kali loop melewati? 1606 01:11:46,588 --> 01:11:48,242 >> AUDIENCE: Jumlah titik, j. 1607 01:11:48,242 --> 01:11:49,950 BRIAN SCASSELLATI: j, jumlah titik. 1608 01:11:49,950 --> 01:11:54,782 Jadi saya bisa mengubah ini menjadi j. 1609 01:11:54,782 --> 01:11:59,190 Pertama kali melalui lingkaran, apa yang akan terjadi? 1610 01:11:59,190 --> 01:12:01,700 Apa yang harus saya set j ke pada awalnya? 1611 01:12:01,700 --> 01:12:02,420 >> AUDIENCE: 0. 1612 01:12:02,420 --> 01:12:05,700 >> BRIAN SCASSELLATI: Jadi berapa banyak kali saya akan melakukan ini? 1613 01:12:05,700 --> 01:12:06,750 0. 1614 01:12:06,750 --> 01:12:11,750 Kedua kalinya melalui loop, j akan menjadi 1 karena saya kenaikan itu. 1615 01:12:11,750 --> 01:12:14,180 Berapa banyak titik-titik yang akan saya cetak? 1616 01:12:14,180 --> 01:12:15,100 1. 1617 01:12:15,100 --> 01:12:19,904 Ketiga kalinya melalui loop, berapa banyak titik-titik yang akan saya cetak? 1618 01:12:19,904 --> 01:12:20,587 >> AUDIENCE: Tiga. 1619 01:12:20,587 --> 01:12:22,170 BRIAN SCASSELLATI: j akan menjadi 3. 1620 01:12:22,170 --> 01:12:24,890 Berapa banyak titik-titik yang akan saya cetak? 1621 01:12:24,890 --> 01:12:26,817 Oh, maaf, j akan menjadi 2. 1622 01:12:26,817 --> 01:12:28,233 Berapa banyak titik-titik yang akan saya cetak? 1623 01:12:28,233 --> 01:12:28,980 >> AUDIENCE: 2. 1624 01:12:28,980 --> 01:12:29,855 >> BRIAN SCASSELLATI: 2. 1625 01:12:29,855 --> 01:12:32,460 OK, jadi aku akan terus incrementing bahwa ketika kita pergi bersama. 1626 01:12:32,460 --> 01:12:33,460 Bagaimana di bawah? 1627 01:12:33,460 --> 01:12:34,310 Apa yang terjadi di sini? 1628 01:12:34,310 --> 01:12:38,080 Saya tidak ingin selalu 8 pada akhir lagi? 1629 01:12:38,080 --> 01:12:39,269 >> SPEAKER 28: 10. 1630 01:12:39,269 --> 01:12:40,685 BRIAN SCASSELLATI: Saya ingin 10 titik? 1631 01:12:40,685 --> 01:12:43,440 1632 01:12:43,440 --> 01:12:44,620 Saya ingin mengubah, juga. 1633 01:12:44,620 --> 01:12:47,469 Jadi bagaimana saya ingin berubah? 1634 01:12:47,469 --> 01:12:49,167 >> AUDIENCE: [tidak terdengar]. 1635 01:12:49,167 --> 01:12:51,750 BRIAN SCASSELLATI: Yah, kalau aku memiliki lima titik di awal, 1636 01:12:51,750 --> 01:12:53,293 berapa banyak titik ini saya mendapatkan di akhir? 1637 01:12:53,293 --> 01:12:54,020 >> AUDIENCE: Lima. 1638 01:12:54,020 --> 01:12:55,630 >> BRIAN SCASSELLATI: Jika saya memiliki enam titik di awal, 1639 01:12:55,630 --> 01:12:56,875 berapa banyak yang saya dapatkan di akhir? 1640 01:12:56,875 --> 01:12:57,500 AUDIENCE: Empat. 1641 01:12:57,500 --> 01:12:58,950 BRIAN SCASSELLATI: Jika saya punya tujuh titik di awal, 1642 01:12:58,950 --> 01:13:00,204 berapa banyak yang saya dapatkan di akhir? 1643 01:13:00,204 --> 01:13:00,870 AUDIENCE: Tiga. 1644 01:13:00,870 --> 01:13:03,161 BRIAN SCASSELLATI: Jika saya sudah mendapat titik j di awal, 1645 01:13:03,161 --> 01:13:04,790 berapa banyak yang saya dapatkan di akhir? 1646 01:13:04,790 --> 01:13:07,520 10-j. 1647 01:13:07,520 --> 01:13:08,650 OKE. 1648 01:13:08,650 --> 01:13:10,390 Jadi mari kita mencoba yang keluar. 1649 01:13:10,390 --> 01:13:13,180 >> Jadi aku akan menyimpan program kelinci kami. 1650 01:13:13,180 --> 01:13:16,270 Sekali lagi kita akan zoom out. 1651 01:13:16,270 --> 01:13:19,090 Kami akan pergi ke terminal kami. 1652 01:13:19,090 --> 01:13:20,180 Kami akan menghapus itu. 1653 01:13:20,180 --> 01:13:23,410 Dan memperbesar. 1654 01:13:23,410 --> 01:13:26,410 Kami akan membuat program kelinci kami, lagi. 1655 01:13:26,410 --> 01:13:27,690 Dan kami akan melaksanakannya. 1656 01:13:27,690 --> 01:13:30,462 1657 01:13:30,462 --> 01:13:32,090 Uh oh. 1658 01:13:32,090 --> 01:13:34,580 >> Tunggu, mari kita zoom out. 1659 01:13:34,580 --> 01:13:36,860 Apakah saya mendapatkan 10 frame? 1660 01:13:36,860 --> 01:13:38,970 Nah, berapa banyak kelinci saya melihat di sana? 1661 01:13:38,970 --> 01:13:43,330 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. 1662 01:13:43,330 --> 01:13:44,820 Saya punya 10 frame. 1663 01:13:44,820 --> 01:13:46,375 Apakah mereka semua sama? 1664 01:13:46,375 --> 01:13:47,000 AUDIENCE: Ya. 1665 01:13:47,000 --> 01:13:48,740 Tidak. 1666 01:13:48,740 --> 01:13:50,000 >> BRIAN SCASSELLATI: No. 1667 01:13:50,000 --> 01:13:55,050 Itu yang pertama, kelinci jauh di sebelah kiri. 1668 01:13:55,050 --> 01:13:57,541 Dan di sini, kelinci ini jauh di 1669 01:13:57,541 --> 01:13:58,290 SPEAKER 29: Kanan. 1670 01:13:58,290 --> 01:14:00,502 BRIAN SCASSELLATI: Jadi, apa yang aku lupa lakukan? 1671 01:14:00,502 --> 01:14:01,750 SPEAKER 30: Memulai baris baru. 1672 01:14:01,750 --> 01:14:04,041 BRIAN SCASSELLATI: Saya lupa untuk memulai baris baru, lagi. 1673 01:14:04,041 --> 01:14:05,270 Kesalahan yang sama saya dibuat sebelumnya. 1674 01:14:05,270 --> 01:14:07,120 Baiklah, mari kita pergi memperbaikinya. 1675 01:14:07,120 --> 01:14:11,690 Sekarang, aku masih punya kode di sana untuk membuat baris baru. 1676 01:14:11,690 --> 01:14:13,899 Mengapa hal tersebut tidak bekerja? 1677 01:14:13,899 --> 01:14:15,440 SPEAKER 31: Ini bukan dalam lingkaran. 1678 01:14:15,440 --> 01:14:17,710 BRIAN SCASSELLATI: Oh, itu bukan dalam lingkaran. 1679 01:14:17,710 --> 01:14:18,520 Betul. 1680 01:14:18,520 --> 01:14:20,150 Ini duduk di luar sini. 1681 01:14:20,150 --> 01:14:23,470 1682 01:14:23,470 --> 01:14:29,050 Dan untuk loop adalah segalanya yang ada di dalam teks itu. 1683 01:14:29,050 --> 01:14:35,500 >> Jadi aku akan pindah ini di dalam untuk loop. 1684 01:14:35,500 --> 01:14:39,410 Dan aku akan Tab di depannya untuk menunjukkan bahwa itu di tempat yang tepat. 1685 01:14:39,410 --> 01:14:42,020 Dan sekarang, kami akan menyimpannya lagi. 1686 01:14:42,020 --> 01:14:44,350 Kami akan zoom out. 1687 01:14:44,350 --> 01:14:45,770 Kami akan beralih ke terminal kami. 1688 01:14:45,770 --> 01:14:48,330 1689 01:14:48,330 --> 01:14:50,360 Memperbesar. 1690 01:14:50,360 --> 01:14:54,050 Kami akan remake Program kelinci kami. 1691 01:14:54,050 --> 01:14:59,070 Dan sekarang, sekarang kita punya 10 frame kami. 1692 01:14:59,070 --> 01:15:00,190 >> [Bertepuk] 1693 01:15:00,190 --> 01:15:02,120 >> BRIAN SCASSELLATI: OK. 1694 01:15:02,120 --> 01:15:04,080 So. 1695 01:15:04,080 --> 01:15:08,370 Berikut adalah kami bersarang untuk loop. 1696 01:15:08,370 --> 01:15:13,140 Kami mampu menghasilkan dalam loop batin berapa banyak titik saya ingin 1697 01:15:13,140 --> 01:15:15,320 untuk mencetak di awal, di akhir. 1698 01:15:15,320 --> 01:15:21,570 Dan loop luar dikendalikan berapa banyak frame aku sedang membangun. 1699 01:15:21,570 --> 01:15:26,340 Kami mulai dengan satu sedikit kernel dari masalah, 1700 01:15:26,340 --> 01:15:30,320 dan kami dibangun dari titik itu. 1701 01:15:30,320 --> 01:15:30,820 Baiklah. 1702 01:15:30,820 --> 01:15:33,500 >> Mari kita lakukan satu langkah lagi. 1703 01:15:33,500 --> 01:15:35,040 Anda siap? 1704 01:15:35,040 --> 01:15:38,800 Ada satu hal di sini di mana kita sudah benar-benar jenis mendapat 1705 01:15:38,800 --> 01:15:42,180 kompleksitas dari yang kita butuhkan. 1706 01:15:42,180 --> 01:15:44,700 Mari lihat. 1707 01:15:44,700 --> 01:15:52,050 Jadi dalam program kelinci kami, jika saya tampilannya sini, 1708 01:15:52,050 --> 01:15:54,980 Aku benar-benar melakukan beberapa hal yang sama Hal berulang-ulang. 1709 01:15:54,980 --> 01:15:59,032 Apa yang harus saya lakukan itu semacam hal yang sama diulang dua kali? 1710 01:15:59,032 --> 01:16:00,310 >> SPEAKER 32: Mencetak titik-titik. 1711 01:16:00,310 --> 01:16:03,526 >> BRIAN SCASSELLATI: Ya Saya mencetak titik-titik dua kali. 1712 01:16:03,526 --> 01:16:05,710 Sungguh, aku harus memiliki komentar ini di sini. 1713 01:16:05,710 --> 01:16:09,037 Saya mencetak beberapa titik di mulai, sampai di sini. 1714 01:16:09,037 --> 01:16:10,620 Dan kemudian saya mencetak beberapa titik di akhir. 1715 01:16:10,620 --> 01:16:14,694 Dan saya lakukan semacam hal yang sama. 1716 01:16:14,694 --> 01:16:17,110 Apa yang kita akan mulai bekerja pada di beberapa minggu ke depan 1717 01:16:17,110 --> 01:16:23,440 adalah mampu mengambil orang-orang blok Kode yang kita gunakan berulang-ulang, 1718 01:16:23,440 --> 01:16:25,800 dan melalui proses disebut abstraksi, 1719 01:16:25,800 --> 01:16:31,100 kita akan menarik mereka keluar dan tulis mereka sekali sehingga kita kemudian dapat 1720 01:16:31,100 --> 01:16:35,130 menggunakan kembali mereka lagi dan lagi. 1721 01:16:35,130 --> 01:16:37,210 Jadi mari kita coba itu. 1722 01:16:37,210 --> 01:16:38,220 Siap? 1723 01:16:38,220 --> 01:16:42,200 >> Kita akan mengambil blok kode. 1724 01:16:42,200 --> 01:16:45,280 Dan aku akan membawanya keluar dari sana. 1725 01:16:45,280 --> 01:16:50,530 Dan aku akan define-- turun di bagian bawah, 1726 01:16:50,530 --> 01:16:53,130 Aku akan menulis fungsi baru. 1727 01:16:53,130 --> 01:16:54,750 Ini tidak akan kembali apa-apa. 1728 01:16:54,750 --> 01:16:58,550 Dan aku akan menyebutnya printDots. 1729 01:16:58,550 --> 01:17:01,530 >> Ini akan mengambil satu argumen, integer yang 1730 01:17:01,530 --> 01:17:04,920 mengatakan howManyDots saya harus mencetak. 1731 01:17:04,920 --> 01:17:09,310 1732 01:17:09,310 --> 01:17:17,720 Dan sekarang bukannya mencetak titik j, aku akan mencetak memberitahu howManyDots saya harus mencetak. 1733 01:17:17,720 --> 01:17:21,581 >> Dan ada satu masalah kecil di sini. 1734 01:17:21,581 --> 01:17:22,580 Siapa tahu apa itu? 1735 01:17:22,580 --> 01:17:27,270 1736 01:17:27,270 --> 01:17:31,505 Apa yang harus saya yang terdaftar di sini yang tidak didefinisikan? 1737 01:17:31,505 --> 01:17:34,165 1738 01:17:34,165 --> 01:17:35,090 >> AUDIENCE: [tidak terdengar] 1739 01:17:35,090 --> 01:17:37,465 >> BRIAN SCASSELLATI: Nah bagaimana banyak titik didefinisikan tepat 1740 01:17:37,465 --> 01:17:40,584 di sini, tapi saya menggunakan variabel i. 1741 01:17:40,584 --> 01:17:43,750 Jadi saya akan mengambil variabel yang saya dan aku akan menentukan itu di sini 1742 01:17:43,750 --> 01:17:44,610 sebagai gantinya. 1743 01:17:44,610 --> 01:17:49,683 >> Jadi sekarang itu akan stay-- oops, mendapat caps lock pada somehow-- Saya 1744 01:17:49,683 --> 01:17:52,060 akan terus saya turun di sini. 1745 01:17:52,060 --> 01:17:57,050 >> Jadi sekarang inilah fungsi kecilku atau sub-rutin, dan ia mengatakan, 1746 01:17:57,050 --> 01:18:00,640 berapa banyak titik-titik yang akan saya cetak? 1747 01:18:00,640 --> 01:18:05,300 Dan itu akan pergi melalui lingkaran ini dan mencetaknya berulang-ulang. 1748 01:18:05,300 --> 01:18:10,940 >> Saya kemudian dapat memodifikasi program saya di sini. 1749 01:18:10,940 --> 01:18:12,540 Dan apa yang saya sebut fungsi itu? 1750 01:18:12,540 --> 01:18:13,960 printDots. 1751 01:18:13,960 --> 01:18:17,060 Jadi saya akan menelepon printDots. 1752 01:18:17,060 --> 01:18:21,530 Berapa banyak titik-titik yang saya ingin mencetak pertama kali sebelum kelinci? 1753 01:18:21,530 --> 01:18:22,030 AUDIENCE: j. 1754 01:18:22,030 --> 01:18:23,230 BRIAN SCASSELLATI: j. 1755 01:18:23,230 --> 01:18:27,110 Berapa banyak titik-titik yang saya ingin mencetak pada akhir, setelah kelinci? 1756 01:18:27,110 --> 01:18:30,610 1757 01:18:30,610 --> 01:18:31,110 10-j. 1758 01:18:31,110 --> 01:18:35,020 1759 01:18:35,020 --> 01:18:38,010 >> Dan ada satu hal yang saya hilang. 1760 01:18:38,010 --> 01:18:43,740 Seperti yang Anda lihat di kuliah ini, kita akan mendeklarasikan printDots 1761 01:18:43,740 --> 01:18:52,430 di atas untuk memberikan prototipe. 1762 01:18:52,430 --> 01:18:56,740 1763 01:18:56,740 --> 01:18:58,220 OKE. 1764 01:18:58,220 --> 01:19:03,530 >> Jadi apa yang saya lakukan adalah saya sudah mencoba untuk mengisolasi yang digunakan kembali bagian dari kode 1765 01:19:03,530 --> 01:19:06,430 bahwa saya telah melakukan berulang-ulang. 1766 01:19:06,430 --> 01:19:11,120 Dan saya sudah mencoba untuk menariknya keluar sehingga semua yang terkandung dalam satu tempat. 1767 01:19:11,120 --> 01:19:16,810 Dengan begitu, jika saya memiliki kesalahan di suatu tempat, Saya hanya perlu memperbaikinya di satu tempat. 1768 01:19:16,810 --> 01:19:17,310 Baiklah. 1769 01:19:17,310 --> 01:19:18,470 >> Jadi mari kita simpan. 1770 01:19:18,470 --> 01:19:20,950 Dan mari kita pastikan bekerja. 1771 01:19:20,950 --> 01:19:22,050 Jadi mari kita pergi keluar. 1772 01:19:22,050 --> 01:19:25,200 Kami akan pergi lagi ke terminal kami. 1773 01:19:25,200 --> 01:19:27,960 Kami akan memperbesar. 1774 01:19:27,960 --> 01:19:31,010 Kami akan membuat proses kelinci. 1775 01:19:31,010 --> 01:19:32,380 >> Oh. 1776 01:19:32,380 --> 01:19:34,800 Dan itu memberi saya peringatan. 1777 01:19:34,800 --> 01:19:37,070 Apa itu memberitahu saya? 1778 01:19:37,070 --> 01:19:39,870 Nah di salah satu dari kali, Anda selalu ingin 1779 01:19:39,870 --> 01:19:44,170 untuk menggulir ke atas ke error-- pertama sekarang yang satu ini, saya hanya punya satu. 1780 01:19:44,170 --> 01:19:52,700 >> Ia memberitahu saya di bunny.c, on line 8, kolom 9, ada masalah. 1781 01:19:52,700 --> 01:19:58,650 Ia mengatakan, Anda telah menyatakan ini variabel i dan Anda belum menggunakannya. 1782 01:19:58,650 --> 01:20:02,230 >> Sekarang biasanya, itu tidak kesalahan terburuk. 1783 01:20:02,230 --> 01:20:04,300 Itu yang mudah untuk memperbaiki. 1784 01:20:04,300 --> 01:20:07,550 Dan pada kenyataannya, kita bisa kembali. 1785 01:20:07,550 --> 01:20:09,910 Kita bisa kembali ke kelinci. 1786 01:20:09,910 --> 01:20:13,010 Dan dalam hal ini, semua kita harus lakukan adalah menyingkirkan saya, 1787 01:20:13,010 --> 01:20:16,630 karena kita tidak menggunakan i dalam utama lagi. 1788 01:20:16,630 --> 01:20:19,860 Kami hanya menggunakannya dalam sub-rutin kami. 1789 01:20:19,860 --> 01:20:22,777 >> Jadi mari kita simpan itu. 1790 01:20:22,777 --> 01:20:23,360 Kami akan kembali. 1791 01:20:23,360 --> 01:20:26,760 1792 01:20:26,760 --> 01:20:28,630 Dan memperbesar. 1793 01:20:28,630 --> 01:20:30,700 Kami akan sekali lagi membuat kelinci. 1794 01:20:30,700 --> 01:20:33,810 1795 01:20:33,810 --> 01:20:36,530 Dan ada lagi yang 10 frame kami. 1796 01:20:36,530 --> 01:20:39,450 1797 01:20:39,450 --> 01:20:41,360 OKE. 1798 01:20:41,360 --> 01:20:43,190 >> Setiap kali Anda diberi sebuah procedure-- Ya. 1799 01:20:43,190 --> 01:20:44,690 SPEAKER 33: Saya memiliki a-- aku bingung. 1800 01:20:44,690 --> 01:20:45,892 Anda dapat kembali ke kode? 1801 01:20:45,892 --> 01:20:46,850 BRIAN SCASSELLATI: Yep. 1802 01:20:46,850 --> 01:20:50,730 1803 01:20:50,730 --> 01:20:54,367 >> SPEAKER 33: Jadi, ketika Anda menulis prototipe Anda, argumen Anda 1804 01:20:54,367 --> 01:20:56,550 telah itu bernama disebut HowMany? 1805 01:20:56,550 --> 01:20:57,540 Tapi, below-- 1806 01:20:57,540 --> 01:20:57,640 >> BRIAN SCASSELLATI: Oh yeah. 1807 01:20:57,640 --> 01:20:59,140 >> SPEAKER 33: --called mereka sesuatu berbeda, saya tidak mengerti. 1808 01:20:59,140 --> 01:21:00,240 >> BRIAN SCASSELLATI: Mengapa mereka berbeda. 1809 01:21:00,240 --> 01:21:01,780 Jadi itu pertanyaan besar. 1810 01:21:01,780 --> 01:21:08,250 Jadi pertanyaannya adalah, naik di sini, saya menulis HowMany, 1811 01:21:08,250 --> 01:21:12,380 dan di bawah, saya menulis howManyDots. 1812 01:21:12,380 --> 01:21:15,590 >> Alasannya adalah bahwa dalam prototipe Anda, itu benar-benar tidak memperhatikan 1813 01:21:15,590 --> 01:21:17,090 untuk nama-nama yang Anda meletakkan di. 1814 01:21:17,090 --> 01:21:20,530 Semua itu benar-benar peduli tentang adalah bahwa hal itu integer. 1815 01:21:20,530 --> 01:21:23,080 Ia ingin tahu bentuk dari apa yang Anda menempatkan di. 1816 01:21:23,080 --> 01:21:31,560 >> Sekarang stylistically-- oops-- apa yang saya harus lakukan, adalah saya ingin membuat pertandingan ini. 1817 01:21:31,560 --> 01:21:33,150 OKE. 1818 01:21:33,150 --> 01:21:36,430 Karena itu akan tetap lebih mudah bagi saya untuk mengingat. 1819 01:21:36,430 --> 01:21:38,390 Tapi itu adalah kesalahan saya Ya. 1820 01:21:38,390 --> 01:21:47,620 >> SPEAKER 34: Dan untuk prototipe untuk bekerja, hanya 1821 01:21:47,620 --> 01:21:50,510 menulis baris itu, menulis prototipe, 1822 01:21:50,510 --> 01:21:53,932 memungkinkan bahwa fungsi yang datang tepat di bawah ini untuk pergi ke akhir 1823 01:21:53,932 --> 01:21:55,140 dan mengambil apa artinya? 1824 01:21:55,140 --> 01:21:58,480 >> BRIAN SCASSELLATI: Apa artinya adalah ketika compiler berjalan melalui, 1825 01:21:58,480 --> 01:22:01,930 ia pergi dari atas kode Anda ke bawah. 1826 01:22:01,930 --> 01:22:05,430 Dan apa prototipe ini, adalah pada dasarnya sebuah janji. 1827 01:22:05,430 --> 01:22:09,570 >> Ia mengatakan, ada akan menjadi fungsi didefinisikan di suatu tempat. 1828 01:22:09,570 --> 01:22:11,880 Ini akan menjadi yang disebut printDots. 1829 01:22:11,880 --> 01:22:15,110 Dan itu akan mengambil satu argumen yang akan menjadi integer 1830 01:22:15,110 --> 01:22:18,590 dan itu akan kembali tidak ada, batal jenis. 1831 01:22:18,590 --> 01:22:19,310 OKE. 1832 01:22:19,310 --> 01:22:22,950 Aku berjanji itu akan menjadi didefinisikan suatu tempat di jalan. 1833 01:22:22,950 --> 01:22:25,590 Tetapi setiap kali Anda melihat itu, semakin ke bawah 1834 01:22:25,590 --> 01:22:28,710 melalui sisa saya Fungsi utama, saya ingin 1835 01:22:28,710 --> 01:22:33,800 Anda memperlakukan bahwa sebagai fungsi yang mengambil satu input integer. 1836 01:22:33,800 --> 01:22:37,970 >> Dan jadi ketika compiler turun melalui ini, ia melihat janji itu. 1837 01:22:37,970 --> 01:22:40,220 Dan ketika itu akan turun, terus terjadi, terus terjadi, 1838 01:22:40,220 --> 01:22:43,060 ia menemukan pertama kalinya printDots disebutkan. 1839 01:22:43,060 --> 01:22:46,910 Dan mengatakan, Oh, Anda memberikan saya j ini. j adalah integer. 1840 01:22:46,910 --> 01:22:49,570 >> Baik Anda berjanji bahwa akan bilangan bulat dan itu benar. 1841 01:22:49,570 --> 01:22:51,370 Tidak apa-apa. 1842 01:22:51,370 --> 01:22:53,880 Dan akhirnya, turun di bagian paling bawah, 1843 01:22:53,880 --> 01:22:58,340 sebelum saya sampai ke akhir saya File, saya membuat baik pada janji saya 1844 01:22:58,340 --> 01:22:59,896 dan saya mendefinisikannya. 1845 01:22:59,896 --> 01:23:01,868 OKE? 1846 01:23:01,868 --> 01:23:06,320 >> SPEAKER 35: Jadi, itu yang saves-- Program akan menghemat ruang kosong 1847 01:23:06,320 --> 01:23:09,570 bahwa itu akan kembali dan mengisi di akhir? 1848 01:23:09,570 --> 01:23:12,140 >> BRIAN SCASSELLATI: Ini tidak tentang alokasi memori. 1849 01:23:12,140 --> 01:23:16,800 Ini sebenarnya hanya tentang apa Jenis yang Anda mengharapkan untuk melihat. 1850 01:23:16,800 --> 01:23:19,340 Harus hal ini memiliki satu argumen, atau lima argumen? 1851 01:23:19,340 --> 01:23:23,590 Harus memilikinya bilangan bulat menjadi diberikan untuk itu, atau string? 1852 01:23:23,590 --> 01:23:25,780 Itu semua itu tampak lakukan adalah untuk memeriksa, 1853 01:23:25,780 --> 01:23:29,303 yang Anda memberi saya yang tepat argumen. 1854 01:23:29,303 --> 01:23:31,560 OKE? 1855 01:23:31,560 --> 01:23:32,300 Baiklah. 1856 01:23:32,300 --> 01:23:38,570 >> Mari saya meninggalkan Anda dengan satu bit lain untuk melihat. 1857 01:23:38,570 --> 01:23:44,850 Seni ASCII tidak model besar animasi seperti saat ini. 1858 01:23:44,850 --> 01:23:50,850 Tetapi beberapa orang tentu saja mengambil hal-hal dan mereka mendorong ke ekstrem mereka. 1859 01:23:50,850 --> 01:23:56,790 >> Hal ini, seperti yang ditunjukkan David dalam kuliah, sepotong kode 1860 01:23:56,790 --> 01:24:02,150 bahwa Anda harus dalam keadaan mencoba untuk menduplikasi diri. 1861 01:24:02,150 --> 01:24:05,260 Karena itu mengerikan Gaya. 1862 01:24:05,260 --> 01:24:11,180 Bahkan, ia dirancang untuk menjadi seperti sesulit mungkin untuk membaca. 1863 01:24:11,180 --> 01:24:11,680 OKE. 1864 01:24:11,680 --> 01:24:16,210 >> Jadi, untuk melakukan lagi, mari kita memperbesar sini. 1865 01:24:16,210 --> 01:24:20,120 Aku akan pergi sekarang, direktori perubahan. 1866 01:24:20,120 --> 01:24:24,050 Aku akan naik satu tingkat, kembali ke ruang kerja saya. 1867 01:24:24,050 --> 01:24:29,760 Saya kemudian akan mengubah direktori ke ini direktori lain yang saya buat. 1868 01:24:29,760 --> 01:24:36,190 >> Dan ini adalah International Dikaburkan C Programming Contest. 1869 01:24:36,190 --> 01:24:40,650 Cara dikaburkan sekeras mungkin untuk memahami. 1870 01:24:40,650 --> 01:24:44,150 Jadi tolong, jangan takut jika Anda melihat ini dan pergi, saya tidak bisa membaca itu. 1871 01:24:44,150 --> 01:24:46,350 Itulah titik itu. 1872 01:24:46,350 --> 01:24:47,700 OKE? 1873 01:24:47,700 --> 01:24:52,770 >> Tapi, kita harus ini Program indah bahwa aku 1874 01:24:52,770 --> 01:24:57,180 akan melihat dengan hanya mengetik lebih. 1875 01:24:57,180 --> 01:25:01,890 Dan mari kita lihat apakah saya bisa zoom out hanya sedikit, sehingga Anda dapat melihatnya 1876 01:25:01,890 --> 01:25:03,940 >> Dan ini adalah program. 1877 01:25:03,940 --> 01:25:08,080 Itu bernama endo.c. 1878 01:25:08,080 --> 01:25:14,850 Dan sepertinya ember ini dengan jenis huruf F-L-U-I-D di dalamnya. 1879 01:25:14,850 --> 01:25:16,440 >> Ini sebenarnya sebuah program. 1880 01:25:16,440 --> 01:25:20,260 Ini ditulis dalam paling jelas cara yang penulis mungkin bisa 1881 01:25:20,260 --> 01:25:21,760 menulis itu. 1882 01:25:21,760 --> 01:25:29,210 Tapi itu sepotong kecil yang indah yang menghasilkan model dinamika fluida. 1883 01:25:29,210 --> 01:25:34,870 >> Dan jadi kita akan memberikan bahwa model input yang 1884 01:25:34,870 --> 01:25:42,520 terlihat seperti ini, dari staired set kontainer 1885 01:25:42,520 --> 01:25:45,820 dengan beberapa cairan, beberapa cair, di bagian atas. 1886 01:25:45,820 --> 01:25:48,790 Dan kita akan memilikinya mensimulasikan apa yang terjadi untuk itu. 1887 01:25:48,790 --> 01:25:52,415 >> Jadi saya akan memanggil fungsi itu, endo. 1888 01:25:52,415 --> 01:25:59,000 Dan saya akan memberikan yang masukan file yang aku punya. 1889 01:25:59,000 --> 01:26:02,830 Dan ada lambang kami seni ASCII. 1890 01:26:02,830 --> 01:26:08,960 Sebuah simulator dinamis cairan penuh berjalan hanya dalam beberapa baris kode. 1891 01:26:08,960 --> 01:26:13,750 >> Sekarang apa sebenarnya sangat menakjubkan tentang program kecil ini 1892 01:26:13,750 --> 01:26:17,280 adalah bahwa saya ingin berhenti sekarang, jadi saya akan menggunakan perintah apa? 1893 01:26:17,280 --> 01:26:18,660 >> AUDIENCE: Control-C. 1894 01:26:18,660 --> 01:26:20,390 >> BRIAN SCASSELLATI: Control-C. OKE. 1895 01:26:20,390 --> 01:26:22,960 Jadi saya akan menggunakan Control-C. C itu akan menghentikannya. 1896 01:26:22,960 --> 01:26:25,330 Aku akan membersihkan lagi. 1897 01:26:25,330 --> 01:26:31,210 Dan sekarang aku akan memanggil Program, mengeksekusi program, 1898 01:26:31,210 --> 01:26:33,740 menggunakan dirinya sebagai masukan. 1899 01:26:33,740 --> 01:26:36,760 1900 01:26:36,760 --> 01:26:42,700 >> Dan kita akan melihat dinamika fluida simulasi itu mencair. 1901 01:26:42,700 --> 01:26:43,830 OKE. 1902 01:26:43,830 --> 01:26:48,180 Jangan biarkan program yang menjadi hal yang membingungkan Anda. 1903 01:26:48,180 --> 01:26:52,220 Ini hanya agar kita dapat berakhir pada sesuatu yang keren dan menarik. 1904 01:26:52,220 --> 01:26:53,930 OKE. 1905 01:26:53,930 --> 01:26:56,330 >> Terbaik keberuntungan dengan set masalah Anda. 1906 01:26:56,330 --> 01:26:59,030 Kami akan dengan senang hati menjawab pertanyaan setelah kelas. 1907 01:26:59,030 --> 01:27:01,180 Terima kasih banyak, guys. 1908 01:27:01,180 --> 01:27:02,793