1 00:00:00,000 --> 00:00:11,952 2 00:00:11,952 --> 00:00:13,800 >> DAVID J. MALAN: Jadi ini adalah CS50. 3 00:00:13,800 --> 00:00:18,970 Dan ini adalah CS50 sendiri Colton Ogden, lebih daripada siapa yang muzik yang anda boleh 4 00:00:18,970 --> 00:00:22,820 memuat turun sekurang-soundcloud.com/cs50. 5 00:00:22,820 --> 00:00:26,690 >> Jadi hari ini kita memberi tumpuan lebih-lebih pada seni pengaturcaraan. 6 00:00:26,690 --> 00:00:28,980 Dan kita mengambil di mana kita tinggal off minggu lepas, memberi tumpuan 7 00:00:28,980 --> 00:00:31,660 pada Scratch, yang ini bahasa pengaturcaraan grafik. 8 00:00:31,660 --> 00:00:35,490 Dan mengambil perkara-perkara ke tahap yang lebih rendah, menggunakan pengaturcaraan yang lebih tradisional 9 00:00:35,490 --> 00:00:38,420 bahasa yang dikenali sebagai C. Tetapi sepanjang jalan, menyedari 10 00:00:38,420 --> 00:00:40,730 bahawa idea-idea yang sama kita bercakap tentang Jumaat lepas 11 00:00:40,730 --> 00:00:44,390 akan berulang bukan sahaja di ini bahasa C, tetapi dalam kebanyakan setiap lain 12 00:00:44,390 --> 00:00:46,350 yang kita lihat pada semester ini. 13 00:00:46,350 --> 00:00:50,247 >> Oleh itu, kita dipanggil perkara ini di sini apa yang masa lalu? 14 00:00:50,247 --> 00:00:51,830 Ini mewakili satu kenyataan. 15 00:00:51,830 --> 00:00:53,080 Oleh itu, kita dipanggil ini satu kenyataan. 16 00:00:53,080 --> 00:00:54,100 Dan ia sesuatu. 17 00:00:54,100 --> 00:00:56,910 Ia arahan bahawa komputer atau Scratch mungkin melaksanakan. 18 00:00:56,910 --> 00:00:59,910 Dan seterusnya, mari kita juga mula memanggil sesuatu seperti ini fungsi, 19 00:00:59,910 --> 00:01:02,070 atas sebab-sebab tidak lama lagi kita akan melihat. 20 00:01:02,070 --> 00:01:03,681 >> Sementara itu, kami nampak perkara-perkara seperti ini. 21 00:01:03,681 --> 00:01:05,680 Dan ini secara umumnya dikenali sebagai apa yang membina? 22 00:01:05,680 --> 00:01:06,240 >> PENONTON: Loop. 23 00:01:06,240 --> 00:01:06,860 >> DAVID J. MALAN: Jadi gelung. 24 00:01:06,860 --> 00:01:07,943 Jadi cukup mudah. 25 00:01:07,943 --> 00:01:09,470 Ia benar-benar melakukan apa yang ia berkata. 26 00:01:09,470 --> 00:01:12,210 Dan dalam Scratch, jika anda mahu menjejalkan lebih kepingan teka-teki di sana, 27 00:01:12,210 --> 00:01:13,950 sekeping akan berkembang untuk memuatkannya. 28 00:01:13,950 --> 00:01:16,790 Dan kita akan lihat dalam C yang kita boleh melakukan perkara yang sama. 29 00:01:16,790 --> 00:01:20,000 >> Satu lagi jenis gelung, walaupun, dalam Scratch mungkin selama-lamanya, 30 00:01:20,000 --> 00:01:21,820 atau ada apa-apa bilangan pendekatan lain. 31 00:01:21,820 --> 00:01:24,150 Tetapi mari kita lebih rupa generalist, dengan muka yang 32 00:01:24,150 --> 00:01:27,402 itu mungkin agak biasa, di gelung amnya. 33 00:01:27,402 --> 00:01:29,110 Mark Zuckerberg: Satu perkara yang komputer 34 00:01:29,110 --> 00:01:31,860 adalah benar-benar pandai adalah mengulangi arahan. 35 00:01:31,860 --> 00:01:33,910 Seperti seseorang, anda akan mendapat benar-benar bosan jika anda 36 00:01:33,910 --> 00:01:36,730 terpaksa melakukan perkara yang sama banyak kali berturut-turut. 37 00:01:36,730 --> 00:01:40,530 Tetapi komputer boleh melakukan perkara yang sama berjuta-juta atau malah berbilion-bilion kali, 38 00:01:40,530 --> 00:01:43,290 dan tidak bosan, dan dapat untuk membawa keluar yang benar-benar baik. 39 00:01:43,290 --> 00:01:45,650 >> Sebagai contoh, jika saya mahu mengucapkan 40 00:01:45,650 --> 00:01:48,840 di Facebook hari jadi gembira dengan menghantar e-mel, 41 00:01:48,840 --> 00:01:51,550 ia mungkin mengambil masa saya lebih daripada satu abad untuk benar-benar menulis 42 00:01:51,550 --> 00:01:53,000 semua orang-orang e-mel kepada semua orang. 43 00:01:53,000 --> 00:01:57,780 Tetapi dengan hanya beberapa baris kod, saya boleh mempunyai sistem yang menghantar e-mel kepada semua orang 44 00:01:57,780 --> 00:01:59,930 di Facebook yang ingin mereka selamat ulang tahun. 45 00:01:59,930 --> 00:02:02,730 Jadi itulah yang gelung dan kenapa mereka berharga dan sesuatu 46 00:02:02,730 --> 00:02:04,740 bahawa komputer boleh lakukan dengan baik. 47 00:02:04,740 --> 00:02:05,630 >> DAVID J. MALAN: Jadi, jika anda telah penerima 48 00:02:05,630 --> 00:02:07,820 beberapa CS50 ini dan Ruang Dropbox ini lewat, 49 00:02:07,820 --> 00:02:10,590 yang sebenarnya dengan tepat apa yang kita lakukan, menggunakan kod yang seperti itu. 50 00:02:10,590 --> 00:02:12,600 Kami pada dasarnya mempunyai besar spreadsheet ke dalam mana 51 00:02:12,600 --> 00:02:15,016 orang telah memasukkan mereka nama dan alamat e-mel. 52 00:02:15,016 --> 00:02:18,160 Dan kita telah menulis sedikit kecil kod yang boleh iterate ke atas alamat 53 00:02:18,160 --> 00:02:21,860 dan meludah keluar alamat unik kes sesiapa dikemukakan beberapa kali. 54 00:02:21,860 --> 00:02:25,120 Dan selepas itu, kami menghantar e-mel automatik dari bot CS50 ini, 55 00:02:25,120 --> 00:02:27,190 termasuk kod kupon. 56 00:02:27,190 --> 00:02:29,290 >> Sekarang kita juga melihat ini membina masa lalu. 57 00:02:29,290 --> 00:02:33,100 Dan ini adalah tertentu contoh apa? 58 00:02:33,100 --> 00:02:35,050 Jadi, ya, satu ungkapan Boolean. 59 00:02:35,050 --> 00:02:37,050 Dan bentuk yang dimaksudkan untuk menangkap itu juga. 60 00:02:37,050 --> 00:02:39,966 Semua soalan-soalan daripada membentuk benar atau palsu dalam Scratch 61 00:02:39,966 --> 00:02:41,590 akan melihat sesuatu yang kecil seperti ini. 62 00:02:41,590 --> 00:02:43,200 Dan kita panggil ini ungkapan Boolean. 63 00:02:43,200 --> 00:02:46,170 Itu memang benar atau palsu, ya atau tidak. 64 00:02:46,170 --> 00:02:49,150 Ia adalah satu cara untuk menjawab soalan. 65 00:02:49,150 --> 00:02:52,420 >> Dan Sementara itu anda boleh menggunakan Boolean ini ungkapan di dalam membina 66 00:02:52,420 --> 00:02:54,720 seperti ini, yang mana satu kursus adalah syarat-syarat 67 00:02:54,720 --> 00:02:57,259 atau cawangan, pepatah garpu di jalan raya. 68 00:02:57,259 --> 00:02:59,550 Dan mereka boleh melihat bukan sahaja seperti ini, tetapi mereka juga boleh 69 00:02:59,550 --> 00:03:02,080 telah elses berkaitan dengan mereka. 70 00:03:02,080 --> 00:03:05,820 Dan anda sebenarnya boleh mempunyai cara yang tiga garpu di jalan atau empat cara garpu 71 00:03:05,820 --> 00:03:08,340 di jalan, hanya dengan bersarang perkara-perkara ini, 72 00:03:08,340 --> 00:03:10,510 kerana anda akan melihat dalam Scratch jika anda tidak sudah. 73 00:03:10,510 --> 00:03:13,550 Dan seperti yang anda boleh lakukan dalam C juga. 74 00:03:13,550 --> 00:03:16,810 >> Mari kita generalist lain melihat alumnist satu, juga, yang 75 00:03:16,810 --> 00:03:21,490 mungkin membentangkan pendekatan yang berbeza kepada perkara-perkara ini dipanggil keadaan. 76 00:03:21,490 --> 00:03:24,060 >> RANG UNDANG-UNDANG PINTU: Orang membuat keputusan setiap hari. 77 00:03:24,060 --> 00:03:27,530 Sebagai contoh, sebelum anda pergi ke luar anda jenis mempunyai jika kenyataan yang mengatakan, 78 00:03:27,530 --> 00:03:31,480 jika hari hujan maka saya perlu mendapatkan jaket saya. 79 00:03:31,480 --> 00:03:36,820 Dan komputer yang luar biasa apabila anda memutuskan orang-orang jenis kenyataan, 80 00:03:36,820 --> 00:03:42,280 bahawa mereka pasti boleh melaksanakan perkara-perkara pada kelajuan luar biasa. 81 00:03:42,280 --> 00:03:48,240 Dan program komputer benar-benar adalah sedikit matematik dan beberapa 82 00:03:48,240 --> 00:03:53,050 jika kenyataan di mana mendapat keputusan dibuat. 83 00:03:53,050 --> 00:03:55,020 >> DAVID J. MALAN: Jadi sebagai yang anda tahu, ia adalah 84 00:03:55,020 --> 00:03:57,880 orang seperti Bill Gates, Paul Allen, dan lain-lain 85 00:03:57,880 --> 00:04:00,240 yang benar-benar bermula di yang dikenali sebagai komputer peribadi 86 00:04:00,240 --> 00:04:01,990 revolusi beberapa tahun lalu. 87 00:04:01,990 --> 00:04:04,140 Saya fikir, sebelum kita menyelam ke dalam beberapa administrivia, 88 00:04:04,140 --> 00:04:09,920 kita akan mengaitkan cerita yang dari Albuquerque, New Mexico Muzium Sejarah Semula Jadi 89 00:04:09,920 --> 00:04:13,650 dan sains di mana sebahagian daripada Bill Gates dan cerita-cerita yang paling awal Paul Allen 90 00:04:13,650 --> 00:04:17,470 diceritakan bagaimana kita ada sekarang PC hari ini dan Mac dan banyak lagi. 91 00:04:17,470 --> 00:04:22,390 Untuk ini, walaupun, kita perlu dua sukarelawan yang mempunyai suara riwayat yang sangat baik 92 00:04:22,390 --> 00:04:23,735 untuk membaca skrip yang kuat. 93 00:04:23,735 --> 00:04:25,530 >> Baiklah, bagaimana pula di belakang sana. 94 00:04:25,530 --> 00:04:26,120 Marilah naik. 95 00:04:26,120 --> 00:04:27,770 Dan bagaimana pula di hadapan di sini. 96 00:04:27,770 --> 00:04:28,340 Ayuh ke bawah. 97 00:04:28,340 --> 00:04:29,600 Mengambil tempat anda di sini. 98 00:04:29,600 --> 00:04:32,444 Seperti yang anda semua datang, pasangan pengumuman pentadbiran. 99 00:04:32,444 --> 00:04:34,360 sectioning, proses memilih seksyen, 100 00:04:34,360 --> 00:04:36,068 akan mula ini Rabu hingga Jumaat. 101 00:04:36,068 --> 00:04:38,400 Lebih kepada yang akan datang Rabu di kuliah. 102 00:04:38,400 --> 00:04:41,770 >> Bahagian Super, sementara itu, adalah sesuatu yang kami tawarkan minggu depan 103 00:04:41,770 --> 00:04:45,310 di mana seluruh kelas dijemput untuk mengambil bahagian dalam skala yang agak besar 104 00:04:45,310 --> 00:04:47,690 bahagian, satu lagi selesa, satu kurang selesa. 105 00:04:47,690 --> 00:04:51,340 Dan kami akan mengumumkan butir-butir yang itu, juga, pada minggu ini. 106 00:04:51,340 --> 00:04:53,310 >> Bahagian Sementara itu, diri mereka sendiri, akan mula 107 00:04:53,310 --> 00:04:57,241 pada minggu tiga kursus ini, indeks sifar, yang bermaksud mereka adalah beberapa minggu 108 00:04:57,241 --> 00:04:57,740 keluar. 109 00:04:57,740 --> 00:04:58,450 Jadi tidak perlu bimbang. 110 00:04:58,450 --> 00:05:01,014 Anda belum terlepas apa-apa sepanjang garis. 111 00:05:01,014 --> 00:05:03,930 Sementara itu dalam masa yang sama, jika anda mempunyai sebarang pertanyaan pentadbiran, 112 00:05:03,930 --> 00:05:08,120 e-mel kepada diri saya sendiri dan Devon dan Gabe dan Rob di alamat ini di sini. 113 00:05:08,120 --> 00:05:10,320 >> Akhir sekali, masalah yang dinyatakan 0 adalah, sudah tentu, keluar. 114 00:05:10,320 --> 00:05:12,320 Anda mungkin sedar ia di laman web kursus ini. 115 00:05:12,320 --> 00:05:14,840 Ia harus menyediakan anda dengan semua jawapan kepada soalan-soalan 116 00:05:14,840 --> 00:05:18,250 anda mungkin ada di sepanjang jalan untuk bermula dengan masalah yang ditetapkan. 117 00:05:18,250 --> 00:05:21,430 Tetapi jika anda mendapati diri anda memerlukan bantuan, 118 00:05:21,430 --> 00:05:25,020 dengan segala cara menghadiri waktu pejabat, Isnin, Selasa, Rabu, Khamis 119 00:05:25,020 --> 00:05:27,290 minggu ini di sebelah petang dalam empat dewan makan. 120 00:05:27,290 --> 00:05:31,650 Lihat URL yang ada untuk butir-butir di mana waktu pejabat hendaklah. 121 00:05:31,650 --> 00:05:34,000 >> Sekarang Mari kita bertemu kami dua orang tetamu di sini hari ini. 122 00:05:34,000 --> 00:05:34,740 Apa nama anda? 123 00:05:34,740 --> 00:05:35,290 >> JAY PAUL: Jay Paul. 124 00:05:35,290 --> 00:05:36,880 >> DAVID J. MALAN: Jay Paul, baik untuk bertemu dengan kamu. 125 00:05:36,880 --> 00:05:37,330 >> Hikari: Hikari. 126 00:05:37,330 --> 00:05:37,975 >> DAVID J. MALAN: Hikari? 127 00:05:37,975 --> 00:05:38,250 >> Hikari: Hikari. 128 00:05:38,250 --> 00:05:38,810 >> DAVID J. MALAN: Hikari. 129 00:05:38,810 --> 00:05:39,790 Nice untuk bertemu dengan kamu juga. 130 00:05:39,790 --> 00:05:42,123 Jay Paul dan Hikari ada dalam hadapan mereka pada muzik ini 131 00:05:42,123 --> 00:05:45,100 berdiri dua skrip yang saya dicetak keluar pagi ini dari New Mexico 132 00:05:45,100 --> 00:05:46,692 Muzium Sejarah Semula Jadi dan Sains. 133 00:05:46,692 --> 00:05:48,400 Dan apa yang saya fikir Saya lakukan pada overhed 134 00:05:48,400 --> 00:05:52,830 adalah mengiringi bacaan anda daripada skrip dan sejarah ini 135 00:05:52,830 --> 00:05:54,700 dengan sesetengah imej visual, tiada kejutan. 136 00:05:54,700 --> 00:05:57,512 >> Dan apa yang saya lakukan terlebih dahulu adalah prehighlight pada skrip anda 137 00:05:57,512 --> 00:05:59,470 apa yang anda perlu membaca, dan apa yang perlu dibaca. 138 00:05:59,470 --> 00:06:00,920 Dan kita akan dasarnya perenggan hanya alternatif. 139 00:06:00,920 --> 00:06:03,211 Jadi ia sama seperti anda mungkin telah dilakukan di dalam kelas bahasa Inggeris. 140 00:06:03,211 --> 00:06:06,875 Itu benar-benar memaksa penonton mempercayai cerita anda di sini. 141 00:06:06,875 --> 00:06:07,600 Hendaklah kita? 142 00:06:07,600 --> 00:06:13,272 Jadi cerita di sini adalah, kita mempunyai BASIC, dan ia bermula di Cambridge. 143 00:06:13,272 --> 00:06:18,750 >> JAY PAUL: Ia adalah musim sejuk, 1974, di Cambridge, Massachusetts 144 00:06:18,750 --> 00:06:20,240 di mana musim sejuk boleh menjadi sejuk. 145 00:06:20,240 --> 00:06:22,800 A berjanggut, berambut panjang keciciran kolej bernama 146 00:06:22,800 --> 00:06:27,280 Paul Allen telah drudging di Harvard Square, diserap dalam fikirannya. 147 00:06:27,280 --> 00:06:31,050 Keasyikan utama beliau pada hari-hari ialah bagaimana untuk mendapatkan kawannya, Bill Gates, 148 00:06:31,050 --> 00:06:34,974 untuk berhenti sekolah dan pergi ke dalam perniagaan dengan dia. 149 00:06:34,974 --> 00:06:37,890 Hikari: Dua sudah pergi melalui beberapa usaha perniagaan 150 00:06:37,890 --> 00:06:40,850 bersama-sama, bermula di Lakeside sekolah di Seattle di mana 151 00:06:40,850 --> 00:06:45,220 mereka dibayar dalam masa komputer bebas untuk menguji komputer PDP-10 pada satu masa tempatan 152 00:06:45,220 --> 00:06:46,580 syarikat perkongsian. 153 00:06:46,580 --> 00:06:50,930 Pelan yang paling baru-baru ini telah berhenti sekolah dan membentuk sebuah syarikat perisian. 154 00:06:50,930 --> 00:06:53,440 Allen telah meninggalkan Washington State University. 155 00:06:53,440 --> 00:06:58,380 Tetapi pada saat-saat akhir, Gates memutuskan untuk melekat dengan Harvard. 156 00:06:58,380 --> 00:07:02,080 >> JAY PAUL: Hari itu, menyeberangi Harvard Square, Allen dikesan Januari, 157 00:07:02,080 --> 00:07:07,530 1975 isu Popular Elektronik dengan tajuk bumi berhenti, 158 00:07:07,530 --> 00:07:11,900 Pertama Komputer mini Kit dunia untuk menyaingi Model Komersial. 159 00:07:11,900 --> 00:07:14,430 Di bawah tajuk utama adalah gambar kotak kecil 160 00:07:14,430 --> 00:07:16,160 dihiasi dengan lampu dan suis. 161 00:07:16,160 --> 00:07:19,770 Ia dipanggil MITS Altair 8800. 162 00:07:19,770 --> 00:07:24,100 Dan Allen tahu ini adalah apa yang beliau telah cari. 163 00:07:24,100 --> 00:07:26,350 >> Hikari: Hari di dalam perbincangan diikuti. 164 00:07:26,350 --> 00:07:30,170 Allen dan Gates memahami kepentingan Altair. 165 00:07:30,170 --> 00:07:32,480 Mereka telah bercakap sering mengenai mikropemproses 166 00:07:32,480 --> 00:07:35,250 dan menunggu untuk melihat apa yang akan dilakukan dengan mereka. 167 00:07:35,250 --> 00:07:39,770 Sekarang terdapat kit minicomputer pada sampul Elektronik Popular. 168 00:07:39,770 --> 00:07:42,830 Ia nampaknya tidak mempunyai perisian lagi. 169 00:07:42,830 --> 00:07:46,830 Mereka membayangkan sebuah negara yang pengaturcara turun di MITS. 170 00:07:46,830 --> 00:07:49,590 Dan mereka yang dipanggil Ed Roberts, ketua syarikat, 171 00:07:49,590 --> 00:07:53,330 mendakwa mempunyai versi yang Bahasa pengaturcaraan BASIC hampir siap 172 00:07:53,330 --> 00:07:54,710 untuk Altair. 173 00:07:54,710 --> 00:07:55,570 Mereka tidak. 174 00:07:55,570 --> 00:07:58,910 Dan Roberts mesti tahu mereka tidak. 175 00:07:58,910 --> 00:08:03,170 Beliau mendapat 10 panggilan sehari dari orang yang mempunyai ASAS yang hampir siap. 176 00:08:03,170 --> 00:08:05,570 Dan jawapan stok adalah, "Orang yang pertama 177 00:08:05,570 --> 00:08:11,090 yang menunjukkan dengan kerja yang ASAS mendapat kontrak. " 178 00:08:11,090 --> 00:08:13,910 >> JAY PAUL: Gates dan Allen tidak pernah menyaksikan Altair. 179 00:08:13,910 --> 00:08:17,600 Mereka tidak pernah melihat Intel 8080 mikropemproses 180 00:08:17,600 --> 00:08:19,060 di tengah-tengah Altair. 181 00:08:19,060 --> 00:08:21,470 Tetapi beberapa tahun sebelum ini Allen telah menulis satu program yang 182 00:08:21,470 --> 00:08:25,220 pada komputer kerangka utama yang dicontohi operasi yang Intel sebelumnya 183 00:08:25,220 --> 00:08:26,217 mikropemproses. 184 00:08:26,217 --> 00:08:28,300 Dan kali ini mereka akan melakukan perkara yang sama. 185 00:08:28,300 --> 00:08:31,530 186 00:08:31,530 --> 00:08:34,380 >> Hikari: Dengan Intel 8080 manual di sisinya, 187 00:08:34,380 --> 00:08:37,770 Allen duduk di Komputer Harvard PDP-10 188 00:08:37,770 --> 00:08:42,010 dan menulis emulator dan perisian alat yang diperlukan untuk melakukan pengaturcaraan. 189 00:08:42,010 --> 00:08:45,820 Sementara itu Gates berhenti pergi untuk kelas dan menumpukan dirinya 190 00:08:45,820 --> 00:08:48,120 untuk mereka bentuk BASIC, menggunakan setiap helah 191 00:08:48,120 --> 00:08:53,130 dia tahu untuk mendapatkan saiz turun di bawah 4 kilobait. 192 00:08:53,130 --> 00:08:55,870 >> JAY PAUL: Out di Albuquerque, Ed Roberts mendapat panggilan daripada Gates 193 00:08:55,870 --> 00:08:59,754 meminta butiran mengenai bagaimana Altair mengendalikan rutin tertentu. 194 00:08:59,754 --> 00:09:01,170 Tiada siapa yang pernah meminta sebelum. 195 00:09:01,170 --> 00:09:02,670 Dan Roberts mula mendapat berminat. 196 00:09:02,670 --> 00:09:05,240 197 00:09:05,240 --> 00:09:07,970 >> Hikari: Dengan pembangunan alat dan reka bentuk siap, 198 00:09:07,970 --> 00:09:10,780 Gates dan Allen menulis kod pada PDP-10, 199 00:09:10,780 --> 00:09:16,060 mendaftar pelajar Harvard yang lain, Monte Davidoff, untuk menulis rutin matematik. 200 00:09:16,060 --> 00:09:19,450 Selepas malam yang akhir pengaturcaraan, Allen menaiki kapal terbang 201 00:09:19,450 --> 00:09:22,970 untuk menyampaikan ASAS untuk MITS. 202 00:09:22,970 --> 00:09:25,800 Beliau menghabiskan pesawat mengharungi membimbangkan. 203 00:09:25,800 --> 00:09:28,490 Dan kembali di Cambridge Gates telah membimbangkan. 204 00:09:28,490 --> 00:09:32,100 Mereka telah diuji dan ASAS ia telah bekerja pada emulator. 205 00:09:32,100 --> 00:09:35,444 Tetapi bagaimana jika emulator itu salah? 206 00:09:35,444 --> 00:09:37,360 JAY PAUL: Sebagai pesawat mendekati Albuquerque, 207 00:09:37,360 --> 00:09:40,070 Allen menyedari bahawa mereka BASIC, kini kemas terkandung 208 00:09:40,070 --> 00:09:42,460 pada roll kecil menumbuk pita kertas, akan 209 00:09:42,460 --> 00:09:44,970 tidak berguna tanpa yang berasingan program, yang disebut loader, bahawa 210 00:09:44,970 --> 00:09:47,550 akan memberitahu bagaimana Altair membaca makhluk pita kertas 211 00:09:47,550 --> 00:09:49,620 dimasukkan ke dalam mesin teletaip itu. 212 00:09:49,620 --> 00:09:52,970 Dia mengeluarkan buku nota dan cepat menulis sesuatu ke bawah program loader 213 00:09:52,970 --> 00:09:56,819 dalam bahasa Assembly, maka secara manual yang diterjemahkan ke dalam 1s dan 0-an 214 00:09:56,819 --> 00:09:57,985 Altair akan memahami. 215 00:09:57,985 --> 00:10:00,530 216 00:10:00,530 --> 00:10:03,830 >> Hikari: Allen menjangkakan bersih, kecil, syarikat berteknologi tinggi 217 00:10:03,830 --> 00:10:05,470 dikendalikan oleh lelaki dalam saman perniagaan. 218 00:10:05,470 --> 00:10:09,210 Jadi dia terkejut apabila Roberts bertemu beliau di lapangan terbang kelihatan seperti ladang yang 219 00:10:09,210 --> 00:10:10,270 tangan. 220 00:10:10,270 --> 00:10:12,070 Roberts juga terkejut. 221 00:10:12,070 --> 00:10:16,340 Apabila dia menjatuhkan Harvard programmer di sebuah hotel mahal, 222 00:10:16,340 --> 00:10:20,790 Allen terpaksa mengaku bahawa dia tidak mampu bilik. 223 00:10:20,790 --> 00:10:24,510 >> JAY PAUL: MITS, sendiri, adalah terletak di sebuah pusat membeli-belah jalur berdebu. 224 00:10:24,510 --> 00:10:27,040 Di dalam pada berantakan bangku kerja adalah Altair 225 00:10:27,040 --> 00:10:30,390 dimuatkan dengan 5 kilobait daripada memori dan dihubungkan dengan kabel 226 00:10:30,390 --> 00:10:32,030 untuk mesin teletaip. 227 00:10:32,030 --> 00:10:37,200 Roberts dan Ketua Jurutera, Rang Undang-Undang Yates, menunggu expectantly 228 00:10:37,200 --> 00:10:40,660 sebagai Allen ditoggel loader beliau program ke dalam Altair. 229 00:10:40,660 --> 00:10:44,980 Teletaip mula chugging kerana ia ditarik pita kertas melalui pembaca pita. 230 00:10:44,980 --> 00:10:47,215 Ia mengambil masa mungkin 15 minit untuk memuatkan program ini. 231 00:10:47,215 --> 00:10:52,110 Kemudian tiba-tiba teletaip yang dicetak memori yang segera, maka segera bersedia, 232 00:10:52,110 --> 00:10:55,340 dan Allen mula menaip ujian beberapa arahan. 233 00:10:55,340 --> 00:10:57,400 Untuk kekaguman semua orang, perisian bekerja. 234 00:10:57,400 --> 00:10:58,525 Terdapat pepijat, sudah tentu. 235 00:10:58,525 --> 00:11:02,070 Tetapi perkara utama ialah ia bekerja. 236 00:11:02,070 --> 00:11:06,570 >> Hikari: Kemudian, dalam perjalanan ke sebuah $ 3,00 makan tengah hari di ini Pancho, tawon yang terbang 237 00:11:06,570 --> 00:11:10,470 di tetingkap pickup trak dan disengat Allen pada lengan. 238 00:11:10,470 --> 00:11:13,070 Tetapi pada apa-apa yang mata boleh merosakkan mood. 239 00:11:13,070 --> 00:11:17,210 Yang kini mempunyai Altair BASIC, maka perisian komersil yang pertama untuk rumah 240 00:11:17,210 --> 00:11:23,260 komputer, yang dibuat oleh Paul Allen dan Bill Gates, melakukan perniagaan Microsoft. 241 00:11:23,260 --> 00:11:25,336 >> DAVID J. MALAN: Ramai terima kasih kepada kedua-dua pembaca kami. 242 00:11:25,336 --> 00:11:30,690 >> [Tepuk tangan] 243 00:11:30,690 --> 00:11:32,520 >> DAVID J. MALAN: Sekarang anda mempunyai pilihan anda, 244 00:11:32,520 --> 00:11:35,880 sebelum anda meninggalkan, sesuatu sparkly atau cahaya dalam dark-- oh, 245 00:11:35,880 --> 00:11:40,810 tunggu satu saat, wait-- sparkly dan cahaya di gajah gelap 246 00:11:40,810 --> 00:11:42,534 dari CS50 sendiri Cheng Gong. 247 00:11:42,534 --> 00:11:43,450 Hikari: Aw, terima kasih. 248 00:11:43,450 --> 00:11:45,324 DAVID J. MALAN: Semua betul, terima kasih banyak. 249 00:11:45,324 --> 00:11:49,855 [Tepuk tangan] 250 00:11:49,855 --> 00:11:51,105 DAVID J. MALAN: cerita itu benar. 251 00:11:51,105 --> 00:11:54,380 Ini adalah untuk mengatakan bahawa semua ini Mesin-mesin dan mudahnya kita 252 00:11:54,380 --> 00:11:56,270 menggunakannya sekarang dan mengambil untuk diberikan, benar-benar 253 00:11:56,270 --> 00:12:00,070 bermula di sini, hanya beberapa langkah dari teater sebenar ini. 254 00:12:00,070 --> 00:12:03,930 Dan kini hari ini, jika anda tidak, ini adalah Maxwell Dworkin, komputer 255 00:12:03,930 --> 00:12:05,810 bangunan sains, juga sekitar sudut. 256 00:12:05,810 --> 00:12:09,760 Dan di tingkat kedua ini bangunan tidak menggantung tiga halaman 257 00:12:09,760 --> 00:12:12,740 dari kod sumber asal yang Bill Gates dan Paul Allen menulis. 258 00:12:12,740 --> 00:12:14,770 Malah, jika anda menggunakan zum dalam anda boleh melihat bukan sahaja 259 00:12:14,770 --> 00:12:17,350 nama-nama mereka dalam Jenis asal, tetapi juga 260 00:12:17,350 --> 00:12:22,100 tandatangan mereka bahawa mereka yang dihiasi Beberapa tahun yang lalu apabila mereka last visited. 261 00:12:22,100 --> 00:12:25,800 >> Tetapi apa yang amat menarik tentang perkara ini adalah apa yang mereka ingin lakukan 262 00:12:25,800 --> 00:12:29,760 adalah untuk menulis program yang akan membolehkan orang lain untuk menulis 263 00:12:29,760 --> 00:12:30,950 program mereka sendiri. 264 00:12:30,950 --> 00:12:34,280 Pada masa yang semua ada dengan mesin Altair ini dibuat oleh MITS. 265 00:12:34,280 --> 00:12:40,020 Dan semua yang mereka perlukan adalah beberapa cara menjadikannya mudah untuk penggemar dan orang-orang 266 00:12:40,020 --> 00:12:45,300 suka kami di dalam bilik ini untuk benar-benar program bahawa tanpa semestinya memahami 267 00:12:45,300 --> 00:12:49,060 Kod pemasangan, atau mesin kod, atau Allah melarang, 0 dan 1s. 268 00:12:49,060 --> 00:12:51,190 Kami pengaturcara, seperti orang-orang di dalam bilik ini, kita 269 00:12:51,190 --> 00:12:54,070 mahu dapat untuk menyatakan diri kita lebih seperti kod pseudo 270 00:12:54,070 --> 00:12:57,330 walaupun ia adalah sedikit lebih nit cerewet daripada kita bercakap minggu lepas. 271 00:12:57,330 --> 00:13:00,970 Kami tidak mahu menulis kod seperti ini, yang melakukan Paul Allen dan Bill Gates. 272 00:13:00,970 --> 00:13:04,850 Kami, sebaliknya, mahu menulis kod yang kelihatan lebih mesra pengguna sedikit. 273 00:13:04,850 --> 00:13:07,150 >> Sekarang ini adalah bahasa yang dikenali sebagai BASIC. 274 00:13:07,150 --> 00:13:11,497 Dan nombor-nombor talian terdapat apa yang anda gunakan untuk hanya nombor baris kod 275 00:13:11,497 --> 00:13:12,330 bahawa anda menulis. 276 00:13:12,330 --> 00:13:14,038 Kita tidak perlu berbuat demikian hari ini. 277 00:13:14,038 --> 00:13:16,060 Tetapi anda boleh lihat di sini bagaimana PRINT "hello, dunia" 278 00:13:16,060 --> 00:13:18,660 sesungguhnya mungkin akan mencetak hanya itu. 279 00:13:18,660 --> 00:13:22,710 Dan jadi apa Rang Undang-Undang dan Paul lakukan ialah memberi kuasa kepada orang ramai untuk menulis kod seperti ini 280 00:13:22,710 --> 00:13:27,240 bukannya daripada-- jika anda lihat di sains komputer wall-- kod seperti ini. 281 00:13:27,240 --> 00:13:29,290 >> Malah, baru-baru ini CS50 mempunyai peluang 282 00:13:29,290 --> 00:13:32,540 untuk duduk dengan Profesor Harry Lewis dalam jabatan Sains Komputer, yang 283 00:13:32,540 --> 00:13:34,640 sebenarnya mengajar Rang Undang-Undang Gates beberapa tahun yang lalu, 284 00:13:34,640 --> 00:13:38,460 Dan berdiri di sini di hadapan tiga muka surat daripada petikan. 285 00:13:38,460 --> 00:13:39,560 Mari kita lihat. 286 00:13:39,560 --> 00:13:45,520 >> HARRY LEWIS: Apa yang ada di sini adalah penyenaraian sekeping awal perisian 287 00:13:45,520 --> 00:13:50,240 ditulis oleh Bill Gates dan Paul Allen, pengasas Microsoft. 288 00:13:50,240 --> 00:13:52,570 Jadi kod yang menarik kerana dua sebab. 289 00:13:52,570 --> 00:13:55,480 Pertama sekali, ia menjadi Produk pertama Microsoft, 290 00:13:55,480 --> 00:14:01,810 yang merupakan jurubahasa untuk bahasa pengaturcaraan BASIC. 291 00:14:01,810 --> 00:14:04,940 Dan kedua, ini adalah salah satu percubaan pertama 292 00:14:04,940 --> 00:14:10,580 untuk mewujudkan jurubahasa jadi biasa orang boleh menggunakan komputer peribadi. 293 00:14:10,580 --> 00:14:12,670 >> Jadi Bill Gates adalah seorang ijazah pertama di Harvard. 294 00:14:12,670 --> 00:14:14,820 Saya mula mengajar di Harvard pada tahun 1974. 295 00:14:14,820 --> 00:14:16,560 Ini dilakukan pada tahun 1975. 296 00:14:16,560 --> 00:14:20,180 Oleh itu, pada awal kerjayanya dan pada awal kerjaya saya. 297 00:14:20,180 --> 00:14:23,790 Saya sebenarnya diajar dalam Rang Undang-Undang kursus sekitar masa ini. 298 00:14:23,790 --> 00:14:27,130 Paul Allen bukan Harvard pelajar, tetapi dia 299 00:14:27,130 --> 00:14:31,020 telah sebuah sekolah tinggi rakan sekelas daripada Rang Undang-Undang Gates. 300 00:14:31,020 --> 00:14:33,740 Jika anda datang dan melihat pada penyenaraian itu, anda akan 301 00:14:33,740 --> 00:14:36,230 sebenarnya mencari satu pertiga nama, Monte Davidoff, 302 00:14:36,230 --> 00:14:39,260 yang merupakan rakan sekelas Gates ini di sini di Harvard. 303 00:14:39,260 --> 00:14:41,340 >> OK, jadi di sini adalah satu komen yang menarik di sini. 304 00:14:41,340 --> 00:14:47,150 Ia berkata "Dalam 4K boleh memadam punca kuasa dua tetapi untuk gelung masih harus bekerja. " 305 00:14:47,150 --> 00:14:53,080 OK, jadi apa yang bermakna adalah bahawa ada dua cara untuk menyusun program ini. 306 00:14:53,080 --> 00:14:57,860 Satu adalah untuk berjalan pada versi yang komputer Altair ini 307 00:14:57,860 --> 00:15:04,310 yang hanya mempunyai 4K kata-kata ingatan, 4,096 kata-kata ingatan. 308 00:15:04,310 --> 00:15:07,050 Tetapi versi yang besar mempunyai 8K. 309 00:15:07,050 --> 00:15:09,770 Dan jadi apa ini mengatakan adalah bahawa dalam versi yang 4K 310 00:15:09,770 --> 00:15:12,770 anda terpaksa padam beberapa kod untuk membuat ia patut. 311 00:15:12,770 --> 00:15:14,790 Dan salah satu perkara yang yang akan dihapuskan 312 00:15:14,790 --> 00:15:16,290 akan menjadi rutin punca kuasa dua. 313 00:15:16,290 --> 00:15:20,360 Tetapi nampaknya yang untuk gelung sekiranya masih 314 00:15:20,360 --> 00:15:26,392 bekerja walaupun anda menyusun turun hanya versi 4K bagi komputer. 315 00:15:26,392 --> 00:15:29,350 DAVID J. MALAN: Jadi salah satu tema, seperti yang kita akan melihat dalam bidang sains komputer, 316 00:15:29,350 --> 00:15:31,430 adalah tanggapan ini lapisan dan pengambilan, 317 00:15:31,430 --> 00:15:34,670 dan benar-benar berdiri di atas bahu daripada orang-orang yang telah datang sebelum kita, bukan 318 00:15:34,670 --> 00:15:37,890 tidak seperti beberapa Rang Undang-Undang Gates dan naratif Paul Allen di sini. 319 00:15:37,890 --> 00:15:40,080 Dan apa ini bermakna bahawa hari ini kita boleh mengambil 320 00:15:40,080 --> 00:15:43,490 diberikan bahawa perkara-perkara yang benar-benar lebih mudah bagi kita untuk menulis kod. 321 00:15:43,490 --> 00:15:47,170 Sesungguhnya kod, seperti yang kita katakan pada hari Jumaat, adalah lebih teknikal dikenali sebagai kod sumber. 322 00:15:47,170 --> 00:15:52,210 Dan ia English ini seperti sintaks yang lebih tepat dan lebih ditakrifkan dengan baik 323 00:15:52,210 --> 00:15:55,480 daripada sesuatu seperti kod pseudo, untuk yang tidak ada definisi formal. 324 00:15:55,480 --> 00:15:58,320 >> Dan hari ini apa yang kita akan untuk memberi tumpuan kepada adalah kod sumber 325 00:15:58,320 --> 00:16:01,010 yang kelihatan seperti ini, yang diakui pada pandangan pertama 326 00:16:01,010 --> 00:16:02,690 kelihatan benar-benar samar. 327 00:16:02,690 --> 00:16:08,540 Dan terus-terang, ia adalah cara yang lebih indah kompleks daripada program asas adalah. 328 00:16:08,540 --> 00:16:13,300 Semua program ini tidak, ingat, adalah apa yang kita katakan? 329 00:16:13,300 --> 00:16:14,990 Ia hanya mencetak "hello dunia." 330 00:16:14,990 --> 00:16:19,600 Namun melihat semua barangan yang kita perlukan untuk membalut di sekitar bahawa frasa yang sangat mudah. 331 00:16:19,600 --> 00:16:21,750 Tetapi tidak lama semua garisan-garisan dan lebih 332 00:16:21,750 --> 00:16:24,800 akan masuk akal lebih baik untuk anda. 333 00:16:24,800 --> 00:16:26,940 >> Dan aliran adalah seperti berikut. 334 00:16:26,940 --> 00:16:31,220 Apa yang kita perlukan ada di tangan kita adalah untuk mengambil kod, seperti sumber 335 00:16:31,220 --> 00:16:32,340 kod yang kita hanya melihat. 336 00:16:32,340 --> 00:16:35,060 Dan kita perlu satu program baru Untuk berjalan melalui. 337 00:16:35,060 --> 00:16:39,130 Kita perlu algoritma yang boleh menukar kod sumber, seperti ini, 338 00:16:39,130 --> 00:16:41,932 kepada kod objek, 0 dan 1s. 339 00:16:41,932 --> 00:16:43,890 Dalam erti kata lain, apa yang kita akan belajar hari ini 340 00:16:43,890 --> 00:16:46,620 adalah bagaimana untuk melakukan ini, menulis kod sumber sehingga atas, 341 00:16:46,620 --> 00:16:49,930 lulus sebagai input kepada khas program yang dikenali sebagai pengkompil, 342 00:16:49,930 --> 00:16:52,140 dan kita akan menghasilkan kod objek. 343 00:16:52,140 --> 00:16:54,600 Yang hanya satu cara mewah daripada mengatakan kami akan mengambil sesuatu 344 00:16:54,600 --> 00:16:58,350 yang kelihatan seperti ini, lulus dalam program yang dipanggil pengkompil, 345 00:16:58,350 --> 00:17:01,210 menghasilkan kod objek yang kelihatan seperti ini. 346 00:17:01,210 --> 00:17:04,720 >> Jadi ini adalah benar-benar corak 0 dan 1s 347 00:17:04,720 --> 00:17:08,550 yang difahami oleh Komputer Intel hari ini, 348 00:17:08,550 --> 00:17:12,480 bahawa jika ditafsirkan oleh CPU, otak di dalam komputer, 349 00:17:12,480 --> 00:17:16,130 secara literal akan mencetak, agak mudah, "hello dunia." 350 00:17:16,130 --> 00:17:19,670 Kini ada cara yang lebih 0 dan 1s daripada anda berharap mungkin perlu untuk itu. 351 00:17:19,670 --> 00:17:22,520 Tetapi itu kerana kita membina pada perjanjian yang baik kerumitan 352 00:17:22,520 --> 00:17:24,270 yang kita seterusnya boleh mengambil untuk diberikan. 353 00:17:24,270 --> 00:17:27,869 Dalam erti kata lain, ramai orang pintar telah memberikan kita banyak alat sejuk 354 00:17:27,869 --> 00:17:32,480 dan perisian yang berkuasa yang kita kini boleh membuat projek-projek kita sendiri. 355 00:17:32,480 --> 00:17:33,400 >> Jadi mari kita bermula. 356 00:17:33,400 --> 00:17:36,640 Manakala pada Jumaat lepas, dan untuk Set Masalah 0 minggu ini, 357 00:17:36,640 --> 00:17:39,000 anda akan bermain dalam dunia yang kelihatan seperti ini. 358 00:17:39,000 --> 00:17:42,180 Bermula hari ini dan untuk Masalah Terletak 1 minggu depan, kod 359 00:17:42,180 --> 00:17:45,410 akan kelihatan sedikit lebih samar, tetapi fungsi adalah 360 00:17:45,410 --> 00:17:46,940 akan menjadi sama. 361 00:17:46,940 --> 00:17:50,770 Jadi notis, atas adalah Scratch, bawah adalah C. Terus terang Scratch 362 00:17:50,770 --> 00:17:52,780 adalah lebih banyak pengguna mesra dan boleh diakses. 363 00:17:52,780 --> 00:17:56,890 Tetapi jika anda kini membandingkan visual atas ke bahagian bawah, ada semacam satu satu untuk 364 00:17:56,890 --> 00:17:59,690 surat-menyurat antara kepingan teka-teki dan bahasa 365 00:17:59,690 --> 00:18:00,870 kami kira-kira untuk bermain dengan. 366 00:18:00,870 --> 00:18:04,420 Khususnya, berkata, teka-teki biru sekeping sehingga atas, 367 00:18:04,420 --> 00:18:08,370 nampaknya sama dengan apa kata kunci atau frasa khas dalam bahasa ini 368 00:18:08,370 --> 00:18:09,062 dipanggil C? 369 00:18:09,062 --> 00:18:09,770 PENONTON: printf. 370 00:18:09,770 --> 00:18:10,728 DAVID J. MALAN: printf. 371 00:18:10,728 --> 00:18:12,140 Ini bermakna percetakan diformatkan. 372 00:18:12,140 --> 00:18:15,240 Dan itu hanya mewah yang cara untuk mengatakan printf dalam C 373 00:18:15,240 --> 00:18:18,615 akan menjadi kenyataan atau fungsi yang mencetak sesuatu untuk skrin. 374 00:18:18,615 --> 00:18:19,990 Apa yang mencetak dengan skrin? 375 00:18:19,990 --> 00:18:23,627 Apa sahaja yang anda beritahu kepada semua di dalam sebut harga, di dalam kurungan. 376 00:18:23,627 --> 00:18:25,460 Jadi sekali lagi, diakui, terdapat banyak barangan 377 00:18:25,460 --> 00:18:27,990 yang anda perlu ingat, kurungan, sebut harga, koma bertitik, 378 00:18:27,990 --> 00:18:28,656 dan semua ini. 379 00:18:28,656 --> 00:18:30,600 Tetapi semua itu adalah jenis dari sebelah titik. 380 00:18:30,600 --> 00:18:33,660 Yang bisa dibesarkan menarik untuk sekarang adalah bahawa blok katakan dalam Scratch 381 00:18:33,660 --> 00:18:37,520 adalah cukup banyak bersamaan dengan Kenyataan printf dalam C. 382 00:18:37,520 --> 00:18:41,390 >> Sementara itu, sekeping teka-teki kuning sehingga atas, apabila bendera hijau diklik, 383 00:18:41,390 --> 00:18:44,736 mungkin bersamaan apa kata kunci di sini? 384 00:18:44,736 --> 00:18:45,360 PENONTON: Main. 385 00:18:45,360 --> 00:18:46,359 DAVID J. MALAN: Jadi utama. 386 00:18:46,359 --> 00:18:47,410 Mungkin int, mungkin tidak sah. 387 00:18:47,410 --> 00:18:51,280 Tetapi jenis utama bunyi seperti adalah penting, dan sesungguhnya ia adalah. 388 00:18:51,280 --> 00:18:54,080 Oleh itu, apabila bendera hijau diklik adalah, sekali lagi, sekeping teka-teki 389 00:18:54,080 --> 00:18:56,390 yang bermula satu keseluruhan program Scratch. 390 00:18:56,390 --> 00:19:02,140 Tetapi kita akan kini mula memanggil yang utama, fungsi ini dikenali sebagai utama. 391 00:19:02,140 --> 00:19:06,410 >> Sekarang sementara itu kita akan umum ini seperti berikut. 392 00:19:06,410 --> 00:19:08,780 Kita mungkin memanggil mengatakan fungsi. 393 00:19:08,780 --> 00:19:10,580 Dan ia mungkin kelihatan khusus seperti ini. 394 00:19:10,580 --> 00:19:11,770 Nah, bagaimana pula gelung? 395 00:19:11,770 --> 00:19:16,540 Jika kita ingin memulakan menukar atau menterjemah lebih Scratch kepada C, 396 00:19:16,540 --> 00:19:19,400 perkara ini di sini nampaknya hanya berkata "hello dunia" selama-lamanya. 397 00:19:19,400 --> 00:19:23,060 Jadi, jika anda mengaitkan ini skrip dengan kucing dalam Scratch, 398 00:19:23,060 --> 00:19:26,560 ia hanya akan menyimpan berkata dalam beberapa jenis gelembung kartun, 399 00:19:26,560 --> 00:19:29,922 "Hello dunia, dunia hello, hello dunia, "iklan nauseum, selama-lamanya. 400 00:19:29,922 --> 00:19:33,130 Jika kita mahu melakukan sesuatu yang serupa dalam C, ia akan kelihatan samar sedikit. 401 00:19:33,130 --> 00:19:35,463 Tetapi kita boleh mencapai yang sama keputusan, seperti yang kita akan akhirnya 402 00:19:35,463 --> 00:19:36,861 mengetahui, dengan sintaksis seperti ini. 403 00:19:36,861 --> 00:19:39,360 Saya akan menggunakan printf lagi, kerana pada akhir hari 404 00:19:39,360 --> 00:19:42,040 Saya ingin mencetak "hello dunia." 405 00:19:42,040 --> 00:19:45,610 Dan saya nampaknya menggunakan kata kunci yang tidak selama-lamanya. 406 00:19:45,610 --> 00:19:47,320 Ia bukan perkataan sementara. 407 00:19:47,320 --> 00:19:49,650 Tetapi semantik dalam Bahasa Inggeris, manakala jenis 408 00:19:49,650 --> 00:19:52,120 mencadangkan beberapa jenis gelung atau kitaran. 409 00:19:52,120 --> 00:19:55,070 >> Supaya berlaku untuk menjadi kata kunci yang menggunakan C. 410 00:19:55,070 --> 00:20:00,700 Dan manakala benar, mengapa sementara benar berkesan bermakna selama-lamanya? 411 00:20:00,700 --> 00:20:04,240 Nah, manakala, kerana tidak lama lagi kita akan menghargai semua lebih, 412 00:20:04,240 --> 00:20:08,140 mempunyai kurungan ini sebelahnya di mana anda boleh meletakkan ungkapan Boolean. 413 00:20:08,140 --> 00:20:11,360 Dan selagi yang ungkapan adalah benar, kod ini, 414 00:20:11,360 --> 00:20:14,750 ditandakan sebagai antara kedua-dua pendakap kerinting seperti yang kita akan memanggil mereka, 415 00:20:14,750 --> 00:20:16,880 hanya akan terus berjalan lagi dan lagi. 416 00:20:16,880 --> 00:20:18,410 >> Jadi benar benar. 417 00:20:18,410 --> 00:20:20,900 Oleh itu, sambil maksudnya yang sebenar hanya melakukan ini selama-lamanya. 418 00:20:20,900 --> 00:20:23,480 Ia hampir yang bodoh membina untuk menyatakan diri anda. 419 00:20:23,480 --> 00:20:26,590 Tetapi tidak ada selama-lamanya kata kunci dalam C. Terdapat sementara. 420 00:20:26,590 --> 00:20:29,390 Dan ada yang sangat mudah Ungkapan Boolean seperti benar. 421 00:20:29,390 --> 00:20:32,210 Dan hal ini, kita akan melihat, mencapai keputusan yang sama. 422 00:20:32,210 --> 00:20:33,890 >> Bagaimana lagi anda mungkin melaksanakan gelung? 423 00:20:33,890 --> 00:20:36,980 Nah, dalam Scratch anda mungkin kod keras bilangan tertentu 424 00:20:36,980 --> 00:20:39,430 lelaran dalam gelung di sini. 425 00:20:39,430 --> 00:20:43,210 Dan itulah apa yang kita mungkin lakukan dalam versi ini C, 426 00:20:43,210 --> 00:20:46,140 mana kita mempunyai apa yang dipanggil untuk gelung. 427 00:20:46,140 --> 00:20:49,850 Dan untuk gelung di sini akan untuk melelar, agak cryptically, 428 00:20:49,850 --> 00:20:54,100 dari nilai 0 sehingga pada untuk tetapi kurang daripada 10. 429 00:20:54,100 --> 00:20:55,955 >> Sekarang pembolehubah dalam Scratch. 430 00:20:55,955 --> 00:20:57,830 Anda mungkin tidak mempunyai kesempatan untuk menggunakan. 431 00:20:57,830 --> 00:21:02,516 Tetapi apa yang titik, secara umum, pembolehubah yang tidak kita katakan minggu lepas? 432 00:21:02,516 --> 00:21:03,015 Apa itu? 433 00:21:03,015 --> 00:21:03,780 >> PENONTON: Mata. 434 00:21:03,780 --> 00:21:05,200 >> DAVID J. MALAN: Untuk menunjukkan? 435 00:21:05,200 --> 00:21:05,700 Oh, mata. 436 00:21:05,700 --> 00:21:07,620 OK, mencatat mata, misalnya, dalam permainan. 437 00:21:07,620 --> 00:21:09,510 Atau lebih umumnya melakukan apa dengan pembolehubah? 438 00:21:09,510 --> 00:21:10,450 Apakah utiliti daripada mereka? 439 00:21:10,450 --> 00:21:10,825 >> PENONTON: Memori. 440 00:21:10,825 --> 00:21:11,750 >> DAVID J. MALAN: Ya, ingatan demikian. 441 00:21:11,750 --> 00:21:13,000 Ia untuk menyimpan sesuatu. 442 00:21:13,000 --> 00:21:17,336 Dan jenis saya dengar bodoh digunakan Kali terakhir adalah seperti mangkuk kaca ini. 443 00:21:17,336 --> 00:21:19,710 Dan jika kita mahu menyimpan sesuatu di dalam pembolehubah, 444 00:21:19,710 --> 00:21:21,918 misalnya sekarang ini nilai ialah enam kerana ada 445 00:21:21,918 --> 00:21:23,450 enam bola ping pong di sini. 446 00:21:23,450 --> 00:21:26,158 Ia hanya beberapa jenis simpanan bekas yang di bawah hud 447 00:21:26,158 --> 00:21:30,030 dilaksanakan dengan bit, 0 dan 1s, Walau bagaimanapun komputer yang berlaku untuk melakukannya. 448 00:21:30,030 --> 00:21:32,900 >> Jadi dalam Scratch, jika kita ingin mempunyai pembolehubah, 449 00:21:32,900 --> 00:21:34,840 kita boleh menggunakan blok oren seperti ini. 450 00:21:34,840 --> 00:21:37,050 Kami akan menghubungi kaunter yang dalam kes ini. 451 00:21:37,050 --> 00:21:38,890 Saya dimulakan kepada 0. 452 00:21:38,890 --> 00:21:41,080 Dan apa yang aku lakukan? 453 00:21:41,080 --> 00:21:44,780 Selama-lamanya, berkata kaunter, yang jika anda bermain dengan itu dalam Scratch, 454 00:21:44,780 --> 00:21:45,780 anda hanya akan melihat Scratch. 455 00:21:45,780 --> 00:21:49,920 Kucing atau apa sahaja pakaian anda memakai dia akan berkata-kata nombor dalam soalan. 456 00:21:49,920 --> 00:21:52,840 >> Perubahan kaunter oleh 1 adalah seperti menokok oleh 1. 457 00:21:52,840 --> 00:21:56,580 Dan hal ini akan mengira dari apa jadi apa? 458 00:21:56,580 --> 00:21:59,114 Dari 0 til infiniti, atau sehingga rehat Scratch, 459 00:21:59,114 --> 00:22:01,030 atau sehingga anda jenis hilang minat menonton 460 00:22:01,030 --> 00:22:02,650 berapa tinggi dia sebenarnya boleh mengira. 461 00:22:02,650 --> 00:22:04,800 >> Jadi bagaimana kita boleh menukar ini kepada C? 462 00:22:04,800 --> 00:22:06,480 Ia akan kelihatan samar sedikit. 463 00:22:06,480 --> 00:22:08,896 Tetapi sekali lagi, jika anda melihat penggunaan di setiap garis ini secara individu 464 00:22:08,896 --> 00:22:10,410 jenis mereka barisan amnya. 465 00:22:10,410 --> 00:22:13,526 Jadi nampaknya int akan mempunyai makna khas dalam C. 466 00:22:13,526 --> 00:22:14,400 Kita akan melihat bahawa sekali lagi. 467 00:22:14,400 --> 00:22:15,810 Sebagai mengetepikan ia bermakna integer. 468 00:22:15,810 --> 00:22:16,990 Jadi ia hanya bermaksud nombor. 469 00:22:16,990 --> 00:22:18,920 Jadi itulah jenis kaca mangkuk saya mahu, satu 470 00:22:18,920 --> 00:22:21,120 yang boleh menyimpan nombor, tidak ping pong bola. 471 00:22:21,120 --> 00:22:25,520 Dan saya akan menggunakan tanda yang sama di sana untuk sediakan nilai 0. 472 00:22:25,520 --> 00:22:29,440 Supaya agak seperti set kaunter kepada 0, tetapi dalam C. 473 00:22:29,440 --> 00:22:32,840 >> Sementara itu, ketika benar, bahawa adalah bersamaan, sudah tentu, untuk selama-lamanya, 474 00:22:32,840 --> 00:22:35,980 walaupun ia sedikit samar, dan kemudian di dalam pendakap kerinting. 475 00:22:35,980 --> 00:22:39,188 Dan anda boleh berfikir ini pendakap kerinting, yang anda boleh menaip pada papan kekunci anda, 476 00:22:39,188 --> 00:22:43,110 sebagai benar-benar menjadi seperti kelengkungan dalam blok kuning dalam gelung Scratch. 477 00:22:43,110 --> 00:22:45,700 Ia merangkumi pelbagai baris kod. 478 00:22:45,700 --> 00:22:48,120 >> Printf adalah mendapat sedikit menakutkan sekarang kerana saya 479 00:22:48,120 --> 00:22:51,120 melihat bukan sahaja menyebut dalam kurungan. 480 00:22:51,120 --> 00:22:55,160 Tetapi apa lagi yang baru sintaksis dalam contoh ini? 481 00:22:55,160 --> 00:22:57,300 Ada satu peratus d. 482 00:22:57,300 --> 00:22:58,551 Dan kemudian backslash n ada. 483 00:22:58,551 --> 00:23:00,883 Kami tidak melihat bahawa sebelum, walaupun walaupun saya tidak menyatakannya. 484 00:23:00,883 --> 00:23:01,886 Kemudian ada koma. 485 00:23:01,886 --> 00:23:03,010 Dan kemudian ada kaunter. 486 00:23:03,010 --> 00:23:05,010 >> Tetapi kita akan melihat hanya dalam masa ini hanya 487 00:23:05,010 --> 00:23:09,080 cara yang standard untuk mengatakan cetak yang "Nombor perpuluhan," quote, unquote, 488 00:23:09,080 --> 00:23:10,500 beberapa nombor perpuluhan. 489 00:23:10,500 --> 00:23:13,370 Tetapi saya akan memberitahu anda kemudian apa yang nombor perpuluhan adalah. 490 00:23:13,370 --> 00:23:16,835 Jadi hakikat bahawa ada koma di baris ini kata printf, 491 00:23:16,835 --> 00:23:18,710 bermakna pergi ke depan dan cetak beberapa nombor perpuluhan. 492 00:23:18,710 --> 00:23:23,110 Oh, dan dengan cara itu, bilangan adalah apa nilai pembolehubah ini. 493 00:23:23,110 --> 00:23:25,880 Dan sebagainya untuk membuat ini lebih jelas, kita akan melihat contoh 494 00:23:25,880 --> 00:23:30,930 tidak lama melibatkan tepat printf dalam konteks program C yang sebenar. 495 00:23:30,930 --> 00:23:33,472 >> Sekarang hanya untuk menyelesaikan beberapa konstruk ini. 496 00:23:33,472 --> 00:23:36,680 Ungkapan Boolean, anda mungkin tidak mempunyai kesempatan untuk menggunakan dalam program anda 497 00:23:36,680 --> 00:23:39,450 tetapi anda mungkin sangat baik, terutamanya jika menggunakan syarat. 498 00:23:39,450 --> 00:23:43,460 Dan kedua-dua contoh-contoh daripada Goreskan bermakna jika x ialah kurang daripada y, 499 00:23:43,460 --> 00:23:48,770 atau jika x ialah kurang daripada y dan y adalah kurang daripada z, bagaimana kita boleh menterjemahkan itu? 500 00:23:48,770 --> 00:23:50,810 >> Nah, dalam C ia hanya akan kelihatan seperti ini. 501 00:23:50,810 --> 00:23:55,300 Sedikit samar, lebih kurungan, beberapa ampersands pelik, tetapi pada asasnya, 502 00:23:55,300 --> 00:23:59,160 idea-idea adalah seperti mudah kerana ia adalah dalam dunia teka-teki sekeping. 503 00:23:59,160 --> 00:24:02,690 Kami hanya memeriksa jika sesuatu adalah kurang daripada sesuatu yang lain. 504 00:24:02,690 --> 00:24:03,910 >> Bagaimana dengan keadaan? 505 00:24:03,910 --> 00:24:09,710 Secara ringkas dalam bahasa Inggeris, apakah ini sebahagian kod Scratch yang anda akan berkata? 506 00:24:09,710 --> 00:24:11,050 >> PENONTON: Membandingkan dua nombor. 507 00:24:11,050 --> 00:24:13,760 >> DAVID J. MALAN: Membandingkan dua nombor, dan jika x ialah kurang daripada y 508 00:24:13,760 --> 00:24:14,860 ia berkata sebanyak. 509 00:24:14,860 --> 00:24:18,080 Jika x adalah lebih besar daripada y ia berkata seperti yang banyak, lain 510 00:24:18,080 --> 00:24:20,740 jika x sama dengan y ia berkata sebanyak. 511 00:24:20,740 --> 00:24:22,180 Sekarang manakah x dan y datang? 512 00:24:22,180 --> 00:24:22,680 Siapa tahu. 513 00:24:22,680 --> 00:24:25,380 Ini sebahagian daripada Scratch kod adalah di luar konteks. 514 00:24:25,380 --> 00:24:29,050 Tetapi apa yang kita mahu lakukan sekarang ialah menterjemahkan ini untuk seketika untuk melihat. 515 00:24:29,050 --> 00:24:31,660 >> Jadi seperti yang anda mendapatkan selesa minggu ini di Set Masalah 516 00:24:31,660 --> 00:24:34,190 0 bermain di dunia ini di sebelah kiri, menyedari 517 00:24:34,190 --> 00:24:36,940 bahawa idea-idea yang tidak berubah minggu ini atau akan datang atau lebih. 518 00:24:36,940 --> 00:24:38,690 Kami hanya akan mula menulis perkara-perkara 519 00:24:38,690 --> 00:24:41,240 dalam cara yang berbeza dengan kita papan kekunci tetikus dan bukannya kami. 520 00:24:41,240 --> 00:24:44,577 >> Jadi, jika x ialah kurang daripada y, dan ada beberapa kurungan di sana, 521 00:24:44,577 --> 00:24:47,160 kemudian ada beberapa pendakap kerinting sekali lagi untuk jenis mengurung ia 522 00:24:47,160 --> 00:24:48,970 seperti kepingan teka-teki kuning lakukan. 523 00:24:48,970 --> 00:24:53,000 Dan saya akan printf x adalah kurang daripada y dan sebagainya. 524 00:24:53,000 --> 00:24:56,540 >> Apa yang baik tentang C, seperti yang anda lihat di sini, 525 00:24:56,540 --> 00:25:00,480 adalah bahawa anda tidak mendapat bersarang ini, bersarang, bersarang yang semestinya 526 00:25:00,480 --> 00:25:02,220 akan menolak kod anda ke kanan. 527 00:25:02,220 --> 00:25:04,990 Anda sebaliknya boleh mempunyai segala-galanya barisan kemas menyukainya. 528 00:25:04,990 --> 00:25:08,960 Tetapi itu hanya estetik terperinci kita akan melihat sekali lagi tidak lama lagi. 529 00:25:08,960 --> 00:25:09,660 >> Baiklah. 530 00:25:09,660 --> 00:25:13,290 Justeru, berbalik semula kepada program ini samar mencari. 531 00:25:13,290 --> 00:25:15,180 Mari kita benar-benar menulis beberapa kod. 532 00:25:15,180 --> 00:25:16,830 Sekarang bagaimana anda pergi tentang menulis kod? 533 00:25:16,830 --> 00:25:21,310 Selama ini anda telah dimiliki Mac atau PC, desktop atau komputer riba, 534 00:25:21,310 --> 00:25:24,520 anda sebenarnya mempunyai keupayaan untuk mula menulis kod pengaturcaraan. 535 00:25:24,520 --> 00:25:27,050 Tetapi anda mungkin hilang jenis khas program. 536 00:25:27,050 --> 00:25:28,470 Anda tentu boleh menulis kod. 537 00:25:28,470 --> 00:25:30,740 Tetapi anda tidak boleh semestinya, keluar dari kotak, 538 00:25:30,740 --> 00:25:34,210 menukar kod sumber kepada kod objek, 0 dan 1s 539 00:25:34,210 --> 00:25:35,619 tanpa apa pada komputer anda? 540 00:25:35,619 --> 00:25:36,410 PENONTON: Pengkompil. 541 00:25:36,410 --> 00:25:37,630 DAVID J. MALAN: Jadi pengkompil, betul. 542 00:25:37,630 --> 00:25:39,730 Sekarang kebanyakan kamu mungkin tidak memiliki pengkompil, 543 00:25:39,730 --> 00:25:41,259 tidak pernah turun pengkompil. 544 00:25:41,259 --> 00:25:44,300 Tetapi anda akan melihat anda boleh memuat turun seperti kebanyakan mana-mana bahagian lain perisian. 545 00:25:44,300 --> 00:25:47,470 Dalam dunia Mac OS, anda mungkin muat turun atau muat turun sudah 546 00:25:47,470 --> 00:25:50,437 sesuatu yang dipanggil Xcode atau GCC atau dilafaz. 547 00:25:50,437 --> 00:25:52,270 Jika anda datang dari Windows dunia anda mungkin 548 00:25:52,270 --> 00:25:56,190 telah muat turun Visual Studio, Visual Basic, persekitaran seperti itu. 549 00:25:56,190 --> 00:25:59,200 Ada berpuluh-puluh penyusun hari ini yang mungkin anda gunakan. 550 00:25:59,200 --> 00:26:01,940 Tetapi pendek di sini ialah ia akan menjadi sakit 551 00:26:01,940 --> 00:26:04,480 dan, terus-terang, satu teknologi mimpi ngeri selama beratus-ratus 552 00:26:04,480 --> 00:26:07,680 daripada orang-orang yang berbeza konfigurasi komputer untuk semua 553 00:26:07,680 --> 00:26:09,800 mengkonfigurasi mesin mereka dalam cara yang sama 554 00:26:09,800 --> 00:26:11,700 supaya kita semua boleh berada di halaman yang sama. 555 00:26:11,700 --> 00:26:15,240 >> Jadi apa yang kita, sebaliknya, melakukan dalam CS50 adalah kami memberikan 556 00:26:15,240 --> 00:26:18,349 persekitaran yang biasa, Persekitaran Linux itu 557 00:26:18,349 --> 00:26:20,140 akan kelihatan sedikit sesuatu seperti ini. 558 00:26:20,140 --> 00:26:22,980 Anda akan melihat lebih banyak daripada ini dalam Set Masalah 1 spesifikasi yang 559 00:26:22,980 --> 00:26:25,330 akan pergi ke dalam talian malam Jumaat ini. 560 00:26:25,330 --> 00:26:28,360 >> Dan apa ini bermakna adalah bahawa anda seterusnya 561 00:26:28,360 --> 00:26:32,060 akan dapat memuat turun dan memasang program yang 562 00:26:32,060 --> 00:26:33,650 dipanggil Appliance CS50. 563 00:26:33,650 --> 00:26:36,275 Dan anda akan memuat turun dan memasang program lain yang dipanggil 564 00:26:36,275 --> 00:26:40,300 yang hypervisor, yang hanya cara mewah untuk mencapai ini. 565 00:26:40,300 --> 00:26:44,600 Adakah anda mempunyai Mac atau PC atau Linux komputer atau komputer Solaris, 566 00:26:44,600 --> 00:26:46,830 atau apa sahaja yang gila operasi sistem anda menjalankan, 567 00:26:46,830 --> 00:26:49,820 anda akan memuat turun program yang dipanggil hypervisor itu 568 00:26:49,820 --> 00:26:53,350 akan menjalankan CS50 Perkakas pada komputer anda 569 00:26:53,350 --> 00:26:55,430 tidak kira apa sistem operasi anda. 570 00:26:55,430 --> 00:27:00,640 A hypervisor dalam erti kata lain menukarkan barangan kami untuk apa sahaja bahasa, 571 00:27:00,640 --> 00:27:03,850 apa sahaja arahan anda komputer sendiri memahami. 572 00:27:03,850 --> 00:27:04,962 >> Jadi ini adalah satu lapisan. 573 00:27:04,962 --> 00:27:06,920 Dan sekali lagi, ini adalah jenis daripada tema dalam komputer 574 00:27:06,920 --> 00:27:08,722 sains, bangunan di atas perkara. 575 00:27:08,722 --> 00:27:09,680 Anda mungkin mempunyai Windows. 576 00:27:09,680 --> 00:27:10,710 Anda mungkin mempunyai Mac OS. 577 00:27:10,710 --> 00:27:12,960 Tetapi bermula minggu depan anda akan telah dimuat turun 578 00:27:12,960 --> 00:27:14,980 sekeping percuma perisian dipanggil hypervisor itu. 579 00:27:14,980 --> 00:27:17,800 Anda akan telah turun sekeping perisian dipanggil Appliance CS50. 580 00:27:17,800 --> 00:27:21,050 >> Itu akan berjalan di hypervisor itu, yang akan berjalan pada komputer anda. 581 00:27:21,050 --> 00:27:23,030 Dan keputusan akhir adalah kita semua akan 582 00:27:23,030 --> 00:27:26,220 mempunyai tingkap yang mudah seperti ini pada Mac atau PC anda 583 00:27:26,220 --> 00:27:30,160 yang memberikan kita ilusi semua menjalankan sistem operasi yang sama, 584 00:27:30,160 --> 00:27:32,800 tanpa apa-apa lain kesan ke atas komputer anda. 585 00:27:32,800 --> 00:27:34,870 Dan anda boleh skrin penuh dan pada asasnya berkelakuan 586 00:27:34,870 --> 00:27:37,550 seolah-olah anda sedang menjalankan sistem operasi Linux yang dipanggil, 587 00:27:37,550 --> 00:27:40,270 iaitu apa yang CS50 Perkakasan adalah berdasarkan kepada. 588 00:27:40,270 --> 00:27:42,930 >> Jadi mari kita sebenarnya menggunakan ini sekarang untuk menulis program. 589 00:27:42,930 --> 00:27:45,450 Anda boleh menulis satu program yang menggunakan Microsoft Word. 590 00:27:45,450 --> 00:27:48,160 Anda boleh menulis satu program yang menggunakan TextEdit, atau Notepad, 591 00:27:48,160 --> 00:27:51,880 atau WordPad, atau cukup banyak mana-mana perkataan program pemprosesan anda pernah digunakan. 592 00:27:51,880 --> 00:27:55,174 Tetapi realitinya adalah anda tidak perlu benar-benar menggunakan mana-mana program. 593 00:27:55,174 --> 00:27:57,840 Anda pasti tidak perlu menggunakan sesuatu seperti Microsoft Word, yang 594 00:27:57,840 --> 00:28:01,120 mempunyai menghadap dan huruf condong berani, dan font lebih besar dan fon yang lebih kecil, 595 00:28:01,120 --> 00:28:03,560 kerana komputer tidak mengambil berat tentang mana-mana itu. 596 00:28:03,560 --> 00:28:05,600 Semua komputer adalah akan mengambil berat tentang adalah 597 00:28:05,600 --> 00:28:09,040 Bahasa Inggeris seperti arahan bertulis di C. 598 00:28:09,040 --> 00:28:12,050 >> Jadi apa yang kita akan buat di dalam daripada Appliance CS50 yang 599 00:28:12,050 --> 00:28:14,290 adalah menggunakan program yang bebas ada, dan ia 600 00:28:14,290 --> 00:28:17,360 pra-dipasang di ini perkakas, yang dipanggil gedit. 601 00:28:17,360 --> 00:28:22,280 Dan gedit hanya super mudah editor teks seperti TextEdit Mac OS, 602 00:28:22,280 --> 00:28:26,200 seperti Windows Notepad perkara yang berlaku untuk melihat sesuatu yang kecil seperti ini. 603 00:28:26,200 --> 00:28:28,910 >> Jadi mari kita sebenarnya tidak melihat slaid ini. 604 00:28:28,910 --> 00:28:32,580 Tetapi mari kita benar-benar pergi ke persekitaran itu sendiri. 605 00:28:32,580 --> 00:28:36,090 Saya akan pergi ke depan dan log masuk, dalam tetingkap yang lain ini, 606 00:28:36,090 --> 00:28:40,910 untuk Appliance CS50 saya, yang saya telah pra-dipasang pada komputer riba saya di sini. 607 00:28:40,910 --> 00:28:43,771 >> Perhatian bahawa, seperti Windows dan Mac OS, ia mendapat beberapa menu. 608 00:28:43,771 --> 00:28:45,520 Seperti Windows ia meletakkan ia di bawah sana dan bukannya 609 00:28:45,520 --> 00:28:47,020 Mac OS, yang meletakkan ia di bawah sana. 610 00:28:47,020 --> 00:28:48,930 Tetapi realitinya adalah ia semua jenis yang sama. 611 00:28:48,930 --> 00:28:50,770 Dan di sini adalah keseluruhannya sekumpulan perisian. 612 00:28:50,770 --> 00:28:51,770 Ada Dropbox. 613 00:28:51,770 --> 00:28:54,780 Ada sejumlah besar aksesori, program grafik yang kita akan 614 00:28:54,780 --> 00:28:56,430 menggunakan kemudian dalam jangka bagi set masalah. 615 00:28:56,430 --> 00:28:59,650 Ada pelayar web terbina dalam supaya bahawa ini adalah satu komputer lengkap penuh 616 00:28:59,650 --> 00:29:01,240 di dalam komputer. 617 00:29:01,240 --> 00:29:04,170 >> Tetapi saya akan klik ini terkiri icon putih di sini, 618 00:29:04,170 --> 00:29:05,890 yang merupakan ikon untuk gedit. 619 00:29:05,890 --> 00:29:09,650 Dan ia akan membuka tetingkap yang mempunyai tiga panel kepadanya, 620 00:29:09,650 --> 00:29:12,590 satu kiri, satu bahagian atas, dan satu bahagian bawah. 621 00:29:12,590 --> 00:29:16,071 >> Sekarang dalam satu ini atas kanan yang Saya akan benar-benar menulis beberapa kod. 622 00:29:16,071 --> 00:29:16,820 Jadi mari kita buat ini ,. 623 00:29:16,820 --> 00:29:19,040 Saya akan pergi ke Fail, Simpan. 624 00:29:19,040 --> 00:29:22,100 Dan anda mungkin tidak pernah lihat tetingkap ini tertentu sebelum ini. 625 00:29:22,100 --> 00:29:23,620 Tetapi ini adalah seperti Mac OS atau Windows. 626 00:29:23,620 --> 00:29:25,490 Ia hanya tetingkap dengan semua folder 627 00:29:25,490 --> 00:29:27,290 yang saya ada di dalam komputer ini. 628 00:29:27,290 --> 00:29:30,320 >> Dan saya akan menyelamatkan fail tersebut hello.c. 629 00:29:30,320 --> 00:29:32,690 Dan saya akan pergi Teruskan dan klik Simpan. 630 00:29:32,690 --> 00:29:36,364 Dan sekarang saya mempunyai notis tab di sebelah kiri atas dipanggil hello.c. 631 00:29:36,364 --> 00:29:38,280 Jadi mungkin cukup biasa walaupun anda sudah tidak 632 00:29:38,280 --> 00:29:40,240 menggunakan program tertentu sebelum ini. 633 00:29:40,240 --> 00:29:44,890 >> Dan sekarang saya akan menaip mereka urutan yang agak samar arahan 634 00:29:44,890 --> 00:29:46,360 yang kita lihat sebentar tadi. 635 00:29:46,360 --> 00:29:49,330 Termasuk, saya standard / O.h. 636 00:29:49,330 --> 00:29:50,600 Lanjut mengenai tidak lama lagi itu. 637 00:29:50,600 --> 00:29:55,670 Tidak sah utama Int, kerinting terbuka menyokong, ditutup pendakap kerinting. 638 00:29:55,670 --> 00:30:01,570 Dan kemudian di dalam sana saya fikir adalah di mana kita mempunyai "hello dunia," dengan koma bernoktah. 639 00:30:01,570 --> 00:30:03,100 Dan kini menyimpan. 640 00:30:03,100 --> 00:30:08,780 >> Jadi ini adalah satu program yang ditulis dalam C, bertulis, oleh itu, dalam kod sumber. 641 00:30:08,780 --> 00:30:10,720 Tetapi saya tidak boleh menjalankan program ini. 642 00:30:10,720 --> 00:30:13,390 Saya jenis mahu menggandakan klik pada ikon di suatu tempat, 643 00:30:13,390 --> 00:30:16,390 tetapi tiada icon wujud lain daripada fail kod sumber. 644 00:30:16,390 --> 00:30:20,359 Apa yang, sekali lagi, adalah proses sekarang Saya perlukan untuk menjalankan fail ini melalui? 645 00:30:20,359 --> 00:30:21,150 PENONTON: Pengkompil. 646 00:30:21,150 --> 00:30:22,399 DAVID J. MALAN: Jadi pengkompil. 647 00:30:22,399 --> 00:30:24,890 Jadi dalam komputer yang berbeza anda melakukan ini dengan cara yang berbeza. 648 00:30:24,890 --> 00:30:27,480 Tetapi apa yang kita lakukan di Appliance CS50 yang itulah 649 00:30:27,480 --> 00:30:31,260 wakil bagaimana anda mungkin melakukan ini pada sistem yang berbeza, 650 00:30:31,260 --> 00:30:34,036 adalah saya hanya akan jalankan arahan yang dipanggil make. 651 00:30:34,036 --> 00:30:35,660 Dan make secara literal akan berbuat demikian. 652 00:30:35,660 --> 00:30:36,640 Membuat saya program. 653 00:30:36,640 --> 00:30:39,060 >> Oleh itu, akan menjalankan pengkompil untuk saya. 654 00:30:39,060 --> 00:30:42,160 Dan nama program yang Saya ingin adalah hello. 655 00:30:42,160 --> 00:30:43,510 Sekarang adalah membuat program. 656 00:30:43,510 --> 00:30:47,170 Dan membuat cukup untuk pintar sedar bahawa jika saya katakan menjadikan hello, 657 00:30:47,170 --> 00:30:50,980 ia akan melihat secara automatik untuk fail yang dipanggil hello.c 658 00:30:50,980 --> 00:30:53,420 hanya kerana itulah cara ia dikonfigurasikan. 659 00:30:53,420 --> 00:31:00,300 >> Oleh itu, apabila saya kini mencecah Masukkan di sini, ini garis samar gila baru sahaja dilaksanakan. 660 00:31:00,300 --> 00:31:02,720 Dan kepercayaan saya, sebelum panjang, dalam masa beberapa hari, 661 00:31:02,720 --> 00:31:05,590 anda akan memahami apa yang semua itu cara karut. 662 00:31:05,590 --> 00:31:11,150 Tetapi untuk sekarang, hanya tahu bahawa membuat pelaksanaan mencetuskan pengkompil. 663 00:31:11,150 --> 00:31:13,290 Dalam erti kata lain, ia didapati pengkompil pada komputer saya 664 00:31:13,290 --> 00:31:14,820 itulah pra-dipasang pada Appliance CS50 yang 665 00:31:14,820 --> 00:31:16,560 bahawa kita akan menyerahkan kepada anda dalam Set Masalah 1. 666 00:31:16,560 --> 00:31:20,990 Dan ia kemudian mengambil hello.c sebagai input, dan dihasilkan nampaknya 667 00:31:20,990 --> 00:31:23,040 0 dan 1s sebagai output. 668 00:31:23,040 --> 00:31:29,410 >> Dan secara lalai apa yang ia adalah ia menjimatkan mereka 0 dan 1s dalam fail yang dipanggil hello. 669 00:31:29,410 --> 00:31:33,180 Dan walaupun sintaks ini juga mungkin baru kepada anda, hanya dengan mengatakan dot 670 00:31:33,180 --> 00:31:37,110 mengurangkan hello akan menjadi dimaksudkan dengan yang saya menjalankan program ini. 671 00:31:37,110 --> 00:31:40,360 >> Untuk sekarang dan untuk pasangan sekurang-kurangnya minggu, hampir semua program 672 00:31:40,360 --> 00:31:44,230 kita tulis akan berada dalam tingkap teks hitam dan putih. 673 00:31:44,230 --> 00:31:47,006 Tiada tikus, tiada klik, tidak mempunyai tingkap, tidak ada ikon. 674 00:31:47,006 --> 00:31:49,630 Kami akan memastikan ia mudah dan memberi tumpuan kepada idea-idea asas 675 00:31:49,630 --> 00:31:52,490 awalnya sebelum kita capai sesuatu peringkat yang lebih tinggi, misalnya, 676 00:31:52,490 --> 00:31:56,410 seperti berehat daripada permainan yang kita bercakap kira-kira dalam syarahan pertama minggu lepas. 677 00:31:56,410 --> 00:32:00,820 >> Oleh itu, apabila saya tekan Enter di sini, ia setara dalam teks hanya persekitaran 678 00:32:00,820 --> 00:32:03,272 untuk menggandakan klik ikon dipanggil hello. 679 00:32:03,272 --> 00:32:05,480 Apa yang anda harapkan akan berlaku apabila saya tekan Enter kemudian? 680 00:32:05,480 --> 00:32:07,120 >> PENONTON: Ia akan mencetak "hello dunia." 681 00:32:07,120 --> 00:32:10,000 >> DAVID J. MALAN: Semoga ia akan mencetak "hello dunia." 682 00:32:10,000 --> 00:32:11,370 Dan sesungguhnya ia lakukan. 683 00:32:11,370 --> 00:32:13,690 Kini telah ada beberapa sintaks samar di sini. 684 00:32:13,690 --> 00:32:15,950 Mari kita putar balik hanya seketika dan lihat jika kita 685 00:32:15,950 --> 00:32:19,530 tidak boleh mula membuat kesimpulan hanya dengan tinkering, cuba dan gagal, 686 00:32:19,530 --> 00:32:21,130 tentang apa yang berlaku di sini. 687 00:32:21,130 --> 00:32:23,609 Bagaimana jika saya menghilangkan garis sendeng terbalik n? 688 00:32:23,609 --> 00:32:25,650 Kini sebahagian dari kamu yang sudah diprogramkan sebelum mungkin 689 00:32:25,650 --> 00:32:27,054 serta-merta tahu apa yang bermakna. 690 00:32:27,054 --> 00:32:29,220 Tetapi bagi orang-orang yang sudah tidak pernah diprogramkan sebelum, 691 00:32:29,220 --> 00:32:34,052 sekurang-kurangnya berfikir kepada diri sendiri apa yang sedang berlaku berubah apabila saya jalankan lagi program ini? 692 00:32:34,052 --> 00:32:37,010 Jadi saya akan kembali ke saya tetingkap hitam dan putih yang kecil, yang 693 00:32:37,010 --> 00:32:39,290 adalah tingkap di mana Saya boleh menyusun ini. 694 00:32:39,290 --> 00:32:41,130 Saya akan susun semula hello. 695 00:32:41,130 --> 00:32:43,520 Kita akan melihat sama urutan samar arahan. 696 00:32:43,520 --> 00:32:45,719 Dan saya akan melakukan slash dot hello. 697 00:32:45,719 --> 00:32:48,260 Dan sekarang seseorang, jika anda akan, yang tidak pernah diprogramkan sebelum, 698 00:32:48,260 --> 00:32:49,770 apa yang mungkin menjadi berbeza kali ini? 699 00:32:49,770 --> 00:32:50,020 Yeah. 700 00:32:50,020 --> 00:32:51,840 >> PENONTON: Ia tidak akan berhenti percetakan "hello dunia." 701 00:32:51,840 --> 00:32:52,660 >> DAVID J. MALAN: Ia akan supaya- maaf? 702 00:32:52,660 --> 00:32:54,210 >> PENONTON: Ia tidak akan berhenti mencetak ia? 703 00:32:54,210 --> 00:32:55,810 >> DAVID J. MALAN: Ia tidak akan berhenti mencetak "hello dunia." 704 00:32:55,810 --> 00:32:56,560 Jadi bukan idea yang buruk. 705 00:32:56,560 --> 00:32:58,633 Idea-idea lain? 706 00:32:58,633 --> 00:32:59,132 Yeah. 707 00:32:59,132 --> 00:33:00,060 >> PENONTON: Mesej ralat? 708 00:33:00,060 --> 00:33:01,750 >> DAVID J. MALAN: Ralat mesej, OK, boleh. 709 00:33:01,750 --> 00:33:02,250 Apa lagi? 710 00:33:02,250 --> 00:33:05,479 PENONTON: Ia mungkin mencetak kurungan dengan koma bernoktah juga? 711 00:33:05,479 --> 00:33:08,270 DAVID J. MALAN: Mungkin mencetak kurungan dengan koma bernoktah juga. 712 00:33:08,270 --> 00:33:11,950 Jadi mungkin garis sendeng terbalik yang kemudian beberapa jenis terminous yang penting. 713 00:33:11,950 --> 00:33:14,860 Mana-mana pemikiran lain? 714 00:33:14,860 --> 00:33:16,412 >> Jadi semua idea-idea yang baik. 715 00:33:16,412 --> 00:33:18,370 Dan sebenarnya, ia akan menjadi mesej ralat. 716 00:33:18,370 --> 00:33:20,400 Itu mungkin yang paling mungkin untuk menjadi jawapan secara umum 717 00:33:20,400 --> 00:33:22,420 untuk beberapa minggu akan datang seperti yang kita belajar untuk kod di sini. 718 00:33:22,420 --> 00:33:27,680 >> Tetapi untuk sekarang ingat bahawa komputer sahaja apa yang anda memberitahu mereka lakukan. 719 00:33:27,680 --> 00:33:30,400 Sama seperti kacang tanah yang tidak masuk akal mentega dan jeli contoh. 720 00:33:30,400 --> 00:33:33,860 Komputer manusia kita hanya sepatutnya untuk melakukan apa yang anda memberitahu mereka lakukan. 721 00:33:33,860 --> 00:33:36,250 Jadi dalam kes ini, jika anda tidak memberitahu komputer 722 00:33:36,250 --> 00:33:41,190 untuk menggerakkan kursor yang berkelip kepada garis depan, ia tidak akan melakukannya. 723 00:33:41,190 --> 00:33:45,390 Oleh itu, apabila saya menjalankan program ini sekarang, melihat perbezaan. 724 00:33:45,390 --> 00:33:46,900 >> Kelihatan seperti pepijat. 725 00:33:46,900 --> 00:33:49,190 Ia merupakan satu bug estetik, mungkin. 726 00:33:49,190 --> 00:33:53,310 Tetapi apa yang berbeza tentang perkara ini output berbanding yang terakhir jelas? 727 00:33:53,310 --> 00:33:53,810 Yeah. 728 00:33:53,810 --> 00:33:54,920 >> PENONTON: Ia tidak berbuat barisan baru. 729 00:33:54,920 --> 00:33:56,586 >> DAVID J. MALAN: Ia tidak berbuat barisan baru. 730 00:33:56,586 --> 00:33:58,740 Sekarang orang-orang yang mempunyai laman web mungkin dibuat 731 00:33:58,740 --> 00:34:01,910 sebelum, anda mungkin tahu daripada Tag BR atau tag perenggan itu, 732 00:34:01,910 --> 00:34:03,120 hampir sama dalam semangat. 733 00:34:03,120 --> 00:34:06,680 Penyemak imbas web akan mengabaikan anda sehingga anda beritahu apa yang perlu dilakukan. 734 00:34:06,680 --> 00:34:10,020 Begitu juga, adalah bahasa seperti C sahaja akan melakukan apa yang anda beritahu kepada semua lakukan. 735 00:34:10,020 --> 00:34:12,730 >> Jadi alasan bahawa semua contoh-contoh ini, 736 00:34:12,730 --> 00:34:15,350 setakat ini, mempunyai jenis bersahaja mempunyai garis sendeng terbalik ini 737 00:34:15,350 --> 00:34:18,560 di sana, itu cara mana anda meluahkan diri anda 738 00:34:18,560 --> 00:34:21,380 sebagai watak talian baru, jadi untuk bercakap. 739 00:34:21,380 --> 00:34:26,219 Dan anda jenis boleh menghargai, mungkin, ini akan kelihatan jenis bodoh 740 00:34:26,219 --> 00:34:27,070 jika apa-apa lagi. 741 00:34:27,070 --> 00:34:29,150 Jika saya mahu barisan baru, hanya Masukkan memukul dan kemudian jenis 742 00:34:29,150 --> 00:34:32,219 daripada butchering kod seperti itu harus tidak benar-benar menggosok anda dengan cara yang betul. 743 00:34:32,219 --> 00:34:33,830 Dan walaupun anda tidak benar-benar mengambil berat pada masa ini, 744 00:34:33,830 --> 00:34:35,830 anda akan menyedari bahawa ini bukanlah terutamanya 745 00:34:35,830 --> 00:34:37,870 mencari sekeping baik kod. 746 00:34:37,870 --> 00:34:39,969 >> Dan apa yang dunia tahun lalu adalah memutuskan 747 00:34:39,969 --> 00:34:43,420 bahawa apabila anda ingin meletakkan Kursor ke barisan baru dengan jelas, 748 00:34:43,420 --> 00:34:46,332 anda mesti mengatakan dengan jelas talian baru, backslash n. 749 00:34:46,332 --> 00:34:48,040 Dan ada beberapa yang lain simbol-simbol seperti itu. 750 00:34:48,040 --> 00:34:50,719 Tetapi buat masa ini kita akan hanya memberi tumpuan kepada garis sendeng terbalik n. 751 00:34:50,719 --> 00:34:53,790 >> Sekarang mari kita membuat program sedikit lebih menarik. 752 00:34:53,790 --> 00:34:59,200 Saya akan pergi ke depan dan kali ini membuka fail baru. 753 00:34:59,200 --> 00:35:02,520 Saya akan menyimpan ini sebagai hello-1.c. 754 00:35:02,520 --> 00:35:05,540 Dan hanya untuk tendangan, saya akan pergi meletakkan ia ke dalam folder Dropbox saya. 755 00:35:05,540 --> 00:35:09,030 >> Seperti yang anda akan lihat dalam CS50 dokumentasi untuk perkakas, 756 00:35:09,030 --> 00:35:11,210 pada minggu ini untuk Masalah Terletak 1, kami akan menggalakkan 757 00:35:11,210 --> 00:35:13,230 anda untuk menggunakan Dropbox atau beberapa perkhidmatan yang setara, 758 00:35:13,230 --> 00:35:15,430 kerana itu semua kod anda akan disokong secara automatik. 759 00:35:15,430 --> 00:35:17,830 Dan itulah sebabnya mengapa saya telah pergi ke folder ini di sini. 760 00:35:17,830 --> 00:35:20,230 >> Dan sekarang saya akan menulis program yang sedikit berbeza. 761 00:35:20,230 --> 00:35:24,740 Termasuk, saya standard / O.h, tidak sah utama int. 762 00:35:24,740 --> 00:35:29,660 Dan kemudian di sini printf, hello dunia, yang betul-betul sama seperti sebelum ini. 763 00:35:29,660 --> 00:35:32,450 >> Tetapi sekarang saya ingin mencetak sesuatu yang sedikit berbeza. 764 00:35:32,450 --> 00:35:34,800 Saya ingin mencetak, berkata, "Hello, Daud." 765 00:35:34,800 --> 00:35:37,590 Baiklah, jadi jelas, sepatutnya mudah-mudahan 766 00:35:37,590 --> 00:35:40,360 menjadi kes bahawa jika saya susun semula program ini, jalankan lagi ia, 767 00:35:40,360 --> 00:35:41,840 ia akan berkata "hello, Daud." 768 00:35:41,840 --> 00:35:45,160 >> Tetapi bagaimana jika saya ingin memperkenalkan seperti ini berubah-ubah, 769 00:35:45,160 --> 00:35:49,240 tanggapan bekas yang berlaku untuk menyimpan D-a-v-i-d dan kod tidak keras 770 00:35:49,240 --> 00:35:50,600 ke dalam program saya. 771 00:35:50,600 --> 00:35:53,430 Nah bagaimana jika saya memulakan melakukan sesuatu seperti ini? 772 00:35:53,430 --> 00:35:57,120 >> String s, jadi ini adalah pemboleh ubah. 773 00:35:57,120 --> 00:36:00,250 Jika anda ingin rentetan, a.k.a. perkataan atau frasa. 774 00:36:00,250 --> 00:36:03,485 Satu jujukan aksara adalah apa yang kita dalam pengaturcaraan memanggil rentetan. 775 00:36:03,485 --> 00:36:06,610 Kami hanya mahu generik panggilan itu sahaja, kerana ia adalah nama yang mudah baik. 776 00:36:06,610 --> 00:36:08,010 Tetapi saya boleh memanggilnya apa-apa. 777 00:36:08,010 --> 00:36:12,920 >> Saya akan mengatakan setaraf rentetan s quote unquote, "David," dengan koma bernoktah. 778 00:36:12,920 --> 00:36:18,330 Dan sekarang saya mahu memasukkan D-a-v-i-d ke dalam apa yang saya percetakan. 779 00:36:18,330 --> 00:36:23,720 Dan sebelum kami melihat teaser pada skrin beberapa sintaks khas 780 00:36:23,720 --> 00:36:26,050 yang membolehkan kita untuk pengganti dalam nilai. 781 00:36:26,050 --> 00:36:29,250 Apa yang khas simbol slaid yang lalu? 782 00:36:29,250 --> 00:36:30,040 >> Jadi peratus. 783 00:36:30,040 --> 00:36:33,830 Pada masa yang ia adalah peratus d bagi nombor perpuluhan. 784 00:36:33,830 --> 00:36:35,850 Yang tidak benar-benar seolah-olah berkaitan di sini. 785 00:36:35,850 --> 00:36:38,650 Rupa-rupanya ada yang satu lagi simbol peratus, 786 00:36:38,650 --> 00:36:42,810 yang merupakan peratus s, yang berdiri untuk pemegang tempat bagi rentetan. 787 00:36:42,810 --> 00:36:49,350 >> Jadi sekarang, sangat mudah, saya akan pergi membuat hello-1, 788 00:36:49,350 --> 00:36:54,210 kerana fail ini dipanggil hello-1.c, dan tekan Enter. 789 00:36:54,210 --> 00:36:56,230 Dan saya kacau. 790 00:36:56,230 --> 00:36:57,394 Apa yang berlaku? 791 00:36:57,394 --> 00:37:00,560 Nah, di sini di mana kita perlu mula menghargai bahawa kita berada dalam arahan ini 792 00:37:00,560 --> 00:37:02,810 persekitaran line, ini teks hanya persekitaran. 793 00:37:02,810 --> 00:37:06,114 Tidak ada klik pada ikon seperti folder sekarang. 794 00:37:06,114 --> 00:37:07,280 Dan berfikir kembali masa yang lalu. 795 00:37:07,280 --> 00:37:10,740 Dalam apa folder lakukan saya katakan Saya menyelamatkan kod saya? 796 00:37:10,740 --> 00:37:11,657 Jadi folder Dropbox ini. 797 00:37:11,657 --> 00:37:12,989 Boleh dipanggil apa-apa. 798 00:37:12,989 --> 00:37:14,530 Tetapi ia berlaku dipanggil Dropbox. 799 00:37:14,530 --> 00:37:18,380 Jadi saya entah bagaimana perlu menggandakan klik pada folder Dropbox untuk mendapatkan 800 00:37:18,380 --> 00:37:21,657 ke dalamnya dan mendapatkan sekurang-saya kod dipanggil hello-1.c. 801 00:37:21,657 --> 00:37:24,490 Malah, saya pergi ke depan dan mengurangkan tetingkap ini hanya seketika. 802 00:37:24,490 --> 00:37:27,560 Sama seperti Windows dan Mac OS, terdapat folder dalam Linux. 803 00:37:27,560 --> 00:37:29,410 Terdapat folder dalam Appliance CS50. 804 00:37:29,410 --> 00:37:32,380 Ia hanya sekarang kita mengurung diri kita kepada alam sekitar teks ini. 805 00:37:32,380 --> 00:37:34,700 >> Tetapi jika saya menggandakan klik pada Dropbox, perhatikan, terdapat 806 00:37:34,700 --> 00:37:37,210 adalah fail yang saya mahu untuk menyusun. 807 00:37:37,210 --> 00:37:41,430 Tetapi saya perlu ini hitam dan putih tetingkap terminal, jadi untuk bercakap. 808 00:37:41,430 --> 00:37:45,750 Tetapi saya perlukan, oleh itu, untuk bergerak ke dalam folder atau direktori. 809 00:37:45,750 --> 00:37:48,290 Jadi sedikit sukar difahami, tetapi anda akan mendapat digunakan untuk ini juga. 810 00:37:48,290 --> 00:37:50,430 >> Dalam dunia Linux, yang sekali lagi adalah operasi 811 00:37:50,430 --> 00:37:54,860 sistem kami berjalan bahagian dalam CS50 Perkakas, ada arahan yang dikenali sebagai CD. 812 00:37:54,860 --> 00:37:58,310 Ertinya boleh saya lakukan CD, ruang, Dropbox. 813 00:37:58,310 --> 00:37:59,900 CD, direktori perubahan. 814 00:37:59,900 --> 00:38:00,400 Betul. 815 00:38:00,400 --> 00:38:02,890 Kembali pada hari apabila rakyat mencipta komputer dan operasi 816 00:38:02,890 --> 00:38:05,806 sistem seperti ini, mereka mahu taip penekanan butang paling sedikit mungkin. 817 00:38:05,806 --> 00:38:08,760 Jadi cara yang paling mudah untuk mengatakan direktori perubahan adalah CD. 818 00:38:08,760 --> 00:38:13,910 >> Jadi jika saya memukul CD, ruang Dropbox, perhatikan apa yang telah berubah di sini. 819 00:38:13,910 --> 00:38:16,480 Di dalam kurungan perkakas adalah jenis 820 00:38:16,480 --> 00:38:19,360 daripada humoring saya dan mengingatkan saya di mana saya. 821 00:38:19,360 --> 00:38:21,480 Jadi folder terbuka adalah Dropbox. 822 00:38:21,480 --> 00:38:24,950 Jika saya kini taip ls untuk senarai, sekali lagi ringkas, 823 00:38:24,950 --> 00:38:27,540 kerana orang tidak mahu menaip kembali pada hari l-i-s-t. 824 00:38:27,540 --> 00:38:29,300 Jadi mereka sebaliknya membuat ia, Adakah. 825 00:38:29,300 --> 00:38:30,110 >> Enter. 826 00:38:30,110 --> 00:38:35,740 Perhatikan saya melihat dua perkara, hello-1.c, dan kemudian perkara ini samar, sumber 1m. 827 00:38:35,740 --> 00:38:38,310 Itu hanya cara saya berkata Kod sumber untuk minggu 1 Isnin. 828 00:38:38,310 --> 00:38:42,020 Itu satu folder saya turun dari Laman web CS50 yang saya dibuat awal hari ini 829 00:38:42,020 --> 00:38:43,990 dan hanya meletakkan ia ke dalam perkakas terlebih dahulu. 830 00:38:43,990 --> 00:38:47,550 >> Tetapi buat masa ini satu-satunya perkara yang kita mengambil berat tentang membuat program ini. 831 00:38:47,550 --> 00:38:50,440 Oleh itu, apabila saya menaip membuat hello-1, Enter. 832 00:38:50,440 --> 00:38:51,320 Celaka. 833 00:38:51,320 --> 00:38:53,060 Sesuatu telah berlaku. 834 00:38:53,060 --> 00:38:54,580 Jadi mari kita mengusik ini selain. 835 00:38:54,580 --> 00:38:58,489 Dan malangnya ini adalah di mana perkara-perkara mendapatkan sedikit tertekan pada mulanya, 836 00:38:58,489 --> 00:39:00,280 sekurang-kurangnya jika anda mempunyai tidak pernah sebelum diprogramkan. 837 00:39:00,280 --> 00:39:00,980 >> Saya tuhan. 838 00:39:00,980 --> 00:39:04,990 Saya menulis program dua talian dan Saya mempunyai empat baris kesilapan. 839 00:39:04,990 --> 00:39:07,180 Jadi apa yang berlaku di sini. 840 00:39:07,180 --> 00:39:11,370 Pertama sekali selalu skrol kembali dan mendapati mesej ralat yang pertama, 841 00:39:11,370 --> 00:39:15,730 kerana sering kali hanya Compilers keliru dengan apa yang anda dan saya lakukan. 842 00:39:15,730 --> 00:39:17,000 Compilers cukup bisu. 843 00:39:17,000 --> 00:39:18,360 Mereka hanya akan melakukan apa yang anda memberitahu mereka lakukan. 844 00:39:18,360 --> 00:39:21,484 Dan jika anda mengelirukan mereka, mereka hanya akan jenis muntah tangan mereka 845 00:39:21,484 --> 00:39:25,010 dan mungkin membuang lebih lanjut Mesej ralat daripada sebenarnya berkaitan. 846 00:39:25,010 --> 00:39:26,380 >> Jadi mari kita lihat yang pertama. 847 00:39:26,380 --> 00:39:27,540 Super samar pada mulanya. 848 00:39:27,540 --> 00:39:31,050 Tetapi notis, di sini atas nama Fail di mana saya kacau nampaknya. 849 00:39:31,050 --> 00:39:36,570 Colon 5, kolon 5 hanya bermakna pada baris 5 pada watak kelima. 850 00:39:36,570 --> 00:39:39,760 Jadi ruang kelima aksara, jika anda akan, kesilapan. 851 00:39:39,760 --> 00:39:41,870 Penggunaan tali pengecam yang tidak diisytiharkan. 852 00:39:41,870 --> 00:39:43,120 Adakah maksud standard n? 853 00:39:43,120 --> 00:39:44,850 >> Tidak, saya maksudkan tali. 854 00:39:44,850 --> 00:39:47,640 Dan kemudian ia adalah jenis menyalin dan menampal 855 00:39:47,640 --> 00:39:50,700 apa yang saya taip untuk benar-benar menarik saya perhatian kepada di mana saya kacau. 856 00:39:50,700 --> 00:39:54,260 Jadi atas sebab C, atau sekurang-kurangnya pengkompil 857 00:39:54,260 --> 00:39:56,470 tidak memahami rentetan perkataan. 858 00:39:56,470 --> 00:39:57,890 Dan itu kerana kita membuat ia naik. 859 00:39:57,890 --> 00:40:01,440 Jadi rentetan tidak wujud di C. Apakah CS50 tidak, 860 00:40:01,440 --> 00:40:03,380 untuk beberapa minggu pertama hanya kelas, 861 00:40:03,380 --> 00:40:05,700 adalah kami menyediakan beberapa latihan roda, jadi untuk bercakap. 862 00:40:05,700 --> 00:40:11,160 Dan kita meletakkan ini roda latihan di dalam fail khas yang dipanggil CS50.h. 863 00:40:11,160 --> 00:40:14,970 >> Jadi ini adalah bahagian kedua daripada dua fail nama-nama yang nampaknya berakhir dengan dot h. 864 00:40:14,970 --> 00:40:16,300 Mari kita putar balik. 865 00:40:16,300 --> 00:40:19,360 Printf adalah suatu pernyataan atau fungsi yang nampaknya mencetak sesuatu 866 00:40:19,360 --> 00:40:20,580 ke skrin. 867 00:40:20,580 --> 00:40:23,470 Tetapi anda tidak melihat saya melaksanakan printf, betul. 868 00:40:23,470 --> 00:40:26,360 Seseorang tahun lalu dilaksanakan printf. 869 00:40:26,360 --> 00:40:30,420 Dalam apa fail yang anda akan bertaruh dia atau dia meletakkan pelaksanaan 870 00:40:30,420 --> 00:40:34,270 untuk printf, kod untuk printf? 871 00:40:34,270 --> 00:40:36,860 >> Dalam fail yang dipanggil standard I / O.h. 872 00:40:36,860 --> 00:40:39,930 Malah, ia mungkin dalam dua fail, saya standard / O.h, 873 00:40:39,930 --> 00:40:42,650 yang bermaksud header fail, dan saya standard / O.c, 874 00:40:42,650 --> 00:40:44,060 yang bermaksud C kod sumber. 875 00:40:44,060 --> 00:40:48,220 Jadi dia beberapa tahun yang lalu plopped kod yang mereka menulis ke dalam fail yang 876 00:40:48,220 --> 00:40:51,240 supaya orang-orang seperti kami tahun kemudian boleh memasukkannya, 877 00:40:51,240 --> 00:40:53,040 boleh dikatakan, dalam program-program kita sendiri. 878 00:40:53,040 --> 00:40:56,320 >> Dan sesungguhnya, itulah yang tanda pound diikuti dengan perkataan termasuk tidak. 879 00:40:56,320 --> 00:41:00,250 Ia kelihatan pada cakera keras tempatan, mendapati fail yang dipanggil standard I / O.h, 880 00:41:00,250 --> 00:41:03,840 dan kemudian dengan berkesan salinan dan Pes ia di dalam fail saya sendiri. 881 00:41:03,840 --> 00:41:07,210 Jadi sekarang saya tahu program bagaimana untuk mencetak skrin. 882 00:41:07,210 --> 00:41:11,120 >> Jadi dengan logik bahawa, jika adalah rentetan ditakrifkan? 883 00:41:11,120 --> 00:41:12,260 >> PENONTON: CS50.h. 884 00:41:12,260 --> 00:41:13,290 >> DAVID J. MALAN: CS50.h. 885 00:41:13,290 --> 00:41:15,540 Dan sesungguhnya, itulah yang kita, kakitangan teras, telah dibuat. 886 00:41:15,540 --> 00:41:19,590 Kami telah mencipta beberapa jenis data, boleh dikatakan, seperti tali, 887 00:41:19,590 --> 00:41:22,370 sebagai tambahan kepada orang-orang yang anda mendapatkan secara percuma, seperti int satu. 888 00:41:22,370 --> 00:41:26,010 Dan kita akan melihat orang lain seperti char a untuk watak dan beberapa lagi. 889 00:41:26,010 --> 00:41:30,670 Bahagian dalam CS50.h nampaknya adalah sekurang-kurangnya beberapa menyebut rentetan. 890 00:41:30,670 --> 00:41:34,980 >> Jadi sekarang biarlah saya pergi ke hadapan dan make jalankan lagi hello-1. 891 00:41:34,980 --> 00:41:37,100 Saya akan mengezum masuk lagi dan menyeberangi jari saya. 892 00:41:37,100 --> 00:41:41,370 Sekarang oleh kerana membuat satu mengubah saya tetap kebanyakan perkara. 893 00:41:41,370 --> 00:41:42,100 Tetapi persetan. 894 00:41:42,100 --> 00:41:44,290 Lebih banyak persen dari hujah-hujah data. 895 00:41:44,290 --> 00:41:45,980 Apa yang saya buat salah kali ini? 896 00:41:45,980 --> 00:41:47,420 >> Jadi ia masih agak samar. 897 00:41:47,420 --> 00:41:51,560 Tetapi kesilapan ini adalah pada baris 7 dan watak 21. 898 00:41:51,560 --> 00:41:53,880 Jadi mari kita pergi melihat di sini. 899 00:41:53,880 --> 00:41:55,350 Ia sedikit halus. 900 00:41:55,350 --> 00:41:59,167 Tetapi jika anda berfikir tentang apa yang idea-idea asas di sini adalah, 901 00:41:59,167 --> 00:42:00,500 mungkin kita boleh dapati selain ini. 902 00:42:00,500 --> 00:42:02,300 >> Jadi printf adalah nama fungsi. 903 00:42:02,300 --> 00:42:04,960 Kurungan, setakat ini, adalah sama seperti apa yang kita masukkan di sekitar 904 00:42:04,960 --> 00:42:07,005 barangan yang kita lulus sebagai input kepada fungsi. 905 00:42:07,005 --> 00:42:08,921 Baiklah, hanya konvensyen manusia sewenang-wenangnya. 906 00:42:08,921 --> 00:42:09,919 Gunakan kurungan. 907 00:42:09,919 --> 00:42:12,460 Di dalam orang-orang kurungan kami telah meletakkan sebut harga berganda, 908 00:42:12,460 --> 00:42:14,810 dan kemudian rentetan seperti "hello dunia." 909 00:42:14,810 --> 00:42:18,160 >> Tetapi dalam contoh yang awal sangat secara ringkas Kami tidak melihat dengan Scratch. 910 00:42:18,160 --> 00:42:22,590 Dan kami mempunyai peratus d, apa lagi adalah dari orang-orang di dalam kurungan 911 00:42:22,590 --> 00:42:23,730 bahawa saya memanggil secara lisan? 912 00:42:23,730 --> 00:42:24,230 Yeah. 913 00:42:24,230 --> 00:42:28,166 >> PENONTON: Jadi apa yang anda mengambil [Didengar] dari dalam [didengar] 914 00:42:28,166 --> 00:42:30,200 apa ini [didengar]? 915 00:42:30,200 --> 00:42:31,200 DAVID J. MALAN: Tepat sekali. 916 00:42:31,200 --> 00:42:32,700 Oleh itu, kita mempunyai peratus d. 917 00:42:32,700 --> 00:42:36,620 Tetapi kami mempunyai hampir quote, koma, kaunter. 918 00:42:36,620 --> 00:42:37,120 Betul. 919 00:42:37,120 --> 00:42:40,680 Kami dinyatakan apa yang kita mahu lakukan sebagai pemegang tempat itu. 920 00:42:40,680 --> 00:42:44,621 Jadi, apa yang saya akan lakukan ialah koma, apa yang anda mahu saya untuk meletakkan? 921 00:42:44,621 --> 00:42:45,120 PENONTON: S. 922 00:42:45,120 --> 00:42:46,828 DAVID J. MALAN: S, kerana dalam kes ini 923 00:42:46,828 --> 00:42:48,700 adalah nama bekas simpanan. 924 00:42:48,700 --> 00:42:50,180 Ia adalah nama yang mangkuk kaca. 925 00:42:50,180 --> 00:42:53,610 Sedangkan sebelum itu merupakan kaunter yang di contoh Scratch mudah kita melihat. 926 00:42:53,610 --> 00:42:56,630 Jadi sekarang setelah membuat dua perubahan, biarlah saya mengezum masuk 927 00:42:56,630 --> 00:42:59,800 dan cuba sekali lagi untuk menyusun program ini. 928 00:42:59,800 --> 00:43:01,596 >> Sekarang saya melihat bahawa garis samar. 929 00:43:01,596 --> 00:43:03,470 Tetapi itu sebenarnya nama daripada pengkompil. 930 00:43:03,470 --> 00:43:04,886 Dentang adalah nama pengkompil. 931 00:43:04,886 --> 00:43:07,100 Buat hanya menyelamatkan saya sakit kepala yang pernah 932 00:43:07,100 --> 00:43:09,830 menaip arahan yang panjang gila keluar. 933 00:43:09,830 --> 00:43:14,900 Jadi sekarang jika saya dot mengurangkan hello-1, Saya perlu melihat "hello, Daud." 934 00:43:14,900 --> 00:43:16,450 >> Pretty underwhelming, walaupun, bukan? 935 00:43:16,450 --> 00:43:18,158 Kami boleh dilakukan ini banyak yang lebih semata-mata 936 00:43:18,158 --> 00:43:20,940 tanpa bercakap tentang pembolehubah dan CS50.h dan semua itu. 937 00:43:20,940 --> 00:43:23,080 Oleh itu, marilah menjadikannya sebagai sedikit lebih menarik. 938 00:43:23,080 --> 00:43:31,010 >> Selain CS50.h, mempunyai hal-hal seperti tali 939 00:43:31,010 --> 00:43:34,550 diisytiharkan, perpustakaan CS50 juga mempunyai fungsi-fungsi beberapa. 940 00:43:34,550 --> 00:43:38,520 Jadi tahun sama seperti yang lalu, seseorang telah menulis printf dan memasukkannya ke dalam standard I / O.h 941 00:43:38,520 --> 00:43:39,530 dan fail lain. 942 00:43:39,530 --> 00:43:44,010 >> Kami, kakitangan CS50 ini, menulis fungsi dipanggil GetChar, GetDouble, GetFloat, 943 00:43:44,010 --> 00:43:47,610 GetInt, GetLongLong, GetString, dan kami meletakkan mereka di dalam fail 944 00:43:47,610 --> 00:43:49,890 dipanggil CS50.h dan CS50.c. 945 00:43:49,890 --> 00:43:51,880 Dan kami meletakkan mereka di dalam daripada Appliance CS50. 946 00:43:51,880 --> 00:43:53,880 Dan orang juga boleh turun mereka dalam talian jika mereka 947 00:43:53,880 --> 00:43:55,880 mahu meletakkan mereka pada mereka komputer sendiri juga. 948 00:43:55,880 --> 00:44:00,880 Yang mengatakan bahawa kami telah mencipta fungsi yang mendapatkan input daripada pengguna. 949 00:44:00,880 --> 00:44:02,930 Saya tidak tahu apa yang semua data jenis ini adalah. 950 00:44:02,930 --> 00:44:06,490 GetInt adalah jenis mudah, seperti mendapatkan integer entah bagaimana daripada pengguna. 951 00:44:06,490 --> 00:44:09,980 Dan GetString mungkin seperti get perkataan atau hukuman daripada pengguna. 952 00:44:09,980 --> 00:44:11,770 >> Jadi mari kita memberi tumpuan kepada itu. 953 00:44:11,770 --> 00:44:14,710 Dan saya akan kembali ke dalam perkakas dan saya akan pergi ke depan 954 00:44:14,710 --> 00:44:20,790 dan simpan fail ini sebagai, mari kita memanggil ia hello-2.c sebagai versi kedua saya. 955 00:44:20,790 --> 00:44:23,030 Dan mari kita membuat beberapa perubahan. 956 00:44:23,030 --> 00:44:25,800 >> Ini masa bukan pengekodan David keras, yang 957 00:44:25,800 --> 00:44:29,120 membuat sangat konsisten tetapi program underwhelming, 958 00:44:29,120 --> 00:44:32,640 bagaimana jika saya bukannya melakukan GetString? 959 00:44:32,640 --> 00:44:35,660 Sekarang perhatikan GetString mempunyai kurungan terbuka, 960 00:44:35,660 --> 00:44:38,500 kurungan tertutup, kerana ia tidak memerlukan apa-apa input. 961 00:44:38,500 --> 00:44:40,850 Ia hanya akan pergi mendapatkan rentetan daripada pengguna. 962 00:44:40,850 --> 00:44:42,460 >> Dan kini sebuah kata pada sintaks lain. 963 00:44:42,460 --> 00:44:45,439 Koma bertitik sahaja menamatkan baris kod. 964 00:44:45,439 --> 00:44:46,730 Anda tidak perlu mereka di mana-mana. 965 00:44:46,730 --> 00:44:48,896 Tetapi itu hanya bermakna saya dilakukan dengan baris ini kod. 966 00:44:48,896 --> 00:44:51,080 Biar saya bergerak ke satu lagi pernyataan atau fungsi. 967 00:44:51,080 --> 00:44:53,010 Rentetan mengisytiharkan pemboleh ubah. 968 00:44:53,010 --> 00:44:55,920 Rentetan ialah seperti berkata memberi saya mangkuk, sila. 969 00:44:55,920 --> 00:44:57,940 Dan biarlah saya meletakkan tali di dalamnya. 970 00:44:57,940 --> 00:44:59,430 >> Dan kini tanda yang sama. 971 00:44:59,430 --> 00:45:03,510 Apakah tanda yang sama yang hampir sama dengan? 972 00:45:03,510 --> 00:45:04,500 >> PENONTON: Berikan. 973 00:45:04,500 --> 00:45:06,190 >> DAVID J. MALAN: Yeah, memberi nilai. 974 00:45:06,190 --> 00:45:09,872 Jadi, jika saya, misalnya, panggilan fungsi ini GetString, 975 00:45:09,872 --> 00:45:12,830 dan kita akan melihat dalam seketika itu akan mendorong pengguna untuk rentetan. 976 00:45:12,830 --> 00:45:17,810 Ini seperti membiarkan saya kemudian menulis D-a-v-i-d di atas sekeping kertas. 977 00:45:17,810 --> 00:45:21,060 Dan apabila saya katakan tali s sama GetString, 978 00:45:21,060 --> 00:45:24,140 sama tidak benar-benar bermakna sama dalam pengaturcaraan C. 979 00:45:24,140 --> 00:45:27,880 Ini bermakna menyerah hak dari kanan sebelah ke sebelah kiri. 980 00:45:27,880 --> 00:45:29,510 >> Jadi saya telah mendapat rentetan. 981 00:45:29,510 --> 00:45:32,785 Dan tanda yang sama ertinya meletakkannya dalam simpanan bekas dipanggil s. 982 00:45:32,785 --> 00:45:36,730 Dan Kemudian lulus ini di luar untuk printf untuk benar-benar melakukan perkara. 983 00:45:36,730 --> 00:45:39,790 >> Jadi keputusan akhir kemudian akan kelihatan sedikit berbeza. 984 00:45:39,790 --> 00:45:40,840 Mari kita tidak membuat hello-2. 985 00:45:40,840 --> 00:45:43,940 986 00:45:43,940 --> 00:45:45,260 Sama ada boleh bekerja. 987 00:45:45,260 --> 00:45:46,450 Anda ikuti bersama-sama. 988 00:45:46,450 --> 00:45:47,940 Buat hello-2 bekerja. 989 00:45:47,940 --> 00:45:52,640 Dot mengurangkan hello-2, Enter. 990 00:45:52,640 --> 00:45:54,620 >> Saya seolah-olah mempunyai tidak terhad gelung atau sesuatu. 991 00:45:54,620 --> 00:45:55,453 Tiada apa-apa yang berlaku. 992 00:45:55,453 --> 00:45:56,134 Mengapa? 993 00:45:56,134 --> 00:45:57,805 >> PENONTON: Ia membuat gelung tak terhingga. 994 00:45:57,805 --> 00:45:59,430 DAVID J. MALAN: Ini adalah gelung tak terhingga. 995 00:45:59,430 --> 00:46:02,710 Ia sejenis menunggu saya untuk benar-benar memberikan dengan beberapa input. 996 00:46:02,710 --> 00:46:05,800 Jadi biarlah saya pergi ke hadapan dan menaip dalam David, dan tekan Enter. 997 00:46:05,800 --> 00:46:07,230 Dan kini ia berkata "hello, Daud." 998 00:46:07,230 --> 00:46:09,040 Sekiranya saya sekali lagi. 999 00:46:09,040 --> 00:46:11,530 Mari kita taip Rob, "hello, Rob." 1000 00:46:11,530 --> 00:46:13,900 >> Ini adalah yang paling teruk antara muka pengguna yang pernah. 1001 00:46:13,900 --> 00:46:16,110 Pengguna adalah nampaknya sepatutnya tahu apa yang perlu dilakukan. 1002 00:46:16,110 --> 00:46:17,120 Tetapi tidak kira. 1003 00:46:17,120 --> 00:46:19,570 Menggunakan bangunan ini sama blok seperti dalam Scratch, 1004 00:46:19,570 --> 00:46:24,980 kami boleh menyelesaikan masalah itu dan berkata sesuatu seperti nama anda, sila, kolon, 1005 00:46:24,980 --> 00:46:27,820 ruang, ditutup quote, berhampiran kurungan, koma bernoktah. 1006 00:46:27,820 --> 00:46:30,680 Jadi banyak lagi kebodohan dengan sintaks. 1007 00:46:30,680 --> 00:46:34,040 >> Tetapi notis Saya baru sahaja menambah sekeping teka-teki di atas satu ini 1008 00:46:34,040 --> 00:46:35,280 dan ke atas yang satu ini. 1009 00:46:35,280 --> 00:46:38,870 Jadi sekarang jika saya jalankan lagi ini, hello-2, Enter. 1010 00:46:38,870 --> 00:46:41,180 Tunggu satu minit. 1011 00:46:41,180 --> 00:46:41,830 Apa salahnya? 1012 00:46:41,830 --> 00:46:43,570 Ia tidak bertindak apa-apa yang berbeza. 1013 00:46:43,570 --> 00:46:44,200 Yeah. 1014 00:46:44,200 --> 00:46:46,010 >> PENONTON: Anda tidak membuka warung membuat lagi. 1015 00:46:46,010 --> 00:46:47,968 >> DAVID J. MALAN: Saya tidak menjalankan membuat sekali lagi, betul. 1016 00:46:47,968 --> 00:46:49,430 Jadi saya telah mengubah kod sumber saya. 1017 00:46:49,430 --> 00:46:50,638 Tetapi sekali lagi, ada aliran itu. 1018 00:46:50,638 --> 00:46:54,530 Kod sumber melalui pengkompil memberikan anda kod objek baru, atau 0 dan 1s. 1019 00:46:54,530 --> 00:47:00,209 Jadi saya perlu untuk benar-benar make jalankan lagi hello-2 Enter. 1020 00:47:00,209 --> 00:47:01,750 OK, sesuatu yang seolah-olah telah berlaku. 1021 00:47:01,750 --> 00:47:04,220 Dot mengurangkan hello-2. 1022 00:47:04,220 --> 00:47:05,390 Nama anda sila. 1023 00:47:05,390 --> 00:47:09,990 Dan menjadi jelas sekarang, mengapa kursor pada baris yang sama? 1024 00:47:09,990 --> 00:47:10,490 Tepat sekali. 1025 00:47:10,490 --> 00:47:13,020 Saya tidak meletakkan garis sendeng terbalik di n di sini dalam kod saya. 1026 00:47:13,020 --> 00:47:16,110 Jadi sekarang saya boleh menulis sesuatu seperti Daven, Enter. 1027 00:47:16,110 --> 00:47:18,710 Saya boleh berlari lagi dan menaip sesuatu seperti Gabe, Masukkan, 1028 00:47:18,710 --> 00:47:22,250 dan kita mendapat program yang berbeza lagi dan lagi dan lagi. 1029 00:47:22,250 --> 00:47:28,940 >> Kini akhirnya kita akan perlu menggunakan beberapa keupayaan yang berbeza. 1030 00:47:28,940 --> 00:47:32,860 Kita perlu memperkenalkan akhirnya beberapa syarat-syarat untuk melakukan perkara-perkara dengan bersyarat. 1031 00:47:32,860 --> 00:47:35,550 Mungkin gelung supaya kita boleh melakukan perkara lagi dan lagi. 1032 00:47:35,550 --> 00:47:38,220 >> Mungkin ia akan lebih baik jika kita boleh melaksanakan fungsi kita sendiri, 1033 00:47:38,220 --> 00:47:41,355 seperti kita boleh melaksanakan sendiri printf atau versi kita sendiri GetString 1034 00:47:41,355 --> 00:47:45,870 dan GetFlow, kerana akhirnya walaupun menggunakan persekitaran baris arahan ini 1035 00:47:45,870 --> 00:47:49,780 yang boleh kita lakukan walaupun yang paling visual menarik perkara. 1036 00:47:49,780 --> 00:47:51,950 >> Sesungguhnya dalam kesimpulan biarlah saya melakukan ini. 1037 00:47:51,950 --> 00:47:54,020 Saya akan pergi ke depan dan tutup tingkap ini 1038 00:47:54,020 --> 00:47:57,400 dan buka ikon ini di sini, yang hanya yang lebih besar 1039 00:47:57,400 --> 00:48:00,020 versi yang tertanam tetingkap terminal. 1040 00:48:00,020 --> 00:48:02,329 Jadi gedit bukan sahaja tempat untuk kod saya, 1041 00:48:02,329 --> 00:48:05,620 tetapi juga terbina dalam tetingkap terminal, tetingkap hitam dan putih di mana saya boleh menjalankan 1042 00:48:05,620 --> 00:48:06,230 arahan. 1043 00:48:06,230 --> 00:48:08,600 >> Saya hanya berlaku untuk membuka versi yang lebih besar daripada ini. 1044 00:48:08,600 --> 00:48:11,170 Dan sekarang saya akan pergi ke folder yang saya telah pun 1045 00:48:11,170 --> 00:48:13,150 meletakkan terlebih dahulu di laman web kursus ini. 1046 00:48:13,150 --> 00:48:16,720 Dan saya akan pergi ke depan dan membuka fail yang dipanggil thadgavin.c, 1047 00:48:16,720 --> 00:48:18,710 yang ditulis oleh orang lain. 1048 00:48:18,710 --> 00:48:21,220 >> Dan jika kita melihat ini, ini bukanlah jenis kod 1049 00:48:21,220 --> 00:48:24,370 kami akan menulis sejak matlamat kod ini 1050 00:48:24,370 --> 00:48:28,450 adalah untuk menulis tercantik mencari kod yang dia boleh, 1051 00:48:28,450 --> 00:48:31,290 tidak kira sama ada atau tidak manusia lain boleh pernah 1052 00:48:31,290 --> 00:48:33,660 memahami kod ini. 1053 00:48:33,660 --> 00:48:37,050 >> Malah, setiap tahun ada apa yang dipanggil C pertandingan dikelirukan, yang 1054 00:48:37,050 --> 00:48:39,570 adalah untuk Geeks sebenar yang menulis kod yang tidak ada orang lain boleh membaca, 1055 00:48:39,570 --> 00:48:42,050 tetapi melakukan sesuatu sama ada benar-benar mudah atau benar-benar menakjubkan. 1056 00:48:42,050 --> 00:48:43,890 Dan kita fikir kita akan menyimpulkan dengan wajah ini 1057 00:48:43,890 --> 00:48:48,300 pada sesuatu yang cukup luar biasa anda mungkin telah melihat sekali sebelum. 1058 00:48:48,300 --> 00:48:52,650 Tetapi kita akan berakhir pada ini nota, slash dot, thadgavin. 1059 00:48:52,650 --> 00:48:53,860 Ini kemudian adalah apa yang menanti. 1060 00:48:53,860 --> 00:48:57,140 1061 00:48:57,140 --> 00:48:58,500 >> Itu sahaja untuk CS50. 1062 00:48:58,500 --> 00:48:59,935 Kami akan melihat anda pada hari Rabu. 1063 00:48:59,935 --> 00:49:04,284 1064 00:49:04,284 --> 00:49:10,016 >> [MUZIK bermain] 1065 00:49:10,016 --> 00:53:31,883