Doug LLOYD: Visos dešinę.
Taigi dabar galime įveikti tam tikrai didelis temą, funkcijos.
Iki šiol, žinoma, visi programos, kad mes buvo raštu
buvo parašyta viduje pagrindinis.
Jie gana paprasta programas.
Jums nereikia turėti visa tai šakos ir viskas vyksta.
Mes galime tik tilptų visa tai jis viduje pagrindinis ir
negauna siaubingai didele.
Tačiau, kaip žinoma, tęsiasi ir kaip jums pradėti kurti programas
savarankiškai, jie tikriausiai bus pradėti gauti daug daugiau nei 10
ar 15 eilučių.
Galite gauti šimtus ar tūkstančius arba dešimtis tūkstančių eilučių kodo.
Ir tai tikrai nėra kad proto mintis.
Kaip tokia, ji tikriausiai nėra gera idėja išlaikyti viskas viduje pagrindinis.
Jis gali gauti šiek tiek sunku rasti Jūs ieškote, jei jūs darote tai, ką.
>> Laimei, nors C, o gana daug kiekvienas kitas programavimo kalba, kuri
gali dirbti su, leidžia mums rašyti funkcijas.
Ir aš tik ketina Take a quick nuošalyje čia
Verta paminėti, kad funkcijos yra viena sritis, kompiuterių mokslo.
Ir jūs pamatysite daug daugiau iš jų įvairūs taškai visą kursą
o jei toliau.
Kur ten daug sinonimai tuo pačiu žodžiu.
Taigi mes vadiname funkcijas.
Bet jūs taip pat gali girdėti juos vadinama procedūrų,
ar metodai, ypač, jei jūs kada nors padaryti bet Objektinis programavimas
before-- ir nesijaudinkite jei turite ne, ne
didelis deal-- bet audito orientuotos kalbos
dažnai yra vadinamas būdai.
Kartais jie vadinami paprogrames.
Bet jie tikrai visi susiję prie to paties pagrindinio idėja.
>> Pažiūrėkime, kas tai idėja.
Kas yra funkcija?
Na funkcija yra tikrai nieko daugiau, nei juodosios dėžės.
Juoda dėžutė, kad turi nulį rinkinį ar keliais įvesties kanalais ir vieną išvesties.
Taigi, pavyzdžiui, šis gali būti funkcija.
Tai yra funkcija vadinama func.
Ir jis įgauna tris įėjimus a, b, ir c.
Ir viduje, kad juodosios dėžės, mes nežinau tiksliai, ką ji daro,
bet ji apdoroja įėjimus tam tikru būdu ir tada jis
suteikia vieną išėjimą, šiuo atveju, z.
Dabar, kad ji šiek tiek mažiau abstrakčių, mes
Galima sakyti, kad gal mes turi funkciją, vadinamą
pridurti, kad trunka tris įėjimus A, B, ir c ir apdoroja tam tikru būdu produkcija
viduje juoda dėžutė su parengti vieną išėjimą.
Taigi, šiuo atveju, jei pridėti trunka 3, 6, ir 7.
Kažkur viduje pridėti funkciją, mes
tikėtis, kad jie turi būti sudedami gaminti išėjimą, kuris
yra 3 plius 6 plius 7 arba 16.
>> Be to, jūs turite funkcija vadinama mult, kad mano du įėjimus, A ir B,
juos apdoroja tam tikru būdu tokio kad funkcija išėjimo
yra dviejų įėjimų produktas.
Du įėjimai dauginama kartu.
4 ir 5 metu perėjo į MULT, kažkas atsitiks, išėjimo tikimės
yra 20.
Kodėl mes tai vadiname "black box?
Na, jei mes ne raštu veikia save, o
mes padarėme gana šiek tiek šiol CS50.
Matėme spausdinimo f, pavyzdžiui, kuri yra funkcija, kad mes nerašė
patys, bet mes naudojame visą laiką.
Jeigu mes ne raštu funkcijos patys,
mes tikrai reikia žinoti, kaip tai realiai įgyvendinamas po gaubtu.
>> Taigi, pavyzdžiui, "black box" I tik parodė jus dauginti,
Kompiuteriu k a, b gali būti defined-- ir tai tik
kai pseudocode-- gali būti apibrėžiamas kaip išėjimo kartų b.
Tai prasminga, į dešinę.
Jei mes turime funkciją, vadinamą mult, kad mano du įėjimus.
Tikimės, kad produkcija būtų Būk du įėjimai dauginama kartu,
Times b.
Bet mult taip pat gali būti įgyvendinama, kaip tai,
turime priešinį kintamąjį gauti nustatyta viduje MULT 0.
Ir tada mes pakartoti šį procesą b kartų pridėti prie prekystalio.
Pavyzdžiui, jei mes daugintis 3a pagal 5b, galima sakyti, nustatyti kovos su 0,
pakartokite penkis kartus, įpilkite 3 iki prekystalio.
Taigi, mes pradėti nuo 0 ir tada mes darome Tai penkių kartų 3, 6, 9, 12, 15.
Tai tas pats rezultatas. Mes vis dar galite gauti 3 kartus 5 tik
įgyvendinimas yra skirtingi.
>> Štai ką mes vadiname kai sakome juodą langelį.
Tai tiesiog reiškia, kad mes do not really care kaip tai įgyvendinama po gaubtu
tol, kol produkcija yra tai, ką mes tikėtis.
Iš tiesų, tai sutarties dalis naudojant funkcijas, ypač
funkcijos, kad kiti rašo.
Elgesį visada bus kurias galima laikyti tipinėmis, nenuspėjamas
remiantis funkcija pavadinimu.
Ir štai kodėl tai tikrai svarbu, kai rašote funkcijas
arba, kai kiti žmonės rašo funkcijos, kurios jums gali naudoti,
kad šios funkcijos turi aiškūs, palyginti akivaizdūs pavadinimai,
ir yra gerai dokumentuota.
Kuris yra tikrai atvejis funkcijai, pavyzdžiui, spausdinimo f.
>> Tad kodėl mes naudojame funkcijas?
Na, kaip jau minėjau, jei mes rašome visi mūsų kodas viduje pagrindinių dalykų
gali gauti tikrai sudėtinga ir tikrai sudėtinga.
Funkcijos leidžia mums galimybę organizuoti dalykų ir lūžti
labai sudėtingas problema į daug lengviau valdyti sub dalys.
Funkcijos taip pat leidžia mums supaprastinti kodavimo procesą.
Tai daug lengviau derinti 10 linija funkcija, palyginti su 100 linija
funkcija arba 1000 linijos funkcija.
Jei mes turime tik debug maži vienu metu,
arba rašyti mažus tuo metu, ji daro, kad programavimo patirtis
daug geriau.
Patikėkit manim, kad vienas.
>> Galiausiai, jei mes rašome funkcijas mes gali panaudoti šių įvairių dalių.
Funkcijos gali būti perdirbamos.
Jie gali būti naudojami viena programa ar kita.
Jūs jau parašyta funkcija, viskas, ką
reikia padaryti, tai pasakyti, kad programa kur rasti šią funkciją.
Mes jau Perdirbimas ir naudojant spausdinti f daugiau nei 40 metų.
Bet tai buvo tik parašyta vieną kartą.
Gana naudinga, teisinga.
Gerai.
Taigi funkcijos yra puikus.
Mes žinome, kad.
Dabar galime pradėti rašyti juos.
Pradėkime gauti juos į mūsų programas.
Tam, kad padaryti, kad pirmasis dalykas mes darome, yra paskelbti funkciją.
Kai paskelbti funkciją ką jūs iš esmės daro
pasakoja sudarytojas, Ei, tik, kad jūs žinote,
Aš ketinu būti raštu funkcija vėliau
ir štai ką jis atrodys.
Dėl šios priežasties yra nes kompiliatorius gali
padaryti kai kuriuos keistus dalykus, jei jie mato simbolių rinkinį
kad jie nėra susipažinę su.
Taigi, mes tiesiog suteikti sudarytojas A vadovauja, aš sukurti funkciją
ir jis ketina tai padaryti.
Funkcija deklaracijos paprastai jei jūs organizuoti savo kodą būdu
kad kiti galės suprasti ir pasinaudoti,
Jūs paprastai norite įdėti visus Jūsų funkcija deklaracijų
pačiame viršuje savo kodą, teisė Prieš pradėdami rašyti Pagrindinis net.
Ir patogiai, yra labai standartinė forma
kad kiekvienas funkcija deklaracija taip.
Jie visi gana daug atrodyti taip.
Yra trys dalys prie funkcijos deklaracija, grąža rūšis, pavadinimas,
ir argumentas sąrašas.
>> Dabar grąža tipas yra kokios kintamasis Funkcija produkcija.
Taigi, pavyzdžiui, jei mes manome, atgal, minučių prieš į dauginant du
numeriai funkcija, ką mes tikimės, jeigu išdauginame sveikasis skaičius iki sveikojo skaičiaus
rezultatas bus tikriausiai sveikas, tiesa.
Dauginami du sveikieji skaičiai kartu, gausite sveikasis skaičius.
Taigi grąžinimo tipą, kad funkcija būtų int.
Vardas, ką norite skambinti savo funkciją.
Tai turbūt mažiausiai svarbus dalis funkcijų deklaraciją,
pagal funkcionalumą.
Bet iš tikrųjų yra turbūt vienas svarbiausių dalių
iš funkcijų pareiškimą pagal žinoti, ką ši funkcija iš tikrųjų
veikia.
Jei jūs vadinate savo funkciją f arba g h arba paslaptis ar kažkas panašaus,
jūs tikriausiai ketina gauti šiek tiek suveikė iki bando
prisiminti, kas tas funkcijas atlikti.
Todėl labai svarbu, kad jūsų prasmingi funkcija vardai.
>> Galiausiai argumentas sąrašas kablelis atskirti sąrašas
visų į savo funkciją įėjimai, iš kurių kiekvienas turi tipą ir pavadinimą.
Taigi ne tik jūs turite nurodyti, kokio tipo kintamojo
Funkcija produkcija, Jūs taip pat norite nurodyti
kokio tipo ir rūšių kintamieji funkcija bus priimti kaip žaliavos.
Taigi darykime pavyzdį čia.
Tegul tik pažvelgti ne daugiau betono vienas.
Taigi čia rasite funkcijos pavyzdys deklaracija yra funkcija, kuri
būtų įtraukti du sveikieji skaičiai kartu.
Dviejų skaičių suma ketina būti sveikasis skaičius, taip pat, kaip ir mes tiesiog
aptarti.
Ir taip grąža tipas, čia žalia, būtų int.
Tai tiesiog pasakoja, kad pridėtumėte du ints ketina, bent dienos pabaigoje,
produkcija, ar spjauti atgal iš mūsų, sveikasis skaičius.
Atsižvelgiant į tai, kas ši funkcija daro mes noriu duoti jai prasmingą vardą.
Pridėti dvi ints atrodo prireikus, atsižvelgiant į
mes vartojate du sveikieji skaičiai kaip žaliavos ir tikiuosi, pridedant juos kartu.
Tai gali būti sudėtingas bitų pavadinimas ir atvirai ši funkcija
tikriausiai nėra būtina nes mes turime papildymą
operatorius, jei jūs prisimenate iš mūsų diskusija operatorių, anksčiau.
Bet tegul tiesiog pasakyti vardan argumentas, kad ši funkcija yra naudinga
ir taip mes jį vadiname pridėti du int.
Galiausiai, ši funkcija trunka du įėjimus.
Kiekvienas iš kurių yra sveikasis skaičius.
Taigi, mes turime šį kablelį atskirti sąrašas įėjimai.
Dabar mes paprastai nori suteikti vardą kiekvienas iš jų
taip, kad jie gali būti naudojami per funkcija.
Pavadinimai nelabai svarbus.
>> Šiuo atveju, mes nebūtinai turi kokią nors reikšmę kartu su jais.
Taigi, mes galime tiesiog paskambinti a ir b.
Štai visiškai gerai.
Tačiau jei jums rasti Būk tokioje situacijoje
kur minėtų kintamųjų pavadinimai iš tiesų gali būti svarbu,
galbūt norėsite juos vadiname kažkas, išskyrus a ir b
suteikti jiems kažką daugiau simboliškai prasmingas.
Tačiau šiuo atveju, mes darome tikrai ne žinoti dar ką nors apie funkciją.
Mes tiesiog norite pridėti du sveikieji skaičiai.
Taigi mes tiesiog paskambinkite tie sveikieji skaičiai a ir b.
Štai vienas pavyzdys.
>> Kodėl ne jūs imtis antras galvoti apie šį vieną,
kaip jūs parašyti funkciją deklaracija yra funkcija, kuri
daugybos dviejų slankiojo kablelio skaičių?
Ar pamenate, ką slankiojo kablelio skaičius yra?
Kas būtų ši funkcija deklaracija atrodo?
Aš iš tikrųjų rekomenduojame jums pristabdyti vaizdo įrašą čia ir imtis kiek laiko jums reikia.
Pagalvokite apie tai, kas tai funkcija deklaracija būtų?
Ką grąžinimo tipo bus?
Kas būtų prasmingas vardas bus?
Ką įėjimai būti?
Taigi, kodėl gi ne jums pristabdyti vaizdo įrašą čia ir rašyti-up funkciją deklaraciją
kokia nors funkcija, kad būtų daugintis du slankiojo kablelio skaičiai kartu.
Tikimės, kad jūs sustabdytas video.
>> Taigi leiskite pažvelgti į pavyzdį vieno galimo deklaracijoje.
Plūdės mult du Reals plūduriuoti x, float m.
Dviejų produktų slankiojo kablelio skaičių,
kuri prisiminti yra tai, kaip mes atstovauti realieji skaičiai
arba numerius su dešimtųjų vertybių C, bus slankiojo kablelio skaičius.
Kai padauginti Dešimtainė pagal dešimtosios dalies,
jūs tikriausiai ketina gauti dešimtosios dalies.
Jūs norite suteikti jai atitinkamą vardą.
Padauginkite du Reals atrodo gerai.
Bet jūs tikrai galėjo jį pavadinti MULT dvi plūdės, arba mult plūdės.
Nieko panašaus, tol, kol ji davė šiek tiek faktinį prasmę, kas
tai black box "buvo ketinate daryti.
Ir vėl, šiuo atveju, mes ne Atrodo, kad bet prasmė pridedamas
į pavadinimus kintamieji mes praeinančio,
todėl mes tiesiog paskambinti x ir y.
Dabar, jei jūs juos vadinate kažkas kitur, tai visiškai gerai.
Iš tiesų, jei tu ši deklaracija, o ne
naudojant dvejetų vietoj nuo plūdės, jei jūs prisimenate
kad vaikinai yra skirtingi būdas tiksliau
nurodyti realieji skaičiai, arba slankiojo kablelio kintamuosius.
Štai visiškai gerai.
Bet vienas iš tų, būtų gerai.
Iš tiesų, yra keletas skirtingų kombinacijų
būdų, kaip paskelbti šią funkciją.
Tačiau tai yra du gana gerų.
Mes paskelbta funkciją, tai puiku.
Mes pasakė kompiliatorius, kas tai yra tai, ką mes ketiname daryti.
Dabar galime iš tikrųjų rašyti šią funkciją.
Leiskite jam suteikti apibrėžimą, kad viduje juoda dėžutė
nuspėjamas elgesys vyksta.
Tiesą sakant, mes dauginant dvi realios numerius kartu, arba pridedant numeriai
kartu, ar daro kokia ji yra kad mes paprašėme mūsų funkciją daryti.
>> Taigi iš tiesų, pabandykime ir apibrėžti daugintis du Reals kurią mes tiesiog
kalbėjo apie antrą prieš.
Dabar pradžios funkcija apibrėžimas
atrodo beveik lygiai tas pats kaip funkcija deklaracijoje.
Turiu abu čia.
Viršuje yra funkcija deklaracija, rūšis, pavadinimas, atskirti kableliais argumentas
sąrašas, kabliataškis.
Kabliataškis rodo, kad kad yra funkcija deklaracija.
Iš funkcijos pradžia apibrėžimas atrodo beveik lygiai
tas pats, rūšis, pavadinimas, atskirtas kableliais argumentas, sąrašas Nr kabliataškis,
atidaryti garbanotas petnešomis.
Atvira garbanotas petnešomis, kaip mes jau darome su pagrindiniu,
reiškia, kad dabar mes esame pradeda apibrėžti
kas atsitinka, viduje juoda dėžutė, kad mes nusprendėme skambinti mult du Reals.
Čia yra vienas iš būdų ją įgyvendinti.
Galėtume pasakyti, mes galime paskelbti naujas kintamasis tipo plūdės vadinamas produktas
ir priskirti, kad kintamasis į tokią x vertę kartus y.
Ir tada grįžti produkto.
Ką grąža reiškia čia.
Na grąža yra būdas mes rodo, kad, kaip
mes artimųjų produkcija pasitraukti.
Taigi grįžti kažką, yra toks pat kaip, tai yra juodosios dėžės išėjimo.
Štai kaip tai padaryti.
Štai dar vienas būdas jį įgyvendinti.
Galėtume tiesiog grįžti x kartų m.
X yra plūdė.
y yra plūdė.
Taigi, x kartų y yra taip pat plūdė.
Mes neturime net reikia sukurti kitą kintamąjį.
Taigi, kad kitoks būdas įgyvendinti tą patį juodą langelį.
>> Dabar šiek tiek laiko, pristabdyti vaizdo įrašą vėl,
ir bandyti apibrėžti pridėti du int, kuris yra kitas funkcijos, mes
kalbėjo apie prieš akimirką.
Vėlgi čia, aš įdėti funkciją deklaracija, ir todėl kabliataškis,
ir atvira garbanotas petnešomis ir uždara garbanotas
petnešomis nurodyti, kur mes užpildys į turinį įtraukti du int,
kad mes apibrėžti visų pirma elgesys viduje juoda dėžutė.
Taigi pristabdyti vaizdo įrašą.
Ir imtis tiek laiko, kiek jums reikia išbandyti ir nustatyti
yra įgyvendinamas pridėti du int, pavyzdžiui kad, kai funkcija išveda vertę,
ji iš tikrųjų grąža iš dviejų įėjimų suma.
Taigi, kaip ir ankstesniame pavyzdyje, yra keletas skirtingų būdų,
, kad galėtumėte įgyvendinti pridėti du int.
Štai vienas.
Čia oranžine aš tiesiog turėjo kai comments--
Aš ką tik pridėjo keletą komentarai rodo
kas vyksta kiekvieno kodo eilutę.
Taigi, aš pareiškiu kintamąjį vadinamas suma tipas int.
Sakau suma yra lygi pliuso b.
Štai kur mes iš tikrųjų daro darbas pridedant A ir B kartu.
Ir aš grįžti sumą.
Ir tai turi prasmę, nes suma yra int tipo kintamasis.
Ir kas yra duomenų tipas, kad ši funkcija man sako ji ketina produkcija?
Žiniasklaida.
Taigi, aš grįžti sumą, kuri yra sveikasis skaičius kintama.
Ir tai turi prasmę suteikta, ką mes deklaruotos ir apibrėžti mūsų funkcija
daryti.
>> Dabar jūs taip pat galite nustatyti funkcija šis būdas,
INT suma yra lygi plius b-- praleisti, kad Pirmasis step-- ir tada grįžkite sumą.
Dabar tu gali taip pat įgyvendinti jį šiuo būdu,
kurį aš labai nerekomenduočiau.
Tai yra blogas stilius vieną dalykas ir tikrai neblogai dizainas,
bet jis, tiesą sakant, darbe.
Pavartojus šį kodą, kuris yra int pridėti blogas padidinimas dot C ir jį naudoti.
Jis tikrai nėra įtraukti du sveikieji skaičiai kartu.
Tai labai prastas įgyvendinimas šio konkretaus elgesio.
Bet jis veikia.
Tai tiesiog čia iliustruoti taškas, kad mes tikrai ne
rūpintis, kas atsitinka viduje juoda dėžutė, kaip ilgai,
nes ji turi išėjimą, kad tikimės.
Tai yra prastai suprojektuoti juodos dėžės.
Bet pabaigoje dieną, ji dar išėjimas iš pliuso b suma.
Gerai.
Taigi mes paskelbė funkcijas.
Ir mes apibrėžti funkciją.
Taigi tai tikrai gera.
Dabar pradėkime naudoti funkcijas kad mes deklaruoti ir mes apibrėžti.
Norėdami skambinti function-- tai tikrai gana easy-- viskas, ko jums reikia padaryti,
yra perduoti jį atitinkami argumentai, argumentai duomenų tipas
kad jis tikisi ir tada priskirti grąžą
vertė tą funkciją ir this-- pasiteisinimas me--
priskirti sugrįžimo vertę tą funkciją kad kažką teisingo tipo.
>> Taigi leiskite turėti pažvelgti tai praktika faile
vadinamas padidinimas 1 taškas C, kuris Turiu mano CS50 IDE.
Taigi čia yra padidinimas 1 taškas c.
Pradžioje matote Turiu Mano apima svaras apimti,
standartinis IO ir CS50 dot val.
Ir tada aš turiu funkcija deklaraciją.
Tai kur aš sakau kompiliatorius Aš tikiu
bus raštu funkcija vadinama pridėti du int.
Ji ketina išėjimo signalą sveikasis tipas kintama.
Štai ką ši dalis yra čia.
Ir tada aš turiu du įėjimus į tai ir b, kiekvienas iš kurių yra sveikasis skaičius.
Viduje pagrindinis, prašau vartotojui įvesties sakydamas, duok man sveikasis skaičius.
Ir jie raginami pamiršti tarpinis junginys, kuris yra funkcija, kuri
yra įtrauktas į CS50 bibliotekoje.
Ir tai bus saugomi x kintamąjį.
>> Tada mes greitai juos kitam sveikojo skaičiaus.
Mes gauname kitą sveikasis skaičius ir laikyti, kad y.
Ir tada, čia on-line 28, yra kur mes padaryti mūsų skambinimo funkcijos.
Mes sakome, int z dydžiu neprilygstami pridėti 2 int x kablelis m.
Ar matote, kodėl tai turi prasmę?
x yra sveikas tipo kintamasis ir y yra sveikas skaičius, tipas kintama.
Taigi, kad gerai.
Tai prasminga su ką mūsų funkcija deklaracija dėl 17 eilutės atrodo.
Kablelio atskirti įvesties sąrašas tikisi, du sveikieji skaičiai A ir B.
Tokiu atveju, mes galime skambinti jiems, ką nori.
Jis tiesiog tikisi, du sveikieji skaičiai.
Ir x yra sveikas skaičius, ir y yra sveikas skaičius.
Tai veikia.
>> Ir mes žinome, kad funkcijos vyksta į išėjimo signalą sveikieji skaičiai, taip pat.
Ir taip mes saugojimą išėjimo funkciją,
pridėti du ints, kad sveikasis tipas kintamasis, kuris mes skambina z.
Ir tada mes galime pasakyti, kad suma proc I ir proc i procentų aš.
x, y ir z, atitinkamai pildymo tose proc i-aisiais.
Kas yra apibrėžimas pridėti du ints atrodo?
Tai gana paprasta.
Tai vienas iš tų, mes tik pamačiau antrą prieš
INT suma yra lygi pliuso b grąžinimo sumą.
Ar šis darbas?
Leiskite išsaugoti failą.
Ir tada žemyn čia mano terminalo Aš ruošiuosi padaryti padidinimas 1,
ir aš išvalyti mano ekraną.
Aš ruošiuosi priartinti, nes aš žinau, tai šiek tiek sunku pamatyti.
>> Taigi mes kompiliuoti šią programą, kaip angis 1 d.
Taigi, mes galime padaryti dot velniop padidinimas 1.
Duok man sveikasis skaičius, 10.
Duok man dar vieną sveikąjį skaičių, 20.
10 ir 20 suma yra 30.
Taigi mes padarė sėkmingą skambinimo funkcijos.
Galite paleisti funkciją vėl neigiamas 10, 17 suma neigiamas 10 ir 17 yra 7.
Ši funkcija veikia.
Jis turi elgesį kad tikimės jį.
Ir taip mes padarėme sėkmingas funkcija, apibrėžimas, deklaracija,
ir sėkmingai skambinimo funkcijos.
Poros Įvairūs Taškai apie funkcijas
kol mes sudaryti šį skyrių.
Prisiminkite, iš mūsų diskusija duomenų tipų,
anksčiau, kad funkcijos kartais gali užtrukti ne įėjimai.
Jei tai toks atvejis, mes paskelbti funkciją
kaip turintys negaliojančiu argumentų sąrašo.
Ar prisimenate ką Dažniausiai funkcija
mes matėme iki šiol, kad mano tuštuma argumentas sąrašas?
Tai pagrindinis.
Prisiminkite, taip pat šią funkciją kartais ne iš tikrųjų turėti išėjimą.
Tokiu atveju, mes pareiškiame funkciją kaip turintis negaliojantis grįžties tipas.
Leiskite užbaigti šį skyrių iki sprendžiant iš praktikos problemą.
>> Taigi čia yra problema išdėstyti.
Noriu jums parašyti funkciją vadinamas galioja trikampis.
Ką ši funkcija turėtų daryti yra paimti tris realieji skaičiai
kad atstovauja trys ilgiai pusės trikampį, nes jos parametrai,
ar jos argumentai, ar jos inputs-- kitą sinonimų rinkinys
kad jūs gali susidurti.
Ši funkcija turėtų arba išvesties true arba false
priklausomai nuo to, ar šių trijų ilgių yra galintis trikampis.
Ar pamenate duomenų tipą, kad mes naudojamas nurodyti true arba false?
Dabar kaip jums įgyvendinti tai?
Na žinau, ten yra pora taisyklės dėl trikampiai
kad iš tikrųjų yra naudinga žinoti.
Trikampis gali turėti tik pusių teigiamą ilgio.
Tai turi prasmę.
Jūs tikriausiai sakydamas, duh.
Kitas dalykas, reikia pažymėti nors tai, kad suma
iš bet ilgių dviejų pusių trikampis
turi būti didesnis nei ilgis trečią pusėje.
Tai tikrai tiesa.
Jūs negalite turėti šonuose 1 trikampį, 2 ir 4, pavyzdžiui, dėl to, 1, pridėjus 2
yra ne didesnis kaip 4.
Taigi tie, yra taisyklės, kad nustatyti, ar trys
sąnaudos gali tikimasi, sudaro trikampį.
Taigi imtis keletą minučių ir deklaruoja ir tada nustatyti
Ši funkcija vadinama galioja trikampis, taip, kad ji iš tikrųjų
turi elgesį čia nurodyta.
>> Ji atras tiesa, jei šių trijų pusių sugeba apimantis trikampį,
ir false priešingu atveju Paruošta pamatyti, kaip tu?
Štai vienas įgyvendinimas Galiojančių trikampis.
Tai ne vienintelis.
Pagarbiai gali šiek tiek skirtis.
Bet tai vienas daro, iš tiesų, yra elgesys, kuris tikimės.
Mes pareiškiame savo funkciją ne labai viršuje, bool galiojantį trikampis
plūduriuoti x float Y float z.
Taigi dar kartą, ši funkcija trunka tris realieji skaičiai
kaip jos argumentus, plaukiojantieji taškas vertės kintamieji,
ir išveda true arba false vertė, kuri yra Būlio, prisiminti.
Štai kodėl grįžimas tipas yra bool.
Tada mes apibrėžti funkciją.
Pirmas dalykas, kurį mes darome, yra įsitikinkite, kad kad visi pusių yra teigiamas.
Jei x yra mažesnis arba lygus 0, arba, jei y yra lygus 0,
arba jeigu Z yra mažesnis negu arba lygus 0, kad galbūt negali būti trikampis.
Jie neturi teigiamų pusių.
Ir todėl mes galime grįžti klaidinga toje situacijoje.
Be to, mes įsitikinkite, kad kad kiekvienas įėjimai pora
yra didesnis negu trečiasis.
>> Taigi, jei x plius y yra mažiau nei arba lygus z,
arba jeigu x plius z yra mažiau nei arba lygus y,
arba, jei y plius z yra mažiau negu arba lygus x, kad taip pat gali būti laikoma tinkama trikampis.
Taigi, mes return false dar kartą.
Darant prielaidą, kad mes išlaikė abi patikrinimus nors, tada mes galime grįžti tiesa.
Kadangi šių trijų pusių sugeba returning--
sukurti galiojantį trikampis.
Ir tai viskas.
Jūs dabar deklaruoti ir apibrėžti.
Ir jums gali būti suteikta galimybė dabar naudoti ir skambinti šią funkciją.
Puikiai padirbėta.
Aš Doug Lloyd.
Tai CS50.