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.