>> [Musiikki soi]
ALLISON Buchholtz-AU: Hei kaikille.
Tervetuloa ensimmäinen virallista CS50 jakso.
Kuten voit, katso tämä kohta CS50 kaltainen, vain
vetää meidän päivän esityslistaa.
Joten, kuka minä olen, koska olen varma olet kaikki ihmettelevät.
Olen teidän TF.
En ole vain satunnainen opiskelija kuka esiintyminen teidän TF.
>> Ja aion käydä läpi sellainen on osien virtaa,
odotukset meillä on, resursseja, niin edelleen ja niin edelleen.
Aiomme puhua paneelit, ASCII toimintoja, komentorivin argumentteja,
ja se ei ole täällä, mutta Aion myös auttaa
olet sellainen miettiä seuraava PSET tällä viikolla.
Olen varma, että te kaikki arvostavat.
>> Joten, ensimmäinen question-- kuka minä olen, lisäksi teidän elämäniloinen TF täällä.
Olen Alison Buchholtz-Au.
Tämä on minun toinen vuosi TFing CS50.
Olen myös TF CS51 keväällä.
Saatat nähdä taas jos päätät ottaa sen.
Olen myös PAF, joten kaikki Freshmen-- ja jos et ole fuksi,
Tämä on minun kolmas vuosi kuten neuvoo kaveri.
Olen hyvin perehtynyt neuvoo sinua elämästä ja kurssit
CS eikä CS.
Olen Computer Science keskitin.
Olen vanhempi Adams House, paras talo.
Ja ennen kuin olen vaihtanut CS minun Sophomore Spring,
Olin todella biolääketieteen insinööri.
Aioin mennä Med kouluun.
Aioin olla trauma kirurgi.
Ja että on täysin muuttunut Otin CS50.
Otin tietenkin minun Sophomore Fall.
Se oli minun ensimmäinen esittely CS koskaan.
Olin yksi 78% teistä jotka oli nolla kokemus tulossa,
ja se täysin muutti elämäni.
Ja nyt olen töissä Microsoft, ja ihanista TF.
Ja CS50 on luultavasti yksi parhaista kokemuksista
että olen ollut täällä Harvard-- sekä ottaen luokka
ja se voi auttaa opettaa opiskelijoille kuin sinä.
>> Joten olen todella innoissani että te kaikki olette täällä.
Jos sinulla tuli myöhään, on karkkia,
joka sinun pitäisi tuntea vapaasti tulla napata, tai lähettää
joku muu napata sen sinulle.
se on OK.
En halua syödä sitä.
Oma huone on tarpeeksi suklaata, joten y'all pitäisi yrittää lopettaa se.
Tiedän, että on 100 kappaletta, mutta kuten 4 kello maanantaina
Mielestäni jokainen voisi käyttää hieman sokeria.
>> Joten kaikki te, jotka ovat virallisesti minun osiosta
olisi saanut sähköpostia minulta minun puhelinnumero,
email address-- rohkeasti lisätä minut Gchat, voit lisätä minut Facebook,
ja myös te muut, voit lähettää sähköpostia minulle täällä.
On olemassa kaksi H: n.
Jokainen tekee aina kuten kaksi L: n tai kaksi C: n.
Kaksi H: n sukunimi.
Muuten se tulee pomppia, ja En aio saada sähköpostiosoite.
>> Joten rohkeasti sähköpostia minulle, ottaa minuun yhteyttä milloin tahansa.
En ehkä saada takaisin sinulle 24 minuuttia,
mutta lupaan palata sinulle 24 tunnin kuluessa.
Jos soitat minulle puoli tuntia ennen teidän PSET johtuu, että olette kuin,
Minulla ei ole aavistustakaan, mitä olen tekemässä Allison.
Auta minua.
Aion rauhoittavat sinua, mutta lopussa päivä,
jos soitat minulle puoli tuntia ennen teidän PSET johtuu kanssa mitään kirjallista,
Aion olla kuin, no, ehkä on aika käyttää sitä myöhään päivä.
Joten aion vastata kaikki pyynnöt hyvin ajoissa.
Minun puhelin on yleensä kiinni käsissäni.
En yleensä reagoi paljon nopeammin kuin 24 tuntia,
mutta voin vain takuu 24 tunnin vasteaika.
>> Selvä.
Miksi olemme täällä?
Myös, jos sinulla on kysymyksiä tahansa, kerro minulle.
Puhun paljon.
Puhun nopeasti, mutta olkaa hyvä rohkeasti keskeytä minua.
Se antaa minulle tilaa hengittää hyvin.
Joten osat ovat aika meille oikeastaan ​​vain sukeltaa
vuonna, saada joitakin käytännön kokemusta, jotta käydä läpi aiheita, jotka mainitsimme
luokassa tai oppimateriaali, joka suosittelemme teitä verkossa.
Ja me itse mennä läpi osa näistä varoista hieman.
>> Joten jotkut muistiinpanoja osio tukea.
CS50-- yksi asioista, joka tekee se yksi suosikkini luokat
on tunne, että et ole koskaan yksin.
Meillä työskentelee yli 100 ihmisiä, jotka ovat valmiita auttamaan sinua.
Meillä on virka Maanantaista torstaihin.
Joten siellä on niin paljon ihmisiä, jotka Rakastan luokan yhtä paljon kuin minä
ja jotka ovat todella täällä koska he haluavat olla täällä.
Useimmat meistä ovat opiskelijoita, ja tämä on kuin viidesosa luokan lisäksi
muualle työmme.
>> Ja se on paljon työtä, mutta teemme sen, koska me rakastamme sitä,
ja me todella rakastamme opettaa sinulle ja auttaa jakamaan jännitystä
tästä aiheesta ja tässä luokassa.
Joten hyödyntää.
Tule puhua meille.
Olen yksinäinen, kun oppilaani älä puhu minulle, joten jos haluat,
tulevat hengailla kanssani.
Se tulee olemaan suuri.
>> Joten kohta on tietenkin yksi suurimmista asioista.
Menemme läpi asioita että olet oppinut luento,
tehdä joitakin lyhyitä esimerkkejä kun meillä on aikaa,
ja yleensä sellainen saada käsitys asioista
sinun pitäisi ajatella noin ongelmaasi asetettu.
Shorts-- kuinka moni katseli videon tyhjästä
lyhyt?
Kukaan tunnista minua?
Joten ne ovat hyvin suuria.
Kannattaa ehdottomasti katsoa näitä.
Paljon työtä on otettu ne.
Ja he vain tarkoitus olla suupaloiksi kappaletta, joista voit vain katsella
kolme tai neljä minuuttia ja saada ymmärtää paremmin käsite.
Kävele throughs-- miten monet ihmiset ovat katselleet
walk-through for aiemmat?
Zamyla on hämmästyttävää, eikö?
Kuten, Olisinpa Zamyla joskus.
Niin ehdottomasti käyttää walk-through.
Hän murtaa se alas pieni, purra kokoisen palan.
Ja kun sinulla on nämä valtavat määrittelyjä ongelma sarjaa,
se tulee olemaan todella tärkeä pystyä vain löytää jostain
aloittaa ja työskennellä hitaasti läpi.
>> Okei, meillä on myös Study50, joka on study50.harvard.edu, uskon.
Voit vain Google tutkia, ja se tulee keksiä.
Tämä on yksi parhaat resurssit meillä on.
Se on PowerPoint muistiinpanoja ja käytännössä ongelmia sinulle
ratkaisuja, jotka olet voi itse kävellä läpi.
Joten jos joskus haluat lisää harjoitusta, enemmän kuin me kohdissa tai enemmän
kuin ongelma sarjaa, tämä on todella paikka sinun kannattaa mennä.
Se rakensi viime kesänä jotkut minun todella hyviä ystäviä.
Ja se on hämmästyttävää.
Itse asiassa paljon dioja että otan käyttäen jakso
tulevat Study50.
>> Niin paljon TF: iä käyttää sitä.
Ja lopuksi, kuten minä mainittu, virka-aikana.
Jos sinulla on vaikeuksia läksyjen kanssa, olet
on ongelmia käsite, tulevat virka.
Mene alkuviikosta, jos voit.
Päästä ulos quad, koska se on eräänlainen kaukana.
Kukaan ei tykkää kävellä siellä.
Mutta se on eduksi, koska silloin olet
menossa on kaikki nämä TF: iä, [Äänetön] ympäröivät sinua.
Ja varsinkin nyt, vain kärki, torstaisin
ovat hyvin chill juuri nyt Mather koska psets
johtuvat torstaisin.
Ja tietäen haluaa käyttää myöhään päivän vielä.
>> Joten jos sinulla on ongelmia käsitteiden,
on paljon TF: iä, jotka ovat valmiina auttamaan sinua.
Joten tule ulos Mather torstaina.
Jos haluat nähdä minut, Aion olla siellä.
En yleensä tee omaa läksyt, koska kukaan ei halua apuani.
Joten tule katsomaan meitä.
>> Tapaamaan meitä puolitiehen.
Joten kuinka moni on osallistunut luennoivat tai katsellut sitä verkossa?
Kuinka moni meni Super jakso viime viikolla?
Cool.
Se on itse asiassa melkoinen joukko.
Kuinka moni teistä on lukenut Spec tällä viikolla, teidän PSET?
Ooh, olen ylpeä teistä kaverit!
Lisää karkkia y'all.
>> Hyvä, niin mitä me tarkoitamme "Meitä vastaan ​​puolitiehen," on
että kohta on oikeastaan ​​vain tulee olemaan erittäin hyödyllistä sinulle
Jos tulet lukeneeni sinun erittely oman PSET.
Koska kun menen läpi yleiskatsaus asioita, sinun pitäisi katselee ulos,
se ei aio tehdä yhtä paljon järkeä, jos
en tiedä mikä ongelmasi asetettu aiotaan pyytää sinua tekemään.
>> Jos et tule jaksossa, ilmeisesti En voi olla, että sinulle hyötyä.
En aio ottaa sitä henkilökohtaisesti, jos et tule minun kohta juuri nyt,
mutta varmasti sinun pitäisi.
Jos et pysty, katsella niitä verkossa.
He siellä syystä.
Mine on oikeassa.
Kuten huomaat, olemme tallennetaan, joten se on oikeassa sinulle kaverit.
Kuten hyvin, menossa lectures-- se ilmeisesti
jos saat alkavaa materiaalia täällä.
Joten aion ehdottomasti kokeilla ja auttaa sinua niin paljon kuin voin,
mutta voin vain tavata sinut niin pitkälle.
Sinun on eräänlainen tavata meidät puolimatkassa.
>> Grading-- niin, te kaikki joka sai sähköpostia minulta,
olet minun virallisia osiosta.
Aion luokittelu sinun psets.
Ja haluan vain sanoa yksi asia, kannattaa todella kiinnittää huomiota
ovat kommentteja.
Kommentit ovat usein hyödyllisiä kuin todellinen tilanne annamme sinulle.
Ja kommentit ovat todella jossa vietän paljon aikaani
kun olen lajitteluun.
Joten olisin kiitollinen se jos luet ne.
Ja he todella, miten aiot oppia lisää suunnittelun ja tyyli
ja asioita, jotka ovat hieman vähemmän leikattu ja kuiva.
>> Joten todella kiinnittää huomiota nämä huomautukset.
Jos sinulla on kysyttävää niistä, tai kysyttävää pisteet,
tulkaa juttelemaan joko ennen jakso,
Tulen todennäköisesti hengailua aulassa, tai jälkikäteen.
Jos haluat ajoittaa yksi-on-one tapaamisia, miten
Voit auttaa myöhemmin ongelma sarjaa, juuri minulle.
>> Ja sitten vain pari vinkkejä te.
Joten yksi suurimmista asioista Olen aina korostaa minun osiosta
kun olet opettelu koodi on kirjoittaa asioita paperille ensin.
Jos sinulla on peli suunnitelma jos koodi on mentävä
ja mitä se tarvitsee tehdä ja se jakautuu
palasiksi pseudokoodin koodia olet kirjoittanut ulos,
aiot olla vähemmän todennäköisesti tehdä syntaksivirheitä
tai luo jos silmukka, joka ei ole muuta.
Jos tiedät, missä olet menee kaiken, olet
vähemmän todennäköisesti tehdä näitä pieniä Virheet, jotka joskus vie
tuntia korjata, koska et pidä, jos olen puuttuu tähän luokkaan?
>> Komitea suosittelee, että käytä Style50.
Varsinkin kun olet menossa virka,
Jos koodi on kaikki siirtyneet toiselle puolelle,
se on tietenkin politiikkaa että voimme sanoa, korjata sen
niin että se näyttää Style50 sanoo sen pitäisi, ja niin me autamme sinua.
Joten se helpottaa elämääsi.
Se tekee elämästämme helpompaa.
Kaikki ovat onnellisempia.
Jokainen saa parempia arvosanoja.
Niinhän me kaikki haluamme?
>> Joten kirjoita asioita paperille ennen Oletko koskaan kosketa tietokoneen.
Puhua asioita korkealla tasolla, ja varmista, että tiedät mihin olet menossa.
Ja jos olet epävarma, istua alas jonkun kanssa
ja kävellä ne läpi vaihe vaiheelta mitä koodi on tarkoitus tehdä.
Ja yhdeksän kertaa 10, sinun on kuten, oh, unohdin, jos ehto
tai Unohdin puolipisteellä täällä tai Olen päivittää tämän muuttujan väärin.
Joten ne ovat minun vinkkejä menestykseen.
>> Joten koska noin puolet näytät kuten sinä osallistui Super jakso,
Olen juuri menossa hyvin lyhyesti läpi silmukoita,
jotka eivät olleet meidän alkuperäinen asialistalla.
Mutta ne ovat todella tärkeitä.
Ja niin aion sellaista Nopeuden kautta nämä
Ennen kuin pääsemme meidän todellinen osiosta.
Ennen minä, että on olemassa mitään questions-- logistisesti,
henkilökohtaisesti, on olemassa mitään muuta haluat
tietää minusta tai noin osan tai luokan yleensä?
Kaikki hyvä?
OK, viileä.
Lovely.
>> Joten loops-- te pitäisi kaikki tunnistaa nämä kappaleet tyhjästä.
Joten silmukat ovat pohjimmiltaan vain tapa, jolla voimme tehdä jotain
Joissakin useita kertoja, jotkut toistuva toiminta perustuu joihinkin ehdollinen.
Joten meillä on kolme erilaista.
Meillä on silmukka, taas, ja tee-aikaa.
>> Joten loops-- meillä on vain hyvin yleinen ulkoasu täällä varten silmukka.
Ja tämä on suuri, kun tietää miten monta kertaa jotain tarvitsee suorittaa.
Kun puhumme muut silmukat, luultavasti
miksi se on tärkeä ero.
Mutta silmukat ovat jotain asetettu.
Tiedät, voit joko laskea numero
tai tiedät kuinka monta kertaa olet halua tätä toistetaan alussa.
>> Joten jos näet täällä, me on vain yleinen laji
luuranko puitteet varten varten silmukka täällä.
Joten alustusta, tämä on silloin, muuttujat alustetaan.
Mario, olen varma, että te teki jotain int i on yhtä suuri kuin 0.
Siitähän se tapahtuisi sinisenä.
Sinulla on kunnossa, mikä on mitä tarkistetaan joka kerta.
Jos tämä ehto on tosi, niin Loput ohjelmaa suoritetaan.
Sitten se juoksee again-- ja kysyä.
Ja sitten meillä on päivitys, jossa olet päivittää muuttuja.
Joten, jälleen, ja kuten Mario, olen varma te teki jotain i plus plus.
Joten joka kerta silmukka juoksi, sain ajan tasalla, jotta
että kun olimme tarkkailun sitä vastaan ehdosta, se oli muuttumassa.
>> Koska jos vain muuttuja on staattinen,
jos se toteuttaa ensimmäisen kerran, se on juuri menossa suorittamaan äärettömän.
Joten sinun täytyy varmista, että olet päivittää muuttujan oikein.
Ja meillä on myös juuri visuaalinen esitys siellä.
Jokainen hyvä?
Silmukoita.
Olisi pitänyt nähdä näitä teidän PSET.
Cool.
>> Joten tässä on vain helppo esimerkki.
Tulosta Tämä on CS50!
10 kertaa.
Ja niin meillä on alustus, kuten näemme siellä, int i
on 0, kun i on pienempi kuin 10, ja minä plus plus.
Ja se tulee tulostaa, että 10 kertaa.
>> Joten vaikka loops-- kun silmukat ovat suuri, kun et välttämättä
on tiedettävä, miten monta kertaa se on menossa päivittää alussa.
Sinulla on vain joitakin edellytyksellä, että on tarkistettu.
Ja tämä voisi olla jotain while-- Otetaanpa esimerkki omasta PSET.
Jos Mario, yrität tulo negatiivinen luku.
Oikea?
Sinun piti uudelleen kysyy käyttäjätunnuksesi.
Joten voit sanoa, hyvin, jos käyttäjä syöttää jotain vähemmän kuin nolla, re-ajallaan
niitä.
Ja olen varma, että voisi olla ollut jotain, että jotkut teistä
käytetty koodi.
>> Joten se on yksinkertainen asia.
Sinulla on aikaa, jotkut ehdollinen, että tarkastetaan
joka kerta koodi menee suorittamiseksi.
Jos se on tosi, otamme sen.
Muuten meillä ei ole.
Ja mitä todella important-- jotain
sitä mieltä, että David puhui vuonna lecture-- ovat olkaimet.
Riippumatta: n sisällä henkselit on mitä teloitettiin.
Jos unohdat ne, henkselit, se vain menee
olla linjassa suoraan jälkeen, kun on suoritettu.
>> Joten jos sinulla on kolme asioita, jotka on tarkoitus
tapahtuu, kun tämä ehto on tosi,
ja sinulla ei ole niitä, henkselit, vain Ensimmäinen asia tulee tapahtumaan.
Joten olla hyvin tietoinen jos laitat olkaimet.
Jos olet kiinni Style50, tämä varmasti auttaa sinua.
Cool.
>> Joten tämä on lähtölaskenta 10 nollaan.
Ja kuten näette täällä, me alustaa jotkut vasta sen ulkopuolella.
Yksi asia, joka on erilainen on emme alustetaan muuttuvien
sisällä while-silmukka.
Se on alustettu sen ulkopuolella.
Olemme yksinkertaisesti vain asettamalla ehto meidän aikaa.
Joten tässä tapauksessa, se on samalla määrä on suurempi kuin nolla.
Ja me tulostaa mitä count on, ja sitten me vähentääksesi meidän muuttuja.
Ja se on myös toinen asia huomata.
Meidän päivitys ei tapahdu että ensimmäinen osa while-silmukka.
Se todella tapahtuu sisällä henkselit, elin tekstin.
>> Joten älä-taas loops-- tee-aikaa silmukoita ovat hyvin käyttäjän hyväksymiseksi.
Joten jotkut teistä saattavat olla käytetään myös tämä teidän PSET.
Voit sanoa, tehdä, kuten, pyytää käyttäjää syöttämään.
Ja sitten taas, kuten, tulo on vähemmän kuin tietty määrä.
>> Joten nimenomaisen tapauksessa Mario, se olisi tehdä printf, syötä kokonaisluku,
ja sitten jotkut kokonaisluku on yhtä getint.
Ja sitten se tulee todella toimeksiannosta sen koodi.
Sinun todella täytyy jonkinlainen kokonaisluku.
Ja sitten voisi sanoa, kun taas että kokonaisluku on pienempi kuin nolla.
Joten mitä se aikoo tehdä, on se menossa suorittaa vähintään kerran.
Se tulee tarkistaa kunto.
Jos ehto on totta, se tulee kulua uudelleen.
>> Joten tee-aikana silmukat ovat suuri käyttäjä validointi,
koska tiedät koodin tulee suorittaa vähintään
kerran, kun taas samalla silmukoita, et ole
taata, että se on menossa suorittaa kerran.
Se tulee tarkistaa kunto ensin ja sitten päättää toteuttaa sen,
kun taas tee-aikaa tulee suorittaa koodin ensimmäinen
ja sitten tarkistaa, onko sinun tarvitse toistaa sitä.
Tämä erottelu ei järkevää kaikille?
OK.
Cool.
>> Joten tässä tapauksessa, tämä on tavallaan mitä puhuin,
Tämän uudelleen ohjeita, kunnes saada positiivinen numero.
Joten me tiedämme, että printf "Syötä positiivinen luku"
ja todella pyytää, että tulo tapahtuu ainakin kerran.
Jos käyttäjä on paha ja pitää kirjoittamalla negatiivinen luku, joka
tietää, kuinka monta kertaa se tulee suorittaa.
Mutta tämä koodi on taattu suorittaa vähintään kerran.
Ja siksi se on hienoa validointi tulo.
Ja voit käyttää sitä melko vähän.
>> Okei, kysyttävää tähän mennessä?
Olemme kaikki hyvin?
Minä puhun liian nopeasti?
Olemme hyviä?
OK.
Mahtava
>> Joten aiomme mennä eteenpäin ja puhua taulukot.
Cool.
Joten paneelit ovat pohjimmiltaan vain tietorakenteita
joka antaa meille mahdollisuuden tallentaa asiat samantyyppisiä.
Joten jos joskus on joukko, se on joko vain täytyy ints
tai se vain täytyy kelluu tai se vain täytyy merkkiä.
Et aio olla int kanssa char käteisvaroja, jossa on kaksinkertainen.
Yksi asia.
Paneelit ovat vain yhtä kokoa, tai he ovat vain yksi tyyppi.
>> Joten tässä meillä on taulukon koko kolme kolme kokonaislukua siinä.
He voisivat kelluu, mutta olemme aio sanoa he ints.
Niin yksi asia on ymmärrettävä, että paneelit ovat joukko koko Kun alustat
heitä, ja he eivät easily-- koska te kaikki olette vähemmän mukavaksi,
sinun pitäisi vain ajatella niitä ei pysty laajentamaan kokoisia.
Kuitenkin suuri kuin esitetään matriisisi alussa,
se on koko se menee pysyä, koska taulukot
ovat jatkuvia lohkojen muistia.
Ja kun kaverit saavat tulee vähän enemmän
miten muisti on todella säädettyihin levyt ja kasaan ja pino,
se tekee hieman enemmän järkeä.
>> Mutta voisitte ajatella kuin se on vain rivi tiloja levyltä.
Ja et voi taata, että siellä on olemaan vapaata tilaa sen jälkeen.
Voisit alustaa array kolme ja sitten ehkä
alustaa toisen johdosta viisi myöhemmin, ja se on heti sen jälkeen.
Joten jos olit ohittaa paikalla kolme tässä ensimmäisessä array,
sinulla olisi kirjallisesti yli jotain muuta.
Joten paneelit are-- teille kaverit, vain ajatella niitä kiinteä koko.
>> Joten luoda array-- olet menossa tarvitse tehdä tätä melko vähän.
Niin samalla tavalla, että meillä on yleinen rakenne meidän silmukoiden
meillä on mukava yleinen rakenne meidän array.
Koska ne ovat yhden tyypin, kaikki elementtejä array ovat yhden tyypin,
joudut alustamaan mitä tuo tyyppi on.
>> Joten, kuten näette täällä, meillä on mukava pieni kiinnike tietotyyppi.
Jos siis luot int array, joka on int.
Jos Luomme char array, se tulee olemaan nieriää.
Jos Luomme merkkijono array, se tulee olla merkkijono.
Ja sitten nimi array, mitä haluat sen olevan.
Joten ehkä se on testitulosten tai ehkä se on opiskelijoille tai ehkä se on karkkia.
Mitä ikinä päättää nimetä array, niinhän se tulee olemaan.
>> Ja sitten suluissa, luultavasti on haluamasi kokoinen.
Joten, me tallentamiseen 10 opiskelijaa tai me tallentamiseen 15 eri karkkia?
Mitä ei.
Joten meidän esimerkiksi täällä, Luomme array
koosta kolme, jotka te katso täällä oikealla.
Ja kun ensin alustaa se kaikki on nolla.
Joten se on vain ajatus samankaltaisten puhtaalta pöydältä.
Meillä on kaikki nämä tilat, olemme kaikki Näiden laatikoiden voisimme laittaa tiedot,
mutta ne ovat vain tyhjiä toistaiseksi.
>> Joten jos haluamme todella liittää ne näitä arvoja,
teemme niin kuin oikeutta täällä näyttää.
Joten sinulla on mitä nimi array on ja mitä sitten indeksi haluat.
Joten indeksi vain viittaa, kuten, mitä slot etsimme.
Ja tärkeä asia huomata on, että taulukot ovat nolla-indeksoitu.
Joten jos haluamme ensin muistitilaa meidän array, se tulee olemaan nolla.
Jos haluamme toisen, se tulee olemaan yksi.
Jos haluamme kolmannen, se tulee olemaan kaksi.
Niin edelleen ja niin edelleen.
>> Joka on myös syy, perinteisesti, kun teemme loops-- olen varma
Te olitte ihmettelevät, miksi alamme 0 vs. 1?
Ja se johtuu siitä kun siirtyminen osaksi käyttäen paneelit, se kartat oikein.
Joten jos haluat kerrata taulukkoon, se
tekee paljon enemmän järkeä do i on 0, koska me
tietää, että vastaavat ensimmäisen paikan muistiin.
Jokainen hyvä, että?
Cool.
>> Ja sitten pohjassa tässä vain Toinen tapa alustaa array.
Sinulla on vielä tietojen tyyppi ja nimi,
mutta sen sijaan, että todellisuudessa laskemisesta koko siellä,
voit vain tehdä tyhjäksi suluissa.
Ja sitten nämä kihara henkselit alareunassa,
voit vain syöttää tietoja, haluat pilkulla erotettuna.
Ja joka automaattisesti sanovat, OK, näen
että sinulla on kolme asioita näissä olkaimet.
Joten tiedän, että minun täytyy jakaa kolmeen lohkot muistia ja sitten tallentaa ne.
>> Joten ensimmäisen version voit käyttää jos olet kysymällä käyttäjän syöttää
arvot niin, että voit kerrata läpi array
ja ask-- saada int syöttää niitä.
Jos tiedät arvot etukäteen, se tekee paljon enemmän järkeä
käyttää toista tapaa.
Mutta useimmissa tapauksissa, et ehkä tiedä, mitä nämä arvot tulevat olemaan.
Cool.
Muita kysymyksiä?
Alright.
>> Joten päästä elements-- joten yksi hienoa noin paneelit
on, että ne ovat satunnaisia yhteys, mikä tarkoittaa, että voit
ei tarvitse käydä läpi joka kadunkulmassa.
Jos tiedät, että olet haluta mitä lohkossa kaksi,
voit vain sanoa, anna minulle lohko kaksi.
Ja siksi nämä indeksit ovat niin tärkeitä,
ja niin me todella käyttää niitä.
Joten tässä tapauksessa, kuten näimme aikaisemmin, kun olimme arvojen syöttämistä, että yksi
Ennen meillä oli nimi ja indeksi halusimme käyttää, eikö?
Niin samalla tavalla, että kaikki me tehdä itse vetää, että tietoja ulos.
Meillä on nimi ja me on indeksi, jonka haluamme.
>> Joten tässä tapauksessa, sillä silmukan täällä alareunassa, kukaan
tietää mitä se tekee, mitä se tulostaa?
Mmhmm?
Täsmälleen.
Niin joo, se on vain iteroidessaan kautta.
i on yhtä suuri zero-- voimme kävellä koodin läpi vain nopeasti.
i on yhtä suuri kuin nolla, i on pienempi kuin kolme tässä vaiheessa, eikö?
Niin että tarkastusten perusteella.
Ja me sanomme, OK, Tulosta f mikä on lämpötila i.
i on nolla täällä kun ensin kerrata, joten menemme tämän ensimmäisen paikan,
ja sanomme, OK, 65 on numero haluamme tulostaa.
Joten se tulostaa 65 ja sitten tehdä uusi linja.
Aion päivittää, niin se tulostaa 87.
Se päivittää uudelleen, ja se tulee tulostaa 30.
Jokainen viileä?
Mahtava.
>> Selvä.
Joten tässä on tavallaan yksi asia sanoin miten
Voit seurata jonkun pisteet ja miksi
käyttäisit ensin tapa alustaa se
sen sijaan, että toinen tapa.
Ja tämä vain menee läpi.
Ja huomaa meillä ryhmäkoko on 30.
Ja me alustetaan tämän joukko ints joka on kooltaan 30.
Ja sitten me iteroidessaan kautta ja olemme
pyytää käyttäjää syöttämään tulokset kunkin näistä
ja sitten määrittämällä sen tietyn paikan muistiin
jossain että array.
Cool?
Onko järkeä kaikille?
Mmhmm?
>> Joten hashtag määritellä ryhmäkoko 30 on esikäsittelijään direktiivi,
mikä tarkoittaa vain sitä gets-- se on tehdä kuten Laadintaan.
Voit ajatella sitä kuten globaali muuttuja.
Miten teemme sen on typically-- se mahdollistaa koodin
jotta voidaan helpommin muuttaa.
Joten sanotaan, että meidän ryhmäkoko yhtäkkiä menee 30-15,
jos en olisi määritellyt sen näin, olisin täytyy käydä läpi koko ohjelman
ja muuttaa jokaisen esiintymän 30-15.
Mutta tämä, saan muuttaa yhden paikalla, ja kaikki muu muuttuu.
>> Jos joskus haluat tehdä hash määritellä asiassa
jos olet pitää kirjaa noin asettaa useita pisteitä luokan
tai käytät useita että voidaan käyttää, kuten,
koko hyvin pitkä ohjelma, se on paremmin määritellä, että alussa
joten nyt jos koskaan se muuttuu, saat muuttaa yhden paikan sijasta 100.
Kyllä?
>> Opiskelija: Välillä tee sitä ja vain julistamisesta [äänetön] yli yläreunassa.
>> ALLISON Buchholtz-AU: Niin se on tekemistä efficient--
se on eräänlainen ulkopuolelle mitä voimme kattaa tässä osiossa.
Se liittyy enemmän tehokkuutta ja miten asiat todellisuudessa
työskentelevät Laadintaan.
Jos haluat todella tietää siitä, olen iloinen lähettää sinulle
sähköpostin resursseja siitä.
Hash määritellään yleensä edullisia asioita.
Ja kuten koodista, et sellaista oppia vivahteita
siitä, milloin kannattaa käyttää globaali vs. hash määritellä.
Mutta toistaiseksi, et todellakaan ole
huolehtia siitä on että lyhyt vastaus.
Jokainen hyvä, että?
Ja myös, jos haluat käyttää hash määritellä,
se on todella tärkeää huomata että nimi pitäisi olla kokonaan isoilla kirjaimilla.
Emme juuri tekemässä Ryhmäkoko olla dramaattisia.
Se pitäisi oikeastaan ​​olla kokonaan isoilla kirjaimilla.
Cool.
Mitään muuta siellä?
Olemme hyviä?
Lovely.
Tervetuloa.
>> OK, joten haluan teitä katsomaan tätä ja katso jos voit löytää vian.
Annan sinulle vihjeen.
Se on jossain, että for-silmukka.
Mmhmm?
>> Opiskelija: Pitäisikö olla pienempi tai yhtä suuri kuin 2.
>> Allison: Niin se voisi olla pienempi kuin tai = 2, tai se voi olla pienempi kuin 3.
Ja mitä perusteluja siihen?
>> Opiskelija: [kuulumaton], 0, 1, 2.
>> Allison: Aivan.
Niin riviksi koko n, me vain indeksit n miinus 1.
Cool.
Ja sitten voimme saada todella hullu ja saada moniulotteinen taulukot.
Yksi ongelmista, kun otin sen minun Vuoden tarvitaan moniulotteinen paneelit,
ja mielestäni yksi niistä saattaa vaatia se tänä vuonna, joten on mukava olla.
Kääri pään ympärillä nyt.
Se tulee takaisin kummittelemaan teitä, mutta viileässä tavalla.
Joten voit todella vain ajatella moniulotteisia taulukoita
kuten paneelit paneelit.
Voit siis sellaista ajatella tämän alkuun krs ensimmäisen palan muistia.
Ja tämä on Toinen kimpale muistia,
ja viimeinen rivi on kolmas kimpale muistia.
Ja tuossa, siellä on jono.
Mutta tietenkin, se on helpompaa kuvata näin.
>> Joten voit alustaa sen samalla tavalla.
Tämä on merkki Hallituksen kolme kolmella.
Joten sinulla on kolme riviä ja kolme saraketta.
Olemme edustavat sitä tällä tavalla.
Ja voisitte käyttää sitä Samoin sarakkeen rivillä.
Ja niin 1,1 kuten näemme täällä.
Asetamme nolla, nolla siellä.
2,0 ja 0,2.
Voisi siis vain käyttää them-- jos kukaan on koskaan tehnyt lineaarialgebra,
Samalla tavalla voit käyttää osa matrice, se on sama ajatus täällä.
Joten voit suhteuttaa sen takaisin matematiikasta.
Sinun ei tarvitse huolehtia liikaa paljon tästä juuri nyt.
On hyvä olla alttiina, tietää, että voit tehdä sen.
Voit luoda joitakin hullu number-- voit
luoda hullu taulukot on kaikki aion sanoa.
[Äänetön]
Se saa hieman hullu, mutta se on todella siistiä.
Mahtava.
>> Ja sitten, joten meillä on esimerkki tästä.
Se laskee merkkijonon pituus.
Niin kuinka moni tiesi, että jouset, että käytät
ovat vain ryhmät merkkiä?
OK, joo.
Joten te voi ajatella, että et ole käytetyt taulukot ennen, mutta koska tahansa
käytät getstring vuonna CSView kirjasto, olet
oikeastaan ​​vain pyytää erilaisia ​​merkkejä.
Ja me huolta kaikista että back-end sinulle.
Mutta olet käyttänyt taulukot, kun aloitit.
Et vain tiennyt sitä vielä.
>> Ja kun sinulla on yksi hahmo array tai joukko, joka on tallentamiseen merkkijono,
viimeinen asia on aina mitä kutsutaan null terminaattori, joka
on tämä täällä.
Ja että on lopussa jokainen sana, että olet tallentamiseen.
Joten jos haluamme selvittää merkkijonon pituuden, voimme sanoa,
No, te tiedätte, sisältö että lohkon
ei ole sama kuin meidän null terminaattori.
Tämä tarkoittaa, että on olemassa jonkin verran merkki on, että me itse
välitä se on osa sanan.
Voit lisätä pituutta.
Ja sitten kun me itse saada sanan loppuun, se tulee lopettaa
ja se tulee palauttaa meidän pituus meille.
Mmhmm?
>> Opiskelija: Onko tilaa lasketa null terminaattori?
Allison: Eli tilaa on ei null terminaattori.
Joten jos sinulla on multiple-- tilaa on todella erityinen ASCII-arvo.
Opiskelija: Mikä huudahdus yhdenvertaisen uudelleen?
ALLISON: Niin, tämä on mitä viitata.
Jos olet koskaan kuullut minua virka, Olen aina sitä kutsuvat, kuten Bang tasavertaisina.
Joten Bang ei ole.
Joten tämä ei ole yhtä kuin.
Joten jos yrität katso jos jotain on väärä,
tiedät aina tehdä, bang tahansa muuttuja on, ja jos se on väärä,
se on tosi ja sinulle voi tehdä hienoja juttuja että.
Siitä lisää myöhemmin.
Cool.
Kaikkea hyvää sinne?
Mahtava.
>> Joten nyt on sinun kaverit "aika työtä, koska olen puhunut.
Joten haluan sinun vain luoda array kanssa kokonaislukuja yksi, kaksi, kolme,
ja sitten ovat ne tulostetaan.
Sinun ei tarvitse tehdä, kuten, tärkein, blaa, blaa, blaa, mitä tahansa.
Haluan vain voit alustaa array ja luo sitten
varten silmukka tulostaa ne out-- tai while-silmukka, jopa sinulle.
>> Otan vain antaa sinulle pari minuuttia työtä, että.
Aion levätä ääneni.
Jos sinulla on kysyttävää, olen onnellinen tulla ympäri ja puhua kaverit.
Voit vapaasti puhua toistensa kanssa.
Saada enemmän karkkia.
Itse asiassa minä vain kävellä ympäriinsä karkkia.
Kuinka niin?
>> Haluatko mitään?
Kukaan muu tässä huoneessa haluavat karkkia?
Voit myös ottaa enemmän kuin yhden, kaverit.
Ota kourallinen, jos haluat.
Yhtä hyvin.
Kaikki muutkin hyvää?
OK.
>> Lisäksi aion luoda anonyymi Google Form,
ja te voi vain esittää Palaute jälkeen jokainen jakso
jos on jotain haluat parannella tai jotain haluat tehdä.
Jos olen hieman liian Peppy sinulle, voin sävy se alas.
Minä luoda sitä ja lähettää sen ulos teille kaikille jälkeenpäin.
>> Selvä.
Joten aloitetaan pieni.
Kuinka voisimme alustaa meidän array?
Mikä tyyppi meidän array?
Int, eikö?
OK, niin mitä haluat soittaa array?
Int array, viileä.
Okei, joten meillä on int int array yhtä suuri, ja mitä meillä on sen jälkeen?
Opiskelija: [kuulumaton] suluissa.
Allison: olkaimet.
Ja sitten sisällä henkselit?
Yksi pilkku kaksi pilkku kolme.
Cool.
Niin ei se mitään.
Joten nyt meillä on varten silmukka.
Joten ensimmäinen osa varten silmukka, mitä meillä on?
>> Opiskelija: i on yhtä kuin 0?
>> Allison: Niin int i on yhtä suuri kuin 0, ja mitä sitten on meidän kunnossa?
Mitä minä olemaan alle?
Vähemmän kuin kolme, ja miten me päivitämme minä?
i plus plus, päivittää sitä yhdellä.
Ja sitten me aiomme olla jotkin printf on kokonaisluku,
ja mikä on se viimeinen osa, joka on itse asiassa
aio sanoa, mitä meidän pitäisi tulostaa?
Olisi nimi array, joka on int array, eikö?
Ja mitä on sulkeissa int array?
i.
[? Niin minä?] Kutsuin Esimerkiksi, mutta siellä mennään.
Ei niin paha.
Jokainen hyvä?
Cool.
>> Joten olemme tehneet paneelit.
Onnea.
Olet onnistunut kerrata läpi kaikki the-- kyllä?
>> Opiskelija: [kuulumaton]
>> Allison: Kyllä.
>> Opiskelija: Minulla on kysymys.
Sinun pitäisi sisentää henkselit?
>> Allison: Eli olkaimet olisi riviin jossa on silmukka, ja sitten kaikki
sisällä henkselit olisi sisennetty.
>> Opiskelija: OK, pitäisi silmukkakytkentäjohdotukseen sisennetä?
>> Allison: for silmukka ei on sisennetty tässä vaiheessa.
Jos olisit main, jos me todella oli päätehtävä täällä,
se olisi sisennetty tärkein.
Mutta tässä tapauksessa, se on hieno.
Kyllä, kysymys.
>> Opiskelija: Onko sinulla täytyy olla jälkeen suluissa esimerkki?
>> ALLISON: Kyllä, jos olet alustetaan niin.
Joten muistakaa, tämä on toinen tapa alustaa array jossa
meillä on henkselit ja sitten meidän todellinen tietojen pilkulla erotettuna sisällä.
>> Opiskelija: Luulin oli kannattimet, että esimerkiksi.
>> ALLISON: Ei, he olkaimet.
He olkaimet.
Jos olet alustamatta että toinen tapa, se on henkselit.
Jos olisimme sanoa, int example-- jos Halusimme vain tyhjä array ints,
olisi int esimerkiksi kiinnikkeet kolme.
Suluissa edustavat koko.
Kun sinulla on hammasraudat, se on todelliset tiedot
olet laskemisesta sitä tällä tavalla.
Voimme vierittää takaisin todella nopeasti.
>> Joten tässä yksi, tämä on vain meidän aloitustaulukon, alustus.
Ja täällä, me olemme yksin osoitetaan paikkoja niille,
joten tämä edustaa indeksi meidän array, minkä vuoksi meillä on suluissa.
Mutta täällä, jos huomaat olemme jätimme suluissa ilman koko,
ja me alustaa sen Varsinainen data all-in-one on hammasraudat.
Opiskelija: Miksi ei meillä suluissa tässä esimerkissä?
ALLISON: Eli mikä osa?
Opiskelija: Eikö me vaikkapa int Esimerkiksi suluissa
on yhtä kuin henkselit [kuulumaton] suluissa, esim.
>> ALLISON: Ai, anteeksi.
Olet oikeassa.
Meillä on suluissa siellä.
Sorry guys, my bad.
Kyllä, sinun pitäisi olla jälkeen suluissa esimerkki.
Olet aivan oikeassa.
>> Opiskelija: [kuulumaton] ei tee sitä.
>> ALLISON: Ei, sinulla on oltava suluissa, koska muuten se on
aio julistaa array.
Opiskelija: [kuulumaton].
Pahoillani siitä.
>> ALLISON: Anteeksi, tarvitset jälkeen suluissa esimerkki.
Typo.
Hyvä saalis, kulta tähti sinulle.
Myös, jos pyydät kysymys, jos te olisi vain kerro minulle nimiä,
Mielelläni että.
Mielelläni pystyä tietää kaikki nimet.
En aio kylmä soittaa sinulle, olen itse
en vain halua tietää nimiä.
Joten oikeastaan ​​kerro minulle nimiä.
>> LEAH: Leah.
>> Allison: Leah.
OK, joten functions-- tiedän lyhyesti he puhuivat tästä aikana luento.
Joten tehtävät ovat sellaisia ​​vain kuten nämä pikku suupaloiksi asioita
jos ohitat tuloa, jotain maaginen tapahtuu, ja saat lähdöt.
Cool.
Joten te todella käytetään monet näistä jo.
Hanki int, saat merkkijono, tulostaa f.
Nämä ovat kaikki toiminnot jossa voit vain soittaa heille,
siellä on paljon maagisia asioita käynnissä taustalla
että et välttämättä näe, ja saat mitä haluat.
Tai ainakin saat mitä toivoa haluat.
>> Ja pohjimmiltaan pisteen toimintoja, ja yksi pääteemoista CS,
on murtaa koodia kokoisina paloina.
Kun alat kirjoittaa nämä todella pitkä ohjelmat,
tai Scratch kun piti tämä grand idea peli,
sinun täytyy pystyä murtamaan sitä alas, kuten, OK, miten aloitan?
Mitkä ovat pieniä paloja, että tarvitsen?
Voi, minun täytyy kysyä Käyttäjä jotain.
Nyt minun täytyy tulostaa jotain.
Voi, minun täytyy laskea tämän arvon.
>> Ja oppia hajottaa koodi ja suuret ongelmat
on näitä pieniä paloja ja luoda toimintoja
on itse asiassa yksi iso kulmakiviä CS.
Joten voit ajatella funktion yhtä kuin musta laatikko, maaginen musta laatikko,
että laitat asiat oikeisiin ja saat joitakin lähdön.
Ja muun ohjelman ei tarvitse välttämättä tietää
mitä tapahtuu sisällä, että musta laatikko.
Kaikki se välitä mitä menee ja mitä tulee ulos.
Cool.
>> Joten miksi toimintoja?
Organization-- kuten sanoin, kun olet käsittelevät erittäin suuri koodi emäkset,
miten voit järjestää koodi on paljon helpompaa, jos käytät toimintoja.
Koska voit olla, kuten, OK, tämä
Juuri tämä toiminto tekee ja tässä mitä toinen tekee.
Ja voit helposti nähdä miten ne kaikki sopivat yhteen.
Joten murtamalla ylös kaikki Näiden hallittavissa alaluvuissa.
>> Joten simplification-- olen varma että te kaikki näkivät, kuten sanoin, Scratch.
Sinulla on tämä suuri idea, ja et pidä, miten tämä kaikki toimii?
Mutta jos lähestyt sitä hajanainen, sanot, OK,
miten voin tehdä yhden sprite float näytön poikki?
Se on hieman helpompaa.
Joten hyvää käytöstä toiminnon avulla koodin paljon helpompi lukea.
Se helpottaa debug joka, kuten saat oman myöhemmin ongelma sarjaa,
aiot todella haluavat pystyä tekemään.
Ja he ovat myös helpommin suunnitella ja toteuttaa.
Voit koodata jopa pieni toimivat suhteellisen nopeasti
ja varmista, että se toimii vs. yrittää luoda koko tämä pitkä ohjelma
ja sitten sellaista mennä läpi ja nähdä, mikä toimii ja mikä ei.
>> Ja sitten uudelleenkäytettävyys.
Niin toimii vain tarvitsee kirjoitetaan kerran,
ja sitten voit käyttää niitä niin monta kertaa kuin mahdollista.
Niin se on, kuten, ympäristöystävällisiä tavallaan.
Jos sinulla on ollut asioita, kuten Tulosta f, missä
piti kirjoittaa taika, joka menee takana tulostaa f joka ikinen kerta
halusit tulostaa jotain, Olisi aika sairas ja kyllästynyt siihen
loppuun mennessä.
>> Yksi niistä asioista, että sinun oppia myöhemmin CS luokissa,
tai yksi parhaista neuvoja saan
on, jos olet kopioimalla koodia, se olisi todennäköisesti funktio.
Jos sinulla on täsmälleen sama linjat kaikki koko koodi,
jos laskelmiin ne pois, koodi olisi luultavasti
olla, kuten, viisi kertaa lyhyempi ja on paljon helpompi lukea.
Ja sen sijaan, että yritetään vianmääritys kaikki nämä eri paikoissa, joissa asiat
voisi mennä pieleen, sinulla on yksi funktio että saat vianmääritys.
Ja lupaan, paljon tätä saattaa tuntua eräänlainen abstrakti nyt
mutta kun päästä myöhemmin ja myöhemmin ongelma asetetaan,
se tekee paljon enemmän järkeä ja todella ajaa kotiin.
Onko kysyttävää Tietoja toiminnoista tähän mennessä?
Miksi käytämme niitä?
Tiedän, ettemme ole saaneet osaksi pikkuseikoista vielä.
Niin määritellään function-- kuten taulukot, me tarvitsemme jonkinlaista of-- tämä
on vain yleinen tuotos.
Joten tämä on toiminto, joka on juuri menossa kuution syötöillä.
Ja seuraavalla sivulla, itse asiassa, meillä on kaikki näitä mahtavia pieniä asioita täällä.
Niin, voi jokainen lukea että, uteliaisuudesta?
Tiedän violetti ja musta saattaa olla hieman vaikea.
>> Mutta isoja asioita know-- joten ensimmäinen yksi täällä on meidän palautuva.
Niin tämä puhuu lähtö Tämän toiminnon, kun tässä tapauksessa,
laitamme joissakin määrä, mitä me olemme saaminen on että määrä kuutioitu.
Niin se olisi int tässä tapauksessa.
Ehkä se olisi kaksinkertainen tai jotain muuta myöhemmin, mutta tässä tapauksessa,
se on int.
>> C, aina on palautuva.
Se tulee olemaan Int.
Se tulee olemaan kellua.
Se tulee olemaan kaksinkertainen.
Mutta sinun täytyy määritellä, mitä tämä toiminto on aio palata.
Muuten se huutaa teitä, ja se ei käänny.
Tulet olemaan surullinen, ja minä olen surullinen.
Ja se vain ei ole hyvä.
OK.
>> Ja sitten meillä on funktion nimi.
Ja kuten näette täällä, C on tämä hyvin johdonmukainen paradigma.
Mikä on tyyppi, mikä on nimi, ja sitten jotkut muut asia lopussa.
Joten meillä on palautuva, meidän funktion nimi, ja sitten
meillä on otsikon kanssa meidän parametriluetteloa.
>> Joten parametri lista on, mikä on Tämän toiminnon aikoo ryhtyä?
Parametrilista on yksinkertaisesti synonyymi, mitkä ovat meidän tuloa?
Ja samalla tavalla, että me on määriteltävä meidän tehtävämme
ja antaa sille tuottoa tyyppi, jokaisen meidän tuloa
tarvitsee tyyppi liittyy sitä.
Joten tiedämme, mitä meidän toiminto voi todella työskennellä.
>> Joten tässä tapauksessa, meillä on joitakin int tulo.
Joten jälleen, se tulee olemaan tyyppiä ja mitä soitat sitä.
Ja sitten, kuten näette täällä, meillä on kehomme.
Joten meillä on joitakin int tuotos, joka on vain meidän panos kertaa itse
kertaa itse, joka vain kuutioita sitä.
Ja sitten palaamme että lähtö.
>> Joten kuten näette täällä, meillä on int kertaa int kertaa int,
joten se palauttaa int, joka on julistettu siellä.
Joten kaikki on yhtenäinen.
Kaikki on onnellinen.
Sinun toiminto toimii.
Ja tämä on vain yleinen juttu.
Niin aina on palautuva, nimi, ja sinun parametriluetteloa.
Jokainen asia teidän Parametrilistassa tai tulo,
tarvitsee tyyppi liittyy sitä.
Ja sitten sinulla on elin täällä riippumatta
haluat tehdä teidän panos.
>> Ja sitten tietysti sinua halua palata jotain.
Joskus toimii vain palaa.
He eivät oikeastaan ​​palata jotain, jota voit käyttää.
Mutta sinun täytyy palauttaa jollakin tavalla.
Ja kun teet omia toimintoja,
voimme saada tuohon hieman syvemmälle.
Henkilökohtaisesti, jos haluat, on olemassa paljon Eri asioita voisi tehdä siellä.
Jokainen hyvä?
Mitään tässä luettelossa että haluat minut mennä yli, että et ymmärrä?
Jokainen on hyvä siellä?
Cool.
Mahtava.
>> OK, joten me laitamme kaikki tämä yhdessä nyt.
Joten meillä on joitakin int kuutio tulo, joten Tämä on täydellinen ohjelma täällä.
Tähän asti olen Tällainen on antaa sinulle
kaverit katkelmia, jotka saattavat menossa ohjelman sisällä.
Olemme juuri katsot toimintoja.
Mutta tässä on koko ohjelman.
Niin kuinka moni teistä muistaa sana prototyyppi luento?
Cool.
Meillä yksi.
Mikä sinun nimesi on?
>> STEPH: Steph.
>> Allison: Steph?
OK, mahtava.
Niin, muistatko mitä prototyyppi on?
>> Opiskelija: Sanot [kuulumaton] ennen kuin itse käsitellä sitä.
>> Allison: Muistatko miksi?
>> Opiskelija: Ei.
>> Allison: OK.
Gold Star.
Joten kyllä, prototyyppi meillä etukäteen, koska muuten
meidän kääntäjä on menossa huutaa meille.
Se tulee sanoa, OK, mikä on tämä kuutio toiminto?
Kuten, sinulla on kirjaimellisesti kertoi minulle mitään tästä.
Se on kuin kun törmätä luokkahuoneessa,
ja joku on kuin, siellä tietokilpailu tänään.
Ja et pidä, et koskaan kertonut minulle tästä.
En ole tyytyväinen meihin.
Prototyyppi on pohjimmiltaan oman oppimäärän sanoen näyttää.
Heads up.
Siellä tulee olemaan tietokilpailu tänä päivänä.
Älä älyttömästi, kun saat sen.
Aiot olla kunnossa.
>> Joten kaikki prototyyppi ei vain kertoa Tärkein, aion käyttää tätä toimintoa.
Lupaan olen määrittelemättä sitä myöhemmin.
Älä älyttömästi minua.
Vain koota ja tehdä, mitä minä käsken teidän.
Joten meillä on prototyyppi siellä vain tehdä meidän kääntäjä onnellinen.
Ja se on pohjimmiltaan lupaus, että olet määritellyt tämän toiminnon myöhemmin
ja että et ole vain soittamalla tämä sattumaa, että se
ei tiedä, mitä olet aiotaan tehdä.
>> Joten tässä tapauksessa, meillä on tärkein täällä.
Me alustaa jonkin kokonaisluvun x.
Se on kaksi.
Aiomme tulostaa mitä x on.
Aiomme Cube x.
Kuten näette, meillä on toiminto ilmoitus
tänne, että me puhui aiemmin.
Se tulee kuution X, ja sitten, jos me Muistan, kuutio toiminto todella
palauttaa kokonaisluvun meitä, joka on tallennettu
x uudelleen, jotta voimme tulostaa kahdeksan tai kuutio X juuri nyt.
Onko järkeä kaikille?
Olemme hyviä?
Selvä.
Mahtava.
>> Selvä.
Kuinka moni teistä kaverit Muista tämä niin tämä
on pohjimmiltaan vain sinun pino ja keko,
vain visualisointi miten muisti on tallennettu täällä.
Joten me vain haluamme tehdä Varmista, että ymmärrät
miten nämä ovat edustettuina muistiin.
Jos otat esim.painijat CS61 ja juttuja myöhemmin,
saat oppia tätä paljon enemmän perusteellisesti, ja se on todella siistiä.
Suosittelen sitä.
Mutta nyt, minä annan te laaja katsaus
joten sinun ei tarvitse tietää pikkuseikoista.
>> Joten alkuun vain teksti segmentti, joka sisältää varsinaisen nollia ja ykkösiä,
binary siitä.
Ja tämä käytetään tallentamaan yleismuuttujat jos sinulla on.
Kun liikut alas, me on, kuten näette täällä,
alustettu data, alustamatonta data, ja sitten kasaan.
>> Joten emme todellakaan puhu Tietoja kasaan juuri nyt.
Pääsemme siihen myöhemmin.
Nyt olen juuri menossa aalto käteni ja olla,
sinun ei tarvitse tietää tästä nyt.
Mutta me puhumme hieman vähän siitä pinon.
Joten pino on where-- meillä zoom.
Tämä on todella miten ohjelma me vain katsoi tapahtuu muistiin.
>> Mitä tapahtuu, on, joka aika kutsumme toiminto,
saamme mitä kutsutaan pino kehys, joka on yksi näistä.
Joten tärkeimmät parametrit.
Joten ne ovat asioita että ohitamme keskusmuistiin.
Joten he ovat täällä alareunassa, koska se on ensimmäinen asia kutsumme.
Ja sitten pääsemme Mainin paikalliset, ja kun sanomme, että
tarkoitamme paikallisia muuttujia että ne tallennetaan tärkein.
Joten paikalliset täällä olisi, kuten, x on yhtä suuri kuin kaksi tässä tapauksessa.
Koska se on lokalisoitu tärkein.
Onko jokainen muistaa laajuus, menee yli, että luento?
OK.
Joten, vain muuttujia, jotka alustetaan sisällä tärkein.
Joten siksi meillä on tärkein [? laulua. ?]
>> Ja sitten sisällä tärkein, kutsumme kuutio.
Oikea?
Joten saamme toinen runko kuution parametreja.
Joten tässä tapauksessa, kuution parametrit ovat nyt
X, että teimme vuonna, kaksi, että teimme vuonna.
Ja sitten kuution paikalliset, mikä on jossa varsinainen cubing tapahtuu.
Ja sitten se palaa.
>> Mitä tapahtuu, on kuin kuutio todella tekee mitä sen pitäisi tehdä, se palaa.
Kun se palaa, tämä kehys lehdet, ja sen palasi alas tärkeimmistä.
Ja sitten sisällä tärkein, me voi itse tulostaa sen.
Joten kun olet palaamassa jotain, kun funktio palauttaa,
se on kuin siirtää näitä arvoja rungon alla ja sitten poistutaan.
Ja asiat täytyy suorittaa järjestyksessä.
>> Ja kun saat isompia ohjelmia, voimme tehdä jäähdytin ja monimutkaisempi
kaaviot.
Mutta nyt, tämä on vain yleiskatsaus
niin sinulla on sellainen käsitys siitä, mitä
tapahtuu, kun soitat toiminto ja miten se todella näyttää muistissa.
Cool?
Jokainen hyvä?
Mahtava.
>> Joten tämä on yksi, joka on vain yrittää vaihtaa asioita.
Kuten näemme täällä, meillä on meidän tehtävämme prototyyppi
niin, että kääntäjä ei huuda meille.
Meillä on joitakin tärkein, ja me haluat vaihtaa x ja y.
He eivät ole tehneet tätä demo luennossa vielä, he ovat?
He eivät ole?
OK.
Joten aiomme mennä yli tämän hyvin lyhyesti.
Saat tähän esimerkki lisää perusteellisesti, mielestäni tällä viikolla.
Ja sitten ensi viikolla voimme todella sukeltaa miksi tämä ei toimi.
>> Joten meillä on tämä mitätön toiminto here-- swap.
Niin mitätön vain tarkoittaa, että mitään ei palauteta.
Ja meillä on swap int ja int b.
Ja meillä on joitakin väliaikaisia muuttuja, joka on.
saa osoitettu B ja sitten b saa osoitettu temp
niin, että a ja b: n arvot ovat nyt päällä.
>> Mutta juoni twist, tämä ei toimi.
Ja osa siitä on itse asiassa tekemistä sen kanssa, että
ja b täällä, ne, jotka saavat hyväksyttiin vuonna tässä, ovat itse asiassa kopioita x ja y.
Joten kun funktio todella palauttaa, se kytkeytyy kopioita, mutta ei
Varsinainen x ja y: n.
Joten yksi tapa ajatella asiaa on that-- teeskennellä nämä ovat swap.
OK?
Joten tärkein, meillä on x ja y alustettu.
Mutta kun me itse mennä ylös Näiden kehykset swap,
olemme ohimennen arvot koko sen, ja he alustettu.
>> Ja he vain koskaan asua täällä.
Niin ja b asua täällä.
Ja he saavat vaihtaa paikkaa.
Mutta kun palaamme, emme tehdä mitään ja b.
ja b loman meidän tehtävämme.
Ja niin x ja y pysyvät samana.
Saat enemmän, miten korjata se ja miten me oikeastaan ​​käsitellä myöhemmin.
>> Mutta se on vain yksi asia sellaista pitää mielessä.
Käyttää sitä tulevaisuudessa.
Älä huolestu, jos se ei tee kaikki järkeä maailmassa.
Ne ovat kopioita on suurin asia.
Jos aiot ottaa mitään pois, että olet läpäissyt vuonna kopioita.
Joten alkuperäiset pysyvät samana.
Jokainen hyvä?
Cool.
>> Joten komentorivin argumentteja.
Olen varma, että alussa te kaikki oli näitä suuria, kuten, int main onteloita.
Ja olet kuin, OK viileä.
En todellakaan välitä.
Tämä on juuri sitä, mitä minun täytyy kirjoittaa.
Mutta uusia ohjelmia, varsinkin tässä PSET,
ja miksi on siellä liidulla maahan?
>> Kanssa seuraavalle PSET, olet tullaan näkemään tämän.
Int main, int arg C, string kaari v, suluissa.
Joten, mitä me juuri oppinut tänään, mitä
ajattelemme, että toinen parametri tai että toinen elementti on täällä?
Se jono.
Minkälaista array?
String array, kyllä.
Cool.
Niin, että miten aiot voidaan julistaa nämä nyt.
>> Muistaako kukaan mitä nämä seistä?
Ei?
Hmm?
>> Opiskelija: arg C.
>> Allison: Niin Arg C pitää laskuri.
Se on int.
Se on numero, eikö?
Joten mitä luulet, että määrä on?
Joo.
Niin arg c on määrä jouset jotka muodostavat komentoriviltä.
Joten jos me do-- todella, on olemassa esimerkkejä tämän jälkeen,
joten en päästä eteenpäin itsestäni.
Se on joukko merkkijonoja, vain tehdä jopa komentoriviltä.
>> Joten kun teet niinku piste slash Mario, se on yksi merkkijono, joka tekee sen.
Tässä pala, sinun todella olla ruokinta asiat oikeisiin komentoriviltä,
koska olen varma, että te, jotka lukenut spec saha.
Joten niissä tapauksissa, ehkä sinun on kaksi tai kolme argumenttia.
Se tulee olemaan hyödyllinen asia käyttää.
>> Ja sitten arg v, kuten sanoimme, on vain merkkijono array.
Niin että oikeastaan ​​tallentaa mitä syötettyä komentoriviltä.
Joten meillä on nämä.
Sinulla on joitakin piste slash kopioi INFILE outfile.
Joten, jos arg c on määrä jouset että olemme kulkeutumasta komento
linja, mikä on meidän Arg C tässä tapauksessa?
Kolme.
Täsmälleen.
>> Joten mitä arg V nolla?
Joten mikä on ensimmäinen asia, olemme säilytetään?
Dot slash kopio, tarkalleen.
Ja sitten toinen olisi INFILE.
Kolmas olisi outfile.
Entä arg vastaan ​​kolme?
Olisi null, koska se on Lopussa meidän array, eikö?
Cool.
>> Ja mitä sitten noin kuudes yksi?
Se on eräänlainen temppu kysymys.
Ish.
Tiedämmekö, mitä se on?
Se on määrittelemätön.
Meillä ei ole aavistustakaan, mitä se voisi olla.
Se mikä on oikea jälkeen array muistiin,
ja meillä ei ole aavistustakaan, mitä se on.
Ja se on vaarallista koskettaa näitä asioita, koska kaikki tiedätte,
se on joku osa muistista, että olet ei pitäisi olla pääsyä tai null.
Ja se voi tehdä hulluja asioita.
Sitä kutsutaan yli-indeksointi teidän sidottu matriisisi.
Älä mene rajojen ulkopuolella oman array, tai huonoja asioita voi tapahtua.
Tulet takaisin ja, kuten lait Fysiikan ovat tuhoutuneet
tai jotain.
Cool.
Onko järkeä kaikille?
Ei liian huono.
>> Joten nyt, kaikkien suosikki osa, PSET tarkastelu.
Jee!
OK.
Joten ne teistä, jotka ole lukenut PSET spec,
olet tekemässä joitakin todella mahtavaa salakirjoituksen.
Aiot luoda Ceasar Cipher ja Vigenere Cipher.
Kannattaa ehdottomasti lukea spec nähdä miten nämä työt.
Ja jos sinulla on ongelmia noin mitä se oikeastaan ​​pitäisi tehdä,
tulkaa juttelemaan, lähetä minulle sähköpostia tai tekstin minulle.
Olen noin.
>> Niin on olemassa kolme pääasiallista asioita täällä, että me
halua puhua about-- juuri sellainen jatkeesta luento.
Asioita, joita et ehkä tiedä noin, hyödyllisiä vinkkejä ja työkaluja.
Joten aiomme tehdä pikakuvaus ASCII,
koska se tulee olemaan erittäin tärkeää Vigenere salakirjoitus.
Aiomme muuntaminen komentoriviltä tuloa, joka
tulee olemaan erittäin hyödyllistä Caesar Cipher.
Ja sitten modulo.
Cool.
>> Joten, ASCII kartat merkkejä numeroita.
Tämä on hyvä kaavio.
Sinun pitäisi olla tässä kirjanmerkiksi jonnekin.
Haluatte sitä ensimmäinen puolivälin.
Olen melko varma, että jokainen on tämä kaavio niiden puolivälissä arkki.
Joten oppia se.
Rakastan sitä.
Pidä se kätevä.
Se tulee olemaan hyödyllistä.
>> Ja kaikki se on on koodaus että kartat kirjaimista, numeroista,
ja muita merkkejä numerot meidän tietokone.
Koska tietenkin Lopulta kaikki Tallennamme
on menossa muunnetaan alas nollia ja ykkösiä,
joten meidän täytyy jotenkin edustamaan Teksti ja merkit, että olemme kaikki
tottuneet näkemään jonkinlaisena numero.
>> Niin näemme täällä, meillä on isoja, joka on oikeassa.
Se on 65.
Ja pienet on 97.
Joten voit selvittää out-- kuten aiemmin totesin,
jos sinulla on ollut joukko useita jouset, mitä kukin niistä
on null terminaattori.
Olisi tilaa.
Space on oma special-- Unohdan jos se on täällä.
Ah.
32 on tilaa.
Joten kaikki kartat siihen.
>> Joten meillä on ASCII matematiikka.
Pro tip-- vuonna Vigenere n, saatat olla kiusaus
muuntaa numeroita kokonaislukuja, mutta se on itse asiassa parempi käytäntö
pystyä käyttämään merkkejä, kuten tämä
kun olet todella manipuloi heitä.
Joten jos haluat käyttää numeroita, voit.
Mutta parempi tapa, tai siten, että me yleensä kuten te tehdä sen,
on näin, jos olet todella vähentämällä merkkiä.
>> Joten haluan sinun kaverit Tällainen kuva nämä pois.
Miksi et yritä joka toinen?
Joten tee ensimmäinen, kolmas ja viides.
Koska haluan varmistaa, että puhumme kaiken meidän täytyy puhua.
Olen juuri menossa sanoa, yksi tärkeitä asioita to-- Voi odottaa,
te ole nähnyt tätä.
OK niin tehdä kolme ensimmäistä.
Mennään vain.
Koska meillä on puhua modulo.
Tiedän.
Matematiikka on kova.
Voit käyttää laskinta.
Se on OK.
Tai vedä ylös ASCII taulukko, koska olet todennäköisesti menossa halua.
>> Cool.
Joten en nopeasti kävelemään te läpi näitä.
Joten ihmiset ovat ASCII-taulukoiden revitä?
Mikä on meidän numeerinen numero pieniä?
Opiskelija: Seven.
>> Allison: Niin pienet on 97 ja isoiksi on 65.
Joten 97 miinus 65?
>> Yleisö: 32?
>> ALLISON: 62, joo.
Joten tässä tapauksessa, mitä olisi se tulostaa?
Että ensimmäinen?
Jos meillä prosenttia d, Mikä se osoittaa?
Opiskelija: numero.
Allison: Olemme tulostus out todellinen määrä.
Joten olemme todella menossa tulostaa 32 täällä.
Ja jos tämä olisi prosenttia C, 32 antaisi meille tilaa.
Niin ymmärtää, että merkkiä voidaan tulostaa
sekä numeroita ja Varsinainen merkkiä
On todella tärkeää, ja maksamalla huomiota todellinen tyypit
että teemme täällä.
Cool.
Joten joka toinen näistä, mitä aiomme tulostaa?
>> Opiskelija: merkki.
>> Allison: merkki.
Cool.
Joten jos kaverit haluavat tietää, sinua voi työskennellä nämä pois omasta.
Jos sinulla on ongelmia, lähetä minulle sähköpostia.
Mutta toinen tulee tulostaa pieniä b.
Kolmas tulostuu isoja B. Neljäs tulostaa
out isoja C, ja viimeinen on pieniä A.
Ja viimeinen one-- olemme todella menossa päästä mitä tämä hullu prosenttia
Kirjaudu edes tarkoittaa pari dioja.
Niin kokeile näitä itse.
Jos sinulla on ongelmia, tulkaa juttelemaan.
Jos olet yleensä Adams D sali, löydät todennäköisesti minut ympäri.
>> Niin, atoi.
Kuinka moni teistä on nähnyt tämän toiminto tai kuullut siitä lainkaan?
Kukaan?
Cool.
Joten mitä se tarkoittaa sillä on ASCII kokonaisluku.
Joten mitä voit tehdä on, Caesar, niille, jotka lukea spec,
aiot tehdä piste slash Caesar Kun olet kirjoittanut ohjelman,
ja sitten olet menossa input jotkut numero, joka
halua koodata salaisen viestin kanssa.
>> Mutta, jos muistamme, kaikki meidän tulot tallennetaan merkkijonoja.
Oikea?
Meillä arg v array että on kaikentyyppisiä merkkijono.
Joten jos olet vain yrittää vedä että yksi, se
ajatella, että yksi tai mikä numero käytit on oikeastaan ​​merkki.
Joten aiot saada joitakin hulluja tuloksia.
Joten jos todella haluat muuntaa tätä kokonaisluku
että voit käyttää manipuloida tekstinkäsittely- tai viestisi,
sinun kannattaa käyttää atoi.
atoi vain muuntaa teidän merkkijono int.
>> Joten jos meillä on merkkijono 12, jos me kutsumme atoi 12, tai mitä se tulo on,
se todella palauttaa sinulle kokonaisluku.
Ei merkki tai merkkijono 12.
Joka, kun aloitat lisätä, että numeroita,
on hyvin erilainen, koska merkkijono 12 on
joku hullu numero ASCII, mutta kokonaisluku 12
on oikeastaan ​​12, joka on mitä haluat.
Joten haluat varmistaa käyttää atoi.
>> Olet menossa halua tätä Caesar, koska olet
tarvitsevat int toimittamat käyttäjän komentoriville.
Mutta kun ne laittaa sen komennon line, se tallennetaan string
aluksi.
Onko järkeä?
Sinun ei välttämättä tarvitse Tarvitsen tätä Vigenere.
Kanssa Vigenere, kuten sanoin ennen, kannattaa kokeilla ja käyttää
ASCII matematiikka, joka näyttää enemmänkin Tässä, jos olet itse
käyttää merkkiä, joka meille on annettu sinulle.
Cool.
Jokainen hyvä siellä?
Mahtava.
>> Niin modulo.
Joten mitä jos olet antanut tämä valtava määrä Caesar?
Sinulla on tämä ajatus, että jos olet Z ja olet
annetaan numero kaksi, se tarkoittaa, että olet need--
Z tulee toinen kirjeen jälkeen itse, eikö?
Joten sinun täytyy jotenkin kietoa, ja modulo on tapa tehdä se.
Niin kaikki se on se antaa sinulle loput
jaon Ensimmäinen numero toisella.
Ja meillä on joitakin esimerkkejä tehdä, että hieman konkreettisempi.
Mutta pohjimmiltaan, voit käyttää modulo kun haluavat tehdä jotain kääri ympärille.
>> Joten jos haluat vain ykkösestä kahdeksan,
voit käyttää modulo muulla numero, ja se on aina
palata numero nollasta kahdeksaan.
Joten jotkut examples-- jos meillä on 55 modulo 10,
se vain antaa sinulle jäljellä 55 jaettuna 10, joka olisi 5.
Ja sitten kolme modulo viisi, kukaan arvaa mitä se olisi?
Kolme.
>> Joten jos sinulla on pienempi numero ennen modulo, se ei voi mennä tasaisesti.
Se on nolla.
Niin se vain palauttaa numeron itse.
Joten kahdeksan modulo kahdeksan olisi?
>> Opiskelija: Zero.
>> Allison: Zero.
Koska se menee tasaisesti.
16 modulo 15?
>> Yleisö: One.
>> Allison: Cool.
Ja sitten tämä viimeinen on vain näytä sinä-- saatat olla miettimättä, OK,
mitä luokkaa toiminnan täällä?
Me jakaa ensin?
Onko meillä modulo ensin?
Joten modulo omistaa sama etusija alueeksi tai lisäämiseen,
ja sen vasemmalle assosiatiivinen.
Joten se on samalla tavalla.
Sinun olisi aina tehdä sulkuja, Sitten kerto-, jako,
ja modulo järjestyksessä vasemmalta oikealle.
Joten standardin sääntöjä.
Vain laittaa sen samaan luokkaan koska jako ja kertolasku.
>> Joten tässä tapauksessa emme on 1 ja 2 antaa meille 3.
Me kerrotaan, että 2, joten saamme 6.
Me modulo että 2, joka antaa meille?
>> Opiskelija: 0.
>> Allison: 0.
Ja sitten lisäämme 2, niin me saat 2 Tässä viimeisessä tapauksessa.
Joten modulo-- olet varmasti menossa ajatella tapoja sisällyttää
että kun olet kääre noin aakkoset.
Jos olet Z ja sinun täytyy liikkua välittämään kolme tilat päästä C,
Siinä on se koko käsite kääre ympärille.
Joten jätän sen te selvittää
miten tarkalleen aiot käyttää sitä.
Mutta varmasti hyödyllinen väline sinun PSET tällä viikolla.
Pidän tästä.
Tämä on yksi suosikkini psets.
Sitten kun teet sen, jos sinulla on ystäviä,
voit niinku toisilleen salainen viestit ja varmista, että se toimii.
Koska se tulee purkaa sitä tai mitä tahansa.
Paljon hauskaa.
>> Ja että on jakson loppuun.
Olen valmis aikaisin.
Minulla on vielä 15 minuuttia te, joten jos on jotain
että haluaisit mennä yli Edelleen mielelläni tehdä niin.
Muita kysymyksiä teidän PSET Niille teistä
jotka ovat aloittaneet tai lukea spec.
Mitään, että olemme puhuneet noin viimeisen tunnin aikana
ja 15 minuuttia, että haluat minut sellaista uudelleenlämmityksestä, olisin onnellinen.
Tai voimme kutsua sitä sulkeutuu, ja voit kaikki lähtevät ja ottaa enemmän karkkia kanssasi
kuten mennä.
Mutta jos on olemassa jokin viipyvä kysymyksiä, kerro minulle.
Voit myös keksiä ja Puhu minulle jälkeenpäin.
Lupaan eivät pure.
Entä muuta?
Jokainen on hyvä?
Jokaisen tunne kuin ne voivat käsitellä tämän PSET?
Te tulette olemaan hieno kaverit.
Aukioloajat ovat siellä syystä.
Cool.
Alright.
>> No, siinä tapauksessa, kiitos te kaikki niin paljon tulossa.
Toivottavasti nähdään ensi viikolla.
Tulee enemmän karkkia.
Saattaa olla muita hienoja asioita.
Ja odotan saada tietää te kaikki tänä vuonna.