1 00:00:00,000 --> 00:00:05,830 2 00:00:05,830 --> 00:00:08,650 >> Jason HIRSCHHORN: Maligayang pagdating sa CS50 seksyon, sa lahat. 3 00:00:08,650 --> 00:00:11,430 Ang pangalan ko ay Jason Hirschhorn. 4 00:00:11,430 --> 00:00:15,850 Ako ng maraming iyo TFs, ngunit ng maraming mga tao ay sana ay pagsali sa amin 5 00:00:15,850 --> 00:00:20,420 online, extension ng mag-aaral o estudyante sinusubukan upang tumingin sa pamamagitan ng seksyon na kung ang mga ito 6 00:00:20,420 --> 00:00:22,830 nakakaligtaan ang kanilang mga seksyon na linggo o lamang makibalita kung nais nila 7 00:00:22,830 --> 00:00:24,510 upang suriin ang ilang materyal. 8 00:00:24,510 --> 00:00:30,060 >> Kaya bilang bawat ang syllabus, na lahat ng iyong nabasa, itama? 9 00:00:30,060 --> 00:00:31,390 Nakakakita ako ng maraming nods head. 10 00:00:31,390 --> 00:00:34,220 Seksyon magbigay sa iyo ng pagkakataon upang galugarin ang kurso ni 11 00:00:34,220 --> 00:00:37,420 materyal sa isang mas kilalang-kilala kapaligiran, pati na rin ang dive sa 12 00:00:37,420 --> 00:00:38,810 hands-on activities. 13 00:00:38,810 --> 00:00:41,230 >> Kaya na kung ano talaga kami pagpunta sa ay paggawa bawat linggo. 14 00:00:41,230 --> 00:00:45,090 Kami ay pagpunta sa pumunta sa pamamagitan ng kung ano ang mayroon kami na natukoy na ang pinakamahalagang 15 00:00:45,090 --> 00:00:49,170 mga paksang tinalakay sa lecture, at ang mga bago marahil din pinaka-kapaki-pakinabang at 16 00:00:49,170 --> 00:00:52,780 pinaka-malamang na dumating up sa mga hanay ng problema at sa mga pagsusulit, at sa iyong coding 17 00:00:52,780 --> 00:00:53,970 buhay sa labas ng CS50. 18 00:00:53,970 --> 00:00:57,260 Kaya kami ay pagpunta sa pumunta sa mga paksang iyon, talakayin ang mga ito, pumunta sa mga iyon, 19 00:00:57,260 --> 00:01:00,660 sagutin ang anumang mga katanungan ka guys mayroon, at pagkatapos kami ay pagpunta sa gawin ng maraming 20 00:01:00,660 --> 00:01:02,250 kasanayan problema sa coding. 21 00:01:02,250 --> 00:01:04,239 >> Ikaw ang lahat ng dinala sa mga laptop, na kung saan ay hindi kapani-paniwala. 22 00:01:04,239 --> 00:01:05,710 Ito ay isang computer na klase agham. 23 00:01:05,710 --> 00:01:10,070 Gayunpaman, ng maraming mga pagsasanay na ginagawa namin, hindi mo na kailangan ang iyong mga laptop para sa. 24 00:01:10,070 --> 00:01:11,720 Maaari mong gawin ang mga ito sa isang sheet ng papel. 25 00:01:11,720 --> 00:01:13,580 Iyon ay kung paano ka ng pagpunta sa gawin ang mga ito sa mga pagsusulit. 26 00:01:13,580 --> 00:01:16,450 At sa katunayan, iyon ay isang mahusay na paraan upang talaga alam mo na kung paano gawin 27 00:01:16,450 --> 00:01:19,720 isang bagay kung hindi mo na kailangang 50 Suriin upang umasa sa Gawing o umasa sa, na nagsasabi 28 00:01:19,720 --> 00:01:20,620 gumawa ka ng anumang mga error. 29 00:01:20,620 --> 00:01:25,670 >> Kaya ka maligayang pagdating sa code sa appliance o run.cs50.net, na siyang 30 00:01:25,670 --> 00:01:29,770 isa pang tool na nagbibigay-daan sa iyo upang Code online, ngunit ko rin nais inirerekomenda, kung 31 00:01:29,770 --> 00:01:32,280 hindi mo pa sinubukan ito, gamit ang isang sheet ng papel at sinusubukan ang mga kasanayan 32 00:01:32,280 --> 00:01:33,640 problema sa isang sheet ng papel. 33 00:01:33,640 --> 00:01:35,330 Dahil muli, iyon ang sa huli kung ano ang iyong pagpunta sa maging 34 00:01:35,330 --> 00:01:37,430 hiningi na gawin sa mga pagsusulit. 35 00:01:37,430 --> 00:01:44,080 >> Kaya sabihin magsimula sa aming agenda para sa araw na ito. 36 00:01:44,080 --> 00:01:47,710 Kami ay pagpunta sa pumunta sa paglipas ng ilang mga kaugalian para sa ang aming seksyon, pagkatapos kami ay pagpunta sa sumisid 37 00:01:47,710 --> 00:01:51,180 sa array, pag-andar, at command line argumento, na kung saan ay kung ano ang iyong guys 38 00:01:51,180 --> 00:01:56,200 na sakop ito nakaraang linggo sa panayam at pagkatapos ay Lunes, at kung ano ang makikita mo takpan 39 00:01:56,200 --> 00:01:57,330 higit pa sa bukas. 40 00:01:57,330 --> 00:01:59,060 At pagkatapos ay sa wakas, kami ay pagpunta upang makipag-usap tungkol sa pset2. 41 00:01:59,060 --> 00:02:03,640 Kung maaari ba akong makakuha ng show ng mga kamay kung hindi Tiningnan ang problema dalawang hanay 42 00:02:03,640 --> 00:02:04,890 pagtutukoy. 43 00:02:04,890 --> 00:02:07,060 44 00:02:07,060 --> 00:02:08,120 Susubukan naming sabihin sa lahat ng tao. 45 00:02:08,120 --> 00:02:09,419 Hindi kapani-paniwala. 46 00:02:09,419 --> 00:02:12,070 >> Susubukan naming makipag-usap tungkol sa mga hanay ng problema sa isang bit, ngunit kung basahin mo ang mga problema na hanay 47 00:02:12,070 --> 00:02:14,340 pagtutukoy, na lahat ng kailangan mong gawin. 48 00:02:14,340 --> 00:02:18,370 Kung nababasa mo na bago pumunta ka sa klase at seksyon sa Martes, kalooban mo 49 00:02:18,370 --> 00:02:19,220 maging isang mahusay na posisyon. 50 00:02:19,220 --> 00:02:21,680 Maaari naming pumunta sa pamamagitan ng pag-set problema, na kung saan ay kung ano kami ay pagpunta 51 00:02:21,680 --> 00:02:22,090 gawin sa dulo. 52 00:02:22,090 --> 00:02:23,500 Kami ay pagpunta sa pumunta sa pamamagitan ng ang logic, tiyakin 53 00:02:23,500 --> 00:02:24,710 lahat ng tao ay sa parehong pahina. 54 00:02:24,710 --> 00:02:28,650 >> Gusto ko sa iyo upang ma-iwan Martes pakiramdam napaka-kumportable sa kung ano ang iyong 55 00:02:28,650 --> 00:02:31,560 kailangang gawin para sa problema hanay na ito linggo, at kung wala ka, ako maligaya 56 00:02:31,560 --> 00:02:33,050 pagkatapos manatili at magtrabaho sa iyo. 57 00:02:33,050 --> 00:02:36,850 Ngunit iyon ay isang bagay na mayroon ka sa gawin ngunit sa palagay ko ay magiging talagang matalino, 58 00:02:36,850 --> 00:02:40,500 lamang na basahin ang mga problema na hanay specification sa pamamagitan ng klase sa Martes, 59 00:02:40,500 --> 00:02:42,640 saan ito tunog tulad ng isang maraming ka guys ginawa. 60 00:02:42,640 --> 00:02:45,810 >> Kukunin ko magsimula sa isang agenda sa bawat klase sa gayon alam mo kung saan kami ay pagpunta. 61 00:02:45,810 --> 00:02:49,520 Ito ay kapaki-pakinabang din para sa mga taong nanonood online dahil sa bawat seksyon 62 00:02:49,520 --> 00:02:53,540 ay naka-code ng kulay, kaya kung nais mong dumating bumalik lamang at manood ng 10 minuto sa halip 63 00:02:53,540 --> 00:02:56,950 kaysa sa buong 90-minutong seksyon, mo maaaring pumunta lamang sa seksyon ng kulay naka-code 64 00:02:56,950 --> 00:02:57,890 at tumingin sa bahaging iyon. 65 00:02:57,890 --> 00:03:01,510 Kaya ko na sinubukan na putulin ang mga ito hanggang sa magaling module na magpapahintulot sa iyo upang - 66 00:03:01,510 --> 00:03:03,960 kung gusto mong bumalik at suriin, o iba pang mga mag-aaral na lamang ang 67 00:03:03,960 --> 00:03:05,350 nanonood ng seksyon upang suriin - 68 00:03:05,350 --> 00:03:08,130 upang makita ang tukoy na bagay sila nais bigyang-pansin 69 00:03:08,130 --> 00:03:10,480 at matuto nang higit pa tungkol sa. 70 00:03:10,480 --> 00:03:11,390 Sweet. 71 00:03:11,390 --> 00:03:12,180 >> Kaugalian. 72 00:03:12,180 --> 00:03:13,680 Ako ay isang taong labis manamit lider sa campus. 73 00:03:13,680 --> 00:03:14,900 Hindi ko alam kung sinuman ginawa ng taong labis manamit. 74 00:03:14,900 --> 00:03:16,280 Ang ibig kahit sinong taong labis manamit gawin? 75 00:03:16,280 --> 00:03:17,100 Isang tao ang ginawa ng taong labis manamit. 76 00:03:17,100 --> 00:03:18,430 Dalawang mga tao ginawang taong labis manamit. 77 00:03:18,430 --> 00:03:19,250 Kahanga-hanga. 78 00:03:19,250 --> 00:03:22,360 Kaya taong labis manamit ay ang unang taon Outdoor Oryentasyon Program. 79 00:03:22,360 --> 00:03:27,240 Alang namin ang freshmen sa gubat at gumawa ng ang pinaka-mahiwagang karanasan ng mga 80 00:03:27,240 --> 00:03:28,830 ang kanilang buhay, tama? 81 00:03:28,830 --> 00:03:29,220 Oo. 82 00:03:29,220 --> 00:03:30,080 Tunog tungkol sa karapatan. 83 00:03:30,080 --> 00:03:36,360 >> Kaya ko lang gusto upang simulan ang aming pinakaunang seksyon sa pamamagitan ng tatalakayin ang ilang mga kaugalian 84 00:03:36,360 --> 00:03:38,860 para sa mga klase at ang aming relasyon dahil sa tingin ko 85 00:03:38,860 --> 00:03:40,010 ang mga ito ay napakahalaga. 86 00:03:40,010 --> 00:03:43,630 Una at nangunguna sa lahat, bilang mga ng sa iyo kung sino ang aking mga seksyon natanggap at 87 00:03:43,630 --> 00:03:47,150 ay tinatalakay sa na e-mail, pag-ibig kong ito. 88 00:03:47,150 --> 00:03:48,130 Ito ang aking mga paboritong bahagi ng taon. 89 00:03:48,130 --> 00:03:49,100 Ko pa kaya nasasabik. 90 00:03:49,100 --> 00:03:50,040 Ko pa dito para sa oras ngayon. 91 00:03:50,040 --> 00:03:54,560 Hindi ko pa pakaliwa gusaling ito maliban sa pumunta kumain dahil mahal ko CS50 seksyon, ako 92 00:03:54,560 --> 00:03:58,620 Gustung-gusto pagtuturo, pag-ibig ko nagtatrabaho sa iyo guys. 93 00:03:58,620 --> 00:04:02,000 >> Isa sa aking pinakamataas na priority, kung hindi aking bilang isa priority, hindi lamang para sa 94 00:04:02,000 --> 00:04:05,130 class na ito ngunit kabilang sa aking ibang mga klase at extracurriculars, ay upang 95 00:04:05,130 --> 00:04:09,350 sumusuporta ka sa guys, at makatulong sa iyo na guys, at gawin ang aking pinakamahusay na upang tiyakin na ikaw 96 00:04:09,350 --> 00:04:13,780 guys may isang kahanga-hangang, masaya, produktibo, makatawag pansin, kapana-panabik na 97 00:04:13,780 --> 00:04:15,250 maranasan ito sa klase. 98 00:04:15,250 --> 00:04:16,190 Iyon ay kung ano ako nakatuon sa. 99 00:04:16,190 --> 00:04:17,959 Iyon ang dahilan kung bakit gustung-gusto kong gawin ito. 100 00:04:17,959 --> 00:04:20,190 Iyon ay ang aking numero ng isang bagay, susuportahan ka guys. 101 00:04:20,190 --> 00:04:25,110 Kung mayroon kang anumang mga katanungan tungkol sa mga panayam, ang problema set, seksyon, 102 00:04:25,110 --> 00:04:28,830 buhay, kahit na gusto mong makipag-usap tungkol sa buhay, mangyaring huwag mag-atubiling makipag-ugnay. 103 00:04:28,830 --> 00:04:31,210 >> Mayroon kang ang aking cell phone number, mayroon kang ang aking email 104 00:04:31,210 --> 00:04:32,910 address, mayroon kang aking GChat. 105 00:04:32,910 --> 00:04:37,540 Maaari kang makipag-ugnay sa akin sa anuman o lahat ng mga kailanman, ngunit marahil ay hindi makakakuha 106 00:04:37,540 --> 00:04:38,720 isang tugon kailanman. 107 00:04:38,720 --> 00:04:41,020 Ako subukan at makabalik sa loob ng 24 oras. 108 00:04:41,020 --> 00:04:44,760 Malimit ito ay sa loob ng 20 minuto o 24 minuto. 109 00:04:44,760 --> 00:04:46,110 Dapat ko pa sinabi na upang gawin itong parallel. 110 00:04:46,110 --> 00:04:48,840 Ngunit makakakuha ka ng isang tugon medyo mabilis. 111 00:04:48,840 --> 00:04:54,220 >> Kung TEXT mo ako ng isang oras bago ang problema hanay ay dapat bayaran, ako ay kalmado ka 112 00:04:54,220 --> 00:04:57,660 down at gawin malalim na pagsasanay paghinga sa iyo, ngunit kung hindi mo pa magsimula, 113 00:04:57,660 --> 00:05:00,270 marahil ay hindi mo pagpunta sa matapos, at Hindi talaga ko maaaring makatulong sa iyo out doon 114 00:05:00,270 --> 00:05:01,710 kahit Kukunin ko subukan ang aking pinakamahusay. 115 00:05:01,710 --> 00:05:03,920 Kaya ako ay gawin ang lahat ng Maaari ko upang suportahan ka. 116 00:05:03,920 --> 00:05:07,980 Mangyaring huwag mag-atubiling makipag-ugnay kung ito ay nasa seksyon na muli, sa Oras ng Opisina 117 00:05:07,980 --> 00:05:09,150 kung makikita mo sa akin, o kahit na sa labas. 118 00:05:09,150 --> 00:05:11,800 Ikinagagalak kong i-set up ang isang oras upang matugunan at trabaho sa pamamagitan ng mga problema 119 00:05:11,800 --> 00:05:14,410 may o pumunta sa paglipas ng materyal. 120 00:05:14,410 --> 00:05:15,990 Kaya na numero ng isa, sa suporta. 121 00:05:15,990 --> 00:05:17,940 Ako ay gawin ang lahat ng ko Maaari upang suportahan ka. 122 00:05:17,940 --> 00:05:21,520 >> Numero ng dalawang, pulong sa gitna. 123 00:05:21,520 --> 00:05:24,760 Bilang magkano bilang Gusto kong maging, ako hindi makapangyarihan o lahat-ng-malakas o 124 00:05:24,760 --> 00:05:28,410 lahat ng nakaka-alam, kaya hindi ko alam ang lahat ng mga panahon kung ano ako paggawa ay pagkuha 125 00:05:28,410 --> 00:05:33,410 sa kabuuan, kung ang paraan ako nagtuturo ng topic tumutulong sa iyo na malaman ito, o kung ikaw 126 00:05:33,410 --> 00:05:36,120 ay lito sa isang paksa ngunit hindi gawin itaas ang iyong mga kamay o hilingin sa akin 127 00:05:36,120 --> 00:05:37,390 o magpadala sa akin ng isang email. 128 00:05:37,390 --> 00:05:42,150 O kahit na sa iyo, muli, ay lito tungkol sa isang bagay sa hanay problema. 129 00:05:42,150 --> 00:05:44,240 Kung hindi mo maabot ang out sa akin, Hindi ko alam na para bang. 130 00:05:44,240 --> 00:05:46,950 Pupuntahan ko na gawin ang aking pinakamahusay na mag-check in sa guys mo, siguraduhin ang lahat ng bagay ay 131 00:05:46,950 --> 00:05:51,170 pagpunta na rin, subukan magturo sa mga bagay sa isang paraan na magiging kaaya-aya sa karamihan ng 132 00:05:51,170 --> 00:05:54,910 ang iyong pag-aaral ng mga estilo, ngunit kung mayroong kahit ano ang maaari kong gawin, ipaalam sa akin. 133 00:05:54,910 --> 00:05:58,520 >> Kasama ang mga linya, kung gusto mo ng ilang tulong sa hanay problema, ako nang higit pa 134 00:05:58,520 --> 00:05:59,700 kaysa masaya na tulungan kang sa problema set. 135 00:05:59,700 --> 00:06:02,300 Kami ay pagpunta sa gawin ng maraming na patungo sa pangalawa 136 00:06:02,300 --> 00:06:03,460 kalahati ng seksyon na ito. 137 00:06:03,460 --> 00:06:06,040 Ngunit kung hindi mo pa basahin ang problema nagtatakda i-back at hindi pa napanood ang lakad 138 00:06:06,040 --> 00:06:09,310 sa pamamagitan at hindi pa napanood ang shorts at umaasa sa akin upang magturo sa iyo 139 00:06:09,310 --> 00:06:13,260 ang lahat ng bagay na na-videotape o online na maaari mong matagpuan sa CS50 140 00:06:13,260 --> 00:06:16,720 pag-aaral, na hindi talaga patas sa sa akin o sa iyong iba pang mga kapantay. 141 00:06:16,720 --> 00:06:20,440 142 00:06:20,440 --> 00:06:25,730 >> Kaya mangyaring, ako ay higit sa masaya na tulungan sa iyo, ngunit ikaw guys nakuha upang matugunan sa akin sa 143 00:06:25,730 --> 00:06:27,230 sa gitna. 144 00:06:27,230 --> 00:06:30,100 Mayroon kaming tonelada ng mga mapagkukunan para sa magagamit mo sa CS50. 145 00:06:30,100 --> 00:06:31,230 Nabanggit ko ang ilan sa kanila. 146 00:06:31,230 --> 00:06:32,960 Mangyaring samantalahin ng mga ito. 147 00:06:32,960 --> 00:06:35,140 Kung ikaw ay naguguluhan, ako nang higit pa kaysa masaya upang makatulong sa iyo na ipaliwanag ang mga ito sa 148 00:06:35,140 --> 00:06:39,290 isa pang paraan, pero hindi patas kung mag-aaral na ipakita up sa oras ng opisina, 149 00:06:39,290 --> 00:06:42,530 hindi pa nagsisimulang anumang bagay, at ito ay Huwebes gabi at sila ay umaasang 150 00:06:42,530 --> 00:06:45,880 ang tf para lakarin ang mga ito sa pamamagitan ng bawat solong bagay para sa mga problema dahil nakatakda 151 00:06:45,880 --> 00:06:47,140 sa tanghali ng susunod na araw. 152 00:06:47,140 --> 00:06:48,300 Magkaroon ng kahulugan? 153 00:06:48,300 --> 00:06:50,890 Muli, mangyaring matugunan sa amin sa gitna. 154 00:06:50,890 --> 00:06:53,230 >> At sa wakas, mataas na mga inaasahan. 155 00:06:53,230 --> 00:06:58,010 Pupunta ako sa maging grading lahat ng tao kung sino ang sa aking seksyon, o pagmamarka ng iyong 156 00:06:58,010 --> 00:06:59,020 problema set. 157 00:06:59,020 --> 00:07:01,240 Hindi ka pa nawala pabalik problema itakda sa zero o isa pa. 158 00:07:01,240 --> 00:07:02,250 Humihingi kami ng paumanhin tungkol sa na. 159 00:07:02,250 --> 00:07:04,970 Ito ay kinuha sa amin sandali upang sa wakas tumira seksyon, at ngayon 160 00:07:04,970 --> 00:07:05,560 maaari naming simulan grading. 161 00:07:05,560 --> 00:07:09,560 >> Kukunin ko ang mga iyon pabalik sa iyo sa lalong madaling panahon. 162 00:07:09,560 --> 00:07:11,890 Iyon ang ilan sa aking mga advisees out doon. 163 00:07:11,890 --> 00:07:14,150 Kukunin ko ang mga iyon pabalik sa iyo sa lalong madaling panahon. 164 00:07:14,150 --> 00:07:18,046 At para sa mga problema ng dalawang hanay, kami ay magiging sa iskedyul at kami ay magsimulang makakuha ng mga ito 165 00:07:18,046 --> 00:07:20,440 sa iyo medyo mabilis matapos mong i-on ang mga ito in 166 00:07:20,440 --> 00:07:24,130 >> Kapag kang makakuha ng iyong problema itakda pabalik, mo makakakuha ng mga puntos, pati na alam mo mula sa 167 00:07:24,130 --> 00:07:28,150 binabasa ang syllabus - kawastuhan, disenyo, saklaw, at mga marka ng estilo. 168 00:07:28,150 --> 00:07:29,760 Makikita mo rin makakuha ng mga komento. 169 00:07:29,760 --> 00:07:32,160 Ang mga komento ay mas mahalaga kaysa sa mga marka. 170 00:07:32,160 --> 00:07:33,780 Sa tingin ko ito ay ligtas na sabihin na. 171 00:07:33,780 --> 00:07:37,930 >> Mga Marka lamang ang isang numero 1-5. 172 00:07:37,930 --> 00:07:38,930 Ito ay mahirap na basahin sa mga iyon. 173 00:07:38,930 --> 00:07:40,720 Ito ay mahirap upang mapabuti ang mula sa mga. 174 00:07:40,720 --> 00:07:44,460 Ngunit ang mga komento ay ituro tiyak mga bagay na ginawa mo na rin o lugar 175 00:07:44,460 --> 00:07:48,360 maaari mong pagbutihin ang on at magbibigay sa iyo ng ilang mga mga ideya para sa hinaharap o alternatibong 176 00:07:48,360 --> 00:07:49,160 mga paraan ng paggawa ng mga bagay-bagay. 177 00:07:49,160 --> 00:07:52,270 >> Kaya mangyaring, mangyaring, mangyaring basahin sa pamamagitan ng mga komento. 178 00:07:52,270 --> 00:07:54,190 Ko bang ilagay ang isang pulutong ng mga oras sa mga komento. 179 00:07:54,190 --> 00:07:57,190 Mangyaring basahin sa pamamagitan ng mga ito at gawin hindi lang mag-scroll pababa sa ilalim ng 180 00:07:57,190 --> 00:08:01,890 PDF, hanapin ang iyong iskor, o pumunta online at hanapin ang iyong mga puntos, at pagkatapos ay huwag pansinin 181 00:08:01,890 --> 00:08:02,800 ang mga komento. 182 00:08:02,800 --> 00:08:03,910 Iyan ay hindi kung ikaw ay pagpunta upang makakuha ng mas mahusay. 183 00:08:03,910 --> 00:08:06,550 Na hindi kung paano ka ng pagpunta sa taasan ang iyong mga marka sa huli, lamang 184 00:08:06,550 --> 00:08:07,340 pamamagitan ng pagtingin sa mga marka. 185 00:08:07,340 --> 00:08:08,760 Mangyaring tumingin sa mga komento. 186 00:08:08,760 --> 00:08:13,240 >> At sa kahabaan ng linya ng mataas na mga inaasahan, muli, tulad ng sinabi ko, mo 187 00:08:13,240 --> 00:08:14,260 maaaring nakapuntos mula isa hanggang lima. 188 00:08:14,260 --> 00:08:17,120 Twos, threes, at fours ay ang mga napakaraming mga puntos 189 00:08:17,120 --> 00:08:17,940 ka pagpunta upang ma-pagkuha. 190 00:08:17,940 --> 00:08:20,180 Mga bago at fives ay parehong talagang bihira. 191 00:08:20,180 --> 00:08:21,720 Mayroong mga bagay na laging maaari naming gawin mas mahusay. 192 00:08:21,720 --> 00:08:23,490 Tuwing ako code sa isang programa, mayroong palaging isang bagay ko 193 00:08:23,490 --> 00:08:24,800 sana tapos na mas mahusay. 194 00:08:24,800 --> 00:08:28,740 >> Kaya sa halip na sa sinasabi mong makakuha ng isang limang sa lahat ng oras sa lahat ng bagay at ginawa 195 00:08:28,740 --> 00:08:31,960 lahat ng bagay perpekto, palagay ko ay hindi anumang sa atin talagang naniniwala na namin - o 196 00:08:31,960 --> 00:08:34,830 sana, hindi namin gawin ang lahat ng maperpekto ang lahat ng mga oras. 197 00:08:34,830 --> 00:08:37,010 Kaya huwag ma-alala kung ikaw Hindi makakuha ng isang limang. 198 00:08:37,010 --> 00:08:40,470 Ang isang limang hindi map papunta ng A, isang apat na Hindi map papunta sa B, ang isang tatlong gumagana 199 00:08:40,470 --> 00:08:42,950 Hindi mapa papunta sa isang C. Iyon ay hindi kung paano ang mga marka ng trabaho. 200 00:08:42,950 --> 00:08:48,140 >> Tulad David ay sinabi ng maraming beses, sa katapusan ng semestre lahat ng iyong mga puntos at mga 201 00:08:48,140 --> 00:08:53,390 input mula sa akin, ang iyong mga tf, tipon at matukoy ang isang pangwakas na grado para sa iyo. 202 00:08:53,390 --> 00:08:56,760 Ngunit muli, hindi lima, A, apat, B, at iba pa. 203 00:08:56,760 --> 00:09:01,150 Kaya Pupunta ako sa may mataas na mga inaasahan para sa iyo guys. 204 00:09:01,150 --> 00:09:03,670 Pupunta ako sa inaasahan magandang problema sets at pupuntahan ko bigyan 205 00:09:03,670 --> 00:09:05,010 feedback ka bilang naturang. 206 00:09:05,010 --> 00:09:07,430 At hindi ito ay pagpunta sa ibig sabihin ikaw ay pagpunta upang makakuha ng isang mas masahol grado. 207 00:09:07,430 --> 00:09:09,760 Ikaw ay namarkahan sa mga tuntunin ng iyong pag-unlad mula sa linggo 208 00:09:09,760 --> 00:09:11,260 zero sa pagtatapos ng kurso. 209 00:09:11,260 --> 00:09:17,190 >> At sa wakas, sa mga tuntunin ng mataas mga inaasahan sa klase, gustong-gusto ko kapag 210 00:09:17,190 --> 00:09:18,460 mga tao na lumahok. 211 00:09:18,460 --> 00:09:23,180 Nauunawaan ko ang ilang mga tao pakiramdam mas o mas kumportable kalahok. 212 00:09:23,180 --> 00:09:26,050 Iba pang mga tao ang mga kalahok na hindi sa pamamagitan ng pagtataas ng kanilang mga kamay at 213 00:09:26,050 --> 00:09:27,320 pakikipag-usap sa lahat ng oras. 214 00:09:27,320 --> 00:09:30,570 Ngunit kami sa class na ito ay pagpunta sa maging paggawa ng maraming maliit na mga problema, ng maraming 215 00:09:30,570 --> 00:09:33,770 ng mini tanong, at pagkatapos ng ilang mas malaking problema sa coding. 216 00:09:33,770 --> 00:09:36,760 Kaya siguradong gagana mga pagsasanay out kapag ginagawa namin ang mga ito sa iyong computer o sa 217 00:09:36,760 --> 00:09:37,900 isang sheet ng papel. 218 00:09:37,900 --> 00:09:40,933 >> Ngunit kukunin ko din bigyan ka ng ilang oras bago kahit sino man ang may upang sagutin ang ilang 219 00:09:40,933 --> 00:09:42,220 sa mga tanong sa tanungin ko. 220 00:09:42,220 --> 00:09:44,930 Kaya dahil ako ay magbibigay sa iyo ng ilang panahon upang isipin ang tungkol dito, dahil kami ay pagpunta 221 00:09:44,930 --> 00:09:49,380 upang gawin ang mga bagay sa mga kasosyo sa kung minsan, Ako ay inaasahan lahat ng tao 222 00:09:49,380 --> 00:09:52,150 na nakatuon medyo. 223 00:09:52,150 --> 00:09:56,030 At para sa kakulangan ng isang mas mahusay na term, doon ay marahil maging malamig na pagtawag, na 224 00:09:56,030 --> 00:09:59,045 ay kung saan lahat ng tao ay magkakaroon ng isang pagkakataon upang isipin ang tungkol sa sagot, at pagkatapos ay 225 00:09:59,045 --> 00:10:01,150 Tatawag ako sa iyo, at pagkatapos ay makikita mo sinasabi ang sagot. 226 00:10:01,150 --> 00:10:05,200 >> Huwag mag-alala o matakot tungkol sa na. 227 00:10:05,200 --> 00:10:08,610 Gumawa ako nito sa nakaraan at nalaman namin na ito ay magkano ang mas matagumpay, 228 00:10:08,610 --> 00:10:11,810 din basahin ang pang-edukasyon pananaliksik sa mga ito sa matukoy kung o hindi ito ay isang 229 00:10:11,810 --> 00:10:12,640 magandang taktika. 230 00:10:12,640 --> 00:10:15,790 Ito ay lubhang kapaki-pakinabang, lalo na kung bigyan ang mga mag-aaral oras upang isipin ang tungkol sa 231 00:10:15,790 --> 00:10:20,070 sagot at huwag gumawa ng mga ito lamang ang dumating out at ito sinasabi karapatan off ang bat. 232 00:10:20,070 --> 00:10:22,620 Ngunit kung hindi ka komportable sa pagsagot, ako rin medyo magandang sa 233 00:10:22,620 --> 00:10:25,370 Pagramdam na out, at hindi kami ay pagpunta sa ilagay mo sa lugar, lalo na sa 234 00:10:25,370 --> 00:10:28,240 ang camera, kahit na wala sa ikaw ay nasa camera ngayon. 235 00:10:28,240 --> 00:10:32,250 >> Kaya iyon ay ang mga kaugalian mayroon akong. 236 00:10:32,250 --> 00:10:34,670 Isa pang bagay kasama ang mga linya sa pagtugon sa gitna. 237 00:10:34,670 --> 00:10:36,490 Pupunta ako sa magbibigay sa iyo ng guys ng maraming feedback. 238 00:10:36,490 --> 00:10:38,310 Pakibigyan ako ng feedback pati na rin. 239 00:10:38,310 --> 00:10:46,190 Mayroong isang website, sayat.me/cs50. 240 00:10:46,190 --> 00:10:48,380 Kaya ito ay isang matapat na puna. 241 00:10:48,380 --> 00:10:50,730 Kung gusto mong bigyan ito sa panahon ng seksyon, Nakakuha ako ng email sa tuwing mangyayari ito. 242 00:10:50,730 --> 00:10:53,820 Susubukan naming magpahinga sa isang bit, kaya bibigyan ko tumingin sa pamamagitan ng feedback pagkatapos. 243 00:10:53,820 --> 00:10:55,970 Kung sakaling magkaroon ng anumang feedback, mangyaring ibigay ito sa akin doon. 244 00:10:55,970 --> 00:11:01,380 >> Kung ba ninyo akong bigyan ng feedback sa mga Q, na kahanga-hanga, ngunit iyon ang gabay 245 00:11:01,380 --> 00:11:02,570 na gagawin mo sa dulo. 246 00:11:02,570 --> 00:11:05,690 Ngunit iyon ay magiging sa katapusan ng semestre kaya Hindi ko magagawang gumawa ng anumang ng na 247 00:11:05,690 --> 00:11:08,620 feedback at i-on ito sa pagtuturo ka guys mas mahusay. 248 00:11:08,620 --> 00:11:11,020 Kaya mangyaring, kung mayroon kang anumang feedback, ibigay ito sa akin. 249 00:11:11,020 --> 00:11:12,010 Gustung-gusto ko ang feedback. 250 00:11:12,010 --> 00:11:14,490 I-back sa taong labis manamit, nakakakuha kami ng feedback sa lahat ng oras. 251 00:11:14,490 --> 00:11:18,610 >> Maaari mong ibigay sa akin ang mga plus, mahusay na mga bagay, deltas, mga bagay na maaari ko mapapabuti sa oras. 252 00:11:18,610 --> 00:11:20,600 Maaari kang magkomento sa aking mga outfits. 253 00:11:20,600 --> 00:11:24,170 Iyon ay hindi bilang kapaki-pakinabang, ngunit ikaw ay maligayang pagdating sa magkomento sa anuman at 254 00:11:24,170 --> 00:11:24,570 ang lahat ng bagay. 255 00:11:24,570 --> 00:11:26,280 Mangyaring, mangyaring akong bigyan ng feedback. 256 00:11:26,280 --> 00:11:28,740 Pinahahalagahan ko ito ng maraming at ito ay nangangahulugan ng maraming sa akin. 257 00:11:28,740 --> 00:11:31,760 258 00:11:31,760 --> 00:11:33,280 >> Isa pang pamantayan, masaya. 259 00:11:33,280 --> 00:11:34,530 Kami ay pagpunta sa magkaroon ng maraming masaya. 260 00:11:34,530 --> 00:11:36,930 Sana sa kursong ito, bibigyan ka magkaroon ng maraming masaya. 261 00:11:36,930 --> 00:11:38,780 Magkakaroon kami kendi sa seksyon. 262 00:11:38,780 --> 00:11:40,040 Magkakaroon kami ng musika. 263 00:11:40,040 --> 00:11:45,510 Ay sana naming ma-pagkuha ng malaman ang isa isa pang medyo maayos, kaya gusto ko 264 00:11:45,510 --> 00:11:47,690 ito upang maging isang masaya, nakakaengganyong karanasan. 265 00:11:47,690 --> 00:11:50,890 >> Alam ko ang ilan sa inyo na nahulog tulog sa ang aralin ay nagkaroon ka ng mas maaga ngayon, 266 00:11:50,890 --> 00:11:53,750 kaya sana ay iyon ay hindi ang kaso ngayon. 267 00:11:53,750 --> 00:11:55,960 At kung ito ang kaso ngayon, lamang huwag humagok dahil na kapangyarihan 268 00:11:55,960 --> 00:11:57,580 ay nahuli sa camera. 269 00:11:57,580 --> 00:11:58,770 Sweet. 270 00:11:58,770 --> 00:12:04,020 Ang anumang mga katanungan, komento, o alalahanin bago ilipat ko sa tungkol sa anumang bagay na namin 271 00:12:04,020 --> 00:12:05,270 uusapang tungkol sa? 272 00:12:05,270 --> 00:12:08,620 273 00:12:08,620 --> 00:12:11,350 Mahusay. 274 00:12:11,350 --> 00:12:14,830 >> Kaya kami ay pagpunta sa pumunta sa unang array. 275 00:12:14,830 --> 00:12:17,140 Ito ay kung paano gumawa ka ng isang array. 276 00:12:17,140 --> 00:12:18,410 Nasaksihan namin ito bago. 277 00:12:18,410 --> 00:12:21,830 Mayroon kang isang uri ng data, mayroon kang isang pangalan, at pagkatapos ay mayroon kang isang laki. 278 00:12:21,830 --> 00:12:24,430 Kanan dito, lumikha ako ng dalawang array. 279 00:12:24,430 --> 00:12:30,360 Ang unang isa ay isang array ng mga character, at mayroon itong 26 na mga puwang. 280 00:12:30,360 --> 00:12:33,790 Ang ikalawang isa ay isang hanay ng mga mga marka, at ito ay may tatlong 281 00:12:33,790 --> 00:12:35,390 espasyo para sa tatlong integer. 282 00:12:35,390 --> 00:12:35,827 Oo? 283 00:12:35,827 --> 00:12:38,200 >> MAG-AARAL: Sigurado lahat ng mga slide magagamit sa isang lugar para sa amin? 284 00:12:38,200 --> 00:12:38,850 >> Jason HIRSCHHORN: Mahusay tanong. 285 00:12:38,850 --> 00:12:40,650 Ang tanong ay, ay ang lahat ng mga slide na magagamit? 286 00:12:40,650 --> 00:12:40,920 Oo. 287 00:12:40,920 --> 00:12:43,420 Ang lahat ng mga slide ay magagamit, at sa hinaharap, kakailanganin ko i-email ang mga ito sa 288 00:12:43,420 --> 00:12:44,640 bago ka seksyon. 289 00:12:44,640 --> 00:12:47,340 Ngunit ngayon, dahil ito ay ang unang linggo, nagkaroon kami ng late start. 290 00:12:47,340 --> 00:12:49,675 Kaya kadalasan, makakakuha ka ng mga slide, ngunit sila ay magagamit na online at 291 00:12:49,675 --> 00:12:52,420 Kukunin ko i-email ito sa iyo karapatan pagkatapos ng klase. 292 00:12:52,420 --> 00:12:54,140 Anumang iba pang mga katanungan? 293 00:12:54,140 --> 00:13:01,330 >> Kaya muli, array ay box, para sa kakulangan ng isang mas mahusay na salita, na maghawak ng maramihang 294 00:13:01,330 --> 00:13:06,420 mga elemento ng isa sa uri ng data, at sila handa sa tabi ng isa't isa sa memorya. 295 00:13:06,420 --> 00:13:11,370 At kaya muli, ito ay kung paano maaari mong gumawa ng dalawang uri ng array. 296 00:13:11,370 --> 00:13:15,090 >> Kaya pagkatapos mong gawin ang iyong mga array na may na ang unang linya - int score, bracket 297 00:13:15,090 --> 00:13:17,430 tatlo, malapit na bracket - mo nais upang simulan ito. 298 00:13:17,430 --> 00:13:19,050 Gusto mong ilagay sa ilang mga halaga sa doon. 299 00:13:19,050 --> 00:13:24,660 At ito ay kung paano mo ilalagay sa ilang mga halaga sa doon, lamang ng pagpili ng indice at 300 00:13:24,660 --> 00:13:25,670 Sumusulat ang numero. 301 00:13:25,670 --> 00:13:27,130 Sabihin gumuhit ito sa board. 302 00:13:27,130 --> 00:13:28,270 Maaari ba makita ang lahat ng tao? 303 00:13:28,270 --> 00:13:29,030 Lahat ng tao ang maaaring makakita. 304 00:13:29,030 --> 00:13:30,790 Sweet. 305 00:13:30,790 --> 00:13:36,550 >> Kaya na pagpunta sa maging ang aking array na tinatawag na Marka ng. 306 00:13:36,550 --> 00:13:37,730 Tulad ng iyong nakikita, ito ay tatlong sukat. 307 00:13:37,730 --> 00:13:39,210 May tatlong mga kahon sa doon. 308 00:13:39,210 --> 00:13:43,120 Ang bawat isa ay maaaring magkasya kung ano uri ng data uri? 309 00:13:43,120 --> 00:13:43,790 >> MAG-AARAL: Integer. 310 00:13:43,790 --> 00:13:45,250 >> Jason HIRSCHHORN: Ang isang integer sa isang ito. 311 00:13:45,250 --> 00:13:48,790 Kami ay sumulat int score, at ang unang salita ay ang uri ng data na pupuntahan 312 00:13:48,790 --> 00:13:50,910 pumunta sa ang mga kahon na sa array. 313 00:13:50,910 --> 00:13:52,160 Kaya ang maaari kong magkasya tatlo. 314 00:13:52,160 --> 00:13:54,880 315 00:13:54,880 --> 00:13:57,000 Bakit ako ay may zero up doon sa board? 316 00:13:57,000 --> 00:13:59,240 Bakit sinasabi nito puntos ay katumbas ng zero 1? 317 00:13:59,240 --> 00:14:02,090 318 00:14:02,090 --> 00:14:03,180 Ipaalala sa akin ng iyong pangalan. 319 00:14:03,180 --> 00:14:03,470 >> MAG-AARAL: Kurt. 320 00:14:03,470 --> 00:14:04,070 >> Jason HIRSCHHORN: Kurt. 321 00:14:04,070 --> 00:14:04,480 >> MAG-AARAL: Oo. 322 00:14:04,480 --> 00:14:04,920 >> Jason HIRSCHHORN: Bakit? 323 00:14:04,920 --> 00:14:07,230 >> MAG-AARAL: Dahil sa unang index ay zero, sisimulan namin ang pagbibilang sa zero. 324 00:14:07,230 --> 00:14:08,480 >> Jason HIRSCHHORN: Kaya simulan namin pagbibilang sa zero. 325 00:14:08,480 --> 00:14:09,580 Iyan ay akmang-akma. 326 00:14:09,580 --> 00:14:12,340 Ito ang bahagi nakakalito at kalooban paglalakbay up mo, lalo na kapag ikaw ay 327 00:14:12,340 --> 00:14:14,900 sinusubukan na umulit sa pamamagitan ng array, na gagawin namin sa isang bit. 328 00:14:14,900 --> 00:14:15,980 Simulan namin ang pagbibilang sa zero. 329 00:14:15,980 --> 00:14:19,170 Kaya kapag gusto kong mag-refer sa unang kahon, ito ay hindi isang kahon. 330 00:14:19,170 --> 00:14:22,290 Sa kasamaang-palad, ito ay zero box. 331 00:14:22,290 --> 00:14:26,460 Ang ikalawang isa ay isang kahon, at sa ganitong kaso, ang mga third isa ay dalawang kahon. 332 00:14:26,460 --> 00:14:28,700 >> Paano ang tungkol sa tatlong box? 333 00:14:28,700 --> 00:14:30,670 Saan ang kahon tatlong? 334 00:14:30,670 --> 00:14:34,750 O kung gusto kong gawin score, bracket tatlong, malapit bracket, ano iyon? 335 00:14:34,750 --> 00:14:37,650 336 00:14:37,650 --> 00:14:39,760 Kaya't sinabi mo ang null character. 337 00:14:39,760 --> 00:14:41,600 Anumang iba pang mga saloobin? 338 00:14:41,600 --> 00:14:44,590 Ano ang iskor bracket tatlong bracket? 339 00:14:44,590 --> 00:14:48,045 >> MAG-AARAL: Hindi ito talagang umiiral dahil ikaw lamang tinukoy bilang mga marka, 340 00:14:48,045 --> 00:14:49,370 bracket tatlo. 341 00:14:49,370 --> 00:14:51,400 >> Jason HIRSCHHORN: So sinasabi mo ito ay hindi talaga umiiral. 342 00:14:51,400 --> 00:14:54,230 Sa ilang mga kaso, kapag kami ay pagharap sa string, sa pangkalahatan ay maglalagay kami ng isang null 343 00:14:54,230 --> 00:14:54,790 na character sa dulo. 344 00:14:54,790 --> 00:14:56,100 Makakapagsimula na kami na sa isang segundo. 345 00:14:56,100 --> 00:15:01,020 Ngunit sa kasong ito, mayroong ay walang third kahon dito. 346 00:15:01,020 --> 00:15:06,390 Kaya ang huling kahon sa anumang array ang laki ng minus 1. 347 00:15:06,390 --> 00:15:11,310 Kaya kung kami ay may isang array ng n laki, ang unang box ay sa zero, ang huli ay 348 00:15:11,310 --> 00:15:12,700 sa n minus 1. 349 00:15:12,700 --> 00:15:14,970 At sa kasong ito, ito ay hindi umiiral. 350 00:15:14,970 --> 00:15:17,970 May isang bagay dito sa memory pero hindi atin. 351 00:15:17,970 --> 00:15:18,460 Hindi namin pag-aari nito. 352 00:15:18,460 --> 00:15:19,570 Hindi namin magtanong para dito. 353 00:15:19,570 --> 00:15:22,606 Kaya't kung sinusubukan naming i-access ito, na kung saan bibigyan namin ng gawin sa isang bit, marahil kami ay pagpunta sa 354 00:15:22,606 --> 00:15:24,970 kumuha sa problema. 355 00:15:24,970 --> 00:15:29,180 >> Sa kasong ito, ako Sinisimulan ang aking array na may tatlong variable. 356 00:15:29,180 --> 00:15:36,195 Kami ay paglagay ng isa sa box zero, ang isang dalawang sa kahon ng isa, at isang tatlong sa dalawang kahon. 357 00:15:36,195 --> 00:15:39,280 Ba ang sinuman may anumang mga katanungan Sinisimulan ang tungkol sa isang array? 358 00:15:39,280 --> 00:15:44,540 359 00:15:44,540 --> 00:15:46,970 >> Kaya namin nagpunta sa paglipas ng ito ngayon lang. 360 00:15:46,970 --> 00:15:52,725 Marka ng, bracket tatlo, malapit bracket, na ay hindi umiiral. 361 00:15:52,725 --> 00:15:58,130 Zero kami na-index sa computer science, kaya simulan namin ang pagbibilang sa zero. 362 00:15:58,130 --> 00:16:01,860 Ang huling box na magagamit sa amin, ito ay ang mga third kahon, ngunit ito ay tinatawag na kahon 363 00:16:01,860 --> 00:16:03,110 dalawang numero. 364 00:16:03,110 --> 00:16:05,790 365 00:16:05,790 --> 00:16:09,710 >> Down sa ibaba, ito ay isang alternatibo paraan ng Sinisimulan array. 366 00:16:09,710 --> 00:16:13,410 Kaya sa halip na lumikha ng array sa isa linya, pagpuno ng unang kahon, at pagkatapos 367 00:16:13,410 --> 00:16:17,070 ang pangalawang kahon, pagkatapos ang third kahon, maaari mong gawin ang lahat ng ito sa isang linya. 368 00:16:17,070 --> 00:16:19,040 Kaya sa na linya, parehong array. 369 00:16:19,040 --> 00:16:23,460 Lumilikha ito ng parehong eksaktong bilang array kung ano ang aming ginawa ang karapatan dito, ngunit ito 370 00:16:23,460 --> 00:16:24,710 lamang ang ipinapakita ito sa isang linya. 371 00:16:24,710 --> 00:16:29,740 372 00:16:29,740 --> 00:16:31,360 >> Ngayon, gumawa kami ng aming mga array. 373 00:16:31,360 --> 00:16:34,100 Karaniwan sa sandaling lumikha ka ng isang array, mo nais na gawin ang isang bagay na may ito, kung 374 00:16:34,100 --> 00:16:38,430 na punan ito o makakuha ng mga bagay sa labas ng ito at i-print out ang mga ito sa screen. 375 00:16:38,430 --> 00:16:42,270 Sa kasong ito, kami ay pagpunta sa pamamagitan ng aming mga marka ng array, na aming nasimulan sa 376 00:16:42,270 --> 00:16:44,740 ang unang linya up dito sa gray. 377 00:16:44,740 --> 00:16:49,600 At pagkatapos sa pangalawang linya, simulan namin iterating sa pamamagitan ng array. 378 00:16:49,600 --> 00:16:52,640 Ba ang sinuman may anumang mga katanungan tungkol sa ang istraktura ng para sa loop? 379 00:16:52,640 --> 00:16:55,250 380 00:16:55,250 --> 00:16:56,400 >> Kaya ito ang para sa loop. 381 00:16:56,400 --> 00:16:59,530 Mayroon kaming ang aming mga paunang kondisyon, at pagkatapos ay ang aming panghuling kondisyon, at pagkatapos namin 382 00:16:59,530 --> 00:17:01,160 umulit, i, ang bawat loop. 383 00:17:01,160 --> 00:17:05,579 At sa kulot tirante sa ito para sa loop, ano ang mangyayari kung ako ay upang tumakbo 384 00:17:05,579 --> 00:17:06,290 sa programang ito? 385 00:17:06,290 --> 00:17:10,410 Maaari kahit sino sabihin sa akin kung ano ang gusto namin makuha? 386 00:17:10,410 --> 00:17:11,589 [? Matu? ?] 387 00:17:11,589 --> 00:17:13,819 >> MATU: I-print ang lahat ng mga marka sa bawat linya. 388 00:17:13,819 --> 00:17:14,900 Gusto ito i-print ang bawat puntos sa isang hiwalay na linya. 389 00:17:14,900 --> 00:17:16,300 >> Jason HIRSCHHORN: Ano ang eksaktong Gusto ito i-print? 390 00:17:16,300 --> 00:17:19,790 >> MAG-AARAL: Ito-print ng isa, pagkatapos ng dalawang, pagkatapos ay tatlo. 391 00:17:19,790 --> 00:17:20,235 >> Jason HIRSCHHORN: Mismong. 392 00:17:20,235 --> 00:17:23,490 Gusto Ito-print ng isa, at pagkatapos ay dalawa, pagkatapos ay tatlong, ang bawat isa sa hiwalay na mga linya, dahil 393 00:17:23,490 --> 00:17:27,810 kami ay pagpunta sa pamamagitan ng array at bibigyan ka makita na ang pangalawa, ang printf 394 00:17:27,810 --> 00:17:29,275 pahayag, puntos i. 395 00:17:29,275 --> 00:17:32,880 Kaya sa unang pag-ikot sa pamamagitan ng aming para sa loop, i katumbas ng zero, na nangangahulugan na hindi namin 396 00:17:32,880 --> 00:17:34,640 pagkuha ng mga halaga sa puntos zero - 397 00:17:34,640 --> 00:17:36,900 kung saan, kung pumunta kami pabalik sa ang aming mga diagram, ay isa - 398 00:17:36,900 --> 00:17:38,630 at pagpuno ng mga - 399 00:17:38,630 --> 00:17:39,700 oh, sinasabi nito c. 400 00:17:39,700 --> 00:17:41,680 Iyon ay dapat na% d. 401 00:17:41,680 --> 00:17:43,970 Ako ay ayusin na sa isang bit kapag Kamay ko na sa iyo guys. 402 00:17:43,970 --> 00:17:48,670 Ngunit kami ay nagtatanghal ng isang integer kaya ito dapat ay% d dito mismo, hindi% c. 403 00:17:48,670 --> 00:17:50,340 Ano ang% c para sa? 404 00:17:50,340 --> 00:17:50,790 >> MAG-AARAL: Character. 405 00:17:50,790 --> 00:17:52,680 >> Jason HIRSCHHORN: Character, eksakto. 406 00:17:52,680 --> 00:17:53,690 Ano ang iba pang isa? 407 00:17:53,690 --> 00:17:56,260 Kung hindi mo nais na gawin% d para sa isang integer, kung ano pa ang maaari mong gawin? 408 00:17:56,260 --> 00:17:57,000 >> MAG-AARAL: i. 409 00:17:57,000 --> 00:17:59,180 >> Jason HIRSCHHORN:% i, eksakto. 410 00:17:59,180 --> 00:18:01,660 Kaya ang anumang mga katanungan tungkol sa iterating sa pamamagitan ng array? 411 00:18:01,660 --> 00:18:05,500 412 00:18:05,500 --> 00:18:07,800 Kaya kung ano ang mangyayari kung gagawin namin ito? 413 00:18:07,800 --> 00:18:10,290 Sa halip ng paggawa i Mababa sa tatlo, namin i Mababa 414 00:18:10,290 --> 00:18:11,390 sa o katumbas ng tatlo. 415 00:18:11,390 --> 00:18:13,420 Ano ang mangyayari kapag tumakbo namin ang code na ito? 416 00:18:13,420 --> 00:18:17,510 417 00:18:17,510 --> 00:18:18,940 Oo, Annie? 418 00:18:18,940 --> 00:18:22,030 >> MAG-AARAL: Ang mga ito ay pagpunta sa i-print out kakaiba mga bagay-bagay sa ikaapat na linya. 419 00:18:22,030 --> 00:18:23,850 >> Jason HIRSCHHORN: Kaya sinabi mo, ito ay pagpunta sa i-print ang kakaiba bagay-bagay sa 420 00:18:23,850 --> 00:18:24,390 ikaapat na linya? 421 00:18:24,390 --> 00:18:25,750 Ba ang sinuman magkaroon ng isang sagot sa kanyang tanong? 422 00:18:25,750 --> 00:18:28,940 423 00:18:28,940 --> 00:18:33,160 Kaya ang mga logro ay na kapag makuha namin sa - 424 00:18:33,160 --> 00:18:36,700 kaya sa ika-apat na pag-ikot sa pamamagitan ng aming para sa loop, tulad ng naisip mo, Annie, 425 00:18:36,700 --> 00:18:39,430 Makikita ito maging mga marka bracket tatlong, na na namin may korte out ay hindi 426 00:18:39,430 --> 00:18:41,990 umiiral, at kami ay pagpunta sa subukan at i-access na, i-print ito 427 00:18:41,990 --> 00:18:43,350 out, gamitin ito ng ilang mga paraan. 428 00:18:43,350 --> 00:18:46,060 Kaya computer na ang kalooban marahil makakuha ng galit na galit sa amin. 429 00:18:46,060 --> 00:18:46,760 Ikaw ay akmang-akma. 430 00:18:46,760 --> 00:18:48,830 >> Maaaring huminto sa programa sama-sama. 431 00:18:48,830 --> 00:18:52,222 Maaaring i-print ang isang bagay talagang kakaiba. 432 00:18:52,222 --> 00:18:53,420 Hindi mo maaaring sabihin para sa mga sigurado. 433 00:18:53,420 --> 00:18:56,210 Logro ito ay makikita marahil makakuha ng galit na galit sa ikaw lamang at mag-quit kaagad. 434 00:18:56,210 --> 00:19:00,100 >> Ngunit ito ay isang pangkaraniwang pagkakamali magkakaroon ka ng kung saan ikaw ay nasa labas lamang ng isa sa 435 00:19:00,100 --> 00:19:05,110 ang dulo, at ito ay isang bug na kalooban peste ka sa iyong buong coding. 436 00:19:05,110 --> 00:19:09,350 437 00:19:09,350 --> 00:19:14,150 Ang isang paraan na gusto ko lang gawin ay lamang sa isang Whiteboard, pumunta sa pamamagitan ng bawat pag-ulit 438 00:19:14,150 --> 00:19:18,190 ng loop sa kamay o sa papel upang makita ang kung ano ang nangyayari, at pagkatapos ay sa iyo 439 00:19:18,190 --> 00:19:20,440 Napagtanto pangkalahatan, oh maghintay, hindi ko dapat na nawala na sa mas mababa sa o 440 00:19:20,440 --> 00:19:20,870 katumbas ng tatlo. 441 00:19:20,870 --> 00:19:24,730 Ko dapat ay tumigil sa dalawang, na kung saan ay kung ano ang mangyayari kung ang iyong kalagayan ay mas 442 00:19:24,730 --> 00:19:26,206 sa tatlong. 443 00:19:26,206 --> 00:19:29,120 Ang anumang mga katanungan sa ngayon? 444 00:19:29,120 --> 00:19:31,010 Sweet. 445 00:19:31,010 --> 00:19:33,360 >> Kaya mo ang lahat ng iyong mga computer bukas. 446 00:19:33,360 --> 00:19:36,760 Kami ay pagpunta sa magbibigay sa iyo ng 2:58 minuto upang magsulat ng isang programa na 447 00:19:36,760 --> 00:19:40,460 lumilikha ng isang array na may isang integer sa pamamagitan ng limang at pagkatapos ay i-out ng mga Kopya bawat 448 00:19:40,460 --> 00:19:41,720 integer sa isang bagong linya. 449 00:19:41,720 --> 00:19:44,330 450 00:19:44,330 --> 00:19:46,000 At kung mayroon kang anumang mga katanungan, itaas ang iyong mga kamay. 451 00:19:46,000 --> 00:19:48,140 Ikinagagalak kong dumating sa pamamagitan ng. 452 00:19:48,140 --> 00:19:50,630 Tulad ng sinabi ko, sabihin tumagal ng tatlo minuto upang isulat ito. 453 00:19:50,630 --> 00:20:41,300 454 00:20:41,300 --> 00:20:45,110 Lahat ng tao ay OK kung pumunta ako sa isang bagong window at isara ito? 455 00:20:45,110 --> 00:22:13,420 456 00:22:13,420 --> 00:22:15,520 >> Sorry kung hindi mo pa nagkaroon ng isang pagkakataon upang matapos, ngunit kami ay pagpunta sa gawin ito 457 00:22:15,520 --> 00:22:17,310 magkasama ngayon. 458 00:22:17,310 --> 00:22:23,640 Kaya up sa screen, # ko isama cs50.h, # isama stdio.h. 459 00:22:23,640 --> 00:22:26,090 Maaari isang tao sabihin sa akin kung ano ang mga dalawang linya gawin? 460 00:22:26,090 --> 00:22:32,250 461 00:22:32,250 --> 00:22:33,155 Michael? 462 00:22:33,155 --> 00:22:40,030 >> MAG-AARAL: Kasama sa mga ito ang mga library CS50 na ginawa at Steve na may 463 00:22:40,030 --> 00:22:44,210 naka-save na para sa iyo na gamitin sa gawin ang iyong buhay mas madali. 464 00:22:44,210 --> 00:22:46,820 >> Jason HIRSCHHORN: Kaya mo sinabi nila isama ang mga library, isa na CS50 465 00:22:46,820 --> 00:22:51,230 ginawa, cs50.h, at isa na ay lamang karaniwan, ay may 466 00:22:51,230 --> 00:22:53,510 ang package C, stdio.h. 467 00:22:53,510 --> 00:22:54,890 Ano ang ibig mong sabihin isama mga aklatan, bagaman? 468 00:22:54,890 --> 00:22:55,770 Maaari kang maging isang bit mas tiyak? 469 00:22:55,770 --> 00:23:01,180 >> MAG-AARAL: Ito ay ginagawang gayon maaari mong gamitin ang mga tiyak na salita code upang magkaroon ng isang 470 00:23:01,180 --> 00:23:05,710 gumana mangyari nang hindi na kinakailangang pumunta at gawin ang mga function na ang iyong sarili c. 471 00:23:05,710 --> 00:23:08,730 >> Jason HIRSCHHORN: Maaari bang mag ka bigyan ako ng halimbawa? 472 00:23:08,730 --> 00:23:11,160 >> MAG-AARAL: Tulad ng printf ay isa maaari mong gamitin. 473 00:23:11,160 --> 00:23:11,860 >> Jason HIRSCHHORN: Printf. 474 00:23:11,860 --> 00:23:14,680 Kaya sinabi mo printf ay isa sa mga pag-andar kung saan sa halip ng pagkakaroon 475 00:23:14,680 --> 00:23:19,840 sumulat printf sa iyong sarili, ay printf Kasama talaga sa stdio.h, kaya mo 476 00:23:19,840 --> 00:23:22,010 Maaari lamang itong gamitin at angkinin na ito ay gumagana. 477 00:23:22,010 --> 00:23:28,270 Sa stdio.h, kung ikaw ay nagbukas ng file na iyon, Gusto ito isama kung paano printf 478 00:23:28,270 --> 00:23:31,620 gawa, ang lahat ng mga code para sa printf? 479 00:23:31,620 --> 00:23:33,105 Bakit mo nanginginig ang iyong ulo? 480 00:23:33,105 --> 00:23:35,710 >> MAG-AARAL: Dahil sa header na file lamang Kasama ang function na deklarasyon. 481 00:23:35,710 --> 00:23:36,400 >> Jason HIRSCHHORN: Eksaktong karapatan. 482 00:23:36,400 --> 00:23:39,680 Ang header na file lamang Kasama ang function na deklarasyon. 483 00:23:39,680 --> 00:23:42,950 Kaya talaga, kapag nag-compile ito, pindutin ang Gumawa ng Count, na gagawin namin sa isang 484 00:23:42,950 --> 00:23:48,070 pangalawa, tagatala ang nakakaalam na kung gumamit ka ng printf, printf umiiral na. 485 00:23:48,070 --> 00:23:49,370 Ito ay pagpunta sa ay tinukoy sa isang lugar. 486 00:23:49,370 --> 00:23:51,200 Ito ay hindi isang problema para sa iyo gamit ito. 487 00:23:51,200 --> 00:23:55,490 At pagkatapos ay sa ibang pagkakataon, magkakaroon ito isama ang mga bago at mga zero na aktwal na naglalaman ng 488 00:23:55,490 --> 00:23:58,360 printf ng pagpapatupad at pagsamahin ang mga ito sa iyong code. 489 00:23:58,360 --> 00:24:01,935 Paano gumawa ka ba na kasama nito ang mga mga bago at mga zero para sa, sabihin nating, kumuha ng string? 490 00:24:01,935 --> 00:24:05,670 491 00:24:05,670 --> 00:24:07,210 >> MAG-AARAL: Kumuha ng string ay nasa cs50.h. 492 00:24:07,210 --> 00:24:07,830 >> Jason HIRSCHHORN: Kanan. 493 00:24:07,830 --> 00:24:11,110 Kaya na nagsasabing makakuha ng string umiiral, ang function na deklarasyon. 494 00:24:11,110 --> 00:24:15,410 Ngunit pagkatapos ay ang mga bago at mga zero, ang binary file na aktwal na kinabibilangan ng mga 495 00:24:15,410 --> 00:24:17,370 pagpapatupad ng get string? 496 00:24:17,370 --> 00:24:19,310 Paano mo matiyak na napupunta sa iyong programa? 497 00:24:19,310 --> 00:24:23,220 >> MAG-AARAL: Daanan ng linker sa ang command argumento line. 498 00:24:23,220 --> 00:24:25,430 >> Jason HIRSCHHORN: Pass ang linker sa mga argumento command line. 499 00:24:25,430 --> 00:24:26,700 Paano mo gawin iyon? 500 00:24:26,700 --> 00:24:29,730 >> MAG-AARAL: Ito ang l-linya sa kalatungin 501 00:24:29,730 --> 00:24:30,480 >> Jason HIRSCHHORN: Eksaktong karapatan. 502 00:24:30,480 --> 00:24:32,900 Sabihin-l mo cs50, tama? 503 00:24:32,900 --> 00:24:34,940 Kabilang sa mga iyon ang mga bago at mga zero. 504 00:24:34,940 --> 00:24:36,460 >> MAG-AARAL: Ngunit Gawin ang ibig na para sa iyo, i-right? 505 00:24:36,460 --> 00:24:37,010 >> Jason HIRSCHHORN: Mismong. 506 00:24:37,010 --> 00:24:40,390 Gawin ang ibig na para sa iyo, ngunit sa kalaunan, hindi mo na Magsagawa, o 507 00:24:40,390 --> 00:24:43,220 kailangan mong gumawa ng isang Magsagawa sa iyong sarili, sa gayon na ang isang 508 00:24:43,220 --> 00:24:43,940 mabuting bagay na dapat tandaan. 509 00:24:43,940 --> 00:24:47,350 Kung ikaw ay pagpunta sa gamitin ang isa sa mga iba pang mga library, hindi lamang ang mayroon ka 510 00:24:47,350 --> 00:24:49,490 upang magsulat # include at pagkatapos ay ang library. 511 00:24:49,490 --> 00:24:51,420 Kailangan mo ring i-link ito in 512 00:24:51,420 --> 00:24:54,480 At ang dalawang mga bagay ay magkaiba. -L cs50 ay iba 513 00:24:54,480 --> 00:24:59,260 kaysa # include cs50.h. 514 00:24:59,260 --> 00:25:02,870 >> Pagkatapos kami ay may int pangunahing walang silbi ang kulot tirante, at ngayon kami ay pagpunta sa code 515 00:25:02,870 --> 00:25:03,590 sa loob ng main. 516 00:25:03,590 --> 00:25:07,090 Ang unang linya Mayroon akong dito ay isang komento na nagsasabing, lumikha ng isang array 517 00:25:07,090 --> 00:25:08,820 may ints isa hanggang lima. 518 00:25:08,820 --> 00:25:12,600 Ano ang isang mahusay na salita upang ilarawan kung ano ako mayroon ngayon sa screen, lamang 519 00:25:12,600 --> 00:25:14,170 mga komento sa loob ng main? 520 00:25:14,170 --> 00:25:15,722 Ano ang gagawin namin tawagan iyon? 521 00:25:15,722 --> 00:25:16,820 >> MAG-AARAL: Pseudocode. 522 00:25:16,820 --> 00:25:17,840 >> Jason HIRSCHHORN: Pseudocode. 523 00:25:17,840 --> 00:25:18,420 Salamat sa iyo, Jeffrey. 524 00:25:18,420 --> 00:25:19,540 Iyon ay akmang-akma. 525 00:25:19,540 --> 00:25:20,005 Pseudocode. 526 00:25:20,005 --> 00:25:22,854 Mayroon ba guys nakita pseudocode bago? 527 00:25:22,854 --> 00:25:28,340 Itaas ang iyong kamay kung ginamit mo pseudocode problema bago magtakda ng isa. 528 00:25:28,340 --> 00:25:29,400 Tungkol sa kalahati ng sa iyo. 529 00:25:29,400 --> 00:25:32,700 >> Gusto ko lubos na inirerekomenda ang paggamit pseudocode upang masira mga problema sa 530 00:25:32,700 --> 00:25:35,210 mas maliit, mas madaling i-off ang kumagat piraso. 531 00:25:35,210 --> 00:25:38,630 Gayundin, kung gagawin mo ang pseudocode, mo Mayroon ang iyong mga komento na higit sa lahat 532 00:25:38,630 --> 00:25:40,760 built in, kaya hindi mo kailangang i- bumalik at subukan upang malaman kung 533 00:25:40,760 --> 00:25:42,450 ano ang iyong ginagawa. 534 00:25:42,450 --> 00:25:44,730 Kaya maaari isang tao akong bigyan ang unang linya upang lumikha ng isang array na may ints isa 535 00:25:44,730 --> 00:25:45,980 sa pamamagitan ng limang? 536 00:25:45,980 --> 00:25:48,700 537 00:25:48,700 --> 00:25:49,130 Ikaw? 538 00:25:49,130 --> 00:25:53,350 >> MAG-AARAL: int at pagkatapos ay maaari kang tumawag sa anumang bilang, at pagkatapos ay parisukat 539 00:25:53,350 --> 00:25:54,830 limang bracket. 540 00:25:54,830 --> 00:25:57,820 >> Jason HIRSCHHORN: Kaya int numero, square bracket limang. 541 00:25:57,820 --> 00:25:59,160 >> MAG-AARAL: Kapantay, at pagkatapos kulot tirante. 542 00:25:59,160 --> 00:26:00,830 >> Jason HIRSCHHORN: Kapantay, kulot tirante. 543 00:26:00,830 --> 00:26:01,830 >> MAG-AARAL: Ang isa, dalawa, tatlo, apat. 544 00:26:01,830 --> 00:26:05,566 >> Jason HIRSCHHORN: Isa, dalawa, tatlo, apat, lima. 545 00:26:05,566 --> 00:26:07,390 >> MAG-AARAL: At pagkatapos kulot tirante at pagkatapos ay tuldok-kuwit. 546 00:26:07,390 --> 00:26:09,240 >> Jason HIRSCHHORN: At kulot tirante at tuldok-kuwit. 547 00:26:09,240 --> 00:26:10,330 Magaling. 548 00:26:10,330 --> 00:26:12,210 I-print ang bawat int sa isang bagong linya. 549 00:26:12,210 --> 00:26:17,140 Maaari ba ibang tao bigyan sa akin na ang code, pakiusap? 550 00:26:17,140 --> 00:26:17,530 [? Matu? ?] 551 00:26:17,530 --> 00:26:18,560 Sige. 552 00:26:18,560 --> 00:26:20,440 >> MAG-AARAL: Para sa ( 553 00:26:20,440 --> 00:26:21,750 >> Jason HIRSCHHORN: Para sa ( 554 00:26:21,750 --> 00:26:23,740 >> MAG-AARAL: int i = 0 555 00:26:23,740 --> 00:26:26,070 >> Jason HIRSCHHORN: int i = 0 556 00:26:26,070 --> 00:26:28,190 >> MAG-AARAL: semicolon i mas mababa sa limang. 557 00:26:28,190 --> 00:26:31,680 >> Jason HIRSCHHORN: tuldok-kuwit, i mas mababa sa 5. 558 00:26:31,680 --> 00:26:33,600 >> MAG-AARAL: tuldok-kuwit, i + +. 559 00:26:33,600 --> 00:26:35,140 >> Jason HIRSCHHORN: tuldok-kuwit, i + +. 560 00:26:35,140 --> 00:26:37,720 >> MAG-AARAL: Sarado panaklong, pagkatapos ay bukas suhay. 561 00:26:37,720 --> 00:26:39,410 >> Jason HIRSCHHORN: Sarado panaklong at dalawang tirante. 562 00:26:39,410 --> 00:26:40,510 Sa loob ng tirante? 563 00:26:40,510 --> 00:26:47,640 >> MAG-AARAL: At pagkatapos ay printf "% d / n" 564 00:26:47,640 --> 00:26:48,695 >> Jason HIRSCHHORN: Paumanhin, hawakan. 565 00:26:48,695 --> 00:26:52,330 Printf "% d / n, closed quote. 566 00:26:52,330 --> 00:26:55,980 >> MAG-AARAL: At pagkatapos closed quote, kuwit, count, i bracket. 567 00:26:55,980 --> 00:26:58,350 >> Jason HIRSCHHORN: Comma, count, i bracket. 568 00:26:58,350 --> 00:26:59,970 >> MAG-AARAL: Paumanhin, numero i bracket. 569 00:26:59,970 --> 00:27:01,416 >> Jason HIRSCHHORN: Numero, i bracket. 570 00:27:01,416 --> 00:27:03,200 >> MAG-AARAL: Paumanhin. 571 00:27:03,200 --> 00:27:04,750 At pagkatapos ay isinara panaklong, tuldok-kuwit. 572 00:27:04,750 --> 00:27:07,156 >> Jason HIRSCHHORN: Sarado panaklong, tuldok-kuwit. 573 00:27:07,156 --> 00:27:08,680 Pupunta ako upang i-save na. 574 00:27:08,680 --> 00:27:12,670 Kami ay pagpunta sa gumawa ng count. 575 00:27:12,670 --> 00:27:14,742 At paano ko patakbuhin count? 576 00:27:14,742 --> 00:27:16,470 >> MAG-AARAL: Backslash. 577 00:27:16,470 --> 00:27:17,180 >> MAG-AARAL: Dot forward slash - 578 00:27:17,180 --> 00:27:18,050 >> Jason HIRSCHHORN:. / Bilangin, eksakto. 579 00:27:18,050 --> 00:27:19,380 Salamat sa inyo. . / Bilangin. 580 00:27:19,380 --> 00:27:21,060 Ang isa, dalawa, tatlo, apat, lima sa mga bagong linya. 581 00:27:21,060 --> 00:27:22,110 Mukhang ito ay nagtrabaho. 582 00:27:22,110 --> 00:27:23,200 Oo, si Noah? 583 00:27:23,200 --> 00:27:26,660 >> MAG-AARAL: Maaari mo ring gawin mas mababa sa o katumbas ng apat, tulad ng i Mababa sa 584 00:27:26,660 --> 00:27:27,630 o katumbas ng apat? 585 00:27:27,630 --> 00:27:31,190 Mayroon bang anumang bentahe sa paggawa ng mas kaunting sa limang, o lamang ng ibang paraan ng 586 00:27:31,190 --> 00:27:31,610 Sumusulat ito? 587 00:27:31,610 --> 00:27:35,280 >> Jason HIRSCHHORN: Kaya ang tanong ay sa iyo sana tapos i mas mababa sa o 588 00:27:35,280 --> 00:27:37,450 katumbas ng apat na sa halip ng i ay mas mababa sa limang. 589 00:27:37,450 --> 00:27:38,935 Nais na nagtrabaho sa parehong? 590 00:27:38,935 --> 00:27:39,760 >> MAG-AARAL: dapat ito. 591 00:27:39,760 --> 00:27:39,860 >> Jason HIRSCHHORN: Oo. 592 00:27:39,860 --> 00:27:41,660 Ito ay lubos na sana ay gumagana sa parehong. 593 00:27:41,660 --> 00:27:44,780 Stylistically, ito ay sa pangkalahatan ay mas mababa, at makikita mo sa isang segundo kapag 594 00:27:44,780 --> 00:27:48,160 kami mga string, maaari mong gamitin ang isang bagay tinatawag strlen, na iyong nakita 595 00:27:48,160 --> 00:27:50,380 bago, upang makuha ang haba sa mga string. 596 00:27:50,380 --> 00:27:54,090 At hindi ka maaaring gawin mas mababa sa o katumbas strlen. 597 00:27:54,090 --> 00:27:56,500 Maaari mong gawin mas mababa sa o kasing-halaga strlen minus isa. 598 00:27:56,500 --> 00:27:59,260 Kaya lang nicer upang gawin mas mababa sa strlen. 599 00:27:59,260 --> 00:28:00,240 Oo? 600 00:28:00,240 --> 00:28:03,270 >> MAG-AARAL: At sa aktwal na mga pagsusulit, gawin kami ay may upang magbigay ng mga komento sa aming mga 601 00:28:03,270 --> 00:28:04,620 code pati na rin? 602 00:28:04,620 --> 00:28:06,130 >> Jason HIRSCHHORN: Ang tanong ay sa mga pagsusulit, gawin mo 603 00:28:06,130 --> 00:28:07,760 mayroon na magbigay ng komento? 604 00:28:07,760 --> 00:28:12,050 Kaya naming makipag-usap nang higit pa tungkol sa mga pagsusulit kapag ang mga ito ay up, ngunit sa pangkalahatan, isang magandang 605 00:28:12,050 --> 00:28:14,530 pamantayan ay tuwing ikaw ay pagsulat code, magbigay ng mga komento. 606 00:28:14,530 --> 00:28:18,130 Kung nakuha mo ang code maling ngunit ang magkomento karapatan, maaari kang makakuha ng ilang 607 00:28:18,130 --> 00:28:22,280 credit parehong mula sa akin kung ako ay grading mo sa isang hanay problema o sa isang pagsusulit. 608 00:28:22,280 --> 00:28:24,660 Kaya mga komento ay palaging mahusay na magbigay. 609 00:28:24,660 --> 00:28:25,040 Sweet. 610 00:28:25,040 --> 00:28:25,460 Bilangin. 611 00:28:25,460 --> 00:28:26,720 Mahusay trabaho. 612 00:28:26,720 --> 00:28:28,570 Sabihin umusad. 613 00:28:28,570 --> 00:28:29,920 >> String. 614 00:28:29,920 --> 00:28:30,630 String. 615 00:28:30,630 --> 00:28:31,730 Nasaksihan namin ito bago magbigay ng panayam sa. 616 00:28:31,730 --> 00:28:33,390 Ito blew aking isip kapag ako unang natagpuan out ito. 617 00:28:33,390 --> 00:28:37,240 Ito marahil ay hindi pumutok kahit sino ni tututol dito, ngunit iyon ang OK. 618 00:28:37,240 --> 00:28:41,260 >> String ay array ng mga character, at tapusin ang mga ito sa, pati na sinabi mo nang mas maaga, 619 00:28:41,260 --> 00:28:45,710 ang null Terminator, na ay ang / 0 karakter. 620 00:28:45,710 --> 00:28:47,740 Kung kami ay pagpunta upang gumuhit ng isang string sa board, makikita namin gumuhit ito sa paglipas dito. 621 00:28:47,740 --> 00:28:53,080 622 00:28:53,080 --> 00:28:56,420 Kaya kung gaano katagal ay ang string na ito? 623 00:28:56,420 --> 00:28:56,680 Sorry. 624 00:28:56,680 --> 00:28:57,660 Gaano kahaba ang string na ito? 625 00:28:57,660 --> 00:28:57,910 >> MAG-AARAL: [hindi marinig]. 626 00:28:57,910 --> 00:28:59,010 >> Jason HIRSCHHORN: Four? 627 00:28:59,010 --> 00:28:59,880 Bakit ito apat? 628 00:28:59,880 --> 00:29:02,240 >> MAG-AARAL: Dahil ang ikalimang puwesto ay para sa null character. 629 00:29:02,240 --> 00:29:04,070 >> Jason HIRSCHHORN: Kaya ang ikalimang puwesto ay para sa null character. 630 00:29:04,070 --> 00:29:07,130 Kaya kung ako ay upang tumakbo sa strlen ito, magiging akong bigyan apat. 631 00:29:07,130 --> 00:29:07,850 Itama. 632 00:29:07,850 --> 00:29:11,640 At ang array, bagaman, kung ako ay upang initialize ito array, kung gaano karaming mga puwang 633 00:29:11,640 --> 00:29:13,444 Gusto ko mayroon upang humingi? 634 00:29:13,444 --> 00:29:13,821 >> MAG-AARAL: Limang. 635 00:29:13,821 --> 00:29:14,200 >> Jason HIRSCHHORN: Limang. 636 00:29:14,200 --> 00:29:17,650 Gusto ko mayroon upang humingi ng limang, ngunit maaari ko lamang ilagay ang apat na mga character sa dito 637 00:29:17,650 --> 00:29:19,750 dahil kailangan kong ilagay na null Terminator sa dulo. 638 00:29:19,750 --> 00:29:25,260 Kaya kami ay pagpunta sa sumulat sa "ohai" at ilagay ang null sa Terminator sa dulo. 639 00:29:25,260 --> 00:29:31,820 640 00:29:31,820 --> 00:29:34,940 Susubukan naming sabihin na ito ay string s ay katumbas ito. 641 00:29:34,940 --> 00:29:36,610 Ano ang zero s bracket? 642 00:29:36,610 --> 00:29:40,210 643 00:29:40,210 --> 00:29:41,550 s bracket zero, Annie? 644 00:29:41,550 --> 00:29:41,950 >> MAG-AARAL: O. 645 00:29:41,950 --> 00:29:45,400 >> Jason HIRSCHHORN: O, eksakto. s bracket ng isa? 646 00:29:45,400 --> 00:29:48,200 s bracket limang? 647 00:29:48,200 --> 00:29:52,670 648 00:29:52,670 --> 00:29:53,955 s bracket limang? 649 00:29:53,955 --> 00:29:54,740 >> MAG-AARAL: Hindi umiiral. 650 00:29:54,740 --> 00:29:55,040 >> Jason HIRSCHHORN: ba ang hindi umiiral. 651 00:29:55,040 --> 00:29:57,050 Mismong karapatan. 652 00:29:57,050 --> 00:29:57,940 Cool. 653 00:29:57,940 --> 00:30:03,120 Ang anumang mga katanungan tungkol sa pang-unawa bilang mga string array ng mga character? 654 00:30:03,120 --> 00:30:03,870 OK, pagkatapos. 655 00:30:03,870 --> 00:30:05,440 Isa pang programa para sa iyo guys. 656 00:30:05,440 --> 00:30:09,190 Sumulat ng isang programa na nagtatanong sa gumagamit para sa isang string pagkatapos ng mga Kopya bawat out 657 00:30:09,190 --> 00:30:11,880 na character sa isang bagong linya. 658 00:30:11,880 --> 00:30:14,160 Kaya sabihin tumagal ng tatlong minuto upang isulat programa na ito, at pagkatapos ay makikita namin ito code 659 00:30:14,160 --> 00:30:15,410 bilang isang grupo. 660 00:30:15,410 --> 00:31:04,730 661 00:31:04,730 --> 00:31:04,830 >> Sorry. 662 00:31:04,830 --> 00:31:06,470 Nagustuhan kailangan mo upang makita ito? 663 00:31:06,470 --> 00:31:07,410 >> MAG-AARAL: Hindi. 664 00:31:07,410 --> 00:31:08,660 >> Jason HIRSCHHORN: OK. 665 00:31:08,660 --> 00:31:36,390 666 00:31:36,390 --> 00:31:40,605 Magpahinga ng isa pang minuto sa code na ito, o hindi bababa sa magsimula sa ito. 667 00:31:40,605 --> 00:32:13,900 668 00:32:13,900 --> 00:32:17,020 >> Kaya maaari mong mapanatili ang nagtatrabaho, ngunit ako pupunta upang simulan ang pagpunta sa pamamagitan nito. 669 00:32:17,020 --> 00:32:22,560 Kaya bang bago, mayroon akong sa screen # Include cs50.h, # isama stdio.h. 670 00:32:22,560 --> 00:32:24,020 int pangunahing walang bisa. 671 00:32:24,020 --> 00:32:28,880 Sa loob ng main ni kulot tirante, mayroon akong dalawang komento, pseudocode. 672 00:32:28,880 --> 00:32:30,980 Ang isa ay humihingi ng string mula sa user. 673 00:32:30,980 --> 00:32:33,900 Ang pangalawa ay i-print ang bawat na character sa isang bagong linya. 674 00:32:33,900 --> 00:32:39,780 Kaya Anna, maaari mong ibigay sa akin ang magtanong para sa isang string mula sa mga gumagamit? 675 00:32:39,780 --> 00:32:41,970 >> MAG-AARAL: Printf. 676 00:32:41,970 --> 00:32:42,720 >> Jason HIRSCHHORN: Printf? 677 00:32:42,720 --> 00:32:45,050 >> MAG-AARAL: Oo. 678 00:32:45,050 --> 00:32:46,165 ( 679 00:32:46,165 --> 00:32:47,610 >> Jason HIRSCHHORN: ( 680 00:32:47,610 --> 00:32:49,300 >> MAG-AARAL: "ninyo ako ng string. 681 00:32:49,300 --> 00:32:52,380 >> Jason HIRSCHHORN: "bigyan sa akin ang STR - oops - 682 00:32:52,380 --> 00:32:53,710 string. 683 00:32:53,710 --> 00:32:59,980 >> MAG-AARAL: / n ") semicolon. 684 00:32:59,980 --> 00:33:02,300 >> Jason HIRSCHHORN: Tapusin ang string, closed panaklong, tuldok-kuwit. 685 00:33:02,300 --> 00:33:03,550 >> MAG-AARAL: Oo. 686 00:33:03,550 --> 00:33:09,080 At pagkatapos ay susunod na linya, string s = makakuha ng string. 687 00:33:09,080 --> 00:33:11,240 >> Jason HIRSCHHORN: String s = makakuha ng string. 688 00:33:11,240 --> 00:33:11,665 >> MAG-AARAL: Oo. 689 00:33:11,665 --> 00:33:13,080 At pagkatapos () 690 00:33:13,080 --> 00:33:14,365 >> Jason HIRSCHHORN: () 691 00:33:14,365 --> 00:33:14,720 >> MAG-AARAL: tuldok-kuwit. 692 00:33:14,720 --> 00:33:15,540 >> Jason HIRSCHHORN: tuldok-kuwit. 693 00:33:15,540 --> 00:33:16,890 Hindi kapani-paniwala. 694 00:33:16,890 --> 00:33:19,000 Kaya ako pupunta upang makakuha ng isang string at Pupunta ako sa i-save ito sa kung ano? 695 00:33:19,000 --> 00:33:21,830 Ano ang mga variable na tinatawag na iyong nilikha? 696 00:33:21,830 --> 00:33:23,290 >> MAG-AARAL: String s. 697 00:33:23,290 --> 00:33:24,580 >> Jason HIRSCHHORN: Ang variable ay tinatawag s. 698 00:33:24,580 --> 00:33:25,700 Ito ay uri ng string. 699 00:33:25,700 --> 00:33:27,200 Mismong. 700 00:33:27,200 --> 00:33:30,080 Susunod na bagay na gusto naming ay i-print out bawat karakter sa isang bagong linya. 701 00:33:30,080 --> 00:33:31,710 Sino ang maaaring magbigay sa akin na code? 702 00:33:31,710 --> 00:33:32,110 [Hindi marinig]? 703 00:33:32,110 --> 00:33:33,000 Maaari mong ibigay ito sa akin? 704 00:33:33,000 --> 00:33:33,580 >> MAG-AARAL: Oo naman. 705 00:33:33,580 --> 00:33:35,420 >> Jason HIRSCHHORN: Sabihin gawin ito. 706 00:33:35,420 --> 00:33:36,080 At paumanhin. 707 00:33:36,080 --> 00:33:38,896 Hindi ko nais na ulitin kung ano ang sinasabi mo dahil ka nakakakuha ito ng tama, ngunit ko 708 00:33:38,896 --> 00:33:42,100 kailangang ulitin ito nang sa gayon ay kapag sila ay isalin sa ibang papel na ito, maaari silang makakuha ng lahat ng 709 00:33:42,100 --> 00:33:44,870 ang teksto sa labas ng mga transcription. 710 00:33:44,870 --> 00:33:47,180 Kaya maaari mo lamang panatilihin ang pakikipag-usap. 711 00:33:47,180 --> 00:33:48,590 Sa kasamaang palad, mayroon akong upang sabihin ito sa iyo. 712 00:33:48,590 --> 00:33:49,510 Sorry, ngunit - 713 00:33:49,510 --> 00:33:50,610 >> MAG-AARAL: Iyon ay pinong. 714 00:33:50,610 --> 00:33:53,010 Para sa int i = 0 715 00:33:53,010 --> 00:33:54,170 >> Jason HIRSCHHORN: Para sa int i = 0 716 00:33:54,170 --> 00:33:56,740 >> MAG-AARAL: ako mas mababa sa - 717 00:33:56,740 --> 00:33:58,206 >> Jason HIRSCHHORN: tuldok-kuwit. 718 00:33:58,206 --> 00:34:00,650 >> MAG-AARAL: Bago ito, maaari naming ilagay ang isang variable kaya kumuha ka ng int pangalan haba? 719 00:34:00,650 --> 00:34:01,870 >> Jason HIRSCHHORN: Oh, hindi mo pag nais na ilagay ang tuldok-kuwit? 720 00:34:01,870 --> 00:34:02,310 OK. 721 00:34:02,310 --> 00:34:05,120 Kaya kung ano ang gusto mong gawin pagkatapos ng zero? 722 00:34:05,120 --> 00:34:09,340 >> MAG-AARAL: Gusto kong makuha ang string ng haba at s 723 00:34:09,340 --> 00:34:10,410 nakatakda na sa isang variable? 724 00:34:10,410 --> 00:34:11,760 >> Jason HIRSCHHORN: OK, kaya paano ko gawin iyon? 725 00:34:11,760 --> 00:34:17,636 >> MAG-AARAL: Kaya gawin mo int haba = 726 00:34:17,636 --> 00:34:20,010 >> Jason HIRSCHHORN: int haba = 727 00:34:20,010 --> 00:34:22,230 >> MAG-AARAL: S-T-R-L-E-N. 728 00:34:22,230 --> 00:34:24,260 >> Jason HIRSCHHORN: S-T-R-L-E-N - 729 00:34:24,260 --> 00:34:25,380 >> MAG-AARAL: Ng s. 730 00:34:25,380 --> 00:34:25,790 Bracket. 731 00:34:25,790 --> 00:34:27,920 >> Jason HIRSCHHORN: (s). 732 00:34:27,920 --> 00:34:33,040 >> MAG-AARAL: At pagkatapos ay sa tingin ko mayroon kang upang maglagay ng tuldok-kuwit sa pagitan ng dalawang ints. 733 00:34:33,040 --> 00:34:34,590 >> Jason HIRSCHHORN: Ang isang tuldok-kuwit pagkatapos ng zero? 734 00:34:34,590 --> 00:34:35,260 >> MAG-AARAL: Oo. 735 00:34:35,260 --> 00:34:40,670 Pagkatapos maglagay ng semicolon pagkatapos na, at sabihin mo, i mas mababa kaysa sa haba. 736 00:34:40,670 --> 00:34:43,250 i mas mababa kaysa sa haba, na ay ang variable. 737 00:34:43,250 --> 00:34:44,590 >> MAG-AARAL: At pagkatapos ay tuldok-kuwit. 738 00:34:44,590 --> 00:34:45,790 >> Jason HIRSCHHORN: tuldok-kuwit. 739 00:34:45,790 --> 00:34:46,290 >> MAG-AARAL: i + +. 740 00:34:46,290 --> 00:34:46,909 >> Jason HIRSCHHORN: i + +. 741 00:34:46,909 --> 00:34:47,530 Mayroong para sa aming mga loop. 742 00:34:47,530 --> 00:34:48,860 OK, sa loob ng para sa loop. 743 00:34:48,860 --> 00:34:51,670 >> MAG-AARAL: At pagkatapos gawin printf. 744 00:34:51,670 --> 00:34:53,340 >> Jason HIRSCHHORN: Printf. 745 00:34:53,340 --> 00:34:53,889 >> MAG-AARAL: bracket. 746 00:34:53,889 --> 00:34:55,130 >> Jason HIRSCHHORN: panaklong, quotes. 747 00:34:55,130 --> 00:34:59,930 >> MAG-AARAL: panaklong, quote,% c / n. 748 00:34:59,930 --> 00:35:00,760 >> Jason HIRSCHHORN:% c, OK. 749 00:35:00,760 --> 00:35:01,670 >> MAG-AARAL: / n. 750 00:35:01,670 --> 00:35:03,470 >> Jason HIRSCHHORN: / n. 751 00:35:03,470 --> 00:35:04,410 >> MAG-AARAL: Sarado quotes. 752 00:35:04,410 --> 00:35:05,270 >> Jason HIRSCHHORN: Sarado quotes. 753 00:35:05,270 --> 00:35:05,810 >> MAG-AARAL: Comma. 754 00:35:05,810 --> 00:35:06,860 >> Jason HIRSCHHORN: Comma. 755 00:35:06,860 --> 00:35:07,800 >> MAG-AARAL: S. 756 00:35:07,800 --> 00:35:08,070 >> Jason HIRSCHHORN: S. 757 00:35:08,070 --> 00:35:08,690 >> MAG-AARAL: i Bracket. 758 00:35:08,690 --> 00:35:10,230 >> Jason HIRSCHHORN: i Bracket. 759 00:35:10,230 --> 00:35:11,520 >> MAG-AARAL: At pagkatapos ay sarado panaklong. 760 00:35:11,520 --> 00:35:12,540 >> Jason HIRSCHHORN: Sarado panaklong. 761 00:35:12,540 --> 00:35:13,660 >> MAG-AARAL: At pagkatapos ay tuldok-kuwit. 762 00:35:13,660 --> 00:35:13,770 >> Jason HIRSCHHORN: tuldok-kuwit. 763 00:35:13,770 --> 00:35:14,380 Hindi kapani-paniwala. 764 00:35:14,380 --> 00:35:16,890 Kaya natin i-save ito. 765 00:35:16,890 --> 00:35:19,770 Gumawa ng oras ng paggawa. 766 00:35:19,770 --> 00:35:20,040 Oh batang lalaki. 767 00:35:20,040 --> 00:35:22,275 Mayroon akong isang pares ng mga error. 768 00:35:22,275 --> 00:35:33,120 Una error sa linya 11, sinasabi nito, inaasahan expression, at ito ay nagbibigay sa 769 00:35:33,120 --> 00:35:36,910 sa akin ng isang error na ang ikalawang int, mayroong error sa. 770 00:35:36,910 --> 00:35:38,430 Mayroong ilang mga error sa paligid doon. 771 00:35:38,430 --> 00:35:41,060 Ba kahit sino malaman kung ano ang error na? 772 00:35:41,060 --> 00:35:41,640 Kurt? 773 00:35:41,640 --> 00:35:44,108 >> MAG-AARAL: Sa tingin ko ito ay dapat na maging isang kuwit at hindi isang tuldok-kuwit. 774 00:35:44,108 --> 00:35:46,010 >> Jason HIRSCHHORN: OK, ang isang kuwit sa halip ng isang tuldok-kuwit. 775 00:35:46,010 --> 00:35:47,340 Kaya ay na ang lahat ng kailangan namin upang ayusin? 776 00:35:47,340 --> 00:35:47,655 >> MAG-AARAL: Hindi. 777 00:35:47,655 --> 00:35:48,930 >> Jason HIRSCHHORN: Ano pa huwag kailanganin naming ayusin? 778 00:35:48,930 --> 00:35:50,920 >> MAG-AARAL: Mayroon kaming upang isama string.h. 779 00:35:50,920 --> 00:35:51,680 >> Jason HIRSCHHORN: Isama string.h. 780 00:35:51,680 --> 00:35:53,730 Saan ko kailangan upang isama iyon? 781 00:35:53,730 --> 00:35:57,085 >> MAG-AARAL: Parehong lugar ka kabilang ang iba pang mga bagay-bagay, i-right 782 00:35:57,085 --> 00:35:59,560 pagkatapos isama stdio.h. 783 00:35:59,560 --> 00:36:01,610 >> Jason HIRSCHHORN: natin makita kung ito ay nagpapatakbo una dahil sa pangkalahatan, gusto ko 784 00:36:01,610 --> 00:36:06,360 upang ayusin ang isang bagay muna, at pagkatapos ay magpatakbo ito, at pagkatapos ay makita ang mga error makuha namin. 785 00:36:06,360 --> 00:36:11,620 Kaya kami ay pagpunta upang i-clear ang terminal may control n, sabihin huwag gumawa ng spell. 786 00:36:11,620 --> 00:36:15,190 787 00:36:15,190 --> 00:36:18,770 Kaya isa pang error sa linya 11. 788 00:36:18,770 --> 00:36:20,540 Inaasahang tuldok-kuwit. 789 00:36:20,540 --> 00:36:22,640 At pa rin ako nakakakuha ng error sa linyang ito. 790 00:36:22,640 --> 00:36:25,270 Kaya hindi ito ay nagbigay sa akin ng isang error na nagsasabing ito ay hindi maunawaan kung ano ang strlen ay, 791 00:36:25,270 --> 00:36:28,980 ngunit ito ay nagbibigay sa akin ang error na ito sa line, kaya ano pa ang mali? 792 00:36:28,980 --> 00:36:29,690 Markahan? 793 00:36:29,690 --> 00:36:30,940 Marcus. 794 00:36:30,940 --> 00:36:32,570 >> MAG-AARAL: Huwag mo na kailangang alisin ang pangalawang int deklarasyon? 795 00:36:32,570 --> 00:36:34,990 >> Jason HIRSCHHORN: Alisin ang pangalawang int. 796 00:36:34,990 --> 00:36:35,710 Tayo'y subukan ito. 797 00:36:35,710 --> 00:36:37,600 Ngayon i-clear ang terminal. 798 00:36:37,600 --> 00:36:40,130 Gumawa ng oras ng paggawa. 799 00:36:40,130 --> 00:36:40,490 Nagkaroon ng error. 800 00:36:40,490 --> 00:36:42,890 Nang kataon lamang deklarasyon library function na strlen. 801 00:36:42,890 --> 00:36:44,270 Kaya ngayon namin makita ang error na iyon. 802 00:36:44,270 --> 00:36:45,760 Ano ang gagawin namin kailangan upang isama? 803 00:36:45,760 --> 00:36:46,660 >> MAG-AARAL: String.h. 804 00:36:46,660 --> 00:36:51,880 >> Jason HIRSCHHORN: Isama string.h, # makikita namin isama string.h sa tuktok 805 00:36:51,880 --> 00:36:52,920 ng screen. 806 00:36:52,920 --> 00:36:55,450 Sabihin save, gumawa ng oras ng paggawa. 807 00:36:55,450 --> 00:36:56,970 Ngayon ay pinagsama-sama. 808 00:36:56,970 --> 00:37:01,970 Kaya muli, ang mga bagay na aming kailangan upang matandaan linya 12 sa aming para sa loop kapag 809 00:37:01,970 --> 00:37:08,010 kami set up ito, int i = 0, haba = strlen (s). 810 00:37:08,010 --> 00:37:09,350 >> Ito ay isang hindi kapani-paniwala diskarte. 811 00:37:09,350 --> 00:37:12,590 Ang estilo ng ito ay mahusay, ang disenyo ng mga ito ay mahusay. 812 00:37:12,590 --> 00:37:15,620 Maaari naming pumunta sa mga kadahilanan sa ibang pagkakataon, ngunit sa ganitong paraan kailangan mo lamang na tumawag 813 00:37:15,620 --> 00:37:19,040 strlen isang beses sa halip ng bawat solong na patakbuhin mo ang sa pamamagitan ng mga loop. 814 00:37:19,040 --> 00:37:22,255 Gayunpaman, kailangan mong gumamit ng isang kuwit doon at hindi mo kailangang int muli. 815 00:37:22,255 --> 00:37:24,180 Kung naka deklarasyon parehong mga variable magkasama, mo 816 00:37:24,180 --> 00:37:26,850 hindi na kailangan ng int muli. 817 00:37:26,850 --> 00:37:29,820 At pagkatapos ay kung ikaw ay pagpunta sa gamitin strlen, na kung saan ay isa pang library 818 00:37:29,820 --> 00:37:33,560 Ang function na ay hindi kasama sa stdio.h o cs50.h, gumawa 819 00:37:33,560 --> 00:37:35,310 Tiyaking isama mo ang string.h. 820 00:37:35,310 --> 00:37:35,900 Kurt? 821 00:37:35,900 --> 00:37:39,085 >> MAG-AARAL: Kaya pagkatapos ay kung hindi mo kailangang sabihin kung anong uri haba ay, gumagana na 822 00:37:39,085 --> 00:37:40,290 ibig sabihin nito ay upang maging isang int? 823 00:37:40,290 --> 00:37:41,930 Hindi ka maaaring magkaroon ng dalawang magkaibang mga uri doon? 824 00:37:41,930 --> 00:37:43,290 >> Jason HIRSCHHORN: Kaya maaari mong may dalawang magkaibang mga uri. 825 00:37:43,290 --> 00:37:45,730 Haba ay isang int dito, bagaman. 826 00:37:45,730 --> 00:37:48,590 Haba ay isang int dahil ito ay pinaghihiwalay at pagkatapos ay ang parehong bagay. 827 00:37:48,590 --> 00:37:50,460 >> MAG-AARAL: Kaya ito Ipinagpapalagay na ito ang nangyayari upang maging ang parehong bilang unang isa? 828 00:37:50,460 --> 00:37:52,423 >> Jason HIRSCHHORN: Mismong. 829 00:37:52,423 --> 00:37:54,970 Hindi namin pagpunta sa gawin ito ngayon, ngunit sa iyo Maaaring kabilang sa dalawang variable sa 830 00:37:54,970 --> 00:37:57,080 parehong linya gamit ang isa sa uri ng data. 831 00:37:57,080 --> 00:38:01,415 Kaya int x, y ay lumikha dalawang variable. 832 00:38:01,415 --> 00:38:05,830 833 00:38:05,830 --> 00:38:10,770 Kaya int x, y, kapag gumawa kami na, ito ay nagbibigay sa sa akin ng isang hindi nagamit na variable x at y dahil 834 00:38:10,770 --> 00:38:12,020 hindi namin ginagamit ang mga ito. 835 00:38:12,020 --> 00:38:17,950 836 00:38:17,950 --> 00:38:21,650 Kaya walang silbi ang paglalagay bago lamang ang magarbong bilis ng kamay kung hindi mo ginagamit ang 837 00:38:21,650 --> 00:38:22,810 isang bagay, gamitin ito. 838 00:38:22,810 --> 00:38:26,300 Ngunit tulad ng nakikita mo, lumikha ako x at y sa parehong linya gamit ang isang kuwit. 839 00:38:26,300 --> 00:38:28,450 Ito ay ang paglikha ng dalawang integer doon. 840 00:38:28,450 --> 00:38:31,560 Kaya oo, lahat-lahat na posible upang lumikha ng dalawang bagay sa parehong linya 841 00:38:31,560 --> 00:38:33,720 pinaghiwalay ng kuwit. 842 00:38:33,720 --> 00:38:35,470 Natin mapupuksa ang mga, bagaman. 843 00:38:35,470 --> 00:38:36,370 >> Kaya mayroong spell. 844 00:38:36,370 --> 00:38:39,200 Salamat guys para sa coding nito para sa amin. 845 00:38:39,200 --> 00:38:43,040 Natin gawin itong isa pang beses, patakbuhin ito. 846 00:38:43,040 --> 00:38:44,580 Bigyan mo ako ng isang string. 847 00:38:44,580 --> 00:38:45,580 [Hindi marinig], ginawa mo ang karamihan sa mga ito. 848 00:38:45,580 --> 00:38:47,910 Ano ang string? 849 00:38:47,910 --> 00:38:48,250 >> MAG-AARAL: Hello. 850 00:38:48,250 --> 00:38:50,110 >> Jason HIRSCHHORN: Hello. 851 00:38:50,110 --> 00:38:52,810 H-E-L-L-O, ang bawat karakter sa isang linya. 852 00:38:52,810 --> 00:38:53,700 Mukhang mahusay. 853 00:38:53,700 --> 00:38:54,750 Sabihin patakbuhin itong muli. 854 00:38:54,750 --> 00:38:56,050 Laging pagpunta upang suriin para sa mga kaso na sulok. 855 00:38:56,050 --> 00:38:57,750 Ano ang isang mahusay na kaso sulok sa pagcheck? 856 00:38:57,750 --> 00:39:00,250 857 00:39:00,250 --> 00:39:00,890 >> MAG-AARAL: Ang isang numero? 858 00:39:00,890 --> 00:39:02,240 >> Jason HIRSCHHORN: Isang numero. 859 00:39:02,240 --> 00:39:06,580 Kaya kailangan kong ilagay sa 1, at ito prints out 1. 860 00:39:06,580 --> 00:39:08,970 Hindi ito nagtatanong para sa mga titik, kaya't parang katulad ng mga numero ng trabaho. 861 00:39:08,970 --> 00:39:09,890 Magandang sulok kaso upang suriin. 862 00:39:09,890 --> 00:39:11,740 Ano ang isa pang mahusay na sulok kaso upang suriin? 863 00:39:11,740 --> 00:39:12,420 >> MAG-AARAL: Ang isang walang laman na string. 864 00:39:12,420 --> 00:39:12,910 >> Jason HIRSCHHORN: Hm? 865 00:39:12,910 --> 00:39:13,880 >> MAG-AARAL: Tulad ng isang walang laman na string. 866 00:39:13,880 --> 00:39:14,400 >> Jason HIRSCHHORN: Walang laman na string. 867 00:39:14,400 --> 00:39:16,730 Kaya sabihin hindi ilalagay sa kahit ano. 868 00:39:16,730 --> 00:39:18,660 At kung ano ay makakakuha ng naka-print out? 869 00:39:18,660 --> 00:39:19,090 >> MAG-AARAL: Wala. 870 00:39:19,090 --> 00:39:19,870 >> Jason HIRSCHHORN: Wala. 871 00:39:19,870 --> 00:39:20,555 Tila ito gumagana. 872 00:39:20,555 --> 00:39:23,790 Maaari mong subukan ang higit pang mga kaso sulok, ngunit sa pangkalahatan ay numero, isang iba't ibang mga data ay 873 00:39:23,790 --> 00:39:26,160 mahusay na subukan, pati na rin ay wala. 874 00:39:26,160 --> 00:39:29,180 Wala, zero, negatibo ay palaging mahusay na mga bagay upang subukan at bagay sa iyo 875 00:39:29,180 --> 00:39:33,140 Dapat na pagsubok, mga bagay na tiyak naming subukan at para sa Suriin ang 50 ay subukan para sa. 876 00:39:33,140 --> 00:39:34,720 Ang anumang mga katanungan tungkol sa spell.c? 877 00:39:34,720 --> 00:39:37,752 878 00:39:37,752 --> 00:39:39,310 >> OK, sabihin ulo pabalik. 879 00:39:39,310 --> 00:39:42,420 Mayroon akong isa pang programa para sa iyo guys upang magsulat. 880 00:39:42,420 --> 00:39:44,700 Ito ay tinatawag na students.c. 881 00:39:44,700 --> 00:39:49,020 Ito ay isang programa na nagtatanong sa gumagamit para sa limang mga pangalan, pagkatapos ay sapalarang pinili 882 00:39:49,020 --> 00:39:51,600 at mga print out ang isa sa mga pangalan. 883 00:39:51,600 --> 00:39:54,840 Ang program na ito ay isang maliit na bit higit pa kasangkot sa ang huling dalawang mga sinulat namin, 884 00:39:54,840 --> 00:39:58,080 kaya bakit hindi kami tumagal ng limang minuto upang Code ito nang paisa-isa, at pagkatapos ay bibigyan namin ng 885 00:39:58,080 --> 00:40:00,130 Code ng ito bilang isang grupo. 886 00:40:00,130 --> 00:40:03,795 >> Ang programang ito ay din kasangkot ang ilang mga bagay maaaring hindi mo nakikita dati, kaya kung 887 00:40:03,795 --> 00:40:06,390 may tanong ka tungkol sa, kung paano gawin Gagawin ko na, itaas ang iyong kamay. 888 00:40:06,390 --> 00:40:08,530 Kukunin ko dumating sa ibabaw at ituro sa iyo sa tamang direksyon. 889 00:40:08,530 --> 00:40:10,820 Ngunit din namin ito ginagawa dahil ito ay magiging isang mahusay na paraan upang ipakilala ang ilang mga 890 00:40:10,820 --> 00:40:12,070 pakay na nakakalito. 891 00:40:12,070 --> 00:44:14,600 892 00:44:14,600 --> 00:44:15,560 >> Kaya ito gumagana, tama? 893 00:44:15,560 --> 00:44:17,580 >> MAG-AARAL: Oo. 894 00:44:17,580 --> 00:44:19,180 >> Jason HIRSCHHORN: Sa tuwing i-on mo sa isang problema set, may maraming mga paraan upang gawin 895 00:44:19,180 --> 00:44:20,790 ito, ngunit ang ilan ay higit pa eleganteng kaysa sa iba. 896 00:44:20,790 --> 00:44:29,000 897 00:44:29,000 --> 00:44:31,110 Ipaalam sa amin sumisid in 898 00:44:31,110 --> 00:44:32,880 # Include cs50.h. 899 00:44:32,880 --> 00:44:34,250 # Isama stdio.h. 900 00:44:34,250 --> 00:44:37,240 int pangunahing walang bisa, kulot tirante. 901 00:44:37,240 --> 00:44:39,430 Sa loob ng kulot tirante, Mayroon akong dalawang mga komento. 902 00:44:39,430 --> 00:44:41,500 Ang unang isa ay, tanungin ang gumagamit para sa limang mga pangalan. 903 00:44:41,500 --> 00:44:46,580 Ang ikalawang isa ay, sapalarang pipili ng at i-print out ang isa sa mga pangalan. 904 00:44:46,580 --> 00:44:50,250 Kaya natin gawin ang unang isa, magtanong ang mga gumagamit para sa limang mga pangalan. 905 00:44:50,250 --> 00:44:53,730 Sino ay humiling ng user para sa limang mga pangalan at maaaring sabihin sa akin kung paano gawin iyon? 906 00:44:53,730 --> 00:44:56,760 907 00:44:56,760 --> 00:44:58,570 Tanging dalawang tao ginawa sa unang bahagi. 908 00:44:58,570 --> 00:45:00,150 Tatlong tao ang ginawa sa unang bahagi. 909 00:45:00,150 --> 00:45:00,670 Apat, lima. 910 00:45:00,670 --> 00:45:03,140 Tom, paano mo gawin ito? 911 00:45:03,140 --> 00:45:09,940 >> MAG-AARAL: Gusto mo idedeklara isang string at pagkatapos ay i-pangalan, bracket limang. 912 00:45:09,940 --> 00:45:12,070 >> Jason HIRSCHHORN: String pangalanan limang bracket. 913 00:45:12,070 --> 00:45:15,350 Kaya kung ano ito linya ng paggawa, string pangalan bracket limang? 914 00:45:15,350 --> 00:45:17,800 >> MAG-AARAL: Gusto mo idedeklara isang array ng mga string. 915 00:45:17,800 --> 00:45:19,000 >> Jason HIRSCHHORN: Ito ay isang array ng mga string. 916 00:45:19,000 --> 00:45:21,590 Gaano karaming mga string ay pagpunta upang magkasya sa dito? 917 00:45:21,590 --> 00:45:22,010 >> MAG-AARAL: Limang. 918 00:45:22,010 --> 00:45:22,320 >> Jason HIRSCHHORN: Limang. 919 00:45:22,320 --> 00:45:22,660 Magaling. 920 00:45:22,660 --> 00:45:26,360 Kami ay pagpunta sa tumawag ito dahil Pangalan kami ay pagpunta upang makakuha ng maraming mga bago. 921 00:45:26,360 --> 00:45:27,790 OK, susunod? 922 00:45:27,790 --> 00:45:29,270 >> MAG-AARAL: At pagkatapos mo magkaroon ng para sa loop - 923 00:45:29,270 --> 00:45:30,060 >> Jason HIRSCHHORN: Para sa loop. 924 00:45:30,060 --> 00:45:33,035 >> MAG-AARAL: - para i = 0. 925 00:45:33,035 --> 00:45:37,040 >> Jason HIRSCHHORN: Para sa (int i = 0. 926 00:45:37,040 --> 00:45:38,270 >> MAG-AARAL: tuldok-kuwit. 927 00:45:38,270 --> 00:45:38,880 >> Jason HIRSCHHORN: tuldok-kuwit. 928 00:45:38,880 --> 00:45:39,790 >> MAG-AARAL: ako mas mababa sa limang. 929 00:45:39,790 --> 00:45:41,310 >> Jason HIRSCHHORN: ako mas mababa sa limang. 930 00:45:41,310 --> 00:45:42,230 >> MAG-AARAL: tuldok-kuwit. 931 00:45:42,230 --> 00:45:42,560 >> Jason HIRSCHHORN: tuldok-kuwit. 932 00:45:42,560 --> 00:45:43,380 >> MAG-AARAL: i + +. 933 00:45:43,380 --> 00:45:46,050 >> Jason HIRSCHHORN: i + +. 934 00:45:46,050 --> 00:45:47,100 >> MAG-AARAL: At pagkatapos ay sarado panaklong. 935 00:45:47,100 --> 00:45:48,600 >> Jason HIRSCHHORN: Sarado panaklong, at pagkatapos ay ang ilang mga kulot tirante. 936 00:45:48,600 --> 00:45:50,050 Sa loob ng kulot tirante? 937 00:45:50,050 --> 00:45:51,423 >> MAG-AARAL: At pagkatapos ay printf. 938 00:45:51,423 --> 00:45:52,535 >> Jason HIRSCHHORN: Printf. 939 00:45:52,535 --> 00:45:56,200 >> MAG-AARAL: Bukas panaklong, pangalan ng% d. 940 00:45:56,200 --> 00:45:57,090 >> Jason HIRSCHHORN: Paumanhin? 941 00:45:57,090 --> 00:45:57,660 >> MAG-AARAL: Pangalan. 942 00:45:57,660 --> 00:45:58,200 >> Jason HIRSCHHORN: Pangalan. 943 00:45:58,200 --> 00:46:01,700 >> MAG-AARAL: At pagkatapos na espasyo, at pagkatapos ay% d. 944 00:46:01,700 --> 00:46:02,950 >> Jason HIRSCHHORN: Pangalan, space,% d. 945 00:46:02,950 --> 00:46:05,630 946 00:46:05,630 --> 00:46:10,820 >> MAG-AARAL: At pagkatapos ay / n, at pagkatapos ay sarado. 947 00:46:10,820 --> 00:46:15,070 >> Jason HIRSCHHORN: Kaya pangalan, espasyo, % D / n, closed parentheses. 948 00:46:15,070 --> 00:46:17,730 >> MAG-AARAL: Comma, i + 1. 949 00:46:17,730 --> 00:46:19,390 Sorry. 950 00:46:19,390 --> 00:46:21,040 Sarado quote, at pagkatapos ay i-comma, i +1. 951 00:46:21,040 --> 00:46:24,400 >> Jason HIRSCHHORN: Sarado quote, kuwit, i +1. 952 00:46:24,400 --> 00:46:25,850 >> MAG-AARAL: Oo. 953 00:46:25,850 --> 00:46:27,650 At pagkatapos ay ang susunod na linya - 954 00:46:27,650 --> 00:46:29,400 >> Jason HIRSCHHORN: i + 1. 955 00:46:29,400 --> 00:46:31,600 >> MAG-AARAL: Oo. 956 00:46:31,600 --> 00:46:36,440 At pagkatapos ay ang susunod na slide ay i mga pangalan ng bracket. 957 00:46:36,440 --> 00:46:39,000 >> Jason HIRSCHHORN: Susunod na linya ay i mga pangalan ng bracket. 958 00:46:39,000 --> 00:46:41,360 >> MAG-AARAL: = makakuha ng string. 959 00:46:41,360 --> 00:46:43,460 >> Jason HIRSCHHORN: Kunin = - 960 00:46:43,460 --> 00:46:44,510 capital G-E-T - 961 00:46:44,510 --> 00:46:45,530 string. 962 00:46:45,530 --> 00:46:47,800 Oops, paumanhin. 963 00:46:47,800 --> 00:46:49,050 >> MAG-AARAL: Bukas, closed panaklong at pagkatapos - 964 00:46:49,050 --> 00:46:50,940 >> Jason HIRSCHHORN: Bukas, sarado paren. 965 00:46:50,940 --> 00:46:51,030 >> MAG-AARAL: tuldok-kuwit. 966 00:46:51,030 --> 00:46:52,500 >> Jason HIRSCHHORN: tuldok-kuwit. 967 00:46:52,500 --> 00:46:57,545 OK, kaya mo initialize ang array ng string, pangalan, at pagkatapos ay pumunta sa pamamagitan ng isang 968 00:46:57,545 --> 00:47:02,720 para sa loop, at limang beses i-print ang ilang mga prompt sa gumagamit at pagkatapos ay mag-imbak 969 00:47:02,720 --> 00:47:03,360 limang mga string. 970 00:47:03,360 --> 00:47:08,090 Ba ang sinuman ay may anumang pagsasaayos na ito? 971 00:47:08,090 --> 00:47:10,030 Tom, tingin ko lahat ng tao Sumasang-ayon sa iyo. 972 00:47:10,030 --> 00:47:10,880 Mukhang medyo magandang. 973 00:47:10,880 --> 00:47:11,660 OK. 974 00:47:11,660 --> 00:47:14,830 Bakit mo gagawin i +1, bagaman? 975 00:47:14,830 --> 00:47:18,000 >> MAG-AARAL: Ibig kong sabihin, walang maging, ngunit i +1 upang ito ay 976 00:47:18,000 --> 00:47:19,700 pangalan ng isa sa limang pangalanan. 977 00:47:19,700 --> 00:47:21,930 Kung hindi man, magiging pangalan zero upang pangalanan ang apat. 978 00:47:21,930 --> 00:47:24,400 >> Jason HIRSCHHORN: Kaya mo ginawa i +1 dahil kung hindi man ay mayroon ito 979 00:47:24,400 --> 00:47:27,060 print mo zero sa pamamagitan ng apat dahil na kung paano mga computer sa tingin, ngunit kawani na tao 980 00:47:27,060 --> 00:47:28,530 hindi talagang basahin tulad na. 981 00:47:28,530 --> 00:47:30,190 Iyon ay isa pang bagay makakakita ka magkakaproblema. 982 00:47:30,190 --> 00:47:33,210 Minsan kapag i-print out ka ng isang bagay sa gumagamit, makikita mo nais upang gawin itong isang 983 00:47:33,210 --> 00:47:35,733 Medyo prettier, at paggawa i +1 sa kasong ito ay isang 984 00:47:35,733 --> 00:47:37,430 paraan upang gawing mas prettier. 985 00:47:37,430 --> 00:47:41,380 >> Ko rin makita limang dalawang beses, string pangalan ay limang, i Mas mababa sa limang. 986 00:47:41,380 --> 00:47:42,430 Alam ko kung saan mo nakuha ang lima. 987 00:47:42,430 --> 00:47:44,890 Nakakuha ka ito mula sa akin na nagsasabi sa mo limang mga pangalan. 988 00:47:44,890 --> 00:47:49,000 Ngunit kung gusto naming gawin ang isang code Medyo mas matatag, isang bagay na namin 989 00:47:49,000 --> 00:47:53,110 maaari ko ay wala dito, sa labas ng int, maaari naming gawin ang isang bagay na tulad nito, 990 00:47:53,110 --> 00:47:57,070 # Tukuyin, at maaari naming gawin NAMES 5. 991 00:47:57,070 --> 00:48:01,580 992 00:48:01,580 --> 00:48:05,390 >> Kaya talaga, kahit saan sumulat ako kabisera N, capital A, capital M, E kabisera, 993 00:48:05,390 --> 00:48:08,890 capital S, na string, ito ay palitan na may 5 sa code. 994 00:48:08,890 --> 00:48:11,530 995 00:48:11,530 --> 00:48:13,445 O kaya sabihin lamang tumawag ito - bibigyan namin ng tumawag lamang ito NUMBER. 996 00:48:13,445 --> 00:48:17,190 Kaya ako ng pagtukoy sa lahat caps NUMBER upang maging 5. 997 00:48:17,190 --> 00:48:22,830 >> Kaya ngayon kahit saan mayroon akong ang bilang 5, ko maaaring palitan ito ng lahat ng NUMBER caps. 998 00:48:22,830 --> 00:48:26,880 At ngayon, kung gusto kong baguhin ang numero ng mga pangalan, ang kailangan ko lang gawin ay 999 00:48:26,880 --> 00:48:31,350 ang isang linya, linya apat, kung saan mayroon ako # Tukuyin ang numero 5, palitan na sa 10, 1000 00:48:31,350 --> 00:48:34,340 o palitan na sa 4. 1001 00:48:34,340 --> 00:48:37,400 Kapag ang iyong code ay nakakakuha ng mas mahaba, hindi ka pagpunta sa tandaan ang lahat ng mga lugar na iyong 1002 00:48:37,400 --> 00:48:41,630 ilagay kung gaano karaming mga pangalan na gusto mo, at sa order na para sa iyo hindi upang makaligtaan ang isa, ito ay 1003 00:48:41,630 --> 00:48:45,490 isang mahusay na paraan upang gawin ito, upang makahanap ng isang bagay up tuktok at pagkatapos lamang gamitin na parirala 1004 00:48:45,490 --> 00:48:46,400 lahat ng lugar sa kabuuan ng iyong code. 1005 00:48:46,400 --> 00:48:46,780 Marcus? 1006 00:48:46,780 --> 00:48:49,780 >> MAG-AARAL: Iyan ba stylistically ninanais kaysa sa buong mundo ng pagtukoy sa isang 1007 00:48:49,780 --> 00:48:51,270 pare-pareho n? 1008 00:48:51,270 --> 00:48:53,760 >> Jason HIRSCHHORN: Kaya ay na stylistically ginustong kaysa sa buong mundo 1009 00:48:53,760 --> 00:48:54,980 pagtukoy sa isang pare-pareho n? 1010 00:48:54,980 --> 00:48:59,036 Kaya mo sinasabi na maaari mong gawin, int numero = 5? 1011 00:48:59,036 --> 00:49:01,300 >> MAG-AARAL: Huwag mayroon sila consonants sa C o hindi? 1012 00:49:01,300 --> 00:49:02,720 >> Jason HIRSCHHORN: O const - sa pantay. 1013 00:49:02,720 --> 00:49:04,275 Kaya mo sinasabi na lang isang global variable? 1014 00:49:04,275 --> 00:49:04,990 >> MAG-AARAL: Oo. 1015 00:49:04,990 --> 00:49:08,670 >> Jason HIRSCHHORN: Kaya stylistically, walang kinakailangang isa pakanan 1016 00:49:08,670 --> 00:49:12,050 sagutin, ngunit pareho ng mga ito ay mas mahusay na kaysa lamang ibinabato ang mga random 1017 00:49:12,050 --> 00:49:12,960 mga numero sa kabuuan ng iyong code. 1018 00:49:12,960 --> 00:49:14,650 Tinatawag namin ang mga ito magic numero. 1019 00:49:14,650 --> 00:49:16,450 Kapag tumingin ako sa iyong code o kapag kahit sino ay pagbabasa sa pamamagitan nito, sila ay 1020 00:49:16,450 --> 00:49:18,790 ayaw lamang ang mga random na numero na hindi magkaroon ng kahulugan. 1021 00:49:18,790 --> 00:49:22,420 Kahit na ang bilang 26, na sa pangkalahatan ay ang bilang ng mga titik sa alpabeto, 1022 00:49:22,420 --> 00:49:28,870 ito ay mas mahusay na upang tukuyin ang alpabeto up tuktok at i-save ang numero sa 26 na string, 1023 00:49:28,870 --> 00:49:29,550 kung na saysay. 1024 00:49:29,550 --> 00:49:33,210 >> O sa problema magtakda ng isang, sa halip na - muli, wala kaming makipag-usap tungkol sa ito sa 1025 00:49:33,210 --> 00:49:37,020 ang oras, ngunit sa halip na lamang ang ibinabato sa lahat ng lugar 25 o 10, maaari mong 1026 00:49:37,020 --> 00:49:41,860 i-save ang numero ng 25 bilang Quarter o 10 bilang Magagamit ng lahat, at na ginagawang mas madali para sa 1027 00:49:41,860 --> 00:49:44,140 kung sinuman ang pagbabasa sa pamamagitan ng iyong code sa maunawaan kung bakit pinili mo ang numerong iyon. 1028 00:49:44,140 --> 00:49:46,540 At din para sa iyo, kung sakaling nais upang i-update ang iyong code, ito ay ginagawang isang bit 1029 00:49:46,540 --> 00:49:47,290 mas matatag na. 1030 00:49:47,290 --> 00:49:48,070 Oo? 1031 00:49:48,070 --> 00:49:50,830 >> MAG-AARAL: ba ang code na ito din ng pagpunta upang maging magagamit para sa amin pagkatapos? 1032 00:49:50,830 --> 00:49:52,453 >> Jason HIRSCHHORN: Lahat ng mga code na namin ang nakasulat na sama-sama ay 1033 00:49:52,453 --> 00:49:54,620 pagpunta sa mai-email sa iyo guys at magagamit. 1034 00:49:54,620 --> 00:49:55,740 Oo. 1035 00:49:55,740 --> 00:49:58,040 Kaya tanungin ang user para sa limang mga pangalan. 1036 00:49:58,040 --> 00:50:00,280 Sapalarang pipili at mag-print isa sa mga pangalan. 1037 00:50:00,280 --> 00:50:00,940 Sino ginawa ang linyang ito? 1038 00:50:00,940 --> 00:50:02,230 Ito ang trickiest linya dito. 1039 00:50:02,230 --> 00:50:02,450 Paumanhin, Tom. 1040 00:50:02,450 --> 00:50:05,510 Ikaw ginawang isang talagang magandang trabaho, ngunit ang ito ay isang bit trickier. 1041 00:50:05,510 --> 00:50:06,600 Marcus, sige. 1042 00:50:06,600 --> 00:50:10,180 >> MAG-AARAL: Well una, ikaw ay pagpunta sa kailangang isama stdlib.h at time.h. 1043 00:50:10,180 --> 00:50:13,200 >> Jason HIRSCHHORN: Kaya mo sinasabi na sa itaas ang, kasama ang dalawang higit pang mga aklatan. 1044 00:50:13,200 --> 00:50:18,830 Gusto mo sa akin upang isama ang S-T-D-L-I-B tuldok H, Standard Library, at kung ano 1045 00:50:18,830 --> 00:50:19,760 ay ang iba pang isa? 1046 00:50:19,760 --> 00:50:21,010 >> MAG-AARAL: Time.h. 1047 00:50:21,010 --> 00:50:25,130 1048 00:50:25,130 --> 00:50:27,840 >> Jason HIRSCHHORN: # include time.h. 1049 00:50:27,840 --> 00:50:29,470 Kaya ang mga ito ay dalawang higit pang mga library. 1050 00:50:29,470 --> 00:50:31,790 Ipinapalagay ko na namin ngayon ng pagpunta sa gumagamit mga function na ay nakapaloob sa mga 1051 00:50:31,790 --> 00:50:34,240 dalawang, na ang dahilan kung bakit mo kailangan upang isama ang mga ito? 1052 00:50:34,240 --> 00:50:36,980 >> MAG-AARAL: So pagkatapos, una ikaw ay pagpunta sa nais na magsulat srand. 1053 00:50:36,980 --> 00:50:38,770 >> Jason HIRSCHHORN: Srand. 1054 00:50:38,770 --> 00:50:42,070 >> MAG-AARAL: (oras (0) 1055 00:50:42,070 --> 00:50:42,700 >> Jason HIRSCHHORN: Paumanhin. 1056 00:50:42,700 --> 00:50:45,580 Srand (oras ( 1057 00:50:45,580 --> 00:50:46,890 >> MAG-AARAL: 0. 1058 00:50:46,890 --> 00:50:47,230 >> Jason HIRSCHHORN: 0. 1059 00:50:47,230 --> 00:50:49,990 >> MAG-AARAL:)), tuldok-kuwit. 1060 00:50:49,990 --> 00:50:51,320 >> Jason HIRSCHHORN: Isa pang closed paren? 1061 00:50:51,320 --> 00:50:51,650 Tuldok-kuwit. 1062 00:50:51,650 --> 00:50:53,610 Pupuntahan ko lang palitan ang iyong zero na may null. 1063 00:50:53,610 --> 00:50:55,980 Makikita ito gawin tungkol sa mga parehong bagay, ngunit Sa pangkalahatan, makikita mo ang walang bisa, na 1064 00:50:55,980 --> 00:50:57,720 magpapadala kami makipag-usap tungkol sa linya sa isang segundo. 1065 00:50:57,720 --> 00:50:58,580 >> MAG-AARAL: Stylistically mas mahusay? 1066 00:50:58,580 --> 00:51:02,240 >> Jason HIRSCHHORN: Sa pangkalahatan, ang mga tao karapatan null, ngunit parehong bagay. 1067 00:51:02,240 --> 00:51:05,010 >> MAG-AARAL: At pagkatapos int pangalan. 1068 00:51:05,010 --> 00:51:06,490 >> Jason HIRSCHHORN: int pangalan. 1069 00:51:06,490 --> 00:51:07,280 >> MAG-AARAL: = 1070 00:51:07,280 --> 00:51:07,780 >> Jason HIRSCHHORN: = 1071 00:51:07,780 --> 00:51:08,580 >> MAG-AARAL: Rand. 1072 00:51:08,580 --> 00:51:09,340 >> Jason HIRSCHHORN: Rand. 1073 00:51:09,340 --> 00:51:10,420 >> MAG-AARAL: () 1074 00:51:10,420 --> 00:51:11,500 >> Jason HIRSCHHORN: () 1075 00:51:11,500 --> 00:51:12,850 >> MAG-AARAL: Modulo numero. 1076 00:51:12,850 --> 00:51:14,310 >> Jason HIRSCHHORN: Ano ang modulo? 1077 00:51:14,310 --> 00:51:14,970 Ang mga character na? 1078 00:51:14,970 --> 00:51:16,000 Ang porsiyento ng character? 1079 00:51:16,000 --> 00:51:17,790 >> MAG-AARAL: Porsyento ng character. 1080 00:51:17,790 --> 00:51:19,521 Modulo NUMBER na iyong tinukoy up tuktok. 1081 00:51:19,521 --> 00:51:22,030 >> Jason HIRSCHHORN: Modulo NUMBER. 1082 00:51:22,030 --> 00:51:24,052 >> MAG-AARAL: At pagkatapos ay tuldok-kuwit. 1083 00:51:24,052 --> 00:51:24,660 >> Jason HIRSCHHORN: tuldok-kuwit. 1084 00:51:24,660 --> 00:51:27,820 >> MAG-AARAL: At pagkatapos ay bagong linya, printf. 1085 00:51:27,820 --> 00:51:28,460 >> Jason HIRSCHHORN: Printf. 1086 00:51:28,460 --> 00:51:29,730 >> MAG-AARAL: ( 1087 00:51:29,730 --> 00:51:30,620 >> Jason HIRSCHHORN: ( 1088 00:51:30,620 --> 00:51:31,650 >> MAG-AARAL: " 1089 00:51:31,650 --> 00:51:32,630 >> Jason HIRSCHHORN: " 1090 00:51:32,630 --> 00:51:35,320 >> MAG-AARAL:% s / n 1091 00:51:35,320 --> 00:51:37,220 >> Jason HIRSCHHORN:% s / n 1092 00:51:37,220 --> 00:51:38,420 >> MAG-AARAL: " 1093 00:51:38,420 --> 00:51:40,640 >> Jason HIRSCHHORN:% s / n " 1094 00:51:40,640 --> 00:51:43,540 >> MAG-AARAL: Comma, mga pangalan ng puwang. 1095 00:51:43,540 --> 00:51:44,350 >> Jason HIRSCHHORN: Space - 1096 00:51:44,350 --> 00:51:46,300 >> MAG-AARAL: Oh, hulaan ko, kung ano ay namin tumawag ito dito? 1097 00:51:46,300 --> 00:51:48,640 >> Jason HIRSCHHORN: namin tinatawag itong mga pangalan. 1098 00:51:48,640 --> 00:51:52,360 >> MAG-AARAL: Bukas bracket, pangalan. 1099 00:51:52,360 --> 00:51:55,090 >> Jason HIRSCHHORN: Bukas bracket, pangalan. 1100 00:51:55,090 --> 00:51:55,850 >> MAG-AARAL: Sarado bracket. 1101 00:51:55,850 --> 00:51:56,490 >> Jason HIRSCHHORN: Sarado bracket. 1102 00:51:56,490 --> 00:51:57,460 >> MAG-AARAL:) 1103 00:51:57,460 --> 00:51:58,800 >> Jason HIRSCHHORN:) 1104 00:51:58,800 --> 00:51:59,440 >> MAG-AARAL: tuldok-kuwit. 1105 00:51:59,440 --> 00:52:00,410 >> Jason HIRSCHHORN: tuldok-kuwit. 1106 00:52:00,410 --> 00:52:01,500 OK, sabihin i-save. 1107 00:52:01,500 --> 00:52:04,410 Sabihin gumawa ang code na ito. 1108 00:52:04,410 --> 00:52:06,365 Mga mag-aaral. 1109 00:52:06,365 --> 00:52:07,100 Natin patakbuhin ang code na ito. 1110 00:52:07,100 --> 00:52:08,480 Mga mag-aaral. 1111 00:52:08,480 --> 00:52:11,630 Hindi. / Mag-aaral. . / Mag-aaral. 1112 00:52:11,630 --> 00:52:12,870 Pangalan ng isa. 1113 00:52:12,870 --> 00:52:15,490 Susubukan naming sabihin David. 1114 00:52:15,490 --> 00:52:18,070 Pangalan ng dalawang, RJ. 1115 00:52:18,070 --> 00:52:20,561 Pangalan ng tatlo, Rob. 1116 00:52:20,561 --> 00:52:22,490 Pangalan apat, Lucas. 1117 00:52:22,490 --> 00:52:26,060 Pangalan ng limang, Joseph. 1118 00:52:26,060 --> 00:52:28,850 At pagkatapos ay ito prints out Joseph muli. 1119 00:52:28,850 --> 00:52:31,730 >> Kaya hayaan mo akong tumakbo ito muli. 1120 00:52:31,730 --> 00:52:32,460 Hayaan akong gawin ang parehong pangalan. 1121 00:52:32,460 --> 00:52:39,760 David, RJ, Rob, Lucas, Joseph. 1122 00:52:39,760 --> 00:52:41,070 At ito ay nagbigay sa akin David oras na ito. 1123 00:52:41,070 --> 00:52:43,030 Kaya ko ginawa ang parehong bagay, ngunit ito ay nagbigay sa akin ang iba't ibang mga bagay, at iyon 1124 00:52:43,030 --> 00:52:45,410 dahil, siyempre, hinihiling namin sa para sa isang random na pangalan. 1125 00:52:45,410 --> 00:52:50,950 Kaya sa tingin ko, batay off ng akin libot sa buong room, na karamihan ng mga tao 1126 00:52:50,950 --> 00:52:55,960 marahil ang nakuha unang kanan bahagi, set up na array at pagkatapos ay sa pagkuha ng 1127 00:52:55,960 --> 00:52:56,430 lahat ang mga pangalan. 1128 00:52:56,430 --> 00:52:59,320 Ako pinag-uusapan ng mga linya 10 sa pamamagitan ng 16. 1129 00:52:59,320 --> 00:53:02,150 Ngunit linya 18 sa pamamagitan ng 21 ay marahil ilang mga bagay na hindi mo pa nakita bago, 1130 00:53:02,150 --> 00:53:03,750 kaya natin pumunta sa pamamagitan ng mga. 1131 00:53:03,750 --> 00:53:10,390 >> Ang line, srand oras null ay totoo - 1132 00:53:10,390 --> 00:53:14,300 Paumanhin, sabihin laktawan down na isang linya, ribete (). 1133 00:53:14,300 --> 00:53:17,320 Na nagbibigay sa iyo ng random na numero, isang random na integer. 1134 00:53:17,320 --> 00:53:19,630 At kung ikaw pindutin ribete tao, na ng maraming ng ginawa mo - 1135 00:53:19,630 --> 00:53:21,530 M-A-N espasyo R-A-N-D - 1136 00:53:21,530 --> 00:53:25,910 sa terminal ganito, M-A-N espasyo R-A-N-D, pindutin ang Enter. 1137 00:53:25,910 --> 00:53:30,490 Gusto mo magtagpo ang manu-manong at Gusto magagawang basahin ang mga ribete 1138 00:53:30,490 --> 00:53:34,260 utos output num palsipikado random bytes pagkatapos seeding ang random na numero 1139 00:53:34,260 --> 00:53:35,510 generator sabay-sabay. 1140 00:53:35,510 --> 00:53:38,450 1141 00:53:38,450 --> 00:53:39,700 >> Kaya na ang paglalarawan. 1142 00:53:39,700 --> 00:53:43,860 1143 00:53:43,860 --> 00:53:46,800 Iyon ay kung ano ang ibig ribete, ay nagbibigay sa ka ng random na numero kapag 1144 00:53:46,800 --> 00:53:48,610 tawagan mo na function. 1145 00:53:48,610 --> 00:53:53,140 Sa kasamaang-palad, ito ay hindi talaga random dahil kung ikaw lang tawagan random 1146 00:53:53,140 --> 00:53:55,970 nang hindi nakakakuha ito ng ilang mga buto, ang ilang mga panimulang punto, ito ay palaging pumili 1147 00:53:55,970 --> 00:53:59,100 ang parehong isa at ito ay gumagamit ng isang formula upang matukoy ang susunod na isa. 1148 00:53:59,100 --> 00:54:01,730 Kaya kung tawagan ka ribete, bibigyan ito lamang magbibigay sa iyo ng parehong bagay. 1149 00:54:01,730 --> 00:54:02,610 Magiging napaka-predictable. 1150 00:54:02,610 --> 00:54:03,790 Ito talaga ay hindi random. 1151 00:54:03,790 --> 00:54:09,610 >> Kaya kung ano ang kailangan naming gawin, per ni Marcus tagubilin sa akin, ay binhi ribete 1152 00:54:09,610 --> 00:54:13,810 may mga ibang bagay, na kung saan ay kung ano ang ang srand function na ginagawa nito. 1153 00:54:13,810 --> 00:54:18,055 Ito buto ribete may isang bagay ng kaunti pang random kaysa sa parehong bagay, at 1154 00:54:18,055 --> 00:54:23,360 siya seeding ito sa oras null, na ay, sa pamamagitan lamang ng convention, ang kasalukuyang 1155 00:54:23,360 --> 00:54:24,650 oras sa segundo. 1156 00:54:24,650 --> 00:54:29,790 >> Kaya ka ipagpalagay na ang lahat ng tao ay hindi pagpunta sa patakbuhin ang code na ito sa eksaktong 1157 00:54:29,790 --> 00:54:33,620 parehong segundo, kaya ito ay isang ligtas na taya oras null ay pagpunta sa maging iba 1158 00:54:33,620 --> 00:54:35,250 sa tuwing ang code na ito ay tumakbo. 1159 00:54:35,250 --> 00:54:39,020 Ligtas taya na kaya, srand kalooban binhi ribete isang bagay na may iba't ibang mga araw- 1160 00:54:39,020 --> 00:54:39,990 solong oras. 1161 00:54:39,990 --> 00:54:44,110 Kaya sa pamamagitan ng convention, kapag ginagawa namin gusto ang isang random na numero, isulat namin ang linyang ito, 1162 00:54:44,110 --> 00:54:50,540 srand oras null, upang bigyan kami ng isang mas higit pang mga random na buto, at pagkatapos ay namin tumakbo 1163 00:54:50,540 --> 00:54:52,080 ribete, na kung saan ay nagbibigay sa amin ng random na numero. 1164 00:54:52,080 --> 00:54:52,840 Oo? 1165 00:54:52,840 --> 00:54:54,140 >> MAG-AARAL: Maaari mong sabihin kung ano ibig sabihin sa iyo sa pamamagitan ng buto? 1166 00:54:54,140 --> 00:54:55,630 >> Jason HIRSCHHORN: Buto ng sa - 1167 00:54:55,630 --> 00:54:58,730 kaya ribete ay pagpunta upang pumili ng ilang mga numero at ito ay pagpunta upang gamitin ang ilang 1168 00:54:58,730 --> 00:55:00,060 formula upang makakuha ng doon. 1169 00:55:00,060 --> 00:55:03,250 Kaya ito ay pagpunta sa magsimula sa isang bagay at pagkatapos ay i-on ito sa isang bagay batay 1170 00:55:03,250 --> 00:55:03,890 off na ng formula. 1171 00:55:03,890 --> 00:55:06,090 Kung palagi mong bigyan ito ang parehong bagay, palagi itong pagpunta sa i-on ito sa 1172 00:55:06,090 --> 00:55:06,790 parehong bagay. 1173 00:55:06,790 --> 00:55:08,450 Kaya na ang unang bagay na sa iyo bigyan ito ay ang binhi. 1174 00:55:08,450 --> 00:55:10,880 Kaya gusto mong bigyan ito ng isang bagay iba't ibang upang simulan out kasama, at kaya ito 1175 00:55:10,880 --> 00:55:12,610 ay i-on ito sa isang bagay na naiiba. 1176 00:55:12,610 --> 00:55:15,840 >> At pagkatapos ay sa wakas, line 20, % ito ay tinatawag na 1177 00:55:15,840 --> 00:55:17,470 modulo, at iyon ay nakakalito. 1178 00:55:17,470 --> 00:55:19,850 Iyan ay isang bagay na ay isang maliit na bit iba't ibang mga dito na hindi mo talaga 1179 00:55:19,850 --> 00:55:22,240 mayroon sa tunay na buhay matematika. 1180 00:55:22,240 --> 00:55:27,430 Ngunit mahalagang, kapag kumuha ka ng isang higanteng number at hatiin mo sa C, kung ano 1181 00:55:27,430 --> 00:55:29,482 ang mangyayari sa ang natitira? 1182 00:55:29,482 --> 00:55:30,510 >> MAG-AARAL: Ito ay makakakuha ng pinutol. 1183 00:55:30,510 --> 00:55:31,220 >> Jason HIRSCHHORN: Ito ay makakakuha ng pinutol. 1184 00:55:31,220 --> 00:55:35,200 Kaya 20 na hinati sa 3 ay kung ano? 1185 00:55:35,200 --> 00:55:37,950 Ano ang ginagawa na bumalik sa mo, 20 na hinati sa 3. 1186 00:55:37,950 --> 00:55:39,260 Paumanhin, 10 na hinati sa 3. 1187 00:55:39,260 --> 00:55:41,062 Ano ang ginagawa na bumalik sa iyo? 1188 00:55:41,062 --> 00:55:41,540 >> MAG-AARAL: [hindi marinig]. 1189 00:55:41,540 --> 00:55:45,170 >> Jason HIRSCHHORN: 10 hinati sa 3 lamang return 3, hindi 3 1 natitira. 1190 00:55:45,170 --> 00:55:51,490 Kaya kung ano ang 10 modulo 3 returns lamang ang natitira, 1. 1191 00:55:51,490 --> 00:55:54,020 Kaya kung nais mong malaman kung ano ang 10 na hinati 3 sa pamamagitan ng aktwal na noon ay, ng ginagawa mo 1192 00:55:54,020 --> 00:55:58,950 gawin 10 na hinati sa 3, gusto mo makuha ang iyong mga 3, at pagkatapos ay gusto mong gawin 10 modulo 3, at 1193 00:55:58,950 --> 00:55:59,860 nais mong makakuha ng isang 1. 1194 00:55:59,860 --> 00:56:04,630 Kaya gusto mo mapagtanto na 10 na hinati sa pamamagitan ng 3 ay 3, 1 natitira. 1195 00:56:04,630 --> 00:56:07,990 >> At sa linyang ito, ribete maaaring maging anumang integer, mahalagang. 1196 00:56:07,990 --> 00:56:12,660 Kaya modulo ay nagsasabi, hatiin ito sa pamamagitan ng numero, na kung saan ay sa kasong ito 5. 1197 00:56:12,660 --> 00:56:16,420 At kung sakaling hatiin sa pamamagitan ng isang numero, ang integer laging may na maging mas mababa sa 1198 00:56:16,420 --> 00:56:17,590 na numero. 1199 00:56:17,590 --> 00:56:22,200 Kaya kung nag-divide sa pamamagitan ng isang numero 5, ang natitira ay palaging pagpunta sa maging 1200 00:56:22,200 --> 00:56:23,396 zero sa pamamagitan ng apat. 1201 00:56:23,396 --> 00:56:25,520 Iyon lang kung paano matematika ay gumagana out. 1202 00:56:25,520 --> 00:56:29,700 >> Kaya ang isang malaking bilang moduloed sa pamamagitan ng isang mas maliit na numero ay laging nagbabalik 1203 00:56:29,700 --> 00:56:33,530 natitira at ay palaging bumalik sa ilang bilang na mas mababa kaysa sa numero mo 1204 00:56:33,530 --> 00:56:34,693 hinati. 1205 00:56:34,693 --> 00:56:37,920 Ba ang sinuman may anumang mga katanungan tungkol sa modulo, dahil ito ay dumating sa napaka, 1206 00:56:37,920 --> 00:56:41,450 napaka-madaling-magamit na, kaya gusto kong tiyakin Naiintindihan ng lahat ng tao ito? 1207 00:56:41,450 --> 00:56:43,710 Cool. 1208 00:56:43,710 --> 00:56:46,000 At nakita natin ang programang ito nagtrabaho. 1209 00:56:46,000 --> 00:56:50,280 OK, gumagalaw sa. 1210 00:56:50,280 --> 00:56:52,970 >> Kaya susunod, kami ay pagpunta sa pumunta sa pag-andar, at kami ay pagpunta sa pumunta 1211 00:56:52,970 --> 00:56:55,580 sa pamamagitan ng ang natitirang bahagi ng mga bagay-bagay na ito marikit mabilis dahil gusto ko upang makakuha ng sa 1212 00:56:55,580 --> 00:56:57,150 linya ng command argumento. 1213 00:56:57,150 --> 00:57:00,330 Kaya function ay mahalagang, bilang na iyong nakita, itim na kahon. 1214 00:57:00,330 --> 00:57:04,290 Sila ay gumawa ng mga bagay na tinatawag na sa mga parameter, ginagawa nila ang isang bagay sa kanila, alinman sa 1215 00:57:04,290 --> 00:57:06,990 baguhin ang mga ito o lumikha ng ilang mga epekto, at sa wakas, sila ay dumura 1216 00:57:06,990 --> 00:57:09,530 isang bagay out, na kung saan ay ang return value. 1217 00:57:09,530 --> 00:57:12,495 Maaari sinuman ninyo akong bigyan ng isa dahilan bakit gusto naming gamitin ang function? 1218 00:57:12,495 --> 00:57:15,870 1219 00:57:15,870 --> 00:57:16,360 Kahit sino? 1220 00:57:16,360 --> 00:57:19,360 Isang dahilan kung bakit gusto naming gamitin ang function? 1221 00:57:19,360 --> 00:57:21,280 Sinuman? 1222 00:57:21,280 --> 00:57:22,700 Nakita ko ng dalawang kamay. 1223 00:57:22,700 --> 00:57:23,590 Ano ang isang magandang dahilan? 1224 00:57:23,590 --> 00:57:24,930 Marcus? 1225 00:57:24,930 --> 00:57:27,730 >> MAG-AARAL: Kung mayroon kang tumawag sa parehong tipak ng code nang maraming beses. 1226 00:57:27,730 --> 00:57:29,150 >> Jason HIRSCHHORN: OK, kung kailangan mo upang tawagan ang parehong tipak ng 1227 00:57:29,150 --> 00:57:30,040 Code ng maraming beses. 1228 00:57:30,040 --> 00:57:32,470 Jeff, ay mayroon ka ng ibang dahilan? 1229 00:57:32,470 --> 00:57:34,230 >> MAG-AARAL: Para lang na maaari mong mas mababa code. 1230 00:57:34,230 --> 00:57:35,070 >> Jason HIRSCHHORN: Maaari mong code mas mababa. 1231 00:57:35,070 --> 00:57:35,320 I-right. 1232 00:57:35,320 --> 00:57:38,720 Kung gusto mong gawin ang isang bagay ng maraming - 1233 00:57:38,720 --> 00:57:41,720 sa nakaraang code, maaari ba akong magkaroon ng nakasulat makakuha ng string limang beses, ngunit isang 1234 00:57:41,720 --> 00:57:44,620 para sa loop na ginagawang tumingin nicer at mayroon kang magsulat ng mas kaunting code. 1235 00:57:44,620 --> 00:57:45,760 Function ay isang katulad na ideya. 1236 00:57:45,760 --> 00:57:48,720 Kung gusto kong gawin ang parehong bagay ng maraming, ilipat ito sa isang function at tumawag na 1237 00:57:48,720 --> 00:57:49,610 gumana sa bawat oras. 1238 00:57:49,610 --> 00:57:51,190 Iyon ay gawin na bagay para sa iyo. 1239 00:57:51,190 --> 00:57:53,740 Iyon ay isang magandang dahilan upang gamitin ang function. 1240 00:57:53,740 --> 00:57:54,870 >> Kaya anatomya ng isang function. 1241 00:57:54,870 --> 00:57:56,670 Ang isang function na kalooban sa pangkalahatan ganito ang hitsura. 1242 00:57:56,670 --> 00:57:59,280 Makikita itong magsimula sa ang uri return, pagkatapos ay makakakuha ka ng mga pangalan. 1243 00:57:59,280 --> 00:58:02,935 Makikita tumagal ang argumento, kung hindi man Kilala bilang ng mga parameter, at sa loob ng 1244 00:58:02,935 --> 00:58:05,290 mga kulot tirante, bibigyan ka isulat ang iyong code. 1245 00:58:05,290 --> 00:58:07,150 >> Nakakita kami ng isang function na ng maraming. 1246 00:58:07,150 --> 00:58:09,160 Iyon ang pangunahing. 1247 00:58:09,160 --> 00:58:13,820 Narito ang pangunahing superimposed sa na anatomya ako nagkaroon ng mas maaga. 1248 00:58:13,820 --> 00:58:15,525 Ano ang int dito mismo maging mahalaga? 1249 00:58:15,525 --> 00:58:18,534 1250 00:58:18,534 --> 00:58:19,450 Ano ang ibig sabihin ng int? 1251 00:58:19,450 --> 00:58:21,026 Kapag sumulat ako int pangunahing (walang bisa). 1252 00:58:21,026 --> 00:58:21,740 >> MAG-AARAL: Return uri? 1253 00:58:21,740 --> 00:58:22,350 >> Jason HIRSCHHORN: Paumanhin? 1254 00:58:22,350 --> 00:58:23,170 >> MAG-AARAL: Ang return type. 1255 00:58:23,170 --> 00:58:24,820 >> Jason HIRSCHHORN: int ay ang bumalik uri, eksakto kanan. 1256 00:58:24,820 --> 00:58:25,870 Main nagbabalik ng isang int. 1257 00:58:25,870 --> 00:58:28,678 Ano ang main? 1258 00:58:28,678 --> 00:58:29,510 >> MAG-AARAL: Ang function na pangalan. 1259 00:58:29,510 --> 00:58:30,800 >> Jason HIRSCHHORN: Main ay ang pangalan ng function. 1260 00:58:30,800 --> 00:58:31,510 Mismong karapatan. 1261 00:58:31,510 --> 00:58:31,840 At walang silbi? 1262 00:58:31,840 --> 00:58:33,190 Ano ay walang bisa sa loob ng panaklong? 1263 00:58:33,190 --> 00:58:36,650 1264 00:58:36,650 --> 00:58:42,030 >> MAG-AARAL: Hindi ito tumagal anumang mga panlabas na halaga. 1265 00:58:42,030 --> 00:58:42,930 >> Jason HIRSCHHORN: Kaya walang bisa - 1266 00:58:42,930 --> 00:58:43,240 karapatan. 1267 00:58:43,240 --> 00:58:45,940 Sa loob ng panaklong, inilalagay namin ang mga parameter o ang mga argumento ng 1268 00:58:45,940 --> 00:58:48,480 function na tumatagal, kung ano ang napupunta sa loob ng itim na kahon. 1269 00:58:48,480 --> 00:58:50,760 Kapag sumulat ka walang silbi, na iyong sinasabi ito ay tumatagal wala in 1270 00:58:50,760 --> 00:58:53,802 Kaya int pangunahing nangangahulugang walang bisa pangunahing ni hindi pagsasagawa ng anumang bagay in 1271 00:58:53,802 --> 00:58:56,950 >> Sa loob ng kulot tirante, mayroon kaming ilang mga code, at pagkatapos ay namin makita sa dulo 1272 00:58:56,950 --> 00:58:57,640 bumalik sa zero. 1273 00:58:57,640 --> 00:59:01,220 Ano ang return zero ibig sabihin nito? 1274 00:59:01,220 --> 00:59:02,470 Well, usapan natin ang tungkol sa mga uri ng return. 1275 00:59:02,470 --> 00:59:03,780 Main kailangang bumalik sa isang int. 1276 00:59:03,780 --> 00:59:04,960 Iyon ay kung ano ang linya na ito ang ipinapakita. 1277 00:59:04,960 --> 00:59:07,330 Ito ay nagbabalik ng isang int, zero. 1278 00:59:07,330 --> 00:59:13,600 >> Siyempre, hindi pa namin nakikita na ng maraming dahil sa programming ang ginagawa namin sa 1279 00:59:13,600 --> 00:59:16,070 machine ang ginagawa namin at ang compiler ginagamit namin ngayong mga araw na ito, mo 1280 00:59:16,070 --> 00:59:16,990 hindi na kailangan na linya. 1281 00:59:16,990 --> 00:59:20,070 Main ay espesyal na sapat na ito nakakaalam kapag naabot mo ang dulo ng pangunahing, lamang 1282 00:59:20,070 --> 00:59:22,060 bumalik zero kung ang lahat ng bagay nagpunta rin. 1283 00:59:22,060 --> 00:59:25,560 Sa katunayan, kung ang isang bagay ay hindi pumunta na rin, main ay madalas na bumalik sa ibang 1284 00:59:25,560 --> 00:59:28,500 bilang signifying na may isang bagay nangyaring mali sa iyong programa. 1285 00:59:28,500 --> 00:59:32,470 >> Kaya sa pangkalahatan kapag nakita mo ang code, mo huwag magsulat return zero, ngunit ito ay magandang 1286 00:59:32,470 --> 00:59:34,770 upang malaman na ito ang nangyayari sa likod ng eksena dahil kailanman isulat mo 1287 00:59:34,770 --> 00:59:36,370 isa pang uri ng pag-andar, ikaw ay pagpunta sa kailangan upang 1288 00:59:36,370 --> 00:59:37,400 magsama ng isang return line. 1289 00:59:37,400 --> 00:59:39,710 Kung sinasabi na pupuntahan ko bumalik sa isang int, kailangan mong 1290 00:59:39,710 --> 00:59:41,250 sumulat magbalik ng bagay. 1291 00:59:41,250 --> 00:59:45,160 Kung sinasabi mo walang bisa hanggang dito sa simula, walang bisa pangunahing walang silbi, para sa 1292 00:59:45,160 --> 00:59:48,670 Halimbawa, pagkatapos ay hindi ito bumabalik kahit ano - walang silbi ang ibig sabihin wala - 1293 00:59:48,670 --> 00:59:50,320 kaya hindi mo na kailangan na return line. 1294 00:59:50,320 --> 00:59:53,610 Ngunit mo kailanman isulat ang isang bagay na hindi walang bisa para sa uri ng return, kailangan mong 1295 00:59:53,610 --> 00:59:55,950 isang linya na nagsasabing balik at ka kailangang maglagay ng isang bagay doon 1296 00:59:55,950 --> 00:59:57,650 na tumutugma sa uri. 1297 00:59:57,650 --> 00:59:58,900 Ang anumang mga katanungan tungkol sa na? 1298 00:59:58,900 --> 01:00:03,110 1299 01:00:03,110 --> 01:00:04,680 Sweet. 1300 01:00:04,680 --> 01:00:05,930 >> Saklaw. 1301 01:00:05,930 --> 01:00:07,360 Ito ay isang bagay na namin hinawakan sa pati na rin. 1302 01:00:07,360 --> 01:00:10,720 Ang bawat variable, pati na alam namin, ay may tiyak na saklaw, at iyon talaga 1303 01:00:10,720 --> 01:00:14,160 pakikipag-usap tungkol sa kung saan ang mga variable maaari o maaaring hindi na isinangguni. 1304 01:00:14,160 --> 01:00:16,310 At gusto ko upang sabihin kung ano ang mangyayari sa kulot tirante nananatili 1305 01:00:16,310 --> 01:00:18,000 sa loob ng kulot tirante. 1306 01:00:18,000 --> 01:00:21,490 Kaya halimbawa, kung tinitingnan namin ang code na ito, kami ng pagtukoy sa isang global variable 1307 01:00:21,490 --> 01:00:24,510 sa labas ng pangunahing, isang int, up dito sa itaas. 1308 01:00:24,510 --> 01:00:27,380 Kami ay pagtawag sa isa pang int sa loob ng isang pangunahing. 1309 01:00:27,380 --> 01:00:29,760 Mayroon kaming ilang mga mas kulot tirante, at kami ay pagtawag sa isa pang isang int. 1310 01:00:29,760 --> 01:00:31,690 >> Mayroon kaming tatlong ng sa code. 1311 01:00:31,690 --> 01:00:32,550 Ang mga ito ay hindi ang parehong bagay. 1312 01:00:32,550 --> 01:00:34,880 Lumikha ako ng tatlong natatanging mga variable. 1313 01:00:34,880 --> 01:00:39,370 Pagkatapos, sa loob ng mga panloob na kulot tirante, sasabihin ko isang = 4. 1314 01:00:39,370 --> 01:00:44,130 Aling ay isang na pinag-uusapan, ang unang isa, ang pangalawang isa, 1315 01:00:44,130 --> 01:00:47,045 o sa ikatlong isa? 1316 01:00:47,045 --> 01:00:47,920 >> MAG-AARAL: Ang ikatlong isa. 1317 01:00:47,920 --> 01:00:49,320 >> Jason HIRSCHHORN: Ito ay pakikipag-usap tungkol sa ikatlong isa. 1318 01:00:49,320 --> 01:00:52,850 Ang lahat ng mga ay isang aktwal na maaaring maging uusapang tungkol sa partikular na ito 1319 01:00:52,850 --> 01:00:58,660 Halimbawa sapagkat ang kanilang mga saklaw lahat napupunta sa mga pinakaloob kulot tirante. 1320 01:00:58,660 --> 01:01:02,360 Gayunpaman, kapag tumawag ka ng mga bagay na ang parehong pangalan, mayroong isang bagay na tinatawag na itinatago. 1321 01:01:02,360 --> 01:01:09,670 Kaya mo lamang makitungo sa o ayusin o gamitin ang pinakabagong mga variable, o ang isa 1322 01:01:09,670 --> 01:01:11,090 na pinakamalapit sa iyo. 1323 01:01:11,090 --> 01:01:14,760 Kaya sa loob dito, ang isang ikatlong ay na pinakamalapit sa na linya, isang = 4, kaya ito 1324 01:01:14,760 --> 01:01:16,550 nakakaapekto sa ikatlong isa. 1325 01:01:16,550 --> 01:01:19,890 At sa huling linya, isang = 2, na kung saan ay isang na pinag-uusapan, ang una, ikalawa, 1326 01:01:19,890 --> 01:01:20,805 o isang ikatlong? 1327 01:01:20,805 --> 01:01:22,530 >> MAG-AARAL: Ikalawa. 1328 01:01:22,530 --> 01:01:24,430 >> Jason HIRSCHHORN: Ito ay pakikipag-usap tungkol sa isang segundo. 1329 01:01:24,430 --> 01:01:27,970 Siyempre pa, ang isang ikatlong ay pinakamalapit sa ito sa code, ngunit sa ikatlong isang 1330 01:01:27,970 --> 01:01:30,200 Hindi umiiral sa labas mga kulot tirante. 1331 01:01:30,200 --> 01:01:32,650 Sa sandaling kang makakuha sa na closed kulot suhay, ito ay tulad ng ito ay nawala, 1332 01:01:32,650 --> 01:01:33,570 talaga. 1333 01:01:33,570 --> 01:01:36,150 Kaya ang tanging dalawang na iyong iniwan ay ang mga unang dalawang, at siyempre, ngayon 1334 01:01:36,150 --> 01:01:37,960 ito ay pinakamalapit sa ang pangalawang isa. 1335 01:01:37,960 --> 01:01:39,410 >> Kaya iyon, isang magandang bagay sa tandaan tungkol sa saklaw. 1336 01:01:39,410 --> 01:01:42,900 Halimbawa, ako sigurado na nakasalamuha mo ito sa isang gawin habang loop. 1337 01:01:42,900 --> 01:01:46,680 Kung initialize ng variable sa loob ang ko habang loop at pagkatapos mong subukan upang 1338 01:01:46,680 --> 01:01:50,360 itong ma-access sa labas, malamang na Nakakuha ng ilang babala tulad ng, ito 1339 01:01:50,360 --> 01:01:51,680 variable na ay hindi umiiral. 1340 01:01:51,680 --> 01:01:54,370 Iyon ay dahil sa ang ideya saklaw, na bagay lamang umiiral 1341 01:01:54,370 --> 01:01:55,320 sa loob ng mga kulot tirante. 1342 01:01:55,320 --> 01:01:59,320 Kulot tirante ay tulad ng isang higanteng yakapin na ka sa pagbibigay ng iyong code, ay isa pang 1343 01:01:59,320 --> 01:02:01,380 na paraan upang isipin ang tungkol dito. 1344 01:02:01,380 --> 01:02:05,280 >> Kaya ito ay isa pang function, isang bagay para sa iyo guys sa code, hellofunction.c. 1345 01:02:05,280 --> 01:02:08,240 Kami ay pagpunta upang laktawan na sa ngayon, ngunit ito ay isang bagay Hinihikayat ko sa iyo upang 1346 01:02:08,240 --> 01:02:09,740 magsanay sa inyong sarili. 1347 01:02:09,740 --> 01:02:12,510 Sumulat ng isang programa kung saan ang pangunahing tawag isa pang function na out ng mga Kopya ng 1348 01:02:12,510 --> 01:02:13,750 Pagbati sa user. 1349 01:02:13,750 --> 01:02:17,750 Lubos itong tumatagal kumusta mundo at abstracting na printf sa 1350 01:02:17,750 --> 01:02:18,680 isa pang function. 1351 01:02:18,680 --> 01:02:22,360 Ngunit hindi namin ang pagpunta sa gawin iyon sa ngayon dahil hindi namin magkaroon ng mas maraming oras 1352 01:02:22,360 --> 01:02:23,350 pakaliwa bilang Gusto ko ang gumusto. 1353 01:02:23,350 --> 01:02:26,250 >> Kaya function na deklarasyon. 1354 01:02:26,250 --> 01:02:28,080 Nasaksihan namin ito bago pati na rin. 1355 01:02:28,080 --> 01:02:31,180 Kung nais mong magsulat ng isa pang pag-andar, kailangan mong ipaalam sa computer ng alam at 1356 01:02:31,180 --> 01:02:32,600 pangunahing malaman na ito ay umiiral na. 1357 01:02:32,600 --> 01:02:37,140 Kaya kung ano kami ay sa itaas main, isulat namin ang return uri, ang pangalan, at ang 1358 01:02:37,140 --> 01:02:42,970 mga parameter, at pagkatapos ay pababa sa ibaba pangunahing, down na dito, namin talagang kopyahin na linya 1359 01:02:42,970 --> 01:02:45,080 at pagkatapos ay isulat ang aktwal na code. 1360 01:02:45,080 --> 01:02:50,990 Kaya sa ganitong paraan, kung tawagan mo ang function na sa main sa tuktok, pangunahing nakakaalam na 1361 01:02:50,990 --> 01:02:54,650 kumusta na, halimbawa, kung ako ay upang tumawag kumusta, at pagkatapos ay tinitingnan nito sa 1362 01:02:54,650 --> 01:02:56,710 pagpapatupad ang down sa ibaba. 1363 01:02:56,710 --> 01:02:59,680 Ano ang mangyayari kung hindi ko isama ito line up tuktok, walang bisa kumusta (walang bisa)? 1364 01:02:59,680 --> 01:03:03,820 1365 01:03:03,820 --> 01:03:06,560 >> Kung hindi ko isama ang linya na ito at pangunahing mga tawag kumusta, ako 1366 01:03:06,560 --> 01:03:07,640 pagpunta upang makakuha ng isang error. 1367 01:03:07,640 --> 01:03:10,090 Pupunta ako upang makakuha ng isang error na ito dahil ang tagatala ay hindi alam 1368 01:03:10,090 --> 01:03:13,070 bagay na ito ay umiiral na. 1369 01:03:13,070 --> 01:03:16,680 Ito ay katulad sa kung bakit namin # huwag isama cs50.h. 1370 01:03:16,680 --> 01:03:21,390 Ano ang mahalagang cs50.h ginagawa ay paglalagay makakuha ng string up doon. 1371 01:03:21,390 --> 01:03:23,120 Ito ay paglalagay makakuha int up doon. 1372 01:03:23,120 --> 01:03:26,570 Ito ay ilagay ang lahat ng mga function na modelo up bago pangunahing upang kapag 1373 01:03:26,570 --> 01:03:29,900 tawagan mo ang mga ito sa pangunahing, pangunahing nakakaalam na ang mga bagay na umiiral. 1374 01:03:29,900 --> 01:03:31,630 Iyon ay kung ano ang mga iyon. H file gawin. 1375 01:03:31,630 --> 01:03:33,850 At kaya kung ikaw ay pagpunta sa gawin ang iyong sariling function, na kailangan mong tiyakin 1376 01:03:33,850 --> 01:03:36,690 ilagay mo na prototype up doon. 1377 01:03:36,690 --> 01:03:38,380 Ang anumang mga katanungan tungkol sa ngayon? 1378 01:03:38,380 --> 01:03:41,630 1379 01:03:41,630 --> 01:03:42,490 >> Command line argumento. 1380 01:03:42,490 --> 01:03:44,780 Ito ay kung ano kami ay pagpunta upang tapusin sa, at pagkatapos sana ay bibigyan namin ng 1381 01:03:44,780 --> 01:03:46,180 lamirain sa ilang pset. 1382 01:03:46,180 --> 01:03:48,700 Hindi ko alam kung magagawa naming i-lamirain na sa dahil sa oras, ngunit 1383 01:03:48,700 --> 01:03:51,560 sa iyo guys kung sino dito, at kung ikaw guys nais upang sabihin pagkatapos para sa isang bit, namin 1384 01:03:51,560 --> 01:03:54,290 Maaari pumunta sa paglipas ng ito sa labas. 1385 01:03:54,290 --> 01:03:56,020 Ngunit kami ay pagpunta upang tapusin sa linya ng command argumento 1386 01:03:56,020 --> 01:03:58,510 para sa huling 15 minuto. 1387 01:03:58,510 --> 01:03:59,930 Kami gising, Michael? 1388 01:03:59,930 --> 01:04:01,180 Ikaw ay gising? 1389 01:04:01,180 --> 01:04:01,660 Magandang. 1390 01:04:01,660 --> 01:04:03,760 Hindi ko alam kung makatulog ka sa iyong mga mata sarado. 1391 01:04:03,760 --> 01:04:05,800 Mas nakakalito. 1392 01:04:05,800 --> 01:04:07,180 >> Command line argumento. 1393 01:04:07,180 --> 01:04:10,430 Iyon ang isang paraan upang pumasa sa impormasyon sa isang programa. 1394 01:04:10,430 --> 01:04:12,780 Sa paglaon, makikita namin makaharap ng iba. 1395 01:04:12,780 --> 01:04:15,600 Ngunit mahalagang, kami ay pagpunta sa itigil Sumusulat int pangunahing (walang bisa) kung gusto naming 1396 01:04:15,600 --> 01:04:16,720 tumagal ng ilang mga argumento command line. 1397 01:04:16,720 --> 01:04:19,850 Kami ay pagpunta sa sumulat ito bagay tinatawag int main (int argc, 1398 01:04:19,850 --> 01:04:22,430 string argv, bracket. 1399 01:04:22,430 --> 01:04:23,710 Iyon ay nakakalito. 1400 01:04:23,710 --> 01:04:26,070 Iyon ay isang pulutong ng mga titik na wala sa pantao Ingles, kaya kami ay pagpunta sa 1401 01:04:26,070 --> 01:04:27,680 unpack ang mga ito ngayon. 1402 01:04:27,680 --> 01:04:30,450 >> Argc nakatayo para sa argumento count - 1403 01:04:30,450 --> 01:04:32,600 at muli, ang lahat ng mga kalooban magiging available online - 1404 01:04:32,600 --> 01:04:34,280 at iyon ang bilang ng mga argumento. 1405 01:04:34,280 --> 01:04:37,940 Argv nakatayo para sa argumento vector, at iyon ay ang kanilang sarili na mga argumento. 1406 01:04:37,940 --> 01:04:38,830 Ito ay isang array ng mga string. 1407 01:04:38,830 --> 01:04:40,880 Talaga nakakita kami ng isang array ng mga string ng bago ngayon. 1408 01:04:40,880 --> 01:04:44,390 Nilikha namin ang isa sa mga huling programa namin ma-code. 1409 01:04:44,390 --> 01:04:45,720 >> Kaya dito ang isang halimbawa. 1410 01:04:45,720 --> 01:04:50,230 Isulat ko. / Ohai cs50 seksyon sa aking linya ng command. 1411 01:04:50,230 --> 01:04:54,090 Argc sa kasong ito ay katumbas ng 3. 1412 01:04:54,090 --> 01:05:01,170 Argv bracket 0 ay ohai, argv bracket 1 ay cs50, argv bracket 2 ay section. 1413 01:05:01,170 --> 01:05:05,160 Muli, argc ay ang bilang ng mga argumento, at sa paglalakbay mo up ng isang maliit na 1414 01:05:05,160 --> 01:05:08,710 bit, lagi naming bilangin sa pangalan ng function na bilang ang unang argumento. 1415 01:05:08,710 --> 01:05:12,350 Kaya sa kasong ito, mayroong tatlong argumento, ang pangalan ng function na 1416 01:05:12,350 --> 01:05:14,590 at pagkatapos ay ang dalawang na aking nai-type in 1417 01:05:14,590 --> 01:05:18,900 >> Susunod, kami ay pagpunta sa i-save ang mga argumento ang kanilang mga sarili sa argv. 1418 01:05:18,900 --> 01:05:22,690 At muli, tulad ng nakita natin dati, ginawa namin ito sa huling programa namin ma-code. 1419 01:05:22,690 --> 01:05:27,110 Maaari mong ilipat sa pamamagitan ng hanay ng mga argv at makakuha ng mga string. 1420 01:05:27,110 --> 01:05:28,830 Iyon ay mahalagang kung ano ang ginawa namin sa Sa dulo ng aming huling programa. 1421 01:05:28,830 --> 01:05:33,190 Namin kinuha ang isang random na pangalan at pagkatapos ay nagpunta sa mga pangalan ng kahit anong bracket at naka-print 1422 01:05:33,190 --> 01:05:34,580 out ang string na matatagpuan doon. 1423 01:05:34,580 --> 01:05:39,870 1424 01:05:39,870 --> 01:05:43,670 >> Sa tuktok ng lamang ang isang array, dahil string ang kanilang mga sarili ay ang array, bilang 1425 01:05:43,670 --> 01:05:46,320 uusapang tungkol sa, maaari kang magkaroon ng array ng array, na kung saan ay 1426 01:05:46,320 --> 01:05:48,530 talaga kung ano argv ay. 1427 01:05:48,530 --> 01:05:51,370 Ang isang paraan maaari mong isipin ang tungkol ito ang mga hanay at haligi. 1428 01:05:51,370 --> 01:05:54,750 Maaari kong gumuhit na ngayon. 1429 01:05:54,750 --> 01:05:57,370 Kaya argv - 1430 01:05:57,370 --> 01:05:58,630 na hindi binubura. 1431 01:05:58,630 --> 01:05:59,880 Sabihin gumuhit sa ilalim ohai. 1432 01:05:59,880 --> 01:06:09,320 1433 01:06:09,320 --> 01:06:12,490 >> Kaya kung ako ay nagsulat sa, ohai cs50 seksyon, Pupunta ako sa truncate 1434 01:06:12,490 --> 01:06:14,520 na seksyon para sa halimbawang ito. 1435 01:06:14,520 --> 01:06:29,026 Ngunit mahalagang, ang aking multi-dimensional array, ohai cs50, 1436 01:06:29,026 --> 01:06:32,200 kami ay pagpunta sa gawin sekta. 1437 01:06:32,200 --> 01:06:34,610 Kaya dito, maaari ko ma-access - 1438 01:06:34,610 --> 01:06:40,930 1439 01:06:40,930 --> 01:06:45,710 kung ko lang bigyan argv bilang isa - 1440 01:06:45,710 --> 01:06:46,390 ito ay mali. 1441 01:06:46,390 --> 01:06:49,020 Ano ang mali sa diagram na ito? 1442 01:06:49,020 --> 01:06:49,690 >> MAG-AARAL: Magsimula sa zero. 1443 01:06:49,690 --> 01:06:50,350 >> Jason HIRSCHHORN: dapat ito magsimula sa zero. 1444 01:06:50,350 --> 01:06:52,940 Ang dapat kong marahil ring i-rotate ito, ngunit dahil ko na iginuhit ito sa, ako 1445 01:06:52,940 --> 01:06:54,120 pagpunta sa iwanan ito sa doon para sa ngayon. 1446 01:06:54,120 --> 01:06:55,160 Ngunit ito ay nagsisimula sa zero. 1447 01:06:55,160 --> 01:06:56,410 Iyan ay karapatan. 1448 01:06:56,410 --> 01:06:58,980 1449 01:06:58,980 --> 01:07:00,120 Sorry kung ito ay maliit. 1450 01:07:00,120 --> 01:07:01,370 Maaari ka guys uri ng makita? 1451 01:07:01,370 --> 01:07:03,620 1452 01:07:03,620 --> 01:07:06,670 Kaya kung gagawin ko argv 0, bibigyan ko makakuha ng lahat ng ohai. 1453 01:07:06,670 --> 01:07:08,555 Kung gagawin ko argv 1, makikita ako makakakuha ng lahat ng cs50. 1454 01:07:08,555 --> 01:07:10,720 Kung gagawin ko argv 2, magagawa ko na ang lahat ng mga sekta. 1455 01:07:10,720 --> 01:07:13,370 >> Ngunit ngayon, tulad ng sinabi namin, string mga array kanilang mga sarili. 1456 01:07:13,370 --> 01:07:19,740 Kaya kung ano ang maaari kong gawin ay ang maaari kong ituring ito bilang isang multi-dimensional array, at ako 1457 01:07:19,740 --> 01:07:24,190 maaaring gawin ang isang bagay kasama ang mga linya ng argv 0, 0, na kung saan ay nagbibigay sa akin lamang ang 1458 01:07:24,190 --> 01:07:25,400 0 karakter. 1459 01:07:25,400 --> 01:07:28,760 Argv 0, 1, na kung saan ay nagbibigay sa akin lamang h. 1460 01:07:28,760 --> 01:07:33,960 Argv 1, 3, kung saan ay nagbibigay sa akin lamang 0 ito pababa dito sa cs50. 1461 01:07:33,960 --> 01:07:37,690 >> Kaya dahil string ang kanilang mga sarili ay array, kami ay paglalagay 1462 01:07:37,690 --> 01:07:38,540 na sa isa pang array. 1463 01:07:38,540 --> 01:07:42,850 Kami ngayon ay mayroon ng array array, at kami maaari index sa aming unang array at 1464 01:07:42,850 --> 01:07:44,840 pagkatapos ay i-index sa aming ikalawang array. 1465 01:07:44,840 --> 01:07:48,650 At tulad ng iyong inaasahan, ginagawa namin na sa pamamagitan lamang ng paglalagay ng mga dalawang - 1466 01:07:48,650 --> 01:07:51,760 ginagawa namin ang mga square bracket lamang sa tabi mismo ng isa't isa. 1467 01:07:51,760 --> 01:07:58,930 Kaya sa halimbawang ito, argv 1 ay cs50 at argv 1, 2, tulad ng sinabi namin, ay 5. 1468 01:07:58,930 --> 01:08:02,120 Ba ang sinuman may anumang mga katanungan tungkol sa multi-dimensional array? 1469 01:08:02,120 --> 01:08:05,090 1470 01:08:05,090 --> 01:08:06,380 Ikaw guys ang ginagawa ng mga kahanga-hangang. 1471 01:08:06,380 --> 01:08:07,750 Sweet. 1472 01:08:07,750 --> 01:08:11,980 >> Kaya kami ay may isa pang program dito mismo, at ito ay ang huling bagay kami 1473 01:08:11,980 --> 01:08:13,690 pagpunta sa gawin ngayon. 1474 01:08:13,690 --> 01:08:18,160 Kaya gusto ko sa iyo upang magsulat ng isang programa na tumatagal ng buong pangalan ng isang user, at dalawa lamang 1475 01:08:18,160 --> 01:08:21,649 dalawang linya ng command argumento, at sa wakas, mag-print ng pagbati sa 1476 01:08:21,649 --> 01:08:24,180 user na kasama ng kanilang unang pangalan. 1477 01:08:24,180 --> 01:08:27,800 Kaya bakit hindi mo tumagal ng tatlo o apat na minuto upang gawin ito, at pagkatapos ay ipagpapatuloy namin 1478 01:08:27,800 --> 01:08:29,870 sa paglipas ng ito bilang isang grupo, at pagkatapos ay gagamitin namin balutin? 1479 01:08:29,870 --> 01:09:44,189 1480 01:09:44,189 --> 01:09:48,084 >> At muli, dito, kapag sinabi naming maglaan ng buong pangalan ng user sa bawat ang paglalarawan 1481 01:09:48,084 --> 01:09:54,473 sa problemang ito, ito ay kailangang maging utos argumento line, hindi gumagamit makakuha ng string. 1482 01:09:54,473 --> 01:09:55,450 Oo, Marcus? 1483 01:09:55,450 --> 01:09:58,260 >> MAG-AARAL: Kaya kapag sinabi mong dalawang utos linya ng argumento, ay na bilang karagdagan sa 1484 01:09:58,260 --> 01:10:00,000 . ang / tumakbo, o - 1485 01:10:00,000 --> 01:10:02,980 >> Jason HIRSCHHORN: Magandang katanungan. 1486 01:10:02,980 --> 01:10:05,995 Mayroon ba, kabilang ang. / Run, tatlo linya ng command argumento. 1487 01:10:05,995 --> 01:10:08,550 1488 01:10:08,550 --> 01:10:11,320 O kabilang ang. / Personalized, sa kasong ito, dahil iyon ang 1489 01:10:11,320 --> 01:10:12,360 pangalan ng file na ito. 1490 01:10:12,360 --> 01:10:13,300 Kaya argc magiging tatlo. 1491 01:10:13,300 --> 01:10:19,480 Pero gusto ko lang dalawang argumento ibinigay sa programa. 1492 01:10:19,480 --> 01:10:20,400 Ang dapat kong tukuyin iyon. 1493 01:10:20,400 --> 01:10:23,380 Magtatagal ako gumawa ng pagbabagong iyon bago ko i-post mga ito at ipadala ang mga ito sa iyo guys. 1494 01:10:23,380 --> 01:10:32,747 1495 01:10:32,747 --> 01:10:34,740 >> MAG-AARAL: Paano kung ikaw May gitnang pangalan? 1496 01:10:34,740 --> 01:10:36,800 >> Jason HIRSCHHORN: Kung mayroon kang isang gitnang pangalan, ikaw ay out ka sana. 1497 01:10:36,800 --> 01:10:38,050 Sorry. 1498 01:10:38,050 --> 01:10:40,320 1499 01:10:40,320 --> 01:10:43,744 O kung ikaw lamang pumunta sa pamamagitan ng Shakira, ikaw din out ka sana. 1500 01:10:43,744 --> 01:10:55,672 1501 01:10:55,672 --> 01:10:56,425 Oo? 1502 01:10:56,425 --> 01:11:00,760 >> MAG-AARAL: Kaya kapag ang mga tao ay walang cs50.h, huwag nilang tukuyin argv 1503 01:11:00,760 --> 01:11:03,450 bilang pansamantalang trabaho star argv? 1504 01:11:03,450 --> 01:11:05,160 O kaya naman ay pa rin itong tinatawag na string argv? 1505 01:11:05,160 --> 01:11:07,430 >> Jason HIRSCHHORN: Oo. 1506 01:11:07,430 --> 01:11:10,480 Kaya string, muli, kami mask sa kung ano ang eksakto ang nangyayari doon. 1507 01:11:10,480 --> 01:11:14,040 Na pupuntahan ay unpacked siguro sa Miyerkules, ngunit sa lalong madaling panahon. 1508 01:11:14,040 --> 01:11:16,380 Ito ay tulad ng mga gulong pagsasanay. 1509 01:11:16,380 --> 01:11:18,370 Dahil totoo, ito ay ang parehong bagay. 1510 01:11:18,370 --> 01:11:37,040 1511 01:11:37,040 --> 01:11:42,560 >> Kaya sabihin tumagal ng isa pang minuto upang programa ito, at pagkatapos ay namin pumunta sa ibabaw 1512 01:11:42,560 --> 01:11:45,130 ito bilang isang grupo, at pagkatapos ay tulad ng sinabi ko, balutin. 1513 01:11:45,130 --> 01:11:47,770 At sa tingin ko ang mga ito ay pa rin ng dagdag na kendi, kaya ka guys ay dapat sana ay tumagal 1514 01:11:47,770 --> 01:11:49,790 na, o mangyaring gawin na. 1515 01:11:49,790 --> 01:12:20,380 1516 01:12:20,380 --> 01:12:22,560 >> Paumanhin kung ka pa rin ng pagsulat, ngunit gusto kong sumisid sa at kami 1517 01:12:22,560 --> 01:12:24,010 Maaari tapusin ito nang sama-sama. 1518 01:12:24,010 --> 01:12:30,470 Kaya isinulat ko in, # include cs50.h, # isama stdio.h. 1519 01:12:30,470 --> 01:12:33,970 int pangunahing (walang bisa), kulot suhay, kulot suhay, sa loob ng tatlong linya ng 1520 01:12:33,970 --> 01:12:38,760 pseudocode, tumagal ng buong pangalan ng isang user, at dalawa lamang dalawang linya ng command 1521 01:12:38,760 --> 01:12:42,670 argumento, mag-print ng pagbati sa user na kasama ng kanilang unang pangalan. 1522 01:12:42,670 --> 01:12:45,810 >> Kaya ang unang isa, tumagal buong pangalan ng isang user. 1523 01:12:45,810 --> 01:12:47,290 Sino ang maaaring makatulong sa akin tumagal buong pangalan ng isang user? 1524 01:12:47,290 --> 01:12:50,882 1525 01:12:50,882 --> 01:12:52,780 Paano ang aking gagawin na bahagi? 1526 01:12:52,780 --> 01:12:57,685 1527 01:12:57,685 --> 01:12:59,500 Ang ibig mo guys gawin iyon unang bahagi? 1528 01:12:59,500 --> 01:13:02,587 1529 01:13:02,587 --> 01:13:03,894 Dalhin ang buong pangalan ng isang user. 1530 01:13:03,894 --> 01:13:05,860 Well, para sa isa na command line argumento, ano ang dapat kong isulat? 1531 01:13:05,860 --> 01:13:09,624 Ano ang dapat kong baguhin ang tungkol sa ang aking mga pag-andar na pagpapahayag? 1532 01:13:09,624 --> 01:13:11,140 >> MAG-AARAL: Hindi mo gusto ito upang maging walang bisa na ngayon. 1533 01:13:11,140 --> 01:13:11,410 >> Jason HIRSCHHORN: Mismong. 1534 01:13:11,410 --> 01:13:12,385 Hindi ko gusto ito upang maging walang bisa. 1535 01:13:12,385 --> 01:13:13,630 Ano ang gagawin ko gusto ito upang ma-? 1536 01:13:13,630 --> 01:13:14,650 >> MAG-AARAL: int argc. 1537 01:13:14,650 --> 01:13:15,720 >> Jason HIRSCHHORN: int argc. 1538 01:13:15,720 --> 01:13:17,430 >> MAG-AARAL: String argv. 1539 01:13:17,430 --> 01:13:19,055 >> Jason HIRSCHHORN: String argv. 1540 01:13:19,055 --> 01:13:19,705 >> MAG-AARAL: Bracket, bracket. 1541 01:13:19,705 --> 01:13:20,070 >> Jason HIRSCHHORN: Bracket, bracket. 1542 01:13:20,070 --> 01:13:21,780 Iyan ay akmang-akma, at iyon talaga paano ako pupunta upang makakuha 1543 01:13:21,780 --> 01:13:22,820 buong pangalan ng isang user. 1544 01:13:22,820 --> 01:13:24,070 Ang mga ito ay pagpunta sa ilagay ito sa doon. 1545 01:13:24,070 --> 01:13:27,720 1546 01:13:27,720 --> 01:13:28,780 Kaya isa na tapos na. 1547 01:13:28,780 --> 01:13:30,780 Kaya ngayon Gusto kong dalawa at lamang dalawang linya ng command argumento. 1548 01:13:30,780 --> 01:13:35,065 Kaya Noah, kung ano ay isang paraan maaari ko suriin ang bilang ng mga utos 1549 01:13:35,065 --> 01:13:36,315 linya ng argumento mayroon ako? 1550 01:13:36,315 --> 01:13:39,676 1551 01:13:39,676 --> 01:13:40,725 >> MAG-AARAL: gawin mo kung ang isang statement. 1552 01:13:40,725 --> 01:13:42,270 >> Jason HIRSCHHORN: Kung statement, eksakto. 1553 01:13:42,270 --> 01:13:44,830 Ano ang gagawin ko gusto bilang ang kundisyon? 1554 01:13:44,830 --> 01:13:48,370 >> MAG-AARAL: Kung argc mas malaki kaysa sa 3. 1555 01:13:48,370 --> 01:13:52,485 >> Jason HIRSCHHORN: Kung argc ay mas malaki kaysa sa 3. 1556 01:13:52,485 --> 01:13:58,430 Kung argc mas malaki kaysa sa 3, ano ang gagawin ko? 1557 01:13:58,430 --> 01:13:59,400 >> MAG-AARAL: Return 1. 1558 01:13:59,400 --> 01:14:01,856 >> Jason HIRSCHHORN: Bumalik 1. 1559 01:14:01,856 --> 01:14:04,050 Makakaapekto ba na matiyak na mayroon ako dalawa at dalawa lamang? 1560 01:14:04,050 --> 01:14:07,280 1561 01:14:07,280 --> 01:14:07,820 >> MAG-AARAL: Hindi. 1562 01:14:07,820 --> 01:14:13,110 Kung argc ay mas malaki sa 3 at mas mababa sa 2. 1563 01:14:13,110 --> 01:14:17,770 >> Jason HIRSCHHORN: Kung argc ay mas malaki sa 3 at argc ay mas mababa kaysa 2. 1564 01:14:17,770 --> 01:14:21,540 Ano ang isang paraan na maaari kong isulat ito sa loob lamang isang linya, o walang gamit na 1565 01:14:21,540 --> 01:14:23,890 at Boolean operator? 1566 01:14:23,890 --> 01:14:25,942 >> MAG-AARAL: Ito ay hindi katumbas ng 2. 1567 01:14:25,942 --> 01:14:28,790 >> Jason HIRSCHHORN: Kung argc ay hindi katumbas ng 2. 1568 01:14:28,790 --> 01:14:29,260 Mismong. 1569 01:14:29,260 --> 01:14:34,890 Kaya kung argc ay hindi kapantay sa 2, na ay magbibigay sa akin ang programang ito, 1570 01:14:34,890 --> 01:14:37,250 personalized, kapag tumakbo ko ito, at na ay magbibigay sa akin kung gaano karaming 1571 01:14:37,250 --> 01:14:38,740 linya ng command argumento? 1572 01:14:38,740 --> 01:14:42,110 Gaano karaming ako ay suriin para sa? 1573 01:14:42,110 --> 01:14:42,370 >> Sorry. 1574 01:14:42,370 --> 01:14:43,400 Hayaan akong ibahin ang mga salita na. 1575 01:14:43,400 --> 01:14:46,620 Kung argc = 2, kung gaano karaming mga bagay na ginawa gumagamit ang magsulat sa linya? 1576 01:14:46,620 --> 01:14:47,500 >> MAG-AARAL: Isa. 1577 01:14:47,500 --> 01:14:49,120 >> Jason HIRSCHHORN: lamang isa. 1578 01:14:49,120 --> 01:14:50,430 Kaya bago, ikaw ay karapatan, Noah. 1579 01:14:50,430 --> 01:14:52,192 Ano ang gagawin ko talagang kailangan upang ilagay doon? 1580 01:14:52,192 --> 01:14:53,640 >> MAG-AARAL: Iyon ay katumbas ng 3. 1581 01:14:53,640 --> 01:14:55,970 >> Jason HIRSCHHORN: Argc ay hindi katumbas ng 3. 1582 01:14:55,970 --> 01:15:00,250 Gusto kong kasing-halaga ng 3 dahil gusto ko personalized plus ang iba pang dalawang. 1583 01:15:00,250 --> 01:15:02,560 Kaya kung argc ay hindi katumbas 3, bumalik 1. 1584 01:15:02,560 --> 01:15:04,475 Bakit sinabi mong bumalik 1? 1585 01:15:04,475 --> 01:15:06,180 >> MAG-AARAL: Dahil na Nangangahulugan ito ang mali. 1586 01:15:06,180 --> 01:15:08,420 >> Jason HIRSCHHORN: Iyon ay nangangahulugang ito ang mali, at kung ano na ang pagpunta sa gawin? 1587 01:15:08,420 --> 01:15:10,360 >> MAG-AARAL: Muling i-prompt ng gumagamit. 1588 01:15:10,360 --> 01:15:11,940 >> Jason HIRSCHHORN: Ito ay pagpunta sa mag-quit ang programa, kaya magkakaroon ito upang tumakbo 1589 01:15:11,940 --> 01:15:14,520 muli, ngunit hindi namin kayong anumang in dito upang magtanong para sa muli ang mga ito. 1590 01:15:14,520 --> 01:15:14,840 Hindi ko hilingin na. 1591 01:15:14,840 --> 01:15:15,990 Kaya iyon mismo kanan. 1592 01:15:15,990 --> 01:15:17,680 Bumalik lang 1 tabla sa programa. 1593 01:15:17,680 --> 01:15:18,520 Mahusay. 1594 01:15:18,520 --> 01:15:21,600 >> At mag-print ng pagbati sa gumagamit na kasama ng kanilang unang pangalan. 1595 01:15:21,600 --> 01:15:24,010 Paano ko gawin iyon? 1596 01:15:24,010 --> 01:15:25,990 Anna? 1597 01:15:25,990 --> 01:15:26,580 >> MAG-AARAL: Printf. 1598 01:15:26,580 --> 01:15:27,785 >> Jason HIRSCHHORN: Printf. 1599 01:15:27,785 --> 01:15:28,640 >> MAG-AARAL: (" 1600 01:15:28,640 --> 01:15:30,460 >> Jason HIRSCHHORN: ( 1601 01:15:30,460 --> 01:15:31,600 >> MAG-AARAL: "kumusta 1602 01:15:31,600 --> 01:15:33,210 >> Jason HIRSCHHORN: "kumusta 1603 01:15:33,210 --> 01:15:34,800 >> MAG-AARAL:% s 1604 01:15:34,800 --> 01:15:37,230 >> Jason HIRSCHHORN:% s 1605 01:15:37,230 --> 01:15:38,840 >> MAG-AARAL: / n 1606 01:15:38,840 --> 01:15:41,030 >> Jason HIRSCHHORN: / n 1607 01:15:41,030 --> 01:15:43,120 >> MAG-AARAL: ", 1608 01:15:43,120 --> 01:15:45,130 >> Jason HIRSCHHORN: ", 1609 01:15:45,130 --> 01:15:46,620 >> MAG-AARAL: Argv 1610 01:15:46,620 --> 01:15:47,080 >> Jason HIRSCHHORN: Paumanhin? 1611 01:15:47,080 --> 01:15:47,750 >> MAG-AARAL: Argv 1612 01:15:47,750 --> 01:15:48,840 >> Jason HIRSCHHORN: Argv 1613 01:15:48,840 --> 01:15:50,190 >> MAG-AARAL: Square bracket 1. 1614 01:15:50,190 --> 01:15:51,230 >> Jason HIRSCHHORN: Square bracket? 1615 01:15:51,230 --> 01:15:51,870 >> MAG-AARAL: 1. 1616 01:15:51,870 --> 01:15:54,050 >> Jason HIRSCHHORN: 1. 1617 01:15:54,050 --> 01:15:55,850 >> MAG-AARAL: At) semicolon. 1618 01:15:55,850 --> 01:15:58,290 >> Jason HIRSCHHORN:) semicolon. 1619 01:15:58,290 --> 01:16:00,250 Ipaalam sa amin patakbuhin ito. 1620 01:16:00,250 --> 01:16:03,730 Gawing personalized. 1621 01:16:03,730 --> 01:16:06,392 . / Personalized. 1622 01:16:06,392 --> 01:16:07,420 Ito lang ang mag-quit. 1623 01:16:07,420 --> 01:16:10,390 Bakit ito quit? 1624 01:16:10,390 --> 01:16:11,310 >> MAG-AARAL: Hindi ninyo maglagay ng anumang argumento. 1625 01:16:11,310 --> 01:16:12,560 >> Jason HIRSCHHORN: ako ay hindi maglagay ng anumang argumento in 1626 01:16:12,560 --> 01:16:16,360 1627 01:16:16,360 --> 01:16:16,920 Mukhang mahusay. 1628 01:16:16,920 --> 01:16:18,130 Ikaw guys ipinako ito. 1629 01:16:18,130 --> 01:16:22,420 Kaya muli, ikaw nagpunta sa argv at ikaw naka-check sa argc simula. 1630 01:16:22,420 --> 01:16:24,390 Yaong ang dalawang mahalagang mga bagay na dapat tandaan. 1631 01:16:24,390 --> 01:16:29,250 Kaya sa aming mga huling dalawang minuto bago namin umalis, hindi namin makuha sa pset dalawa, ngunit 1632 01:16:29,250 --> 01:16:33,585 tulad ng sinabi ko, kung nais mong upang manatili pagkatapos para sa 10 minuto, gagawin ko siya masaya na pumunta 1633 01:16:33,585 --> 01:16:35,710 sa paglipas ng sa iyo guys ang logic para sa mga hanay ng mga problema. 1634 01:16:35,710 --> 01:16:37,930 Nagkaroon kami ng maraming upang masakop ngayon kaya hindi ako makapunta sa mga ito. 1635 01:16:37,930 --> 01:16:39,820 Sa pangkalahatan, gusto kong isama na sa dulo. 1636 01:16:39,820 --> 01:16:42,150 Kaya kung nais mong dumikit sa paligid, dumikit sa paligid para sa 10 minuto. 1637 01:16:42,150 --> 01:16:42,990 Susubukan naming gawin iyon. 1638 01:16:42,990 --> 01:16:46,250 >> Pagkatapos, tulad ng nabanggit ko sa simula, pset zero at isa, aasikasuhin namin na 1639 01:16:46,250 --> 01:16:48,040 feedback sa iyo sa lalong lalong madaling panahon. 1640 01:16:48,040 --> 01:16:51,260 Ang layunin ay upang makakuha ng isa pset feedback, ang mga komento bahagi, 1641 01:16:51,260 --> 01:16:52,850 bago pset dalawa ay dapat bayaran. 1642 01:16:52,850 --> 01:16:56,730 Kaya kung gumawa ka ng ilang mga pagkakamali o stylistically, mga bagay na maaaring maging mas mahusay, 1643 01:16:56,730 --> 01:17:01,330 magkakaroon ka ng impormasyon na iyon kaya mo ay hindi gawin ang parehong bagay sa pset dalawa. 1644 01:17:01,330 --> 01:17:06,140 At pagkatapos ay sa hinaharap, makakakuha ka ng lahat ng iyong pset feedback at mga komento 1645 01:17:06,140 --> 01:17:08,190 bumalik bago ang isa ay dapat bayaran. 1646 01:17:08,190 --> 01:17:12,695 >> Panghuli, kung maaari kong ilagay sa isa pang plug para sa mga puna. 1647 01:17:12,695 --> 01:17:13,935 Ito ang iyong unang seksyon. 1648 01:17:13,935 --> 01:17:15,920 Iyon ay ang aking unang seksyon pagtuturo sa taong ito. 1649 01:17:15,920 --> 01:17:16,930 Pumunta doon. 1650 01:17:16,930 --> 01:17:19,800 Sumulat ng mga bagay-bagay, mabuti at masama, at ako ay gamitin ito upang gumawa ng mga 1651 01:17:19,800 --> 01:17:21,320 seksyon ng mas mahusay na susunod na pagkakataon. 1652 01:17:21,320 --> 01:17:24,870 At huli, muli, kung kailangan mo anumang bagay, ipaalam sa akin. 1653 01:17:24,870 --> 01:17:26,410 Ako ay higit pa sa masaya na tulungan ka guys. 1654 01:17:26,410 --> 01:17:28,420 Kung gusto mo lang kendi, ako Magkakaroon ng dagdag na kendi. 1655 01:17:28,420 --> 01:17:29,800 Ikinagagalak kong dalhin ito sa iyo. 1656 01:17:29,800 --> 01:17:31,190 >> Ito ay magiging isang kamangha-manghang mga kurso. 1657 01:17:31,190 --> 01:17:34,900 Ito ay isa sa, kung hindi ang aking mga paboritong Siyempre, ko na kinuha sa aking buong buhay, 1658 01:17:34,900 --> 01:17:37,220 at Umaasa ako na ito ay magiging na kahanga-hanga para sa iyo. 1659 01:17:37,220 --> 01:17:40,090 Kaya gusto kong gawin ang lahat sa aking kapangyarihan upang gawin itong na kasindak-sindak para sa iyo. 1660 01:17:40,090 --> 01:17:46,590 Pupunta ako sa nagpapadala ng email kung ikaw ay sa aking mga seksyon o Noah, at 1661 01:17:46,590 --> 01:17:50,310 pagpunta sa subukan at iskedyul sa bawat isa sa ka guys isang oras na mag-check in sa ibabaw ng 1662 01:17:50,310 --> 01:17:53,820 susunod na dalawang linggo upang maaari ba akong makakuha ng kahulugan ng kung ano ang iyong background sa CS ay, 1663 01:17:53,820 --> 01:17:58,170 at ito ay din makatulong sa akin maiangkop ang mga mga seksyon upang mas mahusay na angkop sa iyong mga pangangailangan. 1664 01:17:58,170 --> 01:17:59,740 Kaya na kung ano ang Mayroon akong may linya up. 1665 01:17:59,740 --> 01:18:02,260 Muli, makikita ko bang makita ka sa labas kung gusto mong maging doon. 1666 01:18:02,260 --> 01:18:03,700 Ito ay dalawang linggo seksyon. 1667 01:18:03,700 --> 01:18:04,950 Salamat guys kaya magkano. 1668 01:18:04,950 --> 01:18:09,067