1 00:00:00,000 --> 00:00:04,664 2 00:00:04,664 --> 00:00:05,580 DOUG LLOYD: Lahat ng karapatan. 3 00:00:05,580 --> 00:00:08,877 Kaya ngayon ni harapin ang isang ipaalam talagang malaking topic, pag-andar. 4 00:00:08,877 --> 00:00:11,460 Sa ngayon sa mga kurso, ang lahat ng mga mga programa na namin ang nagsusulat 5 00:00:11,460 --> 00:00:12,969 ay nakasulat sa loob ng main. 6 00:00:12,969 --> 00:00:14,260 Sila ay medyo simple programs. 7 00:00:14,260 --> 00:00:16,940 Hindi mo kailangan na magkaroon ng lahat ng mga sanga at mga bagay na nangyayari. 8 00:00:16,940 --> 00:00:18,773 Maaari naming magkasya lamang ang lahat ng ito sa loob ng pangunahing at ito 9 00:00:18,773 --> 00:00:20,407 ay hindi makakuha ng katakut-takot na napakalaki. 10 00:00:20,407 --> 00:00:22,990 Subalit ang bilang ng mga kurso ay pumunta sa at bilang kayo magsimula sa bumuo ng mga programa 11 00:00:22,990 --> 00:00:26,260 malaya, marahil sila ay pagpunta upang simulan upang makakuha ng isang pulutong ng higit sa 10 12 00:00:26,260 --> 00:00:27,200 o 15 na linya. 13 00:00:27,200 --> 00:00:31,400 Maaari kang makakuha ng daan-daan o libu-libo o libu-libong mga linya ng code. 14 00:00:31,400 --> 00:00:34,690 At ito ay talagang hindi na mabaliw sa isang pag-iisip. 15 00:00:34,690 --> 00:00:39,720 Dahil dito, ito ay marahil hindi isang magandang ideya upang panatilihin ang lahat ng bagay sa loob ng main. 16 00:00:39,720 --> 00:00:43,240 Ito ay maaaring makakuha ng isang maliit na mahirap na makahanap ng ano ang iyong hinahanap para sa kung gagawin mo na. 17 00:00:43,240 --> 00:00:47,040 >> Sa kabutihang palad, kahit na C, at medyo marami lahat ng iba pang mga programming language na 18 00:00:47,040 --> 00:00:50,386 maaaring gumana sa, ay nagbibigay-daan sa amin upang isulat function. 19 00:00:50,386 --> 00:00:52,260 At lamang ako ng pagpunta sa magsagawa ng mabilis na bukod dito 20 00:00:52,260 --> 00:00:54,971 banggitin na function ay isa sa lugar ng computer science. 21 00:00:54,971 --> 00:00:57,970 At makikita mo ang mas maraming ng mga ito sa iba't ibang mga punto sa buong kurso 22 00:00:57,970 --> 00:00:59,290 at kung magpapatuloy ka pa. 23 00:00:59,290 --> 00:01:02,280 Saan mayroong isang pulutong ng mga kasing-kahulugan para sa parehong salita. 24 00:01:02,280 --> 00:01:03,390 Kaya ang tawag namin sa mga pag-andar. 25 00:01:03,390 --> 00:01:05,980 Ngunit maaari ring naririnig mo ang mga ito tinutukoy bilang pamamaraan, 26 00:01:05,980 --> 00:01:09,570 o mga paraan, lalo na, kung na sa iyo kailanman tapos na ang anumang bagay na nakatuon sa programming 27 00:01:09,570 --> 00:01:11,950 before-- at huwag mag-alala kung hindi mo pa, hindi 28 00:01:11,950 --> 00:01:14,280 isang malaking deal-- ngunit sa audit oriented wika 29 00:01:14,280 --> 00:01:16,129 ay madalas na tinatawag na mga pamamaraan. 30 00:01:16,129 --> 00:01:17,670 Minsan ay tinatawag nilang subroutines. 31 00:01:17,670 --> 00:01:20,690 Subalit sila ay talagang ang lahat ng sumangguni sa parehong mga pangunahing ideya. 32 00:01:20,690 --> 00:01:22,480 >> Tingnan natin kung ano na ang ideya ay. 33 00:01:22,480 --> 00:01:23,310 Ano ang isang function? 34 00:01:23,310 --> 00:01:26,470 Well isang function ay talagang walang higit sa isang itim na kahon. 35 00:01:26,470 --> 00:01:31,430 Ang isang itim na kahon na may isang hanay ng zero o higit pang mga input at isang solong output. 36 00:01:31,430 --> 00:01:33,420 Kaya halimbawa, ito ay maaaring maging isang function. 37 00:01:33,420 --> 00:01:35,510 Ito ay isang function na tinatawag na func. 38 00:01:35,510 --> 00:01:39,330 At ito ay tumatagal ng tatlong input a, b, at c. 39 00:01:39,330 --> 00:01:42,580 At sa loob na itim na kahon, kami ay hindi alam kung ano mismo ang mga ito, 40 00:01:42,580 --> 00:01:45,100 ngunit ito ang proseso ng input sa ilang mga paraan at pagkatapos nito 41 00:01:45,100 --> 00:01:48,680 ay nagbibigay ng isang solong output, sa kasong ito, z. 42 00:01:48,680 --> 00:01:50,504 Ngayon upang gawin itong isang maliit mas mababa abstract, namin 43 00:01:50,504 --> 00:01:52,420 maaaring sabihin na marahil kami magkaroon ng isang function na tinatawag na 44 00:01:52,420 --> 00:01:58,750 magdagdag ng na tumatagal ng tatlong input a, b, at c at proseso ang output sa ilang mga paraan 45 00:01:58,750 --> 00:02:01,010 sa loob ng itim na kahon sa makabuo ng isang solong output. 46 00:02:01,010 --> 00:02:05,190 Kaya sa kasong ito, kung magdagdag tumatagal ng 3, 6, at 7. 47 00:02:05,190 --> 00:02:07,020 Sa isang lugar sa loob ng mga magdagdag ng function, gusto namin 48 00:02:07,020 --> 00:02:09,750 inaasahan sa kanila na pinagsama-sama upang makabuo ng output, na kung saan 49 00:02:09,750 --> 00:02:13,220 ay 3 plus 6 plus 7 o 16. 50 00:02:13,220 --> 00:02:17,940 >> Katulad nito, mayroon kang isang function na tinatawag na mult na tumatagal ng dalawang input, isang at b, 51 00:02:17,940 --> 00:02:21,070 proseso ng mga ito sa ilang mga paraan tulad na ang output ng pag-andar 52 00:02:21,070 --> 00:02:22,920 ay ang produkto ng dalawang input. 53 00:02:22,920 --> 00:02:25,080 Ang dalawang input multiplied magkasama. 54 00:02:25,080 --> 00:02:29,150 4 at 5 na dumaan sa mult, may mangyari, ang output inaasahan namin 55 00:02:29,150 --> 00:02:31,090 ay 20. 56 00:02:31,090 --> 00:02:32,507 Bakit tinatawag namin itong isang itim na kahon? 57 00:02:32,507 --> 00:02:34,840 Well kung hindi kami ay sumusulat sa mga function na ang ating mga sarili, na kung saan 58 00:02:34,840 --> 00:02:36,869 nagawa mo kaming tila sa ngayon cs50. 59 00:02:36,869 --> 00:02:39,910 Nakita namin na print f, halimbawa, na ay isang katangian na hindi namin isulat 60 00:02:39,910 --> 00:02:42,305 ang ating mga sarili, ngunit hindi namin gamitin ang lahat ng oras. 61 00:02:42,305 --> 00:02:44,180 Kung kami ay hindi pagsulat ang mga function ng ating sarili, 62 00:02:44,180 --> 00:02:48,450 hindi namin talagang kailangan upang malaman kung ito ay talagang ipinatupad sa ilalim ng hood. 63 00:02:48,450 --> 00:02:51,710 >> Kaya halimbawa ang itim na kahon ko nagpakita sa iyo para lamang sa pagpaparami, 64 00:02:51,710 --> 00:02:53,740 mult a, b maaaring maging defined-- at ito lamang 65 00:02:53,740 --> 00:02:57,902 ilang pseudocode ay maaaring tinukoy bilang output ng isang beses b. 66 00:02:57,902 --> 00:02:58,860 Na magkaroon ng kahulugan, right. 67 00:02:58,860 --> 00:03:01,370 Kung kami ay may isang function na tinatawag mult na tumatagal ng dalawang input. 68 00:03:01,370 --> 00:03:04,750 Nais naming asahan na ang output ng gagawin ang dalawang input multiplied magkasama, 69 00:03:04,750 --> 00:03:06,240 isang beses b. 70 00:03:06,240 --> 00:03:09,170 Ngunit mult maaari ring maging ipinatupad na tulad nito, 71 00:03:09,170 --> 00:03:13,150 kami ay may isang counter variable na makakuha ng set sa loob ng mult sa 0. 72 00:03:13,150 --> 00:03:18,000 At pagkatapos ay ulitin namin ang proseso na ito b ulit magdagdag ng isang sa counter. 73 00:03:18,000 --> 00:03:24,270 Halimbawa, kung ang multiply namin 3a pamamagitan 5b, maaari naming sabihin itakda counter sa 0, 74 00:03:24,270 --> 00:03:27,700 ulitin ng limang beses, magdagdag ng 3 hanggang counter. 75 00:03:27,700 --> 00:03:34,490 Kaya namin magsimula sa 0 at pagkatapos ay gawin namin ito limang beses 3, 6, 9, 12, 15. 76 00:03:34,490 --> 00:03:37,500 Ito ay ang parehong resulta. Kami pa ring makakuha ng 3 beses lamang ng 5 77 00:03:37,500 --> 00:03:39,500 ang pagpapatupad ay naiiba. 78 00:03:39,500 --> 00:03:41,490 >> Iyon ay kung ano ang ibig sabihin namin kapag sinasabi namin sa isang itim na kahon. 79 00:03:41,490 --> 00:03:44,406 Ito lamang ay nangangahulugan na hindi namin talagang pakialam kung paano ito ay ipinatupad sa ilalim ng hood 80 00:03:44,406 --> 00:03:46,170 hangga't ang output ay kung ano ang inaasahan namin. 81 00:03:46,170 --> 00:03:49,045 Sa katunayan, iyon ang bahagi ng kontrata ng paggamit ng pag-andar, lalo na 82 00:03:49,045 --> 00:03:50,630 mga function na ang iba magsulat. 83 00:03:50,630 --> 00:03:53,980 Ang pag-uugali ay palaging pagpunta na tipikal, mahuhulaan 84 00:03:53,980 --> 00:03:55,420 batay sa mga pangalan ng function. 85 00:03:55,420 --> 00:03:57,500 At iyon ang dahilan kung bakit ito ay talagang mahalaga kapag ikaw isulat ang mga function 86 00:03:57,500 --> 00:04:00,020 o kapag ang iba pang mga tao na magsulat mga function na maaari mong gamitin, 87 00:04:00,020 --> 00:04:03,590 na ang mga function ay may malinaw, medyo halatang pangalan, 88 00:04:03,590 --> 00:04:04,990 at ang mga mahusay na dokumentado. 89 00:04:04,990 --> 00:04:08,560 Alin ang tiyak na ang kaso para sa pag-andar tulad ng naka-print na f. 90 00:04:08,560 --> 00:04:09,860 >> Kaya bakit namin gamitin ang function? 91 00:04:09,860 --> 00:04:14,220 Well bilang sinabi ko kanina, kung isulat namin lahat ng aming code sa loob ng pangunahing mga bagay-bagay 92 00:04:14,220 --> 00:04:17,120 maaaring makakuha ng talagang mahirap at talagang kumplikado. 93 00:04:17,120 --> 00:04:19,980 Daan sa amin Tungkulin ng kakayahan upang ayusin ang mga bagay-bagay at magbuwag 94 00:04:19,980 --> 00:04:24,540 isang napaka-komplikadong problema sa isang pulutong mas pamahalaang sub bahagi. 95 00:04:24,540 --> 00:04:28,130 Tungkulin din daan sa amin upang pasimplehin ang proseso coding. 96 00:04:28,130 --> 00:04:33,080 Ito ay isang pulutong mas madali upang i-debug ang isang 10 function na linya laban sa isang 100 na linya 97 00:04:33,080 --> 00:04:35,890 function o isang function 1000 linya. 98 00:04:35,890 --> 00:04:38,400 Kung lamang namin kung debug maliit na piraso sa isang pagkakataon, 99 00:04:38,400 --> 00:04:42,110 o magsulat ng mga maliliit na piraso sa panahon, ito ay gumagawa na karanasan sa programming 100 00:04:42,110 --> 00:04:43,070 maraming mas mahusay. 101 00:04:43,070 --> 00:04:44,910 Tiwala ako sa isang iyon. 102 00:04:44,910 --> 00:04:48,400 >> Sa wakas, kung isulat namin function namin maaaring muling gamitin ang mga iba't-ibang bahagi. 103 00:04:48,400 --> 00:04:49,880 Pag-andar maaaring recycle. 104 00:04:49,880 --> 00:04:51,880 Maaari silang gamitin sa isang programa o sa iba. 105 00:04:51,880 --> 00:04:53,713 Nakalikha ka na nakasulat na ang pag-andar, ang lahat ng iyo 106 00:04:53,713 --> 00:04:56,530 kailangan mong gawin ay sabihin sa programa na kung saan upang mahanap na function. 107 00:04:56,530 --> 00:04:59,680 Kami ay nai-recycle at paggamit ng i-print ang f para sa higit sa 40 taon. 108 00:04:59,680 --> 00:05:02,150 Ngunit ito lamang ay nakasulat sa isang oras. 109 00:05:02,150 --> 00:05:04,270 Medyo kapaki-pakinabang, i-right. 110 00:05:04,270 --> 00:05:04,830 Lahat tama. 111 00:05:04,830 --> 00:05:06,040 Kaya pag-andar ay malaki. 112 00:05:06,040 --> 00:05:06,860 Alam natin na ang. 113 00:05:06,860 --> 00:05:08,700 Ngayon natin simulan ang pagsusulat ng mga ito hayaan. 114 00:05:08,700 --> 00:05:10,830 Magsimula sa pagkuha Ipaalam ang mga ito sa aming mga programa. 115 00:05:10,830 --> 00:05:13,869 Upang magawa iyon, ang unang bagay na namin ay magpapahayag ng mga function. 116 00:05:13,869 --> 00:05:16,160 Kapag ipinapahayag mo ang isang function kung ano talaga ang ginagawa mo 117 00:05:16,160 --> 00:05:18,900 ay nagsasabi ng compiler, hey, kaya lang alam mo na, 118 00:05:18,900 --> 00:05:20,850 Ako ay pupunta sa pagsusulat isang function sa susunod 119 00:05:20,850 --> 00:05:22,987 at narito ang kung ano ito ay pagpunta sa hitsura. 120 00:05:22,987 --> 00:05:24,820 Ang dahilan sa ito ay dahil compiler Maaari 121 00:05:24,820 --> 00:05:27,900 gawin ang ilang mga kakatwang mga bagay-bagay kung nakita sila ng isang set ng mga simbolo 122 00:05:27,900 --> 00:05:29,560 na ang mga ito ay hindi pamilyar sa. 123 00:05:29,560 --> 00:05:33,000 Kaya bigyan lamang namin ang mga compiler ng ulo up, ako ng paglikha ng isang function 124 00:05:33,000 --> 00:05:35,492 at ito ay pagpunta sa gawin ito. 125 00:05:35,492 --> 00:05:38,450 Function pagdeklara pangkalahatan kung ikaw ay aayos ng iyong code sa isang paraan 126 00:05:38,450 --> 00:05:41,872 na ang iba ay maaaring makapag- maunawaan at gumawa ng paggamit ng, 127 00:05:41,872 --> 00:05:44,330 sa iyo sa pangkalahatan ay nais na ilagay ang lahat ng ng iyong mga function declarations 128 00:05:44,330 --> 00:05:48,220 sa pinakatuktok ng iyong code, i-right bago mo simulan ang pagsusulat ng main kahit. 129 00:05:48,220 --> 00:05:50,770 At Maginhawang, may isang napaka-karaniwang form 130 00:05:50,770 --> 00:05:53,500 na sumusunod sa bawat deklarasyon function. 131 00:05:53,500 --> 00:05:56,090 Lahat sila ay medyo marami ang hitsura. 132 00:05:56,090 --> 00:06:01,440 May tatlong bahagi sa isang function deklarasyon, uri ng return, pangalan, 133 00:06:01,440 --> 00:06:03,420 at listahan ng argumento. 134 00:06:03,420 --> 00:06:07,180 >> Ngayon ang uri ng return ay kung anong uri ng variable sa function kalooban output. 135 00:06:07,180 --> 00:06:10,710 Kaya halimbawa, kung sa tingin namin sa likod ng isang minuto ang nakalipas sa pag-multiply ng dalawang 136 00:06:10,710 --> 00:06:15,690 numero function, kung ano ang inaasahan namin kung multiply namin ng isang integer sa pamamagitan ng isang integer 137 00:06:15,690 --> 00:06:18,502 ang output ay marahil ng isang integer, right. 138 00:06:18,502 --> 00:06:20,710 Multiplied dalawang integer magkasama, makakakuha ka ng isang integer. 139 00:06:20,710 --> 00:06:24,167 Kaya ang uri ng return na iyon function ay int. 140 00:06:24,167 --> 00:06:26,000 Pangalan ay kung ano ang gusto mong upang tawagan ang iyong function. 141 00:06:26,000 --> 00:06:29,330 Ito ay marahil ang hindi bababa sa mahalagang bahagi ng function deklarasyon, 142 00:06:29,330 --> 00:06:30,827 sa mga tuntunin ng pag-andar. 143 00:06:30,827 --> 00:06:33,160 Ngunit ang tunay na malamang na isa sa mga pinakamahalagang bahagi 144 00:06:33,160 --> 00:06:36,243 ng pag-andar na deklarasyon sa mga tuntunin ng pag-alam kung ano ang function talaga 145 00:06:36,243 --> 00:06:37,120 ay. 146 00:06:37,120 --> 00:06:40,474 Kung ang pangalan ng iyong function f o g o h o misteryo o isang bagay tulad na, 147 00:06:40,474 --> 00:06:42,765 marahil ikaw ay pagpunta upang makakuha ng isang maliit na tripped up sinusubukan 148 00:06:42,765 --> 00:06:44,650 matandaan kung ano ang mga function gawin. 149 00:06:44,650 --> 00:06:47,880 Kaya mahalaga na magbigay sa iyong makabuluhang mga pangalan ng function ni. 150 00:06:47,880 --> 00:06:51,030 >> Panghuli, list argument ay listahan comma separated 151 00:06:51,030 --> 00:06:55,260 ng lahat ng mga input sa iyong function, bawat isa ay may isang uri at pangalan. 152 00:06:55,260 --> 00:06:57,840 Kaya hindi lamang ang mayroon kayo sa tukuyin kung ano ang uri ng variable 153 00:06:57,840 --> 00:07:00,760 ang function ay output, nais mo ring tukuyin ang 154 00:07:00,760 --> 00:07:07,694 kung ano ang uri at mga uri ng variable sa function na ito ay tumatanggap ng input. 155 00:07:07,694 --> 00:07:08,860 Kaya sabihin gawin ang isang halimbawa dito. 156 00:07:08,860 --> 00:07:10,220 Hayaan lang ang dadalhin ng isang hitsura sa isang mas kongkreto. 157 00:07:10,220 --> 00:07:13,130 Kaya narito ang isang halimbawa ng isang function deklarasyon ng function na 158 00:07:13,130 --> 00:07:14,925 Gusto magdagdag dalawang integer magkasama. 159 00:07:14,925 --> 00:07:17,800 Ang kabuuan ng dalawang integer ay pagpunta sa maging isang integer pati na rin, bilang namin lamang 160 00:07:17,800 --> 00:07:18,450 napag-usapan. 161 00:07:18,450 --> 00:07:21,610 At upang ang mga uri ng bumalik, dito sa berde, ay magiging int. 162 00:07:21,610 --> 00:07:25,190 Iyon ay nagsasabi lamang sa amin na magdagdag ng dalawang ints ay pagpunta sa, sa pagtatapos ng araw, 163 00:07:25,190 --> 00:07:28,799 output, o dumura ito pabalik out sa amin, isang integer. 164 00:07:28,799 --> 00:07:31,590 Dahil kung ano ang ginagawa namin ang function na ito gusto mong bigyan ito ng isang makabuluhang pangalan. 165 00:07:31,590 --> 00:07:33,630 Magdagdag ng dalawang ints tila naaangkop, isinasaalang-alang 166 00:07:33,630 --> 00:07:37,574 kami ay pagkuha ng dalawang integer bilang input at sana ang mga ito sa pagdaragdag ng sama-sama. 167 00:07:37,574 --> 00:07:40,240 Ito ay maaaring maging isang piraso ng isang masalimuot name at lantaran ang function na ito 168 00:07:40,240 --> 00:07:42,430 ay marahil hindi kinakailangan dahil kami ay may mga karagdagan 169 00:07:42,430 --> 00:07:46,310 operator, kung isipin mo mula sa aming discussion ng mga operator, dati. 170 00:07:46,310 --> 00:07:49,650 Ngunit sabihin nating para lamang sa kapakanan ng argument na ang function na ito ay kapaki-pakinabang 171 00:07:49,650 --> 00:07:52,860 at kaya makikita ang tawag namin sa mga ito magdagdag ng dalawang ints. 172 00:07:52,860 --> 00:07:55,230 Sa wakas, ang function na ito ay tumatagal ng dalawang input. 173 00:07:55,230 --> 00:07:56,960 Ang bawat isa sa kung saan ay isang integer. 174 00:07:56,960 --> 00:07:59,900 Kaya mayroon kaming ito comma separated na listahan ng mga input. 175 00:07:59,900 --> 00:08:02,830 Ngayon kami ay sa pangkalahatan ay nais na magbigay ng pangalan sa bawat isa sa kanila 176 00:08:02,830 --> 00:08:05,070 sa gayon ay maaari nilang magamit sa loob ng function. 177 00:08:05,070 --> 00:08:07,180 Ang mga pangalan ay hindi masyado mahalaga. 178 00:08:07,180 --> 00:08:11,400 >> Sa kasong ito, hindi namin kinakailangang ay may anumang mga kahulugan na nakalakip sa mga ito. 179 00:08:11,400 --> 00:08:13,140 Kaya maaari lamang naming tumawag sa kanila ng isang at b. 180 00:08:13,140 --> 00:08:14,257 Iyan ay lubos fine. 181 00:08:14,257 --> 00:08:16,090 Kung gayunman, hanapin mo ang iyong sarili sa isang sitwasyon 182 00:08:16,090 --> 00:08:19,497 kung saan ang mga pangalan ng mga variable maaaring tunay na maging mahalaga, 183 00:08:19,497 --> 00:08:21,830 baka gusto mong tawagan ang mga ito bagay maliban sa isang at b 184 00:08:21,830 --> 00:08:24,701 upang mabigyan sila ng isang bagay na mas symbolically makahulugan. 185 00:08:24,701 --> 00:08:27,700 Ngunit sa kasong ito, hindi namin talagang alam ng anumang bagay tungkol sa mga function. 186 00:08:27,700 --> 00:08:29,320 Gusto lang namin na magdagdag ng dalawang integer. 187 00:08:29,320 --> 00:08:32,429 Kaya kami na lang ang tawag mga integer isang at b. 188 00:08:32,429 --> 00:08:33,990 Iyon ang isa sa mga halimbawa. 189 00:08:33,990 --> 00:08:36,287 >> Bakit hindi ka kumuha ng isang pangalawang mag-isip tungkol sa isang ito, 190 00:08:36,287 --> 00:08:38,870 kung paano mo magsulat ng isang function deklarasyon ng function na 191 00:08:38,870 --> 00:08:42,940 multiplies dalawang numero ng lumulutang point? 192 00:08:42,940 --> 00:08:45,910 Huwag mo matandaan kung ano ang isang lumulutang point numero ay? 193 00:08:45,910 --> 00:08:48,120 Ano ang gusto ang function na ito deklarasyon hitsura? 194 00:08:48,120 --> 00:08:53,330 Ko talagang pinapayo mo i-pause ang video at kumuha dito kung magkano ang oras na kailangan mo. 195 00:08:53,330 --> 00:08:55,521 Mag-isip tungkol sa kung ano ito function deklarasyon ay magiging? 196 00:08:55,521 --> 00:08:56,770 Ano ang gusto ay ang uri ng return? 197 00:08:56,770 --> 00:08:58,103 Ano ang magiging isang makabuluhang pangalan? 198 00:08:58,103 --> 00:08:59,580 Ano ang gusto ay ang input? 199 00:08:59,580 --> 00:09:03,190 Kaya bakit hindi mo i-pause ang video dito at magsulat-up ng isang function deklarasyon 200 00:09:03,190 --> 00:09:07,640 para sa isang function na ay multiply dalawang lumulutang point numero ng magkasama. 201 00:09:07,640 --> 00:09:09,330 Inaasahan namin na kayo ay naka-pause ang video. 202 00:09:09,330 --> 00:09:12,950 >> Kaya sabihin kumuha ng isang pagtingin sa isang halimbawa ng isa sa mga posibleng deklarasyon. 203 00:09:12,950 --> 00:09:17,340 Magpalutang mult dalawang reals lumutang x, float y. 204 00:09:17,340 --> 00:09:19,090 Ang produkto ng dalawang lumulutang point numero, 205 00:09:19,090 --> 00:09:21,710 na pagpapabalik ay kung paano namin kumakatawan tunay na mga numero 206 00:09:21,710 --> 00:09:26,770 o numero sa decimal na halaga sa c, ay magiging isang lumulutang point numero. 207 00:09:26,770 --> 00:09:28,570 Kapag multiply mo ang isang decimal sa pamamagitan ng isang decimal, 208 00:09:28,570 --> 00:09:30,460 marahil ikaw ay pagpunta upang makakuha ng isang decimal. 209 00:09:30,460 --> 00:09:31,960 Gusto mong bigyan ito ng isang may-katuturang mga pangalan. 210 00:09:31,960 --> 00:09:33,810 Paramihin ang dalawang reals tila fine. 211 00:09:33,810 --> 00:09:36,620 Ngunit ikaw talaga ay maaaring tumawag ito mult dalawang kamay, o mult kamay. 212 00:09:36,620 --> 00:09:39,540 Anumang bagay na gusto, hangga't ito nagbigay ng ilang mga aktwal na kahulugan sa kung ano ang 213 00:09:39,540 --> 00:09:41,469 ito itim na kahon ay pagpunta sa gawin. 214 00:09:41,469 --> 00:09:44,260 At muli, sa kasong ito, ay hindi kami mukhang may naka-attach ang anumang mga kahulugan 215 00:09:44,260 --> 00:09:46,390 sa mga pangalan ng mga variable kami ay pagpasa sa, 216 00:09:46,390 --> 00:09:48,645 kaya ang tawag namin sa mga ito lamang x at y. 217 00:09:48,645 --> 00:09:51,020 Ngayon kung tumawag ka sa kanila ng isang bagay ibang tao, na ang ganap na fine. 218 00:09:51,020 --> 00:09:53,310 Sa katunayan, kung ikaw mismo ang sa halip na ito deklarasyon 219 00:09:53,310 --> 00:09:55,450 gamit doubles halip ng kamay, kung isipin mo 220 00:09:55,450 --> 00:09:59,100 na doubles ay isang iba't ibang paraan upang mas tiyak 221 00:09:59,100 --> 00:10:02,330 tukuyin tunay na mga numero o lumulutang na variable point. 222 00:10:02,330 --> 00:10:03,620 Iyan ay lubos pinong masyadong. 223 00:10:03,620 --> 00:10:04,670 Alinman sa isa sa mga magiging fine. 224 00:10:04,670 --> 00:10:06,711 Sa katunayan, may ilang mga iba't ibang mga kumbinasyon 225 00:10:06,711 --> 00:10:08,410 ng mga paraan upang ipahayag ang function na ito. 226 00:10:08,410 --> 00:10:10,884 Ngunit ito ay dalawang pretty mabuti pa. 227 00:10:10,884 --> 00:10:12,550 Ipinahayag namin ang isang function, na malaki. 228 00:10:12,550 --> 00:10:15,700 Sinabi na namin ang mga compiler kung ano ito ay, kung ano ang namin ang pagpunta sa ginagawa. 229 00:10:15,700 --> 00:10:17,630 Ngayon ay talagang isulat na function na ipaalam. 230 00:10:17,630 --> 00:10:20,750 Bigyan ito ng isang kahulugan Hayaan, kaya na sa loob ng itim na kahon 231 00:10:20,750 --> 00:10:22,840 predictable na pag-uugali ay nangyayari. 232 00:10:22,840 --> 00:10:26,270 Sa katunayan, ang pag-multiply tayo ay dalawang tunay numero ng magkasama, o pagdagdag ng mga numero 233 00:10:26,270 --> 00:10:29,760 sama-sama, o paggawa ng anumang mga ito ay na hiniling namin sa aming mga function na gawin. 234 00:10:29,760 --> 00:10:32,780 >> Kaya sa katunayan, sabihin subukan at tukuyin ipaalam multiply ang dalawang reals saan namin lamang 235 00:10:32,780 --> 00:10:35,350 usapan tungkol sa isang segundo ang nakalipas. 236 00:10:35,350 --> 00:10:38,560 Ngayon ang simula ng isang kahulugan ng function 237 00:10:38,560 --> 00:10:41,720 Mukhang halos eksakto ang parehong bilang isang function deklarasyon. 238 00:10:41,720 --> 00:10:43,170 Mayroon akong pareho ng mga ito dito. 239 00:10:43,170 --> 00:10:47,770 Sa tuktok ay ang function deklarasyon, type, pangalan, comma separated argument 240 00:10:47,770 --> 00:10:49,410 list, semicolon. 241 00:10:49,410 --> 00:10:53,800 Semicolon ay nagpapahiwatig na iyon ay isang function na deklarasyon. 242 00:10:53,800 --> 00:10:57,060 Ang simula ng pag-andar definition hitsura halos eksakto 243 00:10:57,060 --> 00:11:03,790 pareho, uri, pangalan, na pinaghiwalay ng kuwit list argument, walang tuldok-kuwit, 244 00:11:03,790 --> 00:11:05,206 buksan kulot suhay. 245 00:11:05,206 --> 00:11:07,580 Ang bukas kulot suhay, tulad ng namin nai-paggawa sa main, 246 00:11:07,580 --> 00:11:09,540 Nangangahulugan ito na kami ngayon simula upang tukuyin 247 00:11:09,540 --> 00:11:14,567 kung ano ang mangyayari sa loob ng itim na kahon na napagpasyahan naming tumawag mult dalawang reals. 248 00:11:14,567 --> 00:11:15,900 Narito ang isang paraan upang ipatupad ito. 249 00:11:15,900 --> 00:11:20,370 Maaari naming sabihin, maaari naming ipahayag ang isang bagong variable ng float na tinatawag na uri ng produkto 250 00:11:20,370 --> 00:11:24,020 at magtalaga ng variable na sa mga oras na halaga x y. 251 00:11:24,020 --> 00:11:27,306 At pagkatapos ay bumalik produkto. 252 00:11:27,306 --> 00:11:28,430 Ano ang ibig sabihin return dito. 253 00:11:28,430 --> 00:11:31,090 Well return ay ang paraan ipahiwatig namin na kung paano 254 00:11:31,090 --> 00:11:33,400 kami ay pagpasa sa output-back out. 255 00:11:33,400 --> 00:11:38,160 Kaya bumalik sa isang bagay, ay ang parehong bilang, ito ay ang output ng itim na kahon. 256 00:11:38,160 --> 00:11:40,732 Kaya na kung paano mo gawin ito. 257 00:11:40,732 --> 00:11:42,190 Narito ang isa pang paraan upang ipatupad ito. 258 00:11:42,190 --> 00:11:45,050 Kami ay maaaring bumalik lang ulit x y. 259 00:11:45,050 --> 00:11:45,870 x ay isang float. 260 00:11:45,870 --> 00:11:46,660 y ay isang float. 261 00:11:46,660 --> 00:11:48,490 Kaya x beses y ay isa ring float. 262 00:11:48,490 --> 00:11:50,750 Hindi namin kahit na kailangan upang gumawa ng isa pang variable. 263 00:11:50,750 --> 00:11:56,750 Kaya na ang isang iba't ibang mga paraan upang ipatupad ang eksaktong parehong itim na kahon. 264 00:11:56,750 --> 00:11:58,570 >> Ngayon, ilipat ang isang sandali, muli i-pause ang video, 265 00:11:58,570 --> 00:12:01,680 at subukan at tukuyin magdagdag ng dalawang ints, kung saan ay ang iba pang mga pag-andar na tayo 266 00:12:01,680 --> 00:12:03,090 usapan tungkol sa isang sandali ang nakalipas. 267 00:12:03,090 --> 00:12:06,440 Muli dito, ilagay ko na ang pag-andar pagpapahayag, at sa gayon ang tuldok-kuwit, 268 00:12:06,440 --> 00:12:08,420 at isang bukas kulot suhay at isang closed kulot 269 00:12:08,420 --> 00:12:12,080 suhay upang ipahiwatig kung saan kami ay punan sa mga nilalaman ng magdagdag ng dalawang ints, 270 00:12:12,080 --> 00:12:15,530 kaya na namin tukuyin ang mga partikular na pag-uugali sa loob ng itim na kahon. 271 00:12:15,530 --> 00:12:16,380 Kaya i-pause ang video. 272 00:12:16,380 --> 00:12:18,790 At tumagal ng mas maraming oras kailangan mong subukan at tukuyin 273 00:12:18,790 --> 00:12:25,040 isang pagpapatupad ng magdagdag ng dalawang ints, tulad na kapag ang pag-andar output ng isang halaga, 274 00:12:25,040 --> 00:12:29,209 ito ay, sa katunayan, return ang kabuuan ng dalawang input. 275 00:12:29,209 --> 00:12:32,000 Kaya tulad ng mga nakaraang mga halimbawa, may mga ilang iba't-ibang paraan 276 00:12:32,000 --> 00:12:34,210 na maaari mong ipatupad magdagdag ng dalawang ints. 277 00:12:34,210 --> 00:12:35,130 Narito ang isa. 278 00:12:35,130 --> 00:12:37,172 Sa dito sa orange na ko lamang ay nagkaroon ng ilang comments-- 279 00:12:37,172 --> 00:12:38,880 Lamang Nagdagdag ako ng ilang mga Tingnan ang mga komento upang ipahiwatig 280 00:12:38,880 --> 00:12:41,400 ano ang nangyayari sa bawat linya ng code. 281 00:12:41,400 --> 00:12:45,430 Kaya Ipinahahayag ko sa isang variable tinatawag na kabuuan ng uri int. 282 00:12:45,430 --> 00:12:47,279 Sinasabi ko sum ay katumbas ng isang plus b. 283 00:12:47,279 --> 00:12:50,070 Iyon ay kung saan aktwal na aming ginagawa ang gawain ng pagdagdag ng isang at b magkasama. 284 00:12:50,070 --> 00:12:51,850 At bumalik ako sum. 285 00:12:51,850 --> 00:12:56,460 At na akma dahil sum ay isang variable ng uri int. 286 00:12:56,460 --> 00:13:00,180 At kung ano ang uri ng data na ito Sinasabi sa akin ng function ito ay pagpunta sa output? 287 00:13:00,180 --> 00:13:00,680 Int. 288 00:13:00,680 --> 00:13:03,072 Kaya ako bumabalik kabuuan, na ay isang integer variable. 289 00:13:03,072 --> 00:13:06,030 At na ang akma na ibinigay kung ano na namin ipinahayag at tinukoy aming mga function 290 00:13:06,030 --> 00:13:07,320 gagawin. 291 00:13:07,320 --> 00:13:09,700 >> Ngayon ay maaari mo ring tukuyin ang ang function ganitong paraan, 292 00:13:09,700 --> 00:13:15,260 int sum ay katumbas ng isang plus b-- laktawan na unang step-- at pagkatapos, bumalik sum. 293 00:13:15,260 --> 00:13:17,760 Maaari ka na ngayong magkaroon din ng ipinatupad ito sa ganitong paraan, 294 00:13:17,760 --> 00:13:19,180 kung saan ko mataas ay hindi inirerekomenda. 295 00:13:19,180 --> 00:13:22,540 Ito ay masama estilo para sa isa bagay at ganap na hindi maayos na disenyo, 296 00:13:22,540 --> 00:13:24,420 ngunit ito ay, sa katunayan, work. 297 00:13:24,420 --> 00:13:30,199 Kung ikaw ay kumuha ng code, na kung saan ay int magdagdag ng masamang ahas dot c, at gamitin ito. 298 00:13:30,199 --> 00:13:31,990 Ito talaga ay si dalawang integer magkasama. 299 00:13:31,990 --> 00:13:37,632 Ito ay isang lubhang mahirap na pagpapatupad ng partikular na pag-uugali. 300 00:13:37,632 --> 00:13:38,340 Ngunit ito ay hindi gumagana. 301 00:13:38,340 --> 00:13:41,200 Ito ay lamang dito upang ilarawan sa punto na hindi namin talagang 302 00:13:41,200 --> 00:13:44,530 pakialam kung ano ang mangyayari sa loob ang itim na kahon, hangga't 303 00:13:44,530 --> 00:13:46,510 dahil ito ay ang output na inaasahan namin. 304 00:13:46,510 --> 00:13:48,870 Ito ay isang mahinang dinisenyo itim na kahon. 305 00:13:48,870 --> 00:13:53,801 Ngunit sa pagtatapos ng araw, ito ay pa rin output ang kabuuan ng isang plus b. 306 00:13:53,801 --> 00:13:54,300 Lahat tama. 307 00:13:54,300 --> 00:13:56,320 Kaya ipinahayag na namin ang pag-andar. 308 00:13:56,320 --> 00:13:57,490 At tinukoy namin ang function. 309 00:13:57,490 --> 00:13:58,540 Kaya na talagang mahusay. 310 00:13:58,540 --> 00:14:03,020 Ngayon natin simulan na gamitin ang mga function hayaan na iyong ipinahayag namin at na tinukoy namin. 311 00:14:03,020 --> 00:14:05,960 Upang tawagan ang isang function ito ay aktwal na pretty easy-- lahat ng kailangan mong gawin 312 00:14:05,960 --> 00:14:09,070 ay pumasa ito naaangkop arguments, argumento ng uri ng data 313 00:14:09,070 --> 00:14:11,600 na ito inaasahan, at pagkatapos ay italaga ang return 314 00:14:11,600 --> 00:14:15,190 halaga ng na function at this-- excuse me-- 315 00:14:15,190 --> 00:14:19,390 magtalaga ng mga halaga ng pagbabalik ng na function na sa isang bagay ng tamang uri. 316 00:14:19,390 --> 00:14:22,410 >> Kaya sabihin magkaroon ng isang pagtingin sa ito sa pagsasanay sa isang file 317 00:14:22,410 --> 00:14:27,730 tinatawag na ulupong 1 dot c, na kung saan Mayroon akong sa aking cs50 IDE. 318 00:14:27,730 --> 00:14:31,042 Kaya dito ay ang nagsasama 1 dot c. 319 00:14:31,042 --> 00:14:33,500 Sa simula nakikita ninyo sa akin aking kinabibilangan, pound isama, 320 00:14:33,500 --> 00:14:35,460 standard IO, at cs50 dot h. 321 00:14:35,460 --> 00:14:37,700 At pagkatapos ay ako ang aking function deklarasyon. 322 00:14:37,700 --> 00:14:39,570 Ito ay kung saan ako nagsasabi ng compiler Ako 323 00:14:39,570 --> 00:14:42,850 pagpunta sa pagsulat ng isang function na tinatawag na magdagdag ng dalawang ints. 324 00:14:42,850 --> 00:14:45,780 Ito ay pagpunta sa output ng isang integer uri ng variable. 325 00:14:45,780 --> 00:14:47,360 Iyan ang bahagi na ito ay karapatan dito. 326 00:14:47,360 --> 00:14:51,950 At pagkatapos ay mayroon akong dalawang input na ito ng isang at b, ang bawat isa ay isang integer. 327 00:14:51,950 --> 00:14:58,250 Inside ng main, hinihiling ko ang mga user para sa input sa pagsasabing, bigyan ako ng isang integer. 328 00:14:58,250 --> 00:15:01,040 At ang mga ito ay na-prompt upang makalimutan int, na kung saan ay isang function na 329 00:15:01,040 --> 00:15:03,240 ay kasama sa cs50 library. 330 00:15:03,240 --> 00:15:07,660 At na ay makakakuha ng naka-imbak sa x, na isang integer variable. 331 00:15:07,660 --> 00:15:09,886 >> Pagkatapos i-prompt namin ang mga ito para sa isa pang integer. 332 00:15:09,886 --> 00:15:13,070 Kumuha kami ng isa pang integer at mag-imbak na sa y. 333 00:15:13,070 --> 00:15:17,990 At pagkatapos, dito sa 28 na linya, ay kung saan ang aming tawag function. 334 00:15:17,990 --> 00:15:23,770 Kami ay sinasabi, int z equals magdagdag ng 2 ints x comma y. 335 00:15:23,770 --> 00:15:25,980 Huwag mong makita kung bakit ito ang akma? 336 00:15:25,980 --> 00:15:29,710 x ay isang uri ng integer variable at y ay isang uri ng integer variable. 337 00:15:29,710 --> 00:15:31,220 Kaya na mabuti. 338 00:15:31,220 --> 00:15:34,570 Na magkaroon ng kahulugan sa kung ano ang aming mga function deklarasyon sa 17 linya kamukha. 339 00:15:34,570 --> 00:15:38,300 Ang comma separated list input Inaasahan ng dalawang integer, isang at b. 340 00:15:38,300 --> 00:15:40,300 Sa kasong iyon, maaari naming tumawag ano man ang mga ito ang gusto namin. 341 00:15:40,300 --> 00:15:42,300 Inaasahan lamang ay dalawang integer. 342 00:15:42,300 --> 00:15:44,930 At x ay isang integer at y ay isang integer. 343 00:15:44,930 --> 00:15:45,640 Na gumagana. 344 00:15:45,640 --> 00:15:48,680 >> At nalalaman natin na ang function ay pagpunta na output ng isang integer rin. 345 00:15:48,680 --> 00:15:51,290 At kaya pagtatabi namin ay ang output ng function, 346 00:15:51,290 --> 00:15:56,050 magdagdag ng dalawang mga ints, sa isang uri ng integer variable, na kung saan kami ay pagtawag z. 347 00:15:56,050 --> 00:16:01,980 At pagkatapos ay maaari naming sabihin, ang kabuuan ng porsiyento i at porsiyento i ay i porsyento. 348 00:16:01,980 --> 00:16:06,210 x, y at z ayon sa pagkakabanggit pagpuno sa mga porsiyento i ni. 349 00:16:06,210 --> 00:16:08,334 Ano ang kahulugan ng magdagdag ng hitsura ng dalawang ints gusto? 350 00:16:08,334 --> 00:16:09,125 Ito ay medyo simple. 351 00:16:09,125 --> 00:16:11,270 Ito ay isa sa mga tayo Nakita lamang ng isang segundo na nakalipas, 352 00:16:11,270 --> 00:16:14,390 katumbas int sum ng plus return b sum. 353 00:16:14,390 --> 00:16:15,420 Gumagana ba ito? 354 00:16:15,420 --> 00:16:17,270 I-save ng file Hayaan. 355 00:16:17,270 --> 00:16:22,080 At pagkatapos ay down na dito sa aking terminal Pupunta ako sa gumawa ng ulupong 1, 356 00:16:22,080 --> 00:16:23,000 at i-clear ang aking screen. 357 00:16:23,000 --> 00:16:25,791 Pupunta ako upang mag-zoom in dahil alam ko ito ay isang maliit na mahirap makita. 358 00:16:25,791 --> 00:16:31,520 359 00:16:31,520 --> 00:16:33,770 >> Kaya compile namin ang program na ito bilang ulupong 1. 360 00:16:33,770 --> 00:16:37,910 Kaya maaari naming gawin dot slash ulupong 1. 361 00:16:37,910 --> 00:16:40,060 Bigyan mo ako ng isang integer, 10. 362 00:16:40,060 --> 00:16:42,380 Bigyan mo ako ng isa pang integer, 20. 363 00:16:42,380 --> 00:16:45,200 Ang kabuuan ng 10 at 20 ay 30. 364 00:16:45,200 --> 00:16:47,615 Kaya gumawa kami ng isang matagumpay na pag-andar ng tawag. 365 00:16:47,615 --> 00:16:55,820 Maaari mong patakbuhin muli ang function, negatibong 10, 17 kabuuan ng mga negatibong 10 at 17 ay 7. 366 00:16:55,820 --> 00:16:57,120 Gumagana ang function na ito. 367 00:16:57,120 --> 00:16:59,240 Ito ay ang pag-uugali na inaasahan namin ito sa. 368 00:16:59,240 --> 00:17:03,610 At kaya ginawa naming ng isang matagumpay na function, kahulugan, pagpapahayag, 369 00:17:03,610 --> 00:17:07,288 at ang isang matagumpay na tawag function. 370 00:17:07,288 --> 00:17:09,079 Ilang mga iba't ibang puntos tungkol sa mga pag-andar 371 00:17:09,079 --> 00:17:10,611 bago naming tapusin ang seksyong ito. 372 00:17:10,611 --> 00:17:12,319 Pagpapabalik mula sa aming talakayan ng mga uri ng data, 373 00:17:12,319 --> 00:17:16,109 dati, na ang mga function maaring magtagal walang input. 374 00:17:16,109 --> 00:17:17,930 Kung iyon ang kaso, kami Ipinahahayag ng mga function 375 00:17:17,930 --> 00:17:19,788 tulad ng pagkakaroon ng isang listahan na walang bisa argument. 376 00:17:19,788 --> 00:17:21,579 Natatandaan mo pa ba kung ano ang mga pinaka-karaniwang pag-andar 377 00:17:21,579 --> 00:17:25,036 nasaksihan namin sa ngayon na tumatagal isang listahan argument void ay? 378 00:17:25,036 --> 00:17:27,300 Ito ay pangunahing. 379 00:17:27,300 --> 00:17:30,850 Alalahanin din na ang function na kung minsan hindi tunay na may isang output. 380 00:17:30,850 --> 00:17:34,210 Sa kasong iyon, ipinapahayag namin ang function tulad ng pagkakaroon ng isang uri void return. 381 00:17:34,210 --> 00:17:37,880 Tapusin ni seksyon na ito sa pamamagitan ng Hayaan tackling isang problema practice. 382 00:17:37,880 --> 00:17:39,900 >> Kaya narito ang problema inilatag. 383 00:17:39,900 --> 00:17:43,630 Gusto ko sa iyo na magsulat ng isang function tinatawag valid triangle. 384 00:17:43,630 --> 00:17:47,410 Ano ang dapat gawin ang function na ito ay tumagal ng tatlong tunay na mga numero 385 00:17:47,410 --> 00:17:51,930 na kumakatawan sa haba ng tatlong panig ng isang tatsulok bilang parameter nito, 386 00:17:51,930 --> 00:17:54,550 o mga argument nito, o ang kanyang inputs-- isa pang hanay ng mga kasingkahulugan 387 00:17:54,550 --> 00:17:57,340 na maaari mong nakakaharap. 388 00:17:57,340 --> 00:18:01,120 Ang pagpapaandar na ito ay dapat na mag-output totoo o hindi 389 00:18:01,120 --> 00:18:04,960 depende sa kung ang tatlong haba mga ay may kakayahang gumawa ng isang tatsulok. 390 00:18:04,960 --> 00:18:09,930 Naaalala mo ba ang uri ng data na ginamit namin upang ipahiwatig kung tama o mali? 391 00:18:09,930 --> 00:18:11,436 Ngayon paano mo ipatupad ito? 392 00:18:11,436 --> 00:18:13,810 Well alam may isang pares ng mga patakaran tungkol sa triangles 393 00:18:13,810 --> 00:18:15,480 na ang mga tunay na kapaki-pakinabang na malaman. 394 00:18:15,480 --> 00:18:18,292 Ang tatsulok ay maaari lamang magkaroon panig na may positibong haba. 395 00:18:18,292 --> 00:18:19,000 Na makatuwiran. 396 00:18:19,000 --> 00:18:21,432 Marahil ang iyong sinasabi, duh. 397 00:18:21,432 --> 00:18:23,390 Ang iba pang mga bagay na dapat tandaan bagaman, ay na ang kabuuan 398 00:18:23,390 --> 00:18:25,484 ng haba ng anumang dalawang panig ng tatsulok 399 00:18:25,484 --> 00:18:27,650 ay dapat mas malaki kaysa sa haba ng ikatlong panig. 400 00:18:27,650 --> 00:18:28,690 Iyan ay talagang totoo. 401 00:18:28,690 --> 00:18:34,150 Hindi ka maaaring magkaroon ng isang tatsulok panig 1, 2 at 4, halimbawa, dahil 1 plus 2 402 00:18:34,150 --> 00:18:36,270 ay hindi mas malaki kaysa sa 4. 403 00:18:36,270 --> 00:18:38,870 Kaya ang mga ay ang mga tuntunin na matukoy kung o hindi ang tatlong 404 00:18:38,870 --> 00:18:42,740 input ay maaaring naiisip bumuo ng isang tatsulok. 405 00:18:42,740 --> 00:18:46,360 Kaya maglaan ng ilang minuto at ipinapahayag at pagkatapos ay tukuyin ang 406 00:18:46,360 --> 00:18:49,810 mga function na ito na tinatawag na valid tatsulok, tulad na ito ay tunay na 407 00:18:49,810 --> 00:18:51,650 ay ang pag-uugali na tinukoy dito. 408 00:18:51,650 --> 00:18:57,030 >> Ito ay output totoo kung ang mga tatlong panig ay kaya ng na binubuo ng isang tatsulok, 409 00:18:57,030 --> 00:19:01,950 at maling kung hindi man Handa upang makita kung paano ang iyong ginawa? 410 00:19:01,950 --> 00:19:04,650 Narito ang isa pagpapatupad ng valid triangle. 411 00:19:04,650 --> 00:19:05,770 Ito ay hindi lamang ang isa. 412 00:19:05,770 --> 00:19:07,770 Maaaring Taos-iba nang bahagya. 413 00:19:07,770 --> 00:19:11,040 Ngunit ang isang ito ay, sa katunayan, ay may ang pag-uugali na inaasahan namin. 414 00:19:11,040 --> 00:19:14,450 Ipinapahayag namin ang aming mga function sa pinakatuktok, bool valid tatsulok 415 00:19:14,450 --> 00:19:16,630 lumutang x float y float z. 416 00:19:16,630 --> 00:19:18,930 Kaya muli, ang function na ito tumatagal ng tatlong tunay na mga numero 417 00:19:18,930 --> 00:19:22,280 bilang argumento nito, lumulutang variable na halaga ng point, 418 00:19:22,280 --> 00:19:26,510 at lumilikha ng isang true o false halaga, na kung saan ay isang Boolean, pagpapabalik. 419 00:19:26,510 --> 00:19:28,660 Kaya na ang dahilan kung bakit ang uri ng return ay bool. 420 00:19:28,660 --> 00:19:30,016 Pagkatapos namin tukuyin ang mga function. 421 00:19:30,016 --> 00:19:33,140 Unang bagay na namin ay suriin upang tiyakin na na ang lahat ng panig ay positibo. 422 00:19:33,140 --> 00:19:37,010 Kung x ay mas mababa sa o katumbas ng sa 0, o kung y ay katumbas ng 0, 423 00:19:37,010 --> 00:19:41,050 o kung z mas mababa sa o katumbas ng 0, na hindi maaaring posibleng maging isang tatsulok. 424 00:19:41,050 --> 00:19:42,380 Hindi sila ay may positibong panig. 425 00:19:42,380 --> 00:19:45,790 At upang maaari naming bumalik false na sa sitwasyon. 426 00:19:45,790 --> 00:19:49,010 Susunod, tingnan nating tiyakin na ang bawat pares ng mga input 427 00:19:49,010 --> 00:19:51,830 ay mas malaki kaysa sa ikatlong isa. 428 00:19:51,830 --> 00:19:54,530 >> Kaya kung x plus y ay mas mababa kaysa sa o katumbas z, 429 00:19:54,530 --> 00:19:57,060 o kung x plus z ay mas mababa kaysa sa o katumbas ng y, 430 00:19:57,060 --> 00:20:01,730 o kung y plus z ay mas mababa sa o katumbas ng x, na rin ay hindi maaaring maging isang wastong triangle. 431 00:20:01,730 --> 00:20:03,800 Kaya bumalik kami false muli. 432 00:20:03,800 --> 00:20:06,900 Sa pag-aakala namin ang pumasa sa parehong mga tseke bagaman, pagkatapos ay maaari naming nagbabalik ng tunay. 433 00:20:06,900 --> 00:20:09,440 Dahil ang mga tatlong panig kaya ng returning-- 434 00:20:09,440 --> 00:20:11,647 ng paglikha ng isang valid na tatsulok. 435 00:20:11,647 --> 00:20:12,230 At na ito. 436 00:20:12,230 --> 00:20:13,830 Ngayon ko na ipinahayag mo at tinukoy. 437 00:20:13,830 --> 00:20:17,330 At maaaring ikaw ay maaaring sa ngayon gamitin at tawagin ang function na ito. 438 00:20:17,330 --> 00:20:19,470 Mahusay. 439 00:20:19,470 --> 00:20:20,650 Ako Doug Lloyd. 440 00:20:20,650 --> 00:20:22,820 Ito ang cs50. 441 00:20:22,820 --> 00:20:24,340