1 00:00:00,000 --> 00:00:10,920 >> [Musika jotzen] 2 00:00:10,920 --> 00:00:14,680 >> DAVID J MALAN: Ondo da, ongietorria itzuli CS50. 3 00:00:14,680 --> 00:00:16,500 Bi aste honetan hasiera da. 4 00:00:16,500 --> 00:00:18,940 Gure batetik hitza campusean lagunak - 5 00:00:18,940 --> 00:00:22,620 zauden interesatuta egonez gero, agian, bai orain edo etorkizunean, epe 6 00:00:22,620 --> 00:00:25,670 nahiz eta, behin erosoagoa, irakaskuntza SCHOOL ikasle apur bat 7 00:00:25,670 --> 00:00:27,680 informatika zerbait, do burua URL horretan. 8 00:00:27,680 --> 00:00:32,360 Beharra daude, batez ere, eskubidea dute, orain irakasleak, bereziki duzu 9 00:00:32,360 --> 00:00:34,700 izan zuen informatika esposizio batzuk. 10 00:00:34,700 --> 00:00:38,060 >> Beraz, azken aldiz gogoratzen dela, ez dugu sartu C-datuak gutxi motak, eta 11 00:00:38,060 --> 00:00:40,590 hasi ahal izango duzu zure eskuak horiek, beraz, oso urrun batera zikin 12 00:00:40,590 --> 00:00:41,940 arazo girotuta bat. 13 00:00:41,940 --> 00:00:43,230 Eta karaktere bat izan genuen. 14 00:00:43,230 --> 00:00:49,100 Beraz, termino tekniko samarra, zer karaktere bat da, ezagutzen duzun bezala, gaur egun? 15 00:00:49,100 --> 00:00:51,050 >> Beraz, pertsonaia bat da, baina ez dezagun zehatzago izango da orain. 16 00:00:51,050 --> 00:00:53,735 Zer esan nahi pertsonaia dugu edo banakako char? 17 00:00:53,735 --> 00:00:56,700 18 00:00:56,700 --> 00:00:59,500 Ez Zenbakizko pertsonaia A - 19 00:00:59,500 --> 00:01:00,670 beraz, ez du nahitaez. 20 00:01:00,670 --> 00:01:04,580 Bihurtzen da, nahiz eta duten zenbakiak, nahiz puntuazio eta hizkiak dira 21 00:01:04,580 --> 00:01:06,980 Datu honekin irudikatzen idatzi karaktere bat bezala ezagutzen. 22 00:01:06,980 --> 00:01:09,440 Beraz, ez da nahitaez alfabetikoa. 23 00:01:09,440 --> 00:01:11,100 Bai? 24 00:01:11,100 --> 00:01:12,275 >> Beraz, ASCII karaktere bat da. 25 00:01:12,275 --> 00:01:15,510 Beraz, atzera uste duzu aste zero denean, gure boluntarioen byte izan dugu 26 00:01:15,510 --> 00:01:19,150 etorri eta bai beren esku eduki edo ez, bit irudikatzen dute. 27 00:01:19,150 --> 00:01:22,450 Baina kolektiboki zortzi talde gisa, byte bat irudikatzen dute. 28 00:01:22,450 --> 00:01:26,030 Eta ASCII kontzeptua sartu dugu hitzaldi hartan, eta hori besterik ez da, 29 00:01:26,030 --> 00:01:28,170 zenbakiak eta letrak arteko mapaketa. 30 00:01:28,170 --> 00:01:32,010 Eta ASCII erabilerak, baita gizakiak horiek inplikatzen, zortzi bit 31 00:01:32,010 --> 00:01:33,660 pertsonaia bat irudikatzeko. 32 00:01:33,660 --> 00:01:36,890 >> Beraz, horren arabera, zortzi bit ahal bada bakoitzean bi balio bat hartu - 33 00:01:36,890 --> 00:01:38,010 zero edo bat - 34 00:01:38,010 --> 00:01:40,280 direla esan nahi du bi aukerak Pertsona honek - 35 00:01:40,280 --> 00:01:41,230 zero edo bat - 36 00:01:41,230 --> 00:01:44,070 Pertsona hori, bi honek bi pertsona, hau da, bi. 37 00:01:44,070 --> 00:01:47,450 Bi aldiz, guztira, beraz, bi aldiz bi aldiz, bi aldiz bi - 38 00:01:47,450 --> 00:01:49,700 beraz, bi guztira, zortzigarren. 39 00:01:49,700 --> 00:01:54,320 Beraz, ez dago karaktere kopurua da 256 posible ahal duzun hori 40 00:01:54,320 --> 00:01:55,750 zortzi bit-ekin irudikatzeko. 41 00:01:55,750 --> 00:01:59,210 >> Orain, duzun hitz egiten dutenak Asian hizkuntza ez da gehiago jakin dezake 42 00:01:59,210 --> 00:02:02,620 munduko karaktere baino As eta Bs eta Cs eta Ds. 43 00:02:02,620 --> 00:02:06,130 Eta, hain zuzen ere, ASCII ez da nahikoa egiteko munduko hizkuntza asko. 44 00:02:06,130 --> 00:02:07,760 Baina hori beste garai on gehiago. 45 00:02:07,760 --> 00:02:11,240 Oraingoz, jakin C hori nahi ez baduzu gutun bat, pieza bat irudikatzeko 46 00:02:11,240 --> 00:02:15,780 puntuazio, edo zerbait pertsonaia naturan, karaktere bat erabiltzen dugu. 47 00:02:15,780 --> 00:02:18,240 Eta byte bat edo zortzi biteko da. 48 00:02:18,240 --> 00:02:19,690 >> Int bati buruz nola? 49 00:02:19,690 --> 00:02:20,780 Beno, int bat oso bat da. 50 00:02:20,780 --> 00:02:23,175 Zenbat bit, gogoratzen baduzu, zenbaki oso bat izan da normalean? 51 00:02:23,175 --> 00:02:25,930 52 00:02:25,930 --> 00:02:27,512 Edozeinek gogoratzen? 53 00:02:27,512 --> 00:02:29,600 Beraz, normalean, ez da 32. 54 00:02:29,600 --> 00:02:32,120 Ordenagailuan benetan araberakoa erabiltzen ari zaren. 55 00:02:32,120 --> 00:02:35,770 Baina tresnari, eta asko hasi ordenagailuak, 32 bit edo lau da 56 00:02:35,770 --> 00:02:37,140 byte - zortzi aldiz lau. 57 00:02:37,140 --> 00:02:39,790 Eta besterik ez dira ints gordetzeko erabiltzen zenbakiak, bai negatiboak, 58 00:02:39,790 --> 00:02:41,610 positiboa edo zero. 59 00:02:41,610 --> 00:02:45,250 >> Eta duzun got bada 32 bit eta zu bakarrik zenbakiak positiboak buruzko laguntza, ahal 60 00:02:45,250 --> 00:02:48,960 Edozeinek BallPark zenbat posible osokoak ordenagailu bat irudikatu ditzakeen tik 61 00:02:48,960 --> 00:02:51,820 gora zero? 62 00:02:51,820 --> 00:02:56,130 Beraz, izango da 32 bi litzateke, eta horrek gutxi gorabehera lau mila milioi da. 63 00:02:56,130 --> 00:02:59,720 Bi eskumen hauek izango dira, beraz, joan ordenagailua zientzia gaiak behin eta berriro. 64 00:02:59,720 --> 00:03:03,930 Ikusiko dugun bezala, nahiko eroso ari dira behar bada ere, ez da nahiko du berarekin lan egin 65 00:03:03,930 --> 00:03:05,790 erraza math egiteko norberaren burua. 66 00:03:05,790 --> 00:03:07,000 >> Beraz, gutxi gorabehera lau mila milioi esan dugu. 67 00:03:07,000 --> 00:03:08,620 Orain, luze bat - 68 00:03:08,620 --> 00:03:09,770 etxebizitza mota dezakezu. 69 00:03:09,770 --> 00:03:10,480 Int bat baino luzeagoa da. 70 00:03:10,480 --> 00:03:12,440 Zenbat bit? 71 00:03:12,440 --> 00:03:14,250 64 bit edo zortzi byte beraz. 72 00:03:14,250 --> 00:03:17,480 Honek esan nahi du, besterik adierazten are dezakezu handiagoa zenbakiak, handiagoa positiboa edo 73 00:03:17,480 --> 00:03:19,160 handiagoa negatiboak zenbakiak. 74 00:03:19,160 --> 00:03:20,060 >> Eta nola flotatzen? 75 00:03:20,060 --> 00:03:22,260 Duten puntu mugikorreko bat 32 bit balioa. 76 00:03:22,260 --> 00:03:25,180 Hau besterik ez da zenbaki erreal bat, zerbait a hamartar puntu ditu. 77 00:03:25,180 --> 00:03:30,100 Baina horren ordez, behar izanez gero, leku gehiago du dezimal ondoren, edo nahi duzun 78 00:03:30,100 --> 00:03:33,720 irudikatzeko batzuekin kopurua handiagoa ondoren frakzio, bat erabil dezakezu 79 00:03:33,720 --> 00:03:36,260 bikoitza, eta horietatik 64 bit da. 80 00:03:36,260 --> 00:03:38,240 >> Baina, ez da interesgarria eramateko hemen. 81 00:03:38,240 --> 00:03:42,890 Hala bada ints dira 32 bit eta mugatuta nahiz eta luze Longs dira 64 mugatuta 82 00:03:42,890 --> 00:03:46,180 bit, ordenatu duten galdera segurutzat jotzen, benetan zer nahi ezkero zenbatu 83 00:03:46,180 --> 00:03:48,790 4 milioi int bat baino handiagoa? 84 00:03:48,790 --> 00:03:50,330 Beno, erabili besterik ez duzu luze bat. 85 00:03:50,330 --> 00:03:54,200 Baina, zer nahi duzu altuagoa zenbatzen bada bi baino 64 da, eman edo hartu? 86 00:03:54,200 --> 00:03:55,810 >> Orain, hori asko da. 87 00:03:55,810 --> 00:03:59,250 Baina azkenean, benetan dezakezu balore horiek zaintzeko, 88 00:03:59,250 --> 00:04:03,070 batez ere, datu-base bat erabiltzen ari zaren eta asko eta asko biltzeko hasita 89 00:04:03,070 --> 00:04:06,190 eta datu asko eta berezia esleitzea behar diren datuak pieza bakoitzaren zenbakiak. 90 00:04:06,190 --> 00:04:07,430 Horregatik, mota horretako arazo bat. 91 00:04:07,430 --> 00:04:10,700 Eta, era berean, puntu mugikorreko batera balio - karroza edo bikoitzak - 92 00:04:10,700 --> 00:04:14,290 duzun got bada bakarrik mugatu kopurua bit, zenbat guztira zenbakiak ezin duzu 93 00:04:14,290 --> 00:04:16,980 ziurrenik irudikatzeko? 94 00:04:16,980 --> 00:04:19,540 >> Beno, ez da horren argi dago duzunean inplikatzen hamartar puntu bat. 95 00:04:19,540 --> 00:04:20,899 Baina ziur finitua da. 96 00:04:20,899 --> 00:04:24,390 Daukazula bit kopurua finitua bat izanez gero, gizakiak kopuru finitu, mugatu bat 97 00:04:24,390 --> 00:04:27,350 bonbilla kopurua, ziur asko ahal duzun bakarrik mugatu kopurua 98 00:04:27,350 --> 00:04:28,510 puntu balio flotatzen. 99 00:04:28,510 --> 00:04:33,170 Baina zenbat benetako zenbakiak beren mundu osoan? 100 00:04:33,170 --> 00:04:33,680 Ez amaigabea. 101 00:04:33,680 --> 00:04:37,280 Beraz, hori arazo bat mota da dugulako ez dute infinitua zenbateko 102 00:04:37,280 --> 00:04:39,970 memoria edo gure ordenagailuak RAM barruan. 103 00:04:39,970 --> 00:04:41,780 Beraz, erronka zenbait gauza gerta daiteke. 104 00:04:41,780 --> 00:04:43,900 >> Hargatik, aurrera, saiatu hau adierazi nahi du hemen. 105 00:04:43,900 --> 00:04:46,240 Let me aurrera eta ireki gedit. 106 00:04:46,240 --> 00:04:50,360 Aurrera joan eta fitxategi batean gorde dut izeneko "floats0.c" besterik ez da, izan 107 00:04:50,360 --> 00:04:54,630 adibide bat dela koherentea eskuragarri online, Nahi izanez gero. 108 00:04:54,630 --> 00:04:58,080 Eta aurrera noa, eta definitzen da, honela - 109 00:04:58,080 --> 00:05:01,540 Aurrera joan eta esan dut, int nagusien hutsunea, askotan egiten dugun bezala. 110 00:05:01,540 --> 00:05:07,190 >> Eta, ondoren, programa honetan, noa deklaratzeko neure burua karroza bat, 32-bit, beraz, 111 00:05:07,190 --> 00:05:09,700 aldagai izeneko f, arbitrarioki. 112 00:05:09,700 --> 00:05:13,910 Eta, ondoren, bertan gorde dut Ez dakit, hamarren bat, beraz, 0,1. 113 00:05:13,910 --> 00:05:16,590 Beraz, adierazi nahi dut bat bezala 10 arabera banatzen da, hau da, ezin hobeto 114 00:05:16,590 --> 00:05:17,790 C. en legitimoa 115 00:05:17,790 --> 00:05:20,460 >> Eta, ondoren, bigarren lerroan, I, besterik gabe, nahi inprimatu balioa. 116 00:05:20,460 --> 00:05:22,950 Beraz, gogora ekarri ahal izango dugu erabili ezagunak printf. 117 00:05:22,950 --> 00:05:25,420 Ez dugu nahi,% i erabili behar int bat. 118 00:05:25,420 --> 00:05:28,360 % F erabili behar mugikor bat nahi dugu. 119 00:05:28,360 --> 00:05:33,080 Eta, ondoren, barra n egin nahi dut, itxi aurrekontua, koma, f, koma. 120 00:05:33,080 --> 00:05:34,400 >> Beraz, hemen nire programa da. 121 00:05:34,400 --> 00:05:35,820 Badago dagoeneko bug bat. 122 00:05:35,820 --> 00:05:38,640 Norbaitek norentzat honetan bertan klik egiten du dagoeneko nahi gutxienez puntu 123 00:05:38,640 --> 00:05:40,220 bug bat egin dut? 124 00:05:40,220 --> 00:05:42,470 Bai? 125 00:05:42,470 --> 00:05:42,800 Bai. 126 00:05:42,800 --> 00:05:47,860 Ahaztu dut "# include" hartan goian, eta horietatik saiatu naiz bada sintoma dira 127 00:05:47,860 --> 00:05:50,490 bildu hori izango dela konpiladorea da niri yell joan, 128 00:05:50,490 --> 00:05:52,770 undefined symbol edo esaten eragina duten zerbait. 129 00:05:52,770 --> 00:05:55,360 Ez du ulertzen zerbait printf gustatzen. 130 00:05:55,360 --> 00:05:59,380 >> Beraz, "egin behar # include dut "Fitxategia gorde. 131 00:05:59,380 --> 00:06:00,400 Eta orain forma hobea da. 132 00:06:00,400 --> 00:06:02,690 Baina, era berean naiz seinalatu joan ko berriak zehatz-mehatz, gaur egun. 133 00:06:02,690 --> 00:06:08,620 Leku zehaztuz gain % f% i% s titular bezala, egin dezakezu 134 00:06:08,620 --> 00:06:12,320 batzuetan eragina portaera leku hori. 135 00:06:12,320 --> 00:06:15,540 Esate baterako, ur gaineko baten kasuan puntuaren balioa, besterik ez dut nahi izanez gero 136 00:06:15,540 --> 00:06:22,200 ko hamartar leku erakutsi ondoren aldia, benetan egin dezaket 0.1f. 137 00:06:22,200 --> 00:06:26,830 Beraz, beste era batera esanda, f bereiztuko dut, eta 0.1 zeinu berea, besterik 138 00:06:26,830 --> 00:06:30,200 printf kontatzea, osotasun bat izan dezakezu zenbakiak sorta hamartar ondoren 139 00:06:30,200 --> 00:06:30,930 Niretzat seinalatu. 140 00:06:30,930 --> 00:06:32,870 Baina nahi dut horietako bat ikusteko. 141 00:06:32,870 --> 00:06:36,280 >> Beraz, aurrera joan orain eta gorde dut Programa honetan, nire terminal sartu 142 00:06:36,280 --> 00:06:41,870 leihoa, eta aurrera noa eta mota egin karroza 0, sartu. 143 00:06:41,870 --> 00:06:44,930 Zertxobait críptica line ikusten dut gehiago zentzua gara hasiko 144 00:06:44,930 --> 00:06:46,900 aurre egiten du gain aste honetan eta hurrengoan. 145 00:06:46,900 --> 00:06:50,480 Orain aurrera noa eta exekutatu zero karroza. 146 00:06:50,480 --> 00:06:52,020 Eta, madarikatua. 147 00:06:52,020 --> 00:06:54,880 >> Beraz, ez dago beste bug hemen arrazoi batzuk. 148 00:06:54,880 --> 00:07:02,490 Nahiko ziur bat hamargarren naiz, edo ren 10 arabera banatzen da, ez da 0.0. 149 00:07:02,490 --> 00:07:04,590 Agian, besterik gabe, ez naiz bila digituak nahikoa da. 150 00:07:04,590 --> 00:07:08,580 Beraz, zergatik ez bi .2 bi ikusi nahi diot ordez hamartarrekin bat besterik ez da. 151 00:07:08,580 --> 00:07:11,810 Dezagun atzera nire terminal leihoa hemen eta hit sortu pare bat 152 00:07:11,810 --> 00:07:12,840 nire historia. 153 00:07:12,840 --> 00:07:15,910 Flotatzen zero berriro egin dezaket, eta, ondoren, berriro. 154 00:07:15,910 --> 00:07:17,730 Eta orain, idatzi. 155 00:07:17,730 --> 00:07:20,000 >> Eta orain, nahiko ziur hau da gaizki nago. 156 00:07:20,000 --> 00:07:23,030 Eta hiru eta lau egin izan dut, eta nago ziurrenik zero ikusten mantentzen du. 157 00:07:23,030 --> 00:07:24,880 Beraz, non bug da? 158 00:07:24,880 --> 00:07:27,910 Ren 10 arabera banatzen 0,1 izan behar du. 159 00:07:27,910 --> 00:07:30,310 Norbaitek nahi labankada bat hartu, zer at oinarrizko arazoa? 160 00:07:30,310 --> 00:07:32,400 Bai? 161 00:07:32,400 --> 00:07:33,420 Osokoak bai dira. 162 00:07:33,420 --> 00:07:33,920 Beraz, zer? 163 00:07:33,920 --> 00:07:37,820 Beraz, 10 arabera banatzen da, hori batera aritmetika zer egin dut. 164 00:07:37,820 --> 00:07:41,185 Eta 0,1 lortu dut. 165 00:07:41,185 --> 00:07:41,660 >> Bai. 166 00:07:41,660 --> 00:07:43,240 Hain zuzen ere, eta, beraz, ez da jaulkipen hori. 167 00:07:43,240 --> 00:07:46,700 Ordenagailu batean oso bat hartu duzu , eta zatitzea duzu osokoa beste, 168 00:07:46,700 --> 00:07:50,430 lehenetsi ordenagailua joan bere gain hartu nahi duzun zenbaki oso bat. 169 00:07:50,430 --> 00:07:54,620 Arazoa, nahiz eta, jakina, ez da 0,1 hori ez da zenbaki oso bat. 170 00:07:54,620 --> 00:07:55,680 Zenbaki erreala da. 171 00:07:55,680 --> 00:07:59,610 Eta, beraz, zer egiten du ordenagailua arabera lehenetsia botatzen besterik ez da kanpoan 172 00:07:59,610 --> 00:08:01,070 du dezimal ondoren dena. 173 00:08:01,070 --> 00:08:03,380 Ez du biribiltzeko gora edo behera per se. 174 00:08:03,380 --> 00:08:06,480 Botatzen besterik ez da urruntzen dena du dezimal ondoren. 175 00:08:06,480 --> 00:08:07,430 Eta, orain dela zentzua. 176 00:08:07,430 --> 00:08:09,740 Oraindik orain, argi eta garbi dugulako zero utzi. 177 00:08:09,740 --> 00:08:10,250 >> Baina itxaron minutu bat. 178 00:08:10,250 --> 00:08:11,840 Ez dut int zero bat ikustea. 179 00:08:11,840 --> 00:08:14,910 Benetan ari naiz ikusten 0.00. 180 00:08:14,910 --> 00:08:16,340 Beraz, nola egin bateragarri dut orain? 181 00:08:16,340 --> 00:08:22,850 Ren 10 arabera banatzen da zero bada, baina nago 0.00 ikusten, non da lortzean 182 00:08:22,850 --> 00:08:24,250 bihurtutako itzuli zenbaki erreal bat? 183 00:08:24,250 --> 00:08:25,500 Bai. 184 00:08:25,500 --> 00:08:29,850 185 00:08:29,850 --> 00:08:30,630 Zehazki. 186 00:08:30,630 --> 00:08:35,600 >> Beraz, hemen bost line, noiz hasi nintzen benetan gorde 0,1 dela, hau da, ondoren, 187 00:08:35,600 --> 00:08:39,549 zero moztua, barruan mugikor bat, hori eraginkortasunez baliokideak 188 00:08:39,549 --> 00:08:42,100 gorde ez int bat bezala, baina, Izan ere, mugikor bat bezala. 189 00:08:42,100 --> 00:08:46,540 Gainera, orduan naiz printf erabiliz esplizituki inprimatu zenbaki hori bi 190 00:08:46,540 --> 00:08:49,740 hamartarrekin bat nahiz agian ez da egongo. 191 00:08:49,740 --> 00:08:51,020 >> Beraz, hau sucks mota, ezta? 192 00:08:51,020 --> 00:08:53,640 Antza denez, ezin duzu matematika, gutxienez, maila horretako at 193 00:08:53,640 --> 00:08:55,600 zehaztasuna, ordenagailu batean. 194 00:08:55,600 --> 00:08:56,930 Baina ziur dago irtenbide bat da. 195 00:08:56,930 --> 00:09:00,410 Zer da errazena fix agian genezake da egin da, nahiz eta, besterik gabe, intuizioa hemen 196 00:09:00,410 --> 00:09:01,130 konpondu hau? 197 00:09:01,130 --> 00:09:02,380 Bai? 198 00:09:02,380 --> 00:09:04,700 199 00:09:04,700 --> 00:09:06,574 Piztu osokoak sartu - 200 00:09:06,574 --> 00:09:06,976 Bai. 201 00:09:06,976 --> 00:09:10,420 Nahiz eta ez naiz nahiko ziur zer Benetan hemen, joan bada 202 00:09:10,420 --> 00:09:13,440 ditu, funtsean, bi zerikusirik ints izateaz, bai, zergatik ez dut 203 00:09:13,440 --> 00:09:18,230 10,0 egin duela, hau egiteko 1.0, resave fitxategia. 204 00:09:18,230 --> 00:09:20,990 Dezagun atzera behera joan me to the behean eta birkonpilatu. 205 00:09:20,990 --> 00:09:23,030 Ikus dezagun orain, berriro me. 206 00:09:23,030 --> 00:09:23,420 Eta han - 207 00:09:23,420 --> 00:09:27,690 orain, lortu dut nire hamarren bat 0.10 gisa irudikatzen. 208 00:09:27,690 --> 00:09:28,420 >> Guztiak eskubidea. 209 00:09:28,420 --> 00:09:29,220 Beraz, hori ez da txarra. 210 00:09:29,220 --> 00:09:31,730 Eta utzi azpimarratu me bat beste era dute konpondu genezake hau. 211 00:09:31,730 --> 00:09:35,580 Dezagun roll benetan me denboran atzera denean, hau izan genuen bat bezala 212 00:09:35,580 --> 00:09:36,680 hamargarren une bat duela. 213 00:09:36,680 --> 00:09:40,800 Eta utzi aurrera me eta fitxategia resave beste izen, besterik gabe gisa 214 00:09:40,800 --> 00:09:41,750 gutxi dute kontrol batean. 215 00:09:41,750 --> 00:09:43,450 Beraz, bertsio bat izan zen. 216 00:09:43,450 --> 00:09:45,520 Eta orain, goazen aurrera, eta niri do bat gehiago bertsioa. 217 00:09:45,520 --> 00:09:48,540 Bertsio hau deitu dugu bi zero ordenatuta. 218 00:09:48,540 --> 00:09:51,280 >> Eta horren ordez egin dut honetan - Badakizu zer? 219 00:09:51,280 --> 00:09:54,400 Dot zero gehituz, kasu honetan lan egiten du. 220 00:09:54,400 --> 00:09:56,060 Baina demagun aldagai bat izan da. 221 00:09:56,060 --> 00:09:57,680 Ustezko 10 aldagai bat izan ziren. 222 00:09:57,680 --> 00:10:00,680 Beste era batera esanda, demagun ezin izan dut ez besterik hard-kodea .0 amaieran 223 00:10:00,680 --> 00:10:02,340 aritmetika adierazpen hau. 224 00:10:02,340 --> 00:10:05,820 Beno, egia esan, ezin dut zerbait parentesi izeneko galdaketa. 225 00:10:05,820 --> 00:10:11,920 Osokoa dela 10 bota dezaket mugikor bat, eta zenbaki oso bat bota ahal izango naiz 226 00:10:11,920 --> 00:10:12,800 flotatzen, bai. 227 00:10:12,800 --> 00:10:17,190 Ondoren, matematika dela egiten den eraginkortasunez 1.0 10.0 arabera banatzen da, 228 00:10:17,190 --> 00:10:19,250 emaitza horietatik doa aurretik f. 229 00:10:19,250 --> 00:10:26,130 Beraz, bada, hau egiteko karroza konpilatu dut 2, eta, orain, 2 flotatzen, bera lortu dut 230 00:10:26,130 --> 00:10:27,020 erantzutea, bai. 231 00:10:27,020 --> 00:10:29,640 >> Beraz, hau nahiko contrived adibide bat da, Arazo hau konpontzeko 232 00:10:29,640 --> 00:10:31,400 casting jarrita. 233 00:10:31,400 --> 00:10:34,410 Baina, oro har, casting-en izango da indartsu bat gauza, bereziki, egiteko 234 00:10:34,410 --> 00:10:38,180 Arazo ezarri bi aste baten denboran, noiz datu-mota bat bihurtu nahi duzun 235 00:10:38,180 --> 00:10:41,800 beste bat egunaren amaieran dira, modu berean irudikatzen dira. 236 00:10:41,800 --> 00:10:44,970 Eguna, single bakoitzean amaieran Gauza hitz egin dugu honi buruz, beraz, oso urrun dago 237 00:10:44,970 --> 00:10:46,710 besterik azpian kanpaia ints. 238 00:10:46,710 --> 00:10:48,950 Edo hori oso baxua-maila gero duzu, besterik ez dira zenbakiak 239 00:10:48,950 --> 00:10:49,750 kanpaia azpian. 240 00:10:49,750 --> 00:10:52,850 Nahiz eta pertsonaiak, berriz ere, gogora ekarri aste zerotik dira, zenbakiak 241 00:10:52,850 --> 00:10:53,990 kanpaia azpian. 242 00:10:53,990 --> 00:10:57,240 >> Hau da, bihurtu ahal izango dugu artean desberdinak zenbaki-motak 243 00:10:57,240 --> 00:10:58,060 besterik ez dira bit. 244 00:10:58,060 --> 00:11:01,020 Zenbakien artean ezin dugu bihurtzeko eta hizkiak dira besterik ez bada 245 00:11:01,020 --> 00:11:02,580 bit, eta alderantziz. 246 00:11:02,580 --> 00:11:07,170 Eta, modu horretan, galdaketa mekanismo bat da programazioan ematen dizuna indarrez 247 00:11:07,170 --> 00:11:10,970 aldatu datu-mota bat beste batera. 248 00:11:10,970 --> 00:11:14,570 Zoritxarrez, hori ez da dute gustuko nuen agian erraza gisa. 249 00:11:14,570 --> 00:11:19,220 >> Atzera joan karroza sartu dut 1, errazagoa, gehiago izan zen 250 00:11:19,220 --> 00:11:22,830 erraza batekin .0 Gehitu buruzko bakoitzean. 251 00:11:22,830 --> 00:11:25,260 Eta besterik gabe, azkar eguneratzeko gisa, let me aurrera konpilatu eta 252 00:11:25,260 --> 00:11:27,670 hau, egin karroza 2 - 253 00:11:27,670 --> 00:11:30,300 sentitzen dugu, hau da, karroza egiteko 1. 254 00:11:30,300 --> 00:11:32,050 Eta orain, dezagun exekutatu karroza 1. 255 00:11:32,050 --> 00:11:34,810 Eta beheko aldean, nabarituko hain zuzen ere, hori dut 0,1. 256 00:11:34,810 --> 00:11:36,165 Beraz, arazoa konpondu. 257 00:11:36,165 --> 00:11:37,280 >> Baina oraindik ez. 258 00:11:37,280 --> 00:11:40,000 Naiz orain pixka bat bitxia da iritsi, eta berriro nire sartu naiz 259 00:11:40,000 --> 00:11:41,620 printf adierazpena eta esan, zer dakizu? 260 00:11:41,620 --> 00:11:44,090 Gustatzen hori berretsi nahi nuke benetan hamarren bat. 261 00:11:44,090 --> 00:11:47,890 Eta hau ikusi nahi dut ra, esan, bost hamartar lekuak. 262 00:11:47,890 --> 00:11:48,570 Ez da arazo bat. 263 00:11:48,570 --> 00:11:52,020 Bi aldatuko dut, bost, Konpilatu egin dut. 264 00:11:52,020 --> 00:11:53,770 Flotatzen bezala 1 berrabiarazi dut. 265 00:11:53,770 --> 00:11:54,990 Nahiko ona bilatzen. 266 00:11:54,990 --> 00:11:58,570 Nire behatu txekeak ez amaitzeko, agian, baina Pixka bat gehiago abenturazale dut lortzean. 267 00:11:58,570 --> 00:12:00,330 0.5 aldatzeko 0.10 noa. 268 00:12:00,330 --> 00:12:03,440 10 zenbakiak ikusteko ondoren nahi dut hamartar lekua. 269 00:12:03,440 --> 00:12:09,060 >> Eta aurrera joan eta konpilatu dut hau eta berriro flotatzen 1. 270 00:12:09,060 --> 00:12:13,060 Damu dut mota balitz hau probatu gehiago delako nire matematika ez da hain 271 00:12:13,060 --> 00:12:14,320 Zuzendu gehiago, dirudienez. 272 00:12:14,320 --> 00:12:15,630 Baina itxaron minutu bat, agian Hori besterik Fluke bat. 273 00:12:15,630 --> 00:12:17,810 Agian ordenagailua jardunez pixka bat arraroa da. 274 00:12:17,810 --> 00:12:21,810 Dezagun aurrera me eta 20 hamarren egin lasaitu eta neure burua ezagutzen dut 275 00:12:21,810 --> 00:12:22,540 nola math egiteko. 276 00:12:22,540 --> 00:12:23,460 Nola programatu dakit. 277 00:12:23,460 --> 00:12:26,960 Egin karroza 1, konpilatu, eta madarikatua. 278 00:12:26,960 --> 00:12:31,110 Hau da, benetan, benetan lortzean urrun marka da. 279 00:12:31,110 --> 00:12:32,490 >> Beraz, zer gertatzen da hemen? 280 00:12:32,490 --> 00:12:36,050 Intuizioa, gure hipotesi oinarritutako datu mota tamaina lehenago, 281 00:12:36,050 --> 00:12:38,040 zer gertatzen ari den egon behar du hemen kanpaia azpian? 282 00:12:38,040 --> 00:12:39,290 Bai? 283 00:12:39,290 --> 00:12:43,000 284 00:12:43,000 --> 00:12:43,590 Zehazki. 285 00:12:43,590 --> 00:12:46,480 Nahi duzun askoz doitasun hau bada, eta duten doitasun asko heck bat - 286 00:12:46,480 --> 00:12:48,770 20 ondoren, dezimal zenbakiak. 287 00:12:48,770 --> 00:12:51,990 Ezin duzu, seguru asko, bat irudikatzeko arbitrarioak zenbakia izan ezean bat 288 00:12:51,990 --> 00:12:52,930 bit kopurua arbitrarioa da. 289 00:12:52,930 --> 00:12:54,190 Baina ez dugu. 290 00:12:54,190 --> 00:12:57,200 Karroza bat, besterik ez dugu 32 bit. 291 00:12:57,200 --> 00:13:02,260 >> Beraz, bada 32 bit baino ezin da batean permuted Modu - gure gizakietan bezala, eta etapa 292 00:13:02,260 --> 00:13:05,780 eskuak gora edo behera - zenbaki bat finituen modutan, ez da bakarrik zenbaki bat finituen 293 00:13:05,780 --> 00:13:08,640 benetako zenbakiak irudikatzeko dezakezu bit duten. 294 00:13:08,640 --> 00:13:10,500 Eta, beraz, ordenagailua, azkenean, izan da joan 295 00:13:10,500 --> 00:13:11,730 hasteko txoko ebaketa. 296 00:13:11,730 --> 00:13:15,500 Ordenagailua xehetasun horiek ezkutatu ahal gurekin denbora pixka bat. 297 00:13:15,500 --> 00:13:18,880 Baina hasten gara zenbakiak at poking bada eta urrunago eta urrunago begira 298 00:13:18,880 --> 00:13:23,220 zenbakiak amaierako osoa kopurua, ondoren, hori ikusi nahi dugu 299 00:13:23,220 --> 00:13:26,480 benetan approximating hamarren bat ideia. 300 00:13:26,480 --> 00:13:29,860 >> Eta, beraz, bihurtzen da, tragikoki, ez da zenbakiak ugari 301 00:13:29,860 --> 00:13:35,060 ezin dugu adierazten, hain zuzen batean ordenagailua, gutxienez finitu batekin 302 00:13:35,060 --> 00:13:38,030 bit kopurua, finitu bat RAM kopurua. 303 00:13:38,030 --> 00:13:41,210 Orain, zoritxarrez, hau da, batzuetan, ditu mundu errealeko ondorioak. 304 00:13:41,210 --> 00:13:45,980 Jendeak ez bada nahiko eskertzen honetan edo Ordena hartu emandako Izan ere, 305 00:13:45,980 --> 00:13:48,310 bere ordenagailuan egingo dela, besterik gabe, zer esan dute egin, eta ez 306 00:13:48,310 --> 00:13:51,430 ulertzen azpiko horiek ordezkaritza xehetasunak - 307 00:13:51,430 --> 00:13:55,290 horrek, sinceramente, hizkuntza batzuk daude erabiltzaileari ezkutatu, C ez bezala - 308 00:13:55,290 --> 00:13:56,500 txarra zenbait gauza gerta daiteke. 309 00:13:56,500 --> 00:13:58,650 >> Eta zer egin genuen pentsatu nuen urrats bat da itzuli. 310 00:13:58,650 --> 00:14:00,420 Eta hori da, gutxi gorabehera zortzi minutuko bideoa. 311 00:14:00,420 --> 00:14:04,200 Duela urte batzuk egurastua da, eta ematen benetan zer joan sartu Insights 312 00:14:04,200 --> 00:14:09,290 oker duzunean pean-eskertzen horiek xehetasun mota guztiak oso-ere 313 00:14:09,290 --> 00:14:10,080 mundu errealean. 314 00:14:10,080 --> 00:14:12,965 Iluntzeko genezake argiak bada pare bat minutuz. 315 00:14:12,965 --> 00:14:14,360 >> HIZLARIA: 1 ingeniaritza dugu itzultzeko 316 00:14:14,360 --> 00:14:17,160 Marvels modernoan hondamendiak. 317 00:14:17,160 --> 00:14:18,680 >> Informatika - 318 00:14:18,680 --> 00:14:21,340 guztiak ditugu etorri onartzeko sarri askotan frustrating arazoak 319 00:14:21,340 --> 00:14:23,170 haiekin joan. 320 00:14:23,170 --> 00:14:27,570 Bugs, birusak, eta software glitches txikiak dira, prezioak ordaindu 321 00:14:27,570 --> 00:14:28,960 erosotasuna. 322 00:14:28,960 --> 00:14:32,040 Baina goi-teknologiako eta goi-abiadura militar eta espazio programa 323 00:14:32,040 --> 00:14:38,650 aplikazioak, txikiena arazoa hondamendia izan daiteke magnified. 324 00:14:38,650 --> 00:14:44,480 >> Ekaina 4, 1996 an, zientzialariek prestatuta abiarazteko bat gidatu gabeko Ariane 5 suziria. 325 00:14:44,480 --> 00:14:48,700 Zientifiko eta satelite zen liburuetako diseinatu da, hain zuzen, nola ezartzea 326 00:14:48,700 --> 00:14:53,250 Lurraren eremu magnetikoa elkarreraginean haizeek eguzki. 327 00:14:53,250 --> 00:14:57,540 Suziria zen Europako eraiki Espazio Agentziak eta altxatzen off bere tik 328 00:14:57,540 --> 00:14:59,906 kostaldean instalazioak Frantziar Guyana da. 329 00:14:59,906 --> 00:15:03,660 >> JACK GANSSLE: 37 segundotan At sartu hegaldia, nabaritu dute lehenengo 330 00:15:03,660 --> 00:15:04,910 zerbait gaizki joan zen. 331 00:15:04,910 --> 00:15:08,130 Toberak ziren en biraketa bide bat egin beharko lukete benetan ez. 332 00:15:08,130 --> 00:15:12,380 40 hegaldi sartu segundo inguruan, argi ibilgailua arazorik izan zen. 333 00:15:12,380 --> 00:15:14,400 Eta hori noiz egin erabaki hura suntsitzeko. 334 00:15:14,400 --> 00:15:18,520 Barruti segurtasun arduradunak, eta izugarria ausartuko, botoia sakatzen, 335 00:15:18,520 --> 00:15:23,900 nintzen sortu suziria zitekeen aurretik publikoaren segurtasun arrisku bat bihurtu da. 336 00:15:23,900 --> 00:15:27,810 >> HIZLARIA 1: Hau izan zen dontzeila bidaia Ariane 5, eta bere suntsipena 337 00:15:27,810 --> 00:15:32,020 gertatu delako akats bat kapsulatutako Kohete horrek software. 338 00:15:32,020 --> 00:15:33,980 >> JACK GANSSLE: Ariane buruzko arazoa izan zen ez zegoela zenbaki bat 339 00:15:33,980 --> 00:15:36,390 beharrezkoa dela 64 bit adierazteko. 340 00:15:36,390 --> 00:15:39,420 Eta bihurtu nahi dute eta 16 biteko zenbaki bat. 341 00:15:39,420 --> 00:15:43,130 Kopuru hori ez zen inoiz bere gain hartu dute oso handia izan da, joan den gehien 342 00:15:43,130 --> 00:15:46,810 en 64 bit-eko zenbakiak horiek kopurua zero izan ziren. 343 00:15:46,810 --> 00:15:48,270 Oker ziren. 344 00:15:48,270 --> 00:15:51,380 >> HIZLARIA: 1 software bat imposibilidad programa motaren onartzeko 345 00:15:51,380 --> 00:15:55,350 zenbaki batera sortutako zen porrota erro at. 346 00:15:55,350 --> 00:15:59,970 Software garapenerako oso bihurtu teknologia berriak parte garestia. 347 00:15:59,970 --> 00:16:03,980 The Ariane 4 suziri izan oso arrakasta, beraz, softwarearen askoz 348 00:16:03,980 --> 00:16:07,480 sortu zen ere Ariane 5 erabiltzen da. 349 00:16:07,480 --> 00:16:11,980 >> PHILIP COYLE: oinarrizko arazoa zen Ariane 5 zela azkarrago, 350 00:16:11,980 --> 00:16:13,720 bizkortu azkarrago. 351 00:16:13,720 --> 00:16:17,250 Eta softwarea izan ez duten kontuan. 352 00:16:17,250 --> 00:16:20,770 >> HIZLARIA: 1 suziria suntsipena handi bat finantza hondamendia izan zen, 353 00:16:20,770 --> 00:16:24,200 guztiak bat minutuko software error ondorioz. 354 00:16:24,200 --> 00:16:27,820 Baina hau ez zen lehen aldiz datuak bihurketa arazoak izan beteta modernoa 355 00:16:27,820 --> 00:16:30,620 suziria teknologia. 356 00:16:30,620 --> 00:16:34,480 >> JACK GANSSLE: 1991 urtean, hasierarekin Golkoko Lehen Gerra, Patriot du 357 00:16:34,480 --> 00:16:38,610 misilen bizitako antzeko mota bat zenbaki bihurketa arazoa. 358 00:16:38,610 --> 00:16:44,910 Horren ondorioz, 28 soldadu American ziren lagun hil dira eta beste batzuk, buruz 100 zauritu 359 00:16:44,910 --> 00:16:48,600 Patriot denean, zein zen ustezko to Scuds sarrerako babesteko, 360 00:16:48,600 --> 00:16:51,630 misil bat huts egin du sua. 361 00:16:51,630 --> 00:16:55,110 >> HIZLARIA: 1 Noiz Irak inbaditu eta Kuwaiten Amerika abian jarri Desert Storm-en 362 00:16:55,110 --> 00:17:00,570 1991 hasieran, Patriot misilen bateriak zabaldu ziren Saudi Arabia babesteko 363 00:17:00,570 --> 00:17:04,760 eta Scud Irakeko from Israel misilen erasoak. 364 00:17:04,760 --> 00:17:09,720 Patriot bat US ertain-barrutia azalera-to-aire sistema fabrikatu arabera 365 00:17:09,720 --> 00:17:11,569 RAYTHEON enpresak. 366 00:17:11,569 --> 00:17:16,410 >> THEODORE POSTOL: Patriot tamaina interceptor bera da gutxi gorabehera 367 00:17:16,410 --> 00:17:17,710 20-oinak luze. 368 00:17:17,710 --> 00:17:20,800 Buruzko eta 2000 kilo pisatzen ditu. 369 00:17:20,800 --> 00:17:22,940 Eta inguruko warhead bat egiten ditu - 370 00:17:22,940 --> 00:17:24,905 Gutxi gorabehera 150 kilo uste dut. 371 00:17:24,905 --> 00:17:31,030 Warhead eta bera da handiko lehergai ditu 372 00:17:31,030 --> 00:17:33,270 inguruan zatiak. 373 00:17:33,270 --> 00:17:37,490 Warhead du karterra diseinatuta dago Buckshot behar bezala jarduteko. 374 00:17:37,490 --> 00:17:40,720 >> HIZLARIA: 1 misil dira egindako lau edukiontzi bakoitzeko dira, eta garraiatzen 375 00:17:40,720 --> 00:17:43,050 erdi trailer arabera. 376 00:17:43,050 --> 00:17:47,490 >> PHILIP COYLE: Patriot aurkako misil sistema doa atzera 377 00:17:47,490 --> 00:17:50,710 Gutxienez 20 urte. 378 00:17:50,710 --> 00:17:54,350 Zen jatorriz diseinatu gisa aire defentsa misilen 379 00:17:54,350 --> 00:17:56,190 tiro behera hegazkinak etsaia. 380 00:17:56,190 --> 00:18:02,490 Golkoko Lehen Gerra ere, gerra batera iritsi ziren, Army nahi erabili 381 00:18:02,490 --> 00:18:05,535 behera jaurtitzeko Scuds, ez hegazkinak. 382 00:18:05,535 --> 00:18:09,310 Irakeko aire-indarra ez zen beraz, arazo bat askoz. 383 00:18:09,310 --> 00:18:12,450 Baina Army zen Scuds kezkatzen. 384 00:18:12,450 --> 00:18:15,950 Eta, beraz, eguneratu saiatu dira Patriot du. 385 00:18:15,950 --> 00:18:18,750 >> HIZLARIA: 1 etsaiaren misil bat atzematen Mach bost at bidaiatzen zen 386 00:18:18,750 --> 00:18:20,890 izango da erronka nahikoa du. 387 00:18:20,890 --> 00:18:25,590 Baina Patriot zen sartu rushed zerbitzua, armada ez zen jakitun 388 00:18:25,590 --> 00:18:31,710 Irakeko aldaketa hori egin dute Scuds ia ezinezkoa hit. 389 00:18:31,710 --> 00:18:35,240 >> THEODORE POSTOL: Zer gertatu da Scuds zirela da 390 00:18:35,240 --> 00:18:36,570 etortzen ziren ezegonkorra. 391 00:18:36,570 --> 00:18:37,532 Wobbling ziren. 392 00:18:37,532 --> 00:18:43,220 Horren arrazoia irakiarrak zen, hasi ordena 600 kilometro ateratzeko baten 393 00:18:43,220 --> 00:18:47,530 300 kilometro-sorta misilen hartu aurrean warhead kanpo pisua. 394 00:18:47,530 --> 00:18:49,290 Warhead da arinagoa egiten zituzten. 395 00:18:49,290 --> 00:18:53,110 Beraz, orain Patriot ari da saiatzen to Scud hartan etorri. 396 00:18:53,110 --> 00:18:56,470 Eta denbora gehien, erabatekoa da denbora gehienak, besterik ez litzateke 397 00:18:56,470 --> 00:18:58,730 Scud bidez hegan. 398 00:18:58,730 --> 00:19:01,760 >> HIZLARIA: 1 Behin Patriot sistema operadore konturatu Patriot galduak 399 00:19:01,760 --> 00:19:06,690 bere xede, Patriots du detonated dute warhead saihesteko 400 00:19:06,690 --> 00:19:10,300 biktima da, bada, onartzen eta azkenean lurrera erortzen dira. 401 00:19:10,300 --> 00:19:14,540 >> THEODORE POSTOL: Hori izan zen gehien pertsona zerua fireballs big gisa ikusi 402 00:19:14,540 --> 00:19:20,350 eta atzematen gisa ulertua Scud warheads du. 403 00:19:20,350 --> 00:19:23,320 >> 1 HIZLARIA: gauez zeruak arren Patriots agertu behar bezala 404 00:19:23,320 --> 00:19:27,530 Scuds suntsitu, ez Dhahran at bere buruz akats gabe izan daiteke 405 00:19:27,530 --> 00:19:29,140 errendimendua. 406 00:19:29,140 --> 00:19:34,180 Bertan, Patriot-en radar sistema galdu sarrerako Scud jarraipena eta inoiz 407 00:19:34,180 --> 00:19:36,380 abian jarri dela eta software akats bat. 408 00:19:36,380 --> 00:19:39,890 409 00:19:39,890 --> 00:19:42,700 >> Israeldarrek duten lehen aurkitu zen luzeagoa sistema 410 00:19:42,700 --> 00:19:48,020 , orduan eta handiagoa denbora desadostasun izan zen izan zen erloju bat dela-eta 411 00:19:48,020 --> 00:19:50,470 sistema informatikoan barneratua. 412 00:19:50,470 --> 00:19:54,640 >> JACK GANSSLE: bi aste baino lehen Dhahran, Israelek tragedia 413 00:19:54,640 --> 00:19:58,440 defentsa Sailak berri sistema izan zen, denbora galdu. 414 00:19:58,440 --> 00:20:01,280 Zortzi lasterketak ordu igaro ondoren, sistema dela ohartu ziren 415 00:20:01,280 --> 00:20:03,530 nabarmen gutxiago zehatzak bihurtuz. 416 00:20:03,530 --> 00:20:07,710 Defentsa Sailaren arabera erantzun Patriot bateriak guztiak kontatzea 417 00:20:07,710 --> 00:20:10,500 ez utzi sistemak denbora luzez gainean. 418 00:20:10,500 --> 00:20:12,430 Inoiz ez dute esan zer denbora luze bat izan zen. 419 00:20:12,430 --> 00:20:13,330 Zortzi ordu? 420 00:20:13,330 --> 00:20:13,810 10 ordu? 421 00:20:13,810 --> 00:20:14,990 1.000 ordu? 422 00:20:14,990 --> 00:20:17,150 Inork ez zekien. 423 00:20:17,150 --> 00:20:20,220 >> HIZLARIA: 1 Patriot bateria geldirik Dhahran at kuartel at 424 00:20:20,220 --> 00:20:24,660 eta bere barne-erlojua zuzena izan 100 baino gehiago gaueko ordu an 425 00:20:24,660 --> 00:20:27,470 Otsailaren 25ean. 426 00:20:27,470 --> 00:20:31,770 >> JACK GANSSLE: It jarraipena denbora bat segundo hamarren bat buruz zehaztasuna. 427 00:20:31,770 --> 00:20:34,480 Orain, segundo hamarren bat da interesgarria kopurua ahal duelako ez izatea 428 00:20:34,480 --> 00:20:39,940 binary adierazitako zehazki, eta horrek esan nahi du ezin da zehatz-mehatz adierazita en 429 00:20:39,940 --> 00:20:42,500 egungo edozein ordenagailu digitala. 430 00:20:42,500 --> 00:20:46,920 Zaila da sinesten, baina erabili hau adibide gisa. 431 00:20:46,920 --> 00:20:49,000 Ikus dezagun kopuruaren heren bat. 432 00:20:49,000 --> 00:20:53,150 Heren bat ezin da adierazita zehazki hamartar batean. 433 00:20:53,150 --> 00:20:57,500 Hirugarrena da 0,333 joan infinitua on. 434 00:20:57,500 --> 00:21:02,270 Ez dago hori egin nahi dituzten hamartar zehaztasuna absolutua. 435 00:21:02,270 --> 00:21:05,370 Hori da, zehazki, arazo mota bera Patriot hori gertatu. 436 00:21:05,370 --> 00:21:09,880 Luzeagoa sistema ran, eta txarrena denbora error bihurtu zen. 437 00:21:09,880 --> 00:21:13,840 >> HIZLARIA: 1 100 eragiketa-ordu eta gero, denbora error bakarrik izan zen 438 00:21:13,840 --> 00:21:16,140 ko buruzko bigarren eta hirugarren. 439 00:21:16,140 --> 00:21:20,800 Baina terminoetan misil bat targeting Mach bost at bidaiatzen, emaitza da 440 00:21:20,800 --> 00:21:24,410 600 metro baino gehiagoko akats jarraipenerako bat. 441 00:21:24,410 --> 00:21:27,670 Errore larri bat izango litzateke Dhahran at soldaduak. 442 00:21:27,670 --> 00:21:33,450 >> THEODORE POSTOL: Zer gertatu da Scud abian jarri zen goiz detektatzen 443 00:21:33,450 --> 00:21:34,280 abisua eta satelite. 444 00:21:34,280 --> 00:21:38,550 Eta Scud zela datozen bazekien dute bere norabidea, oro har. 445 00:21:38,550 --> 00:21:41,000 Ez dakite non datozen zen. 446 00:21:41,000 --> 00:21:43,900 >> HIZLARIA: 1 izan da orain arte, radar Patriot sistemaren osagai 447 00:21:43,900 --> 00:21:48,910 Dhahran defendatzeko aurkitzeko eta mantentzeko etsaiaren sarrerako misilen jarraipena. 448 00:21:48,910 --> 00:21:50,580 >> JACK GANSSLE: Radarrak izan zen oso argia. 449 00:21:50,580 --> 00:21:53,770 Benetan litzateke jarraipena posizio Scud eta gero iragartzeko bertan 450 00:21:53,770 --> 00:21:57,160 ziurrenik hurrengo aldian izango litzateke radar bidaltzen pultsu bat. 451 00:21:57,160 --> 00:21:58,870 Hori deitzen zen ate sorta. 452 00:21:58,870 --> 00:22:04,020 >> THEODORE POSTOL: Gero Patriot behin nahikoa denbora igaro erabakitzen joan 453 00:22:04,020 --> 00:22:09,420 Atzera eta hurrengo kokapena arakatuko detektatu objektu hau, atzera egingo du. 454 00:22:09,420 --> 00:22:14,450 Beraz, atzera joan da, oker lekua, ikusten, ondoren, objektu ez. 455 00:22:14,450 --> 00:22:18,200 Eta ez zela objektu ez erabakiko du, faltsuak detektatzeko bat izan zen, eta 456 00:22:18,200 --> 00:22:19,680 pista jaisten. 457 00:22:19,680 --> 00:22:22,970 >> HIZLARIA: 1 sarrerako Scud desagertu radar pantaila batetik, eta 458 00:22:22,970 --> 00:22:26,050 segundo geroago, danbateko kuartel batean. 459 00:22:26,050 --> 00:22:31,950 Scud hil zen, 28 eta azkena Lehenengo Golkoko Gerran duena. 460 00:22:31,950 --> 00:22:37,700 Tragikoki, eguneratu software heldu Dhahran Hurrengo egunean. 461 00:22:37,700 --> 00:22:41,800 Software akats hauek izan dira konpondu, kapitulu bat ixten troubled en 462 00:22:41,800 --> 00:22:43,690 Patriot misilen historian. 463 00:22:43,690 --> 00:22:46,780 464 00:22:46,780 --> 00:22:50,710 >> Patriot benetan siglak Phased Array JARRAIPENA egiteko 465 00:22:50,710 --> 00:22:51,960 Helburu atzematen. 466 00:22:51,960 --> 00:22:54,650 467 00:22:54,650 --> 00:23:00,840 >> DAVID J MALAN: Ondo da, beraz, Adibidez sobering, ziur izan. 468 00:23:00,840 --> 00:23:03,430 Eta zorionez, behe-maila horiek bugs ez dira zerbait egiten zaitugu 469 00:23:03,430 --> 00:23:06,220 normalean eskertzen dute, zalantzarik gabe, ez gure batzuk 470 00:23:06,220 --> 00:23:07,360 programak goiztiarrena. 471 00:23:07,360 --> 00:23:10,450 Baizik eta, bugs gehienak izango zara topaketa izaera logikoa izango da, 472 00:23:10,450 --> 00:23:12,900 naturan sintaktikoa da horren bidez kodea, besterik ez du lan egiteko eskubidea. 473 00:23:12,900 --> 00:23:14,140 Azkarra eta polita da, badakizu. 474 00:23:14,140 --> 00:23:16,850 >> Baina, batez ere, lortu nahi dugun seihilekoaren amaieran, joan da joan 475 00:23:16,850 --> 00:23:20,620 gero eta gehiago, aukera bat egiteko benetan uste gogor diseinuari buruz 476 00:23:20,620 --> 00:23:22,960 zure programak eta azpiko du ordezkaritza 477 00:23:22,960 --> 00:23:24,520 han ere, datuak. 478 00:23:24,520 --> 00:23:28,010 Esate baterako, MySQL aurkezten dugu, horrek ezagun bat da datu-baseko 479 00:23:28,010 --> 00:23:30,850 ditzakezun webgune batera erabili behar datuak gordetzeko itzuli bukaeran. 480 00:23:30,850 --> 00:23:34,630 Dute eta erabaki hasiko duzu seihilekoaren amaieran, ez bakarrik zer 481 00:23:34,630 --> 00:23:38,790 moten Ildo datuak erabili baina zehazki zenbat bit erabili, 482 00:23:38,790 --> 00:23:42,740 ala ez datak gorde nahi dituzun datak eta orduak aldiz, eta, gainera, gisa 483 00:23:42,740 --> 00:23:46,890 zein handia egin nahi duzun bezala gauzak identifikazioak berezia da, izan ere, esan, erabiltzaileek 484 00:23:46,890 --> 00:23:47,680 Zure datu-basean. 485 00:23:47,680 --> 00:23:51,210 >> Izan ere, batzuk badute izan Facebook denbora luzez kontuak, 486 00:23:51,210 --> 00:23:53,680 eta nola ezagutu duzun zure Erabiltzaile ID - 487 00:23:53,680 --> 00:23:57,930 zenbaitetan erakusten zure profilaren URL Nik ez baduzu aukeratu 488 00:23:57,930 --> 00:24:02,070 URL for ezizena, edo dituzun bada erabiltzen Facebook-en API grafikoa da, 489 00:24:02,070 --> 00:24:05,510 publikoki eskuragarri API zein zara Facebook eskatu ahal datuak gordinak for - 490 00:24:05,510 --> 00:24:07,580 ikusi zer zure zenbakizko ID dezakezu. 491 00:24:07,580 --> 00:24:10,880 Eta duela urte batzuk, Facebook, funtsean, izan to erabiliz aldatu 492 00:24:10,880 --> 00:24:15,980 du ints baliokidea luze erabiliz denbora luze baino gehiago erabiltzaile delako etorri 493 00:24:15,980 --> 00:24:19,780 eta joan eta kontu asko sortu eta Mitxel kontuak, nahiz eta oso erraz 494 00:24:19,780 --> 00:24:24,630 gai izan ziren, zerbait agortu nahi, 4 bat bezala milioi int bat bezala balio. 495 00:24:24,630 --> 00:24:28,340 >> Beraz, gai-mota horiek gehiago errepidean behera, bai. 496 00:24:28,340 --> 00:24:30,750 Guztiak eskubidea, hori izan zen, beraz, galdaketa. 497 00:24:30,750 --> 00:24:31,670 Hori imprecision zen. 498 00:24:31,670 --> 00:24:32,730 Iragarkiak azkar pare bat. 499 00:24:32,730 --> 00:24:35,710 Beraz, atal honetan hasiko da formalki datozen Igandea, astelehena, asteartea. 500 00:24:35,710 --> 00:24:39,080 Posta elektroniko bidez izango duzu beranduago entzun aste honetan zure esleitzeko atal gisa. 501 00:24:39,080 --> 00:24:42,570 Eta, gainera, hemen, puntu horretan egingo duzu nola zure atala aldatu nahi izanez gero, 502 00:24:42,570 --> 00:24:45,660 Orain ordutegia aldatu edo zure erosotasun-maila, gaur egun aldatu egin dira. 503 00:24:45,660 --> 00:24:49,380 Bien bitartean, P-multzo bat eta hacker bat dira dela eta ostegun honetan aukera dituzten 504 00:24:49,380 --> 00:24:52,450 zabaltzeko per epea duten ostiralera zehaztapenak 505 00:24:52,450 --> 00:24:53,830 era arruntean. 506 00:24:53,830 --> 00:24:57,500 >> Konturatzen arazoa barne set zehaztapenak argibideak daude 507 00:24:57,500 --> 00:25:02,770 nola CS50 tresnaren erabili nahi, egin, baita zenbait CS50 berariazko tresnak 508 00:25:02,770 --> 00:25:06,540 Estilo 50, eta horrek eman daitekeela bezalako feedback dinamikoki buruzko 509 00:25:06,540 --> 00:25:10,230 Zure kodea estilo-kalitatea eta, gainera, 50 begiratu, eta horrek ematen du zurekin 510 00:25:10,230 --> 00:25:13,160 Zure gisa feedback dinamikoa kodea en zuzentasuna. 511 00:25:13,160 --> 00:25:16,850 Barkatzen ari gara oraindik lisatzeko check 50 gutxi kinks bat. 512 00:25:16,850 --> 00:25:21,490 Zure ikaskideekin zuten hasteko batzuk lau inguruan ostiral gauean AM denean 513 00:25:21,490 --> 00:25:25,130 zehaztutako igo dituzte orduz geroztik ohartu bugs gutxi batzuk ari gara lanean 514 00:25:25,130 --> 00:25:29,010 bitartez, eta edonork apologies nor bizi izan du bidegabeko frustrazioak. 515 00:25:29,010 --> 00:25:30,340 Errua nirea da. 516 00:25:30,340 --> 00:25:34,080 Baina jarraitu dugu on the CS50 eztabaidatzeko denean hori konpondu. 517 00:25:34,080 --> 00:25:35,700 >> Puntuazioak beraiek hitz bat, beraz. 518 00:25:35,700 --> 00:25:38,990 Beraz, aste bat edo bi izango dituzu aurretik hasteko arazo multzo buruzko iritzia lortzeko 519 00:25:38,990 --> 00:25:40,640 ez duzulako oraindik irakaskuntza ikaskide bat. 520 00:25:40,640 --> 00:25:44,510 Eta orduan ere, hasteko, ebaluatu egingo dugu C arazoa dugu aurretik ezartzen 521 00:25:44,510 --> 00:25:46,970 Joan atzera eta ebaluatzeko, beraz, hutsetik lortu duzu gehiago garrantzitsuak 522 00:25:46,970 --> 00:25:48,150 feedback azkarrago. 523 00:25:48,150 --> 00:25:51,870 Baina curriculumaren bakoitzeko, oro har, CS50 arazo multzo dira batera ebaluatu 524 00:25:51,870 --> 00:25:53,580 lau ardatzak jarraituz - 525 00:25:53,580 --> 00:25:55,760 esparrua, zuzentasuna, diseinua eta estiloa. 526 00:25:55,760 --> 00:25:59,210 >> Scope zenbaki bat izan behar du, normalean joan zero artean, eta hori bost 527 00:25:59,210 --> 00:26:01,830 harrapatzen nola askoz pieza off bit duzu. 528 00:26:01,830 --> 00:26:03,750 Normalean, hau bost izatea nahi duzu. 529 00:26:03,750 --> 00:26:05,300 Saiatu gutxienez duzun guztia. 530 00:26:05,300 --> 00:26:09,330 Eta nabarituko biderkatzeko faktore bat da, beraz, zati bat bakarrik egiten 531 00:26:09,330 --> 00:26:12,520 Arazo jaurtiketa ez da onena estrategia. 532 00:26:12,520 --> 00:26:15,610 >> Bien bitartean, nabarmenagoa da zuzentasun garrantzi - 533 00:26:15,610 --> 00:26:18,620 besterik gabe zure programa da zuzena Espezifikazioekin errespetatzen? 534 00:26:18,620 --> 00:26:21,510 Hau da, nahita pisu gehiago hein handi batean beste bi ardatz baino 535 00:26:21,510 --> 00:26:24,450 hiru faktore ezagutzen dugulako normalean bat pasatzeko duzu 536 00:26:24,450 --> 00:26:28,600 asko denbora gehiago behera jarraitzen bugs batzuk, Zure kodea lanera lortzean, ondoren 537 00:26:28,600 --> 00:26:31,540 ari da koskatze eta aukeratzerakoan egokiak aldagai izenak eta 538 00:26:31,540 --> 00:26:33,800 esate baterako, beste muturrean dago estilo espektroaren. 539 00:26:33,800 --> 00:26:36,160 >> Hori ez da estiloa ez da esan behar garrantzitsua da, eta predicatzen dugu baino gehiago 540 00:26:36,160 --> 00:26:37,920 bi hitzaldi eta ataletan denbora. 541 00:26:37,920 --> 00:26:40,520 Estilo estetika aipatzen Zure kodea da. 542 00:26:40,520 --> 00:26:43,980 Ondo-izeneko aldagai aukeratu eta gero diren labur baina zertxobait 543 00:26:43,980 --> 00:26:44,680 deskribatzailea? 544 00:26:44,680 --> 00:26:47,840 Zure kodea da koska duzun ikusi bezala hitzaldia eta modu koherente batean 545 00:26:47,840 --> 00:26:49,070 Estilo 50? 546 00:26:49,070 --> 00:26:51,220 >> Azkenik diseinua eskubidea erdian dago. 547 00:26:51,220 --> 00:26:54,090 Diseinu gogorrago bat jarri da da, askoz gehiago delako on finger 548 00:26:54,090 --> 00:26:55,000 subjektiboa. 549 00:26:55,000 --> 00:26:58,610 Baina, agian, ez da garrantzitsuena pedagogikoa dagokionez, hiru ardatzetan 550 00:26:58,610 --> 00:27:02,050 denboran zehar, eta horrek balio hau izango da: irakaskuntza ikaskide horrek aukera 551 00:27:02,050 --> 00:27:04,110 ematen duzu feedback kualitatiboa ere. 552 00:27:04,110 --> 00:27:08,100 Izan ere, CS50 hasi arren dute egiten dugu formula horiek eta partiturak, at amaieran 553 00:27:08,100 --> 00:27:11,350 Eguneko hauek oso nahita oso txikia kubo - puntua balio 554 00:27:11,350 --> 00:27:13,460 zero eta hiru arteko eta zero eta bost. 555 00:27:13,460 --> 00:27:17,800 Ez gara oso larria marrak marrazteko arazo multzo artean edo artean 556 00:27:17,800 --> 00:27:21,490 ikasle baizik fokua bezainbeste kualitatiboa da, longhand dezakegu 557 00:27:21,490 --> 00:27:25,490 Feedback, bai idatzitako edo hitzezko tik Zure bereziki irakaskuntza baden, 558 00:27:25,490 --> 00:27:27,050 lortu nahiko ondo jakin behar duzu. 559 00:27:27,050 --> 00:27:32,340 >> Baina, oro har, horiek dira pisuak hainbat ardatzetan izango dute. 560 00:27:32,340 --> 00:27:35,480 Bien bitartean, ere, da mantentzeko merezi du Axola beharko duzula ez du bere gain hartzen duen 561 00:27:35,480 --> 00:27:38,870 bost, hiru,% 60 da, eta Beraz, gutxi gorabehera ezean. 562 00:27:38,870 --> 00:27:41,410 Hiru da nahita ekarri nahi izan errepide onak erdian agintzea. 563 00:27:41,410 --> 00:27:43,480 Zaren hartan hirukoak bada lortzean seihilekoaren hasieran, hori 564 00:27:43,480 --> 00:27:46,340 hain zuzen ere, ekarri ona izan jartzen hasteko. 565 00:27:46,340 --> 00:27:50,510 Zaren twos, azoka baldin badira, ez da zalantzarik gabe, lan txiki bat ordaindu behar 566 00:27:50,510 --> 00:27:53,250 arreta gehiago, aprobetxatu atal eta bulego ordu. 567 00:27:53,250 --> 00:27:54,590 >> Zaren Fours bada lortzean eta fives, handia. 568 00:27:54,590 --> 00:27:57,430 Baina, ibilbide ikustea espero dugu ikasleen artean - oso 569 00:27:57,430 --> 00:28:00,575 Ikasle bakoitzaren banan-banan, baina hasita seihilekoan hemen sort zen 570 00:28:00,575 --> 00:28:04,100 bi, hiru sorta baina bukatzen hemen lau bost sorta. 571 00:28:04,100 --> 00:28:05,440 Hori da benetan zer ari gara bilatzen. 572 00:28:05,440 --> 00:28:09,590 Eta kontuan izan dugu mantendu delta dela erakusteko aste zero eta aste artean 573 00:28:09,590 --> 00:28:12,170 12 denean, kalifikazio ari naiz. 574 00:28:12,170 --> 00:28:16,380 Ez du axola digu nola erabat duzun hasieran arrazoizko bada zure 575 00:28:16,380 --> 00:28:19,330 ibilbidea da, hain zuzen ere, goranzko eta indartsu. 576 00:28:19,330 --> 00:28:24,000 >> Akademiko zintzotasuna - beraz, jarri nire me gehiago besterik ez da une batez ahots larria. 577 00:28:24,000 --> 00:28:28,510 Beraz, ikastaro honetan bereizketa ditu beste edozein baino ikasle bidaltzea 578 00:28:28,510 --> 00:28:30,950 Iragarki-taula historian, uste dut. 579 00:28:30,950 --> 00:28:34,220 Aldaketa galdu moduko daukagu ​​honetan nola askotan gertatzen den puntua. 580 00:28:34,220 --> 00:28:37,090 Eta hori ez da ikasle delako 50 edozein baino gehiago beren petrala 581 00:28:37,090 --> 00:28:38,690 ikaskideekin beste. 582 00:28:38,690 --> 00:28:42,800 Baina konturatzen ere, ez garela oso ona gauza sort hau detektatzeko at. 583 00:28:42,800 --> 00:28:45,920 >> Eta hori abantaila bat da informatikako klasean duen dugu 584 00:28:45,920 --> 00:28:49,110 daitezke, eta ikasle guztiak alderatu dugu Arazo bakoitzean ezartzen aurkako bikote-jakintsu 585 00:28:49,110 --> 00:28:51,470 beste, ez bakarrik Aurtengo baina aurreko urteetako guztiak. 586 00:28:51,470 --> 00:28:55,080 Gaitasuna daukagu, ikasle bezala klasea, Google-ra, eta aurki kode 587 00:28:55,080 --> 00:28:57,440 github bezalako guneak eta eztabaida foroak. 588 00:28:57,440 --> 00:29:00,840 Daude guztiz CS50 en soluzioak p-ezartzen du han inguruan mugituz. 589 00:29:00,840 --> 00:29:02,710 Baina aurkituko duzu bada, aurki dezakegu. 590 00:29:02,710 --> 00:29:07,130 Eta hori guztia oso automatiza eta erraza da, eta triste Gurekin aurkitzeko. 591 00:29:07,130 --> 00:29:10,990 >> Baina, azpimarratu nahi dut, nahi dut, hori Ikastaro horrek akademikoa zintzotasuna politika 592 00:29:10,990 --> 00:29:13,960 asko izaten dira eta asko izango dira espiritu hori kontrakoa. 593 00:29:13,960 --> 00:29:17,506 Izan ere, aurten rephrased dugu gauzak curriculumaren hau izan da, dot 594 00:29:17,506 --> 00:29:19,790 dot dot, xehetasun gehiago curriculumaren parte. 595 00:29:19,790 --> 00:29:22,860 Baina, jakina den gaia Globalak du Benetan da arrazoizkoa izan behar du. 596 00:29:22,860 --> 00:29:26,160 Ez dela nabarmen bat ezagutuko dugu pedagogikoa zenbatekoa 597 00:29:26,160 --> 00:29:30,550 kolaboratu balioa, neurri batean, ikaskideekin, horregatik duzu 598 00:29:30,550 --> 00:29:33,700 bi edo hiru edo gehiago zuri-taula delarik 599 00:29:33,700 --> 00:29:35,670 whiteboarding, beraz, hitz egiten, zure ideiak - 600 00:29:35,670 --> 00:29:39,480 out idatziz pseudocode irudietan, zer egin behar Mario izan bada diagramming 601 00:29:39,480 --> 00:29:41,350 idazteko lehenengo zinen pseudocode batean. 602 00:29:41,350 --> 00:29:43,240 Zer egin behar Greedy algoritmoa - 603 00:29:43,240 --> 00:29:46,100 nola jokatu behar da per Arazo bat ezartzen du? 604 00:29:46,100 --> 00:29:50,440 >> Eta, beraz, konturatzen portaera animatzen dugu oso 605 00:29:50,440 --> 00:29:51,470 lerro horiek batera askoz. 606 00:29:51,470 --> 00:29:53,890 Eta ikasketa planaren barruan, ikusiko duzu osoa balak mordo baten azpian 607 00:29:53,890 --> 00:29:57,740 Kategoria arrazoizkoa eta ez da arrazoizkoa Kategoria horrek laguntzen digu lagundu 608 00:29:57,740 --> 00:30:00,740 your mind bildu duzu, non inguru lerro bat marraztu dugu. 609 00:30:00,740 --> 00:30:04,340 Eta, oro har, arau duin bat da ari zaren konpontzen bada borrokan ari dela 610 00:30:04,340 --> 00:30:07,990 bug batzuk eta zure lagun edo ikaskide da ondoan duzun eserita dago, 611 00:30:07,990 --> 00:30:11,530 arrazoizkoa zion erakusteko edo bere Zure kodea eta esan, beno, lagundu dezakezu 612 00:30:11,530 --> 00:30:13,700 irudikatu me Zer gertatzen da hemen? 613 00:30:13,700 --> 00:30:17,110 >> Ez dugu normalean besarkatu aldean. 614 00:30:17,110 --> 00:30:20,730 Ez da zure erantzuna zuzena lagun edo ikaskide hemen esan, oh, 615 00:30:20,730 --> 00:30:22,510 besterik ez da nirea eta irudi begiratzeko it out horretan. 616 00:30:22,510 --> 00:30:24,400 Hau da Ordena unreasonable. 617 00:30:24,400 --> 00:30:27,750 Baina, beste norbaitek, garuneko beste izatea, begi-pare beste begiratzen 618 00:30:27,750 --> 00:30:31,620 zure pantailan edo look at zure kodea eta esan, ziur nahi duzun 619 00:30:31,620 --> 00:30:32,760 begizta bat dute hemen? 620 00:30:32,760 --> 00:30:34,800 Edo, ziur ez duzu nahi koma hori hemen? 621 00:30:34,800 --> 00:30:37,090 Edo Oh, errore-mezu horrek esan nahi du honek. 622 00:30:37,090 --> 00:30:39,580 Horiek oso arrazoizko eta animatu jokabideak. 623 00:30:39,580 --> 00:30:44,010 >> Kasu zein nintzen alluding lehenago irakiten behera denean, ikasleak dira 624 00:30:44,010 --> 00:30:47,350 berandu gauez pobrea epaiketa egiteko erabakiak eta bere kodea behar badiozu mezu 625 00:30:47,350 --> 00:30:50,130 beste norbaitek edo, besterik esaten, Hemen, da Dropbox da edo 626 00:30:50,130 --> 00:30:51,610 Berandu Googling gauez. 627 00:30:51,610 --> 00:30:54,880 Eta, beraz, animatu eta nuke duzun Beg, saihestezina horiek baduzu, ez 628 00:30:54,880 --> 00:30:58,450 estresa uneak, sortu zaren jotzen zihoala epea aurka, berandu ez duzu 629 00:30:58,450 --> 00:31:01,490 egun dagoeneko geroztik da Ostirala hartan puntua, email ikastaroa buruak edo 630 00:31:01,490 --> 00:31:02,330 neure buruari, zuzenean. 631 00:31:02,330 --> 00:31:04,790 Esan, entzun, naiz nire egiten dut puntu hausteko hemen. 632 00:31:04,790 --> 00:31:06,660 Dezagun elkarrizketa bat eta irudikatu egiten. 633 00:31:06,660 --> 00:31:10,400 Web edo jo, beste batzuk ez zentzuzko jokabidea da inoiz 634 00:31:10,400 --> 00:31:13,070 konponbidea, eta gehiegi zure askok ikaskideekin ez dira hemen 635 00:31:13,070 --> 00:31:15,150 delako hori pobrea epaia campusean. 636 00:31:15,150 --> 00:31:17,840 Baina oso erraza da linea inguratuko da. 637 00:31:17,840 --> 00:31:22,950 >> Eta hemen pixka bat irudi animatu nahi da sortu Reddit batetik, beraz, orain 638 00:31:22,950 --> 00:31:25,720 Ados dena izango da. 639 00:31:25,720 --> 00:31:30,210 >> Azkar laburpena, beraz, eta, ondoren, non utzi dugun. 640 00:31:30,210 --> 00:31:33,690 Beraz, azken astean, gogoratzen aurkezten dugun baldintzak, ez da hutsetik hasi 641 00:31:33,690 --> 00:31:34,880 C, baina oraingo honetan. 642 00:31:34,880 --> 00:31:38,300 Eta ez zen berria, baina sintaxia Benetan, berez, ideia berriak ez. 643 00:31:38,300 --> 00:31:42,630 Boolearrak adierazpideak izan dugu, izan edo bi batera bertikala 644 00:31:42,630 --> 00:31:46,490 tabernak eta batera edo bi ampersands esaten, ezkerreko biak 645 00:31:46,490 --> 00:31:49,990 eskubidea eta, egia izan behar hau exekutatu behar da. 646 00:31:49,990 --> 00:31:53,150 Ondoren, etengailuak izan dugu, eta hori dugu begiratu labur-labur, baina proposatzen dut benetan 647 00:31:53,150 --> 00:31:56,830 besterik lortzeko sintaxia ezberdinak helburu bera ezagutzen duzu bada, 648 00:31:56,830 --> 00:31:59,270 aurrera zer da zure kasu dira izango. 649 00:31:59,270 --> 00:32:00,160 >> Begiratu begiztak gara. 650 00:32:00,160 --> 00:32:03,340 Begizta A da beharbada arruntena, edo, gutxienez, pertsona bat 651 00:32:03,340 --> 00:32:05,330 normalean senari iritsiko da. 652 00:32:05,330 --> 00:32:08,240 Nahiz eta pixka bat críptica badirudi, askotan, horren adibide ugari ikusiko duzu 653 00:32:08,240 --> 00:32:11,590 luze baino lehen, izan duzun bezala, jadanik berandu azken astean. 654 00:32:11,590 --> 00:32:14,280 Begiztak Era berean, ahal den bitartean lortzeko gauza bera. 655 00:32:14,280 --> 00:32:17,550 Baina nahi duzu incrementation edozein nahi baduzu edo eguneratzeko 656 00:32:17,550 --> 00:32:20,230 aldagaiaren balioak, behar duzu gehiago egin eskuz baino 657 00:32:20,230 --> 00:32:22,440 begizta aurretik aukera ematen du. 658 00:32:22,440 --> 00:32:25,310 Eta gero do-while begizta da, horri esker, zerbait egin gurekin 659 00:32:25,310 --> 00:32:28,460 gutxienez behin zerbait bitartean bestela, egia da. 660 00:32:28,460 --> 00:32:31,550 Eta hori bereziki ona programak edo jokoak non nahi duzun 661 00:32:31,550 --> 00:32:33,810 zerbait erabiltzaileari galdetuko to gutxienez behin. 662 00:32:33,810 --> 00:32:37,110 Eta, ondoren, berak ez badu kooperatu, nahi ere egin dezakezu 663 00:32:37,110 --> 00:32:38,420 behin eta berriro. 664 00:32:38,420 --> 00:32:41,270 >> Aldagai, bestalde, lerro izan dugu kode hau atsegin du, eta horrek 665 00:32:41,270 --> 00:32:41,950 lerro bi izango da. 666 00:32:41,950 --> 00:32:44,830 Int izeneko deklaratu ahal izango duzu counter, koma. 667 00:32:44,830 --> 00:32:47,660 Edo, besterik gabe dezakezu deklaratzeko eta definitzen da, nolabait esateko. 668 00:32:47,660 --> 00:32:49,950 Eman, aldi berean, balio bat. 669 00:32:49,950 --> 00:32:51,890 >> Eta gero, azkenik, hitz egin dugu funtzioak. 670 00:32:51,890 --> 00:32:54,270 Eta honen adibide polita izan zen Zentzu erakusten duela 671 00:32:54,270 --> 00:32:55,840 Bi funtzio-mota. 672 00:32:55,840 --> 00:32:59,030 GetString () bat da, eta, berriz ere, Kate bat lortzen erabiltzaileari. 673 00:32:59,030 --> 00:33:02,040 Baina GetString () interesgarria mota da, Nik orain arte bezala erabiltzen dugu, 674 00:33:02,040 --> 00:33:05,620 Nik dugulako beti erabiliko duen, baten ezkerraldean zerbait 675 00:33:05,620 --> 00:33:06,600 berdin ikurra. 676 00:33:06,600 --> 00:33:09,830 Hau da GetString dela (esan) itzultzen du balioa. 677 00:33:09,830 --> 00:33:11,970 Itzultzen da, jakina, kate bat. 678 00:33:11,970 --> 00:33:15,130 Eta, ondoren, ezkerreko aldean, gara besterik gabe, katea aurrezteko baten barruan 679 00:33:15,130 --> 00:33:16,580 aldagai izeneko izena. 680 00:33:16,580 --> 00:33:21,100 >> Hau ezberdina da, zentzu batean, batetik printf printf, gutxienez, gure delako 681 00:33:21,100 --> 00:33:23,540 erabilera, hemen ez da ezer itzuliko. 682 00:33:23,540 --> 00:33:24,960 Bat alde batera bezala, bueltan zerbait egiten du. 683 00:33:24,960 --> 00:33:26,380 Ez dugu axola zer den. 684 00:33:26,380 --> 00:33:29,090 Baina zer da, ez du izeneko alboko efektua. 685 00:33:29,090 --> 00:33:31,840 Eta zer guztietan eragina albo dela kasua ikusi dugu, beraz, orain arte? 686 00:33:31,840 --> 00:33:34,720 Zer esan nahi du printf egin? 687 00:33:34,720 --> 00:33:37,780 Zerbait bistaratzen da pantailan, pantailak testu edo zenbakiak edo zerbait 688 00:33:37,780 --> 00:33:38,380 pantailan. 689 00:33:38,380 --> 00:33:41,170 Eta hori kontuan hartu besterik ez alboko efektua ari ez delako benetan ematea 690 00:33:41,170 --> 00:33:41,900 itzuli dit. 691 00:33:41,900 --> 00:33:44,770 Ez da barrutik erantzun bat beltz baten ondoren, ezin dut hori 692 00:33:44,770 --> 00:33:46,130 iritsiko sartu eta grab. 693 00:33:46,130 --> 00:33:49,160 Besterik ez da egiten bere, egin on askoz COLTON bezala zen hau entxufatuta 694 00:33:49,160 --> 00:33:52,560 kutxa beltza, azken astean, eta zuen nolabait magikoki zen taula gainean marrazten 695 00:33:52,560 --> 00:33:54,500 ni gabe, benetan parte hartzen. 696 00:33:54,500 --> 00:33:55,560 Duten alboko efektu bat izango litzateke. 697 00:33:55,560 --> 00:33:59,100 Baina benetan nuen atzera hel hemen, eta esan, Oh, hemen katea da 698 00:33:59,100 --> 00:34:02,040 erabiltzaileari, lukeen balio izan. 699 00:34:02,040 --> 00:34:05,650 >> Eta, beraz, orain arte baino ez dugu erabiltzen funtzioak beste pertsona askok idatzi dute. 700 00:34:05,650 --> 00:34:09,219 Baina, egia esan, egin dezakegu hauek gauza mota geure buruari. 701 00:34:09,219 --> 00:34:12,730 Beraz, sartu naiz CS50 tresnaren berriro. 702 00:34:12,730 --> 00:34:16,020 Dezagun fitxa itxi me dugu Duela une bat ireki zuen. 703 00:34:16,020 --> 00:34:18,530 Eta utzi aurrera niri eta berria sortu fitxategi bat. 704 00:34:18,530 --> 00:34:22,400 Eta aurrera noa, eta deitu ko positive.c honetan. 705 00:34:22,400 --> 00:34:24,770 Beraz, zerbait egin nahi dut zenbaki positiboak hemen. 706 00:34:24,770 --> 00:34:27,219 Beraz, aurrera eta egin int noa - 707 00:34:27,219 --> 00:34:28,000 Sentitzen - 708 00:34:28,000 --> 00:34:31,840 # Barne. 709 00:34:31,840 --> 00:34:34,280 Ez dezagun egin duten bera aurretik akatsa. 710 00:34:34,280 --> 00:34:40,020 Int main (void), irekia kizkur giltza, itxita kizkur giltza. 711 00:34:40,020 --> 00:34:41,639 >> Eta orain, honakoa egin nahi dut. 712 00:34:41,639 --> 00:34:44,600 Programa bat idatzi nahi dut behin eta berriz dio erabiltzaileari ematen 713 00:34:44,600 --> 00:34:46,770 Niri oso positibo bat. 714 00:34:46,770 --> 00:34:50,969 Beraz, ez dago GetPositiveInt funtzioa ez da CS50 liburutegian. 715 00:34:50,969 --> 00:34:52,610 Bakarrik dago GetInt () da. 716 00:34:52,610 --> 00:34:55,790 Baina hori OK daukat duelako eraikitzen dituen ezarri ahal izango dut 717 00:34:55,790 --> 00:34:59,360 pixka bat gehiago balio duten murrizketa. 718 00:34:59,360 --> 00:35:00,990 Honen antzeko zerbait egin izan dut. 719 00:35:00,990 --> 00:35:02,780 >> Beraz, int n - 720 00:35:02,780 --> 00:35:04,920 eta batera ari zaren idazten bada, besterik ez da konturatzen Atzera joan naiz eta 721 00:35:04,920 --> 00:35:06,430 aldatzeko une batean gauza batzuk - 722 00:35:06,430 --> 00:35:09,960 beraz, int n GetInt () funtzioak. 723 00:35:09,960 --> 00:35:11,780 Eta hori jarri joan n barruan int bat. 724 00:35:11,780 --> 00:35:13,830 Eta utzi gehiago deskriptiboa izan dit. 725 00:35:13,830 --> 00:35:23,270 Dezagun zerbait esan dit eskatzen dut horrelako didazu oso positibo bat. 726 00:35:23,270 --> 00:35:23,550 >> Guztiak eskubidea. 727 00:35:23,550 --> 00:35:25,250 Beraz, argibideak pixka bat. 728 00:35:25,250 --> 00:35:26,270 Eta orain, zer egin dezaket? 729 00:35:26,270 --> 00:35:29,840 Beno, nire simple batetik dagoeneko dakit baldintza edo adarrak, besterik ez dut atsegin 730 00:35:29,840 --> 00:35:36,100 Scratch izan, zerbait esan izan nuen gustatzen n baino txikiagoa edo berdina bada 731 00:35:36,100 --> 00:35:44,460 zero, eta, ondoren, zerbait egin nahi dut bezala, ez da positiboa. 732 00:35:44,460 --> 00:35:45,560 Eta, ondoren, egin izan dut - 733 00:35:45,560 --> 00:35:47,310 Ados, baina nahi dut int hori lortzeko. 734 00:35:47,310 --> 00:35:52,020 Beraz, igo nuen hemen, eta mota izan nuen kopia hau eta koska honetan. 735 00:35:52,020 --> 00:35:52,570 Eta, ondoren, Ados. 736 00:35:52,570 --> 00:35:56,990 Beraz, bada, n edo txikiagoa da zero egin. 737 00:35:56,990 --> 00:35:58,900 >> Orain, zer bada erabiltzailea ez du elkarlanean aritzeko? 738 00:35:58,900 --> 00:36:01,560 Beno, orduan noa maileguan hau hemen. 739 00:36:01,560 --> 00:36:03,130 Eta ondoren, hemen bizi naiz eta hemen eta hemen. 740 00:36:03,130 --> 00:36:06,420 Beraz, hau da, argi eta garbi ez konponbidea, ezta? 741 00:36:06,420 --> 00:36:07,810 Bistan dago amaiera ez delako. 742 00:36:07,810 --> 00:36:13,100 Nahi dut, erabiltzaileari ematen dion eskatzeko bada Niri oso positibo bat, I can 743 00:36:13,100 --> 00:36:14,150 benetan lortu int da. 744 00:36:14,150 --> 00:36:15,620 Ondoren, ezin dut int duten egiaztatzeko. 745 00:36:15,620 --> 00:36:18,570 Baina, ondoren, berriz ere egiaztatu nahi dut, eta egiaztatu du berriro, eta begiratu berriro. 746 00:36:18,570 --> 00:36:21,680 Beraz, jakina, zer hobeto eraikitzeko erabiliko hemen? 747 00:36:21,680 --> 00:36:22,840 Ondo da, beraz, begizta bat. 748 00:36:22,840 --> 00:36:25,430 >> Beraz, kendu egingo ditut ia guztiak honen. 749 00:36:25,430 --> 00:36:27,320 Eta hau lortu nahi dut INT gutxienez behin. 750 00:36:27,320 --> 00:36:28,890 Horretarako, esan nahi dut - 751 00:36:28,890 --> 00:36:32,110 eta itzuli dut nahi besterik gabe, une batean, berriz, - 752 00:36:32,110 --> 00:36:33,050 orain, zer? 753 00:36:33,050 --> 00:36:35,860 Int n lortzen GetInt () egin dut. 754 00:36:35,860 --> 00:36:36,080 Ados. 755 00:36:36,080 --> 00:36:37,250 Beraz, hori da nahiko ona. 756 00:36:37,250 --> 00:36:39,750 Eta orain, nola maiz Hori egin nahi dut? 757 00:36:39,750 --> 00:36:45,770 >> Let begizta barruan printf jarri zidan beraz, eskatzen behin eta berriro dut, 758 00:36:45,770 --> 00:36:46,740 beharra balego. 759 00:36:46,740 --> 00:36:49,720 Eta zer egin nahi dut baldintza egin bitartean? 760 00:36:49,720 --> 00:36:53,870 Horretan mantendu nahi dut zer gertatzen da bitartean? 761 00:36:53,870 --> 00:36:54,125 Bai. 762 00:36:54,125 --> 00:36:55,390 N baino txikiagoa edo zero. 763 00:36:55,390 --> 00:36:58,180 Beraz, dagoeneko, nabarmen dugu garbitu kode hau sortu. 764 00:36:58,180 --> 00:37:00,700 Maileguan dugu oso sinpleak eraiki - do-while begizta. 765 00:37:00,700 --> 00:37:04,690 Lapurtu ditut, besterik gabe, garrantzitsua ildoak kodea hasi nintzen eta kopiatzea 766 00:37:04,690 --> 00:37:05,960 itsasten, ez zen jakintsu. 767 00:37:05,960 --> 00:37:09,790 Eta, beraz, orain benetan itsatsi noa egin hemen eta besterik ez da behin. 768 00:37:09,790 --> 00:37:12,990 >> Eta orain zer egin nahi dut Programa honen amaiera oso? 769 00:37:12,990 --> 00:37:16,810 Dut esan zerbait simple bezala, eskerrik asko - eta 770 00:37:16,810 --> 00:37:18,980 % Dut int i for - 771 00:37:18,980 --> 00:37:23,270 backslash n, koma, eta, ondoren, n, koma plug. 772 00:37:23,270 --> 00:37:23,910 >> Guztiak eskubidea. 773 00:37:23,910 --> 00:37:27,290 Beraz, ikus dezagun zer gertatzen den orain Programa hau exekutatu dut. 774 00:37:27,290 --> 00:37:30,600 Aurrera noa, eta positiboa egin dezaket. 775 00:37:30,600 --> 00:37:30,880 Malditos. 776 00:37:30,880 --> 00:37:31,600 A gutxi akatsak. 777 00:37:31,600 --> 00:37:32,960 Beraz, atzera korritu me up lehen. 778 00:37:32,960 --> 00:37:34,020 Ez dute lan hauen bidez atzeraka. 779 00:37:34,020 --> 00:37:37,000 Horien bitartez lan goi-tik behera jauzi kausituko dira eta soilik 780 00:37:37,000 --> 00:37:38,630 Gauza bat gaizki egon. 781 00:37:38,630 --> 00:37:42,532 Inplizituki adierazpena funtzioa GetInt (). 782 00:37:42,532 --> 00:37:43,020 Bai. 783 00:37:43,020 --> 00:37:44,420 Beraz, ez zen nahikoa. 784 00:37:44,420 --> 00:37:46,760 Mota egin dut akats bera baina apur bat desberdina, denbora honetan. 785 00:37:46,760 --> 00:37:51,940 Ez soilik sartu stdio.h behar dut, baina Era berean, cs50.h, eta horrek barne hartzen du, 786 00:37:51,940 --> 00:37:56,770 izenekoak deklarazioak lortu int, eta horrek irakasteko tresnari, edo irakasten 787 00:37:56,770 --> 00:37:58,760 C zer GetInt () da. 788 00:37:58,760 --> 00:37:59,550 >> Beraz, egin iezadazue resave. 789 00:37:59,550 --> 00:38:02,040 Beste akatsak ez ikusi dut dut Oraindik dutela espero delako joan 790 00:38:02,040 --> 00:38:05,210 nolabait akats zerikusia Konpondu dut. 791 00:38:05,210 --> 00:38:08,710 Hargatik aurrera me konpilatu eta egin dituzten positiboa, Sartu. 792 00:38:08,710 --> 00:38:09,020 Malditos. 793 00:38:09,020 --> 00:38:09,985 Hiru akatsak, oraindik ere. 794 00:38:09,985 --> 00:38:12,650 Let me up korrituko lehen. 795 00:38:12,650 --> 00:38:14,320 Erabili gabeko aldagai n. 796 00:38:14,320 --> 00:38:15,850 Ez dugu ikusi aurretik. 797 00:38:15,850 --> 00:38:17,200 Eta hau ere, pixka bat críptica. 798 00:38:17,200 --> 00:38:18,850 Hau konpiladoreak irteera da. 799 00:38:18,850 --> 00:38:23,610 Eta zer nabarmendutako lerroa ez - positive.c :9:13 - 800 00:38:23,610 --> 00:38:28,960 esaten da, bederatzi line on dela esanez positive.c, 13 pertsonaia da, 801 00:38:28,960 --> 00:38:31,510 13 zutabea, akats hau egin duzu. 802 00:38:31,510 --> 00:38:34,230 >> Eta, bereziki, kontatzea da Niri erabili gabeko aldagai n. 803 00:38:34,230 --> 00:38:35,790 Beraz, ikus dezagun - 804 00:38:35,790 --> 00:38:37,150 line bederatzi. 805 00:38:37,150 --> 00:38:40,430 N erabiltzen dut zentzu batean It dut balio bat emanez. 806 00:38:40,430 --> 00:38:44,200 Baina zer konpiladoreak ez du gogoko da dut, itxuraz, ez da erabiltzen. 807 00:38:44,200 --> 00:38:45,560 Baina itxaron minutu bat, erabiltzen dut. 808 00:38:45,560 --> 00:38:48,170 11 lerro batean, erabiltzen ari naiz hemen. 809 00:38:48,170 --> 00:38:52,430 Baina korrituko dut behera gehiago nahi izanez gero, positive.c :11 at - 810 00:38:52,430 --> 00:38:56,230 beraz, lerro-11, pertsonaia 12, at konpiladorea da me kontatzea, erabilera 811 00:38:56,230 --> 00:38:58,670 undeclared identifikatzailea n. 812 00:38:58,670 --> 00:39:02,760 >> Beraz, bide undeclared dut ez da zehaztu bezala 813 00:39:02,760 --> 00:39:04,970 datu-mota aldagai bat. 814 00:39:04,970 --> 00:39:05,500 Baina itxaron minutu bat. 815 00:39:05,500 --> 00:39:09,150 Zehazki hori egin nuen bederatzi linea ditu. 816 00:39:09,150 --> 00:39:11,100 Beraz, norbait benetan nahastu hemen. 817 00:39:11,100 --> 00:39:14,900 Bai da niretzat edo konpiladore duelako line bederatzi urtean, berriz ere, beti geratuko naiz 818 00:39:14,900 --> 00:39:18,650 int n, eta ari naiz esleitzea itzultzeko GetInt () balioa. 819 00:39:18,650 --> 00:39:22,930 Ondoren, aldagai n nago erabiliz line 11 eta bere balioa txikiagoa bada egiaztapena 820 00:39:22,930 --> 00:39:24,050 edo baino zero. 821 00:39:24,050 --> 00:39:27,430 Baina, antza denez, hau da, txarra eta hondatutako zergatik? 822 00:39:27,430 --> 00:39:30,630 823 00:39:30,630 --> 00:39:32,490 Esan berriro? 824 00:39:32,490 --> 00:39:35,690 >> Ah, n aldarrikatu aurretik daukat begizta sartuz. 825 00:39:35,690 --> 00:39:36,370 Baina zergatik? 826 00:39:36,370 --> 00:39:39,830 Esan nahi dut, proposatu besterik ez dugu, pixka bat duela fina da, aldagai deklaratzeko 827 00:39:39,830 --> 00:39:43,600 guztiak lerro bat eta gero Hauek balio batzuk. 828 00:39:43,600 --> 00:39:46,790 Aldagai global A - dezagun itzuli besterik gabe, une batean ideia hori. 829 00:39:46,790 --> 00:39:48,690 Zergatik ipini nahi duzu it begizta kanpo? 830 00:39:48,690 --> 00:40:03,170 831 00:40:03,170 --> 00:40:03,830 Da. 832 00:40:03,830 --> 00:40:06,780 Zehazki. 833 00:40:06,780 --> 00:40:09,610 >> Beraz, nahiz eta zertxobait counterintuitive, let me laburtzeko. 834 00:40:09,610 --> 00:40:13,510 Noiz n deklaratzeko barruan blokea do han - 835 00:40:13,510 --> 00:40:16,320 zehazki barruan kizkur giltza horiek - 836 00:40:16,320 --> 00:40:19,210 aldagai n duela zer izeneko esparrua bat - 837 00:40:19,210 --> 00:40:23,210 gure puntuazio-sistema zerikusirik noski -, baina hedadura hori du 838 00:40:23,210 --> 00:40:25,190 to kizkur giltza horiek mugatuta. 839 00:40:25,190 --> 00:40:28,460 Bestela esanda, normalean deklaratzeko baduzu multzo baten barruan aldagai bat 840 00:40:28,460 --> 00:40:33,370 kizkur giltza, aldagai hori bakarrik existitzen da horiek kizkur giltza barruan. 841 00:40:33,370 --> 00:40:37,320 Beraz, logika hori bakarrik, nahiz eta Deklaratu Nik n line bederatzi ere, 842 00:40:37,320 --> 00:40:41,910 funtsean esparrua batetik desagertzen da, memoriatik desagertzen da, nolabait esateko, 843 00:40:41,910 --> 00:40:43,370 denbora lerroa 11 hit dut. 844 00:40:43,370 --> 00:40:47,370 Linea 11, zoritxarrez delako da, horiek kizkur giltza kanpo. 845 00:40:47,370 --> 00:40:51,540 >> Beraz, tamalez, ez dut konpontzeko honetan atzera joan eta zer egin nuen aurretik. 846 00:40:51,540 --> 00:40:53,370 Lehen, baliteke egiteko hau. 847 00:40:53,370 --> 00:40:56,370 Baina, zer ez dira, orain ziklikoki egiten? 848 00:40:56,370 --> 00:40:58,260 Jakina, ez da ari zaren lortzean int da ziklikoki. 849 00:40:58,260 --> 00:41:01,320 Beraz GetInt du () utzi ahal izango dugu, eta guk GetInt du () utzi behar barruan 850 00:41:01,320 --> 00:41:04,420 begizta delako hori zer nahi dugu pester behin eta berriro erabiltzaileari. 851 00:41:04,420 --> 00:41:08,660 Baina aski ez da joan arte lerroa, hots, sei. 852 00:41:08,660 --> 00:41:10,150 Int n, koma. 853 00:41:10,150 --> 00:41:12,990 Ez eman da, balio bat delako oraindik ez duzu behar, besterik gabe. 854 00:41:12,990 --> 00:41:16,220 >> Behera, baina orain, hemen, abisua - honetan Oso erraza da akats bat izango litzateke. 855 00:41:16,220 --> 00:41:19,440 Ez dut nahi nire aurreko itzal n aitorpena. 856 00:41:19,440 --> 00:41:22,830 N erabili nahi dut benetan existitzen da. 857 00:41:22,830 --> 00:41:25,780 Eta, beraz, orain linea 10, Balioa N esleitu dut. 858 00:41:25,780 --> 00:41:28,580 Baina lerro sei, n deklaratzen dut. 859 00:41:28,580 --> 00:41:32,940 Eta, beraz, ahal dut edo ez dut ezazu erabili line 12 egun? 860 00:41:32,940 --> 00:41:37,120 Delako ezin dut artean kizkur giltza N deklaratu orain? 861 00:41:37,120 --> 00:41:38,770 Hemen bost line on bat. 862 00:41:38,770 --> 00:41:40,330 Bat hemen line 14. 863 00:41:40,330 --> 00:41:49,770 Beraz, bada, orain, mapan handiago dut, fitxategi hau gordetzeko, joan atzera sartu eta make positiboa da, 864 00:41:49,770 --> 00:41:50,820 konpilatu da une honetan. 865 00:41:50,820 --> 00:41:51,940 Beraz, hori jada aurrerapena. 866 00:41:51,940 --> 00:41:53,640 Barra. . / Positiboa, Sartu. 867 00:41:53,640 --> 00:41:56,060 >> Ematen dit eskatzen dut zenbaki oso positibo bat. 868 00:41:56,060 --> 00:41:57,750 Negatiboak 1. 869 00:41:57,750 --> 00:41:59,020 Negatiboa 2. 870 00:41:59,020 --> 00:42:00,680 Negatiboak 3. 871 00:42:00,680 --> 00:42:01,760 Zero. 872 00:42:01,760 --> 00:42:03,000 Ko. 873 00:42:03,000 --> 00:42:05,130 Eta bat esker da zer da orain inprimatu. 874 00:42:05,130 --> 00:42:07,400 >> Dezagun beste zerbait saiatu me, jakin-mina du. 875 00:42:07,400 --> 00:42:09,600 Naiz ari sarrera oso bat kontatu. 876 00:42:09,600 --> 00:42:12,870 Baina zer ordez I arkumea bada, idatzi? 877 00:42:12,870 --> 00:42:14,460 Beraz, orain ikusiko duzu desberdinak abisua - 878 00:42:14,460 --> 00:42:15,350 saiatu berriro. 879 00:42:15,350 --> 00:42:17,670 Baina inon nire kodean Ondo saiatu da berriro idazten dut. 880 00:42:17,670 --> 00:42:22,320 Beraz, zentzuzkoa da, hau saiatu da berriro galdetuko datozen esango zenuke? 881 00:42:22,320 --> 00:42:23,540 Bai, GetInt () bertatik. 882 00:42:23,540 --> 00:42:26,650 Gauzak CS50 langileek bat egiten du, beraz, zuretzat, gutxienez, hauek lehen gutxitan 883 00:42:26,650 --> 00:42:30,400 aste, idatzita dugu zenbateko batzuk error bermatzeko egiaztatzea bada 884 00:42:30,400 --> 00:42:34,260 GetInt () deitzen duzunean, gutxienez, izango duzu itzuli erabiltzailearen int bat. 885 00:42:34,260 --> 00:42:35,460 Ez duzu kate bat. 886 00:42:35,460 --> 00:42:36,440 Ez duzu karaktere bat. 887 00:42:36,440 --> 00:42:39,660 Ez duzu zerbait guztiz. 888 00:42:39,660 --> 00:42:40,510 Int bat lortuko duzu. 889 00:42:40,510 --> 00:42:41,890 >> Orain, agian ez da positiboa. 890 00:42:41,890 --> 00:42:42,770 Agian ez da izan negatiboa. 891 00:42:42,770 --> 00:42:44,550 Bermeak ez ditugu horren inguruan. 892 00:42:44,550 --> 00:42:48,960 Baina pester erabiltzaileak berriz saiatu gara, Berriro saiatzeko, zuen arte berriro saiatu edo zuen benetan 893 00:42:48,960 --> 00:42:49,810 elkarlanean aritzen da. 894 00:42:49,810 --> 00:42:53,085 Era berean, ez dut 1,23 bada, ez dela int bat. 895 00:42:53,085 --> 00:42:58,400 Baina ez dut, bada, esan, 50 idatzi, hori ematen dit balio bat nahi izan dut. 896 00:42:58,400 --> 00:42:59,050 >> Guztiak eskubidea. 897 00:42:59,050 --> 00:43:01,380 Beraz, ez da txarra. 898 00:43:01,380 --> 00:43:04,780 Zer besterik ez dugu egiten buruzko edozein galdera? 899 00:43:04,780 --> 00:43:07,930 Gako eramateko, argi izan behar du, ez izatearen hainbeste begizta, hau da, ikusi dugu 900 00:43:07,930 --> 00:43:10,880 nahiz eta benetan ez dugu aurretik erabiltzen da, baina esparrua alea, non 901 00:43:10,880 --> 00:43:17,045 aldagai besterik ezin daiteke soilik erabili batzuk zehaztutako esparruan. 902 00:43:17,045 --> 00:43:19,830 >> Ongi da, utzi iradokizun aurre me lehenago egin duzu, baten 903 00:43:19,830 --> 00:43:20,860 aldagai global. 904 00:43:20,860 --> 00:43:24,880 Bat alde batera bezala, bihurtzen da beste bat Arazo honi irtenbidea, baina 905 00:43:24,880 --> 00:43:28,880 normalean okerra irtenbide edo Gaizki diseinatutako irtenbide bat, da 906 00:43:28,880 --> 00:43:31,670 deklaratzeko zure aldagai zer gisa izeneko aldagai global bat. 907 00:43:31,670 --> 00:43:34,610 Orain nire definizioa hausten mota naiz esparruaren ez direlako 908 00:43:34,610 --> 00:43:37,680 oso goian giltza kizkur ez eta irudi bukaerara. 909 00:43:37,680 --> 00:43:40,190 Baina hori inplikazioa hau da, orain lau linea, 910 00:43:40,190 --> 00:43:41,710 n aldagai global bat da. 911 00:43:41,710 --> 00:43:44,460 Eta izen gisa dakar, bere besterik eskuragarria nonahi. 912 00:43:44,460 --> 00:43:45,790 >> Scratch benetan ditu horiek. 913 00:43:45,790 --> 00:43:48,650 Erabili duzu aldagai bat bada, gogoratzen baliteke da bada aukeratu behar izan duzu 914 00:43:48,650 --> 00:43:50,780 Sprite hau edo sprites guztientzat. 915 00:43:50,780 --> 00:43:54,270 Beno, sprites guztiak besterik ez da argiagoa da global esaten modu. 916 00:43:54,270 --> 00:43:55,520 Bai? 917 00:43:55,520 --> 00:44:09,690 918 00:44:09,690 --> 00:44:10,990 Ah, benetan ona galdera. 919 00:44:10,990 --> 00:44:14,310 >> Beraz, gogora ekarri duten lehen bertsioan nire kode denean dut gaizki 920 00:44:14,310 --> 00:44:17,700 deklaratu eta definitutako lerro bederatzi n - 921 00:44:17,700 --> 00:44:19,980 Izendatutako dut aldagaia eta eman nuen balio duen 922 00:44:19,980 --> 00:44:21,160 esleitzeko operadorea - 923 00:44:21,160 --> 00:44:22,520 hau eman zidan bi akatsak. 924 00:44:22,520 --> 00:44:26,560 Ko, nahiz eta n ez zela erabili, eta bi, linea hori 11 925 00:44:26,560 --> 00:44:27,770 besterik ez zen geratu. 926 00:44:27,770 --> 00:44:31,120 Beraz, lehen ez nuen momentuan helbidea. 927 00:44:31,120 --> 00:44:35,130 Ez da zorrozki Errorea deklaratzeko aldagai bat da, baina ez erabiltzeko. 928 00:44:35,130 --> 00:44:38,540 Baina gauzak egin dugu bat CS50 tresnaren du, nahita, 929 00:44:38,540 --> 00:44:43,340 pedagogiko da, cranked dugu gora konpiladoreak itxaropenak egin 930 00:44:43,340 --> 00:44:46,970 Ziur zarela gauzak ez bakarrik bezala, baina benetan behar bezala. 931 00:44:46,970 --> 00:44:51,520 >> Zaren aldagai bat bada geratuko delako n, eta inoiz ez da erabiltzen, edo erabiltzen bezalako 932 00:44:51,520 --> 00:44:53,700 bezala, eta, ondoren, zer da hor? 933 00:44:53,700 --> 00:44:55,650 Balio du, benetan ez da helburua. 934 00:44:55,650 --> 00:44:58,980 Eta oso erraza da denboran zehar, baduzu ez konfiguratzeko, zure ordenagailuan 935 00:44:58,980 --> 00:45:01,960 Horrela, besterik gabe, izan kodea duela apur aztarnarik hemen, aztarnarik ez dago. 936 00:45:01,960 --> 00:45:04,390 Eta, ondoren, hilabete geroago, atzera begiratu eta bezalako bazara, zergatik lerro hau da, 937 00:45:04,390 --> 00:45:05,060 kodea ez? 938 00:45:05,060 --> 00:45:07,940 Eta ez bada, pisuzko arrazoirik ez da, ez du onura edo zure lankideek 939 00:45:07,940 --> 00:45:10,650 errepidera jaitsiko dute gainean stumble orduan. 940 00:45:10,650 --> 00:45:12,540 >> Bat alde batera bezala, non dago datorren hori? 941 00:45:12,540 --> 00:45:16,410 Beno, denbora gogoratzen dugu behin bildu duten programa, stuff hori guztia da 942 00:45:16,410 --> 00:45:17,380 ari inprimatu. 943 00:45:17,380 --> 00:45:18,350 Beraz, itzuli behar dugu hau. 944 00:45:18,350 --> 00:45:22,230 Baina, berriro ere, egiteko utilitate bat da, biltzeko prozesua automatizatzen arabera 945 00:45:22,230 --> 00:45:24,830 benetako konpiladoreak exekutatzen izeneko clang. 946 00:45:24,830 --> 00:45:27,650 Gauza hau, azkenean ikusiko dugu, hau da, to arazketa zerikusirik berezi batekin 947 00:45:27,650 --> 00:45:29,060 izeneko programa araztailea. 948 00:45:29,060 --> 00:45:32,150 Honek ez dauka zerikusirik optimizatzeko kodea - gehiago etorkizun hori. 949 00:45:32,150 --> 00:45:33,620 STD = c99 - 950 00:45:33,620 --> 00:45:37,870 honek esan nahi du, besterik gabe, erabil 1999 bertsioaren C. C inguruan egon are luzeagoa baino 951 00:45:37,870 --> 00:45:40,830 , baina polita egin dute aldaketak, gehi 10 urte. 952 00:45:40,830 --> 00:45:42,690 >> Eta hemen, garrantzitsuak direnak da. 953 00:45:42,690 --> 00:45:45,880 Ezer egin esaten ari gara hori Aurretik zatekeen abisua 954 00:45:45,880 --> 00:45:48,560 Errore bat ikaslea saihestuz biltzen ditu. 955 00:45:48,560 --> 00:45:51,400 Horma eta horretarako bat osoan gauza mordoa, ez 956 00:45:51,400 --> 00:45:53,060 besterik aldagaiak lotuta. 957 00:45:53,060 --> 00:45:54,700 Eta, ondoren, let me joan lerro honen amaieran. 958 00:45:54,700 --> 00:45:56,430 Eta hau ere, azkenean dizkizugu itzuli. 959 00:45:56,430 --> 00:45:59,040 Hau da, jakina, izen fitxategia biltzen ari naiz. 960 00:45:59,040 --> 00:46:02,160 Honek fitxategi izena gogoratzen Izen gisa naiz outputting 961 00:46:02,160 --> 00:46:04,070 nire programa runnable du. 962 00:46:04,070 --> 00:46:08,970 -Lcs50 Honek esan nahi du, besterik gabe, erabili CS50 du liburutegia, eta zero eta irakatsi 963 00:46:08,970 --> 00:46:12,390 langileek idatzi eta konpilatu lehenago aurten, integratu 964 00:46:12,390 --> 00:46:13,490 nire programa horiek. 965 00:46:13,490 --> 00:46:16,130 >> Eta edonork daki zer-lm da? 966 00:46:16,130 --> 00:46:18,150 Math-liburutegia da, hau da, besterik ez bada ere, zauden 967 00:46:18,150 --> 00:46:19,320 ez da edozein matematika egiten. 968 00:46:19,320 --> 00:46:22,620 Honez besterik automatikoki emandako gurekin bat egin du. 969 00:46:22,620 --> 00:46:26,540 >> Beno, goazen beste adibide bat egin zidan Hemen berriak irekitzea fitxategi batek. 970 00:46:26,540 --> 00:46:30,560 Eta utzi hau gorde me string.c gisa. 971 00:46:30,560 --> 00:46:37,980 Bihurtzen da datuak buruz hitz egiten duten motak, gaur egun, ez da, are gehiago 972 00:46:37,980 --> 00:46:40,630 gertatzen kanpaia azpian Nik baino ikusten dugu, beraz, oso urrun. 973 00:46:40,630 --> 00:46:42,290 Beraz, do me azkar azkar programa bat. 974 00:46:42,290 --> 00:46:44,510 Besteak beste, stdio.h. 975 00:46:44,510 --> 00:46:45,730 Eta hori gorde dut. 976 00:46:45,730 --> 00:46:48,110 Eta badakizu, utzi egin ez dit akats bera behin eta berriro. 977 00:46:48,110 --> 00:46:50,540 Besteak beste, cs50.h. 978 00:46:50,540 --> 00:46:54,870 Eta utzi aurrera me orain eta zer int main (void). 979 00:46:54,870 --> 00:46:58,790 >> Eta orain, nahi ditut, besterik gabe, programa bat egin horrela, ez honetan - deklaratzeko katea 980 00:46:58,790 --> 00:47:03,610 izeneko s eta kate bat lortzeko erabiltzaileari. 981 00:47:03,610 --> 00:47:05,820 Eta utzi pixka bat egin zidan argibideak hemen - 982 00:47:05,820 --> 00:47:09,960 mesedez me kate bat - beraz erabiltzaileak badaki zer egin. 983 00:47:09,960 --> 00:47:13,190 Eta, ondoren, behera hemen horren azpitik, Honako hau egin nahi dut - 984 00:47:13,190 --> 00:47:16,060 int for zero lortzen i. 985 00:47:16,060 --> 00:47:18,580 Berriz ere, ordenagailu zientzialari normalean hasteko zero at kontatuta, baina ezin izan dugu 986 00:47:18,580 --> 00:47:20,340 bat egin duten benetan nahi izan dugu. 987 00:47:20,340 --> 00:47:27,240 Orain egin dut txikiagoa da i s luzera katea baino. 988 00:47:27,240 --> 00:47:28,430 Beraz strlen - 989 00:47:28,430 --> 00:47:29,510 S-T-R-L-E-N - 990 00:47:29,510 --> 00:47:31,650 berriro ere, laburra da da errazagoa delako , idatzi arren da bat 991 00:47:31,650 --> 00:47:32,590 apur críptica. 992 00:47:32,590 --> 00:47:35,290 >> Duten funtzio bat ez dugu erabiliko da baina aurretik, hitzez hitz egiten duten - 993 00:47:35,290 --> 00:47:37,810 niri itzultzeko zenbaki bat dagoela adierazten du katearen luzera 994 00:47:37,810 --> 00:47:38,690 Erabiltzaileak idatzitako. 995 00:47:38,690 --> 00:47:41,740 Kaixo dute idatzitako bada, itzuliko luke bost dago bost delako 996 00:47:41,740 --> 00:47:42,890 kaixo letrak. 997 00:47:42,890 --> 00:47:45,390 Ondoren, iterazio bakoitzean an begizta hau, i Plus. 998 00:47:45,390 --> 00:47:49,170 Beraz, berriro ere, estandar bat eraikitzeko, nahiz eta Oraindik ez duzu nahiko eroso gehiegi edo 999 00:47:49,170 --> 00:47:50,420 da ezagutzen oraindik. 1000 00:47:50,420 --> 00:47:53,220 >> Baina orain begizta honen iterazio bakoitzean, nabarituko zer egin behar dut. 1001 00:47:53,220 --> 00:47:56,690 Aurrera joan eta inprimatu nahi dut bakar pertsonaia out - 1002 00:47:56,690 --> 00:47:59,940 beraz,% c backslash berri bat on line n. 1003 00:47:59,940 --> 00:48:00,990 Eta gero, zer egin nahi nuen, badakizu? 1004 00:48:00,990 --> 00:48:05,090 Whatever hitza da erabiltzaile-mota , en kaixo bezala, inprimatu nahi dut 1005 00:48:05,090 --> 00:48:09,530 H-E-L-L-O, lerro bakoitzeko pertsonaia. 1006 00:48:09,530 --> 00:48:13,080 Beste era batera esanda, eta bertan lortu nahi dut Kate karaktere banako, 1007 00:48:13,080 --> 00:48:16,770 Horren bidez, orain arte kate bat besterik ez du karaktere-sekuentzia bat da. 1008 00:48:16,770 --> 00:48:21,690 >> Eta s, tarte dut egin dezakezu izarrekin bihurtzen da, i, itxi kortxetea, itxi 1009 00:48:21,690 --> 00:48:23,580 parentesi, koma. 1010 00:48:23,580 --> 00:48:25,640 Eta izan dut gauza bat gehiago egiteko. 1011 00:48:25,640 --> 00:48:30,570 Deitzen string.h fitxategi batean strlen hori izendatu zuten. 1012 00:48:30,570 --> 00:48:33,190 Beraz, bada, funtzio hori erabili nahi dut, Konpiladore esan behar dut, 1013 00:48:33,190 --> 00:48:34,450 espero erabiltzeko. 1014 00:48:34,450 --> 00:48:37,040 Orain aurrera egin eta niri programa izeneko katea. 1015 00:48:37,040 --> 00:48:39,150 Puntu, barra, katea. 1016 00:48:39,150 --> 00:48:40,130 >> Mesedez eman dit katea. 1017 00:48:40,130 --> 00:48:40,900 Aurrera egingo dut, eta idatzi. 1018 00:48:40,900 --> 00:48:43,040 Kaixo, txanoak guztiak, idatzi. 1019 00:48:43,040 --> 00:48:47,390 Eta orain, inprimatutako nabarituko dut hau karaktere bat bestearen atzetik. 1020 00:48:47,390 --> 00:48:51,450 Beraz, xehetasun berria hemen da kate bat dela, egunaren amaieran, ezin izango 1021 00:48:51,450 --> 00:48:54,810 bere bakarkako bidea sartu plazan jarrita pertsonaiak 1022 00:48:54,810 --> 00:48:55,840 tarte idazkera. 1023 00:48:55,840 --> 00:48:59,090 Eta hori kate bat azpian delako kanpaia da, hain zuzen ere, sekuentzia baten 1024 00:48:59,090 --> 00:48:59,810 karaktereak. 1025 00:48:59,810 --> 00:49:02,010 Baina zer da haiei buruzko neat da ordenagailuaren RAM-en - 1026 00:49:02,010 --> 00:49:05,300 Mac, PC, edozein da - Oraindik dute literalki itzuli itzuli itzuli nahi - 1027 00:49:05,300 --> 00:49:06,225 H-E-L-L-O - 1028 00:49:06,225 --> 00:49:09,920 , banakako alboko at memorian byte. 1029 00:49:09,920 --> 00:49:13,210 >> Beraz, bada, hala nola, zortzigarren at lortu nahi duzun byte, eta horrek begizta hau litzateke 1030 00:49:13,210 --> 00:49:16,900 parentesi zero, tarte bat, tarte bi, parentesi hiru, lau tarte - 1031 00:49:16,900 --> 00:49:18,890 hori zero indexatutako bost arte - 1032 00:49:18,890 --> 00:49:23,330 hori inprimatu egingo H-E-L-L-O bere on line egin. 1033 00:49:23,330 --> 00:49:26,320 >> Orain, esaldi bat, let me erakutsiko dizu gauza askotan, azkenean izango zara 1034 00:49:26,320 --> 00:49:31,950 gai ulertzeko, gutxienez itxi batzuk ere bila. 1035 00:49:31,950 --> 00:49:35,610 Ko, zer sartzen dira gaur egun dugun adibideak, Nahi izanez gero, benetan da 1036 00:49:35,610 --> 00:49:38,300 oso lehen jailbreaks bat iPhone-rako. 1037 00:49:38,300 --> 00:49:40,800 Jailbreaking esan telefono cracking beraz, benetan erabil dezakezu batean 1038 00:49:40,800 --> 00:49:43,380 desberdinen eramaile edo instalazioa Zeure softwarea. 1039 00:49:43,380 --> 00:49:45,660 Eta iragarki honen itxura erabat izango zara críptica, ziurrenik. 1040 00:49:45,660 --> 00:49:46,520 Baina begiratu. 1041 00:49:46,520 --> 00:49:50,420 IPhone zen itxuraz pitzatu batekin begizta bat, egoera bat izanez gero, beste bat 1042 00:49:50,420 --> 00:49:52,580 baldintza, funtzio sorta bat ez dugu ikusten. 1043 00:49:52,580 --> 00:49:54,230 >> Eta, berriro ere, ez duzu etxean Lehenengo begirada batean, seguruenik, 1044 00:49:54,230 --> 00:49:55,620 ulertzen nola lan hau. 1045 00:49:55,620 --> 00:49:58,940 Dena Ordena dugun hartu gure bizitza modernoan emandako 1046 00:49:58,940 --> 00:50:02,040 Egia esan, nahiz eta joera murrizteko batzuk oinarriak hauek izan gara 1047 00:50:02,040 --> 00:50:02,820 begira. 1048 00:50:02,820 --> 00:50:06,680 Let me aurrera eta bat irekitzeko beste programa, holloway.c. 1049 00:50:06,680 --> 00:50:08,970 Beraz, honetan ere, ez da zerbait ez benetan jakin. 1050 00:50:08,970 --> 00:50:12,440 Nahiz eta langile edo bat ere ez nuen ziurrenik irudikatu hau begiratzen 1051 00:50:12,440 --> 00:50:15,450 hau da, norbaiten kodea ez delako izan zen zer aurkeztu 1052 00:50:15,450 --> 00:50:19,630 historikoki nahasia C bezala ezagutzen lehiaketa, non, programa bat idatzi 1053 00:50:19,630 --> 00:50:24,670 biltzen duten eta exekutatzen ditu, baina ez da hain madarikatua críptica ez giza zer ulertzen 1054 00:50:24,670 --> 00:50:27,530 egin da joan arte exekutatu benetan dute. 1055 00:50:27,530 --> 00:50:29,940 >> Beraz, hain zuzen ere, bada begiratu dituzun kodea, switch bat ikusten dut. 1056 00:50:29,940 --> 00:50:30,870 Nagusiak ikusten dut. 1057 00:50:30,870 --> 00:50:33,800 Kortxeteak horiek ulertuta ikusten dut array bat. 1058 00:50:33,800 --> 00:50:35,970 Norbaitek nahi zer Programa honetan, benetan 1059 00:50:35,970 --> 00:50:37,220 du exekutatu dut Holloway bada? 1060 00:50:37,220 --> 00:50:39,940 1061 00:50:39,940 --> 00:50:40,750 Bai. 1062 00:50:40,750 --> 00:50:43,050 Ados. 1063 00:50:43,050 --> 00:50:44,690 Ondo egin. 1064 00:50:44,690 --> 00:50:48,090 Beraz, soilik langileak eta nik ez daki zer gauza horiek egin dira. 1065 00:50:48,090 --> 00:50:51,670 >> Eta orain, azkenik, goazen aurrera me eta ireki bat beste programa. 1066 00:50:51,670 --> 00:50:53,440 Hau - 1067 00:50:53,440 --> 00:50:55,550 berriro ere, iturburu-kodea egin dugu eskuragarri online - hau da, besterik gabe, 1068 00:50:55,550 --> 00:50:57,480 nolako politak ikusteko. 1069 00:50:57,480 --> 00:50:59,750 Guztiak egin zuten da hit espazio-barra, nahiko pixka bat. 1070 00:50:59,750 --> 00:51:01,320 Baina hau benetako kodea da. 1071 00:51:01,320 --> 00:51:04,790 Beraz, bada, hori da polita, bada uste duzu dugu benetan exekutatu hau gonbitan, 1072 00:51:04,790 --> 00:51:08,970 azkenean ikusiko dugu nola izango zara gauza egin dezake hau atsegin du. 1073 00:51:08,970 --> 00:51:14,008 >> Beraz, utzi dugu ohar horretan eta ikusiko duzu, asteazkenean. 1074 00:51:14,008 --> 00:51:18,440 >> [Musika jotzen] 1075 00:51:18,440 --> 00:51:23,380 >> HIZLARIA 2: hurrengo CS50 egun, TFS eszenatokia mutiny bat. 1076 00:51:23,380 --> 00:51:24,112 >> HIZLARIA 3: Ez zuen. 1077 00:51:24,112 --> 00:51:25,362 Talde bera! 1078 00:51:25,362 --> 00:51:29,912 1079 00:51:29,912 --> 00:51:32,074 >> [Musika jotzen]