1 00:00:00,000 --> 00:00:10,940 2 00:00:10,940 --> 00:00:13,060 >> DAVID J Humala: Kõik õige, nii et see on CS50. 3 00:00:13,060 --> 00:00:15,040 Ja see on selgelt reedel. 4 00:00:15,040 --> 00:00:16,850 Ja see on lõpuks nädalal üks. 5 00:00:16,850 --> 00:00:21,020 Nii võid meelde tuletada, et meil jäi, Viimane kord, mille pinge kehvasti. 6 00:00:21,020 --> 00:00:25,020 Millest me jätke vale, et ei asi, mida olete õpetanud kasvab 7 00:00:25,020 --> 00:00:31,610 up, 1 jagatud 10 ei ole, in Tegelikult 0,1 või 0,100 või 0,10000. 8 00:00:31,610 --> 00:00:35,270 Tegelikult, kui oleme kompileerida seda programmi, nagu me eile koos, 9 00:00:35,270 --> 00:00:39,770 teha ebatäpsus, ja seejärel teha dot, kaldkriips, ebatäpsuse, 10 00:00:39,770 --> 00:00:43,600 saime teada, et see on see, mida on 1 jagatud 10 tegelikult on. 11 00:00:43,600 --> 00:00:46,140 Nii et see ei ole tegelikult päris nii. 12 00:00:46,140 --> 00:00:49,014 Aga see vihje mingil põhiõiguste piiramise arvutid. 13 00:00:49,014 --> 00:00:50,930 Ja tõepoolest, hulgast asjad, mida me teeme 14 00:00:50,930 --> 00:00:55,130 täna vaatleme, miks see on juhtus, mis mõju on sellel, 15 00:00:55,130 --> 00:00:58,430 kuidas inimkond ei ole haarata seda väga 16 00:00:58,430 --> 00:01:00,410 tõsine situations-- tulemus, mis 17 00:01:00,410 --> 00:01:03,141 on olnud üsna traagiline ja expensive-- ja ka 18 00:01:03,141 --> 00:01:04,849 vaatleme, kuidas me võib tegelikult kaitsma 19 00:01:04,849 --> 00:01:06,530 vastu selliseid piiranguid. 20 00:01:06,530 --> 00:01:10,940 Nii intuitiivselt ehk miks 1 jagatud 10, 21 00:01:10,940 --> 00:01:15,480 vastavalt minu arvuti siin mitte ainult 1/10, 0,10? 22 00:01:15,480 --> 00:01:15,980 Jah. 23 00:01:15,980 --> 00:01:16,530 Mida sa arvad? 24 00:01:16,530 --> 00:01:17,860 >> Pealtvaatajal: radix on erinevad? 25 00:01:17,860 --> 00:01:18,550 >> DAVID J Humala: What on? 26 00:01:18,550 --> 00:01:19,730 Oh, radix on erinevad? 27 00:01:19,730 --> 00:01:20,720 Nii ei ole päris. 28 00:01:20,720 --> 00:01:23,200 See on tegelikult rohkem põhiline riistvara. 29 00:01:23,200 --> 00:01:23,980 Muud mõtted? 30 00:01:23,980 --> 00:01:24,584 Jah. 31 00:01:24,584 --> 00:01:26,750 Pealtvaatajal: Nad esindavad numbrid teisiti? 32 00:01:26,750 --> 00:01:27,880 DAVID J Humala: Nii they-- Right. 33 00:01:27,880 --> 00:01:29,338 Nad esindavad numbrid erinevalt. 34 00:01:29,338 --> 00:01:30,700 Ebatäpselt, ilmselt. 35 00:01:30,700 --> 00:01:33,190 Nii et on-- Noh, erinevalt sellest, mida? 36 00:01:33,190 --> 00:01:34,490 Või kelle käest? 37 00:01:34,490 --> 00:01:35,050 Meilt? 38 00:01:35,050 --> 00:01:35,966 Pealtvaatajal: Jah. 39 00:01:35,966 --> 00:01:38,930 Nad ei kasuta koma süsteemi [kuuldamatu]. 40 00:01:38,930 --> 00:01:39,680 DAVID J Humala: OK. 41 00:01:39,680 --> 00:01:41,560 Nii et mõnes mõttes, et nad ei ole kasuta koma süsteemi. 42 00:01:41,560 --> 00:01:43,720 All kapuuts, kõik on tõepoolest binaarne, 43 00:01:43,720 --> 00:01:45,510 ja see on seotud, tegelikult. 44 00:01:45,510 --> 00:01:48,135 Aga see on isegi lihtsam selgitus, kui on. 45 00:01:48,135 --> 00:01:48,635 Jah. 46 00:01:48,635 --> 00:01:49,970 >> Pealtvaatajal: Nad ainult nii palju bitti. 47 00:01:49,970 --> 00:01:52,370 Nad võivad salvestada ainult kuni teatud määral, nagu koos koma. 48 00:01:52,370 --> 00:01:52,780 >> DAVID J Humala: Jah. 49 00:01:52,780 --> 00:01:54,420 See on see, mida on tõesti saada seda. 50 00:01:54,420 --> 00:01:57,180 Tuleb välja, et arvutid Tavaliselt on alati ainult 51 00:01:57,180 --> 00:01:59,690 kasutada piiratud hulgal teavet esindada midagi. 52 00:01:59,690 --> 00:01:59,870 Õigus? 53 00:01:59,870 --> 00:02:02,110 Lõppude lõpuks, meil on ainult fikseeritud summa kõvakettaruumi. 54 00:02:02,110 --> 00:02:04,210 Meil on ainult fikseeritud summa RAM või arvuti mällu. 55 00:02:04,210 --> 00:02:06,251 Ja kui sul on ainult fikseeritud summa midagi, 56 00:02:06,251 --> 00:02:09,611 kindlasti ei saa tegelikult loota kuni lõpmatuseni või number, mida soovid. 57 00:02:09,611 --> 00:02:11,610 Sa, omamoodi, pea valida ja valida, mida vahemik 58 00:02:11,610 --> 00:02:13,220 väärtuste sa lähed toetada. 59 00:02:13,220 --> 00:02:18,100 >> Ja nii näiteks nädala või kahe tagasi, kui me rääkisime ASCII, 60 00:02:18,100 --> 00:02:21,610 ja me rääkisime 8 bitti, või baidi, kui nii võib öelda, 61 00:02:21,610 --> 00:02:26,360 Kõige rohkem saime esindada 8 bitti oli siis? 62 00:02:26,360 --> 00:02:28,350 255. 63 00:02:28,350 --> 00:02:31,850 Ja me saame esindavad 256 Kokku väärtused kuid mitte siis, kui me kulutame üks neist 64 00:02:31,850 --> 00:02:34,190 kohta 0-- Noh, aga kui me veeta üks neist 0, 65 00:02:34,190 --> 00:02:36,830 siis kõige rohkem On muidugi, 255. 66 00:02:36,830 --> 00:02:39,410 >> Nii selgub, et see on puhul ka selles kontekstis. 67 00:02:39,410 --> 00:02:42,350 Me hakkasime rääkima, viimane kord, umbes ujukoma numbrid, mis 68 00:02:42,350 --> 00:02:44,640 erinevad täisarvud, in et neil on koma 69 00:02:44,640 --> 00:02:47,056 ja loodetavasti mõned numbrid Pärast seda, kuid nad on liiga. 70 00:02:47,056 --> 00:02:51,730 Arvuti on ainult tavaliselt läheb kasutada 32 bitti, ehk 64 bitti 71 00:02:51,730 --> 00:02:53,497 esindama Murdarv. 72 00:02:53,497 --> 00:02:56,080 Nii et kuigi me oleme kasvanud õppida matemaatikat ja teades 73 00:02:56,080 --> 00:02:58,750 et saate täiesti pea lõpmatu arv numbrid 74 00:02:58,750 --> 00:03:01,650 pärast koma, ei kui teil on piiratud mälu. 75 00:03:01,650 --> 00:03:03,930 Sa, omamoodi, on ringi, või valima mis 76 00:03:03,930 --> 00:03:05,346 numbreid sa lähed esindada. 77 00:03:05,346 --> 00:03:08,710 Ja nii sa ei mõtle, et mõnes mõttes see on arvuti kõige lähemal 78 00:03:08,710 --> 00:03:14,050 ühtlustamise väärtusega 1/10, et see võib saada, vaid 32 või nii bitti. 79 00:03:14,050 --> 00:03:15,300 Ja see ei ole ainult 1/10. 80 00:03:15,300 --> 00:03:19,820 >> Näiteks, kui ma seda muuta 1/3, mis meie arvates on isegi lihtsam. 81 00:03:19,820 --> 00:03:21,300 Nii 1 jagatuna 3. 82 00:03:21,300 --> 00:03:22,355 Lubage mul faili salvestada. 83 00:03:22,355 --> 00:03:24,680 Lubage mul minna ja uuesti kompileerida see. 84 00:03:24,680 --> 00:03:25,820 Ja andke mulle uuesti käivitada. 85 00:03:25,820 --> 00:03:30,000 Ka siin ilmselt 1/3 ei ole 0,3 ja siis lõpmatu arv 3 s 86 00:03:30,000 --> 00:03:30,770 tagant. 87 00:03:30,770 --> 00:03:32,540 Sul on see ebatäpsus lõpus. 88 00:03:32,540 --> 00:03:35,544 Nii et me inimestel on õiged, ja mida olete õppinud on tegelikult õige, 89 00:03:35,544 --> 00:03:37,460 kuid me keemistsentrid kuni vastu mõned piirangud. 90 00:03:37,460 --> 00:03:39,420 >> Ja ma arvasin me tahaks teha täna, on alustada 91 00:03:39,420 --> 00:03:42,190 vaadates ausalt öeldes traagilisi tagajärgi see 92 00:03:42,190 --> 00:03:45,490 Mõnikord, kui inimkond ei ole päris ellu 93 00:03:45,490 --> 00:03:48,460 selle reaalsuse ja need piirangud. 94 00:03:48,460 --> 00:03:52,360 Ja me näeme mitmeid kleebised alates History Channel, mis võtab 95 00:03:52,360 --> 00:03:53,950 vaadata, kuidas asjad on läinud valesti. 96 00:03:53,950 --> 00:03:56,340 See on umbes 8 minutit pikk, ja me tuleme tagasi pärast seda 97 00:03:56,340 --> 00:03:59,439 ja kui heita pilk täpselt mida veel saab valesti minna. 98 00:03:59,439 --> 00:04:00,605 Kui meil oleks päevasõidutulede lights-- 99 00:04:00,605 --> 00:04:02,350 >> [Video taasesitus] 100 00:04:02,350 --> 00:04:06,310 >> -Computers, Me kõik oleme tulnud vastu sageli heidutav probleeme, mis 101 00:04:06,310 --> 00:04:07,750 minna koos nendega. 102 00:04:07,750 --> 00:04:11,370 Bugs, viiruste ja tarkvara tõrkele on väike hind 103 00:04:11,370 --> 00:04:13,230 maksma mugavuse eest. 104 00:04:13,230 --> 00:04:17,519 Aga kõrgtehnoloogia ja kiire sõjaväe ja kosmoseprogrammi rakendused 105 00:04:17,519 --> 00:04:22,130 väikseim probleem võib suurendatakse arvesse katastroof. 106 00:04:22,130 --> 00:04:27,750 4. juunil 1996 teadlast valmis käivitada mehitamata Ariane 5 raketi. 107 00:04:27,750 --> 00:04:29,890 See vedas teadusliku Satelliitide loodud 108 00:04:29,890 --> 00:04:33,030 täpselt kindlaks, kuidas Maa magnetvälja suhtleb 109 00:04:33,030 --> 00:04:35,600 koos päikesetuul. 110 00:04:35,600 --> 00:04:37,930 Rakett ehitati Euroopa Kosmoseagentuur 111 00:04:37,930 --> 00:04:41,620 ja välja tõsta selle rajatise rannikul Prantsuse Guajaana. 112 00:04:41,620 --> 00:04:44,924 >> -Ja Umbes 30 sekundit arvesse lend, nad esimest korda 113 00:04:44,924 --> 00:04:46,340 märkas, et midagi on valesti. 114 00:04:46,340 --> 00:04:49,280 Et pihustid olid pööramisega nii nad tõesti ei peaks. 115 00:04:49,280 --> 00:04:53,042 Umbes 40 sekundit arvesse lendu selgelt sõiduk oli probleeme, 116 00:04:53,042 --> 00:04:55,250 ja see, kui nad tegid otsuse hävitada. 117 00:04:55,250 --> 00:04:58,970 Vahemikus Safety Officer koos tohutu tahtejõud vajutasid nuppu 118 00:04:58,970 --> 00:05:03,940 õhku rakett enne seda võiks saada oht avalikule korrale. 119 00:05:03,940 --> 00:05:06,600 >> -See Oli neiu voyage Ariane 5, 120 00:05:06,600 --> 00:05:09,270 ja selle hävitamine võttis kuna selleks puudus 121 00:05:09,270 --> 00:05:10,992 varjatud raketi tarkvara. 122 00:05:10,992 --> 00:05:12,700 -The Probleemi kohta Ariane oli see, et 123 00:05:12,700 --> 00:05:15,370 oli see arv vaja 64 bitti väljendada, 124 00:05:15,370 --> 00:05:18,150 ja ta tahtis muuta see 16 bit number. 125 00:05:18,150 --> 00:05:21,160 Eeldati, et mitmed oli kunagi väga suur, 126 00:05:21,160 --> 00:05:25,020 et enamik neist numbrit 64 bit number oli 0 s. 127 00:05:25,020 --> 00:05:26,310 Nad olid valed. 128 00:05:26,310 --> 00:05:28,680 >> -The Suuda ühe tarkvara vastu 129 00:05:28,680 --> 00:05:32,820 selline number loodud teine ​​oli keskmes rike. 130 00:05:32,820 --> 00:05:37,190 Tarkvaraarendus on saanud väga kulukas osa uue tehnoloogia. 131 00:05:37,190 --> 00:05:40,760 Ariane 4 raketi olnud väga edukas, nii palju tarkvara 132 00:05:40,760 --> 00:05:43,990 loodud see oli ka kasutatud Ariane 5. 133 00:05:43,990 --> 00:05:49,750 >> -The Põhiline probleem oli see, et Ariane 5 oli kiirem, kiirendatud kiiremini. 134 00:05:49,750 --> 00:05:53,000 Ja tarkvara ei olnud moodustasid sellest. 135 00:05:53,000 --> 00:05:56,330 >> -The Hävitamine raketi oli suur rahaline katastroof, 136 00:05:56,330 --> 00:05:59,670 kõik tänu minut tarkvara viga. 137 00:05:59,670 --> 00:06:01,990 Aga see ei olnud esimene aega andmete muutmise probleeme 138 00:06:01,990 --> 00:06:05,310 oli vaevavad moodsa raketi tehnoloogia. 139 00:06:05,310 --> 00:06:08,300 >> -Kui 1991. aastal alguse Esimese Lahesõja 140 00:06:08,300 --> 00:06:10,650 Patriot rakettide kogenud Samalaadsed 141 00:06:10,650 --> 00:06:12,650 arvu muundamise probleemi. 142 00:06:12,650 --> 00:06:15,620 Selle tulemusena 28 inimest, 28. Ameerika sõdurid 143 00:06:15,620 --> 00:06:18,440 tapeti umbes 100 teised haavatud, 144 00:06:18,440 --> 00:06:21,900 kui Patriot, mis pidi kaitsta sissetulevad scuds, 145 00:06:21,900 --> 00:06:24,630 ei tule rakett. 146 00:06:24,630 --> 00:06:29,440 >> -Kui Iraak Kuveiti tungis ja Ameerikas käivitas Desert Storm alguses 1991 147 00:06:29,440 --> 00:06:33,800 Patriot rakettide patareid lähetati kaitsta Saudi Araabia ja Iisraeli 148 00:06:33,800 --> 00:06:37,000 Iraagi Scud rakettide rünnakud. 149 00:06:37,000 --> 00:06:40,610 Patriot on USA, keskmaa pind-õhk süsteemi 150 00:06:40,610 --> 00:06:43,010 valmistatud Raytheon ettevõte. 151 00:06:43,010 --> 00:06:49,080 >> -The Suurus Patriot interceptor, ise on umbes, umbes 20 jalga pikk. 152 00:06:49,080 --> 00:06:51,250 Ja see kaalub umbes 2000 naela. 153 00:06:51,250 --> 00:06:55,195 Ja see viib lõhkepea on about-- Ma arvan, et see Umbes 150 naela. 154 00:06:55,195 --> 00:06:59,500 Ja lõhkepea ise, on plahvatusohtlikud, 155 00:06:59,500 --> 00:07:02,570 millel on fragmendid ümber. 156 00:07:02,570 --> 00:07:06,890 Korpus on lõhkepea on eesmärk on käitunud Jämejahu hallid. 157 00:07:06,890 --> 00:07:09,130 >> -The Raketid on läbi, 4 konteineri kohta, 158 00:07:09,130 --> 00:07:12,080 ja veetakse poolhaagise. 159 00:07:12,080 --> 00:07:19,100 >> -The Patriot anti raketisüsteemi ulatub vähemalt 20 aastat. 160 00:07:19,100 --> 00:07:22,320 See oli algselt mõeldud kui õhutõrje rakettide 161 00:07:22,320 --> 00:07:24,180 tulistada alla vaenlase lennukid. 162 00:07:24,180 --> 00:07:27,860 Esimeses Lahesõda, kui see sõda tuli mööda, 163 00:07:27,860 --> 00:07:32,745 armee tahtis seda kasutada tulistama scuds, mitte lennukid. 164 00:07:32,745 --> 00:07:36,150 Iraagi Force polnud nii palju probleeme, 165 00:07:36,150 --> 00:07:39,110 kuid armee oli mures scuds. 166 00:07:39,110 --> 00:07:42,340 Ja nii nad üritasid uuendada Patriot. 167 00:07:42,340 --> 00:07:44,760 >> -Intercepting Vaenlane rakett liigub mach viis 168 00:07:44,760 --> 00:07:47,250 pidi olema piisavalt suur väljakutse. 169 00:07:47,250 --> 00:07:50,000 Aga kui Patriot oli tormas teenust, 170 00:07:50,000 --> 00:07:54,030 armee ei olnud teadlikuks Iraagi muudatustest, mis tehakse 171 00:07:54,030 --> 00:07:56,840 oma scuds peaaegu võimatu tabada. 172 00:07:56,840 --> 00:08:01,020 >> -Mis Juhtus, on scuds et olid tulnud, olid ebastabiilsed, 173 00:08:01,020 --> 00:08:02,310 nad wobbling. 174 00:08:02,310 --> 00:08:05,140 Selle põhjuseks, oli iraaklaste, et 175 00:08:05,140 --> 00:08:09,450 saada 600 kilomeetri välja 300 kilomeetri vahemikku rakett, 176 00:08:09,450 --> 00:08:12,930 võttis kaalust välja ees lõhkepea ja tegi lõhkepea kergem. 177 00:08:12,930 --> 00:08:17,710 Nüüd, Patriot üritab tulla kell Scud ja enamiku ajast, 178 00:08:17,710 --> 00:08:21,700 Valdav enamus aega, see oleks lihtsalt lennata poolt Scud. 179 00:08:21,700 --> 00:08:25,700 >> -Kui Patriot haldurid mõistis Patriot oma eesmärki täitnud, 180 00:08:25,700 --> 00:08:29,790 nad lõhkeda Patriot on lõhkepea vältida võimalikke ohvreid, kui see 181 00:08:29,790 --> 00:08:32,380 lubati langevad maapinnale. 182 00:08:32,380 --> 00:08:36,340 >> -See Oli see, mida enamik inimesi nägi, need suured fireballs taevas, 183 00:08:36,340 --> 00:08:41,289 ja vääriti kui pealtkuulamist Scud lõhkepeade. 184 00:08:41,289 --> 00:08:43,590 Kuigi öösel taevas, patrioodid ilmunud 185 00:08:43,590 --> 00:08:47,020 olema edukalt hävitades scuds, kell Dhahran, 186 00:08:47,020 --> 00:08:49,730 ei saa olla viga selle toimivuse. 187 00:08:49,730 --> 00:08:53,990 Seal Patriot radar süsteemi kaotanud jälgida sissetuleva Scud, 188 00:08:53,990 --> 00:08:56,650 ja kunagi käivitatud, tõttu tarkvara viga. 189 00:08:56,650 --> 00:08:59,650 190 00:08:59,650 --> 00:09:04,100 See oli iisraellased, kes esimesena avastas et enam süsteemi oli, 191 00:09:04,100 --> 00:09:07,510 mida pikem on lahknevus sai tänu kella varjatud 192 00:09:07,510 --> 00:09:09,490 Süsteemis arvutisse. 193 00:09:09,490 --> 00:09:12,670 >> -Umbes 2 nädalat enne tragöödia Dhahran, 194 00:09:12,670 --> 00:09:15,010 Iisraeli teatatud kaitseministeeriumil, 195 00:09:15,010 --> 00:09:17,940 et süsteem oli kaotamas ajal et pärast umbes 8 tundi järjest 196 00:09:17,940 --> 00:09:21,410 nad märkasid, et süsteem oli muutuvad märgatavalt vähem täpne. 197 00:09:21,410 --> 00:09:25,290 Riigikaitse osakond vastas ütleb kõik Patriot patareid 198 00:09:25,290 --> 00:09:28,070 et ei jäta süsteemid olnud pikka aega. 199 00:09:28,070 --> 00:09:29,960 Nad ei ole kunagi öelnud, mida pikka aega oli. 200 00:09:29,960 --> 00:09:30,460 8 tundi? 201 00:09:30,460 --> 00:09:30,960 10 tundi? 202 00:09:30,960 --> 00:09:31,870 1000 töötunni? 203 00:09:31,870 --> 00:09:33,734 Keegi ei teadnud. 204 00:09:33,734 --> 00:09:35,650 -The Patriot aku seisvad kasarmud 205 00:09:35,650 --> 00:09:40,410 kell Dhahran, ja selle vigane sisemine kella, oli olnud üle 100 tunni 206 00:09:40,410 --> 00:09:43,041 ööl vastu 25. veebruar. 207 00:09:43,041 --> 00:09:47,416 >> -See Jälgida aega täpsusega umbes 1/10 sekundit. 208 00:09:47,416 --> 00:09:49,290 Nüüd 1/10 teine ​​on huvitav number 209 00:09:49,290 --> 00:09:52,700 sest see ei saa olla väljendatakse kahendsüsteemis, täpselt. 210 00:09:52,700 --> 00:09:54,820 Mis tähendab, et ta ei saa väljendada, täpselt, 211 00:09:54,820 --> 00:09:57,420 Igal kaasaegse digitaalse arvuti. 212 00:09:57,420 --> 00:10:01,460 On raske uskuda, kuid kasutada seda kui näidet. 213 00:10:01,460 --> 00:10:03,520 Võtame number, 1/3. 214 00:10:03,520 --> 00:10:07,110 1/3 ei saa väljendada kümnendsüsteemis, täpselt. 215 00:10:07,110 --> 00:10:11,490 1/3 on 0,333 kestnud lõpmatuseni. 216 00:10:11,490 --> 00:10:15,486 Ei ole nii, et seda teha, on absoluutne täpsus, in kohaga. 217 00:10:15,486 --> 00:10:18,360 See on täpselt samasugune probleem, mis juhtus Patriot. 218 00:10:18,360 --> 00:10:22,510 Mida pikem on süsteem jooksis, siis hullem aeg viga sai. 219 00:10:22,510 --> 00:10:28,420 >> -Pärast 100 töötunni viga ajal oli ainult umbes 1/3 sekundi jooksul. 220 00:10:28,420 --> 00:10:31,830 Aga nii on suunatud rakett liigub mach 5, 221 00:10:31,830 --> 00:10:35,890 selle tulemuseks oli jälgimise viga üle 600 meetri. 222 00:10:35,890 --> 00:10:38,970 Oleks saatuslik viga sõdurite juures Dhahran. 223 00:10:38,970 --> 00:10:45,035 >> -Mis Juhtus, on Scud käivitamine oli avastatud varajase hoiatamise satelliidid, 224 00:10:45,035 --> 00:10:48,930 ja nad puudutava uue et Scud oli tulevad oma üldist suunda. 225 00:10:48,930 --> 00:10:51,170 Nad ei tea, kust see tuli. 226 00:10:51,170 --> 00:10:53,990 >> -See Oli nüüd kuni radar osa Patriot süsteemi, 227 00:10:53,990 --> 00:10:58,520 kaitsta Dhahran, et leida ja hoida jälgida sissetulevate vaenlane rakett. 228 00:10:58,520 --> 00:10:59,690 >> -The Radar oli väga tark. 229 00:10:59,690 --> 00:11:01,710 Oleks tegelikult jälgida asendi Scud 230 00:11:01,710 --> 00:11:04,040 ja siis ennustada, kus siis ilmselt oleks, 231 00:11:04,040 --> 00:11:06,140 Järgmise ajal Radar saatis impulsi välja. 232 00:11:06,140 --> 00:11:07,660 See kutsuti vahemikus värava. 233 00:11:07,660 --> 00:11:11,870 >> -Siis, Kui Patriot otsustab piisavalt aega on 234 00:11:11,870 --> 00:11:16,280 edasi minna ja vaadata järgmise koht Selle avastatud objekti, 235 00:11:16,280 --> 00:11:17,280 see läheb tagasi. 236 00:11:17,280 --> 00:11:21,690 Nii et kui ta läks tagasi vale koht, seda siis ei näe objekti 237 00:11:21,690 --> 00:11:25,230 ja ta otsustab, et ei ole objekt, see oli vale tuvastamise, 238 00:11:25,230 --> 00:11:26,650 ja langeb teele. 239 00:11:26,650 --> 00:11:29,690 Ametisse astuv Scud kadus radari ekraani, 240 00:11:29,690 --> 00:11:32,670 ja sekundi pärast, siis slammed arvesse kasarmud. 241 00:11:32,670 --> 00:11:38,100 Scud hukkus 28 ja oli viimane üks lastud esimese Lahesõja. 242 00:11:38,100 --> 00:11:43,460 Õnnetuseks uuendatud tarkvara saabus Dhahran järgmisel päeval. 243 00:11:43,460 --> 00:11:46,150 Tarkvara viga oli fikseeritud, sulgemine 244 00:11:46,150 --> 00:11:48,940 üks peatükk probleemsete ajalugu Patriot rakettide. 245 00:11:48,940 --> 00:11:50,220 >> [Taasesituse lõpetamiseks] 246 00:11:50,220 --> 00:11:54,340 >> DAVID J Humala: Nii me vaatleme mõned sarnased piirangud lihtsalt natuke. 247 00:11:54,340 --> 00:11:58,470 Aga kõigepealt, olgem üleminek mõne FYI on. 248 00:11:58,470 --> 00:12:01,575 Nii one-- sel nädalavahetusel, seal on super lõigud, 249 00:12:01,575 --> 00:12:04,200 mis on mõeldud tõrjuda regulaarne lõigud, mis 250 00:12:04,200 --> 00:12:05,460 käivitub Nädala pärast. 251 00:12:05,460 --> 00:12:08,204 Võtke pilk CS50 veebilehte Lisainformatsiooni nende. 252 00:12:08,204 --> 00:12:11,120 Samuti filmitakse ja otseülekanne elada ei saanud osaleda. 253 00:12:11,120 --> 00:12:12,980 Ülesanded 1 kohta Muidugi kodulehel juba, 254 00:12:12,980 --> 00:12:15,105 ja me võtame pilk et natuke. 255 00:12:15,105 --> 00:12:18,350 Ja tööaega liiga, võtab pange see esmaspäevast neljapäevani. 256 00:12:18,350 --> 00:12:20,960 >> Nii et see oli kõige kanoonilise Programm me vaatasime viimast korda. 257 00:12:20,960 --> 00:12:23,590 See on nagu kõige lihtsam Programmi saab kirjutada C, 258 00:12:23,590 --> 00:12:25,250 ja isegi, et on natuke julge väide. 259 00:12:25,250 --> 00:12:25,750 Õigus? 260 00:12:25,750 --> 00:12:28,070 Sest seal on palju näilisest keerukusest sellele. 261 00:12:28,070 --> 00:12:30,445 Võtame pilgu mida mõned neist elementidest 262 00:12:30,445 --> 00:12:33,080 olid ja siis proovida anda vaimse eeskujuks, kuidas 263 00:12:33,080 --> 00:12:35,710 Nende lihtsamaid programme töötada ja siis hakkame 264 00:12:35,710 --> 00:12:38,050 Vaadates asju üha keerulisemaks. 265 00:12:38,050 --> 00:12:41,280 Nii et see joon siin esile nüüd, kollane, mida me siis ütleme, viimane kord, 266 00:12:41,280 --> 00:12:43,200 et see meie jaoks? 267 00:12:43,200 --> 00:12:45,220 Mis eesmärgil ta teenib? 268 00:12:45,220 --> 00:12:46,984 Igaüks kaugemalt tagasi? 269 00:12:46,984 --> 00:12:47,483 Jah. 270 00:12:47,483 --> 00:12:48,649 >> Pealtvaatajal: [kuuldamatu] 271 00:12:48,649 --> 00:12:50,871 272 00:12:50,871 --> 00:12:51,704 DAVID J Humala: Hea. 273 00:12:51,704 --> 00:12:53,537 Nii et see annab teile juurdepääsu käske, või olgem 274 00:12:53,537 --> 00:12:56,750 kutsuda neid funktsioone, et keegi mujal kirjutas, et on välja kuulutatud, 275 00:12:56,750 --> 00:12:58,350 nii-öelda muul faili. 276 00:12:58,350 --> 00:13:02,370 Nii me näeme täpselt, mida .h faili on versus .c faili, lõpuks. 277 00:13:02,370 --> 00:13:04,710 Aga nüüd, lihtsalt tean et printf, näiteks 278 00:13:04,710 --> 00:13:08,370 on üks funktsioone, mis on olnud deklareeritud mõne muu faili, kuskil 279 00:13:08,370 --> 00:13:12,930 muidu pilve kõvakettale, et võimaldab meil pääseda printf ja seda kasutada 280 00:13:12,930 --> 00:13:15,240 ilma jalgratast ratta ise. 281 00:13:15,240 --> 00:13:16,930 Vahepeal peamine. 282 00:13:16,930 --> 00:13:19,690 Mis oli analoog peamine, eelmisel nädalal? 283 00:13:19,690 --> 00:13:20,190 Jah. 284 00:13:20,190 --> 00:13:21,460 >> Pealtvaatajal: Roheline lipp on klõpsatud. 285 00:13:21,460 --> 00:13:21,740 >> DAVID J Humala: Jah. 286 00:13:21,740 --> 00:13:23,490 Scratch on, kui roheline lipp klõpsatud. 287 00:13:23,490 --> 00:13:25,560 See on nagu puzzle tükk mis algab asjad ära. 288 00:13:25,560 --> 00:13:28,306 Ja nii sarnaselt, tegin maailma otsustas mõned aastad tagasi, et C, 289 00:13:28,306 --> 00:13:30,930 ja hunnik muid keeli, kui sa tahad kirjutada programm, 290 00:13:30,930 --> 00:13:33,410 Sinu esimene ülesanne Nimeks, peamine. 291 00:13:33,410 --> 00:13:34,641 Ja see peab välja nägema selline. 292 00:13:34,641 --> 00:13:36,640 Aga me tuleme tagasi, muul ajal, et mida, int, 293 00:13:36,640 --> 00:13:38,690 ja tühine, tähendab selles kontekstis. 294 00:13:38,690 --> 00:13:42,860 Praegu on looksulg on lahked ja nagu Scratch puzzle tükk kuju 295 00:13:42,860 --> 00:13:45,080 mis isoleerib mõned ridade arvu. 296 00:13:45,080 --> 00:13:47,070 Ja vahel liinidel siin on see siin. 297 00:13:47,070 --> 00:13:51,610 printf on funktsioon, mille eesmärk on elu on printida vormindatud stringi. 298 00:13:51,610 --> 00:13:55,010 Ja vormindatud, ma mõtlen sulle saab ühendada kohatäide väärtusi, 299 00:13:55,010 --> 00:13:58,360 ja saate määrata, kui palju kohaga punktid, mitu numbrit trükkida 300 00:13:58,360 --> 00:14:00,040 pärast koma jms. 301 00:14:00,040 --> 00:14:05,040 Ja printf muidugi võtab ühe või rohkem argumente või parameetrid, 302 00:14:05,040 --> 00:14:06,770 muidu tuntud, rohkem lihtsalt, sest sisendid. 303 00:14:06,770 --> 00:14:09,230 >> Nii printf, nagu palju funktsioone, võtab sisendeid. 304 00:14:09,230 --> 00:14:12,730 Ja need sisendid on omaks Kahe sulgudes siin. 305 00:14:12,730 --> 00:14:15,180 Ja sees need on üks sisend. 306 00:14:15,180 --> 00:14:18,600 See on string, nagu me oleme seda nimetas, mis on lihtsalt märgijada, 307 00:14:18,600 --> 00:14:22,310 nagu sõna või väljend, või tervikuna essee isegi, vahel jutumärkide. 308 00:14:22,310 --> 00:14:25,712 Ja see, mis toimub mõjutada käitumist printf sest loomulikult 309 00:14:25,712 --> 00:14:27,170 see on lihtsalt üldine väljatrükki. 310 00:14:27,170 --> 00:14:29,600 Ta ei kavatse teada, mida printida, kui te ei ütle seda. 311 00:14:29,600 --> 00:14:31,000 Ja siis mõned eritunnuste. 312 00:14:31,000 --> 00:14:34,056 Mida me öelda, et see imelik on sümbolite jada? 313 00:14:34,056 --> 00:14:34,556 Jah. 314 00:14:34,556 --> 00:14:35,410 >> Pealtvaatajal: Uus liin. 315 00:14:35,410 --> 00:14:35,990 >> DAVID J Humala: Uus liin. 316 00:14:35,990 --> 00:14:39,340 Nii selgub, sa ei saa lihtsalt tabas, sisestage, kui olete kirjalikult programmi. 317 00:14:39,340 --> 00:14:42,590 Üldiselt koostaja ei hakka natuke segaduses, mida sa mõtled. 318 00:14:42,590 --> 00:14:45,340 Pigem sa pead sõna otseses mõttes öelda, anna mulle uus liin siin. 319 00:14:45,340 --> 00:14:49,506 Ja nii / n on see, mida me üldiselt helistada Paomärk. 320 00:14:49,506 --> 00:14:50,870 Nii n, uue liiniga. 321 00:14:50,870 --> 00:14:53,810 Ja koostaja teab et kui ta näeb / n, 322 00:14:53,810 --> 00:14:57,420 see peaks tegelikult indutseerida arvuti, lõpuks, või printf, sel juhul, 323 00:14:57,420 --> 00:15:00,260 välja trükkida tegelik uut line, nagu pihta, siseneda, 324 00:15:00,260 --> 00:15:01,480 klahvi. 325 00:15:01,480 --> 00:15:05,620 Ja lõpuks, mida tegime öelda see tükk süntaks on? 326 00:15:05,620 --> 00:15:06,591 Mis see esindab? 327 00:15:06,591 --> 00:15:07,090 Jah. 328 00:15:07,090 --> 00:15:07,490 >> Pealtvaatajal: [kuuldamatu] 329 00:15:07,490 --> 00:15:08,660 >> DAVID J Humala: See on lihtsalt lõpuks joon. 330 00:15:08,660 --> 00:15:09,909 See on lõpuks avaldusega. 331 00:15:09,909 --> 00:15:11,890 Ja mõista, et me ei ole pane neid kõikjal. 332 00:15:11,890 --> 00:15:13,900 Me kindlasti ei pane neid otstes iga rida. 333 00:15:13,900 --> 00:15:16,680 Näiteks polegi kohta Esimene rida, polegi liinil 334 00:15:16,680 --> 00:15:18,680 koos, peamine, polegi pärast looksulg, 335 00:15:18,680 --> 00:15:21,740 aga sa hakkad nägema ja saada tuttav kus seda nõudnud. 336 00:15:21,740 --> 00:15:26,014 Ja see on peaaegu alati pärast funktsiooni helistada või märge, mõned meetmed 337 00:15:26,014 --> 00:15:27,180 et sa oled tegelikult võttes. 338 00:15:27,180 --> 00:15:29,520 >> Ja tean nüüd, eriti kui nende hulgas vähem mugav, 339 00:15:29,520 --> 00:15:32,540 need on erinevaid lollusi et saate lõpuks kogemata peksma 340 00:15:32,540 --> 00:15:33,873 oma peaga vastu seina üle. 341 00:15:33,873 --> 00:15:36,107 Sest sa pead olema loogiliselt kindlad mingi probleem 342 00:15:36,107 --> 00:15:38,440 olete lahendanud probleemi set, ja kuradi asi lihtsalt 343 00:15:38,440 --> 00:15:40,187 ei koostab või isegi käivitada. 344 00:15:40,187 --> 00:15:43,270 Ja nii sageli, varakult, et see läheb olla, sest sa vastamata sulgudes 345 00:15:43,270 --> 00:15:44,455 või sa vastamata semikooloniga. 346 00:15:44,455 --> 00:15:46,547 Ja nii lihtsalt olema teadlik ning selliseid asju, 347 00:15:46,547 --> 00:15:49,380 ja püüdke mitte pettunud neid, sest väga kiiresti teeb seda 348 00:15:49,380 --> 00:15:50,640 vanaks müts. 349 00:15:50,640 --> 00:15:53,910 Aga see on väga lihtne saada pettunud varakult, kui tulemus. 350 00:15:53,910 --> 00:15:57,020 >> Nüüd, võtame pilk kuidas see liin on tegelikult töötab 351 00:15:57,020 --> 00:15:59,170 ja siis vaatame veidi keerulisema. 352 00:15:59,170 --> 00:16:02,017 Nii et meil on siin, siis võime toetuda selle ekraani. 353 00:16:02,017 --> 00:16:04,100 Ja oletame, et see on minu arvuti ekraanil, 354 00:16:04,100 --> 00:16:08,589 aga ma kirjutan, hello programmi ja ma ei ole rakendatud, printf. 355 00:16:08,589 --> 00:16:10,130 Keegi teine ​​on rakendanud, printf. 356 00:16:10,130 --> 00:16:12,420 Kes tahaks väita, et on rakendatud, printf? 357 00:16:12,420 --> 00:16:12,920 Kui me võib? 358 00:16:12,920 --> 00:16:13,830 Hea küll, mis su nimi on? 359 00:16:13,830 --> 00:16:14,155 >> STUDENT 1: [? Copal. ?] 360 00:16:14,155 --> 00:16:15,529 >> DAVID J Humala: Copal, tule üles. 361 00:16:15,529 --> 00:16:16,430 Tule üles. 362 00:16:16,430 --> 00:16:17,070 Hästi. 363 00:16:17,070 --> 00:16:22,260 Nii et meil on siin, nimesilte, sest teeme natuke mängu see. 364 00:16:22,260 --> 00:16:26,270 Ja me teile helistada, printf. 365 00:16:26,270 --> 00:16:30,170 Ja kui sa tahad tule siia, ma olen lihtsalt ekraanile joonistada, 366 00:16:30,170 --> 00:16:32,340 see on lihtsalt, seal on mul see. 367 00:16:32,340 --> 00:16:35,550 >> Olgu, nii, hello my name is, printf, kui soovid siis pane see. 368 00:16:35,550 --> 00:16:35,740 Hästi. 369 00:16:35,740 --> 00:16:37,360 Ja kui sa ei saa minna seista arvuti ekraanil 370 00:16:37,360 --> 00:16:39,730 nagu sa on funktsioon, mis tuli selle arvutisüsteemi. 371 00:16:39,730 --> 00:16:42,063 Ja teie eesmärk elus on tegelikult printida midagi. 372 00:16:42,063 --> 00:16:44,560 Aga palju nagu programmis me oli just ekraanile, siin, 373 00:16:44,560 --> 00:16:47,060 me ei kavatse olla tegelikult annab teile mõned sisend. 374 00:16:47,060 --> 00:16:51,810 >> Ja nii, kui minu panus, siin on ilmselt mida edastatakse printf, 375 00:16:51,810 --> 00:16:53,730 olgem mingi mõnitama ta üles niimoodi. 376 00:16:53,730 --> 00:16:58,720 Ma sõna otseses mõttes kirjutada paberile, "Tere, maailm," 377 00:16:58,720 --> 00:17:03,020 kurakriips N. Ja olema selge, mida Ma olen lihtsalt tõmmati selle paberile, 378 00:17:03,020 --> 00:17:04,020 näeb välja selline. 379 00:17:04,020 --> 00:17:08,730 Nii et kui ma saan selle programmi, ja seda kollane koodirida saab täita, 380 00:17:08,730 --> 00:17:12,970 see on nagu oleksin, tere programmi olen jagab mõned sisend off funktsioon, 381 00:17:12,970 --> 00:17:13,970 et keegi kirjutas. 382 00:17:13,970 --> 00:17:16,595 >> Ja kui sa, sõrmega, võiks tegelikult, sõrmega, 383 00:17:16,595 --> 00:17:21,520 juhtida ekraanil iganes see on teile on antud, 384 00:17:21,520 --> 00:17:27,465 mõju, lõpuks on täpselt näha, et ekraanil. 385 00:17:27,465 --> 00:17:29,140 Ja natuke nurgas asjas. 386 00:17:29,140 --> 00:17:31,540 Ja hea, me ei näe , uus liin, sel hetkel. 387 00:17:31,540 --> 00:17:33,900 Oleks vale teile selgesõnaliselt juhtida reavahetus. 388 00:17:33,900 --> 00:17:36,810 Aga kui me hoida kirjalikult sõnu ekraan, nad lõpuks alla seda. 389 00:17:36,810 --> 00:17:39,560 >> Nii suur tänu, kuid jääda siinkandis Üks hetk. 390 00:17:39,560 --> 00:17:42,860 Nüüd on vaja veel üht vabatahtlike, kui me võiks 391 00:17:42,860 --> 00:17:46,830 et läheb vaja, et mängida rolli of-- See on ainult inimesed orkester 392 00:17:46,830 --> 00:17:47,355 nüüd. 393 00:17:47,355 --> 00:17:47,980 Kuidas about-- OK. 394 00:17:47,980 --> 00:17:48,480 Siin samas. 395 00:17:48,480 --> 00:17:49,180 Tule üles. 396 00:17:49,180 --> 00:17:49,955 Mis su nimi on? 397 00:17:49,955 --> 00:17:50,922 >> STUDENT 2: [? Ivay. ?] 398 00:17:50,922 --> 00:17:51,796 DAVID J Humala: Vabandust? 399 00:17:51,796 --> 00:17:52,990 STUDENT 2: [? Ivay. ?] 400 00:17:52,990 --> 00:17:55,320 DAVID J Humala: Ethan, tule üles. 401 00:17:55,320 --> 00:17:55,820 No? 402 00:17:55,820 --> 00:17:58,390 Kas ma saan, et vale, isegi pärast ütles ta kaks korda? 403 00:17:58,390 --> 00:17:58,890 Tule üles. 404 00:17:58,890 --> 00:18:00,030 On raske kuulda siin. 405 00:18:00,030 --> 00:18:05,240 406 00:18:05,240 --> 00:18:05,740 OKEI. 407 00:18:05,740 --> 00:18:07,190 Ja mul on kahju, mis su nimi on? 408 00:18:07,190 --> 00:18:07,680 >> STUDENT 2: [? Ivay. ?] 409 00:18:07,680 --> 00:18:08,790 >> [? DAVID J Humala: Ivay. ?] OKEI. 410 00:18:08,790 --> 00:18:10,430 Sest nüüd, kui sa seda ei tee meeles, te getString. 411 00:18:10,430 --> 00:18:11,013 >> STUDENT 2: nuppu OK. 412 00:18:11,013 --> 00:18:11,797 Cool. 413 00:18:11,797 --> 00:18:14,630 DAVID J Humala: Nii et kui soovid siin seista hetkeks, 414 00:18:14,630 --> 00:18:17,100 Võtame pilk pisut keerulisem programm, mis 415 00:18:17,100 --> 00:18:18,670 Nüüd on kolm rida koodi. 416 00:18:18,670 --> 00:18:24,080 Nii et meil on üks, oma nimi kasutades printf; kaks, kõne getString, 417 00:18:24,080 --> 00:18:28,060 järgneb loovutatakse muutuja nimega, string s, või nimetatakse s; 418 00:18:28,060 --> 00:18:31,260 ja siis teine ​​kõne, printf, kuid seekord kaks sisendit. 419 00:18:31,260 --> 00:18:33,646 >> Nii et me oleme juba teinud riigi Sinu nimi või pigem oleme 420 00:18:33,646 --> 00:18:34,770 juba teinud printf kõne. 421 00:18:34,770 --> 00:18:38,960 Nii et ma lähen kirjutada, oma nimi. 422 00:18:38,960 --> 00:18:42,089 Ja nii ma lähen edasi, printf, vaid hetk, 423 00:18:42,089 --> 00:18:43,005 on lihtsalt see. 424 00:18:43,005 --> 00:18:47,760 Nii et kui sa tahad minna ja teha seda ekraanil, mis on oma sisend nüüd. 425 00:18:47,760 --> 00:18:48,260 Hästi. 426 00:18:48,260 --> 00:18:51,160 Ja unustada string, on meil nüüd oma rida koodi siin. 427 00:18:51,160 --> 00:18:54,470 Nii, getString peame tegelikult helistada, getString. 428 00:18:54,470 --> 00:18:57,920 Nii et teie eesmärk elus on lihtsalt jalutada viidud orkester, kui sa saaksid, 429 00:18:57,920 --> 00:18:58,980 ja saada kellegi nime. 430 00:18:58,980 --> 00:19:00,860 Aga olgem teile midagi panna see. 431 00:19:00,860 --> 00:19:02,908 Kui soovite, minge käia ja saada string, 432 00:19:02,908 --> 00:19:05,241 saada kellegi nime, mis paberile, kui sa saaksid. 433 00:19:05,241 --> 00:19:12,940 434 00:19:12,940 --> 00:19:13,530 >> Hästi. 435 00:19:13,530 --> 00:19:15,250 Ja me näeme, on hetk, kelle nime me saada. 436 00:19:15,250 --> 00:19:17,630 Vahepeal ma lähen on valmis, on tühjalt 437 00:19:17,630 --> 00:19:21,340 paberi, kus ma lähen salvestada mida iganes väärtus on 438 00:19:21,340 --> 00:19:25,752 on, et getString on tagasi mind, I, olles string muutuja nimega, s. 439 00:19:25,752 --> 00:19:26,252 Hästi. 440 00:19:26,252 --> 00:19:27,293 Nii et mida sa siin on? 441 00:19:27,293 --> 00:19:27,950 Nik. 442 00:19:27,950 --> 00:19:28,450 Hästi. 443 00:19:28,450 --> 00:19:30,910 Nii et meil on Nik nimi siin. 444 00:19:30,910 --> 00:19:33,750 Nii et see on see, mis sõna otseses mõttes on tagastatud 445 00:19:33,750 --> 00:19:35,810 mulle, kui nii võib öelda, mida getString. 446 00:19:35,810 --> 00:19:38,720 >> Ma nüüd, lähen täita vasakpoolne 447 00:19:38,720 --> 00:19:43,440 selle väljendi, kus ma lihtsalt kirjutage, tänapäeva eesmärkidel, Nik. 448 00:19:43,440 --> 00:19:46,470 Nüüd on mul muutuja nimetatakse, s, ladustamiseks Nik nime. 449 00:19:46,470 --> 00:19:49,520 Olen juba üle antud printf, eelmine argument. 450 00:19:49,520 --> 00:19:52,800 Aga meie kolmas ja viimane rida kood, ma tegelikult on aga printf 451 00:19:52,800 --> 00:19:58,500 midagi natuke erinevalt-- "Tere,% s," kurakriips n. 452 00:19:58,500 --> 00:20:01,510 >> Ja nii viimane ma lähen to send-- viimane asi, mida ma olen 453 00:20:01,510 --> 00:20:03,060 läheb üles kirjutada nüüd on see. 454 00:20:03,060 --> 00:20:06,310 Nii et kaks rida koodi, või pigem viimane rida koodi, 455 00:20:06,310 --> 00:20:10,690 nõuab kahe inputs-- ühe selles, ja kaks, see. 456 00:20:10,690 --> 00:20:13,330 Nii et kui meie printf funktsiooni võib nüüd neid sisendina, 457 00:20:13,330 --> 00:20:16,000 andke mulle selge ekraan teile. 458 00:20:16,000 --> 00:20:17,250 Tegelikult ei ole, võite minna. 459 00:20:17,250 --> 00:20:19,333 Me jätan ta üles, kuna see on sama programmi. 460 00:20:19,333 --> 00:20:21,760 461 00:20:21,760 --> 00:20:27,380 Peaksime nägema, hello, Nik. 462 00:20:27,380 --> 00:20:27,880 Hästi. 463 00:20:27,880 --> 00:20:29,670 Nii et see oli üsna vähe kõvadele hüpata kaudu, vaid 464 00:20:29,670 --> 00:20:31,620 kirjutada, riik oma Nime, ja tere, Nik. 465 00:20:31,620 --> 00:20:37,210 Aga see lihtne idee sõnum möödaminnes, sisend möödaminnes ja väljundi vastu võtta, 466 00:20:37,210 --> 00:20:40,430 on täpselt mudeli me lähed on isegi kõige keerulisemaid ülesandeid. 467 00:20:40,430 --> 00:20:41,804 Nii tänan sind nii palju, et sa nii. 468 00:20:41,804 --> 00:20:43,730 Meil on armas stress pall siin teie jaoks. 469 00:20:43,730 --> 00:20:48,890 Ja aitäh meie getString ja printf vabatahtlike jaoks. 470 00:20:48,890 --> 00:20:49,551 Aitäh. 471 00:20:49,551 --> 00:20:50,050 Hästi. 472 00:20:50,050 --> 00:20:50,966 Aitäh teile mõlemale. 473 00:20:50,966 --> 00:20:56,640 474 00:20:56,640 --> 00:21:00,430 >> Nii et me oleme rääkinud Seni, enamasti umbes stringid. 475 00:21:00,430 --> 00:21:06,550 Ja selgub, et C võib tegelikult mõista paar erinevat tüüpi andmeid. 476 00:21:06,550 --> 00:21:08,860 Tegelikult võtame pilk nende siin. 477 00:21:08,860 --> 00:21:12,490 Nii C, ja palju keeli, mõista asju nimetatakse tähemärki. 478 00:21:12,490 --> 00:21:16,852 Süsi on üldiselt ühebaidise või kaheksa bitti. 479 00:21:16,852 --> 00:21:19,810 Ja see on üks sümbol, nagu täht A või kapitali 480 00:21:19,810 --> 00:21:21,990 täht A või väiketäht A või hüüumärk, 481 00:21:21,990 --> 00:21:25,440 või märk, mis saab sisestada kohta klaviatuuril, ja mõnikord isegi rohkem. 482 00:21:25,440 --> 00:21:26,795 Meil on ka juhtuda, et näha ujub. 483 00:21:26,795 --> 00:21:31,160 Ujuk on asjaolu, et üldjuhul 32-bitine väärtus, või nelja baiti 484 00:21:31,160 --> 00:21:33,660 sest jälle üks bait on kaheksa bitti. 485 00:21:33,660 --> 00:21:36,675 >> Nii float on Murdarv, midagi koma. 486 00:21:36,675 --> 00:21:38,550 Ja tõepoolest, see, mida Filmi rääkis 487 00:21:38,550 --> 00:21:42,240 millal nad rääkisid ujuvad punkti väärtusi, teatud fikseeritud bittide arv 488 00:21:42,240 --> 00:21:43,940 kasutatakse kujuta endast tegelikku arvu. 489 00:21:43,940 --> 00:21:45,740 Aga seal on ka asju, mida nimetatakse kahekordistub. 490 00:21:45,740 --> 00:21:47,860 Need on olemas Java, Kui olete võtnud APCS, 491 00:21:47,860 --> 00:21:51,540 ja topelt, nagu nimigi õnneks ütleb, on kaks korda nii suur kui sularahaga. 492 00:21:51,540 --> 00:21:54,540 See on ikka päris mitmeid, see lihtsalt on rohkem bitte 493 00:21:54,540 --> 00:21:58,390 kellega oleks veelgi täpsem, või salvestada veelgi suurem hulk. 494 00:21:58,390 --> 00:21:58,890 int on lihtne. 495 00:21:58,890 --> 00:22:00,181 Me rääkisime, et viimast korda. 496 00:22:00,181 --> 00:22:01,160 See on lihtsalt täisarv. 497 00:22:01,160 --> 00:22:03,980 Ja see on üldiselt 32 bitti või neli baiti. 498 00:22:03,980 --> 00:22:07,850 >> Ja nii, kui teil on, vaatame nüüd, 32 bits-- ja me tegime seda nädalal 0, 499 00:22:07,850 --> 00:22:10,820 kunagi nii briefly-- kui teil on 32 bitti, mis on suurim 500 00:22:10,820 --> 00:22:13,580 number, mida võib tähistada kui täisarv? 501 00:22:13,580 --> 00:22:16,080 Anda või võtta? 502 00:22:16,080 --> 00:22:18,380 See on nagu 4 miljardit, ja see on ainult siis, kui me oleme 503 00:22:18,380 --> 00:22:20,690 esindavad positiivset numbreid. 504 00:22:20,690 --> 00:22:23,930 Kui teil on 32 bitti ja soovid esindavad negatiivsete numbrite samuti, 505 00:22:23,930 --> 00:22:27,100 Sinu valikus on sisuliselt negatiivne 2 miljardit positiivset 2 miljardit. 506 00:22:27,100 --> 00:22:29,250 Aga üldiselt, hakkame 0 minna kuni 4 miljardit eurot. 507 00:22:29,250 --> 00:22:32,400 >> Sa ei pea teadma täpselt, kuid Me näeme seda, tegelikult, kui ma 508 00:22:32,400 --> 00:22:36,400 avada veidi kalkulaator siin. 509 00:22:36,400 --> 00:22:41,070 Ma suudan 2 32 ja see on täpselt, kui suur, 510 00:22:41,070 --> 00:22:43,190 mitu väärtust saab esindada, 32 bitti. 511 00:22:43,190 --> 00:22:44,442 Ja see on umbes 4 miljardit. 512 00:22:44,442 --> 00:22:46,900 Nii hoiame nähes, et number paari erinevaid kohti. 513 00:22:46,900 --> 00:22:48,890 Aga kui teil on vaja enam numbreid kui, 514 00:22:48,890 --> 00:22:51,670 Selgub seal on midagi, mida nimetatakse pika pikk. 515 00:22:51,670 --> 00:22:54,005 Ja pikk pikk on üldiselt 64 bitti, mis 516 00:22:54,005 --> 00:22:56,380 tähendab see suurusjärgus isegi suurem kui int. 517 00:22:56,380 --> 00:22:59,510 >> Nii et ma ei saa isegi hääldada suurim number, mida saab esindada, 518 00:22:59,510 --> 00:23:01,340 kuid see on tunduvalt suurem. 519 00:23:01,340 --> 00:23:05,190 Nüüd kui kõrvale ajalooliselt kui int on 32 bitti, 520 00:23:05,190 --> 00:23:12,780 ja pikk pikk on 64 bitti, kuidas suur on pikk, ei ole pikka? 521 00:23:12,780 --> 00:23:16,500 522 00:23:16,500 --> 00:23:20,330 Sa arvad, et see on pikem kui int aga võibolla vähem pikk kui pikk pikk, 523 00:23:20,330 --> 00:23:21,400 kuid tegelikult sõltub. 524 00:23:21,400 --> 00:23:23,400 >> Ja nii selgub üks pettumusi ka 525 00:23:23,400 --> 00:23:26,830 kirjutamiseni kood teatud süsteemid, on see, et mitte kõik need andmetüübid 526 00:23:26,830 --> 00:23:28,440 on ette määratud väärtustest. 527 00:23:28,440 --> 00:23:29,771 Mõnikord on see palju bitti. 528 00:23:29,771 --> 00:23:31,020 Mõnikord on, et paljud bitti. 529 00:23:31,020 --> 00:23:32,750 Nii et sa tegelikult teada, mõnikord, millist riistvara 530 00:23:32,750 --> 00:23:34,083 näed oma tarkvara. 531 00:23:34,083 --> 00:23:36,960 Õnneks teistes keeltes ja muude andmete tüüpi, et nüüd on olemas, 532 00:23:36,960 --> 00:23:38,400 võimaldab teil olema täpsem. 533 00:23:38,400 --> 00:23:41,220 Noh, me nägime string, ja me nägime bool Ka 534 00:23:41,220 --> 00:23:43,960 Selgub aga need tulevad ainult CS50 raamatukogu. 535 00:23:43,960 --> 00:23:46,240 Nii et need ei ehitata arvesse C. Need asemel, 536 00:23:46,240 --> 00:23:49,340 tulla, et fail nimega CS50.h, võime me lõpuks 537 00:23:49,340 --> 00:23:51,831 Tõmmake kihti. 538 00:23:51,831 --> 00:23:53,830 Aga nüüd on nad lihtsalt täiendavate andmete liigid. 539 00:23:53,830 --> 00:23:57,060 Bool on õige või vale, ja string on märgijada, 540 00:23:57,060 --> 00:23:57,970 nagu sõna. 541 00:23:57,970 --> 00:24:01,690 Nüüd printf, me oleme näinud, on kohatäitjaid,% s on üks. 542 00:24:01,690 --> 00:24:05,430 Ja sa võiksid, et nüüd, järeldavad need teised näited, kuidas 543 00:24:05,430 --> 00:24:07,720 sa oleks võinud kohatäide Eri andmetüüpide jaoks. 544 00:24:07,720 --> 00:24:11,150 Näiteks võtta vist, kui te tahtsin välja trükkida ühe char kasutades 545 00:24:11,150 --> 00:24:15,270 printf, kohatäide on ilmselt% c. 546 00:24:15,270 --> 00:24:19,650 Ja kui sa tahad välja printida täisarv kohatäide,% i. 547 00:24:19,650 --> 00:24:25,150 % lld on pikka arvulises väärtuses, kuid pikk pikk, nii et kaardid sellele. 548 00:24:25,150 --> 00:24:28,640 Ja siis% f ujuva Punkti väärtus või topelt, 549 00:24:28,640 --> 00:24:31,270 nii et mõnikord nad uuesti kasutada erinevates kontekstides. 550 00:24:31,270 --> 00:24:33,350 Nii me näeme ja kasutame mõned neist aja jooksul. 551 00:24:33,350 --> 00:24:36,420 Ja printf ja muid funktsioone ka toetust teiste käsukoode, 552 00:24:36,420 --> 00:24:38,080 ja mõnikord on need vajalikud. 553 00:24:38,080 --> 00:24:39,770 Nii kurakriips n on uus liin. 554 00:24:39,770 --> 00:24:42,886 Längkriipsu t, kas keegi tahan võtke torkehaav? 555 00:24:42,886 --> 00:24:43,760 Pealtvaatajal: Tab. 556 00:24:43,760 --> 00:24:44,551 DAVID J Humala: Tab. 557 00:24:44,551 --> 00:24:46,810 Nii et kui sa tegelikult tahad välja trükkida tab, ei 558 00:24:46,810 --> 00:24:49,940 kindla arvu ruumid, kuid tegelik tabeldusmärgiga, sa ei tabanud oma, 559 00:24:49,940 --> 00:24:53,490 tab, klaviatuuril üldiselt seda tegelikult kurakriips t. 560 00:24:53,490 --> 00:24:57,750 Längkriipsu jutumärke, miks ma kunagi tahad seda? 561 00:24:57,750 --> 00:24:58,250 Õigus? 562 00:24:58,250 --> 00:25:00,417 Miks ma ei saa lihtsalt kirjutada topeltjutumärkide minu klaviatuuri? 563 00:25:00,417 --> 00:25:02,124 Pealtvaatajal: Sest muidu, see on 564 00:25:02,124 --> 00:25:04,830 läheb meelest on see lõpuni of meeldib oma print [? teksti. ?] 565 00:25:04,830 --> 00:25:05,420 >> DAVID J Humala: Täpselt. 566 00:25:05,420 --> 00:25:07,211 Pea meeles, et meie printf näiteid, kui me 567 00:25:07,211 --> 00:25:10,075 olid möödaminnes printf in sisend, vasakul, et sisend string 568 00:25:10,075 --> 00:25:12,950 ja õigust selle sisendi Kevadel oli muidugi jutumärke. 569 00:25:12,950 --> 00:25:16,270 Kui oma sisend on kahekordne quote keskel, et 570 00:25:16,270 --> 00:25:18,920 arvuti võib tulevikus Segaduse, et, 571 00:25:18,920 --> 00:25:20,760 teeb seda topeltjutumärkide kuuluvad keskel? 572 00:25:20,760 --> 00:25:22,150 Kas see kuulub vasaku üks? 573 00:25:22,150 --> 00:25:23,566 Kas see kuulub koos õige? 574 00:25:23,566 --> 00:25:26,780 Ja nii, kui sa tahad teha seda super selge, sa kurakriips jutumärke, 575 00:25:26,780 --> 00:25:30,480 nii et see on pääsenud, nii et rääkida, ja see ei ole conflated midagi muud. 576 00:25:30,480 --> 00:25:34,400 Ja seal on mõned teised siin, kurakriips r, ülakoma, 0, 577 00:25:34,400 --> 00:25:36,510 et me näeksime aja jooksul samuti. 578 00:25:36,510 --> 00:25:37,760 Ja nüüd, kuidas toimib? 579 00:25:37,760 --> 00:25:41,630 >> Nii meetmed, et me saame võtta seni selles keeles, C, noh, me oleme näinud, 580 00:25:41,630 --> 00:25:44,320 printf, muidugi, ja kõik teistega ekraanil, 581 00:25:44,320 --> 00:25:47,140 siin, et me kasutame jaoks Muidugi esimene paar nädalat ainult, 582 00:25:47,140 --> 00:25:48,485 tule kui CS50 raamatukogu. 583 00:25:48,485 --> 00:25:51,850 Ja nad teevad seda palju kergemaks, C, tegelikult saada kasutaja sisend. 584 00:25:51,850 --> 00:25:54,200 Selgub, et C ja ausalt öeldes mõned keeled, 585 00:25:54,200 --> 00:25:57,450 see on tõeline valu kaela tegema midagi lihtsat, nagu kiire kasutajale 586 00:25:57,450 --> 00:26:01,310 klaviatuuri, et tema panus. 587 00:26:01,310 --> 00:26:03,240 Ja nii need funktsioonid lihtsustavad. 588 00:26:03,240 --> 00:26:05,472 >> Ja see on ka viga kontrollida kogu, 589 00:26:05,472 --> 00:26:07,180 nii, et kui te mäletate kolmapäeval, me 590 00:26:07,180 --> 00:26:09,740 nägin, uuesti, hoiatus, kui ma ei teinud koostööd, 591 00:26:09,740 --> 00:26:11,700 ja ma kirjutada sõna, selle asemel, et number? 592 00:26:11,700 --> 00:26:15,402 Oleme teinud rasket tööd varakult kohta, veendumaks, et kasutaja teeb. 593 00:26:15,402 --> 00:26:17,860 Aga need on vaid koolitus rattad, et me lõpuks 594 00:26:17,860 --> 00:26:19,640 ja kiiresti startida. 595 00:26:19,640 --> 00:26:22,630 >> Nii et veel kord, siis, Võtame pilgu, 596 00:26:22,630 --> 00:26:26,620 palju nagu tegime Scratch kell mõned kanooniline konstruktsioone C. 597 00:26:26,620 --> 00:26:28,580 See on mõeldud, justkui kohta, olla keeristorm tour, 598 00:26:28,580 --> 00:26:30,990 just nii, et teil on viide ja et sa oled näinud asju alguses. 599 00:26:30,990 --> 00:26:34,100 Aga siis me vaatame tegelikku kodeerimine kasutada mõnda neist ehituskivid. 600 00:26:34,100 --> 00:26:36,710 Nii palju nagu Scratch, kui olime avaldused meeldi, 601 00:26:36,710 --> 00:26:41,570 öelda või, oodake, C, meil ei ole toimib hästi, nagu printf. 602 00:26:41,570 --> 00:26:45,350 >> Kui me tahame, väljendada seisund C, see on sarnane, vaimus, 603 00:26:45,350 --> 00:26:47,840 sellele puzzle tükk, mis tundus see Scratch. 604 00:26:47,840 --> 00:26:49,850 Kuid selle asemel, me sõna otseses mõttes lihtsalt kirjutada, kui. 605 00:26:49,850 --> 00:26:51,830 Ja siis, sulgudes paneme seisukorras, 606 00:26:51,830 --> 00:26:54,807 kui see tingimus on see, mida me tulen helistada jällegi loogiline väljendus. 607 00:26:54,807 --> 00:26:56,390 Ja jällegi, see on omamoodi pseudokoodi. 608 00:26:56,390 --> 00:26:58,830 Ja tegelikult // on kommentaar. 609 00:26:58,830 --> 00:27:00,550 See on lihtsalt inglise sõnad ise. 610 00:27:00,550 --> 00:27:03,000 Aga see on üldine struktuuri, kui tingimus. 611 00:27:03,000 --> 00:27:05,220 Aga me näeme konkreetset näiteid hetk. 612 00:27:05,220 --> 00:27:07,960 >> Kui sa tahad olla kahesuunaline teelahkmele, 613 00:27:07,960 --> 00:27:11,740 palju nagu tegime meie vabatahtlike kohta Kolmapäev, sul võib olla, muidu kui. 614 00:27:11,740 --> 00:27:16,020 Ja kui sa tahad olla kolmas ja lõplik seisund, või vaikimisi olukord, 615 00:27:16,020 --> 00:27:19,006 sul võib olla lihtsalt teine ​​plokk, seal. 616 00:27:19,006 --> 00:27:21,880 Ja samamoodi on boolean väljendeid, saad, ja neid koos. 617 00:27:21,880 --> 00:27:24,296 Ja me nägime kolmapäeval, et see ei ole ühe ampersand, 618 00:27:24,296 --> 00:27:28,220 see on kaks, madalama taseme põhjused, mis me lõpuks näha ja mängida. 619 00:27:28,220 --> 00:27:30,410 Või-se asjad kokku on 2 vertikaalne baarid. 620 00:27:30,410 --> 00:27:32,240 USA klaviatuuri korral, seda Üldiselt on oluline 621 00:27:32,240 --> 00:27:35,730 Shift klahv eespool Sinu Enter või Return. 622 00:27:35,730 --> 00:27:38,620 >> Siis on need asjad, mis me kasutame võibolla üks või kaks korda. 623 00:27:38,620 --> 00:27:42,570 Nad on funktsionaalselt samaväärne mida saate teha koos, kui muidu, kui 624 00:27:42,570 --> 00:27:44,950 muidu kui teine, ehitada, kuid nad nimetatakse lüliti. 625 00:27:44,950 --> 00:27:48,020 Nad näevad väga erinevad, kuid me vaata mõned meie jaotus koodi 626 00:27:48,020 --> 00:27:51,890 Tuleviku probleem komplekti, tõenäoliselt et see on mõnikord lihtsalt ilusam 627 00:27:51,890 --> 00:27:54,060 väljendamise viise terviku kamp tingimused, 628 00:27:54,060 --> 00:27:57,590 ilma palju looksulg ja palju sulgudes ja taandus. 629 00:27:57,590 --> 00:28:01,910 Aga nad annavad meile enam energiat kui meil juba. 630 00:28:01,910 --> 00:28:02,550 Ja nüüd silmad. 631 00:28:02,550 --> 00:28:05,020 Ja see, et me vaatame at natuke aeglasemalt. 632 00:28:05,020 --> 00:28:08,470 Aga siis, hakkame neid kasutada, eriti neile juba tuttav. 633 00:28:08,470 --> 00:28:13,830 See on kanooniline viis, kui uskumatult kauge tee, et kirjutada loop C. 634 00:28:13,830 --> 00:28:15,896 >> Nüüd silmus Scratch oli üsna lihtne. 635 00:28:15,896 --> 00:28:17,020 Sul on igavesti, plokk. 636 00:28:17,020 --> 00:28:19,760 Sul on korrake, plokk lihtsalt number pead sisestama. 637 00:28:19,760 --> 00:28:22,220 Ja, silmus, saate rakendada nii neid ideid, 638 00:28:22,220 --> 00:28:23,595 kuid see on natuke rohkem tehnilist. 639 00:28:23,595 --> 00:28:25,994 Aga ausalt öeldes, see on ka suhteliselt lihtne. 640 00:28:25,994 --> 00:28:28,160 Kui tead järjekorras toiminguid, siis sõna otseses mõttes 641 00:28:28,160 --> 00:28:30,910 lihtsalt läheb pistik väärtused ja ütleb arvuti, mida teha. 642 00:28:30,910 --> 00:28:32,800 Nii et siin on näide. 643 00:28:32,800 --> 00:28:38,040 See on silmus, mis üsna lihtsalt, loeb ühest number üles 644 00:28:38,040 --> 00:28:40,187 läbi teise. 645 00:28:40,187 --> 00:28:42,020 Ja just põrkav seda isegi siis, kui teil on 646 00:28:42,020 --> 00:28:44,660 no eelnev kogemus Selles keeles, mida number 647 00:28:44,660 --> 00:28:46,920 see ilmselt lugemise alustamiseks on? 648 00:28:46,920 --> 00:28:47,730 OK, 0. 649 00:28:47,730 --> 00:28:50,240 Ja ma usun, et on, sest sa näha, et seal on int ja i, 650 00:28:50,240 --> 00:28:51,073 mis on muutuv. 651 00:28:51,073 --> 00:28:52,390 See on vormindatud 0. 652 00:28:52,390 --> 00:28:55,670 >> Ja hiljem, tundub, me möödaminnes printf, väärtus. 653 00:28:55,670 --> 00:28:58,000 Ja tegelikult, ma tegin natuke kirjaviga siin. 654 00:28:58,000 --> 00:28:59,850 Aga see lihtsalt fikseeritud. 655 00:28:59,850 --> 00:29:02,390 Lubage mul lisada, i siin. 656 00:29:02,390 --> 00:29:06,150 Meil on nüüd printf olend edasi, et kohatäide väärtus. 657 00:29:06,150 --> 00:29:08,299 Ja mis toimub lugema üles läbi? 658 00:29:08,299 --> 00:29:08,840 Sihtrühm: 50. 659 00:29:08,840 --> 00:29:09,340 50. 660 00:29:09,340 --> 00:29:10,160 49. 661 00:29:10,160 --> 00:29:10,910 DAVID J Humala: 49. 662 00:29:10,910 --> 00:29:13,340 Nii 50, esmapilgul tundub õige. 663 00:29:13,340 --> 00:29:16,990 Aga selgub, saab olema Meie tingimus, et me hoida kontrolli. 664 00:29:16,990 --> 00:29:21,740 Ja me ei kavatse lõpetada, kui i ei ole enam alla 50. 665 00:29:21,740 --> 00:29:24,920 Nii et see silmus, vastupidi, peaks täita, niikaua kui i on väiksem kui 50. 666 00:29:24,920 --> 00:29:28,891 Aga niipea, kui see muutub 50 või 51, või veel hullem, see peaks automaatselt lõppema. 667 00:29:28,891 --> 00:29:29,390 Hästi. 668 00:29:29,390 --> 00:29:31,200 >> Mis tegelikult juhtub siin? 669 00:29:31,200 --> 00:29:33,160 Nii et see on järjekorras operatsioonide silmus. 670 00:29:33,160 --> 00:29:35,440 Üks on teil Niinimetatud ettekanne. 671 00:29:35,440 --> 00:29:38,264 See kollane rõhutas patakas kood käivitatakse esimene, 672 00:29:38,264 --> 00:29:40,930 ja see tähendab seda, et kohta Kolmapäev, sa ilmselt ette kujutada. 673 00:29:40,930 --> 00:29:45,500 See loob muutuja nimega i ja kauplust, et muutuja väärtus 0. 674 00:29:45,500 --> 00:29:47,560 Nii et ma ei 0 siinkohal lugu. 675 00:29:47,560 --> 00:29:49,680 >> Järgmine asi, mis juhtub selles konstruktsioonis 676 00:29:49,680 --> 00:29:51,540 on, et tingimus saab kontrollida. 677 00:29:51,540 --> 00:29:54,325 Nii et ma kohe kontrollida, on i alla 50? 678 00:29:54,325 --> 00:29:57,700 Ja muidugi vastus nüüd on kindlasti, jah. 679 00:29:57,700 --> 00:30:00,710 Jah, sest ma on 0 ja see on kindlasti väiksem kui 50. 680 00:30:00,710 --> 00:30:03,866 Mis siis juhtub, on see, et koodirida saab täide. 681 00:30:03,866 --> 00:30:06,740 Ja tegelikult, kas seal on mitu rida koodi need looksulg, 682 00:30:06,740 --> 00:30:09,020 nad kõik saavad hukati üksteise järel. 683 00:30:09,020 --> 00:30:11,450 >> Ja mõju siin, on ilmselt välja trükkida 684 00:30:11,450 --> 00:30:15,365 arvu i, mis läheb 0 ja seejärel 1 ja seejärel 2. 685 00:30:15,365 --> 00:30:15,865 Aga miks? 686 00:30:15,865 --> 00:30:17,410 Miks see saada suurendatakse? 687 00:30:17,410 --> 00:30:20,680 Noh, neljas asi, mis juhtub see, et seda süntaksit 688 00:30:20,680 --> 00:30:22,610 saab teostada pärast semikooloniga. 689 00:30:22,610 --> 00:30:27,506 i ++ on stenografisti viis öelda; võtab väärtuse i ja lisada 1 osas; 690 00:30:27,506 --> 00:30:30,380 ja siis järgmise korraga lisada 1 kuni ta; ja järgmine kord ümber, 691 00:30:30,380 --> 00:30:31,330 lisage 1 ta. 692 00:30:31,330 --> 00:30:33,640 >> Nii et kui meie läheme, Mis juhtub 693 00:30:33,640 --> 00:30:35,890 Järgmine on Ma ei kavatse initsialiseerida i kunagi. 694 00:30:35,890 --> 00:30:38,290 Kui ma hoida initializing i 0, selles näites 695 00:30:38,290 --> 00:30:41,110 oleks kunagi lõpuni, sest i oleks ummikus 0. 696 00:30:41,110 --> 00:30:43,870 Aga mis juhtub on et tingimus tuleb kontrollida, 697 00:30:43,870 --> 00:30:54,280 koodirida saavad täidetud, i saab suureneb, 698 00:30:54,280 --> 00:30:56,970 tingimus tuleb kontrollida, kood saavad täide. 699 00:30:56,970 --> 00:30:59,790 Ja see hoitakse jalgrattasõit jälle, ja uuesti ja uuesti, 700 00:30:59,790 --> 00:31:03,340 kuni i ++ tekitab väärtus 50. 701 00:31:03,340 --> 00:31:05,870 >> Seisund siis ütleb, 50 alla 50? 702 00:31:05,870 --> 00:31:09,360 Vastus on muidugi, ei ole, ja nii et kogu kood lõpetab täidesaatva. 703 00:31:09,360 --> 00:31:13,020 Ja kui sul on rohkem kood ekraanil allapoole, et see, mis juhtub järgmisena. 704 00:31:13,020 --> 00:31:17,530 Hüppab välja need looksulg ja jätkab printimist enam pärast seda. 705 00:31:17,530 --> 00:31:20,470 >> Nii nali nüüd, alates fokstrott, et Teil võib-olla nüüd aru. 706 00:31:20,470 --> 00:31:30,810 707 00:31:30,810 --> 00:31:31,560 See on alati naljakas. 708 00:31:31,560 --> 00:31:34,110 See on nagu chuckles Selline imbuks, 709 00:31:34,110 --> 00:31:38,370 ja siis sa mõistad, siis ei tohi olla naersid huumor niimoodi. 710 00:31:38,370 --> 00:31:41,160 Aga seal on mõned Buffee siin, pedagoogiliselt ka. 711 00:31:41,160 --> 00:31:43,577 Nii selgub, et ma olen puudu tükk süntaks, 712 00:31:43,577 --> 00:31:45,410 või fokstrott on kadunud tükk süntaks siin. 713 00:31:45,410 --> 00:31:48,076 Puudu et oleme olnud igal teisel näiteks siiani? 714 00:31:48,076 --> 00:31:51,599 715 00:31:51,599 --> 00:31:53,390 Tagasi, on olemas, nii et see on midagi muud, 716 00:31:53,390 --> 00:31:54,440 et me tuleme tagasi enne pikk. 717 00:31:54,440 --> 00:31:55,398 Puudu küll? 718 00:31:55,398 --> 00:31:55,908 Jah. 719 00:31:55,908 --> 00:31:58,150 >> Pealtvaatajal: initsialiseerimise [kuuldamatu]. 720 00:31:58,150 --> 00:31:58,470 >> DAVID J Humala: OK. 721 00:31:58,470 --> 00:31:58,980 Nii et jah. 722 00:31:58,980 --> 00:32:03,210 Seega tegelikult see on-- Noh, ja loota käivitub 723 00:32:03,210 --> 00:32:05,470 ülevalt, või õigemini, kuulutati välja eespool. 724 00:32:05,470 --> 00:32:06,960 Nii et see on üks võimalus seda teha. 725 00:32:06,960 --> 00:32:08,685 Aga mitte ühele joonele see kehtib küll. 726 00:32:08,685 --> 00:32:09,310 Kuidas siin? 727 00:32:09,310 --> 00:32:10,196 >> Pealtvaatajal: Kas lokkis traksid? 728 00:32:10,196 --> 00:32:10,640 >> DAVID J Humala: Jah. 729 00:32:10,640 --> 00:32:12,080 Nii looksulg puuduvad. 730 00:32:12,080 --> 00:32:15,495 Aga see kood, ma mõtlen, et nende krediidi, tegelikult, süntaktiliselt kehtivaks. 731 00:32:15,495 --> 00:32:17,610 Selgub, sa ei vaja looksulg 732 00:32:17,610 --> 00:32:21,691 Kui teil on ainult üks koodirida, et sa soovid sees silmus. 733 00:32:21,691 --> 00:32:24,190 Nüüd on meil alati, klassi ja kõik meie jaotus koodi 734 00:32:24,190 --> 00:32:26,730 sisaldama looksulg niikuinii, lihtsalt selguse huvides. 735 00:32:26,730 --> 00:32:29,010 Aga mõistan, et õpikutes ja veebinäiteid, 736 00:32:29,010 --> 00:32:31,300 siis võib väga hästi näha, lokkis traksid puudu millalgi. 737 00:32:31,300 --> 00:32:34,850 Ja see on OK, kui see, mida sa on liigestatud ja eesmärk 738 00:32:34,850 --> 00:32:38,650 on ainult üks rida koodi, mitte mitu rida koodi, potentsiaalselt. 739 00:32:38,650 --> 00:32:39,150 Hästi. 740 00:32:39,150 --> 00:32:44,500 Nii seotud küsimus ebatäpsuse, on küsimus ülevoolu, 741 00:32:44,500 --> 00:32:48,560 selles mõttes, et sarnaselt ei täisarvud on piirid neile 742 00:32:48,560 --> 00:32:49,970 nagu ujukoma väärtused? 743 00:32:49,970 --> 00:32:53,120 Maailmas ujukoma väärtusi, saame olla ainult nii täpne, 744 00:32:53,120 --> 00:32:55,710 misjärel, mõnikord halbu asju võib juhtuda, 745 00:32:55,710 --> 00:32:57,760 ja meie programmid võivad olla vigased ning viga. 746 00:32:57,760 --> 00:33:00,050 Nüüd isegi täisarvud, võite tekib probleeme. 747 00:33:00,050 --> 00:33:03,820 Nüüd täisarv ei ole koma või numbrid pärast seda. 748 00:33:03,820 --> 00:33:07,130 See on lihtsalt loomulik number, tavaliselt. 749 00:33:07,130 --> 00:33:09,430 Mis võiks minna valesti int? 750 00:33:09,430 --> 00:33:12,210 Kui ma kasutan int kuni arvu, mis võiks valesti minna? 751 00:33:12,210 --> 00:33:13,230 Tundub palju lihtsam. 752 00:33:13,230 --> 00:33:13,873 Jah. 753 00:33:13,873 --> 00:33:16,240 >> Pealtvaatajal: Kui number saab [kuuldamatu] 754 00:33:16,240 --> 00:33:17,073 >> DAVID J Humala: Jah. 755 00:33:17,073 --> 00:33:20,820 Mis siis, kui loete nii kõrge, et sa ei suuda väljendada, et tõesti suur number. 756 00:33:20,820 --> 00:33:21,320 Õigus? 757 00:33:21,320 --> 00:33:23,910 Mingil hetkel, sa lähed ületada piire 758 00:33:23,910 --> 00:33:27,077 32-bitine väärtus või 64-bitine väärtus. 759 00:33:27,077 --> 00:33:29,410 Nüüd jälle, ma ei ole kindel, kuidas hääldada 64-bitine väärtus, 760 00:33:29,410 --> 00:33:32,230 aga ma tean, kus on 32-bitine täisarv, suurim väärtus võib olla, 761 00:33:32,230 --> 00:33:35,490 kas see on ainult positiivne väärtused, on umbes 4 miljardit. 762 00:33:35,490 --> 00:33:39,000 Nii et kui ma püüan loota, et 5 miljardit, midagi juhtub. 763 00:33:39,000 --> 00:33:41,050 Aga vaatame, mis tegelikult võib juhtuda. 764 00:33:41,050 --> 00:33:44,570 Tänapäeva maailmas täisarv ülevoolu, kus sa mõnes mõttes, 765 00:33:44,570 --> 00:33:48,270 ülevoolu andekuse täisarv, mis võib juhtuda? 766 00:33:48,270 --> 00:33:51,190 >> Nii et siin on binaarne number, see on Sarnasusi 0. 767 00:33:51,190 --> 00:33:54,630 See kõik on 1 s ja kohatäitjaid seal on volitused 2, 768 00:33:54,630 --> 00:33:55,980 nii et see on binaarne. 769 00:33:55,980 --> 00:33:59,416 Nii et need on 8, 1 bitti ekraanil. 770 00:33:59,416 --> 00:34:01,290 Ja kui te mäletate või teil kiiresti teha matemaatika, 771 00:34:01,290 --> 00:34:06,074 Mis väärtus on esindatud siin need kaheksa 1 bitti? 772 00:34:06,074 --> 00:34:06,950 255. 773 00:34:06,950 --> 00:34:09,260 Ja isegi kui sa ei ole päris kindel, Math, mida võiks teha seda läbi. 774 00:34:09,260 --> 00:34:10,550 Või võite lihtsalt selline mõistuse läbi, 775 00:34:10,550 --> 00:34:12,633 oota üks hetk, kui ma olen mis tähendab 8-bitine väärtus, 776 00:34:12,633 --> 00:34:17,750 ja mul on 256 võimalikku väärtust, kuid millest esimene on 0, 777 00:34:17,750 --> 00:34:19,909 Ma lihtsalt tean, et Suurim läheb 255, 778 00:34:19,909 --> 00:34:21,510 ja see ongi see võiks olla. 779 00:34:21,510 --> 00:34:26,060 >> Nii arvan ma püüan lisada 1 selle väärtust. 780 00:34:26,060 --> 00:34:28,750 Mida sa teeksid klassis Kooli lisamisel 1, ja see 781 00:34:28,750 --> 00:34:31,139 tegelikult ei sobi, sest sa pead kandma 1? 782 00:34:31,139 --> 00:34:34,380 Mis on see number läheb saada, kui lisate 1? 783 00:34:34,380 --> 00:34:37,030 See saab muutuda 0. 784 00:34:37,030 --> 00:34:37,530 Õigus? 785 00:34:37,530 --> 00:34:41,139 Sest kui sul oleks rohkem bits-- ja ma proovida, selline, kirjuta see välja siin-- 786 00:34:41,139 --> 00:34:44,710 kui meil oleks rohkem bitte, mida me võiks teha siin on lisada 1 787 00:34:44,710 --> 00:34:47,370 ja siis me tahaks saada seda. 788 00:34:47,370 --> 00:34:48,739 Oih. 789 00:34:48,739 --> 00:34:52,250 Tahame olla 1 bit kogu tee siia. 790 00:34:52,250 --> 00:34:55,530 >> Aga kui see on piiratud väärtus, see on ainult 8 bitti, 791 00:34:55,530 --> 00:34:57,480 ja mis on ette määratud arvutikasutaja poolt, 792 00:34:57,480 --> 00:34:59,370 et 1 on tõhusalt ole olemas. 793 00:34:59,370 --> 00:35:00,980 See lihtsalt selline kukub kaljult. 794 00:35:00,980 --> 00:35:05,480 Ja kui sa lisatakse 1 255, mida väärtust sa ilmselt saan? 795 00:35:05,480 --> 00:35:06,180 0. 796 00:35:06,180 --> 00:35:09,700 Ja nii numbreid kogemata, ja võib-olla tahtmatult 797 00:35:09,700 --> 00:35:12,040 lõpuks ümbriste ümber niimoodi. 798 00:35:12,040 --> 00:35:14,079 Mis võib olla tagajärjeks see on? 799 00:35:14,079 --> 00:35:15,620 Noh, seal on mõned erinevad asjad. 800 00:35:15,620 --> 00:35:18,751 Nii et üks, see lõpuks otsin nagu 0, tahtmatult, 801 00:35:18,751 --> 00:35:20,750 kuid võite sellist näha, isegi reaalses maailmas, 802 00:35:20,750 --> 00:35:23,416 paremaks või halvemaks, ilminguid selle idee piiri. 803 00:35:23,416 --> 00:35:26,630 Näiteks keegi teist, kes kunagi mänginud Lego Star Wars, 804 00:35:26,630 --> 00:35:28,880 Kas keegi juhtub teadma maksimaalne arv münte 805 00:35:28,880 --> 00:35:32,032 saate koguda Lego Star Wars? 806 00:35:32,032 --> 00:35:35,640 Võtke vist põhineb Tänapäeva juhtivad küsimused. 807 00:35:35,640 --> 00:35:39,140 See on suurem kui 256 või 255. 808 00:35:39,140 --> 00:35:40,330 See on 4 miljardit. 809 00:35:40,330 --> 00:35:42,080 Nii selgub, ja seal on mõned people-- 810 00:35:42,080 --> 00:35:46,080 mõned googling kinnitas eelmisel night-- on saanud 4 miljardit kuldmünte, 811 00:35:46,080 --> 00:35:47,730 või tühi-tähi, Lego Star Wars. 812 00:35:47,730 --> 00:35:49,860 Kuigi ilmselt pole viisil petta mängu, 813 00:35:49,860 --> 00:35:53,222 seal on bug või funktsioon, mis võimaldab teil lihtsalt koguneb palju, palju punkte. 814 00:35:53,222 --> 00:35:54,930 Aga suurima võimaliku hinna järgi 815 00:35:54,930 --> 00:35:58,360 Selle ekraanipildi keegi mul leida online, on tõepoolest 4 miljardit. 816 00:35:58,360 --> 00:35:59,240 >> Nüüd, miks see nii on? 817 00:35:59,240 --> 00:36:03,040 See on täpselt 4 miljardit, Ilmselt sellepärast, et keegi otsustas, 818 00:36:03,040 --> 00:36:05,500 kes kirjutas seda mängu, et nad võiksid teha 4 miljardit, 819 00:36:05,500 --> 00:36:07,340 midagi, midagi, midagi, nagu väärtus panin üles 820 00:36:07,340 --> 00:36:10,256 koos kalkulaatoriga varem, kuid see on lihtsalt veidi puhtam inimestele 821 00:36:10,256 --> 00:36:12,610 öelda maksimaalset arvu of coins-- või naastud, 822 00:36:12,610 --> 00:36:14,860 nagu nad kutsuvad them-- et sa koguda on 4 miljardit. 823 00:36:14,860 --> 00:36:16,290 Ja nii, miks see nii on? 824 00:36:16,290 --> 00:36:20,310 Kuidas on LEGO mängu rakendamise counter 825 00:36:20,310 --> 00:36:23,420 mis hoiab silma peal müntide arv teil on? 826 00:36:23,420 --> 00:36:24,266 Nad kasutavad mida? 827 00:36:24,266 --> 00:36:26,390 Pealtvaatajal: See lõpetab lugedes pärast 4 miljardit. 828 00:36:26,390 --> 00:36:27,720 DAVID J Humala: See lõpetab lugedes peale 4 miljardit 829 00:36:27,720 --> 00:36:29,525 mis tähendab, et saate järeldada, programmeerija, 830 00:36:29,525 --> 00:36:31,960 et nad ilmselt kasutades 32-bitine täisarv. 831 00:36:31,960 --> 00:36:35,380 Nagu programmeerija sõna otseses mõttes lihtsalt trükitud, int, tema koodi, 832 00:36:35,380 --> 00:36:39,620 ja see on tüüpi muutuja, mis nad kasutavad salvestada kellegi koodi. 833 00:36:39,620 --> 00:36:42,230 Nii et teiste ilmingud taoliste piirides. 834 00:36:42,230 --> 00:36:45,063 >> Nii et ma ei ole mänginud seda MÄNG_ ja ma lugesin üles ajaloo 835 00:36:45,063 --> 00:36:48,470 veendumaks much-- kuid originaalversiooni Civilization, kus 836 00:36:48,470 --> 00:36:53,240 sa ilmselt suhtlevad omavahel teiste ja võib sõda või rahu, 837 00:36:53,240 --> 00:36:56,590 Gandhi pidi olema üks kõige rahulikum märki, kui ma 838 00:36:56,590 --> 00:36:59,280 aru, esimeses versioon tsivilisatsiooni. 839 00:36:59,280 --> 00:37:03,250 Ja tegelikult skaalal 1 kuni 10, tema agressiivsus oli vaid 1. 840 00:37:03,250 --> 00:37:05,620 Nii kunagi nii kergelt agressiivne, ilmselt. 841 00:37:05,620 --> 00:37:11,590 >> Aga mingil hetkel, saate ilmselt paigaldada demokraatia oma geograafia. 842 00:37:11,590 --> 00:37:14,900 Ja kui sa paigaldada demokraatia oma versiooni mängu, 843 00:37:14,900 --> 00:37:17,320 siis oma agressiooni tase langeb. 844 00:37:17,320 --> 00:37:18,460 See on hea asi. 845 00:37:18,460 --> 00:37:20,890 Inimesed on vaikne ilmselt selles olukorras. 846 00:37:20,890 --> 00:37:23,190 Aga ilmselt keegi tegi ole, kui tingimus 847 00:37:23,190 --> 00:37:24,780 esialgse versiooni koodi. 848 00:37:24,780 --> 00:37:30,650 >> Nii Gandhi agressiooni tase langes positiivne 1, miinus 2, negatiivne 1, 849 00:37:30,650 --> 00:37:33,840 kuid mäng ei mõista negatiivseid numbreid. 850 00:37:33,840 --> 00:37:38,680 Mis juhtus oli see Gandhi agressioon tase langes 1, 0, negatiivne 1, 851 00:37:38,680 --> 00:37:40,900 mis oli toime ümbriste ümber on 852 00:37:40,900 --> 00:37:44,690 Kõige raskemas iseloomu mängus, väärtuses 255, 853 00:37:44,690 --> 00:37:46,630 skaalal 1 kuni 10. 854 00:37:46,630 --> 00:37:49,887 Ja sellest ajast saadik on olnud rohkem kehastused Selle mängu 855 00:37:49,887 --> 00:37:51,720 ja nad pidasin seda omamoodi lihavõttemuna, 856 00:37:51,720 --> 00:37:53,870 et Gandhi on ilmselt nii kohutavalt agressiivne. 857 00:37:53,870 --> 00:37:56,740 Aga see oli tingitud väga lihtne programmeerimine viga 858 00:37:56,740 --> 00:37:58,630 et väga varajane versioon mäng. 859 00:37:58,630 --> 00:38:02,860 >> Nüüd enam häirivalt rohkem Viimasel ajal on Boeing 787 860 00:38:02,860 --> 00:38:05,720 dokumenteeriti kellel on viga, ei ole selline seade 861 00:38:05,720 --> 00:38:07,340 mis sulle taha olla viga. 862 00:38:07,340 --> 00:38:10,130 Ja sümptomid, mis ma lugenud Siin on artikkel, online, 863 00:38:10,130 --> 00:38:13,840 oli see, mudel 787 lennukiga mis on powered pidevalt 864 00:38:13,840 --> 00:38:18,030 eest 248 päeva võid kaotada kõik vahelduvvool, AC, 865 00:38:18,030 --> 00:38:20,850 elektrivoolu tõttu generaatori juhtseadmed, 866 00:38:20,850 --> 00:38:23,330 GCUs, samaaegselt laskumist Fail-safe mode. 867 00:38:23,330 --> 00:38:26,790 Nii et see oli antud hoiatus Kui see probleem avastati. 868 00:38:26,790 --> 00:38:28,750 Haigust põhjustab poolt tarkvara counter, 869 00:38:28,750 --> 00:38:32,230 sisesed GCUs, nii täisarv või muutuv, 870 00:38:32,230 --> 00:38:36,850 mis ülevoolu pärast 248 päeva kestev väljundvõimsus. 871 00:38:36,850 --> 00:38:40,350 Boeing on protsessis arendada GCU tarkvara uuendada, et 872 00:38:40,350 --> 00:38:42,350 lahendab ohuolukord. 873 00:38:42,350 --> 00:38:44,226 >> Nii palju nagu rakett stsenaariumi, milles 874 00:38:44,226 --> 00:38:46,850 neil oli mingi muutuja et lootis, ja lugedes, 875 00:38:46,850 --> 00:38:50,720 ja lugedes, kuid tasapisi täis piirid oma võimete 876 00:38:50,720 --> 00:38:54,890 Samamoodi tegid kuradi lennuk muudetava ülevoolu 877 00:38:54,890 --> 00:38:56,410 pärast piisavalt aega töötab. 878 00:38:56,410 --> 00:38:59,240 Ja nii mittetõsine viis töötamise Selle probleemi 879 00:38:59,240 --> 00:39:04,400 on tõesti, reboot, oma lennuk iga 247 päeva, nii, et mälu saab pühkida 880 00:39:04,400 --> 00:39:06,100 ja muutuva ulatub 0. 881 00:39:06,100 --> 00:39:09,410 Aga taipavad, et see on väga suur kehastus tarkvara 882 00:39:09,410 --> 00:39:14,070 kuid eriti kuuleme Apple'i operatsioonisüsteemide lähevad autod, 883 00:39:14,070 --> 00:39:18,030 ja ise sõidavad autodega Google ja mis tahes arvu kehastused tarkvara 884 00:39:18,030 --> 00:39:21,000 meie igapäevaelus, TVs ja kellad, ja rohkem, 885 00:39:21,000 --> 00:39:24,950 aru, oli ümbritsetud tarkvara mis kõik on kirjutatud meile inimestele. 886 00:39:24,950 --> 00:39:28,150 >> Ja nagu me kõik varsti avastad, see on väga lihtne ja väga tüüpiline 887 00:39:28,150 --> 00:39:30,250 teha vigu, kui kirjutamise tarkvara. 888 00:39:30,250 --> 00:39:32,745 Ja kui sa ei saagi neid, halbu asju võib juhtuda. 889 00:39:32,745 --> 00:39:35,400 Nüüd mõnikord mõned naljakaid asju võib juhtuda, 890 00:39:35,400 --> 00:39:38,280 või vähemalt mõnikord me tean, et oodata mõned kurjus. 891 00:39:38,280 --> 00:39:41,550 Nii 0 jagatuna 0, st hinne koolis, on üldiselt halb. 892 00:39:41,550 --> 00:39:43,050 See on määratlemata. 893 00:39:43,050 --> 00:39:46,440 Ja selgub out-- ja vaatame, kui minu mic saab valida seda up-- et Apple 894 00:39:46,440 --> 00:39:47,790 olid mõned lõbus seda hiljuti. 895 00:39:47,790 --> 00:39:48,850 Nii et mul on iPhone siin. 896 00:39:48,850 --> 00:39:54,160 Ma lähen rääkida Siri ja küsida temalt mulle vastus 0 jagatuna 0. 897 00:39:54,160 --> 00:39:55,850 Milleks 0 jagatuna 0? 898 00:39:55,850 --> 00:39:59,350 899 00:39:59,350 --> 00:40:02,230 >> SIRI: Kujuta ette, et sul on 0 küpsised ja jagate neid ühtlaselt 900 00:40:02,230 --> 00:40:03,540 hulgast 0 sõpra. 901 00:40:03,540 --> 00:40:05,810 Mitu küpsiste iga inimene saada? 902 00:40:05,810 --> 00:40:06,350 Vaata? 903 00:40:06,350 --> 00:40:07,660 See ei ole loogiline. 904 00:40:07,660 --> 00:40:10,540 Ja Cookie Monster on kurb et ei ole küpsised. 905 00:40:10,540 --> 00:40:13,987 Ja sa oled kurb, et sa ei ole sõpru. 906 00:40:13,987 --> 00:40:15,570 DAVID J Humala: See on selline ebameeldiv. 907 00:40:15,570 --> 00:40:17,550 Nii et see on see, mida just ütlesin seal. 908 00:40:17,550 --> 00:40:21,380 See on ebamäärane, see ei ole määratletud, ja tõepoolest, palju programmeerimiskeeli 909 00:40:21,380 --> 00:40:24,950 või tõesti, koostajad hakkab avastada, kui teie programmis, 910 00:40:24,950 --> 00:40:27,050 proovida jagada 0 0. 911 00:40:27,050 --> 00:40:29,830 Lõbusam kui see aga on et ilmselt Cookie Monster 912 00:40:29,830 --> 00:40:31,270 on Twitter nendel päevadel. 913 00:40:31,270 --> 00:40:37,610 Ja ta vastas sellele, kellel seda, mis on täiesti jumalik. 914 00:40:37,610 --> 00:40:40,110 Aga võtame pilgu paar muud konstruktsioonid, 915 00:40:40,110 --> 00:40:43,459 ja siis panen selle koodi kasutada, heas viise. 916 00:40:43,459 --> 00:40:45,250 Nii selgub lisaks jaoks silmuseid, seal on 917 00:40:45,250 --> 00:40:49,174 midagi, mida nimetatakse samas loop, et näeb välja teistsugune ja rakendatakse 918 00:40:49,174 --> 00:40:51,590 natuke differently-- ja me lõpuks näha examples-- 919 00:40:51,590 --> 00:40:53,500 kuid mõnes mõttes, See on lihtsam, sest see 920 00:40:53,500 --> 00:40:56,670 ei lase sul initsialiseerida ja uuendada jooksul piiri loop. 921 00:40:56,670 --> 00:40:57,794 Saate siiski seda rakendada. 922 00:40:57,794 --> 00:41:01,219 Nii saab teha täpselt samu asju koos samas silmus, nagu jaoks silmus, 923 00:41:01,219 --> 00:41:03,260 kuid oma süntaks, ultimately-- kui jagame lõpuks 924 00:41:03,260 --> 00:41:04,551 see-- saab olema erinev. 925 00:41:04,551 --> 00:41:07,450 Seal on isegi teha, kui silmus, mis on tegelikult natuke erinev, 926 00:41:07,450 --> 00:41:09,640 et arvestades, et loop ja samas loop alati 927 00:41:09,640 --> 00:41:13,005 kontrollida oma seisundit esimene, kui Lugedes seda asja ülevalt alla, 928 00:41:13,005 --> 00:41:16,440 see selline välja näeb see läheb vaadake seda seisundit viimase, sest see on 929 00:41:16,440 --> 00:41:17,910 Tõeliselt viimase rida koodi. 930 00:41:17,910 --> 00:41:20,580 Ja tõepoolest, et see saab olema kasulik teatud programmid, mis me kirjutame, 931 00:41:20,580 --> 00:41:23,746 kui tahad lihtsalt pimesi midagi ja lõpuks seisundi kontrollimiseks. 932 00:41:23,746 --> 00:41:25,205 See ei ole tingimata halb asi. 933 00:41:25,205 --> 00:41:27,912 Kui me tahame, muutujad, mida me teha saame see paar erinevalt. 934 00:41:27,912 --> 00:41:30,290 Ja me nägime fokstrott koomiks, üks viis seda teha, 935 00:41:30,290 --> 00:41:33,400 kus sa kuulutada oma muutuja, nagu int counter semikooloniga 936 00:41:33,400 --> 00:41:36,570 ja siis later-- võibolla järgmine line, võibolla 10 rida later-- 937 00:41:36,570 --> 00:41:37,800 sa tegelikult initsialiseerida ta. 938 00:41:37,800 --> 00:41:42,230 Nii et need 2 rida koodi Kinnitan tüüpi muutuja int 939 00:41:42,230 --> 00:41:44,930 ja nimetame seda counter, nii et see annab mulle piisavalt bitti korraldada int. 940 00:41:44,930 --> 00:41:48,230 Ja siis lõpuks, see paneb väärtus 0 arvesse, et muutuvat. 941 00:41:48,230 --> 00:41:51,250 See korraldab 0 s ja 1 s on muster, et me teame, eelmisel nädalal, 942 00:41:51,250 --> 00:41:53,260 tähistab number teame kui 0. 943 00:41:53,260 --> 00:41:56,920 Või ausalt, seda saab teha palju rohkem tabavalt, just niimoodi. 944 00:41:56,920 --> 00:41:59,390 >> Nüüd on meil ka võime helistada funktsioone. 945 00:41:59,390 --> 00:42:03,070 Ja tegelikult, siin on 2 rida programmi või väljavõte sellest, 946 00:42:03,070 --> 00:42:06,157 mis võimaldab meil tegelikult kirjutada mingi kood, mis 947 00:42:06,157 --> 00:42:08,990 saab stringi user-- palju nagu meie vabatahtlike hetk ago-- 948 00:42:08,990 --> 00:42:11,320 salvestades tulemus muutuja nimega nime, 949 00:42:11,320 --> 00:42:15,470 ja then-- meelega meie vabatahtlike koos printf-- trükib need väärtused 950 00:42:15,470 --> 00:42:19,180 läbides kaks argumenti, siis string, millele järgneb muutuja 951 00:42:19,180 --> 00:42:20,781 nimetatakse, nimi, ise. 952 00:42:20,781 --> 00:42:23,155 Võtame pilk, enne me tuleme tagasi Mario seal, 953 00:42:23,155 --> 00:42:26,010 at paar nüüd, näited. 954 00:42:26,010 --> 00:42:30,537 >> Ma lähen edasi minna ja avatud up, oletame, funktsioon-0.c. 955 00:42:30,537 --> 00:42:33,120 Ja nagu alati, see kood on kättesaadavad käigus kodulehel 956 00:42:33,120 --> 00:42:35,660 nii et saate mängida koos kell Kodu ja vaadata seda hiljem. 957 00:42:35,660 --> 00:42:40,400 Aga siin on programm see on Sisuliselt on line 17 kuni 22. 958 00:42:40,400 --> 00:42:43,270 Põhiprogrammi on koht, kus Programm on alati saab alustada. 959 00:42:43,270 --> 00:42:46,980 See programm, ilmselt läheb välja printida oma nimi, koolon. 960 00:42:46,980 --> 00:42:50,320 See on siis läheb kõne getString, nagu tegime meie vabatahtlikud. 961 00:42:50,320 --> 00:42:53,365 Ja siis see on huvitav, see saab helistada PrintName. 962 00:42:53,365 --> 00:42:56,490 Selgub, kõik see aeg, et Tundub, et funktsioon nimega PrintName. 963 00:42:56,490 --> 00:42:57,614 See prindib kellegi nime. 964 00:42:57,614 --> 00:43:01,210 Me ei pea kasutama printf alates Läinud, seal on PrintName. 965 00:43:01,210 --> 00:43:03,500 >> Aga see on eksitav sest PrintName ei 966 00:43:03,500 --> 00:43:06,760 tulla C. inimesed ei leiutada see umbes 40 või 50 aastat tagasi, 967 00:43:06,760 --> 00:43:07,990 Ma tegin selle asemel. 968 00:43:07,990 --> 00:43:10,330 Ja tegelikult, kui ma liikuda sätestatakse täiendavad, teate 969 00:43:10,330 --> 00:43:14,200 kuidas ma saan kirjutada oma funktsioonid C. Saadame lõpuks 970 00:43:14,200 --> 00:43:16,319 miks me ütleme, void, paaris kohas, 971 00:43:16,319 --> 00:43:18,110 kuid täna, olgem lihtsalt pilk nimi. 972 00:43:18,110 --> 00:43:20,905 >> On line 24, kui soovite luua oma funktsiooni, 973 00:43:20,905 --> 00:43:22,780 sa sõna otseses mõttes kirjutada funktsiooni nimi. 974 00:43:22,780 --> 00:43:24,340 Valisin PrintName. 975 00:43:24,340 --> 00:43:26,159 Sulgudes, siis siis täpsustada, milliseid 976 00:43:26,159 --> 00:43:28,450 sisendite ja kui palju sa tahan seda funktsiooni kasutada. 977 00:43:28,450 --> 00:43:31,906 Sel juhul ma tahan võtta 1 muutuja nimega, nimi, 978 00:43:31,906 --> 00:43:34,030 ja see saab olema tüübist, jada, nii see läheb 979 00:43:34,030 --> 00:43:35,780 olema mingi tähemärkide jada. 980 00:43:35,780 --> 00:43:39,170 Ja siis see program-- palju nagu Scratch, 981 00:43:39,170 --> 00:43:42,590 sul võib olla kohandatud puzzle pieces-- läheb on see komme käitumist. 982 00:43:42,590 --> 00:43:46,760 See saab helistada printf möödaminnes, hello, kohatäide, 983 00:43:46,760 --> 00:43:49,110 ja siis läheb pistik mis tahes kasutaja nimega. 984 00:43:49,110 --> 00:43:51,450 >> Nii et see on näide sellest, mida arvuti teadlane oleks 985 00:43:51,450 --> 00:43:55,090 kõne võtmiseks või funktsionaalsete lagunemine, mis on vaid 986 00:43:55,090 --> 00:43:58,110 fancy viise saying-- Kas siis, kui teile meeldib see suur idee, 987 00:43:58,110 --> 00:44:01,569 nagu ma tahan funktsionaalsus, mis prindib kellegi nime, absoluutselt sa 988 00:44:01,569 --> 00:44:04,360 võib sõna otseses mõttes kirjutada printf ja seejärel pass argumendid soovite, 989 00:44:04,360 --> 00:44:07,340 ja programm töötab, nagu ta on, sest kolmapäeval. 990 00:44:07,340 --> 00:44:10,510 Aga te võite abstraktne ära mõiste printimise nimi. 991 00:44:10,510 --> 00:44:13,270 Võite anda talle nimi, nagu PrintName ja selle 992 00:44:13,270 --> 00:44:15,280 on see idee kihilisus nädalast 0. 993 00:44:15,280 --> 00:44:19,910 >> Edaspidi ma ja sa ei pea teadma või hooli, kuidas PrintName rakendatakse. 994 00:44:19,910 --> 00:44:22,470 Jah, see kasutab printf, äkki see ei, kes teab, mida kasutab? 995 00:44:22,470 --> 00:44:23,410 Keda huvitab? 996 00:44:23,410 --> 00:44:26,034 Nüüd ma räägin siin, selle asemel, et siin. 997 00:44:26,034 --> 00:44:28,700 Ja tõepoolest, nagu meie programme saada rohkem arenenud ja keerukas, 998 00:44:28,700 --> 00:44:32,550 me ei kavatse hoida võttes iseenesestmõistetavana Madalama astme puzzle tükki olemas. 999 00:44:32,550 --> 00:44:34,780 Kuna me kirjutasime neid või keegi teine ​​tegi nii 1000 00:44:34,780 --> 00:44:36,910 et siis saame ehitada peal neid. 1001 00:44:36,910 --> 00:44:39,430 Võtame pilk selle variant, toimivad ühe. 1002 00:44:39,430 --> 00:44:41,780 >> Nii et see üks on natuke rohkem arenenud, kuid selgub, 1003 00:44:41,780 --> 00:44:44,570 et CS50 raamatukogu, seal on ainult GetInt funktsiooni. 1004 00:44:44,570 --> 00:44:47,720 Me ei usu, aastaid tagasi, et rakendada GetPositiveInt funktsiooni. 1005 00:44:47,720 --> 00:44:50,970 Ja see on natuke tüütu, sest kui kutid kirjutamise programm, kus 1006 00:44:50,970 --> 00:44:53,325 soovite saada positiivne täisarv kasutaja, 1007 00:44:53,325 --> 00:44:55,010 saab absoluutselt kasutada GetInt. 1008 00:44:55,010 --> 00:44:57,840 Ja sa võid absoluutselt kontrollida seisundi ja võibolla loop 1009 00:44:57,840 --> 00:45:00,320 kui see int on suurem kui 0 ja kisa kasutaja 1010 00:45:00,320 --> 00:45:02,699 kui ta ei anna Teile positiivne arv. 1011 00:45:02,699 --> 00:45:04,740 Aga olgem ehitada Ehituskivid ise, a, 1012 00:45:04,740 --> 00:45:06,555 custom Scratch tükk, kui soovite. 1013 00:45:06,555 --> 00:45:08,680 Ma lähen programmi siin et lõpuks ma 1014 00:45:08,680 --> 00:45:11,780 tahad olla võimalik helistada GetPositiveInt, ja ma tahan olla 1015 00:45:11,780 --> 00:45:14,200 võimalik välja trükkida mida iganes, et int on. 1016 00:45:14,200 --> 00:45:16,240 Aga see on ammutatud ära nüüd. 1017 00:45:16,240 --> 00:45:19,050 See on lihtsalt antud kõrge nimi, mis ütleb, mida ta teeb, 1018 00:45:19,050 --> 00:45:21,780 mis on suurepärane, sest see on väga intuitiivne nüüd lugeda. 1019 00:45:21,780 --> 00:45:24,710 Ja kui ma huvita, mida on all kapuuts, lase mind keri. 1020 00:45:24,710 --> 00:45:27,140 Ja see on natuke hirmutav Esimesel, eriti 1021 00:45:27,140 --> 00:45:29,470 Kui see on Sinu esimene programm, kuid olgem heita. 1022 00:45:29,470 --> 00:45:32,860 >> Ma enam ei öelda, tühine, sest selgub funktsioone, 1023 00:45:32,860 --> 00:45:34,777 meelega getString, saab tagastab väärtuse mulle. 1024 00:45:34,777 --> 00:45:36,610 Nad ei ole lihtsalt printida ekraanil, 1025 00:45:36,610 --> 00:45:38,410 nad saavad tegelikult kätte mulle midagi tagasi. 1026 00:45:38,410 --> 00:45:41,535 Ja arvestades, et enne PrintName, Ma ei pea midagi tagasi. 1027 00:45:41,535 --> 00:45:44,160 Mul oli vaja kõrvaltoime midagi ilmumise ekraanile, 1028 00:45:44,160 --> 00:45:46,570 kuid ma ei pea inimene anda mulle midagi tagasi. 1029 00:45:46,570 --> 00:45:48,840 Siin, kus GetPositiveInt, Nagu GetInt, 1030 00:45:48,840 --> 00:45:50,640 Ma tahan, et antakse midagi tagasi. 1031 00:45:50,640 --> 00:45:53,220 Nii ma räägin ei ole, tühine, real 23, kuid int, 1032 00:45:53,220 --> 00:45:55,570 mis ütleb, see funktsioon et ma kirjutan, 1033 00:45:55,570 --> 00:45:58,860 nimetatakse GetPositiveInt läheb anda mulle tagasi täisarv, mitte midagi, 1034 00:45:58,860 --> 00:45:59,890 ei tühine. 1035 00:45:59,890 --> 00:46:03,280 >> Vahepeal, see läheb ei võta sisendeid, nii et ma olen, selline, pöördus ta. 1036 00:46:03,280 --> 00:46:08,280 Ma ei anna GetPositiveInt tahes sisend, ma tahan, et see annab mulle oma toodangut. 1037 00:46:08,280 --> 00:46:09,800 Ja mis siis juhtub nüüd? 1038 00:46:09,800 --> 00:46:11,640 Nii et siin on, kuidas ma saan kuulutada muutuja. 1039 00:46:11,640 --> 00:46:15,090 Ma olen seda teinud väljaspool loop, põhjustel me lõpuks näha, 1040 00:46:15,090 --> 00:46:17,700 aga see lihtsalt annab mulle 32 bitti nimetatakse, n, 1041 00:46:17,700 --> 00:46:20,952 Ja ma olen eelnevalt kindlaks neid säilitada täisarv. 1042 00:46:20,952 --> 00:46:23,660 Ja siin, et teha samal ajal ehitada, ja see on põhjus, miks see on kasulik. 1043 00:46:23,660 --> 00:46:26,700 Sõna-sõnalt seda, samas n on väiksem kui 1. 1044 00:46:26,700 --> 00:46:28,030 Vaatame, mis juhtub. 1045 00:46:28,030 --> 00:46:30,760 Ma välja printida, siis mulle positiivse int. 1046 00:46:30,760 --> 00:46:34,300 Siis ma saan int, kasutades CS50 on toimida ja salvestatud n. 1047 00:46:34,300 --> 00:46:38,990 >> Ja siis, mida koodirida ilmselt saab teostada järgmise loogiliselt? 1048 00:46:38,990 --> 00:46:41,890 Milline line number? 1049 00:46:41,890 --> 00:46:42,571 Jah, nii 31. 1050 00:46:42,571 --> 00:46:45,320 Sa ei tea seda enne, kui olete öeldud või mingi järeldada seda, 1051 00:46:45,320 --> 00:46:45,986 kuid see on tõsi. 1052 00:46:45,986 --> 00:46:48,280 See läheb ülevalt alla ja siis aina kordab. 1053 00:46:48,280 --> 00:46:55,840 Nii et kui ma pannud, ütleme, number negatiivseid 1, on n vähem kui negatiivseid 1? 1054 00:46:55,840 --> 00:46:56,340 Jah. 1055 00:46:56,340 --> 00:46:58,470 Kuna negatiivse 1 on väiksem kui 1. 1056 00:46:58,470 --> 00:46:59,510 Mis peaks juhtuma? 1057 00:46:59,510 --> 00:47:03,260 Ma lähen tegema seda samas n on väiksem kui 1, 1058 00:47:03,260 --> 00:47:05,760 nii et ma lähen tagasi line 28. 1059 00:47:05,760 --> 00:47:09,530 >> Ja iga AEG_ ja olgem joosta see-- Funktsiooni 1 kompileerida, 1060 00:47:09,530 --> 00:47:11,340 ja nüüd dot kaldkriips funktsiooni 1. 1061 00:47:11,340 --> 00:47:14,280 Kui ma kirjutada negatiivne 1, see on läheb hoida karjuma mind 1062 00:47:14,280 --> 00:47:17,530 kuni ma tegema, sest iga minu sisendid on väiksem kui 1 1063 00:47:17,530 --> 00:47:20,070 ja kui see on samas väiksem kui 1, Ma lähen, et hoida seda tegema. 1064 00:47:20,070 --> 00:47:24,240 Kui ma lõpuks, et see on number nagu 50, õnneks ta ütleb, aitäh 50. 1065 00:47:24,240 --> 00:47:24,970 Miks? 1066 00:47:24,970 --> 00:47:30,640 Kuna kiiresti n ei ole väiksem kui 1 Ma lõpetate jäädagi see silmus, 1067 00:47:30,640 --> 00:47:33,840 ja see uus märksõna täna Vastutasuks sõna otseses mõttes ei tee seda. 1068 00:47:33,840 --> 00:47:36,800 Nii et ma olen lihtsalt ellu, on mõttes samaväärne getString, 1069 00:47:36,800 --> 00:47:40,590 kus ma jagab tagasi kes kasutab mind, mingi väärtus. 1070 00:47:40,590 --> 00:47:42,820 See ei pea olema string, see on int. 1071 00:47:42,820 --> 00:47:44,990 Nii lihtne, kiire Näiteks, aga me varsti 1072 00:47:44,990 --> 00:47:47,930 vaata mõned keerukamad versioone veel. 1073 00:47:47,930 --> 00:47:53,882 Tegelikult võtame pilk numbriline üks, mida nimetatakse return.c. 1074 00:47:53,882 --> 00:47:55,590 Ja see on tegelikult vähe lihtsam. 1075 00:47:55,590 --> 00:47:59,010 Nii et see Programmi eesmärk on life-- olgem koostada ja kasutada seda, 1076 00:47:59,010 --> 00:48:03,090 nii et tagasipöördumine, dot slash, return-- teate 1077 00:48:03,090 --> 00:48:05,530 programmi lihtsalt kuubikuteks väärtus 2. 1078 00:48:05,530 --> 00:48:08,410 See on päris loll, see on raske kood, see ei võta mingeid sisendeid, 1079 00:48:08,410 --> 00:48:12,220 kuid see ei näidata teise funktsiooni, et olen kirjutanud ise. 1080 00:48:12,220 --> 00:48:15,760 Nii et siin ma olen kuulutanud muutuja, mida nimetatakse x, tüüpi int, 1081 00:48:15,760 --> 00:48:17,840 võrdne arv 2, täiesti meelevaldne. 1082 00:48:17,840 --> 00:48:19,530 See on vaid mõned kohev trükkimine. 1083 00:48:19,530 --> 00:48:23,070 Ta ütleb, x on nüüd selline ja selline, cubing dot dot dot. 1084 00:48:23,070 --> 00:48:26,390 Ja maagia on ilmselt line 21. 1085 00:48:26,390 --> 00:48:30,120 Ma helistan funktsioon nimega, kuup, Ma jagab ta paberilehe 1086 00:48:30,120 --> 00:48:32,890 arvuga 2 kirjutatud, ja mis väärtuses, matemaatiliselt, 1087 00:48:32,890 --> 00:48:34,860 ma tahan saada välja? 1088 00:48:34,860 --> 00:48:36,570 Just nagu meelerahu vaadata? 1089 00:48:36,570 --> 00:48:37,070 8. 1090 00:48:37,070 --> 00:48:37,570 Õigus? 1091 00:48:37,570 --> 00:48:40,160 Ma tahan 2 kuubis, tagasi, 2 võimsus 3, nii et 8 tagasi. 1092 00:48:40,160 --> 00:48:42,570 >> Nii et kui on kuubik rakendada? 1093 00:48:42,570 --> 00:48:44,349 Noh, pane seda on rakendatud siin. 1094 00:48:44,349 --> 00:48:47,140 Ja nagu enne, loogiliselt, kuigi süntaks on ilmselt 1095 00:48:47,140 --> 00:48:49,320 väga uus paljud teist, Ma tahan seda funktsiooni 1096 00:48:49,320 --> 00:48:51,780 anda mulle tagasi lehte paberile int ta. 1097 00:48:51,780 --> 00:48:53,990 Nii et mul on int, siis nimi on meelevaldselt, 1098 00:48:53,990 --> 00:48:55,530 kuid mugavalt nimega kuup. 1099 00:48:55,530 --> 00:48:58,430 Sisend see on n kirjuta täisarv, nii et see 1100 00:48:58,430 --> 00:49:00,800 kuidas ma saan edasi arv 2 paberileht. 1101 00:49:00,800 --> 00:49:03,910 Ja siis selgub, C toed matemaatika, nii et sa ei pea X jaoks korda, 1102 00:49:03,910 --> 00:49:06,680 sa lihtsalt kasutada tärniga paljundamiseks. 1103 00:49:06,680 --> 00:49:11,070 Ja see tagasi n korda n korda n, mis on lihtsalt kuubis väärtus. 1104 00:49:11,070 --> 00:49:12,840 >> Nii et kui me tahame kogu seda? 1105 00:49:12,840 --> 00:49:14,570 See on kindlasti keeristorm tour, kindel, 1106 00:49:14,570 --> 00:49:16,410 et super lõigud ja probleem seatud 1, 1107 00:49:16,410 --> 00:49:18,368 saate kõndinud kõik see veelgi. 1108 00:49:18,368 --> 00:49:22,490 Ja probleem seatud 1, me üleminek alates graafilise maailma Scratch 1109 00:49:22,490 --> 00:49:25,640 midagi enamat käsurea C. Aga me innustust 1110 00:49:25,640 --> 00:49:27,680 sellest siin mängus alates Läinud, kus 1111 00:49:27,680 --> 00:49:31,591 kasutades C ja standard väljaanne p komplekti saate rakendada Mario püramiidi. 1112 00:49:31,591 --> 00:49:34,340 Ja häkker väljaanne p komplekti, kui sa nii valida, valib, 1113 00:49:34,340 --> 00:49:38,280 siis ellu natuke rohkem väljakutset püramiidi kaks tippu. 1114 00:49:38,280 --> 00:49:41,239 Samuti saate rakendada algoritm, ahne algoritm. 1115 00:49:41,239 --> 00:49:43,030 Selgub, et tema mõned huvitavad loogika 1116 00:49:43,030 --> 00:49:45,640 taga protsess töötab kassast jaama 1117 00:49:45,640 --> 00:49:47,410 ja tegelikult jagab keegi tagasi muutus. 1118 00:49:47,410 --> 00:49:50,410 Seal on algoritm, mis on üsna lihtne, et sa võiksid isegi 1119 00:49:50,410 --> 00:49:53,576 haarata intuitiivselt, kui te esimest korda lugeda see-- aru, et see, mida ma olen alati 1120 00:49:53,576 --> 00:49:57,110 teha igal ajal olen andnud keegi mõnda raha back-- mis võimaldab teil alati 1121 00:49:57,110 --> 00:50:00,679 arvu vähendamiseks paberraha või metallist münte 1122 00:50:00,679 --> 00:50:02,220 et sa Usaldades kasutaja. 1123 00:50:02,220 --> 00:50:04,610 Ja see muidugi on kaalukad sest kui sa lähed CVS või tühi-tähi, 1124 00:50:04,610 --> 00:50:06,430 sa ei taha olla käega terve hulk neist 1125 00:50:06,430 --> 00:50:07,596 või terve hulk penni. 1126 00:50:07,596 --> 00:50:10,120 Sa tahad kõige vähem münte ilmselt võimalik. 1127 00:50:10,120 --> 00:50:13,070 >> Lõpuks, võite ka vaidlustada võõpama maailmas vett 1128 00:50:13,070 --> 00:50:17,220 ja tegelikult saada tunnustust jaoks kaardistamise vahel voolukulu, 1129 00:50:17,220 --> 00:50:19,890 ja meeldib, vee dušš, kui palju vett. 1130 00:50:19,890 --> 00:50:22,640 Ja vihje selles, on see klipp siin 1131 00:50:22,640 --> 00:50:24,840 mis me lõpeb eest vaid 60 sekundit, et 1132 00:50:24,840 --> 00:50:29,070 maalib pildi madala voolu duši. 1133 00:50:29,070 --> 00:50:30,886 >> [Video taasesitus] 1134 00:50:30,886 --> 00:50:31,385 -Hästi. 1135 00:50:31,385 --> 00:50:32,774 Ma sain siin kõik. 1136 00:50:32,774 --> 00:50:35,800 Sain Cyclone F seeria Hydra, Jetflow, Stockholm 1137 00:50:35,800 --> 00:50:37,660 Supersteam, siis nime. 1138 00:50:37,660 --> 00:50:39,265 >> -Ja Mida te soovitate? 1139 00:50:39,265 --> 00:50:40,460 >> -Mida sa otsid? 1140 00:50:40,460 --> 00:50:41,300 >> Power mees. 1141 00:50:41,300 --> 00:50:42,285 Võimsus. 1142 00:50:42,285 --> 00:50:42,910 -Näiteks Silkwoodi. 1143 00:50:42,910 --> 00:50:44,520 -See Eest kiirgust. 1144 00:50:44,520 --> 00:50:46,335 -See On õige. 1145 00:50:46,335 --> 00:50:48,275 -Now Mis see on? 1146 00:50:48,275 --> 00:50:49,704 -See On Commando 450. 1147 00:50:49,704 --> 00:50:50,620 Ma ei müü seda. 1148 00:50:50,620 --> 00:50:51,700 >> -Aga See on, mida me tahame. 1149 00:50:51,700 --> 00:50:52,680 See on komando 450. 1150 00:50:52,680 --> 00:50:53,882 >> -Ei Usu mind. 1151 00:50:53,882 --> 00:50:55,090 See on ainult kasutatud tsirkus. 1152 00:50:55,090 --> 00:50:56,512 See on elevandid. 1153 00:50:56,512 --> 00:50:59,356 >> -Ma Midagi maksma. 1154 00:50:59,356 --> 00:51:01,252 >> -Mis Umbes Jerry? 1155 00:51:01,252 --> 00:51:02,760 >> -Ta Ei suutnud seda. 1156 00:51:02,760 --> 00:51:04,910 Ta on õrn. 1157 00:51:04,910 --> 00:51:05,750 Oo jaa. 1158 00:51:05,750 --> 00:51:36,737 1159 00:51:36,737 --> 00:51:37,320 [Taasesituse lõpetamiseks] 1160 00:51:37,320 --> 00:51:37,700 DAVID J Humala: Okei. 1161 00:51:37,700 --> 00:51:38,820 Ongi Kui CS50. 1162 00:51:38,820 --> 00:51:40,050 Näeme järgmisel nädalal. 1163 00:51:40,050 --> 00:51:45,910 1164 00:51:45,910 --> 00:51:49,029 >> SPEAKER 1: [? Scully?], [? Ian,?] niipalju kui see outro projekti, 1165 00:51:49,029 --> 00:51:50,362 Mis on kutid tulla? 1166 00:51:50,362 --> 00:51:51,990 >> SPEAKER 2: Noh, me oleme andnud see erinevaid mõte, 1167 00:51:51,990 --> 00:51:53,250 ja me arvame, et parim viis mina-- 1168 00:51:53,250 --> 00:51:53,660 >> SPEAKER 3: Kas ma tohin? 1169 00:51:53,660 --> 00:51:54,326 >> SPEAKER 2: Jah. 1170 00:51:54,326 --> 00:51:56,360 Kõigi vahenditega, tegelikult. 1171 00:51:56,360 --> 00:51:59,425 >> SPEAKER 3: Ma arvan, saame kokku võtta meie idee 1172 00:51:59,425 --> 00:52:05,450 jaoks outros ühe word-- midagi. 1173 00:52:05,450 --> 00:52:08,950 1174 00:52:08,950 --> 00:52:10,409 >> DAVID J Humala: Nothing? 1175 00:52:10,409 --> 00:52:11,200 SPEAKER 3: Mitte midagi. 1176 00:52:11,200 --> 00:52:12,990 DAVID J Humala: Mida see tähendab? 1177 00:52:12,990 --> 00:52:16,260 SPEAKER 3: outros on umbes midagi. 1178 00:52:16,260 --> 00:52:21,720 SPEAKER 2: Noh, ma mõtlen, filosoofia, Ma mõtlen, et midagi on alati midagi. 1179 00:52:21,720 --> 00:52:24,200 SPEAKER 1: Nii what's-- Milline on eeldus? 1180 00:52:24,200 --> 00:52:25,720 SPEAKER 3: Nii et see on nagu elu. 1181 00:52:25,720 --> 00:52:26,680 OKEI. 1182 00:52:26,680 --> 00:52:28,294 Mida sa täna tegid? 1183 00:52:28,294 --> 00:52:31,811 >> DAVID J Humala: ma tõusin, oli hommiku- ja asus tööle. 1184 00:52:31,811 --> 00:52:34,056 >> SPEAKER 3: Ongi outro. 1185 00:52:34,056 --> 00:52:36,806 SPEAKER 2: Aga ma mõtlen, ei tohiks midagi juhtub temaga the-- 1186 00:52:36,806 --> 00:52:37,889 SPEAKER 3: Ei, ei, ei, ei. 1187 00:52:37,889 --> 00:52:40,220 Midagi ei juhtu. 1188 00:52:40,220 --> 00:52:42,910 >> SPEAKER 1: Miks me vaadates? 1189 00:52:42,910 --> 00:52:46,956 >> SPEAKER 3: Kuna see on outro eest CS50. 1190 00:52:46,956 --> 00:52:48,652 >> DAVID J Humala: Pole veel. 1191 00:52:48,652 --> 00:52:49,151