1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [It-Taqsima 4] [Inqas Komdu] 2 00:00:02,000 --> 00:00:04,000 [Nate Hardison] [Università ta 'Harvard] 3 00:00:04,000 --> 00:00:07,000 [Dan huwa CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:10,000 >> Kull dritt, merħba lura lill-sezzjoni. 5 00:00:10,000 --> 00:00:13,000 Fit-taqsima din il-ġimgħa aħna qed tmur biex tagħmel ftit affarijiet. 6 00:00:13,000 --> 00:00:17,000 Aħna ser terġa 1 Problema Set 2, 7 00:00:17,000 --> 00:00:20,000 li huwa s-sett problema Caesar u Vigenère. 8 00:00:20,000 --> 00:00:23,000 U allura aħna qed tmur biex adsa fis Quiz reviżjoni 0 9 00:00:23,000 --> 00:00:26,000 u jqattgħu ftit ta 'żmien recapping dak li konna tkellimna dwar 10 00:00:26,000 --> 00:00:30,000 f'kull wieħed mill-lectures s'issa, u aħna ser wkoll tagħmel ftit problemi 11 00:00:30,000 --> 00:00:32,000 mis kwizzijiet sena ta 'qabel. 12 00:00:32,000 --> 00:00:36,000 B'dak il-mod inti guys jkollhom mod tajjeb biex jippreparaw għal dan. 13 00:00:36,000 --> 00:00:40,000 >> Biex tibda, stajt Booted up koppja ta 'soluzzjonijiet tajbin 14 00:00:40,000 --> 00:00:45,000 għas-sett problema qabel, Problem Set 2, fis dan l-ispazju. 15 00:00:45,000 --> 00:00:48,000 Jekk inti guys kollha hit din ir-rabta, 16 00:00:48,000 --> 00:00:53,000 u jekk tikklikkja l-isem tiegħi u kklikkja fuq ewwel reviżjoni tiegħi 17 00:00:53,000 --> 00:00:56,000 tkun taf tara caesar.c, li huwa eżattament dak li jien tħares lejn. 18 00:00:56,000 --> 00:01:00,000 Ejja nitkellmu dwar dan verament malajr. 19 00:01:00,000 --> 00:01:02,000 Dan huwa biss soluzzjoni kampjun. 20 00:01:02,000 --> 00:01:05,000 Dan mhuwiex neċessarjament is-soluzzjoni perfetta. 21 00:01:05,000 --> 00:01:08,000 Hemm ħafna modi differenti biex tikteb dan, 22 00:01:08,000 --> 00:01:10,000 imma hemm ftit affarijiet li ridt li jenfasizzaw 23 00:01:10,000 --> 00:01:13,000 li rajt kif kien gradazzjoni, żbalji komuni li naħseb 24 00:01:13,000 --> 00:01:18,000 din is-soluzzjoni ma biċċa xogħol tajba ħafna ta 'tqandil. 25 00:01:18,000 --> 00:01:22,000 >> L-ewwel qed ikollha xi tip ta 'kumment header fil-quċċata. 26 00:01:22,000 --> 00:01:25,000 Fuq linji 1 sa 7 inti tara d-dettalji, 27 00:01:25,000 --> 00:01:28,000 x'inhi eżattament dan il-programm qed tagħmel. 28 00:01:28,000 --> 00:01:32,000 A prattika standard tajjeb meta int bil-miktub kodiċi C 29 00:01:32,000 --> 00:01:35,000 irrispettivament jekk il-programm tiegħek tinsab fi fajl waħdieni jew 30 00:01:35,000 --> 00:01:38,000 jekk huwa jinqasam fuq fajls multipli huwa li jkollu xi tip ta ' 31 00:01:38,000 --> 00:01:40,000 jorjentaw kumment fil-quċċata. 32 00:01:40,000 --> 00:01:43,000 Dan huwa wkoll għan-nies li jmorru barra u jikteb il-kodiċi fid-dinja reali. 33 00:01:43,000 --> 00:01:47,000 Dan huwa fejn dawn ser tpoġġi l-informazzjoni awtur. 34 00:01:47,000 --> 00:01:50,000 Hawn taħt huma l-jinkludi #. 35 00:01:50,000 --> 00:01:55,000 Fuq il-linja 16 hemm dan # jiddefinixxu, li aħna ser terga 'lura fil biss daqsxejn. 36 00:01:55,000 --> 00:01:59,000 U allura ladarba l-funzjoni tibda, jibda ladarba prinċipali, 37 00:01:59,000 --> 00:02:03,000 għaliex dan il-programm ġie kollha tinsab funzjoni waħda 38 00:02:03,000 --> 00:02:09,000 l-ewwel ħaġa li jiġri u dan huwa ħafna idjomatiku u tipiku ta 'programm C 39 00:02:09,000 --> 00:02:14,000 li jieħu fil-linja ta 'kmand argumenti' huwa li immedjatament kontrolli 40 00:02:14,000 --> 00:02:18,000 >> għall-għadd argument, argc. 41 00:02:18,000 --> 00:02:24,000 Dritt hawn naraw li dan il-programm qiegħda tistenna 2 argumenti eżattament. 42 00:02:24,000 --> 00:02:27,000 Ftakar hemm dan l-ewwel argument li l-waħda speċjali 43 00:02:27,000 --> 00:02:29,000 li dejjem l-isem tal-programm li l-jiġu run, 44 00:02:29,000 --> 00:02:31,000 l-isem tal-fajl eżekutibbli. 45 00:02:31,000 --> 00:02:36,000 U hekk dak li dan ma huwa timpedixxi l-utent milli titħaddem il-programm 46 00:02:36,000 --> 00:02:42,000 b'argumenti aktar jew inqas. 47 00:02:42,000 --> 00:02:44,000 Ir-raġuni irridu li jikkontrolla għal dan id-dritt bogħod huwa minħabba 48 00:02:44,000 --> 00:02:52,000 ma nistgħux effettivament aċċess din array ARGV dritt hawn affidabbli 49 00:02:52,000 --> 00:02:55,000 sakemm konna kkontrollati biex tara kemm hu kbir huwa. 50 00:02:55,000 --> 00:02:58,000 >> Wieħed mill-iżbalji komuni rajt kien in-nies minnufih imorru fi 51 00:02:58,000 --> 00:03:01,000 u grab ARGV [1]. 52 00:03:01,000 --> 00:03:06,000 Theyd grab l-argument ewlieni barra mill-firxa u ma 'l-a biex i jivverifika fuqha, 53 00:03:06,000 --> 00:03:11,000 u mbagħad theyd jagħmel it-test għall-argc kif ukoll it-test li jmiss, 54 00:03:11,000 --> 00:03:16,000 jekk l-ewwel argument kien tabilħaqq integer fl-istess ħin, 55 00:03:16,000 --> 00:03:20,000 u li ma taħdimx minħabba li fil-każ li ma jkunx hemm argumenti fornuti 56 00:03:20,000 --> 00:03:26,000 inti ser tkun ħtif argument li ma jkunx hemm jew jippruvaw grab wieħed li ma jkunx hemm. 57 00:03:26,000 --> 00:03:29,000 >> Il-ħaġa kbira oħra li għandek avviż huwa li 58 00:03:29,000 --> 00:03:32,000 inti dejjem tixtieq li jistampa xi tip ta 'messaġġ ta' żball ta 'għajnuna 59 00:03:32,000 --> 00:03:34,000 lill-utent biex jorjentaw lilhom. 60 00:03:34,000 --> 00:03:37,000 Jien ċert li inti stajt programmi kollha run fejn kollha f'daqqa ġġarrfu, 61 00:03:37,000 --> 00:03:41,000 u ikollok dan dialog ftit redikoli li pops up u jgħid 62 00:03:41,000 --> 00:03:44,000 xi ħaġa horribly cryptic u forsi jagħtik kodiċi żball jew xi ħaġa bħal dik 63 00:03:44,000 --> 00:03:47,000 li jagħmel ebda sens. 64 00:03:47,000 --> 00:03:50,000 Dan huwa fejn inti verament tixtieq li jipprovdi xi ħaġa utli 65 00:03:50,000 --> 00:03:54,000 u mmirati għall-utent hekk li meta run jmorru "Oh," palm wiċċ. 66 00:03:54,000 --> 00:03:58,000 "Naf eżattament x'għandhom jagħmlu. Naf kif jiffissaw dan." 67 00:03:58,000 --> 00:04:01,000 >> Jekk inti ma print messaġġ, allura inti tispiċċa fil-fatt 68 00:04:01,000 --> 00:04:04,000 jħallu lill-utent biex imorru teżamina source code tiegħek 69 00:04:04,000 --> 00:04:07,000 ċifra barra dak li marret ħażin. 70 00:04:07,000 --> 00:04:11,000 Hemm ukoll xi drabi li inti ser tuża kodiċi ta 'żbalji differenti. 71 00:04:11,000 --> 00:04:14,000 Hawnhekk aħna biss użati waħda li jgħidu kien hemm żball, 72 00:04:14,000 --> 00:04:16,000 kien hemm żball, kien hemm żball. 73 00:04:16,000 --> 00:04:20,000 Programmi Akbar, ta 'spiss programmi li huma msejħa minn programmi oħra, 74 00:04:20,000 --> 00:04:25,000 se terġa 'lura xi tip ta' kodiċi ta 'żbalji speċjali xenarji differenti 75 00:04:25,000 --> 00:04:28,000 li programmatically tikkomunika dak li kieku 76 00:04:28,000 --> 00:04:32,000 biss użu messaġġ Ingliż sbieħ għall. 77 00:04:32,000 --> 00:04:35,000 Kessaħ. 78 00:04:35,000 --> 00:04:37,000 Kif naħdmu isfel, tista 'tara għandna iġbed il barra ċavetta. 79 00:04:37,000 --> 00:04:40,000 Aħna test biex tara jekk iċ-ċavetta aċċessjonijiet. 80 00:04:40,000 --> 00:04:42,000 Nikbru messaġġ mill-utent. 81 00:04:42,000 --> 00:04:46,000 Ir-raġuni nagħmlu dan f'din tagħmel filwaqt loop u din hija xi ħaġa li aħna se jkopri 82 00:04:46,000 --> 00:04:50,000 fi ftit ftit 'iżda jirriżulta li jekk inti tip ta' kontroll D 83 00:04:50,000 --> 00:04:54,000 meta ikollok dak GetString pront fuq it-terminal 84 00:04:54,000 --> 00:04:59,000 dak li attwalment ma huwa jibgħat karattru speċjali 85 00:04:59,000 --> 00:05:01,000 għall-programm. 86 00:05:01,000 --> 00:05:05,000 Huwa sejjaħ l-ELF jew it-tmiem ta 'karattru fajl. 87 00:05:05,000 --> 00:05:08,000 U f'dak il-każ, spag messaġġ tagħna se tkun nulla, 88 00:05:08,000 --> 00:05:14,000 għalhekk din ma kinitx xi ħaġa li aħna ċċekkjati fl-problema stabbiliet għaliha nnifisha. 89 00:05:14,000 --> 00:05:17,000 >> Imma kif immorru fuq, issa li aħna ve bdew jitkellmu dwar pointers 90 00:05:17,000 --> 00:05:21,000 u dinamika memorja allokazzjoni fuq il-munzell, 91 00:05:21,000 --> 00:05:25,000 verifika għall null kull meta għandek funzjoni li tista ' 92 00:05:25,000 --> 00:05:30,000 ritorn null bħala valur huwa xi ħaġa li tixtieq tkun taf biex tikseb fl-drawwa li jagħmlu. 93 00:05:30,000 --> 00:05:33,000 Dan huwa hawn primarjament għall-illustrazzjoni. 94 00:05:33,000 --> 00:05:36,000 Imma meta inti tagħmel tara GetString fil-futur, 95 00:05:36,000 --> 00:05:41,000 hekk mill Problem Set 4 dwar, tixtieq tkun taf biex iżomm dan f'moħħu. 96 00:05:41,000 --> 00:05:44,000 Għal darb'oħra, din mhix kwistjoni għal Problem Set 3 jew peress li aħna ma kinux koperti encore. 97 00:05:44,000 --> 00:05:53,000 Fl-aħħarnett, irridu jiksbu din il-parti fejn irridu jiksbu l-linja encryption prinċipali, 98 00:05:53,000 --> 00:05:57,000 u hemm koppja ta 'affarijiet għaddejjin hawn. 99 00:05:57,000 --> 00:06:02,000 L-ewwel, aħna ttenni fuq il-sekwenza messaġġ kollu innifsu. 100 00:06:02,000 --> 00:06:07,000 Hawnhekk konna tinżamm is-sejħa strlen fil-kondizzjoni, 101 00:06:07,000 --> 00:06:12,000 li numru minnkom rrilevat mhuwiex mod tajjeb ħafna biex imorru. 102 00:06:12,000 --> 00:06:15,000 Jirriżulta f'dan il-każ huwa wkoll mhux tajjeb ħafna, 103 00:06:15,000 --> 00:06:20,000 parzjalment għaliex aħna qed timmodifika l-kontenut tal-messaġġ innifsu 104 00:06:20,000 --> 00:06:27,000 ġewwa l-għar loop, hekk jekk ikollna messaġġ li l-10 karattri fit-tul, 105 00:06:27,000 --> 00:06:32,000 l-ewwel darba nibdew li għal loop strlen se terġa 'lura dak li? 106 00:06:32,000 --> 00:06:35,000 10. 107 00:06:35,000 --> 00:06:40,000 >> Imma jekk aħna mbagħad timmodifika messaġġ, ngħidu aħna jimmodifikaw il-karattru 5 tagħha, 108 00:06:40,000 --> 00:06:46,000 u aħna tarmi \ 0 karattru fil-pożizzjoni 5, 109 00:06:46,000 --> 00:06:49,000 fuq iterazzjoni sussegwenti strlen (messaġġ) mhux se terġa 'lura dak li għamlet 110 00:06:49,000 --> 00:06:52,000 l-ewwel darba aħna tennew, 111 00:06:52,000 --> 00:06:56,000 iżda minflok se terġa 'lura 5 għaliex aħna threw f'dak terminatur null, 112 00:06:56,000 --> 00:06:59,000 u t-tul tal-sekwenza huwa definit 113 00:06:59,000 --> 00:07:03,000 mill-pożizzjoni ta 'dik \ 0. 114 00:07:03,000 --> 00:07:09,000 F'dan il-każ, dan huwa mod tajjeb ħafna biex imorru għax aħna qed timmodifika fil-post. 115 00:07:09,000 --> 00:07:13,000 Imma tinnota li dan huwa effettivament sorprendentement sempliċi biex kriptaġġ 116 00:07:13,000 --> 00:07:16,000 jekk inti tista 'tikseb l-matematika korrett. 117 00:07:16,000 --> 00:07:19,000 Kollha li meħtieġa hija li tivverifika jekk jew le l-ittra li qed tfittex fi 118 00:07:19,000 --> 00:07:21,000 huwa uppercase jew zghar. 119 00:07:21,000 --> 00:07:24,000 >> Ir-raġuni aħna biss ikollhom jiċċekkjaw għal dan u aħna ma jkollhomx biex jiċċekkja għal 120 00:07:24,000 --> 00:07:27,000 il-każ alpha huwa għaliex 121 00:07:27,000 --> 00:07:30,000 jekk il-karattru huwa uppercase jew jekk huwa zghar 122 00:07:30,000 --> 00:07:33,000 allura huwa definittivament minn karattru alfabetiku, 123 00:07:33,000 --> 00:07:38,000 għaliex aħna ma jkollhomx ċifri uppercase u zghar. 124 00:07:38,000 --> 00:07:41,000 Il-ħaġa oħra li nagħmlu u dan huwa ftit delikata- 125 00:07:41,000 --> 00:07:45,000 huwa konna modifikata l-istandard Caesar cipher formula 126 00:07:45,000 --> 00:07:49,000 li aħna taw fl-ispeċifikazzjoni sett problema. 127 00:07:49,000 --> 00:07:52,000 X'hemm differenti hawnhekk hija li aħna mnaqqsa 128 00:07:52,000 --> 00:07:58,000 fil-każ kapital uppercase A, u allura aħna miżjud kapital A 129 00:07:58,000 --> 00:08:02,000 lura fl-aħħar. 130 00:08:02,000 --> 00:08:05,000 >> Naf ftit inti għamlu dan fil-kodiċi tiegħek. 131 00:08:05,000 --> 00:08:09,000 Did kwalunkwe inti tagħmel dan fis-sottomissjonijiet tiegħek? 132 00:08:09,000 --> 00:08:13,000 Inti ma dan. Tista 'tispjega dak li din ma, Sahb? 133 00:08:13,000 --> 00:08:18,000 Billi jitnaqqas it out, għaliex inti għamilt mod dritt wara dan, 134 00:08:18,000 --> 00:08:21,000 inti għandek tieħu dan jitwettaq, sabiex il-mod ikollok [sogħla] pożizzjoni. 135 00:08:21,000 --> 00:08:25,000 U allura billi żżid lura aktar tard inti qalbu fuq il-wieħed li inti riedu. 136 00:08:25,000 --> 00:08:27,000 Yeah, eżattament. 137 00:08:27,000 --> 00:08:32,000 Liema Sahb qal kienet li meta aħna trid iżżid 138 00:08:32,000 --> 00:08:36,000 messaġġ tagħna u ewlenin tagħna flimkien 139 00:08:36,000 --> 00:08:42,000 u mbagħad mod li, mod li billi NUM_LETTERS, 140 00:08:42,000 --> 00:08:50,000 jekk aħna ma skala messaġġ tagħna fil-xieraq 0-25 firxa ewwel, 141 00:08:50,000 --> 00:08:54,000 allura aħna tista 'tispiċċa jkollna numru verament stramb 142 00:08:54,000 --> 00:08:59,000 minħabba li l-valuri li aħna qed tħares lejn meta nħarsu lejn messagg [i], 143 00:08:59,000 --> 00:09:03,000 meta nħarsu lejn il-karattru ith tal plain-test messaġġ tagħna, 144 00:09:03,000 --> 00:09:08,000 huwa valur x'imkien f'din il-firxa 65-122 145 00:09:08,000 --> 00:09:13,000 ibbażata fuq il-valuri ASCII għal uppercase A permezz z zghar. 146 00:09:13,000 --> 00:09:18,000 U hekk meta aħna mod lilha mill 26 jew minn NUM_LETTERS, 147 00:09:18,000 --> 00:09:23,000 peress li kien tagħna # tiddefinixxi fil-kantuniera up hawn, 148 00:09:23,000 --> 00:09:28,000 li għaddej biex tagħtina valur li fil-medda 0 sa 25, 149 00:09:28,000 --> 00:09:30,000 u għandna bżonn mod biex imbagħad iskala li back up 150 00:09:30,000 --> 00:09:32,000 u ġġibu fil-medda ASCII xierqa. 151 00:09:32,000 --> 00:09:36,000 L-eħfef mod biex tagħmel dan huwa li biss iskala kollox stabbiliti 152 00:09:36,000 --> 00:09:39,000 fil-medda 0 sa 25 sa tibda bil, 153 00:09:39,000 --> 00:09:43,000 u mbagħad bidla kollox lura fl-aħħar. 154 00:09:43,000 --> 00:09:46,000 >> Ieħor żball komuni li rajt nies run fis hija li 155 00:09:46,000 --> 00:09:50,000 jekk inti ma attwalment tagħmel dan skalar dritt bogħod 156 00:09:50,000 --> 00:09:53,000 u inti żid messaġġ u ewlenin flimkien u inti żid minnhom, ngħidu aħna, 157 00:09:53,000 --> 00:09:58,000 fi varjabbli char, il-problema ma 'dan 158 00:09:58,000 --> 00:10:01,000 huwa peress messaġġ [i] huwa numru relattivament kbir biex tibda bil- 159 00:10:01,000 --> 00:10:05,000 ftakar li huwa mill-inqas 65 jekk huwa ta 'uppercase karattru- 160 00:10:05,000 --> 00:10:09,000 jekk għandek ċavetta kbar, ngħidu aħna, xi ħaġa bħal 100, 161 00:10:09,000 --> 00:10:13,000 u inti żid dawk 2 flimkien ġo char iffirmat int ser tikseb overflow. 162 00:10:13,000 --> 00:10:17,000 Int ser tikseb valur li l-akbar minn 127, 163 00:10:17,000 --> 00:10:22,000 li huwa l-akbar valur li varjabbli char tista 'żżomm. 164 00:10:22,000 --> 00:10:26,000 Għal darb'oħra, hu għalhekk li youd tixtieq li tagħmel dan it-tip ta 'ħaġa li tibda bil. 165 00:10:26,000 --> 00:10:29,000 Xi nies ltqajna madwar il-kawża billi tagħmel jekk ieħor u l-ittestjar 166 00:10:29,000 --> 00:10:33,000 biex tara jekk se overflow qabel ma tagħmel dan, 167 00:10:33,000 --> 00:10:36,000 iżda dan il-mod gets madwar dik. 168 00:10:36,000 --> 00:10:40,000 U mbagħad f'din is-soluzzjoni aħna stampata l-sekwenza sħiħa fl-aħħar nett. 169 00:10:40,000 --> 00:10:45,000 Nies oħra stampata karattru fi żmien. Kemm huma tal-biża. 170 00:10:45,000 --> 00:10:51,000 Fuq dan il-punt, do inti guys xi mistoqsijiet, xi kummenti dwar dan? 171 00:10:51,000 --> 00:10:56,000 Affarijiet li tixtieq, affarijiet li inti ma simili? 172 00:10:56,000 --> 00:10:58,000 >> Kelli mistoqsija. 173 00:10:58,000 --> 00:11:01,000 Maybe I qbiżt dan matul spjegazzjoni tiegħek, imma kif ma dan il-programm 174 00:11:01,000 --> 00:11:07,000 aqbeż l-ispazji għall-konnessjoni l-muftieħ għat-tul tat-test? 175 00:11:07,000 --> 00:11:10,000 Dan huwa biss Caesar cipher. >> Oh, sorry, yeah. 176 00:11:10,000 --> 00:11:13,000 Yeah, aħna ser tara li. 177 00:11:13,000 --> 00:11:16,000 Fil-cipher Caesar aħna ltqajna madwar li minħabba li 178 00:11:16,000 --> 00:11:18,000 aħna biss flipped karattri. 179 00:11:18,000 --> 00:11:27,000 Aħna biss mdawwra minnhom bħallikieku kienu uppercase jew zghar. 180 00:11:27,000 --> 00:11:32,000 You guys tħossok pjuttost tajba dwar dan? 181 00:11:32,000 --> 00:11:34,000 Ħossok liberu li kopja din id-dar, teħodha, 182 00:11:34,000 --> 00:11:37,000 titqabbel ma 'dak li inti guys kiteb. 183 00:11:37,000 --> 00:11:42,000 Żgur li tħossok liberu li tibgħat mistoqsijiet dwar dan wisq. 184 00:11:42,000 --> 00:11:46,000 U għal darb'oħra, tirrealizza li l-għan hawnhekk mal-problema tiegħek settijiet 185 00:11:46,000 --> 00:11:50,000 mhuwiex li tikseb inti guys biex jikteb il-kodiċi perfetta għal settijiet problema tiegħek. 186 00:11:50,000 --> 00:11:57,000 Huwa esperjenza ta 'tagħlim. Yeah. 187 00:11:57,000 --> 00:12:01,000 >> Lura għall-do filwaqt loop, jekk tkun ugwali null, 188 00:12:01,000 --> 00:12:06,000 hekk null ifisser biss xejn, huma biss hit jidħol? 189 00:12:06,000 --> 00:12:12,000 Null huwa valur pointer speċjali, 190 00:12:12,000 --> 00:12:17,000 u nużaw null meta rridu ngħidu 191 00:12:17,000 --> 00:12:23,000 għandna varjabbli pointer li tipponta lejn xejn. 192 00:12:23,000 --> 00:12:28,000 U hekk tipikament dan ifisser li dan il-varjabbli, dan il-varjabbli messaġġ 193 00:12:28,000 --> 00:12:35,000 hija vojta, u hawn, għaliex aħna qed tuża l-CS50 tip string speċjali, 194 00:12:35,000 --> 00:12:37,000 dak li huwa t-tip sekwenza CS50? 195 00:12:37,000 --> 00:12:42,000 Have you dehru dak li huwa meta David jinġibed lura l-hood fil lecture? 196 00:12:42,000 --> 00:12:44,000 Huwa funky-it'sa pointer, id-dritt? 197 00:12:44,000 --> 00:12:48,000 Okay, yeah. >> Huwa * char. 198 00:12:48,000 --> 00:12:52,000 U hekk tassew nistgħu jissostitwixxu dan 199 00:12:52,000 --> 00:12:56,000 dritt hawn ma 'messaġġ * char, 200 00:12:56,000 --> 00:13:04,000 u għalhekk il-funzjoni GetString, jekk ma b'suċċess nikseb string mill-utent, 201 00:13:04,000 --> 00:13:08,000 ma jistax parse string, u l-każ wieħed li fih ma jistax parse string 202 00:13:08,000 --> 00:13:11,000 hija jekk l-utent tipi l-aħħar ta 'karattru fajl, il-D-kontroll, 203 00:13:11,000 --> 00:13:17,000 li mhix xi ħaġa inti tipikament do, imma jekk dan jiġri 204 00:13:17,000 --> 00:13:20,000 allura l-funzjoni se terġa 'lura dan il-valur null bħala mod ta' tgħid 205 00:13:20,000 --> 00:13:23,000 "Ħej, I ma jiksbu string." 206 00:13:23,000 --> 00:13:27,000 X'jista 'jiġri jekk aħna ma jitqiegħdu messaġġ = null, 207 00:13:27,000 --> 00:13:30,000 li hija xi ħaġa li aħna ma ġewx tagħmel għadhom? 208 00:13:30,000 --> 00:13:32,000 Għaliex kieku din tkun problema hawn? 209 00:13:32,000 --> 00:13:38,000 Minħabba Naf li tkellimna ftit fil taħdita dwar tnixxijiet memorja. 210 00:13:38,000 --> 00:13:42,000 Yeah, ejja tagħmel dan, u ejja ara dak li jiġri. 211 00:13:42,000 --> 00:13:44,000 >> Kwistjoni Basile kien x'jiġri jekk aħna ma attwalment ikollhom 212 00:13:44,000 --> 00:13:48,000 dan il-messaġġ = null test? 213 00:13:48,000 --> 00:13:51,000 Ejja iscroll sal-quċċata. 214 00:13:51,000 --> 00:13:53,000 You guys jista 'jikkummenta dan. 215 00:13:53,000 --> 00:13:55,000 Fil-fatt, jien ser ħlief fil reviżjoni. 216 00:13:55,000 --> 00:13:58,000 Dan se jkun Reviżjoni 3. 217 00:13:58,000 --> 00:14:02,000 Dak li inti ser ikollok tagħmel biex imexxu dan il-programm huwa li inti ser ikollok ikklikkja din l-ikona tingrana hawn, 218 00:14:02,000 --> 00:14:04,000 u inti ser ikollok iżżid argument miegħu. 219 00:14:04,000 --> 00:14:10,000 Int ser ikollok biex jagħtuh l-argument ewlieni peress li aħna rridu li jgħaddu minn argument linja tal-kmand. 220 00:14:10,000 --> 00:14:13,000 Hawnhekk jien ser jagħtiha n-numru 3. I simili 3. 221 00:14:13,000 --> 00:14:19,000 Issa zooming lura, tmexxija tal-programm. 222 00:14:19,000 --> 00:14:24,000 Huwa running, kumpilazzjoni, bini. 223 00:14:24,000 --> 00:14:27,000 Here we go. Huwa qed jistennew li jiġu mħeġġa. 224 00:14:27,000 --> 00:14:33,000 Jekk I tip fil xi ħaġa simili bonjour 'fejn ma li jmorru? 225 00:14:33,000 --> 00:14:38,000 Oh, il-programm tiegħi ħa wisq żmien jiddekorri. I kien jawing għal ħin twil wisq. 226 00:14:38,000 --> 00:14:40,000 Hawnhekk tmur. 227 00:14:40,000 --> 00:14:43,000 Now I tip bonjour. 228 00:14:43,000 --> 00:14:46,000 Naraw li encrypts xieraq. 229 00:14:46,000 --> 00:14:52,000 Issa x'jiġri jekk nagħmlu GetString pront jirritornaw null? 230 00:14:52,000 --> 00:14:57,000 Ftakar, I qal li aħna ma li billi tagħfas kontroll D fl-istess ħin. 231 00:14:57,000 --> 00:14:59,000 I ser iscroll up here. Aħna ser run mill-ġdid. 232 00:14:59,000 --> 00:15:01,000 Bini. Hemm tmur. 233 00:15:01,000 --> 00:15:04,000 Issa meta I hit kontroll D 234 00:15:04,000 --> 00:15:12,000 Sibt din il-linja li tgħid opt/sandbox50/bin/run.sh, tort Segmentazzjoni. 235 00:15:12,000 --> 00:15:15,000 Have you guys raw li qabel? 236 00:15:15,000 --> 00:15:17,000 >> [Student] Għaliex hemm ebda >> Jiddispjacini? 237 00:15:17,000 --> 00:15:20,000 [Student] Għaliex hemm ebda dump qalba f'dan il-każ? 238 00:15:20,000 --> 00:15:26,000 Il-dump qalba hija l-kwistjoni hija għaliex hemm ebda dump qalba hawn? 239 00:15:26,000 --> 00:15:29,000 Il-kwistjoni hija li jista 'jkun hemm, iżda l-dump qalba hija fajl 240 00:15:29,000 --> 00:15:31,000 li gets maħżuna fuq il-hard drive. 241 00:15:31,000 --> 00:15:34,000 F'dan il-każ aħna ve b'diżabilità miżbliet ewlenin 242 00:15:34,000 --> 00:15:37,000 fuq is-server run hekk li aħna ma għandna nies seg faulting 243 00:15:37,000 --> 00:15:40,000 u tibni l-tunnellati ta 'miżbliet ewlenin. 244 00:15:40,000 --> 00:15:46,000 Iżda int tista 'tikseb wieħed. 245 00:15:46,000 --> 00:15:48,000 Miżbliet Core huma t-tip ta 'ħaġa li inti tista' spiss jiskonnettja, 246 00:15:48,000 --> 00:15:52,000 u xi kultant inti tagħmel. 247 00:15:52,000 --> 00:15:55,000 It-tort segmentazzjoni, iwieġeb il-mistoqsija tiegħek, Basile, 248 00:15:55,000 --> 00:16:00,000 huwa qal li aħna ppruvat taċċessa pointer 249 00:16:00,000 --> 00:16:05,000 li ma kienx stabbilit għall-punt li xejn. 250 00:16:05,000 --> 00:16:09,000 Ftakar Binky fil-video meta Binky tipprova 251 00:16:09,000 --> 00:16:12,000 mur aċċess għal pointer li mhux tipponta lejn xejn? 252 00:16:12,000 --> 00:16:16,000 F'dan il-każ I raden teknikament l-pointer hija li tipponta lejn xi ħaġa. 253 00:16:16,000 --> 00:16:20,000 Huwa tipponta lejn null, li huwa teknikament 0, 254 00:16:20,000 --> 00:16:25,000 iżda li huwa definit li tkun segment li ma jkunx aċċessibbli 255 00:16:25,000 --> 00:16:28,000 mill-programm tiegħek, hekk ikollok tort segmentazzjoni 256 00:16:28,000 --> 00:16:31,000 għax int ma aċċess memorja li fil-segment validu 257 00:16:31,000 --> 00:16:38,000 bħall-segment borġ jew iċ-segment munzell jew il-segment tad-data. 258 00:16:38,000 --> 00:16:40,000 Kessaħ. 259 00:16:40,000 --> 00:16:48,000 Kwalunkwe mistoqsijiet aktar dwar Caesar? 260 00:16:48,000 --> 00:16:51,000 >> Ejja jimxu fuq. Ejja nħarsu lejn Reviżjoni 2 verament malajr. 261 00:16:51,000 --> 00:17:00,000 Li Vigenère. 262 00:17:00,000 --> 00:17:04,000 Hawnhekk fil Vigenère 263 00:17:04,000 --> 00:17:06,000 aħna ser jimxu permezz dan wieħed pjuttost malajr għaliex, għal darb'oħra, 264 00:17:06,000 --> 00:17:10,000 Vigenère u Caesar huma pjuttost simili. 265 00:17:10,000 --> 00:17:12,000 Kumment Header huwa qabel, 266 00:17:12,000 --> 00:17:17,000 # Tiddefinixxi huwa qabel sabiex jevitaw li jużaw dawn in-numri magic. 267 00:17:17,000 --> 00:17:21,000 Il-ħaġa sbieħ hija ngħidu aħna riedu jimxu lejn 268 00:17:21,000 --> 00:17:23,000 alfabett differenti jew xi ħaġa bħal dik. 269 00:17:23,000 --> 00:17:26,000 Pjuttost milli jkollhom imorru manwalment bidla l-26 fil-kodiċi 270 00:17:26,000 --> 00:17:30,000 nistgħu tbiddel dan għal 27 jew qatra l-isfel 271 00:17:30,000 --> 00:17:34,000 jekk aħna kienu jużaw alfabeti differenti, lingwi differenti. 272 00:17:34,000 --> 00:17:38,000 Għal darb'oħra, konna ltqajna dan il-kontroll ta 'l-għadd argument, 273 00:17:38,000 --> 00:17:42,000 u verament inti tista 'kważi tieħu dan bħala mudell. 274 00:17:42,000 --> 00:17:46,000 Pretty ħafna kull programm tikteb għandu jkollu- 275 00:17:46,000 --> 00:17:50,000 jekk tieħu kmand tal-linja argumenti 'xi sekwenza ta' linji 276 00:17:50,000 --> 00:17:55,000 li taqra bħal dan fil-bidu nett. 277 00:17:55,000 --> 00:17:59,000 Dik hija wieħed mit-testijiet sanità ewwel inti trid tagħmel. 278 00:17:59,000 --> 00:18:03,000 >> Hawnhekk dak li aħna ma kien għamilna żgur li 279 00:18:03,000 --> 00:18:06,000 l-keyword kien validu, u li kien il-tieni kontroll li għamilna. 280 00:18:06,000 --> 00:18:11,000 Avviż mill-ġdid li aħna separati dan mill argc u 2. 281 00:18:11,000 --> 00:18:14,000 Innota li f'dan il-każ ħaġa waħda li aħna kellha tagħmel kien minflok 282 00:18:14,000 --> 00:18:18,000 ta 'użu ta li i ridna li jivvalida l-sekwenza sħiħa, 283 00:18:18,000 --> 00:18:21,000 u sabiex tagħmel li inti fil-fatt għandek tmur karattru minn karattru 284 00:18:21,000 --> 00:18:23,000 fuq il-sekwenza. 285 00:18:23,000 --> 00:18:29,000 M'hemm l-ebda mod tajjeb biex sejħa xi ħaġa fuqha 286 00:18:29,000 --> 00:18:31,000 għaliex anki, pereżempju, li i se terġa 'lura 0 287 00:18:31,000 --> 00:18:37,000 jekk ma tkunx tista parse numru sħiħ, b'tali mod li ma anki xogħol. 288 00:18:37,000 --> 00:18:42,000 Għal darb'oħra, il-messaġġ sbieħ javżak l-utent eżattament x'ġara. 289 00:18:42,000 --> 00:18:45,000 Imbagħad hawn, għal darb'oħra, aħna wkoll jimmaniġġjaw il-każ fejn 290 00:18:45,000 --> 00:18:50,000 l-utent tipi fil-karattru D kontroll każwali. 291 00:18:50,000 --> 00:18:54,000 >> U mbagħad Charlotte kellhom mistoqsija preċedenti dwar kif jirnexxielna skip ispazji 292 00:18:54,000 --> 00:18:57,000 fil string tagħna hawn. 293 00:18:57,000 --> 00:19:00,000 Dan kien it-tip ta simili għal dak li għamilna mal-programm Myspace 294 00:19:00,000 --> 00:19:04,000 li għamilna fit-taqsima, u l-mod din maħduma 295 00:19:04,000 --> 00:19:08,000 hija li aħna tracked-numru ta 'ittri li aħna ntlaqgħet jidhru. 296 00:19:08,000 --> 00:19:13,000 Kif aħna mixi fuq il-sekwenza messaġġ, kif aħna mixi 'l quddiem karattru minn karattru, 297 00:19:13,000 --> 00:19:16,000 aħna tracked-indiċi bħala parti mill tagħna għall loop, u allura aħna wkoll ssorveljati 298 00:19:16,000 --> 00:19:21,000 in-numru ta 'ittri, hekk mhux speċjali karattri, mhux numri, mhux abjad ispazju 299 00:19:21,000 --> 00:19:27,000 li aħna ntlaqgħet dehru fil-varjabbli separati. 300 00:19:27,000 --> 00:19:33,000 U allura din is-soluzzjoni jimmodifika l-muftieħ 301 00:19:33,000 --> 00:19:41,000 biex tikseb integer ewlenin attwali, u ma li fuq il-fly, 302 00:19:41,000 --> 00:19:47,000 dritt qabel ma mbagħad tmur għall-kriptaġġ-karattru messaġġ attwali. 303 00:19:47,000 --> 00:19:50,000 Hemm xi soluzzjonijiet li kienu perfettament kbira wisq 304 00:19:50,000 --> 00:19:58,000 li timmodifika l-muftieħ sa meta l-ittestjar għall-validità ċ-ċavetta tal-. 305 00:19:58,000 --> 00:20:01,000 Minbarra li jagħmlu ċert li l-karattru u l-keyword 306 00:20:01,000 --> 00:20:05,000 kienet minn karattru alfabetiku li kien deher ukoll li fis integer 307 00:20:05,000 --> 00:20:13,000 fil-medda 0 sa 25 sa aqbeż jkollhom jagħmlu dan aktar tard f'din għal loop. 308 00:20:13,000 --> 00:20:18,000 Għal darb'oħra, inti ara hawn dan huwa verament l-istess kodiċi eżatt 309 00:20:18,000 --> 00:20:22,000 li aħna użati Caesar f'dan il-punt. 310 00:20:22,000 --> 00:20:25,000 Inti qed tagħmel l-istess ħaġa eżatt, sabiex l-trick reali huwa li jidhru fl 311 00:20:25,000 --> 00:20:30,000 kif iddawwar l-keyword fis integer. 312 00:20:30,000 --> 00:20:35,000 >> Ħaġa waħda li għamilna hawnhekk li hija ftit dens 313 00:20:35,000 --> 00:20:39,000 hija aħna ripetut din il-frażi, I raden inti tista 'sejħa hija, 314 00:20:39,000 --> 00:20:45,000 3 darbiet separati fuq il-linji 58, 59, u 61. 315 00:20:45,000 --> 00:20:52,000 Jista 'xi ħadd jispjega x'inhi eżattament din il-frażi ma? 316 00:20:52,000 --> 00:20:55,000 Huwa aċċess karattru, bħalek qal. 317 00:20:55,000 --> 00:20:59,000 Yeah, huwa [inaudible] karattru fil-keyword, 318 00:20:59,000 --> 00:21:04,000 u għalhekk huwa numru ta 'ittri li dehru għax int biss jimxu tul 319 00:21:04,000 --> 00:21:06,000 l-keyword darba inti stajt tidher l-ittra, 320 00:21:06,000 --> 00:21:10,000 hekk li għaddej biex effettivament skip ispazji u għalf bħal dik. 321 00:21:10,000 --> 00:21:12,000 Yeah, eżattament. 322 00:21:12,000 --> 00:21:16,000 U allura ladarba inti stajt tidher l-vojt keyword inti biss mod sabiex inti timxi lura madwar. 323 00:21:16,000 --> 00:21:18,000 Eżattament. Li spjegazzjoni perfetta. 324 00:21:18,000 --> 00:21:23,000 X'inhu Kevin qal hu li aħna rridu li indiċi fil-keyword. 325 00:21:23,000 --> 00:21:28,000 Aħna rridu li tikseb il-karattru num_letters_seen, jekk inti se, 326 00:21:28,000 --> 00:21:32,000 imma jekk num_letters_seen jaqbeż it-tul ta 'l-keyword, 327 00:21:32,000 --> 00:21:37,000 il-mod irridu jiksbu lura fil-firxa xierqa hija li nużaw l-operatur mod 328 00:21:37,000 --> 00:21:40,000 li effettivament perimetrika. 329 00:21:40,000 --> 00:21:43,000 Per eżempju, bħal fil-qosor, keyword tagħna huwa bacon, 330 00:21:43,000 --> 00:21:46,000 u huwa 5 ittri twal. 331 00:21:46,000 --> 00:21:50,000 Iżda aħna stajt tidher 6 ittri test sempliċi tagħna f'dan il-punt 332 00:21:50,000 --> 00:21:52,000 u encrypted 6. 333 00:21:52,000 --> 00:21:57,000 Aħna se jispiċċaw aċċess għall-num_letters_seen, 334 00:21:57,000 --> 00:22:00,000 li hija 6, mod it-tul ta 'l-keyword, 5, 335 00:22:00,000 --> 00:22:04,000 u hekk aħna ser nikseb 1, u għalhekk dak li aħna ser nagħmlu huwa aħna ser 336 00:22:04,000 --> 00:22:14,000 aċċess għall-ġewwa ewwel karattru ta 'keyword tagħna f'dak il-punt. 337 00:22:14,000 --> 00:22:21,000 >> Kull dritt, xi mistoqsijiet dwar Vigenère 338 00:22:21,000 --> 00:22:26,000 qabel nimxu fuq? 339 00:22:26,000 --> 00:22:31,000 You guys tħossok pjuttost tajba dwar dan? 340 00:22:31,000 --> 00:22:35,000 Kessaħ, kbir. 341 00:22:35,000 --> 00:22:38,000 Irrid li tagħmel ċert li inti guys huma jkollna l-opportunità biex tara kodiċi 342 00:22:38,000 --> 00:22:48,000 li aħna naħsbu jidher tajjeb u jkollhom l-opportunità li jitgħallmu minnha. 343 00:22:48,000 --> 00:22:53,000 Dan se jkun l-aħħar aħna ser tkun qed tuża l-ispazji għalissa, 344 00:22:53,000 --> 00:22:59,000 u aħna qed tmur biex transizzjoni issa, u jien ser imorru għall cs50.net/lectures 345 00:22:59,000 --> 00:23:06,000 hekk nistgħu nagħmlu xi ftit ta 'reviżjoni kwizz. 346 00:23:06,000 --> 00:23:10,000 L-aħjar mod naħseb li jibdew jagħmlu kwizz reviżjoni 347 00:23:10,000 --> 00:23:15,000 huwa li jaslu għal din il-paġna Lectures, cs50.net/lectures, 348 00:23:15,000 --> 00:23:20,000 u taħtha kull waħda mill-intestaturi ġimgħa, hekk jekk I ħarsa hawn f'Ġimgħa 0, 349 00:23:20,000 --> 00:23:27,000 Nara li għandna lista ta 'suġġetti li aħna koperti fil f'Ġimgħa 0. 350 00:23:27,000 --> 00:23:31,000 >> Jekk xi wieħed minn dawn is-suġġetti jidhru familjari għalik 351 00:23:31,000 --> 00:23:34,000 inti ser definittivament tixtieq li tmur lura u scour-noti lecture u possibilment 352 00:23:34,000 --> 00:23:39,000 anki skim permezz tal-lectures, tarahom mill-ġdid jekk inti tixtieq 353 00:23:39,000 --> 00:23:44,000 biex tikseb jħossu għal dak li għaddej ma 'kull wieħed minn dawn is-suġġetti. 354 00:23:44,000 --> 00:23:49,000 I se ngħid addizzjonalment din sena mir-riżorsi jibred konna ltqajna 355 00:23:49,000 --> 00:23:55,000 Huwa dawn xorts li aħna stajt maħluqa, u jekk inti tħares f'Ġimgħa 0, 356 00:23:55,000 --> 00:24:00,000 aħna ma jkollhomx kollha tas-suġġetti koperti, imma konna ltqajna pjuttost ftit minnhom, 357 00:24:00,000 --> 00:24:03,000 uħud mill-delikati, sabiex jaraw dawn xorts darb'oħra 358 00:24:03,000 --> 00:24:08,000 huwa mod tajjeb biex nikseb inti sa veloċità. 359 00:24:08,000 --> 00:24:15,000 B'mod partikolari, jien ser jitqiegħdu fil-plagg għall-3 fil-qiegħ, peress li jien għamilt dawk. 360 00:24:15,000 --> 00:24:20,000 Imma jekk int qed jitħabtu ma 'żewġ fibri, bits, hex, li tip ta' għalf, 361 00:24:20,000 --> 00:24:22,000 binarju huwa post kbir biex tibda. 362 00:24:22,000 --> 00:24:25,000 ASCII huwa wieħed ieħor li tajjeb biex tara wisq. 363 00:24:25,000 --> 00:24:31,000 Tista 'anki tara lili fil-veloċità 1.5x jekk jien ser bil-mod wisq għalik. 364 00:24:31,000 --> 00:24:35,000 Peress reviżjoni huwa, tħossok liberu li tagħmel dan. 365 00:24:35,000 --> 00:24:40,000 >> Just biex tibda verament malajr, aħna qed tmur biex jmorru permezz ta 'koppja ta' dawn il-problemi kwizz 366 00:24:40,000 --> 00:24:44,000 biss biex malajr lenbija permezz ta 'dawn. 367 00:24:44,000 --> 00:24:50,000 Per eżempju, ejja nħarsu lejn il-problema 16 li stajt ltqajna dritt up hawn fuq il-bord. 368 00:24:50,000 --> 00:24:54,000 Imxejna ltqajna dan il-kalkolu li ġej fil-binarju, 369 00:24:54,000 --> 00:24:56,000 u rridu li juru kwalunkwe xogħol. 370 00:24:56,000 --> 00:24:59,000 Okay, jien ser jagħti dan sparatura. 371 00:24:59,000 --> 00:25:01,000 You guys għandhom isegwu flimkien ma 'karta, 372 00:25:01,000 --> 00:25:04,000 u aħna ser nagħmlu dan verament malajr. 373 00:25:04,000 --> 00:25:06,000 Aħna rridu li jagħmel il-kalkoli li ġej fil binarja. 374 00:25:06,000 --> 00:25:16,000 Stajt ltqajna 00110010. 375 00:25:16,000 --> 00:25:27,000 U jien ser iżidu miegħu 00110010. 376 00:25:27,000 --> 00:25:30,000 Għall-matematika geniuses wara flimkien fid-dar, 377 00:25:30,000 --> 00:25:35,000 dan huwa effettivament jiġi mmultiplikat bi 2. 378 00:25:35,000 --> 00:25:37,000 Nibdew. 379 00:25:37,000 --> 00:25:39,000 Aħna ser isegwu l-algoritmu minn hekk istess li nagħmlu 380 00:25:39,000 --> 00:25:43,000 meta aħna żid in-numri deċimali flimkien. 381 00:25:43,000 --> 00:25:46,000 Verament l-unika differenza hawnhekk hija li aħna loop lura madwar 382 00:25:46,000 --> 00:25:51,000 ladarba għandna 1 + 1 minflok ladarba irridu jiksbu sa 10. 383 00:25:51,000 --> 00:25:53,000 >> Jekk nibdew il-lemin, verament malajr, x'inhu l-ewwel ċifra? 384 00:25:53,000 --> 00:25:55,000 [Student] 0. >> [Nate H.] 0. 385 00:25:55,000 --> 00:25:58,000 Kbira, it-tieni ċifra? 386 00:25:58,000 --> 00:26:00,000 [Student] 1. 387 00:26:00,000 --> 00:26:02,000 [Nate H.] Huwa ta '1? 1 + 1 hu? 388 00:26:02,000 --> 00:26:04,000 [Student] 10. 389 00:26:04,000 --> 00:26:08,000 [Nate H.] Eżattament, iva, liema huwa l-ċifri li nikteb dritt taħt dawk 2 miżjuda flimkien? 390 00:26:08,000 --> 00:26:11,000 [Student] 1, 0, jew 0 u mbagħad iwettqu l-1. 391 00:26:11,000 --> 00:26:15,000 [Nate H.] 0 u jwettqu 1, eżattament. 392 00:26:15,000 --> 00:26:18,000 Sussegwentement wieħed up, Basile, int up. 393 00:26:18,000 --> 00:26:20,000 X'hemm-tielet? >> [Basile] 1. 394 00:26:20,000 --> 00:26:23,000 [Nate H.] 1, perfetta. Kevin? 395 00:26:23,000 --> 00:26:27,000 [Kevin] 0. >> [Nate H.] 0, Charlotte? 396 00:26:27,000 --> 00:26:30,000 [Charlotte] 0. >> [Nate H.] Yeah, u x'għandi nagħmel? 397 00:26:30,000 --> 00:26:32,000 [Student] Il-1. 398 00:26:32,000 --> 00:26:34,000 [Nate H.] U x'għandi nagħmel? U mbagħad I carry-1. 399 00:26:34,000 --> 00:26:36,000 Perfect, Sahb? >> [Sahb] Issa għandek 1. 400 00:26:36,000 --> 00:26:40,000 [Nate H.] U nagħmel xejn hawn? 401 00:26:40,000 --> 00:26:43,000 [Sahb] Mbagħad għal dik li jmiss għandek 1 għaliex inti trasferiti 1. 402 00:26:43,000 --> 00:26:49,000 [Nate H.] Kbir, hekk hawn nistgħu finitura it up. 403 00:26:49,000 --> 00:26:51,000 Kessaħ. 404 00:26:51,000 --> 00:26:54,000 [Student] Il 0 + 0 = 0? 405 00:26:54,000 --> 00:26:56,000 0 + 0 = 0. 406 00:26:56,000 --> 00:27:01,000 1 + 1, bħalek qal, huwa 10, jew 1, 0, pjuttost. 407 00:27:01,000 --> 00:27:07,000 10 huwa misnomer għaliex lili 10 tfisser in-numru 10, 408 00:27:07,000 --> 00:27:12,000 u huwa l-quirk ta 'kif aħna qed jirrappreżentaw meta aħna qed tikteb dan. 409 00:27:12,000 --> 00:27:20,000 Aħna jirrappreżentaw in-numru 2 sal-1, 0, u n-numru 10 huwa kemmxejn differenti. 410 00:27:20,000 --> 00:27:23,000 >> X'hemm tip ta 'sbieħ dwar binarju hija li hemm verament mhumiex li ħafna 411 00:27:23,000 --> 00:27:25,000 F'każijiet li għandek bżonn biex jitgħallmu. 412 00:27:25,000 --> 00:27:30,000 Hemm 0 + 0 = 0, 0 + 1 = 1, 413 00:27:30,000 --> 00:27:34,000 1 + 1 huwa 0, u mbagħad iwettqu 1, 414 00:27:34,000 --> 00:27:37,000 u allura inti tista 'tara hawn fuq il-kolonna 3 mid-dritt 415 00:27:37,000 --> 00:27:40,000 kellna dan 1, 1, u 1. 416 00:27:40,000 --> 00:27:43,000 U 1 + 1 + 1 huwa ta '1, 417 00:27:43,000 --> 00:27:45,000 u inti twettaq ieħor 1. 418 00:27:45,000 --> 00:27:48,000 Meta inti qed tagħmel minn hekk binarju, pjuttost sempliċi. 419 00:27:48,000 --> 00:27:51,000 I d jagħmlu aktar koppja ta 'dawn l sanità jiċċekkjaw infuskom 420 00:27:51,000 --> 00:27:54,000 qabel ma tmur fl għaliex dan huwa 421 00:27:54,000 --> 00:28:00,000 probabbilment xi ħaġa li aħna ser tara fuq l-kwizz. 422 00:28:00,000 --> 00:28:03,000 Issa ejja tagħmel dan wieħed li jmiss ukoll. 423 00:28:03,000 --> 00:28:06,000 Ejja nagħmlu problema 17. 424 00:28:06,000 --> 00:28:12,000 Aħna ser jikkonvertu l-għadd binarju li ġejja lill deċimali. 425 00:28:12,000 --> 00:28:28,000 Stajt ltqajna 10100111001. 426 00:28:28,000 --> 00:28:33,000 Ftakar fil-video binarju li għamilt 427 00:28:33,000 --> 00:28:36,000 I mixi permezz ta 'koppja ta' eżempji, u I wera kif 428 00:28:36,000 --> 00:28:41,000 kollox jaħdem meta int tagħmel dan fil deċimali. 429 00:28:41,000 --> 00:28:45,000 Meta inti qed jaħdmu fil-rappreżentazzjoni deċimali I think we qed 430 00:28:45,000 --> 00:28:48,000 f'dan il-punt fil-ħajja tagħna tant fluwenti fiha li 431 00:28:48,000 --> 00:28:53,000 huwa pjuttost faċli li tleqqija fuq il-mekkaniżmi ta 'kif attwalment xogħlijiet. 432 00:28:53,000 --> 00:28:59,000 >> Iżda biex tagħmel terġa 'malajr, jekk għandi l-għadd 137 433 00:28:59,000 --> 00:29:06,000 dan verament ifisser u għal darb'oħra, dan huwa fil-deċimali rappreżentazzjoni- 434 00:29:06,000 --> 00:29:19,000 in-numru 137 fi deċimali ifisser li għandi 1 x 100 + 3 x 10 + 7 x 1. 435 00:29:19,000 --> 00:29:22,000 Dan huwa joqogħdu fuq l-iskrin. 436 00:29:22,000 --> 00:29:29,000 U mbagħad jekk inti tħares lejn dawn in-numri dritt hawn, 437 00:29:29,000 --> 00:29:34,000 100, 10 u 1, tara li dawn qed attwalment poteri kollha ta '10. 438 00:29:34,000 --> 00:29:43,000 Għandi 10 ², 10 ¹, u 10 tal-żero. 439 00:29:43,000 --> 00:29:48,000 Għandna tip simili ta 'ħaġa fil-binarju, 440 00:29:48,000 --> 00:29:55,000 ħlief li l-bażi tagħna, kif aħna sejħa hija, huwa 2 minflok 10. 441 00:29:55,000 --> 00:29:58,000 Dawn 10s li I kiteb stabbiliti hawn fil-qiegħ, 442 00:29:58,000 --> 00:30:02,000 dan ² 10, 10 ¹, 10 għall-żero, 10 huwa bażi tagħna, 443 00:30:02,000 --> 00:30:08,000 u l-esponent, 0, 1, jew 2, 444 00:30:08,000 --> 00:30:14,000 huwa implikat mill-pożizzjoni ta 'l-ċifra fin-numru li aħna jiktbu. 445 00:30:14,000 --> 00:30:21,000 1, jekk inħarsu lejn din, dan 1 hija fil-pożizzjoni 2. 446 00:30:21,000 --> 00:30:27,000 Il-3 huwa fil-pożizzjoni 1, u l-7 huwa fil-pożizzjoni 0. 447 00:30:27,000 --> 00:30:35,000 Li kif aħna jiksbu l-esponenti varji hawn taħt għal bażijiet tagħna. 448 00:30:35,000 --> 00:30:40,000 >> Wara dan kollu we'll-fatt, inti taf liema? 449 00:30:40,000 --> 00:30:43,000 Aħna ser do-fejn ma jneħħu buttuna tiegħi tmur? 450 00:30:43,000 --> 00:30:45,000 Hemm tmur. 451 00:30:45,000 --> 00:30:47,000 I love dan jħoll ħaġa. 452 00:30:47,000 --> 00:30:51,000 Wara din naħseb għalija l-inqas 453 00:30:51,000 --> 00:30:54,000 l-eħfef mod biex tibda konverżjoni ta 'numru binarju 454 00:30:54,000 --> 00:30:57,000 jew numru hexadeċimali fejn il-bażi huwa 16 455 00:30:57,000 --> 00:31:02,000 u mhux 10 jew 2 huwa li jimxi 'l quddiem u jiktbu 456 00:31:02,000 --> 00:31:09,000 il-bażijiet u l-esponenti għall kollha tal-numri fil numru binarju tiegħi fil-quċċata. 457 00:31:09,000 --> 00:31:14,000 Jekk nibdew mix-xellug għal-lemin mill-ġdid, 458 00:31:14,000 --> 00:31:17,000 li huwa tip ta counterintuitive, 459 00:31:17,000 --> 00:31:23,000 I ser bidla lura għall-iswed hawn, aħna għandna l-2 għall-pożizzjoni 0, 460 00:31:23,000 --> 00:31:27,000 u allura għandna 2 ¹, 2 ², 461 00:31:27,000 --> 00:31:33,000 u mbagħad 2 għall-3, 2 għall-4, 2 għall-5, 6, 462 00:31:33,000 --> 00:31:39,000 7, 8, 9, u 10. 463 00:31:39,000 --> 00:31:41,000 Dawn in-numri Stajt bil-miktub huma kollha l-esponenti. 464 00:31:41,000 --> 00:31:48,000 I biss kiteb l-bażijiet hawn fl-ewwel 3 biss għall-ispazju. 465 00:31:48,000 --> 00:31:50,000 >> Fuq dan il-punt jien ser jimxi 'l quddiem u jien fil-fatt se iħassar 466 00:31:50,000 --> 00:31:53,000 l-għalf li għamilna fil deċimali, jekk dan huwa okay. 467 00:31:53,000 --> 00:31:57,000 You ħadthom kollha ltqajna dak. 468 00:31:57,000 --> 00:32:05,000 Dawk minnkom jaraw online Jien ċert ser ikunu jistgħu kontrina lili jekk inti tixtieq. 469 00:32:05,000 --> 00:32:07,000 Qlib lura għall-pinna. 470 00:32:07,000 --> 00:32:12,000 Issa, dak li nistgħu nagħmlu-jekk inti guys mhumiex totalment sa veloċità fuq poteri tiegħek ta '2, 471 00:32:12,000 --> 00:32:15,000 li l-totalment jibred. 472 00:32:15,000 --> 00:32:18,000 Dan jiġri. Nifhem. 473 00:32:18,000 --> 00:32:23,000 I ladarba kellhom intervista tax-xogħol fejn I kien qal I għandhom ikunu jafu l-poteri kollha ta '2 474 00:32:23,000 --> 00:32:26,000 up permezz 2 għall-30. 475 00:32:26,000 --> 00:32:29,000 Ma kienx xogħol sibt. 476 00:32:29,000 --> 00:32:32,000 Xorta waħda, inti guys tista 'tmur quddiem u jagħmlu l-matematika hawn, 477 00:32:32,000 --> 00:32:35,000 iżda ma binarja ma verament jagħmel sens, 478 00:32:35,000 --> 00:32:38,000 u lanqas ma jagħmlu sens bl deċimali jew hexadeċimali jew, 479 00:32:38,000 --> 00:32:43,000 biex jagħmlu l-matematika taf fejn għandek żerijiet. 480 00:32:43,000 --> 00:32:49,000 Tista 'tara Għandi 0 hawn, ta' 0 hawn, 0 hawn, 0 hawn, 0 hawn, 0 hawn. 481 00:32:49,000 --> 00:32:52,000 Għaliex jista 'ma jagħmilx sens li jagħmlu l-matematika reali 482 00:32:52,000 --> 00:32:56,000 biex tikkalkula l-qawwa xierqa ta '2 għal dik il-pożizzjoni? 483 00:32:56,000 --> 00:32:59,000 Eżattament, bħal Charlotte qal, se jkun 0. 484 00:32:59,000 --> 00:33:05,000 Tista 'ukoll ħlief lilek innifsek il-ħin jekk kalkolu setgħat ta' 2 mhuwiex suit qawwija tiegħek. 485 00:33:05,000 --> 00:33:10,000 F'dan il-każ aħna biss bżonn biex tiġi kkalkulata għal 2 lill-0 li hija '? 486 00:33:10,000 --> 00:33:12,000 [Student] 1. 487 00:33:12,000 --> 00:33:14,000 [Nate H.] 1, 2 għall-3 li hu-? 488 00:33:14,000 --> 00:33:16,000 [Student] 8. >> [Nate H.] 8. 489 00:33:16,000 --> 00:33:18,000 2 għall-4? 490 00:33:18,000 --> 00:33:21,000 [Student] 2. Jien sorry, 1. 491 00:33:21,000 --> 00:33:26,000 [Nate H.] 2 għall-4 huwa 16, eżattament. 492 00:33:26,000 --> 00:33:28,000 2 għall-5, Kevin? >> 32. 493 00:33:28,000 --> 00:33:32,000 [Nate H.] 32, 2 għall-8? 494 00:33:32,000 --> 00:33:38,000 [Student] 32 x 8, 256. 495 00:33:38,000 --> 00:33:41,000 [Nate H.] Perfect. 496 00:33:41,000 --> 00:33:43,000 U 2 għall-10? 497 00:33:43,000 --> 00:33:45,000 [Student] 1024. 498 00:33:45,000 --> 00:33:49,000 [Nate H.] Yeah, 1024. 499 00:33:49,000 --> 00:33:57,000 >> Ladarba konna ltqajna dawn in-numri nistgħu qosor lilhom kollha up. 500 00:33:57,000 --> 00:34:01,000 U dan huwa fejn huwa verament importanti li jagħmlu ftit affarijiet. 501 00:34:01,000 --> 00:34:07,000 Wieħed huwa jmur bil-mod u jiċċekkjaw x-xogħol tiegħek. 502 00:34:07,000 --> 00:34:10,000 Tista 'tgħid li hemm 1 fl-aħħar ta' dan in-numru, 503 00:34:10,000 --> 00:34:15,000 so I għandhom definittivament tikseb numru fard bħala riżultat tiegħi, 504 00:34:15,000 --> 00:34:18,000 minħabba l-oħrajn ser ikunu saħansitra numri 505 00:34:18,000 --> 00:34:21,000 peress li huwa numru binarju. 506 00:34:21,000 --> 00:34:24,000 Il-ħaġa oħra li tagħmel hija jekk ikollok biex dan il-punt fuq it-test 507 00:34:24,000 --> 00:34:27,000 u inti stajt bil-miktub dan jitwettaq s'hawn 508 00:34:27,000 --> 00:34:30,000 u int taħdem barra ta 'żmien 509 00:34:30,000 --> 00:34:33,000 tħares lejn in-numru ta 'punti li din il-problema min. 510 00:34:33,000 --> 00:34:40,000 Din il-problema, kif tista 'tara' jekk I flip lura għall-laptop tiegħi verament malajr ' 511 00:34:40,000 --> 00:34:44,000 din il-problema ta 'min 2 punti, għalhekk dan mhux il-tip ta' żieda 512 00:34:44,000 --> 00:34:47,000 inti għandek tkun għaddejja jekk int verament ippressat għall-ħin. 513 00:34:47,000 --> 00:34:52,000 Iżda aħna ser jaqilbu lura għall-iPad, u aħna ser jgħaddu minnha verament malajr. 514 00:34:52,000 --> 00:34:54,000 >> I bħall tagħmel in-numri żgħar 1 515 00:34:54,000 --> 00:34:56,000 minħabba I isibu li faċli. 516 00:34:56,000 --> 00:35:00,000 I simili 32 u 8 għaliex dawn imorru flimkien pretty faċilment, u nikbru 50. 517 00:35:00,000 --> 00:35:03,000 16 u 1 gets 17. 518 00:35:03,000 --> 00:35:05,000 Hemm nikbru 57, 519 00:35:05,000 --> 00:35:14,000 u allura nistgħu nagħmlu l-bqija ta 'dan, sabiex inkunu nistgħu nagħmlu 57, 156. 520 00:35:14,000 --> 00:35:16,000 Come fuq. 521 00:35:16,000 --> 00:35:19,000 Man, ukoll, ejja ara. 522 00:35:19,000 --> 00:35:27,000 Kellna 57, 256, u 1024. 523 00:35:27,000 --> 00:35:31,000 Fuq dan il-punt, I d pjuttost biss jgħaddu. 524 00:35:31,000 --> 00:35:35,000 Għandi l-ebda clue. I kjarament jeħtieġu li taqra fuq dan. 525 00:35:35,000 --> 00:35:40,000 7, 6, u 4, ikollok 17. 526 00:35:40,000 --> 00:35:42,000 1, 5, 5, 2, 13. 527 00:35:42,000 --> 00:35:45,000 Imbagħad irridu jiksbu 3, u allura aħna nikseb 1. 528 00:35:45,000 --> 00:35:52,000 1337. 529 00:35:52,000 --> 00:35:55,000 Għid tal-bajd, xi ħadd? 530 00:35:55,000 --> 00:35:59,000 Kulmin jirrikonoxxu dan in-numru? 531 00:35:59,000 --> 00:36:02,000 Chris jirrikonoxxi n-numru. Xi jfisser, Chris? 532 00:36:02,000 --> 00:36:04,000 [Chris] Leet. 533 00:36:04,000 --> 00:36:11,000 Leet, hekk jekk inti tħares lejn din, jidher qisu Leet. 534 00:36:11,000 --> 00:36:15,000 Jittieħed Hacker. Oqgħod attent għal dak it-tip ta 'għalf fuq l-nofs it-term jew il-kwizz, pjuttost. 535 00:36:15,000 --> 00:36:19,000 Jekk tara li tip ta 'għalf u int mintix "Huh," 536 00:36:19,000 --> 00:36:22,000 li jista 'effettivament tfisser xi ħaġa. 537 00:36:22,000 --> 00:36:24,000 I do not know. David jħobb tqegħid pulzieri 538 00:36:24,000 --> 00:36:26,000 Huwa mod tajjeb biex sanità check. 539 00:36:26,000 --> 00:36:30,000 Bħal okay, I jista 'jara x'inhu għaddej. 540 00:36:30,000 --> 00:36:34,000 >> Dak Ġimgħa 0/Week 1 Jittieħed. 541 00:36:34,000 --> 00:36:39,000 Jekk aħna jaqilbu lura għall-laptop tagħna issa, 542 00:36:39,000 --> 00:36:46,000 zoom out, u l-koppja ta 'affarijiet oħra. 543 00:36:46,000 --> 00:36:50,000 Hemm ASCII, li aħna kont qed tagħmel ħafna ta 'l-settijiet problema. 544 00:36:50,000 --> 00:36:55,000 Dan il-kunċett tal-kapital A. X'inhu li verament? 545 00:36:55,000 --> 00:36:57,000 Jafu huwa l-eqreb numru sħiħ deċimali. 546 00:36:57,000 --> 00:37:00,000 65 huwa dak li huwa fassal biex fit-tabella ASCII, 547 00:37:00,000 --> 00:37:03,000 u li l għalhekk kif il-kompjuter jikteb dan, 548 00:37:03,000 --> 00:37:06,000 u li l-mod kif aħna kont qed jkollna bogħod ma attwalment miktub 549 00:37:06,000 --> 00:37:09,000 il-kapital karattru A u l-karattru zghar ta ' 550 00:37:09,000 --> 00:37:14,000 f'xi wħud minn dawn is-soluzzjonijiet u settijiet problema li inti kont qed tagħmel. 551 00:37:14,000 --> 00:37:16,000 Koppja ta 'affarijiet oħra. 552 00:37:16,000 --> 00:37:25,000 Imxejna ltqajna dikjarazzjonijiet, espressjonijiet Boolean, kondizzjonijiet, loops, varjabbli u ħjut. 553 00:37:25,000 --> 00:37:29,000 >> Dawk kollha jidhru li jagħmlu sens għall-parti l-aktar? 554 00:37:29,000 --> 00:37:35,000 Xi wħud minn dan it-terminoloġija hija funky ftit f'ħinijiet. 555 00:37:35,000 --> 00:37:46,000 Inħobb naħseb ta 'dikjarazzjoni dwar l-xi ħaġa aktar parti li jispiċċa b' punto virgola. 556 00:37:46,000 --> 00:37:51,000 Dikjarazzjonijiet bħal x = 7, li tistabbilixxi varjabbli, 557 00:37:51,000 --> 00:37:54,000 preżumibbilment imsejħa x = 7. 558 00:37:54,000 --> 00:38:01,000 Preżumibbilment x hija wkoll tip li jista 'jaħżen in-numru 7, 559 00:38:01,000 --> 00:38:05,000 hekk huwa ta 'int jew possibilment float jew qasir jew char, 560 00:38:05,000 --> 00:38:07,000 xi ħaġa bħal dik. 561 00:38:07,000 --> 00:38:12,000 A espressjoni Boolean qed tuża dawn doppju ugwali 562 00:38:12,000 --> 00:38:17,000 u l-bang huwa ugwali jew il ugwali le, inqas minn, akbar minn, 563 00:38:17,000 --> 00:38:22,000 inqas minn jew ugwali għal, dak kollu li tip ta 'għalf. 564 00:38:22,000 --> 00:38:28,000 Kundizzjonijiet allura huma stqarrijiet jekk ieħor. 565 00:38:28,000 --> 00:38:32,000 Nixtieq ftakar li inti ma jistax ikollu ieħor mingħajr korrispondenti jekk. 566 00:38:32,000 --> 00:38:37,000 Bl-istess mod, ma jistax ikollok xi ħaġa oħra jekk mingħajr korrispondenti jekk. 567 00:38:37,000 --> 00:38:40,000 Loops, tfakkar it-tipi 3 ta 'loops aħna kont qed tismir fis inti 568 00:38:40,000 --> 00:38:43,000 għall-aħħar ftit sezzjonijiet u settijiet problema. 569 00:38:43,000 --> 00:38:46,000 Bl-użu do filwaqt li meta int jkollna input utent, 570 00:38:46,000 --> 00:38:51,000 użu waqt loops sakemm kondizzjoni partikolari huwa veru, 571 00:38:51,000 --> 00:38:56,000 u mbagħad tuża dawk għall-linji jekk inti għandek bżonn 572 00:38:56,000 --> 00:39:01,000 jafu liema iterazzjoni tal-linja int bħalissa fuq huwa kif I taħseb dwarha. 573 00:39:01,000 --> 00:39:07,000 Jew jekk int tagħmel għal kull karattru string I trid tagħmel xi ħaġa, 574 00:39:07,000 --> 00:39:15,000 għal kull element fil-firxa I trid tagħmel xi ħaġa biex dan l-element. 575 00:39:15,000 --> 00:39:18,000 >> Threads u avvenimenti. 576 00:39:18,000 --> 00:39:21,000 Dawn aħna mhux koperti hekk espliċitament fl-C, 577 00:39:21,000 --> 00:39:23,000 iżda tiftakar dan mill Scratch. 578 00:39:23,000 --> 00:39:26,000 Dan huwa l-kunċett ta 'wara skripts differenti. 579 00:39:26,000 --> 00:39:32,000 Dan huwa wkoll dan il-kunċett ta 'xandir ta' avveniment. 580 00:39:32,000 --> 00:39:37,000 Xi nies ma użatx xandir fil-proġetti tagħhom fil-bidu, 581 00:39:37,000 --> 00:39:40,000 li huwa totalment jibred, 582 00:39:40,000 --> 00:39:46,000 iżda dawn huma 2 modi differenti tat-tqandil din il-kwistjoni akbar imsejħa concurrency, 583 00:39:46,000 --> 00:39:49,000 li hija kif tista 'tikseb programmi li tesegwixxi 584 00:39:49,000 --> 00:39:54,000 jew apparentement tesegwixxi fl-istess ħin? 585 00:39:54,000 --> 00:39:59,000 Kompiti differenti running waqt ħidmiet oħra għaddejin ukoll. 586 00:39:59,000 --> 00:40:01,000 Din hija kif is-sistema operattiva tiegħek jidher li qed jaħdem. 587 00:40:01,000 --> 00:40:04,000 Dan huwa għaliex anke jekk, per eżempju, 588 00:40:04,000 --> 00:40:10,000 Stajt ltqajna browser tiegħi running, I tista 'wkoll jdur fuq Spotify u play kanzunetta. 589 00:40:10,000 --> 00:40:14,000 Li l-aktar ta 'ħaġa kunċettwali biex wieħed jifhem. 590 00:40:14,000 --> 00:40:17,000 Nixtieq tagħti ħarsa lejn il-ħjut qosra 591 00:40:17,000 --> 00:40:21,000 jekk inti tixtieq titgħallem aktar dwar dan. 592 00:40:21,000 --> 00:40:26,000 >> Ejja ara, nemmen li hemm seta 'kien 593 00:40:26,000 --> 00:40:31,000 problema fuq dan f'wieħed minn dawn. 594 00:40:31,000 --> 00:40:35,000 Għal darb'oħra, I think ħjut u avvenimenti mhumiex xi ħaġa li aħna se jkopri C 595 00:40:35,000 --> 00:40:41,000 sempliċiment għaliex dan huwa ferm aktar diffiċli milli fil Scratch. 596 00:40:41,000 --> 00:40:44,000 Inti m'għandekx għalfejn tinkwieta dwar dan hemmhekk, iżda ċert jifhmu l-kunċetti, 597 00:40:44,000 --> 00:40:47,000 jifhmu x'inhu għaddej. 598 00:40:47,000 --> 00:40:52,000 Qabel nimxu fuq, xi mistoqsijiet dwar f'Ġimgħa 0 materjal? 599 00:40:52,000 --> 00:40:55,000 Kulħadd tħossok pjuttost tajba? 600 00:40:55,000 --> 00:41:03,000 Varjabbli Fehim u dak varjabbli hi? 601 00:41:03,000 --> 00:41:08,000 >> Nimxu fuq. Ġimgħa 1. 602 00:41:08,000 --> 00:41:12,000 Koppja ta 'affarijiet hawn li ma kinux partikolarment koperti 603 00:41:12,000 --> 00:41:21,000 fir-reviżjoni kwizz neċessarjament u wkoll huma affarijiet aktar kunċettwali li wieħed jaħseb dwar. 604 00:41:21,000 --> 00:41:30,000 L-ewwel huwa dan il-kunċett ta 'dak li source code, kompilaturi u kodiċi oġġett huma. 605 00:41:30,000 --> 00:41:32,000 Kulmin? Basile. 606 00:41:32,000 --> 00:41:37,000 Huwa oġġett kodiċi li jfisser I source code huwa dak li inti tpoġġi fis clang, 607 00:41:37,000 --> 00:41:42,000 u l-kodiċi oġġett huwa dak li clang tpoġġi l sabiex il-kompjuter tiegħek tista 'taqra l-programm. 608 00:41:42,000 --> 00:41:44,000 Eżattament. 609 00:41:44,000 --> 00:41:47,000 Kodiċi tas-sors huwa l-kodiċi Ċ li inti fil-fatt tip up. 610 00:41:47,000 --> 00:41:50,000 Kodiċi ta 'oġġett huwa dak li inti toħroġ clang. 611 00:41:50,000 --> 00:41:54,000 Hu l-0s u 1s fil dak il-format binarju. 612 00:41:54,000 --> 00:41:59,000 Imbagħad dak li jiġri huwa meta għandek mazz ta 'fajls oġġett, 613 00:41:59,000 --> 00:42:04,000 jgħidu int kumpilazzjoni ta 'proġett jew ta' programm li juża fajls multipli source code, 614 00:42:04,000 --> 00:42:09,000 li skond il-konvenzjoni huma mogħtija l-. estensjoni fajl c. 615 00:42:09,000 --> 00:42:13,000 C'est pourquoi għandna caesar.c, vigenère.c. 616 00:42:13,000 --> 00:42:18,000 Jekk int bil-miktub programmi Java inti tagħtihom l-estensjoni. Java. 617 00:42:18,000 --> 00:42:24,000 Programmi Python jkollu l-estensjoni. PY spiss. 618 00:42:24,000 --> 00:42:26,000 >> Ladarba inti tkun fajls multipli. C, inti jikkompilawha. 619 00:42:26,000 --> 00:42:29,000 Clang spits out dan kollu junk binarja. 620 00:42:29,000 --> 00:42:33,000 Imbagħad għaliex inti biss tixtieq 1 programm 621 00:42:33,000 --> 00:42:37,000 inti għandek il-link linker kollha ta 'dawn oġġett fajls flimkien 622 00:42:37,000 --> 00:42:40,000 fil-fajl eżekutibbli 1. 623 00:42:40,000 --> 00:42:45,000 Dan huwa wkoll dak li jiġri meta inti tuża l-librerija CS50, per eżempju. 624 00:42:45,000 --> 00:42:50,000 Il-librerija CS50 huwa kemm dik. Fajl tal-header h 625 00:42:50,000 --> 00:42:53,000 li inti taqra, li # includecs50.h. 626 00:42:53,000 --> 00:42:58,000 U allura huwa wkoll fajl speċjali librerija binarju 627 00:42:58,000 --> 00:43:02,000 li kien miġbura li huwa 0s u 1s, 628 00:43:02,000 --> 00:43:08,000 u li-l-bandiera, hekk jekk immorru lura għall-Ispazji tagħna u nistennew verament malajr 629 00:43:08,000 --> 00:43:11,000 lejn dak li għaddej hawn meta aħna nħarsu lejn kmand clang tagħna, 630 00:43:11,000 --> 00:43:15,000 dak li konna ltqajna huwa dan huwa fajl tagħna source code dritt hawn. 631 00:43:15,000 --> 00:43:18,000 Dawn huma mazz ta 'bnadar kompilatur. 632 00:43:18,000 --> 00:43:22,000 U mbagħad fl-aħħar nett, dawn-l-link bnadar fil 633 00:43:22,000 --> 00:43:30,000 il-fajls binarji attwali għal dawn l-libreriji 2, il-librerija CS50 u allura l-librerija matematika. 634 00:43:30,000 --> 00:43:35,000 >> Fehim kull tip ta 'skop fajls " 635 00:43:35,000 --> 00:43:38,000 fil-proċess kumpilazzjoni hija xi ħaġa li tixtieq tkun taf biex tkun tista ' 636 00:43:38,000 --> 00:43:43,000 tagħti mill-inqas ħarsa ġenerali f'livell għoli ta '. 637 00:43:43,000 --> 00:43:46,000 Kodiċi tas-sors taqa pulzieri kodiċi Għan toħroġ. 638 00:43:46,000 --> 00:43:53,000 Fajls kodiċi Għan jgħaqqad flimkien, u ikollok sbieħ, fajl eżekutibbli. 639 00:43:53,000 --> 00:43:55,000 Kessaħ. 640 00:43:55,000 --> 00:43:58,000 Dan huwa wkoll fejn tista 'tikseb l-iżbalji fil-punti multipli 641 00:43:58,000 --> 00:44:00,000 fil-proċess kumpilazzjoni. 642 00:44:00,000 --> 00:44:04,000 Dan huwa fejn, per eżempju, jekk inti tieħu din il-bandiera li jgħaqqdu, 643 00:44:04,000 --> 00:44:10,000 l-bandiera CS50, u inti tonqos fil Spazji jew meta int running kodiċi tiegħek, 644 00:44:10,000 --> 00:44:13,000 dan huwa fejn inti ser tingħata żball fil-fażi li jgħaqqdu, 645 00:44:13,000 --> 00:44:18,000 u l-linker se ngħid, "ħej, inti imsejħa GetString funzjoni 646 00:44:18,000 --> 00:44:20,000 li fil-librerija CS50. " 647 00:44:20,000 --> 00:44:25,000 "Inti told me kien fil-librerija CS50, u jien ma tistax issib l-kodiċi għal dan." 648 00:44:25,000 --> 00:44:28,000 Li fejn inti għandek rabta fil, u li separati 649 00:44:28,000 --> 00:44:33,000 minn żball kompilatur minħabba li l-kumpilatur qed tħares lejn sintassi u dak it-tip ta 'għalf. 650 00:44:33,000 --> 00:44:38,000 Huwa tajjeb li tkun taf x'inhu għaddej meta. 651 00:44:38,000 --> 00:44:42,000 >> Affarijiet oħra li jkunu jafu dwar. 652 00:44:42,000 --> 00:44:49,000 Jien ngħid li inti definittivament tixtieq li tagħti ħarsa lejn l-qasir fuq typecasting magħmul mill-Ġordan 653 00:44:49,000 --> 00:44:55,000 biex jifhem dak ints huma taħt il-barnuża, 654 00:44:55,000 --> 00:44:58,000 liema Chars huma taħt il-barnuża. 655 00:44:58,000 --> 00:45:02,000 Meta nitkellmu dwar ASCII u għandna attwalment tħares lejn il-mejda ASCII, 656 00:45:02,000 --> 00:45:07,000 dak li qed jagħmel qed tagħtina taħt il-ħarsa barnuża 657 00:45:07,000 --> 00:45:13,000 lejn kif il-kompjuter effettivament jirrappreżenta kapital A u is-7 ċifri 658 00:45:13,000 --> 00:45:17,000 u virgola u marka kwistjoni. 659 00:45:17,000 --> 00:45:20,000 Il-kompjuter għandu wkoll modi speċjali biex jirrappreżentaw 660 00:45:20,000 --> 00:45:23,000 in-numru 7 bħala numru sħiħ. 661 00:45:23,000 --> 00:45:27,000 Hija għandha b'mod speċjali biex jirrappreżentaw in-numru 7 bħala numru b'punt li jvarja, 662 00:45:27,000 --> 00:45:29,000 u dawk li huma differenti ħafna. 663 00:45:29,000 --> 00:45:32,000 Typecasting huwa kif inti tgħid il-kompjuter "ħej, nixtieq li jikkonvertu 664 00:45:32,000 --> 00:45:37,000 minn rappreżentazzjoni għall-ieħor rappreżentazzjoni. " 665 00:45:37,000 --> 00:45:40,000 Għaliex ma we tagħti ħarsa lejn dak. 666 00:45:40,000 --> 00:45:44,000 >> Nixtieq ukoll tagħti ħarsa lejn l-qasir fuq il-libreriji u l-qasir fuq kompilaturi. 667 00:45:44,000 --> 00:45:47,000 Dawk jitkellmu dwar il-proċess ta 'kumpilazzjoni, 668 00:45:47,000 --> 00:45:53,000 dak librerija hi, u jmorru fuq xi wħud minn dawn il-mistoqsijiet li inti tista 'tikseb mitlub. 669 00:45:53,000 --> 00:45:55,000 Mistoqsijiet dwar 1 Ġimgħa materjal? 670 00:45:55,000 --> 00:46:03,000 Hemm xi suġġetti fil hawn li jidhru intimidanti tixtieq li tkopri? 671 00:46:03,000 --> 00:46:07,000 Jien jippruvaw li blow permezz ta 'maġġoranza ta' dawn is-suġġetti preċedenti sabiex inkunu jistgħu jiksbu 672 00:46:07,000 --> 00:46:13,000 pointers u jagħmlu xi ftit ta 'recursion. 673 00:46:13,000 --> 00:46:15,000 Ħsibijiet? 674 00:46:15,000 --> 00:46:19,000 Xejn biex tkopri? 675 00:46:19,000 --> 00:46:21,000 Ħin għal xi ċikkulata forsi? 676 00:46:21,000 --> 00:46:23,000 You guys qed jaħdmu permezz ta 'dan. 677 00:46:23,000 --> 00:46:26,000 Jien ser iżommu jixorbu fuq kafè tiegħi. 678 00:46:26,000 --> 00:46:31,000 Ġimgħa 2. 679 00:46:31,000 --> 00:46:34,000 Sejħa tajba, sejħa tajba. 680 00:46:34,000 --> 00:46:38,000 Fl Ġimgħa 2 tkellimna ftit aktar dwar il-funzjonijiet. 681 00:46:38,000 --> 00:46:43,000 >> Fl-ewwel settijiet problema ftit aħna ma verament jiktbu xi funzjonijiet fil-livelli kollha 682 00:46:43,000 --> 00:46:45,000 minbarra li l-funzjoni? 683 00:46:45,000 --> 00:46:47,000 [Student] Main. >> Main, eżattament. 684 00:46:47,000 --> 00:46:51,000 U hekk aħna stajt tidher l-kostumi differenti li jilbes prinċipali. 685 00:46:51,000 --> 00:46:54,000 Hemm dak li fih hija tieħu ebda argumenti, 686 00:46:54,000 --> 00:46:58,000 u aħna biss jgħidu vojt fl bejn il-parentesi, 687 00:46:58,000 --> 00:47:01,000 u allura hemm l-ieħor fejn aħna ma jridux jieħdu l-argumenti kmand tal-linja, 688 00:47:01,000 --> 00:47:08,000 u kif rajna, li fejn għandek argc int u spag firxa ARGV 689 00:47:08,000 --> 00:47:13,000 jew issa li aħna ħadthom attwalment esposti string li jkun il-* char li huwa 690 00:47:13,000 --> 00:47:20,000 aħna qed tmur biex tibda bil-miktub bħala char * ARGV u mbagħad parentesi. 691 00:47:20,000 --> 00:47:22,000 Fil Set Problem 3, inti guys raw mazz ta 'funzjonijiet, 692 00:47:22,000 --> 00:47:27,000 u inti implimentata mazz ta 'funzjonijiet, tfassal, tfittex up, ġirja. 693 00:47:27,000 --> 00:47:31,000 Il-prototipi kienu kollha miktuba hemm għalik. 694 00:47:31,000 --> 00:47:33,000 >> Dak li ridt li nitkellmu dwar hawn ma 'funzjonijiet verament malajr 695 00:47:33,000 --> 00:47:38,000 hija li hemm 3 partijiet għalihom kull meta inti jiktbu funzjoni. 696 00:47:38,000 --> 00:47:43,000 Int għandek tispeċifika t-tip ritorn tal-funzjoni. 697 00:47:43,000 --> 00:47:46,000 Int għandek tispeċifika l-isem għall-funzjoni, u mbagħad għandek tispeċifika 698 00:47:46,000 --> 00:47:51,000 il-lista argument jew il-lista parametru. 699 00:47:51,000 --> 00:47:57,000 Per eżempju, jekk kienu I li jiktbu funzjoni li tagħlaq mazz ta 'numri interi 700 00:47:57,000 --> 00:48:03,000 u mbagħad jirritornaw lili-somma dak li jkun tip ritorn tiegħi 701 00:48:03,000 --> 00:48:06,000 jekk jien ridt li qosor interi u mbagħad jirritorna l-ammont? 702 00:48:06,000 --> 00:48:12,000 Imbagħad l-isem tal-funzjoni. 703 00:48:12,000 --> 00:48:27,000 Jekk I jimxi 'l quddiem u jiktbu fl-aħdar, din il-parti hija t-tip ritorn. 704 00:48:27,000 --> 00:48:34,000 Din il-parti huwa l-isem. 705 00:48:34,000 --> 00:48:40,000 U mbagħad fl bejn parentesi 706 00:48:40,000 --> 00:48:46,000 huwa fejn I jagħtu l-argumenti, 707 00:48:46,000 --> 00:48:56,000 spiss abbrevjata bħala args, xi kultant imsejħa params għall-parametri. 708 00:48:56,000 --> 00:49:00,000 U jekk għandek wieħed, inti biss tispeċifika l-wieħed. 709 00:49:00,000 --> 00:49:06,000 Jekk għandek multipli inti separati kull wieħed bil-virgola. 710 00:49:06,000 --> 00:49:13,000 U għal kull argument inti tagħti 2 affarijiet li huma 'Kevin? 711 00:49:13,000 --> 00:49:18,000 [Kevin] Int għandek tagħti t-tip u allura l-isem. 712 00:49:18,000 --> 00:49:21,000 U allura l-isem, u l-isem huwa l-isem li int ser tuża 713 00:49:21,000 --> 00:49:25,000 li jirreferu għal dan l-argument fil-funzjoni somma, 714 00:49:25,000 --> 00:49:27,000 fi ħdan il-funzjoni li int bħalissa bil-miktub. 715 00:49:27,000 --> 00:49:32,000 >> Inti ma għandekx biex per eżempju, jekk jien ser qosor, 716 00:49:32,000 --> 00:49:41,000 jiġifieri, firxa ta 'numri interi-we'll do firxa int, 717 00:49:41,000 --> 00:49:46,000 u jien ser jagħtu myself xi ċineg kaboċċi hemm ' 718 00:49:46,000 --> 00:49:51,000 allura meta I jgħaddu l-firxa għall-funzjoni somma 719 00:49:51,000 --> 00:49:55,000 I tgħaddiha fl-ewwel pożizzjoni tal-lista argument. 720 00:49:55,000 --> 00:49:59,000 Iżda l-firxa li I jgħaddu ma għandhomx għalfejn ikollhom il-arr isem. 721 00:49:59,000 --> 00:50:07,000 Arr se tkun kif Nirreferi għall dan l-argument fil-korp tal-funzjoni. 722 00:50:07,000 --> 00:50:10,000 Il-ħaġa oħra li għandna bżonn li jittieħed kont, 723 00:50:10,000 --> 00:50:14,000 u dan huwa kemmxejn differenti minn funzjonijiet, imma naħseb li huwa punt importanti, 724 00:50:14,000 --> 00:50:20,000 hija li fil Ċ meta jien bil-miktub funzjoni bħal din 725 00:50:20,000 --> 00:50:29,000 kif inkun naf kemm elementi huma f'dan il-firxa? 726 00:50:29,000 --> 00:50:31,000 Din hija kemmxejn ta 'mistoqsija trick. 727 00:50:31,000 --> 00:50:35,000 Aħna tkellimna dwar dan ftit fit-taqsima ġimgħa li għaddiet. 728 00:50:35,000 --> 00:50:40,000 Kif inkun naf l-għadd ta 'elementi ġewwa l-firxa fis-C? 729 00:50:40,000 --> 00:50:44,000 Hemm xi mod? 730 00:50:44,000 --> 00:50:49,000 >> Jirriżulta li hemm ebda mod li tkun taf. 731 00:50:49,000 --> 00:50:52,000 Inti għandek li jgħaddi bi separatament. 732 00:50:52,000 --> 00:50:55,000 Hemm trick li inti tista 'tagħmel 733 00:50:55,000 --> 00:51:00,000 jekk int fil-istess funzjoni li fih il-firxa tkun ġiet iddikjarata, 734 00:51:00,000 --> 00:51:04,000 u int taħdem ma 'firxa munzell. 735 00:51:04,000 --> 00:51:06,000 Iżda dan jaħdem biss jekk int fil-istess funzjoni. 736 00:51:06,000 --> 00:51:09,000 Ladarba inti tgħaddi l-firxa għall-ieħor il-funzjoni jew jekk tkun ħadthom ddikjarat firxa 737 00:51:09,000 --> 00:51:12,000 u inti tpoġġi li firxa fuq il-munzell, inti stajt użati malloc 738 00:51:12,000 --> 00:51:15,000  u dak it-tip ta 'għalf, allura l-imħatri huma off. 739 00:51:15,000 --> 00:51:18,000 Imbagħad inti attwalment ikollhom jgħaddu madwar 740 00:51:18,000 --> 00:51:21,000 argument speċjali jew parametru ieħor 741 00:51:21,000 --> 00:51:23,000 tghidlek kemm hu kbir il-firxa hija. 742 00:51:23,000 --> 00:51:28,000 F'dan il-każ, I d tixtieq li tuża comma-I'm sorry, li għaddej off l-iskrin hawn ' 743 00:51:28,000 --> 00:51:32,000 u I d jgħaddu argument ieħor 744 00:51:32,000 --> 00:51:40,000  u sejħa hija len int għat-tul. 745 00:51:40,000 --> 00:51:44,000 >> Ħaġa waħda li tista 'toħroġ fuq l-kwizz 746 00:51:44,000 --> 00:51:49,000 huwa inti titlob li tikteb jew jimplimentaw funzjoni partikolari msejħa xi ħaġa. 747 00:51:49,000 --> 00:51:54,000 Jekk aħna ma jagħtuk l-prototip, sabiex dan ħaġa sħiħa hawn, 748 00:51:54,000 --> 00:51:58,000 dan mess sħiħ huwa msejjaħ id-dikjarazzjoni funzjoni jew il-prototip funzjoni, 749 00:51:58,000 --> 00:52:01,000 dan huwa wieħed mill-ewwel affarijiet li tixtieq tkun taf biex dwiefer fl jekk ma jkunx mogħti 750 00:52:01,000 --> 00:52:03,000 lilek dritt bogħod fuq il-kwizz. 751 00:52:03,000 --> 00:52:06,000 Il-trick oħra stajt tgħallmu hija li 752 00:52:06,000 --> 00:52:11,000 ngħidu nagħmlu jagħtuk prototip għal funzjoni, u nistgħu ngħidu, "ħej, inti stajt ltqajna biex tiktibha." 753 00:52:11,000 --> 00:52:16,000 Ġewwa l-braces kaboċċi li għandek fuq il-kwizz 754 00:52:16,000 --> 00:52:20,000 jekk tinnota li hemm tip ta 'ritorn u tinnota li t-tip ritorn 755 00:52:20,000 --> 00:52:25,000 hija xi ħaġa oħra għajr null, li jfisser li l-funzjoni ma ritorn xejn, 756 00:52:25,000 --> 00:52:28,000 allura wieħed ħaġa inti definittivament trid tagħmel hu li tikteb 757 00:52:28,000 --> 00:52:33,000 xi tip ta 'stqarrija ritorn fl-aħħar nett tal-funzjoni. 758 00:52:33,000 --> 00:52:40,000 Ritorn, u f'dan il-każ, aħna ser ipoġġi vojt għaliex irridu li timla l-vojt. 759 00:52:40,000 --> 00:52:44,000 Iżda dan gets inti taħseb bl-aħjar mod dwar kif am I se approċċ din il-problema? 760 00:52:44,000 --> 00:52:49,000 U jfakkar inti int ser jkollhom jirritornaw valur 761 00:52:49,000 --> 00:52:51,000 għall-sejjieħ tal-funzjoni. 762 00:52:51,000 --> 00:52:54,000 >> Yeah. >> [Student] Does stil japplikaw meta aħna qed tikteb kodiċi fuq il-kwizz? 763 00:52:54,000 --> 00:52:58,000 Bħal indentazzjoni u dak it-tip ta 'għalf? >> [Student] Yeah. 764 00:52:58,000 --> 00:53:00,000 Le, mhux daqstant. 765 00:53:00,000 --> 00:53:09,000 Naħseb ħafna ta '' din hija xi ħaġa aħna ser tiċċara fuq il-kwizz fil-jum tal- 766 00:53:09,000 --> 00:53:15,000 imma tipikament jinkwetaw dwar # jinkludi u dak it-tip ta 'għalf, huwa tip ta' barra. 767 00:53:15,000 --> 00:53:17,000 [Student] Għandek bżonn biex jikkummentaw kodiċi miktuba bl-idejn tiegħek? 768 00:53:17,000 --> 00:53:19,000 Għandek bżonn biex jikkummentaw kodiċi miktuba bl-idejn tiegħek? 769 00:53:19,000 --> 00:53:24,000 F'kumment huwa dejjem tajjeb jekk int inkwetat dwar kreditu parzjali 770 00:53:24,000 --> 00:53:29,000 jew tixtieq li jikkomunikaw l-intenzjoni tiegħek għall-grader. 771 00:53:29,000 --> 00:53:33,000 Imma I, għal darb'oħra, se tiċċara fuq il-kwizz stess u fil-jum kwizz, 772 00:53:33,000 --> 00:53:39,000 imma jien ma nemminx li inti ser tkun meħtieġa li jiktbu l-kummenti, l-ebda. 773 00:53:39,000 --> 00:53:42,000 Tipikament le, imma hija definittivament l-tip ta 'ħaġa fejn 774 00:53:42,000 --> 00:53:45,000 inti tista 'tikkomunika l-intenzjoni tiegħek, bħal "ħej, dan huwa fejn jien jmorru ma' dan." 775 00:53:45,000 --> 00:53:49,000 U xi kultant li jistgħu jgħinu bil-kreditu parzjali. 776 00:53:49,000 --> 00:53:51,000 Kessaħ. 777 00:53:51,000 --> 00:53:53,000 >> Basile. 778 00:53:53,000 --> 00:53:56,000 [Basile] X'hemm differenza bejn tiddikjara, ngħidu aħna, int lang 779 00:53:56,000 --> 00:54:03,000 fl-argumenti jew il-parametri versus tiddikjara varjabbli fi ħdan il-funzjoni? 780 00:54:03,000 --> 00:54:05,000 Ara naqra, kafè niżlet il-windpipe. 781 00:54:05,000 --> 00:54:07,000 [Basile] Bħall fejn l-affarijiet li rridu li jitqiegħdu fl-argumenti. 782 00:54:07,000 --> 00:54:09,000 Yeah, li hija mistoqsija kbira. 783 00:54:09,000 --> 00:54:11,000 Kif taħseb li jagħżlu liema affarijiet inti tixtieq li jitqiegħdu fl-argumenti 784 00:54:11,000 --> 00:54:17,000 versus dak affarijiet li għandek tagħmel ġewwa tal-funzjoni? 785 00:54:17,000 --> 00:54:24,000 F'dan il-każ aħna inklużi dawn iż-żewġ argumenti kif 786 00:54:24,000 --> 00:54:29,000 għaliex qed xi ħaġa li kull min se tuża l-funzjoni somma 787 00:54:29,000 --> 00:54:32,000 jeħtieġ li jiġu speċifikati dawk l-affarijiet. 788 00:54:32,000 --> 00:54:35,000 >> Il-funzjoni somma, bħal tkellimna dwar, m'għandha l-ebda mod sabiex tkun taf 789 00:54:35,000 --> 00:54:40,000 kemm hu kbir il-firxa hija jiġrilha minn sejjieħ tagħha jew min ikun qiegħed juża l-funzjoni somma. 790 00:54:40,000 --> 00:54:44,000 Hija għandha l-ebda mod sabiex tkun taf kemm hu kbir dan array huwa. 791 00:54:44,000 --> 00:54:48,000 Ir-raġuni aħna jgħaddu f'dan it-tul dritt hawn bħala argument 792 00:54:48,000 --> 00:54:51,000 huwa minħabba li xi ħaġa li aħna qed bażikament javżak l-sejjieħ tal-funzjoni, 793 00:54:51,000 --> 00:54:55,000 min se tuża l-funzjoni somma, "ħej, mhux biss do ikollok tagħtina firxa 794 00:54:55,000 --> 00:54:59,000 ta 'ints, inti ukoll għandek biex tgħidilna kemm hu kbir il-firxa li inti stajt tatna huwa. " 795 00:54:59,000 --> 00:55:03,000 [Basile] Dawk kemm se jkun hemm argumenti kmand tal-linja? 796 00:55:03,000 --> 00:55:06,000 Le, dawn huma argumenti attwali li inti tgħaddi għall-funzjoni. 797 00:55:06,000 --> 00:55:10,000 >> Let me do paġna ġdida hawn. 798 00:55:10,000 --> 00:55:13,000 [Basile] Bħall-isem se jgħaddi ' 799 00:55:13,000 --> 00:55:24,000 [Nate H.] Jekk ikolli int prinċipali (vojt), 800 00:55:24,000 --> 00:55:27,000 u jien ser tpoġġi fil-0-ritorn tiegħi stabbiliti hawn fil-qiegħ, 801 00:55:27,000 --> 00:55:31,000 u jgħidu Irrid li jsejħu l-funzjoni somma. 802 00:55:31,000 --> 00:55:42,000 Irrid ngħid int x = somma (); 803 00:55:42,000 --> 00:55:46,000 Biex tuża l-funzjoni somma I għandhom jgħaddu kemm fil-firxa li nixtieq li qosor 804 00:55:46,000 --> 00:55:51,000 u t-tul ta 'l-array, għalhekk dan huwa fejn 805 00:55:51,000 --> 00:55:54,000 jekk wieħed jassumi I kellha firxa ta 'ints, 806 00:55:54,000 --> 00:56:12,000 say I kellha int numbaz [] = 1, 2, 3, 807 00:56:12,000 --> 00:56:16,000 tip ta 'użu li Hacked up sintassi hemm dritt, 808 00:56:16,000 --> 00:56:21,000 allura dak li nixtieq nagħmel hija somma nixtieq jgħaddu fil 809 00:56:21,000 --> 00:56:27,000 kemm numbaz u n-numru 3 810 00:56:27,000 --> 00:56:30,000 li tgħid il-funzjoni somma "Okay, hawnhekk l-firxa Nixtieq li somma." 811 00:56:30,000 --> 00:56:34,000 "Hawn daqs tagħha." 812 00:56:34,000 --> 00:56:39,000 Does li jagħmel sens? Does li iwieġeb il-mistoqsija tiegħek? 813 00:56:39,000 --> 00:56:42,000 >> F'ħafna modi li ma parallel dak li aħna qed tagħmel ma prinċipali 814 00:56:42,000 --> 00:56:44,000 meta jkollna l-argumenti linja tal-kmand. 815 00:56:44,000 --> 00:56:47,000 A program bħal Caesar cipher, per eżempju, li hemm bżonn 816 00:56:47,000 --> 00:56:53,000 argumenti kmand tal-linja ma tkunx tista 'tagħmel xejn. 817 00:56:53,000 --> 00:56:57,000 Ma jkunux jafu kif jagħmlu encryption jekk inti ma għid liema ċavetta għall-użu 818 00:56:57,000 --> 00:57:03,000 jew jekk inti ma għid liema string int riedu kriptaġġ. 819 00:57:03,000 --> 00:57:08,000 Wassal għall-input, dan huwa fejn konna ltqajna 2 mekkaniżmi differenti 820 00:57:08,000 --> 00:57:14,000 għat-teħid input mix-utent, għat-teħid informazzjoni mill-utent. 821 00:57:14,000 --> 00:57:19,000 Għal Problema Set 1 rajna dan GetInt, GetString, b'mod GetFloat 822 00:57:19,000 --> 00:57:26,000 li tinkoraġġixxi għall-input, u li sejjaħ tuża l-fluss ta 'input standard. 823 00:57:26,000 --> 00:57:28,000 Huwa kemmxejn differenti. 824 00:57:28,000 --> 00:57:31,000 Hija xi ħaġa li inti tista 'tagħmel fi żmien wieħed għall-kuntrarju 825 00:57:31,000 --> 00:57:35,000 meta inti jinvokaw il-programm, meta tibda l-programm korrenti. 826 00:57:35,000 --> 00:57:41,000 L-argumenti kmand tal-linja kollha huma speċifikati meta tibda t-tmexxija tal-programm. 827 00:57:41,000 --> 00:57:47,000 Imxejna ġiet taħlit it-tnejn minn dawn. 828 00:57:47,000 --> 00:57:52,000 Meta nużaw argumenti li funzjoni, huwa ferm simili argumenti kmand tal-linja għall-prinċipali. 829 00:57:52,000 --> 00:57:56,000 Huwa meta inti jinvoka l-funzjoni li għandek bżonn li tgħid dan 830 00:57:56,000 --> 00:58:05,000 eżattament dak li jeħtieġ sabiex iwettaq dmirijietu. 831 00:58:05,000 --> 00:58:08,000 Ħaġa oħra tajba li tħares lejn 'u jien ser tavżak tħares lejn din fil-ħin liberu tiegħek, 832 00:58:08,000 --> 00:58:11,000 u kien kopert fil-kwizz-kien dan il-kunċett ta 'ambitu 833 00:58:11,000 --> 00:58:15,000 u varjabbli lokali versus varjabbli globali. 834 00:58:15,000 --> 00:58:18,000 Do jagħtu attenzjoni għal dan. 835 00:58:18,000 --> 00:58:23,000 >> Issa li aħna jkollna fuq dan il-għalf ieħor, 836 00:58:23,000 --> 00:58:27,000 fil-Ġimgħa 3 bdejna nitkellmu dwar it-tiftix u l-għażla. 837 00:58:27,000 --> 00:58:32,000 Tiftix u issortjar, għall-inqas fil CS50, 838 00:58:32,000 --> 00:58:39,000 huwa ferm introduzzjoni għal xi wħud mill-partijiet aktar teoretiċi ta 'xjenza tal-kompjuter. 839 00:58:39,000 --> 00:58:42,000 Il-problema ta 'tiftix, il-problema ta' l-għażla 840 00:58:42,000 --> 00:58:46,000 huma kbar, problemi canonical. 841 00:58:46,000 --> 00:58:52,000 Kif issib numru partikolari fil-firxa ta 'biljuni ta' numri interi? 842 00:58:52,000 --> 00:58:55,000 Kif issib isem partikolari ġewwa ktieb tat-telefon 843 00:58:55,000 --> 00:58:59,000 li l-maħżuna fuq laptop tiegħek? 844 00:58:59,000 --> 00:59:04,000 U hekk aħna jintroduċu dan il-kunċett ta 'drabi run asintotika 845 00:59:04,000 --> 00:59:11,000 li verament tikkwantifika kemm żmien, kif iebes dawn problema huma, 846 00:59:11,000 --> 00:59:14,000 kemm dawn jieħdu biex isolvu. 847 00:59:14,000 --> 00:59:20,000 Fil, nemmen, kwizz 2011 tal hemm problema li naħseb merti 848 00:59:20,000 --> 00:59:27,000 li jkopru malajr ħafna, li huwa dan wieħed, il-problema 12. 849 00:59:27,000 --> 00:59:32,000 O ebda, huwa Omega. 850 00:59:32,000 --> 00:59:41,000 >> Hawnhekk aħna qed jitkellem dwar il-ħin run aktar mgħaġġla possibbli 851 00:59:41,000 --> 00:59:46,000 għal algoritmu partikolari u allura l-ħin ta 'tħaddim iżgħar rata possibbli. 852 00:59:46,000 --> 00:59:52,000 Dan Omega u O huma verament ftit shortcuts. 853 00:59:52,000 --> 00:59:55,000 Huma qed shortcuts notazzjoni biex tgħid 854 00:59:55,000 --> 00:59:59,000 kif fast fil-każ aħjar possibbli se run algoritmu tagħna, 855 00:59:59,000 --> 01:00:06,000 u kif bil-mod fl-agħar każ possibbli se algoritmu tagħna jimxu? 856 01:00:06,000 --> 01:00:10,000 Ejja nagħmlu koppja ta 'dawn, u dawn kienu wkoll koperti 857 01:00:10,000 --> 01:00:13,000 fil-qasir fuq notazzjoni asintotiku, li I jirrakkomanda ħafna. 858 01:00:13,000 --> 01:00:17,000 Jackson ma biċċa xogħol tassew tajba. 859 01:00:17,000 --> 01:00:23,000 Bil tfittxija binarja, nitkellmu dwar tfittxija binarja bħala algoritmu, 860 01:00:23,000 --> 01:00:28,000 u aħna normalment jitkellmu dwar dan f'termini ta 'O. big tagħha 861 01:00:28,000 --> 01:00:30,000 X'inhu l-big O? 862 01:00:30,000 --> 01:00:34,000 X'inhu l-ħin ta 'tħaddim iżgħar rata possibbli ta' tfittxija binarja? 863 01:00:34,000 --> 01:00:36,000 [Student] N ²? 864 01:00:36,000 --> 01:00:41,000 Agħlaq, I raden simili għal dak. 865 01:00:41,000 --> 01:00:43,000 Huwa ħafna aktar mgħaġġla minn dik. 866 01:00:43,000 --> 01:00:45,000 [Student] Binarju? >> Yeah, tfittxija binarja. 867 01:00:45,000 --> 01:00:47,000 [Istudenti] Huwa log n. 868 01:00:47,000 --> 01:00:49,000 Log n, sabiex dak ma log n jfisser? 869 01:00:49,000 --> 01:00:51,000 Hija nofsijiet dan kull iterazzjoni. 870 01:00:51,000 --> 01:00:56,000 Eżattament, hekk fil-każ iżgħar rata possibbli, 871 01:00:56,000 --> 01:01:00,000 jgħidu jekk għandek firxa magħżula 872 01:01:00,000 --> 01:01:08,000 ta 'xi interi miljun u n-numru li qed tfittex 873 01:01:08,000 --> 01:01:14,000 huwa jew l-element ewwel fil-firxa jew l-element ħafna aħħar fil-firxa. 874 01:01:14,000 --> 01:01:18,000 Ftakar, l-algoritmu tfittxija binarja jaħdem billi tħares lejn l-element tan-nofs, 875 01:01:18,000 --> 01:01:21,000 jaraw jekk dan huwa l-logħba li inti qed tfittex. 876 01:01:21,000 --> 01:01:23,000 Jekk huwa, allura kbira, inti sabuha. 877 01:01:23,000 --> 01:01:27,000 >> Fil-każ aħjar possibbli, kif fast ma run tfittxija binarja? 878 01:01:27,000 --> 01:01:29,000 [Studenti] 1. 879 01:01:29,000 --> 01:01:32,000 1, wasal iż-żmien kostanti, big O ta '1. Yeah. 880 01:01:32,000 --> 01:01:36,000 [Student] ikolli mistoqsija. Meta inti tgħidli log ta 'n, inti tfisser rigward bażi 2, id-dritt? 881 01:01:36,000 --> 01:01:40,000 Iva, b'tali mod li l-ħaġa oħra. 882 01:01:40,000 --> 01:01:44,000 Aħna ngħidu n log, u I raden I meta kien fl-iskola għolja 883 01:01:44,000 --> 01:01:48,000 Jien dejjem jassumi li log kien bażi 10. 884 01:01:48,000 --> 01:01:57,000 Yeah, hekk iva, log 2-bażi tipikament huwa dak li nużaw. 885 01:01:57,000 --> 01:02:02,000 Għal darb'oħra, li tmur lura għall-tiftix binarju, jekk int tiftix għal jew 886 01:02:02,000 --> 01:02:05,000 l-element fit-tmiem ħafna jew l-element fil-bidu nett, 887 01:02:05,000 --> 01:02:08,000 għaliex tibda fin-nofs u mbagħad inti jarmi 888 01:02:08,000 --> 01:02:13,000 liema minnhom 1/2 ma jissodisfax il-kriterji li inti qed tfittex, 889 01:02:13,000 --> 01:02:15,000 u inti tmur għall-nofs li jmiss u nofs li jmiss u nofs li jmiss. 890 01:02:15,000 --> 01:02:19,000 Jekk jien tiftix għal l-ikbar element fil-firxa numru sħiħ miljun 891 01:02:19,000 --> 01:02:25,000 Jien ser tnaqqas bin-nofs dan fil log-aktar ta '1 miljun darba 892 01:02:25,000 --> 01:02:28,000 qabel I finalment test u ara li l-element jien infittxu 893 01:02:28,000 --> 01:02:33,000 huwa fl-akbar jew fl-indiċi ogħla tal-firxa, 894 01:02:33,000 --> 01:02:38,000 u li se tieħu log ta 'ln, log ta '1 miljun darba. 895 01:02:38,000 --> 01:02:40,000 >> Sort Bubble. 896 01:02:40,000 --> 01:02:43,000 Do you guys jiftakru l-algoritmu tip bużżieqa? 897 01:02:43,000 --> 01:02:47,000 Kevin, inti tista 'tagħti me terġa' malajr ta 'dak li ġara fil-algoritmu tip bużżieqa? 898 01:02:47,000 --> 01:02:50,000 [Kevin] Bażikament din tmur permezz kollox fil-lista. 899 01:02:50,000 --> 01:02:52,000 Hija tħares lejn l-ewwel tnejn. 900 01:02:52,000 --> 01:02:55,000 Jekk l-ewwel waħda hija akbar mill-tieni waħda hija tpartit minnhom. 901 01:02:55,000 --> 01:02:58,000 Imbagħad jikkompara 2 u 3, l-istess ħaġa, swaps, 902 01:02:58,000 --> 01:03:00,000 3 u 4, it-triq kollha. 903 01:03:00,000 --> 01:03:03,000 Numri Akbar se jsegwi sa l-aħħar. 904 01:03:03,000 --> 01:03:07,000 U wara loops madankollu ħafna inti qed isir. 905 01:03:07,000 --> 01:03:11,000 Eżattament, iva, liema Kevin qal hu li aħna ser tara numri akbar 906 01:03:11,000 --> 01:03:15,000 bużżieqa sa l-aħħar tal-firxa. 907 01:03:15,000 --> 01:03:19,000 Per eżempju, inti mind mixi magħna permezz ta dan l-eżempju jekk dan huwa firxa tagħna? 908 01:03:19,000 --> 01:03:21,000 [Kevin] Int ser ikollok tieħu 2 u 3. 909 01:03:21,000 --> 01:03:23,000 3 hija akbar minn 2, u allura inti tpartit lilhom. 910 01:03:23,000 --> 01:03:29,000 [Nate H.] Dritt, hekk aħna tpartit dawn, u għalhekk irridu jiksbu 2, 3, 6, 4, u 9. 911 01:03:29,000 --> 01:03:31,000 [Kevin] Imbagħad inti tqabbel il-3 u 6. 912 01:03:31,000 --> 01:03:33,000 3 huwa iżgħar minn 6, sabiex inti jħallu lilhom, 913 01:03:33,000 --> 01:03:37,000 u 6 u 4, youd tpartit minnhom minħabba 4 huwa iżgħar minn 6. 914 01:03:37,000 --> 01:03:42,000 [Nate H.] Dritt, so I nikseb 2, 3, 4, 6, 9. 915 01:03:42,000 --> 01:03:46,000 [Kevin] U 9 huwa akbar minn 6, sabiex inti jitilqu minnu. 916 01:03:46,000 --> 01:03:48,000 U youd tmur lura permezz ta 'dan mill-ġdid. 917 01:03:48,000 --> 01:03:50,000 >> [Nate H.] Am I għamlu f'dan il-punt? >> [Kevin] No 918 01:03:50,000 --> 01:03:52,000 U għaliex jien ma jsir f'dan il-punt? 919 01:03:52,000 --> 01:03:54,000 Minħabba li jidher qisu firxa tiegħi huwa magħżul. Jien tħares lejn dan. 920 01:03:54,000 --> 01:03:57,000 [Kevin] Jgħaddu mill-ġdid u kun żgur li hemm tpartit mhux aktar 921 01:03:57,000 --> 01:04:00,000 qabel ma inti tista 'kollox tieqaf. 922 01:04:00,000 --> 01:04:04,000 Eżattament, sabiex inti bżonn li jżommu għaddejjin u kun żgur li ma jkunx hemm tpartit 923 01:04:04,000 --> 01:04:06,000 inti tista 'tagħmel f'dan il-punt. 924 01:04:06,000 --> 01:04:08,000 Kien verament ftit xxurtjati, bħalek qal, li aħna spiċċajna 925 01:04:08,000 --> 01:04:12,000 biss ma jkollhom jagħmlu 1 jgħaddu u aħna qed magħżula. 926 01:04:12,000 --> 01:04:16,000 Iżda biex tagħmel dan fil-każ ġenerali aħna ser fil-fatt ikollhom jagħmlu dan aktar u aktar mill-ġdid. 927 01:04:16,000 --> 01:04:20,000 U fil-fatt, dan kien eżempju ta 'l-aħjar każ possibbli, 928 01:04:20,000 --> 01:04:24,000 bħal rajna fil-problema. 929 01:04:24,000 --> 01:04:28,000 Rajna li l-każ aħjar possibbli ġiet n. 930 01:04:28,000 --> 01:04:32,000 Aħna marru permezz tal-firxa 1 ħin. 931 01:04:32,000 --> 01:04:35,000 X'inhu l-agħar każ possibbli għal dan algoritmu? 932 01:04:35,000 --> 01:04:37,000 [Kevin] N ². 933 01:04:37,000 --> 01:04:41,000 U dak li ma tfittex simili? X'għandu ħarsa firxa bħal dik se jieħu żmien ² n? 934 01:04:41,000 --> 01:04:43,000 [Kevin] [inaudible] magħżula. 935 01:04:43,000 --> 01:04:51,000 Eżattament, hekk jekk kelli l-firxa 9, 7, 6, 5, 2, 936 01:04:51,000 --> 01:04:54,000 1-9 kieku bużżieqa it-triq kollha up. 937 01:04:54,000 --> 01:04:59,000 Wara l-1 iterazzjoni għandna d jkollhom 7, 6, 5, 2, 9. 938 01:04:59,000 --> 01:05:07,000 Imbagħad il-7 kieku bużżieqa up, 6, 5, 2, 7, 9, u hekk u ibqa 'sejjer hekk. 939 01:05:07,000 --> 01:05:13,000 >> Għandna d jkollhom jgħaddu mill-firxa sħiħa n darbiet, 940 01:05:13,000 --> 01:05:16,000 u inti tista 'attwalment tikseb xi ftit aktar preċiża minn din 941 01:05:16,000 --> 01:05:23,000 minħabba li ladarba konna mċaqalqa l-9-triq kollha sa fil-pożizzjoni possibbli tagħha aħħar 942 01:05:23,000 --> 01:05:26,000 nafu li aħna qatt ma jkollhom biex iqabblu kontra dan l-element ġdid. 943 01:05:26,000 --> 01:05:29,000 Ladarba nibdew tbaqbieq-7 sa 944 01:05:29,000 --> 01:05:35,000 nafu li nistgħu tieqaf ladarba l-7 hija dritt qabel l-9 945 01:05:35,000 --> 01:05:37,000 peress li aħna stajt diġà qabblet l-9 lilha. 946 01:05:37,000 --> 01:05:46,000 Jekk inti tagħmel dan b'mod intelliġenti mhuwiex verament, I raden, li ħafna ħin. 947 01:05:46,000 --> 01:05:49,000 Int mhux ser tqabbel l-possibbiltà [inaudible] kombinazzjonijiet 948 01:05:49,000 --> 01:05:55,000 kull wieħed ħin li inti tmur permezz ta 'kull iterazzjoni. 949 01:05:55,000 --> 01:05:59,000 Iżda xorta, meta nitkellmu dwar dan bound ta 'fuq nistgħu ngħidu li 950 01:05:59,000 --> 01:06:04,000 inti tħares lejn n ² paraguni it-triq kollha permezz. 951 01:06:04,000 --> 01:06:12,000 >> Ejja ħa mmorru lura, u peress li aħna qed jibdew jiksbu ftit qasir fil-ħin 952 01:06:12,000 --> 01:06:15,000 Jien ngħid li inti għandek definittivament tmur permezz tal-bqija ta 'din it-tabella, 953 01:06:15,000 --> 01:06:17,000 imla dan kollu. 954 01:06:17,000 --> 01:06:20,000 Think ta 'eżempji. Think ta 'eżempji konkreti. 955 01:06:20,000 --> 01:06:22,000 Li verament handy u utli li jagħmlu. 956 01:06:22,000 --> 01:06:25,000 Iġbed it out. 957 01:06:25,000 --> 01:06:28,000 Dan huwa t-tip ta 'tabella li kif tmur permezz fix-xjenza tal-kompjuter 958 01:06:28,000 --> 01:06:32,000 inti għandek verament tibda tkun taf dawn tal-qalb minn. 959 01:06:32,000 --> 01:06:34,000 Dawn huma t-tipi ta 'mistoqsijiet li inti tikseb fil-intervisti. 960 01:06:34,000 --> 01:06:36,000 Dawn huma tipi ta 'affarijiet li huma tajba li tkun taf, 961 01:06:36,000 --> 01:06:41,000 u jaħsbu dwar dawk il-każijiet tarf, verament jidhru kif jaħsbu dwar 962 01:06:41,000 --> 01:06:45,000 jafu li għal bużżieqa issolvi l-array agħar possibbli 963 01:06:45,000 --> 01:06:52,000 sort ma 'dan huwa wieħed li fl-ordni invers. 964 01:06:52,000 --> 01:06:58,000 >> Pointers. Ejja nitkellmu ftit dwar pointers. 965 01:06:58,000 --> 01:07:03,000 Fil-minuti aħħar ftit li għandna hawnhekk 966 01:07:03,000 --> 01:07:11,000 Naf li dan huwa xi ħaġa flimkien mal-fajl I / O li hija pjuttost ġdida. 967 01:07:11,000 --> 01:07:19,000 Meta nitkellmu dwar indikaturi ir-raġuni li rridu nitkellmu dwar pointers 968 01:07:19,000 --> 01:07:24,000 għaliex, wieħed, meta aħna qed jaħdmu fis-C 969 01:07:24,000 --> 01:07:33,000 aħna verament f'livell pjuttost baxx meta mqabbel ma lingwi ta 'programmar aktar moderni. 970 01:07:33,000 --> 01:07:38,000 Aħna qed attwalment kapaċi li jimmanipulaw l-varjabbli fil-memorja, 971 01:07:38,000 --> 01:07:43,000 figura fejn dawn qed attwalment jinsabu fi ħdan RAM tagħna. 972 01:07:43,000 --> 01:07:46,000 Ladarba inti ħadthom marret fuq biex jieħdu sistema klassijiet operattivi tkun taf tara 973 01:07:46,000 --> 01:07:48,000 li dan huwa, għal darb'oħra, it-tip ta 'estrazzjoni. 974 01:07:48,000 --> 01:07:50,000 Li mhux verament il-każ. 975 01:07:50,000 --> 01:07:52,000 Imxejna ltqajna memorja virtwali li l-ħabi dawk id-dettalji minna. 976 01:07:52,000 --> 01:07:58,000 >> Iżda għal issa inti tista 'tassumi li meta inti jkollhom programm, 977 01:07:58,000 --> 01:08:02,000 per eżempju, meta tibda taħdem program-tiegħek cipher Caesar 978 01:08:02,000 --> 01:08:06,000 I ser jaqilbu lura għall iPad tiegħi verament malajr ' 979 01:08:06,000 --> 01:08:12,000 li fil-programm tiegħek bidu nett, jekk għandek, jiġifieri, 980 01:08:12,000 --> 01:08:15,000 4 gigabytes ta 'RAM fuq laptop tiegħek, 981 01:08:15,000 --> 01:08:21,000 ikollok imwarrba din blokki, u aħna ser sejħa dan RAM. 982 01:08:21,000 --> 01:08:25,000 U tibda fil-post aħna qed tmur biex sejħa 0, 983 01:08:25,000 --> 01:08:30,000 u dan jintemm f'post li aħna ser sejħa 4 gigabytes. 984 01:08:30,000 --> 01:08:37,000 I really ma tistax tikteb. Man, li huwa Hacked. 985 01:08:37,000 --> 01:08:40,000 Meta program tiegħek tesegwixxi 986 01:08:40,000 --> 01:08:44,000 is-sistema operattiva carves up RAM, 987 01:08:44,000 --> 01:08:51,000 u tispeċifika segmenti differenti għal partijiet differenti tal-programm tiegħek biex wieħed jgħix fih 988 01:08:51,000 --> 01:08:58,000 Down hawnhekk il-qasam huwa tip ta 'art ebda raġel. 989 01:08:58,000 --> 01:09:02,000 Meta tmur sa ftit farther hawn 990 01:09:02,000 --> 01:09:05,000 inti stajt ltqajna fil-fatt il-post fejn 991 01:09:05,000 --> 01:09:09,000 il-kodiċi għall-ħajja tal-programm tiegħek. 992 01:09:09,000 --> 01:09:13,000 Dik il-kodiċi binarju attwali, dan il-fajl eżekutibbli attwalment gets mgħobbija fil-memorja 993 01:09:13,000 --> 01:09:17,000 meta inti tmexxi programm, u li jgħix fis-segment kodiċi. 994 01:09:17,000 --> 01:09:22,000 U kif program tiegħek tesegwixxi l-proċessur tħares lejn dan is-segment kodiċi 995 01:09:22,000 --> 01:09:24,000 ċifra barra dak li huwa l-istruzzjoni li jmiss? 996 01:09:24,000 --> 01:09:27,000 X'inhu l-linja li jmiss tal-kodiċi għandi bżonn biex tesegwixxi? 997 01:09:27,000 --> 01:09:31,000 >> Hemm ukoll segment tad-data, u dan huwa fejn dawk kostanti string 998 01:09:31,000 --> 01:09:34,000 nikseb maħżuna li inti kont qed tuża. 999 01:09:34,000 --> 01:09:42,000 U mbagħad farther up hemm dan il-post imsejjaħ il-borġ. 1000 01:09:42,000 --> 01:09:46,000 Aħna jkollhom aċċess memorja fil hemm bl-użu malloc, 1001 01:09:46,000 --> 01:09:49,000 u mbagħad lejn il-quċċata tal-programm tiegħek 1002 01:09:49,000 --> 01:09:52,000 hemm il-munzell, 1003 01:09:52,000 --> 01:09:57,000 u li fejn aħna ħadthom ġiet playing għal ħafna mill-bidu. 1004 01:09:57,000 --> 01:09:59,000 Dan ma iskala jew xejn. 1005 01:09:59,000 --> 01:10:03,000 A lott ta 'dan huwa dipendenti magna ħafna, 1006 01:10:03,000 --> 01:10:10,000 sistema operattiva dipendenti, iżda dan huwa relattivament kif l-affarijiet nikseb chunked up. 1007 01:10:10,000 --> 01:10:17,000 Meta inti tmexxi programm u inti tiddikjara varjabbli msejħa x- 1008 01:10:17,000 --> 01:10:27,000 Jien ser tiġbed ieħor kaxxa stabbiliti hawn taħt, u dan se jkun RAM ukoll. 1009 01:10:27,000 --> 01:10:29,000 U jien ser tħares. 1010 01:10:29,000 --> 01:10:34,000 Aħna ser tfassal linji jagged li jindika li din hija biss sezzjoni żgħira ta 'RAM 1011 01:10:34,000 --> 01:10:38,000 u mhux kollha ta 'dan kif aħna tiġbed fil-quċċata. 1012 01:10:38,000 --> 01:10:43,000 >> Jekk Niddikjara varjabbli integer imsejħa x, 1013 01:10:43,000 --> 01:10:49,000 allura dak I attwalment nikseb huwa mapping 1014 01:10:49,000 --> 01:10:54,000 li hija maħżuna fit-tabella simbolu tal-programm tiegħi 1015 01:10:54,000 --> 01:11:00,000 li jgħaqqad l-x-isem għal dan ir-reġjun ta 'memorja li stajt mfassla 1016 01:11:00,000 --> 01:11:03,000 dritt hawn bejn il-vireg vertikali. 1017 01:11:03,000 --> 01:11:08,000 Jekk ikolli linja tal-kodiċi fil-programm tiegħi li tgħid x = 7 1018 01:11:08,000 --> 01:11:15,000 il-proċessur ikun jaf "Oh, okay, naf li x ħajjiet fuq dan il-post fil-memorja." 1019 01:11:15,000 --> 01:11:25,000 "Jien ser jimxi 'l quddiem u jiktbu 7 hemmhekk." 1020 01:11:25,000 --> 01:11:28,000 Kif ma jafu liema post dan huwa fil-memorja? 1021 01:11:28,000 --> 01:11:30,000 Ukoll, li kollu jsir fil-ħin jikkompilaw. 1022 01:11:30,000 --> 01:11:34,000 Il-kompilatur jieħu ħsieb ta 'allokazzjoni fejn kull wieħed mill-varjabbli huma se jmorru 1023 01:11:34,000 --> 01:11:40,000 u l-ħolqien ta 'mapping speċjali jew pjuttost jgħaqqdu l-tikek 1024 01:11:40,000 --> 01:11:43,000 bejn simbolu u fejn huwa għaddej, l-isem varjabbli tal- 1025 01:11:43,000 --> 01:11:46,000 u fejn huwa għaddej biex jgħixu fil-memorja. 1026 01:11:46,000 --> 01:11:50,000 Iżda jirriżulta li nistgħu ngħidu aċċess għaliha fil-programmi kif ukoll tagħna. 1027 01:11:50,000 --> 01:11:55,000 Dan gets importanti meta nibdew nitkellmu dwar xi wħud mill-istrutturi tad-data, 1028 01:11:55,000 --> 01:11:58,000 li huwa kunċett li aħna qed tmur biex jintroduċu aktar tard. 1029 01:11:58,000 --> 01:12:09,000 >> Iżda għal issa, dak li inti tista 'taf hija li I tista' toħloq pointer għal dan il-post, x. 1030 01:12:09,000 --> 01:12:12,000 Per eżempju, I tista 'toħloq varjabbli pointer. 1031 01:12:12,000 --> 01:12:16,000 Meta aħna joħolqu varjabbli pointer aħna nużaw l-notazzjoni istilla. 1032 01:12:16,000 --> 01:12:21,000 F'dan il-każ, dan jgħid jien ser toħloq pointer għal int. 1033 01:12:21,000 --> 01:12:24,000 Huwa tip eżatt bħal kull prodott ieħor. 1034 01:12:24,000 --> 01:12:27,000 Aħna tagħtiha varjabbli bħal y, 1035 01:12:27,000 --> 01:12:32,000 u allura aħna waqqafna din ugwali għall-indirizz, l-indirizz. 1036 01:12:32,000 --> 01:12:38,000 F'dan il-każ, nistgħu stabbilit y għall-punt li x 1037 01:12:38,000 --> 01:12:43,000 billi l-indirizz ta 'x, li nagħmlu ma' dan ampersand, 1038 01:12:43,000 --> 01:12:55,000 u allura aħna waqqafna y għall-punt lilha. 1039 01:12:55,000 --> 01:12:59,000 X'inhu dan essenzjalment ma huwa jekk inħarsu lejn RAM tagħna 1040 01:12:59,000 --> 01:13:02,000 dan joħloq varjabbli separat. 1041 01:13:02,000 --> 01:13:04,000 Huwa ser sejħa hija y, 1042 01:13:04,000 --> 01:13:06,000 u meta din il-linja tal-kodiċi tesegwixxi 1043 01:13:06,000 --> 01:13:13,000 huwa fil-fatt se toħloq werrej ftit li aħna tipikament jiġbed bħala vleġġa, 1044 01:13:13,000 --> 01:13:15,000 u jiffissa y għall-punt li x. 1045 01:13:15,000 --> 01:13:17,000 Iva. 1046 01:13:17,000 --> 01:13:19,000 [Student] Jekk x diġà huwa pointer, kieku inti biss tagħmel 1047 01:13:19,000 --> 01:13:22,000 int * y = x minflok li l-ampersand? 1048 01:13:22,000 --> 01:13:24,000 Iva. 1049 01:13:24,000 --> 01:13:27,000 Jekk x diġà huwa pointer, allura inti tista 'tissettja 2 pointers ugwali għal xulxin, 1050 01:13:27,000 --> 01:13:30,000 f'liema każ y ma punt għal x, 1051 01:13:30,000 --> 01:13:34,000 iżda jiġbed għal dak kollu li x hija li tipponta lejn. 1052 01:13:34,000 --> 01:13:37,000 Sfortunatament, aħna qed out ta 'żmien. 1053 01:13:37,000 --> 01:13:44,000 >> What I ngħid f'dan il-punt, nistgħu nitkellmu dwar dan offline, 1054 01:13:44,000 --> 01:13:49,000 imma jien ngħid tibda taħdem permezz din il-problema, # 14. 1055 01:13:49,000 --> 01:13:53,000 Tista 'tara hemm diġà xi ftit mimlija għalik hawn. 1056 01:13:53,000 --> 01:13:57,000 Tista 'tara li meta aħna jiddikjaraw 2 pointers, int * x * u y, 1057 01:13:57,000 --> 01:14:01,000 u jinnota li tipponta-* jmiss għall-varjabbli kienet xi ħaġa li kien sar is-sena li għaddiet. 1058 01:14:01,000 --> 01:14:05,000 Jirriżulta li dan huwa simili għal dak li aħna qed tagħmel din is-sena. 1059 01:14:05,000 --> 01:14:11,000 Ma jimpurtax fejn inti tikteb l-* meta int tiddikjara l-pointer. 1060 01:14:11,000 --> 01:14:17,000 Imma għandna bil-miktub l-li jmiss * għat-tip 1061 01:14:17,000 --> 01:14:24,000 minħabba li jagħmilha ċara ħafna li int tiddikjara varjabbli pointer. 1062 01:14:24,000 --> 01:14:27,000 Tista 'tara li tiddikjara l-pointers 2 tagħtina 2 kaxxi. 1063 01:14:27,000 --> 01:14:31,000 Hawnhekk meta aħna waqqafna x ugwali għal malloc 1064 01:14:31,000 --> 01:14:34,000 dak li dan huwa qal hu twarrib memorja fil-borġ. 1065 01:14:34,000 --> 01:14:41,000 Din il-kaxxa ftit dritt hawn, dan iċ-ċirku, tinsab fuq il-borġ. 1066 01:14:41,000 --> 01:14:43,000 X hija li tipponta lejn dan. 1067 01:14:43,000 --> 01:14:46,000 Innota li y għadu mhux tipponta lejn xejn. 1068 01:14:46,000 --> 01:14:50,000 Biex tikseb memorja biex taħżen il-numru 42 fi x 1069 01:14:50,000 --> 01:14:55,000 aħna se jużaw dak notazzjoni? 1070 01:14:55,000 --> 01:14:59,000 [Student] * x = 42. 1071 01:14:59,000 --> 01:15:01,000 Eżattament, * x = 42. 1072 01:15:01,000 --> 01:15:06,000 Dan ifisser isegwu l-vleġġa u tarmi 42 fil hemmhekk. 1073 01:15:06,000 --> 01:15:09,000 Hawnhekk fejn aħna waqqafna yu x għandna y tipponta lejn x. 1074 01:15:09,000 --> 01:15:13,000 Għal darb'oħra, dan huwa biss bħal dak Kevin qal fejn aħna waqqafna y ugwali għal x. 1075 01:15:13,000 --> 01:15:15,000 Y mhux tipponta lejn x. 1076 01:15:15,000 --> 01:15:19,000 Pjuttost, huwa tipponta lejn dak li x hija li tipponta lejn kif ukoll. 1077 01:15:19,000 --> 01:15:24,000 >> U mbagħad finalment f'din il-kaxxa l-aħħar hemm 2 affarijiet possibbli li nistgħu nagħmlu. 1078 01:15:24,000 --> 01:15:28,000 Wieħed huwa nistgħu ngħidu * x = 13. 1079 01:15:28,000 --> 01:15:33,000 Il-ħaġa oħra hija nistgħu ngħidu 'Alex, inti taf dak li stajna nagħmlu hawnhekk? 1080 01:15:33,000 --> 01:15:37,000 Tista 'tgħid * x = 13 jew' 1081 01:15:37,000 --> 01:15:41,000 [Student] Tista 'tgħid xi int. 1082 01:15:41,000 --> 01:15:45,000 [Nate H.] Jekk din kienu msemmija bħala varjabbli int stajna nagħmlu dan. 1083 01:15:45,000 --> 01:15:49,000 Nistgħu wkoll ngħidu * y = 13 għaliex qed tnejn li tipponta lejn l-istess post, 1084 01:15:49,000 --> 01:15:51,000 hekk aħna jistgħu jużaw jew varjabbli biex naslu s'hemm. 1085 01:15:51,000 --> 01:15:56,000 Yeah. >> [Student] What would look like jekk aħna biss jgħidu x int huwa 13? 1086 01:15:56,000 --> 01:16:00,000 Dan ikun tiddikjara varjabbli ġdid imsejjaħ x, li ma tkunx taħdem. 1087 01:16:00,000 --> 01:16:04,000 Għandna d jkollhom xi ħabta għaliex aħna iddikjarata x tkun pointer up here. 1088 01:16:04,000 --> 01:16:10,000 [Student] Jekk aħna biss kellhom tali dikjarazzjoni minnu stess dak li look like f'termini tal-ċirku? 1089 01:16:10,000 --> 01:16:14,000 Jekk kellna x = 13 imbagħad aħna'd jkollhom kaxxa, u aktar milli jkollhom vleġġa 1090 01:16:14,000 --> 01:16:16,000 ġejjin mill-kaxxa aħna'd tiġbed biss bħala 13. 1091 01:16:16,000 --> 01:16:19,000 [Student] Fil-kaxxa. Okay. 1092 01:16:19,000 --> 01:16:24,000 >> Grazzi għall-ħars, u Xorti tajba fuq Quiz 0. 1093 01:16:24,000 --> 01:16:28,000 [CS50.TV]