>> [Musika jotzen]
>> Davin: Ondo da, guys.
Beraz, hau berrikuspena da lehen quiz da.
Denek prest dago Asteazkenean galdetegia?
ALLISON: Woo!
Ikaslea: Woo!
Davin: Bai.
ALLISON: Yeah!
Davin: Guy That prest.
Guy That, bi eskuak, polita.
Gaur egun, beraz quiz berrikuspena, joan da ordubete eta erdi ingurukoa izango.
To nagusi guztiak baino gehiago joan goaz kontzeptu galdetegia jakin behar duzu.
Kodeketa errepasatuko by goaz eskuko adibide dira, galdetegi guztietan.
Eta zalantzarik baduzu, aske Zure eskua eta dena goratzeko
horrelako.
Beno, buruz logistika galdetegia konektatuta.
Beraz, pertsona zatitu joan gela ezberdinetan sartu arte.
Honez euren izenean oinarritzen da.
Beraz, non buruzko edozein zalantza izanez gero, joan edo material zein den, bezalako buruz,
zer ari den gertatzen ari hitza ofiziala galdetegia izango da, egiaztatu online.
Eta hori guztia eguneratuta.
Beraz, ez dira galderak ez bada , ari gara hasteko hasteko.
Eta hemen Allison.
>> [Txaloak]
>> ALLISON: Ados, eskerrik asko, Rob.
Eskertzen da.
Davin behar honetarako iraulita dute.
Hau zerrenda ez-zehatza da gaiak, beti bezala, besterik gabe, esan zuen Davin.
Begiratu dokumentazioa galdetegi zero buruz konektatuta.
Baina hori da pretty askoz da curriculumaren an
dena baino gehiago joan gara horrela urrun dago.
Dena hemen arrazoizko joko bat da, baita beste ezer bezala
izan daiteke hitzaldian aipatu.
>> Nire atala, hemen da, besterik berrikuspena asko.
Badira pare ariketa bat you guys lan egin dezake on.
Baina gehienak, benetan dugu to Davin lortu kodea horiekin nahi
eskuko ariketak.
>> Beraz, nahi honen bidez hegan joan.
Edozein zalantza izanez gero, gelditu me.
Goratu zure eskua.
I ziurrenik ikusiko duzu hitzematen dut.
Ez bada, besterik gabe, olatuen inguruan.
Noa azkar hitz egiten.
Espero dut guztiontzat da hori OK.
>> Ados, hitz bereziak, Davin jakina diapositibak horien bitartez irauli ahaztu.
[Barreak] Oraindik arazoak, gizona.
Beraz galdetegi zero aholkuak, praktikatu kodifikazioa paperean.
Zaudete batzuk lortzeko orain dela praktikatu Davin batera,
beraz, ez duzu erabat bakarrik.
Nik uste dut benetan goaz Bi funtzio hauen bidez.
Beraz, bada, ondo prestatu behar dituzu bertan.
>> Be zure arazo multzo ezagutzen.
Galderak egon dira Aurreko galdetegiek
eskatuko dizu, adibidez, kode Mario oso antzekoa den zerbait sortu.
Beraz, oso ezaguna izateaz zure arazoa ezartzen du, baita
eskatzen dizugu galdera gisa formularioan hasieran
bete duzun, borondatea zerbitzatzeko oso ondo.
>> Aurreko lehiaketa bat egitea azpian denbora mugak.
Galdetegiak hauek luzeak dira.
Denbora oso azkar doa.
Eta, askotan, ez duzu konturatzen nola azkar jartzen da benetan duzun arte
jarri zeure burua mugak horiek azpian.
Beraz, bada besterik carve ahal bada, badakizu, 75 minutuan, bai gaur gauean edo bihar
galdetegiak horietako bat hartzeko pean dela, forma askoz hobea izango duzu.
>> Eta, gainera, zure erreferentzia fitxa sortuz.
Gogoratu, bat lortuko duzu orria aurrean eta atzean
Zure asteazkenean galdetegi erreferentzia gisa.
Hori sortzeko modu handi bat da ikastea.
Duten arazoak ari zaren izatea Ezer han sartu nahi duzun dezake.
Ezer zure TFS izan dira, bezala, hau da, benetan garrantzitsua.
Hau Jakin behar duzu, dira agian, behar duzu gauzak ez
ez duzu ez bada dute horiek buruz ikasi.
Badakizu Nahiz eta ez horiek benetan ondo, batzuetan izatea han
erosotasuna mota besterik ez duzu, bertan jakin dut galdetegiak estres dira.
Beraz, edozein erosotasuna lortzeko lagun zaitzake.
Ondo da, halaber, egin lo eta jan eta gauza normal gustatzen
esango dugun galdetegiak da.
>> Beraz, off hasita erraza, datu mota eta tamaina.
Esan dudan bezala, hau da, besterik joan beharreko gauza asko bota dit
eman hemen jakin behar duzu.
Beraz, gure chars daukagu Baten bat byte, ints dira
diren lau byte, luzeak luze, zortzi byte dira.
Funtsean, besterik ez duzu da osokoak handiagoa eduki nahi.
Pausoak, eta horietatik lau dira, bikoitzak dira, zortzi.
Berriz ere, ematen dizu gehiago Zure karroza espazioa.
Eta, ondoren, izar idatzi, beraz, edozein 32-bit makina bat, erakuslea,
hau da, guztiak you guys behar Hau ezagutzeko, lau byte da.
>> Beraz, gauza guztiak behar duzu dakit, agian gauzak
nahi izan nahi dituzun zure erreferentzia-orria.
Ados, bihurtzeko bitarra bitarra, bihurketa
hamaseitarra, atzera eta aurrera, gauza guztiak jakin behar duzu.
Beraz bitar hamartarra.
Minutu azkar bat hartu nahi Zaudete eta saiatu eta irudikatu horiek bakoitzaren
eta esan gero niri? zer diren
>> Nik ere gozoki nire poltsan, edonork, beraz, nork erantzuten gozokiak lortzen du, bide batez.
Eta hori asko daukat.
Demagun hau grab me.
Hau emateko Gabe noa.
Beraz entregatu ahal izango duzu gozokiak duenak Polita eta kooperatiboa.
>> OK, esku bat ikusi nuen han atzealdean.
>> Ikaslea: Bai, lehenengoa 42 da.
>> ALLISON: Bai, bat lehen 42 da zuzena.
STUDENT: [INAUDIBLE].
[Barreak]
ALLISON: Bigarren bat, han horia atzera?
Ikaslea: 110010.
ALLISON: Zuzena, eta hau azkena, behera hemen behean?
Era berean, bai, ezagutzen al dituzu?
Just zozketa gozokiak.
Nola guztiontzat gozokiak buruz?
>> STUDENT: [INAUDIBLE] Bukatutakoan dugu denean.
>> ALLISON: Shh.
Eta gero, azkena.
Nork nahi du erantzun?
Hortxe bertan.
>> Ikaslea: 11100.
>> ALLISON: 11100, hori begiratu.
Zorionak, lan handia, denek.
Ados, denok mota ulertzen Hori egiteko prozesua?
Dute, hamartarrera bitar batetik zoazen Bide hori egin ohi dut, eta idazten
2 eskumenak ditu.
Beraz, esan dut OK, 0 2 0, beraz, hori da, 0, 1 aldiz 2 lehenengo,
2 da aurrera joan horrela.
Norbaitek nahi me esplizituki binary adibide baten bidez joan?
Ados, cool.
>> Bitarra Decimal oso antzekoa da.
2 eskumenak izarrekin idatzi ohi dut.
Bat dela handienetako batekin hasi, baina ez du hamartar iragana joan
bilatzen ari zaren.
Eta, ondoren, mota horretako zure lan egiteko modua atzeraka gauzak gehituz beharrezko gisa.
>> Eta gero, gain batera, da besterik Horrez normal bezala.
Inoiz ez baduzu kasu non bazaude bi 1s gehituz, jakina bihurtzen da 2.
2 bitarretan da orain 1 0, beraz, behar duzu eraman zure 1era hurrengo zutabean sartu.
Cool.
>> Hamaseitarra, zerbait izan liteke hori da pixka bat gutxiago ezagutzen.
Beraz Rob besterik me kontatzea gisa aldez aurretik, bere honetarako trick
da, besterik gabe moztu egiten dituzte lau byte zatitan banatuta, OK?
Bits, barkatu.
Ikusi?
Eskerrik Rob.
Horregatik zu hemen. [NOISE] Ados, beraz, hautsi besterik ez dugu sortu
lau bit zatitan banatuta.
Beraz, hamaseitarra bitarrak batera, begiratzen lehena 4 dugu,
hau da, batean lau 1s badugu errenkadan, zer zenbaki sinbolizatzen du?
>> Ikaslea: F.
>> ALLISON: Beraz, kasu honetan, zer da 11111111 or-- bai?
Ikaslea: FF.
ALLISON: Perfect, FF.
Hain handia, zuretzat gozokiak.
Orain, nola, bitarra dugu hamaseitarra besterik ez da pentsatzen motatako alderantzizko.
Zenbaki bakoitzean, edo letra Gure hamaseitarrean dugu,
besterik ez bihurtzen du bere lau bit [Barreak] bere lau bit-elkarrizketarako.
Beraz, 5, kasu honetan, zer da 5 bada ari gara ordezkatzen lau bit batekin?
>> Ikaslea: 010?
Mm-hm.
Eta, ondoren, A, hau da, benetan 10 izango litzateke?
1010.
Beraz, behar dugu, hemen.
Beraz hamaseitarrean arteko bihurtzeko eta bitarra egia esan, ez da txarra.
Lau bit begiratuz gero at zatiak, urrezko izango.
Guztiek bai?
>> ROB: hau lelo samarra da, baina beti gogoan dut
A, A geroztik ustezko 10 izan.
Eta bitarra da soilik 10 10 So
>> ALLISON: Ah, ez gara.
>> ROB: Hey.
>> ALLISON: Hey, Rob goxokiak.
Ez dago ez txokolate gauza da hor.
Beraz, batzuk izan ditzakezu.
Beraz ASCII matematika.
Jokatu.
Beraz ASCII matematika, eta you guys ziurrenik ondo gogoratzen
p multzo 2 Visioneer eta Caesar, honek asko egin duzu.
Gogoratu, pertsonaiak dira funtsean, zenbakiak besterik ez.
Beraz, matematika egin dezakegu haiekin, besterik math egiten dugu ints bezala.
>> Beraz, besterik gabe, apur bat behar dugu Gauza simple hemen.
A hori da batzuk ditugu 65 hasieratu.
Eta B ASCII A balioa berdina plus 1, char D ken 1 berdina C,
eta char D 68 berdina.
Orduan inprimatu ditugu horiek guztiak, hemen ikusten dugun bezala.
Eta edozein tell me zer hau inprimatu egingo?
STUDENT: [INAUDIBLE].
ALLISON: Zehazki, beraz, Gauza bat nabarituko da
duten inprimatzeko ari gara karaktere aldi bakoitzean, hemen.
Izendatzen ari gara, nahiz eta A eta B nahiz ints dira haien gainean deklaratu dugu.
Inprimatu ari gara k karaktere gisa ehuneko C eta gure printf adierazpena,
beraz, guztiak izango dira inprimatu karaktere gisa.
Eta, jakina, ASCII balioa 65 borondatearen A. inprimatzen ASCII gehi A 1 balioa
66 izango litzateke, zein izango litzateke B. harro izatez Beraz, dugu
A B C D orok ona dago?
Zalantzarik?
Awesome.
>> Ados, esparrua.
Beraz, esparrua da, jakina, oso bat Garrantzitsuena, ulertzeko hemen.
Zuk asko, baduzu konpilatzean hutsak dituzte,
eta ez duzu esaten du aldagai batzuk sarbidea,
seguruenik duzulako begizta baten barruan definitu zuen
eta ondoren saiatu sartzeko atera, edo alderantziz.
>> Beraz, bere core esparrua, zehazten du, besterik ez da non
aldagai bat existitzen da, esan dugu non gauden aldatu ahal izango da, non sartu ahal izango dugu.
Besterik motatako esaten horiek dira leku bakarra non sarbidea izango duzu
aldagai hau.
>> Beraz, hitz egiten dugunean, bi arlo klase zehar global eta tokiko.
Buruz hitz egiten dugu aldagai Beraz global denean horiek nagusiaren gainetik definitzen duzu.
Esan nahi du zure osoa duela programa da sarbidea du,
eta betiere existitzen da programa exekutatzen gisa, OK?
Tokiko esan nahi dela Gehiago eskualde bat mugatzen.
Beraz, betekizun zehatzak izango duzunean swap bezala, beti hitz egiten dugu.
Beti A eta swap buruz hitz egin dugu B. A eta B funtzio horren barruan dago.
Ez daude inon.
>> Baita ere, baldin baduzu adierazpenak edo begiztak.
Adibidez, behar dugun bakoitzean begizta bat berdin zait int 0 ditugu.
Baldintza batzuk ditugu eta eguneratu dugu.
Barruan bakarrik dut badagoela begizta horren giltza.
Beste nonbait sartzeko saiatzen bazara, zure konpilatzailea duzu Yell litzateke.
It litzaidake bezalakoa izan, zer egiten saiatzen?
Hau ez da existitzen.
Beraz, bi esparrua mota ezberdinak.
Ez duela zentzurik guztiontzat?
>> Beraz, adibidez, hemen, hau programa sinple batzuk besterik ez da.
Zer iritzi duzu guys da puntu bakoitzean gertatuko
Inprimatzen dugun?
Hau hemen Beraz, zer gertatuko da?
Ikaslea: hiru inprimatu izango da.
ALLISON: Eskuin.
Hiru inprimatu izango da.
Zer da hemen?
Ikaslea: Ez du funtzionatuko.
ALLISON: izango da, ez du funtzionatzen.
Oraindik esparrutik atera duzu, ezta?
Tokiko aldagai ez da existitzen giltza horien kanpo, eskubidea?
Eta gero, zer da hemen?
>> STUDENT: [INAUDIBLE].
>> ALLISON: Zer?
Rob, joan.
>> ROB: esan besterik ez dut.
Aldagai global izan behar global azpimarra aldakorra.
>> ALLISON: Ah, bai, barkatu.
Eskerrik asko, Rob.
Rob gure egoiliar konpiladore bezala en.
Besterik ez zuen gurekin Yell dugunean behar. [Barreak] Bai, hori
global azpimarra aldakorra izan behar du.
Beraz, suposatuz hori zen azpimarra global
aldakorra, zer gertatuko da?
Ikaslea: Hori izango da lan egiteko.
ALLISON: lan egingo da.
Beraz, inprimatu ahal izango da, beraz, besterik Adibidez oso erraza da.
OK, prototipoak.
Beraz, jakina, benetan dugu zaudete nabarmendu
funtzioak irekitzeko bada zentzurik zure programak.
Baina, jakina, duzunean Zure funtzioak egiteko,
normalean horiek definituko dituzu nagusiaren ondoren.
Eta saiatu duzu deitu nagusian.
Eta ez baduzu prototipoa erabili, zure konpilatzailea izango duzu Yell.
>> Prototype da, funtsean, besterik gabe, zure konpiladore kontatzen
nagusiak jarraian funtzio hori izan dut.
Deitu dut definitu aurretik noa.
Just zain.
Dela definitzen agintzen dut, eta zuek behar duzun guztia izango dute.
>> Beraz, modu egiten dugu besterik gabe, zure bueltan mota, zure funtzioa izena, zure sarrera
zerrenda.
Funtsean, lehen lerroan zure funtzioa adierazpena da.
Benetan da guztia da.
Baina hori baino ez da formatu mota Oro.
>> Gure Adibidez hemen, beraz, eta zuk guys egin beharko lukete
Izan epigrafean ikusi uneren batean, daukagu
int kubo batzuk sarrera int batzuk hartzen.
Eta gure nagusia dugu funtzioa, kubo deiak.
Eta kubo ere, ondoren definitzen da.
>> Beraz, ez badugu int kubo sarrera goialdean, denean kubo deitzen dugu
nagusia, gure konpilatzailea barruan gurekin ero lortuko litzateke.
It, gustatuko litzaidake zer ari zara hitz egiten?
Kuboa ez da existitzen.
Ez dakit zer bilatzen ari zaren galdetzen.
Eta besterik ez dut stop joan.
>> Baina gure prototipoa egin dugulako goialdean, esan dugu,
, badakizu ikusiko duzu Kubo, ez kezkatu.
Honez geroago definitu zuen agintzen dut.
Eta ez duzu nahi duzuna, utzi egingo da.
Beraz, inoiz funtzio bat baldin baduzu hori zuk deitu ondoren deklaratu
lehen aldiz, behar duzun prototyped goialdean egon behar.
>> Bai?
>> ROB: Honez karratu ditu, eta ez cubing.
>> ALLISON: Oh my God.
Ez nuen Gabe have--, pentsatu nuen gure zuzentzailea zinen.
Ados zaudete, nirekin hartu, hemen.
Guztion ideia ohitu espero dut.
Ados, beraz, hau behar dute sido karratu, ez cubed.
Baina ideia bera izaten jarraitzen du.
Ondoren garela deitzen ari den edozein funtzio Izan ere, prototipo bat izan behar du.
Guztiek hori ona?
Beste edozein akats?
OK.
Hemen akats edozein ekin aurretik, Rob?
[Barreak] Ados, structs beraz.
Funtsean, structs baimendu duzu Zure datu-mota sortzeko.
Hainbeste int edo char edo bezalakoak mugikor bat, besterik gabe, beste mota da.
Gustuko dut pentsatu ahal izateko, bezala, Zure datu-mota propioa sortu.
Beraz, aukera ematen da egin behar duzu.
Eta datu-mota ezberdinak egiten ditu.
>> Beraz, gogoratu baduzu array bat, dugu antzeko motako gauza bakarra eduki dezakete.
Structs anitz eduki digute; mota ezberdinen gauzak.
Beraz, kasu honetan hemen, dugun Ikasle izeneko egitura bat behar,
behealdean hemen izendatu.
Eta int id batzuk ditugu eta katea izen batzuk.
Beraz, hau datuak beste mota bat besterik ez da.
Orain Student izeneko datu-mota bat dugu.
>> Beraz, pentsatu ahal izango dugu delako Datu mota bateko bezalaxe,
aldagaiak deklaratu ahal izango dugu Beste edozein genuke eta.
Beraz ordez, izatea bezala, an int ikaslea, ikasle bat besterik ez dugu,
Ikasle 1.
Oh, begira.
It Rob da.
Beraz, hemen deklaratzen ari gara egitura bat, edo aldagai bat
Ikasle 1 mota ikaslea izeneko.
Beraz, id behar joan eta izen berarekin lotutako.
>> Eta bidean sartzeko dugu horiek gure struct barruan elementu
dot operadorea da, hemen.
Beraz, kasu honetan, dugu Ikasle batzuk 1 deklaratu.
ID esleitu dugu 1 izan.
Eta izena esleituta dugu Rob izan.
Ados, guztion ona?
Erabili antzeko besterik ez da bai?
>> Ikaslea: Bai, typedef-- denean Egin typedef erabili behar dugu?
>> ALLISON: Beraz typedef besterik dio -bere Rob, zuk
me zuzendu ahal honetako wrong-- banago baina typedef da begiratu behar deklaratzen
erabili ditzakezun mota bat bezala, ezta?
>> ROB: Bai, eta, funtsean, beraz, besterik sortzen ari da
alias bat, edo mota bat ezizen bat.
Beraz, [INAUDIBLE] idatz dezakezu.
Beraz, [INAUDIBLE] existitzen da, eta orain, besterik ez dugu
[INAUDIBLE] bitartekoak zehazki gauza bera.
Eta beraz, hemen, idatzitako ari gara, nire ustez, 2 batzuek egitura mota [INAUDIBLE].
Beraz, ezizen bat besterik mota jakin batean.
>> Ikaslea: String [INAUDIBLE] liburutegia Idatzitako sortu zen char izar bezala.
>> ALLISON Gure helburuetarako hemen, zuk eta egitura bat deklaratzen ari bada,
besterik egin struct typedef.
Ados, beraz, aldez aurretik, hau da, aldagai bat normal hemen besterik ez.
Bertan sartzeko puntu batekin.
erakuslea izan badugu egitura bat, ahal dugu benetan
gezi bat, pretty cool erabili.
>> Beraz, kasu honetan, erakuslea izan dugu Ikasle bat 1 duten mota ikaslea da.
Gogoratu, zure erakuslea eraikuntza,
Idazten edozein erakuslea nahi duzun da seinalatuz hasieran izango da.
Beraz, ikaslea batzuk 1 dugu, hemen.
Eta ikaslea hau geroztik 1 zorrotz bat da, gaur egun,
benetan dugu joan daiteke ikaslearen 1 gezi izen dot ordez, erakuslea delako,
eta esleitu Rob.
Eta orain bada nahi dugu aldatu Rob Davin da,
hau besterik ez da erakusten beste modu batean egin behar den.
>> Beraz ordez gezi erabiliz, zuk also-- dezakegu hori amaitzeko egingo dut eta gero
hartu question-- ezin izan duzu ere egin erreferentzia ikaslearen 1.
Hori esanez bezala joan edozein ikasleari 1, da bertan
Gure ikaslearen egitura izango litzateke.
Sar ezazu puntu bat eta elementu nahi duzun, eta, ondoren, berriro ezar da.
Galdera bat izan zen.
Ikaslea: Bai, beraz, nola etorri behar duzu erabili [INAUDIBLE] zaudenean
gabe ikaslearen izar eginez [INAUDIBLE] ikaslea?
ALLISON: Hori dela eta erakuslea sortzen da.
ROB: zaren horri buruz hitz egingo dugu.
ALLISON: ari den hitz egingo dugu inguru geroago berrikuspena.
Beraz, besterik pentsamendu eutsi.
Hala ere, molesta baduzu at amaieran, zatoz gurekin bat hitz.
>> Beraz, hauek gauza bera egiten.
Besterik ez duzu ari gara erakusten bi modu ezberdinetan egin behar den.
Ikasle 1 da orain erakuslea, beraz, Izena elementu izan dezakezu sarbidea
gezi batekin eta egitura barruan.
Edo ezin erakuslea dereference duzu, eta ondoren, ohi den bezala sartzeko ere.
Ez du zentzua behin bat egiteko?
Osoari erakuslea gauza txiki bat bada nahasia, Gabe horri buruz hitz egingo du,
eta, ondoren, agian hau zentzu gehiago egingo.
Bai?
>> Ikaslea: Bai, beraz, nola da hau ezberdina?
ALLISON: aurrekoaren The?
Beraz, ikaslearen 1 honetan kasuan ez da erakuslea.
Besterik zure benetako struct da.
>> Ikaslea: OK.
>> ALLISON: hau, berriz egitura erakuslea da.
>> Ikaslea: OK, baina ez da mota azkenean bera [INAUDIBLE] lanean.
>> ALLISON: eraginkortasunez gauza bera egiten du lan.
Zure sintaxia besterik ez da desberdina.
Ikaslea: OK.
>> ALLISON: Bai, dira eraginkortasunez gauza bera.
Besterik testuinguruaren arabera, bata bestearen gainean izango duzu.
Bai?
>> Ikaslea: Noiz egin duzu 1-- erreferentziak
ALLISON: Mm-hm?
Ikaslea: Zergatik egin nahi duzu Parentesi fosforo?
ALLISON: delako ikaslea 1 erakuslea da.
Beraz, ziur Oraindik egin behar duzu besterik erakuslea dereferencing.
>> Ikaslea: OK.
>> ALLISON: Beraz, kasu honetan hemen, bere inguruan parentesi
esan nahi du ikaslea 1 dereferencing ari zaren.
Beraz, non ikaslea joan zaren 1 puntu, zure struct da.
Beraz, orain pentsa dezakezu Da eta egitura duten bezala,
beraz, gure normal dot eragiketa erabili ahal izango dugu.
Beste edozein galdera?
Cool, awesome.
>> Beraz, azken gauza, nire ustez Nire azken diapositiba, woo!
Ados, beraz, puntu mugikorreko imprecision.
Buruz, labur-labur hitz egin dugu hau mintzatzen.
Funtsean, hemengo Benetako zenbakiak infinituki asko.
Eta duzu guys edozein bada maite matematika, ez da,
Gurekin cool stuff mota guztiak.
>> Baina ez dira infinituki Benetako zenbakiak asko.
Baina bakarrik finitu ari dira bit asko dugula.
Beraz, beti ari zaren joan imprecision dute, besterik ez.
Eta hori da, hori da, besterik gabe mota zerbait jakin behar duzu.
Dugun bezala eskatu ahal izango duzu, zergatik ez du koma mugikorreko imprecision existitzen?
Beraz, besterik gabe, zerbait jakin behar duzu.
Eta hori, inflexio naiz berau erakusleak baino gehiago.
>> Binky: Kaixo, guys.
Nire izena Binky.
Erakusleak buruz hitz egin dut.
Bai, beraz erakusleak da benetan Ikastaro honetan nire gogoko.
Beraz, argi zer Allison egiteko Hemen izan zen hitz egiten, beraz, arrazoia
why-- Ezberdintasun bakarra, hemen, alde handia bidea zen
Gauzak aldarrikatzen dugu.
Beraz, ikaslea izarra esan nahi du hau Ikasle bat erakuslea da.
Diapositiba Aurretik, berriz, ikaslea da Benetako struct, benetako ikaslea bezala,
edozein gauza horiek duten.
>> Eta zergatik dugu egun nahi bai, Davin?
>> Davin: Zer esan nahi du gezi?
>> Binky: gezi Bitartekoak zehazki hau berdina.
Beraz, ez da benetan gezi behar duzu.
Atsegin dut, Oraindik programa besterik ez bada, C, erabili dezakezu hau.
Sentitzen dut, ez dut zer dela.
Besterik sintaxia hau erabili ahal izango duzu.
>> Baina pertsona batzuk, denean ziren C diseinatzen dute,
dute hurrena, jende sintaxia erabiltzen hainbeste,
dute gustuko bakarrik etorri direla sintaxia da egitura batekin.
Eta hau gertatu gezi hau eran.
Eta benetan polita da, izan ere, Zerbait sinboloa da
atsegin benetan ari gara honako gezi hau, erakusle hau,
memorian lekua norabidean.
Eta noiz iritsi gara, nahi dugun Ikasle horren izena begiratu,
zentzua badu.
OK?
>> Beraz, hau da bera.
Hau da zehazki hori baita gauza bera.
Get berdin biltzen dute, OK?
Eta arrazoia hemen zergatik malloc dugu zerbait da, kasu honetan, zeren eta,
Gure aldagaia da, benetan besterik erakuslea aldagai bat.
Beraz, lekua besterik ez dugu hori erakuslea eusten memoria.
Ez benetan edozein espazioa dugu benetako egitura dauka.
>> Beraz, hau bi urrats egin behar ziren.
Sortu behar dugu eta egitura jartzea memoria.
Eta sortu behar dugu erakuslea jarri memorian.
Beraz, funtsean, ari dira bi aldagai ezberdinak hemen.
Horietako bat mota ikaslea da izan ezik, ez du benetan izen bat.
Eta bestea da mota ikaslea izarra.
Eta gero ikasleari 1 puntu han, duela zentzurik bada.
OK?
>> Beraz, arrazoia zergatik erabiltzen ditugun erakusle dena delako da
ordenagailu batean, aldagai bakoitzeko ordenagailu batean bi gauzak.
Bere balioa dauka.
Eta hauxe du.
Eta modu ona kontzeptualizatzen hau da, ez da
arazo asko duzunean saiatu funtzioak erabili.
Eta ari gara saiatzen joan horietako bat begiratu.
Hain zuzen ere, da joan memoria kutxetan bezala pentsatzea.
>> Beti aldagaiak pentsatu duzu denean na esaten duzu berdin 5.
Uste! 5 kaxa batean sartu zara.
Beraz, zer pasatzeko nahi baduzu int duten funtzioa?
Gainditu Atsegin besterik ez duzu, ez dut badakit x funtzio batean.
Baina zer gertatzen da normalean, gizakiok bezala,
zerbait pentsatuko luke naiz bezalako koadroan pasatzen den pertsona bati.
Eta ez du benetan ordenagailuak gertatuko.
Zer gertatzen da balio kopiatu pertsonaren kutxa koadroan.
>> Beraz, zer esan nahi dut bada funtzio baten sorry, hemen duzu,
bost arte bezalako funtzio bat badaukagu ez, aldagai bat pasatzeko saiatu izanez gero,
besterik kopiatu joan.
Hasieratu nx bat berdinen 3 bada, joan da balio hau kopiatu arte aldagai bat izateko
ez sortu.
Ados, eta hau da arrazoia mota zergatik erakusleak erabili nahi dugu.
Ordez delako besterik balioa emanez,
horren ordez, besterik gabe pasatzen funtzio bat balioa,
erreferentzia pasatu nahi dugu.
Zer pass deitzen diogu erreferentzia mota koadroan emanez funtzioa lortzen da,
funtzio bat ere, beraz, balioak aldatzeko kutxa barruan.
>> Ados, beraz, oinarrizko erakuslea batzuk Gauza da erakusleak sortzeko,
aldarrikatu duzu besterik ez da mota, eta izar bat jarri duzu eskuineko ondoren.
Eta mota besterik ez da zer egiten ari zaren seinalatuz.
Beraz, int izar bat izanez gero, duzun int bat seinalatuz ari.
Char izar bat bada, duzu taula bat seinalatuz ari.
Eta ikaslea izar bat izanez gero, ikaslea bazara seinalatuz ari.
OK?
>> Eta 4 byte dabil ari dira.
Aldagai hau delako ez da benetan
karaktere bat eduki behar, int bat, edo ikaslea.
Bakarra helbide bat eduki behar du.
Horregatik ari dira 4 byte guztiak 32-bit makina normal bat luzea.
OK?
Beraz, hemen, x puntu aldakorra da int bat. y char bat adierazten du. z puntu
mugikor bat.
Hemen zalantzaren bat?
Cool.
Eta bi daude ikurrak desberdina dute
Kontuan denean hartu erakuslea datozen.
Beraz, erreferentzia eta dereferencing handiak dira.
Beraz de ampersand aldagai izen ematen dizu?
Ikaslea: helbidea.
Binky: Helbidea.
Beraz, int bat deklaratzeko bada berdin 5, ondoren, ampersand
ren bat da emateko helbidea doa.
Eta benetan saiatu duzu inprimatu eta ikusi
zer helbidea oroimenez Zure aldakorra du.
Eta gero dereferencing-- beraz, erreferentzia zen,
du helbide dereferencing lortzean kontrakoa zehatza da.
Ados, besterik aldiz bezalakoa da Zatiketa baten kontrakoa,
izar ampersand aurkakoa da.
Beraz dereferencing bitartekoak joaten.
Beraz star-- dut eman ezkero ez badakizu 50, hori da
Joan helbidera joan saiatzeko joan 50. zure ordenagailuaren barruan.
Ados, eta zergatik ikusten dugun kontrakoak direla?
Zer gertatzen delako egiten baduzu izar antzeko zerbait ampersand bat?
Beno, ampersand a helbidea ematen dizu aldagai baten, bat-helbidea.
Baina izar bitartez joan.
>> Beraz, zer bada gertatzen baten helbidea joan?
A joateko, besterik ez da, ezta?
Beraz helbidera joan bat bezala, gauza bera da.
Horregatik, normalean Oraindik dute gauza bera honetan aipatzen
dira, eta honetan aipatzen kontrako gisa operadoreak.
OK?
Beraz cool.
>> Kanpaia azpian, adibidez, aldarrikatzen dugu int x berdinen 5 bada,
aldagai bat izan dugu.
Eta gogoratu behin esan nuen aldagai eta hau gauza ona da
to hartu mind-- bi ditu Gauza ezberdinak lotutako.
Eta jorratzen balio bat dauka.
OK?
>> Beraz, kasu honetan balioa 5 da.
Eta helbidea is-- demagun, naiz Zerbait up-- da 0x04 eginez.
Eta arrazoi bakarra izan ohi dugu helbideak hamaseitarrean adierazten
bat da, ez da ona bezalakoa delako.
Ondo doa bitarra.
Oso erraza da, eta bitar bihurtzen dira.
Eta ez du handiegia bada lortu kopuru oso handi bat behar duzu.
Beraz hamaseitarrean erabili nahi dugu inprimatzeko helbideetan.
Baina izan liteke I osoko gisa honetan.
Fina da.
>> Eta, beraz helbide bat du 4 eta 5 balioa.
Eta gero esan nuen int star erakuslea.
Beraz, hau bat beste mota, nabarituko da.
Int star erakuslea berdinen x helbidea.
Beraz, zer da ptr balioa izango?
Honez izango da x helbidea, behera hemen.
Ados, beraz, balioa da joan helbidea bera izan.
Hori esleipena funtzionatu egiten ari naiz.
Eta gero ptr hori behar bere helbide propioa, bihurtzen da,
kasu honetan, 8, OK?
>> Eta gero osokoa kopia berri bat sortu dut.
Eta int kopia berdin joaten esan dut.
Beraz ptr zer apuntatzen da joan.
Beno, zer ptr hau izan?
Ptr 0x04 ditu.
Zer gertatzen da hara joaten saiatu badut?
Zentzuduna topatuko dut nork du helbide x eta nor helbide 4 ditu.
Eta nork du aurre x lau da.
Ez duela zentzurik?
Bai?
>> Ikaslea: Kasu honetan, ez da pila bat erakuslea?
>> Binky: Kasu honetan, it's-- galdera ona.
Ez dut honi buruz pentsatzen denean helbide hauek osatuko.
Baina hori da, bada, atsegin guztiak horiek aldagai lokalak dira,
orduan x in-- bizi dena joan da pila bizi da.
Beraz, dena joan pilatu seinalatuz.
Zeure denean ez duzu lortuko malloc erabili hasten zara, ezta?
>> Beraz, gogora ekarri baduzu pila denbora guztietan da funtzio bat deitu zure programa,
bezala, adibidez nagusia, edo edozein beste funtzio, printf bezala.
Tokian tokiko aldagai guztiak dira joan ahal pila marko batean jarri.
Eta ari iritsi dute bezala jarririk pila.
Horixe da pila bat.
Eta tokiko aldagai horiek guztiak dira han izango.
Eta heap-- eta goaz geroago honi buruz gehiago hitz egiteko
zeure non dagoen guztia dinamikoki esleitu memoria bizia.
Cool?
>> Joan diapositiba honetan dugu.
Bai?
>> Ikaslea: Zergatik ez da int kopiatu 0x04 itzuli?
>> Binky: Zergatik ez da int kopiatu 0x04 itzuli?
>> Ikaslea: Zergatik ez da hori [INAUDIBLE]?
>> Binky: zer ptr balioa bat delako?
>> Ikaslea: 0x04.
>> Binky: 0x04.
Zer gertatzen den 0x04 bazoaz?
Zer egin nahi duzu?
>> Ikaslea: Oh, OK.
Binky: Ikusten?
Ikaslea: Bai.
Binky: Beraz lortuko duzu 5.
Beraz, kopia hori behar 5, zentzua badu.
Bai?
>> STUDENT: Ezin ahaztuak ditugu Balio koadroan 5 [INAUDIBLE]
dugu jarri bada int [INAUDIBLE] kopiatu.
>> Binky: genuke int, bai.
Hori egin beharko lukete pretty askoz ere gauza bera.
Baina era honetan, gainditu ahal izango dugu funtzio helbidera.
Eta hori da cool gauza oraintxe egin dugu.
>> Beraz, ariketa mota hau beti ateratzen nik oso normalean dator galdetegiek.
Beraz, benetan ona da saiatu Gauza yourself mota hori egin.
Beraz, saiatu zer helbidea segimendua egiteko da eta aldagaiak balioak nahi
puntu bakoitzean daude.
Beraz, hau da, zehatz-mehatz zer egin ari gara joan.
Hemen, urrats egin behar dugu, bat, bi, hiru, lau, bost.
Bat, bi, hiru, lau, bost.
Eta ari gara segimendua joan x eta a balioak.
>> , Beraz, zer egiten ari da hau bada bat buggy kodea, bost egiten saiatzen ari gara.
Beraz, lortu saiatzen ari gara aldakorra eta bere balioa aldatzen 5era.
Eta gogoratu nire bat izateko analogia kutxa eta kutxa ematea norbaiti?
X izeneko koadro hau Beraz nagusi ditu.
Eta 3 balioa dauka.
Eta eskuz ari naiz bost lauki hau.
>> Eta aldatzeko bost nahi dut kutxa honen balioa 5era.
Eta gero, besterik gabe, x balioa inprimatu dut.
Zer Hau nire funtzio Hau da, zer egiten saiatzen naiz.
Besterik ez dut eguneratu saiatzen ari x balioa 5era.
Dago argi funtzioa duenaren?
>> Ados, beraz, zer ari izango da x eta eskuineko hemen balioak,
Lehen lerroan, lehen, eskuineko aurretik lerroan programaren nuke esatea?
>> Ikaslea: Seguruenik zabor.
>> Binky: Just zabor gauzak.
Beraz, jarri dut N / A. Beraz, dugu, ez dakit.
Atsegin dut, bat ere ez da existitzen oraindik, zeren ez dugu bost deitu.
Int bat ez dela deklaratu.
Eta x da existitu behar hemen, baina ez dugu benetan
haren balioa edozein esleituta, beraz, OK?
>> Eta gero, zer izango da bi zenbaki x eta balioak?
>> STUDENT: [INAUDIBLE].
>> Binky: Beraz, x 3 izango da.
Hori da erraza, izan ere, esleitzea ari gara 3 bertara.
Eta oraindik ez da existitzen besterik bost batean bizi delako.
Beraz, ez dut 3 eta ezer ez izan da.
edo zabor bezala, edozein izanda ere, ez benetan definitzen dira.
Eta orain, hau lerro garrantzitsuena da.
Hemen, goaz egia esan, bost deitu.
Eta gogoratu zer esan nuen.
Inoiz koadroan igaroko gara.
Balioa kopiatu besterik ez dugu kutxa beste kutxa.
Hori da ordenagailu guztietan ez kopiatu leku batetik bestera gauzak.
>> Bost Beraz, benetan egiten denean kopiatzen x balioa bat da.
Beraz, zer dago hemen izango da?
X eta balioak.
3 eta 3, besterik ez dugu kopia Gainean bat x from.
Cool.
>> Orain hemen gaude.
Eta orain goaz berdinen 5 eguneratzeko.
Zer da lau lerro gertatuko da?
>> STUDENT: [INAUDIBLE].
>> Binky: a eguneratuak lortzen, baina x ez zen eguneratu.
X oraindik nagusian bizi delako, bat da memoria bloke erabat desberdina.
Beste aldagai bat da.
aldagai bat da.
Izatea gertatuko dira balio bera dudalako
x-ren balioa bat baino gehiago kopiatu.
Baina orain, ez dut berdin 5, it ez du benetan eragina x inolaz ere.
Hau trickier zati da.
Ba al du zentzurik denek?
Bai?
Ikaslea: galdera bat gehiago, egun 3.
Zergatik da already-- a oh, ez, 3 da.
Sentitzen dut, inoiz ez dio axola.
Irakurri nuen, 5.
>> Binky: Bai, 3, 3.
>> STUDENT: [INAUDIBLE], bai.
Binky: Eta gero 5 esleitu dugu bat, baina ez du benetan aldatu x.
Good?
Ikaslea: Bai.
Binky: Bai?
Ezin duzu berriro azaldu nola bat lortzen kopiatu [INAUDIBLE]?
>> Binky: Ados, beraz, deitzen bost duzu x, beraz, kode-lerro hau hemen.
x bost, zer da x?
x besterik 3 puntu honetan, ezta?
Beraz, ezin duzu ipintzeko uste hemen eta x ahaztu 3 bat.
Just 3 bat jarri hemen.
Bezala, gainean kopiatu goaz x balioa int bat da han ere.
OK?
>> Beraz, x balioa 3 da.
3 kopiatzeko, bat baino gehiago ari gara.
Eta beste bloke hori guztia memoria, beste aldagai hau
izeneko 3 izango dute, baita.
Ez duela zentzurik?
Bai?
>> Ikaslea: atsegin ematen badizu eta bost osokoa x ordez bat bezala izan da,
Hori konpondu egingo dena?
>> Binky: an ez integer-- da, bada, zela ez dena konpondu.
Beraz, galdera oso ona da.
Ez da benetan axola zer aldagai horiek deitu.
Berriz ere, esparrua gai bat izango da, Oraindik ez dute x bera delako.
Erabat ari dira oroimenez hainbat gunetan.
STUDENT: [INAUDIBLE].
Binky: Beraz, ez du benetan zer deitu axola.
Hori ez da gauzak konpontzeko, OK?
Galdera gehiago?
Bai?
>> Ikaslea: Nola da atzera kopurua bost [INAUDIBLE]?
Binky: Ados, ez dugu oraindik egin.
Goazen bost zenbaki, eta gero.
>> STUDENT: [INAUDIBLE]?
>> Binky: Zer?
>> Ikaslea: Do guztietan itzulera bat izan duzu?
Binky: ez dugu behar Ordainetan, ez nagusienetakoa.
Baina 0 itzultzen nagusia automatikoki ez duzu ezer bueltan.
Bai?
>> STUDENT: Ezin egin duzu nagusian edo ezin egin duzu bost itzulera bat egiteko?
>> Binky: izan dugu bost bat itzultzeko, bai.
Baina, ondoren, esleitu izango genuke x bueltan bost balioa berdin,
horrek apur bat izango litzateke programa ezberdinetan.
Lan litzateke.
Baina, zer egin nahi dugun da, zer da aldaketa lekuan zerbait izeneko.
Beraz, benetan nahi dugu kutxa hori aldatu eta ez kezkatu
itzultzeko beharrik buruz baloreak edo ezer.
OK?
>> Hau besterik swap funtzioa bezalakoa da David hitzaldia erakutsi, salbu nago
bakarrik aldagai aurre.
Eta bi erabili zuen, beraz, int bat eta b gero aldi baterako aldagai eta whatnot.
OK?
Beraz, zer da azken lerroan?
Bost itzuli ondoren, hemen Besterik gabe, bat urrun joan da.
Ez dugu dute jada, eta x bakarra oraindik ere bizirik iraungo du.
>> Eta zer? x ez zuen bere balioa aldatzeko,
azken finean, izan ere gaude baten balioa aldatuz.
Horregatik, x 3 zehar landu.
OK?
Good.
Beraz, programa hau ez du nahi duguna lortzeko.
Orain dezagun konpondu.
>> Eta fix programaren erakusleak erabiliz.
Zer egiten dugu hiru daukagu ezberdinak dira lerroak.
Lehenak da ez gabiltza x pasatuz.
X helbidea pasatzen ari gara.
Beraz ordez gehiagoko kopiatzea koadroan balioa,
Jarraitzen dut zerbait gainean kopiatu egingo.
Baina kopiatzea naiz koadroan helbidea.
>> Beraz helbide pasatzen badut bost den kutxa, eta gero bost
gai hori aurkitu izango da memoria eta bere balioa aldatzen.
>> Beraz, eta orduan sortu, nik egin hori ez da int bat jada.
a int izar bat da.
Zenbaki oso bat erakuslea da.
Eta, ondoren, pasatzen dut delako aurre hemen, eta, ondoren, egiten dudana
ez da berdin a 5, delako Helbide bat antolatzen.
Beraz, zer egin joan da hor nahi dut eta helbidea honetako edukiak eguneratzeko
5 batekin.
>> Ados, beraz, goazen bidez lerroak banan-banan guztiak.
Beraz, hemen hasten naiz, dut oraindik ere, N / A, N / A, N / A
lehenengoan guztia line, ez dut benetan delako
oraindik gauzak deklaratu.
Eta gero, bi lerro, x berdinen 3 daukat.
Int izar bat A ez daudenez, aurretik gauza bera.
>> Orain interesgarria lortzen da.
Beraz, ez dut pasatzen joatea.
Eta utzi suposatuko helbidea horren x hamaseitarrean 12 da.
Demagun besterik ez egin.
Egin nuen.
Beraz, zer ari naiz hemen pasatzen da bost izatera.
Pasatzen ari naiz 12.
>> Beraz, zer balio bat izan?
>> STUDENT: [INAUDIBLE].
>> Binky: Barkatu?
>> STUDENT: [INAUDIBLE].
Binky: Bai, nahi, horrek utzi bere gain hartzen hemen gaude, orain.
Galdetzen dut.
>> STUDENT: [INAUDIBLE].
>> Binky: Du hasitako.
>> STUDENT: [INAUDIBLE].
Binky: pasatu dugulako funtzioa zerbait.
Bai?
>> Ikaslea: x helbidea.
Binky: Honez joan x helbidea dituzte.
Eta x helbidea 12a da, ona.
Beraz, x 3 izango da, zeren ez dugu benetan aldatu oraindik x.
Eta gero, bat da 0x12 izateko, beraz, joan, x helbidea, hori delako
zer eta bost pasa behar dugu.
>> Eta gero, zer gertatzen hara joaten saiatzen gara, bada?
Zer ari gara aurkitzeko joan?
Beraz, izar bat inprimatu nahi baduzu, helbide honetan jarraitu behar dugu
eta barruan balioa.
Eta balioa besterik ez da duen x balio bera
ditu, hori delako x helbidea, horietatik 3 izango da.
Onak gara?
>> Ados, eta, ondoren, gaur egun, benetan joaten gara han.
Eta eguneratu dugu edozein dela ere helbide honetan 12 da.
5 egiten ditugu.
Beraz, orain bai x eta izar bat eta 5 dira.
>> Zergatik da hori?
X helbidea 12 delako.
Eta bat du, halaber, 12 bere balioa.
Beraz, jarraituko dugu 12 bada, ez gara besterik x aurkituko du.
Beraz, edozein izanda ere egin genuen izar bat da gertatuko
x, a duelako x helbidea.
OK?
>> Eta hau fix Programa bezalakoa da.
Beraz, orain gai gara, bost erdiraketa hori benetan
duten nagusian bizi izan sarbidea memoria.
Beraz, memoria hori ez da bizi izateko bost, lehen bezala, helbide honetan 12.
Eta han joan ahal izan dugu eta bere balioa aldatzen 5era.
>> Eta gero itzuli dugunean, ahaztu bat gara.
Ahaztu izar bat gara.
Eta x bost da oraindik.
Nahi Beraz baduzu swap funtzio bat ezartzeko,
besterik egin nahi duzun zehatza gauza bera, ezik stars int behar duzu,
eta abar eta abar.
OK?
Onak gara?
Cool.
>> Beraz, erakuslea aritmetika.
Hau apur bat delikatua gai bat da.
Beraz, izarrekin bihurtzen da erakusleak osokoak dira.
Zu horietako uste osokoak bezala.
Zeren memoria, atsegin duzu memoria-helbide zero, bat, bi, hiru,
lau, bost.
Beraz, memoria helbideak laburbildu dezakegu.
>> Eta hori izan ohi da, zer egin nahi duzu Oraindik eta array duzu, adibidez.
Array bat besterik ez da alboko bat memoria bloke, karakteretan asko,
adibidez, asko ints.
Beraz, joan nahi izanez gero Bigarren int edo hirugarren int da,
daiteke besterik laburbildu duzu zerbait Izan lehena helbidea, eta iritsi zarela.
Beraz, hau da benetan erabilgarria.
>> Eta mantendu gauza Kontuan hartu, nahiz eta,
ez da besterik gabe gustatzen zentzu aritmetika normal
duzula aurre ari bada, esan, int izar bat, eta 1 gehitu da,
orduan ez zaren joan gehitzeko 1 helbidera,
4 gehitzeko helbidea joan zaren.
Int 4 byte delako.
>> Beraz, hau besterik ez bezalakoa da array bat oinez.
Ints asko array bat izan dugu gero eta ondoren, bigarren bat sartzen saiatzen gara,
nik, funtsean, besterik summing lehena plus 1 helbidea.
Baina horrek ez du besterik jolasten demagun Lehena-helbidea duten 4 da.
Hemen, kasu honetan.
Eta laburbildu badugu, beraz, hau da, zer ari den gertatzen.
Int bat daukagu.
Int x berdin 5.
X 5 balorea.
Eta erakuslea hau abiarazi dugu, int y int izar y funtzioak x helbidea.
>> Demagun x helbidea, 4 da.
Zer gertatuko da orain badut batura gehitzeko 1 y nahi?
Honez joan benetan batuketa 4 besterik ez 1 ordez.
Beraz, gehitu I 1 bat, baina, egia esan, erantsiaren 4, ordenagailuaren smart delako.
Beraz, benetan gehitu i bider joan erakuslea mota horren tamaina.
OK?
>> Beraz, karaktere bat izanez gero, adibidez, hau char izar y balitz,
eta gehitu dugu 1 bada, orduan hau litzateke izan 5 char 1 byte luzea delako.
Good?
>> Eta, azkenik, lortu dugu erakusleak eta matrizeak.
Bihurtzen den bakoitzean It array bat ari zaren aurre,
benetan erakuslea aurre ari.
Arrazoia kontzeptuala oso polita The hau da arrayak oso handiak dira.
Beraz, gogoratu esan duenez dut Inguruan gauzak pasatzen zaren bakoitzean,
dena kopiatzen duzu.
Beraz, array bat duzunean hori da, benetan, benetan big,
ez duzu benetan nahi dena kopiatzen den bakoitzean
bestera inguruan pasatzen duzu funtzioa, hori delako, besterik gabe,
lan kopuru masiboa.
Beraz, zer egin iraganean baino ez da lehenengo byte helbidea.
Eta gero funtzioa sarbidea izango Array horretan elementu guztiak.
Beraz, array gainditu duzu bere helbidea, beraz, lehen byte helbidea.
>> Beraz, int aldarrikatu badugu array 3, hemen, badakigu
lehenengo elementua nola sartu tarte idazkera erabiliz.
Parentesi Gogoan baduzu idazkera, array bracket 0 funtzioak 1.
Beno, hau zehazki izango litzateke bera bakarrik joaten da eta markagailuan 1.
Ados, gauza bera da zehazki.
Beraz, hemen ere tarte idazkera Lerro honen berdina izango da.
>> Eta asmatzen bracket zer idazkera array bracket 1 izango litzateke?
Izango da besterik hau bezalako gauza bera izango da.
Beraz gehi array bat.
Mugitu memorian batekin.
Hara joan, eta jarri 2 a.
OK?
Eta lerro hau gauza bera da.
Hirugarren joan nahi dugu box, beraz, array plus 2.
Hara joan, eta 3 bat jarri.
Beraz, memoria, zer da gertatuko da gara
izan 1, 2, eta 3. gisa joan Hiru array honen elementu.
>> Hau erabiliz egin genezake gure familiar tarte idazkera.
Nahi dut you guys ezagutzen gauza bera direla.
OK, honi buruzko galderak?
Nice.
Orain, naiz esku noa bertan Hannah baino gehiago,
>> HANNAH: Yay, yee-ha.
>> Binky: buruz hitz egitea memoria eta artikulu stuff.
[Txaloak]
>> HANNAH: Kaixo, cool, beraz, ez gara pixka bat gehiago hitz egin dugu
memoria, inguru horietatik besterik ez dugu erakusleak erabiliz.
Beraz, badira bi zati nagusiak dira memoria hori kezkatuta gaude.
Pila bat daukagu, eta horrek hazten behean, eta zeure, gora zein
goitik behera doa.
Eta pila da eduki joan gure instantzia aldagai guztiak.
Beraz deiak bakoitzari funtzio bat lortzen bere pila-markoa txiki izena.
Beraz, lehenago aipatu Gabe, badugu deitu funtzioa behin eta berriro,
pilatu goaz gauzak pilan.
>> Eta, era berean, zeure, goialdean hasten
memorian guztia eduki joan dinamikoki esleitu dugu.
Eta beraz, dugu dinamikoki esleitu memoria,
honetan behera etorriko da beheko aldera.
Bikote gauzak jakitun izan pila eta zeure erabiltzen ari gara,
pila ere badugu many-- horrek esan dei errekurtsiboak utzi,
eta funtzio bat berriro deitzen ari gara, eta berriro, eta berriro, eta berriro,
eta sortu ari pilatzeko da, pilatzeko sortu, sortu pilatzeko.
Eta hori zeure kraskatu egingo da.
Memoria agortu goaz.
Hori sor joan ordenagailuaren arazoa.
Eta pila gainezkatzea deitzen.
Beraz, behin betiko zerbait duzu kontuan izan behar du, eta saiatu saihesteko.
Eta zeure, gogoratu behar ez ustekabean Leak memoria.
Malloc erabili duzun edozein unetan, ez ahaztu memoria hori libratzeko.
Bestela, besterik ez alferrik galdu zeure gainean izango da,
eta ordenagailua ez du ezagutzen free memoria hori erabili da.
Beraz, horiek dira pare bat gauza Oso denean kontuz
ari aurre pila eta zeure.
Honekin zalantzaren bat?
Awesome.
>> Ados, cool.
Beraz, mota honetako bera du Ideia pilaren gainezkatzea, non gisa
haratago goaz zer memoria mugetatik
suposatzen ari gara erabili ahal izateko.
Beraz, hartu, adibidez, buffer bat, edo zuk Besterik ezin du uste array gisa.
Eta, esan dugun OK, goazen nice little array hau sortzeko.
Honez kate bat izango da.
Edo nik karaktere gordetzeko.
Eta besterik kaixo esan zuen joan.
Eta zehaztugabea da.
Hori da guztia.
>> Baina norbaitek gaiztoak ziren I eta nahi izanez zerbait txarra egin array honekin, zer
Egin nezakeen da saiatu idatzi katearen amaieran iragana.
Eta ikusiko duzun bezala, bada Urrun nahikoa idatzi dut,
Benetan dut eragina izan dezake itzulera helbidea.
Eta nola eragiten hasteko badut du itzulera-helbidea,
Nola programa exekutatzen benetan eragina izan nuen.
Eta itzuli ordez, duzu Badakizu, kaixo bezala, kate zoriontsua nintzen
zerbait txarra egin izan, hala joan nonbait zure ordenagailuan, oraindik
memoria, aldatu, edozein dela ere egin nahi dut.
Beraz, hori zer itxura hau litzateke da I Mota besterik ez bete ditu sortu bada
ausazko zabor balioa eta, kasu honetan, bat besterik ez da.
Eta orduan, I actually memoria helbidea lortu,
Egiten hasi nintzen betez zerbaitekin zer egin nahi nuen.
Buffer gainezkatzea dituzten edozein galdera?
Awesome, hegan eskubidea gauzak honen bidez.
>> Ados, beraz, asko hitz egin dugu Gabe erakuslea buruz.
Nola benetan lortu dugu erakuslea?
Nola memoria-helbide bat lortu dugu?
Beno, polit hau erabili ahal izango dugu funtzio deia malloc,
da bat lortzeko ari memoria zati txiki,
bereziki, arazoak izaten ari, eztabaidatu dugun bezala,
eta nik itzuli bat emateko egingo memoria-helbide horretan erakuslea.
Eta argumentua garela to malloc emateko
dagoen espazioa zenbat oroimenez nahi dugu.
>> Beraz byte tamaina ikusiko duzu.
Demagun, adibidez, edo egia esan, adibide honetan,
nahikoa esleitu dugu 10 zenbaki osoko espazioa.
Beraz, ziurrenik zer ari gara nahi joan hemen jarri 10 zenbaki osoen array bat da.
Beraz, ints tamaina, emango dugu bertan ikasia zen dugun byte zenbat?
Ikaslea: 4.
HANNAH: 4, eder, eta guk Nahi ilara batean horietako 10,
beraz, nahikoa leku daukagu 10 osokoak guztiak gordetzeko, kasu honetan.
Zerbait super garrantzitsua da, edozein unetan malloc deitu,
null egiaztatzeko aukera izango duzu.
Ez baduzu null egiaztatzeko, bai eta, malloc jotzea espazioa bada
eta ezin eman diozun inolako memoria gehiago, null itzuliko da.
Beraz, ez baduzu egiaztatu, malloc null itzultzeko.
Eta gero saiatzen bagara null erakuslea dereference,
segmentaziuo hutsegitea lortu dugu, hau da, oraintxe buruz hitz egiten dugu.
Awesome.
>> OK, malloc erabiliz, galdera?
Bai?
>> Ikaslea: null egiaztatzen al du [INAUDIBLE] ez du ezer egingo galdetegiaren?
>> HANNAH: Noski, galdera zen du matter-- ezazu galdetegi oinarrituta,
puntu lortu duzu off ez duzun begiratu nulua?
Bai, puntu lortuko duzu off ez duzun begiratu nulua bada.
Edonoiz malloc deitu, bai on quiz eta zure psets eta bizitza errealean,
null egiaztatzeko aukera izango duzu.
Ona galdera.
>> GABE: Zer bada ez dut libre?
HANNAH: Gabe jakin nahi zer ez bagara pertsona libre.
Orduan izango dugu memoria gure zeure leak.
Beste edozein galdera?
Bai?
>> STUDENT: Ezin zuk baino gehiago joan buffer gainezkatzea benetako azkar berriro?
>> HANNAH: Sure.
Galdera izan zen ahal errepasatuko ditugu buffer gainezkatzea benetan azkar.
Dezagun itzuli diapositibak horiek.
Beraz, buffer bat, ezin duzu besterik pentsatu array gisa, ezta?
Memoria espazioa erakusten ditu.
Eta aurreneko gure array sortzen dugu, Ezagutzen dugun array tamaina finkoa dute,
edo gure buffer tamaina finkoa dauka.
>> Beraz, demagun, kasu honetan, horrek, besterik ez daukagu nahikoa leku katea idazteko kaixo.
Doazen duten iragana joan badugu, iragana joan badugu zer gure array esan genuen ezin eutsi,
egia esan genezake hasteko memorian idazten
ordenagailua ez du gurekin sartu idatzi nahi.
Eta, zehazki, hit badugu itzulera antzeko zerbait
funtzioaren aurre, eta horrek, oroimenaren pieza beste edozein bezala,
besterik ez da, nonbait, zure ordenagailua, benetan ahal duzun
aldatzea, eta gauza gaiztoak egiten hasteko.
Zure galderari erantzuteko?
Awesome, beste ezer?
Bai?
>> Ikaslea: Beraz pilatu [INAUDIBLE], duzu go esan behetik gora.
Pila estaldura barnean egiten memoria, bezala joan,
Gora behera break bakoitzaren berezkoak?
>> HANNAH: Nola egiten duzu Rob atzeratu hau.
>> ROB: Izango berean hazten norabide pila hazten.
HANNAH: OK.
ROB: Beraz, nahastu ahal dut.
Hau da, abstrakzioa izango.
HANNAH: OK.
ROB: Hau da zuzena.
Beraz, pila hazten ari bada eta, ondoren, oro har ezazu
ez dute horrela izango. baina int x aldarrikatu ahal izango dituzu.
Ondoren, int y aldarrikatu duzu.
Ondoren, int x normalean hau int y baino pila txikiagoa.
Baina hori besterik errealitate bat da.
Hori ez du gogoko hazia gauza garrantzitsu bat.
>> ROB: Beraz, galdera berriz ere ez da txarra izan zer gertatzen den fotograma bakoitza eraikitzen hasi.
Beraz, funtzio bakoitzak lortzen pila zatitxo.
Eta gora joan ahala, horren barruan pieza txiki, marko horren barruan,
dugu esan aldagaiek marko horren barruan, halaber, eraman gora.
Galdera?
>> ROB: Just mic izango da.
HANNAH: Oh, bai.
ROB: hitz egiten dut sartu.
HANNAH: Oh, bai, OK.
ROB: Salbuespena da array-ak eta structs baterako,
non array, txikiagoa array indizea,
eta handiagoa structs saioa structs eremua
bermatuta txikiagoa helbideak egon array geroago balio bat baino.
Beraz, bermatuta.
Baina barruan duen aldagai bereziki, int x, int y funtzio baten barruan bezala,
ez da beharrezkoa harremana ez haien helbideak artean.
HANNAH: hemen baino galdera bat?
Ikaslea: bufferrean So emaria, bakarrik buffer gainezkatzea
Gertatu bakarrik duzunean dute, nahi, esleituta
array bat kopuru bat direla gero eta handiagoa da?
Bezala, egin dezakezu?
Beraz, zuk galdetzen ari bada user-- zerbait
>> HANNAH: Mm-hm.
Ikaslea: Can dute indarrez zerbait itzuli duzun
hori da dena delakoa baino handiagoa Nik esleitu beraientzat?
HANNAH: Noski, hain Galdera zera zen,
erabiltzaileari ematen dizute gehiago eskatu baino?
Ikaslea: Bai.
HANNAH: Beno, sahiestuko dituzu hori egiten orritik.
Ezin zehazki esan duzu ez ematen dit gehiago x byte by kopurua baino
Nik bakarrik eman duzu x zenbaki gela byte, karaktere kopurua x.
Beraz, hori saihestu nahi duzun zerbait.
Bai?
Zer arteko aldea pila gainezkatzea eta buffer gainezkatzea?
>> HANNAH: Ados, beraz pila overflow-- oh, zer
pila arteko aldea gainezkatzea eta buffer gainezkatzea?
Beraz, pila gainezkatzea pentsatu nahi dugunean denean benetan gara gertatzen
funtzio deiak horiek pilatzeko.
Demagun funtzioa errekurtsiboa bat duzu, ezagutzen dugun hori, aldi bakoitzean duzu
funtzio bat deitu, hori lortzen bere pila-markoa.
>> Beraz, sortu pilatu dugu oso handia da, eta orduan gainezkatzea hasten gara.
Eta memoria gehiegi erabiltzen dugu, Eta ez dute edonon utzi dugu.
Errore hori lortu dugu.
>> Buffer gainezkatzea programa baten barruan dago.
Agian ez du zertan izan nahi dugu exekutatu memoria modu berean
dugu pilatzeko bazabiltza agian dugun funtzio deiak hainbeste gora,
baina idazten dugu memoria, azken dakigula erabili ahal izango dugu.
Eta hori gauza gaizkia egin nahi gurekin.
Bai?
>> ROB: Bai, nahi dezakezu besterik errepikatu hori,
baina, halaber, pentsa dezakezu pilaren gainezkatzea bat
mota jakin bat bezala buffer gainezkatzea dira.
Edo, besterik uste duzu zure buffer benetan big gisa pilatu.
Orduan pilatu gainezkatzea zaren, Mota buffer gainezkatzea bat bezalakoa da.
Baina gainezkatzea pila bat besterik ez da erabilitako termino espezifikoak denean pila
berez gainezka.
>> HANNAH: Eskuin, beraz bideoa errepikatu,
pila gainezkatzea pentsa dezakezu gisa buffer gainezkatzea mota jakin bat.
Cool?
Galdera gehiago dugu joan aurretik?
Awesome.
>> Ados, cool, beraz, dezagun buruz hitz egin error common messages batzuk.
Hau duela zerbait da agerian sortu anitzeko galdera on,
beraz, zerbait hori merezi bigarren begirada bat hartu.
Ziur Nik aurkitu duzu nago Gutxienez horietako batzuk
egiten ari zaren, zure arazoa ezartzen du.
Beraz, ziurtatu hitz egin dezakezu haiei buruzko galdetegiaren.
>> Beraz, lehenengoa da segmentaziuo hutsegitea.
Eta hori edozein momentutan dugu saiatu memorian sartzeko
ari gara, ez sarbide baimena.
Beraz ikusi duzu migh honetan, adibidez, breakout.
Detektatzeko talka bada itzultzeko null, eta gero
zerbait egiten saiatu null balio duten,
ordenagailua emango luke zuk segmentaziuo hutsegitea.
Bat, beraz, gauza garrantzitsu bat ordenean egin hau saihesteko saiatzeko
da beti null egiaztatzeko.
>> Baliteke ikusi dute funtzioaren adierazpen inplizitua.
Beraz, hau da zer gertatzen denean Allison erakutsi duzu
prototipoa nola egin dugu, ezta?
Beraz, demagun batzuk ditugu funtzio hori dugu definitu.
Demagun kubo.
Eta, behealdean doa Gure eginkizun nagusia pean.
>> Ahaztuko dugu buruz ordenagailua kontatzeko bada kubo, nagusiak kubo deitu nahi du;
ordenagailua izango, bezala, oh my gosh.
Daukat zer esan nahi duen ideia ez.
Ez dakit zer egin, hemen.
Beraz prototipoa dio ez kezkatu.
Esango dut.
>> Etorri egingo da.
Ez me at Yell.
Ez eman niri inplizitua funtzioaren adierazpena.
Beraz, errore hau lortu baduzu, bat Gauza zu egin nahi joan
da ziurtatu zure prototipoa duzu.
OK?
>> Eta azkenik, baina ez gutxienez, undeclared identifikatzailea
funtsean bat erabili nahi izanez gero aldagai ez duzula deklaratu.
Beraz, bat-batean hasten zara atsegin n plus plus esaten.
Eta ordenagailua dio zer da n?
Ez zaitez inoiz esan zidan gauza bat izan zen n.
>> Beraz, gauza bat ziur zuk egin behar duzu egin da, zer n da ordenagailua kontatzeko.
Beraz, adibidez, n zenbaki oso bat izan daiteke.
Eta gero, errore hori saihestu ahal izango duzu.
Ohiko akatsak edozein galdera?
Bai?
>> Ikaslea: inplizitua For funtzioaren adierazpena,
izan daiteke, gainera, inork kendutako duzula liburutegien duzu ziren ustezko
, besteak beste, hobeto esanda prototipoa baino?
>> HANNAH: Eskuin, hain Galdera izan zen, ezin duzu
halaber error honek baduzu eskuratu ahaztua liburutegi bat, besteak beste.
>> Ikaslea: Bai.
>> HANNAH: Absolutely, delako modu berean
Gure prototipoak jarri nahi dugun funtzio nagusia baino lehen,
liburutegi bat izanez gero, horiek joan dira funtsean, besteak probatzeko,
definizioak, besteak funtzio.
Great galdera.
>> Ikaslea: segmentazioa batentzat errua, litzateke hori ere
gertatuko dugu, bezala, saiatu aldagai bat sartzeko,
bezala, ezberdinak [INAUDIBLE] batean urtean izendatu zuten baino?
HANNAH: Ziur, beraz genuke segmentaziuo hutsegitea bat lortuko
sartzeko saiatu badugu aldagai esparrua kanpo?
Hori izan zen galdera bat?
Ikaslea: Bai.
HANNAH: Beautiful.
Beraz, ziurrenik, bat lortzeko ari zaren identifikatzaile undeclared error ordez.
Beraz, besterik ez esateko joan Ez dakit zer dela.
Cool, beste ezer?
Bai, OK, ederra.
>> Guztiak righty, beraz errekurtsio.
Beraz, pare bat aldiz aipatu dut ledinçát gainezkatzea pila bat lortuko dugu
deitzen ari gara, zeren gure Funtzio errekurtsiboak hainbestetan.
Oraindik pila guzti hauetan dugu markoak, blah, blah, blah.
Zer nahiz funtzioa errekurtsiboa da?
Beno, funtzioa errekurtsiboa da deiak bera funtzio bat.
>> Gauza batzuk duzunean jakitun izan Funtzio errekurtsiboak aplikatzen,
ez ahaztu, oinarri kasu bat, besteak beste.
Oinarri kasu bat da toki horretan, amaituko dugu.
Beraz, adibidez, dugu, kodifikazioa bazabiltza Erraitea, Fibonacci errekurtsiboki,
Ziurtatu denean lortuko dugu egin nahi dugu 0 edo lehen Fibonacci zenbakira,
bi zenbaki horiek kasu horiek, horiek ez dira menpeko delako
gauza on hori baino lehen iritsi zen.
Horiek beren balio propioa dute.
>> Errekurtsio pros batzuk, eta hori bat Galdera Nik iraganean galdetegiek ikusten dugu.
Gehiago eramango daitezke zehatza, dotoreak kodea.
Eta funtzio asko, a algoritmo ezberdinak asko,
benetan uzten dute errekurtsio da.
Haien definizioa izan liteke Eta bera errekurtsiboa.
Beraz, Fibonacci bat da.
Faktore bat da.
Batu sort hau da one-- guztiak gauzak direla erakusten duena.
Ados, edozein galdera?
Bai?
>> Ikaslea: izkinan kasu bat da oinarri kasu bat antzekoa?
Edo duten beste batzuk motatako [INAUDIBLE]?
>> HANNAH: Noski, eta beraz bat izkinan kasu any-- hain da
izkinan kasu oinarri kasu berbera da?
Izkinan kasu bat ezer da, zure kodea pixka bat ezberdinean portatzen liteke.
Base kasuan ordenatzeko lotuta dago, in Oraindik dutela kasu partikular bezala
begiratu nahi duzun.
Baina oinarri kasu baten ideia dela zure funtzioa errekurtsiboa nahi duzun
uneren batean gelditu.
Ezin da gorde bera deituz betiko.
Uneren batean gelditu behar da.
>> ROB: Bai, sarri, zure base kasu Korner oinarriak adibide izan daiteke.
>> HANNAH: Eskuin, cool, ezer?
>> STUDENT: Ezin duzu azaldu oinarriak pixka bat gehiago?
Ez dut ulertzen [INAUDIBLE] base kasu.
>> HANNAH: base kasu Of?
>> Ikaslea: Base kasuetan, bai.
>> HANNAH: Oh yeah, ziur.
Ikus dezagun.
Ez klarion izan dugu hemen?
Bai, egiten dugu.
Ados, beraz, oso azkar, ez dut saiatu big idazteko nahikoa
beraz, pantailan ikus dezakezu.
Hizpidea, benetan azkar, Fibonacci.
Beraz, ematen dizut Fibonacci sekuentzia.
You definizioa bilatuko daiteke.
>> Funtsean, Sekuentziako zenbaki bakoitza aurreko bi zenbakien batura da.
Ados, horrela beraz, I Deskribatu Fibonacci,
errekurtsio entzun izan duzu, ezta?
When I esan zenbaki bakoitza da aurreko bi zenbakien batura,
OK esan genezake.
Beno, n-garren Fibonacci zenbaki beraz dezagun
esan funtzio hau dugu fib-- n FIB izeneko
da berdina da FIB izango da n ken 1 plus-- barkatu,
egingo dugu hurrengo lerroan hemen n ken 2 FIB gainetik.
>> Ados, beraz, honek lan handia bazaude begira, adibidez, zero, bat,
bi, hiru, lau, Bosgarren Fibonacci zenbakia,
non esan dezakezu 5 2 gehi 3 berdina da.
Baina zer gertatzen da, bada, bat hasieran?
Zer duzu, besterik kolpatzeko bazabiltza Lehen bi balio horiek?
>> 1 hau lortzeko, ezin duzu Esan aurreko bi gehitu,
zero duten and-- Ez dakit delako.
Beraz, uneren batean, gelditu behar dugu.
Uneren batean, to horiek esan behar dugu soilik bi bere definizio propioa dute.
0 Fibonacci zenbakia 0 da.
Eta lehen Fibonacci zenbakia 1 da.
>> Beraz, hau kode dezake I, I esango nuke n bi baino txikiagoa bada,
ondoren, besterik gabe itzultzeko n.
Eta hori da nire oinarria kasuan izango litzateke.
Hori nola gelditu jakin dut Funtzio errekurtsiboak batekin.
Garbi dago hori?
Awesome.
Ezer errekurtsio gehiago?
Beautiful.
>> Dezagun azkar buruz hitz bilaketa eta orduak moduko exekutatu.
Eta gero Davin batzuk emango ditut Denbora posible adibide buruz hitz egiteko.
Hortaz, hona hemen bilaketa nagusien eta mota horri buruz jakin behar duzu.
Guarantee-- ezin dut bermatu, ez dudalako quiz-- ikusi
baina hori datorren galdetegi galdetegi ondoren irten ondoren.
Beraz, behin betiko erabili taula honetan.
Atsegin dut, taula hau hartu.
Jarri zure Cheat fitxa kalera.
Pertsona bat zoriontsua izan duzu.
>> Hau kontatzen digu run bakoitzeko orduak Ordena eta bilaketa algoritmo horiek.
Beraz, bilaketa lineala, run ikusi ahal izango duzu ordua, eta bilaketa bitarra berdina.
Algoritmo horien zer errepasatu egin, ideia orokorra.
Begira pseudocode batzuk, Ez kode bera bada.
>> Ikusiko duzu burbuila ordenatu duela goiko n kasurik okerrenean ere loturik karratu.
Beraz, gure array erabat bazen ordenatzeko nahi genuen atzeraka aurretik,
esango genuke, hori da n karratu urratsak hartu du.
Baina kasu horretan, onena, hain xeheak onena aritzeko
da bada izango da Dagoeneko ezin hobeto ordenatuta.
Ondoren, guztiak egin behar duguna da egiaztatu dela sailkatuko da.
Ba al dago hemen baino galdera bat?
>> Ikaslea: Noiz litzateke ordenatzeko erabili nahi duzun?
Sort.
Besterik bitxia naiz.
>> HANNAH: Noiz egiten duzun aukeraketa sort erabili nahi?
Ko hau?
Hori n bi kasuetan karratu bat?
>> STUDENT: [INAUDIBLE].
>> HANNAH: Beraz, oso desberdina da.
Zehatza, zure programa baldintzak,
Esan besterik ez badugu horrelako gauzak bezala search-- sorry bat martxan
moduko bat ezartzeko, dituzu Ziurrenik joan nahi
lehenengoetako bat dela n kasurik onenean bat du,
edo txikiagoa n onena kasuan lotuak.
Baina han egongo den , esan bezala, zenbait gauza,
trukeak dira benetan zergatik baina garestia.
Gero egin nahi zenuke burbuila ordenatu, duzulako
hainbeste egin behar trukeak, horrelako gauzak.
Edozein other-- bai?
>> Ikaslea: Jakin al daiteke [INAUDIBLE] [INAUDIBLE] dagoela esan?
HANNAH: Hori gauza bat da esango luke
zuk ezartzeko begira bazabiltza.
Modu benetan nuke zergatik n, uste
karratu da exekutatu dugula Gure luzera n array bidez,
aldi bakoitzean, n trukeak gehienez eginez.
Eta prozesua n aldiz egiten behar dugu.
>> Beraz, gehienez egin behar duzu, n trukeak eta n matrizearen zeharkatzen,
ez da n karratu egingo da.
Baina bai, hau agerian geratuko da begizta bikoitza honen bidez,
asked-- galdera gisa edo begizta habiaratuak, esan behar dut.
OK?
>> Eta gero, batu, ordenatu, eta horrek sort azkarrena dugu orain,
edo dugun CS50 estalita, jakin algoritmoa honako hauek direla
hausturaren ideia hori ordenatuko pieza eta, ondoren,
ordenatuko bit hauek elkarrekin batuz.
Eta gurekin log n log n lortuko.
Bilaketak edozein galdera eta era pasatzen dut bertan? lehenago
Ikus dezagun.
>> Oh, lotuta zerrendak.
Sentitzen dut, gai bat gehiago daukat.
OK, awesome, lotuta zerrendak.
Arrayak duen arazoa, tamaina finko bat dute.
Beraz, ez duzu ez bada jakin zein handia Zure sarrera izango da,
ez duzu array bat sortu nahi.
Bat sortuko balitz dugulako array txikiegia,
buffer gainezkatzea sartu genuke exekutatu.
>> Beraz, horren ordez, zerbait egin izan dugu lotuta zerrendak, eta horrek
ahalbidetzen dinamikoki bat izatea gurekin tamainako datu-egitura
duten gordetzeko aukera emango digu datu kopurua malguagoak.
Beraz, nodo bakoitzaren barruan gure lotutako zerrenda, bi pieza behar dugu.
Benetako balioa da gordetzen dugu.
Beraz, gauza besterik ez da egiten duzun array ikusten, adibidez.
Eta gero bat Pista ere mantendu dugu memorian hurrengo gauza erakuslea.
>> Arrayak Ez bezala, dakigunez, dira guztiak joan
jolasten array elementu bat dira guztiak memoria lotuta bestearen atzetik
zerrendak lekutan izan daiteke memorian.
Kokapenak arbitrarioa Oraindik dute.
Beraz bagenitu to Benetan joan horiek aurkitu, dugu
segimendua behar gure zerrendako hurrengo gauza.
>> Eta, ondoren, ordena jakin non zerrenda horretan bezala oso bat da,
guztiak segimendua egiteko dena daukagu gure zerrendan lotutako elementu oso lehen.
Eta hori jarraitu bidez gaitu ahal izango.
>> Beraz, hau da modua nola defini dezakezu.
Hau aukera paregabea da aprobetxatu structs dira.
Duzu ideia hori dela eta, bai, nodo jakin batean, bi pieza daukat.
Benetako balioa bera daukat.
Eta, ondoren, erakuslea izan dut lotutako zerrenda hurrengo elementua.
Beraz, ikusten duzun, osoko zenbaki n bat dugu, hau da, benetako balioa izango da,
eta, ondoren, erakuslea nodo bat, izeneko ondoan.
Beraz, hurrengoan izango da gure zerrendan lotutako elementurik.
Ikaslea: Bai?
Ez hori zehaztu behar duzu izarraren egitura bat bezalakoa da?
>> HANNAH: Bai, beraz, hau geroztik Ia mota bat bezalakoa da,
Badirudi errekurtsiboa bat bezala dugun definizioa
Nodo bat zer den jakin behar Nodo bat aurkitzeko barruan.
Ez du geroztik benetan dakit zer nodo bat guztiz
iritsi arte this-- amaierara dugu eta honen ondoren, ezin dugu deitu
Definizio honen barruan nodo bat, dela egitura nodo bat deitu behar dugu.
Great galdera.
Beste ezer?
Bai?
>> Ikaslea: Zergatik egiten dugu node bi aldiz esan behar?
Zeren eta gure garaian ere [INAUDIBLE] izan besterik ez dugu egin behar den puntu eta koma ere,
baina orain, hori aurkitu behar dugu egitura nodo? [INAUDIBLE].
HANNAH: Beraz, uste dut azken adibidean,
edonoiz duzu besterik ez dugu sortu ziren Ikasle bat erabili ondoren ere, zuk
Eta egitura erabili behar izan nodo Sentitzen dut egitura ikaslea.
Horri esker, guretzat, hain zuzen, ondoren, besterik ez erabilera nodo mota berri bat gehitzeko, funtsean.
Duela zentzurik?
Beraz, atzera jo behar izan genuen eta, kodea begiratu aurretik.
Baina hori izango litzateke asmatzen dut ez dugu erabili typedef.
Eta galdera eskatu dugu, zergatik typedef erabili behar dugu?
Saihesteko aukera ematen digu Typedef Hitz hasieran egiturari.
Bai?
Ikaslea: Zer moduko galderei erantzungo luke
dagokionez terminoetan nodo eta zerrendak lotuta?
>> HANNAH: Beraz, gauza bat da, esan genezake zenbat Baliteke bilaketa lotuta zerrenda baten bidez?
Ados, delako bat gutxi zailagoa
dugu, bilatzen ari zaren baino array baten bidez.
Besterik ez dugu elementu zero begiratu, elementu bat, elementu bi, blah, blah,
blah.
Bilatu nahi badugu lotutako zerrenda baten bidez,
benetan genuke jarraitu erakusleak labirinto txiki hau.
Hargatik joan benetan hau benetan azkar bidez.
Zer egin genezake in aginduko zaie en dugu esan dezagun
besterik batetik bestera joateko bidez nahi Gure erabat lotuta zerrenda.
Buruan hasiko genuke.
Eta gero, ahal izateko hurrengo elementua mugitu,
horren ordez, banan incrementing of atsegin gerta daiteke array baten bidez egingo dugu,
benetan ari gara joan jarraitu hurrengo erakuslea,
beraz, aurki ditzakegu bertan ere memoria hurrengo elementua da.
Beraz, ezagutzen dut, ez da nahikoa hori guztia hartu oraintxe ere,
baina diapositibak hauek izan dituzu.
Beraz, bidez joan ahal izango duzu Hau apur bat motelago.
Baina, funtsean, zer nahi dugun egin da erakusleak horiek jarraitu
lotuta zerrenda osoa bidez.
Beraz, galdera hau da: eskatuko daiteke.
>> Zerbait nabarituko txertatzeko, demagun
elementu berri bat jarri nahi izan dugu gure zerrendan lotuta aurrealdean.
Oso kontuz ibili behar dugu Ordena buruz egiten dugun
erakusleak reassigned.
Zeren eta, esan dezagun, besterik gabe esan dut OK.
Egin burua puntu elementu berri honi.
Just seinalatu Ondoren, 1, dugu funtsean, gure zerrendako gainerako galdu,
ez dudalako gogoratzen 2 bizitzak bertan.
>> Beraz, bat egin behar dugu ordena oso zehatzak.
Lehenik eta behin, berria egin dugu elementu burua puntu.
Eta gero, burua egiten dugu elementu berria seinalatu.
Beraz, ikus dezagun zer itxura geziak besterik ez bezalakoa izan da.
Beraz, lehenengo berria duzu elementu burua zaharraren puntu.
Eta orain, burua daukagu lehen elementu berriak dakartzate.
Honekin zalantzaren bat?
>> OK hemen kodea batzuk berriro ere, zerbait pixka bat beranduago begiratu.
Eta orain, aktibatu egingo dut baino gehiago Davin to GDB eta praktika pixka bat
kodifikazioa paperean.
Beautiful.
>> ROB: Eta Rob.
>> HANNAH: Oh, Davin eta Rob.
Sentitzen dut.
>> Ikaslea: Woo!
>> ROB: Eskerrik asko.
>> Davin: Ez esan nahi duzun dena benetako azkar?
ROB: Bai, bai.
Davin: Behin naiz.
OK, Rob dioen bitartean mikrofonoa, beraz, zer da GDB?
Denek ikusi behar GDB klase eta, gainera, bulego orduetan.
Eta erabiliz izango duzu behar.
Beraz, zer da GDB?
Inor?
>> Ikaslea: araztaile bat da.
>> Davin: araztaile bat da.
Eta zer egin aukera emango du?
Atsegin dut, zergatik ez dugu nahi GDB?
Ikaslea: motelduko programa egitea.
Davin: Eskuin, beraz, oinez dezakezu Bidez gustatzen giza erritmoan.
Zenbait Eta beraz, zer dira komandoak egin dezakezu?
Beno, ez da break seguruenik Zure komando gogoko.
Ematen delako apurtu duzu programa eta benetan ibiltzeko
lerroz lerro.
>> Run ahalbidetzen exekutatu duzu.
Hurrengoa, bidez hurrats bezalakoa.
Zein da hurrengo urratsa, eta artean?
Itxaron, esan ozen.
Zuzena izan zen.
>> STUDENT: [INAUDIBLE].
>> Davin: Bai, awesome.
Beraz, bezala, hurrengo urratsa eta, zauden bada esan funtzio bat duzu zuk
definitzen dute.
Utzi zure eginkizun nagusia batzuk esan, eta besterik hurrengo zaren sakatuz, hurrengoa,
hurrengo.
Benetan ari zaren joan funtzio hori gauzatzeko,
baina ari zen hura gainetik salto zoazen.
Hit baduzu urratsa, edo s edo dena, zaren
Benetan salto egingo Funtzio hori,
eta, ondoren, hurrengo hit dezakezu desberdinak deiak ikusteko
funtzio jakin horren barruan.
Bai?
>> Ikaslea: Ba al dago modu bat salto, bezala, atzera out?
Davin: Amaitu, bai, amaitzea salto out.
Beraz, noiz amaitu behar duzu funtzioa, eta ondoren Oraindik duzu
nagusira itzuli izan da, esate baterako.
Print da garai batean inprimatu egingo da.
Zerbait erabiltzen dut beti erakusten da.
Erakutsi inprimatu out osotasunean etengabe zehar
zure programa.
>> Adibidez, bazaude loop, eta zuk
nola zerbait aldatzen ikusi nahi, eta ez, nahi bezala nahi, etengabe
egon inprimatu bezala egiten, inprimatu, inprimatu, erakutsi
aldagai hori bistaratuko du etengabe, aldi bakoitzean Hurrengo hit duzu.
Eta jarraitzen dute.
Beraz GBD, hau GDB da.
>> Ikaslea: Zein da bat non duzu [INAUDIBLE]?
Davin: Zer da?
>> STUDENT: Zer da the-- tokiko aldagaiak.
ROB: Zerbait benetan Bertakoek edo antzeko zerbait.
I can not
>> Davin: Izan dut horrelako zerbait, bai.
>> HANNAH: bertakoek In?
>> Davin: Hori da.
Hori bat da.
ROB: Beautiful.
>> Davin: Bai.
>> Ikaslea: Zer jarraituko du egin?
>> Davin: continues-- Hain besterik ez da zure programak jarraituko du.
Beraz apurtu duzu eta asmatuz gero jarraitzeko, joan da
besterik ez programa hori exekutatu arte break hori hits berriro.
Beraz, adibidez, izanez gero funtzio bat ere hautsi,
eta ari den bezala egingo duzu begizta edo horrelako zerbait,
eta jarraituko hit duzu, nik joan jarraitu eta joan break horretan itzuli.
Edo ez da break ez, da joan jarraitzeko eta programaren amaitzeko.
>> ROB: Beraz, besterik gabe, nahi exekutatu geltokietan Oso lehen etendura
sakatzen duzun, orduan bada sakatu jarraitzeko, mantendu egingo da
joan hurrengo etendura arte.
Eta gero jarraitu egingo joan hurrengo etendura egiteko.
Davin: GDB buruzko galderak beste edozein?
Beraz, uste dut iraganean, Nik galdetu dugu zer
GDB da eta emateko gauza batzuk adibide duzu
GDB egin daitezke, beraz, Benetako simple, baina bai.
Bertan joan zaitezke.
Eta nodo?
>> ROB: Bai, hain norabidea izan da?
Ikaslea: Hori izan zen.
Davin: Itxaron.
ROB: Guy hau?
Davin: Horko hori.
ROB: Guy hau, oh, ez nuen konturatzen.
Beraz, ezin izan dugu argi zer the-- ez dut
dakiten was--, baina galdera.
Ez dakigu zehazki zer ziren horri buruz galdetzen, beraz, besterik
zerbait argitzeko.
Beraz, lehenik eta behin, lehen esan dudan bezala, beti ari zaren besterik ez erabiliz typedef
mota bat ezizen bat sortzeko.
Beraz, hemen, goitizena gaude sortu motako egitura nodo honetan.
>> Beraz, lehenik eta behin, lotune honetan jaramonik typedef, beraz, hau eta egitura nodo kizkur
giltza behera hurrengo kizkur to giltza egitura nodo mota da.
Eta nodo hori behar dugu hara, garelako
node erreferentzia egiteko hemen behar.
Beraz, eta egitura errekurtsiboak moduko honekin, honi izen bat egiturari eman behar duzu,
edo, bestela, ezin duzu egitura nodo esan hemen.
Ikasle aurretik Berriz idatzitako genuen, uste dut,
ez dugu esan Ikasle han, garelako
ez dute struct esatea ikaslea egitura bera barruan.
Beraz errekurtsiboa da hori nodo esan digu ez behartzen.
>> Sare hori, izena gaude da node emanez typedef batean.
Beraz, nodo hori ez da nodo dela berdina.
Baina egitura nodo hau da egitura nodo berbera.
Davin: Beraz, betiere deitu, bezala, zure eginkizun nagusia nodoa,
Ez bazara joan egitura nodo esan behar.
Besterik ez duzu esan nodo, izan ere, node da desberdina bat da, funtsean,
, esaten ari zaren Ados.
Deitu izan beharrean struct nire kodea node,
Besterik ez zaio izena aldatu nahi dut nodo gisa errazteko.
>> ROB: badituzu beti erabili typedef, orduan hau
izan zaren joan leku bakarra da egitura nodo aldagai bat deklaratzeko
izarra, bai.
>> Davin: Ados, beraz, azken zatia da zaila irakasteko delako
ROB: Zer?
>> Davin: nik paperean kodifikazioa delako.
Beraz, urtero daukagu paper galdera on kodea.
Beraz, azken urte Uste dut, 12 out of 80 puntu paperean kode ziren.
Urte hori baino lehen, 10 eta 80 daudelarik, Urte hori baino lehen, 20 100 out,
beraz, horiek gutxi batzuk.
Beraz, ari ahal izateko zoazen sortu kodea funtzio horiek eskuz.
>> Hortaz pentsatu nuen baten bidez joan liteke dugun Horietako pare eta ikusi nola egin,
motatako ibiltzeko jendearekin poliki horiek.
Beraz, oro har, strlen eta atoi oso ezagunak izan dira.
Iaz, uste dut izan genuen GetPositiveInt eta RandomInt.
Baina pow, beraz, boterea, era berean, positibo bat ere.
Dezagun agian bidez joan besterik Bat edo horietako bi elkarrekin.
Zer ikusi nahi duten pertsonak?
>> Ikaslea: atoi.
Ikaslea: Bai.
Davin: atoi?
STUDENT: [INAUDIBLE].
Davin: Ados, joan naiz Egin taula gainean.
Ez lehentasun bat duzu Egiten dut, hemen eta han badago?
Bertan, Gabe dio ez.
>> ROB: Eta hau da, pentsamendu orokorrak kodifikazioa galdera horiek.
Probatu zerbait idazteko.
Ez zuriz utzi.
>> Davin: Bai.
ROB: lor daiteke bada itzultzeko mota egokia,
edo agian, agian eman dugu duzu, baina, ahal duzun bezala, bada,
du funtzio sinadura general idatzi, Zuk base kasuetan zuzena bazara,
edo kasu izkinan, edo check gogoratzeko null,
betiere batzuk izan duzun bezala gauzak, agian dugu
pare bat eman dezake arazoa puntu.
Ez, besterik gabe, utzi hutsik.
>> Davin: Bai, eta egiten baduzu besterik ez dira erabat
nola at stumped benetan kodea bihurtuko.
Pseudocode idazten baduzu, hori ere nahiko ona.
Beraz, bezala, sei puntuko galdera bat da, eta pseudocode egokia idatzi duzu,
gutxienez bi puntu lortuko duzu.
Beraz, ez besterik gabe utzi hutsik.
Probatu zerbait jarri.
>> ROB: izan behar da pseudocode zuzena, baina.
>> Davin: Bai.
ROB: Beraz, oro har garen gutxiago pseudocode bugs barkabera.
Davin: Ados, beraz, you guys atoi ikusteko.
Ados, beraz, besterik really-- beraz, zer egin nahi duzu
da zu izango zenbaki mota batzuk ematen.
Baina kopuru hori ez da int bat izan nahi, ezta?
Zer landuko dugu?
>> STUDENT: [INAUDIBLE].
>> Davin: Honez kate bat izan behar du eskuineko joan,
Beraz emango balira a kate horrek esan dezagun
>> ROB: tira behar dut editore bat?
I up-- tira daiteke
>> Davin: Oh, egin behar den, nik nahi duzun
>> ROB: Nahi taula nahiago duzu?
>> Davin: Zer egin nahi duzu?
Esan nahi dut, ez da eskuz egin nahi al duzu?
Edo ez da egin behar ordenagailu bidez nahi al duzu?
>> ROB: Egin ezazu eskuz.
>> Davin: [Barreak]
ROB: Egin ezazu eskuz.
>> Davin: Ados, beraz, atoi izango.
Beraz, zer da hobeto esanda, esan nahi dut, zaitugu ziurrenik amore eman beharko.
Baina zer gertatzen da, itzuli egingo da?
>> Ikaslea: Int.
>> Davin: Int itzuli da, eskuineko
So ez dut nahi han egin.
Hemen egin dut.
>> ROB: tira ahal izango duzu behera eta, ondoren, bultza ezazu.
>> Davin: bai.
[Barreak] joko-aldaketa.
Ados, beraz, int atoi izango da, eta zer hartu da?
Char izar bat, hain justu bat katea, star s, horrela.
>> ROB: Nice star, polita.
Davin: Hau agian ez da han, OK.
ROB: Bai.
Davin: OK, lehena orain Gauza I do-- nahi dituzu
ez dakit inor begiratu balitz Praktikan solutions-- at
baina zer ari zaren Egin nahi den Oraindik
izan nahi du begizta bat, zauden delako
nahi joan benetan kate honen bidez urratsa.
Beraz helpful-- beraz, demagun bat ari gara loop da,
eta goaz bidez urratsa joan katearen elementu guztietan.
Zenbat denbora behar da hori?
Zenbat aldiz goaz begizta horretan, batetik bestera joateko?
Ikaslea: Sterln?
Davin: Sterln, bai.
Hargatik esaten int luzera berdin sterln s.
Eta besterik gabe, bitxia, zergatik da beti mota hobea begiztak kanpo egin behar den?
Bezala, zergatik da hobea deitu Funtzio hau begizta kanpo?
Just azkar behatu bat egiaztatu?
Bai?
Ikaslea: Beraz, ez duzu egiaztapena mantentzeko.
Besterik [INAUDIBLE] ditzakezu.
>> Davin: Zehazki, eta, beraz, bai, zehazki zer esan zuen.
Beraz, ez dugu behar da egiaztapena mantentzeko.
Beraz, adibidez, dut deituz bada Funtzio hau begizta baten barruan,
ondoren, naiz deituz jarraitzea funtzio hau hainbat aldiz.
Eta hori txikitzeko joan programaren eraginkortasuna.
Beraz, erabilgarria da beti kanpo da aldarrikatu.
>> ROB: Hori esan, on Arazo horietako edozeini,
nahiko askoz betiere, lortu duzun bezala lan irtenbide, kreditu osoa lortuko duzu.
Beraz, ez zure diseinua bada kezkatu da erabat horrendous.
Gurekin ixilik egin zitekeen zure kodea irakurtzen.
Baina, betiere, funtzionatzen duen bezalaxe, puntu lortuko duzu etorri.
>> Davin: Bai.
Ados, beraz, ondoren, naiz joan aldagai batzuk deklaratzeko.
Besterik int batura deitu behar.
Eta ez dut hau, gauzak argitzera zero, horrela.
Eta hori besterik ez da joan leku-marka bat izan nahi du.
Beraz, hori izan da joan zer ari naiz itzultzeko.
Beraz noa azkenean batura itzultzeko programa hau.
Beraz, bi aldagai horiek daukat.
Luzera daukat.
Batuketa daukat.
Eta orain Dezagun salto gure katea sartzen utzi.
>> Beraz, aukera ematen dute gure begizta.
Beraz, lau int dut funtzioak 0 w, berriz, I plus plus luzera baino txikiagoa da dut.
Eta orain
ROB: Nice.
Davin: Ados, eta, orain, hemen gure kodea haragia dator.
Beraz, benetan egin dezakezu Bat, funtsean, lerro hau.
Beraz, ez da inor ideia bat zer ari gara hurrengo egin joan?
Ados, beraz, hori OK.
Beraz, ari batura esateko egiten dugu berdin utzi over-- batura hau scoot me
batuketa aldiz 10 plus-- gaude berdinen s I ken bat hartu du
aurrekontua aurrekontu 0 bat egin, horrela.
ROB: Oso intuitiboa.
>> Davin: xehatu da.
Ados, beraz someone-- lortu nuen, lortu nuen.
Ados, beraz, hori argi eta garbi gora.
Zer esan nahi du horrek?
Beraz, ez du inor ezagutzen zer esan nahi du?
Ezin denek ikusi hau?
Ez, inork hau ikusi ahal izango da, Ados.
Zaie noa
>> ROB: naiz idazten dut formula besterik hemen.
Davin: OK, Rob da egin behar dugu ordenagailua, eta hori fun on.
ROB: Oh my God.
Edo ez dut egingo.
Davin: Stand by.
Ikaslea: galdera bat daukat.
Davin: Bai, ziur.
STUDENT: [INAUDIBLE]?
Davin: OK, beraz, egia esan, bezala, besterik oro har,
, jarri bezala izanez gero, deklarazio int honetan
Berdinen I 0 koma luzera berdinen sterln, -bere
>> STUDENT: [INAUDIBLE].
>> Davin: Oso polita, horrelako delako
Ikaslea: Zergatik egiten duzun nahiz luzera erabili behar?
Zergatik ez dugu besterik [INAUDIBLE] sterln s, denbora guztian [INAUDIBLE] bezala?
>> Davin: hementxe esan nahi duzu?
>> Ikaslea: Bai.
Davin: behin delako Denbora horretan begizta eskailerak,
nik baldintza hori ebaluatuko ditu.
Ikaslea: Eskuin.
Davin: Eta baldin baduzu sterln han, orduan da
benetan deitu behar joan funtzio hori aldi bakoitzean bakarra.
Beraz, besterik ordez konparatzen int bat,
duzu deituz ipiniko funtzioa eta, ondoren, konparatzen
Itzultzen den balioa da.
Bai, beraz, besterik ez da, bai.
>> Nice, OK, beraz, gaur egun, mundu guztiak ikusteko moduan.
Zer honek, hau da, bezala, hau da.
Hau jam da, hemen.
Zer esan nahi du?
Zer egiten ari naiz?
Bai, ideia bat?
Bai?
>> Ikaslea: Beno, beraz, array batean sartzen ari zara,
joan behar joan zaren ezkerretik eskuinera,
beraz, eman egingo da bazoazela behera [INAUDIBLE] etik hamartarra.
Davin: Zehazki.
Ikaslea: Beraz, bakoitzak biderkatu behar duzu
zer int balioa duen moduan ikusi duzu berea dela bat baino gehiago mugitu lortuko duzu.
>> Davin: Perfect, perfektua, beraz, esate baterako, dezagun
esan eman diot zuk naiz baino gehiago idatzi hemen.
Ez, ez nago.
Baino gehiago idatzi hemen noa.
Demagun eman dut 76, ezta?
Demagun ematen dizut 76.
Hori kate bat hasiko da, OK?
>> Beraz, luzera zer den?
2, ezta?
Sum 0.
Orduan salto dugu gure begizta.
OK, lehenengo iterazio hori, zer izan da joan zen?
Honez batura 0 da izango.
Beraz, laburbildu aldiz 10 0.
Hori zentzugabea.
Orduan, zer egin?
STUDENT: [INAUDIBLE].
>> Davin: Honez piztu joan pertsonaia oso bat sartu, ezta?
Mota bezalakoa da zure light-- honek set arazoa
Mota bezalakoa da Arazoa Visioneer ezarrita.
ASCII balioekin ari zaren aurre.
Beraz, I ematen bada, nahi, bat zazpi, baina pertsonaia bat da,
eta jakin nahi duzun, OK, zer digituko hori?
Bai, ezin izan duzu, bai.
Beraz, zer digituko hori?
0 kendu ahal izango duzu bertatik, baina zuk 0, pertsonaia Kendu behar.
>> Eta non pertsona batzuek get erori zen, Oraindik dute
bezala, OK, ondo, zer egin jakin behar dut ASCII Galdetegi honetan baloreak?
Ez, zalantzarik gabe, ez duzu ASCII jakin behar
, bezala, minuskulaz balioak bat, maiuskulaz A, zero.
>> ROB: Ez dago arrazoirik inoiz jarri hau Cheat fitxa.
>> Davin: Definitely ez Zure espazio honekin alferrik.
Besterik ez literalki dezakezu esanez 48, eskubidea sortu bezalako
Ba, hori da baliokidea inork esaten, apostrophe bat,
bezala, berdin.
>> ROB: ezin duzu ia uste Jainkoaren if-- bezala, nire behar dut,
oops-- ezin duzu ia pentsatu balitz bezala hash horrelako zerbait egin behar dugu
define 0 48 gisa.
Horrek ez du funtzionatzen.
Baina pentsatzeko barra arrunta 0 barra arrunta, eta pertsonaiak guztientzat.
Pentsa konstante bat bezala ASCII balioa duten adierazten du.
>> Davin: Bai.
Ados, beraz, lehen aldiz egin dute, beraz, 76-- beraz bitartez, lehen aldiz,
hau pertsonaia besterik ez da 7 minus pertsonaia 0,
eta horiek zazpi dira zenbaki osoen bai, horiek
zazpi espazio daude, bata kanpoan ASCII diagrama edo dena delakoa beste.
Beraz, 7. int bat itzuliko da.
Beraz, orain, batura berdin 7.
>> Ados, bai, salto utzi hau loop sartu berriro.
Ados, orain batura aldiz 10 da.
Beraz, modu eraginkorrean mugitzen 7 ezkerrera.
Ez duela zentzurik?
Zara eraginkortasunez mugitzen ezkerrera.
>> Eta gero, hau add-- duzu 6 minus 0 izango da.
Hori da, 6.
Beraz, 70 gehi 6 izango da.
76, zure zenbakia.
Beraz, zer kopurua kontuan hartu gabe Eman dut, poliki-poliki da bakarrik
baloreak handiagoak mugitzeko joan ezkerrera, 1 10 faktorea
begizta batean aldi bakoitzean, eta gehitu beharrezko gisa.
>> Atzealdean?
Ikaslea: Ez dugu egin behar programan edozein egiaztapena?
>> ROB: Beraz, orain arte bezala egiaztapena Programaren doa,
Nahiko esango genuke askoz zer begiratu behar duzu.
Ez badugu, esango dizu ezer, orduan, oro har,
suposatuko gauza gehienak egiaztatu behar duzu.
Duzu agian, besterik ez segurua izan behar bezala, duzula Ziurrenik egiaztatu beharko hey, s null?
Ondoren, ez daki zer itzultzeko.
Baina esango genuke gauza sort hori.
0, ez dakit.
>> Davin: Eta zergatik nahi duzu s berdinen null bada Berriro egiaztatu behar da?
STUDENT: [INAUDIBLE].
Davin: char izar delako.
Erakuslea da.
Beraz onargarria a adierazpena, esan izan dut, OK,
s null berdin, delako erakuslea null izan daiteke.
Beraz, betiere erakusleak egin behar duzu zure bide hau atsegin batean,
Ziurrenik aztertu beharko duzu.
Ez baduzu begiratu, eta delako orduan, ondoren, zure sartu loop,
eta ari doing-- scoot behera.
Scoot behera.
>> ROB: Barkatu, hori da.
>> Davin: Eta, beraz, bezala, bada nulua da, eta gero
, zer error Horretarako zara iritsi zoaz?
Ikaslea: set hutsegitea bat lortuko duzu.
Davin: Oraindik 'ezarrita joan zara errua, eskuinera, zauden delako
indizea nahian null sartu.
Beraz, ari den indizea saiatu zoazen ez duzu jabea memorian.
Beraz, hau, hau da null bada, eta Hori eta gero, ziklo dituzu.
>> ROB: azterketa ere uste dut bertan galdera hau egiten dugu, esango dugu
zuk besterik ez du bere gain hartzen ahal duten zenbaki positibo bat da.
Atoi ere espero da delako Zenbaki negatiboak kudeatzeko,
beraz, kasu berezi eta duzu izango litzateke.
Hey, lehen pertsonaia da marra bat, eta kasu honetan, OK,
gaur egun osokoa negatiboa da.
Esango dugu gauza mota horiek.
Esango dizugu zer kudeatzeko behar duzu.
Davin: Bai.
Beraz, ziur pertsona batzuk have-- agian naiz Azterketak zaharra begira hasi ezkero,
Ikusi duzu sterln.
Hori popular bat da.
Eta uste dut sterln ere, izan behar duzu Egin egiaztapen hau nulua da, itzulera
0 edo horrelako zerbait.
Like, null egiaztatzeko izan duzu.
Eta ez baduzu, hori izan zen seinalatu off galdetegiaren.
Beraz, hala ere, denek egiten Sentitzen atoi OK?
Ez du inor nahi, zatiak zehar berriro joan nahi duzu?
ROB: Oh yeah, uste dut ere esango dugu dituzula
Dena dela is-- onar dezakegu benetan zenbaki bat ari dira sartzen,
ez duzula kezkatu, bezala, kate egoteko gutunak, beraz.
Davin: Bai.
Bai?
Ikaslea: Ezin joan denbora gehiago denean baino gehiago
aurrekontua bikoitz eta barra arrunta erabili duzu?
>> Davin: Noski, beraz, komatxo, oso besterik gabe, ez da komatxo kateak dira.
Beraz, aurrekontua bikoiztu baduzu ezer, hori kate bat da.
Beraz, nahi, 0 izan badut hemen, eta nik egin dut, hau kate bat da.
Hori jada ez da pertsonaia bat.
Beraz, ezin dut nire ASCII balio hau aurkitu diagrama, kate bat delako, bai.
>> Ados, beste edozein galdera?
Bai?
>> Ikaslea: Beraz duzun dagoeneko erantzun hau,
baina bezala, benetan gara galdetegi hau idazteko,
ez gurekin batera idatzi nahi duzun barrak zero [INAUDIBLE]?
Davin: N.
Galdera, beharko zen barra jarri zeroen bidez
zeroen ari dira adierazteko?
Ez, dugu, irudikatu dugu.
Bai, eskerrik asko, onak dira.
Ados, beste ezer?
Ez du inor nahi zaie Baietz uste dut Nik, denboran zehar pixka bat exekutatzen dugu.
Ez beste bat ikusi nahi baduzu, edo?
Ikaslea: RandomInt.
>> Davin: RandomInt, OK, zehazki.
Beraz, egin RandomInt utzi.
Egin dut hemen.
Beraz RandomInt askoz errazagoa da, benetan.
Uste dut atoi da ziurrenik gogorrena dugu eskatu ditudan aurreko urteetan.
STUDENT: [INAUDIBLE].
>> Davin: Zer?
ROB: naiz ikusten da nolako bada of ikusgai hemen inguruan.
Davin: Bai?
ROB: ez dut uste da egingo da nik uste nik korrika egiteko eskubidea joan.
Davin: Ados, beraz, hau egingo dut.
Eta gero, jarri besterik ez duzu pantailan.
>> ROB: Guztiak eskubidea.
>> Davin: nire eskribau izan nahi duzu?
>> ROB: Bai.
>> Davin: Nice.
OK, lehendik dut?
>> Ikaslea: Bai.
>> Davin: Hori da hain zaila.
(KANTU) egiten ari zara zer egiten ari zaren.
Eta zer egiten ari ez duzu.
Guztiak eskubidea.
>> OK, ondo gogoratzen dut, badago galdetegia RandomInt bezalakoa zen,
Ados, nago emateko bi noa zenbakiak, a eta b bat bezala.
Eta ematen didazu bat nahi dut Zenbakiak artean RandomInt.
Beraz RandomInt joan bi zenbaki hartzeko
beraz RandomInt-- eta hori da, int bat itzuli du.
>> Beraz, zer da itzulera-balioa?
Besterik esan dizut.
Int, ezta?
Horrela, eta, ondoren, hemen bi ints hartu du.
Beraz, int hartzen joan eta int b, horrelako.
Beraz RandomInt zer da egin egingo da egingo da
ausazko balio batzuk itzuli bi balio horien artean.
Beraz, handiagoa izan behar du bat baino, b baino gutxiago.
Beraz, uste dut ahal izango ziurrenik bere gain hartzen duten bi balioen txikiagoa da.
Beraz, ari gara aurre bada aleatorioak, zer funtzio
dute ikusi dugun ematen digu ausazko gauza?
Ikaslea: Drand.
Davin: Drand, zehazki.
Beraz, ari zaren seguruenik Zure drand erabili nahi.
Beraz, int ausazko esan dezakezu, eta zaitugu besterik esan berdin, 0 oraintxe.
Eta ari goaz esan, OK, ausazko berdinen drand 48.
Eta zer itzuliko du?
Zer ematen du funtzio hori duzu?
>> Ikaslea: 0 eta 1 artean.
>> Davin: Bai, 0 eta 1 artean.
Beraz, jolasten joan
>> ROB: Eta hau is-- dut uste bat eduki ezazue genuke.
Like, drand erabili ahal izango dituzu 48.
Egiaztatu ahal izango duzu, azken azterketa-orrian.
Baina, ziurrenik genuke esan duzu drand erabili ahal izango 48, eta horrek
0 eta 1 arteko mugikor bat itzultzen du.
>> Davin: Bai, bai, naiz Nahiko azterketa ziur
Ziurrenik zuk esaten du drand erabili nahi, bai.
Beraz, itzuli egingo 0 eta 1 arteko balio batzuk.
Eta gero, zer egiten ari zaren Egin nahi da?
Beno, by-- biderkatu nahi dituzu itxaron, uste dut hau bezala, barkatu.
Besterik ez dut hau.
Ez dakit.
>> Beraz, b ken bat.
Beraz, zergatik b ken bat?
Beraz, demagun drand bizkarra ematen dizu int OK da, bakarrik egin dut, gainerakoak,
beraz, plus bat.
Beraz, zer eta honek, da b ken bat.
Beraz, demagun drand bat atzera ematen dizu gehienezko balioa, seguru asko, ezin izan da
emango dizu.
Zer dela izango da?
Ikaslea: 1.
>> Davin: 1, ezta?
Beraz, hau da, 1 bada, eta zauden it biderkatuz b minus bat,
beno, hori besterik ez du ken A. arteko aldea
Eta zuk gero gehitu bada baten gainean atzera, hau da, zer?
Funtsean b.
Ez duela zentzurik?
>> Ikaslea: Bai.
>> Davin: Beraz, hau gehienezko bada baloratzen da, seguru asko izan zitekeen,
nik 1 izango da.
Eta gero, hori bakarrik Bien arteko aldea.
Batetan gehitu, beraz, hau da: ausazko itzuli egingo da.
Eta izkina kasuan That drand du zu 1,
ausazko besterik eraginkortasunez b egingo da.
Baina hori ahalik eta gehien izan daitekeela.
Beraz, bada, nik baino txikiagoa izango da hori, beraz, demagun bere atsegin duten 0,9,
beraz, ondoren, 0,9 bider b ken bat gutxiago izango da
b minus arteko aldea baino.
>> Eta gero, hori gehituz gero, baten gainean, eta gero balio hori da
baino handiagoa izan behar du, izan ere, zerbait gehitzen ari zaren da kalera,
baina b baino gutxiago izango.
Beraz ausazko bat lortzeko ari zaren zenbakia, zuk drand deitzen ari delako.
Eta rand horretan, ausazko zenbaki dela nonbait izango da bat tartean
eta b.
Ez duela zentzurik?
>> ROB: Just jarri hormigoizko zenbakiak, beraz,
demagun bat jaso nahi dugu 7 eta 10 arteko zenbaki aleatorio.
Beraz, b minus gure gama da.
Beraz, ez dago hiru sorta bat da Zenbakiak aukeran nahi dugu.
Eta gero, biderkatzailea 0 eta 1 1 artean dagoela;
direla gero ematen digu bada some-- demagun emango dizkigun 1.5.
>> Ondoren, 1,5, 7 eta 10 arteko joan nahi dugu.
Beraz 1.5 plus 7 dizkigun Gure 7 eta 10 sorta sartu.
Eta gero ari gara gordetzeko dugu barrutik zenbaki oso bat, beraz, behera trunkatuta 8 da.
Eta gero itzuli besterik ez dugu.
Beraz, b minus gure gama da.
a dabilen zenbakiak sartu sorta horren barruan nahi dugun.
7 eta 10, eta ondoren arteko Beraz, itzultzeko beharrik, azkenean egiten dugu.
>> Davin: Bai, polita.
>> ROB: Eskerrik asko.
>> Davin: Bai, zer gertatzen da?
>> Ikaslea: Do exekutatu dugu edozein motatako ASCII akatsak drand bada we're--
mugikor bat [INAUDIBLE] itzuli.
>> ROB: Beraz, Rob zioen bezala, ausazko ez delako int,
beraz drand mugikor bat izango da.
Beraz, eta gero biderkatu dakitelako.
Eta batzuk lor dezakezu Zenbaki karroza mota.
Eta gero, moztu egingo da.
>> Ikaslea: OK.
Davin: Bai.
ROB: Eta abisatu konpiladoreak balira , buruz nahi duzu, doitasun-galera,
besterik ez int bat bota han, eta, ondoren, ona da.
Davin: Bai?
>> STUDENT: Nahi izan da lortzeko probabilitatea bera,
bezala, b edo a [INAUDIBLE]?
>> ROB: Beraz is-- Benetan naiz wondering-- da RandomInt ustetan
batetik zenbaki bat izan behar b baino gutxiago?
Bezala, ez da 7 eta artean bada 10, zer dira aukerak?
7, 8, eta 9, edo 7, 8, 9, 10?
Davin: I ahaztu.
Arazoa set on
>> ROB: Uste dut, 7, 8, 9.
>> Davin: zehazki esaten du batek biak barne, eta norberaren esklusiboa.
>> ROB: Bai.
>> Davin: Baina I do not not-- naiz
>> ROB: Beraz, uste dut horiek da Ez dakar, eta kasu horretan,
ez dago berdinketarik 7., 8. eta 9. probabilitatea.
Ez dago 10 probabilitatea da.
Davin: Bai?
Ikaslea: galdera bat daukat.
Funtzio bat definitu nahi dugu ez da balio bat, baina array bat itzultzen du.
Orduan, zer izango litzateke sintaxia ondoren itzultzeko?
>> Davin: Ados, orduan duzu would-- itzuli ondoren?
Beraz, demagun deklaratu izan duzu array bat nonbait han.
Ondoren, besterik ez litzateke duzu itzultzeko array baten izena.
>> Ikaslea: Ados, eskerrik asko.
Ondoren, besterik ez era batera itzultzeko
Davin: itxaron Oh, beraz barkatu.
Galdera zen, nola ez array bat itzuli duzu.
>> ROB: Nahiz eta ezin izan da array bat deklaratu
pila edo horrelako ezer.
Zerbait izan behar luke malloced, zeren malloc
Hau sahiesteko, nola lortuko duzu memoria esleipena automatikoa.
>> Davin: Bai.
ROB: Nola tokiko esparrua inguruan lortuko duzu.
>> Davin: Baina egiten duzun return bere izena
>> STUDENT: [INAUDIBLE] ez da bat balioa, adibidez, bi zenbaki, beraz,
[INAUDIBLE].
>> Davin: ahal izango duzu ez itzultzeko kopuru bat baino gehiago.
Ezin duzu, bezala, itzulkinaren
>> Ikaslea: hitz itzuli buruz I array bat edo horrelako zerbait.
>> Davin: Bai, beraz, galdera da daiteke hainbat balio itzuli dut.
Ezin duzu hainbat balio itzuli.
Ezin duzu, bezala, itzultzeko orduan a itzultzeko b edo horrelako zerbait.
Zeren eta itzultzean, ondoren funtzioaren out itzultzeko.
Eta gero funtzioa egiten da, eta atsegin Rob esan, pila da.
>> Beraz, memoria hori guztia besterik lortzen ordenagailua itzuli.
Dena ahaztu egiten da, batez ere.
Beraz anitz itzuli nahi baduzu balioak, array bat itzuli behar duzu,
Eta bide hori egin duzu mallocing da.
Eta, ondoren, x itzuliko zenukete horrelako.
Funtsean, itzuli besterik ez duzun izena.
Eta duzunean itzuli honen antzeko zerbait, zaren
ez benetan balioa itzultzeagatik.
>> Beraz, demagun gordeta duzun array batean baloreak.
Oraindik ez duzu benetan balio horiek itzuli.
Atsegin dut, int bat itzuli badut, ez naiz balioak kopiak benetan itzuli.
Baina itzultzeko i balira honen antzeko zerbait,
Erreferentzia bat dut itzuli balio horiek.
Beraz, itzuli naiz, funtsean, bat memoria balioak helbidera.
Ez duela zentzurik?
Ikaslea: Bai.
Davin: Nice.
Bai?
>> Ikaslea: zaudenean drand hemen baino gehiago erabiliz,
ez srand jarri behar da, aurretik duzu?
>> Davin: Ez, ez, ez dut uste.
>> ROB: Bai, beraz, egin behar duzun srand buruz ezer esan behar?
Zuetako lehenetsia inoiz srand esaten oro da besterik egin null of srand.
Beraz, bere borondatea lan propioa drand.
Eta automatikoki batera hazia uneko ordua, da, zer erabiltzen du.
Davin: Bai?
Ikaslea: ¿Te [INAUDIBLE] zenbakiak?
Davin: Bai, ahal duzu.
Ikaslea: Could So Esan bezala, 4 aldiz 2.
Gauza da, ezin duzu bere gain hartzen orduan int lau byte da.
Only-- The
>> Davin: Esan nahi dut, ahal duzun galdetegia.
[Barreak]
>> ROB: Mm, ez.
Davin: Bai, bai, egin dezakezu.
Zuk eskatu badute, nola big int bat da, Ezin izan, bezala, lau edo zortzi.
ROB: Oh, beraz, bada Galdera zehazki da
bezala, kodifikazioa arazo bat bada, int tamaina esan beharko duzu.
Taula bat bada, edo byte zenbat dio,
ez behar duzu ints tamaina bete.
>> IKASLEAK: [Barreak]
>> Davin: Eskuin, beraz, zergatik da int garrantzitsua hemen tamaina?
Beraz bezala, ari gara 32-bit joan bada prozesadorea edo horrelako zerbait,
ondoren, lau byte izango.
Baina berriago batzuk gauzak, zer izan zitekeen?
Zortzi izan liteke, ezta?
Beraz this-- baduzu besterik gogor lau-kodea, ondoren, makina batzuek gainean lan egingo du.
Zenbait makinak, ez da lan egiteko.
Baina galdetegia gauden bada atsegin nola big int bat da?
Jarri lau.
ROB: Eskuin.
Davin: Bai?
Ikaslea: Beraz, deklaratzen ari delako [INAUDIBLE] funtzio baten barruan,
jarri behar dugu 3 funtzio horren barruan?
Edo daiteke kanpo erabiltzen dugu?
Davin: Erabili ahal izango duzu Funtzio horretatik at.
Beraz, doan da zuen galdetuz.
>> Ikaslea: Galdu pista non [INAUDIBLE].
>> ROB: Oh, free ez gerta duten malloc magia parte da
Oraindik ez duzula tokiko esparrua mugatua.
Kontrol osoa baino gehiago duzu zenbat denboran zehar aldagai bizi.
Beraz malloc deitu dugu hemen, baliteke erabat aparteko funtzio bat izan.
Izan dut 10 ordu geroago azkenik deitzen dugun doan dela.
>> Davin: Beraz, adibidez, bezala, pare bat Hemendik aurrera, azkenik duzu aste
Hiztegi speller egin psets, bazoazela
funtzio batzuk izan duten nodo tona sortzen.
Beraz tona mallocing zu funtzio honetan nodo.
Eta gero bat geroago funtzioa bereizi, zaren
nodo horiek guztiak askatzea nahi du.
Beraz, bada, literalki, besterik gabe, gainditu ahal izango erakuslea, beraz, memoria-helbide bat askatzeko
zer malloced duzu.
Eta hori ondo egongo da.
Ez duzu free, bezala, funtzio bera dute.
Bai?
>> Ikaslea: Beraz malloc a aldagai [INAUDIBLE] kanpo?
Hori da esaten ari zara?
Davin: Itxaron, hitz horiek?
Barkatu.
>> STUDENT: bada malloc aldagai bat free izan daiteke edonon kodea,
ondoren sartu ahal izango dute kodea edozein lekutan?
Ezin horiek tokiko mantentzeko duzu?
>> Davin: Oh, galdetu zuen, bezala, aldakorra da, antzeko
>> ROB: Beraz, oraindik behar duzu erreferentzia nolabaiteko
malloc memoria-bloke bat.
Beraz, hemen, x itzultzen ari gara.
Ikaslea: Oh.
ROB: Ez bagenu bueltan x hemen, eta hori besterik ez da hutsunea izan ziren,
ondoren eskuratu ezin izango genuke erakuslea malloced zen,
eta memoria leaked da.
>> Ikaslea: OK.
>> Davin: Beraz bezala, dezagun esan duzu hau behar, bezala, hemen.
ROB: No.
Davin: nire funtzio nagusian, ezin dut besterik x honetara deitu eta izan, nahi, OK,
funtzio honetan, hau egin nuen.
>> ROB: Eskuin.
>> Davin: Beraz, ez dut x deitu egingo, bezala, nagusia edo horrelako zerbait.
Ezin duzu hori egin.
Zerbait itzuli behar duzu.
Baina zer egiten duzu itzultzeko?
Memoria-helbide bat itzuli behar duzu.
Eta memoria bat itzultzeko duzulako helbidea, beste nonbait joan daiteke.
Edozein galdera gehiago?
Bai?
>> Ikaslea: funtzioaren gainetik dago [INAUDIBLE] txeke izatea?
>> Davin: Zergatik ez egin behar dut horretarako?
STUDENT: [INAUDIBLE].
Davin: Oraindik delako ez ezer mallocing.
Beraz, not-- bai, da ez nahi katea s bat.
Erakuslea nonbait da.
Horiek balioak besterik ez dira.
Ikaslea: OK.
Davin: Bai.
Beste ezer?
ROB: Bai?
Ikaslea: Baina zuk [INAUDIBLE]?
>> ROB: Beraz, ordena free the memoria, hemen esango genuke.
Beraz, x gure erakuslea da memoria-bloke.
Erakuslea askatzeko gara.
Eta ez genuke zertan egin ezazu hemen.
Edozein lekutan egin ahal izango dugu.
Baina bakarrik deitzen duzunean libreetan Zerbait itzultzen malloc hori.
Beraz, malloc, hemen, itzuli zer da x gordetzen du.
Beraz, doan x deitu ahal izango dugu.
Edozein azken galdera?
>> Davin: Edozein azken galdera?
Bai?
>> Ikaslea: Barkatu, ezin duzu berriro azaldu zergatik askatzea litzateke duzu han?
Zergatik [INAUDIBLE]?
>> Davin: hemen?
>> Ikaslea: Bai, atsegin eskuineko ondoren.
Davin: Ziurrenik nahi ez librea da hemen.
ROB: seguruenik ez litzateke duzu.
Davin: hori bai, hori ez da ezer egingo lukeen.
Hau litzateke, bezala, sortu memoria, egin gauza da,
eta ondoren, berehala ahaztu, bai.
>> ROB: Baina egiten dugu, bezala, Hemen arrazoi batzuk ere.
Agian int izar esaten dugu y berdinen bueltan array.
Ba gauza batzuk y batera, agian edukiak inprimatu.
Eta gero, azkenik, Bukatutakoan dugu.
Y askatu ahal izango dugu.
STUDENT: [INAUDIBLE].
Davin: behera joan behar dut?
Eskerrik asko.
ROB: Nice.
>> Davin: Ados, hori da.
ROB: Ondo da, ona.
Zorte ona.
>> Davin: bada galderarik baduzu, idatzi.
Zorte ona.