>> [Musiikkia]
>> SPEAKER 1: Tﺣ۳mﺣ۳ on CS50 ja tﺣ۳mﺣ۳ on alku viikolla kaksi.
Joten, nyt sukeltaa suoraan jotain ettﺣ۳ on buginen, niin sanoakseni.
Joten, tﺣ۳ﺣ۳llﺣ۳ on CS50 IDE ja olen revitﺣ۳ etukﺣ۳teen tﺣ۳ssﺣ۳ screen-- hemmetin
se.
Spoileri hﺣ۳lytys.
Selvﺣ۳.
Olen revitﺣ۳ tﺣ۳ssﺣ۳ nﺣ۳ytﺣﭘssﺣ۳ tﺣ۳ﺣ۳llﺣ۳, joka on hyvin yksinkertainen ohjelma.
Jos me selaa, useimmat Tﺣ۳mﺣ۳n on juuri kommentoi,
mutta tﺣ۳ﺣ۳llﺣ۳ linjat 13 kautta 17 meillﺣ۳ on ohjelma.
>> Se on syntaktisesti voimassa, mikﺣ۳ tarkoittaa, ettﺣ۳ jos Olen kﺣ۳ﺣ۳ntﺣ۳ﺣ۳ sen, se kﺣ۳ﺣ۳ntﺣ۳ﺣ۳ ja ajaa,
mutta se on buginen.
Tﺣ۳mﺣ۳ ohjelma vﺣ۳ittﺣ۳ﺣ۳ kommentit ylﺣﭘs ettﺣ۳ se pitﺣ۳isi tulostaa 10 tﺣ۳hteﺣ۳,
mutta se ei.
Ja perustuu omaan kokemukseen, tai pian kokemusta C,
voit loogisesti erottaa miksi tﺣ۳mﺣ۳ on, itse asiassa, buginen?
Joo?
Yleisﺣﭘ: Se menee nollasta 10.
Se on 11 toistojen.
SPEAKER 1: Joo.
Niin, se menee nollasta lﺣ۳pi ja yhtﺣ۳ suuri kuin 10,
joka tietenkin on 11 toistojen.
Niin, se tulee Tulosta, todellakin, 11 tﺣ۳hteﺣ۳.
Joten, tietojenkﺣ۳sittelytiede yleissopimuksen Useimmissa ohjelmointikielissﺣ۳
on todellakin vain alkaa laskea nollasta,
mutta laskea jopa mutta ei lﺣ۳pi Arvo, joka todella kiinnostaa.
>> Nyt, tﺣ۳mﺣ۳ on yksi asia, ettﺣ۳ vie hieman totuttelua
ja jopa Scratch, suunniteltu se on ei ohjelmoijat tai ei tietokone
tutkijoiden ja lapsille suurelta osin, on suunniteltu siten, ettﺣ۳
te alkaa laskea yleensﺣ۳ yksi.
Ja se kﺣ۳y hyvin.
Voit ehdottomasti alkaa laskea yhtﺣ۳ jos se mukavampaa.
Ja laskea jopa ja kautta 10, mutta huomaat erityisesti tﺣ۳llﺣ۳ viikolla
ja pidemmﺣ۳lle juuri niin monet asiat ohjelmointi
olettaa, ettﺣ۳ 0 on ensimmﺣ۳inen numeroinen jolla laskit,
ettﺣ۳ olet menossa on helpompi vain pﺣ۳ﺣ۳stﺣ۳ tﺣ۳mﺣ۳ tapa alkaa
nollasta ja laskemalla arvoon saakka vﺣ۳litﺣ۳t juuri nyt pﺣ۳ﺣ۳ssﺣ۳
saada mennﺣ۳.
>> Niin, ettﺣ۳ on kiinteﺣ۳nﺣ۳.
Muutimme alle tai vastaa vain alle.
Katsotaanpa katsomaan Toinen esimerkki tﺣ۳stﺣ۳.
>> Joten, tﺣ۳mﺣ۳ ohjelma liian vﺣ۳ittﺣ۳ﺣ۳ sen kommentoi ylﺣﭘs, ettﺣ۳ se pitﺣ۳isi tulostaa
kymmenen tﺣ۳hteﺣ۳, mutta se ei ole.
Mikﺣ۳ vika tﺣ۳ﺣ۳llﺣ۳?
>> Niin, what-- ja anteeksi, olkaamme selkeitﺣ۳.
10 tﺣ۳hteﺣ۳.
Yksi per rivi, mutta se ei ole.
Joten itse asiassa, anna minun mennﺣ۳ eteenpﺣ۳in ja koota tﺣ۳mﺣ۳ koska se on hieman vﺣ۳hemmﺣ۳n
tyhjentﺣ۳ﺣ۳ perusteella, ettﺣ۳ kuvaus.
Anna minun mennﺣ۳ meidﺣ۳n lﺣ۳hde hakemistoon.
Tee buginen yksi piste slash, buginen yksi.
OK, nﺣ۳en 11 tﺣ۳hteﺣ۳, joka on edelleen ongelmallinen,
mutta he ovat myﺣﭘs kaikki yhdellﺣ۳ rivillﺣ۳.
Mikﺣ۳ kysymys?
Joo.
Yleisﺣﭘ: [ﺣ۳ﺣ۳netﺣﭘn].
SPEAKER 1: Joo.
Joten tﺣ۳mﺣ۳ on hienovaraisuus ettﺣ۳ saatat muistuttaa minua tekemﺣ۳ﺣ۳n lyhyt maininta.
Vaikka kaikki nﺣ۳yttﺣ۳ﺣ۳ aika, ja se on kauniisti sisennetty,
ja se tavallaan nﺣ۳yttﺣ۳ﺣ۳ Scratch kaltaisten Tﺣ۳lle riville 16 ja 17 ovat,
todellakin, sisennetty nojalla, ettﺣ۳ silmukka.
Se on merkityksetﺣﭘntﺣ۳.
Tietokone ei tietﺣ۳ﺣ۳ tai nﺣ۳hdﺣ۳ valkoinen tila.
Valkoinen tila on vain meille ihmisille, tyylillisesti.
Tietokone ei tiedﺣ۳ milloin olet aaltosulkeita, joka olisi todellakin,
Korjaa ongelma.
>> Joten, jos me todella meni ja nimenomaisesti laittaa nﺣ۳issﺣ۳ aaltosulkeita
ettﺣ۳ olisi korjata tﺣ۳mﺣ۳n ongelman tehden selvﺣ۳ksi kﺣ۳ﺣ۳ntﺣ۳jﺣ۳
ettﺣ۳ olen todella haluavat suorittaa kaksi riviﺣ۳ koodia uudelleen,
ja uudestaan, ja uudestaan.
Mutta mitﺣ۳ perusoikeuksien selitys?
Oikea?
Emme ehdottomasti tarvitse kihara henkselit koko ajan,
vaikka se on luultavasti parasta kﺣ۳ytﺣ۳ntﺣﭘ pﺣ۳ﺣ۳stﺣ۳ ettﺣ۳ tapa tapauksessa
vaikka se lisﺣ۳ﺣ۳ kaksi merkkiﺣ۳ koodi. miksi?
>> Yleisﺣﭘ: [ﺣ۳ﺣ۳netﺣﭘn]?
SPEAKER 1: Joo niin se toinen ratkaisu kokonaan.
Oikea?
Varsinkin jos ensi silmﺣ۳yksellﺣ۳ et Arvostan mitﺣ۳ tapahtuu.
No, varmasti voisimme vain tehdﺣ۳ kaksi asiaa kerralla
ja vain vﺣ۳lttﺣ۳ﺣ۳ ongelman kokonaan.
Ja se on hienoa, mutta nyt, nykypﺣ۳ivﺣ۳n tarkoituksia, mitﺣ۳
on selitys virheen?
Miksi kaikki tﺣ۳hdet yhdellﺣ۳ rivillﺣ۳?
Joo?
>> Yleisﺣﭘ: Nﺣ۳yttﺣ۳ﺣ۳ siltﺣ۳, ﻗﻗettﺣ۳ jos sinulla on yksi rivi koodia,
voit tehdﺣ۳ sen ilman nﺣ۳itﺣ۳.
SPEAKER 1: Aivan.
Tﺣ۳mﺣ۳ on vain ihmisen sopimusta.
Ihmiset ymmﺣ۳rtﺣ۳vﺣ۳t, ettﺣ۳ se on vﺣ۳hﺣ۳n ﺣ۳rsyttﺣ۳vﺣ۳ﺣ۳ tai tylsiﺣ۳
tﺣ۳ytyy laittaa aaltosulkeita kaikki ajasta, jos kaikki haluat tehdﺣ۳
on suorittaa yhtﺣ۳ riviﺣ۳ koodia.
Joten, ihmiset pﺣ۳ﺣ۳tti jotkut aika sitten, ettﺣ۳ se kﺣ۳y hyvin.
Jos haluat laittaa kaikki silmukan juuri, ettﺣ۳ yksi rivi nﺣ۳in,
se on hieno kanssa yhden puolipiste lopussa.
Mutta voit vain tehdﺣ۳ yksi tﺣ۳llainen linja ilman aaltosulkeiden.
>> Joten, kun CS50 ohjeet kuten kohta sinua,
nﺣ۳et, ettﺣ۳ yleisesti se on hyvﺣ۳ tapa
pﺣ۳ﺣ۳stﺣ۳ tﺣ۳hﺣ۳n kunnes olet varsin mukava harhaan
alkaen tﺣ۳llaisia ﻗﻗsopimuksia ja tekee omia juttuja.
Niin kauan kuin olet itse johdonmukainen.
Ja me puhua enemmﺣ۳n tyyli hieman myﺣﭘhemmin tﺣ۳nﺣ۳ﺣ۳n.
>> Joten, anna minun avata yksi muu ohjelma.
Tietenkin meidﺣ۳n pitﺣ۳isi vahvistaa, ettﺣ۳ 10 samoin.
Anna minun mennﺣ۳ eteenpﺣ۳in ja kirjoittaa todellinen nopea ohjelma, soitan,
sanokaamme, silmukka piste C. Joten, silmukka piste C. Ja silmukka piste C aion olla,
ovat vakio-I / O- piste H int main mitﺣ۳tﺣﭘn.
Ja nyt Haluan vain tehdﺣ۳, todellakin, silmukka.
Joten, 4 int i saa nolla.
I on vﺣ۳hemmﺣ۳n kuin vaikkapa 50.
Minﺣ۳ plus, plus.
Ja sitten tﺣ۳ﺣ۳llﺣ۳ katsotaanpa mennﺣ۳ eteenpﺣ۳in ja tehdﺣ۳ tulosta F.
Ja sitten haluan tulostaa I ja uusi linja, puolipiste.
>> Ja tﺣ۳mﺣ۳n pitﺣ۳isi tulostaa kaikki numerot nollasta jopa 50?
Muutama pﺣ۳ﺣ۳ nyﺣﭘkkﺣ۳ﺣ۳.
Muutama nos.
Mikﺣ۳ vika jo?
Mikﺣ۳ helppo virhe tein?
Joo.
>> Yleisﺣﭘ: [ﺣ۳ﺣ۳netﺣﭘn].
SPEAKER 1: Joo.
Joten vaikka se nﺣ۳yttﺣ۳ﺣ۳ kuten tﺣ۳mﺣ۳ on mitﺣ۳ aion,
muistuttaa, ettﺣ۳ minﺣ۳ on myﺣﭘs vain ASCII.
>> Joten, jos sanon, print "I"
Se kirjaimellisesti menossa tulostaa I. Joten, jos en
haluavat plug-in paikkamerkki arvo Olen itse tﺣ۳ytyy tehdﺣ۳ tﺣ۳mﺣ۳
ja sitten plug-in arvo, dynaamisesti.
Muuten olen juuri menossa saat 50 I: n ruudulla.
>> Joten, anna minun mennﺣ۳ eteenpﺣ۳in ja tehdﺣ۳ tﺣ۳mﺣ۳n silmukan, ajaa se,
ja todellakin, olemme kaikki Muuten lﺣ۳pi 49.
Ja jos minﺣ۳ vierittﺣ۳ﺣ۳ ajassa taaksepﺣ۳in nﺣ۳en numero nolla alussa.
>> No, mitﺣ۳ jos olen sellainen tyriﺣ۳?
Mitﺣ۳ jos teen nﺣ۳in?
Vain koska en ole ajatellut.
Mikﺣ۳ tﺣ۳mﺣ۳ ohjelma.
Kun uudelleen koottu ja ajaa, aikoo tehdﺣ۳ loogisesti?
>> Yleisﺣﭘ: Ei mitﺣ۳ﺣ۳n.
>> SPEAKER 1: Ei mitﺣ۳ﺣ۳n.
Miksi nﺣ۳in?
>> Yleisﺣﭘ: I suunniteltu nolla.
Niin, ehto on epﺣ۳tosi.
SPEAKER 1: Joo, tﺣ۳smﺣ۳lleen.
Kaikki koodi on oikea, syntaktisesti.
Tﺣ۳mﺣ۳ laatii, tﺣ۳mﺣ۳ koodi toimii, mutta se ei ole
aikoo tehdﺣ۳ mitﺣ۳ﺣ۳n hyﺣﭘdyllistﺣ۳ koska olen alustaa olen nolla.
Me sitten tarkistaa, on minﺣ۳ suurempi kuin 50?
On selvﺣ۳ﺣ۳, ei, se ei ole.
Niin silmukka ei koskaan suorittaa lainkaan.
>> Mitﺣ۳ jos teemme jotain hieman holtiton?
Joten, mitﺣ۳ jos teemme kuten int i saa nolla.
Ja nyt haluan kﺣ۳yttﺣ۳ﺣ۳ taas silmukka, joka oli toinen ehto.
Ja kun minﺣ۳ sanon, kun I on suurempi kuin tai olemattomat, ja sitten tﺣ۳ﺣ۳llﺣ۳ I
mennﺣ۳ eteenpﺣ۳in ja tallenna tiedosto, tee silmukka.
Ja olen aikeissa kﺣ۳yttﺣ۳ﺣ۳ sitﺣ۳.
Mitﺣ۳ minﺣ۳ nﺣ۳hdﺣ۳ tﺣ۳mﺣ۳n aikaa, kun silmukka?
Joo.
>> Yleisﺣﭘ: loputon silmukka?
>> SPEAKER 1: loputon silmukka?
Kyllﺣ۳, ja miksi?
Yleisﺣﭘ: Koska se on aina nolla.
SPEAKER 1: Joo.
Niin, i alustetaan nollaksi.
Tietysti on aina suurempi kuin tai yhtﺣ۳ suuri kuin 0 seurauksena.
Joten, olen juuri menossa katso tﺣ۳mﺣ۳n ﺣ۳ﺣ۳rettﺣﭘmﺣ۳n.
Ja nyt, tﺣ۳mﺣ۳ on keksiﺣ۳ kerran tai kahdesti kurssin pﺣ۳ﺣ۳tﺣ۳.
Mitﺣ۳ tapahtuu, kun on loputon silmukka?
>> Yleisﺣﭘ: Ohjaus C.
SPEAKER 1: Joo.
Joten Ohjaus C lopulta vastata.
Valitettavasti olemme tulostaa miljoonia ja miljoonia nollia jo
ja niin tietokone on erﺣ۳ﺣ۳nlainen sai ennen minua.
Niin, se tulee jﺣ۳ttﺣ۳ﺣ۳ minua vﺣ۳hﺣ۳n.
Mutta jos vain lyﺣﭘdﺣ۳ Ohjaus C muutaman kertaa Mac- tai PC-nﺣ۳ppﺣ۳imistﺣﭘn,
lopulta se olisi todellakin lopettaa.
Ja jos ei, nﺣ۳ytﺣ۳mme joitakin tekniikoita ennen pitkﺣ۳ﺣ۳ missﺣ۳
voi todella vﺣ۳kisin tappaa ohjelmia, aivan kuten Windows ja Mac OS,
jos tarvetta on.
Mutta katsotaanpa kokeilla jotain muuta.
Katsotaanpa todella kasvattaa I Is tﺣ۳mﺣ۳ silti olemaan ﺣ۳ﺣ۳retﺣﭘn?
Minﺣ۳ juoksen tﺣ۳mﺣ۳n.
Ja nyt voit erﺣ۳ﺣ۳nlainen katso mitﺣ۳ tapahtuu.
Tﺣ۳mﺣ۳kin on pﺣ۳ﺣ۳ttymﺣ۳ttﺣﭘmﺣ۳ﺣ۳n silmukkaan.
Mutta tﺣ۳mﺣ۳ on hieman temppu kysymys.
Tﺣ۳mﺣ۳ tulee tulostaa numerot ikuisesti?
>> Yleisﺣﭘ: Ei.
SPEAKER 1: Ei.
Miksi?
Kuulin nos tﺣ۳nne.
Someone-- Joo.
Yleisﺣﭘ: Sinulla ei ole tarpeeksi bitit todella jatkaa.
SPEAKER 1: Selvﺣ۳.
Joten minulla ei ole tarpeeksi bitit pitﺣ۳ﺣ۳ kﺣ۳ynnissﺣ۳.
Joten, mitﺣ۳ tulee tapahtumaan?
Se on vain aio lopettaa?
>> Yleisﺣﭘ: Jossain vaiheessa se sammuu the--
SPEAKER 1: se sammuu silmukka alas, mutta miksi?
Mitﺣ۳ tulee tapahtua aivan lopussa sen rajat?
Joo?
Yleisﺣﭘ: Se sykli takaisin negatiivisia lukuja.
SPEAKER 1: negatiiviset luvut, tai jos me vain hoitoon positiivinen,
nolla ainakin.
Joten kyllﺣ۳, ehdottomasti.
Muista, ettﺣ۳ nﺣ۳imme viime kerralla, ettﺣ۳ jos lisﺣ۳ys bitit yksi liian monta kertaa,
ja siellﺣ۳ Fore ylivuoto kapasiteetti teidﺣ۳n int
tai mitﺣ۳ tahansa tietotyyppi on, olet menossa kietoa, luultavasti,
kaksi negatiivisia lukuja.
Tai jos olet mﺣ۳ﺣ۳rittﺣ۳ﺣ۳, ettﺣ۳ alue pitﺣ۳isi vain olla positiivinen,
jossa voit tehdﺣ۳, mutta olemme ole nﺣ۳hnyt sitﺣ۳ vielﺣ۳,
saatat pﺣ۳ﺣ۳tyﺣ۳ ainakin takaisin nollaan.
Vaikka itse asiassa kyllﺣ۳.
Tﺣ۳ssﺣ۳ tapauksessa negatiivinen numeroita, jolloin
silmukka tulee lopettaa koska en ole itse asiassa,
suurempi tai yhtﺣ۳ suuri kuin nolla, jos se on negatiivinen.
>> Joten valitettavasti, miten pitkﺣ۳ olisi meidﺣ۳n on odotettava?
Juuri nyt olemme jopa mitﺣ۳, 2000000-ish?
Olemme kuin 2000000000, aiomme joutua odottamaan
kunnes voimme todella nﺣ۳hdﺣ۳ tﺣ۳mﺣ۳n oire.
Mutta voimme nﺣ۳hdﺣ۳ sen hieman nopeammin, maybe-- Katsotaan jos voimme keskeyttﺣ۳ﺣ۳.
Tule.
Jopa valikot nﺣ۳kyvﺣ۳t hitaasti.
Selvﺣ۳.
Joten, me palaamme ettﺣ۳ ennen pitkﺣ۳ﺣ۳.
Se on hyvﺣ۳ time-- jumalauta, pennut.
>> Se on hyvﺣ۳ aika tehdﺣ۳ ilmoituksia.
Joten, jos haluat ehkﺣ۳ harjoittaa YHack,
joka on tapahtuman ollessa sponsoroida ystﺣ۳vﺣ۳mme Yalen.
Ja, todellakin, jotkut kurssin TF Yalen ovat mukana tﺣ۳mﺣ۳n.
YHack on kansainvﺣ۳linen hack--thon isﺣ۳nnﺣﭘi ja pidetﺣ۳ﺣ۳n
Yalen, joka kokoaa yhteen 1500 samanhenkisten hakkerit ja mainokset kaikki
maailman yli.
Jos tﺣ۳mﺣ۳ kiinnostaa, katsomaan tﺣ۳ﺣ۳llﺣ۳.
Jos tﺣ۳mﺣ۳ on liian lyhyesti nﺣ۳yttﺣﭘ, vilkaise nykypﺣ۳ivﺣ۳n dioja
ettﺣ۳ URL yhack.org.
Niin, myﺣﭘs muutaman nopean ilmoitukset.
Joten, virallisesti kohdat alkaa ensi viikolla tﺣ۳ﺣ۳llﺣ۳ ja New Haven.
Muista voit saada sﺣ۳hkﺣﭘpostiviestin myﺣﭘhemmin tﺣ۳nﺣ۳ viikonloppuna todennﺣ۳kﺣﭘisesti.
Se kestﺣ۳ﺣ۳ kauan varten CS50 ﺡ۶,
annettava kaikki ihmiset luokan ja kaikki liikkuvat.
Ja kaikki Opetus Fellows " aikataulut ovat myﺣﭘs edelleen vakiinnuttamista,
mutta pysy kuulolla sﺣ۳hkﺣﭘpostia ja jos tarve olla, voit uudelleen osassa on jﺣ۳lkeen.
>> Study.cs50.net.
Joten, vaikka olet jatkuvasti osallistuja klo kohdat, ymmﺣ۳rtﺣ۳ﺣ۳, ettﺣ۳ lﺣ۳hes kaikki
resursseja kﺣ۳ytﺣ۳mme kohdissa ovat julkisesti nﺣ۳htﺣ۳villﺣ۳ CS50
Opiskella tﺣ۳tﺣ۳ URL-osoite tﺣ۳hﺣ۳n.
Joten, jos ikinﺣ۳ haluat uudelleen tarkastelu materiaalia osassa, tai lukea eteenpﺣ۳in,
tai et voi tehdﺣ۳ sitﺣ۳ noin viikon, ymmﺣ۳rtﺣ۳ﺣ۳, ettﺣ۳ nﺣ۳yte dioja,
ja ongelmat, ja mﺣ۳ﺣ۳ritelmﺣ۳t, ja lisﺣ۳ﺣ۳ on kaikki siellﺣ۳.
>> Virka jatkaa tﺣ۳nﺣ۳ﺣ۳n, ja huomenna, ja keskiviikkona
ja torstaina tarkista kurssin verkkosivuilla aikataulu.
>> Ja myﺣﭘs, nyt kﺣ۳ynnistﺣ۳mﺣ۳ssﺣ۳ tﺣ۳nﺣ۳ﺣ۳n on CS50 keskustella.
Joten, jos ja kun sinulla on kysymyksiﺣ۳ toisiaan tai kurssin henkilﺣﭘkunta,
ja yleensﺣ۳ tyﺣﭘskentelevﺣ۳t joitakin ongelma asetettu,
ymmﺣ۳rtﺣ۳ﺣ۳, ettﺣ۳ et vﺣ۳lttﺣ۳mﺣ۳ttﺣ۳ tﺣ۳ytyy kﺣ۳ﺣ۳ntyﺣ۳ ihmisen Seuraava Voit.
Jos ei ole ketﺣ۳ﺣ۳n siellﺣ۳, voit tavoittaa meidﺣ۳t ja luokkatoverit
verkosta CS50 keskustella.
Joten, tﺣ۳mﺣ۳ on keskustelu aluksella kurssin,
ja ymmﺣ۳rtﺣ۳ﺣ۳, ettﺣ۳ tﺣ۳mﺣ۳ on ehkﺣ۳ paras
paikka aloittaa, kun olet kysymyksiﺣ۳, kun tyﺣﭘajan ulkopuolella
erityisesti.
>> Lounaat kﺣ۳ynnistyy tﺣ۳llﺣ۳ viikolla myﺣﭘs.
At Tulen ja jﺣ۳ﺣ۳n [Kuulumaton] New Haven.
Tutustu kurssin verkkosivusto jotta RSVP.
Saapumisjﺣ۳rjestyksessﺣ۳ palvella siitﺣ۳.
Jos et saa tﺣ۳llﺣ۳ viikolla teemme nﺣ۳mﺣ۳ eniten perjantaisin
voimassaoloaikana.
>> OK, ja nyt sanaakaan luokittelu.
Varsinkin kun astumme ongelma asettaa yhden, joka on tﺣ۳llﺣ۳ viikolla,
ja ongelma asettaa kaksi ja sen jﺣ۳lkeen.
Miten osaamme arvioida P sarjaa ja arvioidaan niiden laadun?
Niin, se on neljﺣ۳ akselia kﺣ۳ytﺣ۳mme CS50, ja he ovat nﺣ۳mﺣ۳ neljﺣ۳ tﺣ۳ﺣ۳llﺣ۳.
>> Laajuus, joka kaappaa on numeerinen perusteella, kuinka paljon P joukko
sinﺣ۳ puuttua.
Se vastaa karkeasti tyﺣﭘtﺣ۳, ja se on meidﺣ۳n tapa pyydystﺣ۳ﺣ۳
yritit puoli P asettaa kaikki P asetettu.
Tﺣ۳mﺣ۳ on helppo saada tﺣ۳ydellinen pistemﺣ۳ﺣ۳rﺣ۳n jos et, todellakin,
kokeilla kaikessa P asetettu.
Joten pitﺣ۳ﺣ۳ se mielessﺣ۳.
>> Oikeellisuus on juuri sitﺣ۳.
Onko koodi tyﺣﭘtﺣ۳ mﺣ۳ﺣ۳rittely ja kuten esikunnat "nﺣ۳yteliuoksen
viittaavat siihen, ettﺣ۳ koodi olisi itse asiassa toimi.
Tarkista 50, jos et ole tavannut sitﺣ۳ vielﺣ۳, on P asettaa yhden erittely
ja on yleensﺣ۳ antaa sinulle kyllﺣ۳ ﻗﻗ/ ei vastauksia
siitﺣ۳, onko koodi on oikea.
Ainakin siltﺣ۳ osin kuin olemme menossa arvioida sitﺣ۳ perustuvat testit
ettﺣ۳ otamme kyseisessﺣ۳ ohjelmassa.
>> Design on paljon subjektiivinen.
Nﺣ۳in hyvin kirjoitettu on koodi.
Ja tﺣ۳mﺣ۳ on jotain, saat paremmin ajan myﺣﭘtﺣ۳,
ja se on jotain, ettﺣ۳ me will antaa lisﺣ۳ﺣ۳ laadullista palautetta.
Ja suunnittelun voisin tarkoittaa ennen pitkﺣ۳ﺣ۳ sinua
olla kiusaus joissakin P asettaa tehdﺣ۳ jotain loopingly,
mutta on ehkﺣ۳ kolme tai neljﺣ۳, tai viisi sisﺣ۳kkﺣ۳isiﺣ۳ ollen silmukoita tai sisﺣ۳kkﺣ۳isiﺣ۳ samalla
silmukoita.
Ettﺣ۳ yleensﺣ۳ tulisi olla alkaa tehdﺣ۳ sinut punastumaan
ja olisi yleisesti harkita huono suunnittelu.
Ja voit alkaa nﺣ۳hdﺣ۳ luokassa ja ulos luokasta hyviﺣ۳ tapoja tehdﺣ۳ asioita,
huono tapoja tehdﺣ۳ asioita, ehkﺣ۳ kaikki olla oikea, mutta ei
vﺣ۳lttﺣ۳mﺣ۳ttﺣ۳ hyvin suunniteltu.
Kuten esseen.
Voit ehkﺣ۳ laittaa sanoja sivu, jotka ovat kieliopillisesti oikein,
mutta essee tai thesis he ovat vain
tﺣ۳ysin epﺣ۳johdonmukaisia ﻗﻗtai unpersuasive.
Ja niin ettﺣ۳ voisi olla analoginen kirjallinen maailma huono tai hyvﺣ۳ suunnittelu.
>> Ja tyyli, sekin on melko subjektiivinen.
Mutta ainakin odotamme johdonmukaisuus.
Nﺣ۳in aika on koodi.
Ovatko asiat hienosti sisennetty?
Ovatko muuttujat hyvin nimeltﺣ۳ / Ovatko kaikki teidﺣ۳n suluissa ja aaltosulkeita
linjassa kuin pitﺣ۳isi?
Meillﺣ۳ on CS50 tyyli oppaan Harjoitus tulee kohta sinua.
Ne mukavampaa ovat tervetuloa eksy ettﺣ۳
niin kauan kuin olet itse johdonmukaisia.
Ja tﺣ۳mﺣ۳kin on opetus me vahvistaa jaksossa.
Joten, jos kaikki tﺣ۳mﺣ۳ oli hieman nopea, ymmﺣ۳rtﺣ۳ﺣ۳ P asettaa ja osat
menee enemmﺣ۳n syvyyttﺣ۳ ennen pitkﺣ۳ﺣ۳.
>> Mutta yleensﺣ۳ olemme hyvin harvat kauhat CS50.
Tulokset ovat yleensﺣ۳ asteikolla yhdestﺣ۳ kolmeen, tai yksi viiteen.
Olemme literally-- enkﺣ۳ voi sanoa tﺣ۳mﺣ۳ tarpeeksi ensimmﺣ۳isellﺣ۳ viikolla.
Kolme on hyvﺣ۳.
Joten, vaikka kyllﺣ۳, kolme Viiden normaalisti, matemaattisesti,
saattaa olla 60 prosenttia tai kuten D-miinus.
Kolme on, itse asiassa, hyvﺣ۳.
Ja itse asiassa, odotamme useimmat opiskelijat luokassa
alkajaisiksi aikavﺣ۳lillﺣ۳ noin kaksittain, ja kolmosta, ja nelosta.
Todennﺣ۳kﺣﭘisesti ei niin paljon viitosta.
Ei liian monet niistﺣ۳.
Mutta yleensﺣ۳ aloittaa ettﺣ۳ sweet spot kﺣ۳yrﺣ۳llﺣ۳
niin ettﺣ۳ ajan kuluessa, siellﺣ۳ on todella tilaa,
ja mahdollisuuksia ylempi etenemistﺣ۳.
Joten, ﺣ۳lﺣ۳ rinnastaa kolme 60%.
Se on paljon enemmﺣ۳n abstrakteja kuin.
Kaava, jolla laskemme laadut painotetaan seuraavasti.
Oikeellisuus kannattaa eniten.
Design on syytﺣ۳ hieman vﺣ۳hemmﺣ۳n.
Tyyli on syytﺣ۳ hieman vﺣ۳hemmﺣ۳n.
Ja tﺣ۳mﺣ۳ yleensﺣ۳ kaappaa aikaa
ettﺣ۳ menee saada jokaisen Nﺣ۳iden akselien juuri oikea.
Tyyli on erittﺣ۳in helppoa, pitﺣ۳isi olla erittﺣ۳in nopea,
mutta se on helppo tapa saada laiska noin.
Oikeellisuuden voi kestﺣ۳ﺣ۳ te suurimman osan ajasta.
Jahtaa alas joitakin bug voimin ottaa ettﺣ۳ ylimﺣ۳ﺣ۳rﺣ۳inen tunti tai enemmﺣ۳n,
ja niin, pisteytys lopulta kaappaa.
Ja niin, nyt vakavampi sana.
Koska CS50 on ero, parempaa
tai pahempaa, olemisen ehkﺣ۳ paremmin tutustui
liittyviﺣ۳ kysymyksiﺣ۳ akateemisen rehellisyys kuin useimmat muut kurssin.
Ja todellakin, se on tietﺣ۳ﺣ۳kseni ettﺣ۳ lﺣ۳hetﺣ۳mme enemmﺣ۳n opiskelijoita, valitettavasti,
kurinpitosyistﺣ۳ vuosittain seurauksena. Niin,
edun mukaista koko paljastaminen, Puhutaanpa lyhyesti
siitﺣ۳ mitﺣ۳ tapahtuu CS50, ja mitﺣ۳ voi tehdﺣ۳, ja mitﺣ۳ voit olla tietoinen.
>> Niin, tﺣ۳ssﺣ۳ vuodesta 2007, jolloin Olen perinyt kurssi,
on mﺣ۳ﺣ۳rﺣ۳ Ad hallituksen tapauksia.
Ad Hallituksen on Harvardin kurinpidollisten elin, tai nyt Honor Counsel,
johon tapaukset saatetaan kun opiskelijat tehdﺣ۳ jotain, ettﺣ۳ kurssin
oppimﺣ۳ﺣ۳rﺣ۳ katsoo kohtuuton.
Ei ole tosiasiallista tﺣ۳ﺣ۳llﺣ۳, sanoisin.
Se vaihtelee yli vuotta, mutta yleensﺣ۳
Tﺣ۳mﺣ۳n on mﺣ۳ﺣ۳rﺣ۳ tapauksissa, joihin viitataan.
Opiskelijoiden mﺣ۳ﺣ۳rﺣ۳ jotka ovat mukana?
Sekin vaihtelee.
Tyypillisesti, viime vuonna Esimerkiksi 29 opiskelijaa Harvardin
olivat Ad astuivat, niin sanoakseni.
29 heistﺣ۳ nykyiset opiskelijat, kaksi niistﺣ۳ ennen opiskelijoita,
jotka olivat yhteistyﺣﭘssﺣ۳ jollakin harmillista tavalla.
Ja sitten suhteen prosenttiosuus, se on yleensﺣ۳ noin 3%
luokan ettﺣ۳ valitettavasti tekee tﺣ۳llaisia ﻗﻗpﺣ۳ﺣ۳tﺣﭘksiﺣ۳.
>> Joten, viime vuonna se oli 3,5% ja CS50 n ylioppilaskunnassa
ettﺣ۳ oli Ad pysﺣ۳ytettyﺣ۳, niin sanoakseni.
>> Joten, mitﺣ۳ tﺣ۳mﺣ۳ kaikki tarkoittaa?
Ja mitﺣ۳ me itse tehdﺣ۳?
>> Niin, tﺣ۳yden julkistamista, me aivan, kuten tietotekniikan tutkijoita,
on ohjelmistotyﺣﭘkaluja kﺣ۳ytﺣﭘssﺣ۳mme ja se on erittﺣ۳in helppo meille, oikeudenmukaisuus,
ettﺣ۳ muut luokkatoverit, jotka eivﺣ۳t ole ylittﺣ۳essﺣ۳ﺣ۳n nﺣ۳mﺣ۳ rivit ylittﺣ۳mﺣ۳ﺣ۳n vertailla
joka toimittamisesta tﺣ۳nﺣ۳ vuonna vastaan ﻗﻗjoka esittﺣ۳misen viimeiset kahdeksan vuotta.
Ohjelmisto tekee tﺣ۳mﺣ۳n.
Ja lopulta se on ihmisten silmissﺣ۳, jotka pﺣ۳ﺣ۳ttﺣ۳vﺣ۳t
vai ei viitata joitakin merkitystﺣ۳ asian ratkaisemiseksi,
mutta ohjelmisto varmasti auttaa.
Ja tﺣ۳mﺣ۳, suoraan sanottuna, on siksi mielestﺣ۳ni meillﺣ۳ on niin paljon in CS50.
Se ei johdu CS50 opiskelijat tai CS opiskelijoille enemmﺣ۳n
ovat yleensﺣ۳ yhtﺣ۳ﺣ۳n vﺣ۳hemmﺣ۳n rehellisiﺣ۳ kuin mikﺣ۳ﺣ۳n muu opiskelijoita,
se on vain meillﺣ۳ Tyﺣﭘkalut ja tekniikat
jonka kanssa tﺣ۳mﺣ۳ ensimmﺣ۳inen omille.
>> Mutta me pitﺣ۳ﺣ۳ silmﺣ۳llﺣ۳ kaikki nﺣ۳mﺣ۳ asiat
samoin, jﺣ۳lleen, etujen mukaista tunnustaa tyﺣﭘ, joka on liikkeelle
osallistumistaan ﻗﻗSuper enemmistﺣﭘn luokan.
Ja kurssin politiikka akateemisen rehellisyys,
vaikka se on joukko kohtien pitkﺣ۳ joukko luoteja
jotka ovat toivottavasti melko luettavissa, se todellakin pohjimmiltaan olla kohtuullinen.
Ja paras nyrkkisﺣ۳ﺣ۳ntﺣﭘ ettﺣ۳ tarjoamme sisﺣ۳llﺣ۳ oppimﺣ۳ﺣ۳rﺣ۳n
on tﺣ۳mﺣ۳, olemus kaikki tyﺣﭘ, ettﺣ۳ te
toimitettava tﺣ۳mﺣ۳ kurssi on oma.
Ja todellakin, lﺣ۳hes kaikki nﺣ۳mﺣ۳ tarkoitetuissa tapauksissa kurinpitotoimista
se oli, koska joidenkin opiskelija myﺣﭘhﺣ۳ﺣ۳n yﺣﭘ tyypillisesti kﺣ۳ﺣ۳nsi hﺣ۳nen koodi
yli suoranainen ja luokkatoveri, joka sitten hyvﺣ۳ksyi sen
kokonaisuudessaan tai merkittﺣ۳vﺣ۳sti viipymﺣ۳ttﺣ۳.
>> Mutta oikeasti, tﺣ۳mﺣ۳ on OK.
Ja todellakin, toimistossa tuntia, varttamisoksat paperia
olet jﺣ۳tetty jos tuli toimisto tuntia viime viikolla kannustaa niin paljon.
Olet aivan tyytyvﺣ۳inen ja kannusti
keskustella ongelma sarjaa luokkatovereiden kanssa.
Auttaa toisiaan kompastelu.
Mutta yleensﺣ۳ nyrkkisﺣ۳ﺣ۳ntﺣﭘ olisi olla tﺣ۳mﺣ۳, "kun pyytﺣ۳vﺣ۳t apua,
voit nﺣ۳yttﺣ۳ﺣ۳ koodin muille, mutta et voi tarkastella heidﺣ۳n. "
Joten, toisin sanoen, jos olen kamppailee joidenkin P sarja
ja Istun siellﺣ۳ ruokasalissa, tai kirjastossa,
tai luokkahuoneessa yrittﺣ۳ﺣ۳ lﺣﭘytﺣ۳ﺣ۳ vikaa,
Voin varmasti nﺣ۳yttﺣ۳ﺣ۳ minun koodi tietokoneen nﺣ۳ytﺣﭘllﺣ۳
henkilﺣﭘlle istuu vieressﺣ۳ minulle, varmasti henkilﺣﭘstﺣﭘ,
mutta myﺣﭘs luokkatoveri.
Mutta jos liuos, joka Minun luokkatoveri tarjoaa on, oi,
tﺣ۳ﺣ۳llﺣ۳ vain katsomaan mitﺣ۳ Tein, ettﺣ۳ ylittﺣ۳ﺣ۳ linjan.
>> Ja uskaltaisin sanoa, ettﺣ۳ on yleensﺣ۳ kohtuullinen asia useimmille
hyvin helposti paikalla linja.
Ja niin, katso oppimﺣ۳ﺣ۳rﺣ۳ tarkemmin.
Ja nyt yksi enemmﺣ۳n kiistanalaisia ﻗﻗnﺣ۳kﺣﭘkohtia
ja CS50 oppimﺣ۳ﺣ۳rﺣ۳n ettﺣ۳ Kuvittelin puhuisi lopuksi tﺣ۳ﺣ۳llﺣ۳
on ns pahoillani lauseke.
Joten, tﺣ۳ssﺣ۳ on kaikki pienellﺣ۳ painettu.
Mutta yleensﺣ۳ olemme nﺣ۳hneet viime 8 plus vuotta
ettﺣ۳ todellakin, lﺣ۳hes kaikki CS50: n tapauksissa akateemisen epﺣ۳rehellisyydestﺣ۳
ovat olleet seurausta vain huono pﺣ۳ﺣ۳tﺣﭘksenteko myﺣﭘhﺣ۳ﺣ۳n yﺣﭘllﺣ۳.
Stressin tuloksena, tulos puutteesta syﺣﭘminen, unen puute,
liian monta P sarjaa, liikaa mﺣ۳ﺣ۳rﺣ۳ajat, liikaa sitoumuksia.
Stressi muodostuuko 02:00, 03:00 AM, 04:00, jonka mﺣ۳ﺣ۳rﺣ۳aika hﺣ۳ﺣ۳mﺣﭘttﺣ۳ﺣ۳.
Useimmat opiskelijat nﺣ۳issﺣ۳ tapauksissa juuri tehnyt huonoja pﺣ۳ﺣ۳tﺣﭘksiﺣ۳
ettﺣ۳ ne saattaa hyvinkin pahoillani Seuraavana aamuna jos ei minuuttia myﺣﭘhemmin,
mutta vasta viime vuonna ei ollut varoventtiili, ettﺣ۳ nﺣ۳mﺣ۳ opiskelijat voisivat
todella avata todella puuttua ongelma pﺣ۳ﺣ۳ pelkﺣ۳ﺣ۳mﺣ۳ttﺣ۳
kﺣ۳ynnistﺣ۳ﺣ۳ college kokonaan.
>> Ja todellakin, otimme kﺣ۳yttﺣﭘﺣﭘn tﺣ۳mﺣ۳ pahoillani lauseke viime vuonna,
joka sanoo, ettﺣ۳ jos sisﺣ۳llﺣ۳ 72 tuntia, kolme pﺣ۳ivﺣ۳ﺣ۳,
rajan noin linjan mﺣ۳ﺣ۳rﺣ۳tty oppimﺣ۳ﺣ۳rﺣ۳n
tulet eteenpﺣ۳in yhden kurssin pﺣ۳ﺣ۳t ja me jutella siitﺣ۳.
On vielﺣ۳ joitakin tulos, toisin kuin on
on ilmoitettu toisin.
On vielﺣ۳ tulosta, joka on kannekelpoinen kurssin,
yleensﺣ۳ nollaaminen P sarja tai ottaa joitakin muita toimia,
mutta me todellakin kﺣ۳sitellﺣ۳ sitﺣ۳ itse eikﺣ۳
saattaa sen suurempi olivat tulos voisi olla paljon ankarampi.
Ja todellakin, jakaa mitﺣ۳ tapahtui viime vuonna kahdeksan vuotta, ja nyt
yhdeksﺣ۳n vuotta opetuksen tﺣ۳mﺣ۳n kurssin ja sen jﺣ۳lkeen puuhastelun kanssa eri nupit,
kﺣ۳ﺣ۳ntﺣ۳mﺣ۳llﺣ۳ eri valitsee viime useita vuosia akateemisen rehellisyys,
ja nﺣ۳hdﺣ۳ kohden tiedot ilman selvﺣ۳ﺣ۳ vaikutus, vaikka puheiden nﺣ۳in,
tﺣ۳mﺣ۳ oli kﺣ۳det alas paras asia olemme esitelleet pedagogisesti
kahdeksassa vuodessa pitkin nﺣ۳mﺣ۳ rivit CS50.
>> 19 opiskelijaa tuli eteen Tﺣ۳mﺣ۳n lausekkeen viime vuonna.
Otimme ei kanne seitsemﺣ۳n niille opiskelijoille,
mﺣ۳ﺣ۳ritetﺣ۳ﺣ۳n, ettﺣ۳ ne olivat tarpeettomasti huolissaan.
Heillﺣ۳ oli ei, itse asiassa, ylittﺣ۳neet rajan, mutta se
oli hyvﺣ۳ chat on kuitenkin.
Me nollattu 11 tulokset ettﺣ۳ esitettiin.
Ja yhdessﺣ۳ tapauksessa pyysimme opiskelija tehdﺣ۳ ongelman asettaa.
Mutta enemmﺣ۳n pakottavia, rehellisesti, nﺣ۳mﺣ۳ 19 chatit,
joka oli paljon enemmﺣ۳n kuin minﺣ۳ odotetaan, jokainen niistﺣ۳
10 minuuttia ehkﺣ۳ tunnin mittainen, toi myﺣﭘs
esiin useita kysymyksiﺣ۳, jotka liittyivﺣ۳t familiaalinen asioita, ystﺣ۳vﺣ۳ kysymyksiﺣ۳,
mielenterveysongelmista ettﺣ۳ me sitten mukana,
kanssa opiskelijan siunaus, asukas dekaani, tai ystﺣ۳viﺣ۳, tai jokin muu numero
tuen resursseja.
Niin ettﺣ۳ tﺣ۳mﺣ۳ oli ehdottomasti yksi parhaista kﺣ۳yttﺣﭘtarkoituksia aikamme
ja yksi parhaista toimia.
>> Tﺣ۳mﺣ۳n sanoi, se ei ollut tulo mﺣ۳ﺣ۳rﺣ۳ havaitseminen
akateemisen epﺣ۳rehellisyydestﺣ۳ yleisemmin.
Ja uskallan sanoa, tﺣ۳mﺣ۳ osajoukko opiskelijoiden viime vuonna
oli vﺣ۳estﺣﭘrakenteen ettﺣ۳ me aiemmin koskaan tunnistettu ennen
ja ei ollut koskaan liittyvﺣ۳t ennen.
Ja niin, nﺣ۳mﺣ۳ olivat ihana menestystarinoita
vaikka ne ilmenivﺣ۳t vﺣ۳hemmﺣ۳n kuin optimaalinen olosuhteissa.
Joten pitﺣ۳ﺣ۳ tﺣ۳mﺣ۳ mielessﺣ۳ kun teet, ehkﺣ۳,
jotkut kﺣﭘyhﺣ۳t pﺣ۳ﺣ۳tﺣﭘs itse myﺣﭘhﺣ۳ﺣ۳n yﺣﭘllﺣ۳,
ettﺣ۳ on kﺣ۳yttﺣ۳ﺣ۳ niin kauan kuten opiskelija tﺣ۳ssﺣ۳ tilanteessa
omistavat ylﺣﭘs ja esittﺣ۳mﺣ۳ﺣ۳n jotta voimme on sellainen chat ja kﺣ۳sitellﺣ۳ sitﺣ۳
siten, ettﺣ۳ koulutus, ja sitten voimme laittaa sen taaksemme seuraavana pﺣ۳ivﺣ۳nﺣ۳.
>> Joten pitemmittﺣ۳ puheitta, ota terﺣ۳n tﺣ۳mﺣ۳n keskustelun,
syy pennut jopa IS vain murtaa jﺣ۳ﺣ۳n hetkeksi.
Ja valitettavasti, he kaikki nukkua, mutta mitﺣ۳ piti tapahtua tﺣ۳ﺣ۳llﺣ۳
oli kaikki piti awe ja laji rentoutua
jﺣ۳lkeen, ettﺣ۳ erittﺣ۳in raskas keskustelu.
Mutta ilmeisesti Laitoin pennut nukkumaan.
Mutta jos menet CS50: n verkkosivusto slash pentuja,
voit katsella niitﺣ۳ koko pﺣ۳ivﺣ۳n.
Erityisesti ehkﺣ۳ 02:00, tai 03:00 tai 04:00 yﺣﭘllﺣ۳
nﺣ۳hdﺣ۳ hieman stressin helpotus siellﺣ۳.
Niin ettﺣ۳ on kauttaviiva pentuja.
Selvﺣ۳.
Eikﺣﭘ se ollut hauskaa?
OK.
Niin, takaisin joitakin tietokoneen tiede, jos sallitte.
>> Niin, muistaa, ettﺣ۳ viime kerralla aloimme katsot ei vain tﺣ۳rkein, joka
oli oletustoiminto, kun Vihreﺣ۳ lippu napsautetaan vastaava,
mutta me myﺣﭘs alkoi lyhyesti kirjallisesti joitakin omia toimintoja.
Ja tﺣ۳hﺣ۳n mennessﺣ۳ yksikﺣ۳ﺣ۳n nﺣ۳istﺣ۳ toiminnoista ovat olleet erityisen suuria tai lihaisa.
Saat noihin suurempi toiminnot luultavasti, P asettaa 2, P asettaa 3,
ehdottomasti P setti 4 ja eteenpﺣ۳in.
Juuri nyt useimmat ohjelmat, jos ei niitﺣ۳ kaikkia, varmasti P
setti 1 voidaan tehdﺣ۳ kokonaan tﺣ۳rkein.
Jos ohjelma on vain viisi riviﺣ۳, 10 riviﺣ۳,
jopa 20 riviﺣ۳ pitkﺣ۳, tﺣ۳ydellisesti kohtuullinen kirjoittaa sitﺣ۳
kaikki tﺣ۳rkeimmﺣ۳t ja ei liikaa hankaloittaa koodia, mutta mitﺣ۳ teemme tﺣ۳nﺣ۳ﺣ۳n
ja edelleen yrittﺣ۳ﺣ۳ myﺣﭘs kﺣ۳yttﺣﭘﺣﭘn joitakin hyviﺣ۳ suunnittelutekniikat
niin ettﺣ۳ koodi saa enemmﺣ۳n monimutkainen ja koska ongelmat
haluat ratkaista kovemmaksi ja mielenkiintoisempaa sinulla on, tavallaan,
tyﺣﭘkaluja oman tyﺣﭘkalupakin, jonka kanssa suunnitella hyviﺣ۳ ratkaisuja nﺣ۳ihin.
>> Niin, sallikaa vilkaista taaksepﺣ۳in tﺣ۳mﺣ۳ ohjelma minun viime viikolla, joka
oli toiminnot nolla piste C. Ja huomata, ettﺣ۳ yksinkertaisesti,
se nﺣ۳yttﺣ۳ﺣ۳ tﺣ۳ltﺣ۳ kahdella toiminnot, tﺣ۳rkein ja nimen.
Ja ajattelu takaisin tai ehkﺣ۳ reverse engineering tﺣ۳nﺣ۳ﺣ۳n,
mikﺣ۳ oli motivaatio kﺣ۳yttﺣﭘﺣﭘn toiminto linjassa 28 nimeltﺣ۳ﺣ۳n,
Tulosta nimi?
Tai mikﺣ۳ oli tﺣ۳mﺣ۳ esimerkki vuonna ehtojen periaate tai take away,
Jos haluat.
Jotkut sivuﺣ۳ﺣ۳niﺣ۳.
Mitﺣ۳?
>> Joo niin toiminnallisten hajoaminen on sellainen hieno tapa sanoa,
hajota ohjelma osiinsa
ja sitten kﺣ۳yttﺣ۳ﺣ۳ ne osat koota koko.
Niin, sekin on vain sellainen suupala jo,
mutta tﺣ۳mﺣ۳ on ehkﺣ۳ vielﺣ۳ parempaa esimerkkiﺣ۳ jotain
soitti juuri abstraktio.
Oikea?
Abstraktio tulee olemaan yksi ja toistuvia teemoja CS50
ja myﺣﭘs tietojenkﺣ۳sittelytiede yleisemmin koska se on
tekniikka, jolla voit ratkaista ongelmia tehokkaammin, koska olet
voi kirjoittaa ratkaisuja enemmﺣ۳n intuitiivisesti ja tavalla, joka skaalaa
ja on ymmﺣ۳rrettﺣ۳vﺣ۳ﺣ۳ muita ihmisiﺣ۳.
Mitﺣ۳ tarkoitan tﺣ۳llﺣ۳?
>> Niin, luultavasti se on paljon luettavissa katsomaan ohjelmaa kuten tﺣ۳mﺣ۳,
Super lyhyt vaikka se on.
Kun nﺣ۳et rivillﺣ۳ 22, ettﺣ۳ on olemassa toiminto nimeltﺣ۳ﺣ۳n, nimenselvennys.
Tuo nimi yksin kertoo, mitﺣ۳ se tekee.
Tﺣ۳mﺣ۳ toiminto ilmeisesti vie tulo vﺣ۳lillﺣ۳ sulkeissa,
ja ilmeisesti tekee jotain, oletettavasti tulostaa nimi.
Ja niin, vaikka me ehdottomasti voisi olla
tehnyt sen, mitﺣ۳ teimme viikko sitten, joka oli ota tﺣ۳mﺣ۳ todellinen rivi koodia,
pﺣ۳ﺣ۳stﺣ۳ eroon tﺣ۳stﺣ۳, ja saada eroon tﺣ۳stﺣ۳ kaikki yhdessﺣ۳,
me tavallaan otetun pois kﺣ۳site tulostus nimi.
En vﺣ۳litﺣ۳, jos kﺣ۳ytﺣ۳t tulostaa def.
En vﺣ۳litﺣ۳, jos sinulla on prosenttia S ja kenoviiva N. Nﺣ۳mﺣ۳
ovat uskomattoman vaikeaselkoisia yksityiskohtia.
Mitﺣ۳ en vﺣ۳litﺣ۳ kuin ohjelmoija tulostaa nimi.
Ja niin, mikﺣ۳s sen parempi tapa tehdﺣ۳ se kuin kutsumalla toiminnon tulostaa nimi?
Ja niin, ettﺣ۳ oli yksi motiivit tekemiseen jotain tﺣ۳llaista.
Making koodi luettavampi, enemmﺣ۳n uudelleenkﺣ۳ytettﺣ۳viﺣ۳, ja myﺣﭘs itse kuvaileva.
Nyt, katsomaan toista esimerkkiﺣ۳,
joka oli toimintoja yksi, joka meillﺣ۳ oli tﺣ۳ﺣ۳llﺣ۳.
>> Joten, tﺣ۳mﺣ۳ on ehkﺣ۳ vielﺣ۳ pakottavia koska tﺣ۳ssﺣ۳ tapauksessa,
En halua vain saada int.
Haluan saada positiivinen int.
Ja se osoittautuu saada positiivinen int sinun tﺣ۳ytyy tehdﺣ۳ nippu legwork.
Oikea?
Se ei ole yksinkertainen yhden rivin soittaa kuten tulostaa nimi oli,
joka on tosin vﺣ۳hemmﺣ۳n vakuuttava.
>> Saada positiivinen int, logically-- minulle selaa takaisin alas piilottaa tﺣ۳mﺣ۳n.
Mitﺣ۳ sinun pitﺣ۳ﺣ۳ tehdﺣ۳?
Kuten kaikki tyﺣﭘkaluista on tﺣ۳llﺣ۳ hetkellﺣ۳ ovat
asioita, kuten tulostaa def Standard Kirjasto ja myﺣﭘs CS50 kirjastosta
olemme Get Int, ja Get Float, Hanki Pitkﺣ۳, Get String,
mutta vain yksi, Germane, juuri nyt on saada Int.
Joten, jos vain tyﺣﭘkalun olet teidﺣ۳n tyﺣﭘkalulaatikko on Get Int,
Miten voimme edetﺣ۳ tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanosta se saada myﺣﭘnteisiﺣ۳ int?
>> Yleisﺣﭘ: Luo loki ja tarkista onko tulo ettﺣ۳ he antoivat
oli positiivinen tai ei.
>> SPEAKER 1: Perfect.
Aivan.
Toinen vﺣ۳line meillﺣ۳ on Toolbox alkaen viikon tai kaksi sitten
on vain silmukkarakenteen.
Ja niin, joo, jos kﺣ۳ytﺣ۳mme aikaa silmukka, tai tehdﺣ۳, kun silmukka, tai etualalle
silmukka voisimme ehkﺣ۳ saada pois kanssa mitﺣ۳ﺣ۳n nﺣ۳istﺣ۳ jossain muodossa.
Voimme toteuttaa kﺣ۳site get positiivinen int vain kﺣ۳yttﺣ۳mﺣ۳llﺣ۳ Get Int,
ja sitten vain pitﺣ۳ﺣ۳ kutsuen sitﺣ۳ uudelleen ja pitﺣ۳ﺣ۳ kiusanneet kﺣ۳yttﺣ۳jﺣ۳
kunnes hﺣ۳n itse antaa meille mitﺣ۳ haluamme.
>> Ja niin nyt, tﺣ۳mﺣ۳ abstraktio prosessin
saada positiivinen int osaksi toiminto nimeltﺣ۳ﺣ۳n
Get Positiivinen Int on hieman pakottavia koska katsokaa tﺣ۳tﺣ۳.
Nﺣ۳mﺣ۳ ovat kuin 10 plus riviﺣ۳ koodia ettﺣ۳
ovat mukana saada positiivinen int, enkﺣ۳ vﺣ۳litﺣ۳ miten teet sen.
Kaikki Vﺣ۳litﺣ۳n on, ettﺣ۳ te voi tehdﺣ۳ sen, ja niin olen
piilottanut kaikki nﺣ۳mﺣ۳ tiedot takana toiminto nimeltﺣ۳ﺣ۳n Get Positiivinen int ettﺣ۳,
todellakin, on tﺣ۳mﺣ۳ tehdﺣ۳, kun silmukka.
>> Ja katso viime viikolla syntaksi siellﺣ۳, mutta se vain ilmoittaa N,
ja se tulostaa ohje kﺣ۳yttﺣ۳jﺣ۳lle.
Se kehottaa Get Int ja sitten se tarkistaa tﺣ۳mﺣ۳ ehto uudestaan, ja uudestaan,
ja uudestaan, kunnes kﺣ۳yttﺣ۳jﺣ۳ tekee yhteistyﺣﭘtﺣ۳.
>> Joten nyt, muutama jﺣ۳rki tarkastuksia.
Niille ehkﺣ۳ tuttuja joitakin ohjelmointi,
miksi on N ilmoitettu, miksi luon N ulkopuolella tehdﺣ۳, kun silmukka?
Miksi se on verkossa 29 eikﺣ۳ on kuten 33 mm.
>> Yleisﺣﭘ: Koska kun julistaa, ettﺣ۳ se ulkopuolella, se sellainen
enemmﺣ۳n, suurempi scope--
>> SPEAKER 1: Hyvﺣ۳.
>> Yleisﺣﭘ: --and jos julistaa se silmukan sisﺣ۳llﺣ۳, [kuulumaton]
koska se ei tiedﺣ۳ siitﺣ۳.
SPEAKER 1: Aivan.
Jos voin simplify-- se kysymys soveltamisalaa.
Ja laajuus viittaa asiayhteydestﺣ۳, joka muuttuja on olemassa tai on kﺣ۳yttﺣﭘkelpoinen.
Ja mukava nyrkkisﺣ۳ﺣ۳ntﺣﭘ on, ettﺣ۳ yleensﺣ۳ kun julistaa tai luoda
muuttuja voit vain kﺣ۳yttﺣ۳ﺣ۳ sitﺣ۳ sisﺣ۳llﺣ۳ lﺣ۳himmﺣ۳n kﺣ۳sittﺣ۳ﺣ۳ aaltosulkeiden.
Mitﺣ۳ tﺣ۳mﺣ۳ tarkoittaa?
Jos minﺣ۳ sen sijaan, kumoa tﺣ۳tﺣ۳ ja mennﺣ۳ jotain, joka tuntuu hieman yksinkertaisempi.
Oikea?
>> Line 32 vain nﺣ۳yttﺣ۳ﺣ۳ puhtaampaa minulle nyt.
Teen molempia asioita kerran ja sitten mﺣ۳ﺣ۳rittﺣ۳mﺣ۳llﺣ۳
oikea kﺣ۳si vasempaan.
Ongelma perustuu nyt ettﺣ۳ mﺣ۳ﺣ۳ritelmﺣ۳ soveltamisala
on, ettﺣ۳ N voidaan kﺣ۳yttﺣ۳ﺣ۳ linjat 31 ja 32 sisﺣ۳llﺣ۳ tﺣ۳mﺣ۳n silmukan,
mutta jos tﺣ۳mﺣ۳n mﺣ۳ﺣ۳ritelmﺣ۳n voi sitﺣ۳ ei voi kﺣ۳yttﺣ۳ﺣ۳?
Linjassa mitﺣ۳?
Joo.
>> Yleisﺣﭘ: 35.
>> SPEAKER 1: 35.
Ehdottomasti ei 35.
Ja myﺣﭘs missﺣ۳ muualla?
Yleisﺣﭘ: 34.
SPEAKER 1: Jopa 34 on ongelmallinen, koska se on
ulkopuolella aaltosulkeiden.
Ja niin itse asiassa, katsotaan mitﺣ۳ tapahtuu.
Oikea?
Tﺣ۳mﺣ۳ saattaa tuntua hieman intuitiivinen tai ehkﺣ۳ ei,
mutta katsotaanpa mitﺣ۳ kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ on sanoa, milloin
menemme tﺣ۳nﺣ۳ﺣ۳n lﺣ۳hde hakemistoon.
Tee funktio yksi.
Herranjumala.
No, olen vihdoin valmis ettﺣ۳ muuten.
Selvﺣ۳.
Ja mikﺣ۳ on kysymys?
Erittﺣ۳in mystistﺣ۳ katsomaan.
Mutta tﺣ۳ssﺣ۳ mitﺣ۳ minﺣ۳ typed-- tehdﺣ۳ toiminto yksi.
Tﺣ۳ssﺣ۳ mitﺣ۳ tehdﺣ۳ aiheuttama, joka on itse asiassa
kﺣ۳yttﺣ۳en kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ kalahtaa joitakin nﺣ۳istﺣ۳ lippuja
ettﺣ۳ nﺣ۳emme jﺣ۳lleen ennen pitkﺣ۳ﺣ۳.
Ja vielﺣ۳, aina etsiﺣ۳ ensimmﺣ۳isessﺣ۳ virhe,
koska se saattaa vain olla CSS merkityksetﺣﭘn vaikutus muilla radoilla.
>> Joten mitﺣ۳ tﺣ۳mﺣ۳ tarkoittaa, ettﺣ۳ ongelma on funktio 1.c.
Se on verkossa 32.
Ja se on palstalla, tai merkki, 13.
Joten kun tekstieditori, joka auttaa tunnistamaan missﺣ۳ asian kﺣ۳sittely on.
Jos siis siirry ylﺣﭘs, mikﺣ۳ on linja 32?
Se on todellakin tﺣ۳mﺣ۳ joka on jo korostanut
oikea here-- kﺣ۳yttﺣ۳mﺣ۳tﺣﭘn muuttujan n.
Mutta se ei ole kﺣ۳yttﺣ۳mﺣ۳ttﺣﭘmiﺣ۳.
Kﺣ۳ytﺣ۳n sitﺣ۳.
Mutta kﺣ۳ﺣ۳ntﺣ۳jﺣ۳n sekava, koska se on olemassa vain sisﺣ۳lle nﺣ۳in laaja.
Ja niin en voi kﺣ۳yttﺣ۳ﺣ۳ sitﺣ۳ tﺣ۳ssﺣ۳.
En voi kﺣ۳yttﺣ۳ﺣ۳ sitﺣ۳ tﺣ۳ssﺣ۳.
Ja kﺣ۳ﺣ۳ntﺣ۳jﺣ۳, siksi, ei edes vﺣ۳litﺣ۳ siitﺣ۳, ettﺣ۳ yritﺣ۳n.
Se nﺣ۳yttﺣ۳ﺣ۳ olevan kﺣ۳yttﺣ۳mﺣ۳ttﺣﭘmiﺣ۳ sen todellista laajuutta.
>> Jotta voimme laajentaa tekemﺣ۳llﺣ۳ mitﺣ۳ aloitimme with-- int n.
Ja vaikka se ei nﺣ۳ytﺣ۳ yhtﺣ۳ tyylikﺣ۳s, ehkﺣ۳,
ja otamme ylimﺣ۳ﺣ۳rﺣ۳inen linja tﺣ۳ﺣ۳llﺣ۳, nyt se on laajuudeltaan kaikkialla.
Joten yritﺣ۳ uudelleen.
Joten toiminto yksi.
Kiva.
Ja nyt jos minﺣ۳ jos kﺣ۳ytﺣ۳n toiminto yksi, katsotaanpa antaa sille negatiivinen 10,
negatiivinen 1, 0, 1, ja se itse asiassa toimii.
>> Joten on olemassa toinen ratkaisu tﺣ۳ﺣ۳llﺣ۳.
Arvaa mitﺣ۳?
Mitﺣ۳ jos minﺣ۳ todella olen paini tﺣ۳mﺣ۳n?
En tiedﺣ۳ missﺣ۳ n on tarkoitus mennﺣ۳.
Arvaa mitﺣ۳?
Olen juuri menossa laittaa kaiken tapa ylﺣ۳reunassa minun tiedosto tﺣ۳stﺣ۳.
Mitﺣ۳ tﺣ۳mﺣ۳ tehdﺣ۳, luulet?
Joo?
>> Yleisﺣﭘ: [ﺣ۳ﺣ۳netﺣﭘn].
SPEAKER 1: Joo.
Joten olen tehnyt maailmanlaajuisia, niin sanoakseni.
Jos sinulla on muuttuja, joka on ulkopuolella kaikki toiminnot on sallittua,
ja koodi olisi koottava, ja n on nyt saatavilla paitsi get
positiivinen int, mutta myﺣﭘs main-- joka on hieman huolestuttava, koska siellﺣ۳
jo n main, joten lisﺣ۳ﺣ۳ siitﺣ۳, ettﺣ۳ vain moment--
mutta tﺣ۳mﺣ۳ pidettﺣ۳isiin huono suunnittelu.
Selvﺣ۳.
Jos sinulla on turvauduttava jotain, OH, minﺣ۳
vain laittaa sen tﺣ۳nne, koska koodi nﺣ۳yttﺣ۳ﺣ۳ koota
ei yleensﺣ۳ ole paras kﺣ۳ytﺣ۳ntﺣﭘ.
Pikemminkin haluat valita kapein mahdollinen soveltamisala
sinun muuttujat, mikﺣ۳ merkitsisi menossa meidﺣ۳n alkuperﺣ۳isen suunnitelman, joka
on tﺣ۳ﺣ۳llﺣ۳.
>> Nyt kun sivuun, jos et ole samoin nimettyjﺣ۳ muuttuja tﺣ۳ﺣ۳llﺣ۳,
Muuten C huolehtisi this-- vaikka tﺣ۳mﺣ۳ ei tapahdu liian often--
on se, ettﺣ۳ tﺣ۳mﺣ۳ on edelleen tﺣ۳ydellisesti hienosti tﺣ۳ﺣ۳llﺣ۳.
Mutta tﺣ۳mﺣ۳ mﺣ۳ﺣ۳ritelmﺣ۳ n mukaisesti 22 tulee varjo maailmanlaajuinen.
Joten tﺣ۳mﺣ۳ toimii sisﺣ۳llﺣ۳ tﺣ۳rkeimmﺣ۳t, ja maailmanlaajuinen
todella sovelletaan, kun olet saada positiivinen int Mutta siitﺣ۳ lisﺣ۳ﺣ۳
toisenkin kerran, mutta vain niille utelias.
>> Niin lyhyt, me korjata tﺣ۳ﺣ۳llﺣ۳.
Nyt kiusaavat erilleen kaksi muuta kappaletta ennen kuin voimme tarkastella viimeisen rivin koodia
tﺣ۳ssﺣ۳ ohjelmassa.
Saada positiivinen int.
Vasemmalla puolella sen sana on sana int.
Mitﺣ۳ tﺣ۳mﺣ۳ merkitsee luulet?
Tﺣ۳hﺣ۳n mennessﺣ۳ olemme enimmﺣ۳kseen nﺣ۳hneet mitﺣ۳tﺣﭘn.
Joo?
>> Yleisﺣﭘ: Se tyyppi muuttuja ettﺣ۳ olet kysyﺣ۳.
>> SPEAKER 1: Joo Se tyyppi, haluan sano muuttuja, mutta arvon tyyppi
ettﺣ۳ pyydﺣ۳n takaisin.
Ja todellakin, se on intuitiivinen tﺣ۳ﺣ۳llﺣ۳, toivottavasti.
Oikea?
Jos haluat saada positiivinen int, mitﺣ۳ se on sinun
haluavat function-- kuten meidﺣ۳n vapaaehtoiset viime viikolla
kﺣ۳si takaisin pala paperia int sitﺣ۳?
Ja niin olemme tﺣ۳smensi, ettﺣ۳ ns palautuva tﺣ۳mﺣ۳n toiminnon
on saada positiivinen int.
Jos emme halua sen palata mitﺣ۳ﺣ۳n, sanot mitﺣ۳tﺣﭘn.
Jos haluat palata merkkijono, sanot merkkijono.
Jos haluat palata kellua, sanot kellua.
Mutta ainoa, joka koskee tﺣ۳ﺣ۳llﺣ۳ loogisesti, koska olen kﺣ۳yttﺣ۳en GET int,
vaikka olen sen rajaaminen positiivisia arvoja, on palata int.
>> Joten pﺣ۳invastoin, mitﺣ۳ se tarkoittaa ettﺣ۳ siellﺣ۳ on mitﺣ۳tﺣﭘn suluissa?
Mitﺣ۳ suluissa yleensﺣ۳ mﺣ۳ﺣ۳ritellﺣ۳?
Joo?
>> Yleisﺣﭘ: Se tarkoittaa funktion ei oikeastaan ﻗﻗsaada se.
>> SPEAKER 1: Se tarkoittaa funktion ei todella saada mitﺣ۳?
>> Yleisﺣﭘ: tulo.
>> SPEAKER 1: tulo, mitﺣ۳ﺣ۳n.
Joten todellakin, jos suluissa tﺣ۳ﺣ۳llﺣ۳ voit mﺣ۳ﺣ۳rittﺣ۳ﺣ۳ mitﺣ۳tﺣﭘn,
ettﺣ۳ vain tarkoittaa, en halua mitﺣ۳ﺣ۳n panosta.
Minﺣ۳ kﺣ۳sitellﺣ۳ ongelmaa itse.
Ja todellakin, sinun ei tarvitse kertoa saada positiivinen int mitﺣ۳ﺣ۳n.
Sanoit, saada positiivinen int, ja ettﺣ۳ toiminto sammuu ja tehdﺣ۳ sen asian.
>> Mutta siellﺣ۳ on ollut pikku temppu olen pelanneet tﺣ۳ﺣ۳llﺣ۳ koko tﺣ۳mﺣ۳n ajan
varmistaa tﺣ۳mﺣ۳n koodin kokoaa.
Huomaa, ettﺣ۳ int-- saada myﺣﭘnteisiﺣ۳ int void-- on linjalla 27.
Mutta jostain nﺣ۳ennﺣ۳isesti outo syy se on myﺣﭘs tﺣ۳ﺣ۳llﺣ۳ verkossa 16.
Ja vain hyvﺣ۳ toimenpide minﺣ۳ toistan tﺣ۳mﺣ۳ niin se on tﺣ۳ysin sama.
Ja olen sanonut prototyyppi pikkuinen-line kommentti.
Mitﺣ۳ tapahtuu, jos poistan ettﺣ۳, ja nyt uusintana tehdﺣ۳ toiminto 1, kirjoita.
Oho.
Hetkinen.
Missﺣ۳ vﺣ۳lilehti?
Hﺣ۳h?
Valmiustila.
Tee toiminto 1.
Siellﺣ۳ mennﺣ۳ﺣ۳n.
OK.
Ei tallentanut sitﺣ۳ kunnolla.
Joten mielestﺣ۳ni siellﺣ۳ on vﺣ۳hﺣ۳n vika tﺣ۳ﺣ۳llﺣ۳ missﺣ۳ en ole
nﺣ۳hdﺣ۳ vﺣ۳lilehti nimi tﺣ۳llﺣ۳ hetkellﺣ۳.
Mitﺣ۳ on tekeillﺣ۳?
Implisiittinen ilmoitus toiminto saada positiivinen int on pﺣ۳temﺣ۳tﺣﭘn C99.
Niin sekava uudelleen.
Joten mitﺣ۳ on tﺣ۳mﺣ۳ osoitus?
No, kﺣ۳y ilmi, ettﺣ۳ C on melko typerﺣ۳ﺣ۳.
No, se on ohjelmointi kieli, tai pikemminkin kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ on.
Se vain tietﺣ۳ﺣ۳ mitﺣ۳ sinulla on opetettu, ja se on vain
menossa tietﺣ۳ﺣ۳ jotain jos opetti sitﺣ۳ ennen.
Toisin sanoen, Tﺣ۳rkeimmﺣ۳t tﺣ۳llﺣ۳ hetkellﺣ۳, olen
yrittﺣ۳ﺣ۳ soittaa toiminto nimeltﺣ۳ﺣ۳n saada positiivinen int.
Mutta kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ ei aio huomata, ettﺣ۳ saada positiivinen int
olemassa kunnes linja 26.
Ja niin mitﺣ۳ kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ tekee on vain virheitﺣ۳ heti kun se saa linja 17,
sanomalla implisiittinen ilmoitus get positiivinen int, joka
on vain hieno tapa sanoa, en tietﺣ۳ﺣ۳, mitﺣ۳ saat positiivinen Int on vielﺣ۳.
>> Muut kielet, kuten Java ja Python ja Ruby voi katsoa eteenpﺣ۳in.
C-ei.
Ja niin miten me korjata tﺣ۳mﺣ۳ on yksi kahdella tavalla.
Joko yksi, jos ongelma on, ettﺣ۳ saat positiivinen int ei ole ennen nﺣ۳hty,
hyvin, haluan vain siirtﺣ۳ﺣ۳ sen alkuun.
Se korjaa tﺣ۳mﺣ۳n ongelman.
Mutta yleensﺣ۳ se on katsotaan parempi tekniikka
laittaa pﺣ۳ﺣ۳tehtﺣ۳vﺣ۳ aivan alkuun niin, ettﺣ۳ ihmisen lukea koodi
tietﺣ۳ﺣ۳, mitﺣ۳ ohjelma tekee, koska tﺣ۳rkein ei haudattu kaikki
miten alaosassa tai keskellﺣ۳.
Se on huipulla.
Niin ettﺣ۳ ei tunnu ihanteellinen.
Ja voit itse saada tilanteisiin, joissa
jos yksi funktiokutsut toinen, joka kutsuu toista,
voit pﺣ۳ﺣ۳stﺣ۳ ongelman, jossa ei voi mennﺣ۳ edellﺣ۳ muita, loogisesti.
Se ei vain ole mahdollista.
>> Ja niin tapa tyﺣﭘskennellﺣ۳ noin tﺣ۳mﺣ۳ on vain ottaa
toiminto allekirjoitus, niin speak-- ensimmﺣ۳inen rivi, jossa se on declared--
ja kopioi, liitﺣ۳ se top, mutta ei kihara braces--
vain puolipisteellﺣ۳.
Se on kuin pieni vihje mitﺣ۳ on tulossa.
Ja itse asiassa kaikki tﺣ۳llﺣ۳ kertaa, kun ovat nﺣ۳hneet asioita, kuten tavallinen io.h
ja cs50.h vastaavasti niissﺣ۳ piste h tiedostot ovat siellﺣ۳ muita prototyyppejﺣ۳.
Ja nﺣ۳emme, ettﺣ۳ ennen pitkﺣ۳ﺣ۳.
>> Niin lyhyt, kun on ohjelma tiedostoon, jossa on useita toimintoja
paitsi tﺣ۳rkein, melkein aina halua julistaa niitﺣ۳
vain Poiketen ensimmﺣ۳isen rivi, jonka jﺣ۳lkeen puolipiste,
huipulla tiedoston.
Se oli paljon kerralla.
Kysymyksiﺣ۳?
Selvﺣ۳.
>> Joten siirtyﺣ۳ sitten ettﺣ۳ jotain yskﺣ۳.
Oi.
Kuinka sopivaa.
Selvﺣ۳.
Yskﺣ۳.
Joten tﺣ۳ssﺣ۳ on C ohjelman tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanosta
teimme toinen pﺣ۳ivﺣ۳ Scratch ettﺣ۳ hyvin yksinkertaisesti vain
sanoo yskﺣ۳, yskﺣ۳, yskﺣ۳.
Selvﺣ۳.
Ja joku sanoi muutama pﺣ۳ivﺣ۳ﺣ۳ sitten, ettﺣ۳ on olemassa
tapa puhdistaa tﺣ۳mﺣ۳n koodin ylﺣﭘs jo.
Selvﺣ۳?
Heti olet kopiointi ja liittﺣ۳mﺣ۳llﺣ۳ luultavasti huono suunnittelu.
Ainakin kerran saamme neljﺣ۳ tai viisi tai 20 yskﺣ۳ﺣ۳, se tuntuu huono kﺣ۳ytﺣ۳ntﺣﭘ.
Me vain pitﺣ۳ﺣ۳ kopio, liittﺣ۳mﺣ۳llﺣ۳.
Mikﺣ۳ on ilmeinen ratkaisu puhdistamiseen ohjelman ylﺣﭘs?
>> Yleisﺣﭘ: Loop.
>> SPEAKER 1: Joo.
Joten kﺣ۳ytﺣ۳ silmukka.
Ja voimme kﺣ۳yttﺣ۳ﺣ۳ for-silmukka, kun taas silmukka, mikﺣ۳ tahansa mﺣ۳ﺣ۳rﺣ۳ lﺣ۳hestymistapoja.
Ja todellakin, sitﺣ۳hﺣ۳n teemme versiossa tﺣ۳stﺣ۳.
Olen sen sijaan uusiksi sen versiossa yksi cough.c
olla vain yskﺣ۳ sisﺣ۳llﺣ۳ varten silmukan.
Hyvﺣ۳ on, mutta siellﺣ۳ nyt tilaisuus sellainen alku
suunnitella tﺣ۳tﺣ۳ hieman enemmﺣ۳n kuin oppitunti opetimme hetki sitten,
joka on this-- olettaa, ettﺣ۳ halusin luoda toiminto nimeltﺣ۳ﺣ۳n yskﺣ۳,
Tarkastellaan vain hetken mitﺣ۳ se tulee nﺣ۳yttﺣ۳mﺣ۳ﺣ۳n.
Joten jos haluan jotain yskﺣ۳, minun pitﺣ۳ﺣ۳ vain
kﺣ۳yttﺣ۳ﺣ۳ Tulosta f sisﺣ۳llﺣ۳ toiminto.
Ja todellakin olen.
Ja itse asiassa, kaikki tﺣ۳mﺣ۳ aika, milloin olet
tulostus jotain nﺣ۳yttﺣﭘ, ohjelmoija
kutsuisi ettﺣ۳ sivuvaikutus.
Se ei minua luovuttamalla takaisin joku arvo.
Se minua ottamalla joitakin toimia jotka voivat olla visuaalisesti ilmeinen.
Mutta tﺣ۳mﺣ۳ toiminto yskﺣ۳, se palaa mitﺣ۳ﺣ۳n perustuu sen ensimmﺣ۳isellﺣ۳ rivillﺣ۳?
Ei, koska sen tuotto tyyppi on mitﺣ۳tﺣﭘn, mikﺣ۳ tarkoittaa vain sitﺣ۳,
se ei ole luovuttamalla minulle mitﺣ۳ﺣ۳n takaisin.
Se voisi tehdﺣ۳ jotain visuaalisesti, mutta se ei ole luovuttamalla minua
takaisin paperille kuin viime viikolla.
>> Onko se tarvitse syﺣﭘttﺣ۳ﺣ۳?
Ei.
Ja niin se on mitﺣ۳tﺣﭘn tﺣ۳ﺣ۳llﺣ۳kin.
Joten sekin on erﺣ۳ﺣ۳nlainen yli-insinﺣﭘﺣﭘrin tﺣ۳mﺣ۳n ongelman.
Oikea?
Olen tehnyt ohjelman enemmﺣ۳n monimutkainen, enemmﺣ۳n riviﺣ۳ koodia,
En ole tehnyt mitﺣ۳ﺣ۳n toimivampi, mutta tﺣ۳mﺣ۳
olisi ponnahduslauta, ehkﺣ۳, laajemman
yhteydessﺣ۳ monimutkaisempi koodi.
Mutta mitﺣ۳ tﺣ۳stﺣ۳?
Mitﺣ۳ olen done-- juuri vilkaisi tﺣ۳mﺣ۳ katsomatta kommentti
klo hyvin alkuun file-- mitﺣ۳ on Olen pohjimmiltaan tehnyt tﺣ۳ﺣ۳llﺣ۳ minun yskﺣ۳
tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanoa, joka on erilainen?
Joo, takana?
>> Yleisﺣﭘ: Tee se niin voit on luonteeltaan sammuttaa.
SPEAKER 1: Joo.
Joten tﺣ۳mﺣ۳ tuntuu tﺣ۳llainen mukava.
Oikea?
Se on kuin lisﺣ۳ﺣ۳mﺣ۳llﺣ۳ ominaisuus teidﺣ۳n ohjelma tai toiminto, tﺣ۳ssﺣ۳ tapauksessa.
Se ei palauta mitﺣ۳ﺣ۳n.
Se voi olla visuaalinen sivuvaikutus, koska se soittaa tulosta f.
Mutta nyt olen parametrized -toiminto, joka
tarkoittaa Olen mﺣ۳ﺣ۳rﺣ۳ﺣ۳mﺣ۳ﺣ۳si ottanut panos tyyppiﺣ۳ int ja kutsua sitﺣ۳ n,
mutta voisin kutsua sitﺣ۳ mitﺣ۳ haluan.
Itse asiassa, se voi vain olla kertaa olla vielﺣ۳kin selvempi.
Ja sitten voisin vain muuttaa tﺣ۳ﺣ۳llﺣ۳.
Mutta kohta on, ettﺣ۳ tﺣ۳mﺣ۳ on, miten luoda funktion, joka vie panos.
Ja jos muistaa flipping kautta ehkﺣ۳ verkossa yhdessﺣ۳
ja walk-through, Neljﺣ۳s ja viimeinen yskﺣ۳ esimerkiksi
huomaat tﺣ۳ﺣ۳llﺣ۳ olen yleistynyt minun koodi further-- sellainen abstracted
sitﺣ۳ edelleen.
Kuten yskﺣ۳ ja aivastaa, molemmat ovat noin kuin sanoisi jotain tai tehdﺣ۳
jonkinlaista ﺣ۳ﺣ۳ntﺣ۳.
Tallenna olisi vastaava Scratch lohko.
Ja niin mitﺣ۳ tein tﺣ۳ssﺣ۳ versiossa, joka voimme vain vilkaista,
on yskﺣ۳ on aivan kuin sanoisi, [yskﺣ۳], yskﺣ۳, ja sillﺣ۳ vﺣ۳lin, aivastelu on
kuin sanoisi, [Achoo].
Ja niin olen yleistynyt tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanoa koskevasta
nyt tﺣ۳ytﺣ۳ntﺣﭘﺣﭘn tﺣ۳mﺣ۳ yleinen toiminto,
sanoa, mikﺣ۳ on mielenkiintoinen nykypﺣ۳ivﺣ۳n tarkoituksiin
vain koska se edelleen ei ole palautuva.
Mutta kuinka monta tuloa siinﺣ۳ on?
Yleisﺣﭘ: Kaksi.
SPEAKER 1: Kaksi.
Joten jos haluat ottaa kaksi argumenttia,
vain erottaa ne toisistaan ﻗﻗpilkulla.
Ja jos haluat sitten soittaa ettﺣ۳ toiminto,
huomaa, ettﺣ۳ juuri soittaa vaikkapa lainaus, lainaus,
ensimmﺣ۳istﺣ۳ vﺣ۳itettﺣ۳, yhteinen n, toisen vﺣ۳itteen.
Joten jﺣ۳lleen, meillﺣ۳ vain on nyt rakennuspalikoita jotta voimme todella
toteuttaa joitakin omia toimintoja.
Selvﺣ۳.
Kaikki kysymykset nﺣ۳istﺣ۳?
>> Joten Nyt kuori takaisin kerros jos niin.
Ja tavoite, lopulta, on ensi viikon Harjoitus
tulee olla cryptogrophy-- taidetta muokkaamisella tietoja.
Ja erityisesti, tiedot on sinulle salata tai purkaa
tulee olemaan tekstiﺣ۳.
Ja niin sellainen kutsuja kysymys tﺣ۳nﺣ۳ﺣ۳n kuin hyvin,
mitﺣ۳ alla huppu tekstiﺣ۳ yli ASCII viikosta nolla,
ja miten voimme todella alkaa manipuloida sitﺣ۳?
Joten tﺣ۳ssﺣ۳ on Zamyla nimi.
Ja teksti, joka voitaisiin syﺣﭘtetﺣ۳ﺣ۳n osaksi kuten get merkkijono.
Ja alkaa nyt, kun nﺣ۳et string kuten this-- Z--M-Y-L-A--
alkaa miettiﺣ۳ sitﺣ۳ ikﺣ۳ﺣ۳n kuin jokainen nﺣ۳istﺣ۳ merkeistﺣ۳ on laatikko sen
oma.
Ja todellakin, viikon tai niin on aika, kukin nﺣ۳istﺣ۳ laatikoista
tulee edustaa hyvin erityisesti lohko memory-- purema muistia.
Joten jokainen nﺣ۳istﺣ۳ kirjeistﺣ۳, lopulta, edustaa 8 bittiﺣ۳.
Ja me itse nﺣ۳hdﺣ۳ mitﺣ۳ tapahtuu on alla huppu minun tietokone.
>> Mutta ei se riittﺣ۳ﺣ۳ vain katsomaan Zamyla
tﺣ۳mﺣ۳n linssin kautta, jolloin kukin nﺣ۳mﺣ۳ kirjeet on omassa laatikossa.
Ja kauniisti tarpeeksi C voimme kﺣ۳yttﺣ۳ﺣ۳ jokaista nﺣ۳istﺣ۳ laatikoista suoraan.
Joten jos haluat saada ensimmﺣ۳inen kirjaimen nimensﺣ۳, erittﺣ۳in helppo C.
Jos haluat saada viimeisen kirjain, Super helppo samoin
pala uuden syntaksin.
>> Joten aion mennﺣ۳ eteenpﺣ۳in osaksi CS50 IDE ja avata merkkijonon nolla piste C.
Ja tﺣ۳ssﺣ۳ esimerkissﺣ۳ tﺣ۳ﺣ۳llﺣ۳, on pari uutta asioita tapahtuu.
Joten ensimmﺣ۳inen rivi 19, olemme nﺣ۳hnyt tﺣ۳tﺣ۳ before-- get merkkijono.
Aivan kuten nopea jﺣ۳rki tarkistaa, jos joku voisi tarjota jopa suullisesti
Maallikon selitys mitﺣ۳ tapahtuu linjassa 19.
Kuten juuri kﺣ۳ﺣ۳ntﺣ۳ﺣ۳ tﺣ۳mﺣ۳ otetaan Englanti ettﺣ۳ kﺣ۳mppﺣ۳kaveri ei CS50
voisi ymmﺣ۳rtﺣ۳ﺣ۳.
Joo.
>> Yleisﺣﭘ: Onko kﺣ۳yttﺣ۳jﺣ۳ syﺣﭘttﺣ۳ﺣ۳ merkkijono ja tallentaa sen muuttujaan s.
SPEAKER 1: Hyvﺣ۳.
On kﺣ۳yttﺣ۳jﺣ۳ syﺣﭘttﺣ۳ﺣ۳ merkkijonon ja tallentaa sen muuttujaan s.
Sepﺣ۳ hienoa.
Joten oikeassa puoli, kutsumme GET merkkijono.
Joka palauttaa arvo ettﺣ۳ ei saanut osoitettu
oikealta puolelta vasemmanpuoleiseen puoli osaksi muuttuja nimeltﺣ۳ s, joka on
suunniteltu sﺣ۳ilyttﺣ۳mﺣ۳ﺣ۳n merkkijono.
Aivan.
>> Joten nyt linja 22, per kommentti linjassa 21,
ilmeisesti tulostaa merkkijonon yksi merkki per rivi.
Mutta miten?
Joten ensinnﺣ۳kin, me alustaa I 0.
Ja sitten miten saamme loppuun Zamyla nimi?
Hyvin, lopussa Zamyla nimi, voisin
manuaalisesti kirjoita viimeinen merkki hﺣ۳nen nimensﺣ۳ jotenkin, tai mﺣ۳ﺣ۳rﺣ۳ﺣ۳ sitﺣ۳.
Oikea?
Jos palaamme here-- Z--M-L-- Y-L-A-- jotta voisin kirjoittaa.
Mikﺣ۳ indeksi Zamyla viimeinen kirjain?
Jos tﺣ۳mﺣ۳ on 0-- puhuu kuin programmer-- 0, 1, 2, 3, 4, 5,
Olen heard-- niin todellakin viimeinen kirjain vuonna Zamyla nimi on kuudes,
mutta jos laskemme 0, se tulee olemaan numero 5.
Niin pitﺣ۳ﺣ۳ tﺣ۳mﺣ۳ mielessﺣ۳ tﺣ۳ﺣ۳llﺣ۳.
>> On kﺣ۳ynyt ilmi, siellﺣ۳ on toiminto C kutsutaan strlen, ja takaisin seuraavana pﺣ۳ivﺣ۳nﺣ۳
ja tﺣ۳nﺣ۳ pﺣ۳ivﺣ۳nﺣ۳ vielﺣ۳, paljon ohjelmoijia
valita synkronoida nimiﺣ۳ niiden toimintoja, jotka kuulostavat sanat
he yrittﺣ۳vﺣ۳t sanoa.
Joten strlen on merkkijonon pituus.
Ja niin mitﺣ۳ olisi merkkijonon pituus S palata kun Zamyla on panos?
>> Yleisﺣﭘ: Viisi.
>> SPEAKER 1: Z--M-Y-L. Kuusi.
Oikea?
Mitﺣ۳ pituus Zamyla nimi?
Oikea?
Ja juuri todellisuudessa, kuusi kirjainta.
Oikea?
Ja niin mitﺣ۳ se tarkoittaa meidﺣ۳n silmukka?
Aiomme mennﺣ۳ 0 jopa kuusi, joka
aikoo antaa meille viisi toistojen.
Mitﺣ۳ teemme jokaisen iteraation?
No, prosenttia C, joku arvata toinen pﺣ۳ivﺣ۳,
vﺣ۳lineet paikkamerkki mitﺣ۳?
>> Yleisﺣﭘ: Char.
SPEAKER 1: Vain merkkiﺣ۳.
Joten yksi character-- ei useita merkkejﺣ۳ kuten merkkijonon.
Ja sitten tﺣ۳ssﺣ۳ on uutta rataa ettﺣ۳ meillﺣ۳ tulostamalla.
Ja sitten tﺣ۳ssﺣ۳ on uutta syntaksia.
Jos haluat tulostaa i: nnen merkki merkkijonon S, niin sanoakseni,
voit sanoa nimi merkkijono S,
ja avaa hakasulkeen, ja suljetaan hakasulje, jossa i
Keski.
Ja se on tavallaan mukavaa, ettﺣ۳ se tavallaan nﺣ۳yttﺣ۳ﺣ۳ neliﺣﭘ
aivan kuten neliﺣﭘitﺣ۳, jossa Zamyla n merkkiﺣ۳ lﺣﭘydy, ettﺣ۳ kuva siellﺣ۳.
>> Joten jos olen itse suorittaa tﺣ۳mﺣ۳n Nyt, katsotaanpa, mitﺣ۳ tapahtuu.
Tee merkkijono 0 piste slash merkkijono 0, ja sitten olen
menossa kirjoittamaan Zamyla nimi.
Ei ole nopea, koska en Kﺣ۳ytﺣ۳ tulosta f, mutta se kﺣ۳y hyvin.
Tiedﺣ۳n vain, mitﺣ۳ tehdﺣ۳.
Ja todellakin, se tulostaa Zamyla nimi, yksi kullekin riville.
>> Nyt on hieman holtiton.
Oletetaan, ettﺣ۳ en tiennyt noin strlen ja olen tajunnut,
Hyvﺣ۳ on, kukaan tulee olla nimi suurempi kuin kuin 50 merkkiﺣ۳.
Mennﺣ۳ﺣ۳n eteenpﺣ۳in ja kﺣ۳ﺣ۳ntﺣ۳ﺣ۳ tﺣ۳mﺣ۳ ja uusintana se, ja kirjoita Zamyla
uudelleen.
Loogisesti, mikﺣ۳ on ohjelma aikoo yrittﺣ۳ﺣ۳ tulostaa?
Z--M-Y-L-sitten kuin 45 tuntematon tavua muistia.
Ja todellakin, me tulen takaisin tﺣ۳tﺣ۳ ajatusta muistia.
Mutta vain loogisesti, jos Zamyla nimi on tﺣ۳mﺣ۳ pitkﺣ۳,
kohti kuva tﺣ۳ﺣ۳llﺣ۳, mitﺣ۳ sanomme
on jatkaa tulostusta, pitﺣ۳ﺣ۳ tulostus, pitﺣ۳ﺣ۳ tulostus, jatkaa tulostusta, pitﺣ۳ﺣ۳ tulostus,
aina 50. merkki, joka kuka tietﺣ۳ﺣ۳ mitﺣ۳ tulee tapahtumaan.
Joten oikeastaan ﻗﻗkatsomaan.
Katsotaanpa kirjoita Zamyla.
Mielenkiintoinen.
Meillﺣ۳ kﺣ۳vi tuuri.
Vain koko joukko valkoinen tila.
Oi.
On yksi funky merkki.
Se nﺣ۳yttﺣ۳ﺣ۳ ikﺣ۳ﺣ۳n kuin outo kysymys merkitse siellﺣ۳, mutta siellﺣ۳ on Zamyla nimi.
Mennﺣ۳ﺣ۳n todella holtiton.
Entﺣ۳ me tulostaa 500 palikat tuntematon?
Mennﺣ۳ﺣ۳n eteenpﺣ۳in ja tehdﺣ۳ tﺣ۳stﺣ۳ samoin ja sitten uusinnassa.
Ja nyt koko ruudun, koska meidﺣ۳n on nﺣ۳htﺣ۳vﺣ۳ enemmﺣ۳n tilaa.
Zamyla.
Onnekas jﺣ۳lleen.
>> Dare saamme enemmﺣ۳n holtitonta?
Mennﺣ۳ﺣ۳n enemmﺣ۳n piittaamaton.
50000 merkkiﺣ۳.
Tﺣ۳mﺣ۳ ei totisesti ole hyvﺣ۳ idea.
Selvﺣ۳.
Tee merkkijono 0.
Tﺣ۳mﺣ۳ on meidﺣ۳n viimeinen demo.
Zamyla.
Yﺣ۳k.
OK.
Joten minun muisti on todella tyhjﺣ۳ juuri nyt, joka on itse asiassa erﺣ۳ﺣ۳nlainen kﺣ۳tevﺣ۳.
Yritﺣ۳n saada to-- kunnossa.
Ja nyt olen juuri menossa saada holtiton.
500,000.
Make-- let tﺣ۳yden ruudun.
Anna.
Zamyla.
Siellﺣ۳ mennﺣ۳ﺣ۳n.
Minulla ei ole aavistustakaan, mitﺣ۳ se on, mutta se kuulostaa pahalta.
Selvﺣ۳.
Ja itse asiassa pian, jos olet keskuudessa onnekas muutama virka
ja ongelma asettaa yhden, sinﺣ۳ saattaa hyvinkin kohdata tﺣ۳mﺣ۳n.
Segmentointi vika itse ei on hyvin mﺣ۳ﺣ۳ritelty merkitys.
Se tarkoittaa jonkinlainen virhe liittyvﺣ۳ segmentti muistia.
Ja maallikon termein, se tarkoittaa, ettﺣ۳ meidﺣ۳n koskettanut
memory-- kﺣ۳ytimme RAM minun tietokone ettﺣ۳ en olisi saanut tutustua.
Ja sitﺣ۳hﺣ۳n on sekﺣ۳ voimakas ja myﺣﭘs vaarallinen
noin C on, ettﺣ۳ olet itse on esteetﺣﭘn pﺣ۳ﺣ۳sy
sitten kaikkiin ohjelman muistiin tai tavua tai RAM, tarkemmin.
>> Joten vaikka Zamyla nimi on vain kuusi merkkiﺣ۳ pitkﺣ۳,
Voin silti mennﺣ۳ minnekﺣ۳ﺣ۳n muistiin haluan.
Ja sivuun, jos olet koskaan lukenut joitakin artikkeli
vuosien varrella joitakin palvelin tai jokin ohjelma
saada sﺣ۳rﺣﭘillﺣ۳ tai hakkeroitu se hyﺣﭘdyntﺣ۳neet jotain
kutsutaan puskurin ylivuoto hyﺣﭘdyntﺣ۳ﺣ۳ kyseistﺣ۳ me will oikeastaan
puhua muutaman viikon, se on yleensﺣ۳ viittaa jotenkin huijaa
tietokone menee hyvin rajojen muistin
ettﺣ۳ sen olisi pitﺣ۳nyt, ja lﺣﭘytﺣ۳ﺣ۳ jotain mehukas
ettﺣ۳ memory-- salasana, ehkﺣ۳, tapa
kiertﺣ۳ﺣ۳ noin sarjanumero tarkista, tai vain yleisesti osaa
huijata tietokone tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanosta koodi, joka ei ollut tarkoitettu.
Mutta katsotaanpa palata Todellisuudessa vain hetken
jossa tﺣ۳mﺣ۳ ohjelma oli toteutettu strlen,
ja esitellﺣ۳ yksi asia tﺣ۳ﺣ۳llﺣ۳.
Mitﺣ۳ uutta nﺣ۳istﺣ۳ kolmesta riviﺣ۳?
>> Joten merkkijono piste h.
On kﺣ۳ynyt ilmi, on tﺣ۳mﺣ۳ kirjaston nimeltﺣ۳ﺣ۳n String Dot H, tai String Library,
joiden header-tiedosto, niin sanoakseni, on merkkijono piste h, joka antaa minulle
kﺣ۳yttﺣﭘoikeuden tﺣ۳hﺣ۳n strlen toiminnon.
Jos minﺣ۳ jﺣ۳ttﺣ۳ﺣ۳, ettﺣ۳ kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ on menossa huutaa minulle jossain muodossa.
Mutta tiedﺣ۳tkﺣﭘ mitﺣ۳?
Nyt saada todella vivahteikas.
Linjassa 22, siinﺣ۳ on jotain sellaista on inefficient-- huonosti suunniteltu,
arguably-- tﺣ۳stﺣ۳ koodiriviﺣ۳.
Muistelen miten for-silmukka toteutetaan
ja mihin toimiin toistua ja uudelleen ja again-- alustuksen,
ehto, koodi ettﺣ۳ saa suorittaa, sitten kasvu
tai muutos, sitten ehto, sitten koodi, sitten muutos, sitten
ehto, sitten koodi, sitten muutos, ja niin edelleen.
Joten mikﺣ۳ voisi olla hieman huolestuttava tai huonosti tehty tﺣ۳ﺣ۳llﺣ۳?
Joo, sininen.
Yleisﺣﭘ: strlen on nimeltﺣ۳ﺣ۳n monta, monta kertaa.
SPEAKER 1: Joo.
Niin strlen on nimeltﺣ۳ﺣ۳n monta kertaa, mutta mitﺣ۳ on
pituus Zamyla nimi ensimmﺣ۳istﺣ۳ kertaa silmukan suorittaa?
>> Yleisﺣﭘ: Kuusi.
>> SPEAKER 1: Kuusi.
No, mikﺣ۳ on pituus hﺣ۳nen nimensﺣ۳ toisen kerran koodi suorittaa?
>> Yleisﺣﭘ: Kuusi.
>> SPEAKER 1: Selvﺣ۳.
Se on edelleen kuusi.
Oikea?
Zarla nimi ei ole muuttunut, vaikka etsin
vain osa kirjaimet hﺣ۳nen nimensﺣ۳.
Ja niin, ettﺣ۳ olen tehokkaasti tﺣ۳mﺣ۳n kysymyksen, mikﺣ۳ on
pituus Zamyla, mitﺣ۳ pituus on Zamyla, mitﺣ۳ pituus Zamyla,
kuusi erillistﺣ۳ kertaa, tai seitsemﺣ۳n jopa, on vain tyhmﺣ۳,
koska se on muuttumaton, ettﺣ۳ vastaus.
Ja niin mitﺣ۳ voisin itse do on this-- string yhdessﺣ۳
Minulla on marginaalisesti parempi versio tﺣ۳ﺣ۳ltﺣ۳.
There-- whoops-- merkkijono kaksi Minulla marginaalisesti parempi versio jossa
En this-- eikﺣ۳ vain alustetaan i 0, olen myﺣﭘs pilkulla
julistaa toinen muuttuja nimeltﺣ۳ n- Minulla ei ole sanottavaa int uudelleen.
Minun ei pitﺣ۳isi, itse asiassa.
Mutta minﺣ۳ sanon n.
Ja sitten alustaa N strlen n, niin ettﺣ۳ nyt
kuinka monta kertaa ei strlen saada teloitettiin yhteensﺣ۳?
Vain kerran.
Ja niin tﺣ۳mﺣ۳ on mitﺣ۳ me tarkoitamme aikaisemmin noin parempi suunnittelu.
Oikeastaan ﻗﻗkun koodi on oikea, menee takaisin ja ajattelun kautta,
minulla on kﺣ۳ytﺣﭘssﺣ۳ niin vﺣ۳hﺣ۳n muisti tai muutaman sekunnin
tai millisekuntia tietokoneen aikaan mahdollista toteuttaa jokin ongelma?
Ja aion selata ylﺣﭘs ja vain mainita
ettﺣ۳ on tﺣ۳mﺣ۳ maininta null tﺣ۳ssﺣ۳ versiossa,
mutta me palaamme ettﺣ۳ ennen pitkﺣ۳ﺣ۳.
Koska nyt, katsotaanpa katsomaan at jossa tﺣ۳mﺣ۳ tulee johtamaan meitﺣ۳.
Joten, kﺣ۳y ilmi, ettﺣ۳ nyt, ettﺣ۳ meillﺣ۳ on mahdollisuus
tarkastella yksittﺣ۳isiﺣ۳ merkkejﺣ۳, voimme hyﺣﭘdyntﺣ۳ﺣ۳ jotain
viikosta 0, joka oli hyvin mystistﺣ۳ ja tavallaan mielenkiinnoton tuolloin.
Mutta nyt, ja varsinkin kun me pﺣ۳ﺣ۳stﺣ۳ salausta viikossa,
se tulee olemaan melko voimakas.
On kﺣ۳ynyt ilmi, ettﺣ۳ joitakin tiedot types-- ints ja leijailee
ja merkkiﺣ۳ ja jouset ja muut things-- jotkut
voidaan helposti muuntaa toiseen.
>> Esimerkiksi kun puhuimme noin ASCII aikaa ago-- tﺣ۳ssﺣ۳
isoilla kirjaimilla M kautta, piste, piste,
dot-- sanoimme, ettﺣ۳ on olemassa kartoitus nﺣ۳iden kirjaimia ja numeroita.
Ja itse asiassa se pﺣ۳tee ja pieniﺣ۳ kirjaimia samoin.
Pieniﺣ۳ on 97, pﺣ۳ﺣ۳oma on 65.
Ja siellﺣ۳ on useita ASCII, joka on juuri tﺣ۳mﺣ۳ kartoitus
jﺣ۳rjestelmﺣ۳ kaikki nﺣ۳mﺣ۳ muut kirjaimet.
Mitﺣ۳ tﺣ۳mﺣ۳ tarkoittaa?
No, aion mennﺣ۳ eteenpﺣ۳in ja avoin up todellinen nopeasti jotain kutsutaan
ASCII-0, joista suurin osa on kommentteja.
Ja taas verkossa voit aina vilkaista kommentteja.
>> Ja katsomaan mitﺣ۳ tﺣ۳mﺣ۳ tulee tehdﺣ۳.
Joten se sai pﺣ۳ﺣ۳tehtﺣ۳vﺣ۳.
Olen kovakoodannut numerot vain nyt, koska tiedﺣ۳n mitﺣ۳ teen.
Tiedﺣ۳n mitﺣ۳ haluan nﺣ۳hdﺣ۳ tﺣ۳ﺣ۳llﺣ۳.
Ja olen alustettu minun 65.
Ja Luotan ylﺣﭘs kautta 26 kirjainta yhteensﺣ۳.
Ja mitﺣ۳ olen menossa tulostaa yhden rivin kerrallaan
jos voit tulkita Tﺣ۳mﺣ۳n korostettu rivi?
Mitﺣ۳ tulostetaan?
Joo.
>> Yleisﺣﭘ: Aiotko tulostaa kirjeen, ettﺣ۳
vastaa kartan kirjain arvo ja kokonaisluku arvo?
SPEAKER 1: Aivan.
Aion tulostaa kirjeen vastaava kokonaisluku,
ja pﺣ۳invastoin, seuraavasti.
No tﺣ۳mﺣ۳, joku sanoi aiemmin, on vain paikkamerkki char.
Se on edelleen.
Tﺣ۳mﺣ۳ tietenkin on paikkamerkki sillﺣ۳ int-- ole uusi linja.
Ja nyt huomaa, ensimmﺣ۳inen arvo Olen kytkemﺣ۳llﺣ۳ kyseisen paikkamerkin
ei ole vain I. sanon, suluissa, nieriﺣ۳ﺣ۳ I,
joka sulkeissa char on kertoo kﺣ۳ﺣ۳ntﺣ۳jﺣ۳, kohdella I
ei ole niin mitﺣ۳ se on, joka on numero.
Kﺣ۳sitellﺣ۳ sitﺣ۳ todellista luonnetta.
Kun taas toinen arvo olen kytkemﺣ۳llﺣ۳ in-- I-- pitﺣ۳isi vain olla useita.
>> Jos siis koota tﺣ۳mﺣ۳ program-- joten tﺣ۳mﺣ۳ on tehdﺣ۳ ASCII 0,
piste slash ASCII 0-- saan vain tﺣ۳mﺣ۳ kﺣ۳tevﺣ۳ kaavion
nﺣ۳yttﺣ۳ﺣ۳ minulle kaikki mahdolliset kuvaukset ilman ajatella sitﺣ۳
kautta tai selvittﺣ۳ﺣ۳ sen omasta.
Ja olen myﺣﭘs tulostamisen, huomaa pienet kirjaimet,
koska muutaman rivin myﺣﭘhemmin, minﺣ۳ myﺣﭘs tulostaa tﺣ۳mﺣ۳ kartoitus
samoin, joka on vain sanoa, ettﺣ۳ kun ymmﺣ۳rrﺣ۳t
mitﺣ۳ tapahtuu alla huppu, voitko
automaattisesti muuntaa edestakaisin.
Ja itse asiassa, jos joku teistﺣ۳ koskaan tehnyt tﺣ۳tﺣ۳ alakoulussa
tai kuulleet jonkun mythically ottaen huomata
ja kulkee sen hﺣ۳nen tai hﺣ۳nen ystﺣ۳vﺣ۳nsﺣ۳ luokassa,
mutta te sekaisin kirjaimia kuten tulee B,
ja B tulee C, tai jotain monimutkaisempi kuin ettﺣ۳, no,
miten lﺣ۳htisit tﺣ۳ytﺣ۳ntﺣﭘﺣﭘn, ettﺣ۳ lapsena?
No, juuri sellainen tietﺣ۳ﺣ۳ Tulee B, B tulee C,
mutta matemaattisesti, mitﺣ۳ se poika tekee?
Mitﺣ۳ olit lisﺣ۳ﺣ۳mﺣ۳llﺣ۳ kutakin kirjainta?
Tehokkaasti, 1.
>> Joten kun vaihdat B, joka on ikﺣ۳ﺣ۳n kuin muuttamalla 65-66,
mikﺣ۳ matemaattisesti tarkoittaa vain lisﺣ۳tﺣ۳ 1.
Ja niin jos olit toteuttaa ettﺣ۳ vﺣ۳hﺣ۳n petollinen tekniikka
oman opettajan koodin, ehkﺣ۳ juuri siihen juuri
lisﺣ۳ﺣ۳mﺣ۳llﺣ۳ yhden kirjaimen yhdessﺣ۳.
Niin ennen pitkﺣ۳ﺣ۳, olemme menossa katsomaan miten me
voi hyﺣﭘdyntﺣ۳ﺣ۳ tﺣ۳tﺣ۳ todella aidosti ryntﺣ۳ily ja purkaa
tiedot.
Sillﺣ۳ vﺣ۳lin, ettﺣ۳ olemme alkaneet esitellﺣ۳ pari muille kirjastoille
here-- merkkijono yksi tﺣ۳nﺣ۳ﺣ۳n.
Ja erittﺣ۳in hyﺣﭘdyllinen sivusto toivottavasti lﺣﭘydﺣ۳t
kutsutaan reference.cs50.net, joka opetushenkilﺣﭘstﺣﭘn koonneet,
niin ettﺣ۳ jos haluat etsiﺣ۳ miten strlen tﺣﭘitﺣ۳,
voit aloittaa kirjoittamisen funktion nimi,
valitse strlen siellﺣ۳, ja sitten vﺣ۳hemmﺣ۳n mukava selitys
tulee nﺣ۳kyﺣ۳.
Tai jos haluat virallisen Linux-pohjainen selitys,
voit klikata enemmﺣ۳n mukavia ylhﺣ۳ﺣ۳llﺣ۳ oikealla, ja se
esittﺣ۳ﺣ۳ samat tiedot, mutta monimutkaisempia kannalta.
Se hyﺣﭘdyllinen resurssi oikeastaan ﻗﻗtiedﺣ۳ mitﺣ۳ kaikkea tekee.
>> Seuraavan kerran aiomme katsomaan Ovaltine
ja enemmﺣ۳n, ja esitellﺣ۳ itsemme maailmaan salausta.
Sitﺣ۳ ennen, nﺣ۳emme myﺣﭘhemmin tﺣ۳llﺣ۳ viikolla.
Ja nyt, Colton Ogden.
Nﺣ۳hdﺣ۳ﺣ۳n keskiviikkona.
>> [Musiikkia]
>> SPEAKER 1: Mikﺣ۳ [BLEEP] sinﺣ۳ teet?
>> SPEAKER 1: Minﺣ۳ syﺣﭘn minun jﺣ۳lkiruoka?
Miten syﺣﭘdﺣ۳ sitﺣ۳?
Kﺣ۳det?
>> [Musiikkia]