>> JASON Hirschhorn: Ongi etorri astean hiru, denek.
Lanpetuta, baina zirraragarria izan dugu atalean gurekin aurretik.
Beraz, lehenik eta behin, batzuk dugu egin dute delako ikastaroa aurrera baina oraindik dugu
dute ikaskuntza asko utzi egin, naiz you guys erakusteko baliabide batzuk joan
duten gustokoa izan frogatu beharko duzu ez bakarrik hurbiltzen lagungarria gisa zure
arazoa ezartzen du, baina, aldi berean batera bilduma guztia materiala you guys eman dugu
hitzaldiak eta film labur eta atala.
>> Ondoren gaude lehen 20 pasatzera joan 25 atal pasa minutu
GDB, eta zuk daiteke edo ez izan puntu honetan erabili, baina bat da
oso lagungarria izango duten tresna zure programak arazteko dituzu laguntzeko.
Duzu asko printf erabili zenuen horretan Zure programa erdian irudikatu
aldagai bat zer berdindu daudelarik.
GDB are printf baino hobea eta ez hondatzeko zure kodea duzulako
exekutatu fitxategi exekutagarria da.
Beraz, 10 lagungarria da joan beharko dugu GDB behar dituzun komando eta gara
elkarrekin, beraz, ariketa bat joango Arazoa hiru eta haratago ezarri, zuk
GDB erabil dezake arazketa laguntzeko zure programak.
Eta, azkenik, goaz errepasatuko joan ordenatzeko eta algoritmoak bilatzen
hitzaldia ikusi duzula, eta gaude joan den benetan kodea, eta ez bakarrik
pseudocode, baina kode bitarra bilatu, burbuila ordenatu, eta aukeraketa sort.
>> Beraz, lehenik eta behin, joan nahi dut baliabideen gainetik.
Hau zerrenda zabala da, eta hura da Letra txikiagotzeko asko izan dut delako
sartzen da hemen.
Baina horiek ez bakarrik lagunduko dizu, berriro ere, arazo multzo batekin eta
ikasi duzu informazio digesting, baina zalantzarik, zatoz quiz denbora, horiek izango
oso lagungarria izan.
Beraz, lehenik eta behin, hitzaldia ohar.
Joaten bazara cs50.net/lectures eta aste eta egun zehatz zoaz
ikusiko duzu ez direla bakoitzeko notak hitzaldia, eta hori ez da besterik gabe bat
transkripzioa, editatutako bertsio bat, baina zer zen kodearekin hitzaldia estalita
mozkinak eta beste lagungarria ri.
Gomendatzen dut horiek baino gehiago joan.
Eta orduan bai, ez da iturburu-kodea hitzaldia bakoitzetik eskuragarri.
Eta berriz, diapositiba hauek ere izango dira eskuragarri online cs50.net/sections at
arratsalde honetan.
>> Beraz, bigarren dira film labur astean bakoitzak estalkia gaiak, normalean, 5 eta 15
minutuko iraupena.
Eta horiek zorionez emango dizu bat gai desberdinetan primer handia.
Hirugarren -
eta hau da marka hau berria urtea - study.cs50.net da.
Ez baduzu checked bada, I beraz, ez duzula oso gomendatzen.
Gai bat hautatzeko aukera duzu.
There buruzko gaiak dozenaka dugu.
Beraz, adibidez, funtzioak jaso duzu.
Duzun diapositiba batzuk ematen dio eta funtzioen gaineko oharrak.
Horiek dira benetan diapositibak duten TFS zehar erabili dira animatzen gure
ataleko aurkezpenak.
Ez da, gainera aholku eta trikimailuak aurre egiteko funtzioak, eta ez dago honekin
laguntzen duten arazoak praktika funtzioak lan egiten duzu.
Halaber, loturak ematen diogu duzun laburren izateko funtzioak eta aldiz duten funtzio
etorri hitzaldia.
Beraz study.cs50.net estreinatzeko honetan urtean, baliabide zoragarria.
>> Ondoren, gizon, zein eskuliburua da daukat at duzula exekutatu daiteke komando
komando-lerroa.
Beraz bati buruz edozein zalantza izanez gero komandoa, adibidez, rand, hau dugu
atalean zehar azken astean aurkitu eta zu izan litekeena aurkitu
Zure arazoa ezarri denean igaro kodea sortzen du, baina gizon idazten baduzu
rand, orria lortuko duzula esaten dizu guztiak rand buruz.
Ematen du zer hartzen du, parametro hartzen ditu, baita bueltan
mota eta azalpen labur bat funtzio hori.
>> Beraz, begiratu aus.
Apur bat wordy eta nahasgarria izan daiteke, beraz, batzuetan aurkitu dut
besterik ez dago zer jakin nahi dut Googling modurik onena erantzuna aurkitu.
Beraz, Google-ekin landu.
Get Google trebe.
Zure lagunik onena izango da.
>> Baita Google, ezin baduzu aurkitu Google-n, cs50.net/discuss, hura da
eztabaida-foroa.
Aukerak dira galderaren bat izanez gero, bat Zure 700 + ikaskideek ere duela
galdera eta baliteke eskatu dagoeneko eztabaidatzeko en
foro eta dute erantzunik.
Beraz, galdera edo komun bat baduzu uste duzu galdera bat duzula
agian, beste jende sartu exekutatu dute, check out cs50.net/discuss.
>> Azkenik, azken bi, nahi baduzu benetako gizaki, bulegoan hitz egin
ordu, astelehenetik ostiralera.
Ere online bulego orduetan luzapena ikasleentzat.
Eta azken baina ez gutxienez, me, harridura.
Duzun guztia nire kontaktu-informazioa dute.
Ezer behar baduzu, mesedez, ez da inoiz zalantzarik eta me harremanetan jartzeko.
Sentitzen beti free hacerlo.
Oso zuetako batzuk gehitu dit Gchat on, beraz, hori izan da etsipena,
baina espero duten artean aldatu egingo hau eta hurrengo atala.
Baliabideak, orain arte edozein galdera?
Handia.
>> Azkenik, plug beste iritzia, sayat.me/cs50.
Eman dezakezu niri iritzia anonimoak nola egiten ari naiz on.
Hori izan zen benetan lagungarria azken astean.
Iruzkin pare bat lortu duzu guys dut eskuineko ondoren atalean, gehi etik
nork ikusi da beste ikasle Astean zehar, eta hura
oso lagungarria izan zen.
Saiatu eta nire erabilera mugatzeko dut "gozoa", baina erakutsiko dizut hitza nire
gogo eta ilusio beste bide batzuetatik.
Baina badira beste osagarriak ziren oharrak substantibo,
bai pluses eta delta.
Beraz, mesedez, eman dut you guys iritzia Zure arazo multzo da.
Sentitzen free me emateko feedback nire irakasle on.
Hemen nago mutilak.
>> Handia.
Da guztientzat daukat Lehenengo atala.
Ez du inor edozein galderak, orain arte?
Eta ohar bat dut kontrol-zentrotik.
Luzapena ikasle izan messaged me Oraindik ez dute edozein audio lortzean esaten,
baina hori nire power konpontzen kanpo dago.
Beraz, espero dugu, hori lortzen ebatzi laster.
You online ikusten ari bada, hi- baina ezin duzu entzun me.
>> Beraz, lehenik eta behin, joan gara GDB bidez joan.
GDB, Hinted gisa lehenago I, arazketa tresna bat da
printf baino askoz hobea.
Beraz, GDB, zuekin hasi zen, gero ireki zure tresna nahi duzun
eta hori bidaliko dizut fitxategia hartu lehenago - fitxategi hau ere izango dira
Pixka bat eskuragarri online -
eta exekutatu GDB. / fitxategiaren izena da.
Lehenik eta behin, noski, konpilatu duzu fitxategia GDB delako bakarrik lan egiten du
fitxategi exekutagarria.
>> Baina inoiz abiarazi nahi baduzu GDB, egiten duzun lehen gauza,
GDB. / Caesar exekutatzen duzun.
Beraz, programaren gara izenarekin da oraintxe joan joan.
Beraz, ez naiz egiteko Caesar, idazten joan eta horrek me emango fitxategi exekutagarria
Hemen berdez nabarmenduta.
Eta ondoren, naiz GDB. / Cesar exekutatu.
>> Eta han joan behar.
Ikusten duzun testua me kontatzea dugu GDB bertsioan, me emanez
bermerik zenbait informazio, eta egin dugu BPGaren gonbita, zein nolako itxura izan
gure komando lerroan gonbita bezala, baina ikusten duzu irekia da
paren, GDB, itxi paren.
Jarraitzeko eta arazteko aurretik dugu fitxategi hau bidaltzen duten I duzun guztia, utzi ditzagun
komandoak erabilgarri batzuk beraz, zentzu bat izan dugu ari gara estaltzeko zer egingo.
>> Komando hauek zerrendatzen dira hemen dauden ordena horretan, oro har, erabili ditut.
Beraz, hasi nintzen nire programa exekutatuz GBD. / Izen programaren,
kasu honetan, Zesarrek.
Eta, ondoren, lehenik eta behin% 99,9 egin dut berea izan da mota break esan nahi.
Duten break puntu bat ezartzen nagusian.
Funtsean, zer egiten ari zaren da programa da gelditzeko
nagusia, beraz, lerro aztertzen has zaitezke lerroz, baizik eta guztiak exekutatzen baino
bidean barrena.
Duzu hainbat puntutan apur daitezke hemen Zure kodea, baina nagusia, oro har, bat
leku ona hasteko.
>> Hurrengo komandoa I run run da.
Duten programa korrika hasten da, eta komando-lerroa sartu behar baduzu
argumentuak, Komando duten exekutatzen duzun.
Argumentuak exekutatu.
Baino gehiago ari gara bertsio bat egingo beraz geroztik C, eta horrek programa you guys da
pset bi idatzi -
ko hau, jakina, zenbait akats bertan dela espero aurkituko dugu -
run exekutatu komando batzuekin batera goaz Zesarrek lerroko argumentuak delako,
you guys arazoa per jakin bezain multzo zehaztapenak, hartzen batzuk
komando lerroko argumentuak.
>> Hurrengo komandoak pare, hurrengoa bat da benetan izeneko hurrengoa.
Bat duzula line hartzen lerroz Zure programaren bidez.
Beraz sakatuz n ondoren erosi zaitu hurrengo lerroan, exekutatzean
aurreko lerroan.
Urratsa ez bakarrik hartzen duzu hurrengo lerroan, baina
funtzioen barruan eramaten zaitu.
Beraz, funtzio bat idatzi duzu bada Zure kodea edo esploratu nahi izanez gero bat
i, adibidez, s sakatu ahal izango duzu, eta baizik eta hurrengo lerroan joan baino
eskuineko bidez duzula bazoazela fitxategian orain, benetan dituzu sartu urratsa
funtzio hori ikusi eta bere kodea.
>> Zerrenda erakusten dizu, oso erabiltzaile errespetatzen formatua, inguruan 10 edo, beraz, lerro
non zure kodea zauden beraz, benetan ikusi duzun fitxategia
baizik eta atzera trukatu beharrik eta baino Laugarren ikuspegi ezberdinen artean.
Inprimatu printf bezalakoa da, berak dioen bezala.
Duten aldagai bat zer hobetu erakusten dizu.
>> Info bertakoek oso baliagarria zaigu.
Hau inprimatu bertsio berezi bat da.
Info bertakoek erakusten tokiko guztia aldagaiak, inprimatzen denak zuretzat
duten horiek eskaini.
Beraz, oro har, baizik eta nahi izatea baino duten naiz, lau aldagai inprimatu
nago in a loop, bada bitxia Adibidez, info bertakoek idatzi besterik ez dut,
eta erakutsi egingo zidan nire counter i berdin, baita array duten nago gisa
berdinen lanean.
>> Azkenik, jarraitzeko.
Break Idazketa gelditzen duzu break puntuan.
Line paseoan ibili arabera hurrengo eta urrats bat eginez.
Jarraitu eskailerak programa zure ondoan hautsi puntua edo amaitu bada arte
badaude break puntu gehiago ez.
Desgaitu break puntu kentzen baduzu nagusiaren bueltan zela erabaki
egokitzat, nahi duzun ezarri nonbait.
Eta, azkenik, q, irten, GDB daudelarik lortzen.
>> Beraz, programa hau,. / Caesar, goazen bidez begiratu oraintxe bertan eta guk
dira GDB erabiltzeko aurkituko joan programa honetan bugs.
Programa hau lehenago ran dut Begiratu 50 eta frown bat lortu nuen.
Guztia, existitu egiten da konpilatu, hura probak asko pasatu, baina
arrazoi batzuk, ez zuen bosgarren gainditu proba, BARFOO, txanoak guztiak, inflexio sartu
E-D-U-I-R-R, txanoak guztiak, gako gisa hiru erabiliz.
Nahiko hurbil lortu nuen.
Off lortu nuen gutun-banan.
Beraz, ez dago hemen akats txiki batzuk.
Nire kode bidez dut begiratu dut.
Ezin nuen irudikatu.
Zorionez, you guys lagun dezake me irudikatu bug hori zer den.
>> Beraz, errorea gara da bilatuz.
Dezagun aurrera GDB sartu.
Berriz ere, nik exekutatu dut GDB. / Caesar, beraz, gaur egun Oraindik GDB dugu.
Eta zer da lehenengoa gauza egin behar dut?
Besterik ez dut sartu GDB.
Norbaiti eman me ona komandoa sartu.
>> STUDENT: Break nagusia.
>> JASON Hirschhorn: Break nagusia.
Fantastikoak.
Dezagun idatzitako sartu
Zaudete ikusi daiteke hemen edo jarraitu Zure ordenagailuetan batera.
Apurtu nagusia, eta ikusiko duzu break puntu zegoen ezarrita -
me ematen dio bitxi memoria helbide batzuk, eta lerro kopuruaren ematen ere me.
Atzera begiratu fitxategia honetan banintz, Nagusia duten konturatzen nuke
on line 21 gertatu.
Hurrengo zer exekutatu behar dut?
Nire programa exekutatzen ariko da
N º
Beraz, zer hurrengo exekutatu behar dut?
>> STUDENT: Exekutatu.
>> JASON Hirschhorn: Exekutatu.
Behar besterik run exekutatu dut, edo egin beharko lukete Beste gauza batzuk gehitu dut hemen?
>> STUDENT: Run argumentu batekin.
>> JASON Hirschhorn: ekin Run komandoaren argumentuak.
Eta oso zehatz bat arazteko naiz geroztik kasuan, hori sartu beharko dut
komando lerroko argumentu.
Beraz, ez dut exekutatu egingo hiru, hau da, berriro, irteera lortu Check 50 naiz.
Programa hasita.
Lerro pare baten bidez joan gara.
Orain ikusiko dugun Oraindik line 21.
Nola ez dugun Oraindik line 21 ezagutzen dut?
Delako begiratuz gero ezkerrera nire terminal leihoaren, ez dago
line 21 dio.
Eta horrek ematen dit, egia esan, da duten line 21 da kodea.
Beraz, lehenago misspoke dut.
Ez da nagusia benetan line 21 at.
Nagusia 21 Goiko lerro pare bat da.
Baina line 21 at, hori da non apurtzen ari gara.
Kode-lerro hau dauka oraindik ez exekutatu.
Hori da garrantzitsua.
Lerroan ikusiko duzu ez dauka Oraindik exekutatu dira.
Duten hurrengo kode lerro da buruzko exekutatu zaudenean.
>> Beraz, hurrengo lerroan, you guys dira ziurrenik ezagutzen, hau da,
baldintza egiaztatzen dut bada ikusteko komando lerroko argumentu bat sartu.
Eta i nahi bat, zer bigarrena da egiten duten parte?
Zer da i?
>> STUDENT: Aldatzeak zenbaki oso bat izateko.
>> JASON Hirschhorn: Barkatu?
>> STUDENT: aldatzen ari da Zenbaki oso bat argumentu.
>> JASON Hirschhorn: Beraz, i aldatzen den arg kate bateko v1 zenbaki oso bat izateko.
Eta gero, zer ari da egiaztapena?
>> STUDENT: badago bigarren bat da komando lerroko argumentu, alde batera utzita
Programa exekutatzen from.
>> JASON Hirschhorn: Eta zer honen bigarren erdian
Adierazpen boolear egiaztapena?
Hemen baino gehiago zati honetan, a i?
>> STUDENT: negatiboa bada.
>> JASON Hirschhorn: Ziur zer?
>> STUDENT: Ziur Making da, hain zuzen ere, positiboa.
>> JASON Hirschhorn: Zehazki.
Hau da bada ikusteko checking negatiboa da negatiboa, eta bada, I
bat sentitu hurrengo lerroan agian izan egon yelling erabiltzaileari at me.
Hargatik hit bukaeran lerro hau exekutatu.
Ez dugu lerro hori ikusten duzu guys agian yelling ikustea espero
Erabiltzaileak eta gero itzuli, zeren lerro hau ez zuen exekutatu.
3 sartu nintzen.
Beraz, ez nuen, hain zuzen ere, sartu bi komando lerroko argumentuak, eta 3 da
zero baino handiagoa.
Beraz, lerro hori ikusi genuen, exekutatu dugu, baina ez genuen urratsa
baldintza bada barruan.
>> Beraz, orain, hurrengo, ezarpena dut ikusten dut int giltza berdinen bat i arg v1 da.
Beraz, hori da funtsezko aldagai bat sortzeko me.
Beraz inprimatu dut giltza bada oraintxe bertan, zeren duten ikusteko aukera ematen du
balioa aldakorra barruan, giltza berdin 47.
Hori da arraroa, baina, jakina, hori ez dudalako
Oraindik exekutatu lerro hori.
Beraz, orain hit I n bada, exekutatu lerro horretan, eta do inprimatu giltza, giltza berdinak izango dira 3,
hau da, zer den berdina espero dugu.
>> Beraz, berriro ere, GDB, lerroan zugan ikusi oraindik ez duzu exekutatu.
Hit n edo s edo kopuru bat behar duzu benetan beste komandoen
lerroa exekutatu.
Inprimatu giltza.
3 gako en.
Orain arte, beraz, ona da.
Katea testu soila da.
Dezagun exekutatu lerro hori.
Naiz kate bat lortzean dut erabiltzaileari.
>> Ikus nire Check 50 in dezagun, I Sar BARFOO txanoak guztiak, beraz,
hori zer sartuko dut.
Orain ditut testu arrunta inprimatu bada.
Ikusiko duzu kate bat berdin da.
Beste hamaseitar bitxi batzuk dizkit zenbakia, baina ez da
Izan ere, esan nire katea BARFOO da.
Funtsezko zer at berdindu ikusi nahi nuen bada Puntu honetan, nola liteke giltza egiaztatu dut?
>> STUDENT: Print giltza.
>> JASON Hirschhorn: Print gakoa, zehazki.
Eta egia esan, ez dago lasterbide bat da.
Inprimatu idazten nekatuta bada, besterik p idatz dezakezu.
Beraz, p gako zehatza gauza bera egiten du.
Eta berriro ere, berdin da 3 ikusten dut.
>> Jakiteko zer bai funtsezko nahiko banu eta BARFOO aldi berean berdindu
baina bakoitzak idazten nekatuta nengoen banan banaka, I
Datu bertakoek idatz dezake.
Duten funtsezko berdinen 3 ematen dit.
Testu arrunta berdinen BARFOO.
Ematen dit bi gauza bitxi hauek goialdean, aldagai hau i eta
aldagai n hau.
>> Horiek benetan existitzen diren ari nire programa nagusian.
Ez dugu oraindik aurkitu da beraientzat, baina aurrerapen gisa, horiek
nire existitzen begizta.
Beraz, oraintxe bertan, bitxi batzuk berdinak dituzten zenbakiak ez dute izan delako
hasieratu oraindik, baina ez dute oraindik existitzen memoria, beraz, besterik ari dira ezartzen
zabor balio batzuk ere.
Baina ikusi dugu giltza arrunta testu bertan.
>> Beraz, ez naiz lerro hau exekutatu joan, linea 34, begizta da.
Hemen sartu salto goaz kolpatzeko n egindako begizta.
Eta Oraindik barruan dugu begizta.
Oraindik gure lehenengo check dugu.
Eta berriro ere, horiek ordenatzeko begiratu behar duzu ezagutzen hau zen delako bat
Zesarrek programa zela idatzi zuen, baina berriro, akatsen mota batzuk eskaintzen ditu.
>> Eta orain Datu bertakoek egiten badut, naiz delako loop barruan, ikusiko duzu
i berdin zero, espero dugun bezala.
Hori zer ezarri dugu eta hasieratu hemen dago begizta.
n berdinen 6.
Hori ere zentzuzkoa dugu ezarri delako testu arrunta strlen ondoan.
Beraz info bertakoek edo inprimatu egin nahi dut aldakorra den askotan ziur
dena da beti zer Ra berdina espero dut.
Kasu honetan, dena da zer berdina espero dut.
>> Hargatik hasteko bidez mugitzen hau begizta.
Lerroan nago line 36 da, arrunta bada testu i da eta arrunta baino handiagoa
testu i baino gutxiago edo z berdina da.
Badakit nire arazoa ez da nire lehen ekin gutun, da bigarren letra da.
Atzera begiratzen badiogu Check at 50, B E fina doa.
Bat hartu dut eta hura bezala utziz A, ez da aldatzen D. Beraz,
zerbait gaizki Bigarren letra.
Beraz, ez naiz mugitu joan bigarren batean han.
>> Baina ez nuen nahi bada zer arrunta egiaztatzeko testu berdindu dut zehatz honetan
kasuan, uste dut zer izan behar du?
Zer behar testu arrunta berdinak dut honetan Lehen txandan bidez loop?
>> STUDENT: Zero?
>> JASON Hirschhorn: I testua Plain?
Beraz, kapitala B. beharko luke dut, noski, berdin zero, baina testu arrunta
parentesi zero itxia parentesi berdinen B delako kateak, azken astean ikusi genuen bezala,
array dira, beraz ari gara horretako lehen pertsonaia.
Beraz, berriro ere, inprimatutakoak dut testu soila bada Dut, ez dut, hain zuzen ere, izaera lortu
B. Eta hori da neat, ezta?
Egia esan, ez daukat testu arrunta I. Hori ez da aldagai I set bat
edo hasieratu, baina inprimatu ahal izango duzu gauza mordoa ere atera
zuk nahi izanez gero.
>> Baina dezagun mugitu bidez.
Testu arrunta dut bat baino handiagoa izaten da, testu arrunta dut hori baino gutxiago edo berdina
Z, hori argi dago egia dugu delako kapitala B. a exekutatu noa
Gainean komando batzuk.
Matematika dela ikusi dugu azken astean, hain dugu eraman ezazu emandako lan egiten dela
eskubidea 50 Begiratu arabera.
>> Giltza kizkur horiek, lehena erakutsi badu, hori zait irteten zen
baldintza, bigarrena erakutsi dut naiz the loop irteten.
Eta beraz, gaur denean hit I Ondoren, ikusiko dugu bertan itzuli gara loop berriro.
Du bidez ari gara begizta berriro ere.
Dezagun benetan bigarrena sartu urratsa iterazio begizta eta mota
Datu bertakoek.
>> Beraz gara bigarren iterazio batean gure begizta neurtzen.
Berdinen I 1, eta hori espero dugu.
N berdinen 6, eta espero dugu.
Giltza berdinen 3, eta hori espero dugu.
Eta testu arrunta, ikusiko duzu, berdinen EARFOO orain, ez BARFOO jada delako
gure aurreko iterazio batean, B izan zen kapitala E. aldatu Beraz gara buruz
, arazoa topo hau hain da nora goaz
arazketa murgiltzea.
Baina ez du inor edozein zalantza Orain arte egin dugun buruz?
Fantastikoak.
>> Beraz, inguru hau egiten bada gara baldintza, testu arrunta parentesi dut itxia
batek baino parentesi handiagoa eta testu arrunta dut baino gutxiago edo Z. berdina Baina aurretik
Joan sartu nintzen, hau da, non Ezagutzen dut nire error da, seinalatu nahi dut
I. testu arrunta daudelarik Beraz dezagun jarri inprimatu daudelarik.
Berdinak pertsonaia batek egiten du eta, beraz, Dirudienez, orain arte, guztiak ongi eta ona.
>> Beraz, lerro hau nire logika per espero dut, lerro hau egia izan behar du.
Maiuskulaz da.
Baina hit I n bada, konturatzen ez dugu hori lerroa, hain zuzen ere, ez zuen exekutatu.
Behera salto egin dut, bestela, nahi izanez gero.
Zergatik dela gertatuko da?
>> STUDENT: zuk izan delako zure egoera testu soila da handiagoa
baino A, ez berdina edo baino handiagoa.
>> JASON Hirschhorn: Beraz, nire testu arrunta izan nuen A, ez handiagoa baino handiagoa da I
baino edo berdina.
Beraz, argi eta garbi, kapital batek ez zuen eragin hau baldintza bada, eta egin genuen
ez da sartu urratsa, eta egin genuen ez beharrezko aldaketa egin.
Beraz, hori da, benetan.
Hurrena dut nire akatsen.
Nuen atzera egin dezake nire iturburu-fitxategi batean, aldatu da, eta eguneratu eta
exekutatu Begiratu 50 berriro.
>> Baina ikusi dugu, besterik pedagogia en aldeko mesedetan, jarraitzea badut.
Bestela izango ez balitz bai exekutatu, baina zer ordez berdin komandoa da
hori ez da aldatuko.
Beraz, ez da aldaketarik izan, eta badut testu arrunta inprimatu hemen, ikusiko dugu
horren bidez loop ez, hain zuzen ere, bigarren pertsonaia hori aurrera jo.
Da kapitalaren A. oraindik
>> Beraz, berriro ere, gure error arazten dugu.
Ez zela konturatu ginen logika batzuk falta.
Eta bertan arazten dugu denbora aurretik aurretik benetan linea bat exekutatzen,
baina zuk nabaritu zukeen izan genuen besterik hit Next eta hori beste salto bada,
horrek esan nahi du horrek, bada baldintza Ez zen egia.
Ez genuen, hain zuzen ere, lortu emaitza dugu espero.
Beraz, ondoren zitekeen galdetuko dugu izan, izan Ezin izan gara beraz, astute, begiratzen
dituen baldintza eta egiaztatu, bada, hain zuzen ere bada, gure egoera ebaluatzeko behar
egungo testuinguruan egia.
>> Hori da dena programa hau arazteko.
Du inor edozein zalantza?
Zer komandoa ezin GDB irten sakatu dut?
G: Eta gero galdetuko zaizu, Irten hala ere?
Bai ala ez.
Hit dut bai, eta biok irten egingo GDB.
>> Beraz, GDB primer azkar bat izan zen.
Egia esan, benetako eszenatoki batean, Hau nik egin dut bulego orduetan.
Programa zehatza hau GDBed dut ikasle batekin bulego orduetan.
Eta atzera joan bada komandoak ikusi genuen behar dugu aurretik, break nagusia erabiltzen dugu, lehen
gauza egin genuen.
Erabiliko dugu exekutatu komando lerroko argumentuak, Bigarren gauza egin genuen.
Hurrengoa erabiliko dugu asko mugitu lineen bidez gurekin.
Eta berriro ere, bertsio laburra n hurrengoa da.
Hori da, parentesi gris diapositiba batean.
>> Ez dugu urrats erabili, baina ez genuen nahitaez behar kasu honetan.
Baina agian geroago erabili dugu pixka batean gaur arazketa gara, bada, bost
Adibidez, bilaketa bitarra bitarrak denean bilaketa da aparteko batean izeneko
funtzioa baina ez da berarekin error batzuk.
Izateko urratsa egin nahi dugu bilaketa bitarra deia eta
benetan arazteko da.
Zerrendatu ez genuen erabili bai izan genuelako gure kodea zentzu ona, baina badut
Nahi al kodea dudana zentzu bat lortzeko inguruan izan zen, izan besterik erabili dut zerrenda.
>> Inprimatzeko erabiltzen dugu, info bertakoek erabiltzen dugu.
Jarraituko ez genuen behar den honetan erabili kasuan, ez zuten erabili behar dugu
erabilpena desgaitu, baina egin genuen irten.
Berriz ere, 10 komando horiei, horiek landu.
10 komando horiei ulertzen baduzu, duzun edozein arazteko ezarri behar da
GDB emateko.
>> Beraz, aurrera joateko, berriro buruz ari gara, joan atalean Gurutzea gaur, pasa
horiek sailkatzeko eta bilatzeko algoritmoak.
Aurretik horrela egin dugu, berriro ere, edozein zalantza, iruzkinak, GDB kezka?
Beraz, denek erabili joan GDB baino printf?
Beraz, denek, perpetuity en mesedetan, denek euren burua eskuin nodding da
orain, hurrengo batean ikusiko dut bulegoko ordu eta TFS guztia duzu eta ikusiko
esan egingo dute, erakutsi nola erabili GDB, eta gai izango duzu
horiek erakusteko, ezta?
Kind of?
Agian, zorionez.
Cool.
>> Beraz, nahi mugitu joan sailkatzeko eta bilatzeko.
Ikusiko duzu dagoeneko horrela antolatu zerrenda bat daukat digu, baina hori ez da joan da
kasuan beti izan.
Beraz, arazoa in zehaztapen ezarri Arazo multzo hiru, film laburrak duzu
benetan ikusi ahal izango duzu, eta film labur horiek ikusi ahal izateko eskatuko du.
Halaber hitzaldian azken astean, gora joan ginen algoritmo horietako asko, beraz, naiz
Ez denbora klasean joan Algoritmo horiek berriro edo marrazki baino gehiago
nola horien irudiak algoritmoak lan egiteko.
Berriz ere, informazio hori berriro ikusi ahal izango duzu hitzaldia, edo informazio hori
outstandingly harrapatu film labur on bilaketa horiek, guztien aldeko
prest dauden cs50.net at.
>> Beraz, horren ordez, zer goazela egin da programa horiek idazteko.
Zentzu bat eredu mental bat, nola dugun, , lan egiten dute eta, beraz, zer ari gara
egin da horietako kode benetako.
Mental eredu horrek buelta goaz, irudi hori, bada, sartu
benetako kodea.
Eta pixka bat nahastu edo zinen mental eredu on lainotsua, baina gaur ez dago
ulertzen.
>> Ez gabiltza benetan joan kodea straightaway salto.
Beraz, diapositiba honetan galdera hau galdetzen bitartean bilaketa bitarra kode duzu, eta
benetan, etorriko bertsio bat bilaketa bitarra, lehenengo gauza I
Benetan egin nahi duzun da pseudocode batzuk idazten.
Beraz, adimen-eredu hori duzun bitarraren nola bilaketa lanak.
Hartu paper orri bat baduzu bat erraz eskuragarri, edo ireki bat
Testu editore, eta gustatuko litzaidake dut denek idazten.
Hartu lau minutu idatzi du bilaketa bitarra pseudocode.
>> Berriz ere, adimen-eredu hori pentsatzen.
Etorriko naiz, inguruan zalantzaren bat argitzeko eta argazkia atera marraztu ahal izango dugu.
Baina lehen, programazioa hasten gara aurretik, Idatzi nahi dut
bilaketa bitarra pseudocode beraz, dugu murgiltze, norabide batzuk ditugu gisa
non buru behar dugu.
>> STUDENT: Ezin array suposatuko dugu balioak lortuko dugu horrela antolatu da dagoeneko?
>> JASON Hirschhorn: Beraz, bilaketa bitarra egiteko lan egiteko - Galdera bikain - duzu
ordenatuko batean hartuko dute balioak array.
Beraz, bere gain lan egingo du.
Diapositiba honetan itzuliko dugu.
Morea funtzioa ikusiko dituzu deklarazio bool binary_search int da
balioa, int balio, int n.
Hau ezagutzen begiratu behar dut baduzu Dagoeneko hurbildu edo ahaztuak zure
eskuak arazo multzo batekin zikin.
>> Baina hori zure funtzioa adierazpena da.
Berriz ere, ez luke zertan kezkatu askoz une honetan.
Benetan zer egin nahi dut da hartu lau minutu pseudocode bitarra
bilatu, eta gero ikusiko dugu joan hori baino gehiago, talde gisa.
Eta inguru etorriko naiz.
Zalantzarik baduzu, sentitzen free eskua altxatzeko.
>> Zergatik ez bi minutu gehiago hartzen duzu amaitzeko pseudocode?
Badakit hau barregarria dela iruditu on hainbeste denbora ari gara
hori ez da, nahiz eta benetan zerbait C, baina batez ere, horiek gehiago eskuratzeko
erronka algoritmoak eta arazo multzo horrek irudikatu nahi izan dugu,
pseudocode ez kezkagarria hasita sintaxia buruz, aski kezkagarria
logika, oso lagungarria.
Eta, era horretan, ez duzu bi konpontzen ari aldi berean arazo oso zaila.
Logika da besterik ez duzu bideratua ari, eta orduan sintaxia sartu mugituko zara.
>> Ados.
Dezagun hasteko igaro pseudocode.
Idatzi dut hemen, bitar bilaketa pseudocode.
Idatziko dugu honi buruzko taula elkarrekin.
Edo idazten dut eta eman dituzu me eskatuz behar dut.
Beraz daiteke inor emadazu lehenengoa pseudocode lerro duzu
bilaketa bitarra idatzi?
Bai, Annie?
>> STUDENT: bitartean luzera zerrenda zero baino handiagoa da.
>> JASON Hirschhorn: bitartean luzera of zerrendatu zero baino handiagoa.
Eta berriro ere, zenbait C-begira ikusten dugun Hemen on sintaktikoak gauzak.
Baina hau gehiena ingelesez dago.
Ba al da inor izan edozein line jarri dute hori baino lehen bere sasi-kodean?
>> STUDENT: Talde array of ordenatuko zenbakiak.
>> JASON Hirschhorn: Idatzi duzu "bat lortzeko zenbakiak ordenatuko array. "Per
funtzioaren adierazpenean, pasatzen egingo dugu ordenatuko zenbakiak array bat.
>> STUDENT: [INAUDIBLE].
>> JASON Hirschhorn: Beraz, egingo dugula.
Baina bai, bada ez genuen izan duen, dugu gure array ordenatzeko behar luke
zenbakiak, zeren bilaketa bitarra bakarra ordenatuko array lan egiten du.
Zerrendaren luzera berdin zero, beraz, bitartean, naiz izateko giltza kizkur batzuk jarri joan
atsegin apur bat gehiago itxura egiteko C. Baina bitartean, badirudi baten gainean mapa
begizta bitartean, beraz bitartean hau barrutik begizta zer egin behar dugu
bilaketa bitarra egin?
>> Beste inork ez du ematen duten me baten erantzun oraindik baina nork idatzi hau?
>> STUDENT: zerrendaren erdian joan.
>> JASON Hirschhorn: Tom.
Zerrendaren erdian joan.
Eta jarraipen-galdera, zer egiten dugu behin Oraindik dugu
zerrendaren erdian?
>> STUDENT: Do txeke bat hori egiaz zenbakia da bilatzen ari zaren.
>> JASON Hirschhorn: Bikain.
Zerrendara erdian eta egiaztatu gure balioa da bada ez -
fantastikoak.
Ba al da inor izan, beste ezer zela hori baino hainbat?
Hori da zehazki eskubidea.
>> Lehenengo gauza egin dugu bilaketa bitarretan dago zerrendan erdian joan eta
begiratu gure balioa da bada ez ikusteko.
Beraz, gure balioa bada gain hartzen dut han, zer egiten dugu?
>> STUDENT: zero itzuliko dugu [INAUDIBLE].
>> JASON Hirschhorn: Bai, bada gure balioa hor dago, aurkitu dugu.
Beraz, nolabait esan ahal dugu, hala ere honen funtzioa definitzen da, erabiltzaileak esaten dugu
aurkitu dugu.
Ez bada ez dago, ordea, hori da kode hau delikatua lortzen.
Beraz, ez bada bertan, norbaitek nor zen bilaketa bitarra edo lanean ari
du ideia bat, gaur egun, zer egiten dugu?
>> STUDENT: Galdera.
>> JASON Hirschhorn: Bai?
>> STUDENT: array dagoeneko ordenatuko da?
>> JASON Hirschhorn: Bai, suposatuz ari gara array dagoeneko ordenatuko da.
>> STUDENT: Orduan berriro egiaztatu behar duzu bada balioa ikusten duzun baino handiagoa da
nahi duzun balioa, mugitu dezakezu beste erdiak erdian.
>> JASON Hirschhorn: Beraz, erdian zerrendan zer gara baino handiagoa da
bila, eta gero ez dugu zer?
Non mugitzen dugu?
>> STUDENT: ra mugitu nahi duzu zerrendaren erdia duen
zenbakiak baino txikiagoa.
>> JASON Hirschhorn: Beraz zaitugu deitu ezker hori.
Beraz erdiko handiagoa bada, bilatu dezakegu utzi zerrendaren erdia du.
Eta, ondoren, bilaketa eginda, zer esan nahi bilaketa by I?
>> STUDENT: [INAUDIBLE].
>> JASON Hirschhorn: joan erdialdera dugu.
Benetan errepikatu dugu gauza hau.
Atzera egin dugu gure berriz, begizta bidez.
Emango dizut, azkena -
bestela, bada, erdiko da, zer baino gutxiago dugu egin, zer egin, hemen egiten dugu?
>> STUDENT: eskuin joan.
>> JASON Hirschhorn: Search eskuinetik.
Honek itxura ona, baina ez du inor izan ezer falta daiteke dugun edo
Beste ezer duzula jarri zure sasi-kodean?
Beraz, hau da, zer, orain arte ez dugu.
Zerrendaren luzera handiagoa den bitartean Zero baino, joan goaz
zerrendaren erdian eta begiratu gure balioa da bada ez.
>> Erdian handiagoa bada, goazela bilatu utzi, bestela erdian bada
gutxiago, eskuinetik bilatu goaz.
Beraz, guztiak izan dugu ezagutza batzuk terminoak erabiltzen ditugu informatikako
eta tresnak nola.
Baina ikusiko dagoeneko nabarituko duzu ginen ingelesez hitz egin, baina aurkitu dugu bat
horretan mapatzeko zirudien gauza asko Tresna gure kodifikazioa tresna kit dugu.
Beraz, eskuinera bat itzali, ez gara benetan kodea oraindik joan.
>> Zer egin, hemen ikusten dugu ingelesez duten mapak gauza on C ahal izango dugu idazten?
>> STUDENT: bitartean.
>> JASON Hirschhorn: bitartean.
Beraz, berriz, hau hementxe zer Mapa?
>> STUDENT: berriz, begizta bat.
>> JASON Hirschhorn: berriz, begizta bat?
Edo seguraski, oro har, begizta bat.
Zerbait eta gehiagoko egin nahi dugu.
Beraz, begizta bat kode-joan.
Eta badakigu, dugu egin delako hau pare bat aldiz, eta guk
adibide ugari dute han, nola benetan idatzi
begizta baten indizea hau.
Beraz, nahiko erraza izan beharko luke.
Hori lortzeko gai izan behar dugu nahiko azkar hasi zen.
>> Zer gehiago ikusten dugu hemen?
Zer beste egitura syntaxes, gauzak ezagutzen dugun Oraindik C, egiten dugun
Dagoeneko izan Based zentzua erabiltzen ditugun hitzen off?
Bai, Anna?
[INAUDIBLE]
besterik Txantxetan.
Anna, aurrera.
>> STUDENT: bada, eta bestela.
>> JASON Hirschhorn: bada eta bestela, - hemen.
Beraz, zer itxura horiek?
>> STUDENT: An bestela adierazpen bada.
>> JASON Hirschhorn: Bai, baldintza, ezta?
Beraz, ziurrenik dugu behar baldintza batzuk idatzi.
Eta berriro ere, agian nahasgarria nahiz lehen, oro har dugu zentzua orain
baldintzak eta nola idazten duen baldintzen sintaxia.
Eta egiten ez badugu, besterik begiratu dugu baldintzak, ebaki eta itsatsi sintaxia
duen, dugu ezagutzen dugulako behar baldintza bat hemen.
Edozein gauza batzuen mapa duten ikusiko dugu kalera baliteke C egin behar ditugu gauzak?
Bai, Aleha?
>> STUDENT: Hau bistako izan daiteke, besterik markatuz bada bat
balioa zerbait berdin.
>> JASON Hirschhorn: Beraz, nola ez egiaztatu dugu eta - beraz, joan zerrendako erdialdera
eta begiratu gure balioa da bada ez?
Nola egin behar dugu C?
Zer da hori sintaxia?
>> STUDENT: berdin, berdin.
>> JASON Hirschhorn: berdin, berdin.
Beraz, egiaztapen hau da ziurrenik joan berdinen bat izan nahi du, berdin.
Beraz, ezagutzen dugu nonbait behar dugu.
Eta, egia esan, besterik ez da idatziz, beste gauza horiek ikusten dugu.
Batzuk egin behar dugu Konparazio operadore han -
fantastikoak.
Beraz, benetan itxura, eta handiak, ez dugu idatzi bat
C kodea hitza oraindik.
Baina adimen-eredua lortu jaitsiko dugu hitzaldiak eta film labur horiek bidez.
>> Sasi-kodea idatzi dugu talde gisa.
Eta, dagoeneko,% 80 ez bada dugu Zer egin behar dugu% 90.
Orain, besterik gabe, kode behar dugu da, eta horrek, berriro ere, ez da bat
ez hutsala arazoa konpontzeko.
Baina, gutxienez, ari gara logika itsatsita.
Noiz joan bulego orduetan nahi dugu, gutxienez, gaur egun, Esan dezaket, badakit behar dudana
, egin, baina dezakezu gogorarazteko sintaxia of me?
Edo bulego orduetan ibilia nahiz dira, zuk sintaxia Google daiteke, baizik eta
ari logika gelditutakoak baino.
>> Eta, berriz ere, baino konpondu nahian logika eta sintaxia arazo guztiak
aldi berean, askoz hobea izaten da bi arazo gogor horiek off hautsi sartu
gehiago Lasén bi direnak eta burutu sasi-kodea lehenengo eta, ondoren, C. kodea
Beraz, ikus dezagun zer egin nuen egiteko sasi-kodea denbora aurretik.
>> Zerrendaren luzera handiagoa den bitartean Zero baino, erdi begiratu
zerrendaren.
Zenbakia aurkitzen bada egia, bestela itzuli kopuru handiagoa, bilaketa ezker bada.
Bestela bada zenbaki txikiagoa, bilaketa eskubidea, itzultzeko faltsua.
Beraz, ia berdin begiratzen ez bada ia zer idatzi dugu berdina.
Egia esan, Tom, zer lehen esan duzu, zerrendaren eta gero erditik hautsi
zenbaki bi adierazpenak sartu topatu da, benetan zer egin nuen.
>> Horiek konbinatu nituen han.
Beharko nuke entzun dute duzun lehen aldia.
Beraz, sasi-kodea dugu izan da.
Orain instalatu nahi baduzu, barkatu, joan gure hasierako arazoa itzuli.
Dezagun kodea binary.c.
Beraz etorriko bertsio bat ezartzeko bilaketa bitarra ondoko erabiliz
funtzioaren adierazpenean.
>> Eta ez duzu kopiatu behera, besterik ez oraindik.
Naiz benetan ireki joan sortu hementxe binary.c.
Beraz, ez funtzioaren adierazpena da pantailaren erdian.
Eta ikusi zuen sasi-kodea hartu nuen dituzu nire alboetan, baina ia berdin
zer idatzi dugu, eta jarri zela zuretzat.
Beraz, gaur egun, dezagun bost minutu iraun funtzio hori kode-.
>> Eta berriro ere, edozein zalantza izanez gero, eskua goratzen, ez dut utzi naute,
etorriko inguruan.
>> STUDENT: [INAUDIBLE].
>> JASON Hirschhorn: Beraz bitar hartu nuen bilaketa at definizioa
Gora, on line 12.
Hori zer lortu nire diapositiba dut.
Eta gero, sasi-kode hori guztia besterik ez dut kopiatu eta diapositiba batetik itsatsi,
sasi-kodea diapositiba.
Jarraitzen dut ez entzumena [INAUDIBLE].
>> Zuk amaitu hala bada zure ezartzeko, hura begiratu nahi dut.
Helpers.h fitxategira bidaliko dizut klase honetan lehenago.
Eta eskuragarri izango da online baita deskargatzerik jendeak ikusteko
Atal honetan denboran atzeratu.
Eta besterik banaketa generikoak erabiltzen dut pset3 etatik kodea.
Beraz, hartu nuen find.C, erabili nire helpers.h fitxategia baizik helpers.h fitxategia baino
hori banaketa-kodea eman.
>> Eta beste aldaketa bat egin behar izan nuen find.C baizik eta, besterik gabe, besterik gabe deituz baino
bilaketa, deitu binary_search.
Beraz, zure kodea probatu nahi izanez gero, badakiela hori nola egin behar den.
Hain zuzen ere, dugu kode hau exekutatzen zaizu oraintxe bertan, aski da kopia bat egin nuen
nire pset3 gida, berriro, trukatu out du laguntzaile fitxategiak eta ondoren egin duten
find.C aldatu binary_search deitzeko baizik eta, besterik gabe, bilatzeko.
>> JASON Hirschhorn: Bai.
Galdera bat duzu?
>> STUDENT: Nevermind.
>> JASON Hirschhorn: Kezkak.
Beno, dezagun Hasteko.
Honek kode egingo dugu talde gisa.
Beste ohar bat.
Berriz ere, hau da, erraz trukatuko egiteko Arazoa Ezarri Hiru.
Nire helpers.h fitxategia daukat eta horrek, baizik helpers.h baino ematen ari gara,
binary bilaketa, burbuila adierazten ordenatu, eta aukeraketa sort.
Eta find.c in dituzu on line nabarituko, zer da 68 lerro, duten, bitarra deitzen dugun
bilatu beharrean bilaketa.
Beraz, berriro ere, kodea eskuragarri dagoela online edo kodea zarela
oraintxe sortzeko erraz trukatu ahal izango dira in p ezar 3 ikusteko.
>> Baina lehen, dezagun kode bitarra bilatu.
Gure funtzioa deklarazio, boolearra itzuliko gara.
Balio izeneko zenbaki oso bat hartuko dugu.
Deitu zenbaki osoen array bat hartuko dugu balioak, eta hartuko dugu n izan
array tamaina.
Linea 10, hementxe on, daukat zorrotz, besteak stdbool.h.
Inor daki zergatik hori da han?
Beraz, kode-lerro horrek zer esan nahi du?
>> STUDENT: zuk aukera ematen du bool itzulera mota bat erabiltzea.
>> JASON Hirschhorn: Zehazki.
>> STUDENT: Edo liburutegi bat duten aukera ematen da bool itzulera mota bat erabili.
>> JASON Hirschhorn: Beraz, zorrotzak dira, besteak stdbool.h line ematen dit batzuk
definizioak eta adierazpenak gauzak naizela batean erabiltzeko baimena
liburutegi honek.
Beraz dutenen artean dagoela esanez ez dagoela deitzen nuen tipo hau, eta izan daiteke
egia edo gezurra.
Beraz, lerro hori duenaren.
Eta gero ez nuen lerro hori izan, nuke arazoak lortu hau idazteko
hitza hementxe, bool, bertan.
Zehazki eskubidea.
Beraz, hori behar dut kode hau.
Ados.
Beraz, hau, berriz, ez da etorriko bat bertsioan, recursive inork ez bat.
Hargatik Hasteko digu.
>> Dezagun lehen honekin en sasi kode line.
Eta, zorionez, izango gara - edo ez, zorionez.
Gela ingurura joan goaz.
Line zaitez dugu lerro, eta lagundu egingo dut lerroan behar dugu irudikatu
lehen idazteko.
Beraz, berriz zerrenda luzera zero baino handiagoa da.
Hasteko aurrealdean dezagun.
Zer lerro idatzi beharko nuke Hemen, kodean?
>> STUDENT: Bitartean parentesi n 0 baino handiagoa.
>> JASON Hirschhorn: bitartean n da 0 baino handia.
Beraz, n zerrenda bat tamaina da, eta bat datozen egiaztatzen ari gara -
>> [AHOTS INTERPOSING]
>> JASON Hirschhorn: - Barkatu?
>> STUDENT: Nola jakin duten n zerrendan tamaina da?
>> JASON Hirschhorn: Barkatu.
Pset zehaztapen bakoitzeko, bilaketa eta nolako funtzioak idatzi behar duzu,
n zerrendan tamaina da.
Hori hemen azaltzeko ahaztu dut.
Baina bai. n tamaina da Zerrendan, kasu honetan.
Beraz, berriz, n 0 baino handiagoa.
Ados.
Pixka bat problematikoa izan daiteke ordea, gauzak joan bada.
Delako ezagutzen jarraituko dugu honetan zehar zerrendaren tamaina
funtzioa, baina esaten hasiko gara 5 zenbaki osoen array batekin.
Eta pasatzen dugu eta dugu orain narrowed du behera
2 zenbaki osoen array bat.
Horietatik 2 zenbaki da hori?
Tamaina 2 da orain nahi dugun begiratu, baina horietatik 2 da hori?
Ez duela zentzurik, galdera hori?
>> Ados.
Galdetu dut berriro.
Beraz, hasiko gara of 5 array honekin osokoak, eta n berdin 5, ezta?
Izango da hemen zehar ibiltzen gara.
ziurrenik dugu tamaina aldatzeko, eskubidea, gauzak joan gisa.
Hau da egin nahi dugun esaten dugu.
Ez dugu bilatu nahi berriro gauza osoa.
Esateak aldatu dugu eta 2.
Zerrenda hori bakoitiak erdia hartuko dugu.
Beraz, besterik jaso 2.
Beraz, orain n berdinen 2.
Pobreak Barkatu zurirako markatzaileak.
Ezta?
Eta zerrendan zehar bilatzen ari gara berriro tamaina 2 zerrenda batekin.
Beno, gure array tamaina 5 da oraindik.
Esaten dugu bakarrik nahi dugu bilatu 2 da lekuak.
Beraz, horietatik 2 lekuak dira horiek?
>> Ez duela zentzurik?
Dira utzi 2 lekuak?
Dira eskuineko 2 lekuak?
Dira erdiko 2 lekuak?
Arazoa behera hautsi dugu, baina ditugun egia esan, ez dakit horren zati
arazoa oraindik dugu bilatzen ari zaren, besterik ez 2 aldagai horiek izatea.
Beraz, pixka bat gehiago behar dugu, ondoren, n 0 baino handiagoa den bitartean.
Jakin behar dugu non duen n gure benetako array dago.
>> Beraz, ez dute inor a lerro hau aldatu?
Lerro honen gehienak da primeran zuzena.
Ba al dago gain beste bat?
Daiteke zerbait kanpo n swap dugu lerro honetan pixka bat hobea?
Mm-hm?
>> STUDENT: Ezin aldagai bat abiarazi duzu duten ikusiko orduan erabiliko n luzera bezalako
geroago funtzioa?
>> JASON Hirschhorn: Beraz hasieratu n luzera aldagai bat,
eta geroago hori erabili dugu?
Baina gero eguneratu besterik ez dugu luzera eta guk oraindik ere arazo hau exekutatu non gauden
moztu gure arazoa luzera, baina inoiz ez dakigu non, benetan,
luzera duten mapak kalera.
>> STUDENT: hori ez dela gertatuko geroago, esaten ari zaren, bilatu utzi,
bilatu ezta?
Desberdin bat joan zaren zure area -
>> JASON Hirschhorn: zu joango gara eremu bat, baina nola ez dugu ezagutzen
dira joan?
Matrizearen eta hau besterik ez dugu bada n, nola ez badakigu nora
joan array.
Bizkarrean, bai?
>> STUDENT: Ez duzu, bezala, txikiagoa lotuak eta goiko bat aldagai doazen edo
horrelako zerbait?
>> JASON Hirschhorn: Ados.
Beraz, hau ideia bat da.
Baizik eta, besterik gabe, jarraipena baino tamaina, segimendua dugu beheko eta
goiko aldagai lotuak.
Beraz, nola ez tamaina kalkulatzeko dugu txikiagoa loturik eta goi-muga?
>> [AHOTS INTERPOSING]
>> JASON Hirschhorn: Kenketa.
Eta, gainera, beheko jarraipena lotuak eta goiko lotuak jakin dezagun,
dira bilatzen dugu bi hauek?
Bilatzen ari gara bi hauek hemen?
Erdiko bi bilatzen ari gara?
Ziurrenik ez erdiko bi, zeren hau, hain zuzen ere, bilaketa bitarra da.
Baina orain tamaina eskuratu ahal izango dugu, baina, halaber, array-mugak.
Funtsean, gure erraldoi badugu telefono-liburua, hura erauzi dugu erditik.
Orain badakigu non txikiagoa telefono-liburua da.
Baina zu ez benetan erauzten dugu telefono-liburua erditik.
Oraindik ere, jakin behar dugu non gure arazoa mugetatik berria da.
Du inor edozein zalantza horri buruz?
Bai?
>> STUDENT: Nahi lan bat sortuz ezazu aldakorra, i, orduan besterik ez duzu mugitzeko duten
i bere erlatiboa posizioa uneko posizioa, eta luzera, n?
>> JASON Hirschhorn: Eta zer da i?
>> STUDENT: i egoteko moduko bezalako Like -
Bezala abiarazi nahi duzun i izango da array posizio erdian.
Eta gero, bada posizioan balioa i aurkitu array erdian
balioa izan behar duzun baino gutxiago, i orain array luzera bihurtzen, gehi
i balioa 2 arabera banatuta.
Bezala, ikus-i filmea duzu -
>> JASON Hirschhorn: Eskuin.
>> STUDENT: - erabakitzen ditu -
>> JASON Hirschhorn: Beraz ia nago positiboa egingo duten lan.
Baina puntu izakia, bi behar duzun informazio zuzenak hemen.
Egin ahal izango duzu hasieran eta amaieran ere, edo egin dezakezu tamaina, eta, ondoren
markatzaile batzuk.
Baina bi pieza behar duzun Hemen informazio.
Ezin duzu get by bakarrarekin.
Du zentzua?
>> Beraz, bidez joan da joan, eta egin dugu [INAUDIBLE]
eta markatzaile batzuk sortu.
Beraz what'd zure kodea idatzi duzu?
>> STUDENT: int esan dut doazen bat da 0 berdinak.
>> JASON Hirschhorn: Dezagun dei int horretan, hasieran.
>> STUDENT: Ados.
>> JASON Hirschhorn: Horregatik niretzako zentzu gehiago.
Eta?
>> STUDENT:, esan dut nik asmatu, int bukatzen.
>> JASON Hirschhorn: int bukatzen.
>> STUDENT: Uste dut, n ken 1, edo horrelako zerbait.
Bezala, azken elementua.
>> JASON Hirschhorn: Beraz, idatzi duzu, int berdinen 0, puntu eta koma, eta int hasita
amaiera berdinen n ken 1, puntu eta koma.
Beraz, funtsean, zer egiten ari garen Hemen, 0 lehen postua.
Eta dakigunez matrizeren, ez dute joan n arte, gora joan ziren eta 1 n ken.
Beraz, gure array mugetatik batzuk ditugu.
Eta hasierako mugetatik horiek gertatuko izan gure arazoa hasierako mugetatik.
Ados.
Beraz, ona soinuak.
Ondoren lerro horri, atzera egin dugu bada, berriz, zerrendaren luzera 0 baino handiagoa,
zer-n ordez, egin beharko lukete jarri dugu hemen?
>> STUDENT: ken hasieran bukatzen idaztea.
>> JASON Hirschhorn: ken bukatzen bitartean hasten da 0 baino handiagoa?
Ados.
Eta, ezin izan genuen nahi dugu osatzen duten pixka bat ikusgarriago, zer
bestela egin genezake?
Garbitu nahi badugu kode hori pixka bat sortu?
Nola egin dezaket 0 du ezagutu ditugun kentzeko?
Hau estilo galdera bat besterik ez da.
Zuzena da oraintxe.
>> STUDENT: Amaitu ez du Hasieran berdinak?
>> JASON Hirschhorn: zer egin ahal dugu?
>> [AHOTS INTERPOSING]
>> STUDENT: Amaitu da handiagoa?
>> JASON Hirschhorn: Bai.
Besterik egin dezakegu amaitzeko bitartean hasieran baino handiagoa da.
Eskuinera.
Beste aldera hasita erantsi dugu hori, eta got 0 kentzeko dugu.
Beraz, hori itxura bat bit garbiagoa gutxi.
Ados.
Beraz, zerrenda luzera 0 da, berriz, idatzi dugu horretan, amaitzeko, berriz, handiagoa da
hasita baino.
Beharrezkoa gure jarri goaz kizkur, eta, gero, lehenengo gauza
egin nahi dugun da begiratu zerrenda txiki batean horiek.
Duzu?
Ezin me ematen dizu -
>> STUDENT: bada parentesi balioa kortxetea -
>> JASON Hirschhorn: parentesi bada balioa kortxetea.
>> STUDENT: amaitzeko 2 arabera banatuta.
>> JASON Hirschhorn: amaitzea?
>> STUDENT: zure sarean arazo bat ikusten dut -
>> JASON Hirschhorn: Ados.
Beno, erdialdera begiratu.
Nola dakigu erdian zer den?
Bai.
Hargatik nau kodea duten ezabatzeko.
Nola dakigu erdian zer den?
Ezer, noiz hasieran duzu eta amaieran, nola ez, aurkituko duzu
erdian?
>> STUDENT: You batez bestean.
>> STUDENT: horiek gehi elkarrekin eta gero -
>> JASON Hirschhorn: Gehitu itzazu elkarrekin, eta ondoren?
>> STUDENT: eta batez besteko duzu.
Zatitzea 2 gehitu.
>> JASON Hirschhorn: Gehitu itzazu elkarrekin eta 2 eta zatitzea.
Beraz, int erdian berdin?
Tom, bertan eman dezakezu niri?
>> STUDENT: hasieran plus amaitzeko -
>> JASON Hirschhorn: Hasiera plus bukatzen.
>> STUDENT: Guztiak, parentesi, 2 arabera banatuta.
>> JASON Hirschhorn: Guztiak, parentesi artean, 2 arabera banatuta.
Beraz, erdian ematen dit ezer, zuzentzeko?
>> STUDENT: hura biribiltzeko sortu ere egin beharko duzu.
>> JASON Hirschhorn: Zer egiten duzu esan nahi, hura biribiltzeko sortu behar dut?
>> [AHOTS INTERPOSING]
>> STUDENT: Horregatik da bitxia bada zenbakia, ondoren egin bezala -
>> JASON Hirschhorn: Beno, OK.
Beraz biribiltzeko ezin dut sortu.
Baina kopuru bitxia, 5 bat izanez gero, ahal ditut hartu 1 Erdigunetik urrun.
Edo baita zenbaki bat bada, hobeto esanda, Hori horrela hobea da.
Da 4 bada, 4 besterik ez dugu, hartu ahal izango dut lehen "erdian", aurrekontua, unquote edo
Bigarren "erdiko" bat.
Bai bilaketa bitarra bat lan litzateke, beraz, ez benetan behar dut biribiltzeko.
Baina bada beste gauza bat da I Behar den begiratu lerro.
Agian ez gara konturatzen da oraindik, baina etorri egingo da itzuli dugu.
Benetan lerro hau oraindik delako beste gauza bat behar du.
>> Baina, orain arte, idatzi dugu lau kode lerro.
Lortu dugu gure hasieran eta markatzaileak bukatzen.
Gure berriz, begizta, zein mapak dugu zuzenean gure pseudocode izateko.
Dugu erdian duten mapak ikusten ari zara zuzenean gure pseudocode kalera.
Honen erdian doa esango nuke zerrendaren, kode-lerro hau.
Eta, ondoren, behin joan erdian behar dugu zerrendan, egin behar dugun hurrengo gauza
begiratu gure balioa da ez bada pseudocode lehenago idatzi dugu.
>> Beraz, nola ez egiaztatu dugu bada gure balioa zerrendaren erdian dago?
Duzu.
Zergatik ez duzu hau?
>> STUDENT: bada gure balioa en da erdian da berdina
ezarri dugu edozein dela -
Berdina esan nahi dut -
>> JASON Hirschhorn: It -
Ados.
>> STUDENT: ez nago ziur zer aldakorra bilatzen ari gara
nahiz eta delako -
>> [AHOTS INTERPOSING]
>> STUDENT: [INAUDIBLE].
>> JASON Hirschhorn: Zehazki.
Funtzioaren adierazpenean bakoitzeko, balio bat bilatzen ari gara.
Beraz, balio bat bilatzen ari gara balioak array bat.
Beraz, zehazki eskubidea.
Egin ahal izango duzu, bada paren balioa parentesi erdian itxita parentesi berdinen
balioaren bestekoa, eta barruan ez dago zer egin behar dugu?
Bada gure balioa en han, zer egin behar dugu?
>> [AHOTS INTERPOSING]
>> STUDENT: Return zero.
>> JASON Hirschhorn: itzuli egia.
>> STUDENT: itzuli egia.
>> JASON Hirschhorn: Michael, zer egin du linea hau?
>> STUDENT: [INAUDIBLE] programa exekutatu bere ikastaroa, eta hori baino gehiago, eta
zer egin behar duzun duzula?
>> JASON Hirschhorn: Programa edo zer?
Kasu honetan?
>> STUDENT: funtzioa.
>> JASON Hirschhorn: funtzioa.
Eta, beraz, edozein izanda ere deitzen itzultzeko da eta eman balioa, egia.
Zehazki eskubidea.
Nagusia.
Zer da bueltan mota nagusienetakoa, Michael?
>> STUDENT: int, osoko zenbaki?
>> JASON Hirschhorn: int, zehazki.
Zenbaki oso bat.
Hori izan zen galdera bat ziurtatu besterik you guys dute gainean egon.
Zer esan nahi du itzuli ohi da, bada gauza guztiak ondo funtzionatu?
>> STUDENT: Zero.
>> JASON Hirschhorn: Zero.
Zehazki eskubidea.
>> STUDENT: hau besterik itzultzen Egia bada, ez da ez ari emandako informazioa
buruz zer -
Oh, hori besterik esaten duten balioa array barruan.
>> JASON Hirschhorn: Zehazki.
Programa hau ez da informazioa emanez non zehazki balioa da.
, Bakarra da esaten, bai, aurkitu dugu da, edo ez, ez dugu aurkituko.
Beraz zenbaki aurkituz gero, itzultzeko egia.
Beno, egia esan, besterik ez genuen benetan azkar bat kode-lerro horretan.
Beraz mugitu dut pseudocode-ildo horretan.
>> STUDENT: Ez behar dugu array aldatzeko?
Balioak, ez balioa izan behar du, ezta?
>> JASON Hirschhorn: Barkatu.
Eskerrik asko.
>> STUDENT: Bai.
>> JASON Hirschhorn: Lerro honek balioak izan beharko luke.
Zehazki eskubidea.
Ados.
Beraz, erdiko zerrenda begiratu dugu.
Zenbakia aurkitu bueltan egia bada.
Jarraitu gure pseudocode batera, bada erdiko handiagoa da, bilaketa utzi.
Beraz izan hemen dut, bada zenbaki handiagoa, bilaketa utzi.
Konstantino, ezin emango dizu me kode-lerro hau?
>> STUDENT: erdiko balioa bada -
>> JASON Hirschhorn: Beraz balioa bada -
paren baloratzen parentesi bada Erdigunetik hurbil bracket -
>> STUDENT: balioa baino txikiagoa da?
>> JASON Hirschhorn: baino gutxiago da.
>> STUDENT: balioa baino gutxiago.
>> JASON Hirschhorn: Balio.
Beno, egia esan, nahi duzun check zenbakia bada -
Barkatu.
Hau da, apur bat nahasia.
Baina bestela bada zenbakiaren zerrendaren erdian handiagoa da.
>> STUDENT: Oh, OK.
>> JASON Hirschhorn: aldatu dut.
Erdiko handiagoa da, bestela bada, dugu ezker bilatu nahi, OK?
Eta zer barrutik egiten dugu honetan baldintza bada?
>> STUDENT: Ezin aldaketa txiki bat egin dut baldintza, alda ezazu, bestela, nahi izanez gero?
>> JASON Hirschhorn: Else gero?
Ados.
Beraz, kode hau exekutatu egingo buruz bera.
Baina, gero, bestela erabiliz buruz gauza polita da , bada, bestela bada, edo bada, bestela bada, bestela
esan nahi du soilik horietako bat da, joan egiaztatu, ez denak hiru,
potentzialki.
Eta hori egiten du pixka bat hori da ordenagailuan ikusgarriago
zure programa exekutatzen.
>> Beraz, [? Constantino,?]
baloreak izanez gero lerro honen barruan dugu, bestela, parentesi erdian ixteko kortxetea
balioa baino handiagoa da.
Zer egin behar dugu?
Ezkerretik bilatu behar dugu.
Nola egin behar dugu?
Emateko Irteeran bat noa.
>> Izeneko bi gauza horiek ditugu hasten eta bukatzen.
Beraz, zer gertatuko beharrak hasierara?
Ezkerraldean bilatu nahi baduzu zerrenda, gure egungo hasieran lortuko dugu.
Zer egin behar dugu?
>> STUDENT: hasieran ezarri dugu erdiko gehi 1.
>> JASON Hirschhorn: Beraz, bada gara ezkerretik bilatzen?
>> STUDENT: Barkatu, erdiko ken -
beraz amaiera erdian izango litzateke ken 1 eta hasieran -
>> JASON Hirschhorn: Eta zer hasieran gertatzen da?
>> STUDENT: berdin jarraituko du.
>> JASON Hirschhorn: Beraz, esanahi bera egonaldiak.
Dugu ezkerretara bilatzen bazabiltza, gaude Hasieran bera erabiliz -
zehazki eskubidea.
Eta amaitzeko?
Sentitzen dut, zer ez du berriro berdina amaitzeko?
>> STUDENT: Erdi ken 1.
>> JASON Hirschhorn: Erdi ken 1.
Orain, zergatik ken 1, eta ez bakarrik erdian?
>> STUDENT: erdian kanpo dago Irudia dagoeneko, izan genuelako
egiaztatu dela, ezta?
>> JASON Hirschhorn: Hori zehazki eskubidea.
Erdian Irudian kanpo dago.
Egiaztatuko dagoeneko dugu erdian.
Beraz, ez dugu nahi "erdian", aurrekontua unquote, hemen egon jarraitzeko
array bila ari garela.
Beraz, hau zoragarria da.
>> Bestela balioak parentesi erdiko handiagoa bada balioa bukatzen berdinen baino
erdiko ken 1.
Jeff, zer azken lerro horri buruz?
>> STUDENT: bestek.
Balioen erdiko da balioa baino gutxiago?
>> JASON Hirschhorn: gurekin izango me bestela ematen ari zara.
Beraz, ez baduzu emaidazu -
>> STUDENT: Orduan hasten erdiko gehi 1 izango litzateke.
>> JASON Hirschhorn: hasieran berdinen erdiko plus 1, berriro ere, gauza bera
Horregatik Constantino eman zigun lehenago.
Eta amaieran, ez du ematen duten me kode lerro bat oraindik?
Itzultzeko faltsua, Aleha, zer egin, hemen idazten dugu?
>> STUDENT: Return faltsua.
>> JASON Hirschhorn: Return faltsua.
Eta hori egin behar dugu, izan ere, badugu ez dute aurkitu, esan behar dugu
ez zuen aurkitu.
Eta itzultzeko goaz esan genuen bat bool, beraz, behin betiko dugu itzultzeko
bool nonbait bat.
>> Hargatik exekutatu kode hau.
Benetan naiz joan -
beraz Oraindik terminalean dugu.
Gure leihoa garbituko dugu.
Dezagun Egin guztiak.
Aurkitu dugu errore bat dago.
On line 15 errore bat, espero ez dago du amaieran puntu eta koma
adierazpenean.
Beraz, zer ahaztu dut?
>> STUDENT: Puntu eta koma.
>> JASON Hirschhorn: Puntu eta koma hementxe gora.
Uste dut hori izan zen Tom-en kodea.
Beraz, Tom, [INAUDIBLE].
Just kidding.
Dezagun guztiak berriro egin dezaket.
>> STUDENT: Zer Dropbox directory behar izan dugu hau egiteko?
>> JASON Hirschhorn: Beraz, ahal duzun besterik ez bit hau ikusteko.
Baina, berriro ere, hau mugitu nahi baduzu Zure pset3 direktorioan kode saiatu
it out, zer egin nuen hori.
Duzu hemen nabarituko bada egingo - Barkatu, galdera ona.
>> [? LS,?]
Izan hemen dut find.c kodearen Aste honetan distro kodigoa.
Helpers.h daukat.
Make-fitxategi hori dut egia esan behar dut editatutako pixka bat berri horiek sartzea
fitxategiak idazten ari gara.
Kodea duten guztien eskura, ezin izango da banaketa-kodea, baina berria
Egin fitxategi batean, helpers.h fitxategi berri izango erabilgarri egongo online deskargatzerik.
Berriz ere, beraz, horiek dira kodeak estra dugu.
>> Beraz, guztiak, lerro hau bakoitzeko, egiten jakiteko, bitarra, burbuila aukeraketa - marka
denak hiru eta sartu biltzen kodea aurkitu exekutagarri hau.
Beraz, oro har, ez dugu nahi zuzen check50 izateko.
Gure kabuz probak batzuk exekutatu nahi dugu.
Baina besterik ez, beraz, pixka bat hau azkartzeko ahal izango dugu, check50 2013 pset3.find igaroko
nire txarra - helpers.c-in.
>> Ez dut oraintxe dutela.
Beraz, benetan ari gara joan benetako kodea exekutatu.
Usage.find /, zer esan nahi duen badakizu?
>> STUDENT: segundo bat behar duzu komando lerroko ezazu.
>> JASON Hirschhorn: behar dut Bigarren komando-lerro bat.
Eta zehaztapen bakoitzeko, behar dut zer bilatzen ari gara sartzeko.
Hargatik begiratu 42.
Egiten jarraituko dugu ordenatuko dira, zeren dugun oraindik ez dute idatzizko moduko funtzio bat -
42, 43, 44.
>> Eta Kontrol D ez zuen aurkituko du Lastategi batean orratz.
Hori da txarra.
Behin betiko han.
Dezagun saiatu beste zerbait utzi.
Agian dut jarri delako hasiera arte.
>> Egin dezagun 41, 42, 43 utzi.
Hor dugu.
Aurkitu da.
Dezagun jarri amaieran orain, besterik hain sakon izan ahal izango dugu -
40, 41, 42.
Ez nuen orratza aurkitu.
Beraz, lehenago aipatu dut.
Zoritxarrez, hau banekien zen gertatuko.
>> Baina helburu pedagogikoa egiteko, ona da aztertzeko.
Ez du funtzionatzen.
Arrazoiren batengatik, ezin du aurkitu.
Badakigu zer han, baina ez daukagu ​​aurkitzeko.
Beraz, gauza bat egin ahal izan genuen da bidez joan GDB aurkitu nahi du, baina ez du inor,
GDB zeharkatu behar izan gabe, izan bat non izorratu dugu zentzurik?
[? Madu? ?]
>> STUDENT: egon liteke bukatzen denean uste dut Hasieran berdina da, eta hori da
bakar-elementu zerrenda bat.
Ondoren muzin besterik ez da ordez du benetan da egiaztapena.
>> JASON Hirschhorn: Hori zehazki eskubidea.
Amaiera berdinen denean hasieran, egiten dugun oraindik ere gure zerrendan elementu bat izan?
>> STUDENT: Bai.
>> JASON Hirschhorn: Bai, hain zuzen ere, dugu bat eta elementu bat bakarrik izan.
Eta hori izango da seguruenik gertatuko denean, kodearen probatu dugu per, are dugu
Lastategi du edo, aurrealdean Lastategi amaieran.
Hori da, non, hasieran eta amaiera da berdina joan
bata, bilaketa bitarra.
Beraz, bi kasu horietan, ez du funtzionatzen, bukatzen delako hasieratik berdintasuna izan zen.
>> Baina bukatzen bada hasieran berdina da, exekutatu du, berriz, begizta hau?
Ez da.
Eta egiaztatu egin ahal izan genuen berriro GDB bidez.
Beraz, nola egin dezaket kode hau konpondu dugu, zeren denean bukatzen berriz berdina da
hasita, hau ere nahi dugu exekutatu begizta bitartean.
>> Beraz, zer fix daiteke 18 lerro egin dugu?
>> STUDENT: [INAUDIBLE] handiagoa da baino edo berdina.
>> JASON Hirschhorn: Zehazki eskubidea.
Amaiera baino handiagoa den bitartean edo hasieran berdina.
Beraz, gaur egun, ziur hori lortzeko egiten dugu amaieran izkina kasu.
Eta ikus dezagun.
Dezagun exekutatu ko denbora gehiago honetan.
>> Dezagun guztiak.
Berriz ere, izan besterik ez duzu jarraitu batera hemen.
Aurkituko 41 une honetan.
Horretarako, mantendu da koherentea.
>> Aurkitu 42.
Dezagun jarri hasieran -
42, 43, 44.
Aurkitu dugu.
Beraz, hori izan zen, hain zuzen ere, aldaketa egin behar dugu.
>> Duten kodetze dugu asko izan zen besterik egin, bilaketa bitarra.
Du inor baino lehen edozein zalantza Mugitu idatzi dugu lerro sartu dut
bilaketa bitarra edo nola hurrena dugu zer irudikatu genuen kanpora irten?
Aurretik mugitzen, seinalatu ere nahi dut dela eta handiak daudelarik, kartografiatu dugu
gure sasi-kode bat gure kodea kalera bat.
>> Izan genuen gauza delikatua dela irudikatu duen
hasten eta bukatzen.
Baina zuk ez duten figured out, you nahiko askoz idatziko zukeen du
berdin-kodea, gorde goiko bi lerro horiek.
Eta orduan konturatu zukeen denean Egin duzun egiaztapen eta kasuetan duen
beste zerbait egin behar duzu.
Zuk jarraitu izan balu, beraz, nahiz eta gure sasi-kodea linea nahi, dut, nahi duzun
bi ildo baina guztiak ahaztuak idatzi behar duzu kodea.
>> Eta apustua prest izango nuke zuk guys Denek hurrena litzateke hori
nahiko azkar, jarri behar zenuen markatzailea nolabaiteko han irudikatu
non zinen daudelarik.
Berriro, egiteko potentzia da sasi-kodea denbora aurretik.
Beraz, logika, lehen egin ahal izango dugu, eta ondoren sintaxia kezkatu ahal izango dugu.
>> Izan logika buruzko nahastu dugu sido bitartean C kode hau idatzi nahian,
dugu ahaztuak zukeen voodoodoll.
Eta orduan guk be buruz galderak litzaidake logika eta sintaxia eta ixtea
horiek guztiak elkarrekin.
Eta ahaztuak genuke galdutako zer azkar bihurtu batean
Oso zaila da arazo.
Hargatik mugitu orain aukeraketa sort zen.
>> 20 minutu utzi behar dugu.
Beraz, sentimendu bat ezin izango dugu gai daukat aukeraketa sort guztietan barrena,
eta burbuila sort.
Baina utzi gutxienez saiakera gurekin aukeraketa sort amaitzeko.
Beraz, aukeraketa ezartzeko ordena erabiltzen ari da funtzioa adierazpena jarraituz.
>> Berriz ere, hau da ateratako arazo multzo zehaztapena.
Int balio da parentesi artean, ez da zenbaki osoen array bat.
Eta int.n array duen tamaina da.
Aukeraketa sort va array hau ordenatzeko.
>> Beraz, gure buruko aukeraketa eredu bakoitzeko ordenatu, tira dugu -
Lehenengo, zerrendan zehar aurrena joan gara ordua, aurki kopuru txikiena,
jarri hasieran, aurkitu bigarrena kopuru txikiena, jarri diren
bigarren postua nahi dugu goranzko ordenan ordenatu.
Ez dut idazten duzun behartuz sasi-kodea oraintxe.
>> Baina kodearen egin aurretik dugu klase bat bezala Bost minutu, ari idatzi dugu
sasi-kodea beraz zentzu batzuk ditugu of nora goazen.
Beraz saiatuko sasi-kodea idazteko zure kabuz.
Eta, ondoren, hori pizten saiatuko sasi-kodea kodea sartu.
Horretarako aukera izango dugu talde gisa bost minututan.
>> Eta, jakina, utzi naute bada Edozein zalantza izanez.
>> STUDENT: Hori da?
>> JASON Hirschhorn: Ikusi noraino duzun daiteke bi minutu gehiago lortu.
Ulertzen dut ez duzu izan nahi du amaitu.
Baina dugu talde gisa honetan zehar joango.
>> Guztiak beraz coding zaren [INAUDIBLE], beraz, naiz Sentitzen zer egiten ari zaren pausatu.
Baina dezagun talde gisa joateko honen bidez.
Eta berriro ere, bilaketa bitarra, emango dizu guztiak niri inork ez badu kode lerro gehiago.
Eskerrik asko horretarako.
Gauza bera egiten dugu Hemen, elkarrekin kodea talde gisa.
>> Beraz, aukeraketa sort - en idazten utzi azkar sasi-kodea batzuk.
Eredu mental bakoitzeko, norbaitek eman dit la sasi-kodea lehen lerroan, mesedez?
Zer egin nahi dut?
>> STUDENT: bitartean zerrendan barrutitik kanpo dago.
>> JASON Hirschhorn: Ados, berriz, Zerrendako ordena da.
Eta zer esan nahi duzu "kanpo?"
>> STUDENT: bitartean [INAUDIBLE]
ez du ordenatuko dira.
>> JASON Hirschhorn: bitartean zerrendan barrutitik kanpo dago, zer egiten dugu?
Give me bigarren lerroan, mesedez, Marcus.
>> STUDENT: Beraz, aurki hurrengo txikiena kopurua.
Honek koska egingo da.
>> JASON Hirschhorn: Beraz aurkitu du hurrengo zenbaki txikiena.
Eta gero, norbaitek?
Behin hurrengo txikiena aurkituko dugu zenbakia, zer egiten dugu?
Aurkitu esan noa kopuru txikiena.
Hau da, zer egin nahi dugun.
>> Beraz, zenbaki txikiena aurkitu.
Orduan, zer egiten dugu?
>> STUDENT: [INAUDIBLE] hasieratik.
>> JASON Hirschhorn: Barkatu?
>> STUDENT: Jarri batean zerrendaren hasieran.
>> JASON Hirschhorn: Beraz gorde hemen zerrendaren hasieran.
Eta zer gauza behar dugu hasieratik izan zen
zerrendaren, ezta?
Zerbait gainidatziz ari gara.
Beraz, non ez duten jarri dugu?
Bai, Anna?
>> STUDENT: Non txikiena zenbakia izan da?
>> JASON Hirshhorn: Beraz jarri hasieran zerrendaren non
kopuru txikiena izan zen.
Zerrendako ordena da, beraz, bitartean, jakin kopuru txikiena, gorde hemen
zerrendaren hasieran, jarri zerrendaren hasiera-hasieratik bertan
kopuru txikiena izan zen.
Marcus, dezakeen lerro hau rephrase duzu Zerrendako ordena deno?
>> STUDENT: bitartean zenbakiak ez dira ordenatuko?
>> JASON Hirshhorn: Ados, beraz, ordena Ezagutzen duten zenbakiek ez dute
ordenatuta, zer egin behar dugu?
Zenbat behar dugu Zerrenda honen bidez joan?
>> STUDENT: Beraz bat asmatzen dut loop, edo berriz, zenbakiak egiaztatuko bitartean ez da hain
zerrendaren luzera baino?
>> JASON Hirshhorn: Ados, hori ona da.
Uste dut I misphrased nire galdera gaizki.
Besterik ez ziren iritsi nintzen saiatzen joan behar dugu
zerrenda osoa bitartez.
Zerrendako ordena da, beraz, bitartean, niretzat, gogorrean mapatzeko da.
Baina, funtsean, hori nola Hau pentsatzen dut.
Zerrenda osoa pasatzen, aurkituko du kopuru txikiena, jarri diren
hasten - benetan, eskubidea zaren.
Dezagun biak jarri.
>> Zerrendako ordena da, beraz, bitartean, dugu Zerrenda osoa zehar joan behar
behin, aurki txikiena zenbakia, leku zerrendaren hasieran da, jarri
zerrendaren hasieran bertan kopuru txikiena izan zen, eta ondoren, baldin
zerrenda da oraindik ordena, dugu honen bidez lortu
prozesua berriro, ezta?
Horregatik, aukeraketa ordenatu, Big-O exekuzio aukeraketa ordenatzeko, edozeinek?
>> STUDENT: n karratu.
>> JASON Hirshhorn: n karratu.
Marcus eta ni konturatu bezalakoa delako Hemen, nahi behar dugu
zerrenda zerrendan zehar joan zenbat aldiz.
Beraz zerbait igaro luzera n n aldiz zenbaki
da hain zuzen ere, n karratu.
>> Beraz, hau da gure pseudocode.
Honek itxura oso ona.
Du inor edozein zalantza pseudocode buruz?
Benetan aukeraketa sort hori behar duelako Ziurrenik bat etorri bat, kodea etara
pseudocode.
Beraz buruzko edozein pseudocode logika?
Mesedez eskatu du orain.
>> Aukeraketa sort - zerrendatik kanpo dagoen bitartean ordena, horren bidez joan goaz
eta jakin txikiena aldi bakoitzean eta jarri aurrealdean.
Zerrendaren ordena, ezin atera da, beraz, berriz norbaiti eman dit kode lerro bat nork
Ez eman dit lerro bat Oraindik kode, mesedez?
Soinuak zer bat bezala?
>> STUDENT: Hori da, bat begizta.
>> JASON Hirshhorn: It soinuak Nahi bat begizta.
Ados, ezin me ematen dizute begizta for?
For -
>> STUDENT: i berdin 0.
>> JASON Hirshhorn: i edo -
zer ari gara falta?
Zer doa hementxe?
>> STUDENT: Int.
>> JASON Hirshhorn: Zehazki.
(Int i = 0; -
>> STUDENT: i <n; i + +).
>> JASON Hirshhorn: Nailed da, Jeff.
Zerrendaren bidez ari gara, ezta?
Aurretik ikusi dugu, kode hori.
Perfektua.
Hargatik jarri gure giltza kizkur hemen.
Batzuk jarri nahi dut giltza kizkur hemen.
>> Beraz, 0, berriz, joan behar dugu zerrenda osoa bidez.
Beraz, aldi bakoitzean zerrendan zehar joan gara, zer segimendua egiteko nahi dugu?
>> STUDENT: edozein trukeak egin dira, bada.
>> JASON Hirshhorn: Aurkitu kopuru txikiena.
Beraz, ziurrenik segimendua behar dugu aldi bakoitzean txikiena kopurua.
Beraz lerro dezake segimendua egiten dut kopuru txikiena?
Aleha, nola ahal dut mantentzeko zerbaiten arrastoa?
>> STUDENT: Hasi aldagai berri bat.
>> JASON Hirshhorn: Hasi aldagai berri bat.
Hargatik sortu aldagai bat.
Zer mota?
>> STUDENT: Int.
>> JASON Hirshhorn: Int.
Dezagun txikiena deitu.
Eta zer egiten du orduan berdinak ari gara hasi?
Ez dugu zerrendan zehar desagertu oraindik.
Oraindik lehen zatia dugu zerrendatu gure lehen aldia bidez.
Zer egiten du berdina da, txikiena zenbakia?
>> STUDENT: Balioen i.
>> JASON Hirshhorn: Balioen i.
Duten soinuak zehazki eskubidea, ezta?
Hasieran kopuru txikiena da non gauden.
Beraz, orain gure txikiena dugu, eta behar dugu Zerrenda osoan zehar joan eta
alderatu honetan txikiena beste guztia.
Beraz, berriz ere zerrendan zehar joan gara?
Michael?
>> STUDENT: egin behar duzu loop beste.
>> JASON Hirshhorn: Another begizta.
Egin dezagun, bada.
Give me kodea batzuk.
>> STUDENT: begizta For -
txikiena -
besterik int j, ezin esan duzu?
= 0; hala nola -
>> JASON Hirshhorn: Beno, nahi badugu Zerrenda osoa pasatzen -
>> STUDENT: j <n, j + +).
>> JASON Hirshhorn: Fantastic.
Bidez joan goaz berriro ere, loop.
Eta nola ez, aurkituko dugu txikiena zenbakia?
Tom?
Egungo txikiena zenbakia dugu, beraz, nola ez txikiena berria aurkituko dugu?
>> STUDENT: egiaztatu ahal izango dugu bada txikiena zenbakia daukagun baino handiagoa da
parentesi j baloratzen.
>> JASON Hirshhorn: Beraz txikiena bada balioak parentesi j baino handiagoa.
Hala bada gure egungo txikiena baino handiagoa da -
Bi lerro hauek mugitu noa daude kodearen bigarren bat du.
Delako edozein aldaketa egin aurretik dugu, dugu Zerrenda osoa zehar joan behar.
Beraz pseudocode hau egin beharko lukete benetan loop barruko duten kanpo egon.
Beraz, zerrenda osoa pasatzen.
Txikiena baino handiagoa bada orduan balioak j zer?
>> STUDENT: Ondoren txikiena balioak j berdin.
>> JASON Hirshhorn: Fantastic.
Azkar galdera bat -
begizta honen bidez joan gara, lehen aldiz, i Honez 0 berdinak joan, j joan
berdinak 0 behin hemen lortuko dugu.
Beraz, egon alderatuz joan bera zenbaki bat.
Eraginkorragoa da hori?
Ez, ez da benetan eraginkorra.
Beraz, behar du gure j joan 0tik aldi bakoitzean n?
Ez, beti egiaztatu behar dugu zerrenda osoa bidez?
[INAUDIBLE]?
>> STUDENT: i Hasi ordez.
>> JASON Hirshhorn: j can zer batekin hasten?
>> STUDENT: i.
>> JASON Hirshhorn: j i has.
Beraz, orain hasita alderatu dugu bata gaude on batera.
Baina orduan ere, ez da gisa ahalik eta eraginkorra?
>> STUDENT: i + 1.
>> JASON Hirshhorn: i + 1 izan dela dirudi eraginkorrena, zeren dugun
Dagoeneko izan i.
Duten bezala adieraziz ari gara txikiena line 15.
Hemen batez hasi goaz hurrengo bat automatikoki.
Beraz loop bidez joan gara.
Aldi bakoitzean zuzenean bideratu.
Aldiz zenbaki bat zuzenean bideratu.
Orain bidez ahaztuak dugu loop barruko honetan.
Balio txikiena aurrezten dugu.
Ipini diren aztertu behar dugu zerrendaren hasieran.
Beraz, nola ez da jarri dut at zerrendaren hasiera-hasieratik?
Zer da hori aipatzen aldagaia zerrendaren hasierara?
Oraindik dugu kanpotik honetan loop, beraz, zer egiten dio erreferentzia
zerrendaren hasiera-hasieratik?
>> STUDENT: Balioen i.
>> JASON Hirshhorn: Zehazki eskubidea.
Balioen i hasieran da -
edo barkatu, ez hasieran.
Duten nahasgarria zen.
Da, non daude hasieran dugu Unsorted zerrendaren zati da.
Beraz baloratzen i.
Eta zer ez, berdinak direla?
>> STUDENT: Txikiena.
>> JASON Hirshhorn: Baloreak berdin i zer?
>> STUDENT: Txikiena.
>> JASON Hirshhorn: Txikiena.
Zehazki eskubidea.
Beraz ari gara jartzea hasieran zerrendaren, eta orain jarri behar dugu
zerrendaren hasieran non kopuru txikiena izan zen.
Beraz, nola ez dut idazten non kopuru txikiena izan zen?
Zer balioekin?
>> STUDENT: 0.
>> JASON Hirshhorn: Txiki zenbakia 0 da?
>> STUDENT: Bai.
>> JASON Hirshhorn: Zer bada txikiena zenbakia amaieran zegoen
Unsorted zerrenda honetan?
>> STUDENT: Barkatu, zer galdera zen?
>> JASON Hirshhorn: Non dago txikiena zenbakia?
Txikiena hartu genuen eta jarri zuen , hasten diren lerro honekin hemen.
>> STUDENT: eduki beharko lituzke sido batzuk gordetzen -
>> STUDENT: Balioen j.
>> JASON Hirshhorn: Beno, ez derrigorrez baloratzen j.
Ez du, nahiz puntu honetan existitzen.
>> STUDENT: aldarrikatzen duzu aldagai bat lehenago eta
ondoren, esleitu ahal izateko -
denean kopuru txikiena aurkituko duzu, zenbaki hori indizea esleitu
aldagai edo horrelako zerbait batzuk.
>> JASON Hirshhorn: Beraz, ahal duten esan duzu berriro?
>> STUDENT: Beraz, non int deklaratu duzu txikiena, int ere aldarrikatu behar duzu
indize txikiena = i, edo horrelako zerbait.
>> JASON Hirshhorn: Beraz, non int dut txikiena, behar pista ez bakarrik mantentzen dut
balioa baina kokapena du.
int smallest_location = honetan kasuan, besterik ez dugu egin i.
Non dagoen jakin behar dugu.
Lortu kodearen amaierara dugu, eta guk konturatu ideia ez non izan zen izan genuen.
Eta, beraz, berriro ere, mapping gara hau aukera bat da.
Zure borondate propioz kodeketa hau Zaudete Ziurrenik arazo bera lortzeko.
Nola demontre ez da aurkitu dut?
Eta gero, konturatzen zara itxaron, I horren segimendua egiteko behar.
>> Beraz txikiena da handiagoa bada j balioak baino.
Txikiena balioak j berdin ezarri dugu.
Zer gehiago aldatu behar dugu?
Constantin, zer gehiago egin aldatu behar dugu?
>> STUDENT: kokalekua.
>> JASON Hirshhorn: Zehazki.
Beraz, eman zidan kode horretan lerroa.
>> STUDENT: smallest_location = j.
>> JASON Hirshhorn: Zehazki.
Eta, ondoren, bukaeran behera, nahi badugu zerrendaren hasieran jarri non
kopuru txikiena izan zen, nola ez aipatzeko nora dugu
kopuru txikiena izan zen?
Marcus?
>> STUDENT: kopuru txikiena izan zen txikiena kokapenean dago.
>> JASON Hirshhorn: balioak Beraz at smallest_location.
Eta zer ez dago jarri dugu?
Hasieran zerrenda, zer da hori?
>> STUDENT: Beno, ez benetan jakin dugu jada delako gainidatzi dugu.
Beraz trukatu kokapenak bat da bi lerro horiek?
Inguruan bi lerro horiek aldatzen baduzu.
>> JASON Hirshhorn: Ados, beraz, ez dugu jada, lerroa dugu berrezarri delako
balio txikiena i aurretik.
Beraz, hasierako balioa galdu genituen.
Beraz swap bi lerro hauek esan duzu.
Beraz, orain zerrendan hasieran jarri non kopuru txikiena izan zen.
Beraz smallest_location berdinen balioak i.
Hori da honen hasieran mugitzen Unsorted to zerrendaren zati
txikiena kokapena.
Eta gero, balioak sartu i mugitzen ari gara kopuru txikiena duten.
>> Ez duela zentzurik zergatik garen izan swap hori egiteko?
Balioa duten gainidatzi zukeen dugu - seguruenik duzu litzateke beste gauza
hurrena eta BPG aurkitu.
Beraz, tratua dugu of pseudocode guztian.
Ba al dago beste ezer dugu hemen idatzi behar?
Daiteke inor ezer bururatzen?
>> STUDENT: Nola dakizu amaitu duzunean?
>> JASON Hirshhorn: nola egiten dugun Ezagutzen Bukatutakoan dugunean?
Handia galdera.
Beraz, nola ez Bukatutakoan dugunean badakigu.
>> STUDENT: Sortu aldagai bat kopuruan mantentzeko han egin swap bat duen edo ez
eta pass baten bidez joan.
>> JASON Hirshhorn: Ados.
Lukeen burbuila moduko batean lan egiteko.
Baina aukeraketa moduko baterako, ez badugu swap bat egin, besterik ez izan dezaketen
duelako balio txikiena da bertan bere eskuineko kokapena.
Baliteke zerrenda bat 1, 2, 4, 3 daukagu.
Garen bidez bigarren aldiz ez du inolako trukeak.
Egingo zenbakia 2an izango dugu, baina ez dugu egingo Oraindik ere neurtuko ditugu.
Beraz, ez denean segimendua behar dugu Bukatutakoan dugu, edo ez besterik joan nahi dugu
hau da, amaitu arte?
>> STUDENT: besterik joan gara uzten amaitu arte.
>> JASON Hirshhorn: ezin dugu besterik joan honetara arte dagoen bukatuta.
Burbuila moduko batean, zaren zehazki eskubidea, Jeff eta Aleha, zure irtenbidea batera -
handia da segimendua egiteko zenbat trukeak, egin duzulako burbuila batean
ordenatu, hain zuzen ere egiten baduzu egin trukeak ez, Bukatutakoan eta agian dezakezu moztu zure
Arazoa pixka bat behera.
Baina aukeraketa sort, benetan duzun joan deneko amaieran lortu
aldi bakoitzean inguruan zerrendatu.
>> Beraz, hau da hori.
Bi minutuz utzi behar dugu.
Dezagun guztiak.
Let me besterik irekia hemen topatu eta egin ziur naiz hain zuzen ere sortu deika -
Ez dut burbuila moduko deituz.
Dezagun aldatu honen aukeraketa sort zen.
guztiak egin. / aurkitu.
Jakin dezagun 42.
Oraingo honetan bat egin beharko dugu Unsorted zerrenda, ordenatzeko behar delako
lehenengoa, aurkitu kodearen per - ordenatzeko behar lehen gure moduko funtzioa erabiliz eta, ondoren,
zerbait bilatzeko.
Behatzak denek zeharkatzen.
>> Oh my bondad.
Tira, nire bihotzeko taupadak zen.
Beraz, zuzena dela.
Izan ere, hau gehiago ran badugu zabala, kodea, neurrian ahal dudan bezala
esango, guztiz zuzena.
Badira zenbait iradokizun Zuretzat nuke.
Esate baterako, 15 eta 16 diruditen erredundantea apur bat.
Ez duzu atsegin nahitaez badirudi gorde bai behar.
Kokapen txikiena, zuk badaukazu Erraz balio txikiena aurkitu ahal arabera
besterik i balioak idazten.
>> Hala bada be kalifikatzean zure kode ziren I, hau da, hain zuzen ere, izan dut, nuke
Ziurrenik aireratzen puntu bat baduzu horiek biak barne, duzulako
ez da beharrezkoa horiek bai.
Kokalekua badaukazu, ahal duzun balioa oso erraz lortuko.
Eta pixka bat arraroa dirudi biak gordetzeko.
Agian ez, nahiz eta puntu bat hartu, baina zalantzarik comment duten hori da, agian,
Ez aukera estilistiko bat egiteko behar dituzun.
Jakina, kodea oraindik primeran doa.
>> Beraz, tamalez, ez genuen burbuila moduko iristeko.
Horri buruzko Sentitzen dut.
Akabera aukeraketa ordenatu egin dugu.
Du inor edozein azken galdera aukeraketa sort buruz?
>> Ados, buru dugu aurretik, nahi dut ireki zure Chrome nabigatzailea.
Barkatu, ez zen besterik blatant plug bat Interneteko nabigatzailean-mota baterako.
Ireki ahal izango duzu, edozein nabigatzaile mota, baina baliteke Chrome izan.
Eta joan ondoko web honetan -
sayat.me/cs50.
Ez al duzu zure ordenadorean idazten ari bada oraintxe, Oraindik argi
ez da egiten, Tom.
>> Eta mesedez egin ezazu bai eskuineko orain edo hurrengo ordu in -
emaidazu feedback batzuk.
Hau bakarrik bi atal ditu.
Askoz gehiago izan dugu elkarrekin, beraz, I gela hobetzeko asko izan.
Zorionez ere gauza batzuk ondo egin nuen.
Beraz, egin ahal duzun guztia txarra sentitzen naiz, baina bada ere niri emateko emotikono bat nahi duzu
aurpegia, hori eskertuko nuke baita.
Bete direla sartu
>> Eta minutu bat utzi, duten hiru aste izan zen.
Stand dut kanpotik apur bat Edozein zalantza izanez gero.
You guys ikusiko dut hitzaldia bihar.