1 00:00:00,000 --> 00:00:11,952 2 00:00:11,952 --> 00:00:13,800 >> DAVID J. MALAN: Belə ki, bu CS50 edir. 3 00:00:13,800 --> 00:00:18,970 Və bu CS50 öz Colton Ogden idi daha olan musiqi bilərsiniz var 4 00:00:18,970 --> 00:00:22,820 soundcloud.com/cs50 download. 5 00:00:22,820 --> 00:00:26,690 >> Belə ki, bu gün biz bütün daha çox diqqət proqramlaşdırma sənət. 6 00:00:26,690 --> 00:00:28,980 Biz sol harada və biz almaq Keçən həftə off, diqqət 7 00:00:28,980 --> 00:00:31,660 Not, bu idi qrafik proqramlaşdırma dili. 8 00:00:31,660 --> 00:00:35,490 Və aşağı səviyyədə aşağı şeyi almaq bir daha ənənəvi proqramlaşdırma istifadə 9 00:00:35,490 --> 00:00:38,420 C dili kimi tanınan Amma yol boyunca, həyata 10 00:00:38,420 --> 00:00:40,730 Eyni fikir ki, biz Ötən cümə günü haqqında danışdı 11 00:00:40,730 --> 00:00:44,390 yalnız bu qayıtmaq edəcək dil C, lakin ən hər digər 12 00:00:44,390 --> 00:00:46,350 biz bu dövr baxmaq. 13 00:00:46,350 --> 00:00:50,247 >> Beləliklə, biz bu şey deyilən burada nə son dəfə idi? 14 00:00:50,247 --> 00:00:51,830 Bu bəyanat nümayəndəsidir. 15 00:00:51,830 --> 00:00:53,080 Beləliklə, biz bu deyilən şərhdə. 16 00:00:53,080 --> 00:00:54,100 Və bir şey yoxdur. 17 00:00:54,100 --> 00:00:56,910 Bu təlimat var ki, bir kompüter və ya Scratch icra edə bilər. 18 00:00:56,910 --> 00:00:59,910 Və bundan sonra da, də başlamaq edək bu bir funksiyası kimi bir şey zəng, 19 00:00:59,910 --> 00:01:02,070 səbəblərə görə biz tezliklə görəcəksiniz. 20 00:01:02,070 --> 00:01:03,681 >> Eyni zamanda, biz bu kimi şeylər gördüm. 21 00:01:03,681 --> 00:01:05,680 Bu ümumiyyətlə tikintisi nə kimi tanınan? 22 00:01:05,680 --> 00:01:06,240 >> Auditoriya: Loop. 23 00:01:06,240 --> 00:01:06,860 >> DAVID J. MALAN: Belə bir loop. 24 00:01:06,860 --> 00:01:07,943 Belə ki, olduqca sadə. 25 00:01:07,943 --> 00:01:09,470 Bu sözün deyir nə. 26 00:01:09,470 --> 00:01:12,210 Və Scratch, siz istəyirsinizsə orada daha puzzle ədəd basırıq, 27 00:01:12,210 --> 00:01:13,950 Bu parça uyğun artacaq. 28 00:01:13,950 --> 00:01:16,790 Və biz C görmək lazımdır ki, biz eyni şey edə bilərsiniz. 29 00:01:16,790 --> 00:01:20,000 >> Loop bir növü olsa da, Not əbədi ola bilər, 30 00:01:20,000 --> 00:01:21,820 və ya hər hansı bir sayı var digər yanaşmalar. 31 00:01:21,820 --> 00:01:24,150 Amma bir daha götürək bir üz ilə generalist göz, 32 00:01:24,150 --> 00:01:27,402 ki, ehtimal olduqca tanış daha ümumiyyətlə ilmə. 33 00:01:27,402 --> 00:01:29,110 Mark Zuckerberg: One şey kompüter ki, 34 00:01:29,110 --> 00:01:31,860 nə həqiqətən yaxşı əmrləri təkrar. 35 00:01:31,860 --> 00:01:33,910 Bir şəxs kimi, almaq istədiyiniz həqiqətən cansıxıcı əgər 36 00:01:33,910 --> 00:01:36,730 eyni şey idi Bir sıra dəfə çox. 37 00:01:36,730 --> 00:01:40,530 Amma bir kompüter eyni şey edə bilərsiniz milyonlarla və ya dəfə hətta milyardlarla 38 00:01:40,530 --> 00:01:43,290 və cansıxıcı almaq və edə bilməz həqiqətən yaxşı həyata keçirmək. 39 00:01:43,290 --> 00:01:45,650 >> Məsələn, əgər mən hər kəs arzu etmək istədi 40 00:01:45,650 --> 00:01:48,840 Facebook xoşbəxt ad günü haqqında onlara bir e-poçt göndererek, 41 00:01:48,840 --> 00:01:51,550 daha bir çox mənə bilər əsr həqiqətən yazmaq 42 00:01:51,550 --> 00:01:53,000 hər kəs bu e-poçt bütün. 43 00:01:53,000 --> 00:01:57,780 Kod yalnız bir neçə xətləri ancaq, Mən bir sistem hər kəs bir e-poçt göndərmək 44 00:01:57,780 --> 00:01:59,930 Facebook istəyən on Onlara xoşbəxt ad günü. 45 00:01:59,930 --> 00:02:02,730 Ki, belə loops nə və niyə onlar qiymətli bir şey 46 00:02:02,730 --> 00:02:04,740 ki, kompüter çox yaxşı bilər. 47 00:02:04,740 --> 00:02:05,630 >> DAVID J. MALAN: Belə ki Əgər alan oldum 48 00:02:05,630 --> 00:02:07,820 CS50 nin bəzi və Gec Dropbox yer, 49 00:02:07,820 --> 00:02:10,590 dəqiq əslində nə biz olduqca kimi kodu istifadə edərək, yoxdur. 50 00:02:10,590 --> 00:02:12,600 Biz mahiyyətcə böyük var elektron tablo daxil 51 00:02:12,600 --> 00:02:15,016 insanlar giren edilmişdir onların adları və e-poçt ünvanları. 52 00:02:15,016 --> 00:02:18,160 Və biz bir kod kiçik bit yazırdı ki, bu URL üzərində təkrarlamaq bilər 53 00:02:18,160 --> 00:02:21,860 və unikal ünvanları tüpürmək halda hər kəs çox dəfə təqdim. 54 00:02:21,860 --> 00:02:25,120 Və sonra, biz göndər CS50 bot e-poçt avtomatik, 55 00:02:25,120 --> 00:02:27,190 kupon kodu daxil olmaqla. 56 00:02:27,190 --> 00:02:29,290 >> İndi biz də baxdı bu son dəfə tikintisi. 57 00:02:29,290 --> 00:02:33,100 Və bu xüsusi edir Nə misal? 58 00:02:33,100 --> 00:02:35,050 Belə ki, Bəli, bir Boolean ifadə. 59 00:02:35,050 --> 00:02:37,050 Və forma nəzərdə tutulur kimi yaxşı tutmaq. 60 00:02:37,050 --> 00:02:39,966 Bu bütün bu cür suallar doğru və ya Not saxta təşkil 61 00:02:39,966 --> 00:02:41,590 bu kimi bir az bir şey görünür. 62 00:02:41,590 --> 00:02:43,200 Və biz bu Boolean ifadə zəng. 63 00:02:43,200 --> 00:02:46,170 Həqiqətən doğru və ya yalan yes və ya heç. 64 00:02:46,170 --> 00:02:49,150 Bu suala cavab bir yolu var. 65 00:02:49,150 --> 00:02:52,420 >> Və vaxt bu Boolean istifadə edə bilərsiniz yapıları daxilində ifadələri 66 00:02:52,420 --> 00:02:54,720 olan bu kimi Əlbəttə şərtlər 67 00:02:54,720 --> 00:02:57,259 və ya filialları, atasözü yol çəngəllər. 68 00:02:57,259 --> 00:02:59,550 Və onlar yalnız baxmaq olar oxşar, lakin onlar həmçinin 69 00:02:59,550 --> 00:03:02,080 onlarla Elsəs bağlı var. 70 00:03:02,080 --> 00:03:05,820 Və həqiqətən üç yolu ola bilər yol çəngəl və ya dörd yol çəngəl 71 00:03:05,820 --> 00:03:08,340 yol, sadəcə bu şeyi yuva, 72 00:03:08,340 --> 00:03:10,510 Siz Not görəcəksiniz kimi Əgər siz artıq varsa. 73 00:03:10,510 --> 00:03:13,550 Və siz də C edə bilərsiniz kimi. 74 00:03:13,550 --> 00:03:16,810 >> Bir başqa və ümumi edək , eləcə də, bir alumnist baxmaq edən 75 00:03:16,810 --> 00:03:21,490 fərqli bir yanaşma təqdim edə bilər şərait adlanan bu şeylər. 76 00:03:21,490 --> 00:03:24,060 >> BILL GATES: People etmək qərarlar hər gün. 77 00:03:24,060 --> 00:03:27,530 Məsələn, siz kənarda getmək əvvəl cür, deyir ki, əgər bəyanat var 78 00:03:27,530 --> 00:03:31,480 sonra Yağış yağır əgər mən Pencəyimin almaq lazımdır. 79 00:03:31,480 --> 00:03:36,820 Və kompüter bir dəfə gözəl , hesabatları bu cür qərar 80 00:03:36,820 --> 00:03:42,280 etibarlı icra edə bilər ki, inanılmaz sürəti həmin şeyi. 81 00:03:42,280 --> 00:03:48,240 Və belə bir kompüter proqramı həqiqətən riyaziyyat və bəzi bir az 82 00:03:48,240 --> 00:03:53,050 hesabatlarının Ü qərar qəbul olur. 83 00:03:53,050 --> 00:03:55,020 >> DAVID J. MALAN: Belə Bildiyiniz, o 84 00:03:55,020 --> 00:03:57,880 Bill Gates kimi insanlar, Paul Allen və başqaları 85 00:03:57,880 --> 00:04:00,240 həqiqətən başlayıb ki, şəxsi kompüter qondarma 86 00:04:00,240 --> 00:04:01,990 inqilab bir neçə il əvvəl. 87 00:04:01,990 --> 00:04:04,140 Biz dalış əvvəl düşündüm bəzi Administrivia daxil, 88 00:04:04,140 --> 00:04:09,920 biz Albuquerque bir nağıl aid istədiyiniz Təbiət Tarixi New Mexico muzeyi 89 00:04:09,920 --> 00:04:13,650 və elm harada Bill Qeyts bəzi " və Paul Allenin erkən hekayələri 90 00:04:13,650 --> 00:04:17,470 biz indi necə recounted edir bugünkü PC və Macs və daha çox. 91 00:04:17,470 --> 00:04:22,390 Bunun üçün, baxmayaraq ki, biz iki könüllü lazımdır çox yaxşı edən hekayə səsləri var 92 00:04:22,390 --> 00:04:23,735 bir script bərkdən oxumaq üçün. 93 00:04:23,735 --> 00:04:25,530 >> Bütün hüquqlar, necə geri haqqında. 94 00:04:25,530 --> 00:04:26,120 Qədər Hadi. 95 00:04:26,120 --> 00:04:27,770 Və necə qarşısında burada. 96 00:04:27,770 --> 00:04:28,340 Aşağı gəlir. 97 00:04:28,340 --> 00:04:29,600 Burada yerləri tuturlar. 98 00:04:29,600 --> 00:04:32,444 Sizlərin gəlmək kimi, bir neçə inzibati elanlar. 99 00:04:32,444 --> 00:04:34,360 sectioning, proses bir bölmə seçilməsi, 100 00:04:34,360 --> 00:04:36,068 bu başlayacaq Cümə Çərşənbə. 101 00:04:36,068 --> 00:04:38,400 Ki, daha çox bu gələn Mühazirə Çərşənbə. 102 00:04:38,400 --> 00:04:41,770 >> Super bölmələr, eyni zamanda, Biz gələn həftə təklif ki, bir şey 103 00:04:41,770 --> 00:04:45,310 vasitəsi bütün sinif dəvət edir kifayət qədər böyük miqyasda iştirak 104 00:04:45,310 --> 00:04:47,690 bölmələr, daha rahat bir, bir az rahat. 105 00:04:47,690 --> 00:04:51,340 Və biz özəllikləri elan edəcək ki, həmçinin, sonra bu həftə. 106 00:04:51,340 --> 00:04:53,310 >> Bu vaxt bölmələr, özləri başlayacaq 107 00:04:53,310 --> 00:04:57,241 həftə əlbəttə üç sıfır index, olan bir neçə həftə var deməkdir 108 00:04:57,241 --> 00:04:57,740 həyata. 109 00:04:57,740 --> 00:04:58,450 Belə ki, narahat deyil. 110 00:04:58,450 --> 00:05:01,014 Siz hələ buraxılmış deyil o xətlər boyunca bir şey. 111 00:05:01,014 --> 00:05:03,930 Eyni zamanda vaxt, əgər inzibati hansı bir sualınız, 112 00:05:03,930 --> 00:05:08,120 özümü və Devon və Gabe e-poçt və Rob burada bu ünvanda. 113 00:05:08,120 --> 00:05:10,320 >> Nəhayət, problem set Üzərindən 0, əlbəttə, deyil. 114 00:05:10,320 --> 00:05:12,320 Siz fark ola bilər Kursun saytda. 115 00:05:12,320 --> 00:05:14,840 Bu ilə təmin etməlidir suallara bütün cavab 116 00:05:14,840 --> 00:05:18,250 Siz yol boyunca ola bilər problem dəsti ilə başlamaq. 117 00:05:18,250 --> 00:05:21,430 Amma özünüzü tapmaq əgər kömək əli ehtiyacı, 118 00:05:21,430 --> 00:05:25,020 bütün vasitələrlə ofis saat iştirak, Bazar ertəsi, Çərşənbə, Çərşənbə axşamı, Cümə axşamı 119 00:05:25,020 --> 00:05:27,290 axşam bu həftə dörd yemək salonlarında. 120 00:05:27,290 --> 00:05:31,650 Özəllikləri var ki, URL baxın ofis saat olacaq harada. 121 00:05:31,650 --> 00:05:34,000 >> İndi cavab edək iki qonaqlar bu gün burada. 122 00:05:34,000 --> 00:05:34,740 Sizin adınız nədir? 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, siz cavab gözəl. 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 Həmçinin görüşmək Nice. 130 00:05:39,790 --> 00:05:42,123 Jay Paul və Hikari var bu musiqi onların ön 131 00:05:42,123 --> 00:05:45,100 Mən çap ki, iki scripts dayanır Yeni Meksika bu səhər həyata 132 00:05:45,100 --> 00:05:46,692 Təbii Tarix və Elm Muzeyi. 133 00:05:46,692 --> 00:05:48,400 Və mən düşündüm nə Mən yerüstü istədiyiniz 134 00:05:48,400 --> 00:05:52,830 Sizin oxunması müşayiət olunur script və bu tarixi 135 00:05:52,830 --> 00:05:54,700 bəzi əyani şəkillər, heç bir sürprizlər. 136 00:05:54,700 --> 00:05:57,512 >> Mən əvvəlcədən etdiyiniz nə Sizin script prehighlight olunur 137 00:05:57,512 --> 00:05:59,470 Siz oxumaq lazımdır nə, və oxumaq lazımdır nə. 138 00:05:59,470 --> 00:06:00,920 Və biz mahiyyətcə lazımdır yalnız alternativ ci maddələrdə. 139 00:06:00,920 --> 00:06:03,211 Güc kimi belə ki, çox var English sinif etdik. 140 00:06:03,211 --> 00:06:06,875 Bu, həqiqətən tamaşaçı məcbur oldu burada nağıl iman. 141 00:06:06,875 --> 00:06:07,600 Olarmı? 142 00:06:07,600 --> 00:06:13,272 Belə ki, burada hekayə var ki, BASIC, və bu Cambridge başlayır. 143 00:06:13,272 --> 00:06:18,750 >> JAY PAUL: Bu qış, 1974 idi, Kembric, Massaçusets 144 00:06:18,750 --> 00:06:20,240 harada qışı soyuq ola bilər. 145 00:06:20,240 --> 00:06:22,800 A saqqallı, uzun saçlı kollec dropout adına 146 00:06:22,800 --> 00:06:27,280 Paul Allen Harvard arasında drudging edilib Düşüncələrini udulmuş Square,. 147 00:06:27,280 --> 00:06:31,050 Bu gün onun əsas qayğı necə onun dostu, Bill Gates almaq üçün 148 00:06:31,050 --> 00:06:34,974 məktəb çıxmaq və getmək onunla iş daxil. 149 00:06:34,974 --> 00:06:37,890 Hikari: İki artıq getmişdi biznes müəssisələrinin bir sıra 150 00:06:37,890 --> 00:06:40,850 birlikdə, Lakeside başlayaraq Seattle harada məktəb 151 00:06:40,850 --> 00:06:45,220 Onlar pulsuz kompüter vaxt ödənilmiş yerli zamanda PDP-10 kompüter test 152 00:06:45,220 --> 00:06:46,580 şirkət mübadiləsi. 153 00:06:46,580 --> 00:06:50,930 Ən son plan çıxmaq olmuşdur məktəb və bir proqram şirkəti təşkil edir. 154 00:06:50,930 --> 00:06:53,440 Allen Vaşinqton ayrılmışdı Dövlət Universiteti. 155 00:06:53,440 --> 00:06:58,380 Amma son dəqiqədə qapısında Harvard ilə qalmaq qərarına gəlib. 156 00:06:58,380 --> 00:07:02,080 >> JAY PAUL: Bu gün, Harvard keçid Square, Allen, yanvar xallı 157 00:07:02,080 --> 00:07:07,530 Popular Electronics 1975 məsələ Yerin dayandırılması mövzu ilə, 158 00:07:07,530 --> 00:07:11,900 Dünyanın ilk Minicomputer Kit Commercial Modellər rəqabət apara. 159 00:07:11,900 --> 00:07:14,430 Başlığıyla altında kiçik bir qutusuna bir şəkil 160 00:07:14,430 --> 00:07:16,160 işıqları və açarları ilə bəzədilmişdir. 161 00:07:16,160 --> 00:07:19,770 Bu 8800 MITS Altair adlanırdı. 162 00:07:19,770 --> 00:07:24,100 Və Allen bu idi bilirdi nə o axtarır edilmişdir. 163 00:07:24,100 --> 00:07:26,350 >> Hikari: müzakirə günləri izlədi. 164 00:07:26,350 --> 00:07:30,170 Allen və Gates aydın Bu Altair əhəmiyyəti. 165 00:07:30,170 --> 00:07:32,480 Onlar tez-tez danışıb, mikroprosessorlar haqqında 166 00:07:32,480 --> 00:07:35,250 və nə görmək gözləyirdik onlara edilə bilər. 167 00:07:35,250 --> 00:07:39,770 İndi minicomputer kit var idi Popular Electronics əhatə. 168 00:07:39,770 --> 00:07:42,830 Bu yəqin hələ heç bir proqram idi. 169 00:07:42,830 --> 00:07:46,830 Onlar bir millət təsəvvür proqramçılar Mits azalan. 170 00:07:46,830 --> 00:07:49,590 Və onlar, Ed Roberts adlı Şirkətin rəhbəri, 171 00:07:49,590 --> 00:07:53,330 Bu bir versiyası var iddia BASIC proqramlaşdırma dili demək olar ki, hazırdır 172 00:07:53,330 --> 00:07:54,710 Bu Altair üçün. 173 00:07:54,710 --> 00:07:55,570 Etmədilər. 174 00:07:55,570 --> 00:07:58,910 Və Roberts etmədilər məlum olmalıdır. 175 00:07:58,910 --> 00:08:03,170 O, 10 zənglər bir gün əldə edilib bir BASIC demək olar ki, hazır olan insanlar. 176 00:08:03,170 --> 00:08:05,570 Və onun fond cavab "ilk şəxs idi 177 00:08:05,570 --> 00:08:11,090 bir iş ilə göstərir BASIC müqavilə olur. " 178 00:08:11,090 --> 00:08:13,910 >> JAY PAUL: Gates və Allen bir Altair görməmişdi. 179 00:08:13,910 --> 00:08:17,600 Onlar hətta görməmişəm idi Intel 8080 mikroprosessor 180 00:08:17,600 --> 00:08:19,060 Bu Altair qəlbində. 181 00:08:19,060 --> 00:08:21,470 Amma bir neçə il əvvəl Allen proqramı yazmışdı 182 00:08:21,470 --> 00:08:25,220 emulated bir mainframe kompüter əvvəlki Intel əməliyyat 183 00:08:25,220 --> 00:08:26,217 mikroprosessor. 184 00:08:26,217 --> 00:08:28,300 Və onlar ətrafında bu dəfə eyni şey olardı. 185 00:08:28,300 --> 00:08:31,530 186 00:08:31,530 --> 00:08:34,380 >> Hikari: bir Intel ilə Onun tərəfində 8080 manual, 187 00:08:34,380 --> 00:08:37,770 Allen bir oturdu Harvard PDP-10 kompüter 188 00:08:37,770 --> 00:08:42,010 və emulator və proqram yazdı zəruri tools proqramlaşdırma etmək. 189 00:08:42,010 --> 00:08:45,820 Eyni zamanda Gates dayanıb dərsləri və özünü həsr 190 00:08:45,820 --> 00:08:48,120 əsas dizayn üçün, hər oyun istifadə 191 00:08:48,120 --> 00:08:53,130 O ölçüsü bilirdi aşağı 4 kilobayttan aşağıda. 192 00:08:53,130 --> 00:08:55,870 >> JAY PAUL: Albuquerque Out, Ed Roberts Gates zəng var 193 00:08:55,870 --> 00:08:59,754 necə haqqında məlumat üçün xahiş Altair xüsusi routines ele. 194 00:08:59,754 --> 00:09:01,170 Heç kim əvvəl xahiş etmişdi. 195 00:09:01,170 --> 00:09:02,670 Və Roberts maraqlı almaq üçün başladı. 196 00:09:02,670 --> 00:09:05,240 197 00:09:05,240 --> 00:09:07,970 >> Hikari: inkişafı ilə alətləri və dizayn hazır, 198 00:09:07,970 --> 00:09:10,780 Gates və Allen yazdı KAP'a-10-kodu, 199 00:09:10,780 --> 00:09:16,060 başqa Harvard tələbə sifariş, Monte Davidoff, riyaziyyat routines yazmaq üçün. 200 00:09:16,060 --> 00:09:19,450 Son gecə sonra proqramlaşdırma, Allen təyyarəyə mindi 201 00:09:19,450 --> 00:09:22,970 Mits onların BASIC çatdırmaq üçün. 202 00:09:22,970 --> 00:09:25,800 O təyyarə narahat həyata gəzinti keçirdi. 203 00:09:25,800 --> 00:09:28,490 Və geri Cambridge Gates narahat edirdi. 204 00:09:28,490 --> 00:09:32,100 Onlar test onların BASIC və Bu emulator işləmişdir. 205 00:09:32,100 --> 00:09:35,444 Lakin emulator səhv nə idi? 206 00:09:35,444 --> 00:09:37,360 JAY PAUL: təyyarə kimi , Albuquerque yaxınlaşdı 207 00:09:37,360 --> 00:09:40,070 Allen ki, həyata onların BASIC, indi səliqəli olan 208 00:09:40,070 --> 00:09:42,460 kiçik bir roll , kağız lent olardı yumruq 209 00:09:42,460 --> 00:09:44,970 ayrı olmadan yararsız proqram ki, bir loader adlı 210 00:09:44,970 --> 00:09:47,550 necə Altair demək istəyirəm kağız tape varlıq oxumaq üçün 211 00:09:47,550 --> 00:09:49,620 Bu teletype maşın daxil qidalanır. 212 00:09:49,620 --> 00:09:52,970 O notebook çıxardı və tez bir loader proqram aşağı yazı 213 00:09:52,970 --> 00:09:56,819 Məclis dilində, sonra əl 1s və 0s daxil tərcümə 214 00:09:56,819 --> 00:09:57,985 Altair başa düşmək olardı. 215 00:09:57,985 --> 00:10:00,530 216 00:10:00,530 --> 00:10:03,830 >> Hikari: Allen gözləyirdi bir təmiz, az, yüksək texnologiya şirkəti 217 00:10:03,830 --> 00:10:05,470 business kostyumları kişilərin tərəfindən. 218 00:10:05,470 --> 00:10:09,210 Roberts görüşüb Belə ki, o çaşdı Ona hava limanında bir ranch kimi axtarır 219 00:10:09,210 --> 00:10:10,270 əl. 220 00:10:10,270 --> 00:10:12,070 Roberts də təəccübləndim. 221 00:10:12,070 --> 00:10:16,340 O Harvard düşmüşdür bahalı oteldə proqramçı, 222 00:10:16,340 --> 00:10:20,790 Allen etiraf idi o otaq ödəyə bilməz. 223 00:10:20,790 --> 00:10:24,510 >> JAY PAUL: özü, MITS idi tozlu zolaq AVM yerləşir. 224 00:10:24,510 --> 00:10:27,040 Bir cluttered içərisində workbench bir Altair idi 225 00:10:27,040 --> 00:10:30,390 5 kilobayt ilə dolu yaddaş və kabel ilə bağlıdır 226 00:10:30,390 --> 00:10:32,030 bir teletype maşın. 227 00:10:32,030 --> 00:10:37,200 Roberts və baş mühəndisi, Bill Yates, ümidlə gözləyirdi 228 00:10:37,200 --> 00:10:40,660 Allen onun loader toggled kimi Bu Altair daxil program. 229 00:10:40,660 --> 00:10:44,980 The teletype Bu çıxardı chugging başladı tape oxucu vasitəsilə kağız tape. 230 00:10:44,980 --> 00:10:47,215 Bu, bəlkə də 15 dəqiqə etdi proqram yüklemek üçün. 231 00:10:47,215 --> 00:10:52,110 Sonra teletype kəskin çap yaddaş tez, sonra hazır tez, 232 00:10:52,110 --> 00:10:55,340 və Allen yazaraq başladı bir neçə test əmrləri. 233 00:10:55,340 --> 00:10:57,400 Hər kəsin heyrət üçün, proqram işləyib. 234 00:10:57,400 --> 00:10:58,525 Bugs əlbəttə, var idi. 235 00:10:58,525 --> 00:11:02,070 Amma əsas odur ki, çalışıb. 236 00:11:02,070 --> 00:11:06,570 >> Hikari: Sonra onların yolunda bir Pancho nin $ 3.00 nahar, bir arı uçdu 237 00:11:06,570 --> 00:11:10,470 alma pəncərə yük maşını və silah Allen stung. 238 00:11:10,470 --> 00:11:13,070 Amma ki, point heç əhval korlamaq bilər. 239 00:11:13,070 --> 00:11:17,210 The Altair indi Basic, idi bir ev üçün ilk ticarət proqram 240 00:11:17,210 --> 00:11:23,260 Paul Allen və Bill tərəfindən kompüter, Gates, Microsoft iş. 241 00:11:23,260 --> 00:11:25,336 >> DAVID J. MALAN: Bir çox iki oxuculara thanks. 242 00:11:25,336 --> 00:11:30,690 >> [Alqış] 243 00:11:30,690 --> 00:11:32,520 >> DAVID J. MALAN: İndi Siz seçimi var, 244 00:11:32,520 --> 00:11:35,880 Bir sparkly ki, tərk əvvəl və ya oh The dark-- bir parıltı, 245 00:11:35,880 --> 00:11:40,810 bir saniyə gözləyin, sparkly wait-- və qaranlıq fil bir parıltı 246 00:11:40,810 --> 00:11:42,534 CS50 öz Cheng Gong olan. 247 00:11:42,534 --> 00:11:43,450 Hikari: Aw, təşəkkür edirəm. 248 00:11:43,450 --> 00:11:45,324 DAVID J. MALAN: Bütün sağ, çox təşəkkür edirəm. 249 00:11:45,324 --> 00:11:49,855 [Alqış] 250 00:11:49,855 --> 00:11:51,105 DAVID J. MALAN: Belə əsl hekayə. 251 00:11:51,105 --> 00:11:54,380 Bu ki, bütün demək deyil maşın və rahatlığı ilə biz 252 00:11:54,380 --> 00:11:56,270 İndi onlardan istifadə etmək və verilən, həqiqətən 253 00:11:56,270 --> 00:12:00,070 Burada yalnız bir neçə özəlliklə yeyin addımlar başladı Bu faktiki teatr. 254 00:12:00,070 --> 00:12:03,930 İndi gün, olmamışdır olsanız, Bu Maxwell Dworkin, kompüter edir 255 00:12:03,930 --> 00:12:05,810 elmləri bina, də köşedeki. 256 00:12:05,810 --> 00:12:09,760 Və bu ikinci mərtəbəsində bina üç pages asmaq edir 257 00:12:09,760 --> 00:12:12,740 orijinal mənbə kodu ki, Bill Gates və Paul Allen yazdı. 258 00:12:12,740 --> 00:12:14,770 Əslində, istifadə əgər zoom yalnız görə bilərsiniz 259 00:12:14,770 --> 00:12:17,350 də onların adları orijinal növü, həm də 260 00:12:17,350 --> 00:12:22,100 onlar bəzəkli ki, imzalarını neçə il geri onların Son ziyarət zaman. 261 00:12:22,100 --> 00:12:25,800 >> Amma xüsusilə çekici nə idi bu barədə onlar üçün müəyyən nə 262 00:12:25,800 --> 00:12:29,760 ki, ki, bir proqram yazmaq idi yazmaq üçün digər insanlar imkan 263 00:12:29,760 --> 00:12:30,950 öz proqramları. 264 00:12:30,950 --> 00:12:34,280 Bütün zaman var idi Mits tərəfindən bu Altair maşın. 265 00:12:34,280 --> 00:12:40,020 Və onlar lazım olan bütün bir yol idi ilgilenmeyi hobi və insanlar üçün asan edilməsi 266 00:12:40,020 --> 00:12:45,300 həqiqətən proqramı bu otaqda bizim kimi mütləq dərk etmədən 267 00:12:45,300 --> 00:12:49,060 Məclis kodu, və ya maşın kodu, ya Allah, 0s və 1s qorusun. 268 00:12:49,060 --> 00:12:51,190 Biz proqramçılar kimi Bu otaq olanların, biz 269 00:12:51,190 --> 00:12:54,070 ifadə etmək istəyirəm özümüzü yalançı kod kimi daha çox 270 00:12:54,070 --> 00:12:57,330 Bu bir az daha nit belə Keçən həftə danışdıq daha picky. 271 00:12:57,330 --> 00:13:00,970 Biz bu kimi kod yazmaq istəmirəm, olan Paul Allen və Bill Gates etdi. 272 00:13:00,970 --> 00:13:04,850 Biz əvəzinə, kodu yazmaq istəyirəm ki, bir az daha çox istifadəçi dostu görünür. 273 00:13:04,850 --> 00:13:07,150 >> İndi bu BASIC kimi tanınan bir dilidir. 274 00:13:07,150 --> 00:13:11,497 Və line nömrələri var nə sadəcə kodu xətləri sayı üçün istifadə 275 00:13:11,497 --> 00:13:12,330 ki, yazılı edirik. 276 00:13:12,330 --> 00:13:14,038 Biz hətta yoxdur Bu gün bunu. 277 00:13:14,038 --> 00:13:16,060 Amma burada baxa bilərsiniz necə PRINT "Salam, dünya" 278 00:13:16,060 --> 00:13:18,660 həqiqətən ehtimalla yalnız çap olardı. 279 00:13:18,660 --> 00:13:22,710 Və nə Bill və Pavel idi bu kimi kod yazmaq etməyə imkan 280 00:13:22,710 --> 00:13:27,240 yerine nəzər əgər kontormerinin Təfərrüatlar informatika bu kimi kodu wall--. 281 00:13:27,240 --> 00:13:29,290 >> Əslində, CS50 yaxınlarda bir fürsət idi 282 00:13:29,290 --> 00:13:32,540 Professor Harry Lewis ilə aşağı oturmaq Kompüter Elm şöbəsi, kim 283 00:13:32,540 --> 00:13:34,640 həqiqətən Bill tədris Bir neçə il əvvəl Gates, 284 00:13:34,640 --> 00:13:38,460 və əvvəl burada dayanan alıntılar o üç pages. 285 00:13:38,460 --> 00:13:39,560 Bir nəzər salaq. 286 00:13:39,560 --> 00:13:45,520 >> HARRY LEWIS: Siz burada bir edir proqram erkən parça listing 287 00:13:45,520 --> 00:13:50,240 Bill Gates və Paul tərəfindən yazılmışdır Allen, Microsoft təsisçiləri. 288 00:13:50,240 --> 00:13:52,570 Belə ki, kodu maraqlıdır iki səbəbə görə. 289 00:13:52,570 --> 00:13:55,480 İlk növbədə, bu, oldu Microsoft ilk məhsul, 290 00:13:55,480 --> 00:14:01,810 üçün tərcüməçi idi BASIC proqramlaşdırma dili. 291 00:14:01,810 --> 00:14:04,940 Və ikincisi, bu idi ilk cəhdlər bir 292 00:14:04,940 --> 00:14:10,580 belə adi tərcüməçi yaratmaq Insanların şəxsi kompüter istifadə edə bilər. 293 00:14:10,580 --> 00:14:12,670 >> Belə ki, Bill Gates idi Harvard lisenziya. 294 00:14:12,670 --> 00:14:14,820 Mən 1974-cü ildə Harvard tədris başladı. 295 00:14:14,820 --> 00:14:16,560 Bu 1975-ci ildə edildi. 296 00:14:16,560 --> 00:14:20,180 Belə ki, onun karyerasında erkən idi və erkən mənim karyera. 297 00:14:20,180 --> 00:14:23,790 Mən, həqiqətən,-da Bill tədris Bu zaman ətrafında bir kurs. 298 00:14:23,790 --> 00:14:27,130 Paul Allen deyildi Harvard tələbəsi, lakin o, 299 00:14:27,130 --> 00:14:31,020 yüksək məktəb olmuşdur Bill Qeyts sinif yoldaşı. 300 00:14:31,020 --> 00:14:33,740 Gəlib baxmaq əgər siyahı, siz lazımdır 301 00:14:33,740 --> 00:14:36,230 həqiqətən bir üçüncü tapmaq adı, Monte Davidoff, 302 00:14:36,230 --> 00:14:39,260 olan Gates sinif yoldaşı idi burada Harvard. 303 00:14:39,260 --> 00:14:41,340 >> OK, belə ki, burada bir var Burada maraqlı şərh up. 304 00:14:41,340 --> 00:14:47,150 Bu 4K-ci ildə kvadrat kök silə bilərsiniz "deyir lakin loops hələ işləmək lazımdır üçün. " 305 00:14:47,150 --> 00:14:53,080 OK, belə ki, nə deməkdir ki, var Bu proqram tərtib etmək üçün iki yol idi. 306 00:14:53,080 --> 00:14:57,860 Bir versiyası çalıştırmak üçün idi Bu Altair kompüter 307 00:14:57,860 --> 00:15:04,310 ki, yalnız 4K sözləri idi yaddaş, yaddaş 4,096 sözləri. 308 00:15:04,310 --> 00:15:07,050 Lakin böyük versiyası 8K idi. 309 00:15:07,050 --> 00:15:09,770 Və nə bu deyir ki, 4K versiyası 310 00:15:09,770 --> 00:15:12,770 bəzi silmək idi kodu onu yararlı etmək. 311 00:15:12,770 --> 00:15:14,790 Və hər biri ki, silindi olardı 312 00:15:14,790 --> 00:15:16,290 kvadrat kök təkrarlanan olacaq. 313 00:15:16,290 --> 00:15:20,360 Amma yəqin loops hələ olmalıdır üçün 314 00:15:20,360 --> 00:15:26,392 aşağı tərtib etdiyiniz zaman hətta iş kompüter yalnız 4K versiyası. 315 00:15:26,392 --> 00:15:29,350 DAVID J. MALAN: The mövzular Belə bir, biz kompüter görəcəksiniz kimi, 316 00:15:29,350 --> 00:15:31,430 bu anlayışdır layering və abstraksiya, 317 00:15:31,430 --> 00:15:34,670 və həqiqətən çiyinlərində duran bizdən əvvəl gəlmiş insanlar, deyil 318 00:15:34,670 --> 00:15:37,890 Bill Gates bəzi fərqli burada və Paul Allen povest. 319 00:15:37,890 --> 00:15:40,080 Və nə bu deməkdir biz bilər ki, bu gün 320 00:15:40,080 --> 00:15:43,490 şeylər əslində verilir ki us kodu yazmaq üçün asan. 321 00:15:43,490 --> 00:15:47,170 Biz cümə günü bildirib Həqiqətən kodu edir, daha texniki mənbə kodu kimi tanınır. 322 00:15:47,170 --> 00:15:52,210 Və bu sintaksis kimi bu İngilis dili daha düzgün və daha yaxşı müəyyən edir 323 00:15:52,210 --> 00:15:55,480 yalançı kodu kimi bir şey üçün heç bir formal tərifi yoxdur. 324 00:15:55,480 --> 00:15:58,320 >> Bu gün biz nə olacaq diqqət mənbə kodu 325 00:15:58,320 --> 00:16:01,010 ki, bu kimi görünür admittedly ilk baxışda 326 00:16:01,010 --> 00:16:02,690 tamamilə sirli görünür. 327 00:16:02,690 --> 00:16:08,540 Və səmimi, bu yol daha estetik var kompleks əsas proqram daha. 328 00:16:08,540 --> 00:16:13,300 Bütün bu proqram yoxdur geri, biz nə demək idi? 329 00:16:13,300 --> 00:16:14,990 Bu yalnız "salam dünya". Yazdıran 330 00:16:14,990 --> 00:16:19,600 Və hələ biz lazım olan məhsullarının bütün baxmaq çox sadə söz ətrafında kesmek. 331 00:16:19,600 --> 00:16:21,750 Amma bütün uzun əvvəl bu xətləri və daha çox 332 00:16:21,750 --> 00:16:24,800 sizin üçün daha yaxşı mənada edəcək. 333 00:16:24,800 --> 00:16:26,940 >> Və aşağıdakı kimi axını. 334 00:16:26,940 --> 00:16:31,220 Nə biz sərəncamında lazımdır mənbə kimi, kod almaq üçün 335 00:16:31,220 --> 00:16:32,340 biz yalnız gördüm ki kodu. 336 00:16:32,340 --> 00:16:35,060 Və biz yeni bir proqram lazımdır vasitəsilə çalıştırmak üçün. 337 00:16:35,060 --> 00:16:39,130 Biz edə bilərsiniz alqoritmlər lazımdır bu kimi qaynaq kodunu çevirmək, 338 00:16:39,130 --> 00:16:41,932 obyekt kodu 0s və 1s. 339 00:16:41,932 --> 00:16:43,890 Başqa sözlə, nə Biz bu gün öyrənmək olacaq 340 00:16:43,890 --> 00:16:46,620 Bunu necə yazmaq mənbə kodu üst qədər, 341 00:16:46,620 --> 00:16:49,930 xüsusi bir giriş kimi keçmək bir compiler kimi tanınan proqram, 342 00:16:49,930 --> 00:16:52,140 və biz obyekt kodunu istehsal olacaq. 343 00:16:52,140 --> 00:16:54,600 Hansı bir xülya yoludur Biz bir şey olacaq deyərək 344 00:16:54,600 --> 00:16:58,350 ki, bu kimi görünür, onu keçmək bir compiler adlı proqram, 345 00:16:58,350 --> 00:17:01,210 obyekt kodu istehsal ki, bu kimi görünür. 346 00:17:01,210 --> 00:17:04,720 >> Belə ki, bu sözün var 0s və 1s nümunələri 347 00:17:04,720 --> 00:17:08,550 bir tərəfindən başa düşülür ki, Intel kompüter bu gün, 348 00:17:08,550 --> 00:17:12,480 CPU təfsir ki, kompüter daxilində beyin, 349 00:17:12,480 --> 00:17:16,130 sözün çap edəcək, sadəcə, "salam dünya". 350 00:17:16,130 --> 00:17:19,670 İndi daha çox yol 0s və 1s var ki, lazım ola bilər ümid edirik. 351 00:17:19,670 --> 00:17:22,520 Biz tikinti edirik, çünki Amma ki mürəkkəblik yaxşı bir şey haqqında 352 00:17:22,520 --> 00:17:24,270 verilən bundan sonra edə bilər ki,. 353 00:17:24,270 --> 00:17:27,869 Başqa sözlə, ağıllı insanlar bir çox bizə sərin alətlər çox verilən 354 00:17:27,869 --> 00:17:32,480 və güclü proqram ilə biz indi bizim öz layihələr edə bilərsiniz. 355 00:17:32,480 --> 00:17:33,400 >> Belə ki, in başlamaq bildirin. 356 00:17:33,400 --> 00:17:36,640 Ötən cümə günü, və Halbuki Problem Set 0 bu həftə üçün, 357 00:17:36,640 --> 00:17:39,000 Bir oynayan olacaq bu kimi görünür ki, dünya. 358 00:17:39,000 --> 00:17:42,180 Bu gün başlayan və Problem üçün , Gələn həftə kodu Set 1 359 00:17:42,180 --> 00:17:45,410 bir az daha baxmaq edir sirli, lakin funksional edir 360 00:17:45,410 --> 00:17:46,940 gedən eyni olmalıdır. 361 00:17:46,940 --> 00:17:50,770 Belə ki, bildiriş, top Scratch edir alt C. Açığı Scratch edir 362 00:17:50,770 --> 00:17:52,780 bir çox istifadəçi dostluq və əlçatan. 363 00:17:52,780 --> 00:17:56,890 Amma indi vizual top müqayisə əgər alt, bir bir növü var 364 00:17:56,890 --> 00:17:59,690 arasında yazışma puzzle ədəd və dil 365 00:17:59,690 --> 00:18:00,870 biz oynamaq istəyirik. 366 00:18:00,870 --> 00:18:04,420 Xüsusilə, demək blue puzzle parça top, 367 00:18:04,420 --> 00:18:08,370 nə söz yəqin bərabərdir bu dildə və ya xüsusi söz 368 00:18:08,370 --> 00:18:09,062 C adlanır? 369 00:18:09,062 --> 00:18:09,770 Auditoriya: Printf. 370 00:18:09,770 --> 00:18:10,728 DAVID J. MALAN: Printf. 371 00:18:10,728 --> 00:18:12,140 Ki, biçimli çap deməkdir. 372 00:18:12,140 --> 00:18:15,240 Və yalnız bir xülya var C deyib printf yolu 373 00:18:15,240 --> 00:18:18,615 şərh və ya funksiyanı olacaq ki, ekran bir şey görüntüler. 374 00:18:18,615 --> 00:18:19,990 Bu ekran çap nə edir? 375 00:18:19,990 --> 00:18:23,627 Nə olursa olsun siz daxilində onu demək mötərizə daxilində quotes,. 376 00:18:23,627 --> 00:18:25,460 Belə ki, yenə etiraf, heyəti bir çox var 377 00:18:25,460 --> 00:18:27,990 Siz unutmayın lazımdır ki, parantez, quotes, semicolons, 378 00:18:27,990 --> 00:18:28,656 və bütün bu. 379 00:18:28,656 --> 00:18:30,600 Amma ki, bütün növ baxımından yanında. 380 00:18:30,600 --> 00:18:33,660 Indi üçün maraqlı paket ki, Scratch demək blok 381 00:18:33,660 --> 00:18:37,520 olduqca çox ekvivalent üçün C. printf bəyanat 382 00:18:37,520 --> 00:18:41,390 >> Bu vaxt, sarı puzzle parça üst qədər, yaşıl bayraq tıklandığında, 383 00:18:41,390 --> 00:18:44,736 yəqin ki, bərabərdir Burada söz nə? 384 00:18:44,736 --> 00:18:45,360 Auditoriya: Main. 385 00:18:45,360 --> 00:18:46,359 DAVID J. MALAN: Belə ki, əsas. 386 00:18:46,359 --> 00:18:47,410 Bəlkə bəlkə etibarsız, int. 387 00:18:47,410 --> 00:18:51,280 Amma kimi səslər əsas növ Bu vacibdir, və həqiqətən edir. 388 00:18:51,280 --> 00:18:54,080 Belə ki, yaşıl bayraq tıklandığında yenə, bu puzzle parça 389 00:18:54,080 --> 00:18:56,390 ki, başlayıb bir bütün Scratch program. 390 00:18:56,390 --> 00:19:02,140 Amma biz indi zəng başlamaq üçün gedir əsas kimi tanınan əsas, bu funksiya. 391 00:19:02,140 --> 00:19:06,410 >> İndi isə biz will aşağıdakı kimi ümumiləşdirmək. 392 00:19:06,410 --> 00:19:08,780 Biz zəng funksiyası demək bilər. 393 00:19:08,780 --> 00:19:10,580 Və ola bilər xüsusilə bu kimi. 394 00:19:10,580 --> 00:19:11,770 Yaxşı, nə loops haqqında? 395 00:19:11,770 --> 00:19:16,540 Biz konvertasiya başlamaq istəyirsinizsə və ya C Not daha tərcümə, 396 00:19:16,540 --> 00:19:19,400 Burada bu şey yəqin yalnız "salam dünya" əbədi deyir. 397 00:19:19,400 --> 00:19:23,060 Belə ki, bu şərik əgər Not bir pişik ilə scripts, 398 00:19:23,060 --> 00:19:26,560 yalnız deyərək saxlamaq olacaq karikatura bubble bir növ, 399 00:19:26,560 --> 00:19:29,922 "Salam, dünya, dünya salam salam dünya "elan nauseum, əbədi. 400 00:19:29,922 --> 00:19:33,130 Biz oxşar bir şey etmək istəyirsinizsə C, bir az sirli baxmaq olacaq. 401 00:19:33,130 --> 00:19:35,463 Amma biz eyni əldə edə bilərsiniz biz nəhayət lazımdır, nəticələrini 402 00:19:35,463 --> 00:19:36,861 bu kimi sintaksis ilə tapa bilərsiniz. 403 00:19:36,861 --> 00:19:39,360 Mən yenə printf istifadə gedirəm çünki günün sonunda 404 00:19:39,360 --> 00:19:42,040 Mən çap etmək istəyirəm "salam dünya". 405 00:19:42,040 --> 00:19:45,610 Mən yəqin bir istifadə edirəm əbədi deyil ki, söz. 406 00:19:45,610 --> 00:19:47,320 Əvəzinə isə söz var. 407 00:19:47,320 --> 00:19:49,650 Amma yalnız semantically da English isə cür 408 00:19:49,650 --> 00:19:52,120 loop və ya dövrü bir növ təklif edir. 409 00:19:52,120 --> 00:19:55,070 >> Belə ki, olur C istifadə edir ki, söz. 410 00:19:55,070 --> 00:20:00,700 Və əsl isə, niyə müddət yoxdur səmərəli əbədi doğru deməkdir? 411 00:20:00,700 --> 00:20:04,240 Bəli, isə kimi biz tezliklə lazımdır bütün daha təşəkkür edirik, 412 00:20:04,240 --> 00:20:08,140 yanında bu ara var harada bir Boolean ifadə bilər. 413 00:20:08,140 --> 00:20:11,360 Və belə uzun kimi ifadə doğrudur, bu kodu, 414 00:20:11,360 --> 00:20:14,750 Bu iki arasında qeydi qıvrım aşırma biz onlara zəng edəcəyik kimi, 415 00:20:14,750 --> 00:20:16,880 yalnız təkrar yayınlanmaya davam edir. 416 00:20:16,880 --> 00:20:18,410 >> Belə ki, əsl həqiqətdir. 417 00:20:18,410 --> 00:20:20,900 Belə ki, doğru yolu isə yalnız əbədi bunu. 418 00:20:20,900 --> 00:20:23,480 Demək olar ki, bir axmaq var özünüzü ifadə tikintisi. 419 00:20:23,480 --> 00:20:26,590 Amma əbədi var idi C. söz isə var idi. 420 00:20:26,590 --> 00:20:29,390 Və bir çox sadə idi Doğru kimi boolean ifadəsidir. 421 00:20:29,390 --> 00:20:32,210 Və bu, biz görəcəksiniz eyni nəticə verir. 422 00:20:32,210 --> 00:20:33,890 >> Necə başqa sizə bir loop həyata bilər? 423 00:20:33,890 --> 00:20:36,980 Yaxşı, Not güc xüsusi bir sıra ağır kodu 424 00:20:36,980 --> 00:20:39,430 burada loop tekrarlamalar. 425 00:20:39,430 --> 00:20:43,210 Və belə ki, dəqiq nə biz C bu versiyası edə bilər, 426 00:20:43,210 --> 00:20:46,140 biz elə loop üçün qondarma. 427 00:20:46,140 --> 00:20:49,850 Və burada loop üçün gedir qədər cryptically, təkrarlamaq, 428 00:20:49,850 --> 00:20:54,100 qədər dəyəri 0 lakin az 10. 429 00:20:54,100 --> 00:20:55,955 >> Not İndi dəyişənlər. 430 00:20:55,955 --> 00:20:57,830 Siz var ola bilər münasibətilə bu istifadə etmək. 431 00:20:57,830 --> 00:21:02,516 Amma ümumiyyətlə point, nə, dəyişən Keçən həftə demək idi? 432 00:21:02,516 --> 00:21:03,015 Nə olub? 433 00:21:03,015 --> 00:21:03,780 >> Auditoriya: Points. 434 00:21:03,780 --> 00:21:05,200 >> DAVID J. MALAN: qeyd etmək? 435 00:21:05,200 --> 00:21:05,700 Oh, göstərir. 436 00:21:05,700 --> 00:21:07,620 OK, bal takip saxlanılması, Məsələn, bir oyun. 437 00:21:07,620 --> 00:21:09,510 Və ya ümumiyyətlə bunu dəyişən ilə nə? 438 00:21:09,510 --> 00:21:10,450 Onların kommunal nədir? 439 00:21:10,450 --> 00:21:10,825 >> Auditoriya: Yaddaş. 440 00:21:10,825 --> 00:21:11,750 >> DAVID J. MALAN: Bəli, belə yaddaş. 441 00:21:11,750 --> 00:21:13,000 Bu bir şey saxlanılması üçün. 442 00:21:13,000 --> 00:21:17,336 Və silly vizual I sort istifadə Sonuncu dəfə bu şüşə qabda kimi idi. 443 00:21:17,336 --> 00:21:19,710 Və biz saxlamaq istəyirdi bir dəyişən daxilində bir şey, 444 00:21:19,710 --> 00:21:21,918 Məsələn indi dəyəri altı deyil, çünki orada 445 00:21:21,918 --> 00:21:23,450 Burada altı stolüstü tennis top var. 446 00:21:23,450 --> 00:21:26,158 Bu saxlama yalnız bir növ var konteyner başlıq altında 447 00:21:26,158 --> 00:21:30,030 bit, 0s və 1s ilə həyata keçirilir, Lakin kompüter bunu olur. 448 00:21:30,030 --> 00:21:32,900 >> Not, əgər biz bir dəyişən var istəyirəm, 449 00:21:32,900 --> 00:21:34,840 Biz bu kimi bir portağal blok istifadə edə bilərsiniz. 450 00:21:34,840 --> 00:21:37,050 Biz counter zəng edəcəyik bu halda. 451 00:21:37,050 --> 00:21:38,890 Mən 0 onu başlatılmış. 452 00:21:38,890 --> 00:21:41,080 Mən sonra nə bu? 453 00:21:41,080 --> 00:21:44,780 Forever, counter demək olan əgər Siz Not ilə oynamaq 454 00:21:44,780 --> 00:21:45,780 yalnız Not görəcəksiniz. 455 00:21:45,780 --> 00:21:49,920 Siz qoymaq pişik və ya hər hansı kostyum ona sual sayı çıxış edəcək. 456 00:21:49,920 --> 00:21:52,840 >> 1-Change counter 1-incrementing kimi. 457 00:21:52,840 --> 00:21:56,580 Və bu davam edir nə qədər nə saymaq? 458 00:21:56,580 --> 00:21:59,114 0 daimi til, və ya Scratch fasilələri qədər, 459 00:21:59,114 --> 00:22:01,030 ya qədər sort seyr maraq itirmək 460 00:22:01,030 --> 00:22:02,650 o, həqiqətən saymaq necə yüksək. 461 00:22:02,650 --> 00:22:04,800 >> Belə ki, necə biz C çevirmək bilər? 462 00:22:04,800 --> 00:22:06,480 Bu bir az sirli baxmaq olacaq. 463 00:22:06,480 --> 00:22:08,896 Ancaq yenə də, əgər hər baxmaq Bu xətlərin ayrı-ayrı 464 00:22:08,896 --> 00:22:10,410 ümumiyyətlə lineup onlar cür. 465 00:22:10,410 --> 00:22:13,526 Belə ki, yəqin gedir int C. xüsusi mənası var 466 00:22:13,526 --> 00:22:14,400 Biz bir daha görəcəksiniz. 467 00:22:14,400 --> 00:22:15,810 Bir kənara kimi tam deməkdir. 468 00:22:15,810 --> 00:22:16,990 Belə ki, yalnız sayı deməkdir. 469 00:22:16,990 --> 00:22:18,920 Belə ki, növü var Mən istəyirəm şüşə fincan, bir 470 00:22:18,920 --> 00:22:21,120 ki, nömrələri bilərsiniz tennis top ping deyil. 471 00:22:21,120 --> 00:22:25,520 Mən bərabər işarəsi istifadə gedirəm bu 0 dəyəri var təyin. 472 00:22:25,520 --> 00:22:29,440 Belə ki, olduqca dəsti kimi counter 0, lakin C. 473 00:22:29,440 --> 00:22:32,840 >> Eyni zamanda, doğru isə, ki, ekvivalent, əlbəttə, əbədi, 474 00:22:32,840 --> 00:22:35,980 bir az sirli, baxmayaraq ki, və sonra qıvrım aşırma daxilində. 475 00:22:35,980 --> 00:22:39,188 Və bu qıvrım aşırma hesab edə bilər, siz, sizin klaviatura yazın 476 00:22:39,188 --> 00:22:43,110 həqiqətən əyriliyi kimi olan Not bu sarı loop blokları. 477 00:22:43,110 --> 00:22:45,700 Bu kod çox xətləri əhatə edir. 478 00:22:45,700 --> 00:22:48,120 >> Printf bir olur indi qorxudan az, çünki mən 479 00:22:48,120 --> 00:22:51,120 yalnız mötərizədə quotes bax. 480 00:22:51,120 --> 00:22:55,160 Amma yeni nə syntactically bu nümunə? 481 00:22:55,160 --> 00:22:57,300 Faiz d var. 482 00:22:57,300 --> 00:22:58,551 Və sonra backslash n var. 483 00:22:58,551 --> 00:23:00,883 Biz hətta əvvəl gördünüz Mən bunu qeyd etməyib, baxmayaraq. 484 00:23:00,883 --> 00:23:01,886 Sonra vergül var. 485 00:23:01,886 --> 00:23:03,010 Və sonra bir counter var. 486 00:23:03,010 --> 00:23:05,010 >> Amma biz yalnız bir görəcəksiniz Bu yalnız o an 487 00:23:05,010 --> 00:23:09,080 print a deyərək standart yol "Decimal nömrəsi," quote dırnağı bağlamaq, 488 00:23:09,080 --> 00:23:10,500 Bəzi decimal nömrəsi. 489 00:23:10,500 --> 00:23:13,370 Amma sonra sizə gedirəm ki decimal sayı nə. 490 00:23:13,370 --> 00:23:16,835 Bir vergül var ki, belə bu xətt söz printf, 491 00:23:16,835 --> 00:23:18,710 irəli getmək və çap deməkdir Bəzi decimal nömrəsi. 492 00:23:18,710 --> 00:23:23,110 Oh, və yolu ilə, sayı nə bu dəyişən dəyəri nə. 493 00:23:23,110 --> 00:23:25,880 Və bu daha etmək biz bir nümunə aydın görəcəksiniz 494 00:23:25,880 --> 00:23:30,930 əvvəl dəqiq printf cəlb real C proqramları kontekstində. 495 00:23:30,930 --> 00:23:33,472 >> İndi yalnız bir bükmək üçün Bu yapıları. 496 00:23:33,472 --> 00:23:36,680 Boolean ifadələr, siz ola bilər münasibətilə sizin proqram bu istifadə etmək 497 00:23:36,680 --> 00:23:39,450 lakin, çox yaxşı bilər xüsusilə şərait istifadə əgər. 498 00:23:39,450 --> 00:23:43,460 Və belə ki, bu iki misaldır X y az olduqda demək danışıq, 499 00:23:43,460 --> 00:23:48,770 x y az və ya əgər y az z daha necə ki, biz tərcümə bilər? 500 00:23:48,770 --> 00:23:50,810 >> Yaxşı, C, bu, yalnız var bu kimi baxmaq olacaq. 501 00:23:50,810 --> 00:23:55,300 Bir az sirli, daha parantez, bəzi qəribə Ampersands, lakin əsaslı 502 00:23:55,300 --> 00:23:59,160 fikir onlar kimi sadə Bu puzzle parça dünya var. 503 00:23:59,160 --> 00:24:02,690 Biz sadəcə bir şey varsa kontrol edirik başqa bir şey azdır. 504 00:24:02,690 --> 00:24:03,910 >> Necə şəraiti haqqında? 505 00:24:03,910 --> 00:24:09,710 İngilis Özetle, bu nə Scratch kodu yığın deyərdim edirsiniz? 506 00:24:09,710 --> 00:24:11,050 >> Auditoriya: iki ədəd müqayisə. 507 00:24:11,050 --> 00:24:13,760 >> DAVID J. MALAN: iki müqayisə nömrələri, və x y az olduqda 508 00:24:13,760 --> 00:24:14,860 Bu qədər deyir. 509 00:24:14,860 --> 00:24:18,080 X y-dən çox olarsa Bu kimi çox başqa deyir 510 00:24:18,080 --> 00:24:20,740 x bərabərdir əgər qədər deyir y. 511 00:24:20,740 --> 00:24:22,180 İndi x və y-dən gəldi? 512 00:24:22,180 --> 00:24:22,680 Kim bilir. 513 00:24:22,680 --> 00:24:25,380 Not Bu yığın kodu kontekstində deyil. 514 00:24:25,380 --> 00:24:29,050 Amma biz indi istəyirik tərcümə edir yalnız bir an üçün bu görmək. 515 00:24:29,050 --> 00:24:31,660 >> Siz rahat almaq kimi Problem Set bu həftə 516 00:24:31,660 --> 00:24:34,190 0 bu dünyada oynayan sol, həyata 517 00:24:34,190 --> 00:24:36,940 ideyaları dəyişən deyil ki, Növbəti və ya kənarda və ya bu həftə. 518 00:24:36,940 --> 00:24:38,690 Biz sadəcə olacaq şeylər yazmağa başlayın 519 00:24:38,690 --> 00:24:41,240 ilə fərqli bir şəkildə bizim yerinə siçan və klaviatura. 520 00:24:41,240 --> 00:24:44,577 >> Belə ki, əgər x y daha az və bəzi parantez var, 521 00:24:44,577 --> 00:24:47,160 sonra bəzi qıvrım aşırma var daha cür ki içine 522 00:24:47,160 --> 00:24:48,970 sarı puzzle ədəd nə kimi. 523 00:24:48,970 --> 00:24:53,000 Mən x printf gedirəm s y və azdır. 524 00:24:53,000 --> 00:24:56,540 >> Nə C haqqında gözəl, Siz burada görə bilərsiniz kimi, 525 00:24:56,540 --> 00:25:00,480 Bu yuva almaq deyil ki, yuva ki, mütləq var yuva 526 00:25:00,480 --> 00:25:02,220 sağ üçün kod təkan olacaq. 527 00:25:02,220 --> 00:25:04,990 Siz əvəzinə hər şey ola bilər lineup səliqəli bu kimi. 528 00:25:04,990 --> 00:25:08,960 Amma yalnız bir estetik var biz uzun əvvəl yenidən görəcəksiniz ətraflı. 529 00:25:08,960 --> 00:25:09,660 >> Bütün hüquqlar. 530 00:25:09,660 --> 00:25:13,290 Belə ki, bizə geri gətirir Bu sirli axtarır program. 531 00:25:13,290 --> 00:25:15,180 Həqiqətən bir kod yazmaq imkan verir. 532 00:25:15,180 --> 00:25:16,830 İndi necə yazılı kodu haqqında necə getmək yoxdur? 533 00:25:16,830 --> 00:25:21,310 Siz sahib olduğunuz bütün bu illər Mac və ya PC, masa üstü və ya laptop, 534 00:25:21,310 --> 00:25:24,520 həqiqətən imkanı etdik proqramlaşdırma kodu yazmağa başlayın. 535 00:25:24,520 --> 00:25:27,050 Amma yəqin ki, itkin edirik Proqramın xüsusi bir növü. 536 00:25:27,050 --> 00:25:28,470 Siz əlbəttə ki, kodu yaza bilərsiniz. 537 00:25:28,470 --> 00:25:30,740 Amma, mütləq bilməz qutusu həyata, 538 00:25:30,740 --> 00:25:34,210 ki, mənbə kodu çevirmək obyekt kodu 0s və 1s 539 00:25:34,210 --> 00:25:35,619 kompüter nə olmadan? 540 00:25:35,619 --> 00:25:36,410 Auditoriya: Kompilyator. 541 00:25:36,410 --> 00:25:37,630 DAVID J. MALAN: Belə bir compiler, doğru. 542 00:25:37,630 --> 00:25:39,730 İndi sizin ən yəqin bir compiler malik deyil, 543 00:25:39,730 --> 00:25:41,259 bir compiler nazil heç vaxt. 544 00:25:41,259 --> 00:25:44,300 Amma siz onu yükləyə bilərsiniz görəcəksiniz proqram ən hər hansı digər parça kimi. 545 00:25:44,300 --> 00:25:47,470 Mac OS dünya, siz bilər Download və ya artıq nazil 546 00:25:47,470 --> 00:25:50,437 Xcode və ya GCC və ya cingilti adlanır bir şey. 547 00:25:50,437 --> 00:25:52,270 Siz gəlib əgər Windows dünya sizə güc 548 00:25:52,270 --> 00:25:56,190 Visual Studio nazil, Visual Basic, kimi mühit. 549 00:25:56,190 --> 00:25:59,200 Tərtibatçılarından onlarla var Siz istifadə edə bilər ki, bu gün. 550 00:25:59,200 --> 00:26:01,940 Amma burada qısa bir ağrı ola bilər ki, 551 00:26:01,940 --> 00:26:04,480 və, səmimi, texnoloji yüzlərlə nightmare 552 00:26:04,480 --> 00:26:07,680 müxtəlif insanların bütün kompüter konfiqurasiyaları 553 00:26:07,680 --> 00:26:09,800 onların maşınları konfiqurasiya eyni şəkildə 554 00:26:09,800 --> 00:26:11,700 belə ki, biz bütün eyni səhifə ola bilər. 555 00:26:11,700 --> 00:26:15,240 >> Belə ki, əvəzinə, nə CS50 sizə verir 556 00:26:15,240 --> 00:26:18,349 standart mühit, bir Ki, Linux mühit 557 00:26:18,349 --> 00:26:20,140 bir az baxmaq üçün gedir bu kimi bir şey. 558 00:26:20,140 --> 00:26:22,980 Siz bu daha görəcəksiniz Problem Set 1 dəqiqləşdirilməsi olan 559 00:26:22,980 --> 00:26:25,330 bu cümə gecə online gedəcək. 560 00:26:25,330 --> 00:26:28,360 >> Və bu nə deməkdir ki, bundan sonra nə 561 00:26:28,360 --> 00:26:32,060 etmək üçün gedir Download və proqram yüklemeniz 562 00:26:32,060 --> 00:26:33,650 CS50 Aracı çağırıb. 563 00:26:33,650 --> 00:26:36,275 Və siz download olacaq və adlı bir proqram yüklemek 564 00:26:36,275 --> 00:26:40,300 yalnız bir olan hypervisor, bu nail olmaq xülya yolu. 565 00:26:40,300 --> 00:26:44,600 Mac və ya PC və ya a sahib olsun Linux kompüter və ya bir Solaris kompüter, 566 00:26:44,600 --> 00:26:46,830 və ya hər hansı crazy əməliyyat sistemi yayınlıyorsanız, 567 00:26:46,830 --> 00:26:49,820 Bir proqram download olacaq ki, hypervisor deyilən 568 00:26:49,820 --> 00:26:53,350 CS50 run olacaq Sizin kompüter cihaz 569 00:26:53,350 --> 00:26:55,430 olursa olsun əməliyyat sistemi nə. 570 00:26:55,430 --> 00:27:00,640 Başqa sözlə A hypervisor çevirir nə dil bizim stuff, 571 00:27:00,640 --> 00:27:03,850 nə təlimat sizin öz kompüter anlayır. 572 00:27:03,850 --> 00:27:04,962 >> Belə ki, bu layering edir. 573 00:27:04,962 --> 00:27:06,920 Və yenə bu cür kompüter tematik 574 00:27:06,920 --> 00:27:08,722 elm, şeyi üst bina. 575 00:27:08,722 --> 00:27:09,680 Windows ola bilər. 576 00:27:09,680 --> 00:27:10,710 Siz Mac OS ola bilər. 577 00:27:10,710 --> 00:27:12,960 Amma gələn həftə başlayır etdiyiniz nazil gedir 578 00:27:12,960 --> 00:27:14,980 proqram pulsuz bir parça hypervisor çağırıb. 579 00:27:14,980 --> 00:27:17,800 Siz bir parça nazil olacaq proqram CS50 Aracı çağırıb. 580 00:27:17,800 --> 00:27:21,050 >> Ki, hypervisor run olacaq olan kompüter çalıştırmak üçün gedir. 581 00:27:21,050 --> 00:27:23,030 Və son nəticə hamımız olacaq ki, 582 00:27:23,030 --> 00:27:26,220 kimi sadə bir pəncərə var Mac və ya PC bu 583 00:27:26,220 --> 00:27:30,160 bizə bütün illüziya verir Eyni əməliyyat sistemi çalışan, 584 00:27:30,160 --> 00:27:32,800 hər hansı digər olmadan Sizin kompüter təsir. 585 00:27:32,800 --> 00:27:34,870 Və tam ekran bilərsiniz Bu və mahiyyətcə davranmaq 586 00:27:34,870 --> 00:27:37,550 çalışan sanki bir Linux adlı əməliyyat sistemi, 587 00:27:37,550 --> 00:27:40,270 olan nə CS50 edir Appliance əsaslanır. 588 00:27:40,270 --> 00:27:42,930 >> Belə nin əslində bu istifadə edək İndi bir proqram yazmaq üçün. 589 00:27:42,930 --> 00:27:45,450 Siz bir proqram yazmaq olar Microsoft Word istifadə. 590 00:27:45,450 --> 00:27:48,160 Siz bir proqram yazmaq olar TextEdit və ya Notepad istifadə edərək, 591 00:27:48,160 --> 00:27:51,880 və ya WordPad və ya olduqca çox hər hansı bir sözü emal proqram heç istifadə etdik. 592 00:27:51,880 --> 00:27:55,174 Lakin reallıq olmamalıdır həqiqətən həmin proqramların hər hansı bir istifadə. 593 00:27:55,174 --> 00:27:57,840 Siz əlbəttə ki, istifadə etməməlidir Microsoft Word kimi bir şey olan 594 00:27:57,840 --> 00:28:01,120 qalın duran və kursiv və var böyük şriftlər və kiçik fonts, 595 00:28:01,120 --> 00:28:03,560 kompüter deyil, çünki ki, hər hansı bir qayğı. 596 00:28:03,560 --> 00:28:05,600 Bütün kompüter haqqında qayğı gedir 597 00:28:05,600 --> 00:28:09,040 C. yazılı təlimat kimi English 598 00:28:09,040 --> 00:28:12,050 >> Beləliklə, biz daxili edəcəyik nə CS50 Aracı 599 00:28:12,050 --> 00:28:14,290 sərbəst proqramı istifadə olunur mövcud, bu və var 600 00:28:14,290 --> 00:28:17,360 Bu əvvəlcədən quraşdırılmış cihaz, Gedit çağırıb. 601 00:28:17,360 --> 00:28:22,280 Və Gedit yalnız bir super sadə Mac OS TextEdit kimi mətn redaktoru, 602 00:28:22,280 --> 00:28:26,200 olacaq ki, Windows Notepad kimi bu kimi bir az bir şey baxmaq. 603 00:28:26,200 --> 00:28:28,910 >> Yəni əslində verməyək Bu slaydlar baxmaq. 604 00:28:28,910 --> 00:28:32,580 Amma əslində gedək mühit özü. 605 00:28:32,580 --> 00:28:36,090 Mən irəli getmək üçün gedirəm və Bu digər pəncərə daxil, 606 00:28:36,090 --> 00:28:40,910 Mən var mənim CS50 Aracı üçün burada mənim laptop əvvəlcədən quraşdırılmış. 607 00:28:40,910 --> 00:28:43,771 >> Windows kimi ki, qeyd Mac OS, bəzi menyular var. 608 00:28:43,771 --> 00:28:45,520 Windows kimi qoyur Bu orada əvəzinə 609 00:28:45,520 --> 00:28:47,020 orada onu qoyur Mac OS, və. 610 00:28:47,020 --> 00:28:48,930 Lakin reallıq bu deyil eyni cür. 611 00:28:48,930 --> 00:28:50,770 Və burada bir bütündür proqram dəstə. 612 00:28:50,770 --> 00:28:51,770 Dropbox var. 613 00:28:51,770 --> 00:28:54,780 Aksesuarlar bir dəstə var, qrafik proqramları biz will 614 00:28:54,780 --> 00:28:56,430 problem dəstləri müddəti sonra istifadə edin. 615 00:28:56,430 --> 00:28:59,650 Belə inşa web browser var bu tam hüquqlu kompüter ki, 616 00:28:59,650 --> 00:29:01,240 kompüter daxilində. 617 00:29:01,240 --> 00:29:04,170 >> Amma bu basın gedirəm ağ icon leftmost, 618 00:29:04,170 --> 00:29:05,890 olan gEdit üçün icon edir. 619 00:29:05,890 --> 00:29:09,650 Və bir pəncərə açmaq olacaq ki, bu üç panelləri var 620 00:29:09,650 --> 00:29:12,590 sol bir, top bir və alt biridir. 621 00:29:12,590 --> 00:29:16,071 >> İndi bu top doğru bir var ki, Mən, həqiqətən, bir kod yazmaq üçün gedirəm. 622 00:29:16,071 --> 00:29:16,820 Belə ki, bunu edək ,. 623 00:29:16,820 --> 00:29:19,040 Mən Fayl Saxla getmək üçün gedirəm. 624 00:29:19,040 --> 00:29:22,100 Və siz heç görüldü ola bilər əvvəl bu xüsusi pəncərə. 625 00:29:22,100 --> 00:29:23,620 Amma bu Mac OS və ya Windows kimi. 626 00:29:23,620 --> 00:29:25,490 Bu, sadəcə bir pəncərə var qovluq bütün 627 00:29:25,490 --> 00:29:27,290 Mən bu kompüter daxilində var. 628 00:29:27,290 --> 00:29:30,320 >> Və mən saxlamaq gidiyorum hello.c kimi fayl. 629 00:29:30,320 --> 00:29:32,690 Mən getmək üçün gedirəm qabaqda və Saxla basın. 630 00:29:32,690 --> 00:29:36,364 İndi bir nişanı var fark sol üst hello.c çağırıb. 631 00:29:36,364 --> 00:29:38,280 Belə ki, yəqin ki, olduqca tanış deyil var, hətta 632 00:29:38,280 --> 00:29:40,240 əvvəl bu proqram istifadə. 633 00:29:40,240 --> 00:29:44,890 >> Və indi o yazın gedirəm əmrləri kifayət qədər sirli ardıcıllıqla 634 00:29:44,890 --> 00:29:46,360 ki, bir an əvvəl gördüm. 635 00:29:46,360 --> 00:29:49,330 Daxildir, standart I / O.h. 636 00:29:49,330 --> 00:29:50,600 Ki keçmədən daha. 637 00:29:50,600 --> 00:29:55,670 Int əsas etibarsız, açıq buruq brace, buruq brace bağladı. 638 00:29:55,670 --> 00:30:01,570 Və sonra daxili mən hesab edirəm ki, biz "salam dünya" nöqtəli vergül idi. 639 00:30:01,570 --> 00:30:03,100 İndi edin. 640 00:30:03,100 --> 00:30:08,780 >> Belə ki, bu C yazılı bir proqramdır, mənbə kodu, buna görə də, yazılı. 641 00:30:08,780 --> 00:30:10,720 Amma yalnız bu proqram run bilməz. 642 00:30:10,720 --> 00:30:13,390 I növ ikiqat artırmaq istəyirik haradasa bir icon basın, 643 00:30:13,390 --> 00:30:16,390 lakin heç bir icon digər mövcud mənbə kodu fayl çox. 644 00:30:16,390 --> 00:30:20,359 Nə yenidən, proses indi ki, Mən bu fayl run lazımdır? 645 00:30:20,359 --> 00:30:21,150 Auditoriya: Kompilyator. 646 00:30:21,150 --> 00:30:22,399 DAVID J. MALAN: Belə bir compiler. 647 00:30:22,399 --> 00:30:24,890 Belə ki, müxtəlif kompüter siz müxtəlif yollarla bunu. 648 00:30:24,890 --> 00:30:27,480 Amma biz burada nə etdik ki, CS50 Aracı 649 00:30:27,480 --> 00:30:31,260 nümayəndəsi necə bilər Bu çox müxtəlif sistemləri yoxdur, 650 00:30:31,260 --> 00:30:34,036 Mən sadəcə gedirəm olunur makiyaj adlı funksiyanı çalıştırın. 651 00:30:34,036 --> 00:30:35,660 Və makiyaj sözün etmək niyyətindədir. 652 00:30:35,660 --> 00:30:36,640 Mənə bir proqram olun. 653 00:30:36,640 --> 00:30:39,060 >> Belə ki, gedir etmək Mənim üçün bir compiler axır. 654 00:30:39,060 --> 00:30:42,160 Və proqram adı Mən salam etmək istəyirəm. 655 00:30:42,160 --> 00:30:43,510 İndi etmək bir proqramdır. 656 00:30:43,510 --> 00:30:47,170 Etmək kifayət qədər Ağıllı , desəm salam ki, həyata 657 00:30:47,170 --> 00:30:50,980 avtomatik olaraq baxmaq olacaq bir fayl adlanır hello.c üçün 658 00:30:50,980 --> 00:30:53,420 yalnız ki, çünki yol yapılandırılmış. 659 00:30:53,420 --> 00:31:00,300 >> Mən indi burada, bu Enter crazy sirli line yalnız edam oldu. 660 00:31:00,300 --> 00:31:02,720 Və əvvəl mənə etibar uzun, yalnız gün ərzində, 661 00:31:02,720 --> 00:31:05,590 Siz nə bütün anlamaq lazımdır cəfəngiyatdır vasitələrinin. 662 00:31:05,590 --> 00:31:11,150 Amma indi üçün, yalnız bilirik ki, bir compiler təkan icrası. 663 00:31:11,150 --> 00:31:13,290 Başqa sözlə, bu, aşkar mənim kompüter bir compiler 664 00:31:13,290 --> 00:31:14,820 ki, əvvəlcədən quraşdırılmış var CS50 Aracı haqqında 665 00:31:14,820 --> 00:31:16,560 biz Problem Set 1 sizə əl lazımdır ki,. 666 00:31:16,560 --> 00:31:20,990 Və sonra hello.c etdi giriş, və yəqin hasil 667 00:31:20,990 --> 00:31:23,040 0s və çıxış kimi 1s. 668 00:31:23,040 --> 00:31:29,410 >> Və default nə edir o saxlayır bir fayl 0s və 1s salam çağırıb. 669 00:31:29,410 --> 00:31:33,180 Və bu sintaksis baxmayaraq çox bilər sadəcə dot deyərək, sizə yeni ola 670 00:31:33,180 --> 00:31:37,110 doğramaq salam olacaq olan Bu proqram run deməkdir. 671 00:31:37,110 --> 00:31:40,360 >> İndi və ən azı bir neçə proqramları həftə, demək olar ki, bütün 672 00:31:40,360 --> 00:31:44,230 biz olacaq yazmaq qara və ağ mətn windows. 673 00:31:44,230 --> 00:31:47,006 No siçanlar, heç tıklayarak, heç pəncərələr, heç nişanlar. 674 00:31:47,006 --> 00:31:49,630 Biz sadə saxlamaq olacaq və əsas ideyaları diqqət 675 00:31:49,630 --> 00:31:52,490 biz bir şey almaq ilkin əvvəl yüksək səviyyədə, məsələn, 676 00:31:52,490 --> 00:31:56,410 danışdıq ki, break out oyun kimi ilk mühazirə ötən həftə haqqında. 677 00:31:56,410 --> 00:32:00,820 >> Mən burada daxil edin hit zaman, belə ki, bu mətn yalnız ətraf mühit ekvivalenti 678 00:32:00,820 --> 00:32:03,272 salam adlı bir tıklayarak ikiqat. 679 00:32:03,272 --> 00:32:05,480 Siz iradə gözləmək nə Mən sonra Enter zaman baş? 680 00:32:05,480 --> 00:32:07,120 >> Auditoriya: Bu "salam dünya." Çap edəcəyik 681 00:32:07,120 --> 00:32:10,000 >> DAVID J. MALAN: İnşallah Bu "salam dünya". çap edəcək 682 00:32:10,000 --> 00:32:11,370 Və həqiqətən bunu. 683 00:32:11,370 --> 00:32:13,690 İndi olub bəzi Burada sirli syntax. 684 00:32:13,690 --> 00:32:15,950 Yalnız geri bildirin bir an və görsək 685 00:32:15,950 --> 00:32:19,530 sadəcə inferring başlamaq bilməz , kustarlıq çalışır və uğursuz, 686 00:32:19,530 --> 00:32:21,130 Burada neler kimi. 687 00:32:21,130 --> 00:32:23,609 Mən backslash n canini qurtar əgər? 688 00:32:23,609 --> 00:32:25,650 İndi bəzi var olan yəqin ki, əvvəl proqramlaşdırılmış 689 00:32:25,650 --> 00:32:27,054 o deməkdir ki, nə dərhal bilirik. 690 00:32:27,054 --> 00:32:29,220 Amma var olan sizin üçün əvvəl proqramlaşdırılmış heç vaxt, 691 00:32:29,220 --> 00:32:34,052 ən azı gedir nə özünüz üçün hesab edirəm Bu proqram təkrar zaman dəyişdirmək üçün necə? 692 00:32:34,052 --> 00:32:37,010 Mən geri aşağı getmək üçün gedirəm mənim az qara və ağ pəncərə olan 693 00:32:37,010 --> 00:32:39,290 pəncərə olan Bu tərtib edə bilərsiniz. 694 00:32:39,290 --> 00:32:41,130 Mən salam compile gedirəm. 695 00:32:41,130 --> 00:32:43,520 Biz eyni görmək olacaq əmrləri sirli ardıcıllıqla. 696 00:32:43,520 --> 00:32:45,719 Mən salam dot çizgi gedirəm. 697 00:32:45,719 --> 00:32:48,260 İndi kimsə, ki, əgər, olan əvvəl proqramlaşdırılmış heç 698 00:32:48,260 --> 00:32:49,770 bu dəfə fərqli nə ola bilər? 699 00:32:49,770 --> 00:32:50,020 Bəli. 700 00:32:50,020 --> 00:32:51,840 >> Auditoriya: Bu dayandırmaq olmaz çap "salam dünya". 701 00:32:51,840 --> 00:32:52,660 >> DAVID J. MALAN: Bu to-- sorry olacaq? 702 00:32:52,660 --> 00:32:54,210 >> Auditoriya: Bu çap dayandırmaq olacaq? 703 00:32:54,210 --> 00:32:55,810 >> DAVID J. MALAN: Bu deyil çap dayandırmaq "salam dünya". 704 00:32:55,810 --> 00:32:56,560 Belə ki, pis bir fikir. 705 00:32:56,560 --> 00:32:58,633 Digər fikir? 706 00:32:58,633 --> 00:32:59,132 Bəli. 707 00:32:59,132 --> 00:33:00,060 >> Auditoriya: Hata beledir? 708 00:33:00,060 --> 00:33:01,750 >> DAVID J. MALAN: Error mesaj, OK, ola bilər. 709 00:33:01,750 --> 00:33:02,250 Nə? 710 00:33:02,250 --> 00:33:05,479 Auditoriya: Bu çap bilər eləcə də nöqtəli vergül işarəsi ilə bracket? 711 00:33:05,479 --> 00:33:08,270 DAVID J. MALAN: The çap bilər eləcə də nöqtəli vergül işarəsi ilə bracket. 712 00:33:08,270 --> 00:33:11,950 Belə ki, bəlkə ki backslash sonra bəzi vacibdir ki, terminous cür. 713 00:33:11,950 --> 00:33:14,860 Hər hansı digər fikir? 714 00:33:14,860 --> 00:33:16,412 >> Belə ki, bütün yaxşı fikir. 715 00:33:16,412 --> 00:33:18,370 Və əslində, gedir bir səhv baş beledir olmalıdır. 716 00:33:18,370 --> 00:33:20,400 Ki, çox güman yəqin ümumiyyətlə cavab olmaq 717 00:33:20,400 --> 00:33:22,420 Növbəti bir neçə həftə biz burada kod öyrənmək kimi. 718 00:33:22,420 --> 00:33:27,680 >> Amma indi kompüter unutmayın ki, yalnız onlara nə demək nə. 719 00:33:27,680 --> 00:33:30,400 Gülünc fıstıq kimi çox kərə yağı və jelly nümunəsidir. 720 00:33:30,400 --> 00:33:33,860 Bizim insan kompüter yalnız idi Siz onları bildirib nə. 721 00:33:33,860 --> 00:33:36,250 Bu halda, əgər siz kompüter demək deyil 722 00:33:36,250 --> 00:33:41,190 Bu ki, yanıb-sönən kursor hərəkət etmək növbəti line, bunu etmək niyyətində deyil. 723 00:33:41,190 --> 00:33:45,390 Mən bu proqram çalıştırdığınızda indi fark. 724 00:33:45,390 --> 00:33:46,900 >> Bir səhv kimi görünür. 725 00:33:46,900 --> 00:33:49,190 Bu, bəlkə də, bir estetik səhv var. 726 00:33:49,190 --> 00:33:53,310 Amma bu barədə müxtəlif nədir açıq-aydın son bir qarşı çıxış? 727 00:33:53,310 --> 00:33:53,810 Bəli. 728 00:33:53,810 --> 00:33:54,920 >> Auditoriya: Bu yeni xətt etmədi. 729 00:33:54,920 --> 00:33:56,586 >> DAVID J. MALAN: Bu yeni xətt etmədi. 730 00:33:56,586 --> 00:33:58,740 İndi edənlərə bəlkə etdi web pages var 731 00:33:58,740 --> 00:34:01,910 əvvəl, siz bilirik bilər BR tag və ya paraqraf tag, 732 00:34:01,910 --> 00:34:03,120 ruhunda çox oxşardır. 733 00:34:03,120 --> 00:34:06,680 A web browser qədər siz ignore edəcək Siz dəqiq nə demək. 734 00:34:06,680 --> 00:34:10,020 Eynilə, C kimi dil yalnız siz bunu demək nə olacaq. 735 00:34:10,020 --> 00:34:12,730 >> Bu səbəbdən belə ki, bütün bu misallar, 736 00:34:12,730 --> 00:34:15,350 indiyədək cür var Təsadüfi bu backslash idi 737 00:34:15,350 --> 00:34:18,560 orada ki, vasitələri var olan özünüzü ifadə 738 00:34:18,560 --> 00:34:21,380 yeni xətt xarakter kimi, belə danışmaq. 739 00:34:21,380 --> 00:34:26,219 Və cür, bəlkə də, təşəkkür edə bilərsiniz Bu cür axmaq baxmaq ki, 740 00:34:26,219 --> 00:34:27,070 başqa bir şey varsa. 741 00:34:27,070 --> 00:34:29,150 Mən yeni xətt istəyirdi, yalnız vuruş cür sonra daxil edin və 742 00:34:29,150 --> 00:34:32,219 ki kimi kodu butchering həqiqətən doğru yol rub deyil. 743 00:34:32,219 --> 00:34:33,830 Və bile həqiqətən, bu nöqtədə qayğı, 744 00:34:33,830 --> 00:34:35,830 Siz ki, həyata keçirəcək bu xüsusilə deyil 745 00:34:35,830 --> 00:34:37,870 kod yaxşı axtarır parça. 746 00:34:37,870 --> 00:34:39,969 >> Və nə dünya qərar il əvvəl 747 00:34:39,969 --> 00:34:43,420 ki, siz qoymaq istədiyiniz zaman açıq-aşkar bir yeni xətt üzərində kursor, 748 00:34:43,420 --> 00:34:46,332 Siz açıq-aydın demək lazımdır yeni xətt, backslash n. 749 00:34:46,332 --> 00:34:48,040 Və bəzi digər var kimi simvol. 750 00:34:48,040 --> 00:34:50,719 Amma indi biz yalnız lazımdır backslash n yönəldir. 751 00:34:50,719 --> 00:34:53,790 >> İndi proqram edək bir az daha maraqlı. 752 00:34:53,790 --> 00:34:59,200 Mən irəli getmək üçün gedirəm və bu dəfə yeni bir fayl açmaq. 753 00:34:59,200 --> 00:35:02,520 Mən bu kimi salam-1.c saxlamaq üçün gedirəm. 754 00:35:02,520 --> 00:35:05,540 Və yalnız kicks üçün, mən gedirəm mənim Dropbox qovluq onu qoymaq getmək. 755 00:35:05,540 --> 00:35:09,030 >> Siz CS50 görəcəksiniz kimi Aracın üçün sənədlər 756 00:35:09,030 --> 00:35:11,210 Problem üçün bu həftə Set 1, biz həvəsləndirmək lazımdır 757 00:35:11,210 --> 00:35:13,230 Siz Dropbox istifadə etmək və ya bəzi ekvivalent xidmət, 758 00:35:13,230 --> 00:35:15,430 Sizin kodu nin sonra bütün çünki gedən avtomatik yedeklenir. 759 00:35:15,430 --> 00:35:17,830 Mən var niyə və ki var Burada bu qovluğa getdi. 760 00:35:17,830 --> 00:35:20,230 >> İndi bir yazmaq üçün gedirəm az fərqli program. 761 00:35:20,230 --> 00:35:24,740 Standart I / O.h, int əsas etibarsız daxildir. 762 00:35:24,740 --> 00:35:29,660 Və sonra burada printf, salam dünyada, olan əvvəl kimi tam eyni deyil. 763 00:35:29,660 --> 00:35:32,450 >> Amma indi mən bir şey çap etmək istəyirəm ki, bir az fərqli. 764 00:35:32,450 --> 00:35:34,800 Mən çap etmək istəyirəm "Salam, David." deyə 765 00:35:34,800 --> 00:35:37,590 Bütün hüquqlar, açıq-aydın, belə ki, inşallah olmalıdır 766 00:35:37,590 --> 00:35:40,360 Mən derleyeceğiz əgər ki, hal ola Bu proqram, bu təkrar, 767 00:35:40,360 --> 00:35:41,840 demək olacaq "hello, David." 768 00:35:41,840 --> 00:35:45,160 >> Amma nə istəyirəm əgər təqdim dəyişən bu cür, 769 00:35:45,160 --> 00:35:49,240 olacaq ki, bir konteyner anlayışı kodu onu D-a-v-i-d və çətin deyil saxlamaq üçün 770 00:35:49,240 --> 00:35:50,600 mənim proqram. 771 00:35:50,600 --> 00:35:53,430 Yaxşı mən nə başlamaq əgər bu kimi bir şey? 772 00:35:53,430 --> 00:35:57,120 >> String s, belə ki, bu dəyişən deyil. 773 00:35:57,120 --> 00:36:00,250 Bir string istəyirsinizsə, bir söz və ya bir söz a.k.a.. 774 00:36:00,250 --> 00:36:03,485 Simvol bir ardıcıllıqla nədir biz proqramlaşdırma simli zəng. 775 00:36:03,485 --> 00:36:06,610 Biz yalnız generically zəng olacaq bir gözəl sadə adı var, çünki bu, var. 776 00:36:06,610 --> 00:36:08,010 Amma bir şey zəng edə bilər. 777 00:36:08,010 --> 00:36:12,920 >> Mən string s bərabərdir demək gedirəm dırnağı bağlamaq, "David" nöqtəli vergül quote. 778 00:36:12,920 --> 00:36:18,330 İndi mən daxil etmək istəyirəm D-a-v-i-d Mən çap alıram nə. 779 00:36:18,330 --> 00:36:23,720 Və biz əvvəl bir iltifat gördüm bəzi xüsusi sintaksis ekran 780 00:36:23,720 --> 00:36:26,050 ki, bizi icazə dəyəri ilə əvəz. 781 00:36:26,050 --> 00:36:29,250 Xüsusi nə idi simvolu bir neçə slaydlar əvvəl? 782 00:36:29,250 --> 00:36:30,040 >> Belə ki, faiz. 783 00:36:30,040 --> 00:36:33,830 Bu zamanda faiz olub decimal sayı d. 784 00:36:33,830 --> 00:36:35,850 Bu, həqiqətən, burada müvafiq görünmür. 785 00:36:35,850 --> 00:36:38,650 Var həyata Amma çevrilir başqa bir faiz simvolu, 786 00:36:38,650 --> 00:36:42,810 dayanır olan faiz s, bir string üçün tutucu üçün. 787 00:36:42,810 --> 00:36:49,350 >> Belə ki, indi, çox sadəcə, mən salam-1 etmək getmək üçün gedir, 788 00:36:49,350 --> 00:36:54,210 Bu fayl deyirlər, çünki salam-1.c, və Enter düyməsini basın. 789 00:36:54,210 --> 00:36:56,230 Mən berbat. 790 00:36:56,230 --> 00:36:57,394 Nə olub? 791 00:36:57,394 --> 00:37:00,560 Biz başlamaq üçün var Yaxşı, burada biz bu komanda istəyirik ki, yüksək qiymətləndiririk 792 00:37:00,560 --> 00:37:02,810 line mühit, bu yalnız mühit mətn. 793 00:37:02,810 --> 00:37:06,114 Nişanlar heç bir tıklayarak var indi qovluq kimi. 794 00:37:06,114 --> 00:37:07,280 Və bir an əvvəl geri edirəm. 795 00:37:07,280 --> 00:37:10,740 Hansı qovluq deyirəm etdi Mən kodu qənaət idi? 796 00:37:10,740 --> 00:37:11,657 Belə ki, Dropbox qovluq. 797 00:37:11,657 --> 00:37:12,989 Bir adlı bilərdi. 798 00:37:12,989 --> 00:37:14,530 Amma bu Dropbox adlandırmaq olur. 799 00:37:14,530 --> 00:37:18,380 Mən elə ikiqat basın lazımdır ki, Dropbox qovluq almaq üçün 800 00:37:18,380 --> 00:37:21,657 və onu almaq mənim kodu salam-1.c çağırıb. 801 00:37:21,657 --> 00:37:24,490 Əslində, mənə irəli getmək və minimuma endirmək imkan yalnız bir an üçün bu pəncərə. 802 00:37:24,490 --> 00:37:27,560 Just Windows və Mac OS kimi, Linux qovluq var. 803 00:37:27,560 --> 00:37:29,410 CS50 Aracı qovluq var. 804 00:37:29,410 --> 00:37:32,380 Bu, yalnız indi biz məhdudlaşdırılmasına edirik var Bu mətn ətraf mühitə özümüzü. 805 00:37:32,380 --> 00:37:34,700 >> Amma klik ikiqat əgər Dropbox, orada qeyd 806 00:37:34,700 --> 00:37:37,210 mən tərtib etmək istəyirəm ki, fayl. 807 00:37:37,210 --> 00:37:41,430 Amma bu qara və ağ lazımdır terminal pəncərə, belə danışmaq. 808 00:37:41,430 --> 00:37:45,750 Amma lazımdır, buna görə də hərəkət etmək ki, qovluq və ya kataloq daxil. 809 00:37:45,750 --> 00:37:48,290 Belə ki, az gizli, lakin siz də bu istifadə almaq lazımdır. 810 00:37:48,290 --> 00:37:50,430 >> Linux dünyada, yenə əməliyyat edir 811 00:37:50,430 --> 00:37:54,860 Sistem biz CS50 daxilində yayınlıyorsanız Appliance, CD adlı komanda var. 812 00:37:54,860 --> 00:37:58,310 Mən CD, yer, Dropbox edə bilərsiniz deməkdir. 813 00:37:58,310 --> 00:37:59,900 CD, dəyişiklik directory. 814 00:37:59,900 --> 00:38:00,400 Right. 815 00:38:00,400 --> 00:38:02,890 Geri gün insanlar zaman kompüter keşfetmeye və əməliyyat 816 00:38:02,890 --> 00:38:05,806 bu kimi sistemləri, istədi az tuş vuruşlarını mümkün yazın. 817 00:38:05,806 --> 00:38:08,760 En asan yol demək dəyişiklik directory CD idi. 818 00:38:08,760 --> 00:38:13,910 >> Mən CD, kosmik Dropbox hit əgər, Burada dəyişib nə görürsünüz. 819 00:38:13,910 --> 00:38:16,480 Mötərizə daxilində Aracın cür 820 00:38:16,480 --> 00:38:19,360 mənə humoring və Mən mənə xatırladan. 821 00:38:19,360 --> 00:38:21,480 Belə ki, açıq qovluq Dropbox edir. 822 00:38:21,480 --> 00:38:24,950 Mən indi ls yazın əgər siyahısı, yenidən qısa, 823 00:38:24,950 --> 00:38:27,540 adam istəmirdi, çünki gün l-i-s-t geri yazın. 824 00:38:27,540 --> 00:38:29,300 Belə ki, onlar əvəzinə LS etdi. 825 00:38:29,300 --> 00:38:30,110 >> Daxil edin. 826 00:38:30,110 --> 00:38:35,740 , I, salam-1.c iki şeyi görmək edək və sonra bu sirli şey, mənbə 1m. 827 00:38:35,740 --> 00:38:38,310 Deyərək yalnız mənim yoludur həftə 1 Bazar ertəsi üçün mənbə kodu. 828 00:38:38,310 --> 00:38:42,020 Mən nazil Bir qovluq Mən əvvəllər bu gün ki, CS50 saytına 829 00:38:42,020 --> 00:38:43,990 və yalnız onu qoymaq əvvəlcədən cihaz. 830 00:38:43,990 --> 00:38:47,550 >> Amma indi yalnız bir şey üçün biz Bu proqram edilməsi haqqında qayğı. 831 00:38:47,550 --> 00:38:50,440 Mən salam-1, daxil edin yazın. 832 00:38:50,440 --> 00:38:51,320 Lanet olsun. 833 00:38:51,320 --> 00:38:53,060 Bir şey yanlış getdi. 834 00:38:53,060 --> 00:38:54,580 Belə ki, bu ayrı tease bildirin. 835 00:38:54,580 --> 00:38:58,489 Və təəssüf ki, bu şeylər edir ilk bir az stressli almaq, 836 00:38:58,489 --> 00:39:00,280 ən azı siz var əgər əvvəl proqramlaşdırılmış heç vaxt. 837 00:39:00,280 --> 00:39:00,980 >> My god. 838 00:39:00,980 --> 00:39:04,990 Mən iki line proqram yazıb və Mən səhvlər dörd xətləri var. 839 00:39:04,990 --> 00:39:07,180 Belə ki, burada neler. 840 00:39:07,180 --> 00:39:11,370 İlk növbədə həmişə geri hərəkət və ilk səhv mesajı tapmaq 841 00:39:11,370 --> 00:39:15,730 oftentimes yalnız Derleyiciler çünki siz və mən nə ilə qarışıq almaq. 842 00:39:15,730 --> 00:39:17,000 Derleyiciler olduqca lallardır. 843 00:39:17,000 --> 00:39:18,360 Onlar yalnız nə edəcəyik Siz nə üçün onlara demək. 844 00:39:18,360 --> 00:39:21,484 Əgər siz onları çaşdırmaq əgər, onlar yalnız cür öz əlləri yuxarı atmaq niyyətindədir 845 00:39:21,484 --> 00:39:25,010 və bəlkə daha çox səhv mesajları atmaq daha həqiqətən uyğundur. 846 00:39:25,010 --> 00:39:26,380 >> Belə ki, ilk baxaq. 847 00:39:26,380 --> 00:39:27,540 Ilk Super sirli. 848 00:39:27,540 --> 00:39:31,050 Ancaq xəbərdarlıq, burada adı var fayl olan mən yəqin qarışdırmışlar. 849 00:39:31,050 --> 00:39:36,570 Colon 5, kolon 5 yalnız deməkdir beşinci karakter line 5. 850 00:39:36,570 --> 00:39:39,760 Belə ki, simvol beşinci sütun, səhv, Siz. 851 00:39:39,760 --> 00:39:41,870 Bəyan identifikator simli istifadə edin. 852 00:39:41,870 --> 00:39:43,120 Standart n mean? 853 00:39:43,120 --> 00:39:44,850 >> Xeyr, Mən string idi. 854 00:39:44,850 --> 00:39:47,640 Və sonra bu cür var çıxarmaq və sovuşdurmaq 855 00:39:47,640 --> 00:39:50,700 Mən, həqiqətən, çəkmək üçün yazdığınız nə mənim Mən berbat harada diqqət. 856 00:39:50,700 --> 00:39:54,260 Nədənsə C Belə ki, və ya ən azı compiler 857 00:39:54,260 --> 00:39:56,470 sözü simli anlamır. 858 00:39:56,470 --> 00:39:57,890 Biz onu, çünki ki, var. 859 00:39:57,890 --> 00:40:01,440 Belə ki, simli mövcud deyil C. Nə CS50 edir in, 860 00:40:01,440 --> 00:40:03,380 ilk bir neçə həftə üçün yalnız sinif, 861 00:40:03,380 --> 00:40:05,700 biz bəzi təlim təmin edir alüminium disklər, belə danışmaq. 862 00:40:05,700 --> 00:40:11,160 Və biz bu təlim təkərlər qoymaq cs50.h. adlı xüsusi fayl daxilində 863 00:40:11,160 --> 00:40:14,970 >> Belə ki, bu iki fayl ikinci yəqin dot saat ki, son adlar. 864 00:40:14,970 --> 00:40:16,300 Nin geri edək. 865 00:40:16,300 --> 00:40:19,360 Printf bir bəyanat və ya funksiyası ki, yəqin bir şey yazdıran 866 00:40:19,360 --> 00:40:20,580 ekran. 867 00:40:20,580 --> 00:40:23,470 Amma mənə görmədim sağ, printf həyata keçirir. 868 00:40:23,470 --> 00:40:26,360 Biri il əvvəl printf həyata keçirilir. 869 00:40:26,360 --> 00:40:30,420 Nə fayl siz o mərc olacaq və ya o həyata qoymaq 870 00:40:30,420 --> 00:40:34,270 printf, printf üçün kodu? 871 00:40:34,270 --> 00:40:36,860 >> Standart I / O.h adlı bir fayl. 872 00:40:36,860 --> 00:40:39,930 Əslində, bu, yəqin ki, var iki faylları standart I / O.h, 873 00:40:39,930 --> 00:40:42,650 olan mövzu üçün dayanır fayl, və standart I / O.c, 874 00:40:42,650 --> 00:40:44,060 C mənbə kodu üçün dayanır. 875 00:40:44,060 --> 00:40:48,220 Belə ki, o, bir neçə il əvvəl plopped onlar fayla yazdığı kodu 876 00:40:48,220 --> 00:40:51,240 ki bizim kimi insanlar il sonra daxil edə bilərsiniz, 877 00:40:51,240 --> 00:40:53,040 belə ki, bizim öz proqramları, danışmaq. 878 00:40:53,040 --> 00:40:56,320 >> And olsun ki, nə funt işarəsi sözü ilə təqib edir daxildir. 879 00:40:56,320 --> 00:41:00,250 Bu, yerli sabit görünür , standart I / O.h adlı fayl tapır 880 00:41:00,250 --> 00:41:03,840 və sonra səmərəli nüsxə və öz fayl daxilində pastalar. 881 00:41:03,840 --> 00:41:07,210 Belə ki, indi mənim proqram bilir necə ekran çap. 882 00:41:07,210 --> 00:41:11,120 >> Məntiq, burada belə string müəyyən olunur? 883 00:41:11,120 --> 00:41:12,260 >> Auditoriya: 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 And olsun ki, nə biz, əsas heyət etdik. 886 00:41:15,540 --> 00:41:19,590 Biz bir neçə növ məlumat icad etdik, belə bir string kimi danışmaq, 887 00:41:19,590 --> 00:41:22,370 yeniləri əlavə siz bir int kimi pulsuz almaq. 888 00:41:22,370 --> 00:41:26,010 Və biz bir char kimi başqaları görürsünüz bir xarakter və bir neçə daha çox. 889 00:41:26,010 --> 00:41:30,670 CS50.h yəqin Inside simli ən azı bir qeyd. 890 00:41:30,670 --> 00:41:34,980 >> Belə ki, indi mənə irəli gedək və təkrar salam etmək-1. 891 00:41:34,980 --> 00:41:37,100 Mən daha zoom və barmaqları keçmək lazımdır. 892 00:41:37,100 --> 00:41:41,370 İndi bir etmişdir Mən çox şeyi müəyyən dəyişir. 893 00:41:41,370 --> 00:41:42,100 Amma lənət olsun. 894 00:41:42,100 --> 00:41:44,290 Data dəlilləri çox faiz. 895 00:41:44,290 --> 00:41:45,980 Mən bu dəfə səhv nə idi? 896 00:41:45,980 --> 00:41:47,420 >> Belə ki, hələ olduqca sirli. 897 00:41:47,420 --> 00:41:51,560 Amma bu səhv edir line 7 və xarakter 21. 898 00:41:51,560 --> 00:41:53,880 Belə ki, burada axtarmaq gedək. 899 00:41:53,880 --> 00:41:55,350 Bu bir az incə var. 900 00:41:55,350 --> 00:41:59,167 Amma düşünmək nə varsa Burada fundamental fikir var 901 00:41:59,167 --> 00:42:00,500 bəlkə biz başqa bu tease bilər. 902 00:42:00,500 --> 00:42:02,300 >> Belə printf funksiyası adı. 903 00:42:02,300 --> 00:42:04,960 Parantez, indiyədək edir yalnız biz ətrafında qoymaq nə kimi 904 00:42:04,960 --> 00:42:07,005 biz keçən etdiyiniz məhsulları bir funksiyası giriş kimi. 905 00:42:07,005 --> 00:42:08,921 Bütün hüquqlar, yalnız bir ixtiyari insan konvensiya. 906 00:42:08,921 --> 00:42:09,919 Parantez istifadə edin. 907 00:42:09,919 --> 00:42:12,460 Bu mötərizə daxilində biz ikiqat quotes qoyulması olduğunuz, 908 00:42:12,460 --> 00:42:14,810 və sonra kimi bir string "salam dünya." 909 00:42:14,810 --> 00:42:18,160 >> Amma ki, əvvəllər məsələn çox qısaca Not baxmaq etdi. 910 00:42:18,160 --> 00:42:22,590 Və biz faiz d idi nə bu mötərizə içərisində idi 911 00:42:22,590 --> 00:42:23,730 Mən şifahi səsləndi ki? 912 00:42:23,730 --> 00:42:24,230 Bəli. 913 00:42:24,230 --> 00:42:28,166 >> Auditoriya: bu Beləliklə, siz alaraq etdiyiniz nə [Işitilemez] daxilində [Işitilemez] 914 00:42:28,166 --> 00:42:30,200 nə bu [Işitilemez]? 915 00:42:30,200 --> 00:42:31,200 DAVID J. MALAN: Exactly. 916 00:42:31,200 --> 00:42:32,700 Beləliklə, biz faiz d idi. 917 00:42:32,700 --> 00:42:36,620 Amma sonra biz yaxın idi quote, vergül, counter. 918 00:42:36,620 --> 00:42:37,120 Right. 919 00:42:37,120 --> 00:42:40,680 Biz istədiyiniz nə müəyyən Bu tutucu kimi etmək. 920 00:42:40,680 --> 00:42:44,621 Belə ki, nə mən burada nə gedirəm vergül, siz məni qoymaq üçün nə istəyirsiniz? 921 00:42:44,621 --> 00:42:45,120 Auditoriya: S. 922 00:42:45,120 --> 00:42:46,828 DAVID J. MALAN: S, çünki bu halda s 923 00:42:46,828 --> 00:42:48,700 saxlama konteyner adı. 924 00:42:48,700 --> 00:42:50,180 Bu şüşə qabda adı var. 925 00:42:50,180 --> 00:42:53,610 O ki, counter idi əvvəl isə sadə Scratch nümunə baxdı. 926 00:42:53,610 --> 00:42:56,630 Belə ki, indi iki etmişdir dəyişikliklər, mənə zoom imkan 927 00:42:56,630 --> 00:42:59,800 və bir daha cəhd edin Bu proqram tərtib. 928 00:42:59,800 --> 00:43:01,596 >> İndi ki, sirli line bax. 929 00:43:01,596 --> 00:43:03,470 Amma ki, əslində var compiler adı. 930 00:43:03,470 --> 00:43:04,886 Cingilti compiler adı. 931 00:43:04,886 --> 00:43:07,100 Yalnız mənə qənaət etmək heç baş ağrısı 932 00:43:07,100 --> 00:43:09,830 uzun crazy əmrini yerinə yazaraq. 933 00:43:09,830 --> 00:43:14,900 Belə ki, indi mən dot salam-1 doğramaq əgər, I "hello, David." Görmək lazımdır 934 00:43:14,900 --> 00:43:16,450 >> Pretty underwhelming, baxmayaraq ki, sağ? 935 00:43:16,450 --> 00:43:18,158 Biz edə bilərdi bu çox sadəcə 936 00:43:18,158 --> 00:43:20,940 dəyişənlərin söhbət olmadan CS50.h və bütün və. 937 00:43:20,940 --> 00:43:23,080 Belə ki, bir edək az daha maraqlı. 938 00:43:23,080 --> 00:43:31,010 >> Cs50.h əlavə, string kimi şeylər olan 939 00:43:31,010 --> 00:43:34,550 elan CS50 kitabxana bir neçə funksiyaları var. 940 00:43:34,550 --> 00:43:38,520 Belə ki, yalnız kimi il əvvəl, kimsə yazdı printf və standart I / O.h qoyun 941 00:43:38,520 --> 00:43:39,530 və bəzi digər faylı. 942 00:43:39,530 --> 00:43:44,010 >> Biz CS50 heyəti, bir funksiyası yazdı GetChar, GetDouble, GetFloat adlı, 943 00:43:44,010 --> 00:43:47,610 GetInt, GetLongLong, GetString, və biz bir fayl daxilində həmin qoymaq 944 00:43:47,610 --> 00:43:49,890 CS50.h və CS50.c. adlı 945 00:43:49,890 --> 00:43:51,880 Və biz daxili qoydu CS50 Aracı. 946 00:43:51,880 --> 00:43:53,880 Və insanlar da edə bilərsiniz Onlar əgər online onlara download 947 00:43:53,880 --> 00:43:55,880 onları qoymaq istəyirəm onların öz kompüter, eləcə. 948 00:43:55,880 --> 00:44:00,880 Biz yaratdıq ki, demək olan istifadəçi daxil almaq funksiyaları. 949 00:44:00,880 --> 00:44:02,930 Mən nə bütün bilmirəm Bu data növləri var. 950 00:44:02,930 --> 00:44:06,490 GetInt kimi cür sadə deyil istifadəçi elə bir tam almaq. 951 00:44:06,490 --> 00:44:09,980 Və GetString get kimi yəqin ki, bir söz və ya istifadəçi bir cümlə. 952 00:44:09,980 --> 00:44:11,770 >> Belə ki, diqqət edək. 953 00:44:11,770 --> 00:44:14,710 Mən geri getmək üçün gedirəm cihaz və mən irəli getmək üçün gedirəm 954 00:44:14,710 --> 00:44:20,790 və bu faylı nin zəng edək mənim ikinci versiya kimi salam-2.c. 955 00:44:20,790 --> 00:44:23,030 Və dəyişikliklər bir neçə edək. 956 00:44:23,030 --> 00:44:25,800 >> Əvəzinə bu dəfə ağır coding David olan 957 00:44:25,800 --> 00:44:29,120 inanılmaz ardıcıl edir lakin underwhelming proqram, 958 00:44:29,120 --> 00:44:32,640 Mən əvəzinə GetString nə olur? 959 00:44:32,640 --> 00:44:35,660 İndi GetString qeyd açıq mötərizə var, 960 00:44:35,660 --> 00:44:38,500 qapalı mötərizə, çünki hər hansı bir daxil ehtiyac yoxdur. 961 00:44:38,500 --> 00:44:40,850 Bu, sadəcə almaq getmək olacaq istifadəçi bir string. 962 00:44:40,850 --> 00:44:42,460 >> İndi digər sintaksis bir söz. 963 00:44:42,460 --> 00:44:45,439 Semicolons kod yalnız bir xətt son. 964 00:44:45,439 --> 00:44:46,730 Siz hər yerdə onlara ehtiyac yoxdur. 965 00:44:46,730 --> 00:44:48,896 Amma ki, yalnız mən deyiləm deməkdir kodu bu xətti ilə aparılır. 966 00:44:48,896 --> 00:44:51,080 Mənə başqa üzərində hərəkət edək bəyanat və ya funksiyası. 967 00:44:51,080 --> 00:44:53,010 String dəyişən bəyan edir. 968 00:44:53,010 --> 00:44:55,920 String deyən kimi Mənə bir fincan xahiş edirik. 969 00:44:55,920 --> 00:44:57,940 Və mənə bir string qoymaq bildirin. 970 00:44:57,940 --> 00:44:59,430 >> İndi bərabər işarəsi. 971 00:44:59,430 --> 00:45:03,510 Bərabər işarəsi nədir mahiyyətcə ekvivalent? 972 00:45:03,510 --> 00:45:04,500 >> Auditoriya: atayın. 973 00:45:04,500 --> 00:45:06,190 >> DAVID J. MALAN: Bəli, bir dəyər təyin. 974 00:45:06,190 --> 00:45:09,872 Belə ki, əgər mən, məsələn, zəng edin bu funksiya GetString, 975 00:45:09,872 --> 00:45:12,830 və biz ki, bir anda görəcəksiniz simli üçün istifadəçi təklif gedir. 976 00:45:12,830 --> 00:45:17,810 Bu mənə sonra yazmaq imkan kimi D-a-v-i-d kağız parçası. 977 00:45:17,810 --> 00:45:21,060 Mən string deyəndə s, GetString bərabərdir 978 00:45:21,060 --> 00:45:24,140 bərabər, həqiqətən, demək deyil C proqramlaşdırma bərabər. 979 00:45:24,140 --> 00:45:27,880 Bu sağ təyin deməkdir sol tərəfinə tərəfdən. 980 00:45:27,880 --> 00:45:29,510 >> Mən bir string kazanılmış etdik. 981 00:45:29,510 --> 00:45:32,785 Və bərabər işarəsi qoymaq deməkdir saxlama konteyner s çağırıb. 982 00:45:32,785 --> 00:45:36,730 Sonra off bu keçmək printf həqiqətən onun şey yoxdur. 983 00:45:36,730 --> 00:45:39,790 >> Belə ki, sonra son nəticə gedir bir az fərqli baxmaq. 984 00:45:39,790 --> 00:45:40,840 Nin salam-2 etmək edək. 985 00:45:40,840 --> 00:45:43,940 986 00:45:43,940 --> 00:45:45,260 Ya iş bilər. 987 00:45:45,260 --> 00:45:46,450 Siz birlikdə aşağıdakı edirik. 988 00:45:46,450 --> 00:45:47,940 Salam-2 çalışmışdır olun. 989 00:45:47,940 --> 00:45:52,640 Dot salam-2, daxil doğramaq. 990 00:45:52,640 --> 00:45:54,620 >> Mən sonsuz görünür loop və ya bir şey. 991 00:45:54,620 --> 00:45:55,453 Heç baş verir. 992 00:45:55,453 --> 00:45:56,134 Niyə? 993 00:45:56,134 --> 00:45:57,805 >> Auditoriya: Bu sonsuz loop edilməsi oldu. 994 00:45:57,805 --> 00:45:59,430 DAVID J. MALAN: Bu sonsuz loop edir. 995 00:45:59,430 --> 00:46:02,710 Bu cür mənim üçün gözləyir həqiqətən bir giriş ilə təmin. 996 00:46:02,710 --> 00:46:05,800 Mənə irəli getmək və yazın edək David və Enter düyməsini basın. 997 00:46:05,800 --> 00:46:07,230 Və indi "hello, David." Deyir 998 00:46:07,230 --> 00:46:09,040 Mən yenidən axır. 999 00:46:09,040 --> 00:46:11,530 Nin Rob, yazın edək "hello, Rob." 1000 00:46:11,530 --> 00:46:13,900 >> İndi bu pis deyil Heç istifadəçi interfeysi. 1001 00:46:13,900 --> 00:46:16,110 İstifadəçi yəqin var nə bilmək lazımdır. 1002 00:46:16,110 --> 00:46:17,120 Amma nə olursa olsun. 1003 00:46:17,120 --> 00:46:19,570 Bu eyni binanı istifadə yalnız Not kimi blokları, 1004 00:46:19,570 --> 00:46:24,980 ki, problem həll etmək və demək olar edin adı kimi bir şey, colon, 1005 00:46:24,980 --> 00:46:27,820 kosmik, yaxın quote bağlıdır mötərizə, nöqtəli vergül. 1006 00:46:27,820 --> 00:46:30,680 Belə ki, bir çox daha sintaksis kamalsızlıq. 1007 00:46:30,680 --> 00:46:34,040 >> Amma yalnız bir əlavə etdik bilərsiniz bu bir bax puzzle parça 1008 00:46:34,040 --> 00:46:35,280 və bu yuxarıda. 1009 00:46:35,280 --> 00:46:38,870 Belə ki, indi mən bu təkrar, hello-2, daxil edin. 1010 00:46:38,870 --> 00:46:41,180 Bir dəqiqə gözləyin. 1011 00:46:41,180 --> 00:46:41,830 Nə oldu? 1012 00:46:41,830 --> 00:46:43,570 Bu hansı fərqli davranır deyil. 1013 00:46:43,570 --> 00:46:44,200 Bəli. 1014 00:46:44,200 --> 00:46:46,010 >> Auditoriya: Siz yenə axır etməyib. 1015 00:46:46,010 --> 00:46:47,968 >> DAVID J. MALAN: Mən etdim sağ, təkrar etmək axır. 1016 00:46:47,968 --> 00:46:49,430 Beləliklə, mən mənbə kodu dəyişib etdik. 1017 00:46:49,430 --> 00:46:50,638 Ancaq yenə də, axın var. 1018 00:46:50,638 --> 00:46:54,530 Compiler ilə Source kodu verir yeni obyekt kodunu, və ya 0s və 1s. 1019 00:46:54,530 --> 00:47:00,209 Mən, həqiqətən, lazım salam-2 daxil edin təkrar etmək. 1020 00:47:00,209 --> 00:47:01,750 OK, bir şey baş görünür. 1021 00:47:01,750 --> 00:47:04,220 Dot salam-2 doğramaq. 1022 00:47:04,220 --> 00:47:05,390 Adınız edin. 1023 00:47:05,390 --> 00:47:09,990 İndi aydın olması üçün, niyə eyni xətt kursor? 1024 00:47:09,990 --> 00:47:10,490 Dəqiq. 1025 00:47:10,490 --> 00:47:13,020 Mən backslash qoymadı n burada mənim kodu. 1026 00:47:13,020 --> 00:47:16,110 Belə ki, indi yaza bilərsiniz Daven kimi bir şey, daxil edin. 1027 00:47:16,110 --> 00:47:18,710 Mən yenidən run və yazın Gabe kimi bir şey, daxil edin 1028 00:47:18,710 --> 00:47:22,250 və fərqli bir proqram almaq təkrar və yenidən. 1029 00:47:22,250 --> 00:47:28,940 >> İndi nəticədə biz lazım olacaq bir neçə müxtəlif imkanlardan istifadə etmək. 1030 00:47:28,940 --> 00:47:32,860 Biz nəticədə bəzi təqdim etmək lazımdır şərait şərti şeyə. 1031 00:47:32,860 --> 00:47:35,550 Bəlkə biz nə edə bilərik loops təkrar şeylər. 1032 00:47:35,550 --> 00:47:38,220 >> Bəlkə biz əgər gözəl olacaq öz funksiyalarını həyata bilər, 1033 00:47:38,220 --> 00:47:41,355 kimi biz öz həyata bilər printf ya GetString öz versiyası 1034 00:47:41,355 --> 00:47:45,870 və GetFlow, çünki son nəticədə hətta Bu command line mühit istifadə edərək, 1035 00:47:45,870 --> 00:47:49,780 biz hətta ən edə bilərsiniz şeyi vizual maraqlı. 1036 00:47:49,780 --> 00:47:51,950 >> Həqiqətən nəticəyə mənə bunu bildirin. 1037 00:47:51,950 --> 00:47:54,020 Mən irəli getmək üçün gedirəm və bu pəncərələrini bağlayın 1038 00:47:54,020 --> 00:47:57,400 və burada bu icon açmaq, yalnız bir böyük 1039 00:47:57,400 --> 00:48:00,020 ki version əlaqədar terminal pəncərə. 1040 00:48:00,020 --> 00:48:02,329 Belə ki, Gedit yalnız var Mənim kodu üçün yer, 1041 00:48:02,329 --> 00:48:05,620 həm də terminal pəncərə inşa Mən çalıştırabilirsiniz olduğu qara və ağ pəncərə 1042 00:48:05,620 --> 00:48:06,230 əmrləri. 1043 00:48:06,230 --> 00:48:08,600 >> Mən yalnız açıq oldu bu bir daha böyük versiyası. 1044 00:48:08,600 --> 00:48:11,170 İndi mən getmək üçün gedirəm Mən artıq var ki, qovluq 1045 00:48:11,170 --> 00:48:13,150 Kursun saytında əvvəlcədən qoydu. 1046 00:48:13,150 --> 00:48:16,720 Mən irəli getmək üçün gedirəm və , thadgavin.c adlı bir fayl açmaq 1047 00:48:16,720 --> 00:48:18,710 olan başqası tərəfindən yazılmışdır. 1048 00:48:18,710 --> 00:48:21,220 >> Və biz bu baxsaq, Bu kodu növü deyil 1049 00:48:21,220 --> 00:48:24,370 biz ildən yazılı olacaq Bu kodu məqsədi 1050 00:48:24,370 --> 00:48:28,450 prettiest yazmaq idi ki, o ola bilər kodu axtarır, 1051 00:48:28,450 --> 00:48:31,290 asılı olmayaraq və ya başqa bir insan heç bilər 1052 00:48:31,290 --> 00:48:33,660 Bu kodu anlamaq. 1053 00:48:33,660 --> 00:48:37,050 >> Həqiqətən, hər il nə var obfuscated C müsabiqə adlanan 1054 00:48:37,050 --> 00:48:39,570 yazmaq real geeks üçün başqa heç bir oxuya bilərsiniz ki kodu, 1055 00:48:39,570 --> 00:48:42,050 ki, ya bir şey yoxdur həqiqətən sadə və ya həqiqətən gözəl. 1056 00:48:42,050 --> 00:48:43,890 Və biz istədiyiniz düşündüm Bu göz ilə bağlamaq 1057 00:48:43,890 --> 00:48:48,300 olduqca gözəl ki, bir şey Siz bir dəfə əvvəl görmüşəm bilər. 1058 00:48:48,300 --> 00:48:52,650 Amma biz bu çıxacağıq qeyd, dot çizgi, thadgavin. 1059 00:48:52,650 --> 00:48:53,860 Bu sonra gözləyir nə. 1060 00:48:53,860 --> 00:48:57,140 1061 00:48:57,140 --> 00:48:58,500 >> Ki, CS50 üçün var. 1062 00:48:58,500 --> 00:48:59,935 Biz Çərşənbə günü görəcəksiniz. 1063 00:48:59,935 --> 00:49:04,284 1064 00:49:04,284 --> 00:49:10,016 >> [MUSIC ifa] 1065 00:49:10,016 --> 00:53:31,883