[Powered by Google Translate] [Artikulua 3] [Less erosoa]
>> [Nate Hardison] [Harvardeko Unibertsitateko]
>> [Hau da CS50.] [CS50.TV]
>> Guztiak eskubidea, dezagun Hasteko.
Ongi etorri Astea 4 CS50.
You guys ireki bada, web-arakatzaile bat ireki eta 3 pset,
Scramble CS50 batera, hasten dugu
galdera han atalaren bitartez.
Just astetik bezala, CS50 Espazioak dugu lan,
duzu ere bada tira hori baita,
eta joan baduzu Animatu eta bisitatu esteka hau ditudan jaiki hemen goialdean.
Denbora da lehen urratsak emateko.
Gure hi programa hemen lortu dugu. Ezer ez crazy.
Gaur egun duzun guys egin nahi dut lehen gauza bat da, joan batzuk irtenbide bat
Arazoa Set 1, adibidez irtenbide mota,
besterik ez, beraz, zer kodea langile mota idazteko sentitzen lor dezakezu,
zer kodea ikasleak beste mota idazten,
eta begirada bat hartu badakizu I bitxi delako
arazo multzo bat irtenbide bat bidaltzen duzunean eta iruzkinak lortu
zure bertsioa kabuz, baina batzuetan, lagungarria da beste pertsona batzuk nola egin ikusteko,
batez ere direnak nice bila.
Gehienetan, I zen benetan irtenbideak duzu guys ekoiztu du.
Oraindik ez dut zure Arazoa Set 2s begiratzen hasi, baina ezer lehen bezala ari dira,
ezer ez, baina gauza onak esan nahi du.
>> Nire revisions begiratuz gero, dezagun hasteko modu guztiak behera Revision 1
eta Mario irtenbide bat begirada bat hartu dugu.
Tira duzu hau izanez gero, programa horiek aurkezten ari gara joan dira zuzenak.
Ez ziren gai zuzentasuna arazo horiei, baizik eta,
pixka bat hitz egin nahi dugu, diseinu gaiak
ari ziren erabiltzen hemen.
Zen gauza interesgarri irtenbide buruzko
izeneko libra define eraikuntza berri hau erabiltzen dela,
batzuetan ere hash bat definitzeko gisa aipatzen da.
Gerturatzeko dit hemen.
# Define A aukera ematen du izen eman ahal izango duzu, zenbakiak hauek zure programa.
Kasu honetan, piramide baten gehienezko altuera Mario
izan zen 23 eta baino gehiago 23 nire kodea jarri
23 kodetze gogor jo aipatzeko genuke
ordez izena MAX_HEIGHT honetan zenbaki hori ematen,
beraz, hemen nire do bitartean-begizta behera
benetan dezakezu MAX_HEIGHT erreferentzia
23 zenbakia jarri ordez sartu
[Student] Zer egiten abantaila da?
Hori galdera bat da.
Readability bat da.
Hau # define erabiliz abantaila bat readability da.
Kode hau irakurtzen ari naiz, ikusteko zer ari den gertatzen ahal izango dut.
>> Baldintza hau ikusi ahal izango dut hemen ari garela probatzen
altuera <0, eta horrek ere izan dugu definitu
gutxieneko altuera edo min altuera izan behar da.
Beste abantaila da gero irakurri ahal izango dut lerroaren gainerako ikusi
ari garela ere ziur altuera max altuera baino handiagoa ez da egin den egiaztatzea,
ari garelako max altuera baino altuera handiagoa bitartean jarraituko du.
Beste abantaila da mapan handiago dut pixka bat hemen
exekutatu programa hau eta exekutatu I, adibidez, 23 oraintxe,
23 besterik gabe errenkadak guztiak inprimatu izango da.
Baina esan max altuera aldatu nahi nuen,
eta, gaur egun, piramideak gehienezko altuera mugatu nahi dut
bakarrik esan-man, funky izan.
# Artean, besteak beste, # define MAX_HEIGHT,
eta demagun 10 berdinak ezarri nahi dugu.
Orain, puntu honetan, egin behar izan nuen kokapen bat aldatu zen.
Kodea konpilatu ahal izango dut, eta saiatzen naiz eta idatzi 12.
galdetu izango da berriro.
Kasu honetan, bakarrik ari gara MAX_HEIGHT erabiliz behin.
Ez da hassle bat big joan da
aldatu eta, behar izanez gero, berriz, loop.
Baina programa bertan magia ari zaren erreferentziatutako
behin eta berriz, # define mekanismoa benetan praktikoa
besterik ez duzu denbora bat aldatu delako fitxategi-normalean non jarri dituzu goialdean
eta aldaketa fitxategia gainerako bidez percolates.
>> Beste gauza zeregin honetan kontuan izan nahi dut pentsatu dut benetan nice begiratu,
aldagaiak izendatzeko bat izan zen.
Hemen ikusten duzun dugun zenbaki oso got izeneko errenkada eta altuera deitzen aldagai.
Espazioak, egiaztapenekin, kodea pixka bat gehiago irakurgarria laguntzen du,
egiten du apur bat gehiago ulergarria da zer benetan gertatzen ari da.
Hau erabiliz kontrastea da, esan, ausazko letrak
edo, besterik gabe, gobbledygook guztira.
Seinalatu dut gauza A final loops for
askotan horiek iterator aldagai hauek zure erabiliko duzun loops counters,
estandar eta konbentzionalak bai i eta, ondoren, j hasteko eta, ondoren, k
eta bertara, behar izanez gero, aldagai bada,
eta hitzarmen bat besterik ez da.
Hitzarmen ugari daude.
Araberakoa da programazio hizkuntza erabiltzen ari zaren.
Baina C, i normalean hasten dugu.
Ez du zentzurik erabiltzea, adibidez, edo b
egoeraren arabera.
Hau da hau.
Orain tira bada berrikusketa, ordua: 2, Mario beste ikusiko duzu,
eta hau beste bat besterik ez dugu ikusi antzekoa da,
baina zerbait cool mota du.
Atal honetan begiratzen badiogu, hemen barne-barnean loop,
bilatzen sintaxia crazy batzuk erabiltzen ari dira hemen eskuineko lerro hau.
Deitzen da, hirutarra adibidez operadore.
Lerro bat sartu kondentsatzen bestela, adierazpen bat da.
Baldintza Parentesien barruko zati honetan.
Esaten baliokidea da j <altuera - i - 1.
Eta gero, zer duten edukiak blokea izango litzateke bada espazioa
eta, ondoren, beste zer litzateke edukiak dira ".
Funtsean, espazio bat esleituz aldagai hau.
Bloke aldagaiaren edukia espazio bat jarriz,
baldintza hau betetzen bada, eta baldintza betetzen ez bada,
gero, bloke aldagaia lortzen #.
Eta gero, jakina, horren ordez, kate osoa bat eraikitzeko
, eta guztia inprimatzeko amaieran irtenbide hau bistaratzen da karaktere bat aldi berean.
Pretty cool.
>> Begiratzen gauzak beste pare bat. Mugitu gara Greedy.
Orain bada bilatzen, Greedy dugu, lehenengo irtenbide hau
erabiltzen # nahiko bit bat definitzen du.
Programa honetan hainbat zenbakiak bakoitzean definitutako konstante bat lortu dugu.
Dugu got dolarraren zentimo bat, laurden, dimes, Nickels, eta pennies bat,
eta, orain, joan behera bada eta kodea irakurri,
estandar bat egin bitartean-loop inprimatzeko guztia ikusi ahal izango dugu.
Arazo hau Programa Kind konturatu zen duen
mugikorra bihurtzeko erabiltzaileak irakurri zenbaki oso bat behar duzu
math zehatza egin, eta hau delako
puntu mugikorreko zenbakien, buruz hitz egin dugu, hitzaldi labur bat bezala,
ez da posible zenbakia line balio single guztietan zehatza irudikatzeko
daude infinituki 3 artean, eta, adibidez, 3,1, nahiz eta askotan balio duelako.
3,01 eta 3,001 eta 3,0001 izan dezakezu, eta mantendu egingo dezakezu.
Bihurtzen da bakoitzean dirua ari zara lanean, askotan nahi duzun bihurtzeko
osokoaren formatuan sartu, beraz, ez duzu pennies eta stuff mota hori galdu.
Eta biribiltze egitea izan da gakoa.
Irtenbide hau erabili primeran algoritmo sinplea da, handia,
den decremented zentimo Gainerako kopurua, lehen hiruhilekoetan,
ondoren dimes, ondoren Nickels eta, ondoren, pennies,
eta aldi bakoitzean txanpon kopurua gehituz.
>> Beste irtenbide bat, ikusiko dugun mapan handiago dut eta joan berrikusketa, ordua: 4,
oso antzekoa izan da hasieratik, baina ordez erabiltzen div eta mod
hementxe baino gehiago zentimo kopurua kalkulatu ahal izateko.
Honek, hiruhilekoetan kopurua 25 arabera banatzen zentimo kopurua berdina da,
eta arrazoia honetan lan egiten ari gara osokoaren zatiketa egiten ari delako,
beraz, baztertu egingo da gainerako edozein.
[Student] bilaketa komentatu behar dugu?
Araberakoa da benetan.
[Student] kodea baino gehiago ari zara komentatzea hemen.
Bai, eta, beraz, ez dago honetan filosofia desberdinak sorta bat dira.
My personal filosofia Zure kodea dela benetan egia da,
Zure kodea bezalakoa da zer benetan ordenagailuan exekutatzean,
eta, beraz, zure kodea ahalik eta irakurri ez iruzkinak asko jo beharra izan behar du.
Hori esan zuen, gauzak diren mota ari zaren egiten delikatua matematikoki
edo algorithmically ona da, horiek egin ahal izango dituzu, beraz, behar duzu
dimentsio gehigarri bat, aparteko geruza bat gehitu diozula zure kodea irakurtzean.
Irtenbide horiek, askotan komentatzen dira ugari baizik
horiek banatzeko gai izan nahi dugu, eta pertsona horiek hautatzeko sortu
irakurri eta hauek nahiko erraz.
Baina, zalantzarik gabe, ados, hori da heavy nuke.
[Student] Baina zalantzarik, astunagoak?
Zalantzarik, astunagoak joan.
Batzuek batzuetan esan bueltan 0 edo horrelako zerbait.
Barregarria iruzkin bat dela uste dut.
Bistan denez, hori zer ari den gertatzen.
Ez dut behar English me kontatzeko.
Batzuetan, pertsona bezala stuff idatziko du "kthxbai!"
Hau cute mota da, baina, halaber, ez-
hori ez da puntu komentatzea edo ez arteko desberdintasuna eginez.
Mota horiek iruzkinak besterik ez dira ha, ha.
Cool.
>> Puntu honetan, dezagun Arazoa Ezarri galdera atal 3 lan egiten hasi.
You guys tira sortu bada, berriz,
astetik ari gara, ez film labur ikusi ahal izateko atal honetan.
Utzi duzu guys egin dute zure denbora propioa eta galderei buruz hitz egin dugu.
Baina orain, atal honetan pixka bat gehiago denbora goaz
kodeketa oinarriak gutxiago buruz hitz egiten
azken astean genuen bezala, eta horren ordez, gehiago bideratzen ari dugu.
teoria pixka bat gehiago, eta, beraz, bilaketa bitarra buruz eta hitz egiten ondoren ordenatzeko.
Dutenek dira batera hitzaldia eskainiko du,
norbaiti eman me aldea zer da laburpena
bitarra bilatu eta bilaketa lineala artean?
Zer gertatzen da? Ziur.
Bilaketa lineala bidez ordenatzen zerrendatik elementu guztietan bilatzen
banan-banan-banan banan-banan,
eta bilaketa bitarra 2 taldetan banatzen
txekeak gakoak balio badu, bila ari zaren baino handiagoa edo erdigunea balioa baino gutxiago
besterik ez da aurkitu, eta baino gutxiago izanez gero, doan zerrenda beheko
eta, ondoren, berriro banatzen da, funtzio berbera du
behera guztiak erdigunea aurkitzen da balio bera berdinak izan arte.
Eskuin.
>> Zergatik ez dugu axola?
Zergatik hitz bilaketa lineala versus bilatu bitar gara?
Bai.
Binary asko azkarrago, hala badagokio, arazoaren tamaina bikoiztu
urrats bat gehiago, baizik eta bi aldiz asko baino hartzen du.
Hain zuzen ere.
Hau erantzun bat handia da.
Lineala bilaketa oso elementu bat egiaztatzeko, aldi berean,
eta hitzaldia egun oso lehen ikusi dugu gisa
denean David bere telefono-book Adibidez bidez joan
eta telefono-liburuaren orrialde bat erauzi aldi berean
eta mantendu egiten eta baino gehiago baino gehiago berriz,
eraman benetan luze telefono liburua inor aurkitu da,
ezean, noski, beste norbait zen alfabetoaren hasieratik begira.
Bitarra bilaketa, asko joan azkarrago dezakezu,
eta ez da bakarrik bi aldiz azkar edo 3 aldiz azkar edo 4 aldiz azkarrago.
Baina arazoa lortzen txikiagoak eta txikiagoak eta txikiagoak askoz azkarrago.
Hori ilustratzeko, hasi hitz egiten dugu zer ari den gertatzen
bilaketa bitarra idazten dugu.
Daukat esku arazoa da zenbaki array bat izanez gero,
esan, 1, 2, 3, 5, 7, 23, 45, 78, 12323,
eta, ondoren, 9 0 s tona bat ondoren,
figuraren benetan azkar da gai izan nahi dugu
zenbakiak array hau.
Badirudi apur bat silly eta apur bat contrived ezagutzen dut,
oraintxe bertan dagoelako.
Array bat ez duten elementu asko ditugu,
eta galdetzen badut duzu bat irudikatu ala ez
23 array da, egin nahiko azkar dezakezu
eta glancing me kontatzeko bai edo ez.
Analogikoa, uste imajinatu balira, esan,
10.000 errenkada, 20.000 errenkada Excel kalkulu-orri bat.
Jakina, komando F edo kontrol F egin dezakezu eta zerbait bilatzeko.
Ere erabili ahal izango dituzu, iragazkiak eta bilaketa-stuff,
line by line fitxategi lerro horren bidez begiratu izan duzu,
litzateke hartu duzu denbora luzean bat aurkitu.
Mota horretako telefono-liburua adibide bezala, ere, non
inork ez du telefono-liburuaren ko-orriaren bitartez, itxura batean.
Normalean, ireki dute erditik,
edo telefono liburuak eta hiztegiak non asko kasuan
dute benetan lehenengo letra keyed
irauli lehenengo letra hori, eta ireki eta bertan igaro hasteko.
>> Gogorarazi zure izena berriro. >> Sam.
Sam.
Sam Atsegin dut esan, hori lineala bilaketa-prozesua oso motela izan du,
eta bitarra bilatu ordez, obra hau dela
aldi bakoitzean dugu gure algoritmoa bilatzen iterazio baten bidez,
zerrenda zatitzeko erdia, funtsean, goaz,
bi zerrenda txikiagoetan banatzen.
Eta gero loop, hurrengo iterazio, zatitzen dugu berriro
txikiagoa beste zerrendetan sartu.
Ikusten duzun bezala, arazoa mantentzen txikiagoa lortzean eta txikiagoa
mantendu dugu baztertzen zerrendaren erdia aldi bakoitzean bakarra delako.
Nola ez du discard lan?
Just oroigarri gisa, zer egin ari gara joan ginen ordenagailu bat bada
eta ziren, esan, 5 zenbakia zerrenda honetan bilatzeko
erdian zenbaki bat dugu jaso.
Zerrenda honen erdian, ez delako dira, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 zenbakiak,
zenbakia hautatzeko genuke posizioan edo 4 edo 5 posizioan,
eta gure zerrendan erdian dei genuke.
Aukeratu kopurua erdian.
Ondoren, Sam bezala esan, probatzeko dugu zenbaki hori berdina da bada
zenbakira iritsi nahi dugun edo gure nahi duzun zenbakia.
Da berdina bada, eta, ondoren, aurkitu dugu. Irabaziko dugu.
Ez bada, berdin, ondoren, kasu pare bat dira.
Bi kasuetan, bai kopurua bilatzen ari gara zenbakia baino handiagoa izan behar du,
edo baino txikiagoa da.
Da handiagoa bada, mugitzeko eskubidea dugu.
Eta gutxiago bada, mugitu ezkerrera dugu.
Eta, ondoren, prozesu osoa errepikatu dugu berriro
bai erdia eskuineko edo ezkerreko zerrendaren erdia.
>> Gaur egungo atalean arazoa lehen irudikatu da
nola hasi ahal izango dugu hau benetan adierazteko C kodea.
Lortu dugu pseudocode hemen.
Zer abia dugu tira sortu dut marka-espazio berri,
berrikuspena gorde, beraz, ohar hauek ditugu, geroago,
hori guztia ezabatu dugu, eta ondoren, arazoa multzoa kopiatu eta itsatsi
gure espazio informazio hau, eta espero dugu hau ez hausteko.
Perfect.
You guys guztiak ez bada, kopiatu eta itsatsi kode hau zure espazio berria,
bat hutsik dagoen batean.
Dezagun saiatu Daniel. Konpilatu eta exekutatu baduzu programa hau, funtzionatzen du?
N º. >> Zer ari da esaten?
Void funtzioa ez-kontrol amaiera heldu dio.
Bai, eta, beraz, utzi exekutatzen ari saiatu me.
Have you guys ikusi aurretik? Zer, horrek esan nahi du ezagutzen al duzu?
Ados, dezagun hau pixka bat dissect.
S at line 9 honetan, zutabea 1 errore bat dugu, esan bezala,
dela errore abisua eta bueltan mota abisua abiatuta esaten du.
Badirudi zerbait bezala itzulerako mota, zentzua duen.
Void funtzioa ez daukagu, eta horrek esan nahi ditudan funtzio bat eskuratu
ez itzultzeko void.
Void funtzioa bat itxura hau da:
void foo (), eta void da bueltan mota da void delako,
izan dugu, eta horrek esan nahi du zerbait hemen
bueltan 1 bezala, errore konpiladore bat lortu genuen.
Hala eta guztiz ere, ez-void funtzioa eduki dugu.
Gure kasu honetan, funtzio ez-void gure bilaketa-funtzioa
ditu boolearra mota itzulera bat delako.
Kontrola void funtzioa ez amaierara iristen da esaten,
bilatu ez duelako bueltan adierazpen bat da.
Ez da ezer mota boolearra itzuli.
>> Hori konpondu ahal izango dugu, eta zer guys uste
bilaketa lehenespenez itzuli behar?
Zer default bueltan bilaketa balioa izan behar du?
Hori da amaieran jarri ahal izango dugu delako.
Charlotte, ez duzu edozein?
Egia edo gezurra? >> Egia edo gezurra.
Zein?
False. Ez dakit.
False? Dezagun saiatuko da.
Zergatik bueltan faltsua esan duzu? Handia intuizioa.
[Charlotte] ez dakit.
Kasu honetan false itzuli gara, hau da gure default izango delako
arrazoiren batengatik zerrenda hutsik edo orratz bada
ez da existitzen bila ari garela.
Gero, amaieran, ez badugu ez itzultzeko benetako lehenago funtzio honetan,
ezagutzen dugu, beti funtzio hori Laguia, ez da array esango du.
Ez da haystack en.
Orain, konpilatu eta exekutatu-it hau gorde me tira ahal izateko sortu.
Orain konpilatzen dugu eta gure programa exekutatzen bada, eraikitzen.
Gure little gonbitean dugu.
Hit bada I 4-uh-oh.
Ez da inprimatzeko ezer. Guztia ongi amaitu itxura.
Lortu dugu hau bete.
Algoritmoaren gara pseudocode hitz egin duela pixka bat.
Utzidazu ikusi, gorde,
eta algoritmoa, tira dut atzera berriro.
Dezagun hit guy hau. Laguia.
Hor dago.
Nola egiten dugu hori?
Zer da off kode hau hasten estrategia ona izango litzateke?
Erdian zenbaki bat hautatu behar duzu.
Nola zenbaki bat array baten erdian jaso dugu?
Edozein iradokizun?
[Student] Strlen arabera banatzen da 2.
Strlen arabera banatzen da 2. Hori handi bat da.
Strlen array mota bereziak dituzten lanak.
Zer array mota?
String array, pertsonaia array.
Kontzeptua bera sort da aplikatu nahi dugu,
baina ezin dugu erabili strlen karaktere array bat izan dugu ez delako.
Ints array bat daukagu.
Baina, zer ez strlen Gurekin?
Zer lortzen Gurekin ezagutzen al duzu?
[Student] Strlen lortzen digu luzera.
Zehazki, gurekin luzera lortzen da.
Strlen Gurekin array luzera lortzen.
>> Nola lortuko dugu gure bitar bilaketa programa?
Nola array baten luzera duzu?
[Student] Strlen?
C bezala formateatu katea array luzera lor dezakezu strlen batera.
Arazoa, ordea, ez dugu kate array.
Kode hau atzera begiratzen dugu bada, zenbaki oso array hau dugu.
Nola zenbat denbora da ezagutzen al dugu?
[Student] Ba al dago endpoint ko baliokidea l int edo antzeko zerbait?
Ez dago benetan ez da out bihurtzen da, eta, beraz, modu batean, hau da,
bat C buruz jakin besterik ez da ona gauza horiek,
array baten luzera ez da horrela.
ematen dizut array bada.
Arrazoia lan egiten kateak, arrazoia strlen lanak,
kate bat bezala formateatuta bada delako,
amaieran oso berezia \ 0 karakterea izango da.
>> Ere egin dezakezu imajinatu duzu gaizki formateatutako Kate bat izanez gero,
eta ez dago \ 0 karakterea da bertan, orduan gauza osoa ez du lan.
[Student] Ezin \ 0 add duzu?
Kasu honetan, ezin izan dugu.
Nolabaiteko gehi izan dugu \ 0
edo pertsonaia signifying eta, ondoren, nolabaiteko hori erabili.
Baina hori ez da nahiko lanera joan
char mota bat \ 0 delako,
eta hemen dugu got ints.
Beste gauza ginen berezia balio bat erabili nahi izanez gero
-1 bezala array baten amaiera markatu
gero, ez ditu inoiz izan dugu gordetzeko -1 gure array osokoaren.
Dugu itsatsita egingo litzaidake.
Bihurtzen da modu bakarra luzera lortzeko
C array bat da, benetan gogoratu
ezarri nahi izanez gero, eta, ondoren, array batera pasatzeko inguruan
beraz, betiere, funtzio bat lan batzuk egin behar izan dut
osoko zenbakien edo karroza array bat edo bikoizten edo zer behar duzu,
Emateko funtzioa array luzera ere egin beharko dut,
eta hori da, zehatz-mehatz zer egin dugu hemen bilaketa-funtzioa.
Begiratzen baduzu, zer egin behar dugu gure array pasatzen dugu hemen,
luzera, tamaina ere gainditu dugu.
Gertatzen besterik ez da aldagai deitzen dugun hau hemen,
Parametro hau edo argumentua.
Deritzo funtzio bat argumentu zerrenda edo parametro zerrenda
eta horiek ere deitzen argumentuak edo parametroak.
Pertsonak ezberdinak erabiltzen termino garai desberdinetan.
Interchange batzuetan ditut neure burua.
Beraz, zerbait gertatzen da aldagai hau hemen, era berean, hori izendatutako
hau # define hemen.
Baina ez dira gauza bera.
Kapitalizazioa du materia.
>> Zer gertatzen den begiratuz gero hemen, deklaratzeko
gure int array, deitzen dugu zenbakiak.
Eman dugu gure tamaina, dagokion gure # define goialdean.
8 izango da.
Eta gero, deitu dugu gure bilaketa-funtzioa behera beheko
pasatzen zenbakia bilatu nahi dugu, galdetuko dugu,
Erabiltzaileak ahaztuak.
Array pasatzen dugu, zenbaki honetan,
eta, ondoren, array tamaina gainditu dugu,
eta gero, tamaina 8 balioa erabat gordetzen
edo hau zenbaki oso aldakorra izeneko tamaina gainditu.
Array tamaina ditugu.
Orain atzera egin dugu lehenago hitz egiten genuen,
Missy ekarri puntu zer egin behar dugu array-luzera dela uste dut
eta zatiketak 2, eta horrek emango digu erdiko puntua.
Ikus dezagun.
Can norbait idatzi hau eta bere espazioa gorde behar dut?
Nola Leila?
Ezin dut hau idatzi duzu?
Idatzi den aurreneko lerroan non array luzera hartu eta erdigunea lortzeko
gordetzeko eta aldagai berri bat.
Emango dizut segundo pare. Prest al zaude?
[Student inaudible]
Noski, ezin duzu I kalkulatzeko erdigunea
bilaketa-funtzioa barruan array haystack
haystack array luzera erabiliz, tamaina aldagaia da?
Nothing delikatua hemen.
[Leila] Just tamaina / 2 eta just-
Eta gorde, eta gorde botoia sakatu hemen goialdean,
eta tira dugu.
Perfect.
Bertan dugu. Awesome.
>> Denez, hau konpilatu?
[Leila] Ez, handiagoa izan behar du.
[Nate] Bai, eta, beraz, zer egin behar dugu?
[Leila] Atsegin dut int erdigunea edo zerbait.
Awesome. Bai, utzi egin, int erdigunea = tamaina.
Hau izango du konpilatu?
Dezagun iruzkin hau ezabatu eta get out bidea.
Zer egingo ez konpilatu honi buruz?
Ez dugu ezer egin osokoa,
beraz, edo horrelako zerbait inprimatu behar dugu.
Bai, hain zuzen.
Unused-aldagai bat lortu dugu.
Zer gehiago dago honi buruz ez lanera joan?
Zerbait, Sam esan duzu uste dut. Puntu.
Bai, puntu horiek dut falta da.
Epe ikasturte osoan zehar gauza konstante bat izango da.
Azken gauza egin dut espazio zuri bat jarri dut bi aldeetan
operadorea hau hemen, hori da normalean nola egiten dugun geroztik
gure estilo-gida arabera.
Lortu dugu gure array erdigunea.
Orain gogoratzen dugu berriro gure algoritmoa
erdigunea dugu behin egin izan dugun bigarren urratsa izan zen?
[Student] bada handiagoa [inaudible].
Bai, eta, beraz, konparatzeko moduko bat egin behar dugu, eta zer dira alderatuz dugu hemen?
Bada baino handiagoa esan duzu. Zer da erreferentzia esaldi hori?
Datorren, erdigunea baino handiagoa bada, eta, ondoren, igo array?
Zehazki, eta, beraz, kopurua datorren dugu
Orratza, eta, beraz, Orratza ari gara alderatuz,
eta zer dira alderatuz orratz aurka?
Orratza da zer bilatzen ari gara delako.
Ari gara alderatuz erdiko puntua lortu.
>> Baina ez du zentzurik ikus egiaztatu
orratz = erdigunea bada?
Ez duela zentzurik?
Ba al da inor ados?
Dezagun ematen saiatu, bada (orratz == erdigunea).
[Student] printf Ez da aurkitu duzu.
[Nate] printf ("aurkitu dugu \ n");
Bestela-I'm zerbait desberdina egiten hasteko.
Adierazpenak bada inguruan denbora guztian kortxeteak jarriz hasteko noa
besterik ez delako gehiago stuff, gero, gehitu dugu
ez gara Konpilatzaileak.
Bai, Sam. Puntu bat lortu duzu.
Arazoa da erdigunea array posizioa adierazten du,
baina array posizio horretan balioa adierazteko dezakezu.
Hori puntu bat da.
Ba al denek entzuten zer Sam esan?
Erdigunea dela esan zuen
array posizio bat adierazten du, baina ez da benetako array elementu.
Kodea idatzi bezala uste baduzu, oraintxe bertan,
array honetan begiratuz gero hemen, 8 elementu ditu.
zer erdigunea funtzio hau izango da balioa da?
[Student] 4.
[Nate] 4.
Kopurua 4 begiratuz gero -
eta bakarrik egin ahal dugu exekutatu kode hau eta apur bat triste aurpegia jarri hemen
aurkitu genuen ez delako-kode hau exekutatzen
da, oraintxe bertan, igotzen, eraikina, utzi behera joan me,
eta 4. kopurua kontuan hartuz gero,
aurkitu dugu, baina ez dugu hori lortzeko printf bai.
Arrazoi bat da, baina ez dugu itzultzeko egia,
baina benetan aurkituko dugu, 4 zenbakia?
Eta Sam ez da esaten.
Zer egin dugu?
Erdigunea, array begiratuz gero hemen benetan aurkitu dugu,
elementu izan da indizea 4 begiratzen ari gara,
den 23.
>> Nola lortu dugu elementu hori puntu baten bitartez
eta ez bakarrik erdigunea bera?
[Student] sartu char edo zerbait?
Zer izango litzateke hori egiten, besterik gabe, jakin-mina?
Ezin apur bat gehiago landu duzu?
Posizioa eraldatu zenbakia sartu behar duzu,
beraz, egin duzun got batzuk konexio-I char uste, baina agian ez da izan.
Bai, hori puntu bat ona da.
Dugu hau bihurtzeko posizioak asko egiten karakteretan, pertsonaia horiek,
lehen bi arazo multzo.
Bihurtzen da hemen, hau da, ia-ia antzekoa
pertsonaia Ith sartzeko, kate baten barruan zentzua badu.
Here erdigunea elementu sartu nahi dugu.
Nola egiten dugu hori?
Kevin, ez nola egiten dugu agian Edozein iradokizun duzu?
Haystack egin izan duzu, bracket bracket, erdialdean, itxita.
Ezin hori idatzi duzu gurekin?
Gorde hemen, eta sortu duten tira dugu.
Lerro hau 9 bilatzen ari gara,
eta nahi ez dugun, erdigunea, orratz konparatzeko ari gara konturatu,
baina horren ordez, orratz alderatu nahi dugu
to elementua posizio gure haystack array barruan erdigunea.
Cool.
Bertan dugu.
Bai, hori itxura nahiko ona da, (orratz == haystack [erdigunea]) bada.
Aurkitu dugu.
Orain exekutatu kodea we'll atzera apur bat bit-sortu
bidez, biltzen ditu, eta gaur egun 4 begiratuz gero,
ez dugu aurkitu orain benetan ari garelako kopurua 23 lortzeko.
Balioa ari gara 23, eta hori da, zer egiten ari gara gure orratz alderatuz.
Baina hori ona da. Eskubidea norabidean urrats bat da.
>> Hau da, zer egiten saiatzen ari gara.
Ez orratz konparatzeko array posizioak aurka saiatzen ari gara
baizik array benetako elementu aurka.
Atzera begiratzen dugu berriro gure algoritmoa hurrengo urratsa,
Hurrengo urratsa zer da?
Leila dagoeneko aipatu da, labur-labur.
[Student] Egiaztatu da baino handiagoa edo baino gutxiago bada, eta, ondoren, erabakiko du zein modu mugitu ikusteko.
[Nate] Bai, beraz, nola egiten dugu hori?
-I'll batzuk jarri ahal gorde berrikuspena,
eta, ondoren, lerro batzuk Horretarako jarri bada.
Bai, Charlotte. >> Galdera bat daukat.
Ez luke erdigunea izango da 1 - Lehenik eta behin, delako
0 indexatuta, hala badagokio 4 jarri genituen, hori ez da benetan, pertsonaia bilatzen ari gara?
Bai, eta beste arazo bat da-
harrapaketa bat da, zer da ziurrenik amaitzeko gertatzen ari delako joan
mantendu dugu mugitzen bada, eta ez dugu inoiz egokitzeko hasiera batean?
Zer amaituko dugu agian egiten uste dut sartzeko saiatzen ari da
array 8an posizioan elementu,
kasu honetan, ez da existitzen.
Izan ere, kontabilitate moduko bat egin nahi dugu
zero indexatzeko batzuk ditugu.
[Charlotte] Sentitzen dut, erdigunea esan nahi du I - 1 plaza parentesi artean.
Egin dezakegu.
Gai honetan pixka bat itzuli dugu.
Behin benetako begizta hasten gara,
hori benetan ikusiko dugu jokoan sartzen dira.
Oraingoz, hau egin ahal izango dugu, baina erabat eskuineko Oraindik duzu.
Zero indexatzeko That bat behar dugula kontuan eragina izan du.
Ikus dezagun.
>> Nola dago baino handiagoa eta gutxiago baino?
[Student] nola baino handiagoa eta zati bat baino gutxiago egin dut.
Dut ez ziur zer aurkituko dituzu dela haystack erdigunea baino txikiagoa edo baino handiagoa bada, inprimatu.
Hemen gorde ahal izango dut zer I've-
[Nate] Bai, gorde baduzu, zer lortu duzun, eta tira dugu.
Bertan dugu.
[Student] Eta galdera ikurrak jarri dut zer ez nekien.
[Nate] looks great.
Hemen lortu dugu, oraindik ere, galdera ikurrak ez baitu ez daki
zer nahiko egin gabe goaz.
Zer izango litzateke do-trabatzen, giltza batzuk gurekin funky guztiak lortu dugu nahi dugu.
Giltza horiek zuzendu dugu.
Bertan dugu.
Eta beraz, zer egin nahi dugu, gure algoritmoaren arabera,
aurkitu orratz ez badugu?
Kasuan Esan Orratza baino gutxiago da zer bilatzen ari gara. Kevin.
Ezkerreko erdia bakarrik begiratu.
Eskuin, eta, beraz, hemen comment dioen jarri dugu "erdiak ezker begiratu".
Eta orratz da erdigunea, haystack baino handiagoa baldin bada, zer egin nahi dugu?
[Student] Ondoren, begiratu eskuineko erdia.
Eskuineko erdia Begira, "erdia eskuinera begiratu".
Not too shabby.
Ongi da, eta, beraz, puntu honetan, gauzak ez dira nahiko ona bila.
Kodea idatzi bezala arazoa, zer da?
[Student] ez duzu halves kodea endpoints.
Eskuin, ez dugu halves kodea endpoints.
Ere ari gara hau behin bidez bakarrik joango.
Bakarrik erdigunea bat begiratzen ari gara.
Edo elementu dago, edo ez da.
Helburu hori osatzeko, nolabaiteko errepikapena egin behar dugu.
Aurkitu arte errepikatuz mantendu behar dugu
bai elementu hor dugu narrowed delako behera, eta, azkenik, aurkitu,
edo ez dugu gauza guztietan barrena delako begiratu
array dagokion halves, eta ezer ez da.
>> Bakoitzean got dugu errepikapen hau gertatzen da, zer erabiltzen dugu?
[Student] loop.
Begizta moduko batzuk. Bai.
[Student] do bitartean begizta bat egiten dugu eta egin eta orduan, berriz,
orratz ez berdina-I'm ziur ez duten izan dut.
Baina mota bezala ez du balio berdina erabiltzailearen sarrera egin.
Bai, eta, beraz, dezagun ikus, nola liteke hau idaztea bera?
Dezagun do bitartean-loop bat erabili esan duzu.
Non egin Irteeran?
Eskuin tamaina / 2 ondoren [Student].
[Nate] Ongi da, eta zer egiten dugu?
Geroago, berriz, bete dugu.
Zer egin dugu?
[Student] Ez stuff guztiak egin nahi dugu behar izanez gero, zati dugun?
[Nate] Do stuff hori guztia, handia.
Kopiatu eta itsatsi.
Oh, man.
Ikus dezagun obra hori izanez gero, fitxa baino gehiago honen badugu.
Beautiful.
Ados, eta hau gorde dugu you guys dute, beraz.
Guztiak eskubidea, eta hau egiteko dugun bitartean
zer izan zen ondoren, berriz, egoera zinen?
[Student] orratz berdinak ez izan arren, eta, beraz,, harridura puntu bezala.
Baina ez nago ziur zehazki zer dela oraindik.
[Nate] Bai, hau da, modu batean egin da.
Sam, iruzkin bat izan al duzu?
[Sam] begiratu bideoetan dut gogoratzen dut,
Screenshot-atsegin bat hartu nuen pseudocode egin dugu,
max arteko harremana eta min batzuk.
Max min inoiz baino gutxiago bada, antzeko zerbait izan dela uste dut.
Got du.
[Sam] Edo gustatzen max ez bada min edo horrelako zerbait baino gutxiago,
bilatuko duzula dena esan nahi lukeelako.
>> Bai, eta, beraz, zer soinu max eta min ziren erreferentzia bezala?
[Sam] Balioak, zenbaki osoen aldatu behar diren
erlatiboa erdigunea jarri genituen.
Hain zuzen ere.
[Sam] Une horretan, [inaudible] kalkulatzeko max eta min. Da joan
Erdigunea max eta min ideia da.
Ez duela zentzurik folks?
Iterazio hau nola egin behar dugu begira ginen hasteko bada,
erabat eskuineko Oraindik egin bitartean-begizta moduko batzuk erabili nahi dugu.
Baina uste dut gogoratzen dugu zer ari den gertatzen array honen Leku bada
eta zer da benetan gertatzen ari dena-I'm idazteko gertatzen da hemen-
bilaketa bitarraren iterazio lehen, dugu
B eta e hasieratik adierazteko erabili dut.
Eta gero, gure array amaieran.
Hasieran 4 eskubidea da hemen baino gehiago ezagutzen dugu,
eta, azkenean, 108 at dakigu.
Esan 15 zenbakia bilatzen ari gara.
Lehen aldiz hau egiten dugu, lehenago ikusi dugun bezala,
erdigunea da bai 16 edo 23 izango
gauzak nola kalkulatu dugu arabera.
Berdinarekin erdian zatituko luke digu espazio honetan
16 eta 23 urteen artean, ezin dugu berdinarekin zatitzea da
edo zatitzea eta benetako erdigunea.
16 bilatuko dugu.
Konturatzen gara "Hey, 16> 15 bila ari gara."
Ondoren array ezker erdia begiratu
zer amaituko dugu egiten baztertu egingo da
goiko zati osoa
eta, esaten: "Ongi da, orain gure endpoint hemen izango da."
Gure begizta hurrengo iterazio, orain ari gara array hau begira,
eraginkortasunez baztertzea, ondoren zati hau orain delako
ari gara erdigunea bada hasieran eta amaieran arteko aldea izango da,
aurkituko dugu gure erdigunea 8,
ahal izango dugu, orduan probatzeko 8, non da bilatzen ari gara zenbakia aldean ikusteko,
15, 15 handiagoa da,
beraz zerrendaren zati eskuineko mugitu behar dugu,
gara gizakiak delako ezagutzen dugu, eta ikusi ahal izango dugu.
Eskuineko zatia izango da, non aurkituko dugu ezagutzen dugu,
baina ordenagailuan ez dakit, beraz, zer egin dugu benetan dizkizugu
dute, hau igo, eta, orain, hasieran eta amaieran
berdinak dira Leku, erdigunea zerrendako puntu hartan bakarra bihurtzen da, beraz,
eta 15 da, eta aurkitu dugu.
Ez duela argi batzuk non max honetan guztian eta min notazioa va ederki
array endpoints pista mantentzeko izarrekin irudikatu
gauzak nola mugatu behera?
>> Zer da hau? Ez ziren bada 15 berdina gertatuko litzateke?
Zer ginen, 15 eta, horren ordez bila bazabiltza, zenbaki hau ere 16?
Esango genuke, "Oh, handiagoa da.
Atzera joan ezkerrera nahi dugu. "
Eta gure e mugitu genuke eskubidea,
puntua endpoint gatazkatsuak izango litzateke dugu.
Elementu gehiago bilatzeko gai ez litzateke
orain, gure endpoint eta gure hasieran puntua izan dugulako,
gure max eta gure min, gaur egun iraulita.
Array bidez osoa bilatu dugu. Ezin dugu ezer aurkitu.
Hau da, nahi genuke, esan "Okay, algoritmo hau gelditzeko goaz.
Ez dugu ezer aurkitu. Ez da hemen ezagutzen dugu. "
Nola da hau?
[Student] Nola zehazki ordenagailua ez aldatzeko amaiera al da?
Nola amaieran hasi aurretik?
Amaiera da eta ondorioz hasieran aurretik
math ari gara hau egiten dugu aldi bakoitzean egin behar delako.
Swap dugu Oso lehen aldiz begiratzen baduzu, swap hau egiten dugu
4 hasieran eta amaieran dugu
108 at eta gure erdigunea behera modu guztiak, adibidez, 16 urterekin
Atzera berrezartzeko noa 15-15 bilatzen ari gara,
zer esan genuen 16 checked dugu bazekien dugu, eta ikusi zela handiagoa
eta zerrendaren eskuineko zati osoa baztertu nahi,
zer egin nahi izan dugu, e hau mugitzeko eskubidea hemen ikusi genuen.
Eraginkorrean, e got erdigunea aurretik eraman.
Era berean, algoritmoaren iterazio honetan egin dugu
eta erdigunea 8 izan zen,
8 <15 dela, eta, beraz, b eraman nahi izan dugu, aurkitu genuen
erdigunea eta gola.
Orain, hasiera eta amaiera dira, bai eta honen 15.
>> Genuke izan bada gertatzen da, beste balio batzuk, ez 15 bilatzeko
edo 15 izan ordez bada 16 izan da,
e bat mugitu nahi dugu, erdigunea aurretik aurkitu genuke.
Orain e iraulitako b baino gutxiago izango litzateke.
Dezagun nola amaituko dugu algoritmoa hau kodeketa ibiltzeko.
Erdigunea kalkulu hau izan nahi dugun jakin dugu.
Jakin badakigu, halaber, nahi dugun array hasieran eta amaieran jarraipena
gure array uneko irudikatu ahal izango dugu
non ezkerreko zerrendaren erdia hau da, eta non zerrendan eskuineko erdia da.
Egiten dugu, bai, hasi eta bukatu,
edo deitu ditu min eta max ahal izango dugu.
Hasiko da eta amaitzeko denbora hau erabili dut.
Dugunean hasten bada, atzera begiratu dugu gure Adibidez hemen,
gure hasieran array hasieran ezarri zen, natural gisa.
Zer indize hori? Zer egin behar gure hasiko dira?
Daniel.
[Daniel] Haystack [0].
[Nate] Bai, beraz, ezarri ahal izango dugu haystack berdintasuna [0].
Arazoa, ordea, ez da hori ematen digu ez da lehen elementu posizioa.
Ematen digu, lehen elementu edo benetako balioa lehen posizioan indizea.
[Student] That .20 bihurtzeko?
[Nate] Zer da hau egingo da-ondo, ez du egin bihurtzeko edozein.
Zer egingo da hasten diren 4 bat gordeko da,
eta, ondoren, gogorra izan da konparazioak egiten hasteko aurka izango da
begin antolatuko baitu balioa 4,
gure array hasten da,
matrizearen indize jarraitzeko nahi dugu
balioak ez bezala.
Actually, 0 bat erabili dugu, horrela.
Array-Charlotte amaiera ekarri hau pixka bat lehenago sortu.
Hau da, non, kontuan hartu dugu zero indexatzeko.
>> Charlotte, array-amaieran zer?
Zer da amaiera indizea?
[Charlotte] Size - 1.
Bai, eta horrek tamaina erabili behar dugu?
Kapitalaren tamaina edo minuskulaz tamaina erabili dugu?
Kapital-tamaina.
Kasu honetan, kapital-tamaina erabili izan dugu.
Nahi izan dugu, funtzio hau eramangarriak izan nahi baduzu
eta programak beste funtzio hau erabili,
benetan erabili ahal izango dugu minuskulaz tamaina.
Fina da ere.
Baina Charlotte erabat eskuineko tamaina nahi dugun - 1.
Puntu honetan
[Student] Nola da, maiuskulaz tamaina erabili ahal izango duzu?
Nola da, maiuskulaz tamaina erabil daiteke?
Bihurtzen da horiek # definitzen dira benetan,
kanpaia azpian, testu bat bezala eta ordezkatu, zentzua badu.
Zure kodea konpilatu duzu, preprocessing fasean
Konpilatzailearen fitxategia pasatzen
eta badirudi nonahi hiriburua tamaina idatzi duzula,
eta testu hori ordezkatzen du, hitzez hitz, 8, besterik gabe.
Zentzu horretan, hau da, aldagai bat oso ezberdina.
Ez du hartzen memoria edozein espazioa.
Testu ordezko trikimailu sinple bat da.
Kasu honetan, tamaina erabili dugu.
Hemendik nahi errepikapenaren sort batzuk egin ahal izateko, ez dugu
Oraindik eskuineko pista dugu, gure do-bitartean loop.
Zerbait egin nahi dugu, baldintza bat gehiago ez arte eutsi sakatuta
eta, ikusi dugun bezala, ikusi dugu egoera hori, eta
izan zen, hain zuzen ere, azkenean ez dugu nahi
baino gutxiago hasiko da.
>> Hau da gure gelditu baldintza da.
Hori gertatzen bada, eta gelditu bezala, aldarrikatu nahi dugu "Hey, ez dugu ezer aurkitu."
Hori adierazteko, nahi ez dugu begizta moduko batzuk erabiltzeko.
Kasu honetan, berriz, loop do-a izango da, loop, berriz, begizta bat?
Do bitartean begizta bat daukagu ​​hemen.
Do you hurbilketa bezala guys?
Saiatu beharko dugu beste ikuspegi bat dela uste duzu?
Kevin, pentsamenduak edozein?
Gehienez delako ezagutzen dugun bitartean begizta bat izan dugu
Irteeran Mediaz min baino handiagoa izango litzateke.
Bai, Hasieratzea gertatuko ez dela behar, beraz.
Do-bitartean loops handiak hauek dira zerbait hasieratu behar duzu
ondoren, probatzen, hemen, berriz, aurretik
ari garen ez biak, hasiko da eta amaitzeko reinitializing mantentzeko badakigu
Begizta txanda bakoitzean.
Hasieratu nahi dugun jakin dugu, ondoren, egiaztatu gure egoera.
Kasu honetan, egia esan dut, berriz, simple loop joan.
Bihurtzen da egin bitartean loops nahiko gutxitan erabiltzen dira.
Leku asko ez, nahiz eta irakasteko ez loops bitartean.
Erabiltzailearen sarrera lantzeko onak dira, beraz, horietako asko ikusi dugu, beraz, oso urrun.
Baina normal eta begiztak dira asko eta ohikoagoa den bitartean.
Bihurtzen da egoera hori idatzizko
ez du benetan egiten digu askoz ere onak, eta zergatik da hori?
Sentitzen dut, ez dakit zure izena.
Jerry naiz. >> Sentitzen dut?
B-O-R-U-I da.
Oh, ados.
Ez dut ikusten duzu nire zerrendan.
Oh,-delako oh, zentzua da.
Zergatik ez du funtzionatuko, berriz, begizta honen xedea, gisa ideia bat duzu,
baldintza idatzia?
[Jerry] esan nahi duzu nahi duzun ondoren stuff guztiak bezala sartu-?
Bai, horrela da.
Stuff hau guztia jarri bitartean loop, hau da, erabat egia izan liteke.
Beste gauza da, apur bat gehiago problematikoa, ordea, egoera hori ez du funtzionatzen.
[Student] irauli behar duzu.
Eskuin, eta, beraz, egoera hau ez da inoiz egia hasieran hitz egin dugu.
Zerbait egin nahi dugu amaiera <arte hasiko,
baina zerbait bitartean egin nahi dugu
hasiko ≤ amaiera.
>> Itzulketa hori logika ez dago.
Akats horiek egiten denbora guztian errudun naiz.
[Student] Zergatik ez baino txikiagoa edo berdina izan behar da?
Gogoratzen delako kasuan lortu dugun
han elementu bakarra izan zen, eta behera izan genuen,
eta gure array 15 ziren bilatzen dugu?
Eta gure hasiera-hasieratik, eta gure amaiera bera elementu ziren.
Kudeatzeko dugun Kasu horretan ziurtatu nahi dugu.
Genuen zuzen bat baino txikiagoa bada,
behera lortzeko 2-elementu array bat bakarrik ahal izango genuke.
Behin jaitsi ginen azken elementu hori, izan ziren gure elementu bada, ez genuke inoiz aurkitu.
Orain hemen, zehatz-mehatz egin dezakegu ziren esanez bezala.
Stuff plopping gure bitartean loop erdian sartu ahal izango dugu.
Gure erdigunea plop dugu.
Guztiak hartu ahal izango ditugu, horien adierazpen bada,
tira itzazu do bitartean-begizta hau,
plop ellos,
garbitu, gauzak pixka bat sortu
eta aurrera egingo dut eta gorde berrikuspena.
Eta puntu honetan, nahiko hurbil ari gara.
Sam.
1/2 - Era berean, int = tamaina erdigunea izan dela uste dut.
Got, tamaina - 1/2.
Ba al dago beste ezer Ildo horri buruzko aldatu behar dugu?
Harrapaketa bat ona izan zen.
>> Zer esan nahi du tamaina egin? Are tamaina dugu inoiz aldatzen?
Ordena hau atsegin line mantentzeko, tamaina aldatu behar dugu.
Tamaina aldatzeko eta aldi bakoitzean inguruan dugu begizta ditugu.
Baina gogoratu gure adibide baten bitartez ginen pixka bat lehenago joan,
eta hasiera-hasieratik izan genuen 4
eta amaieran 108 at baino gehiago modu guztiak?
Nolatan erdigunea kalkulatzeko dugu?
Ziren tamaina erabiltzen dugu?
Edo hasten ginen, eta amaitzeko ordez erabiliz?
Amaieran eta hasieran arteko aldea da.
Zehazki, eta zer behar duten idazten dut, Charlotte?
Just amaitzeko hasiko da.
Ez duzu behar egin - 1
delako - 1 izan da, azkenean, eta hasteko dagoeneko.
[Nate] Great, erabat eskuineko zara.
Ez dugu egin - 1 delako - 1 dira
eta amaiera aldagaia hasieratu dugu.
>> Ba al dago beste ezer line zentzurik izan sintaktikoki egin behar dut?
[Student] Plus hasiko da. >> Plus hasteko?
[Student] amaieran.
Bakarrik kalkulatzen luzera erdia.
Hasteko gehitu behar duzu.
[Nate] Zer izango litzateke Gurekin kalkulatzeko?
Amaiera dugu uste baduzu begizta-iterazio lehen,
amaiera indizea 7 posizioa izango da.
Hasi posizioa 0 da.
Gogoratu, bai bilatzen ari gara
posizioa 3 edo posizioa 4.
Math hau begiratzen badiogu, besterik gabe, apur bat gehiagotan ukigarria egiteko,
jarri zenbaki batzuk hemen, 7, 0 dugu,
beraz, 7 - 0, eta, ondoren, / 2
3, hau da, zatiketa zenbaki oso.
Gero, ondoren, berriro gure hasiko behar dugu?
Kasu honetan ez dugu.
Oso iterazio lehen, ondo egongo litzateke hasiko da 0 delako.
Baina dugu aurrerapen gisa, benetan egiten dugun guztiak nahikoa
- amaiera hasiko / 2.
Ez dago beste trikimailu bat da, eta hori da, hain zuzen ere, lehentasuna bat.
[Student] parentesi behar dugu?
[Nate] Zehazki, eta hori ez dugulako jarri parentesi horiek,
ondoren lerro hau interpretatu ordez egingo da
(amaiera) - (hasteko / 2), eta ez behin betiko ez dugu nahi.
Watch lehentasuna arau hauekin.
[Student] Zergatik ez da + amaitzeko hastea?
Zergatik ez da + amaitzeko hastea?
[Student] Zergatik da, ezta?
Zergatik + izango da?
Eskubidea zaudela uste dut.
[Student] delako batez besteko?
[Nate] End + Hasteko, erabat eskuineko zara.
Wow, erabat goofed dut. Arrazoi duzu.
Ken ginen egiten ari bada, nahi hasteko sartu gehitu nahi dugu
Kasu honetan, oso eskuineko Oraindik bi batez hartu nahi dugu,
beraz, nahi ditugu, aurrean bezala kendu.
[Student] litzateke ere lan egin zenuen amaiera - hasiko / 2 + hasteko.
Do-I badugu uste, beraz, ez litzateke izango.
>> Esate baterako, bila hasten bada,
eta aldatu dugu baino gehiago hemen
15.
Posizioa 2 orain hasiko da.
Amaiera posizioa 7 da.
Kentzen dugu gero, lortuko dugu 5.
Zatiketa 2, 2 lortuko dugu.
Eta gero 2 gehitu dugu berriro,
eta lortzen dituen 4 posizio
hau da, hemen, zein da erdigunea.
[Student] Ez Dokumentua zaindu behar dugu?
Zein zentzu ez itzulbiratzeko-zaindu behar dugu?
Batura edo arteko desberdintasuna bada
nola egiten dugun arabera hori ez da zenbaki bat.
Ondoren, ordenagailua erabat nahastu denean 2,5 da ala ez;
ez mugitu ezkerrera edo eskuinera erdigunea da zehazteko duzu?
Got du.
Bihurtzen da zatiketa osokoaren
ez dugu inoiz koma mugikorreko zenbaki horiek.
Inoiz ez dugu hamartar lortzeko.
Da erabat baztertu egingo da.
Ordenagailu bat behar duzu zatitzen bi aldagaiak int bada,
eta 7 bat da, eta beste 2,
ez duzu 3.5 baten ondorioz.
3 izango da.
Gainerakoa baztertu egingo da, eta, beraz, modu eraginkorrean da biribiltze-
txanda bat ez, baizik eta zoru, you guys ezagutzen badira math dela,
non erabat baztertu hamartarra,
eta, beraz, funtsean zaren da truncating hurbilen
posizioa osoan, dagoen zenbaki osoa.
[Student] Baina orduan dela problematikoa bada, 7 elementu array bat duzulako
Orduan, 3 elementu automatikoki hartzen ordez 4 erdigunea.
Nola aurre egin duten?
Problematikoa izan genuen 7 array bat delako,
ordez 4tik 3 hautatu litzateke.
Ezin izan apur bat gehiago azaldu duzu?
[Student] delako 7 elementu gero, 4 elementu
erdigunea izango litzateke, ezta?
Gogoratu zure iruzkina zero indexatzen ari da, nahiz eta.
[Student] Bai, eta, beraz, posizioa 3. Hori erdigunea izango litzateke.
Bai.
Oh, ados. Ikusten dut, zer esan nahi duzu.
Bitxi mota da lortu dugun bezala, honetan guztian nozioa erabiltzen
hamarren deusezten.
Hori puntu bat da.
Dezagun amaitzeko, hau.
Kalkulatzen dugu gure erdigunea.
>> Gure orratz erdiko balioa berdina bada probatzen ari gara.
Aurkitu dugun inprimatzeko ari gara, baina, benetan, zer egin nahi dugu egoera hau?
Aurkitu dugu, beraz, deitzaileari ezagutzen aurkitu dugun utzi nahi dugu.
Idatzitako funtzio boolear bat da funtzio bat lortu dugu.
Seinalea gure funtzio deitzailearen ari gara prest joan
da, esaten dugu "Hey, hau ez da egia."
Nola egiten dugu, Kevin?
Zure burua ari zara nodding. >> [Kevin] Gehitu bueltan egia.
[Nate] Zehazki, itzultzeko egia.
Orain ez bada, ez da berdina, nola begiratu ezkerreko erdia dugu?
Ideia bat?
Stella, edozein ideia?
, Amaiera posizioa berri bat ezarri behar duzu.
Bai.
Amaiera - Beraz, erdigunea posizioa egin behar dugu.
Great.
Berri bat ezarri behar dugu, amaieran
ezkerreko erdia begiratu.
Hau izan zen, zertaz hitz egin dugu, non aurretik
Adibide honetan mantendu dut.
Dut hasteko hemen, eta, ondoren, amaieran izan dut hemen modu guztiak.
>> Berriz ere, ari gara 15 bila bazabiltza, eta gure erdigunea 16 da,
eta, konturatzen gara "Oops, 16 eta handiagoa da.
Ezkerreko erdia eraman nahi dugu. "
15 amaiera mugitu nahi dugu, orduan,
eta bat hartuz doa erdiko puntua egiten dugu
eta hori gure amaiera berriak ezartzeko.
Era berean, eskuineko erdia begiratu nahi dugu, nola egiten dugu hori?
Ideia bat izan al duzu?
[Student] ezarri besterik ez duzu hasteko + 1 erdigunea.
[Nate] Great.
Eta orain, kasu honetan, ez dugula da aurkitu ezer egin,
ez, hori lortzeko tratua Gurekin?
Daniel, ez duela get tratua Gurekin?
[Daniel] N º
[Nate] egiten badugu array osoa bidez, eta ez dugu ezer aurkitu,
non zela tratua, edo behar den zaindu dugu?
[Daniel] bitartean.
[Nate] Bai, bitartean, hain zuzen.
Array bidez osoa joan arduratuko da ezer aurkitu ez badugu.
Bitartean begizta hau amaituko da.
Ez dugu aurkitu da baldintza hori,
eta itzuli faltsua ahal izango dugu.
Hau ere utzi ahal izango ditugu, hemen hau atsegin dute
izanez gero, bada, adierazpen, egia da,
eta gure funtzioa itzultzeko,
eta, beraz, bertan behera utzi, funtsean dizkizugu puntu honetan funtzio hau
egia itzuliko gara.
Baina zer gertatzen da egitura hau hemen?
Hau izango du lan, oso-osorik, edo ez dago hor flaw logikoa batzuk?
>> Logikoa zenbait akats hor da, bidea sortu.
Zer egin dezake?
[Student] Zergatik behar duzu - eta + 1s?
Hori da gure helburua gure berri ezkerreko erdia eta eskuineko erdia izango array.
[Student] Baina zergatik ezin izan du egin gabe - 1s eta + 1s?
[Nate] ezarri ahal izango ditugu, eta erdigunea berdinak?
Zein da horri buruz problematikoa izan daiteke?
[Student] eraginkorra da ari zaren balio bat dagoeneko egiaztatu delako egiaztapena uste dut.
[Nate] Zehazki, eta, beraz, Sam erabat eskubidea da.
Amaieran bada, eta hasiko da eta erdigunea berdinak
ordez - 1 + 1 erreflexiboki
etorkizuneko uneren batean amaituko dugu erdigunea berriro markatuz.
[Student] pset hasi nintzen, eta, ondoren, horrelako zerbait izan nuen
non ahaztu I + 1, eta got begizta infinitu itsatsita.
Eskuin, uneren delako inoiz ez zaren hasteko eta amaitzeko
benetan bata bestearen gainean.
Cool.
Bat gehiago flaw logikoa da, eta hori da hori behin betiko izan behar
bestela, bat bada.
Zergatik izan liteke hori?
>> Arrazoia da, ez bada, bestela, bat-ez bada, Kevin ikusten duzu?
[Kevin] Bai, azken puntua aldatzen ari duzulako.
[Nate] Zehazki.
Endpoint aldatzen ari gara,
eta-we'll hau atsegin dute idatzita egin espazio-arteko
Kasu honetan egiaztatu egingo du.
Kasu honetan, arrakastatsua izan bada, abortatu egingo da funtzioa.
Ondoren, hurrengo kasu honetan egiaztatu du,
eta hau arrakastasua bada, endpoint egokitu egingo da,
eta, ondoren, jarraitu egingo du, eta kasu honetan egiaztatu.
Baina puntu honetan, ez dugu nahi jarraitu egiaztapena da.
Zorionez, ez dugu berrezarri erdigunea hemen,
eta kasu honetan ez du arrakasta ezagutzen dugu.
Baina beste jarri nahi dugu behin betiko ez bada,
nahiz eta, agian kasu honetan
ari gara, ez baita erdigunea egokituz gero, egiten duten diferentzia?
No, kasu horietan esklusiboa direlako.
Berriz ere, nire txarra.
Ez dugu, uste dut, bestela, behar izanez gero.
Ematen saiatu eta exekutatu eta zer gertatzen den ikusi ahal izango dugu.
Eraikuntza, akats bat gertatu da.
Izango da seguru asko utzi nuen hauek b eta e delako hemen.
Sortu duten edozein daukat goialdean?
Ez du itxura.
Txikiagotzeko dugu, eraiki,
ez doa, beraz, gaur egun 15 gara bilatu izanez gero,
bai.
Demagun sartu urruntzeko me
15, bai. Exekutatu ahal izango dugu berriro.
Iturburu-kodea kargatzen, eraikitzen ari.
Zerbait bilatu ahal izango ditugu, 13 bezala,
Gurekin dela, eta ez gara ezer inprimatzeko, eta, beraz, ez da aurkitzeko.
Hori da, ez delako gure zerrendan.
>> Denboraz kanpo gara.
Hori izango da aste honetan.
Eskerrik asko, sartu eta ikusiko duzu beranduago.
>> [CS50.TV]