[Powered by Google Translate] [♪ ♪ gumëzhimë]
Pra, për të futur ju për atë që unë kam marrë deri në ekran;
kjo është një nga mjetet që ne të zhvilluara gjatë verës;
ajo që quhet CS50 Spaces,
dhe kjo është kërkesa jonë bashkëpunuese coding
që ne jemi duke shkuar për të përdorur në seksione.
Kjo është pretty cool.
Kanë ndonjë prej jush parë CS50 kandidojë akoma?
Më lejoni të tërheqë atë deri në një tjetër tab.
Run.cs50.net
Kështu
në qoftë se ju shkoni në run.cs50.net,
ju mund të shihni kjo është një mënyrë në shfletuesin tuaj për të
Kodi fakt - shkruani kodin C,
dhe pastaj të drejtuar atë,
kështu që të dyja përpilon atë, drejton atë, pastaj kthehet e prodhimit për ju,
kështu që kjo është lloj i një mënyrë të ftohtë për të eksperimentuar
me disa kodin që Davidi shkon gjatë në leksione
dhe ne japim për ju në grupe me probleme
të vërtetë pa pasur nevojë të zjarrit deri të aparatit.
>> Pra, çfarë e bën Hapësirat që është i ndryshëm nga ai
në qoftë se unë kaloni mbrapa në këtë tab,
Hapësira është drejtuar CS50, si ju të shihni të drejtë këtu,
por në qoftë se ne të lëvizni mbi dhe të shikojmë në anën tjetër të dritares,
ju të shihni të drejtë që unë jam i vetmi person në këtë hapësirë,
por ajo që unë jam duke shkuar për të bëni është të pyesni ju djema për t'u bashkuar me këtë hapësirë ​​me mua
dhe ne do të të gjithë të merrni për kodin në të njëjtën dritare pak,
ndajnë kodin me njëri-tjetrin,
dhe bisedoni për dallimet në mes kodit tonë.
Pra, kjo është lloj i një gjë e ftohtë -
në mënyrë që të bashkohet, nëse ju do të vizitoni këtë link drejtë këtu në krye
që unë e kam theksuar,
vetëm ju mund të shtypni në apps.cs50.net/spaces/vqcspSnO.
>> Të gjithë të drejtë, në mënyrë që të nisem,
Unë jam duke shkuar të ju jap një pak e një turne të kësaj.
Ne jemi gonna të bëjë disa coding pa kuptim pak me atë në fillim,
vetëm në mënyrë që të gjithë kinda merr një të ndjehen për atë që është si,
por ajo që unë kam bërë -
apo atë që unë jam gati për të bërë këtu është -
Unë jam duke shkuar për të marrë kodin që unë kam shkruar në këtu,
e cila si e shihni tani është bosh;
kjo nuk ka të bëjë asgjë.
Është vetëm pjatë bojler Kodi, ne do të thërrasë atë.
Me pak për të bërë koment.
Unë jam duke shkuar për të shpëtuar atë duke e goditur këtë buton të shpëtuar.
Dhe çfarë është ajo që e bën
theksoi se deri këtu shkurtimisht - se kuti rishikimit të shpëtuar të gjelbër,
dhe tani, në qoftë se ju kërkoni për mua në hapësirë,
ju klikoni emrin tim,
ju mund të shihni se unë kam marrë këtë revizion të drejtë këtu,
dhe në qoftë se ju klikoni mbi atë rishikimit,
ajo do të ngarkesës atë kod në hapësirë ​​tuaj, too.
>> Kështu ka ngarkuar të gjithë këtë kodin në hapësirën e tyre?
Të gjithë të drejtë, nëse ju nuk keni akoma, të shkojnë përpara dhe të bëjë që,
dhe pastaj atë që unë dua që ju djema të bëjë pak në këtë seksion për të bërë
po shkruaj pak duke përdorur printf rreth vetes,
kështu për shembull, unë do të shkruaj
printf ("Emri im është Nate");
dhe pastaj unë do të shkruaj
"Unë u diplomua në vitin 2009
nga Stanford "
dhe unë do të duan të dëgjojnë për
atë vit ju jeni në shkollë,
nëse ju jeni në kolegj ose shkollë biznesi
ose në një tjetër shkollë Harvardit,
Çfarë ju jeni duke studiuar në qoftë se ajo është ende e njohur;
në qoftë se ajo nuk është e njohur, kjo është tërësisht e ftohtë.
Unë nuk të vendosë deri sa ishte në fund në vitin tim të paedukuar mjaft.
dhe pastaj unë do të duan të dinë
ndonjë gjë të çmendur që ju doni të thoni ose
diçka në lidhje me klasë ose vetëm ndonjë gjë tjetër.
Kur ju jeni bërë shkruar se me printf tuaj pak,
në qoftë se ju do të kurseni rishikimin ose jo
së pari të sigurt që ju mund të kandidojë atë
dhe se ajo printon pikërisht ajo që ju dëshironi që ajo të shtypura jashtë,
dhe pastaj nëse ju shkoni përpara dhe për të shpëtuar atë rishikim
duke përdorur butonin e rishikimit të shpëtuar, ky djalë i parë pak më gjatë këtu,
dhe ne do të kinda të shkoni nëpër dhe të bëjë një hyrje të vogël në këtë mënyrë.
Kështu që ju duhet vetëm duhet të goditur butonin Play,
që është deri këtu në të majtë të lartë,
kështu që kjo butonin Luaj në të majtë të lartë do të
dërgoni kodin tuaj jashtë në serverin tonë, ku ajo merr hartuar dhe drejtuar më pas.
Pra, çfarë është kinda çmendur në lidhje me këtë është
ky kod të vërtetë nuk po kandidon në kompjuterin tuaj;
kjo është në fakt duke u dërguar nëpër internet.
>> Si po shkon, Charlotte?
>> I - në rregull. Jam - Unë mendoj se jam
ka vështirësi shpëtuar atë
në server tillë që ajo mund - unë mund të drejtuar programin.
Dhe pastaj kur përpiqen për të drejtuar atë, ajo thotë se ka një gabim.
Deklaruar si një virus, e cila nuk është në më aty.
Oh, le të shohim, mund të ju goditi Save përsëri?
Unë shoh atë në ekran.
E drejta >>, në rregull, kështu që kjo është ajo që unë kam.
Dhe unë nuk e di pse kjo nuk do të më lejoni të drejtuar atë.
Oh, në rregull, sorry.
Mund ta shpjegoni pse - ajo ishte e gabuar - ajo nuk ishte duke punuar me të?
Po >>, sepse unë nuk e shoh se ka pasur një linjë e fundit, ku nuk ka ende një variabël
se unë nuk e kishte shpallur, të cilën unë nuk e kam ndërmend që ajo të qenë atje.
Po, të përsosur!
Tani, nëse unë >> shpëtuar atë, unë mendoj se ajo duhet të punojnë.
Tani që ju keni ruajtur atë, ajo punon; awesome.
>> Pra, vërtet, siç ne do të shkojmë përmes -
kështu që ajo që po ndodhte,
Unë jam vetëm duke shkuar për të përsëritur këtë për kamera.
Çfarë po ndodhte ishte se kjo është e ndryshueshme s
u la në pas - Unë supozoj se ju fshihen disa sende të tjera
ku jeni deklaruar si,
dhe kështu kjo u hedhur gjëra jashtë dhe nuk ishte lejuar të drejtuar atë.
Pra, kjo është pikërisht ajo që ne duam të bëjmë në nenin
po kemi njerëz të provoni shkruar pjesë të ndryshme të kodit,
përpilimin atë, të shohim se çfarë punon, shiko atë që nuk e bën,
dhe pastaj kinda flasin për këto gjëra, sepse këto janë pika që fikje
Unë ende hasni,
Unë ende - të bëj shumë gjëra pa kuptim gjatë gjithë kohës,
dhe unë nuk e di pse kjo nuk funksionon,
kështu që le të tërheqë deri rishikimin Charlotte 3,
dhe ne do të drejtuar atë.
>> Kështu që kur kam drejtuar, tani që unë kam marrë kodin e saj në këtu,
Unë mund të zoom në, goditi butonin Run,
Ngarkimet më atë, ndërton atë, shkon atë,
thotë se vrapoi me sukses, dhe në qoftë se unë lëviz poshtë,
shikoni Charlotte është një i ri në Shtëpinë Adams,
psikologjisë, të mesme në ekonomi; awesome.
Madhe që u njohëm!
Awesome.
Mirë, duke lëvizur në, le të shkojnë në Danielit,
shkoni në rishikimin 3,
hartojë, të kandidojë;
pse nuk ju na tregoni pak për veten, Daniel?
Call me >> Dan.
Unë jam duke shkuar në shkollë të biznesit të gjithë nga ju djema,
dhe unë kam qenë në marinsat para këtu,
dhe kjo është e gjitha e re për mua, kështu që vërtet.
Mos u ndjeni keq, unë jam 30 dhe unë nuk di ndonjë të këtij stuff.
Awesome; thanks, Dan!
Të gjithë të drejtë, ne kemi marrë një tjetër Danielin.
Ju shkoni nga Daniel - do të ju prezantoj veten, Daniel?
>> >> Sure, unë jam Daniel.
Unë jam një i paedukuar mjaft në Mather tani.
Unë jam përqëndruar në qeveri,
por kam kërkuar për të marrë CS50, sepse unë kam dëgjuar komente të mëdha rreth klasë
dhe unë kurrë nuk kam provuar më parë CS.
Shkoni këtu poshtë dhe të tregojnë këtë - cool.
Moving on, Jaredi.
Si po shkon?
Mirë >>, si jeni?
Siç mund ta shikoni, unë jam një flotacion vogël filozofi në Eliot,
fillimisht nga Kalifornia jugore,
dhe unë jam i interesuar në marrjen e CS50, sepse unë si logjikën e saj,
dhe kjo duket me të vërtetë të ftohtë, për të bërë gjëra në kompjuter, kështu.
Tmerrshëm, ku në Kaliforni jugore nga jeni?
Rreth një orë >> nga [padëgjueshme], një qytet i vogël [padëgjueshme].
Oh, yeah, baba im është nga Redlands.
Cool stuff.
>> Të gjithë të drejtë, Jimmy, se si po shkon, Jimmy?
Mirë >>, si jeni?
Bërë mjaft mirë!
Na tregoni rreth vetes.
>> Unë jam një fillestar, dhe unë nuk jam plotësisht i sigurt se çfarë unë jam majoring në
por unë jam kinda prirur drejt ekonomisë.
Ashtu si Daniel para meje, unë kurrë nuk kam bërë ndonjë CS, por kjo tingëllon kinda cool.
Unë jam me origjinë nga Çikago.
Awesome. Pra shikoni kopje e tij këtu.
Doja të pyes, e bëri këtë shtypura jashtë si ju pritet?
Asnjë >>, kam harruar për të shkruar një linjë të re.
Unë në fakt harruar se kur isha duke shkruar gjë time
për herë të parë, shumë.
Kjo është lloj i një dhimbje për të kujtuar për të vënë ato në dorë.
Ajo do të jetë mirë në qoftë se ajo vetëm e di se është ajo që keni kërkuar.
>> Mirë, Kelly.
Wow, ne kemi 2 Kellys; 2 Daniels, 2 Kellys.
Pra Kelly - nuk ju shkoni nga Kelly Ren?
Mirë, awesome.
Ose Kelly, dua të them.
>> Pra, vërtet, kështu që unë jam Kelly.
Unë jam një i paedukuar mjaft në Pfoho.
Kam marrë një e-mail sot se unë ende kam 7 javë për të deklaruar përqendrimin tim,
kështu që unë jam duke u përpjekur të mos mendoj për këtë,
dhe unë si pjekje, drejtimin, dhe Craisins.
Unë nuk kam përvojë me shumicën e CS;
Kam mësuar veten për të ndërtuar faqet e internetit, kur unë ishte me të vërtetë e re,
por unë mendoj se ndoshta mësuar veten gabuar shumë herë.
Shpresojmë se unë do të mësojnë pak më shumë
dhe - yeah.
>> Awesome; mirë, thank you.
Le të shkojnë në Kelly tjetër;
Unë nuk kam asgjë - nuk ju them diçka në këtu?
>> [Padëgjueshme]
Nuk është!
E ëmbël!
Gjitha >> drejtë, kështu që unë jam Kelly.
Unë jam një vit më parë student i diplomuar.
Unë jam majoring në Mind tru, Arsimit dhe.
I diplomuar në Franklin & Marshall College në vitin 2008
me diploma në psikologji dhe sociologji
dhe një të mitur në frëngjisht.
Unë jam duke marrë CS50
sepse unë jam i interesuar në marrjen e një doktoraturë në Neuroscience
dhe unë të ndjehen si kjo do të më ndihmojë të kuptojnë teknologjitë e duke u përdorur.
Awesome.
Moving on, Mikaela.
Është se shqiptimi i saktë?
Mirë, awesome.
>> Unë jam >> Mikhaila.
Unë jam një i paedukuar mjaft në Kirkland House,
dhe unë jam përqëndruar në Inxhinieri Mekanike.
I really like çiklizmit, ndërtuar një biçikletë këtë verë.
Unë jam duke marrë CS, në fakt,
si një kërkesë e përqendrimit,
por ju e dini, unë mendoj se është ende lloj ftohtë të klasës inxhinieri.
Awesome - ju ndërtuar një biçikletë këtë verë?
Po >>.
Wow, si kornizë dhe të gjitha këto?
>> Uh-hunh (pohues).
Wow, kjo është me të vërtetë cool.
>> [E padëgjueshme off-kamera chat]
[Qeshura]
Po, ajo ka qenë aq gjatë.
Ti nuk e di, apo jo?
E pra, cool, falë edhe, Mikhaila.
>> Të gjithë të drejtë, Missy.
Missy >> emrin tim, unë jam një fillestar,
kështu që do të thotë unë nuk di asgjë!
Unë dua të përqëndrohet në astrofizika.
Në CS50,
Unë ndjehem si patjetër do t'ju ndihmojë me këtë.
Një fakt i çuditshëm për mua është që unë jam një zjarrfikës kombëtare certifikuar.
Wow!
Si e bëri që të ndodhë?
I pranishëm në një >> akademi
dhe shkoi nëpër ferr për një shumë prej javësh
dhe mori certifikimin tim.
Wow, congrats!
Kjo nuk është diçka e vogël, për sigurt.
Mirë, kështu që tani që ne do të bëjmë mua.
Unë jam një tjetër në rresht.
Jam - drejtuar atë.
>> Pra, emri im është Nate.
Unë kam qenë klasë të vitit 2009 në Stanford.
Unë kam qenë një Systems simbolike të mëdha,
e cila është e ngjashme me, Mind, Brain përqendrimit biheviorale këtu,
por kjo është lloj i një përzierje e
shkenca kompjuterike, gjuhësi, psikologji dhe filozofi.
Lloji i - vërtet, një shumë gjëra të çuditshme, por ajo ishte e madhe,
dhe pastaj kam bërë të zotërisë tim në Shkenca Kompjuterike atje, si edhe.
Kështu që unë jam i ri në Harvard këtë vit.
Unë me të vërtetë të kërkuar për të marrë në mësimdhënie.
I kaloi 4 vitet e fundit në Stanford klasat TA-ing Shkenca Kompjuterike
dhe kështu Davidi lejoni të vijnë më,
dhe unë jam gonna të ndihmuar me CS50,
kështu që unë e bëjnë këtë me kohë të plotë, unë nuk jam në shkollë grad.
Kjo është më zbavitëse.
Shpresojmë se do të vazhdojë të jetë kënaqësi, unë jam i sigurt se do.
>> Të gjithë të drejtë, Sam.
>> Emri im është Sam, unë jam një i paedukuar mjaft në kolegj, në ligj në veçanti.
Im do të jetë i madh historia e shkencës, ndoshta, dhe Ves mesëm,
dhe ngjyra ime e preferuar është e verdhë.
Nuk ka nevojë për të kaluar gjykimin ose diçka, por kjo është një ngjyrë e mirë!
Dhe Stella.
>> Hi, unë jam Stella, unë jam një studente në Grive.
Unë nuk kam asnjë ide se çfarë unë kam përqendruar në ende,
kështu CS50 ishte vetëm lloj i rastit,
cila është interesant.
Fakti fun, Jimmy ishte i pari mik i imi i Harvardit,
sepse ne jemi të dy nga Çikago.
Ftohtë, dhe Grace - që është menduar të jetë një të vërtetë të bukur, apo jo?
Mendova >> [padëgjueshme].
Oh, po.
[E padëgjueshme / off-kamera chat]
Mirë, unë jam ende të mësuarit, të mësuarit ende.
>> Pra, ne kemi marrë diçka tjetër që është lloj i interesante këtu.
Po, unë jam vetëm pyesin, a keni një ide që po ndodh këtu?
Ju e dini se si për të interpretuar këtë?
Unë >> është dashur të vënë pikëpresje pas çdo linjë të vetme.
Kjo është lloj i një dhimbje.
Ndonjëherë ato semicolons mund të jetë një dhimbje e vërtetë për të gjurmuar.
Pra, rezulton se
programi special ne jemi duke përdorur këtë vit për të
përpiloni C kodin tonë quhet tingëllimë,
dhe arsyeja që ne kemi filluar të përdorin tingëllimë këtë vit -
sepse ne nuk e kanë përdorur atë program në të kaluarën;
ne kemi përdorur një tjetër të quajtur GCC që është vërtetë popullor -
Tingëllimë të vërtetë ju jep mesazhet e gabimit që e bëjnë kuptim.
Ky i fundit thotë se "pritet ';' pas shprehjes",
dhe madje edhe ju tregon shprehjen pasi që ju nevojitet një pikëpresje.
Pra, po ju ndreqim atë?
Po >>, tani.
Awesome; let me know dhe ne do të tërheqë atë, dhe ne do të drejtuar atë.
Por, vërtet, këto semicolons vënë në është një lloj dhimbje.
I fiksuar >> atë, kështu që unë mendoj se duhet të punojnë.
Awesome - revizioni 3.
Kjo duket si ajo.
Të gjithë të drejtë, kështu që tani në qoftë se ne të drejtuar atë,
atje ajo shkon.
Cool stuff.
>> Dakord.
Pra, faleminderit për të bërë këtë.
Është e madhe për të përmbushur ju djema.
Ajo që ne jemi gonna të bëni tani është shpenzuar pak tjetër pak
kinda zhyten në problemet seksion
që vijnë nga problemi të caktuar nga kjo jave
dhe ne do të bëjmë që për shumicën e seksioneve
për pjesën tjetër të afatit,
dhe pastaj ne do të shpëtuar 15 të fundit, 20 minuta apo më shumë
për të folur për problemin e ngritur veten
dhe pastaj vetëm ndonjë pyetje të tjera që ju keni në përgjithësi për klasë.
Kjo tha, ajo që ne të vërtetë duan të bëjnë
është pjesë kanë të gjithë
duke përdorur sende të hapësirave,
hedhur në kodin, duke hedhur në sugjerimet,
dhe duke folur për gjërat kur pëlqen këtë pushim
ose nuk punojnë, vetëm për shkak se këto janë gjëra që
Unë e di unë erdhi nëpër
kur kam filluar coding,
dhe ishin me të vërtetë kinda frustruese në kohë
sepse në qoftë se ajo është si më parë 2:00 set juaj Problemi është për shkak,
kështu - vetëm për zbulimin,
Unë nuk e kam filluar programimin deri sa unë isha një i paedukuar mjaft në kolegj.
Ajo ishte lloj i pazakontë këtë gjë, të panjohur
që kam dëgjuar ishte kinda cool
dhe unë gjithashtu dëgjuar se mund të jetë një dhimbje e vërtetë në poligon
në qoftë se ju shkoni në një pikëpresje dhe kjo është gabim vetëm duke programin tuaj të punojnë
dhe mbajtjen e ju shkon për të fjetur,
kështu patjetër,
në qoftë se ju keni pyetje si kjo,
nëse keni shqetësime si kjo, let me know,
sepse unë dua të bërë këtë një përvojë e mirë për ju djema.
>> Pra, ju djema keni shkarkuar të gjitha problemi vendosur ende?
Kinda di ku është ajo? Rregull.
Pra, ne do të shkojnë në cs50.net, sepse unë nuk kanë atë në këtë llogari,
tërheq lart përcakton problem,
tërheq lart grup Problem 2, dhe ne do të shikojmë në edicionin e standardit sot.
Ne do të tërheq lart specifikimet këtu.
Shkoni poshtë.
Pra, ne jemi gonna të fillojmë të shikojmë në këtë seksion të pyetjeve.
A keni djema shikuar këto pantallona të shkurtra akoma?
Rregull.
Pra, ka pantallona të shkurtra mbi sythe,
e cila është bërë nga Tommy, një nga miqtë e mësimdhënies kokë.
Ka një të fushës,
Unë besoj bërë nga një shoku i quajtur David mësimdhënies
dhe pastaj një në Caesar shifër bërë edhe nga David.
Ata janë pretty cool.
A keni qenë të shikuar djema pantallona të shkurtra e tyre deri më tani?
How've ata qenë?
Dobishme? Mirë, mirë të dihet.
Nëse ata nuk janë, ju mund të them kështu.
Por, para se të bëni,
A keni djema shikuar këto pyetje
në të gjitha?
>> Le të flasim për këtë pak.
Pra, ne kemi prezantuar gjatë dy javëve të fundit
në leksionin
një numër i sythe të ndryshme.
Ka për lak,
lak, ndërsa, dhe pastaj për ta bërë, ndërsa loop,
dhe në leksion, ne kemi qenë duke folur shumë për
si ato sythe janë të gjitha
mjaft të ngjashme në shumë mënyra,
dhe ju mund të bëjë shumë të njëjtat gjëra me një lak, ndërsa
që ju mund të me një lak për të.
Ju vetëm duhet të lloj përdorin kombinime të drejtën e variablave dhe të tilla.
dhe kështu me të vërtetë
dallimi i vërtetë mes të gjitha sythe është që
nganjëherë ata janë më të dobishme
për t'i përdorur ato në një kohë se sa në një tjetër kohë.
>> Kështu për shembull,
lak, ndërsa të ndryshme nga një lak për ta bërë, ndërsa.
A të gjithë të ndjehen si ata kanë një të trajtojë të mirë kur
një për ta bërë, ndërsa loop është më
dobishme apo çfarë është dallimi?
Unë mendoj >> dallimi është një për ta bërë, ndërsa loop
shkon - Unë nuk e di fare se çfarë është terminologjia,
por seri e funksioneve brenda lak.
Ata automatikisht - kjo nuk shkon saj të paktën
para se ajo kontrollon gjendjen, ose lak, ndërsa do të kandidojë vetëm kur
ajo vazhdimisht shkon - nëse janë apo jo gjendja është duke u kënaqur.
Yeah, bën që e bëjnë kuptim?
>> Le të marrin një vështrim në një pak të kodit.
Pra, vetëm për të përsëritur pyetjen,
ose përgjigje, në vend;
përgjigja ishte se
një lak, ndërsa do të kontrollojë për të parë nëse gjendja
që e keni dhënë është plotësuar
para se ajo shkon trupin e lak për herë të parë,
ndërsa për ta bërë, ndërsa loop automatikisht do të kandidojë trupin e lak,
është ajo që ne e quajmë atë - kjo është e pazakontë terminologjinë,
por në qoftë se unë ndonjëherë të them çdo gjë që nuk ka kuptim, let me know -
trupi lak është se gjëra që ju vë në mes formatimin e teksteve kaçurrel.
Dhe në një lak për ta bërë, ndërsa,
që trupi të merrni të drejtuar të paktën një herë,
dhe pastaj gjendja merr kontrolluar para se ajo shkon çdo kohë të njëpasnjëshme.
>> Pra në fakt, Sam,
ju mendje me shkrim një të thjeshtë, ndërsa loop
në hapësira?
Si mendoni ju >> lloj i si
të bëjë një të ri ...?
Unë vetëm fshini çdo gjë që ju keni në atje.
Po, vetëm të pastruar atë.
E pra >>, unë besoj se unë jam i pasur këtë -
të cilat e bëjnë që ju doni, një kohë, ose nuk ju duan ...?
Po, vetëm të bëjë një kohë e vërtetë, të shtypura diçka jashtë.
Dhe le të shohim.
Alexander, kam kuptuar ne kurrë nuk prezantoi ty.
>> Oh, kjo është në rregull.
A ju - mund të ju deri në një lak kodin për ta bërë, ndërsa për ne?
Po >>, unë do të provoni.
Të gjithë të drejtë, ne vetëm do të tërheqë këto deri në ekran,
kështu që ju keni një lloj i trajtuar në atë që dallimet janë.
>> Kështu që këtu është ajo Sam është bërë.
Ai e mori një numër të plotë quajtur i
se ai është nisur në 17.
Pastaj ai thotë se ndërsa (int i = 17)
printf ("Emri im është Sam.");
Pra, çfarë ndodh kur kemi drejtuar këtë kod?
Ka një gabim, çfarë bën gabim të themi?
Le të tërheqë atë dhe të flasin për të.
Një gabim ka ndodhur, thotë ajo.
Le të lëvizni poshtë.
Pra, kjo na dha këtë gabim, dhe ajo tha,
"Hej, kam pritur një shprehje."
Kjo është kinda fshehtë.
Yeah, kështu që pikërisht - dhe përsëri,
nuk do të jetë një tjetër bug pak se ne do të kapur në vetëm një të dytë.
Por kjo është një tjetër një nga ato lloj të gjërave pazakontë terminologjisë,
kështu këtë int i = 17
nuk është një shprehje.
Ajo që duket si ajo e bërë është ajo e
deklaruar një numër i plotë i quajtur
dhe vendosjen e atë të barabartë me 17
ose, përkundrazi, duke vënë 17 në atë int quajtur i.
Dhe kjo nuk ka kuptim
në kontekstin e këtij lak ndërsa.
Ajo ka kuptim, siç do të shohim,
në kontekstin e një për lak, sepse për deklaratat loop do nisem
me që për int i barabartë me diçka
dhe vazhdon.
>> Pra keni -
rregulluar diçka, të gjithë të drejtë.
Këtu ajo shkon; awesome.
Deri tani gjërat duket pak më ndryshe.
Një disa gjëra kanë ndryshuar.
Ju mund të na tregoni se çfarë gjëra kanë ndryshuar?
>> Mora nga int, kështu që nuk ka asnjë deklaratë [padëgjueshme] në vend të një detyre.
Një shenjë të barabartë, kam vënë 2 shenja të barabarta, që do të thotë një është e barabartë.
Awesome.
Po, kështu që çfarë Sam bëri ishte ai mori nga int
që ishte e drejtë këtu më herët,
kështu që në qoftë se unë vetëm shikoni në këtë - kjo është ajo që ishte më parë, ai tha se int,
e cila ishte shpallur atë - kështu që ne e mori nga lloji.
Ka int, char, string, të shkurtër,
ata quhen lloje.
Kështu që ju mori nga lloji
dhe pastaj parë,
ai kishte vetëm vetme është e barabartë me shenjë
dhe atë që ai tha se ishte problematike në lidhje me këtë u
kur ju keni 1 është e barabartë me shenjë,
që është një operator detyrë.
Kjo nuk është testuar nëse janë apo jo 2 gjëra janë të barabartë.
Kjo është në fakt diçka vendosjen e barabartë me diçka.
Ne jemi duke vënë numrin 17 në të i ndryshueshëm.
Pra, për të bërë këtë lloj krahasimi,
ju duhet të përdorni dyfishtë barabartë,
që është lloj i një gjë e pazakontë
por është një gabim mjaft të zakonshme.
Pra, një gjë tjetër që unë do të nxjerr në pah, nëse ju nuk do mend,
është se në
funksioni ynë këtu në kryesore int,
ju shihni se trupi i funksionit tonë
është kompensuar nga ana e majtë
nga 4 hapësira ose një skedë.
Arsyeja që ne bëjmë këtë
është vetëm për lehtësi leximi.
Si ju mund të shihni në lak Sam ndërsa këtu,
ai nuk porosit në të gjitha,
dhe që nuk ndikon në funksionalitetin e kodit.
Ajo do të kandidojë saktësisht e njëjtë.
>> Kështu për shembull, në qoftë se kemi ardhur deri këtu në krye
dhe shtypni butonin Luaj tonë, ai do të ndërtojë atë,
ajo do të drejtuar atë,
dhe çfarë do të ndodhë?
Pse e bën atë të thonë ende running?
Për shkak se ajo do >> të mbajtur përsëritur hi.
Pikërisht, dhe pse e bën atë të vazhdojnë të përsërisin hi?
Sepse >> integer nuk ndryshon kurrë, kështu që është gjithmonë 17.
Po, pikërisht, në mënyrë
le të shohim, pas - kujtoj mua e emrit tuaj përsëri?
Jimmy. Pra, Jimmy tha se
arsyeja kjo mban përsëritur hi pushim
është për shkak se ky kusht është gjithmonë e vërtetë.
Ne kurrë nuk ndryshojnë vlerën e i.
Ne kurrë nuk ndryshojnë përmbajtjen e asaj që është ruajtur në atë variabël.
Pra, në këtë pikë kemi marrë këtë gabim që
programi juaj gjeneruar dalje shumë,
dhe në qoftë se ne të lëvizni poshtë dhe lloji i shikojmë se çfarë po ndodh këtu,
ju mund të shihni se ajo është hi, hi, hi, hi, hi, hi, hi të gjithë rrugën nëpër.
Awesome.
>> Pra, lloji i përsëri në pikën fillestare
se duke pasur vulë këtu
në trupin e lak, ndërsa nuk ndikojnë në asgjë.
Programi ende u just fine.
Zakonisht për stil të mirë -
dhe kjo është diçka që ne e shohim në grupe tuaja me probleme -
ne ju kërkojmë të porosis këtë me 4 hapësira, të cilat ju mund të bëni
nga vetëm shtypur butonin tab
ose me dorë vënë në 4 hapësira vetes.
Cool, rregull kështu që le të shkojnë prapa dhe të shikojmë
E Aleksandrit për ta bërë, ndërsa.
Vetëm >> kinda pasur një problem të vogël.
Mirë, mirë le të punojnë nëpërmjet saj.
Është se cool?
Po >>.
>> Mirë, kështu që këtu ne do të shkojmë.
Ky është kodi që Aleksandri shkroi.
A ju shkoni nga Alex - rregull.
Kështu që këtu është kodi që ka shkruar Alex.
Pra, ne kemi marrë deklaratën tonë kryesore të drejtë këtu,
dhe pastaj ne kemi marrë këtë variabël integer quhet i
duke u deklaruar të drejtë këtu.
Ne kemi marrë një deklaratë për ta bërë
dhe pastaj trupi përsëri me këto formatimin e teksteve,
kështu që kjo është trupi i për ta bërë, ndërsa -
më lejoni të zoom në për këtë kështu që është më i lexueshëm -
dhe në trup, ne jemi duke u përpjekur për të shtypur "ky është trupi",
i + +,
Rritja kështu përmbajtjen e I dhe e bëjnë këtë
deri I merr te jetë 3,
dhe pastaj programi ynë mbaron.
>> Pra, çfarë ndodh kur ne të drejtuar këtë program?
>> Prisja një identifikues.
Mirë, kështu që të ndërtojë, të drejtuar, gabimi ndodh.
Çfarë ndodh?
Ne lëvizni poshtë këtu,
ne kemi marrë këtë gjë disi e fshehtë kërkoni,
Pritet pikëpresje pas shpalljes të nivelit të lartë.
Kjo është kinda weird.
A ka dikush të ketë një ide se çfarë mund të ndodh?
Kinda pazakontë, vërtet.
>> [Padëgjueshme] të deklarohet jashtë kllapa?
Kështu që nuk zbatohet, atëherë kur ju përdorni kllapa?
Pra, ai ka deklaruar këtë djalë jashtë nga të cilat kllapat?
Oh, këta njerëz - formatimin e teksteve kaçurrel?
Po >>.
Po, pikërisht.
Pra, rezulton se
ju nuk mund të vërtetë të deklarojë një ndryshore të drejtë këtu si kjo.
Çfarë ju mund të keni qenë duke u përpjekur për të bërë ishte -
prerë atë nga atje -
ju mund ta vënë atë brenda formatimin e teksteve kaçurrel të drejtë këtu
ose në një tjetër alternativë
është për të vënë atë plotësisht jashtë.
Dhe kështu këto - në varësi se ku ju në të vërtetë vënë deklaratën
e asaj ndryshore integer,
ju mund të merrni 2 lloje shumë të ndryshme të variablave;
kur kjo është jashtë kryesor,
kjo është ajo që ne e quajmë një variabël globale.
Ajo është jashtë fushës së ndonjë prej funksioneve -
kjo nuk është brenda një funksion -
ndërsa nëse ne kemi vënë atë në brendësi të kryesore,
si të drejtë këtu, atëherë ajo është quajtur një variabël lokale,
sepse kjo është lokal në fushën e kryesore.
Dhe ne do të flasim pak më shumë për atë që dallimet janë
mes 2 lloje dhe pse ju përdorni lloje të ndryshme të variablave,
por tani për tani,
vetëm ju mund të mbani të gjitha variablat lokale,
sepse ne nuk kemi nevojë për ndonjë variablave globale.
>> Mirë, kështu që kjo është një gjë e drejtë atje.
Le të provoni këtë përsëri drejtimin, shikoni se çfarë ndodh.
Run, merrni një tjetër gabim.
Zoom në një grimë, çfarë nuk kemi marrë?
Ne kemi marrë këtë parantezë pritet pas të bëjë / kohë.
Ndonjë ide se çfarë po ndodh? Dan?
A është atëherë >> ndërkohë kllapa dhe pastaj -
Unë nuk e di nëse keni nevojë për të redeclare int,
por bëni ndërsa (i <3).
Pikërisht, yeah.
Pra, rezulton se Dan është saktësisht e drejtë.
Ne nuk kemi nevojë për të vënë këtë lloj këtu përsëri.
Ne vend të kësaj mund të vrasin llojin
dhe vetëm të bëjë këtë.
Dakord.
Unë do të zoom nga mbrapa, provoni atë kohë një më shumë.
Shikoni se, ajo shkon të suksesshme.
Nëse ne lëvizni poshtë, "ky është trupi" të shtypura nga 3 herë.
Kjo është goxha e ëmbël.
Të lumtë, të lumtë, djema.
Well done.
Si kjo shkuar aq larg?
Ritmi i mirë?
Mirë, cool.
>> Pra, si ne lloj përsëri në pyetje origjinal,
ne - dhe tani në qoftë se ne e shohim ndryshimin,
ju shihni se në këtë lak për ta bërë, ndërsa,
gjendja vjen fundit.
Pra, si kompjuteri lexon programin
që programet C janë ekzekutuar lloj në këtë mënyrë vijues,
ku fjalë për fjalë fillojnë me vijën e parë të kryesore,
dhe pastaj ekzekutojë vijën 6, 7, linjë e linjës 8, 9, linjë
Shkarko 10, linjë 11,
të gjitha këto gjëra në krye të drejtë këtu
është duke shkuar për të ekzekutuar një herë
përpara se ne ndonjëherë të provuar këtë kusht të shoh
nëse janë apo jo unë - apo përmbajtjen e kam, jo ​​-
janë më pak se numri 3.
Dhe vetëm nëse një herë ne kemi marrë të vijë 12,
përmbajtjen e unë jemi më pak se 3
ne fakt nuk hidhen mbrapa deri në vijën 7
dhe pastaj të përsëris procesin,
dhe pastaj ne të testuar gjendjen përsëri dhe përsëri dhe përsëri.
>> Pra, ne mund kontrast ky
me - zooming nga mbrapa,
lëvizni poshtë në versionin Sam,
ne jemi gonna të shikojmë në këtë, ndryshuar pak në mënyrë që ajo nuk është më një loop pafund -
ku në qoftë se ne zoom në,
shohim se si ky program ekzekuton,
ajo do të deklarojnë para int i,
përcaktuar përmbajtjen e të jem në 0,
dhe pastaj ajo hits gjendjen e parë, ndërsa lak,
kështu që në këtë rast, ky organ, kjo printf ("hi") dhe i + +
nuk do të ekzekutojë edhe
nëse i është në të vërtetë më pak se ose e barabartë me 2.
Pra, nëse i është 3, për shembull,
në qoftë se ne kemi vendosur këtë të drejtë këtu
barabartë me 4 - ose unë do të bëj 3, sepse unë thashë: 3 -
dhe pastaj të drejtuar atë,
ajo do të ndërtojë, se do të kandidojë krejtësisht gjobë,
por kjo në fakt nuk do të shtypura nga asgjë,
sepse ajo ka dështuar që test për rastin e parë.
Pra, në klasë, ne lloj biseduar rreth pse këto do-ndërsa sythe
janë të dobishme ndonjëherë
dhe pse ne do të përdorin atë në krahasim me një lak, ndërsa.
>> A ka - nuk ju djema keni ndonjë sugjerime
Pse një për ta bërë, ndërsa loop mund të jetë më e dobishme?
>> E pra, unë mendoj se për ta bërë, ndërsa sythe është në qoftë se ju doni të dhëna përdoruesi,
sepse në këtë mënyrë ju mund të le t'i
vënë diçka në një herë, e nëse ajo është e saktë,
ne mund të lëvizin për në pjesën tjetër të programit,
por në qoftë se ajo nuk është e saktë, atëherë ju mbani në duke shkaktuar përdorues
derisa ju të vënë input drejtë.
Po, pikërisht - saktësisht,
kështu që një për ta bërë, ndërsa loop është i dobishëm
sepse kur e bërë për të dhëna përdoruesi
sepse ju duhet të merrni të dhëna të përdoruesit para se ju në fakt mund të kontrolloni atë.
Kështu në pset 1, në pset 2,
ku ju jeni duke bërë për kontributin e përdoruesit një shumë,
kjo është një gjë dobishëm për të përdorur
në krahasim me vetëm një lak thjeshtë, ndërsa.
Në qoftë se ju përdorni një lak, ndërsa, ju mund të bëni të njëjtën gjë -
ju mund të bëni të njëjtën gjë me një lak, ndërsa
si ju bëni me një lak për ta bërë, ndërsa.
Ju vetëm duhet të lloj këtë proces kanë kopjuar
ku mund të merrni të dhëna të parë dhe pastaj të fillojë tuaj lak kohë.
Ndërsa një njeri që ndërsa loop, ju vetëm duhet të shkruani një herë
dhe ajo është një pastruese shumë.
>> Dakord.
Çdo pyetje?
Kuptim?
Kthimi >> 0 - kjo është vetëm një lloj tezgë apo është -?
Yeah, kështu që ne mund të -
mirë, ne do të mbulojë këtë pak më vonë
por kjo rezulton se
kjo 0 kthim se ne kemi vënë
në fund të të gjitha kohërave kryesor -
ju mund të marrë vetëm kinda atë si diçka që ne bëjmë
për momentin.
Ajo që ne kemi filluar të flasim për me funksione
lloj në fund të javës së kaluar dhe pastaj përsëri këtë javë
është se një funksion
merr inputet të cilat janë këto gjëra brenda kllapa;
këto janë 2 inputeve, argumentet tona ose parametrave,
çfarë ata janë quajtur edhe funksioni ynë kryesor,
dhe pastaj një funksion prodhon një dalje
që ne e quajmë një vlerë e kthimit.
Dhe vlera e kthimit në rastin e kryesor është ky int,
ky numër i plotë,
dhe mënyra që ju thoni një funksion, "Hej, kjo është ajo që output juaj
do të jetë ", është me këtë fjalën" kthim ",
se fjalen, përkundrazi,
dhe kështu kryesor kthimin 0
ose kryesor outputting 0
është standard në programet C
sepse kthimi 0 nga mjetet kryesore që
"Hej, gjithçka ekzekutuar me programin time vetëm gjobë."
Nëse ne do të vënë diçka tjetër se 0,
1 si, për shembull,
që është përdorur për të treguar kush u zhvillua këtë program
se diçka shkoi keq.
Pra, si ne të merrni më shumë të përfshira me sende mbi semestrit,
nëse ju jeni ndonjëherë kanë nevojë për të thënë,
"Oops, ju e dini, diçka shkoi keq me këtë program,"
në vend se të paturit e rrëzimit tim program, unë dua të njoftoj
kontrabandist e programit tim se diçka shkoi keq,
ju mund të përdorni vlera e kthimit,
siç e quajmë ne, që nuk është 0.
>> Pra, ne do të mbulojë se një pak më shumë
sapo kemi marrë në funksione.
Kjo lloj kuptim?
Rregull.
Funksionet janë lloj i çuditshëm -
Unë mendoj se për njerëzit që kanë shumë sfond matematikë,
ajo vjen pak më të lehtë,
veçanërisht në qoftë se ju keni një sfond pak pak më abstrakte të matematikës
dhe ju jeni duke përdorur për të folur në lidhje me funksionet e
dhe të gjitha atë lloj stuff.
Por ne do të përpiqemi dhe të mbuluar ato
dhe shkoni e bukur dhe i ngadalshëm si ata vijnë.
Gjithashtu, kjo argc tërë int,
char * argv [],
për tani, ju gjithashtu mund të merrni atë si pjatë bojler.
Ne kemi filluar për të mbuluar ato pak pak në leksion
kur flasim për argumente që të merrni kaluar në programe në command line,
por në grupe tuaja problemore dhe programet tuaja,
kjo është krejtësisht gjobë vetëm për të shkruar dhe për të mbajtur atë zbrazëti të thjeshtë.
Dhe çfarë do të thotë kjo pavlefshme është se
"Hej, kryesore nuk do të pranojë asnjë inpute;
kjo është vetëm një program që ne jemi gonna të drejtuar vetëm.
Ne nuk jemi gonna të jepte ndonjë informacion shtesë
çdo herë që të fillojnë atë running. "
Pra tani për tani, ju mund ta bëni këtë;
ju gjithashtu mund edhe të heq kthimit 0
në fund të programeve tuaj dhe ata do të kandidojë vetëm gjobë,
por unë rekomandoj vetëm që të mbajtjes in
Në nja dy javë, ne do të fillojnë të llojit të
tërheq mbrapsht të mbuluar pak dhe për të kuptuar më shumë rreth
të gjitha ato pjesë të ndryshme pak lëvizje.
>> Në rregull, tani le të flasim për pyetjen tonë të dytë këtu.
Pra, çfarë do të thotë "Identifikuesi pashpallur" zakonisht tregojnë
nëse outputted nga tingëllimë?
Unë mendoj se ne mund të kemi parë që tashmë sot.
Mund dikush të japë një përmbledhje të asaj që do të thotë?
Le të shohim, Kelly - një nga Kellys.
Kështu >> -
Po, çfarë bën -
Unë mendoj >> kur, si, mos deklarojnë variablave dhe ju të përpiqen të përdorin atë.
Po, pikërisht, tamam.
Pra, nëse keni parë ndonjëherë këtë dalje
kur ju provoni dhe hartojnë programin tuaj,
ashtu si Kelly tha,
kjo do të thotë që ju të përdorur një ndryshore që nuk e kanë deklaruar,
kështu që nëse unë kthehem në hapësirën tonë,
dhe unë të bëjë diçka si
printf (
"Hello% s")
dhe të përpiqen dhe të plotësoni në atë% s
me një ndryshore s që unë nuk kam deklaruar kudo
dhe unë të përpiqen për të drejtuar atë,
ju do të shihni atë që unë të marrë poshtë në këtë fund të drejtë këtu:
"Përdorimi i pashpallur identifikues 's'";
që vetëm do të thotë që ju nuk e kanë deklaruar variablin tuaj.
E njëjta gjë ndodh nëse
ju keni x dhe ju provoni dhe ruajtur 7 në të
dhe unë nuk e kanë deklaruar X.
Unë të marrë atë gabim të njëjtën:
"Përdorimin e 'X' identifikues pashpallur".
>> Të gjithë të drejtë,
kështu Shifrës Cezarit, duke mos qenë shumë të sigurt,
Unë do të le ju djema shikojnë këtë lloj të shkurtër, e kuptojmë pse,
dhe shpresojmë se pas bërë problemin e kësaj jave të vendosur
ku ju shkruani në të vërtetë një shifër Cezarit, ju do të kuptoni pak më shumë
se çfarë do të thotë të jetë i sigurt dhe i pasigurt -
apo jo të sigurt, mendoj - pasigurtë është paksa e ndryshme.
Gjë tjetër është që ne kemi këto pyetje të tjera këtu
rreth funksioneve
dhe çfarë është një funksion,
dhe ne lloj biseduar për atë një kohë të shkurtër, kur kemi folur për vlerat e kthimit;
për dikë që është qenë në leksion,
mund të ju radhitje që ka qenë për të leksion sot?
Dakord.
Le të shohim, le të ketë - mund dikush na tregoni se çfarë një funksion është?
Kelly?
>> Në thelb >> diçka që ju tërheq mbi diçka që është shkruar në bibliotekë që është
më i komplikuar atje, dhe pastaj ju shkruani vetëm një formular të shkurtër të saj,
kështu si ju jeni duke iu referuar përsëri në atë bibliotekë, duke përdorur
gjithçka që kodi i gjatë dhe [e padëgjueshme].
Po, pikërisht, dhe pastaj ju doni të shtoni diçka për këtë?
Po >>, unë mendoj për atë si të ngjashme me konceptin e një formule në matematikë
ku ju shkruani vetëm një formulë dhe pastaj ju mund të plug variablave në
dhe kjo është ajo që një funksion është [padëgjueshme].
>> Yeah, kështu që ne kemi marrë një çift të përgjigjet këtu
që janë të dy të vërtetë e mirë dhe e drejtë në.
Ka referuar në kodin që është shkruar në bibliotekë diku
që është më e komplikuar
dhe pastaj ju mund të tërheqë mbi këtë kod
dhe në fakt përdorin atë vetëm me shkrim formular të shkurtër të saj -
ose, më saktë, emri i saj -
dhe pastaj nuk është edhe kjo në krahasim me një formulë në matematikë
ose fizikë, të gjitha atë lloj stuff
ku ju keni një formulë
dhe pastaj ju mund të vihet në prizë
variablat për këtë formulë
tek pastaj marrë rezultat të formulës,
kështu që ju mendoni rreth saj, si si ekuacion kuadratik.
Paramendoni nëse në vend që të mësojnë rreth
çfarë është formula kuadratik në klasë matematikë,
ju vetëm kishte një program të vogël llogaritëse që e bëri atë për ju.
A dikush përdorin programe llogaritëse në klasat e matematikës në shkollën e mesme?
Po, fizika klasa?
Ku ju mund vetëm të thonë: "Hej, formulë kuadratik.
Këto janë variablat që unë dua të dhëna.
Tani jepni përgjigje ".
Kjo është lloj i asaj që është një funksion.
Kjo është një mënyrë për ne që të
lloj i shkruaj si një program i vogël pak nën
brenda programit tonë të madh
dhe e përdorin atë pa pushim
kështu që ne nuk duhet të kopjoni dhe ngjisni kodin,
ne mund t'i jepte inputeve të ndryshme dhe për të marrë rezultatet ndryshme,
kjo është super i dobishëm
kur ju jeni duke u përpjekur për të shkruar programe të ndryshme në kohë të ndryshme.
>> Kështu për shembull, një funksion që ne kemi qenë duke përdorur mbi dhe mbi dhe mbi përsëri
të gjithë natyrisht është printf.
Printf në vetvete është një funksion
dhe kjo rezulton se ajo është në fakt një goxha të gjatë dhe e komplikuar,
keqe në kërkim, funksionojnë për të shkruar.
Pra, aq e thjeshtë sa duket për ne
gjëra të shtypura jashtë në ekran,
sepse ne të gjithë vetëm e bëri që në fillim të seksionit sot,
del se është e vërtetë, ju e dini,
një çift i mirë i qindra rreshta të kodit.
Kjo nuk është diçka që unë do të ndonjëherë të dëshironi të shkruani, me siguri,
por ne të merrni për të përdorin atë çdo ditë, që është lloj i ftohtë,
kështu që ne të merrni për të ndarë atë me njëri-tjetrin,
me programe te ndryshme,
kështu që ne do të jetë zhyten më shumë në funksionet;
për momentin, ne nuk jemi -
Funksioni i vetëm që ne jemi duke shkuar për të shkruar është kryesore.
Kryesor në vetvete është edhe një funksion,
dhe ju mund të shihni se e mori prodhimin e saj,
inputet e saj si kemi biseduar rreth,
dhe pastaj emrin e saj, e cila është kryesore.
Kryesor është lloj i një - është një funksion të veçantë atje.
Në C programin tuaj, nuk duhet të jetë një funksion kryesor,
dhe kështu tani për tani, ne kemi llojin e shkrimit harruar
prototip, ose deklarimi i, kryesor.
Ne kemi marrë parasysh se për ju,
dhe ne kemi vetëm kishte ju plotësoni në natyrë e boshllëqet.
>> Kështu >> për të vendosur të problemit të dytë, ne nuk kemi nevojë të
shkruani atë në funksion të dytë?
Unë nuk besoj kështu.
Unë besoj se kjo është e gjitha këtu.
Yeah, kështu që Cezari Shifrës,
ju nuk keni për të, kjo nuk duket si,
dhe Vigenere, ju nuk e bëni as,
kështu - dhe kjo rezulton nga ju kurrë nuk të vërtetë kanë për të shkruar
një funksion, e drejtë?
Ju telefononi gjithmonë të vënë të gjithë kodin tuaj brenda kryesor,
dhe programuesit shumë të bëjë këtë.
Si ne shkojmë më,
ne fillim funksionet futur si një mënyrë
për të pastruar kodin tuaj,
për ta bërë atë më elegant,
në rast se ju keni detyrat - lloj si kur kemi biseduar për sythe,
sa ndonjëherë ka gjëra që ju doni të bëni përsëri dhe përsëri dhe përsëri,
dhe ju keni llojin e rrugës naiv -
apo atë që ne shpesh e quajmë "njeri kashte" zgjidhje,
është thjesht kopjoni dhe ngjisni mbi dhe mbi përsëri -
ju mund të bëni të njëjtën gjë me funksione ku ju thjesht kopjoni dhe ngjisni
kodi njëjta pa pushim,
por që bloats kodin tuaj -
ajo përfundon duke e bërë kodin tuaj të vërtetë kohë të gjatë -
dhe ajo gjithashtu merr pak konfuze,
dhe pastaj kjo do të thotë se ju nuk jeni në gjendje për të si -
nëse ndonjëherë ju doni të përdorni atë përsëri në një tjetër kod programi,
ju jeni mbërthyer edhe kopjimi dhe pasting atë përsëri,
kështu që një nga gjërat që ne do të flasim rreth është
lloj të projektimit dhe stilin e programeve tuaja,
dhe kështu kur ajo ka kuptim për të lloj
Paketa diçka dhe e vënë atë si një funksion të veçantë,
Ne ju inkurajojmë që të bëni këtë,
dhe kjo është diçka që, përsëri,
nuk ka asnjë rregull të vështirë dhe të shpejtë.
Ne rrallë thonë se ju duhet të shkruani një funksion të quajtur kjo,
por kjo është më shumë një prej atyre gjërave që ju vetëm zhvillohet me kalimin e kohës
si ju shkruani programe më shumë dhe më shumë.
>> Më pyetje?
Mirë, kështu që le të tani
Kthehu Mbrapa deri në këtë djalë të drejtë këtu,
kështu që unë jam ende në këtë pjesë të pyetjeve.
Ne kemi biseduar për të gjitha këto të ndryshme,
çfarë është një funksion, pse të shkruani funksionet,
kur ju thjesht mund të kopjoni dhe ngjisni?
Shpresojmë se ne kemi bindjen se të shkruarit funksione është një gjë e mirë.
Pra, tani le të shkojë përpara në këtë program MySpace,
dhe ne do të shpenzojnë pak kohë duke bërë këtë.
>> Pra, le të shohim,
mund dikush kam lexuar këtë për mua?
Le të ketë Mikhaila - do ju lexoni këtë për ne?
Ju do të thotë >> mbrapa kur MySpace -
Mbrapa kur MySpace ishte cool.
>> "Kthehu kur MySpace ishte cool,
kjo ishte e gjitha bujë të tipit si kjo.
Ndoshta ajo ende është? Unë nuk jam shumë i sigurt.
Në çdo rast, duke përdorur aplikim CS50,
CS50 Run, ose CS50 Spaces,
shkruaj një program që bën përdoruesi për një mesazh
dhe pastaj rezultatet mesazh me letrën e saj të parë kapitalizuar,
me të gjitha letrat e tjera në rast të alternuara,
si për prodhim mostër më poshtë,
Teksti boldfaced ku paraqet të dhëna disa përdoruesit.
Për thjeshtësi, ju mund të supozojmë se përdoruesi
do vetëm shkronja të dhëna të vogla dhe hapësirat.
Konsideroni këtë problem një mundësi për të praktikuar;
ju nuk do të kërkohet që të paraqesë këtë program. "
>> Awesome, thank you.
Pra, si Mikhaila tha,
ne jemi duke shkuar për të shkruar një program që MySpaces kodin tuaj.
Kështu ka ndonjë nga ju djema përdorni MySpace?
Ndonjëri prej jush kanë llogari MySpace?
Oh, yeah, yeah!
Ajo ishte pretty cool.
[Qeshura]
Unë e di.
Dating veten.
Kështu që ajo që ne jemi duke u përpjekur të bëni është të shkruani një program
që shkon përmes
dhe capitalizes letrën e parë
dhe pastaj pas çdo letër -
apo çdo letër tjetër pas kësaj, unë jam i keq.
>> Pra, - dhe ju mund të shihni në këtë shembull,
kjo është se si ne të drejtuar programin,
dhe kështu që kjo është vetëm duke thënë: "Ne jemi drejtimin e një program të quajtur a.out.
Të dhëna që ne jemi duke shkuar për të dhënë atë
do të nxitet.
Ne nuk jemi gonna të ofrojë të dhëna mbi rreshtin e komandave. "
Nëse ju keni qenë pas të gjitha leksionet
dhe dëgjuar rreth argumenteve të linjës së komandës,
kjo është lloj i ku ata - që sintaksë shokuar
në kryesor vjen në me argc int, të gjitha që stuff,
kështu që këtu ne nuk jeni duke përdorur që, ne nuk jemi që kanë të bëjnë me ndonjë të kësaj.
Ne jemi vetëm gonna të marrë këtë typed në nga përdoruesit,
dhe pastaj kjo linjë e dytë me kapitalizimin shokuar
është ajo që ne duam programi ynë të prodhimit.
>> Pra, në vend se duke përdorur aplikim ose të kandidojë, ne do të përdorim shesheve,
sepse ne kemi marrë shesheve,
dhe kështu që nëse ju djema do të
të marrë kodin tuaj për të parë diçka si kjo,
kështu që unë jam duke shkuar për të shpëtuar këtë rishikim
vetëm kështu që ju keni marrë pjatë bojler të drejtë këtu
që duket si kjo, int kryesor (i pavlefshëm), asgjë në të.
Në fakt, ajo që ne do të bëjmë është që ne vetëm do të fshini çdo gjë të gjithë së bashku.
Ne duam një propozoj bosh,
sepse ne nuk jemi gonna të filloni të shkruani kod;
përkundrazi, ne jemi gonna të përpiqet me shkrim disa pseudokod
që me të vërtetë vetëm do të thotë që ne jemi duke shkuar për të shkruar diçka që nuk është kodi
se lloji i përshkruan atë që ne duam të bëjmë,
kinda si bëri Davidi, në ditën e parë të ligjëratës,
ose unë mendoj se ishte dita e dytë e leksionit kur ai e bëri tërë demo çorape.
Ju djema mos harroni se - shohim çorape?
Jozefi ishte deri atje lloj i shtypur në gjuhën angleze?
Pra, ne jemi gonna të bëjë të njëjtën gjë.
>> Kështu që kur kam filluar me shkrim pseudokod,
Unë doja të fillojë duke shikuar në atë që input do të jetë.
Dhe unë jap vetes një rast mostër,
kështu si "thanks for the add!"
Dhe pastaj unë gjithashtu shkruaj atë që unë dua të jenë të prodhimit,
e cila në këtë rast është diçka si kjo.
Dhe kjo lloj jep mua një vend të mirë, si, duke filluar për të menduar rreth,
"Mirë, unë dua të të marrë linjën 1
dhe unë dua për të transformuar atë në përputhje 2 "
dhe se lloji i ndihmon drejtojë mendimet e mia.
Kjo është një vend i mirë për të filluar.
Një tjetër mënyrë për të menduar për këtë, shumë, si ne kinda lëvizë
dhe si ju bëni këtë në programet tuaja, është
mendoni për llojin e si ajo janë rastet buzë për këtë?
Cilat janë llojet e skenarëve të pazakontë?
Cilat janë inputet pazakontë që ne mund të merrni?
Dhe çfarë duhet të duken si ato rezultate?
Për shembull, një input i çuditshëm
do të jetë kjo një,
krijuar absolutisht asgjë,
si ajo që ne duhet të prodhimit në këtë rast?
Diçka që ne duam të mendojmë në lidhje me, too.
>> Pra, ashtu si një pyetje,
çfarë mund të duam të prodhimit?
Nëse ne nuk do të marrë ndonjë kontribut në të gjitha, çfarë duhet të jetë programi ynë kompjuteri?
Asgjë. >>
Asgjë? Dashuri e madhe.
Pra, ne duam të sigurohemi që ne nuk jemi me shkrim asgjë jashtë
nëse ne nuk do të marrë asgjë in
Cool. Rregull.
Kështu
Unë jam duke shkuar për të thirrur në një çift të njerëzve si ne të kalojnë nëpër
dhe vetëm kuptoj se si ajo lloj algoritmi i përgjithshëm është
dhe ne do lloj të fillojnë të punojnë së bashku përmes këtij.
>> Pra, le të shohim. Missy.
Si mendoni ju se ne do të filloni?
Çfarë do të jetë një vend i mirë për të filluar këtu
në qoftë se ne duam të transformuar, të themi, alineja 1
në linjë 2?
Mund të ju lloj i vetëm të shpjegojë për mua, në gjuhën angleze, çfarë jeni duke menduar?
Mos u shqetësoni edhe në lidhje me kodin.
Gjëja e parë >> unë do të bëj do të jetë për
lloj i përdorues të drejtpërdrejtë për të të treguar atyre se çfarë ju dëshironi.
Mirë, kështu që, të themi,
"Hej, user. Dua
a string "- awesome.
Pra, le të shkruaj këtë poshtë.
Prompt përdorues për një varg.
Kjo tingëllon si një fillim i mirë.
Dakord.
Le të kërkojë Kelly ren këtë kohë.
Çfarë do ne pastaj duam të bëjmë tjetër?
Çfarë është lloj i ardhshëm tonë -?
Mblidhni >> kontributin e tyre dhe ruajtur atë si një ndryshore.
Madhe.
Pra mbledhur string,
ruajtur atë në një ndryshore.
Pra, a ka ndonjë gjë të veçantë që ne duam të bëjmë këtu?
A duam të kontrolloni kontributin e tyre
para -?
Po >>.
Çfarë mund të ne duam të kontrolloni për të?
>> E pra, ju tha se ne nuk kemi për të parë nëse ajo është një numër, e drejtë?
Sepse kjo do të supozojmë se kjo është Fjala?
Po.
>> Pra, rezulton se - po.
Pra getString është e garantuar për t'u kthyer na string.
Kjo nuk do të kthejë një numër të na ose diçka të tillë.
Nuk mund të jetë shifra karaktere brenda atij vargut, edhe pse.
Dhe ata, ne mund të injorojë si ne e bëmë të kapitalizimit.
Por një varg i zbrazët është krejtësisht gjobë,
kështu rastin të drejtë këtu në linjë 4 dhe 5,
të drejtë, ku nuk ka të dhëna,
dhe ne kemi vënë asgjë si prodhim tonë.
Ne nuk duhet të shqetësohen për të bërë të sigurtë se ka diçka në varg
ose se vargu është të paktën 4 karaktere gjatë;
çdo gjë është e mirë.
Pra, kjo është në kontrast, për shembull, me programe si pennies që ju shkroi
ku keni pasur të bëni të sigurtë që ju janë marrë jo negative numrat;
ju duhet të bëni të sigurtë që ju jeni duke marrë numrin e saktë të ditëve në një muaj.
Dhe si po ju djema duke bërë se?
Si do ta bëni këtë provë?
Çfarë ka që të kërkojë nga ju për të përdorur?
A >>-ndërsa sythe.
A-ndërsa sythe, lloje të tjera të sythe, gjithashtu, yeah.
Pra, ajo rezulton ne nuk duhet të përdorni një lak në këtë rast,
kur ne jemi bërë për një varg, që është lloj i bukur.
>> Të gjithë të drejtë, duke lëvizur në.
Pra, Stella.
A mund të na thoni pak në lidhje me atë që ne duhet të bëjmë tjetër?
Deri tani ne kemi marrë string, ne kemi marrë të ruhet në një variabël;
çfarë ne duhet të bëjmë me vargun?
>> Ne duhet të -
identifikojë 2 -
Po, të them vetëm atë në anglisht, kjo është awesome.
Identifikoni >> [e padëgjueshme] kryeqytete - ose, uppercase.
Yeah, kështu që ju do të identifikojnë se cilat janë uppercase dhe të vogla.
Ne nuk mund të uppercase ose me të vogla ato derisa ne kemi identifikuar që ato.
Pra, ne do të vënë atë në këtu.
>> Pra, vetëm duke menduar në lidhje me këtë proces,
si e bëjmë këtë identifikim?
A e dini se, Dan?
Lloji i asaj që ne - çfarë mjet ne do të duhet të përdorin nga Toolbox tonë?
Unë do të >> vënë atë në një farë mënyre në si një grup ose çdo linjë
është kuti vet pak,
dhe pastaj uppercase atë nga atje apo jo.
Mirë, kështu që një mjet që ne mund të përdorim është një grup.
Çfarë ne duhet të shikojmë në të vargut,
pse, të kuptoj se - ne duhej të shikojmë në karaktere.
Pra, >> ju keni marrë për të parë në gjatësinë e vargut?
Yeah, kështu që një pjesë e që është duke u gjatësinë e vargut.
Vetëm nga kurioziteti, çfarë ne përdorim për të marrë gjatësinë e një varg?
Strlen >>?
Yeah, strlen, ne e quajmë këtë "strlen"
Të gjitha këto funksione string, kështu strlen është një funksion,
dhe kjo është super i dobishëm, sepse ne mund ta përdorin atë për të vetëm të thonë,
Hej, strlen: Këtu ka një varg, më thoni se sa kohë është.
Në leksionin e sotme, David folur shumë rreth asaj se si strlen është zbatuar,
çfarë është në të vërtetë ndodh prapa skenave.
Por kjo është një nga ato shumë të super handy.
Nuk janë ato të tjera që janë edhe në bibliotekën string,
të tilla si strcmp, e cila është shkruar "strcmp",
e cila është përdorur për të krahasuar vargjet me njëri-tjetrin.
Ato të tjera që ju do të përdorni si strstr,
që është e mirë për të gjetur vargjet nën dhe kështu me radhë.
Për pjesën më të madhe, ata të gjithë të fillojnë me rr dhe pastaj të shkojnë në të jetë diçka tjetër.
Arsyeja që ata në fakt nuk shkruhet atyre si varg dhe kështu me radhë
është për shkak se si kthehet në ditët e para të C,
kur njerëzit ishin të shkrimit të parë dhe të gjithë që,
ata kishin kufizime mbi numrin e karaktereve që ju mund të përdorni
për emrat funksion dhe emrat e ndryshueshme,
kështu që çdo gjë është si super kondensuar.
Por kurdo që ju shihni diçka që fillon me rr,
që zakonisht do të thotë kjo ka diçka të bëjë me një varg.
>> Mirë, kështu që ju keni marrë për të marrë gjatësinë e vargut,
dhe pastaj, çfarë bëjmë ne me personazhet?
A e dini, Sam?
Unë >> nuk kam asnjë ide, unë kam qenë duke u përpjekur të kuptoj atë.
Unë me të vërtetë nuk e di - Unë uroj që ka pasur disa mënyra për të -
Unë do të thotë, unë do të mendoj se ndoshta ne mund të bëjmë diçka me mosmarrëveshje dhe evens,
por unë nuk e di për ndonjë funksion të tillë.
Po.
Por kjo >> - kjo nuk do domosdoshmërisht të punojë,
sepse atëherë ju do të merrni hapësira për jetë -
ju do të duhet të ketë hapësirë ​​për të marrë këshilla se si -
Rregull.
>> Unë nuk e di - lloj Jam i humbur në këtë pikë.
Po - Jo, jo, jo, këto janë pika të mira.
Kështu që ajo që ne duhet të bëjmë është, si Sam tha,
ne kemi nevojë për të gjetur letra të cilat janë letra rastësishëm,
dhe cilat janë letra madje.
Por ne duam të sigurohemi që ne nuk jemi vetëm në kërkim
në rastësishëm dhe madje edhe
indekset në varg,
por duke kërkuar në letra rastësishëm dhe madje edhe në varg,
kështu që ne duhet të kemi këtë kinda dallim në mes
shkronja - si ajo që është vërtetë A, B, C, D, ose kështu me radhë,
dhe çfarë gjërat nuk janë letra, por ende në vargun tonë.
Për shembull këtu, si ky pikë thirrje nuk është një shkronjë,
por ai është ende pjesë e vargut tonë, por është ende një char.
Gjithashtu, të gjitha këto hapësira -
kjo nuk ka kuptim për të përfituar një hapësirë, e drejtë?
Pra, ne duam të sigurohemi që ne disi kaloni ato
ndërsa ende ndjekja mosmarrëveshje dhe evens.
>> Pra, lloji i në Toolbox tonë programimit
deri më tani, në qoftë se ju do,
ne kemi një numër të mjeteve të ndryshme që ne kemi biseduar rreth.
Pra, një, për shembull, janë variabla,
si ne kemi biseduar rreth këtu.
Një tjetër mjet që kemi biseduar rreth janë funksione.
Pra, ne kemi biseduar rreth variablave në pseudokod tonë deri këtu
si ajo që ne jemi duke shkuar për të përdorur për të ruajtur vargun tonë.
Ne kemi biseduar rreth funksioneve të marrë gjatësinë e një varg, si strlen.
Ne kemi qenë duke folur në lidhje me diçka tjetër, dhe ne kemi biseduar për atë
për një shumë më të hershme në nenin sot: rampave.
>> Çfarë mendoni ju djema në lidhje me përdorimin e një lak në këtë program?
Jared, çfarë mendoni ju?
Do të kemi të përdorni një lak në këtë program?
Ndoshta nuk >>, jo, sepse ju nuk keni për të shkuar nëpërmjet saj më shumë se një herë.
Mirë, ju nuk duhet të kalojnë nëpër atë më shumë se një herë?
Vargu >> tërë.
Drejtë, kështu që ju nuk duhet të kalojnë nëpër të vargut të tërë një herë.
Na vjen keq që e bëri absolutisht asnjë kuptim!
Ju nuk duhet të kalojnë nëpër vargun e tërë më shumë se një herë.
Rregull.
Çfarë mendoni ju?
Unë mendoj >> se është më mirë të përdorin ato
kështu që ne mund të bëjmë si germa, ndërsa
vendndodhjen e saj është [padëgjueshme] numër.
Madhe, dhe kështu me germa çfarë?
Mirë, kështu që ne jemi duke thënë se
ne duhet të përdorni një lak, sepse ne duam të
germa një letër, ndërsa kjo nuk është një numër.
Pra - Më vjen keq, nuk ju doni të shtoni?
>> Unë do të them se mënyra që ju trajtoni string
dhe [e padëgjueshme] veçantë [të padëgjueshme] mbi personazhet?
Po.
>> Dhe pastaj ne mund të caktojë numrat në -
ose bazuar në vendndodhjen e shkronjave në vargun?
Po.
dhe për të identifikuar >> nëse kjo është e çuditshme apo edhe dhe për të përfituar letrën vetë
ndërsa vendndodhja e letrës është [padëgjueshme] - sorry.
Madhe.
>> Pra, vetëm një radhitje.
Mund të ju kujtoj mua e emrit tuaj përsëri - Jam keq.
Charlotte >>.
Charlotte, në rregull.
Pra, çfarë është duke thënë Charlotte,
e cila është krejtësisht e drejtë - Gosh, kjo i pëlqen të auto porosit për mua -
është se nëse ne shikojmë në një varg
të tilla si ky në krye -
"Thanks for the add" -
si një sekuencë e karaktereve
ku është në pozicionin 0,
h është në pozicionin 1.
Një është në 2, pastaj ne mori 3, 4, 5;
hapësirë ​​është në pozitë 6.
Ndërsa - çfarë është pozita e f?
7!
O? 8.
R? 9.
Dhe pastaj ne kemi marrë 10, dhe pastaj unë nuk mund të vërtetë të shkruajnë pa të
kinda marrjen e çrregullt në ekran.
Por kjo është në të vërtetë se si ne mund të flasim për vargjet në kujtesë.
A është kjo një varg
është një sekuencë e karaktereve,
dhe kur ne i referohemi një karakter individual në një varg,
ne shpesh ta bëni këtë duke iu referuar pozicionit që karakteri-së
brenda të vargut,
ndoshta në të njëjtën mënyrë që ne flasim për shtator
qenë muaji i nëntë i vitit
ose e hënë qenë dita e parë e javës.
Pra, kjo na jep një mënyrë për të
kuptoj se cilat ato janë të çuditshme kundrejt edhe
sepse ju mund të shihni këtu,
në qoftë se ne ndeshjen me këtë T,
ju mund të shihni se të gjitha ato kapitalizuara
janë në pozita edhe,
të paktën për fjalën e parë,
dhe pastaj gjërat të merrni hedhur jashtë një herë ne e goditi atë hapësirë,
sepse ne nuk llogariten këtë hapësirë ​​si një letër,
kështu që është si në qoftë se ne kemi filluar
dhe shkoi 0, 1, 2, 3, 4, 5,
hapësirë, 6, 7, 8, hapësira,
9, dhe pastaj 10, 11, 12, dhe kështu në.
>> Ftohtë, kështu që ne patjetër do të dëshironi të përdorni disa lloj lak
për të shkuar mbi çdo të karaktereve nga ana e tij.
Pra, në këtë pikë,
ne do të kthehen në pseudokod tonë të vjetër këtu.
Si pjesë e këtij identifikimi i të cilave
janë të uppercase dhe që ato janë të vogla,
ne do të duan për të bërë këtë në një lloj të lak.
, Loop zorrës së trashë.
Çfarë lloji të loop, nga llojet e sythe që kemi,
duket të jetë një e mirë për të përdorur në këtë rast?
Unë isha duke menduar >> për lak.
Dhe pse jeni duke menduar e për lak?
Për shkak se ajo fillon >> në zero, dhe pastaj
kur kemi arritur gjatësinë e vargut,
dhe pastaj çdo përsëritje mundeni [padëgjueshme], too?
Po, pikërisht.
Pra, nga zgjedhje të ndryshme të sythe,
ne kemi për sythe, ndërsa unazore, dhe për ta bërë, ndërsa sythe.
Kur një për lak është veçanërisht e dobishme
është kur ju doni të dini
lloj ku ju jeni në në lak,
sa herë lak është ekzekutuar deri më tani.
E cila është pikërisht ajo që ne duam të dimë në këtë situatë,
si Kelly tha,
bazuar jashtë e komentit hershme Charlotte që ne duam të dimë qëndrimin
të karakterit brenda vargut,
dhe për lak do të na japin vetëm se,
sepse nëse ne fillojmë lloj kërkim mbrapa në vargun tonë,
nëse ne filloni lak tonë për në 0,
dhe ne do të shkojmë deri me gjatësinë e vargut të tërë,
atëherë ne mund të lidhin T letër
me 0 në tonë për lak,
H letër me 1 në për lak jonë, dhe kështu në,
shkojnë të gjithë rrugën deri në fund të vargut.
>> Pra, le të fillojë kodimi këtë vetëm pak
Vetëm kështu që ju djema të marrë një të ndjehen për atë që duket si ky.
Unë jam duke shkuar për të shpëtuar këtë,
kështu që ne kemi marrë kodin tonë pseudo këtu,
dhe unë jam duke shkuar për të fshirë gjithçka.
Kështu që unë kam një propozoj bosh.
Unë jam gonna të fillojë duke shkruar int kryesor (i pavlefshëm)
{
Unë jam gonna të vënë 0 të kthimit në
dhe pastaj}.
Pra, zakonisht kur kam filluar të programit, kjo është ajo që unë të fillojë me.
Unë do të të shpëtuar atë në mënyrë që ju djema keni atë.
Pra, një nga gjërat e para që folëm ishte
marrë të dhëna nga përdoruesit
dhe ruajtjen atë në një varg.
Si mund të marrim të dhëna nga një përdorues?
GetString. >>
GetString, të gjithë të drejtë.
Pra, nëse unë lloji getString ()
dhe një pikëpresje.
Le të provoni drejtimin e kësaj, do të këtë drejtuar, para së gjithash?
Dhe pse nuk do të kandidojë kjo?
Ju duhet të >> shpallë ndryshore.
Unë duhet të deklarojë një ndryshore. Rregull.
>> Pra, si mund ta bëni këtë?
A keni mendje shkruar diçka, ndarjen e saj?
Dhe atëherë ne mund të tërheqë atë.
Le të shohim, Dan, të drejtë, në rregull.
Ose Daniel. Kopje që në, input String = getString ().
Awesome.
Do të këtë drejtuar?
Le të provoni.
Hit drejtuar, burim ngarkimi kodin, ndërtimin, është hasur një gabim.
Rregull.
Pra, çfarë ndodh këtu?
Përdorimi i 'string' Identifier pashpallur.
Ne >> duhet të përfshijnë bibliotekat?
Po, kështu e Dan thënë se ne duhet të përfshijnë bibliotekat.
Është se çfarë keni qenë duke shkuar për të thënë, Stella? Awesome.
Kjo është awesome, kështu Stella, mund të ju
kopjoni këtë kod nga Space Danielit?
Nëse ju klikoni në Daniel Roland Ki, kopje atë,
dhe pastaj do të ju vënë vijë të përfshijë në, dhe pastaj të shpëtuar atë?
Më lejoni të dinë kur ju jeni gati.
Pra, kjo është edhe Sintaksa përfshijnë lloj i shokuar;
nuk ka si kjo tag hash,
dhe nuk e përfshijnë, dhe pastaj ka këto kllapa kënd.
A ju kujtohet se si kjo punon, ose duhet të vënë atë deri në këtë kod të drejtë këtu?
Unë jam >> mirë.
Rregull.
I shtypur atë >> - Unë nuk ishte i sigurt që bibliotekë, pse.
Oh, në rregull - yeah, kështu që është bibliotekë CS50.
Oh >>, kam vënë bibliotekë stdio.
>> Oh, got it - Po, jo, that's -
kështu rezulton se vargu është në fakt diçka që është e veçantë për CS50.
Ka të vërtetë nuk është një lloj i vërtetë vargu
sepse këtu, string është në pozitën tipit, -
ne jemi deklaruar një kontribut të ndryshueshme quajtur e tipit string -
dhe ne jemi duke vënë në brendësi të dhëna
vlera që merr kthye tek ne: prodhimi i kësaj thirrjeje funksion getString.
Ju mund të them kjo është një thirrje funksion sepse është marrë kllapa, ashtu si printf bën,
ashtu si strlen bën.
Por varg nuk është në fakt një lloj i vërtetë
në language C.
Ne kemi bërë atë në një lloj, dhe ne do të të marrë për më shumë se çfarë në fakt është
në C, për shkak se ka një mënyrë për të punuar me vargjet;
ne kemi bërë vetëm diçka për të bërë atë të duket pak nicer.
>> Pra, këtu ne do të shkojmë.
Këtu është kodi Stella së.
Ajo e mori # include .
Njerëz të tjerë do të quajmë këtë si një hash përfshijnë ndonjëherë ose një mprehtë përfshijnë.
Tani ne mund të fillojnë atë, e drejtuar atë,
dhe ne ende të marrë një gabim.
Le të shohim se çfarë po ndodh.
"'Input' variable papërdorura."
Mirë, kështu që kjo është ftohtë, kjo është ftohtë.
Unë do të thotë, ajo nuk është me të vërtetë cool,
sepse ne jemi duke marrë një gabim dhe ai nuk është i rrjedhshëm,
por ajo që kjo është thënë është se
ne nuk kemi përdorur ndryshore tonë, gjë që e bën kuptim.
Ne nuk e kanë provuar të bëjë asgjë me të.
Kjo është një mënyrë që
Tingëllimë është duke u përpjekur për të na ndihmuar të bëni të sigurtë që ne nuk jemi vetëm duke përdorur ndryshoret
dhe pastaj duke i quajtur ato pa dashje diçka tjetër më vonë në kodin tonë,
na ndihmuar të shmangur gabimet që mënyrë.
>> Të gjithë të drejtë, kështu që ne kemi marrë të dhëna nga përdoruesit,
Ne ruajtur atë në një ndryshore.
Hapi tjetër ishte për të, atëherë
të fillojmë të shikojmë në të gjitha personazhet në vargun
dhe identifikimin e të cilat ato janë të jenë të uppercase
dhe cilat duhet të jenë të vogla.
Dhe si Kelly dhe Charlotte solli deri,
ne bëjmë këtë duke përdorur një për lak.
Kështu ka dikush kujtohet sintaksën e një për lak
dhe do të donte për të marrë një goditje me thikë në vetëm me shkrim
rreshtin e parë e për lak, vetëm për pak?
Kelly, ju doni t'i jepte një provoni?
>> Yeah, kështu që ju duhet të nisja të parë,
kështu që kam vënë i = 0,
dhe atëherë unë nuk kam <strlen ().
Është ajo në hapësirë ​​tuaj - mund ta tërheqë atë?
>> Yeah, unë i dehur pak, por vërtet.
>> Mirë, le të tërheqë atë.
Awesome.
Por pastaj >> Unë nuk e di nëse keni pasur se -
Po, në rregull.
Kështu që këtu është ajo që e mori Kelly: le të shohim në atë shpejt.
Kështu që ajo është përfshirë bibliotekën CS50 në krye.
Ajo është përfshirë bibliotekën standarde io në krye,
dhe IO standarde ka funksione si printf,
kështu që nëse ndonjëherë ju doni të përdorni printf, ju keni nevojë për këtë linjë.
Dhe pastaj ajo përfshihet në bibliotekë string,
të cilat ne do të duhet,
sepse biblioteka string ka strlen funksion,
të cilat ne do të merrni në vetëm një grimë.
Pra, nëse ne shikojmë se çfarë Kelly është bërë këtu,
ju mund të ecin nëpër atë që ju na bëri?
>> Yeah, kështu që - Unë do të thotë, unë kam gabime, kështu -
Po, jo, it's -
Kështu >> kam kërkuar për të thirrur vargut që kam marrë vetëm "string".
Unë të kërkuar për të shtypura nga string
dhe pastaj unë -
Doja të doja të vendosur string si si një grup të çdo karakter
qenë ndryshe [padëgjueshme], e drejtë?
Dhe pastaj kam kërkuar për të filluar në pozicionin 0
dhe pastaj çdo 2 hapësira,
Unë kam qenë duke shkuar për të përfituar,
kështu që unë thjesht e përshkroi atë si 23, sepse unë isha duke kërkuar në tryezë ASCII.
Pra, kjo është ajo që unë isha duke menduar - E di se nuk është e drejtë.
>> Mori atë, kështu që kjo është një fillim i madh.
Unë mendoj se një shumë e kuadrit është në vend këtu.
Le të shkojnë nëpër lloj rresht pas rreshti dhe të shohim se çfarë po ndodh.
Pra, mënyra më pëlqen të bërë këtë është të fillojë vetëm me hartimin e kodit
dhe lejuar përpiluesit tregoni mua si çfarë është e gabuar me kodin tim,
sepse përpiluesi është me të vërtetë mirë në ju tregojnë se çfarë është e gabuar me kodin tuaj.
Pra, nëse kemi luajtur atë, ndërtimin, dhe kjo nuk ka të ndërtuar.
Ajo thotë se ka qenë një gabim,
kështu që nëse ne lëvizni poshtë dhe të kërkoni në gabimin e parë,
ajo tha se -
që lëviz mbrapa deri në majë,
ne mund të shohim se janë 5 gabime të krijuara këtu poshtë në pjesën e poshtme.
Oops, që është prerë me të vërtetë off.
Unë mendoj se është jo vetëm do të merrni ndonjë të mirë.
>> Këtu ne do të shkojmë.
Pra, ka 5 gabime gjithsej të krijuara.
Këtu unë vetëm mund të shohin 2 e parë,
kështu që unë mund të lëvizin këtë deri pak dhe pastaj lloj lart scroll.
Kjo është komanda që ishte drejtuar për të hartuar kodin,
dhe pastaj gabimi i parë ishte në file.c drejtë këtu:
"Pritet identifikuar ose '('", dhe kjo ishte në këtë linjë
ku kemi thënë string = getString ().
Ju mund të shihni të drejtë këtu se ajo ishte në përputhje 8 të file.c,
dhe atëherë unë besoj se kjo është karakteri 12 - kjo është gabim.
Pra, çfarë po ndodh gabuar në linjë 8 - Kelly?
>> Ju vetëm duhet për të thirrur atë, si, një letër apo diçka,
si string s ose diçka?
Yeah, kështu që del se këta emra të veçanta lloji,
kështu string, int, char, të shkurtër,
ata janë të gjitha fjalë kyçe të veçanta,
dhe ju nuk mund të vërtetë përdorin ato si emrat e variablave tuaj,
sepse përpiluesi shikon atë dhe thotë,
"Oh, unë e di që është një lloj"
kështu që ju nuk mund të vërtetë kanë një variabël string string quajtur,
si unë jam duke u përpjekur për të bërë këtu, kjo nuk do të funksionojë.
Por në vend, ne mund të quajmë diçka si s ose rr ose rr.
Ne gjithashtu nuk mund të telefononi atë int.
Ne nuk mund të kemi një varg të quajtur int.
Ne nuk mund të kemi një varg të quajtur char; asnjë nga ata që do të punojnë.
>> Pra, ne vetëm do të thërrasë atë s për momentin.
Awesome.
Pra, çfarë tjetër po ndodh në këtë linjë?
String - kjo linjë duket goxha e mirë?
Le t'i jepte një tjetër përpiqet, le të drejtuar atë.
Mirë, kështu që ne ende të marrë gabime.
Këtë herë, ne jemi deri në 4 gabime.
Pra, kemi marrë një prej tyre.
Le të shkojë deri.
"'String' Emri i papritur Lloji: shprehja e pritur", po?
Po >>, që është për shkak se unë u përpoq për të përmendur string.
Yeah, kështu që duket si ne tani gjithashtu duhet të shkoni fix
të gjitha këto referenca të vargut.
Ju mund të shihni se ka një referencë për vargun këtu, një këtu, një këtu,
kështu që ne mund të lëvizin të gjitha këto për të s.
Madhe. Mirë, e drejtuar atë përsëri.
Ndërtimi - një tjetër gabim.
>> Mirë, tani ne jemi poshtë për një gabim,
kështu int i = s dhe pastaj kllapa katrore.
Kështu që ju mund të na tregoni pak për atë që ju po bëni këtu, Kelly?
Po >>.
Ajo ishte on line 10.
Unë >> nuk e di nëse kishim nevojë për të gjithë,
por unë mendoj se unë kam qenë duke u përpjekur për të -
Do ta ruani atë kështu që ju mund të ndjekin së bashku.
Unë mendoj se kam >> qenë
duke u përpjekur për të treguar atë që të fillojë në pozicionin 0
në fillim të mia për lak,
kështu që unë mendoj se ndoshta se duke thënë se ishte e panevojshme.
Pra, vetëm për radhitje,
ju u thënë se kjo - ju ishin duke u përpjekur për të filluar këtë në pozicionin 0
dhe për të marrë këtë - yeah,
kështu që unë mendoj se më herët, shumë, kur ju po ecnin përmes kodit,
ju jeni duke folur rreth asaj se si ju kërkuar për të trajtuar të vargut si një grup
kështu që ne mund të hyni në çdo karakter individualisht.
Unë mendoj se vargjeve Dan përmendura, shumë, duke u përpjekur për të kthyer në vargjet vargjeve.
>> Ajo rezulton se lloj nën kapuç,
një varg është ruajtur në të vërtetë si një grup tashmë,
dhe ju mund të hyni në atë si një rrjet;
nuk ka asnjë konvertimit që ju duhet të bëni.
Një isn't string - kështu -
një varg nuk është me të vërtetë një grup,
por ju mund të hyni në atë si të tillë, sepse të gjitha personazhet janë ruajtur
një të drejtë tjetër për njëri-tjetrin në kujtesë,
kështu që nëse ju doni të merrni karakterin e parë të vargut,
kjo është njëjtë si marrjen e integer parë në një grup numër i plotë.
Pra, ne shpesh - we'll
referohen 2 si
oh, si një varg, si një grup,
edhe pse me të vërtetë - they're gjëra shumë të ndryshme,
por ju mund të trajtoni ato shumë të njëjtën gjë.
Pra, del që kjo linjë të vërtetë -
ne nuk kemi nevojë për të bërë ndonjë konvertim,
dhe në fakt,
kjo në fakt nuk është një shprehje e vlefshme,
e cila është ajo që përpiluesit jonë është duke na thënë.
Është thënë, "Hej, ajo pritet një shprehje,
dhe atë që unë kam marrë këtu është diçka që nuk është një shprehje. "
Të deklarojë një koleksion,
të gjithë ju duhet të bëni është diçka si kjo me një pikëpresje,
dhe pastaj ju tregoni grup se sa kohë ju dëshironi që ajo të jetë,
të tilla si 5, kështu që kjo linjë 10
do të deklarojë një koleksion të quajtur unë me 5 integers në të.
>> Kjo është një mënjanë, kjo nuk është e nevojshme për kodin,
por kjo është - kjo është lloj i asaj që duket si deklarata.
Si >> nuk do ta përdorni char I [strlen (s)]?
Char I [strlen (s)]?
Char >> i, dhe pastaj brenda kllapave, strlen (s).
Yeah, kështu që ne mund të -
ne mund të bëjmë këtë,
dhe kjo do të deklarojë - çfarë do të bëni këtë?
Unë mendoj se >> do të shpallë një sërë
e, si - e -
oh, ju nuk keni nevojë të i - oh,
yeah, ju patjetër nuk keni nevojë i.
Ju deklarojë një rrjet të karaktereve të
i S gjatësi.
Dhe kështu ajo Sam thënë është se
kjo linjë 10 - më lejoni të vënë një hapësirë ​​në mes tij dhe pjesës tjetër kështu që ne mund të izolojnë atë -
kjo linjë do të shpallë 10 një grup
i chars, strlen (s) vlerë e tyre,
por ne fakt nuk i duhet,
dhe arsyeja që ne duhet e i është sepse ne kemi nevojë për të dhënë array një emër;
Përndryshe, ne nuk do të ketë një mënyrë për t'iu referuar më vonë në grup kodin.
>> Pra, kjo e drejtë këtu është emri array
dhe brenda është gjatësia.
Kjo do të na japë një koleksion,
por kjo është - përsëri, kjo është një deklaratë.
Kjo nuk është një detyrë, kjo nuk është një initialization.
Nëse ne deklarojmë këtë koleksion si kjo,
nuk ka asgjë të vërtetë në përmbajtjen e vektorit.
Është vetëm junk - çdo gjë që është në atje.
Dhe si kemi thënë,
ne fakt as nuk duhet të bëjnë këtë konvertim,
sepse ne tashmë mund të trajtojë string s si një grup.
Unë e di se ne jemi drejtimin e një pak të gjatë në kohë,
por unë dua të vetëm të vërtetë të shpejt të marrë për këtë për lak
dhe ju tregojnë se si për të hyrë në karaktere individuale në rrjet,
sepse kjo është kyç për caktimin tonë.
Dhe pastaj ne do të ju lejojnë të shkojnë nga atje.
>> Kështu që këtu, ne kemi marrë një për lak
që duket pothuajse e mirë.
Çfarë nuk është mjaft pothuajse atje?
What's - çka nuk është mjaft e drejtë në lidhje me këtë për lak?
Asnjë formatimin e teksteve kaçurrel >>?
Asnjë formatimin e teksteve kaçurrel, për një.
Dëshironi të bëni të sigurtë që ne kemi trupin e lak me formatimin e teksteve kaçurrel.
Na falni, nuk tërthore katrore!
Dhe çfarë është gjë tjetër që ne duhet të bëjmë me këtë lak?
Në qoftë se unë të përpiqet dhe të drejtuar atë,
whats e këtë gabim që unë të marrë?
Kam marrë të gjitha këto gabime - unë duhet të inicializoj i.
Madhe.
Pra, kjo do të jetë një lak - kjo nuk është mjaft atje,
por kjo bëhet me të vërtetë afër.
Ky kod ne tani mund të kandidojë,
ndërtuar, një gabim akoma ndodh.
Pse është ajo ende u ankuar,
duke thënë shprehjen e papërdorur,
dhe kjo është për shkak se kjo linjë nuk ka bërë asgjë.
Ne nuk kemi ruajtur atë kudo, ne nuk e ruajtur rezultatin.
Ku duhet të jemi të shpëtuar këtë rezultat?
S ose i >>?
Pikërisht, dhe kjo sintaksë shokuar,
kjo s me kllapa katrore
do të thotë të hyni në karakter i-vjetorin e s.
Kjo do të jetë diçka që është me të vërtetë e rëndësishme për caktimin.
Për fat të keq, ne do të kemi për të ndaluar këtu,
në mënyrë që seksioni Sebastian mund të vijnë në,
por unë jam i lumtur për të qëndruar jashtë pas dhe do të marrë ndonjë pyetje.
Pra, thank you guys për të ardhur.
Kjo tani duhet të ngarkoni, të ndërtuar, të drejtuar.
Ne mund të hyjë në një varg si "hello"
dhe shtyp "QOX".
[Qeshura]
>> Pra, jo mjaft atje, por duke lëvizur, duke marrë në drejtim të këtyre unazore!
Faleminderit për të ardhur, dhe unë do të jetë jashtë.