1 00:00:00,000 --> 00:00:04,664 2 00:00:04,664 --> 00:00:05,580 Даг Lloyd: Добра. 3 00:00:05,580 --> 00:00:08,877 Так што цяпер давайце возьмемся сапраўды вялікая тэма, функцыі. 4 00:00:08,877 --> 00:00:11,460 Да гэтага часу ў працэсе, усё Праграмы, якія мы былі якія пішуць 5 00:00:11,460 --> 00:00:12,969 былі напісаны ўнутры асноўнай. 6 00:00:12,969 --> 00:00:14,260 Яны даволі простыя праграмы. 7 00:00:14,260 --> 00:00:16,940 Вам не трэба, каб усе гэтыя філіялы і рэчаў адбываецца. 8 00:00:16,940 --> 00:00:18,773 Мы можам проста змясціць яго ўнутры асноўнай і 9 00:00:18,773 --> 00:00:20,407 ня атрымаць страшна пераважнай. 10 00:00:20,407 --> 00:00:22,990 Але, як курс працягваецца і як вы пачнеце распрацоўваць праграмы 11 00:00:22,990 --> 00:00:26,260 самастойна, яны, верагодна, будзе каб пачаць, каб атрымаць значна больш, чым 10 12 00:00:26,260 --> 00:00:27,200 або 15 радкоў. 13 00:00:27,200 --> 00:00:31,400 Вы можаце атрымаць сотні ці тысячы або дзесяткі тысяч радкоў кода. 14 00:00:31,400 --> 00:00:34,690 І гэта на самай справе не што з розуму думка. 15 00:00:34,690 --> 00:00:39,720 Як такая, яна, верагодна, не вельмі добрая ідэя захаваць усе ўнутры асноўнай. 16 00:00:39,720 --> 00:00:43,240 Гэта можа стаць трохі цяжка знайсці тое, што вы шукаеце, калі вы зробіце гэта. 17 00:00:43,240 --> 00:00:47,040 >> На шчасце, хоць C, і ў значнай ступені кожны мова праграмавання, які 18 00:00:47,040 --> 00:00:50,386 можа працаваць, дазваляе нам напісаць функцыі. 19 00:00:50,386 --> 00:00:52,260 І я проста хачу, каб Вазьміце хуткі бок тут 20 00:00:52,260 --> 00:00:54,971 адзначыць, што функцый адна вобласць інфарматыкі. 21 00:00:54,971 --> 00:00:57,970 І вы будзеце бачыць больш з іх у розныя пункты на працягу ўсяго курсу 22 00:00:57,970 --> 00:00:59,290 і калі вы будзеце працягваць далей. 23 00:00:59,290 --> 00:01:02,280 Там, дзе ёсць шмат сінонімы аднаго і таго ж слова. 24 00:01:02,280 --> 00:01:03,390 Так мы называем функцыі. 25 00:01:03,390 --> 00:01:05,980 Але вы маглі б таксама пачуць іх згадваецца як працэдур, 26 00:01:05,980 --> 00:01:09,570 або метады, у прыватнасці, калі вы калі-небудзь зрабіць любы аб'ектна-арыентаванага праграмавання 27 00:01:09,570 --> 00:01:11,950 before-- і не турбавацца калі ў вас не, не 28 00:01:11,950 --> 00:01:14,280 вялікі deal-- але ў аўдытарскія арыентаваныя мовы 29 00:01:14,280 --> 00:01:16,129 часта званыя метадамі. 30 00:01:16,129 --> 00:01:17,670 Часам яны называюцца падпраграмамі. 31 00:01:17,670 --> 00:01:20,690 Але яны на самай справе ўсё яны ставяцца да таго ж асноўнай ідэі. 32 00:01:20,690 --> 00:01:22,480 >> Давайце паглядзім, што гэтая ідэя. 33 00:01:22,480 --> 00:01:23,310 Што такое функцыя? 34 00:01:23,310 --> 00:01:26,470 Ну функцыя сапраўды не больш, чым чорны скрыню. 35 00:01:26,470 --> 00:01:31,430 Чорны скрыню, які мае мноства нулявы або больш уваходаў і адзін выхад. 36 00:01:31,430 --> 00:01:33,420 Так, напрыклад, гэтая можа быць функцыяй. 37 00:01:33,420 --> 00:01:35,510 Гэтая функцыя называецца функцыі. 38 00:01:35,510 --> 00:01:39,330 І гэта займае тры ўваходу A, B і С. 39 00:01:39,330 --> 00:01:42,580 І ўнутры гэтага чорнага скрыні, мы не ведаю дакладна, што ён робіць, 40 00:01:42,580 --> 00:01:45,100 але ён апрацоўвае ўваходы у некаторым родзе, а затым ён 41 00:01:45,100 --> 00:01:48,680 дае адно выйсце, у гэтым выпадку, г. 42 00:01:48,680 --> 00:01:50,504 Зараз, каб зрабіць яго крыху менш абстрактным, мы 43 00:01:50,504 --> 00:01:52,420 Можна сказаць, што, магчыма, мы ёсць функцыя пад назвай 44 00:01:52,420 --> 00:01:58,750 Дадамо, што займае тры ўваходу A, B, і З і апрацоўвае выходныя дадзеныя ў некаторым родзе 45 00:01:58,750 --> 00:02:01,010 ўнутры чорнай скрыні да вырабляць адно выйсце. 46 00:02:01,010 --> 00:02:05,190 Такім чынам, у гэтым выпадку, калі дадаць займае 3, 6, і 7. 47 00:02:05,190 --> 00:02:07,020 Недзе ўнутры дадаць функцыю, мы б 48 00:02:07,020 --> 00:02:09,750 чакаць, што яны будуць дададзеныя разам для атрымання выхаднога сігналу, які 49 00:02:09,750 --> 00:02:13,220 3 плюс 6 плюс 7 або 16. 50 00:02:13,220 --> 00:02:17,940 >> Сапраўды гэтак жа, у вас ёсць функцыя пад назвай мульт, які прымае два ўваходу, а і б, 51 00:02:17,940 --> 00:02:21,070 апрацоўвае іх у пэўным сэнсе такі што выхад функцыі 52 00:02:21,070 --> 00:02:22,920 з'яўляецца прадуктам двух уваходаў. 53 00:02:22,920 --> 00:02:25,080 Два ўваходу перамнажаюцца. 54 00:02:25,080 --> 00:02:29,150 4 і 5 перадаецца ў Mult, нешта здарыцца, выхад мы чакаем 55 00:02:29,150 --> 00:02:31,090 20. 56 00:02:31,090 --> 00:02:32,507 Чаму мы называем гэта чорны скрыню? 57 00:02:32,507 --> 00:02:34,840 Ну, калі мы не напісання Функцыі сябе, што 58 00:02:34,840 --> 00:02:36,869 мы зрабілі зусім няшмат да гэтага часу CS50. 59 00:02:36,869 --> 00:02:39,910 Мы бачылі друку F, напрыклад, што гэта функцыя, якую мы не напісаць 60 00:02:39,910 --> 00:02:42,305 самі, але мы выкарыстоўваем ўвесь час. 61 00:02:42,305 --> 00:02:44,180 Калі мы не пішам функцыі самі, 62 00:02:44,180 --> 00:02:48,450 мы на самай справе не трэба ведаць, як гэта на самай справе рэалізаваны пад капотам. 63 00:02:48,450 --> 00:02:51,710 >> Так, напрыклад, чорны скрыню I толькі што паказаў вам для множання, 64 00:02:51,710 --> 00:02:53,740 сть а, бы можа быць defined-- і гэта толькі 65 00:02:53,740 --> 00:02:57,902 некаторыя pseudocode-- можа быць вызначаецца як выхад праз раз б. 66 00:02:57,902 --> 00:02:58,860 Гэта мае сэнс, дакладна. 67 00:02:58,860 --> 00:03:01,370 Калі ў нас ёсць функцыя пад назвай мульт, які прымае два ўваходу. 68 00:03:01,370 --> 00:03:04,750 Мы б чакаць, што вынік будзе быць два ўваходу перамнажаюцца, 69 00:03:04,750 --> 00:03:06,240 а раз б. 70 00:03:06,240 --> 00:03:09,170 Але мульт таксама можа быць рэалізаваны, як гэта, 71 00:03:09,170 --> 00:03:13,150 мы маем зменную лічыльніка на атрымаць набор ўнутры Mult 0. 72 00:03:13,150 --> 00:03:18,000 А потым мы паўтараем гэты працэс б раз дадаць да лічыльніку. 73 00:03:18,000 --> 00:03:24,270 Напрыклад, калі мы памножым 3а па 5Б, мы маглі б сказаць ўсталяваць лічыльнік на 0, 74 00:03:24,270 --> 00:03:27,700 паўтарыць пяць разоў, дадаць 3 да прылаўка. 75 00:03:27,700 --> 00:03:34,490 Такім чынам, мы пачынаем з 0, а затым мы робім Гэта ў пяць разоў 3, 6, 9, 12, 15. 76 00:03:34,490 --> 00:03:37,500 Гэта той жа самы вынік. Мы да гэтага часу атрымаць 3 разоў 5 разоў 77 00:03:37,500 --> 00:03:39,500 рэалізацыя адрозніваецца. 78 00:03:39,500 --> 00:03:41,490 >> Гэта азначае, што мы калі мы кажам, чорны скрыню. 79 00:03:41,490 --> 00:03:44,406 Гэта проста азначае, што мы сапраўды не клапоцяцца як гэта рэалізавана пад капотам 80 00:03:44,406 --> 00:03:46,170 тых часоў, пакуль выхад, што мы чакаем. 81 00:03:46,170 --> 00:03:49,045 На самай справе, гэта частка дагавора выкарыстання функцыі, у прыватнасці, 82 00:03:49,045 --> 00:03:50,630 Функцыі, якія пішуць іншыя. 83 00:03:50,630 --> 00:03:53,980 Паводзіны заўсёды будзе тыповымі, непрадказальны 84 00:03:53,980 --> 00:03:55,420 на аснове імя функцыі. 85 00:03:55,420 --> 00:03:57,500 І вось чаму гэта сапраўды важна, калі вы пішаце функцыі 86 00:03:57,500 --> 00:04:00,020 або калі іншыя людзі пішуць Функцыі, якія вы маглі б выкарыстоўваць, 87 00:04:00,020 --> 00:04:03,590 што гэтыя функцыі маюць ясна, адносна відавочныя імёны, 88 00:04:03,590 --> 00:04:04,990 і добра дакументаваны. 89 00:04:04,990 --> 00:04:08,560 Што, вядома, выпадак для функцыі, як друк ф. 90 00:04:08,560 --> 00:04:09,860 >> Дык чаму ж мы выкарыстоўваем функцыі? 91 00:04:09,860 --> 00:04:14,220 Ну, як я сказаў раней, калі мы пішам увесь наш код ўнутры галоўных 92 00:04:14,220 --> 00:04:17,120 можаце атрымаць сапраўды грувасткім і сапраўды складаная. 93 00:04:17,120 --> 00:04:19,980 Функцыі дазваляюць нам здольнасць арганізаваць рэчы і разбіць 94 00:04:19,980 --> 00:04:24,540 вельмі складаная задача ў шмат больш кіраваныя часткі суб. 95 00:04:24,540 --> 00:04:28,130 Функцыі таксама дазваляюць нам спрасціць працэс кадавання. 96 00:04:28,130 --> 00:04:33,080 Гэта нашмат прасцей адладзіць 10 Функцыя лінія супраць лініі 100 97 00:04:33,080 --> 00:04:35,890 функцыя або функцыя ў 1000 лінія. 98 00:04:35,890 --> 00:04:38,400 Калі ў нас ёсць толькі для адладкі маленькія кавалачкі ў той час, 99 00:04:38,400 --> 00:04:42,110 або напісаць невялікія кавалачкі ў той час, гэта робіць гэты вопыт праграмавання 100 00:04:42,110 --> 00:04:43,070 нашмат лепш. 101 00:04:43,070 --> 00:04:44,910 Паверце мне на тым. 102 00:04:44,910 --> 00:04:48,400 >> Нарэшце, калі мы пішам функцыі мы можна паўторна выкарыстоўваць гэтыя розныя часткі. 103 00:04:48,400 --> 00:04:49,880 Функцыі могуць быць перапрацаваныя. 104 00:04:49,880 --> 00:04:51,880 Яны могуць быць выкарыстаны ў адна праграма ці іншай. 105 00:04:51,880 --> 00:04:53,713 Вы ўжо напісалі функцыя, усё, што вам 106 00:04:53,713 --> 00:04:56,530 трэба зрабіць, гэта сказаць, што праграма дзе знайсці гэтую функцыю. 107 00:04:56,530 --> 00:04:59,680 Мы ўтылізацыі і выкарыстання друкаваць е больш за 40 гадоў. 108 00:04:59,680 --> 00:05:02,150 Але гэта было толькі адзін раз напісана. 109 00:05:02,150 --> 00:05:04,270 Даволі карысна, правільна. 110 00:05:04,270 --> 00:05:04,830 Добра. 111 00:05:04,830 --> 00:05:06,040 Так функцыі вялікія. 112 00:05:06,040 --> 00:05:06,860 Мы ведаем, што. 113 00:05:06,860 --> 00:05:08,700 Зараз давайце пачнем пісаць іх. 114 00:05:08,700 --> 00:05:10,830 Давайце пачнем атрымліваць іх у нашых праграмах. 115 00:05:10,830 --> 00:05:13,869 Для таго, каб зрабіць гэта, першы што мы робім, гэта аб'явіць функцыю. 116 00:05:13,869 --> 00:05:16,160 Калі вы аб'яўляеце функцыю тое, што вы робіце ў асноўным 117 00:05:16,160 --> 00:05:18,900 кажа кампілятару, эй, толькі так вы ведаеце, 118 00:05:18,900 --> 00:05:20,850 Я збіраюся пісаць функцыя пазней 119 00:05:20,850 --> 00:05:22,987 і вось што ён будзе выглядаць. 120 00:05:22,987 --> 00:05:24,820 Прычына гэтага ў тым, што кампілятары могуць 121 00:05:24,820 --> 00:05:27,900 зрабіць некаторыя дзіўныя рэчы, калі яны бачаць набор знакаў 122 00:05:27,900 --> 00:05:29,560 што яны не знаёмыя. 123 00:05:29,560 --> 00:05:33,000 Такім чынам, мы проста даць кампілятару ўзначальвае, я ствараю функцыю 124 00:05:33,000 --> 00:05:35,492 і ён збіраецца зрабіць гэта. 125 00:05:35,492 --> 00:05:38,450 Аб'явы функцый звычайна калі Вы арганізуе свой код такім чынам, 126 00:05:38,450 --> 00:05:41,872 што іншыя змогуць зразумець і выкарыстоўваць, 127 00:05:41,872 --> 00:05:44,330 Вы ўвогуле хочаце, каб пакласці ўсе Вашы аб'явы функцый 128 00:05:44,330 --> 00:05:48,220 на самым версе вашага кода, прама перш чым пачаць пісаць асноўны нават. 129 00:05:48,220 --> 00:05:50,770 І зручна, ёсць вельмі стандартная форма 130 00:05:50,770 --> 00:05:53,500 што кожная функцыя дэкларацыя наступным чынам. 131 00:05:53,500 --> 00:05:56,090 Яны ўсе ў значнай ступені выглядаць наступным. 132 00:05:56,090 --> 00:06:01,440 Ёсць тры часткі да функцыі Дэкларацыя, які вяртаецца тып, імя, 133 00:06:01,440 --> 00:06:03,420 і спіс аргументаў. 134 00:06:03,420 --> 00:06:07,180 >> Цяпер тып вяртанне Якіх Пераменная выхад функцыі волі. 135 00:06:07,180 --> 00:06:10,710 Так, напрыклад, калі мы ўспомнім Хвіліну назад да множання двух 136 00:06:10,710 --> 00:06:15,690 Функцыя нумары, тое, што мы чакаем, калі памножым цэлы лік цэлы лік 137 00:06:15,690 --> 00:06:18,502 выхад будзе верагодна, цэлае, права. 138 00:06:18,502 --> 00:06:20,710 Памнажаецца два цэлых колькасці разам, вы атрымаеце цэлы лік. 139 00:06:20,710 --> 00:06:24,167 Так тып якое вяртаецца што Функцыя будзе Int. 140 00:06:24,167 --> 00:06:26,000 Імя гэта тое, што вы хочаце звярнуць вашу функцыі. 141 00:06:26,000 --> 00:06:29,330 Гэта, верагодна, найменш важным частка функцыі дэкларацыі, 142 00:06:29,330 --> 00:06:30,827 з пункту гледжання функцыянальнасці. 143 00:06:30,827 --> 00:06:33,160 Але на самой справе, верагодна, адзін з найбольш важных частак 144 00:06:33,160 --> 00:06:36,243 ў аб'яве функцыі ва ўмовах ведаючы, што на самой справе функцыя 145 00:06:36,243 --> 00:06:37,120 робіць. 146 00:06:37,120 --> 00:06:40,474 Калі вы назваць вашу функцыю F або г або ч або таямніца ці нешта падобнае, 147 00:06:40,474 --> 00:06:42,765 вы, верагодна, збіраецца атрымаць трохі спатыкнуўся, спрабуючы 148 00:06:42,765 --> 00:06:44,650 ўспомніць, што гэтыя функцыі робяць. 149 00:06:44,650 --> 00:06:47,880 Таму важна, каб даць вашай асэнсаваныя імёны функцыі. 150 00:06:47,880 --> 00:06:51,030 >> Нарэшце, спіс аргументаў падзеленыя коскі 151 00:06:51,030 --> 00:06:55,260 усіх уваходаў у вашай функцыі, кожны з якіх мае тып і імя. 152 00:06:55,260 --> 00:06:57,840 Так што не толькі ў вас ёсць, каб паказаць, які тып зменнай 153 00:06:57,840 --> 00:07:00,760 выхад функцыя, Вы таксама хочаце, каб паказаць 154 00:07:00,760 --> 00:07:07,694 які тып і тыпы зменных у Функцыя будзе прымаць у якасці ўваходных. 155 00:07:07,694 --> 00:07:08,860 Так давайце зробім прыклад тут. 156 00:07:08,860 --> 00:07:10,220 Давайце проста паглядзім ў больш канкрэтным адзін. 157 00:07:10,220 --> 00:07:13,130 Дык вось прыклад функцыі Заяву для функцыі, 158 00:07:13,130 --> 00:07:14,925 хацеў бы дадаць два цэлых колькасці разам. 159 00:07:14,925 --> 00:07:17,800 Сума двух цэлых лікаў будзе быць цэлым лікам, а таксама, як мы толькі што 160 00:07:17,800 --> 00:07:18,450 абмяркоўваецца. 161 00:07:18,450 --> 00:07:21,610 І таму тып звароту тут, у зялёны, будзе Int. 162 00:07:21,610 --> 00:07:25,190 Гэта проста кажа нам, што дадаць два цэлых збіраецца, у рэшце рэшт, 163 00:07:25,190 --> 00:07:28,799 выхад, або выплюнуць назад да нас, цэлы лік. 164 00:07:28,799 --> 00:07:31,590 Улічваючы тое, што гэтая функцыя робіць мы хачу, каб даць яму значнае імя. 165 00:07:31,590 --> 00:07:33,630 Дадаць два цэлых здаецца мэтазгодна, улічваючы 166 00:07:33,630 --> 00:07:37,574 мы бярэм два цэлых чысла ў якасці ўваходных і, спадзяюся, дадаўшы іх разам. 167 00:07:37,574 --> 00:07:40,240 Гэта можа быць трохі грувасткім Імя і адкрыта гэтая функцыя 168 00:07:40,240 --> 00:07:42,430 Верагодна, няма неабходнасці так як мы маем даданне 169 00:07:42,430 --> 00:07:46,310 Аператар, калі вы памятаеце з нашага абмеркаванне аператараў, раней. 170 00:07:46,310 --> 00:07:49,650 Але давайце проста скажам, дзеля Аргумент, што гэтая функцыя карысная 171 00:07:49,650 --> 00:07:52,860 і так мы будзем называць яго дадаць два цэлых. 172 00:07:52,860 --> 00:07:55,230 Нарэшце, гэтая функцыя прымае два ўваходу. 173 00:07:55,230 --> 00:07:56,960 Кожны з якіх з'яўляецца цэлым лікам. 174 00:07:56,960 --> 00:07:59,900 Такім чынам, мы маем гэтую коску спіс падзеленых уваходаў. 175 00:07:59,900 --> 00:08:02,830 Цяпер мы звычайна хочуць даць імя кожнаму з іх 176 00:08:02,830 --> 00:08:05,070 такім чынам, што яны могуць быць выкарыстаны у функцыі. 177 00:08:05,070 --> 00:08:07,180 Імёны не страшна важна. 178 00:08:07,180 --> 00:08:11,400 >> У гэтым выпадку, мы не абавязкова ёсць нейкі сэнс, прымацаваны да іх. 179 00:08:11,400 --> 00:08:13,140 Такім чынам, мы можам проста назваць іх і б. 180 00:08:13,140 --> 00:08:14,257 Гэта зусім нармальна. 181 00:08:14,257 --> 00:08:16,090 Аднак, калі вы знойдзеце самастойна ў сітуацыі, 182 00:08:16,090 --> 00:08:19,497 дзе імёны зменных сапраўды можа быць важным, 183 00:08:19,497 --> 00:08:21,830 Вы можаце называць іх нешта іншае, чым а і Ь 184 00:08:21,830 --> 00:08:24,701 каб даць ім нешта больш сімвалічна значным. 185 00:08:24,701 --> 00:08:27,700 Але ў дадзеным выпадку, мы на самай справе не ведаеце што-небудзь яшчэ аб функцыі. 186 00:08:27,700 --> 00:08:29,320 Мы проста хочам, каб дадаць два цэлых чысла. 187 00:08:29,320 --> 00:08:32,429 Такім чынам, мы проста патэлефанаваць тых, цэлыя лікі а і б. 188 00:08:32,429 --> 00:08:33,990 Вось адзін прыклад. 189 00:08:33,990 --> 00:08:36,287 >> Чаму б вам не ўзяць другі думаць пра гэта, 190 00:08:36,287 --> 00:08:38,870 як бы вы напісаць функцыю Заяву для функцыі, 191 00:08:38,870 --> 00:08:42,940 памнажае двух лікаў з якая плавае коскі? 192 00:08:42,940 --> 00:08:45,910 Вы памятаеце, што такое лік з якая плавае коскі? 193 00:08:45,910 --> 00:08:48,120 Што б гэтая функцыя Заяву выглядае? 194 00:08:48,120 --> 00:08:53,330 Я на самой справе рэкамендуем Вам прыпыніць відэа сюды і колькі часу вам трэба. 195 00:08:53,330 --> 00:08:55,521 Падумайце аб тым, што гэта Аб'яву функцыі будзе? 196 00:08:55,521 --> 00:08:56,770 Што б тып якое вяртаецца быць? 197 00:08:56,770 --> 00:08:58,103 Што б значнае імя будзе? 198 00:08:58,103 --> 00:08:59,580 Што б ўваходы быць? 199 00:08:59,580 --> 00:09:03,190 Дык чаму б вам не зрабіць паўзу відэа тут і напісаць план функцыю дэкларацыю 200 00:09:03,190 --> 00:09:07,640 для функцыі, якая будзе памнажаць два плавае коскі разам. 201 00:09:07,640 --> 00:09:09,330 Спадзяюся, вы паўзу відэа. 202 00:09:09,330 --> 00:09:12,950 >> Такім чынам, давайце зірнем на прыклад адной з магчымых дэкларацыі. 203 00:09:12,950 --> 00:09:17,340 Паплавок Mult два рэала плаваць х, у паплаўка. 204 00:09:17,340 --> 00:09:19,090 Твор двух лікаў з якая плавае кропкай, 205 00:09:19,090 --> 00:09:21,710 якія з'яўляюцца ўспомніць, як мы ўяўляюць рэальныя лічбы 206 00:09:21,710 --> 00:09:26,770 ці нумары з дзесятковымі значэннямі ў З, будзе лік з якая плавае кропкай. 207 00:09:26,770 --> 00:09:28,570 Калі памнажаеце дзесятковай у дзесятковым, 208 00:09:28,570 --> 00:09:30,460 вы, верагодна, збіраецца атрымаць дзесятковай. 209 00:09:30,460 --> 00:09:31,960 Вы хочаце, каб даць яму адпаведную імя. 210 00:09:31,960 --> 00:09:33,810 Памножце два рэала здаецца нармальна. 211 00:09:33,810 --> 00:09:36,620 Але вы маглі б сапраўды назваць гэта Mult двума паплаўкамі, або Mult паплаўкі. 212 00:09:36,620 --> 00:09:39,540 Нічога падобнага, да таго часу, як гэта даў яму актуальнае значэнне на тое, што 213 00:09:39,540 --> 00:09:41,469 гэта чорны скрыню збіраўся зрабіць. 214 00:09:41,469 --> 00:09:44,260 І зноў жа, у гэтым выпадку, мы не здаецца, ёсць нейкі сэнс надае 215 00:09:44,260 --> 00:09:46,390 на імёнамі зменныя мы пераходзячыя ў, 216 00:09:46,390 --> 00:09:48,645 так што мы проста называем іх х і у. 217 00:09:48,645 --> 00:09:51,020 Цяпер, калі вы іх называеце нешта яшчэ, што гэта цалкам нармальна. 218 00:09:51,020 --> 00:09:53,310 На самай справе, калі вы зрабілі гэтая дэкларацыя, а 219 00:09:53,310 --> 00:09:55,450 замест гэтага выкарыстоўваючы двайнікоў паплаўкоў, калі ўспомніць, 220 00:09:55,450 --> 00:09:59,100 што падвойваецца гэта іншая спосаб больш дакладна 221 00:09:59,100 --> 00:10:02,330 пазначыць рэальныя лічбы ці з якая плавае коскі зменныя. 222 00:10:02,330 --> 00:10:03,620 Гэта зусім нармальна таксама. 223 00:10:03,620 --> 00:10:04,670 Альбо адзін з тых, было б выдатна. 224 00:10:04,670 --> 00:10:06,711 На самай справе, ёсць некалькі розныя камбінацыі 225 00:10:06,711 --> 00:10:08,410 спосабаў заявіць гэтую функцыю. 226 00:10:08,410 --> 00:10:10,884 Але гэтыя дзве даволі добрыя. 227 00:10:10,884 --> 00:10:12,550 Мы абвясцілі функцыю, гэта выдатна. 228 00:10:12,550 --> 00:10:15,700 Мы сказалі, што гэта кампілятар з'яўляецца тое, што мы збіраемся рабіць. 229 00:10:15,700 --> 00:10:17,630 Зараз давайце на самай справе пісаць гэтую функцыю. 230 00:10:17,630 --> 00:10:20,750 Давайце дамо яму вызначэнне, такім чынам, што ўнутры чорнай скрыні 231 00:10:20,750 --> 00:10:22,840 прадказальнае паводзіны адбываецца. 232 00:10:22,840 --> 00:10:26,270 На самай справе, мы множання двух сапраўдных нумары разам, або даданне нумары 233 00:10:26,270 --> 00:10:29,760 разам, ці рабіць тое, што гэта што мы папрасілі нашу функцыю агульнага. 234 00:10:29,760 --> 00:10:32,780 >> Такім чынам, на самай справе, давайце паспрабуем вызначыць і памножыць два рэала, які мы толькі што 235 00:10:32,780 --> 00:10:35,350 казалі пра другую таму. 236 00:10:35,350 --> 00:10:38,560 Цяпер пачатак вызначэнне функцыі 237 00:10:38,560 --> 00:10:41,720 выглядае амаль дакладна гэтак жа, як функцыя дэкларацыі. 238 00:10:41,720 --> 00:10:43,170 У мяне ёсць і з іх. 239 00:10:43,170 --> 00:10:47,770 У верхняй частцы знаходзіцца аб'яву функцыі, тып, назва, падзеленыя коскі аргумент 240 00:10:47,770 --> 00:10:49,410 Спіс, кропка з коскі. 241 00:10:49,410 --> 00:10:53,800 Кропка з коскі паказвае, што што аб'яву функцыі. 242 00:10:53,800 --> 00:10:57,060 Пачатак функцыі вызначэнне выглядае амаль у дакладнасці 243 00:10:57,060 --> 00:11:03,790 тое ж самае, тып, імя, падзеленыя коскі Спіс аргументаў, няма коскі, 244 00:11:03,790 --> 00:11:05,206 адкрыць фігурную дужку. 245 00:11:05,206 --> 00:11:07,580 Адкрытая фігурная дужка, як мы рабілі з асноўнай, 246 00:11:07,580 --> 00:11:09,540 азначае, што мы зараз пачынае вызначаць 247 00:11:09,540 --> 00:11:14,567 што адбываецца ўнутры чорнай скрыні, што мы вырашылі назваць Некалькі два рэала. 248 00:11:14,567 --> 00:11:15,900 Вось адзін са спосабаў, каб яго рэалізаваць. 249 00:11:15,900 --> 00:11:20,370 Мы маглі б сказаць, што мы маглі б аб'явіць новы пераменная тыпу паплаўка называецца прадукт 250 00:11:20,370 --> 00:11:24,020 і прызначыць гэтую зменную у кошт х раз у. 251 00:11:24,020 --> 00:11:27,306 А потым вярнуцца прадукт. 252 00:11:27,306 --> 00:11:28,430 Што азначае вяртанне тут. 253 00:11:28,430 --> 00:11:31,090 Ну вяртанне шлях пакажам, што, як 254 00:11:31,090 --> 00:11:33,400 мы перадаем выхад назад. 255 00:11:33,400 --> 00:11:38,160 Так што-то вярнуць, так жа, як, гэта выхад чорнай скрыні. 256 00:11:38,160 --> 00:11:40,732 Дык вось, як вы гэта робіце. 257 00:11:40,732 --> 00:11:42,190 Вось яшчэ адзін спосаб яе рэалізацыі. 258 00:11:42,190 --> 00:11:45,050 Мы маглі б проста вярнуць х раз у. 259 00:11:45,050 --> 00:11:45,870 х паплавок. 260 00:11:45,870 --> 00:11:46,660 у з якая плавае кропкай. 261 00:11:46,660 --> 00:11:48,490 Так х раз у таксама паплавок. 262 00:11:48,490 --> 00:11:50,750 Мы нават не трэба стварыць яшчэ адну зменную. 263 00:11:50,750 --> 00:11:56,750 Так што гэта іншы спосаб ажыццявіць той жа чорны скрыню. 264 00:11:56,750 --> 00:11:58,570 >> Зараз скарыстацца момантам, прыпыніць відэа яшчэ раз, 265 00:11:58,570 --> 00:12:01,680 і паспрабаваць вызначыць дадаць два цэлых, які з'яўляецца іншы функцыі, што мы 266 00:12:01,680 --> 00:12:03,090 казалі аб хвіліну таму. 267 00:12:03,090 --> 00:12:06,440 Зноў тут, я паклаў функцыі Дэкларацыя, і так як кропка з коскі, 268 00:12:06,440 --> 00:12:08,420 і адкрытая фігурная дужка і закрытым кучаравыя 269 00:12:08,420 --> 00:12:12,080 дужка, каб паказаць, дзе мы будзем запаўняць ў змесціве дадаць два цэлых, 270 00:12:12,080 --> 00:12:15,530 так што мы вызначаем прыватнасці Паводзіны ўнутры чорнай скрыні. 271 00:12:15,530 --> 00:12:16,380 Так прыпыніць відэа. 272 00:12:16,380 --> 00:12:18,790 І ўзяць столькі часу, колькі Вы павінны паспрабаваць і вызначыць 273 00:12:18,790 --> 00:12:25,040 рэалізацыя дадаць два цэлых, напрыклад што, калі функцыя выводзіць значэнне, 274 00:12:25,040 --> 00:12:29,209 ён робіць, на самай справе, вяртанне сума двух уваходаў. 275 00:12:29,209 --> 00:12:32,000 Гэтак жа, як і ў папярэднім прыкладзе, Ёсць некалькі розных спосабаў 276 00:12:32,000 --> 00:12:34,210 што вы маглі б рэалізаваць дадаць два цэлых. 277 00:12:34,210 --> 00:12:35,130 Вось адзін. 278 00:12:35,130 --> 00:12:37,172 У тут, у аранжавы У мяне проста былі некаторыя comments-- 279 00:12:37,172 --> 00:12:38,880 Я проста дадаў некаторыя каментары, каб паказаць, 280 00:12:38,880 --> 00:12:41,400 што адбываецца ў кожнай радку кода. 281 00:12:41,400 --> 00:12:45,430 Так што я абвясціць зменную называецца сума тыпу Int. 282 00:12:45,430 --> 00:12:47,279 Я кажу сума роўная плюс б. 283 00:12:47,279 --> 00:12:50,070 Вось дзе мы на самай справе робім праца дадання А і В разам. 284 00:12:50,070 --> 00:12:51,850 І я вярнуся суму. 285 00:12:51,850 --> 00:12:56,460 І, што мае сэнс, паколькі сума пераменная тыпу Int. 286 00:12:56,460 --> 00:13:00,180 І тое, што тып дадзеных, што гэта функцыя паведамляе мне, што збіраецца вывесці? 287 00:13:00,180 --> 00:13:00,680 Int. 288 00:13:00,680 --> 00:13:03,072 Так я вяртаюся суму, якая з'яўляецца цэлай зменнай. 289 00:13:03,072 --> 00:13:06,030 І, што мае сэнс, улічваючы тое, што мы Аб'яву і вызначэнне нашу функцыю 290 00:13:06,030 --> 00:13:07,320 рабіць. 291 00:13:07,320 --> 00:13:09,700 >> Цяпер вы можаце таксама вызначыць функцыя такім чынам, 292 00:13:09,700 --> 00:13:15,260 INT сума роўная плюс У- прапусціць што у першую чаргу, а затым step--, вярнуцца суму. 293 00:13:15,260 --> 00:13:17,760 Цяпер вы маглі б таксама рэалізаваны гэта так, 294 00:13:17,760 --> 00:13:19,180 які я вельмі не рэкамендую. 295 00:13:19,180 --> 00:13:22,540 Гэта дрэнны стыль для аднаго што і на самай справе дрэнны дызайн, 296 00:13:22,540 --> 00:13:24,420 але гэта, на самай справе, працы. 297 00:13:24,420 --> 00:13:30,199 Калі вы бераце гэты код, які INT дадаць дрэнную суматар кропка C, і выкарыстоўваць яго. 298 00:13:30,199 --> 00:13:31,990 Гэта на самай справе дадаць два ліку разам. 299 00:13:31,990 --> 00:13:37,632 Гэта вельмі дрэнная рэалізацыя гэтага канкрэтнага паводзін. 300 00:13:37,632 --> 00:13:38,340 Але ён працуе. 301 00:13:38,340 --> 00:13:41,200 Гэта проста тут для ілюстрацыі і справа, што мы на самай справе не 302 00:13:41,200 --> 00:13:44,530 усё роўна, што адбываецца ўнутры чорны скрыню, пакуль 303 00:13:44,530 --> 00:13:46,510 як гэта мае выснову, які мы чакалі. 304 00:13:46,510 --> 00:13:48,870 Гэта дрэнна распрацаваны чорны скрыню. 305 00:13:48,870 --> 00:13:53,801 Але ў рэшце рэшт, гэта робіць яшчэ выхад сума плюс б. 306 00:13:53,801 --> 00:13:54,300 Добра. 307 00:13:54,300 --> 00:13:56,320 Так мы абвясцілі функцый. 308 00:13:56,320 --> 00:13:57,490 І мы вызначылі функцыю. 309 00:13:57,490 --> 00:13:58,540 Так што гэта сапраўды добра. 310 00:13:58,540 --> 00:14:03,020 Зараз давайце пачнем выкарыстоўваць функцыі што мы абвясцілі і мы вызначылі. 311 00:14:03,020 --> 00:14:05,960 Для выкліку function-- гэта на самай справе даволі easy-- усё, што вам трэба зрабіць, 312 00:14:05,960 --> 00:14:09,070 гэта перадаць яго адпаведнымі аргументамі, Аргументы тыпу дадзеных 313 00:14:09,070 --> 00:14:11,600 што ён чакае, і затым прызначыць вяртанне 314 00:14:11,600 --> 00:14:15,190 Значэнне гэтай функцыі і this-- апраўданне me-- 315 00:14:15,190 --> 00:14:19,390 прысвоіць вяртаецца значэнне гэтай функцыі да чаго-то правільнага тыпу. 316 00:14:19,390 --> 00:14:22,410 >> Такім чынам, давайце паглядзім на На практыцы гэта ў файле 317 00:14:22,410 --> 00:14:27,730 называецца суматар 1 кропка З, У мяне ў CS50 IDE. 318 00:14:27,730 --> 00:14:31,042 Дык вось гадзюка 1 кропка гр. 319 00:14:31,042 --> 00:14:33,500 У пачатку вы бачыце, я мой ўключае ў сябе, фунт ўключаюць, 320 00:14:33,500 --> 00:14:35,460 Стандарт І.В., і CS50 кропка ч. 321 00:14:35,460 --> 00:14:37,700 А потым у мяне аб'яву функцыі. 322 00:14:37,700 --> 00:14:39,570 Гэта дзе я кажа кампілятар Я 323 00:14:39,570 --> 00:14:42,850 будзе напісання Функцыя называецца дадаць два цэлых. 324 00:14:42,850 --> 00:14:45,780 Гэта адбываецца для вываду цэлая пераменная тыпу. 325 00:14:45,780 --> 00:14:47,360 Гэта тое, што гэтая частка прама тут. 326 00:14:47,360 --> 00:14:51,950 А то ў мяне два ўваходу да яго і б, кожны з якіх уяўляе сабой цэлы лік. 327 00:14:51,950 --> 00:14:58,250 Унутры галоўнага, я прашу ў карыстальніка уваход кажучы, дай мне цэлае. 328 00:14:58,250 --> 00:15:01,040 І яны прапанавана забыць INT, якая з'яўляецца функцыяй, што 329 00:15:01,040 --> 00:15:03,240 уключаны ў бібліятэцы CS50. 330 00:15:03,240 --> 00:15:07,660 І, што захоўваецца ў х, цэлая пераменная. 331 00:15:07,660 --> 00:15:09,886 >> Тады мы падштурхнуць іх яшчэ цэлага. 332 00:15:09,886 --> 00:15:13,070 Мы атрымліваем яшчэ цэлае і захоўваць, што ў у. 333 00:15:13,070 --> 00:15:17,990 А потым, тут, на лініі 28, з'яўляецца дзе мы робім нашу выклік функцыі. 334 00:15:17,990 --> 00:15:23,770 Мы кажам, Int Z роўных дадаць 2 Інтс х коскі у. 335 00:15:23,770 --> 00:15:25,980 Вы бачыце, чаму гэта мае сэнс? 336 00:15:25,980 --> 00:15:29,710 х з'яўляецца зменнай цэлага тыпу і у з'яўляецца зменнай цэлага тыпу. 337 00:15:29,710 --> 00:15:31,220 Так што гэта добра. 338 00:15:31,220 --> 00:15:34,570 Гэта мае сэнс з якой нашай функцыі Дэкларацыя аб адпаведнасці 17 выглядае. 339 00:15:34,570 --> 00:15:38,300 Спіс ўводу падзеленыя коскі чакае два цэлых чысла, а і б. 340 00:15:38,300 --> 00:15:40,300 У гэтым выпадку, мы можам назваць ім, што мы хочам. 341 00:15:40,300 --> 00:15:42,300 Гэта проста чакае два цэлых чысла. 342 00:15:42,300 --> 00:15:44,930 І х ўяўляе сабой цэлае лік, і ў з'яўляецца цэлым лікам. 343 00:15:44,930 --> 00:15:45,640 Гэта працуе. 344 00:15:45,640 --> 00:15:48,680 >> І мы ведаем, што функцыя будзе Для высновы колькасці, а таксама. 345 00:15:48,680 --> 00:15:51,290 І такім чынам, мы захоўваем выхад функцыі, 346 00:15:51,290 --> 00:15:56,050 дадаць два цэлых, у цэлае тыпу Пераменная, якая мы называем г. 347 00:15:56,050 --> 00:16:01,980 І тады мы можам казаць, што сума адсоткаў я і працэнтаў я гэта я адсоткаў. 348 00:16:01,980 --> 00:16:06,210 х, у і г адпаведна запаўнення ў тых адсоткаў я гадоў. 349 00:16:06,210 --> 00:16:08,334 Што з'яўляецца вызначэнне дадаць два цэлых выглядаць? 350 00:16:08,334 --> 00:16:09,125 Гэта даволі проста. 351 00:16:09,125 --> 00:16:11,270 Гэта адзін з тых, што мы толькі што бачыў секунду назад, 352 00:16:11,270 --> 00:16:14,390 INT сума складае б зваротны плюс суму. 353 00:16:14,390 --> 00:16:15,420 Ці азначае гэта працаваць? 354 00:16:15,420 --> 00:16:17,270 Давайце захаваць файл. 355 00:16:17,270 --> 00:16:22,080 І тады тут, на маім тэрмінале Я збіраюся зрабіць суматар 1, 356 00:16:22,080 --> 00:16:23,000 і я ачысціць экран. 357 00:16:23,000 --> 00:16:25,791 Я збіраюся павялічыць таму што я ведаю гэта трохі цяжка ўбачыць. 358 00:16:25,791 --> 00:16:31,520 359 00:16:31,520 --> 00:16:33,770 >> Так мы збіраем гэтую праграму ў якасці суматара 1. 360 00:16:33,770 --> 00:16:37,910 Такім чынам, мы можам зрабіць кропка слэш суматар 1. 361 00:16:37,910 --> 00:16:40,060 Дайце мне цэлае, 10. 362 00:16:40,060 --> 00:16:42,380 Дайце мне яшчэ цэлае, 20. 363 00:16:42,380 --> 00:16:45,200 Сума 10 і 20 30. 364 00:16:45,200 --> 00:16:47,615 Такім чынам, мы зрабілі выклік паспяховы функцыю. 365 00:16:47,615 --> 00:16:55,820 Вы можаце запусціць функцыю зноў, адмоўны 10, 17 сума адмоўнага 10 і 17 Ліпеня. 366 00:16:55,820 --> 00:16:57,120 Гэтая функцыя працуе. 367 00:16:57,120 --> 00:16:59,240 Ён мае паводзіны што мы чакаем яго. 368 00:16:59,240 --> 00:17:03,610 І такім чынам, мы зрабілі паспяховы Функцыя, вызначэнне, заяву, 369 00:17:03,610 --> 00:17:07,288 і выклік паспяховым функцыя. 370 00:17:07,288 --> 00:17:09,079 Пара розны пункты пра функцыі 371 00:17:09,079 --> 00:17:10,611 перш, чым мы скончым гэты раздзел. 372 00:17:10,611 --> 00:17:12,319 Нагадаем, з нашага абмеркаванне тыпаў дадзеных, 373 00:17:12,319 --> 00:17:16,109 Раней, што функцыі не можа заняць ні адзін уваход. 374 00:17:16,109 --> 00:17:17,930 Калі гэта так, то мы абвясціць функцыю 375 00:17:17,930 --> 00:17:19,788 як мае спіс аргументаў несапраўднымі. 376 00:17:19,788 --> 00:17:21,579 Памятаеш вам, што Найбольш агульная функцыя 377 00:17:21,579 --> 00:17:25,036 мы бачылі да гэтага часу, што адбываецца спіс аргументаў пустата? 378 00:17:25,036 --> 00:17:27,300 Гэта галоўны. 379 00:17:27,300 --> 00:17:30,850 Нагадаем таксама, што функцыя часам на самай справе не маюць выхад. 380 00:17:30,850 --> 00:17:34,210 У гэтым выпадку, мы аб'яўляем функцыю як якія маюць тып якое вяртаецца несапраўдным. 381 00:17:34,210 --> 00:17:37,880 Давайце скончым гэты параграф вырашэння праблемы практыкі. 382 00:17:37,880 --> 00:17:39,900 >> Дык вось праблема выклаў. 383 00:17:39,900 --> 00:17:43,630 Я хачу, каб вы напісаць функцыю называецца сапраўдным трохкутнік. 384 00:17:43,630 --> 00:17:47,410 Што гэтая функцыя павінна рабіць гэта ўзяць тры рэальныя лічбы 385 00:17:47,410 --> 00:17:51,930 якія ўяўляюць даўжыні тры боку трохвугольніка, як яе параметраў, 386 00:17:51,930 --> 00:17:54,550 або яго аргументы, або яго inputs-- іншы набор сінонімаў 387 00:17:54,550 --> 00:17:57,340 што вы можаце сутыкнуцца. 388 00:17:57,340 --> 00:18:01,120 Гэтая функцыя павінна альбо выхад сапраўдным або ілжывым 389 00:18:01,120 --> 00:18:04,960 у залежнасці ад таго гэтых трох даўжынь здольныя зрабіць трохкутнік. 390 00:18:04,960 --> 00:18:09,930 Вы памятаеце, што тып дадзеных мы выкарыстоўвалі, каб паказаць, дакладна ці няправільна? 391 00:18:09,930 --> 00:18:11,436 Цяпер, як вы гэта рэалізаваць? 392 00:18:11,436 --> 00:18:13,810 Ну ведаеце, ёсць пара правілаў, якія тычацца трыкутнікаў 393 00:18:13,810 --> 00:18:15,480 што на самай справе карысна ведаць. 394 00:18:15,480 --> 00:18:18,292 Трохкутнік можа мець толькі Боку з станоўчай даўжыні. 395 00:18:18,292 --> 00:18:19,000 Гэта мае сэнс. 396 00:18:19,000 --> 00:18:21,432 Вы, напэўна, сказаўшы, хм. 397 00:18:21,432 --> 00:18:23,390 Іншая рэч, да ведама хоць, з'яўляецца тое, што сума 398 00:18:23,390 --> 00:18:25,484 даўжынь любы Боку трохвугольніка 399 00:18:25,484 --> 00:18:27,650 павінен быць больш, чым Даўжыня трэцяй боку. 400 00:18:27,650 --> 00:18:28,690 Гэта на самай справе так. 401 00:18:28,690 --> 00:18:34,150 Вы не можаце мець трохкутнік бакоў 1, 2 і 4, напрыклад, з-за 1 плюс 2 402 00:18:34,150 --> 00:18:36,270 не болей, чым 4. 403 00:18:36,270 --> 00:18:38,870 Так што тыя правілы, якія вызначыць, ці сапраўды тры 404 00:18:38,870 --> 00:18:42,740 Ўваходы могуць, як мяркуецца, ўтвараюць трохкутнік. 405 00:18:42,740 --> 00:18:46,360 Так што праз пару хвілін і аб'явіць, а затым вызначыць 406 00:18:46,360 --> 00:18:49,810 гэтая функцыя называецца сапраўдным трыкутніка, так, што ён на самай справе 407 00:18:49,810 --> 00:18:51,650 мае паводзіны ўказаны тут. 408 00:18:51,650 --> 00:18:57,030 >> Гэта будзе справядліва, калі выхад гэтых трох бакоў здольныя змяшчае трохкутнік, 409 00:18:57,030 --> 00:19:01,950 і хлусня ў адваротным выпадку Гатовыя ўбачыць, як вы зрабілі? 410 00:19:01,950 --> 00:19:04,650 Вось адна рэалізацыя з сапраўдная трохкутнік. 411 00:19:04,650 --> 00:19:05,770 Гэта не толькі адзін. 412 00:19:05,770 --> 00:19:07,770 Ваш можа нязначна адрознівацца. 413 00:19:07,770 --> 00:19:11,040 Але гэта робіць, на самай справе, ёсць паводзіны, якое мы чакаем. 414 00:19:11,040 --> 00:19:14,450 Мы заяўляем, што наша функцыю на вельмі зверху, BOOL сапраўдны трохкутнік 415 00:19:14,450 --> 00:19:16,630 плаваць х флоат ў паплаўка г. 416 00:19:16,630 --> 00:19:18,930 Такім чынам, яшчэ раз, гэтая функцыя прымае тры рэальныя лічбы 417 00:19:18,930 --> 00:19:22,280 у якасці аргументаў, якія плаваюць кропка значэнне зменных, 418 00:19:22,280 --> 00:19:26,510 і выводзіць сапраўдным або ілжывым значэнне, якое з'яўляецца лагічным, нагадаем. 419 00:19:26,510 --> 00:19:28,660 Дык вось чаму тып якое вяртаецца значэння BOOL. 420 00:19:28,660 --> 00:19:30,016 Затым мы вызначаем функцыю. 421 00:19:30,016 --> 00:19:33,140 Першае, што мы робім, гэта праверыць, каб пераканацца, што ўсе бакі дадатныя. 422 00:19:33,140 --> 00:19:37,010 Калі х менш або роўна 0, або калі ў роўна 0, 423 00:19:37,010 --> 00:19:41,050 або калі г менш або роўна 0, што не можа быць трохвугольнікам. 424 00:19:41,050 --> 00:19:42,380 Яны не маюць і станоўчыя бакі. 425 00:19:42,380 --> 00:19:45,790 І так мы можам вярнуцца хлусня ў гэтай сітуацыі. 426 00:19:45,790 --> 00:19:49,010 Далей, мы правяраем, каб пераканацца, што кожная пара уваходаў 427 00:19:49,010 --> 00:19:51,830 больш, чым трэці. 428 00:19:51,830 --> 00:19:54,530 >> Так што, калі х плюс у менш ці роўным г, 429 00:19:54,530 --> 00:19:57,060 або калі х плюс г менш ці роўным Y, 430 00:19:57,060 --> 00:20:01,730 або калі ў плюс г, менш або роўна х, што таксама не можа быць дапушчальным трохкутнік. 431 00:20:01,730 --> 00:20:03,800 Такім чынам, мы зноў вярнуцца ілжывым. 432 00:20:03,800 --> 00:20:06,900 Выкажам здагадку, што мы прайшлі абедзве праверкі хоць, то мы можам вярнуцца праўда. 433 00:20:06,900 --> 00:20:09,440 Таму што тыя, з трох бакоў здольныя returning-- 434 00:20:09,440 --> 00:20:11,647 стварэння сапраўдны трохкутнік. 435 00:20:11,647 --> 00:20:12,230 І гэта ўсё. 436 00:20:12,230 --> 00:20:13,830 Цяпер вы абвешчаныя і вызначаны. 437 00:20:13,830 --> 00:20:17,330 І вы можаце быць у стане ў цяперашні час для выкарыстоўваць і выклікаць гэтую функцыю. 438 00:20:17,330 --> 00:20:19,470 Вялікая праца. 439 00:20:19,470 --> 00:20:20,650 Я Дуг Лойд. 440 00:20:20,650 --> 00:20:22,820 Гэта CS50. 441 00:20:22,820 --> 00:20:24,340