1 00:00:00,000 --> 00:00:00,000 2 00:00:00,000 --> 00:00:00,000 [Musika jotzen] 3 00:00:00,000 --> 00:00:13,950 4 00:00:13,950 --> 00:00:16,240 >> DAVID J. MALAN: Ondo da, hau da CS50. 5 00:00:16,240 --> 00:00:18,010 Eta aste honetan bat da. 6 00:00:18,010 --> 00:00:22,050 Beraz, azken aldiz gogoratzen aste zero ere, pentsamendu konputazionala bideratuta dugu. 7 00:00:22,050 --> 00:00:25,440 Eta hori tik trantsizioa dugu Scratch, programazio grafikoa 8 00:00:25,440 --> 00:00:27,360 hizkuntza, gure lagunen MIT Media Lab at. 9 00:00:27,360 --> 00:00:31,730 >> Eta Scratch, zuen esploratu dugu funtzio bezala ideia, eta baldintza, 10 00:00:31,730 --> 00:00:35,210 eta loops, eta aldagaiak, eta are gertaerak, eta hariak, eta gehiago. 11 00:00:35,210 --> 00:00:37,880 Eta gaur egun, goaz ideia horiek erabiltzen jarraitzeko, 12 00:00:37,880 --> 00:00:40,630 eta benetan haiek hartzeko ematen, baina itzuli 13 00:00:40,630 --> 00:00:44,220 C. Orain bezala ezagutzen den beste hizkuntza bat, C hizkuntza gehiago tradizional bat da. 14 00:00:44,220 --> 00:00:46,020 maila txikiagoa da hizkuntza, izango bada. 15 00:00:46,020 --> 00:00:47,300 >> It hutsa textual da. 16 00:00:47,300 --> 00:00:49,910 Eta beraz, hasiera batean, da baizik críptica itxura joan 17 00:00:49,910 --> 00:00:51,430 Nik inoiz aurretik programatutako bada. 18 00:00:51,430 --> 00:00:53,530 izan goaz erdi-puntu bikoitza, eta parentesi, 19 00:00:53,530 --> 00:00:55,150 eta kizkur giltza, eta gehiago. 20 00:00:55,150 --> 00:00:57,240 Baina konturatzen, nahiz sintaxia da, nahiz 21 00:00:57,240 --> 00:01:00,600 pixka bat ezagutzen begiratu buruz nahi duzun gehienak, iraganean ikusi. 22 00:01:00,600 --> 00:01:03,220 Eta saiatu ideia bat ikusteko direla, hain zuzen ere, familiar, 23 00:01:03,220 --> 00:01:06,750 Hemen aste bat zer duelako hasiko dugu egin da alderatu, 24 00:01:06,750 --> 00:01:08,980 Hasieran, versus C. Urratu 25 00:01:08,980 --> 00:01:12,350 >> Beraz, adibidez, gogoratzen noiz dugun inplementatu gure programak lehenengoa 26 00:01:12,350 --> 00:01:16,220 Azken aldiz, hori begiratu bloke bat izan genuen Halako denean antzeko zerbait apur bat 27 00:01:16,220 --> 00:01:19,990 berdea Ez klik, eta ondoren izan genuen bat bere azpian puzzle pieza edo gehiago, 28 00:01:19,990 --> 00:01:22,150 Kasu honetan, esan, kaixo mundua. 29 00:01:22,150 --> 00:01:24,870 Beraz, hain zuzen ere, Scratch, nuenean sakatu bandera berdea 30 00:01:24,870 --> 00:01:27,390 nire programa exekutatu, beraz, Esateko, horiek dira 31 00:01:27,390 --> 00:01:29,520 hori emateko exekutatu blokeak, edo run. 32 00:01:29,520 --> 00:01:32,230 Eta, zehazki, Scratch esan, kaixo, mundua. 33 00:01:32,230 --> 00:01:35,377 >> Orain, I zehaztu izan da Hitz desberdinen hemen. 34 00:01:35,377 --> 00:01:37,960 Baina ikusi dugu, hain zuzen ere, beste hainbat blocks-- horiek eta, hain zuzen ere, 35 00:01:37,960 --> 00:01:41,880 C funtzio asko izan daiteke parametrized edo pertsonalizatu 36 00:01:41,880 --> 00:01:43,150 hainbat gauza egin. 37 00:01:43,150 --> 00:01:45,520 Izan ere, C dugu bada Nahi, bihurtzeko orain, 38 00:01:45,520 --> 00:01:47,567 Scratch programa hau beste hizkuntza horrek, 39 00:01:47,567 --> 00:01:49,650 bat idatzi goaz txiki honen antzeko zerbait. 40 00:01:49,650 --> 00:01:52,540 >> Ematen, ez da Ohituta batzuk sintaxia han ziurrenik, int, 41 00:01:52,540 --> 00:01:54,380 eta parentesi, eta hutsunea. 42 00:01:54,380 --> 00:01:57,740 Baina are printf egiten duzun arren Uste da, besterik gabe, izango litzateke inprimatu. 43 00:01:57,740 --> 00:02:00,120 Baina inprimatu esan formateatuta, laster ikusi dugu. 44 00:02:00,120 --> 00:02:02,140 Hau literalki egingo inprimatu pantailaren edozein izanda 45 00:02:02,140 --> 00:02:05,990 Parentesi horiek barruan dago, eta horrek jakina, kasu honetan, kaixo mundua da. 46 00:02:05,990 --> 00:02:09,290 >> Baina beste batzuk nabarituko duzu sintaxia, komatxo batzuk, 47 00:02:09,290 --> 00:02:11,890 amaieran parentesi hori, puntu eta koma eta antzekoak. 48 00:02:11,890 --> 00:02:15,027 Beraz, ez coaut pixka bat da, beraz, hitz egiteko, bai kognitiboki 49 00:02:15,027 --> 00:02:17,860 eta sintaktikoki, ari gara joan luze baino lehen gogoratu behar da. 50 00:02:17,860 --> 00:02:20,720 Baina konturatzen praktika, hau egin beharko duzu at hasiko da. 51 00:02:20,720 --> 00:02:24,920 >> Izan ere, dezagun bat duten on funtzioaren kasu honetan specifically--, 52 00:02:24,920 --> 00:02:26,290 esan kaixo mundua. 53 00:02:26,290 --> 00:02:27,560 Beraz, esan funtzioa da. 54 00:02:27,560 --> 00:02:31,320 Kaixo mundua bere parametroa da, edo argumentua, bere pertsonalizazio. 55 00:02:31,320 --> 00:02:34,320 >> Eta C baliokidea besterik ez da Lerro honetan izango da hemen, 56 00:02:34,320 --> 00:02:38,710 non printf baliokidea da, esan, bikoitza kotizatzen katea, kaixo 57 00:02:38,710 --> 00:02:41,470 Mundu baliokidea da, noski, Zer da zuri-koadroan ez izateko. 58 00:02:41,470 --> 00:02:45,680 Eta backslash n, apur bat izan arren bitxi eta Scratch absenteak, 59 00:02:45,680 --> 00:02:49,380 Besterik gabe, efektua egingo dugu dute joan ordenagailu bat ere ikusi, nire Mac edo PC bat bezala, 60 00:02:49,380 --> 00:02:51,660 besterik mugitzen du Hurrengo lerroan kurtsorea. 61 00:02:51,660 --> 00:02:53,970 da kolpatzeko bezalakoa da Sartu teklatuan. 62 00:02:53,970 --> 00:02:55,580 >> Beraz, berriro ikusiko dugu, luze baino lehen. 63 00:02:55,580 --> 00:02:58,640 Baina lehen, dezagun honen begirada bat beste adibide loops kasuan ere. 64 00:02:58,640 --> 00:03:02,830 betiko begizta hau azken aldiz izan dugu, horrek puzzle pieza sorta bat izan zen 65 00:03:02,830 --> 00:03:05,490 duten zerbait egin literalki Kasu honetan forever--, 66 00:03:05,490 --> 00:03:08,360 esan, mundu kaixo, kaixo mundua, kaixo mundua, kaixo mundua. 67 00:03:08,360 --> 00:03:10,350 Beraz, infinitua begizta diseinua da. 68 00:03:10,350 --> 00:03:14,580 >> C, hau ezartzea nahi badugu Ideia bera, besterik gabe, agian dugu hori egin. 69 00:03:14,580 --> 00:03:19,570 Egia bitartean, printf kaixo world-- orain bitartean, besterik semantikoki, mota 70 00:03:19,570 --> 00:03:23,090 ekartzen ditu gogora egiteko ideia zerbait berriro, eta berriro, eta berriro, 71 00:03:23,090 --> 00:03:23,980 eta noiz arte? 72 00:03:23,980 --> 00:03:27,990 Beno, true-- abisuaren Egia da, besterik gabe, on edo bat. 73 00:03:27,990 --> 00:03:30,660 >> Eta egia da, jakina, beti egia. 74 00:03:30,660 --> 00:03:33,060 Beraz zentzugabeak mota da adierazpena besterik egia esateko. 75 00:03:33,060 --> 00:03:36,890 Baina, hain zuzen ere, hau da, nahita, Egia da, besterik gabe, beti egia delako, 76 00:03:36,890 --> 00:03:40,850 Egia da, besterik gabe dakar bitartean baino, apur bat zeharka bada, 77 00:03:40,850 --> 00:03:44,070 Hurrengo kode lerro hori horiek kizkur giltza artean 78 00:03:44,070 --> 00:03:48,320 besterik exekutatu behar da berriro, eta berriro, eta berriro, eta inoiz ez benetan gelditzeko. 79 00:03:48,320 --> 00:03:50,230 >> Baina ez baduzu nahi zure begizta, gelditzeko dugu 80 00:03:50,230 --> 00:03:54,500 azken aldian egin antzeko zerbait hau, errepikatu ondoren 50 aldiz, 81 00:03:54,500 --> 00:03:57,700 C Zer da gauza bera egin ahal izango dugu izeneko bat hitzarekin begizta for 82 00:03:57,700 --> 00:03:59,330 ez den bitartean, baina da. 83 00:03:59,330 --> 00:04:03,290 Eta gero, sintaxia berri batzuk ditugu hemen, int i funtzioak 0, 50 baino gutxiago i, 84 00:04:03,290 --> 00:04:03,880 i ++. 85 00:04:03,880 --> 00:04:05,430 Eta hori itzuli egingo dugu. 86 00:04:05,430 --> 00:04:09,660 Baina hori da, besterik gabe, nola genuke translate Scratch bloke multzoa 87 00:04:09,660 --> 00:04:13,079 C kode lerro multzo bat da. 88 00:04:13,079 --> 00:04:14,450 >> Bien bitartean, kontuan hartu aldagaiak. 89 00:04:14,450 --> 00:04:16,540 Eta, hain zuzen ere, ez dugu ikusi bat duela une bat. 90 00:04:16,540 --> 00:04:21,220 Eta Scratch kasuan ere, badugu izeneko i aldagai bat aldarrikatu nahi izan 91 00:04:21,220 --> 00:04:24,590 i osokoa izateagatik, besterik gabe, zenbaki bat, eta hura ezartzeko balio batzuk nahi dugu, 92 00:04:24,590 --> 00:04:28,410 laranja hau erabiliko genuke blokeatu hemen ezar i, 0. 93 00:04:28,410 --> 00:04:30,800 >> Eta gaur ikusiko dugu, eta haratago, bezala, azken astean, 94 00:04:30,800 --> 00:04:33,850 programatzaileek egiten ia beti hasteko zero hasita, benetan 95 00:04:33,850 --> 00:04:34,950 konbentzio. 96 00:04:34,950 --> 00:04:37,250 Baina, era berean, abisuaren delako Gure binary eztabaida, 97 00:04:37,250 --> 00:04:39,990 kopuru tipi ahal duzun edozein bit kopurua batekin adierazten 98 00:04:39,990 --> 00:04:41,640 besterik ez da 0 bera izango da. 99 00:04:41,640 --> 00:04:45,190 Eta, beraz, oro har dugu hasteko are hasieratzeko gure aldagaiak 0. 100 00:04:45,190 --> 00:04:47,710 >> Eta C gauza bera egin zuen, int esan goaz 101 00:04:47,710 --> 00:04:50,110 osokoa da, i besterik konbentzio. 102 00:04:50,110 --> 00:04:53,390 I aldagai hau deitu du ezer nahi dut, besterik ez bezala Scratch. 103 00:04:53,390 --> 00:04:57,770 Eta gero, funtzioak 0 lagapen besterik 0 balioa eskuinetik egindako 104 00:04:57,770 --> 00:05:01,319 eta jartzen aldagai sartu, edo biltegiratze edukiontzi han, ezker. 105 00:05:01,319 --> 00:05:04,360 Eta puntu dugun ikusiko gisa eta ikusi dugu already-- hauetan batzuk 106 00:05:04,360 --> 00:05:06,530 Bakarrik esan nahi du pentsamendu amaieran. 107 00:05:06,530 --> 00:05:09,430 Jarraitzeko beste zerbait egin lerroak jarraitzen du. 108 00:05:09,430 --> 00:05:11,330 >> Orain, zer adierazpen boolearrak buruz? 109 00:05:11,330 --> 00:05:14,320 Gogoratu Scratch, honela mintzatzen ziren 110 00:05:14,320 --> 00:05:16,740 Hori bai egia edo faltsua galdera, 111 00:05:16,740 --> 00:05:18,910 benetan, hori bai egia edo gezurra diren. 112 00:05:18,910 --> 00:05:21,960 Beraz Scratch kasuan ere, gerta dugu Galdera sinple bat eskatu honetan bezala, 113 00:05:21,960 --> 00:05:24,586 da i 50 baino gutxiago? 114 00:05:24,586 --> 00:05:25,710 Beraz, i, berriz, oso bat da. 115 00:05:25,710 --> 00:05:27,210 Agian erabiltzen ari gara Scratch programa batean 116 00:05:27,210 --> 00:05:29,310 segimendua egiteko puntuazio bat edo horrelako zerbait. 117 00:05:29,310 --> 00:05:33,810 Beraz, sintaxia hau hemen Scratch Bakarrik esan nahi du, ez da i 50 baino gutxiago? 118 00:05:33,810 --> 00:05:37,330 Beno, zorionez, zerbait da C. Eta itzulpenetan simple, 119 00:05:37,330 --> 00:05:41,780 hau besterik ez genuke esan i gutxiago 50 baino, ezagutzen gakoa erabiliz 120 00:05:41,780 --> 00:05:42,850 zure teklatua. 121 00:05:42,850 --> 00:05:45,141 >> Bien bitartean, nahi izanez gero esan zerbait gehiago general, 122 00:05:45,141 --> 00:05:49,890 bezala, ondo, y non bakoitza baino gutxiago x x eta y beraiek dira aldagai? 123 00:05:49,890 --> 00:05:52,280 Gauza bera egin ahal izango dugu C, hain luzea izan dugun bezala 124 00:05:52,280 --> 00:05:53,942 sortutako aldagai horiek dagoeneko. 125 00:05:53,942 --> 00:05:55,650 Eta ikusiko dugu nola luze baino ez da egin. 126 00:05:55,650 --> 00:05:58,590 Besterik ez nuke esan dugu xy baino gutxiago. 127 00:05:58,590 --> 00:06:00,530 >> Beraz hasita duzu ikusi antzekotasun batzuk. 128 00:06:00,530 --> 00:06:03,490 Eta egin duten Folks horiek Scratch ziren zalantzarik 129 00:06:03,490 --> 00:06:05,250 Oinarrizko ideia horietako batzuk inspiratuta. 130 00:06:05,250 --> 00:06:10,350 Eta mota honetako ikusiko duzu languages-- askotan sintaxia 131 00:06:10,350 --> 00:06:12,160 ez besterik Scratch, ez besterik C, baina Python, 132 00:06:12,160 --> 00:06:14,790 eta JavaScript, eta beste hizkuntzak oraindik. 133 00:06:14,790 --> 00:06:18,270 >> Dezagun kontuan eraikuntza beste C-tik, baldintza baten ideia, 134 00:06:18,270 --> 00:06:20,370 Zerbait baldintzatuan egiten. 135 00:06:20,370 --> 00:06:22,720 Zerbait egia bada, hori egin. 136 00:06:22,720 --> 00:06:24,457 beste zerbait egia bada, ez dagoela. 137 00:06:24,457 --> 00:06:27,040 programazioan sort da errepidea bidegurutze baten baliokidea. 138 00:06:27,040 --> 00:06:29,730 Agian bi norabideko bidegurutze bat da, hiru bide bidegurutze bat, edo gehiago. 139 00:06:29,730 --> 00:06:32,800 Eta Scratch, izan dugu ikusi honen antzeko zerbait. 140 00:06:32,800 --> 00:06:34,010 >> Beraz, hau handi bat da. 141 00:06:34,010 --> 00:06:36,750 Baina kontuan hartu erlatiboa logika sinplea. 142 00:06:36,750 --> 00:06:44,010 xy baino txikiagoa bada, orduan esan x txikiagoa da y baino, xy baino handiagoa da, bestela bada, 143 00:06:44,010 --> 00:06:46,230 gero esan xy baino handiagoa da. 144 00:06:46,230 --> 00:06:48,300 Eta gero, noski, bada Atzera uste Scratch behar duzu 145 00:06:48,300 --> 00:06:52,610 edo, besterik gabe, zure propioa giza intuizioa, bai, x ez da y baino handiagoa bada, eta x 146 00:06:52,610 --> 00:06:57,000 ez da y baino gutxiago, orduan noski x y berdina gertatu egingo da. 147 00:06:57,000 --> 00:06:59,690 Beraz, kasu honetan, habia arabera Scratch bloke horiek, 148 00:06:59,690 --> 00:07:02,580 hiru bat lortzen dugu bide bidegurutze errepidean ere? 149 00:07:02,580 --> 00:07:04,980 >> Bien bitartean, nahi badugu hori, dudarik gabe, ez C, 150 00:07:04,980 --> 00:07:08,420 simpler-- apur bat behintzat itxura behin sintaxia ohitzeko duzu. 151 00:07:08,420 --> 00:07:12,050 xy baino txikiagoa bada, printf xy baino gutxiago da. 152 00:07:12,050 --> 00:07:16,140 Bestela, xy baino handiagoa bada, printf xy baino handiagoa da. 153 00:07:16,140 --> 00:07:21,210 Bestela printf x berdinak y-- eta da, berriro, backslash horiek amaitzen besterik 154 00:07:21,210 --> 00:07:24,160 ildo berriak dutenentzat hala bada duzula ran benetan mota honetako programa 155 00:07:24,160 --> 00:07:25,940 besterik ez litzateke mugituko Kurtsorea azken finean, 156 00:07:25,940 --> 00:07:28,100 hurrengo pantailan line. 157 00:07:28,100 --> 00:07:31,270 >> Orain, bere aldetik Scratch beste izan Ezaugarri sofistikatuagoa, bakarrik 158 00:07:31,270 --> 00:07:34,320 horietako batzuk goaz Hasieran mugitu baino C. munduan den 159 00:07:34,320 --> 00:07:37,010 Eta horietako bat izan zen Scratch zerrenda bat deitzen. 160 00:07:37,010 --> 00:07:39,100 Eta hau izan zen berezi bat aldagai-mota hori 161 00:07:39,100 --> 00:07:42,840 esker hainbat gauza gordetzeko aukera atzera ere, atzera, atzera, atzera. 162 00:07:42,840 --> 00:07:45,540 >> C, ez du izan zerrendak, per se, baina zerbait 163 00:07:45,540 --> 00:07:48,090 gehiago dira, oro har, izeneko array, egingo dugu, nahiz 164 00:07:48,090 --> 00:07:50,590 itzuli geroago seihileko honetan Zerbait begira 165 00:07:50,590 --> 00:07:52,780 zerrenda edo benetan lotuta zerrenda bat deitzen. 166 00:07:52,780 --> 00:07:55,510 Baina orain hurbilena, alde C baliokidea guretzat 167 00:07:55,510 --> 00:07:57,345 da zerbait izango da izeneko array bat. 168 00:07:57,345 --> 00:07:59,740 Sorta bat besterik ez da, aldakorrak 169 00:07:59,740 --> 00:08:03,160 ahalbidetzen duen datu gordeko dituzu Atzera, atzera, atzera, atzera. 170 00:08:03,160 --> 00:08:05,840 >> Eta, hain zuzen ere, Scratch, iritsi nahi badugu 171 00:08:05,840 --> 00:08:09,030 array baten lehen elementu edo list-- bat eta ez dut deitu noa, 172 00:08:09,030 --> 00:08:13,600 konbentzio, argv, argumentu arabera bektorea, baina hori da luze baino lehen. 173 00:08:13,600 --> 00:08:17,090 lehenengo elementua at lortu nahi badut argv, Scratch munduan 174 00:08:17,090 --> 00:08:20,930 benetan egiten duzu normalean hasteko 1 hasita. 175 00:08:20,930 --> 00:08:22,850 >> Eta beraz, baliteke elementua 1 argv lortu dut. 176 00:08:22,850 --> 00:08:26,310 Hori da, MIT besterik nola inplementatu zerrendak nozioa. 177 00:08:26,310 --> 00:08:29,860 Baina C, noa gehiago besterik ez da, besterik gabe esan, argv, 178 00:08:29,860 --> 00:08:32,758 horrek berriro izena da nire list-- edo argi izan, array bat. 179 00:08:32,758 --> 00:08:34,549 Eta lehen nahi badut elementu, banoa 180 00:08:34,549 --> 00:08:37,890 kortxeteak erabiltzen den, eta zuk Agian ez askotan teklatu bat erabili. 181 00:08:37,890 --> 00:08:40,150 >> Baina 0 besterik esan nahi, get me lehena. 182 00:08:40,150 --> 00:08:42,160 Beraz, behin eta gisa denbora pasatzen, goaz ari 183 00:08:42,160 --> 00:08:44,570 dikotomia horiek ikusteko hasteko Scratch eta C artean, 184 00:08:44,570 --> 00:08:46,070 Horren bidez, Scratch bat erabiltzen du. 185 00:08:46,070 --> 00:08:47,670 0 C dugu erabili hemen. 186 00:08:47,670 --> 00:08:49,420 Baina azkar duzu ikusi behin ulertzen 187 00:08:49,420 --> 00:08:52,920 hizkuntza bakoitzaren oinarriak, hori Gauza horiek guztiak gehiago lortzeko hasteko 188 00:08:52,920 --> 00:08:56,860 praktika eta praktika bidez ezagutzen. 189 00:08:56,860 --> 00:08:59,700 >> Hargatik, benetan ditzagun orain programa batean. 190 00:08:59,700 --> 00:09:04,031 Hemen gure C lehena izanen da source programak osatu kodea. 191 00:09:04,031 --> 00:09:06,280 Eta programa ari gara joan kontuan eskaini 192 00:09:06,280 --> 00:09:09,340 ko duten baliokidea da Scratch lehenago pieza bat. 193 00:09:09,340 --> 00:09:13,210 >> Beraz, hemen ere, zer da egin behar dugu dudarik gabe, errazena C programa 194 00:09:13,210 --> 00:09:15,410 Idazketa benetan zerbait egiten du. 195 00:09:15,410 --> 00:09:18,250 Orain, begiratu iragan beharko dugu, oraingoz, ha besteak beste, 196 00:09:18,250 --> 00:09:21,190 io.h estandarra, eta angelu horiek Parentesi, eta int, eta void, 197 00:09:21,190 --> 00:09:22,840 eta kizkur giltza, eta antzekoak. 198 00:09:22,840 --> 00:09:25,390 >> Eta utzi besterik arreta-en zer, gutxienez, intuizioa, 199 00:09:25,390 --> 00:09:26,860 out salto egin dezakezu dagoeneko. 200 00:09:26,860 --> 00:09:30,300 Izan ere, nagusia, ez dut nahitaez jakin hori zer den, 201 00:09:30,300 --> 00:09:34,580 baina Scratch bezala askoz izan denean berdea Ez klik puzzle pieza, 202 00:09:34,580 --> 00:09:39,070 beraz, ez du C programazio hizkuntza gisa Kode zati nagusi bat izan dela 203 00:09:39,070 --> 00:09:43,380 lehenetsi gisa exekutatu. Eta, hain zuzen ere, , literalki deitu behar nagusiak joan. 204 00:09:43,380 --> 00:09:44,720 >> Beraz nagusia funtzio bat da. 205 00:09:44,720 --> 00:09:48,720 Eta funtzio berezi bat existitzen dela da C programa bat exekutatzen duzun, 206 00:09:48,720 --> 00:09:52,720 nagusia lortzen exekutatu dela lehenetsia. Scratch munduan, 207 00:09:52,720 --> 00:09:56,970 ohi zen denean berde Ez bertan klik got lehenetsi bezala. 208 00:09:56,970 --> 00:10:01,130 >> Bien bitartean, ikusi dugu hau baino lehen, printf edo inprimatu formateatutako, hori da 209 00:10:01,130 --> 00:10:05,620 funtzio bat dator izango da C, beste mordo bat osoa batera, 210 00:10:05,620 --> 00:10:10,140 denbora eta noizean borondate hori berriro, ordena zehazki egin 211 00:10:10,140 --> 00:10:12,450 Bere izenak dioen bezala, inprimatu zerbait. 212 00:10:12,450 --> 00:10:13,500 Zer inprimatu nahi dugu? 213 00:10:13,500 --> 00:10:15,770 Beno, hori ikusiko dugu karaktere erantsiz arabera 214 00:10:15,770 --> 00:10:18,680 kaixo mundua, horiek bezala, backslash Komatxoen n, 215 00:10:18,680 --> 00:10:23,040 printf zehazki esan ahal dugu zer den pantailan inprimatu. 216 00:10:23,040 --> 00:10:26,430 >> Baina ahal izateko egin Hori, zoritxarrez dugu 217 00:10:26,430 --> 00:10:30,010 behar dela zerbait hartu Dagoeneko Gurekin gizakiak críptica, 218 00:10:30,010 --> 00:10:34,510 baina, gutxienez, zertxobait readable-- da zorrotz artean, io.h estandarra, int, 219 00:10:34,510 --> 00:10:39,340 nagusia, hutsunea, printf, magiko guztiak enkantamenduak dugu besterik pantailan ikusi. 220 00:10:39,340 --> 00:10:42,470 Baina, egia esan behar dugu go gehiago urrutira oraindik. 221 00:10:42,470 --> 00:10:47,140 Lehenengo kodea itzuli behar dugu idatzi dugun makina kodea. 222 00:10:47,140 --> 00:10:51,370 Eta astetik gogoratzen makinak, gutxienez direnak hemen ezagutzen dugun, 223 00:10:51,370 --> 00:10:54,450 Egunaren amaieran bakarrik zeroen eta ulertzeko. 224 00:10:54,450 --> 00:10:58,100 >> Eta nire Jainkoa, izan badugu hauek idazteko zeroen eta benetan programara, 225 00:10:58,100 --> 00:11:01,260 Oso, oso azkar litzateke hartu fun ezer daudelarik. 226 00:11:01,260 --> 00:11:05,150 Baina bihurtzen da, azken astean, hori zero eta bai eredu horiek 227 00:11:05,150 --> 00:11:06,400 besterik ez dute esanahi berezia. 228 00:11:06,400 --> 00:11:08,500 Zenbait egoeratan, zenbakiak esan nahi dute agian. 229 00:11:08,500 --> 00:11:11,840 >> Ondorioz, agian esan nahi dute letrak, edo koloreak, edo edozein zenbaki 230 00:11:11,840 --> 00:11:14,710 beste abstrakzioak han gainean. 231 00:11:14,710 --> 00:11:18,450 Baina bezain Ordenagailuak CPU bat, Central Processing Unit, 232 00:11:18,450 --> 00:11:20,390 edo zure ordenagailuaren barruan garunak. 233 00:11:20,390 --> 00:11:22,240 Ohi da Intel barruan, hori delako 234 00:11:22,240 --> 00:11:24,900 enpresen handienetako bat duten PUZ egiten ordenagailuak. 235 00:11:24,900 --> 00:11:28,910 >> Beno, Intel PUZ eta beste batzuk besterik izan aldez aurretik erabaki 236 00:11:28,910 --> 00:11:33,970 zeroen ereduak zenbait eta direnak gauza zehatz esan nahi izango du. 237 00:11:33,970 --> 00:11:37,040 Certain zeroen eta bai eredu izango du esan, inprimatu hau pantailara, 238 00:11:37,040 --> 00:11:39,710 edo bi zenbaki horiek gehitzeko, edo kenketak bi zenbaki horiek, 239 00:11:39,710 --> 00:11:43,310 edo mugitzeko datuak pieza honetatik nire ordenagailuaren memoria, hemen baino gehiago, 240 00:11:43,310 --> 00:11:47,870 edo edozein beste maila oso altua kopurua, baina, azken finean, erabilgarria, eragiketak. 241 00:11:47,870 --> 00:11:53,022 Baina, zorionez, gizakiak ez dira joan Xehetasun maila honetan jakin behar da. 242 00:11:53,022 --> 00:11:56,230 Izan ere, besterik ez gustatzen azken aldiz, non dugu abstrakziogune berriro, eta berriro, eta berriro, 243 00:11:56,230 --> 00:11:58,930 maila oso altua izan zen eraikina zeroen eta bai bezalako primitiboak 244 00:11:58,930 --> 00:12:01,160 maila handiagoa kontzeptuak den zenbakiak eta letrak bezala, 245 00:12:01,160 --> 00:12:04,330 eta koloreak, eta gehiago, beraz, ezin dugu programatzaile gisa 246 00:12:04,330 --> 00:12:07,080 sorbaldak nabarmentzen beste batzuek, aldiz gurekin etorri aurretik 247 00:12:07,080 --> 00:12:11,260 eta software beste hori erabili pertsona izan us-- aurretik idatzia 248 00:12:11,260 --> 00:12:14,340 hots programak izeneko konpiladoreak. 249 00:12:14,340 --> 00:12:17,770 >> C hizkuntza bat da hori normalean konpilatu da, 250 00:12:17,770 --> 00:12:22,130 horrek esan nahi du bihurtutako iturburu kodea makina kodea. 251 00:12:22,130 --> 00:12:25,230 Hain zuzen ere, zer esan nahi du da duzula got bada zure iturria 252 00:12:25,230 --> 00:12:29,530 kodea, zuk zeuk idatzi dugu, ahalik eta azkarren besterik pantailan une batean izango da, 253 00:12:29,530 --> 00:12:33,140 eta bihurtu nahi duzu makina, azken finean, kode 254 00:12:33,140 --> 00:12:37,100 zero eta horiek duten bakarrik zure Mac edo zure PC 255 00:12:37,100 --> 00:12:41,230 understands-- lortu duzun lehen bat elikatzeko iturburu kodea duten bezala in 256 00:12:41,230 --> 00:12:46,340 berezi batera sarrera Programa konpiladore bat deitu, 257 00:12:46,340 --> 00:12:48,974 zein irteera dugu Ikusiko makina kodea da. 258 00:12:48,974 --> 00:12:51,890 Eta, hain zuzen ere, azken aldiz hitz egin dugu buruz, benetan, egunaren amaieran, 259 00:12:51,890 --> 00:12:52,610 arazoa konpontzeko. 260 00:12:52,610 --> 00:12:53,360 Lortu duzu Sarrerek. 261 00:12:53,360 --> 00:12:54,318 Eta lortu duzun irteerak. 262 00:12:54,318 --> 00:12:56,560 Eta zuk nolabaiteko lortu duzu erdian algoritmoa. 263 00:12:56,560 --> 00:12:59,830 >> Algoritmoak ziur egon software ezarri, 264 00:12:59,830 --> 00:13:02,900 ikusi dugun bezala Pseudocode azken astean eta gisa benetako kodea dituzten ikusi dugu 265 00:13:02,900 --> 00:13:03,490 aste honetan. 266 00:13:03,490 --> 00:13:06,430 Eta beraz, konpiladore bat benetan besterik barruan algoritmo multzo bat du 267 00:13:06,430 --> 00:13:10,060 haren berri hori nola bihurtzeko keywords bereziak, 268 00:13:10,060 --> 00:13:12,180 nagusia, eta printf bezala, eta beste batzuk, besterik ez dugu 269 00:13:12,180 --> 00:13:17,620 zeroen patroiak zen ikusi eta direnak Intel barruan eta beste PUZ 270 00:13:17,620 --> 00:13:20,020 benetan ulertzen. 271 00:13:20,020 --> 00:13:22,460 Beraz, nola egin daiteke hori? 272 00:13:22,460 --> 00:13:24,470 Nora egin konpiladore bat lortu dugu? 273 00:13:24,470 --> 00:13:26,400 >> Gurekin gehienak hemen Mac edo PC bat. 274 00:13:26,400 --> 00:13:29,152 Eta Mac OS exekutatzen ari zaren, edo Windows, Linux edo, edo Solaris, 275 00:13:29,152 --> 00:13:30,860 edo beste edozein zenbaki sistema eragile. 276 00:13:30,860 --> 00:13:32,568 Eta, hain zuzen ere, ezin izan dugu go web gainean 277 00:13:32,568 --> 00:13:35,710 eta deskargatu konpilatzailea zure Mac edo PCrako 278 00:13:35,710 --> 00:13:37,360 zure sistema eragilearen da. 279 00:13:37,360 --> 00:13:39,617 Baina dugun guztietan izango litzateke orrialde ezberdinetan, nolabait esateko. 280 00:13:39,617 --> 00:13:41,450 zertxobait ginen konfigurazio desberdinak. 281 00:13:41,450 --> 00:13:43,210 Eta gauzak ez litzateke lan bera. 282 00:13:43,210 --> 00:13:45,280 Eta, hain zuzen ere, egun hauetan Gutako askok ez erabiltzea 283 00:13:45,280 --> 00:13:47,516 gure eramangarriak bakarrik exekutatzen software. 284 00:13:47,516 --> 00:13:49,390 Horren ordez, zerbait erabili dugu nabigatzaile bat bezala erabiltzen 285 00:13:49,390 --> 00:13:52,930 bideratzeko aukera ematen digu web-oinarritutako hodeia aplikazio. 286 00:13:52,930 --> 00:13:55,630 Eta geroago seihileko honetan, zehazki egingo dugu. 287 00:13:55,630 --> 00:13:59,660 aplikazio idatziko dugu edo software, kode ez erabiliz C, 288 00:13:59,660 --> 00:14:02,860 baina Python bezalako beste hizkuntzetan eta Javascript hodeia exekutatzen dira. 289 00:14:02,860 --> 00:14:05,860 >> Eta geure hori egin, dugu seihilekoan 290 00:14:05,860 --> 00:14:11,890 benetan erabiliko da hodeian oinarritutako ingurumena CS50 IDE bezala ezagutzen. 291 00:14:11,890 --> 00:14:16,030 Honek web-oinarritutako programazio bat da ingurumena, edo garapen integratua 292 00:14:16,030 --> 00:14:20,610 ingurumena, IDE, hori da batzuen gainean eraiki Cloud 9 izeneko iturburu irekiko software. 293 00:14:20,610 --> 00:14:22,966 Eta pedagogiko batzuk egin ditugu da simplifications 294 00:14:22,966 --> 00:14:25,840 beraz, zenbait ezaugarri ezkutatzeko ez dugula behar lehen asteetan, 295 00:14:25,840 --> 00:14:27,770 horren ondoren, ahal duzun agerian horiek eta gehien 296 00:14:27,770 --> 00:14:29,400 ezer ingurumenaren nahi izatea. 297 00:14:29,400 --> 00:14:32,470 >> Eta ematen du, ere, aurrez instalatu software jakin. 298 00:14:32,470 --> 00:14:35,330 CS50 deiturikoak bat bezala gauzak liburutegia, eta laster ikusiko dugu 299 00:14:35,330 --> 00:14:39,210 eskaintzen digu C batzuk funtzionalitate batzuk. 300 00:14:39,210 --> 00:14:44,392 Beraz bazoaz izateko, azken finean, CS50.io, eskatuko zaizu saioa hasi ahal izateko, 301 00:14:44,392 --> 00:14:46,350 eta behin egin behar duzu, eta sortu free kontu bat, 302 00:14:46,350 --> 00:14:52,150 bat sartzeko gai izango duzu ingurune hori nahiko itxura hau. 303 00:14:52,150 --> 00:14:53,760 >> Orain, hau lehenetsi moduan. 304 00:14:53,760 --> 00:14:55,650 Dena da polita eta pantailan distiratsua. 305 00:14:55,650 --> 00:14:57,941 Gutako askok ohitura CS50 zati hori lantzen ari 306 00:14:57,941 --> 00:14:59,150 Nahiko berandu gauean. 307 00:14:59,150 --> 00:15:02,400 Eta beraz, batzuk agian nahiago piztu, gau modua sartu, beraz, hitz egiten. 308 00:15:02,400 --> 00:15:05,550 >> Baina, azken finean, zertan ari zaren CS50 IDE barruan ikusten joan 309 00:15:05,550 --> 00:15:08,340 Hiru areas-- desberdin da Ezkerreko non eremu bat 310 00:15:08,340 --> 00:15:12,604 Zure fitxategiak dira izango joan hodei, goiko eskuineko eremu bat 311 00:15:12,604 --> 00:15:14,270 non zure kodea ez da editagarria izango da. 312 00:15:14,270 --> 00:15:16,650 ireki ahal izango duzu edozein programa banakako fitxetan 313 00:15:16,650 --> 00:15:19,670 seihileko honetan barrutik idatzi duzula hori goiko eskuineko izkinan. 314 00:15:19,670 --> 00:15:23,070 Eta gero gehien arcanely, eta oraindik ez zitekeen, 315 00:15:23,070 --> 00:15:26,610 da at gauza hori izango da beheko terminal-leiho bat bezala ezagutzen. 316 00:15:26,610 --> 00:15:29,450 >> Hau eskola zaharra da Command Line Interface, 317 00:15:29,450 --> 00:15:32,240 edo CLI, aukera ematen duen Exekutatu agindu duzu 318 00:15:32,240 --> 00:15:35,260 Kasu honetan, ordenagailu gainean, cloud-- ordenagailua 319 00:15:35,260 --> 00:15:39,090 zure kodea konpilatzen bezalako gauzak egin iturburu-kodea makina kodea, 320 00:15:39,090 --> 00:15:43,600 Zure programak exekutatu, edo hasteko zure web zerbitzaria, edo zure datu-basean sartzeko, 321 00:15:43,600 --> 00:15:47,454 eta beste edozein teknika Hori baino askoz lehenago erabili hasiko dugu. 322 00:15:47,454 --> 00:15:49,370 Baina iritsi, ez gara benetan dute joan 323 00:15:49,370 --> 00:15:51,240 online joan eta hasi jolasten. 324 00:15:51,240 --> 00:15:54,399 Eta hori egin, dezagun lehen hasteko nagusia tinkering, 325 00:15:54,399 --> 00:15:55,940 eta programa baten zati nagusiak idatzi. 326 00:15:55,940 --> 00:15:59,170 Eta, erabil dezagun funtzio hori printf, lehenago erabili dugu, 327 00:15:59,170 --> 00:16:01,050 besterik gabe, zerbait esan nahi. 328 00:16:01,050 --> 00:16:04,910 >> Beraz, hemen nago jada CS50 IDE baten barruan. 329 00:16:04,910 --> 00:16:05,930 Aldez aurretik ez dut oraindik sartu. 330 00:16:05,930 --> 00:16:07,360 Eta erabateko proiektatuko dut leihoan. 331 00:16:07,360 --> 00:16:09,670 Eta, beraz, azken finean, zuk too datozen arazoak ere 332 00:16:09,670 --> 00:16:12,960 antzeko urratsak jarraitu beharko duten online dokumentazioa eskaintzen dizu. 333 00:16:12,960 --> 00:16:16,360 Beraz, ez duzu kezkatu behin gutxi urrats tekniko xurgatzeko 334 00:16:16,360 --> 00:16:17,730 Hemen egiten dut gaur. 335 00:16:17,730 --> 00:16:19,222 >> Baina hau bezalako pantaila bat lortuko duzu. 336 00:16:19,222 --> 00:16:20,430 gauean moduan gertatuko dut. 337 00:16:20,430 --> 00:16:22,944 Eta guztia alaitzeko dezakezu Gau modua desgaituz eman. 338 00:16:22,944 --> 00:16:24,860 Eta bukaeran Egun, ikusten ari zaren joan 339 00:16:24,860 --> 00:16:30,090 Hiru horiek fitxategia areas-- ezkerreko nabigatzailea, kodea tabs goiko eman, 340 00:16:30,090 --> 00:16:32,430 eta behealdean terminal leihoa. 341 00:16:32,430 --> 00:16:34,890 >> Dezagun aurrera eta nire lehen programa idatzi. 342 00:16:34,890 --> 00:16:42,300 preemptively joan Fitxategia noa, Save, eta nire fitxategia hello.c gisa gorde. 343 00:16:42,300 --> 00:16:46,850 Izan ere, konbentzio, edozein programa dugu idazketaren hori C hizkuntzan idatzita 344 00:16:46,850 --> 00:16:49,739 Zerbait izendatu behar dot c, konbentzio. 345 00:16:49,739 --> 00:16:53,030 Beraz, ez dut hura izendatzeko hello.c joan, zeren Nahi dut kaixo esan munduari. 346 00:16:53,030 --> 00:16:54,820 Orain ez dut nahi handiagotu joan out eta sakatu Gorde. 347 00:16:54,820 --> 00:16:58,180 Eta guztia hemen daukat orain fitxa bat da horietan kodea idazten hasi daiteke. 348 00:16:58,180 --> 00:16:59,490 >> Hau ez da konpilatu joan. 349 00:16:59,490 --> 00:17:00,300 Honek ez du ezer esan. 350 00:17:00,300 --> 00:17:02,750 Eta bihurtu dut beraz, nahiz hau zeroen eta bai, 351 00:17:02,750 --> 00:17:05,390 PUZaren da ez dute joan Ideia zer da inguruan gertatzen. 352 00:17:05,390 --> 00:17:14,170 Baina idatzi nuen lerro Horixe etortzeko C-ren conventions-- C izakia sortu, 353 00:17:14,170 --> 00:17:20,150 Berriro, hau sintaxia hizkuntza sailkatu bezala hau, printf kaixo world-- eta Dut 354 00:17:20,150 --> 00:17:22,210 Ahaztuak eroso hau denboran zehar egiten. 355 00:17:22,210 --> 00:17:24,510 Beraz, ez dut uste egin nuen akats tipografikoak edozein. 356 00:17:24,510 --> 00:17:27,910 >> Baina, beti, lehen aldiz egiten duzu, izango duzu. 357 00:17:27,910 --> 00:17:31,090 Eta zer egin dezaket naiz agian oso ondo ez duzu lan lehen aldiz. 358 00:17:31,090 --> 00:17:33,610 Eta hori da, primeran OK, oraintxe delako duzu 359 00:17:33,610 --> 00:17:37,662 baliteke besterik ikusi berritasun asko, baina denboran zehar behin ezagutzen hasteko 360 00:17:37,662 --> 00:17:39,870 Ingurune honek, eta hizkuntza honetan, eta beste batzuk, 361 00:17:39,870 --> 00:17:42,370 Gauzak hasteko ikusiko duzu, bai zuzena edo okerra. 362 00:17:42,370 --> 00:17:44,369 >> Eta hau da, zer irakaskuntza bekadun eta ikastaroa 363 00:17:44,369 --> 00:17:48,780 laguntzaileak zaitez beraz, denboran zehar ona, da akatsak edo bugs zure kodea spotting. 364 00:17:48,780 --> 00:17:52,110 Baina aldarrikatzen duten I ez ez dago Kode honetan bugs. 365 00:17:52,110 --> 00:17:53,990 Beraz, gaur egun nahi dut programa hau exekutatu. 366 00:17:53,990 --> 00:17:57,440 >> Orain nire Mac edo PC kabuz, ados clicking ikono bikoitza duen ohitura 367 00:17:57,440 --> 00:17:59,350 denean programa batzuk exekutatu nahi dut. 368 00:17:59,350 --> 00:18:01,080 Baina hori ez da eredu hemen. 369 00:18:01,080 --> 00:18:04,570 ingurune honetan, eta horrek CS50 IDE da ere. 370 00:18:04,570 --> 00:18:07,192 eragile bat erabiltzen ari gara Linux izeneko sistema. 371 00:18:07,192 --> 00:18:09,900 Linux beste gogorarazten da sistema eragilea, oro har, ezagutzen 372 00:18:09,900 --> 00:18:10,850 Unix bezala. 373 00:18:10,850 --> 00:18:16,340 Eta Linux da bereziki ezaguna a Command Line Ingurumen, CLI izatea. 374 00:18:16,340 --> 00:18:20,070 Orain, partida bat erabiltzen ari gara Linux zapore Ubuntu izeneko. 375 00:18:20,070 --> 00:18:22,770 Eta Ubuntu besterik ez da, zenbait Linux bertsio. 376 00:18:22,770 --> 00:18:27,900 >> Baina Linux horiek egun hauetan egin benetan Erabiltzaile interfaze grafiko etortzen. 377 00:18:27,900 --> 00:18:30,360 Eta bat gertatuko dugu erabili hemen web-oinarritutako da. 378 00:18:30,360 --> 00:18:32,735 Beraz, hau, nahiz eta bat begiratu dezake zerbait desberdina gutxi 379 00:18:32,735 --> 00:18:35,310 baliteke zuk zeuk ikusi edo iraganean exekutatu. 380 00:18:35,310 --> 00:18:37,910 >> Beraz, aurrera noa joan orain eta egin honako hau. 381 00:18:37,910 --> 00:18:40,950 Fitxategi hau hello.c gisa gordeko dut. 382 00:18:40,950 --> 00:18:47,350 Aurrera joan noa eta mota clanghello.c Beraz Clang 383 00:18:47,350 --> 00:18:49,850 C hizkuntzarentzat konpiladore bat da. 384 00:18:49,850 --> 00:18:51,952 It aurrez instalatutako CS50 IDE ere. 385 00:18:51,952 --> 00:18:54,910 Eta erabat dezakezu deskargatu eta instalatu hau zure Mac edo PC. 386 00:18:54,910 --> 00:18:57,910 >> Baina, berriro ere, ez duzu guztia dute pre-konfigurazio zuretzat egin. 387 00:18:57,910 --> 00:19:00,940 Beraz, oraingoz, besterik ez naiz clanghello.c exekutatu. 388 00:19:00,940 --> 00:19:03,240 Eta orain konturatu sintaxia hau hemen izango da azkenean 389 00:19:03,240 --> 00:19:06,930 konturatzen besterik esan nago bat ere I karpeta edo direktorio Laneko deitu. 390 00:19:06,930 --> 00:19:11,030 dolarraren ikurra konbentzio da esanahia bilatzeko, idatzi zure komandoak hemen. 391 00:19:11,030 --> 00:19:14,560 >> zer ari gonbit bat deitzen da, besterik gabe, konbentzio dolarraren ikurra da. 392 00:19:14,560 --> 00:19:19,130 Eta aurrera joan nintzen orain bada eta sakatu Sartu, ezer gertatu dela dirudi. 393 00:19:19,130 --> 00:19:20,930 Baina hori benetan gauza ona da. 394 00:19:20,930 --> 00:19:23,650 Gutxiago hori gertatzen zure pantaila, litekeena da 395 00:19:23,650 --> 00:19:26,710 Zure kodea da zuzena izan, sintaktikoki gutxienez. 396 00:19:26,710 --> 00:19:29,120 >> Beraz, hau exekutatu nahi badut programa, zer egin dezaket? 397 00:19:29,120 --> 00:19:33,770 Beno, bihurtzen da hori default name konbentzio 398 00:19:33,770 --> 00:19:38,854 programak ez duzunean bat zehaztu izena zure programa da besterik a.out. 399 00:19:38,854 --> 00:19:41,270 Eta sintaxia hau ere bai, egingo duzu Aspaldi aurretik ezagutzen. 400 00:19:41,270 --> 00:19:47,500 >> Dot barra besterik esan, beno, CS50 IDE, exekutatu a.out programa bat 401 00:19:47,500 --> 00:19:49,400 nire uneko direktorioa barruan. 402 00:19:49,400 --> 00:19:51,520 dot That uneko direktorioa esan nahi. 403 00:19:51,520 --> 00:19:55,040 Eta zer beste hainbat sekuentziak ikusiko dugu karaktere luze baino lehen esan nahi du. 404 00:19:55,040 --> 00:19:58,430 >> Beraz, hemen goaz, Sartu, kaixo mundua. 405 00:19:58,430 --> 00:20:00,080 Eta nabarituko duzu, zer gertatu? 406 00:20:00,080 --> 00:20:01,580 Ez bakarrik ez kaixo mundua inprimatu. 407 00:20:01,580 --> 00:20:05,990 mugitu, halaber, Hurrengo lerroan kurtsorea. 408 00:20:05,990 --> 00:20:07,160 >> Eta zergatik zen hori? 409 00:20:07,160 --> 00:20:12,400 Zein izan kodea duten lehenago idatzi dugu ziurtatu kurtsorea litzateke 410 00:20:12,400 --> 00:20:14,882 hurrengo lerroan joango? 411 00:20:14,882 --> 00:20:16,840 Funny bati buruz gauza ordenagailua da nik bakarrik joan 412 00:20:16,840 --> 00:20:18,570 literalki egin zer esan nahi duzun egin. 413 00:20:18,570 --> 00:20:26,050 >> Beraz, esango dizu kaixo printf bada, koma, espazio, mundu, aurrekontua itxi, 414 00:20:26,050 --> 00:20:29,090 , literalki bakarrik joan karaktere horiek inprimatu. 415 00:20:29,090 --> 00:20:31,980 Baina pertsonaia berezi hau izan nuen at the end, oroitzapen, backslash n. 416 00:20:31,980 --> 00:20:34,230 Eta hori da, bermatu pertsonaia hori joan 417 00:20:34,230 --> 00:20:36,570 hurrengo pantailan line. 418 00:20:36,570 --> 00:20:38,097 >> Izan ere, let me joan eta egiteko. 419 00:20:38,097 --> 00:20:39,430 Dezagun aurrera eta hau ezabatu. 420 00:20:39,430 --> 00:20:41,180 Orain, nabarituko dela Nire pantailaren goialdean ez dago 421 00:20:41,180 --> 00:20:42,890 Apur bat argi gorria fitxa adieraziz, 422 00:20:42,890 --> 00:20:45,047 beno, ez ditudan zure fitxategia gorde. 423 00:20:45,047 --> 00:20:47,880 Beraz, aurrera noa kontrol batera joan S edo komando S, gorde fitxategia. 424 00:20:47,880 --> 00:20:51,130 Orain momentu berde bat goes-- joan. 425 00:20:51,130 --> 00:20:53,760 Eta orain, itzuli da besterik itxi ikono bat egotea. 426 00:20:53,760 --> 00:21:01,860 >> orain I exekutatu bada clanghello.c berriro, Sartu, dot barra, a.out, Sartu, 427 00:21:01,860 --> 00:21:04,110 Ikusiko duzu, oraindik ere lan egin zuen. 428 00:21:04,110 --> 00:21:06,020 Baina dudarik gabe, apur buggy bat. 429 00:21:06,020 --> 00:21:08,714 Oraintxe bertan, nire prompt-- laneko area, eta gero dolarraren ikurra duten, 430 00:21:08,714 --> 00:21:10,880 eta, ondoren, nire benetako prompt-- guztiak lerro berdinean dago. 431 00:21:10,880 --> 00:21:14,540 Beraz, hau zalantzarik bug estetiko bat, ez da benetan, nahiz eta logikoa akatsen bat. 432 00:21:14,540 --> 00:21:16,250 >> Beraz, ez dut zer egin besterik ez dut desegin egingo da. 433 00:21:16,250 --> 00:21:18,560 a.out berrabiarazi noa. 434 00:21:18,560 --> 00:21:22,710 Ohartu gehitu dut newline pertsonaia back. 435 00:21:22,710 --> 00:21:24,280 fitxategia gorde dut. 436 00:21:24,280 --> 00:21:31,630 >> Beraz, ez dut a.out berrabiarazi joan, -Nik dammit, akatsen bat, akatsen bat akats zentzua. 437 00:21:31,630 --> 00:21:35,020 Beraz erroreen da, nahiz eta hori izan arren backslash gehitu dut n dago, 438 00:21:35,020 --> 00:21:41,180 re-gordetako, re-ran programa, portaera bera izan zen. 439 00:21:41,180 --> 00:21:42,640 Zer dela eta? 440 00:21:42,640 --> 00:21:43,910 >> Urrats bat dut falta, ezta? 441 00:21:43,910 --> 00:21:47,620 gakoa urrats hori lehenago zen dituzula zaie aldatzen duzunean zure iturburu-kodea, 442 00:21:47,620 --> 00:21:49,610 bihurtzen da exekutatu Konpiladorea bidez 443 00:21:49,610 --> 00:21:51,102 Berriro beraz makina kode berria lortu duzu. 444 00:21:51,102 --> 00:21:52,810 Eta makina-kodea, zero eta bai, 445 00:21:52,810 --> 00:21:56,260 dira ia berdina izango da, baina Ez primeran beraz, behar dugulako, 446 00:21:56,260 --> 00:21:57,510 jakina, lerro berri hori. 447 00:21:57,510 --> 00:22:02,640 >> Beraz, hau konpondu ahal izateko, behar noa clanghello.c saioan, sartu, dot 448 00:22:02,640 --> 00:22:03,800 barra, a.out. 449 00:22:03,800 --> 00:22:08,402 Eta orain, kaixo mundua itzuli da non espero dut nahi izan da. 450 00:22:08,402 --> 00:22:09,610 Beraz, hau da, fina eta ona. 451 00:22:09,610 --> 00:22:13,150 Baina a.out bat izen nahiko ergela bat da programa, izan ere gertatzen da, nahiz eta, 452 00:22:13,150 --> 00:22:16,530 arrazoi historiko, etorri lehenespenez muntaia irteerak zentzua. 453 00:22:16,530 --> 00:22:20,780 >> Baina utzi aurrera me hemen eta hori egin ezberdinean. 454 00:22:20,780 --> 00:22:24,760 Nire kaixo mundu programa nahi dut benetan kasu deitzen kaixo. 455 00:22:24,760 --> 00:22:28,320 Beraz, bada ikono bat balitz nire desktop, ez litzateke izango a.out da. 456 00:22:28,320 --> 00:22:29,730 It deitu beharko litzateke kaixo. 457 00:22:29,730 --> 00:22:33,660 >> Beraz, hori egin ahal izateko, bihurtzen da Clang hori, programa askok bezala, 458 00:22:33,660 --> 00:22:37,980 komando lerroko argumentuak onartzen, edo banderak, edo switches, 459 00:22:37,980 --> 00:22:39,600 hori besterik ez eragiteko bere jokabidea. 460 00:22:39,600 --> 00:22:45,160 Zehazki, Clang etenaren o onartzen Ez, horrek, ondoren, bigarren hitza hartzen. 461 00:22:45,160 --> 00:22:48,190 Kasu honetan, arbitrarioki noa, baina zentzuz, deitu kaixo. 462 00:22:48,190 --> 00:22:50,710 Baina, ezin dut ezer deitzeko , Nahi dut a.out, salbu 463 00:22:50,710 --> 00:22:52,390 baizik puntua gain izango litzateke. 464 00:22:52,390 --> 00:22:55,640 >> Eta gero, besterik zehaztu izenean Fitxategiaren nahi dut konpilatu. 465 00:22:55,640 --> 00:22:59,190 Beraz, orain are hasieran arren komandoa Oraindik dut Clang, 466 00:22:59,190 --> 00:23:01,410 komandoa amaieran Oraindik dut zure fitxategi-izenak, 467 00:23:01,410 --> 00:23:05,520 Orain ez daukat komando-lerro hauek argudioak, banderak horiek esaten, 468 00:23:05,520 --> 00:23:11,180 oh, bide batez, irteera-o, fitxategi batean izeneko kaixo, ez a.out lehenetsia. 469 00:23:11,180 --> 00:23:13,810 >> Beraz, I hit bada Sartu orain, ezer gertatu dela dirudi. 470 00:23:13,810 --> 00:23:17,900 Eta, hala ere, gaur egun ez dot barrarik ezin dut kaixo. 471 00:23:17,900 --> 00:23:19,089 Beraz, programa bera da. 472 00:23:19,089 --> 00:23:21,380 zero eta zeintzuk dira Egunaren amaieran, berdin-berdina. 473 00:23:21,380 --> 00:23:24,210 >> Oraindik, baina bi zituzten ezberdinak files-- a.out, 474 00:23:24,210 --> 00:23:26,490 bertan lehenengo bertsioa da eta besterik foolishly izeneko, 475 00:23:26,490 --> 00:23:30,250 eta orain kaixo, hau da, askoz bat gehiago sinesgarria programa baten izena. 476 00:23:30,250 --> 00:23:33,195 Baina, egia esanda, inoiz ez naiz hau gogoratzeko berriro joan, 477 00:23:33,195 --> 00:23:34,070 eta berriro, eta berriro. 478 00:23:34,070 --> 00:23:36,411 Eta, egia esan, idatzi dugu programak zailagoa, 479 00:23:36,411 --> 00:23:38,160 komandoak Oraindik den idatzi behar joan 480 00:23:38,160 --> 00:23:40,920 are get joan zailagoa oraindik. 481 00:23:40,920 --> 00:23:41,940 >> Eta beraz, ez kezkatu. 482 00:23:41,940 --> 00:23:46,220 Bihurtzen da, gizakiak aurretik Konturatu digu gehiegi 483 00:23:46,220 --> 00:23:47,530 zehazki, arazo hau bera izan. 484 00:23:47,530 --> 00:23:50,900 Beraiek ere ez zuen gozatu ahal izatea idatzi nahiko luzea, urrutira komandoak, 485 00:23:50,900 --> 00:23:52,200 utzi bakarrik haiek gogoratzeko. 486 00:23:52,200 --> 00:23:56,070 Eta beraz, gizakiak gure aurrean egin dute horregatik da errazagoa bestelako programak 487 00:23:56,070 --> 00:23:57,670 Zure software biltzeko. 488 00:23:57,670 --> 00:24:01,609 >> Eta, hain zuzen ere, bat, hala nola, Programa Make deritzo. 489 00:24:01,609 --> 00:24:03,150 Beraz, aurrera noa eta hau egin dut. 490 00:24:03,150 --> 00:24:05,691 guztiak desegin noa I besterik honela egin. 491 00:24:05,691 --> 00:24:07,690 Dezagun mota LS me. 492 00:24:07,690 --> 00:24:10,980 Eta nabarituko duzu hiru gauza a.out, eta izar bat, kaixo 493 00:24:10,980 --> 00:24:12,810 eta izar bat, eta hello.c. 494 00:24:12,810 --> 00:24:14,730 Zorionez, hau egin beharko lukete izan apur bat intuitiboa, 495 00:24:14,730 --> 00:24:18,220 heinean lehenago ez zegoen Laneko area honetan ezer. 496 00:24:18,220 --> 00:24:21,240 Ez zen ezer ez izan nuen sortu class hasi ginen arte. 497 00:24:21,240 --> 00:24:22,840 >> Eta hello.c sortu dut. 498 00:24:22,840 --> 00:24:24,544 ondoren, konpilatu dut, eta izeneko a.out. 499 00:24:24,544 --> 00:24:27,460 Eta, ondoren, konpilatu dut berriro zertxobait ezberdinean eta deitzen kaixo. 500 00:24:27,460 --> 00:24:32,830 Beraz, hiru fitxategi daukat direktorioa honetan, Laneko izeneko karpeta honetan. 501 00:24:32,830 --> 00:24:35,005 Orain, hori ikusi ahal izango dut baita urrutiratzeko dut benetan bada. 502 00:24:35,005 --> 00:24:37,530 >> Handiagotzeko dut bada hemen eta Goiko eskuineko eskua hori begiratu 503 00:24:37,530 --> 00:24:39,940 Korner, agindu ezker eskuko zure pantailaren eskuineko aldean 504 00:24:39,940 --> 00:24:42,990 da beti erakutsiko joan Zer da zure kontu ere, zer da 505 00:24:42,990 --> 00:24:44,790 CS50 IDE baten barruan. 506 00:24:44,790 --> 00:24:46,680 Eta ez da hiru fitxategiak ez. 507 00:24:46,680 --> 00:24:49,070 >> Beraz a.out kentzeko eta kaixo nahi dut. 508 00:24:49,070 --> 00:24:51,275 Eta baitezakezu imajinatu senez, zuk 509 00:24:51,275 --> 00:24:53,400 kontrol klik ordenatzeko edo eskuin-klikatu honetan. 510 00:24:53,400 --> 00:24:54,590 Eta menu txiki honetan azalduko da. 511 00:24:54,590 --> 00:24:57,170 fitxategia deskargatu ahal izango duzu, exekutatu da, aurreikusi da, freskatu, berrizendatu 512 00:24:57,170 --> 00:24:57,700 edo ez zer. 513 00:24:57,700 --> 00:25:00,260 >> Eta besterik ezin dut ezabatu, eta irteteko litzateke. 514 00:25:00,260 --> 00:25:05,260 Baina egin dezagun gauza komando batekin utzi oraingoz line, eta, beraz, eroso lortu 515 00:25:05,260 --> 00:25:07,010 honekin, eta honako hau. 516 00:25:07,010 --> 00:25:12,345 Aurrera joan eta kendu noa literalki rma.out idatziz a.out. 517 00:25:12,345 --> 00:25:14,890 Bihurtzen da, komandoa kendu edo zerbait ezabatzea, 518 00:25:14,890 --> 00:25:16,280 da, ez kendu edo ezabatu. 519 00:25:16,280 --> 00:25:21,260 >> da gehiago succinctly RM, besterik gabe, gorde Sartu hit duzu zanpatze batzuk, eta. 520 00:25:21,260 --> 00:25:24,707 Orain ari gara zertxobait izango da cryptically kendu erregularra fitxategi a.out. 521 00:25:24,707 --> 00:25:27,040 Egia esan, ez dakit zer bat irregular fitxategia oraindik izango litzateke. 522 00:25:27,040 --> 00:25:28,660 Baina nahi ez dut hura kentzeko. 523 00:25:28,660 --> 00:25:30,150 >> Beraz, ez dut y idatzi baietz joan. 524 00:25:30,150 --> 00:25:31,940 Edo idatzi nezakeen, eta sakatu Sartu. 525 00:25:31,940 --> 00:25:33,440 Eta, berriro ere, ezer gutxi gertatzen. 526 00:25:33,440 --> 00:25:35,840 Baina hori da, oro har, gauza ona da. 527 00:25:35,840 --> 00:25:40,490 >> LS idazten dut denbora honetan bada, zer ikusi behar dut? 528 00:25:40,490 --> 00:25:44,930 Zorionez, besterik kaixo eta hello.c. 529 00:25:44,930 --> 00:25:47,286 Orain, bat alde batera utzita, egingo duzu nabarituko izar hau, Izartxo, 530 00:25:47,286 --> 00:25:48,660 nire programak amaieran da. 531 00:25:48,660 --> 00:25:50,201 Eta ari dira, halaber erakutsiz berdean. 532 00:25:50,201 --> 00:25:53,970 Hori besterik CS50 IDE en bide da duzu cluing Izan sartu 533 00:25:53,970 --> 00:25:55,280 hori ez da iturri-kodea. 534 00:25:55,280 --> 00:25:58,880 Hori exekutagarria da, runnable bat Programa hori benetan dezakezu exekutatu 535 00:25:58,880 --> 00:26:01,020 dot barra egiten, eta orduan izen da. 536 00:26:01,020 --> 00:26:05,860 >> Orain, utzi aurrera me eta kendu hau, rm kaixo, Sartu, kendu erregularra 537 00:26:05,860 --> 00:26:08,010 artxibatzen kaixo, bai. 538 00:26:08,010 --> 00:26:11,180 Eta orain LS idatzi dut, hello.c, hemen gara berriro. 539 00:26:11,180 --> 00:26:13,917 Saiatu ez ezabatu zure benetako iturburua. 540 00:26:13,917 --> 00:26:16,250 daude ezaugarri Nahiz CS50 IDE non txertatua 541 00:26:16,250 --> 00:26:19,870 Zure berrikusketa historian zehar joan ahal eta denboran atzeratzeko baduzu ustekabean 542 00:26:19,870 --> 00:26:23,660 Zerbait ezabatzeko, egin izan mindful bai edo ez Gonbit hauek per bezala, 543 00:26:23,660 --> 00:26:25,381 zer benetan egin nahi duzu. 544 00:26:25,381 --> 00:26:27,380 Eta joan nintzen goian bazara ezkerreko izkinan hemen, 545 00:26:27,380 --> 00:26:30,696 Geratzen guztiak hello.c da. 546 00:26:30,696 --> 00:26:32,570 Beraz, ez da sortak beste komando duzula 547 00:26:32,570 --> 00:26:37,550 daiteke Linux munduan exekutatu, horietako bat da, berriz ere, Egin. 548 00:26:37,550 --> 00:26:40,180 Eta ari gara Egin joan Nire programa orain honela. 549 00:26:40,180 --> 00:26:43,270 >> Horren ordez clang egiteko, ordez clang-o egiteko, 550 00:26:43,270 --> 00:26:45,860 Noa, besterik gabe, literalki idatzi, kaixo. 551 00:26:45,860 --> 00:26:49,630 Eta orain konturatzen, ni naiz Ez hello.c idazten. 552 00:26:49,630 --> 00:26:50,910 kaixo naiz idazten. 553 00:26:50,910 --> 00:26:54,840 >> Eta programa hau Make CS50 IDE, eta gehiago dator 554 00:26:54,840 --> 00:26:57,090 Oro har, Linux-ekin, programa bat da hori da 555 00:26:57,090 --> 00:26:59,120 Kaixo izeneko programa bat egin nahi du. 556 00:26:59,120 --> 00:27:03,680 Eta hori da, bere gain hartu behar konbentzio doa, Programa hau bada egin ahal izango da, 557 00:27:03,680 --> 00:27:09,030 Honez iturburu batetik egingo dira kodea fitxategia dot c honela bukatu, hello.c. 558 00:27:09,030 --> 00:27:12,210 >> Beraz, I hit bada Sartu orain, oharra komandoa erabiltzen denean exekutatu 559 00:27:12,210 --> 00:27:14,340 Benetan are luzeagoa lehen baino lehen. 560 00:27:14,340 --> 00:27:16,670 Eta hori izan dugulako aurrez CS50 IDE izan 561 00:27:16,670 --> 00:27:19,878 hori eraiki osagarriak ezaugarri batzuk ez dugu behar oraindik, baina laster izango. 562 00:27:19,878 --> 00:27:23,470 Baina funtsezko gauza da konturatzen da orain Kaixo programa bat daukat. 563 00:27:23,470 --> 00:27:27,080 >> Mota LS bada berriro, I kaixo programa bat. 564 00:27:27,080 --> 00:27:32,070 Eta I exekutatu ahal dituzten dot barra a.out, ez, 565 00:27:32,070 --> 00:27:35,590 honen puntu osoa ez duelako Ariketa dot barra kaixo zen. 566 00:27:35,590 --> 00:27:38,089 Eta orain nire kaixo mundu programa daukat. 567 00:27:38,089 --> 00:27:39,880 Beraz, aurrera, ia beti besterik ez gara, 568 00:27:39,880 --> 00:27:42,088 gure programak dira bildu behar Komando Make erabiliz. 569 00:27:42,088 --> 00:27:45,300 Eta gero horiek exekutatu by goaz dot barra, eta programaren izena. 570 00:27:45,300 --> 00:27:49,610 Baina konturatzen zer egin da egiten duzu, ez da berez ez da konpiladore bat. 571 00:27:49,610 --> 00:27:53,310 besterik erosotasuna programa bat da badakiela konpiladore bat nola aktibatu 572 00:27:53,310 --> 00:27:56,470 beraz exekutatu behar duzu zeure burua, erabili ahal izango duten. 573 00:27:56,470 --> 00:28:00,220 >> Zer beste komandoak existitzen Linux, eta, aldi berean, CS50 IDE batean? 574 00:28:00,220 --> 00:28:03,107 Laster ikusiko dugu ez dagoela da bat CD komandoa, aldaketa direktorioa. 575 00:28:03,107 --> 00:28:05,190 Horrek aukera ematen die barruan Zure komando-interfazeak 576 00:28:05,190 --> 00:28:07,610 aurrera egiteko, eta atzera, eta ireki karpeta desberdinetan 577 00:28:07,610 --> 00:28:08,860 zure sagua erabili gabe. 578 00:28:08,860 --> 00:28:12,470 >> LS ikusi genuen, eta bertan zerrenda nabarmentzen Uneko direktorioko fitxategiak. 579 00:28:12,470 --> 00:28:14,650 Egin Dir, ahal duzun Ziurrenik hasteko infer 580 00:28:14,650 --> 00:28:18,150 zer esan nahi horiek da gaur egun direktorioa dadin, karpeta bat sortu nahi baduzu. 581 00:28:18,150 --> 00:28:21,270 remove for RM, RM Dir for kendu, direktorioa eta horiek, 582 00:28:21,270 --> 00:28:24,160 berriro, dira komando lerroan zer baliokide 583 00:28:24,160 --> 00:28:26,945 ezin CS50 IDE egin zure saguaren. 584 00:28:26,945 --> 00:28:28,820 Baina laster aurkituko dituzu hori batzuetan besterik ez da 585 00:28:28,820 --> 00:28:30,610 azkarrago asko egin teklatua duten gauzak, 586 00:28:30,610 --> 00:28:33,690 eta, azken finean, asko ahaltsuagoa. 587 00:28:33,690 --> 00:28:36,440 >> Baina zaila da argudiatu ezer orain arte egiten ari dira 588 00:28:36,440 --> 00:28:39,990 da guztiak indartsu hori, betiere guztiak dugu, hau da esaten ditudan, kaixo mundua. 589 00:28:39,990 --> 00:28:43,740 Eta, hain zuzen ere, hardcoded dut hitz kaixo mundua nire programa sartu. 590 00:28:43,740 --> 00:28:45,530 Ez dago dinamismoa ez da oraindik. 591 00:28:45,530 --> 00:28:49,320 Scratch magnitude ordena bat izan zen gehiago interesgarri azken astean. 592 00:28:49,320 --> 00:28:51,220 >> Eta orain gaitezen han. 593 00:28:51,220 --> 00:28:55,310 Ikus dezagun pauso bat funtzio hauetako batzuk modu. 594 00:28:55,310 --> 00:28:59,470 Beraz, ez bakarrik ez printf etortzen C, eta beste funtzio sortak 595 00:28:59,470 --> 00:29:01,850 horietako batzuk ikusiko ditugu, denboran zehar, ez du 596 00:29:01,850 --> 00:29:05,760 egiteko erraza hori guztia da eskuinetik egindako erabiltzailearen sarrera lortzeko atea. 597 00:29:05,760 --> 00:29:08,140 >> Izan ere, ahultasun bat C bezalako hizkuntza, 598 00:29:08,140 --> 00:29:10,140 eta are Java eta oraindik beste batzuk, da ez dela 599 00:29:10,140 --> 00:29:15,860 erraza da, besterik gabe, gauza bezala egiteko erabiltzaileek, edo kateak, hitzetatik osokoak, 600 00:29:15,860 --> 00:29:19,970 eta esaldiak, utzi bezalako gauzak bakarrik puntu balio edo zenbaki errealak flotatzen 601 00:29:19,970 --> 00:29:23,240 hamarren, eta benetan dituzten zenbakiak luze, laster ikusi dugu. 602 00:29:23,240 --> 00:29:27,000 Beraz, funtzio zerrenda honetan hemen, horiek beste Scratch puzzle piezak bezala dira 603 00:29:27,000 --> 00:29:31,090 dugun CS50 aurrez instalatuta IDE dugu aste batzuk erabili ahal izango duten 604 00:29:31,090 --> 00:29:34,010 ordenatzen prestakuntza gurpilak, eta gisa azkenean hartu zituen txartelak, eta begiratu 605 00:29:34,010 --> 00:29:37,210 kanpaia, agian, at azpian gauza horiek nola burutzen dira. 606 00:29:37,210 --> 00:29:40,460 >> Baina hori egin ahal izateko, dezagun benetan programa bat idatzi. 607 00:29:40,460 --> 00:29:41,770 Dezagun aurrera me orain. 608 00:29:41,770 --> 00:29:44,750 Eta ez dut berria sortu nahi dut artxibatzen plus txiki honetan klik eginda, 609 00:29:44,750 --> 00:29:45,970 eta File New klik eginez. 610 00:29:45,970 --> 00:29:49,250 >> hurrengo hau gorde noa bat bezala, esan dezagun, string.c, 611 00:29:49,250 --> 00:29:50,750 kateak jolastu nahi dudalako. 612 00:29:50,750 --> 00:29:53,990 Eta C Kate besterik ez da karaktere-sekuentzia bat. 613 00:29:53,990 --> 00:29:56,090 Beraz, orain goazen aurrera eta honako hau. 614 00:29:56,090 --> 00:30:01,204 >> Besteak beste, estandarra IO.h-- eta bihurtzen da IO estandarra, 615 00:30:01,204 --> 00:30:03,360 IO besterik sarrera eta irteera esan nahi du. 616 00:30:03,360 --> 00:30:05,920 Beraz, izarrekin bihurtzen da Lerro hau hemen da zer 617 00:30:05,920 --> 00:30:08,140 hau da, aldameneko gurekin printf erabili. 618 00:30:08,140 --> 00:30:10,410 Printf, jakina, irteera. 619 00:30:10,410 --> 00:30:15,000 Beraz, ordena printf erabili ere, hura bihurtzen Kode-lerro hau eduki behar duzu 620 00:30:15,000 --> 00:30:16,040 Zure fitxategia goialdean. 621 00:30:16,040 --> 00:30:18,456 >> Eta itzuli dugu zer esan nahi du benetan luze baino lehen. 622 00:30:18,456 --> 00:30:20,400 Bihurtzen da ere Bat C programa idatzi nuen, 623 00:30:20,400 --> 00:30:23,640 Nik lortu dut hasteko dituzten kodea duten itxura. 624 00:30:23,640 --> 00:30:26,860 Eta nabarituko duzu CS50 IDE, eta beste garapen integratua 625 00:30:26,860 --> 00:30:30,050 Gustatu inguruneak, dira onenak bezala saiatzeko joan 626 00:30:30,050 --> 00:30:31,780 zure pentsamendu bukatzeko dute. 627 00:30:31,780 --> 00:30:35,930 Izan ere, une bat duela nintzen desegin bada zer egin dut, sakatu dut. 628 00:30:35,930 --> 00:30:39,160 >> ondoren, hit I kizkur irekia giltza, sakatu Sartu berriro. 629 00:30:39,160 --> 00:30:40,430 Eta nire pentsamendu amaitu da. 630 00:30:40,430 --> 00:30:45,140 Niri eman linea berri bat, koska ez gutxiago polita estilistiko arrazoiengatik ikusiko dugu. 631 00:30:45,140 --> 00:30:48,559 Eta gero, automatikoki eman zidan kizkur giltza, nire pentsamendu amaitzeko. 632 00:30:48,559 --> 00:30:50,600 Orain, ez da beti egiten du asmatzen zer egin nahi duzu. 633 00:30:50,600 --> 00:30:53,620 Baina, neurri handi batean, egiten du gorde duzun zanpatze batzuk. 634 00:30:53,620 --> 00:30:59,560 Beraz, une bat lehenago, programa honetan ran dugu kaixo, mundua, eta, ondoren, konpilatu da, 635 00:30:59,560 --> 00:31:00,460 eta gero ran. 636 00:31:00,460 --> 00:31:01,867 Baina ez dinamismoa ez da hemen. 637 00:31:01,867 --> 00:31:03,700 Zer nahi ote dugu zerbait desberdina egin? 638 00:31:03,700 --> 00:31:07,630 Beno, zer nahi izan dut behar bada Erabiltzaile kate bat lortzeko? 639 00:31:07,630 --> 00:31:11,250 puzzle pieza bat erabili noa izeneko zehazki -bere kate lortu. 640 00:31:11,250 --> 00:31:15,860 >> Turns C ere ez duzunean nahi duzun hori sarrera emateko puzzle pieza bat, 641 00:31:15,860 --> 00:31:19,360 edo gehiago funtzio bat bezala, duzu literalki besterik ez parentesi irekia, 642 00:31:19,360 --> 00:31:20,430 itxi parentesia. 643 00:31:20,430 --> 00:31:25,540 Beraz, nahiz eta gisa ez dago zuri kutxa ez den idazten. 644 00:31:25,540 --> 00:31:27,720 esan blokea aurretik Zuri-kaxa txiki bat izan. 645 00:31:27,720 --> 00:31:29,660 Ez dugu zuri kutxa hori orain. 646 00:31:29,660 --> 00:31:33,310 >> Baina lortu katea deitu nuen, I Nahi emaitza nonbait jarri. 647 00:31:33,310 --> 00:31:37,680 Beraz, C paradigma oso ohikoa da deitu funtzio bat, lortu katea hemen bezala, 648 00:31:37,680 --> 00:31:41,070 eta, ondoren, gorde bere itzulera balioa. 649 00:31:41,070 --> 00:31:44,450 emaitza da bere zerbait ere ahalegina. 650 00:31:44,450 --> 00:31:47,630 >> Eta zer da programazio eraikitzeko, 651 00:31:47,630 --> 00:31:53,450 Scratch edo orain C ala, dugun benetan gordetzeko zerbait erabili ahal? 652 00:31:53,450 --> 00:31:55,990 Deitzen aldagai bat da, ezta? 653 00:31:55,990 --> 00:32:00,320 Eta Scratch ere, ez dugu benetan zaintzeko zer zen aldagai joan. 654 00:32:00,320 --> 00:32:02,170 >> Baina kasu honetan, benetan egiten dugu. 655 00:32:02,170 --> 00:32:03,719 katea esan noa. 656 00:32:03,719 --> 00:32:05,510 Eta gero, ezin deitu dut ezer hau nahi dut. 657 00:32:05,510 --> 00:32:08,340 deitu noa izena, lortzen katea iritsi. 658 00:32:08,340 --> 00:32:10,250 >> Eta orain, nahiz Oraindik duzu honetan berria apur bat, 659 00:32:10,250 --> 00:32:11,984 konturatu naiz xehetasun batzuk falta naiz. 660 00:32:11,984 --> 00:32:13,150 puntu bat ahaztu dut. 661 00:32:13,150 --> 00:32:14,400 Pentsamendu hau amaitzeko behar dut. 662 00:32:14,400 --> 00:32:17,480 Beraz, ez dut nire kurtsorea mugitzeko, beraz, eta hit puntu eta han. 663 00:32:17,480 --> 00:32:19,130 Eta zer egin dut? 664 00:32:19,130 --> 00:32:21,440 kode-lerro honetan, 5. zenbakian, une horretan, 665 00:32:21,440 --> 00:32:23,799 Naiz lortu katea Sarrerek gabe deituz dut. 666 00:32:23,799 --> 00:32:26,090 Beraz, ez da ez zuria gutxi box Save blokea atsegin du. 667 00:32:26,090 --> 00:32:28,590 >> Besterik ez naiz, esanez hey, ordenagailua, get me kate bat. 668 00:32:28,590 --> 00:32:31,390 Berdin ikurra ez da benetan berdintasun-ikurra, per se. 669 00:32:31,390 --> 00:32:33,790 esleipena da operadorea, eta horrek esan nahi du, 670 00:32:33,790 --> 00:32:37,860 beno, ordenagailua, mugitzeko balio du ezkerrera eskuinera from. 671 00:32:37,860 --> 00:32:40,480 Eta Ezkerraldean ere, honako hauek izan nuen. 672 00:32:40,480 --> 00:32:43,580 >> Hey, ordenagailua, emaidazu kate bat karaktere-sekuentzia bat. 673 00:32:43,580 --> 00:32:45,637 Eta deitu katea izena duten. 674 00:32:45,637 --> 00:32:47,220 Eta ez dut nahiz eta izena deitu dute. 675 00:32:47,220 --> 00:32:49,970 >> nezakeen deitu, konbentzionalki, S antzeko zerbait, 676 00:32:49,970 --> 00:32:52,900 erabiliko dugu i askoz like to deitu aldagaia i. 677 00:32:52,900 --> 00:32:54,829 Baina orain zerbait egin nahi duen, behar dut. 678 00:32:54,829 --> 00:32:57,370 nahiko ergelak izango litzateke saiatu kode hau konpilatzean, exekutatzen 679 00:32:57,370 --> 00:32:59,410 Programa honetan, nahiz kate bat ari naiz, 680 00:32:59,410 --> 00:33:01,580 oraindik ez da, besterik gabe, delako kaixo mundua esan nahi dut. 681 00:33:01,580 --> 00:33:06,140 >> Baina zer I nahi ez bada hau aldatzeko. 682 00:33:06,140 --> 00:33:07,940 Zergatik ez nuen hori? 683 00:33:07,940 --> 00:33:11,632 Ehuneko s, koma s. 684 00:33:11,632 --> 00:33:13,090 Eta hau da, apur bat críptica oraindik. 685 00:33:13,090 --> 00:33:15,560 >> Hargatik nire aldagai gehiago garbi uzteko eskatu zidan. 686 00:33:15,560 --> 00:33:17,510 Let me izendatzeko izena aldagai hau. 687 00:33:17,510 --> 00:33:20,230 Eta ikus dezagun, ezin dugu bada tease aparte, zer gertatzen ari. 688 00:33:20,230 --> 00:33:22,770 >> Beraz line bost, naiz kate bat lortzeko. 689 00:33:22,770 --> 00:33:25,620 Eta naiz kate hori I gordetzeko edozein erabiltzaileak idatzitako 690 00:33:25,620 --> 00:33:28,430 bere teklatua at, Izena izeneko aldagai batean. 691 00:33:28,430 --> 00:33:30,590 Eta bihurtzen da printf ez ezik, 692 00:33:30,590 --> 00:33:34,220 bikoitzean hartu argumentu bat komatxo, komatxoen sarrera bat. 693 00:33:34,220 --> 00:33:39,100 >> bi, edo hiru, edo gehiago, hala nola, hartu ahal izango da bigarrena, edo hirugarren edo laugarren dagoela, 694 00:33:39,100 --> 00:33:42,320 aldagai izen guztiak dira, edo zehazki baloratzen, 695 00:33:42,320 --> 00:33:48,610 ra sartu konektatu nahi duzula, dinamikoki, komatxo katea. 696 00:33:48,610 --> 00:33:52,110 Beste era batera esanda, zer honekin okerra litzateke? 697 00:33:52,110 --> 00:33:57,920 Esan dudan bada kaixo izena, backslash n, gorde nire fitxategia, konpilatu nire kodea, 698 00:33:57,920 --> 00:34:01,660 eta lasterka joan zen, zer gertatuko litzateke? 699 00:34:01,660 --> 00:34:05,139 >> Besterik esango, kaixo izendatzeko, literalki N-A-M-E, 700 00:34:05,139 --> 00:34:07,900 hau da, mota ergelak delako mundu ezberdina da. 701 00:34:07,900 --> 00:34:10,400 Beraz, komatxo artean ezer ez da zer literalki lortzen inprimatuta. 702 00:34:10,400 --> 00:34:12,520 Beraz, izan nahi badut leku-marka, ez dago, 703 00:34:12,520 --> 00:34:14,422 benetan behar dut erabili sintaxia berezi batzuk. 704 00:34:14,422 --> 00:34:17,380 Eta bihurtzen da irakurri baduzu printf funtzioa dokumentazioa, 705 00:34:17,380 --> 00:34:21,320 esan beharko du hori ehuneko s erabiltzen baduzu, 706 00:34:21,320 --> 00:34:23,920 balio bat ordezka dezakezu honela. 707 00:34:23,920 --> 00:34:27,190 >> Horren ondotik, koma baten ondoren bikoitza aurrekontua, besterik gabe, 708 00:34:27,190 --> 00:34:29,179 idatzi baten izena aldagai nahi dituzun 709 00:34:29,179 --> 00:34:33,790 plug in formatu horretan sartu kodea, edo Formatu, 710 00:34:33,790 --> 00:34:35,469 ehuneko s kateak. 711 00:34:35,469 --> 00:34:39,190 Eta orain I gorde bada Nik nire fitxategia, Atzera egin dut nire terminalera. 712 00:34:39,190 --> 00:34:42,870 Eta Egin String idazten dudanean, izan ere, berriro, honen izena 713 00:34:42,870 --> 00:34:45,510 fitxategi horren aurretik aukeratu nuen string.c da. 714 00:34:45,510 --> 00:34:48,510 >> Beraz, ez dut Egin String, sartu, esan nahi da. 715 00:34:48,510 --> 00:34:51,550 Oh my bondad, guztiak begiratu akatsak egin dugu dagoeneko. 716 00:34:51,550 --> 00:34:55,540 Eta hau is-- hau zer da, benetan sei, zazpi lerro programa bat bezala? 717 00:34:55,540 --> 00:34:57,790 Beraz, hau da, non ezin da oso Azkar lortu jasanezinak. 718 00:34:57,790 --> 00:35:00,890 >> terminal-leiho hau dauka orain besterik regurgitated 719 00:35:00,890 --> 00:35:03,230 Errore mezuak kopuru handi bat. 720 00:35:03,230 --> 00:35:07,560 Ziur asko, ez dut error gehiago izan I baino mezuak kode lerro. 721 00:35:07,560 --> 00:35:08,680 Beraz, zer gertatzen da? 722 00:35:08,680 --> 00:35:10,920 >> Beno, estrategia onena edonoiz egin duzu 723 00:35:10,920 --> 00:35:13,710 ez topo jasanezinak Horrelako akatsak zerrenda, 724 00:35:13,710 --> 00:35:16,690 dago korrituko atzera, komandoa begiratu ran besterik ez duzu, nire kasuan bertan 725 00:35:16,690 --> 00:35:18,020 da katea. 726 00:35:18,020 --> 00:35:21,630 Begira zer egin zuen etxean, eta kitto luze Clang komando, akordio handi no han. 727 00:35:21,630 --> 00:35:22,950 >> Baina gorria txarra da. 728 00:35:22,950 --> 00:35:24,750 Green izan da dudarik gabe leuna eta lagungarria. 729 00:35:24,750 --> 00:35:26,140 Baina oraindik ere txarra da, kasu honetan. 730 00:35:26,140 --> 00:35:27,510 Baina non da txarra? 731 00:35:27,510 --> 00:35:31,450 >> String.c, lerro bost, pertsonaia bost. 732 00:35:31,450 --> 00:35:32,930 Beraz, hau da, besterik gabe konbentzio ohikoa da. 733 00:35:32,930 --> 00:35:36,060 Zerbait colon zerbait esan nahi du lerro kopurua eta pertsonaia kopurua. 734 00:35:36,060 --> 00:35:41,080 Akatsa, undeclared identifikatzailea katea. 735 00:35:41,080 --> 00:35:42,900 Ba estandar esan nahi duzu? 736 00:35:42,900 --> 00:35:45,530 >> Beraz, zoritxarrez, Clang da lagundu nahian. 737 00:35:45,530 --> 00:35:46,850 Baina okerra da, kasu honetan. 738 00:35:46,850 --> 00:35:49,350 Ez, Clang, ez nuen esan IO estandarra. 739 00:35:49,350 --> 00:35:51,070 Hori esan nahi nuen on line bat, bai. 740 00:35:51,070 --> 00:35:53,420 >> Baina lerro bost bat hemen. 741 00:35:53,420 --> 00:35:57,040 Eta Clang ez du Ulertzen S-T-R-I-N-G. 742 00:35:57,040 --> 00:36:01,490 bat undeclared identifikatzailea bat da hitza da, besterik gabe, ez du inoiz ikusi aurretik. 743 00:36:01,490 --> 00:36:05,730 Eta hori C delako, hizkuntza da kodea idazten ari gara oraintxe, 744 00:36:05,730 --> 00:36:08,070 ez du izan kateak izeneko aldagai. 745 00:36:08,070 --> 00:36:11,380 >> Ez du, default, laguntza arabera Zerbait kate bat deitu. 746 00:36:11,380 --> 00:36:16,750 Hori CS50 zati bat da jargon, baina oso konbentzionalak. 747 00:36:16,750 --> 00:36:18,600 Baina hau konpondu dut honela. 748 00:36:18,600 --> 00:36:22,090 >> kode lerro bat gehituz gero Programa honen goiko aldean, 749 00:36:22,090 --> 00:36:27,890 besteak CS50.h, zein beste fitxategi bat da nonbait CS50 IDE barruan, nonbait 750 00:36:27,890 --> 00:36:30,820 disko gogorrean, nolabait esateko, Ubuntu sistema eragilearen 751 00:36:30,820 --> 00:36:33,590 hori dut dut lasterketak, hori Fitxategiaren hori da 752 00:36:33,590 --> 00:36:38,740 eragilearen irakastera joan sistema zer kate bat da, besterik gabe, 753 00:36:38,740 --> 00:36:41,930 io.h estandarra bezalako fitxategia da sistema eragilearen hori ere 754 00:36:41,930 --> 00:36:44,430 irakasteko zer printf da joan. 755 00:36:44,430 --> 00:36:46,810 >> Areago oraindik, ahaztuak zukeen Oso antzeko mezu bat 756 00:36:46,810 --> 00:36:50,600 IO onartu zuen bada estandarra Io.h eta saiatu printf erabili. 757 00:36:50,600 --> 00:36:53,632 Beraz, ez dut aurretik eta joan joan hartu Kontrol L nire pantaila garbitzeko. 758 00:36:53,632 --> 00:36:56,340 Edo argi idatzi ahal izango duzu, eta hori izango besterik garbitu terminal leihoa. 759 00:36:56,340 --> 00:36:58,020 Baina oraindik ezin korrituko denboran atzera. 760 00:36:58,020 --> 00:37:01,100 >> Eta ez dut Egin String berrabiarazi egingo da. 761 00:37:01,100 --> 00:37:03,660 Gurutzea nire behatzak denbora honetan, Sartu. 762 00:37:03,660 --> 00:37:05,380 Oh my God, lan egin. 763 00:37:05,380 --> 00:37:09,280 me erakusten du críptica komando luzea Hori da, zer egin Clang bidez sortzen, 764 00:37:09,280 --> 00:37:10,460 baina ez akats mezuak. 765 00:37:10,460 --> 00:37:12,460 Beraz, konturatzen, nahiz agian erabat lortuko duzu 766 00:37:12,460 --> 00:37:14,480 itotzea error messages kopurua, 767 00:37:14,480 --> 00:37:17,540 besterik ez da gogaikarriak Kaskadako hau izan liteke efektua, non Clang ez du ulertzen 768 00:37:17,540 --> 00:37:19,620 Gauza bat da, eta horrek esan nahi du gero ez du hurrengo hitza ulertzeko, 769 00:37:19,620 --> 00:37:20,560 edo hurrengo lerroan. 770 00:37:20,560 --> 00:37:22,850 Eta beraz, zure kodea irabazi ezinik besterik. 771 00:37:22,850 --> 00:37:24,440 Baina konponketa sinplea izan liteke. 772 00:37:24,440 --> 00:37:27,822 Eta, beraz, beti izango ditu ardatz irteera oso lehen lerroan. 773 00:37:27,822 --> 00:37:29,530 Eta ez baduzu ulertzen da, besterik gabe, begiratu 774 00:37:29,530 --> 00:37:32,480 keywords hori izan liteke Arrastoak, eta lerro kopurua, 775 00:37:32,480 --> 00:37:34,650 eta pertsonaia, non Akats hori izan liteke. 776 00:37:34,650 --> 00:37:40,328 >> Orain aurrera me eta idatzi dot barra, katea, sartu. 777 00:37:40,328 --> 00:37:44,340 Hm, nik ez kaixo ezer esaten. 778 00:37:44,340 --> 00:37:46,210 Zergatik? 779 00:37:46,210 --> 00:37:48,170 Beno, gogoratzen, non dago martxan? 780 00:37:48,170 --> 00:37:53,730 >> Da seguruenik une trabatuta begizta batean, bada, on line sei, 781 00:37:53,730 --> 00:37:56,950 Talde delako String diseinuaren arabera, CS50 langileek idatzia, 782 00:37:56,950 --> 00:38:00,350 literalki esan nahi da, eseri Han, zain eta zain, 783 00:38:00,350 --> 00:38:01,850 eta kate baten zain. 784 00:38:01,850 --> 00:38:03,792 Guztiak esan nahi dugu katea arabera giza sarrera da. 785 00:38:03,792 --> 00:38:04,500 Beraz, badakizu zer? 786 00:38:04,500 --> 00:38:05,166 Dezagun aurrera. 787 00:38:05,166 --> 00:38:08,704 Eta besterik kapritxoa bat, utzi niri idatz nire izena, David, sartu. 788 00:38:08,704 --> 00:38:10,120 Orain programa dinamikoagoa izan dut. 789 00:38:10,120 --> 00:38:11,240 Esaten zuen kaixo David. 790 00:38:11,240 --> 00:38:16,280 >> Aurrera joan nintzen eta exekutatu berriro bada, demagun Zamila name saiatu me, sartu. 791 00:38:16,280 --> 00:38:17,940 Eta orain programa dinamiko bat dugu. 792 00:38:17,940 --> 00:38:19,380 ez dute gogor kodetuta dut mundua. 793 00:38:19,380 --> 00:38:21,760 I ez dute gogor kodetuta izendatzeko, edo David, edo Zamila. 794 00:38:21,760 --> 00:38:25,350 >> Orain askoz programak bezalako gehiago da ezagutzen dugu, non sarrera hartu badu, 795 00:38:25,350 --> 00:38:27,870 irteera zertxobait desberdinak ekoizten da. 796 00:38:27,870 --> 00:38:31,020 Orain, hau ez da onena erabiltzaile esperientzia, edo UX. 797 00:38:31,020 --> 00:38:33,000 programa abiatzean dut. 798 00:38:33,000 --> 00:38:35,830 >> Ez dakit zer ez omen naiz Egin, benetan I begiratu ezean 799 00:38:35,830 --> 00:38:37,290 edo gogoratzen iturri kodea. 800 00:38:37,290 --> 00:38:39,640 Hargatik erabiltzaileak esperientzia apur bat hobeto 801 00:38:39,640 --> 00:38:41,240 gauza errazena. 802 00:38:41,240 --> 00:38:44,782 Dezagun atzera honetan sartu me programa, eta, besterik gabe, esan printf. 803 00:38:44,782 --> 00:38:48,870 >> Eta utzi aurrera me eta izena, bi puntu esateko, eta espazio bat, eta, ondoren, puntu eta. 804 00:38:48,870 --> 00:38:51,170 Eta besterik ez Jaurtiketa, ez erreakzio n. 805 00:38:51,170 --> 00:38:52,980 Eta hori nahita, delako ez dut nahi 806 00:38:52,980 --> 00:38:54,590 gonbita hurrengo lerrora mugitu. 807 00:38:54,590 --> 00:38:58,800 >> ordez, hau egin nahi dut, katea egin Nire kode makina berriak sartu berkonpilatu 808 00:38:58,800 --> 00:39:00,980 kodea dot barra katea. 809 00:39:00,980 --> 00:39:02,460 Ah, hau da, askoz prettier. 810 00:39:02,460 --> 00:39:05,780 Orain benetan ezagutzen dut zer ordenagailua nahi du, ez dit eman izena. 811 00:39:05,780 --> 00:39:10,020 >> Beraz, aurrera noa eta idazten joan Rob ere, sartu, eta kaixo, Rob. 812 00:39:10,020 --> 00:39:13,640 Beraz, konturatzen, hau da, oraindik ere, amaieran egunean, soilik bederatzi line programa bat. 813 00:39:13,640 --> 00:39:15,090 Baina hartu dugu haurra urrats horiek. 814 00:39:15,090 --> 00:39:18,380 >> lerro bat idatzi dugu bertan ditugun familiar, printf, kaixo mundua ziren. 815 00:39:18,380 --> 00:39:19,980 Gero hori apur bat askatzen dugu. 816 00:39:19,980 --> 00:39:21,560 Eta benetan erabiltzen dugu lortu katea. 817 00:39:21,560 --> 00:39:23,362 Eta aldagai batean balio duten dituena dugu. 818 00:39:23,362 --> 00:39:26,070 Eta gero, aurrera joan ginen eta hobetu da hirugarren lerro batekin gehiago. 819 00:39:26,070 --> 00:39:29,220 Eta joan-etorriko prozesu honetan software idatziz benetan gakoa. 820 00:39:29,220 --> 00:39:33,420 CS50 ere, eta, oro har, bizitzan, oro har, behar duzu, ez eseri, 821 00:39:33,420 --> 00:39:36,800 programa bat egin nahi, eta saiatuko idatziz madarikatua gauza osoa aldi berean. 822 00:39:36,800 --> 00:39:40,810 >> Izango da, ezinbestean, ondorioz bidea akats gehiago genuena baino hemen ikusi geure burua. 823 00:39:40,810 --> 00:39:44,070 Nahiz eta I, egun honetan, etengabe beste ergelak akats, 824 00:39:44,070 --> 00:39:47,480 egia esan gogorragoa akatsak gogorragoa irudikatu dira. 825 00:39:47,480 --> 00:39:52,095 Baina akats gehiago gehiago egingo dituzu Kode lerro guztiak idatzi dituzu aldi berean. 826 00:39:52,095 --> 00:39:54,220 Eta beraz, praktika hau, kodea pixka bat idatzi 827 00:39:54,220 --> 00:39:57,930 Oraindik eroso duzula, konpilatu da, exekutatu, probatu orokorrago, 828 00:39:57,930 --> 00:40:01,370 ondoren, mugitu on-- mantenduko dugu, beraz, besterik ez bezalakoa layering, eta azken astean layering, 829 00:40:01,370 --> 00:40:04,190 Zerbait eraikina oso zerbait konplexuagoa simple, 830 00:40:04,190 --> 00:40:05,200 Gauza bera egin hemen. 831 00:40:05,200 --> 00:40:08,500 Ez eseri, eta saiatu Arazoa oso bat idatzi. 832 00:40:08,500 --> 00:40:10,780 Egia esan, hartu haurra urrats horiek. 833 00:40:10,780 --> 00:40:15,100 >> Orain, kateak ez dira guztiak baliagarriak zaizkie. 834 00:40:15,100 --> 00:40:18,210 benetan nahiko genuke, haien, behar bezala beste zerbait gure toolkit dute. 835 00:40:18,210 --> 00:40:20,990 Hargatik, benetan ez da zehazki hori. 836 00:40:20,990 --> 00:40:24,900 >> Dezagun aurrera me now eta Látigo sortu apur bat beste programa bat. 837 00:40:24,900 --> 00:40:28,320 Eta int.c hau deitu dugu, osokoa da. 838 00:40:28,320 --> 00:40:30,870 Noa, era berean, besteak CS550.h. 839 00:40:30,870 --> 00:40:33,060 IO estandarra besteak beste noa. 840 00:40:33,060 --> 00:40:36,630 Eta hori nahiko arrunta izango da klasea lehen egun hauetan ere. 841 00:40:36,630 --> 00:40:39,050 >> Eta naiz prest joan funtzio nagusi bat neure burua. 842 00:40:39,050 --> 00:40:43,370 Eta orain ordez kate bat lortzeko, dezagun aurrera eta int bat lortzeko. 843 00:40:43,370 --> 00:40:49,285 Dezagun deitu i, eta deitu zaitez int, itxi Parentesi, puntu. 844 00:40:49,285 --> 00:40:51,410 Eta orain egin dezagun harekin zerbait, printf. 845 00:40:51,410 --> 00:40:56,190 >> Dezagun antzeko zerbait esan kaixo, backslash n, koma i. 846 00:40:56,190 --> 00:41:00,010 Beraz, ez dut nahiko askoz mimika zer ago une bat besterik ez nuen egin. 847 00:41:00,010 --> 00:41:01,660 leku-marka bat daukat hemen. 848 00:41:01,660 --> 00:41:05,150 koma dut i hemen, nahi dudalako plug i biltegian hori sartu. 849 00:41:05,150 --> 00:41:07,250 >> Beraz, goazen aurrera eta saiatu Programa honetan biltzea. 850 00:41:07,250 --> 00:41:10,060 fitxategi izeneko int.c. 851 00:41:10,060 --> 00:41:12,920 Beraz, ez dut, esateko int egiteko, sartu joan. 852 00:41:12,920 --> 00:41:16,420 Oh my God, baina big aurre ez, ezta? 853 00:41:16,420 --> 00:41:17,230 Ez dago akats bat da. 854 00:41:17,230 --> 00:41:19,810 >> Ez dago sintaktikoa akats bat da Hemen, besteak beste, programa ezin 855 00:41:19,810 --> 00:41:25,460 egon int.c, lerro barruan konpilatu zazpi, pertsonaia 27 error formatuan 856 00:41:25,460 --> 00:41:28,400 mota char zehazten izarra, edozein dela. 857 00:41:28,400 --> 00:41:30,020 Baina argudio mota int da. 858 00:41:30,020 --> 00:41:33,110 >> Beraz, hemen ere, ez gara zaie joan gaur, nahiz eta material asko dago, 859 00:41:33,110 --> 00:41:35,710 gaindituak izaten dituzten goaz Erabat C ezaugarri guztietan, 860 00:41:35,710 --> 00:41:38,070 eta programazio gehiago, oro har, Lehenengo asteetan hauek besterik ere. 861 00:41:38,070 --> 00:41:40,400 Beraz, ez da askotan izango da jargon horrekin ez zara ezagutzen. 862 00:41:40,400 --> 00:41:43,350 Eta, hain zuzen ere, char izar zerbait da itzultzea goaz 863 00:41:43,350 --> 00:41:44,830 aste bat edo bi barru. 864 00:41:44,830 --> 00:41:47,530 >> Baina orain, ikus dezagun, ahal bada eta gai arruntei hitzak analizatu. 865 00:41:47,530 --> 00:41:50,750 Formats-- beraz formatuan entzun dugu espezifikatzailea, formatu kodea aurretik. 866 00:41:50,750 --> 00:41:51,840 Hori da ezagutzen. 867 00:41:51,840 --> 00:41:53,840 Type-- baina argudioa mota int. 868 00:41:53,840 --> 00:41:55,980 Itxaron minutu bat, i int bat da. 869 00:41:55,980 --> 00:41:59,230 >> Agian ehuneko s benetan definitu esanahi batzuk ditu. 870 00:41:59,230 --> 00:42:00,230 Eta, hain zuzen ere, egiten du. 871 00:42:00,230 --> 00:42:03,101 zenbaki oso bat, nahi baduzu printf da aldaketa eta, 872 00:42:03,101 --> 00:42:05,350 benetan bat erabili Beste formatu espezifikatzaile. 873 00:42:05,350 --> 00:42:06,890 Eta ez al dakizu honetan Norbaitek esan ezean, 874 00:42:06,890 --> 00:42:07,973 edo egina zuen aurretik. 875 00:42:07,973 --> 00:42:10,490 Baina ehuneko i da zer normalean erabili ahal izango dira 876 00:42:10,490 --> 00:42:12,240 zenbaki oso bat plugging for printf ere. 877 00:42:12,240 --> 00:42:14,920 halaber, ehuneko erabil dezakezu osokoa hamartarrekin bat d. 878 00:42:14,920 --> 00:42:16,490 Baina polita eta erraza i da aurkitu. 879 00:42:16,490 --> 00:42:17,590 Beraz, hori egingo dugu. 880 00:42:17,590 --> 00:42:21,160 >> Orain utzi aurrera me eta berrabiarazi egin int, Sartu. 881 00:42:21,160 --> 00:42:23,328 Hori ona da, akatsik. 882 00:42:23,328 --> 00:42:27,260 Dot barra int OK, txarra erabiltzaile esperientzia, ez dudalako kontatu neure buruari 883 00:42:27,260 --> 00:42:27,760 zer egin. 884 00:42:27,760 --> 00:42:28,426 Baina hori fina. 885 00:42:28,426 --> 00:42:29,480 naiz azkar harrapatzeko dut. 886 00:42:29,480 --> 00:42:36,260 >> Eta orain utzi aurrera me eta idatzi David, OK, Zamila, Rob. 887 00:42:36,260 --> 00:42:37,820 Ados, beraz, hau gauza ona da. 888 00:42:37,820 --> 00:42:41,710 Oraingo honetan, funtzio bat erabiltzen ari naiz, puzzle pieza bat, get int izeneko. 889 00:42:41,710 --> 00:42:44,230 Eta bihurtzen da eta ikusiko dugu ikusi term-- geroago honetan 890 00:42:44,230 --> 00:42:47,730 CS50 du martxan kate zaitez modu bat, 891 00:42:47,730 --> 00:42:50,350 bakarrik fisikoki izango dela zuretzat kate bat. 892 00:42:50,350 --> 00:42:54,340 >> ezarri ditu It get int bakarrik izango da modu bat, hala nola, 893 00:42:54,340 --> 00:42:55,590 zenbaki oso bat lortuko duzu. 894 00:42:55,590 --> 00:42:57,830 Eta zuk, bada, giza, ez kooperatu, da 895 00:42:57,830 --> 00:43:00,590 literalki joan esan saiatu da berriro, saiatu da berriro, 896 00:43:00,590 --> 00:43:05,200 literalki han eserita begizta, arte Zenbaki magiko batzuk behartzen duzu, 897 00:43:05,200 --> 00:43:07,670 50, eta kaixo 50 bezala. 898 00:43:07,670 --> 00:43:11,440 >> Edo hau exekutatu dugu berriro eta mota 42, kaixo 42. 899 00:43:11,440 --> 00:43:15,750 Eta beraz get int funtzioa puzzle pieza horren barruan 900 00:43:15,750 --> 00:43:19,050 nahikoa logika da, nahikoa pentsamendu, irudikatu, zer hitz bat da? 901 00:43:19,050 --> 00:43:20,330 Eta zer zenbaki bat da? 902 00:43:20,330 --> 00:43:23,165 Soilik onartuz, azken finean, zenbakiak. 903 00:43:23,165 --> 00:43:25,690 904 00:43:25,690 --> 00:43:30,230 >> Beraz bihurtzen da hori ez da hori guztia adierazkorra. 905 00:43:30,230 --> 00:43:30,910 orain arte. 906 00:43:30,910 --> 00:43:33,690 Beraz, yay, azken aldia dugu joan nahiko azkar 907 00:43:33,690 --> 00:43:38,320 jokoak gauzatzeko, eta animazio sartu, eta artistikoak Scratch. 908 00:43:38,320 --> 00:43:42,260 Eta hemen, edukia izateaz ari gara kaixo mundua, eta kaixo 50 garbi batez. 909 00:43:42,260 --> 00:43:43,696 >> Ez da iradokitzaile hori guztia. 910 00:43:43,696 --> 00:43:46,070 Eta, hain zuzen ere, lehen horiek gutxi Adibide denbora pixka bat hartuko du 911 00:43:46,070 --> 00:43:47,510 arrapala ilusioz. 912 00:43:47,510 --> 00:43:49,854 Baina askoz gehiago daukagu kontrolatzeko orain, hain zuzen ere. 913 00:43:49,854 --> 00:43:51,770 Eta goaz oso Azkar hasteko layering 914 00:43:51,770 --> 00:43:53,870 oinarrizko primitibo hauen gainean. 915 00:43:53,870 --> 00:43:56,370 >> Baina lehen, dezagun ulertzeko zer mugak dira. 916 00:43:56,370 --> 00:43:58,620 Izan ere, gauza bat Scratch ez du erraz 917 00:43:58,620 --> 00:44:00,990 utzi digu ez da benetan begiratu kanpaia azpian, 918 00:44:00,990 --> 00:44:03,740 eta ulertzen zer bat ordenagailua da, zer egin daiteke, 919 00:44:03,740 --> 00:44:05,250 eta zer bere mugak dira. 920 00:44:05,250 --> 00:44:08,580 Eta, hain zuzen ere, eza ulermena, potentzialki, epe luzerako 921 00:44:08,580 --> 00:44:12,520 Gure mistakes-- egin idatziz ekar dezake bugs, insecure software idazteko 922 00:44:12,520 --> 00:44:13,880 lortzen nolabait hacked. 923 00:44:13,880 --> 00:44:17,130 >> Beraz, dezagun norabidean urrats batzuk hau apur bat hobeto ulertzeko 924 00:44:17,130 --> 00:44:19,710 , Modu esan, honako adibidea. 925 00:44:19,710 --> 00:44:23,550 Aurrera joan eta ezartzeko noa benetako azkar Adder izeneko programa bat. 926 00:44:23,550 --> 00:44:25,134 Bezala, dezagun zenbaki batzuk elkarrekin gehitzeko. 927 00:44:25,134 --> 00:44:27,800 Eta ez dut bazter batzuk kode- joan hemen, eta, kopiatu eta itsatsi 928 00:44:27,800 --> 00:44:30,270 non aurretik izan dut, besterik ez beraz, lehenago joan ahal izango dugu. 929 00:44:30,270 --> 00:44:33,090 Beraz, orain lortu dut oinarrizko hasierak Adder izeneko programa baten. 930 00:44:33,090 --> 00:44:34,670 >> Eta dezagun aurrera, eta hori egin. 931 00:44:34,670 --> 00:44:38,680 Aurrera joan noa eta esan, intx lortzen lortu int. 932 00:44:38,680 --> 00:44:39,430 Eta badakizu zer? 933 00:44:39,430 --> 00:44:40,990 Egin dezagun erabiltzaile-esperientzia hobea. 934 00:44:40,990 --> 00:44:45,740 >> Beraz, esan dezagun besterik x da, eta modu eraginkorrean eskatu erabiltzaileari digu x emateko. 935 00:44:45,740 --> 00:44:50,600 Eta gero utzi aurrera me eta esan, printf nola buruz y da, une honetan zain 936 00:44:50,600 --> 00:44:53,140 Bi balio erabiltzaileari. 937 00:44:53,140 --> 00:44:59,759 Eta gero utzi besterik ez aurrera eta esan, printf, x eta y batura da. 938 00:44:59,759 --> 00:45:01,300 Eta orain ez dut nahi baitu s egin. 939 00:45:01,300 --> 00:45:09,080 Berea izan dut egin nahi dut, backslash n, eta ondoren batura balio plug. 940 00:45:09,080 --> 00:45:10,620 >> Beraz, nola hau egiten dut? 941 00:45:10,620 --> 00:45:11,270 Ba al dakizu zer? 942 00:45:11,270 --> 00:45:12,840 aldagaiak nola erabili jakin dut. 943 00:45:12,840 --> 00:45:15,140 Utzi deklaratzeko besterik ez dit beste bat, int z. 944 00:45:15,140 --> 00:45:16,770 >> Eta ez dut etxebizitza bat hemen hartu behar da. 945 00:45:16,770 --> 00:45:21,470 Badaude honetan berdin-zeinuak hizkuntza, agian dut besterik egin daiteke x gehi y, 946 00:45:21,470 --> 00:45:23,660 hain luze amaituko dut nire gisa puntu eta pentsatu? 947 00:45:23,660 --> 00:45:28,170 Orain itzuli ahal dut hemen, z konektatu Pentsamendu hau amaitzeko puntu batekin. 948 00:45:28,170 --> 00:45:33,160 Eta ikus dezagun orain, horiek gero lerroak x segiden da lortu int. 949 00:45:33,160 --> 00:45:34,770 Y da lortu int. 950 00:45:34,770 --> 00:45:37,980 >> Gehitu x eta y, en balioa gordetzeko z-- beraz, berriro ere, gogoratu berdin ikurra 951 00:45:37,980 --> 00:45:38,560 ez da berdina. 952 00:45:38,560 --> 00:45:41,100 ezkerretik eskuinera esleipena da. 953 00:45:41,100 --> 00:45:45,180 Eta dezagun inprimatu batura x eta y ez da literalki z, 954 00:45:45,180 --> 00:45:46,830 baina zer da z-ren barruan. 955 00:45:46,830 --> 00:45:50,090 Hargatik egin Adder - polita, akatsak oraingoan. 956 00:45:50,090 --> 00:45:53,030 Dot barra Adder, sartu, x 1 gertatu egingo da. 957 00:45:53,030 --> 00:45:55,380 >> Y 2 izango da. 958 00:45:55,380 --> 00:45:58,964 Eta x eta y batura 3 da. 959 00:45:58,964 --> 00:46:00,130 Beraz, hori guztia fina eta ona da. 960 00:46:00,130 --> 00:46:03,260 >> Beraz, matematika dagoela imajinatu nahi duzu behar Horrelako programa batean lan egiteko. 961 00:46:03,260 --> 00:46:04,040 Baina badakizu zer? 962 00:46:04,040 --> 00:46:06,904 aldagai hau, lerro da 12, nahiz eta beharrezkoa? 963 00:46:06,904 --> 00:46:09,820 Zuk ez duzu nahi ohitura lortu besterik gauzak gordetzeko aldagai batean 964 00:46:09,820 --> 00:46:10,980 besterik ezin duzulako. 965 00:46:10,980 --> 00:46:13,550 Eta, hain zuzen ere, oro har, jotzen diseinua txarra 966 00:46:13,550 --> 00:46:18,100 aldagai bat sortzen ari bazara, deitu kasu honetan z, bertan zerbait gordetzeko, 967 00:46:18,100 --> 00:46:21,390 eta ondoren, berehala jaistea, baina inoiz ez berriro. 968 00:46:21,390 --> 00:46:24,700 Zergatik eman zerbait izen bat z bezala literalki bazaude 969 00:46:24,700 --> 00:46:26,770 hori erabiltzeko joan Gauza behin bakarrik, eta, beraz, 970 00:46:26,770 --> 00:46:29,380 non sortu nahi proximal lehen postuan dago, 971 00:46:29,380 --> 00:46:31,052 beraz, kode lerro dagokionez hurbil? 972 00:46:31,052 --> 00:46:31,760 Beraz, badakizu zer? 973 00:46:31,760 --> 00:46:34,480 Bihurtzen da C dela nahiko malgua. 974 00:46:34,480 --> 00:46:36,586 I benetan nahi baduzu plug-in balioak hemen, 975 00:46:36,586 --> 00:46:38,210 Ez dut behar aldagai berri bat aldarrikatu. 976 00:46:38,210 --> 00:46:41,680 Besterik ezin dut plug-in x plus y, C ulertzen duelako 977 00:46:41,680 --> 00:46:43,390 aritmetika, eta matematiko operadore. 978 00:46:43,390 --> 00:46:47,140 >> Beraz, besterik ez dut esan dezaket, egin math honetan, x gehi y, edozein dela ere, balore horiek dira, 979 00:46:47,140 --> 00:46:50,780 plug ondoriozko osokoa kate horretan sartu. 980 00:46:50,780 --> 00:46:53,730 Beraz, hau izan liteke, nahiz bakarrik lerro bat laburragoa 981 00:46:53,730 --> 00:46:58,480 diseinu hobea, hobeto programa bat, Han kodea gutxiago delako, beraz, 982 00:46:58,480 --> 00:46:59,921 gutxiago ulertu zidan. 983 00:46:59,921 --> 00:47:01,920 Eta, gainera, garbiagoa da, Oraindik dugu heinean ez 984 00:47:01,920 --> 00:47:04,620 hitz berriak sartuz, ikurrak berria, z bezala, 985 00:47:04,620 --> 00:47:07,510 ez dute, nahiz eta benetan zerbitzatzeko helburua askoz. 986 00:47:07,510 --> 00:47:12,890 >> Zoritxarrez, matematika, ez da batzuetan fidagarria duten guztiak. 987 00:47:12,890 --> 00:47:15,270 Dezagun aurrera eta hau egin. 988 00:47:15,270 --> 00:47:18,200 Aurrera joan noa orain eta egin honako hau. 989 00:47:18,200 --> 00:47:27,650 >> Egin printf, ehuneko i, gehi ehuneko Utzi i, ehuneko i, backslash n izanen. 990 00:47:27,650 --> 00:47:32,240 Eta ez dut xyx Halako plus y joango. 991 00:47:32,240 --> 00:47:34,821 Beraz, besterik ez naiz berridatzi joan hau desberdinean hemen. 992 00:47:34,821 --> 00:47:36,320 Do me azkar behatu txeke bat. 993 00:47:36,320 --> 00:47:37,986 Berriz ere, dezagun ez aurretik geure buruari. 994 00:47:37,986 --> 00:47:41,420 Egin adder, dot barra adder. 995 00:47:41,420 --> 00:47:44,950 x 1, y, 2, 1 gehi 2 3 da. 996 00:47:44,950 --> 00:47:45,870 Beraz, hori da ona. 997 00:47:45,870 --> 00:47:49,060 Baina dezagun zaildu honek orain pixka bat, eta fitxategi berri bat sortzeko. 998 00:47:49,060 --> 00:47:53,350 >> bat deitu noa, esan, ints, zenbaki osoen plurala. 999 00:47:53,350 --> 00:47:55,980 Let non duela une bat izan dut hasteko me. 1000 00:47:55,980 --> 00:47:57,770 Baina orain egin batzuk beste ildo utzi. 1001 00:47:57,770 --> 00:48:03,430 Dezagun aurrera eta honako hauek egiteko, printf, ehuneko i, minus ehuneko i, 1002 00:48:03,430 --> 00:48:08,959 ehuneko i, koma x, koma yx minus y da. 1003 00:48:08,959 --> 00:48:10,750 Beraz, apur bat egiten ari naiz desberdinak matematika ez. 1004 00:48:10,750 --> 00:48:11,624 Egin dezagun beste bat utzi. 1005 00:48:11,624 --> 00:48:16,610 Beraz, ehuneko i aldiz ehuneko i ehuneko i, backslash n da. 1006 00:48:16,610 --> 00:48:21,430 Dezagun plug-in x eta y, y x aldiz y. 1007 00:48:21,430 --> 00:48:24,530 Asteriskoa erabiliko dugu, on Zure ordenagailua aldiz. 1008 00:48:24,530 --> 00:48:26,390 >> Ez daukazu x erabili. x da aldagai izen bat hemen. 1009 00:48:26,390 --> 00:48:28,270 biderketa izar erabili behar. 1010 00:48:28,270 --> 00:48:29,020 ren bat gehiago egin dezagun. 1011 00:48:29,020 --> 00:48:34,580 Printf ehuneko dut, banatzen Berea izan dut arabera, ehuneko i da, 1012 00:48:34,580 --> 00:48:40,460 backslash n. xy y-- arabera banatzen da beraz, C barra erabili duzu 1013 00:48:40,460 --> 00:48:41,502 zatiketa egin. 1014 00:48:41,502 --> 00:48:42,460 Eta egin dezagun beste bat utzi. 1015 00:48:42,460 --> 00:48:47,920 1016 00:48:47,920 --> 00:48:55,240 ehuneko i gainerako, banatzen Berea izan dut arabera, ehuneko i da. 1017 00:48:55,240 --> 00:48:59,550 xy-- eta orain gainerako da zer utzi baino. 1018 00:48:59,550 --> 00:49:02,980 Noiz bat zatituz saiatu duzu zenbakitzailea bat sartu izendatzaile, 1019 00:49:02,980 --> 00:49:05,570 zenbat soberan dagoela ezin duzu zatitzea out? 1020 00:49:05,570 --> 00:49:07,910 >> Beraz, ez da benetan, nahitaez, ikur bat 1021 00:49:07,910 --> 00:49:09,470 kalifikazioa ikastetxean erabiltzen dugu horretarako. 1022 00:49:09,470 --> 00:49:13,830 Baina han C. ahal duzu esan x modulo y, non 1023 00:49:13,830 --> 00:49:18,000 Ehuneko hau testuinguru honetan confusingly barruan Oraindik 1024 00:49:18,000 --> 00:49:20,170 komatxo bikoitzak, printf, ehuneko barruan 1025 00:49:20,170 --> 00:49:21,830 Formatu gisa erabiltzen da. 1026 00:49:21,830 --> 00:49:25,420 >> Noiz ehuneko erabiltzen duzun kanpo adierazpen matematiko batean dagoela, 1027 00:49:25,420 --> 00:49:29,910 modulo modular operadoreak da Gure helburuetarako aritmetika 1028 00:49:29,910 --> 00:49:33,650 Hemen, besterik gabe, esan nahi du, zer da x gainerako y arabera banatzen? 1029 00:49:33,650 --> 00:49:36,130 Beraz, x y arabera banatzen x slash y da. 1030 00:49:36,130 --> 00:49:38,220 Zein da x gainerako y arabera banatzen? 1031 00:49:38,220 --> 00:49:41,780 x mod y It, programatzaile batek esango lukeen bezala. 1032 00:49:41,780 --> 00:49:48,300 >> Beraz, egin nuen ez akatsak bada hemen, let me aurrera egin eta ints, plural, polita, 1033 00:49:48,300 --> 00:49:50,010 eta dot barra ints. 1034 00:49:50,010 --> 00:49:55,270 Eta utzi aurrera eta ez, demagun, 1, 10. 1035 00:49:55,270 --> 00:49:58,390 Guztiak eskubidea, 1 plus 10 11 da, check. 1036 00:49:58,390 --> 00:50:01,240 1 minus 10 da negatiboa 9, egiaztatu. 1037 00:50:01,240 --> 00:50:03,420 >> 1 aldiz 10 10 da, check. 1038 00:50:03,420 --> 00:50:07,090 1 10 is-- arabera banatzen da Ados, hori saltatzeko egingo dugu. 1039 00:50:07,090 --> 00:50:09,480 1 gainerako 10 arabera banatzen da: 1. 1040 00:50:09,480 --> 00:50:10,680 Hori da zuzena. 1041 00:50:10,680 --> 00:50:12,630 Baina bug bat dago hemen. 1042 00:50:12,630 --> 00:50:15,390 >> Beraz, bat jarri dut nire eskua gainean, ez da zuzena. 1043 00:50:15,390 --> 00:50:16,670 Esan nahi dut, 0 itxi da. 1044 00:50:16,670 --> 00:50:20,670 1 10 arabera banatzen da, badakizu, bagaude bazter batzuk ebaketa, ziur, zero da. 1045 00:50:20,670 --> 00:50:28,050 Baina behar izan duen 1/10, 0,1 edo 0,10, 0,1000, edo abar. 1046 00:50:28,050 --> 00:50:30,600 >> ez luke benetan zero izango da. 1047 00:50:30,600 --> 00:50:35,990 Beno, bihurtzen da ordenagailua dela literalki, zer egiten ari da kontatzen dugu egin. 1048 00:50:35,990 --> 00:50:39,460 y arabera banatzen x bezalako matematika egiten ari gara. 1049 00:50:39,460 --> 00:50:44,680 Eta bai x eta y, lerro bakoitzeko kode lehenago, osokoak dira. 1050 00:50:44,680 --> 00:50:50,440 >> Gainera, on line 15, garen kontatzeko printf, beno, printf plug-in 1051 00:50:50,440 --> 00:50:54,230 zenbaki oso bat, plug-in zenbaki oso bat, plug-in integer-- bereziki 1052 00:50:54,230 --> 00:50:57,580 x, y eta gero, eta, ondoren, x y arabera banatzen da. x eta y ints dira. 1053 00:50:57,580 --> 00:50:59,060 onak gara han. 1054 00:50:59,060 --> 00:51:01,250 >> Baina zer da x x arabera banatzen? 1055 00:51:01,250 --> 00:51:06,790 x banatzen by y izan behar du, Matematikoki, 1/10, edo 0.1, 1056 00:51:06,790 --> 00:51:11,600 horrek benetako zenbakia, zenbaki erreala da , Beharrik potentzialki, hamartar puntu bat. 1057 00:51:11,600 --> 00:51:13,230 Ez da zenbaki oso bat. 1058 00:51:13,230 --> 00:51:18,290 >> Baina zer da hurbilena 1/10, edo 0.1 osokoa? 1059 00:51:18,290 --> 00:51:21,114 Bai, mota zero da. 1060 00:51:21,114 --> 00:51:22,030 0.1 askoz bezala gertatzen da. 1061 00:51:22,030 --> 00:51:22,890 Eta 1 da askoz hau. 1062 00:51:22,890 --> 00:51:25,870 Beraz 1/10 hurbilago dago baino 0 da bat da. 1063 00:51:25,870 --> 00:51:30,800 >> Eta orain zer C da us-- egiten motatako esan dugu zaie delako 1064 00:51:30,800 --> 00:51:32,600 osokoa dela truncating da. 1065 00:51:32,600 --> 00:51:40,540 balio du, eta horrek berriro da, hartu ustezko 0,1000 antzeko zerbait izan nahi du, 1066 00:51:40,540 --> 00:51:41,800 0 eta abar. 1067 00:51:41,800 --> 00:51:45,320 Eta hori guztia truncating da du dezimal ondoren 1068 00:51:45,320 --> 00:51:47,510 Hori guztia da, beraz, stuff, berriz, ez delako 1069 00:51:47,510 --> 00:51:51,910 zenbaki oso baten nozioa egokitzeko, eta horrek besterik negatiboak 1, 0, 1 bezalako zenbaki bat da, 1070 00:51:51,910 --> 00:51:55,830 gora eta behera, kanpoan botatzen dena du duzulako hamartar puntu ondoren 1071 00:51:55,830 --> 00:51:59,020 ezin hamartar puntu bat egokitzeko definizioz zenbaki oso bat. 1072 00:51:59,020 --> 00:52:01,290 >> Beraz, erantzuna hemen zero da. 1073 00:52:01,290 --> 00:52:02,600 Beraz, nola ez hau konpondu dugu? 1074 00:52:02,600 --> 00:52:04,400 beste irtenbide bat behar dugu, guztiak elkarrekin. 1075 00:52:04,400 --> 00:52:06,880 Eta hori egin ahal izango dugu, honela. 1076 00:52:06,880 --> 00:52:12,820 >> Dezagun aurrera me eta berri bat sortu fitxategia, honek floats.c deitu. 1077 00:52:12,820 --> 00:52:16,500 Eta gorde hemen ere direktorio berean, float.c. 1078 00:52:16,500 --> 00:52:19,360 1079 00:52:19,360 --> 00:52:23,260 Eta utzi aurrera me kopiatu lehenago kodea duten batzuk. 1080 00:52:23,260 --> 00:52:27,690 >> Baina ordez lortzean Int bat, eta egin dezagun. 1081 00:52:27,690 --> 00:52:31,037 Emadazu Koma higikorreko balio bat x deitu. non hamarren bat 1082 00:52:31,037 --> 00:52:33,370 balio besterik ez da literalki puntu mugikorreko batekin zerbait. 1083 00:52:33,370 --> 00:52:34,410 It ezkerrera eraman dezake, eskubidea. 1084 00:52:34,410 --> 00:52:35,530 zenbaki erreal bat da. 1085 00:52:35,530 --> 00:52:38,050 >> Eta ez deitu dit int, float baina lortu, 1086 00:52:38,050 --> 00:52:41,420 horrek ere menu artean izan zen C250 liburutegian aukeren. 1087 00:52:41,420 --> 00:52:43,220 Alda dezagun y karroza bat. 1088 00:52:43,220 --> 00:52:45,000 Beraz, hau bihurtzen iritsi karroza. 1089 00:52:45,000 --> 00:52:47,620 >> Eta orain, ez dugu nahi ints plug. 1090 00:52:47,620 --> 00:52:53,130 Bihurtzen da ehuneko erabili behar dugu higikorren f, ehuneko higikorren f, 1091 00:52:53,130 --> 00:52:54,560 eta orain gorde. 1092 00:52:54,560 --> 00:53:01,220 Eta orain, behatzak zeharkatu, egiteko karroza, polita, dot barra karroza. 1093 00:53:01,220 --> 00:53:04,280 x inork 1. y gertatu egingo da Is 10 berriro izango da. 1094 00:53:04,280 --> 00:53:08,240 >> Eta, polita, OK nire gain zuzena da. 1095 00:53:08,240 --> 00:53:10,240 Gehiago nintzen mesederako, baina idatzi nahi dut ahaztu. 1096 00:53:10,240 --> 00:53:13,250 Beraz, goazen eta akats logikoak hau konpontzeko. 1097 00:53:13,250 --> 00:53:16,280 >> Dezagun aurrera eta honako hauek har. 1098 00:53:16,280 --> 00:53:18,080 besterik gabe, egin dugu apur bat kopiatu eta itsatsi. 1099 00:53:18,080 --> 00:53:20,080 Eta ez dut ken esateko. 1100 00:53:20,080 --> 00:53:21,890 >> Eta ez dut aldiz, esan nahi da. 1101 00:53:21,890 --> 00:53:24,060 Eta ez dut banatuta esan nahi dut. 1102 00:53:24,060 --> 00:53:28,240 Eta ez dut egin modulo joan, eta hori ez da germane hemen bezala, 1103 00:53:28,240 --> 00:53:33,690 , Aldiz plus-- f arabera banatzen eta Ados, Berriro egin dezagun. 1104 00:53:33,690 --> 00:53:44,210 >> Egin karroza, dot barra karroza, eta 1, 10, -Nik polita, ez, OK. 1105 00:53:44,210 --> 00:53:45,250 Beraz, lelo bat naiz. 1106 00:53:45,250 --> 00:53:47,000 Beraz, hau da, oso ohikoa informatika 1107 00:53:47,000 --> 00:53:49,780 hau bezalako akatsak ergelak egiteko. 1108 00:53:49,780 --> 00:53:53,100 >> xede pedagogikoak lortzeko, zer nahi dut egin 1109 00:53:53,100 --> 00:53:57,410 aldatu zen zientzia hemen plus, minus, aldiz, 1110 00:53:57,410 --> 00:54:01,140 eta, zatitzeko duzun bezala, zorionez, Ariketa honetan zehar nabaritu. 1111 00:54:01,140 --> 00:54:04,700 Beraz, gaur egun dezagun berriro konpilazio honetan Programa, ez dot barra karroza. 1112 00:54:04,700 --> 00:54:07,950 >> Eta hirugarrenez, dezagun ikusi nire itxaropenak betetzen bada. 1113 00:54:07,950 --> 00:54:21,480 1, 10, sartu, bai, OK, 1.000, 10.000 arabera banatzen da, 0,100000 da. 1114 00:54:21,480 --> 00:54:24,952 Eta bihurtzen da kontrolatu ahal izango dugu zenbat zenbakiak hamarren horiek dira ondoren. 1115 00:54:24,952 --> 00:54:25,660 Benetan egingo dugu. 1116 00:54:25,660 --> 00:54:26,790 hori itzuli egingo dugu. 1117 00:54:26,790 --> 00:54:28,440 >> Baina orain, hain zuzen ere, matematika zuzena da. 1118 00:54:28,440 --> 00:54:30,090 Beraz, berriro ere, zer da eramateko hemen? 1119 00:54:30,090 --> 00:54:33,050 Bihurtzen da, C, badira bakarra besterik strings-- eta, hain zuzen ere, 1120 00:54:33,050 --> 00:54:36,120 Ez daude, benetan, garelako gehitu CS50 liburutegia dutenak. 1121 00:54:36,120 --> 00:54:37,710 Baina ez daude bakarrik ints. 1122 00:54:37,710 --> 00:54:38,990 >> Badira, halaber, karroza. 1123 00:54:38,990 --> 00:54:42,810 Eta bihurtzen da beste datu mordo bat mota ere, hori baino askoz lehenago erabiliko dugu. 1124 00:54:42,810 --> 00:54:46,270 Turns nahi duzun bakar bat bada pertsonaia, ez karaktere-katea, 1125 00:54:46,270 --> 00:54:47,610 besterik char bat erabili ahal izango duzu. 1126 00:54:47,610 --> 00:54:52,350 >> Bihurtzen da boolearra bat egin nahi baduzu, balio boolear bat, egia edo gezurra bakarrik, 1127 00:54:52,350 --> 00:54:56,840 CS50 liburutegia esker, dugu C bool datu mota gehitu baita. 1128 00:54:56,840 --> 00:54:59,180 Baina hori ere aurkeztuko hasi beste hizkuntza askotan ere bai. 1129 00:54:59,180 --> 00:55:04,130 Eta bihurtzen da batzuetan duzula Behar zenbakiak handiagoak orduan lehenetsita etorriko 1130 00:55:04,130 --> 00:55:05,210 ints eta karroza batekin. 1131 00:55:05,210 --> 00:55:10,590 >> Eta, hain zuzen ere, bikoitza zenbaki bat da Hori ez 32 bit, baina 64 bit erabiltzen du. 1132 00:55:10,590 --> 00:55:14,990 Eta luze luze bat zenbaki bat da erabiltzen ez 32, bit baina 64 bit, 1133 00:55:14,990 --> 00:55:19,190 hurrenez hurren, puntu mugikorreko balioak eta osoko zenbakiak, hurrenez hurren. 1134 00:55:19,190 --> 00:55:22,780 Hargatik benetan orain ikusi ekintza hau. 1135 00:55:22,780 --> 00:55:26,150 >> aurrera hemen noa eta Látigo beste programa bat. 1136 00:55:26,150 --> 00:55:32,020 Hemen, aurrera noa eta besteak ez cs50.h. 1137 00:55:32,020 --> 00:55:34,910 Eta utzi me joan, besteak io.h. 1138 00:55:34,910 --> 00:55:37,320 >> Eta zerbait nabarituko duzu funky hemen gertatzen ari da. 1139 00:55:37,320 --> 00:55:40,592 Ez da margotzea gauzak kodetzea Modu berean baino lehen egin bezala. 1140 00:55:40,592 --> 00:55:43,550 Eta bihurtzen da, hori dudalako ez dituzte gauza fitxategi izen. 1141 00:55:43,550 --> 00:55:47,270 >> bat deitu noa sizeof.c, eta sakatu Gorde. 1142 00:55:47,270 --> 00:55:51,039 Eta nabarituko zer nire oso gertatzen atze-oihal beltzak aurka kodea zuria. 1143 00:55:51,039 --> 00:55:52,830 Orain, behintzat, ez da batzuk ere morea. 1144 00:55:52,830 --> 00:55:54,490 Eta sintaxia nabarmendu da. 1145 00:55:54,490 --> 00:55:57,700 >> Hori baita, nahiko besterik gabe, dut Esan IDE zein fitxategi mota 1146 00:55:57,700 --> 00:56:01,060 da izen bat emanez, eta zehazki, fitxategi-luzapen bat. 1147 00:56:01,060 --> 00:56:03,620 Orain, dezagun aurrera, eta hori egin. 1148 00:56:03,620 --> 00:56:08,910 Animatu eta oso joan noa erraz inprimatu honako hau bool 1149 00:56:08,910 --> 00:56:11,080 ehuneko LU da. 1150 00:56:11,080 --> 00:56:12,950 >> Itzuli dugu nahi une bat besterik ez dela. 1151 00:56:12,950 --> 00:56:15,840 Eta gero noa inprimatu bool tamaina. 1152 00:56:15,840 --> 00:56:18,170 Eta orain, besterik gabe, gorde Neure buruari denbora pixka bat, naiz 1153 00:56:18,170 --> 00:56:20,280 oso bat egin da joan horiek sorta aldi berean. 1154 00:56:20,280 --> 00:56:24,620 Eta, zehazki, noa aldatu hau char bat eta char izateko. 1155 00:56:24,620 --> 00:56:27,760 Honek, aldatu noa bikoitza eta bikoitz bat. 1156 00:56:27,760 --> 00:56:31,440 >> Honek, aldatu noa mugikor bat eta karroza bat. 1157 00:56:31,440 --> 00:56:35,670 Honek, noa int eta int bat aldatu. 1158 00:56:35,670 --> 00:56:38,660 Eta hau, banoa luze luze bat aldatu. 1159 00:56:38,660 --> 00:56:40,840 Eta oraindik ere hartzen denbora luzez, eta luze gabe. 1160 00:56:40,840 --> 00:56:44,572 >> Eta gero, azkenik, eman dut Neure burua gehiegi, katea. 1161 00:56:44,572 --> 00:56:47,030 Bihurtzen da, C ere, ez da operadore berezia deitu 1162 00:56:47,030 --> 00:56:50,260 horren tamaina da, hitzez hitz behar denean exekutatu joan, 1163 00:56:50,260 --> 00:56:52,099 esaten digute tamaina aldagai horietako bakoitzak. 1164 00:56:52,099 --> 00:56:53,890 Eta hau modu bat da, gaur egun, Atzera konektatzen dugu 1165 00:56:53,890 --> 00:56:57,140 Azken astean eztabaida datuak eta errepresentazio. 1166 00:56:57,140 --> 00:57:00,330 >> Dezagun aurrera me eta konpilatu dot barra tamaina tamaina. 1167 00:57:00,330 --> 00:57:01,210 Eta ikus dezagun. 1168 00:57:01,210 --> 00:57:05,210 Bihurtzen da C direla, zehazki CS50 IDE on, 1169 00:57:05,210 --> 00:57:08,170 zehazki, on the Ubuntu sistema eragilea, 1170 00:57:08,170 --> 00:57:11,100 horietatik 64-bit eragilearen bat da Kasu honetan sistema, 1171 00:57:11,100 --> 00:57:14,189 boolearra da joan espazio byte bat erabili. 1172 00:57:14,189 --> 00:57:16,480 Hori da, tamaina nola neurtzen da, Ez bit, baina byte. 1173 00:57:16,480 --> 00:57:18,690 Eta gogoratzen byte bat duten zortzi bit. 1174 00:57:18,690 --> 00:57:22,030 Beraz bool, are you arren Teknikoki bakarrik behar, 0 edo 1, 1175 00:57:22,030 --> 00:57:24,092 Apur bat wasteful da nola inplementatu dugu bertan. 1176 00:57:24,092 --> 00:57:26,800 Benetan oso bat erabiltzeko joan byte-- beraz zeroen guztiak, dira, agian, 1177 00:57:26,800 --> 00:57:31,050 guztiak ere bai, edo horrelako zerbait, edo, besterik gabe, inork 1 zortzi bit artean. 1178 00:57:31,050 --> 00:57:34,962 >> char A, bere aldetik, pertsonaia bat erabiltzen da azken astean ASCII karaktere bat bezala, 1179 00:57:34,962 --> 00:57:36,170 da pertsonaia bat izango da. 1180 00:57:36,170 --> 00:57:42,340 Eta hori synchs eman gure nozioa batera izanik ez 256 bit baino gehiago, hobeto esanda, 1181 00:57:42,340 --> 00:57:45,360 synchs eman ez egotea berarekin 8 bit baino luzeagoa da, eta horrek 1182 00:57:45,360 --> 00:57:47,450 ematen digu bezain beste 256 bezalako baloreak. 1183 00:57:47,450 --> 00:57:49,680 A bikoitza da joan 8 byte edo 64 bit izan. 1184 00:57:49,680 --> 00:57:50,510 >> Karroza 4 da. 1185 00:57:50,510 --> 00:57:51,690 int An 4 da. 1186 00:57:51,690 --> 00:57:52,980 luze bat, luzea 8 da. 1187 00:57:52,980 --> 00:57:54,716 Eta kate bat 8 ​​da. 1188 00:57:54,716 --> 00:57:55,840 Baina ez kezkatu. 1189 00:57:55,840 --> 00:57:57,340 atzera zuritu geruza hori goaz. 1190 00:57:57,340 --> 00:57:59,940 Bihurtzen da, kateak ahal izan 8 byte baino luzeagoa. 1191 00:57:59,940 --> 00:58:02,310 >> Eta, hain zuzen ere, idatzi dugu kateak dagoeneko, kaixo mundua, 1192 00:58:02,310 --> 00:58:03,700 8 byte baino luzeagoa. 1193 00:58:03,700 --> 00:58:06,270 Baina itzuli gara nahi une bat besterik ez dela. 1194 00:58:06,270 --> 00:58:09,690 Baina take the hemendik honako hau da. 1195 00:58:09,690 --> 00:58:15,320 >> Edozein ordenagailu bakarra dauka finitu bat memoria eta espazioaren zenbatekoa. 1196 00:58:15,320 --> 00:58:17,860 Zuk bakarrik gorde ahal izango hainbeste fitxategiak zure Mac edo PC. 1197 00:58:17,860 --> 00:58:23,030 You programak hainbeste bakarrik gorde ahal izango RAM aldi berean exekutatzen, nahitaez, are 1198 00:58:23,030 --> 00:58:26,360 memoria birtuala, baita RAM mugatu bat behar duzu. 1199 00:58:26,360 --> 00:58:28,990 >> Eta besterik ez, irudi bada Nik inoiz ireki zuen ordenagailu eramangarri bat 1200 00:58:28,990 --> 00:58:31,300 edo agindu aparteko memoria ordenagailu baten, zuk 1201 00:58:31,300 --> 00:58:33,670 Agian ez dakizu hori zure ordenagailuaren barruan 1202 00:58:33,670 --> 00:58:36,590 itxura zerbait da Hau atsegin apur bat. 1203 00:58:36,590 --> 00:58:40,540 Beraz, hau da, besterik gabe izeneko enpresa bat komuna da Erabakigarria duten ordenagailuentzako RAM egiten. 1204 00:58:40,540 --> 00:58:43,620 Eta RAM non programen da Bizi diren darabilzun bitartean. 1205 00:58:43,620 --> 00:58:46,630 >> Beraz, Mac guztietan edo PC, bikoitza on Klik programa bat, eta zabaltzen da, 1206 00:58:46,630 --> 00:58:48,921 eta Word dokumentu batzuk irekitzen da edo horrelako zerbait, 1207 00:58:48,921 --> 00:58:51,764 da gordeko aldi baterako ere RAM, RAM azkarragoa delako 1208 00:58:51,764 --> 00:58:53,680 zure diskoan baino, edo Zure egoera ona disko. 1209 00:58:53,680 --> 00:58:56,600 Beraz, besterik ez da non programak joan exekutatzen ari dira bizitzeko, 1210 00:58:56,600 --> 00:58:58,060 edo noiz fitxategiak erabiltzen ari dira. 1211 00:58:58,060 --> 00:59:00,890 >> Beraz, gauzak itxura duzu eramangarria barruan k atsegin, 1212 00:59:00,890 --> 00:59:03,320 edo gauzak zertxobait handiagoa Mahaigainaren barruan. 1213 00:59:03,320 --> 00:59:07,440 Baina gakoa da bakarrik bat behar duzu Gauza horiek kopuru mugatua. 1214 00:59:07,440 --> 00:59:11,230 Eta han mugatu bat besterik ez hardware mahaian honetan eserita eskubidea 1215 00:59:11,230 --> 00:59:11,730 hemen. 1216 00:59:11,730 --> 00:59:15,920 >> Beraz, ziur aski, ezin dugu gorde zenbakiak infinituki luzea. 1217 00:59:15,920 --> 00:59:19,030 Eta, hala ere, atzera uste baduzu kalifikazioa eskola, zenbat digituak ahal 1218 00:59:19,030 --> 00:59:21,400 izan eskubidea duzu hamartar puntu baten? 1219 00:59:21,400 --> 00:59:24,680 Gaia dela eta, zenbat digituak ahal izan hamartar puntu baten ezkerrean duzu? 1220 00:59:24,680 --> 00:59:26,300 Benetan, infinituki asko. 1221 00:59:26,300 --> 00:59:30,840 >> Orain, gizakiak agian bakarrik Badakizu milioi nola ahoskatu, 1222 00:59:30,840 --> 00:59:34,990 eta milioi, bilioi, eta quadrillion, eta quintillion. 1223 00:59:34,990 --> 00:59:39,370 Eta naiz mugak bultzaka dut nire understanding-- edo izan nire ulertzen dut 1224 00:59:39,370 --> 00:59:41,110 zenbakiak, baina nire zenbakien ahoskera. 1225 00:59:41,110 --> 00:59:44,720 Baina infinituki handiak lortu ahal izango dute Ezkerraldean digituak kontaezinezko 1226 00:59:44,720 --> 00:59:47,050 edo koma hamartarra eskubidea. 1227 00:59:47,050 --> 00:59:50,040 >> Baina ordenagailuak bakarrik izan bat memoria kopuru finitu, 1228 00:59:50,040 --> 00:59:53,510 transistore kopuru mugatua dutenez, bat bonbillak barruan kopuru mugatua. 1229 00:59:53,510 --> 00:59:57,350 Beraz, zer gertatzen Tokirik gabe duzu? 1230 00:59:57,350 --> 00:59:59,620 Beste era batera esanda, baduzu Uste azken astean itzuli 1231 00:59:59,620 --> 01:00:03,160 zenbakiak buruz hitz egin dugu ari bitarrean irudikatzen beraiek, 1232 01:00:03,160 --> 01:00:05,480 Suposatzen dugu dugu lortu hau 8-bit balio hemen. 1233 01:00:05,480 --> 01:00:08,290 >> Eta zazpi 1 eta 0 bat behar dugu. 1234 01:00:08,290 --> 01:00:10,827 Eta demagun nahi dugun gehitzeko 1 balio honetarako. 1235 01:00:10,827 --> 01:00:12,410 Hau kopuru benetan handia da oraintxe. 1236 01:00:12,410 --> 01:00:16,610 >> Hau da, 254, gogoratzen dut azken astean eskuinetik math. 1237 01:00:16,610 --> 01:00:19,480 Baina zer aldatu dut bada 1 a eskuinekoa 0 dagoela? 1238 01:00:19,480 --> 01:00:22,800 The kopuru osoa, la Jakina, zortzi 1-ren bihurtzen. 1239 01:00:22,800 --> 01:00:24,050 Beraz, oraindik onak ditugu. 1240 01:00:24,050 --> 01:00:27,204 >> Eta seguruenik, adierazten 255, nahiz eta testuinguruaren arabera 1241 01:00:27,204 --> 01:00:29,120 benetan zitekeela adierazten zenbaki negatiboa. 1242 01:00:29,120 --> 01:00:31,240 Baina hori denbora beste. 1243 01:00:31,240 --> 01:00:34,220 Hau sentitzen buruz bezala handiko gisa I zenbatu bezala. 1244 01:00:34,220 --> 01:00:35,290 >> Orain, bit 8 bakarrik da. 1245 01:00:35,290 --> 01:00:38,170 Eta nire Mac, ziur aski, bide ditu 8 baino gehiago oroimen zatiak. 1246 01:00:38,170 --> 01:00:39,170 Baina izan finitu du. 1247 01:00:39,170 --> 01:00:43,230 Beraz, argudio bera aplikatzen, nahiz eta pantailan direnak horiek gehiago dute. 1248 01:00:43,230 --> 01:00:47,020 >> Baina zer gertatzen ari bazara Zenbaki honetan, 255 gordetzeko, 1249 01:00:47,020 --> 01:00:49,290 eta 1 bit handiagorik zenbatu nahi duzu? 1250 01:00:49,290 --> 01:00:51,600 255-tik 256 ra joan nahi duzu. 1251 01:00:51,600 --> 01:00:55,800 Arazoa, jakina, da duzu bada hasteko zero astetik bezala kontatuta, 1252 01:00:55,800 --> 01:00:59,670 Ezin zenbatzen handiko gisa 256 bezala, utzi bakarrik 257, 1253 01:00:59,670 --> 01:01:02,584 utzi bakarrik 258, m zer duelako gertatzen denean gehitzen duzunean 1 bat? 1254 01:01:02,584 --> 01:01:05,000 kalifikazioa eskola zaharra ez baduzu Planteamendu, jarri 1 bat hemen, 1255 01:01:05,000 --> 01:01:08,150 eta, ondoren, 1 gehi 1 2 da, baina hori da benetan zero bat, eramanez gero, 1, 1256 01:01:08,150 --> 01:01:09,695 1 eraman, eraman 1 du. 1257 01:01:09,695 --> 01:01:12,620 Gauza horiek guztiak, 1 en horiek, zero joan. 1258 01:01:12,620 --> 01:01:17,820 Eta Haizearen duzu, bai, norbait gisa adierazi du, 1 egin dute ezker aldean. 1259 01:01:17,820 --> 01:01:22,540 Baina ahal duzun guztia benetan ikusi eta memorian kabitu 1260 01:01:22,540 --> 01:01:27,960 da zortzi besterik ez da 0, alegia uneren baduzu, ordenagailu bat, 1261 01:01:27,960 --> 01:01:32,490 Saiatu handiko nahikoa kontatuta eman, Oraindik Itzulbiratu joan, badirudi, 1262 01:01:32,490 --> 01:01:35,850 zero, edo agian are negatiboa den Zenbakiak dira, nahiz eta zero baino txikiagoa. 1263 01:01:35,850 --> 01:01:37,260 >> Eta mota ikusi ahal dugun honetan. 1264 01:01:37,260 --> 01:01:39,900 Dezagun aurrera eta idatzi benetako azkar programa bat hemen. 1265 01:01:39,900 --> 01:01:43,690 Dezagun aurrera eta idatzi Overflow izeneko programa bat. 1266 01:01:43,690 --> 01:01:49,980 Besteak beste, cs50.h standard IO.h-- oh, 1267 01:01:49,980 --> 01:01:51,730 benetan galdu dut nire sintaxia nabarmentzea. 1268 01:01:51,730 --> 01:01:54,440 Hargatik gorde hau overflow.c bezala. 1269 01:01:54,440 --> 01:01:57,084 >> Eta orain int void-- nagusia eta luze baino lehen, egingo dugu 1270 01:01:57,084 --> 01:01:59,500 itzuli zergatik azalduz int hutsune nagusia idazten jarraituko dugu. 1271 01:01:59,500 --> 01:02:02,080 Baina, oraingoz, besterik egin dezagun ezazu, ziurtzat. 1272 01:02:02,080 --> 01:02:06,200 Dezagun eman neure burua int bat, eta hasieratu 0. 1273 01:02:06,200 --> 01:02:11,716 >> int egin ondoren dezagun i lortu zero benetan, egin dezagun, begizta amaigabea utzi 1274 01:02:11,716 --> 01:02:12,590 eta ikusi zer gertatzen den. 1275 01:02:12,590 --> 01:02:22,440 Egia bitartean, orduan dezagun inprimatu n ehuneko i, backslash n, plug-in n. 1276 01:02:22,440 --> 01:02:27,200 Baina, orain, egin dezagun n lortzen n plus 1 utzi. 1277 01:02:27,200 --> 01:02:29,660 >> Beraz, beste era batera esanda, bakoitzaren gainean begizta amaigabea honen iterazio, 1278 01:02:29,660 --> 01:02:32,550 dezagun n-ren balioa, eta gehitu 1 da, eta, ondoren, 1279 01:02:32,550 --> 01:02:34,350 gordetzeko emaitza back in n ezker. 1280 01:02:34,350 --> 01:02:37,150 Eta, hain zuzen ere, ikusi dugu sintaxia zertxobait hau atsegin, labur-labur. 1281 01:02:37,150 --> 01:02:39,730 cool trikimailu bat da ordez hau guztia idazten out of, 1282 01:02:39,730 --> 01:02:42,770 duzu benetan esan dezaket n plus bat berdin 1. 1283 01:02:42,770 --> 01:02:47,480 >> Edo benetan you fancy izan nahi badu, esan dezakezu n plus plus puntu. 1284 01:02:47,480 --> 01:02:50,130 Baina azken bi horiek besterik ez dira zer litzaidake sintaktikoak azukrea deitu dugu 1285 01:02:50,130 --> 01:02:50,790 Lehenengo gauza da. 1286 01:02:50,790 --> 01:02:53,456 >> Lehenengo gauza gehiago esplizitua da, guztiz fina, erabat zuzena. 1287 01:02:53,456 --> 01:02:55,470 Baina hau da ohikoagoa, esan dut. 1288 01:02:55,470 --> 01:02:57,210 Beraz, hori egin dugu une bat besterik ez da. 1289 01:02:57,210 --> 01:03:01,685 >> Dezagun orain gainezkatzea, soinuak baizik eta kezkagarriak, dot barra gainezkatzea. 1290 01:03:01,685 --> 01:03:04,380 1291 01:03:04,380 --> 01:03:09,852 Ikus dezagun, n nahiko handiak lortzean dezagun. 1292 01:03:09,852 --> 01:03:11,310 Baina ez dezagun pentsa, nola big n lortu daiteke? 1293 01:03:11,310 --> 01:03:12,870 >> n int bat da. 1294 01:03:12,870 --> 01:03:16,400 une bat duela ikusi dugu tamaina Adibide bat int lau byte da. 1295 01:03:16,400 --> 01:03:22,070 Badakizu astetik dugu, lau byte da 32 bit, baita 8 aldiz 4, hori da 32. 1296 01:03:22,070 --> 01:03:23,460 Hori 4 milioi izango. 1297 01:03:23,460 --> 01:03:25,802 >> Eta badira 800,000 to eman dugu. 1298 01:03:25,802 --> 01:03:28,510 Hau da betiko hartu joan zenbatu bezala ahal dut seguru eta altua. 1299 01:03:28,510 --> 01:03:30,635 Beraz, aurrera noa joan, betiere lehenago agian, 1300 01:03:30,635 --> 01:03:34,910 eta hit Control C Egia, Kontrol C, asko, non Control C, oro har, 1301 01:03:34,910 --> 01:03:36,034 bitarteko ezeztatzeko. 1302 01:03:36,034 --> 01:03:38,200 Zoritxarrez, hau ez delako da hodeia exekutatzen, 1303 01:03:38,200 --> 01:03:41,190 batzuetan hodeia da hainbeste gauza tu, 1304 01:03:41,190 --> 01:03:44,180 Hainbeste irteera, da joan nire sarrera egiteko denbora pixka bat har 1305 01:03:44,180 --> 01:03:45,630 hodeia iristeko. 1306 01:03:45,630 --> 01:03:49,240 Beraz hit I nahiz Kontrol C Duela segundo batzuk, 1307 01:03:49,240 --> 01:03:53,110 hau da, behin betiko aldean begizta amaigabea eragin duen eragina. 1308 01:03:53,110 --> 01:03:56,070 >> Eta, beraz, kasu horietan, ez gara Hori izan utziko. 1309 01:03:56,070 --> 01:03:59,050 Eta ari gara beste gehitzen joan hemen baino leihoa terminal 1310 01:03:59,050 --> 01:04:03,186 plus du, noski, eta horrek ez du batera duten bezala, oraindik ere pentsatzen ari baitira. 1311 01:04:03,186 --> 01:04:05,310 Eta dezagun aurrera, eta apur bat gehiago arrazoizkoa. 1312 01:04:05,310 --> 01:04:07,768 >> Aurrera joan eta ez noa bakarrik mugatzaileez hainbat aldiz hau. 1313 01:04:07,768 --> 01:04:10,047 Dezagun erabili loop, bertan aipatu dut lehenago. 1314 01:04:10,047 --> 01:04:10,630 egin dezagun. 1315 01:04:10,630 --> 01:04:13,430 Emadazu beste aldagai int i lortzen 0. 1316 01:04:13,430 --> 01:04:17,430 i gutxiago baino, demagun, 64 i ++ utzi da. 1317 01:04:17,430 --> 01:04:24,010 Eta orain utzi aurrera me eta inprimatu out n ehuneko i da, koma n. 1318 01:04:24,010 --> 01:04:27,547 Eta gero n-- hau da, oraindik betiko hartu behar da. 1319 01:04:27,547 --> 01:04:28,130 egin dezagun. 1320 01:04:28,130 --> 01:04:30,620 >> n lortzen n aldiz 2. 1321 01:04:30,620 --> 01:04:34,140 Edo irudimena izan liteke dugu eta ez aldiz berdin 2. 1322 01:04:34,140 --> 01:04:37,120 Baina dezagun esan n berdinen bera, aldiz, 2. 1323 01:04:37,120 --> 01:04:39,321 Beste era batera esanda, honetan Programaren bertsio berria, 1324 01:04:39,321 --> 01:04:41,820 Ez dut nahi betirako itxaron behar 800.000 tik bezalako 4 milioi. 1325 01:04:41,820 --> 01:04:43,070 Dezagun honekin lortu nahiko luke. 1326 01:04:43,070 --> 01:04:44,920 >> Dezagun benetan bikoiztu en n bakoitzean. 1327 01:04:44,920 --> 01:04:47,660 Zein, oroitzapen, bikoiztea da , Beharrik, jakina, guztiz kontrakoa. 1328 01:04:47,660 --> 01:04:50,035 Eta azken astean, berriz, ez dugu zerbait berriro, eta berriro, 1329 01:04:50,035 --> 01:04:52,200 eta berriro, super azkarra, bikoiztea da ziur aski 1330 01:04:52,200 --> 01:04:58,080 zaitez gurekin 1etik posible handienari balio hori dugu zenbatu ahal int batekin. 1331 01:04:58,080 --> 01:04:59,750 >> Beraz, egin zehazki dezagun. 1332 01:04:59,750 --> 01:05:01,720 Eta etorri egingo dugun hau itzuli luze baino lehen. 1333 01:05:01,720 --> 01:05:04,180 Baina hau, berriro, da, besterik ez bezala errepikatu bloke Scratch. 1334 01:05:04,180 --> 01:05:05,600 Eta hau erabili beharko duzu luze baino lehen. 1335 01:05:05,600 --> 01:05:10,170 >> Honek esan nahi du, besterik gabe, zerotik count ra, baina ez berdina, 64 gehienez. 1336 01:05:10,170 --> 01:05:14,285 Eta honen iterazio bakoitzean begizta, besterik gabe, gorde Incrementing i. 1337 01:05:14,285 --> 01:05:18,990 Beraz, i ++ - eta eraikuntza orokor honetan on line 7 modu super komun bat besterik ez da 1338 01:05:18,990 --> 01:05:22,290 lerro batzuk errepikatuz kodea, aldiz zenbaki batzuk. 1339 01:05:22,290 --> 01:05:23,362 Zein kode lerro? 1340 01:05:23,362 --> 01:05:25,570 kizkur giltza horiek, zuk bezala orain jasotako izan daiteke, 1341 01:05:25,570 --> 01:05:26,780 esan nahi du, honako hau. 1342 01:05:26,780 --> 01:05:29,510 >> da Scratch bezala, noiz horia bloke ditu 1343 01:05:29,510 --> 01:05:32,680 eta beste kolore mota doan besarkatu edo beste bloke besarkatu. 1344 01:05:32,680 --> 01:05:34,750 Horixe kizkur horiek giltza hemen egiten ari. 1345 01:05:34,750 --> 01:05:40,200 Beraz, nire sintaxia lortu badut Arrazoi duzu azenarioa C bitarteko ikurra ikusiko 1346 01:05:40,200 --> 01:05:42,706 Hau da, zenbat aldiz izan nintzen Arazo hau konpontzen saiatzen. 1347 01:05:42,706 --> 01:05:45,330 Hargatik bat duten emateko en kentzeko guztira, eta itxi leiho hori. 1348 01:05:45,330 --> 01:05:46,520 Eta beste bat erabiliko dugu. 1349 01:05:46,520 --> 01:05:51,980 Egin gainezkatzea, dot barra gainezkatzea, Sartu, eskubidea, 1350 01:05:51,980 --> 01:05:53,090 txarra itxura lehen. 1351 01:05:53,090 --> 01:05:56,200 Baina utzi mugitzeko denboran atzera, hau 64 aldiz egin nuen delako. 1352 01:05:56,200 --> 01:05:58,700 >> Eta lehen aldiz nabarituko, n 1 da. 1353 01:05:58,700 --> 01:06:03,110 Bigarren denbora, n 2 da, ondoren, 4, 8 eta, ondoren, 16. 1354 01:06:03,110 --> 01:06:09,450 Eta badirudi bezain laster Talde gutxi gorabehera 1 milioi dut, 1355 01:06:09,450 --> 01:06:12,800 bikoiztu badut, berriro ere, eman behar dit 2 milioi. 1356 01:06:12,800 --> 01:06:14,980 Baina bihurtzen da, da, izkina bihur eskubidea. 1357 01:06:14,980 --> 01:06:18,930 >> Eta orain benetan gainezka egiten 1 milioi int 1358 01:06:18,930 --> 01:06:23,514 gutxi gorabehera negatibo 2 milioi, zenbaki oso bat delako, 1359 01:06:23,514 --> 01:06:25,430 zenbakiak dugu ez bezala ziren azken astean suposatuz, 1360 01:06:25,430 --> 01:06:28,397 bai positiboak eta negatiboak izan daitezke errealitatean eta ordenagailu batean. 1361 01:06:28,397 --> 01:06:30,730 Eta, beraz, gutxienez, horietako bat bit eraginkortasunez lapurtzen. 1362 01:06:30,730 --> 01:06:34,190 Beraz, benetan dugu dute 31 bit, edo 2 milioi balio posible. 1363 01:06:34,190 --> 01:06:38,220 >> Baina, oraingoz, eramateko oso da besterik gabe, edozein dela ere zenbaki horiek dira 1364 01:06:38,220 --> 01:06:42,280 eta matematika da edozein dela ere, zerbait txarra gertatzen azkenean, 1365 01:06:42,280 --> 01:06:46,980 azkenean diozula permute bit gehiegi aldiz. 1366 01:06:46,980 --> 01:06:51,060 Eta eraginkortasunez guztietatik joan 1-ren agian 0 horrek guztiak, edo, agian, 1367 01:06:51,060 --> 01:06:54,260 beste eredu batzuk egiten duten Argi eta garbi, testuinguruaren arabera, 1368 01:06:54,260 --> 01:06:56,342 zenbaki negatibo gisa interpreta daiteke. 1369 01:06:56,342 --> 01:06:59,300 Eta beraz, I altuena badirudi daiteke programa zehatz honetan zenbatu 1370 01:06:59,300 --> 01:07:01,210 mila soilik gutxi gorabehera 1 da. 1371 01:07:01,210 --> 01:07:02,760 Baina ez dago irtenbide partziala da hemen. 1372 01:07:02,760 --> 01:07:03,480 Ba al dakizu zer? 1373 01:07:03,480 --> 01:07:07,600 >> Dezagun aldatuko batetik me luze luze int. 1374 01:07:07,600 --> 01:07:10,633 Eta utzi aurrera me hemen eta esaten dute noa 1375 01:07:10,633 --> 01:07:12,290 hau aldatzeko unsigned luze bat. 1376 01:07:12,290 --> 01:07:16,860 Edo, ikus dezagun, inoiz ez dut gogoratzen nire buruari. 1377 01:07:16,860 --> 01:07:19,920 >> Dezagun aurrera eta gainezkatzea egiteko. 1378 01:07:19,920 --> 01:07:21,860 Ez, ez da hori, LLD, eskerrik asko. 1379 01:07:21,860 --> 01:07:23,430 Beraz, batzuetan, Clang lagungarria izan daiteke. 1380 01:07:23,430 --> 01:07:27,550 Nik ez dut gogoratzen zer formatu espezifikatzailea luze luze bat izan da. 1381 01:07:27,550 --> 01:07:28,950 >> Baina, hain zuzen ere, Clang esan zidan. 1382 01:07:28,950 --> 01:07:31,570 Green ona mota batzuk, oraindik ere esan nahi du akats bat egin duzu. 1383 01:07:31,570 --> 01:07:33,190 Honez asmatzen LLD esan nahi dut. 1384 01:07:33,190 --> 01:07:38,750 >> Hargatik hartu me aholkularitza da, luzea zenbaki hamartar luze, gorde duten. 1385 01:07:38,750 --> 01:07:43,190 Eta utzi berrabiarazi me, sakabanatutako barra gainezkatzea, Sartu. 1386 01:07:43,190 --> 01:07:45,020 Eta orain, zer da cool da hau. 1387 01:07:45,020 --> 01:07:49,140 >> denboran atzera joan I bada, oraindik ere hasten gara du place-- berean kontatuta 1, 2, 4, 1388 01:07:49,140 --> 01:07:50,220 8, 16. 1389 01:07:50,220 --> 01:07:54,860 Oharra, lortuko dugu guztia Modu 1 milioi. 1390 01:07:54,860 --> 01:07:57,070 Baina, ondoren, segurtasunez 2 milioi lortuko dugu. 1391 01:07:57,070 --> 01:08:01,300 >> Ondoren, lortu 4 milioi dugu, ondoren 8 milioi, 17 milioi. 1392 01:08:01,300 --> 01:08:03,340 Eta joan handiagoa dugu, eta handiagoa da, eta goi-mailako. 1393 01:08:03,340 --> 01:08:05,740 Azkenean, hau ere, jauziak. 1394 01:08:05,740 --> 01:08:09,350 >> Azkenean, luze luze batekin, bertan 64-bit balio, ez da 1395 01:08:09,350 --> 01:08:13,660 32 biteko balioa, zuk zenbatu handiegia, 0 inguruan biltzeko duzu. 1396 01:08:13,660 --> 01:08:16,410 Eta, kasu honetan, gertatuko dugu azkenean, zenbaki negatiboa. 1397 01:08:16,410 --> 01:08:17,550 >> Beraz, hau arazo bat da. 1398 01:08:17,550 --> 01:08:20,439 Eta bihurtzen da hori Arazoa ez da urrutira hori guztia. 1399 01:08:20,439 --> 01:08:23,060 Nahiz nahita dut I eragindako akats horiek batera, 1400 01:08:23,060 --> 01:08:26,149 bihurtzen da ikusten dugu mota guztiak Gure inguruan, edo, gutxienez, gutako batzuk egin. 1401 01:08:26,149 --> 01:08:28,939 >> Beraz Lego Star Wars ere, bada Nik inoiz jokatu duzu jokoa, 1402 01:08:28,939 --> 01:08:33,830 bihurtzen da inguruan dezakezu gauzak hausteko LEGO munduan, 1403 01:08:33,830 --> 01:08:36,640 eta txanponak biltzeko, funtsean. 1404 01:08:36,640 --> 01:08:39,200 Eta inoiz duzun jokatzen bada Joko hau bide denbora gehiegi, 1405 01:08:39,200 --> 01:08:42,630 izenik banakako hau bezala Hemen egin, zenbakia guztira 1406 01:08:42,630 --> 01:08:46,700 txanpon eta jaso ahal izango duzu da, ordea, 4 milioi. 1407 01:08:46,700 --> 01:08:48,240 >> Orain, egia esan, biribildu. 1408 01:08:48,240 --> 01:08:50,239 Beraz LEGO saiatzen zen mantentzeko gauza lagungarri. 1409 01:08:50,239 --> 01:08:53,779 ez zuen egin dute, zehazki 2 du 32 boterea, azken astean. 1410 01:08:53,779 --> 01:08:55,310 Baina 4 milioi arrazoi bat da. 1411 01:08:55,310 --> 01:08:58,979 Badirudi, informazio hori oinarritzen, LEGO dela, eta hori enpresak 1412 01:08:58,979 --> 01:09:02,624 Benetako software hau, erabaki gehienez txanpon kopurua 1413 01:09:02,624 --> 01:09:04,540 Erabiltzaile pilatu ahal da, hain zuzen ere, 4 milioi, 1414 01:09:04,540 --> 01:09:12,069 aukeratu zuten euren kodea delako erabili ez luze, luze, itxuraz, 1415 01:09:12,069 --> 01:09:16,140 baina besterik ez da zenbaki oso bat, unsigned bat osokoa, bakarrik oso positibo bat, zeinen 1416 01:09:16,140 --> 01:09:18,089 Gehienez balio gutxi gorabehera dela. 1417 01:09:18,089 --> 01:09:19,380 Beno, hemen beste bat dibertigarria da. 1418 01:09:19,380 --> 01:09:23,500 Beraz, joko zibilizazioa ere, bertan batzuk ezagunak izan liteke, batera 1419 01:09:23,500 --> 01:09:26,660 bihurtzen da, duela urte ez dagoela Joko hau Horren bidez, akats bat zuen 1420 01:09:26,660 --> 01:09:28,750 rola jokatzen baduzu Gandhi jokoan, 1421 01:09:28,750 --> 01:09:34,020 zion ordez Oso bakezalea izatea, ordez zen oso, oso 1422 01:09:34,020 --> 01:09:36,399 erasokorra, zenbait kasutan. 1423 01:09:36,399 --> 01:09:40,529 Hain zuzen ere, bide hori zibilizazioa obra da duzula bada, jokalariak, 1424 01:09:40,529 --> 01:09:44,680 demokrazia hartzea, zure agresibitatea puntuazioa 1425 01:09:44,680 --> 01:09:48,130 decremented bi, beraz, ken arabera ken, eta, ondoren, ken ken. 1426 01:09:48,130 --> 01:09:50,569 >> Beraz kentzen duzu 2tik Zure benetako errepikatzean. 1427 01:09:50,569 --> 01:09:56,650 Tamalez, zure errepikatzean bada Hasieran 1, eta kentzen duzu 2 bertatik 1428 01:09:56,650 --> 01:09:59,050 demokrazia hartzeko ondoren Gandhi bezala hemen might 1429 01:09:59,050 --> 01:10:02,200 egin dute, oso passive-- izan zelako 1 agresibitatea eskalan. 1430 01:10:02,200 --> 01:10:04,830 Baina demokrazia hartzen zuen bada, orduan 1-tik 1 negatiboa doa zuen. 1431 01:10:04,830 --> 01:10:11,470 >> Zoritxarrez, ziren unsigned zenbakiak erabiliz, 1432 01:10:11,470 --> 01:10:15,400 horrek esan nahi du, nahiz eta negatiboa tratatu dute zenbakiak bagina bezala positiboak izan ziren. 1433 01:10:15,400 --> 01:10:19,780 Eta bihurtzen da hori negatiboa 1 baliokidea positiboa, 1434 01:10:19,780 --> 01:10:23,480 ordenagailu programak tipikoa, 255 da. 1435 01:10:23,480 --> 01:10:27,250 Beraz Gandhi hartzen bada demokrazia, eta beraz ditu 1436 01:10:27,250 --> 01:10:32,470 bere agresibitatea puntuazio murriztu da, benetan pasatzean inguruan 255 1437 01:10:32,470 --> 01:10:35,470 eta egiten gehien zion pertsonaia oldarkorra jokoan. 1438 01:10:35,470 --> 01:10:36,930 Beraz, Google dezakezu gora honetako. 1439 01:10:36,930 --> 01:10:39,380 Eta, izan zen, hain zuzen ere, bat accidental programazio bug, 1440 01:10:39,380 --> 01:10:43,010 baina hori nahiko sartutako lore geroztik. 1441 01:10:43,010 --> 01:10:44,360 >> Hori guztia dibertigarria eta polita da. 1442 01:10:44,360 --> 01:10:47,760 Gehiago beldurgarria da benetako denean Mundu errealean gailuak, eta ez jokoak, 1443 01:10:47,760 --> 01:10:48,820 bugs horiek berak izan. 1444 01:10:48,820 --> 01:10:54,500 Izan ere, orain dela urte bat besterik artikulu bat zetorren buruzko Boeing 787 Dreamliner out. 1445 01:10:54,500 --> 01:10:56,850 >> Eta hasiera batean artikulu begirada urrutira apur bat irakurtzen. 1446 01:10:56,850 --> 01:11:01,480 Baina esan behar da hau, software bat Boeing ahultasun 1447 01:11:01,480 --> 01:11:04,790 berria 787 Dreamliner jet ditu potentziala pilotuak eragin 1448 01:11:04,790 --> 01:11:07,220 kontrola galdu Hegazkinaren, seguru asko, 1449 01:11:07,220 --> 01:11:11,750 erdialdean hegaldia, FAA funtzionarioek ohartarazi aire konpainiek berriki. 1450 01:11:11,750 --> 01:11:14,520 determinazioa zen eredu bat 787 1451 01:11:14,520 --> 01:11:19,770 hegazkin dela powered etengabe egiteko 248 egun 1452 01:11:19,770 --> 01:11:24,880 Mendebaldeko Europa guztia gal dezake, AC, energia elektrikoaren sorgailua ondorioz 1453 01:11:24,880 --> 01:11:28,892 kontrol unitateak, GCUs, aldi berean, sartzen joan seguruak huts moduan. 1454 01:11:28,892 --> 01:11:29,850 ni galtzeko mota da. 1455 01:11:29,850 --> 01:11:35,390 Baina zirkularraren adierazi, Ados, orain lortu dut, baldintza zen software batek eragindako 1456 01:11:35,390 --> 01:11:38,590 kontraerasora barne sorgailu kontrola 1457 01:11:38,590 --> 01:11:44,860 unitateak izango dela ondoren gainezkatzea 248 etengabeko power egunetan. 1458 01:11:44,860 --> 01:11:47,070 hau jaulki ari gara nabarituko galtzea saihesteko 1459 01:11:47,070 --> 01:11:49,300 Erkidegoko guztiak elektrikoak boterea, eta horrek ekarriko lukeela 1460 01:11:49,300 --> 01:11:50,980 hegazkinarekin kontrola galtzea ere. 1461 01:11:50,980 --> 01:11:55,380 >> Beraz, literalki, ez osokoa batzuk, edo baliokidea datu-mota batzuk, 1462 01:11:55,380 --> 01:11:57,960 software erabiltzen ari benetako hegazkin batean 1463 01:11:57,960 --> 01:12:00,756 Zure hegazkin mantentzeko izanez gero nahikoa luzea, itxuraz on 1464 01:12:00,756 --> 01:12:03,880 kasua izan daiteke, besterik gabe ari zaren bada exekutatzen horiek etengabe eta inoiz deskonektatu 1465 01:12:03,880 --> 01:12:06,810 Zure hegazkin, dirudienez, edo bere bateriak hiltzen utziz, 1466 01:12:06,810 --> 01:12:09,840 joango diren zenbatzen, eta gora, eta gora, eta gora, eta gora, eta gora. 1467 01:12:09,840 --> 01:12:12,150 >> Eta, izatez, a memoria kopuru finitu 1468 01:12:12,150 --> 01:12:15,880 gainezka egingo, atzera rolling zero edo balio negatibo batzuk, 1469 01:12:15,880 --> 01:12:19,920 albo efektu bat da Errealitate beldurra benetako 1470 01:12:19,920 --> 01:12:23,970 hegazkina behar ditzake berrabiarazi behar da, modu eraginkorrean, 1471 01:12:23,970 --> 01:12:27,290 edo eror litezke, okerrago, hegan bezala. 1472 01:12:27,290 --> 01:12:29,230 Beraz, gai mota hauek dira oraindik gurekin, 1473 01:12:29,230 --> 01:12:33,130 even-- hau 2015eko artikulu bat izan zen, gehiago beldurgarria guztiak 1474 01:12:33,130 --> 01:12:36,100 Ez duzunean nahitaez ulertu, balioetsi, edo aurreratzen 1475 01:12:36,100 --> 01:12:38,640 Akats-mota horiek. 1476 01:12:38,640 --> 01:12:42,030 >> Beraz bihurtzen da hemen, ez da beste bat buruzko datuak ordezkaritza gauza txarra. 1477 01:12:42,030 --> 01:12:47,080 Bihurtzen da, nahiz eta karroza direla motatako flawed, karroza baita ere, 1478 01:12:47,080 --> 01:12:51,440 dira proposatutako I 32 bit, edo agian, 64 bikoitz bat erabiltzen baduzu. 1479 01:12:51,440 --> 01:12:53,070 Baina oraindik finituen. 1480 01:12:53,070 --> 01:12:57,070 >> Eta harrapaketa da, ahal bada hori zenbakiak infinitua zenbaki bat jarri 1481 01:12:57,070 --> 01:12:59,460 dezimal ondoren, ez dago modurik duzuna da 1482 01:12:59,460 --> 01:13:02,690 posible guztiak irudikatzeko daiteke zenbakiak dugun irakatsi ziren 1483 01:13:02,690 --> 01:13:04,990 kalifikazioa eskola dezake munduko existitzen. 1484 01:13:04,990 --> 01:13:08,870 Ordenagailu batek, funtsean, betetzen da aukeratu zenbaki horiek azpimultzo bat 1485 01:13:08,870 --> 01:13:10,200 zehaztasunez irudikatzeko. 1486 01:13:10,200 --> 01:13:12,450 >> Orain, ordenagailua ezin txandan, agian, pixka bat, 1487 01:13:12,450 --> 01:13:17,900 eta aukera ematen du, gutxi gorabehera denda Bat-zenbakia, seguru asko izango duzu nahi. 1488 01:13:17,900 --> 01:13:20,940 Baina, intuizioa, baduzu bit kopuru finitu bat, 1489 01:13:20,940 --> 01:13:24,560 Baino ezin duzu permute horiek Modu finitu hainbeste. 1490 01:13:24,560 --> 01:13:26,570 Beraz, ezin duzu, seguru kopuru mugatua 1491 01:13:26,570 --> 01:13:29,880 Bit trukatze, zeroen eta bai eredu, 1492 01:13:29,880 --> 01:13:32,940 infinitua bat irudikatzeko Zenbakiak zenbaki, 1493 01:13:32,940 --> 01:13:37,370 horrek iradokitzen ordenagailuak agian hori oso ondo, batzuetan gurekin etzanda. 1494 01:13:37,370 --> 01:13:38,770 >> Izan ere, egin dezagun hau. 1495 01:13:38,770 --> 01:13:41,239 Dezagun atzera CS50 IDE sartu me. 1496 01:13:41,239 --> 01:13:43,030 Dezagun aurrera eta Programa txiki bat sortu 1497 01:13:43,030 --> 01:13:47,940 izeneko zehaztugabetasunak, erakusten duten ordenagailuak dira, hain zuzen ere, zehazgabea. 1498 01:13:47,940 --> 01:13:51,910 >> Eta utzi aurrera me eta hasteko kodea duten batzuk lehenago, 1499 01:13:51,910 --> 01:13:53,830 eta orain, honako hau. 1500 01:13:53,830 --> 01:14:03,640 Dezagun aurrera eta printf, ehuneko egin f, backslash n, 1 10 arabera banatzen da. 1501 01:14:03,640 --> 01:14:07,430 Beste era batera esanda, dezagun murgiltze sakonago 1/10, atsegin 1 eta 10 banatzen da. 1502 01:14:07,430 --> 01:14:09,760 Seguru asko, ordenagailu bat 1/10 ordezkatzen dezake. 1503 01:14:09,760 --> 01:14:13,620 >> Beraz, goazen aurrera eta zehaztugabetasunak egiteko. 1504 01:14:13,620 --> 01:14:14,390 Ikus dezagun. 1505 01:14:14,390 --> 01:14:16,210 Formatu zehazten idatz bikoitza. 1506 01:14:16,210 --> 01:14:18,160 Baina argudioa mota int. 1507 01:14:18,160 --> 01:14:19,040 Zer gertatzen ari da? 1508 01:14:19,040 --> 01:14:21,970 >> Oh, interesgarria, beraz, bat da Ikasgai aurretik ikasi. 1509 01:14:21,970 --> 01:14:26,050 Nik diodana, beno, ordenagailua ikuskizuna me ehuneko f karroza bat. 1510 01:14:26,050 --> 01:14:28,200 Baina nago emanez 2 ints. 1511 01:14:28,200 --> 01:14:31,120 Beraz, bilakatzen da, konpondu dut hau modu pare bat ere. 1512 01:14:31,120 --> 01:14:38,430 >> Besterik ezin dut buelta bat 1,0 sartu, eta 10 10,0 sartu, zein izango litzateke, hain zuzen ere, 1513 01:14:38,430 --> 01:14:42,390 bihurtzeko eragina dute oraindik ere horiek floats-- sartu zorionez 1514 01:14:42,390 --> 01:14:43,180 kopuru bera. 1515 01:14:43,180 --> 01:14:45,880 Edo Bihurtzen da han zerbait Berriro ikusiko dugu, luze baino lehen. 1516 01:14:45,880 --> 01:14:47,170 zenbakiak bota izan duzu. 1517 01:14:47,170 --> 01:14:49,880 >> dezakezu, parenthetical hau erabiliz adierazpen, esan dezakezu, 1518 01:14:49,880 --> 01:14:52,560 beno, ordenagailua, hartu hau 10, eta bertan dakit int bat da. 1519 01:14:52,560 --> 01:14:54,660 Baina, begira ezazu, mesedez, bagina bezala, mugikor bat da. 1520 01:14:54,660 --> 01:14:56,680 Baina hori sentitzen alferrik konplexua. 1521 01:14:56,680 --> 01:14:59,040 >> Gure helburuetarako gaur, dezagun, besterik gabe, hitzez 1522 01:14:59,040 --> 01:15:02,700 Puntu mugikorreko balio horiek hamartar puntu bat, honen antzeko batera. 1523 01:15:02,700 --> 01:15:07,060 Dezagun aurrera eta berriro exekutatu, egin zehaztugabetasunak, ona, dot barra 1524 01:15:07,060 --> 01:15:08,870 zehaztugabetasunak, sartu. 1525 01:15:08,870 --> 01:15:10,990 Ados, ona bilatzen ari gara. 1526 01:15:10,990 --> 01:15:18,194 >> 1 10 arabera banatzen arabera my Mac hemen, da, hain zuzen ere, 0,100000. 1527 01:15:18,194 --> 01:15:21,360 Orain, eskola kalifikazioa nintzen irakasten ez 0 infinitua zenbaki bat izan behar du. 1528 01:15:21,360 --> 01:15:23,151 Hargatik, gutxienez, saiatu horietako batzuk ikusteko. 1529 01:15:23,151 --> 01:15:26,770 Bihurtzen da printf hori apur bat da oraindik fancier dugu hemen erabiltzen ditudan baino. 1530 01:15:26,770 --> 01:15:30,890 Bihurtzen da, ez duzu behar zehaztu besterik ehuneko f, edo, besterik gabe, ehuneko i. 1531 01:15:30,890 --> 01:15:33,830 Benetan zehaztu dezakezu kontrol aukera batzuk hemen. 1532 01:15:33,830 --> 01:15:36,470 >> Zehazki, joan naiz esateko, hey, printf, 1533 01:15:36,470 --> 01:15:39,660 benetan erakutsi 10 hamarren. 1534 01:15:39,660 --> 01:15:40,820 Beraz, pixka bat arraroa badirudi. 1535 01:15:40,820 --> 01:15:42,845 Baina ehuneko esan duzu, dot, zenbakiak zenbat 1536 01:15:42,845 --> 01:15:44,970 to ondoren ikusi nahi dituzun hamartar puntu, eta, ondoren, f 1537 01:15:44,970 --> 01:15:48,340 Lokalak, besterik ez delako hori zer dokumentazio dio. 1538 01:15:48,340 --> 01:15:50,080 Dezagun aurrera eta gorde duten. 1539 01:15:50,080 --> 01:15:52,460 >> Eta konturatu too, lortzean naiz gauzak idazten nekatuta. 1540 01:15:52,460 --> 01:15:55,900 Beraz, besterik ez naiz sortu ezarriz eta behera nire gakoak gezi hemen. 1541 01:15:55,900 --> 01:15:58,710 Eta mantentzeko I sakatuz gero, zuk komandoak guztiak ikusi ahal 1542 01:15:58,710 --> 01:16:01,090 egin dut, edo gaizki egin. 1543 01:16:01,090 --> 01:16:04,630 >> Eta naiz orain aurrera joan eta Ez benetan erabili duten, itxuraz. 1544 01:16:04,630 --> 01:16:11,416 Egin zehaztugabetasunak, dot barra imprecision-- orain 1545 01:16:11,416 --> 01:16:13,290 zer ere irakatsi zidaten kalifikazioa eskola egiaztatzen. 1546 01:16:13,290 --> 01:16:19,010 inprima 10 hamartarrekin Nahiz jartzen da, hain zuzen ere, 0,10000 da. 1547 01:16:19,010 --> 01:16:19,840 Baina badakizu zer? 1548 01:16:19,840 --> 01:16:21,150 >> Dezagun apur bat Greedy. 1549 01:16:21,150 --> 01:16:23,990 Demagun, adibidez, erakutsi 55 du ondoren seinalatzen. 1550 01:16:23,990 --> 01:16:26,160 Dezagun benetan dezagun programatu spin bat. 1551 01:16:26,160 --> 01:16:31,170 Let it remake me make zehaztugabetasunak, dot barra, zehaztugabetasunak. 1552 01:16:31,170 --> 01:16:32,390 >> Eta hemen dugu. 1553 01:16:32,390 --> 01:16:34,420 Zure haurtzaroko gezurra zela. 1554 01:16:34,420 --> 01:16:48,410 Antza denez, 1 10 arabera banatzen da, hain zuzen 0.100000000000000005551115123-- 1555 01:16:48,410 --> 01:16:49,740 >> Zer gertatzen ari da? 1556 01:16:49,740 --> 01:16:53,360 Beno, bihurtzen da, mota baditut duzu begiratu urrun nahikoa azpiko in out 1557 01:16:53,360 --> 01:16:55,950 honen ordezkaritza zenbakia, egia esan, 1558 01:16:55,950 --> 01:17:00,400 Ez da zehazki 1/10, edo 0,1 eta zeroen kopurua infinitua. 1559 01:17:00,400 --> 01:17:01,630 Orain, zergatik da hori? 1560 01:17:01,630 --> 01:17:06,250 >> Beno, nahiz eta hori da erraza Gurekin gizakiak zenbakia, 1 10 arabera banatzen da, 1561 01:17:06,250 --> 01:17:10,910 oraindik da infinitu bat zenbakiak uste izan dugu. 1562 01:17:10,910 --> 01:17:14,490 Baina ordenagailu bat bakarrik aurkez dezake mugatzaileez beraz zenbakiak asko. 1563 01:17:14,490 --> 01:17:18,710 Eta, beraz, modu eraginkorrean, zer du ordenagailua bere hurbilena da gurekin erakusten 1564 01:17:18,710 --> 01:17:22,940 kopuruaren hurbilketa sinesten 1/10 da nahi dugu, 1565 01:17:22,940 --> 01:17:27,760 edo benetan 0,10000 ad infinitum. 1566 01:17:27,760 --> 01:17:30,425 >> Izan ere, nahiz eta, hau da eta hurbilen eskuratu ahal izango da. 1567 01:17:30,425 --> 01:17:32,300 Eta, hain zuzen ere, begiratzen baduzu kanpaia azpian, 1568 01:17:32,300 --> 01:17:37,050 Hemen dugu begira 55 hamartarren ondoren, 1569 01:17:37,050 --> 01:17:39,990 ikusiko dugu benetan errealitate hori. 1570 01:17:39,990 --> 01:17:42,610 Orain, bat alde batera, baduzu inoiz ikusi movie-- du 1571 01:17:42,610 --> 01:17:45,780 zuk ziurrenik not baina duela Superman 3 urte batzuk, 1572 01:17:45,780 --> 01:17:49,500 Richard Pryor funtsean leveraged honetan bere enpresa errealitate asko lapurtzen 1573 01:17:49,500 --> 01:17:53,500 zatikiak eta zatikiak pennies of, company-- gogoratzen dudan bezala delako, 1574 01:17:53,500 --> 01:17:57,210 izan da bat while-- zen funtsean bota duen ezer ez egokitzeko 1575 01:17:57,210 --> 01:17:58,790 zentimo nozioa sartu. 1576 01:17:58,790 --> 01:18:01,480 >> Baina bada gehitu duzu horiek guztiak txiki-txiki, txiki-txiki, txiki-txiki zenbakiak berriro, 1577 01:18:01,480 --> 01:18:04,960 eta berriro, eta berriro, dezakezu gisa Bere kasuan, diru kopuru on bat. 1578 01:18:04,960 --> 01:18:08,010 >> Ideia hori bera erauzi off arabera bat gehiago, azken, baina oraindik orain zaharragoak 1579 01:18:08,010 --> 01:18:10,500 Filma, Office Space izeneko, non film horretan mutilak, 1580 01:18:10,500 --> 01:18:13,501 Gauza bera egin zuen, izorratu sortu erabat, azkenean modu batera gehiegi 1581 01:18:13,501 --> 01:18:14,666 dirua beren banku-kontu. 1582 01:18:14,666 --> 01:18:15,800 guztiak oso susmagarria izan zen. 1583 01:18:15,800 --> 01:18:19,290 Baina egunaren amaieran, zehaztugabetasunak guztiak gure inguruan da. 1584 01:18:19,290 --> 01:18:22,240 >> Eta hori ere, izan daiteke beldurra kasuan. 1585 01:18:22,240 --> 01:18:25,590 Bihurtzen da Superman 3 eta Office Space alde batera utzita, 1586 01:18:25,590 --> 01:18:28,460 batzuk oso erreala izan daiteke mundu ramifications 1587 01:18:28,460 --> 01:18:32,290 zehazgabea errealitateei Datuen irudikapena 1588 01:18:32,290 --> 01:18:34,770 hori are gizakiak dugu Egun honetan ez dute zertan 1589 01:18:34,770 --> 01:18:38,230 ulertzen baita behar dugun bezala, edo gogoratzen gisa askotan behar dugun bezala. 1590 01:18:38,230 --> 01:18:42,950 Eta, hain zuzen ere, honako clip da mundua oso erreala batzuk begirada bat 1591 01:18:42,950 --> 01:18:47,730 duzu bada, zer gertatzen adarkatzeak ez zehaztugabetasunak duten eskertzen 1592 01:18:47,730 --> 01:18:50,065 zenbakien ordezkaritza gertatuko. 1593 01:18:50,065 --> 01:18:51,300 >> [Bideo-erreprodukzioa] 1594 01:18:51,300 --> 01:18:55,620 >> -Computers, Denok etorri dugu onartu askotan frustrating arazoak dagoela 1595 01:18:55,620 --> 01:19:00,310 bugs them-- batera joan, birusak, eta software glitches, 1596 01:19:00,310 --> 01:19:03,130 txiki prezioak ordaintzeko erosotasuna. 1597 01:19:03,130 --> 01:19:07,800 Baina teknologiako handiko eta abiadura handiko militar eta espazio programa aplikazioak, 1598 01:19:07,800 --> 01:19:12,800 txikiena arazoa ahal egon hondamendia sartu magnified. 1599 01:19:12,800 --> 01:19:18,900 >> Ekainaren 4an, 1996, zientzialari prestatu tripulaziorik Ariane 5 suziri bat abiarazteko. 1600 01:19:18,900 --> 01:19:21,220 zientifiko zen egitea sateliteak diseinatu 1601 01:19:21,220 --> 01:19:24,600 hain zuzen, nola ezarriko den Lurraren eremu magnetikoaren elkarreragina 1602 01:19:24,600 --> 01:19:27,410 haize eguzki. 1603 01:19:27,410 --> 01:19:30,800 Txupinazoa eraiki zen Europako Espazio Agentziak, 1604 01:19:30,800 --> 01:19:34,370 altxatzen off bere instalazioak bertatik French Guiana kostaldean. 1605 01:19:34,370 --> 01:19:37,540 >> 37 segundotan sartu -At Hegaldian, dute lehen 1606 01:19:37,540 --> 01:19:39,270 nabaritu zerbait oker joan zen. 1607 01:19:39,270 --> 01:19:42,250 Toberak ziren biraketa modu bat beharko lukete benetan ez. 1608 01:19:42,250 --> 01:19:46,580 40 segundo sartu hegaldia, Argi eta garbi, ibilgailua arazorik izan zen. 1609 01:19:46,580 --> 01:19:48,850 >> Eta hori da egin dute erabaki bat da suntsitzeko. 1610 01:19:48,850 --> 01:19:52,780 Barruti segurtasun ofizial, batera ausartuko izugarria, botoia sakatzen, 1611 01:19:52,780 --> 01:19:58,150 nintzen suziria, izan liteke aurretik herritarren segurtasuna arrisku bat bihurtu. 1612 01:19:58,150 --> 01:20:01,060 >> dontzeila zen -Hau Ariane 5 bidaia. 1613 01:20:01,060 --> 01:20:03,960 Eta bere suntsipena hartu place delako akats bat 1614 01:20:03,960 --> 01:20:05,822 suziria softwarea murgildurik. 1615 01:20:05,822 --> 01:20:08,280 -Ariane Arazoa zen ez zela kopuru hori 1616 01:20:08,280 --> 01:20:10,600 64 bit adierazteko beharrezkoak. 1617 01:20:10,600 --> 01:20:13,590 Eta Bihurtzeko nahi zuten 16-bit kopuru bat da. 1618 01:20:13,590 --> 01:20:15,610 bere gain hartu dute hori kopurua ez zen inoiz joan 1619 01:20:15,610 --> 01:20:20,980 oso handia izan da, horietako gehienak 64-bit kopuru baten digitu zero ziren. 1620 01:20:20,980 --> 01:20:22,440 Oker ziren. 1621 01:20:22,440 --> 01:20:25,060 >> -The Bat imposibilidad software programa onartu 1622 01:20:25,060 --> 01:20:29,510 zenbaki-mota sortutako beste porrot erroa zen. 1623 01:20:29,510 --> 01:20:34,350 Software garapena bihurtu a Teknologia berri asko oso garestia. 1624 01:20:34,350 --> 01:20:38,140 Ariane suziria dute oso izan arrakasta, beraz, askoz softwarea 1625 01:20:38,140 --> 01:20:41,550 sortu da gainera, izan zen Ariane 5 erabilitako. 1626 01:20:41,550 --> 01:20:47,940 >> oinarrizko arazoa -The zen Ariane dela 5 azkarragoa zen, bizkortu azkarrago. 1627 01:20:47,940 --> 01:20:51,450 Eta software ez izan hori kontuan. 1628 01:20:51,450 --> 01:20:55,060 >> -Suziriaren Suntsitzea finantza hondamendia handi bat izan zen, 1629 01:20:55,060 --> 01:20:58,790 minutuko software error ondorioz. 1630 01:20:58,790 --> 01:21:01,210 Baina hau ez zen lehena denbora datu bihurtzeko arazoak 1631 01:21:01,210 --> 01:21:04,820 izan beteta suziria teknologia modernoa. 1632 01:21:04,820 --> 01:21:08,050 >> -In 1991, hasieratik ekin Lehenengo Golkoko Gerra, 1633 01:21:08,050 --> 01:21:10,570 Patriot misil bizi antzeko 1634 01:21:10,570 --> 01:21:12,800 zenbakia bihurtze arazoekin. 1635 01:21:12,800 --> 01:21:16,090 Eta, ondorioz, 28 pertsona, 28 soldadu amerikar, 1636 01:21:16,090 --> 01:21:19,080 hil ziren, eta buruz beste batzuk 100 zauritu, 1637 01:21:19,080 --> 01:21:22,780 Patriot, izan zen ustezko sarrerako Scuds aurka babesteko, 1638 01:21:22,780 --> 01:21:25,830 huts misil bat su. 1639 01:21:25,830 --> 01:21:31,670 >> -Noiz Irak Kuwaiten, eta America abian jarri Desert Storm 1991 hasieran, 1640 01:21:31,670 --> 01:21:35,780 Patriot misilen bateriak ziren zabaldutako Saudi Arabia eta Israel babesteko 1641 01:21:35,780 --> 01:21:39,230 Irakeko Scud misil erasoak. 1642 01:21:39,230 --> 01:21:43,810 Patriot US erdi-sorta bat da aire sistema azalera, fabrikatu 1643 01:21:43,810 --> 01:21:45,770 Raytheon konpainiaren arabera. 1644 01:21:45,770 --> 01:21:52,340 >> -The Patriot interceptor tamaina bera oinak buruz gutxi gorabehera 20 luzea da. 1645 01:21:52,340 --> 01:21:55,230 Eta libera 2.000 pisatzen ditu. 1646 01:21:55,230 --> 01:21:59,320 Eta buruz warhead bat egiten da, gutxi gorabehera da 150 kiloko uste dut. 1647 01:21:59,320 --> 01:22:03,930 Warhead bera da handiko lehergai bat, eta horrek 1648 01:22:03,930 --> 01:22:07,330 bere inguruan zatiak ditu. 1649 01:22:07,330 --> 01:22:11,680 warhead, karterra da Buckshot bezala jarduteko diseinatuta. 1650 01:22:11,680 --> 01:22:14,110 >> misil -The egiten dira lau edukiontzi bakoitzeko, 1651 01:22:14,110 --> 01:22:17,130 eta erdi trailer garraiatzen. 1652 01:22:17,130 --> 01:22:24,930 >> -The Patriot misil anti-sistema doa, gutxienez 20 urte orain. 1653 01:22:24,930 --> 01:22:28,420 It diseinatu zen aire defentsa misil bat bezala 1654 01:22:28,420 --> 01:22:30,720 behera tiro etsai hegazkinak. 1655 01:22:30,720 --> 01:22:34,500 Lehenengo Golkoko Gerran, denean gerra batera iritsi zen, 1656 01:22:34,500 --> 01:22:39,745 Army erabili den nahi tiro behera Scuds, hegazkinak ez. 1657 01:22:39,745 --> 01:22:43,620 >> Irakeko Air Force zen Ez hain arazo bat askoz. 1658 01:22:43,620 --> 01:22:46,670 Baina Armada Scuds kezkatzen. 1659 01:22:46,670 --> 01:22:50,170 Eta beraz, saiatu behar dute berritzea Patriot. 1660 01:22:50,170 --> 01:22:52,800 >> etsai bat -Intercepting misilen mach 5 bidaiatzen 1661 01:22:52,800 --> 01:22:55,830 zen joan den erronka nahikoa. 1662 01:22:55,830 --> 01:22:58,490 Baina Patriot zen zerbitzua rushed, 1663 01:22:58,490 --> 01:23:02,860 Armada ez zen jakitun Irakeko aldaketa hori egin 1664 01:23:02,860 --> 01:23:05,930 beren Scuds ia ezinezkoa sakatu. 1665 01:23:05,930 --> 01:23:10,740 >> -Zer Gertatu Scuds da ziren etortzen ziren ezegonkorra. 1666 01:23:10,740 --> 01:23:11,692 wobbling ziren. 1667 01:23:11,692 --> 01:23:14,910 Horren arrazoia izan zen Irakiarrak, ordena 1668 01:23:14,910 --> 01:23:18,280 600 kilometro eskuratu 300 kilometro bat atera 1669 01:23:18,280 --> 01:23:21,700 sorta misil, hartu pisua aurrean warhead out. 1670 01:23:21,700 --> 01:23:23,390 warhead, arinagoa dute. 1671 01:23:23,390 --> 01:23:27,330 >> Beraz, gaur egun Patriot da Scud da etortzen saiatzen. 1672 01:23:27,330 --> 01:23:30,230 Eta denbora gehiena, etorri denbora gehienek, 1673 01:23:30,230 --> 01:23:32,940 besterik ez litzateke Scud bidez hegan. 1674 01:23:32,940 --> 01:23:37,260 Patriot sistema operadore Behin konturatu Patriot helburu galduak, 1675 01:23:37,260 --> 01:23:41,690 Patriot warhead detonated dute Biktimak posible balitz saihesteko 1676 01:23:41,690 --> 01:23:44,570 onartzen zen lurrera erortzen. 1677 01:23:44,570 --> 01:23:48,790 >> zer jende gehien ikusi zen -Hori, zerua fireballs handi horiek, 1678 01:23:48,790 --> 01:23:54,550 eta gisa ulertua Scud warheads atzematen. 1679 01:23:54,550 --> 01:23:56,630 >> Gauean ere -nahiz Zeru, Patriots agertu 1680 01:23:56,630 --> 01:24:00,370 Arrakastaz izan Scuds suntsituz, Dhahran, 1681 01:24:00,370 --> 01:24:03,360 Oker ez izan daiteke Bere performance buruz. 1682 01:24:03,360 --> 01:24:07,970 Badira, Patriot radar sistema galdu pista sarrerako Scud baten, 1683 01:24:07,970 --> 01:24:10,721 eta inoiz abian dela eta software akats bat da. 1684 01:24:10,721 --> 01:24:14,090 1685 01:24:14,090 --> 01:24:18,940 lehen aurkitu israeldarren zen luzeagoa sistema erabiltzen zen, 1686 01:24:18,940 --> 01:24:22,690 orduan eta handiagoa denbora desadostasun zen, ondorioz barneratua erloju bat 1687 01:24:22,690 --> 01:24:24,810 sistema informatikoan. 1688 01:24:24,810 --> 01:24:28,210 >> -About Bi aste lehenago Dhahran tragedia, 1689 01:24:28,210 --> 01:24:30,770 Israeldarrek nahi du Defensa Saila 1690 01:24:30,770 --> 01:24:32,590 duten sistema denbora galdu zen. 1691 01:24:32,590 --> 01:24:35,360 zortzi ordu edo lasterka egin ondoren, Nabaritu sistema dutela 1692 01:24:35,360 --> 01:24:37,720 zen nabarmen zehaztasun gutxiago ari. 1693 01:24:37,720 --> 01:24:41,900 Defentsa Sailak erantzun arabera Patriot bateriak guztiak kontatzea 1694 01:24:41,900 --> 01:24:44,950 sistemei ez uztea denbora luzez. 1695 01:24:44,950 --> 01:24:49,160 Inoiz esan dute denbora luzea was-- zortzi ordu, 10 ordu, 1.000 ordu. 1696 01:24:49,160 --> 01:24:51,360 Inork ez zekien. 1697 01:24:51,360 --> 01:24:53,380 >> Patriot bateria -The kuartel geldirik 1698 01:24:53,380 --> 01:24:58,350 Dhahran eta bere flawed barne at erloju izan dira 100 ordu baino gehiago 1699 01:24:58,350 --> 01:25:01,670 Otsailaren 25eko gauean. 1700 01:25:01,670 --> 01:25:05,917 >> Denbora arloak zehaztasun bat -Ez bigarren hamarren bat inguru. 1701 01:25:05,917 --> 01:25:08,000 Orain, segundo hamarren bat zenbakia interesgarri bat da, 1702 01:25:08,000 --> 01:25:11,920 ezin da adierazi duelako binary zehazki, bertan 1703 01:25:11,920 --> 01:25:16,820 esan nahi du, ezin da zehatz-mehatz adierazitako Edozein ordenagailu digital modernoaren. 1704 01:25:16,820 --> 01:25:18,540 Zaila da sinesten. 1705 01:25:18,540 --> 01:25:21,210 >> Baina erabili hau adibide gisa. 1706 01:25:21,210 --> 01:25:23,540 Dezagun kopuru bat hirugarrena. 1707 01:25:23,540 --> 01:25:27,350 hirugarren bat ezin izan hamartarrean adierazten zehazki. 1708 01:25:27,350 --> 01:25:32,080 Hirugarren One 0,333 da joan infinitura. 1709 01:25:32,080 --> 01:25:36,480 >> Ez dago modurik egin dela zehaztasun osoz hamartarrean. 1710 01:25:36,480 --> 01:25:39,560 Hori da zehazki arazo mota Hori Patriot gertatu. 1711 01:25:39,560 --> 01:25:44,100 Luzeagoa sistema zuena, eta okerragoa denbora error bihurtu zen. 1712 01:25:44,100 --> 01:25:48,890 >> 100 ordutegia -Ondoren, etorri denboran error zen hirugarren bat bakarrik 1713 01:25:48,890 --> 01:25:50,600 segundo baten. 1714 01:25:50,600 --> 01:25:54,210 Baina bat targeting dagokionez misilen mach 5 bidaiatzen, 1715 01:25:54,210 --> 01:25:58,710 segimendua batean 600 metro baino gehiagoko error. 1716 01:25:58,710 --> 01:26:02,120 errore larri bat izango litzateke zer on soldaduak 1717 01:26:02,120 --> 01:26:08,940 gertatu da Scud abian jartzeko detektatu Abisua goiz sateliteek 1718 01:26:08,940 --> 01:26:12,860 eta bazekiten Scud zela Beren datozen Zuzendaritza. 1719 01:26:12,860 --> 01:26:15,320 Ez dakite non datozen zen. 1720 01:26:15,320 --> 01:26:18,250 >> Gaur egun, izan -Ez radar gehienez Patriot sistemaren osagaia 1721 01:26:18,250 --> 01:26:23,190 Dhahran defendatzeko kokatu eta mantentzeko sarrerako etsaiaren misil pista. 1722 01:26:23,190 --> 01:26:24,609 >> radar -The oso argia zen. 1723 01:26:24,609 --> 01:26:26,650 Egia esan, jarraipena litzateke Scud posizioa, 1724 01:26:26,650 --> 01:26:30,350 eta, ondoren, aurreikusteko, non ziurrenik hurrengo denbora radar bidaliko litzateke 1725 01:26:30,350 --> 01:26:31,420 a pultsu out. 1726 01:26:31,420 --> 01:26:33,110 Hori izan zen izeneko gama ate bat. 1727 01:26:33,110 --> 01:26:37,660 >> Orduan, Patriot behin erabakitzen denbora nahikoa du 1728 01:26:37,660 --> 01:26:42,450 gainditu atzera joan eta egiaztatu hurrengoan detektatu objektu honen kokapena, 1729 01:26:42,450 --> 01:26:43,600 atzera egingo du. 1730 01:26:43,600 --> 01:26:48,650 Beraz, itzuli zen oker hura leku, objektu ez du ikusten. 1731 01:26:48,650 --> 01:26:52,160 Eta ez zela erabakiko da objektu, detektatzeko faltsu bat izan zen, 1732 01:26:52,160 --> 01:26:53,930 eta pista jaisten. 1733 01:26:53,930 --> 01:26:57,030 >> -The Sarrerako Scud desagertu radar pantailan. 1734 01:26:57,030 --> 01:27:00,260 Eta segundo geroago, kuartelera sartu danbateko. 1735 01:27:00,260 --> 01:27:06,150 Scud 28 lagun hil dira, eta azkena izan zen Lehenengo Golkoko Gerran tiro bat. 1736 01:27:06,150 --> 01:27:11,960 >> Tragikoki, software eguneratu Hurrengo egunean Dhahran iritsi. 1737 01:27:11,960 --> 01:27:14,930 software flaw izan izan finkoa, itxiera 1738 01:27:14,930 --> 01:27:19,806 kapitulu bat nahasia du Patriot misil historia. 1739 01:27:19,806 --> 01:27:20,729 >> [Bideo-erreprodukzioa] 1740 01:27:20,729 --> 01:27:23,520 DAVID J. MALAN: Beraz, hori guztia esan gainezkatzea arazo horiek 1741 01:27:23,520 --> 01:27:25,860 eta zehaztugabetasunak too errealak dira guztiak. 1742 01:27:25,860 --> 01:27:26,920 Beraz, nola lortuko dugu hemen? 1743 01:27:26,920 --> 01:27:28,895 besterik printf buruz hitz egiten hasi ginen. 1744 01:27:28,895 --> 01:27:31,270 Berriz ere, funtzio honek zerbait bistaratzen pantailara, 1745 01:27:31,270 --> 01:27:33,450 eta hortik aurrera sartu dugu beste zenbait funtzio 1746 01:27:33,450 --> 01:27:34,945 deiturikoak CS50 liburutegia. 1747 01:27:34,945 --> 01:27:36,910 Eta egingo dugu jarraitzeko ikusi horiek denbora dela eta. 1748 01:27:36,910 --> 01:27:40,760 Eta guk, batez ere, erabili katea, eta int, eta gaur egun ere, karroza lortu, 1749 01:27:40,760 --> 01:27:44,410 eta oraindik beste batzuk oraindik ere izango dugu topo eta erabili geure luze baino lehen. 1750 01:27:44,410 --> 01:27:47,220 >> Baina oraingoan, izan Dagoeneko ikusi dugu beharra 1751 01:27:47,220 --> 01:27:50,520 gordetzeko zer funtzio horiek eskuan itzuli? 1752 01:27:50,520 --> 01:27:52,920 Gurekin atzera kate bat entregatu dute, edo int bat, edo mugikor bat. 1753 01:27:52,920 --> 01:27:56,070 Eta batzuetan hori jarri behar dugu katea, edo int, float edo, nonbait. 1754 01:27:56,070 --> 01:28:00,100 >> Eta gauza horiek gordetzeko, Gogoratzen besterik Scratch bezala, aldagai ditugu. 1755 01:28:00,100 --> 01:28:03,260 Baina Scratch bezala, C benetako mota ditugu 1756 01:28:03,260 --> 01:28:05,530 Datu aldagai mota, oro har gehiago 1757 01:28:05,530 --> 01:28:08,640 horien artean, kate bat, int bat, bat flotatzen, eta beste batzuk, horiek oraindik. 1758 01:28:08,640 --> 01:28:12,321 >> Eta beraz, aldagai aldarrikatzen dugu C, Gure datu-motak aldarrikatu izan dugu. 1759 01:28:12,321 --> 01:28:14,820 Hau ez da zerbait egingo dugu geroago egiteko seihilekoan dute 1760 01:28:14,820 --> 01:28:16,810 trantsizio dugu beste hizkuntza bat. 1761 01:28:16,810 --> 01:28:19,610 Baina, oraingoz, behar ez dugu Aldez aurretik priori den, 1762 01:28:19,610 --> 01:28:24,370 Ordenagailua zer mota azaltzeko aldagarriei digu eman nahi dugu. 1763 01:28:24,370 --> 01:28:27,290 >> Orain, bere aldetik, to inprimatu Datu mota mota horiek, 1764 01:28:27,290 --> 01:28:29,570 Esango printf zer espero behar dugu. 1765 01:28:29,570 --> 01:28:32,450 Eta ehuneko kateak s ikusi genuen, eta ehuneko i zenbaki osoen, 1766 01:28:32,450 --> 01:28:33,790 eta beste batzuk jada. 1767 01:28:33,790 --> 01:28:37,237 Eta horiek besterik ez dira baldintzak ikusizko aurkezpen 1768 01:28:37,237 --> 01:28:38,070 Informazio hori. 1769 01:28:38,070 --> 01:28:42,080 >> Eta horiek bakoitzean benetan izan parametrized edo nolabait tweaked, 1770 01:28:42,080 --> 01:28:45,370 kontrol sakontzeko nahi baduzu irteera mota lortzen duzu. 1771 01:28:45,370 --> 01:28:49,604 Eta, hain zuzen ere, bihurtzen da, ez dagoela bakarrik ez da backslash linea berri bat egiteko n. 1772 01:28:49,604 --> 01:28:52,520 Ez dago beste zerbait izeneko backslash orga itzulera, for r bertan 1773 01:28:52,520 --> 01:28:54,360 da gehiago bat Akin eskola zaharra idazmakina, 1774 01:28:54,360 --> 01:28:57,690 eta, halaber, Windows urte askotan erabili. 1775 01:28:57,690 --> 01:28:59,690 >> Ez dago fitxetan backslash t da. 1776 01:28:59,690 --> 01:29:03,170 Kontua da, hori nahi izanez gero kate baten barruan bikoitza aurrekontua, 1777 01:29:03,170 --> 01:29:05,000 hori erabili dugu abisuaren bikoitza bikoitza aurrekontua 1778 01:29:05,000 --> 01:29:07,900 aurrekontua ezker eta eskuin aldean gure kateak Amaieran, orain arte. 1779 01:29:07,900 --> 01:29:09,420 Hori gauza nahastu omen ziren. 1780 01:29:09,420 --> 01:29:12,503 >> komatxoak jarri nahi baduzu Kate bat eta, hain zuzen ere, erdian, 1781 01:29:12,503 --> 01:29:13,670 nahasia ikusten da. 1782 01:29:13,670 --> 01:29:17,120 Eta, beraz, ihes egin behar duzu, beraz, hitz egin, zerbait komatxoak 1783 01:29:17,120 --> 01:29:18,860 bezala, literalki, backslash bikoitza aurrekontua. 1784 01:29:18,860 --> 01:29:20,230 Eta ez gutxi beste bat da oraindik. 1785 01:29:20,230 --> 01:29:24,540 Eta horietako gehiago ikusiko dugu luze baino lehen benetako erabilera. 1786 01:29:24,540 --> 01:29:27,930 >> Hargatik trantsizio orain datuak, eta ordezkaritza, 1787 01:29:27,930 --> 01:29:30,820 eta eragile aritmetikoen, guztiak horietatik eman zigun eraikin batzuk 1788 01:29:30,820 --> 01:29:32,070 zein bloke to play. 1789 01:29:32,070 --> 01:29:34,481 Baina orain utzi benetan ematen en Gurekin hiztegia gainerako 1790 01:29:34,481 --> 01:29:36,230 dagoeneko izan dugu Scratch azken astean 1791 01:29:36,230 --> 01:29:39,350 Begirada bat hartuz, beste batzuk arabera Duzula C eraikuntzen ez denak. 1792 01:29:39,350 --> 01:29:41,680 Baina ideiak gaude Benetan, besterik ikusi buruz 1793 01:29:41,680 --> 01:29:45,610 Itzulpen azpimarratzeko Hizkuntza bat, Scratch, bestera, C. 1794 01:29:45,610 --> 01:29:48,470 >> Eta denboran zehar, jaso egingo dugu sortu gure toolkit tresna gehiago, 1795 01:29:48,470 --> 01:29:49,820 nolabait esateko, sintaktikoki. 1796 01:29:49,820 --> 01:29:54,190 Eta, hain zuzen ere, egingo ideia hori ikusten duzu dira orain, baizik astetik ezagutzen. 1797 01:29:54,190 --> 01:29:55,200 Beraz, egin dezagun. 1798 01:29:55,200 --> 01:29:58,870 >> Dezagun aurrera eta Greba programa bat hori benetan adierazpide batzuk erabiltzen ditu, 1799 01:29:58,870 --> 01:30:00,720 adierazpen boolear bat. 1800 01:30:00,720 --> 01:30:02,810 Dezagun aurrera me hemen eta fitxategi berri bat sortzeko. 1801 01:30:02,810 --> 01:30:06,090 condition.c hori deitzen dut. 1802 01:30:06,090 --> 01:30:09,350 >> Dezagun aurrera eta besteak beste CS50 liburutegia. 1803 01:30:09,350 --> 01:30:12,640 Eta utzi aurrera me eta besteak Io.h estandarra gure funtzioak egiteko, 1804 01:30:12,640 --> 01:30:14,690 eta printf, eta gehiago, hurrenez hurren. 1805 01:30:14,690 --> 01:30:18,900 Neure burua ematen dit of boilerplate dagoela int hutsune nagusia, eta horren azalpena egingo dugu 1806 01:30:18,900 --> 01:30:20,360 etorriko den etorkizunean. 1807 01:30:20,360 --> 01:30:23,820 >> Orain aurrera me eta eman Neure burua get int bidez int bat. 1808 01:30:23,820 --> 01:30:25,970 Ondoren utzi aurrera me eta hori egin. 1809 01:30:25,970 --> 01:30:30,150 Esan nahi dut i bada less-- dezagun positiboa, negatiboa artean bereizteko, 1810 01:30:30,150 --> 01:30:31,260 edo zero balioak. 1811 01:30:31,260 --> 01:30:36,630 >> Beraz, bada, zero baino txikiagoa da i, let me besterik ez dute programa hau, besterik gabe, esan, 1812 01:30:36,630 --> 01:30:42,370 negatiboa, backslash n, beste i zero baino handiagoa bada. 1813 01:30:42,370 --> 01:30:47,030 Orain naiz, jakina, esan nahi du printf positiboa, backslash n. 1814 01:30:47,030 --> 01:30:50,690 Eta gero beste if-- hau egin ahal izan dut. 1815 01:30:50,690 --> 01:30:53,410 >> berdin i 0 bada egin izan dut. 1816 01:30:53,410 --> 01:30:55,840 Baina egingo dut egiteko litzaidake Gutxienez akats bat dagoeneko. 1817 01:30:55,840 --> 01:30:59,480 Gogoratzen berdin ikurra dela ez da berdina, gizakiak ezagutzen den bezala. 1818 01:30:59,480 --> 01:31:01,010 >> Baina esleitzeko operadorea da. 1819 01:31:01,010 --> 01:31:05,640 Eta ez dugu nahi 0 hartzeko on eskubidea eta jarri, i ere ezker. 1820 01:31:05,640 --> 01:31:11,810 Beraz, nahasmena hau saihesteko, edo agian berdinen gehiegikeria sinatu, 1821 01:31:11,810 --> 01:31:14,740 gizakiak erabaki duela urte batzuk programazio hizkuntza askotan 1822 01:31:14,740 --> 01:31:18,000 denean, berdintasun egiaztatu nahi baduzu ezkerreko eta eskuineko arteko, 1823 01:31:18,000 --> 01:31:19,635 erabili benetan berdin berdin. 1824 01:31:19,635 --> 01:31:21,010 Beraz, berdintasun ikurraren bi aldiz sakatu duzu. 1825 01:31:21,010 --> 01:31:25,600 Noiz izateko eskubidea batetik esleitu nahi duzu Ezkerretik, berdin zeinu bakar bat erabili duzu. 1826 01:31:25,600 --> 01:31:29,360 Beraz Halako gehiago egin genezake i berdin berdin zero. 1827 01:31:29,360 --> 01:31:31,710 >> ondoren, ezin izan dut joan ireki nire kizkur giltza, 1828 01:31:31,710 --> 01:31:36,087 eta esan, printf 0, backslash n, egin. 1829 01:31:36,087 --> 01:31:38,170 Baina gogoratu nola horiek Sardexka errepidea lan egin daiteke. 1830 01:31:38,170 --> 01:31:39,836 Eta, benetan, logika pentsatu. 1831 01:31:39,836 --> 01:31:41,510 i zenbaki bat da. 1832 01:31:41,510 --> 01:31:43,320 zenbaki oso bat da, zehazki. 1833 01:31:43,320 --> 01:31:48,600 Eta horrek esan nahi du gutxiago izan nahi du 0 edo 0, edo 0 baino handiagoa baino. 1834 01:31:48,600 --> 01:31:51,600 Beraz, ez da honen moduko da Kasu inplikatzen lehenetsia. 1835 01:31:51,600 --> 01:31:54,920 >> Eta, beraz, ezin izan dugu, besterik ez gustatzen Scratch, bestela, galtzen batera uztea, 1836 01:31:54,920 --> 01:31:55,747 eta besterik gabe, bestela esateko. 1837 01:31:55,747 --> 01:31:57,830 Logikoa denez, gero programatzaile dakigu ez da bakarrik 1838 01:31:57,830 --> 01:32:01,635 hiru ontzi daude bertan bat sartu eszenatoki lehena fall-- daiteke, 1839 01:32:01,635 --> 01:32:03,510 bigarrena, hirugarrena edo hau da, ez egin kasu 1840 01:32:03,510 --> 01:32:07,100 traba doitasun osagarriak gehituz eta logika osagarriak han. 1841 01:32:07,100 --> 01:32:09,690 Just joan aurretik batera lehenetsia kasuan hemen beste ezertan. 1842 01:32:09,690 --> 01:32:11,950 >> Orain, goazen aurrera hau gorde ondoren, egin 1843 01:32:11,950 --> 01:32:15,760 baldintza dot barra conditions-- Ez handia user interface, 1844 01:32:15,760 --> 01:32:18,914 naiz ez delako galdetu du Erabiltzaileak, aipatu dudan bezala. 1845 01:32:18,914 --> 01:32:19,580 Baina hori fina. 1846 01:32:19,580 --> 01:32:20,454 mantentzeko erraza dugu. 1847 01:32:20,454 --> 01:32:21,890 Dezagun saiatu kopurua 42. 1848 01:32:21,890 --> 01:32:23,240 Eta hori positiboa da. 1849 01:32:23,240 --> 01:32:26,120 Dezagun saiatu kopurua negatiboa 42, negatiboa. 1850 01:32:26,120 --> 01:32:28,244 >> Dezagun saiatu balioa 0. 1851 01:32:28,244 --> 01:32:29,160 Eta, hain zuzen ere, lan egiten du. 1852 01:32:29,160 --> 01:32:33,900 Orain, arazo aurretik ikusiko duzu luze, probak gauzak hiru aldiz, 1853 01:32:33,900 --> 01:32:34,980 Ziurrenik ez da nahikoa. 1854 01:32:34,980 --> 01:32:37,438 Ziurrenik Probak egin nahi duzu zenbaki altuak, txikiago batzuk 1855 01:32:37,438 --> 01:32:40,520 zenbakiak, izkinan kasu batzuetan, gisa deskribatzeko beharko dugu. 1856 01:32:40,520 --> 01:32:42,500 >> Baina, oraingoz, hau da a Programa nahiko sinplea. 1857 01:32:42,500 --> 01:32:45,160 Eta nahiko ziur nago, logikoki, erortzen dela hiru kasuetan sartu. 1858 01:32:45,160 --> 01:32:49,360 Eta, hain zuzen ere, nahiz eta ez jakin, besterik potentziala downsides bideratuta 1859 01:32:49,360 --> 01:32:53,480 zehaztugabetasunak eta gainezkatzea, in Errealitate non CS50 arazo asko, 1860 01:32:53,480 --> 01:32:56,000 ez gara kezkatu joan , Denbora guztian, 1861 01:32:56,000 --> 01:32:59,050 gainezkatzea gai horiek eta zehaztugabetasunak, baita, hain zuzen ere, C, 1862 01:32:59,050 --> 01:33:01,889 Egia esan, ez dagoela guztien erraza gauza horiek saihesteko. 1863 01:33:01,889 --> 01:33:04,180 gora zenbatu nahi badituzu handiagoa, eta handiagoa da, eta handiagoa, 1864 01:33:04,180 --> 01:33:07,510 bihurtzen da, ez dira teknika duzu erabili ahal izango da, sarritan, gauzak inplikatuz 1865 01:33:07,510 --> 01:33:11,240 liburutegiak, kodea bildumak, hori beste pertsona wrote erabili ahal izango duzula, 1866 01:33:11,240 --> 01:33:13,910 eta beste hizkuntzetan bezala Java eta beste batzuk, egia esan, 1867 01:33:13,910 --> 01:33:15,800 egiteko asko errazago are handiagoa zenbatu. 1868 01:33:15,800 --> 01:33:19,810 Beraz, benetan arriskuak horietako batzuk erabiltzen duzun hizkuntzaren funtzio bat. 1869 01:33:19,810 --> 01:33:22,710 Eta datozen asteetan, egingo dugu ikusi C nola arriskutsua benetan 1870 01:33:22,710 --> 01:33:24,950 ez baduzu erabili behar bezala izan daiteke. 1871 01:33:24,950 --> 01:33:27,610 Baina hortik aurrera, eta batera Python, eta JavaScript, egingo 1872 01:33:27,610 --> 01:33:32,620 babesak gehigarri batzuk geruzari dugu, eta exekutatu arrisku horiek gutxiago. 1873 01:33:32,620 --> 01:33:35,820 >> Hargatik egin apur bat gehiago gure programa logika interesgarri. 1874 01:33:35,820 --> 01:33:39,110 Hargatik aurrera me eta sortu Logikoa izeneko programa bat 1875 01:33:39,110 --> 01:33:43,804 Beraz, besterik batzuekin ezin dut jolastu logikak, logical.c. 1876 01:33:43,804 --> 01:33:46,870 Besterik ez dut kopiatu eta itsatsi lehenago hain batetik kodea itzuliko naiz 1877 01:33:46,870 --> 01:33:49,950 polita abiapuntua honetarako. 1878 01:33:49,950 --> 01:33:53,980 >> Let me denbora Horretarako char C. naiz C izena emateko joan 1879 01:33:53,980 --> 01:33:58,510 konbentzionalak da, besterik ez delako, erabiltzaileari pertsonaia bat lortzeko. 1880 01:33:58,510 --> 01:34:00,730 Eta demagun bezala Naiz parte gauzatzeko I 1881 01:34:00,730 --> 01:34:04,130 Rm programa horren, kendu Hori baino lehenago programa galdetuko erabiltzaileak 1882 01:34:04,130 --> 01:34:05,400 fitxategi bat kentzeko. 1883 01:34:05,400 --> 01:34:06,750 Nola liteke hori? 1884 01:34:06,750 --> 01:34:11,090 >> Esan nahi dut, C berdinen berdin, aurrekontua unquote, 1885 01:34:11,090 --> 01:34:16,304 y, ondoren, naiz bere gain hartzen joan Hori bai, erabiltzaileak aukeratu du. 1886 01:34:16,304 --> 01:34:17,470 Besterik ez naiz bai inprimatzeko. 1887 01:34:17,470 --> 01:34:19,440 egia esan, idazten ari bada kentzea programa, 1888 01:34:19,440 --> 01:34:21,420 fitxategia kendu genezake Kode lerro gehiago. 1889 01:34:21,420 --> 01:34:22,461 Baina mantentzeko erraza dugu. 1890 01:34:22,461 --> 01:34:25,950 1891 01:34:25,950 --> 01:34:31,250 >> Bestela c berdin bada berdinen n-- eta, orain, hemen, erran nahi dut, 1892 01:34:31,250 --> 01:34:32,980 erabiltzaileari nahiko zuenik ez. 1893 01:34:32,980 --> 01:34:34,360 Eta gero beste, badakizu zer? 1894 01:34:34,360 --> 01:34:36,200 Ez dakit zer gehiago erabiltzaileak idazten da. 1895 01:34:36,200 --> 01:34:38,533 Beraz, ez dut besterik esateko duten joan Akats bat gertatu dela, edozein dela ere, 1896 01:34:38,533 --> 01:34:40,070 berak benetan idatzi. 1897 01:34:40,070 --> 01:34:41,180 >> Beraz, zer gertatzen da hemen? 1898 01:34:41,180 --> 01:34:44,530 Ez dago funtsezko aldea da Iraganean egin dut versus. 1899 01:34:44,530 --> 01:34:49,300 Komatxo bikoitzak, komatxo, bikoitza komatxo, eta, hala ere, komatxo bakar, 1900 01:34:49,300 --> 01:34:50,170 Komatxo. 1901 01:34:50,170 --> 01:34:52,860 Bihurtzen da, C, noiz Kate bat idatzi nahi, 1902 01:34:52,860 --> 01:34:56,680 erabili komatxo egiten duzu, nik bezalaxe dugu dira guztiak hau erabiliz printf batera. 1903 01:34:56,680 --> 01:35:02,030 >> Baina besterik bat landu nahi baduzu karaktere bakar, llamado char bat, 1904 01:35:02,030 --> 01:35:03,780 ondoren, erabili benetan Komatxo. 1905 01:35:03,780 --> 01:35:05,450 Nik programatutako Duzun dutenek aurretik, ez duzu nahikoa 1906 01:35:05,450 --> 01:35:07,850 honekin kezkatu izan Hizkuntza eta zenbait bereizketa. 1907 01:35:07,850 --> 01:35:09,450 C, Gaia ez. 1908 01:35:09,450 --> 01:35:12,560 Eta beraz, char bat lortu dut eta nahi dut char duten konparatzeko berdinen erabiliz 1909 01:35:12,560 --> 01:35:18,350 y edo n bezala letra batzuk berdin, ez dut, hain zuzen ere, behar du single quotes dute. 1910 01:35:18,350 --> 01:35:19,770 >> Orain, dezagun aurrera, eta hori egin. 1911 01:35:19,770 --> 01:35:26,180 Dezagun aurrera eta egin ez dot logikoa barra logikoa. 1912 01:35:26,180 --> 01:35:27,305 Eta orain galdetuko ari naiz. 1913 01:35:27,305 --> 01:35:30,638 Beraz, zentzuzkoa, bat hobeto erabiltzaile esperientzia litzateke benetan esaidazu zer egin behar dugu hemen. 1914 01:35:30,638 --> 01:35:33,030 Baina ez dut besterik blindly joan den esan y bai, OK, polita. 1915 01:35:33,030 --> 01:35:35,780 >> Dezagun exekutatu berriro, n ez da, polita. 1916 01:35:35,780 --> 01:35:39,610 zenbait pertsona dakit bezala Demagun, Nire txapelak blokeatzeko tekla guztietan da sarri askotan. 1917 01:35:39,610 --> 01:35:43,740 Beraz, ez dut kapital Y, sartu, error. 1918 01:35:43,740 --> 01:35:46,130 Ados, ez da zehazki zer espero dut. 1919 01:35:46,130 --> 01:35:48,170 Izan ere, ordenagailua hitzez hitz, zer egiten ari da 1920 01:35:48,170 --> 01:35:51,794 Eta kontatu dut egiaztatu zuzen ere, egin minuskula y eta minuskulak n. 1921 01:35:51,794 --> 01:35:53,960 Horrek ez du onak bezala sentitzen erabiltzaile esperientzia, ordea. 1922 01:35:53,960 --> 01:35:59,010 Let galdetu zidan eta onartu bai minuskulak edo maiuskulaz. 1923 01:35:59,010 --> 01:36:02,090 Beraz bihurtzen da, agian nahi duzu Zerbait esan behar bezala Scratch, 1924 01:36:02,090 --> 01:36:08,150 bezala literalki edo C berdinen kapital bakar kotizatzen y berdin. 1925 01:36:08,150 --> 01:36:11,400 Kontua da, C ez dauka literal hitz hori edo. 1926 01:36:11,400 --> 01:36:12,880 >> Baina bi barra bertikala izan du. 1927 01:36:12,880 --> 01:36:15,463 Shift eduki ohi duzu, AEBetako teklatu bat erabiliz gero, 1928 01:36:15,463 --> 01:36:18,910 eta hit barra bertikala gakoa zure itzulera gako gainetik. 1929 01:36:18,910 --> 01:36:22,410 Baina barra bertikala barra bertikala esan edo. 1930 01:36:22,410 --> 01:36:26,220 >> Bada, ordea, nahi dugu esatea eta, Scratch bezala, 1931 01:36:26,220 --> 01:36:28,180 ampersand ampersand egin genezake. 1932 01:36:28,180 --> 01:36:31,330 Horregatik, logikoa zentzua ez hemen, giza bat ez nuke seguru delako 1933 01:36:31,330 --> 01:36:37,110 idatzitako biak y eta minuskulak y eta kapital Y pertsonaia bera bezala. 1934 01:36:37,110 --> 01:36:39,470 Beraz, edo zer Hemen asmoa dugu. 1935 01:36:39,470 --> 01:36:46,280 >> Beraz, hori egin badut bi tokietan, edo c berdin berdin kapital N, orain berrabiarazi, 1936 01:36:46,280 --> 01:36:49,390 egiten logikoa, berrabiarazi logikoa. 1937 01:36:49,390 --> 01:36:51,200 Orain, y idatzi dut. 1938 01:36:51,200 --> 01:36:53,920 Eta hori egin ahal izango dut berriro ekin kapital Y, edo kapital N. 1939 01:36:53,920 --> 01:36:56,630 Eta ezin gehigarrian gehitu dut konbinazioak oraindik. 1940 01:36:56,630 --> 01:36:58,810 >> Beraz, hau da logikoa bat programa bezala orain neurrian 1941 01:36:58,810 --> 01:37:01,940 logikoki naiz egiaztapena egiteko balio edo balio hau. 1942 01:37:01,940 --> 01:37:06,420 Eta ez dut egin behar, nahitaez, zatoz gora bi gehiago IFS edo bestela, IFS batera. 1943 01:37:06,420 --> 01:37:09,960 I actually konbinatu ahal batzuk lotutako logika elkarrekin modu honetan. 1944 01:37:09,960 --> 01:37:11,950 Beraz, hau hobe izango litzateke besterik baino diseinatu 1945 01:37:11,950 --> 01:37:17,490 , Esaten C berdinen minuskulak y, inprimatu bai, beste c berdinen hiriburua Y, 1946 01:37:17,490 --> 01:37:20,074 inprimatu bai, beste c berdinen beste era batera esanda lower--, 1947 01:37:20,074 --> 01:37:21,990 ez duzu egin behar Gero eta gehiago, adarrak. 1948 01:37:21,990 --> 01:37:28,840 baliokide batzuk konbinatu dezakezu adar logikoki, modu honetan bezala. 1949 01:37:28,840 --> 01:37:34,150 >> Beraz, dezagun begirada bat besterik batean azken osagaia, final bat eraikuntza, 1950 01:37:34,150 --> 01:37:34,847 C aukera ematen duen. 1951 01:37:34,847 --> 01:37:36,930 Eta itzuli gara hasi beste batzuk oraindik etorkizunean. 1952 01:37:36,930 --> 01:37:41,400 Eta gero, ondorioztatu dugu begira Ez, kode zuzentasuna at 1953 01:37:41,400 --> 01:37:46,070 kodea lortzean work-- den baina diseinua kodea, eta haziak horiek landatu goiz. 1954 01:37:46,070 --> 01:37:51,337 >> Beraz, aurrera eta ireki fitxategi berria hemen. 1955 01:37:51,337 --> 01:37:51,920 Ba al dakizu zer? 1956 01:37:51,920 --> 01:37:54,450 berriro ezartzea noa Programa hori bera, 1957 01:37:54,450 --> 01:37:55,940 baina, hainbat eraikuntza bat erabiliz. 1958 01:37:55,940 --> 01:38:00,110 >> Goazen azkar eman nire burua sarbide CS50.h, besteak beste 1959 01:38:00,110 --> 01:38:04,150 CS50 liburutegia, Io.h estandarra printf da. 1960 01:38:04,150 --> 01:38:06,510 Emadazu nire int hutsune nagusia. 1961 01:38:06,510 --> 01:38:09,310 Eta gero, hemen, utzi aurrera zidan eta hori egin. 1962 01:38:09,310 --> 01:38:12,010 >> Char c lortzen char, bezala aurretik. 1963 01:38:12,010 --> 01:38:16,770 Eta ez dut eraikuntza berria erabiltzeko joan da gaur egun aldatu, zer pertsonaia on? 1964 01:38:16,770 --> 01:38:19,820 Beraz switch atsegin mota da trenbidetik bat kommutazio. 1965 01:38:19,820 --> 01:38:22,070 Edo, benetan, mota da bat, bestela bada, bestela, galtzen bada, 1966 01:38:22,070 --> 01:38:23,980 baina idatzizko zertxobait ezberdinean. 1967 01:38:23,980 --> 01:38:25,490 >> switch A itxura hau. 1968 01:38:25,490 --> 01:38:29,060 izan beharko da, eta, ondoren, zer pertsonaia edo zenbaki begiratu nahi duzun, 1969 01:38:29,060 --> 01:38:32,000 ondoren, kizkur giltza batzuk gustatzen hasi Scratch, besterik esan stuff hau egiten. 1970 01:38:32,000 --> 01:38:33,480 Eta gero, kasu desberdinak behar duzu. 1971 01:38:33,480 --> 01:38:34,830 >> Zuk ez duzu bada, eta bestela erabili. 1972 01:38:34,830 --> 01:38:37,050 literalki erabili You hitza kasua. 1973 01:38:37,050 --> 01:38:38,790 Eta honen antzeko zerbait esaten duzu. 1974 01:38:38,790 --> 01:38:43,820 >> Beraz, minuskula y baten kasuan ere, edo kapital bat Y en kasuan, 1975 01:38:43,820 --> 01:38:47,350 aurrera eta inprimatu bai. 1976 01:38:47,350 --> 01:38:49,020 Eta, ondoren, break switch daudelarik. 1977 01:38:49,020 --> 01:38:49,580 Hori da. 1978 01:38:49,580 --> 01:38:50,880 Bukatutakoan dugu. 1979 01:38:50,880 --> 01:38:57,270 >> Bestela, bada nolabait esateko, minuskulak n, edo kapital N, 1980 01:38:57,270 --> 01:39:02,560 gero aurrera eta inprimatu kanpo dago, eta gero apurtu. 1981 01:39:02,560 --> 01:39:08,022 Bestela, eta mota honetako da lehenetsia kasuan indeed-- printf errore 1982 01:39:08,022 --> 01:39:10,980 eta, neurri ona, nahiz eta logikoki break hau ez da beharrezkoa 1983 01:39:10,980 --> 01:39:12,896 Oraindik dugu amaieran delako hala switch, 1984 01:39:12,896 --> 01:39:14,520 Naiz orain hautsi switch du. 1985 01:39:14,520 --> 01:39:16,280 Beraz, itxura apur bat ezberdinak. 1986 01:39:16,280 --> 01:39:18,272 >> Baina, noski, da, benetan baliokidea. 1987 01:39:18,272 --> 01:39:19,980 Eta zergatik erabili duzu beste bat baino gehiago? 1988 01:39:19,980 --> 01:39:23,220 Batzuetan, besterik lehentasun pertsonalak, batzuetan estetika, 1989 01:39:23,220 --> 01:39:25,420 Begirada dut honetan bada orain, ez da zerbait 1990 01:39:25,420 --> 01:39:27,510 du esan beharreko Kode honen irakurgarritasuna. 1991 01:39:27,510 --> 01:39:30,690 Esan nahi dut, inoiz ez dio axola ere, hori kode berria da gutako askok aretoan. 1992 01:39:30,690 --> 01:39:33,515 >> Baina besterik nolako polita da. 1993 01:39:33,515 --> 01:39:37,760 ikusi duzu minuskulaz y, kapital Y, minuskulak n, kapital N lehenetsi, 1994 01:39:37,760 --> 01:39:40,150 Mota besterik jauziak you at out modu batean 1995 01:39:40,150 --> 01:39:42,200 , Hori, dudarik gabe, agian, aurreko adibidea 1996 01:39:42,200 --> 01:39:45,780 IFS, eta barra bertikalak batera, eta bestela, IFS, agian ez dute. 1997 01:39:45,780 --> 01:39:51,600 Beraz, hau benetan pertsonalen gai bat da aukeratu, benetan, edo irakurgarritasuna, 1998 01:39:51,600 --> 01:39:52,360 kodearen. 1999 01:39:52,360 --> 01:39:58,230 >> Baina, funtzionaltasunari dagokionez, let me aurrera eta switch, dot barra bat egin 2000 01:39:58,230 --> 01:40:05,830 aldatu, eta orain minuskula y idazten, kapital Y, minuskula n, kapital N, 2001 01:40:05,830 --> 01:40:09,250 David, berriz saiatu hori delako Ez karaktere bakar bat. 2002 01:40:09,250 --> 01:40:12,050 Egin dezagun x, error, espero bezala dezagun. 2003 01:40:12,050 --> 01:40:15,640 Eta, logically-- eta hau zerbait da oro har, nahiz eta animatuko nuke hasi 2004 01:40:15,640 --> 01:40:17,790 bakarrik ari gara scratching arren Ezaugarri horietako batzuk azalera. 2005 01:40:17,790 --> 01:40:20,560 >> Eta agian ez da begi-bistakoa denean duzu eseri zeure burua behera teklatua, 2006 01:40:20,560 --> 01:40:21,370 nola ez du lan? 2007 01:40:21,370 --> 01:40:22,240 Zer egingo zenuke? 2008 01:40:22,240 --> 01:40:25,630 izatea gauza ederra da ordenagailu eramangarri bat, edo mahaigainean, edo sarbidea 2009 01:40:25,630 --> 01:40:29,290 Konpiladore bat ordenagailu batera, eta kodea editore bat hau bezalako batekin, 2010 01:40:29,290 --> 01:40:32,990 hau da, ia ezin duzu beti erantzun horiek Zuk zeuk galdera besterik saiatuz. 2011 01:40:32,990 --> 01:40:36,570 >> Esate baterako, erretorikoak bada esku galdera zeuden, 2012 01:40:36,570 --> 01:40:39,540 zer gertatzen da ahaztu baduzu Zure break adierazpenak? 2013 01:40:39,540 --> 01:40:41,400 Zein da benetan bat Oso ohikoa gauza egin, 2014 01:40:41,400 --> 01:40:43,540 delako ez du itxura atsegin benetan behar duzun horiek. 2015 01:40:43,540 --> 01:40:46,790 ez benetan egiten dituzte zure parentesi bat edo kizkur bat bezala pentsatu 2016 01:40:46,790 --> 01:40:47,714 giltza du. 2017 01:40:47,714 --> 01:40:49,630 Dezagun aurrera eta berkonpilatu kodea eta ikusi. 2018 01:40:49,630 --> 01:40:53,690 Beraz, switch, dot barra switch. 2019 01:40:53,690 --> 01:40:56,435 Dezagun idatzi minuskulatan y, goiko kasuan, Sartu. 2020 01:40:56,435 --> 01:40:59,390 2021 01:40:59,390 --> 01:41:00,700 Beraz y idatzi dut. 2022 01:41:00,700 --> 01:41:04,420 >> Programak esan bai, ez, akats, balu bezala bere iritziz aldatzen hasi zen. 2023 01:41:04,420 --> 01:41:09,280 Baina mota izan da, zer gertatzen delako switch batekin lehen kasua da hori 2024 01:41:09,280 --> 01:41:13,899 Partidu funtsean esan nahi du, hey ordenagailua, exekutatu kode osoa azpian. 2025 01:41:13,899 --> 01:41:16,690 Eta ez baduzu esan break, edo ez break esan, edo ez break esan, 2026 01:41:16,690 --> 01:41:19,540 Ordenagailua putz joan Lerro horiek guztiak igaro 2027 01:41:19,540 --> 01:41:22,779 eta horiek guztiak exekutatu arte lortzen kizkur giltza dela da. 2028 01:41:22,779 --> 01:41:24,320 Beraz, balaztak dira, hain zuzen ere, beharrezkoa. 2029 01:41:24,320 --> 01:41:27,120 Baina eramateko da hemen, denean Zalantzarik, saiatu zerbait. 2030 01:41:27,120 --> 01:41:29,510 Agian gorde zure kodea lehen, edo gorde fitxategi gehigarri bat ere 2031 01:41:29,510 --> 01:41:32,930 Oraindik benetan kezkatzen dira aldatzeari eta berreskuratu beharrik 2032 01:41:32,930 --> 01:41:34,430 Dakizuenez duten lana da lanean. 2033 01:41:34,430 --> 01:41:35,410 >> Baina gauzak saiatzeko. 2034 01:41:35,410 --> 01:41:38,074 Eta ez izan beldurrik bezala, agian, Ordenagailua zer egin dezakeen, 2035 01:41:38,074 --> 01:41:39,490 edo agian zerbait apurtu duzu. 2036 01:41:39,490 --> 01:41:42,790 Dena den, beti aurreko bertsiora itzul zaitezke Bertsio batzuk. 2037 01:41:42,790 --> 01:41:45,640 >> Hargatik amaituko begira kodea diseinua at. 2038 01:41:45,640 --> 01:41:49,020 to idatzi gaitasuna izan dugu orain baldintza, eta idazketa loops, 2039 01:41:49,020 --> 01:41:50,850 eta aldagai, eta dei funtzioak. 2040 01:41:50,850 --> 01:41:54,590 Beraz, Egia, mota Oraindik dugu atzera non Duela aste bat izan dugu Scratch, 2041 01:41:54,590 --> 01:42:00,120 gutxiago sinesgarria textual izan arren ingurumena Scratch baino ahalbidetzen. 2042 01:42:00,120 --> 01:42:03,990 >> Baina nabarituko nola azkar eskuratutako dugu lexikoa dela, nahiz 2043 01:42:03,990 --> 01:42:07,570 pixka bat hartu ahal izateko hondoratzea joan, beraz gaude gaur egun lexiko hau erabili ahal 2044 01:42:07,570 --> 01:42:10,320 programak ere interesgarri idazteko. 2045 01:42:10,320 --> 01:42:12,940 Eta dezagun haurra urrats bat Hori aldera, honela. 2046 01:42:12,940 --> 01:42:14,890 Dezagun aurrera eta fitxategi berri bat sortu hemen. 2047 01:42:14,890 --> 01:42:17,750 >> hau deitzera noa prototype.c, eta aurkeztu 2048 01:42:17,750 --> 01:42:20,954 lehen aldiz, gaitasuna Zure funtzioak egiteko. 2049 01:42:20,954 --> 01:42:22,870 Zuetako batzuk izan ditzake Egin honetan Scratch, 2050 01:42:22,870 --> 01:42:25,430 Horren bidez, sor dezakezu zure egin blokeak pertsonalizatuak Scratch, 2051 01:42:25,430 --> 01:42:27,892 eta gero arrastatzen tokian edonon litzaidake C. nahi duzu 2052 01:42:27,892 --> 01:42:30,100 Eta programazio gehienetan hizkuntzak, zehazki egin ahal izango duzu 2053 01:42:30,100 --> 01:42:33,580 -bere Zure funtzioak egiteko, ez dute existitzen bada. 2054 01:42:33,580 --> 01:42:38,660 >> Beraz, adibidez, utzi aurrera me eta besteak CS50.h, eta, besteak beste, 2055 01:42:38,660 --> 01:42:43,110 estandarra io.h, int hutsune nagusia. 2056 01:42:43,110 --> 01:42:46,020 Eta orain izan dugu placeholder joateko prest. 2057 01:42:46,020 --> 01:42:48,550 inprimatzeko gauzak mantentzeko I pertsonen izenak, gaur egun bezala. 2058 01:42:48,550 --> 01:42:51,910 Eta hori sentitzen bezalakoa Ez litzateke polita bada ez 2059 01:42:51,910 --> 01:42:53,936 inprimatu izena funtzio bat deitzen ziren? 2060 01:42:53,936 --> 01:42:55,060 Nik ez dut printf erabili. 2061 01:42:55,060 --> 01:42:56,976 Nik ez dut gogoratzen formatu kode guztiak. 2062 01:42:56,976 --> 01:43:00,050 Zergatik ez dut, edo zergatik Ez zuen norbait me aurretik, 2063 01:43:00,050 --> 01:43:02,980 sortu funtzioa deitzen inprimatu izena, izen batzuk eman duten, 2064 01:43:02,980 --> 01:43:03,980 Besterik gabe, bistaratzen da? 2065 01:43:03,980 --> 01:43:08,700 >> Beste era batera esanda, esan dut, beno, bada, ordenagailua, emaidazu kate bat 2066 01:43:08,700 --> 01:43:11,870 Erabiltzaileak eskatuz hala nola arabera, CS50 get kate funtzioa bidez. 2067 01:43:11,870 --> 01:43:15,090 Hey, ordenagailua, jarri kate horretan Ezkerreko aldean aldagaia, 2068 01:43:15,090 --> 01:43:16,150 eta deitu s. 2069 01:43:16,150 --> 01:43:22,150 Eta gero, hey ordenagailua, aurrera eta inprimatu pertsonaren izena, hori egin. 2070 01:43:22,150 --> 01:43:26,240 >> Orain, polita izango litzateke, zeren Programa honetan, egokiekin izendatzen, 2071 01:43:26,240 --> 01:43:29,170 esaten dit zer suposatzen da egin Funtzio horiek izenen bidez. 2072 01:43:29,170 --> 01:43:32,930 Joan eta prototipoa egiteko, Sartu. 2073 01:43:32,930 --> 01:43:34,930 Eta, zoritxarrez, hau ez da hegan joan. 2074 01:43:34,930 --> 01:43:39,430 >> Prototype.c, linea 7, pertsonaia 5, error, inplizituki adierazpena 2075 01:43:39,430 --> 01:43:42,960 funtzio inprimatu izena da C99, C99 baliogabea 2076 01:43:42,960 --> 01:43:45,130 C bertsio bat zentzua atera zen 1999an. 2077 01:43:45,130 --> 01:43:45,730 Hori da dena. 2078 01:43:45,730 --> 01:43:48,780 >> Beraz, ez dakit zer Hori guztia esan nahi du oraindik. 2079 01:43:48,780 --> 01:43:50,810 Baina aitortu error gorria egiten dut. 2080 01:43:50,810 --> 01:43:51,770 Hori nahiko begi-bistakoa da. 2081 01:43:51,770 --> 01:43:53,769 >> Eta badirudi dela Pertsonaia berde hemen, 2082 01:43:53,769 --> 01:43:57,520 alea inprimatu izena da, open paren s, itxi paren, puntu eta. 2083 01:43:57,520 --> 01:44:01,800 Baina adierazpena inplizituki Funtzio ikusi laburki lehenago egin dugu. 2084 01:44:01,800 --> 01:44:04,880 Horrek esan nahi du, besterik gabe, Clang ez dakit zer esan nahi dut. 2085 01:44:04,880 --> 01:44:09,000 >> lexiko hitza erabili ditut, hori da inoiz ikusi edo dira aurretik irakatsi. 2086 01:44:09,000 --> 01:44:11,950 Eta horrela irakatsi behar dut zer esan nahi du. 2087 01:44:11,950 --> 01:44:13,590 Beraz, aurrera noa eta ez dela joan. 2088 01:44:13,590 --> 01:44:17,970 >> Aurrera joan eta ezartzeko noa izeneko inprimatu izena nire funtzioa. 2089 01:44:17,970 --> 01:44:24,720 Eta nago, esan honela joaten da, eta hau, printf, kaixo, ehuneko egiten du 2090 01:44:24,720 --> 01:44:27,760 s, backslash n, izen, puntu. 2091 01:44:27,760 --> 01:44:29,250 Beraz, zer egin dezaket? 2092 01:44:29,250 --> 01:44:31,325 >> Eta gertatu da, behar Zure funtzioa ezartzeko, 2093 01:44:31,325 --> 01:44:33,845 mota dugu maileguan batzuk egitura bera nagusi gisa 2094 01:44:33,845 --> 01:44:35,720 Nik dugun besterik ez egon hartu eman, eta I 2095 01:44:35,720 --> 01:44:37,730 Badakizu kopiatu eta pretty much zer itsasteko 2096 01:44:37,730 --> 01:44:39,170 Nik iraganean idazteko. 2097 01:44:39,170 --> 01:44:40,570 Baina konturatu ereduarekin hemen. 2098 01:44:40,570 --> 01:44:43,750 Int, nagusia, hutsunea, gain tease dugu luze baino lehen zer esan benetan esan nahi du. 2099 01:44:43,750 --> 01:44:46,160 >> Baina gaur egun, besterik gabe, nabarituko paralelismoa. 2100 01:44:46,160 --> 01:44:48,210 Hutsa, inprimatu izena, kate izena, beraz, ez da 2101 01:44:48,210 --> 01:44:50,310 morea keyword bat da, eta horrek to hasteko goaz 2102 01:44:50,310 --> 01:44:54,067 itzulera mota bat deituz, izenarekin funtzioa, eta, ondoren, sarrera. 2103 01:44:54,067 --> 01:44:56,400 Beraz, benetan, destila dezakegu bezala, azken astean mota honetan 2104 01:44:56,400 --> 01:44:59,030 bezala, honetan izena edo da digituak Oraindik dugu algoritmoa 2105 01:44:59,030 --> 01:45:00,761 du idatzi egingo joan algoritmo azpiko 2106 01:45:00,761 --> 01:45:02,010 digituak ari gara idazten joan. 2107 01:45:02,010 --> 01:45:03,180 >> Honek bere sarrera da. 2108 01:45:03,180 --> 01:45:04,670 Honek bere irteera da. 2109 01:45:04,670 --> 01:45:08,730 Funtzio hau, inprimatu izena, da izeneko izen kate bat hartu diseinatu, 2110 01:45:08,730 --> 01:45:11,350 edo dena delakoa, sarrera gisa, eta, gero, hutsunea. 2111 01:45:11,350 --> 01:45:13,904 Ez du ezer egin, bezala lortu katea edo lortu int du. 2112 01:45:13,904 --> 01:45:15,570 Beraz, niri entregatu zerbait atzera egingo. 2113 01:45:15,570 --> 01:45:17,960 Besterik bat izan da joan alboko efektua, nolabait esateko, 2114 01:45:17,960 --> 01:45:19,570 Pertsona baten izena inprimatzeko. 2115 01:45:19,570 --> 01:45:22,260 Oharra Beraz, lerro 7, I inprimatu name deitu daiteke. 2116 01:45:22,260 --> 01:45:25,920 10 Line, definitu ahal dut edo ezartzeko inprimatu izena. 2117 01:45:25,920 --> 01:45:28,450 Baina, zoritxarrez, hori ez da nahikoa. 2118 01:45:28,450 --> 01:45:31,230 >> Dezagun aurrera eta berkonpilatu hau gorde ondoren. 2119 01:45:31,230 --> 01:45:33,910 Tira, orain, egin dut okerrago, badirudi litzateke. 2120 01:45:33,910 --> 01:45:37,027 deklarazio Beraz inplizitua funtzio inprimatu izen baliogabea da. 2121 01:45:37,027 --> 01:45:38,360 Eta, berriro ere, ez akats gehiago da. 2122 01:45:38,360 --> 01:45:41,430 Baina lehenago ohartarazi nuen bezala, nahiz eta itotzea lortu baduzu, 2123 01:45:41,430 --> 01:45:44,850 edo pixka bat triste hainbeste ikusteko akatsak, bakarrik zentratu lehenean 2124 01:45:44,850 --> 01:45:47,500 besterik Hasieran, zeren baliteke Kaskadako efektu bat izan. 2125 01:45:47,500 --> 01:45:51,970 Beraz, C, edo Clang zehazkiago, oraindik ez du ezagutzen inprimatu izena. 2126 01:45:51,970 --> 01:45:54,580 >> Eta hori delako Clang da, diseinu arabera, mota da mutu. 2127 01:45:54,580 --> 01:45:56,280 Ez da zer esan nahi duzun egin. 2128 01:45:56,280 --> 01:46:00,950 Eta bakarrik egiten du, beraz, ordena honetan bertan kontatzeko egin. 2129 01:46:00,950 --> 01:46:05,270 >> Beraz nagusia lau lerro definitu dut, atsegin dugu izan nahiko maiz egiten ditudan. 2130 01:46:05,270 --> 01:46:07,980 on line 10 definitu dut inprimatu izena. 2131 01:46:07,980 --> 01:46:11,793 Baina erabiltzen saiatzen ari naiz inprimatu name on line zazpi. 2132 01:46:11,793 --> 01:46:13,670 >> Honez goizegi, oraindik ez da existitzen. 2133 01:46:13,670 --> 01:46:19,150 Beraz, clever izan dut, eta atsegin izan, Ados, beraz, utzi jolastu besterik en zehar, 2134 01:46:19,150 --> 01:46:23,680 eta mugitu inprimatu izena eman hemen, eta berriro konpilatu. 2135 01:46:23,680 --> 01:46:24,550 Oh my God. 2136 01:46:24,550 --> 01:46:25,260 Lan egin. 2137 01:46:25,260 --> 01:46:26,670 Hori bezain erraza izan zen. 2138 01:46:26,670 --> 01:46:28,120 >> Baina logika da zehazki hori. 2139 01:46:28,120 --> 01:46:30,870 Clang irakatsi behar duzu zer da lehenengo funtzioa definitu da. 2140 01:46:30,870 --> 01:46:31,920 Ondoren, erabili ahal izango duzu. 2141 01:46:31,920 --> 01:46:33,940 Baina, Egia, hau sentitzen malda irristakor bat bezala. 2142 01:46:33,940 --> 01:46:35,773 >> Beraz, aldi bakoitzean I exekutatu Arazo bat sartu, besterik ez naiz 2143 01:46:35,773 --> 01:46:39,450 nabarmendu eta kodea kopiatu joan idatzi nuen, moztu eta itsatsi hemen. 2144 01:46:39,450 --> 01:46:41,370 Eta, ziur asko, ezin izan dugu asma agertoki batzuk 2145 01:46:41,370 --> 01:46:43,286 non funtzio bat might beste deitu behar. 2146 01:46:43,286 --> 01:46:46,030 Eta besterik ezin jarri guztietan beste ororen gainetik funtzioa. 2147 01:46:46,030 --> 01:46:47,930 >> Beraz, izarrekin bihurtzen da ez da soluzio hobea. 2148 01:46:47,930 --> 01:46:50,100 hau izan irten gaitezke. 2149 01:46:50,100 --> 01:46:53,677 Eta, Egia, oro har, polita da, eta erosoa, eta diseinu ona 2150 01:46:53,677 --> 01:46:56,760 nagusiak lehen jarri, izan ere, berriro, nagusia besterik berdea Ez klik bezala, 2151 01:46:56,760 --> 01:46:59,027 duten funtzioa da lehenetsi gisa exekutatu. 2152 01:46:59,027 --> 01:47:01,110 Beraz, baliteke ondo jarri Fitxategiaren goialdean da 2153 01:47:01,110 --> 01:47:03,560 beraz, orduan duzu edo edozein beste giza fitxategia begiratzen 2154 01:47:03,560 --> 01:47:06,360 zer gertatzen badakizu besterik nagusiaren lehen irakurriz. 2155 01:47:06,360 --> 01:47:15,360 Beraz, bilakatzen da, Clang esan ahal dugu proaktiboan, beno, Clang, lau lerro, 2156 01:47:15,360 --> 01:47:17,940 ezartzea agintzen dut funtzioa deitzen Inprimatu 2157 01:47:17,940 --> 01:47:22,600 katea izeneko izen bat hartzen duten izena sarrera, eta itzultzen ezer, hutsune gisa. 2158 01:47:22,600 --> 01:47:24,770 Eta inguruan lortu dut nahi gero berriro ezartzeko. 2159 01:47:24,770 --> 01:47:25,680 >> Hemen dator nagusian. 2160 01:47:25,680 --> 01:47:29,130 Main orain on line 9 erabil daiteke Inprimatzeko izena delako Clang 2161 01:47:29,130 --> 01:47:32,600 dela fidatu, azkenean, definizioa topo egingo du, 2162 01:47:32,600 --> 01:47:34,880 Inprim izena ezartzeko of. 2163 01:47:34,880 --> 01:47:37,390 Beraz, nire fitxategia gorde ondoren, utzi aurrera me eta prototipoa egin, 2164 01:47:37,390 --> 01:47:38,498 itxura ona denbora honetan. 2165 01:47:38,498 --> 01:47:43,470 Dot barra, prototipoa, let me aurrera eta eman izen bat. 2166 01:47:43,470 --> 01:47:48,440 David, kaixo David, Zamila, kaixo Zamila, eta, hain zuzen ere, gaur egun funtzionatzen duen. 2167 01:47:48,440 --> 01:47:52,200 >> Beraz, osagai hemen da guk funtzio pertsonalizatu bat egin, ohitura bat bezala 2168 01:47:52,200 --> 01:47:54,219 Scratch blokea ari gara deituz. 2169 01:47:54,219 --> 01:47:57,010 Baina Scratch ez bezala, non egin dezakezu besterik sortuko da eta hori erabiltzen hasteko, 2170 01:47:57,010 --> 01:47:59,330 orain bat izan behar dugu little more pedantekeriazko, 2171 01:47:59,330 --> 01:48:03,410 eta benetan prestatzea Clang Erabili, edo espero. 2172 01:48:03,410 --> 01:48:09,140 Orain, bat alde batera utzita, zergatik denbora honetan guztian izan besterik blindly izan dugu fedea barne 2173 01:48:09,140 --> 01:48:12,170 CS50.h, eta barne io.h estandarra? 2174 01:48:12,170 --> 01:48:15,190 >> Beno, bihurtzen da, beste gauza batzuk artean, 2175 01:48:15,190 --> 01:48:18,550 Hori guztia dot h aietan da fitxategiak, gertatuko diren fitxategiak izan. 2176 01:48:18,550 --> 01:48:20,460 goiburua ari dira fitxategiak, nolabait esateko. 2177 01:48:20,460 --> 01:48:23,270 Ari dira oraindik C. idatzitako Baina ezberdinak, fitxategi-mota bat dira. 2178 01:48:23,270 --> 01:48:28,690 >> Oraingoz, nahiko askoz gain hartzen duzu Hori CS50.h barruan dago hori guztia 2179 01:48:28,690 --> 01:48:33,360 batzuk hau bezalako bat-atorrak, ez da izeneko inprimatu izena funtzio egiteko, 2180 01:48:33,360 --> 01:48:36,840 baina lortu for String, Talde Higikorra, eta beste batzuk. 2181 01:48:36,840 --> 01:48:41,510 Eta badira antzeko prototipoak, bat atorrak, io.h estandarraren barruan 2182 01:48:41,510 --> 01:48:46,241 printf, hau da, orain ere nire kabuz Inprimatzeko izena funtzioa. 2183 01:48:46,241 --> 01:48:49,490 Beraz, beste era batera esanda, denbora honetan guztian dut dugu berri da blindly kopiatu eta itsatsi 2184 01:48:49,490 --> 01:48:51,780 besteak honetan, besteak beste, hori, zer gertatzen da? 2185 01:48:51,780 --> 01:48:55,310 Horiek besterik Arrastoak mota daude Zein funtzio gisa Clang 2186 01:48:55,310 --> 01:49:00,170 dira, hain zuzen ere, ezarri da, besterik gabe, beste nonbait fitxategi desberdinetan 2187 01:49:00,170 --> 01:49:02,440 beste nonbait sistemaren gainean. 2188 01:49:02,440 --> 01:49:05,160 >> Beraz inplementatu dugu inprimatu izena. 2189 01:49:05,160 --> 01:49:07,910 Bigarren mailako efektu hau izan du Zerbait pantailan inprimatzeko. 2190 01:49:07,910 --> 01:49:10,170 Baina ez du, benetan entregatu me zerbait itzuli. 2191 01:49:10,170 --> 01:49:12,200 Zelan joan gara programa bat gauzatzeko duten 2192 01:49:12,200 --> 01:49:14,510 entregatu ez dit zerbait itzuli? 2193 01:49:14,510 --> 01:49:15,580 >> Beno, utzi hau. 2194 01:49:15,580 --> 01:49:21,360 Dezagun aurrera eta ezartzeko izeneko fitxategi bat return.c 2195 01:49:21,360 --> 01:49:24,530 beraz, nola zerbait frogatu ahal izango dugu bezala lortu katea, edo Talde Int, 2196 01:49:24,530 --> 01:49:27,340 da benetan itzuli Zerbait erabiltzaileak atzera. 2197 01:49:27,340 --> 01:49:29,840 Dezagun aurrera eta definitzeko int hutsune nagusia. 2198 01:49:29,840 --> 01:49:33,230 >> Eta, berriro ere, etorkizunean, egingo dugu azaldu zer int dela eta hutsune hori 2199 01:49:33,230 --> 01:49:34,090 da benetan egiten. 2200 01:49:34,090 --> 01:49:35,840 Baina gaur, egingo dugu eraman emandako. 2201 01:49:35,840 --> 01:49:39,970 Animatu eta printf joan noa, Erabiltzaile bat esperientzia ona da, x da. 2202 01:49:39,970 --> 01:49:44,360 Eta, ondoren, itxaron noa Erabiltzaile me emateko get int x. 2203 01:49:44,360 --> 01:49:48,459 >> Eta gero, aurrera noa eta inprimatu x plazara. 2204 01:49:48,459 --> 01:49:50,500 Beraz, bakarrik behar duzu bat teklatua, jendeak normalean 2205 01:49:50,500 --> 01:49:52,600 erabili azenario gutxi sinbolo teklatuan 2206 01:49:52,600 --> 01:49:55,330 boterea irudikatzeko ren, edo adierazlerik. 2207 01:49:55,330 --> 01:49:58,960 Beraz, x karratu present i da. 2208 01:49:58,960 --> 01:50:00,660 >> Eta orain hau egin nahi dut. 2209 01:50:00,660 --> 01:50:03,940 Besterik ezin dut zuzen ere, egin zer da x karratu? x karratu x aldiz x da. 2210 01:50:03,940 --> 01:50:06,690 >> Eta egin dugu hau batzuk Duela denbora dagoeneko gaur. 2211 01:50:06,690 --> 01:50:08,730 Horrek ez du gogorik askoz aurrerapen hori guztia. 2212 01:50:08,730 --> 01:50:09,570 Ba al dakizu zer? 2213 01:50:09,570 --> 01:50:13,100 Dezagun ideia horren batzuk leverage abstrakzioaren azken aldiz. 2214 01:50:13,100 --> 01:50:16,080 >> Ez litzateke polita bada, izango da izeneko funtzio bat 2215 01:50:16,080 --> 01:50:18,460 plaza hori zehazki noiz ez? 2216 01:50:18,460 --> 01:50:20,640 Oraindik ere, amaieran Egun, matematika bera egiten du. 2217 01:50:20,640 --> 01:50:22,410 Baina dezagun abstract kanpoan hartzea ideia 2218 01:50:22,410 --> 01:50:25,280 zenbaki bat bider beste bat, eta besterik ez iezaiozu izena, 2219 01:50:25,280 --> 01:50:27,360 atsegin plazan balio hau. 2220 01:50:27,360 --> 01:50:29,560 >> Eta, beste era batera esanda, in C, dezagun funtzio bat 2221 01:50:29,560 --> 01:50:32,660 plaza deitzen duten zehazki ez dagoela. 2222 01:50:32,660 --> 01:50:34,600 Deitu behar plazara joan. 2223 01:50:34,600 --> 01:50:35,790 Int bat hartu behar da. 2224 01:50:35,790 --> 01:50:37,820 Eta egingo dugu eta hori deitu n, lehenetsita. 2225 01:50:37,820 --> 01:50:39,403 >> Baina ezer nahi dugu deitu ahal izango dugu. 2226 01:50:39,403 --> 01:50:42,900 Eta hori guztia da joan egin, literalki, bueltan da 2227 01:50:42,900 --> 01:50:45,810 n aldiz n emaitza. 2228 01:50:45,810 --> 01:50:48,980 Baina duelako zerbait itzuli, bertan 2229 01:50:48,980 --> 01:50:53,690 morea dut dugun hitzarekin dago inoiz ikusi aurretik, I, on line 11, 2230 01:50:53,690 --> 01:50:55,410 Ezin besterik esan hutsunea denbora honetan. 2231 01:50:55,410 --> 01:51:01,320 >> Hutsa, adibidea ikusi besterik ez dugu baizik inprimatu izena, besterik esan nahi, 2232 01:51:01,320 --> 01:51:02,190 Zerbait egin. 2233 01:51:02,190 --> 01:51:04,170 Baina ez entregatu me zerbait itzuli. 2234 01:51:04,170 --> 01:51:06,790 Kasu honetan, nahi dut itzultzeko n aldiz n, 2235 01:51:06,790 --> 01:51:08,460 edo dena dela, kopuru hori. 2236 01:51:08,460 --> 01:51:12,460 >> Beraz, ezin dut esan, beno, ordenagailua, ezer itzuliko naiz, hutsunea. 2237 01:51:12,460 --> 01:51:16,166 Honez itzultzeko, naturak, int bat da. 2238 01:51:16,166 --> 01:51:17,790 Eta beraz, hori da hemen gertatzen dena. 2239 01:51:17,790 --> 01:51:20,070 >> sarrerako plaza int bat izango da. 2240 01:51:20,070 --> 01:51:24,760 Eta, beraz, erabili ahal izango dugu, duela da izen bat dute, N. irteera da joan 2241 01:51:24,760 --> 01:51:26,240 int bat ez duen izen bat behar. 2242 01:51:26,240 --> 01:51:29,590 utzi ahal izango dugu nagusira, edo duenarentzat da me erabiliz badugu balio hau gogoratzeko 2243 01:51:29,590 --> 01:51:31,120 bere aldagai egin nahi. 2244 01:51:31,120 --> 01:51:33,230 >> Eta, berriro, berria bakarrik keyword hemen Return da. 2245 01:51:33,230 --> 01:51:34,480 Eta besterik ez dut math batzuk egiten. 2246 01:51:34,480 --> 01:51:41,825 Nahi izan dut alferrikako izan bada, Esan izan dut int produktua lortzen n aldiz n. 2247 01:51:41,825 --> 01:51:44,170 >> Eta gero esan izan dut, itzuliko produktua. 2248 01:51:44,170 --> 01:51:47,360 Baina, berriro ere, nire puntu bat lehenago besterik ez egotea diseinua da ona hau 2249 01:51:47,360 --> 01:51:50,060 bezala, zergatik aurkeztu izen bat, sinbolo bat, produktu bezala, 2250 01:51:50,060 --> 01:51:51,570 besterik ez da berehala itzultzeko? 2251 01:51:51,570 --> 01:51:53,670 garbiagoa txiki bat da, apur bat estuagoa, beraz, 2252 01:51:53,670 --> 01:51:59,380 Esateko, besterik bueltan n aldiz esan n, lerro hau kentzeko erabat. 2253 01:51:59,380 --> 01:52:02,860 >> Eta kodea besterik gutxiago irakurri da, akatsak aukera gutxiago. 2254 01:52:02,860 --> 01:52:05,180 Eta ikus dezagun bada benetan, orain lan egiten du. 2255 01:52:05,180 --> 01:52:09,380 Orain, joan noa Animatu eta egin bueltan. 2256 01:52:09,380 --> 01:52:11,460 >> Uh oh, funtzioaren adierazpena inplizituki. 2257 01:52:11,460 --> 01:52:14,080 Akats hau big aurre ez egin nuen aurretik,. 2258 01:52:14,080 --> 01:52:18,950 Demagun idatzi besterik me, edo nabarmendu eta kopiatu, zehatza bera funtzioa prototipoa, 2259 01:52:18,950 --> 01:52:21,342 edo sinadura, funtzioa eman hemen. 2260 01:52:21,342 --> 01:52:22,800 Edo funtzio osoa mugitu ahal izan nuen. 2261 01:52:22,800 --> 01:52:23,841 >> Baina hori da pixka bat alferra. 2262 01:52:23,841 --> 01:52:24,870 Beraz, ez dugu hori egin. 2263 01:52:24,870 --> 01:52:27,960 Orain, bueltan egin dit berriro, dot barrarik bueltan. 2264 01:52:27,960 --> 01:52:32,790 >> x da 2. x karratu 4 da. x dago 3. x karratu 9 da. 2265 01:52:32,790 --> 01:52:35,300 Eta funtzioa badirudi orain lan egin behar da. 2266 01:52:35,300 --> 01:52:36,550 Beraz, zein da diferentzia hemen? 2267 01:52:36,550 --> 01:52:42,520 hori plaza izeneko funtzio bat daukat, Kasu honetan, bertan jarri dut sarrera batean ere. 2268 01:52:42,520 --> 01:52:43,830 Eta ni itzuli irteera bat. 2269 01:52:43,830 --> 01:52:46,210 Eta, hala ere, aldez aurretik, bada Beste adibide bat ireki dut 2270 01:52:46,210 --> 01:52:51,640 lehenago, eta horrek prototype.c deitzen zen, 2271 01:52:51,640 --> 01:52:54,770 inprimatu izena, izan nuen eta horrek itzuli hutsunea, nolabait esateko, 2272 01:52:54,770 --> 01:52:58,730 Edo ezer itzuliko da, eta besterik izan bigarren mailako eragina. 2273 01:52:58,730 --> 01:53:00,230 >> Beraz, zer gertatzen da hemen? 2274 01:53:00,230 --> 01:53:03,520 Beno, kontuan funtzioa katea iritsi une bat besterik ez da. 2275 01:53:03,520 --> 01:53:06,570 funtzio erabili dugu lortu honela katea. 2276 01:53:06,570 --> 01:53:10,464 >> Izan dugu funtzio bat lortuko katea, horien artean CS50.h, 2277 01:53:10,464 --> 01:53:16,624 besteak estandarra io.h, int, nagusia, hutsunea. 2278 01:53:16,624 --> 01:53:18,790 Eta gero, denbora guztietan dut izeneko katea, orain arte, 2279 01:53:18,790 --> 01:53:23,260 Nik esan nuen zerbait bezala, katea s lortzen katea iritsi, get kate delako 2280 01:53:23,260 --> 01:53:27,880 dezagun dei get.c-- lortu katea hau berak kate bat itzultzen duten gero ezin dut 2281 01:53:27,880 --> 01:53:32,050 erabili, eta esan, kaixo, koma, ehuneko s, backslash n, s. 2282 01:53:32,050 --> 01:53:35,660 >> Beraz, hau adibide bera da, benetan, lehenago izan dugun. 2283 01:53:35,660 --> 01:53:37,920 Beraz, kate-balio bat itzultzen. 2284 01:53:37,920 --> 01:53:41,260 Baina une bat, inprimatu katea ez du baliorik itzuli. 2285 01:53:41,260 --> 01:53:42,721 Albo-efektu bat du, besterik gabe. 2286 01:53:42,721 --> 01:53:44,220 Beraz, hau funtsezko aldea da. 2287 01:53:44,220 --> 01:53:46,710 desberdinak ikusi dugu funtzio mota orain, 2288 01:53:46,710 --> 01:53:49,490 horietatik batzuk itzuli egin balioak, horietatik batzuk ez. 2289 01:53:49,490 --> 01:53:51,890 Beraz, agian, kate, edo int, float edo da. 2290 01:53:51,890 --> 01:53:53,480 Edo agian besterik void da. 2291 01:53:53,480 --> 01:53:55,710 >> Eta diferentzia da funtzio horiek erabiltzen duten 2292 01:53:55,710 --> 01:53:59,940 datuak lortu eta baliorik itzuli dira benetan Zerbait itzularaztea mahaira, 2293 01:53:59,940 --> 01:54:01,110 nolabait esateko. 2294 01:54:01,110 --> 01:54:03,710 Beraz, goazen aurrera eta azken multzo bat begiratu 2295 01:54:03,710 --> 01:54:09,129 Adibide hori zentzu bat ematen, orain, de nola genuke, hain zuzen ere, abstraktua hobea, 2296 01:54:09,129 --> 01:54:11,670 eta hobeto, eta hobeto, edo gehiago, eta gehiago, eta gehiago, ordena 2297 01:54:11,670 --> 01:54:13,810 Idazteko, azken finean, kodea hobea. 2298 01:54:13,810 --> 01:54:16,860 Dezagun aurrera, eta espiritua ere Scratch, honako hau. 2299 01:54:16,860 --> 01:54:21,700 >> Dezagun aurrera eta besteak CS50.h eta io.h. 2300 01:54:21,700 --> 01:54:24,010 Dezagun aurrera eta eman Neure burua int, nagusia, hutsunea. 2301 01:54:24,010 --> 01:54:27,380 Eta utzi aurrera me, deitu cough.c hau. 2302 01:54:27,380 --> 01:54:35,510 >> Eta utzi aurrera me eta besterik Scratch bezala, inprimatu eztul / n. 2303 01:54:35,510 --> 01:54:37,170 Eta hau hiru aldiz egin nahi dut. 2304 01:54:37,170 --> 01:54:39,670 Beraz, ez dut, noski, besterik joan kopiatu eta itsatsi hiru aldiz. 2305 01:54:39,670 --> 01:54:46,440 Naiz orain egiteko joan eztul eztul dot barra. 2306 01:54:46,440 --> 01:54:50,120 Dezagun eman neure burua apur bat gehiago gela Hemen, Sartu, eztul, eztul, eztul. 2307 01:54:50,120 --> 01:54:53,970 >> Ez dago, jakina, dagoeneko bat hobetzeko aukera. 2308 01:54:53,970 --> 01:54:55,679 kopiatu eta itsatsi dut aldiz gutxi gaur. 2309 01:54:55,679 --> 01:54:58,261 Baina hori ez zen bakarra, beraz, ez nuen dituzun karaktere idatzi behar. 2310 01:54:58,261 --> 01:55:00,250 Oraindik ere aldatu dut zer kode lerro horiek dira. 2311 01:55:00,250 --> 01:55:04,240 >> Hiru lerro hauek berdinak dira, sentitzen alferrak eta hain zuzen ere, hau da, 2312 01:55:04,240 --> 01:55:07,110 eta ziurrenik ez da planteamendu egokia. 2313 01:55:07,110 --> 01:55:11,029 Beraz, zer osagairekin ezin kode hau hobetzen dugu? 2314 01:55:11,029 --> 01:55:12,570 Ez dugu kopiatu eta itsatsi kodea. 2315 01:55:12,570 --> 01:55:15,070 >> Eta, hain zuzen ere, une oro sentitzen duzu yourself kopiatu eta itsatsi, 2316 01:55:15,070 --> 01:55:17,700 eta ez baita kodea aldatuz, odds dira hobeto modu bat da. 2317 01:55:17,700 --> 01:55:19,470 Eta, hain zuzen ere, ez da. 2318 01:55:19,470 --> 01:55:22,510 Dezagun aurrera me eta egin begizta, nahiz eta sintaxia agian ez 2319 01:55:22,510 --> 01:55:24,570 naturalean etorri oraindik. 2320 01:55:24,570 --> 01:55:29,494 >> Egin hori hiru aldiz, besterik gabe, honako hau eginez 2321 01:55:29,494 --> 01:55:31,160 eta hau jakin praktika gertatuko dut. 2322 01:55:31,160 --> 01:55:32,810 Baina adibide bat dugu orain. 2323 01:55:32,810 --> 01:55:34,950 Eta ikusiko duzu online erreferentzia gehiago oraindik. 2324 01:55:34,950 --> 01:55:37,790 >> Hau on line 6 sintaxia da, hori Scratch hori errepikatzen bezala askoz 2325 01:55:37,790 --> 01:55:40,090 blokea, errepikatu ondorengo hiru aldiz. 2326 01:55:40,090 --> 01:55:41,340 magiko pixka bat da oraingoz. 2327 01:55:41,340 --> 01:55:43,050 Baina hau gehiago lortuko, eta gehiago ezagutzen. 2328 01:55:43,050 --> 01:55:45,050 >> Eta hori da, errepikatu egingo da lerro zortzi hiru aldiz, 2329 01:55:45,050 --> 01:55:52,390 beraz, hori badut berriro konpilatu egiteko eztula, dot barra eztul, eztul, eztul, eztul. 2330 01:55:52,390 --> 01:55:54,030 oraindik ere modu berean lan egiten du. 2331 01:55:54,030 --> 01:55:55,550 Beraz, hori guztia fina eta ona da. 2332 01:55:55,550 --> 01:55:58,200 Baina hori ez da oso abstraktu. 2333 01:55:58,200 --> 01:55:59,371 >> Primeran zuzena da. 2334 01:55:59,371 --> 01:56:01,370 Baina sentitzen ez bezala aukera bat izan daiteke, 2335 01:56:01,370 --> 01:56:03,750 munduan bezala Scratch, hasiera-mota 2336 01:56:03,750 --> 01:56:07,530 semantika batzuk gehitzeko hemen, beraz, Ez besterik ez dut batzuk begizta, 2337 01:56:07,530 --> 01:56:09,867 eta funtzio bat dela dio eztul, eztul edo duela. 2338 01:56:09,867 --> 01:56:10,450 Ba al dakizu zer? 2339 01:56:10,450 --> 01:56:12,620 Dezagun bat izan saiatzen me Hori baino freskoago gutxi, 2340 01:56:12,620 --> 01:56:16,090 eta benetan funtzio bat idatzi duten bigarren mailako efektuak batzuk ditu, deitu eztula. 2341 01:56:16,090 --> 01:56:20,830 >> Eta sarrera ez du egiten, eta balio no irteera bezala itzultzen. 2342 01:56:20,830 --> 01:56:22,680 Baina zer egiten duen jakin nahi duzu? 2343 01:56:22,680 --> 01:56:29,370 printf dute hau egiten du, aurrekontua unquote, eztula. 2344 01:56:29,370 --> 01:56:32,380 >> Eta orain, hemen sortu, banoa Animatu eta int joan, 2345 01:56:32,380 --> 01:56:36,070 i lortzen zero, i 3 baino gutxiago, i plus plus. 2346 01:56:36,070 --> 01:56:39,770 ez printf egin, hau da, noa dudarik gabe, txikia mailan ezartzeko 2347 01:56:39,770 --> 01:56:40,270 zehatz-mehatz. 2348 01:56:40,270 --> 01:56:41,353 Ez zait axola nola eztula. 2349 01:56:41,353 --> 01:56:43,240 eztul funtzioa erabili nahi dut. 2350 01:56:43,240 --> 01:56:44,840 Eta besterik ez dut eztul deitu behar. 2351 01:56:44,840 --> 01:56:46,204 >> Orain, nabarituko dikotomia. 2352 01:56:46,204 --> 01:56:49,370 Funtzio bat deitzen duzu, ez baduzu Nahi jasotzen da, guztiz fina emateko. 2353 01:56:49,370 --> 01:56:51,780 Just egin paren, itxi paren, eta Bukatutakoan. 2354 01:56:51,780 --> 01:56:56,271 >> Noiz funtzio bat definitzen duzunean, edo deklaratzeko funtzio baten prototipoa, 2355 01:56:56,271 --> 01:56:58,770 jakin aldez aurretik egiten bada, ez da argumenturik hartzen joan, 2356 01:56:58,770 --> 01:57:01,170 esan parentesi horiek hor hutsunea. 2357 01:57:01,170 --> 01:57:05,660 Eta horrek zenbait duzula ez du ustekabean gehiegikeria da. 2358 01:57:05,660 --> 01:57:07,020 Dezagun aurrera eta eztula egiteko. 2359 01:57:07,020 --> 01:57:08,540 Eta, jakina, akats bat egin dut. 2360 01:57:08,540 --> 01:57:10,410 >> Dammit, ez da hori inplizituki adierazpena. 2361 01:57:10,410 --> 01:57:11,325 Baina hori fina. 2362 01:57:11,325 --> 01:57:12,590 konponketa erraza da. 2363 01:57:12,590 --> 01:57:18,240 Behar dut, prototipoa gorago nire fitxategia benetan baino ez dut erabiltzen. 2364 01:57:18,240 --> 01:57:20,070 >> Beraz, orain utzi egin zidan eztul berriro, polita. 2365 01:57:20,070 --> 01:57:20,790 Orain, lan egiten du. 2366 01:57:20,790 --> 01:57:22,930 Egin eztul, eztul, eztul, eztul. 2367 01:57:22,930 --> 01:57:25,930 Beraz, agian benetan ari garela uste al duzu pasatxo arazo hau ingeniaritzako. 2368 01:57:25,930 --> 01:57:26,763 Eta, hain zuzen ere, gara. 2369 01:57:26,763 --> 01:57:28,870 Hau ez da ona programa baten hautagaia 2370 01:57:28,870 --> 01:57:31,930 une , Refactoring eta zertarako egiten 2371 01:57:31,930 --> 01:57:35,645 hierarkiko deskonposizio deitzen, non kodea pixka bat hartu duzu, eta, ondoren, 2372 01:57:35,645 --> 01:57:38,790 nolako duzu faktore gauzak, eta, beraz, semantika gehiago haiei zien, 2373 01:57:38,790 --> 01:57:40,930 eta berrerabiltzea da epe azken finean jada. 2374 01:57:40,930 --> 01:57:43,490 Baina eraikin bloke bat lortze da programak sofistikatuagoa 2375 01:57:43,490 --> 01:57:45,600 noiz hasiko gara luze baino lehen idatziz 2376 01:57:45,600 --> 01:57:50,090 ahalbidetzen hiztegia gurekin horrekin kodea hobea idazteko. 2377 01:57:50,090 --> 01:57:52,920 Eta, hain zuzen ere, ikus dezagun badugu ezin hau orokortu gehiago. 2378 01:57:52,920 --> 01:57:57,984 >> herren pixka bat dirudi, I nagusiak, Behar den darn hau kezkatu begizta, 2379 01:57:57,984 --> 01:57:59,400 eta eztul deituz, behin eta berriro. 2380 01:57:59,400 --> 01:58:03,050 Zergatik ezin dut besterik esango eztula, mesedez eztul hiru aldiz? 2381 01:58:03,050 --> 01:58:08,170 Beste era batera esanda, zergatik ezin dut besterik sarrera eztul eta hori egin dezaten? 2382 01:58:08,170 --> 01:58:11,270 >> Zergatik ezin dut esan, in eztul nagusia hiru aldiz. 2383 01:58:11,270 --> 01:58:13,150 Eta orain, hau da, mota magikoa. 2384 01:58:13,150 --> 01:58:14,540 It oso-etorriko da hemen. 2385 01:58:14,540 --> 01:58:15,940 Eta da, hain zuzen ere, haurra urrats bat. 2386 01:58:15,940 --> 01:58:19,250 >> Baina gaitasuna besterik esateko lerro zortzi, eztul hiru aldiz, 2387 01:58:19,250 --> 01:58:20,730 besterik ez da, beraz, askoz gehiago irakurtzen. 2388 01:58:20,730 --> 01:58:24,210 Eta, plus, ez dut jakin edo zaintzeko eztul nola garatuko da. 2389 01:58:24,210 --> 01:58:26,460 Eta, hain zuzen ere, beranduago hasi du epe eta azken proiektu, 2390 01:58:26,460 --> 01:58:29,150 batera proiektu bat aurre baduzu Ikaskide bat edo bi ikaskideekin, 2391 01:58:29,150 --> 01:58:32,370 konturatzen zarela joan izan, edo nahi den, zatitzea lana. 2392 01:58:32,370 --> 01:58:34,650 >> Eta erabaki nahi joan zaren Aldez aurretik, nork zer egin behar zuen, 2393 01:58:34,650 --> 01:58:35,483 eta bertan piezak ere? 2394 01:58:35,483 --> 01:58:37,520 Eta ez litzateke polita izango da baduzu, adibidez, 2395 01:58:37,520 --> 01:58:40,100 hartu idatziz nagusia arduratzen, egin. 2396 01:58:40,100 --> 01:58:43,470 Eta zure gelakide, edo zure bazkide orokorrago, 2397 01:58:43,470 --> 01:58:45,230 eztul gauzatzeko ardura hartzen. 2398 01:58:45,230 --> 01:58:49,540 >> Eta zatiketa hori, horiek abstrakzioa hormak, 2399 01:58:49,540 --> 01:58:52,310 edo abstrakzio-geruza bada izango duzu, dira super indartsua, 2400 01:58:52,310 --> 01:58:55,480 batez ere handiago delako, konplexua programak eta sistemak, 2401 01:58:55,480 --> 01:59:00,070 Jende anitz eraikitzeko aukera ematen du Gauzak elkarrekin, eta, azken finean, 2402 01:59:00,070 --> 01:59:02,680 puntu euren lana elkarrekin modu honetan. 2403 01:59:02,680 --> 01:59:05,332 Baina, jakina, dugu Behar den orain konpondu eztula. 2404 01:59:05,332 --> 01:59:07,290 eztul kontatu behar dugu hori, beno, badakizu zer? 2405 01:59:07,290 --> 01:59:11,230 bat hartu behar joan zaren input-- beraz, ez da hutsa, baina int eta orain. 2406 01:59:11,230 --> 01:59:15,170 Dezagun aurrera eta jarri eztul int du. i lortzen zero. 2407 01:59:15,170 --> 01:59:16,890 >> i zenbat aldiz baino txikiagoa da. 2408 01:59:16,890 --> 01:59:18,550 Hiru esan dut lehenago. 2409 01:59:18,550 --> 01:59:20,420 Baina hori ez da nahi dudana. 2410 01:59:20,420 --> 01:59:25,520 nahi eztul I beharreko orokortua Bat iterazio kopurua onartzen. 2411 01:59:25,520 --> 01:59:28,800 >> Beraz, hain zuzen ere, da n nahi dut, edozein erabiltzaileari esaten dit. 2412 01:59:28,800 --> 01:59:31,620 Orain, aurrera I eta inprimatu eztul esan. 2413 01:59:31,620 --> 01:59:34,750 Eta ez du axola zer zenbakia Erabiltzaile pasatzen ere, 2414 01:59:34,750 --> 01:59:36,890 duten hainbat aldiz batetik bestera joateko egingo dut. 2415 01:59:36,890 --> 01:59:39,160 >> Beraz, egunaren amaieran, programa berdina da. 2416 01:59:39,160 --> 01:59:42,820 Baina hori guztia stuff nabarituko izan, nahiz eta beste fitxategi bat izan. 2417 01:59:42,820 --> 01:59:45,620 Izan ere, ez dut ezagutzen Une nola printf ezarri da. 2418 01:59:45,620 --> 01:59:47,980 >> Ez dut une jakin nola lortu katea, edo lortu int, float edo lortu 2419 01:59:47,980 --> 01:59:48,646 burutzen dira. 2420 01:59:48,646 --> 01:59:50,930 Eta ez dut nahi ikusi haiek nire pantailan. 2421 01:59:50,930 --> 01:59:55,320 Denez, naiz ardatz hasita I nire programa, ez funtzio horiek. 2422 01:59:55,320 --> 01:59:59,070 >> Eta horregatik, hain zuzen, laster duzun bezala hasteko hau bezalako kodea factoring out, 2423 01:59:59,070 --> 02:00:01,397 nahiz eta ezin dugu mugitu eztul fitxategi bereizi behar? 2424 02:00:01,397 --> 02:00:02,730 Beste norbaitek ezartzea izan. 2425 02:00:02,730 --> 02:00:06,810 Eta zuk eta zure programa bihurtu oso ederra, eta oso irakurgarria, 2426 02:00:06,810 --> 02:00:10,830 Dudarik gabe, benetan lau lerro programa bertan. 2427 02:00:10,830 --> 02:00:13,510 >> Beraz, goazen aurrera orain eta aldaketa gehiago egin. 2428 02:00:13,510 --> 02:00:16,180 Ohartu nire prototipoa aldatzeko gaina du. 2429 02:00:16,180 --> 02:00:18,390 Hargatik hori konpondu dit, beraz, ez dut lortu oihu at. 2430 02:00:18,390 --> 02:00:22,580 >> Egin eztul, eztul utzi exekutatu me behin gehiago, oraindik ere gauza bera egiten. 2431 02:00:22,580 --> 02:00:26,010 Baina orain, nabarituko bat dugu final bertsio bat osagai. 2432 02:00:26,010 --> 02:00:26,940 Ba al dakizu zer? 2433 02:00:26,940 --> 02:00:29,040 Ez dut nahi, besterik eztula, nahitaez. 2434 02:00:29,040 --> 02:00:30,802 Zerbait orokorrago izan nahi dut. 2435 02:00:30,802 --> 02:00:31,510 Beraz, badakizu zer? 2436 02:00:31,510 --> 02:00:32,450 Hau egin nahi dut. 2437 02:00:32,450 --> 02:00:37,140 , Dute askoz Scratch bezala nahi dut ez, esan bloke bat, baina ez besterik 2438 02:00:37,140 --> 02:00:38,680 zerbait esan zenbat aldiz batzuk. 2439 02:00:38,680 --> 02:00:41,510 kate oso zehatz bat esan nahi dut. 2440 02:00:41,510 --> 02:00:43,850 Eta, beraz, ez dut nahi, besterik esaten da eztula. 2441 02:00:43,850 --> 02:00:47,660 esatea nahi dut edozein katea da gainditu. 2442 02:00:47,660 --> 02:00:49,960 >> Oharra Beraz, orokortu dut hau, beraz, orain dela 2443 02:00:49,960 --> 02:00:53,110 say izen ona bat bezala sentitzen hau da, Scratch bezala, 2444 02:00:53,110 --> 02:00:55,530 Bi argumentu hartzen, Scratch bezala. 2445 02:00:55,530 --> 02:00:56,570 One katea da. 2446 02:00:56,570 --> 02:00:57,300 One int bat da. 2447 02:00:57,300 --> 02:00:58,130 >> Eta horiek aldatzeko nezakeen. 2448 02:00:58,130 --> 02:01:00,713 mota besterik ez dut ideia bezala katea esan lehenengo, eta, ondoren, 2449 02:01:00,713 --> 02:01:01,940 zenbat aldiz geroago. 2450 02:01:01,940 --> 02:01:03,970 Hutsa oraindik esan nahi du ez du ezer egin. 2451 02:01:03,970 --> 02:01:06,428 Hauek besterik bisualak albo dira ondorioak, [ostean? Jordan,?] 2452 02:01:06,428 --> 02:01:08,240 hitzezko albo yelling efektua. 2453 02:01:08,240 --> 02:01:12,630 Oraindik ez du zerbait n aldiz, 0 gehienez, baina ez berdin n. 2454 02:01:12,630 --> 02:01:14,540 Horrek esan n guztira aldiz. 2455 02:01:14,540 --> 02:01:16,540 Eta gero, besterik inprimatu edozein katea dela. 2456 02:01:16,540 --> 02:01:19,060 Beraz, benetan dut orokortu kode-lerro hau. 2457 02:01:19,060 --> 02:01:22,460 Beraz, orain, nola ez dut ezartzeko eztul funtzioa? 2458 02:01:22,460 --> 02:01:25,520 >> void eztul egin ahal izango dut. 2459 02:01:25,520 --> 02:01:28,501 Eta oraindik ezin dut hartu ere nola hainbat aldiz eztul nahi. 2460 02:01:28,501 --> 02:01:29,250 Baina badakizu zer? 2461 02:01:29,250 --> 02:01:31,240 Dut orain punt daiteke esan. 2462 02:01:31,240 --> 02:01:36,540 >> batera esateko deitu ahal dut hitza eztula, n pasatzerakoan. 2463 02:01:36,540 --> 02:01:40,410 Eta, gainera, martxan jarri nahi badut, soilik ondo pasatzeko, doministikua funtzio bat, 2464 02:01:40,410 --> 02:01:42,290 Aldiz kopuru batzuk doministiku dezaket. 2465 02:01:42,290 --> 02:01:47,300 Eta berrerabiliz n gorde ahal izango dut, baita nabarituko testuinguru edo esparrua honetan m dagoela 2466 02:01:47,300 --> 02:01:49,470 bakarrik funtzio honen barruan existitzen. 2467 02:01:49,470 --> 02:01:52,767 >> Eta n testuinguru honetan bakarrik Funtzio hau hemen barruan badago. 2468 02:01:52,767 --> 02:01:54,600 Beraz, itzuli dugu esparrua gai horiek. 2469 02:01:54,600 --> 02:02:01,160 Eta hemen, besterik ez dut esan nahi, achoo, eta, ondoren, n aldiz, puntu. 2470 02:02:01,160 --> 02:02:04,340 >> Eta orain, besterik gabe uzteko behar dut Funtzio hauen sinadurak sortu hemen. 2471 02:02:04,340 --> 02:02:06,290 Beraz, eztul zuzena da. 2472 02:02:06,290 --> 02:02:10,090 Hutsa doministikua zuzena da orain. 2473 02:02:10,090 --> 02:02:12,390 >> Eta nik oraindik besterik esan behar. 2474 02:02:12,390 --> 02:02:18,990 Beraz, ez dut, esan esateko joan katea, int n, puntu. 2475 02:02:18,990 --> 02:02:22,010 Beraz, ez dut gehiago-ingeniaritza heck programa honen. 2476 02:02:22,010 --> 02:02:23,760 >> Eta horrek ez du nahitaez esan hau da 2477 02:02:23,760 --> 02:02:26,343 zer idaztean egin behar duzu are gehiago, programak errazena. 2478 02:02:26,343 --> 02:02:29,280 Hartu zerbait da, jakina oso sinplea, oso laburra, 2479 02:02:29,280 --> 02:02:31,800 eta berriro ezartzea da Modu gehiegi kodea erabiliz. 2480 02:02:31,800 --> 02:02:34,560 Baina, egia esan, ikusi ahal izango dituzu, eta in denbora atzera begiratu adibide horietan oinarrituta, 2481 02:02:34,560 --> 02:02:38,610 eta konturatzen, oh, horiek dira urratsak benetan orokortu hartu genuen, 2482 02:02:38,610 --> 02:02:40,797 Zerbait faktore out, Egunaren amaieran arte 2483 02:02:40,797 --> 02:02:42,380 Nire kodea da benetan nahiko arrazoizkoa. 2484 02:02:42,380 --> 02:02:45,960 Hiru eztul nahi badut delako aldiz, gero eta doministiku hiru aldiz, 2485 02:02:45,960 --> 02:02:50,420 ez dut besterik gabe berrabiarazi joan, Programa egiteko eztula, eta exekutatu eztula. 2486 02:02:50,420 --> 02:02:53,620 Eta hiru eztula daukat eta hiru doministiku. 2487 02:02:53,620 --> 02:02:55,990 >> Eta, beraz, hau da, oinarrizko bat paradigma, izango bada, 2488 02:02:55,990 --> 02:03:00,110 nola liteke joan gara for benetan programa bat ezartzeko. 2489 02:03:00,110 --> 02:03:03,220 Baina goazen ikusi besterik orain zer den dugun izan denbora hori guztia egiten, 2490 02:03:03,220 --> 02:03:06,940 eta zer azken pieza batzuk agindu honen atzean daude. 2491 02:03:06,940 --> 02:03:09,620 Egunaren amaieran, Dugu Clang gure konpiladore gisa erabiliz izan dira. 2492 02:03:09,620 --> 02:03:11,494 Izan gara iturburu idazten kodea, bihurtzeko 2493 02:03:11,494 --> 02:03:12,820 Clang bidez makina kodea. 2494 02:03:12,820 --> 02:03:15,540 >> Eta Zuk Egin besterik erabiliz dugu Gure zanpatze beraz errazteko 2495 02:03:15,540 --> 02:03:20,740 ez dugula izan behar gogoratu Clang beraren enkantamenduak horiek. 2496 02:03:20,740 --> 02:03:22,640 Baina zer da benetan Egin egiten? 2497 02:03:22,640 --> 02:03:24,750 Eta, aldi berean, zer da Clang benetan egiten? 2498 02:03:24,750 --> 02:03:28,790 >> Bihurtzen da, sinplifikatu egin dugu, nahiz Gaur egungo eztabaida esanez, 2499 02:03:28,790 --> 02:03:33,090 iturburu-kodea hartu duzu, bezala pasatzen da konpiladore bat, eta horrek ematen dizu sarrera 2500 02:03:33,090 --> 02:03:35,750 Makina irteera kodea, bihurtzen ez en 2501 02:03:35,750 --> 02:03:37,420 urrats ezberdinak batzuk han barruan. 2502 02:03:37,420 --> 02:03:41,940 Eta konpilazioaren gertatzen euritakoa izan urrats sorta oso bat epe. 2503 02:03:41,940 --> 02:03:43,970 Baina utzi tease besterik en out hau benetan azkar. 2504 02:03:43,970 --> 02:03:48,070 >> Bihurtzen da dugun lana egiten duten Gauza gehiago aldi bakoitzean programa bat exekutatu dut, 2505 02:03:48,070 --> 02:03:50,990 edo aldi bakoitzean programa bat bildu dut gaur. 2506 02:03:50,990 --> 02:03:55,020 Beraz preprocessing aipatzen ezer Halako C programa batean, 2507 02:03:55,020 --> 02:03:58,720 dugu behin eta berriro ikusiko dugun bezala, Hori hash sinbolo honekin hasten, 2508 02:03:58,720 --> 02:04:03,320 edo hashtag ikurra hemen, esan nahi preprocessor direktiba da. 2509 02:04:03,320 --> 02:04:07,330 Horrek esan nahi du, kasu honetan, hey ordenagailua, zerbait fitxategia honekin 2510 02:04:07,330 --> 02:04:09,430 benetan konpilatu duzu nire kodea egin baino lehen. 2511 02:04:09,430 --> 02:04:15,220 >> Kasu honetan, besteak beste fidatu da, funtsean, C-ren esateko modu, 2512 02:04:15,220 --> 02:04:19,325 hey ordenagailua, joan edukiak zaitez CS50.h eta itsatsi hemen. 2513 02:04:19,325 --> 02:04:22,170 Hey ordenagailua, joan zaitez kide Io.h estandarra edukiak, 2514 02:04:22,170 --> 02:04:24,690 edonon duten on da disko gogorra, itsatsi hemen. 2515 02:04:24,690 --> 02:04:27,390 Beraz, gauza horiek gertatuko Lehenengo preprocessing zehar. 2516 02:04:27,390 --> 02:04:28,880 >> Eta Clang du hori guztia guretzat. 2517 02:04:28,880 --> 02:04:30,510 Eta ez da, beraz, darn azkarra, nahiz eta ez duzu 2518 02:04:30,510 --> 02:04:32,000 ikusi lau gauza desberdin gertatzen. 2519 02:04:32,000 --> 02:04:34,100 Baina hori lehen urratsa, hala nola da. 2520 02:04:34,100 --> 02:04:35,560 >> Zer da benetan gertatzen da hurrengoa? 2521 02:04:35,560 --> 02:04:38,320 Beno, hurrengo ofiziala urrats konpilatzean da. 2522 02:04:38,320 --> 02:04:40,385 Eta bihurtzen da programa bat konpilatzean 2523 02:04:40,385 --> 02:04:44,060 Teknikoki esan nahi joan iturburu-kodea, stuff dut dugu 2524 02:04:44,060 --> 02:04:47,890 ek idazten du gaur, zerbait izeneko muntaia kodea, zerbait 2525 02:04:47,890 --> 02:04:49,260 itxura apur bat ezberdinak. 2526 02:04:49,260 --> 02:04:51,050 >> Eta, hain zuzen ere, hau ikusiko dugu benetako azkar. 2527 02:04:51,050 --> 02:04:53,890 Let me benetan nire IDE sartu. 2528 02:04:53,890 --> 02:04:58,050 Dezagun aurrera me eta hello.c irekita, eta horrek Oso lehen programa da eta bertan lan egiten dugu 2529 02:04:58,050 --> 02:04:59,120 gaur hasi zen. 2530 02:04:59,120 --> 02:05:04,130 Eta utzi aurrera me eta exekutatu Clang bat gutxi ezberdinean, Clang-s, hello.c, 2531 02:05:04,130 --> 02:05:07,720 hau da, benetan joan ematen dit beste fitxategi hello.s. 2532 02:05:07,720 --> 02:05:10,330 >> Eta Ziurrenik inoiz ez Berriro ikusi kode mota hau. 2533 02:05:10,330 --> 02:05:13,030 maila txikiagoa hartzen bada sistemak CS61 bezalako klase, 2534 02:05:13,030 --> 02:05:14,920 Asko gehiago ikusteko aukera izango duzu kode mota honen. 2535 02:05:14,920 --> 02:05:17,020 Baina hau muntaia hizkuntza da. 2536 02:05:17,020 --> 02:05:22,050 Hau x86 muntaia hizkuntza da PUZaren hori azpiko 2537 02:05:22,050 --> 02:05:24,460 CS50 IDE benetan ulertzen. 2538 02:05:24,460 --> 02:05:27,060 >> Eta críptica egiten duen bezala begiratu, zerbait da 2539 02:05:27,060 --> 02:05:29,180 Ordenagailua ulertzen nahiko ongi. 2540 02:05:29,180 --> 02:05:30,790 Sub q, hau Kenketaren bat da. 2541 02:05:30,790 --> 02:05:31,660 Ez dago mugimenduak. 2542 02:05:31,660 --> 02:05:35,730 >> Ez da funtzio deituz hemen, x oring, mugimendu bat, iragarki bat, pop bat, 2543 02:05:35,730 --> 02:05:36,430 itzulera bat. 2544 02:05:36,430 --> 02:05:38,850 Beraz, ez da batzuk oso maila baxua argibideak 2545 02:05:38,850 --> 02:05:41,280 PUZ ulertzen alluded lehenago dut. 2546 02:05:41,280 --> 02:05:43,100 Hori zer Intel Inside da. 2547 02:05:43,100 --> 02:05:45,030 >> Badira patroiak zeroen eta hori 2548 02:05:45,030 --> 02:05:51,800 arcanely idatzitako hauei mapa, baina zertxobait ondo izendatu, argibideak, 2549 02:05:51,800 --> 02:05:52,780 nolabait esateko. 2550 02:05:52,780 --> 02:05:54,780 Hau da, zer gertatzen da zure kodea konpilatu duzu. 2551 02:05:54,780 --> 02:05:58,560 muntaia lortuko duzu hizkuntza da, eta horrek 2552 02:05:58,560 --> 02:06:04,680 esan nahi du, hirugarren urratsa da muntatzen muntaia kodea duten sartu, azken finean, 2553 02:06:04,680 --> 02:06:09,080 makina, kode zeroen eta bai, ez du Testu hori ikusi besterik ez dugu une bat duela. 2554 02:06:09,080 --> 02:06:13,370 >> Beraz, pre-prozesatzeko ez dela aurkitu eta ordezkatu, eta beste gauza batzuk. 2555 02:06:13,370 --> 02:06:16,430 Konpilatzean zure source hartzen C-tik kodea, kode iturria 2556 02:06:16,430 --> 02:06:18,980 , Idatzi zuen dugun muntaia ra kodea duten at begiratu besterik ez dugu. 2557 02:06:18,980 --> 02:06:22,170 Muntaia muntaia eramango zero eta bai ondorengo kodea 2558 02:06:22,170 --> 02:06:24,680 PUZaren benetan izango dela Egunaren amaieran ulertzeko. 2559 02:06:24,680 --> 02:06:27,630 Eta linking azken urratsa da Hori us-- gertatzen berriro, 2560 02:06:27,630 --> 02:06:29,830 hain azkar ez dugu, nahiz eta nabarituko dela dio, 2561 02:06:29,830 --> 02:06:32,460 hey ordenagailua, hartu guztia zeroen eta bai 2562 02:06:32,460 --> 02:06:36,750 Daviden kodea konpilatzean ondorioz, eta kasu honetan haren funtzio nagusia. 2563 02:06:36,750 --> 02:06:39,160 >> Eta beno ordenagailua, joan zaitez zero eta bai guztia 2564 02:06:39,160 --> 02:06:42,180 CS50 langileen idatzi duten CS50 liburutegi barruan. 2565 02:06:42,180 --> 02:06:43,440 Nahastu haietan Daviden batera. 2566 02:06:43,440 --> 02:06:46,648 Eta beno ordenagailua, joan zeroen guztiak lortu eta bai beste norbaitek idatzi zuen urte 2567 02:06:46,648 --> 02:06:47,470 Duela printf da. 2568 02:06:47,470 --> 02:06:49,880 Eta gehitu sartu dutenak Gauza osoa, beraz, amesten dugu 2569 02:06:49,880 --> 02:06:52,870 Nire zeroen eta bai, lortu CS50 langileen zeroen eta bai, 2570 02:06:52,870 --> 02:06:55,370 printf zeroen eta bai, eta erabiltzen ari garen beste ezer. 2571 02:06:55,370 --> 02:07:00,410 >> konbinatzen emateko ziren denak elkarrekin bat sartu izeneko programa, kasu honetan, kaixo. 2572 02:07:00,410 --> 02:07:03,141 Beraz, hemendik aurrera egingo dugu besterik erabili hitza konpilazioaren. 2573 02:07:03,141 --> 02:07:06,390 Eta emandako egingo dugu hartu duten esaten dugu, konpilatu zure programa, esan nahi duen, 2574 02:07:06,390 --> 02:07:08,849 hey egin du aurretiaz tratatzeko , Muntaia eta lotuz. 2575 02:07:08,849 --> 02:07:11,890 Baina ez da benetan mamitsuena stuff batzuk han gertatzen kanpaia azpian. 2576 02:07:11,890 --> 02:07:13,723 Eta batez ere baduzu lortu bitxi denbora pixka bat, 2577 02:07:13,723 --> 02:07:15,900 poking hasteko dezakezu txikiagoa maila honetan inguruan. 2578 02:07:15,900 --> 02:07:19,660 Baina orain konturatzen hori Gaurko takeaways artean 2579 02:07:19,660 --> 02:07:23,420 dira nahiko besterik gabe, prozesu baten hasieran, 2580 02:07:23,420 --> 02:07:26,700 eroso lortzeko kaixo mundua antzeko zerbait. 2581 02:07:26,700 --> 02:07:29,575 Izan ere, gaur egun, zer egin dugun gehiena Zalantzarik ez hondoratzeko super azkarra. 2582 02:07:29,575 --> 02:07:31,491 Eta pixka bat hartuko du denbora, eta praktika batzuk. 2583 02:07:31,491 --> 02:07:33,864 Eta arlo honetan, ordenatzeko izango duzu nahi zure teklatua hit 2584 02:07:33,864 --> 02:07:34,780 edo pantailan Yell. 2585 02:07:34,780 --> 02:07:35,880 Eta hori guztia da OK. 2586 02:07:35,880 --> 02:07:38,320 Nahiz eta, agian, ez saiatu ez da liburutegian hainbeste. 2587 02:07:38,320 --> 02:07:40,820 >> Eta azken finean, egingo duzu egon arren, gai, hasteko 2588 02:07:40,820 --> 02:07:44,580 ereduak ikusita, biak kodea onean idatzitakoa dela eta akatsak ere 2589 02:07:44,580 --> 02:07:45,370 egin duzula. 2590 02:07:45,370 --> 02:07:48,965 Eta prozesua ere askoz TF bihurtu edo CA bat bezalakoa da, 2591 02:07:48,965 --> 02:07:51,590 hobea lortzeko hasi zara eta eredu horiek ikusiz hobeto, 2592 02:07:51,590 --> 02:07:53,774 eta besterik zure konpontzeko egin arazoak, azken finean. 2593 02:07:53,774 --> 02:07:56,940 Bitartean, han ugari izango dira Gutako asko laguntza eman nahi, eta lortu duzu 2594 02:07:56,940 --> 02:07:57,481 honen bidez. 2595 02:07:57,481 --> 02:07:59,450 Eta idazteko-up in arazoetako guztientzat 2596 02:07:59,450 --> 02:08:01,366 egingo zehar gidatuko komando guztiak 2597 02:08:01,366 --> 02:08:05,330 Hori, zalantzarik gabe, ezagutzen dut Praktika asko honezkero, 2598 02:08:05,330 --> 02:08:07,380 baina flown izan liteke Norberaren burua orain baino gehiago. 2599 02:08:07,380 --> 02:08:08,580 Eta guztiz fina. 2600 02:08:08,580 --> 02:08:11,230 >> Baina, azken finean, bazoazela ereduak azaleratzen ikusteko hasteko. 2601 02:08:11,230 --> 02:08:14,260 Eta behin guztia iraganeko duzu ergelak xehetasun, parentesi bezala, 2602 02:08:14,260 --> 02:08:16,710 eta kizkur giltza, eta erdi-puntu bikoitza, eta stuff, Egia, 2603 02:08:16,710 --> 02:08:19,360 Hori ez da batere intelektualki interesgarria. 2604 02:08:19,360 --> 02:08:22,690 Eta ez da helburua, edozein klase sarrera hartzen. 2605 02:08:22,690 --> 02:08:24,410 diren axola ideia da. 2606 02:08:24,410 --> 02:08:26,659 >> loops da, eta baldintza, eta funtzioak, 2607 02:08:26,659 --> 02:08:30,552 eta gehiago potentziaz abstrakzioa, eta kode factoring du, 2608 02:08:30,552 --> 02:08:33,510 eta diseinu ona, eta ona du estiloa, eta, azken finean, zuzentasuna 2609 02:08:33,510 --> 02:08:37,330 Zure kodea, hori da, azken finean, gehien axola joan. 2610 02:08:37,330 --> 02:08:40,925 Beraz, datorren astean, hauek hartuko ditugu hori lehen Scratch ikusi genuen ideia 2611 02:08:40,925 --> 02:08:42,800 eta orain itzuli C. Eta hasiko dugu 2612 02:08:42,800 --> 02:08:45,740 lehen aurkeztu Jakina egungo munduan benetako domeinuak. 2613 02:08:45,740 --> 02:08:50,140 >> segurtasun munduan dugu arreta, eta, zehatzago, kriptografia, 2614 02:08:50,140 --> 02:08:51,980 Informazio scrambling arte. 2615 02:08:51,980 --> 02:08:54,000 Eta lehenengo artean Duzu zeure burua 2616 02:08:54,000 --> 02:08:56,840 haratago idazteko lortuko sintaxia batzuekin jolasten 2617 02:08:56,840 --> 02:08:59,880 eta logikoa batzuk konpontzeko arazoak, azken finean, luze baino lehen, 2618 02:08:59,880 --> 02:09:03,960 da benetan Scramble, edo enkriptatzeko, eta, azken finean, informazioa desenkriptatzeko. 2619 02:09:03,960 --> 02:09:06,470 Eta hori guztia egin dugu Gaur egun, nahiko txikia 2620 02:09:06,470 --> 02:09:09,190 maila, hau da, besterik gabe, aukera ematen joan bat, eta beste bat hartzeko aukera ematen digu, 2621 02:09:09,190 --> 02:09:13,550 eta batez ere, urrats bat gehiago interesgarrienak kodea idatziz oraindik. 2622 02:09:13,550 --> 02:09:15,050 >> Beraz, hurrengo astean gehiago. 2623 02:09:15,050 --> 02:09:17,834 2624 02:09:17,834 --> 02:09:18,762 >> [Bideo-erreprodukzioa] 2625 02:09:18,762 --> 02:09:19,690 2626 02:09:19,690 --> 02:09:22,006 >> -Zer esaten didazu buruz azken aldian zion ikusi duzu? 2627 02:09:22,006 --> 02:09:26,041 2628 02:09:26,041 --> 02:09:27,040 -Zer, esan nuen, benetan? 2629 02:09:27,040 --> 02:09:30,500 2630 02:09:30,500 --> 02:09:35,340 Esan nahi dut, izan zen beste edozein bezalakoa da pre-produkzio entsegu, 2631 02:09:35,340 --> 02:09:40,510 ez zen zerbait izan ezik, esan zuen Oso amaiera hori nirekin itsatsita at. 2632 02:09:40,510 --> 02:09:44,810 2633 02:09:44,810 --> 02:09:46,640 >> CS50 zen -Hau. 2634 02:09:46,640 --> 02:09:49,440 2635 02:09:49,440 --> 02:09:52,190 >> -Hori Ebaki denek bat da, entsegu lan handi. 2636 02:09:52,190 --> 02:09:53,070 >> -Hori Bazkaria? 2637 02:09:53,070 --> 02:09:54,986 >> -Bai, Zuk eta nik, ahal har pixka bat ere ogitarteko bat. 2638 02:09:54,986 --> 02:09:58,380 Let me with debrief besterik David benetan azkar. 2639 02:09:58,380 --> 02:09:59,160 David? 2640 02:09:59,160 --> 02:10:01,260 David? 2641 02:10:01,260 --> 02:10:03,110 >> [END erreprodukzioa]