DOUG Lloyd: Selvä.
Joten nyt Katsotaanpa puuttua todella iso aihe, toimintoja.
Toistaiseksi Tietenkin kaikki ohjelmia, jotka olemme kirjallisesti
on kirjoitettu sisällä tärkein.
Ne ovat melko yksinkertaisia ​​ohjelmia.
Sinun ei tarvitse olla kaikki nämä oksat ja asioita tapahtuu.
Voimme vain sovi kaiken sisällä tärkein ja se
ei saa hirveän ylivoimainen.
Mutta koska kurssi jatkuu ja kun alkaa kehittää ohjelmia
itsenäisesti, he luultavasti alkaa saada paljon enemmän kuin 10
tai 15 riviä.
Saatat saada satoja tai tuhansia tai kymmeniä tuhansia rivejä koodia.
Ja se todellakaan ole että hullu ajatus.
Sellaisena se on luultavasti ole hyvä ajatus pitää kaiken sisällä tärkein.
Se voi saada hieman vaikea löytää mitä etsit, jos teet sen.
>> Onneksi, vaikka C, ja melko paljon joka toinen ohjelmointikieli, joka
saattaisi toimia kanssa, mahdollistaa meitä kirjoittaa toimintoja.
Ja olen juuri menossa ottaa nopeasti syrjään täällä
mainita, että toiminnot on yksi alue tietotekniikassa.
Ja näet paljon enemmän niitä eri kohdissa koko kurssin
ja jos jatkaa.
Missä on paljon synonyymejä saman sanan.
Joten me kutsumme toimintoja.
Mutta saatat myös kuulla niitä kutsutaan menettelyjä,
tai menetelmiä, erityisesti, jos olet koskaan tehnyt mitään olio-ohjelmoinnin
before-- ja älä huoli jos et ole, ei
iso deal-- mutta tilintarkastus suuntautunut kielet
ovat usein kutsutaan menetelmiä.
Joskus he alarutiineihin.
Mutta he oikeastaan ​​kaikki viittaavat samaan perusidea.
>> Katsotaan, mitä se ajatus on.
Mikä on funktio?
No toiminto on todella mitään muuta kuin musta laatikko.
Musta laatikko, joka on joukko nolla tai enemmän tuloa ja yksi lähtö.
Niinpä esimerkiksi, tämä saattaa olla funktio.
Tämä on toiminto nimeltään func.
Ja se kestää kolme tuloa, b ja c.
Ja sisällä että musta laatikko, me en tiedä mitä se tekee,
mutta se käsittelee tulot jollakin tavalla ja sitten se
antaa yhden lähtö, tässä tapauksessa z.
Nyt tehdä hieman vähemmän abstrakti, me
Voisi sanoa, että ehkä me on toiminto nimeltään
lisätä, että kestää kolme tuloa, b, ja C ja käsittelee tuotanto jollain tavalla
sisällä musta laatikko tuottaa yksi lähtö.
Joten tässä tapauksessa, jos lisätä kestää 3, 6, ja 7.
Jossain sisällä lisätä toiminto, olisimme
odottaa niiden laskea yhteen tuotoksen tuottamiseen, joka
on 3 + 6 + 7 tai 16.
>> Samoin sinulla on toiminto nimeltään Enemmän joka ottaa kaksi tuloa, ja b,
käsittelee niitä jollakin tavalla niin että lähtö toiminnon
on tuote, kaksi tuloa.
Kaksi tuloa kerrotaan keskenään.
4 ja 5 johdetaan mult, jotain tapahtuu, lähtö odotamme
on 20.
Miksi me kutsumme sitä musta laatikko?
No jos emme ole kirjallisesti toimii itse, joka
olemme tehneet melko vähän toistaiseksi CS50.
Olemme nähneet tulostaa f, esimerkiksi, joka on toiminto, joka emme kirjoita
itseämme, mutta emme käytä koko ajan.
Jos emme ole kirjallisesti toiminnot itse,
emme todellakaan tarvitse tietää, miten se on tosiasiallisesti toteutettu konepellin alle.
>> Niinpä esimerkiksi musta laatikko I vain osoitti teitä kertomalla,
Enemmän, b voi olla defined-- ja tämä on vain
jotkut pseudocode-- voisi olla määritellään lähtö kertaa b.
Että järkeä, oikea.
Jos meillä on toiminto nimeltään Enemmän, joka ottaa kaksi tuloa.
Odotamme, että lähtö olisi olla kaksi tuloa kerrotaan yhdessä,
kertaa b.
Mutta Enemmän voisi olla myös toteutetaan näin,
meillä on laskuri muuttuja saada asettaa sisällä mult 0.
Ja sitten me toista tämä prosessi b kertaa lisätä lähteä vastahyökkäykseen.
Esimerkiksi, jos kerromme 3a 5b, voisimme sanoa asetettu laskurin 0,
toista viisi kertaa, lisätä 3 laskuri.
Joten me alkavat 0 ja sitten teemme tämä viisi kertaa 3, 6, 9, 12, 15.
Se on sama tulos. Me silti 3 kertaa 5 vain
täytäntöönpano on erilainen.
>> Sitähän me tarkoitamme kun sanomme musta laatikko.
Se vain tarkoittaa, emme välitä miten se toteutetaan huppu
kunhan tuotanto on mitä odotamme.
Itse asiassa, se on osa sopimusta käyttää toimintojen, erityisesti
toiminnot toiset kirjoittaa.
Käyttäytyminen on aina menossa tyypilliseksi, arvaamaton
perustuu funktion nimi.
Ja siksi se on todella tärkeää, kun kirjoittaa toiminnot
tai kun muut ihmiset kirjoittaa toiminnot voit käyttää,
että nämä tehtävät ovat kirkas, suhteellisen ilmeinen nimet,
ja ovat hyvin dokumentoitu.
Joka on varmasti totta funktion kuten tulostaa f.
>> Miksi käytämme toimintoja?
No kuten sanoin aikaisemmin, jos kirjoitamme kaikki meidän koodin sisällä tärkeimmistä asioista
voi saada todella hankalaa ja todella monimutkainen.
Toiminnot mahdollistavat meille mahdollisuuden organisoida asioita ja hajottaa
hyvin monimutkainen ongelma tulee paljon helpommin hallittavissa osa osat.
Toiminnot myös antaa meille mahdollisuuden yksinkertaistaa koodaus prosessi.
Se on paljon helpompaa debug 10 -linjatoiminnosta vs. 100 linja
toiminto tai 1000 -linjatoiminnosta.
Jos meillä on vain debug pienet palaset kerrallaan,
tai kirjoittaa pieniä paloja tuolloin, se tekee, että kokemusta ohjelmoinnista
paljon parempi.
Luota minuun, että yksi.
>> Lopuksi, jos me kirjoittaa toimintoja me voidaan käyttää uudelleen näitä eri osia.
Toiminnot voidaan kierrättää.
Niitä voidaan käyttää yhden ohjelman tai toiseen.
Olet jo kirjoittanut toiminto, kaikki te
tarvitsee vain kertoa, että ohjelma mistä löytää tämän tehtävän.
Olemme kierrätys ja käyttämällä tulostaa f yli 40 vuotta.
Mutta se oli vain kirjoittanut yhden kerran.
Melko hyödyllinen, oikea.
Selvä.
Joten toiminnot ovat suuria.
Tiedämme, että.
Nyt alkaa kirjoittaa ne.
Katsotaanpa alkaa saada heidät meidän ohjelmia.
Voidakseen tehdä niin, ensimmäinen mitä teemme on julistaa toiminto.
Kun julistaa toiminto mitä olet pohjimmiltaan teet
kertoo kääntäjä, Hei, juuri niin tiedät,
Aion olla kirjallisesti toiminto myöhemmin
ja tässä mitä se tulee näyttämään.
Syynä tähän on koska kääntäjät voivat
tehdä outoja asioita, jos he näkevät joukko symboleja
että he eivät tunne.
Joten me vain antaa kääntäjä heads up, Olen luomassa toiminto
ja se aikoo tehdä tämän.
Toiminto ilmoitusten yleensä jos olet järjestää koodia tavalla
että muut pystyvät ymmärtää ja käyttää,
haluat yleensä laittaa kaikki teidän toiminto ilmoitusten
yläreunassa oman koodin, oikea ennen kuin aloitat kirjoittamisen tärkein jopa.
Ja kätevästi, siellä erittäin vakiolomake
että jokainen toiminto Julistus.
He kaikki melko paljon näyttää tältä.
On kolme osaa toiminnon ilmoitus, paluu tyyppi, nimi,
ja argumentti lista.
>> Nyt palautuva on, millaista muuttuja toiminto ulostulo.
Niinpä esimerkiksi, jos ajattelemme takaisin minuutti sitten kertomalla kaksi
numerot toiminto, mitä on odotettavissa, jos kerromme kokonaisluvun kokonaisluku
tuotos on luultavasti kokonaisluku, oikea.
Kerrottuna kahdella luvulla yhdessä, saat kokonaisluku.
Joten palautuva kyseisen toiminto olisi int.
Nimi on mitä haluat soittaa toiminto.
Tämä on luultavasti vähiten tärkeä osa toimintaa ilmoituksen,
kannalta toiminnallisuus.
Mutta on todellisuudessa luultavasti yksi tärkeimmistä osista
funktion mukaisen selityksen tietää mitä -toiminto itse asiassa
tekee.
Jos nimeät f tai g tai h tai mysteeri tai jotain,
olet todennäköisesti menossa hieman lauennut ylös yrittää
muistaa, mitä nämä toiminnot tekevät.
Joten on tärkeää antaa toiminto merkityksellistä nimiä.
>> Lopuksi parametrilistaus on pilkulla erotettuna luettelo
kaikista panoksia teidän toiminto, joista kukin on tyyppi ja nimi.
Joten ei vain sinun täytyy tarkenna, millaisia ​​muuttuja
toiminto ulostulo, haluat myös määrittää
millaista ja tyypit muuttujien toiminto hyväksyä tuloina.
Tehdäänpä esimerkki tästä.
Haluan vain katsomaan klo konkreettisempia yksi.
Joten tässä on esimerkki funktio ilmoitus toiminto
Lisään kaksi kokonaislukua yhteen.
Summa kahden kokonaisluvun on menossa olla kokonaisluku niin hyvin, koska olemme juuri
keskusteltiin.
Ja niin palautuva, täällä vihreä, olisi int.
Se vain kertoo, että lisätä kaksi ints on menossa, lopussa päivä,
lähtö, tai sylkeä sen takaisin ulos meille, kokonaisluku.
Koska mitä tämä toiminto tekee me haluat antaa sille kuvaava nimi.
Lisää kaksi ints näyttää tarkoituksenmukaista, kun otetaan huomioon
viemme kaksi kokonaislukua panoksina ja toivottavasti lisäämällä ne yhteen.
Se voi olla hieman hankalaa nimi ja rehellisesti tämä toiminto
ei todennäköisesti ole tarpeen koska meillä on lisäksi
operaattori, jos muistatte meidän keskustelua toimijoiden aiemmin.
Mutta haluan vain sanoa vuoksi väitettä, jonka mukaan tämä toiminto on hyödyllinen
ja niin me kutsumme sitä lisätä kaksi ints.
Lopuksi, tämä toiminto kestää kaksi tuloa.
Joista kukin on kokonaisluku.
Joten meillä on tämä pilkku erotettu lista panoksia.
Nyt me yleensä haluamme antaa nimen kullekin niistä
niin, että niitä voidaan käyttää sisällä toiminto.
Nimet eivät ole kovin tärkeitä.
>> Tässä tapauksessa emme välttämättä ole merkitystä niihin liitetyt.
Joten voimme vain soittaa heille ja b.
Se on täysin hieno.
Jos kuitenkin huomaat itsesi tilanteeseen
jossa muuttujien nimet saattaisi olla tärkeä,
saatat haluta soittaa heille jotain muuta kuin a ja b
antaa heille jotain enemmän symbolisesti mielekäs.
Mutta tässä tapauksessa, emme oikeastaan tiedä mitään muuta toimintoa.
Haluamme vain lisätä kaksi kokonaislukua.
Joten me vain soittaa ne kokonaislukuja ja b.
Se on yksi esimerkki.
>> Miksi et ota toinen ajatella tämä,
miten te kirjoittaa toiminto ilmoitus toiminto
monikertaiseksi kaksi liukulukuja?
Muistatko, mitä liukuluku on?
Mitä tämä toiminto ilmoitus näyttää?
Olen itse suosittelen keskeyttää video täällä ja vie kuinka paljon aikaa tarvitset.
Ajattele, mitä tämä toiminto ilmoitus olisi?
Mitä palautuva olla?
Mikä olisi mielekäs nimi on?
Mitä panoksia on?
Joten miksi et keskeytä video tästä ja kirjoittaa-up toiminto ilmoitus
sillä toiminto, joka moninkertaistaa kaksi liukuluvuilla yhdessä.
Toivottavasti keskeytetään videon.
>> Joten katsomaan esimerkki yhdestä mahdollisesta ilmoituksen.
Float mult kaksi realia kellua x, float y.
Tuote Kahden liukulukuja,
jotka muistuttavat ovat miten me edustavat reaalilukuja
tai numerot desimaalin arvoja C, tulee olemaan liukuluku.
Kun kerrot desimaalin jota desimaalin,
olet luultavasti menossa saada desimaalin.
Haluat antaa sille asiaa nimi.
Kerrotaan kaksi realin näyttää hieno.
Mutta voit todella kutsua mult kaksi kellukkeet, tai mult kelluu.
Mitään sellaista, kunhan se antoi joitakin todellisia merkityksen mitä
tämä musta laatikko aikoi tehdä.
Ja taas, tässä tapauksessa, emme näytä olevan mitään merkitystä liitteenä
nimien muuttujat olemme ohimennen,
joten me vain soittaa heille x ja y.
Nyt jos soittaa heille jotain muuten, se on täysin hieno.
Itse asiassa, jos et tämä vakuutus sijaan
käyttäen tuplaa sijasta kellukkeet, jos muistatte
että nelinpelin ovat eri tapa tarkemmin
Määritä todellinen numeroita tai liukuluku muuttujia.
Se on täysin hieno liian.
Joko yksi näistä olisi hienoa.
Itse asiassa on olemassa useita erilaisia ​​yhdistelmiä
tapoja julistaa tätä toimintoa.
Mutta nämä ovat kaksi melko hyviä.
Olemme julisti toiminto, se on hienoa.
Me olemme kertoneet kääntäjä mitä se on, mitä aiomme tehdä.
Nyt todella kirjoittaa, että toiminto.
Annetaan sen määritelmä, niin että sisällä musta laatikko
ennustettavissa käyttäytyminen tapahtuu.
Itse asiassa, olemme kertomalla kaksi todellista numerot yhteen, tai lisäämällä numeroita
yhdessä, tai tekee mitä se on että pyysimme meidän toiminto tehdä.
>> Joten itse asiassa yritetään ja määritellä moninkertaistaa kaksi realin jota vain
puhui hetki sitten.
Nyt alussa funktion määritelmän
näyttää lähes täsmälleen sama funktiona ilmoitus.
Minulla on molemmat täällä.
Ylimpänä on toiminto ilmoitus, tyyppi, nimi, pilkulla erotettuna väite
lista, puolipiste.
Puolipiste osoittaa, että että on tehtävä ilmoitus.
Alussa toiminnon määritelmä näyttää melkein täsmälleen
sama, tyyppi, nimi, pilkulla erotettuna argumenttilista, ei puolipiste,
Avaa kihara ahdin.
Avoin kihara ahdin, kuten olemme tehneet tärkeimpien,
tarkoittaa, että olemme nyt alkaa määritellä
mitä tapahtuu sisällä musta laatikko, joka olemme päättäneet kutsua mult kaksi reals.
Tässä on yksi tapa toteuttaa se.
Voisimme sanoa, voisimme ilmoittaa uusi tyyppisenä muuttujana float kutsutaan tuote
ja määrittää, että muuttuva arvoon x kertaa y.
Ja palata sitten tuote.
Mitä paluu tarkoittaa tässä.
No paluu on tapa me osoittavat, että Näin
olemme kulkee lähtö takaisin ulos.
Joten palata jotain, on sama kuin, tämä on lähtö musta laatikko.
Niin, että miten teet sen.
Tässä on toinen tapa toteuttaa se.
Voisimme vain palata x kertaa y.
x on float.
y on float.
Joten X kertaa Y on myös float.
Emme edes tarvitse luoda uuden muuttujan.
Niin se on eri tavalla toteuttaa täsmälleen sama musta laatikko.
>> Nyt hetki, pysäyttää videon uudelleen,
ja yrittää määritellä lisätä kaksi ints, joka on muu toiminto, että me
puhui hetki sitten.
Jälleen täällä, olen koonnut toiminto ilmoitus, ja niin puolipiste,
ja avoin kihara ahdin ja suljettu kihara
ahdin ilmoittamaan, missä me täyttää sisällössä lisätä kaksi ints,
niin että me määrittelemme erityisesti käyttäytyminen sisällä musta laatikko.
Joten pysäyttää videon.
Ja ottaa niin paljon aikaa kuin sinun täytyy yrittää ja määritellä
täytäntöönpano lisätä kaksi ints, kuten että kun toiminto ulos arvon,
se itse asiassa vastineeksi summa kaksi tuloa.
Joten kuten edellisessä esimerkissä, on olemassa useita eri tapoja
että voisit toteuttaa lisätä kaksi ints.
Tässä yksi.
Täällä oranssi Olen vain oli joitakin comments--
Olen juuri lisännyt kommentit osoittamaan
mitä tapahtuu jokaisen rivin koodia.
Joten Julistan muuttuja nimeltään summa tyyppiä int.
Sanon summa on plus b.
Siellä olemme todella tekee työ lisäämällä ja b yhdessä.
Ja palaan summa.
Ja että on järkevää, koska summa on muuttuja tyyppiä int.
Ja mikä on tietojen tyyppi, että tämä toiminto kertoo minulle se tulee lähtö?
Int.
Joten olen palaamassa summa, joka on kokonaisluku muuttuja.
Ja että on järkevää antanut mitä olemme ilmoitetut ja määritelleet toiminto
tehdä.
>> Nyt voit myös määritellä toiminto tällä tavalla,
int summa on plus b-- ohittaa tämän ensin step-- ja sitten palata summa.
Nyt sinulla voisi olla myös toteutetaan näin,
jotka olen erittäin ei suositella.
Tämä on huono tyyli yhden asia ja todella huono suunnittelu,
mutta se ei itse asiassa työtä.
Jos otat tämän koodin, joka on int lisätä huono lisätoiminto piste C, ja käyttää sitä.
Se itse asiassa ei lisätä kaksi kokonaislukua yhteen.
Se on erittäin huono täytäntöönpano tämän nimenomaisen käyttäytymistä.
Mutta se ei toimi.
Se on vain täällä havainnollistaa pisteeseen, että emme oikeastaan
välitä mitä tapahtuu sisällä musta laatikko, kunhan
koska sillä on ulostulo, joka odotamme.
Tämä on huonosti suunniteltu musta laatikko.
Mutta lopussa päivä, se ei edelleen lähtö summa plus b.
Selvä.
Joten olemme julistettu toimintoja.
Ja olemme funktion.
Niin se on todella hyvä.
Nyt alkavat käyttää toimintoja että olemme ilmoitettu ja olemme määritelty.
Kutsua function-- se on todella melko easy-- kaikki sinun ei tarvitse tehdä
on välittää aiheelliseksi argumentteja, väitteet tietotyyppi
että se odottaa, ja määritä paluu
arvo tämän tehtävän ja this-- tekosyy me--
antaa palauttaa arvo tämän funktion jotain oikeaa tyyppiä.
>> Joten vilkaista tämä käytännössä tiedostoon
nimeltään summain 1 piste C, joka Minulla on CS50 IDE.
Joten tässä on summain 1 piste C.
Alussa näet minulla on minun kuuluu, punta ovat,
standardi IO, ja CS50 piste h.
Ja sitten minulla on toiminto ilmoituksen.
Tässä minä olen kertoo kääntäjä olen
aiotaan kirjallisesti toiminto nimeltään lisätä kaksi ints.
Se tulee lähtö kokonaisluku tyyppi muuttuja.
Sitähän tämä osa on täällä.
Ja sitten minulla on kaksi panoksia se ja b, joista kukin on kokonaisluku.
Sisältä tärkein, pyydän käyttäjältä tulo sanomalla, anna minulle kokonaisluku.
Ja he kehotetaan unohtaa int, joka on toiminto, joka
sisältyy CS50 kirjastossa.
Ja että saa tallennetut X, kokonaisluku muuttuja.
>> Sitten pyytää heitä vielä kokonaisluku.
Saamme toinen kokonaisluku ja tallentaa että y.
Ja sitten, täällä putken 28, on jossa teemme funktiokutsua.
Sanomme, int z tasavertaisten lisätään 2 ints x pilkku y.
Näettekö, miksi tämä on järkevää?
x on kokonaisluku tyyppi vaihtelee ja y on kokonaisluku tyyppiä muuttuja.
Niin se on hyvä.
Että järkeä mitä meidän toiminto julistus linjalla 17 näyttää.
Pilkulla erotettuna tulo lista odottaa kaksi kokonaislukua, ja b.
Siinä tapauksessa, voimme soittaa ne mitä haluamme.
Se vain odottaa kaksi kokonaislukua.
Ja x on kokonaisluku, ja y on kokonaisluku.
Joka toimii.
>> Ja me tiedämme, että toiminto on menossa lähtöön kokonaislukuja samoin.
Ja niin me tallentamiseen lähtö-toiminto,
lisätä kaksi ints, vuonna kokonaisluku tyyppi muuttuja, jota soitat z.
Ja sitten voimme sanoa, summa prosenttia i ja prosenttia i on prosenttia i.
x, y ja z vastaavasti täyttämällä ne prosenttia I n.
Mikä on määritelmä lisätä kaksi ints näyttää?
Se on melko yksinkertainen.
Se on yksi niistä me juuri näin toinen sitten,
int summa on plus b tuottoa summa.
Tämä toimii?
Katsotaanpa tallentaa tiedoston.
Ja sitten täällä minun terminaali Aion tehdä summaimen 1,
ja voin tyhjentää näytön.
Aion zoomata koska tiedän se on hieman vaikea nähdä.
>> Joten meidän kääntää tämä ohjelma lisätoiminto 1.
Joten voimme tehdä piste slash lisätoiminto 1.
Anna minulle kokonaisluku, 10.
Anna minulle toinen kokonaisluku, 20.
Summa 10 ja 20 on 30.
Joten teimme onnistuneen funktiokutsu.
Voit suorittaa toiminnon uudelleen, negatiivinen 10, 17 summa negatiivinen 10 ja 17 on 7.
Tämä toiminto toimii.
Se on käyttäytymisen että odotamme sen.
Ja niin olemme tehneet onnistuneen toiminto, määritelmä, ilmoitus,
ja onnistunut funktiokutsuna.
Pari sekalaiset huomautusta toimintoja
ennen päätämme tässä jaksossa.
Recall meidän keskustelua tietotyyppejä,
aiemmin, että toiminnot voi joskus ottaa mitään tuloa.
Jos näin on, me julistaa toiminto
olevan mitätön argumenttilistan.
Muistatteko mitä Yleisin toiminto
olemme nähneet niin pitkälle, että otetaan void parametrilistaus on?
Se on tärkein.
Muistuttaa myös, että toiminto joskus ei oikeastaan ​​ole tuotos.
Siinä tapauksessa me julistamme toiminto olevan mitätön palautuva.
Katsotaanpa Lopuksi tässä jaksossa puuttumalla käytännön ongelma.
>> Joten tässä on ongelma säädettyihin.
Haluan sinun kirjoittaa toiminto nimeltään voimassa kolmio.
Mitä tämä toiminto pitäisi tehdä on otettava kolme todellinen määrä
jotka edustavat pituudet kolmesta puolin kolmio sen parametrit,
tai sen perusteluja, tai sen inputs-- toinen joukko synonyymejä
että saatat kohdata.
Tämä toiminto pitäisi joko lähtö tosi tai epätosi
riippuen siitä, onko nämä kolme pituutta pystyvät tekemään kolmiota.
Muistatko tietotyyppi että me käytetään osoittamaan totta vai tarua?
Nyt miten toteuttaa tämän?
Hyvin tiedätte on pari koskevia sääntöjä kolmiot
jotka ovat todella hyödyllistä tietää.
Kolmio voi olla vain puolin positiivinen pituus.
Tuossa on järkeä.
Olet luultavasti sanovat, Höh.
Toinen asia huomata kuitenkin se, että summa
pituuksien tahansa kaksi puolta kolmion
on oltava suurempi kuin pituus kolmas sivu.
Se on todella totta.
Et voi olla kolmion sivut 1, 2 ja 4, esimerkiksi, koska 1 ja 2
ei ole suurempi kuin 4.
Joten ne ovat sääntöjä, määrittää, onko kolmen
Tulot voidaan mahdollisesti muodostavat kolmion.
Joten kestää muutaman minuutin ja julistaa ja sitten määritellä
tämä toiminto nimeltään voimassa kolmio, niin että se todella
on käyttäytymistä tässä määritetty.
>> Se lähtö totta, jos nämä kolme sivua pystyvät, joka käsittää kolmion,
ja väärä muuten Valmis näkemään miten teit?
Tässä on yksi täytäntöönpanon voimassa kolmio.
Se ei ole ainoa.
Sinun saattaa vaihdella hieman.
Mutta tämä ei itse asiassa ole käyttäytyminen että odotamme.
Ilmaisemme toiminto hyvin alkuun, bool voimassa kolmio
float x float y float z.
Joten jälleen, tämä toiminto kestää kolme todellinen määrä
kuten sen argumentit, kelluva pistearvo muuttujia,
ja antaa tosi tai epätosi arvo, joka on Boolen, muistaa.
Joten siksi palautuva on bool.
Sitten määritellä toiminnon.
Ensimmäinen asia teemme on varmista että kaikki osapuolet ovat positiivisia.
Jos x on pienempi kuin tai yhtä suuri kuin 0, tai jos y on yhtä suuri kuin 0,
tai jos z on pienempi kuin tai yhtä suuri kuin 0, että ei voi olla kolmio.
Heillä ei ole myönteisiä puolia.
Ja jotta voimme palata väärä siinä tilanteessa.
Seuraavaksi varmista että jokainen pari tuotantopanosten
on suurempi kuin kolmas.
>> Joten jos x plus y on vähemmän tai yhtä suuri kuin z,
tai jos x plus z on vähemmän kuin tai yhtä suuri kuin y,
tai jos y ja z on pienempi kuin tai yhtä suuri kuin X, että myös ei voi olla pätevä kolmio.
Joten palaamme false uudelleen.
Olettaen saimme molemmat tarkastusten vaikka, niin voimme palata totta.
Koska nämä kolme sivua pystyvät returning--
luodaan voimassa oleva kolmio.
Ja se on siinä.
Olet nyt ilmoittanut ja määritellyt.
Ja saatat pystyä nyt käyttää ja kutsuvat tätä toimintoa.
Hyvää työtä.
Olen Doug Lloyd.
Tämä on CS50.