Doug LLOYD: Nu labi. Tāpēc tagad pieņemsim risināt tiešām liels jautājums, funkcijas. Līdz šim gaitā, visu programmas, kas mēs esam rakstiski ir rakstīts iekšā galvenais. Viņi diezgan vienkāršas programmas. Jums nav nepieciešams, lai būtu visu šo zari un lietas notiek. Mēs varam tikai fit to visu Galveno un tā iekšpusē nesaņem briesmīgi milzīgs. Bet, tā kā kurss iet tālāk un kā jūs sāksiet izstrādāt programmas patstāvīgi, viņi, iespējams, gatavojas sākt, lai iegūtu daudz vairāk nekā 10 vai 15 rindas. Jūs varētu saņemt simtiem vai tūkstošiem vai desmitiem tūkstošu rindas kodu. Un tas tiešām nav ka traks doma. Tā, piemēram, tas, iespējams, nav laba ideja saglabāt visu iekšpusē galvenais. Tā var iegūt mazliet grūti atrast jūs meklējat, ja jūs darīt to, ko. Par laimi, lai gan C, un diezgan daudz katru otro programmēšanas valoda, kas varētu strādāt ar, ļauj mums rakstīt funkcijas. Un es esmu tikai gatavojas veikt ātri malā šeit pieminēt, ka funkcijas ir viena no jomām, datorzinātnēs. Un jūs redzēsiet daudz vairāk no viņiem dažādi punkti Gaitā un, ja jūs turpināt. Ja tur ir daudz sinonīmi par pašu vārdu. Tāpēc mēs aicinām funkcijas. Bet jūs varētu arī uzklausīt viņus tekstā procedūrām, vai metodes, jo īpaši, ja jūs esat kādreiz darīts jebkurā objektorientētā programmēšana before-- un neuztraucieties ja jums nav, nav liels deal-- bet revīzijas orientēta valodas bieži sauc par metodes. Dažreiz viņi sauc subroutines. Bet tie tiešām viss atsaucas uz tā paša pamata ideju. Let 's redzēt, kas tas ir ideja. Kas ir funkcija? Nu funkcija ir patiešām nekas vairāk kā melnā kaste. Melna kaste, kas ir kopa nulles vai vairāk ieejas un viena izeja. Tā, piemēram, šī varētu būt funkcija. Šī ir funkcija sauc func. Un tas ir trīs ieejas a, b, c. Un šī melnā kaste iekšā, mēs nav precīzi zināms, ko tā dara, bet tas apstrādā izejvielas kādā veidā un pēc tam tas uzrāda vienu izejas, kas šajā gadījumā, z. Tagad, lai padarītu to mazliet mazāk abstrakta, mēs Varētu teikt, ka varbūt mēs ir funkciju sauc piebilst, ka ir trīs ieejas A, B, un c un apstrādā produkciju kaut kādā veidā iekšpusē melnā kaste uz izstrādāt vienotu produkciju. Tātad, šajā gadījumā, ja pievienot aizņem 3, 6, un 7. Kaut kur iekšā pievienot funkciju, mēs būtu sagaidīt tos saskaita ražot produkciju, kas ir 3 plus 6 plus 7 vai 16. Tāpat, jums ir funkcija sauc mult kas aizņem divas ieejas A un B, apstrādā tos kaut kādā veidā šāda ka izejas no funkcijas ir produkts no diviem ieejas. Divas ieejas reizina kopā. 4 un 5, kas pāriet uz mult, kaut kas notiek, produkciju mēs sagaidām ir 20. Kāpēc mēs to saucam melnā kaste? Nu, ja mēs neesam rakstot darbojas ar sevi, kas mēs esam darījuši pavisam nedaudz līdz šim CS50. Mēs esam redzējuši drukas f, piemēram, kas ir funkcija, kas mums nebija rakstīt sevi, bet mēs izmantot visu laiku. Ja mums nav rakstiski funkcijas sevi, mums nav tiešām ir nepieciešams zināt, kā tas ir faktiski īsteno ar kapuci. Tā, piemēram, melnā kaste I tikai parādīja, pavairošanai, mult a, b, varētu būt defined-- un tas ir tikai daži pseudocode-- varētu būt definēta kā izejas reižu b. Ka jēgas, pa labi. Ja mums ir funkciju sauc mult kas ņem divas ieejas. Mēs sagaidām, ka izeja būtu Esi divas ieejas reizina kopā, reizes b. Bet mult varētu arī būt īstenoti, piemēram, tas, mums ir counter mainīgo saņemt noteiktā iekšpusē mult līdz 0. Un tad mēs atkārtot šo procesu b reizes pievienot pie letes. Piemēram, ja mēs reizināt 3a ar 5b, mēs varētu teikt noteikti pretrunā ar 0, atkārtot piecas reizes, pievieno 3. līdz letes. Tātad mēs sākam pie 0, un tad mēs darām Šo piecu reizes 3, 6, 9, 12, 15. Tas ir tāds pats rezultāts. Mēs vēl saņemt 3 reizes 5 vienkārši īstenošana ir atšķirīgs. Tas, ko mēs domājam kad mēs sakām melnā kaste. Tas tikai nozīmē, mums nav īsti aprūpi kā tas ir īstenots ar kapuci kamēr rezultāts ir tas, ko mēs sagaidām. Faktiski, tas ir daļa no līguma izmantojot funkcijas, jo īpaši funkcijas, ko citi rakstīt. Uzvedība vienmēr notiek būt tipisks, neparedzams pamatojoties uz nosaukuma funkciju. Un tas ir iemesls, kāpēc tas ir patiešām svarīgi, ja jūs rakstīt funkcijas vai tad, kad citi cilvēki rakstīt funkcijas, ka jūs varētu izmantot, ka šīs funkcijas ir skaidrs, salīdzinoši acīmredzamas nosaukumi, un ir labi dokumentētas. Kas noteikti ir gadījums par funkciju, piemēram, drukas f. Tad kāpēc mēs izmantot funkcijas? Nu, kā es teicu iepriekš, ja mēs rakstītu visas mūsu kodu iekšpusē galvenajām lietām var iegūt ļoti apgrūtinoša un patiešām sarežģīti. Funkcijas ļauj mums iespēju organizēt lietas un plīsumi ļoti sarežģīta problēma uz daudz vieglāk vadāmu sub daļas. Funkcijas arī ļauj mums vienkāršotu kodēšanas procesu. Tas ir daudz vieglāk atkļūdošanas 10 line funkcija pret 100 līnijas funkciju vai 1000. līnijas funkcija. Ja mums ir tikai atkļūdošanas mazos gabaliņos vienlaicīgi, vai rakstiet mazos gabaliņos brīdī, tas padara šo programmēšanas pieredzes daudz labāk. Ticiet man par šo vienu. Visbeidzot, ja mēs rakstītu funkcijas mums var atkārtoti izmantot šos dažādas daļas. Funkcijas var pārstrādāt. Tos var izmantot viena programma vai cits. Jūs jau esat uzrakstījis funkcija, viss, kas jums jādara, ir pateikt, ka programma kur atrast šo funkciju. Mēs esam pārstrādes un izmantojot izdrukāt f vairāk nekā 40 gadus. Bet tas bija tikai rakstīts vienu reizi. Diezgan noderīgi, labi. Viss kārtībā. Tātad funkcijas ir lieliski. Mēs zinām, ka. Tagad sāksim rakstīt tos. Sāksim iegūt tos mūsu programmās. Lai to izdarītu, pirmais lieta, ko mēs darīt, ir atzīt funkciju. Kad jūs atzīt funkciju ko jūs darāt būtībā stāsta kompilatoru, hey, tikai, lai jūs zināt, Es esmu būs rakstiski funkcija vēlāk un lūk, ko tā gatavojas izskatās. Iemesls tam ir tas, jo sastādītāji var do daži dīvaini lietas, ja viņi redz kopumu simbolus ka viņi nav iepazinušies ar. Tātad mēs vienkārši dod kompilatoru A heads up, es esmu radot funkciju un tas notiek, lai to izdarītu. Funkciju deklarācijas parasti ja jūs organizēt savu kodu tādā veidā ka citi varēs izprast un izmantot, jūs vispār vēlaties likt visu Sava funkciju deklarācijas pašā augšā savu kodu, tiesības Pirms sākat rakstīt galvenais pat. Un ērti, tur ir ļoti standarta veidlapu ka katru funkciju deklarācijā ievēroti. Viņi visi diezgan daudz izskatās šādi. Ir trīs daļas uz funkciju deklarācija, atgriešanās veids, nosaukums, un argumentu sarakstā. Tagad atgriešanās tips ir kāda veida mainīgo funkcija izejas. Tā, piemēram, ja mēs domājam atpakaļ minūtes pirms uz reizinot divus numuri funkcija, ko mēs sagaidām, ja mēs reizināt vesels skaitlis ar skaitlim rezultāts būs iespējams, vesels skaitlis, tiesības. Reizināts divi veseli skaitļi kopā, jūs saņemsiet veselu skaitli. Tātad atgriešanās veidam, kas funkcija būtu int. Vārds ir tas, ko jūs vēlaties lai izsauktu funkciju. Tas ir iespējams, ir mazāk svarīgs daļa no funkciju paziņojumu, funkcionalitātes ziņā. Bet vai tiešām iespējams, ir viens no svarīgākajām daļām par funkciju deklarācijas ziņā zinot to, ko funkcija faktiski dara. Ja varat nosaukt savu funkciju f vai g vai h vai noslēpums vai kaut kas tamlīdzīgs, jūs, iespējams, gatavojas saņemt mazliet paklupu up mēģina atcerēties, kas šīs funkcijas darīt. Tātad, tas ir svarīgi, lai dotu savu Funkcija nozīmīgo nosaukumi. Visbeidzot, arguments saraksts komats atdalīts saraksts no visu ieeju uz savu funkciju, katrs no kuriem ir veids un nosaukumu. Tātad ne tikai jums ir, lai precizēt, kāda veida mainīgo tipu funkcija izejas, Jūs arī vēlaties, lai precizētu kāda veida un veidi mainīgiem lielumiem funkcija tiks pieņemt kā izejvielas. Tātad, pieņemsim do piemēru šeit. Pieņemsim tikai to apskatīt pie konkrētāku vienu. Tātad, šeit ir piemērs funkciju deklarācija par funkciju, kas Piebildīšu divus veselus skaitļus kopā. Divu veselu skaitļu summa gatavojas vesels skaitlis, kā arī, kā mēs nupat apspriests. Un tā atgriešanās veidu, šeit zaļā krāsā, būtu int. Ka tikai stāsta mums, ka pievienot divas Ints notiek, lai, beigās, dienā, produkcija, vai spļaut to atpakaļ ārā pie mums, veselam skaitlim. Ņemot vērā to, ko šī funkcija dara mēs vēlaties, lai dotu tai jēgpilnu nosaukumu. Pievienot divas Ints šķiet gadījumā, ņemot vērā mēs esam ņemot divus veselus skaitļus kā izejvielas un, cerams, pievienojot tos kopā. Tas varētu būt mazliet apgrūtinoša nosaukums un atklāti šī funkcija ir iespējams, nav nepieciešama jo mums ir pievienošanu operators, ja jūs atceraties no mūsu diskusija par uzņēmēju, kas iepriekš. Bet pieņemsim tikai teikt, lai nodrošinātu Arguments, ka šī funkcija ir noderīga un tāpēc mēs to saucam pievienot divas Ints. Visbeidzot, šī funkcija aizņem divas ieejas. Katrs no kuriem ir vesels skaitlis. Tāpēc mums ir šī komats atdalīts saraksts izejvielas. Tagad mēs vispār vēlaties dot nosaukumu katrs no tiem tā, ka tie var tikt izmantoti ietvaros funkciju. Nosaukumi nav briesmīgi svarīgi. Šajā gadījumā, mēs ne vienmēr nekādas nozīmes, kas uz tām. Tātad, mēs varam vienkārši viņiem piezvanīt a un b. Tas ir pilnīgi naudas sodu. Tomēr, ja jums atrast sevi situācijā kur nosaukumus mainīgajiem tiešām varētu būt svarīgi, jūs varētu vēlēties, lai viņiem piezvanīt kaut kas nav A un B dot viņiem kaut ko vairāk simboliski jēgpilna. Bet šajā gadījumā, mums nav īsti zināt kaut ko citu par funkciju. Mēs vienkārši vēlamies, lai pievienotu divus veselus skaitļus. Tātad mēs vienkārši saucam tie veseli skaitļi a un b. Tas ir viens piemērs. Kāpēc tu ziedo kādu mirklīti domāt par šo vienu, kā jūs uzrakstīt funkciju deklarācija par funkciju, kas vairojas divas peldošā komata skaitļus? Vai tu atceries, ko peldošā punkta numurs ir? Kas būtu šī funkcija deklarācija izskatās? Es tiešām ieteiktu jums apturētu video šeit un cik daudz laika jums ir nepieciešams. Padomājiet par to, ko tas funkcija deklarācija varētu būt? Kāda būtu atgriešanās tips būt? Kas būtu jēgpilns vārds būt? Kas būtu izejvielas būt? Tātad, kāpēc nav jūs apturētu video šeit un rakstīt-up funkciju deklarāciju par funkciju, kas varētu vairoties divi peldošie punktu skaits kopā. Cerams, ka jums apturēta video. Tātad, pieņemsim to apskatīt piemēru Vienas iespējamo deklarācijas. Float mult divi reals peldēt x, y float. Par diviem produkts peldošā komata skaitļus, kas ir atgādināt, kā mēs pārstāvēt reāliem skaitļiem vai numuri ar zīmēm aiz vērtībām c, būs peldošā punkta numurs. Kad jūs reizināt decimālā ko aiz komata, jūs, iespējams, gatavojas saņemt zīmi aiz komata. Jūs vēlaties, lai dotu tai attiecīgu nosaukumu. Reizināt divas reals šķiet labi. Bet jūs varētu tiešām to sauc mult divi pludiņi vai mult pludiņi. Kaut kā tā, kamēr tas iedeva kādu faktisko nozīmi, ko Šī melnā kaste bija gatavojas darīt. Un atkal, šajā gadījumā, mēs nav šķiet, ir kāda nozīme pievienots uz nosaukumus mainīgie mēs asociētais in, tāpēc mēs vienkārši viņiem piezvanīt X un Y. Tagad, ja jūs viņiem piezvanīt kaut cits, tas ir pilnīgi naudas sodu. Patiesībā, ja jūs Šī deklarācija vietā izmantojot dubultspēlē vietā pludiņu, ja jūs atceraties ka dubultspēlē ir atšķirīgs veids, lai precīzāk precizēt reāliem skaitļiem vai peldošā komata mainīgie. Tas ir pilnīgi fine too. Vai nu viens no tiem būtu labi. Patiesībā, tur ir vairāki dažādas kombinācijas no veidiem, kā atzīt šo funkciju. Bet tie ir divi diezgan labs tiem. Mēs esam pasludināja funkciju, tas ir lieliski. Mēs esam pastāstīja kompilatoru, ko tā ir tas, ko mēs esam gatavojas darīt. Tagad pieņemsim faktiski rakstīt šo funkciju. Pieņemsim arī tā definīciju, tā ka iekšā melnā kaste prognozējama uzvedība notiek. Patiesībā, mēs reizinot divus nekustamos numurus kopā, vai pievienojot numuri kopā, vai darot kāds tas ir ka mēs lūdzām mūsu funkciju sakara. Tātad faktiski, pamēģināsim un definēt reizināt divas reals kuru mēs tikko runāja par otru atpakaļ. Tagad sākums funkcija definīcija izskatās gandrīz tieši tāds pats kā funkciju deklarāciju. Man ir gan no tiem šeit. Augšpusē ir funkcija deklarācija, veidu, nosaukumu, atdalot ar komatu arguments saraksts, semikols. Semikols norāda, ka ka ir funkcija deklarācija. Par funkciju sākums definīcija izskatās gandrīz tieši tas pats, veids, nosaukums, atdalot ar komatu arguments saraksts, ne semikols, atvērtu cirtaini lencēm. Atklātā cirtaini lencēm, tāpat kā mēs esam bijuši dara ar galveno, nozīmē, ka mēs esam šobrīd sāk definēt kas notiek iekšpusē melnā kaste, kas mēs esam nolēmuši aicināt mult divus reals. Te ir viens veids, kā to īstenot. Mēs varētu teikt, ka mēs varētu pasludināt par jaunu mainīgs tipa peldēt sauc produkta un piešķirt šo mainīgo vērtībai x reizes y. Un tad atpakaļ preci. Ko nozīmē atgriešanās šeit. Nu atgriešanās ir ceļš mēs norāda, ka tas, kā mēs iet izejas atpakaļ out. Tā atgriezties kaut, ir tāds pats, kā, Tas ir izejas melnā kaste. Tātad tas, kā jūs to darīt. Lūk, vēl viens veids, kā to īstenot. Mēs varētu vienkārši atgriezties x reizes y. x ir peldēt. y ir peldēt. Tātad x reizes y ir arī peldēt. Mums nav pat nepieciešams, lai izveidot vēl vienu mainīgo. Tātad tas ir cits veids, kā īstenot tieši tādu pašu melno kasti. Tagad veltiet laiku, apturētu video vēlreiz, un mēģināt definēt pievienot divas Ints, kas ir citas funkcijas, kuras mēs runāja par pirms brīža. Atkal šeit, es esmu likts funkciju deklarācija, un tā semikolu, un atvērtu cirtaini lencēm un slēgtā cirtaini lencēm, lai norādītu, kur mēs aizpildīt saturā pievienot divas Ints, lai mēs definējam īpaši uzvedība iekšpusē melnā kaste. Tātad apturētu video. Un veikt tik daudz laika, cik Jums ir nepieciešams, lai mēģinātu noteikt īstenošana pievienot divas Ints, piemēram ka tad, kad funkcija izvada vērtību, tas, patiesībā, atgriešanās summa ir divas ieejas. Tātad, tāpat kā iepriekšējā piemērā, ir vairāki dažādi veidi ka jūs varētu īstenot pievienot divas Ints. Lūk, viens. Jo šeit oranžā krāsā es esmu tikko bija daži comments-- Esmu tikko pievienotās daži komentāri norādīt kas notiek katrā rindā kodu. Tāpēc es deklarēt mainīgo sauc summa tipa int. Es saku summa ir vienāda plus b. Tas ir, ja mēs faktiski darām darbs pievienojot un B kopā. Un es atgrieztos summu. Un tas ir jēga, jo summa ir int tipa mainīgais. Un, kas ir datu tips, ka šis funkcija man saka, ka tas būs izejas? Int. Tāpēc es esmu atpakaļ summu, kuru ir vesels skaitlis mainīgs. Un tas ir jēga, ņemot vērā to, ko mēs esam deklarēta un definēta mūsu funkcija darīt. Tagad jūs varat arī definēt funkcija šādā veidā, int summa ir vienāda plus b-- izlaist ka Pirmais step-- un pēc tam, atgriezties summu. Tagad jūs varētu būt arī īsteno to šādā veidā, kas man ļoti neiesakām. Tas ir slikts stils vienam lieta un tiešām slikts dizains, bet tas, patiesībā, darbā. Ja esat lietojis šo kodu, kas ir int pievienot slikti papildinātājs dot C, un izmantot to. Tas faktiski nav pievienot divi veseli skaitļi kopā. Tas ir ļoti slikts īstenošana par šo konkrēto rīcību. Bet tas strādā. Tas ir tikai šeit, lai ilustrētu punkts, ka mums nav īsti vienalga, kas notiek iekšā melnā kaste, kamēr jo tā ir izeja, ko mēs sagaidām. Tas ir slikti izstrādāts melnā kaste. Bet beigās dienā, tas joprojām izvadīt no plus b summa. Viss kārtībā. Tāpēc mēs esam deklarēti funkcijas. Un mēs esam definēts funkciju. Tātad tas ir patiešām labs. Tagad sāksim izmantot funkcijas ka mēs esam deklarēti, un mēs esam definēts. Lai piezvanītu function-- tas ir faktiski diezgan easy-- viss, kas jums jādara, ir nodot to attiecīgus argumentus, argumenti datu tipu ka tā sagaida, un tad uzdot atgriešanos vērtība šīs funkcijas un this-- attaisnojums me-- piešķirt atgriešanās vērtību šīs funkcijas lai kaut ko no pareizo veidu. Tātad, pieņemsim ir apskatīt Tas praksē failā sauc papildinātājs 1. punkts c, kas Man ir manā CS50 IDE. Tātad, šeit ir papildinātājs 1 dot c. Sākumā jūs redzat man ir Manā ietver mārciņa ietver, standarta IO, un CS50 dot h. Un tad man ir mana funkcija deklarāciju. Tas ir, ja es esmu stāsta kompilators es esmu būs rakstot funkcija sauc pievienot divas Ints. Tas būs izejas AN skaitlim tipa mainīgais. Tas, ko šī daļa ir tieši šeit. Un tad man ir divas ieejas uz to un b, no kuriem katrs ir vesels skaitlis. Iekšpusē galvenais, es prasu lietotājam par ievadi, sakot, man ir vesels skaitlis. Un tie tiek piedāvāts aizmirst int, kas ir funkcija, kas ir iekļauta CS50 bibliotēkā. Un tas izpaužas uzglabā x, vesels skaitlis mainīgs. Tad mēs ātri viņiem citam skaitlim. Mēs saņemt citu skaitli un uzglabāt ka y. Un tad, šeit on line 28, ir kur mēs padarītu mūsu funkciju zvanu. Mēs sakām, INT z vienāds pievieno 2 Ints x komats vec. Vai jūs redzat, kāpēc tas ir jēga? x ir vesels skaitlis tips mainīgo un y ir vesels skaitlis tips mainīgs. Tātad tas ir labi. Ka jēga ar to, ko mūsu funkciju deklarācija on line 17 izskatās. Komats atdalītas ieejas saraksts sagaida divus veselus skaitļus A un B. Tādā gadījumā mēs varam zvanīt viņiem visu, mēs gribam. Tas tikai sagaida divi veseli skaitļi. Un x ir vesels skaitlis un y ir vesels skaitlis. Tas darbojas. Un mēs zinām, ka funkcija ir gatavojas uz produkciju An veseli skaitļi, kā arī. Un tāpēc mēs glabāšanai izlaide funkciju, pievienot divas Ints, jo skaitlim tipa mainīgs, kas mēs esam aicinot z. Un tad mēs varam teikt, summa, ko veido procenti i un procentiem i ir procenti i. x, y un z attiecīgi Aizpildot tiem procentiem i s. Kāda ir definīcija pievienot divas Ints izskatās? Tas ir diezgan vienkārši. Tas ir viens no tiem mēs tikko redzēju otru atpakaļ, int summa ir vienāda ar plus b atgriešanās summu. Vai šo darbu? Pieņemsim saglabājiet failu. Un tad noteikti šeit manā terminālī Es esmu gatavojas darīt papildinātājs 1, un es iztīrītu ekrānu. Es esmu gatavojas, lai tuvinātu, jo es zinu tas ir mazliet grūti redzēt. Tāpēc mēs apkopot šo programmu kā papildinātājs 1. Tātad, mēs varam darīt dot slash papildinātājs 1. Dodiet man vesels skaitlis, 10. Dodiet man vēl vesels skaitlis, 20. No 10 un 20 summa ir 30. Tātad mēs veica veiksmīgu funkciju zvanu. Jūs varat palaist funkciju atkal, negatīvs 10, 17 summa negatīvās 10 un 17 ir 7. Šī funkcija darbojas. Tas ir uzvedības ka mēs sagaidām to. Un tāpēc mēs esam padarījuši veiksmīgs funkcija, definīcija, deklarācija, un veiksmīgs funkcijas izsaukums. Pāris Dažādi punkti par funkcijām Pirms mēs noslēgt šo sadaļu. Atsaukt no mūsu diskusija par datu tipu, iepriekš, kas darbojas dažkārt var veikt bez ieejas. Ja tas ir gadījumā, mēs atzīt funkciju kā ar neesošu argumentu sarakstā. Vai jūs atceraties to, ko Visbiežāk funkcija mēs esam redzējuši tik tālu, ka notiek tukšums arguments saraksts ir? Tas ir galvenais. Atgādināt arī šo funkciju dažreiz nav faktiski ir izejas. Tādā gadījumā mēs paziņojam funkciju kā ar neesošu atgriešanās veidu. Pieņemsim noslēgt šo sadaļu, risināšanā prakses problēmu. Tātad, šeit ir problēma izklāstīts. Es gribu, lai jūs uzrakstīt funkciju sauc derīgs trijstūri. Ko šī funkcija ir jādara ir jāņem trīs reāliem skaitļiem kas pārstāv garumu trīs malas trijstūri kā tā parametriem, vai tās argumenti, vai tā inputs-- citu komplektu sinonīmus kas var rasties. Šī funkcija būtu nu izejas patiess vai nepatiess atkarībā no tā, vai šiem trim garumiem spēj padarīt trīsstūri. Vai atceraties datu tipu, kas mēs izmantojām, lai norādītu patiess vai nepatiess? Tagad, kā jūs īstenot šo? Nu zinu, ka ir pāris Noteikumu par trijstūri kas ir faktiski noderīgi zināt. Trijstūris var tikai pusēm ar pozitīvu garumu. Tas ir jēga. Jūs, iespējams, sakot, duh. Otra lieta atzīmēt lai gan, ir tas, ka summa no garumiem jebkurš divas puses trijstūra ir, ir lielāki nekā garums no trešās puses. Tas ir tiešām taisnība. Jūs nevarat būt trīsstūri pusēs 1, 2 un 4, piemēram, jo ​​1 plus 2 ir ne lielāks par 4. Tātad tie ir noteikumi, kas noteikt, vai trīs ieejas var atvest veido trijstūri. Tātad aizņemt pāris minūtes un atzīt un tad noteikt Šī funkcija sauc derīga trīsstūris, tāda, ka tā faktiski ir uzvedību šeit norādīto. Tas būs izejas taisnība, ja šiem trim pusēm spēj satur trīsstūris, un viltus citādi Gatavs, lai redzētu, kā jūs? Lūk, viens īstenošana Derīgo trīsstūris. Tas ir ne tikai viens. Yours var nedaudz atšķirties. Bet tas viens tas, patiesībā, ir uzvedība, ko mēs sagaidām. Mēs deklarējam savu funkciju pie ļoti top, bool derīgu trīsstūris peldēt x float y float z. Tātad vēlreiz, šī funkcija aizņem trīs reāliem skaitļiem kā saviem argumentiem, peldošās punkta vērtība mainīgie, un izvada patiess vai nepatiess vērtība, kas ir Būla, atsaukšana. Tātad, tāpēc atgriešanās tips ir bool. Tad mēs definējam funkciju. Pirmā lieta, ko mēs darām, ir pārbaudīt, lai pārliecinātos, ka visi no sāniem, ir pozitīvs. Ja x ir mazāks par vai vienāds līdz 0, vai ja y ir vienāds ar 0, vai ja Z ir mazāks par vai vienāds ar 0, ka nav iespējams būt trijstūrim. Viņiem nav pozitīvās puses. Un tā mēs varam atgriezties viltus šādā situācijā. Tālāk, mēs pārbaudām, lai pārliecinātos, ka katrs no ieejām pāris ir lielāks nekā trešajam vienu. Tātad, ja x plus y ir mazāks par vai vienāds ar z, vai ja x plus z ir mazāks par vai vienāds ar y, vai, ja y plus Z ir mazāks par vai vienāds ar x, ka arī nav var būt derīgs trīsstūris. Tātad mēs atgriežamies false vēlreiz. Pieņemot, ka mēs izturējis abas pārbaudes lai gan, tad mēs varam atgriezties taisnība. Tāpēc, ka šiem trim pusēm spēj returning-- radīt derīgu trīsstūris. Un tas arī viss. Jūs esat tagad deklarēta un definēts. Un jūs, iespējams, var tagad izmantot un nosaukt šo funkciju. Labs darbs. Es esmu Doug Lloyd. Tas ir CS50.