>> [Muusika mängimine]
ALLISON Buchholtz'ile-Aafrika: Hei kõigile.
Tere tulemast oma esimese ametlik CS50 osa.
Nagu näete, vaata see on lõik CS50-like, lihtsalt
tõmba meie tänase päevakorra.
Nii, kes ma olen, sest ma olen kindel, te kõik ei tea.
Olen oma TF.
Ma ei ole lihtsalt juhuslik tudeng kes kehastamine oma TF.
>> Ja ma lähen läbi selline on lõigud hakkab voolama,
ootused on meil, ressursse, nii edasi ja nii edasi.
Me ei kavatse rääkida massiivid ASCII funktsioone, käsurea argumente,
ja see ei ole siin, vaid Ma ka aidata
sa omamoodi läbi mõelda oma järgmise pset sel nädalal.
Milline ma olen kindel, et te kõik hindavad.
>> Niisiis, esimene question-- kes olen mina, peale oma ülevoolav TF siin.
Ma olen Alison Buchholtz-Au.
See on minu teine ​​aasta TFing CS50.
Olen ka TF CS51 kevadel.
Võite näha jälle seal kui sa otsustad seda võtta.
Ma olen ka PAF, nii et kõik Freshmen-- ja kui sa ei ole uustulnuk,
see on minu kolmas aasta nagu nõustamine mehe.
Ma väga hästi kursis nõustab teid elu ja kursused
CS ja mitte ST.
Olen Computer Science koondaja.
Ma olen vanem Adams House, parim maja.
Ja enne, kui ma läinud CS mu Sophomore Spring,
Ma olin tegelikult biomeditsiiniinseneriga.
Ma kavatsesin minna Med koolis.
Ma tahtsin olla trauma kirurg.
Ja see on täiesti muutunud võtsin CS50.
Võtsin muidugi minu Sophomore Fall.
See oli minu esimene kokkupuude CS kunagi.
Mul oli üks 78%, kes oli null kogemused tulevad,
ja seda täiesti muutis mu elu.
Ja nüüd ma töötan kell Microsoft ja armas TF.
Ja CS50 on ilmselt üks parimaid kogemusi
et ma olen olnud siin Harvard-- nii võttes klassi
ja on võimalik, et aidata õpetada õpilasi nagu sina.
>> Nii et ma olen väga põnevil et sa oled kõik siin.
Kui sa tulid lõpus on kommid,
mis sa ei tohiks tunda vaba tulla haarata või saata
keegi haarata seda sinu jaoks.
see on OK.
Ma ei taha süüa seda.
Minu tuba on piisavalt šokolaad, nii Te kõik peaksite proovima ja lõpetada see.
Tean, et on 100 tükki, aga nagu, 04:00 esmaspäeval,
Ma arvan, et igaüks võiks kasutada veidi suhkrut.
>> Nii et kõik, kes te olete ametlikult minu jagu
oleks saanud talle minult minu telefoninumber
e-aadressiks julgelt lisada mind Gchati, võid vabalt lisada mind Facebook,
ja ka kogu ülejäänud teile, saate e-posti mind siin.
On kaks H s.
Igaüks teeb seda alati nagu kaks L's või kaks C poolt.
Kaks H on ka perekonnanimi.
Muidu läheb põrgatama, ja Ma ei hakka oma e-posti.
>> Nii emaili mulle, minuga igal ajal.
Ma ei pruugi saada tagasi teile 24 minuti
aga ma luban, et saada tagasi Teile 24 tunni jooksul.
Kui sa helistad mulle pool tundi enne oma pset põhjuseks, siis on nagu,
Mul pole aimugi, mida ma teen Allison.
Aidake mind.
Ma lähen sind maha rahustada, kuid lõpuks päev
kui sa kutsud mind pool tundi enne oma pset on tingitud mitte midagi kirjutatud,
Ma lähen olla nagu, noh, võib-olla on aeg kasutada seda hilja päev.
Ma vastan kõigile teie nõuab väga õigeaegselt.
Minu telefon on tavaliselt lisatud minu kätes.
Ma tavaliselt vastata palju kiiremini kui 24 tundi,
aga ma ei ainult garantii 24 tunni jooksul vastuse.
>> Hea küll.
Miks me siin oleme?
Samuti, kui teil on küsimusi igal ajal, siis palun andke mulle teada.
Ma räägin palju.
Ma räägin kiiresti, aga palun julgelt katkesta mind.
See annab mulle hingamise ruumi samuti.
Nii lõigud on aeg meil tõesti lihtsalt sukelduda
aastal, saaksin praktilisi kogemusi, et läbida teemasid, mis me rääkisime
klassis või õppematerjale, et soovitame kutid võrgus.
Ja me tegelikult läbida mõned nendest ressurssidest natuke.
>> Nii et mõned märkused jagu toetust.
CS50-- üks asjadest, mis muudab see üks mu lemmik tunnid
on tunne, et te pole kunagi üksi.
Meil töötab üle 100 inimesed, kes on siin, et aidata teil.
Meil on tööajal Esmaspäevast neljapäevani.
Nii et seal on nii palju inimesi, kes armastan klassi sama palju kui mina
ja kes on tõesti siin sest nad tahavad siin olla.
Enamik meist on õpilased ja see on nagu viienda klassi lisaks
et kogu meie töö.
>> Ja see on palju tööd, kuid me teeme seda, sest me armastame seda,
ja me tõesti armastan õpetab ja aitab jagada meie põnevust
Selle teema ja selles klassis.
Nii et palun ära.
Tule räägi meile.
Ma saan üksildane, kui mu õpilased ärge rääkige mulle, et kui sa tahad,
tule hängida koos minuga.
See oleks tore.
>> Nii et osa on ilmselt üks teie suurimaid asju.
Me läheme läbi asjad et sa õppisid loeng,
teha mõned lühikesed näited kui meil on aega,
ja üldiselt selline saada aimu asjad
siis tuleb mõelda umbes teie probleem määratud.
Shorts--, kui palju inimesi tegelikult vaatasin video oma nullist
lühike?
Igaüks tunne mind ära?
Nii et need on väga suur.
Sa peaksid kindlasti vaadata neid.
Palju tööd on pandud neile.
Ja nad lihtsalt pidi olema hammustada suurusega tükkideks, et sa lihtsalt vaadata
kolm või neli minutit ja saada paremini mõista kontseptsiooni.
Kõnni throughs-- kuidas paljud inimesed on jälginud
walk-läbi ekspordi jaoks eelmised?
Zamyla on hämmastav, eks?
Nagu, ma soovin, et olid Zamyla mõnikord.
Nii et kindlasti kasutada oma walk-läbi.
Ta jaotada see väike, hammustada suurusega tükkideks.
Ja kui sul on need suured kirjeldused teie probleem komplekti,
see saab olema väga oluline saaks lihtsalt leida kusagil
alustada ja töötada aeglaselt läbi.
>> Olgu, meil on ka Study50, mis on study50.harvard.edu, ma usun.
Saate lihtsalt Google õppida ja see saab tulla.
See on üks parimad ressursid meil on.
On Powerpoint koos märkustega ja praktika probleeme teile
koos lahendusi, mida saab tegelikult läbi kõndida.
Nii et kui sa kunagi tahad rohkem harjutamist, rohkem kui me teeme lõigud või rohkem
kui teie probleem komplekti, see on tõesti koht, ma kutsun teid üles minna.
See oli ehitatud eelmisel suvel mõned mu väga head sõbrad.
Ja see on hämmastav.
Tegelikult palju slaidid et ma tulen kasutades jagu
tulevad Study50.
>> Nii palju TF kasutada.
Ja lõpuks, kui ma mainitud, tööajal.
Kui sul on probleeme kodutöö, sa oled
on probleeme mõiste, tule tööajal.
Mine varakult sel nädalal, kui saad.
Kao et quad, sest see on selline kaugele.
Keegi meeldib käia seal.
Aga see on teie eelis, sest siis sa oled
läheb on kõik need TF, [Kuuldamatu] ümbritsevad sind.
Ja eriti nüüd, lihtsalt otsa, neljapäeviti
väga chill kohe sisse Ema, sest teie psets
on tingitud neljapäeviti.
Ja teades tahab kasutada oma hilinenud päeva veel.
>> Nii et kui sul on Probleeme kontseptsioone,
seal on palju TF kes on selleks, et teid aidata.
Nii et tulge välja Mather neljapäeval.
Kui soovite mind näha, Ma lähen sinna.
Ma tavaliselt teevad oma kodutöö, sest keegi ei taha minu abi.
Nii et tule vaata meid.
>> Tutvu meie poolel.
Niisiis, kuidas paljud inimesed on käinud loenguid või vaatasin seda online?
Mitu inimest läks super lõik eelmisel nädalal?
Külm.
See on tegelikult suhteliselt palju.
Kui paljud teist on lugenud oma spec sel nädalal oma pset?
Ooh, ma olen uhke teie poisid!
Veel kommi eest Y'all.
>> Hea, et see, mida me mõtleme "Meiega kohtuda poolel teel," on
see lõik on tõesti ainult saab olema super kasulik teile
kui sa tuled sisse lugenud oma kirjelduse oma pset.
Sest kui ma lähen läbi ülevaade asju, mida tuleks vaadata läbi,
ta ei kavatse teha nii palju tunde, kui te
ei tea, mis su probleem määratud läheb palume teil teha.
>> Kui te ei tulnud paragrahvi ilmselt Ma ei saa olla, et kasulik teile.
Ma ei kavatse võtta seda isiklikult, kui sa ei tule minu jagu just nüüd,
kuid kindlasti sa peaksid.
Kui te ei saa vaadata neid võrgus.
Nad on seal põhjus.
Mine on seal.
Nagu te teate, me salvestatava nii et see kohe seal kutid.
Nagu hästi, läheb lectures-- mis on ilmselt
kus sa käid alustada oma materjali siin.
Nii et ma kindlasti proovida aitab teil nii palju kui suudan,
aga ma võin ainult sinuga kohtuda nii kaugele.
Sa pead liiki meiega kohtuda poolel teel sinna.
>> Grading-- nii, et te kõik kes sai talle minust
sa oled mu ametlik osa.
Räägin liigitamise oma psets.
Ja ma lihtsalt tahan öelda, üks asi, mis sa peaksid tõesti pöörama tähelepanu
on kommentaarid.
Kommentaarid on sageli kasulik kui tegelik tulemus anname.
Ja kommentaarid on tegelikult kus ma veedan palju minu aega
kui ma olen mune.
Seega oleksin tänulik see kui sa loed neid.
Ja nad on tegelikult kuidas sa lähed rohkem teada disain ja stiil
ja asjad, mis on Veidi vähem lõigatud ja kuiv.
>> Nii et tõesti pöörama tähelepanu neid märkusi.
Kui teil on küsimusi nende kohta, või küsimusi oma skoor,
tulge minuga rääkida kas enne jagu,
Ma ilmselt poomise läbi vestibüülis või hiljem.
Kui soovite ajastada üks-ühele kohtumised, kuidas
saate aidata parandada hiljem probleem komplekti, lihtsalt andke mulle teada.
>> Ja siis paar näpunäited kutid.
Nii et üks suuremaid asju Olen alati rõhutada, et minu jagu
kui sa õpid, kuidas koodi on kirjutada asju teha paberil esimene.
Kui teil on mängu kava kus oma koodi vaja minna
ja mida ta vajab teha ja see on jaotatud
arvesse vähe bitti pseudokoodi kood olete välja kirjutatud,
sa lähed, et olla vähem tõenäoline, et süntaksi vigu
või luua, kui silmus, ei muud.
Kui sa tead, kus sa oled läheb üldiselt, sa oled
vähem tõenäoline, et need tillukesed vigu, mis mõnikord viib teid
tunni määrata, sest sa oled nagu, kus ma kadunud see sulg?
>> Selle teadmiseks, palun kasutage Style50.
Eriti kui sa oled läheb tööajal,
Kui teie kood on kõik ümberlülitunud ühel pool,
see on muidugi poliitika et me ei saa öelda, seda parandada
nii et see näeb välja nagu Style50 ütleb peaks, ja siis me aitame sind.
Nii saad teha oma elu kergemaks.
See teeb meie elu lihtsamaks.
Igaüks on õnnelikumad.
Igaüks saab paremini klassid.
Kas see pole mitte see, mida me kõik tahame?
>> Nii et kirjutada asju teha paberil enne sa kunagi puudutada arvuti.
Rääkige asjad kõrgel tasemel, ja et sa tead, kuhu sa lähed.
Ja kui te ei tea, istuda kellegagi
ja kõndida neid läbi samm-sammult mida teie kood peaks tegema.
Ja üheksa korda välja 10, siis saad nagu, oh, ma unustasin, kui tingimus
või ma unustasin semikooloniga siin või Ma ajakohastamine seda muutujat vale.
Nii et need on minu edu tagajad.
>> Nii et kuna umbes pooled sa vaatad nagu sa osalesid super osas
Ma lihtsalt väga lühidalt läbida silmad,
mida ei olnud meie algne päevakorda.
Aga nad on tõesti oluline.
Ja nii ma lähen liiki kiirus läbi nende
Enne kui me sattuda meie tegelik osa.
Enne kui ma seda teha, on seal iga questions-- logistiliselt
Isiklikult on olemas midagi tahad
teada mulle või umbes lõik või klass üldiselt?
Kõik hea?
OK, lahe.
Armas.
>> Nii loops-- kutid peaks kõik tunnistavad need tükid nullist.
Nii et silmad on põhimõtteliselt ainult nii, et teeme midagi
Mõnes mitu korda, mõned korrata mis põhinevad mõned tingimuslik.
Nii et meil on kolme tüüpi.
Meil on silmus, samal ajal, ja teha-aega.
>> Nii loops-- meil on lihtsalt väga üldplaan siin silmus.
Ja see on suurepärane, kui sa tead, kuidas mitu korda midagi on vaja, et täita.
Kui me räägime teiste silmad, saate
mõista, miks see on oluline erinevus.
Aga silmad on midagi komplekt.
Sa tead, et võid kas arvutada number
või sa tead, mitu korda sa tahan seda korrata alguses.
>> Nii et kui sa näed siin, me on ainult üldine lahke
skeleti raamistik jaoks silmus siin.
Nii-initsialiseerimise on see, kus Sinu muutujad on vormindatud.
Mario, ma olen kindel, et te tegite midagi int i võrdub 0.
See, kui et juhtuks sinine.
Sul on seisund, mis on see, mida on kontrollitud iga kord.
Kui see tingimus on tõene, siis Ülejäänud kood hukatakse.
Siis läheb jooksuks again-- ja küsida.
Ja siis on meil värskenduse kus sa uuendad oma muutuv.
Niisiis, jälle koos nagu Mario, ma olen kindel te tegite midagi i pluss pluss.
Nii et iga kord, kui silmus jooksis, sain uuendatud nii
et kui me olime nende kontrollimiseks mõned tingimus oli see muutumas.
>> Sest kui sa lihtsalt on staatiline muutuja,
kui ta täidab esimest korda, see on lihtsalt läheb täide lõpmatult.
Nii et sa pead veenduge, et teil uuenda oma muutuva korralikult.
Ja meil on ka lihtsalt visuaalne esitus seal.
Igaühel on hea?
Sest silmuseid.
Kas olete näinud neid oma pset.
Külm.
>> Nii et siin on lihtsalt lihtne näide.
Trüki See on CS50!
10 korda.
Ja nii on meil initsialiseerimise nagu me näeme seal, kus int i
võrdub 0, sest ma ei ole nii kui 10, ja i pluss pluss.
Ja see saab printida, et 10 korda.
>> Niisiis, kui loops-- samas silmuseid on suurepärane, kui sa ei pea
on teada, mitu korda see kavatse uuendada alguses.
Sa pead lihtsalt mõned tingimusel, et on kontrollitud.
Ja see võiks olla midagi sellist while-- Võtame näiteks teie pset.
Kui Mario, sa püüad sisend negatiivne number.
Õigus?
Sa pidid uuesti teata oma kasutajanimi.
Nii saab öelda, noh, kui kasutaja sisendite midagi vähem kui null, re-kiire
neid.
Ja ma olen kindel, et võib-olla olnud midagi, mida mõned teist
kasutada oma koodi.
>> Nii et see on lihtne asi.
Sul on aega, mõned tingimuseks, et kontrollitakse
iga kord koodi läheb täide.
Kui see tulemus on tõsi, me käivitada.
Muidu meil ei ole.
Ja mis on tegelikult important-- midagi, mida ma
arvan, et David rääkis aastal lecture-- on traksid.
Mis iganes on sees traksid on see, mis on sooritatud.
Kui te unustate need traksid, see on ainult kavatse
olema kooskõlas otse pärast samal ajal hukati.
>> Nii et kui teil on kolm asjad, mis peaksid
juhtuda, kui see tingimus hindab tõeseks,
ja sa ei pea need traksid, vaid esimene asi juhtub.
Nii väga teadlik kui paned oma traksid.
Kui teil jääda Style50, see kindlasti aitab teil.
Külm.
>> Nii et see on loendur 10 nulli.
Ja nagu näete siin, me initsialiseerida mõned counter väljaspool seda.
Üks asi, mis on erinev, on me ei algväärtustamisel meie muutuja
meie samas silmus.
See on vormindatud väljaspool seda.
Me lihtsalt lihtsalt paneb seisukorras meie aega.
Nii antud juhul see samas arv on suurem kui null.
Ja me välja printida, mida meie arv on ja siis me kahandab meie muutuv.
Ja see on veel üks asi, mida tähele.
Meie uuendus ei juhtu jooksul et esimene osa samas silmus.
See tegelikult juhtub jooksul traksid, keha oma teksti.
>> Nii ei-kuigi loops-- do-samas silmuseid on suur kasutaja valideerimist.
Nii et mõned teist võib-olla Samuti kasutatakse seda oma pset.
Võite öelda, kas, nagu, küsi kasutaja sisend.
Ja siis samas, nagu, sisend on väiksem kui mõned number.
>> Nii selgesõnaline puhul Mario, ta oleks teha printf sisestage täisarv,
ja siis mingi täisarvu võrdub getint.
Ja siis see saab tegelikult täita selle koodi esimene.
Sa tegelikult on mingi täisarv.
Ja siis võiks öelda, kui et täisarv on väiksem kui null.
Mis siis, et see saab teha, on see läheb sooritama vähemalt üks kord.
See läheb olukorra kontrollimiseks.
Kui seisund ei tõsi, siis see uuesti avada.
>> Nii et tee-kui silmuseid on suur kasutaja valideerimine,
sest sa tead koodi läheb sooritama vähemalt
üks kord, samas kuigi silmad, sa ei ole
tagatud, et see on kavatse täita üks kord.
See läheb olukorra kontrollimiseks ja alles seejärel otsustada täita seda,
samas do-samas hakkab täita esimesena koodi
ja siis vaadata, kas sa pead seda kordama.
Kas see eristus mõtet kõigile?
OK.
Külm.
>> Nii antud juhul on see omamoodi mida ma räägin,
see uuesti kuvatavaid juhiseid, kuni olete saada positiivne number.
Nii et me teame, et printf "Sisestage positiivne number"
ja tegelikult küsida, et sisend juhtub vähemalt üks kord.
Kui kasutaja on paha ja hoiab sisestades negatiivne arv, kes
teab, mitu korda see saab täita.
Kuid see kood on tagatud teostada vähemalt üks kord.
Ja see on põhjus, miks see on hea kinnitamise sisend.
Ja sa kasutada seda üsna vähe.
>> Olgu, küsimusi nii palju?
Me oleme kõik hea?
Ma räägin liiga kiiresti?
Oleme hea?
OK.
Aukartust äratav
>> Nii et me ei kavatse minna ja rääkida massiivid.
Külm.
Nii massiivid on põhimõtteliselt lihtsalt andmestruktuurid
mis võimaldavad meil säilitada asjad sama liiki.
Nii et kui sa kunagi massiivi, see on kas lihtsalt läheb on ints
või on see lihtsalt läheb on ujukite või on see lihtsalt läheb on tähemärki.
Sa ei kavatse on int koos char vaba raha topelt.
Üks asi.
Massiivid on vaid üks suurus, või nad lihtsalt üks tüüp.
>> Nii et siin on meil massiivi suurus kolm kolme täisarvu ta.
Nad võiksid hõljub, kuid me oleme ütlen nad ints.
Nii et üks asi aru, et massiivid on komplekt suurus kui sa initsialiseerida
ja need ei ole easily-- sest te kõik olete vähem mugav,
siis tuleb lihtsalt mõelda neid ei ole võimalik pikendada suurusega.
Kuid suur kui on sätestatud Sinu massiivi alguses,
see on suurus, et see läheb jääda, sest massiivid
on pidev blokeerib mälu.
Ja kui kutid saada sisse natuke rohkem
kuidas mälu on tegelikult ette viia kettad ja hunnik ja korstna
see teen veidi rohkem mõistust.
>> Aga sa võid lihtsalt mõelda nagu see on lihtsalt rida ruume kettalt.
Ja sa ei saa garanteerida, et seal on saab olema vaba ruumi pärast.
Sa võid initsialiseerida massiivi kolm ja siis võibolla
initsialiseerida teise massiiv viis hiljem, ja see on kohe pärast seda.
Nii et kui sa olid mööduvad koha kolm, et esimene massiiv,
siis oleks kirjalikult üle midagi muud.
Nii massiivid are-- kutid, lihtsalt mõtle neid fikseeritud suurus.
>> Nii et luua array-- sa lähed vaja seda teha üsna vähe.
Nii et samamoodi, et meil on üldstruktuur meie jaoks silmuseid,
meil kena üldine struktuuri meie massiivi.
Sest nad on ühte liiki, kõik elementide massiiv on ühte liiki,
peate vormindama mida see tüüp on.
>> Nii, nagu näete siin on meil kena väike sulg andmetüübi.
Nii et kui me luua int massiiv, mis on int.
Kui me luua char massiiv, et see saab olema char.
Kui me luua string massiiv, et see saab olema string.
Ja siis nime oma massiiv, mida iganes soovite seda.
Nii et võib-olla see skooriga või äkki see on üliõpilased või äkki see on kristalliseerunud.
Mida iganes sa otsustad nime oma massiiv, see on, mida see saab olema.
>> Ja siis on sulgudes, saate on suurus, mida soovite.
Niisiis, kas me hoidmine 10 õpilast või me hoidmine 15 liiki kommi?
Mis ei ole.
Nii et meie näites siin, loome massiivi
suurus kolm, mis te poisid vaata siin paremal.
Ja kui me esimest korda initsialiseerida see, et kõik on null.
Nii et see on lihtsalt arvasin samasuguste puhtalt lehelt.
Meil on kõik need ruumid, oleme kõik need kastid võiksime panna oma andmed,
kuid nad on lihtsalt tühi praegu.
>> Nii et kui me tahame, et tegelikult määravad nad need väärtused,
teeme nii, et õigus ja siin näitab.
Nii et teil on ükskõik mis nime oma massiiv on ja siis mida indeks tahad.
Nii indeks vaid viitab, jms, mis pilu me vaatame.
Ja tähtis asi, mida tähele on see, et massiivid on null indekseeritud.
Nii et kui me tahame, et esimene koht mälu meie massiiv, et see saab olema null.
Kui me tahame, teine, et see saab olema üks.
Kui me tahame, kolmas, et see saab olema kaks.
Nii edasi ja nii edasi.
>> Mis on ka põhjus, miks harilikult, kui me teeme loops-- ma olen kindel,
kutid olid küsida, miks me alustame 0 versus 1?
Ja see on, sest kui me üleminek logida kasutades massiive, siis kaarte õigesti.
Nii et kui sa tahad itereerima massiivi, siis
teeb palju mõttekam do i on 0, sest me
tea, mis vastavad esimese koha mälus.
Igaüks hea on?
Külm.
>> Ja siis põhjale siin on lihtsalt teine ​​võimalus initsialiseerida massiivi.
Teil on ikka oma andmete liik ja nimi,
kuid selle asemel, et tegelikult pannes suurus seal,
saate lihtsalt teha tühjaks sulgudes.
Ja siis need lokkis traksid allosas,
võite lihtsalt sisestada andmeid mida soovite eraldatakse komaga.
Ja see automaatselt öelda, OK, ma näen
et sul on kolm asjad need traksid.
Nii et ma tean, et mul on vaja jaotada kolme blokeerib mälu ja seejärel hoitakse neid.
>> Nii et esimene versioon võite kasutada kui sa küsid oma kasutajal sisestada
väärtused nii, et saate itereerima läbi massiivi
ja ask-- saaksin int sisend neid.
Kui tead väärtused eelnevalt see teeb palju rohkem mõtet
kasutada teist teed.
Kuid enamikul juhtudel, sa ei pruugi teada millised need väärtused ei kavatse olla.
Külm.
Muid küsimusi?
Alright.
>> Nii tutvumise elements-- nii ühe suuri asju umbes massiivid
et nad on juhuslikult juurdepääs, mis tähendab, et teil
ei pea vaatama läbi iga blokeerida.
Kui sa tead, et tahan endast plokkide kaks,
võid lihtsalt öelda, anna mulle blokeerida kaks.
Ja see, miks need Indeksid on nii oluline,
ja see, kuidas me tegelikult neile ligi pääseda.
Nii antud juhul, nagu nägime, enne kui olime väärtuse omistamiseks, in ühe
Enne oli meil nimi ja indeks tahtsime juurdepääs, eks?
Nii et samamoodi, see on kõik, mida me teha, et tegelikult pull, et andmeid välja.
Meil on nimi ja me on indeks, mis me tahame.
>> Nii et antud juhul silmus siin põhjas, keegi
tea, mida ta teeb, mida see välja printida?
Mmhmm?
Täpselt.
Nii et jah, see on lihtsalt iterating kaudu.
i on võrdne zero-- saame kõndida läbi koodi lihtsalt kiiresti.
i on võrdne nulliga, i on väiksem kui kolm sel hetkel, eks?
Nii et on korras.
Ja me ütleme, OK, printida f kõik, mis on temperatuur i.
i on null siin kui me esimest korda itereerima, nii et me läheme selle esimese koha,
ja me ütleme, OK, 65 on number tahame välja printida.
Nii saad välja printida 65 ja seejärel teha uus rida.
i uuendab, nii et see prindib 87.
Sellega ajakohastatakse kord, ja see saab printida 30.
Igaüks lahe?
Awesome.
>> Hea küll.
Nii et siin on mingi üks asi, mida ma ütlesin, kui
saab jälgida kellegi skoor ja miks
sa oleks kasutada esimest viis lähtestamisel
selle asemel, et teine ​​tee.
Ja see lihtsalt läheb läbi.
Ja teate meil klassi suurus on 30.
Ja me algväärtustamisel see massiivi ints et on suurus 30.
Ja siis me iterating läbi ja me oleme
küsib kasutajal sisestada skoori iga nimetatud
ja seejärel määrates selle konkreetse koha mälus
kusagil, et massiivi.
Cool?
Kas on mõtet kõigile?
Mmhmm?
>> Nii hashtag määratleda klassi suurus 30 on eeltöötluse direktiivi
mis tähendab lihtsalt seda gets-- see on tegema nagu koostamine protsess.
Sa ei mõtle seda nagu globaalne muutuja.
See, kuidas me seda teeme, on typically-- see võimaldab oma koodi
tuleb kergemini muutunud.
Ütleme, et meie klassi suurus äkki läheb 30-15,
kui ma ei oleks määratletud selle nii, ma tahan läbima kogu mu programm
ja muuta igakordne 30-15.
Aga see, ma saan muuta ühe kohapeal ja kõik muu muutub.
>> Kui sa kunagi tahad teha hash määratlema kohtuasja
kuhu jälgida mõningaid määratud arvu punkte klassi
või te kasutate number mida kasutatakse, nagu,
kogu pika programmi, siis on paremini määratleda, et alguses
nii et kui kunagi see muutub, saad muuta ühe koha peal, mitte 100.
Jah?
>> Õpilane: vahel teeme seda ja lihtsalt kuulutatakse [kuuldamatu] üle tipus.
>> ALLISON Buchholtz'ile-Aafrika: Nii see on pistmist efficient--
see on selline väljapoole mida saame katta selles osas.
See on seotud rohkem tõhusust ja kuidas asjad tegelikult
töötada koostamise protsessi.
Kui soovid tõesti teada midagi, ma olen õnnelik, et saata teile
e-ressursside kohta.
Hash määratleda kipub olema eelistatakse asju.
Ja kui sa koodi rohkem, siis liiki õppida nüansse
millal siis tuleks kasutada globaalne versus räsi määratleda.
Aga praegu, sa tõesti ei ole
muretsema see on et lühike vastus.
Igaüks hea on?
Ja ka siis, kui soovite kasutada hash määratleda
see on tõesti oluline tähele panna, et nimi peaks olema kõik mütsid.
Me ei ole lihtsalt teeme Klassi suurus olema dramaatiline.
See peaks tegelikult olema kõik mütsid.
Külm.
Midagi muud seal?
Oleme hea?
Armas.
Tere.
>> OK, nii et ma tahan teiega heita See ja vaata, kas leiad viga.
Ma annan sulle vihje.
See on kuskil, et ahela.
Mmhmm?
>> Õpilane: Peaks olema vähemalt võrdne 2.
>> ALLISON: Nii võiks see olla väiksem või võrdub 2 või võiks see olla vähem kui 3.
Ja mis põhjendab seda?
>> Õpilane: [kuuldamatu], 0, 1, 2.
>> ALLISON: Täpselt.
Nii massiivi suurus n oleme ainult indeksid n miinus 1.
Külm.
Ja siis me saame tõesti hull ja saada mitmemõõtmeline massiivid.
Üks probleem, kui ma võtsin ta minu aastal vaja mitmemõõtmeline massiivid
ja ma arvan, et üks neist võib nõuda sel aastal, et olla mugav.
Mähi oma pea ümber nüüd.
See tulevad tagasi kummitama teid, kuid jahedas viisil.
Nii saab tõesti lihtsalt arvan, mitmemõõtmeline massiivid
kui massiive massiivid.
Nii saab omamoodi mõtle seda top rea esimese patakas mälu.
Ja see üks on teine ​​patakas mälu
ja viimane rida on kolmas patakas mälu.
Ja selles, seal on massiiv.
Aga muidugi, see on lihtsam kujutada niimoodi.
>> Nii et sa initsialiseerida see samamoodi.
See on märk juhatus kolme kolm.
Nii et teil on kolm rida ja kolm veergu.
Me esindavad seda nii.
Ja siis oleks seda kasutada Samamoodi kolonni järjest.
Ja nii 1,1 kui me näeme siin.
Anname null, null seal üleval.
2,0 ja 0,2.
Nii et sa oleks lihtsalt juurde them-- kui keegi on kunagi teinud Lineaaralgebra,
Samamoodi teile juurdepääsu element matrice, see on sama mõte siin.
Nii et teil võivad olla seotud selle tagasi matemaatikat.
Sa ei pea muretsema liiga palju seda kohe.
See on hea, kui on kokkupuude, teada, et sa ei saa seda teha.
Saate luua mõned hull number-- saate
luua hull massiivid on Muud ma öelda.
[Kuuldamatu]
Läheb natuke hull, aga see on väga lahe.
Awesome.
>> Ja siis, et meil on näiteks siin.
Ta arvutab stringi pikkus.
Niisiis, kuidas paljud inimesed teadsid, et stringid, mida kasutate
on vaid massiive tähemärki?
OK, jah.
Nii kutid arvan, et sa ei ole kasutatud massiivid varem, kuid igal ajal
kasutate getString sisse CSView raamatukogu, sa oled
tegelikult lihtsalt paludes array tähemärki.
Ja me hoolitsemine kõik et back-end teile.
Aga olete kasutanud massiivid, sest sa hakkasid.
Sa lihtsalt ei tea seda veel.
>> Ja iga kord, kui teil on märk massiivi või massiiv, mis on ladustamiseks string,
viimane asi, mida on alati see, mida on nimetatakse null terminaator mis
on see siin.
Ja see on lõpuks iga sõna, mis sa ladustamiseks.
Nii et kui me tahame välja nuputada pikkus string, me ei saa öelda,
noh, te teate, sisu ploki
ei ole võrdne meie null terminaator.
See tähendab, et on olemas märk on, et me tegelikult
hooli, mis on osa sõnast.
Sa suurendada oma pikkusega.
Ja siis kui me tegelikult saada lõpuks sõna, siis see lõpetada
ja siis saad tagasi oma pikkuse meile.
Mmhmm?
>> Õpilane: Kas ruumi loetakse null terminaator?
ALLISON: Nii ruumi mitte null terminaator.
Nii et kui teil on multiple-- ruumi on tegelikult konkreetse ASCII väärtus.
Õpilane: Mis hüüatus võrdne jälle?
ALLISON: Niisiis, see, mida sa viidata.
Kui te olete kunagi kuulnud mind sisse tööaega Ma olen alati seda nimetada, nagu, bang võrdsetena.
Nii et pauk ei ole.
Nii et see ei ole võrdne.
Nii et kui sa üritad kas midagi on vale,
sa tead alati, bang iganes muutuja on, ja kui see on vale,
see tulemus on õige ja te saab teha lahedaid asju, et.
Rohkem sellest hiljem.
Külm.
Kõik hea on?
Awesome.
>> Nii et nüüd on sinu poisid "aeg tööle, sest ma olen rääkinud.
Nii et ma tahan, et sa lihtsalt luua massiivi täisarvud üks, kaks, kolm,
ja siis on neid välja trükkida.
Sa ei pea tegema, nagu, Peamine, blah, blah, blah, mis iganes.
Ma lihtsalt tahan, et sa initsialiseerida massiivi ja seejärel luua
silmus, printida out-- või samas loop, sinust.
>> Ma lihtsalt annan sulle paar minutit töötada selle kallal.
Ma lähen puhkama mu häält.
Kui teil on küsimusi, ma olen õnnelik tulema ümber ja rääkida teiega.
Julgelt rääkida omavahel.
Saa rohkem kommi.
Tegelikult ma lihtsalt jalutada kommi.
Kuidas nii?
>> Kas sa tahad ükskõik?
Keegi teine ​​selles toas tahad kommi?
Võite võtta ka rohkem kui üks, kutid.
Võta peotäis kui soovite.
Mai samuti.
Kõik teised head?
OK.
>> Samuti, ma lähen luua anonüümne Google Form,
ja kutid lihtsalt esitada tagasisidet pärast iga osa
kui seal on midagi, mida sa tahad täiustada või midagi, mida sa tahad teha.
Kui ma olen natuke liiga Peppy teile, ma ei saa toon selle alla.
Ma luua, et ja saata teile välja kõik hiljem.
>> Hea küll.
Niisiis alustame väike.
Kuidas me initsialiseerida meie massiivi?
Mis tüüpi meie massiivi?
Int, eks?
OK, nii et mida sa tahad helistada oma massiivi?
Int massiiv, lahe.
Olgu, nii et meil on int int massiiv võrdub, ja mida meil on pärast seda?
Õpilane: [kuuldamatu] sulgudes.
ALLISON: Traksid.
Ja siis sees traksid?
Üks koma kaks koma kolm.
Külm.
Nii et see on kõik õige.
Nüüd oleme meie jaoks silmus.
Nii esimese osa meie silmus, mis meil on?
>> Õpilane: i võrdub 0?
>> ALLISON: Nii int i on 0, ja siis milline on meie seisund?
Mis ma kavatsen olla alla?
Vähem kui kolm, ja kuidas me uuendame i?
i pluss pluss, selle ajakohastamine üks.
Ja siis me lähed on mõned printf täisarv,
ja mis see on viimane osa, mis on tegelikult
kavatse öelda, mida me peaksime trükkimiseks?
Oleks nimi massiiv, mis on int massiiv, eks?
Ja mis on sulgudes int massiivi?
i.
[? Nii et ma?] Helistasin Näiteks, aga seal lähete.
Mitte, et halb.
Igaühel on hea?
Külm.
>> Nii et me teinud massiivid.
Palju õnne.
Sa suutsid itereerima läbi kõik the-- jah?
>> Õpilane: [kuuldamatu]
>> ALLISON: Jah.
>> Õpilane: Mul on üks küsimus.
Kas peaks taandama traksid?
>> ALLISON: Nii traksid peaks rivistama koos silmus, ja siis kõik
sees traksid tuleks liigestatud.
>> Õpilane: OK, peaks silmus taandega?
>> ALLISON: silmus ei tuleb liigestatud selles punktis.
Kui sa olid peamised, kui me tegelikult oli peamine ülesanne siin,
oleks liigestatud alates peamine.
Aga sel juhul, see on hea.
Jah, küsimus.
>> Õpilane: Kas sa pead olema sulgudesse näiteks?
>> ALLISON: Jah, kui sa oled algväärtustamisel seda.
Seega pidage meeles, see on teine viis algväärtustamise massiivi kus
meil on traksid ja siis meie tegelik andmed komadega eraldatud jooksul.
>> Õpilane: Ma arvasin, et oli sulgudes, et näiteks.
>> ALLISON: Ei, nad on traksid.
Nad on traksid.
Kui oled lähtestamisel et teine ​​tee, see on traksid.
Kui me ütleme, int example-- kui me lihtsalt tahtsin tühja massiivi ints,
oleks int näiteks konsoolide kolm.
Sulgudes esindavad suurus.
Kui teil on traksid, see on tegelikud andmed
sa oled pannes sinna niimoodi.
Me ei saa kerida tagasi väga kiiresti.
>> Nii et see üks, see on lihtsalt meie esialgse massiivi ettekanne.
Ja siin me oleme üksi määrates laigud neile
nii et see on indeks meie massiiv, mis on põhjus, miks meil on sulgudes.
Aga siin, kui te märkate, me oleme lahkus meie vahemikke, suurus,
ja me initsialiseerida see tegelikud andmed kõik-ühes koos traksid.
Õpilane: Miks meil ei ole Sulgudes antud näites?
ALLISON: Niisiis, milline osa?
Õpilane: kas me ei ütleme, int näiteks sulgudes
võrdub traksid [kuuldamatu] sulgudes näiteks.
>> ALLISON: Oh, vabandust.
Sul on õigus.
Meil on sulgudes seal.
Sorry poisid, minu halb.
Jah, teil peaks olema sulgudesse näiteks.
Sul on täiesti õigus.
>> Õpilane: [kuuldamatu] ei tee seda.
>> ALLISON: Ei, sa pead olema sulgudes, sest vastasel juhul on
ei kavatse kuulutada massiivi.
Õpilane: [kuuldamatu].
Vabandust.
>> ALLISON: Vabandust, teil on vaja sulgudesse näiteks.
Kirjaviga.
Hea saak, kuld star teile.
Samuti, kui te küsite küsimus, kui kutid võiks lihtsalt öelda oma nime,
Ma armastan seda.
Mulle meeldiks, et oleks võimalik tean oma nime.
Ma ei hakka külm helistada, ma tegelikult
ei lihtsalt tahan teada teie nime.
Nii et palun tegelikult öelda mulle oma nime.
>> LEAH: Leah.
>> ALLISON: Leah.
OK, nii et functions-- Tean lühidalt nad rääkisid selle ajal loeng.
Nii funktsioonid on selline lihtsalt nagu need veidi hammustada suurusega asjad
kus sa läbima sisendite midagi maagiline juhtub, ja sa saad väljundid.
Külm.
Nii et sa tegelikult kasutatud palju neid juba.
Saa int, saada string, print f.
Need on kõik funktsioonid kus sa lihtsalt helistage neile,
seal on palju maagiline asjad toimub taustal
et sa ei pruugi näha, ja sa saad, mida sa tahad.
Või vähemalt sa saad mida loodan, et sa tahad.
>> Ja põhimõtteliselt punkt funktsioone, ja üks põhiteemasid CS,
on murda koodi juhitavaks tükki.
Kui hakkate kirjalikult need tõesti pikk programmide
või Scratch, kui sul oli Selle grand idee mängus
sa pead olema võimeline murdma alla, nagu OK, kuidas alustada?
Millised on väikesteks tükkideks, et ma vajan?
Oh, mul on vaja küsida kasutaja jaoks midagi.
Nüüd on mul vaja printida midagi.
Oh, mul on vaja, et arvutada selle väärtus.
>> Ja õppida, kuidas lõhkuda oma koodi ja suure probleemidest
on neisse väikesed tükid ja luua funktsioonid
on tegelikult üks suur nurgakiviks CS.
Nii et sa ei mõtle funktsioon nagu nagu must kast, maagiline musta kasti
et paned asjad ja sa saad mõned toodangut.
Ja ülejäänud programmi ei pea tingimata aru
mis toimub selles must kast.
Kõik see hoolib, mida läheb ja mis välja tuleb.
Külm.
>> Miks ülesandeid?
Organization-- nagu ma ütlesin, kui sa oled tegelevad väga suured koodi alused,
kuidas teil korraldada oma koodiks palju lihtsam, kui kasutate funktsioone.
Sest sa pead olema võimeline et, nagu, OK, see
mida see funktsioon teeb ja siin on, mida teine ​​teeb.
Ja saate näha kuidas need kõik kokku sobivad.
Nii purustamine it up kõik Nende juhitav alamosast.
>> Nii simplification-- ma olen kindel, et te poisid kõik nägime seda, nagu ma ütlesin, koos Scratch.
Sul on see suur idee, ja sa oled nagu, kuidas see kõik toimib?
Aga kui sa lähenemine see tükkhaaval, te ütlete, OK,
kuidas ma saan teha ühe sprite float üle ekraani?
See on natuke lihtsam.
Nii hea kasutamise funktsioon teeb oma koodi palju lihtsam lugeda.
See muudab lihtsamaks siluda, mis nagu pääsete hiljem probleem komplekti,
sa lähed tõesti tahan olla võimeline tegema.
Ja nad on ka lihtsam kavandada ja ellu viia.
Võite kodeerida kuni väike toimida suhteliselt kiiresti
ja veenduge, et see töötab versus üritab luua kogu see pikk programm
ja siis mingi läbida ja näha, mis töötab ja mis mitte.
>> Ja siis korduskasutus.
Nii toimib vaid vaja üks kord kirjutada,
ja siis saate neid kasutada nii palju kordi kui võimalik.
Nii et see on nagu keskkonnasõbralik mõnes mõttes.
Kui sul oleks asjad print f, kus te
tuli kirjutada maagia, mis läheb taga printida f iga kord
sa tahad printida midagi, siis oleks päris tüdinenud see
lõpuks.
>> Üks asi, mida saate õppida hiljem CS klassides
või üks parimaid nõuannet saan
on, kui kopeerite ja kleebite koodi, siis peaks ilmselt olema funktsioon.
Kui teil on täpselt sama rida kõik kogu oma koodi,
kui sa tegureid neid, oma koodi oleks ilmselt
olla, nagu, viis korda lühem ja palju lihtne lugeda.
Ja selle asemel, et tõrkeotsing Kõiki neid erinevaid kohti, kus asjad
võib valesti minna, siis on üks funktsioon et sa saad tõrkeotsing.
Ja ma luban, palju see võib tunduda selline abstraktne nüüd,
aga kui sa sattuda hiljem ja hiljem probleem seab,
see saab teha palju rohkem mõtet ja tõesti sõidetakse koju.
Kas on mingeid küsimusi Funktsioone nii palju?
Miks me kasutame neid?
Ma tean, et me pole saanud arvesse Asja tuum veel.
Nii määratletakse funktsioon-- nagu massiivid, peame mingi of-- see
on vaid üldise väljundi.
Nii et see on funktsioon, mis on lihtsalt läheb kuup mõned sisend.
Ja järgmisel leheküljel, tegelikult on meil kõiki neid awesome vähe asju siin.
Nii saab igaüks lugeda et uudishimust?
Ma tean, lilla ja must võib olla natuke raske.
>> Aga suured asjad sead ühendit väljakirjutada nii esimese üks siin on meie tagastamise tüüp.
Nii et see ei räägi väljund Selle funktsiooni, antud juhul
meil panna mõned number, mida me saada, et number kuubis.
Seega peaks olema int käesolevas asjas.
Võib-olla oleks topelt või midagi muud hiljem, kuid sel juhul,
see on int.
>> Mis c, siis alati on vaja tagasi tüübist.
See saab olema int.
See oleks sularahaga.
See oleks topelt.
Aga sa pead täpsustada, mida Selle funktsiooni läheb tagasi.
Muidu on see kisa sina, ja see ei kompileerida.
Sul on kurb ja ma kurb.
Ja see lihtsalt ei ole hea.
OK.
>> Ja siis oleme meie funktsiooni nimi.
Ja nagu näete siin, koos c seal on see väga järjekindel paradigma.
Milline on sinu tüüp, mis on nime, ja siis mõne muu asi lõpus.
Nii et meil on meie naasmise tüüp meie funktsiooni nime ja seejärel
oleme meie kaudu koos Meie parameetrite nimekirja.
>> Nii parameetriloendisse on, mis on Selle funktsiooni kavatse võtta?
Parameeter nimekiri on lihtsalt sünonüüm, millised on meie sisendeid?
Ja samamoodi, et me määratlema oma funktsiooni
ja annab talle tagasi kirjuta iga meie sisendite
vajab tüüpi sellega seotud.
Nii et me teame, mida meie funktsioon võib tegelikult töötada.
>> Nii et antud juhul on meil mõned int sisend.
Nii et jällegi, see saab olema tüüpi ja mida sa nimetades seda.
Ja siis, kui sa näed siin oleme meie keha.
Nii et meil on mõned int output, et on vaid meie panus korda ise
korda ise, mis lihtsalt kuubikuteks ta.
Ja siis me tagasi, et toodang.
>> Nii et nagu näete, siin on meil int korda int korda int,
nii ta tagastab int, mis on kuulutatud seal.
Nii et kõik on sidus.
Kõik on õnnelikud.
Sinu ülesanne on sõita.
Ja see on lihtsalt üldine asi.
Nii et alati on naasmise tüüp nimi ja teie parameetrite nimekirja.
Iga asi oma parameetrite nimekirja, või sisend,
vajab tüüpi sellega seotud.
Ja siis on teie keha siia kõikvõimaliku
sa tahad teha oma panuse.
>> Ja siis ilmselt te soovivad naasta midagi.
Mõnikord funktsioonid lihtsalt tagasi.
Nad ei ole tegelikult tagasi sulle midagi kasutada.
Aga sa pead tagasi mingil moel.
Ja kui sa üritad oma ülesandeid,
saame võtta, et pisut sügavamale.
Isiklikult, kui soovite, on palju erinevaid asju, mida võiks teha seal.
Igaühel on hea?
Midagi selles nimekirjas, et sa tahad mind minna üle, et sa ei saanud aru?
Igaühel on hea seal?
Külm.
Awesome.
>> OK, nii et me paneme see kõik kokku nüüd.
Nii et meil on mõned int kuubik sisend, nii et see on täielik programm siin.
Siiani ma olen selline on anda teile
poisid pikad, et võiks minevat jooksul programmi.
Me oleme lihtsalt otsinud funktsioone.
Aga siin on kogu programmi.
Niisiis, kui palju sa mäletad Sõna prototüüp loeng?
Külm.
Meil on üks.
Mis su nimi on?
>> Steph: Steph.
>> ALLISON: Steph?
OK, awesome.
Niisiis, kas sa mäletad, mida on prototüüp?
>> Õpilane: Ütlete, [kuuldamatu] enne kui tegelikult tegeleda.
>> ALLISON: Kas sa mäletad, miks?
>> Õpilane: Ei
>> ALLISON: OK.
Gold star.
Nii et jah, prototüüp meil eelnevalt, sest vastasel korral
Meie koostaja läheb kisa meid.
See saab öelda, OK, Mis see on kuubik funktsioon?
Nagu, sa sõna otseses mõttes ütles mulle midagi selle kohta.
See on nagu siis, kui te kõndida klassiruumis,
ja keegi on nagu, seal on viktoriin täna.
Ja sa oled nagu, siis kunagi rääkis mulle sellest.
Ma ei ole rahul meiega.
Prototüüp on põhimõtteliselt nagu oma õppekava öeldes, vaata.
Heads up.
Seal saab olema viktoriin sellel päeval.
Ära närvi, kui saad seda.
Sa lähed trahvi.
>> Nii et kõik prototüüp ei ei ütle peamine, ma lähen seda funktsiooni kasutada.
Ma luban, ma määratletakse hiljem.
Ära närvi mind.
Just koostada ja teha seda, mida ma ütlen teile, et.
Nii et meil on prototüüp olemas lihtsalt teha meie koostaja õnnelik.
Ja see on põhimõtteliselt lubadus olete määranud selle funktsiooni hiljem
ja et sa ei ole lihtsalt helistades see juhuslik asi, et see
ei tea, mida sa oled hakkate tegema.
>> Nii et sel juhul on meil peamine siin.
Me initsialiseerida mingi täisarvu x.
See on kaks.
Me läheme välja printida, mis on x.
Me läheme kuup x.
Nagu näete, oleme meie funktsiooni deklaratsioon
siia alla, et me rääkisime varem.
Seda saad kuup x, ja siis, kui me mäletan, kuubik funktsioon tegelikult
tagastab täisarvuga meid, mis on salvestatud
x jälle nii, et saame trükkida kaheksa või kuubik x kohe.
Kas on mõtet kõigile?
Oleme hea?
Hea küll.
Awesome.
>> Hea küll.
Kui paljud kutid mäletan seda nii et see
on põhimõtteliselt ainult oma korstnat ja oma hunnik,
lihtsalt visualiseerimine kuidas mälu on salvestatud siin.
Nii et me lihtsalt tahame teha Veenduge, et saate aru,
kuidas need on esindatud mälu.
Kui te võtate klasside nagu CS61 ja värki hiljem
saad õppida seda palju põhjalikult, ja see on väga lahe.
Ma soovitan seda.
Aga nüüd, ma annan Teile põhjaliku ülevaate
nii et sa ei pea tean Asja tuum.
>> Nii top lihtsalt teksti segment, mis sisaldab tegelikku nulli ja need,
binaarne selle eest.
Ja seda kasutatakse ladustamiseks globaalseid muutujaid, kui teil on.
Nagu te liikuda alla, siis on, nagu näete siin,
vormindatud andmed, uninitialized andmed ja siis hunnik.
>> Nii et me tegelikult ei räägi umbes hunnik kohe.
Me jõuame hiljem.
Sest nüüd, ma olen lihtsalt läheb laine mu käed ja olla nagu,
Te ei pea teadma seda nüüd.
Aga räägime veidi natuke pinu.
Nii pinu on where-- meil suurendada.
See on tegelikult kuidas programmi me lihtsalt vaatas esineb mälu.
>> Mis juhtub, on iga kord, kui me nimetame funktsiooni
saame, mida nimetatakse korstnat raam, mis on üks neist.
Nii et peamised parameetrid.
Nii et need on asjad, et meil lähevad peamine.
Nii et nad on siinsamas allosas, sest see on esimene asi, mida me nimetame.
Ja siis me saame peamised on kohalikega, ja kui me ütleme, et
mean kohalikud muutujad mis on salvestatud peamine.
Nii kohalikud oleks siin, nagu, x on võrdne kahe antud juhul.
Sest mis on lokaliseeritud peamine.
Kas igaüks mäletan ulatus, läheb üle, et loeng?
OK.
Nii lihtsalt muutujad algväärtustatakse jooksul peamine.
Nii et miks meil on peamine [? vokaal. ?]
>> Ja siis sees peamine kutsume kuubik.
Õigus?
Nii saame teise raami koos kuubik parameetrid.
Nii et antud juhul kuubi parameetrid on nüüd
x, et me möödunud aastal, Kahe et me möödunud aastal.
Ja siis kuubi kohalikega, mis on kus tegelik keeramisel juhtub.
Ja siis ta naaseb.
>> Mis juhtub, on kuubik tegelikult teeb mida ta peaks tegema, ta naaseb.
Kui ta tagasi tuleb, see raam lehed, ja selle tagasi alla peamised.
Ja siis sees peamine, me võib tegelikult printida.
Nii et kui naasete midagi, kui teie tagastab funktsioon,
see on nagu möödaminnes neid väärtusi raami alla ja siis lahkuvad.
Ja asjad peavad täitma selleks.
>> Ja kui sa saad suurema programmide saame teha jahedam ja keerulisem
diagrammid.
Aga nüüd on see lihtsalt üldine ülevaade
nii et teil on selline arusaam sellest, mida
juhtub, kui helistate funktsiooni ja kuidas see tegelikult välja mällu.
Cool?
Igaühel on hea?
Awesome.
>> Seega on see üks, mis on lihtsalt üritan vahetada asju.
Nagu näeme siin on meil meie funktsiooni prototüüp
nii et meie koostaja ei kisa meid.
Meil on mõned peamised, ja me tahan vahetada x ja y.
Nad ei ole seda teinud demo loengus veel, on ju?
Nad ei ole?
OK.
Nii et me läheme selle üle väga lühidalt.
Sa saad sinna näiteks enam sügavuti, ma arvan, et sel nädalal.
Ja siis järgmisel nädalal on meil tegelikult sukelduda, miks see ei tööta.
>> Nii et meil on see tühine funktsioon siin-- swap.
Nii void lihtsalt tähendab, et midagi tagasi.
Ja meil on swap int ja int b.
Ja meil on mõned ajutised muutuja, mis on.
saab määratud B ja seejärel b saab määratud temp
et a ja b on väärtused on nüüd sisse lülitatud.
>> Aga plot twist, see ei tööta.
Ja osa sellest on tegelikult pistmist asjaoluga, et
ja b siin, need, mis saavad läbitud Siin on tegelikult koopiad x ja y.
Nii et kui funktsioon tegelikult käib lülitub koopiaid, kuid mitte
tegelik x ja y on.
Nii et üks viis sellest mõelda on selle-- teeselda, need on swap.
OK?
Nii et peamine, meil on x ja y vormindatud.
Aga kui me tegelikult tõusevad nende raamid swap,
me möödaminnes väärtused üle see ja nad vormindatud.
>> Ja nad alati ainult ela siin.
Nii a ja b siin elada.
Ja nad saavad vahetada.
Aga kui me läheme tagasi, me ei ole midagi teha ja b.
ja b puhkust meie funktsioon.
Ja nii x ja y jäävad samaks.
Saate rohkem sellest, kuidas seda parandada, et ja kuidas me tegelikult tegeleda hiljem.
>> Aga see on lihtsalt üks asi, et omamoodi meeles pidada.
Kasutage seda tulevikus.
Ärge muretsege, kui et ei teinud kõik mõttes kogu maailmas.
Need on koopiad on suurim asi.
Kui sa lähed, et võtta midagi eemale, et te sooritanud eksemplari.
Nii et originaalid jäävad samaks.
Igaühel on hea?
Külm.
>> Nii käsurea argumente.
Olen kindel, et alguses kutid kõik olid need suured, nagu, int main tühjad.
Ja sa oled nagu, OK lahe.
Ma tõesti ei hooli.
See on just see, mida ma pean kirjutama.
Kuid oma uute programmide eriti see pset,
ja miks on kriit kohapeal?
>> Oma järgmise pset, sa oled kavatse vaadata seda.
Int peamine, int arg c, string kaar v, sulgudes.
Niisiis, mida me lihtsalt õppinud täna, mida
ei me arvame, et teise parameetri või et teine ​​element on siin?
See on massiiv.
Mis tüüpi massiivi?
String array, jah.
Külm.
Nii see on, kuidas sa lähed tuleb kuulutatakse need nüüd.
>> Kas keegi mäletab, mida need seista?
Ei?
Hmm?
>> Õpilane: arg c.
>> ALLISON: Nii arg c hoiab counter.
See on int.
See on number, eks?
Nii et mis sa arvad, et number on?
Jah.
Nii arg c on arvu stringid mis moodustavad käsurealt.
Nii et kui me do-- tegelikult, on näiteid pärast seda,
nii et ma ei saa enne ise.
See arv stringe, mis lihtsalt teha oma käsurida.
>> Nii et kui te seda teete, nagu, dot kärpida Mario, see on üks string, mis muudab ta üles.
Selles tükis, saate tegelikult toitmine asju käsurealt
nagu ma olen kindel, et poisid, kes lugenud spec nägin.
Nii et nendel juhtudel, äkki saate kaks või kolm argumenti.
See saab olla kasulik asi kasutada.
>> Ja siis arg v, nagu me ütlesime, on lihtsalt string massiivi.
Nii et tegelikult salvestab mida sa sisestada käsurealt.
Nii et meil on need.
Teil on dot kaldkriips kopeerida infile outfile.
Niisiis, kui arg c on arvu stringid et me pääsemist käsk
joon, mis on meie arg c antud juhul?
Kolm.
Täpselt.
>> Mis on arg v null?
Mis on esimene asi, mida me oleme säilitatakse?
Dot kärpida koopia, täpselt.
Ja siis teine ​​oleks infile.
Kolmas oleks outfile.
Nii kuidas arg v kolm?
Oleks null, sest see on lõpus meie massiivi, eks?
Külm.
>> Ja mis siis kuuendal üks?
See on selline konksuga küsimus.
Ish.
Kas me teame, mis see on?
See on määratlemata.
Meil pole aimugi, mis see võiks olla.
See on kõik, mis on õige pärast massiiv mälust
ja meil pole aimugi, mis see on.
Ja see on ohtlik puutuda asjad, sest kõik teadsid,
see on mingi osa mälu, et sa ei tohiks olla juurdepääsu või null.
Ja seda saab teha hullud asjad.
Seda nimetatakse üle-indekseerimine Sinu kohustatud oma massiivi.
Ära mine väljaspool piire oma massiiv, või halbu asju võib juhtuda.
Sa tuled tagasi ja nagu seadused füüsika on hävitatud
või midagi.
Külm.
Kas on mõtet kõigile?
Mitte liiga halb.
>> Nii et nüüd, kõik on lemmik osa, pset läbi.
Jee!
OK.
Neile teist, kes ei ole lugenud pset spec,
te teete mõned tõesti lahedaid krüptograafia.
Sa lähed, et luua Ceasar Salakiri ja Vigenere kodeerimise.
Sa peaksid kindlasti lugema spec näha, kuidas need tööd.
Ja kui sul on mingeid probleeme umbes mida peaks tegelikult tegema,
tulge minuga rääkida, kirjuta mulle või teksti mulle.
Ma olen ümber.
>> Nii on kolm peamist asjad siin, et me
tahan rääkida about-- lihtsalt selline pikendamiseks loeng.
Asjad, mis te ei tea umbes, kasulikke näpunäiteid ja tööriistu.
Nii et me ei kavatse teha kiire ülevaade ASCII,
sest see saab olema super oluline Vigenere on kodeerimise.
Me läheme konverteerimine Käsurea sisendit, mis
on väga kasulik Caesar Cipher.
Ja siis moodul.
Külm.
>> Niisiis, ASCII-kaarte tähemärki numbrid.
See on suurepärane graafik.
Sul peaks olema see järjehoidjaga kusagil.
Sa tahad seda oma esimese vahekokkuvõtte.
Ma olen päris kindel, et kõik on selle diagrammi vahehindamise lehel.
Nii õppima.
Armastan seda.
Hoidke see mugav.
See oleks kasulik.
>> Ja kõik see on on kodeering mis kaardistab tähestikuline numbrit,
ja muid sümboleid numbrid meie arvuti.
Kuna loomulikult Lõpuks on kõik me salvestada
ei hakka ümber allapoole nulli ja need,
nii et me peame kuidagi esindada Teksti ja sümboleid, et me oleme kõik
harjunud nägema nagu mingi number.
>> Nii nagu me näeme siin on meil suur-, mis on seal.
See on 65.
Ja väiketähed on 97.
Nii et te saate aru out-- nagu ma juba ütlesin,
kui teil on olnud hulgaliselt mitu stringid, mida igaüks neist
on null terminaator.
Oleks ruumi.
Kosmos on oma special-- Ma unustasin, kus ta on siin.
Ah.
32 on ruum.
Nii et kõik kaardid seda.
>> Nii et meil on ASCII matemaatikat.
Pro tip-- sisse Vigenere poolt, siis võib tekkida kiusatus
teisendada oma numbrid täisarvud, aga see on tegelikult parem tava
olema võimelised kasutama tegelasi nagu see
kui sa tegelikult manipuleerivad nendega.
Nii et kui te soovite kasutada numbreid, kui võimalik.
Aga parem, või nii, et me kipuvad nagu te poisid seda teha,
on see viis, kus sa oled tegelikult lahutades tähemärki.
>> Nii et ma tahan, et te poisid omamoodi aru neist välja.
Miks sa ei proovi iga teine?
Nii et esimene, kolmas ja viies.
Sest ma tahan veenduda, et me räägime kõike me peame rääkima.
Ma lihtsalt ütlen, üks olulised asjad mina-- oh oota,
kutid ei ole näinud seda.
OK nii teha esimese kolme.
Teeme seda.
Sest me peame rääkima moodul.
Ma tean.
Matemaatika on raske.
Te võite kasutada kalkulaatorit.
See on OK.
Või tõmba ASCII tabel, sest sa oled ilmselt läheb taha.
>> Külm.
Nii et ma kiiresti kõndida kutid läbi nende.
Nii et inimesed on ASCII tabeleid tõmmata?
Mis on meie numbriline number väiketähti?
Õpilane: Seven.
>> ALLISON: Nii väiketähti ei 97 ja suur- 65.
Nii et 97 miinus 65?
>> Sihtrühm: 32?
>> ALLISON: 62, yeah.
Nii et antud juhul see, mida oleks see välja printida?
See esimene?
Kui meil protsenti d, mis oleks, et näidata?
Õpilane: number.
ALLISON: Me trükkimine välja tegelik arv.
Nii et me tegelikult toimub välja trükkida 32 siin.
Ja kui see oleks protsenti c, 32 annaks meile ruumi.
Nii et mõista, et märke saab printida
nii numbreid ja tegelik tähemärki
On väga oluline, ning pöörates tähelepanu tegelikule liigid
et me teeme siin.
Külm.
Nii iga teine ​​neist, mida me saame trükkida?
>> Õpilane: iseloomu.
>> ALLISON: iseloomu.
Külm.
Nii et kui te tahate teada, siis võib töötada need välja ise.
Kui sul on probleeme, kirjuta mulle.
Aga teine ​​tahe välja printida väiketähed b.
Kolmas prinditakse välja suur- B. Neljas prinditakse
välja suur- C ja viimane on väiketähed A.
Ja viimane one-- me tegelikult toimub sattuda, mida see hull protsenti
märk isegi tähendab paari slaidid.
Nii et proovida neid ise.
Kui teil on probleeme, tulge minuga rääkida.
Kui oled tavaliselt Adams D saal, sa leiad mind ümber.
>> Niisiis, atoi.
Kui paljud teist on näinud seda funktsioon või kuulnud seda üldse?
Keegi?
Külm.
Nii et mida see tegelikult tähendab on ASCII täisarv.
Niisiis, mida saate teha, on koos Caesar, neile, kes lugeda spec,
sa lähed tegema dot kaldkriipsuga Caesar pärast sa kirjutad oma programmi
ja siis sa lähed sisend mõned number, mida
soovite kodeerida oma saladus sõnum.
>> Aga kui me mäletame, kõik meie sisendid on salvestatud stringid.
Õigus?
Meil on arg v massiivi see on kõik tüüpi string.
Nii et kui sa lihtsalt proovida tõmmata, et üks oleks
arvan, et üks või mis iganes number Te kasutasite on tegelikult märk.
Nii et sa lähed, et saada mõned hull tulemusi.
Nii et kui sa tegelikult tahad muuta see täisarv
mida saab kasutada manipuleerida oma sõna või sõnum
tahad kasutada atoi.
atoi lihtsalt konverteerib oma stringi int.
>> Nii et kui meil on string 12, kui me kutsume atoi 12., või mis iganes, et sisend on
see tegelikult tagasi Teile täisarv.
Ei ole iseloomu või string 12.
Mis, kui hakkate lisada, et numbrid,
on väga erinevad, sest string 12 on
mõned hull number ASCII, kuid täisarv 12
tegelikult on 12, mis on see, mida sa tahad.
Nii et sa tahad veenduda, et kasutada atoi.
>> Sa lähed tahan seda in Caesar, sest sa
vaja int poolt esitatud kasutaja käsurealt.
Aga kui nad seda käsk line, see on salvestatud stringi
alustada.
Kas on mõtet?
Sa ei pruugi vaja seda Vigenere.
Mis Vigenere, nagu ma ütlesin enne, siis tuleb proovida ja kasutada
ASCII matemaatika, mis näeb välja rohkem nagu see, kus sa oled tegelikult
kasutades tähemärki, et me teile manustatakse.
Külm.
Igaüks hea on?
Awesome.
>> Nii et moodul.
Mis siis, kui sa oled andnud see suur number Caesar?
Sul on see idee, et kui sa oled Z ja sa oled
antud number kaks, see tähendab, et sa need--
Z muutub teine kirja pärast ise, eks?
Nii et sa pead kuidagi ümbritsev, ja moodul on võimalus seda teha.
Nii et kõik see on see annab sulle ülejäänu
jagunemise esimene number teise.
Ja meil on mõned näited tegema, et natuke konkreetsem.
Aga põhimõtteliselt, kui kasutate mooduli kui tahad teha midagi ümbritsevast.
>> Nii et kui tahad ainult numbrid üks läbi kaheksa,
saab kasutada mooduli mis tahes muu number, ja see on alati
tagasi number nullist kaheksa.
Nii et mõned examples-- kui meil on 55 moodul 10
see lihtsalt annab sulle ülejäänud 55 jagatud 10, mis oleks 5.
Ja siis kolm moodul viis, keegi arvata, mis see oleks?
Kolm.
>> Nii et kui sul on väiksem number enne moodul, siis ei saa minna ühtlaselt.
See on null.
Nii see lihtsalt tagastab number ise.
Nii kaheksa mooduli kaheksa oleks?
>> Õpilane: Zero.
>> ALLISON: Zero.
Sest see läheb ühtlaselt.
16. moodul 15?
>> Sihtrühm: One.
>> ALLISON: Cool.
Ja siis see viimane on lihtsalt näita sina-- võite olla mõtlesin, OK,
Mis siis, et operatsioonide siin?
Kas me jagame esimesena?
Kas me moodul esimesena?
Nii et moodul on samal eelisjärjekorra jagunemine või korrutamine
ja oma vasaku assotsiatiivne.
Nii see on samamoodi.
Sa oleks alati sulgudes siis korrutamise, jagamise,
ja mooduli, et vasakult paremale.
Nii standard reegleid.
Lihtsalt pane see samasse kategooriasse jagunemine ja paljunemine.
>> Nii antud juhul me oleks on 1 pluss 2 annab meile 3.
Me korrutada, et 2, seega saame 6.
Me moodul, mis on 2, mis annab meile?
>> Õpilane: 0.
>> ALLISON: 0.
Ja siis me lisame 2, nii et me saada 2 viimasel juhul.
Nii modulo-- olete kindlasti läheb mõelda, kuidas lisada
et kui sa oled pakkimine ümber tähestikku.
Kui sa oled Z ja pead liikuma edastada kolme ruumid saada C
seal on, et kogu kontseptsioon pakendatakse ümber.
Nii et ma jätan kutid välja nuputada
kuidas täpselt sa lähed tuleb seda kasutada.
Aga kindlasti kasulik vahend Teie pset sel nädalal.
Ma tõesti meeldib see.
See on üks mu lemmik psets.
Siis pärast seda, kui sul on sõbrad,
saad, nagu, saata üksteisele saladus Sõnumite ja veenduge, et see töötab.
Sest see saab lahti krüptida või mis iganes.
Palju nalja.
>> Ja see on lõigu lõppu.
Ma lõpetasin varakult.
Mul on veel 15 minutit kutid, nii et kui seal on midagi
et sa tahaksid minna üle edasi, ma hea meelega teha.
Muid küsimusi oma pset neile,
kes on alustanud või lugeda spec.
Kõik, mis me oleme rääkinud umbes viimase tunni jooksul
ja 15 minutit, et soovite mind et selline Kordamine, ma hea meelega.
Või saame kutsuda ta sulgub, ja te saate kõik puhkused ja võtma rohkem kommi teiega
kui lähete.
Aga kas on ikka küsimusi, palun andke mulle teada.
Võite tulla ja räägi minuga hiljem.
Ma luban, ma ei hammusta.
Veel midagi?
Igaühel on hea?
Igaühe tunne nagu nad saavad hakkama seda pset?
Sa lähed trahvi poisid.
Tööaeg on seal põhjus.
Külm.
Alright.
>> Noh, sel juhul, tänan te kõik nii palju tulemas.
Loodan, et näeme järgmisel nädalal.
Seal on rohkem kommi.
Võib olla ka muid lahedaid asju.
Ja ma ootan saada teada, et te kõik käesoleval aastal.