1 00:00:07,590 --> 00:00:09,920 [Powered by Google Translate] David J. Malan: Gerai, tai yra CS50, ir tai yra 2 00:00:09,920 --> 00:00:15,250 baigti 1 savaitę, todėl studijų kortelės ir iš viso 3 00:00:15,250 --> 00:00:18,640 klasiokai, kad jūs turite šiemet yra 745. 4 00:00:18,640 --> 00:00:20,920 Ir mes taip malonu, kad tiek daug jūsų kurso 5 00:00:20,920 --> 00:00:23,680 šį semestrą, bet nors šis kursas yra toks didelis, 6 00:00:23,680 --> 00:00:26,090 suprasti, kad tai šių dalykų, pavyzdžiui, penktadienis pietūs, pavyzdžiui, 7 00:00:26,090 --> 00:00:29,020 darbo laikas, 15-asmens profiliai, ir taip toliau, kad 8 00:00:29,020 --> 00:00:30,590 iš tikrųjų reiškia sukurti šį intymesnis 9 00:00:30,590 --> 00:00:31,140 aplinka. 10 00:00:31,140 --> 00:00:34,070 Taigi, nors mes galime rinkti vieną ar du kartus per savaitę, čia 11 00:00:34,070 --> 00:00:36,420 Šlifuokliai, žinau, kad daug nuo jūsų patirties šiame kurse 12 00:00:36,420 --> 00:00:39,330 labai hands-on, kartu iš jūsų klasiokų 13 00:00:39,330 --> 00:00:40,730 ir pedagogus. 14 00:00:40,730 --> 00:00:43,960 >> Taigi čia mes einame, Fall 2012. 15 00:00:43,960 --> 00:00:47,530 Taigi prisiminti, kad paskutinį kartą, mes galų pastaboje 16 00:00:47,530 --> 00:00:50,460 netikslumų, kalbėti apie atstovavimo skaičių. 17 00:00:50,460 --> 00:00:52,950 Ir mes pažvelgė į vieną iš nesėkmių, kad atsitiko, 18 00:00:52,950 --> 00:00:54,920 realiame pasaulyje, kai ji atėjo į nesusipratimas 19 00:00:54,920 --> 00:00:55,890 kaip kompiuterių darbą. 20 00:00:55,890 --> 00:00:58,590 Na, šiandien mes bus peržiūrėti vieną kitą tų idėjų 21 00:00:58,590 --> 00:01:01,410 pat tęsti mūsų diskusiją CS50 klientui 22 00:01:01,410 --> 00:01:04,090 ir C ir ką tai reiškia tikrai programa. 23 00:01:04,090 --> 00:01:06,430 Bet pirmiausia, tik pora viesulu pranešimų. 24 00:01:06,430 --> 00:01:08,930 >> Skyriai prasidės šį sekmadienį, pirmąją savaitę visada 25 00:01:08,930 --> 00:01:11,030 tiek greitai pradžios, nes mes tiesiog pateko į 26 00:01:11,030 --> 00:01:12,620 skiltį formos. 27 00:01:12,620 --> 00:01:14,450 , Ką mes darome tą patį, dabar, su mokymo bičiulių dabar 28 00:01:14,450 --> 00:01:16,410 kad jie žino savo tvarkaraščius, todėl mes siekiame, 29 00:01:16,410 --> 00:01:19,380 Šeštadienio rytą, imtis tolesnių su jumis, su jūsų skyriuje 30 00:01:19,380 --> 00:01:20,760 perleidimas ir TF. 31 00:01:20,760 --> 00:01:22,770 Suprantu, kad jie bus pradėti kitą dieną, sekmadienį 32 00:01:22,770 --> 00:01:24,510 arba pirmadienį ir antradienį. 33 00:01:24,510 --> 00:01:27,730 Ir tada mes prisitaikyti prie skyriaus pakeitimus, kaip jie atsiranda 34 00:01:27,730 --> 00:01:28,690 per keletą dienų į priekį. 35 00:01:28,690 --> 00:01:31,590 Darbo valandos, tuo tarpu, yra, vėl, šį vakarą, 8 iki 11, 36 00:01:31,590 --> 00:01:33,740 Annenberg, taip pat rytoj vakare. 37 00:01:33,740 --> 00:01:36,150 Net jei problema rinkiniai yra paprastai dėl ketvirtadieniais 38 00:01:36,150 --> 00:01:39,020 vidurdienį, suprantame, turite pastaruosius penkerius dienas praleisti, 39 00:01:39,020 --> 00:01:42,430 taigi ir ketvirtadieniais darbo valandomis prieinamumas jei 40 00:01:42,430 --> 00:01:45,930 tiems, vėlai dienų grynųjų pinigų ir tuo pačiu pateikti 41 00:01:45,930 --> 00:01:47,070 kažkas penktadienį. 42 00:01:47,070 --> 00:01:50,850 Leiskite man pasiūlyti, kad nulio yra vienas iš labiausiai įdomus, tarp 43 00:01:50,850 --> 00:01:52,390 Low Key problema rinkiniai. 44 00:01:52,390 --> 00:01:55,160 Ir aš norėčiau pakabinti ant tiems, vėlai dienų, strategiškai, tiesiog 45 00:01:55,160 --> 00:01:57,380 vėliau į tą semestrą, kai gyvenimas pradeda gauti į kelią 46 00:01:57,380 --> 00:01:59,470 kontrolinius ir kitų klasių. 47 00:01:59,470 --> 00:02:01,580 Problema Set 1, tuo tarpu, bus paskelbtas kursas 48 00:02:01,580 --> 00:02:06,080 svetainė šį penktadienį, kaip bus kurso pėsčiomis 49 00:02:06,080 --> 00:02:08,789 tiesioginio vaizdo, kuris bus nufilmuotas 2:30 PM penktadienį 50 00:02:08,789 --> 00:02:11,890 ir paskelbtas internete jau kitą dieną. 51 00:02:11,890 --> 00:02:13,880 >> Taigi, mes baigėsi pirmadienį. 52 00:02:13,880 --> 00:02:15,450 Noriu - iš tikrųjų, čia atkreipsime dėmesį. 53 00:02:15,450 --> 00:02:18,870 Kadangi klasės - nes Sanders nėra tiksliai skolinti 54 00:02:18,870 --> 00:02:22,220 pats atsitiktinis Q & A Atgal ir pirmyn siaubingai gerai, mes 55 00:02:22,220 --> 00:02:24,030 ketinate pabandyti kažką šiek tiek naujo šiais metais, kuriuo 56 00:02:24,030 --> 00:02:26,160 jei nesate patogiai pakelti savo ranką ar jūs tiesiog 57 00:02:26,160 --> 00:02:28,800 , o ne pakelti ranką kambarį kaip šis, 58 00:02:28,800 --> 00:02:30,710 mes ketiname turėti tam tikrą mokymo bičiulių ir CAS 59 00:02:30,710 --> 00:02:33,260 įgulos komplektavimo cs50.net/discuss per paskaitą. 60 00:02:33,260 --> 00:02:35,440 Taigi, jei turite klausimų, nes buvau visiškai 61 00:02:35,440 --> 00:02:37,510 neaišku apie ką nors, ar jums yra smalsūs apie kai 62 00:02:37,510 --> 00:02:39,640 tema, pabandykite nusiųsti jį ten. 63 00:02:39,640 --> 00:02:42,670 Tag paskaitų etiketės, ir mes padarysime viską 64 00:02:42,670 --> 00:02:45,430 šiandien ir kitą savaitę - we'll tai išbandyti - į lauką 65 00:02:45,430 --> 00:02:47,990 arba elektroniniu paštu, internetu, arba, jeigu ji mano, kaip turėtume 66 00:02:47,990 --> 00:02:50,430 tikrai jį spręsti masiškai, vieną mokymo bičiuliais arba 67 00:02:50,430 --> 00:02:52,080 KI pakels savo ranką ir paprašyti 68 00:02:52,080 --> 00:02:53,480 anonimiškai jūsų vardu. 69 00:02:53,480 --> 00:02:55,650 Taigi, mes duoti tai pabandyti ir pamatyti, kaip gerai tai veikia. 70 00:02:55,650 --> 00:02:58,540 Tačiau, visomis priemonėmis, toliau kels rankas taip, kaip norėtumėte. 71 00:02:58,540 --> 00:03:11,420 >> Taigi, paskutinį kartą parodė, kad 10% arba viena dešimtoji, 72 00:03:11,420 --> 00:03:13,840 faktas, 0,1, kaip prieš daugelį metų buvote mokyti. 73 00:03:13,840 --> 00:03:15,390 Tai iš tiesų, kaip ši vertė. 74 00:03:15,390 --> 00:03:16,970 Bet tai nėra visiškai tiesa, tiesa? 75 00:03:16,970 --> 00:03:19,585 Mes tiesiog turime šį apribojimą kompiuteriais, kuriuo, jei 76 00:03:19,585 --> 00:03:22,450 tik gali išlaikyti tik ribotą kiekį atminties, RAM arba daugiau 77 00:03:22,450 --> 00:03:25,220 specialiai bitai, gerai, ten tik galutinį skaičių 78 00:03:25,220 --> 00:03:26,980 dalykų, kuriuos galite atstovauti. 79 00:03:26,980 --> 00:03:29,780 Pavyzdžiui, jei mes turime nulį, ir mes norime 80 00:03:29,780 --> 00:03:32,790 sudaro dvejetainis, naudojant aštuonių bitų, kur šiek tiek, 81 00:03:32,790 --> 00:03:34,710 dar kartą, yra nulis arba vienas, mes galime 82 00:03:34,710 --> 00:03:39,240 atstovauja jai kaip 00.000.000. 83 00:03:39,240 --> 00:03:41,160 Ir tai yra šiek tiek be reikalo Verbose. 84 00:03:41,160 --> 00:03:43,700 Tiesiog kaip dešimtainę sistemą ir realiame pasaulyje, 85 00:03:43,700 --> 00:03:47,040 paprastai, jei norite rašyti numeris 123, 86 00:03:47,040 --> 00:03:52,240 žmonės tikriausiai nereikia rašyti 00000123, nors, 87 00:03:52,240 --> 00:03:53,940 funkciniu požiūriu, tai lygiai toks pats skaičius. 88 00:03:53,940 --> 00:03:56,580 Mes tiesiog lašas nuliais, taip sakant. 89 00:03:56,580 --> 00:03:58,270 >> Dvejetainiu, mes galime padaryti tą patį. 90 00:03:58,270 --> 00:04:01,440 Dvejetainis ir nulis, nulis ir dvejetainiai tiesiog nulis. 91 00:04:01,440 --> 00:04:02,870 Jums reikia tik vieną bitų. 92 00:04:02,870 --> 00:04:05,020 Bet vėl, pasaulyje labiausiai paplitusi matavimo vienetas 93 00:04:05,020 --> 00:04:07,820 kompiuterija yra baitų, aštuonių bitų. 94 00:04:07,820 --> 00:04:09,720 Tik todėl, kad vienas bitas, gana nenaudingas. 95 00:04:09,720 --> 00:04:12,020 Aštuoni bitai, nėra labai naudinga, bet bent jau daugiau 96 00:04:12,020 --> 00:04:14,280 naudinga nei vieną matavimo vienetą. 97 00:04:14,280 --> 00:04:17,100 Taigi su aštuonių bitų, mes paprastai atstovauja dvejetainis. 98 00:04:17,100 --> 00:04:20,459 Taigi čia mes turime skaičius nulis, vienas, du, ir tada, kaip 99 00:04:20,459 --> 00:04:24,200 Nate mūsų vaizdo praėjusį trečiadienį, galime tęsti 100 00:04:24,200 --> 00:04:25,940 skaičiuoti iki septynių iki aštuonių. 101 00:04:25,940 --> 00:04:27,860 Ir tada, jei mes naudojame vis daugiau ir daugiau bitų, 102 00:04:27,860 --> 00:04:29,880 gali tikėtis iki begalybės. 103 00:04:29,880 --> 00:04:32,800 Tačiau jei jūs turite tik baigtinio skaičiaus šių bitų, kaip 104 00:04:32,800 --> 00:04:35,030 bet kurio kompiuterio sistemą, ar net raketų 105 00:04:35,030 --> 00:04:36,670 sistema, gerai, iš tikrųjų jūs tik 106 00:04:36,670 --> 00:04:37,900 baigtinis suma tikslumo. 107 00:04:37,900 --> 00:04:41,290 Taigi, jei norite atstovauti daugiau kaip 0,1, gerai, 108 00:04:41,290 --> 00:04:43,410 kompiuteris turi rinktis. 109 00:04:43,410 --> 00:04:45,970 Ir, jei jis turi tik baigtinio skaičiaus numeriais 110 00:04:45,970 --> 00:04:50,490 atstovauti, gali ateiti beveik 0,1 už jus, tačiau ji negali 111 00:04:50,490 --> 00:04:53,730 būtinai duoti jums tiksliai norimą reikšmę. 112 00:04:53,730 --> 00:04:55,660 Ir tai tik vienas iš kompiuterių problemas 113 00:04:55,660 --> 00:04:57,090 po kapotu, laimei. 114 00:04:57,090 --> 00:04:59,110 >> Kaip mes judėti toliau į tą semestrą, tai žemesnio lygio 115 00:04:59,110 --> 00:05:02,310 informacija tapo daug mažiau įdomus, bet tikrai 116 00:05:02,310 --> 00:05:05,700 šių idėjų taikymas gali turėti tam tikrą labai realų pasaulį 117 00:05:05,700 --> 00:05:06,760 pasekmių. 118 00:05:06,760 --> 00:05:08,190 Vienas iš jų yra šiek tiek įdomus. 119 00:05:08,190 --> 00:05:12,150 Kaip daugelis iš jūsų mačiau nuostabų filmą Office Space? 120 00:05:12,150 --> 00:05:13,620 Jei jūs neturite, kad jūsų neoficiali 121 00:05:13,620 --> 00:05:14,370 namų už savaitę. 122 00:05:14,370 --> 00:05:16,730 Tačiau Office Space, kad filmo bičiulių 123 00:05:16,730 --> 00:05:19,900 privalumas būtent šią idėją, bet jie iš tikrųjų pavogė 124 00:05:19,900 --> 00:05:21,270 tai iš kito filmo, kad jums gali tekti 125 00:05:21,270 --> 00:05:22,760 matyti, net metų prieš. 126 00:05:22,760 --> 00:05:24,920 Taigi, leiskite man duoti jums keletą sekundžių šios priekabos 127 00:05:24,920 --> 00:05:27,470 šį nuostabų filmą, ir tai yra labai 128 00:05:27,470 --> 00:05:28,340 akademiškai svarbi. 129 00:05:28,340 --> 00:05:30,310 >> [Vaidina Movie] 130 00:05:30,310 --> 00:05:32,240 Tiesą sakant, aš skatinamas. 131 00:05:32,240 --> 00:05:33,360 Galiu programuoti virusas, kuris bus nukopijuoti, kad 132 00:05:33,360 --> 00:05:34,460 atliekama ne didelis laiko. 133 00:05:34,460 --> 00:05:35,770 Na, kaip tai veikia? 134 00:05:35,770 --> 00:05:37,836 Kiekvieną kartą, kai bankinė operacija, kai palūkanos yra 135 00:05:37,836 --> 00:05:40,154 kompiuterinė, yra tūkstančiai per dieną, kompiuteris baigiasi 136 00:05:40,154 --> 00:05:41,040 šių frakcijų cento. 137 00:05:41,040 --> 00:05:43,050 Bet aš nesiruošia daryti nieko neteisėto. 138 00:05:43,050 --> 00:05:46,730 Neteisėtas? Samir, tai yra Amerika. 139 00:05:46,730 --> 00:05:48,010 Jūs turite prisiekiu Dievu. 140 00:05:48,010 --> 00:05:51,870 Jei niekas nežino apie tai, tačiau mums, gerai? Be šeimos nariai, nėra 141 00:05:51,870 --> 00:05:52,490 draugės, niekas. 142 00:05:52,490 --> 00:05:53,882 [Nesigirdi]. 143 00:05:53,882 --> 00:05:57,594 Nesijaudinkite, vyras, aš nebus niekam arba. 144 00:05:57,594 --> 00:05:59,680 [Filmas baigiasi] 145 00:05:59,680 --> 00:06:01,900 >> Viskas gerai, tai gal radau šį filmą geriau nei dauguma 146 00:06:01,900 --> 00:06:05,530 žmonės čia, tačiau bet kuriuo atveju, virusas, kad jie buvo 147 00:06:05,530 --> 00:06:06,400 bando sukurti 148 00:06:06,400 --> 00:06:08,410 ir į kiną, bet kuriuo metu, jie nori skambinti kažkas, virusas, 149 00:06:08,410 --> 00:06:09,770 tai paprastai ne iš tikrųjų virusas. 150 00:06:09,770 --> 00:06:11,600 Tai tik programa, kad kažkas rašė kažką daryti. 151 00:06:11,600 --> 00:06:13,800 Ir šiuo atveju, vaikinai bandė parašyti programą 152 00:06:13,800 --> 00:06:16,610 , kad pasinaudojo savo įmonę vadinamas Innotech-aisiais 153 00:06:16,610 --> 00:06:19,740 skaičiavimo sistemą, pagal kurią kompiuteriai, taip pat, net jei jis 154 00:06:19,740 --> 00:06:21,350 kalbama apie pinigus, ne visada gali 155 00:06:21,350 --> 00:06:23,490 tiksliai atstovauti pinigus. 156 00:06:23,490 --> 00:06:27,630 Taigi, nors jums gali tekti 0,10 $ į savo banko sąskaitą, 157 00:06:27,630 --> 00:06:31,060 0,10, gerai, kompiuteris gali iš tikrųjų manote, kad turite 158 00:06:31,060 --> 00:06:33,560 tai daug centų jūsų banko sąskaitą. 159 00:06:33,560 --> 00:06:35,750 Ir taip ką šie vaikinai buvo trokštantis daryti - ir jie 160 00:06:35,750 --> 00:06:38,240 pavogė idėją, paaiškėja iš Supermenas III, kur 161 00:06:38,240 --> 00:06:41,210 Richard Pryor padarė tą patį - jie iš esmės buvo 162 00:06:41,210 --> 00:06:44,880 rašymo programas, kurios siekia atsižvelgti gale 163 00:06:44,880 --> 00:06:46,930 numeriai, visi mažytė, mažytė, mažytė frakcijų 164 00:06:46,930 --> 00:06:50,160 centus, ir pasilieka sau tie, išjungti, kad žmonės tiesiog 165 00:06:50,160 --> 00:06:52,620 mintis, oh, tai tik 0,10 $ ten, bet visi tie, 166 00:06:52,620 --> 00:06:54,410 gale numeriai galiausiai pridėti. 167 00:06:54,410 --> 00:06:57,490 Taigi, puiki idėja ir jis atsirūgo hilariously tuo, kad 168 00:06:57,490 --> 00:06:58,250 pirma filmas. 169 00:06:58,250 --> 00:07:01,800 >> Tačiau realiame pasaulyje, taip pat yra daug daugiau dėl 170 00:07:01,800 --> 00:07:03,190 pasekmės šių dalykų rūšių. 171 00:07:03,190 --> 00:07:05,450 Ir viena iš priežasčių, pasinerti į kompiuterių srityje 172 00:07:05,450 --> 00:07:07,620 mokslas, vėlgi, jo taikymas ne 173 00:07:07,620 --> 00:07:09,740 inžinerinius mokslus, vienas, bet tik 174 00:07:09,740 --> 00:07:10,650 kitose srityse, taip pat. 175 00:07:10,650 --> 00:07:14,760 Taigi tai yra mažiau linksmas pažvelgti į tai, kas gali suklysti, bet 176 00:07:14,760 --> 00:07:17,630 ji taip pat yra gana iškalbinga, manau, kai jis ateina į 177 00:07:17,630 --> 00:07:20,760 suprasti tiksliai, kaip visur technologijos, tokios kaip 178 00:07:20,760 --> 00:07:22,870 kompiuteriai ir programavimo ar šių dienų, 179 00:07:22,870 --> 00:07:23,930 programinės įrangos. 180 00:07:23,930 --> 00:07:26,500 Taigi tai kitą klipas yra tik apie šešias minutes, ir toliau 181 00:07:26,500 --> 00:07:30,320 kur mes palikome paskutinį kartą, tačiau leidžia mums pažvelgti šiek tiek 182 00:07:30,320 --> 00:07:33,370 išsamiau Vienas iš tokių šiais klausimais. 183 00:07:33,370 --> 00:07:35,270 Leiskite man praleisti į priekį, kur mes nerašomas, 184 00:07:35,270 --> 00:07:37,780 kuris buvo čia. 185 00:07:37,780 --> 00:07:41,580 Ir mes turime dviejų antrą dalį, apie šešias minutes. 186 00:07:41,580 --> 00:07:41,980 >> [PLAY MOVIE] 187 00:07:41,980 --> 00:07:45,430 Kentėjo modernią raketų technologiją. 188 00:07:45,430 --> 00:07:49,280 Pirmojo Persijos įlankos karo pradžios 1991 metais, su Patriot 189 00:07:49,280 --> 00:07:51,350 raketa patyrė panašaus pobūdžio 190 00:07:51,350 --> 00:07:52,645 skaičių konversija problema. 191 00:07:52,645 --> 00:07:57,460 Ir kaip rezultatas, 20 žmonių, žuvo 20 amerikiečių karių, 192 00:07:57,460 --> 00:08:01,130 ir apie 100 sužeistųjų, kai Patriot ", kuris turėjo 193 00:08:01,130 --> 00:08:03,400 apsaugoti nuo gaunamų Scuds 194 00:08:03,400 --> 00:08:06,020 nepavyko į ugnį raketa. 195 00:08:06,020 --> 00:08:09,350 >> Kai Irakas įsiveržė į Kuveitą ir Amerika pradėjo dykuma 196 00:08:09,350 --> 00:08:13,530 Audra pradžioje 1991, Patriot raketų baterijos buvo 197 00:08:13,530 --> 00:08:16,970 dislokuojama siekiant apsaugoti Saudo Arabiją ir Izraelį iš Irako 198 00:08:16,970 --> 00:08:19,810 Skadi raketų atakų. 199 00:08:19,810 --> 00:08:23,740 Patriot yra JAV vidutinio nuotolio žemė-oras sistema, 200 00:08:23,740 --> 00:08:26,370 pagamintas Raytheon kompanijos. 201 00:08:26,370 --> 00:08:30,860 Patriot kolektoriaus dydis, tai apie 202 00:08:30,860 --> 00:08:35,650 maždaug 20 pėdų ilgio ir sveria apie 2.000 svarų. 203 00:08:35,650 --> 00:08:38,809 Ir ji vykdo apie užtaisą - Manau, kad tai maždaug 204 00:08:38,809 --> 00:08:40,169 150 svarų. 205 00:08:40,169 --> 00:08:45,820 Ir Kovinė pati yra aukštos sprogmuo, kuriam yra 206 00:08:45,820 --> 00:08:48,120 fragmentai aplink jį. 207 00:08:48,120 --> 00:08:51,870 Iš galvutės korpusas yra skirtas veikti kaip Buckshot. 208 00:08:51,870 --> 00:08:54,920 Raketos yra atliekami keturi vienoje talpykloje ir 209 00:08:54,920 --> 00:08:57,850 vežami puspriekabe. 210 00:08:57,850 --> 00:09:02,940 >> Patriot priešraketinė sistema nueina bent jau 211 00:09:02,940 --> 00:09:05,530 20 metų. 212 00:09:05,530 --> 00:09:09,150 Iš pradžių ji buvo sukurta kaip oro gynybos raketų 213 00:09:09,150 --> 00:09:12,920 numušti priešo lėktuvus, pirmojo Persijos įlankos karo. 214 00:09:12,920 --> 00:09:17,700 Kai, kad karas atėjo kartu, armija norėjo jį naudoti šaudyti 215 00:09:17,700 --> 00:09:19,880 nustatantį Scuds, o ne lėktuvai. 216 00:09:19,880 --> 00:09:24,860 Oro Irako pajėgų buvo ne tiek daug problemų, bet armija 217 00:09:24,860 --> 00:09:27,260 buvo neramu apie Scuds. 218 00:09:27,260 --> 00:09:30,810 Ir todėl jie bandė atnaujinti "Patriot". 219 00:09:30,810 --> 00:09:33,770 Perimti priešas raketa keliaujant Mach 5 buvo ketinama 220 00:09:33,770 --> 00:09:35,790 turi būti pakankamai sudėtinga. 221 00:09:35,790 --> 00:09:39,460 Bet kai Patriot buvo nuvežta eksploatuoti, armija 222 00:09:39,460 --> 00:09:43,730 nežino Irako pakeitimo, kuris padarė savo 223 00:09:43,730 --> 00:09:46,510 Scuds beveik neįmanoma, kad pasiektų. 224 00:09:46,510 --> 00:09:50,040 >> Kas atsitiko, kad buvo Scuds 225 00:09:50,040 --> 00:09:51,360 ateina buvo nestabili. 226 00:09:51,360 --> 00:09:52,266 Jie buvo Įtaka. 227 00:09:52,266 --> 00:09:56,300 Dėl šios priežasties buvo irakiečių, siekiant gauti 600 228 00:09:56,300 --> 00:10:00,650 kilometrų iš 300 kilometrų nuotolio raketų, paėmė 229 00:10:00,650 --> 00:10:02,423 svoris iš priekinės galvutės ir 230 00:10:02,423 --> 00:10:03,990 Kovinė lengvesni. 231 00:10:03,990 --> 00:10:08,700 Taigi dabar "Patriot" bando ateiti į Skadi, ir dauguma 232 00:10:08,700 --> 00:10:11,192 laiką, didžioji dauguma laiko, jis būtų 233 00:10:11,192 --> 00:10:13,450 tiesiog skristi į Skadi. 234 00:10:13,450 --> 00:10:16,300 Kai suprato Patriot "Patriot" sistemos operatoriai 235 00:10:16,300 --> 00:10:20,160 praleidote savo tikslą, jie Patriot užtaisą susprogdino. 236 00:10:20,160 --> 00:10:22,760 Norint išvengti galimų avarijų, jam buvo suteikta 237 00:10:22,760 --> 00:10:25,100 patenka į žemę. 238 00:10:25,100 --> 00:10:29,400 Tai, ką dauguma žmonių pamatė, kaip didelis ugnies danguje, 239 00:10:29,400 --> 00:10:34,930 ir nesuprastas kaip Skadi galvučių atkarpų. 240 00:10:34,930 --> 00:10:37,490 >> Nors, nakties danguje, patriotai pasirodė esąs 241 00:10:37,490 --> 00:10:41,570 sėkmingai sunaikino Scuds Dhahran, gali būti ne 242 00:10:41,570 --> 00:10:43,730 klaida dėl jo našumo. 243 00:10:43,730 --> 00:10:46,370 Ten, patriotas radaras sistema prarado stebėti 244 00:10:46,370 --> 00:10:50,090 įeinantis Skadi ir niekada pradėjo dėl 245 00:10:50,090 --> 00:10:51,340 programinės įrangos trūkumas. 246 00:10:54,030 --> 00:10:57,050 Tai buvo izraeliečiai, kurie pirmą kartą atrado, kad kuo ilgiau 247 00:10:57,050 --> 00:11:02,000 sistema, tuo daugiau laiko neatitikimas tapo 248 00:11:02,000 --> 00:11:05,530 dėl įdėta į kompiuterio sistemos laikrodį. 249 00:11:05,530 --> 00:11:09,060 Apie prieš dvi savaites iki Dhahran, tragedija 250 00:11:09,060 --> 00:11:11,730 Izraeliečių Gynybos departamentas pranešė, kad 251 00:11:11,730 --> 00:11:13,250 sistema buvo prarasti laiko. 252 00:11:13,250 --> 00:11:15,610 Po maždaug aštuonių valandų važiavimo, jie pastebėjo, kad 253 00:11:15,610 --> 00:11:18,330 sistema tampa pastebimai mažiau tikslūs. 254 00:11:18,330 --> 00:11:20,910 Gynybos departamentas atsakė sakau visi 255 00:11:20,910 --> 00:11:23,710 "Patriot" baterijos nepalikite sistemas 256 00:11:23,710 --> 00:11:25,450 ilgą laiką. 257 00:11:25,450 --> 00:11:28,010 Jie niekada nepasakė, kas ilgą laiką buvo - 8 valandas, 10 258 00:11:28,010 --> 00:11:29,690 val., 1000 val. 259 00:11:29,690 --> 00:11:31,940 Niekas nežinojo. 260 00:11:31,940 --> 00:11:35,020 >> Patriot "baterija dislokuota ne Dhahran kareivinės 261 00:11:35,020 --> 00:11:39,030 ir jos trūkumų vidinis laikrodis buvo daugiau nei 100 valandų 262 00:11:39,030 --> 00:11:42,240 naktį, vasario 25 d. 263 00:11:42,240 --> 00:11:46,580 Jame stebimi laiko maždaug dešimtadalis sekundės dalį tikslumu. 264 00:11:46,580 --> 00:11:48,830 Dabar dešimtadalis antros yra įdomus skaičius, nes 265 00:11:48,830 --> 00:11:52,660 jis negali būti išreikštas dvejetainiu, tiksliai, o tai reiškia, 266 00:11:52,660 --> 00:11:54,940 jis negali būti išreikštas tiksliai bet 267 00:11:54,940 --> 00:11:57,330 modernus skaitmeninis kompiuteris. 268 00:11:57,330 --> 00:11:59,130 Tai sunku patikėti. 269 00:11:59,130 --> 00:12:01,720 Bet ir naudoti tai kaip pvz. 270 00:12:01,720 --> 00:12:04,090 >> Paimkime numeris 1/3. 271 00:12:04,090 --> 00:12:07,950 Trečdalis negali būti išreikštas dešimtaine, tiksliai. 272 00:12:07,950 --> 00:12:12,710 Trečdalis 0,333 vyksta begalybės. 273 00:12:12,710 --> 00:12:17,050 Nėra jokio būdo tai padaryti, kad absoliučiai dešimtosios tikslumu. 274 00:12:17,050 --> 00:12:19,340 Kad yra būtent tos pačios rūšies problema, kad atsitiko 275 00:12:19,340 --> 00:12:20,190 patriotas. 276 00:12:20,190 --> 00:12:24,680 Ilgiau sistema bėgo, blogiau time error tapo. 277 00:12:24,680 --> 00:12:28,640 Po 100 veikimo valandų, laiko paklaida buvo tik 278 00:12:28,640 --> 00:12:29,870 apie trečdalis sekundės. 279 00:12:29,870 --> 00:12:34,790 Tačiau nukreipti raketą, kelionės Mach 5 280 00:12:34,790 --> 00:12:39,140 ji atsirado sekimo klaidos, daugiau nei 600 metrų. 281 00:12:39,140 --> 00:12:42,510 Būtų lemtinga klaida ne Dhahran kariai. 282 00:12:42,510 --> 00:12:48,680 >> Kas atsitiko, buvo aptikta Skadi pradėti išankstinio perspėjimo 283 00:12:48,680 --> 00:12:52,440 palydovai ir jie žinojo, kad Skadi jų 284 00:12:52,440 --> 00:12:53,350 bendrą kryptį. 285 00:12:53,350 --> 00:12:55,470 Jie nežinojo, kur jis ėjo. 286 00:12:55,470 --> 00:12:58,210 Tai buvo dabar iki radaro komponentą patriotas 287 00:12:58,210 --> 00:13:01,920 sistema, gindamas Dhahran, rasti ir sekti. 288 00:13:01,920 --> 00:13:03,700 gaunamus priešų raketų. 289 00:13:03,700 --> 00:13:05,390 Radaras buvo labai protingas. 290 00:13:05,390 --> 00:13:07,570 Jūs iš tiesų sekti Skadi poziciją ir tada 291 00:13:07,570 --> 00:13:10,340 prognozuoti, kur ji tikriausiai būtų kitą kartą 292 00:13:10,340 --> 00:13:12,040 radaras išsiuntė pulsą. 293 00:13:12,040 --> 00:13:13,730 , Kuris buvo vadinamas intervalas vartai. 294 00:13:13,730 --> 00:13:18,820 Tada, kai Patriot nusprendžia, pakankamai laiko praėjo eiti 295 00:13:18,820 --> 00:13:22,600 atgal ir patikrinti kitą vietą Nustatytas 296 00:13:22,600 --> 00:13:24,190 objektas, jis eina atgal. 297 00:13:24,190 --> 00:13:27,940 Taigi, kai ji grįžo į neteisingą vietą, tada jis nemato jokio 298 00:13:27,940 --> 00:13:31,000 prieštarauti, ir jis nusprendžia, kad joks objektas. 299 00:13:31,000 --> 00:13:34,370 Tai buvo klaidinga aptikimo ir meta takelį. 300 00:13:34,370 --> 00:13:37,630 >> Kadenciją Skadi dingo iš radaro ekrano. 301 00:13:37,630 --> 00:13:41,300 Ir sekundes vėliau, jis pateko į tvirtovę. Skadi 302 00:13:41,300 --> 00:13:44,730 žuvo 28 ir buvo atleistas metu naujausia 303 00:13:44,730 --> 00:13:46,450 pirmojo Persijos įlankos karo. 304 00:13:46,450 --> 00:13:50,570 Tragiškai, atnaujinta programinė įranga atvyko Dhahran 305 00:13:50,570 --> 00:13:52,060 kitą dieną. 306 00:13:52,060 --> 00:13:56,210 Ir programinės įrangos trūkumas buvo nustatytas, sudaro vieną skyrių, 307 00:13:56,210 --> 00:13:58,370 neramus raketų "Patriot" istorija. 308 00:14:01,790 --> 00:14:04,990 PATRIOT iš tiesų yra "etapais Array sekimo akronimas 309 00:14:04,990 --> 00:14:08,516 Perimti TARGET. " 310 00:14:08,516 --> 00:14:13,390 >> Viskas gerai, todėl daug daugiau smucić rezultatas ne visai 311 00:14:13,390 --> 00:14:14,430 suprasti šį pasaulį. 312 00:14:14,430 --> 00:14:18,180 Ir išsinešimui, tikrai, iš filmo, kad sprendimas 313 00:14:18,180 --> 00:14:20,790 buvo perkrauti savo priešraketinės gynybos sistemą 314 00:14:20,790 --> 00:14:21,770 kiekvienas, o vieną kartą. 315 00:14:21,770 --> 00:14:24,280 Ir tokiu būdu vėlgi, vienas iš šio kurso tikslų, tikrai 316 00:14:24,280 --> 00:14:26,900 daugiau Kuklus šių programų masto nei, yra 317 00:14:26,900 --> 00:14:30,710 tikrai atvira visiems akis, lygiai taip, kaip jūs einate apie 318 00:14:30,710 --> 00:14:34,380 gamybos mašinos daryti tai, ką norite juos daryti, ir kaip tu 319 00:14:34,380 --> 00:14:37,180 apie tai, kad teisingai, o pakeliui daro 320 00:14:37,180 --> 00:14:38,810 gerai, elegantiškai, ir kt. 321 00:14:38,810 --> 00:14:41,680 Ir todėl šiandien, tegul neria į šiek tiek daugiau, bet 322 00:14:41,680 --> 00:14:44,210 kad mes ne eiti per greitai, ypač tiems, kurie mažiau 323 00:14:44,210 --> 00:14:46,590 patogus, bet ir todėl, kad mes galime išlaikyti susidomėjimą 324 00:14:46,590 --> 00:14:49,390 tiems, patogiau, galime tik greitai prasideda šiek tiek 325 00:14:49,390 --> 00:14:50,970 primenama apie tai, kai kurie iš šių idėjų. 326 00:14:50,970 --> 00:14:53,710 Ir vėl, kreipkitės į toli, tiek asmeniškai, arba internetu, jei turite 327 00:14:53,710 --> 00:14:56,320 klausimai, todėl mes galime išlaikyti visus į tą patį puslapį. 328 00:14:56,320 --> 00:14:58,820 >> Taigi CS50 prietaisų, greitas žingsnis atgal, 329 00:14:58,820 --> 00:15:02,360 tai, kas, savo žodžiais? 330 00:15:02,360 --> 00:15:06,454 Viskas OK, jei jūs neturite idėjos, ką šie žodžiai gali būti dar. 331 00:15:06,454 --> 00:15:07,830 [Nesigirdi] 332 00:15:07,830 --> 00:15:10,950 Gerai, kad universali sąsaja - 333 00:15:10,950 --> 00:15:11,900 kad mes visi galime pasidalinti. 334 00:15:11,900 --> 00:15:12,470 Absoliučiai. 335 00:15:12,470 --> 00:15:14,840 Taigi, mes galime, pavyzdžiui, pasakyti, eiti į kai 336 00:15:14,840 --> 00:15:16,910 svetainėje, atsisiųsti šią programinę įrangą Mac OS. 337 00:15:16,910 --> 00:15:19,140 Atsisiųsti šią programinę įrangą "Windows", konfigūruoti 338 00:15:19,140 --> 00:15:20,100 tokiu būdu ir kad. 339 00:15:20,100 --> 00:15:22,370 Tačiau tikrovė yra tokia, tada mes paleisti į be galo daug techninės 340 00:15:22,370 --> 00:15:23,200 paramos klausimais. 341 00:15:23,200 --> 00:15:26,630 , O taip pat šių dienų, daug kas daroma serverio pusėje, 342 00:15:26,630 --> 00:15:28,490 skaičiavimo pasaulį, ypač, kai kalbama apie 343 00:15:28,490 --> 00:15:31,460 interneto svetainių kūrimas ir interneto grindžiamas taikomąsias programas, yra iš tikrųjų 344 00:15:31,460 --> 00:15:35,110 gana dažnai daroma UNIX ar Linux kompiuterių, o ne 345 00:15:35,110 --> 00:15:36,800 MOK arba Windows PC. 346 00:15:36,800 --> 00:15:39,240 >> Taigi tarp upsides, naudojant šį dalyką vadinamas 347 00:15:39,240 --> 00:15:41,500 CS50 Appliance mes visi turime tą pačią aplinką. 348 00:15:41,500 --> 00:15:43,670 Taigi kiekvienas tame pačiame puslapyje, nesvarbu, kokios aparatūros 349 00:15:43,670 --> 00:15:46,650 atėjo į kampusie, bet taip pat bus žymėjimą tiksliai 350 00:15:46,650 --> 00:15:48,230 pati aplinka, kad jūs naudojate link 351 00:15:48,230 --> 00:15:51,080 semestro pabaiga, taip pat interneto svetainių kūrimas, taip pat 352 00:15:51,080 --> 00:15:53,580 realaus pasaulio paraiškas jų ateitis. 353 00:15:53,580 --> 00:15:56,350 Taigi, konkrečiau, CS50 Appliance nemokamai gabalas 354 00:15:56,350 --> 00:15:59,400 programinė įranga, kuri leidžia jums paleisti kitą operacinę sistemą, 355 00:15:59,400 --> 00:16:02,670 "Linux", šiuo atveju, savo kompiuteryje lange. 356 00:16:02,670 --> 00:16:04,750 Dabar galite ne tik atsisiųsti prietaisą. 357 00:16:04,750 --> 00:16:08,170 Jums reikia programos, su kuria žaisti arba paleisti prietaisą. 358 00:16:08,170 --> 00:16:11,220 Ir kad programinė įranga paprastai vadinama 359 00:16:11,220 --> 00:16:11,520 hypervisor. 360 00:16:11,520 --> 00:16:14,050 Hypervisors būna produktų, pavyzdžiui, "VMware", 361 00:16:14,050 --> 00:16:15,820 Virtuali langelis, paralelės. 362 00:16:15,820 --> 00:16:18,390 Visi įmonių rūšių programinę įrangą, tiek nemokamų ir 363 00:16:18,390 --> 00:16:19,310 komercinės, panašūs. 364 00:16:19,310 --> 00:16:21,480 Tai, ką jūs matote problema Set 1 instrukcijos apie tai, kaip 365 00:16:21,480 --> 00:16:23,440 gauti nemokamą programinę įrangą, su kuria 366 00:16:23,440 --> 00:16:25,000 paleisti CS50 Appliance. 367 00:16:25,000 --> 00:16:28,060 Ir kai jūs darote, jūs turite, dėl jūsų Mac arba PC lango 368 00:16:28,060 --> 00:16:30,710 darbastalio aplinka, kuri atrodo labai patiko tai, kur 369 00:16:30,710 --> 00:16:33,100 ji turi Start meniu, pavyzdžiui, dalykas 370 00:16:33,100 --> 00:16:34,510 apatiniame kairiajame kampe. 371 00:16:34,510 --> 00:16:38,030 Ji turi namų katalogą, ar namų katalogą, viršuje kairėje 372 00:16:38,030 --> 00:16:40,280 ten, šiukšliadėžės ir kt. 373 00:16:40,280 --> 00:16:43,450 Taigi, mes erzinti išskyrus reikalingus duomenis, kaip mes einame. 374 00:16:43,450 --> 00:16:46,430 >> Bet dabar pradėkime pasinerti į C. 375 00:16:46,430 --> 00:16:49,200 Taigi C tai programavimo kalba, panaši dvasia 376 00:16:49,200 --> 00:16:52,390 Nulio, bet kur kas mažiau grafinis, tačiau ironiškai, toli 377 00:16:52,390 --> 00:16:54,730 daugiau galingas, kai jūs gaunate išminties su juo. 378 00:16:54,730 --> 00:16:58,970 Taigi C, mes rašome programas raštu šaltinio kodą, kuris yra 379 00:16:58,970 --> 00:17:01,640 tai anglų kaip sintaksė, panašūs į kojines 380 00:17:01,640 --> 00:17:05,609 įrodyta, jog darė paskutinį kartą, kuri leidžia jums 381 00:17:05,609 --> 00:17:07,910 gana tiksliai išreikšti save, jei 382 00:17:07,910 --> 00:17:09,760 arcanely prie kompiuterio. 383 00:17:09,760 --> 00:17:11,960 >> Taigi, kokios gaminio programinės įrangos ar jūs iš tikrųjų reikia 384 00:17:11,960 --> 00:17:15,520 rašyti programas kaip C kalba, remiantis mūsų 385 00:17:15,520 --> 00:17:17,492 pokalbis pirmadienį? 386 00:17:17,492 --> 00:17:19,650 [Nesigirdi] 387 00:17:19,650 --> 00:17:21,079 Gerai, jums tiesiog reikia teksto redaktoriumi. 388 00:17:21,079 --> 00:17:22,890 Jums nereikia jokios specialios programinės įrangos 389 00:17:22,890 --> 00:17:24,460 per se rašyti programas. 390 00:17:24,460 --> 00:17:27,220 Jums reikia tik teksto redaktorių, pavyzdžiui, Notepad "," Windows ", 391 00:17:27,220 --> 00:17:30,450 TextEdit "Mac", ar kažkas, vadinamas gedit, pasaulyje 392 00:17:30,450 --> 00:17:32,020 "Linux", kuriuos mes naudojame čia. 393 00:17:32,020 --> 00:17:33,750 Ir štai, rašyti programas. 394 00:17:33,750 --> 00:17:35,480 >> Tačiau rašyti tik pusė lygtis. 395 00:17:35,480 --> 00:17:36,630 Tada reikia paleisti juos. 396 00:17:36,630 --> 00:17:38,320 Tačiau, norint paleisti programas 397 00:17:38,320 --> 00:17:39,600 negalima paleisti kodą. 398 00:17:39,600 --> 00:17:41,500 Jums, o turi daryti tai, ką pirmiausia ją? 399 00:17:41,500 --> 00:17:41,900 Taip. 400 00:17:41,900 --> 00:17:43,200 David J. Malan: Jūs turite 401 00:17:43,200 --> 00:17:44,130 kaupia jį. 402 00:17:44,130 --> 00:17:49,010 , O kažkas kitas, sudarant šaltinio kodą - 403 00:17:49,010 --> 00:17:50,260 [Nesigirdi] 404 00:17:52,300 --> 00:17:52,700 David J. Malan: Būtent. 405 00:17:52,700 --> 00:17:54,430 Verčiant nulių ir. 406 00:17:54,430 --> 00:17:57,150 Kadangi mums visiems, šių dienų, kompiuterius, kurie CPU, 407 00:17:57,150 --> 00:18:00,350 beveik visi, kurie pagaminti kompanijos "Intel" ir 408 00:18:00,350 --> 00:18:03,320 Intel Inside, reiškia, kad ši smegenų viduje savo 409 00:18:03,320 --> 00:18:04,990 kompiuteris, vadinamas procesoriaus. 410 00:18:04,990 --> 00:18:07,570 Ir vienas iš dalykų, kad smegenys yra, jis žino, 411 00:18:07,570 --> 00:18:10,390 kaip suprasti nulių ir modelius. 412 00:18:10,390 --> 00:18:13,240 Ji žino, kas bitų modelis atstovauja to, ką 413 00:18:13,240 --> 00:18:15,500 modelis atstovauja atimti, kas modelis 414 00:18:15,500 --> 00:18:18,890 bitai sukuriama spausdinimo, ir sukurti girdimą garsą. 415 00:18:18,890 --> 00:18:22,450 >> Taigi trumpai tariant, CPU, kartu su operacine sistema, 416 00:18:22,450 --> 00:18:25,230 kuris yra programinė įranga, kuri veikia ant procesoriaus, 417 00:18:25,230 --> 00:18:26,050 taip sakant. 418 00:18:26,050 --> 00:18:29,850 Kartu šie du gabalai žinoti, kaip paleisti programas, kurios 419 00:18:29,850 --> 00:18:31,070 mes, žmonės, rašyti. 420 00:18:31,070 --> 00:18:34,040 >> Taigi, jei aš einu į CS50 Appliance čia, man reikia atidaryti 421 00:18:34,040 --> 00:18:35,660 iki teksto redaktoriumi ir aš galiu gauti prieigą 422 00:18:35,660 --> 00:18:36,560 keletas būdų. 423 00:18:36,560 --> 00:18:39,060 Galiu arba eikite į Meniu, programavimas, 424 00:18:39,060 --> 00:18:40,230 ir tada aš galiu pasirinkti - 425 00:18:40,230 --> 00:18:40,810 Ne, ne tai, kad meniu. 426 00:18:40,810 --> 00:18:43,860 Aš galiu eiti Reikmenys / gedit čia, norėdami atidaryti 427 00:18:43,860 --> 00:18:45,090 mano mažai teksto redaktoriumi. 428 00:18:45,090 --> 00:18:48,030 Arba paprasčiau tariant, aš galiu spustelėkite šį mažą piktogramą apačioje 429 00:18:48,030 --> 00:18:48,970 kairiajame kampe. 430 00:18:48,970 --> 00:18:50,430 Ir dabar man šią aplinką. 431 00:18:50,430 --> 00:18:52,590 Tai gana primena paprastą teksto redaktorių, tik su 432 00:18:52,590 --> 00:18:53,820 vienas ar du skirtumai. 433 00:18:53,820 --> 00:18:56,420 Viršuje, kur blyksi mirksi, tai kur 434 00:18:56,420 --> 00:18:57,900 Aš galiu pradėti rašyti savo kodą. 435 00:18:57,900 --> 00:19:00,415 Apačioje yra šis dalykas, vadinamas terminalo langą. 436 00:19:00,415 --> 00:19:03,400 Ir kokių rūšių dalykų, aš galiu daryti tai 437 00:19:03,400 --> 00:19:04,960 taip vadinamas terminalo langą? 438 00:19:04,960 --> 00:19:06,680 [Nesigirdi] 439 00:19:06,680 --> 00:19:07,890 >> Gerai, kad aš paleisti komandas. 440 00:19:07,890 --> 00:19:10,300 Ir kai komandų, nubėgome pirmadienį buvo šiek tiek 441 00:19:10,300 --> 00:19:15,070 paslaptingas per pirmąjį, bet LS sąraše, cd pakeisti katalogą, 442 00:19:15,070 --> 00:19:16,540 rm, pašalinti. 443 00:19:16,540 --> 00:19:19,680 Taigi, tai tarsi senosios mokyklos kaip naršyti jūsų 444 00:19:19,680 --> 00:19:22,310 kompiuteris, naudojant tik savo klaviatūrą ir tekstinius komandas, 445 00:19:22,310 --> 00:19:24,130 o ne, paprastai, naudotis pele. 446 00:19:24,130 --> 00:19:25,960 Bet mes pamatysime, prieš ilgas, tai iš tiesų suteikia mums 447 00:19:25,960 --> 00:19:28,520 šiek tiek daugiau galios ir šiek tiek daugiau tikslumo, su kuria 448 00:19:28,520 --> 00:19:29,600 išreikšti save. 449 00:19:29,600 --> 00:19:31,330 Ir tada per čia kairėje, mes tiesiog ketiname pamatyti, 450 00:19:31,330 --> 00:19:34,360 kaip mes pradėti rašymo programinės įrangos, šiek tiek santraukos 451 00:19:34,360 --> 00:19:36,350 programa, kad mes parašyta viršutiniame kairiajame kampe. 452 00:19:36,350 --> 00:19:38,360 Tačiau mes matome, kad vėl netrukus. 453 00:19:38,360 --> 00:19:40,050 >> Taigi, darykime kažką gana paprastas. 454 00:19:40,050 --> 00:19:43,440 Leiskite man pirmiausia eiti į priekį ir eiti į failą, išsaugokite, ir aš tiesiog 455 00:19:43,440 --> 00:19:45,970 spustelėkite čia jharvard, per ne į kairę, ir 456 00:19:45,970 --> 00:19:48,930 jharvard, vėlgi, mano namų katalogą pavadinimas, mano 457 00:19:48,930 --> 00:19:52,110 asmeniniai failai, ME, dabar yra John Harvard, kaip jums visiems 458 00:19:52,110 --> 00:19:54,230 netrukus bus Jonas Harvardo šioje aplinkoje. 459 00:19:54,230 --> 00:19:57,360 Jis gavo šią namų katalogą, Mano dokumentai ir tt, 460 00:19:57,360 --> 00:19:58,900 , kad noriu išsaugoti, dabar, šį failą in 461 00:19:58,900 --> 00:20:01,520 Todėl aš jį vadinti hello.c. Tada aš ruošiuosi eiti 462 00:20:01,520 --> 00:20:05,770 į priekį ir spustelėkite Įrašyti ir dabar, ką aš turiu čia yra skirtukas 463 00:20:05,770 --> 00:20:09,440 hello.c, tiek daug, kaip kito tipo redaktorius. 464 00:20:09,440 --> 00:20:11,760 >> Taigi dabar leiskite man eiti į priekį ir pradėti rašyti programą. 465 00:20:11,760 --> 00:20:14,440 int main (void). 466 00:20:14,440 --> 00:20:18,150 Ir tada aš tiesiog darė paskutinį kartą printf, spausdinimo suformatuotas, 467 00:20:18,150 --> 00:20:22,120 ("Sveikas, pasauli!" 468 00:20:22,120 --> 00:20:24,500 );. 469 00:20:24,500 --> 00:20:25,630 Beveik baigtas. 470 00:20:25,630 --> 00:20:27,130 Bet aš trūkstamų detalių pora. 471 00:20:27,130 --> 00:20:30,210 Tai, ko trūksta, kad man tikrai reikia šios programos 472 00:20:30,210 --> 00:20:31,890 iš tikrųjų sudaryti? 473 00:20:31,890 --> 00:20:32,130 Taip. 474 00:20:32,130 --> 00:20:33,980 [Nesigirdi? 475 00:20:33,980 --> 00:20:35,770 >> David J. Malan: Taip, todėl man reikia įtraukti standartą 476 00:20:35,770 --> 00:20:36,700 I / O lib. 477 00:20:36,700 --> 00:20:39,470 Taigi, tai turi eiti virš pagrindinis, todėl aš tiesiog ketinate 478 00:20:39,470 --> 00:20:40,790 padaryti šiek tiek už jį kambaryje yra. 479 00:20:40,790 --> 00:20:44,420 Ir aš ruošiuosi tai padaryti # include . 480 00:20:44,420 --> 00:20:46,570 Ir pastebėsite kampu laikiklius. 481 00:20:46,570 --> 00:20:49,410 Ir kaip panaikinti, gedit yra šiek tiek patogi, jei 482 00:20:49,410 --> 00:20:52,420 kartais šiek tiek painu, nes ji stengiasi padėti jūsų 483 00:20:52,420 --> 00:20:54,770 akys pastebėti, ką linijos su tuo, ką. 484 00:20:54,770 --> 00:20:57,760 Taigi tai, kad mano žymeklį šalia tai kampu 485 00:20:57,760 --> 00:21:00,600 laikiklis, pastebėti, kaip tai išryškinant kita kampu 486 00:21:00,600 --> 00:21:01,920 laikiklis plius tai vienas. 487 00:21:01,920 --> 00:21:03,770 Ir tai tik atkreipti savo dėmesį į tai, kad aš 488 00:21:03,770 --> 00:21:04,460 turi simetrija. 489 00:21:04,460 --> 00:21:07,010 Ir simetrija programavimo paprastai yra geras dalykas. 490 00:21:07,010 --> 00:21:10,270 Be to, jei aš perkelti savo žymeklį iki galo, pastebėsite, kaip 491 00:21:10,270 --> 00:21:13,630 garbanotieji petnešų linija parodyti, kad taip, aš turiu atvirą 492 00:21:13,630 --> 00:21:15,160 ir vieno uždaro, taip sakant. 493 00:21:15,160 --> 00:21:16,640 >> Viskas gerai, ir aš galiu padaryti vieną dalyką. 494 00:21:16,640 --> 00:21:20,090 Tai nėra būtina, bet gera praktika, pasakyti 495 00:21:20,090 --> 00:21:21,250 return 0. 496 00:21:21,250 --> 00:21:24,140 Ir return 0 ką daro mums čia? 497 00:21:24,140 --> 00:21:25,584 Ar reiškia ką? 498 00:21:25,584 --> 00:21:27,480 [Nesigirdi] 499 00:21:27,480 --> 00:21:28,300 David J. Malan: Bet niekas negerai. 500 00:21:28,300 --> 00:21:30,280 Ir atvirai tai sunku daug suklysti 501 00:21:30,280 --> 00:21:31,250 programoje Šis trumpas. 502 00:21:31,250 --> 00:21:33,930 Taigi, aš tiesiog yra super aiškiai, kad viskas yra gerai. 503 00:21:33,930 --> 00:21:36,740 Aš, žmogaus, kai aš paleisti šią programą, tikriausiai niekada 504 00:21:36,740 --> 00:21:38,150 matyti, kad 0. 505 00:21:38,150 --> 00:21:41,070 Apskritai, tie skaičiai yra grąžinamos iš pagrindinių 506 00:21:41,070 --> 00:21:43,540 tik auginti galvas žmonėms, kai 507 00:21:43,540 --> 00:21:44,360 kažkas negerai. 508 00:21:44,360 --> 00:21:46,640 Ir jūs gaunate šiek tiek pop-up sistemos klaida sakydamas, vienas, 509 00:21:46,640 --> 00:21:48,760 dviejų, trijų, ar kokia jo numeris buvo, kad 510 00:21:48,760 --> 00:21:50,100 buvo faktiškai grąžinama. 511 00:21:50,100 --> 00:21:52,870 Taigi dar ką nors negerai? 512 00:21:52,870 --> 00:21:55,300 [Nesigirdi] 513 00:21:55,300 --> 00:21:58,100 >> David J. Malan: Taigi tai yra ne tiek funkcinis klaida 514 00:21:58,100 --> 00:21:59,240 bet estetinis. 515 00:21:59,240 --> 00:22:02,340 Aš tikriausiai turėtų pateikti naujos eilutės simboliai 516 00:22:02,340 --> 00:22:05,240 šios eilutės pabaigą, kad mes iš tikrųjų perkelti žymeklį į 517 00:22:05,240 --> 00:22:08,340 kitą eilutę, ir programa tiesiog atrodo šiek tiek gražiau. 518 00:22:08,340 --> 00:22:10,340 >> Taigi dabar leiskite man eiti į mano terminalo lange 519 00:22:10,340 --> 00:22:11,490 ir priartinimo atgal in 520 00:22:11,490 --> 00:22:13,390 Ir tai čia, tai vadinama eilutę. 521 00:22:13,390 --> 00:22:16,760 Tai tiesiog primena man, kas aš esu, jharvard @ prietaisą, jei 522 00:22:16,760 --> 00:22:18,850 prietaisas kompiuterio, aš tikiu, pavadinimas. 523 00:22:18,850 --> 00:22:22,380 Skliaustuose tai Tilde, squiggle simbolis 524 00:22:22,380 --> 00:22:24,160 yra kas? 525 00:22:24,160 --> 00:22:25,590 Auditorija: Pagrindinis katalogas. 526 00:22:25,590 --> 00:22:26,350 David J. Malan: Pagrindinis katalogas. 527 00:22:26,350 --> 00:22:29,350 Taigi, tai tik trumpa supratimą ir pasakyti, kad esate 528 00:22:29,350 --> 00:22:32,780 savo asmeninį aplanką, kur visus failus eiti pagal nutylėjimą. 529 00:22:32,780 --> 00:22:36,080 Taigi dabar, čia, galiu tipas Lt sąrašą. 530 00:22:36,080 --> 00:22:40,020 Ir vienintelis dalykas, aš matau čia šiuo metu yra hello.c. 531 00:22:40,020 --> 00:22:41,770 Ir tai gerai, nes aš tiesiog tai parašiau. 532 00:22:41,770 --> 00:22:44,380 >> Taigi leiskite man eiti į priekį ir padaryti pagal Apie. 533 00:22:44,380 --> 00:22:46,830 Ir pastebėsite, aš ne rašyti, kad hello.c. 534 00:22:46,830 --> 00:22:50,300 Vietoj to, aš tik rašyti bazės failo vardas, labas. 535 00:22:50,300 --> 00:22:53,690 Ir padaryti, kaip matėme, pirmadienį, tiesiog daryti išvadą, kad aš noriu 536 00:22:53,690 --> 00:22:54,920 c failas. 537 00:22:54,920 --> 00:22:56,820 Taigi, dabar aš įvedėte padaryti Apie. 538 00:22:56,820 --> 00:22:59,280 Dabar aš matau šį gana ilgą komandą ir toliau 539 00:22:59,280 --> 00:23:00,480 matyti vėl ir vėl. 540 00:23:00,480 --> 00:23:03,620 , Tačiau turi būti aišku, Apsukite metalinis garsas, žodis, kad tik pasirodė, 541 00:23:03,620 --> 00:23:05,340 tai tikrasis kompiliatorius. 542 00:23:05,340 --> 00:23:08,200 Padaryti, yra tiesiog Utility. 543 00:23:08,200 --> 00:23:11,900 Tai tik patogi programa, kuri taupo man, 544 00:23:11,900 --> 00:23:15,310 ilgalaikėje perspektyvoje, įvesti iš neįtikėtinai varginantis ilgas 545 00:23:15,310 --> 00:23:17,020 komandos, pavyzdžiui, kad vienas. 546 00:23:17,020 --> 00:23:18,950 , Kad galėtumėte rankiniu būdu paleisti Apsukite metalinis garsas. 547 00:23:18,950 --> 00:23:20,530 Galite įrašyti, kad rankiniu būdu. 548 00:23:20,530 --> 00:23:21,580 Tiesiog tampa labai nuobodus. 549 00:23:21,580 --> 00:23:24,720 Ir todėl, kad yra tik programa, kuri supaprastina mūsų gyvenimus ir 550 00:23:24,720 --> 00:23:27,120 veikia daugiau sudėtingų komandas mums. 551 00:23:27,120 --> 00:23:29,410 >> Viskas gerai, taip ir dabar, kas tai per failas turėtų Turiu 552 00:23:29,410 --> 00:23:31,540 mano dabartinis katalogą? 553 00:23:31,540 --> 00:23:36,310 Ne tik hello.c, bet taip pat hello. 554 00:23:36,310 --> 00:23:39,710 Taigi, jei aš noriu paleisti Apie priminti, kad aš sakau dot velniop, 555 00:23:39,710 --> 00:23:42,220 kur dot reiškia eiti į dabartiniame aplanke, kur jums 556 00:23:42,220 --> 00:23:46,060 yra, ir paleiskite programą, pavadintą Apie ir iš tiesų, dabar, 557 00:23:46,060 --> 00:23:48,080 Turiu Hello World. 558 00:23:48,080 --> 00:23:51,640 Viskas gerai, bet dėl ​​darbo eigos klausimų ar sintaksė 559 00:23:51,640 --> 00:23:52,890 ką mes ką tik padarė? 560 00:23:55,380 --> 00:23:57,040 >> Viskas gerai, todėl galime imtis dalykų vienu žingsniu vėl. 561 00:23:57,040 --> 00:24:00,430 Taigi tai buvo underwhelming tiesiog parašyti programą, kad tik 562 00:24:00,430 --> 00:24:01,790 niekada nėra teigęs, Hello, world. 563 00:24:01,790 --> 00:24:03,920 Taigi, mes jį pakeitėte, pirmadienį, pasakyti,, labas, Davidas. 564 00:24:03,920 --> 00:24:06,560 Tai šiek tiek labiau asmeniški, bet lygiai taip pat sunku koduojami 565 00:24:06,560 --> 00:24:07,410 pirmoji versija. 566 00:24:07,410 --> 00:24:08,780 Taigi, ne visi, kad įtikinamos. 567 00:24:08,780 --> 00:24:13,120 Bet egzistuoja, C, funkcijas tikrai be 568 00:24:13,120 --> 00:24:15,700 spausdinti, funkcijos, kad jums gauti vartotojo įvesties. 569 00:24:15,700 --> 00:24:17,990 Ir taip, kaip mes tai padarė, kitą dieną, buvo taip. 570 00:24:17,990 --> 00:24:21,440 Prieš faktiškai spausdinti ką nors, aš pirmą kartą gavo 571 00:24:21,440 --> 00:24:22,410 kažkas iš vartotojo. 572 00:24:22,410 --> 00:24:23,370 Taigi, leiskite man tai padaryti ir vėl. 573 00:24:23,370 --> 00:24:26,580 >> Styginių s, kur s yra tiesiog savavališkai vardas, čia, 574 00:24:26,580 --> 00:24:30,600 eilutę, lygus GetString. 575 00:24:30,600 --> 00:24:32,070 Taigi, tai, kas buvo GetString? 576 00:24:32,070 --> 00:24:34,630 Tai akivaizdžiai gauna eilutę, ant jos pavadinimo. 577 00:24:34,630 --> 00:24:37,560 Bet kas tai yra, daugiau techniškai? 578 00:24:37,560 --> 00:24:38,440 Tai funkcija. 579 00:24:38,440 --> 00:24:41,790 Taigi tai yra funkcija, kad nėra ateis su C per se. 580 00:24:41,790 --> 00:24:43,660 CS50 darbuotojai parašė. 581 00:24:43,660 --> 00:24:46,940 Ir taip naudoti, galite ne tik apima stdio.h 582 00:24:46,940 --> 00:24:49,630 Jūs taip pat reikia įtraukti ką? 583 00:24:49,630 --> 00:24:50,060 Taip. 584 00:24:50,060 --> 00:24:54,210 Taigi cs50.h, kuri yra tik failas rašėme prieš keletą metų. 585 00:24:54,210 --> 00:24:57,130 Mes įdiegti ją už jus prietaiso kartu su 586 00:24:57,130 --> 00:24:58,490 visi standartinių failų. 587 00:24:58,490 --> 00:25:00,500 Ir taip, šių klasėje pirmąsias kelias savaites, mes naudosime 588 00:25:00,500 --> 00:25:02,820 tai tik supaprastinti tai labai paprastas procesas 589 00:25:02,820 --> 00:25:04,600 dalykų, pavyzdžiui, gauti vartotojo įvesties. 590 00:25:04,600 --> 00:25:07,370 Nes, kaip matysime po kelių savaičių, gauti naudotojo įvesties 591 00:25:07,370 --> 00:25:10,180 kalbos kaip C yra iš tikrųjų stebėtinai sudėtingas, 592 00:25:10,180 --> 00:25:14,360 ypač todėl, kad jūs neturite žinoti iš anksto, paprastai, kaip 593 00:25:14,360 --> 00:25:17,030 daug dalykų vartotojas ketina įvesti in 594 00:25:17,030 --> 00:25:20,340 Ir, kai jūs nežinote, kiek duomenų galima tikėtis, kad neturi 595 00:25:20,340 --> 00:25:22,380 žinoti, kiek atminties skirti. 596 00:25:22,380 --> 00:25:25,480 Ir, jei jūs iš tikrųjų turi rungtyniškumo vartotojas, kuris bando 597 00:25:25,480 --> 00:25:28,180 nulaužti į savo sistemą, avarijos kompiuterio, gerai, 598 00:25:28,180 --> 00:25:31,600 paprastai yra pirmoji atakos metodas, kaip aš 599 00:25:31,600 --> 00:25:34,950 Pirmadienis, įveskite visą ilgą seką atsitiktinių simbolių, 600 00:25:34,950 --> 00:25:37,020 paspauskite "Enter", ir pamatyti, kas sugenda. 601 00:25:37,020 --> 00:25:40,800 Nes paprastai, jei programa, pertraukų, kad užuominų į 602 00:25:40,800 --> 00:25:42,650 saugumo spraga, gali. 603 00:25:42,650 --> 00:25:45,250 Jis tikrai patarimų į tave, programuotojas, atlikusi 604 00:25:45,250 --> 00:25:49,050 klaida, bet dar pavojingiau, galbūt padarė 605 00:25:49,050 --> 00:25:52,430 su saugumu susijusios klaida, ir paprastai mes matome, kad 606 00:25:52,430 --> 00:25:54,840 mašinos yra pavojus, kad šios dienos, 607 00:25:54,840 --> 00:25:56,620 internete ir programų pasaulyje 608 00:25:56,620 --> 00:25:58,070 komandinės eilutės, kaip šis. 609 00:25:58,070 --> 00:25:58,350 >> Gerai. 610 00:25:58,350 --> 00:26:00,460 Taigi eilutė ai, lygus GetString. 611 00:26:00,460 --> 00:26:03,380 Taigi konkrečiau dabar, ką linija 6 padaryti čia? 612 00:26:03,380 --> 00:26:05,640 Taigi dešinėje funkcija gauna eilutę, 613 00:26:05,640 --> 00:26:06,890 trunka kiek argumentai? 614 00:26:09,458 --> 00:26:09,900 Gerai. 615 00:26:09,900 --> 00:26:10,400 Todėl nė vienas. 616 00:26:10,400 --> 00:26:11,360 Mažai normalumas patikrinti. 617 00:26:11,360 --> 00:26:15,380 Argumentas, vėlgi, yra tiesiog įvesties funkcijos pakeisti 618 00:26:15,380 --> 00:26:17,250 numatytoji elgsena tam tikru būdu. 619 00:26:17,250 --> 00:26:19,540 Tačiau šiuo atveju, aš nenoriu keisti 620 00:26:19,540 --> 00:26:20,650 kad GetString elgesys. 621 00:26:20,650 --> 00:26:22,430 Aš tik norėjau eilutę. 622 00:26:22,430 --> 00:26:25,190 Taigi, aš įdėti nieko skliausteliuose, ir tada aš įdėti 623 00:26:25,190 --> 00:26:27,550 kabliataškis demarking eilutės kodo pabaiga. 624 00:26:27,550 --> 00:26:29,840 Dabar lygybės ženklą nereiškia, lygūs, per se. 625 00:26:29,840 --> 00:26:32,690 Tai reiškia, kad užduotį, o tai reiškia, įrašyti bet kokį gauna 626 00:26:32,690 --> 00:26:36,060 išvedamas dešinėje viduje kokia yra kairėje. 627 00:26:36,060 --> 00:26:39,400 >> Taigi kairėje pusėje, mes sakome, kad pareiškė, 628 00:26:39,400 --> 00:26:41,630 eilutė vadinama. 629 00:26:41,630 --> 00:26:44,240 O tiksliau, mes skirta atminties viduje 630 00:26:44,240 --> 00:26:46,340 mes įdėti bitai, kuris atstovauja seką 631 00:26:46,340 --> 00:26:46,850 simbolių. 632 00:26:46,850 --> 00:26:49,400 Tačiau šiandien, skyrėme 633 00:26:49,400 --> 00:26:51,450 arba paskelbtas eilutę. 634 00:26:51,450 --> 00:26:51,790 Gerai. 635 00:26:51,790 --> 00:26:54,760 Taigi dabar, kai aš padariau tai, aš noriu prijungti vertės 636 00:26:54,760 --> 00:26:56,535 s, o ne Dovydo vertę. 637 00:26:56,535 --> 00:27:00,200 Taigi tai yra negerai, kodėl? 638 00:27:03,060 --> 00:27:04,870 Kad tai tik tiesiog kietai "įsiūtos S. 639 00:27:04,870 --> 00:27:06,870 Tai pasakyti "labas, ai", kuris yra ne ką aš noriu. 640 00:27:06,870 --> 00:27:07,790 Taigi aš galiu tai padaryti. 641 00:27:07,790 --> 00:27:10,330 Procento ženklas yra vietos rezervavimo ženklas, bet dabar man reikia 642 00:27:10,330 --> 00:27:12,520 patenka į išspausdinti antrąjį argumentą. 643 00:27:12,520 --> 00:27:15,160 Prisiminkite, kad argumentai funkcijų atskiriami 644 00:27:15,160 --> 00:27:20,300 kablelių, todėl kitą kablelis čia aš po to raidė s. 645 00:27:20,300 --> 00:27:23,740 Ir šiame kontekste dabar, ai yra kintamasis, o printf, 646 00:27:23,740 --> 00:27:25,550 gavęs šiuos du įėjimai - 647 00:27:25,550 --> 00:27:29,440 iš dešinės į kairę ir Kintamojo pavadinimas ai eilutė - 648 00:27:29,440 --> 00:27:32,750 ji bus prijungti pastarajai į buvęs mums, ir 649 00:27:32,750 --> 00:27:34,600 tiesiog atsispausdinti gražią gražią eilutę, kurioje 650 00:27:34,600 --> 00:27:36,770 kokia ji yra, mes įvedėte in 651 00:27:36,770 --> 00:27:37,560 >> Taigi, pabandykime tai. 652 00:27:37,560 --> 00:27:38,860 Ketinate eiti į priekį ir nutolinti, nugaros 653 00:27:38,860 --> 00:27:40,250 mano terminalo lange. 654 00:27:40,250 --> 00:27:41,840 Padidinti apačioje. 655 00:27:41,840 --> 00:27:44,070 Iš naujo įvesti padaryti Apie. 656 00:27:44,070 --> 00:27:45,870 Apsukite metalinis garsas, atrodo, buvo pakartotas. 657 00:27:45,870 --> 00:27:49,280 Aš ruošiuosi rašyti. / Hello, Įveskite. 658 00:27:49,280 --> 00:27:52,145 Niekas, atrodo, vyksta dar, bet tai ne tai greitai 659 00:27:52,145 --> 00:27:55,700 kad aš galiu įvesti kažką panašaus į Nate, Enter, ir dabar mes turime 660 00:27:55,700 --> 00:27:56,380 Sveiki, Nate. 661 00:27:56,380 --> 00:27:59,600 Ir aš galiu padaryti jį dar kartą su Rob ir kt. 662 00:27:59,600 --> 00:28:03,410 Taigi tikiuosi, dabar ši programa elgiasi, kaip ketinu. 663 00:28:03,410 --> 00:28:05,720 >> Dabar, o ne visi, kad patogi. 664 00:28:05,720 --> 00:28:07,930 Aš ne idėja, kas buvo tikėtis iš manęs. 665 00:28:07,930 --> 00:28:09,620 Taigi, mes tikrai gali išvalyti iki šiek tiek. 666 00:28:09,620 --> 00:28:13,270 Leiskite man grįžti čia, o ne tik nardymas ir 667 00:28:13,270 --> 00:28:16,480 paprašyti, kad naudotojas eilutę, leiskite man aiškiai pasakyti 668 00:28:16,480 --> 00:28:17,750 vartotojo, ką aš tikėjosi. 669 00:28:17,750 --> 00:28:21,610 Taigi printf ("Įveskite eilutę:" 670 00:28:21,610 --> 00:28:24,080 ); 671 00:28:24,080 --> 00:28:25,510 Taigi čia nėra kintamieji. 672 00:28:25,510 --> 00:28:26,750 Nėra proc ženklai. 673 00:28:26,750 --> 00:28:28,550 Tiesiog paprastas anglų frazė. 674 00:28:28,550 --> 00:28:34,030 Leiskite man eiti į apačią ir iš naujo paleisti savo programą. 675 00:28:34,030 --> 00:28:35,380 Bet niekas, atrodo, pasikeitė. 676 00:28:35,380 --> 00:28:37,350 Kodėl? 677 00:28:37,350 --> 00:28:38,380 Turiu perkompiliuoti jį. 678 00:28:38,380 --> 00:28:39,570 Taip paprasta klaida padaryti. 679 00:28:39,570 --> 00:28:41,700 Bet jūs turite ne tik išsaugoti failą, bet 680 00:28:41,700 --> 00:28:43,260 perkompiliuoti programą. 681 00:28:43,260 --> 00:28:46,640 Ir todėl, jei aš iš naujo paleisti hello, dabar Apsukite metalinis garsas veikia. 682 00:28:46,640 --> 00:28:51,800 Dabar galiu paleisti. / Hello. Ir dabar matau "Įveskite eilutę:". 683 00:28:51,800 --> 00:28:52,050 Gerai. 684 00:28:52,050 --> 00:28:53,440 Dabar ji šiek tiek patogesnis. 685 00:28:53,440 --> 00:28:55,850 Nate, Enter, hello, Nate. 686 00:28:55,850 --> 00:28:57,310 >> Na, pabandykime šį kartą ir pradėti galvoti 687 00:28:57,310 --> 00:28:58,080 kampe atvejais. 688 00:28:58,080 --> 00:29:00,520 Taigi tiesiog kaip nulio, jūs skatinami arba 689 00:29:00,520 --> 00:29:03,180 skatinamas spec rūšies galvoti apie tai, kas gali eiti 690 00:29:03,180 --> 00:29:06,610 neteisinga, jei jūs neturite numatyti viską, vartotojas gali padaryti. 691 00:29:06,610 --> 00:29:08,050 Klaidas, todėl gali atsirasti. 692 00:29:08,050 --> 00:29:09,710 Taigi įveskite eilutę - 693 00:29:09,710 --> 00:29:11,130 kas kampas atveju? 694 00:29:11,130 --> 00:29:13,320 Kas yra scenarijus, kad aš, programuotojas, gali neturėti 695 00:29:13,320 --> 00:29:16,070 tikimasi? 696 00:29:16,070 --> 00:29:17,600 Taip. 697 00:29:17,600 --> 00:29:17,920 Gerai. 698 00:29:17,920 --> 00:29:22,060 Taigi ką daryti, jei aš tipo kaip šis? 699 00:29:22,060 --> 00:29:22,500 Gerai. 700 00:29:22,500 --> 00:29:24,490 Taigi, ji vis dar veikia. 701 00:29:24,490 --> 00:29:25,880 Gramatically neturi prasmės. 702 00:29:25,880 --> 00:29:27,180 Bet bent jau programa veikia. 703 00:29:27,180 --> 00:29:28,650 >> Kas kito kampo atveju? 704 00:29:28,650 --> 00:29:29,610 Kažkas, aš nesitikėjau. 705 00:29:29,610 --> 00:29:31,590 Taip? 706 00:29:31,590 --> 00:29:31,940 Gerai. 707 00:29:31,940 --> 00:29:34,950 Taigi, mes galime padaryti kažką panašaus tikrai, tikrai didelis skaičius. 708 00:29:34,950 --> 00:29:37,270 Taigi, galime padaryti čia. 709 00:29:37,270 --> 00:29:40,880 Leiskite man nutolinti per sekundę, leiskite man pabrėžti. 710 00:29:40,880 --> 00:29:42,250 Ar ne kopijuoti ir įklijuoti žemyn čia. 711 00:29:42,250 --> 00:29:42,470 Gerai. 712 00:29:42,470 --> 00:29:44,440 Taigi aš negaliu nukopijuokite ir įklijuokite šio terminalo lange, todėl mes 713 00:29:44,440 --> 00:29:46,950 tiesiog imituoti jį. 714 00:29:46,950 --> 00:29:51,340 Leiskite man nutolinti, wrap. 715 00:29:51,340 --> 00:29:52,700 Aš ne ketinate daryti tai per ilgai, nes jis nebus 716 00:29:52,700 --> 00:29:54,440 pertraukos šią programą. 717 00:29:54,440 --> 00:29:55,260 , Bet jis gali. 718 00:29:55,260 --> 00:29:55,830 Įveskite. 719 00:29:55,830 --> 00:29:56,580 Bet ji to nepadarė. 720 00:29:56,580 --> 00:29:57,050 Gerai. 721 00:29:57,050 --> 00:29:58,440 Bet tai tikras kampas atvejis. 722 00:29:58,440 --> 00:30:01,610 Ir vienintelė priežastis, kad elgiasi teisingai, todėl 723 00:30:01,610 --> 00:30:05,820 kalbėti, nes CS50 funkcija GetString yra iš tikrųjų 724 00:30:05,820 --> 00:30:08,040 sukurta po gaubtu, kaip matysime po kelių savaičių, 725 00:30:08,040 --> 00:30:11,570 automatiškai suteikia vis daugiau ir daugiau RAM, vis daugiau ir daugiau 726 00:30:11,570 --> 00:30:14,330 atmintį, operacinės sistemos, kai ji supranta, wow, 727 00:30:14,330 --> 00:30:16,670 jūs tikrai įvedėte kažką gana ilgai. 728 00:30:16,670 --> 00:30:18,500 Dabar, tai yra šiek tiek balto melas. 729 00:30:18,500 --> 00:30:22,020 Jei mes iš tikrųjų gana ilgai patylėjo ir aš įvedėte 730 00:30:22,020 --> 00:30:24,640 kažkas panašaus į 5 mlrd. simbolių klaviatūros 731 00:30:24,640 --> 00:30:28,060 čia, ar tikrai nukentėjo copy-paste gana nemažai, mes turbūt 732 00:30:28,060 --> 00:30:29,730 gali sukelti programos užbaigimas. 733 00:30:29,730 --> 00:30:32,130 Tik šiek tiek sunkiau imituoti, kad su galutiniais 734 00:30:32,130 --> 00:30:33,740 laiko. 735 00:30:33,740 --> 00:30:37,320 >> Tai, kas kito kampo atveju mes galėtume pabandyti? 736 00:30:37,320 --> 00:30:38,730 Taip? 737 00:30:38,730 --> 00:30:39,020 Taip. 738 00:30:39,020 --> 00:30:40,360 Tad kodėl gi ne mes atsakysime nieko? 739 00:30:40,360 --> 00:30:43,130 Taigi, mes iš tikrųjų turime imtis tam tikrų veiksmų, nes kitaip 740 00:30:43,130 --> 00:30:45,060 programa ketina sėdėti ten mirksi visą dieną. 741 00:30:45,060 --> 00:30:46,860 Bet jei aš tiesiog paspauskite "Enter" - 742 00:30:46,860 --> 00:30:48,780 Gerai, dabar, vis dar atrodo negerai. 743 00:30:48,780 --> 00:30:51,670 Ar ne avarijos, bet gal ten dabar atsirado galimybė 744 00:30:51,670 --> 00:30:54,190 pradėti įgyvendinti griežtesnę programą 745 00:30:54,190 --> 00:30:55,290 kad tikrintų. 746 00:30:55,290 --> 00:30:57,640 O jei tokią eilutę, sakinys, žodis, kurį 747 00:30:57,640 --> 00:31:00,890 įvestas ILGIS 0, gerai, gal man reikia klykauti 748 00:31:00,890 --> 00:31:03,770 vartotojui, arba pasakykite jam ar jai dar kartą įvesti eilutę, kad 749 00:31:03,770 --> 00:31:06,560 mes iš tikrųjų gauti tai, ko atrodo teisingą elgesį, o ne 750 00:31:06,560 --> 00:31:08,570 tik baigtas mano pusės priežiūrą. 751 00:31:08,570 --> 00:31:11,130 >> Klausimas atgal? 752 00:31:11,130 --> 00:31:11,970 Dešimtainis skaičius. 753 00:31:11,970 --> 00:31:13,120 Taigi, mes galime pabandyti, kad per daug. 754 00:31:13,120 --> 00:31:16,840 1,10000005. 755 00:31:16,840 --> 00:31:19,470 Atrodo, kad vyksta tik iš tikrųjų gerai dirbti. 756 00:31:19,470 --> 00:31:21,160 Ir kad iš tikrųjų yra tikimasi. 757 00:31:21,160 --> 00:31:24,550 , Nors mes gali įvedėte šis skaičius ten, arba 758 00:31:24,550 --> 00:31:28,200 didesnis skaičius anksčiau, suprantame, kad kai mes rašyti vartotoją 759 00:31:28,200 --> 00:31:31,070 įvesties ir mes naudojame GetString funkciją, nėra 760 00:31:31,070 --> 00:31:34,380 nesvarbu, ar kas wpisuję atrodo numerį. 761 00:31:34,380 --> 00:31:36,720 Primintina, kad pagal ASCII, viskas Jūsų 762 00:31:36,720 --> 00:31:39,920 klaviatūra turi skaitinę vertę, kuri gali būti susietas su 763 00:31:39,920 --> 00:31:41,480 personažas, char. 764 00:31:41,480 --> 00:31:44,490 Taigi šiuo atveju, nors aš galėtų įvesti skaičių, 765 00:31:44,490 --> 00:31:48,190 kompiuteris vyksta galvoti apie tai, taip sakant, kaip eilutę - 766 00:31:48,190 --> 00:31:49,870 kažkas, kad atrodo kaip skaičių, bet 767 00:31:49,870 --> 00:31:51,090 faktiškai nėra skaičius. 768 00:31:51,090 --> 00:31:53,450 Bet tai iš tiesų puikus Segue, nes dabar mes galime 769 00:31:53,450 --> 00:31:55,450 iš tikrųjų perėjimas prie rašymo programų, kad 770 00:31:55,450 --> 00:31:56,730 naudoti kitus duomenų tipus. 771 00:31:56,730 --> 00:32:01,840 >> Taigi, be to, naudojant simbolių, arba, o, be to, naudojant styginiams, 772 00:32:01,840 --> 00:32:04,510 suprantame, kad turime taip pat kitų duomenų tipai C 773 00:32:04,510 --> 00:32:05,230 kitų kalbų. 774 00:32:05,230 --> 00:32:08,480 Char, kaip rodo pavadinimas, yra tik vienas simbolis. 775 00:32:08,480 --> 00:32:12,150 Plūdė yra slankaus kablelio reikšmė, ir tai tik išgalvotas 776 00:32:12,150 --> 00:32:14,470 būdas pasakyti, realus skaičius - kažkas, kad turi dešimtainį kablelį 777 00:32:14,470 --> 00:32:17,410 su kai kurių skaičių į kairę ir / ar taškas. 778 00:32:17,410 --> 00:32:21,370 Int yra sveikasis skaičius, kuris yra tik kaip 123 numeris. 779 00:32:21,370 --> 00:32:24,170 Ir dabar dar įdomiau yra dalykų, pavyzdžiui, dvigubai. 780 00:32:24,170 --> 00:32:28,540 Ką mes sakome, du kartus buvo paskutinį kartą? 781 00:32:28,540 --> 00:32:30,050 64, teisus. 782 00:32:30,050 --> 00:32:33,560 Taigi kadangi paprastai plūdė yra 32-bitų 783 00:32:33,560 --> 00:32:37,340 todėl ši ilgai atmintyje, jis naudoja 32 nulių ir 784 00:32:37,340 --> 00:32:40,530 atstovauja vertybes - dukart yra tiesiog du kartus, kad 785 00:32:40,530 --> 00:32:43,810 reiškia, kad jums gali atstovauti didesnius numerius arba 786 00:32:43,810 --> 00:32:45,810 galite atstovauti tikslesnius skaičius. 787 00:32:45,810 --> 00:32:48,690 Todėl jūs galite turėti daugiau numerių po kablelio, bet 788 00:32:48,690 --> 00:32:51,520 kolegos sakė, vaizdo, net ką nors paprasto, 789 00:32:51,520 --> 00:32:55,360 konceptualiai kaip 1/3 negali būti atstovaujama būtent 790 00:32:55,360 --> 00:32:58,330 kompiuteris, nes galų gale paleisti bitų ir 791 00:32:58,330 --> 00:33:02,510 todėl jūs galite padaryti tik .33333333 tiek daug kartų, 792 00:33:02,510 --> 00:33:05,050 tada jums tereikia pasakyti, aš iš atstovavimo 793 00:33:05,050 --> 00:33:08,120 erdvė, turiu tiesiog vadina jį dieną ir jam atstovauja 794 00:33:08,120 --> 00:33:10,200 šiek tiek netiksliai tai patinka. 795 00:33:10,200 --> 00:33:11,110 Ir ilgai ilgai 796 00:33:11,110 --> 00:33:13,880 kvailas pavadinimas, bet tai todėl, kad yra duomenų tipas, žinomas kaip 797 00:33:13,880 --> 00:33:19,350 ilgai C, kuris atsitiktinai dažnai yra 32 bitų, kaip 798 00:33:19,350 --> 00:33:21,670 Žiniasklaida yra 32 bitų, bet ilgai ilgai 799 00:33:21,670 --> 00:33:23,560 paprastai 64 bitai. 800 00:33:23,560 --> 00:33:25,740 Taigi, tai tiesiog reiškia, kad gali atstovauti didesnis 801 00:33:25,740 --> 00:33:26,990 numeriai, nei šis. 802 00:33:26,990 --> 00:33:27,410 >> Gerai. 803 00:33:27,410 --> 00:33:29,390 Taigi, jei mes iš tikrųjų nori pradėti atstovaujanti dalykų, mes 804 00:33:29,390 --> 00:33:31,030 gali prireikti daugiau sudėtingų tipai ir 805 00:33:31,030 --> 00:33:32,340 Štai kodėl mes turime eilutę. 806 00:33:32,340 --> 00:33:36,450 Taigi CS50 bibliotekoje, kad failas, kuris vadinamas cs50.h, mes 807 00:33:36,450 --> 00:33:41,110 tikrųjų deklaravo duomenų tipas, taip sakant, vadinamas eilutė, 808 00:33:41,110 --> 00:33:42,710 bet eilutėje nėra iš tikrųjų egzistuoja. 809 00:33:42,710 --> 00:33:44,780 Tai, vėlgi, vienas iš šių sluoksnių mes žievelės 810 00:33:44,780 --> 00:33:47,490 atgal į savaitę ar dvi ir jį išmeskite, ir faktiškai 811 00:33:47,490 --> 00:33:49,640 po gaubtu eilutė iš tikrųjų yra, ir 812 00:33:49,640 --> 00:33:50,840 kaip ji atstovavo. 813 00:33:50,840 --> 00:33:53,520 Mes taip pat ketiname pažvelgti į Būlio vertybių. 814 00:33:53,520 --> 00:33:56,040 >> Taigi, kas buvo braižymuisi bool? 815 00:33:59,154 --> 00:34:00,300 Jis yra true arba false. 816 00:34:00,300 --> 00:34:03,900 Taigi, tai tik vertė, tai yra true arba false, įjungti arba išjungti, 1 arba 817 00:34:03,900 --> 00:34:06,140 0, tačiau norite matyti pasaulį. 818 00:34:06,140 --> 00:34:09,739 Taigi C dėka su CS50 bibliotekoje, o tai savo ruožtu 819 00:34:09,739 --> 00:34:12,179 kitą po gaubtu biblioteką, mes turime 820 00:34:12,179 --> 00:34:14,909 prieigą prie duomenų tipo, tai vadinama bool, kuris bus 821 00:34:14,909 --> 00:34:18,730 tiesiog leidžia mums priskirti reikšmės true arba false 822 00:34:18,730 --> 00:34:20,219 dalykų programos. 823 00:34:20,219 --> 00:34:23,880 >> Taigi eikime į priekį čia ir rašyti maža programa, kuri 824 00:34:23,880 --> 00:34:26,330 ar kažką dalyvauja numerius vietoj. 825 00:34:26,330 --> 00:34:29,840 Taigi leiskite man grįžti į CS50 Appliance, leisk man eiti į priekį ir 826 00:34:29,840 --> 00:34:32,770 sukurti naują failą čia vadinama - 827 00:34:32,770 --> 00:34:35,460 tegul tiesiog pasakyti, ką nors paprasto, pavyzdžiui, math.c. 828 00:34:38,270 --> 00:34:38,710 Gerai. 829 00:34:38,710 --> 00:34:41,600 Ir dabar eiti į mano programos viršuje, aš 830 00:34:41,600 --> 00:34:42,510 ketinate daryti įprasta - 831 00:34:42,510 --> 00:34:44,780 # Include , kad aš galiu naudoti 832 00:34:44,780 --> 00:34:46,860 printf int main (void) - 833 00:34:46,860 --> 00:34:49,270 mes grįžti, galų gale, kas int tai 834 00:34:49,270 --> 00:34:52,389 čia kas negalioja čia reiškia, bet dabar, tiesiog žinoti, kad 835 00:34:52,389 --> 00:34:54,270 jūs turite pradėti panašiose programose. 836 00:34:54,270 --> 00:34:56,280 Dabar aš ruošiuosi eiti į priekį ir pasakyti kažką šiek tiek 837 00:34:56,280 --> 00:35:02,110 skirtingi - printf ("Duok man numerį:" 838 00:35:02,110 --> 00:35:03,570 );. 839 00:35:03,570 --> 00:35:09,220 Tada aš ruošiuosi daryti int n = GetInt, nes ji 840 00:35:09,220 --> 00:35:12,770 GetInt Pasirodo, yra dar vienas CS50 bibliotekos funkcija 841 00:35:12,770 --> 00:35:14,060 be GetString. 842 00:35:14,060 --> 00:35:17,340 Ir dabar aš ruošiuosi padaryti kažką kvaila, kaip "dėka 843 00:35:17,340 --> 00:35:25,760 % d, "dešimtainis sveikasis skaičius, ir tada kableliais n 844 00:35:25,760 --> 00:35:26,620 tada grįžti 0. 845 00:35:26,620 --> 00:35:28,940 Taigi dar kartą, grįžti 0 neturi nieko daryti su numeriu, aš tikiu, 846 00:35:28,940 --> 00:35:30,080 klausia vartotojui. 847 00:35:30,080 --> 00:35:33,620 Tiesiog reiškia, pabaigoje, kad visi, matyt, yra gerai. 848 00:35:33,620 --> 00:35:36,290 >> Taigi leiskite man eiti į mano terminalo lange čia. 849 00:35:36,290 --> 00:35:39,590 Leiskite man įvesti padaryti matematikos, įveskite. 850 00:35:39,590 --> 00:35:41,360 Ir kažkas negerai. 851 00:35:41,360 --> 00:35:44,620 Padaryti matematikos didnt darbą. 852 00:35:44,620 --> 00:35:46,170 Štai pirmasis mūsų klaidų pranešimų. 853 00:35:46,170 --> 00:35:46,570 Kodėl? 854 00:35:46,570 --> 00:35:49,720 Šiek tiek paslaptingas, tačiau - 855 00:35:49,720 --> 00:35:50,060 Taip. 856 00:35:50,060 --> 00:35:51,240 Taigi cs50.h. 857 00:35:51,240 --> 00:35:53,900 Taigi dar kartą, ypač anksti, jums parašyti savo 858 00:35:53,900 --> 00:35:56,590 skyriuose, darbo valandomis programa pset 1 ir 859 00:35:56,590 --> 00:35:59,050 atvirai, tai bus itin svarūs kartais tai, kas šie dalykai 860 00:35:59,050 --> 00:36:00,000 iš tikrųjų sako. 861 00:36:00,000 --> 00:36:01,890 Bet jūs suprasite, labai greitai jie pradeda kristi 862 00:36:01,890 --> 00:36:06,120 į grupes, kai tai vienas tai reiškia, kad jūs jau palikote vienas 863 00:36:06,120 --> 00:36:08,290 # failo viršuje. 864 00:36:08,290 --> 00:36:10,960 Apsukite metalinis garsas, kompiliatorių, informuoti Jus apie tai 865 00:36:10,960 --> 00:36:14,090 sakydamas gana Fantazyjnie, numanomas deklaracija 866 00:36:14,090 --> 00:36:15,990 funkcija GetInt yra neteisinga. 867 00:36:15,990 --> 00:36:16,310 >> Gerai. 868 00:36:16,310 --> 00:36:17,520 Taigi, ką tai reiškia? 869 00:36:17,520 --> 00:36:22,080 Tai tiesiog reiškia, kad jūs netiesiogiai pareiškė GetInt, 870 00:36:22,080 --> 00:36:24,850 ta prasme, kad jums dar nėra aiškiai pripažino. 871 00:36:24,850 --> 00:36:27,300 Aiškiai paskelbti int, jūs turite mokyti 872 00:36:27,300 --> 00:36:28,740 Apsukite metalinis garsas, kad jis egzistuoja. 873 00:36:28,740 --> 00:36:32,020 Ir labai paprastas sprendimas, kad yra išmokyti jį 874 00:36:32,020 --> 00:36:34,780 įskaitant šio kitas failas, cs50.h ne 875 00:36:34,780 --> 00:36:35,850 savo failo viršuje. 876 00:36:35,850 --> 00:36:40,380 Nes pažodžiui, # include jis pasakoja Apsukite metalinis garsas 877 00:36:40,380 --> 00:36:44,030 gana daug eiti rasti failą pavadinimu cs50.h, kopijuoti, 878 00:36:44,030 --> 00:36:48,150 automatiškai įklijuokite jį už mane, į mano programa viršuje 879 00:36:48,150 --> 00:36:50,850 ir tada konvertuoti šaltinio kodą, kad nulių ir. 880 00:36:50,850 --> 00:36:52,850 Bet tai, be abejo, būti labai varginantis, jei mes, žmonės, 881 00:36:52,850 --> 00:36:55,370 eiti kopijuoti ir įklijuoti šiuos didelius failus visą laiką, 882 00:36:55,370 --> 00:36:58,540 # include tiesiog daro viską, kas automatiškai be 883 00:36:58,540 --> 00:37:01,550 savo kodą muddying kažkieno bibliotekoje. 884 00:37:01,550 --> 00:37:06,370 Ir biblioteka yra tik vienas failas, kuriame yra funkcijos ir 885 00:37:06,370 --> 00:37:08,340 kitų dalykų, kad kažkas parašė, kad mes esame 886 00:37:08,340 --> 00:37:10,270 įtakos mūsų pačių labui. 887 00:37:10,270 --> 00:37:10,580 >> Gerai. 888 00:37:10,580 --> 00:37:11,200 Pabandykime dar kartą. 889 00:37:11,200 --> 00:37:12,250 Padaryti matematikos. 890 00:37:12,250 --> 00:37:13,120 Įveskite. 891 00:37:13,120 --> 00:37:13,530 Geras. 892 00:37:13,530 --> 00:37:14,880 Taip, kad atrodo, kad dirbo. 893 00:37:14,880 --> 00:37:18,330 Taigi, leiskite man dabar paleisti matematikos / matematikos. 894 00:37:18,330 --> 00:37:21,100 Įveskite man suteikia numerį, 123. 895 00:37:21,100 --> 00:37:22,620 Ačiū, taikant 123. 896 00:37:22,620 --> 00:37:24,490 Dabar pabandykime kito kampo bylą. 897 00:37:24,490 --> 00:37:26,530 Eilutė yra gana turtinga, nes 898 00:37:26,530 --> 00:37:27,620 eilutė gali būti bet kas. 899 00:37:27,620 --> 00:37:28,910 Gali atrodyti skaičių, atrodo 900 00:37:28,910 --> 00:37:30,600 simbolių, atrodyti žodžiais. 901 00:37:30,600 --> 00:37:31,900 Tačiau int int. 902 00:37:31,900 --> 00:37:34,370 Taigi dabar, jei aš esu sunku, ir jis sako: "Duok man 903 00:37:34,370 --> 00:37:38,730 skaičius, "kas, jei aš pabandyti padaryti kažką panašaus 0,1? 904 00:37:38,730 --> 00:37:41,510 Na, tai skaičius, ir tai suderinta su 905 00:37:41,510 --> 00:37:44,180 gramatikos aš čia, bet po gaubtu, aš tikiu, 906 00:37:44,180 --> 00:37:45,610 kursas naudojant funkciją GetInt. 907 00:37:45,610 --> 00:37:46,610 >> Taigi pažiūrėkime, kas atsitinka. 908 00:37:46,610 --> 00:37:48,250 Įveskite, bandykite dar kartą. 909 00:37:48,250 --> 00:37:48,560 Gerai. 910 00:37:48,560 --> 00:37:50,570 Leiskite man būti sunku ir tiesiog paspauskite "Enter" dar kartą. 911 00:37:50,570 --> 00:37:51,700 "Enter", "Enter". 912 00:37:51,700 --> 00:37:53,890 Taigi, dabar atrodo kad GetInt yra šiek tiek daugiau 913 00:37:53,890 --> 00:37:55,240 galingas nei GetString. 914 00:37:55,240 --> 00:37:58,540 Mes, darbuotojai, įgyvendinama taip, kad, jei pastebėsime 915 00:37:58,540 --> 00:38:02,100 turite ne mums davė int - Žiniasklaida yra dešimtainis skaičius 916 00:38:02,100 --> 00:38:04,785 , kurių sudėtyje yra nulinės, kas du, tris, ketvertus, penketus, šešias, 917 00:38:04,785 --> 00:38:05,540 sevens, aštuonios ar devynetai. 918 00:38:05,540 --> 00:38:06,310 Ir viskas. 919 00:38:06,310 --> 00:38:08,810 Skaitmenų po kablelio nėra, jokių ženklų, ne skyrybos. 920 00:38:08,810 --> 00:38:10,390 Atrodo, kad mes turime bendradarbiauti. 921 00:38:10,390 --> 00:38:13,680 Taigi, leiskite man pabandyti keturi, penki, šeši, ir, kad jis pasireiškia mane per. 922 00:38:13,680 --> 00:38:16,760 Taigi tikrai, analinis čia, aš tikriausiai turėtų pasakyti: "Duok man 923 00:38:16,760 --> 00:38:20,310 sveikasis skaičius "siekiant perteikti naudotojui 924 00:38:20,310 --> 00:38:22,620 tai, ką ketinu. 925 00:38:22,620 --> 00:38:24,090 >> Dabar pagalvokime apie po gaubtu. 926 00:38:24,090 --> 00:38:27,930 Mes neketiname pažvelgti kaip cs50.h šiandien yra įgyvendinama, 927 00:38:27,930 --> 00:38:29,080 biblioteka. 928 00:38:29,080 --> 00:38:33,600 Bet jei ji išlaiko sakydamas: retry, bandykite dar kartą, bandykite dar kartą, kokia programavimo 929 00:38:33,600 --> 00:38:36,970 statyti aš tikriausiai naudoti po gaubtu 930 00:38:36,970 --> 00:38:39,000 įgyvendinti, kad? 931 00:38:39,000 --> 00:38:39,980 Taigi tiesiog kilpa, tiesa? 932 00:38:39,980 --> 00:38:41,930 Vienas iš paprasčiausių idėjų, kad mes matėme ant nulio. 933 00:38:41,930 --> 00:38:45,050 Visada statyti, pakartojimo statyti. 934 00:38:45,050 --> 00:38:47,320 Matyt, šioje programoje, po gaubtu, net 935 00:38:47,320 --> 00:38:49,470 nors tai parašyta C ir ne nulio, ji tai daro 936 00:38:49,470 --> 00:38:54,300 kažkas vadinamas atitinka amžinai, jei vartotojas neturi 937 00:38:54,300 --> 00:38:58,710 įvestas sveikasis skaičius, tarkim pabandyti dar kartą, pabandyti dar kartą, pabandyti dar kartą, bandykite dar kartą, todėl 938 00:38:58,710 --> 00:39:01,220 galiausiai, kai mes darome gauti sveikąjį skaičių, tada jūs 939 00:39:01,220 --> 00:39:02,970 ištrūkti iš tos linijos. 940 00:39:02,970 --> 00:39:05,610 >> Taigi, ką kiti funkcijos mes galime naudoti čia CS50 bibliotekos? 941 00:39:05,610 --> 00:39:07,880 Na, akivaizdžių rūšies, bent jau remiantis 942 00:39:07,880 --> 00:39:09,570 duomenų tipai, kad dabar mes žinome, egzistuoti. 943 00:39:09,570 --> 00:39:12,900 Mes įdiegėme GetString, GetInt, bet ir visame 944 00:39:12,900 --> 00:39:15,680 pirmųjų savaičių termino, taip pat galite naudoti GetFloat ir 945 00:39:15,680 --> 00:39:18,870 Siekiant gauti būtent GetDouble ir GetLongLong 946 00:39:18,870 --> 00:39:20,030 duomenų tipai, kuriuos norite. 947 00:39:20,030 --> 00:39:24,030 Nes čia pagrindinė detalė yra tai, kad, skirtingai nuo kai kurių kalbų, 948 00:39:24,030 --> 00:39:26,630 kaip Python ir Ruby, kur nebūtinai turi 949 00:39:26,630 --> 00:39:29,730 deklaruoti kintamojo duomenų tipą - 950 00:39:29,730 --> 00:39:32,390 jūs neturite pasakyti kompiuterio, kokios rūšies daiktų 951 00:39:32,390 --> 00:39:34,000 jūs ketinate įdėti į kintamasis - 952 00:39:34,000 --> 00:39:36,640 C, jūs turite būti vis tiek tikslūs. 953 00:39:36,640 --> 00:39:40,060 Taigi, jei norite, kad kintamasis vadinamas n, saugojimo riekė 954 00:39:40,060 --> 00:39:42,900 kad šiuo atveju būna, kad 32 bitų pagal susitarimą 955 00:39:42,900 --> 00:39:45,660 pasakyti kompiuterio, kad šitie bitai 956 00:39:45,660 --> 00:39:47,840 ketinate laikyti numerį - 957 00:39:47,840 --> 00:39:50,630 ne personažas, ne eilutę, o ne plūdė. 958 00:39:50,630 --> 00:39:52,620 Ir tai išsprendžia problemą, mes efektyviai 959 00:39:52,620 --> 00:39:53,760 įvažiavo į praeitą savaitę. 960 00:39:53,760 --> 00:39:57,050 Jei mes naudojame nulių ir numerius sudaro ne tik 961 00:39:57,050 --> 00:40:00,770 numerius, bet ir pusryčių ir Cs, kaip pasaulyje yra 962 00:40:00,770 --> 00:40:03,460 kompiuteris einate žinoti, kad faktiškai ši bitų modelis 963 00:40:03,460 --> 00:40:07,650 sudaro skaičių 65, o ne atstovaujančių 964 00:40:07,650 --> 00:40:09,860 laiškas, kuris atsitiktinai, pagal 965 00:40:09,860 --> 00:40:13,440 ASCII, prisimenu, buvo lygiavertis iki 65? 966 00:40:13,440 --> 00:40:16,550 >> Taigi šie duomenų tipai pateikti kontekstą prie kompiuterio, todėl 967 00:40:16,550 --> 00:40:18,810 kad jis žino, jei šitie bitai turėtų būti aiškinamas kaip 968 00:40:18,810 --> 00:40:23,660 int arba kaip eilutę. 969 00:40:23,660 --> 00:40:26,500 Bet kokių klausimų, tada apie tai? 970 00:40:26,500 --> 00:40:28,149 Taip? 971 00:40:34,780 --> 00:40:35,270 David J. Malan: Geras klausimas. 972 00:40:35,270 --> 00:40:39,140 Jeigu mes priimsime stdio.h, išsaugokite failą 973 00:40:39,140 --> 00:40:44,360 leiskite man eiti į terminalo langą ir paleisti padaryti matematikos, zoom 974 00:40:44,360 --> 00:40:45,530 , ir įveskite 975 00:40:45,530 --> 00:40:47,700 dabar gaunu kitą klaidą, nes aš netiesiogiai 976 00:40:47,700 --> 00:40:49,650 nurodant, kokią funkciją dabar? 977 00:40:49,650 --> 00:40:50,700 Printf. 978 00:40:50,700 --> 00:40:52,970 Taigi dabar aš sukūriau naują problemą, kurios sprendimas yra 979 00:40:52,970 --> 00:40:53,890 esmės tas pats. 980 00:40:53,890 --> 00:40:55,365 Man reikia įdėti, kad atgal. 981 00:40:55,365 --> 00:40:56,615 Auditorija: [nesigirdi] 982 00:41:03,534 --> 00:41:04,030 David J. Malan: oh. 983 00:41:04,030 --> 00:41:04,850 Taigi, jei aš - 984 00:41:04,850 --> 00:41:05,360 Gerai, yeah. 985 00:41:05,360 --> 00:41:08,960 Taigi, jei aš pašalinti standartinis I / O lib įtraukimą 986 00:41:08,960 --> 00:41:12,020 čia, ir tada jūs sakote, jei aš gauti atsikratyti printf gauti 987 00:41:12,020 --> 00:41:13,450 atsikratyti printf? 988 00:41:13,450 --> 00:41:13,810 Taip. 989 00:41:13,810 --> 00:41:18,450 Tai turėtų dirbti, nes aš jau ne naudojant bet kurį šūksniais. 990 00:41:18,450 --> 00:41:20,110 Aš tiesiog guli? 991 00:41:20,110 --> 00:41:21,650 O, gerai. 992 00:41:21,650 --> 00:41:25,640 Tai neveiks, nes nauja klaida, mes ką tik pristatė. 993 00:41:25,640 --> 00:41:28,390 Ir šis yra šiek tiek daugiau, savaime suprantama. 994 00:41:28,390 --> 00:41:29,440 >> Kokia tai problema? 995 00:41:29,440 --> 00:41:30,680 Nepanaudoti kintamųjų n. 996 00:41:30,680 --> 00:41:34,040 Taigi ši klaida yra mūsų sukonfigūruota rezultatas 997 00:41:34,040 --> 00:41:36,640 prietaisas būti itin pedantiškas, tikrai klykauti 998 00:41:36,640 --> 00:41:39,060 jums visų galimų klaidą, net jei tai tipo 999 00:41:39,060 --> 00:41:41,950 nemirtinas klaida kaip šis - tai tikrai toks didelis 1000 00:41:41,950 --> 00:41:44,820 spręsti, kad aš paskirtas int, įdėti numerį jame, ir tada 1001 00:41:44,820 --> 00:41:46,030 tiesiog nieko nedarė su juo? 1002 00:41:46,030 --> 00:41:47,020 Iki funkciškai, Nr. 1003 00:41:47,020 --> 00:41:50,410 Kad nesiruošia nutraukti programą. 1004 00:41:50,410 --> 00:41:51,490 Tai tiesiog rūšies kvaila, tiesa? 1005 00:41:51,490 --> 00:41:54,220 Yra ne vertė paprašė šio skaičiaus saugomi 1006 00:41:54,220 --> 00:41:56,370 į kintamąjį, jei jūs niekada nieko daryti, 1007 00:41:56,370 --> 00:41:58,000 su juo, ar spausdinti arba išsaugokite jį. 1008 00:41:58,000 --> 00:42:00,270 Taigi, šiuo atveju, Apsukite metalinis garsas pripažindamas, kiek ir 1009 00:42:00,270 --> 00:42:02,010 jis sako nepanaudotų kintamųjų n. 1010 00:42:02,010 --> 00:42:05,380 >> Taigi, mes galime išspręsti šią problemą, jei mes tikrai norime. 1011 00:42:05,380 --> 00:42:07,250 Bet vėl, tai yra gera programavimo dabar. 1012 00:42:07,250 --> 00:42:09,310 , Kad galėčiau tiesiog tai padaryti - 1013 00:42:09,310 --> 00:42:12,060 eiti čia, leiskite man išvalyti ekraną, kad matematikos. 1014 00:42:12,060 --> 00:42:13,090 , Kuri veikia. 1015 00:42:13,090 --> 00:42:18,110 Dabar galiu paleisti mano matematikos programą, mano indėlį 1016 00:42:18,110 --> 00:42:18,700 gerai, kad buvo blogai. 1017 00:42:18,700 --> 00:42:23,450 Mano būdu ir tai yra viskas, ji šiuo atveju. 1018 00:42:23,450 --> 00:42:25,220 >> Taigi faktiškai, pabandykime vieną kitą kampe bylą, kad mes 1019 00:42:25,220 --> 00:42:26,300 negalvojo anksčiau. 1020 00:42:26,300 --> 00:42:28,220 Šiuo atveju - čia, galime grįžti į vienas, kad 1021 00:42:28,220 --> 00:42:29,500 šiek tiek patogesnis. 1022 00:42:29,500 --> 00:42:32,580 Leiskite man grįžti čia ir paleisti vėl padaryti matematikos. 1023 00:42:32,580 --> 00:42:34,190 Oi, ką aš padariau ne taip? 1024 00:42:34,190 --> 00:42:35,400 Turite įvirsta toliau. 1025 00:42:35,400 --> 00:42:36,390 Gerai. 1026 00:42:36,390 --> 00:42:38,490 Dabar mes grįžome į pradinę būseną, kai visi 1027 00:42:38,490 --> 00:42:39,990 tikiuosi gerai. 1028 00:42:39,990 --> 00:42:43,360 Ir dabar, jei aš paleisti matematikos, 123 atrodo į darbą. 1029 00:42:43,360 --> 00:42:46,010 Bet tai nėra tikrai veiksminga įrodymas, tiesiog pasakyti, 1030 00:42:46,010 --> 00:42:47,930 Gerai, kad veikia. 1031 00:42:47,930 --> 00:42:49,120 789, kuris veikia. 1032 00:42:49,120 --> 00:42:50,100 Laikas pateikti. 1033 00:42:50,100 --> 00:42:51,870 Nes ten kiti kampiniai atvejai čia. 1034 00:42:51,870 --> 00:42:55,040 Eilutė nebuvo tikrai suteiks mums daug problemų rašyti 1035 00:42:55,040 --> 00:42:56,510 visai daug simbolių. 1036 00:42:56,510 --> 00:42:59,580 Bet kas, jei aš tipo? 1037 00:42:59,580 --> 00:43:04,850 Paspaudus skaitmeniu "1" visai daug, čia visai daug 1038 00:43:04,850 --> 00:43:06,300 viskas gerai, tai gauti šiek tiek nuobodu, todėl aš ruošiuosi 1039 00:43:06,300 --> 00:43:10,040 čia sustoti, ir aš ruošiuosi, paspauskite Enter. 1040 00:43:10,040 --> 00:43:11,290 >> Ką, po velnių nutiko? 1041 00:43:14,110 --> 00:43:17,680 Taigi, tai iš tiesų gali būti paaiškinta. 1042 00:43:17,680 --> 00:43:18,920 Taigi, ji kaip dvejetainis? 1043 00:43:18,920 --> 00:43:21,130 Gera mintis, bet ne, tai ne tai, kad ji paėmė jį 1044 00:43:21,130 --> 00:43:22,815 kaip dvejetainis, nes iš tiesų, tai buvo tiesiog rūšies 1045 00:43:22,815 --> 00:43:23,080 atsitiktinumas. 1046 00:43:23,080 --> 00:43:23,930 Mes galime tai padaryti dar kartą. 1047 00:43:23,930 --> 00:43:26,530 Taigi čia binarinės sistemos 2 ne, tai 1048 00:43:26,530 --> 00:43:27,420 tikriausiai pakankamai vistiek. 1049 00:43:27,420 --> 00:43:28,780 Įveskite. 1050 00:43:28,780 --> 00:43:30,140 Taigi, tai buvo ne problema. 1051 00:43:30,140 --> 00:43:31,390 Ką dar? 1052 00:43:34,650 --> 00:43:35,400 Tiksliai. 1053 00:43:35,400 --> 00:43:37,830 >> Taigi, prisiminkite, kas iš tikrųjų yra int. 1054 00:43:37,830 --> 00:43:40,970 Tai 32 bitų, kurie bendrai yra interpretuojami 1055 00:43:40,970 --> 00:43:42,090 kaip skaičius. 1056 00:43:42,090 --> 00:43:44,730 Jei turite 32 bitus, tai reiškia, kad kiekvienas bitai gali būti 1057 00:43:44,730 --> 00:43:46,690 0 arba 1, 0 arba 1. 1058 00:43:46,690 --> 00:43:49,090 Taigi, tai reiškia, kad šis bitas yra dvi galimybės, 1059 00:43:49,090 --> 00:43:51,140 dvi galimybės, du galimybes 1060 00:43:51,140 --> 00:43:52,570 šiek tiek - kad 2 kartus 2 kartus - 1061 00:43:52,570 --> 00:43:55,480 kad nuo 2 iki 32-galia iš viso 1062 00:43:55,480 --> 00:43:58,960 permutations nulių ir, jei turite 32 1063 00:43:58,960 --> 00:44:01,400 vietos rezervavimo ženklų, nulių ar tie, priešais jus. 1064 00:44:01,400 --> 00:44:04,250 Taigi, jei aš turiu 2 32, matematiškai, tai ką? 1065 00:44:07,080 --> 00:44:07,840 Todėl daug. 1066 00:44:07,840 --> 00:44:09,910 Tai 4 milijardų eurų, suteikti arba užtrukti. 1067 00:44:09,910 --> 00:44:13,510 Ir 4 mlrd. Neatrodo, kad būti tai, kas čia buvo išspausdintas. 1068 00:44:13,510 --> 00:44:16,290 Tiesą sakant, tai atrodo maždaug 2 milijardų. 1069 00:44:16,290 --> 00:44:17,970 Bet tai nėra atsitiktinumas. 1070 00:44:17,970 --> 00:44:21,590 Tas faktas, kad kompiuteris klaidingai aiškino savo didelį skaičių, 1071 00:44:21,590 --> 00:44:24,260 mano didžiulis seka tie, ir tada mano labai seka poromis, 1072 00:44:24,260 --> 00:44:26,880 maždaug 2 mlrd., paaiškinama, kaip? 1073 00:44:30,250 --> 00:44:32,180 Yra ant int dangtelis. 1074 00:44:32,180 --> 00:44:34,970 Yra tikrai maksimalios vertės, kad jums gali atstovauti. 1075 00:44:34,970 --> 00:44:36,370 Bet tai paprastai 4 milijardų eurų, tiesa? 1076 00:44:36,370 --> 00:44:39,100 Jei 2 iki 32 yra maždaug 4 mlrd., Kad atrodo 1077 00:44:39,100 --> 00:44:40,350 tai didžiausias skaičius. 1078 00:44:42,420 --> 00:44:45,240 Taigi ne likusi, bet gera mintis. 1079 00:44:45,240 --> 00:44:46,340 Neigiami skaičiai. 1080 00:44:46,340 --> 00:44:49,570 Taigi, jei turite 4 mlrd. Galimų dalykų, kuriuos galite 1081 00:44:49,570 --> 00:44:52,970 sudaro su šių įvairių kombinacijų 32 0s ir 1082 00:44:52,970 --> 00:44:55,600 1s, gerai, ji stovi prie priežasties, kad mes, žmonės galbūt norėsite 1083 00:44:55,600 --> 00:44:57,110 atstovauti ne tik teigiami sveikieji skaičiai 1084 00:44:57,110 --> 00:44:58,240 bet neigiami sveikieji skaičiai. 1085 00:44:58,240 --> 00:45:00,410 Ir iš tiesų, tai prielaida, kad C daro. 1086 00:45:00,410 --> 00:45:03,550 Taigi su 32 bitų, galite atstovauja maždaug neigiamas 2 1087 00:45:03,550 --> 00:45:06,630 mlrd visą kelią iki teigiamo 2 mlrd. 1088 00:45:06,630 --> 00:45:08,750 Ir todėl šiuo atveju, tai, ką mes iš tikrųjų matome, yra tik 1089 00:45:08,750 --> 00:45:13,600 mūsų sveikojo skaičiaus talpos pakraštyje, ir mes turime, todėl 1090 00:45:13,600 --> 00:45:15,860 kalbėti, krantų sveikasis skaičius. 1091 00:45:15,860 --> 00:45:19,180 Mes bandėme įsprausti į jį, nei iš tikrųjų gali tilpti daugiau bitų. 1092 00:45:19,180 --> 00:45:22,960 Taigi, galutinis rezultatas yra, mes iš esmės turime visus 1 bitai. 1093 00:45:22,960 --> 00:45:25,280 Mes apversta visų mūsų bitai dėl, mes bandėme atstovauti 1094 00:45:25,280 --> 00:45:27,630 didžiausia įmanoma, bet tai akivaizdžiai nėra beveik 1095 00:45:27,630 --> 00:45:30,960 pakankamai didelis, kad atstovauja du dalykus, aš tiesiog atspausdinti. 1096 00:45:30,960 --> 00:45:31,730 Taip? 1097 00:45:31,730 --> 00:45:32,980 Auditorija: [nesigirdi] 1098 00:45:37,230 --> 00:45:37,830 >> David J. Malan: Geras klausimas. 1099 00:45:37,830 --> 00:45:40,080 Kodėl mes negalime tiesiog atstovauti, kad neigiamas 1100 00:45:40,080 --> 00:45:41,500 pasirašyti kaip tik simbolį? 1101 00:45:41,500 --> 00:45:44,200 Taigi, mes visiškai negalėjo, ir mes galime tada išsaugokite 1102 00:45:44,200 --> 00:45:45,470 papildomas bitų. 1103 00:45:45,470 --> 00:45:49,100 , Bet jūs vis dar ketinate turėti, tą brūkšnį ir 1104 00:45:49,100 --> 00:45:50,700 kad ketina jums kainuoti bent ką nors, 1105 00:45:50,700 --> 00:45:52,220 matyt, šiek tiek. 1106 00:45:52,220 --> 00:45:55,610 Taip taip, mes galime turėti 32 bitus, naudojami mūsų grupės, bet dabar 1107 00:45:55,610 --> 00:45:57,610 turime dar šiek tiek naudojamas mūsų brūkšnys 1108 00:45:57,610 --> 00:45:58,810 simbolis, minuso ženklas. 1109 00:45:58,810 --> 00:46:01,470 Taigi dabar mes turime 33 bitų vertybes, kurias mes galime padaryti, bet tai 1110 00:46:01,470 --> 00:46:02,570 tik ne taip, kaip tai daroma. 1111 00:46:02,570 --> 00:46:05,140 Mes padarėme sprendimą skambučių metų, 32 bitai yra tarsi 1112 00:46:05,140 --> 00:46:06,170 čia matavimo vienetas. 1113 00:46:06,170 --> 00:46:08,120 Taigi, mes ketiname naudoti vieną iš šių bitų veiksmingai 1114 00:46:08,120 --> 00:46:12,950 atstovauti negatyvumo, ir 31 bitų atstovauja numerį. 1115 00:46:12,950 --> 00:46:15,550 Kiti klausimai? 1116 00:46:15,550 --> 00:46:15,670 Gerai. 1117 00:46:15,670 --> 00:46:16,030 Tai daug. 1118 00:46:16,030 --> 00:46:17,930 Kodėl ne mes eiti į priekį ir imtis mūsų penkių minučių pertrauką? 1119 00:46:23,580 --> 00:46:24,270 >> Gerai. 1120 00:46:24,270 --> 00:46:31,250 Taigi dar kartą, o ne overemphasize matematikos taikymai 1121 00:46:31,250 --> 00:46:33,840 programavimą, tegul tiesiog laupti šį vieną pavyzdį 1122 00:46:33,840 --> 00:46:36,590 Prieš mes pereiti į kitas konstruktai, tik todėl, kad 1123 00:46:36,590 --> 00:46:39,430 bus parodyti keletas bendrų suklupimo taškų dėl kai kurių 1124 00:46:39,430 --> 00:46:41,520 pagrindai, kai jis ateina į raštu programas. 1125 00:46:41,520 --> 00:46:44,360 Šiuo atveju, daro aritmetines išraiškas, kurie turi tam tikrą 1126 00:46:44,360 --> 00:46:48,010 įdomus aktualumas sintaksę. 1127 00:46:48,010 --> 00:46:50,430 >> Kad tai tik formulė, su kuria mes galime konvertuoti 1128 00:46:50,430 --> 00:46:52,690 temperatūras iš Farenheito į Celsijaus. 1129 00:46:52,690 --> 00:46:54,600 Jei jūs neturite prisiminti, tai tik formulė. 1130 00:46:54,600 --> 00:46:58,870 Taigi, jei mes prijungti 32 laipsnių pagal Celsijų vertės, kuri yra 1131 00:46:58,870 --> 00:47:02,850 įšaldymo, kad bus 32 minus 32 yra 0, ir iš tiesų, 1132 00:47:02,850 --> 00:47:05,130 0 Celsijaus įšaldymas, sąrašą. 1133 00:47:05,130 --> 00:47:08,210 Taip greitai normalumas patikrinti ten - kad pažįstamas formulė. 1134 00:47:08,210 --> 00:47:10,880 Leiskite man pereiti prie prietaiso, nors ir pradėti 1135 00:47:10,880 --> 00:47:13,920 raštu programa, vadinama, kaip, f2c; "Farenheito į 1136 00:47:13,920 --> 00:47:15,920 Celsijaus dot c ". 1137 00:47:15,920 --> 00:47:18,930 Ir viršuje čia, aš norėčiau pradėti nuo # include 1138 00:47:18,930 --> 00:47:22,190 stdio.h, ir aš ruošiuosi daryti int main (void), ir 1139 00:47:22,190 --> 00:47:24,680 dar kartą, mes grįžti į ateitį, nes ką int tai 1140 00:47:24,680 --> 00:47:26,820 ten ir kas tai negalioja. 1141 00:47:26,820 --> 00:47:28,770 O dabar leisk man eiti į priekį ir įdiegti programą, 1142 00:47:28,770 --> 00:47:31,170 iš esmės tai daro mus konversija. 1143 00:47:31,170 --> 00:47:36,830 >> Printf, tarkim, Farenheito temperatūros. 1144 00:47:36,830 --> 00:47:40,140 Ir tada leiskite man eiti į priekį ir gauti iš vartotojo vertę. 1145 00:47:40,140 --> 00:47:43,120 Kokios vertės turėčiau gauti iš vartotojo, jeigu aš noriu 1146 00:47:43,120 --> 00:47:45,620 jiems duoti man temperatūra Farenheito? 1147 00:47:45,620 --> 00:47:48,090 Taip? 1148 00:47:48,090 --> 00:47:50,090 Ką siūlytumėte? 1149 00:47:50,090 --> 00:47:50,410 Taip. 1150 00:47:50,410 --> 00:47:51,960 Taip plūdė jaučiasi gana protinga. 1151 00:47:51,960 --> 00:47:53,950 Dar kartą, mes turime, tik keletas variantų, kurie 1152 00:47:53,950 --> 00:47:55,310 mes matėme iki šiol. 1153 00:47:55,310 --> 00:48:00,100 Mes turime dalykų, pavyzdžiui, char, dvigubas, plūdės, int, long long 1154 00:48:00,100 --> 00:48:01,150 bool, eilutė. 1155 00:48:01,150 --> 00:48:03,510 Taigi iš šių, plūdės jaučiasi gana protinga. 1156 00:48:03,510 --> 00:48:06,340 Mes galime naudoti dvigubą, teisę, nes jei mes tikrai norime 1157 00:48:06,340 --> 00:48:07,580 atstovauja žmogaus temperatūrą - 1158 00:48:07,580 --> 00:48:10,730 98,60000 - 1159 00:48:10,730 --> 00:48:12,990 mes galime naudoti 64 bitus tai padaryti, bet jis jaučiasi 1160 00:48:12,990 --> 00:48:14,200 temperatūros žiauru. 1161 00:48:14,200 --> 00:48:16,380 Todėl galime tik eiti su plūdės. 1162 00:48:16,380 --> 00:48:18,100 Dabar man reikia kintamąjį. 1163 00:48:18,100 --> 00:48:20,500 Tik kad viskas būtų paprasta, aš ruošiuosi jį vadiname f, bet aš 1164 00:48:20,500 --> 00:48:23,370 gali būti tiesiog kaip teisingai jį vadiname temperatūra, 1165 00:48:23,370 --> 00:48:24,600 tačiau bet kuriuo atveju yra gerai. 1166 00:48:24,600 --> 00:48:27,610 Taigi plaukti f = GetFloat. 1167 00:48:27,610 --> 00:48:30,220 Kuo greičiau, aš dabar nusprendė naudoti GetFloat, nors aš 1168 00:48:30,220 --> 00:48:33,340 reikia padaryti viena pataisa. 1169 00:48:33,340 --> 00:48:33,720 Taip. 1170 00:48:33,720 --> 00:48:37,460 Taigi, mums reikia # include , kitaip kompiliatorius 1171 00:48:37,460 --> 00:48:39,000 šaukti į mus. 1172 00:48:39,000 --> 00:48:41,720 Dabar, aš turiu pinigų srautas, leisk man eiti į priekį ir daryti 1173 00:48:41,720 --> 00:48:42,460 konversiją. 1174 00:48:42,460 --> 00:48:44,980 >> Taigi, pirma, leiskite man gauti į įpročiai 1175 00:48:44,980 --> 00:48:46,310 komentuodamas savo kodą. 1176 00:48:46,310 --> 00:48:49,820 Taigi dar kartą, komentaras yra tik užrašas, žmogaus ŠTAI 1177 00:48:49,820 --> 00:48:52,600 nėra per se programos dalis, tačiau jis vienas, padeda jums 1178 00:48:52,600 --> 00:48:55,010 suprantu, ką tu kitą rytą, arba kitą 1179 00:48:55,010 --> 00:48:57,570 mėnesį, tai padeda jūsų mokymo kolegos suprasti, ką padarei 1180 00:48:57,570 --> 00:48:59,230 ar tai, ką ketinama daryti, todėl 1181 00:48:59,230 --> 00:49:00,950 paprastai yra labai gera praktika. 1182 00:49:00,950 --> 00:49:02,940 Kas keletą eilučių kodo, parašyti komentarą 1183 00:49:02,940 --> 00:49:04,490 sau ar jūsų kolega. 1184 00:49:04,490 --> 00:49:08,460 Taigi čia, aš norėčiau pasakyti: "Paprašyti naudotojo reikalavimai, keliami temperatūrai." 1185 00:49:08,460 --> 00:49:10,890 Neturi būti pilnas sakinys, tik trumpą frazę. 1186 00:49:10,890 --> 00:49:14,270 Bet už komentavimo C idėja yra tai, kad kiekvienas iš jūsų 1187 00:49:14,270 --> 00:49:17,980 komentarai turėtų suteikti jums - ar, tarkim, TF ar bendradarbiui 1188 00:49:17,980 --> 00:49:21,290 nugriebti savo programą ir tiksliai žinoti, ką jis ne 1189 00:49:21,290 --> 00:49:24,650 tiek daug skaityti kodą, bet skaitant komentarus, kuris 1190 00:49:24,650 --> 00:49:26,220 turėtų būti trumpas ir aiškus. 1191 00:49:26,220 --> 00:49:29,030 Viskas gerai, todėl dabar leiskite man eiti į priekį ir pasakyti, "Konvertuoti 1192 00:49:29,030 --> 00:49:32,660 Farenheito į Celsijaus. "Taigi, aš ruošiuosi eiti į priekį ir daryti, 1193 00:49:32,660 --> 00:49:34,340 tarkim, plaukti c. 1194 00:49:34,340 --> 00:49:36,610 Mes nuolat Celsijaus kaip slankaus kablelio vertės. 1195 00:49:36,610 --> 00:49:37,630 >> Ir leiskite imtis Pabandyti ne tai. 1196 00:49:37,630 --> 00:49:40,350 Formulė yra, vėlgi, čia. 1197 00:49:40,350 --> 00:49:45,510 Kaip 5/9 kartus F minus 32. 1198 00:49:45,510 --> 00:49:46,360 Todėl galime tai padaryti. 1199 00:49:46,360 --> 00:49:50,450 Taigi, 5, padalytas iš 9, atėmus 1200 00:49:50,450 --> 00:49:52,330 oi, aš jau messed it up. 1201 00:49:52,330 --> 00:49:53,070 Kartus. 1202 00:49:53,070 --> 00:49:56,550 Taigi, 5/9 kartus F minus 32. 1203 00:49:56,550 --> 00:49:59,650 Taigi F minus 32, kabliataškis. 1204 00:49:59,650 --> 00:50:02,000 Ir dabar, čia apačioje, aš ruošiuosi eiti į priekį 1205 00:50:02,000 --> 00:50:03,220 ir pasakyti, spausdinti rezultatą. 1206 00:50:03,220 --> 00:50:05,160 Ir ši dalis lengva. Printf. 1207 00:50:05,160 --> 00:50:07,980 Kaip aš galiu eiti apie spausdinimą? 1208 00:50:07,980 --> 00:50:16,890 Na, galėčiau pasakyti: "Šis skaičius Celsijaus% f \ n", 1209 00:50:16,890 --> 00:50:18,060 tik kai estetika. 1210 00:50:18,060 --> 00:50:20,450 Ir kas tada vertė aš noriu prijungti čia printf ųjų 1211 00:50:20,450 --> 00:50:21,360 Antrasis argumentas? 1212 00:50:21,360 --> 00:50:21,650 Gerai. 1213 00:50:21,650 --> 00:50:22,540 Taigi tik c. 1214 00:50:22,540 --> 00:50:24,760 Taigi, mes pradėsime su, ir tada tiesiog grįžti 0. 1215 00:50:24,760 --> 00:50:25,960 Vėlgi, tai neturi nieko bendro su matematika. 1216 00:50:25,960 --> 00:50:27,610 Tai tiesiog reiškia, kad viskas yra gerai. 1217 00:50:27,610 --> 00:50:31,210 >> Dabar, tai teisinga, ši programa? 1218 00:50:31,210 --> 00:50:31,520 Gerai. 1219 00:50:31,520 --> 00:50:33,630 Taigi, aš padariau keletą klaidų. 1220 00:50:33,630 --> 00:50:35,980 Net jei jūs neturite idėjos, kokia programavimo, galite rūšiuoti 1221 00:50:35,980 --> 00:50:37,120 kildina atgal į pradinėje mokykloje 1222 00:50:37,120 --> 00:50:38,740 klaidos čia gali būti. 1223 00:50:38,740 --> 00:50:40,050 , Kas yra vienas iš pirmųjų? 1224 00:50:40,050 --> 00:50:41,256 Auditorija: [nesigirdi] 1225 00:50:41,256 --> 00:50:41,660 David J. Malan: Taip. 1226 00:50:41,660 --> 00:50:42,940 Taigi, mes trūkstamus skliausteliuose. 1227 00:50:42,940 --> 00:50:45,420 Tai buvo sąmoningas, kad aš skliaustuose keynote 1228 00:50:45,420 --> 00:50:48,130 pastumkite čia, nes ten yra iš tikrųjų tai tvarkos sąvoka 1229 00:50:48,130 --> 00:50:51,590 veiklos, arba viršenyb ÷ s, pagal kurią tam tikros operacijos - 1230 00:50:51,590 --> 00:50:52,890 Multiplication - 1231 00:50:52,890 --> 00:50:56,000 turėti aukštąjį privalomas, turi didesnę pirmenybę, nei dalykų 1232 00:50:56,000 --> 00:50:58,050 kaip to ar skirtumą. 1233 00:50:58,050 --> 00:51:00,550 Taigi, mes padarėme tai už metus, tik, kad tiksliai ir aiškiai 1234 00:51:00,550 --> 00:51:02,840 ką matematinę operaciją reikia padaryti pirmiausia. 1235 00:51:02,840 --> 00:51:05,010 Taigi, aš tikriausiai turėtų imituoti būtent tai. 1236 00:51:05,010 --> 00:51:08,990 Kitaip, kompiuteris yra tikriausiai ketina bandyti daryti 1237 00:51:08,990 --> 00:51:13,090 kažkas panašaus 9 5 atskirties, tada padauginti F, tada atimti 1238 00:51:13,090 --> 00:51:14,850 32 iš visa tai. 1239 00:51:14,850 --> 00:51:16,480 , Kas, tiesą sakant, tai, ką norime padaryti. 1240 00:51:16,480 --> 00:51:17,340 Taigi leiskite suskliausti. 1241 00:51:17,340 --> 00:51:20,860 Pridėkime mano skliaustus čia, skliaustai čia. 1242 00:51:20,860 --> 00:51:22,670 Tegul tai čia. 1243 00:51:22,670 --> 00:51:25,130 Čia, aš ką tik pastebėjau dar vieną klaidą, aš padariau pakeliui. 1244 00:51:25,130 --> 00:51:25,680 Taip? 1245 00:51:25,680 --> 00:51:26,930 Auditorija: [nesigirdi] 1246 00:51:29,632 --> 00:51:30,130 >> David J. Malan: Ah. 1247 00:51:30,130 --> 00:51:30,470 Geras. 1248 00:51:30,470 --> 00:51:32,400 Taigi, mes iš tikrųjų turime tą patį sveikasis skaičius 1249 00:51:32,400 --> 00:51:34,020 padalinys klausimas iš anksčiau. 1250 00:51:34,020 --> 00:51:35,800 Manau, teisinga, kad, pažiūrėkime, kas simptomas. 1251 00:51:35,800 --> 00:51:36,990 Bet mes ketiname turi ištaisyti 1252 00:51:36,990 --> 00:51:37,680 kita klaida čia. 1253 00:51:37,680 --> 00:51:38,015 Taip? 1254 00:51:38,015 --> 00:51:39,540 Auditorija: [nesigirdi] 1255 00:51:39,540 --> 00:51:40,070 David J. Malan: Taip. 1256 00:51:40,070 --> 00:51:43,130 Taigi, kvaila klaida padariau, bet nepaprastai svarbu. 1257 00:51:43,130 --> 00:51:45,870 Kompiuteris nėra tiesiog nepastebėti ir leiskite 1258 00:51:45,870 --> 00:51:48,770 man naudoti kapitalo F, kai aš iš tikrųjų paskelbė kintamasis 1259 00:51:48,770 --> 00:51:51,360 mažosiomis f 8 eilutėje. 1260 00:51:51,360 --> 00:51:54,470 Taigi man reikia ištaisyti line 11 mano kapitalizacijos, kuri 1261 00:51:54,470 --> 00:51:56,820 metu senumo buvo kapitalo F netyčia. 1262 00:51:56,820 --> 00:51:57,610 Ką apie čia? 1263 00:51:57,610 --> 00:51:59,980 Tai turėtų būti parašytas mažosiomis raidėmis, taip pat? 1264 00:51:59,980 --> 00:52:02,260 Ji turėtų būti, bet tai atsitiktinumas. 1265 00:52:02,260 --> 00:52:05,070 Kad% f neturi nieko daryti su kintamojo. 1266 00:52:05,070 --> 00:52:07,980 Taigi, tiesiog super aišku čia, leiskite man eiti į priekį ir 1267 00:52:07,980 --> 00:52:10,710 pervardyti, trumpai, "temperatūrą." Leiskite man pervadinti 1268 00:52:10,710 --> 00:52:15,050 tai "temperatūra". Leiskite man ne pervadinti. 1269 00:52:15,050 --> 00:52:18,180 Nes, vėlgi,% f visame pasaulyje reiškia, "slankiojo kablelio skaičius. 1270 00:52:18,180 --> 00:52:19,950 Neturi nieko daryti su mano kintamojo. 1271 00:52:19,950 --> 00:52:23,080 Tačiau "temperatūra" visur yra tik šiek tiek sakytinis 1272 00:52:23,080 --> 00:52:25,370 todėl aš grįžti į savo mažosiomis raidėmis "f" s. 1273 00:52:25,370 --> 00:52:27,890 >> Dabar leiskite man eiti į priekį, į mano langą. 1274 00:52:27,890 --> 00:52:29,190 Padaryti f2c 1275 00:52:29,190 --> 00:52:31,200 , kuris, vėlgi, buvo savavališkai vardas 1276 00:52:31,200 --> 00:52:32,590 davė į šį failą. 1277 00:52:32,590 --> 00:52:33,690 Atrodo, kad turime surinkti. 1278 00:52:33,690 --> 00:52:35,080 Tegul man paleisti f2c. 1279 00:52:35,080 --> 00:52:35,780 Įveskite. 1280 00:52:35,780 --> 00:52:37,786 Temperatūra pagal Celsijų - darykime lengva. 1281 00:52:37,786 --> 00:52:39,370 32. 1282 00:52:39,370 --> 00:52:40,910 Gerai, ištaisyti. 1283 00:52:40,910 --> 00:52:45,910 Tačiau, jei aš dabar 212 virinimui - 1284 00:52:45,910 --> 00:52:46,630 Damn. 1285 00:52:46,630 --> 00:52:47,030 Gerai. 1286 00:52:47,030 --> 00:52:50,780 Taigi, akivaizdžiai nėra pataisyti, jei jūsų TF bando 1287 00:52:50,780 --> 00:52:51,800 bent dvi vertės. 1288 00:52:51,800 --> 00:52:53,340 Taigi, kas yra problema čia? 1289 00:52:53,340 --> 00:52:55,970 Na, jūs jau įdėti pirštą ant kokia yra problema. 1290 00:52:55,970 --> 00:52:57,600 Bet kodėl tai, kad byla? 1291 00:52:57,600 --> 00:53:00,630 Čia, kai aš darau 5 matematikos, padalintą iš 9. 1292 00:53:00,630 --> 00:53:02,190 Taigi konceptualiai, tai visiškai teisinga. 1293 00:53:02,190 --> 00:53:03,690 Visiškai suderinta su formule. 1294 00:53:03,690 --> 00:53:05,940 Bet kompiuteriai padaryti tik tiksliai, ką jūs 1295 00:53:05,940 --> 00:53:06,760 pasakykite jiems padaryti. 1296 00:53:06,760 --> 00:53:08,940 Ir ką mes čia pasako kompiuteriui 1297 00:53:08,940 --> 00:53:12,320 padalinti sveikuoju skaičiumi 5 sveikasis skaičius 9 1298 00:53:12,320 --> 00:53:13,670 ir man duoti rezultatą. 1299 00:53:13,670 --> 00:53:16,230 Problema yra, nors, kai jūs padalinys naudojant duomenis 1300 00:53:16,230 --> 00:53:20,220 rūšys, produkcija yra tas pats duomenų tipas, kaip įėjimai. 1301 00:53:20,220 --> 00:53:23,670 Ir todėl, jei du įėjimai tiek int, produkcija vyksta 1302 00:53:23,670 --> 00:53:25,110 int. 1303 00:53:25,110 --> 00:53:28,770 Ir taip 5, padalintas iš 9, yra taškas kažkas. 1304 00:53:28,770 --> 00:53:32,320 Bet kas artimiausias sveikasis skaičius nurodo kažką? 1305 00:53:32,320 --> 00:53:33,630 Taigi, tai tikrai 0. 1306 00:53:33,630 --> 00:53:36,620 Taigi, kaip aptarėme pirmadienį, viskas po dešimtainės 1307 00:53:36,620 --> 00:53:37,940 taškas bus sutrumpintas. 1308 00:53:37,940 --> 00:53:39,495 Jis tiesiog bus išmesti. 1309 00:53:39,495 --> 00:53:42,760 Taigi tai yra visiškai klaidinga, nes aš taip pat tik 1310 00:53:42,760 --> 00:53:44,700 padauginkite viską 0 čia. 1311 00:53:44,700 --> 00:53:46,550 >> Dabar galiu išspręsti šią problemą įvairiais būdais pora. 1312 00:53:46,550 --> 00:53:48,080 Galėčiau tai padaryti. 1313 00:53:48,080 --> 00:53:50,490 5,0 padalintas iš 9,0. 1314 00:53:50,490 --> 00:53:52,110 Techniškai, aš net ne reikia padaryti, kad. 1315 00:53:52,110 --> 00:53:55,780 Ji pakanka tiesiog padaryti vieną skaičių flotacinio 1316 00:53:55,780 --> 00:53:58,290 arba dukart įgyvendinant kablelio čia. 1317 00:53:58,290 --> 00:54:01,740 Nes tai, kas vyksta dabar, kai jums padalinti sveikasis skaičius 1318 00:54:01,740 --> 00:54:04,670 plūdės, arba dukart, kompiuteris bus įgyvendinta 1319 00:54:04,670 --> 00:54:06,830 oh, viena iš jų yra tikslesnis. 1320 00:54:06,830 --> 00:54:09,420 Leiskite man suklysti suteikti jums daugiau tikslumo pusėje nei 1321 00:54:09,420 --> 00:54:10,310 jums skirtas. 1322 00:54:10,310 --> 00:54:12,700 , Todėl bus konvertuoti rezultatą - 1323 00:54:12,700 --> 00:54:16,240 jis grąžina rezultatą kaip slankaus kablelio vertės, taip pat. 1324 00:54:16,240 --> 00:54:17,330 Taip, kad dirbtų. 1325 00:54:17,330 --> 00:54:18,060 Tai galėtų dirbti. 1326 00:54:18,060 --> 00:54:20,010 Ir ten vienas kitas mechanizmas, kad mes pamatyti 1327 00:54:20,010 --> 00:54:21,390 Detaliau kitą savaitę. 1328 00:54:21,390 --> 00:54:24,690 Kaip programuotojas, jūs iš tikrųjų galite pasakyti kompiuterio 1329 00:54:24,690 --> 00:54:27,930 iš tikrųjų gydyti vieną duomenų tipą, kaip ir 1330 00:54:27,930 --> 00:54:29,260 nors tai būtų dar vienas. 1331 00:54:29,260 --> 00:54:30,990 >> Taigi aš iš tikrųjų galėtų tai padaryti. 1332 00:54:30,990 --> 00:54:35,280 Skliausteliuose, galiu pasakyti kažką panašaus (float), atidarykite 1333 00:54:35,280 --> 00:54:36,350 skliaustas, netoli paren. 1334 00:54:36,350 --> 00:54:39,050 Ir tai yra tai, kas vadinama "liejimo." Vėl, daugiau 1335 00:54:39,050 --> 00:54:39,940 šioje kitą savaitę. 1336 00:54:39,940 --> 00:54:42,280 Bet tai tik programinis būdas pasakyti 1337 00:54:42,280 --> 00:54:45,910 kompiuteris, Yeah I know 9 yra sveikasis skaičius arba ilgas. 1338 00:54:45,910 --> 00:54:47,700 Aš žinau, tai nėra slankaus kablelio reikšmė. 1339 00:54:47,700 --> 00:54:49,420 Bet su ja elgiamasi kaip toks vistiek. 1340 00:54:49,420 --> 00:54:52,000 Taigi, norint mesti duomenų tipą konvertuoti 1341 00:54:52,000 --> 00:54:53,310 iš vienos į kitą. 1342 00:54:53,310 --> 00:54:55,790 Atvirai kalbant, tai yra tik šiek tiek negraži, todėl norėčiau pasiūlyti mes einame 1343 00:54:55,790 --> 00:54:58,830 atsargines tiesiog konvertuoti į pradinį pasiūlymą 1344 00:54:58,830 --> 00:55:00,770 šių dalykų slankiojo kablelio vertes rankiniu būdu. 1345 00:55:00,770 --> 00:55:02,890 Nes dabar tai tiesiog super aišku, kas vyksta, ir 1346 00:55:02,890 --> 00:55:04,280 tai dar ne viskas, kad blaško. 1347 00:55:04,280 --> 00:55:06,710 >> Taigi, tegul dabar grįžti į mano terminalo lange. 1348 00:55:06,710 --> 00:55:07,990 Padaryti f2c. 1349 00:55:07,990 --> 00:55:09,430 Leiskite man eiti į priekį ir paleisti. 1350 00:55:09,430 --> 00:55:12,340 Ir, kaip panaikinti, jums nuobodžiauti įvesti šias komandas 1351 00:55:12,340 --> 00:55:14,910 vėl ir vėl, suprantame, kad kompiuteriai, čia, kaip Linux 1352 00:55:14,910 --> 00:55:16,010 linkę būti labai protingas. 1353 00:55:16,010 --> 00:55:18,890 Ir jei aš paspauskite aukštyn, mes galime eiti per visą savo istoriją 1354 00:55:18,890 --> 00:55:20,380 komandos, aukštyn ir žemyn. 1355 00:55:20,380 --> 00:55:23,840 Taigi, šiuo atveju čia, aš galiu tiesiog eiti paleisti f2c. 1356 00:55:23,840 --> 00:55:25,830 Aš vis rėkė, nes aš ką tik padarė, kad antrasis prieš. 1357 00:55:25,830 --> 00:55:27,030 Jis jau iki šiol. 1358 00:55:27,030 --> 00:55:30,720 Taigi, dabar galiu paleisti f2c dar kartą. 1359 00:55:30,720 --> 00:55:33,260 Pabandykime 32 pagal Farenheitą. 1360 00:55:33,260 --> 00:55:36,720 Dabar pabandykime 212 Farenheito. 1361 00:55:36,720 --> 00:55:37,250 >> Phew. 1362 00:55:37,250 --> 00:55:38,250 Atrodo į darbą. 1363 00:55:38,250 --> 00:55:41,760 Dabar, tai yra gerai, bet ji jaučiasi šiek tiek savavališkas, kad 1364 00:55:41,760 --> 00:55:44,890 Rodau šeši skaičiai po skaitmenų po kablelio. 1365 00:55:44,890 --> 00:55:45,070 Tiesa? 1366 00:55:45,070 --> 00:55:47,830 Jei esate asmuo, TV oras, jūs natūra iš doofus 1367 00:55:47,830 --> 00:55:49,150 jei jūs skaitote temperatūrą 1368 00:55:49,150 --> 00:55:50,070 tai tikslumo laipsnis. 1369 00:55:50,070 --> 00:55:51,270 Todėl galime supaprastinti šią. 1370 00:55:51,270 --> 00:55:53,880 Todėl galime iš tikrųjų eiti čia, mano printf. 1371 00:55:53,880 --> 00:55:55,490 Ir taip, aš noriu plaukti. 1372 00:55:55,490 --> 00:55:57,570 Bet aš noriu dabar nurodyti tikslumo. 1373 00:55:57,570 --> 00:55:59,070 Ir aš norėčiau būti šiek tiek glaustas. 1374 00:55:59,070 --> 00:56:03,090 Aš ruošiuosi pasakyti, duok man vieną tašką po kablelio. 1375 00:56:03,090 --> 00:56:07,590 Taip, o ne pasakyti,% f, aš norėčiau pasakyti,% .1 f. 1376 00:56:07,590 --> 00:56:09,760 Ir tai tik reiškia, kad man duoti vieną poziciją 1377 00:56:09,760 --> 00:56:11,410 po kablelio. 1378 00:56:11,410 --> 00:56:11,700 Gerai. 1379 00:56:11,700 --> 00:56:12,570 Pabandykime tai vėl. 1380 00:56:12,570 --> 00:56:15,590 Leiskite man iš naujo paleisti po kompiliavimo. 1381 00:56:15,590 --> 00:56:18,160 Ir dabar aš įveskite 32 ir aš grįšiu 1382 00:56:18,160 --> 00:56:19,310 daugiau glausta vertė. 1383 00:56:19,310 --> 00:56:22,480 Ir aš galiu įvesti, dabar 212, ir grįžti labiau prigludusi 1384 00:56:22,480 --> 00:56:23,260 vertė, taip pat. 1385 00:56:23,260 --> 00:56:25,190 Ir yra kitų dalykų, kuriuos galite padaryti su printf. 1386 00:56:25,190 --> 00:56:27,950 Jūs iš tikrųjų galite nustatyti, kaip plačiai šis skaičius turėtų būti. 1387 00:56:27,950 --> 00:56:30,900 , Jei norite turėti padding apie tai, kad jūs galite dešiniuoju pelės suderinti ar 1388 00:56:30,900 --> 00:56:32,360 kairėje suderinti visus savo numerius arba 1389 00:56:32,360 --> 00:56:33,400 pabandykite centro dalykų. 1390 00:56:33,400 --> 00:56:35,340 Taigi, suprantate, yra mažai gudrybės, kuriuos galite padaryti, ten. 1391 00:56:35,340 --> 00:56:38,420 Bet jie tiesiog skliautais formato kodais, 1392 00:56:38,420 --> 00:56:39,600 kaip mes turime. 1393 00:56:39,600 --> 00:56:41,090 >> Taigi, kalbant apie šį klausimą vyresniškumo. 1394 00:56:41,090 --> 00:56:43,820 Tai labai nuobodu stalo eiti per metodiškai. 1395 00:56:43,820 --> 00:56:46,780 Bet suprantame, kad turi sugalvoti C autoriai 1396 00:56:46,780 --> 00:56:50,190 taisyklės, kuriose, kuriuos ūkio subjektai turi aukštąjį 1397 00:56:50,190 --> 00:56:53,680 viršenyb ÷ s, privalomos galios, nei kiti. 1398 00:56:53,680 --> 00:56:55,890 Taigi, kadangi pradinėje mokykloje, mes žinojo, kad ji 1399 00:56:55,890 --> 00:56:58,930 daugyba ir dalyba, tada Sudėtis ir atimtis, 1400 00:56:58,930 --> 00:56:59,950 tada kai kurių kitų dalykų. 1401 00:56:59,950 --> 00:57:01,720 Į programavimo pasaulį, yra daug 1402 00:57:01,720 --> 00:57:03,360 ilgesnis sąrašas dalykų. 1403 00:57:03,360 --> 00:57:05,150 Ir tai ne ką verta įsiminti dabar. 1404 00:57:05,150 --> 00:57:07,310 Gausite acclimated prieš ilgas. 1405 00:57:07,310 --> 00:57:10,690 Bet, kaip ir pradinėje mokykloje, skliausteliuose paprastai išspręsti 1406 00:57:10,690 --> 00:57:12,990 viršenybės klausimai, darant super aišku, 1407 00:57:12,990 --> 00:57:15,620 kompiuteris ir žmogaus vienodai, ko siekiama. 1408 00:57:15,620 --> 00:57:17,770 Todėl mano, kad tai tik šiek tiek Cheat sheet. 1409 00:57:17,770 --> 00:57:21,690 Tačiau dauguma iš tų detalių, mes ne gauti tam tikrą laiką. 1410 00:57:21,690 --> 00:57:21,900 >> Gerai. 1411 00:57:21,900 --> 00:57:24,120 Dabar galime sukurti ir tolti nuo šių kvailas mažai 1412 00:57:24,120 --> 00:57:25,460 matematiniai pavyzdžiai. 1413 00:57:25,460 --> 00:57:27,500 Vis dar naudoja tuos pačius pagrindus, bet pradėti 1414 00:57:27,500 --> 00:57:29,960 išreikšti save šiek tiek daugiau kaip nulio. 1415 00:57:29,960 --> 00:57:31,660 Taigi nulio, mes turėjome šias Būlio išraiškos. 1416 00:57:31,660 --> 00:57:34,890 Ir anglų kalbomis, Būlio išraiška yra kas? 1417 00:57:34,890 --> 00:57:35,580 True arba false. 1418 00:57:35,580 --> 00:57:38,300 Tai kažkas, kad vertina true arba false. 1419 00:57:38,300 --> 00:57:39,060 1 arba 0. 1420 00:57:39,060 --> 00:57:39,870 Įjungti arba išjungti. 1421 00:57:39,870 --> 00:57:41,000 Ką gi, jūs norite jį pavadinti. 1422 00:57:41,000 --> 00:57:43,210 Dabar nulio, įspūdį, atrodė taip. 1423 00:57:43,210 --> 00:57:45,850 Ir tai derinys, ten apačioje, trijų 1424 00:57:45,850 --> 00:57:47,980 įspūdį. 1425 00:57:47,980 --> 00:57:48,980 Vienas kartu - 1426 00:57:48,980 --> 00:57:51,710 kažkas, kad turi tuščias ir tuščias. 1427 00:57:51,710 --> 00:57:53,970 Ir tada du Būlio išraiškos viduje. 1428 00:57:53,970 --> 00:57:56,460 Taigi galite lizdaviečių Būlio išraiškos Norėdami gauti daugiau 1429 00:57:56,460 --> 00:57:59,360 sudėtinga Būlio išraiškos. 1430 00:57:59,360 --> 00:58:03,930 Pavyzdžiui, jei tai yra šeštadienis, ir jis yra gražus 1431 00:58:03,930 --> 00:58:06,180 oras, tada išeiti į lauką. 1432 00:58:06,180 --> 00:58:07,500 Ar kažkas savavališkai, pavyzdžiui, kad. 1433 00:58:07,500 --> 00:58:10,090 Taigi, jūs galite prisijungti Būlio išraiškos sugalvoti 1434 00:58:10,090 --> 00:58:12,780 didesnė tiesa vertė, kurio atsakymas 1435 00:58:12,780 --> 00:58:13,800 mažesnes. 1436 00:58:13,800 --> 00:58:15,770 >> Dabar, C, laimei, šis kartografavimo 1437 00:58:15,770 --> 00:58:16,720 tiesų yra gana paprasta. 1438 00:58:16,720 --> 00:58:18,820 Skliaustai padėti, kad viskas būtų aišku čia. 1439 00:58:18,820 --> 00:58:21,700 && Yra tai, ką reiškia "ir". Tai štai kaip 1440 00:58:21,700 --> 00:58:24,700 mes ketiname konvertuoti tuos blokus nuo nulio iki C 1441 00:58:24,700 --> 00:58:27,590 Ir sąlygų matėme nulio, ant kairės rankos 1442 00:58:27,590 --> 00:58:31,150 przylegało galite sukrauti juos panašiai C. Jei x yra mažiau 1443 00:58:31,150 --> 00:58:32,970 nei y, tada tai padaryti. 1444 00:58:32,970 --> 00:58:35,100 Else if x yra didesnis nei y, tada tai padaryti. 1445 00:58:35,100 --> 00:58:38,030 Kita logiškai jie turi būti lygus, todėl pasakyti 1446 00:58:38,030 --> 00:58:39,140 kad jie yra lygūs. 1447 00:58:39,140 --> 00:58:41,210 Taigi, dabar mes galime pradėti kurti šiuos dalykus. 1448 00:58:41,210 --> 00:58:42,170 >> Taigi darykime pavyzdį. 1449 00:58:42,170 --> 00:58:45,550 Leiskite man atverti failą, kad kurso interneto svetainėje, kad 1450 00:58:45,550 --> 00:58:47,270 Rašiau iš anksto. 1451 00:58:47,270 --> 00:58:50,540 , Kuris yra vadinamas nonswitch.c. 1452 00:58:50,540 --> 00:58:52,270 Ir mes pamatyti, kodėl vos akimirką. 1453 00:58:52,270 --> 00:58:54,770 Taigi šį failą - nonswitch.c - 1454 00:58:54,770 --> 00:58:56,830 visų pirma reikėtų suprasti, kad yra visa krūva 1455 00:58:56,830 --> 00:58:58,460 pastabas viršuje. 1456 00:58:58,460 --> 00:59:00,110 Kad tik paaiškinti to failo vardą, ką ji 1457 00:59:00,110 --> 00:59:01,260 , ir taip toliau. 1458 00:59:01,260 --> 00:59:04,390 Ir tai, matyt, rodo, boolean-mo - 1459 00:59:04,390 --> 00:59:06,220 conjoining dvi išraiškas. 1460 00:59:06,220 --> 00:59:07,670 >> Taigi, pažiūrėkime, kaip ši programa veikia. 1461 00:59:07,670 --> 00:59:10,840 Du mano failus, cs50.h ir stdio.h. 1462 00:59:10,840 --> 00:59:13,180 Jeigu aš slinkti žemyn, dabar į programą, tai šiek tiek ilgiau 1463 00:59:13,180 --> 00:59:15,730 nei mes parašiau prieš, bet gana įskaitomas. 1464 00:59:15,730 --> 00:59:18,360 Taigi, aš pirmą kartą spausdinti į vartotoją, on line 18 1465 00:59:18,360 --> 00:59:20,460 "Duok man sveikasis skaičius nuo 1 iki 10." Taip 1466 00:59:20,460 --> 00:59:21,530 tai tiesiai ten. 1467 00:59:21,530 --> 00:59:23,410 Dabar gaunu sveikasis skaičius. 1468 00:59:23,410 --> 00:59:25,380 Bet suprantame kad GetInt - gana paprasta. 1469 00:59:25,380 --> 00:59:26,510 Tik ketina gauti int. 1470 00:59:26,510 --> 00:59:28,830 Ji ketina užtikrinti, kad ji gauti int, o ne 1471 00:59:28,830 --> 00:59:30,060 eilutė arba plūdė. 1472 00:59:30,060 --> 00:59:32,390 , Bet jis nesiruošia daryti bet kokį pasienio tikrinimo. 1473 00:59:32,390 --> 00:59:34,750 Jis nesiruošia filtruoti skaičiai tarp 1474 00:59:34,750 --> 00:59:35,630 tam tikras intervalas. 1475 00:59:35,630 --> 00:59:37,730 Taigi, mes turime įgyvendinti, kad save. 1476 00:59:37,730 --> 00:59:40,680 Taigi tiesiog kaip naujo, kur aš galėtų padaryti konjunkcija 1477 00:59:40,680 --> 00:59:43,560 du užrašai, galiu padaryti, kad C taip. 1478 00:59:43,560 --> 00:59:48,660 Jei n yra didesnis nei arba lygus 1, ir n yra mažesnis nei 1479 00:59:48,660 --> 00:59:52,220 arba lygus 3, aš einu labai savavališkai dekretu 1480 00:59:52,220 --> 00:59:53,830 kiekis yra nedidelis skaičius. 1481 00:59:53,830 --> 00:59:56,730 Tik už pareiškimą labui. 1482 00:59:56,730 --> 01:00:00,210 Else if n yra tarp 4 ir 6, spausdinti "pasirinko vidutinės 1483 01:00:00,210 --> 01:00:03,440 numerį. "else if n yra nuo 7 iki 10, spausdinti" Jūs pakėlė 1484 01:00:03,440 --> 01:00:06,390 didelis skaičius. "Kitas print" Jūs pasiimti neteisingas skaičius. " 1485 01:00:06,390 --> 01:00:07,900 Nes logiškai reiškia, kad, jei mes 1486 01:00:07,900 --> 01:00:09,230 išnaudojo savo asortimentą. 1487 01:00:09,230 --> 01:00:12,400 >> Taigi suprantame, kad tai yra ne visai, kaip mes rašome didesnis arba 1488 01:00:12,400 --> 01:00:15,000 lygus matematikos klasės. 1489 01:00:15,000 --> 01:00:15,160 Tiesa? 1490 01:00:15,160 --> 01:00:17,430 Jūs paprastai padaryti tai, kaip šis, su pagal liniją. 1491 01:00:17,430 --> 01:00:19,250 Bet nėra tokio klavišą ant mano klaviatūros. 1492 01:00:19,250 --> 01:00:22,390 Taigi, C simbolis išreikšti didesnis nei arba 1493 01:00:22,390 --> 01:00:25,770 lygus du simboliai, ir mažiau nei simbolis 1494 01:00:25,770 --> 01:00:29,100 arba lygus, taip pat yra du ženklai. 1495 01:00:29,100 --> 01:00:29,330 Gerai. 1496 01:00:29,330 --> 01:00:31,910 Taigi, jei aš paleisti šią programą, jums greičiausiai gali atspėti, kas tai yra 1497 01:00:31,910 --> 01:00:32,650 ketinate daryti. 1498 01:00:32,650 --> 01:00:36,180 Jei aš einu į priekį ir padaryti nonswitch, "Enter". 1499 01:00:36,180 --> 01:00:38,130 Ir tada paleisti nonswitch. 1500 01:00:38,130 --> 01:00:39,530 Duok man skaičių nuo 1 iki 10. 1501 01:00:39,530 --> 01:00:40,870 Aš ruošiuosi suteikti jai 11. 1502 01:00:40,870 --> 01:00:42,280 Paėmiau neteisingas skaičius. 1503 01:00:42,280 --> 01:00:44,090 Leiskite man pabandyti numerį 3. 1504 01:00:44,090 --> 01:00:45,990 Paėmiau mažą skaičių. 1505 01:00:45,990 --> 01:00:48,360 Taigi gana paprasta. 1506 01:00:48,360 --> 01:00:52,230 >> Ką daryti, jei noriu pakeisti šios programos elgseną ir 1507 01:00:52,230 --> 01:00:54,250 , o ne padaryti kažką šiek tiek skiriasi? 1508 01:00:54,250 --> 01:00:57,620 Leiskite man eiti į priekį ir pasakyti tai. 1509 01:00:57,620 --> 01:00:59,480 Leiskite man atsikratyti visa tai. 1510 01:00:59,480 --> 01:01:03,780 Ir leiskite man pasakyti, jei (n == 42). 1511 01:01:03,780 --> 01:01:08,730 Ir tada aš ruošiuosi eiti į priekį ir pasakyti spausdinti "Jūs pakėlė 1512 01:01:08,730 --> 01:01:16,340 teisingas atsakymas. "Kitas mes ketiname eiti į priekį ir pasakyti, 1513 01:01:16,340 --> 01:01:18,460 printf ("Jūs pakėlė 1514 01:01:18,460 --> 01:01:21,170 atsakymas neteisingas "); Gerai. 1515 01:01:21,170 --> 01:01:22,040 Tiesiog todėl, kad. 1516 01:01:22,040 --> 01:01:23,890 >> Dabar keletas dalykų, mes galime padaryti čia. 1517 01:01:23,890 --> 01:01:26,570 Vienas, aš ne įrašykite simbolį, kad jūs manote, kad yra 1518 01:01:26,570 --> 01:01:27,390 labiausiai pagrįstas. 1519 01:01:27,390 --> 01:01:30,110 Kai noriu patikrinti lygybę, paaiškėja, jums nereikia naudoti 1520 01:01:30,110 --> 01:01:30,910 lygybės ženklas. 1521 01:01:30,910 --> 01:01:34,000 Jums, o ne naudoti vienodą lygybės ženklą. 1522 01:01:34,000 --> 01:01:36,440 Ir kodėl gali būti, kad tiesiog intuityviai? 1523 01:01:36,440 --> 01:01:37,030 Taip. 1524 01:01:37,030 --> 01:01:39,330 Auditorija: [nesigirdi] 1525 01:01:39,330 --> 01:01:39,615 David J. Malan: Teisingas. 1526 01:01:39,615 --> 01:01:41,630 Lygybės ženklas jau naudojamas užduotims. 1527 01:01:41,630 --> 01:01:43,020 Kažkas tikrai ne manau, kad tai per. 1528 01:01:43,020 --> 01:01:45,820 Ir todėl dabar, kai kalbama apie bandymų lyčių lygybės, mes turime 1529 01:01:45,820 --> 01:01:48,850 būti aiškesnis, ir pasakyti, lygus lygus. 1530 01:01:48,850 --> 01:01:52,110 Labai dažna klaida yra tai padaryti. 1531 01:01:52,110 --> 01:01:54,800 Ir, jei darbo valandomis arba kažkada kitą savaitę arba 1532 01:01:54,800 --> 01:01:58,340 artimiausias dvi savaites jūs darote kažką panašaus į tai, ir tada 1533 01:01:58,340 --> 01:02:00,920 kovoti su juo, 10, 20 minučių, bando išsiaiškinti, 1534 01:02:00,920 --> 01:02:03,330 damn klaida yra, suprantate, kad jūs esate vienas iš tų 1535 01:02:03,330 --> 01:02:04,470 žmonės, kurie padarė šią klaidą. 1536 01:02:04,470 --> 01:02:06,030 Taigi, super lengva padaryti. 1537 01:02:06,030 --> 01:02:08,240 Bet tikslas dabar yra atremti šią klaidą. 1538 01:02:08,240 --> 01:02:11,840 Tai galėtų įvertinti, nes tai, kas tai tikrai sako:? 1539 01:02:11,840 --> 01:02:15,010 Jei n gauna 42. 1540 01:02:15,010 --> 01:02:18,250 Taigi veiksmažodis žmonės naudoja, žodžiu, išreikšti 1541 01:02:18,250 --> 01:02:21,800 užduoties sąvoka yra "gauna". Taigi, jei n gauna 42. 1542 01:02:21,800 --> 01:02:24,060 Taigi, tai reiškia n 42 priskirti. 1543 01:02:24,060 --> 01:02:26,250 Dabar turiu loginę išraišką skliaustuose, 1544 01:02:26,250 --> 01:02:30,230 viduje šios būklės, kurių kiekvienos vertė yra 42 metai. 1545 01:02:30,230 --> 01:02:30,390 Tiesa? 1546 01:02:30,390 --> 01:02:32,690 Nes jei jūs ją įvertinti iš vidaus į išorę, iš viso 1547 01:02:32,690 --> 01:02:34,100 atsakymas, dabar yra 42 metai. 1548 01:02:34,100 --> 01:02:37,360 >> Taigi, jei aš paprašė klausimą, "jei (42)," tai, kas 1549 01:02:37,360 --> 01:02:38,410 kad tikrai pasakyti? 1550 01:02:38,410 --> 01:02:40,990 Na, Būlio išraiškos gali būti tik true arba false. 1551 01:02:40,990 --> 01:02:42,010 1 arba 0. 1552 01:02:42,010 --> 01:02:43,010 Įjungti arba išjungti. 1553 01:02:43,010 --> 01:02:45,240 Taigi, mes, atrodo, kampe atveju byloje, pagal kurią visi 1554 01:02:45,240 --> 01:02:50,060 staiga, aš sakau "jei (42)". Tai nėra Būlio vertė. 1555 01:02:50,060 --> 01:02:54,500 Taigi, ką kompiuteriai daryti, nors, tai iš esmės prilygsta 1556 01:02:54,500 --> 01:02:58,620 nieko, kad ne 0 aiškinama, kad būtų tiesa. 1557 01:02:58,620 --> 01:02:59,340 1. 1558 01:02:59,340 --> 01:02:59,690 Įjungta. 1559 01:02:59,690 --> 01:03:01,510 Jie visi funkciškai lygiavertės. 1560 01:03:01,510 --> 01:03:05,070 Tik vertė 0, arba raktinį žodį klaidingas, nes mes 1561 01:03:05,070 --> 01:03:07,860 galų gale pamatyti, iš tikrųjų yra klaidinga. 1562 01:03:07,860 --> 01:03:15,040 Taigi, "jei (42)" iš tikrųjų būtų tiesa, nes ji yra ne nulis. 1563 01:03:15,040 --> 01:03:18,620 Taigi, tiksliau čia, Būlio vertė yra tikrai ne taip 1564 01:03:18,620 --> 01:03:20,680 daug true arba false, tačiau tam 1565 01:03:20,680 --> 01:03:24,650 atveju, jei yra 0 arba ne nulis. 1566 01:03:24,650 --> 01:03:26,330 Taigi klaidinga arba nėra klaidinga. 1567 01:03:26,330 --> 01:03:28,640 Ir tai leidžia mums, kad apimtų daugiau 1568 01:03:28,640 --> 01:03:30,980 skliausteliuose išraiškos galimybės. 1569 01:03:30,980 --> 01:03:33,840 Todėl mes turime, kada nors taip atsargiai, tai sakau - 1570 01:03:33,840 --> 01:03:35,620 if (n == 42). 1571 01:03:35,620 --> 01:03:39,100 Tiesiog todėl, kad mes turime nurodyti lygybės testą, 1572 01:03:39,100 --> 01:03:40,930 kurių vertė priskyrimas. 1573 01:03:40,930 --> 01:03:42,830 >> Ką dar verta paminėti čia? 1574 01:03:42,830 --> 01:03:46,030 Šie garbanotieji petnešų yra iš tikrųjų nėra būtinas. 1575 01:03:46,030 --> 01:03:48,650 Aš jau daro juos tiesiog būti nit-smulkmeniškas čia. 1576 01:03:48,650 --> 01:03:51,350 Bet kai sąlygą, kad turi tik vieną eilutę 1577 01:03:51,350 --> 01:03:55,100 kodas, kaip patogiau, programuotojai ne reikia naudoti 1578 01:03:55,100 --> 01:03:56,030 garbanotieji petnešų. 1579 01:03:56,030 --> 01:03:59,370 Pakanka tiesiog įtrauka, dėl estetinių priežasčių, o 1580 01:03:59,370 --> 01:04:01,050 tada parašykite eilutę kodo. 1581 01:04:01,050 --> 01:04:04,160 Tik tada, kai norite parašyti dvi eilutes kodo - 1582 01:04:04,160 --> 01:04:08,230 Pavyzdžiui, kitas printf ("Bye!"). Jei norite padaryti, 1583 01:04:08,230 --> 01:04:09,540 , kad tai yra pažeistas. 1584 01:04:09,540 --> 01:04:11,700 Galite įtraukti viską, ką nori, bet faktas, kad jūs turite 1585 01:04:11,700 --> 01:04:14,600 įvestas dvi eilutes kodo nenaudojant garbanotieji petnešų 1586 01:04:14,600 --> 01:04:16,860 reiškia, kad ši programa neveiks ar gali 1587 01:04:16,860 --> 01:04:18,530 net sudaryti teisingai. 1588 01:04:18,530 --> 01:04:21,040 Taigi, šiuo metu, turi būti sąžiningas, aš manau, kad geriausias įprotis yra tik 1589 01:04:21,040 --> 01:04:24,460 naudoti garbanotas petnešos, ir jūs pamatysite, kad jie 1590 01:04:24,460 --> 01:04:25,750 super aišku, kas vyksta. 1591 01:04:25,750 --> 01:04:29,410 >> Taip pat, kaip panaikinti, ypač jei jūs esate vienas iš tų, kurie naudojasi 1592 01:04:29,410 --> 01:04:31,700 Rekomenduojamos knygos ar išteklių internete - 1593 01:04:31,700 --> 01:04:33,480 suprasti, kad šis stilius sąvoka 1594 01:04:33,480 --> 01:04:34,130 programavimas. 1595 01:04:34,130 --> 01:04:37,280 Ir kai kurie žmonės iš tikrųjų nori įdėti garbanotais petnešomis 1596 01:04:37,280 --> 01:04:38,720 čia ant linijos. 1597 01:04:38,720 --> 01:04:41,520 Kai kurie žmonės nori padaryti juokingas dalykų, 1598 01:04:41,520 --> 01:04:43,830 norėtų juos čia. 1599 01:04:43,830 --> 01:04:45,140 Nėra jokių atsakymas neteisingas, kai kalbama apie 1600 01:04:45,140 --> 01:04:46,710 stiliaus, bet tai negerai. 1601 01:04:46,710 --> 01:04:47,700 Tačiau kai kurie žmonės tai padaryti. 1602 01:04:47,700 --> 01:04:49,160 [Juokas] 1603 01:04:49,160 --> 01:04:51,760 David J. Malan: Taigi, aš sakiau, tai dabar, tiesiog, nes, kaip 1604 01:04:51,760 --> 01:04:54,400 jums perskaityti knygų ar internetu dalykų, kad jūs ketinate gauti 1605 01:04:54,400 --> 01:04:55,990 skirtingi pranešimai iš įvairių mokytojų ir 1606 01:04:55,990 --> 01:04:56,730 skirtingi autoriai. 1607 01:04:56,730 --> 01:04:58,640 Ir tiesiog suvokti, kad funkciniu požiūriu, jie 1608 01:04:58,640 --> 01:05:00,740 atitikmuo, bet būti nuoseklūs. 1609 01:05:00,740 --> 01:05:02,850 Taigi šiuo atveju, mes standartizuoti garbanotieji 1610 01:05:02,850 --> 01:05:04,650 petnešos čia rikiuojasi kairėje. 1611 01:05:04,650 --> 01:05:04,910 >> Gerai. 1612 01:05:04,910 --> 01:05:07,040 Taigi eikime į priekį dabar ir paleisti, ir pamatyti, kas atsitiks 1613 01:05:07,040 --> 01:05:07,780 su šia programa. 1614 01:05:07,780 --> 01:05:09,970 Padaryti nonswitch. 1615 01:05:09,970 --> 01:05:11,040 Tada paleiskite nonswitch. 1616 01:05:11,040 --> 01:05:13,900 Duok man sveikasis skaičius tarp 0 ir - taip, kad ne 1617 01:05:13,900 --> 01:05:16,480 nebėra, bet aš tik ketina savavališkai pasakyti 42. 1618 01:05:16,480 --> 01:05:17,850 Ir aš surinkti teisingą atsakymą. 1619 01:05:17,850 --> 01:05:20,430 Na dabar, galime iš tikrųjų į tai kita kryptimi. 1620 01:05:20,430 --> 01:05:22,070 Paaiškėjo, kad kai kurios kitos sintaksė, mes 1621 01:05:22,070 --> 01:05:23,480 galite naudoti programą. 1622 01:05:23,480 --> 01:05:27,310 Štai naujas gabalas sintaksė, kuri yra praktiškai tas pats, 1623 01:05:27,310 --> 01:05:30,680 bet tiesiog įveda naują išreikšti save. 1624 01:05:30,680 --> 01:05:32,830 Taigi, tai yra tai, kas vadinama "switch" teiginys ". Ir 1625 01:05:32,830 --> 01:05:34,820 "switch" teiginys veikia taip. 1626 01:05:34,820 --> 01:05:37,580 Ji mano, skliausteliuose, vertę, kurią norite 1627 01:05:37,580 --> 01:05:38,860 "Jungiklis". 1628 01:05:38,860 --> 01:05:41,490 Jūs norite, kad elgtis kitaip, remiantis jo vertės. 1629 01:05:41,490 --> 01:05:44,360 Taigi, tai reiškia, kad n vertės jungiklį. 1630 01:05:44,360 --> 01:05:45,480 O ką tai reiškia? 1631 01:05:45,480 --> 01:05:50,530 Na, jei n yra 1, 2 arba 3, eiti į priekį ir atsispausdinti "Tu 1632 01:05:50,530 --> 01:05:52,680 pakėlė didelį skaičių "ir tada pertrauka. 1633 01:05:52,680 --> 01:05:55,720 Pertraukos priežastis yra ta, kad C būdas veikia 1634 01:05:55,720 --> 01:05:59,790 greitai, kaip mano atveju, kad atitinka, jis pradeda vykdyti 1635 01:05:59,790 --> 01:06:01,610 visi žemiau jo kodą. 1636 01:06:01,610 --> 01:06:04,580 Taigi, jei aš turiu vieną eilutę kodo, kaip aš čia on line 27 1637 01:06:04,580 --> 01:06:05,360 paleidžiama vykdyti. 1638 01:06:05,360 --> 01:06:07,520 Jei aš čia pridėti dar vieną liniją, jis bus vykdomas. 1639 01:06:07,520 --> 01:06:09,350 Kita linija, jis bus vykdomas. 1640 01:06:09,350 --> 01:06:12,460 Programa sustoja tik tada vykdyti tai, kas žemiau 1641 01:06:12,460 --> 01:06:14,680 taikytiną teisminę pareiškimą, kai aš aiškiai 1642 01:06:14,680 --> 01:06:17,210 pasakyti "pertrauka". Taip neteisinga. 1643 01:06:17,210 --> 01:06:19,220 Teisė, šiuo atveju, kaip rezultatas. 1644 01:06:19,220 --> 01:06:22,130 4 arba 5 arba 6, panašiai, vyksta 1645 01:06:22,130 --> 01:06:23,160 atsispausdinti pranešimą. 1646 01:06:23,160 --> 01:06:24,410 Šiuo atveju, vidutinės numeris. 1647 01:06:24,410 --> 01:06:25,200 Pertraukos. 1648 01:06:25,200 --> 01:06:28,160 Byla 7, 8, 9, 10, ji ketina atsispausdinti "Jūs pakėlė didelis 1649 01:06:28,160 --> 01:06:28,950 numeris. "Break. 1650 01:06:28,950 --> 01:06:31,290 Ir tada ten tiesiog raktinį žodį vadinamas "pagal nutylėjimą" 1651 01:06:31,290 --> 01:06:34,090 tai efektyviai kaip ir "kitas" statyti. 1652 01:06:34,090 --> 01:06:36,010 Toks naujas sintaksė, bet intelektualiai, 1653 01:06:36,010 --> 01:06:37,060 nieko visi naujo čia. 1654 01:06:37,060 --> 01:06:38,280 Tai kaip "Scratch. 1655 01:06:38,280 --> 01:06:41,040 Jei, if, else if, tarsi bloko. 1656 01:06:41,040 --> 01:06:44,560 >> Taigi, kad perėjo šios programos versija. 1657 01:06:44,560 --> 01:06:46,280 , Bet pastebėsite, kad mes tai padarėme su skaičiais čia. 1658 01:06:46,280 --> 01:06:49,040 Leiskite man atverti antrą versiją, tiesiog parodyti 1659 01:06:49,040 --> 01:06:50,670 kažkas šiek tiek daugiau betono. 1660 01:06:50,670 --> 01:06:52,840 Taigi čia mes turime klases vietoj. 1661 01:06:52,840 --> 01:06:55,540 Pasirodo, galite naudoti jungiklius ne tik sveikaisiais skaičiais, bet 1662 01:06:55,540 --> 01:06:56,340 simbolių. 1663 01:06:56,340 --> 01:06:58,930 Ne visų duomenų tipų, tačiau ne rečiau kaip simbolių. 1664 01:06:58,930 --> 01:07:02,670 Taigi čia, mes galime padaryti kažką panašaus, jei C vertę, kuri 1665 01:07:02,670 --> 01:07:06,230 vartotojas turi įvesti, atitinka 19, naudojant GetChar funkciją, 1666 01:07:06,230 --> 01:07:09,410 yra kapitalo arba mažosiomis, galime interpretuoti kaip rangui, 1667 01:07:09,410 --> 01:07:11,340 ir sako, kad jie pasirinko puikią klasę. 1668 01:07:11,340 --> 01:07:14,690 Ir žemyn palei "switch" teiginyje, ar mes turime kita 1669 01:07:14,690 --> 01:07:17,950 bylos dėl "B" ir "C", ir taip toliau. 1670 01:07:17,950 --> 01:07:19,780 Bet tegul dabar baigia vienas kitas dalykas. 1671 01:07:19,780 --> 01:07:21,130 Ir vėl, tipo skrenda per 1672 01:07:21,130 --> 01:07:22,200 kai kurie iš šių pavyzdžių. 1673 01:07:22,200 --> 01:07:26,990 Bet tai tikrai, kad galėtume juos taikyti, dabar - 1674 01:07:26,990 --> 01:07:28,880 ar tikrai, tik išversti jas dabar - 1675 01:07:28,880 --> 01:07:32,220 iki C 1676 01:07:32,220 --> 01:07:33,310 >> Taigi leiskite man eiti į priekį ir tai padaryti. 1677 01:07:33,310 --> 01:07:34,830 Aš einu atverti naują failą. 1678 01:07:34,830 --> 01:07:39,430 Ir aš ruošiuosi tai padaryti . 1679 01:07:39,430 --> 01:07:42,770 Ir tada aš ruošiuosi daryti int main (void). 1680 01:07:42,770 --> 01:07:46,390 Leiskite man išsaugoti šį failą kaip loop.c. 1681 01:07:46,390 --> 01:07:48,280 Tik kaip pavyzdys. 1682 01:07:48,280 --> 01:07:49,910 Ir aš ruošiuosi eiti į priekį ir atlikite šiuos veiksmus. 1683 01:07:49,910 --> 01:07:54,180 Aš noriu rašyti labai nuobodų programą. 1684 01:07:54,180 --> 01:07:56,170 Taigi 10. 1685 01:07:56,170 --> 01:07:58,862 Darykime tai. 1686 01:07:58,862 --> 01:07:59,320 9. 1687 01:07:59,320 --> 01:08:00,360 Gerai. 1688 01:08:00,360 --> 01:08:02,120 Kuo greičiau pradėti tai daryti programavimo, jūs 1689 01:08:02,120 --> 01:08:03,490 tikriausiai daro kažką blogo. 1690 01:08:03,490 --> 01:08:04,950 Bet mes pradėsime ten vistiek. 1691 01:08:04,950 --> 01:08:05,430 Oi. 1692 01:08:05,430 --> 01:08:06,950 , Kad tikrai negerai. 1693 01:08:06,950 --> 01:08:08,230 7. 1694 01:08:08,230 --> 01:08:09,440 6. 1695 01:08:09,440 --> 01:08:10,750 5. 1696 01:08:10,750 --> 01:08:11,200 4. 1697 01:08:11,200 --> 01:08:12,450 Nieko nutiks, kai mes gauname 0. 1698 01:08:12,450 --> 01:08:13,290 3. 1699 01:08:13,290 --> 01:08:14,590 2. 1700 01:08:14,590 --> 01:08:15,630 1. 1701 01:08:15,630 --> 01:08:16,020 Gerai. 1702 01:08:16,020 --> 01:08:17,560 0. 1703 01:08:17,560 --> 01:08:18,689 Ištrinti. 1704 01:08:18,689 --> 01:08:19,029 >> Gerai. 1705 01:08:19,029 --> 01:08:20,029 Taigi, grįžti 0. 1706 01:08:20,029 --> 01:08:22,010 Todėl ši programa akivaizdžiai ketina daryti tai, ko labai 1707 01:08:22,010 --> 01:08:23,310 Nemalonu sako, kad ji ketina daryti. 1708 01:08:23,310 --> 01:08:24,060 Ji ketina spausdinti visus tuos, 1709 01:08:24,060 --> 01:08:25,290 vertės, nuo viršaus iki apačios. 1710 01:08:25,290 --> 01:08:27,140 Taigi, leiskite man padaryti kilpą. 1711 01:08:27,140 --> 01:08:28,640 O tada - oi. 1712 01:08:28,640 --> 01:08:29,700 Padaryti kilpą. 1713 01:08:29,700 --> 01:08:31,479 Buvau neteisinga kataloge. 1714 01:08:31,479 --> 01:08:33,300 O dabar leiskite man paleisti kilpą. 1715 01:08:33,300 --> 01:08:34,140 Įveskite. 1716 01:08:34,140 --> 01:08:34,620 Nuostabu. 1717 01:08:34,620 --> 01:08:35,270 Labai gražus. 1718 01:08:35,270 --> 01:08:36,279 Gražus, ilgas programa. 1719 01:08:36,279 --> 01:08:38,109 >> Viskas gerai, bet dabar galime tai padaryti geriau. 1720 01:08:38,109 --> 01:08:40,810 Tiesiog kaip ir nulio, kai jūs pradėjote naudoti Looping 1721 01:08:40,810 --> 01:08:43,149 statyti, o ne tik kopijuoti ir įklijuoti visus 1722 01:08:43,149 --> 01:08:45,580 įspūdį, leiskite man pristatyti šį dalyką. 1723 01:08:45,580 --> 01:08:48,609 Taigi C, yra įvairių ciklų sakiniai, 1724 01:08:48,609 --> 01:08:50,540 iš kurių vienas atrodo taip. 1725 01:08:50,540 --> 01:08:55,069 "Už" loop turi tris dalykus, atskirtų dviem kabliataškiais. 1726 01:08:55,069 --> 01:08:57,770 Ir tada, viduje kilpos kūno, todėl kalbėti - 1727 01:08:57,770 --> 01:08:59,390 stuff viduje klamrami - 1728 01:08:59,390 --> 01:09:01,010 mes galime padaryti kažką vėl ir vėl. 1729 01:09:01,010 --> 01:09:02,310 Taigi, ką aš čia ekrane, tai yra 1730 01:09:02,310 --> 01:09:03,300 tiesiog tik komentaras. 1731 01:09:03,300 --> 01:09:05,380 / / Čia reiškia ateina komentarą. 1732 01:09:05,380 --> 01:09:06,180 Tai ne kodas. 1733 01:09:06,180 --> 01:09:08,890 Tai tik Anglų aprašymas, man žmogaus. 1734 01:09:08,890 --> 01:09:11,300 >> Taigi initializations, sąlygas, ir atnaujinimus. 1735 01:09:11,300 --> 01:09:12,770 Na, galime pamatyti, kaip tai veikia. 1736 01:09:12,770 --> 01:09:15,520 Tai leidžia man perrašyti šią programą taip. 1737 01:09:15,520 --> 01:09:16,399 Už - 1738 01:09:16,399 --> 01:09:18,029 todėl čia ateina mano kilpą 1739 01:09:18,029 --> 01:09:19,439 int i - 1740 01:09:19,439 --> 01:09:21,330 čia ateina kintamasis vadinamas "i", - 1741 01:09:21,330 --> 01:09:23,140 gauna, inicializuoti iki 10. 1742 01:09:23,140 --> 01:09:25,260 Taigi yra mano iniciacijos. 1743 01:09:25,260 --> 01:09:29,450 Aš noriu padaryti taip ilgai, kaip "i" yra didesnis nei arba šio ciklo 1744 01:09:29,450 --> 01:09:30,899 lygus 0. 1745 01:09:30,899 --> 01:09:32,880 Ir ant kiekvieno šio ciklo iteracijos, aš noriu 1746 01:09:32,880 --> 01:09:34,979 Ar aš. 1747 01:09:34,979 --> 01:09:36,310 Taigi mes matėme + + pirmadienį. 1748 01:09:36,310 --> 01:09:37,660 - Atvirkščiai. 1749 01:09:37,660 --> 01:09:39,410 Mažinimą vertę 1. 1750 01:09:39,410 --> 01:09:43,319 Viduje šio ciklo, aš noriu, kad iš tikrųjų kažką daryti. 1751 01:09:43,319 --> 01:09:46,390 Todėl aš pasakyti kažką panašaus printf. 1752 01:09:46,390 --> 01:09:48,939 Aš nenoriu pasakyti, 10 dabar, nes tai akivaizdžiai yra tik 1753 01:09:48,939 --> 01:09:50,000 ketinate spausdinti tą pačią vertę. 1754 01:09:50,000 --> 01:09:52,246 Ką noriu spausdinti, o ne, tikriausiai? 1755 01:09:52,246 --> 01:09:52,590 Taip. 1756 01:09:52,590 --> 01:09:55,270 Taigi, "i". Taigi,% d, i. 1757 01:09:55,270 --> 01:09:57,340 >> Taigi, aš ketina pavogti vieną iš šių idėjų iš ankstesnių 1758 01:09:57,340 --> 01:09:59,640 tai formato kodų pakeitimas - 1759 01:09:59,640 --> 01:10:01,620 ir tada žemyn, apačioje, aš sugrįšiu "0", tik 1760 01:10:01,620 --> 01:10:02,710 gera priemonė. 1761 01:10:02,710 --> 01:10:04,740 Bet dabar, aš turiu daugiau glaustai programą. 1762 01:10:04,740 --> 01:10:07,490 Tai tik keletas eilučių, o ne apie 10 ar 11 linijos. 1763 01:10:07,490 --> 01:10:09,440 Leiskite man eiti į mano eilutę žemyn. 1764 01:10:09,440 --> 01:10:10,630 Perdarytas linijos. 1765 01:10:10,630 --> 01:10:12,140 Pakartotas linijos. 1766 01:10:12,140 --> 01:10:13,570 Ir, atrodo, yra tas pats. 1767 01:10:13,570 --> 01:10:15,550 Dabar, programa įdomiau. 1768 01:10:15,550 --> 01:10:17,180 Bet dabar galiu įvesti kažką panašaus į tai. 1769 01:10:17,180 --> 01:10:18,970 Aš galiu pakeisti 100. 1770 01:10:18,970 --> 01:10:21,400 Tada galiu perkompiliuoti savo programą. 1771 01:10:21,400 --> 01:10:23,360 Ir tada aš vėl paleisti savo programą. 1772 01:10:23,360 --> 01:10:26,390 Ir dabar jis eina super greitai šiandienos kompiuteriai. 1773 01:10:26,390 --> 01:10:27,820 Bet ten - 1774 01:10:27,820 --> 01:10:29,620 ir iš tikrųjų, mano slinkties juosta buferio nėra 1775 01:10:29,620 --> 01:10:30,890 net eiti taip toli. 1776 01:10:30,890 --> 01:10:31,680 Čia mes eiti. 1777 01:10:31,680 --> 01:10:34,090 Taigi mes turime visus 100. 1778 01:10:34,090 --> 01:10:35,880 Bet tai lengva padaryti klaidų čia. 1779 01:10:35,880 --> 01:10:37,920 Kas bus laukiamas elgesys, jei aš 1780 01:10:37,920 --> 01:10:41,150 netyčia tai padaryti? 1781 01:10:41,150 --> 01:10:42,550 Taigi jis jaučiasi begalinis. 1782 01:10:42,550 --> 01:10:44,670 Taigi pažiūrėkime, jei kompiuteris elgiasi. 1783 01:10:44,670 --> 01:10:47,020 >> Taigi, leiskite man eiti į priekį ir padaryti kilpą. 1784 01:10:47,020 --> 01:10:48,355 Ir leiskite man paleisti kilpą. 1785 01:10:53,590 --> 01:10:55,210 Taigi, galime sugrįžti, kad vos akimirką. 1786 01:10:55,210 --> 01:10:56,720 Leisime, kad paleisti. 1787 01:10:56,720 --> 01:10:59,520 Nes ką mes turėtume tikėtis iki, minimaliai? 1788 01:10:59,520 --> 01:11:02,200 Tikriausiai mažiausiai 2 mlrd. Eurų, jei mes turime tiek bitų, ir 1789 01:11:02,200 --> 01:11:03,660 mes naudojame teigiamas vertybes. 1790 01:11:03,660 --> 01:11:04,890 Todėl galime atšokti. 1791 01:11:04,890 --> 01:11:07,810 Be šių vyrių rūšių, mes turime tai, kas vadinama, o 1792 01:11:07,810 --> 01:11:09,430 grandinės. Taigi, kaip nulio, jūs turėjote Visada 1793 01:11:09,430 --> 01:11:11,240 Pakartokite blokai blokai, ir jums teko. 1794 01:11:11,240 --> 01:11:13,270 Be to, C, jūs tiesiog turite kitų būdų 1795 01:11:13,270 --> 01:11:14,260 išreikšti save. 1796 01:11:14,260 --> 01:11:17,110 Taigi, jūs turite šią while cikle sąvoka, kuri leidžia jums 1797 01:11:17,110 --> 01:11:18,860 išreikšti save šiek tiek kitaip. 1798 01:11:18,860 --> 01:11:21,490 Ir tada jūs turite kažką vadinama do-while cikle, 1799 01:11:21,490 --> 01:11:24,200 kuris veikia šiek tiek kitaip, taip pat. 1800 01:11:24,200 --> 01:11:25,320 Ir mes erzinti tai be laikui bėgant. 1801 01:11:25,320 --> 01:11:28,630 >> Bet tegul imasi šiame paskutiniame vienas čia atrodo. 1802 01:11:28,630 --> 01:11:30,160 Jei mes einame į 1803 01:11:30,160 --> 01:11:31,466 vis dar veikia. 1804 01:11:31,466 --> 01:11:32,770 Tai gana begalinis. 1805 01:11:32,770 --> 01:11:36,870 Taigi leiskite man eiti į teigiamą, ir parodyti, kaip mes iš tikrųjų gali 1806 01:11:36,870 --> 01:11:39,410 šiek tiek efektyviau valdyti vartotojo įvesties. 1807 01:11:39,410 --> 01:11:40,910 Tai gana trumpas programa. 1808 01:11:40,910 --> 01:11:43,730 Ir čia mes turime, Main, int n deklaraciją. 1809 01:11:43,730 --> 01:11:46,570 Taigi duok man kintamasis vadinamas n. Dabar aš tiesiog pasakyti, 1810 01:11:46,570 --> 01:11:48,340 "Padaryti". Ir tada aš turiu atvirą garbanotas 1811 01:11:48,340 --> 01:11:49,630 petnešomis, arti garbanotas petnešomis. 1812 01:11:49,630 --> 01:11:52,000 Ir tada pastebėsite, iš karto po to, ji sako, o n 1813 01:11:52,000 --> 01:11:53,790 yra mažesnis nei 1. 1814 01:11:53,790 --> 01:11:55,300 Taigi pastebėti, kad šias eilutes 1815 01:11:55,300 --> 01:11:56,740 19-24 - 1816 01:11:56,740 --> 01:11:59,450 kurti kolektyvinę do-while cikle. 1817 01:11:59,450 --> 01:12:01,280 Ir kitą kartą, sintaksė, o ne nauja idėja. 1818 01:12:01,280 --> 01:12:03,740 Tai tik dar vienas Looping būdas, sintaksiškai. 1819 01:12:03,740 --> 01:12:04,890 Taigi, ką tai daryti? 1820 01:12:04,890 --> 01:12:08,000 Atlikite šiuos veiksmus, o n yra mažesnis už 1. 1821 01:12:08,000 --> 01:12:09,080 Taigi, ką aš noriu daryti? 1822 01:12:09,080 --> 01:12:11,390 Reikalauju, kad galite man duoti teigiamą sveikąjį skaičių. 1823 01:12:11,390 --> 01:12:14,110 Tada aš iš tikrųjų bando gauti sveikąjį skaičių nuo vartotojo. 1824 01:12:14,110 --> 01:12:16,740 Bet operacijų tvarka, nes 1825 01:12:16,740 --> 01:12:21,850 o sąlyga yra nustatytas čia, aš tada ketiname patikrinti, yra n 1826 01:12:21,850 --> 01:12:23,100 mažiau nei 1? 1827 01:12:23,100 --> 01:12:24,600 Taigi tarkime, kad vartotojo 1828 01:12:24,600 --> 01:12:26,450 po to, kai reikalaujama, tokiu būdu 1829 01:12:26,450 --> 01:12:29,190 tipų reikšmę, lygią 0. 1830 01:12:29,190 --> 01:12:34,510 Ši sąlyga bus teisinga, ar klaidinga? 1831 01:12:34,510 --> 01:12:35,820 Na, tai iš tikrųjų vyksta, kad būtų tiesa. 1832 01:12:35,820 --> 01:12:38,700 Kadangi n yra 0, o 0 yra mažiau nei 1. 1833 01:12:38,700 --> 01:12:40,140 Taigi, ką tai reiškia? 1834 01:12:40,140 --> 01:12:41,160 Padaryti jį dar kartą. 1835 01:12:41,160 --> 01:12:41,990 Padaryti jį dar kartą. 1836 01:12:41,990 --> 01:12:42,640 Padaryti jį dar kartą. 1837 01:12:42,640 --> 01:12:46,080 Tik tada, kai ši sąlyga įvertinama false. 1838 01:12:46,080 --> 01:12:47,510 Jei aš tipo 42. 1839 01:12:47,510 --> 01:12:49,690 Na ne, 42 yra ne mažesnis kaip 1. 1840 01:12:49,690 --> 01:12:52,320 Todėl šis ciklas yra atliekamas vykdyti. 1841 01:12:52,320 --> 01:12:54,650 Ir taip, kad tuo momentu, programa pasakys, ačiū už 1842 01:12:54,650 --> 01:12:57,530 42, šiuo atveju. 1843 01:12:57,530 --> 01:13:00,320 Dabar, kad jūs turite šią būdas išreikšti save - 1844 01:13:00,320 --> 01:13:02,360 Mes neturėtume laukti iki pabaigos. 1845 01:13:02,360 --> 01:13:03,620 Ji ketina imtis šiek tiek laiko. 1846 01:13:03,620 --> 01:13:04,990 Būti tęsiamas kitą kartą, galbūt. 1847 01:13:04,990 --> 01:13:08,050 >> Bet dabar, jūs turite galimybę tikiuosi suprasti 1848 01:13:08,050 --> 01:13:09,060 tiek Geek humoro. 1849 01:13:09,060 --> 01:13:11,560 Atsiprašymai. 1850 01:13:11,560 --> 01:13:13,620 Tai ne atstovas humoro kompiuterių mokslo 1851 01:13:13,620 --> 01:13:14,870 visame pasaulyje, tačiau tai mielas. 1852 01:13:21,020 --> 01:13:23,890 [Juokiasi] Leiskite pabaigoje dėl šio rašto. 1853 01:13:23,890 --> 01:13:25,750 Ir mes matome, pirmadienį. 1854 01:13:25,750 --> 01:13:31,629 [Plojimai]