1 00:00:00,000 --> 00:00:02,418 >> [Musika sa pag-play] 2 00:00:02,418 --> 00:00:10,542 3 00:00:10,542 --> 00:00:12,000 Allison BUCHHOLTZ-AU: Uy lahat. 4 00:00:12,000 --> 00:00:15,640 Maligayang pagdating sa iyong unang opisyal na seksyon CS50. 5 00:00:15,640 --> 00:00:19,507 Bilang maaari mong, tingnan ito seksyon CS50-tulad ng, lamang 6 00:00:19,507 --> 00:00:20,840 upang makuha ang aming mga agenda para sa araw na ito. 7 00:00:20,840 --> 00:00:23,990 Kaya, sino ako, bilang ako sigurado lahat naka-iisip. 8 00:00:23,990 --> 00:00:25,514 Ako ang iyong tf. 9 00:00:25,514 --> 00:00:27,930 Hindi ako lamang ang isang random na mag-aaral sino ang gumagaya sa iyong tf. 10 00:00:27,930 --> 00:00:31,190 >> At ako pagpunta sa pumunta sa pamamagitan ng uri ng mayroon na seksyon ay dumaloy, 11 00:00:31,190 --> 00:00:34,900 mga inaasahan na mayroon kami, mapagkukunan, kaya sa at iba pa. 12 00:00:34,900 --> 00:00:39,190 Kami ay pagpunta sa makipag-usap tungkol sa array, ASCII -andar, mga argumento command-line, 13 00:00:39,190 --> 00:00:42,020 at ito ay hindi sa dito, ngunit Ako ay din pagtulong 14 00:00:42,020 --> 00:00:45,054 mo uri ng makaisip ang inyong susunod na pset para sa linggong ito. 15 00:00:45,054 --> 00:00:46,720 Aling Sigurado akong ikaw Pinahahalagahan lahat. 16 00:00:46,720 --> 00:00:48,190 17 00:00:48,190 --> 00:00:53,390 >> Kaya, question-- muna kung sino ako, bukod sa iyong masayang-masaya tf dito. 18 00:00:53,390 --> 00:00:55,390 Ako Alison Buchholtz-Au. 19 00:00:55,390 --> 00:00:57,970 Ito ang aking pangalawang taon TFing CS50. 20 00:00:57,970 --> 00:01:00,570 Din ako tf CS51 sa Spring. 21 00:01:00,570 --> 00:01:03,930 Maaaring makita mo ulit doon kung ikaw ay magpapasiyang kumuha ito. 22 00:01:03,930 --> 00:01:07,370 Sa tingin ko rin ang isang PAF, sa gayon ang anumang Freshmen-- at kung ikaw ay hindi isang presman, 23 00:01:07,370 --> 00:01:09,980 ito ang aking ikatlong taon bilang isang pagpapayo sa kapwa. 24 00:01:09,980 --> 00:01:13,630 Ako masyadong mahusay na dalubhasa sa pagpapayo mo sa buhay at mga kurso 25 00:01:13,630 --> 00:01:16,549 sa loob ng CS at hindi sa loob ng CS. 26 00:01:16,549 --> 00:01:18,090 Isa akong Computer Science Concentrator. 27 00:01:18,090 --> 00:01:20,800 Ako ay isang senior sa Adams House, pinakamahusay na bahay. 28 00:01:20,800 --> 00:01:22,430 29 00:01:22,430 --> 00:01:26,050 At bago ako lumipat sa CS aking sopomor Spring, 30 00:01:26,050 --> 00:01:27,640 Ako ay tunay na isang biomedical engineer. 31 00:01:27,640 --> 00:01:29,020 Ako ay pagpunta sa pumunta sa Med paaralan. 32 00:01:29,020 --> 00:01:30,530 Ako ay magiging isang trauma siruhano. 33 00:01:30,530 --> 00:01:33,000 At na may ganap na nagbago mula noong kinuha ko CS50. 34 00:01:33,000 --> 00:01:34,250 35 00:01:34,250 --> 00:01:36,310 Kinuha ko ang kurso aking sopomor Taglagas. 36 00:01:36,310 --> 00:01:38,920 Ito ay ang aking unang panimula sa CS kailanman. 37 00:01:38,920 --> 00:01:44,104 Ako ay isa sa mga 78% ng sa iyo kung sino ay zero karanasan pagdating sa, 38 00:01:44,104 --> 00:01:45,520 at ito ganap na nagbago ng aking buhay. 39 00:01:45,520 --> 00:01:49,820 At ngayon ako nagtatrabaho sa Microsoft, at ang iyong mga kaibig-ibig tf. 40 00:01:49,820 --> 00:01:53,500 At CS50 ay marahil isa sa mga pinakamahusay na karanasan 41 00:01:53,500 --> 00:01:56,210 na nagkaroon ako dito sa Harvard-- parehong paglalaan ng klase 42 00:01:56,210 --> 00:01:59,040 at nagagawang makatulong magturo mga mag-aaral na tulad mo. 43 00:01:59,040 --> 00:02:01,410 >> Kaya ako ay talagang nagaganyak na ikaw ay ang lahat dito. 44 00:02:01,410 --> 00:02:04,270 Sa kasong ka dumating sa late na, may kendi, 45 00:02:04,270 --> 00:02:07,227 na dapat mong huwag mag libreng darating mang-agaw, o magpadala ng 46 00:02:07,227 --> 00:02:08,560 ibang tao sa grab ito para sa iyo. 47 00:02:08,560 --> 00:02:09,399 OK. 48 00:02:09,399 --> 00:02:10,440 Hindi ko nais na makakainan na iyon. 49 00:02:10,440 --> 00:02:13,350 Ang aking kuwarto ay may sapat na tsokolate, kaya Dapat y'all subukan at tapusin iyon. 50 00:02:13,350 --> 00:02:16,730 Alam ko mayroong 100 piraso, ngunit tulad ng, 04:00 sa Lunes, 51 00:02:16,730 --> 00:02:19,000 Sa palagay ko ay maaaring gamitin sa lahat ng asukal. 52 00:02:19,000 --> 00:02:21,750 >> Kaya lahat na mga opisyal sa aking seksyon 53 00:02:21,750 --> 00:02:24,700 dapat nakuha ng isang email mula sa akin sa aking numero ng telepono, 54 00:02:24,700 --> 00:02:29,920 email address-- huwag mag-atubiling idagdag mo ako sa Gchat, huwag mag-atubiling idagdag mo ako sa Facebook, 55 00:02:29,920 --> 00:02:33,360 at din para sa natitirang bahagi ng sa iyo, Maaari mong i-email sa akin dito mismo. 56 00:02:33,360 --> 00:02:34,450 Mayroong dalawang H ni. 57 00:02:34,450 --> 00:02:37,090 Palaging gumagana sa lahat ng tao tulad ng dalawa o dalawang C ni L's. 58 00:02:37,090 --> 00:02:38,260 Dalawang sa huling pangalan H. 59 00:02:38,260 --> 00:02:41,800 Kung hindi man ito ay pagpunta sa bounce, at Hindi ako pupunta upang makuha ang iyong email. 60 00:02:41,800 --> 00:02:46,400 >> Kaya huwag mag-atubili na mag-email sa akin, -ugnay sa akin sa anumang oras. 61 00:02:46,400 --> 00:02:51,440 Maaaring hindi ako makabalik sa sa iyo sa loob ng 24 minuto, 62 00:02:51,440 --> 00:02:53,760 ngunit nangangako ako upang makabalik sa iyo sa loob ng 24 na oras. 63 00:02:53,760 --> 00:02:54,900 64 00:02:54,900 --> 00:02:58,067 Kung tumawag ka sa akin kalahating oras bago ang iyong pset ay dapat bayaran, na tulad mo pagiging, 65 00:02:58,067 --> 00:02:59,650 Wala akong palagay kung ano ang ako paggawa Allison. 66 00:02:59,650 --> 00:03:00,160 Tulungan akong. 67 00:03:00,160 --> 00:03:04,049 Pupunta ako sa kalmado ka pababa, ngunit sa pagtatapos ng araw, 68 00:03:04,049 --> 00:03:07,340 kung gumagamit ka ng pagtawag sa akin kalahating oras bago ang iyong pset ay dahil sa walang nakasulat, 69 00:03:07,340 --> 00:03:11,570 Pupunta ako upang maging parang, na rin, siguro Panahon na upang gamitin ang na late araw. 70 00:03:11,570 --> 00:03:15,215 Kaya ako ay tumugon sa lahat ng iyong mga mga kahilingan sa isang napaka-napapanahong paraan. 71 00:03:15,215 --> 00:03:16,482 72 00:03:16,482 --> 00:03:18,190 Aking telepono ay karaniwang naka-attach sa aking mga kamay. 73 00:03:18,190 --> 00:03:21,530 Karaniwang kong tumugon magkano mas mabilis kaysa sa 24 na oras, 74 00:03:21,530 --> 00:03:25,650 ngunit maaari ko lamang garantiya 24 oras na tugon. 75 00:03:25,650 --> 00:03:26,580 >> Lahat ng karapatan. 76 00:03:26,580 --> 00:03:28,410 Kaya kung bakit hindi namin dito? 77 00:03:28,410 --> 00:03:32,160 Gayundin, kung mayroon kang mga tanong sa anumang oras, mangyaring ipaalam sa akin. 78 00:03:32,160 --> 00:03:32,780 Makipag-usap ko ng maraming. 79 00:03:32,780 --> 00:03:35,320 Makipag-usap ko mabilis, ngunit mangyaring huwag mag-atubiling makakagambala sa akin. 80 00:03:35,320 --> 00:03:36,980 Nagbibigay ito sa akin paghinga room pati na rin. 81 00:03:36,980 --> 00:03:38,159 82 00:03:38,159 --> 00:03:40,200 Kaya seksyon ay isang pagkakataon para sa atin na talagang lamang dive 83 00:03:40,200 --> 00:03:44,270 sa, makakuha ng ilang mga hands-on na karanasan, upang pumunta sa pamamagitan ng mga paksa na aming nabanggit 84 00:03:44,270 --> 00:03:49,760 sa klase o sa mga materyales sa pag-aaral na Inirerekumenda namin sa iyo guys online. 85 00:03:49,760 --> 00:03:52,980 At kami talaga pumunta sa pamamagitan ng ang ilan sa mga mapagkukunan sa ilang sandali. 86 00:03:52,980 --> 00:03:54,300 87 00:03:54,300 --> 00:03:57,400 >> Kaya ang ilang mga tala sa suporta seksyon. 88 00:03:57,400 --> 00:04:00,250 CS50-- isa sa mga bagay na ginagawang ito ang isa sa aking mga paboritong mga klase 89 00:04:00,250 --> 00:04:02,510 ay ang pakiramdam na ikaw ay hindi kailanman nag-iisa. 90 00:04:02,510 --> 00:04:05,430 Mayroon kaming mga kawani ng higit sa 100 mga taong dito upang makatulong sa iyo. 91 00:04:05,430 --> 00:04:08,080 Mayroon kaming oras ng opisina Lunes hanggang Huwebes. 92 00:04:08,080 --> 00:04:13,230 Kaya may mga kaya maraming mga tao na Gustung-gusto ang klase gaya ng gagawin ko 93 00:04:13,230 --> 00:04:15,750 at kung sino ba talagang dito dahil gusto nilang maging dito. 94 00:04:15,750 --> 00:04:19,390 Karamihan sa atin ay mga mag-aaral, at ito ay tulad ng ikalimang klase sa karagdagan 95 00:04:19,390 --> 00:04:20,390 upang ang natitirang bahagi ng aming trabaho. 96 00:04:20,390 --> 00:04:22,723 >> At ito ay isang maraming trabaho, ngunit gawin namin ito dahil gustung-gusto namin ito, 97 00:04:22,723 --> 00:04:25,600 at talagang gustung-gusto namin upang magturo sa iyo at tulungan ibahagi ang aming pagkasabik 98 00:04:25,600 --> 00:04:27,260 para sa paksang ito at class na ito. 99 00:04:27,260 --> 00:04:28,490 Kaya mangyaring samantalahin. 100 00:04:28,490 --> 00:04:29,370 Halika at mag-usap sa amin. 101 00:04:29,370 --> 00:04:33,034 Nakakuha ako nag-iisa kapag ang aking mga mag-aaral huwag makipag-usap sa akin, kaya kung gusto mo, 102 00:04:33,034 --> 00:04:33,950 dumating hang out kasama ko. 103 00:04:33,950 --> 00:04:35,200 Makikita itong maging mahusay. 104 00:04:35,200 --> 00:04:37,400 >> Kaya seksyon ay malinaw naman isa sa iyong mga pinakamalaking bagay. 105 00:04:37,400 --> 00:04:41,770 Susubukan naming pumunta sa pamamagitan ng mga bagay na natutunan mo sa aralin, 106 00:04:41,770 --> 00:04:44,100 gawin ang ilang mga maikling mga halimbawa kapag mayroon kaming oras, 107 00:04:44,100 --> 00:04:46,187 at sa pangkalahatan uri ng makakuha ng ideya tungkol sa mga bagay 108 00:04:46,187 --> 00:04:48,270 dapat kang pag-iisip mga para-set ang iyong problema. 109 00:04:48,270 --> 00:04:49,540 110 00:04:49,540 --> 00:04:53,591 Shorts-- kung gaano karaming mga tao ang aktwal na pinanood ang video mula sa iyong mga scratch 111 00:04:53,591 --> 00:04:54,090 maikling? 112 00:04:54,090 --> 00:04:55,460 113 00:04:55,460 --> 00:04:57,390 Sinuman makilala sa akin? 114 00:04:57,390 --> 00:04:59,720 Kaya mga napaka mahusay. 115 00:04:59,720 --> 00:05:01,210 Dapat mo talagang panoorin ang mga iyon. 116 00:05:01,210 --> 00:05:02,880 Isang maraming trabaho Nailagay ang mga ito. 117 00:05:02,880 --> 00:05:06,690 At sila lang ang naka-sinadya upang maging kumagat-size na piraso para sa iyo upang mapanood lamang 118 00:05:06,690 --> 00:05:09,760 para sa tatlo o apat na minuto at makakuha ng mas mahusay na pang-unawa ng isang konsepto. 119 00:05:09,760 --> 00:05:11,147 120 00:05:11,147 --> 00:05:12,980 Maglakad throughs-- kung paano maraming tao ang nanood 121 00:05:12,980 --> 00:05:14,880 ang walk-through para sa nakaraang mga bago? 122 00:05:14,880 --> 00:05:16,240 Zamyla ay kamangha-manghang, tama? 123 00:05:16,240 --> 00:05:18,100 Tulad ng, nais kong ako ay minsan Zamyla. 124 00:05:18,100 --> 00:05:19,650 125 00:05:19,650 --> 00:05:21,640 Kaya nga gamitin ang iyong walk-through. 126 00:05:21,640 --> 00:05:25,070 Ay siya masira ito down sa piraso maliit, kumagat-laki. 127 00:05:25,070 --> 00:05:28,079 At kapag mayroon kang mga malalaking pagtutukoy mula sa iyong mga hanay ng problema, 128 00:05:28,079 --> 00:05:30,870 ito ay magiging talagang mahalaga upang magawang mahanap lamang sa isang lugar 129 00:05:30,870 --> 00:05:32,600 upang simulan at gumagana nang mabagal sa pamamagitan nito. 130 00:05:32,600 --> 00:05:33,610 131 00:05:33,610 --> 00:05:40,260 >> Ang lahat ng mga karapatan, mayroon rin kaming Study50, na ay study50.harvard.edu, naniniwala ako. 132 00:05:40,260 --> 00:05:42,270 Maaari mo lamang ang Google pag-aaral, at sasabihin nito makabuo. 133 00:05:42,270 --> 00:05:45,750 Ito ay isa sa mga pinakamahusay na mga mapagkukunan na mayroon kami. 134 00:05:45,750 --> 00:05:49,800 Ito ay PowerPoints na may mga tala at magsagawa ng mga problema para sa iyo 135 00:05:49,800 --> 00:05:52,430 may mga solusyon na sa iyo aktwal na maaaring maglakad sa pamamagitan ng. 136 00:05:52,430 --> 00:05:57,000 Kaya kung nais mo ang higit pang mga kasanayan, higit sa gawin namin sa mga seksyon o higit pa 137 00:05:57,000 --> 00:06:00,700 kaysa sa iyong mga hanay ng problema, ito ay talagang isang lugar Hinihikayat kita na pumunta. 138 00:06:00,700 --> 00:06:03,590 Ito ay itinayo noong nakaraang tag-araw sa pamamagitan ng ilan sa aking mga talagang magandang mga kaibigan. 139 00:06:03,590 --> 00:06:04,480 At ito ay kamangha-manghang. 140 00:06:04,480 --> 00:06:05,540 141 00:06:05,540 --> 00:06:08,670 Sa katunayan, maraming mga slide na ako mag-i-paggamit para sa Seksiyon 142 00:06:08,670 --> 00:06:10,190 ay darating mula sa Study50. 143 00:06:10,190 --> 00:06:12,000 >> Kaya ng maraming mga TFs gamitin ito. 144 00:06:12,000 --> 00:06:13,920 At sa wakas, bilang ako Binanggit, oras ng opisina. 145 00:06:13,920 --> 00:06:15,836 Kung nagkakaproblema ka sa pag sa araling-bahay, ikaw ay 146 00:06:15,836 --> 00:06:18,270 nagkakaproblema ka sa isang konsepto, dumating sa oras ng opisina. 147 00:06:18,270 --> 00:06:20,190 Pumunta sa unang bahagi ng linggo kung maaari. 148 00:06:20,190 --> 00:06:23,130 Kumuha out sa patyo sa loob, dahil ito ay uri ng malayo. 149 00:06:23,130 --> 00:06:24,780 Walang sinuman ang may gusto sa maglakad out doon. 150 00:06:24,780 --> 00:06:27,090 Ngunit ito ay sa iyong kalamangan, dahil pagkatapos ikaw ay 151 00:06:27,090 --> 00:06:29,580 pagpunta sa lahat ng mga TFs, [Hindi marinig] ipinaloob mo. 152 00:06:29,580 --> 00:06:31,920 At lalo na ngayon, lamang ng tip, Huwebes 153 00:06:31,920 --> 00:06:35,310 napaka chill ngayon sa Mather dahil ang iyong psets 154 00:06:35,310 --> 00:06:36,577 ay dahil sa Huwebes. 155 00:06:36,577 --> 00:06:38,410 At alam Nais ni na gamitin ang iyong mga late na araw pa. 156 00:06:38,410 --> 00:06:40,030 >> Kaya kung nagkakaproblema ka sa problema sa mga konsepto, 157 00:06:40,030 --> 00:06:41,780 mayroong maraming mga TFs na ay doon upang makatulong sa iyo. 158 00:06:41,780 --> 00:06:43,196 Kaya dumating out sa Mather sa Huwebes. 159 00:06:43,196 --> 00:06:45,280 Kung gusto mong makita sa akin, Pupunta ako sa maging doon. 160 00:06:45,280 --> 00:06:48,870 Karaniwang ako ng paggawa ng aking sariling mga araling-bahay, dahil walang sinuman ang gusto ng aking tulong. 161 00:06:48,870 --> 00:06:50,260 Kaya dumating makita sa amin. 162 00:06:50,260 --> 00:06:51,460 163 00:06:51,460 --> 00:06:52,440 >> Kilalanin amin nang kalahating. 164 00:06:52,440 --> 00:06:55,400 Kaya kung gaano karaming mga tao ang nag-aral panayam o napanood na ito online? 165 00:06:55,400 --> 00:06:56,570 166 00:06:56,570 --> 00:06:59,140 Gaano karaming tao ang nagpunta sa sobrang seksyon noong nakaraang linggo? 167 00:06:59,140 --> 00:07:00,171 168 00:07:00,171 --> 00:07:00,670 Ayos. 169 00:07:00,670 --> 00:07:02,190 Iyon ay talagang isang patas na bilang. 170 00:07:02,190 --> 00:07:05,425 Paano marami sa inyo na basahin ang iyong spec para sa linggong ito, para sa iyong pset? 171 00:07:05,425 --> 00:07:07,081 172 00:07:07,081 --> 00:07:08,461 Ooh, ako maipagmamalaki ng sa iyo guys! 173 00:07:08,461 --> 00:07:09,335 Higit pang mga candy para sa y'all. 174 00:07:09,335 --> 00:07:11,070 175 00:07:11,070 --> 00:07:13,280 >> Mahusay, kaya kung ano ang ibig sabihin namin "Matugunan sa amin nang kalahating," ay 176 00:07:13,280 --> 00:07:16,440 seksyong iyon ay talagang lamang magiging sobrang kapaki-pakinabang sa iyo 177 00:07:16,440 --> 00:07:19,810 kung napunta ka sa pagkakaroon ng basahin ang iyong pagtutukoy para sa iyong pset. 178 00:07:19,810 --> 00:07:23,859 Dahil kapag pumunta ko sa pamamagitan ng isang pangkalahatang-ideya ng bagay na dapat mong hinahanap out para sa, 179 00:07:23,859 --> 00:07:25,650 hindi ito pagpunta sa gawin ng maraming kahulugan kung 180 00:07:25,650 --> 00:07:28,358 hindi alam kung ano ang nakatakda ang iyong problema Mawawala na humihiling sa iyo na gawin. 181 00:07:28,358 --> 00:07:29,020 182 00:07:29,020 --> 00:07:32,590 >> Kung hindi mo dumating sa seksyon, nang walang alinlangan Hindi ko maaaring maging kapaki-pakinabang na sa iyo. 183 00:07:32,590 --> 00:07:36,600 Hindi ako pupunta sa dalhin ito personal na kung hindi mo dumating sa aking seksyon ngayon, 184 00:07:36,600 --> 00:07:38,570 ngunit tiyak dapat sa iyo. 185 00:07:38,570 --> 00:07:40,090 Kung hindi mo maaaring, panoorin ang mga ito sa online. 186 00:07:40,090 --> 00:07:41,230 187 00:07:41,230 --> 00:07:42,519 Ang mga ito ay may para sa isang dahilan. 188 00:07:42,519 --> 00:07:43,560 Ay Mine maging doon. 189 00:07:43,560 --> 00:07:44,187 190 00:07:44,187 --> 00:07:47,270 Tulad ng napansin mo, na kami ay naitala, kaya makikita ito doon para sa iyo guys. 191 00:07:47,270 --> 00:07:49,110 192 00:07:49,110 --> 00:07:51,570 Pati na rin, ng pagpunta sa lectures-- na malinaw naman 193 00:07:51,570 --> 00:07:53,790 kung saan nakukuha mo ang magsimula ng iyong materyal dito. 194 00:07:53,790 --> 00:07:57,430 Kaya ako ay talagang subukan at makatulong sa iyo ng mas maraming hangga't makakaya ko, 195 00:07:57,430 --> 00:07:58,840 ngunit maaari ko lamang natutugunan mo sa ngayon. 196 00:07:58,840 --> 00:08:01,220 Mayroon kang sa uri ng matugunan sa amin nang kalahating doon. 197 00:08:01,220 --> 00:08:04,050 >> Grading-- kaya, ang lahat ng iyo na nakakuha ng isang email mula sa akin, 198 00:08:04,050 --> 00:08:05,445 ikaw ay aking opisyal na seksyon. 199 00:08:05,445 --> 00:08:06,470 200 00:08:06,470 --> 00:08:08,120 Ako grading iyong psets. 201 00:08:08,120 --> 00:08:12,870 At gusto ko lang sabihin, isang bagay na Dapat mo ba talagang bigyang-pansin 202 00:08:12,870 --> 00:08:13,820 ang mga komento. 203 00:08:13,820 --> 00:08:17,390 Ang mga komento ay madalas na mas kapaki-pakinabang kaysa sa aktwal na iskor bigyan kami sa iyo. 204 00:08:17,390 --> 00:08:19,890 At ang mga komento ay talagang kung saan gagastusin ko ng maraming ng aking mga oras 205 00:08:19,890 --> 00:08:20,770 kapag ako ay grading. 206 00:08:20,770 --> 00:08:22,700 Kaya gusto kong pinahahalagahan ito kung basahin mo ang mga ito. 207 00:08:22,700 --> 00:08:26,990 At ang mga ito ay aktwal na kung paano ka ng pagpunta upang matuto nang higit pa tungkol sa disenyo at estilo 208 00:08:26,990 --> 00:08:29,860 at mga bagay na may maliit na mas mababa cut at dry. 209 00:08:29,860 --> 00:08:31,770 >> Kaya ba talagang bigyang-pansin sa mga komento. 210 00:08:31,770 --> 00:08:34,720 Kung mayroon kang mga tanong tungkol sa mga ito, o katanungan tungkol sa iyong iskor, 211 00:08:34,720 --> 00:08:37,620 mangyaring makipag-usap sa akin alinman sa bago seksyon, 212 00:08:37,620 --> 00:08:41,039 Makikita ko marahil ay nakikipag-hang-out sa lobby, o pagkatapos. 213 00:08:41,039 --> 00:08:43,559 Kung gusto mong mag-iskedyul isa-sa-isang pulong tungkol sa kung paano 214 00:08:43,559 --> 00:08:46,100 maaari kang makatulong na mapabuti mamaya mga hanay ng problema, ipaalam lamang sa akin. 215 00:08:46,100 --> 00:08:47,520 216 00:08:47,520 --> 00:08:49,750 >> At pagkatapos lamang ng ilang ng mga tip para sa iyo guys. 217 00:08:49,750 --> 00:08:53,110 Kaya isa sa pinakamalaking bagay Laging ko ang stress sa aking seksyon 218 00:08:53,110 --> 00:08:57,700 kapag tapos ka sa pag-aaral kung paano i-code isulat ang mga bagay out sa papel muna. 219 00:08:57,700 --> 00:09:01,080 Kung mayroon kang isang plano ng laro para sa kung saan kailangan ng iyong code upang pumunta 220 00:09:01,080 --> 00:09:03,230 at kung ano ang kailangan nito upang gawin at ito ay pinaghiwa-hiwalay 221 00:09:03,230 --> 00:09:06,000 sa maliit na piraso ng pseudocode code na naisulat out, 222 00:09:06,000 --> 00:09:09,780 ka ng pagpunta sa mas mababa malamang na gumawa ng mga syntax error 223 00:09:09,780 --> 00:09:12,355 o lumikha ng isang kung loop na Walang isang tao. 224 00:09:12,355 --> 00:09:14,064 225 00:09:14,064 --> 00:09:15,980 Kung alam mo kung saan ikaw ay pagpunta sa pangkalahatan, ikaw ay 226 00:09:15,980 --> 00:09:19,764 mas malamang na gumawa ng mga maliliit na pagkakamali na minsan ay magdadala sa iyo 227 00:09:19,764 --> 00:09:22,555 oras upang ayusin, dahil ikaw ay tulad, kung saan ako ay nawawala ko ang bracket? 228 00:09:22,555 --> 00:09:23,580 229 00:09:23,580 --> 00:09:27,420 >> Sa na tala, mangyaring gamitin Style50. 230 00:09:27,420 --> 00:09:28,820 231 00:09:28,820 --> 00:09:31,590 Lalo na kapag ikaw ay pagpunta sa oras ng opisina, 232 00:09:31,590 --> 00:09:34,850 kung ang iyong code ay ang lahat ng lumipat sa ibabaw sa isang gilid, 233 00:09:34,850 --> 00:09:37,740 patakaran ng kurso maaari naming sabihin, ayusin ito 234 00:09:37,740 --> 00:09:41,990 nang sa gayon ay mukhang Style50 sabi dapat ito, at pagkatapos ay tutulungan ka namin. 235 00:09:41,990 --> 00:09:43,830 Kaya ito ay gawing mas madali ang iyong buhay. 236 00:09:43,830 --> 00:09:45,030 Ito gawing mas madali ang ating buhay. 237 00:09:45,030 --> 00:09:46,000 Ang bawat tao'y ay mas masaya. 238 00:09:46,000 --> 00:09:47,290 Ang bawat tao'y nakakakuha ng mas mahusay na mga grado. 239 00:09:47,290 --> 00:09:48,760 Ay hindi na kung ano ang namin ang lahat ng gusto? 240 00:09:48,760 --> 00:09:50,420 241 00:09:50,420 --> 00:09:53,860 >> Kaya magsulat ng mga bagay out sa papel bago kailanman pindutin mo ang iyong computer. 242 00:09:53,860 --> 00:09:57,540 Makipag-usap bagay out sa isang mataas na antas, at tiyakin na alam mo kung saan ka pupunta. 243 00:09:57,540 --> 00:09:59,940 At kung hindi ka sigurado, umupo ka sa isang tao 244 00:09:59,940 --> 00:10:03,340 at maglakad ang mga ito sa pamamagitan ng hakbang-hakbang kung ano ang iyong code ay dapat gawin. 245 00:10:03,340 --> 00:10:07,940 At siyam na beses sa 10, ikaw ay tulad ng, oh, nakalimutan ko ang isang kung kondisyon 246 00:10:07,940 --> 00:10:12,420 o nakalimutan ko may semicolon dito o Ako sa pag-update variable na mali ito. 247 00:10:12,420 --> 00:10:15,740 Kaya mga ang aking mga tip para sa tagumpay. 248 00:10:15,740 --> 00:10:19,820 >> Kaya dahil tungkol sa kalahati ng kang tumingin tulad mo dinaluhan sobrang seksyon, 249 00:10:19,820 --> 00:10:24,080 Lamang ako ng pagpunta sa napaka sa madaling sabi pumunta sa pamamagitan ng mga loop, 250 00:10:24,080 --> 00:10:26,650 na kung saan ay hindi sa aming orihinal na agenda. 251 00:10:26,650 --> 00:10:28,190 Ngunit ang mga ito ay talagang mahalaga. 252 00:10:28,190 --> 00:10:30,250 At kaya ako pagpunta sa uri ng bilis sa pamamagitan ng mga 253 00:10:30,250 --> 00:10:32,860 bago namin makuha sa aming mga aktwal na seksyon. 254 00:10:32,860 --> 00:10:36,269 Bago gawin ko na, may mga anumang questions-- logistically, 255 00:10:36,269 --> 00:10:38,060 personal, ay mayroong anumang bagay na gusto mo 256 00:10:38,060 --> 00:10:40,990 malaman tungkol sa akin o tungkol sa seksyon o klase sa pangkalahatan? 257 00:10:40,990 --> 00:10:43,195 258 00:10:43,195 --> 00:10:43,880 Lahat ng magandang? 259 00:10:43,880 --> 00:10:45,300 OK, cool. 260 00:10:45,300 --> 00:10:46,781 261 00:10:46,781 --> 00:10:47,280 Kaibig-ibig. 262 00:10:47,280 --> 00:10:50,071 >> Kaya loops-- mo guys dapat lahat makilala ang mga piraso mula sa simula. 263 00:10:50,071 --> 00:10:51,310 264 00:10:51,310 --> 00:10:55,220 Kaya loop ay isa lamang lamang isang paraan para sa amin upang gawin ang isang bagay 265 00:10:55,220 --> 00:10:58,900 ilang bilang ng beses, ang ilang mga paulit-ulit batay sa ilang mga kondisyon na pagkilos. 266 00:10:58,900 --> 00:11:00,140 267 00:11:00,140 --> 00:11:02,090 Kaya mayroon kaming tatlong iba't ibang mga uri. 268 00:11:02,090 --> 00:11:04,860 Mayroon kaming para sa loop, habang, at gawin-habang. 269 00:11:04,860 --> 00:11:06,430 270 00:11:06,430 --> 00:11:11,320 >> Kaya para loops-- mayroon kaming lamang ng isang napaka pangkalahatang layout dito ng isang para sa loop. 271 00:11:11,320 --> 00:11:16,110 At ito ay mahusay para sa kapag alam mo kung paano maraming beses ng isang bagay na kailangang isagawa. 272 00:11:16,110 --> 00:11:17,040 273 00:11:17,040 --> 00:11:18,790 Kapag makipag-usap namin tungkol sa iba pang mga loop, ikaw 274 00:11:18,790 --> 00:11:20,650 makita kung bakit na ang isang mahalagang pagkakaiba. 275 00:11:20,650 --> 00:11:22,530 Ngunit para sa mga loop ay para sa isang bagay na set. 276 00:11:22,530 --> 00:11:24,590 Alam mo maaari kang kalkulahin ang bilang 277 00:11:24,590 --> 00:11:29,230 o alam mo ang dami ng beses mo Gusto ito paulit-ulit sa simula. 278 00:11:29,230 --> 00:11:32,220 >> Kaya kung makita mo rito, namin magkaroon ng isang pangkalahatang lamang uri 279 00:11:32,220 --> 00:11:34,480 balangkas ng balangkas para sa isang para sa loop dito. 280 00:11:34,480 --> 00:11:38,080 Kaya para sa pag-pagsisimula, ito ay kung saan ang iyong mga variable ay nasimulan. 281 00:11:38,080 --> 00:11:41,915 Sa Mario, ako sigurado ka guys ginawa isang bagay tulad ng int i katumbas ng 0. 282 00:11:41,915 --> 00:11:42,920 283 00:11:42,920 --> 00:11:44,710 Iyon ay kung saan na ang mangyayari sa asul. 284 00:11:44,710 --> 00:11:48,290 Mayroon kang ang iyong mga kondisyon, na ay kung ano ang naka-check sa bawat oras. 285 00:11:48,290 --> 00:11:52,410 Kung ang kundisyong ito ay totoo, pagkatapos ay ang natitirang bahagi ng code executes. 286 00:11:52,410 --> 00:11:54,749 Pagkatapos ay makikita ito patakbuhin again-- at magtanong. 287 00:11:54,749 --> 00:11:57,290 At pagkatapos ay mayroon kaming i-update, kung saan naka-update ng iyong mga variable. 288 00:11:57,290 --> 00:12:01,410 Kaya, muli, na may tulad Mario, ako sigurado ginawa mo guys isang bagay tulad ng i plus plus. 289 00:12:01,410 --> 00:12:04,640 Kaya sa tuwing loop Tumakbo, i Kaka-update kaya 290 00:12:04,640 --> 00:12:09,370 na kapag tayo ay pagsuri ito kumpara ang ilang mga kalagayan, ito ay nagbabago. 291 00:12:09,370 --> 00:12:12,570 >> Dahil kung mo lamang May isang static na variable, 292 00:12:12,570 --> 00:12:15,567 kung executes ito ang unang pagkakataon, lamang ng pagpunta upang maisagawa walang hanggan. 293 00:12:15,567 --> 00:12:18,025 Kaya ikaw ay may upang matiyak na -update nang maayos ang iyong variable. 294 00:12:18,025 --> 00:12:19,350 295 00:12:19,350 --> 00:12:23,890 At mayroon din kaming lamang visual na representasyon doon. 296 00:12:23,890 --> 00:12:24,930 Ang bawat tao'y magandang? 297 00:12:24,930 --> 00:12:25,630 Para sa mga loop. 298 00:12:25,630 --> 00:12:27,540 Dapat na nakita ang mga ito sa iyong pset. 299 00:12:27,540 --> 00:12:28,840 Ayos. 300 00:12:28,840 --> 00:12:31,870 >> Kaya narito lamang ng isang madaling halimbawa. 301 00:12:31,870 --> 00:12:32,860 I-print na ito ay CS50! 302 00:12:32,860 --> 00:12:33,360 10 beses. 303 00:12:33,360 --> 00:12:34,850 304 00:12:34,850 --> 00:12:37,906 At kaya may namin ang aming pagsisimula, tulad ng nakikita namin doon, sa int i 305 00:12:37,906 --> 00:12:41,280 ay katumbas ng 0, para i Mababa sa 10, at i plus plus. 306 00:12:41,280 --> 00:12:43,090 307 00:12:43,090 --> 00:12:44,540 At makikita ito i-print na 10 beses. 308 00:12:44,540 --> 00:12:46,230 309 00:12:46,230 --> 00:12:56,781 >> Kaya habang loops-- habang loop ay mahusay na kapag gumawa ka hindi kinakailangan 310 00:12:56,781 --> 00:12:59,530 mayroon na malaman kung gaano karaming beses ito pagpunta upang i-update sa simula. 311 00:12:59,530 --> 00:13:00,640 312 00:13:00,640 --> 00:13:02,580 Mayroon kang lamang ng ilang kondisyon na naka-check. 313 00:13:02,580 --> 00:13:09,550 At ito ay maaaring maging isang bagay tulad ng while-- ipaalam sa tumagal ang isang halimbawa mula sa iyong pset. 314 00:13:09,550 --> 00:13:12,540 Kung Mario, subukan mong -input ng negatibong numero. 315 00:13:12,540 --> 00:13:13,270 Mag-right? 316 00:13:13,270 --> 00:13:15,460 Ay dapat kang muling i-prompt ng iyong mga user. 317 00:13:15,460 --> 00:13:20,890 Kaya maaari mong sabihin, mahusay, kung ang input ng user isang bagay na mas mababa sa zero, muling prompt 318 00:13:20,890 --> 00:13:21,390 ang mga ito. 319 00:13:21,390 --> 00:13:23,890 At ako sigurado na maaaring mayroon naging isang bagay na ang ilan sa iyo 320 00:13:23,890 --> 00:13:24,660 na ginagamit sa iyong code. 321 00:13:24,660 --> 00:13:26,270 >> Kaya ito ay isang simpleng bagay. 322 00:13:26,270 --> 00:13:28,490 Mayroon kang habang, ang ilang mga kondisyong iyon ay naka-check 323 00:13:28,490 --> 00:13:30,460 sa tuwing pumupunta ang code upang maisagawa. 324 00:13:30,460 --> 00:13:32,660 Kung pinag-aaralan ito sa true, patakbuhin namin ito. 325 00:13:32,660 --> 00:13:33,820 Kung hindi man hindi namin. 326 00:13:33,820 --> 00:13:35,650 At kung ano talaga important-- isang bagay ko 327 00:13:35,650 --> 00:13:38,155 isipin na usapan David tungkol sa sa lecture-- ang brace. 328 00:13:38,155 --> 00:13:40,760 329 00:13:40,760 --> 00:13:42,930 Anuman sa loob ng brace ay kung ano ang pinaandar. 330 00:13:42,930 --> 00:13:45,850 Kung makalimutan mo ang mga brace na itong ibang mapupuntahan lamang 331 00:13:45,850 --> 00:13:48,800 upang maging direkta sa linya pagkatapos ng habang ay pinaandar. 332 00:13:48,800 --> 00:13:51,040 >> Kaya kung mayroon kang tatlong mga bagay na dapat 333 00:13:51,040 --> 00:13:54,020 mangyari kapag ang kondisyon na sinusuri sa true, 334 00:13:54,020 --> 00:13:58,040 at wala kang mga brace, tanging ang ang unang bagay ay pagpunta sa mangyayari. 335 00:13:58,040 --> 00:14:01,510 Kaya maging napaka-nababatid ng kung saan mo inilagay ang iyong brace. 336 00:14:01,510 --> 00:14:04,880 Kung manatili ka sa Style50, ito ay talagang makakatulong sa iyo. 337 00:14:04,880 --> 00:14:06,220 338 00:14:06,220 --> 00:14:06,760 Ayos. 339 00:14:06,760 --> 00:14:10,835 >> Kaya ito ay isang countdown mula 10 hanggang zero. 340 00:14:10,835 --> 00:14:12,380 341 00:14:12,380 --> 00:14:16,210 At tulad ng nakikita mo dito, initialize namin ang ilang mga sagot sa labas ng ito. 342 00:14:16,210 --> 00:14:19,250 Ang isang bagay na naiiba ay Hindi namin Sinisimulan ang aming mga variable 343 00:14:19,250 --> 00:14:20,300 sa loob ng aming habang loop. 344 00:14:20,300 --> 00:14:22,150 Ito ay nasimulan sa labas ng ito. 345 00:14:22,150 --> 00:14:25,480 Nang simple lamang ng paglalagay namin ang kondisyon sa para sa aming habang. 346 00:14:25,480 --> 00:14:28,630 Kaya sa kasong ito, habang count ay mas mataas sa zero. 347 00:14:28,630 --> 00:14:35,134 At i-print out namin kung ano ang aming count ay, at pagkatapos ng pagbawas namin ang aming mga variable. 348 00:14:35,134 --> 00:14:36,800 At na rin ng isa pang bagay na mapapansin. 349 00:14:36,800 --> 00:14:40,440 Ang aming mga pag-update ay hindi mangyayari sa loob ng ang unang bahagi ng habang loop. 350 00:14:40,440 --> 00:14:44,255 Ito ay talagang nangyari sa loob ng ang brace, ang katawan ng iyong teksto. 351 00:14:44,255 --> 00:14:46,820 352 00:14:46,820 --> 00:14:51,860 >> Kaya ko-habang loops-- gawin-habang loop ay mahusay para sa pagpapatunay ng user. 353 00:14:51,860 --> 00:14:54,820 Kaya maaaring magkaroon ng ilan sa inyo Ginagamit din ito sa iyong pset. 354 00:14:54,820 --> 00:14:59,960 Maaari mong sabihin, gawin, gaya ng, tanungin ang user para sa input. 355 00:14:59,960 --> 00:15:04,690 At pagkatapos ay habang, tulad ng, ang -input ay mas mababa kaysa sa ilang numero. 356 00:15:04,690 --> 00:15:10,700 >> Kaya para sa isang tahasang kaso sa Mario, ito ay magiging gawin printf, ipasok ang isang integer, 357 00:15:10,700 --> 00:15:13,820 at pagkatapos ay ilang mga integer ay katumbas ng getint. 358 00:15:13,820 --> 00:15:17,060 At pagkatapos nito idedetalye talaga isagawa muna ang code na iyon. 359 00:15:17,060 --> 00:15:19,120 Makikita mo talagang mayroon isang uri ng integer. 360 00:15:19,120 --> 00:15:23,380 At pagkatapos ay maaari mong sabihin, habang na integer ay mas mababa sa zero. 361 00:15:23,380 --> 00:15:26,120 Kaya kung ano ang pagpunta sa gawin ay ito pagpunta sa nagsasagawa ng hindi bababa sa isang beses. 362 00:15:26,120 --> 00:15:27,536 Ito ay pagpunta upang suriin ang kalagayan. 363 00:15:27,536 --> 00:15:29,690 Kung ang kalagayan ay Totoo, ito ay tumakbo muli. 364 00:15:29,690 --> 00:15:32,900 >> Kaya gawin-habang loop ay mahusay para sa pagpapatunay ng gumagamit, 365 00:15:32,900 --> 00:15:36,770 dahil alam mo ang code Mawawala upang maisagawa ng hindi bababa sa 366 00:15:36,770 --> 00:15:39,720 isang beses, samantalang sa habang loop, hindi ka 367 00:15:39,720 --> 00:15:41,630 katiyakan na ito pagpunta sa isagawa nang isang beses. 368 00:15:41,630 --> 00:15:45,330 Ito ay pagpunta upang suriin ang kundisyon una at pagkatapos ay magpasya upang maisagawa ito, 369 00:15:45,330 --> 00:15:48,350 habang ang isang do-habang habilin isagawa muna ang code 370 00:15:48,350 --> 00:15:51,110 at pagkatapos ay suriin upang makita kung ang kailangan mong ulitin ito. 371 00:15:51,110 --> 00:15:52,985 Sinusuportahan ba na pagtatangi magkaroon ng kahulugan sa lahat? 372 00:15:52,985 --> 00:15:53,680 373 00:15:53,680 --> 00:15:54,180 OK. 374 00:15:54,180 --> 00:15:55,651 375 00:15:55,651 --> 00:15:56,150 Ayos. 376 00:15:56,150 --> 00:15:57,380 377 00:15:57,380 --> 00:15:59,800 >> Kaya sa kasong ito, ito ay uri ng kung ano ang pinag-uusapan ng ko tungkol sa, 378 00:15:59,800 --> 00:16:02,210 ito muling senyas hanggang sa iyo makakuha ng isang positibong numero. 379 00:16:02,210 --> 00:16:05,060 Kaya alam namin na printf "Magpasok ng isang positibong numero" 380 00:16:05,060 --> 00:16:08,720 at aktwal na humihingi na -input ang mangyayari ng hindi bababa sa isang beses. 381 00:16:08,720 --> 00:16:12,650 Kung ang gumagamit ay masama at pinapanatili pagpasok ng isang negatibong bilang, na 382 00:16:12,650 --> 00:16:14,210 alam ng kung gaano karaming beses ito ay maisagawa. 383 00:16:14,210 --> 00:16:17,500 Ngunit ang code na ito ay garantisadong upang maisagawa ng hindi bababa sa isang beses. 384 00:16:17,500 --> 00:16:20,040 At iyon ang dahilan kung bakit ito ay mahusay na para sa pagpapatunay ng pag-input. 385 00:16:20,040 --> 00:16:22,300 At gagamitin mo na tila. 386 00:16:22,300 --> 00:16:23,870 387 00:16:23,870 --> 00:16:25,830 >> Ang lahat ng mga karapatan, anumang mga katanungan sa ngayon? 388 00:16:25,830 --> 00:16:27,080 389 00:16:27,080 --> 00:16:28,030 Humihingi kami ng lahat ng magandang? 390 00:16:28,030 --> 00:16:29,513 Ako ay masyadong mabilis ako ng pakikipag-usap? 391 00:16:29,513 --> 00:16:30,520 392 00:16:30,520 --> 00:16:31,130 Humihingi kami ng magandang? 393 00:16:31,130 --> 00:16:31,630 OK. 394 00:16:31,630 --> 00:16:32,960 395 00:16:32,960 --> 00:16:33,800 Kasindak-sindak 396 00:16:33,800 --> 00:16:35,841 >> Kaya kami ng pagpunta sa sige at makipag-usap tungkol sa array. 397 00:16:35,841 --> 00:16:36,660 398 00:16:36,660 --> 00:16:37,600 Ayos. 399 00:16:37,600 --> 00:16:40,700 Kaya array ay isa lamang mga istraktura ng data lamang 400 00:16:40,700 --> 00:16:43,260 na nagbibigay-daan sa amin upang mag-imbak bagay ng parehong uri. 401 00:16:43,260 --> 00:16:47,920 Kaya kung sakaling mayroon kang isang array, ito ay alinman lamang ng pagpunta sa may ints 402 00:16:47,920 --> 00:16:51,590 o ito ay lamang ng pagpunta sa mayroon sa kamay o ito ay lamang ng pagpunta sa mayroon na karakter. 403 00:16:51,590 --> 00:16:55,440 Hindi ka pagpunta sa magkaroon ng isang int sa isang pansamantalang trabaho na may float na may double. 404 00:16:55,440 --> 00:16:56,850 Ang isang bagay. 405 00:16:56,850 --> 00:17:00,810 Ang mga array ay isang laki lamang, o ang mga ito ay isang uri ng lamang. 406 00:17:00,810 --> 00:17:05,679 >> Kaya dito mayroon kaming isang array ng laki tatlong na may tatlong integer sa loob nito. 407 00:17:05,679 --> 00:17:07,970 Maaaring kamay, ngunit kami ay pagpunta sa sinasabi nila ints. 408 00:17:07,970 --> 00:17:09,310 409 00:17:09,310 --> 00:17:16,970 Kaya isang bagay upang mapagtanto ay na array ay isang hanay laki kapag initialize mo 410 00:17:16,970 --> 00:17:22,285 kanila, at sila ay hindi easily-- dahil sa iyo ang lahat ay mas kumportable, 411 00:17:22,285 --> 00:17:25,034 dapat mong tingin lamang sa mga iyon bilang hindi ma-extend ang laki. 412 00:17:25,034 --> 00:17:26,119 413 00:17:26,119 --> 00:17:28,740 Gayunpaman malaki itinakda mo ang iyong array sa simula, 414 00:17:28,740 --> 00:17:31,070 iyon ang laki nito ang nangyayari upang manatili, dahil array 415 00:17:31,070 --> 00:17:33,070 ay tuloy-tuloy na mga bloke ng memorya. 416 00:17:33,070 --> 00:17:34,007 417 00:17:34,007 --> 00:17:35,840 At kapag nakakuha ka guys sa isang kaunti higit pa 418 00:17:35,840 --> 00:17:40,820 ng kung paano memorya ay aktwal na inilatag out sa disk at sa kimpal at ng stack, 419 00:17:40,820 --> 00:17:42,220 Makikita ito gumawa ng kaunti pa sa kahulugan. 420 00:17:42,220 --> 00:17:48,310 >> Ngunit maaari mong tingin lamang ng katulad, ito ay lamang ng isang hilera ng mga puwang sa iyong disk. 421 00:17:48,310 --> 00:17:52,540 At hindi mo magagarantiya na mayroong magiging libreng puwang pagkatapos nito. 422 00:17:52,540 --> 00:17:55,290 Maaari mong simulan ang isang array ng tatlong at pagkatapos ay marahil mo 423 00:17:55,290 --> 00:17:59,190 pagsisimula ng isa pang hanay ng mga limang sa ibang pagkakataon, at ito ay matapos na. 424 00:17:59,190 --> 00:18:04,000 Kaya kung ikaw ay upang pumunta nakalipas na lugar tatlong sa na unang array, 425 00:18:04,000 --> 00:18:06,370 Gusto mo ay sumusulat sa ibabaw ng iba pang bagay. 426 00:18:06,370 --> 00:18:10,390 Kaya array are-- para sa iyo guys, lamang palagay sa kanila bilang isang nakapirming laki. 427 00:18:10,390 --> 00:18:12,700 428 00:18:12,700 --> 00:18:16,890 >> Kaya paglikha ng isang array-- na iyong pupuntahan sa kailangan upang gawin ito tila. 429 00:18:16,890 --> 00:18:18,240 430 00:18:18,240 --> 00:18:22,080 Kaya sa parehong paraan na kami ay may isang pangkalahatang istraktura para sa aming para sa loop, 431 00:18:22,080 --> 00:18:24,910 mayroon kaming magandang pangkalahatang istraktura para sa aming mga array. 432 00:18:24,910 --> 00:18:28,430 Dahil ang mga ito ay ng isang uri, lahat ng mga elemento sa isang array ay ng isang uri, 433 00:18:28,430 --> 00:18:30,950 kailangan mong i-initialize kung anong uri na. 434 00:18:30,950 --> 00:18:33,804 >> Kaya, tulad ng nakikita mo dito, mayroon kaming isang magandang maliit na uri ng bracket data. 435 00:18:33,804 --> 00:18:35,970 Kaya kung namin ang paglikha ng isang int array, na magiging int. 436 00:18:35,970 --> 00:18:38,830 Kung namin ang paglikha ng isang pansamantalang trabaho array, ito ay pansamantalang trabaho. 437 00:18:38,830 --> 00:18:41,890 Kung namin ang paglikha ng isang string array, ito ay string. 438 00:18:41,890 --> 00:18:45,140 At pagkatapos ay ang pangalan ng iyong array, kahit anong nais mong ito upang maging. 439 00:18:45,140 --> 00:18:51,750 Kaya marahil ito ay mga marka ng pagsubok o siguro ito ay mag-aaral o marahil ito ay kendi. 440 00:18:51,750 --> 00:18:54,440 Anuman kang magpasya upang pangalanan ang iyong array, na kung ano ang makikita itong maging. 441 00:18:54,440 --> 00:18:57,260 >> At pagkatapos ay sa mga bracket, ikaw magkaroon ng laki na gusto mo. 442 00:18:57,260 --> 00:19:01,350 Kaya, ay ang pag-iimbak kami ng 10 mga mag-aaral o ay namin ang pag-iimbak ng 15 mga uri ng kendi? 443 00:19:01,350 --> 00:19:03,200 444 00:19:03,200 --> 00:19:03,920 Ano ang hindi. 445 00:19:03,920 --> 00:19:06,830 Kaya sa aming mga halimbawa dito, kami ay lumikha ng isang array 446 00:19:06,830 --> 00:19:10,100 ng laki ng tatlo, kung saan mo guys makita dito mismo sa kanan. 447 00:19:10,100 --> 00:19:11,350 448 00:19:11,350 --> 00:19:15,990 At noong una naming initialize ito, ang lahat ay naka-set sa zero. 449 00:19:15,990 --> 00:19:18,970 Kaya ito ay naisip lamang ng tulad ng isang blangko ang talaan ng mga kandidato. 450 00:19:18,970 --> 00:19:22,550 Mayroon kaming lahat ng mga puwang, mayroon kaming lahat mga kahon na maaari kaming maglagay ng aming mga data sa, 451 00:19:22,550 --> 00:19:25,530 ngunit ang mga ito ay lamang blangko sa ngayon. 452 00:19:25,530 --> 00:19:28,700 >> Kaya kung gusto naming aktwal magtalaga sa kanila ng mga halagang ito, 453 00:19:28,700 --> 00:19:33,050 gawin namin ito sa lalong karapatan sa ilalim dito ay nagpapakita. 454 00:19:33,050 --> 00:19:39,170 Kaya mayroon kang anumang ang pangalan ng iyong array ay at pagkatapos ay kung ano ang index na gusto mo. 455 00:19:39,170 --> 00:19:43,070 Kaya ang index lamang ay tumutukoy sa, tulad ng, kung ano ang puwang kaming naghahanap sa. 456 00:19:43,070 --> 00:19:47,830 At isang mahalagang bagay na napansin ay ang array ay zero-index. 457 00:19:47,830 --> 00:19:53,160 Kaya kung nais naming unang puwang sa memorya ng sa aming mga array, ito ay magiging zero. 458 00:19:53,160 --> 00:19:54,740 Kung gusto namin ang pangalawang, ito ay maging isa. 459 00:19:54,740 --> 00:19:56,198 Kung gusto namin ang mga third, magkakaroon ito ng dalawang. 460 00:19:56,198 --> 00:19:57,820 Kaya sa at iba pa. 461 00:19:57,820 --> 00:20:02,130 >> Alin ang din kung bakit, conventionally, kapag ginagawa namin para sa loops-- ako sigurado 462 00:20:02,130 --> 00:20:05,030 ka guys ay nagtataka, bakit magsisimulang namin sa 0 kumpara sa 1? 463 00:20:05,030 --> 00:20:09,909 At iyon ay dahil kapag lumipat kami sa paggamit ng array, mapa ito nang tama. 464 00:20:09,909 --> 00:20:11,700 Kaya kung nais mong umulit sa isang array, ito 465 00:20:11,700 --> 00:20:14,830 Pinapadali ng maraming higit pang mga kahulugan sa gawin i ay katumbas ng 0, dahil kami 466 00:20:14,830 --> 00:20:17,940 Alam na tumutugma sa unang puwesto sa memory. 467 00:20:17,940 --> 00:20:18,990 468 00:20:18,990 --> 00:20:19,990 Ang bawat tao'y may mahusay na? 469 00:20:19,990 --> 00:20:21,060 470 00:20:21,060 --> 00:20:21,560 Ayos. 471 00:20:21,560 --> 00:20:26,240 >> At pagkatapos ay sa ibaba dito ay lamang isa pang paraan upang simulan ang isang array. 472 00:20:26,240 --> 00:20:29,590 Mayroon ka pa rin sa iyong uri ng data at ang pangalan, 473 00:20:29,590 --> 00:20:31,960 ngunit sa halip na aktwal na paglalagay ng laki sa doon, 474 00:20:31,960 --> 00:20:33,830 maaari mo lamang gawin walang laman bracket. 475 00:20:33,830 --> 00:20:36,350 At pagkatapos ay may mga kulot brace sa ibaba, 476 00:20:36,350 --> 00:20:40,270 maaari kang maglagay ng lang ang data na na nais mong pinaghihiwalay ng mga kuwit. 477 00:20:40,270 --> 00:20:43,070 At na Awtomatikong sabihin, OK, nakikita ko 478 00:20:43,070 --> 00:20:47,300 na mayroon kang tatlong bagay sa mga brace. 479 00:20:47,300 --> 00:20:51,410 Kaya alam ko na kailangan kong maglaan ng tatlo bloke ng memorya at pagkatapos ay i-iimbak ang mga iyon. 480 00:20:51,410 --> 00:20:55,300 481 00:20:55,300 --> 00:21:01,670 >> Kaya ang unang bersyon na maaari mong gamitin kung gumagamit ka na humihiling sa iyong mga gumagamit upang pag-input 482 00:21:01,670 --> 00:21:04,770 mga halaga sa gayon ay maaari kang umulit sa pamamagitan ng array 483 00:21:04,770 --> 00:21:07,660 at ask-- makakuha ng ilang int sa input mga ito. 484 00:21:07,660 --> 00:21:10,500 Kung alam mo ang halaga sa simula pa, ito ay gumagawa ng maraming higit pang mga kahulugan 485 00:21:10,500 --> 00:21:12,110 gamitin ang pangalawang paraan. 486 00:21:12,110 --> 00:21:17,270 Ngunit sa karamihan ng mga kaso, hindi mo maaaring kilala kung ano ang mga halagang iyon ay magiging. 487 00:21:17,270 --> 00:21:19,060 488 00:21:19,060 --> 00:21:19,560 Ayos. 489 00:21:19,560 --> 00:21:20,393 Ang anumang iba pang mga tanong? 490 00:21:20,393 --> 00:21:21,206 491 00:21:21,206 --> 00:21:21,705 Oo. 492 00:21:21,705 --> 00:21:25,960 493 00:21:25,960 --> 00:21:30,370 >> Kaya sa pag-access elements-- kaya isa ng mga dakilang bagay tungkol sa array 494 00:21:30,370 --> 00:21:33,310 ay na ang mga ito ay random access, na nangangahulugan na sa iyo 495 00:21:33,310 --> 00:21:36,010 Hindi mo na kailangang hanapin sa bawat bloke. 496 00:21:36,010 --> 00:21:38,150 Kung alam mo na nais kung ano ang sa bloke ng dalawa, 497 00:21:38,150 --> 00:21:40,820 Maaari mo lang sabihin, ninyo ako i-block ang dalawa. 498 00:21:40,820 --> 00:21:44,160 At iyon ang dahilan kung bakit ang mga mga indeks ng mga kaya mahalaga, 499 00:21:44,160 --> 00:21:46,220 at iyon ang kung paano namin aktwal na ma-access ang mga ito. 500 00:21:46,220 --> 00:21:50,660 Kaya sa kasong ito, bilang nakita natin dati kapag kami ay nagtatalaga ng mga halaga, sa isa 501 00:21:50,660 --> 00:21:55,360 bago, nagkaroon kami ng pangalan at ang index gusto naming i-access, i-right? 502 00:21:55,360 --> 00:21:59,370 Kaya sa parehong paraan, na ang lahat ng namin gawin upang aktwal na hilahin na ang data. 503 00:21:59,370 --> 00:22:02,940 Mayroon kaming ang pangalan at kami Mayroon index na gusto naming. 504 00:22:02,940 --> 00:22:06,710 >> Kaya sa kasong ito, ang para sa loop down na dito sa ibaba, sinuman 505 00:22:06,710 --> 00:22:09,060 malaman kung ano ang ginagawa nito, kung ano ang ito i-print? 506 00:22:09,060 --> 00:22:13,771 507 00:22:13,771 --> 00:22:14,270 Mmhmm? 508 00:22:14,270 --> 00:22:17,790 509 00:22:17,790 --> 00:22:18,520 Mismong. 510 00:22:18,520 --> 00:22:20,130 Kaya oo, ito ay lamang iterating sa pamamagitan ng. 511 00:22:20,130 --> 00:22:23,410 i ay katumbas ng zero-- maaari naming maglakad sa pamamagitan ng code na mabilis lang. 512 00:22:23,410 --> 00:22:26,680 i ay katumbas ng zero, i Mababa sa tatlong sa puntong ito, tama? 513 00:22:26,680 --> 00:22:27,780 Kaya na sumusuri out. 514 00:22:27,780 --> 00:22:33,370 At sabihin namin, OK, i-print f anumang ay nasa temperatura i. 515 00:22:33,370 --> 00:22:37,990 i ay zero dito mismo kapag muna namin umulit, kaya tayo pupunta sa unang puwesto, 516 00:22:37,990 --> 00:22:40,840 at sabihin namin, OK, 65 ay ang bilang gusto naming upang i-print out. 517 00:22:40,840 --> 00:22:43,570 Kaya ito ay i-print ang 65 at pagkatapos ay gawin ang isang bagong linya. 518 00:22:43,570 --> 00:22:46,550 ay i-update, kaya mga Kopya 87. 519 00:22:46,550 --> 00:22:48,780 -A-update itong muli, at makikita ito i-print 30. 520 00:22:48,780 --> 00:22:49,810 521 00:22:49,810 --> 00:22:50,630 Ang bawat tao'y cool? 522 00:22:50,630 --> 00:22:51,630 523 00:22:51,630 --> 00:22:52,130 Kahanga-hanga. 524 00:22:52,130 --> 00:22:54,340 525 00:22:54,340 --> 00:22:54,840 >> Lahat ng karapatan. 526 00:22:54,840 --> 00:22:57,710 Kaya narito ang uri ng isa bagay na sinasabi ko kung gaano 527 00:22:57,710 --> 00:23:00,020 Maaari mong subaybayan marka ng isang tao at bakit 528 00:23:00,020 --> 00:23:03,300 gagamitin mo ang unang paraan ng Sinisimulan ito 529 00:23:03,300 --> 00:23:04,890 sa halip na ang pangalawang paraan. 530 00:23:04,890 --> 00:23:06,620 At ito lamang ang napupunta sa pamamagitan ng. 531 00:23:06,620 --> 00:23:08,945 At mapansin mayroon kaming isang sukat ng klase ng 30. 532 00:23:08,945 --> 00:23:10,690 533 00:23:10,690 --> 00:23:15,770 At kami Sinisimulan ito array ng ints na ng laki 30. 534 00:23:15,770 --> 00:23:18,070 At pagkatapos kami ay iterating sa pamamagitan ng at nagpapaumanhin kami 535 00:23:18,070 --> 00:23:20,910 tanungin ang user sa pag-input mga marka para sa bawat isa sa mga 536 00:23:20,910 --> 00:23:23,700 at pagkatapos ay nagtatalaga ito sa isang tukoy na lugar sa memory 537 00:23:23,700 --> 00:23:24,860 sa isang lugar sa na array. 538 00:23:24,860 --> 00:23:26,700 539 00:23:26,700 --> 00:23:27,890 Cool? 540 00:23:27,890 --> 00:23:29,650 Ay na magkaroon ng kahulugan sa lahat? 541 00:23:29,650 --> 00:23:30,150 Mmhmm? 542 00:23:30,150 --> 00:23:32,910 543 00:23:32,910 --> 00:23:40,360 >> Kaya hashtag tukuyin ang laki ng klase 30 ay isang preprocessor directive, 544 00:23:40,360 --> 00:23:43,780 na nangangahulugan lamang gets-- ito mayroon itong gawin tulad ng proseso ng kino-compile. 545 00:23:43,780 --> 00:23:47,595 Maaari mong isipin na ito bilang isang global na variable. 546 00:23:47,595 --> 00:23:49,260 547 00:23:49,260 --> 00:23:53,030 Ang paraan ginagawa namin ito ay typically-- pinapayagan nito ang iyong code 548 00:23:53,030 --> 00:23:54,770 na mas madaling nagbago. 549 00:23:54,770 --> 00:23:59,480 Kaya sabihin nating na ang aming mga laki ng klase biglang pupunta 30-15, 550 00:23:59,480 --> 00:24:03,930 kung hindi ako ay natukoy ito sa ganitong paraan, nais ko kailangang pumunta sa pamamagitan ng aking buong programa 551 00:24:03,930 --> 00:24:07,420 at palitan ang bawat pagkakataon ng 30-15. 552 00:24:07,420 --> 00:24:11,590 Ngunit may ito, nakakatanggap ako na baguhin ang isa lugar, at lahat ng iba pa ang mga pagbabago. 553 00:24:11,590 --> 00:24:14,930 >> Kung gusto mo mang gawin isang hash tukuyin sa isang kaso 554 00:24:14,930 --> 00:24:19,020 kung saan mo pagpapanatiling naka-track ng ilan itakda ang bilang ng mga puntos para sa isang klase 555 00:24:19,020 --> 00:24:23,250 o gumagamit ka ng numero na gagamitin, tulad ng, 556 00:24:23,250 --> 00:24:27,740 sa buong isang napaka-haba ng programa, ito ay mas mahusay na upang tukuyin na sa simula 557 00:24:27,740 --> 00:24:34,440 upang kung sakaling nagbago ito, makakakuha ka ng na baguhin ang isa lugar sa halip na 100. 558 00:24:34,440 --> 00:24:34,940 Oo? 559 00:24:34,940 --> 00:24:39,830 >> MAG-AARAL: Sa pagitan ng paggawa na at lang deklarasyon [hindi marinig] sa paglipas ng sa itaas. 560 00:24:39,830 --> 00:24:42,470 >> Allison BUCHHOLTZ-AU: Kaya May gagawin sa efficient-- 561 00:24:42,470 --> 00:24:45,460 ito ay uri ng sa labas ng saklaw ng kung ano ang maaari naming masaklawan sa seksyong ito. 562 00:24:45,460 --> 00:24:49,236 Ito ay upang makagawa ng higit pa na may kahusayan at kung paano mga bagay talaga 563 00:24:49,236 --> 00:24:50,485 gumagana sa proseso ng kino-compile. 564 00:24:50,485 --> 00:24:52,590 565 00:24:52,590 --> 00:24:55,006 Kung nais mong talaga alam tungkol dito, Ikinagagalak magpadala sa iyo ng ko 566 00:24:55,006 --> 00:24:56,450 isang email na may mga mapagkukunan tungkol dito. 567 00:24:56,450 --> 00:24:57,810 568 00:24:57,810 --> 00:25:03,880 Hash tukuyin ay may gawi na maging ginustong para sa mga bagay. 569 00:25:03,880 --> 00:25:06,380 At tulad ng sa iyo Code higit pa, mo uri ng malaman ang nuances 570 00:25:06,380 --> 00:25:09,135 kung kailan dapat kang gumamit ng global kumpara sa hash tukuyin. 571 00:25:09,135 --> 00:25:11,010 Ngunit sa ngayon, hindi mo talaga magkaroon 572 00:25:11,010 --> 00:25:13,290 mag-alala tungkol dito ay na ang maikling sagot. 573 00:25:13,290 --> 00:25:15,360 574 00:25:15,360 --> 00:25:16,360 Ang bawat tao'y may mahusay na? 575 00:25:16,360 --> 00:25:18,151 At din, kung nais mong gumamit ng hash tukuyin, 576 00:25:18,151 --> 00:25:21,120 talaga mahalaga sa mapansin na ang pangalan ay dapat na sa lahat ng mga cap. 577 00:25:21,120 --> 00:25:22,210 578 00:25:22,210 --> 00:25:24,674 Hindi namin lamang ang paggawa Class SIZE upang maging kapansin-pansing. 579 00:25:24,674 --> 00:25:26,090 Dapat talaga ito sa lahat ng mga cap. 580 00:25:26,090 --> 00:25:27,880 581 00:25:27,880 --> 00:25:28,610 Ayos. 582 00:25:28,610 --> 00:25:30,130 Ano pa ba? 583 00:25:30,130 --> 00:25:31,190 Humihingi kami ng magandang? 584 00:25:31,190 --> 00:25:32,220 Kaibig-ibig. 585 00:25:32,220 --> 00:25:32,720 Maligayang pagdating. 586 00:25:32,720 --> 00:25:34,240 587 00:25:34,240 --> 00:25:38,495 >> OK, kaya gusto kitang guys tingnan sa ito at tingnan kung maaari mong mahanap ang bug. 588 00:25:38,495 --> 00:25:45,580 589 00:25:45,580 --> 00:25:46,507 Bibigyan kita ng isang pahiwatig. 590 00:25:46,507 --> 00:25:47,840 Ito ay isang lugar sa na for-loop. 591 00:25:47,840 --> 00:25:53,070 592 00:25:53,070 --> 00:25:53,665 Mmhmm? 593 00:25:53,665 --> 00:25:55,704 >> MAG-AARAL: Dapat ay mas maliit o katumbas sa 2. 594 00:25:55,704 --> 00:25:56,920 595 00:25:56,920 --> 00:26:01,094 >> Allison: Kaya ito ay maaaring mas mababa sa o katumbas ng 2, o maaaring ito ay mas mababa sa 3. 596 00:26:01,094 --> 00:26:02,510 At ano ang dahilan para sa na? 597 00:26:02,510 --> 00:26:05,135 >> MAG-AARAL: Ang [hindi marinig], 0, 1, 2. 598 00:26:05,135 --> 00:26:06,080 >> Allison: Eksaktong. 599 00:26:06,080 --> 00:26:12,180 Kaya sa isang hanay ng mga laki n, namin lamang magkaroon ng mga indeks ng n minus 1. 600 00:26:12,180 --> 00:26:13,700 601 00:26:13,700 --> 00:26:14,200 Ayos. 602 00:26:14,200 --> 00:26:15,091 603 00:26:15,091 --> 00:26:17,840 At pagkatapos ay maaari naming makakuha ng talagang baliw at kumuha ng multi-dimensional array. 604 00:26:17,840 --> 00:26:19,340 605 00:26:19,340 --> 00:26:23,960 Isa sa mga problema kapag kinuha ko ito sa aking taon Kinakailangan multi-dimensional array, 606 00:26:23,960 --> 00:26:28,720 at sa tingin ko ang isa sa mga ito ay maaaring mangailangan ito sa taong ito, kaya maging komportable. 607 00:26:28,720 --> 00:26:30,140 I-wrap ang iyong ulo sa paligid nito ngayon. 608 00:26:30,140 --> 00:26:33,087 Ito ay bumalik sa sumaging lagi sa alaala iyo, ngunit sa isang cool na paraan. 609 00:26:33,087 --> 00:26:35,420 Kaya ikaw talaga sa tingin lang ng multi-dimensional array 610 00:26:35,420 --> 00:26:36,870 bilang array ng array. 611 00:26:36,870 --> 00:26:38,060 612 00:26:38,060 --> 00:26:43,809 Kaya maaari mong uri ng tingin ng tuktok Ang hilera bilang unang tipak ng memorya. 613 00:26:43,809 --> 00:26:45,600 At ang isang ito ay ang pangalawang tipak ng memorya, 614 00:26:45,600 --> 00:26:47,570 at ang huling hilera ay ang ikatlong tipak ng memorya. 615 00:26:47,570 --> 00:26:50,740 At sa loob iyon, mayroong isang array. 616 00:26:50,740 --> 00:26:53,250 Ngunit siyempre, ito ay madali upang ilarawan tulad nito. 617 00:26:53,250 --> 00:26:55,610 >> Kaya initialize mo ito sa parehong paraan. 618 00:26:55,610 --> 00:26:57,290 619 00:26:57,290 --> 00:27:01,610 Ito ay isang character Ang lupon ng tatlong sa pamamagitan ng tatlong. 620 00:27:01,610 --> 00:27:04,180 Kaya mayroon kang tatlong mga hilera at tatlong hanay. 621 00:27:04,180 --> 00:27:06,760 Kami ay kumakatawan ito sa ganitong paraan. 622 00:27:06,760 --> 00:27:11,800 At gusto mo itong ma-access ang parehong paraan, ang hanay ng hilera. 623 00:27:11,800 --> 00:27:14,840 At kaya 1,1 tulad ng nakikita namin dito. 624 00:27:14,840 --> 00:27:18,730 Magtalaga kami ng zero, zero up doon. 625 00:27:18,730 --> 00:27:21,900 2,0 at 0,2. 626 00:27:21,900 --> 00:27:26,900 Kaya nais-access mo lamang them-- kung sinuman ay kailanman nagawa linear algebra, 627 00:27:26,900 --> 00:27:31,580 sa parehong paraan na-access mo ang isang elemento sa isang Matrice, ito ay ang parehong mga ideya dito. 628 00:27:31,580 --> 00:27:33,030 Kaya maaari mo itong nauugnay pabalik sa matematika. 629 00:27:33,030 --> 00:27:34,130 630 00:27:34,130 --> 00:27:36,380 Hindi mo kailangang mag-alala masyadong magkano ang tungkol sa ngayon. 631 00:27:36,380 --> 00:27:38,671 Ito ay mahusay na magkaroon ng pagkakalantad, upang malaman na maaari mo itong gawin. 632 00:27:38,671 --> 00:27:42,700 Maaari kang lumikha ng ilang mga basag ang pula number-- maaari kang 633 00:27:42,700 --> 00:27:44,750 lumikha ng nakatutuwang array ay lahat ng pupuntahan ko sasabihin. 634 00:27:44,750 --> 00:27:45,250 [Hindi marinig] 635 00:27:45,250 --> 00:27:46,585 636 00:27:46,585 --> 00:27:48,460 Ito ay nakakakuha ng kaunti mabaliw, ngunit ito ay talagang cool. 637 00:27:48,460 --> 00:27:50,020 638 00:27:50,020 --> 00:27:50,670 Kahanga-hanga. 639 00:27:50,670 --> 00:27:52,550 >> At pagkatapos, kaya kami ay may isang halimbawa dito. 640 00:27:52,550 --> 00:27:54,165 Kinakalkula ito ng haba ng string. 641 00:27:54,165 --> 00:27:55,210 642 00:27:55,210 --> 00:27:59,670 Kaya alam kung gaano karaming mga tao na ang mga string na ginagamit mo 643 00:27:59,670 --> 00:28:01,265 lamang array ng mga character? 644 00:28:01,265 --> 00:28:03,670 645 00:28:03,670 --> 00:28:04,655 OK, oo. 646 00:28:04,655 --> 00:28:08,000 Kaya maaaring sa tingin mo guys na mayroon kang hindi gamit na array bago, ngunit anumang oras 647 00:28:08,000 --> 00:28:10,740 gamitin mo getstring sa CSView library, ikaw ay 648 00:28:10,740 --> 00:28:14,690 talaga lang na nagtatanong para sa isang array ng mga character. 649 00:28:14,690 --> 00:28:17,450 At ka namin pangangalaga ng lahat ng paglalaan na sa back-end para sa iyo. 650 00:28:17,450 --> 00:28:20,184 Ngunit kung ikaw ay gumagamit ng array mula noong nagsimula kang. 651 00:28:20,184 --> 00:28:21,350 Ikaw lamang ay hindi ito pang malaman. 652 00:28:21,350 --> 00:28:22,420 653 00:28:22,420 --> 00:28:28,390 >> At sa tuwing mayroon kang isang character array o isang array na nag-iimbak ng isang string, 654 00:28:28,390 --> 00:28:32,050 ang huling bagay ay palaging kung ano ang na tinatawag na null Terminator, na 655 00:28:32,050 --> 00:28:33,830 ay ito dito mismo. 656 00:28:33,830 --> 00:28:37,300 At iyon ay sa dulo ng ang bawat salita na iyong pag-iimbak. 657 00:28:37,300 --> 00:28:41,170 Kaya kung gusto naming malaman ang haba ng isang string, maaari naming sabihin, 658 00:28:41,170 --> 00:28:45,320 well, alam mo na, ang mga nilalaman ng na-block 659 00:28:45,320 --> 00:28:46,867 ay hindi kapantay sa aming mga null Terminator. 660 00:28:46,867 --> 00:28:49,450 Iyon ay nangangahulugan na mayroong ilang ng character doon na namin ang aktwal na 661 00:28:49,450 --> 00:28:51,540 nagmamalasakit sa na bahagi ng salita. 662 00:28:51,540 --> 00:28:52,665 Dagdagan mo ang iyong haba. 663 00:28:52,665 --> 00:28:55,540 At pagkatapos ay kapag namin talagang makapunta sa sa dulo ng salita, magkakaroon ito wakasan 664 00:28:55,540 --> 00:28:58,790 at makikita ito bumalik sa aming mga haba para sa amin. 665 00:28:58,790 --> 00:29:00,098 Mmhmm? 666 00:29:00,098 --> 00:29:02,906 >> MAG-AARAL: Sinusuportahan ba ng espasyo mabibilang na ang null Terminator? 667 00:29:02,906 --> 00:29:04,780 Allison: Kaya isang puwang ay hindi isang null Terminator. 668 00:29:04,780 --> 00:29:10,590 Kaya kung mayroon kang multiple-- ng isang puwang ay talagang isang tukoy na halaga na ASCII. 669 00:29:10,590 --> 00:29:11,719 670 00:29:11,719 --> 00:29:13,552 MAG-AARAL: Ano ang tandang katumbas muli? 671 00:29:13,552 --> 00:29:17,080 Allison: Kaya, ito ay kung ano ang sumangguni ka sa. 672 00:29:17,080 --> 00:29:21,220 Kung sakaling narinig mo ako sa mga oras ng opisina, Palagi akong tawagan ito, tulad ng, putok ay katumbas ng. 673 00:29:21,220 --> 00:29:23,520 Kaya putok ay hindi. 674 00:29:23,520 --> 00:29:25,370 Kaya ito ay hindi katumbas. 675 00:29:25,370 --> 00:29:28,480 676 00:29:28,480 --> 00:29:32,290 Kaya kung sinusubukan mong makita kung ang isang bagay ay hindi totoo, 677 00:29:32,290 --> 00:29:35,915 Alam mo rin itong gawin, bang anumang ang variable, at kung ito ay hindi totoo, 678 00:29:35,915 --> 00:29:38,540 ito ay sinusuri sa totoo at mo ang magagawa ng magagandang bagay sa iyon. 679 00:29:38,540 --> 00:29:39,830 680 00:29:39,830 --> 00:29:40,675 Higit pa sa na sa ibang pagkakataon. 681 00:29:40,675 --> 00:29:42,090 682 00:29:42,090 --> 00:29:42,590 Ayos. 683 00:29:42,590 --> 00:29:44,260 Ang lahat ng magandang doon? 684 00:29:44,260 --> 00:29:44,760 Kahanga-hanga. 685 00:29:44,760 --> 00:29:48,045 >> Kaya ngayon ay oras na iyong guys 'upang magtrabaho, dahil ako ng pakikipag-usap. 686 00:29:48,045 --> 00:29:49,220 687 00:29:49,220 --> 00:29:53,200 Kaya gusto ko sa iyo upang lumikha lamang ng isang array may integer isa, dalawa, at tatlo, 688 00:29:53,200 --> 00:29:54,660 at pagkatapos na sila naka-print out. 689 00:29:54,660 --> 00:29:58,050 Hindi mo na kailangang gawin, gaya ng, pangunahing, blah, blah, blah, kahit ano. 690 00:29:58,050 --> 00:30:00,840 Gusto ko lang sa iyo na simulan ang ang array at pagkatapos ay lumikha 691 00:30:00,840 --> 00:30:04,790 isang para sa loop upang i-print ang mga ito out-- o habang loop, na nakasalalay sa iyo. 692 00:30:04,790 --> 00:30:07,600 >> Kukunin ko na lang magbibigay sa iyo ng ilang minuto upang gumana sa na. 693 00:30:07,600 --> 00:30:09,320 Pupunta ako sa pamamahinga ang aking boses. 694 00:30:09,320 --> 00:30:13,290 Kung mayroon kang anumang mga katanungan, Ikinagagalak kong darating sa paligid at makipag-usap sa iyo guys. 695 00:30:13,290 --> 00:30:15,290 Huwag mag-atubiling makipag-usap sa isa't isa. 696 00:30:15,290 --> 00:30:16,125 Kumuha ng higit pang kendi. 697 00:30:16,125 --> 00:30:17,181 698 00:30:17,181 --> 00:30:18,930 Sa katunayan, idedetalye ko lamang maglakad sa paligid na may kendi. 699 00:30:18,930 --> 00:30:19,600 Paano iyan? 700 00:30:19,600 --> 00:30:22,974 701 00:30:22,974 --> 00:30:23,938 >> Huwag mo gusto ang anumang? 702 00:30:23,938 --> 00:30:34,703 703 00:30:34,703 --> 00:30:36,675 Sinumang iba pa sa kuwartong ito gusto kendi? 704 00:30:36,675 --> 00:30:47,030 705 00:30:47,030 --> 00:30:49,206 Maaari ka ring kumuha ng higit pa sa isa, guys. 706 00:30:49,206 --> 00:30:50,330 Kumuha ng isang maliit na bilang kung gusto mo. 707 00:30:50,330 --> 00:30:52,690 708 00:30:52,690 --> 00:30:53,190 Mayo pati na rin. 709 00:30:53,190 --> 00:30:54,929 710 00:30:54,929 --> 00:30:55,720 Lahat ng iba pa magandang? 711 00:30:55,720 --> 00:30:57,561 712 00:30:57,561 --> 00:30:58,060 OK. 713 00:30:58,060 --> 00:31:02,750 714 00:31:02,750 --> 00:31:07,290 >> Gayundin, pupunta ako upang lumikha ng isang hindi nakikilalang Google Form, 715 00:31:07,290 --> 00:31:09,830 at guys maaari lamang isumite feedback pagkatapos ng bawat seksyon 716 00:31:09,830 --> 00:31:14,115 kung mayroong isang bagay na nais mong mapabuti sa o isang bagay na gusto mong tapos. 717 00:31:14,115 --> 00:31:17,135 Kung Isa akong maliit na masyadong masigla para sa iyo, maaari kong tono ito pababa. 718 00:31:17,135 --> 00:31:18,510 719 00:31:18,510 --> 00:31:20,885 Kukunin ko lumikha na at ipadala na sa iyo ang lahat pagkatapos. 720 00:31:20,885 --> 00:32:39,420 721 00:32:39,420 --> 00:32:40,020 >> Lahat ng karapatan. 722 00:32:40,020 --> 00:32:41,050 Kaya magsimula ng maliit na ipaalam. 723 00:32:41,050 --> 00:32:42,740 Paano namin simulan ang aming mga array? 724 00:32:42,740 --> 00:32:49,690 725 00:32:49,690 --> 00:32:51,670 Ano ang uri ng aming array? 726 00:32:51,670 --> 00:32:52,410 Isang int, i-right? 727 00:32:52,410 --> 00:32:54,740 OK, kaya kung ano ang gusto mo upang tawagan ang iyong array? 728 00:32:54,740 --> 00:32:57,880 729 00:32:57,880 --> 00:32:59,230 Int array, cool. 730 00:32:59,230 --> 00:33:04,200 Ang lahat ng mga karapatan, sa gayon mayroon kaming int int array katumbas, at ano ang mayroon kami pagkatapos na? 731 00:33:04,200 --> 00:33:07,009 732 00:33:07,009 --> 00:33:08,259 MAG-AARAL: [hindi marinig] mga braket. 733 00:33:08,259 --> 00:33:09,140 Allison: brace. 734 00:33:09,140 --> 00:33:10,330 735 00:33:10,330 --> 00:33:11,775 At pagkatapos ay sa loob ng brace? 736 00:33:11,775 --> 00:33:14,360 737 00:33:14,360 --> 00:33:16,830 Isang kuwit dalawang kuwit tatlo. 738 00:33:16,830 --> 00:33:17,330 Ayos. 739 00:33:17,330 --> 00:33:18,660 Kaya na ang lahat ng karapatan. 740 00:33:18,660 --> 00:33:21,480 Kaya ngayon ay may namin ang aming para sa loop. 741 00:33:21,480 --> 00:33:24,180 Kaya sa unang bahagi ng aming para sa loop, ano ang mayroon kaming? 742 00:33:24,180 --> 00:33:25,796 743 00:33:25,796 --> 00:33:27,420 >> MAG-AARAL: i ay katumbas ng 0? 744 00:33:27,420 --> 00:33:31,400 >> Allison: Kaya int i katumbas ng 0, at pagkatapos ay kung ano ang ating kalagayan? 745 00:33:31,400 --> 00:33:33,750 746 00:33:33,750 --> 00:33:36,120 Ano ang i pagpunta sa mas mababa kaysa? 747 00:33:36,120 --> 00:33:39,510 Mas mababa sa tatlo, at kung paano namin i-update namin i? 748 00:33:39,510 --> 00:33:41,630 i plus plus, ina-update ito sa pamamagitan ng isa. 749 00:33:41,630 --> 00:33:46,150 At pagkatapos kami ay pagpunta sa may ilang printf ng integer, 750 00:33:46,150 --> 00:33:49,530 at ano ang huling na bahagi na talaga 751 00:33:49,530 --> 00:33:51,370 pagpunta sa sabihin kung ano ang dapat na pini-print namin? 752 00:33:51,370 --> 00:33:55,610 753 00:33:55,610 --> 00:33:59,120 Ito ay magiging ang pangalan ng array, na kung saan ay int array, tama? 754 00:33:59,120 --> 00:34:01,090 At kung ano ang nasa bracket ng int array? 755 00:34:01,090 --> 00:34:02,540 756 00:34:02,540 --> 00:34:03,640 i. 757 00:34:03,640 --> 00:34:06,550 [? Kaya ako?] Na tinatawag na aking Halimbawa, ngunit may kang pumunta. 758 00:34:06,550 --> 00:34:07,939 759 00:34:07,939 --> 00:34:08,480 Hindi na masama. 760 00:34:08,480 --> 00:34:09,250 Ang bawat tao'y magandang? 761 00:34:09,250 --> 00:34:10,220 762 00:34:10,220 --> 00:34:10,719 Ayos. 763 00:34:10,719 --> 00:34:12,949 764 00:34:12,949 --> 00:34:14,340 >> Kaya tapos na kami sa array. 765 00:34:14,340 --> 00:34:15,190 Binabati kita. 766 00:34:15,190 --> 00:34:18,274 Pinamamahalaang ka na umulit sa lahat the-- yes? 767 00:34:18,274 --> 00:34:19,705 >> MAG-AARAL: [hindi marinig] 768 00:34:19,705 --> 00:34:20,659 >> Allison: Oo. 769 00:34:20,659 --> 00:34:26,383 770 00:34:26,383 --> 00:34:27,798 >> MAG-AARAL: Mayroon akong tanong. 771 00:34:27,798 --> 00:34:30,288 Ay dapat mong i-indent ang brace? 772 00:34:30,288 --> 00:34:34,150 >> Allison: Kaya dapat line up ang brace may para sa loop, at pagkatapos ang lahat ng bagay 773 00:34:34,150 --> 00:34:35,699 sa loob ng brace ay dapat na naka-indent. 774 00:34:35,699 --> 00:34:37,824 >> MAG-AARAL: OK, dapat ang para sa loop ay naka-indent? 775 00:34:37,824 --> 00:34:41,159 >> Allison: Ang para sa loop ay hindi kailangang naka-indent sa puntong ito. 776 00:34:41,159 --> 00:34:46,750 Kung ikaw ay sa pangunahing, kung namin talaga nagkaroon dito ng isang pangunahing pag-andar, 777 00:34:46,750 --> 00:34:48,929 ito ay naka-indent mula sa pangunahing. 778 00:34:48,929 --> 00:34:52,590 Ngunit sa kasong ito, ito ay multa. 779 00:34:52,590 --> 00:34:53,354 Oo, pinag-uusapan. 780 00:34:53,354 --> 00:34:55,687 >> MAG-AARAL: Kailangan mong magkaroon ng ang mga bracket pagkatapos halimbawa? 781 00:34:55,687 --> 00:34:59,050 782 00:34:59,050 --> 00:35:01,260 >> Allison: Oo, kung ikaw ay Sinisimulan ito na paraan. 783 00:35:01,260 --> 00:35:03,430 784 00:35:03,430 --> 00:35:06,860 Kaya tandaan, ito ay ang pangalawang paraan ng Sinisimulan ang isang array kung saan 785 00:35:06,860 --> 00:35:10,680 Mayroon namin ang brace at pagkatapos ay ang aming aktwal na data pinaghihiwalay ng mga kuwit sa loob. 786 00:35:10,680 --> 00:35:14,700 787 00:35:14,700 --> 00:35:17,281 >> MAG-AARAL: Akala ko mayroong bracket halimbawa iyon. 788 00:35:17,281 --> 00:35:19,010 >> Allison: Hindi, ang mga ito ay brace. 789 00:35:19,010 --> 00:35:20,039 Sila brace. 790 00:35:20,039 --> 00:35:22,330 Kung naka-Sinisimulan ito ang pangalawang paraan, brace. 791 00:35:22,330 --> 00:35:28,780 Kung kami ay upang sabihin, int example-- kung Nais ka lamang namin ang isang walang laman na hanay para sa ints, 792 00:35:28,780 --> 00:35:32,270 magiging int Halimbawa bracket tatlo. 793 00:35:32,270 --> 00:35:34,670 Ang mga bracket ay kumakatawan sa laki. 794 00:35:34,670 --> 00:35:36,720 Kapag mayroon kang brace, ito ang aktwal na data 795 00:35:36,720 --> 00:35:39,244 naglalagay ka ng sa ito sa ganitong paraan. 796 00:35:39,244 --> 00:35:40,535 Maaari kaming mag-scroll pabalik talagang mabilis. 797 00:35:40,535 --> 00:35:42,370 798 00:35:42,370 --> 00:35:48,010 >> Kaya sa isang ito, ito lamang ang aming paunang array, pagsisimula. 799 00:35:48,010 --> 00:35:51,640 At dito, kami ay isa-isa nagtatalaga ng mga spot sa kanila, 800 00:35:51,640 --> 00:35:56,730 kaya ito ay kumakatawan sa index ng aming mga array, na ang dahilan kung bakit mayroon kaming mga bracket. 801 00:35:56,730 --> 00:36:01,630 Ngunit dito, kung napansin mo, hindi namin Umalis aming mga bracket walang sukat, 802 00:36:01,630 --> 00:36:05,969 at initialize namin ito sa aktwal na data ng lahat-ng-sa-isa na may brace. 803 00:36:05,969 --> 00:36:08,260 MAG-AARAL: Kaya bakit hindi mayroon kami bracket sa halimbawang ito? 804 00:36:08,260 --> 00:36:11,030 Allison: Kaya, kung saan bahagi? 805 00:36:11,030 --> 00:36:14,645 MAG-AARAL: Gusto hindi namin sabihin nating, int Halimbawa bracket 806 00:36:14,645 --> 00:36:19,710 ay katumbas ng brace [hindi marinig] bracket halimbawa. 807 00:36:19,710 --> 00:36:20,900 >> Allison: Oh, paumanhin. 808 00:36:20,900 --> 00:36:21,560 Tama ka. 809 00:36:21,560 --> 00:36:22,690 Kaming may mga bracket. 810 00:36:22,690 --> 00:36:23,486 Paumanhin guys, ang aking masama. 811 00:36:23,486 --> 00:36:25,150 812 00:36:25,150 --> 00:36:27,560 Oo, dapat kang magkaroon ng bracket pagkatapos halimbawa. 813 00:36:27,560 --> 00:36:28,850 Ikaw ay walang pasubali karapatan. 814 00:36:28,850 --> 00:36:29,750 >> MAG-AARAL: [hindi marinig] hindi ginagawa ito. 815 00:36:29,750 --> 00:36:31,270 >> Allison: Hindi, mayroon kang magkaroon ng bracket, dahil kung hindi man ito 816 00:36:31,270 --> 00:36:32,810 Hindi pagpunta na idedeklara isang array. 817 00:36:32,810 --> 00:36:33,685 MAG-AARAL: [hindi marinig]. 818 00:36:33,685 --> 00:36:34,200 Paumanhin tungkol doon. 819 00:36:34,200 --> 00:36:36,200 >> Allison: Paumanhin, kailangan mong bracket pagkatapos halimbawa. 820 00:36:36,200 --> 00:36:36,620 821 00:36:36,620 --> 00:36:37,120 Typo. 822 00:36:37,120 --> 00:36:40,650 823 00:36:40,650 --> 00:36:43,160 Magandang catch, gold star para sa iyo. 824 00:36:43,160 --> 00:36:47,730 Gayundin, kung ikaw ay humihiling ng isang katanungan, kung mo guys nais sabihin lang sa akin ang iyong pangalan, 825 00:36:47,730 --> 00:36:48,570 Gusto kong iyon. 826 00:36:48,570 --> 00:36:50,630 Gusto ko iyan magagawang Alam lahat ng iyong mga pangalan. 827 00:36:50,630 --> 00:36:53,187 Hindi ako pupunta sa malamig tumawag sa iyo, ako talaga 828 00:36:53,187 --> 00:36:54,520 nais lamang na malaman ang iyong pangalan. 829 00:36:54,520 --> 00:36:57,530 Kaya mangyaring talagang sabihin sa akin ang iyong pangalan. 830 00:36:57,530 --> 00:36:58,426 >> Leah: Leah. 831 00:36:58,426 --> 00:36:59,340 >> Allison: Leah. 832 00:36:59,340 --> 00:37:03,960 OK, kaya functions-- alam ko sa maikling usapan nila tungkol sa panahon ng panayam. 833 00:37:03,960 --> 00:37:07,590 Kaya function ay uri ng lamang tulad ng mga ito maliit na bagay na kagat-laki 834 00:37:07,590 --> 00:37:11,525 kung saan pumasa ka sa input, isang bagay mahiwagang mangyayari, at makakuha ka output. 835 00:37:11,525 --> 00:37:12,680 836 00:37:12,680 --> 00:37:13,180 Ayos. 837 00:37:13,180 --> 00:37:15,013 Kaya na aktwal mong ginamit ng marami sa mga ito nagagawa. 838 00:37:15,013 --> 00:37:15,970 839 00:37:15,970 --> 00:37:18,840 Kumuha ng int, kumuha ng string, i-print f. 840 00:37:18,840 --> 00:37:21,790 Ito ang lahat ng mga function kung saan tawagan ka lamang sa kanila, 841 00:37:21,790 --> 00:37:24,370 mayroong maraming mga mahiwagang mga bagay nagaganap sa background 842 00:37:24,370 --> 00:37:27,390 hindi mo na kinakailangang makita, at kang makakuha ng kung ano ang gusto mo. 843 00:37:27,390 --> 00:37:30,280 O hindi bababa sa kang makakuha ng kung ano ang inaasahan mo gusto. 844 00:37:30,280 --> 00:37:31,920 845 00:37:31,920 --> 00:37:35,620 >> At isa lamang ang punto ng pag-andar, at isa sa mga pangunahing tema ng CS, 846 00:37:35,620 --> 00:37:38,700 ay upang buksan ang iyong code sa pamahalaang piraso. 847 00:37:38,700 --> 00:37:41,520 Kapag sinimulan mo ang pagsusulat mga talagang mahaba ang mga programa, 848 00:37:41,520 --> 00:37:44,970 o sa scratch kapag nagkaroon ka ng ito enggrandeng ideya para sa isang laro, 849 00:37:44,970 --> 00:37:48,070 kailangan mo upang magawang masira ito pababa sa, tulad ng, OK, paano ako magsisimula? 850 00:37:48,070 --> 00:37:50,470 Ano ang mga maliit na piraso na kailangan ko? 851 00:37:50,470 --> 00:37:53,320 Oh, kailangan ko upang hilingin sa user para sa isang bagay. 852 00:37:53,320 --> 00:37:54,830 Ngayon ay kailangan kong i-print ang isang bagay. 853 00:37:54,830 --> 00:37:56,590 Oh, kailangan ko upang makalkula ang halaga na ito. 854 00:37:56,590 --> 00:38:00,050 >> At pag-aaral kung paano masira up ang iyong code at ang malaking problema mo 855 00:38:00,050 --> 00:38:02,740 mayroon sa mga maliliit na piraso at lumilikha ng mga pag-andar 856 00:38:02,740 --> 00:38:05,330 ay talagang isa sa mga malaki cornerstones ng CS. 857 00:38:05,330 --> 00:38:06,440 858 00:38:06,440 --> 00:38:11,740 Kaya maaari mong isipin ang isang function tulad ng tulad ng isang itim na kahon, isang mahiwagang itim na kahon, 859 00:38:11,740 --> 00:38:15,030 na maglagay ka ng mga bagay sa at kang makakuha ng ilang output. 860 00:38:15,030 --> 00:38:16,290 861 00:38:16,290 --> 00:38:19,460 At ang natitira sa programa Hindi kailangang kinakailangang alam 862 00:38:19,460 --> 00:38:21,150 kung ano ang nangyayari sa loob ng itim na kahon. 863 00:38:21,150 --> 00:38:24,190 Ang lahat ng mga ito na pinahahalagahan ng tungkol sa kung ano napupunta sa at kung ano ay out. 864 00:38:24,190 --> 00:38:26,230 865 00:38:26,230 --> 00:38:26,730 Ayos. 866 00:38:26,730 --> 00:38:27,820 >> Kaya bakit function? 867 00:38:27,820 --> 00:38:33,240 Organization-- ng sinabi ko, kapag handa ka pagharap sa napakalaking bases code, 868 00:38:33,240 --> 00:38:37,357 kung paano mo ayusin ang iyong mga code ay mas madali kung gumamit ka ng mga pag-andar. 869 00:38:37,357 --> 00:38:39,190 Dahil magagawa mong maging, tulad ng, OK ito, 870 00:38:39,190 --> 00:38:41,849 ay kung ano ang ginagawa ang function na ito at narito ang kung ano ang ginagawa ng isa pa. 871 00:38:41,849 --> 00:38:43,890 At madali mong makita kung paano ang lahat ng mga ito magkasya sama-sama. 872 00:38:43,890 --> 00:38:45,590 873 00:38:45,590 --> 00:38:48,210 Kaya hatiin ang mga ito sa lahat ng ang mga pamahalaang subparts. 874 00:38:48,210 --> 00:38:51,860 >> Kaya simplification-- ako sigurado ka guys Nakita ang lahat ng ito, tulad ng sinabi ko, sa scratch. 875 00:38:51,860 --> 00:38:53,230 876 00:38:53,230 --> 00:38:56,790 Mayroon kang ito enggrandeng ideya, at ikaw ay tulad ng, kung paano gumagana ang lahat ng ito gumagana? 877 00:38:56,790 --> 00:38:59,710 Ngunit kung paparating ka ito unti-unti, sabihin mo, OK, 878 00:38:59,710 --> 00:39:03,650 paano ko gumawa ng isa engkanto lumutang sa screen? 879 00:39:03,650 --> 00:39:04,805 Iyon Medyo mas madali. 880 00:39:04,805 --> 00:39:06,000 881 00:39:06,000 --> 00:39:09,590 Kaya mabuting paggamit ng function na ginagawang ang iyong code mas madaling basahin. 882 00:39:09,590 --> 00:39:13,800 Ginagawang mas madali upang i-debug na bilang makakuha ka sa iyong mamaya mga hanay ng problema, 883 00:39:13,800 --> 00:39:15,900 na iyong pupuntahan talaga Gusto upang magawa. 884 00:39:15,900 --> 00:39:17,900 At ang mga ito ay din mas madali upang magdisenyo at magpatupad. 885 00:39:17,900 --> 00:39:21,100 Maaari mong Code up ng isang maliit na function na medyo mabilis 886 00:39:21,100 --> 00:39:25,260 at tiyakin na ito ay gumagana kumpara sa sinusubukan upang likhain ang buong haba programa 887 00:39:25,260 --> 00:39:28,960 at pagkatapos ay uri ng pumunta sa pamamagitan ng at makita kung ano ang gumagana at ano ang hindi. 888 00:39:28,960 --> 00:39:30,300 >> At pagkatapos ay reusability. 889 00:39:30,300 --> 00:39:33,380 Kaya kailangan mo na lang pag-andar na nakasulat isang beses, 890 00:39:33,380 --> 00:39:35,586 at pagkatapos ay maaari mong gamitin ang mga ito nang maraming beses hangga't maaari. 891 00:39:35,586 --> 00:39:37,210 Kaya, tulad ng, eco-friendly sa isang katuturan. 892 00:39:37,210 --> 00:39:39,660 893 00:39:39,660 --> 00:39:42,070 Kung nagkaroon ka ng mga bagay tulad ng naka-print na f, kung saan mo 894 00:39:42,070 --> 00:39:47,420 Nagkaroon upang isulat ang magic na napupunta sa likod-print f bawat solong oras 895 00:39:47,420 --> 00:39:51,040 na gusto mo upang i-print ang isang bagay, mo ay magiging kaakit-akit na may sakit at pagod ng mga ito 896 00:39:51,040 --> 00:39:51,650 sa katapusan. 897 00:39:51,650 --> 00:39:52,660 898 00:39:52,660 --> 00:39:55,292 >> Isa sa mga bagay na ikaw ay matuto sa CS klase sa ibang pagkakataon, 899 00:39:55,292 --> 00:39:57,000 o isa sa mga pinakamahusay na piraso ng payo na nakukuha ko 900 00:39:57,000 --> 00:40:00,870 ay, kung ikaw ay pagkopya at pag-paste code, dapat marahil ito ay isang function. 901 00:40:00,870 --> 00:40:01,880 902 00:40:01,880 --> 00:40:06,007 Kung mayroon kang eksaktong parehong mga linya sa lahat sa iyong buong code, 903 00:40:06,007 --> 00:40:08,090 kung isinasali mo ang mga ito, ang iyong code gagawin marahil 904 00:40:08,090 --> 00:40:11,860 maging, tulad ng, limang beses mas maikli at maging mas madaling basahin. 905 00:40:11,860 --> 00:40:15,230 At sa halip na sinusubukang upang i-troubleshoot lahat ng mga iba't-ibang mga lugar kung saan bagay 906 00:40:15,230 --> 00:40:18,021 maaaring magkamali, mayroon kang isang function na na makakakuha ka ng upang i-troubleshoot. 907 00:40:18,021 --> 00:40:19,230 908 00:40:19,230 --> 00:40:21,890 At nangangako ako, ng maraming ito Maaaring mukhang ngayon uri ng abstract, 909 00:40:21,890 --> 00:40:24,620 ngunit habang ikaw ay sa ibang pagkakataon at problema sa ibang pagkakataon Nagtatakda, 910 00:40:24,620 --> 00:40:28,950 Makikita ito gumawa ng maraming higit pang mga kahulugan at talagang mabubo bahay. 911 00:40:28,950 --> 00:40:31,775 Mayroon bang anumang mga katanungan tungkol sa mga pag-andar sa ngayon? 912 00:40:31,775 --> 00:40:32,650 Bakit ginagamit namin ang mga ito? 913 00:40:32,650 --> 00:40:34,775 Alam ko hindi namin nakuha sa kutuhin magaspang pa. 914 00:40:34,775 --> 00:40:40,610 Kaya pagtukoy sa isang function-- tulad ng array, kailangan namin ng ilang uri-uriin of-- ito 915 00:40:40,610 --> 00:40:41,860 lamang ng pangkalahatang output. 916 00:40:41,860 --> 00:40:45,110 Kaya ito ay isang function na lamang ng pagpunta sa Cube ilang mga input. 917 00:40:45,110 --> 00:40:50,120 At sa susunod na pahina, talaga, mayroon kaming lahat ng mga kahanga-hangang maliit na bagay dito. 918 00:40:50,120 --> 00:40:52,420 Kaya, maaari lahat basahin na, sa labas ng pag-usisa? 919 00:40:52,420 --> 00:40:55,050 Alam ko ang mga lilang at itim ay maaaring maging isang maliit na mahirap. 920 00:40:55,050 --> 00:41:00,730 >> Ngunit malaking bagay na know-- kaya ang unang isa dito mismo ay ang aming uri ng binalik. 921 00:41:00,730 --> 00:41:05,270 Kaya ito ay pakikipag-usap tungkol sa output ng function na ito kapag, sa kasong ito, 922 00:41:05,270 --> 00:41:08,990 naming ilagay sa ilang mga numero, kung ano ang hindi namin pagkuha ay ang bilang nakakubo. 923 00:41:08,990 --> 00:41:11,090 Kaya dapat itong maging isang int sa kasong ito. 924 00:41:11,090 --> 00:41:14,055 Siguro magiging isang double o ibang bagay sa ibang pagkakataon, ngunit sa kasong ito, 925 00:41:14,055 --> 00:41:14,555 ito ay isang int. 926 00:41:14,555 --> 00:41:15,620 927 00:41:15,620 --> 00:41:19,440 >> Sa c, palagi kailangan ng isang uri ng return. 928 00:41:19,440 --> 00:41:20,267 Ito ay isang int. 929 00:41:20,267 --> 00:41:20,975 Makikita ito ay isang float. 930 00:41:20,975 --> 00:41:22,180 Makikita ito ay isang double. 931 00:41:22,180 --> 00:41:25,370 Ngunit mayroon kang tukuyin kung ano function na ito ay pagpunta upang bumalik. 932 00:41:25,370 --> 00:41:26,480 933 00:41:26,480 --> 00:41:29,170 Kung hindi man ito ay sumigaw sa iyo, at hindi ito ay sumulat ng libro. 934 00:41:29,170 --> 00:41:30,462 Makikita mo Malulungkot, at magpapadala ako maging malungkot. 935 00:41:30,462 --> 00:41:31,420 At ito ay hindi lamang mabuting. 936 00:41:31,420 --> 00:41:31,940 OK. 937 00:41:31,940 --> 00:41:34,290 >> At pagkatapos ay may namin ang aming pangalan ng function. 938 00:41:34,290 --> 00:41:38,440 At tulad ng maaari mong makita dito, na may c may ito napaka pare-pareho tularan. 939 00:41:38,440 --> 00:41:42,630 Ano ang iyong uri, ano ang pangalan, at pagkatapos ay ilang iba pang mga bagay sa dulo. 940 00:41:42,630 --> 00:41:45,550 Kaya mayroon namin ang aming mga uri ng return, aming pangalan ng function, at pagkatapos ay 941 00:41:45,550 --> 00:41:49,320 mayroon kaming header sa ang aming listahan ng parameter. 942 00:41:49,320 --> 00:41:52,080 >> Kaya sa listahan ng parameter ay, kung ano ang function na ito ng pagpunta sa tumagal in? 943 00:41:52,080 --> 00:41:56,360 Isang listahan ng parameter ay lamang ng isang kasingkahulugan para sa, ano ang aming input? 944 00:41:56,360 --> 00:42:00,230 At sa parehong paraan na aming Mayroon upang tukuyin ang aming mga 945 00:42:00,230 --> 00:42:03,210 at bigyan ito ng isang pagbalik -type, sa bawat isa sa aming mga input 946 00:42:03,210 --> 00:42:05,350 Kailangang magkaroon ng isang uri na nauugnay dito. 947 00:42:05,350 --> 00:42:08,850 Upang malaman namin kung ano ang aming mga Maaari talagang gumagana sa. 948 00:42:08,850 --> 00:42:11,290 >> Kaya sa kasong ito, mayroon kaming ilang mga input int. 949 00:42:11,290 --> 00:42:14,660 Kaya muli, ito ay magiging uri at kung ano ang iyong pagtawag dito. 950 00:42:14,660 --> 00:42:16,500 951 00:42:16,500 --> 00:42:19,040 At pagkatapos, tulad ng nakikita mo dito, mayroon kaming aming katawan. 952 00:42:19,040 --> 00:42:23,600 Kaya mayroon kaming ilang mga int output, na lamang ang aming mga oras mismo ng pag-input 953 00:42:23,600 --> 00:42:25,810 mismo beses, na cube lamang ito. 954 00:42:25,810 --> 00:42:27,610 At pagkatapos ay bumalik namin na output. 955 00:42:27,610 --> 00:42:32,140 >> Kaya bilang na iyong nakikita dito, mayroon kaming isang int beses sa isang int beses sa isang int, 956 00:42:32,140 --> 00:42:35,420 kaya nagbalik ito sa isang int, na Na-ipinahayag doon. 957 00:42:35,420 --> 00:42:38,240 Kaya lahat ay cohesive. 958 00:42:38,240 --> 00:42:39,210 Lahat ay masaya. 959 00:42:39,210 --> 00:42:40,250 Ang iyong pag-andar tatakbo. 960 00:42:40,250 --> 00:42:41,192 961 00:42:41,192 --> 00:42:42,650 At ito ay isa lamang sa pangkalahatang bagay. 962 00:42:42,650 --> 00:42:46,750 Kaya palagi kang mayroong uri ng return, pangalan, at ang iyong listahan ng parameter. 963 00:42:46,750 --> 00:42:48,830 Ang bawat bagay sa iyong listahan parameter, o input, 964 00:42:48,830 --> 00:42:51,410 Kailangang magkaroon ng isang uri na nauugnay dito. 965 00:42:51,410 --> 00:42:54,210 At pagkatapos ay mayroon kang ang iyong katawan dito sa anumang 966 00:42:54,210 --> 00:42:55,590 ang gusto mong gawin sa iyong input. 967 00:42:55,590 --> 00:42:57,390 968 00:42:57,390 --> 00:43:00,410 >> At pagkatapos ay malinaw naman sa iyo Gusto upang magbalik ng bagay. 969 00:43:00,410 --> 00:43:02,630 Minsan ay magbabalik lamang ang mga pag-andar. 970 00:43:02,630 --> 00:43:06,090 Hindi sila aktwal na bumalik isang bagay na para sa iyo upang gamitin. 971 00:43:06,090 --> 00:43:08,660 Ngunit mayroon kang upang bumalik sa ilang mga paraan. 972 00:43:08,660 --> 00:43:12,900 At kapag nagsasagawa ka ng ang iyong sariling mga pag-andar, 973 00:43:12,900 --> 00:43:15,430 maaari naming makuha sa na ang isang maliit na mas malalim. 974 00:43:15,430 --> 00:43:18,880 Personal, kung nais mong, may mga marami ng iba't ibang mga bagay na maaari mong gawin doon. 975 00:43:18,880 --> 00:43:21,350 976 00:43:21,350 --> 00:43:22,140 Ang bawat tao'y magandang? 977 00:43:22,140 --> 00:43:25,900 Anumang bagay sa listahan na ito na sa akin na gusto mong upang pumunta sa ibabaw, na hindi mo naintindihan? 978 00:43:25,900 --> 00:43:27,204 979 00:43:27,204 --> 00:43:28,120 Ang bawat tao'y Magandang doon? 980 00:43:28,120 --> 00:43:29,071 981 00:43:29,071 --> 00:43:29,570 Ayos. 982 00:43:29,570 --> 00:43:31,350 983 00:43:31,350 --> 00:43:32,120 Kahanga-hanga. 984 00:43:32,120 --> 00:43:34,700 >> OK, kaya namin ang paglalagay ng lahat ng sama-sama na ito ngayon. 985 00:43:34,700 --> 00:43:35,720 986 00:43:35,720 --> 00:43:41,201 Kaya mayroon kaming ilang mga input int kubo, kaya ito ay isang kumpletong programa dito. 987 00:43:41,201 --> 00:43:42,950 Hanggang ngayon, na hindi ko na uri ng na-nagbibigay sa iyo 988 00:43:42,950 --> 00:43:45,699 guys mga snippet na maaari ay pagpunta sa loob ng program. 989 00:43:45,699 --> 00:43:47,240 Kami lang na pagtingin sa mga pag-andar. 990 00:43:47,240 --> 00:43:48,448 Ngunit narito ang isang buong programa. 991 00:43:48,448 --> 00:43:49,400 992 00:43:49,400 --> 00:43:53,690 Kaya kung gaano karaming mo matandaan ang salita prototype mula sa aralin? 993 00:43:53,690 --> 00:43:54,750 994 00:43:54,750 --> 00:43:55,300 Ayos. 995 00:43:55,300 --> 00:43:55,890 Mayroon kaming isa. 996 00:43:55,890 --> 00:43:57,160 997 00:43:57,160 --> 00:43:58,110 Ano ang inyong pangalan? 998 00:43:58,110 --> 00:43:58,850 >> Steph: Steph. 999 00:43:58,850 --> 00:43:59,475 >> Allison: Steph? 1000 00:43:59,475 --> 00:44:01,030 OK, kahanga-hangang. 1001 00:44:01,030 --> 00:44:03,310 Kaya, huwag mo matandaan kung ano ang isang prototype ay? 1002 00:44:03,310 --> 00:44:04,651 1003 00:44:04,651 --> 00:44:10,230 >> MAG-AARAL: sabihin mo [hindi marinig] bago mo aktwal na haharapin ang mga ito. 1004 00:44:10,230 --> 00:44:11,700 >> Allison: Huwag mo matandaan kung bakit? 1005 00:44:11,700 --> 00:44:13,158 >> MAG-AARAL: Hindi. 1006 00:44:13,158 --> 00:44:14,620 >> Allison: OK. 1007 00:44:14,620 --> 00:44:16,090 Gold bituin. 1008 00:44:16,090 --> 00:44:19,470 Kaya oo, isang prototype mayroon kami sa simula pa, dahil kung hindi, 1009 00:44:19,470 --> 00:44:21,260 ang aming tagatala ay pagpunta sa sumigaw sa amin. 1010 00:44:21,260 --> 00:44:24,294 Ito ay pagpunta sa sabihin, OK, kung ano ito kubo function na? 1011 00:44:24,294 --> 00:44:26,460 Tulad ng, mo literal na mayroon Sinabi sa akin wala tungkol dito. 1012 00:44:26,460 --> 00:44:28,110 Ito ay tulad ng kapag maglakad papunta sa isang silid-aralan, 1013 00:44:28,110 --> 00:44:29,320 at may isang taong Parang, mayroong isang pagsusulit ngayon. 1014 00:44:29,320 --> 00:44:31,380 At ikaw ay tulad, mo hindi kailanman sinabi sa akin tungkol sa. 1015 00:44:31,380 --> 00:44:32,930 Hindi ako masaya sa amin. 1016 00:44:32,930 --> 00:44:34,300 1017 00:44:34,300 --> 00:44:37,020 Ang prototype ay isa tulad ng ang iyong syllabus sinasabi, hanapin. 1018 00:44:37,020 --> 00:44:37,900 Malaman. 1019 00:44:37,900 --> 00:44:39,570 May pupuntahan maging isang pagsusulit sa araw na ito. 1020 00:44:39,570 --> 00:44:41,420 Huwag taong kakatuwa out kapag nakakuha ka dito. 1021 00:44:41,420 --> 00:44:42,690 Ka ng pagpunta sa maging fine. 1022 00:44:42,690 --> 00:44:48,170 >> Kaya ang lahat ng mga prototype ay ang sabihin sa pangunahing, pupuntahan ko gamitin ang function na ito. 1023 00:44:48,170 --> 00:44:51,010 Nangangako ako ako pagtukoy ito sa ibang pagkakataon. 1024 00:44:51,010 --> 00:44:52,260 Huwag taong kakatuwa out sa akin. 1025 00:44:52,260 --> 00:44:54,750 Mag-compile lang at gawin kung ano ang sinasabi ko sa inyo sa. 1026 00:44:54,750 --> 00:44:58,880 Kaya mayroon namin ang prototype doon upang gumawa lamang ng aming compiler masaya. 1027 00:44:58,880 --> 00:45:04,360 At ito ay isa lamang pangako na na tinukoy mo ang function na ito sa ibang pagkakataon 1028 00:45:04,360 --> 00:45:07,960 at ikaw ay hindi lamang pagtawag ang mga random na bagay na ito 1029 00:45:07,960 --> 00:45:10,070 Hindi alam kung ano ang iyong pagpunta sa ginagawa. 1030 00:45:10,070 --> 00:45:11,910 >> Kaya sa kasong ito, ay may pangunahing dito namin. 1031 00:45:11,910 --> 00:45:14,660 Initialize kami ng ilang mga integer x. 1032 00:45:14,660 --> 00:45:15,620 Iyon ang dalawa. 1033 00:45:15,620 --> 00:45:17,510 Kami ay pagpunta sa i-print kung ano ang x ay. 1034 00:45:17,510 --> 00:45:18,800 Kami ay pagpunta sa Cube x. 1035 00:45:18,800 --> 00:45:21,520 Tulad ng nakikita mo, mayroon kaming aming function na pagpapahayag 1036 00:45:21,520 --> 00:45:23,770 down na dito na namin usapan ang tungkol sa nakaraan. 1037 00:45:23,770 --> 00:45:28,260 Ito Cube x, at pagkatapos ay, kung namin tandaan, ang kubo function na talaga 1038 00:45:28,260 --> 00:45:31,340 Ibinabalik ng isang integer sa amin, na kung saan ay naka-imbak 1039 00:45:31,340 --> 00:45:35,860 sa x muli upang maaari naming i-print out walong, o kubo x ngayon. 1040 00:45:35,860 --> 00:45:37,170 1041 00:45:37,170 --> 00:45:38,920 Ay na magkaroon ng kahulugan sa lahat? 1042 00:45:38,920 --> 00:45:40,360 Humihingi kami ng magandang? 1043 00:45:40,360 --> 00:45:41,160 Lahat ng karapatan. 1044 00:45:41,160 --> 00:45:41,660 Kahanga-hanga. 1045 00:45:41,660 --> 00:45:45,540 1046 00:45:45,540 --> 00:45:46,840 >> Lahat ng karapatan. 1047 00:45:46,840 --> 00:45:50,879 Paano marami sa inyo guys tandaan na ito kaya ito 1048 00:45:50,879 --> 00:45:52,670 ay isa lamang ang iyong stack at ang iyong kimpal, 1049 00:45:52,670 --> 00:45:56,510 lamang ng visualization ng kung paano memorya ay naka-imbak dito. 1050 00:45:56,510 --> 00:45:58,200 1051 00:45:58,200 --> 00:46:01,400 Kaya gusto lamang naming gawin Tiyakin na nauunawaan mo 1052 00:46:01,400 --> 00:46:03,680 kung paano ang mga ito ay kinakatawan sa memory. 1053 00:46:03,680 --> 00:46:07,670 Kung kumuha ka ng mga klase tulad ng CS61 at bagay-bagay sa ibang pagkakataon, 1054 00:46:07,670 --> 00:46:10,570 makakakuha ka upang matuto ito sa ngayon higit pa malalalim na, at ito ay talagang cool. 1055 00:46:10,570 --> 00:46:11,730 Masidhing kong irekomenda ito. 1056 00:46:11,730 --> 00:46:12,740 1057 00:46:12,740 --> 00:46:14,720 Ngunit sa ngayon, Bibigyan kita ng kang malawak na pangkalahatang-ideya 1058 00:46:14,720 --> 00:46:16,950 kaya hindi mo na kailangang mag malaman ang kutuhin magaspang. 1059 00:46:16,950 --> 00:46:20,820 >> Kaya sa itaas lamang ng isang segment ng teksto na naglalaman ng aktwal na mga zero at mga, 1060 00:46:20,820 --> 00:46:23,740 ang binary para dito. 1061 00:46:23,740 --> 00:46:27,510 At ito ay ginagamit para sa pag-iimbak mga pangkalahatang variable kung mayroon kang anumang. 1062 00:46:27,510 --> 00:46:28,870 1063 00:46:28,870 --> 00:46:32,240 Habang ginagalaw mo pababa, namin mayroon, tulad ng nakikita mo rito, 1064 00:46:32,240 --> 00:46:34,670 initialize data, uninitialized data, at pagkatapos ay kimpal. 1065 00:46:34,670 --> 00:46:35,800 1066 00:46:35,800 --> 00:46:38,584 >> Kaya hindi namin talagang makipag-usap tungkol sa kimpal ngayon. 1067 00:46:38,584 --> 00:46:39,500 Makikita namin ito sa ibang pagkakataon. 1068 00:46:39,500 --> 00:46:40,762 1069 00:46:40,762 --> 00:46:42,970 Sa ngayon, lang ako pagpunta sa iwagayway ang aking mga kamay at maging tulad ng, 1070 00:46:42,970 --> 00:46:44,553 hindi mo na kailangang malaman tungkol sa ngayon. 1071 00:46:44,553 --> 00:46:46,100 1072 00:46:46,100 --> 00:46:49,060 Ngunit kami ay makipag-usap ng kaunti bit tungkol sa stack. 1073 00:46:49,060 --> 00:46:53,050 Kaya ang stack ay where-- mayroon kami ng pag-zoom in. 1074 00:46:53,050 --> 00:46:58,590 Ito ay talagang kung paano sa programa Tiningnan lang namin sa nangyayari sa memory. 1075 00:46:58,590 --> 00:47:01,630 >> Kaya kung ano ang mangyayari ay, ang bawat oras tinatawag naming isang function, 1076 00:47:01,630 --> 00:47:04,180 makuha namin kung ano ang tinatawag na stack frame, na kung saan ay isa sa mga ito. 1077 00:47:04,180 --> 00:47:05,870 Kaya mga parameter ng pangunahing iyon. 1078 00:47:05,870 --> 00:47:07,944 Kaya mga ang mga bagay na namin ang pumasa sa pangunahing. 1079 00:47:07,944 --> 00:47:11,110 Kaya ang mga ito dito mismo sa ibaba, dahil iyon ang unang bagay na tinatawag naming. 1080 00:47:11,110 --> 00:47:13,401 At pagkatapos makuha namin sa main ni lokal, at kapag sinabi naming, 1081 00:47:13,401 --> 00:47:15,970 ibig sabihin namin ang mga lokal na variable na naka-imbak sa loob ng pangunahing. 1082 00:47:15,970 --> 00:47:19,950 1083 00:47:19,950 --> 00:47:23,620 Kaya lokal dito ay magiging, tulad ng, x ay katumbas ng dalawa sa kasong ito. 1084 00:47:23,620 --> 00:47:26,350 Dahil na-localize sa pangunahing. 1085 00:47:26,350 --> 00:47:29,745 Tandaan ang lahat ng tao saklaw, pagpunta sa paglipas na sa aralin? 1086 00:47:29,745 --> 00:47:31,517 1087 00:47:31,517 --> 00:47:32,017 OK. 1088 00:47:32,017 --> 00:47:36,110 Kaya, lamang ang mga variable na ay nasimulan sa loob ng pangunahing. 1089 00:47:36,110 --> 00:47:38,550 Kaya na ang dahilan kung bakit mayroon kaming pangunahing [? vocals. ?] 1090 00:47:38,550 --> 00:47:40,390 >> At pagkatapos ay sa loob ng pangunahing, tinatawag naming kubo. 1091 00:47:40,390 --> 00:47:41,000 Mag-right? 1092 00:47:41,000 --> 00:47:44,510 Kaya makuha namin ng isa pang frame may mga parameter ng kubo ni. 1093 00:47:44,510 --> 00:47:47,050 Kaya sa kasong ito, kubo ni mga parameter na ngayon 1094 00:47:47,050 --> 00:47:50,800 ang x na ipinasa namin sa, ang dalawang na namin ang pumasa sa. 1095 00:47:50,800 --> 00:47:55,320 At pagkatapos lokal kubo, na kung saan ang aktwal na cubing mangyayari. 1096 00:47:55,320 --> 00:47:56,450 At pagkatapos nito ay nagbalik. 1097 00:47:56,450 --> 00:48:02,120 >> Kaya kung ano ang mangyayari ay ang mga aktwal na ginagawa kubo kung ano ang dapat gawin, nagbabalik ito. 1098 00:48:02,120 --> 00:48:07,020 Kapag ito ay nagbabalik, frame na ito ay umalis, at ibinalik pababa nito sa pangunahing. 1099 00:48:07,020 --> 00:48:09,160 At pagkatapos ay sa loob ng pangunahing, namin aktwal na maaaring i-print ito. 1100 00:48:09,160 --> 00:48:10,840 1101 00:48:10,840 --> 00:48:14,500 Kaya kapag bumabalik ka ng isang bagay, kapag ang iyong function na ay nagbabalik, 1102 00:48:14,500 --> 00:48:19,900 ito ay gaya ng pagpasa sa mga halaga iyon na ang frame sa ibaba nito at pagkatapos ay umaalis. 1103 00:48:19,900 --> 00:48:22,200 At mga bagay na kailangang isagawa sa pagkakasunud-sunod. 1104 00:48:22,200 --> 00:48:25,550 >> At kapag nakarating ka na sa mas malaking mga programa, Maaari kaming magsagawa ng mas malamig at mas komplikado 1105 00:48:25,550 --> 00:48:26,470 diagram. 1106 00:48:26,470 --> 00:48:29,070 Ngunit sa ngayon, ito ay lamang ng isang pangkalahatang pangkalahatang-ideya 1107 00:48:29,070 --> 00:48:31,110 kaya mayroon kang uri ng isang pag-unawa sa kung ano ang 1108 00:48:31,110 --> 00:48:35,160 ang mangyayari kapag naka-pagtawag ng isang function at kung paano na aktwal na hitsura sa memory. 1109 00:48:35,160 --> 00:48:37,230 1110 00:48:37,230 --> 00:48:37,770 Cool? 1111 00:48:37,770 --> 00:48:38,353 Ang bawat tao'y magandang? 1112 00:48:38,353 --> 00:48:39,920 1113 00:48:39,920 --> 00:48:40,420 Kahanga-hanga. 1114 00:48:40,420 --> 00:48:42,070 1115 00:48:42,070 --> 00:48:50,575 >> Kaya ito ay isa na lamang sinusubukan mong magpalit ng mga bagay. 1116 00:48:50,575 --> 00:48:52,260 1117 00:48:52,260 --> 00:48:54,930 Tulad ng nakikita natin dito, mayroon kaming ang aming mga prototype 1118 00:48:54,930 --> 00:48:56,900 upang ang aming mga compiler ay hindi sumigaw sa amin. 1119 00:48:56,900 --> 00:48:59,220 Mayroon kaming ilang mga pangunahing, at kami Gusto upang lumipat x at y. 1120 00:48:59,220 --> 00:49:00,320 1121 00:49:00,320 --> 00:49:04,129 Hindi nila ginawa ito demo sa pang aralin, ang mga ito? 1122 00:49:04,129 --> 00:49:04,670 Ang mga ito ay hindi? 1123 00:49:04,670 --> 00:49:05,900 OK. 1124 00:49:05,900 --> 00:49:08,450 Kaya kami ay pagpunta sa pumunta sa ibabaw ito napaka maikling. 1125 00:49:08,450 --> 00:49:12,210 Makakakuha ka ng sa halimbawang ito nang higit pa malalalim na, sa palagay ko, sa linggong ito. 1126 00:49:12,210 --> 00:49:15,680 At pagkatapos ay sa susunod na linggo ng aming makakaya talaga sumisid sa kung bakit ito ay hindi gumagana. 1127 00:49:15,680 --> 00:49:18,810 >> Kaya mayroon kaming ito walang silbi magpalitan ng pag-andar here--. 1128 00:49:18,810 --> 00:49:20,720 Kaya walang bisa ay nangangahulugan lamang na walang ibinalik. 1129 00:49:20,720 --> 00:49:22,000 1130 00:49:22,000 --> 00:49:24,110 At mayroon kaming magpalitan int isang int at b. 1131 00:49:24,110 --> 00:49:27,046 At mayroon kaming ilang mga pansamantalang variable na iyon ay isang. 1132 00:49:27,046 --> 00:49:30,050 isang nakakakuha itinalaga sa b, at pagkatapos ay b ay makakakuha ng nakatalaga sa temp 1133 00:49:30,050 --> 00:49:32,235 upang ang isang at b ni halaga ay lumipat ngayon. 1134 00:49:32,235 --> 00:49:33,510 1135 00:49:33,510 --> 00:49:36,030 >> Ngunit, isang lagay ng lupa iuwi sa ibang bagay, ito ay hindi gumagana. 1136 00:49:36,030 --> 00:49:37,390 1137 00:49:37,390 --> 00:49:42,380 At bahagi nito talaga ay ang gagawin sa ang katunayan na ang isang 1138 00:49:42,380 --> 00:49:48,800 at b dito, ang mga taong na makakuha ipinasa sa dito, ay aktwal na kopya ng x at y. 1139 00:49:48,800 --> 00:49:53,220 Kaya kapag aktwal na nagbabalik ang pag-andar, ito Lilipat ang mga kopya ngunit hindi 1140 00:49:53,220 --> 00:49:55,960 ang aktwal na x at y ni. 1141 00:49:55,960 --> 00:50:02,370 Kaya isang paraan upang isipin ang tungkol dito ay magpanggap that-- mga ito ay swap. 1142 00:50:02,370 --> 00:50:03,130 OK? 1143 00:50:03,130 --> 00:50:05,390 Kaya sa pangunahing, mayroon kaming x at y nasimulan. 1144 00:50:05,390 --> 00:50:06,530 1145 00:50:06,530 --> 00:50:10,760 Ngunit kapag aktwal na namin umahon sa mga frame sa swap, 1146 00:50:10,760 --> 00:50:15,740 kami ay pagpasa sa mga halaga sa paglipas ng dito, at sila ay nasimulan. 1147 00:50:15,740 --> 00:50:18,570 >> At nakakaapekto lamang sila nakatira dito mismo. 1148 00:50:18,570 --> 00:50:19,796 Kaya isang at b nakatira dito. 1149 00:50:19,796 --> 00:50:20,670 At sila makakuha swapped. 1150 00:50:20,670 --> 00:50:21,870 1151 00:50:21,870 --> 00:50:26,190 Ngunit kapag bumalik namin, hindi namin gumawa ng anumang bagay na may isang at b. isang 1152 00:50:26,190 --> 00:50:28,980 at b leave sa aming mga function. 1153 00:50:28,980 --> 00:50:30,850 At kaya x at y mananatiling pareho. 1154 00:50:30,850 --> 00:50:31,960 1155 00:50:31,960 --> 00:50:39,665 Makakakuha ka ng higit pa sa kung paano aayusin iyon at kung paano namin aktwal na haharapin ang mga iyon sa ibang pagkakataon. 1156 00:50:39,665 --> 00:50:40,750 1157 00:50:40,750 --> 00:50:43,740 >> Ngunit ito lamang ay isang bagay na sa uri ng tandaan. 1158 00:50:43,740 --> 00:50:45,270 Gamitin ito para sa hinaharap. 1159 00:50:45,270 --> 00:50:48,050 Huwag mag-alala kung na hindi gumawa lahat ng mga kahulugan sa mundo. 1160 00:50:48,050 --> 00:50:49,510 1161 00:50:49,510 --> 00:50:51,440 Ang mga ito ay mga kopya ay ang pinakamalaking bagay. 1162 00:50:51,440 --> 00:50:54,580 Kung gumagamit ka ng pagpunta sa tumagal ng kahit ano layo mula iyon, na ipinasa sa mga kopya. 1163 00:50:54,580 --> 00:50:56,410 Kaya mananatiling pareho ang mga orihinal. 1164 00:50:56,410 --> 00:50:58,170 1165 00:50:58,170 --> 00:50:58,770 Ang bawat tao'y magandang? 1166 00:50:58,770 --> 00:51:00,280 1167 00:51:00,280 --> 00:51:00,930 Ayos. 1168 00:51:00,930 --> 00:51:02,295 >> Kaya command-line argumento. 1169 00:51:02,295 --> 00:51:03,520 1170 00:51:03,520 --> 00:51:07,630 Ako ba na sa simula mo guys lahat Nagkaroon ang mga mahusay na, tulad ng, int pangunahing voids. 1171 00:51:07,630 --> 00:51:09,517 At ikaw ay tulad, OK cool. 1172 00:51:09,517 --> 00:51:10,350 Hindi ko talagang mahalaga. 1173 00:51:10,350 --> 00:51:12,360 Ito ay kung ano ang kailangan kong isulat. 1174 00:51:12,360 --> 00:51:16,349 Ngunit sa iyong bagong programa, lalo na sa mga ito pset, 1175 00:51:16,349 --> 00:51:17,890 at bakit may tisa sa ground? 1176 00:51:17,890 --> 00:51:19,640 1177 00:51:19,640 --> 00:51:22,680 >> Gamit ang iyong susunod na pset, ikaw ay pagpunta sa dapat makita ito. 1178 00:51:22,680 --> 00:51:26,130 Int pangunahing, int ARG c, string arc v, bracket. 1179 00:51:26,130 --> 00:51:28,770 Kaya, mula sa kung ano ang namin lamang natutunan ngayon, kung ano ang 1180 00:51:28,770 --> 00:51:32,190 Sa palagay namin na pangalawang parameter o ang pangalawang elemento ay dito? 1181 00:51:32,190 --> 00:51:34,830 1182 00:51:34,830 --> 00:51:35,824 Ito ay isang array. 1183 00:51:35,824 --> 00:51:36,615 Anong uri ng array? 1184 00:51:36,615 --> 00:51:38,430 1185 00:51:38,430 --> 00:51:40,690 String array, oo. 1186 00:51:40,690 --> 00:51:41,980 Ayos. 1187 00:51:41,980 --> 00:51:45,320 Kaya na kung paano ka ng pagpunta na nagpapahayag mga ngayon. 1188 00:51:45,320 --> 00:51:48,570 >> Sinuman tandaan ang kung ano ang mga panindigan? 1189 00:51:48,570 --> 00:51:52,551 1190 00:51:52,551 --> 00:51:53,050 Walang? 1191 00:51:53,050 --> 00:51:54,020 1192 00:51:54,020 --> 00:51:54,520 Hmm? 1193 00:51:54,520 --> 00:51:55,640 >> MAG-AARAL: ARG c. 1194 00:51:55,640 --> 00:51:56,961 1195 00:51:56,961 --> 00:51:58,950 >> Allison: Kaya ARG c Pinapanatili ng counter. 1196 00:51:58,950 --> 00:51:59,450 Ito ay isang int. 1197 00:51:59,450 --> 00:52:00,615 Ito ay isang numero, i-right? 1198 00:52:00,615 --> 00:52:02,240 Kaya kung ano ang tingin mo ang numerong iyon ay sa? 1199 00:52:02,240 --> 00:52:08,260 1200 00:52:08,260 --> 00:52:08,760 Oo. 1201 00:52:08,760 --> 00:52:11,450 Kaya ARG c ay ang bilang ng mga string na bumubuo sa linya ng command. 1202 00:52:11,450 --> 00:52:12,560 1203 00:52:12,560 --> 00:52:18,499 Kaya kung kami ay upang do-- talaga, may mga halimbawa pagkatapos na ito, 1204 00:52:18,499 --> 00:52:19,790 kaya hindi ako makakakuha ng mas maaga sa kanilang sarili ko. 1205 00:52:19,790 --> 00:52:21,299 1206 00:52:21,299 --> 00:52:23,840 Ito ay isang bilang ng mga string na bumubuo lamang ang iyong linya ng command. 1207 00:52:23,840 --> 00:52:35,080 >> Kaya kapag ginawa mo, tulad ng, tuldok iwa Mario, na isang string na ginagawang up ito. 1208 00:52:35,080 --> 00:52:38,520 Sa piraso na ito, aktwal kang maging nagpapakain bagay sa command line, 1209 00:52:38,520 --> 00:52:41,750 bilang ako sigurado ka guys kung sino na basahin ang spec ng lagari. 1210 00:52:41,750 --> 00:52:44,470 Kaya sa mga kasong iyon, maaaring ikaw ay may dalawa o tatlong mga argumento. 1211 00:52:44,470 --> 00:52:45,652 1212 00:52:45,652 --> 00:52:48,360 Ito ay magiging isang kapaki-pakinabang na bagay upang gamitin. 1213 00:52:48,360 --> 00:52:51,500 >> At pagkatapos ay ARG v, tulad ng sinabi namin, lamang ang isang string ng array. 1214 00:52:51,500 --> 00:52:57,000 Kaya na aktwal na nag-iimbak kung ano -input mo sa linya ng command. 1215 00:52:57,000 --> 00:52:59,960 Kaya mayroon kaming mga ito. 1216 00:52:59,960 --> 00:53:02,850 Mayroon kang ilang mga tuldok slash kopyahin infile outfile. 1217 00:53:02,850 --> 00:53:06,670 Kaya, kung ARG c ay ang bilang ng mga string na aming pagpasa sa command 1218 00:53:06,670 --> 00:53:09,080 linya, kung ano ang aming ARG c sa kasong ito? 1219 00:53:09,080 --> 00:53:14,520 1220 00:53:14,520 --> 00:53:15,850 Tatlong. 1221 00:53:15,850 --> 00:53:16,690 Mismong. 1222 00:53:16,690 --> 00:53:20,086 >> Kaya kung ano ang ARG v ng zero? 1223 00:53:20,086 --> 00:53:21,710 Kaya kung ano ang unang bagay na inimbak namin? 1224 00:53:21,710 --> 00:53:24,640 1225 00:53:24,640 --> 00:53:26,290 Dot iwa kopya, eksakto. 1226 00:53:26,290 --> 00:53:28,065 At pagkatapos ay ang pangalawang magiging infile. 1227 00:53:28,065 --> 00:53:29,290 1228 00:53:29,290 --> 00:53:30,930 Ang ikatlong ay magiging outfile. 1229 00:53:30,930 --> 00:53:32,390 Kaya kung ano ang tungkol sa ARG v tatlong? 1230 00:53:32,390 --> 00:53:35,810 1231 00:53:35,810 --> 00:53:39,370 Ito ay null, dahil iyon Sa dulo ng aming array, tama? 1232 00:53:39,370 --> 00:53:40,600 1233 00:53:40,600 --> 00:53:41,460 Ayos. 1234 00:53:41,460 --> 00:53:44,500 >> At pagkatapos ay kung ano ang tungkol sa isa pang-anim? 1235 00:53:44,500 --> 00:53:45,900 Ito ay uri ng isang kahanga-hangang gawa tanong. 1236 00:53:45,900 --> 00:53:46,400 Ish. 1237 00:53:46,400 --> 00:53:49,027 1238 00:53:49,027 --> 00:53:49,943 Alam namin kung ano ito? 1239 00:53:49,943 --> 00:53:50,960 1240 00:53:50,960 --> 00:53:51,690 Ito ay hindi natukoy. 1241 00:53:51,690 --> 00:53:53,170 Wala kaming ideya kung ano ang maaaring maging na. 1242 00:53:53,170 --> 00:53:57,000 Ito ay anumang ay tama pagkatapos ng array sa memorya, 1243 00:53:57,000 --> 00:54:00,220 at wala kaming bakas kung ano na. 1244 00:54:00,220 --> 00:54:03,500 At ito ay mapanganib sa pindutin ang mga bagay, dahil para sa lahat ng alam mo na, 1245 00:54:03,500 --> 00:54:07,080 ito ang ilang bahagi ng memorya na hindi dapat pag-access sa o walang bisa. 1246 00:54:07,080 --> 00:54:09,000 At ito ay maaaring gawin na nakatutuwang bagay. 1247 00:54:09,000 --> 00:54:11,690 Ito ay tinatawag na over-i-index ang iyong mga nakatali sa iyong array. 1248 00:54:11,690 --> 00:54:14,785 Huwag pumunta sa labas ng hangganan ng iyong array, o hindi magandang bagay ang maaaring mangyari. 1249 00:54:14,785 --> 00:54:16,274 1250 00:54:16,274 --> 00:54:18,940 Bumalik ka at, tulad ng, ang mga batas ng pisika na-nawasak 1251 00:54:18,940 --> 00:54:19,481 o isang bagay. 1252 00:54:19,481 --> 00:54:21,021 1253 00:54:21,021 --> 00:54:21,520 Ayos. 1254 00:54:21,520 --> 00:54:22,895 Ay na magkaroon ng kahulugan sa lahat? 1255 00:54:22,895 --> 00:54:23,810 1256 00:54:23,810 --> 00:54:25,025 Huwag masyadong masama. 1257 00:54:25,025 --> 00:54:28,926 >> Kaya ngayon, lahat ng tao ay paboritong bahagi, pset pagsusuri. 1258 00:54:28,926 --> 00:54:29,426 Ayos! 1259 00:54:29,426 --> 00:54:30,530 1260 00:54:30,530 --> 00:54:31,030 OK. 1261 00:54:31,030 --> 00:54:33,830 Kaya para sa mga mo na hindi basahin ang mga pset spec, 1262 00:54:33,830 --> 00:54:36,790 kayo ay ang paggawa ng ilang talaga magagandang bagay sa Cryptography. 1263 00:54:36,790 --> 00:54:39,360 Na iyong pupuntahan upang lumikha ng isang Ceasar Cipher at Vigenere Cipher. 1264 00:54:39,360 --> 00:54:42,000 1265 00:54:42,000 --> 00:54:45,480 Dapat mong basahin ang siguradong spec upang makita kung paano mga gawa. 1266 00:54:45,480 --> 00:54:49,650 At kung nagkakaroon ka ng anumang problema tungkol sa ano ang dapat na aktwal na ito ay ang paggawa, 1267 00:54:49,650 --> 00:54:52,920 mangyaring makipag-usap sa akin, -email sa akin o text sa akin. 1268 00:54:52,920 --> 00:54:53,420 Ako paligid. 1269 00:54:53,420 --> 00:54:54,780 1270 00:54:54,780 --> 00:54:57,070 >> Kaya may tatlong pangunahing bagay dito na namin 1271 00:54:57,070 --> 00:55:00,440 nais na makipag-usap about-- uri lamang ng isang extension ng panayam. 1272 00:55:00,440 --> 00:55:03,645 Ang mga bagay na maaaring hindi mo alam tungkol, kapaki-pakinabang na mga pahiwatig at mga tool. 1273 00:55:03,645 --> 00:55:05,520 Kaya kami ay pagpunta sa gawin ang isang mabilis na review ng mga ASCII, 1274 00:55:05,520 --> 00:55:10,420 dahil na magiging sobrang mahalaga para sa Vigenere ng Cipher. 1275 00:55:10,420 --> 00:55:11,809 1276 00:55:11,809 --> 00:55:14,100 Kami ay pagpunta sa conversion ng command line input, na 1277 00:55:14,100 --> 00:55:17,160 ay magiging kapaki-pakinabang para sa Caesar Cipher. 1278 00:55:17,160 --> 00:55:18,133 At pagkatapos ay modulo. 1279 00:55:18,133 --> 00:55:20,220 1280 00:55:20,220 --> 00:55:21,210 Ayos. 1281 00:55:21,210 --> 00:55:24,005 >> Kaya, ASCII mapa character sa numero. 1282 00:55:24,005 --> 00:55:25,270 1283 00:55:25,270 --> 00:55:26,365 Ito ay isang mahusay na chart. 1284 00:55:26,365 --> 00:55:28,115 Dapat na may ito -bookmark sa isang lugar. 1285 00:55:28,115 --> 00:55:29,310 1286 00:55:29,310 --> 00:55:33,250 Ay gusto mo ito para sa ang iyong unang kalagitnaan ng term na ito. 1287 00:55:33,250 --> 00:55:36,320 Ako ay medyo sigurado lahat ay mayroong ito tsart sa kanilang mga mid-terminong ginamit sa sheet. 1288 00:55:36,320 --> 00:55:37,810 Kaya matuto ito. 1289 00:55:37,810 --> 00:55:38,410 Pag-ibig ito. 1290 00:55:38,410 --> 00:55:39,740 Panatilihin itong madaling gamitin. 1291 00:55:39,740 --> 00:55:41,210 Makikita itong maging kapaki-pakinabang. 1292 00:55:41,210 --> 00:55:45,630 >> At lahat ng ito ay ay isang pag-encode na mapa pang-abakada, numero, 1293 00:55:45,630 --> 00:55:47,740 at iba pang mga character sa numero para sa aming mga computer. 1294 00:55:47,740 --> 00:55:49,947 Dahil siyempre, sa pagtatapos, ang lahat iniimbak namin 1295 00:55:49,947 --> 00:55:52,030 Mawawala upang makakuha ng na-convert na pababa sa zeroes at na, 1296 00:55:52,030 --> 00:55:55,200 kaya kailangan namin ng ilang paraan upang kumatawan sa teksto at mga character na tayong lahat 1297 00:55:55,200 --> 00:55:59,105 nakasanayan mong nakikita bilang isang uri ng numero. 1298 00:55:59,105 --> 00:56:00,370 1299 00:56:00,370 --> 00:56:05,880 >> Kaya bilang makita namin dito, mayroon kaming uppercase A, na kung saan ay doon. 1300 00:56:05,880 --> 00:56:06,555 Ito ay 65. 1301 00:56:06,555 --> 00:56:07,570 1302 00:56:07,570 --> 00:56:09,660 At lowercase na A ay 97. 1303 00:56:09,660 --> 00:56:13,170 Kaya maaari mong malaman out-- bilang mas maaga sinabi ko, 1304 00:56:13,170 --> 00:56:16,532 kung nagkaroon ka ng hanay ng mga maramihang mga string, kung ano ang bawat isa sa kanila 1305 00:56:16,532 --> 00:56:17,490 May null Terminator. 1306 00:56:17,490 --> 00:56:18,480 Ito ay maging isang espasyo. 1307 00:56:18,480 --> 00:56:22,581 Space ay may sarili nitong special-- Nakalimutan ko kung saan ito dito. 1308 00:56:22,581 --> 00:56:23,080 Ah. 1309 00:56:23,080 --> 00:56:24,700 32 ay ang espasyo. 1310 00:56:24,700 --> 00:56:27,090 Kaya lahat ng bagay mapa dito. 1311 00:56:27,090 --> 00:56:28,680 1312 00:56:28,680 --> 00:56:29,740 >> Kaya mayroon kaming ASCII matematika. 1313 00:56:29,740 --> 00:56:31,080 1314 00:56:31,080 --> 00:56:34,290 Tip-- Pro sa Vigenere ni, maaari mong matukso 1315 00:56:34,290 --> 00:56:39,480 -convert ang iyong mga numero sa mga integer, ngunit ito ay aktwal na mas mahusay na kasanayan 1316 00:56:39,480 --> 00:56:43,860 upang magawang gamitin ang mga character tulad nito 1317 00:56:43,860 --> 00:56:45,820 kapag aktwal na pagpapatakbo mga ito. 1318 00:56:45,820 --> 00:56:48,950 Kaya kung nais mong gamitin ang numero, magagawa mo na. 1319 00:56:48,950 --> 00:56:55,260 Ngunit isang mas mahusay na paraan, o isang paraan na kami ay may posibilidad na gusto mo guys na gawin ito, 1320 00:56:55,260 --> 00:56:57,830 ay ang paraan kung saan ikaw ay talaga ng pagbabawas character. 1321 00:56:57,830 --> 00:56:58,840 1322 00:56:58,840 --> 00:57:02,830 >> Kaya gusto ko guys sa iyo uri ng malaman ang mga out. 1323 00:57:02,830 --> 00:57:05,070 Bakit hindi mo subukan ang bawat isa sa iba pang? 1324 00:57:05,070 --> 00:57:07,580 1325 00:57:07,580 --> 00:57:09,830 Kaya gawin ang una, ang ikatlong isa, at ang isang ika-limang. 1326 00:57:09,830 --> 00:57:11,160 1327 00:57:11,160 --> 00:57:15,000 Dahil gusto ko upang matiyak na namin makipag-usap tungkol sa lahat ng bagay na kailangan namin upang makipag-usap tungkol sa. 1328 00:57:15,000 --> 00:57:17,410 1329 00:57:17,410 --> 00:57:20,259 Lamang ako ng pagpunta sa sabihin, ang isa sa mga mahalagang bagay na to-- oh maghintay, 1330 00:57:20,259 --> 00:57:21,550 ka guys ay hindi nakita ang isang ito. 1331 00:57:21,550 --> 00:57:23,710 OK upang gawin ang unang tatlong. 1332 00:57:23,710 --> 00:57:24,430 Ni gawin natin iyon. 1333 00:57:24,430 --> 00:57:25,971 Dahil mayroon kaming makipag-usap tungkol sa modulo. 1334 00:57:25,971 --> 00:57:27,810 1335 00:57:27,810 --> 00:57:28,310 Alam ko. 1336 00:57:28,310 --> 00:57:28,851 Matematika ay mahirap. 1337 00:57:28,851 --> 00:57:29,870 1338 00:57:29,870 --> 00:57:30,980 Maaari kang gumamit ng calculator. 1339 00:57:30,980 --> 00:57:31,580 Ito ay ang OK. 1340 00:57:31,580 --> 00:57:37,464 1341 00:57:37,464 --> 00:57:40,380 O hilahin up ng isang talahanayan na ASCII, dahil marahil ka ng pagpunta sa nais na. 1342 00:57:40,380 --> 00:58:03,660 1343 00:58:03,660 --> 00:58:04,820 >> Ayos. 1344 00:58:04,820 --> 00:58:07,960 Kaya ako ay mabilis na lakad mo guys sa pamamagitan ng mga ito. 1345 00:58:07,960 --> 00:58:11,120 Kaya mga tao ang mga talahanayan ASCII na nakuha up? 1346 00:58:11,120 --> 00:58:15,645 Ano ang aming numeric number para sa maliliit na A? 1347 00:58:15,645 --> 00:58:16,270 MAG-AARAL: Pitong. 1348 00:58:16,270 --> 00:58:19,420 1349 00:58:19,420 --> 00:58:24,550 >> Allison: Kaya maliliit na A ay 97 at uppercase na A ay 65. 1350 00:58:24,550 --> 00:58:26,390 Kaya 97 minus 65? 1351 00:58:26,390 --> 00:58:27,782 1352 00:58:27,782 --> 00:58:28,570 >> Madla: 32? 1353 00:58:28,570 --> 00:58:33,260 1354 00:58:33,260 --> 00:58:35,630 >> Allison: 62, oo. 1355 00:58:35,630 --> 00:58:38,675 Kaya sa kasong ito, kung ano ang Gusto ito i-print? 1356 00:58:38,675 --> 00:58:40,360 Na una? 1357 00:58:40,360 --> 00:58:43,830 Kung mayroon kaming porsiyento d, kung ano ang nais ipahiwatig iyon? 1358 00:58:43,830 --> 00:58:45,980 1359 00:58:45,980 --> 00:58:46,730 MAG-AARAL: Ang isang numero. 1360 00:58:46,730 --> 00:58:48,604 Allison: namin ang pag-print ang isang aktwal na numero. 1361 00:58:48,604 --> 00:58:50,770 Kaya namin ang aktwal na pagpunta -print ang 32 dito. 1362 00:58:50,770 --> 00:58:56,360 At kung ito ay porsiyento c, 32 ay magbibigay sa amin ng puwang. 1363 00:58:56,360 --> 00:58:57,700 1364 00:58:57,700 --> 00:59:01,670 Kaya pag-unawa na mga character na maaaring naka-print 1365 00:59:01,670 --> 00:59:06,140 parehong bilang ng mga numero at bilang ang aktwal na mga character 1366 00:59:06,140 --> 00:59:11,080 ay talagang mahalaga, at pagbabayad -pansin ang aktwal na mga uri 1367 00:59:11,080 --> 00:59:12,040 na ginagawa namin dito. 1368 00:59:12,040 --> 00:59:14,520 1369 00:59:14,520 --> 00:59:15,020 Ayos. 1370 00:59:15,020 --> 00:59:18,862 Kaya para sa bawat iba pang isa sa mga ito, kung ano ang pagpunta namin na pini-print? 1371 00:59:18,862 --> 00:59:19,825 >> MAG-AARAL: Ang isang character. 1372 00:59:19,825 --> 00:59:20,830 >> Allison: Isang character. 1373 00:59:20,830 --> 00:59:21,330 Ayos. 1374 00:59:21,330 --> 00:59:24,260 Kaya kung nais malaman, mo guys Pwedeng mag-ehersisyo ang mga out sa iyong sariling. 1375 00:59:24,260 --> 00:59:25,900 Kung nagkakaroon ka ng problema, mag-email sa akin. 1376 00:59:25,900 --> 00:59:28,950 Ngunit ang pangalawang isa habilin -print ang isang maliit na mga b. 1377 00:59:28,950 --> 00:59:32,910 Ay i-print ang mga third isa ng uppercase B. Ang ika-apat na isa ay mag-print 1378 00:59:32,910 --> 00:59:36,410 out ng uppercase C, at ang huli ay magiging isang maliit na mga A. 1379 00:59:36,410 --> 00:59:42,530 At ang huling one-- talaga kami ng pagpunta upang makakuha ng sa kung ano na mabaliw porsiyento 1380 00:59:42,530 --> 00:59:45,020 -sign kahit na ang ibig sabihin sa loob ng ilang mga slide. 1381 00:59:45,020 --> 00:59:46,667 Kaya subukan ang mga ito sa iyong sariling. 1382 00:59:46,667 --> 00:59:48,500 Kung mayroon kang problema, mangyaring makipag-usap sa akin. 1383 00:59:48,500 --> 00:59:49,655 1384 00:59:49,655 --> 00:59:53,290 Kung ikaw ay karaniwang sa Adams D hall, makikita mo marahil ako sa paligid. 1385 00:59:53,290 --> 00:59:54,760 1386 00:59:54,760 --> 00:59:55,760 >> Kaya, atoi. 1387 00:59:55,760 --> 00:59:59,660 Paano marami sa inyo na nakita ito -andar o narinig ng ito sa lahat? 1388 00:59:59,660 --> 01:00:00,380 1389 01:00:00,380 --> 01:00:00,880 Sinuman? 1390 01:00:00,880 --> 01:00:02,100 1391 01:00:02,100 --> 01:00:02,600 Ayos. 1392 01:00:02,600 --> 01:00:06,250 Kaya kung ano ang aktwal na ito ay nakatayo sa para ay ASCII na integer. 1393 01:00:06,250 --> 01:00:13,150 Kaya ano ang maaari mong gawin ay, sa Caesar, para sa mga taong basahin ang spec, 1394 01:00:13,150 --> 01:00:16,460 ka ng pagpunta sa gawin tuldok slash Caesar pagkatapos mong isulat ang iyong programa, 1395 01:00:16,460 --> 01:00:18,690 at pagkatapos na iyong pupuntahan -input ng ilang numero na iyong 1396 01:00:18,690 --> 01:00:24,780 Gusto upang i-encode ang iyong lihim na mensahe sa. 1397 01:00:24,780 --> 01:00:30,700 >> Subalit, kung tandaan namin, lahat ng aming mga input ay naka-imbak bilang mga string. 1398 01:00:30,700 --> 01:00:31,390 Mag-right? 1399 01:00:31,390 --> 01:00:35,160 Mayroon kaming isang ARG v array na ang lahat ng uri ng string. 1400 01:00:35,160 --> 01:00:37,870 Kaya kung mong subukan lamang sa hilahin ng isa na, ito ay 1401 01:00:37,870 --> 01:00:43,240 isipin na ang isa o anumang bilang na ginamit mo ay talagang isang character. 1402 01:00:43,240 --> 01:00:45,490 Kaya ka pagpunta upang makakuha ng ang ilang mga nakatutuwang mga resulta. 1403 01:00:45,490 --> 01:00:48,200 Kaya kung talagang nais na i ito sa isang integer 1404 01:00:48,200 --> 01:00:52,060 na maaari mong gamitin upang manipulahin iyong salita o ang iyong mensahe, 1405 01:00:52,060 --> 01:00:53,366 makikita mo nais na gumamit ng atoi. 1406 01:00:53,366 --> 01:00:56,320 atoi lamang-convert ang iyong mga string sa isang int. 1407 01:00:56,320 --> 01:01:04,530 >> Kaya kung kami ay may isang string ng mga 12, kung tawagin namin atoi sa 12, o anumang pag-input iyon ay, 1408 01:01:04,530 --> 01:01:07,370 ito ay aktwal na bumalik sa iyo ang integer. 1409 01:01:07,370 --> 01:01:10,610 Hindi ang karakter o ang string 12. 1410 01:01:10,610 --> 01:01:14,230 Aling, kapag sinimulan mo ang upang idagdag na sa mga numero, 1411 01:01:14,230 --> 01:01:17,710 ay ibang-iba, dahil ang string 12 ay 1412 01:01:17,710 --> 01:01:21,210 ang ilang mga nakatutuwang numero sa ASCII, ngunit ang integer 12 1413 01:01:21,210 --> 01:01:23,390 ay talagang 12, na kung saan ay kung ano ang gusto mo. 1414 01:01:23,390 --> 01:01:25,630 Kaya nais mong tiyakin na gumamit ng atoi. 1415 01:01:25,630 --> 01:01:29,203 >> Ka ng pagpunta sa nais na ito sa Caesar, dahil hindi mo 1416 01:01:29,203 --> 01:01:32,520 Kailangan ang int ibinigay ng mga gumagamit sa linya ng command. 1417 01:01:32,520 --> 01:01:35,230 Ngunit kapag inilagay nila ito sa command linya, naka-imbak ito bilang isang string 1418 01:01:35,230 --> 01:01:35,813 upang magsimula sa. 1419 01:01:35,813 --> 01:01:36,950 1420 01:01:36,950 --> 01:01:38,210 Ay na magkaroon ng kahulugan? 1421 01:01:38,210 --> 01:01:40,590 Ikaw ay hindi kinakailangan Kailangan ito para sa Vigenere. 1422 01:01:40,590 --> 01:01:43,180 Sa Vigenere, tulad ng sinabi ko bago, dapat mong subukan at gamitin ang 1423 01:01:43,180 --> 01:01:46,600 ASCII matematika na mukhang mas katulad ito, kung saan ikaw ay talagang 1424 01:01:46,600 --> 01:01:49,320 gamit ang karakter na aming ibinigay sa iyo. 1425 01:01:49,320 --> 01:01:50,970 1426 01:01:50,970 --> 01:01:51,470 Ayos. 1427 01:01:51,470 --> 01:01:52,970 1428 01:01:52,970 --> 01:01:54,170 Ang bawat tao'y may magandang? 1429 01:01:54,170 --> 01:01:56,530 1430 01:01:56,530 --> 01:01:57,480 Kahanga-hanga. 1431 01:01:57,480 --> 01:01:59,030 >> Kaya modulo. 1432 01:01:59,030 --> 01:02:01,950 Kaya kung ano kung bibigyan ka ang malaking bilang para sa Caesar? 1433 01:02:01,950 --> 01:02:03,720 1434 01:02:03,720 --> 01:02:07,970 Mayroon kang ideyang ito na kung ikaw ay nasa Z at ikaw ay 1435 01:02:07,970 --> 01:02:11,020 bibigyan ng isang numero ng dalawang, ay nangangahulugan na ang need-- mo 1436 01:02:11,020 --> 01:02:15,130 Z nagiging ang pangalawang sulat pagkatapos mismo, tama? 1437 01:02:15,130 --> 01:02:20,800 Kaya kailangan mo upang kahit papaano ay balutin sa paligid, at modulo ay ang paraan upang gawin iyon. 1438 01:02:20,800 --> 01:02:23,310 Kaya lahat ng ginagawa nito ay ito Nagbibigay sa iyo ang natitira 1439 01:02:23,310 --> 01:02:25,660 ng dibisyon ng unang numero sa pamamagitan ng ikalawang. 1440 01:02:25,660 --> 01:02:28,660 At mayroon kaming ilang mga halimbawa upang gumawa na ng kaunti pa kongkreto. 1441 01:02:28,660 --> 01:02:34,390 Ngunit talaga, ginagamit mo modulo kapag gustong gumawa ng isang bagay sa paligid ng pambalot. 1442 01:02:34,390 --> 01:02:36,950 >> Kaya kung gusto mo lamang ang mga numero ng isa sa pamamagitan ng walong, 1443 01:02:36,950 --> 01:02:39,670 maaari mong gamitin ang modulo sa anumang ibang numero, at ito ay palaging 1444 01:02:39,670 --> 01:02:42,960 magbalik ng numero mula sa zero sa walong. 1445 01:02:42,960 --> 01:02:48,750 Kaya ilang examples-- kung mayroon kaming 55 modulo 10, 1446 01:02:48,750 --> 01:02:55,350 Binibigyan ka nito lamang ang natitira sa 55 na hinati sa 10, na kung saan ay magiging 5. 1447 01:02:55,350 --> 01:02:56,440 1448 01:02:56,440 --> 01:03:02,470 At pagkatapos ng tatlong modulo limang, sinuman hulaan kung ano na ang magiging? 1449 01:03:02,470 --> 01:03:03,800 1450 01:03:03,800 --> 01:03:04,300 Tatlong. 1451 01:03:04,300 --> 01:03:05,570 1452 01:03:05,570 --> 01:03:10,910 >> Kaya kung mayroon kang isang mas maliit na bilang bago ang modulo, hindi ito maaaring pumunta sa pantay-pantay. 1453 01:03:10,910 --> 01:03:11,520 Ito ay zero. 1454 01:03:11,520 --> 01:03:14,090 Kaya nagbabalik lamang nito ang numero mismo. 1455 01:03:14,090 --> 01:03:15,920 Kaya walong modulo walong magiging? 1456 01:03:15,920 --> 01:03:16,603 >> MAG-AARAL: Zero. 1457 01:03:16,603 --> 01:03:18,350 >> Allison: Zero. 1458 01:03:18,350 --> 01:03:20,160 Dahil dito napupunta sa pantay-pantay. 1459 01:03:20,160 --> 01:03:22,095 16 modulo 15? 1460 01:03:22,095 --> 01:03:23,660 >> Madla: Isa. 1461 01:03:23,660 --> 01:03:24,700 >> Allison: Cool. 1462 01:03:24,700 --> 01:03:29,280 At pagkatapos ay ang huling isa lamang sa ipakita you-- maaaring nag-iisip, OK, 1463 01:03:29,280 --> 01:03:31,800 kung ano ang pagkakasunud-sunod ng mga pagpapatakbo dito? 1464 01:03:31,800 --> 01:03:33,100 Gawin unang hinati namin? 1465 01:03:33,100 --> 01:03:34,570 Gawin unang modulo namin? 1466 01:03:34,570 --> 01:03:38,730 Kaya modulo hold ang parehong karapatan sa pangunguna bilang division o pagpaparami, 1467 01:03:38,730 --> 01:03:39,940 at ang kaliwang nag-uugnay. 1468 01:03:39,940 --> 01:03:41,730 Kaya sa parehong paraan. 1469 01:03:41,730 --> 01:03:46,520 Gusto mong palaging gawin panaklong, pagkatapos ay pagpaparami, division, 1470 01:03:46,520 --> 01:03:49,570 at modulo sa pagkakasunud-sunod mula kaliwa papuntang kanan. 1471 01:03:49,570 --> 01:03:51,050 Kaya karaniwang panuntunan. 1472 01:03:51,050 --> 01:03:55,260 Ilagay lang ito sa parehong kategorya bilang division at pagpaparami. 1473 01:03:55,260 --> 01:03:59,040 >> Kaya sa kasong ito, kami ay May 1 plus 2 ay nagbibigay sa amin 3. 1474 01:03:59,040 --> 01:04:02,210 -Multiply namin na sa pamamagitan ng 2, kaya nakukuha namin 6. 1475 01:04:02,210 --> 01:04:05,050 Modulo namin na sa pamamagitan ng 2, na kung saan ay nagbibigay sa amin? 1476 01:04:05,050 --> 01:04:06,042 >> MAG-AARAL: 0. 1477 01:04:06,042 --> 01:04:07,430 >> Allison: 0. 1478 01:04:07,430 --> 01:04:10,270 At pagkatapos ay idagdag namin 2, kaya kami makakuha ng 2 sa huling kaso. 1479 01:04:10,270 --> 01:04:12,080 1480 01:04:12,080 --> 01:04:16,360 Kaya modulo-- siguradong ka ng pagpunta sa maisip ng mga paraan upang isama 1481 01:04:16,360 --> 01:04:19,520 na kapag naka-wrapping sa paligid ng alpabeto. 1482 01:04:19,520 --> 01:04:24,210 Kung ikaw ay nasa Z at kailangan mong ilipat ang ipasa tatlong mga puwang upang makapunta sa C, 1483 01:04:24,210 --> 01:04:26,230 may na buong konsepto ng wrapping sa paligid. 1484 01:04:26,230 --> 01:04:28,790 Kaya mag-iiwan ko ito sa ka guys upang malaman 1485 01:04:28,790 --> 01:04:31,940 kung paano eksaktong na iyong pupuntahan ay gumagamit nito. 1486 01:04:31,940 --> 01:04:35,660 Ngunit talagang isang kapaki-pakinabang na tool para sa iyong pset sa linggong ito. 1487 01:04:35,660 --> 01:04:36,910 1488 01:04:36,910 --> 01:04:37,730 Talagang gusto ko ito. 1489 01:04:37,730 --> 01:04:39,480 Ito ay isa sa aking mga paboritong psets. 1490 01:04:39,480 --> 01:04:41,230 Pagkatapos pagkatapos mong gawin ito, kung mayroon kang mga kaibigan, 1491 01:04:41,230 --> 01:04:44,146 Maaari mo, tulad ng, magpadala ng bawat iba pang mga lihim mga mensahe at tiyakin na ito ay gumagana. 1492 01:04:44,146 --> 01:04:45,695 Dahil ito ay i-decrypt ito o anumang. 1493 01:04:45,695 --> 01:04:46,710 1494 01:04:46,710 --> 01:04:47,390 Maraming masaya. 1495 01:04:47,390 --> 01:04:48,840 1496 01:04:48,840 --> 01:04:51,220 >> At iyon ay ang dulo ng seksyon. 1497 01:04:51,220 --> 01:04:52,430 1498 01:04:52,430 --> 01:04:54,040 Tapos ko nang maaga. 1499 01:04:54,040 --> 01:04:57,540 Mayroon akong pa rin ng 15 minuto sa mo guys, kaya kung mayroong anumang bagay 1500 01:04:57,540 --> 01:05:02,180 na gusto mong balikan karagdagang, Gusto ko ay magiging masaya na gawin iyon. 1501 01:05:02,180 --> 01:05:04,340 Ang anumang iba pang mga tanong sa ang iyong pset para sa mga mo 1502 01:05:04,340 --> 01:05:06,355 na nagsimula o basahin ang spec. 1503 01:05:06,355 --> 01:05:07,870 1504 01:05:07,870 --> 01:05:12,060 Anumang bagay na nai-usapan natin ang tungkol sa nakaraang oras 1505 01:05:12,060 --> 01:05:16,880 at 15 minuto na nais mong akin sa uri ng pagsasaayos, nais kong maging masaya. 1506 01:05:16,880 --> 01:05:20,790 O maaari naming tawagan ito tabla, at maaari mong lahat umalis at kumuha ng higit pang mga kendi sa iyo 1507 01:05:20,790 --> 01:05:21,650 habang nagpapatuloy ka. 1508 01:05:21,650 --> 01:05:23,719 1509 01:05:23,719 --> 01:05:26,260 Ngunit kung mayroong anumang matagal katanungan, mangyaring ipagbigay-alam sa akin. 1510 01:05:26,260 --> 01:05:28,467 Maaari ka ring makabuo at makipag-usap sa akin pagkatapos. 1511 01:05:28,467 --> 01:05:29,425 Nangangako ako hindi ako kumagat. 1512 01:05:29,425 --> 01:05:32,140 1513 01:05:32,140 --> 01:05:32,795 Ano pa? 1514 01:05:32,795 --> 01:05:33,890 1515 01:05:33,890 --> 01:05:35,240 Ang bawat tao'y Magandang? 1516 01:05:35,240 --> 01:05:37,540 Pakiramdam ng lahat tulad ng maaari nilang pangasiwaan ang pset? 1517 01:05:37,540 --> 01:05:38,820 1518 01:05:38,820 --> 01:05:42,405 Ka ng pagpunta sa maging masarap na guys. 1519 01:05:42,405 --> 01:05:43,905 Office oras ang naroon para sa isang kadahilanan. 1520 01:05:43,905 --> 01:05:45,930 1521 01:05:45,930 --> 01:05:46,460 Ayos. 1522 01:05:46,460 --> 01:05:47,020 Oo. 1523 01:05:47,020 --> 01:05:49,680 >> Well, sa kasong iyon, salamat mo ang lahat ng kaya magkano para sa darating na. 1524 01:05:49,680 --> 01:05:50,940 Umaasa ako na makita ka sa susunod na linggo. 1525 01:05:50,940 --> 01:05:52,120 Magkakaroon ng higit pang mga kendi. 1526 01:05:52,120 --> 01:05:53,495 Maaaring may iba pang mga cool na bagay. 1527 01:05:53,495 --> 01:05:55,010 1528 01:05:55,010 --> 01:05:59,090 At hanapin ko inaabangan ang panahon na sa pagkuha ng upang malaman ang lahat ng sa iyo sa taong ito. 1529 01:05:59,090 --> 01:06:00,320