1 00:00:00,000 --> 00:00:00,980 2 00:00:00,980 --> 00:00:04,410 >> [Daqq ta mużika] 3 00:00:04,410 --> 00:00:11,147 4 00:00:11,147 --> 00:00:12,230 DAVID J. Malan: Kull dritt. 5 00:00:12,230 --> 00:00:16,440 Dan huwa CS50, u dan hija t-tmiem tal-Ġimgħa 2. 6 00:00:16,440 --> 00:00:18,480 Allura llum, aħna qed tmur li tkompli ħarsa tagħna 7 00:00:18,480 --> 00:00:21,150 lejn kif aħna nirrappreżentaw affarijiet taħtha l-hood-- qegħdin nitbiegħdu 8 00:00:21,150 --> 00:00:23,520 minn numri bħall interi u floating valuri tal-punti 9 00:00:23,520 --> 00:00:26,810 u jiffoka fuq kordi u programmi fl-aħħarnett aktar interessanti. 10 00:00:26,810 --> 00:00:30,140 Iżda aħna ser ukoll tagħti ħarsa lejn Koppja ta 'problems-- speċifiċi għall-domain 11 00:00:30,140 --> 00:00:33,620 l-ewwel wieħed minnhom se jkun jinvolvi kriptografija, 12 00:00:33,620 --> 00:00:36,570 l-arti ta 'scrambling informazzjoni, fejn inti ara hawn fuq hawn 13 00:00:36,570 --> 00:00:41,480 hija stampa ta 'Radio Orfni Annie ċirku decoder sigriet mill-imgħoddi. 14 00:00:41,480 --> 00:00:46,490 >> Dan huwa attwalment forma ħafna primitive u l-forma favur it-tfal ta 'cryptopgraphy 15 00:00:46,490 --> 00:00:50,590 li biha dan iċ-ċirku għandu żewġ disks-- ġewwa wieħed u barra wieħed. 16 00:00:50,590 --> 00:00:54,740 U billi ddawwar wieħed minn dawk, inti tista ' essenzjalment linja up ittri bħal A 17 00:00:54,740 --> 00:00:59,520 permezz Z ma 'ittri oħra bħal B permezz A. Fi kliem ieħor, 18 00:00:59,520 --> 00:01:03,730 inti tista litteralment dawwar l-alfabett, b'hekk ġejjin bi immappjar minn 19 00:01:03,730 --> 00:01:07,820 ittri lill ittri b'tali mod li, jekk inti riedu li jibgħat messaġġ sigriet 20 00:01:07,820 --> 00:01:11,820 li xi ħadd bħal Annie, inti tista 'tikteb isfel messaġġ tiegħek u mbagħad dawwar 21 00:01:11,820 --> 00:01:15,370 l-ittri, li biha, jekk inti tfisser li jgħidu "A," inti minflok jgħidu "B," 22 00:01:15,370 --> 00:01:17,280 inti jfissirx li jgħidu "B," inti minflok jgħidu "C" - 23 00:01:17,280 --> 00:01:20,240 jew xi ħaġa ftit aktar għaqlija minn that-- u mbagħad, finalment, 24 00:01:20,240 --> 00:01:24,630 sakemm Annie għandha dan decoder ring, hi tista jiddekowdja-messaġġ. 25 00:01:24,630 --> 00:01:28,540 Issa, inti tista 'tfakkar, fil-fatt, li din il- kien użat fil-film famuż ħafna li 26 00:01:28,540 --> 00:01:31,140 jilgħab ad nauseum matul l-istaġun tal-Milied. 27 00:01:31,140 --> 00:01:32,650 Ejja tagħti ħarsa hawn. 28 00:01:32,650 --> 00:01:35,294 29 00:01:35,294 --> 00:01:37,210 RALPHIE PARKER: "Be hija magħrufa kollha fil-qosor 30 00:01:37,210 --> 00:01:41,000 li Ralph Parker huwa b'dan maħtur membru ta 'Little Orfni Annie Secret 31 00:01:41,000 --> 00:01:44,860 Ċirku u huwa intitolat li l- unuri u l-benefiċċji li jseħħu għalihom. " 32 00:01:44,860 --> 00:01:47,410 >> RALPHIE PARKER (narrating): Iffirmat Little Orfni Annie. 33 00:01:47,410 --> 00:01:50,070 Kontrofirmata, Pierre Andre! 34 00:01:50,070 --> 00:01:51,490 Fl-linka. 35 00:01:51,490 --> 00:01:55,494 Honors u l-benefiċċji, diġà fl-età ta 'disa. 36 00:01:55,494 --> 00:01:57,402 >> [Daqq ta mużika] 37 00:01:57,402 --> 00:02:00,470 >> [Chatter RADIO] 38 00:02:00,470 --> 00:02:01,470 RALPHIE PARKER: Come fuq. 39 00:02:01,470 --> 00:02:02,344 Ejja nikseb fuq magħha. 40 00:02:02,344 --> 00:02:06,029 I m'għandhomx bżonn dak kollu li jazz dwar kuntrabandisti u pirati. 41 00:02:06,029 --> 00:02:08,820 Announcer RADJU: Isma għada lejl għall-avventura jikkonkludi 42 00:02:08,820 --> 00:02:11,060 ta 'L-pirata Vapur Iswed. 43 00:02:11,060 --> 00:02:14,740 Issa, wasal iż-żmien għal tal Annie Messaġġ Secret għalik membri 44 00:02:14,740 --> 00:02:17,110 tal-Ċirku Sigriet. 45 00:02:17,110 --> 00:02:20,700 Ftakar gidjien, biss il-membri ta Secret Circle Annie 46 00:02:20,700 --> 00:02:23,270 jistgħu jiddekowdja-messaġġ sigriet Annie. 47 00:02:23,270 --> 00:02:27,270 >> Ftakar, Annie jiddependi fuq int. 48 00:02:27,270 --> 00:02:30,060 Set labar tiegħek lil B-2. 49 00:02:30,060 --> 00:02:34,004 Hawn hu l-message-- 12, 11, 2-- 50 00:02:34,004 --> 00:02:36,503 RALPHIE PARKER (narrating): I am fl-ewwel laqgħa sigrieta tiegħi. 51 00:02:36,503 --> 00:02:40,041 Announcer RADJU: --25, 14, 11, 18, 16-- 52 00:02:40,041 --> 00:02:42,790 RALPHIE PARKER (narrating): Oh, Pierre kien fil tonight vuċi kbira. 53 00:02:42,790 --> 00:02:46,110 I tista 'tgħid li dak il-tonight messaġġ kien verament importanti. 54 00:02:46,110 --> 00:02:47,930 >> Announcer RADJU: --3, 25. 55 00:02:47,930 --> 00:02:49,940 C'est messaġġ mill Annie ruħha. 56 00:02:49,940 --> 00:02:52,182 Ftakar, ma tgħid xi ħadd. 57 00:02:52,182 --> 00:02:55,077 >> [Panting] 58 00:02:55,077 --> 00:02:57,285 RALPHIE PARKER (narrating): Disgħin sekondi wara, jien 59 00:02:57,285 --> 00:03:00,090 fil-kamra biss fil- dar fejn tifel ta 'disa' 60 00:03:00,090 --> 00:03:04,380 jista ipoġġu fil-privatezza u jiddekowdja. 61 00:03:04,380 --> 00:03:04,990 Ah. 62 00:03:04,990 --> 00:03:05,680 "B." 63 00:03:05,680 --> 00:03:06,524 >> [Chuckles] 64 00:03:06,524 --> 00:03:08,684 >> RALPHIE PARKER (narrating): I marru għall-ieħor. 65 00:03:08,684 --> 00:03:09,610 "E." 66 00:03:09,610 --> 00:03:11,641 L-ewwel kelma hija "jkun." 67 00:03:11,641 --> 00:03:12,140 Iva! 68 00:03:12,140 --> 00:03:14,293 Hija kien ġejjin faċli issa. 69 00:03:14,293 --> 00:03:15,259 "U." 70 00:03:15,259 --> 00:03:16,225 >> [Chuckles] 71 00:03:16,225 --> 00:03:18,157 >> Randy PARKER: Aw, come fuq, Ralphie. 72 00:03:18,157 --> 00:03:19,606 I gotta go! 73 00:03:19,606 --> 00:03:21,538 >> RALPHIE PARKER: I ser tkun dritt isfel, Ma. 74 00:03:21,538 --> 00:03:22,504 Whiz GEE. 75 00:03:22,504 --> 00:03:25,402 76 00:03:25,402 --> 00:03:31,220 "T." "O." "Kun żgur għal. "" Kun żgur li "dak? 77 00:03:31,220 --> 00:03:33,981 Liema kienet Little Orphan Annie nipprova ngħid? "Kun żgur li" dak? 78 00:03:33,981 --> 00:03:35,522 OMM: Ralphie, Randy s'est li jmorru. 79 00:03:35,522 --> 00:03:36,735 Gaat jekk jogħġbok toħroġ? 80 00:03:36,735 --> 00:03:38,190 >> RALPHIE PARKER: Kull dritt, omm! 81 00:03:38,190 --> 00:03:39,787 I ser tkun out dritt! 82 00:03:39,787 --> 00:03:41,995 RALPHIE PARKER (narrating): I kien jkollna aktar mill-qrib issa. 83 00:03:41,995 --> 00:03:43,370 It-tensjoni kien terribbli. 84 00:03:43,370 --> 00:03:44,794 Liema kienet? 85 00:03:44,794 --> 00:03:47,656 Il-destin tal-pjaneta jista hang fil-bilanċ. 86 00:03:47,656 --> 00:03:50,518 >> OMM: Ralphie, li Randy ltqajna biex tmur! 87 00:03:50,518 --> 00:03:53,635 >> RALPHIE PARKER: I ser tkun dritt out, għall biki out loud! 88 00:03:53,635 --> 00:03:55,343 RALPHIE PARKER (Narrating): Kważi hemm! 89 00:03:55,343 --> 00:03:56,520 Swaba tiegħi taru! 90 00:03:56,520 --> 00:03:58,500 Mind tiegħi kien nassa azzar. 91 00:03:58,500 --> 00:03:59,850 Kull pori ivvibrat. 92 00:03:59,850 --> 00:04:01,806 Kien kważi ċar! 93 00:04:01,806 --> 00:04:02,773 Iva! 94 00:04:02,773 --> 00:04:03,273 Iva! 95 00:04:03,273 --> 00:04:03,773 Iva! 96 00:04:03,773 --> 00:04:04,740 Iva! 97 00:04:04,740 --> 00:04:10,250 >> RALPHIE PARKER: "Kun żgur li tixrob Ovaltine tiegħek. " 98 00:04:10,250 --> 00:04:10,750 Ovaltine? 99 00:04:10,750 --> 00:04:14,864 100 00:04:14,864 --> 00:04:17,539 A kummerċjali crummy? 101 00:04:17,539 --> 00:04:19,439 >> [Daqq ta mużika] 102 00:04:19,439 --> 00:04:21,724 >> RALPHIE PARKER: Iben ta 'kelba. 103 00:04:21,724 --> 00:04:23,460 >> [Laughing] 104 00:04:23,460 --> 00:04:27,070 >> DAVID J. Malan: Allura dan allura huwa glimpse lejn dak kriptografija 105 00:04:27,070 --> 00:04:29,880 jista 'jkun għal this-- a tixrob minn imgħoddi. 106 00:04:29,880 --> 00:04:30,900 Allura tħabbira malajr. 107 00:04:30,900 --> 00:04:33,410 Jekk inti liberu dan Ġimgħa fl 1:15 u kieku 108 00:04:33,410 --> 00:04:36,610 simili li jingħaqdu magħna għal CS50 lunch, ras għal dan il-URL hawn. 109 00:04:36,610 --> 00:04:38,080 Ewwel li jidħlu, l-ewwel iservu bħas-soltu. 110 00:04:38,080 --> 00:04:41,840 Iżda maż-żmien, aħna ser tagħmel żgur li aktar kulmin tixtieq tipparteċipa 111 00:04:41,840 --> 00:04:43,640 tista 'tfassal skeda għaqli. 112 00:04:43,640 --> 00:04:45,170 >> Allura kordi. 113 00:04:45,170 --> 00:04:47,940 Għandna Zamyla-- min inti issa stajt sodisfatti bl-aktar probabbli 114 00:04:47,940 --> 00:04:50,750 fil Problema Set 1-- li isem huwa spelt b'hekk. 115 00:04:50,750 --> 00:04:53,570 U ejja ngħidu li inti ittajpjat isem tagħha fi programm tal-kompjuter li l- 116 00:04:53,570 --> 00:04:55,710 jużaw xi ħaġa bħal getString. 117 00:04:55,710 --> 00:04:57,890 Sabiex tkun irkuprata dawk keystrokes, kif 118 00:04:57,890 --> 00:05:01,620 do we go dwar jirrappreżentaw string, kelma, paragrafu, 119 00:05:01,620 --> 00:05:03,960 jew ittri multipli bħal dawn hawn? 120 00:05:03,960 --> 00:05:06,790 >> Aħna tkellimna aħħar darba dwar interi u problemi 121 00:05:06,790 --> 00:05:09,960 li jinqalgħu bl overflow numru sħiħ u floating valuri tal-punti 122 00:05:09,960 --> 00:05:12,190 u problemi li jinqalgħu fi ħdan preċiżjoni. 123 00:05:12,190 --> 00:05:16,080 Bil kordi, aħna mill-inqas għandhom ftit aktar flessibilità 124 00:05:16,080 --> 00:05:17,970 minħabba strings-- biss fil-world-- reali 125 00:05:17,970 --> 00:05:19,790 jista 'jkun ta' tul pretty arbitrarja. 126 00:05:19,790 --> 00:05:21,055 Pretty qasir, pretty twil. 127 00:05:21,055 --> 00:05:23,680 Iżda anke dakinhar, aħna qed tmur biex issib li l-kompjuters tista 'xi kultant 128 00:05:23,680 --> 00:05:27,200 jispiċċaw tal-memorja u lanqas taħżen string kbir biżżejjed. 129 00:05:27,200 --> 00:05:30,840 >> Iżda għal issa, ejja tibda Ħares string bħala xi ħaġa fil dawn il-kaxxi 130 00:05:30,840 --> 00:05:31,340 hawn. 131 00:05:31,340 --> 00:05:36,410 Allura sitt kaxxi bħal dawn, li kull waħda minnhom jirrappreżenta karattru jew "char." 132 00:05:36,410 --> 00:05:40,646 Allura tfakkar li "char" - c-h-a-r-- huwa wieħed mit-tipi ta 'dejta mibnija fil fil C. 133 00:05:40,646 --> 00:05:43,520 U x'hemm sbieħ hija li inti tista 'tuża dik it-tip ta bħala blokk bini, 134 00:05:43,520 --> 00:05:47,880 biċċa puzzle, jekk inti se, biex jiffurmaw tip akbar ta 'data li aħna ser tkompli 135 00:05:47,880 --> 00:05:49,410 li jsejjaħ "string." 136 00:05:49,410 --> 00:05:53,650 >> Issa, x'hemm utli dwar il-ħsieb dwar affarijiet simili kordi b'dan il-mod? 137 00:05:53,650 --> 00:05:57,720 Ukoll, jirriżulta li nistgħu attwalment lieva din l-istruttura 138 00:05:57,720 --> 00:06:01,420 li attwalment aċċess karattri individwali b'mod pjuttost sempliċi. 139 00:06:01,420 --> 00:06:04,099 Jien ser jimxi 'l quddiem u joħolqu fajl imsejjaħ "stringzero.c," 140 00:06:04,099 --> 00:06:05,765 imma int tista 'sejħa hija tkun xi tkun tixtieq. 141 00:06:05,765 --> 00:06:08,500 U fuq il-websajt tal-kors hija diġà dan l-eżempju bil-quddiem, 142 00:06:08,500 --> 00:06:10,430 sabiex inti m'għandekx bżonn li tip kollox barra. 143 00:06:10,430 --> 00:06:13,820 >> U jien se jmorru 'l quddiem u l-ewwel tagħmel bla effett prinċipali int. 144 00:06:13,820 --> 00:06:15,980 U fi ftit jiem, aħna ser tibda tease apparti 145 00:06:15,980 --> 00:06:19,070 dak null hija hawnhekk, għaliex huwa int li jmiss għal main, u ibqa 'sejjer hekk. 146 00:06:19,070 --> 00:06:21,180 Iżda għal issa, ejja tkompli li kopja paste dan. 147 00:06:21,180 --> 00:06:23,455 >> Jien ser tiddikjara string imsejjaħ i. 148 00:06:23,455 --> 00:06:26,920 U jien ser jirritornaw minn GetString x'ikun it-tipi utent fil. 149 00:06:26,920 --> 00:06:29,170 Dan se jkun sempliċi programm, l-ebda struzzjonijiet, 150 00:06:29,170 --> 00:06:31,336 Jien biss ser bl-addoċċ jistennew li l-utent ikun jaf 151 00:06:31,336 --> 00:06:32,600 x'għandhom jagħmlu biex jżommha sempliċi. 152 00:06:32,600 --> 00:06:34,220 >> U issa jien se jkollhom għall-loop. 153 00:06:34,220 --> 00:06:37,450 U ġewwa tal għat loop tiegħi jien ser ikollhom int i gets żero. 154 00:06:37,450 --> 00:06:40,660 U i huwa, għal darb'oħra, biss konvenzjoni, varjabbli indiċi għall-għadd, 155 00:06:40,660 --> 00:06:42,350 imma I tista 'sejħa dan ikun x'ikun nixtieq. 156 00:06:42,350 --> 00:06:46,275 Jien ser tagħmel i huwa inqas than-- tajjeb Isem Zamyla huwa sitt ittri twil. 157 00:06:46,275 --> 00:06:48,150 So I m ser hard kodiċi li hemm għal issa. 158 00:06:48,150 --> 00:06:49,730 >> U mbagħad I ++. 159 00:06:49,730 --> 00:06:53,190 U issa ġewwa minn dawn kaboċċi braces Jien ser tagħmel printf, 160 00:06:53,190 --> 00:06:55,460 u nixtieq li jistampaw wieħed karattru fi żmien. 161 00:06:55,460 --> 00:06:58,227 So jien ser tuża% C għal forsi l-ewwel darba. 162 00:06:58,227 --> 00:07:00,560 U mbagħad I tixtieq li jistampaw kull karattru fuq linja tagħha stess. 163 00:07:00,560 --> 00:07:02,550 So jien ser tpoġġi ftit backslash n hemmhekk. 164 00:07:02,550 --> 00:07:03,640 Kwotazzjoni Agħlaq. 165 00:07:03,640 --> 00:07:06,250 >> U issa I trid tagħmel xi ħaġa hawn. 166 00:07:06,250 --> 00:07:10,610 Irrid li jistampa l- ittra speċifika fis-sekwenza, 167 00:07:10,610 --> 00:07:13,670 i, kif jien mtennija minn żero fuq sa sitta. 168 00:07:13,670 --> 00:07:17,150 Fi kliem ieħor, I jridu jistampaw il-karattru i'th ta s. 169 00:07:17,150 --> 00:07:18,420 Issa kif nista 'nagħmel dan? 170 00:07:18,420 --> 00:07:21,550 >> Ukoll ħafna bħall-kaxxi fil din ir-rappreżentanza hawn, 171 00:07:21,550 --> 00:07:25,560 tip ta ', conjure l-kunċett ta' boxing ittri, inti tista 'bl-istess mod tagħmel dan 172 00:07:25,560 --> 00:07:32,630 sintattikament fis-C billi sempliċiment jispeċifikaw, Irrid li jistampa l i i'th karattru. 173 00:07:32,630 --> 00:07:35,640 Jużaw il-parentesi kwadri fuq it-tastiera tal-kompjuter tiegħek 174 00:07:35,640 --> 00:07:38,910 li fuq tastiera Istati Uniti huma ġeneralment iktar ċavetta ritorn tiegħek. 175 00:07:38,910 --> 00:07:42,630 >> Allura dan huwa pjuttost mhux dritt għadhom, kif inti jista 'jkollok ndunat. 176 00:07:42,630 --> 00:07:44,780 Imma jien ser tip ta ' addoċċ nimxu 'l quddiem hawnhekk. 177 00:07:44,780 --> 00:07:47,020 U jien ser tagħmel jagħmlu string 0. 178 00:07:47,020 --> 00:07:50,860 Iżda qabel I tagħmel dan, ejja ara jekk irridu ma tistax tantiċipa xi żbalji komuni. 179 00:07:50,860 --> 00:07:52,844 Huwa dan se jikkompilaw? 180 00:07:52,844 --> 00:07:54,510 Le, jien nieqsa mazz sħiħ ta 'affarijiet. 181 00:07:54,510 --> 00:07:55,280 Libreriji I smajt. 182 00:07:55,280 --> 00:07:58,480 >> Allura li header files tista I tixtieq iżżid hawnhekk? 183 00:07:58,480 --> 00:07:59,205 Yeah. 184 00:07:59,205 --> 00:08:01,580 >> UDJENZA: Għandek bżonn I standard / O [inaudible] 185 00:08:01,580 --> 00:08:02,663 >> DAVID J. Malan: Eċċellenti. 186 00:08:02,663 --> 00:08:06,060 So I bżonn standard I / O. Għal dak li iskop do Irrid I standard / O? 187 00:08:06,060 --> 00:08:06,670 Għal printf. 188 00:08:06,670 --> 00:08:09,220 Allura jinkludu stdio.h. 189 00:08:09,220 --> 00:08:13,490 U inti wkoll tipproponi li I jinkludu il-librerija CS50 għal liema raġuni? 190 00:08:13,490 --> 00:08:14,650 Biex ikollhom kordi. 191 00:08:14,650 --> 00:08:17,780 Allura aħna ser tara dak Librerija CS50 hija tagħmel 192 00:08:17,780 --> 00:08:19,260 biex joħolqu dan il-kunċett ta 'sekwenza. 193 00:08:19,260 --> 00:08:21,930 Iżda għal issa, inti tista 'biss jaħsbu li bħala tip ta 'data attwali. 194 00:08:21,930 --> 00:08:23,596 >> Allura li jidher li jkun ftit mnaddfa. 195 00:08:23,596 --> 00:08:27,060 U issa jien se jimxi 'l quddiem u tabilħaqq ma jagħmlu string 0. 196 00:08:27,060 --> 00:08:27,700 Ikkumpilat. 197 00:08:27,700 --> 00:08:28,370 Allura li tajjeb. 198 00:08:28,370 --> 00:08:32,799 So ./string0 let me zoom fl sabiex inkunu nistgħu tara aktar mill-qrib x'inhu jiġri. 199 00:08:32,799 --> 00:08:33,850 Ikteb. 200 00:08:33,850 --> 00:08:37,789 Z-A-M-Y-L-A jidħol. 201 00:08:37,789 --> 00:08:39,440 U konna stampata isem Zamyla tal. 202 00:08:39,440 --> 00:08:40,409 >> Allura dak pjuttost tajba. 203 00:08:40,409 --> 00:08:43,220 Allura issa ejja imorru quddiem u run dan il-programm mill-ġdid, 204 00:08:43,220 --> 00:08:45,659 u t-tip out isem sħiħ Daven tal. 205 00:08:45,659 --> 00:08:46,450 Surprise, sorpriża. 206 00:08:46,450 --> 00:08:48,021 Ikteb. 207 00:08:48,021 --> 00:08:48,520 Hmm. 208 00:08:48,520 --> 00:08:51,750 Aħna ma stampat tal Daven ewwel isem sħiħ korrett. 209 00:08:51,750 --> 00:08:54,250 Issa dan għandu jkun ovvju fil retrospettivament minħabba dak, 210 00:08:54,250 --> 00:08:57,010 tip ta ', id-deċiżjoni disinn stupid? 211 00:08:57,010 --> 00:08:59,590 >> Yeah, I iebsa kodifikati l- sitta ġewwa ta tiegħi għal loop. 212 00:08:59,590 --> 00:09:01,610 Issa I did li biss minħabba Kont naf isem Zamyla tal 213 00:09:01,610 --> 00:09:02,776 kienet se tkun sitt ittri. 214 00:09:02,776 --> 00:09:04,720 Iżda żgur dan mhuwiex soluzzjoni ġenerali. 215 00:09:04,720 --> 00:09:07,720 Għalhekk jirriżulta li nistgħu dinamikament insemmu l-tul ta 'sekwenza 216 00:09:07,720 --> 00:09:10,440 billi ssejjaħ il-funzjoni msejħa strlen. 217 00:09:10,440 --> 00:09:12,840 >> Għal darb'oħra, deliberatament konċiż jismu biss 218 00:09:12,840 --> 00:09:14,450 li jagħmilha aktar konvenjenti għat-tip. 219 00:09:14,450 --> 00:09:17,170 Imma dak li sinonimu ma ' jkollna l-tul ta 'sekwenza. 220 00:09:17,170 --> 00:09:23,190 Jien se jmorru lura fis terminal tiegħi tieqa u jerġa 'tmexxi l-kumpilatur. 221 00:09:23,190 --> 00:09:24,170 Iżda huwa yelling fil lili. 222 00:09:24,170 --> 00:09:29,130 Impliċitament li tiddikjara funzjoni librerija strlen ma tip mhux iffirmat int const-- 223 00:09:29,130 --> 00:09:29,780 Jien mitlufa. 224 00:09:29,780 --> 00:09:30,590 Kompletament. 225 00:09:30,590 --> 00:09:32,940 >> Allura, speċjalment fir tiegħek għajnejn tibda glaze fuq 226 00:09:32,940 --> 00:09:36,000 ma messaġġi ta 'żball bħal dan, fokus onestament fuq l-ewwel ftit kliem. 227 00:09:36,000 --> 00:09:38,590 Nafu l-problema hija fil- linja 8, kif indikat hawn. 228 00:09:38,590 --> 00:09:40,500 U huwa fil string-0.c. 229 00:09:40,500 --> 00:09:43,580 Impliċitament li tiddikjara funzjoni librerija strlen. 230 00:09:43,580 --> 00:09:47,000 Allura li huwa ġeneralment ser jkun mudell ta 'messaġġi ta' żball. 231 00:09:47,000 --> 00:09:49,190 Impliċitament tiddikjara xi ħaġa. 232 00:09:49,190 --> 00:09:53,250 >> Għalhekk fil-qosor, dak li jiena deher li għamlu fir-rigward għal-linja 8, hawnhekk. 233 00:09:53,250 --> 00:09:56,880 Liema jista 'jkun is-soluzzjoni jkun saħansitra jekk inti stajt qatt jintużaw strlen yourself? 234 00:09:56,880 --> 00:09:58,907 >> UDJENZA: Parti ta 'librerija differenti? 235 00:09:58,907 --> 00:10:00,740 DAVID J. Malan: Parti ta 'librerija differenti. 236 00:10:00,740 --> 00:10:02,400 Għalhekk huwa ddikjarat, biex ngħidu hekk. 237 00:10:02,400 --> 00:10:07,510 Huwa msemmi fl xi fajl għajr stdio.h u CS50.h. 238 00:10:07,510 --> 00:10:09,179 Issa fejn m'huwa ddefinit? 239 00:10:09,179 --> 00:10:12,220 Biex inkun onest, inti jew għandek biss jafu dan off-quċċata tar-ras tiegħek, 240 00:10:12,220 --> 00:10:13,640 jew inti Google dan u nsib. 241 00:10:13,640 --> 00:10:18,150 Jew jafu dan, stajt fetħet fil-CS50 appliance-programm terminal, li 242 00:10:18,150 --> 00:10:22,200 huwa biss il-big, screen full verżjoni ta ' x'hemm fil-qiegħ ta 'tieqa gedit tal. 243 00:10:22,200 --> 00:10:24,970 >> U jirriżulta li hemm kmand bl-istess mod konċiż, imsejħa 244 00:10:24,970 --> 00:10:29,280 bniedem għall-manwali, fejn jekk inti tip l-isem ta 'funzjoni u hit Ikteb, 245 00:10:29,280 --> 00:10:32,240 int ser tingħata lura pjuttost dokumentazzjoni arcane. 246 00:10:32,240 --> 00:10:35,299 Huwa biss it-test li ġeneralment jistenna ftit xi ħaġa bħal din. 247 00:10:35,299 --> 00:10:37,090 Huwa ftit kbira ewwel daqqa t'għajn. 248 00:10:37,090 --> 00:10:39,048 Imma franchement jien ser let għajnejn tiegħi glaze fuq 249 00:10:39,048 --> 00:10:41,930 u jiffoka biss fuq il-parti I kura dwar għall-mument. 250 00:10:41,930 --> 00:10:42,780 >> Liema huwa dan. 251 00:10:42,780 --> 00:10:45,470 Liema jistenna strutturalment simili xi ħaġa jien familjari magħhom. 252 00:10:45,470 --> 00:10:48,080 Tabilħaqq il-paġna bniedem, hekk biex jitkellmu, se jgħidlek 253 00:10:48,080 --> 00:10:51,590 fil dak header fajl funzjoni bħal strlen huwa definit. 254 00:10:51,590 --> 00:10:54,170 So jien se jmorru lura issa biex gedit. 255 00:10:54,170 --> 00:10:59,070 U jien ser jimxi 'l quddiem u żid fil hawn # Jinkludu 256 00:10:59,070 --> 00:11:00,480 u tiffranka l-fajl. 257 00:11:00,480 --> 00:11:04,300 >> Jien ser ċar l-iskrin ma Kontroll L Jekk inti ħadthom ġiet mintix. 258 00:11:04,300 --> 00:11:08,210 U jien ser make mill-ġdid run string.0, jikkompila dan iż-żmien. 259 00:11:08,210 --> 00:11:11,790 ./string.0 Zamyla. 260 00:11:11,790 --> 00:11:15,020 Dan deher li jaħdmu Let me go quddiem u terġa 'ssir bl Davenport. 261 00:11:15,020 --> 00:11:15,860 Ikteb. 262 00:11:15,860 --> 00:11:17,730 U li, wisq, deher li jaħdmu. 263 00:11:17,730 --> 00:11:21,220 >> Allura nistgħu nagħmlu ftit aħjar minn dan, għalkemm, nistgħu tibda affarijiet puliti 264 00:11:21,220 --> 00:11:23,257 up biss ftit. 265 00:11:23,257 --> 00:11:25,590 U jien ser fil-fatt jintroduċu ħaġa waħda oħra issa. 266 00:11:25,590 --> 00:11:28,930 Jien ser jimxi 'l quddiem u Ħlief dan fil-fajl differenti. 267 00:11:28,930 --> 00:11:31,770 U jien ser sejħa dan il-fajl string1.c biss 268 00:11:31,770 --> 00:11:34,620 li tkun konsistenti mal-kodiċi inti ser tkun tista 'ssib online. 269 00:11:34,620 --> 00:11:37,050 >> U ejja tiffoka fuq eżattament l-istess kodiċi. 270 00:11:37,050 --> 00:11:39,000 Jirriżulta li stajt Kien tip ta 'teħid 271 00:11:39,000 --> 00:11:42,600 għall mogħtija l-fatt li laptop tiegħi, u min-naħa, l-appliance CS50 272 00:11:42,600 --> 00:11:47,450 għandha ħafna ta 'memorja, lott ta' RAM, lott ta 'bytes ta' spazju 273 00:11:47,450 --> 00:11:48,920 li nista jista 'jaħżen kordi. 274 00:11:48,920 --> 00:11:53,560 >> Iżda r-realtà jekk I ittajpjat twil biżżejjed, u biżżejjed keystrokes, 275 00:11:53,560 --> 00:11:56,170 I tista 'fil-tip teorija fl karattri aktar 276 00:11:56,170 --> 00:11:58,830 minn kompjuter tiegħi fiżikament memorja għal. 277 00:11:58,830 --> 00:11:59,830 U dan huwa problematiku. 278 00:11:59,830 --> 00:12:03,050 Ferm simili int tista 'biss għadd tant għoli, fit-teorija, 279 00:12:03,050 --> 00:12:06,600 inti tista 'biss CRAM tant karattri fis RAM kompjuter tiegħek jew Random 280 00:12:06,600 --> 00:12:07,920 Aċċess Memorja. 281 00:12:07,920 --> 00:12:11,140 >> So I kien aħjar jantiċipaw din il-problema, anke 282 00:12:11,140 --> 00:12:13,660 għalkemm jista 'jkun rari każ kantuniera, biex ngħidu hekk. 283 00:12:13,660 --> 00:12:15,670 Ma jiġri li spiss, jista 'jiġri. 284 00:12:15,670 --> 00:12:18,815 U jekk dan jiġri u I ma tantiċipa u l-programm għal dan, 285 00:12:18,815 --> 00:12:20,300 programm tiegħi tista 'tagħmel li jaf dak. 286 00:12:20,300 --> 00:12:22,220 Jiffriżaw, hang, reboot, ikun x'ikun. 287 00:12:22,220 --> 00:12:24,490 Xi ħaġa antiċipat jista 'jiġri. 288 00:12:24,490 --> 00:12:27,120 >> Allura dak li jien ser tagħmel issa, issa verament, 289 00:12:27,120 --> 00:12:31,630 huwa qabel I qatt addoċċ jużaw varjabbli bħall-s dik 290 00:12:31,630 --> 00:12:36,790 ġiet assenjata l-valur tar-ritorn ta ' xi funzjoni oħra bħall getstring, 291 00:12:36,790 --> 00:12:40,200 Jien ser tagħmel żgur li l-valur tagħha huwa validu. 292 00:12:40,200 --> 00:12:44,280 So I biss jafu minn wara li taqra Dokumentazzjoni CS50 għall getstring, 293 00:12:44,280 --> 00:12:49,020 li finalment aħna ser punt inti fil, li getstring prospetti simbolu speċjali 294 00:12:49,020 --> 00:12:53,610 imsejħa NULL, N-U-L-L fil kollha tappijiet, jekk xi ħaġa tmur ħażin. 295 00:12:53,610 --> 00:12:55,650 >> Allura normalment, dan jirritorna string. 296 00:12:55,650 --> 00:12:59,700 Iżda inkella jekk dan jirritorna N-U-L-L-- aħna ser eventwalment tara dak li verament 297 00:12:59,700 --> 00:13:01,790 means-- li biss mezzi xi ħaġa ħażina ġara. 298 00:13:01,790 --> 00:13:05,560 Issa dan ifisser, ferm simili fl Scratch, I jista 'jivverifika kundizzjoni hawn fis-C, 299 00:13:05,560 --> 00:13:08,830 jekk i ma NULL ugwali. 300 00:13:08,830 --> 00:13:11,930 Mela jekk inti stajt ma bbenefikawx dan qabel, dan ifisser biss ma ugwali. 301 00:13:11,930 --> 00:13:15,290 >> Allura huwa l-oppost ta ' ugwali ugwali, li, Recall, 302 00:13:15,290 --> 00:13:18,940 hija differenti minn wieħed ugwali, li hija assenjazzjoni. 303 00:13:18,940 --> 00:13:23,030 Mela jekk i ma ugwali NULL, biss allura do 304 00:13:23,030 --> 00:13:25,980 Irrid li tesegwixxi dawn il-linji ta 'kodiċi. 305 00:13:25,980 --> 00:13:28,080 Allura fi kliem ieħor, qabel I adsa bl-addoċċ 306 00:13:28,080 --> 00:13:30,919 u tibda mtennija fuq i, u trattat 307 00:13:30,919 --> 00:13:33,710 bħallikieku hija sekwenza ta ' karattri, jien ser ewwel jiċċekkjaw, 308 00:13:33,710 --> 00:13:37,900 stenna minuta, hija s definittivament mhux daqs dan il-valur speċjali, NULL? 309 00:13:37,900 --> 00:13:40,030 >> Għaliex jekk huwa, affarijiet ħżiena jista 'jiġri. 310 00:13:40,030 --> 00:13:43,080 U għal issa, jassumi affarijiet li ħżiena jiġri tfisser crashes programm tiegħek, 311 00:13:43,080 --> 00:13:45,070 u inti ma tistax neċessarjament jirkupraw. 312 00:13:45,070 --> 00:13:46,800 Allura franchement, jidher uglier. 313 00:13:46,800 --> 00:13:48,660 Huwa tip ta 'konfużjoni issa li t'għajn lejn. 314 00:13:48,660 --> 00:13:50,780 Iżda dan se jsir aktar familjari qabel twil. 315 00:13:50,780 --> 00:13:52,920 >> Imma jien ser tipproponi issa titjib ieħor. 316 00:13:52,920 --> 00:13:54,660 C'est titjib għall-korrettezza. 317 00:13:54,660 --> 00:13:58,800 Programm My issa huwa aktar korrett, għaliex fil-każ rari li l-memorja mhux biżżejjed 318 00:13:58,800 --> 00:14:01,180 teżisti, I se jimmaniġġjaw dan, u jien ser biss tagħmel xejn. 319 00:14:01,180 --> 00:14:02,680 I-inqas mhux se tiġrifa. 320 00:14:02,680 --> 00:14:05,000 >> Imma ejja do verżjoni finali hawn. 321 00:14:05,000 --> 00:14:07,690 U fajl imsejjaħ string2.c. 322 00:14:07,690 --> 00:14:10,190 Jien ser paste li istess kodiċi għall ftit mument, 323 00:14:10,190 --> 00:14:14,210 u jien ser tenfasizza dan linja, 11, hawn, għal ftit mument. 324 00:14:14,210 --> 00:14:18,179 Issa r-realtà hija li l-kompilaturi intelliġenti bħal Clang tista 'tiffissa dan għalina 325 00:14:18,179 --> 00:14:19,970 wara l-kwinti mingħajr tagħna qatt ma jkunu jafu. 326 00:14:19,970 --> 00:14:24,670 Imma ejja jaħsbu dwar dan fundamentalment bħala disinn problematika. 327 00:14:24,670 --> 00:14:29,010 >> Din il-linja tal-kodiċi huwa, ovvjament, qal, initialize xi varjabbli i għal 0. 328 00:14:29,010 --> 00:14:30,260 C'est pjuttost sempliċi. 329 00:14:30,260 --> 00:14:34,691 U dak darb'oħra huwa dan dikjarazzjoni, hawn, i ++, tagħmel? 330 00:14:34,691 --> 00:14:37,066 Imxejna dehru qabel, iżda aħna ma verament jitkellmu dwar dan. 331 00:14:37,066 --> 00:14:37,900 >> UDJENZA: inkrementazzjoni i. 332 00:14:37,900 --> 00:14:39,191 >> DAVID J. Malan: i inkrementazzjoni. 333 00:14:39,191 --> 00:14:41,890 Allura fuq kull iterazzjoni permezz dan loop, kull ċiklu, 334 00:14:41,890 --> 00:14:43,570 int inkrementazzjoni i minn wieħed. 335 00:14:43,570 --> 00:14:45,740 Allura jiġrilha akbar, u akbar, u akbar sakemm il-loop itemm. 336 00:14:45,740 --> 00:14:46,810 Kif ma jtemm? 337 00:14:46,810 --> 00:14:49,430 Ukoll hemm dan nofs kundizzjoni li aħna ħadthom użati qabel. 338 00:14:49,430 --> 00:14:52,500 You stajt tidher u walkthroughs fil-P sett. 339 00:14:52,500 --> 00:14:53,880 >> Imma dak li huwa dan qal? 340 00:14:53,880 --> 00:14:58,352 Jagħmlu l-segwenti loop hekk Sakemm i huwa inqas minn dak? 341 00:14:58,352 --> 00:14:59,810 UDJENZA: It-tul tas-sekwenza. 342 00:14:59,810 --> 00:15:01,518 DAVID J. Malan: Il- tul tas-sekwenza. 343 00:15:01,518 --> 00:15:04,300 Għalhekk jittraduċi pretty nadif għall-Ingliż f'dan is-sens. 344 00:15:04,300 --> 00:15:08,810 Issa l-problema hija li kull darba I jtenni permezz ta 'dan loop fit-teorija, 345 00:15:08,810 --> 00:15:10,000 Jien tistaqsi din il-kwistjoni. 346 00:15:10,000 --> 00:15:12,250 Huwa i inqas mit-tul sensiela ta 'i? 347 00:15:12,250 --> 00:15:14,500 Huwa i inqas mit-tul sensiela ta 'i? 348 00:15:14,500 --> 00:15:18,380 >> Issa qed i jinbidlu fuq kull iterazzjoni? 349 00:15:18,380 --> 00:15:18,880 Huwa. 350 00:15:18,880 --> 00:15:19,629 Minħabba l-++. 351 00:15:19,629 --> 00:15:21,700 Allura kull iterazzjoni i huwa jkollna akbar. 352 00:15:21,700 --> 00:15:25,411 Iżda huwa s jkollna akbar, jew iżgħar, jew li qed jinbidlu fil-livelli kollha? 353 00:15:25,411 --> 00:15:25,910 No 354 00:15:25,910 --> 00:15:30,240 Allura f'termini ta 'disinn, wieħed mill-assi flimkien li aħna tipprova tevalwa kodiċi 355 00:15:30,240 --> 00:15:32,610 fil-klassi, dan iħoss tip ta 'stupid. 356 00:15:32,610 --> 00:15:34,690 >> Bħalek huma litteralment, fuq kull iterazzjoni 357 00:15:34,690 --> 00:15:37,110 ta 'dan loop titlob lill- istess kwistjoni kkritikat mill-ġdid, 358 00:15:37,110 --> 00:15:40,770 u għal darb'oħra, u għal darb'oħra, u litteralment huwa qatt se jibdlu. 359 00:15:40,770 --> 00:15:44,220 Mill-inqas jekk jien ma jmissu iu jippruvaw jibdlu l-kontenut ta 'i. 360 00:15:44,220 --> 00:15:46,610 So I tista 'tagħmel ftit aħjar minn dan. 361 00:15:46,610 --> 00:15:49,530 >> U dak li jien ser tagħmel hu li ma jkunx tiddikjara wieħed biss varjabbli i, 362 00:15:49,530 --> 00:15:53,330 iżda t-tieni varjabbli I ser arbitrarju, iżda konvenzjonalment, sejħa hija n. 363 00:15:53,330 --> 00:15:55,940 Jassenja n ugwali għall- tul sensiela ta 's. 364 00:15:55,940 --> 00:15:59,090 U mbagħad minn hawn, jien ser tagħmel ottimizzazzjoni ftit għaqlija, hekk 365 00:15:59,090 --> 00:16:03,460 biex jitkellmu, li fl-aħħar tal-ġurnata huwa aktar korrett jew inqas korrett 366 00:16:03,460 --> 00:16:04,260 minn qabel. 367 00:16:04,260 --> 00:16:05,500 Iżda huwa disinn aħjar. 368 00:16:05,500 --> 00:16:09,480 Fil-fatt li jien jużaw inqas ħin, inqas ċikli CPU, hekk 369 00:16:09,480 --> 00:16:14,040 biex jitkellmu, li jwieġbu l-istess kwistjoni, iżda biss ladarba. 370 00:16:14,040 --> 00:16:17,870 >> Kwalunkwe mistoqsijiet dwar dak ġenerali prinċipju tat-titjib, 371 00:16:17,870 --> 00:16:21,294 jgħidu, l-effiċjenza ta 'programm? 372 00:16:21,294 --> 00:16:21,991 Yeah? 373 00:16:21,991 --> 00:16:23,699 UDJENZA: Għaliex għandek uża l-[inaudible]? 374 00:16:23,699 --> 00:16:25,760 375 00:16:25,760 --> 00:16:27,010 DAVID J. Malan: Tajba kwistjoni. 376 00:16:27,010 --> 00:16:30,690 Allura għaliex do we tpoġġi l-++ fuq it-tmiem ta ' i minflok il-bidu tal-i? 377 00:16:30,690 --> 00:16:33,070 F'dan il-każ, hija għandha ebda impatt funzjonali. 378 00:16:33,070 --> 00:16:36,670 U b'mod ġenerali, I-tendenza li jużaw l-operatur postfix 379 00:16:36,670 --> 00:16:41,750 b'tali mod li huwa ftit aktar ċara bħala li meta l-operazzjoni qed jiġri. 380 00:16:41,750 --> 00:16:46,670 >> Għal dawk familjari, hemm ieħor dikjarazzjonijiet li biha inti tista 'tagħmel ++ i. 381 00:16:46,670 --> 00:16:48,747 Dawn huma funzjonalment ekwivalenti f'dan il-każ 382 00:16:48,747 --> 00:16:51,080 għaliex hemm xejn madwar dik incrementation. 383 00:16:51,080 --> 00:16:54,435 Iżda int tista 'toħroġ bi każijiet u linji ta 'kodiċi 384 00:16:54,435 --> 00:16:55,810 li fihom li jagħmel differenza. 385 00:16:55,810 --> 00:16:57,810 Allura ġeneralment, aħna ma anki jitkellmu dwar dan wieħed. 386 00:16:57,810 --> 00:17:00,690 Minħabba franchement, jagħmel tiegħek kodiċi sexier, u tip ta 'slicker, 387 00:17:00,690 --> 00:17:01,776 u inqas karattri. 388 00:17:01,776 --> 00:17:04,859 Iżda r-realtà hija li huwa ħafna aktar diffiċli, I think, anke għalija biex nagħlaq f'moħħi 389 00:17:04,859 --> 00:17:07,319 madwaru kultant, l-ordni ta 'operazzjonijiet. 390 00:17:07,319 --> 00:17:09,750 Allura bħala twarrib, jekk inti verament ma bħal din, 391 00:17:09,750 --> 00:17:14,650 anke jekk din hija tip ta 'sexy tfittex, inti tista 'ukoll tagħmel i + = 1, 392 00:17:14,650 --> 00:17:18,880 li hija l-verżjoni uglier tal- istess idea għal incrementation postfix. 393 00:17:18,880 --> 00:17:22,250 >> Jien ngħid dan u int għandhom jagħmlu gost ta 'dan, 394 00:17:22,250 --> 00:17:25,140 iżda inti se jidħlu biex tara kodiċi kif xi ħaġa sabiħa qabel twil. 395 00:17:25,140 --> 00:17:27,160 >> [Rires] 396 00:17:27,160 --> 00:17:28,410 >> DAVID J. Malan: Right? 397 00:17:28,410 --> 00:17:29,360 Yeah. 398 00:17:29,360 --> 00:17:30,480 Mistoqsija fin-nofs. 399 00:17:30,480 --> 00:17:32,146 >> UDJENZA: Għandek bżonn li jgħidu int n? 400 00:17:32,146 --> 00:17:34,020 DAVID J. Malan: You do m'għandhomx bżonn li jgħidu int n. 401 00:17:34,020 --> 00:17:37,670 Allura għaliex aħna diġà qal int, inti m'għandekx bżonn li ngħid mill-ġdid. 402 00:17:37,670 --> 00:17:41,820 Il-qabda hija li n għandu jkun l-istess tip ta 'data kif i. 403 00:17:41,820 --> 00:17:43,310 Allura li jinsab biss konvenjenza hawn. 404 00:17:43,310 --> 00:17:44,058 Yeah. 405 00:17:44,058 --> 00:17:47,806 >> UDJENZA: Tista jmorru fuq il- karattru print s bracket i mill-ġdid? 406 00:17:47,806 --> 00:17:48,930 DAVID J. Malan: Assolutament. 407 00:17:48,930 --> 00:17:52,110 Allura% c, recall mill-aħħar time, huwa biss placeholder. 408 00:17:52,110 --> 00:17:53,930 Dan ifisser tpoġġi char hawn. 409 00:17:53,930 --> 00:17:56,780 backslash n, naturalment, biss mezzi tpoġġi pawża linja hawn. 410 00:17:56,780 --> 00:17:59,540 Hekk li biss tħalli, issa, din il-biċċa ta 'sintassi ġdida. 411 00:17:59,540 --> 00:18:03,730 U dan huwa litteralment qal, grab l-string imsejjaħ iu mur jiksbu tagħha 412 00:18:03,730 --> 00:18:06,050 karattru i'th, biex ngħidu hekk. 413 00:18:06,050 --> 00:18:10,590 >> And I iżommu qal karattru i'th għax fuq kull iterazzjoni ta 'dan loop 414 00:18:10,590 --> 00:18:14,540 huwa bħallikieku aħna qed istampar out, l-ewwel parentesi s 0, 415 00:18:14,540 --> 00:18:15,780 bħala programmer jista 'jgħid. 416 00:18:15,780 --> 00:18:18,680 Imbagħad i bracket 1, allura s bracket 2, allura 3, imbagħad 4. 417 00:18:18,680 --> 00:18:21,610 Iżda naturalment huwa varjabbli, so I biss jesprimu bl i. 418 00:18:21,610 --> 00:18:23,900 >> Key, għalkemm, hi li tirrealizza, speċjalment jekk inti stajt ma 419 00:18:23,900 --> 00:18:26,358 ġew acclimating għal din id-dinja ta 'programmazzjoni, fejn aħna kollha 420 00:18:26,358 --> 00:18:28,950 jidhru li jgħoddu minn żero, gotta jibdew jingħaddu minn żero issa. 421 00:18:28,950 --> 00:18:35,130 Minħabba kordi, l-ewwel karattru, l- z fl Zamyla huwa għall-aħjar jew għall-agħar 422 00:18:35,130 --> 00:18:40,490 tmur tgħix fil-numru lokazzjoni żero. 423 00:18:40,490 --> 00:18:48,210 >> Kull dritt, so let me iġġib us lura hawn biex Zamyla 424 00:18:48,210 --> 00:18:50,746 u ara x'inhu verament għaddej fuq taħt il-barnuża. 425 00:18:50,746 --> 00:18:52,370 Allura hemm dan il-kunċett ta 'ikkastjar tip. 426 00:18:52,370 --> 00:18:53,800 Inti jista 'jkollok attwalment lagħbu dan diġà, 427 00:18:53,800 --> 00:18:55,970 forsi għall-Hacker edizzjoni ta 'P sett wieħed. 428 00:18:55,970 --> 00:19:00,320 Iżda ikkastjar tip biss tirreferi għall- ħila fis-C u f'xi lingwi oħrajn 429 00:19:00,320 --> 00:19:03,170 li jikkonvertu tip ta 'data wieħed għall-ieħor. 430 00:19:03,170 --> 00:19:05,450 >> Issa kif tista naraw dan pretty jinftiehem? 431 00:19:05,450 --> 00:19:08,530 Allura dan, recall, huwa l-bidu tal-alfabett Ingliż. 432 00:19:08,530 --> 00:19:11,265 U l-kuntest, ifakkar, minn bħal ġimgħa ilu huwa ASCII. 433 00:19:11,265 --> 00:19:13,790 Il-Kodiċi American Standard għall-Informazzjoni Interchange. 434 00:19:13,790 --> 00:19:17,080 Liema huwa biss mod verament twila ta 'tgħid immappjar mill-ittri 435 00:19:17,080 --> 00:19:19,370 għal numri, u minn numri għall-ittri. 436 00:19:19,370 --> 00:19:22,940 >> Allura A permezz M hawn, dot dot dot, linji up ma ', irtirar, 437 00:19:22,940 --> 00:19:25,582 in-numru deċimali 65 fuq up. 438 00:19:25,582 --> 00:19:27,290 U aħna ma nitkellmu dwar dan b'mod espliċitu, 439 00:19:27,290 --> 00:19:29,850 imma żgur hemm simili Numri għall-ittri lowercase. 440 00:19:29,850 --> 00:19:30,820 U fil-fatt, hemm. 441 00:19:30,820 --> 00:19:33,730 Id-dinja iddeċieda xi snin ilu li ftit a, zghar a, 442 00:19:33,730 --> 00:19:35,020 se tkun 97. 443 00:19:35,020 --> 00:19:38,010 U ftit b huwa għaddej li tkun 98, u ibqa 'sejjer hekk. 444 00:19:38,010 --> 00:19:40,200 >> U għal kwalunkwe ewlenin oħra fuq tastiera tiegħek, hemm 445 00:19:40,200 --> 00:19:42,190 ser tkun mudell simili ta 'bits. 446 00:19:42,190 --> 00:19:44,540 Jew ekwivalenti, numru deċimali. 447 00:19:44,540 --> 00:19:47,110 Għalhekk il-kwistjoni fil-idejn, allura, huwa kif nistgħu 448 00:19:47,110 --> 00:19:49,400 attwalment tara dan minn taħt il-barnuża? 449 00:19:49,400 --> 00:19:51,539 So jien se jmorru fuq biex gedit mill-ġdid. 450 00:19:51,539 --> 00:19:53,330 U minflok tip dan wieħed mill-bidunett, 451 00:19:53,330 --> 00:19:55,330 Jien ser jimxi 'l quddiem u biss tiftaħ up xi ħaġa 452 00:19:55,330 --> 00:19:58,350 mill-kodiċi tal-lum sejjaħ ASCII żero. 453 00:19:58,350 --> 00:20:01,210 >> U ASCII żero tidher bħal dan. 454 00:20:01,210 --> 00:20:02,710 Mela ejja wrap imħuħ tagħna madwar dan. 455 00:20:02,710 --> 00:20:04,969 Allura l-ewwel, stajt kkummentaw il-kodiċi, li huwa sabiħ. 456 00:20:04,969 --> 00:20:07,010 Għaliex dan huwa litteralment javżak me dak li tistenna, 457 00:20:07,010 --> 00:20:08,950 juru mapping għall-ittri uppercase. 458 00:20:08,950 --> 00:20:13,690 Issa I do not pjuttost taf liema I tfisser li, hekk ejja jiddeduċu. 459 00:20:13,690 --> 00:20:16,870 >> Bl-Ingliż, forsi kemmxejn techie Ingliż, 460 00:20:16,870 --> 00:20:20,660 dak ma linja 18 jidhru li tkun qiegħda tagħmel għalina? 461 00:20:20,660 --> 00:20:21,500 Just linja 18. 462 00:20:21,500 --> 00:20:22,430 X'hemm dan jinduċu? 463 00:20:22,430 --> 00:20:25,192 X'hemm Huwa ser kick off hawn? 464 00:20:25,192 --> 00:20:26,100 >> UDJENZA: A loop. 465 00:20:26,100 --> 00:20:26,630 >> DAVID J. Malan: A loop. 466 00:20:26,630 --> 00:20:28,463 U kif ħafna drabi huwa li ser jtenni? 467 00:20:28,463 --> 00:20:31,562 468 00:20:31,562 --> 00:20:33,270 UDJENZA: [INTERPOSING VOICES] sitt darbiet. 469 00:20:33,270 --> 00:20:34,830 DAVID J. Malan: Mhux sitt darbiet. 470 00:20:34,830 --> 00:20:35,840 UDJENZA: 26 darba. 471 00:20:35,840 --> 00:20:36,560 DAVID J. Malan: 26 darba. 472 00:20:36,560 --> 00:20:37,060 Yeah, sorry. 473 00:20:37,060 --> 00:20:37,960 26 darba. 474 00:20:37,960 --> 00:20:38,460 Għaliex? 475 00:20:38,460 --> 00:20:41,590 Ukoll, huwa ftit stramb, imma Stajt beda meta tgħodd minn 65. 476 00:20:41,590 --> 00:20:43,300 Liema hija stramb, iżda mhux ħażin. 477 00:20:43,300 --> 00:20:44,610 Huwa mhux ħażin kull jiġifieri. 478 00:20:44,610 --> 00:20:46,980 U jien tagħmel dan biss minħabba li, għal dan l-eżempju, 479 00:20:46,980 --> 00:20:50,455 Jien tip ta 'antiċipazzjoni dak il-kapital A kien 65. 480 00:20:50,455 --> 00:20:53,330 Issa dan mhuwiex l-aktar eleganti mod biex isir dan, it-tip ta 'kodiċi hard 481 00:20:53,330 --> 00:20:56,130 Valuri esoteric li l-ebda wieħed huwa qatt mistennija li tiftakar. 482 00:20:56,130 --> 00:21:00,155 >> Iżda għal issa, avviż li jien tagħmel dan up permezz 65 plus 26. 483 00:21:00,155 --> 00:21:03,030 Minħabba apparentement I ma saħansitra jridu biex jagħmlu l-aritmetika in my head. 484 00:21:03,030 --> 00:21:04,440 So I ser let l-kumpilatur tagħmel dan. 485 00:21:04,440 --> 00:21:08,600 Iżda mbagħad fuq kull linja, kull iterazzjoni tal-linja, jien inkrementazzjoni i. 486 00:21:08,600 --> 00:21:10,196 >> Allura issa dan jistenna ftit cryptic. 487 00:21:10,196 --> 00:21:13,320 Iżda aħna għandu jkollhom il-bini bażika blokki li biex jifhmu dan. 488 00:21:13,320 --> 00:21:15,510 % C huwa biss placeholder għal char. 489 00:21:15,510 --> 00:21:19,010 % I huwa placeholder għal int. 490 00:21:19,010 --> 00:21:23,310 U jirriżulta li bl-użu din sintassi ġdida, dan parenthetical, hekk 491 00:21:23,310 --> 00:21:26,100 biex jitkellmu, so a tip ta 'dejta ġewwa parentesi, 492 00:21:26,100 --> 00:21:32,270 I tista 'seħħ l-kumpilatur biex jikkura i ma huwa integer, iżda bħala char. 493 00:21:32,270 --> 00:21:35,520 >> U b'hekk juru lili il-karattru ekwivalenti ta 'dak in-numru. 494 00:21:35,520 --> 00:21:37,986 Issa stabbiliti hawn, dan il-kodiċi huwa pretty ħafna identiċi. 495 00:21:37,986 --> 00:21:39,860 I biss riedu jagħmlu super espliċitu l-fatt 496 00:21:39,860 --> 00:21:42,095 li jien jibdew fil 97, li huwa zghar a. 497 00:21:42,095 --> 00:21:44,080 Fuq sa permezz 26 ittri aktar. 498 00:21:44,080 --> 00:21:46,970 U jien doing-- darb'oħra, ikkastjar i, biex ngħidu hekk. 499 00:21:46,970 --> 00:21:49,160 Jew Tip I ikkastjar, biex ngħidu hekk. 500 00:21:49,160 --> 00:21:51,420 >> Minn int għal char. 501 00:21:51,420 --> 00:21:55,760 Allura l-riżultat aħħari se tkun, franchement, informazzjoni aħna diġà jafu. 502 00:21:55,760 --> 00:21:59,411 Jien ser jagħmlu -ascii 0 ma dot-- dot c. 503 00:21:59,411 --> 00:22:02,160 Avviż, inti probabilment għamlet din żball bħala I biss għamlet aċċidentalment. 504 00:22:02,160 --> 00:22:03,820 Make-ascii 0. 505 00:22:03,820 --> 00:22:06,090 Issa jien ser tagħmel ./ascii-0. 506 00:22:06,090 --> 00:22:09,050 I ser zoom fi, u sfortunatament li għaddej biex tiskrollja barra l-iskrin. 507 00:22:09,050 --> 00:22:15,060 Iżda aħna naraw chart kollu fejn a mapep sa 97, mapep B sa 98, 508 00:22:15,060 --> 00:22:18,931 u jekk aħna iscroll aktar A, naturalment, mapep sa 65. 509 00:22:18,931 --> 00:22:21,180 Allura dan huwa biss biex jgħidu li dak li aħna kont qed jippriedka, 510 00:22:21,180 --> 00:22:25,310 hemm din l-ekwivalenza, huwa fil-fatt il-każ fir-realtà. 511 00:22:25,310 --> 00:22:28,000 Allura modifika ta 'malajr ta' din. 512 00:22:28,000 --> 00:22:31,220 Let me jiftħu ascii-1.c. 513 00:22:31,220 --> 00:22:38,070 U Avviż dan għaqlija, sort ta ', kjarifika ta' dan. 514 00:22:38,070 --> 00:22:41,770 Dan huwa ASCII-1.c, u Avviż dan ħaġa crazy. 515 00:22:41,770 --> 00:22:45,120 >> U dan verament gets il-qalb ta 'dak kompjuters qed jagħmlu. 516 00:22:45,120 --> 00:22:48,150 Anki jekk aħna bnedmin kieku Ma jgħoddux f'termini ta 'letters-- 517 00:22:48,150 --> 00:22:50,380 I ma tibda taħseb, id-dritt ta 'imbagħad b, 518 00:22:50,380 --> 00:22:52,590 u jużaw dawk li jgħoddu oġġetti fiżiċi. 519 00:22:52,590 --> 00:22:58,680 Inti tista 'ċertament ngħid li nixtieq li initialize xi varjabbli imsejħa c-- 520 00:22:58,680 --> 00:23:03,220 imma I setgħet sejjaħ dan anything-- hekk c huwa initialized għall-kapital A. 521 00:23:03,220 --> 00:23:07,560 >> Minħabba fl-aħħar tal-ġurnata, il-kompjuter ma care dak li qed ħażna, 522 00:23:07,560 --> 00:23:10,170 biss jimpurtaha kif tixtieq biex tippreżenta dik l-informazzjoni. 523 00:23:10,170 --> 00:23:13,560 Kif tridu l-kompjuter biex tinterpreta dak il-mudell ta 'bits? 524 00:23:13,560 --> 00:23:16,320 Allura dan mhux xi ħaġa I ġeneralment jirrakkomandaw tagħmel. 525 00:23:16,320 --> 00:23:19,500 Huwa tassew biss eżempju biex twassal li inti tista 'assolutament 526 00:23:19,500 --> 00:23:22,049 initialize integer għal char. 527 00:23:22,049 --> 00:23:24,090 Minħabba taħtha l- barnuża ta 'char, naturalment, 528 00:23:24,090 --> 00:23:26,170 huwa biss numru 0-255. 529 00:23:26,170 --> 00:23:28,540 >> Allura inti tista 'ċertament poġġih ġewwa ta 'int. 530 00:23:28,540 --> 00:23:30,890 U dak li din ukoll juri huwa li aħna 531 00:23:30,890 --> 00:23:34,040 jistgħu jikkonvertu minn waħda tip għall-ieħor, hawnhekk, 532 00:23:34,040 --> 00:23:36,780 finalment istampar l-istess ħaġa. 533 00:23:36,780 --> 00:23:44,760 U fil-fatt, dan I se jiffissaw online-- kien maħsub biex ngħid dan, għal darb'oħra, here. 534 00:23:44,760 --> 00:23:48,610 Let me tnaddaf dan up online, u aħna ser tara fi walkthrough online kif meħtieġ, 535 00:23:48,610 --> 00:23:50,280 dak li kien maħsub hemmhekk. 536 00:23:50,280 --> 00:23:50,960 >> OK. 537 00:23:50,960 --> 00:23:53,892 Allura aħħar eżempju issa jinvolvu 'A u B tal u allura aħna ser 538 00:23:53,892 --> 00:23:54,850 jieħdu l-affarijiet up a talja. 539 00:23:54,850 --> 00:23:58,330 Allura ma 'u tan-bu tal Ċ fil-kapitalizzazzjoni 540 00:23:58,330 --> 00:24:01,560 u l-ekwivalenza tiegħu, ejja tagħti ħarsa lejn dan l-eżempju, hawn. 541 00:24:01,560 --> 00:24:02,752 Eżempju ieħor kodiċi. 542 00:24:02,752 --> 00:24:04,460 Aħna ser tiftaħ waħda li diġà sar, hekk aħna 543 00:24:04,460 --> 00:24:06,440 ma għandekx tip li kollha barra mill-bidu. 544 00:24:06,440 --> 00:24:09,420 >> U avviż fil antiċipazzjoni aħna qed jużaw header multiplu 545 00:24:09,420 --> 00:24:13,240 fajls, fosthom hija ħabib ġdid tagħna, string.h. 546 00:24:13,240 --> 00:24:15,597 Issa dan jistenna, fl-ewwel t'għajn, ftit cryptic. 547 00:24:15,597 --> 00:24:18,180 Imma ejja ara jekk ma nkunux nistgħu raġuni permezz x'inhu għaddej hawn. 548 00:24:18,180 --> 00:24:21,150 Ewwel I nikseb string mill-utent, u nressaq li string fi varjabbli 549 00:24:21,150 --> 00:24:22,286 imsejħa s. 550 00:24:22,286 --> 00:24:24,090 Kopja paste minn qabel. 551 00:24:24,090 --> 00:24:27,250 F'konformità 22, jien apparentement tagħmel eżattament dak 552 00:24:27,250 --> 00:24:30,760 Jien għamilt mument ilu, jien mtennija fuq il-karattri fit s. 553 00:24:30,760 --> 00:24:34,780 >> U l-tricks ġodda hawn huma jużaw tul string, l-ottimizzazzjoni minuri 554 00:24:34,780 --> 00:24:37,930 tal-ħażna tul string fil n, pjuttost milli ssejjaħ strlen darb'oħra, 555 00:24:37,930 --> 00:24:38,850 u għal darb'oħra, u għal darb'oħra. 556 00:24:38,850 --> 00:24:41,120 U biss verifika li i huwa inqas minn n. 557 00:24:41,120 --> 00:24:43,330 Issa hawnhekk, affarijiet nikseb ftit interessanti. 558 00:24:43,330 --> 00:24:45,980 Iżda huwa biss applikazzjoni ta 'dan l-istess idea ġdida. 559 00:24:45,980 --> 00:24:48,470 Liema bl-Ingliż ma bracket s i jirrappreżenta? 560 00:24:48,470 --> 00:24:51,772 561 00:24:51,772 --> 00:24:54,260 >> UDJENZA: għadd ta 'kull karattru [inaudible]. 562 00:24:54,260 --> 00:24:55,926 >> DAVID J. Malan: għadd kull karattru. 563 00:24:55,926 --> 00:24:58,680 U anke aktar konċiż, bracket s i jirrappreżentaw liema? 564 00:24:58,680 --> 00:25:00,950 Would you say. 565 00:25:00,950 --> 00:25:04,084 Mhux biex tpoġġi lilek fuq il-post hawn. 566 00:25:04,084 --> 00:25:06,375 >> UDJENZA: Well-- 567 00:25:06,375 --> 00:25:09,500 DAVID J. Malan: Allura jekk il-kelma is-- jekk il-sekwenza huwa Zamyla, li starts-- 568 00:25:09,500 --> 00:25:12,380 UDJENZA: --you jittrattaw il-karattri separately-- 569 00:25:12,380 --> 00:25:13,690 DAVID J. Malan: Tajba. 570 00:25:13,690 --> 00:25:14,190 Eżattament. 571 00:25:14,190 --> 00:25:17,940 Il notazzjoni bracket kwadru jippermettilek jaċċessaw kull karattru individwalment, 572 00:25:17,940 --> 00:25:21,120 hekk i bracket 0 se tkun l- ewwel karattru fil-sekwenza. 573 00:25:21,120 --> 00:25:24,110 bracket s 1 se tkun it-tieni, u ibqa 'sejjer hekk. 574 00:25:24,110 --> 00:25:28,050 Għalhekk il-kwistjoni jien tistaqsi, hawn, f'din il-kundizzjoni huwa dak? 575 00:25:28,050 --> 00:25:33,984 Huwa l-karattru i'th ta 'aktar i minn jew ugwali għal zghar a? 576 00:25:33,984 --> 00:25:36,400 U dak li jfisser dan, hawn, mal-ampersands doppja? 577 00:25:36,400 --> 00:25:36,800 UDJENZA (FLIMKIEN): U. 578 00:25:36,800 --> 00:25:37,210 DAVID J. Malan: U. 579 00:25:37,210 --> 00:25:38,418 Huwa biss ekwivalenti għal dan. 580 00:25:38,418 --> 00:25:42,310 U mhix keyword fis-C, inti għandek użu, annoyingly, ampersand ampersand. 581 00:25:42,310 --> 00:25:47,520 U dan, għall-kuntrarju, hija tistaqsi hija i tal i'th karattru inqas minn jew ugwali 582 00:25:47,520 --> 00:25:49,030 biex zghar z? 583 00:25:49,030 --> 00:25:52,440 U għal darb'oħra, hawn fejn jifhmu l-sottostanti 584 00:25:52,440 --> 00:25:54,550 implimentazzjoni ta ' kompjuter jagħmel sens. 585 00:25:54,550 --> 00:25:57,330 Avviż li, anki jekk I jkollhom l-dot dot dot hemmhekk, 586 00:25:57,330 --> 00:26:04,410 qisu permezz z fl zghar huma Valuri kontigwi kollha up mill-97 fuq up. 587 00:26:04,410 --> 00:26:07,820 >> U istess għall uppercase jibdew f'65. 588 00:26:07,820 --> 00:26:10,410 Allura l-takeaway, imbagħad, hija li fil-Ingliż, 589 00:26:10,410 --> 00:26:12,760 Kif tiddeskrivi liema linja 24 qed tagħmel? 590 00:26:12,760 --> 00:26:15,736 591 00:26:15,736 --> 00:26:16,728 Yeah? 592 00:26:16,728 --> 00:26:21,575 >> UDJENZA: Fl-24 huwa verifika biex tara jekk kull karattru huwa zghar. 593 00:26:21,575 --> 00:26:24,700 DAVID J. Malan: Huwa verifika jekk kull karattru hija ittra zghar. 594 00:26:24,700 --> 00:26:28,590 Hekk anke aktar konċiż, hija l- karattru i'th tal zghar i? 595 00:26:28,590 --> 00:26:30,690 Li kollox aħna qed jesprimu hawn loġikament, 596 00:26:30,690 --> 00:26:33,750 ftit cryptically, imma finalment pretty jinftiehem. 597 00:26:33,750 --> 00:26:36,480 Hija S tal i'th zghar karattru? 598 00:26:36,480 --> 00:26:40,130 >> Jekk iva, u hawn fejn l-affarijiet jiksbu mind ftit liwi 599 00:26:40,130 --> 00:26:44,760 għal ftit mument, jekk iva, imorru quddiem u jistampa karattru. 600 00:26:44,760 --> 00:26:47,360 Allura dan huwa biss placeholder, imma dak karattru? 601 00:26:47,360 --> 00:26:53,710 Why am I tagħmel bracket s i minus din l-espressjoni hawn? 602 00:26:53,710 --> 00:26:55,110 >> Ukoll avviż l-mudell hawnhekk. 603 00:26:55,110 --> 00:26:57,380 In-numri reali ma jimpurtax tant. 604 00:26:57,380 --> 00:27:02,700 Iżda avviż li 97 hija kemm bogħod mill 65? 605 00:27:02,700 --> 00:27:03,560 >> UDJENZA: 32. 606 00:27:03,560 --> 00:27:04,480 >> DAVID J. Malan: 32. 607 00:27:04,480 --> 00:27:06,890 Kemm bogħod huwa 98 minn 66? 608 00:27:06,890 --> 00:27:07,740 >> UDJENZA: 32. 609 00:27:07,740 --> 00:27:09,890 >> DAVID J. Malan: Little c minn C big? 610 00:27:09,890 --> 00:27:10,420 32. 611 00:27:10,420 --> 00:27:14,550 Allura hemm 32-ħops minn ittra waħda għall-ieħor. 612 00:27:14,550 --> 00:27:17,790 So franchement I, jistgħu jissimplifika dan għal dak. 613 00:27:17,790 --> 00:27:20,400 Imma mbagħad jien tip ta 'diffiċli' kodifikazzjoni dan il-fehim livell baxx 614 00:27:20,400 --> 00:27:21,740 li l-ebda qarrej huwa qatt ser jifhmu. 615 00:27:21,740 --> 00:27:25,080 So jien ser tiġġeneralizza bħala, I jafu l-ittri lowercase huma akbar. 616 00:27:25,080 --> 00:27:28,400 I know-ittri kapitali huma Valuri iżgħar, ironikament. 617 00:27:28,400 --> 00:27:33,216 >> Iżda din hija effettivament ekwivalenti għal qal naqqas 32 mill parentesi s i. 618 00:27:33,216 --> 00:27:35,430 Allura fil-kuntest ta 'dawn ittri, jekk l-ittra 619 00:27:35,430 --> 00:27:38,950 jiġri li jkun, lowercase a, u I naqqas 32, 620 00:27:38,950 --> 00:27:43,442 x'effett ma li jkollhom, matematikament, fuq zghar a? 621 00:27:43,442 --> 00:27:44,400 UDJENZA: Capitalizes-- 622 00:27:44,400 --> 00:27:45,691 DAVID J. Malan: tikkapitalizza dan. 623 00:27:45,691 --> 00:27:48,440 U fil-fatt, dan huwa għaliex tagħna programm huwa msejjaħ kapitalizzazzjoni żero. 624 00:27:48,440 --> 00:27:51,590 Dan il-programm jew tikkapitalizza ittra, 625 00:27:51,590 --> 00:27:54,580 wara verifika jekk huwa tabilħaqq ittra zghar. 626 00:27:54,580 --> 00:27:59,810 Inkella, fil-linja 30, x'għandi nagħmel jekk huwa mhux ittra lowercase li jien 627 00:27:59,810 --> 00:28:02,852 tħares lejn lejn partikolari iterazzjoni fil-linja. 628 00:28:02,852 --> 00:28:03,890 Just ipprintjaha. 629 00:28:03,890 --> 00:28:07,010 >> Allura ma jbiddlux Jittieħed li mhux anki zghar. 630 00:28:07,010 --> 00:28:10,790 Illimita lilek innifsek biex ftit li permezz ftit z. 631 00:28:10,790 --> 00:28:12,730 Issa dan huwa pjuttost arcane. 632 00:28:12,730 --> 00:28:15,230 Iżda fl-aħħar tal-ġurnata, dan huwa kif aħna, darba fuq żmien, 633 00:28:15,230 --> 00:28:16,460 kellhom jimplimentaw affarijiet. 634 00:28:16,460 --> 00:28:19,780 Jekk I minflok tiftaħ kapitalizzazzjoni wieħed, oh thank god. 635 00:28:19,780 --> 00:28:22,320 Hemm funzjoni msejħa biex fuq li jistgħu 636 00:28:22,320 --> 00:28:25,410 do kollox aħna biss għamlet fuq livell pjuttost baxx. 637 00:28:25,410 --> 00:28:28,752 >> Issa biex fuq huwa interessanti minħabba li huwa ddikjarat fil-fajl, 638 00:28:28,752 --> 00:28:31,210 u inti biss taf dan billi tiċċekkja d-dokumentazzjoni, 639 00:28:31,210 --> 00:28:35,730 jew jghidulek, ngħidu aħna, fil-klassi, fejn teżisti, fil fajl imsejjaħ ctype.h. 640 00:28:35,730 --> 00:28:37,630 Allura dan huwa ħabib ieħor ġdid ta 'tagħna. 641 00:28:37,630 --> 00:28:40,750 U biex fuq ma eżattament dak l-isem stess jissuġġerixxi. 642 00:28:40,750 --> 00:28:44,860 >> Inti tista 'tgħaddi fil-, bħala argument, bejn dawn parentesi, xi karattru. 643 00:28:44,860 --> 00:28:48,390 Jien ser jgħaddu fil-karattru i'th ta 'S użu notazzjoni ġdida tagħna fancy 644 00:28:48,390 --> 00:28:49,870 jinvolvu parentesi kwadri. 645 00:28:49,870 --> 00:28:53,391 U tieħu raden, dak huwa r-ritorn valur ta 'li fuq apparentement tmur 646 00:28:53,391 --> 00:28:53,890 li tkun? 647 00:28:53,890 --> 00:28:56,460 648 00:28:56,460 --> 00:28:57,770 A ittra kapitali. 649 00:28:57,770 --> 00:28:58,620 A ittra kapitali. 650 00:28:58,620 --> 00:29:02,330 >> Mela jekk jien jgħaddu fi zghar a, nisperaw, b'definizzjoni ta lil ta 'fuq, 651 00:29:02,330 --> 00:29:05,600 li għaddej biex jirritorna l uppercase A. Inkella, 652 00:29:05,600 --> 00:29:08,590 jekk mhuwiex ittra zghar fil l-ewwel post, I biss print it out. 653 00:29:08,590 --> 00:29:10,800 U fil-fatt, avviż- tieni ħabib hawn. 654 00:29:10,800 --> 00:29:13,840 Mhux biss biex fuq teżisti, imma hija inqas, li 655 00:29:13,840 --> 00:29:16,200 attwalment iwieġeb din id-domanda għalija. 656 00:29:16,200 --> 00:29:19,730 >> Issa min kiteb dawn l-affarijiet, 10s ta 'snin ilu, inti taf liema? 657 00:29:19,730 --> 00:29:23,840 Implimentati biex fuq u huwa iktar baxxa li jużaw kodiċi bħal dan. 658 00:29:23,840 --> 00:29:27,270 Iżda għal darb'oħra, konsistenti mal- din l-idea ta 'abstracting bogħod, 659 00:29:27,270 --> 00:29:29,190 tip ta ', livell aktar baxx dettalji tal-implimentazzjoni. 660 00:29:29,190 --> 00:29:32,600 U wieqfa fuq l-ispallejn ta 'nies li daħlu qabel magħna, bl-użu funzjonijiet 661 00:29:32,600 --> 00:29:36,300 simili li fuq u huwa inqas, li wonderfully biżżejjed huma nicely 662 00:29:36,300 --> 00:29:40,190 jismu li jgħidu dak li jagħmlu, huwa paradigma mill-isbaħ li jadottaw. 663 00:29:40,190 --> 00:29:44,040 >> Issa, jirriżulta li jekk I taqra il-paġna bniedem għal, ngħidu, biex fuq, 664 00:29:44,040 --> 00:29:45,010 I jitgħallmu xi ħaġa oħra. 665 00:29:45,010 --> 00:29:46,890 Allura bniedem toUpper. 666 00:29:46,890 --> 00:29:48,050 Huwa ftit kbira. 667 00:29:48,050 --> 00:29:51,110 Iżda avviż, hawnhekk li aċċenn il-fajl header li għandi jużaw. 668 00:29:51,110 --> 00:29:54,460 Bħala twarrib, għaliex dan hija qarrieqa, il-funzjoni 669 00:29:54,460 --> 00:29:59,070 użi ints minflok Chars għal raġunijiet ta 'żball iċċekkjar. 670 00:29:59,070 --> 00:30:01,260 Iżda aħna ser forsi jaslu lura għal dak fil-futur. 671 00:30:01,260 --> 00:30:05,910 >> Iżda avviż, hawn, biex tikkonverti 'fuq l-ittra c sabiex uppercase jekk possibbli. 672 00:30:05,910 --> 00:30:07,674 Allura dak pjuttost sempliċi. 673 00:30:07,674 --> 00:30:09,340 U issa ejja jkun ftit aktar speċifiku. 674 00:30:09,340 --> 00:30:12,750 Ejja nħarsu lejn l-parti tal- paġna bniedem taħt il-valur tar-ritorn. 675 00:30:12,750 --> 00:30:15,420 Il-valur irritornat huwa li tal-ittra konvertiti. 676 00:30:15,420 --> 00:30:18,690 Jew c, jekk il-konverżjoni ma kienx possibbli, 677 00:30:18,690 --> 00:30:20,250 fejn c hija l-input oriġinali. 678 00:30:20,250 --> 00:30:24,140 Liema Naf minn hawn, minn l-argument li għal ta 'fuq. 679 00:30:24,140 --> 00:30:25,780 >> Allura x'inhi l-takeaway ta 'dan? 680 00:30:25,780 --> 00:30:28,060 Il-valur irritornat huwa li tal-ittra konvertiti, 681 00:30:28,060 --> 00:30:32,110 jew c, l-ittra oriġinali, jekk l-konverżjoni ma kienx possibbli. 682 00:30:32,110 --> 00:30:36,460 What titjib nista għalhekk tagħmel it-tfassil kodiċi tiegħi? 683 00:30:36,460 --> 00:30:37,146 Yeah? 684 00:30:37,146 --> 00:30:38,810 >> UDJENZA: Inti tista 'tneħħi l-ieħor. 685 00:30:38,810 --> 00:30:40,810 DAVID J. Malan: I tista ' neħħi l-istqarrija inkella, 686 00:30:40,810 --> 00:30:42,510 u mhux biss l-istqarrija inkella. 687 00:30:42,510 --> 00:30:44,150 >> UDJENZA: Inti tista 'tneħħi [inaudible]. 688 00:30:44,150 --> 00:30:46,310 >> DAVID J. Malan: I tista ' neħħi l-furketta kollu 689 00:30:46,310 --> 00:30:48,209 fit-triq, il-jekk inkella għal kollox. 690 00:30:48,209 --> 00:30:50,250 Allura fil-fatt, let me miftuħa il-verżjoni finali ta 'din, 691 00:30:50,250 --> 00:30:55,540 kapitalizzazzjoni-2 u avviż kemm, jekk inti se, sexy, il-kodiċi hija issa jkollna, 692 00:30:55,540 --> 00:31:00,040 f'dak stajt mnaqqas minn xi seba 'jew hekk linji għal ftit erba, 693 00:31:00,040 --> 00:31:03,850 l-funzjonalità li I maħsuba billi sempliċiment ssejjaħ biex fuq, 694 00:31:03,850 --> 00:31:09,410 tgħaddi fis-bracket i i, u l-istampar , bl-placeholder% c, 695 00:31:09,410 --> 00:31:11,090 dan il-karattru partikolari. 696 00:31:11,090 --> 00:31:14,560 >> Issa forsi, hemm bug, jew għall-inqas ir-riskju ta 'bug, 697 00:31:14,560 --> 00:31:15,350 f'dan il-programm. 698 00:31:15,350 --> 00:31:18,200 Hekk biss li jiġu lura għal takeaway aktar kmieni, 699 00:31:18,200 --> 00:31:21,820 x'għandi I probabbilment wkoll tagħmel fil dan il-programm li jagħmilha aktar b'saħħitha, 700 00:31:21,820 --> 00:31:24,974 sabiex ma jkun hemm l-ebda mod li tista tiġrifa, anki f'każijiet rari? 701 00:31:24,974 --> 00:31:26,390 UDJENZA: Kun ċert li huwa mhux NULL. 702 00:31:26,390 --> 00:31:28,056 DAVID J. Malan: Kun ċert li huwa mhux NULL. 703 00:31:28,056 --> 00:31:31,030 Allura verament, biex jagħmlu dan super xierqa, I għandhom jagħmlu xi ħaġa simili, 704 00:31:31,030 --> 00:31:35,300 jekk i ma tkunx NULL, allura imorru quddiem u tesegwixxi 705 00:31:35,300 --> 00:31:38,470 dawn il-linji ta 'kodiċi, li I jistgħu mbagħad inċiż bħal dik, 706 00:31:38,470 --> 00:31:39,870 u mbagħad titqiegħed fil Brace qrib tiegħi. 707 00:31:39,870 --> 00:31:41,550 Allura tajjeb irbit flimkien taż-żewġ ideat. 708 00:31:41,550 --> 00:31:42,429 Yeah? 709 00:31:42,429 --> 00:31:44,470 UDJENZA: Tista 'tuża do filwaqt loop, minflok? 710 00:31:44,470 --> 00:31:47,270 DAVID J. Malan: Jista I do do filwaqt loop? 711 00:31:47,270 --> 00:31:50,020 UDJENZA: --you tixtieq li tagħmel ċert li inti fil-fatt [inaudible]. 712 00:31:50,020 --> 00:31:51,728 DAVID J. Malan: Jista tuża do filwaqt? 713 00:31:51,728 --> 00:31:52,450 Risposta qasira, l-ebda. 714 00:31:52,450 --> 00:31:54,700 Għaliex int ser jintroduċu każ ieħor kantuniera. 715 00:31:54,700 --> 00:31:56,660 Jekk il-sekwenza huwa ta 'tul żero. 716 00:31:56,660 --> 00:31:59,600 Jekk per eżempju, I biss hit Ikteb, mingħajr qatt ittajpjar Zamyla. 717 00:31:59,600 --> 00:32:02,490 Jien ser inti idejn lura attwali string, kif aħna ser eventwalment tara, 718 00:32:02,490 --> 00:32:03,780 li għandha żero karattri. 719 00:32:03,780 --> 00:32:05,630 Huwa għadu string, huwa biss super qasir. 720 00:32:05,630 --> 00:32:07,960 Imma jekk inti tuża do waqt, int ser addoċċ 721 00:32:07,960 --> 00:32:10,050 jipprova jagħmel xi ħaġa ma ' rigward ta 'dik string, 722 00:32:10,050 --> 00:32:12,537 u xejn għaddej biex jkun hemm. 723 00:32:12,537 --> 00:32:18,607 >> UDJENZA: Well, jekk inti ma do [inaudible] filwaqt S-- 724 00:32:18,607 --> 00:32:21,190 DAVID J. Malan: Oh I see, iżommu jkollna string mill-utent. 725 00:32:21,190 --> 00:32:23,525 Tweġiba tant qasir, inti jista, u jżommu pestering 726 00:32:23,525 --> 00:32:26,150 biex jagħtuk string li l- qasir biżżejjed li jitwaħħal fil-memorja. 727 00:32:26,150 --> 00:32:26,700 Assolutament. 728 00:32:26,700 --> 00:32:27,630 I biss għażlet li ma. 729 00:32:27,630 --> 00:32:30,505 Jekk dawn ma jagħtux me-sekwenza I tixtieq, jien jaqtagħhom, jien jċedu. 730 00:32:30,505 --> 00:32:33,260 Iżda assolutament, għal dak l-iskop, inti tista 'assolutament tagħmel dan. 731 00:32:33,260 --> 00:32:37,500 >> Allura fajls header tal-librerija li aħna qed issa familjari ma huma dawn, here. 732 00:32:37,500 --> 00:32:41,550 Standard I / O, CS50.h, string.h, ctype.h, u hemm, tabilħaqq, oħrajn. 733 00:32:41,550 --> 00:32:44,460 Xi wħud minnkom skoprew il-librerija matematika fl math.h. 734 00:32:44,460 --> 00:32:48,200 Imma let me jintroduċu inti, issa, biex din ir-riżorsa li l-persunal CS50, Davin, 735 00:32:48,200 --> 00:32:50,630 u Rob, u Gabe partikolari poġġew flimkien. 736 00:32:50,630 --> 00:32:52,630 Li dalwaqt se link fuq websajt tal-kors tal-. 737 00:32:52,630 --> 00:32:54,870 Huwa sejjaħ referenza CS50. 738 00:32:54,870 --> 00:32:58,230 >> Liema biss biex jagħtuk quick togħma ta 'dan, xogħlijiet kif ġej. 739 00:32:58,230 --> 00:33:00,740 Let me mur reference.cs50.net. 740 00:33:00,740 --> 00:33:02,990 Int ser ikollok tara fuq in-naħa tax-xellug ġenb lista kbira 741 00:33:02,990 --> 00:33:04,595 tal-funzjonijiet li jiġu mal c. 742 00:33:04,595 --> 00:33:07,790 Imma jekk I kura, għall-mument, dwar xi ħaġa bħal strlen, 743 00:33:07,790 --> 00:33:08,746 I tista tip hemmhekk. 744 00:33:08,746 --> 00:33:10,870 Hija filtri jistabbilixxi l-lista li biss dak I care about. 745 00:33:10,870 --> 00:33:11,940 Jien ser ikklikkja dan. 746 00:33:11,940 --> 00:33:14,740 U issa fuq ix-xellug, tkun taf tara dak li aħna nittamaw 747 00:33:14,740 --> 00:33:18,290 huwa aktar sempliċi, umani spjegazzjoni friendly ta 'kif 748 00:33:18,290 --> 00:33:19,170 din il-funzjoni jaħdem. 749 00:33:19,170 --> 00:33:20,600 >> Denunzji-tul ta 'sekwenza. 750 00:33:20,600 --> 00:33:24,060 Hawn sinopsi, hawnhekk kif inti tużah f'termini tal-fajl header, 751 00:33:24,060 --> 00:33:27,430 u f'termini ta 'dak li l-funzjoni Dehra f'termini ta 'l-argumenti tagħha. 752 00:33:27,430 --> 00:33:30,250 U allura hawnhekk, prospetti it-tul ta 'sekwenza. 753 00:33:30,250 --> 00:33:34,280 Iżda għal dawk tal inti aktar komda, inti tista 'attwalment ikklikkja aktar comfy, 754 00:33:34,280 --> 00:33:37,070 u l-kontenut ta 'dan paġna, issa, se jinbidlu 755 00:33:37,070 --> 00:33:41,660 li jkun il-valuri awtomatiċi ta 'dak li ikollok billi tuża il-paġna bniedem. 756 00:33:41,660 --> 00:33:44,100 >> Fi kliem ieħor, CS50 referenza hija simplifikazzjoni 757 00:33:44,100 --> 00:33:46,220 ta 'paġni bniedem mill-persunal, għall-istudenti. 758 00:33:46,220 --> 00:33:49,320 Partikolarment, dawk inqas komdi u fl bejn, sabiex inti 759 00:33:49,320 --> 00:33:51,660 ma għandekx biex jippruvaw biex nagħlaq moħħok madwar, franchement, 760 00:33:51,660 --> 00:33:55,030 xi sintassi pjuttost cryptic u dokumentazzjoni f'xi. 761 00:33:55,030 --> 00:33:57,650 >> Sabiex iżommu dan f'moħħhom fil-jiem li ġejjin. 762 00:33:57,650 --> 00:33:59,560 Allura hawnhekk, għal darb'oħra, huwa Zamyla. 763 00:33:59,560 --> 00:34:03,255 Ejja issa jistaqsu mistoqsija li l- ftit aktar umana aċċessibbli. 764 00:34:03,255 --> 00:34:05,380 Grazzi għall Chang, li kien istampar aktar iljunfanti 765 00:34:05,380 --> 00:34:07,090 nonstop għall-aħħar ftit jiem. 766 00:34:07,090 --> 00:34:09,730 Għandna l-opportunità li jagħtu mill-inqas wieħed minnhom bogħod. 767 00:34:09,730 --> 00:34:13,239 Jekk nistgħu tikseb wieħed biss voluntier li ġejjin fuq up biex ifasslu fuq l-iskrin. 768 00:34:13,239 --> 00:34:14,530 Kif dwar hawn? 769 00:34:14,530 --> 00:34:15,340 >> Come fuq up. 770 00:34:15,340 --> 00:34:16,720 X'inhu l-isem tiegħek? 771 00:34:16,720 --> 00:34:17,219 ALEX: Alex. 772 00:34:17,219 --> 00:34:17,760 DAVID J. Malan: Alex. 773 00:34:17,760 --> 00:34:18,259 Kull dritt. 774 00:34:18,259 --> 00:34:19,388 Alex, come fuq up. 775 00:34:19,388 --> 00:34:21,679 Aħna waslet biex tara tiegħek kalligrafija fuq l-iskrin hawn. 776 00:34:21,679 --> 00:34:24,325 777 00:34:24,325 --> 00:34:25,570 Kull dritt, sbieħ li jissodisfaw inti. 778 00:34:25,570 --> 00:34:26,429 >> ALEX: Nizza inti tissodisfa inti. 779 00:34:26,429 --> 00:34:27,512 >> DAVID J. Malan: Kull dritt. 780 00:34:27,512 --> 00:34:28,969 Allura, l-eżerċizzju super sempliċi. 781 00:34:28,969 --> 00:34:31,440 Bar mhuwiex għoli li tikseb iljunfant llum. 782 00:34:31,440 --> 00:34:33,439 Inti qed jilagħbu l-irwol ta 'getstring. 783 00:34:33,439 --> 00:34:35,980 U jien ser jgħidlek biss l-sekwenza li inti stajt gotten. 784 00:34:35,980 --> 00:34:38,080 U jissoponi li inti, getstring, ġew imsejħa. 785 00:34:38,080 --> 00:34:42,480 U l-bniedem, bħali, għandha ittajpjat fil Zamyla, Z-A-M-Y-L-A. 786 00:34:42,480 --> 00:34:45,650 Just go quddiem u jiktbu Zamyla fuq il- screen daqslikieku inti gotten dan 787 00:34:45,650 --> 00:34:47,250 u maħżuna x'imkien fil-memorja. 788 00:34:47,250 --> 00:34:52,370 789 00:34:52,370 --> 00:34:55,570 >> Leaving kamra għal dak li se jkun diversi words-- ieħor li OK, iżommu għaddejjin. 790 00:34:55,570 --> 00:34:59,620 >> [Rires] 791 00:34:59,620 --> 00:35:00,800 >> Allura Zamyla, Eċċellenti. 792 00:35:00,800 --> 00:35:04,880 Allura issa jissoponi li inti, getstring, huma msejħa mill-ġdid. 793 00:35:04,880 --> 00:35:09,350 U għalhekk, I jagħtuk, fil- keyboard, ma 'isem ieħor, Belinda. 794 00:35:09,350 --> 00:35:17,560 795 00:35:17,560 --> 00:35:18,060 Kull dritt. 796 00:35:18,060 --> 00:35:22,380 U issa l-getstring ħin li jmiss hu imsejħa, I tip fil xi ħaġa simili Gabe, 797 00:35:22,380 --> 00:35:27,560 G-A-B E. Int verament tieħu qalb memorja t'aċċess bl-addoċċ. 798 00:35:27,560 --> 00:35:29,631 Liema hija tpinġija kollox kompletament saltwarjament. 799 00:35:29,631 --> 00:35:30,130 OK. 800 00:35:30,130 --> 00:35:31,104 >> [Rires] 801 00:35:31,104 --> 00:35:32,520 ALEX: Jiddispjacini kalligrafija tiegħi huwa ħażin. 802 00:35:32,520 --> 00:35:33,770 DAVID J. Malan: Le, li OK. 803 00:35:33,770 --> 00:35:40,480 U kif madwar Rob, R-O-B. OK. 804 00:35:40,480 --> 00:35:41,020 Tajba. 805 00:35:41,020 --> 00:35:43,853 So I ma tantiċipa inti tip ta jistabbilixxu affarijiet f'din il-mod. 806 00:35:43,853 --> 00:35:45,020 Iżda nistgħu nagħmlu dan ix-xogħol. 807 00:35:45,020 --> 00:35:48,810 Allura kif ma inti tmur dwar li out dawn Chars fil-memorja? 808 00:35:48,810 --> 00:35:51,310 Fi kliem ieħor, jekk naħsbu ta ' dan l-iskrin iswed rettangolari 809 00:35:51,310 --> 00:35:53,550 bħala li jirrappreżentaw RAM, jew memorja tal-kompjuter. 810 00:35:53,550 --> 00:35:55,850 >> U tfakkar li RAM huwa biss mazz sħiħ ta 'bytes, 811 00:35:55,850 --> 00:35:57,480 u bytes huma mazz sħiħ ta 'bits. 812 00:35:57,480 --> 00:35:59,350 U bits huma b'xi mod implimentati, ġeneralment 813 00:35:59,350 --> 00:36:01,119 ma 'xi forma ta' elettriku fil-hardware. 814 00:36:01,119 --> 00:36:03,160 Allura dak it-tip ta 'l- saffi konna tkellimna dwar 815 00:36:03,160 --> 00:36:04,510 u issa tista 'tieħu għall mogħtija. 816 00:36:04,510 --> 00:36:07,020 Kif ma inti tmur dwar jiddeċiedu fejn jiktbu 817 00:36:07,020 --> 00:36:11,634 Rob versus Gabe versus Belinda versus Zamyla? 818 00:36:11,634 --> 00:36:14,020 >> ALEX: I biss ma kien fil- tordna li inti told me. 819 00:36:14,020 --> 00:36:15,650 >> DAVID J. Malan: U li huwa veru. 820 00:36:15,650 --> 00:36:20,100 Imma dak regolati fejn inti tpoġġi Isem Belinda u l-isem Gabe tal? 821 00:36:20,100 --> 00:36:20,764 >> ALEX: Xejn? 822 00:36:20,764 --> 00:36:22,930 DAVID J. Malan: [Laughs] Allura li jaħdem, li l-multa. 823 00:36:22,930 --> 00:36:25,290 Allura kompjuters huma ftit aktar ordnat minn dak. 824 00:36:25,290 --> 00:36:29,000 U hekk meta aħna implement-- jibqgħu hemm għal ftit moment-- meta aħna attwalment 825 00:36:29,000 --> 00:36:31,470 jimplimentaw xi ħaġa bħal getstring fil-kompjuter, 826 00:36:31,470 --> 00:36:34,480 Zamyla jista 'jiġi stabbiliti pretty ħafna bħal għamilt fuq l-iskrin, hemm. 827 00:36:34,480 --> 00:36:36,660 >> U dak li huwa importanti li l-avviż hawn, dak Alex għamlet, 828 00:36:36,660 --> 00:36:40,260 hija li hemm tip ta 'demarkazzjoni fost kull wieħed minn dawn il-kliem, id-dritt? 829 00:36:40,260 --> 00:36:46,580 Inti ma jiktbu Z-A-M-Y-L-A-B-E-L-I-N-D-A-G-A-B-- 830 00:36:46,580 --> 00:36:49,740 fi kliem ieħor, hemm xi tip ta 'demarkazzjoni li jidher li jkun, 831 00:36:49,740 --> 00:36:52,370 tip ta ', ispazjar każwali bejn dawn il-kliem differenti. 832 00:36:52,370 --> 00:36:54,120 Imma li tajjeb, għaliex aħna bnedmin issa jistgħu 833 00:36:54,120 --> 00:36:56,470 Ħares li dawn huma erba kordi differenti. 834 00:36:56,470 --> 00:36:59,540 Huwa mhux biss sekwenza waħda ta 'lottijiet ta' karattri. 835 00:36:59,540 --> 00:37:04,190 Allura kompjuter, imbagħad, sadanittant, jista 'jieħu string bħal Zamyla, 836 00:37:04,190 --> 00:37:07,220 tpoġġi kull wieħed minn dawn l-ittri ġewwa ta 'byte ta' memorja. 837 00:37:07,220 --> 00:37:10,400 Iżda dan in-numru huwa ħafna akbar, naturalment, minn sitt karattri. 838 00:37:10,400 --> 00:37:11,690 >> Hemm mazz sħiħ ta 'RAM. 839 00:37:11,690 --> 00:37:15,330 U hekk issa, dan grid ta 'kaxxi li qed jiġri 840 00:37:15,330 --> 00:37:17,560 biex jirrappreżentaw dak Alex biss għamlet hawn fuq l-iskrin. 841 00:37:17,560 --> 00:37:20,937 U issa, Alex, nistgħu noffrulek blu jew iljunfant oranġjo minn Chang. 842 00:37:20,937 --> 00:37:22,270 ALEX: I ser tieħu iljunfant blu. 843 00:37:22,270 --> 00:37:23,120 DAVID J. Malan: A iljunfant blu. 844 00:37:23,120 --> 00:37:25,580 Allura rawnd kbir ta 'applause, jekk nistgħu, għal Alex hawn. 845 00:37:25,580 --> 00:37:26,100 >> [Applause] 846 00:37:26,100 --> 00:37:26,766 >> ALEX: Grazzi. 847 00:37:26,766 --> 00:37:28,820 DAVID J. Malan: Grazzi. 848 00:37:28,820 --> 00:37:36,230 Allura l-takeaway hija li, anki jekk il- mudell tip ta inbidlet matul iż-żmien, hawn 849 00:37:36,230 --> 00:37:40,430 fuq il-bord, kien hemm dan demarkazzjoni fost il-kordi varji 850 00:37:40,430 --> 00:37:42,610 li Alex ltqajna għalina. 851 00:37:42,610 --> 00:37:45,230 Issa kompjuters, franchement, tista 'tagħmel l-istess ħaġa. 852 00:37:45,230 --> 00:37:48,210 Huma jistgħu tip ta 'plop kordi kullimkien fil RAM. 853 00:37:48,210 --> 00:37:50,710 Up hawn, hawn fuq, stabbiliti hawn, stabbiliti hawn. 854 00:37:50,710 --> 00:37:52,020 >> Huma jistgħu jagħmlu eżattament dan. 855 00:37:52,020 --> 00:37:54,280 Imma, naturalment, li l- probabbilment mhux l-aħjar ippjanar. 856 00:37:54,280 --> 00:37:54,780 Right? 857 00:37:54,780 --> 00:37:57,340 Jekk I tinżamm tistaqsi Alex biex tikseb l-ismijiet, probabbilment hu d 858 00:37:57,340 --> 00:38:01,370 jqajjem xi aktar stabbiliti hawn, forsi up hawn, hawn, hawn fuq, eventwalment 859 00:38:01,370 --> 00:38:02,211 minn hawn. 860 00:38:02,211 --> 00:38:05,460 Iżda bi ftit aktar ippjanar, ċertament, nistgħu jistabbilixxu affarijiet out aktar nadif. 861 00:38:05,460 --> 00:38:07,350 U fil-fatt, dan huwa dak kompjuter ma. 862 00:38:07,350 --> 00:38:10,720 >> Iżda l-qabda hija li jekk il-string jmiss I nikseb 863 00:38:10,720 --> 00:38:14,050 wara Zamyla hija xi ħaġa bħall-Belinda, 864 00:38:14,050 --> 00:38:17,929 tipproponi fejn nistgħu tikteb il- ittra b rigward dan il grid? 865 00:38:17,929 --> 00:38:18,720 Fejn kieku inti tmur? 866 00:38:18,720 --> 00:38:21,480 Għad-dritt ta 'l-a, taħt il-z, taħt il-a? 867 00:38:21,480 --> 00:38:23,204 X'għandu instincts tiegħek l-ewwel tkun? 868 00:38:23,204 --> 00:38:24,120 UDJENZA: Hawn taħt il-z. 869 00:38:24,120 --> 00:38:25,100 DAVID J. Malan: Allura taħt il-z. 870 00:38:25,100 --> 00:38:26,530 U li pretty sempliċi, id-dritt? 871 00:38:26,530 --> 00:38:29,321 Huwa tip ta 'pulita, huwa dak li nagħmlu fuq tastiera meta aħna hit Ikteb, 872 00:38:29,321 --> 00:38:31,770 jew email meta jagħmlu lista bulleted ta 'affarijiet. 873 00:38:31,770 --> 00:38:34,310 Iżda r-realtà hija li l-kompjuters jippruvaw ikunu aktar effiċjenti, 874 00:38:34,310 --> 00:38:37,170 u CRAM ċertament kemm data fis RAM kemm jista 'jkun, 875 00:38:37,170 --> 00:38:38,890 sabiex inti ma jaħlux xi bytes. 876 00:38:38,890 --> 00:38:41,545 Allura li inti ma jaħlux kwalunkwe proprjetà immobbli iskrin. 877 00:38:41,545 --> 00:38:44,170 U l-problema, għalkemm, hi li jekk aħna litteralment tpoġġi l-ittra 878 00:38:44,170 --> 00:38:49,940 b wara, kif huma aħna se taf fejn isem Zamyla jintemm 879 00:38:49,940 --> 00:38:51,840 u l-isem tal-Belinda tal jibda? 880 00:38:51,840 --> 00:38:55,270 Allura inti bnedmin biss proposta, ukoll, laqat il Enter, essenzjalment. 881 00:38:55,270 --> 00:38:56,410 Poġġi l-isfel hawn taħt. 882 00:38:56,410 --> 00:38:59,750 Jew anke bħala Alex ma, biss tibda bil-miktub l-isem li jmiss taħt dak preċedenti, 883 00:38:59,750 --> 00:39:01,583 u taħt dak waħda, u allura hawn taħt li wieħed. 884 00:39:01,583 --> 00:39:02,510 Li l-CUÉ viżwali. 885 00:39:02,510 --> 00:39:05,960 >> Kompjuters jkollhom CUÉ viżwali ieħor, iżda huwa ftit aktar imqassra. 886 00:39:05,960 --> 00:39:07,840 Huwa dan il-karattru funky. 887 00:39:07,840 --> 00:39:11,890 Backslash 0, li hija forsi reminixxenti tal backslash n, 888 00:39:11,890 --> 00:39:12,640 u ibqa 'sejjer hekk, issa. 889 00:39:12,640 --> 00:39:14,120 Il-sekwenzi speċjali salvataġġ. 890 00:39:14,120 --> 00:39:19,120 Backslash 0 huwa l-mod ta ' li jirrappreżenta tmien żero bits fil-filliera. 891 00:39:19,120 --> 00:39:22,000 0000 0000. 892 00:39:22,000 --> 00:39:26,130 >> Il-mod inti tesprimi dan ma laqat il-numru żero fuq it-tastiera tiegħek, 893 00:39:26,130 --> 00:39:28,140 minħabba fil-fatt li huwa char ASCII. 894 00:39:28,140 --> 00:39:30,990 Jidher qisu numru, iżda huwa attwalment numru deċimali 895 00:39:30,990 --> 00:39:35,910 li tirrappreżenta l-ċirkolari glyph, it-tipa ċirkolari. 896 00:39:35,910 --> 00:39:38,410 Sadanittant, backslash żero litteralment tfisser 897 00:39:38,410 --> 00:39:40,700 tpoġġi tmien żero bytes hawn għalija. 898 00:39:40,700 --> 00:39:42,136 >> Allura dan huwa kemmxejn arbitrarja. 899 00:39:42,136 --> 00:39:44,260 We jistgħu stajt użat kwalunkwe mudell ta 'bits, iżda fid-dinja 900 00:39:44,260 --> 00:39:46,610 iddeċieda xi snin ilu, li jirrappreżentaw 901 00:39:46,610 --> 00:39:49,710 it-tmiem ta string fil-memorja, biss jitqiegħed mazz sħiħ ta 'żerijiet. 902 00:39:49,710 --> 00:39:51,000 Għaliex nistgħu jikxfu dik. 903 00:39:51,000 --> 00:39:54,790 Issa li jfisser li l-ebda ittra ta 'l- alfabett jista 'jiġi rappreżentat b'żero. 904 00:39:54,790 --> 00:39:58,480 >> Imma dak li OK, konna diġà raw li aħna qed tuża 65 fuq up f'97 fuq up. 905 00:39:58,480 --> 00:40:00,290 Aħna ma jiksbu kullimkien qrib żerijiet kollha. 906 00:40:00,290 --> 00:40:03,040 907 00:40:03,040 --> 00:40:06,540 Allura Belinda fil-memorja tal-kompjuter huwa attwalment se jmorru hawn. 908 00:40:06,540 --> 00:40:09,764 Stajt irtirat hu isfar biss tiġbed l-attenzjoni tagħna għaliha. 909 00:40:09,764 --> 00:40:11,680 U avviż, wisq, dan huwa kompletament arbitrarja. 910 00:40:11,680 --> 00:40:12,680 Stajt mfassla bħala grilja. 911 00:40:12,680 --> 00:40:14,460 Bħal, RAM huwa biss xi oġġett fiżiku. 912 00:40:14,460 --> 00:40:17,300 Dan ma jfissirx neċessarjament ikollhom ringieli u kolonni, per se. 913 00:40:17,300 --> 00:40:20,490 Huwa biss ltqajna mazz sħiħ ta 'bytes implimentat fil-hardware b'xi. 914 00:40:20,490 --> 00:40:22,817 Imma jekk wara Belinda I ittajpjat fl-isem Gabe, l 915 00:40:22,817 --> 00:40:25,650 huwa għaddej biex jispiċċaw hawn fil-memorja, u jekk I ittajpjat fil isem Daven tal, 916 00:40:25,650 --> 00:40:27,316 per eżempju, huwa għaddej biex jispiċċaw here. 917 00:40:27,316 --> 00:40:29,310 U nista 'tkompli jiktbu saħansitra aktar ismijiet. 918 00:40:29,310 --> 00:40:32,100 >> Sfortunatament, jekk nipprova jiktbu isem twil super, 919 00:40:32,100 --> 00:40:33,730 I jista 'eventwalment jispiċċaw ta' memorja. 920 00:40:33,730 --> 00:40:37,810 F'liema każ, getstring huwa ser jirritorna NULL, kif aħna qal. 921 00:40:37,810 --> 00:40:41,720 Iżda Thankfully, għall-inqas f'dan viżwali hawn, aħna ma jiksbu pjuttost li s'issa. 922 00:40:41,720 --> 00:40:45,860 >> Issa x'hemm sbieħ hija li dan idea ġenerali ta 'trattament affarijiet 923 00:40:45,860 --> 00:40:49,720 bħala fil-kaxxi huwa rappreżentant ta 'karatteristika ta' C 924 00:40:49,720 --> 00:40:52,690 u ħafna ta 'lingwi, magħrufa bħala firxa. 925 00:40:52,690 --> 00:40:55,490 Firxa hija tip ieħor ta 'data. 926 00:40:55,490 --> 00:40:57,380 Hija struttura data, jekk inti se. 927 00:40:57,380 --> 00:41:01,160 Struttura fis-sens ta 'dan verament, tip ta ', tfittex bħal kaxxa, mill-inqas 928 00:41:01,160 --> 00:41:02,320 f'moħħu fl-għajnejn tiegħek. 929 00:41:02,320 --> 00:41:09,680 Firxa hija kontigwa sekwenza ta 'tipi ta' data identiċi, 930 00:41:09,680 --> 00:41:11,330 lura lura lura biex lura. 931 00:41:11,330 --> 00:41:14,720 >> Allura string, fil-oħra kliem, huwa firxa ta 'Chars. 932 00:41:14,720 --> 00:41:16,120 Firxa ta 'karattri. 933 00:41:16,120 --> 00:41:19,070 Iżda jirriżulta inti jista 'jkollhom arrays ta 'għenieqed ta' affarijiet. 934 00:41:19,070 --> 00:41:21,870 Fil-fatt, nistgħu npoġġu anke numri fil-firxa. 935 00:41:21,870 --> 00:41:23,920 Allura l-forma li fiha aħna qed tmur biex tibda 936 00:41:23,920 --> 00:41:26,590 tiddikjara din id-data struttura magħrufa bħala firxa 937 00:41:26,590 --> 00:41:28,250 huwa wkoll ser tuża parentesi kwadri. 938 00:41:28,250 --> 00:41:31,500 Iżda dawn parentesi kwadri huma ser għandhom tifsira differenti f'dan il-kuntest. 939 00:41:31,500 --> 00:41:33,450 >> U ejja ara dan kif ġej. 940 00:41:33,450 --> 00:41:36,780 Ejja ngħidu li I fetaħ up fajl ġdid hawn. 941 00:41:36,780 --> 00:41:38,535 U jien tiffranka dan bħala ages.c. 942 00:41:38,535 --> 00:41:41,280 943 00:41:41,280 --> 00:41:43,470 U jien ser tiffranka dan fil folder tiegħi hawn. 944 00:41:43,470 --> 00:41:46,130 U issa jien se jimxi 'l quddiem u tibda ittajpjar xi ħaġa 945 00:41:46,130 --> 00:41:53,940 bħall jinkludu CS50.h, jinkludu stdio.h, int null prinċipali. 946 00:41:53,940 --> 00:41:57,370 U mbagħad ġewwa ta 'hawn, nixtieq li l-ewwel ikollhom int imsejħa età. 947 00:41:57,370 --> 00:42:01,371 >> U jien ser tuża li biex tikseb int mill-utent għall-età tiegħu jew tagħha. 948 00:42:01,371 --> 00:42:04,620 Iżda dan il-programm huwa maħsub biex jintuża mill- nies multipli, għal kwalunkwe kuntest. 949 00:42:04,620 --> 00:42:05,490 Stajt ltqajna linja ta 'nies. 950 00:42:05,490 --> 00:42:08,281 Kollha kemm għandek tip fil tagħhom età għall forsi xi wħud, I do not know, 951 00:42:08,281 --> 00:42:10,530 kompetizzjoni, jew avveniment li ħadthom waslu għal. 952 00:42:10,530 --> 00:42:13,030 Allura l-persuna li jmiss, I bżonn ieħor varjabbli. 953 00:42:13,030 --> 00:42:15,790 >> Għaliex jekk I biss ma età gets getInt, li 954 00:42:15,790 --> 00:42:18,500 tmur clobber, jew jissostitwixxu età tal-persuna preċedenti. 955 00:42:18,500 --> 00:42:19,760 Allura li l-ebda tajba. 956 00:42:19,760 --> 00:42:21,790 Allura l-ewwel istint tiegħi jista 'jkun, oh, id-dritt, 957 00:42:21,790 --> 00:42:26,260 jekk I rridu nġibu Popolari multipli ages-- ejja sejħa dan age1, 958 00:42:26,260 --> 00:42:31,280 age2 int gets int, age3 int gets getInt. 959 00:42:31,280 --> 00:42:35,340 U issa jien ser tuża xi kodiċi pseudocode hawn. 960 00:42:35,340 --> 00:42:37,679 >> Tagħmel xi ħaġa ma 'dawk in-numri. 961 00:42:37,679 --> 00:42:40,470 Aħna ser leave għal jum ieħor dak li aħna qed tagħmel hemmhekk, għaliex aħna biss 962 00:42:40,470 --> 00:42:44,200 kura għall-mument dwar age1, age2, age3. 963 00:42:44,200 --> 00:42:46,450 Sfortunatament, ladarba I jiġbru dan il-programm 964 00:42:46,450 --> 00:42:51,140 u poġġih fil quddiem ta 'l-utenti attwali, x'inhu l-disinn fundamentalment foqra 965 00:42:51,140 --> 00:42:53,890 deċiżjoni I jidhru li għamlu? 966 00:42:53,890 --> 00:42:54,624 Yeah? 967 00:42:54,624 --> 00:42:55,499 UDJENZA: [inaudible] 968 00:42:55,499 --> 00:42:58,071 969 00:42:58,071 --> 00:42:59,820 DAVID J. Malan: Yeah, I ma anke ppruvaw 970 00:42:59,820 --> 00:43:02,028 biex insemmu kif etajiet ħafna do I attwalment kura dwar? 971 00:43:02,028 --> 00:43:05,380 Jekk I għandhom inqas minn tliet persuni hawn, u għalhekk inqas minn tliet etajiet, 972 00:43:05,380 --> 00:43:07,260 Jien xorta addoċċ jistennew tlieta. 973 00:43:07,260 --> 00:43:08,720 Alla jipprojbixxu erba 'persuni juru up. 974 00:43:08,720 --> 00:43:10,990 Programm tiegħi biss mhux se anki isostnuhom. 975 00:43:10,990 --> 00:43:13,280 >> U hekk dan, l-istorja twila qasir, mhuwiex drawwa tajba. 976 00:43:13,280 --> 00:43:13,780 Right? 977 00:43:13,780 --> 00:43:16,530 I kien essenzjalment ikkupjar u pasta kodiċi u biss tweaking 978 00:43:16,530 --> 00:43:17,430 l-ismijiet varjabbli. 979 00:43:17,430 --> 00:43:22,410 U, god tiegħi, jekk kellek, mhux tlieta etajiet, iżda 10, jew 100, jew saħansitra 6,500 980 00:43:22,410 --> 00:43:23,820 ggradwawx, per eżempju. 981 00:43:23,820 --> 00:43:26,950 Dan mhux se tkun partikolarment kodiċi eleganti, jew sostenibbli. 982 00:43:26,950 --> 00:43:29,200 Int ser ikollhom jikteb il-programm kull darba 983 00:43:29,200 --> 00:43:30,760 numru tiegħek ta 'bidliet nies. 984 00:43:30,760 --> 00:43:35,090 >> Allura Thankfully, fil attwali tagħna fajl ages.c għal-lum, 985 00:43:35,090 --> 00:43:36,970 għandna soluzzjoni aktar għaqlija. 986 00:43:36,970 --> 00:43:39,800 L-ewwel, jien ser tissellef il- jinbena konna użati għal xi ftit drabi, 987 00:43:39,800 --> 00:43:43,744 dan tagħmel waqt loop, sabiex jiksbu in-numru ta 'nies fil-kamra. 988 00:43:43,744 --> 00:43:46,910 Jien biss ser jiffittaw bis-utent, għal darb'oħra u għal darb'oħra, sakemm hu jew hi tagħti me 989 00:43:46,910 --> 00:43:49,260 valur ta 'n thats numru sħiħ pożittiv. 990 00:43:49,260 --> 00:43:51,590 >> I setgħet użat, l-aħħar time nneħħu int pożittiv. 991 00:43:51,590 --> 00:43:53,720 Iżda aħna ma jkollhomx dak għall reali, so I marru quddiem 992 00:43:53,720 --> 00:43:55,660 u ri implimentata din l-idea. 993 00:43:55,660 --> 00:43:58,410 Issa stabbiliti hawn, dan huwa l-trick ġdid. 994 00:43:58,410 --> 00:44:02,260 F'konformità 27, bħala l-kummenti fil-linja 26 tissuġġerixxi, 995 00:44:02,260 --> 00:44:05,180 jiddikjara firxa li fiha biex jaħżnu l-età ta 'kulħadd. 996 00:44:05,180 --> 00:44:09,320 >> Mela jekk inti tixtieq li tikseb, ma int wieħed, ma żewġ ints, iżda mazz sħiħ ta 'ints. 997 00:44:09,320 --> 00:44:13,800 Speċifikament n interi, n kienu jista jkun tlieta, tista 'tkun ta' 100, jista 'jkun 1,000. 998 00:44:13,800 --> 00:44:17,570 Is-sintassi, pjuttost sempliċi, huwa li jiġifieri, liema tip ta 'data li tridu? 999 00:44:17,570 --> 00:44:19,620 What do inti tixtieq li sejħa li blokki ta 'memorja? 1000 00:44:19,620 --> 00:44:23,530 What do inti tixtieq li jsejħu l-grid li tidher bħal dan pictorially? 1001 00:44:23,530 --> 00:44:27,700 >> U fil-parentesi hawn, inti tgħidli kemm hu kbir inti tixtieq l-firxa li tkun. 1002 00:44:27,700 --> 00:44:30,450 U hekk qabel, meta I qal li l- sintassi huwa xi ftit differenti hawn, 1003 00:44:30,450 --> 00:44:33,614 aħna qed għadhom qed jużaw parentesi kwadri, imma meta jien tiddikjara firxa, 1004 00:44:33,614 --> 00:44:35,530 in-numru ġewwa tal- parentesi kwadri mezzi 1005 00:44:35,530 --> 00:44:37,610 kemm hu kbir tridu l-firxa li tkun. 1006 00:44:37,610 --> 00:44:42,490 >> B'kuntrast, meta konna jużaw s bracket i mument ilu, i, string, 1007 00:44:42,490 --> 00:44:46,820 huwa tabilħaqq firxa ta 'Chars, iżda meta ma tkunx qed tiddikjara varjabbli, 1008 00:44:46,820 --> 00:44:49,760 kif ma 'dan il-keyword hawn, int sempliċement jkollna 1009 00:44:49,760 --> 00:44:54,280 indiċi speċifiku, speċifika element minn dak array. 1010 00:44:54,280 --> 00:44:57,090 Ladarba aħna nafu li, l-bqija ta 'dan huwa sempliċi. 1011 00:44:57,090 --> 00:45:00,765 Jekk ġdid jien l-ewwel ser jistampa x'inhu l-età ta 'persuna numru i. 1012 00:45:00,765 --> 00:45:03,890 Fejn I biss jgħidu numru persuna waħda, persuna numru tnejn, persuna numru tlieta. 1013 00:45:03,890 --> 00:45:06,306 >> U jien biss tagħmel aritmetika, hekk li bħal nies normali, 1014 00:45:06,306 --> 00:45:09,030 aħna għadd minn wieħed għal dan programm, u mhux minn żero. 1015 00:45:09,030 --> 00:45:13,620 Imbagħad I call getint, imma I taħżen ir-risposta fl-etajiet parentesi i. 1016 00:45:13,620 --> 00:45:16,610 Liema hija l-età i'th fil-firxa. 1017 00:45:16,610 --> 00:45:21,640 Allura billi aħħar darba konna trattament dawn il-kaxxi bħala Chars għall-isem Zamyla'S, 1018 00:45:21,640 --> 00:45:22,490 u oħrajn. 1019 00:45:22,490 --> 00:45:26,530 Issa, dawn il-kaxxi jirrappreżentaw 32 bits, jew erba 'bytes 1020 00:45:26,530 --> 00:45:29,510 li aħna jista 'jaħżen l int, xi int, l int. 1021 00:45:29,510 --> 00:45:31,890 Kollha li, għal darb'oħra, huma l-istess tip ta 'data. 1022 00:45:31,890 --> 00:45:33,890 >> Now I tagħmel xi ħaġa iblah, bħall jgħaddi żmien, biss 1023 00:45:33,890 --> 00:45:35,510 biex tiġġustifika miktub dan il-programm. 1024 00:45:35,510 --> 00:45:40,050 U mbagħad stabbiliti hawn, I darb'oħra jtenni tul l-arranġament tgħid sena minn issa, 1025 00:45:40,050 --> 00:45:43,090 persuna għadd rieda waħda ikun is-snin xi ħaġa qodma. 1026 00:45:43,090 --> 00:45:45,010 U biex insemmu li math-- I mean, dan 1027 00:45:45,010 --> 00:45:49,260 mhux ħafna ikkumplikata arithmetic-- I biss żid waħda għall-età tagħhom. 1028 00:45:49,260 --> 00:45:51,240 Just biex juru, għal darb'oħra, dan. 1029 00:45:51,240 --> 00:45:57,910 >> Just kemm nista indiċi fi string, i, hekk nista indiċi fi firxa ta 'etajiet, 1030 00:45:57,910 --> 00:45:59,950 bħal dik hemmhekk. 1031 00:45:59,950 --> 00:46:03,340 Għalhekk, fejn huwa dan se tkun qed tieħu lilna? 1032 00:46:03,340 --> 00:46:07,070 Allura aħna se tara, finalment, ta ' affarijiet ftit fil-jiem li ġejjin. 1033 00:46:07,070 --> 00:46:09,510 Wieħed, dan il-ħin, meta kitba programmi tiegħek stess, 1034 00:46:09,510 --> 00:46:11,239 bħal Mario, greedy, kreditu. 1035 00:46:11,239 --> 00:46:13,780 You ħadthom ġiet jittajpja l-isem ta ' il-programm u laqtu Ikteb. 1036 00:46:13,780 --> 00:46:15,610 U allura jkollna input-utent. 1037 00:46:15,610 --> 00:46:18,137 >> Bil getString, getInt, getLongLong, jew simili. 1038 00:46:18,137 --> 00:46:20,720 Iżda jirriżulta li jappoġġja Ċ xi ħaġa imsejħa linja ta 'kmand 1039 00:46:20,720 --> 00:46:25,740 argumenti, li tkun se let us fil-fatt tikseb fuq kliem li inti tip, 1040 00:46:25,740 --> 00:46:28,570 fil-pront Teptip, wara l-isem program tiegħek. 1041 00:46:28,570 --> 00:46:31,430 >> Allura fil-jiem li ġejjin, inti jista tip xi ħaġa bħal Caesar, 1042 00:46:31,430 --> 00:46:34,950 jew ./caesar numru 13, wara dan. 1043 00:46:34,950 --> 00:46:36,070 Aħna ser tara kif din taħdem. 1044 00:46:36,070 --> 00:46:37,550 Minħabba tabilħaqq, fl problema stabbiliti tnejn, aħna qed 1045 00:46:37,550 --> 00:46:39,383 ser jintroduċu inti li ftit xi ħaġa 1046 00:46:39,383 --> 00:46:42,360 reminixxenti tal tal Ralphie jisfida qabel ta 'kartografija. 1047 00:46:42,360 --> 00:46:43,970 L-arti ta 'scrambling informazzjoni. 1048 00:46:43,970 --> 00:46:46,660 Dan, fil-fatt, huwa ferm reminixxenti ta 'dak Ralphie għamlet. 1049 00:46:46,660 --> 00:46:51,380 >> Dan huwa eżempju ta 'encryption algoritmu imsejħa rot13, R-O-T 13. 1050 00:46:51,380 --> 00:46:54,910 Li sempliċiment ifisser dawwar il- ittri fil-alfabett 13 postijiet. 1051 00:46:54,910 --> 00:46:58,309 U jekk inti tagħmel dan, inti ser tara issa dak li huwa, forsi, frażi familjari. 1052 00:46:58,309 --> 00:47:01,100 Iżda l-mod aħna qed tmur għall-użu dan, finalment, huwa aktar ġenerali. 1053 00:47:01,100 --> 00:47:04,390 >> Fl P stabbiliti tnejn, fl-edizzjoni standard, inti ser timplimenta koppja ta 'ciphers, 1054 00:47:04,390 --> 00:47:06,720 wieħed imsejjaħ Caesar, wieħed imsejjaħ Vigenere. 1055 00:47:06,720 --> 00:47:10,090 Kemm minnhom huma rotazzjonali ciphers, b'mod li b'xi mod inti 1056 00:47:10,090 --> 00:47:11,826 dawran ittra waħda fi ittra differenti. 1057 00:47:11,826 --> 00:47:12,950 U Caesar huwa super sempliċi. 1058 00:47:12,950 --> 00:47:16,220 Inti żid waħda, inti żid 13, jew xi numru sa 26. 1059 00:47:16,220 --> 00:47:19,570 Vigenere ma li fuq bażi ta 'kull ittra. 1060 00:47:19,570 --> 00:47:22,140 Allura Vigenere, kif tkun taf tara fil-spec, hija aktar sikura. 1061 00:47:22,140 --> 00:47:24,973 >> Iżda fl-aħħar tal-ġurnata liema inti ser tkun l-implimentazzjoni u P sett tnejn, 1062 00:47:24,973 --> 00:47:29,050 hija li ewlieni li tuża kemm għall encryption u deċifrar. 1063 00:47:29,050 --> 00:47:32,160 B'referenza għall-proċess ta 'tidwir test sempliċi, xi messaġġ oriġinali, 1064 00:47:32,160 --> 00:47:34,490 fis-test Ċifra, li hija xi ħaġa encrypted. 1065 00:47:34,490 --> 00:47:36,220 U mbagħad decrypting mill-ġdid. 1066 00:47:36,220 --> 00:47:38,119 >> Fil-Hacker edizzjoni, sadanittant, inti ser tkun 1067 00:47:38,119 --> 00:47:40,660 kompitu ma 'xi ħaġa simili fl-ispirtu, fejn aħna ser jagħtuk 1068 00:47:40,660 --> 00:47:44,610 fajl, minn Linux tipiku, jew Mac, jew Unix kompjuter imsejħa Etsy 1069 00:47:44,610 --> 00:47:47,800 password, li fih ħaġa sħiħa mazz ta 'usernames u passwords. 1070 00:47:47,800 --> 00:47:50,932 U dawk passwords għandek kollha ġew encrypted, jew hashed, 1071 00:47:50,932 --> 00:47:53,140 biex ngħidu hekk, aktar sew kif tkun taf tara fil-spec. 1072 00:47:53,140 --> 00:47:57,090 >> U l-Hacker edizzjoni se jisfida inti ma tieħu input bħal dan, 1073 00:47:57,090 --> 00:47:58,800 u qsim il-password. 1074 00:47:58,800 --> 00:48:02,590 Dan huwa, jidhru dak l- password tal-bniedem fil-fatt kien. 1075 00:48:02,590 --> 00:48:05,570 Minħabba, tabilħaqq, passwords huma ġeneralment mhux maħżuna fil-ċar, 1076 00:48:05,570 --> 00:48:08,260 u ġeneralment passwords għandu jkun diffiċli li raden. 1077 00:48:08,260 --> 00:48:09,610 Li mhux spiss il-każ. 1078 00:48:09,610 --> 00:48:12,110 >> U dak li ħsibt aħna'd nagħmlu huwa tikkonkludi ma ftit minuti 1079 00:48:12,110 --> 00:48:15,160 t'għajn lejn partikolarment għażla fqira ta 'passwords 1080 00:48:15,160 --> 00:48:17,260 minn film inti tista recall fondly. 1081 00:48:17,260 --> 00:48:18,915 U jekk le, inti għandek kera. 1082 00:48:18,915 --> 00:48:20,070 >> [Daqq ta 'video] 1083 00:48:20,070 --> 00:48:22,320 >> -Helmet, Inti fiend, x'inhu għaddej? 1084 00:48:22,320 --> 00:48:24,240 X'Ser tagħmel biex tifla tiegħi? 1085 00:48:24,240 --> 00:48:28,010 >> -Permit Me li jintroduċu l- kirurgu tal-plastik żgħażagħ brillanti, 1086 00:48:28,010 --> 00:48:30,010 Doctor Phillip Schlotkin. 1087 00:48:30,010 --> 00:48:35,020 L-akbar raġel impjieg imnieħer fil- univers kollu u Beverly Hills. 1088 00:48:35,020 --> 00:48:36,140 >> -Your Altezza. 1089 00:48:36,140 --> 00:48:36,820 >> Xogħol -Nose? 1090 00:48:36,820 --> 00:48:37,700 Ma nifhimx. 1091 00:48:37,700 --> 00:48:39,070 Hija diġà kellhom xogħol imnieħer. 1092 00:48:39,070 --> 00:48:40,800 Kien tagħha ħelwa 16 preżenti. 1093 00:48:40,800 --> 00:48:42,590 >> -Nru, Mhuwiex X'taħseb. 1094 00:48:42,590 --> 00:48:44,490 Huwa ħafna, ħafna agħar. 1095 00:48:44,490 --> 00:48:48,160 Jekk inti ma tagħti me- kombinazzjoni mal-tarka arja, 1096 00:48:48,160 --> 00:48:52,748 tabib Schlotkin se jagħti tiegħek bint back imnieħer tagħha qodma. 1097 00:48:52,748 --> 00:48:53,748 - [Gasps] Nooooooooooooo. 1098 00:48:53,748 --> 00:48:57,684 1099 00:48:57,684 --> 00:48:59,652 Fejn ma ikollok dan? 1100 00:48:59,652 --> 00:49:00,640 >> -kull Dritt. 1101 00:49:00,640 --> 00:49:02,506 I ser jgħidlek, jien ser jgħidlek. 1102 00:49:02,506 --> 00:49:03,498 >> -Nru, Daddy, ebda. 1103 00:49:03,498 --> 00:49:04,490 Inti ma trid. 1104 00:49:04,490 --> 00:49:06,090 >> -You're Dritt għeżież tiegħi. 1105 00:49:06,090 --> 00:49:07,390 I ser titlef imnieħer ġdida tiegħek. 1106 00:49:07,390 --> 00:49:10,990 Imma jien mhux se jgħidulhom l- kombinazzjoni x'ikun. 1107 00:49:10,990 --> 00:49:12,450 >> -Very Sew. 1108 00:49:12,450 --> 00:49:14,830 Tabib Schlotkin, do agħar tiegħek. 1109 00:49:14,830 --> 00:49:15,744 >> Divertiment -My. 1110 00:49:15,744 --> 00:49:19,860 1111 00:49:19,860 --> 00:49:20,800 >> -Nru! 1112 00:49:20,800 --> 00:49:22,780 Stenna, stenna. 1113 00:49:22,780 --> 00:49:24,000 I ser jgħidlek. 1114 00:49:24,000 --> 00:49:25,830 I ser jgħidlek. 1115 00:49:25,830 --> 00:49:28,270 >> -I Kien jaf ikun taħdem. 1116 00:49:28,270 --> 00:49:31,390 Kull dritt, tagħtiha lili. 1117 00:49:31,390 --> 00:49:36,220 >> -Il Kombinazzjoni hija waħda. 1118 00:49:36,220 --> 00:49:36,740 >> One. 1119 00:49:36,740 --> 00:49:37,473 >> One. 1120 00:49:37,473 --> 00:49:37,972 -Two. 1121 00:49:37,972 --> 00:49:38,471 -Two. 1122 00:49:38,471 --> 00:49:39,800 -Two. 1123 00:49:39,800 --> 00:49:40,300 -Tliet. 1124 00:49:40,300 --> 00:49:40,800 -Tliet. 1125 00:49:40,800 --> 00:49:41,800 -Tliet. 1126 00:49:41,800 --> 00:49:42,300 -Four. 1127 00:49:42,300 --> 00:49:42,800 -Four. 1128 00:49:42,800 --> 00:49:44,707 -Four. 1129 00:49:44,707 --> 00:49:45,521 -Five. 1130 00:49:45,521 --> 00:49:46,430 -Five. 1131 00:49:46,430 --> 00:49:47,930 -Five. 1132 00:49:47,930 --> 00:49:53,480 -Allura-Kombinazzjoni hija waħda, tnejn, tlieta, erba ', ħames. 1133 00:49:53,480 --> 00:49:56,140 Dik hija l-kombinazzjoni stupidest I qatt tisma fil-ħajja tiegħi. 1134 00:49:56,140 --> 00:49:58,640 Dik hija l-tip ta 'ħaġa idjota jkollha fuq bagalji tiegħu. 1135 00:49:58,640 --> 00:50:00,000 >> -Thank Inti, Altezza tiegħek. 1136 00:50:00,000 --> 00:50:01,340 >> [Clicks REMOTE] 1137 00:50:01,340 --> 00:50:02,450 >> Liema ma inti tagħmel? 1138 00:50:02,450 --> 00:50:03,800 >> -I Mitfija l-ħajt. 1139 00:50:03,800 --> 00:50:05,010 >> -Nru, Inti ma, inti mitfija l-film kollu. 1140 00:50:05,010 --> 00:50:06,220 >> Ve -I ippressat-buttuna ħażina. 1141 00:50:06,220 --> 00:50:07,064 >> -Well, Erġa 'poġġih fuq! 1142 00:50:07,064 --> 00:50:07,910 Poġġi l-film lura fuq! 1143 00:50:07,910 --> 00:50:08,300 >> -Yes, Sir! 1144 00:50:08,300 --> 00:50:08,799 Iva, sir. 1145 00:50:08,799 --> 00:50:09,660 -Let Ħa mmorru, Arnold. 1146 00:50:09,660 --> 00:50:10,450 Come, Gretchen. 1147 00:50:10,450 --> 00:50:12,533 Of course inti taf I ser għandek inti kont għal dan. 1148 00:50:12,533 --> 00:50:16,720 1149 00:50:16,720 --> 00:50:17,220 -Well? 1150 00:50:17,220 --> 00:50:17,802 Did taħdem? 1151 00:50:17,802 --> 00:50:18,510 Fejn hi l-king? 1152 00:50:18,510 --> 00:50:20,218 >> -Hija Maħduma, sir, aħna jkollhom l-kombinazzjoni. 1153 00:50:20,218 --> 00:50:20,740 -Great. 1154 00:50:20,740 --> 00:50:24,810 Issa nistgħu jieħdu kull aħħar nifs ta 'arja friska minn pjaneta Druidia. 1155 00:50:24,810 --> 00:50:25,890 X'hemm-kombinazzjoni? 1156 00:50:25,890 --> 00:50:28,155 >> One, tnejn, tlieta, erba ', ħames. 1157 00:50:28,155 --> 00:50:29,890 >> One, tnejn, tlieta, erba ', ħames? 1158 00:50:29,890 --> 00:50:30,390 -Yes. 1159 00:50:30,390 --> 00:50:31,110 -li Aqwa. 1160 00:50:31,110 --> 00:50:34,550 Stajt ltqajna l-istess kombinazzjoni fuq bagalji tiegħi. 1161 00:50:34,550 --> 00:50:37,160 Ipprepara Spaceball 1 għall tluq immedjat. 1162 00:50:37,160 --> 00:50:38,160 >> -Yes, Sir. 1163 00:50:38,160 --> 00:50:40,745 >> -u Jibdlu l- kombinazzjoni fuq bagalji tiegħi. 1164 00:50:40,745 --> 00:50:41,578 [GĦELUQ ĦOSS DOOR] 1165 00:50:41,578 --> 00:50:42,064 [Clink TA 'BIBIEN laqtu elmu] 1166 00:50:42,064 --> 00:50:42,550 -Ahh. 1167 00:50:42,550 --> 00:50:43,383 [END daqq ta 'video] 1168 00:50:43,383 --> 00:50:46,700 DAVID J. Malan: Li lilha għall CS50, aħna ser tara inti ġimgħa d-dieħla. 1169 00:50:46,700 --> 00:50:49,883 Narrator: U issa, Deep Ħsibijiet, billi Daven Farnham. 1170 00:50:49,883 --> 00:50:53,160 1171 00:50:53,160 --> 00:50:55,860 >> DAVEN FARNHAM: Kodifika fis-C huwa hekk ħafna aktar diffiċli milli Scratch. 1172 00:50:55,860 --> 00:50:57,320 printf, Scratch kien gidba. 1173 00:50:57,320 --> 00:50:59,930 1174 00:50:59,930 --> 00:51:01,430 >> [Soundbite Rires] 1175 00:51:01,430 --> 00:51:02,486