1 00:00:00,000 --> 00:00:10,550 2 00:00:10,550 --> 00:00:14,050 >> DAVID J. MALAN: Bu CS50 edir və Bu həftə dörd başlanğıc. 3 00:00:14,050 --> 00:00:18,630 Və oğlan, Volkswagen edir çünki proqram narahatlıq. 4 00:00:18,630 --> 00:00:20,264 Bizə nəzər salaq. 5 00:00:20,264 --> 00:00:20,930 [Video playback] 6 00:00:20,930 --> 00:00:25,560 -Avtomobil, Akıllıca simvol Tez və Furious film. 7 00:00:25,560 --> 00:00:29,100 Bu həftə Alman avtomobil Volkswagen özünü aşkar 8 00:00:29,100 --> 00:00:32,490 bir qalmaqal ortasında potensial cinayət nisbətdə. 9 00:00:32,490 --> 00:00:36,060 >> -Volkswagen Milyardlarla möhkəmlətmə edilir cərimələr, mümkün cinayət 10 00:00:36,060 --> 00:00:38,560 onun Yöneticiler üçün, kimi Şirkət üzr 11 00:00:38,560 --> 00:00:41,840 11 milyon avtomobil takelaj üçün Bu emissiyaları test döymək kömək edir. 12 00:00:41,840 --> 00:00:44,950 >> -Certain Dizel modelləri idi inkişaf etmiş proqram ilə nəzərdə 13 00:00:44,950 --> 00:00:48,440 o cümlədən istifadə məlumat sükan və avtomobilin mövqeyi 14 00:00:48,440 --> 00:00:51,870 avtomobil idi müəyyən etmək üçün sürətli emissiyaları test keçir. 15 00:00:51,870 --> 00:00:55,650 Ki halda, mühərrik zəhərli emissiyaları azaldacaq. 16 00:00:55,650 --> 00:00:59,070 Amma avtomobil bypass üçün saxta edildi ki, idarə olunur zaman. 17 00:00:59,070 --> 00:01:03,320 Emissiyaları 40 10 artdı məqbul EPA səviyyədə yuxarıda dəfə. 18 00:01:03,320 --> 00:01:04,280 >> [END playback] 19 00:01:04,280 --> 00:01:05,220 >> DAVID J. MALAN: Belə edək bu nəzər 20 00:01:05,220 --> 00:01:07,250 və dəqiq necə görürük həyata keçirilə bilər 21 00:01:07,250 --> 00:01:09,680 və bu təsir edə bilər necə bu kimi bir çox tapılmışdır. 22 00:01:09,680 --> 00:01:12,840 Belə ki, mənim tərəfdən burada mətbuat ki EPA-- tərəfindən verilmişdir azad 23 00:01:12,840 --> 00:01:14,620 Environmental Protection Agency hansı 24 00:01:14,620 --> 00:01:18,032 ABŞ tənzimləyici agentliyidir ki, ətraf mühitlə bağlı emal, 25 00:01:18,032 --> 00:01:19,740 və sonra faktiki idi Künye 26 00:01:19,740 --> 00:01:22,420 Yalnız bir neçə gün əvvəl Volkswagen göndərin. 27 00:01:22,420 --> 00:01:26,530 >> Belə ki, EPA yazır və indi açıqlayır açıq, inkişaf etmiş bir proqram 28 00:01:26,530 --> 00:01:29,390 Müəyyən on alqoritm Volkswagen vasitələri algılar 29 00:01:29,390 --> 00:01:32,630 zaman avtomobil keçir rəsmi emissiyaları test 30 00:01:32,630 --> 00:01:36,505 və tam emissiyaları çevrilir yalnız test zamanı nəzarət edir. 31 00:01:36,505 --> 00:01:38,380 səmərəliliyi Bu vasitələrin çirklənmə 32 00:01:38,380 --> 00:01:43,260 emissiyaları nəzarət cihazları böyük var bütün normal sürücülük ərzində azalıb 33 00:01:43,260 --> 00:01:44,320 hallar. 34 00:01:44,320 --> 00:01:48,190 Bu cavab Avtomobillərin nəticələrini laboratoriya və ya test standartları 35 00:01:48,190 --> 00:01:52,790 stansiyası, lakin normal istismarı zamanı azot oxides-- ya NOx-- buraxmaq 36 00:01:52,790 --> 00:01:54,950 qədər 40 dəfə standart. 37 00:01:54,950 --> 00:01:58,220 Volkswagen tərəfindən istehsal software bir quote dırnağı bağlamaq, məğlub cihaz, 38 00:01:58,220 --> 00:02:00,650 Clean tərəfindən müəyyən edilmiş ABŞ-da hava Aktı. 39 00:02:00,650 --> 00:02:03,410 >> Onlar ki, getmək EPA və başqa agentliyi 40 00:02:03,410 --> 00:02:07,020 məğlub cihaz aşkar müstəqil təhlil edildikdən sonra proqram 41 00:02:07,020 --> 00:02:09,660 Qərb tədqiqatçıları tərəfindən Virginia Universiteti. 42 00:02:09,660 --> 00:02:14,160 NOx çirklənmə qatqı təmin azot dioksid, yer səviyyəsində ozon, 43 00:02:14,160 --> 00:02:15,700 və gözəl hissəciklər. 44 00:02:15,700 --> 00:02:18,090 Bu məruz çirkləndiricilər bağlı olmuşdur 45 00:02:18,090 --> 00:02:20,870 geniş ilə ciddi sağlamlıq təsirləri, 46 00:02:20,870 --> 00:02:23,637 artıb astma, o cümlədən hücumları və digər tənəffüs 47 00:02:23,637 --> 00:02:26,470 kifayət qədər ciddi ola bilər xəstəliklər xəstəxanaya insanlara göndərmək üçün. 48 00:02:26,470 --> 00:02:28,660 Ozon məruz və hissəciklər də var 49 00:02:28,660 --> 00:02:31,960 vaxtından əvvəl ilə bağlı olmuşdur əlaqədar tənəffüs səbəbiylə ölüm 50 00:02:31,960 --> 00:02:35,690 və ya ürək-damar təsiri ilə bağlı. 51 00:02:35,690 --> 00:02:38,940 Uşaq, yaşlı, insanlar preexisting tənəffüs xəstəlikləri 52 00:02:38,940 --> 00:02:42,840 xüsusilə risk var bu çirkləndirici sağlamlıq təsirləri. 53 00:02:42,840 --> 00:02:45,056 >> Kifayətdir kifayət qədər ciddi, demək deyil. 54 00:02:45,056 --> 00:02:46,930 Və oxumaq üçün getmək imkan yalnız bir daha pasaj 55 00:02:46,930 --> 00:02:49,370 və sonra bir nəzər lazımdır əsas təsiri 56 00:02:49,370 --> 00:02:50,920 bir avtomobil kontekstində bu. 57 00:02:50,920 --> 00:02:53,730 Xüsusilə, Volkswagen istehsal və quraşdırılmış 58 00:02:53,730 --> 00:02:56,210 qondarma proqram təminatı elektron nəzarət 59 00:02:56,210 --> 00:02:59,320 module-- ya ECM-- of hiss bu vasitələr 60 00:02:59,320 --> 00:03:03,580 vasitə üçün test edilmişdir zaman EPA emissiya standartlarına uyğunluq. 61 00:03:03,580 --> 00:03:07,510 O cümlədən müxtəlif giriş əsasında sükan mövqeyini, avtomobil 62 00:03:07,510 --> 00:03:11,280 sürət, motor-nin müddəti əməliyyat və atmosfer təzyiqi, 63 00:03:11,280 --> 00:03:13,720 Bu giriş dəqiq parametrləri izlenen 64 00:03:13,720 --> 00:03:17,600 üçün istifadə federal test proseduru EPA sertifikatlaşdırma üçün emissiyası test 65 00:03:17,600 --> 00:03:18,400 məqsədləri. 66 00:03:18,400 --> 00:03:21,850 >> EPA emissiya sınağı zamanı, nəqliyyat vasitələri ECM proqram 67 00:03:21,850 --> 00:03:25,060 istehsal proqram qaçdı uyğun emissiyaları nəticələri. 68 00:03:25,060 --> 00:03:28,340 Bütün digər vaxtlarda, vasitə ECM proqram 69 00:03:28,340 --> 00:03:31,090 ayrı yol qaçdı aşağı kalibrləmə 70 00:03:31,090 --> 00:03:34,360 səmərəliliyi ümumi emissiya nəzarət sistemi, 71 00:03:34,360 --> 00:03:37,864 xüsusi selektiv katalitik Lean NOx azaldılması trap-- 72 00:03:37,864 --> 00:03:39,280 Hansı bir anda haqqında görəcəksiniz. 73 00:03:39,280 --> 00:03:43,040 NOx nəticəsində, emissiyaları 10 40 dəfə artmışdır 74 00:03:43,040 --> 00:03:47,450 EPA uyğun səviyyədə yuxarıda drive dövrü növündən asılı olaraq. 75 00:03:47,450 --> 00:03:50,800 >> Bu, həqiqətən deməkdir və belə nə proqram çalışan mənbə kodu 76 00:03:50,800 --> 00:03:53,190 Volkswagen-nin deyil hələ açıq açıqlanmır 77 00:03:53,190 --> 00:03:56,460 ki, səmərəli, bu ekvivalent daxilində bir yerdə var 78 00:03:56,460 --> 00:03:57,830 Volkswagen kodu. 79 00:03:57,830 --> 00:04:02,200 Əgər test, və edilir avtomobilin əgər Müəyyən ekoloji amillər algılar 80 00:04:02,200 --> 00:04:04,330 sükan kimi mövqe və ya hərəkət 81 00:04:04,330 --> 00:04:06,710 və ya olmaması avtomobil və ya onların digər amillər hər hansı bir sayı 82 00:04:06,710 --> 00:04:09,940 ki, hazırda öne olunur Bu formula bir hissəsi olmaq üçün, 83 00:04:09,940 --> 00:04:12,370 onlar sadəcə yandırmaq tam emissiyaları nəzarət. 84 00:04:12,370 --> 00:04:15,670 Başqa sözlə, onlar başlamaq çirkləndiricilərin az emitting. 85 00:04:15,670 --> 00:04:18,769 >> Else, hər vəziyyətdə Bu kimi aşkar deyil zaman 86 00:04:18,769 --> 00:04:20,790 Laboratoriyada, onlar yalnız deyil. 87 00:04:20,790 --> 00:04:24,320 Və belə ki, daha bu sadələşdirmək bilər bir şey ilə konkret pseudocode 88 00:04:24,320 --> 00:04:24,820 bunun kimi. 89 00:04:24,820 --> 00:04:27,810 Disklər dönüş ancaq varsa sükan, nalayiq deyil 90 00:04:27,810 --> 00:04:30,060 avtomobil bəzi edir ki, fırlanan silindr cür 91 00:04:30,060 --> 00:04:32,550 lakin bir növ anbar sınaqdan keçirilir, 92 00:04:32,550 --> 00:04:36,070 sonra kimi davranmaq EPA sizə istəyirəm. 93 00:04:36,070 --> 00:04:37,960 Əks halda deyil. 94 00:04:37,960 --> 00:04:40,420 Belə ki, bir nəzər salaq qısa video ki, 95 00:04:40,420 --> 00:04:45,391 nə təsiri bir göz edir həqiqətən mexaniki bu var. 96 00:04:45,391 --> 00:04:48,620 >> [Video playback] 97 00:04:48,620 --> 00:04:52,800 >> Cümə -Son EPA açıqladı bəzi Volkswagen Audi avtomobil 2009 arasında edilən 98 00:04:52,800 --> 00:04:55,840 və bu il istifadə qondarma məğlub cihaz 99 00:04:55,840 --> 00:04:59,060 emissiyaları qanunları ətrafında almaq üçün təmiz hava saxlamaq üçün nəzərdə tutulmuşdur. 100 00:04:59,060 --> 00:05:01,700 Amma bu dəqiq nə deməkdir? 101 00:05:01,700 --> 00:05:04,666 >> Yaxşı, müasir maşın onlarla onların içərisində kompüter. 102 00:05:04,666 --> 00:05:07,040 Və bu kompüter bəzi funksiyaları koordinasiya kömək 103 00:05:07,040 --> 00:05:09,590 optimal üçün mühərrik performance əmin edərkən 104 00:05:09,590 --> 00:05:12,340 çox zibil yoxdur ki, işlənmiş boru həyata gəlir. 105 00:05:12,340 --> 00:05:15,170 Onlar, həqiqətən, iş etdik Artıq bir neçə onilliklər üçün bu yol. 106 00:05:15,170 --> 00:05:17,380 Ümumiyyətlə, hər bir hissəsi müasir avtomobilin mühərrik 107 00:05:17,380 --> 00:05:20,080 sensor və ya nəzarətçi var bu və bu kompüter 108 00:05:20,080 --> 00:05:23,460 məlumatların minlərlə oxu İkinci edilməsi düzəlişlər başına dəfə 109 00:05:23,460 --> 00:05:26,220 hava yanacaq nisbəti kimi ki, silindrlər daxil olacaq. 110 00:05:26,220 --> 00:05:28,730 >> Bu xəyanət Volkswagen və Audi modelləri dizel var 111 00:05:28,730 --> 00:05:30,890 və dizel daha bir var həqiqətən əhəmiyyətli kompüter 112 00:05:30,890 --> 00:05:34,030 var nəzarət parametrləri, gedən yanmamış yanacaq məbləği 113 00:05:34,030 --> 00:05:35,200 işlənmiş daxil. 114 00:05:35,200 --> 00:05:36,310 İndi pis səslənir. 115 00:05:36,310 --> 00:05:39,642 Siz istədiyiniz kimi səs deyil işlənmiş gedən yanmamış yanacaq. 116 00:05:39,642 --> 00:05:41,600 Amma halda dizel, siz bir şey var 117 00:05:41,600 --> 00:05:46,110 bir cihaz bir NOx tələ adlı udur və azot oksidləri üçün tələlərin 118 00:05:46,110 --> 00:05:48,880 çirkləndiricilər ki, ki, var ki, başqa atmosferə getmək. 119 00:05:48,880 --> 00:05:53,040 Və NOx tələ təsiri yanmamış yanacaq ilə genişləndirilir. 120 00:05:53,040 --> 00:05:56,650 Belə ki, bir məğlubiyyət cihaz xüsusi proqram Bu kompüter daxilində ki, bunu edə bilərsiniz 121 00:05:56,650 --> 00:05:59,527 avtomobil emissiya cavab kimi baxmaq standartları bu deyil belə. 122 00:05:59,527 --> 00:06:01,110 Volkswagen onun əlində bir problem var idi. 123 00:06:01,110 --> 00:06:04,050 Onun dizel mühərrikləri məlum idi böyük yanacaq iqtisadiyyatı almaq üçün, 124 00:06:04,050 --> 00:06:07,510 lakin NOx tələ yalnız yaxşı işləyir daha çox yanacaq istifadə edildikdə. 125 00:06:07,510 --> 00:06:10,460 Belə ki, avtomobil, aşkar olardı Bu məğlubiyyət cihaz istifadə edərək, 126 00:06:10,460 --> 00:06:13,870 bu emissiyaları əldə zaman test, bu daha çox yanacaq istifadə edir, 127 00:06:13,870 --> 00:06:16,830 yaxşı NOx tələ iş, emissiyaları gözəl olardı. 128 00:06:16,830 --> 00:06:21,130 Amma sonra, yolda cihaz almaq sönür, daha az yanacaq yanan etdiyiniz 129 00:06:21,130 --> 00:06:24,256 lakin kimi çox 40 dəfə qoyulması edirik atmosferə daha çirkləndirici. 130 00:06:24,256 --> 00:06:26,130 Lakin heck necə avtomobil olduğunu bilirik 131 00:06:26,130 --> 00:06:27,720 emissiyaları uyğun üçün test olunur? 132 00:06:27,720 --> 00:06:30,590 EPA bir mürəkkəb olub şeyi yoxlanılır sistemi 133 00:06:30,590 --> 00:06:34,090 sükan mövqeyi kimi, sürət, mühərrik idi necə uzun, 134 00:06:34,090 --> 00:06:35,507 və hətta atmosfer təzyiqi. 135 00:06:35,507 --> 00:06:37,673 Başqa sözlə, var idi heç bir yol, bu təsadüfi idi 136 00:06:37,673 --> 00:06:40,260 proqram idi, çünki aşkar etmək üçün çox diqqətlə nəzərdə tutulmuşdur 137 00:06:40,260 --> 00:06:41,630 rəsmi emissiyaları test. 138 00:06:41,630 --> 00:06:43,588 Ki, bəzi olduqca ciddi var aldatma və ki 139 00:06:43,588 --> 00:06:45,420 niyə Volkswagen edir belə ciddi narahatlıq. 140 00:06:45,420 --> 00:06:48,600 Əslində, onların CEO, Martin Winterkorn, yalnız aşağı basdı. 141 00:06:48,600 --> 00:06:49,820 >> Belə ki, nə gələn olur? 142 00:06:49,820 --> 00:06:53,900 Yaxşı yarım milyon biri istəyirik, əgər dizel Jettas, Beatles, Golfs, Passats, 143 00:06:53,900 --> 00:06:56,220 və ya Audi A3s, həyata yaxşı xəbər deyil 144 00:06:56,220 --> 00:06:57,886 ki, Sizin avtomobil sürücü hələ təhlükəsizdir. 145 00:06:57,886 --> 00:07:00,510 Siz üz qoymaq yoxdur Volkswagen geri məsələləri qədər. 146 00:07:00,510 --> 00:07:02,509 Amma bir anda onlar yəqin ki, gedir 147 00:07:02,509 --> 00:07:04,230 Sizin avtomobil daxili proqram yeniləmə. 148 00:07:04,230 --> 00:07:06,927 Ki, baş zaman bilər tank başına az mil almaq. 149 00:07:06,927 --> 00:07:09,260 Lawyers artıq gearing olunur sinfi fəaliyyət iddia üçün 150 00:07:09,260 --> 00:07:12,500 belə sahibləri kompensasiya almaq bilər gələcəkdə müəyyən məqamda. 151 00:07:12,500 --> 00:07:15,832 Amma ki, etmək niyyətində deyil tezliklə istənilən vaxt baş verir. 152 00:07:15,832 --> 00:07:16,711 >> [END playback] 153 00:07:16,711 --> 00:07:19,960 DAVID J. MALAN: Belə ki, bu, həqiqətən qaldırır maraqlı böyük şəkil sual 154 00:07:19,960 --> 00:07:20,660 kimi etibar. 155 00:07:20,660 --> 00:07:21,160 Sağ? 156 00:07:21,160 --> 00:07:24,300 Hamımız iPhone və ya Androids və ya cibimizdə bir şey çox güman ki, 157 00:07:24,300 --> 00:07:26,500 bu gün, ya noutbuk bizim ətəklərinin 158 00:07:26,500 --> 00:07:28,510 edilən çalışan proqram Apple və Microsoft tərəfindən 159 00:07:28,510 --> 00:07:30,710 digər şirkətlərin və dəstələri. 160 00:07:30,710 --> 00:07:34,240 Amma biz bilirik ki, nə Bu proqram məhsulları edirik 161 00:07:34,240 --> 00:07:37,680 nə bu əslində şirkətləri etdiklərini demək? 162 00:07:37,680 --> 00:07:39,610 >> Məsələn, kim var deyirlər ki, hər zaman 163 00:07:39,610 --> 00:07:42,200 Sizin iPhone haqqında zəng etmək və ya Android telefon və ya kimi, 164 00:07:42,200 --> 00:07:45,650 ki, telefon nömrəsini də deyil ki, bir şirkətin server daşıyanlar olunur 165 00:07:45,650 --> 00:07:48,399 bəzi Proqramının etdik, çünki Bu əməliyyat olub, yazılı 166 00:07:48,399 --> 00:07:51,070 iOS və ya Android kimi sistem özü, və ya nazil etdik, çünki 167 00:07:51,070 --> 00:07:53,880 bir üçüncü tərəf app elə dinləmək ki, 168 00:07:53,880 --> 00:07:57,120 hər şey Siz yazaraq etdiyiniz və ya hər şey, həqiqətən, deyərək edirik. 169 00:07:57,120 --> 00:07:59,500 Siz ki, bilmirəm necə, nə zaman Sizlərin cingilti çalışan 170 00:07:59,500 --> 00:08:02,590 və ya tərtib etmək olun CS50, necə öz proqram 171 00:08:02,590 --> 00:08:06,080 ki, CS50 öz heyəti etmək, CS50 kitabxana yolu ilə, 172 00:08:06,080 --> 00:08:08,690 hər giriş olmamışdır Əgər kazanılmış string 173 00:08:08,690 --> 00:08:10,276 və ya hər Əgər kazanılmış inch? 174 00:08:10,276 --> 00:08:12,900 Bəli, əlbəttə ki, baxmaq bilər bir şey üçün mənbə kodu ilə 175 00:08:12,900 --> 00:08:15,233 CS50 kitabxana kimi, mənbə kodu baxmaq bilər 176 00:08:15,233 --> 00:08:18,170 Linux əməliyyat sistemi üçün CS50 IDE çalışan. 177 00:08:18,170 --> 00:08:23,090 Amma inanılmaz təqdimat 1984-cü ildə geri verildi 178 00:08:23,090 --> 00:08:26,730 bir tərəfindən Turing mükafatı alınması tanınmış çox məşhur kompüter alim 179 00:08:26,730 --> 00:08:29,750 adlı Ken Thompson as-- edən Turing mükafatı aldığı 180 00:08:29,750 --> 00:08:33,500 informatika nin sort Nobel mükafatı, Siz, 181 00:08:33,500 --> 00:08:35,309 bir onun iş üçün əməliyyat sistemi deyilən 182 00:08:35,309 --> 00:08:39,039 Çox oxşardır Unix, Biz istifadə nə ruh Linux edir. 183 00:08:39,039 --> 00:08:41,960 Və sual o xahiş onun mahiyyətcə qəbul çıxışında, 184 00:08:41,960 --> 00:08:44,910 çərçivəsini aşağı salınması il müzakirə il 185 00:08:44,910 --> 00:08:46,970 inam və təhlükəsizlik haqqında, bu idi. 186 00:08:46,970 --> 00:08:50,410 Nə dərəcədə olmalıdır bir inam A bir parça program-- ki, bəyanat 187 00:08:50,410 --> 00:08:53,010 bir software-- Trojan atlar pulsuz? 188 00:08:53,010 --> 00:08:56,500 Yəqin ki, etibar üçün daha vacibdir proqram yazıb insanlar. 189 00:08:56,500 --> 00:08:58,650 >> Və əslində, biz bağlı etdik müzakirəsi o 190 00:08:58,650 --> 00:09:02,400 bu mükafatı qəbul edərkən verdi CS50 saytında 80-ci 191 00:09:02,400 --> 00:09:04,030 Bu gün üçün mühazirələr səhifə altında. 192 00:09:04,030 --> 00:09:06,071 Görürsünüz nə çünki o, həqiqətən verir ki, 193 00:09:06,071 --> 00:09:09,430 necə hətta kifayət qədər sadə misal cingilti və ya hər hansı bir compiler 194 00:09:09,430 --> 00:09:13,950 digər keçmişdə istifadə derleyiciler, compiler biz əlaqədar nə varsa 195 00:09:13,950 --> 00:09:18,190 özümüzü bir az istifadə olunur mahiyyətcə deyir vəziyyəti, 196 00:09:18,190 --> 00:09:22,360 Bu kodu istifadə edir ki, qeyd əgər GetString funksiyası və ya GetInt 197 00:09:22,360 --> 00:09:26,600 funksiyası, irəli getmək və daxil geri qapı və ya bir Truva atı 198 00:09:26,600 --> 00:09:29,340 Belə ki, proqram indi bəzi adet sıfır var 199 00:09:29,340 --> 00:09:30,930 və zərərli bir şey olanları. 200 00:09:30,930 --> 00:09:33,080 Bütün Logging sizin ki, məlumat yüklemek tuş vuruşlarını, 201 00:09:33,080 --> 00:09:35,100 bir server və ya həqiqətən bir şey. 202 00:09:35,100 --> 00:09:37,290 >> Və nə Ken Thompson söhbətində nə gedir 203 00:09:37,290 --> 00:09:40,580 hətta olduğunu nümayiş edir Siz mənbə etmək imkanı var 204 00:09:40,580 --> 00:09:43,794 bir compiler kodu ki, pis, bunu ola bilər 205 00:09:43,794 --> 00:09:46,210 çünki etməz Bu toyuq və yumurta var 206 00:09:46,210 --> 00:09:49,500 Ötən çox reallıq il vasitəsi derleyiciler 207 00:09:49,500 --> 00:09:51,960 özlərini tərtib etmək üçün istifadə olunur. 208 00:09:51,960 --> 00:09:55,440 Başqa sözlə, yol geri zaman kimsə ilk compiler yazılı idi. 209 00:09:55,440 --> 00:09:59,060 Və sonra, istənilən vaxt onlar yenilənir etdik mənbə kodu dəyişən bir compiler, 210 00:09:59,060 --> 00:10:02,020 funksiyalar əlavə və recompiling bizim kimi insanlar istifadə etmək üçün, yaxşı, 211 00:10:02,020 --> 00:10:04,270 onlar köhnə istifadə etdiyiniz compiler versiyası 212 00:10:04,270 --> 00:10:06,370 yeni tərtib etmək compiler versiyası. 213 00:10:06,370 --> 00:10:08,370 Və siz bir nəzər əgər verdi talk, 214 00:10:08,370 --> 00:10:10,970 Siz, çünki ki, görürsünüz ki circularity, 215 00:10:10,970 --> 00:10:14,330 Siz, həqiqətən, hataları ola bilər və ya Truva atı proqram daxil 216 00:10:14,330 --> 00:10:14,990 biz istifadə edirik. 217 00:10:14,990 --> 00:10:18,010 Və baxmaq, hətta həmin proqramların üçün mənbə kodu, 218 00:10:18,010 --> 00:10:21,550 hətta aydın ola bilər fırıldaqçılıq, həqiqətən, çünki 219 00:10:21,550 --> 00:10:24,710 bir bəzi köhnə versiyası beri olmuşdur compiler 220 00:10:24,710 --> 00:10:27,340 Bizim proqram təhlükə inyeksiya. 221 00:10:27,340 --> 00:10:29,740 >> Olan yalnız biz, demək həqiqətən bilməz və olmamalıdır 222 00:10:29,740 --> 00:10:32,939 inam proqram noutbuk çalışan telefonlar və ya yerlərdə hər hansı bir sayı və ya. 223 00:10:32,939 --> 00:10:36,230 Və əslində, daha sonra bu dövr biz web proqramlaşdırma haqqında danışmağa başlayın 224 00:10:36,230 --> 00:10:38,521 və həqiqətən bina başlamaq web applications özümüzü, 225 00:10:38,521 --> 00:10:40,285 biz bu barədə danışmaq lazımdır təhdid və s. 226 00:10:40,285 --> 00:10:43,410 İndi, merak və qeyd ola bilər kiçik bir az Darth var idi ki, 227 00:10:43,410 --> 00:10:45,842 Klipler Vader ki Verge var göstərirdi 228 00:10:45,842 --> 00:10:47,550 Volkswagen haqqında. Əgər Siz görməmişəm mən 229 00:10:47,550 --> 00:10:49,190 biz işıqlandırmaq lazımdır düşündüm əhval bu, çünki 230 00:10:49,190 --> 00:10:50,780 çox əzici və qorxulu. 231 00:10:50,780 --> 00:10:52,910 Mən geri baxmaq gedirəm Super Bowl 2011 232 00:10:52,910 --> 00:10:55,300 zaman bir ticarət Volkswagen-- və bu 233 00:10:55,300 --> 00:10:59,620 demək olar ki, again-- onlara likable edir TV ilk dəfə havalandırdı. 234 00:10:59,620 --> 00:11:04,039 Bu 60 ikinci clip var Mən sizə zövq olacaq edirəm ki. 235 00:11:04,039 --> 00:11:04,705 [Video playback] 236 00:11:04,705 --> 00:11:08,198 [MUSIC - "Star Wars" mövzusunda] 237 00:11:08,198 --> 00:11:35,643 238 00:11:35,643 --> 00:11:38,138 [It barks] 239 00:11:38,138 --> 00:11:50,114 240 00:11:50,114 --> 00:11:53,607 [CAR BAŞLAYIB] 241 00:11:53,607 --> 00:12:04,086 242 00:12:04,086 --> 00:12:05,955 [END playback] 243 00:12:05,955 --> 00:12:06,830 DAVID J. MALAN: Bəli. 244 00:12:06,830 --> 00:12:07,663 Mən yalnız yoxlanılması edilib. 245 00:12:07,663 --> 00:12:11,360 Ki, avtomobil pozuntuları siyahısındadır. 246 00:12:11,360 --> 00:12:12,000 Oldu. 247 00:12:12,000 --> 00:12:14,040 Beləliklə, biz bəzi baxmaq bir an əvvəl pseudocode. 248 00:12:14,040 --> 00:12:15,380 Və burada böyük var pseudocode kodu parçasını 249 00:12:15,380 --> 00:12:16,921 ki, biz indiyə qədər bir neçə dəfə gördüm. 250 00:12:16,921 --> 00:12:19,970 Və bu bir fürsətdir istifadə edək indi yeni bir proqramlaşdırma təqdim etmək 251 00:12:19,970 --> 00:12:23,776 etdik texnika algorithmically görmək 252 00:12:23,776 --> 00:12:25,400 Keçən həftə birləşməsi sort baxdı zaman. 253 00:12:25,400 --> 00:12:28,270 Amma bunu rəsmiləşdirmək və necə edək Biz faktiki kodu istifadə edə bilər 254 00:12:28,270 --> 00:12:30,350 və sonra biz bu istifadə etmək olacaq yol aşağı texnika ən 255 00:12:30,350 --> 00:12:32,000 müəyyən digər problemləri həll etmək üçün çox. 256 00:12:32,000 --> 00:12:35,790 >> Beləliklə, bu ilk proqramları biri idi biz Heç pseudocode kodu olsa da, yazdı. 257 00:12:35,790 --> 00:12:37,790 Və nə bu proqram Dərs etmək icazə 258 00:12:37,790 --> 00:12:41,510 bir telefon kitab Mike Smith tapmaq idi. 259 00:12:41,510 --> 00:12:46,216 Və xüsusilə xətləri səkkiz qeyd bu Go To bəyanat idi 11. 260 00:12:46,216 --> 00:12:48,090 Və əslində, müəyyən dil, onların arasında C, 261 00:12:48,090 --> 00:12:50,006 əslində bir var sözün bəyanat 262 00:12:50,006 --> 00:12:52,710 ki, sizə imkan verir getmək müəyyən bir xətt jump. 263 00:12:52,710 --> 00:12:55,470 Bu, ümumiyyətlə, çünki sonra Əbəsə edir bu, çox asanlıqla sui-istifadə edilə bilər 264 00:12:55,470 --> 00:12:58,490 və jumping başlamaq bilərsiniz fərqli olaraq bütün yer üzərində proqram 265 00:12:58,490 --> 00:13:00,690 cür istifadə etmək məntiq və nəzarət axını 266 00:13:00,690 --> 00:13:04,000 biz yalnız ilə bu günə qədər istifadə etdiyiniz loops və şərtləri və kimi. 267 00:13:04,000 --> 00:13:08,660 >> Amma biz bu alqoritm sadələşdirmək bilər pseudocode kodu kimi edir. 268 00:13:08,660 --> 00:13:11,250 Əvəzində bu iterativ of və ya yanaşma loop 269 00:13:11,250 --> 00:13:14,160 biz geri davam və geri və geri üç sıralamaq üçün, 270 00:13:14,160 --> 00:13:18,300 niyə biz yalnız növ ayaqla zərbə və daha çox yoxdur ümumiyyətlə, xətti yeddi və 10 demək 271 00:13:18,300 --> 00:13:20,570 yalnız bu iki əvəz ilə xətləri cüt, 272 00:13:20,570 --> 00:13:22,810 Smith əvvəllər başqa əgər Kitabda alacağıq 273 00:13:22,810 --> 00:13:25,110 Mike üçün axtarış Kitabın sol yarısı. 274 00:13:25,110 --> 00:13:28,560 Smith sonra başqa əgər kitab, sağ Mike üçün axtarış 275 00:13:28,560 --> 00:13:29,540 yarım kitab. 276 00:13:29,540 --> 00:13:31,180 Və artıq circularity bildiriş. 277 00:13:31,180 --> 00:13:31,680 Sağ? 278 00:13:31,680 --> 00:13:34,250 Mən Mike üçün axtarış alıram telefon kitab və sonra 279 00:13:34,250 --> 00:13:37,090 Mən nəhayət, bəlkə edib line yeddi və ya bəlkə line 10 280 00:13:37,090 --> 00:13:41,089 və özüm mənim təlimat axtarış telefon kitab yarısında Mike üçün. 281 00:13:41,089 --> 00:13:42,380 Yaxşı, necə Mike üçün axtarış edirsiniz? 282 00:13:42,380 --> 00:13:44,213 Mən ortasında deyiləm Mike, nə üçün axtarış 283 00:13:44,213 --> 00:13:45,860 Siz sort bir dairə mənə göndərir? 284 00:13:45,860 --> 00:13:49,590 Amma ki, nə, çünki OK problemin ölçüsü baş, 285 00:13:49,590 --> 00:13:52,630 xətti 7 və 10 yazılı kimi? 286 00:13:52,630 --> 00:13:54,989 Biz yalnız axtarış deyərək deyilik Mike üçün, Mike üçün axtarış. 287 00:13:54,989 --> 00:13:56,280 Biz xüsusi nə dedi edirik? 288 00:13:56,280 --> 00:13:58,694 289 00:13:58,694 --> 00:14:01,610 Sol yarısında ona axtar səmərəli sağ yarım 290 00:14:01,610 --> 00:14:03,440 problemin yarısı ölçüsü. 291 00:14:03,440 --> 00:14:07,170 Belə ki, biz növ olduğunu OK bu circularity məşğul, 292 00:14:07,170 --> 00:14:09,180 Bu dairəvi arqument ən azı biz istəyirik, çünki 293 00:14:09,180 --> 00:14:11,090 problem kiçik və kiçik edilməsi. 294 00:14:11,090 --> 00:14:14,220 Və nəticədə biz nail olacaq ki, qondarma əsas işi harada 295 00:14:14,220 --> 00:14:16,780 biz yalnız bir səhifə əgər sol Bizim könüllü keçən həftə 296 00:14:16,780 --> 00:14:18,684 did-- biz bir səhifə idi sonra sol və biz deyil 297 00:14:18,684 --> 00:14:21,600 Mike Smith üçün axtarış saxlamaq lazımdır o səhifədə bilərsiniz, çünki 298 00:14:21,600 --> 00:14:23,080 və ya o deyil. 299 00:14:23,080 --> 00:14:27,480 >> Beləliklə, biz bu fikri, bu həyata necə faktiki kodu circularity sort? 300 00:14:27,480 --> 00:14:31,030 Bəli, biz bir texnika leverage ki, ümumiyyətlə, recursion kimi tanınan oldu. 301 00:14:31,030 --> 00:14:33,960 Və biz bu gördüm birləşməsi sort üçün pseudocode ötən həftə. 302 00:14:33,960 --> 00:14:37,190 Bu idi Xatırladaq ki, birləşməsi sort üçün pseudocode. 303 00:14:37,190 --> 00:14:40,560 Bu arguably daha asan var bubble və ya seçim və ya durub sırala 304 00:14:40,560 --> 00:14:43,310 yalnız sadəlik baxımından olan siz ifadə edə bilərlər. 305 00:14:43,310 --> 00:14:46,750 >> Amma ki, çünki var biz sort circularly istəyirik 306 00:14:46,750 --> 00:14:51,350 bir şey üçün axtarış söyləyərək daha üçün axtarış. 307 00:14:51,350 --> 00:14:53,960 Amma biz ya aradığınız sol yarısı və ya sağ yarım 308 00:14:53,960 --> 00:14:56,070 və sonra nəhayət biz istəyirik Bu halda birləşmə. 309 00:14:56,070 --> 00:14:58,520 Amma burada da ilə bu iki sort xətləri, 310 00:14:58,520 --> 00:15:01,320 biz yenə bu var idi recursion ideyası. 311 00:15:01,320 --> 00:15:05,350 Və konkret bu nə deməkdir, bir alqoritm kontekstində, 312 00:15:05,350 --> 00:15:10,880 bir alqoritm recursive olduğunu Bu istifadə edir və ya özünü çağırır əgər. 313 00:15:10,880 --> 00:15:14,330 >> Və ya C baxımından bir funksiyası adlı funksiyası recursive 314 00:15:14,330 --> 00:15:18,510 foo, foo əgər recursive deyil haradasa öz mənbə kodu, 315 00:15:18,510 --> 00:15:21,250 funksiyası foo özü çağırır. 316 00:15:21,250 --> 00:15:25,790 Və bütün foo heç əgər pis təkrar özü zəng edir. 317 00:15:25,790 --> 00:15:30,600 Foo nəticədə vermir kimi ki, OK deyərək, sort daxil bir dəqiqə gözləyin, 318 00:15:30,600 --> 00:15:32,980 Bu problem super əgər Kiçik, məsələn, 319 00:15:32,980 --> 00:15:35,840 ya mən deyiləm kimə onu aşkar axtarır, yalnız qayıtmaq. 320 00:15:35,840 --> 00:15:41,000 Recursively deyil, bunu etməyin cyclically yenidən özüm zəng. 321 00:15:41,000 --> 00:15:44,200 >> Və belə bir nəzər salaq Bu, həqiqətən, iş ola bilər necə. 322 00:15:44,200 --> 00:15:48,430 Beləliklə, mən irəli və açıq getmək üçün gedirəm burada iki mənbə kodu nümunələri up. 323 00:15:48,430 --> 00:15:50,321 Biri sigma 0 adlanır. 324 00:15:50,321 --> 00:15:52,320 Bu bütün deyil recursive amma götürək 325 00:15:52,320 --> 00:15:53,694 bir bu proqram nə baxmaq. 326 00:15:53,694 --> 00:15:55,737 Mən bütün lüt etdik ancaq bütün şərhlər 327 00:15:55,737 --> 00:15:58,070 CS50 üzrə mənbə kodu veb əgər şərh var 328 00:15:58,070 --> 00:15:59,570 daha sonra vasitəsilə oxumaq istəyirəm. 329 00:15:59,570 --> 00:16:02,010 Və bir neçə nə edək ağlı başında olma burada yoxlayır. 330 00:16:02,010 --> 00:16:06,640 >> Bu Məcəllənin üst So biz cs50.h. daxil var 331 00:16:06,640 --> 00:16:07,650 Bu nə edir? 332 00:16:07,650 --> 00:16:08,990 Niyə burada? 333 00:16:08,990 --> 00:16:11,740 Ağlabatan layman nin baxımından. 334 00:16:11,740 --> 00:16:12,424 O nə edir? 335 00:16:12,424 --> 00:16:12,858 Bəli. 336 00:16:12,858 --> 00:16:14,160 >> Auditoriya: GetInt funksiyası işləyir ki. 337 00:16:14,160 --> 00:16:16,243 >> DAVID J. MALAN: Belə ki, GetInt funksiyası işləyir. 338 00:16:16,243 --> 00:16:18,115 Bu daxili Çünki fayl, CS50.h olan 339 00:16:18,115 --> 00:16:20,950 biz uzun əvvəl görürsünüz mənbə kodu şərtləri, 340 00:16:20,950 --> 00:16:23,270 funksiyaları bir dəstə var declared-- GetInt, GetString, 341 00:16:23,270 --> 00:16:26,950 others-- və halda bir dəstə və biz, həqiqətən, ki, xətt daxil var 342 00:16:26,950 --> 00:16:29,320 compiler cingilti deyil ki, mövcud biləcəklər. 343 00:16:29,320 --> 00:16:32,400 Və eyni xətt gedir int müəyyən edilir iki 344 00:16:32,400 --> 00:16:35,101 bir funksiyası var printf, biz kifayət qədər bir az istifadə edin. 345 00:16:35,101 --> 00:16:37,850 İndi line dörd bir az Funky görünür Bu yalnız bir liner, çünki. 346 00:16:37,850 --> 00:16:41,570 Bu, heç bir curly, nöqtəli vergül var aşırma, onun daxilində kodu. 347 00:16:41,570 --> 00:16:44,640 Lakin biz zəng etdi həftə keçmişdə bu şey? 348 00:16:44,640 --> 00:16:45,140 Bəli. 349 00:16:45,140 --> 00:16:46,060 Belə ki, bir prototip. 350 00:16:46,060 --> 00:16:48,390 Və niyə biz bir var görünür prototip 351 00:16:48,390 --> 00:16:51,050 bir az lazımsız olmaq adətən adətən Çünki biz 352 00:16:51,050 --> 00:16:53,474 yenidən funksiyası görmək sonra fayl, sağ? 353 00:16:53,474 --> 00:16:56,390 Belə ki, niyə biz yalnız istəyirik yaxşıdır yoxdur sizin baş kazıma, lakin mən onu almaq lazımdır. 354 00:16:56,390 --> 00:16:57,302 Bəli. 355 00:16:57,302 --> 00:17:00,000 >> Auditoriya: [işitilemez] Əsas sonra funksiyası. 356 00:17:00,000 --> 00:17:01,000 DAVID J. MALAN: Exactly. 357 00:17:01,000 --> 00:17:04,089 Compiler sizə bilir ki, nəticədə müəyyən və ya həyata keçirəcək 358 00:17:04,089 --> 00:17:06,579 ehtimalla əsas sonra funksiyası. 359 00:17:06,579 --> 00:17:08,462 Belə ki, cingilti və ən derleyiciler cür lallardır 360 00:17:08,462 --> 00:17:10,510 və onlar yalnız bilirsiniz nə onlara. 361 00:17:10,510 --> 00:17:12,569 Və istifadə etmək istəyirsinizsə, sigma adlı funksiyası, 362 00:17:12,569 --> 00:17:15,710 daha yaxşı compiler öyrətmək ki, əvvəlcədən mövcuddur. 363 00:17:15,710 --> 00:17:17,970 >> İndi əsas özü, hətta Bu xətləri bir dəstə var, baxmayaraq ki, 364 00:17:17,970 --> 00:17:19,839 İndi ümid olduqca tanış edir. 365 00:17:19,839 --> 00:17:21,942 Bu do loop isə var həyat kimin məqsədi 366 00:17:21,942 --> 00:17:24,400 Burada yəqin almaq üçün istifadəçi müsbət tam. 367 00:17:24,400 --> 00:17:27,349 Və yalnız ona pestering saxlamaq və ya onun əməkdaşlığa qədər. 368 00:17:27,349 --> 00:17:30,670 Sonra xətti 16 Mən maraqlı zəng. 369 00:17:30,670 --> 00:17:31,570 IntAnswer. 370 00:17:31,570 --> 00:17:33,710 Sol tərəfdən hansı yan Mənə bir int verir 371 00:17:33,710 --> 00:17:36,650 Answer-- adlı store-- bilər ki, saxlamaq üçün gedir ki, yəqin, 372 00:17:36,650 --> 00:17:39,090 sigma qaytarılması dəyəri. 373 00:17:39,090 --> 00:17:41,840 Belə ki, sigma yalnız bir deyil ixtiyari, lakin mənalı adı 374 00:17:41,840 --> 00:17:44,500 Mən bir funksiyası təqdim etdik ki, həyat kimin məqsədi 375 00:17:44,500 --> 00:17:47,680 bir dəlil almaq üçün biz Bu halda N zəng edəcəyik 376 00:17:47,680 --> 00:17:52,280 və yalnız ki sayı cəmi etmək plus hər müsbət sayı ki 377 00:17:52,280 --> 00:17:53,200 bu daha kiçik. 378 00:17:53,200 --> 00:17:58,140 >> Mən 2 saylı keçmək əgər Belə ki, sigma, Mən əlavə etmək istəyirəm 2 plus 1 379 00:17:58,140 --> 00:18:00,240 plus 0 idi ki, mənə 3 verir 0-. 380 00:18:00,240 --> 00:18:05,320 Mən sigma 3 keçmək əgər, Mən istəyirəm 3 plus 2 plus 1 var, olan mənə 6 verir. 381 00:18:05,320 --> 00:18:05,900 Və s. 382 00:18:05,900 --> 00:18:09,750 Belə ki, yalnız qədər əlavə bütün ədəd ona daha az və ya bərabər. 383 00:18:09,750 --> 00:18:12,040 >> İndi aşağı burada mən yalnız gedirəm cavab çap. 384 00:18:12,040 --> 00:18:17,330 Belə ki, tez ağlı başında olma çek kimi, edək sigma 0- dot çizgi sigma etmək 0- 385 00:18:17,330 --> 00:18:18,690 və mənə 2 yazın edək. 386 00:18:18,690 --> 00:18:19,960 Mən, həqiqətən, 3 almaq. 387 00:18:19,960 --> 00:18:21,240 Mənə 3 yazın edək. 388 00:18:21,240 --> 00:18:22,860 Mən, həqiqətən, 6 almaq. 389 00:18:22,860 --> 00:18:27,636 Və hər kəs tez riyaziyyat edə bilər, əgər, Mən almaq gedirəm nə 50, nə olur? 390 00:18:27,636 --> 00:18:29,839 >> Auditoriya: [işitilemez]. 391 00:18:29,839 --> 00:18:30,880 DAVID J. MALAN: Bəli, no. 392 00:18:30,880 --> 00:18:33,340 Lakin 1275 olduqca yaxın olan. 393 00:18:33,340 --> 00:18:38,850 Belə ki, bu 50 bunu nəticəsidir plus 49 plus 48 plus 47 plus 46 394 00:18:38,850 --> 00:18:40,349 1 bütün yol aşağı. 395 00:18:40,349 --> 00:18:41,390 Ki belə ki, bütün sigma yoxdur. 396 00:18:41,390 --> 00:18:43,350 Amma biz necə edək İndi həyata keçirilir. 397 00:18:43,350 --> 00:18:45,790 Belə ki, aşağı burada funksiyası özü edir. 398 00:18:45,790 --> 00:18:49,000 Və bu var görünmür bir şey hələ recursion ilə. 399 00:18:49,000 --> 00:18:51,070 Əslində, biz bir istifadə etdiyiniz köhnə məktəb texnika. 400 00:18:51,070 --> 00:18:56,680 Mən bir dəyişən adlı məbləği başlatılıyor alıram sıfır, sonra burada bir foreloop var, 401 00:18:56,680 --> 00:19:00,790 və mən adlı Int elan edirəm Mən 1 var bərabər qəbulu 402 00:19:00,790 --> 00:19:04,080 Mən bərabər müəyyən edə bilər, baxmayaraq ki, sıfır, amma əlavə edirəm ildən, 403 00:19:04,080 --> 00:19:05,340 sıfır və ya bir, əgər kimin umurunda. 404 00:19:05,340 --> 00:19:06,660 Bu, heç bir təsir olacaq. 405 00:19:06,660 --> 00:19:10,110 >> Beləliklə, mən belə uzun mən kimi iterating alıram daha az və ya m, bərabər olan 406 00:19:10,110 --> 00:19:11,671 keçildi dəlildir. 407 00:19:11,671 --> 00:19:13,670 Və sonra mən yalnız saxlamaq I. Və fikir incrementing 408 00:19:13,670 --> 00:19:20,010 loop Mən məbləğ edir edirəm plus I. bərabərdir ki, qəsdən var. 409 00:19:20,010 --> 00:19:22,326 Bu, nə istəmirəm halda, məbləğ plus plus kimi. 410 00:19:22,326 --> 00:19:24,790 Mən, həqiqətən, əlavə etmək istəyirəm I cari dəyəri 411 00:19:24,790 --> 00:19:28,190 olan böyük və daha böyük əldə saxlayır və çalışan tally üçün böyük. 412 00:19:28,190 --> 00:19:30,210 >> Və sonra məbləği geri. 413 00:19:30,210 --> 00:19:33,850 Və belə cavab dəyəri məbləğ olur. 414 00:19:33,850 --> 00:19:35,282 Və sonra mən onu çap. 415 00:19:35,282 --> 00:19:37,740 Belə ki, imkanı var burada, baxmayaraq ki, mehriban asanlaşdırmaq üçün 416 00:19:37,740 --> 00:19:41,260 Bu kodu konseptual və zərbə cür biri 417 00:19:41,260 --> 00:19:43,250 baxımından ağla sadəlik hətta baxmayaraq 418 00:19:43,250 --> 00:19:45,700 düzmək üçün bir müddət alır niyə bu qiymətləndirirəm 419 00:19:45,700 --> 00:19:47,330 bu kiçik nümunələri güclü deyil. 420 00:19:47,330 --> 00:19:50,380 Burada belə one-- sigma deyil Bu kodu ikinci versiyası. 421 00:19:50,380 --> 00:19:55,290 Üst qədər hər şey belə eynidir Həmin hekayə əvvəl tətbiq edilir. 422 00:19:55,290 --> 00:19:59,220 Amma indi baxaq sigma həyata keçirilməsi hansı 423 00:19:59,220 --> 00:20:05,040 Mən yalnız bu aşağı whittled etdik xətləri kodu dörd xətləri, həqiqətən, 424 00:20:05,040 --> 00:20:06,980 üstəlik bəzi qıvrım aşırma və ağ kosmik. 425 00:20:06,980 --> 00:20:07,930 >> Amma mən nə edirəm? 426 00:20:07,930 --> 00:20:11,050 M daha az və ya bərabər olduqda sıfır, I növ idarə etmək lazımdır 427 00:20:11,050 --> 00:20:12,490 ki, super sadə halda. 428 00:20:12,490 --> 00:20:15,450 Və mənə sıfır və ya bir şey əl əgər yalnız qəribə olan mənfi 429 00:20:15,450 --> 00:20:17,909 Mən yalnız özbaşına gedirəm lakin ardıcıl sıfır qayıtmaq. 430 00:20:17,909 --> 00:20:20,200 Mən bu şey istəmirəm bəzi qəribə Infinite daxil 431 00:20:20,200 --> 00:20:21,810 çünki bir mənfi dəyər loop. 432 00:20:21,810 --> 00:20:25,070 Mənə vermək əgər mən yalnız, deyirəm sıfır və ya daha az, mən sıfır qaytarılması alıram. 433 00:20:25,070 --> 00:20:28,220 >> Ki, çünki Amma ki, yaxşı telefon kitab ki, bir səhifə 434 00:20:28,220 --> 00:20:28,790 ki, sol. 435 00:20:28,790 --> 00:20:32,660 Mən çox xüsusi bir problem off yeme alıram və recursively bir şey zəng deyil. 436 00:20:32,660 --> 00:20:36,580 Amma line 31 nə Mən bunu etmək görünür? 437 00:20:36,580 --> 00:20:39,780 parantez yalnız saxlanılır şeylər, ümid edirəm ki, bir az aydın. 438 00:20:39,780 --> 00:20:42,110 Amma edirəm mən deyiləm m-- qaytarılması nə 439 00:20:42,110 --> 00:20:45,790 Siz me-- plus əl m-- sorry dəyəri, 440 00:20:45,790 --> 00:20:49,052 plus m minus 1 sigma dəyəri. 441 00:20:49,052 --> 00:20:50,010 Belə ki, bu nə deməkdir? 442 00:20:50,010 --> 00:20:53,965 Siz giriş kimi mənə sayı 3 versələr, Cavab Mən nəticədə almaq istəyirəm 443 00:20:53,965 --> 00:20:57,307 3 plus 2 plus 1 mənə 6 verir, çünki 6. 444 00:20:57,307 --> 00:20:59,390 Amma mən necə düşünürsünüz Bu kodu nə çalışan? 445 00:20:59,390 --> 00:21:03,070 Mən sigma zəng ilk dəfə və mən dəyər 3 keçmək 446 00:21:03,070 --> 00:21:07,960 ki, bir parça deyən kimi kağız, burada dəyəri 3 var 447 00:21:07,960 --> 00:21:09,920 və mən Sigma kimi qəbul etdik. 448 00:21:09,920 --> 00:21:13,090 3 açıq-aydın belə az olmayan 0 IF şərt tətbiq edilmir. 449 00:21:13,090 --> 00:21:14,020 Başqa yoxdur. 450 00:21:14,020 --> 00:21:14,990 Beləliklə, mən nə etməliyəm? 451 00:21:14,990 --> 00:21:19,902 Mən olan m qayıtmaq istəyirəm M minus 1 3 plus sigma. 452 00:21:19,902 --> 00:21:21,110 Mənə bu takip imkan verir. 453 00:21:21,110 --> 00:21:22,710 Mən bu qoymaq gedirəm kağız aşağı parça. 454 00:21:22,710 --> 00:21:24,668 Və nə dəyəri, olmaq aydın, Mən keçmək üçün gedirəm 455 00:21:24,668 --> 00:21:26,540 hekayə bu nöqtədə sigma daxil? 456 00:21:26,540 --> 00:21:28,080 Nə sayı? 457 00:21:28,080 --> 00:21:28,610 2, sağ? 458 00:21:28,610 --> 00:21:29,670 3 minus 1 2. 459 00:21:29,670 --> 00:21:32,000 Mən yalnız bir az lazımdır Burada kağız qırıntıları. 460 00:21:32,000 --> 00:21:33,931 Belə ki, indi sigma yenidən adlanan olur. 461 00:21:33,931 --> 00:21:35,930 Mən qəsdən gətirdik Bu aşağı, çünki 462 00:21:35,930 --> 00:21:38,070 cür duraklatarak kimi hekayə ki version 463 00:21:38,070 --> 00:21:40,720 indi diqqət deyiləm, çünki m minus 1 siqnal. 464 00:21:40,720 --> 00:21:42,660 Belə ki, m 3, m idi minus 1 2. 465 00:21:42,660 --> 00:21:45,110 Belə ki, burada qəbul etdik 2. 466 00:21:45,110 --> 00:21:48,510 2 açıq-aydın az deyil 0 belə ki, hal tətbiq edilmir. 467 00:21:48,510 --> 00:21:53,445 Başqa mən bu olan m qayıtmaq nə dəyər şey, üstəgəl sigma? 468 00:21:53,445 --> 00:21:56,160 469 00:21:56,160 --> 00:21:59,650 Belə ki, sigma bir 1 var m çünki İndi 2 SO 2 minus 1 1. 470 00:21:59,650 --> 00:22:01,950 Belə ki, indi mən yalnız dəyəri 1 var. 471 00:22:01,950 --> 00:22:04,810 Mən yalnız sayı keçən alıram Funksiyası sigma-- 1 472 00:22:04,810 --> 00:22:09,120 və ya özümü burada belə 1 açıq-aydın deyil sıfırdan aşağı olmayan, hələ də tətbiq edilmir. 473 00:22:09,120 --> 00:22:12,970 >> Else qaytarılması 1 plus nə sigma? 474 00:22:12,970 --> 00:22:13,470 0. 475 00:22:13,470 --> 00:22:14,678 Mənə yalnız unutmayın ki, bildirin. 476 00:22:14,678 --> 00:22:15,920 Mən sonra geri almaq lazımdır. 477 00:22:15,920 --> 00:22:18,060 İndi irəli və jot getmək üçün gedirəm sayı 0 aşağı ki, çünki 478 00:22:18,060 --> 00:22:19,470 Mənim dəlil və ya parametri. 479 00:22:19,470 --> 00:22:22,400 Mən sayı 0 keçdi alıram və nəhayət bu proses 480 00:22:22,400 --> 00:22:25,760 yalnız özümü reklam təkrar nauseum nə çünki dayandırmaq deyil 481 00:22:25,760 --> 00:22:28,820 Bu 0 görmək bir dəfə mən dərhal etməliyəm? 482 00:22:28,820 --> 00:22:29,790 Mən sıfır qayıtmaq. 483 00:22:29,790 --> 00:22:31,790 Belə ki, indi hekayə geri lazımdır. 484 00:22:31,790 --> 00:22:34,430 >> İndi vaxt geri getmək varsa, Ən son şey nə idi 485 00:22:34,430 --> 00:22:36,670 Sözün olsaydı mən video rewinding? 486 00:22:36,670 --> 00:22:41,630 Mən ən son almaq üçün gedirəm 1 və mənə 1 verir plus 0 1. 487 00:22:41,630 --> 00:22:44,100 Mən rewinding saxlamaq hekayə, mənə vermək olacaq 488 00:22:44,100 --> 00:22:46,880 1 2 plus bu çalışan dəyəri. 489 00:22:46,880 --> 00:22:47,789 Belə ki, 3 var. 490 00:22:47,789 --> 00:22:49,330 Və sonra mən rewinding saxlamaq üçün gedirəm. 491 00:22:49,330 --> 00:22:54,220 Mən ilk sayı aşağı qoymaq zaman 3 edəcəyik ki, 3 plus 3 6 mənə verir. 492 00:22:54,220 --> 00:22:57,272 >> İndi, siz rewound olsanız Bu nöqtəyə qədər video up, 493 00:22:57,272 --> 00:22:58,980 Bu çox idi İlk sual soruşdum. 494 00:22:58,980 --> 00:23:01,450 3 keçərkən, 3 sigma nədir? 495 00:23:01,450 --> 00:23:04,204 Bu, həqiqətən, 6, məbləği var kağız bütün bu ədəd. 496 00:23:04,204 --> 00:23:07,120 Ki, bir az edir, əgər belə isə ki, gözəl, sizin fikrinizi ətrafında kesmek. 497 00:23:07,120 --> 00:23:10,700 Amma bu çox az idi hesab Mən dizilir ki, çox qəsdən idi 498 00:23:10,700 --> 00:23:12,990 bir-birinə üst bu nömrələri. 499 00:23:12,990 --> 00:23:17,440 Bu olan kimi növ var vaxt rekord, yaddaş, 500 00:23:17,440 --> 00:23:19,940 bir video bir skrubber kimi, Mən, həqiqətən, ən geri bilər. 501 00:23:19,940 --> 00:23:24,350 Və biz geri gəlmək olacaq yalnız bir az ki, məcaz. 502 00:23:24,350 --> 00:23:28,240 >> Lakin ilk, o var ki, çıxır Geeks və funny bir çox insanlar, 503 00:23:28,240 --> 00:23:29,614 Google da danışarlar. 504 00:23:29,614 --> 00:23:31,530 Kaş çox var kimsə Googling ağıl yaxşı 505 00:23:31,530 --> 00:23:34,270 yalnız bir an üçün gələn və Mənə bir şey üçün axtarış kömək edir? 506 00:23:34,270 --> 00:23:35,650 Çox, çox aşağı düyməsini basın. 507 00:23:35,650 --> 00:23:37,870 Heç kimsə bəlkə də, əvvəl gəlib. 508 00:23:37,870 --> 00:23:38,370 OLDU. 509 00:23:38,370 --> 00:23:39,030 Evet? 510 00:23:39,030 --> 00:23:39,530 Hadi. 511 00:23:39,530 --> 00:23:41,410 Aşağı gəlir. 512 00:23:41,410 --> 00:23:42,183 Sənin adın nədir? 513 00:23:42,183 --> 00:23:42,870 >> SAM: Sam. 514 00:23:42,870 --> 00:23:44,290 >> DAVID J. MALAN: Sam, aşağı gəlir. 515 00:23:44,290 --> 00:23:45,320 Bu eyni. 516 00:23:45,320 --> 00:23:46,280 Görüşmək Nice. 517 00:23:46,280 --> 00:23:46,780 Hey. 518 00:23:46,780 --> 00:23:47,580 Üzərində gəlib. 519 00:23:47,580 --> 00:23:51,290 Belə ki, bütün Mən sizə, əgər nə etmək lazımdır Siz Sam, burada Google var bilər. 520 00:23:51,290 --> 00:23:53,240 Siz müddəti recursion üçün axtarış edə bilərsiniz? 521 00:23:53,240 --> 00:23:55,770 522 00:23:55,770 --> 00:23:56,270 Korlamaq deyil. 523 00:23:56,270 --> 00:23:59,940 524 00:23:59,940 --> 00:24:00,970 >> İndi Bəli Let. 525 00:24:00,970 --> 00:24:03,380 OK ki, basın. 526 00:24:03,380 --> 00:24:04,315 Better ki, basın. 527 00:24:04,315 --> 00:24:07,020 528 00:24:07,020 --> 00:24:08,020 Ahh, onu almaq. 529 00:24:08,020 --> 00:24:08,520 Yox? 530 00:24:08,520 --> 00:24:09,050 OLDU. 531 00:24:09,050 --> 00:24:10,430 Belə ki, bir neçə başqaları edək. 532 00:24:10,430 --> 00:24:12,830 Əlaqədar çox deyil akademik burada, ancaq var 533 00:24:12,830 --> 00:24:14,520 Heç anagram Google axtarış? 534 00:24:14,520 --> 00:24:15,280 >> SAM: Xeyr 535 00:24:15,280 --> 00:24:15,520 >> DAVID J. MALAN: OK. 536 00:24:15,520 --> 00:24:17,186 Anagram yerinə recursion axtar. 537 00:24:17,186 --> 00:24:22,540 538 00:24:22,540 --> 00:24:23,790 Necə əyri haqqında. 539 00:24:23,790 --> 00:24:25,515 Əgər əyri üçün axtarış? 540 00:24:25,515 --> 00:24:29,260 541 00:24:29,260 --> 00:24:32,692 İndi, bu bir az çətindir görmək, lakin ümid OK everything's--. 542 00:24:32,692 --> 00:24:34,150 Bu yalnız və mənə bu zövq deyil. 543 00:24:34,150 --> 00:24:34,690 OLDU. 544 00:24:34,690 --> 00:24:38,950 >> Belə ki, nəhayət, bu one's-- bir az əyri var. 545 00:24:38,950 --> 00:24:40,810 İndi barrel roll etmək. 546 00:24:40,810 --> 00:24:44,460 547 00:24:44,460 --> 00:24:45,310 Wonderful. 548 00:24:45,310 --> 00:24:45,910 Oldu. 549 00:24:45,910 --> 00:24:47,110 Big Sam təşəkkür edirəm. 550 00:24:47,110 --> 00:24:49,416 Buyurunuz. 551 00:24:49,416 --> 00:24:50,400 Thanks. 552 00:24:50,400 --> 00:24:52,807 >> Belə ki, nə bütün olur bu silly nümunələri? 553 00:24:52,807 --> 00:24:55,640 Belə ki, həqiqətən, başlıq altında Kodu xətləri Google milyonlarla 554 00:24:55,640 --> 00:24:58,860 yəqin bir neçə silly mahiyyətcə şərtləri 555 00:24:58,860 --> 00:25:01,160 istifadəçi var, əgər yoxlanılması bu söz Yığdığınız, 556 00:25:01,160 --> 00:25:03,760 yəqin ki, bir şey etdi bir zaman nontrivial məbləği 557 00:25:03,760 --> 00:25:06,080 yalnız həyata keçirmək üçün bu şəkildə əyləncəli ola bilər. 558 00:25:06,080 --> 00:25:08,430 Lakin bu sonunda bütün başlıq altında aşağı. 559 00:25:08,430 --> 00:25:11,570 Lakin, əlbəttə, recursion geekier daha çox 560 00:25:11,570 --> 00:25:13,880 xüsusi tövsiyələr arasında nümunəsidir. 561 00:25:13,880 --> 00:25:16,880 Şübhəsiz ki, orada başqaları orada var həm də bəlkə var ki, hətta 562 00:25:16,880 --> 00:25:18,230 yalnız hələ aşkar. 563 00:25:18,230 --> 00:25:22,830 >> Belə ki, bir nəzər, və ya hesab indi aşağıdakı proqram, 564 00:25:22,830 --> 00:25:24,830 və əlbəttə ki, hər hansı bir işğalçı Yol həyata bu. 565 00:25:24,830 --> 00:25:28,820 Mən irəli getmək üçün gedirəm və bir proqram açmaq 566 00:25:28,820 --> 00:25:30,920 iki dəyərlər dəyişdirmək üçün cəhd edir. 567 00:25:30,920 --> 00:25:33,210 Biz orada getmək əvvəl Lakin, bunu edək. 568 00:25:33,210 --> 00:25:38,500 Biz bir daha əldə edə bilər könüllü, mən hesab edirəm? 569 00:25:38,500 --> 00:25:40,480 Siz könüllü istəyirsiniz? 570 00:25:40,480 --> 00:25:40,980 Yox? 571 00:25:40,980 --> 00:25:41,890 Qədər gəlib. 572 00:25:41,890 --> 00:25:42,390 Qədər gəlib. 573 00:25:42,390 --> 00:25:42,890 Oldu. 574 00:25:42,890 --> 00:25:44,136 Belə ki, adı nədir? 575 00:25:44,136 --> 00:25:44,810 >> LAUREN: Lauren. 576 00:25:44,810 --> 00:25:45,768 >> DAVID J. MALAN: Lauren. 577 00:25:45,768 --> 00:25:46,890 Qədər Lauren gəlib. 578 00:25:46,890 --> 00:25:50,140 Belə ki, Lauren olunur İşdə meydan oxudu. 579 00:25:50,140 --> 00:25:52,310 Görüşmək Nice. 580 00:25:52,310 --> 00:25:55,730 Belə ki, Lauren burada qarşısında var onun iki boş fincan. 581 00:25:55,730 --> 00:25:57,570 Və biz bir portağal var suyu və bəzi süd 582 00:25:57,570 --> 00:26:00,301 və biz getmək olacaq irəli və aşağıdakı. 583 00:26:00,301 --> 00:26:01,550 Biz yalnız bu doldurmaq olacaq. 584 00:26:01,550 --> 00:26:07,840 Burada süd bir neçə ounces və edək burada bir az portağal şirəsi doldurun. 585 00:26:07,840 --> 00:26:11,475 >> Və bütün qarşısında Bu tamaşaçı üzvləri, 586 00:26:11,475 --> 00:26:13,550 bu fincan iki dəyərlər dəyişdirmək. 587 00:26:13,550 --> 00:26:16,970 Süd fincan portağal suyu qoyun və portağal şirəsi fincan süd. 588 00:26:16,970 --> 00:26:22,380 589 00:26:22,380 --> 00:26:26,150 Siz əgər siz bunu necə ev və digər təchizat çıxışı var? 590 00:26:26,150 --> 00:26:27,400 LAUREN: bir fincan qoyun. 591 00:26:27,400 --> 00:26:28,191 DAVID J. MALAN: OK. 592 00:26:28,191 --> 00:26:31,940 Belə ki, müvəqqəti edək dəyişən, biz əgər. 593 00:26:31,940 --> 00:26:35,871 İndi irəli getmək və həyata keçirilməsi eyni dəyişdirmə qaydası. 594 00:26:35,871 --> 00:26:36,370 Çox yaxşı. 595 00:26:36,370 --> 00:26:41,490 Biz müvəqqəti daxil OJ gətirdik dəyişən, OJ dəyişən süd, 596 00:26:41,490 --> 00:26:44,481 və indi müvəqqəti dəyişən süd dəyişən. 597 00:26:44,481 --> 00:26:44,980 OLDU. 598 00:26:44,980 --> 00:26:48,740 Belə ki, çox yaxşı bu günə qədər. 599 00:26:48,740 --> 00:26:50,990 Belə ki, keçirilməsi çıxır Yalnız bir an düşündüm. 600 00:26:50,990 --> 00:26:54,479 Burada yalnız bir az onu turk, bu müvafiq C kodu olardı 601 00:26:54,479 --> 00:26:55,520 biz yalnız həyata ki. 602 00:26:55,520 --> 00:26:58,650 Biz iki giriş, A və B həm idi olan biz yalnız var sadəlik üçün demək lazımdır 603 00:26:58,650 --> 00:26:59,260 int var. 604 00:26:59,260 --> 00:27:02,780 Mən dəyişdirmək istəyirsinizsə, burada qeyd iki dəyişənlərin, A və B dəyərləri, 605 00:27:02,780 --> 00:27:06,890 Biz həqiqətən bir komisyoncu lazımdır, bir müvəqqəti dəyişən müvəqqəti fincan, 606 00:27:06,890 --> 00:27:10,830 hansı the dəyərlərindən biri tökmək ki, biz bunun üçün tutucu var. 607 00:27:10,830 --> 00:27:13,480 Amma sonra code dəqiq deyil Lauren burada həyata keçirilir. 608 00:27:13,480 --> 00:27:15,500 >> İndi, yalnız bir almaq üçün az crazier, çıxır 609 00:27:15,500 --> 00:27:20,930 Siz olmadan bunu edə bilərsiniz ki, müvəqqəti dəyişən. 610 00:27:20,930 --> 00:27:24,870 Baxmayaraq ki, biz gedirik düzgün Bunu etmək üçün bir kimya ilə istifadə etmək üçün. 611 00:27:24,870 --> 00:27:26,380 Biz burada bəzi əlavə fincan var. 612 00:27:26,380 --> 00:27:29,600 Belə ki, ən yaxın bir şeydir ki, görünür süd və su, bəlkə kimi 613 00:27:29,600 --> 00:27:34,090 və ya süd və OJ-- biz bəzi var su, belə ki, biz bu doldurmaq lazımdır 614 00:27:34,090 --> 00:27:36,486 təmiz su bir neçə unsiya ilə. 615 00:27:36,486 --> 00:27:38,332 Bu çox yəqin ki, var. 616 00:27:38,332 --> 00:27:38,832 Bəli. 617 00:27:38,832 --> 00:27:39,934 Bu çox mütləq var. 618 00:27:39,934 --> 00:27:40,600 Bir Saniyə tutun. 619 00:27:40,600 --> 00:27:43,520 620 00:27:43,520 --> 00:27:48,420 >> İndi biz Mən xatırlayıram kimi, neft var orta məktəb kimya sinif, 621 00:27:48,420 --> 00:27:49,990 Ümid edirəm ki, su ilə qarışdırılır deyil. 622 00:27:49,990 --> 00:27:53,650 Amma bu cür sort süd və OJ kimi görünür. 623 00:27:53,650 --> 00:27:55,760 Indi, istifadə etmədən müvəqqəti dəyişən, 624 00:27:55,760 --> 00:27:59,260 bu iki dəyərlər dəyişdirmək olar? 625 00:27:59,260 --> 00:28:03,884 Su fincan gider yağları So su neft fincan gider. 626 00:28:03,884 --> 00:28:04,800 LAUREN: No digər fincan? 627 00:28:04,800 --> 00:28:05,940 DAVID J. MALAN: No digər fincan. 628 00:28:05,940 --> 00:28:07,860 Mən həqiqətən var Bu ilin əvvəl bu test 629 00:28:07,860 --> 00:28:10,110 bu iradə, əgər mən bilmirəm həqiqətən kimyəvi çalışır. 630 00:28:10,110 --> 00:28:16,130 631 00:28:16,130 --> 00:28:18,650 Bu baş ehtimal deyil. 632 00:28:18,650 --> 00:28:19,761 Bu iş? 633 00:28:19,761 --> 00:28:20,260 Oldu. 634 00:28:20,260 --> 00:28:20,990 Belə ki, ayıran? 635 00:28:20,990 --> 00:28:21,490 Yaxşı. 636 00:28:21,490 --> 00:28:24,714 İndi biz almaq üçün var digər fincan su. 637 00:28:24,714 --> 00:28:27,630 Smarter kimya soğutucular bilər yəqin ki, məndən daha yaxşı bunu. 638 00:28:27,630 --> 00:28:28,510 >> LAUREN: Su altındakı var. 639 00:28:28,510 --> 00:28:31,910 >> DAVID J. MALAN: idi water-- biz bunu son dəfə əsas var. 640 00:28:31,910 --> 00:28:33,950 Siz sağ üçün bunu etmək lazımdır. 641 00:28:33,950 --> 00:28:34,450 Bəli. 642 00:28:34,450 --> 00:28:35,270 Hər şey yaxşıdır. 643 00:28:35,270 --> 00:28:37,290 Belə ki, indi biz neft iki fincan var. 644 00:28:37,290 --> 00:28:37,790 OLDU. 645 00:28:37,790 --> 00:28:38,510 Hər şey yaxşıdır. 646 00:28:38,510 --> 00:28:40,110 Amma bu istisna olmaqla, mən çox işləyib kimyəvi əgər 647 00:28:40,110 --> 00:28:41,200 >> LAUREN: Bu su. 648 00:28:41,200 --> 00:28:41,930 >> DAVID J. MALAN: Bu əsasən su var. 649 00:28:41,930 --> 00:28:42,430 Oldu. 650 00:28:42,430 --> 00:28:44,210 Lakin hələ də əvvəlki kimi eyni kubokda var. 651 00:28:44,210 --> 00:28:47,570 Belə ki, pseudocode orada cəhd tökülür. 652 00:28:47,570 --> 00:28:49,300 OLDU. 653 00:28:49,300 --> 00:28:51,010 Bu sinif zaman yaxşı istifadə bu gün. 654 00:28:51,010 --> 00:28:51,510 OLDU. 655 00:28:51,510 --> 00:28:53,890 Belə ki, indi gözəl we--. 656 00:28:53,890 --> 00:28:55,460 Sort. 657 00:28:55,460 --> 00:28:55,960 Oldu. 658 00:28:55,960 --> 00:28:56,690 Belə ki, çox yaxşı. 659 00:28:56,690 --> 00:29:00,006 Lauren təşəkkür edirəm. 660 00:29:00,006 --> 00:29:01,950 Çox yaxşı. 661 00:29:01,950 --> 00:29:04,570 >> Belə ki, yalnız sizin şüurunda zərbə və bu, bəlkə bir şey deyil 662 00:29:04,570 --> 00:29:08,660 Siz CS50 ID kimi, əgər ilə oynamaq, Siz, əslində, iki dəyişənlərin dəyişdirmək olar 663 00:29:08,660 --> 00:29:11,470 müvəqqəti tam istifadə etmədən. 664 00:29:11,470 --> 00:29:13,060 Bu müvafiq C kodu. 665 00:29:13,060 --> 00:29:16,110 Və son geri əgər Çərşənbə, biz, əgər qısa təqdim 666 00:29:16,110 --> 00:29:19,720 C. Və nə bəzi yeni operatorları Hər kəs nə az kök geri 667 00:29:19,720 --> 00:29:23,660 simvolu az üçbucaq var klaviatura rəmzi təmsil? 668 00:29:23,660 --> 00:29:26,003 Nə bitwise operator? 669 00:29:26,003 --> 00:29:26,770 >> Auditoriya: EXOR. 670 00:29:26,770 --> 00:29:27,645 >> DAVID J. MALAN: EXOR. 671 00:29:27,645 --> 00:29:28,560 Exclusive ya. 672 00:29:28,560 --> 00:29:32,920 Yalnız əyləncə üçün, istəyirəm əgər ev, bir və b iki ixtiyari vermək 673 00:29:32,920 --> 00:29:36,072 Hər hansı bir eight-- və mən kimi dəyərləri səkkiz bit dəyər seçsin. 674 00:29:36,072 --> 00:29:38,530 32 bit bunu əgər, çox tez cansıxıcı almaq lazımdır. 675 00:29:38,530 --> 00:29:42,150 Amma yalnız bir səkkiz az vermək bir və ya iki hər hansı dəyəri, 676 00:29:42,150 --> 00:29:43,790 və oxşar dəyəri b verir. 677 00:29:43,790 --> 00:29:46,810 Və sonra müəyyən istifadə son Çərşənbə XOR ki, 678 00:29:46,810 --> 00:29:52,560 , bit hər ki, bit müraciət bir və b hər olanlar səkkiz bit, 679 00:29:52,560 --> 00:29:54,980 və sonra bu kodu başına dəqiq bunu. 680 00:29:54,980 --> 00:29:58,170 Və bu səhv deyil nə Siz ekranda burada bax. 681 00:29:58,170 --> 00:30:02,100 Bu, həqiqətən sonunda aşağı üç XOR əməliyyatları 682 00:30:02,100 --> 00:30:05,910 və elə magically bir və b mövqelərini mübadiləsi edəcək 683 00:30:05,910 --> 00:30:08,010 hər hansı bir məlumat itirmədən. 684 00:30:08,010 --> 00:30:11,580 >> Belə ki, neft və su oyun deyil yaxın real dünya təcəssüm 685 00:30:11,580 --> 00:30:12,980 Hesab edirəm ki, taklit üçün hesab edə bilər. 686 00:30:12,980 --> 00:30:15,950 Amma bu mütləq asandır müvəqqəti dəyişən istifadə, 687 00:30:15,950 --> 00:30:16,920 burada bu halda kimi. 688 00:30:16,920 --> 00:30:21,190 Və bu da bir fürsət, demək ki, də mikro optimallaşdırılması bu cür, 689 00:30:21,190 --> 00:30:23,590 kompüter alim kimi demək olardı isə əyləncə növü 690 00:30:23,590 --> 00:30:27,060 Siz olmadan bu necə haqqında lovğalanmaq üçün əlavə dəyişən dəyişdirmə kimi, 691 00:30:27,060 --> 00:30:28,640 Bu bütün çekici deyil. 692 00:30:28,640 --> 00:30:31,619 32 bit, kimi saxlamaq üçün, çünki faktiki int halda, 693 00:30:31,619 --> 00:30:33,410 bütün çekici deyil sistemi harada 694 00:30:33,410 --> 00:30:36,722 Siz megabayt onlarla istifadə edilə bilər və ya daha çox yaddaş bu gün. 695 00:30:36,722 --> 00:30:38,680 Və əslində, biz zaman almaq daha sonra problem dəsti 696 00:30:38,680 --> 00:30:41,010 və yazım həyata checker və lazımdır 697 00:30:41,010 --> 00:30:43,550 belə ilə etiraz Bu az RAM və az 698 00:30:43,550 --> 00:30:46,820 mümkün vaxt hələ kompüter üçün 699 00:30:46,820 --> 00:30:50,160 həyata keçirilməsi üçün bir həftə var Siz olacaq yaxşıdır lazımdır pseudocode 700 00:30:50,160 --> 00:30:51,799 bu resursları minimuma endirmək üçün etiraz. 701 00:30:51,799 --> 00:30:53,840 Və həqiqətən, yalnız var Bu dövr münasibətilə 702 00:30:53,840 --> 00:30:57,940 Siz qırxmaq üçün təşviq lazımdır hətta ən yaxşı performans off 703 00:30:57,940 --> 00:30:59,340 başqa edir. 704 00:30:59,340 --> 00:31:02,200 >> Belə ki, biz necə edə bilər what-- Bu faktiki kodu görmək? 705 00:31:02,200 --> 00:31:04,530 Mənə indi davam edək və nümunə açmaq 706 00:31:04,530 --> 00:31:07,700 ki, qəsdən adlanır No Swap bu deyil, çünki 707 00:31:07,700 --> 00:31:10,670 Əslində dəyişənlərin dəyişdirmək Siz, həqiqətən, gözləyə bilər. 708 00:31:10,670 --> 00:31:12,260 Belə ki, bir nəzər salaq. 709 00:31:12,260 --> 00:31:17,050 Burada heç bir CS50 var bir proqram kitabxana, yalnız standart I / O gedir. 710 00:31:17,050 --> 00:31:19,560 İndi biz bir prototip var üst qədər svop üçün olan yalnız 711 00:31:19,560 --> 00:31:21,540 sonra müəyyən var deməkdir. 712 00:31:21,540 --> 00:31:22,550 Və burada əsas var. 713 00:31:22,550 --> 00:31:26,000 >> Mən özbaşına x və y təyin, müvafiq olaraq, dəyərlər bir və iki 714 00:31:26,000 --> 00:31:28,590 yalnız onlar kiçik istəyirik, çünki və asan düşünmək. 715 00:31:28,590 --> 00:31:32,280 Və sonra mən yalnız printfs bir dəstə var Mən ağlı başında olma çek olduğu. x 1 716 00:31:32,280 --> 00:31:35,110 və y 2 ehtimalla edir o printfs demək nə. 717 00:31:35,110 --> 00:31:36,530 Belə ki, heç bir sehrli indiyə qədər. 718 00:31:36,530 --> 00:31:40,100 >> Sonra mən iddia gedirəm dot dot dot dəyişdirmə, def çap. 719 00:31:40,100 --> 00:31:43,730 Mən mübadilə zəng etmək üçün gedirəm funksiyası, x və y keçən. 720 00:31:43,730 --> 00:31:47,350 Və indi ki, güman edək swap dəqiq həyata keçirilir 721 00:31:47,350 --> 00:31:49,930 bir an əvvəl olduğu kimi müvəqqəti dəyişən. 722 00:31:49,930 --> 00:31:52,670 Və mən cəsarətlə iddia dəyişdirildikdə. 723 00:31:52,670 --> 00:31:55,429 x bu və y indi ki indi. 724 00:31:55,429 --> 00:31:57,220 Amma fayl, əlbəttə, No Swap adlanır. 725 00:31:57,220 --> 00:31:58,678 Belə ki, həqiqətən nə görmək edək. 726 00:31:58,678 --> 00:32:04,450 Mən heç bir mübadilə və tərtib əgər ./noswap etmək, x 1, y 2-dir. 727 00:32:04,450 --> 00:32:05,770 Dəyişdirildikdə dəyişdirmə. 728 00:32:05,770 --> 00:32:07,200 x y 2, 1. 729 00:32:07,200 --> 00:32:11,980 Belə ki, həqiqətən, hətta qüsurlu görünür svop baxmayaraq, indi aşağı diyirləyin edək 730 00:32:11,980 --> 00:32:16,542 başına dəqiq həyata keçirilir code Mən bir an əvvəl təklif edib. 731 00:32:16,542 --> 00:32:19,000 Beləliklə, biz xülya almaq fikrində deyilik İndi XOR məhsulları ilə. 732 00:32:19,000 --> 00:32:21,890 Bu da yalnız işləməlidir süd və OJ ilə kimi, 733 00:32:21,890 --> 00:32:25,820 lakin bu iş görünmür. 734 00:32:25,820 --> 00:32:27,180 >> Belə ki, bir daha bunu edək. 735 00:32:27,180 --> 00:32:29,310 Bəlkə yalnız sağ çalışan deyil. 736 00:32:29,310 --> 00:32:32,010 Belə ki, yenidən No Swap run edək. 737 00:32:32,010 --> 00:32:32,900 Bəlkə istisna olmaqla, mən yox. 738 00:32:32,900 --> 00:32:34,400 Belə ki, yalnız iş deyil. 739 00:32:34,400 --> 00:32:36,060 Belə ki, bir az ağlı başında olma çek bunu bildirin. 740 00:32:36,060 --> 00:32:39,690 Mənə Swap burada davam edək və yalnız əlavə bir dəqiqə gözləyin, 741 00:32:39,690 --> 00:32:43,856 bir% i / n və edək plug-in bir dəyəri. 742 00:32:43,856 --> 00:32:45,730 Mən, həqiqətən, istəyirəm, çünki neler görmək. 743 00:32:45,730 --> 00:32:47,570 Həqiqətən, bu bir ayıklama texnika 744 00:32:47,570 --> 00:32:50,028 Siz istifadə edilə bilər ki, ofis saat və ya artıq evdə, 745 00:32:50,028 --> 00:32:53,560 Dan ilk yarısında yaxın Pset3 da Armendariz video 746 00:32:53,560 --> 00:32:56,870 biz çap təqdim çıxdığı kimi def ən azı bir tövsiyə texnika 747 00:32:56,870 --> 00:32:58,080 sadə hallarda. 748 00:32:58,080 --> 00:33:01,720 Mənə davam və etmək run edək daha heç bir svop, ./noswap. 749 00:33:01,720 --> 00:33:04,370 750 00:33:04,370 --> 00:33:05,840 >> Maraqlı. 751 00:33:05,840 --> 00:33:11,670 Belə ki, doğru olmaq görünür nə görürsünüz. x 1, y 2, lakin b 1 bir 2-dir. 752 00:33:11,670 --> 00:33:16,790 Belə ki, bu iki birtəhər dəyişdirildikdə oldu lakin x və y dəyişdirildikdə əldə deyil. 753 00:33:16,790 --> 00:33:21,090 Belə ki, nə baş, aydın olmaq qədər burada x və y edir 754 00:33:21,090 --> 00:33:25,380 və həmin yerli dəyişənlər var Əsas daxilində, mən x və y keçən alıram 755 00:33:25,380 --> 00:33:26,170 dəyişdirmək üçün. 756 00:33:26,170 --> 00:33:29,080 İndi, svop, ayrı-ayrı funksiyası kimi, onun dəlilləri zəng etmək pulsuzdur 757 00:33:29,080 --> 00:33:30,590 və ya onun parametrləri bir şey istəyir. 758 00:33:30,590 --> 00:33:33,280 Foo x və ya y və ya bir və ya b və ya bar və ya. 759 00:33:33,280 --> 00:33:36,870 Məhz onlar olduğunu aydın etmək x eyni deyil və y özlüyündə, 760 00:33:36,870 --> 00:33:38,020 Mən A və B bildirib etdik. 761 00:33:38,020 --> 00:33:40,040 Amma biz onlara biz istədiyiniz bir şey zəng edə bilər. 762 00:33:40,040 --> 00:33:43,960 >> Və belə kimi görünür swap qəbul olunur 763 00:33:43,960 --> 00:33:48,980 x-- AKA a-- və bu y-- AKA b qəbul olunur. 764 00:33:48,980 --> 00:33:51,900 Elə bu üç xətləri var məhz bu dəyərləri dəyişdirmə 765 00:33:51,900 --> 00:33:53,510 Lauren süd və OJ ilə etdi. 766 00:33:53,510 --> 00:33:56,010 Amma biz çap zaman dəyərlər, bir və b 767 00:33:56,010 --> 00:34:01,340 dəyişdirmək həqiqətən, lakin x və y onlara heç bir dəyişiklik yoxdur. 768 00:34:01,340 --> 00:34:03,150 Ki, x və y burada qədər xatırlayıram. 769 00:34:03,150 --> 00:34:05,320 >> Beləliklə, biz vasitəsilə bu edə bilərsiniz eləcə də digər texnika. 770 00:34:05,320 --> 00:34:08,110 Və bu da bir texnikadır problemi ilə əlaqədar üç seçin. 771 00:34:08,110 --> 00:34:10,780 Nin irəli gedək və bunu CS50 ID Əgər siz artıq yoxdur, əgər. 772 00:34:10,780 --> 00:34:13,730 Sağ tərəfdən biz bu Debugger nişanı var. 773 00:34:13,730 --> 00:34:16,159 Və bu qədər açmaq əgər, bəzi gizli məlumat yoxdur 774 00:34:16,159 --> 00:34:17,530 ki, ilkin sizə atılan oldu. 775 00:34:17,530 --> 00:34:19,310 Amma real sürətli bu ayrı tease bildirin. 776 00:34:19,310 --> 00:34:21,620 >> Belə ki, bir, yerli dəyişənlərin görmək. 777 00:34:21,620 --> 00:34:26,230 CS50 IDE qurmaq çıxır ki, və proqramlaşdırma mühit daha çox 778 00:34:26,230 --> 00:34:28,060 ümumiyyətlə, bir ayıklama edir. 779 00:34:28,060 --> 00:34:31,340 Vizual görmək üçün imkan verir bir vasitədir nə proqramı daxilində gedən 780 00:34:31,340 --> 00:34:34,380 əlavə müraciət etmədən printfs və tərtib və çalışan 781 00:34:34,380 --> 00:34:37,588 və printf nin əlavə və tərtib və ofis saat olan artıq çalışan 782 00:34:37,588 --> 00:34:40,070 və ya ev, yəqin ki, olduqca yorucu olur. 783 00:34:40,070 --> 00:34:43,090 >> Belə ki, burada, yalnız bir an, biz istəyirik real vaxt görmək üçün gedir 784 00:34:43,090 --> 00:34:44,760 Bizim yerli dəyişənlərin dəyərləri. 785 00:34:44,760 --> 00:34:47,880 Biz də müəyyən edə olacaq breakpoints adlanır nə olan 786 00:34:47,880 --> 00:34:52,570 imkanlar fasilə mənim proqram var kod xüsusi xəttində icra 787 00:34:52,570 --> 00:34:53,710 Mən maraqlı deyiləm ki. 788 00:34:53,710 --> 00:34:54,210 Sağ? 789 00:34:54,210 --> 00:34:55,969 Bu proqramlar bir split ikinci axır. 790 00:34:55,969 --> 00:35:00,450 Bu, bizim yavaş insanlar üçün cür gözəl , fasilə bir an etmək imkanına malik olmaq üçün, bax 791 00:35:00,450 --> 00:35:02,380 ətrafında nə olub kodu müəyyən line 792 00:35:02,380 --> 00:35:05,050 proqram şum olmadan vasitəsilə və tamamilə başa. 793 00:35:05,050 --> 00:35:08,510 Belə ki, bir breakpoints bizə imkan gedir qırmaq və müəyyən bir nöqtədə fasilə. 794 00:35:08,510 --> 00:35:12,990 >> Call yığını bir xülya yoldur funksiyaları hazırda nə söyləyərək 795 00:35:12,990 --> 00:35:14,140 hazırda adlanan. 796 00:35:14,140 --> 00:35:15,370 Main həmişə birinci adlanır. 797 00:35:15,370 --> 00:35:17,230 Amma Main çağırır əgər Swap adlı funksiyası, 798 00:35:17,230 --> 00:35:20,470 biz, həqiqətən, bu görmək olacaq olmuşdur funksiyaları qala 799 00:35:20,470 --> 00:35:22,400 əks xronoloji qaydada çağırıb. 800 00:35:22,400 --> 00:35:23,310 Belə ki, görək. 801 00:35:23,310 --> 00:35:24,327 >> Mən kiçiltmək gedirəm. 802 00:35:24,327 --> 00:35:25,660 Mən mənim kodu geri getmək üçün gedirəm. 803 00:35:25,660 --> 00:35:27,540 Və yalnız mən istəyirəm, çünki burada xırdaçı olmaq, 804 00:35:27,540 --> 00:35:31,100 Mən irəli getmək və basın gedirəm yalnız xəttinin beş sol. 805 00:35:31,100 --> 00:35:32,830 Və bir qırmızı dot yaradır. 806 00:35:32,830 --> 00:35:36,200 Və sağ tərəfində qeyd ayıklama hey, bilir ki, 807 00:35:36,200 --> 00:35:41,020 Mən yalnız bildirib ki, bir breakpoint da noswap.c line beş, xüsusi 808 00:35:41,020 --> 00:35:42,480 kodu bu xətt. 809 00:35:42,480 --> 00:35:45,090 Belə ki, ayıklama ki, mən bilir növbəti dəfə ki, tələb 810 00:35:45,090 --> 00:35:48,530 Mən proqram fasilə run orada deyil, yalnız icra 811 00:35:48,530 --> 00:35:50,390 super sürətli bütün şey çalışır. 812 00:35:50,390 --> 00:35:53,889 >> Belə ki, indi debug basın gedirəm IDE çox üst düyməsini 813 00:35:53,889 --> 00:35:55,430 və aşağıdakı etmək olacaq. 814 00:35:55,430 --> 00:36:00,680 Bu ilkin qədər bir açıq olacaq qorxudan axtarır ikinci terminal pəncərə 815 00:36:00,680 --> 00:36:02,679 Uzaqdan ayıklama Belə keçiriləcək və such-- 816 00:36:02,679 --> 00:36:04,970 və biz geri gəlmək lazımdır nə bütün uzun əvvəl deməkdir. 817 00:36:04,970 --> 00:36:09,020 Amma indi üçün vacibdir nə qırmızı dot çarpdı ki, 818 00:36:09,020 --> 00:36:11,735 ayıklama qəsdən var execution-- durdurulmuş 819 00:36:11,735 --> 00:36:15,560 Biz se başına ki, line, lakin ilk ki, funksiyası faktiki kodu line. 820 00:36:15,560 --> 00:36:18,040 Line yeddi ki, var İndi sarı qeyd. 821 00:36:18,040 --> 00:36:20,550 >> Və indi bir nəzər salaq sağ tərəfində. 822 00:36:20,550 --> 00:36:27,300 Bu default kimi görünür, gözəl kifayət qədər x nə dəyəri var? 823 00:36:27,300 --> 00:36:27,860 0. 824 00:36:27,860 --> 00:36:29,750 Və y nə dəyəri var? 825 00:36:29,750 --> 00:36:30,410 Zero. 826 00:36:30,410 --> 00:36:35,540 Və mənada gözlənilən deyil ki, x və sarı xətt var ki, y-- 827 00:36:35,540 --> 00:36:36,770 hələ icra. 828 00:36:36,770 --> 00:36:38,510 Belə ki, x dəyəri 1 olmamalıdır. 829 00:36:38,510 --> 00:36:41,470 Hər hansı digər dəyəri ola bilər, bir qondarma zibil dəyəri. 830 00:36:41,470 --> 00:36:44,320 Və biz bu ki, uğurlu var mahiyyətcə bu nöqtədə sıfır. 831 00:36:44,320 --> 00:36:46,400 >> Belə ki, indi yalnız bir neçə var düymələri biz qayğı lazımdır 832 00:36:46,400 --> 00:36:48,100 bu şəkildə ayıklama zaman haqqında. 833 00:36:48,100 --> 00:36:49,970 Burada qeyd, bir Play düyməsinə var. 834 00:36:49,970 --> 00:36:51,877 Və biz oynamaq və ya hit ki, yalnız var, davam 835 00:36:51,877 --> 00:36:53,710 axır gedir Proqramın qalan 836 00:36:53,710 --> 00:36:55,300 və ya başqa bir breakpoint xit qədər. 837 00:36:55,300 --> 00:36:56,910 Amma hər hansı digər müəyyən etdik breakpoints belə ki, yalnız var 838 00:36:56,910 --> 00:36:58,118 sonuna axır gedir. 839 00:36:58,118 --> 00:37:00,280 Məğlubiyyət belə ətrafında poking məqsədi. 840 00:37:00,280 --> 00:37:03,290 >> Belə ki, əvəzinə, mən qayğı sağ bu nişanlar. 841 00:37:03,290 --> 00:37:05,360 Mən artıq hover əgər Onlara kimi, çox olmalıdır 842 00:37:05,360 --> 00:37:07,450 Siz az tips-- alət məsləhətlər görəcəksiniz. 843 00:37:07,450 --> 00:37:09,020 Bu artıq addımdır. 844 00:37:09,020 --> 00:37:11,290 İndi skip demək deyil aşağıdakı kod line. 845 00:37:11,290 --> 00:37:14,840 Bu yalnız onu icra deməkdir və növbəti hərəkət növbəti hərəkət, 846 00:37:14,840 --> 00:37:15,580 növbəti hərəkət. 847 00:37:15,580 --> 00:37:17,610 Başqa sözlə, via düyməsini, mən gəzmək olar 848 00:37:17,610 --> 00:37:20,390 bir zamanda mənim kodu bir addım vasitəsilə. 849 00:37:20,390 --> 00:37:21,914 Sözün xətti ilə line. 850 00:37:21,914 --> 00:37:23,830 İndi sağ üçün başqa bir var ki, 851 00:37:23,830 --> 00:37:25,163 biz yalnız bir anda görəcəksiniz ki. 852 00:37:25,163 --> 00:37:27,820 Bu qondarma deyil Icon Into Step 853 00:37:27,820 --> 00:37:30,300 Mənə dive imkan gedir başqa funksiyası daxil. 854 00:37:30,300 --> 00:37:31,800 Amma yalnız bir anda bu görək. 855 00:37:31,800 --> 00:37:33,280 Belə ki, artıq addım basın gedirəm. 856 00:37:33,280 --> 00:37:35,820 Mən basın kimi İndi, qeyd sağ üst bu düyməni, 857 00:37:35,820 --> 00:37:41,260 Yerli altında təxminən gözlerini saxlamaq Dəyişənlər və x nə görmək. 858 00:37:41,260 --> 00:37:44,115 x indi 1 sarı xətt indi edam etdi 859 00:37:44,115 --> 00:37:45,840 və biz line 8 köçürülüb etdik. 860 00:37:45,840 --> 00:37:49,840 Və yalnız bir an y inşallah 2 olmalıdır. 861 00:37:49,840 --> 00:37:52,330 >> İndi heç bir şey maraqlı ki, bir az olur. 862 00:37:52,330 --> 00:37:53,390 Bütün bu printf edir. 863 00:37:53,390 --> 00:37:58,010 Və orta terminal qeyd pəncərə, mən çap def çıxış oldu. 864 00:37:58,010 --> 00:38:01,080 İndi bir etmək lazımdır proqramçı kimi qərar. 865 00:38:01,080 --> 00:38:04,360 Mən bu xətti üzərində addım bilər indeksi, onu həyata deyil 866 00:38:04,360 --> 00:38:06,220 daxili ne merak alıram. 867 00:38:06,220 --> 00:38:11,130 Yoxsa mən həqiqətən onu addım bilər və Swap özü daxilində gedin. 868 00:38:11,130 --> 00:38:12,340 Belə ki, sonuncu nə edək. 869 00:38:12,340 --> 00:38:15,550 >> Mənə davam və basın edək Biz gəl amma addım. 870 00:38:15,550 --> 00:38:17,300 Notice, qəflətən pəncərə dəyişikliklər 871 00:38:17,300 --> 00:38:19,330 ilk vurğulamaq üçün Swap kod line. 872 00:38:19,330 --> 00:38:20,710 Ki, xətt 21 var. 873 00:38:20,710 --> 00:38:25,220 İndi, funky cür ki, nə var, Burada üzərində baxmaq əgər, gözlənildiyi kimi 874 00:38:25,220 --> 00:38:29,720 bir vergül b müvafiq olaraq 1 və 2, edir. 875 00:38:29,720 --> 00:38:33,840 Niyə temp 32.767 edir? 876 00:38:33,840 --> 00:38:36,560 Çox kimi ki, temp xatırladaraq bir an əvvəl boş fincan, 877 00:38:36,560 --> 00:38:38,980 line 21 burada elan edilir. 878 00:38:38,980 --> 00:38:43,390 Mən demək Niyə 32,000-, nə Bu yalnız bir qəribə dəyəri? 879 00:38:43,390 --> 00:38:43,890 Evet? 880 00:38:43,890 --> 00:38:45,190 >> Auditoriya: Bu başlatılmış deyil. 881 00:38:45,190 --> 00:38:46,940 >> DAVID J. MALAN: Bu başlatılmadı deyil. 882 00:38:46,940 --> 00:38:49,370 Belə ki, bizim kompüter həmişə fiziki yaddaş var. 883 00:38:49,370 --> 00:38:50,544 O, həmişə fiziki RAM var. 884 00:38:50,544 --> 00:38:52,710 Və həmişə var sıfır və bir doğru var var? 885 00:38:52,710 --> 00:38:54,626 Biz istifadə edirik, çünki bizim uzun bütün gün kompüter, 886 00:38:54,626 --> 00:38:57,210 Siz CS50 IDE istifadə etdiyiniz və ya server bütün gün uzun. 887 00:38:57,210 --> 00:39:01,159 Ki, RAM bəzi adet sıfır var, belə ki, ya bəzi və ya bir adet sıfır və olanları. 888 00:39:01,159 --> 00:39:02,950 Olursa olsun və ya Əgər siz onları istifadə etdiyiniz deyil. 889 00:39:02,950 --> 00:39:05,270 Siz yalnız boş ola bilməz fəzalarında harada bit istəyirəm. 890 00:39:05,270 --> 00:39:06,850 Onlar adet sıfır və olanları bilərsiniz istəyirik. 891 00:39:06,850 --> 00:39:09,610 >> Belə ki, çünki temp çıxır biz hələ başlatılmış etdik 892 00:39:09,610 --> 00:39:14,580 biz bu 32 bit var, lakin onlar var hər hansı tanınmış dəyərləri başlatılmış edilmişdir. 893 00:39:14,580 --> 00:39:18,110 Belə ki, onlar nə ən Bu yaxınlarda o 32 bits-- baxan mýsýn istifadə 894 00:39:18,110 --> 00:39:23,000 biz yalnız bəzi əsərlər gördükdə xüsusilə 32 əvvəlki istifadə 895 00:39:23,000 --> 00:39:23,500 bit. 896 00:39:23,500 --> 00:39:27,780 Kimi tezliklə Mən də gəl basın kimi, phew, temp, dəyəri 1 almaq üçün gedir. 897 00:39:27,780 --> 00:39:31,600 Mən bir daha bunu əgər, bir var dəyəri 2 veriləcək gedərək 898 00:39:31,600 --> 00:39:33,830 və sonra b gedir dəyəri 1 veriləcək. 899 00:39:33,830 --> 00:39:36,390 >> Və nə indi gözəl hekayə bu nöqtədə 900 00:39:36,390 --> 00:39:39,750 ayıklama ki, super yavaş-yavaş, mənə göstərən 901 00:39:39,750 --> 00:39:42,640 öz sürətlə, nə Swap dövlətdir. 902 00:39:42,640 --> 00:39:47,490 Amma burada üst bildiriş qeyd ki, həqiqətən zəng yığın 903 00:39:47,490 --> 00:39:49,180 bu iki qat var. 904 00:39:49,180 --> 00:39:53,240 Kimi qeyd Indi bir Swap, mən əvəzinə Main basın əgər, 905 00:39:53,240 --> 00:39:57,100 yerli dəyişənlərin dəyişdirmək necə görürsünüz geliştirici yalnız hop bilər, çünki 906 00:39:57,100 --> 00:39:59,740 ətrafında və hər hansı bir müxtəlif çərçivəsində daxil. 907 00:39:59,740 --> 00:40:04,070 Biz bütün bu edirik Belə ki, baxmayaraq ki, iş və düzgün və b dəyişdirmə, 908 00:40:04,070 --> 00:40:09,080 Mən Swap arasında geri və irəli getmək əgər 2 və b 1 və əsas olduğu, 909 00:40:09,080 --> 00:40:11,851 Main bütün təsir etdi? 910 00:40:11,851 --> 00:40:12,350 Yox. 911 00:40:12,350 --> 00:40:13,930 Belə ki, paket, burada nə var? 912 00:40:13,930 --> 00:40:18,200 Bəli, bu hər hansı bir zamanda çıxır ki, Siz Swap kimi bir funksiyası zəng 913 00:40:18,200 --> 00:40:21,600 və bunu dəlilləri keçmək nə Siz Swap funksiyası keçən edirik 914 00:40:21,600 --> 00:40:24,730 Bu halda bir surəti həmin dəlilləri. 915 00:40:24,730 --> 00:40:28,620 Belə ki, x və y müvafiq olaraq hər bir, əgər 32 bit, nə Swap olur 916 00:40:28,620 --> 00:40:30,760 iki yeni yerli Dəyişənlər, və ya dəlilləri, 917 00:40:30,760 --> 00:40:34,380 adlı və b-- lakin o ixtiyari var names-- lakin adet sıfır model 918 00:40:34,380 --> 00:40:39,520 və daxilində və b olanlardır up astarlı x və y eyni olmaq 919 00:40:39,520 --> 00:40:42,610 lakin onlar deyil x və y kimi eyni şey. 920 00:40:42,610 --> 00:40:46,880 >> Main onun parça var sanki bu kağız 1 və x və y 2, 921 00:40:46,880 --> 00:40:49,260 və bu əlləri sonra zaman kağız parçası Swap, 922 00:40:49,260 --> 00:40:51,970 Swap çox tez olur öz qələm, yazır 923 00:40:51,970 --> 00:40:56,240 1 və kağız öz hesabatında 2, əlləri Əsas orijinal XY geri 924 00:40:56,240 --> 00:40:58,790 və sonra öz yoxdur A və B ilə bir şey. 925 00:40:58,790 --> 00:41:01,940 Bu indi super vacibdir Bu nontrivial təsir göstərir 926 00:41:01,940 --> 00:41:06,260 həqiqətən doğru kodu yazmaq üçün Bu, görünür, çünki biz dəyişdirmək bilməz 927 00:41:06,260 --> 00:41:07,500 iki dəyişənlərin. 928 00:41:07,500 --> 00:41:09,150 >> Mən düzgün Swap funksiyası yazıblar. 929 00:41:09,150 --> 00:41:12,770 Biz Lauren ilə həyata etdik əslində düzgün svop funksiyası, 930 00:41:12,770 --> 00:41:16,700 lakin yəqin heç məsələləri əgər həqiqətən bilməz 931 00:41:16,700 --> 00:41:19,530 daimi iki dəyərlər dəyişdirmək. 932 00:41:19,530 --> 00:41:21,970 Beləliklə, biz bir yol lazımdır həqiqətən bu almaq üçün, 933 00:41:21,970 --> 00:41:24,472 və biz lazımdır həqiqətən bu problem həll edir. 934 00:41:24,472 --> 00:41:27,180 Və çıxır və biz gəlmək lazımdır geri bu şəkil 935 00:41:27,180 --> 00:41:30,500 long-- əvvəl bu bir yoldur ki, Siz kompüter yaddaş cəlb edə bilər. 936 00:41:30,500 --> 00:41:31,460 Bu, sadəcə bir düzbucaqlı var. 937 00:41:31,460 --> 00:41:32,960 Siz hər hansı bir onu cəlb edə bilər yollarla, lakin bu sayı 938 00:41:32,960 --> 00:41:35,740 bir kimi çəkmək üçün rahat Aşağıdakı səbəbə görə düzbucaqlı. 939 00:41:35,740 --> 00:41:40,040 >> Biz kənarda gün başlamaq və olacaq sözdə yığını haqqında söhbət. 940 00:41:40,040 --> 00:41:43,870 Və yığını yalnız bir yığın edir bir yaddaş yığın RAM-- 941 00:41:43,870 --> 00:41:47,100 funksiyaları imkanı var ki onlar adlı edirik zaman. 942 00:41:47,100 --> 00:41:49,800 Və belə ki, çıxır Bu yığını çox aşağı 943 00:41:49,800 --> 00:41:53,590 Əsas yerli dəyişənlərin bütün harada org C və org V və bütün stuff və 944 00:41:53,590 --> 00:41:56,950 ismarıcları getmək üçün gedir. Və əsas əgər , Swap kimi bəzi digər funksiyası çağırır 945 00:41:56,950 --> 00:42:00,330 yaxşı, Swap başqa almaq üçün gedir yuxarıda yaddaş up qat. 946 00:42:00,330 --> 00:42:04,490 >> Və belə ki, yalnız bir sürətli ötəri vermək Bu şəkil, mən artıq getmək əgər burada 947 00:42:04,490 --> 00:42:09,450 və mənə bu güzgü imkan yerüstü kimi, həqiqətən, Mən nə well--, 948 00:42:09,450 --> 00:42:12,100 biz yalnız qayğı əgər indi bu şəkil alt, 949 00:42:12,100 --> 00:42:15,070 ki, bir proqram çalıştırdığınızda və əsas adlı olur 950 00:42:15,070 --> 00:42:18,330 Main bir yığın verilir Mənim kompüter RAM 951 00:42:18,330 --> 00:42:20,060 bu qondarma yığını altında. 952 00:42:20,060 --> 00:42:22,143 Mən onu cəlb gedirəm qəsdən bir kvadrat kimi. 953 00:42:22,143 --> 00:42:24,540 Belə ki, 32 bit və ya dörd bayt kimi. 954 00:42:24,540 --> 00:42:28,790 Bu əsas funksiyası var, əgər bir 1 dəyəri ilə dəyişən adlı x 955 00:42:28,790 --> 00:42:32,626 və adlı dəyişən var 2 dəyəri y, ki 956 00:42:32,626 --> 00:42:35,750 yaddaş bu qəlpə alaraq kimi ki, Main əməliyyat tərəfindən verilmişdir 957 00:42:35,750 --> 00:42:38,850 sistemi və onu qədər bölünməsi ilk yerli dəyişən, burada gedir 958 00:42:38,850 --> 00:42:40,930 ikinci burada gedir, və bu. 959 00:42:40,930 --> 00:42:45,590 >> Main Swap, Swap çağırır zaman yaddaş öz dilim alır 960 00:42:45,590 --> 00:42:48,280 Biz bu kimi çəkmək lazımdır ki, əməliyyat sistemi, 961 00:42:48,280 --> 00:42:50,820 və var olacaq onun öz yerli dəyişənlərin əsasında 962 00:42:50,820 --> 00:42:53,825 bizim həyata keçirilməsi üzrə əvvəllər yerli dəyişənlərin ilə 963 00:42:53,825 --> 00:42:58,010 ilkin və b ki, dəyərləri 1 və 2 almaq. 964 00:42:58,010 --> 00:43:00,450 Amma sonra, qısa müddətdə Swap indeksi, icra 965 00:43:00,450 --> 00:43:03,760 və Lauren həqiqətən svopları OJ və süd, nələr olur? 966 00:43:03,760 --> 00:43:09,030 Bəli, bu 2 1, bu çevrilir 1, yolu ilə, 2 çevrilir və 967 00:43:09,030 --> 00:43:13,360 olan olan bir temp dəyişən var ki, nəhayət ki, bütün vaxt istifadə 968 00:43:13,360 --> 00:43:14,470 üz gedir. 969 00:43:14,470 --> 00:43:16,720 Amma etməz nə qədər iş nə 970 00:43:16,720 --> 00:43:22,160 bu xətt Bu yaddaş məkanda of-- da, x və y tamamilə bakir var. 971 00:43:22,160 --> 00:43:26,320 >> Beləliklə, biz verilməsi bir yol lazımdır Bu kimi Swap və funksiyaları 972 00:43:26,320 --> 00:43:32,640 gizli giriş, Siz, üçün funksiyaları x və y kimi xatirəsini like--. 973 00:43:32,640 --> 00:43:35,110 Belə ki, bir nəzər salaq kömək nümunə 974 00:43:35,110 --> 00:43:38,220 Bizə oldu dəqiq nə Bu bütün zaman olur. 975 00:43:38,220 --> 00:43:40,284 Mən irəli getmək üçün gedirəm və açmaq Zero müqayisə. 976 00:43:40,284 --> 00:43:42,200 Mən yaxın gedirəm Bizim ayıklama, mən gedirəm 977 00:43:42,200 --> 00:43:44,360 Bu qorxudan axtarır mesajı bağlamaq üçün yalnız bir dəqiqə gözləyin deyir, 978 00:43:44,360 --> 00:43:45,800 Siz orta ayıklama istəyirik. 979 00:43:45,800 --> 00:43:48,383 Mən burada bu nişanı gizlətmək gedirəm yalnız geri sadəlik getmək üçün. 980 00:43:48,383 --> 00:43:50,160 GDB həlak Belə ki, narahat olmayın. 981 00:43:50,160 --> 00:43:53,910 Yalnız Proqram o deməkdir ki, qəsdən bu halda, çıxın edilmişdir, 982 00:43:53,910 --> 00:43:54,820 Mənim tərəfimdən. 983 00:43:54,820 --> 00:43:57,700 >> İndi Zero bu yoxdur karşılaştırın. 984 00:43:57,700 --> 00:44:00,110 Mən CS50 istifadə edirəm standart I / O kitabxana. 985 00:44:00,110 --> 00:44:04,319 Mən ilk əsas funksiyası var deyir, bir şey demək, və simli olur. 986 00:44:04,319 --> 00:44:06,110 Sonra deyir başqa simli olur. 987 00:44:06,110 --> 00:44:09,910 Və bu iki strings qeyd müvafiq olaraq, s və t deyilir. 988 00:44:09,910 --> 00:44:12,910 İndi bu proqram, müqayisə Zero, həyat onun məqsədi, 989 00:44:12,910 --> 00:44:15,470 Bu mənə ehtimal, Mən eyni şey yazın idi? 990 00:44:15,470 --> 00:44:16,910 Və mən həftə bir geri gedirəm. 991 00:44:16,910 --> 00:44:19,950 Mən bərabər bərabər operator istifadə edirəm olan keyfiyyətli operatorudur. 992 00:44:19,950 --> 00:44:22,220 Not tapşırıq operator, bərabərlik operator. 993 00:44:22,220 --> 00:44:23,890 Mən yalnız s və t müqayisə edirəm. 994 00:44:23,890 --> 00:44:27,470 >> Belə ki, faktiki olaraq irəli getmək və bunu bildirin. 995 00:44:27,470 --> 00:44:32,680 Mən irəli getmək üçün gedirəm və sıfır müqayisə etmək. 996 00:44:32,680 --> 00:44:35,110 Mən ./comparezero gedirəm. 997 00:44:35,110 --> 00:44:37,150 Mən getmək üçün gedirəm irəli və bir şey demək 998 00:44:37,150 --> 00:44:43,450 kimi, bu kiçik ana edək və necə Böyük Harf ilə ana haqqında. 999 00:44:43,450 --> 00:44:45,034 Və əlbəttə ki, müxtəlif şeylər yazın. 1000 00:44:45,034 --> 00:44:45,533 Oldu. 1001 00:44:45,533 --> 00:44:46,570 Ki gözlənilən deyil. 1002 00:44:46,570 --> 00:44:47,640 >> Yenidən run edək. 1003 00:44:47,640 --> 00:44:49,740 Iki dəfə, kiçik kiçik etmək. 1004 00:44:49,740 --> 00:44:51,490 Ki, mənə super eyni görünür. 1005 00:44:51,490 --> 00:44:52,930 Daxil edin. 1006 00:44:52,930 --> 00:44:53,430 OLDU. 1007 00:44:53,430 --> 00:44:55,804 Bəlkə çünki yalnız qəribə mənim qrammatika simpatiya deyil. 1008 00:44:55,804 --> 00:44:59,930 Belə ki, kapital MOM edək, kapital MOM, eyni. 1009 00:44:59,930 --> 00:45:01,490 Müxtəlif şeylər. 1010 00:45:01,490 --> 00:45:03,907 >> Belə ki, niyə ki? 1011 00:45:03,907 --> 00:45:06,240 Yaxşı, həqiqətən nə olacaq burada başlıq altında? 1012 00:45:06,240 --> 00:45:08,180 Belə ki, üzərində geri gedək Burada yalnız bir an üçün 1013 00:45:08,180 --> 00:45:10,910 və nə hesab GetString həqiqətən edir. 1014 00:45:10,910 --> 00:45:13,385 Siz GetString zəng zaman, ki, bir funksiyası biz var 1015 00:45:13,385 --> 00:45:16,510 özümüz yazıb və elə bir olur istifadəçi simvol ardıcıllığı. 1016 00:45:16,510 --> 00:45:20,280 Və ilk ki, güman edək dəfə GetString zəng ki, mənə verir 1017 00:45:20,280 --> 00:45:21,930 yaddaş yığın ki, bu kimi görünür. 1018 00:45:21,930 --> 00:45:26,990 Mən bütün kiçik çap əgər m-o-m-- və nə ondan sonra gedir? 1019 00:45:26,990 --> 00:45:28,840 Just tez ağlı başında olma çek. 1020 00:45:28,840 --> 00:45:29,780 >> Backslash sıfır. 1021 00:45:29,780 --> 00:45:30,510 Biz bilirik. 1022 00:45:30,510 --> 00:45:32,784 Və biz oynayıb geri ətrafında Zamila adı ilə 1023 00:45:32,784 --> 00:45:34,950 və digər adları bir dəstə zaman Rob burada axtarır 1024 00:45:34,950 --> 00:45:36,280 yaddaş daxilində neler edir. 1025 00:45:36,280 --> 00:45:37,780 Belə ki, hekayə eyni deyil. 1026 00:45:37,780 --> 00:45:40,160 Bu nədir GetString Mənə qayıdır. 1027 00:45:40,160 --> 00:45:44,780 İndi mənim kodu bir an əvvəl saxlanılır GetString qaytarılması dəyəri 1028 00:45:44,780 --> 00:45:47,510 bir dəyişən s çağırıb. 1029 00:45:47,510 --> 00:45:51,390 Və sonra ikinci dəfə çağırıb, bir dəyişən adlı t onu saxlanılır. 1030 00:45:51,390 --> 00:45:55,070 >> Mən burada artıq getmək əgər Belə ki, mən lazım bu yerli dəyişən çəkmək üçün 1031 00:45:55,070 --> 00:45:59,610 Mən ümumiyyətlə gedirəm izlersin alacağıq kimi bir simli çəkmək 1032 00:45:59,610 --> 00:46:02,360 burada bir az kvadrat kimi s-- zəng. 1033 00:46:02,360 --> 00:46:09,760 Ana nə necə və indi birtəhər bu dəyişən s daxili getmək? 1034 00:46:09,760 --> 00:46:12,010 Yaxşı, biz geri getmək lazımdır Burada ilk prinsiplərinə. 1035 00:46:12,010 --> 00:46:15,660 GetString həqiqətən nə qayıdır? 1036 00:46:15,660 --> 00:46:19,030 >> Belə ki, M-O-M çıxır backslash sıfır və hər hansı bir sayı 1037 00:46:19,030 --> 00:46:22,364 kimi yaddaşında digər strings Zamila və Rob və ya Andy və ya hər hansı digər 1038 00:46:22,364 --> 00:46:24,280 əlbəttə var bizim kompüter RAM və ya yaddaş. 1039 00:46:24,280 --> 00:46:27,760 Və RAM var like-- var RAM konsert, RAM iki gigs, 1040 00:46:27,760 --> 00:46:30,860 və ya bir milyard və ya iki milyard bytes, və ya bəlkə daha çox bu gün. 1041 00:46:30,860 --> 00:46:34,070 Belə ki, bu gün məqsədlər üçün, güman edək, biz sayı necə etməz ki, 1042 00:46:34,070 --> 00:46:36,640 onlara, lakin biz hər saya bilər o milyard iki milyard 1043 00:46:36,640 --> 00:46:37,880 və ya dörd milyard bytes. 1044 00:46:37,880 --> 00:46:42,240 >> Və yalnız özbaşına ki, bildirin Bu ilk bite, ikinci bite, 1045 00:46:42,240 --> 00:46:43,380 üçüncü, dördüncü. 1046 00:46:43,380 --> 00:46:46,570 Mən qəsdən üçün sıfır istifadə deyiləm Bu gün amma geri gəlmək lazımdır. 1047 00:46:46,570 --> 00:46:49,570 Belə ki, başqa sözlə, bu, əgər ilk dəfə, proqram istifadə edirəm 1048 00:46:49,570 --> 00:46:52,715 Mən yalnız xoşbəxt və ilk alıram bite sonra yer birində iki 1049 00:46:52,715 --> 00:46:53,590 sonra üç dörd. 1050 00:46:53,590 --> 00:46:57,430 Mən rəsm saxlanılır əgər, qutusu sayı iki milyard yol üzərində burada olacaq. 1051 00:46:57,430 --> 00:47:02,200 >> Belə ki, sonra nə düşünürsünüz, GetString həqiqətən qaytarır? 1052 00:47:02,200 --> 00:47:06,010 Bu M-O-M backslash qaytarılması deyil sıfır özlüyündə aydın, çünki 1053 00:47:06,010 --> 00:47:08,180 Mən tərtib etdik qutusuna uyğun deyil. 1054 00:47:08,180 --> 00:47:11,210 Belə ki, həqiqətən, başqa nə GetString bilər Bütün bu həftə qaytarılması? 1055 00:47:11,210 --> 00:47:14,410 1056 00:47:14,410 --> 00:47:16,820 Cavab deyil board burada haradasa. 1057 00:47:16,820 --> 00:47:20,390 Siz M-O-M backslash sıfır uyğun bilməz belə nə əvəzinə mənada edə bilər? 1058 00:47:20,390 --> 00:47:23,424 Siz qoyaraq, super ağıllı olmaq olsaydı qondarma mühəndis papaq, 1059 00:47:23,424 --> 00:47:24,340 Siz nə qayıtmaq bilər? 1060 00:47:24,340 --> 00:47:27,340 Nə informasiya ən az məbləği Siz hələ ki ki, qayıtmaq bilər 1061 00:47:27,340 --> 00:47:30,610 Siz yaddaş M-O-M tapmaq imkan? 1062 00:47:30,610 --> 00:47:31,270 Evet? 1063 00:47:31,270 --> 00:47:31,950 >> Auditoriya: biri. 1064 00:47:31,950 --> 00:47:32,200 >> DAVID J. MALAN: biri. 1065 00:47:32,200 --> 00:47:33,021 Və niyə bir? 1066 00:47:33,021 --> 00:47:35,520 Auditoriya: demək istəyirəm, çünki siz [işitilemez] getmək üçün. 1067 00:47:35,520 --> 00:47:38,391 1068 00:47:38,391 --> 00:47:39,390 DAVID J. MALAN: Exactly. 1069 00:47:39,390 --> 00:47:44,300 Mən yalnız ünvan qayıtmaq üçün gedirəm Mən kazanılmış simli. 1070 00:47:44,300 --> 00:47:46,570 Bu ünvan hal yeri biridir. 1071 00:47:46,570 --> 00:47:51,280 Beləliklə, nə həqiqətən s-- saxlanılır olunur və hər string dəyişən beləliklə far-- 1072 00:47:51,280 --> 00:47:53,430 yalnız olmuşdur ki, simli ünvanı. 1073 00:47:53,430 --> 00:47:57,840 >> Eyni zamanda, mən zəng əgər Ikinci dəfə və mən GetString 1074 00:47:57,840 --> 00:48:03,300 sanki eyni şey yazın Lowercase-- M-O-M M-O-M 1075 00:48:03,300 --> 00:48:06,200 və başqa backslash sıfır, və indi bəlkə mənim proqramın 1076 00:48:06,200 --> 00:48:09,820 bir müddət belə ki, bəlkə bu çalışan edilmişdir 10, bu, bu 12, yer 11 1077 00:48:09,820 --> 00:48:10,700 Bu 13. 1078 00:48:10,700 --> 00:48:13,590 bəzi digər istifadə kompüter hər hansı səbəbdən yaddaş. 1079 00:48:13,590 --> 00:48:18,172 İndi mənim ikinci gedir mənim proqram t dəyişən? 1080 00:48:18,172 --> 00:48:19,390 10. 1081 00:48:19,390 --> 00:48:20,050 Məhz. 1082 00:48:20,050 --> 00:48:23,910 >> Və belə ki, biz baxdığımız zaman Bu proqramın mənbə kodu 1083 00:48:23,910 --> 00:48:26,550 Mən sadəcə çalışıram iki dəyərlər müqayisə etmək, 1084 00:48:26,550 --> 00:48:32,180 t bərabər bərabər deyil, nə Aşkar insan cavab? 1085 00:48:32,180 --> 00:48:34,890 1 10 bərabər deyil, yalnız heç bir çünki. 1086 00:48:34,890 --> 00:48:36,861 Və belə Burada bir yalan bizim üçün fürsət həqiqətən 1087 00:48:36,861 --> 00:48:39,610 yalnız ilk yenidən getmək prinsipləri və düşünmək, 1088 00:48:39,610 --> 00:48:41,110 nə başlıq altında olur? 1089 00:48:41,110 --> 00:48:43,240 Biz söhbət etdik bit və bytes və yaddaş, 1090 00:48:43,240 --> 00:48:46,820 lakin bu, anlamaq üçün həqiqətən faydalı Siz GetString zəng çünki, 1091 00:48:46,820 --> 00:48:50,280 biz hesab baxmayaraq ki, bu M-O-M və ya string ana qaytarılması 1092 00:48:50,280 --> 00:48:53,120 və ya Andy və ya Zamila və ya kimi, texniki 1093 00:48:53,120 --> 00:48:55,510 yalnız ünvan qaytarılması yaddaş ki, yığın. 1094 00:48:55,510 --> 00:48:56,910 >> Amma ki, OK. 1095 00:48:56,910 --> 00:49:00,570 Mən necə bilmirəm, çünki string harada bitir? 1096 00:49:00,570 --> 00:49:03,840 Mən yalnız başlanğıcı verilmiş alıram? 1097 00:49:03,840 --> 00:49:05,380 Yaxşı, backslash sıfır, sağ? 1098 00:49:05,380 --> 00:49:08,800 Just mən xətti vaxt print def M-O-M çap. 1099 00:49:08,800 --> 00:49:11,820 Və tezliklə mən backslash bax Mən başladı sıfır, mən qayğı yoxdur 1100 00:49:11,820 --> 00:49:14,950 Mən artıq dolayısı bilirəm Mən son lazımdır. 1101 00:49:14,950 --> 00:49:18,700 >> Və bu gün əvvəlinə qeyd və Mənə Çünki biz dramatik bunu bildirin 1102 00:49:18,700 --> 00:49:21,800 narahatlıq bir çox yolu ilə getdi bu burada wheels-- təlim almaq 1103 00:49:21,800 --> 00:49:29,840 bu gün təlim təkərlər başlamaq off gəlmək və biz aşkar lüğətdə 1104 00:49:29,840 --> 00:49:31,373 >> [Alqış] 1105 00:49:31,373 --> 00:49:33,220 1106 00:49:33,220 --> 00:49:36,160 >> Ki, səfər dəyər yaxşı idi Bəli, bu səhər Hədəf? 1107 00:49:36,160 --> 00:49:39,600 Belə ki, indi var, bu çevrilir həyata, simli kimi bir şey. 1108 00:49:39,600 --> 00:49:41,140 String yoxdur. 1109 00:49:41,140 --> 00:49:43,760 Biz etdik bir sinonim var CS50 kitabxana daxilində. 1110 00:49:43,760 --> 00:49:48,660 Bundan sonra da zəng başlamaq olacaq s və t deyil strings lakin char ulduz. 1111 00:49:48,660 --> 00:49:51,180 Char ulduz və biz lazımdır uzun əvvəl ayrı tease. 1112 00:49:51,180 --> 00:49:53,510 Amma bu demək deyil, davam, hətta ki, 1113 00:49:53,510 --> 00:49:56,180 İndi GetString istifadə edərək, texniki I olmalıdır 1114 00:49:56,180 --> 00:49:59,010 char ulduz və char ulduz deyərək olun. 1115 00:49:59,010 --> 00:50:01,720 >> Və nə ulduz çıxır işarə gedir bir şey deyil 1116 00:50:01,720 --> 00:50:04,340 bir göstərici və ya bir ünvan çağırıb. 1117 00:50:04,340 --> 00:50:06,110 Və əslində, bir iltifat üçün irəli yalan nə 1118 00:50:06,110 --> 00:50:09,760 Bu 20 ikinci clip edir bizim Stanford dost Nick Parlante 1119 00:50:09,760 --> 00:50:12,927 kim çox bir müddət əvvəl sərf vaxt bir gülünc məbləği, 1120 00:50:12,927 --> 00:50:15,010 yaxşı kimi mən deyə bilərəm onun mətbəx və ya onun zirzəmi, 1121 00:50:15,010 --> 00:50:17,140 claymation edilməsi dünyaya tanıdan 1122 00:50:17,140 --> 00:50:20,010 adlı bir xarakter Binky kimə biz 1123 00:50:20,010 --> 00:50:22,010 göstəricilərinə növbəti dəfə təqdim olunacaq. 1124 00:50:22,010 --> 00:50:24,588 Belə ki, burada gəlib nə bir önizleme var. 1125 00:50:24,588 --> 00:50:26,370 >> [Video playback] 1126 00:50:26,370 --> 00:50:27,510 >> -Hey, Binky. 1127 00:50:27,510 --> 00:50:28,260 Uyan. 1128 00:50:28,260 --> 00:50:30,672 Bu göstərici əyləncə üçün vaxt var. 1129 00:50:30,672 --> 00:50:31,616 >> -Bu nədir? 1130 00:50:31,616 --> 00:50:33,032 Göstəricilər haqqında məlumat əldə edin? 1131 00:50:33,032 --> 00:50:34,450 Oh, goody. 1132 00:50:34,450 --> 00:50:35,431 >> [END playback] 1133 00:50:35,431 --> 00:50:38,055 DAVID J. MALAN: Və qeyd, biz Çərşənbə günü görəcəksiniz. 1134 00:50:38,055 --> 00:50:47,590 1135 00:50:47,590 --> 00:50:48,090 Oldu. 1136 00:50:48,090 --> 00:50:48,740 Dancing kim? 1137 00:50:48,740 --> 00:50:49,240 Hadi. 1138 00:50:49,240 --> 00:50:50,330 Dancing kim? 1139 00:50:50,330 --> 00:50:51,820 Siz mənə başlamaq istəyirsiniz? 1140 00:50:51,820 --> 00:50:53,770 Mən başlamaq lazımdır. 1141 00:50:53,770 --> 00:50:54,270 Woooo! 1142 00:50:54,270 --> 00:51:04,070 1143 00:51:04,070 --> 00:51:07,580 >> LAUREN: Sweet xülya Moses.