1 00:00:00,000 --> 00:00:02,742 >> [MUSIC nagpe-play] 2 00:00:02,742 --> 00:00:05,030 3 00:00:05,030 --> 00:00:09,090 >> ANDI PENG: Ito ay CS50, at maligayang pagdating sa dalawang linggo ng section. 4 00:00:09,090 --> 00:00:11,740 Ito ay tunay na habang linggo dalawa sa aming class-- talaga, 5 00:00:11,740 --> 00:00:14,550 ang unang linggo namin ay section. 6 00:00:14,550 --> 00:00:18,897 Ipakita ng kamay, kung paano marami sa inyo ang lahat dumating sa sobrang seksyon noong nakaraang linggo? 7 00:00:18,897 --> 00:00:19,480 OK, na OK. 8 00:00:19,480 --> 00:00:20,020 Iyon ang OK. 9 00:00:20,020 --> 00:00:23,110 Ilan sa inyo ang nanood super seksyon noong nakaraang linggo? 10 00:00:23,110 --> 00:00:23,610 SIGE. 11 00:00:23,610 --> 00:00:25,702 At sa iyo guys did fine sa hanay ng problema sa isa? 12 00:00:25,702 --> 00:00:28,660 Kaya ako pagpunta sa gawin ito na kami ay may ng grupo ng mga tunay na intelligent kids 13 00:00:28,660 --> 00:00:32,310 sa ganitong klase at mga bagay ay pinong. 14 00:00:32,310 --> 00:00:33,180 SIGE. 15 00:00:33,180 --> 00:00:33,980 Kaya first-- 16 00:00:33,980 --> 00:00:37,900 17 00:00:37,900 --> 00:00:41,090 >> Una, lamang kami ay pagpunta sa madaling sabi pumunta sa mga agenda para sa araw na ito. 18 00:00:41,090 --> 00:00:42,700 Susubukan naming makipag-usap tungkol sa Logistics course. 19 00:00:42,700 --> 00:00:45,480 Ang isang pulutong ng ikaw ay malamang na may mga katanungan tungkol 20 00:00:45,480 --> 00:00:46,920 kung paano mga bagay na tumakbo sa kursong ito. 21 00:00:46,920 --> 00:00:47,897 Susubukan naming sagutin ang mga ito. 22 00:00:47,897 --> 00:00:49,730 Kami ay pagpunta sa madaling sabi pumunta sa paglipas ng mga loop sa kasong 23 00:00:49,730 --> 00:00:51,410 man sa inyo guys nasagot ang super section. 24 00:00:51,410 --> 00:00:53,240 Susubukan naming makipag-usap tungkol sa pagmamapa ASCII. 25 00:00:53,240 --> 00:00:56,180 Susubukan naming makipag-usap tungkol sa array, pag-andar, argumento command line. 26 00:00:56,180 --> 00:01:00,210 At sa wakas, kung ano ang iyong guys marahil ang lahat talagang nais na maging dito upang matuto tungkol sa, 27 00:01:00,210 --> 00:01:01,270 ay ang iyong pset2. 28 00:01:01,270 --> 00:01:04,209 Magkakaroon kami ng ilang mga nice tricks at mga tip para sa kung paano gawin iyon. 29 00:01:04,209 --> 00:01:07,910 30 00:01:07,910 --> 00:01:08,690 >> SIGE. 31 00:01:08,690 --> 00:01:11,450 Gayundin, pangalawa, mayroon kaming maraming ng kendi dito. 32 00:01:11,450 --> 00:01:13,583 Sinuman na may gusto ng kendi, lumapit lamang dito. 33 00:01:13,583 --> 00:01:14,430 Kunin ang ilang. 34 00:01:14,430 --> 00:01:15,100 Mayroon akong isang bungkos. 35 00:01:15,100 --> 00:01:16,390 Kami ay may isang tonelada sa opisina. 36 00:01:16,390 --> 00:01:18,230 Hindi ko talagang gusto kumain ng kendi sa buong araw. 37 00:01:18,230 --> 00:01:20,300 Ikaw guys dapat kumain ang lahat ng kendi, dahil dinala ko ito dito para sa iyo guys. 38 00:01:20,300 --> 00:01:20,990 Kumain lang ng kendi. 39 00:01:20,990 --> 00:01:24,080 Makikita may kendi sa bawat section. 40 00:01:24,080 --> 00:01:25,330 >> Kaya una, sino ako? 41 00:01:25,330 --> 00:01:27,080 Ang pangalan ko ay Andi Peng. 42 00:01:27,080 --> 00:01:30,270 Ako ang head TA ng CS50 dito sa Yale. 43 00:01:30,270 --> 00:01:32,540 At sa karagdagan sa na iyon, ay ako din be-- 44 00:01:32,540 --> 00:01:35,600 kung ang sinuman ay like-- iyong tumatakbo buddy, ang iyong mga balikat sa sigaw sa. 45 00:01:35,600 --> 00:01:39,140 Kung ang gabi bago dahil ang iyong pset ni, wala kang mga ideya kung ano ang nangyayari, 46 00:01:39,140 --> 00:01:40,080 pindutin ang up ako. 47 00:01:40,080 --> 00:01:42,770 Susubukan naming makiramay magkasama, at iba pa. 48 00:01:42,770 --> 00:01:46,100 Basta alam na ako dito bilang mapagkukunan para sa iyo bilang harap na linya 49 00:01:46,100 --> 00:01:51,830 sa pagtulong sa iyo guys malaman kung paano upang malutas ang mga problema sa CS50 at sa hinaharap. 50 00:01:51,830 --> 00:01:54,590 >> Ang aking email ay andi.peng@yale.edu. 51 00:01:54,590 --> 00:01:58,390 Kukunin ko ring ipadala ang isang indibidwal na email na may mga numero ng aking telepono sa loob nito 52 00:01:58,390 --> 00:02:01,860 sa gayon ay hindi lahat ng tao sa internet maaaring makita ang aking numero ng telepono. 53 00:02:01,860 --> 00:02:03,640 Huwag mag-atubili na tumawag sa akin sa anumang oras. 54 00:02:03,640 --> 00:02:07,510 Seryoso, ang aking telepono ay karaniwang kalakip sa aking kamay. 55 00:02:07,510 --> 00:02:10,240 Hindi ko maaaring tumugon sa loob ng ilang minuto. 56 00:02:10,240 --> 00:02:11,984 Hindi ko maaaring tumugon sa loob ng ilang oras. 57 00:02:11,984 --> 00:02:14,400 Ngunit maaari kong ginagarantiya mo, kung mong e-mail sa akin, kung tumawag ka sa akin, 58 00:02:14,400 --> 00:02:17,404 text me, ako ay tumugon sa loob ng 24 na oras. 59 00:02:17,404 --> 00:02:19,820 Madalas, kukunin ko na tumugon bago na, dahil naiintindihan ko 60 00:02:19,820 --> 00:02:23,900 na ang lahat ay nakuha ng ilang mga problema, at gusto mo ang iyong mga sagot 61 00:02:23,900 --> 00:02:26,110 na nasagot nang masyadong mabilis. 62 00:02:26,110 --> 00:02:28,945 >> Subalit, kung ikaw ay tumawag ako ng 30 minuto bago 63 00:02:28,945 --> 00:02:31,570 na piraso na ay dahil Huwebes night-- maging tulad ng, Andi, tulungan mo ako, 64 00:02:31,570 --> 00:02:35,380 Hindi ko pa started-- maibigay ko na balikat mong sigaw pa. 65 00:02:35,380 --> 00:02:41,520 Ngunit maaaring ito ay oras na mag-isip tungkol sa kung paano hindi gawin na susunod na pagkakataon. 66 00:02:41,520 --> 00:02:44,040 SIGE. 67 00:02:44,040 --> 00:02:44,944 Oops. 68 00:02:44,944 --> 00:02:45,850 Paano ako bumalik? 69 00:02:45,850 --> 00:02:48,140 Mayroon kaming pumunta. 70 00:02:48,140 --> 00:02:52,310 >> Kaya sa kursong ito, kami ay may isang tonelada ng suporta para sa lahat. 71 00:02:52,310 --> 00:02:54,640 Bilang karagdagan sa makatarungan mga seksyon dito, kung saan kayo 72 00:02:54,640 --> 00:02:57,000 bawat linggo makakuha na gumastos ng 90 kahanga-hangang minuto sa akin, 73 00:02:57,000 --> 00:02:58,330 kami ay mayroon ding mga oras ng opisina. 74 00:02:58,330 --> 00:03:01,021 Ilan sa inyo guys may naka ay sa mga oras ng opisina para sa tulong? 75 00:03:01,021 --> 00:03:01,520 Great. 76 00:03:01,520 --> 00:03:05,700 Iyan ay tunay mabuti upang makita, dahil kami Mayroon isang tauhan ng higit sa 45 TAS at Cas 77 00:03:05,700 --> 00:03:11,780 sinanay para sa kursong ito na dito para sa pagtulong sa iyo na guys sa iyong psets. 78 00:03:11,780 --> 00:03:14,580 >> Lunes sila ay gaganapin sa TEAL silid-aralan sa 17 Hill House dito 79 00:03:14,580 --> 00:03:15,350 sa Yale. 80 00:03:15,350 --> 00:03:17,349 Martes at Huwebes, sila ay gaganapin sa commons. 81 00:03:17,349 --> 00:03:20,010 8:00-11:00 medyo marami ang bawat araw ng linggo. 82 00:03:20,010 --> 00:03:21,620 Pumasok ka, lumabas. 83 00:03:21,620 --> 00:03:24,030 Anumang problema, walang problem-- puntahan lamang sa, 84 00:03:24,030 --> 00:03:26,650 at pagkatapos ay tutulungan ka namin out na. 85 00:03:26,650 --> 00:03:31,640 >> Pangalawa, bilang karagdagan sa mga oras ng opisina at mga seksyon, kami din ay shorts. 86 00:03:31,640 --> 00:03:35,930 Ay kahit sino kailanman nakita ang isang pares ng mga shorts o walkthroughs sa video 87 00:03:35,930 --> 00:03:36,750 sa website? 88 00:03:36,750 --> 00:03:37,250 SIGE. 89 00:03:37,250 --> 00:03:39,510 Kaya ang mga ito ay tunay, tunay na kapaki-pakinabang. 90 00:03:39,510 --> 00:03:42,470 Ang aming mga kaibig-ibig Harvard production team doon sa paaralan na 91 00:03:42,470 --> 00:03:47,910 up north, may kinukunan sila at ginawa mga paniwala walkthrough video. 92 00:03:47,910 --> 00:03:52,290 >> Makikita nila ang magdadala sa iyo sa pamamagitan ng hakbang sa pamamagitan ng kung paano pumunta tungkol sa paglutas ng problema. 93 00:03:52,290 --> 00:03:56,340 Madalas, kung ikaw ay naguguluhan tungkol sa isang simpleng konsepto, isang isahan na konsepto, 94 00:03:56,340 --> 00:03:59,780 tingnan, dahil marahil kami ay may isang maikling on ito sa isang lugar sa aming website. 95 00:03:59,780 --> 00:04:03,800 At ito ay karaniwang isang mahusay na mapagkukunan upang tumingin para sa kapag ikaw unang 96 00:04:03,800 --> 00:04:06,510 nawala sa kung paano panghawakan ang isang problema. 97 00:04:06,510 --> 00:04:09,750 >> Ikatlo, kami ay mayroon ding study50 at reference50. 98 00:04:09,750 --> 00:04:15,650 Kaya pag-aaral 50 sa website ay lamang ng isang link. 99 00:04:15,650 --> 00:04:21,500 Ito ay, tingin ko, study.cs50.net o isang bagay tulad na. 100 00:04:21,500 --> 00:04:22,860 Google lamang ito. 101 00:04:22,860 --> 00:04:24,229 Mayroon kaming maraming mga slides handa. 102 00:04:24,229 --> 00:04:26,770 Mayroon kaming maraming ng shorts at walkthroughs-- bagay lahat naipon 103 00:04:26,770 --> 00:04:31,070 napakabuti at malinis at maayos para sa iyo guys lahat upang mag-browse sa pamamagitan ng, makita ang anumang mga concepts 104 00:04:31,070 --> 00:04:32,860 na ikaw ay naguguluhan tungkol sa. 105 00:04:32,860 --> 00:04:35,920 Ito marahil gusto sakop doon sa study50. 106 00:04:35,920 --> 00:04:37,640 >> Reference50-- katulad. 107 00:04:37,640 --> 00:04:41,510 Kami ay may isang pulutong ng mga iba't-ibang mga tala kaagad na magagamit para sa iyong pagtatapon. 108 00:04:41,510 --> 00:04:44,450 At bilang wakas, mayroon kaming kung ano ang tinatawag CS50 Talakayin, 109 00:04:44,450 --> 00:04:48,082 isang forum na kung saan, kung bago ang gabi ikaw ay gumagawa ng iyong problema, sabihin, 110 00:04:48,082 --> 00:04:49,880 mayroon kang isang katanungan. 111 00:04:49,880 --> 00:04:52,340 Mag-log in sa CS50 Talakayin. 112 00:04:52,340 --> 00:04:53,190 Post ang iyong mga tanong. 113 00:04:53,190 --> 00:04:55,820 At pagkatapos ay ang isa sa mga hundreds-- marahil, thousands-- ng mga kapantay 114 00:04:55,820 --> 00:04:57,960 pagkuha ng klase na ito online ay mag-log in. 115 00:04:57,960 --> 00:05:01,182 At marahil isang tao ay maaaring makakuha ng ang iyong sagot bago ang isang TA maaari. 116 00:05:01,182 --> 00:05:03,390 Ito ay mahalagang lamang ng isang online forum na maaari naming ang lahat 117 00:05:03,390 --> 00:05:04,556 gamitin upang talakayin ang aming mga problema. 118 00:05:04,556 --> 00:05:06,483 Iyan ay cool. 119 00:05:06,483 --> 00:05:10,660 120 00:05:10,660 --> 00:05:11,550 >> SIGE. 121 00:05:11,550 --> 00:05:13,220 Kaya nagtatakda problema. 122 00:05:13,220 --> 00:05:17,840 Kami ay tungkol sa karapatan sa makapal ng hanay ng problema sa dalawa. 123 00:05:17,840 --> 00:05:20,570 Marami sa atin ay may naka struggled sa pamamagitan ng hanay ng problema ng isa. 124 00:05:20,570 --> 00:05:24,460 Alam na namin na marahil naghihintay para gawin ang huling gabi iyong pset 125 00:05:24,460 --> 00:05:28,170 ay hindi ang smartest bagay na gawin sa CS50. 126 00:05:28,170 --> 00:05:32,380 >> Tips at mga tip para sa mahalagang tagumpay ay basahin ang buong spec. 127 00:05:32,380 --> 00:05:36,270 Ilan sa inyo ay mayroon na basahin ang spec para sa pset 2? 128 00:05:36,270 --> 00:05:36,770 SIGE. 129 00:05:36,770 --> 00:05:39,840 Iyan ay isang solid na halaga. 130 00:05:39,840 --> 00:05:43,210 Alam ko guys ikaw ay malamang na kinikilala sa ngayon ang mga specs ay talagang mahaba. 131 00:05:43,210 --> 00:05:45,700 Ang mga ito ay tunay, tunay long. 132 00:05:45,700 --> 00:05:49,630 >> Ito ay talagang mahirap na basahin ang bawat linya ng na maingat na salita ng salita. 133 00:05:49,630 --> 00:05:52,780 Gusto mong pagsagap lamang na kung saan ang ito ay nagsasabi sa iyo na gawin ang isang bagay. 134 00:05:52,780 --> 00:05:54,459 Ako garantiya sa iyo, huwag gawin iyon. 135 00:05:54,459 --> 00:05:56,750 Kung gagawin mo na, ikaw ay malamang pagpunta sa makaligtaan sa tabi-tabi 136 00:05:56,750 --> 00:05:58,458 kung saan ito ay nagsasabi sa iyo kung paano magsimula ng isang problema 137 00:05:58,458 --> 00:06:01,140 o ito ay nagsasabi sa iyo kung ano ang pangalan ang iyong problema o ito ay nagsasabi sa iyo, 138 00:06:01,140 --> 00:06:03,720 ito ay marahil ang pinakamahusay na paraan upang simulan ang paggawa sa iyong problema. 139 00:06:03,720 --> 00:06:05,050 At pagkatapos ay makikita mo mawawala. 140 00:06:05,050 --> 00:06:08,219 >> Kapag sinubukan mong basahin ang iyong pagsasapalaran kalagitnaan sa pamamagitan, 141 00:06:08,219 --> 00:06:10,510 isang pulutong ng mga mahalagang information-- in na kayo ay hindi 142 00:06:10,510 --> 00:06:12,260 pagpunta sa ma-talagang access. 143 00:06:12,260 --> 00:06:13,219 Kaya basahin ang buong spec. 144 00:06:13,219 --> 00:06:15,468 Subukan na basahin ang buong spec bago ka dumating sa seksyon, 145 00:06:15,468 --> 00:06:17,360 dahil pagkatapos, kapag kami makipag-usap tungkol sa pset, 146 00:06:17,360 --> 00:06:21,070 Maaari namin ang lahat ng mayroon ng isang ideya ng kung ano ang nangyayari sa. 147 00:06:21,070 --> 00:06:25,169 >> Pangalawa, ito ay isang konsepto na makikita kong isangguni 148 00:06:25,169 --> 00:06:26,710 isang pulutong buong kurso semester. 149 00:06:26,710 --> 00:06:30,070 Ngunit mahalagang, sinalubong kami nang kalahating, di ba? 150 00:06:30,070 --> 00:06:33,970 Me, bilang iyong TA at Jason bilang course manager at Scaz bilang iyong propesor 151 00:06:33,970 --> 00:06:37,120 at si David bilang iyong professor at ang lahat ng ang iba pang mga kaibig-ibig TAS sa kursong ito, 152 00:06:37,120 --> 00:06:39,830 katulong sa course-- gagawin namin ang aming pinakamahusay na 153 00:06:39,830 --> 00:06:42,965 upang matiyak na ikaw ay naka-set up upang magtagumpay sa kursong ito. 154 00:06:42,965 --> 00:06:43,840 Kami hold section. 155 00:06:43,840 --> 00:06:44,870 Kami hold oras ng opisina. 156 00:06:44,870 --> 00:06:47,087 Susubukan naming sagutin ang iyong telepono tawag, sagutin ang iyong e-mail, 157 00:06:47,087 --> 00:06:49,670 gawin ang lahat ng aming makakaya upang gumawa ng mga Siguraduhin na ang iyong mga katanungan ay masasagot. 158 00:06:49,670 --> 00:06:51,460 >> Gayunpaman, makakatulong sa amin sa labas ng masyadong. 159 00:06:51,460 --> 00:06:52,450 Matugunan sa amin sa kalagitnaan. 160 00:06:52,450 --> 00:06:56,040 Kung dumating ka sa oras ng opisina hindi pagkakaroon ng nawala sa section, hindi 161 00:06:56,040 --> 00:07:02,060 matapos makita ang mga aralin, na walang anomang ideya kung ano ang nangyayari, ay tulad ng, tulungan ninyo ako. 162 00:07:02,060 --> 00:07:04,350 Pupunta ako sa maging tulad ng, well, ako ng paumanhin. 163 00:07:04,350 --> 00:07:06,410 Ito ay maaaring oras na ipahiram na balikat sa sigaw sa, 164 00:07:06,410 --> 00:07:08,959 dahil hindi ako sigurado kung ano ang maaari kong gawin upang makatulong sa iyo 165 00:07:08,959 --> 00:07:12,000 kung hindi mo subukan na hindi bababa sa tulong iyong sarili ng isang maliit na piraso sa simula. 166 00:07:12,000 --> 00:07:12,910 Matugunan sa amin sa kalagitnaan. 167 00:07:12,910 --> 00:07:15,020 Alam mo, mangyaring bumalik inihanda upang sagutin at makakuha ng 168 00:07:15,020 --> 00:07:16,353 handa na umaakit sa mga materyales. 169 00:07:16,353 --> 00:07:19,342 Ito ay gumagawa ng mga bagay-bagay kaya magkano madali para sa lahat ng kasangkot. 170 00:07:19,342 --> 00:07:22,970 Oo, na medyo marami ito. 171 00:07:22,970 --> 00:07:23,720 >> Grading. 172 00:07:23,720 --> 00:07:29,250 Kaya sa syllabus, ito ay medyo sa malalim tungkol sa kung paano namin grade. 173 00:07:29,250 --> 00:07:32,440 Ngunit mahalagang, ang breakdown in na ito ay 50% ng iyong grade 174 00:07:32,440 --> 00:07:34,530 ay ang psets, na ay kaibig-ibig, dahil na 175 00:07:34,530 --> 00:07:37,400 kung saan ka gumagastos ang malawak karamihan ng iyong oras course on. 176 00:07:37,400 --> 00:07:39,854 Quizzes 40%, at ang iyong huling proyekto ay 10%. 177 00:07:39,854 --> 00:07:42,520 Magkakaroon ng dalawang pagsusulit sa buong ang mga kurso ng semestre. 178 00:07:42,520 --> 00:07:47,050 Sa tingin ko ang mga oras at petsa ay nakalista din sa syllabus. 179 00:07:47,050 --> 00:07:49,210 >> Ang paraan na kami ay grading iyong psets 180 00:07:49,210 --> 00:07:53,930 ay mayroon kaming mahalagang apat mga halaga na namin italaga sa bawat grado. 181 00:07:53,930 --> 00:07:57,250 Kami ay may isang halaga ng mga saklaw, kawastuhan, disenyo, at estilo. 182 00:07:57,250 --> 00:08:01,530 Kaya bilang na nakikita mo, na ang uri ng ating formula para sa pagkalkula ng psets. 183 00:08:01,530 --> 00:08:03,640 Tatlong bigyan kami ng mas bigat sa kawastuhan, 184 00:08:03,640 --> 00:08:06,140 dahil malinaw naman ang iyong mga coach ay dapat na pagsubok para sa mga kaso 185 00:08:06,140 --> 00:08:08,480 na gusto naming ito upang subukan ang para sa. 186 00:08:08,480 --> 00:08:11,000 >> Ikaw guys ang lahat ng may check50 sa iyong pagtatapon. 187 00:08:11,000 --> 00:08:13,730 Ito ay isang kapaki-pakinabang na function na kayo guys maaari lahat 188 00:08:13,730 --> 00:08:17,560 i-upload ang iyong mga code sa aming mga server, kung saan kami ay suriin ito para sa iyo. 189 00:08:17,560 --> 00:08:20,800 At iyong nakita ang mga frowny mukha, smiley mukha. 190 00:08:20,800 --> 00:08:22,119 Ang mga ito ay tunay, tunay na kapaki-pakinabang. 191 00:08:22,119 --> 00:08:23,910 Mangyaring huwag maging ang ang mag-aaral na gusto pagsusubok 192 00:08:23,910 --> 00:08:26,230 sa hardcode sa lahat ng mga kasagutan sa mga ito. 193 00:08:26,230 --> 00:08:30,050 Tiyak na nakita ko ang isang pset kung saan isang tao makita ng lahat ang mga halaga ng check50 194 00:08:30,050 --> 00:08:33,429 at mahirap lamang sila naka-code in-- kung ang bilang na ito, i-print out ang numerong ito. 195 00:08:33,429 --> 00:08:35,080 Kung ang numerong iyon, i-print out ang numerong iyon. 196 00:08:35,080 --> 00:08:36,090 Huwag gawin iyon. 197 00:08:36,090 --> 00:08:39,360 >> Kahit na technically check50 ay tama, 198 00:08:39,360 --> 00:08:41,809 ang iyong mga paraan ng paglutas ng Ang problema ay hindi tama. 199 00:08:41,809 --> 00:08:45,770 Kaya gamitin lamang check50 matipid. 200 00:08:45,770 --> 00:08:48,497 Ngunit ring siguraduhin na ikaw ay maunawaan kung paano ito gumagana, 201 00:08:48,497 --> 00:08:50,580 ang programa ay gumagana bilang karagdagan sa check50, 202 00:08:50,580 --> 00:08:53,120 dahil hindi namin maaaring subukan ang bawat posibleng kaso ng check50. 203 00:08:53,120 --> 00:08:55,440 Susubukan naming i-testing ang ilan sa kanila. 204 00:08:55,440 --> 00:09:00,390 >> Design ay mahalagang, kung paano mahusay na dinisenyo ay ang iyong code? 205 00:09:00,390 --> 00:09:04,150 Kung ikaw ay kopya-paste maramihang mga linya ng code sa marami, maraming beses. 206 00:09:04,150 --> 00:09:06,960 Siguro hindi mo na magkaroon ng lubos ang pinakamahusay na disenyo sa iyong code. 207 00:09:06,960 --> 00:09:09,470 Siguro ay oras na upang idagdag na loop. 208 00:09:09,470 --> 00:09:12,090 Mahalaga, dito ang lahat lamang tungkol sa sinusubukan na gawin ang iyong code, 209 00:09:12,090 --> 00:09:17,010 sinusubukan mong isulat ang iyong code nang mahusay hangga't maaari upang ang iyong programa ay tumatakbo 210 00:09:17,010 --> 00:09:19,630 sa lalong madaling panahon. 211 00:09:19,630 --> 00:09:20,996 >> Panghuli, mayroon kaming style. 212 00:09:20,996 --> 00:09:24,360 Kaya style ay uri ng isang arbitrary, subjective term. 213 00:09:24,360 --> 00:09:27,470 Alam ko opisyal na namin ay may isang estilo ng gabay 50 para sa CS50, 214 00:09:27,470 --> 00:09:30,050 kung saan ito ay nagsasabi sa iyo, oh, ikaw dapat magkaroon dito ng isang space. 215 00:09:30,050 --> 00:09:32,220 Ikaw ay dapat na uri ng format ang iyong code sa ganitong paraan. 216 00:09:32,220 --> 00:09:34,070 Dapat mong pangalanan ang mga bagay-bagay sa ganitong paraan. 217 00:09:34,070 --> 00:09:38,180 >> Hindi ko talagang pakialam, per se, kung paano pinili mo sa estilo ng iyong code, 218 00:09:38,180 --> 00:09:39,840 basta't manatili ka pare-pareho. 219 00:09:39,840 --> 00:09:43,732 Halimbawa, kung gusto mong mag-iwan ng isang puwang pagkatapos ng iyong apat na 220 00:09:43,732 --> 00:09:45,690 bago ang iyong apat na loop, gawin lamang na bawat oras. 221 00:09:45,690 --> 00:09:46,523 Huwag uri ng gawin ito. 222 00:09:46,523 --> 00:09:47,730 Huwag gawin ito sa iba pang mga beses. 223 00:09:47,730 --> 00:09:51,046 Kung gusto mong panatilihin ang kulot braces space sa isang tiyak na paraan, 224 00:09:51,046 --> 00:09:52,170 laging lamang gawin ito na paraan. 225 00:09:52,170 --> 00:09:54,628 Huwag uri ng gawin ito sa isang lugar dito at sa tabi-tabi hindi doon. 226 00:09:54,628 --> 00:09:57,010 Kapag kami ay pagmamarka, ito ay talagang mahirap 227 00:09:57,010 --> 00:09:59,420 kung mayroon akong ideya kung paano ka na sa pag-format ng iyong code, 228 00:09:59,420 --> 00:10:02,064 bagay ay wacky at wala sa lugar. 229 00:10:02,064 --> 00:10:04,980 Kung panatilihin ito sa iyo lamang pare-pareho, ito ay mas madali para sa akin bilang ang mas malaki 230 00:10:04,980 --> 00:10:06,310 upang ma-basahin ang iyong code. 231 00:10:06,310 --> 00:10:09,393 Ito ay lubhang mas madali para sa iyo bilang isang mag-aaral para ma-tumingin sa pamamagitan ng iyong code 232 00:10:09,393 --> 00:10:11,720 at makita kung ano ang mali sa ito slash kung bakit may mga isyu. 233 00:10:11,720 --> 00:10:15,740 Style ay isa sa mga pinakamadaling bagay ka guys ay maaaring gawin upang makakuha ng ganap na marka. 234 00:10:15,740 --> 00:10:18,770 Mahalaga, kung mahalaga sa iyo lamang, kung magbabayad ka ng limang minuto ng pansin 235 00:10:18,770 --> 00:10:22,760 sa iyong code sa bawat linggo, dapat mong maging pagkuha ng buong puntos style. 236 00:10:22,760 --> 00:10:26,020 >> Panghuli, mayroon kaming kung ano ang tawag dito ang multiplier ng saklaw. 237 00:10:26,020 --> 00:10:28,890 Scope-- alam ko ito ay isang malaking salita, lalo na sa ganitong klase. 238 00:10:28,890 --> 00:10:31,030 Ngunit saklaw, ang lahat ng mga paraan na ay na kayo ay pagtatangka 239 00:10:31,030 --> 00:10:33,670 ang psets sa abot ng iyong kakayahan. 240 00:10:33,670 --> 00:10:37,180 Kung i-on mo sa tatlong out ng iyong apat na mga problema 241 00:10:37,180 --> 00:10:39,460 at hindi kahit na pagtatangka ng huli, ikaw ay malamang na 242 00:10:39,460 --> 00:10:41,630 pagpunta upang mawala ang ilang mga puntos sa saklaw. 243 00:10:41,630 --> 00:10:44,560 >> Kahit na simulan mo lang ang problema, gawin ang iyong pinakamahusay na maglakad sa pamamagitan nito. 244 00:10:44,560 --> 00:10:47,691 Kahit na kung ito ay hindi gumagana, i-on ito sa, dahil na nagpapakita at nagpapakita 245 00:10:47,691 --> 00:10:50,190 sa amin na iyong sinusubukan, na tinangka ng mga hanay ng problema 246 00:10:50,190 --> 00:10:51,430 sa abot ng iyong kakayahan. 247 00:10:51,430 --> 00:10:53,800 At pagkatapos ay maaari naming ibigay sa iyo full puntos para sa saklaw. 248 00:10:53,800 --> 00:10:58,715 >> Saklaw ay napakahalaga para sa kapag kami din makipag-usap tungkol sa mga pinakamababang pset iskor drop. 249 00:10:58,715 --> 00:11:02,010 Kaya sa kabuuan ng mga semestre, ka guys ay may siyam na psets. 250 00:11:02,010 --> 00:11:05,340 At kami ay talagang ay bumababa ang pinakamababang marka sa labas ng mga siyam, 251 00:11:05,340 --> 00:11:07,670 ngunit lamang kung ikaw ay mayroong ganap na puntos saklaw. 252 00:11:07,670 --> 00:11:11,120 >> Kaya kung i-on mo sa isang hindi kumpleto pset, sa kasamaang-palad, hindi namin maaaring i-drop na ang isa, 253 00:11:11,120 --> 00:11:13,540 dahil ang iyong mga nasasakupan puntos ay hindi nakumpleto. 254 00:11:13,540 --> 00:11:16,570 Kaya kahit na mayroon ka ng mga kakila-kilabot na linggo kung saan ikaw ay namamatay at ikaw ay may sakit 255 00:11:16,570 --> 00:11:20,040 o ang iyong aso ay namatay, ang iyong cat ay namatay, at ikaw ay overloaded sa araling-bahay, 256 00:11:20,040 --> 00:11:21,074 pagtatangka lamang ang pset. 257 00:11:21,074 --> 00:11:22,490 Gawin ito sa abot ng iyong kakayahan. 258 00:11:22,490 --> 00:11:23,840 Kung hindi ito gumana, ito ay hindi mahalaga. 259 00:11:23,840 --> 00:11:24,506 Buksan ito Just in. 260 00:11:24,506 --> 00:11:26,590 Hindi bababa sa maaari naming ibigay mo ang mga puntos para sa mga pagsisikap. 261 00:11:26,590 --> 00:11:28,510 >> A para sa pagsisikap sa ganitong klase. 262 00:11:28,510 --> 00:11:30,170 Hindi bababa sa pinakamababang marka drop para sa pagsisikap. 263 00:11:30,170 --> 00:11:32,354 Kaya oo. 264 00:11:32,354 --> 00:11:33,270 Iyan ay medyo magkano ito. 265 00:11:33,270 --> 00:11:36,521 Kahit sino ay may mga katanungan ba kaya malayo sa kung paano namin na marka sa klase? 266 00:11:36,521 --> 00:11:37,187 O alinman sa mga ito? 267 00:11:37,187 --> 00:11:41,220 Alinman sa mga kaya far-- seksyon, mga oras ng opisina? 268 00:11:41,220 --> 00:11:41,720 Cool. 269 00:11:41,720 --> 00:11:46,720 270 00:11:46,720 --> 00:11:47,800 SIGE. 271 00:11:47,800 --> 00:11:51,260 >> Kaya ito ay isang paksa na hindi tunay na kagustuhan na makipag-usap tungkol sa. 272 00:11:51,260 --> 00:11:53,084 Hindi ko talagang nais na makipag-usap tungkol dito. 273 00:11:53,084 --> 00:11:55,250 Ikaw guys ay hindi talagang gusto marinig akong makipag-usap tungkol dito. 274 00:11:55,250 --> 00:11:57,690 Ngunit sa kasamaang palad, lahat tayo kailangang makipag-usap tungkol dito. 275 00:11:57,690 --> 00:12:00,110 David ginugol ng 20 minuto sa isang magbigay ng panayam sa pakikipag-usap tungkol dito. 276 00:12:00,110 --> 00:12:02,580 At iyon ay ang paksa ng academic honesty. 277 00:12:02,580 --> 00:12:08,110 >> Kaya kaming lahat ay may malamang na nakasulat isang sanaysay sa ibang panahon sa aming Yale career. 278 00:12:08,110 --> 00:12:11,800 Marahil mo na tapat na paraan ng isang talk na kung saan namin Na ay sinabi na hindi mamlahiyo aming mga sanaysay, 279 00:12:11,800 --> 00:12:13,940 dahil ang trabaho ay hindi atin. 280 00:12:13,940 --> 00:12:18,109 Sa computer science, kami ay ang parehong uri ng konsepto. 281 00:12:18,109 --> 00:12:20,150 Lahat ng trabaho na iyong isinumite, lahat ng code na sinulat mo 282 00:12:20,150 --> 00:12:21,900 dapat na code na iyong isinulat. 283 00:12:21,900 --> 00:12:24,280 Dapat hindi code na na sa iyo kinopya mula sa ibang lugar. 284 00:12:24,280 --> 00:12:26,777 Dapat hindi code na na iyong googled at plopped sa 285 00:12:26,777 --> 00:12:28,360 at hindi mo talaga alam kung ito gumagana. 286 00:12:28,360 --> 00:12:32,440 Ikaw uri ng magkaroon ng isang pakiramdam ng pagkakaroon ng kung ano ang ginagawa ngunit hindi talaga. 287 00:12:32,440 --> 00:12:36,562 Kapag may pagdududa, mahalagang, ito ay maging makatuwiran lamang. 288 00:12:36,562 --> 00:12:38,520 Sa aming syllabus, kami ay isang buong listahan ng mga bagay 289 00:12:38,520 --> 00:12:40,560 nakita namin ang mga makatwirang laban sa hindi makatwirang. 290 00:12:40,560 --> 00:12:43,820 >> Halimbawa, ang mga makatwirang ay sa iyo at sa iyong mga kaibigan 291 00:12:43,820 --> 00:12:47,360 tinatalakay kung ano ang pinakamahusay na paraan upang pumunta tungkol lohikal paglutas ng problema. 292 00:12:47,360 --> 00:12:48,910 Iyan ay medyo makatwirang. 293 00:12:48,910 --> 00:12:53,244 Ano ang hindi ay magiging makatwirang ay kung ikaw guys nakuha nang magkasama, nag-type ang parehong code, 294 00:12:53,244 --> 00:12:54,410 at naka sa parehong code. 295 00:12:54,410 --> 00:12:56,302 Iyan ay hindi makatwiran. 296 00:12:56,302 --> 00:12:57,510 Parehong bagay, uri ng isang sanaysay. 297 00:12:57,510 --> 00:12:59,290 Kung nais mong talakayin sa iyong mga kaibigan, hey, 298 00:12:59,290 --> 00:13:00,220 ito ang gusto kong isulat ang tungkol sa. 299 00:13:00,220 --> 00:13:02,500 Ito ang mga hakbang na gusto kong kumuha na magsulat tungkol sa mga ito, malaki. 300 00:13:02,500 --> 00:13:03,208 Iyan ay kahanga-hanga. 301 00:13:03,208 --> 00:13:04,790 Mangyaring makipagtulungan sa bawat isa. 302 00:13:04,790 --> 00:13:06,540 Kung sinimulan mo ang isang lalaki pagsulat sa parehong bagay, 303 00:13:06,540 --> 00:13:10,020 turn sa parehong sanaysay, na mas mababa ang OK. 304 00:13:10,020 --> 00:13:13,200 Kaya kapag may pagdududa, lamang ay hindi gawin ito. 305 00:13:13,200 --> 00:13:16,940 >> Dito, namin sa CS50, mayroon kaming mga script na tumakbo sa automate upang subukan 306 00:13:16,940 --> 00:13:21,740 hindi lamang ang kawastuhan ng iyong code, kundi pati na rin sa pagiging natatangi ng iyong code. 307 00:13:21,740 --> 00:13:25,920 Kaya mangyaring huwag ilagay sa amin sa posisyon ng pagkakaroon ng mag-refer ang inyong kaso sa EXCOMM. 308 00:13:25,920 --> 00:13:31,110 Mangyaring lamang para sa lahat ng tao, sabihin lamang gumawa ito ng isang kahanga-hangang karanasan. 309 00:13:31,110 --> 00:13:33,600 Natututo ng mas mahusay na sa bawat tao, namin ang lahat ay mas masaya, 310 00:13:33,600 --> 00:13:37,926 at naka-set up ang lahat nating magtagumpay sa kursong ito. 311 00:13:37,926 --> 00:13:39,800 Isang bagay na napaka natatanging tungkol sa klase 312 00:13:39,800 --> 00:13:42,660 na sa tingin ko lahat ng tao ay dapat na tunay bigyang-pansin ay na kami ay 313 00:13:42,660 --> 00:13:44,930 ano ang tinatawag na ang panghihinayang sugnay sa aming syllabus. 314 00:13:44,930 --> 00:13:50,010 Kaya mahalagang, sa loob ng 72 na oras, kung naniniwala ka na nagawa mo ang isang bagay 315 00:13:50,010 --> 00:13:53,240 hindi ka talagang sigurado ay Kung naaangkop, mangyaring dumating sa amin. 316 00:13:53,240 --> 00:13:57,220 Ipinapangako namin sa iyo na sa loob ng 72 na oras kami ay hawakan ang ating sarili ang kaso 317 00:13:57,220 --> 00:13:59,820 walang pagsangguni sa isang mas mataas na kapangyarihan sa administrasyon. 318 00:13:59,820 --> 00:14:03,100 >> Kaya't kung ikaw ay dumating sa akin at sabihin, Andi, hey, Ako ay talagang paumanhin, 319 00:14:03,100 --> 00:14:07,620 ngunit sa tingin ko ay may isang pares ng mga linya sa aking code kagabi na ako uri ng googled, 320 00:14:07,620 --> 00:14:10,120 Nakakuha off ng stack Umaapaw, kopyahin at i-paste, 321 00:14:10,120 --> 00:14:13,680 at ako ay talagang, talagang paumanhin tungkol sa na, ipaalam sa akin. 322 00:14:13,680 --> 00:14:16,900 Mangyaring huwag pabayaan ito magnaknak at umaasa lamang na mahuli ko ito. 323 00:14:16,900 --> 00:14:17,784 Kami ay mahuli ito. 324 00:14:17,784 --> 00:14:18,450 Lumapit ka lamang sa akin. 325 00:14:18,450 --> 00:14:20,520 Ipaalam sa akin sa loob ng 72 na oras. 326 00:14:20,520 --> 00:14:22,240 Kami ay malaman ng isang solusyon. 327 00:14:22,240 --> 00:14:26,679 At ang pangako namin na hindi kami mag-refer sa awtoridad mahalagang unibersidad. 328 00:14:26,679 --> 00:14:29,220 Kaya ito ay sa iyong pinakamahusay na interes na maging tapat sa lahat ng tao lamang 329 00:14:29,220 --> 00:14:31,720 kasangkot sa kurso. 330 00:14:31,720 --> 00:14:34,630 >> SIGE. 331 00:14:34,630 --> 00:14:35,240 SIGE. 332 00:14:35,240 --> 00:14:37,800 Kaya ngayon, mabilis bago Ilipat ko sa, ang sinuman 333 00:14:37,800 --> 00:14:42,670 may mga katanungan tungkol Logistics sa kung paano kurso kami ay pagpunta upang tumakbo, 334 00:14:42,670 --> 00:14:45,982 paano seksyon ay pagpunta upang tumakbo, ang alinman sa mga iyon? 335 00:14:45,982 --> 00:14:46,711 SIGE. 336 00:14:46,711 --> 00:14:47,210 Oo. 337 00:14:47,210 --> 00:14:48,126 >> Madla: [hindi marinig]? 338 00:14:48,126 --> 00:14:50,414 339 00:14:50,414 --> 00:14:51,080 ANDI PENG: Oo. 340 00:14:51,080 --> 00:14:54,850 Kaya quizzes-- kung ilan sa inyo ay sa seksyon ng Lunes / Miyerkules? 341 00:14:54,850 --> 00:14:56,700 Ilan sa inyo ay sa Martes / Huwebes? 342 00:14:56,700 --> 00:14:58,550 OK, kaya ito ay isang solid split dito. 343 00:14:58,550 --> 00:15:00,900 Kaya ang paraan na aming pinatatakbo ito sa Yale ay na tayo 344 00:15:00,900 --> 00:15:04,040 ay pagpunta sa may dalawang magkahiwalay na quizzes-- isa para sa bawat section-- na 345 00:15:04,040 --> 00:15:06,160 ay kinuha sa panahon ng klase. 346 00:15:06,160 --> 00:15:09,310 Sa tingin ko ay October, dulo ng Oktubre, isang bagay tulad na, tulad ng isang linggo 347 00:15:09,310 --> 00:15:10,794 ng pagsusulit. 348 00:15:10,794 --> 00:15:11,960 Oo, kaya lang dumating sa klase. 349 00:15:11,960 --> 00:15:13,920 On na Lunes o Miyerkules, ikaw ay kumuha ng pagsusulit. 350 00:15:13,920 --> 00:15:16,336 On na Martes o Huwebes, ikaw ay kumuha ng isang iba't ibang mga pagsusulit. 351 00:15:16,336 --> 00:15:18,570 Ngunit sa parehong materyal ay sakop. 352 00:15:18,570 --> 00:15:19,160 Oo. 353 00:15:19,160 --> 00:15:20,660 Magandang tanong. 354 00:15:20,660 --> 00:15:21,160 Oo. 355 00:15:21,160 --> 00:15:23,260 >> Madla: Saan ginagawa namin pumunta upang suriin ang aming mga grado? 356 00:15:23,260 --> 00:15:23,926 >> ANDI PENG: Oo. 357 00:15:23,926 --> 00:15:28,420 Kaya ako ay pagpapadala ng isang e-mail kahit anong sa bawat linggo 358 00:15:28,420 --> 00:15:31,460 kapag quizzes ay graded-- o, Paumanhin, kapag psets ay namarkahan. 359 00:15:31,460 --> 00:15:34,120 Psets ay karaniwang naka sa pamamagitan ng tanghali o Biyernes. 360 00:15:34,120 --> 00:15:37,540 Kaya pangako ko na ang gagawin ko ay subukan upang makakuha ng mga ito pabalik sa iyo 361 00:15:37,540 --> 00:15:40,000 sa pamamagitan ng tanghali sa mga sumusunod na Biyernes. 362 00:15:40,000 --> 00:15:44,950 >> Tuwing ako grade ng pset, aking susuguin out ng isang abiso sa grado ng libro 363 00:15:44,950 --> 00:15:47,070 na nagsasabi sa iyo ang iyong mga puntos Maaaring matingnan nang online. 364 00:15:47,070 --> 00:15:52,022 Kaya karapatan sa linggong ito, pagkatapos kong tapusin pagmamarka psets noong nakaraang linggo, 365 00:15:52,022 --> 00:15:54,230 ka guys ay makakuha ng isang e-mail notification na nagsasabi sa iyo, 366 00:15:54,230 --> 00:15:55,870 hey ito ay kung saan mo pumunta upang tingnan ang iyong mga marka. 367 00:15:55,870 --> 00:15:57,680 At maaari mong makita ang bawat breakdown ng iyong mga marka. 368 00:15:57,680 --> 00:15:58,555 Maaari mong makita ang mga komento. 369 00:15:58,555 --> 00:16:00,360 Oh, mabilis na bagay din. 370 00:16:00,360 --> 00:16:03,060 Ang puna na seksyon sa dakilang aklat ay kung saan kukunin ko na marahil 371 00:16:03,060 --> 00:16:05,300 gastusin sa karamihan ng aking mga oras grading. 372 00:16:05,300 --> 00:16:07,094 Kaya isang bagay na talagang mahalaga kapag 373 00:16:07,094 --> 00:16:09,010 ka guys ay tumitingin ang iyong mga marka sa iyong psets 374 00:16:09,010 --> 00:16:11,400 ay hindi lamang naghahanap sa pisikal na marka 375 00:16:11,400 --> 00:16:14,630 ngunit din ang pagkuha ng oras upang talagang basahin ang aking mga komento. 376 00:16:14,630 --> 00:16:17,820 >> Madalas na nagbibigay sa iyo ng feedback sa kung paano ka sa paglutas ng problema. 377 00:16:17,820 --> 00:16:20,480 Kung kailangan mong gawin isang bagay na mas mahusay na ng kaunti, 378 00:16:20,480 --> 00:16:24,080 nakabubuo pamumuna ay karaniwang ay pinakamahusay na ibinigay sa mga seksyon ng mga komento. 379 00:16:24,080 --> 00:16:26,950 Kaya mangyaring, mangyaring, pupuntahan ko upang patagalin ang pagsusulat ng mga komento. 380 00:16:26,950 --> 00:16:30,440 Mangyaring, Gusto ko talagang Pinahahalagahan ito kung ikaw guys ay basahin ang mga komento. 381 00:16:30,440 --> 00:16:31,170 SIGE. 382 00:16:31,170 --> 00:16:34,150 Cool. 383 00:16:34,150 --> 00:16:34,680 >> Lahat tama. 384 00:16:34,680 --> 00:16:40,680 Kaya kami ay pagpunta sa simulan ang pakikipag at lamang na suriin mabilis 385 00:16:40,680 --> 00:16:45,040 ang ilan sa mga materyal mula sa week zero kaya lang hindi namin 386 00:16:45,040 --> 00:16:48,760 sa kanan ng pahina para sa simula ng mga problema na ito linggo. 387 00:16:48,760 --> 00:16:52,600 Kaya habang loop ay isa sa tatlong mga uri ng mga loop 388 00:16:52,600 --> 00:16:54,510 napag-usapan namin kanina sa klase na ito. 389 00:16:54,510 --> 00:16:57,060 >> Ang isang habang loop mahalagang ay nakasulat sa mga syntax 390 00:16:57,060 --> 00:17:00,666 kung saan, habang ang isang tiyak na kalagayan, gawin ito nang paulit-ulit, di ba? 391 00:17:00,666 --> 00:17:02,040 Isipin ito sa ganitong graphic dito. 392 00:17:02,040 --> 00:17:04,780 Ikaw ay pagpunta sa magsimula sa isang tiyak na punto sa iyong code. 393 00:17:04,780 --> 00:17:09,030 Ikaw ay pagpunta upang ipasok ang kalagayan loop if-- hindi ko know-- x ay mas mababa kaysa sa isa. 394 00:17:09,030 --> 00:17:11,677 >> Kung iyon ay totoo, ikaw ay pagpunta upang maipatupad ang katawan loop. 395 00:17:11,677 --> 00:17:14,010 At ikaw ay pagpunta sa patuloy na paggawa na muli, muli, muli, 396 00:17:14,010 --> 00:17:17,900 paulit-over-- siyang dahilan kung bakit ito ay isang loop-- hanggang nagiging inyong kalagayan 397 00:17:17,900 --> 00:17:19,079 false. 398 00:17:19,079 --> 00:17:22,140 Kaya sa ganitong paraan, ang isang habang loop ay isa sa mga mas simpleng paraan 399 00:17:22,140 --> 00:17:25,619 na magsulat ng anumang uri ng mga kondisyon na kailangang ulitin paulit-ulit-ulit. 400 00:17:25,619 --> 00:17:28,109 Maging maingat lang tuwing sumusulat ka ng anumang uri ng loop 401 00:17:28,109 --> 00:17:32,140 na mayroon kang isang kondisyon exit bilang rin ang isang pag-update sa anumang ito 402 00:17:32,140 --> 00:17:36,714 ay kaya na ang iyong mga loop ay hindi lamang tumakbo nang paulit-ulit na walang hanggan. 403 00:17:36,714 --> 00:17:38,630 Sa anumang kaso, ikaw ay pagpunta sa nais na tiyakin 404 00:17:38,630 --> 00:17:42,670 na iyong binabago ang ilang mga aspeto ng ang iyong code o sa dulo ng loop 405 00:17:42,670 --> 00:17:46,680 lamang upang matiyak na mayroon kang isang paraan ng progressing patungo sa kalagayan 406 00:17:46,680 --> 00:17:48,400 na nais mong tugunan upang end. 407 00:17:48,400 --> 00:17:50,239 Ba na magkaroon ng kahulugan sa lahat ng tao? 408 00:17:50,239 --> 00:17:52,530 Kami lamang ay hindi nais na maging naiipit sa spiral na kung saan ang 409 00:17:52,530 --> 00:17:55,710 pumunta kami sa paligid at sa paligid at walang paraan upang basagin ang loop. 410 00:17:55,710 --> 00:17:58,844 At sa bawat loop mahalagang ay isang paraan ng paggawa na. 411 00:17:58,844 --> 00:17:59,344 SIGE. 412 00:17:59,344 --> 00:18:03,030 413 00:18:03,030 --> 00:18:06,060 >> Pangalawa, marami sa inyo sa iyong Mario psets 414 00:18:06,060 --> 00:18:08,910 marahil ay nagkaroon upang umupa sa ganitong uri ng loop. 415 00:18:08,910 --> 00:18:11,802 Ito ay tinatawag na isang gawin habang loop. 416 00:18:11,802 --> 00:18:14,510 Una sa lahat, maaari sinuman sabihin sa akin kung ano ang pagkakaiba sa pagitan ng isang do 417 00:18:14,510 --> 00:18:16,586 habang loop at isang habang loop ay? 418 00:18:16,586 --> 00:18:17,086 Oo. 419 00:18:17,086 --> 00:18:21,030 >> Madla: Ang gawin habang loop ay tumatakbo sa unang [hindi marinig]. 420 00:18:21,030 --> 00:18:22,120 >> ANDI PENG: Oo, eksakto. 421 00:18:22,120 --> 00:18:27,130 Kaya habang palaging ginagawa loop isang gawin kahit anong ay sa loob ng do, sa loob ng mga bracket 422 00:18:27,130 --> 00:18:30,520 doon at ang mga kondisyon na bago mag-check para sa the-- Paumanhin, 423 00:18:30,520 --> 00:18:32,940 ginagawa na code bago suri para sa mga kalagayan. 424 00:18:32,940 --> 00:18:37,200 At ito ay lalo na may kaugnayan sa amin dito sa klase na ito, dahil ang karamihan sa mga beses 425 00:18:37,200 --> 00:18:41,450 kami ay pagpunta sa gusto upang i-prompt ang user para sa ilang uri ng mga input. 426 00:18:41,450 --> 00:18:43,520 At pagkatapos, depende sa ang input bigyan sila sa amin, 427 00:18:43,520 --> 00:18:46,150 pagkatapos ay maaari naming suriin, oh, gawin kailangan namin upang i-prompt ang mga ito muli? 428 00:18:46,150 --> 00:18:49,930 >> Kaya sa Mario, kung ibinigay mo ang user isang negatibong taas, halimbawa, 429 00:18:49,930 --> 00:18:52,990 ikaw ay pagpunta sa unang prompt at gawin ang anumang nasa loob. 430 00:18:52,990 --> 00:18:54,820 Pagkatapos ay ikaw ay pagpunta upang suriin habang. 431 00:18:54,820 --> 00:18:57,570 Alam mo, ay negatibong 1, ay na ang isang positibong numero? 432 00:18:57,570 --> 00:19:00,680 Kung ito ay hindi, ako pagpunta upang pumunta bumalik at ulitin ang mga do at ulitin 433 00:19:00,680 --> 00:19:03,950 at ulitin at ulitin hanggang sa sila sa wakas ay magbibigay sa iyo ng isang numero na gusto mo, 434 00:19:03,950 --> 00:19:07,002 na lahat tayo ay maaaring upahan sa aming code. 435 00:19:07,002 --> 00:19:09,210 Ito ay medyo mahalaga para sa mahalagang anumang input ng user. 436 00:19:09,210 --> 00:19:11,760 Ako garantiya sa iyo ng anumang mga oras sa isang pset kung saan 437 00:19:11,760 --> 00:19:15,070 hinihiling namin sa iyo na input anumang uri ng code, hindi namin 438 00:19:15,070 --> 00:19:17,540 marahil pagpunta sa iyo isang pagsubok na kaso kung saan hindi namin 439 00:19:17,540 --> 00:19:21,200 pagpunta sa iyo ng isang bagay na masama na pagpunta sa subukan upang basagin ang iyong code. 440 00:19:21,200 --> 00:19:25,044 >> Kung sinubukan namin upang hilingin sa inyo na input ng isang integer, maaari lamang naming magbigay sa iyo ng isang string 441 00:19:25,044 --> 00:19:26,460 at makita kung paano mo hawakan na. 442 00:19:26,460 --> 00:19:30,610 Kung hihilingin namin sa iyo na gamitin ang isang edad, maaari ka naming bigyan ng isang negatibong numero 443 00:19:30,610 --> 00:19:32,340 upang makita kung paano mo hawakan na. 444 00:19:32,340 --> 00:19:37,260 Tiyakin na ikaw guys ay pagsubok para lamang mga kaso kung saan hindi mo makuha ang pinakamahusay na 445 00:19:37,260 --> 00:19:38,590 input, sabihin lamang sabihin. 446 00:19:38,590 --> 00:19:40,510 At isang gawin habang loop ay malimit ang pinakamahusay 447 00:19:40,510 --> 00:19:45,260 paraan upang idisenyo ang iyong code sa gayon na ito ay nakakatugon na saklaw. 448 00:19:45,260 --> 00:19:45,760 SIGE. 449 00:19:45,760 --> 00:19:48,930 450 00:19:48,930 --> 00:19:49,470 >> SIGE. 451 00:19:49,470 --> 00:19:53,270 Kaya ito ay marahil ang pinaka complex loop sa labas ng tatlong 452 00:19:53,270 --> 00:19:54,990 na kami ay tumingin sa ngayon. 453 00:19:54,990 --> 00:19:56,689 At tila masyadong nakakatakot sa unang. 454 00:19:56,689 --> 00:19:59,730 Ngunit ginagarantiya ko sa inyo, sa sandaling ikaw guys makuha ang hang ng kung paano gamitin ang isang para sa loop, 455 00:19:59,730 --> 00:20:03,320 ito ay isa sa mga pinaka-kapaki-pakinabang na mga bagay, pinaka-kapaki-pakinabang na kasangkapan sa iyong arsenal 456 00:20:03,320 --> 00:20:05,300 para sa paglipat ng pasulong sa ganitong klase. 457 00:20:05,300 --> 00:20:09,920 >> Kaya halimbawa, sa simula, kami ay nagkaroon na ito napaka-simple block 458 00:20:09,920 --> 00:20:13,180 na lamang ang sinabi ulitin ito ang ilang mga parirala na tiyak na bilang ng beses. 459 00:20:13,180 --> 00:20:16,260 Siya nga pala, SAJ-- na Scaz Andi Jason. 460 00:20:16,260 --> 00:20:18,740 Malimit mag-sign kami ng aming mga email SAJ. 461 00:20:18,740 --> 00:20:20,360 Kung sinasabi nating SAJ, huwag maging nalilito. 462 00:20:20,360 --> 00:20:22,630 Iyan ay sa amin lamang. 463 00:20:22,630 --> 00:20:28,600 >> Kaya sa simula, nagawa naming magkaroon ng isang block na sinabi, ulitin ang pag-ibig ko SAJ! 464 00:20:28,600 --> 00:20:29,430 10 ulit. 465 00:20:29,430 --> 00:20:30,130 Very simple. 466 00:20:30,130 --> 00:20:32,302 Ang lohika sa likod na isang napaka, napaka-simple, right? 467 00:20:32,302 --> 00:20:35,260 Gusto kong pumunta sa unang sa pamamagitan ng unang oras at makita na, sa ikalawang pagkakataon 468 00:20:35,260 --> 00:20:38,510 at makita na, sa ikatlong pagkakataon, kaya balik at iba pa, hanggang maabot ang hanggang 10. 469 00:20:38,510 --> 00:20:41,960 >> At ang paraan namin ay kumakatawan na sa code ay sa pamamagitan lamang ng isang simpleng para sa loop. 470 00:20:41,960 --> 00:20:45,440 Kaya para sa, ikaw ay pagpunta na idedeklara ang iyong mga variable dito, sa kasong ito, 471 00:20:45,440 --> 00:20:46,349 sa isang int. 472 00:20:46,349 --> 00:20:47,390 Kami ay pagpunta upang pangalanan ito i. 473 00:20:47,390 --> 00:20:49,500 Kami ay pagpunta sa initialize ito sa 0. 474 00:20:49,500 --> 00:20:52,490 At ang pagpapahinto edition ay magiging i ay mas mababa sa 10. 475 00:20:52,490 --> 00:20:54,622 At ang mga update ay magiging i ++. 476 00:20:54,622 --> 00:20:57,750 >> At sa loob ng loop, ito ay pagpunta upang maipatupad ito hanggang sa huli 477 00:20:57,750 --> 00:21:01,490 pinindot niya ang dulo ng condition-- kung saan kaso, ito ay pagpunta upang basagin ang loop. 478 00:21:01,490 --> 00:21:04,600 May ay dapat na mga bagay-bagay na sa iyo guys may lahat ng uri ng nakikita dati 479 00:21:04,600 --> 00:21:07,270 at nagkaroon na gawin para sa iyong problema magtakda ng isa. 480 00:21:07,270 --> 00:21:12,310 Kahit sino ay may anumang mga katanungan patungkol para sa mga loop sa ngayon? 481 00:21:12,310 --> 00:21:12,930 SIGE. 482 00:21:12,930 --> 00:21:13,430 Great. 483 00:21:13,430 --> 00:21:17,520 484 00:21:17,520 --> 00:21:18,620 >> SIGE. 485 00:21:18,620 --> 00:21:22,270 Kaya para sa mga ka na magkaroon ng basahin ang mga pset spec para sa linggong ito 486 00:21:22,270 --> 00:21:27,690 Alam na namin ang pagpunta sa may upang umupa bagay na tinatawag na ASCII at ASCII table. 487 00:21:27,690 --> 00:21:32,380 Kaya David sa panayam tumawid sa madaling sabi paano ang mga computer essentially-- lahat ng bagay 488 00:21:32,380 --> 00:21:35,410 ay naka-encode sa isang computer sa binary, sa zero at mga. 489 00:21:35,410 --> 00:21:39,740 At ang paraan na ang mga computer ay magagawang sa tindahan ng iba't ibang mga halaga sa karagdagan 490 00:21:39,740 --> 00:21:44,360 sa zero at iyan ay sa pamamagitan ng paggawa ng mga mapa ang mga numero upang kumatawan sa iba pang mga digit 491 00:21:44,360 --> 00:21:47,220 o mahalagang iba pang mga character. 492 00:21:47,220 --> 00:21:49,810 >> Kaya sa kasong ito, ang isang ASCII table-- lahat ng ginagawa nito 493 00:21:49,810 --> 00:21:53,600 ay mga character na mapa, o char, sa mga numero. 494 00:21:53,600 --> 00:21:57,385 Kaya ang source code file sa iyong computer-- ang nakakakita nito, 495 00:21:57,385 --> 00:22:00,010 hey, ang isang grupo ng mga zero at mga, zero at mga, zero at mga. 496 00:22:00,010 --> 00:22:02,350 Iyon ay kung ano na naka-imbak sa aktwal na memory ng iyong computer. 497 00:22:02,350 --> 00:22:04,750 >> Ngunit kapag tayong mga tao ay nais na makipag-usap sa mga computer, 498 00:22:04,750 --> 00:22:08,249 want-- naming sabihin, halimbawa, kung gusto ko ang mga uppercase A, 499 00:22:08,249 --> 00:22:10,540 Pupunta ako sa kailangan ang ilang mga paraan ng pagsabi ng computer, oh, 500 00:22:10,540 --> 00:22:16,300 kapag nagta-type ako uppercase A, ibig sabihin ko ito representasyon sa binary. 501 00:22:16,300 --> 00:22:22,260 >> At upang ang mga paraan namin sa na inihagis sa isang arbitrary bagay na tinatawag na isang ASCII table, 502 00:22:22,260 --> 00:22:25,020 kung saan kami, bilang mga tao, tulad ng programmers, ilang oras ang nakalipas, 503 00:22:25,020 --> 00:22:28,660 nagkataon kami nagpasya na kami ay pagpunta sa italaga ang mga numero ng 504 00:22:28,660 --> 00:22:30,960 mga halaga sa mga character na ito. 505 00:22:30,960 --> 00:22:32,720 >> Kaya ka guys ay maaaring google ito online. 506 00:22:32,720 --> 00:22:37,120 Tingin ko ay may isang link na ito sa iyong pset-- lamang ng isang talahanayan na mapa ASCII, ASCII 507 00:22:37,120 --> 00:22:37,720 table. 508 00:22:37,720 --> 00:22:40,722 Sinasalin Ito lamang binary numero sa mga character. 509 00:22:40,722 --> 00:22:42,930 At ito ay pagpunta sa maging tunay kapaki-pakinabang para sa iyong hanay ng problema 510 00:22:42,930 --> 00:22:45,470 kapag gusto mo kalkulahin ang kahit ano o kung ikaw 511 00:22:45,470 --> 00:22:47,880 nais na ipakita ang ilang mga character o integer 512 00:22:47,880 --> 00:22:50,327 o manipulahin ang ilang mga character. 513 00:22:50,327 --> 00:22:52,160 Ito ay pagpunta sa maging tunay Mahalaga na sa iyo ang lahat 514 00:22:52,160 --> 00:22:55,140 malaman kung paano i-navigate ang isang talahanayan na ASCII. 515 00:22:55,140 --> 00:23:01,260 >> Kaya halimbawa, ang mga uppercase A ay kinakatawan ng mga numero ng 65. 516 00:23:01,260 --> 00:23:04,207 At ang lowercase isang ay kinakatawan ng 97. 517 00:23:04,207 --> 00:23:07,040 Kaya mahalaga na malaman na ang pagkakaiba sa pagitan ng dalawang mga halaga 518 00:23:07,040 --> 00:23:08,320 ay 32. 519 00:23:08,320 --> 00:23:13,210 Madalas, kung kailangan mong i-convert mula sa isa sa iba pang, ang pagkakaiba ay 32. 520 00:23:13,210 --> 00:23:15,710 At huwag mag-alala kung ikaw ay uri ng nalilito sa ito sa unang. 521 00:23:15,710 --> 00:23:20,230 Kami ay pumunta sa paglipas ng kung paano namin gagawin gamitin ito sa aktwal na code. 522 00:23:20,230 --> 00:23:24,700 523 00:23:24,700 --> 00:23:26,380 >> SIGE. 524 00:23:26,380 --> 00:23:30,770 Kaya para sa inyo na may mga laptop out, mag-atubili na makuha ang isang talahanayan na ASCII, 525 00:23:30,770 --> 00:23:36,030 dahil ang mga ito ay malamang na nangangailangan ka guys upang isangguni 526 00:23:36,030 --> 00:23:38,100 kung ano ang mga character ay. 527 00:23:38,100 --> 00:23:38,640 SIGE. 528 00:23:38,640 --> 00:23:42,840 >> Kaya alam na tiyak character map sa mga tiyak na mga numero, 529 00:23:42,840 --> 00:23:47,240 kung ako ay upang patakbuhin lamang ang unang linya ng na code-- ang printf a, 530 00:23:47,240 --> 00:23:50,900 lowercase ng, minus uppercase A. Kahit sino 531 00:23:50,900 --> 00:23:55,880 magkaroon ng isang hula sa kung ano ang magiging pag-print out ng screen na ngayon? 532 00:23:55,880 --> 00:23:58,190 >> Kaya una sa lahat, kung ano ang ginagawa lowercase ng kumakatawan? 533 00:23:58,190 --> 00:24:00,990 Ano ang numero na naka-encode sa talahanayan ng ASCII. 534 00:24:00,990 --> 00:24:01,490 Paumanhin? 535 00:24:01,490 --> 00:24:02,630 >> Madla: 97? 536 00:24:02,630 --> 00:24:03,630 >> ANDI PENG: 97, malaki. 537 00:24:03,630 --> 00:24:05,077 At kung ano ang uppercase A? 538 00:24:05,077 --> 00:24:06,330 >> Madla: 65. 539 00:24:06,330 --> 00:24:08,255 >> ANDI PENG: Kaya kung ano ang 97 minus 65? 540 00:24:08,255 --> 00:24:09,227 >> Madla: 32. 541 00:24:09,227 --> 00:24:09,810 ANDI PENG: OK. 542 00:24:09,810 --> 00:24:13,530 Kaya kung ano ang gagawin mo guys isipin ang pagpunta sa mangyari kapag ako input na linya ng code 543 00:24:13,530 --> 00:24:14,670 sa aking computer? 544 00:24:14,670 --> 00:24:17,981 545 00:24:17,981 --> 00:24:19,896 >> Madla: [hindi marinig]. 546 00:24:19,896 --> 00:24:21,020 ANDI PENG: Paumanhin, makipag-usap up. 547 00:24:21,020 --> 00:24:22,520 Huwag mag-alala. 548 00:24:22,520 --> 00:24:25,750 Ito ay isang ligtas na kapaligiran, bawas ang camera. 549 00:24:25,750 --> 00:24:27,550 Lahat ng Kami ay pagpunta to-- walang alalahanin. 550 00:24:27,550 --> 00:24:30,940 Basta lahat kami ay pagpunta sa magpanggap tulad ng ito ay lamang sa amin Chilling sa kuwartong ito. 551 00:24:30,940 --> 00:24:31,480 Huwag mag-alala. 552 00:24:31,480 --> 00:24:33,410 Walang tanong ay masyadong tanga. 553 00:24:33,410 --> 00:24:35,300 Walang sagot ay isang tangang sagot. 554 00:24:35,300 --> 00:24:38,260 Marahil ako pagpunta sa gumawa ng mga pagkakamali sa kurso ng aking pagtuturo. 555 00:24:38,260 --> 00:24:40,740 Seryoso, lalaki, maibulalas lang ito. 556 00:24:40,740 --> 00:24:43,092 Maging tiwala sa iyong sarili, alam mo? 557 00:24:43,092 --> 00:24:43,800 Kaya kung ano ang na? 558 00:24:43,800 --> 00:24:47,990 Sino ang nagsabi na ang huling sagot? 559 00:24:47,990 --> 00:24:48,540 SIGE. 560 00:24:48,540 --> 00:24:50,380 Mag-shout na maganda at malinaw. 561 00:24:50,380 --> 00:24:51,220 >> Madla: 32? 562 00:24:51,220 --> 00:24:51,850 >> ANDI PENG: 32. 563 00:24:51,850 --> 00:24:54,141 OK, patakbuhin ang code na ito hayaan at makita kung na kung ano ang mangyayari. 564 00:24:54,141 --> 00:25:00,260 565 00:25:00,260 --> 00:25:00,760 SIGE. 566 00:25:00,760 --> 00:25:03,300 567 00:25:03,300 --> 00:25:06,360 Kaya bilang mo guys Maaari uri ng makita, ang pangkaraniwang pagtatanda na ko 568 00:25:06,360 --> 00:25:12,250 i-set up ito para sa kung paano namin gumugol anumang uri ng mga programa sa aming computer. 569 00:25:12,250 --> 00:25:14,770 Mayroon kaming aming pangunahing pag-andar sa loob ng aming mga pangunahing function. 570 00:25:14,770 --> 00:25:17,265 Lamang ako ng pagpunta sa kopyahin at i-paste ito sa linya ng code. 571 00:25:17,265 --> 00:25:21,082 572 00:25:21,082 --> 00:25:23,540 Maging maingat din kapag ikaw guys ay pagkopya at pag-paste code. 573 00:25:23,540 --> 00:25:28,750 Minsan tiyak na operator huwag i-paste sa ibabaw ng tama. 574 00:25:28,750 --> 00:25:31,397 Sa kasong iyon, ang minus sagisag ay talagang isang dash. 575 00:25:31,397 --> 00:25:32,980 At kaya ang computer ay hindi itong kunin. 576 00:25:32,980 --> 00:25:35,870 Kaya ako ay upang bumalik at pisikal type muli iyon. 577 00:25:35,870 --> 00:25:37,846 Lamang maging maingat kapag ka guys ay ginagawa na. 578 00:25:37,846 --> 00:25:41,178 579 00:25:41,178 --> 00:25:42,660 >> SIGE. 580 00:25:42,660 --> 00:25:43,980 Kami ay pagpunta sa magpatakbo ng mga ito dito. 581 00:25:43,980 --> 00:25:45,670 Kaya kami ay pagpunta sa cd sa aming section2. 582 00:25:45,670 --> 00:25:50,470 583 00:25:50,470 --> 00:25:52,030 Tinatawag ko na ito asciimath program. 584 00:25:52,030 --> 00:25:55,690 Kaya tandaan, kapag nagpatakbo namin ang anumang program, nais naming unang itala ito 585 00:25:55,690 --> 00:25:57,150 sa pamamagitan ng pagpapatakbo ng ito sa pamamagitan ng aming make. 586 00:25:57,150 --> 00:26:00,030 At pagkatapos ay nais naming aktwal na patakbuhin ang programa sa pamamagitan ng paggawa dot-slash. 587 00:26:00,030 --> 00:26:01,280 Kaya kami ay pagpunta sa ./asciimath. 588 00:26:01,280 --> 00:26:05,780 589 00:26:05,780 --> 00:26:06,590 >> Right, doon pumunta kami. 590 00:26:06,590 --> 00:26:07,410 At nakita namin 32. 591 00:26:07,410 --> 00:26:07,930 Magaling. 592 00:26:07,930 --> 00:26:10,340 Karapat-dapat ka ng isang piraso ng kendi. 593 00:26:10,340 --> 00:26:11,160 Kendi para sa iyo. 594 00:26:11,160 --> 00:26:11,900 Sorry. 595 00:26:11,900 --> 00:26:13,100 Lahat tama. 596 00:26:13,100 --> 00:26:13,670 SIGE. 597 00:26:13,670 --> 00:26:18,070 Kaya maaari naming bumalik sa aming halimbawa dito. 598 00:26:18,070 --> 00:26:23,530 599 00:26:23,530 --> 00:26:24,345 Aah, hindi. 600 00:26:24,345 --> 00:26:29,147 601 00:26:29,147 --> 00:26:31,090 Aah. 602 00:26:31,090 --> 00:26:32,490 SIGE. 603 00:26:32,490 --> 00:26:34,610 Tingin lang ako sa pagpunta sa panatilihin ito tulad na. 604 00:26:34,610 --> 00:26:48,520 605 00:26:48,520 --> 00:26:51,240 SIGE. 606 00:26:51,240 --> 00:26:51,740 SIGE. 607 00:26:51,740 --> 00:26:55,340 Kaya bilang maaari mong makita ang isang lalaki, maaari naming gawin maraming ng mga magagandang bagay, 608 00:26:55,340 --> 00:26:58,880 isang pulutong ng mga napaka-cool na mga bagay-bagay, ng maraming napaka-komplikadong bagay na may kinalaman sa 609 00:26:58,880 --> 00:27:02,720 ASCII na mga character at numero. 610 00:27:02,720 --> 00:27:05,890 Kapag nakarating ka pababa sa line limang, na ang isang pulutong na sundin kasama. 611 00:27:05,890 --> 00:27:07,640 Hindi namin pagpunta upang pumunta sa pamamagitan ng mga seksyon. 612 00:27:07,640 --> 00:27:10,720 Huwag mag-atubiling, kung maaari, dahilan ito sa papel 613 00:27:10,720 --> 00:27:14,750 unang sa kung ano ang dapat mangyari kapag input mo tulad ng isang string ng mga halaga. 614 00:27:14,750 --> 00:27:19,720 Halimbawa, sa na ang huling linya, kami ay z-- na kumakatawan sa isang tiyak na number-- 615 00:27:19,720 --> 00:27:24,740 a-- na kumakatawan din ng isang tiyak number-- plus 1 modulos 26 616 00:27:24,740 --> 00:27:26,750 plus lowercase ng. 617 00:27:26,750 --> 00:27:29,220 >> Kung ikaw guys ay panatilihin ang pagbabasa sa pamamagitan ng mga ito, ikaw ay 618 00:27:29,220 --> 00:27:34,009 Maaaring makita ang isang pattern lumapit sa kung paano namin ang pagmamanipula ng mga code. 619 00:27:34,009 --> 00:27:36,050 Ako ay mataas, mataas na iminumungkahi pagkatapos ng lahat ng seksyon ng sa iyo 620 00:27:36,050 --> 00:27:38,160 guys sige at input mga lahat sa iyong computer 621 00:27:38,160 --> 00:27:40,060 at makita kung anong uri ng numero ay galing 622 00:27:40,060 --> 00:27:43,090 at pangangatwiran sa pamamagitan ng kung bakit ang mga ito ay nangyayari, dahil para sa iyong psets 623 00:27:43,090 --> 00:27:45,060 Makikita ito ay talagang mahalaga para sa iyo upang maunawaan 624 00:27:45,060 --> 00:27:47,132 bakit ang ilang mga bagay ay nangyayari. 625 00:27:47,132 --> 00:27:48,590 Ang lahat ng mga slide ay online. 626 00:27:48,590 --> 00:27:51,510 Kaya huwag mag-alala tungkol sa sinusubukan mong pisikal na kopya ng mga tala. 627 00:27:51,510 --> 00:27:52,510 Online Lahat ni. 628 00:27:52,510 --> 00:27:54,050 Ang seksyon na ito mismo ay online. 629 00:27:54,050 --> 00:27:57,500 Lahat ng aking mga source code na Nauubusan na ako ay online. 630 00:27:57,500 --> 00:27:58,180 Oo. 631 00:27:58,180 --> 00:27:59,430 Mayroon ka ba pa rin ng isang katanungan? 632 00:27:59,430 --> 00:28:00,587 Madla: Ano ang modulos? 633 00:28:00,587 --> 00:28:01,170 ANDI PENG: OK. 634 00:28:01,170 --> 00:28:05,620 Kaya modulo ay isang operator na pupuntahan maging medyo mahalaga sa pset iyong guys ni 635 00:28:05,620 --> 00:28:06,690 dito. 636 00:28:06,690 --> 00:28:12,280 Kaya ang paraan na ang mga operator sa C at sa mga programa sa trabaho 637 00:28:12,280 --> 00:28:16,360 ay na mayroon ka kung ano ang tinatawag na ang simbolo ng dibisyon at ang simbolo modulus, 638 00:28:16,360 --> 00:28:18,350 na kung saan ay tulad lamang ang porsyento sign. 639 00:28:18,350 --> 00:28:24,840 >> Kaya sa C, kapag ginawa mo ang isang integer hinati sa pamamagitan ng isang integer na may isang slash, 640 00:28:24,840 --> 00:28:27,720 C ay may kaugalian na gusto upang i-cut off ang lahat ng decimal point, 641 00:28:27,720 --> 00:28:30,290 dahil ang isang integer nagnanais ang pag-convert sa isang integer. 642 00:28:30,290 --> 00:28:33,550 Hindi Ito ay pagpunta sa gusto mong maging isang double may isang bungkos ng mga desimal lahat pagkatapos nito. 643 00:28:33,550 --> 00:28:39,322 >> Kaya kung gagawin ko 3 hinati sa 2, ito ay pagpunta upang ihiwalay ang mga 0.5 at bigyan lamang sa iyo 1. 644 00:28:39,322 --> 00:28:41,530 Kaya na ang isang bagay na maging napaka-ingat kapag ikaw ay 645 00:28:41,530 --> 00:28:45,294 paggawa ng anumang uri ng math sa programming, ay na ang mga numero na nakukuha mo 646 00:28:45,294 --> 00:28:47,210 ay hindi maaaring ang mga numero na kayo ay nag-iisip, 647 00:28:47,210 --> 00:28:50,190 kung saan ay bakit rounding sa iyong huling pset ay kaya mahalaga. 648 00:28:50,190 --> 00:28:51,980 >> Binibigyan ka ng Modulo ang natitira. 649 00:28:51,980 --> 00:28:56,200 Kaya halimbawa, kung ako ay 3 modulo 2-- kaya 3 porsiyento sign 2-- 650 00:28:56,200 --> 00:28:58,020 ito ay magbibigay sa iyo ang natitira na. 651 00:28:58,020 --> 00:29:00,460 So 3 na hinati sa 2 ay 1.5. 652 00:29:00,460 --> 00:29:01,410 Ito ay 1 naiwan ng 1. 653 00:29:01,410 --> 00:29:04,600 Ito ay magbibigay sa iyo ng 1, na kung saan ay ang naiwan ng mga iyon. 654 00:29:04,600 --> 00:29:07,361 >> Kaya kapag ikaw guys ay gumagalaw sa pamamagitan ng talaan ASCII, 655 00:29:07,361 --> 00:29:09,735 modulo ay humantong sa pagiging isang bagay na napakahalaga, 656 00:29:09,735 --> 00:29:11,240 at kami ay talakayin na sa susunod. 657 00:29:11,240 --> 00:29:17,750 658 00:29:17,750 --> 00:29:19,040 >> SIGE. 659 00:29:19,040 --> 00:29:27,300 Kaya ang isang bagay na medyo, medyo bago at medyo kakaiba 660 00:29:27,300 --> 00:29:31,920 na kami ay tinalakay sa linggong ito ay ang konsepto ng kung ano ang isang array ay. 661 00:29:31,920 --> 00:29:34,370 Kaya array ay ang unang uri ng data na istraktura 662 00:29:34,370 --> 00:29:36,320 na namin ang pagpunta sa nakatagpo sa ganitong klase. 663 00:29:36,320 --> 00:29:40,010 Lahat ng data na istraktura ay ay ilang uri ng mga arbitrary, 664 00:29:40,010 --> 00:29:43,370 literal ang mga bagay tulad ng istraktura na namin bilang programmers ginawa, 665 00:29:43,370 --> 00:29:47,890 na binuo namin sa aming mga code na ay maaaring maglaman ng iba pang mga piraso ng code. 666 00:29:47,890 --> 00:29:51,090 >> Kaya sa puntong ito, ang isang array-- tingin ng mga ito bilang isang file cabinet, 667 00:29:51,090 --> 00:29:53,470 kung saan kung bubuksan mo ang iba't ibang istante ng iyong file cabinet, 668 00:29:53,470 --> 00:29:55,630 maaari mong ma-access ang iba't-ibang mga bagay-bagay. 669 00:29:55,630 --> 00:29:58,630 Sa memorya, isang array ay ginagawa lamang ang parehong bagay sa iyong computer. 670 00:29:58,630 --> 00:30:01,730 Maaari kang magkaroon ng iba't ibang mga blocks-- namin tumawag sa kanila indices-- ng isang array. 671 00:30:01,730 --> 00:30:04,210 Ito ay tulad ng isang bloke, isang istante ng memory 672 00:30:04,210 --> 00:30:07,580 na ginawa namin sa loob ng iyong computer na maaari mong input 673 00:30:07,580 --> 00:30:10,270 ang ilang mga bagay sa iba't ibang mga puwang. 674 00:30:10,270 --> 00:30:18,000 >> Kaya sa isang array, ikaw laging may upang specify-- 675 00:30:18,000 --> 00:30:22,360 kailangan mong tukuyin ang deklarasyon ng isang array sa mga sumusunod na format. 676 00:30:22,360 --> 00:30:24,290 Ikaw ay pagpunta sa unang tukuyin ang mga uri ng data 677 00:30:24,290 --> 00:30:25,831 na nais mong lumikha ng array. 678 00:30:25,831 --> 00:30:28,870 Kung gusto ko ang isang array ng mga integer, Ako pagpunta sa ilagay int doon. 679 00:30:28,870 --> 00:30:32,079 Kung gusto ko ang isang array ng mga string, Pupunta ako upang ilagay ang mga string doon, 680 00:30:32,079 --> 00:30:34,995 ang pangalan ng iyong array, at pagkatapos ay ikaw ay pagpunta sa may mga square bracket. 681 00:30:34,995 --> 00:30:39,580 At sa loob ng mga square bracket, ikaw ay pagpunta sa may sa laki ng iyong array. 682 00:30:39,580 --> 00:30:42,900 >> Isang bagay na talagang mahalaga sa tandaan kapag lumilikha ng mga array ay 683 00:30:42,900 --> 00:30:46,530 na, kapag lumikha ka ng isang array, hindi maaaring baguhin ang laki. 684 00:30:46,530 --> 00:30:50,180 Kaya kung alam mo na sa ngayon mayroon kang isang hanay ng mga laki 10, 685 00:30:50,180 --> 00:30:54,550 alam mo na pupuntahan ko na magkaroon ng 10 mga cell sa loob o 10 mga indeks na sakop ng array, 686 00:30:54,550 --> 00:30:56,830 at hindi kailanman ito ay pagpunta upang palawakin o paliitin 687 00:30:56,830 --> 00:30:59,850 kahit na ano, at na may kasalukuyan lamang 10 mga bloke ng puwang 688 00:30:59,850 --> 00:31:04,490 inilalaan sa iyong memorya na maaaring tindahan hanggang sa 10 mga bagay-bagay ng anumang mo inilagay. 689 00:31:04,490 --> 00:31:08,790 >> Kaya sa ganitong paraan, ang isang uri ng data array, ang istraktura ng data na ay isang array 690 00:31:08,790 --> 00:31:13,392 ay ibang-iba mula sa ilang mga iba bibigyan namin ng ay sumasaklaw sa susunod sa kursong ito. 691 00:31:13,392 --> 00:31:15,170 Oo. 692 00:31:15,170 --> 00:31:20,080 Halimbawa, kung nais mong lumikha ng isang hanay ng mga laki 3 na 693 00:31:20,080 --> 00:31:23,670 nakapaloob na mga variable ng integer-- oh, sorry, ng temperature-- 694 00:31:23,670 --> 00:31:25,640 at temperatura, ng Siyempre, ay isang integer. 695 00:31:25,640 --> 00:31:28,710 >> Kaya gusto naming lumikha ng int, kung saan ay ang data uri ng kung ano ang gusto namin sa tindahan. 696 00:31:28,710 --> 00:31:32,680 Kami ay pagpunta sa tumawag ito temperatura para sa kapakanan ng mga katawagan ng pagbibigay ng pangalan 697 00:31:32,680 --> 00:31:34,200 isang bagay na naiintindihan namin ang lahat. 698 00:31:34,200 --> 00:31:35,900 At kami ay pagpunta sa may mga square bracket. 699 00:31:35,900 --> 00:31:37,200 At gusto namin ang tatlong numero. 700 00:31:37,200 --> 00:31:39,000 Kaya kami ay pagpunta sa ilagay tatlong sa loob ng mga ito. 701 00:31:39,000 --> 00:31:41,041 >> Isang bagay na talagang Mahalaga na panatilihin sa isip 702 00:31:41,041 --> 00:31:43,530 ay na array ay zero-index. 703 00:31:43,530 --> 00:31:46,410 Lahat ay nangangahulugan na na kayo magsimula sa mga index ng 0, 704 00:31:46,410 --> 00:31:49,800 at patakbuhin up ka sa pamamagitan ng laki ng array minus 1. 705 00:31:49,800 --> 00:31:52,730 Kaya halimbawa dito, kami ay magkaroon ng isang hanay ng mga laki 3. 706 00:31:52,730 --> 00:31:54,680 Ito ay pagpunta sa ma upang i-hold ang tatlong mga halaga. 707 00:31:54,680 --> 00:31:57,450 Ngunit ang mga numero themselves-- na number, array, index na, 708 00:31:57,450 --> 00:32:00,271 array, mga 0 hanggang 2. 709 00:32:00,271 --> 00:32:03,520 Kaya guys, maging tunay, tunay maingat kapag ikaw ay pagpunta sa pamamagitan ng iyong mga problema set 710 00:32:03,520 --> 00:32:06,500 at paglikha ng anumang uri ng array, dahil ang isang pulutong ng beses na ito ay 711 00:32:06,500 --> 00:32:08,490 tunay, tunay na madaling makalimutan na. 712 00:32:08,490 --> 00:32:11,840 Hindi nga ako magkakaroon ng index ng 3, na ako ay kasalukuyang lamang 713 00:32:11,840 --> 00:32:13,130 Mayroon ang index ng 2. 714 00:32:13,130 --> 00:32:16,046 At kung susubukan mo upang ma-access ang mga third index, 715 00:32:16,046 --> 00:32:18,170 ito ay magiging kung ano ang tinatawag na ang null Terminator. 716 00:32:18,170 --> 00:32:19,990 Ito ay hindi pagpunta sa aktwal umiiral sa array. 717 00:32:19,990 --> 00:32:21,781 At ang computer ay hindi pagpunta sa gusto na. 718 00:32:21,781 --> 00:32:24,570 Kaya mag-ingat tuwing ina-access mo bagay lamang 719 00:32:24,570 --> 00:32:28,070 upang matiyak na tandaan mo na array ay zero-index. 720 00:32:28,070 --> 00:32:28,880 >> SIGE. 721 00:32:28,880 --> 00:32:34,030 Kaya ang unang halimbawa ay lamang isang paraan ng paglikha ng isang array. 722 00:32:34,030 --> 00:32:36,790 Ang ikalawang halimbawa mayroon akong sa ibaba ay lamang ng isang hiwalay na paraan 723 00:32:36,790 --> 00:32:40,210 ng paglikha ng kung ano ang parehong data structure na ko na lang inputted namin. 724 00:32:40,210 --> 00:32:44,347 Kaya sa halip ng pisikal na tumatakbo sa pamamagitan ng at paglalagay sa temperatura ng 0 725 00:32:44,347 --> 00:32:47,180 ay katumbas ng kahit na ano, temperatura 1 ay katumbas ng kahit na ano, temperatura 2 equals 726 00:32:47,180 --> 00:32:50,950 kahit na ano, maaari ko talagang lamang direkta lumikha ng lahat ng ito sa isang linya 727 00:32:50,950 --> 00:32:53,010 sa temperatura square bracket ay katumbas. 728 00:32:53,010 --> 00:32:56,536 >> At notice sa kasong ito, hindi mo na kailangan upang tukuyin kung paano malaki ang iyong mga array ay, 729 00:32:56,536 --> 00:32:59,160 dahil ang computer ay pagpunta sa pumunta sa pamamagitan ng at makita na mayroong 730 00:32:59,160 --> 00:33:01,570 tatlong mga sangkap sa mga kulot tirante. 731 00:33:01,570 --> 00:33:04,000 At ito ay pagpunta upang malaman, OK, Kailangan ko ng isang hanay ng mga laki 3. 732 00:33:04,000 --> 00:33:07,440 Hindi ka pagpunta sa kailangan upang input ito ang mga sumusunod na paraan. 733 00:33:07,440 --> 00:33:10,170 >> At din, oo, na paraan. 734 00:33:10,170 --> 00:33:12,610 Kahit sino ay may mga katanungan tungkol sa kung paano namin gumawa ng array 735 00:33:12,610 --> 00:33:17,391 o kung paano gumagana ang istraktura ng isang array? 736 00:33:17,391 --> 00:33:17,890 Oo. 737 00:33:17,890 --> 00:33:18,806 >> Madla: [hindi marinig]? 738 00:33:18,806 --> 00:33:21,649 739 00:33:21,649 --> 00:33:22,690 ANDI PENG: Oo, eksakto. 740 00:33:22,690 --> 00:33:26,150 Kaya kung ikaw ay upang magpahayag at magpasimula isang array ng mga sumusunod na paraan, 741 00:33:26,150 --> 00:33:28,477 na kung saan ay ang ikalawang paraan, maaari ka lamang mag-iwan ang mga iyon. 742 00:33:28,477 --> 00:33:30,310 At ang computer awtomatikong alam na ito 743 00:33:30,310 --> 00:33:33,950 pangangailangan upang mabilang kung gaano karaming mga elemento ay sa mga kulot tirante, na pinaghihiwalay 744 00:33:33,950 --> 00:33:34,930 sa pamamagitan ng mga kuwit. 745 00:33:34,930 --> 00:33:37,517 >> Kaya dito nakikita nila 65, 87, 30. 746 00:33:37,517 --> 00:33:39,600 Kaya alam ang computer, oh, may tatlong integer. 747 00:33:39,600 --> 00:33:45,960 Alam ko na lumikha ng isang pangalan ng array temperatura na may tatlong elemento sa loob nito. 748 00:33:45,960 --> 00:33:46,590 Magandang tanong. 749 00:33:46,590 --> 00:33:47,090 Oo. 750 00:33:47,090 --> 00:33:51,590 >> Madla: Ay hindi ito posible upang lumikha ng isang array na may iba't ibang mga uri ng data 751 00:33:51,590 --> 00:33:53,021 na maaaring pumasok sa mga ito? 752 00:33:53,021 --> 00:33:56,746 Halimbawa, may integer [hindi marinig]? 753 00:33:56,746 --> 00:33:59,120 ANDI PENG: Para sa mga layunin ng klase na ito, hindi, ngayon. 754 00:33:59,120 --> 00:34:03,070 Kapag lumikha ka ng isang data istraktura tulad ng isang array, 755 00:34:03,070 --> 00:34:04,990 ikaw ay nagsasabi ng computer, hey, kailangan ko kayo 756 00:34:04,990 --> 00:34:08,159 na maglaan ito ng marami memory sa aking hard drive, 757 00:34:08,159 --> 00:34:10,690 sa bawat cell sa pagiging isang tiyak na bilang ng bits. 758 00:34:10,690 --> 00:34:13,429 >> Tandaan natutunan namin sa week zero na ang iba't ibang data 759 00:34:13,429 --> 00:34:15,300 mga uri ay may iba't ibang laki? 760 00:34:15,300 --> 00:34:17,630 Kaya halimbawa, ang isang string ay isang iba't ibang mga halaga 761 00:34:17,630 --> 00:34:20,719 ng espasyo kaysa sa isang pansamantalang trabaho, kung saan ay isang iba't ibang mga halaga ng puwang 762 00:34:20,719 --> 00:34:21,830 mula sa isang integer. 763 00:34:21,830 --> 00:34:25,534 At kaya kung hindi mo tukuyin at ikaw ihalo at tumutugma sa kung ano uri ng variable 764 00:34:25,534 --> 00:34:27,659 na mayroon ka, ang computer magiging tunay nalilito. 765 00:34:27,659 --> 00:34:29,950 At hindi ito ay pagpunta upang malaman kung magkano ang memory na magbigay sa iyo. 766 00:34:29,950 --> 00:34:32,480 Kaya para sa mga layunin ng mga karapatan ngayon, mga computer ay maaari lamang 767 00:34:32,480 --> 00:34:36,120 kilala ng isang uri ng isang array. 768 00:34:36,120 --> 00:34:37,940 Magandang tanong. 769 00:34:37,940 --> 00:34:38,440 SIGE. 770 00:34:38,440 --> 00:34:45,179 771 00:34:45,179 --> 00:34:47,120 >> Kaya natural, ang ikalawang tanong na mayroon kami 772 00:34:47,120 --> 00:34:50,760 ay, well, ngayon na lumikha kami ng isang array at ilalagay namin ang lahat ng mga bagay 773 00:34:50,760 --> 00:34:54,190 sa array, kung paano tayo pagpunta upang ma-access ito? 774 00:34:54,190 --> 00:34:59,710 Kaya ang mga tipikal na istraktura na kami ay laging ma-access ang isang array ay ang aming kaibig-ibig para sa loop. 775 00:34:59,710 --> 00:35:03,830 Pangako ko sa iyo guys na kami ay magiging nakakakita ng isang pulutong ng mga ito kapwa dito. 776 00:35:03,830 --> 00:35:06,470 >> Mahalaga, anumang oras na gusto mo i-input ang mga halaga sa isang array 777 00:35:06,470 --> 00:35:09,940 o nais mong i-access ang mga ito, ang mga pinakamahusay na paraan upang gawin ito ay isang para sa loop, 778 00:35:09,940 --> 00:35:13,730 dahil sa isang para sa loop, ikaw kung gaano karaming beses ikaw ay 779 00:35:13,730 --> 00:35:17,290 pagpunta sa nais na tumakbo sa pamamagitan ng array, dahil mayroon kang isang stop edition, di ba? 780 00:35:17,290 --> 00:35:19,680 At sa bawat oras na patakbuhin mo sa pamamagitan ng, maaari mong ma-access ang 781 00:35:19,680 --> 00:35:21,310 isang iba't ibang mga elemento ng array. 782 00:35:21,310 --> 00:35:26,920 >> At din, ito ay isang dahilan kung bakit ang karaniwang namin simulan ang aming para sa loop sa 0 ang halaga, 783 00:35:26,920 --> 00:35:30,080 dahil kapag na-access mo array, Maaari mong ma-access ang zero index. 784 00:35:30,080 --> 00:35:32,070 At kaya ito parallels tunay mabuti. 785 00:35:32,070 --> 00:35:35,295 Ikaw guys na maaaring nais na isulat para sa int i katumbas 1. 786 00:35:35,295 --> 00:35:37,330 i ay mas mababa sa o patas sa 3. 787 00:35:37,330 --> 00:35:39,890 >> Pero hindi ito ay gumagana ganap na maayos dito, dahil ikaw lamang 788 00:35:39,890 --> 00:35:42,010 may mga elemento ng 0, 1, at 2. 789 00:35:42,010 --> 00:35:45,815 At kaya kung ikaw ay upang simulan iyong i sa element 1, 2, at 3, 790 00:35:45,815 --> 00:35:48,440 ikaw ay pagpunta sa dulo up na tumatakbo sa labas ng hangganan ng iyong array, 791 00:35:48,440 --> 00:35:50,440 at masamang bagay-bagay ay pagpunta sa mangyayari. 792 00:35:50,440 --> 00:35:54,480 >> Kaya Umaasa ako mo guys makita ang segue ng kung bakit sa mga naunang mga klase 793 00:35:54,480 --> 00:35:58,560 kami ay pagtuturo sa iyo guys kung paano patakbuhin at format ng isang para sa loop ang paraan na kami ay. 794 00:35:58,560 --> 00:36:01,900 Ito ay dahil, ngayon na namin transition sa array, 795 00:36:01,900 --> 00:36:06,760 maaari mong makita kung bakit ang 0 nagpapautang mismo sa lalong mabuti sa pag-access. 796 00:36:06,760 --> 00:36:09,880 >> Kaya ang paraan namin na na- Ako lamang-print out ito dito para sa kapakanan 797 00:36:09,880 --> 00:36:10,830 ng pag-print ito. 798 00:36:10,830 --> 00:36:13,750 Ngunit mayroon akong aking placeholder, comma. 799 00:36:13,750 --> 00:36:15,645 At ang aktwal na pag-access part ang nangyayari. 800 00:36:15,645 --> 00:36:17,520 Ang pangalan ng array ay tinatawag na temperatura. 801 00:36:17,520 --> 00:36:21,570 Kaya ito ay temperatura at ang ika-i element ng array. 802 00:36:21,570 --> 00:36:24,400 >> Kaya bilang ang para sa loop ay tumatakbo sa pamamagitan ng, ito ay pagpunta sa magsimula sa 0. 803 00:36:24,400 --> 00:36:27,640 Ito ay pagpunta upang i-print out ang 0 index ng array. 804 00:36:27,640 --> 00:36:29,599 Pagkatapos ito ay pagpunta sa i-print out sa unang elemento. 805 00:36:29,599 --> 00:36:31,431 Pagkatapos ito ay pagpunta sa i-print out sa ikalawang isa. 806 00:36:31,431 --> 00:36:32,880 At pagkatapos kami ay pagpunta sa break. 807 00:36:32,880 --> 00:36:36,718 Ay malinaw na lahat ng tao sa paano na ang nangyayari? 808 00:36:36,718 --> 00:36:37,217 Great. 809 00:36:37,217 --> 00:36:43,230 810 00:36:43,230 --> 00:36:44,100 >> Lahat tama. 811 00:36:44,100 --> 00:36:47,270 Kaya dito kami ay may isang paraan ng na nagsasabi, kung hindi namin ginawa gusto 812 00:36:47,270 --> 00:36:50,020 sa hard-code in-- akin bilang mga programmer. 813 00:36:50,020 --> 00:36:53,320 Hindi ko nais upang aktwal na pisikal na ilagay sa bawat indibidwal na sangkap 814 00:36:53,320 --> 00:36:54,020 ng array. 815 00:36:54,020 --> 00:36:56,500 Kung Nais kong sa halip Mayroon ang halaga ng input ng user, 816 00:36:56,500 --> 00:36:58,100 ano ang pinakamahusay na paraan upang gawin iyon? 817 00:36:58,100 --> 00:37:00,920 >> Well, narito aking nilikha ang kaibig-ibig na function, 818 00:37:00,920 --> 00:37:03,560 kung saan ang maaari kong ipinapahayag ng isang array. 819 00:37:03,560 --> 00:37:06,210 Kaya int scores-- sabihin sabihin gusto naming gawin lamang 820 00:37:06,210 --> 00:37:10,660 isang array na gaganapin ang mga marka ng lahat ng 18 ng mag-aaral dito sa seksyon na ito. 821 00:37:10,660 --> 00:37:12,670 Sa tingin ko namin nakuha ng isang bit higit sa 18 mga bata ngayon. 822 00:37:12,670 --> 00:37:16,460 Ngunit para sa kapakanan Halimbawa, ang akala lang namin ay 18 ipaalam. 823 00:37:16,460 --> 00:37:21,580 Gusto kong lumikha ng isang pangalan ng array na mga marka sa type int, dahil ang mga score, of course, 824 00:37:21,580 --> 00:37:22,987 ay mga numero. 825 00:37:22,987 --> 00:37:24,820 At ako pagpunta sa may 18 sa mga square bracket, 826 00:37:24,820 --> 00:37:29,900 dahil iyon ang kung gaano karaming mga mag-aaral ko nais na ma-imbak ang mga marka ng. 827 00:37:29,900 --> 00:37:32,206 >> At ang paraan na gusto ko paramihin array ay na gusto ko 828 00:37:32,206 --> 00:37:35,572 patakbuhin ito sa pamamagitan ng isang para sa loop, ng Siyempre, na may 0 na aking 0 index. 829 00:37:35,572 --> 00:37:38,030 At pagkatapos ay may 18 na aking pagpapahinto edition, dahil mayroong 830 00:37:38,030 --> 00:37:39,690 18 mga elemento sa array. 831 00:37:39,690 --> 00:37:44,620 At pagkatapos ay ako pagpunta sa gawin printf, Magpasok puntos para student-- yada yada yada. 832 00:37:44,620 --> 00:37:51,171 >> Maaari kahit sino sabihin sa akin kung bakit dito ako pag-print i plus 1 at hindi ko? 833 00:37:51,171 --> 00:37:52,920 Ito ay uri ng isang kakaibang ugali pinag-uusapan, hindi talaga. 834 00:37:52,920 --> 00:37:56,020 Ito ay hindi tunay na pisikal na makaapekto sa pagtakbo ng mga code. 835 00:37:56,020 --> 00:37:56,520 Oo. 836 00:37:56,520 --> 00:37:57,909 >> Madla: [hindi marinig] 0? 837 00:37:57,909 --> 00:37:58,950 ANDI PENG: Oo, eksakto. 838 00:37:58,950 --> 00:38:02,620 Ito ay isang bit mahirap sabihin, hey, ikaw ang 0 ng mag-aaral sa klase na ito. 839 00:38:02,620 --> 00:38:03,780 Ito ay isang medyo kakaiba. 840 00:38:03,780 --> 00:38:08,340 Kaya tayo, bilang mga tao, ay hindi tunay na tulad ng mag-isip ng kung paano computer tingin. 841 00:38:08,340 --> 00:38:10,930 Kaya kahit na sa computer, ito ay pag-iimbak ng mga halaga 842 00:38:10,930 --> 00:38:13,310 sa ika-0 index, kapag hindi namin tao, hindi namin talagang 843 00:38:13,310 --> 00:38:15,520 nais na mag-refer sa ating sarili bilang zero. 844 00:38:15,520 --> 00:38:18,119 Kaya kapag lamang i-print ko na, Pupunta ako upang i-print at idagdag 845 00:38:18,119 --> 00:38:19,410 1 lamang para sa kapakanan ng kaliwanagan. 846 00:38:19,410 --> 00:38:22,447 Kaya kapag-print ko, pupuntahan ko na maging maaaring i-print aaral 1 hanggang 18. 847 00:38:22,447 --> 00:38:24,530 Hindi ito ang tunay na epekto ang takbo ng code 848 00:38:24,530 --> 00:38:27,110 sa anumang paraan, ang paraan ko i-print. 849 00:38:27,110 --> 00:38:30,380 >> Ngunit mag-ingat kapag ikaw ay talagang pag-access ng array. 850 00:38:30,380 --> 00:38:32,780 Kapag nakita mo ang mga marka ng i, paunawa dito talaga ako 851 00:38:32,780 --> 00:38:38,200 pag-access sa 0 index at hindi ang 1 plus 0-- o 1 plus 1, 852 00:38:38,200 --> 00:38:45,530 sa kasong ito, index kaya na ito ay aktwal na malinaw. 853 00:38:45,530 --> 00:38:48,870 Ay sa lahat ng uri ng OK sa kung paano ito ay tumatakbo sa pamamagitan ng 854 00:38:48,870 --> 00:38:51,470 at sa bawat index Ako paglalagay ng isang halaga sa array 855 00:38:51,470 --> 00:38:55,340 at paglikha ng isang array na may 18 mga numero na ang gumagamit ay pagpunta sa input? 856 00:38:55,340 --> 00:38:58,780 857 00:38:58,780 --> 00:38:59,821 SIGE. 858 00:38:59,821 --> 00:39:00,321 Cool. 859 00:39:00,321 --> 00:39:05,380 860 00:39:05,380 --> 00:39:07,400 >> SIGE. 861 00:39:07,400 --> 00:39:12,220 Lumipat kami ngayon sa isang bagay na medyo may kaugnayan para sa set rin ito piraso. 862 00:39:12,220 --> 00:39:15,020 Alam ko sa panayam, David-- Paumanhin, nagkaroon ka ng isang katanungan? 863 00:39:15,020 --> 00:39:16,840 >> Madla: Maaari mong palakihin ito? 864 00:39:16,840 --> 00:39:18,080 >> ANDI PENG: Oo, kaya sinubukan ko. 865 00:39:18,080 --> 00:39:18,788 Ngunit hindi ko alam. 866 00:39:18,788 --> 00:39:21,437 Para sa ilang kadahilanan, ito bersyon ng PowerPoint 867 00:39:21,437 --> 00:39:23,270 ay talagang hindi gumagana mabuti sa mga display. 868 00:39:23,270 --> 00:39:25,260 Kaya lamang kami ay pagpunta upang panatilihin ang mga ito tulad nito. 869 00:39:25,260 --> 00:39:27,280 Lahat ng ito ay na-upload sa online. 870 00:39:27,280 --> 00:39:28,218 Paumanhin, guys. 871 00:39:28,218 --> 00:39:30,090 Oo. 872 00:39:30,090 --> 00:39:30,980 SIGE. 873 00:39:30,980 --> 00:39:35,530 >> Kaya maaari rin naming magkaroon ng mga string. 874 00:39:35,530 --> 00:39:39,320 Kaya't kung ikaw guys talagang notice-- ko Alam tumawid Rob ito sa na lecture 875 00:39:39,320 --> 00:39:43,652 na siya did-- isang string ay talagang lamang ng isang hanay ng mga character, 876 00:39:43,652 --> 00:39:44,860 kung sa tingin mo tungkol sa mga ito, right? 877 00:39:44,860 --> 00:39:47,500 Ang isang string ay isang pangalan o isang pangungusap o isang salita, tama? 878 00:39:47,500 --> 00:39:52,975 >> Kung ako ay upang lumikha ng isang string pinangalanan Andi-- aking pangalan lang, A-N-D-ko. 879 00:39:52,975 --> 00:39:55,460 Sa tingin mo ng na bilang lamang ng isang variable. 880 00:39:55,460 --> 00:39:58,630 Ngunit ang tunay na, ito ay pinaghiwa-hiwalay sa isang array ng mga karakter. 881 00:39:58,630 --> 00:40:01,910 Kaya ito ay nakuha ng isang character ng isang naka-imbak sa isang halaga ng array. 882 00:40:01,910 --> 00:40:05,420 Ito ay nakuha ng isang character ng n naka-imbak sa pangalawang index at iba pa at iba pa. 883 00:40:05,420 --> 00:40:08,660 >> Kaya sa paraan, kami tunay na may uri na ito 884 00:40:08,660 --> 00:40:10,970 ng istraktura na itinakda sa ilagay para sa aming mga string. 885 00:40:10,970 --> 00:40:14,660 Kaya dito, kung ako ay i-input ang salitang "kumain" - kaya string salita ay katumbas ng 886 00:40:14,660 --> 00:40:15,540 makakuha ng string. 887 00:40:15,540 --> 00:40:19,260 Kung ako ay upang input ang salitang "kumain," na ay pisikal na mga paraan na ang aking computer 888 00:40:19,260 --> 00:40:21,870 ay nag-iimbak na string sa aking memorya. 889 00:40:21,870 --> 00:40:27,140 >> At kung ako nais na tumakbo sa pamamagitan ng na at i-print na out-- kaya para sa i 890 00:40:27,140 --> 00:40:30,890 ay katumbas ng zero, tandaan, sa panayam, namin sakop ng isang bagay na tinatawag na strlen, 891 00:40:30,890 --> 00:40:32,990 o ang haba ng string. 892 00:40:32,990 --> 00:40:36,520 Dahil hindi ko talaga alam kung paano malaki ang array ay 893 00:40:36,520 --> 00:40:38,210 ng kahit anong inputting-- ng gumagamit 894 00:40:38,210 --> 00:40:40,370 >> Halimbawa, inputted ko ang salitang "kumain," at alam ko 895 00:40:40,370 --> 00:40:41,870 iyon ang tatlong mga character ang haba, di ba? 896 00:40:41,870 --> 00:40:44,700 Kaya maaari kong ilagay sa isang tatlong doon at lahat ng bagay ay pinong. 897 00:40:44,700 --> 00:40:49,290 Ngunit kung ang iyong mga user input ng isang bagay na ang isang iba't ibang mga bilang ng mga halaga, 898 00:40:49,290 --> 00:40:52,760 ikaw ay pagpunta sa hindi ma-talagang malaman na kapag ang programa mo ang iyong code. 899 00:40:52,760 --> 00:40:56,040 >> Kaya ang paraan na hawakan namin kaso sa pagsubok tulad na ay na kami ay may isang bagay 900 00:40:56,040 --> 00:41:00,070 tinatawag na strlen, na kung saan ay isang function lamang na nagsasabi sa iyo kung gaano katagal ang isang string ay. 901 00:41:00,070 --> 00:41:02,080 Kaya strlen ng salita. 902 00:41:02,080 --> 00:41:03,470 Aking salita ay kumain. 903 00:41:03,470 --> 00:41:05,990 n ay katumbas ng strlen ng salita. 904 00:41:05,990 --> 00:41:08,930 Maaari isang tao sabihin sa akin kung ano na ang halaga talaga ang may karapatan? 905 00:41:08,930 --> 00:41:12,550 Ano ang ibig n na kumakatawan sa kanan ngayon, sa halimbawang ito, kung ako ay kumain? 906 00:41:12,550 --> 00:41:13,530 >> Madla: 3. 907 00:41:13,530 --> 00:41:14,520 >> ANDI PENG: 3, eksakto. 908 00:41:14,520 --> 00:41:18,820 Kaya mayroon kami para sa int i katumbas zero, n ay katumbas ng 3, mahalagang. 909 00:41:18,820 --> 00:41:22,355 At i ay pagpunta sa tumakbo hanggang sa ito ay mas mababa kaysa sa 3i ++. 910 00:41:22,355 --> 00:41:24,980 At ito ay pagpunta sa mahalagang pumunta sa pamamagitan ng at gawin ang parehong bagay. 911 00:41:24,980 --> 00:41:26,979 Ito ay pagpunta upang i-print out bawat halaga at magbigay sa iyo 912 00:41:26,979 --> 00:41:29,700 E-A-T. Lamang Ito ay nagsasaad ng isang iba't ibang paraan ng pagsulat ng mga ito. 913 00:41:29,700 --> 00:41:31,170 Iyon ay magiging kapaki-pakinabang. 914 00:41:31,170 --> 00:41:31,670 Oo. 915 00:41:31,670 --> 00:41:35,174 Madla: Ano ang mga benepisyo ng paglagay ang n ay katumbas ng strlen salita sa loob na 916 00:41:35,174 --> 00:41:36,894 para sa loop [hindi marinig]? 917 00:41:36,894 --> 00:41:37,560 ANDI PENG: Oo. 918 00:41:37,560 --> 00:41:44,880 Kaya kung ako ay to-- sabihin, halimbawa, kung ako ay upang gawin iyon at pagkatapos ay 919 00:41:44,880 --> 00:41:51,935 do-- oop-- na, sa aking code, magiging tunay na maging ang paggawa tulad ng parehong bagay. 920 00:41:51,935 --> 00:41:55,060 Gayunpaman, ang paraan na ipinaliwanag David ito sa panahon ng panayam, kung mayroon man sa inyong mga lalake 921 00:41:55,060 --> 00:41:57,854 tandaan, ay na, tulad ng mga kawani na tao, tulad ng programmers, 922 00:41:57,854 --> 00:42:00,270 namin talagang subukan sa programa ng aming code upang ang aming mga computer ay may 923 00:42:00,270 --> 00:42:04,070 upang gumana ng kaunti hangga't maaari, sa gayon na ang aming mga code ay hindi mabisa. 924 00:42:04,070 --> 00:42:06,850 >> Kaya kung ako ay na, kung ano ang mangyayari sa pamamagitan ng aking para sa loop 925 00:42:06,850 --> 00:42:10,790 ay na unang ko na nais magpahayag ng isang variable na pinangalanan i ay magiging 0. 926 00:42:10,790 --> 00:42:13,350 Ako ay pagpunta upang suriin, oh, ano ang strlen ng salita? 927 00:42:13,350 --> 00:42:15,000 Oh, ang strlen ay 3. 928 00:42:15,000 --> 00:42:16,191 Kaya ay i mas mababa sa tatlong? 929 00:42:16,191 --> 00:42:16,690 Oo, ito ay. 930 00:42:16,690 --> 00:42:17,870 Pupunta ako upang tumakbo. 931 00:42:17,870 --> 00:42:21,130 >> At pagkatapos ay ang pangalawang pagkakataon bumalik sa paligid loop, ako pagpunta sa paglakas i. 932 00:42:21,130 --> 00:42:22,550 i ay magiging isa. 933 00:42:22,550 --> 00:42:25,600 At i ay pagpunta sa suriin, oh, ngunit kung ano ang strlen ng salita? 934 00:42:25,600 --> 00:42:26,839 Oh, ito ay tatlo. 935 00:42:26,839 --> 00:42:29,880 At ang na mukhang uri ng mapag-aksaya, sa bawat oras na patakbuhin mo ang sa pamamagitan ng mga loop, 936 00:42:29,880 --> 00:42:33,340 upang ma-check ang mga function, kahit na ang strlen ng salita 937 00:42:33,340 --> 00:42:35,490 hindi tunay na pagbabago? 938 00:42:35,490 --> 00:42:38,590 >> Kaya ito ay dagdag na kapangyarihan para sa isang computer. 939 00:42:38,590 --> 00:42:42,180 Kapag nagsimula ka ng pakikipag-usap tungkol sa mga bagay na bilyun-bilyong 940 00:42:42,180 --> 00:42:44,431 at bilyun-bilyong ng mga lugar long, isipin ang iyong computer 941 00:42:44,431 --> 00:42:47,430 hindi sa pisikal na pumunta sa pamamagitan at suriin ang lahat ng mga na ang bawat isang oras. 942 00:42:47,430 --> 00:42:53,170 Iyon ay kung bakit, lamang na gumawa para sa kapakanan ng kahusayan, 943 00:42:53,170 --> 00:42:57,620 kami ay madalas na gawin ito lamang, dahil sa ganitong paraan hindi namin lamang 944 00:42:57,620 --> 00:42:59,850 pagtawag sa function isang beses sa simula, 945 00:42:59,850 --> 00:43:01,766 at na ang bawat oras na ito Dumadaan ito ay pagpunta 946 00:43:01,766 --> 00:43:03,789 sa tindahan ng mga halaga 3 doon, na hindi mo 947 00:43:03,789 --> 00:43:05,330 kung patuloy na suriin ang bawat oras. 948 00:43:05,330 --> 00:43:05,743 Oo. 949 00:43:05,743 --> 00:43:06,409 >> Madla: Paumanhin. 950 00:43:06,409 --> 00:43:09,070 Just [hindi marinig]. 951 00:43:09,070 --> 00:43:13,985 Puwede mo int n katumbas strlen at ilagay na itaas ang labas ng para sa loop 952 00:43:13,985 --> 00:43:15,364 din? 953 00:43:15,364 --> 00:43:16,030 ANDI PENG: Oo. 954 00:43:16,030 --> 00:43:17,100 Maaari mong gawin na, walang pasubali. 955 00:43:17,100 --> 00:43:19,970 Ang dahilan na namin ito sa dito ay dahil ang paraan para sa isang loop gawa 956 00:43:19,970 --> 00:43:23,500 ay na ito ay tinatawag na isang lokal na variable sa kamalayan 957 00:43:23,500 --> 00:43:26,150 na ang lahat ng bagay na ikaw ay paglikha sa loob ng para sa loop 958 00:43:26,150 --> 00:43:27,890 ay umiiral lamang sa loob ng para sa loop. 959 00:43:27,890 --> 00:43:31,530 >> Kaya ang variable i lamang umiiral sa mga bracket. 960 00:43:31,530 --> 00:43:35,260 At dito ang din variable ng n ay umiiral lamang sa mga bracket. 961 00:43:35,260 --> 00:43:39,350 Kaya't kung ikaw ay gumamit ng strlen ng salitang maraming beses pababa sa ibaba, 962 00:43:39,350 --> 00:43:42,230 ganap na ang pinakamahusay na paraan upang gawin iyon ay upang ipahayag ito tuktok 963 00:43:42,230 --> 00:43:43,563 kaya hindi mo na kailangang gawin ito nang isang beses. 964 00:43:43,563 --> 00:43:45,420 Oo. 965 00:43:45,420 --> 00:43:47,670 Madla: Bakit mo magkaroon ng isang bagong linya pagkatapos ng porsyento 966 00:43:47,670 --> 00:43:51,300 nakikita kung nais mong ilagay ang lahat ng ang mga titik sa tabi nito hiwalay na? 967 00:43:51,300 --> 00:43:54,140 >> ANDI PENG: Oh, nais kong i-print ang mga ito sa lahat sa bawat linya. 968 00:43:54,140 --> 00:43:54,890 Hindi mahalaga. 969 00:43:54,890 --> 00:43:55,890 Oo, ito ay isang pag-format. 970 00:43:55,890 --> 00:43:57,181 Iyon ay isang mahusay na tanong, kahit na. 971 00:43:57,181 --> 00:43:59,360 Oo, kung gusto kong i-print lahat sa isang linya lamang ito, 972 00:43:59,360 --> 00:44:02,731 Hindi ko ibig na ang gitling in. 973 00:44:02,731 --> 00:44:03,230 SIGE. 974 00:44:03,230 --> 00:44:06,880 Ang bawat mabuti? 975 00:44:06,880 --> 00:44:07,500 SIGE. 976 00:44:07,500 --> 00:44:08,000 Cool. 977 00:44:08,000 --> 00:44:12,080 978 00:44:12,080 --> 00:44:14,750 >> Kaya sa tingin ko sapat na ako ay nakipag-usap. 979 00:44:14,750 --> 00:44:20,040 Pagliko mo guys upang tumakbo sa pamamagitan ng code at sabihin sa akin kung ano ang mali dito. 980 00:44:20,040 --> 00:44:21,560 Saan ang bug? 981 00:44:21,560 --> 00:44:26,920 Kaya bilang maaari mong makita, ipinahayag ko na ang isang bagong hanay ng mga uri ng string pinangalanan class. 982 00:44:26,920 --> 00:44:30,220 At ako inputted na Sam, Jess, at Kim sa mga ito. 983 00:44:30,220 --> 00:44:33,400 At ako sa pagtatangka upang i-print out lahat ng mga elemento ng array. 984 00:44:33,400 --> 00:44:36,796 Maaari isang tao sabihin sa akin kung bakit ito ay pagpunta sa bigyan ako ng problema? 985 00:44:36,796 --> 00:44:39,320 Bibigyan kita ng isang lalaki 10 segundo upang isipin ang tungkol sa mga ito. 986 00:44:39,320 --> 00:44:55,490 987 00:44:55,490 --> 00:44:56,619 >> SIGE. 988 00:44:56,619 --> 00:44:57,118 Oo? 989 00:44:57,118 --> 00:45:01,972 >> Madla: ang kaliwang center katumbas ng 3 o [hindi marinig]? 990 00:45:01,972 --> 00:45:02,680 ANDI PENG: Kanan. 991 00:45:02,680 --> 00:45:06,784 Kaya kung gaano karaming beses na ito ay tunay na pagpunta sa tumakbo sa pamamagitan ng loop? 992 00:45:06,784 --> 00:45:07,620 >> Madla: Four. 993 00:45:07,620 --> 00:45:08,070 >> ANDI PENG: Eksakto. 994 00:45:08,070 --> 00:45:09,445 Ito ay pagpunta sa sa pamamagitan ng apat na beses. 995 00:45:09,445 --> 00:45:12,250 Ito ay pagpunta upang tumakbo sa pamamagitan sa 0, 1, 2, at 3, 996 00:45:12,250 --> 00:45:15,200 sapagkat ang kanilang mga elemento ay i mas mababa sa o patas sa 3. 997 00:45:15,200 --> 00:45:16,960 Ito ay hindi pagpunta sa itigil kapag ito ay 2. 998 00:45:16,960 --> 00:45:18,800 Ito ay pagpunta sa panatilihin pagpunta hanggang umabot sa ito 3. 999 00:45:18,800 --> 00:45:21,720 At dahil alam namin, mayroon lamang tatlong mga elemento sa aming mga aktwal na array. 1000 00:45:21,720 --> 00:45:27,260 >> Kung sinubukan naming i-access ang ika-apat sangkap o ang index ng 3, 1001 00:45:27,260 --> 00:45:30,357 ikaw ay pagpunta sa hit sa tabi-tabi sa memorya na ay hindi umiiral. 1002 00:45:30,357 --> 00:45:31,690 Ito ay tinatawag na null terminator. 1003 00:45:31,690 --> 00:45:32,856 Walang magiging doon. 1004 00:45:32,856 --> 00:45:35,324 Ang iyong computer ay hindi pagpunta upang maging napaka-masaya sa iyo. 1005 00:45:35,324 --> 00:45:36,170 Oo. 1006 00:45:36,170 --> 00:45:38,430 Kahit sino ay may mga katanungan sa kung bakit na nangyayari? 1007 00:45:38,430 --> 00:45:39,679 Iyan ay isang karaniwang lugar upang maiwasan. 1008 00:45:39,679 --> 00:45:40,712 Oo. 1009 00:45:40,712 --> 00:45:45,777 >> Madla: Ay hindi ang unang slide ring magkaroon ng isang string ng 2? 1010 00:45:45,777 --> 00:45:46,360 ANDI PENG: No. 1011 00:45:46,360 --> 00:45:49,610 Kaya mahalagang, kapag nagsasagawa ka ng isang array, 1012 00:45:49,610 --> 00:45:51,540 na bracket karapatan doon, na number-- lahat 1013 00:45:51,540 --> 00:45:53,480 ito ay nagsasabi sa iyo ay kung paano maraming elemento ang mayroon ako. 1014 00:45:53,480 --> 00:45:55,840 Ito ay hindi tunay na nagsasabi sa akin ang mga ini-index ng kahit ano. 1015 00:45:55,840 --> 00:45:58,760 Kaya sa kasong ito, alam ko na gusto kong na magsulat sa tatlong mga lugar, 1016 00:45:58,760 --> 00:46:02,690 may tatlong mga pisikal na lugar upang humawak ng kahit anong gusto ko upang i-hold. 1017 00:46:02,690 --> 00:46:04,510 Kaya na ang dahilan kung bakit ang bilang ng tatlong ay doon. 1018 00:46:04,510 --> 00:46:06,560 Gayunpaman, kung nais ko upang aktwal na-access ito, 1019 00:46:06,560 --> 00:46:11,220 kung nais kong sabihin, printf klase bracket number, at saka 1020 00:46:11,220 --> 00:46:14,560 ikaw ay pagpunta sa aktwal na ilagay ang pisikal na index doon. 1021 00:46:14,560 --> 00:46:16,330 Oo, magandang katanungan. 1022 00:46:16,330 --> 00:46:20,065 >> Madla: Kaya ay ang pisikal na index dapat na maging [hindi marinig]? 1023 00:46:20,065 --> 00:46:20,940 ANDI PENG: Sorry. 1024 00:46:20,940 --> 00:46:21,500 Maaari kang makipag-usap ng kaunti? 1025 00:46:21,500 --> 00:46:24,208 >> Madla: Kaya ay ang pisikal na index [Hindi marinig] sa bawat isa sa mga kahon? 1026 00:46:24,208 --> 00:46:25,260 [Hindi marinig]? 1027 00:46:25,260 --> 00:46:26,040 >> ANDI PENG: Oo. 1028 00:46:26,040 --> 00:46:28,970 Kaya ako pagpunta upang bumalik sa kanan dito. 1029 00:46:28,970 --> 00:46:31,120 Mag-isip ng karapatan dito. 1030 00:46:31,120 --> 00:46:32,820 Kami ay may isang hanay ng mga laki 3. 1031 00:46:32,820 --> 00:46:35,540 May tatlong mga lugar, tulad ng, pisikal na mga placeholder sa dito. 1032 00:46:35,540 --> 00:46:37,620 Ngunit ang mga ito ay pinangalanan 0, 1, at 2. 1033 00:46:37,620 --> 00:46:40,700 Kaya kung nais ko upang ma-access ang mga ito, ang paraan na ma-access ko ang mga ito 1034 00:46:40,700 --> 00:46:43,480 ay printf ng kahit anong nais ko sa dito. 1035 00:46:43,480 --> 00:46:45,485 Gusto mong mag-print ang pangalan ng mga ito, 1036 00:46:45,485 --> 00:46:47,610 dahil pagkatapos ay ang computer Malay mo, oh, kailangan ko upang tumingin 1037 00:46:47,610 --> 00:46:51,391 sa array na ito para sa mga 0 index. 1038 00:46:51,391 --> 00:46:51,890 Oo. 1039 00:46:51,890 --> 00:46:53,306 Ngunit ang sukat ng mga ito ay hindi nagbabago. 1040 00:46:53,306 --> 00:46:55,492 Ang laki ay 3, hindi alintana ng kung paano mo lagyan ng label ang mga ito. 1041 00:46:55,492 --> 00:46:58,321 1042 00:46:58,321 --> 00:46:58,820 SIGE. 1043 00:46:58,820 --> 00:47:01,387 Ang bawat mabuti? 1044 00:47:01,387 --> 00:47:02,970 Madla: Kaya sa tuwing ako [hindi marinig]? 1045 00:47:02,970 --> 00:47:06,357 1046 00:47:06,357 --> 00:47:06,940 ANDI PENG: OK. 1047 00:47:06,940 --> 00:47:13,270 Kaya sa kasong ito, hindi namin talagang makakuha ng mga ito sa ngayon sa kurso. 1048 00:47:13,270 --> 00:47:16,760 Ngunit alam na isang string tulad ko sinabi bago, ang isang string ay mahalagang 1049 00:47:16,760 --> 00:47:18,440 isang hanay ng mga character. 1050 00:47:18,440 --> 00:47:21,430 Kaya kapag gumawa ako ng isang array ng mga string, uri ako ng 1051 00:47:21,430 --> 00:47:24,430 may isang array ng array ng mga character, di ba? 1052 00:47:24,430 --> 00:47:27,720 >> Kaya sa kasong ito, dahil ako magkaroon ng isang array ng mga string, 1053 00:47:27,720 --> 00:47:31,340 kung ikaw ay upang input ng isang talagang mahabang salita, na pa rin ay tumatagal ng up lamang ng isang space, 1054 00:47:31,340 --> 00:47:33,230 dahil iyon ang isa string. 1055 00:47:33,230 --> 00:47:37,492 Ngunit kung ikaw ay mag-isip ng ang mga character ng na array, 1056 00:47:37,492 --> 00:47:40,450 pagkatapos na ang pagkuha up ng maraming higit pa character kaysa sa alinman sa iba pang mga salita 1057 00:47:40,450 --> 00:47:41,372 ay. 1058 00:47:41,372 --> 00:47:42,830 Hindi tunay na mahalaga para sa ngayon. 1059 00:47:42,830 --> 00:47:44,921 Ngunit iyon lamang ang karaniwang lamang kung paano ito gumagana. 1060 00:47:44,921 --> 00:47:49,750 1061 00:47:49,750 --> 00:47:50,560 >> SIGE. 1062 00:47:50,560 --> 00:47:55,840 Kaya ito ay isang bagay na ako gawin mo isang pulutong sa mga kurso ng semestre. 1063 00:47:55,840 --> 00:47:57,500 Kailangan ko na magpahinga ang aking boses. 1064 00:47:57,500 --> 00:47:59,530 Kailangan mong guys upang pasiglahin ang inyong mga sarili. 1065 00:47:59,530 --> 00:48:02,300 Ang isang pulutong ng ikaw ay malamang na may sa pagtulog ngayon. 1066 00:48:02,300 --> 00:48:05,960 Ako inputting random na mga problema kung saan namin bilang isang klase o sa iyo 1067 00:48:05,960 --> 00:48:09,480 may kasama na susunod sa iyo ay pagpunta na gumastos ng ilang minuto sa pagtalakay 1068 00:48:09,480 --> 00:48:14,980 sa kung paano namin pumunta tungkol sa paglutas o paglikha ng isang programa tulad ng mga ito. 1069 00:48:14,980 --> 00:48:17,100 >> Kaya ngayon, gusto naming upang lumikha ng isang program-- 1070 00:48:17,100 --> 00:48:19,560 kami ay pagpunta sa tawag na ito upper.c-- na nagpalit 1071 00:48:19,560 --> 00:48:24,787 isang lowercase salita sa isang itaas na-class string uppercase, paumanhin. 1072 00:48:24,787 --> 00:48:26,370 Word sa mga string, paumanhin, ay magkasingkahulugan. 1073 00:48:26,370 --> 00:48:28,370 Pupunta ako sa baguhin ang mga ito sa ibig sabihin ang parehong bagay. 1074 00:48:28,370 --> 00:48:32,270 1075 00:48:32,270 --> 00:48:33,499 >> Oo. 1076 00:48:33,499 --> 00:48:34,540 Kumuha ng ilang minuto. 1077 00:48:34,540 --> 00:48:37,130 Hindi nito kailangang maging nakasulat sa anumang wika. 1078 00:48:37,130 --> 00:48:39,890 Basta pseudocode code o lohikal na kung paano namin gagawin kahit 1079 00:48:39,890 --> 00:48:42,083 pumunta tungkol sa paggawa tulad ng isang problema. 1080 00:48:42,083 --> 00:48:42,583 Oo. 1081 00:48:42,583 --> 00:48:49,881 1082 00:48:49,881 --> 00:48:52,780 >> [SIDE uusap] 1083 00:48:52,780 --> 00:49:18,680 1084 00:49:18,680 --> 00:49:22,130 >> Napansin ko din na guys can-- Ako uri ng makita na ang programa. 1085 00:49:22,130 --> 00:49:24,600 Hulaan ko ang aking kakulangan ng presenter mode ay isang problema. 1086 00:49:24,600 --> 00:49:27,410 Ngunit ito ay OK. 1087 00:49:27,410 --> 00:49:30,410 >> [SIDE uusap] 1088 00:49:30,410 --> 00:50:03,589 1089 00:50:03,589 --> 00:50:04,380 Oo, please, guys. 1090 00:50:04,380 --> 00:50:05,400 Halika at makakuha ng kendi. 1091 00:50:05,400 --> 00:50:06,372 Halika at makakuha ng kendi. 1092 00:50:06,372 --> 00:50:07,698 >> Madla: Oo! 1093 00:50:07,698 --> 00:50:09,958 >> [SIDE uusap] 1094 00:50:09,958 --> 00:50:16,101 1095 00:50:16,101 --> 00:50:18,100 ANDI PENG: Gayundin, oo, Kukunin ko simulan ang ibinabato kendi 1096 00:50:18,100 --> 00:50:20,280 sa mga tao na hindi sagutin ang mga katanungan. 1097 00:50:20,280 --> 00:50:22,260 Kaya dapat sa iyo ang lahat ng mga sagot na tanong. 1098 00:50:22,260 --> 00:50:24,895 O ipagpalagay ko ang mga tao na huwag sagutin ang mga katanungan. 1099 00:50:24,895 --> 00:50:26,070 Oo, iba pang mga paraan sa paligid. 1100 00:50:26,070 --> 00:50:28,570 >> [SIDE uusap] 1101 00:50:28,570 --> 00:51:13,399 1102 00:51:13,399 --> 00:51:14,274 Madla: [hindi marinig] 1103 00:51:14,274 --> 00:51:17,300 1104 00:51:17,300 --> 00:51:18,340 >> ANDI PENG: Oo. 1105 00:51:18,340 --> 00:51:19,340 Oo. 1106 00:51:19,340 --> 00:51:22,840 >> [SIDE uusap] 1107 00:51:22,840 --> 00:51:40,700 1108 00:51:40,700 --> 00:51:41,590 >> Sige, guys. 1109 00:51:41,590 --> 00:51:44,731 Lumabas, tulad ng, 10 segundo pa. 1110 00:51:44,731 --> 00:51:48,210 >> [SIDE uusap] 1111 00:51:48,210 --> 00:52:10,600 1112 00:52:10,600 --> 00:52:11,750 >> OK, guys. 1113 00:52:11,750 --> 00:52:14,920 Kaya bago namin simulan ang sinusubukan mong aktwal na pisikal na magsulat ng code, 1114 00:52:14,920 --> 00:52:20,650 isang magandang ugali upang bumuo ay na nais naming unang uri ng dahilan 1115 00:52:20,650 --> 00:52:22,737 out lohikal kung paano namin gawin ito. 1116 00:52:22,737 --> 00:52:24,570 Gusto mong tiyakin, bago mo pisikal na 1117 00:52:24,570 --> 00:52:27,210 simulan ang pagsubok sa code sa Mario, na gumawa ka ng 1118 00:52:27,210 --> 00:52:28,870 tiyakin na mayroon kang ang iyong pseudocode. 1119 00:52:28,870 --> 00:52:31,235 Iyon ay ang pagkuha mo sa pamamagitan ng kung ano ang kailangan mong lumikha ng sa gayon 1120 00:52:31,235 --> 00:52:33,360 na, kapag ikaw ay pisikal na isulat ang iyong programa sa ibang pagkakataon, 1121 00:52:33,360 --> 00:52:36,640 ikaw ay mas mahusay na kakayahan upang mahuli ang mga error sa iyong code at mga bagay na tulad ng. 1122 00:52:36,640 --> 00:52:40,460 >> Kaya kami ay pagpunta upang simulan lamang by-- sa Ingles, sa pseudocode, 1123 00:52:40,460 --> 00:52:43,320 ang sinuman nais na magbigay sa sa akin ng isang generic na paliwanag 1124 00:52:43,320 --> 00:52:46,250 ng kung paano namin pumunta tungkol sa paggawa nito? 1125 00:52:46,250 --> 00:52:48,102 Oo. 1126 00:52:48,102 --> 00:52:49,664 >> Madla: [hindi marinig]. 1127 00:52:49,664 --> 00:52:50,830 ANDI PENG: Oo naman, walang alalahanin. 1128 00:52:50,830 --> 00:52:57,233 Madla: Maaari mong hilingin ito sa o magtanong isang tao upang makakuha string 1-- oo, string, 1129 00:52:57,233 --> 00:52:58,160 at then-- 1130 00:52:58,160 --> 00:52:59,826 >> ANDI PENG: Oo, kaya ito ay isang magandang simula. 1131 00:52:59,826 --> 00:53:01,972 Kukunin ko simulan ang pag-type, sorry, habang nagsasalita ka. 1132 00:53:01,972 --> 00:53:02,471 So-- 1133 00:53:02,471 --> 00:53:05,698 >> Madla: -ang lowercase mga numero ay mas mataas, tama? 1134 00:53:05,698 --> 00:53:08,519 O ang maliliit na titik magkaroon ng mataas na numero? 1135 00:53:08,519 --> 00:53:09,310 ANDI PENG: Eksakto. 1136 00:53:09,310 --> 00:53:16,156 Madla: Kaya naming pagkatapos ibawas 32 mula sa kahit anong [hindi marinig]. 1137 00:53:16,156 --> 00:53:28,600 1138 00:53:28,600 --> 00:53:29,870 >> ANDI PENG: Great. 1139 00:53:29,870 --> 00:53:35,020 Kaya namin uri ng magkaroon ng isang pangkalahatang kamalayan ng kung paano gumagana ang tungkol sa problemang ito. 1140 00:53:35,020 --> 00:53:40,060 Alam na uri ng aming natutunan ang pisikal na mga paraan na ang mga string 1141 00:53:40,060 --> 00:53:43,320 ay naka-imbak sa memorya, ano ang ginagawa mo na 1142 00:53:43,320 --> 00:53:45,920 malaman na ikaw ay pagpunta sa marahil Mayroon na magsulat sa iyong code 1143 00:53:45,920 --> 00:53:48,288 upang ilipat sa pamamagitan ng string? 1144 00:53:48,288 --> 00:53:49,259 >> Madla: Para sa loop. 1145 00:53:49,259 --> 00:53:50,550 ANDI PENG: A para sa loop, eksakto. 1146 00:53:50,550 --> 00:53:56,540 1147 00:53:56,540 --> 00:53:57,220 Great. 1148 00:53:57,220 --> 00:54:00,539 Kaya namin uri ng magkaroon ng isang generic pseudocode naisulat 1149 00:54:00,539 --> 00:54:02,330 na uri ng ay nagbibigay sa mga tala sa kung paano mo 1150 00:54:02,330 --> 00:54:03,900 Gusto ilipat ang tungkol sa paglutas ng problema. 1151 00:54:03,900 --> 00:54:06,150 Ngayon na kayo ay may ito, ikaw Maaari reference ito para sa ibang pagkakataon 1152 00:54:06,150 --> 00:54:08,233 kapag sinusubukan mong talagang isulat ang iyong code. 1153 00:54:08,233 --> 00:54:10,240 Kaya maaari naming aktwal na pumunta dito. 1154 00:54:10,240 --> 00:54:25,130 At Mayroon akong isang function na tinatawag upper.c-- doon ito is-- ng lamang ng isang blangko template 1155 00:54:25,130 --> 00:54:28,510 ngayon na iyong guys ay pagpunta sa tulungan akong malaman sa kung paano sumulat 1156 00:54:28,510 --> 00:54:30,430 ito linya ng code ay hindi linya ng code. 1157 00:54:30,430 --> 00:54:32,890 Makikita ito ay maramihang mga linya ng code. 1158 00:54:32,890 --> 00:54:35,710 >> Kapag ang simula ng anumang uri ng blangko pset, kung ano ang 1159 00:54:35,710 --> 00:54:37,418 ang unang bagay na kailangan ko tandaan na gawin? 1160 00:54:37,418 --> 00:54:39,290 >> Madla: [hindi marinig]. 1161 00:54:39,290 --> 00:54:41,000 >> ANDI PENG: Great Yep. 1162 00:54:41,000 --> 00:54:41,500 Isama. 1163 00:54:41,500 --> 00:54:44,850 1164 00:54:44,850 --> 00:54:47,130 stdio.h. 1165 00:54:47,130 --> 00:54:49,640 Madalas ito ay isa sa ang pinaka-madaling pagkakamali ng mga tao 1166 00:54:49,640 --> 00:54:51,598 ay gumawa ng kapag ang mga ito pagsulat, ay na makikita nila 1167 00:54:51,598 --> 00:54:54,180 kalimutan na isama ang isang mahalaga library na kailangan nila. 1168 00:54:54,180 --> 00:54:57,689 Kaya kung ito ay oras ng opisina at ikaw ay tulad ng, Hindi ko alam kung bakit ang aking code ay hindi gumagana. 1169 00:54:57,689 --> 00:54:59,230 Maaari mo bang sabihin sa akin kung bakit hindi ito gumagana? 1170 00:54:59,230 --> 00:55:00,730 Kami ay pagpunta sa sabihin ninyo # isama? 1171 00:55:00,730 --> 00:55:02,520 Dapat mong # include ito. 1172 00:55:02,520 --> 00:55:03,270 SIGE. 1173 00:55:03,270 --> 00:55:07,230 >> Kaya namin nakuha ang standard I / O dito. 1174 00:55:07,230 --> 00:55:10,740 Iyan lang library kami ay pagpunta sa kailangan dito? 1175 00:55:10,740 --> 00:55:12,681 Ano pa ang mga namin pagpunta sa gawin? 1176 00:55:12,681 --> 00:55:13,180 Sorry. 1177 00:55:13,180 --> 00:55:14,562 Isang tao lang sigaw ito? 1178 00:55:14,562 --> 00:55:15,666 >> Madla: [hindi marinig]. 1179 00:55:15,666 --> 00:55:16,666 ANDI PENG: May pumunta ka. 1180 00:55:16,666 --> 00:55:20,320 1181 00:55:20,320 --> 00:55:21,440 SIGE. 1182 00:55:21,440 --> 00:55:26,070 At paano ko pumunta tungkol sa simula ng anumang uri ng function, ang anumang uri ng pangunahing pag-andar 1183 00:55:26,070 --> 00:55:28,760 sa loob ng aming programa? 1184 00:55:28,760 --> 00:55:30,020 Int main. 1185 00:55:30,020 --> 00:55:34,531 1186 00:55:34,531 --> 00:55:35,030 SIGE. 1187 00:55:35,030 --> 00:55:35,970 Ano ang gagawin ko bang ilagay ang loob dito? 1188 00:55:35,970 --> 00:55:37,640 Ano ang unang bagay na gusto mong gawin? 1189 00:55:37,640 --> 00:55:39,910 Kung gusto namin upang makakuha ng isang string mula sa gumagamit, 1190 00:55:39,910 --> 00:55:43,870 kung ano ang mga namin pagpunta sa may upang gawin ito sa unang linya? 1191 00:55:43,870 --> 00:55:46,120 Paumanhin, ang iyong guys lamang pakiramdam free na magsalita at malakas. 1192 00:55:46,120 --> 00:55:47,123 Shout out kahit anong lamang. 1193 00:55:47,123 --> 00:55:48,772 >> Madla: Humiling user? 1194 00:55:48,772 --> 00:55:49,980 ANDI PENG: Paano namin gawin iyon? 1195 00:55:49,980 --> 00:55:51,873 Ask-- ako pagpunta sa uri "tanungin ang mga user"? 1196 00:55:51,873 --> 00:55:52,600 >> Madla: Printf. 1197 00:55:52,600 --> 00:55:54,341 >> ANDI PENG: OK. 1198 00:55:54,341 --> 00:55:54,840 Printf. 1199 00:55:54,840 --> 00:55:57,372 Ano ang gusto ko sa printf? 1200 00:55:57,372 --> 00:55:58,776 >> Madla: I-type sa isang bagay. 1201 00:55:58,776 --> 00:56:02,760 1202 00:56:02,760 --> 00:56:03,840 >> ANDI PENG: Tulad iyon? 1203 00:56:03,840 --> 00:56:05,430 Guys, magpanggap tulad ako computer. 1204 00:56:05,430 --> 00:56:08,475 Pisikal na sabihin sa akin ang bawat hakbang na kailangan kong i-type sa dito? 1205 00:56:08,475 --> 00:56:09,600 Ako paggawa ng isang bagay na mali? 1206 00:56:09,600 --> 00:56:10,743 Dapat ko bang na-type ng isang bagay? 1207 00:56:10,743 --> 00:56:11,690 >> Madla: Kailangan mong quotes. 1208 00:56:11,690 --> 00:56:12,380 >> ANDI PENG: Kailangan ko quotes? 1209 00:56:12,380 --> 00:56:12,880 SIGE. 1210 00:56:12,880 --> 00:56:15,520 1211 00:56:15,520 --> 00:56:16,297 SIGE. 1212 00:56:16,297 --> 00:56:17,698 >> Madla: At pagkatapos ng mga bagong linya. 1213 00:56:17,698 --> 00:56:21,434 1214 00:56:21,434 --> 00:56:22,465 Tuldok-kuwit. 1215 00:56:22,465 --> 00:56:23,340 ANDI PENG: semicolon? 1216 00:56:23,340 --> 00:56:24,060 SIGE. 1217 00:56:24,060 --> 00:56:24,560 Good. 1218 00:56:24,560 --> 00:56:27,060 >> Madla: At siguro tukuyin na ito ang gusto mo sa lowercase? 1219 00:56:27,060 --> 00:56:30,120 1220 00:56:30,120 --> 00:56:31,415 >> ANDI PENG: Great. 1221 00:56:31,415 --> 00:56:33,540 Ikaw guys matawa sa akin forgetting upang maglagay ng isang tuldok-kuwit. 1222 00:56:33,540 --> 00:56:36,350 Ginagarantiya ko sa iyo sa tabi-tabi sa kurso ng klase na ito, 1223 00:56:36,350 --> 00:56:38,260 ikaw ay kalimutan na maglagay ng isang tuldok-kuwit, at ito 1224 00:56:38,260 --> 00:56:41,116 Dadalhin ka nito sa tatlong oras upang malaman kung bakit ang iyong code ay hindi gumagana. 1225 00:56:41,116 --> 00:56:42,240 Ito ay nangyari sa ating lahat. 1226 00:56:42,240 --> 00:56:43,950 Ito ay marahil mangyari sa iyo. 1227 00:56:43,950 --> 00:56:46,352 Kumuha ng sa isang magandang ugali ng paggamit ng mga semicolon. 1228 00:56:46,352 --> 00:56:46,852 SIGE. 1229 00:56:46,852 --> 00:56:49,010 >> Madla: Gusto mo upang gawin ang backslash in? 1230 00:56:49,010 --> 00:56:50,398 >> ANDI PENG: Oo naman. 1231 00:56:50,398 --> 00:56:51,856 Gusto mo bang gawin ang backslash in? 1232 00:56:51,856 --> 00:56:53,020 >> Madla: Oo. 1233 00:56:53,020 --> 00:56:54,330 >> ANDI PENG: Great. 1234 00:56:54,330 --> 00:56:54,830 SIGE. 1235 00:56:54,830 --> 00:56:57,872 Ano ang susunod kong gagawin? 1236 00:56:57,872 --> 00:56:58,964 >> Madla: Kumuha ng string. 1237 00:56:58,964 --> 00:56:59,880 ANDI PENG: Kumuha ng string. 1238 00:56:59,880 --> 00:57:03,080 1239 00:57:03,080 --> 00:57:03,830 Kaya ano ang gagawin ko type? 1240 00:57:03,830 --> 00:57:04,233 Isang tao? 1241 00:57:04,233 --> 00:57:05,040 >> Madla: String s. 1242 00:57:05,040 --> 00:57:05,873 >> ANDI PENG: String s. 1243 00:57:05,873 --> 00:57:07,251 Madla: GetString. 1244 00:57:07,251 --> 00:57:09,000 ANDI PENG: ang isang tao, maaari mong sabihin sa akin kung saan 1245 00:57:09,000 --> 00:57:12,000 mga function na ito GetString ay nagmumula? 1246 00:57:12,000 --> 00:57:13,660 >> Madla: string.h. 1247 00:57:13,660 --> 00:57:15,256 >> ANDI PENG: string.h? 1248 00:57:15,256 --> 00:57:16,715 Sa tingin mo ito ay mula string.h? 1249 00:57:16,715 --> 00:57:17,830 >> Madla: [hindi marinig]. 1250 00:57:17,830 --> 00:57:18,830 >> ANDI PENG: May pumunta ka. 1251 00:57:18,830 --> 00:57:21,280 Ito ay mula sa CS50.h. 1252 00:57:21,280 --> 00:57:24,530 Kung lagi ka na nalilito sa kung saan ang isang file library ay o isang header na file ay, 1253 00:57:24,530 --> 00:57:28,450 google literal string.h, at sasabihin ko sa inyo 1254 00:57:28,450 --> 00:57:30,450 ano ang lahat ng mga function na sa string.h. 1255 00:57:30,450 --> 00:57:31,340 SIGE. 1256 00:57:31,340 --> 00:57:35,210 >> Kaya ngayon na aking nilikha ay isang string at na ako prompt ang user para sa mga ito, 1257 00:57:35,210 --> 00:57:38,770 Naka-imbak ko na ito sa isang variable pinangalanan ni, ano ang kailangan kong gawin ngayon? 1258 00:57:38,770 --> 00:57:40,652 >> Madla: Suriin kung ito ay sa lowercase. 1259 00:57:40,652 --> 00:57:41,360 ANDI PENG: Sorry? 1260 00:57:41,360 --> 00:57:42,545 Madla: Suriin kung ito ay sa lowercase. 1261 00:57:42,545 --> 00:57:44,045 ANDI PENG: Sige, sabihin gawin na ipaalam. 1262 00:57:44,045 --> 00:57:45,857 Paano ko gagawin yan? 1263 00:57:45,857 --> 00:57:47,940 Sa totoo lang, para sa mga layunin ng klase sa ngayon, 1264 00:57:47,940 --> 00:57:50,330 lang kami ng pagpunta sa ipalagay na ang lahat ng bagay 1265 00:57:50,330 --> 00:57:52,620 na input kami ay mayroon na sa lowercase. 1266 00:57:52,620 --> 00:57:55,430 Kung iyong nais na tingnan, gusto mo magdagdag lamang ng isang kondisyon na pahayag 1267 00:57:55,430 --> 00:57:59,640 naka-check na, na tumakbo sa pamamagitan bawat solong elemento array 1268 00:57:59,640 --> 00:58:02,540 at nag-check kung ito ay sa pagitan ng ilang mga halaga. 1269 00:58:02,540 --> 00:58:05,627 Nakalimutan ko kung ano ang bilang ng mga halaga ng lowercase ay. 1270 00:58:05,627 --> 00:58:07,210 Maaari mong tingnan ito sa mesa ASCII. 1271 00:58:07,210 --> 00:58:08,800 Ngunit oo, na ang isang tunay na magandang point. 1272 00:58:08,800 --> 00:58:11,758 Ngunit sa ngayon, kami ay lamang ng pagpunta sa ipalagay na ang lahat ng mga string input namin 1273 00:58:11,758 --> 00:58:13,130 ay nasa lowercase. 1274 00:58:13,130 --> 00:58:13,870 SIGE. 1275 00:58:13,870 --> 00:58:18,069 >> Kaya kung paano ko pumunta tungkol sa ang problemang ito sa susunod? 1276 00:58:18,069 --> 00:58:18,860 Madla: Para sa loop. 1277 00:58:18,860 --> 00:58:19,340 ANDI PENG: Para sa loop? 1278 00:58:19,340 --> 00:58:19,839 SIGE. 1279 00:58:19,839 --> 00:58:20,847 Sabihin mo sa akin kung ano ang i-type. 1280 00:58:20,847 --> 00:58:25,230 >> Madla: Para sa int i katumbas 0. 1281 00:58:25,230 --> 00:58:27,230 >> ANDI PENG: OK. 1282 00:58:27,230 --> 00:58:36,350 >> Madla: Oh, talaga, pagkatapos mo gawin ang isang kuwit at gawin n katumbas strlen. 1283 00:58:36,350 --> 00:58:38,940 >> ANDI PENG: Kaya mahalagang bagay na sa tingin ko siya ay napansin dito 1284 00:58:38,940 --> 00:58:42,936 ay na hindi mo na kailangan pang sabihin int n ang pangalawang pagkakataon na ginawa namin ito. 1285 00:58:42,936 --> 00:58:45,060 Basta alam na sa isang para sa loop kapag kayo ay magpahayag, 1286 00:58:45,060 --> 00:58:47,934 ikaw ay tunay na hindi na kailangan ang int ng sa pangalawang pagkakataon gawin mo ang isang variable. 1287 00:58:47,934 --> 00:58:51,202 Maaari mong sabihin n strlen. 1288 00:58:51,202 --> 00:58:52,620 >> Madla: Ng s. 1289 00:58:52,620 --> 00:58:53,510 >> ANDI PENG: s. 1290 00:58:53,510 --> 00:58:54,706 SIGE. 1291 00:58:54,706 --> 00:58:58,370 >> Madla: Pagkatapos ng isang tuldok-kuwit. 1292 00:58:58,370 --> 00:59:00,130 >> ANDI PENG: Oo naman. 1293 00:59:00,130 --> 00:59:04,050 >> Madla: At pagkatapos ay [hindi marinig] n. 1294 00:59:04,050 --> 00:59:07,480 1295 00:59:07,480 --> 00:59:09,460 Pagkatapos i ++. 1296 00:59:09,460 --> 00:59:11,780 >> ANDI PENG: Great. 1297 00:59:11,780 --> 00:59:12,280 Lahat tama. 1298 00:59:12,280 --> 00:59:14,690 Ano ang gusto natin sa loob ng mga ito para sa loop ngayon? 1299 00:59:14,690 --> 00:59:17,820 Tandaan, kung kami ay pagpunta upang tumakbo sa pamamagitan isang string at patakbuhin sa pamamagitan ng isang array, 1300 00:59:17,820 --> 00:59:19,287 gusto naming suriin ang mga bagay sa loob nito. 1301 00:59:19,287 --> 00:59:20,370 Ano ang mga namin pagpunta sa kailangan? 1302 00:59:20,370 --> 00:59:23,070 1303 00:59:23,070 --> 00:59:26,900 Ito ay uri ng mga mapanlinlang na bahagi na ngayon. 1304 00:59:26,900 --> 00:59:27,960 Kahit sino ay may isang hula? 1305 00:59:27,960 --> 00:59:34,160 1306 00:59:34,160 --> 00:59:34,690 >> SIGE. 1307 00:59:34,690 --> 00:59:37,830 Kaya una, paano namin kahit na ma-access? 1308 00:59:37,830 --> 00:59:41,610 Paano ginagawa namin kahit unang tseke o ma-access ang isang elemento sa array? 1309 00:59:41,610 --> 00:59:42,920 Paano namin gawin iyon? 1310 00:59:42,920 --> 00:59:47,120 Ano ang notasyon na ginagamit namin upang gawin iyon? 1311 00:59:47,120 --> 00:59:50,920 Ano ang tinatawag na ang pangalan ng mga ito array? 1312 00:59:50,920 --> 00:59:52,400 Ito ay tinatawag na s, di ba? 1313 00:59:52,400 --> 00:59:54,850 >> Tandaan, anumang string ay palaging isang array. 1314 00:59:54,850 --> 00:59:58,210 Kaya s bracket i, di ba? 1315 00:59:58,210 --> 01:00:01,360 Dahil na ay ang kasalukuyang halaga o index halaga Sinusuri namin. 1316 01:00:01,360 --> 01:00:05,156 At kami ay pagpunta sa set na pantay-pantay to-- gusto namin ng isang lowercase na halaga, i-right? 1317 01:00:05,156 --> 01:00:07,530 Gusto naming i-na lower-- Paumanhin, gusto namin ng isang uppercase. 1318 01:00:07,530 --> 01:00:10,014 Gusto naming i-on ang lowercase halaga na ito sa isang uppercase. 1319 01:00:10,014 --> 01:00:11,805 At kaya like-- Sorry, Anong pangalan mo? 1320 01:00:11,805 --> 01:00:12,580 >> Madla: Heidi. 1321 01:00:12,580 --> 01:00:12,940 >> ANDI PENG: Sorry? 1322 01:00:12,940 --> 01:00:13,280 >> Madla: Heidi. 1323 01:00:13,280 --> 01:00:13,988 >> ANDI PENG: Heidi. 1324 01:00:13,988 --> 01:00:15,850 Tulad Heidi sinabi una, hindi namin malamang 1325 01:00:15,850 --> 01:00:20,330 pagpunta sa kailangan the-- hindi namin marahil pagpunta sa may upang mag-alis 1326 01:00:20,330 --> 01:00:22,630 32 mula sa kahit anong charc na, tama? 1327 01:00:22,630 --> 01:00:24,680 Dahil sa isang ascii table, ang pagkakaiba 1328 01:00:24,680 --> 01:00:27,790 sa pagitan ng isang maliit na mga titik at isang uppercase sulat ay 32. 1329 01:00:27,790 --> 01:00:31,290 Kaya kapag kami ay ginagawa ito, hindi namin malamang pagpunta sa nais na ibawas 32, di ba? 1330 01:00:31,290 --> 01:00:33,910 >> Kaya kami ay pagpunta sa gawin i s. 1331 01:00:33,910 --> 01:00:37,590 1332 01:00:37,590 --> 01:00:41,200 Ba lahat maunawaan kung bakit ginawa ko na? 1333 01:00:41,200 --> 01:00:45,760 Dahil sa ngayon, sa aming array, Sinusuri namin ang 0 index, di ba? 1334 01:00:45,760 --> 01:00:49,190 At sa 0 index ng string, na ang unang karakter. 1335 01:00:49,190 --> 01:00:51,820 At na karakter kami ay pagpunta upang ipalagay ito ay lowercase. 1336 01:00:51,820 --> 01:00:55,980 Kung nais namin na gawin itong uppercase, namin kung ibawas 32 mula sa halaga nito, 1337 01:00:55,980 --> 01:00:58,620 dahil sa aming mga ASCII table, na kung paano namin kumuha ito 1338 01:00:58,620 --> 01:01:01,600 sa susunod na naaayon halaga na ginagawang uppercase. 1339 01:01:01,600 --> 01:01:03,714 Lahat ng tao na maunawaan ba iyon? 1340 01:01:03,714 --> 01:01:04,213 Oo. 1341 01:01:04,213 --> 01:01:06,530 >> Madla: Puwede mo ring huwag lowercase ng minus-- 1342 01:01:06,530 --> 01:01:08,080 >> ANDI PENG: Oo, kaya iyon talagang talagang mahusay. 1343 01:01:08,080 --> 01:01:10,455 Pupunta ako sa bumalik sa na tanong pagkatapos naming gawin ito. 1344 01:01:10,455 --> 01:01:11,060 Oo. 1345 01:01:11,060 --> 01:01:13,940 At pagkatapos ay kung gusto kong makita kung ano ang nangyayari, 1346 01:01:13,940 --> 01:01:16,180 Marahil ako pagpunta sa nais na i-print, i-right? 1347 01:01:16,180 --> 01:01:19,930 Isang tao sabihin sa akin kung ano ang Gusto kong i-print dito. 1348 01:01:19,930 --> 01:01:29,160 >> Madla: printf percent c backslash [hindi marinig]. 1349 01:01:29,160 --> 01:01:33,570 Iyan ay ang halaga ng s [hindi marinig] i. 1350 01:01:33,570 --> 01:01:34,614 >> ANDI PENG: s i, sorry? 1351 01:01:34,614 --> 01:01:35,530 Madla: [hindi marinig]. 1352 01:01:35,530 --> 01:01:38,550 1353 01:01:38,550 --> 01:01:39,550 ANDI PENG: hindi ko alam. 1354 01:01:39,550 --> 01:01:40,600 Ano sa palagay mo? 1355 01:01:40,600 --> 01:01:44,016 >> Madla: Well, wouldn't-- ko Hulaan ko hindi ko bring-- 1356 01:01:44,016 --> 01:01:46,944 Gusto ko ilabas ito sa loob, dahil [hindi marinig]. 1357 01:01:46,944 --> 01:01:49,726 1358 01:01:49,726 --> 01:01:51,392 ANDI PENG: Oh, ikaw ay nagawa na iyon? 1359 01:01:51,392 --> 01:01:53,867 Madla: Oo. 1360 01:01:53,867 --> 01:01:56,700 ANDI PENG: umalis ni ito ang paraan Ipaalam ito ay, at Ipapaliwanag ko kung bakit bago. 1361 01:01:56,700 --> 01:01:58,533 Tandaan, kahit na kapag ikaw magkaroon ng isang may-hawak ng lugar, 1362 01:01:58,533 --> 01:02:00,701 nais mong ilagay ang mga panaklong sa paligid nito. 1363 01:02:00,701 --> 01:02:01,200 Lahat tama. 1364 01:02:01,200 --> 01:02:04,810 Kaya ito ay dapat na dito ang isang solid function. 1365 01:02:04,810 --> 01:02:06,370 Tumakbo natin ito at makita kung compiles ito. 1366 01:02:06,370 --> 01:02:08,750 Gumawa itaas. 1367 01:02:08,750 --> 01:02:09,250 Naku. 1368 01:02:09,250 --> 01:02:12,030 1369 01:02:12,030 --> 01:02:13,340 Iyon ay hindi hitsura masyadong mabuti. 1370 01:02:13,340 --> 01:02:14,507 Bakit ito nangyayari? 1371 01:02:14,507 --> 01:02:17,340 Tulad ng sa anumang error, gusto mong puntahan bumalik at magsimula sa ang unang isa, 1372 01:02:17,340 --> 01:02:20,630 dahil kadalasan isa error sanhi maraming iba pang mga error matapos na ito. 1373 01:02:20,630 --> 01:02:26,700 Narito makita upper.c namin: 18: 25, na nagsasabi sa sa akin sa programang ito na may pangalang upper.c, 1374 01:02:26,700 --> 01:02:33,800 on 18 linya, error kataon deklarasyon library ng mga function strlen may uri 1375 01:02:33,800 --> 01:02:36,330 unassigned-- blah, hindi ko alam kung ano ang nangyayari pagkatapos na. 1376 01:02:36,330 --> 01:02:39,990 >> Lahat ng ito ay nagsasabi sa akin sa ngayon ay na may isang bagay ang nangyayari sa mga strlen. 1377 01:02:39,990 --> 01:02:43,520 At ang computer ay nalilito, dahil ito ay tulad ng, hindi ko alam kung ano ang strlen ay? 1378 01:02:43,520 --> 01:02:45,520 Ano ang ibig sabihin na marahil sabihin sa iyo kung ikaw ay nawawala? 1379 01:02:45,520 --> 01:02:46,490 >> Madla: Ikaw ay nawawala [hindi marinig]. 1380 01:02:46,490 --> 01:02:47,630 >> ANDI PENG: Kayo ay may karapatan. 1381 01:02:47,630 --> 01:02:49,510 Mismong. 1382 01:02:49,510 --> 01:02:52,140 Kaya ito ay kung saan ito ay mahalaga upang matiyak 1383 01:02:52,140 --> 01:02:56,970 na ang bawat pag-andar na gamitin mo sa iyong code ay nagkakaroon ng tamang header 1384 01:02:56,970 --> 01:02:59,660 file para sa mga library, o iba pa ikaw ay pagpunta upang makakuha ng maraming mga error 1385 01:02:59,660 --> 01:03:01,150 at ang iyong code ay hindi pagpunta upang malaman kung ano ang nangyayari sa. 1386 01:03:01,150 --> 01:03:03,050 Kaya kami ay pagpunta upang isama string.h dito. 1387 01:03:03,050 --> 01:03:06,270 >> Ngayon kapag sinubukan namin upang ipunin itaas. 1388 01:03:06,270 --> 01:03:08,410 Magtala ng tama. 1389 01:03:08,410 --> 01:03:09,960 Tumakbo ni program na ito. 1390 01:03:09,960 --> 01:03:12,000 Kaya type ang isang bagay sa lowercase. 1391 01:03:12,000 --> 01:03:14,920 Ano ang gagawin mo guys nais na mag-type? 1392 01:03:14,920 --> 01:03:16,546 Mag-shout out ng isang bagay. 1393 01:03:16,546 --> 01:03:17,920 Lahat ng karapatan, lamang lumakad Charly in. 1394 01:03:17,920 --> 01:03:18,990 Makikita type kami ng pangalan ni Charly. 1395 01:03:18,990 --> 01:03:21,670 1396 01:03:21,670 --> 01:03:22,840 >> Charly sa lowercase. 1397 01:03:22,840 --> 01:03:27,742 At sana, sana, ito ay pagpunta upang mag-shout out at sabihin ang lahat 1398 01:03:27,742 --> 01:03:28,575 Charly sa uppercase. 1399 01:03:28,575 --> 01:03:30,830 Yay! 1400 01:03:30,830 --> 01:03:33,430 ang lahat ng tao na maunawaan kung paano Nagpunta ako tungkol sa paglutas ng iyon? 1401 01:03:33,430 --> 01:03:36,190 Ang paraan na makakaya ko manipulahin gamit integer 1402 01:03:36,190 --> 01:03:39,410 upang malutas ang isang bagay na Gusto kong gawin sa mga string, 1403 01:03:39,410 --> 01:03:44,390 dahil character at integer Maaari isinangguni sa parehong paraan dahil 1404 01:03:44,390 --> 01:03:45,540 ng paggawa ng mga mapa ASCII. 1405 01:03:45,540 --> 01:03:52,890 >> Kaya upang bumalik sa iyong point, kung ako nais na ilagay dito sa halip ng 32 1406 01:03:52,890 --> 01:03:58,959 uppercase A minus lowercase ng tulad ng na iyon, na nais magtrabaho pantay pati na rin, 1407 01:03:58,959 --> 01:04:01,750 dahil iyon lang lamang ang pagkakaiba sa pagitan ng mga dalawang mga halaga. 1408 01:04:01,750 --> 01:04:09,570 Kung gusto kong gumawa ito again-- charly. 1409 01:04:09,570 --> 01:04:10,320 Oh hindi. 1410 01:04:10,320 --> 01:04:11,820 Sa tingin ko ay nagpunta kami sa maling paraan, oo? 1411 01:04:11,820 --> 01:04:13,260 >> Madla: [hindi marinig] lowercase ng. 1412 01:04:13,260 --> 01:04:14,260 >> ANDI PENG: May pumunta ka. 1413 01:04:14,260 --> 01:04:22,380 1414 01:04:22,380 --> 01:04:22,880 Yep. 1415 01:04:22,880 --> 01:04:24,920 At out spits charly. 1416 01:04:24,920 --> 01:04:28,020 Kaya maging maingat kapag ka na pagbabawas halaga 1417 01:04:28,020 --> 01:04:30,400 tandaan na kung saan ang isa ay mas malaki kaysa sa isa. 1418 01:04:30,400 --> 01:04:35,220 Halimbawa, hanggang dito Nakalimutan ko na lowercase isang ay talagang 1419 01:04:35,220 --> 01:04:38,540 mas malaki kaysa sa uppercase A. Kaya kapag ako sinubukang alisin ang mga ito sa iba pang paraan 1420 01:04:38,540 --> 01:04:40,600 sa paligid, negatibong 32 nakuha ko. 1421 01:04:40,600 --> 01:04:42,800 At ang aking computer ay tulad ng, Hindi ko alam kung ano na. 1422 01:04:42,800 --> 01:04:45,810 Ito ay maaaring mangyari lamang ng ilang mga random halaga na ito ay hindi tunay mabuti. 1423 01:04:45,810 --> 01:04:48,760 At kaya siguraduhin na ikaw ay pagbabawas sa tamang haba 1424 01:04:48,760 --> 01:04:52,831 upang mahanap ang mga character na gusto mo. 1425 01:04:52,831 --> 01:04:53,330 SIGE. 1426 01:04:53,330 --> 01:04:58,550 Kahit sino nalilito Ay sa kung paano namin nagpunta tungkol sa pagsulat ng mga function na ito? 1427 01:04:58,550 --> 01:04:59,180 SIGE. 1428 01:04:59,180 --> 01:05:04,830 Sa aktwal, ang isang function na umiiral sa library na tinatawag na ctype.h. 1429 01:05:04,830 --> 01:05:06,417 Tinatawag ctype.h Ang library. 1430 01:05:06,417 --> 01:05:08,500 Ang function na ito talaga ang na nakasulat para sa iyo. 1431 01:05:08,500 --> 01:05:10,820 Ito ay tinatawag na upper. 1432 01:05:10,820 --> 01:05:13,027 >> At kaya para sa mga layunin ng ito pset, ikaw ay pagpunta 1433 01:05:13,027 --> 01:05:15,860 upang mahanap na tunay na nais mong gamitin isang pulutong ng mga function na nakapaloob 1434 01:05:15,860 --> 01:05:17,390 sa loob ng CType library. 1435 01:05:17,390 --> 01:05:21,040 Upang itaas, upang mas mababa, ay itaas, ay lower-- sa mga lahat ng mga pag-andar 1436 01:05:21,040 --> 01:05:24,914 na ikaw ay maaaring gamitin napaka, masyadong mabilis sa iyong sariling code na 1437 01:05:24,914 --> 01:05:26,080 ay kung ano mismo ang ginagawa nito. 1438 01:05:26,080 --> 01:05:28,941 Kami ay sumulat ng kung paano i-convert isang string sa uppercase. 1439 01:05:28,941 --> 01:05:31,440 Ngunit ito ay talagang ang code na may ibang tao ay may nakasulat 1440 01:05:31,440 --> 01:05:33,800 at na maaari mong ma-access sa pamamagitan ng isang iba't ibang mga function. 1441 01:05:33,800 --> 01:05:34,300 Oo? 1442 01:05:34,300 --> 01:05:39,570 >> Madla: Kaya kopyahin mo lang A sa may at gawin ito para sa bawat solong sulat? 1443 01:05:39,570 --> 01:05:42,070 >> ANDI PENG: Oo, dahil hindi ko pag-aalaga tungkol sa mga halaga ng a. 1444 01:05:42,070 --> 01:05:44,540 Lamang ako pag-aalaga na ang mga pagkakaiba pagitan ng mga ito ay 32, di ba? 1445 01:05:44,540 --> 01:05:48,210 Ang pagkakaiba sa pagitan ng lowercase b at uppercase B ding 32. 1446 01:05:48,210 --> 01:05:50,860 At ang pagkakaiba sa pagitan c at uppercase C ay palaging 32. 1447 01:05:50,860 --> 01:05:53,235 >> Mayroon akong lamang sa pag-aalaga tungkol sa mga pagkakaiba sa pagitan ng dalawa, 1448 01:05:53,235 --> 01:05:56,666 dahil ang lahat ng mga titik sundin ang parehong pattern, tama? 1449 01:05:56,666 --> 01:05:58,540 Kung ako ay may mga pagkakaiba pagitan ng isa sa kanila, 1450 01:05:58,540 --> 01:06:01,050 Alam ko kung ano ang mga pagkakaiba sa pagitan ng lahat ng mga ito ay. 1451 01:06:01,050 --> 01:06:01,740 Magandang tanong. 1452 01:06:01,740 --> 01:06:04,090 Oo. 1453 01:06:04,090 --> 01:06:06,660 Ang bawat mabuti? 1454 01:06:06,660 --> 01:06:09,080 SIGE. 1455 01:06:09,080 --> 01:06:09,580 Oop. 1456 01:06:09,580 --> 01:06:14,380 1457 01:06:14,380 --> 01:06:15,270 >> SIGE. 1458 01:06:15,270 --> 01:06:20,310 Kaya isa pang konsepto na magiging lubhang kapaki-pakinabang bilang ikaw 1459 01:06:20,310 --> 01:06:22,570 magpatuloy upang bumuo ng ang iyong code ay ideya na ito 1460 01:06:22,570 --> 01:06:25,430 ng paglikha ng mga function o abstraction. 1461 01:06:25,430 --> 01:06:28,479 Kaya ngayon, lahat kami kinuha algebra. 1462 01:06:28,479 --> 01:06:31,770 Sa algebra, ikaw ay itinuro na mayroong ang kahanga-hangang bagay na tinatawag na isang function 1463 01:06:31,770 --> 01:06:35,300 machine, kung saan kung ikaw input isang uri ng numero, 1464 01:06:35,300 --> 01:06:38,720 ito ay tumatakbo sa pamamagitan ng mga kahanga-hangang mga function at out nagpa-pop isang iba't ibang mga output, di ba? 1465 01:06:38,720 --> 01:06:42,220 Sa code, ang mga parehong bagay ang mangyayari sa anumang uri ng pag-andar. 1466 01:06:42,220 --> 01:06:48,230 >> Kaya maaari ko pisikal sumulat sa aking katawan ng aking code 1467 01:06:48,230 --> 01:06:52,357 isang pangunahing pahayag na talagang gumagana ano man ang mga katawan ng mga code ay ginagawa. 1468 01:06:52,357 --> 01:06:54,940 Ngunit sa labas ng na, maaari din ako isulat ang maraming iba't ibang mga pag-andar 1469 01:06:54,940 --> 01:06:56,320 na gawin ang maraming iba't ibang mga bagay. 1470 01:06:56,320 --> 01:06:58,570 Halimbawa, hindi namin nai nagsimula gamit ang ilan sa kanila. 1471 01:06:58,570 --> 01:07:00,610 Printf-- iyon ay isang function na may ibang tao 1472 01:07:00,610 --> 01:07:02,870 ito ay isinulat na maaari naming tumawag sa aming code. 1473 01:07:02,870 --> 01:07:05,410 Upang upper-- sa kasong ito, upper-- ay isa pang function 1474 01:07:05,410 --> 01:07:07,330 namin ang nakasulat na tayo maaaring tumawag sa aming code. 1475 01:07:07,330 --> 01:07:09,520 At upang hulaan ko kung bakit ginagawa kahit kami ay may mga pag-andar? 1476 01:07:09,520 --> 01:07:12,100 Bakit hindi gumawa ng mapa namin ito lamang ang lahat sa parehong linya ng code? 1477 01:07:12,100 --> 01:07:13,730 Ito ay ginagawang mas madali para sa lahat. 1478 01:07:13,730 --> 01:07:19,200 >> Well, ang pagdadahilan sa likod na ay, una sa lahat, samahan. 1479 01:07:19,200 --> 01:07:21,880 Ito ay talagang nakakainis pagpunta sa pamamagitan ng code ng isang tao 1480 01:07:21,880 --> 01:07:25,110 at isa function tulad ng printf. 1481 01:07:25,110 --> 01:07:28,570 Kung talagang alam mo guys kung ano ang function na printf entailed na isulat, 1482 01:07:28,570 --> 01:07:30,530 ito ay, tulad ng, 1000 mga linya ng code. 1483 01:07:30,530 --> 01:07:32,357 >> Kung sa bawat oras na nais ko sa printf isang bagay, 1484 01:07:32,357 --> 01:07:35,440 Mayroon akong magsulat ng 1,000 linya ng code, na magiging talagang nakakainis na basahin, 1485 01:07:35,440 --> 01:07:36,290 right? 1486 01:07:36,290 --> 01:07:38,860 Iyon ang dahilan kung bakit hindi namin lamang nilikha abstract function na ito 1487 01:07:38,860 --> 01:07:41,670 na kami na ang isang tao ibang tao ay nakasulat sa iba pang lugar. 1488 01:07:41,670 --> 01:07:44,920 At sa bawat oras na kailangan namin upang gamitin ito sa ang aming code, kami na lang sabihin printf. 1489 01:07:44,920 --> 01:07:48,070 At iyon ay maaaring gamitin ang pag-andar ang ibang tao ay nasusulat sa ating mga code. 1490 01:07:48,070 --> 01:07:51,020 Ginagawang mas madali organizationally magbasa code. 1491 01:07:51,020 --> 01:07:53,460 >> Pangalawa, ito ay pagpapagaan. 1492 01:07:53,460 --> 01:07:56,750 Pinadadali nito ang mga hakbang na namin upang gawin upang malutas ang aming mga problema. 1493 01:07:56,750 --> 01:07:59,300 Printf, function tulad ng printf, function tulad ng sa itaas 1494 01:07:59,300 --> 01:08:03,560 ay ang lahat ng mga bagay na magbibigay-daan sa amin upang gawing simple ang ating mga code kaya mas madaling. 1495 01:08:03,560 --> 01:08:05,830 At huling bagay ay reusability. 1496 01:08:05,830 --> 01:08:08,710 >> Kaya ang katotohanan na kami ay may isang function na tinatawag printf 1497 01:08:08,710 --> 01:08:11,990 na maaari naming tumawag sa maraming iba't ibang beses at nagbibigay-daan ito upang maging magagamit muli. 1498 01:08:11,990 --> 01:08:14,980 Kung ako ay upang isulat printf, Ito lamang ang isulat ko sabay. 1499 01:08:14,980 --> 01:08:16,439 Ito ay umiiral lamang sa mga na sa isang lugar. 1500 01:08:16,439 --> 01:08:19,890 Kung Nais kong gawin itong muli, nais ko kung i-copy at i-paste ng lahat ng na 1501 01:08:19,890 --> 01:08:21,760 sa aking pangalawang linya ng code. 1502 01:08:21,760 --> 01:08:24,880 Iyon ang dahilan kung bakit kung lumikha kami ng isang function na umiiral sa labas ng ating main, 1503 01:08:24,880 --> 01:08:26,880 maaari naming tumawag lamang sa ito at muling gamitin ito sa tuwing 1504 01:08:26,880 --> 01:08:29,604 kailangan natin upang ito ay isang mas madaling para sa amin bilang mga programa upang magsulat. 1505 01:08:29,604 --> 01:08:32,220 1506 01:08:32,220 --> 01:08:35,549 >> Kaya ang paraan na kami ay tunay na sumulat isang function ay halos katulad na, i-right? 1507 01:08:35,549 --> 01:08:37,590 Ito ay uri ng unang pagkakataon kung saan ipapakita namin 1508 01:08:37,590 --> 01:08:42,830 makita ang isang function tumagal sa isang style naiiba kaysa sa aming int pangunahing walang bisa. 1509 01:08:42,830 --> 01:08:46,779 Sa kasong ito, kung nais kong magsulat ng isang function na tinatawag na q, di ba? 1510 01:08:46,779 --> 01:08:49,370 >> At ang halaga int dito ay lahat na nagsasabi sa akin, 1511 01:08:49,370 --> 01:08:51,649 ano ang gagawin ko gusto ito gumana upang bumalik sa akin? 1512 01:08:51,649 --> 01:08:54,484 Kung gusto kong kubo isang integer, Pupunta ako sa nais na input. 1513 01:08:54,484 --> 01:08:55,525 Ang mga ito ay ang mga parameter. 1514 01:08:55,525 --> 01:08:58,490 Pupunta ako sa input ang halaga ng isang uri ng int. 1515 01:08:58,490 --> 01:09:01,300 At ako pagpunta upang bumalik ibang uri ng halaga ng int. 1516 01:09:01,300 --> 01:09:03,050 At dito, tulad ng sa iyo maaaring makita, lahat ako ginagawa 1517 01:09:03,050 --> 01:09:07,300 ay cubing ano man ang aking input ay bilang aking output at bumabalik na ito. 1518 01:09:07,300 --> 01:09:10,790 >> Kaya lahat ng mga function na ito ay ay tumatagal ng ilang uri ng integer. 1519 01:09:10,790 --> 01:09:14,979 Multiply nito ito sa pamamagitan ng mismo ng dalawang beses kaya na cube ito sa epekto. 1520 01:09:14,979 --> 01:09:17,729 At pagkatapos ito ay bumalik kahit na ano na output ay. 1521 01:09:17,729 --> 01:09:20,540 Kaya sa kasong ito, ito ay may dalawang linya ng code na kami ay upang magsulat ng dagdag. 1522 01:09:20,540 --> 01:09:22,880 Ngunit kung gusto naming tumawag sa oras na ito ng maraming beses, 1523 01:09:22,880 --> 01:09:26,210 ito ay mas madaling i-type ang isa na line karapatan dito na ang sa mga kubo sa 1524 01:09:26,210 --> 01:09:28,830 kailangang pumunta sa pamamagitan ng maraming beses. 1525 01:09:28,830 --> 01:09:34,180 >> Kaya ang paraan na mahalagang anumang pag-format para sa anumang uri ng mga function 1526 01:09:34,180 --> 01:09:36,420 ay pagpunta sa umiiral ay tulad dito. 1527 01:09:36,420 --> 01:09:38,659 Kaya kami ay may mga pangalan ng function. 1528 01:09:38,659 --> 01:09:39,950 Sa kasong ito, ito ay tinatawag na kubo. 1529 01:09:39,950 --> 01:09:42,033 At pangalan namin ito kubo dahil ito ay madaling matandaan. 1530 01:09:42,033 --> 01:09:44,220 Maaari mong pangalanan ito parisukat at maaari itong maging talagang nakakubo. 1531 01:09:44,220 --> 01:09:45,500 Ay hindi mahalaga. 1532 01:09:45,500 --> 01:09:48,020 Isang pangalan lamang na ikaw ay pagtatalaga ng iyong function. 1533 01:09:48,020 --> 01:09:51,660 >> Ang karapatang ito dito, int, ay ang uri ng mga parameter na kailangan mo. 1534 01:09:51,660 --> 01:09:54,149 Kaya kung ano ang function na ito kailangan upang gumana? 1535 01:09:54,149 --> 01:09:55,990 Well, ang mga pangangailangan ng isang input. 1536 01:09:55,990 --> 01:09:56,704 Pinangalanan ko itong input. 1537 01:09:56,704 --> 01:09:58,120 Maaari mong pangalanan ito kahit anong gusto mo. 1538 01:09:58,120 --> 01:10:00,500 Ngunit kailangan ko ng isang bagay na uri ng int. 1539 01:10:00,500 --> 01:10:03,730 Ito ay pagpunta sa aktwal na isakatuparan kahit na ano ay sa loob ng dito, 1540 01:10:03,730 --> 01:10:04,990 ng katawan ng function. 1541 01:10:04,990 --> 01:10:07,847 At pagkatapos ay ang uri ng return karapatan dito, ito int 1542 01:10:07,847 --> 01:10:09,680 lahat ng ito ay nagsasabi sa akin ay na ang function na ito ay 1543 01:10:09,680 --> 01:10:11,250 pagpunta sa bumalik sa akin sa int. 1544 01:10:11,250 --> 01:10:14,460 Kaya ito ay pagpunta sa kumuha sa isang int, at ito ay pagpunta sa magbibigay sa iyo ng likod ng isang int. 1545 01:10:14,460 --> 01:10:17,750 Ba maunawaan ng lahat kung paano ang formatting ng uring ito gumagana? 1546 01:10:17,750 --> 01:10:18,250 Cool. 1547 01:10:18,250 --> 01:10:24,690 1548 01:10:24,690 --> 01:10:25,740 >> SIGE. 1549 01:10:25,740 --> 01:10:31,770 Kaya hindi nag-aalala kung ito tila isang maliit na abstract ngayon. 1550 01:10:31,770 --> 01:10:33,450 Ito ay isang bagay na namin makipag-usap tungkol sa. 1551 01:10:33,450 --> 01:10:36,310 Ipapakita namin sumisid sa mas malalim sa susunod sa kurso. 1552 01:10:36,310 --> 01:10:41,170 Ang paraan na ang anumang uri ng mas mataas na antas abstraction ng mga bagay na ito sa trabaho 1553 01:10:41,170 --> 01:10:43,530 ay na, sa memory, sa ang iyong computer, ang lahat ng bagay 1554 01:10:43,530 --> 01:10:47,660 ay naka-imbak sa ganitong uri ng stack, sasabihin ko. 1555 01:10:47,660 --> 01:10:49,070 >> Kaya hanggang doon sa itaas. 1556 01:10:49,070 --> 01:10:50,861 Hindi ko alam kung ikaw guys ay maaaring makita na rin. 1557 01:10:50,861 --> 01:10:52,590 Kukunin ko ang subukan upang mag-zoom in. 1558 01:10:52,590 --> 01:10:55,111 Dito sa itaas, kami ay magkaroon ng pisikal na text 1559 01:10:55,111 --> 01:10:57,860 ng kung ano ang computer ay interpreting-- lahat ng mga zero at mga na 1560 01:10:57,860 --> 01:10:59,540 umiiral sa loob ng aming mga computer. 1561 01:10:59,540 --> 01:11:03,390 At pagkatapos ay ang kami ay initialize data at uninitialized data, 1562 01:11:03,390 --> 01:11:05,340 ano ang tawag namin pangkalahatang variable. 1563 01:11:05,340 --> 01:11:08,200 Kaya variable na umiiral sa lahat ng mga programa 1564 01:11:08,200 --> 01:11:11,815 at sa kabuuan ng iyong buong, mahalagang, code. 1565 01:11:11,815 --> 01:11:13,940 Huwag mag-alala kung ikaw guys ay uri ng hindi maliwanag sa mga ito. 1566 01:11:13,940 --> 01:11:16,060 Ito ay hindi tunay bagay ngayon. 1567 01:11:16,060 --> 01:11:18,680 >> At pagkatapos kami ay may kung ano ang tinatawag na isang kimpal sa isang stack. 1568 01:11:18,680 --> 01:11:21,140 Mag-isip ng isang stack literal bilang tulad ng isang stack ng mga bagay, 1569 01:11:21,140 --> 01:11:23,098 isang stack ng mga iba't-ibang mga bagay na itinutulak sa itaas 1570 01:11:23,098 --> 01:11:27,870 ng bawat isa na mag-imbak sa iba't-ibang variable at syntax sa loob ng iyong code. 1571 01:11:27,870 --> 01:11:31,460 At pagkatapos dito sa ibaba, kami ay ang mga variable na kapaligiran 1572 01:11:31,460 --> 01:11:35,480 ng kung ano ang iyong e-execute sa loob lamang ang iyong mga maliit na linya ng code. 1573 01:11:35,480 --> 01:11:40,510 >> At lamang kami ay pagpunta upang mag-zoom in sa aktwal na stack na bahagi. 1574 01:11:40,510 --> 01:11:43,880 Here So right, kung kami ay upang mag-zoom sa sa lugar lamang ito ng stack, 1575 01:11:43,880 --> 01:11:45,140 ito ay kung ano ang mukhang. 1576 01:11:45,140 --> 01:11:48,590 At ito ay tunay na medyo mahalaga kapag makipag-usap sa iyo guys tungkol sa mga function, 1577 01:11:48,590 --> 01:11:52,330 dahil paunawa na ang memory ng iyong computer 1578 01:11:52,330 --> 01:11:55,600 ay nag-iimbak ang mga variable at ang mga function 1579 01:11:55,600 --> 01:11:58,790 at ang mga parameter ng iyong parehong function at ang iyong pangunahing mga variable 1580 01:11:58,790 --> 01:12:00,190 sa iba't ibang lugar. 1581 01:12:00,190 --> 01:12:03,390 >> Kaya ngayon, main ay ang aktwal na pag-andar 1582 01:12:03,390 --> 01:12:04,780 na ikaw ay Isinasagawa sa isang code. 1583 01:12:04,780 --> 01:12:08,050 Ikaw ay ang kanyang mga parameter na naka-imbak dito at ang mga lokal na mga variable na naka-imbak dito. 1584 01:12:08,050 --> 01:12:12,270 Lokal na variable ay nangangahulugan lamang ang anumang mga variable na umiiral lamang sa loob na function. 1585 01:12:12,270 --> 01:12:15,610 At sa ibabaw ng mga ito, ikaw ay may ito hiwalay na function na tinatawag na kubo. 1586 01:12:15,610 --> 01:12:18,240 Mayroon kang na parameter pati na rin ang mga lokal. 1587 01:12:18,240 --> 01:12:21,540 >> At ang dahilan na maaari mong makikita dito ay ang kung ano 1588 01:12:21,540 --> 01:12:25,030 mangyayari kapag kubo ay tumatagal sa isang halaga mula sa iyong pangunahing pag-andar 1589 01:12:25,030 --> 01:12:27,640 ay na aktwal na ito ay pagkopya na over. 1590 01:12:27,640 --> 01:12:31,470 Kaya kung nais kong kubo 2 at bumalik 8, na ang 2 1591 01:12:31,470 --> 01:12:33,730 ay aktwal na inputted bilang isang parameter at ito ay 1592 01:12:33,730 --> 01:12:37,690 kinopya sa gayon ay magkaroon ka ng ito umiiral sa dalawang magkaibang lugar sa memorya. 1593 01:12:37,690 --> 01:12:40,520 At mayroon kang upang maging napaka-ingat sa pag-alala kung saan ang isa sa mga 1594 01:12:40,520 --> 01:12:42,520 tunay na ikaw ay pagmamanipula. 1595 01:12:42,520 --> 01:12:47,170 At isang halimbawa ng kung ano ang nangyari na magiging tunay, tunay masamang 1596 01:12:47,170 --> 01:12:48,050 umiiral dito mismo. 1597 01:12:48,050 --> 01:12:50,760 1598 01:12:50,760 --> 01:12:58,650 >> Kaya dito mismo, na nakuha ko, sa teorya, isang programa dito mismo, isang pangunahing pag-andar 1599 01:12:58,650 --> 01:13:02,180 na ako deklarasyon ng isang int x ay katumbas ng 1. 1600 01:13:02,180 --> 01:13:04,505 Ako deklarasyon ng isa pang int y katumbas 2. 1601 01:13:04,505 --> 01:13:06,380 At pagkatapos ay nagpapatakbo ako ito sa pamamagitan ng function na ito 1602 01:13:06,380 --> 01:13:09,647 tinatawag swap, kung saan akala ko na ito ay pagpapalit-palit sa dalawang halaga. 1603 01:13:09,647 --> 01:13:11,480 At pagkatapos ay ako pagpunta sa i-print out ang mga ito, right? 1604 01:13:11,480 --> 01:13:13,220 Iyon ay kung ano ang gusto ko ang program na ito upang gawin. 1605 01:13:13,220 --> 01:13:15,180 >> Kaya ng bumaba at tingnan ipaalam. 1606 01:13:15,180 --> 01:13:18,200 Kaya kung ako ang tunay na sumulat ng isang iba't ibang mga function, tulad ng makikita mo, 1607 01:13:18,200 --> 01:13:19,750 na namin ang aming pangunahing pag-andar dito. 1608 01:13:19,750 --> 01:13:22,860 At pagkatapos na namin ang aming ikalawang function dito. 1609 01:13:22,860 --> 01:13:24,520 Walang bisa swap. 1610 01:13:24,520 --> 01:13:27,090 Walang bisa ay nangangahulugan lamang na ito ay hindi pagpunta sa bumalik sa kahit ano. 1611 01:13:27,090 --> 01:13:28,930 Ang function na pangalan ay tinatawag swap, at ito ay 1612 01:13:28,930 --> 01:13:33,730 pagpunta sa paggamit ng dalawang variable, int isang at int b, mula sa iyong [hindi marinig] function. 1613 01:13:33,730 --> 01:13:39,010 >> Kaya mahalagang in dito, hindi namin pagpasa x at y sa function na ito. 1614 01:13:39,010 --> 01:13:40,760 At kung kami ay upang lumikha this-- kaya gusto naming 1615 01:13:40,760 --> 01:13:42,420 upang lumikha ng isang pansamantalang halaga, di ba? 1616 01:13:42,420 --> 01:13:43,930 Kami ay pagpunta sa magtalaga na sa a. 1617 01:13:43,930 --> 01:13:45,388 At pagkatapos ng isang ay pagpunta sa pantay-pantay na ngayon b. 1618 01:13:45,388 --> 01:13:47,660 At b ay magiging pabalik kung saan ang halaga temp ay, 1619 01:13:47,660 --> 01:13:51,070 kung saan ay isang, dahil kapag gusto mong magpalit ng mga bagay-bagay, 1620 01:13:51,070 --> 01:13:52,320 hindi mo pwedeng gusto magpalitan ng mga ito. 1621 01:13:52,320 --> 01:13:54,360 >> Mayroon kang upang panatilihin ang isa sa labas dito upang ito Naaalala 1622 01:13:54,360 --> 01:13:56,485 ano na, dahil sa sandaling magpalit ka ng isa, nakalimutan mo 1623 01:13:56,485 --> 01:13:58,200 kung ano na ang orihinal na halaga ay, di ba? 1624 01:13:58,200 --> 01:14:00,990 Kaya sa teorya, ang program na ito ay dapat na gumana, tama? 1625 01:14:00,990 --> 01:14:03,630 Kung gusto ko upang magpalit ng dalawa, dapat silang magpalit. 1626 01:14:03,630 --> 01:14:05,490 Kaya natin patakbuhin ang mga ito at makita kung gumagana ito. 1627 01:14:05,490 --> 01:14:11,130 1628 01:14:11,130 --> 01:14:16,940 >> Kaya bilang maaari mong makita ang isang lalaki, x ay isang beses sa 1 at y ay isang beses sa 2. 1629 01:14:16,940 --> 01:14:21,475 At kung i-print ko ito, x ay pa rin sa 1 at y ay 2. 1630 01:14:21,475 --> 01:14:25,970 Hmm, ang program na ito ay hindi tila sa maaari gumagana ang paraan na gusto ko ito sa trabaho. 1631 01:14:25,970 --> 01:14:29,950 Nais ba ng sinuman na kumuha ng isang shot sa hulaan kung bakit ito nangyayari? 1632 01:14:29,950 --> 01:14:34,430 Ito ay may sa gawin sa ang paraan na ang iba't ibang mga bagay ay 1633 01:14:34,430 --> 01:14:38,172 naka-imbak sa iba't-ibang lugar sa memorya. 1634 01:14:38,172 --> 01:14:39,377 >> SIGE. 1635 01:14:39,377 --> 01:14:41,960 Kaya mo guys hindi kailangang mag-alala masyadong marami ang tungkol sa mga ito ngayon. 1636 01:14:41,960 --> 01:14:46,610 Ngunit alam na kubo lokal variable ay isang at b, 1637 01:14:46,610 --> 01:14:49,230 dahil dito sa aming function, ipinahayag namin ang isang at b 1638 01:14:49,230 --> 01:14:53,570 bilang ang mga variable na umiiral sa loob ng kubo, na function. 1639 01:14:53,570 --> 01:14:59,490 Ngunit tulad ng makikita mo, ang mga parameter na ito ay ang pagkuha sa ay ini-imbak dito. 1640 01:14:59,490 --> 01:15:01,370 Ngunit kami ay hindi tunay bumabalik kahit ano. 1641 01:15:01,370 --> 01:15:03,120 Kami ay hindi tunay na pagbabago x at y. 1642 01:15:03,120 --> 01:15:04,440 Kami ay lamang ng pagbabago ng isang at b. 1643 01:15:04,440 --> 01:15:08,340 >> Kami ay nagkaroon ng kinopya x at y sa isang bagay na tinatawag na isang at b. 1644 01:15:08,340 --> 01:15:11,092 Ngunit kami ay hindi tunay manipulahin x at y sa kanilang sarili. 1645 01:15:11,092 --> 01:15:12,800 Sigurado ka guys na nakikita paano na ang nangyayari? 1646 01:15:12,800 --> 01:15:16,140 Ay na lang na kinopya namin ito sa ibabaw, ngunit kami ay hindi aktwal na nag-iingat 1647 01:15:16,140 --> 01:15:18,030 subaybayan kung saan sila ay sa memory. 1648 01:15:18,030 --> 01:15:20,127 >> At kaya ngayon ang computer ay naghahanap ng, oh, hindi ko na 1649 01:15:20,127 --> 01:15:21,960 tumakbo ang bagay na ito sa pamamagitan ng ang kaibig-ibig function. 1650 01:15:21,960 --> 01:15:23,690 Ngunit x at y ay x at y pa rin. 1651 01:15:23,690 --> 01:15:26,240 Walang nangyari sa ang mga ito dahil sa ang katunayan 1652 01:15:26,240 --> 01:15:28,340 na ang mga parameter at lokal na mga variable 1653 01:15:28,340 --> 01:15:30,150 ay naka-imbak sa isang iba't ibang ilagay sa memory. 1654 01:15:30,150 --> 01:15:32,030 At ito ay isang mas mataas na antas konsepto na bibigyan namin ng 1655 01:15:32,030 --> 01:15:34,300 simulan ang nakakakita sa susunod sa kurso. 1656 01:15:34,300 --> 01:15:36,950 Ngunit lamang malaman na ito ay isang problema na maaaring mangyari 1657 01:15:36,950 --> 01:15:41,400 at na kami ay malaman mga paraan kung paano pakikitungo sa mga ito sa susunod sa kurso. 1658 01:15:41,400 --> 01:15:41,900 SIGE. 1659 01:15:41,900 --> 01:15:47,750 1660 01:15:47,750 --> 01:15:48,250 Lahat tama. 1661 01:15:48,250 --> 01:15:51,780 Kaya ang huling konsepto hindi namin talagang pagpunta sa pabalat 1662 01:15:51,780 --> 01:15:53,880 na ang pagpunta sa maging kapaki-pakinabang para sa pset this week 1663 01:15:53,880 --> 01:15:56,060 ay kung ano ang tinatawag na command line argumento. 1664 01:15:56,060 --> 01:16:00,820 Kaya Rob sa kanyang panayam nagpunta sa pamamagitan ng uri ng saglit sa kung paano ito nagagawa. 1665 01:16:00,820 --> 01:16:02,770 Mahalagang malaman na ang kapag ikaw ay sumusulat 1666 01:16:02,770 --> 01:16:06,280 tulad ng isang pangunahing pag-andar, kapag kami Isinulat andar bago sa nakaraan, 1667 01:16:06,280 --> 01:16:07,804 nagkaroon kami int pangunahing walang bisa. 1668 01:16:07,804 --> 01:16:10,470 At ang dahilan namin ay may void doon ay dahil ang aming mga programa ay hindi 1669 01:16:10,470 --> 01:16:12,520 kailangan na halaga ng input upang tumakbo, i-right? 1670 01:16:12,520 --> 01:16:16,020 Kapag nagpatakbo ako Mario, hindi ko na kailangan upang aktwal na-type lamang sa isang bagay 1671 01:16:16,020 --> 01:16:16,970 kapag nagpatakbo ako Mario. 1672 01:16:16,970 --> 01:16:20,170 Maaari ko bang i-prompt ang user sa susunod. 1673 01:16:20,170 --> 01:16:22,450 Ngunit iyon ay hindi palaging ang kaso. 1674 01:16:22,450 --> 01:16:24,980 >> Halimbawa, sa ganitong Nagtatakda problema linggo, 1675 01:16:24,980 --> 01:16:28,365 ikaw ay pagpunta sa hilingin na, sa Bilang karagdagan sa pagpapatakbo ng iyong mga programa, 1676 01:16:28,365 --> 01:16:30,990 ikaw ay pagpunta sa nais na input ang ilang mga bagay sa tuwid na tulad ng sa iyo 1677 01:16:30,990 --> 01:16:32,050 patakbuhin ang iyong mga program. 1678 01:16:32,050 --> 01:16:34,720 Kaya ang paraan namin na tinatawag na isang argument command line, na 1679 01:16:34,720 --> 01:16:37,280 ay tulad ng isang argument maaari kang maglagay ng direkta 1680 01:16:37,280 --> 01:16:39,260 bilang sinusubukan mong patakbuhin ang iyong mga program. 1681 01:16:39,260 --> 01:16:44,680 >> Kaya ang notasyon para sa mga ito, ito ay medyo complex na-hinahanap, 1682 01:16:44,680 --> 01:16:47,320 ngunit ito ay talagang hindi na mahirap. Kaya int main-- 1683 01:16:47,320 --> 01:16:48,910 ito lamang ay ang iyong pangunahing function. 1684 01:16:48,910 --> 01:16:52,110 Sa argc comma string argv brackets. 1685 01:16:52,110 --> 01:16:56,040 Kaya ang lahat na sinasabi na ito int argc lahat na nagsasabi sa iyo 1686 01:16:56,040 --> 01:17:00,560 ay na ang mga ito ay ang bilang ng mga argumento dapat asahan ang computer. 1687 01:17:00,560 --> 01:17:03,130 >> Kaya isang bagay na talagang mahalaga na subaybayan ang 1688 01:17:03,130 --> 01:17:07,080 ay ang pisikal na pangalan ng iyong programa bilang ng bilang isa sa mga argumento. 1689 01:17:07,080 --> 01:17:11,080 Kaya kung nais kong magkaroon ng aking program tumakbo plus isang karagdagang command line 1690 01:17:11,080 --> 01:17:13,310 argument, ang tunay na ako pagpunta sa may dalawang. 1691 01:17:13,310 --> 01:17:15,080 Argc ang aktwal na pagpunta sa maging dalawa. 1692 01:17:15,080 --> 01:17:18,010 At pagkatapos ay string argv bracket-- lahat ng iyon ay ginagawa, 1693 01:17:18,010 --> 01:17:20,410 ito ay nagbibigay sa akin ng isang array ng mga string na 1694 01:17:20,410 --> 01:17:24,870 pagpunta upang ipakita lamang at mag-imbak ang lahat ng mga command line argument ay. 1695 01:17:24,870 --> 01:17:34,090 >> Kaya halimbawa, kung nais kong magkaroon ng ganitong program, ./copy INFILE outfile, di ba? 1696 01:17:34,090 --> 01:17:37,330 Iyan na lamang ang isang tipikal na utos Linux. 1697 01:17:37,330 --> 01:17:38,830 Ano ang tunay ay argc? 1698 01:17:38,830 --> 01:17:41,320 Gaano karaming mga argumento command line ay may tunay na ito? 1699 01:17:41,320 --> 01:17:45,130 Ang lahat ng ito ay ay gumawa ng kopya ng isang infile ng pangalan ng isang file 1700 01:17:45,130 --> 01:17:47,070 at ang mga kopya nito sa isa pang file, i-right? 1701 01:17:47,070 --> 01:17:48,700 Iyan na ang lahat na ito ay ginagawa. 1702 01:17:48,700 --> 01:17:53,080 Tulad ng iyong nakikita, ako ginagawa ito sa isang linya walang tunay na nangangailangan ng programa. 1703 01:17:53,080 --> 01:17:55,380 >> Ano ang aming argc sa kasong ito? 1704 01:17:55,380 --> 01:17:58,968 Gaano karaming mga argumento ang mayroon kami? 1705 01:17:58,968 --> 01:17:59,634 Madla: Tatlong? 1706 01:17:59,634 --> 01:18:01,200 ANDI PENG: Mayroon kaming tatlong, eksakto. 1707 01:18:01,200 --> 01:18:05,030 Kaya napaka-intuitive na lamang sa tingin na ito lamang 1708 01:18:05,030 --> 01:18:06,290 ang infile at ang outfile. 1709 01:18:06,290 --> 01:18:10,190 Ngunit alam na ang pisikal na pangalan ng program ikaw ay nagpapatakbo ng mga bilang ng bilang isa. 1710 01:18:10,190 --> 01:18:13,220 Kaya sa kasong ito, argc ay talagang tatlo. 1711 01:18:13,220 --> 01:18:15,860 Paano ang tungkol sa kung ano ang, ay argv 0? 1712 01:18:15,860 --> 01:18:18,180 Tandaan, ang lahat ng mga argumento command line 1713 01:18:18,180 --> 01:18:20,500 ay naka-imbak sa isang array ng mga string. 1714 01:18:20,500 --> 01:18:24,140 Kaya't kung sinusubukan kong i-access ito, kung ano ang Gusto argv bracket 0 ibigay sa akin? 1715 01:18:24,140 --> 01:18:25,364 >> Madla: [hindi marinig]. 1716 01:18:25,364 --> 01:18:26,155 ANDI PENG: Eksakto. 1717 01:18:26,155 --> 01:18:28,550 Ito ay magbibigay sa akin ang mga tuldok slash kopya, dahil na 1718 01:18:28,550 --> 01:18:31,070 ang 0 elemento, ang unang elemento ng aking array. 1719 01:18:31,070 --> 01:18:33,236 Ano ang tungkol sa argv 1? 1720 01:18:33,236 --> 01:18:33,945 >> Madla: INFILE. 1721 01:18:33,945 --> 01:18:35,070 ANDI PENG: INFILE, eksakto. 1722 01:18:35,070 --> 01:18:36,272 Ano ang tungkol sa argv 2? 1723 01:18:36,272 --> 01:18:37,022 Madla: OUTFILE. 1724 01:18:37,022 --> 01:18:38,190 ANDI PENG: OUTFILE. 1725 01:18:38,190 --> 01:18:39,290 Ito ay isang bit nakakalito ngayon. 1726 01:18:39,290 --> 01:18:42,630 Ano ang gagawin mo guys sa tingin argv 3 ay pagpunta sa pagbibigay sa akin 1727 01:18:42,630 --> 01:18:45,522 kung sinubukan kong i-print na out? 1728 01:18:45,522 --> 01:18:48,260 >> Madla: [hindi marinig]? 1729 01:18:48,260 --> 01:18:50,164 >> ANDI PENG: Mayroon ka ba ng isang kamay up? 1730 01:18:50,164 --> 01:18:50,663 Oo. 1731 01:18:50,663 --> 01:18:51,550 >> Madla: Ang isang alternatibong. 1732 01:18:51,550 --> 01:18:52,341 >> ANDI PENG: Eksakto. 1733 01:18:52,341 --> 01:18:55,440 Kaya tandaan sa panayam na tayo Mayroon sa dulo ng isang lahi ng isang bagay 1734 01:18:55,440 --> 01:18:56,640 tinatawag na isang null Terminator? 1735 01:18:56,640 --> 01:18:58,890 Susubukan naming makakuha ng sa na ito rin karagdagang sa sa klase. 1736 01:18:58,890 --> 01:19:02,472 Ngunit alam na sa notation, ang paraan ng iyong computer 1737 01:19:02,472 --> 01:19:04,430 alam na ito ay ang katapusan ng array na ito 1738 01:19:04,430 --> 01:19:07,310 Inilalagay ng isang bagay na tinatawag na isang null terminator o isang gitling zero. 1739 01:19:07,310 --> 01:19:12,047 >> Kaya kung susubukan mong ma-access ang argv 3, ikaw ay pagpunta sa pindutin ang dash 0. 1740 01:19:12,047 --> 01:19:13,630 Ito ay kahit na higit pa sa isang kahanga-hangang gawa tanong. 1741 01:19:13,630 --> 01:19:17,020 Ano ang tungkol sa argv 4? 1742 01:19:17,020 --> 01:19:20,920 Kaya ito ay nakalipas na null terminator, nakalipas na ang hangganan ng aming mga array. 1743 01:19:20,920 --> 01:19:24,380 Ano sa tingin mo ay pagpunta sa mangyayari kapag sinubukan namin upang gawin iyon? 1744 01:19:24,380 --> 01:19:25,842 >> Madla: [hindi marinig]? 1745 01:19:25,842 --> 01:19:26,550 ANDI PENG: Sorry? 1746 01:19:26,550 --> 01:19:28,025 Sabihin na ng kaunti louder? 1747 01:19:28,025 --> 01:19:29,086 >> Madla: [hindi marinig]. 1748 01:19:29,086 --> 01:19:29,710 ANDI PENG Oo. 1749 01:19:29,710 --> 01:19:32,420 Iyon ay ang pangalan ng area kayo ay pinaka-malamang na makakuha. 1750 01:19:32,420 --> 01:19:36,610 Ngunit alam na argv 4-- na nagbibigay-daan sa iyo upang ma-access 1751 01:19:36,610 --> 01:19:38,610 mga lugar sa computer ang iyong memory na ikaw talaga 1752 01:19:38,610 --> 01:19:41,650 hindi dapat hawakan, sapagkat ngayon alam mo kung ano argv ay. 1753 01:19:41,650 --> 01:19:46,220 Alam mo na ito ay isang hanay ng mga laki 3 na may dot copy, infile at outfile. 1754 01:19:46,220 --> 01:19:50,200 >> Kung susubukan mong pumunta sa ngayon lampas na na ikaw ay nakalipas na ang null Terminator, 1755 01:19:50,200 --> 01:19:53,050 ang iyong computer ay malamang na naka-imbak sa isang bagay sa argv 4. 1756 01:19:53,050 --> 01:19:55,790 At ikaw ay hindi tunay na dapat ay pinapayagan ng access sa argv 4, 1757 01:19:55,790 --> 01:19:58,130 dahil mayroon ka ng isang file cabinet at ikaw lamang 1758 01:19:58,130 --> 01:19:59,790 pinahihintulutan ng access sa mga tatlong istante. 1759 01:19:59,790 --> 01:20:02,870 Ngunit kung susubukan mo upang maabot ang paraan na lampas sa ang shelf ng kung saan ikaw ay pinahihintulutan, 1760 01:20:02,870 --> 01:20:04,930 ikaw ay pagpunta sa simulan ang panggugulo sa iba pang mga bagay sa memory ng iyong computer. 1761 01:20:04,930 --> 01:20:06,690 Iyon ay magiging tunay, tunay masama. 1762 01:20:06,690 --> 01:20:07,440 Kaya alam na lang. 1763 01:20:07,440 --> 01:20:10,370 Maging maingat na kayo huwag lamang sapalaran simulan 1764 01:20:10,370 --> 01:20:14,772 pag-access ng mga elemento sa isang array na ay hindi sa kung ano ang nais mong likhain. 1765 01:20:14,772 --> 01:20:17,114 Yep. 1766 01:20:17,114 --> 01:20:18,430 >> SIGE. 1767 01:20:18,430 --> 01:20:26,360 Kaya kami ay pagpunta sa gawin ang isa pang terminal halimbawa dito. 1768 01:20:26,360 --> 01:20:27,300 SIGE. 1769 01:20:27,300 --> 01:20:29,900 Kaya Rob mabilis sa panayam sa ibang mga araw nagpunta 1770 01:20:29,900 --> 01:20:35,040 sa pamamagitan ng halimbawa na ito, kung saan siya nagkaroon int pangunahing int argc string argv 1771 01:20:35,040 --> 01:20:39,090 bracket, na kung saan ay nagsasabi sa akin na ako pagpunta sa may mga argumento command line. 1772 01:20:39,090 --> 01:20:41,860 >> Siya ay may, kung argc katumbas katumbas 2-- tandaan, 1773 01:20:41,860 --> 01:20:45,070 katumbas katumbas nangangahulugan ng paghahambing. 1774 01:20:45,070 --> 01:20:47,980 Kung ito ay katumbas ng 2, pagkatapos ay ako pagpunta sa print hello, 1775 01:20:47,980 --> 01:20:51,190 ano man ang unang element ng array ay. 1776 01:20:51,190 --> 01:20:54,100 Iba Pa print, kumusta mundo. 1777 01:20:54,100 --> 01:20:56,300 Ano itong pagpunta sa mangyari mahalagang? 1778 01:20:56,300 --> 01:21:00,570 Maaari isang tao ipaliwanag lamang sa English kung ano ang ginagawa ng programang ito? 1779 01:21:00,570 --> 01:21:01,272 Oo. 1780 01:21:01,272 --> 01:21:08,160 >> Madla: Kung may isang taong nag-type sa isang utos at sinabi ng kanilang unang pangalan at apelyido, 1781 01:21:08,160 --> 01:21:12,096 hindi lamang ito ay i-print ang mga unang isa at sabihing, hello, 1782 01:21:12,096 --> 01:21:14,090 ano man ang iyong unang pangalan ay. 1783 01:21:14,090 --> 01:21:15,410 >> ANDI PENG: OK, patakbuhin natin ito ipaalam. 1784 01:21:15,410 --> 01:21:22,470 Kaya halimbawa, kung ako ay upang gumawa ng mga ang file na ito gumawa ng halo to-- kumusta 1785 01:21:22,470 --> 01:21:24,500 to-- ano ang gusto mo sa akin upang input? 1786 01:21:24,500 --> 01:21:25,900 >> Madla: Una at huling pangalan. 1787 01:21:25,900 --> 01:21:27,280 >> ANDI PENG: Una at huling pangalan? 1788 01:21:27,280 --> 01:21:28,180 Spaces? 1789 01:21:28,180 --> 01:21:29,690 >> Madla: Oo. 1790 01:21:29,690 --> 01:21:33,490 >> ANDI PENG: Maaari isang tao sabihin sa akin sa ngayon, kung ano ang argc? 1791 01:21:33,490 --> 01:21:35,630 Basta may karapatan? 1792 01:21:35,630 --> 01:21:36,290 Oops, sorry. 1793 01:21:36,290 --> 01:21:37,920 Hayaan akong bumalik. 1794 01:21:37,920 --> 01:21:40,740 Gaano karaming mga argumento command line are-- ka guys ay hindi maaaring talagang makita. 1795 01:21:40,740 --> 01:21:43,760 Ngunit kailangan kong subukan upang mag-zoom in. 1796 01:21:43,760 --> 01:21:44,290 Sinusubukan ko. 1797 01:21:44,290 --> 01:21:45,414 Oo, mayroong tatlong, di ba? 1798 01:21:45,414 --> 01:21:48,750 Ito ay tuldok slash hello, ito ay Andi, at ito ay Peng. 1799 01:21:48,750 --> 01:21:51,870 >> Kaya kung ano ang gagawin mo guys sa tingin ito programa ay pagpunta sa ma-print out? 1800 01:21:51,870 --> 01:21:55,550 1801 01:21:55,550 --> 01:21:56,060 Oh. 1802 01:21:56,060 --> 01:21:57,120 Pasensya na. 1803 01:21:57,120 --> 01:21:57,810 Maling pangalan. 1804 01:21:57,810 --> 01:22:03,630 1805 01:22:03,630 --> 01:22:06,130 Ito ay pag-print out, hello mundo. 1806 01:22:06,130 --> 01:22:09,603 Gusto ba na ipaliwanag bakit na ang nangyayari? 1807 01:22:09,603 --> 01:22:10,103 Oo? 1808 01:22:10,103 --> 01:22:11,019 >> Madla: [hindi marinig]. 1809 01:22:11,019 --> 01:22:14,439 1810 01:22:14,439 --> 01:22:15,230 ANDI PENG: Eksakto. 1811 01:22:15,230 --> 01:22:19,940 Kaya dito, ang mga kondisyon ay, kung argc katumbas katumbas 2. 1812 01:22:19,940 --> 01:22:23,650 Kaya lamang sa kaso na mayroong dalawang argumento command line. 1813 01:22:23,650 --> 01:22:25,850 Pagkatapos ako pagpunta sa i-print, hello, ano man ito. 1814 01:22:25,850 --> 01:22:28,210 Ngunit ibang tao, ako pagpunta sa i-print lamang, hello mundo. 1815 01:22:28,210 --> 01:22:30,040 Kaya ang isang tao na gusto upang bigyan ako ng isang halimbawa 1816 01:22:30,040 --> 01:22:35,050 ng kung paano Gusto ko magagawang upang aktwal na kumuha ito upang i-print ang halaga ng argv 1? 1817 01:22:35,050 --> 01:22:38,600 >> Ano ang gusto kong input dito? 1818 01:22:38,600 --> 01:22:39,840 Isang bagay lamang, tama? 1819 01:22:39,840 --> 01:22:42,900 Dahil ang tuldok hello sa naka bilang ng bilang ang unang argumento. 1820 01:22:42,900 --> 01:22:43,930 Isa lang ang aking nalalaman. 1821 01:22:43,930 --> 01:22:46,470 Kaya dot kumusta na lamang kung gagawin ko Andi. 1822 01:22:46,470 --> 01:22:47,270 Hello, Andi. 1823 01:22:47,270 --> 01:22:49,186 Ba maintindihan lahat ng tao bakit na ang nangyayari? 1824 01:22:49,186 --> 01:22:49,602 Oo. 1825 01:22:49,602 --> 01:22:52,500 >> Madla: Kaya ang puwang sa pagitan ng utos line-- ito [hindi marinig]? 1826 01:22:52,500 --> 01:22:56,247 1827 01:22:56,247 --> 01:22:56,830 ANDI PENG: No. 1828 01:22:56,830 --> 01:23:03,810 Kaya ang espasyo sa isang command line argument, x, sabihin sa iyong computer 1829 01:23:03,810 --> 01:23:06,820 na ito ay ang simula ng isang bagong string. 1830 01:23:06,820 --> 01:23:11,130 Kaya here-- ito tindahan string argv ang lahat ng iyong mga utos argumento line 1831 01:23:11,130 --> 01:23:13,110 sa mga string. 1832 01:23:13,110 --> 01:23:17,420 At upang ang mga puwang sa command line argument-- lahat na ginagawa ay magsasabi sa iyo, 1833 01:23:17,420 --> 01:23:21,030 ito ay sa dulo ng isang string at ito ay oras na para umusad sa isa pa. 1834 01:23:21,030 --> 01:23:21,990 >> Oo. 1835 01:23:21,990 --> 01:23:23,530 Ito ay medyo mahalaga para sa iyong pset, dahil ikaw ay 1836 01:23:23,530 --> 01:23:24,613 pagpunta sa pagsubok ng mga ito. 1837 01:23:24,613 --> 01:23:29,300 Kaya ang magkaroon ng kahit sino anumang mga katanungan sa mga ito? 1838 01:23:29,300 --> 01:23:30,016 OK, cool. 1839 01:23:30,016 --> 01:23:30,515 Oo? 1840 01:23:30,515 --> 01:23:35,008 >> Madla: Kaya ang dahilan ng gagawin mo ilagay sa halip integer argument calc 1841 01:23:35,008 --> 01:23:40,059 ng [hindi marinig] ay kapag gusto mong mag-type ng karagdagang impormasyon upang 1842 01:23:40,059 --> 01:23:41,030 [Hindi marinig]? 1843 01:23:41,030 --> 01:23:42,090 >> ANDI PENG: Oo, eksakto. 1844 01:23:42,090 --> 01:23:45,370 Ang ilang mga programa ay mangangailangan ka na input ng isang argument command line 1845 01:23:45,370 --> 01:23:47,732 na ito ay magbabalik sa at na gumagamit na iyon. 1846 01:23:47,732 --> 01:23:49,035 Oo. 1847 01:23:49,035 --> 01:23:50,410 Madla: Kaya kung ano kung [hindi marinig]? 1848 01:23:50,410 --> 01:23:55,440 1849 01:23:55,440 --> 01:23:58,870 >> ANDI PENG: Well, kung ano ang mayroon ako upang baguhin pagkatapos ay sa aking programa? 1850 01:23:58,870 --> 01:23:59,870 >> Madla: 3 Just. 1851 01:23:59,870 --> 01:24:12,460 1852 01:24:12,460 --> 01:24:15,020 >> ANDI PENG: Bakit na nangyayari, sa palagay mo? 1853 01:24:15,020 --> 01:24:18,940 >> Madla: Dahil ang [hindi marinig]. 1854 01:24:18,940 --> 01:24:22,370 >> Madla: Gusto mo na baguhin ito sa 2 [hindi marinig]. 1855 01:24:22,370 --> 01:24:23,484 >> Madla: 1 at 2. 1856 01:24:23,484 --> 01:24:24,650 ANDI PENG: 1 at 2, eksakto. 1857 01:24:24,650 --> 01:24:29,150 Kaya sa kasong ito, gusto mo marahil nais na magkaroon ng dalawang printf statements-- 1858 01:24:29,150 --> 01:24:32,601 isa na naka-print na argv ng 1 at ang isa na naka-print na argv 2. 1859 01:24:32,601 --> 01:24:33,100 Narito. 1860 01:24:33,100 --> 01:24:34,516 Maaari ko talagang gawin na tunay na mabilis. 1861 01:24:34,516 --> 01:24:46,720 1862 01:24:46,720 --> 01:24:47,320 May pumunta ka. 1863 01:24:47,320 --> 01:24:48,287 Oh. 1864 01:24:48,287 --> 01:24:49,370 Hindi lubos kung ano ang iyong nais. 1865 01:24:49,370 --> 01:24:52,590 Ngunit kung ikaw guys gulo sa paligid sa ang pag-format, ito ay darating out. 1866 01:24:52,590 --> 01:24:54,981 Oo. 1867 01:24:54,981 --> 01:24:55,480 Cool. 1868 01:24:55,480 --> 01:24:57,670 Alam ko hindi namin ng kaunti sa maikling panahon. 1869 01:24:57,670 --> 01:25:02,469 Ngunit lamang ako pagpunta sa mabilis na gastusin sa isang pagpunta sa pamamagitan helpful-- ilang minuto 1870 01:25:02,469 --> 01:25:03,760 Madla: Mayroon kang dalawang minuto. 1871 01:25:03,760 --> 01:25:05,010 ANDI PENG: Mayroon akong dalawang minuto? 1872 01:25:05,010 --> 01:25:06,340 Salamat. 1873 01:25:06,340 --> 01:25:09,180 Ang ilang mabilis na pset tips. 1874 01:25:09,180 --> 01:25:13,100 Kaya para sa pset, ko lubos na inirerekomenda, tulad ng sinabi ko, lahat ng tao na basahin ang spec. 1875 01:25:13,100 --> 01:25:16,804 Ikaw ay sumusulat tatlong programs-- isa tinatawag initials.c, isa na tinatawag caesar.c, 1876 01:25:16,804 --> 01:25:17,720 isa na tinatawag vigenere.c. 1877 01:25:17,720 --> 01:25:20,465 1878 01:25:20,465 --> 01:25:22,340 Ang ilang mahalagang mga tip na ka guys ay talagang gusto 1879 01:25:22,340 --> 01:25:25,040 upang panatilihin sa mind-- kaya doon ay ang function na ito 1880 01:25:25,040 --> 01:25:27,770 tinatawag atoi-- ayon sa gusto kong sabihin, isang trois. 1881 01:25:27,770 --> 01:25:29,520 Hindi malinaw kung na tunay na kung paano mo ito sinasabi. 1882 01:25:29,520 --> 01:25:32,510 Ngunit ang lahat ng ito ay ginagawa, ito ay inputting. 1883 01:25:32,510 --> 01:25:34,320 Ito-convert ng isang string sa isang int. 1884 01:25:34,320 --> 01:25:37,490 Kaya ang isang kumakatawan ASCII upang i integer. 1885 01:25:37,490 --> 01:25:40,310 Ito lang ang pag-convert ng ASCII mga halaga sa integer value. 1886 01:25:40,310 --> 01:25:44,510 Kaya tandaan argv, ang array na tindahan ang lahat ng iyong mga utos line arguments-- 1887 01:25:44,510 --> 01:25:46,300 ito tindahan ng mga ito ang lahat bilang mga string. 1888 01:25:46,300 --> 01:25:50,010 At kaya kung gusto mong ma- magkaroon ng isa sa kanila na maging isang integer, 1889 01:25:50,010 --> 01:25:52,750 ikaw ay pagpunta sa may upang gamitin ang halaga dito. 1890 01:25:52,750 --> 01:25:56,690 >> Modulo, tulad namin sakop mas maaga sa klase ngayon, 1891 01:25:56,690 --> 01:25:59,550 ay nagbibigay-daan sa iyo upang magkaroon ng natitira sa kahit anong mayroon ka. 1892 01:25:59,550 --> 01:26:03,620 Kaya kung mayroon talaga namin, talagang malaking bilang sa Caesar, 1893 01:26:03,620 --> 01:26:06,117 kung ano kung kami ay may katapusan ng isang string ng mga Vigenere? 1894 01:26:06,117 --> 01:26:08,450 Paano kayo ay pagpunta sa maaaring upang makakuha ng na i-wrap sa paligid? 1895 01:26:08,450 --> 01:26:11,330 Kung pinindot ko z at gusto ko ito upang bumalik sa a, 1896 01:26:11,330 --> 01:26:13,650 paano ako pagpunta upang makakuha ng na sa wrapper sa paligid? 1897 01:26:13,650 --> 01:26:15,960 Marahil nais na gumamit ng modulo doon sa isang lugar. 1898 01:26:15,960 --> 01:26:19,190 >> Pangalawa, mag-browse sa paligid iyong library. ctype.h. 1899 01:26:19,190 --> 01:26:20,680 Iyan ay isang bagong library na namin. 1900 01:26:20,680 --> 01:26:25,270 Makikita ninyo ang isang pulutong ng mga tunay, tunay kapaki-pakinabang na functions-- isupper, islower, 1901 01:26:25,270 --> 01:26:27,681 toupper, tolower, isalpha, at iba pa. 1902 01:26:27,681 --> 01:26:30,680 Lahat ng mga function na ay magiging lubhang kapaki-pakinabang kapag sinusubukan upang malaman kung, 1903 01:26:30,680 --> 01:26:33,780 ay ang karakter na ito ng isang maliit na mga titik? 1904 01:26:33,780 --> 01:26:35,730 Paano ko-convert na ito string sa isang uppercase? 1905 01:26:35,730 --> 01:26:38,146 Lahat ng mga bagay ay tunay, lubhang kapaki-pakinabang para sa iyong pset. 1906 01:26:38,146 --> 01:26:42,720 1907 01:26:42,720 --> 01:26:45,500 SIGE. 1908 01:26:45,500 --> 01:26:49,644 >> Oras ngayong gabi mga 8:00 Office sa 11:00 sa TEAL classroom bukas 1909 01:26:49,644 --> 01:26:51,310 pati na rin ang Miyerkules at Huwebes ng gabi. 1910 01:26:51,310 --> 01:26:53,280 Office oras ay nasa commons. 1911 01:26:53,280 --> 01:26:56,180 Lubos na iminumungkahi sa iyo guys lahat makapagsimula kaagad, 1912 01:26:56,180 --> 01:27:00,490 dahil hindi mo nais na maging na kid na Huwebes ng gabi ay may mga problema 1913 01:27:00,490 --> 01:27:03,870 pagsusumite ng iyong pset at ito ay tulad ng, hindi ko alam kung ano ang gagawin. 1914 01:27:03,870 --> 01:27:05,870 Sinimulan ko, ako tapos na, i-submit. 1915 01:27:05,870 --> 01:27:09,737 Subukan upang bigyan ang iyong sarili ng ilang mga kuwarto, dahil sa mga problema sa code palaging mangyari. 1916 01:27:09,737 --> 01:27:11,570 Gusto mong tiyakin na magbibigay sa iyo ng iyong sarili 1917 01:27:11,570 --> 01:27:14,810 isang pulutong ng mga oras para ma upang makumpleto ang psets. 1918 01:27:14,810 --> 01:27:15,310 Cool. 1919 01:27:15,310 --> 01:27:16,720 Kukunin ko mag-istambay dito. 1920 01:27:16,720 --> 01:27:18,226 >> Madla: naka-Ito ba online? 1921 01:27:18,226 --> 01:27:20,850 ANDI PENG: Hindi ko alam kung ito ay online na, ngunit ito ay. 1922 01:27:20,850 --> 01:27:23,500 Kukunin ko mag-istambay dito kung ang sinuman may naka anumang mga katanungan. 1923 01:27:23,500 --> 01:27:25,390 Salamat sa pagpunta. 1924 01:27:25,390 --> 01:27:27,105