>> [MUSIC Playing]
ALLISON BUCHHOLTZ-AU: Hey të gjithë.
Mirë se vini në tuaj të parë Seksioni zyrtare CS50.
Siç mund ta shikoni kjo është seksioni CS50-si, vetëm
për të tërhequr deri agjendën tonë për sot.
Pra, kush jam unë, si unë jam i sigurt ju jeni të gjithë pyesin.
Unë jam TF tuaj.
Unë nuk jam vetëm një nxënës të rastit kush është impersonating TF tuaj.
>> Dhe unë jam duke shkuar për të shkuar nëpër lloj i kanë seksione do të rrjedhin,
Pritjet e kemi, burimet, kështu me radhë e kështu me radhë.
Ne do të flasim rreth vargjeve, ASCII funksionet, argumente command-line,
dhe kjo nuk është këtu, por Unë gjithashtu do të ndihmojnë
ju lloj i mendoni me anë të pset tuaj të ardhshëm për këtë javë.
Të cilën unë jam i sigurt që ju të gjithë do të vlerësojmë.
>> Pra, së pari question-- kush jam unë, përveç TF tuaj bollshëm këtu.
Unë jam Alison Buchholtz-Au.
Ky është viti im i dytë TFing CS50.
Unë gjithashtu CS51 TF në pranverë.
Ju mund të shihni sërish atje në qoftë se ju vendosni për të marrë atë.
Unë jam gjithashtu një PAF, kështu që çdo Freshmen-- dhe në qoftë se ju nuk jeni një fillestar,
ky është viti im i tretë si një bashkëpunëtor këshilluar.
Unë jam shumë mirë-përgatitur në ju këshillon mbi jetën dhe kurse
brenda CS dhe jo brenda CS.
Unë jam një Shkenca Kompjuterike Concentrator.
Unë jam një zyrtar i lartë në Adams House, shtëpinë më të mirë.
Dhe para se të kaloi në CS paedukuar mjaft Pranvera tim,
Unë kam qenë në fakt një inxhinier bio.
Unë kam qenë duke shkuar për të shkuar në shkollë Med.
Unë do të ishte një kirurg i traumës.
Dhe kjo ka plotësisht ndryshuar që kur kam marrë CS50.
Mora kurs Fall im i paedukuar mjaft.
Kjo ishte prezantimi im i parë për CS ndonjëherë.
Unë kam qenë një nga 78% prej jush që kishte përvoja zero vijnë,
dhe kjo ndryshoi tërësisht jetën time.
Dhe tani unë jam duke punuar në Microsoft, dhe TF tuaj bukuroshe.
Dhe CS50 është ndoshta një nga eksperiencat më të mira
që unë kam pasur këtu në Harvard-- edhe marrjen e klasës
dhe duke qenë në gjendje për të ndihmuar mësojnë nxënësit si ju.
>> Kështu që unë jam i gëzuar me të vërtetë se ju jeni të gjithë këtu.
Në rast se keni ardhur në vonë, ka karamele,
të cilat ju duhet të ndiheni lirë për të ardhur kapje, ose dërgoni
dikush tjetër për të rrëmbyer atë për ju.
kjo është OK.
Unë nuk dua për të ngrënë atë.
Dhoma ime ka çokollatë të mjaftueshme, kështu që y'all duhet të përpiqet dhe të përfundojë atë.
Unë e di se ka 100 copë, por si, 04:00 në një e hënë,
Unë mendoj se të gjithë mund të përdorin disa sheqer.
>> Pra, të gjithë ju që jeni zyrtarisht në seksionin e mia
duhet të ketë marrë një e-mail nga unë me numrin tim të telefonit,
email address-- të ndjehen të lirë për të shtuar mua në Gchat, të ndjehen të lirë për të shtuar mua në Facebook,
dhe edhe për pjesën tjetër prej jush, ju mund të email mua këtu.
Ka dy H-së.
Gjithkush gjithmonë ka si dy L's ose dy C-së.
Dy burra në mbiemrit H.
Përndryshe ajo do të kërcej, dhe Unë nuk jam duke shkuar për të marrë email-it tuaj.
>> Pra, të ndjehen të lirë të email mua, të më kontaktoni në çdo kohë.
Unë nuk mund të kthehen në ju brenda 24 minutave,
por unë premtimin për të marrë mbrapa për ju brenda 24 orëve.
Nëse ju telefononi mua gjysmë ore para pset juaj është për shkak, ju duke qenë si,
Unë nuk kam asnjë ide se çfarë unë jam duke bërë Allison.
Më ndihmo.
Unë jam duke shkuar për të qetësuar ju poshtë, por në fund të ditës,
në qoftë se ju jeni duke bërë thirrje mua gjysmë ore para pset juaj është për shkak me asgjë të shkruar,
Unë jam do të jetë si, mirë, ndoshta është koha për të përdorur atë ditë vonesë.
Kështu që unë do të përgjigjet për të gjitha tuaj kërkesa në një mënyrë shumë kohë.
Telefoni im është zakonisht bashkangjitur në duart e mia.
Unë zakonisht përgjigjet më shumë shpejt se 24 orë,
por unë vetëm mund të garancisë një përgjigje 24 orë.
>> Dakord.
Pra, pse jemi këtu?
Gjithashtu, në qoftë se ju keni pyetje në çdo kohë, ju lutem let me know.
Unë flas shumë.
Unë flas të shpejtë, por ju lutem të ndjehen të lirë për të ndërprerë mua.
Kjo më jep frymë dhomë si.
Pra seksione janë një kohë e për ne me të vërtetë vetëm bixhozi
në, të merrni disa duart-në përvojën, në shkoni nëpër tema që përmendëm
në klasë apo në materiale studimore që ne rekomandojmë që ju djema online.
Dhe ne fakt do të kalojnë nëpër disa prej këtyre burimeve në një grimë.
>> Kështu disa shënime në mbështetje seksion.
CS50-- një nga gjërat që e bën atë një nga klasat e mia të preferuar
është ndjenja që ju nuk jeni vetëm.
Ne kemi një staf prej mbi 100 njerëzit që janë këtu për t'ju ndihmuar.
Ne kemi orarin e punës Nga e hëna deri të enjten.
Pra, ka kaq shumë njerëz të cilët dashuri klasën vetëm sa më shumë që të bëj unë
dhe të cilët janë me të vërtetë këtu sepse ata duan të jenë këtu.
Shumica prej nesh janë studentë, dhe kjo është si një klasë të pestë, përveç
me pjesën tjetër të punës sonë.
>> Dhe kjo është një punë e madhe, por ne e bëjmë këtë, sepse ne e duan atë,
dhe ne me të vërtetë dashuri për të mësuar ju dhe për të ndihmuar të ndajnë eksitim tonë
për këtë temë dhe këtë klasë.
Pra ju lutem të përfitojnë.
Ejani të flasim me ne.
I merrni vetmuar kur nxënësit e mi mos bisedoni me mua, kështu që nëse ju dëshironi,
dalë rri me mua.
Ajo do të jetë i madh.
>> Pra seksion është e qartë një nga gjërat tuaja më të mëdha.
Ne do të shkojnë përmes gjërave që keni mësuar në leksion,
të bëjë disa shembuj të shkurtër kur kemi kohë,
dhe në përgjithësi lloj merrni një ide në lidhje me gjëra të
ju duhet të menduarit rreth për problemin tuaj të vendosur.
Shorts-- sa njerëz të vërtetë shikuar video nga zeroja tuaj
short?
Çdokush njeh mua?
Pra, ata janë shumë të mëdha.
Ju patjetër duhet të shikojnë ato.
Një punë e madhe është vënë në to.
Dhe ata janë për qëllim vetëm për të kafshoj-size copë për ju që të shikojnë vetëm
për tre ose katër minuta dhe për të marrë një të kuptuarit më të mirë të një koncepti.
Ecni throughs-- si shumë njerëz kanë shikuar
ecin-throughs për ato të mëparshmet?
Zamyla është e mahnitshme, e drejtë?
Like, I wish I ishin Zamyla ndonjëherë.
Pra, patjetër të përdorni tuaj shëtitje-throughs.
Ajo do të thyejnë atë poshtë në copa të vogla, kafshoj-size.
Dhe kur ju keni këto të madh Specifikimet nga grupe tuaj me probleme,
ajo do të jetë me të vërtetë e rëndësishme të jenë në gjendje të gjeni vetëm diku
të fillojë dhe të punojnë ngadalë nëpërmjet saj.
>> Të gjitha të drejtat, ne gjithashtu kemi Study50, e cila është study50.harvard.edu, unë besoj.
Ju mund vetëm të Google studiuar, dhe ajo do të dalë.
Kjo është një nga Burimet më të mira që kemi.
Është PowerPoints me shënime dhe praktikë probleme për ju
me zgjidhjet që ju në fakt mund të ecin nëpër.
Pra, nëse ju doni ndonjëherë më shumë praktikë, më shumë se sa ne bëjmë në seksione ose më shumë
se grupe tuaj me probleme, kjo është me të vërtetë një vend që unë ju inkurajoj që të shkoni.
Ajo është ndërtuar verën e kaluar nga disa nga miqtë e mi të vërtetë të mirë.
Dhe kjo është e mahnitshme.
Në fakt, një shumë e slides se unë do të jetë duke përdorur për nenin
do të vijnë nga Study50.
>> Pra, një shumë e TFS përdorin atë.
Dhe së fundi, si unë përmendur, orë zyra.
Nëse ju jeni ka probleme me detyrat e shtëpisë, ju jeni
ka probleme me a koncept, vijnë për të orarit të punës.
Shko në fillim të javës, nëse mundeni.
Get out në kuadrat, sepse kjo është lloj i shumë.
Askush nuk i pëlqen të ecin atje.
Por kjo është në avantazhin tuaj, sepse atëherë ju jeni
do të ketë të gjitha këto TFS, [Padëgjueshme] ju rrethojnë.
Dhe sidomos tani, vetëm një tip, të enjteve
janë shumë të dridhura tani në Mather sepse psets tuaj
janë për shkak të enjteve.
Dhe duke e ditur do të përdorin ditët e tua vonë akoma.
>> Pra, nëse ju jeni të paturit probleme me konceptet,
ka shumë të cilët TFS janë atje për të ndihmuar ju.
Pra, do të dalin për Mather të enjten.
Nëse ju doni të shihni mua, Unë do të jetë atje.
Unë jam zakonisht bërë detyrat e shtëpisë time, për shkak se askush nuk dëshiron ndihmën time.
Pra, të vijnë të na shohin.
>> Na takohen në gjysmë të rrugës.
Pra, sa shumë njerëz kanë marrë pjesë në leksion apo shikuar atë online?
Sa shumë njerëz shkuan në Pjesa super javën e kaluar?
Ftohtë.
Kjo është në fakt një numër të drejtë.
Sa prej jush e kanë lexuar tuaj spekulim për këtë javë, për pset tuaj?
Ooh, Unë jam krenar për ju djema!
Më shumë karamele për y'all.
>> Mirë, kështu që ajo që ne do të thotë "Na takohen në gjysmë të rrugës," është
ky seksion është me të vërtetë vetëm do të jetë super i dobishëm për ju
në qoftë se ju vijnë në ka lexuar tuaj Specifikimi për pset tuaj.
Sepse kur shkoj nëpër një pasqyrë nga gjërat që ju duhet të kërkoni për të,
ajo nuk do të bëjë sa më shumë ndjenjë, nëse ju
nuk e di se çfarë problemi juaj vendosur do të jetë i kërkuar që ju të bëni.
>> Nëse ju nuk vijnë me nenin, natyrisht Unë nuk mund të jetë se e dobishme për ju.
Unë nuk jam duke shkuar për të marrë atë personalisht nëse ju nuk vijnë në seksionin tim tani,
por patjetër ju duhet.
Nëse ju nuk mund të, të shikojnë ata online.
Ata janë atje për një arsye.
Mine do të jetë e drejtë atje.
Si ju të vini re, ne jemi duke u regjistruar, kështu ajo do të jetë e drejtë ka për ju djema.
Si edhe, do të lectures-- kjo është padyshim
ku ju jeni duke marrë fillimin e materialit tuaj këtu.
Kështu që unë patjetër do të përpiqet dhe të të ju ndihmojë sa më shumë që mundem,
por unë vetëm mund të takohen ju deri më tani.
Ju duhet të lloj na takohen në gjysmë të rrugës atje.
>> Grading-- kështu, të gjithë ju i cili mori një email nga unë,
ju jeni seksion ime zyrtare.
Unë do të jetë nota psets tuaja.
Dhe unë vetëm dua të them, një gjë që ju duhet të vërtetë i kushtoj vëmendje të
janë komentet.
Komentet janë shpesh më të dobishme se rezultati aktual ne ju jap.
Dhe komentet janë të vërtetë ku kam shpenzuar shumë kohë tim
kur unë jam nota.
Kështu që unë do të vlerësojmë ajo në qoftë se ju lexoni ato.
Dhe ata janë të vërtetë si ju do të jeni për të mësuar më shumë rreth dizajnit dhe stil
dhe gjërat që janë në më pak prerë dhe e thatë.
>> Pra, me të vërtetë i kushtoj vëmendje në këto komente.
Nëse keni pyetje në lidhje me to, ose pyetje në lidhje me rezultatin tuaj,
ju lutem të vijë flasin për mua ose para seksionit,
Unë ndoshta do të jetë i varur nga në holl, ose më pas.
Nëse ju doni të planifikojë një-në-një mbledhje në lidhje me mënyrën se si
ju mund të ndihmojë në përmirësimin e vonë vendos problemeve, just let me know.
>> Dhe pastaj vetëm një çift këshilla për ju djema.
Pra, një nga gjërat më të mëdha Unë gjithmonë theksoj në seksionin tim
kur ju jeni mësuar se si të kodit është për të shkruar gjëra në letër të parë.
Nëse ju keni një plan të lojës për ku kodi juaj ka nevojë për të shkuar
dhe çfarë ajo ka nevojë për të të bëjë dhe është e thyer
në copa të vogla e pseudokod Kodi i keni shkruar jashtë,
ju jeni do të jetë më pak të ngjarë të bëjë gabime në sintaksë
ose të krijojnë një lak në qoftë se nuk ka një tjetër.
Nëse ju e dini se ku jeni duke shkuar në përgjithësi, ju jeni
më pak gjasa për të bërë këto vogël gabimet që ndonjëherë do të ju
orë për të rregulluar, sepse ju jeni si, ku jam unë humbur këtë grupim?
>> Në lidhje me këtë, ju lutem, përdorni Style50.
Sidomos kur ju jeni do të orarit të punës,
në qoftë se kodi juaj është e gjitha kaloi mbi në një anë,
ajo është politika kurs që ne mund të themi, fix it
në mënyrë që të duket si Style50 thotë ajo duhet, dhe pastaj ne do të ju ndihmojë.
Pra, kjo do të bëjë jetën tuaj më të lehtë.
Kjo do të bëjë jetën tonë më të lehtë.
Gjithkush është i lumtur.
Gjithkush merr nota më të mira.
A nuk është kjo ajo që ne të gjithë duam?
>> Kështu shkruajnë gjëra në letër para se të ndonjëherë ju prekni kompjuterin tuaj.
Bisedoni gjëra jashtë në një nivel të lartë, dhe sigurohuni që ju e dini se ku jeni duke shkuar.
Dhe në qoftë se ju jeni të pasigurt, ulen me dikë
dhe ecin nëpër ato hap pas hapi çfarë kodi juaj është menduar për të bërë.
Dhe nëntë herë nga 10, ju do të jetë si, oh, kam harruar një kusht nëse
ose kam harruar një pikëpresje këtu ose Unë jam përditësimin këtë gabim të ndryshueshme.
Pra, këto janë këshilla ime për sukses.
>> Pra, pasi që rreth gjysma e ju shikoni si ju mori pjesë në seksionin super,
Unë jam vetëm duke shkuar për të shumë shkurtimisht të shkojnë nëpër sythe,
të cilat nuk kanë qenë në agjendën tonë origjinal.
Por ata janë me të vërtetë të rëndësishme.
Dhe kështu që unë jam duke shkuar për të llojit e shpejtësisë nëpërmjet atyre
para se të merrni në seksionin tonë aktuale.
Para se të bëj atë, janë atje çdo questions-- logjistike,
personalisht, a ka çdo gjë tjetër që ju dëshironi
të dini në lidhje me mua, ose në lidhje me seksioni apo klasë në përgjithësi?
Të gjithë të mirë?
OK, cool.
Bukuroshe.
>> Pra loops-- ju djema duhet të gjithë njohin këto pjesë nga e para.
Pra, sythe janë në thelb vetëm një mënyrë për ne për të bërë diçka
disa numrin e herë, disa përsëritet veprim të bazuar në disa kushtëzuar.
Pra, ne kemi tri lloje të ndryshme.
Ne kemi për lak, ndërsa, dhe të bëjë-kohë.
>> Pra, për loops-- ne vetëm kemi një shumë të Planimetria e përgjithshme këtu e një për lak.
Dhe kjo është e madhe për të, kur ju e dini se si shumë herë diçka ka nevojë për të ekzekutuar.
Kur ne flasim për unazore të tjera, ju do të
shihni se pse kjo është një dallim i rëndësishëm.
Por, për sythe janë për diçka vendosur.
Ju e dini që ju mund ta llogaritur numrin
ose ju e dini numrin e herë ju duam që kjo të përsëritet në fillim.
>> Pra, nëse ju shihni këtu, ne kanë vetëm një lloj të përgjithshme
i kuadrit skelet për një për lak këtu.
Kështu që për-inicializimit, ky është vendi ku variablat tuaja janë nisur.
Me Mario, unë jam i sigurt se ju djema e bëri diçka si int i barabartë me 0.
Kjo është se ku do të ndodhë në blu.
Ju keni gjendjen tuaj, e cila është ajo që është kontrolluar në çdo kohë.
Nëse ky kusht është e vërtetë, atëherë Pjesa tjetër e kodit ekzekuton.
Pastaj ai do të kandidojë again-- dhe kërkoni.
Dhe pastaj ne kemi përditësim, ku ju jeni përditësimin ndryshore tuaj.
Pra, përsëri, me si Mario, unë jam i sigurt ju djema e bëri një gjë të tillë i plus plus.
Pra, çdo herë loop vrapoi, mori i përditësuar në mënyrë
se kur ne ishim duke kontrolluar atë kundër disa kusht, ajo u ndryshuar.
>> Sepse në qoftë se ju vetëm të kanë një ndryshore statike,
nëse ajo zbaton për herë të parë, është e vetëm do të ekzekutuar pafundësisht.
Kështu që ju duhet të bëni të sigurtë që ju Përditëso ndryshore tuaj siç duhet.
Dhe ne gjithashtu kemi vetëm një përfaqësim pamor atje.
Gjithkush e mirë?
Për sythe.
Duhet të keni parë këto në pset tuaj.
Ftohtë.
>> Kështu që këtu është vetëm një shembull i lehtë.
Print Kjo është CS50!
10 herë.
Dhe kështu që ne kemi inicializimit tonë, si ne shohim atje, me int i
është e barabartë me 0, sepse i është më pak se 10, dhe i plus plus.
Dhe ajo do të shtypura se 10 herë.
>> Kështu, ndërsa loops--, ndërsa sythe janë kur e madhe ju nuk domosdoshmërisht
duhet ta dini se sa herë është e shkuar për të rinovuar në fillim.
Ju vetëm duhet disa Kushti që është kontrolluar.
Dhe kjo mund të jetë diçka si while-- le të marrim një shembull nga pset tuaj.
Nëse Mario, ju përpiqeni të input një numër negativ.
E drejtë?
Ju keni qenë dashur të ri-të shpejtë përdoruesit tuaj.
Kështu që ju mund të them, mirë, në qoftë se inputet e përdoruesit diçka më pak se zero, ri-shpejtë
tyre.
Dhe unë jam i sigurt se mund të ketë qenë diçka që disa prej jush
e përdorur në kodin tuaj.
>> Pra, kjo është një gjë e thjeshtë.
Keni, ndërsa, disa të me kusht që kontrollohet
çdo kohë kodi shkon për të ekzekutuar.
Në qoftë se vlerëson të vërtetë, ne të drejtuar atë.
Përndryshe, ne nuk bëjmë.
Dhe çfarë është me të vërtetë diçka important-- unë po
Mendoj se David biseduar rreth në lecture-- janë formatimin e teksteve.
Çfarëdo brenda formatimin e teksteve është ajo që është ekzekutuar.
Nëse ju harroni ata formatimin e teksteve, ajo vetëm do
të jetë linjë direkt pasi duke u ekzekutua.
>> Pra, nëse ju keni tre gjëra që do të duhej
të ndodhë kur ky kusht vlerëson të vërtetë,
dhe ju nuk keni këto formatimin e teksteve, vetëm gjëja e parë që do të ndodhë.
Pra, të jenë shumë të vetëdijshëm për ku ju vendosni formatimin e teksteve tuaja.
Nëse ju rrinë me Style50, kjo patjetër do të ju ndihmojë.
Ftohtë.
>> Pra, kjo është një countdown nga 10 deri në zero.
Dhe, siç e shihni këtu, ne nisja disa counter jashtë saj.
Një gjë që është e ndryshme është ne nuk jemi fillimin ndryshore tonë
brenda loop tonë ndërsa.
Është nisur jashtë saj.
Ne jemi thjesht vetëm duke kusht në për kohë tonë.
Pra, në këtë rast, është duke akuzë është më i madh se zero.
Dhe ne të shtypura nga ajo akuzë tonë është, dhe pastaj kemi pakësim ndryshore tonë.
Dhe kjo është edhe një gjë në njoftim.
Azhurimi i ynë nuk do të ndodhë brenda se pjesa e parë e lak, ndërsa.
Kjo në fakt do të ndodhë brenda formatimin e teksteve, trupi i tekstit tuaj.
>> Pra, mos-ndërsa loops-- bëni, ndërsa sythe janë të mëdha për përdoruesit validation.
Kështu që disa prej jush mund të ketë përdorur edhe këtë në pset tuaj.
Ju mund të thoni, të bëjë, si, të kërkojë nga shfrytëzuesi për input.
Dhe pastaj, ndërsa, si, dhëna është më pak se rreth numër.
>> Pra, për një rast të qartë me Mario, ajo do të jetë të bëjë printf, të hyjë një numër i plotë,
dhe pastaj disa integer barabartë getint.
Dhe pastaj do të të vërtetë ekzekutuar atë kod të parë.
Ju në fakt do të keni një lloj numër të plotë.
Dhe pastaj ju mund të thoni, ndërsa integer që është më pak se zero.
Pra, atë që do të bëni është ajo e sipër për ekzekutimin paktën një herë.
Ajo do të kontrolluar gjendjen.
Nëse gjendja është e vërtetë, ajo do të kandidojë përsëri.
>> Pra, bëni, ndërsa sythe janë e madhe për përdoruesit vlefshmërinë,
sepse ju e dini kodin do te kryer te pakten
një herë, ndërsa me ndërsa sythe, ju nuk jeni
garantuar se kjo është shkuar për të ekzekutuar një herë.
Ajo do të kontrolloni gjendjen së pari dhe pastaj të vendosë për të ekzekutuar atë,
ndërsa një do-do, ndërsa ekzekutuar kodin parë
dhe pastaj kontrolloni për të parë nëse ju keni nevojë për të përsëritur atë.
A atë dallim kuptim për të gjithë?
OK.
Ftohtë.
>> Pra, në këtë rast, ky është lloji e atë që unë isha duke folur në lidhje me,
Ky ri-shkakton derisa ju merrni një numër pozitiv.
Pra, ne e dimë se printf "Të hyjë një numër pozitiv"
dhe në fakt duke kërkuar që të dhëna do të ndodhë të paktën një herë.
Në qoftë se përdoruesi është e keqe dhe e mban hyrë në një numër negativ, i cili
e di se sa herë ajo do të ekzekutojë.
Por ky kod është i garantuar për ekzekutimin e të paktën një herë.
Dhe kjo është arsyeja pse ajo është e madhe për Vleresimin input.
Dhe ju do të përdorni atë mjaft.
>> Të gjitha të drejtat, ndonjë pyetje deri më tani?
Ne jemi të gjithë të mirë?
Jam unë duke folur shumë shpejt?
Ne jemi të mirë?
OK.
I tmerrshëm
>> Pra, ne jemi duke shkuar për të shkuar përpara dhe të flasim për vargjeve.
Ftohtë.
Pra vargjeve janë në thelb vetëm strukturat e të dhënave
që të na lejojë të ruajtur gjërat e të njëjtit lloj.
Pra, nëse ndonjëherë ju keni një rrjet, është e ose thjesht do të ketë ints
ose ajo është vetëm do të ketë gjithandej ose ajo është vetëm do të ketë chars.
Ju nuk jeni do të ketë një int me një char me një noton me një të dyfishtë.
Një gjë.
Vargjeve janë vetëm një masë, apo ata janë vetëm një lloj.
>> Pra, këtu ne kemi një rrjet të madhësisë tre me tre integers në të.
Ata mund gjithandej, por ne jemi do të thonë ints ata janë.
Pra, një gjë të kuptojnë është se vargjeve janë një madhësi të vendosur kur ju nisja
tyre, dhe ata nuk janë të easily-- pasi të gjithë ju jeni më pak të rehatshme,
ju duhet vetëm të mendojnë për to si Nuk qenë në gjendje për të zgjeruar në madhësi.
Megjithatë madh që ju të përcaktuara array tuaj në fillim,
kjo është madhësia se kjo do për të qëndruar, për shkak të vargjeve
janë blloqe të vazhdueshme të kujtesës.
Dhe, kur ju djema merrni në pak më shumë
se sa memorie është hedhur në të vërtetë jashtë në disqe dhe në grumbull dhe rafte,
kjo do të bëjë një pak më shumë kuptim.
>> Por ju mund të mendoni vetëm për si, është e vetëm një rresht të hapësirave në diskun tuaj.
Dhe ju nuk mund të garantojë se nuk ka do të jetë hapësirë ​​e lirë pas saj.
Ju mund të nisja një rrjet të tre dhe pastaj ndoshta ju
nisja një grup prej pesë më vonë, dhe kjo është e drejtë pas kësaj.
Pra, nëse ju do të shkoni vend të kaluarën tre në atë grup pare,
ju do të jetë me shkrim mbi diçka tjetër.
Pra vargjeve are-- për ju djema, vetëm mendoj se prej tyre si një madhësi të caktuar.
>> Pra krijimin e një array-- ju do të jeni të duhet për të bërë këtë mjaft.
Pra, në të njëjtën mënyrë që ne të kemi një Struktura e përgjithshme për tonë të unazore,
ne kemi një gjeneral bukur Struktura për array tonë.
Për shkak se ata janë të një lloji, të gjitha elemente në një grup janë të një lloji,
ju duhet të nisja se çfarë lloji është.
>> Pra, siç e shihni këtu, ne kemi një bukur pak llojin e të dhënave kllapa.
Pra, nëse ne jemi duke krijuar një int array, kjo do të jetë int.
Nëse ne jemi duke krijuar një char array, ajo do të jetë char.
Nëse ne jemi duke krijuar një varg array, ajo do të jetë string.
Dhe pastaj emrin e grup tuaj, çdo gjë që ju dëshironi që ajo të jetë.
Kështu që ndoshta kjo është rezultatet e testeve ose ndoshta kjo është nxënës apo ndoshta kjo është karamele.
Çfarëdo që ju vendosni të emrit tuaj array, kjo është ajo që do të jetë.
>> Dhe pastaj në kllapa, ju do të kanë madhësinë që ju dëshironi.
Pra, jemi ruajtjen 10 nxënës, ose jemi ruajtjen 15 lloje të karamele?
Çfarë jo.
Kështu në shembullin tonë këtu, ne jemi duke krijuar një rrjet
të madhësisë së tre, të cilat ju djema të shihni të drejtë këtu në të djathtë.
Dhe kur ne së pari nisja ajo, çdo gjë është vendosur në zero.
Pra, kjo është menduar vetëm e si një propozoj bosh.
Ne kemi të gjitha këto hapësira, ne kemi të gjithë këto kuti ne mund të vënë të dhënat tona në,
por ata janë vetëm bosh për momentin.
>> Pra, nëse ne duam të vërtetë caktoni atyre këto vlera,
ne bëjmë aq sa të drejtë në këtu tregon.
Pra, ju keni çfarëdo emrin e juaj array është dhe atëherë çfarë indeksi që ju dëshironi.
Pra, indeksi vetëm i referohet, si, çfarë slot ne jemi duke kërkuar në.
Dhe një gjë e rëndësishme në njoftim është se vargjeve janë zero-indeksuar.
Pra, nëse ne duam hapësirë ​​të parë në kujtesën e array tonë, ajo do të jetë zero.
Në qoftë se ne duam të dytë, ai do të jetë një.
Në qoftë se ne duam të tretën, ajo do të jetë dy.
Kështu me radhë e kështu me radhë.
>> E cila është edhe arsyeja pse, konvencionale, kur ne bëjmë për loops-- unë jam i sigurt
ju djema u pyesin, pse nuk kemi të fillojë në 0 kundrejt 1?
Dhe kjo është për shkak se kur ne tranzicion në përdorimin e vargjeve, ajo harta saktë.
Pra, nëse ju doni të iterate në një grup, atë
bën një kuptim shumë më tepër për të nuk i është e barabartë me 0, sepse ne
e di që do të korrespondojnë tek pika e parë në memorje.
Gjithkush e mirë me atë?
Ftohtë.
>> Dhe pastaj në fund këtu është vetëm një tjetër mënyrë për të nisja një rrjet.
Ju ende keni tuaj Lloji i të dhënave dhe emri,
por në vend të vërtetë vënë një madhësi në atje,
ju mund të bëni vetëm kllapa bosh.
Dhe pastaj me këto kaçurrel shtrëngohet në fund,
ju mund vetëm të dhëna të dhënave që ju doni të ndara me presje.
Dhe kjo do të automatikisht thonë, OK, unë shoh
se ju keni tre gjërat në këto formatimin e teksteve.
Kështu që unë e di se kam nevojë të ndajë tre blloqe të memories dhe pastaj të ruajtur ato.
>> Pra, versioni i parë që ju mund të përdorni në qoftë se ju jeni duke i kërkuar përdoruesit tuaj për të dhëna
Vlerat në mënyrë që ju mund të iterate nëpërmjet rrjet
dhe ask-- marrë disa int për kontributin e tyre.
Nëse ju e dini vlerat paraprakisht, kjo e bën shumë më tepër kuptim
për të përdorur rrugën e dytë.
Por në shumicën e rasteve, ju nuk mund të di çfarë janë këto vlera do të jetë.
Ftohtë.
Çdo pyetje të tjera?
Mirë.
>> Pra, qasjen elements-- një gjë të tillë nga gjërat e mëdha në lidhje me vargjeve
është se ata janë të rastit qasje, do të thotë se ju
nuk kanë për të parë përmes çdo bllok.
Nëse ju e dini se ju duan atë që është në bllok dy,
ju mund të them vetëm, më jep bllokojnë dy.
Dhe kjo është arsyeja pse këto Indekset janë kaq të rëndësishme,
dhe kjo është se si ne fakt qasjen e tyre.
Pra, në këtë rast, siç e pamë më parë, kur ne ishim përcaktimin e vlerave, në një
më parë, ne kishim emrin dhe Indeksi i kemi dashur për të hyrë, e drejtë?
Pra, në të njëjtën mënyrë, kjo është e gjitha ne të bëjë në fakt të tërheqë atë dhënave jashtë.
Ne kemi emrin dhe ne kanë indeksin që ne duam.
>> Pra, në këtë rast, për lak këtu poshtë në fund, dikush
e di se çfarë është duke bërë, çfarë ajo do të shtypura jashtë?
Mmhmm?
Pikërisht.
Pra, vërtet, kjo është vetëm iterating përmes.
i është i barabartë me zero-- mund të ecim nëpërmjet kodit sapo shpejt.
i eshte i barabarte me zero, i është më pak se tre në këtë pikë, e drejtë?
Kështu që kontrollon jashtë.
Dhe ne themi, OK, print f çdo gjë që është në temperaturën i.
i është zero të drejtë këtu, kur kemi parë iterate, kështu që ne do të shkojmë në këtë vend të parë,
dhe ne themi, OK, 65 është Numri i duam të shtypura jashtë.
Kështu ajo do të shtypura nga 65 dhe pastaj të bëjë një linjë të re.
Unë do update, kështu që ajo printon 87.
Ajo përditësime përsëri, dhe ajo do të shtypura 30.
Gjithkush ftohtë?
Awesome.
>> Dakord.
Kështu që këtu është lloj i një gjë që unë isha duke thënë se
ju mund të mbani gjurmët e Rezultati dikujt dhe pse
ju do të përdorni parë mënyra e fillimin atë
në vend të kësaj mënyre të dytë.
Dhe kjo vetëm shkon përmes.
Dhe vini re, ne kemi një madhësi të klasës së 30.
Dhe ne jemi duke iniciuar këtë array e ints që është e madhësisë 30.
Dhe atëherë ne jemi iterating anë dhe ne jemi
duke i kërkuar përdoruesit të kontributit Rezultatet për secilin prej tyre
dhe pastaj atë për caktimin e një vend të veçantë në kujtesën
diku në atë grup.
Ftohtë?
Ka që e bëjnë kuptim për të gjithë?
Mmhmm?
>> Pra hashtag të përcaktojë madhësinë e klasës 30 është një direktivë preprocessor,
të cilat vetëm do të thotë se gets-- se ka për të bërë si proces hartimin.
Ju mund të mendoni për atë si një variabël globale.
Mënyra që ne bëjmë atë, është typically-- ajo lejon kodin tuaj
të ndryshohen më lehtë.
Pra, le të themi se madhësia tonë të klasës papritur shkon 30-15,
në qoftë se unë nuk e kishte përkufizuar atë në këtë mënyrë, unë do të duhet të kalojnë nëpër të gjithë programin tim
dhe për të ndryshuar çdo shembull prej 30 në 15.
Por me këtë, unë shkoj për të ndryshuar një vend, dhe çdo gjë tjetër ndryshimet.
>> Nëse ju ndonjëherë të dëshironi të bëni një hash të përcaktojë në një rast
ku ju jeni mbajtja e disa vendos numrin e pikëve për një klasë
ose ju jeni duke përdorur një numër që do të përdoren, si,
gjatë një programi shumë të gjatë, është e më mirë të përcaktuar që në fillim
kështu që nëse ndonjëherë ajo ndryshon, ju merrni për të ndryshuar një vend në vend të 100.
Po?
>> STUDENT: Midis bërë atë dhe vetëm duke deklaruar [padëgjueshme] gjatë në krye.
>> ALLISON BUCHHOLTZ-AU: Pra ka të bëjë me efficient--
kjo është lloj i jashtë fushëveprimit të ajo që ne mund të mbulojë në këtë seksion.
Ajo ka të bëjë më shumë me efikasitet dhe se si gjërat në fakt
punojnë në procesin e përpilimit të.
Nëse ju doni të vërtetë e di për këtë, unë jam i lumtur për të ju dërgojnë
nje email me burime për të.
Hash përcaktojnë ka tendencë të jetë e preferuar për gjëra.
Dhe si ju kodit shumë, ju lloj i mësojnë nuanca
kur ju duhet të përdorni një globale kundrejt hash përcaktuar.
Por, për momentin, ju vërtetë nuk kanë
për t'u shqetësuar rreth është se përgjigje të shkurtër.
Gjithkush e mirë me atë?
Dhe gjithashtu, në qoftë se ju dëshironi të përdorë hash përcaktuar,
është me të vërtetë e rëndësishme në njoftim se emri duhet të jetë në të gjitha shkronja kapitale.
Ne nuk jemi vetëm duke bërë KLASA SIZE të jenë dramatike.
Ajo në fakt duhet të jetë në të gjitha shkronja kapitale.
Ftohtë.
Çdo gjë tjetër atje?
Ne jemi të mirë?
Bukuroshe.
Mirë se vini.
>> OK, kështu që unë dua që ju djema për të marrë një sy në këtë dhe të shohim nëse ju mund të gjeni bug.
Unë do të ju jap një aluzion.
Është diku në atë për-loop.
Mmhmm?
>> STUDENT: Duhet të jetë më e vogël se e barabartë me 2.
>> ALLISON: Pra, ajo mund të jetë më pak se ose e barabartë me 2, ose mund të jetë më pak se 3.
Dhe çfarë është arsyetimi për këtë?
>> STUDENT: [padëgjueshme], 0, 1, 2.
>> ALLISON: Pikërisht.
Pra, në një grup me madhësi n, ne vetëm indekset e n minus 1.
Ftohtë.
Dhe atëherë ne mund të merrni të vërtetë të çmendur dhe të marrin vargjeve multi-dimensionale.
Një nga problemet, kur mora atë në tim vit vargjeve nevojshme multi-dimensionale,
dhe unë mendoj se një prej tyre mund të kërkojë ajo këtë vit, në mënyrë të rehatshme.
Përfundojë kokën tuaj rreth tij tani.
Ai do të kthehen të ndjekin ju, por në një mënyrë të ftohtë.
Kështu që ju mund të vërtetë mendoj vetëm i vargjeve multi-dimensionale
si vargjeve të vargjeve.
Kështu që ju mund të lloj të mendojnë për këtë krye rresht si copë e parë të kujtesës.
Dhe kjo është copë e dytë e kujtesës,
në radhën e fundit është copë e treta e kujtesës.
Dhe brenda kësaj, ka një koleksion.
Por sigurisht, është më e lehtë ta përshkruaj si kjo.
>> Pra, ju nisja atë në të njëjtën mënyrë.
Kjo është një karakter Bordi i tre nga tre.
Pra, ju keni tre rreshtave dhe tre kolona.
Ne jemi duke përfaqësuar atë në këtë mënyrë.
Dhe ju do të hyni në atë në të njëjtën mënyrë, kolona me rresht.
Dhe kështu 1,1 që ne shohim këtu.
Ne caktojë një zero, zero deri atje.
2,0 dhe 0,2.
Pra, ju vetëm do të hyni them-- nëse dikush ka bërë ndonjëherë algjebër lineare,
të njëjtën mënyrë që ju të hyrë në një element në një matrice, kjo është e njëjta ide këtu.
Kështu që ju mund të lidhen atë me matematikë.
Ju nuk keni për t'u shqetësuar shumë shumë për këtë tani.
Është mirë që të ketë ekspozimit, të dini se ju mund ta bëni atë.
Ju mund të krijoni disa crazy number-- ju mund të
krijuar vargjeve çmendur është të gjitha unë jam duke shkuar për të thënë.
[Padëgjueshme]
Ajo merr një pak i çmendur, por kjo është me të vërtetë cool.
Awesome.
>> Dhe pastaj, kështu që ne kemi një shembull këtu.
Ai llogarit një gjatësi string.
Pra, sa shumë njerëz e dinin se vargjet që ju jeni duke përdorur
janë vetëm vargjeve të karaktereve?
OK, vërtet.
Kështu që ju djema mund të mendoni se ju nuk keni vargjeve të përdorura më parë, por çdo kohë
ju përdorni getstring në Biblioteka CSView, ju jeni
në fakt vetëm të kërkuar për të një grup të karaktereve.
Dhe ne jemi duke u kujdesur për të gjithë që në fund të kthehet për ju.
Por ju keni qenë duke përdorur vargjeve që ju keni filluar.
Ju thjesht nuk e di akoma.
>> Dhe sa herë që ju keni një rrjet karakter ose një grup që është ruajtjen e një varg,
Gjëja e fundit është gjithmonë ajo që është quajtur një terminator null, e cila
është kjo e drejtë këtu.
Dhe kjo është në fund të çdo fjalë që ju jeni ruajtjen.
Pra, nëse ne duam të kuptoj se Gjatësia e një varg, mund të themi,
mirë, ju e dini, Përmbajtja e këtij blloku
nuk është e barabartë me terminator tonë null.
Kjo do të thotë se ka disa Karakteri atje se ne fakt
kujdesen për atë është pjesë e fjalës.
Ju të rritur gjatësinë tuaj.
Dhe atëherë kur ne të vërtetë të merrni për të fund të fjalës, ajo do të përfundojë
dhe ajo do të kthehet gjatësi tonë për ne.
Mmhmm?
>> STUDENTORE: A hapësirë llogaritet si terminator pavlefshëm?
ALLISON: Pra, a është e hapësirë jo një terminator null.
Pra, nëse ju keni një hapësirë ​​multiple-- është në fakt një vlerë specifike ASCII.
STUDENTORE: Çfarë është Thirrje barabartë përsëri?
ALLISON: Pra, kjo është ajo që ju referohen.
Nëse keni dëgjuar ndonjëherë mua në orarit të punës, Unë gjithmonë e quajti atë, si, zhurmë barabartë.
Pra Bang nuk është.
Pra, kjo nuk është e barabartë.
Pra, nëse ju jeni duke u përpjekur për të të shohim nëse diçka është e rreme,
ju e dini gjithmonë bëni, zhurmë çfarëdo ndryshueshme, dhe në qoftë se është e rreme,
ajo vlerëson të vërtetë dhe ju mund të bëjë gjëra të ftohtë me atë.
Më shumë për këtë më vonë.
Ftohtë.
Çdo gjë të mirë atje?
Awesome.
>> Pra, tani është koha për t'u njohur me djem tuaj të punë, pasi që unë kam qenë duke folur.
Kështu që unë dua që ju të vetëm të krijojë një rrjet me numrat e plotë një, dy, tre,
dhe pastaj ata kanë të shtypura jashtë.
Ju nuk keni për të bërë, si, kryesore, blah, blah, blah, çfarëdo.
Unë vetëm dua që ju të nisja array dhe pastaj të krijojë
një për lak për të shkruar ato out-- ose një lak, ndërsa, deri te ju.
>> Unë vetëm do të ju jap një çift minuta për të punuar në atë.
Unë jam duke shkuar për të pushuar zërin tim.
Nëse keni ndonjë pyetje, unë jam i lumtur të vijnë përreth dhe të bisedoni me ju djema.
Ndjehen të lirë për të folur me njëri-tjetrin.
Merrni më shumë karamele.
Në fakt, unë vetëm do të ecin rreth me karamele.
Si është ajo?
>> A dëshironi ndonjë?
Çdokush tjetër në këtë dhomë doni karamele?
Ju gjithashtu mund të marrë më shumë se një, djema.
Merrni një grusht në qoftë se ju dëshironi.
Mund po ashtu.
Të gjithë të tjerët të mirë?
OK.
>> Gjithashtu, unë jam duke shkuar për të krijuar një Forma anonim Google,
dhe ju djema mund vetëm të paraqesë reagimet pas çdo seksion
nëse ka diçka që ju doni të përmirësuar mbi ose diçka që ju doni bërë.
Nëse unë jam pak a shumë energjik për ju, unë mund ton atë poshtë.
Unë do të krijojë atë dhe dërgoni atë për të gjithë ju më pas.
>> Dakord.
Pra, le të fillojë të vogla.
Si do të nisja array tonë?
Çfarë është lloji i array tonë?
Një int, e drejtë?
OK, kështu që çfarë të bëjë që ju doni për të thirrur array tuaj?
Array int, cool.
Të gjithë të drejtë, kështu që ne kemi int int array barabartë, dhe çfarë kemi pas kësaj?
STUDENT: [padëgjueshme] kllapa.
ALLISON: formatimin e teksteve.
Dhe pastaj brenda formatimin e teksteve?
Një presje dy presje tre.
Ftohtë.
Pra, kjo është e gjitha e drejtë.
Deri tani ne kemi tonë për lak.
Pra, në pjesën e parë të tonë për lak, çfarë kemi?
>> STUDENT: i barabartë me 0?
>> ALLISON: Pra int i barabartë me 0, dhe atëherë çfarë është gjendja jonë?
Çfarë po i do të jetë më pak se?
Më pak se tre, dhe si ne nuk kemi rinovuar i?
i plus plus, përditësimin atë me një.
Dhe pastaj ne do të kemi disa printf nga numër i plotë,
dhe çfarë është kjo e fundit pjesa që është në të vërtetë
do të thonë se çfarë duhet të jetë shtypje?
Ajo do të jetë emri i array, e cila është e array int, e drejtë?
Dhe çfarë është në kllapa e grup int?
i.
[? Kështu që unë] e quajti? Tim shembull, por ju shkoni atje.
Jo edhe aq keq.
Gjithkush e mirë?
Ftohtë.
>> Pra, ne jemi duke bërë me vargjeve.
Congrats.
Ti ke arritur të iterate nëpër të gjitha the-- po?
>> STUDENT: [padëgjueshme]
>> ALLISON: Po.
>> STUDENT: Unë kam një pyetje.
Jeni menduar për të porosis formatimin e teksteve?
>> ALLISON: Pra, formatimin e teksteve duhet të vijë deri me për lak, dhe pastaj çdo gjë
brenda formatimin e teksteve duhet të jetë prerë.
>> STUDENT: OK, duhet për lak të prerë?
>> ALLISON: për lak nuk nevojë për të prerë në këtë pikë.
Nëse ju keni qenë në kryesore, nëse ne në fakt kishte një funksion kryesor këtu,
ajo do të jetë prerë nga kryesore.
Por në këtë rast, kjo është në rregull.
Po, pyetje.
>> STUDENTORE: A ju duhet të keni kllapa pas shembull?
>> ALLISON: Po, në qoftë se ju jeni fillimin atë në këtë mënyrë.
Pra mbani mend, kjo është e dytë Mënyra e fillimin e një rrjet ku
ne kemi formatimin e teksteve dhe pastaj aktuale tonë Të dhënat të ndara me presje brenda.
>> STUDENT: Mendova kishte kllapa për këtë shembull.
>> ALLISON: Jo, ata janë formatimin e teksteve.
Ata janë formatimin e teksteve.
Nëse jeni duke iniciuar atë kjo mënyrë e dytë, është e formatimin e teksteve.
Nëse ne do të themi, int example-- nëse ne vetëm të kërkuar një rrjet bosh për ints,
kjo do të jetë shembull i int kllapa tre.
Kllapa paraqesin madhësinë.
Kur ju keni formatimin e teksteve, kjo është dhënat aktuale
ju jeni vënë në atë në këtë mënyrë.
Ne mund të lëvizni përsëri të vërtetë të shpejtë.
>> Pra, në këtë, kjo është vetëm tonë array fillestar, initialization.
Dhe këtu, ne jemi individualisht caktimin e spote me ta,
kështu që kjo paraqet indeksin e tona array, e cila është arsyeja pse ne kemi kllapa.
Por këtu, në qoftë se ju vini re, ne kemi lënë kllapa tonë pa një madhësi,
dhe ne nisja me Të dhënat aktuale të gjitha-në-një me formatimin e teksteve.
STUDENT: Pra, pse nuk kemi kllapa në këtë shembull?
ALLISON: Pra, në të cilën pjesë?
STUDENT: Nuk do të kemi të themi, shembull int kllapa
barabartë me formatimin e teksteve [padëgjueshme] kllapa për shembull.
>> ALLISON: Oh, sorry.
Ju jeni të drejtë.
Ne kemi kllapa atje.
Na vjen keq djema, e keqe e mia.
Po, ju duhet të keni kllapa pas shembull.
Ju jeni absolutisht të drejtë.
>> STUDENT: [padëgjueshme] nuk ka bërë atë.
>> ALLISON: Jo, ju duhet të keni kllapa, sepse përndryshe kjo është
nuk do të deklarojë një rrjet.
STUDENT: [padëgjueshme].
Na vjen keq për këtë.
>> ALLISON: Na vjen keq, ju keni nevojë për kllapa pas shembull.
Typo.
Kapur mirë, yll ari për ju.
Gjithashtu, nëse ju jeni duke bërë një pyetje, nëse ju djema vetëm do të më tregoni emrat tuaj,
Unë do të dua atë.
Unë do të duan të jenë në gjendje të di të gjitha emrat e tua.
Unë nuk jam duke shkuar për të ftohtë thirrur ju, unë në fakt
vetëm nuk duan të dinë se emrat tuaj.
Pra ju lutem të vërtetë më thoni emrat tuaj.
>> Leah: Leah.
>> ALLISON: Leah.
OK, kështu që functions-- unë e di në të shkurtër ata folën në lidhje me këtë, gjatë ligjëratës.
Pra, funksionet janë lloj i vetëm si këto pak gjëra kafshoj-size
ku ju të kalojë në inpute, diçka magjike ndodh, dhe ju merrni rezultatet.
Ftohtë.
Pra, ju keni përdorur në të vërtetë a Shumë prej tyre tashmë.
Get int, merrni string, të shtypura f.
Këto janë të gjitha funksionet ku ju vetëm i thirrët ata,
ka shumë gjëra magjike ndodh në sfond
që ju nuk domosdoshmërisht shohin, dhe ju të merrni atë që ju dëshironi.
Ose të paktën të merrni çfarë shpresoni që ju dëshironi.
>> Dhe në thelb pika e funksioneve, dhe një nga temat kryesore të CS,
është për të thyer kodin në copa të menaxhueshme.
Kur ju filloni të shkruani Këto programe të vërtetë të gjatë,
ose në Scratch, kur keni pasur kjo ide e madhe për një lojë,
ju duhet të jetë në gjendje për të thyer atë poshtë për të, si, OK, si mund të fillojë?
Cilat janë pjesë të vogla që kam nevojë?
Oh, unë duhet të pyesni përdoruesit për diçka.
Tani kam nevojë për të shkruar diçka.
Oh, kam nevojë për të llogaritur këtë vlerë.
>> Dhe të mësuarit se si për të thyer tuaj Kodi dhe problemet e mëdha ju
kanë në këto copa të vogla dhe krijimin e funksioneve
është në fakt një nga themelet e madhe e CS.
Kështu që ju mund të mendoni për një funksion vetëm si si një kuti e zezë, një kuti magjike e zezë,
që ju të vënë gjërat në dhe që ju të merrni disa dalje.
Dhe pjesa tjetër e programit nuk ka nevojë për të domosdoshmërisht të dini
çfarë po ndodh brenda asaj kuti e zezë.
Të gjitha ajo kujdeset për është ajo shkon në dhe atë që vjen nga.
Ftohtë.
>> Kështu që pse funksionon?
Organization-- siç thashë, kur ju jeni që kanë të bëjnë me bazat shumë të mëdha kodi,
se si të organizojnë kodin tuaj do të jetë shumë më e lehtë në qoftë se ju përdorni funksionet.
Sepse ju do të jetë në gjendje që të jetë, si, OK kjo,
është ajo që ky funksion e bën dhe këtu është ajo që e bën një tjetër.
Dhe ju lehtë mund të shihni si ata të gjithë përshtaten së bashku.
Pra thyer atë në të gjitha këto subparts dëgjueshëm.
>> Kështu simplification-- unë jam i sigurt që djemtë të gjithë e panë këtë, siç e thashë, me Scratch.
Ju e keni këtë ide madh, dhe ju jeni si, se si e bën gjithë këtë punë?
Por nëse ju qasje atë pak nga pak, ju thoni, OK,
si mund ta bëjë një Sprite shket nëpër ekran?
Kjo është pak më e lehtë.
Përdorimi në mënyrë të mirë të funksionit bën Kodi tuaj shumë më të lehtë për të lexuar.
Kjo e bën më të lehtë për të korrigjoj të cilat si ju merrni në grupe tuaj më vonë me probleme,
ju do të jeni me të vërtetë duan të jenë në gjendje të bëjë.
Dhe ata janë edhe më të lehtë për të hartuar dhe zbatuar.
Ju mund të kodojnë deri një të vogël funksionojnë relativisht shpejt
dhe sigurohuni që ajo punon kundrejt duke u përpjekur për të krijuar këtë program të tërë të gjatë
dhe pastaj lloj i shkojnë përmes dhe parë se çfarë është duke punuar dhe çka nuk është.
>> Dhe pastaj Reusability.
Kështu funksionon vetëm duhet për të shkruar njëherë,
dhe pastaj ju mund t'i përdorë ato si shumë herë të jetë e mundur.
Pra, kjo është, si, eko-miqësore në një kuptim.
Nëse keni pasur gjëra të tilla si print f, ku ju
kishte për të shkruar jashtë magjik që shkon më pas të shtypura f çdo kohë të vetme
ju të kërkuar për të shkruar diçka, ju do të jetë goxha i sëmurë dhe të lodhur nga ajo
ne fund.
>> Një nga gjërat që ju do të mësojnë në klasat e mëvonshme ShC,
ose një nga më të mirë copë e këshilla të shkoj
është, në qoftë se ju jeni kopjimi dhe pasting Kodi, ai ndoshta duhet të jetë një funksion.
Nëse ju keni të njëjtën saktë linja të gjithë të gjithë kodin tuaj,
në qoftë se ju faktorizohen ato, Kodi juaj ndoshta do të
të jetë, si, pesë herë më të shkurtër dhe të jetë shumë më e lehtë për të lexuar.
Dhe në vend që të përpiqen për të troubleshoot të gjitha këto vende të ndryshme ku gjërat
mund të shkojnë keq, ju keni një funksion që ju të merrni për të troubleshoot.
Dhe unë premtoj, një shumë kjo mund të duket lloj abstrakte tani,
por si ju të merrni në më vonë dhe problemi më pas vendos,
ajo do të bëjë shumë më tepër kuptim dhe me të vërtetë të drejtuar në shtëpi.
A ka ndonjë pyetje në lidhje me funksionet deri më tani?
Pse ne jemi duke përdorur ato?
Unë e di që ne nuk e kemi marrë në rëre mortajë ende.
Pra, përcaktimin e një function-- vetëm si vargjeve, ne kemi nevojë për një lloj of-- këtë
është vetëm prodhimi i përgjithshëm.
Pra, kjo është një funksion që është vetëm do të kubike disa të dhëna.
Dhe në faqen tjetër, të vërtetë, ne kemi të gjitha këto gjëra të tmerrshme pak këtu.
Pra, mund të lexoni të gjithë se, nga kurioziteti?
Unë e di vjollcë dhe të zi mund të jetë pak e vështirë.
>> Por gjëra të mëdha për know-- kaq parë një e drejtë këtu është lloji ynë kthimi.
Pra, kjo është duke folur në lidhje me prodhimin e i këtij funksionit kur, në këtë rast,
ne kemi vënë në një numër, ajo që ne jemi marrë është se numri i cubed.
Pra, ajo duhet të jetë një int në këtë rast.
Ndoshta kjo do të jetë një të dyfishtë apo diçka tjetër më vonë, por në këtë rast,
kjo është një int.
>> Me c, ju gjithmonë nevojë për një lloj të kthimit.
Ajo do të jetë një int.
Ajo do të jetë një noton.
Ajo do të jetë një të dyfishtë.
Por ju duhet të specifikoni se çfarë ky funksion do të kthehen.
Përndryshe ajo do të çirrem në ti, dhe nuk do të përpilojnë.
Ju do të jenë të trishtuar, dhe unë do të jem i trishtuar.
Dhe kjo nuk është vetëm e mirë.
OK.
>> Dhe pastaj ne kemi emrin tonë funksionit.
Dhe si ju mund të shihni këtu, me c ka kjo paradigmë shumë të qëndrueshme.
Çfarë është lloji juaj, çfarë është emri, dhe pastaj diçka tjetër në fund.
Pra, ne kemi llojin tonë të kthimit, emri ynë funksion, dhe pastaj
kemi header tonë me listën tonë parametër.
>> Pra lista parametri është, çfarë është ky funksion do të marrë në?
Një listë parametër është thjesht një sinonim për të, cilat janë inputet tona?
Dhe në të njëjtën mënyrë që ne të duhet të përcaktojë funksionin tonë
dhe t'i jepte një kthim llojin, secili prej inputeve tona
duhet të ketë një lloj të lidhur me të.
Pra, ne e dimë se çfarë funksioni ynë në fakt mund të punojnë me të.
>> Pra, në këtë rast, ne kemi disa të dhëna int.
Pra, përsëri, ajo do të jetë lloji dhe atë që ju jeni duke e quajtur atë.
Dhe pastaj, si e shihni këtu, ne kemi trupin tonë.
Pra, ne kemi një prodhim int, se është vetëm kohët tona të dhëna vetë
herë vetë, e cila vetëm cubes atë.
Dhe pastaj do të kthehemi në këtë dalje.
>> Pra, siç e shihni këtu, ne kemi një int herë një int herë një int,
kështu ajo kthehet një int, e cila është deklaruar aty.
Pra, çdo gjë është kohezive.
Çdo gjë është e lumtur.
Funksioni i juaj do të kandidojë.
Dhe kjo është vetëm gjëja e përgjithshme.
Pra, gjithmonë kanë lloj të kthimit, emrin, dhe listën tuaj parametër.
Çdo gjë në tuaj Lista parametër, ose të dhëna,
duhet të ketë një lloj të lidhur me të.
Dhe pastaj ju keni tuaj Trupi këtu me çfarëdo
ju doni të bëni me kontributin tuaj.
>> Dhe pastaj natyrisht ju duan të kthehen diçka.
Ndonjëherë funksionet thjesht do të kthehen.
Ata në fakt nuk kthehen diçka për ju për të përdorur.
Por ju duhet të kthehen në një farë mënyre.
Dhe kur ju jeni duke bërë funksionet tuaja,
ne mund të merrni në atë thellë pak.
Personalisht, në qoftë se ju doni, ka shumë gjëra të ndryshme që ju mund të bëni atje.
Gjithkush e mirë?
Çdo gjë në këtë listë që ju dëshironi mua për të shkuar mbi, që ju nuk e kuptoni?
Gjithkush e mirë atje?
Ftohtë.
Awesome.
>> OK, kështu që ne jemi vënë e gjithë kjo së bashku tani.
Pra, ne kemi disa të dhëna int kubike, kështu ky është një program i plotë këtu.
Deri tani, unë kam lloj i janë dhënë të
copra djema që mund të të shkuar në kuadër të një programi.
Ne kemi qenë vetëm në kërkim në funksionet.
Por këtu është një program të tërë.
Pra, sa prej jush kujtohet prototip fjalë nga leksioni?
Ftohtë.
Ne kemi marrë një të tillë.
Çfarë është emri yt?
>> Steph: Steph.
>> ALLISON: Steph?
OK, awesome.
Pra, a ju kujtohet se çfarë është një prototip është?
>> STUDENT: Ju thoni [padëgjueshme] para se ju në të vërtetë të merren me të.
>> ALLISON: A ju kujtohet pse?
>> STUDENT: Jo
>> ALLISON: OK.
Yll Gold.
Pra, po, një prototip ne kemi më parë, sepse përndryshe,
përpilues tonë do të bërtas në ne.
Kjo do të thotë, OK, çfarë është kjo funksion kubike?
Si, ju vërtetë keni më tha asgjë në lidhje me këtë.
Është si kur ju ecin në një klasë,
dhe dikush është si, ka një quiz sot.
Dhe ju jeni si ju, kurrë nuk më tha në lidhje me këtë.
Unë nuk jam i kënaqur me ne.
Prototipi është në thelb si Syllabus tuaj duke thënë, duken.
Kokat lart.
Nuk do të jetë një quiz në këtë ditë.
Mos trullos kur ju të merrni atë.
Ju jeni do të jetë mirë.
>> Pra, të gjitha prototip nuk është të tregoni kryesore, unë jam duke shkuar për të përdorur këtë funksion.
Unë premtoj unë jam përcaktuar atë më vonë.
Mos trullos jashtë në mua.
Vetëm përpilojnë dhe të bëjë atë që unë ju them të.
Pra, ne kemi prototip atje vetëm për të bërë përpilues tonë të lumtur.
Dhe kjo është në thelb një premtim që ju keni përcaktuar këtë funksion më vonë
dhe se ju nuk jeni vetëm duke e quajtur kjo gjë e rastit që ai
nuk e di se çfarë jeni do të jetë bërë.
>> Pra, në këtë rast, ne kemi këtu kryesore.
Ne nisja disa integer x.
Kjo është dy.
Ne jemi duke shkuar për të shkruar se çfarë është x.
Ne jemi duke shkuar për kubike x.
Siç e shihni, ne kemi tonë Deklarata Funksioni
këtu poshtë se ne biseduar rreth më parë.
Ajo do kubike x, dhe pastaj, në qoftë se ne mos harroni, funksionin kubike të vërtetë
kthimit një numër i plotë në Na, e cila është ruajtur
në x përsëri në mënyrë që ne mund të shtypura nga tetë, ose kubike x drejtë tani.
Ka që e bëjnë kuptim për të gjithë?
Ne jemi të mirë?
Dakord.
Awesome.
>> Dakord.
Sa nga ju djema mos harroni kjo kështu që kjo
është në thelb vetëm tuaj së rafte dhe tog tuaj,
vetëm një vizualizimi të sa memorie është ruajtur këtu.
Pra, ne vetëm duam të bëni Sigurohuni që ju e kuptoni
si këto janë të përfaqësuara në kujtesën.
Nëse ju të marrë klasat si CS61 dhe sende më vonë,
ju merrni për të mësuar këtë shumë më në thellësi, dhe kjo është me të vërtetë cool.
I highly recommend it.
Por tani për tani, unë do të jap ju pasqyrë të gjerë
kështu që ju nuk keni për të e di guximtar mortajë.
>> Pra, në krye vetëm një segment tekst i cili përmban zero aktuale dhe ato,
binare për këtë.
Dhe kjo është përdorur për magazinimin e Variablat globale nëse keni ndonjë.
Si ju lëvizin poshtë, ne kanë, siç e shihni këtu,
Të dhënat niset, uninitialized të dhënave, dhe pastaj tog.
>> Pra, ne vërtetë nuk flasim rreth një grumbulli gurësh tani.
Ne do të merrni në atë më vonë.
Tani për tani, unë jam vetëm duke shkuar për të tundë duart e mia dhe do të jetë si,
ju nuk keni nevojë të dini në lidhje me këtë tani.
Por ne do të flasim pak bit për rafte.
Pra, rafte është where-- kemi zoom në.
Kjo është në të vërtetë se si programi ne vetëm shikuar ndodh në kujtesë.
>> Pra, ajo që ndodh është, çdo kohë ne e quajmë një funksion,
ne kemi marrë atë që quhet një pirg kornizë, e cila është një nga këto.
Parametrat Pra kryesore të.
Pra, këto janë gjëra të që ne të kalojë në kryesore.
Pra, ata janë të drejtë këtu në fund, sepse kjo është gjëja e parë që ne e quajmë.
Dhe pastaj ne kemi marrë për të s kryesore Vendasit, dhe kur themi se,
nënkuptojmë variablat lokale qe ruhen brenda kryesor.
Kështu që vendasit këtu do të jetë, si, x është e barabartë me dy në këtë rast.
Sepse kjo është e lokalizuar në kryesore.
A mbani mend të gjithë fushën, shkuar mbi atë në leksion?
OK.
Kështu, vetëm variablave të cilat janë nisur në kuadër kryesore.
Pra, kjo është arsyeja pse ne kemi kryesor [? vocals. ?]
>> Dhe pastaj në kryesore, që ne e quajmë kubike.
E drejtë?
Pra, ne të merrni një kornizë me parametrat Cube-së.
Pra, në këtë rast, kubike e Parametrat janë tani
x që kemi kaluar në, dy që kemi kaluar në.
Dhe pastaj vendasit Cube-së, i cili është ku cubing aktuale ndodh.
Dhe atëherë ajo kthehet.
>> Pra, ajo që ndodh është sa kubike në të vërtetë nuk atë që është menduar për të bërë, ajo kthehet.
Kur kthehet, kjo kornizë lë, dhe e saj u kthye deri në kryesore.
Dhe pastaj në kryesore, ne në fakt mund të shtypura atë.
Pra, kur ju jeni duke u kthyer diçka, kur funksioni juaj kthehet,
kjo është si duke kaluar në këto vlera të kornizë më poshtë dhe pastaj largohen.
Dhe gjërat duhet të ekzekutuar në rregull.
>> Dhe kur ju të merrni për programe të mëdha, ne mund të bëjë të freskët dhe më të komplikuar
diagramet.
Por tani për tani, kjo është e vetëm një vështrim i përgjithshëm
kështu që ju keni një lloj të të kuptuarit e asaj që
ndodh kur ju jeni duke bërë thirrje një funksion dhe se si në të vërtetë duket në kujtesë.
Ftohtë?
Gjithkush e mirë?
Awesome.
>> Pra, kjo është ajo që është vetëm duke u përpjekur për të bie në ujdi gjëra.
Siç e shohim këtu, ne kemi prototip tonë Funksioni
në mënyrë që të përpilues tonë nuk çirrem në ne.
Ne kemi disa kryesore, dhe ne dëshironi të kaloni x dhe y.
Ata nuk e kanë bërë këtë demo në leksionin e akoma, e kanë?
Ata nuk kanë?
OK.
Pra, ne jemi duke shkuar për të shkuar mbi këtë shumë shkurtimisht.
Ju do të merrni në këtë shembull më shumë në thellësi, unë mendoj se, këtë javë.
Dhe pastaj javën e ardhshme ne mund të vërtetë pikiatë në pse kjo nuk funksionon.
>> Pra, ne kemi këtë zbrazëti shkëmbim FUNKSIONI here--.
Pra, anulohen vetëm do të thotë se asgjë nuk është kthyer.
Dhe ne kemi swap int a dhe int b.
Dhe ne kemi disa të përkohshme variabël që është një.
a merr caktuar për b, dhe pastaj b merr caktuar në temp
në mënyrë që një dhe b-së Vlerat janë kaloi tani.
>> Por, komplot kthesë, kjo nuk funksionon.
Dhe një pjesë e saj në të vërtetë ka të bëjë me faktin se një
dhe b këtu, ato që të merrni kaluar në këtu, në të vërtetë janë kopje të x dhe y.
Pra, kur funksioni në të vërtetë të kthimit, ajo ndizet kopje, por jo
x aktuale dhe y-së.
Pra, një mënyrë për të menduar për këtë është that-- pretendojë këto janë swap.
OK?
Pra në kryesore, ne kemi x dhe y nisur.
Por kur ne fakt shkojnë deri në këto korniza me swap,
ne jemi duke kaluar vlerat gjatë në të, dhe ata janë nisur.
>> Dhe ata vetëm ndonjëherë të jetojnë këtu.
Pra, a dhe b të jetojnë këtu.
Dhe ata marrin swapped.
Por, kur të kthehemi, që të mos bëjmë të bëjë asgjë me a dhe b. një
dhe të lënë b me funksionin tonë.
Dhe kështu x dhe y të qëndrojnë të njëjta.
Ju do të merrni më shumë në mënyrën se si për të rregulluar këtë dhe si ne fakt merren me këtë më vonë.
>> Por kjo është vetëm një gjë të llojit të mbajtur në mendje.
Përdorin atë për të ardhmen.
Mos u shqetësoni nëse kjo nuk ka të bëjë të gjithë kuptimin në botë.
Ata janë kopje është gjëja më e madhe.
Nëse jeni duke shkuar për të marrë ndonjë gjë larg nga ajo, ju keni kaluar në kopje.
Pra origjinalet qëndrojnë të njëjta.
Gjithkush e mirë?
Ftohtë.
>> Pra argumente command-line.
Unë jam i sigurt se në fillim ju djema të gjithë kishin ato të mëdha, si, voids int kryesore.
Dhe ju jeni si, cool OK.
Unë vërtetë nuk e kujdesit.
Kjo është vetëm ajo që unë kam për të shkruar.
Por në programet tuaja të reja, sidomos në këtë pset,
dhe pse ka shkumës në terren?
>> Me pset tuaj të ardhshëm, ju jeni do të shohim këtë.
Int main, int Arg c, string arc v, kllapa.
Pra, nga ajo që ne vetëm mësuar sot, çfarë
nuk mendojmë se Parametri i dytë apo se elementi i dytë është këtu?
Kjo është një koleksion.
Çfarë lloji i vektorit?
Array String, po.
Ftohtë.
Pra, kjo është se si ju do të jeni për t'u deklaruar këto tani.
>> A kujtohet dikush çka këta të qëndrojë për?
Nuk ka?
Hmm?
>> STUDENT: Arg c.
>> ALLISON: Pra arg c mban një kundër.
Kjo është një int.
Kjo është një numër, e drejtë?
Pra, çfarë mendoni se numri është i?
Po.
Kështu Arg c është numri i vargjet që përbëjnë vijën komanduese.
Pra, në qoftë se ne ishim të do-- fakt, ka shembuj pas kësaj,
kështu që unë nuk do të marrë përpara nga vetja ime.
Është një numër i vargjet që vetëm të bëjë deri linjë tuaj të komandës.
>> Pra, kur ju bëni, si, dot çaj Mario, kjo është një string i cili e bën atë.
Në këtë pjesë, ju do të jetë në të vërtetë ushqyerit gjërat në command line,
si unë jam i sigurt që djemtë të cilët e kanë lexuar pa spekulim.
Pra, në këto raste, ndoshta ju do të kanë dy ose tre argumente.
Ajo do të jetë një gjë e dobishme për t'u përdorur.
>> Dhe pastaj Arg kundër, siç kemi thënë, është thjesht një koleksion string.
Kështu që në fakt ruan çfarë ju input në rreshtin e komandave.
Pra, ne kemi këto.
Ju keni disa dot plagë kopje outfile infile.
Kështu, nëse Arg c është numri i vargjet që ne jemi duke kaluar në komandën
line, çfarë është Arg c ynë në këtë rast?
Tre.
Pikërisht.
>> Pra, çfarë është arg v zero?
Pra, çfarë është gjëja e parë që ne kemi ruajtur?
Dot çaj kopje, saktësisht.
Dhe pastaj e dyta do të jetë infile.
I tretë do të jetë outfile.
Pra, çka në lidhje me arg v tre?
Ajo do të jetë i pavlefshëm, sepse kjo është fundi i array tonë, e drejtë?
Ftohtë.
>> Dhe pastaj çfarë rreth një e gjashta?
Kjo është lloj i një pyetje mashtrim.
Ish.
A e dimë se çfarë është ajo?
Kjo është e papërcaktuar.
Ne nuk kemi asnjë ide se çfarë mund të jetë.
Kjo është çdo gjë që është e drejtë pas array në kujtesën,
dhe ne nuk kemi dhënë atë që është.
Dhe kjo është e rrezikshme për të prekur ato gjëra, sepse për të gjithë ju e dini,
kjo është një pjesë e kujtesës që ju nuk duhet të jetë hyrë në apo null.
Dhe kjo mund të bëjë gjëra të çmendur.
Është quajtur mbi-indeksimit tuaj lidhur në rrjet tuaj.
Mos shkoni jashtë kufijve të tuaj array, apo gjëra të këqija mund të ndodhë.
Ju vijnë prapa dhe, si, ligjet e fizikes jane shkaterruar
apo diçka.
Ftohtë.
Ka që e bëjnë kuptim për të gjithë?
Jo shumë e keqe.
>> Deri tani, të gjithë e Pjesa e preferuar, shqyrtim pset.
Yay!
OK.
Pra, për ata prej jush që nuk e kanë lexuar spekulim pset,
ju jeni duke bërë disa të vërtetë Sende të ftohtë me cryptography.
Ju jeni duke shkuar për të krijuar një Caesar Shifrës dhe Shifrës Vigenere.
Ju duhet patjetër të lexoni spekulim për të parë se si ata punojnë.
Dhe në qoftë se ju jeni të paturit e ndonjë problem në lidhje me çfarë duhet të vërtetë të jetë bërë,
ju lutem të vijë flasin për mua, email mua ose tekst mua.
Unë jam rreth.
>> Pra, ka tre kryesore gjëra këtu se ne
duan të flasin about-- vetëm lloji për një zgjatje të ligjëratës.
Gjërat që ju nuk mund të dini rreth, lë të kuptohet e dobishme dhe mjetet.
Pra, ne jemi duke shkuar për të bërë një rishikim i shpejtë i ASCII,
sepse kjo do të jetë super rëndësishme për Shifrës Vigenere së.
Ne jemi duke shkuar për konvertimin e inputeve linjë komandës, të cilat
do të jetë shumë e dobishme për të Cezarit Shifrës.
Dhe pastaj modulo.
Ftohtë.
>> Pra, ASCII harta karaktere të numrave.
Kjo është një tabelë e madhe.
Ju duhet të keni këtë bookmarked diku.
Ju do të duan atë për juaj e parë në planin afatmesëm.
Unë jam goxha i sigurt se të gjithë kanë këtë Grafiku në fletën e tyre afatmesme.
Pra, të mësojnë atë.
Love it.
Keep it dobishëm.
Ajo do të jetë e dobishme.
>> Dhe e gjithë kjo është një encoding se harta alfabetik, numerike,
dhe karaktere të tjera për numrat për kompjuterin tonë.
Për shkak të kursit, në në fund, çdo gjë që ne dyqan
do të merrni konvertuar deri në zero dhe ato,
kështu që ne kemi nevojë për një mënyrë për të përfaqësuar Teksti dhe karaktere që ne të jemi të gjithë
përdoret për të parë si një lloj i numrit.
>> Pra, siç e shohim këtu, ne kemi uppercase A, e cila është e drejtë atje.
Është 65.
Dhe të vogla A është 97.
Kështu që ju mund të kuptoj out-- siç thashë më parë,
në qoftë se keni pasur rrjet të shumta strings, çfarë secili prej tyre
kanë një terminator null.
Ajo do të jetë një hapësirë.
Hapësira ka special-- vet Kam harruar ku është këtu.
Ah.
32 është hapësira.
Pra, çdo gjë harta në të.
>> Pra, ne kemi ASCII matematikë.
Pro tip-- në Vigenere-së, ju mund të joshet
për të kthyer numrat tuaj të integers, por kjo është praktikë në të vërtetë të mirë
të jetë në gjendje të përdorin karaktere si kjo
kur ju jeni në të vërtetë manipulimin e tyre.
Pra, nëse ju doni të përdorni numrat, ju mund.
Por një mënyrë më të mirë, ose një mënyrë që ne priren të doja që ju djema për të bërë atë,
Është në këtë mënyrë ku ju jeni në fakt zbritur karaktere.
>> Kështu që unë dua të ju djema të lloj i kuptoj këto jashtë.
Pse nuk ju provoni çdo një tjetër?
Pra, të bëjë një të parë, të treti, dhe një pestë.
Sepse unë dua të bëni të sigurtë që ne flasim për çdo gjë ne kemi nevojë të flasim rreth.
Unë jam vetëm duke shkuar për të thënë, një gjëra të rëndësishme to-- oh prisni,
ju djema nuk e kanë parë këtë.
OK kështu që të bëjë tre të parë.
Le të bëjmë atë.
Sepse ne duhet të flasim për modulo.
Unë e di.
Math është e vështirë.
Ju mund të përdorni një makinë llogaritëse.
Kjo është OK.
Ose të tërheqë deri në një tryezë ASCII, sepse ju jeni me siguri do të duan atë.
>> Ftohtë.
Kështu që unë shpejt do të ecin ju djema përmes tyre.
Pra, njerëzit kanë tabelat ASCII tërhequr up?
Çfarë është numerike ynë Numri për renditshëm A?
STUDENT: Shtatë.
>> ALLISON: Pra Fjala A është 97 dhe uppercase A është 65.
Pra, 97 minus 65?
>> AUDIENCA: 32?
>> ALLISON: 62, vërtet.
Pra, në këtë rast, çfarë do të shtypura nga?
Se pari?
Në qoftë se ne kemi qind d, çfarë do që të tregojnë?
STUDENT: Një numër.
ALLISON: Ne jemi shtypje nga një numër aktual.
Pra, ne jemi në të vërtetë duke shkuar të shtypura nga 32 here.
Dhe në qoftë se kjo ishte për qind c, 32 do të na japin një hapësirë.
Pra, të kuptuarit se karaktere mund të jenë të shtypura
edhe si numra dhe si personazhet aktuale
është me të vërtetë e rëndësishme, dhe të paguar vëmendje të llojeve aktuale
se ne jemi duke bërë këtu.
Ftohtë.
Pra, për çdo njëri tjetër nga këto, çfarë do të shkojmë për t'u shtypjen?
>> STUDENT: Një karakter.
>> ALLISON: Një karakter.
Ftohtë.
Pra, nëse ju djema doni të dini, ju mund të punojnë këto jashtë në tuaj.
Nëse ju jeni ka probleme, email mua.
Por e dyta do të të shtypura nga një vogle b.
Një e tretë do të shtypura nga një uppercase B. katërt ai do të shtypura
nga një uppercase C, dhe e fundit do të jetë një Fjala A.
Dhe e fundit one-- ne jemi në të vërtetë duke shkuar për të marrë në atë se për qind të çmendur
shenjë edhe thotë në një slides çift.
Pra provoni ato në tuaj.
Nëse keni probleme, ju lutem të vijë flasin për mua.
Nëse ju jeni në mënyrë tipike në Adams sallë D, ndoshta ju do të më gjesh mua rreth.
>> Pra, atoi.
Sa prej jush e kanë parë këtë funksioni ose dëgjuar për atë në të gjitha?
Çdokush?
Ftohtë.
Pra, atë që në fakt qëndron për të është ASCII në numër të plotë.
Pra, çfarë ju mund të bëni është, me të Cezarit, për ata që e lexojnë këtë spekulim,
ju jeni do të bëni dot zvogëlojë Cezarin pasi ju shkruani programin tuaj,
dhe pastaj ju do të jeni input disa numër që ju
duan të shifroj mesazhin tuaj sekret me.
>> Por, në qoftë se ne kujtojmë, të gjithë e tona inputet janë ruajtur si strings.
E drejtë?
Ne kemi një Arg v rrjet kjo është e gjitha string lloji.
Pra, nëse ju thjesht të përpiqet të tërheqë se një, kjo do të
Mendoj se se një apo çfarëdo numri keni përdorur është në fakt një karakter.
Pra, ju jeni do të merrni disa rezultate çmendur.
Pra, nëse ju në të vërtetë doni të kthyer këtë në një numër të plotë
që ju mund të përdorni për të manipuluar fjala jote apo mesazhi juaj,
ju do të dëshironi të përdorni atoi.
atoi vetëm konverton string tuaj në një int.
>> Pra, në qoftë se ne kemi një varg të 12, në qoftë se ne e quajmë atoi më 12, ose çfarëdo që është e dhëna,
ai në fakt do të kthehet ju integer.
Jo karakter ose string 12.
Cili, kur ju filloni për të shtuar se për numrat,
do të jenë shumë të ndryshme, sepse string 12 është
disa numri i çmendur në ASCII, por integer 12
është në të vërtetë 12, e cila është ajo që ju dëshironi.
Pra, ju doni të bëni të sigurt për të përdorur atoi.
>> Ju jeni do të duan këtë në Cezari, sepse ti
duhet int furnizuar nga përdorues në vijën komanduese.
Por kur ata e vënë atë në komandën line, është e ruajtur si një varg
për të filluar me.
Ka që e bëjnë kuptim?
Ju nuk domosdoshmërisht nevojë për këtë për Vigenere.
Me Vigenere, siç thashë para, ju duhet të përpiqen dhe të përdorni
Math ASCII që duket më shumë si kjo, ku ju jeni në të vërtetë
duke përdorur chars që ne jemi duke e dhënë për ju.
Ftohtë.
Gjithkush mirë atje?
Awesome.
>> Pra modulo.
Pra, çfarë nëse ju jeni duke i dhënë ky numër i madh për Cezarit?
Ju e keni këtë ide që në qoftë se ju jeni në Z dhe ju jeni
jepet një numër dy, kjo do të thotë që ju need--
Z bëhet e dytë letër pas vete, e drejtë?
Kështu që ju duhet në një farë mënyre të përfunduar rreth, dhe modulo është mënyra për të bërë atë.
Pra, e gjitha kjo nuk është ajo ju jep mbetur
e ndarjes së numri i parë nga e dyta.
Dhe ne kemi disa shembuj të bëjnë që një më pak konkrete.
Por në thelb, ju përdorni modulo kur ju duan të bëjnë diçka të përfundojë rreth.
>> Pra, nëse ju doni vetëm Numrat e një anë të tetë,
ju mund të përdorni modulo mbi ndonjë tjetër numrin, dhe kjo gjithmonë do të
të kthejë një numër prej zero deri në tetë.
Pra, disa examples--, nëse ne kemi 55 modulo 10,
ajo vetëm ju jep pjesën e mbetur të 55 pjestuar me 10, e cila do të jetë 5.
Dhe pastaj tre modulo pesë, dikush me mend se çfarë do të jetë?
Tre.
>> Pra, nëse ju keni një numër të vogël para modulo, ajo nuk mund të shkojnë në mënyrë të barabartë.
Kjo është zero.
Pra, ai vetëm kthen numrin e vetë.
Pra, tetë modulo tetë do të jetë?
>> STUDENT: Zero.
>> ALLISON: Zero.
Për shkak se ajo shkon në mënyrë të barabartë.
16 modulo 15?
>> AUDIENCA: One.
>> ALLISON: ftohtë.
Dhe pastaj kjo e fundit është vetëm për të tregojnë you-- ju mund të pyesin, OK,
çfarë është urdhri i operacioneve këtu?
A kemi ndarë së pari?
A kemi modulo parë?
Pra modulo mban të njëjtën përparësi si ndarja ose shumëzimit,
dhe associative e saj të majtë.
Pra, kjo është në të njëjtën mënyrë.
Ju gjithmonë do të bëjë kllapa, pastaj shumëzimit, ndarja,
dhe modulo në mënyrë që nga e majta në të djathtë.
Rregullat kështu standarde.
Vetëm vënë atë në të njëjtën kategori si ndarja dhe shumëzimit.
>> Pra, në këtë rast, ne do të kemi 1 plus 2 na jep 3.
Ne shumohen se nga 2, kështu që ne të merrni 6.
Ne modulo se me 2, e cila na jep?
>> STUDENT: 0.
>> ALLISON: 0.
Dhe pastaj ne shtoni 2, kështu që ne merrni 2 në këtë rast të fundit.
Pra modulo-- jeni patjetër do të të menduarit në lidhje me mënyrat për të inkorporuar
se kur ju jeni duke i dhënë rreth alfabetit.
Nëse ju jeni në Z dhe keni nevojë për të lëvizur përpara tre hapësira për të marrë në C,
ka ky koncept tërë e mbështjellës rreth.
Kështu që unë do të lë të ju djema të kuptoj
saktësisht se si ju do të jeni duke e përdorur atë.
Por patjetër një mjet i dobishëm për pset tuaj këtë javë.
I really like këtë.
Kjo është një nga psets e mia të preferuar.
Pastaj pasi ju bëni atë, në qoftë se ju keni miq,
ju mund të, si, dërgoni çdo sekret të tjera mesazhe dhe sigurohuni që ajo punon.
Për shkak se ajo do të decrypt atë apo çfarëdo.
Shumë e fun.
>> Dhe kjo është fundi i seksionit.
Kam mbaruar herët.
Unë ende kam 15 minuta me ju djema, kështu që nëse ka ndonjë gjë
që ju do të donte për të shkuar mbi më tej, unë do të jenë të lumtur për të bërë atë.
Çdo pyetje të tjera mbi pset tuaj për ato prej jush
që kanë filluar apo lexuar spekulim.
Çdo gjë që ne kemi biseduar për në orën e fundit
dhe 15 minuta që ju dëshironi mua llojit të përpunojë, unë do të jenë të lumtur për të.
Ose ne mund të telefononi atë shpërblej, dhe ju mund të të gjithë të lënë dhe të marrë më shumë karamele me ju
si ju shkoni.
Por në qoftë se ka ndonjë këmbëngulës pyetje, ju lutem let me know.
Ju gjithashtu mund të dalë dhe të bisedoni me mua pas.
Unë premtoj unë nuk kafshoj.
Çdo gjë tjetër?
Gjithkush është e mirë?
Ndjenja e të gjithëve si ata mund të trajtojë këtë pset?
Ju jeni do të jetë djema gjobë.
Orari i punës janë atje për një arsye.
Ftohtë.
Mirë.
>> E pra, në këtë rast, falenderoj ju të gjithë aq shumë për të ardhur.
Unë shpresoj që të shoh ty javën e ardhshme.
Nuk do të jetë më e karamele.
Nuk mund të ketë gjëra të tjera të ftohtë.
Dhe unë pres për të marrë të dini të gjithë ju këtë vit.