1 00:00:00,000 --> 00:00:11,120 2 00:00:11,120 --> 00:00:12,590 >> Tagapagsalita: Ako [hindi marinig]. 3 00:00:12,590 --> 00:00:14,820 At ako ay isang senior sa Leverett House. 4 00:00:14,820 --> 00:00:18,700 Mag-aral ako computer science, at ako ay isang tf para sa CS50. 5 00:00:18,700 --> 00:00:21,640 Bilang isang primer anyo, hindi ko kahit na mayroon isang laptop o isang smartphone. 6 00:00:21,640 --> 00:00:23,550 Ako ay walang karanasan sa programming. 7 00:00:23,550 --> 00:00:29,690 CS50 ay ang pinaka-hindi malilimot na kurso Kinuha ko sa Harvard dahil ito ay 8 00:00:29,690 --> 00:00:32,960 isang pakikibaka, ngunit ito ay isang tunay na masaya pakikibaka sa parehong oras. 9 00:00:32,960 --> 00:00:37,670 At ako ginawa ng maraming kahanga-hangang, permanenteng mga kaibigan, at ako natutunan ng maraming talaga 10 00:00:37,670 --> 00:00:38,830 naaangkop na mga kasanayan. 11 00:00:38,830 --> 00:00:43,480 Ako lang kaya natutuwa na hindi ko ipaalam sa aking kakulangan ng background maging isang dahilan para sa akin 12 00:00:43,480 --> 00:00:44,840 hindi tumagal ng CS50. 13 00:00:44,840 --> 00:00:46,220 Ako [hindi marinig]. 14 00:00:46,220 --> 00:00:48,910 Ako ay isang senior sa Leverett House, klase ng 2014. 15 00:00:48,910 --> 00:00:51,670 At ako kinuha CS50. 16 00:00:51,670 --> 00:00:52,380 >> David MALAN: Kaya ito ay CS50. 17 00:00:52,380 --> 00:00:54,400 Ito ang katapusan ng linggo zero. 18 00:00:54,400 --> 00:00:58,500 At isipin ang kung saan sinimulan namin ang huling oras, ay may mga lamp, na kung saan ay 19 00:00:58,500 --> 00:01:01,420 kaya sikat na kami at nagpunta bumili ng ilang higit pang mga araw na ito. 20 00:01:01,420 --> 00:01:03,790 Kaya tingin ko ito ang magiging ang aming mga bagay na ito taon - 21 00:01:03,790 --> 00:01:07,230 desk lamp kung dumating ka ng hanggang sa entablado, hindi bababa sa hanggang sa aming maubusan. 22 00:01:07,230 --> 00:01:11,570 >> Subalit ginamit namin ang mga isipin ang, upang ipakilala ang mga pangunahing kaalaman ng representasyon ng data. 23 00:01:11,570 --> 00:01:15,640 Kailangan naming paraan upang simulan ang kumakatawan impormasyon sa loob ng isang computer. 24 00:01:15,640 --> 00:01:18,650 At ang pinakasimpleng paraan upang gawin iyon noon ay may isang sahog, koryente. 25 00:01:18,650 --> 00:01:21,760 At ang pinakasimpleng bagay na maaari mong gawin sa koryente ay i-on ito at off ito. 26 00:01:21,760 --> 00:01:23,520 Hayaan ang mga electron flow o hindi. 27 00:01:23,520 --> 00:01:27,930 At gamit ang mga dalawang pangunahing estado, off at sa, o hindi totoo at tunay, o zero at 28 00:01:27,930 --> 00:01:31,290 isa, sinimulan namin upang makita na maaari kaming bumuo ng up, sa kasong ito, may ilaw 29 00:01:31,290 --> 00:01:33,720 bombilya, higit pa kaysa sa mga numero ng lamang zero at isa. 30 00:01:33,720 --> 00:01:36,160 Kami mabibilang bilang mataas bilang pitong, halimbawa, huling beses. 31 00:01:36,160 --> 00:01:38,840 Ngunit lahat kami ay may sa gawin ay panatilihin ang ibinabato higit pa at mas magaan sa mga bombilya na 32 00:01:38,840 --> 00:01:41,820 problema at, talaga, maaari naming kumatawan anumang bilang na namin 33 00:01:41,820 --> 00:01:42,970 maaaring marahil gusto. 34 00:01:42,970 --> 00:01:47,230 >> Well, namin ang transition mabilis pagkatapos ay sa Miyerkules na ito byte ng mga boluntaryo. 35 00:01:47,230 --> 00:01:52,040 8 bits ay kung ano ang aming karaniwang tumawag sa isang byte, kaya dito nagkaroon kami walong boluntaryo 36 00:01:52,040 --> 00:01:54,900 sa Miyerkules na kapag pinagsama-sama ay na kumakatawan sa walong bits. 37 00:01:54,900 --> 00:01:56,750 At kapag ang kanilang mga kamay nagpunta up, sila ay isang isa. 38 00:01:56,750 --> 00:01:58,530 At kapag ang kanilang mga kamay ay pababa, mayroong isang zero. 39 00:01:58,530 --> 00:02:01,970 At nagkaroon kami mga tao lumapit sa entablado kung bakit? 40 00:02:01,970 --> 00:02:06,530 Ano ang magagawa naming gawin sa ang pagkakasunud-sunod ng mga bit? 41 00:02:06,530 --> 00:02:07,510 >> Upang lumikha ng isang alpabeto. 42 00:02:07,510 --> 00:02:11,550 Nagawa naming bumuo sa tuktok ng na nakaraang aralin natutunan at talaga 43 00:02:11,550 --> 00:02:14,200 simulan upang gawing mas kawili-wiling impormasyon na hindi bababa sa higit pa 44 00:02:14,200 --> 00:02:15,330 pamilyar sa amin ang mga tao. 45 00:02:15,330 --> 00:02:18,360 At ito ay magiging isang paulit-ulit na tema sa buong 50, ngunit din sa computer na 46 00:02:18,360 --> 00:02:21,470 agham mas pangkalahatang paraan, ito ideya ng layering, kung saan, sa dulo ng 47 00:02:21,470 --> 00:02:24,820 araw, kung ikaw talaga nagsimula ang Mga pangunahing kaalaman sa isang computer, oo, 48 00:02:24,820 --> 00:02:25,760 ito ay mga zero at mga bago. 49 00:02:25,760 --> 00:02:27,480 At sa ilalim na ito lamang koryente. 50 00:02:27,480 --> 00:02:30,840 Ngunit kami masyadong mabilis magsimula gumawa ng mga mababang antas ng mga detalye para sa ipinagkaloob 51 00:02:30,840 --> 00:02:35,600 at magsimula sa layer sa itaas ng mga nakaraang nagtrabaho nagagawa na namin, sa huli, sa pamamagitan ng 52 00:02:35,600 --> 00:02:38,610 ang katapusan ng semestre at, talaga, mas pangkalahatang bilang computer na siyentipiko 53 00:02:38,610 --> 00:02:42,790 at programmer, ay maaaring gumawa ng ilang talaga makapangyarihang mga bagay sa pamamagitan ng pagdaragdag sa trabaho 54 00:02:42,790 --> 00:02:46,620 na namin ang aming sarili nagawa na at din nakatayo sa mga balikat ng iba. 55 00:02:46,620 --> 00:02:49,300 >> Ngayon namin ang mabilis na transition sa Miyerkules mula lamang nangangailangang 56 00:02:49,300 --> 00:02:52,080 Kinakatawan impormasyon sa kinakapos upang gawin ang isang bagay na may ito. 57 00:02:52,080 --> 00:02:54,170 Kaya kung ano ang tinutukoy namin ang isang bilang algorithm? 58 00:02:54,170 --> 00:02:57,340 59 00:02:57,340 --> 00:02:58,900 Isang serye ng mga tagubilin. 60 00:02:58,900 --> 00:03:03,380 Kaya ito ay isang serye ng mga tagubilin, isang bilang ng mga hakbang na ikaw, isang tao, o 61 00:03:03,380 --> 00:03:07,160 computer ng isang, mas karaniwan, gagawin isakatuparan ang isa pagkatapos ng iba pang sa pagkakasunud-sunod 62 00:03:07,160 --> 00:03:08,100 upang makamit ang ilang mga layunin. 63 00:03:08,100 --> 00:03:11,360 At nagkaroon kami ng ilang mga layunin sa huling panahon, isa na kung saan ay upang mabilang 64 00:03:11,360 --> 00:03:12,250 mga tao sa kuwarto. 65 00:03:12,250 --> 00:03:15,560 At isa pang tulad halimbawa ay upang mahanap ang Mike Smith sa isang libro ng telepono. 66 00:03:15,560 --> 00:03:19,750 >> Kaya maaari mong isipin ang na ako torus ng telepono aklat sa kalahati papunta ito dulo up 67 00:03:19,750 --> 00:03:21,280 paghahanap ng mga Mike Smith. 68 00:03:21,280 --> 00:03:24,000 Ang layunin ng visual na noon ay sa ipakita, muli, na kami ay 69 00:03:24,000 --> 00:03:27,770 Literal na pansiwang ang problemang ito sa kalahati, sa kalahati, sa kalahati, at napaka 70 00:03:27,770 --> 00:03:31,750 mabilis pagpunta mula tulad ng 1,000 mga pahina sa isa lamang sa iisang pahina. 71 00:03:31,750 --> 00:03:34,860 Yaong ng iyo kung sino napalampas na ito sa Miyerkules, naisip ko na gusto naming muling i-play 72 00:03:34,860 --> 00:03:36,820 ilang footage ng kung ano ang iyong nakakaligtaan. 73 00:03:36,820 --> 00:03:38,914 Tingnan natin ang isang hitsura. 74 00:03:38,914 --> 00:03:40,906 >> [Video playback] 75 00:03:40,906 --> 00:03:55,360 76 00:03:55,360 --> 00:03:55,990 >> -Nagkaroon kami pumunta. 77 00:03:55,990 --> 00:04:01,432 1500 mga pahina, Nice malinis na linya, lehitimong mga luha. 78 00:04:01,432 --> 00:04:02,850 >> [END-playback ng video] 79 00:04:02,850 --> 00:04:05,230 >> David MALAN: Kaya na noon ay Miyerkules. 80 00:04:05,230 --> 00:04:09,150 Kami transition, bagaman, sa Miyerkules ngayon kinakapos upang kumatawan sa mga algorithm 81 00:04:09,150 --> 00:04:12,410 sa ilang mga medyo karaniwang paraan, hindi lamang naglalarawan ito bilang pandiwa, ngunit 82 00:04:12,410 --> 00:04:16,290 sinusubukan na ipahayag ang mga ito sa pagsulat o sa isang computer screen sa gayon na maaari naming 83 00:04:16,290 --> 00:04:19,170 simulan upang mapabuti sa oras, at baguhin kanila, at, sa huli, talagang 84 00:04:19,170 --> 00:04:21,160 pag-aralan kung paano lamang tama o kung gaano kabilis sila ay. 85 00:04:21,160 --> 00:04:23,360 >> Kaya ipinakilala namin ito paniwala ng pseudocode, na kung saan, sa 86 00:04:23,360 --> 00:04:26,410 mga tuntunin lego ni, ay kung ano? 87 00:04:26,410 --> 00:04:26,930 OK, mga salita. 88 00:04:26,930 --> 00:04:28,730 Sabihin pumunta ng kaunti mas malalim kaysa sa na. 89 00:04:28,730 --> 00:04:32,540 Ingles, sigurado, ngunit ang mga patungo sa kung ano ang dulo? 90 00:04:32,540 --> 00:04:35,180 Mga salita na kung saan upang lumikha o upang kumatawan sa mga algorithm. 91 00:04:35,180 --> 00:04:38,380 Kaya walang isang wika Kilala bilang pseudocode sa mundo. 92 00:04:38,380 --> 00:04:41,110 Ito ay lamang na ikaw, sa Ingles, o ano ang iyong mga pasalitang wika ay, gamitin ang 93 00:04:41,110 --> 00:04:44,930 isang uri ng madalian notation sa ihatid isang ideya napaka succinctly. 94 00:04:44,930 --> 00:04:47,930 Ngunit kailangan naming makita na, tiyak na may isang Ingles pseudocode, at ito ay nagiging out 95 00:04:47,930 --> 00:04:51,700 karamihan sa mga wika programming kanilang mga sarili ay hinalaw ng Ingles mismo, 96 00:04:51,700 --> 00:04:55,750 kakailanganin naming makita na mayroong ilang mga pamantayan paraan ng kumakatawan sa pseudocode at 97 00:04:55,750 --> 00:04:57,150 din ang mga programa code. 98 00:04:57,150 --> 00:05:00,200 Kaya bilang ka magsimula upang makita ang kahit na ang pinakasimpleng halimbawa ngayon, nauunawaan ang mga 99 00:05:00,200 --> 00:05:02,160 parehong pattern ay bumalik sa alaala sa susunod na linggo. 100 00:05:02,160 --> 00:05:04,710 >> Kaya pseudocode noon ay ilang uri ng wika magkawangki 101 00:05:04,710 --> 00:05:06,170 isang programming language. 102 00:05:06,170 --> 00:05:09,260 At ang unang halimbawa nakita natin biswal nakasulat down na noon ay ang isang ito. 103 00:05:09,260 --> 00:05:12,870 Ito ay lamang ng isang tatlong hakbang na programa, ang layunin ng kung saan ay upang bilangin ang bilang 104 00:05:12,870 --> 00:05:15,650 ng mga tao sa isang dorm room para sa na video sa Miyerkules. 105 00:05:15,650 --> 00:05:19,040 Ngunit mayroong mga ilang mga kawili-wiling aspeto ito ng pinakasimpleng programa. 106 00:05:19,040 --> 00:05:20,320 >> At ito ay magiging paulit-ulit na tema. 107 00:05:20,320 --> 00:05:22,930 Kaya para sa mga na pamilyar sa ito, isa, ipinakilala namin ang isang variable. 108 00:05:22,930 --> 00:05:25,650 At marahil lahat ng tao sa kuwartong ito ay pamilyar sa isang variable sa 109 00:05:25,650 --> 00:05:27,250 konteksto ng algebra. 110 00:05:27,250 --> 00:05:31,190 Ngunit dito sa programming, variable ay, isa, maaaring maging 111 00:05:31,190 --> 00:05:32,220 tinatawag anumang nais namin. 112 00:05:32,220 --> 00:05:33,620 Kami na ginagamit mo n bilang isang counter. 113 00:05:33,620 --> 00:05:37,490 Ngunit maaari naming gamitin ang salitang counter, o, tulad ng makikita mo, karamihan sa anumang mga parirala na 114 00:05:37,490 --> 00:05:40,240 baka gusto mo kaya hangga't ito ay mapaglarawang, ngunit ito ay talagang lamang ng isang 115 00:05:40,240 --> 00:05:41,250 imbakan lalagyan. 116 00:05:41,250 --> 00:05:44,170 Ito ay isang tipak ng memorya, ang ilang bilang ng mga bits, at ito ay nag-iiba sa pamamagitan ng computer, kung paano 117 00:05:44,170 --> 00:05:47,020 maraming mga bits may mga na gumawa ng sulat na variable. 118 00:05:47,020 --> 00:05:48,450 >> Ngunit maaari naming ilagay ang halaga sa mga ito. 119 00:05:48,450 --> 00:05:50,740 Kaya malayo, lamang namin isinali ang mga numero. 120 00:05:50,740 --> 00:05:52,290 Ngunit maaari naming ilagay ang aktwal na mga salita. 121 00:05:52,290 --> 00:05:53,420 Maaari naming ilagay ang mga talata. 122 00:05:53,420 --> 00:05:54,560 Maaari naming ilagay ang mga imahe - 123 00:05:54,560 --> 00:05:57,860 kahit ano, talaga, maaari naming kumatawan sa mga zero at mga bago, maaari naming ilagay sa 124 00:05:57,860 --> 00:05:59,820 ang mas mataas na antas ng kuru-kuro ng isang variable. 125 00:05:59,820 --> 00:06:01,350 >> Kaya medyo tuwid forward doon. 126 00:06:01,350 --> 00:06:02,210 At iyon ang linya ng isa. 127 00:06:02,210 --> 00:06:05,340 Ngunit kami masyadong mabilis inilipat mula sa linya ng isa upang aktwal na gawin 128 00:06:05,340 --> 00:06:06,600 may isang bagay na variable. 129 00:06:06,600 --> 00:06:10,330 At sa tatlong linya, aming na-update N. namin incremented N. At maaari kaming isulat ito 130 00:06:10,330 --> 00:06:11,330 anumang bilang ng mga paraan. 131 00:06:11,330 --> 00:06:14,460 Ngunit marahil ang pinaka-halata ay lamang na sabihin, itakda N kasing-halaga sa 132 00:06:14,460 --> 00:06:16,440 kahit anong N ay plus 1. 133 00:06:16,440 --> 00:06:17,740 Kaya na noon ay aming paglaki. 134 00:06:17,740 --> 00:06:18,740 >> Samantala, nagkaroon ng isang loop. 135 00:06:18,740 --> 00:06:20,720 At ang isang ito, masyadong, marahil ay medyo madaling maunawaan. 136 00:06:20,720 --> 00:06:24,250 Ang isang loop ay lamang ng isang bagay sa isang program na mangyayari muli at muli, ang ilang mga 137 00:06:24,250 --> 00:06:25,190 uri ng pag-ikot. 138 00:06:25,190 --> 00:06:29,300 At ang key na parirala dito, para sa bawat isa, ay talaga laganap sa buong pinaka- 139 00:06:29,300 --> 00:06:32,300 programming wika, kabilang ang mga bago namin makita sa kurso. 140 00:06:32,300 --> 00:06:35,850 Anumang oras mo ang salitang para sa, ito Karaniwang nagbibigay ng ideya na ang isang 141 00:06:35,850 --> 00:06:38,410 loop, isang bagay cyclical, ay tungkol sa mangyari. 142 00:06:38,410 --> 00:06:40,980 >> Ngunit ito ay nagkakahalaga ng noting isa iba pang mga sintaktik detalye. 143 00:06:40,980 --> 00:06:44,660 Ang katotohanan na ang ikatlong linya doon ay talagang naka-indent sa pamamagitan ng pagkakaroon ng pindutin ang 144 00:06:44,660 --> 00:06:46,920 space bar ilang beses ay sinadya. 145 00:06:46,920 --> 00:06:49,870 Dahil pantao convention ay tulad na, kapag gumawa ka ng isang bagay muli at 146 00:06:49,870 --> 00:06:54,860 muli, sa isang loop, pati na nagsimula sa dalawang linya, indent sa iyo ang anumang bagay na pag-aari 147 00:06:54,860 --> 00:06:58,880 i-loop na lamang upang gumawa ng malinaw na ito ay tatlong linya at hindi, halimbawa, 148 00:06:58,880 --> 00:07:01,910 linya ng apat o limang, kung mayroong mga linya para sa o limang, na 149 00:07:01,910 --> 00:07:03,010 bahagi ng na loop. 150 00:07:03,010 --> 00:07:07,340 Kaya ito simpleng indentation na nagbibigay ng pangunahing ideya. 151 00:07:07,340 --> 00:07:09,390 >> Kaya inilapat namin ito algorithm, ngayon, sa ilan sa mga halimbawa. 152 00:07:09,390 --> 00:07:12,620 At ito, masyadong, simpleng halimbawa sa tunay na mundo. 153 00:07:12,620 --> 00:07:15,440 Ngunit ito ay pagpunta sa maging kinatawan ng kung paano mo pumunta tungkol sa iyong pagsubok 154 00:07:15,440 --> 00:07:17,500 pag-aari nagiging complex program. 155 00:07:17,500 --> 00:07:21,050 Subukan mo ng ilang mga sitwasyon, ang ilang mga mga kinatawan ng input, at makita kung ka 156 00:07:21,050 --> 00:07:22,180 makuha ang ninanais na output. 157 00:07:22,180 --> 00:07:25,090 >> Kaya halimbawa na ito ay may dalawang tao pag-upo sa kuwarto dorm. 158 00:07:25,090 --> 00:07:27,170 Sa kaliwa ay ang parehong palsipikado code. 159 00:07:27,170 --> 00:07:30,800 At ito ay isang screen shot ng napaka huling hakbang ng application ng mga ito 160 00:07:30,800 --> 00:07:35,270 algorithm sa mga input, kung saan mayroong ay dalawang tao sa kuwarto at, 161 00:07:35,270 --> 00:07:39,190 pagkuhang muli, bilang hakbang namin sa pamamagitan ng mga linya ng isa, at dalawa, at tatlo, at dalawang 162 00:07:39,190 --> 00:07:41,000 at tatlong at tapos - 163 00:07:41,000 --> 00:07:44,870 sa pagtatapos ng na algorithm, nagkaroon kami sa katunayan mabibilang ng dalawang Fellows sino 164 00:07:44,870 --> 00:07:45,360 sa kuwarto. 165 00:07:45,360 --> 00:07:47,190 >> Kaya pagkatapos ay sinubukan naming isa pang halimbawa. 166 00:07:47,190 --> 00:07:48,990 At sinabi namin kung ano kung mayroong zero ang mga tao sa kuwarto? 167 00:07:48,990 --> 00:07:50,490 Ba ang code na ito pa rin ang tama? 168 00:07:50,490 --> 00:07:51,305 At sa katunayan ito ay. 169 00:07:51,305 --> 00:07:55,240 Ito lang kaya ang mangyayari na dalawang linya at, samakatuwid, linya o tatlong 170 00:07:55,240 --> 00:07:56,620 hindi pagpunta sa execute. 171 00:07:56,620 --> 00:07:59,790 Hindi nila ka pagpunta sa mangyayari sa lahat dahil ang mga ito ay hindi lamang kung naaangkop 172 00:07:59,790 --> 00:08:01,210 mayroong zero ang mga tao sa kuwarto. 173 00:08:01,210 --> 00:08:02,300 >> Ngunit hindi isang malaking pakikitungo. 174 00:08:02,300 --> 00:08:06,620 Linya ng isa nasimulan N sa zero, kaya kahit na lamang ng isang linya ng ito 175 00:08:06,620 --> 00:08:10,930 programa aktwal na nagtatapos up pagiging kapaki-pakinabang, ito pa rin na makakuha ng tamang sagot, bilang 176 00:08:10,930 --> 00:08:13,780 ipinahiwatig ng orange zero ang sa ibaba. 177 00:08:13,780 --> 00:08:16,300 Ngunit pagkatapos namin nagpasya na noon ay uri ng isang ugok algorithm. 178 00:08:16,300 --> 00:08:17,060 Iyon ay medyo mabagal. 179 00:08:17,060 --> 00:08:19,720 Tiyak, ang maaari kong gawin dalawa, apat, anim, walo, sampu, kapag 180 00:08:19,720 --> 00:08:20,990 pagbibilang ng mga tao sa isang kuwarto. 181 00:08:20,990 --> 00:08:25,030 >> Kaya kami tweaked ang algorithm, ang pseudocode, sasabihin, ngayon sa dalawang linya, 182 00:08:25,030 --> 00:08:29,710 para sa bawat pares ng mga tao sa room, tumuloy sa, sa tatlong linya, paglakas 183 00:08:29,710 --> 00:08:32,200 sa pamamagitan ng dalawang sa bawat pag-ulit. 184 00:08:32,200 --> 00:08:35,530 Kaya na sana ay nagtrabaho dito para sa ito pares ng mga tao sa kuwarto. 185 00:08:35,530 --> 00:08:38,530 >> Ngunit pagkatapos, kung sinimulan mo ang pag-iisip tungkol sa ito, at hindi ito tumagal ng mahaba upang 186 00:08:38,530 --> 00:08:40,710 Napagtanto, maghintay ng isang minuto ito ay pagpunta sa masira, ito Pinaghihiwa 187 00:08:40,710 --> 00:08:42,679 sa kung ano ang mga simpleng kaso? 188 00:08:42,679 --> 00:08:45,500 Kung mayroong tatlong mga tao sa kuwarto o, mas pangkalahatang paraan, kapag mayroong isang 189 00:08:45,500 --> 00:08:47,660 kakaiba bilang ng mga tao sa room, kabilang ang isa. 190 00:08:47,660 --> 00:08:50,390 Gusto naming makaligtaan ang taong iyon dito dahil walang mga naturang pares. 191 00:08:50,390 --> 00:08:58,510 Kaya namin ang mabilis na natugunan ng sa halip nagpapakilala kung ano ang mga karagdagang 192 00:08:58,510 --> 00:09:02,560 programming constructs upang ang palsipikado code. 193 00:09:02,560 --> 00:09:04,955 >> Kaya isang kundisyon, tinatawag namin ito, o isang branch. 194 00:09:04,955 --> 00:09:08,420 At ito ay sinadya upang ihatid, biswal, ang ideya ng mga sangay, isang tinidor sa kalsada 195 00:09:08,420 --> 00:09:11,080 kung saan maaari mong alinman sa gawin ito o, siguro, iba pa. 196 00:09:11,080 --> 00:09:15,750 At sa katunayan, matugunan namin ang isyu na ito sa pamamagitan ng pagdaragdag ng linya 4, sa pamamagitan ng sinasabi, talaga, sa 197 00:09:15,750 --> 00:09:20,820 pinakadulo, kung ang isang tao ay nananatiling, pagkatapos ay sige at bilangin ang mga ito espesyal. 198 00:09:20,820 --> 00:09:24,460 Kaya ka-uri-uriin ng mga espesyal na kaso sa kanila, sa gayon upang makipag-usap, kaya na ngayon maaari naming panghahawakan 199 00:09:24,460 --> 00:09:27,810 Parehong isang kahit na bilang ng mga tao at isang kakaiba bilang ng mga tao. 200 00:09:27,810 --> 00:09:30,260 >> Ngayon ay mayroong anumang bilang ng mga paraan maaaring namin ang ipinahayag na ito. 201 00:09:30,260 --> 00:09:33,590 At lantaran, maaari ko pa kahit na higit pa itlog ng kuto picky kapag ito ay dumating sa aking pagpili ng 202 00:09:33,590 --> 00:09:35,040 Ingles para sa pseudocode. 203 00:09:35,040 --> 00:09:36,970 Ngunit hindi bababa sa ang espiritu ng ang ideya ay conveyed. 204 00:09:36,970 --> 00:09:40,725 Kung ipinasa mo ang code na ito sa isang kaibigan kung sino ang wala sa CS, o ay hindi kailanman kinuha 205 00:09:40,725 --> 00:09:44,560 CS, logro ay maaari nilang malaman, ibinigay na tatlong mga tao sa kuwarto, kung paano 206 00:09:44,560 --> 00:09:46,870 bilangin ang mga tao batay sa mga tagubiling ito. 207 00:09:46,870 --> 00:09:49,920 At iyon ang lahat talaga gusto naming upang makamit ang may pseudocode, sa paanuman 208 00:09:49,920 --> 00:09:54,300 ilagay sa pamantayan kung paano kami ng pagpunta tungkol sa na kumakatawan sa mga ideya sa gayon maaari naming 209 00:09:54,300 --> 00:09:56,670 simulan na gawin mas komplikado bagay pa rin. 210 00:09:56,670 --> 00:09:58,845 >> Kaya na humahantong sa amin pagkatapos, ngayon, sa aktwal na code. 211 00:09:58,845 --> 00:10:01,950 Magsisimula kami sa programa ngayon, kahit na sa isang friendly na kapaligiran. 212 00:10:01,950 --> 00:10:05,940 At pagkatapos namin transition masyadong mabilis upang isang mas arcane syntax, ngunit isa na 213 00:10:05,940 --> 00:10:10,340 makikita mo sa panimula ay ang parehong bilang ang ideya ay makita ipinahayag sa 214 00:10:10,340 --> 00:10:11,990 ang iba pang mga wika ngayon. 215 00:10:11,990 --> 00:10:13,920 Lamang Ito ay pagpunta sa hitsura medyo naiiba. 216 00:10:13,920 --> 00:10:16,590 >> Kaya sa halip na lamang tawagan ang code na ito, ako pagpunta sa maging isang maliit na mas tumpak 217 00:10:16,590 --> 00:10:20,170 at sabihin, simula ngayon, kapag ang pagsusulat ng programa, sumusulat ka source code. 218 00:10:20,170 --> 00:10:21,990 Ito ay uri ng tulad ng pseudocode. 219 00:10:21,990 --> 00:10:26,540 Ngunit kailangan naming makita ito ay hindi isang uri ng magpakawala pagdating sa pagpili ng mga salita 220 00:10:26,540 --> 00:10:27,310 na gamitin mo. 221 00:10:27,310 --> 00:10:31,300 Kapag programing sa isang wika, mayroon kang na gamitin ang mga salita, mga parirala, 222 00:10:31,300 --> 00:10:36,020 ang syntax, na ang ibang mga tao nagpasya kumakatawan 223 00:10:36,020 --> 00:10:37,240 partikular na wikang iyon. 224 00:10:37,240 --> 00:10:38,510 Kaya pseudocodes ay nasa sa iyo. 225 00:10:38,510 --> 00:10:42,330 Isang aktwal na programming language tulad ng C, dahil kakailanganin namin ay makakita, ay 226 00:10:42,330 --> 00:10:43,590 Standardized sa pamamagitan ng iba pang tao. 227 00:10:43,590 --> 00:10:45,590 >> Kaya paano namin pumunta tungkol sa pagsusulat ilang source code? 228 00:10:45,590 --> 00:10:46,810 Well ako pagpunta sa pumunta Magpatuloy at gawin ito. 229 00:10:46,810 --> 00:10:49,100 Pupunta ako sa sige at buksan up ng isang window dito. 230 00:10:49,100 --> 00:10:50,210 Higit pang mga ito sa susunod na linggo. 231 00:10:50,210 --> 00:10:52,300 Ngunit ito ay isang aparato na tinatawag na ang CS50 appliance. 232 00:10:52,300 --> 00:10:55,480 Ako nagpapatakbo ng isang piraso ng software sa aking Mac, bagaman maaari mong gawin ang parehong bagay 233 00:10:55,480 --> 00:11:00,580 sa isang computer Windows, na nagbibigay sa sa akin ang ilusyon ng pagpapatakbo ng isang iba't ibang mga 234 00:11:00,580 --> 00:11:03,700 operating system nang sama-sama kanan dito sa isang window sa aking Mac. 235 00:11:03,700 --> 00:11:06,790 Ko na lang full screen ito kaya hindi mo pag talaga nakikita ang Mac OS ngayon. 236 00:11:06,790 --> 00:11:08,340 >> Ito ay isang operating system tinatawag na Linux. 237 00:11:08,340 --> 00:11:09,300 Ito ay napaka-tanyag. 238 00:11:09,300 --> 00:11:10,120 Ito ay napakabilis. 239 00:11:10,120 --> 00:11:12,950 Ito ay napaka-libre, na ginawa ito masyadong nakakahimok, lalo na sa 240 00:11:12,950 --> 00:11:13,970 komersyal na mundo. 241 00:11:13,970 --> 00:11:17,200 At higit sa na patungo sa dulo ng semestre kapag ginagamit namin Linux pa ng kaunti 242 00:11:17,200 --> 00:11:21,230 para sa mga programa ng web at pag-host ng aktwal na mga website at mga proyekto. 243 00:11:21,230 --> 00:11:24,910 Kaya ngayon, lamang malaman na ito ay isang desktop na sinadya upang tumingin vaguely 244 00:11:24,910 --> 00:11:26,750 pamilyar sa Windows at Mac OS. 245 00:11:26,750 --> 00:11:29,110 Ito lamang ay may ilang mga iba't ibang mga pangalan at mga icon para sa mga bagay. 246 00:11:29,110 --> 00:11:32,510 Ngunit ito ay ang tinatawag na CS50 appliance, isang virtual machine na, 247 00:11:32,510 --> 00:11:35,310 simula sa susunod na linggo, ikaw ay guys tumakbo sa loob ng isang window sa 248 00:11:35,310 --> 00:11:36,960 ang iyong sariling mga Mac o PC. 249 00:11:36,960 --> 00:11:39,760 >> Para sa ngayon, ako ng pagpunta sa buksan up ang pinakasimpleng ng mga programa. 250 00:11:39,760 --> 00:11:41,110 Ito ay tinatawag na gedit. 251 00:11:41,110 --> 00:11:42,565 At ito ay lamang ng isang graphical editor. 252 00:11:42,565 --> 00:11:44,695 Ito ay uri ng tulad ng Microsoft Salita, ngunit mas simple. 253 00:11:44,695 --> 00:11:47,110 Ito ay uri ng tulad ng teksto i-edit o Notepad. 254 00:11:47,110 --> 00:11:50,280 Ito ay lamang ng isang napaka-simpleng programa sa kung saan upang isulat mga salita sa screen. 255 00:11:50,280 --> 00:11:54,510 Ito lang kaya kung ano ang mangyayari kung na-save ko mga file na ako lilikha kapag ang program na ito 256 00:11:54,510 --> 00:11:59,860 sa isang espesyal na extension tulad ng. c, sa halip ng. doc, o. xls, o anumang 257 00:11:59,860 --> 00:12:04,190 pamilyar ka sa, maaari ko talaga lumikha ng mga programa gamit ang kahit na ito simple 258 00:12:04,190 --> 00:12:05,130 text editor. 259 00:12:05,130 --> 00:12:05,770 >> Kaya ipaalam sa akin gawin iyon. 260 00:12:05,770 --> 00:12:09,330 Hayaan akong sige at i-save ito magsampa muna bilang hello.c. 261 00:12:09,330 --> 00:12:12,350 At muli, ang user interface ng kalooban maging pamilyar sa iyo mabilis. 262 00:12:12,350 --> 00:12:14,160 Ngunit para sa ngayon, tingin lang ako sa pag-type sa isang pangalan ng file. 263 00:12:14,160 --> 00:12:17,410 Pupunta ako sa i-save ito sa aking John Harvard home directory. 264 00:12:17,410 --> 00:12:20,810 At ngayon, mayroon akong tab na ito ay nagpapahiwatig na Talaga ako sa pag-edit 265 00:12:20,810 --> 00:12:23,070 isang file na tinatawag na hello.c. 266 00:12:23,070 --> 00:12:24,510 Kaya walang masyadong kawili-wiling pa. 267 00:12:24,510 --> 00:12:26,000 >> At ngayon ito ay pagpunta sa makakuha ng medyo misteriyoso. 268 00:12:26,000 --> 00:12:28,370 Pupunta ako upang mag-zoom in, lamang kaya mas nakikita. 269 00:12:28,370 --> 00:12:35,780 At ako pagpunta sa simulang mag-type isama stdio.h, int main, walang bisa, buksan ang kulot 270 00:12:35,780 --> 00:12:40,140 suhay, isa, dalawa, tatlo, apat na mga puwang ng mga indentation, naka-print f, para sa pag-print 271 00:12:40,140 --> 00:12:44,450 isang bagay na-format, quote magpanipi, "Kumusta, mundo" backslash, n, malapit 272 00:12:44,450 --> 00:12:49,640 quote, closed panaklong, tuldok-kuwit, ipasok ang backspace, backspace, backspace, 273 00:12:49,640 --> 00:12:52,310 backspace, sarado kulot suhay - 274 00:12:52,310 --> 00:12:53,350 Ko pa-program. 275 00:12:53,350 --> 00:12:57,380 >> Ang lahat ng mga karapatan kaya ito ay isang napaka-simple programa, talaga, ang mga programa na 276 00:12:57,380 --> 00:12:59,070 sinuman ay nagsisimula off sa programming. 277 00:12:59,070 --> 00:13:02,300 At ang lahat ng ginagawa nito, para sa lahat ng pagiging kumplikado nito, ay i-print out sa 278 00:13:02,300 --> 00:13:04,160 screen, hulaan kung ano? 279 00:13:04,160 --> 00:13:04,910 Kamusta mundo. 280 00:13:04,910 --> 00:13:07,500 Ngunit ito ay hindi sapat lamang magsulat ng isang programa. 281 00:13:07,500 --> 00:13:08,155 Kaya ito ang code. 282 00:13:08,155 --> 00:13:11,300 Ito ay source code sa isang wika na tinatawag c. 283 00:13:11,300 --> 00:13:14,380 Ito ay nai-save na kasalukuyang nasa isang file na tinatawag na hello.c. 284 00:13:14,380 --> 00:13:16,180 >> Ngayon tumingin sa ibaba ng screen dito. 285 00:13:16,180 --> 00:13:17,890 Higit pa sa mga ito, muli, sa ang linggo na dumating. 286 00:13:17,890 --> 00:13:19,570 Ngunit ito ay kung ano ang makikita namin tumawag isang terminal na window. 287 00:13:19,570 --> 00:13:21,290 Ito ay isang kumikislap, itim at puti prompt. 288 00:13:21,290 --> 00:13:24,390 Ito ay uri ng isang lumang interface sa paaralan isang computer na sa pangkalahatan ay hindi 289 00:13:24,390 --> 00:13:27,050 gumamit ng isang mouse o iba pang graphical na mga elemento. 290 00:13:27,050 --> 00:13:28,320 Ito lamang ay gumagamit ng iyong keyboard. 291 00:13:28,320 --> 00:13:30,970 At maaari kong i-type ang mga utos sa ito kumukurap prompt. 292 00:13:30,970 --> 00:13:33,820 >> At para sa mga layuning ngayong araw, ako lamang pagpunta sa i-type ang mga sumusunod - 293 00:13:33,820 --> 00:13:35,610 gumawa ng halo. 294 00:13:35,610 --> 00:13:39,370 At ang programang iyon, gumawa ng, lamang ang na programa, sa tunay na mundo ang mga 295 00:13:39,370 --> 00:13:40,690 araw, gusto naming i-double click sa. 296 00:13:40,690 --> 00:13:44,580 Ngunit sa interface na ito para sa araw na ito, kami ay pagpunta sa i-type ang pangalan nito sa ang pagsenyas na ito. 297 00:13:44,580 --> 00:13:47,980 gawing kumusta Literal na pagpunta sa gumawa ako ng isang programa na tinatawag na halo. 298 00:13:47,980 --> 00:13:51,360 At ito ay pagpunta sa gawin ito sa pamamagitan ng pagtingin para sa isang file, sa pamamagitan lamang ng 299 00:13:51,360 --> 00:13:53,460 default, na tinatawag na hello.c. 300 00:13:53,460 --> 00:13:57,260 Ito ay pagpunta sa ipagpalagay na nais ko ng isang C programa sa pamamagitan ng likas na katangian ng kung paano ang computer na ito 301 00:13:57,260 --> 00:13:58,230 ay naka-configure. 302 00:13:58,230 --> 00:13:59,550 >> Kaya ako sige at pindutin ang enter. 303 00:13:59,550 --> 00:14:02,050 Nakakakita ako ng ilang misteriyoso output, ngunit ito ay maging lahat ng masyadong 304 00:14:02,050 --> 00:14:03,330 pamilyar na bago ang haba. 305 00:14:03,330 --> 00:14:06,870 Nangyari ito upang magpatakbo ng isang tagatala, nang higit pa sa na sa isang sandali, na tinatawag na kalatungin. 306 00:14:06,870 --> 00:14:09,080 Ngunit ngayon, Mayroon akong isa lamang nagbi-blink na-prompt. 307 00:14:09,080 --> 00:14:13,060 At maaari kong sige ngayon at i-type tuldok iwa, hindi kawili-wili para sa mga kadahilanang bibigyan namin ng 308 00:14:13,060 --> 00:14:14,730 bumalik sa susunod na linggo - 309 00:14:14,730 --> 00:14:15,910 kumusta. 310 00:14:15,910 --> 00:14:19,650 >> Kaya lahat ng pagsisikap na ito kaya malayo lamang sa isulat ang pinakasimpleng ng mga program na, 311 00:14:19,650 --> 00:14:22,640 sa lalong madaling ko pindutin ang Enter, ginagawa na. 312 00:14:22,640 --> 00:14:24,510 Kaya ko na nakasulat sa aking unang programa. 313 00:14:24,510 --> 00:14:27,500 Kaya sadyang ako poking masaya sa napaka-simpleng programa 314 00:14:27,500 --> 00:14:28,540 para sa isang pares ng mga dahilan. 315 00:14:28,540 --> 00:14:31,990 Ang isa, ito ay mahirap upang makakuha ng nagulat tungkol sa pagkuha ng isang klase kung 316 00:14:31,990 --> 00:14:33,430 ito ay ang katapusan ng laro. 317 00:14:33,430 --> 00:14:37,100 >> Ngunit higit sa na, mayroong isang maraming distractions up dito. 318 00:14:37,100 --> 00:14:40,640 Ang unang pagkakataon na matuto ka sa programa, para sa mga ka ng mas kumportable, at 319 00:14:40,640 --> 00:14:43,410 kahit ako, pabalik sa araw, kapag ako unang Nakita ng isang bagay na tulad nito - maaari mong uri 320 00:14:43,410 --> 00:14:46,500 ng figure na, lahat ng karapatan, ito ay nasa isang mundo print kumusta. 321 00:14:46,500 --> 00:14:47,860 Ngunit mayroong kaya magkano ang kaguluhan ng isip. 322 00:14:47,860 --> 00:14:52,110 May kaya magkano ang syntax sa screen na ito ay nakakakuha sa paraan ng napaka 323 00:14:52,110 --> 00:14:54,170 simple, kung hindi man ay simple, mga ideya. 324 00:14:54,170 --> 00:14:56,700 >> Kaya kung ano kami ay pagpunta sa gawin ngayon ay hindi namin pagpunta sa isaisantabi C at darating 325 00:14:56,700 --> 00:14:57,630 bumalik sa na sa Lunes. 326 00:14:57,630 --> 00:15:00,860 At kami ay pagpunta sa gumamit ng isang graphical programming language na tinatawag na scratch. 327 00:15:00,860 --> 00:15:04,470 Ito ay isang programming language, na aking alluded sa sa Miyerkules, na ang nangyayari 328 00:15:04,470 --> 00:15:08,870 i-daan sa amin upang gawin ang parehong uri ng mga bagay-bagay ngunit pumikit ang mga mata, para sa araw, 329 00:15:08,870 --> 00:15:12,270 upang ang kulot tirante, ang mga panaklong, ang semicolons, at ang lahat ng mga bobo 330 00:15:12,270 --> 00:15:15,680 distractions na makakuha sa paraan, sa ang unang araw, ng ilang mga pangunahing, medyo 331 00:15:15,680 --> 00:15:17,230 kagiliw-giliw na mga ideya. 332 00:15:17,230 --> 00:15:21,350 >> Kaya papunta sa bahaging iyon, pupuntahan ko pumunta pabalik sa aking desktop sa paglipas dito at 333 00:15:21,350 --> 00:15:25,890 ipakilala sa mga alternatibo sa na programa, na kung saan ay pagpunta sa hitsura ng isang 334 00:15:25,890 --> 00:15:30,790 maliit na isang bagay na ilaw na ito. 335 00:15:30,790 --> 00:15:33,930 Iyon ay kung paano namin ang pagpunta sa ipatupad na parehong programa ngayon - dalawang mga puzzle 336 00:15:33,930 --> 00:15:37,710 piraso na, kapag interlocked at nag-click sa, sasabihin sa buong mundo, 337 00:15:37,710 --> 00:15:39,000 kumusta mundo. 338 00:15:39,000 --> 00:15:41,200 >> Kaya natin talaga pumunta doon. 339 00:15:41,200 --> 00:15:44,965 Kaya pupuntahan ko sige at buksan ang isang website na kilala bilang scratch.mit.edu. 340 00:15:44,965 --> 00:15:47,980 341 00:15:47,980 --> 00:15:52,040 At ito ay humantong sa akin sa ang website na ito dito. 342 00:15:52,040 --> 00:15:54,660 Sa maaga, ako magla-log in na ito website at ang unang problema na 343 00:15:54,660 --> 00:15:55,910 ay ituturo sa iyo ang ilan sa mga hakbang na ito. 344 00:15:55,910 --> 00:15:58,930 Pupunta ako sa sige at i-click ang sa aking scratch folder dito. 345 00:15:58,930 --> 00:16:00,720 >> At ito ay pagpunta upang ipakita sa akin ilang mga proyekto na nag ako 346 00:16:00,720 --> 00:16:02,570 talagang ginawa nang maaga. 347 00:16:02,570 --> 00:16:05,860 At ito lumiliko out na ito graphical programming language hindi lamang ay pagpunta 348 00:16:05,860 --> 00:16:08,480 upang ipaalam sa amin ang programa sa pamamagitan ng pagkaladkad at pag-drop ang mga piraso puzzle, mo 349 00:16:08,480 --> 00:16:09,730 hindi kailangan ng espesyal na software. 350 00:16:09,730 --> 00:16:13,190 Lahat ng ito ay naka-embed sa loob ng isang browser na kaya na maaari mong gawin ito, sa teorya, sa 351 00:16:13,190 --> 00:16:16,810 iyong mga computer sa ngayon, tulad ng ilan sa inyo Maaaring maging mahusay, nang walang kahit na nangangailangan 352 00:16:16,810 --> 00:16:19,870 software tulad ng CS50 appliance, na kung saan ay darating sa susunod na linggo. 353 00:16:19,870 --> 00:16:24,200 >> Kaya ako ng pagpunta sa pumunta ng hanggang sa tuktok na sulok dito at mag-click sa Lumikha. 354 00:16:24,200 --> 00:16:27,840 At sa ilang sandali pupuntahan ko upang makakuha ng isang blangko screen sa pamamagitan ng kung saan ang maaari kong simulan 355 00:16:27,840 --> 00:16:30,380 mga programa sa graphical na ito mga programa kapaligiran. 356 00:16:30,380 --> 00:16:36,140 Ngunit oras na ito, ito ay magiging magkano, magkano ang mas simple upang aktwal na gawin ito. 357 00:16:36,140 --> 00:16:41,560 Kaya sa sandali lamang, kapag ang Wi-Fi cooperates, kami ay mayroon na ngayong screen na ito. 358 00:16:41,560 --> 00:16:44,870 Kaya isang mabilis na pandiwang tour, ngunit maglakas-loob ko sabihin, tiyak kapag sumisid sa 359 00:16:44,870 --> 00:16:46,840 unang problema set, bibigyan ka hanapin ang lahat ng mga napaka- 360 00:16:46,840 --> 00:16:48,315 naa-access at medyo madaling maunawaan. 361 00:16:48,315 --> 00:16:50,900 Ngunit sabihin magpinta ng isang larawang-diwa para lamang ng ilang sandali. 362 00:16:50,900 --> 00:16:54,620 >> Kaya sa ilalim ito prompt na nagsasabing i-save mga pagbabago, ikaw ay tungkol sa upang makita ang mga scratch. 363 00:16:54,620 --> 00:16:55,570 Ito ay isang engkanto. 364 00:16:55,570 --> 00:16:56,630 Ito ay isang character. 365 00:16:56,630 --> 00:17:00,740 At siya ay nakatira sa kung ano ang makikita namin tumawag sa isang entablado, ito malaki puting parihaba sa 366 00:17:00,740 --> 00:17:03,120 na maaaring siya ilipat pataas, pababa, pakaliwa, kanan, at gawin, talaga, 367 00:17:03,120 --> 00:17:04,670 iba pang mga uri ng mga aksyon. 368 00:17:04,670 --> 00:17:08,780 >> Samantala, sa gitna ng user na ito interface, mayroon kaming ang maramihang mga 369 00:17:08,780 --> 00:17:09,750 puzzle piraso. 370 00:17:09,750 --> 00:17:14,060 At makikita mo na ang sinasabi nilang mga bagay tulad ng ilipat ang 10 mga hakbang, naka-15 degrees, 371 00:17:14,060 --> 00:17:15,550 point sa isang tiyak na direksyon. 372 00:17:15,550 --> 00:17:17,910 Ngunit mayroong mga kategorya ng mga bloke up dito masyadong. 373 00:17:17,910 --> 00:17:21,410 Kaya kung pumunta ako sa mukha, makikita mo na mayroong iba pang mga puzzle na piraso 374 00:17:21,410 --> 00:17:25,530 wari ay sabihin ito sa cit kamustahin, mag-isip, upang ipakita ang 375 00:17:25,530 --> 00:17:26,780 kanyang sarili, itago ang kanyang sarili. 376 00:17:26,780 --> 00:17:30,830 Kung pumunta ako pababa upang Tunog, ito lumiliko out mayroong mga paraan upang i-play ang mga tunog tulad ng ngiyaw, 377 00:17:30,830 --> 00:17:32,670 upang ihinto ang lahat ng mga tunog, upang maglaro ng isang drum. 378 00:17:32,670 --> 00:17:36,530 >> Kaya, mahaba kuwento maikli, mayroong isang buo grupo ng mga piraso palaisipan na payagan mo 379 00:17:36,530 --> 00:17:40,920 upang sabihin ito pusa, o anumang bilang ng mga iba pang mga character, kung ano ang gagawin. 380 00:17:40,920 --> 00:17:43,850 Ngunit upang gawin ang lahat ng mangyayari sa iyo kailangan upang simulan ang programming. 381 00:17:43,850 --> 00:17:48,090 At ito malaki puting kahon, o kulay-abo na kahon, sa kanang bahagi, ito ay kung saan 382 00:17:48,090 --> 00:17:50,170 Pupuntahan ko talaga i-drag at drop ang mga piraso puzzle. 383 00:17:50,170 --> 00:17:54,320 Iyon ay ang aking mga teksto blangko window katumbas. 384 00:17:54,320 --> 00:17:57,070 >> Kaya pupuntahan ko sige at i-click ang Kontrolin sa gitna. 385 00:17:57,070 --> 00:17:58,540 O sa halip, hayaan mo akong magsimula up sa ilalim ng Kaganapan. 386 00:17:58,540 --> 00:18:01,530 Sa ilalim ng Mga Kaganapan hukuman, mapapansin mo ang isang Ilang mga bagay na sadyang 387 00:18:01,530 --> 00:18:05,240 Kurbadong sa itaas na sa paraan na marahil sila ay hindi pagkawingin sa 388 00:18:05,240 --> 00:18:06,710 tuktok ng piraso puzzle. 389 00:18:06,710 --> 00:18:10,160 At iyon ay dahil sila demark ng simula ng isang programa, sa simula ng isang 390 00:18:10,160 --> 00:18:11,910 script, kaya na magsalita. 391 00:18:11,910 --> 00:18:16,290 Kaya kung pumunta ako nang maaga at i-drag, kapag berde bandila na-click sa paglipas dito, at pagkatapos ay ako 392 00:18:16,290 --> 00:18:18,060 gusto pusa ito upang sabihin isang bagay nang una. 393 00:18:18,060 --> 00:18:20,510 Kaya ako ng pagpunta sa pumunta sa ilalim ang hitsura panel. 394 00:18:20,510 --> 00:18:24,060 At ako pagpunta sa sige at grab ang kamustahin bloke, at kaladkarin, at drop, 395 00:18:24,060 --> 00:18:27,220 at bitawan upang ito ay awtomatikong interlocks doon. 396 00:18:27,220 --> 00:18:28,640 >> At pagkatapos mapansin ang maaari kong mag-click sa teksto. 397 00:18:28,640 --> 00:18:31,960 At maaari kong i-override ito na maging mas tiyak na gusto, sabihin nating, kumusta mundo. 398 00:18:31,960 --> 00:18:36,340 At ngayon kami ay may mga programa na sinasabi ko ay katumbas na marami pang iba 399 00:18:36,340 --> 00:18:39,670 arcane programa ko ipinatupad sa C ng ilang sandali ang nakalipas. 400 00:18:39,670 --> 00:18:43,130 >> Kung pumunta ako sa ibabaw ngayon sa kaliwang bahagi, mapansin mayroong isang malaking sign stop 401 00:18:43,130 --> 00:18:44,520 at isang malaking green flag. 402 00:18:44,520 --> 00:18:46,390 Hayaan akong mag-zoom in para sa kalinawan. 403 00:18:46,390 --> 00:18:49,390 At kapag ako ngayong i-click ang berdeng bandila, maaari mong marahil hulaan kung ano ang unang 404 00:18:49,390 --> 00:18:51,920 programa ay ngayon pagpunta sa gawin. 405 00:18:51,920 --> 00:18:55,420 Kaya doon, masyadong, kami ay mga programa, ngunit Hindi kami talaga nagsisimula nabalaho sa putik 406 00:18:55,420 --> 00:18:58,980 sa ilan sa mga sintaktik, minutong detalye. 407 00:18:58,980 --> 00:19:01,120 >> Ngunit sabihin subukan ang isang bagay ng isang kaunti pa kagiliw-giliw. 408 00:19:01,120 --> 00:19:04,840 Hayaan akong pumunta sa aking scratch folder dito. 409 00:19:04,840 --> 00:19:10,210 At talagang, ipaalam sa akin kaya hayaan mo akong buksan up isang hiwalay na programa dito para lang 410 00:19:10,210 --> 00:19:17,830 sandali, I-maximize ang window na ito, Buksan ang File, at ako pagpunta sa pumunta sa ngayon 411 00:19:17,830 --> 00:19:18,620 pinagmulang direktoryo. 412 00:19:18,620 --> 00:19:21,660 Tulad ng nakasanayan, iyong makikita, ngayon at pasulong, na ang lahat ng mga halimbawa ngayong araw 413 00:19:21,660 --> 00:19:25,225 ay naa-access sa loob ng website ng kurso ni. 414 00:19:25,225 --> 00:19:31,170 >> At pupuntahan ko sige dito at pumili up ng isang maliit na isang bagay na naiiba. 415 00:19:31,170 --> 00:19:33,970 Ito ang isa dito, na kung saan Kailangan ko ng volunteer. 416 00:19:33,970 --> 00:19:36,850 Sino ang nais isang desk lamp ngayon? 417 00:19:36,850 --> 00:19:40,600 OK, kung paano tungkol sa isang tao ng kaunti - ikaw ay nasa dulo? 418 00:19:40,600 --> 00:19:42,124 Halika sa down. 419 00:19:42,124 --> 00:19:47,230 Ngayon, gusto mo bang upang lumahok, o sabihin lamang magsimula sa lampara desk? 420 00:19:47,230 --> 00:19:48,190 >> Vanessa: [hindi marinig]. 421 00:19:48,190 --> 00:19:48,465 >> David MALAN: OK. 422 00:19:48,465 --> 00:19:49,610 Mahusay, ano ang pangalan mo? 423 00:19:49,610 --> 00:19:49,990 Vanessa? 424 00:19:49,990 --> 00:19:50,570 David. 425 00:19:50,570 --> 00:19:51,390 Masaya akong makilala kayo. 426 00:19:51,390 --> 00:19:53,840 Kaya dumating sa up at Vanessa ng pagpunta upang kontrolin ang aking 427 00:19:53,840 --> 00:19:55,490 keyboard para lamang ng ilang sandali. 428 00:19:55,490 --> 00:19:57,850 At kung ano gumawa ako dito, para lamang sa panahon ni alang-alang, bilang ko na natanto ang 429 00:19:57,850 --> 00:20:01,070 Wi-Fi ay isang bit mabagal, wala, ang mga programa kapaligiran na kami ay 430 00:20:01,070 --> 00:20:04,110 ang paggamit, maaari ring ma-download at tumakbo sa iyong lokal na computer. 431 00:20:04,110 --> 00:20:06,360 Kaya kung ano ang ginawa ko nang maaga ng mga panayam, sa kaso na ang mangyayari, ay download ko 432 00:20:06,360 --> 00:20:09,120 sa lahat ng file kami tungkol sa upang i-play na may sa gayon ay maaari nilang magpatakbo ng isang kaunti pa 433 00:20:09,120 --> 00:20:10,840 mabilis dito mismo sa aking laptop. 434 00:20:10,840 --> 00:20:13,460 Kaya na ang dahilan kung bakit ngayon akong nakikitang Mac-tiyak na interface. 435 00:20:13,460 --> 00:20:15,510 >> Kaya pupuntahan ko sige at buksan up ng isang ito. 436 00:20:15,510 --> 00:20:18,400 Pupunta ako sa sige at ngayon full screen ang window. 437 00:20:18,400 --> 00:20:21,740 At tulad ng makikita mo, kaya namin nang napakabilis, bilang mag-aaral na ito ginawa, isa sa 438 00:20:21,740 --> 00:20:26,360 ang iyong mga predecessors, pumunta mula kumusta mundo sa isang magkano ang mas nakakahimok 439 00:20:26,360 --> 00:20:27,020 application. 440 00:20:27,020 --> 00:20:28,180 Kaya narito ang mga tagubilin. 441 00:20:28,180 --> 00:20:29,500 Oh, at kami ay may isa pang bagay. 442 00:20:29,500 --> 00:20:31,640 Akala ko magiging masaya, dahil, normal, kami ay pagkuha 443 00:20:31,640 --> 00:20:32,440 kamera na ito paraan. 444 00:20:32,440 --> 00:20:34,100 Akala ko magiging masaya kung, Vanessa, maaari naming makita ang mundo 445 00:20:34,100 --> 00:20:35,120 sa pamamagitan ng iyong mga mata. 446 00:20:35,120 --> 00:20:36,670 Kaya dito mayroon kaming ilang mga Google Glass. 447 00:20:36,670 --> 00:20:39,290 >> [ASTONISHED GASPS] 448 00:20:39,290 --> 00:20:41,610 >> David MALAN: Kami ay lamang ng pagbibigay layo desk lamp ngayon. 449 00:20:41,610 --> 00:20:43,530 >> [Tawa] 450 00:20:43,530 --> 00:20:45,260 >> Kaya hayaan mo akong cue ito up. 451 00:20:45,260 --> 00:20:49,340 Ang lahat ng mga karapatan, sa gayon hawakan ito. 452 00:20:49,340 --> 00:20:51,910 OK, Glass, record ng video. 453 00:20:51,910 --> 00:20:55,700 454 00:20:55,700 --> 00:20:56,950 Ang lahat ng mga karapatan, Vanessa? 455 00:20:56,950 --> 00:21:00,940 456 00:21:00,940 --> 00:21:05,560 Ngayon, bilang isang bukod na nakuha ko wala ang gagawin sa wala, kung tiningnan mo 457 00:21:05,560 --> 00:21:08,540 bahagyang up at sa kanan, makikita mo ang ang literal na salamin, at dapat mong 458 00:21:08,540 --> 00:21:09,650 makita ang isang maliit na hugis-parihaba window. 459 00:21:09,650 --> 00:21:11,500 Dapat mong makita ang lahat ng iyong mga kaklase na kumuha ngayon? 460 00:21:11,500 --> 00:21:11,840 Oo. 461 00:21:11,840 --> 00:21:12,340 >> Vanessa: Oo. 462 00:21:12,340 --> 00:21:12,920 >> David MALAN: OK. 463 00:21:12,920 --> 00:21:15,170 Kaya na fine. 464 00:21:15,170 --> 00:21:16,660 Susubukan naming ilabas ang footage sa ibang pagkakataon. 465 00:21:16,660 --> 00:21:18,460 Para sa ngayon, i-on ang iyong atensyon sa screen dito. 466 00:21:18,460 --> 00:21:20,990 At kung ano ang iyong hinalinhan ay tapos ay maglagay ng mga tagubilin sa screen 467 00:21:20,990 --> 00:21:22,670 sa pamamagitan lamang ng paggamit ng isang pintura programa. 468 00:21:22,670 --> 00:21:25,040 Kaya ka ng pagpunta sa, sa isang sandali, pindutin ang space bar upang magsimula. 469 00:21:25,040 --> 00:21:27,790 At pagkatapos ay ang ilang mga puzzle piraso ay pagpunta upang simulan ang paglipat ng up ang screen. 470 00:21:27,790 --> 00:21:30,900 At gusto mong pindutin ang mga arrow key, lamang nais sa real DDR, alinsunod 471 00:21:30,900 --> 00:21:32,740 may mga bagay lining up na may mga arrow. 472 00:21:32,740 --> 00:21:33,020 >> Vanessa: OK. 473 00:21:33,020 --> 00:21:33,800 >> David MALAN: mo na-play ito dati. 474 00:21:33,800 --> 00:21:34,140 >> Vanessa: Oo. 475 00:21:34,140 --> 00:21:37,330 >> David MALAN: Ang lahat ng karapatan, Vanessa, sige at dalhin ito ang layo. 476 00:21:37,330 --> 00:22:53,082 >> [Music - KAYNE WEST, "mas malakas"] 477 00:22:53,082 --> 00:22:57,080 >> [Palakpakan] 478 00:22:57,080 --> 00:22:59,750 >> David MALAN: Kaya natin ngayon tumagal ng isang hakbang mula sa na. 479 00:22:59,750 --> 00:23:01,230 Kaya malinaw, iyon ang katapusan ng laro. 480 00:23:01,230 --> 00:23:02,880 Ang katapusan ng laro ay hindi kumusta mundo. 481 00:23:02,880 --> 00:23:05,520 Ngunit hindi mo na kailangang kinakailangang gawin mga bagay na kaya interactive. 482 00:23:05,520 --> 00:23:06,810 Maaari mo ring gawin ang animation. 483 00:23:06,810 --> 00:23:10,790 Kaya halimbawa, isa pang isa sa iyong tagapagmana ginawa sa programang ito dito, 484 00:23:10,790 --> 00:23:14,100 na nagsasabi sa isang kuwento ng higit sa ito ay ipinatupad ng isang laro. 485 00:23:14,100 --> 00:23:19,180 Kaya ipaalam sa akin sige at buksan up ng isang dito programa sa aming parehong mapagkukunan direktoryo 486 00:23:19,180 --> 00:23:20,300 mula sa araw na ito. 487 00:23:20,300 --> 00:23:26,990 Ang isang pagtawag, at sabihin simulan may, isang kuwento ng pag-ibig cookie. 488 00:23:26,990 --> 00:23:30,750 >> At huwag gumawa ng mga ito masyadong akademiko, ngunit, habang pinapanood mo ang isang ito, sa tingin sa 489 00:23:30,750 --> 00:23:34,030 iyong sarili kung alin sa mga simpleng programming konsepto namin uusapang 490 00:23:34,030 --> 00:23:34,630 tungkol kaya sa ngayon - 491 00:23:34,630 --> 00:23:39,250 variable, at mga loop, at mga kondisyon, ang iyong hinalinhan marahil gamitin lamang 492 00:23:39,250 --> 00:23:41,090 upang ipatupad ang ilan sa ang visualization. 493 00:23:41,090 --> 00:23:41,760 Ang makikita mo dito. 494 00:23:41,760 --> 00:23:44,118 Kaya ako magbibigay sa iyo ng isang cookie kuwento ng pag-ibig. 495 00:23:44,118 --> 00:24:06,030 >> [Music - Green DAY, "Holiday"] 496 00:24:06,030 --> 00:24:08,022 >> [Crash] 497 00:24:08,022 --> 00:24:09,272 >> [Music - ANG pagong, "Maligayang-sama"] 498 00:24:09,272 --> 00:24:58,328 499 00:24:58,328 --> 00:25:00,560 >> David MALAN: Ang lahat ng karapatan, kaya doon, nagkaroon kami ng cookie kuwento ng pag-ibig. 500 00:25:00,560 --> 00:25:01,360 Ngunit kahit doon - 501 00:25:01,360 --> 00:25:01,755 >> [Palakpakan] 502 00:25:01,755 --> 00:25:08,110 >> David MALAN: Ang lahat ng karapatan, kahit doon, isipin ang tungkol, bilang mga puso nagpunta mula sa 503 00:25:08,110 --> 00:25:10,410 sa ibaba sa tuktok ng screen, nagkaroon talaga ng kaunting 504 00:25:10,410 --> 00:25:11,440 randomness nangyayari. 505 00:25:11,440 --> 00:25:14,150 At sa katunayan, makikita namin makita na kahit sa pinakasimpleng ng mga kapaligiran, tulad ng 506 00:25:14,150 --> 00:25:18,180 Sa simula, tulad ng sa C, maaari kang bumuo ng random na numero, o mga ilusyon ng 507 00:25:18,180 --> 00:25:21,110 random na numero, kaya na ang laro ay isang kaunti pa kagiliw-giliw kaysa sa kapangyarihan ito 508 00:25:21,110 --> 00:25:23,390 maging kung mayroon kang walang pasubali hard code ang lahat. 509 00:25:23,390 --> 00:25:26,360 >> Sa kilusan na nakikita mo, may mayroong ilang mga uri ng kakayahang tumugon. 510 00:25:26,360 --> 00:25:28,840 Sa sandali na ang tinapay mula sa luya tao touch gingerbread ang babae, siya 511 00:25:28,840 --> 00:25:30,000 Mukhang upang ilipat ang layo. 512 00:25:30,000 --> 00:25:33,580 At kaya, sa katunayan, maaari mong ipatupad, sa karamihan ng programming wika, ang paniwala 513 00:25:33,580 --> 00:25:38,680 ng mga kaganapan, kung saan ang isa kung kamay touch sa kabilang banda, na maaaring mag-trigger ng ilang mga 514 00:25:38,680 --> 00:25:41,270 ng iyong source code sa talaga execute. 515 00:25:41,270 --> 00:25:43,740 Maaari kang makinig para sa mga naturang bagay sa screen. 516 00:25:43,740 --> 00:25:47,310 >> Kaya sabihin magsagawa ng mabilis na paglilibot, pagkatapos, ng ang ilan sa mga bloke gusali na maaari naming gamitin 517 00:25:47,310 --> 00:25:48,790 upang makamit ang ilan sa mga layuning ito. 518 00:25:48,790 --> 00:25:51,630 Kaya narito ang bibigyan namin ng simula ngayon tumawag sa isang statement. 519 00:25:51,630 --> 00:25:55,030 Isang pahayag na ang mangyayari sa maging sa mga lilang Wala, isang maliit na isang bagay na tulad nito, 520 00:25:55,030 --> 00:25:56,120 ngunit iyan ay arbitrary. 521 00:25:56,120 --> 00:26:00,140 Isang pahayag lamang ang isang palaisipan o piraso, mas pangkalahatang paraan, ang isang pagtuturo, na 522 00:26:00,140 --> 00:26:03,370 Sinasabi sa computer na ang dapat gawin isang bagay, ang isang pahayag. 523 00:26:03,370 --> 00:26:04,680 >> Kaya narito ang isang simpleng halimbawa. 524 00:26:04,680 --> 00:26:05,930 Kamustahin mundo. 525 00:26:05,930 --> 00:26:08,180 Isa pang isa ay maaaring maghintay ng isang segundo. 526 00:26:08,180 --> 00:26:10,840 Kaya ito puzzle piraso, na kung saan ay suportado sa simula, ipapaalam namin sa iyong 527 00:26:10,840 --> 00:26:13,050 character ipo-pause para sa ilang mga bilang ng mga segundo. 528 00:26:13,050 --> 00:26:15,330 Ito, masyadong, lamang ang isang pahayag. 529 00:26:15,330 --> 00:26:18,640 >> Narito susunod, kami ay may isa pang karagdagang kagiliw-giliw na isa, pag-play ng tunog ngumyaw, at 530 00:26:18,640 --> 00:26:21,480 ang maliit na arrow ay nangangahulugan na sa simula, ito ay isang drop down na menu. 531 00:26:21,480 --> 00:26:22,590 Kaya maaari mong i-import ang mga tunog. 532 00:26:22,590 --> 00:26:25,095 Maaari mong i-record ng tunog at gumawa ng iba pang nakakatuwang bagay sa scratch. 533 00:26:25,095 --> 00:26:28,450 At iyon, masyadong, bagaman, sa dulo ng araw, lamang ang isang pahayag. 534 00:26:28,450 --> 00:26:31,250 Ngunit ngayon sabihin ipakilala ang isang mas kagiliw-giliw na piraso, na kilala bilang isang 535 00:26:31,250 --> 00:26:32,630 Boolean expression. 536 00:26:32,630 --> 00:26:35,180 Capital B, ipinangalan kapwa may pangalang Bool. 537 00:26:35,180 --> 00:26:39,500 >> At isang Boolean expression lamang ang puzzle piraso o, mas karaniwan, isang 538 00:26:39,500 --> 00:26:42,980 piraso ng impormasyon na alinman true o false - 539 00:26:42,980 --> 00:26:45,830 isa o zero, oo o hindi. 540 00:26:45,830 --> 00:26:48,420 Kaya ito ay isa lamang sa mga dalawang opposites. 541 00:26:48,420 --> 00:26:52,840 Kaya isa tulad Boolean expression sa mundo ng scratch ganito ang hitsura ng asul 542 00:26:52,840 --> 00:26:53,560 puzzle piraso. 543 00:26:53,560 --> 00:26:56,735 At ito ay humihingi ng isang katanungan, mouse down, at na maaaring maging alinman sa, ng 544 00:26:56,735 --> 00:26:58,430 Siyempre, totoo o hindi. 545 00:26:58,430 --> 00:27:01,710 Kaya may ganitong puzzle piraso sa wala, well, magagawa mong upang makita kung ang isang 546 00:27:01,710 --> 00:27:05,490 palaisipan kung mouse ang ay, sa katunayan, pagiging down na gaganapin sa pamamagitan ng mga tao Pakikipag-ugnay 547 00:27:05,490 --> 00:27:06,550 sa iyong programa. 548 00:27:06,550 --> 00:27:08,860 >> Isa na ito ay isang kaunti pa abstract, ngunit ang mga dalawang puting kahon 549 00:27:08,860 --> 00:27:09,740 ay para lamang sa mga numero. 550 00:27:09,740 --> 00:27:12,950 Kaya maaari mong gawin ang mga bagay tulad ng ito ay bilang mas mababa kaysa sa iba pang? 551 00:27:12,950 --> 00:27:16,180 At kung gayon, scratch ay kikilos isang paraan o sa iba pa. 552 00:27:16,180 --> 00:27:17,505 Isa na ito ay isang kaunti pa graphical. 553 00:27:17,505 --> 00:27:21,840 Ito ay kung ang mga engkanto, kung ang pusa, para sa Halimbawa, ay aktwal na pagpindot sa 554 00:27:21,840 --> 00:27:22,510 mouse pointer. 555 00:27:22,510 --> 00:27:25,780 Kaya kung ang maliit na arrow sa ulo ay pagpasada sa ibabaw ng pusa, pagkatapos ito 556 00:27:25,780 --> 00:27:28,030 puzzle piraso susuriin sa true. 557 00:27:28,030 --> 00:27:31,870 Ito ay magiging totoo, kung saan, kung gamitin ito Boolean expression, pati na bibigyan namin ng 558 00:27:31,870 --> 00:27:36,340 makita sa isang sandali, sa isang branch, maaari mong alinman sa gawin ito, o maaari mong gawin iyon, 559 00:27:36,340 --> 00:27:39,940 halos tulad namin ay nagkaroon ng isang kondisyon na naka-check, mayroon bang isa pa huling tao 560 00:27:39,940 --> 00:27:40,460 sa kuwarto? 561 00:27:40,460 --> 00:27:42,070 Kung gayon, magdagdag ng isa. 562 00:27:42,070 --> 00:27:44,430 Kung hindi man, huwag mag-alala pa. 563 00:27:44,430 --> 00:27:48,650 >> Kaya isang Boolean expression ay maaari ding maging at-ed magkasama o o-ed magkasama. 564 00:27:48,650 --> 00:27:53,120 Kaya maaari mong pagsamahin ang Boolean expression at sabihin na ito at ito ay dapat na tunay na para sa 565 00:27:53,120 --> 00:27:54,710 ang buong bagay upang maging totoo. 566 00:27:54,710 --> 00:27:56,520 At dito ay isang mas tunay na halimbawa mundo. 567 00:27:56,520 --> 00:28:00,060 Kung gumamit ka ng CS50 Kurso na gawin kurso shopping, mga check boxes 568 00:28:00,060 --> 00:28:03,520 doon, kung saan mo check na kahon sa tabi sa kurso, na sinasabi, oo, 569 00:28:03,520 --> 00:28:07,860 lamang ipakita sa akin ang mga kurso para sa kung saan Q ang halaga ay 4.5 o mas mataas. 570 00:28:07,860 --> 00:28:10,610 Kung alisin ang tsek nito, hindi, hindi mag-alala tungkol sa na. 571 00:28:10,610 --> 00:28:13,910 O mga kaparehong, sa kanan, hindi ba Kaguluhan Sa Kurso ako Tumatagal, 572 00:28:13,910 --> 00:28:15,650 na alinman true o false. 573 00:28:15,650 --> 00:28:16,715 Ito ay lamang ng isang Boolean expression. 574 00:28:16,715 --> 00:28:20,080 Kaya lahat ng mga oras na ito kapag ginamit mo mga website na may mga check box, ikaw lang 575 00:28:20,080 --> 00:28:23,570 toggling ang katumbas ng isang Boolean expression on at off. 576 00:28:23,570 --> 00:28:25,270 >> Kaya sa kung ano ang form na huwag mong gamitin ang mga ito? 577 00:28:25,270 --> 00:28:28,820 Well, sa scratch, makikita namin makita sa isang sandali na may mga kondisyon na 578 00:28:28,820 --> 00:28:29,560 ganito ang hitsura. 579 00:28:29,560 --> 00:28:33,130 At iyon ang uri ng matinong dahil magkano tulad ng sa pseudocode, kami naka-indent 580 00:28:33,130 --> 00:28:38,550 ang uri ng U-shaped piraso puzzle, ibig sabihin anumang bagay na nasa loob ng na U ay 581 00:28:38,550 --> 00:28:41,390 pagpunta sa execute, o hindi, depende sa kung saan ito ay. 582 00:28:41,390 --> 00:28:45,310 Kaya kung Boolean expression, pagkatapos ay ano ang nasa loob ay makapag pinaandar. 583 00:28:45,310 --> 00:28:46,800 >> Samantala, mayroong isang kung / pa ang block. 584 00:28:46,800 --> 00:28:50,320 Kaya kung nais mo ang isang sangay na napupunta ito paraan o na, scratch ay nagbibigay sa amin na. 585 00:28:50,320 --> 00:28:54,500 At ayon sa logic na ito, ngayon, kahit na puzzle piraso ay malinaw na masyadong maliit 586 00:28:54,500 --> 00:28:57,400 upang kalang ibang bagay sa loob nito, scratch ang puzzle piraso, ang mga ito ay 587 00:28:57,400 --> 00:28:58,150 lamang ng pagpunta sa lumago. 588 00:28:58,150 --> 00:29:01,370 Kapag nag-i-drag at i-drop sa paglipas ng isang bagay, ay ito lamang lumago upang magkasya kahit anong ito 589 00:29:01,370 --> 00:29:02,510 ay na sinusubukan mong gawin. 590 00:29:02,510 --> 00:29:07,230 >> Kaya maaari naming tumagal ng dalawang mga bagay na ito at gumawa ng tatlong paraan tinidor sa kalsada kaya 591 00:29:07,230 --> 00:29:11,300 na sa iyo ang alinman sa gawin ito, o na, o ang iba pang mga bagay sa pamamagitan lamang ng nesting sila 592 00:29:11,300 --> 00:29:12,070 sa na paraan. 593 00:29:12,070 --> 00:29:14,370 Siyempre, kung gagawin mo na masyadong magkano, ito ay nagsisimula upang makakuha ng pangit. 594 00:29:14,370 --> 00:29:17,660 Ngunit sa puntong iyon, ikaw talaga Marahil hindi programa nang mahusay. 595 00:29:17,660 --> 00:29:20,490 At nang sa gayon ay magiging paulit-ulit tema, masyadong, na ng estilo. 596 00:29:20,490 --> 00:29:22,790 Lamang kung gaano kahusay ko talaga format ang iyong code? 597 00:29:22,790 --> 00:29:24,580 O kung gaano kahusay mo idisenyo ang iyong code? 598 00:29:24,580 --> 00:29:26,430 Ngunit higit pa sa na sa hinaharap. 599 00:29:26,430 --> 00:29:27,470 >> At ngayon, mayroon kaming mga loop. 600 00:29:27,470 --> 00:29:30,310 Mayroong Ang ganda ng loop magpakailanman sa scratch Literal na nangangahulugan na - gawin 601 00:29:30,310 --> 00:29:32,710 ano ang nasa loob ng mga ito muli, at muli, at muli. 602 00:29:32,710 --> 00:29:35,880 Maaari kang maging mas kongkreto at sinasabi, gawin ang mga sumusunod na bagay 10 beses. 603 00:29:35,880 --> 00:29:37,620 Maaari mo ring gamitin ang mga variable. 604 00:29:37,620 --> 00:29:40,260 Maaari kang makabuo ng anuman sa pangalan na maliit na drop down at sabihin, ninyo ako ng 605 00:29:40,260 --> 00:29:43,190 variable na tinatawag n at itakda ang kasing-halaga nito sa ilang mga halaga. 606 00:29:43,190 --> 00:29:44,910 At pagkatapos ay maaari kang magkaroon ng mga function. 607 00:29:44,910 --> 00:29:46,850 Ngunit higit pa sa mga nasa sandali lamang. 608 00:29:46,850 --> 00:29:49,140 >> Hayaan akong bumalik sa aking Scratch interface. 609 00:29:49,140 --> 00:29:50,970 At ipaalam sa akin sige oras na ito. 610 00:29:50,970 --> 00:29:56,660 At sabihin sige at buksan up, sabihin nating, isang halimbawa mula sa - 611 00:29:56,660 --> 00:29:58,740 na ng kaunti pa sa kawili-wiling. 612 00:29:58,740 --> 00:30:00,750 Hayaan akong sige, at, talaga, ipaalam sa akin lamang gawin itong aking sarili. 613 00:30:00,750 --> 00:30:01,960 Hindi ko kailangan upang buksan ang isang ito. 614 00:30:01,960 --> 00:30:03,390 Hayaan akong pumunta sa File, New. 615 00:30:03,390 --> 00:30:04,740 Pupunta ako upang pumunta sa Kaganapan. 616 00:30:04,740 --> 00:30:08,460 Pupunta ako upang pumunta sa kapag berde bandila nag-click, at ako pagpunta sa pumunta sa Tunog. 617 00:30:08,460 --> 00:30:11,590 At ako pagpunta sa i-drag at i-drop ito puzzle piraso, i-play ang sound ngiyaw. 618 00:30:11,590 --> 00:30:12,580 Ito latches magkasama. 619 00:30:12,580 --> 00:30:14,327 At ngayon, kung ako i-click ang berdeng bandila - 620 00:30:14,327 --> 00:30:16,260 >> [Ngumyaw sound] 621 00:30:16,260 --> 00:30:17,500 >> David MALAN: karapat-dapat sambahin. 622 00:30:17,500 --> 00:30:21,560 OK, kaya ngayon natin gawin ang isang bagay ng kaunti mas lohikal lamang upang ipakita na 623 00:30:21,560 --> 00:30:22,760 makakaya namin, para sa ngayon. 624 00:30:22,760 --> 00:30:25,550 Pupunta ako sa unlatch ito mula sa na tao. 625 00:30:25,550 --> 00:30:27,000 Pupunta ako sa pumunta sa Control. 626 00:30:27,000 --> 00:30:28,770 At ako pagpunta sa grab isang kondisyon. 627 00:30:28,770 --> 00:30:30,600 Kaya kung may isang bagay pagkatapos. 628 00:30:30,600 --> 00:30:32,020 Kaya na sa hitsura nito doon. 629 00:30:32,020 --> 00:30:33,890 Kaya Kailangan ko ng Boolean expression. 630 00:30:33,890 --> 00:30:38,130 At ipaalam sa akin sige at sabihin, hayaan mo akong pumunta sa operator. 631 00:30:38,130 --> 00:30:40,270 Pupunta ako sa gawin ang isang bagay nang bahagya mathy, para lamang sa mga kicks. 632 00:30:40,270 --> 00:30:43,600 Pupunta ako sa pumunta sa dito at sabihin, kung may isang bagay na mas mababa kaysa sa ibang bagay, 633 00:30:43,600 --> 00:30:45,030 sige at gawin ang isang bagay. 634 00:30:45,030 --> 00:30:46,890 Kaya ngayon, alam mo kung ano, isang random block. 635 00:30:46,890 --> 00:30:51,620 Kaya pansinin kung paano, kung mag-hover sa ibabaw ko ito bagay dito, iyon ay mapatid na bigla sa doon. 636 00:30:51,620 --> 00:30:54,090 >> Kaya ngayon, notice, ako na nagsisimula na gawin isang bagay na mas lohikal 637 00:30:54,090 --> 00:30:54,650 kawili-wili. 638 00:30:54,650 --> 00:30:59,720 Kung ang isang random na numero sa pagitan ng 1 at 10 ay mas mababa kaysa sa, sabihin nating anim. 639 00:30:59,720 --> 00:31:03,670 Kapag pinili ko ang anim, na mahalagang ibig sabihin, gawin ang mga sumusunod na may 50% 640 00:31:03,670 --> 00:31:03,980 bagay na maaaring mangyari. 641 00:31:03,980 --> 00:31:05,460 Ito ay tulad ng flipping ng barya. 642 00:31:05,460 --> 00:31:07,330 Ngayon, maaari kong gawin ang isang bagay nang may pasubali. 643 00:31:07,330 --> 00:31:10,800 At isang bagay na pupuntahan ko upang gawin ay i-play ang sound. 644 00:31:10,800 --> 00:31:14,280 Kaya ngayon, kapag nag-click ako sa screen flag, ito ay tulad ng paghuhugas ng barya. 645 00:31:14,280 --> 00:31:14,610 >> [Ngumyaw sound] 646 00:31:14,610 --> 00:31:17,160 >> David MALAN: Ito ay ulo o watnat doon. 647 00:31:17,160 --> 00:31:17,920 Natin gawin itong muli. 648 00:31:17,920 --> 00:31:18,860 >> [Ngumyaw sound] 649 00:31:18,860 --> 00:31:19,790 >> David MALAN: ulo muli. 650 00:31:19,790 --> 00:31:20,280 >> [Ngumyaw sound] 651 00:31:20,280 --> 00:31:21,500 >> David MALAN: ulo muli. 652 00:31:21,500 --> 00:31:22,631 Phew, OK. 653 00:31:22,631 --> 00:31:24,720 Tails na oras. 654 00:31:24,720 --> 00:31:29,545 Kaya 50% ng oras, kung gagawin namin ito walang hanggan mahaba, kami ay kumuha ng 50% meows 655 00:31:29,545 --> 00:31:32,180 at 50% silences. 656 00:31:32,180 --> 00:31:34,850 Kaya doon, lamang ng pangunahing gusali block na nagbibigay-daan sa amin gawin iyon. 657 00:31:34,850 --> 00:31:37,710 Ngunit ito ay uri ng nakakapagod na mayroon akong upang panatilihin ang pag-click na pindutan. 658 00:31:37,710 --> 00:31:39,810 Kaya sabihin lamang i-drag at throw lahat ng mga layo. 659 00:31:39,810 --> 00:31:42,270 Kung nag-drag ka sa kanila sa gitna, makikita lang nila tanggalin ang kanilang mga sarili. 660 00:31:42,270 --> 00:31:43,760 >> Hayaan akong pumunta up upang makontrol. 661 00:31:43,760 --> 00:31:46,060 Hayaan akong pumunta sa magpakailanman. 662 00:31:46,060 --> 00:31:49,952 At oras na ito, ako pagpunta sa gawin isang bagay minorly nakakainis. 663 00:31:49,952 --> 00:31:51,560 >> [Tawa] 664 00:31:51,560 --> 00:31:53,370 >> David MALAN: At hayaan mo akong pumunta Magpatuloy at gawin kontrol. 665 00:31:53,370 --> 00:31:57,260 Maghintay ng isang segundo, kaya lang hindi ito masyadong parilya. 666 00:31:57,260 --> 00:31:59,870 >> [Ngumyaw sound] 667 00:31:59,870 --> 00:32:00,970 >> David MALAN: Iyan ay hindi natural. 668 00:32:00,970 --> 00:32:01,861 OK. 669 00:32:01,861 --> 00:32:04,510 >> [Ngumyaw sound] 670 00:32:04,510 --> 00:32:06,406 >> David MALAN: At notice kung ano ang, Nice tungkol sa wala, para sa mga ng sa iyo kung sino 671 00:32:06,406 --> 00:32:09,210 may bago programing karanasan, mo Hindi kailangang magsimula at huminto. 672 00:32:09,210 --> 00:32:10,060 Hindi mo kailangang i-compile. 673 00:32:10,060 --> 00:32:13,210 Ikaw lamang baguhin ito, at ang mga programa ay iangkop dynamic. 674 00:32:13,210 --> 00:32:14,620 Kaya ito ay hindi nakakakuha ng isang maliit na kawili-wili. 675 00:32:14,620 --> 00:32:16,930 Ngunit sabihin dalhin ito isang hakbang karagdagang. 676 00:32:16,930 --> 00:32:19,760 Hayaan akong sige at makakuha ng alisan na programa. 677 00:32:19,760 --> 00:32:23,300 >> [Ngumyaw sound] 678 00:32:23,300 --> 00:32:25,520 >> David MALAN: Iyon ay kung ano ang aming bibigyan tumawag sa isang bug sa scratch. 679 00:32:25,520 --> 00:32:26,770 Hindi niya ay dapat panatilihin sa paggawa na tunog. 680 00:32:26,770 --> 00:32:28,340 Kaya namin sasabihin namin sa kanya upang ihinto. 681 00:32:28,340 --> 00:32:30,435 Ang lahat ng mga karapatan, kaya ngayon ako pagpunta sa pumunta sa - 682 00:32:30,435 --> 00:32:32,180 Ipapaalam ko sa MIT alam. 683 00:32:32,180 --> 00:32:35,160 Susubukan naming pumunta sa paglipas dito sa Habang Panahon. 684 00:32:35,160 --> 00:32:37,240 At ngayon, gusto kong gawin ang isang bagay muli at muli. 685 00:32:37,240 --> 00:32:38,760 Pupunta ako sa pumunta sa Control. 686 00:32:38,760 --> 00:32:41,570 >> At sabihin makita, pupuntahan ko upang i-drag kung ang aking kalagayan doon. 687 00:32:41,570 --> 00:32:42,850 Kaya ngayon mapansin ang logic. 688 00:32:42,850 --> 00:32:46,430 Kapag ang berdeng bandila ay na-click, gawin isang bagay na magpakailanman, ngunit lamang gawin iyon 689 00:32:46,430 --> 00:32:48,890 isang bagay kung ito iba pang mga bagay ay totoo. 690 00:32:48,890 --> 00:32:51,480 Pupunta ako upang pumunta sa, sabihin sabihin, Pagramdam. 691 00:32:51,480 --> 00:32:54,430 At ako pagpunta sa sige at piliin ang paghawak at i-drop ito doon. 692 00:32:54,430 --> 00:32:55,930 Iyan ay isang Boolean expression. 693 00:32:55,930 --> 00:32:57,740 >> At ngayon, mapansin, sa drop ito down na menu, may mga 694 00:32:57,740 --> 00:32:59,050 ang ilang mga paunang-natukoy na mga halaga. 695 00:32:59,050 --> 00:33:00,910 Kaya ang maaari kong sabihin, ang iyong pagpindot sa gilid ng screen? 696 00:33:00,910 --> 00:33:03,900 O kaya ay sa iyo ng pagpindot sa mouse pointer, ang arrow sa screen? 697 00:33:03,900 --> 00:33:04,620 Kaya ako ng pagpunta sa gawin iyon. 698 00:33:04,620 --> 00:33:08,770 At kung gayon, pagkatapos ay ako pagpunta sa pumunta Magpatuloy at i-play ng tunog ngiyaw. 699 00:33:08,770 --> 00:33:11,250 Kaya ngayon ako uri ng mayroon ang Beginnings ng isang laro - 700 00:33:11,250 --> 00:33:13,110 kaibig-ibig ng isang laro. 701 00:33:13,110 --> 00:33:14,060 >> [Ngumyaw sound] 702 00:33:14,060 --> 00:33:17,250 >> David MALAN: OK, ang isang kaibig-ibig, maraming surot laro. 703 00:33:17,250 --> 00:33:20,770 Hayaan akong maghintay, sabihin nating, isang segundong doon. 704 00:33:20,770 --> 00:33:24,910 Ngayon i-play muli, sa pamamagitan ng pag-click ang berdeng bandila. 705 00:33:24,910 --> 00:33:27,860 >> [Ngumyaw sound] 706 00:33:27,860 --> 00:33:30,460 >> David MALAN: Kaya ngayon ito tulad ng isang petting pusa. 707 00:33:30,460 --> 00:33:31,850 >> [Ngumyaw sound] 708 00:33:31,850 --> 00:33:34,460 >> David MALAN: Ang lahat ng karapatan, ito ngayon isa akong gumawa nang maaga. 709 00:33:34,460 --> 00:33:39,250 Abalang-abala, ito ay makakakuha ng uri ng madaling gawin bobo mga bagay. 710 00:33:39,250 --> 00:33:40,240 Kaya hayaan mo akong pumunta sa dito. 711 00:33:40,240 --> 00:33:43,720 Sabihin natin, na ang pet Cat. 712 00:33:43,720 --> 00:33:46,600 Natin ngayon buksan Huwag pet ang Cat. 713 00:33:46,600 --> 00:33:48,330 Ngayon, kung i-play namin ang isang ito, maaari mong hulaan, kung ikaw ay 714 00:33:48,330 --> 00:33:49,650 pagtingin sa screen - 715 00:33:49,650 --> 00:33:51,090 >> [Ngumyaw sound] 716 00:33:51,090 --> 00:33:52,170 >> David MALAN: Ngayon, kung ako ang alagang hayop pusa 717 00:33:52,170 --> 00:33:55,420 >> ['S Leon umatungal] 718 00:33:55,420 --> 00:33:57,260 >> David MALAN: Kaya hindi talaga alagang hayop ang pusa sa kasong iyon. 719 00:33:57,260 --> 00:34:01,350 Kaya ngayon namin na lang ay isang halimbawa ng isang sangay na ang nangyayari sa dalawang direksyon. 720 00:34:01,350 --> 00:34:03,130 Ngayon ipaalam sa akin sige at magbukas ng isa pa dito. 721 00:34:03,130 --> 00:34:07,120 Ang isa, din, bukod sa aming pinagmulan code para sa mga file ng araw. 722 00:34:07,120 --> 00:34:13,199 Kaya hayaan mo akong bumalik sa aking Pinagmulan direktoryo at pumunta sa, sabihin pumili 723 00:34:13,199 --> 00:34:15,610 ito tao dito at makita kung ano ang naiiba. 724 00:34:15,610 --> 00:34:17,449 >> Wow, lahat ng karapatan, kaya ngayon nakakakuha ito ng medyo mas kumplikado. 725 00:34:17,449 --> 00:34:21,300 At bago makita namin kung ano ang tao na ito ang ipinapakita, sabihin subukan upang magpakilala, mula sa program 726 00:34:21,300 --> 00:34:22,219 sa kanang bahagi. 727 00:34:22,219 --> 00:34:25,590 At ngayon scratch malinaw na nagbibigay-daan sa amin upang magkaroon ng maramihang mga script, ang maramihang 728 00:34:25,590 --> 00:34:29,730 mga programang kaugnay ng isang engkanto, may isang character, at, tila, 729 00:34:29,730 --> 00:34:31,760 sila ay parehong pagpunta upang tumakbo sa lockstep. 730 00:34:31,760 --> 00:34:35,570 Dahil pareho sa mga programang ito ay nagsisimula kapag may berdeng mga pag-click flag, ito ay 731 00:34:35,570 --> 00:34:38,650 hinting sa isang mas advanced na mga paksa, na may kung saan ang ilan sa iyo ay maaaring maging pamilyar, 732 00:34:38,650 --> 00:34:40,580 Kilala bilang threading, o multi-threading. 733 00:34:40,580 --> 00:34:44,400 >> Lumiliko out, mahaba kuwento maikli, mga computer ngayon maaari talagang gawin ang maramihang 734 00:34:44,400 --> 00:34:45,270 mga bagay nang sabay-sabay. 735 00:34:45,270 --> 00:34:48,659 O maaari nilang gawin ang isang bagay sa isang pagkakataon kaya mabilis na hindi mo mapansin kahit na 736 00:34:48,659 --> 00:34:50,150 talaga ito ng paggawa ng isa bagay sa isang pagkakataon. 737 00:34:50,150 --> 00:34:53,320 Ngunit para sa ngayon, sabihin ipinapalagay na ang parehong ng mga programang ito ay pumunta upang maisagawa sa 738 00:34:53,320 --> 00:34:54,310 sa parehong oras. 739 00:34:54,310 --> 00:34:57,350 At notice, parehong sa mga ito ay magpakailanman puzzle piraso. 740 00:34:57,350 --> 00:35:01,270 Kaya sila ay parehong pagpunta sa panatilihing tumatakbo hanggang ako pindutin ang red-sign stop. 741 00:35:01,270 --> 00:35:02,100 >> Kaya kung ano sila ay pagpunta sa gawin? 742 00:35:02,100 --> 00:35:06,030 Sa kaliwang bahagi, ako ay tila deklarasyon ng variable na tinatawag na tunog. 743 00:35:06,030 --> 00:35:09,030 Kaya hindi ako nag-call na ito ng isang bagay tulad ng mainip tulad N. Tumawag ako ito mute ito 744 00:35:09,030 --> 00:35:10,240 oras upang ihatid kahulugan. 745 00:35:10,240 --> 00:35:11,780 Ako magse-set ito katumbas ng zero. 746 00:35:11,780 --> 00:35:16,200 Sabihin isipin na bilang False, o sabihin isipin na bilang Maling. 747 00:35:16,200 --> 00:35:17,490 >> Ngayon, magpakailanman gawin ang mga sumusunod. 748 00:35:17,490 --> 00:35:23,280 Kung ang space bar sa keyboard ay pipi, pagkatapos kung naka-mute na katumbas ng zero, 749 00:35:23,280 --> 00:35:25,930 pagkatapos ay baguhin ang naka-mute na katumbas ng isa. 750 00:35:25,930 --> 00:35:27,580 Iba Pa, itakda mute sa zero. 751 00:35:27,580 --> 00:35:30,530 Kaya lohikal, kahit na isang buo grupo ng mga piraso palaisipan na 752 00:35:30,530 --> 00:35:33,160 lang sinasabi, kapag ako pindutin ang Space bar, ano ang dapat kong gawin upang ang variable 753 00:35:33,160 --> 00:35:34,750 tinatawag na mute? 754 00:35:34,750 --> 00:35:37,170 Baguhin ang mga ito mula sa isa sa zero, o zero sa isa. 755 00:35:37,170 --> 00:35:37,840 Iyon lang. 756 00:35:37,840 --> 00:35:40,740 Kaya ito ay tulad ng pag-on ng light switch on o off at pagtanda, na may isang 757 00:35:40,740 --> 00:35:42,330 variable, na gumawa ako na. 758 00:35:42,330 --> 00:35:45,990 >> Samantala, sa kanang bahagi, sa mga tuntunin lego, na kung ano ang hangarin ng 759 00:35:45,990 --> 00:35:47,547 ang script sa kanan? 760 00:35:47,547 --> 00:35:48,860 >> MAG-AARAL: Upang i-play ang sound dagat leon. 761 00:35:48,860 --> 00:35:52,500 >> David MALAN: Upang i-play Sea Lion tunog, kung siya ay hindi naka-mute, sa pamamagitan ng 762 00:35:52,500 --> 00:35:53,480 likas na katangian ng na variable. 763 00:35:53,480 --> 00:35:57,360 Kaya namin ibinabahagi ng estado, sa gayon na magsalita, sa pagbabahagi ng impormasyon sa buong ang dalawang 764 00:35:57,360 --> 00:36:00,540 dahil ang mga script, mapapansin dito, kami ay magpakailanman paggawa ng sumusunod. 765 00:36:00,540 --> 00:36:04,620 Kung naka-mute ay zero, kaya kung ito ay hindi naka-mute - kung naka-mute false, pagkatapos i-play 766 00:36:04,620 --> 00:36:05,980 ito tunog Sea Lion. 767 00:36:05,980 --> 00:36:09,930 At sa tingin sa iyong sarili, hi, hi, hi, para sa dalawang segundo, maghintay ng ilang sandali, at pagkatapos ay 768 00:36:09,930 --> 00:36:11,140 suriin muli. 769 00:36:11,140 --> 00:36:15,150 Kaya kung pumunta kami ngayon sa paglipas dito sa kaliwa, upang kung saan ang tao na ito ay, at pindutin ang 770 00:36:15,150 --> 00:36:16,662 green flag, 771 00:36:16,662 --> 00:36:30,260 >> [Dagat leon sound] 772 00:36:30,260 --> 00:36:31,910 >> David MALAN: Sa anong punto ang ipinapakita ito makakuha ng talagang nakakainis? 773 00:36:31,910 --> 00:36:33,440 Dahil ito ay pumunta lamang sa magpakailanman. 774 00:36:33,440 --> 00:36:36,490 Kaya minsan, walang katapusan na mga loop, kaya na magsalita, ay sinadya. 775 00:36:36,490 --> 00:36:41,140 Ngunit sa kasong ito, sa lalong madaling ko pindutin ang Space bar, siya tumitigil. 776 00:36:41,140 --> 00:36:42,800 Ngayon ang programa ay hindi mag-quit. 777 00:36:42,800 --> 00:36:44,760 Pa rin Ito ay tumatakbo sa mga loop. 778 00:36:44,760 --> 00:36:46,540 Ngunit kung nakukuha ko ang space bar muli - 779 00:36:46,540 --> 00:36:47,851 >> [Dagat leon sound] 780 00:36:47,851 --> 00:36:49,650 >> David MALAN: Siya'y pagpunta sa pick up kung saan siya kaliwa off. 781 00:36:49,650 --> 00:36:53,240 Kaya doon ay isang paraan para sa amin upang gawin isang bagay muli at muli ngunit, na 782 00:36:53,240 --> 00:36:54,920 oras, nang may pasubali lamang. 783 00:36:54,920 --> 00:36:58,940 Well, habang kami ay sa ugat ng paggawa bagay muli at muli, hayaan mo akong 784 00:36:58,940 --> 00:37:01,370 pumunta sa isa pang tulad halimbawa dito. 785 00:37:01,370 --> 00:37:04,370 Ito ang isa naming tawagan pagbibilang ng tupa. 786 00:37:04,370 --> 00:37:05,710 >> At mapansin tao kung ano ang ginagawa nito. 787 00:37:05,710 --> 00:37:08,540 Ito ay talagang isang bit mas katulad ng pseudocode namin nilalaro gamit sa 788 00:37:08,540 --> 00:37:12,230 Miyerkules, kung saan siya ay nagtatakda ng ilang mga sagot, Sa tingin ng mga ito ay bilang n muli, upang 789 00:37:12,230 --> 00:37:14,030 zero, siya magpakailanman ang mga sumusunod na. 790 00:37:14,030 --> 00:37:17,960 Sabi niya halaga ang counter para sa isa pangalawa, naghihintay isang segundo, at pagkatapos ay 791 00:37:17,960 --> 00:37:19,430 nagbabago ang sagot sa pamamagitan ng isa. 792 00:37:19,430 --> 00:37:21,570 At sa kontekstong ito, na lamang Nangangahulugan ito unti. 793 00:37:21,570 --> 00:37:23,250 Kaya siya nagdadagdag ng isa dito. 794 00:37:23,250 --> 00:37:25,830 Kaya ito ay literal - 795 00:37:25,830 --> 00:37:27,890 ito ay hindi masyadong ano sa tingin namin bilang ng pagbibilang ng tupa. 796 00:37:27,890 --> 00:37:33,120 Ito ang tupa ng paggawa ng pagbilang, magpakailanman, hanggang mula sa zero. 797 00:37:33,120 --> 00:37:35,560 >> Kaya maaari naming gawin ang mga kaparehong bagay doon, lohikal. 798 00:37:35,560 --> 00:37:37,750 Ngunit ngayon sabihin subukan upang linisin ang ilan sa mga bagay na ito up. 799 00:37:37,750 --> 00:37:43,440 Hayaan akong sige ngayon sa isang simpleng halimbawa kung saan ang aming pusa ay lamang ng pagpunta sa 800 00:37:43,440 --> 00:37:44,750 simulan ubo. 801 00:37:44,750 --> 00:37:48,830 Ang lahat ng mga karapatan, kaya dito kami ay may ubo 0 - 802 00:37:48,830 --> 00:37:50,685 computer na siyentipiko magsimula pagbibilang mula sa 0. 803 00:37:50,685 --> 00:37:53,480 Kaya pusa na ito ay lamang ng pagpunta sa pag-ubo nang tatlong beses. 804 00:37:53,480 --> 00:37:54,890 At narito kung paano naipatupad ko na. 805 00:37:54,890 --> 00:38:00,130 Kapag berdeng bandila ay na-click, ubo, maghintay, pag-ubo, maghintay, pag-ubo, maghintay. 806 00:38:00,130 --> 00:38:02,470 At ginawa ko ito sa pamamagitan lamang ng pag-drag at pag-drop piraso puzzle. 807 00:38:02,470 --> 00:38:04,740 O kung sinimulan mo sa manghihinang sa wala, makikita mo ang makakaya mo talaga 808 00:38:04,740 --> 00:38:08,620 duplicate na mga piraso sa gayon ay maaari mong gawin mga bagay na mas mabilis nang walang pag-drag 809 00:38:08,620 --> 00:38:10,310 at pag-drop ng ad nauseum. 810 00:38:10,310 --> 00:38:12,680 >> Ngunit kami ay hindi sa pinakamahusay na landas dito. 811 00:38:12,680 --> 00:38:15,210 Dahil paano ko gumawa siya ubo 1/4 ng oras? 812 00:38:15,210 --> 00:38:16,790 Well, maaari ba akong uri-uriin ng pumunta pababa dito. 813 00:38:16,790 --> 00:38:19,420 Kaya kong duplicate at pagkatapos ay i-paste ito sa doon. 814 00:38:19,420 --> 00:38:21,740 Paano ako gagawa ng kanya ubo ang ikalimang oras? 815 00:38:21,740 --> 00:38:23,230 Well, kopyahin at i-paste muli. 816 00:38:23,230 --> 00:38:24,210 O i-drag ang drop muli. 817 00:38:24,210 --> 00:38:26,920 At masyadong mabilis, programa na ito ay nagsisimula upang makakuha ng talagang, talagang kalabisan, 818 00:38:26,920 --> 00:38:28,880 talaga ang haba, ngunit talagang hindi kawili-wili. 819 00:38:28,880 --> 00:38:30,120 Subalit mayroong isang paraan upang linisin ito up. 820 00:38:30,120 --> 00:38:33,680 Ano ang halata paraan upang linisin ito up? 821 00:38:33,680 --> 00:38:36,280 >> OK, kaya kami maaaring aktwal na talagang pumunta out at, kapag ikaw pindutin ang space 822 00:38:36,280 --> 00:38:37,070 bar, siya ay umubo. 823 00:38:37,070 --> 00:38:40,150 Ngunit kung ko lang nais na gawin ang isang bagay repetitively, isipin ang na kaming 824 00:38:40,150 --> 00:38:41,310 kontrol ng ilang mga constructs. 825 00:38:41,310 --> 00:38:43,800 Hayaan akong ilipat ito sa labas ng paraan, pumunta sa ilalim ng Control. 826 00:38:43,800 --> 00:38:47,340 Hayaan akong lamang gawin ang isang umuulit, sabihin, tatlong beses. 827 00:38:47,340 --> 00:38:49,410 At ngayon hayaan nakawin sa akin ang ilang ng mga piraso palaisipan. 828 00:38:49,410 --> 00:38:50,980 Hayaan akong mapatid na bigla ito sa dito. 829 00:38:50,980 --> 00:38:52,400 Hayaan akong magtapon ng mga ito ang layo ng sama-sama. 830 00:38:52,400 --> 00:38:55,400 >> At ngayon, mayroon akong isang mas mahusay na Idinisenyo ang programa. 831 00:38:55,400 --> 00:38:55,920 Bakit? 832 00:38:55,920 --> 00:39:00,540 Kung gusto kong baguhin ang dami ng beses ito pusa coughs, ang lahat ng mayroon ako upang 833 00:39:00,540 --> 00:39:05,640 ay huwag baguhin ang isa variable, o isang halaga, sa halip mula sa tatlo, sa apat na, o 834 00:39:05,640 --> 00:39:06,700 lima, o anim. 835 00:39:06,700 --> 00:39:09,060 O maaari kong gawin ang isang bagay nang may pasubali, kahit na, na may mga puwang 836 00:39:09,060 --> 00:39:10,320 bar kung Nais kong. 837 00:39:10,320 --> 00:39:11,780 >> Kaya ito ay isang pangkalahatang prinsipyo. 838 00:39:11,780 --> 00:39:14,950 Sa sandaling simulan mo ang pagkopya at pag-paste code, maging ito man ay sa simula, o sa 839 00:39:14,950 --> 00:39:18,340 C, ikaw ay gumagawa ng isang bagay mali, pinaka-malamang. 840 00:39:18,340 --> 00:39:21,950 O hindi bababa sa, sa oras na iyong nalampasan ang ilan makatwirang bilang ng mga kopya at 841 00:39:21,950 --> 00:39:24,610 pastes, ikaw ay malamang na paggawa ng isang bagay na mali. 842 00:39:24,610 --> 00:39:26,740 >> Pero alam mo kung ano? 843 00:39:26,740 --> 00:39:27,590 Gawin ko hindi talaga ganito. 844 00:39:27,590 --> 00:39:28,980 Ito ay hindi ang cleanest disenyo. 845 00:39:28,980 --> 00:39:32,860 Nais ko mayroong isang piraso puzzle na tinatawag na ubo dahil pagkatapos ay hindi ko gagawin 846 00:39:32,860 --> 00:39:36,100 mayroon upang ipatupad ang sarili ko, ang lumang moderno paraan, sa pamamagitan ng 847 00:39:36,100 --> 00:39:38,220 nagki-sabihin, at maghintay - 848 00:39:38,220 --> 00:39:40,320 paano kung sila ay lamang isang ubo piraso puzzle. 849 00:39:40,320 --> 00:39:41,330 >> Well, maaari ko talagang gawin iyon. 850 00:39:41,330 --> 00:39:45,010 Hayaan akong pumunta sa ilalim ng higit pang mga bloke, i-click ang Magsagawa ng Block, at ngayon ako makakakuha ng ito 851 00:39:45,010 --> 00:39:45,610 window dito. 852 00:39:45,610 --> 00:39:47,540 Pupunta ako sa call na ito bagay ubo. 853 00:39:47,540 --> 00:39:49,400 Pupunta ako sa sige at i-click ang OK. 854 00:39:49,400 --> 00:39:53,150 At ngayon notice, nakakatanggap ako ng isang bagong simula piraso na hindi tuwid sa tuktok. 855 00:39:53,150 --> 00:39:56,590 At kung ano ako ng pagpunta sa gawin sa mga ito, ako pagpunta sa nakawin lang ang mga bloke. 856 00:39:56,590 --> 00:39:57,800 Pupunta ako sa ilagay ang mga ito dito. 857 00:39:57,800 --> 00:40:00,490 >> At ngayon, may mga tatlong piraso, nag ko ipinatupad ano Pupunta ako sa isang call 858 00:40:00,490 --> 00:40:03,530 function, o isang pamamaraan, o ang ilan sa maaaring kilala mo ito bilang isang paraan. 859 00:40:03,530 --> 00:40:05,050 Bahagyang pagkakaiba sa pagitan ng mga salita. 860 00:40:05,050 --> 00:40:06,950 Ngunit para sa ngayon, sabihin lamang tinatawag ito ng isang function. 861 00:40:06,950 --> 00:40:08,750 Ito ay lamang ng isang bagong piraso puzzle. 862 00:40:08,750 --> 00:40:11,000 Ngayon ito ay ipinatupad tulad nito. 863 00:40:11,000 --> 00:40:15,170 >> Ngunit mapapansin na scratch ay nagbigay sa amin ng isang pisikal na representasyon ng buo na 864 00:40:15,170 --> 00:40:16,570 harangan paglipas dito. 865 00:40:16,570 --> 00:40:21,930 Kaya ngayon, maaari ko lang i-drag ito sa paglipas dito, sabihin, ulitin nang tatlong beses, at 866 00:40:21,930 --> 00:40:26,420 kung ano ang nangyayari sa mangyayari ngayon, kapag i-play ko script na ito, ay isa lamang sa programa 867 00:40:26,420 --> 00:40:27,500 ay tumatakbo sa isang pagkakataon. 868 00:40:27,500 --> 00:40:29,880 Mayroon lamang isang kapag berde bandila click. 869 00:40:29,880 --> 00:40:34,010 Ngunit na purple block na tinatawag na ubo ay mabisa nagsasabi scratch, ang bawat 870 00:40:34,010 --> 00:40:38,160 time mong makita na puzzle piraso, talaga isakatuparan ang mga hakbang na ako 871 00:40:38,160 --> 00:40:40,420 mangyari ipatupad ang mano-mano. 872 00:40:40,420 --> 00:40:41,410 >> Kaya iyon ang uri ng kapong baka. 873 00:40:41,410 --> 00:40:44,650 Ngunit ngayon, ipagpalagay na ako nagpasya, gagawin ko hindi Gusto ito pusa lamang sa pag-ubo. 874 00:40:44,650 --> 00:40:46,660 Gusto ko sa kanya upang magagawang mang-uyam sa pati na rin. 875 00:40:46,660 --> 00:40:48,905 Well, kung paano kami maaaring pumunta tungkol sa pagpapatupad bumahin? 876 00:40:48,905 --> 00:40:51,310 Well maaari ko medyo marami gawin ang parehong bagay. 877 00:40:51,310 --> 00:40:52,690 Kaya kong gumawa ng isa pang block. 878 00:40:52,690 --> 00:40:55,940 Kaya kong tumawag ito bumahin, i-click ang OK. 879 00:40:55,940 --> 00:40:59,250 >> Pagkatapos, sa paglipas dito ng dati ko talaga pa, hayaan mo akong duplicate na ito - 880 00:40:59,250 --> 00:41:02,850 at mayroong kung saan dapat mong huwag mag-tulad ng marahil hindi mo paggawa ng isang bagay sa 881 00:41:02,850 --> 00:41:03,780 ang pinakamahusay na paraan. 882 00:41:03,780 --> 00:41:06,670 Kaya kong sabihin ng isang bagay tulad ng, achoo, para sa isang segundo. 883 00:41:06,670 --> 00:41:07,440 Maghintay ng isang segundo. 884 00:41:07,440 --> 00:41:08,715 Ngayon Mayroon akong isang bagong bloke na tinatawag bumahin. 885 00:41:08,715 --> 00:41:10,210 At sa katunayan, may ito ay. 886 00:41:10,210 --> 00:41:14,010 >> Ngunit ito, masyadong, ay dapat magsimula sa pakiramdam - siguro hindi sa unang linggo ng klase, ngunit 887 00:41:14,010 --> 00:41:15,730 sa pamamagitan ng ang pangalawang - lamang medyo kalabisan. 888 00:41:15,730 --> 00:41:17,800 Malinaw, mayroong ilang mga kalabisan dito. 889 00:41:17,800 --> 00:41:22,090 Kaya ipaalam sa akin imungkahi, sa halip, na aming pinuhin ang kahulugan ito bilang mga sumusunod. 890 00:41:22,090 --> 00:41:24,820 >> Hayaan akong pumunta hanggang sa aking file menu. 891 00:41:24,820 --> 00:41:26,090 Hindi ako pagpunta sa i-save ang bersyon na ito. 892 00:41:26,090 --> 00:41:29,080 Pupunta ako sa pumunta sa isa sa premade aking mga file dito. 893 00:41:29,080 --> 00:41:31,190 At pupuntahan ko sige at buksan up ubo 2. 894 00:41:31,190 --> 00:41:32,220 Oops na noon ay ubo 2. 895 00:41:32,220 --> 00:41:36,900 Hayaan akong sige at buksan up ubo 3, na kung saan ay sa source na ito direktoryo. 896 00:41:36,900 --> 00:41:42,450 Ubo at 3 mapansin - oh, sinabi ko ang kuwento sa maling pagkakasunud-sunod. 897 00:41:42,450 --> 00:41:45,030 Hayaan akong mabawi mula sa kuwentong ito. 898 00:41:45,030 --> 00:41:48,990 >> Ang kuwento ko sinadya upang sabihin sa nagtatapos sa ubo 4 - 899 00:41:48,990 --> 00:41:50,270 Mayroon bang ito ay. 900 00:41:50,270 --> 00:41:54,380 Kaya kung ano ako, sa halip, tukuyin ng mas malaking piraso puzzle na tinatawag na 901 00:41:54,380 --> 00:41:57,250 tukuyin, sabihin na salita n beses. 902 00:41:57,250 --> 00:41:59,930 Bahin lamang, tila, sa simula, achoo. 903 00:41:59,930 --> 00:42:01,680 Kaya ipahayag namin ito bilang isang salita, dahil lang iyon ang 904 00:42:01,680 --> 00:42:02,750 hadlang ng program. 905 00:42:02,750 --> 00:42:07,860 At ubo ay isang [ubo], ngunit ubo, C-O-U-G-H. Kaya ito lamang ay dalawang 906 00:42:07,860 --> 00:42:10,820 ibang mga salita paggawa, lubos, ang parehong bagay. 907 00:42:10,820 --> 00:42:12,820 >> Kaya ko talagang gawin ang isang bagong bloke na katulad nito. 908 00:42:12,820 --> 00:42:14,220 Hindi ko gamitin ang menu na pagpipilian bago. 909 00:42:14,220 --> 00:42:16,960 Pero kapag nag-click ka sa Gawing Block, maaari kang pumili ng ilang mga pagpipilian. 910 00:42:16,960 --> 00:42:20,900 At maaari mong sabihin na ito block talaga tumatagal ng ilang mga input, kung hindi man 911 00:42:20,900 --> 00:42:24,710 Kilala bilang argument, o mga parameter, kaya na maaari mong baguhin ang pag-uugali ng 912 00:42:24,710 --> 00:42:25,520 ang iyong mga bloke. 913 00:42:25,520 --> 00:42:28,780 >> Kaya kung ano ang ginawa ko ng ilang sandali ang nakalipas ay Tumawag ako block ito Sabihing. 914 00:42:28,780 --> 00:42:30,880 At pagkatapos ko sinabi, ito ay tumatagal ng isang string input. 915 00:42:30,880 --> 00:42:32,810 At ngayon mapansin, sa pamamagitan ng default, sinasabi nito string 1. 916 00:42:32,810 --> 00:42:35,440 Ang isang string lamang ang isang salita, o isang parirala, para sa aming mga layunin. 917 00:42:35,440 --> 00:42:37,810 Ngunit lang ako sa pagpunta sa ilagay ang ilang mga placeholder text doon, tulad ng sa isang 918 00:42:37,810 --> 00:42:40,620 website, kapag mong makita username, o password, at pagkatapos mawala ito kapag 919 00:42:40,620 --> 00:42:41,550 simulan mo ang pag-type. 920 00:42:41,550 --> 00:42:42,720 Iyon lang iyon ay. 921 00:42:42,720 --> 00:42:44,590 >> At ngayon pupuntahan ko magdagdag ng isang numero ng input. 922 00:42:44,590 --> 00:42:47,180 At ako pagpunta sa tumawag ito n - ngunit na medyo arbitrary. 923 00:42:47,180 --> 00:42:49,510 At pagkatapos lamang ng isang label, lamang upang gumawa ng sa block na ito ng kaunti pa sa sarili 924 00:42:49,510 --> 00:42:50,570 paliwanag - 925 00:42:50,570 --> 00:42:53,010 beses, na ang kung ano ang ko lang ginawa. 926 00:42:53,010 --> 00:42:56,540 At ang resulta ay na nakukuha ko isang block na ganito ang hitsura. 927 00:42:56,540 --> 00:42:58,880 >> At ngayon mapansin, gumagamit ako ng isang umuulit na bloke. 928 00:42:58,880 --> 00:43:03,480 Ngunit sa halip na mahirap coding tatlo, ako pag-drag at pag-drop sa n doon kaya ko 929 00:43:03,480 --> 00:43:05,530 Maaari parametrize ang function. 930 00:43:05,530 --> 00:43:08,590 Maaari ba akong gumawa ng mga function na ito gawin ang isang bagay isang iba't ibang mga bilang ng beses na batay sa 931 00:43:08,590 --> 00:43:09,410 na halaga. 932 00:43:09,410 --> 00:43:14,270 >> At mapansin, sabihin, ito ay kung ano ang ginawa ko dito, kung i-drag ako salita, ang maaari kong sabihin ay hindi isang 933 00:43:14,270 --> 00:43:17,860 hard code salita, ngunit kahit anong Lumipas na in para sa isang segundo. 934 00:43:17,860 --> 00:43:20,200 Samantala, paano ko muling ipatupad ubo? 935 00:43:20,200 --> 00:43:26,980 Ko sa halip tukuyin bilang ubo sinasabi ng ubo n beses. 936 00:43:26,980 --> 00:43:30,480 >> Kaya sa maikling, pupuntahan ko ito sa pamamagitan ng mabilis, ngunit ang pangunahing ideya ay sa lalong madaling 937 00:43:30,480 --> 00:43:32,750 bilang simulan mo makita sa iyong mga programa na, maghintay ng isang minuto, gumawa ako 938 00:43:32,750 --> 00:43:36,610 isang bagay na lubos na tulad nito bago, Maaari ko magfa-factor out ang ilang mga karaniwang 939 00:43:36,610 --> 00:43:37,090 pag-andar? 940 00:43:37,090 --> 00:43:41,090 Maaari ko bang mabulok kung ano ako ng paggawa sa ilang mga pangunahing ideya? 941 00:43:41,090 --> 00:43:42,070 Iyon ay kung ano ang ginagawa namin dito. 942 00:43:42,070 --> 00:43:44,830 At ko na nakasalansan ang mga bagay na ito, biswal, sa tuktok ng isa't isa 943 00:43:44,830 --> 00:43:47,710 dahil ito ay tipan sa na ideya ng na nagsisimula sa binary, pagpunta sa ASCII, 944 00:43:47,710 --> 00:43:51,530 paggawa ng mga graphical na mga programa, uri ng layering nagiging kumplikadong mga ideya sa 945 00:43:51,530 --> 00:43:52,570 tuktok ng isa't isa. 946 00:43:52,570 --> 00:43:53,730 >> Parehong ideya dito. 947 00:43:53,730 --> 00:43:56,870 Nagsimula ako sa wala, pagpapatupad ubo, pagkatapos ay natanto ubo ay 948 00:43:56,870 --> 00:43:58,540 talaga lang sinasabi ng isang bagay. 949 00:43:58,540 --> 00:44:01,630 Kaya ipaalam sa akin sa halip ipatupad ang kuru-kuro ng sinasabi ng isang bagay. 950 00:44:01,630 --> 00:44:05,200 At sa tuktok ng na, maaari ba akong ipatupad achoo, o ubo? 951 00:44:05,200 --> 00:44:07,990 At kami maaaring makagawa ng higit pa tulad variant pa rin. 952 00:44:07,990 --> 00:44:10,400 >> Kaya mula sa mga pangunahing prinsipyo, maaari naming simulan upang gawin 953 00:44:10,400 --> 00:44:12,180 nagiging kumplikado ang mga programa. 954 00:44:12,180 --> 00:44:14,100 Hayaan akong buksan up ng isang ito. 955 00:44:14,100 --> 00:44:18,020 Maaari naming talagang magkaroon ng maramihang mga sprites nakikipag-ugnayan sa screen nang sabay-sabay. 956 00:44:18,020 --> 00:44:23,470 Kung pumunta ako sa aking pinagmulan direktoryo at grab isa tinatawag na mga thread, na isipin ang isang 957 00:44:23,470 --> 00:44:26,920 thread ay talagang lamang ng kakayahan ng dalawang mga script na tumakbo sa pamamagitan ng gilid 958 00:44:26,920 --> 00:44:28,350 gilid sa parehong oras. 959 00:44:28,350 --> 00:44:34,490 >> Pansinin ngayon, parehong magkaroon ng isang ibon at engkanto isang pusa engkanto, na parehong may 960 00:44:34,490 --> 00:44:35,270 kanilang sariling mga script. 961 00:44:35,270 --> 00:44:37,690 Kaya notice, kapag ako ay nag-click ang cat, nakakatanggap ako ng mga script. 962 00:44:37,690 --> 00:44:39,830 Kapag nag-click ako sa ibon, Nakukuha ko ang mga script. 963 00:44:39,830 --> 00:44:42,070 Kaya bawat isa sa mga guys ay may kanyang sariling mga programa. 964 00:44:42,070 --> 00:44:46,680 Kapag ako ngayong i-click ang berdeng flag, mapansin na kung ano ang program na ito ay gumagana 965 00:44:46,680 --> 00:44:54,090 magkaroon ng pusa, hindi mapaniniwalaan o kapani-paniwala dahan-dahan, Chase ang ibon. 966 00:44:54,090 --> 00:44:57,120 Ngunit ang pusa ay may bentahe ng pagkakaroon ng nai-program sa paraang 967 00:44:57,120 --> 00:45:00,540 na hindi mahalaga kung saan ang mga ibon ay, ang pusa ay ginagamit lamang sa kanya. 968 00:45:00,540 --> 00:45:02,150 >> Maaari naming i-play na laro mas mabilis. 969 00:45:02,150 --> 00:45:07,750 Kaya kung ako sa pusa, mapapansin na ako paggamit ng, sabihin nating ilipat ang isa hakbang. 970 00:45:07,750 --> 00:45:11,680 Sabihin mayroon siya ilipat limang mga hakbang sa isang oras, kaya limang tuldok sa isang pagkakataon. 971 00:45:11,680 --> 00:45:13,580 Ipaalam sa akin i-click ang i-play. 972 00:45:13,580 --> 00:45:14,490 >> ['S Leon umatungal] 973 00:45:14,490 --> 00:45:17,170 >> David MALAN: Ang lahat ng karapatan, ngayon ng aming makakaya talaga bigyan ang pusa ng kalamangan. 974 00:45:17,170 --> 00:45:18,600 10 hakbang sa isang pagkakataon. 975 00:45:18,600 --> 00:45:20,120 >> ['S Leon umatungal] 976 00:45:20,120 --> 00:45:22,770 >> David MALAN: Ang lahat ng karapatan, kaya masyadong mabilis, ito ay makakakuha ng isang maliit na kalamangan 977 00:45:22,770 --> 00:45:23,280 para sa mga pusa. 978 00:45:23,280 --> 00:45:25,310 Ngunit kukunin ko iwagayway ang aking mga kamay sa ilan sa mga detalye. 979 00:45:25,310 --> 00:45:28,240 Ngunit ang dahilan na ang path na ay pagsisimula ng isang maliit na iba't ibang sa bawat oras 980 00:45:28,240 --> 00:45:29,700 ay na ako ng paggawa ng isang bit ng randomness. 981 00:45:29,700 --> 00:45:33,700 Talaga ako pagturo ng pusa sa isang iba't ibang direksyon batay sa kung saan ako 982 00:45:33,700 --> 00:45:38,710 gusto kanya upang simulan upang ang bawat oras ang laro, o ang animation, ay isang 983 00:45:38,710 --> 00:45:39,760 Medyo naiiba. 984 00:45:39,760 --> 00:45:41,950 >> Ngayon, hayaan mo akong ipakilala isa iba pang bumuo dito. 985 00:45:41,950 --> 00:45:43,860 Kaya sa kasong ito, nagkaroon kami function. 986 00:45:43,860 --> 00:45:46,950 Mayroong din ng pagpunta sa maging isang malaking suliranin piraso Kilala bilang isang array, o ng isang listahan, 987 00:45:46,950 --> 00:45:50,980 na nagbibigay-daan sa iyo upang mag-imbak ng maramihang mga halaga sa loob ng isang variable. 988 00:45:50,980 --> 00:45:53,410 Nakita namin ang mga thread, at ngayon mayroong Kaganapan. 989 00:45:53,410 --> 00:45:56,330 >> Kaya narito ang isang kaganapan gamit ang dalawang guys dito. 990 00:45:56,330 --> 00:46:02,490 At kung ako buksan up ang file na tinatawag na Kaganapan mula sa mga halimbawa ngayong araw, kami ay 991 00:46:02,490 --> 00:46:06,940 makita ang isang programa na ganito isang maliit na tulad nito. 992 00:46:06,940 --> 00:46:09,630 At ngayon mapapansin ang ganitong tao - 993 00:46:09,630 --> 00:46:11,620 kaya mapapansin ba akong magkaroon ang mga asul na Muppet-click - 994 00:46:11,620 --> 00:46:12,990 siya lamang ang ipinapakita ng sumusunod. 995 00:46:12,990 --> 00:46:15,540 Hindi siya ay magkaroon ng isa sa mga berde bandila puzzle piraso. 996 00:46:15,540 --> 00:46:18,620 Siya ay may kapag nakatanggap ako ng kaganapan - 997 00:46:18,620 --> 00:46:19,970 kaya ang ilang mga di-makatwirang salita. 998 00:46:19,970 --> 00:46:21,590 Ko lang ang nai-type out kaganapan doon - 999 00:46:21,590 --> 00:46:23,740 siya ay pagpunta sa sabihin, Polo, para sa dalawang segundo. 1000 00:46:23,740 --> 00:46:25,800 >> Kaya doon sa iyo kung sino ay pamilyar sa laro na ito ay maaaring alam 1001 00:46:25,800 --> 00:46:26,460 kung saan ito ay pagpunta. 1002 00:46:26,460 --> 00:46:29,800 Kung ako ngayon mag-click sa orange Muppet, kanyang mga programa Ginagawa ito. 1003 00:46:29,800 --> 00:46:35,020 Habang Panahon, kung ang keyboard space bar pinigilan ang, siya ay pagpunta sa sabihin, Marco, 1004 00:46:35,020 --> 00:46:36,580 para sa dalawang segundo sa screen. 1005 00:46:36,580 --> 00:46:39,590 Ngunit siya rin ang nangyayari upang magamit ang may interes harangan kilala bilang broadcast. 1006 00:46:39,590 --> 00:46:42,270 Siya'y pagpunta sa broadcast quote magpanipi, "kaganapan." 1007 00:46:42,270 --> 00:46:47,540 >> Samantala, ang mga asul na tao, isipin ang, ay nakikinig para magpanipi quote, "kaganapan." 1008 00:46:47,540 --> 00:46:50,760 Kaya kahit papaano, ngayon, maaari kaming magkaroon dalawang sprites nakikipag-ugnay. 1009 00:46:50,760 --> 00:46:53,790 At kapag makuha namin sa web programming, sa paglaon ng panahon, na katulad kalooban ito 1010 00:46:53,790 --> 00:46:58,320 ikagaling magkaroon ng iyong website gawin ang isang bagay bilang tugon sa, para sa 1011 00:46:58,320 --> 00:47:00,130 Halimbawa, ang isang pag-click ng keyboard. 1012 00:47:00,130 --> 00:47:02,120 >> Kaya ipaalam sa akin sige at pindutin ang space bar. 1013 00:47:02,120 --> 00:47:04,020 Orange tao sabi ni Marco. 1014 00:47:04,020 --> 00:47:05,840 Blue tao sabi ni Polo. 1015 00:47:05,840 --> 00:47:10,780 Kung gagawin ko ito muli orange tao sabi Marco, asul na lalaki sabi ni polo. 1016 00:47:10,780 --> 00:47:14,130 Kaya sabihin tumagal ito ng isang hakbang karagdagang. 1017 00:47:14,130 --> 00:47:18,790 Oras na ito, ipagpapatuloy namin, marahil, lamang ng ilang karagdagang minuto dito. 1018 00:47:18,790 --> 00:47:19,904 Mayroon ba namin - 1019 00:47:19,904 --> 00:47:22,380 desk lamp, dumating sa pababa. 1020 00:47:22,380 --> 00:47:24,500 Kayo ay tama sa dulo. 1021 00:47:24,500 --> 00:47:25,740 OK, maaari mong parehong makabuo. 1022 00:47:25,740 --> 00:47:26,990 Mayroon kaming desk lamp para sa lahat. 1023 00:47:26,990 --> 00:47:28,360 Halika sa. 1024 00:47:28,360 --> 00:47:30,090 Hindi ko alam kung maaari naming panatilihin ito nakakatawa katatawanan up 1025 00:47:30,090 --> 00:47:32,035 lahat ng semestre, bagaman. 1026 00:47:32,035 --> 00:47:33,530 Ang lahat ng mga karapatan, dumating sa pababa. 1027 00:47:33,530 --> 00:47:40,260 >> At sa habang panahon, kami ay may sa sumusunod na halimbawa upang hilahin pataas, para lang 1028 00:47:40,260 --> 00:47:45,370 bilisan ang mga bagay ngayon, tulad na namin magkaroon ng isang paghahayag mula sa isa pang 1029 00:47:45,370 --> 00:47:48,360 hinalinhan ng sa iyo gamit ang parehong pangunahing gusali ng mga bloke. 1030 00:47:48,360 --> 00:47:48,975 Ano ang inyong pangalan? 1031 00:47:48,975 --> 00:47:49,240 >> JUAN: Juan. 1032 00:47:49,240 --> 00:47:49,770 >> David MALAN: Juan. 1033 00:47:49,770 --> 00:47:50,400 Mabait sa akin sa iyo. 1034 00:47:50,400 --> 00:47:50,650 At? 1035 00:47:50,650 --> 00:47:51,250 >> SETZ: Setz. 1036 00:47:51,250 --> 00:47:53,130 >> David MALAN: Setz, mabait sa akin sa iyo. 1037 00:47:53,130 --> 00:47:54,820 John, kung nais mong dumating up muna, ito ay isang lumang 1038 00:47:54,820 --> 00:47:55,910 paaralan laro na may pangalang Frogger. 1039 00:47:55,910 --> 00:47:57,530 Gamitin mo ang keyboard para sa mga ito pati na rin. 1040 00:47:57,530 --> 00:48:02,425 At ang layunin ay upang makakuha ng sa kabuuan ang kalye at tubig. 1041 00:48:02,425 --> 00:48:12,700 >> [FROGGER musika at pag-play ng tunog] 1042 00:48:12,700 --> 00:48:14,970 >> David MALAN: Sorry, walang desk lamp para sa iyo ngayong araw. 1043 00:48:14,970 --> 00:48:19,110 Ang lahat ng mga karapatan, Setz, gagawin mo i dumating sa up? 1044 00:48:19,110 --> 00:48:20,890 Ang lahat ng mga karapatan, sabihin gawin itong muli. 1045 00:48:20,890 --> 00:48:21,430 >> SETZ: Huwag ko bang gamitin ang mga arrow? 1046 00:48:21,430 --> 00:48:22,360 >> David MALAN: lamang ang mga arrow key. 1047 00:48:22,360 --> 00:48:23,624 Pataas, pababa, pakaliwa, pakanan. 1048 00:48:23,624 --> 00:48:35,700 >> [FROGGER musika at pag-play ng tunog] 1049 00:48:35,700 --> 00:48:37,880 >> David MALAN: Gagawin namin tumawag sa kanila aliw premyo ngayon, 1050 00:48:37,880 --> 00:48:38,950 pagkatapos, Labis na rin tapos na. 1051 00:48:38,950 --> 00:48:40,690 Dito, para sa inyong dalawa, John at Setz. 1052 00:48:40,690 --> 00:48:41,940 Binabati kita, ang lahat ng karapatan. 1053 00:48:41,940 --> 00:48:46,720 1054 00:48:46,720 --> 00:48:50,620 Kaya muli, tulad ng laro na ito ay gumaganap, isipin ang tungkol sa kung ano ang nangyayari sa? 1055 00:48:50,620 --> 00:48:52,060 >> One, mayroong malinaw na ng maraming mga paggalaw. 1056 00:48:52,060 --> 00:48:55,220 Ngunit nasaksihan namin kung paano, may mga pusa at ang ibon Halimbawa, kung paano maaari mong gawin ang mga 1057 00:48:55,220 --> 00:48:58,350 ilusyon ng paggalaw sa pamamagitan lamang ng ilang mga gumagalaw bilang ng mga pixels muli at muli. 1058 00:48:58,350 --> 00:49:00,280 At kung mayroon kang isang bloke magpakailanman, maaari kang magkaroon ng mga 1059 00:49:00,280 --> 00:49:02,120 mga kotse paggawa ito magpakailanman. 1060 00:49:02,120 --> 00:49:03,720 Mayroon kaming mga kakayahan na May ilang mga randomness. 1061 00:49:03,720 --> 00:49:06,310 Kaya laro na ito ay hindi kailangang maging eksakto ang parehong bawat oras. 1062 00:49:06,310 --> 00:49:09,940 Yaong mga tala, mga kotse, maaaring magsimula sa bahagyang naiiba beses upang ang mga 1063 00:49:09,940 --> 00:49:12,690 laro mismo ay mas kawili-wiling sa bawat paglalaro. 1064 00:49:12,690 --> 00:49:15,320 >> At Samantala, nasaksihan namin ang kakayahan upang makinig sa mga bar space. 1065 00:49:15,320 --> 00:49:18,830 Ngunit malinaw na, sa simula, maaari mo ring makinig para pataas, pababa, pakaliwa, pakanan, at 1066 00:49:18,830 --> 00:49:20,760 talaga ang anumang key sa keyboard. 1067 00:49:20,760 --> 00:49:22,200 At maaari ka ring gumawa ng ilang iba pang mga bagay. 1068 00:49:22,200 --> 00:49:24,660 Hayaan akong sige at bumalik upang ang web na bersyon. 1069 00:49:24,660 --> 00:49:30,280 >> Hayaan akong pumunta sa aming koleksyon ng mga halimbawa dito. 1070 00:49:30,280 --> 00:49:36,120 At sa ilalim ng Aking Studio, video kung saan ay, mahalagang, isang folder sa 1071 00:49:36,120 --> 00:49:37,780 scratch.mit.edu. 1072 00:49:37,780 --> 00:49:39,710 Mayroon kaming ang bersyon ng web lahat ng mga proyektong ito. 1073 00:49:39,710 --> 00:49:42,530 At sabihin makita kung maaari kong makuha ang aking computer upang makipagtulungan dito. 1074 00:49:42,530 --> 00:49:47,180 Ito ay nakasulat sa pamamagitan ng isa sa aming mga kaibigan sa MIT, na tinatawag Ilipat ang Butterfly. 1075 00:49:47,180 --> 00:49:50,250 >> At sa sandaling ito ay bubukas up, ito ay pagpunta sa aktwal na gamitin ang higit pa sa 1076 00:49:50,250 --> 00:49:51,430 hardware ng aking computer. 1077 00:49:51,430 --> 00:49:53,325 Scratch ang mangyayari sa mga maipapatupad sa Flash. 1078 00:49:53,325 --> 00:49:56,250 Flash ay maaaring makipag-usap sa iyong webcam, kung mayroon kang isa. 1079 00:49:56,250 --> 00:50:00,210 Kaya kung pumunta ako nang maaga at full screen na ito dito, i-click ang berdeng flag, paunawa 1080 00:50:00,210 --> 00:50:02,530 na seguridad mensahe ng Flash ay nagsasabi, ang nais mong 1081 00:50:02,530 --> 00:50:04,210 payagan na gamitin ang aking webcam? 1082 00:50:04,210 --> 00:50:05,510 >> Karaniwan, dapat mong marahil sabihin Tanggihan. 1083 00:50:05,510 --> 00:50:07,180 Ngunit sa kasong ito, gagamitin namin sinasabi payagan. 1084 00:50:07,180 --> 00:50:10,430 Pagkatapos ay pupuntahan ko sabihin sa Chrome upang payagan ang mga ito pati na rin. 1085 00:50:10,430 --> 00:50:15,010 At ngayon, sa sandali lamang, nakikita mo sa akin, yep, sa akin. 1086 00:50:15,010 --> 00:50:18,154 At kung ang aking kamay napupunta up - 1087 00:50:18,154 --> 00:50:20,390 Mayroon akong upang hindi ilipat ang aking tumungo sa parehong oras. 1088 00:50:20,390 --> 00:50:21,740 Mayroon ding isang panganganinag sa screen. 1089 00:50:21,740 --> 00:50:23,480 Halika sa, doon kami pumunta - 1090 00:50:23,480 --> 00:50:27,616 maaari mong ilipat ito sa screen dahil mayroon ding puzzle piraso - oh, mo 1091 00:50:27,616 --> 00:50:31,640 malaman kung ano ito ay, ito ay dahil sa iyo din tingnan ang projector screen sa likod ng akin. 1092 00:50:31,640 --> 00:50:33,870 Kaya kami ay may isang maliit na walang hanggan bagay pagpunta sa doon. 1093 00:50:33,870 --> 00:50:36,470 >> Ang lahat ng mga karapatan, kaya kukunin ko na i-play down na dito. 1094 00:50:36,470 --> 00:50:37,220 Nagkaroon kami pumunta. 1095 00:50:37,220 --> 00:50:41,310 Kaya mayroon ding isang puzzle na piraso sabi, kapag nakita mo ang kilusan sa ilalim 1096 00:50:41,310 --> 00:50:45,470 isa sa mga sprites, maaari kang magkaroon ito pumunta up, down, kaliwa, kanan o sa gusto. 1097 00:50:45,470 --> 00:50:48,950 Kaya kami ay may isang bit ng virtual katotohanan pagpunta sa dito pati na rin, ang lahat sa loob ng 1098 00:50:48,950 --> 00:50:52,570 paligid ng aking browser, lamang dito gamit ang aking webcam. 1099 00:50:52,570 --> 00:50:53,980 Kaya kung ano ang pagkatapos ay sa abot-tanaw. 1100 00:50:53,980 --> 00:50:58,350 Ang unang hanay problema, tulad ng makikita mo, o website ay mag-online mamaya 1101 00:50:58,350 --> 00:51:01,100 ngayong gabi sa cs50.net, ay medyo magkano ang pagpunta sa maging bukas natapos. 1102 00:51:01,100 --> 00:51:04,410 At ipatupad ang proyekto scratch ng interes sa iyo, sa isang laro, isang 1103 00:51:04,410 --> 00:51:08,350 pakikipag-ugnayan, isang bagay na pansining, at hamunin ang iyong sarili upang gamitin ang anumang bilang 1104 00:51:08,350 --> 00:51:09,660 ng mga piraso palaisipan. 1105 00:51:09,660 --> 00:51:11,580 At maaari itong maging alinman sa interactive sa ganitong paraan. 1106 00:51:11,580 --> 00:51:15,470 O maaari itong maging isang bagay na mas sadya ginawa upang sabihin sa isang kuwento. 1107 00:51:15,470 --> 00:51:19,200 >> At tunay nga, na kung saan makikita namin magtapos off ngayon, may isang huling halimbawa. 1108 00:51:19,200 --> 00:51:21,290 Hayaan akong pumunta sa scratch lokal. 1109 00:51:21,290 --> 00:51:25,300 Hayaan akong sige at buksan ito, at i-play isang huling programa na isinulat ng isa 1110 00:51:25,300 --> 00:51:29,795 ng iyong mga predecessors, lalo na ang isa dito. 1111 00:51:29,795 --> 00:51:32,960 1112 00:51:32,960 --> 00:51:35,938 Magandang, taasan ang lakas ng tunog para sa isang ito. 1113 00:51:35,938 --> 00:52:53,770 >> [Nagpe-play ng musika] 1114 00:52:53,770 --> 00:52:57,255 >> Tagapagsalaysay: Sa susunod na CS50, David Iniimbitahan isang volunteer onstage. 1115 00:52:57,255 --> 00:52:58,636 >> David MALAN: Para sa demonstration na ito, kami ay pagpunta sa kailangan ng isang volunteer. 1116 00:52:58,636 --> 00:53:01,050 Gusto mo bang dumating sa down? 1117 00:53:01,050 --> 00:53:02,300 Ano ang inyong pangalan? 1118 00:53:02,300 --> 00:53:05,320 1119 00:53:05,320 --> 00:53:06,570 Paglilipat sa. 1120 00:53:06,570 --> 00:53:08,394