>> [Musika jotzen]
>> DAVID MALAN: Eskubidea guztiak.
Ongi itzuli.
CS50 hau da, hau da, One Week, jarraitu zuen.
Arrazoi gara pasatzen bat da, beraz, teknologiak bezalako inguru
Google Glass da dezaten zerbait API bat bezala ezagutzen da,
Application Programming Interface.
Eta zer esan nahi duen eskubidea fitxategiak eta eskubidearekin
dokumentazioa, ez duzu idatzi Horrelako gailuak nahiz software.
>> Eta, beraz, zer egin nahi dugun norabidean seihileko amaiera da, proiektu bat bada
, esan, inplikatuz Google Glass dezake errekurtsoa, ​​ikusi zer egin dezakegun ikusiko dugu
duzu Pribatutasun sortu batzuekin dagokionez loaner hardware baita
publikoki eskuragarria API-ahal duzu eta horrela benetan hasteko software sortzeko
hori bera Google Glass exekutatzen.
>> Beste gailu dugun dira jolasten berandu pentsatu dugu agian izango duen
seihilekoa en amaieran dibertigarria da hau gauza txiki hemen.
Deitzen jauzi Mugimenduan, eta zer egiten ari zaren ikusi buruzko teknikoki bat
gailua iragarkia, baina ez du zer jakin honetan hitz egiten
gailua duena.
Eta gehiegi, it, API bat dator bidez software idatzi dezakezu
kontrolatzeko zeure ordenagailua modu nahiko gustatzen bat minutuko film hau hemen.
>> [Bideo-erreprodukzioa]
>> [END bideo-erreprodukzioa]
>> Beraz, oraintxe bertan, gailu hau gertatzen egon pixka bat USB gisa inplementatu
konektorea ditzakezun sartu entxufatu ordenagailua, baina esango nuke ez da harritu
luze baino lehen, mota horietako dugu urtean PC hurrengo sorta teknologia
eta MACS ahal duzu eta horrela, hain zuzen ere, harekin elkarreragin en
horrela modu bat.
Izan ere, zer egin behar nuela pentsatu nuen, ere, da Gora bota dut pixka bat manifestazio
duen programa software honekin batera dator.
Beraz, jarri dut pixka sentsorea Nire eramangarria aurrean.
>> Eta Ikusten duzun bezala, konturatuko da dagoeneko nire eskua dagoela
hura kontrolatzeko.
Eta aplikazio hau guztia egiten da swimmingly hau bezalako gauza txiki.
Baina hori ikus dezakegu, hain zuzen ere, Bost behatzak ez daukat.
Gaitezen bada guztiak, 10 egin behar da, neat piano bat imajinatu dezakezu
aplikazio edo antzekoak.
Beraz, etorri klasea ondoren zinela gaur egun, eta play duten bezala
Beno, ari zaren ongietorria.
Beraz, hori on gehiago seihilekoa bukaera aldera.
>> Administrazio-pare bat, beraz, iragarkiak.
Ko, egin Ostirala Atal honetan cs60.net/section at eguerdian.
Hori URL ikastaroa en dago Hasiera-orria ere.
Bitartean, aunque, supersections igande honetan estreinatuko da.
Supersections bat-denbora gauza bat dira, hartzen du digulako denbora batzuk lanera
nork duen atalean, eta non da.
>> Datozen igande honetan, beraz, ez dago bat izango horiek gutxiago erosoa atala,
ko horiek atala erosoago.
Eta zuk horiek nonbait hasi diren artean joan ongietorria
bai edo bai edo ez.
Bi filmatu egingo da.
Handiago bat Auditorioan egingo dute baino atal bat, normalean sartu litzateke
Baina helburua hemen duzu hornitzeko batera arazo erosotasun batzuk ezar bat,
C, CS50 tresnarekin, honekin asteburuan, aurretik ere aurki dezakezu zure
formal atal esleitzeko.
Beraz, zure TF eta zure txikiagoak betetzen dituzu sectionmates talde buruz
aste bat denbora.
>> Bulego ordutegia, berriz, dira gertatzen.
Do aprobetxatu horietako gauean edo Bihar gauean litzateke duzun bezala.
Arazo multzo 0 da ostiralean ondorioz.
Hau da, egun bat geroago baino aldizka-programatuta Osteguna.
Baina arazoa multzo 1, ikusiko duzu Biltzen duten zenbait beroketa
ariketak, honekin zuk zeuk Zure luzatu ahal izango
Osteguna ostiralera epea.
Arazo multzo 1, berriz, egingo du debuta Ikastaroaren web honen erdiraketa
Ostirala, sortu curl batekin nahi baduzu egin dut behin berandu gainean
Ostirala zure gela gauean.
>> Beraz cs50.net/appliance lekua da, non CS50 tresnari lor dezakezu
hasi garela astelehenean erabiliz.
Berau erabiliko dugu eta pixka bat gehiago gaur egun.
Baina gainerako ziurtaturik arazoa ezartzeko 1 zehaztapen dizu bidez
hain zuzen ere, urratsak egin behar duzun hori lortzeko martxan.
Beraz, ez dela egin baino lehen kezkatu Pset 1 nahiago baduzu, ez.
>> Guztiak eskubidea.
Beraz, begiratu astelehenean dugu iturburu kodea, eta baina berri baten testuinguruan
programazio hizkuntza, hots, C eta C, Scratch ez bezala, ez da grafikoa.
Ez da puzzle pieza.
Gehiago English antzerako sintaxia da.
Eta ez dago inplikatuta urrats pare bat Egia esan, idatzi eta bat exekutatzen
C programa, gainera, zeren iturburu hau bezalako kodea, zerbait behar duzu
izeneko konpiladore bat.
Eta layman en dagokionez, zer konpiladore bat ez Gurekin egin nahi duzu?
Bai.
>> Ikaslea: kode bihurtzen ditu to 0 s eta 1s duzula idatzi.
>> DAVID MALAN: Ongi.
Beraz kodea bihurtzen dela idazteko eta 0 s 1s dugu.
Deiturikoak iturburu kodea bihurtzen da, objektu-kodean, eta azken horren itxura
honen antzeko zerbait pixka bat.
Eta zure CPU, barruan garunak da Zure ordenagailuan, hori delako
duten pertsonek sortutako ordenagailu horiek, dakit zer-sekuentzia horiek
bestekoa 0 s eta 1s du.
>> Agian inprimatu esan nahi du.
Gainera, agian, esan nahi du.
Agian kenketa esan nahi du.
Agian erakutsi grafiko bat esan nahi du.
Daude bit ereduak aurrez zehaztutako mundua erabaki du esan nahi
zenbait gauza.
Baina ikastaro honetan parte gehienentzat, goi mailako dugu lan, eta
hartu emandako dagoela existitzen gara Konpilatzaileak ahal bezala gauzak
gure iturburu kodea funtzioa modu asmoa dugu.
>> Programa, beraz, lehenengo idatzi zuen ditugu azken astean eta, ondoren, portuan hasi zen, beraz,
hitz egiten, C iraganeko honetan Astelehena, hau izan zen.
Noiz berdea jo klik egindakoan, agurtu.
Hau izan zen, noski, Scratch idatzita.
Eta nik aldarrikatu baliokideak diren C programa begiratu apur bat
honen antzeko zerbait.
>> Beraz, zer lehen egin genuen pentsatu dut, dezagun aurre gain, zer itxura du, lehen
begirada, Admittedly, eta nahiko urrutira sintaxia, hasteko, baina konturatu beharko duzu
ereduak nahiko azkar.
Zer aukera izango dugu gaur egun eskaintzen dituzun zenbait eredu mental bat
kanonikoak, ohiko eraikuntza batzuk programazioan.
Eta gero, benetan dugu gure eskuetan adibide batzuk, eta baita zikin batekin.
>> Beraz, zuk dutenentzat erosoagoa, konturatzen aste honetan, eta ondoren, hurrengo
aste oso ondo balorazioa pixka bat izango da.
Baina, batez ere, hacker edizioan arazo multzo 1 doa buruzko
Ikastaro horrek ostiralean web orrian, uste dut hori aurkitu beharko duzu, baita bete
aste baino gehiago edo hurrengo bi hutsuneak batzuk Hasteko, gero eta gehiago lortuko duzu
desafioa eta topo berriak eta berriagoak diren gauzak.
>> Hargatik aurre programa hau aparte denbora lerro batzuk.
Oso goialdean, zer egin behar dugu teknikoki izeneko
Preprocessor direktiba.
Hau da, kode-lerro dioen fitxategi baten edukia, besteak beste,
izeneko estandarra I / N, sarrera estandarra - edo, barkatu, standard I / O, estandarra
sarrera / irteera,. h, barruan nire programa propioa.
>> Beraz, beste era batera esanda, bada, hau idatzi nuen testu-editore sinple bezalako programa
gedit, errazagoa baliokidea Microsoft Word bezala, zerbait
Instrukzio, # include stdio.h, besterik ez da konpiladoreak kontatzera joan, hartu du
fitxategi hori beste stdio.h edukiak, eta itsatsi horietako eskubidea hemen.
>> Orain, zergatik ez dut axola?
Zer da aldarrikatzen dugu barruan Artxibo hau stdio.h deitzen zaio, hau da, gordetako
nonbait nire disko gogorrean, edo honetan kasuan, nonbait CS50 tresnan?
Beste norbaitek jarri han niretzat.
Baina, zer da bertan?
>> Bai, beraz, deklarazio bat da funtzio bat deitu printf.
Beraz printf funtzioa gogorarazten pantailak hitz eta pertsonaiak eta
Nire lizitazioak pantaila zenbakiak.
Baina ez dut idazteko.
CS50 ez zuen idatzi.
Norbaitek urte idatzi zuen, eta haiek funtsean eman digu errezeta
stdio.h izeneko fitxategi batean.
Beraz, lehenengo lerroa besterik ematen dit sartzeko funtzio hori beste norbaitek
idatzi zuen urte artean horiek printf.
>> Orain, hurrengo lerroan nire olatu noa Bestalde, gutxienez hurrengo aste arte.
Baina, oraingoz, ezagutzen int main (void) da funtsean, horren baliokidea
horia puzzle denean Bandera Berdea klik egindakoan.
Mundua, urte, erabaki bada Programa bat idazten ari en
Hizkuntza izeneko C, has Zure lerro batekin programa
hori dela dirudi.
Aste bat besterik ez denbora buruz, egingo da Zentzu int zer da, zer hutsa da.
Baina oraingoz, besterik pentsatu honetan puzzle pieza horia.
>> Orain hurrengo, jarraitu kizkur giltza bat behar dugu beste kizkur itxi giltza arabera,
nolabait esateko.
Eta horietan zehar ikusiko dugu C programak, baita
Ikusteko Javascript-a eta PHP.
Eta horiek bakarrik enkapsulatu kode lerro erlazionatutako.
Irekita kizkur giltza funtsean dio, hemen batzuk kodea dator.
Eta itxitako kizkur giltza, hau da, beste norabide batean angeluarekin, besterik
bitartez, kito egiteko dagokion kodea da.
>> Lehenengo honetako lerro mamitsuena, hain Programaren azken printf da,
Aurrekontu-unquote, kaixo mundua.
Eta gauza artean deitu nuen komatxo zer azken aldiz?
Beraz, kate bat da.
Eta kate bat besterik ez da udalerri sekuentzia bat epe
karaktereak, hitz bat, esaldi bat.
Nahiz eta letra bakar bat ezin bikoitza izan da kotizatzen.
Baina zero sekuentzia bat da edo karaktere gehiago.
>> Barra-n, nahiz eta, itxura pixka bat arraroa da.
Baina, esan nahi du, besterik gabe, zerbait Ordenagailuan simple.
Zer da barra-n?
Linea berria.
Beraz, hori besterik berezia sekuentzia pertsonaien mundu hori erabaki du
bitartekoak jarri line break bertan, konpiladoreak benetan delako lortu
nahastu, normalean, ez baduzu, oso understandably, baina gaizki, besterik
Sartu hasteko jarri sakatuz Zure kodea ildo berriak.
Pixka bat gehiago behar duzu backslash-n zehatza.
>> Ikusi eta ez da gutxi barru beste dizugu karaktere berezien ereduak.
Esate baterako, nahi izanez gero, utzi zure burura txoko kasu bat ibiltzea,
Berek nahi izan dut inprimatzeko pantaila buruzko aurrekontua bikoitza
Edozein arrazoi dela medio, hori badirudi apur bat problematikoa, eskubidea izango ote da?
Jarri dut bikoitza aurrekontua galtzen delako erdian "Kaixo, mundua," edozein
arrazoia, zergatik ez duela dirudi potentzialki problematikoa?
Katea hausten da.
>> Konpiladoreak besterik ez da programa bat.
Konpiladore bat bezalako programa bat besterik ez da joan Zure kodea goiko irakurtzeko behean,
ezkerretik eskuinera.
Eta ikusten bada, hiru komatxo bikoitzak ordez bi, ez da jakin joan
esan nahi izanez gero, ezkerrera gauza katea, edo gauza izan behar du
eskubidea, edo gauza osoa.
Anbiguoa da, eta, beraz, zer tipikoa konpiladore egingo da, besterik gabe, Freak out,
eta eman duzun errore-mezu batzuk, eta aurre egin arazoari duzu.
>> Beraz, emandako barra-n esan nahi berri bat linea, zein litzateke zure instincts orain
hasteko izan nahi duzu, besteak beste, bada zerbait bikoitz bat bezala, ezohiko
quote hau bestela-kotizatzen barruan katea?
Barra-bikoitz aurrekontua.
Eta, beraz, hau ikusiko dugu eredu-mota ere.
>> Nahi duzu zerbait apur bat egin nahi izanez gero arraroa, aurkituko duzun hori
irtenbide sarritan jarraitu eredu bat, eta backslash du
ihes-sekuentzia bat adierazten du.
Eta esan nahi du, besterik gabe, zerbait berezia behar dugun bat irudikatzeko
modu ezberdin.
Nola adierazten duten bezala backslash bat, bai, egiten zaitugu
itzuli dela.
Baina erantzuna ere, benetan da pixka bat nabaritu da.
>> Hargatik, orain aurkezten beste batzuk programazio eraikuntzen
Scratch duzula ikusi.
Ziurrenik duzun emandako hartu dagoeneko badago duzun atean sartu sartu
0 arazoa ezarri.
Baina ikus dezagun orain aurkezten C sintaxia horiek bestela nahiko intuitiboa eman
ideiak, gutxienez, horietako batzuk.
>> Beraz, baldintza bat edo kontzeptua adar bat da, lehen aldiz, dugu
irudikatzen da kodea duten begiratu batera hau bezalako Scratch en ezkerreko -
x y-a baino txikiagoa bada, orduan esan hain -
ordez gaur egun C - let me Hone errazena kasuan on -
ari gara, besterik gabe, esan egingo, bada, ireki parentesi, zerbait egia da - bat
Adierazpen boolearra da joan non esan dut baldintza -
itxi parentesi, orduan zer da horiek kizkur giltza barruan.
>> Beraz, hemen ere, kizkur da giltza dira mota horretako Scratch en bezala
U formako puzzle pieza.
Zer horiek kizkur giltza barruan da.
Kasu honetan, barra barra.
Eta ohar hau aurrerako barra, ez barra bat.
Forward barra, barra aurrera, Nik dutenek programatutako for
aurretik, besterik gabe esan nahi du -
besterik ez da, iruzkin bat.
Iruzkina ez da lerro bat kode, per se.
Ingeles lerroa zara, da giza, aukeratu zuk zeuk idatzi
agian gogorarazten dizute, zerbait egin behar da, zeure burua azaltzeko, eta azaldu
beste norbaitek, zein da zure kodea egiten ari da.
Besterik ez da, deskriptiboa iruzkina.
>> Baina, noski, bi-modu bat izan dezakegu bidean, besterik gabe, hau bikoiztu egiten da,
hiru bideko errepide batean bidegurutze eginez honetan, eta hau jarraitu baduzu
eredua, lau modua izango duzu, Bost modu bat, sei-era errepidea bitan banatzen bada
kudeatzeko behar duzu, hain zuzen ere, askotan baldintza hori.
Eta gero, nabarituko paralelismoa hemen -
(baldintza) bada, bestela (baldintza) bada, eta bakarra hori da apur bat
arraro a, hau da, besterik ez da, bestela ere.
Baina, berriro, hau da, berdin-berdina, kontzeptualki, zer egin dugu
dagoeneko, nahiz eta sintaxia borondatea hartzen ohitu erabiltzen pixka bat.
>> Orain, adibidez, hau da, ez dira beste batzuk bitxi sintaxia.
Printf berriro ikusiko dugu, parentesi irekiak, eta itxi parentesi.
Eta barruan ez dago kotizatzen katea.
Parentesi, en testuinguruan printf du, ezkerrean joan
eskubidea, eta zer?
Zer egin kotizatzen duten deskribatzen dugu oro har gisa katea?
>> Beraz, argumentu bat da.
Denbora edozein funtzio bat behar duzu, adibidez, printf, eta, ondoren, irekia eta paren
itxi paren eta zerbait barruan da, bai kate bat da, edo
osokoa, edo beste edozer gauza batean Parentesi artean deitzen da
argumentu bat.
>> Eta argumentu bat besterik eragiten funtzioaren portaera.
Kasu honetan, nahiko da nola garbitu.
x <y da zer ari den pasa, beraz, hitz egiten du argumentu gisa.
Eta printf da joan inprimatu zehazki hori.
Segur aski, pertsona urte ago delako nor inplementatu printf izan ideia ez
zer dugu giza ondorengoak izan ziren printf erabili nahi dugu.
Horregatik argumentuak existitzen da, eragina portaera funtzio baten ondoren
idatzi dira.
>> Orain, adierazpen boolear.
Ikusi dugu horiek Scratch aurretik.
Bihurtzen da C baita ere "edo" haiekin batera, nolabait esateko.
Bi barra bertikalak esan bloke hori kodea, eta hau egin, borondatea
exekutatu lehenengo baldintza egia bada edo bigarren baldintza egia da.
Eta nahiz eta agian ez duzu egin Scratch hau da, hain zuzen ere, ezin duzu
Horretarako Scratch, eta baita ere zeure burua adierazteko modu ezberdinean -
lehenengo eta bigarren baldintza bada baldintza egia, orduan, zer da
du kizkur giltza barruan.
>> Eta beti bezala, alde batera utzi, arrazoia dena bikoitz eta ampersand bikoitza
barra bertikala, azkenean ikusiko dugu bakar bat eta barra bertikal bat
bakar ampersand benetan ezberdinak C. beraz zentzua oraingoz,
sinboloak bikoizketa hori da asmoa.
>> Hargatik sartzea, labur-labur, sintaxia pixka beste hau.
Horrek ez du nahiko eramateko baino gehiago Scratch, baina aldarrikatzen dut, ahal dela
ezartzea, beste bat bada ideia, bada bestela, beste badu, adierazpena erabiliz gero
zerbait izeneko switch adierazpen bat.
Eta arrazoi bakarra hau benetan existitzen da bakarrik emango dizu, programatzaile, berriz,
apur batzuk konpontzeko bidea arazoa, nahiz eta logikoa da
ez dizu berri gaitasunak edozein.
>> Horrek hau esan nahi dut.
Pizterakoan, eta ondoren espazio bat esan duzu, eta, ondoren, parentesi bikotea, barruan
duen adierazpen bat doa -
eta hau, apur bat ez-bistakoa izan daiteke hasiera batean, baina hau ez da argudio bat,
teknikoki, zeren switch ez da funtzio bat.
Beraz, oraingoz, besterik gabe, bere gain hartzen ari gara erabiliz leku desberdinetan parentesi
hainbat arrazoirengatik.
>> Beraz, adierazpen piztu esan nahi dut jarri horien barruan, aldagai bat
Parentesi non adierazpen dio.
Eta gero, aldagai hori bada -
Suposatzen da deitzen x, y besterik ez da zenbaki oso bat -
Ondoren, ezin dut nire slide aipa Hemen honen antzeko zerbait.
X nire aldagaia bada, eta I nahi zerbait egin nahi izanez gero, x
funtzioak 1 itzultzen du, hori egin dezaket.
>> Ordez dut nahi bada zerbait egin x 2 bada, egin ahal izango dut.
Bestela, nahi dut beste zerbait egin nahi izanez gero, oso-osorik, lehenetsia kasu bat izan daiteke I
Kasu horretan, beste gauza hau egiten dut.
Beraz, zentzu horretan, baten baliokidea da x funtzioak 1 itzultzen du, bestela, bestela, bada,
baina hau aipatuko dut orain, besterik ez delako ikusiko dugu berriro.
Baina oraingoz, besterik ezagutzen existitzen dela.
>> Guztiak eskubidea.
Beraz, azken bikote hauek pixka bat gehiago dira Lehen begiratuan konplexua da, baina egiten
zerbait nahiko erraza da.
C begizta A kode zatia da, eta besterik ez du berriro ere, eta zerbait
behin eta berriro.
Eta bakarrik gauza gogaikarriak da hori da hori apur bat críptica
zeure burua adierazteko zikliko honetan eredua, baina munduko normalizatua an
honako bidea.
>> Noiz erabiltzen duzun begizta, eta lortu duzun parentesi bat bikote berriro.
Eta nabarituko du bi puntu hor.
Diren bi puntu aparteko hiru barruan, hainbat esamolde
Parentesi.
Deiturikoak initializations da bat.
Deiturikoak baldintza bat da.
Eta deiturikoak, eguneratu egiten da.
>> Begiratu at abstraktua da, hau da, guztiz ez-bistakoa da, beraz, utz ditzagun
hormigoizko adibide.
Scratch errepikatzen bloke bat izan genuen.
Eta bloke hau esan 10 aldiz errepikatu, esaten "Kaixo mundua". Let me erreklamatu
orain, eta itzuli behar dugu hau, eta hau ere, gehiago ezagutzen lortuko
aurretik luze, baliokidea C kodea esan daiteke hau izan -
adierazpena, eta espazio bat, bikote baten bat Parentesi, konturatu puntu batean
dago, eta horrek bereizteko hiru gauzak, Hasieratzea da,
baldintza, eta eguneratzea.
>> Hartu eta etxebizitza bat zer lehen egiten ari da.
Int i = 0.
Zakarra layman en dagokionez, zer da Gurekin egiten ari dela, seguru asko?
Beraz, bai.
Aldagai bat da deklaratzen izeneko i, eta bere emanez zein balio?
0.
Beraz, aldagai bat deitzen da sortzen i, eta 0 balioa gordetzeko.
Hori horrela deitzen Hasieratzea da.
>> Guztiak eskubidea, orain baino lehenago aldarrikatu dut erdiko gauza, i
<10, baldintza da.
Beraz, zer egiten ari da?
Beno, zer begizta egiten denean begizta bat programa exekutatzen da
aldi bakoitzean, ordenagailuaren exekutatzen bidez begizta hau, goitik behera, goiko
behean, besterik ez duzu guys bezala egin denean zuek kontatuta, eta eserita,
behin eta berriro, eta berriro, ordenagailua joan
baldintza hori egiaztatzeko.
Eta 10 baino gutxiago da i gero, egingo da berriz ere.
I da 10 baino gutxiago bada, egingo da berriz ere.
I da, hamar baino gutxiago bada, egingo da berriz ere.
Badirudi hori iradokitzen beraz aldatzen ari da, espero dut.
Bestela, begizta infinitu bat izan genuen.
Eta, hain zuzen ere, da, i aldatzen ari delako koma ondoren azken gauza ez
+ + i sintaxia zertxobait críptica da.
Baina duzuenontzat Nik egin honetan aurretik, horrek esan nahi du, besterik gabe,
nahiko besterik gabe, zer?
>> IKASLEAK: [VOICES INTERPOSING].
>> DAVID MALAN: Gehitu 1 i.
Kontatzailea i.
Beraz Scratch puzzle bat ikusi genuen duten lana, benetan.
Ez da i + +, baina itxura besterik ez bidez, nahiko besterik gabe, gehikuntza
baloratzen eta behin hori egin duzu 1 i.
Beraz, literalki, eta hasten zara i hasieratzean eta 0.
Egiaztatu ondoren, zure egoera.
0 10 baino gutxiago?
Bai.
Joan begizta bidez egiten dugu.
>> Hurrengo gauza ordenagailuaren aldarrikatzen dut egingo da joan da
i ahala izateko.
Beraz, orain da i 1.
Baldintza egiaztatzen da.
1 da 10 baino gutxiago?
Noski.
Beraz, ez da berriro.
Ondoren zatituko i + + 2 da.
2 10 baino gutxiago?
Bai.
Eta behin eta berriro, eta berriro.
Eta, azkenean, baita gehi-plussing, iritsi 10 berdinen i dugu.
10 10 baino gutxiago?
Beno, jakina, ez.
Eta hori puntua da eta bertan begizta egiteko besterik gelditzen.
Eta gehiago badituzu buruzko kodea bada pantaila behera azpitik, ordenagailua
hasten kodea duten exekutatu beharrean.
>> Beraz, berriro ere, nahiz eta hori joan begiratu eta sentitzen pixka bat arraroa at
lehen, zalantzarik gabe duzun dutenentzat ez dute inoiz programatu aurretik,
literalki murrizten kontzeptualki zer da, bestela oso
erraza puzzle Scratch pieza.
>> Guztiak eskubidea, agindu dut ez dagoela litzaidake Scratch analogs beste batean izango da.
Bat da hau ere.
Eta laburki azken denbora honetan ikusi dugu.
Baina gogoratu du betiko Scratch bloke?
Du, besterik gabe, zerbait betiko?
Ezin duzula ezartzea aldarrikatu dut hau modu honetan.
Eta ez duzu hau ezartzea modu ezberdinak sorta batean.
>> Baina, berriz, begizta da bakarrik ezberdina C modu zeure burua adierazteko.
Egunaren amaieran, ezin duzu berriz, begizta bat ezer duzula
ezin begizta bat ere.
Beraz Oraindik amaieran dute egun funtzionalki bera.
Baina zeure burua adierazteko aukera ematen dizu pixka bat ezberdinean hasi
honako bidea.
>> Berriz, begizta batera, zer hasi da parentesi hori hautatuta berriro ere, eta
behin eta berriro.
Eta laster adierazpen gisa faltsua da, ondoren, begizta gelditzen exekutatzen,
eta ordenadoreak hasten exekutatu beste edozein kodea duzu
Zure fitxategia dute.
>> Baina zer da interesgarria hemen literalki ditudan idatzitako egia.
Eta egia da, balio boolearrak mota bat da, egia edo gezurra den balio bat.
Beraz, ezin da inoiz egia bihurtu faltsua bada literalki dut
hard-kodetuak nire barruan?
Ez, beraz.
Apur bat arraroa egiten dut, hau da.
Baina egia da, egia da.
Ez dago gehi-plussing.
Hemen ez dago aldagai erabilera ez da.
Beraz, zeren I-gogor kodetuta egia den bitartean, hau begizta beti ebaluatzen joan
behin eta berriro, eta berriro.
>> Beraz, zenbat aldiz kaixo mundua pantailan inprimatu joan?
Betiko.
Zenbat aldiz arte infinitua Bateria trokelak edo kanpoko beste batzuk
gertaera gertatzen den.
Beraz, hau da, ziurrenik ez da onena programa idazteko, galtzen delako erabiltzailea
ezin dira inoiz irten zure programa, bere ziurrenik ez da zuk nahi du.
>> Baina batzuetan, programa hori behar izan begizta infinitu bat.
Esate baterako, zure ordenagailu bat dauka gainean erlojua, litzateke, zalantzarik izan
politak zure erloju bada mantentzeko eguneratzeko ez da berez betiko, behin bada ere
bigarren edo behin minutu bat edo horrelako zerbait.
Beraz, nahiz infinitua begiztak egin behar dute.
>> Guztiak eskubidea.
Azkenik, beste hau.
Eta hau da, pixka bat ezberdinak funtzionalki, eta itzuli nahi dugu
Hau ziurrenik Pset 1.
Baina ez dago begizta mota bat da izeneko begizta bat egin bitartean.
Eta desberdintasun bakarra hemen baten arteko begizta egin eta, aldi berean, esan, berriz, begizta bat,
da baldintza hori hautatuta ez exekutatzen kodearen aurretik, baina ondoren
kodea exekutatzen.
Beraz, berriz egiteko goialdean begizta, berriz egin bitartean
egiaztatzen da behealdean.
>> Eta hori esan nahi du, berriz, begizta duen normalean exekutatu aldiz gehiago
edo gutxiago, berriz, begizta bat baino aldiz?
Balizko gehiago, aldiz, bat egin delako begizta da argi eta garbi, berriz, egin esaten,
bakarrik, horren ondoren puntua egiaztatu barruan baldintza bada
Parentesi da egia.
>> Beraz, honetan ikusiko dugu berriro ziurrenik Pset 1.
Inoiz nahi baduzu, zerbait egin behar at gutxienez behin, eta gero, agian gehiago
aldiz, hori ona da eraikitzeko erabili.
Baina, berriz, begizta bat, aitzitik, borondate begiratu bere lehenengo baldintza.
Eta kito C begiztak egiteko, ez eta, aldi berean, berriz, eta begiztak.
Eta berriro ere, nahiko nicely itzuli dira mapa , scratch bat honek ez ezik
nahiko dute Scratch en analogikoa berdinak.
>> Beno, nola buruz, orain, aldagai?
Beraz, hau da, nola aldagai bat deklaratu dut sintaktikoki beste egunean.
Int bat, eta horrek I aldarrikatu nuen zenbaki oso bat da.
Izan ondoren, I aldakorra izeneko counter, eta, ondoren, puntu eta koma.
Beraz, zer egiten kode-lerro hau?
Hau da, nahiko besterik gabe, geratuko aldagai bat -
hau da, ordenagailuan galdetuz, ematen dit memoria pixka bat ematen dit bit batzuk - en
horrek zer gorde ahal izango dut?
Int bat.
Eta koma besterik esan nahi kode-lerro amaieran.
>> Orain, bigarren lerroa da, ziurrenik, Nahiko guessable.
Zer da kontagailua = 0; egiten?
0 da esleitzea kontraerasoan.
Eta, beraz, hau beste gauza bat da hori da apur bat gogaikarriak
, esan, versus algebra.
Algebra ere, berdin ikurra, berriz, esan nahi du Berdintasun, hemen C, berdin du
zeinua esan nahi du esleipena.
Beraz, zer jarri du eskuin Zer esan nahi du zer ezkerreko da sartu.
Ikur eta beste bat ikusiko dugu, berdin berdin, orduan benetan probatu nahi dugu
kalitatea, zertxobait annoyingly da.
>> Baina hau ez da apur bat eraginkorra.
Mota da gogaikarriak que tengo aldagai bat aldarrikatu eta
ondoren, eman balio bat.
C benetan aukera ematen dizu, beraz, hau errazteko gurekin eta besterik ez da egin behar dena aldi berean.
Aldagai adierazi dezakezu ezkerrean.
Oraindik ere egin dezakezu zereginaren gainean berdin ikurra duten jarriz eskuineko
erdikoan.
Beraz, egunaren amaieran, bi horiek baliokideak, baina hau, sinceramente,
da seguruenik hobeto ohitura iritsi sartu besterik ez delako, pixka bat txikiagoa da
kodea, apur bat errazagoa da irakurri eta tightens besterik ez da sortu
Zure kodea da, nolabait esateko.
>> Beraz, orain arte begiztak buruzko edozein galdera, aldagai ere, baldintza da,
Booleans, bai teknikoki edo kontzeptualki?
Guztiak eskubidea.
Beraz, orain, hurrengo lotura bat lortzen pixka bat gehiago interesgarria.
Eta honen adibide gora jarri dut a da denbora besterik mapak Scratch adibide bat
gehiagoko C.
>> Funtzio bat, beraz.
Layman en dagokionez, zer funtzio bat da?
Got zure erantzun bolder izateko.
Zer funtzio bat da?
>> Ikaslea: Ba al du zerbait.
>> DAVID MALAN: Zer da hori?
>> Ikaslea: Ba al du zerbait.
>> DAVID MALAN: Ba al du zerbait.
Ados.
Han hasiko dugu.
Beraz, funtzio bat du zerbait.
Beraz, kode zati hori da funtsean inplementatu edonon dagoela
hain zuzen ere, egiten duen zerbait.
Orain, zer funtzio bati buruz interesgarria sarrera hori har daiteke,
eta irteera sortzen du.
Eta egin dezagun benetan hartu honen begirada bat.
>> Oihala atzean dagoen gizona, beraz, nahita izan zen une bat duela.
Hona hemen taula bat dugu.
Baina, egia esan, honek suposatzen duen kutxa handi bat adierazten du.
Beraz, hau deiturikoak kutxa beltza da.
Eta, oro har, diseinu, ordenagailuan zientzia, beltza kaxak besterik ez aipatzeko
funtzionaltasuna zuzenak norbaitek ezarri du, eta ez duzu
nahitaez jakin edo axola nola da kanpaia azpian ezarri da.
Zaindu besterik ez duzu kutxa beltza hori, eta orain hasiko gara bat deituz
funtzioa egiten du zerbait.
>> Beraz, adibidez, kutxa beltza honetan bada etapa hemen adierazten printf, bat
funtzioa, aurreko adibideak ezagutzen dut printf hartzen duten bat edo gehiago
argumentuak, eta horietako lehena argumentuak katea izan behar du, adibidez,
"Kaixo mundua". Beno, nik pertsona bada programa idaztea, eta nik nahi
printf erabili ahal izateko, adibidez, I, agian hartu paper zurian pieza bat hemen eta
black markatzailea, eta idatzi -
"Mundua" Gaizki idatzitako I -
H-E-L-L-O.
>> Beraz, nire beltza markatzailea hartuko dut eta dut idatzi bezala, handiak eta irakurtzen dudan bezala
honetan paper, "Kaixo mundua", eta Orain, nire argumentua da aldarrikatzen dut.
Hau irudikatzen duen katea da paper zuri zati bat.
Eta orain, nire funtzio sarrera printf da hau izango da.
Beraz printf dut deituz, igaro bertan sarrera gisa argumentua duten.
>> Eta orain, ez dakit nola pertsonaren printf idatzi zuen urte, baina
Bere dokumentazio batetik dakit bere bizitzako helburua da, zer nahi nuen inprimatu
bertan sarrera gisa eskaintzen.
Eta, beraz, nahiz eta inplementazioa honetan da niretzat unbeknownst
kanpaia azpian, orain , Ikusi dut Oh, egiten den.
Inprimatutako ditu zerbait pantailan.
Eta orain, programaren kontrola, ez bada gehiago kode lerro ziren, litzateke
Orain niri itzuli.
Eta, beraz, izan ere, hori COLTON -
bedeinkatu bere bihotza dago hemen azpian ezkutatzen duzun guztia aurrean mahai bat -
nahita horretan ez dakit eta ez zait axola nola printf da
ezarri da.
Jakin dut, berriro ere, bere tik dokumentazioa, zer egiten duen eta nola dut
nago ustezko erabiltzeko.
>> Orain, gogoratzen printf zezakeen lortu pixka bat sofistikatuagoa.
Berriz ere, ari gara hitz Scratch esan bloke baliokideak.
Baina nik ere azken denbora honetan.
Kaixo nire programa bat egin nahi izan dut, pixka bat gehiago dinamikoa da, eta ez bakarrik gogorra
kodea antzeko zerbait "mundua", eta zalantzarik ez hard kodea zerbait
D-A-V-I-D bezalako arbitrarioak programa horretan.
Bere Erabiltzaileak eskatu nahi dut izena, eta, ondoren, egin zerbait
kate hori ematen dutela.
>> Beraz, zerbait pixka bat desberdina da hemen. printf, une bat lehenago,
zuten, hain zuzen ere, zerbait, baina ez du ezer niretzat.
Eskuin?
COLTON ez zuen esku dit ezer atzera, paper ez.
Ez zen besterik alboko efektua.
Nire eskainiz "Kaixo mundua" gisa argumentua COLTON du emaitza
Hitz bat albo-efektua, hitz batzuk, pantailan agertzen.
>> getstring, ordea, apur bat desberdinak. getstring bat ere
funtziona dezake, baina zenbait balioa itzultzen du.
Ez du besterik ez dute estetiko alboko efektua.
Ematen da benetan me, pertsona telefonora deituz edo funtzioa erabiliz,
zerbait itzuli.
Beraz, kasu honetan, getstring da getstring irekia deitu
paren, itxi paren.
Getstring ez du, beraz, hartu argumentu edo sarrerako?
Ez, ez dirudi.
Bere bizitzako helburua da besterik kate bat lortzeko.
Ez dago hori baino gehiago xehetasun behar da.
Beraz, aurrera eta hori asmoa, berriro, kutxa beltza, hau ez da printf,
baina getstring, eta utzi niri, pertsona programa hau idazten, deitu edo erabili
besterik idatziz getstring G-E-T-S-T-R-I-N-G, irekia paren, itxi
paren, getstring.
>> Orain, ideia ez daukat nola CS50 langileek inplementatu getstring, baina ez dakit hori
itxaron dut nahikoa luzea bada, bere egingo ditu kanpaia azpian gauza, agian erabiliz
aldagai batzuk, agian batzuk erabiliz baldintzak, agian begiztak batzuk erabiliz,
agian, funtzio batzuk erabiliz, agian erabiliz -
besterik saltoki saiatzen - agian erabiliz beste batzuk programazioaren ezaugarriak.
Baina itxaron dut nahikoa luzea bada - errealitatean, ordenagailuan, hau gertatzen
super azkarra -
itxaron badut nahikoa luzea, funtzio hau getstring kate iritsi
erabiltzailea, nor da zentzuzkoa idazten ezazu bere teklatua, eta
Ondoren, duzunean getstring egiten da lortzean Erabiltzaile karaktere horiek
eta horiek gordetzeko kate bat sartu da, funtzioa, getstring dago, izan joan
Niri prest irteera horietako batzuk naiz egiteko modu berreskuratu joan
esleitzeko eragilea.
>> Joan eta gero, hain zuzen ere, irteera sartu Hemen, Obosi du eskuzabal
parte hartu du, eta hau ezagutu gabe aurrera, bere izena idazten hau kalera arabera
aldagai, hau da, ordezkari kate bat.
Orain, esleipen operadorea esan nahi du, nahiz eta hau apur bat sentitu arren, baliteke
errepikatzea, benetan egin behar dut nire kopia egin dadin.
Ezkerreko delako albo - whoops! -
funtsean hori nabarituko dut katea ezkerraldeko izena.
Beraz, naiz egiteko joan nire kopia.
Eta hau zuri gezurra pixka bat da, dugu, aste bat edo bi en zeren ikusi
denbora kateak ez direla benetan zer izan agertzen dira.
>> Baina, oraingoz, hemen bueltan balioa da.
Hemen nire kopia egin ondoren esleitzeko operadoreak erabiliz.
Eta orain, zer ondoan egin nahi dut?
Orain bigarren bi kode lerro.
Beraz, nahi dut printf deitzeko.
Dezagun itxurak orain beltzak kutxa itzuli da berriro izateaz
printf eta ez getstring.
>> Printf denbora hori joan hartu zenbat argumentuak?
Beraz, itxura, da bi bezala.
Bi hor koma, baina koma horietako bat, oso
komatxorik barruan.
Beraz, lehen argumentua da, hitzez hitz hau izango da.
H-E-L-L-O, koma, ehuneko s, barra-n.
Eta orain ez argumentu bat eskaintzen ari naiz, baina bi printf argumentuak.
>> Eta zer suposatzen printf egin dituzten bi sarrera hauen ondoren, horiek pasatzen dut
argumentu gisa?
Honez ustezko bigarren hartzeko horiek, eta horrek izena deitzen dut, beraz,
bigarren paper out idatzi nuen Une duela deritzo izena.
Balio barruan plug da joan biltegian sartu aldagai hori,
% S, beraz, berriro ere, besterik gabe, une bat-en denbora bat, alboko efektua ikusiko dugu
printf deitu izana, beraz, gaur egun dugun ikusi ez "Kaixo mundua", baina "kaixo,
Obosi. "
>> Txalo Kopako handi bat, bi, beraz, gure boluntarioek bakarrik zekien nori
hori gertatzen ari zela.
Guztiak eskubidea.
Beraz, agian, erraza izan zen, zalantzarik gabe, abian baduzu ezagutzen
esate baterako, espero Inoiz ez duzu ahaztu nola ikus, bereziki, duten
funtzioak lan.
>> Beraz, ez da besterik getstring baino gehiago.
CS50 liburutegiaren barruan, ez da bat osoan funtzio sorta, guztiak
kapitalizatzen dira, besterik gabe, argi utzi nahi idatziko dugu funtzio horiek.
Normalean, C, ia beste behin funtzioa erabiltzen dituzu minuskula da.
Baina nahita maiuskulaz besterik gabe, argi eta garbi horiek
Prestakuntza-mota hori egiten zaitugu gurpilak dira gutxiren astez erabiltzen
errazteko lortzeko prozesuan erabiltzailearen sarrera.
>> CS50 liburutegia ez du ezer egiten zuek duzula ezin egin
besterik C kodea erabiliz batetik oldschool testuliburua.
Baina, berriro ere, erabiltzen ditugu prestakuntza era gurpilak besterik bikote baten
asteetan, beraz, lortu kentzeko dezakegu konplexutasuna egingo duzula laster ulertzen
zerbait bezala, zeure burua lortzean nahiko erraza gisa
Erabiltzaile baten sarrera.
>> Beraz, badakizu sarbidea izango duzu , GetChar to GetDouble -
bikoiztu.
What's - eta, ondoren, GetFloat.
Zer mugikor bat da?
Dezagun hasteko dago.
>> Ikaslea: [INAUDIBLE].
>> DAVID MALAN: Bai.
A hamartar puntu kopurua da.
Beraz, berriz, int bat oso bat da, eta horrek bat besterik ez 0 zenbakia 9 bidez,
zenbait errepikapen kopurua kontratuan mugikor bat zerbait da
a hamartar puntu ditu.
Eta bikoitz bat, bere aldetik, ez da bat ere a hamartar puntu kopurua, baina gehiago
ondoren hamartar zenbakiak puntua, potentzialki.
>> Beraz, lortu dugu, hau luze baino lehen.
Baina normalean, mota horietako bakoitzean datuak, aldagai mota hauetako bakoitzaren
Gurea bezalako liburutegi bat ezin dela itzuli duzu, erabili bestelako zenbakiak bit to
informazioa gordetzeko.
Normalean, Char, eta horrek esan nahi du, besterik gabe, ko pertsonaia, 8 bit erabiltzen ditu.
Eta hori da benetan gure koherentea boluntarioen byte azken astean nor
sortu zen, eta bat irudikatzen Garai batean pertsonaia ascii.
Beraz, Char bat 8 ​​bit da.
>> Mugikor bat gertatzen da, izan 32 bit, normalean.
Eta bikoitza, baliteke asmatzen gisa, Egia esan, 64 bit, hau da, besterik gabe, gehiago,
horrek esan nahi du handiagoa dezakezu zenbakiak edo gehiago doitasun.
Baina, berriro ere, denbora gehiago duen beste batean.
GetLongLong, bestalde, nahiz eta stupidly izeneko, benetan bat besterik ez
osokoa hori bi aldiz handia, bi aldiz luzea da, potentzialki, eta ohiko
osokoa, 64 ordez 32 bit.
Eta gara GetString erabiliz.
>> Baina bihurtzen da, CS50 liburutegian, eta hori horrela, ikusiko dugun bezala, in
fitxategiak bi forma, eta horietako bat cs50.h deitzen da, beste bi
datuak bertan motak.
Booleans ez C. dezakezu existitzen simulatu horiek bakarrik erabiliz 0 s eta 1s
zure programak zehar.
Baina CS50 liburutegian sortu dugu ikurrak "benetako" eta "false"
1 eta 0 irudikatzeko egin behar duzu, ez da hain gogor kodea zerbait
literalki, 1 eta 0 bezala.
Baina, ikusiko dugu berriro.
>> Kate ere, ez da existitzen.
Eta hori zergatik da aipatu dut orain zuri gezur bat pixka bat.
Baina hori zuritu dizkizugu luze baino lehen geruza.
Baina, oraingoz, kate bat da karaktere-sekuentzia.
>> Bien bitartean, C, duzu, hain zuzen ere hainbat datu-motak.
Iragarki horiek minuskulaz.
Funtzioak, beraz, une bat duela ikusi duzu diren funtzioak CS50 hori idatzizko
izango duzu itzultzeko balio bat erortzen da kategoria horietako bat izango da.
>> A bikote Cheat orriak besterik landatu hazia hemen. printf ez ezik
hartu% s leku-marka gisa.
% D hartzen du osokoak hamartar egiteko, edo% lan baita nuke.
% F puntu balio flotatzen. % C da karaktere bat, nahi duzun, besterik plug bat bada
aurrefomateatuta kate bat sartu pertsonaia dugun bezala egiten ari dira,% c erabil dezakezu.
>> Eta, ondoren, zertxobait annoyingly,% u da bat luze hamartar osokoa da,
besterik esan behar da benetan big zenbakia eta zerbait erabiltzen ari zarela
deitzen da luze, eta horietatik etorri dugu itzuli pset batean,% u erabil dezakezu
esango printf, plug bat benetan handietan osokoa hemen bere bigarren modu edo
beste argumentu batzuk.
>> Eta, azkenik, I agindu hori ez gutxi batzuk beste ihes egin
printf sekuentziak dela onartzen du.
Ikusi dugu backslash-n.
R-barra ikusiko duzu.
Zahar-eskola gauza moduko bat da.
Inoiz erabili baduzu errealeko typewriter urte ago eta bota biradera dituzun
ez bakarrik berritu behar gurpila mugitzen hasi da jokatzen, eta, halaber, mugitu da
osoan gauza modu guztiak itzuli behar izan Ezkerraldean, bai, barra-r besterik
funtsean kurtsorea atzera mugitzen lerro hasieran
bertan behera mugitzen gabe.
Baina, berriro ere, gehiago da, agian, etorkizunean.
>> Aurrekontu-barra, barra-bikoitz aurrekontua, barra-barra da
da, txiki-txiki txiki riddle konponbidea Aipatu dut lehenago.
Eta barra-0 da, benetan nahiko interesgarria da.
Baina itzuli nahi dugu luze baino lehen.
>> Hargatik sartu me, orain, CS50 tresnaren, eta egin dezagun benetan do
azkar berotzeko adibide bat dagoeneko, eta, ondoren, nahi genuen aurrera
zerbait apur bat konplexuagoa da.
Beraz, bada, ireki dut nire programa izeneko gedit -
hau nire editore grafikoa da.
Eta egin ahal izango dut -
utzi leihoa itxi me han -
ikono hau modu behera hemen, gedit, behe-ezkerreko
txoko ondoan menua.
>> Aurrera joan eta aurrera egin dut, eta gorde Adibide honetan, sartu esan, John
Harvard-en karpeta.
John Harvard-en karpeta bat besterik ez da, bere etxeko direktorioa eta bere fitxategi guztiak bizi
lehenetsi.
Eta hau gorde nahi dut izeneko kaixo-0.c fitxategi bat.
Eta aukeratu dut izen hori besterik ez da, beraz, lerro gora buruzko kodea lagina
Ikastaro eta web-en YouTube bideoak sarean.
>> Beraz, orain hasi naiz idazteko nire lehenengo programa.
Let urrutiratzeko legibility for me.
Eta aurrera joan eta esan int dut hutsune nagusia, hau da, besterik gabe, nahi
horia puzzle pieza programa bat hasten da.
Ohitura bihurtu dut ahaztuak zehar nire kizkur giltza irekitzeko eta, ondoren, urte
ere itxi, eta, ondoren, atzera joan non nire kodea jarri behar da, besterik gabe, nahi dut
laguntzen du guztia mantentzeko me delako orekatua da, eta batez ere nire gisa
programa lortzen luzea.
>> Eta orain, hemen, aurrera noa eta esan, printf, unquote aipatzearren,
Kaixo mundua, barra-n, itxi aurrekontua, itxi parentesi, koma.
Beraz, besterik ez naiz, dena dugu errepikatuz eman, beraz, orain arte eman hartuz.
Orain txikiagotzeko noa.
>> Eta hau terminal-leiho behera hemen, zer nago beltz honetan egin onartzen dut
eta zuri-leihoan?
Zer da erabili ahal dut?
Beraz, hau da, non I aginduak eta gauzak bildu ahal izango dut.
Eta erraza mantendu nahi dut.
Programa bat erabiltzen dut izeneko Make, eta hori ez da
teknikoki konpiladore bat.
Konpiladore horrek izeneko Clang, baina itzuli dugu hori batean
aste edo bi denbora.
>> Oraingoz, besterik ez naiz egin, idatzi joan kaixo-0, Baina duzuenontzat ziren
zure adimenak alderatuz, zer dut zer idatzitako moduan idatzi beharko nuke, agian
badakigu egiten dut Zerbait oker dago hemen.
Orain, berriz, ez dago argi akatsak batzuk.
Are gehiago, zer dira, edozein unetan aurretik begiratu zer gaizki egin nuen bezala pentsamenduak?
>> IKASLEAK: [VOICES INTERPOSING].
>> DAVID MALAN: Bai.
Liburutegiko goiburu fitxategi dut falta da.
Hauek. H edozein artxibo deitzen dira goiburua fitxategiak, eta kolektiboki
izeneko liburutegiak gauzak dira.
Liburutegiak dira kode zatiak beste pertsona idatzi.
Estandarrak [, beraz? i?] liburutegia da fitxategiak kodea duten bilduma
beste pertsona idatzi.
>> Beraz, hori naiz falta da.
Beraz, zergatik nago lortzean errore bat dut?
Beno, goazen atzera gora mugitzeko me nire terminal leiho hemen.
Eta, zoritxarrez, C, asko bezala Programazio hizkuntzak, batez ere,
da, guztiak, berri, akats bada mezuak dira zehatza, baina, aldi berean ari dira
nahiko críptica.
Eta akats hemen, gorria da, "Inplizituki geratuko liburutegi funtzioa
printf mota bat ", eta, ondoren, pergamino hurrengo lerroan, "int char *,
... "Lortzen du, besterik gabe, benetan jasanezinak azkar.
>> Baina, zer hasteko egin behar duzu, bada, berriro ere, eta honen berri guztiak, besterik ez da behar
hasteko gako-hitzak bilatzeko.
Bistan denez, agian ez dut ulertzen erdia hitz besterik gabe ikusten dut.
Duzu, nahiz eta, aste bat denbora.
Baina printf ikusten dut.
Eta, hasteko behar luze baino lehen, Zure memoria jog, guztiak eskuineko, printf.
Printf zerbait gaizki.
Ba oker ortografia dut?
Ez, ez du itxura - Oh.
Ezin dut hori erabili irakasten baldin eta ez dut konpiladoreak existitzen dela.
Eta, beraz, berriro ere, zure instincts joan, nahiz eta ez duzu benetan ulertzen
benetako akats mezuak.
>> Eta, hain zuzen ere, konponbidea hemen da soilik Sar ezazu fitxategia goialdean
horrela, nire fitxategi resaving Kontrol-S edo Fitxategia menuan.
Eta orain banoa atzera behera hemen, Hori garbitzeko noa.
Kontrol-L besterik atsegina modu bat da pantaila garbitzeko.
Eta orduan "idatzi egin kaixo dut 0 "Sartu, eta gaur egun, oraindik ere, ikusi dut
críptica ikurrak sekuentzia, baina itzuli dugu hori.
Hori da Egin zure egiten.
Prozesua amaitu da automatizatzeko parte hartu nahiko gogaikarriak komando bat
Clang, benetako konpiladoreak.
Baina lortu duten akatsik ez dut esan nahi gauza hori beharko luke.
>> Beraz, orain ari naiz egingo - utzi urrutiratzeko berriro me -
./hello-0 Sartu, eta hain zuzen ere, ikusten dut "Kaixo mundua". Hargatik, orain hobetzeko
hau inoiz, beraz, apur bat besterik ez errepikatzeko urratsak burutu nahi dugu.
Hau berrizendatu batera noa To hello1.c gisa gorde.
Eta orain, aldagai bat deklaratzen dut izeneko izena, beraz, kate izena,
eta bertan jarri dut Aurrekontu-unquote balioa
D-A-V-I-D hurbil-aurrekontua koma.
Eta, orain, "mundua" ordezkatu nahi dut zer biltegian kate bat egiteko?
% S.
>> Eta orain, zenbat argumentuak beharko lukete printf denbora hartu da hau?
Beraz, bi.
Beraz, komatxo kanpo dut.
"Izena" idatzi dut koma baten ondoren.
Baina, egin dut zerbait bestela oker denbora honetan.
Baina horrek ez zuen bere gain hartu ez dudan konturatu gabe dagoela.
Let me igo hemen.
>> Eta aldez ere, pixka bat dut lortzean aspertu idazten du "egin kaixo 0" guztiak
denbora, "egin" eta hori guztia.
Beraz, bihurtzen da, Linus dezakezu sarritan hit Gora gezi zure
teklatua, eta benetan dezakezu korrituko komandoak dudan guztia bidez
exekutatu besterik ez orain, aurreko.
Beraz, bada, ez dut, Gora, gora, ez da egin kaixo 0.
Ez dut nahi hori.
Nahi dut hori aldatu nahi kaixo 1 oraingoan, Sartu.
Azkenean, hori izango da gorde duzu, denbora pixka bat.
>> Guztiak eskubidea.
Zoritxarrez, ez da akats bat dela.
Hargatik sortu korrituko me.
Hau dut itxura butchered programa honetan.
Esan nahi dut, nire Jainkoa, bi kode lerro bat da, eta bere 10 akatsak ildoak.
Baina, goiko lehen begiratu.
Identifikatzailea undeclared katea erabiltzea.
Ba estandarra i n esan nahi dut?
Ez nuen.
Katea esan nahi dut.
>> Baina non katea aldagaia da mota deklaratu, EE esan?
Beraz en CS50 liburutegian bertan.
Beraz, ez da nahikoa, lehen horietan aste pare, bakarrik erabili
C zer ematen digu.
Era berean, naiz igo hemen, eta nik jarri ezin gainetik edo azpitik, baina ez dut
besterik gorde alfabetoaren gauza ordenatua mantentzeko.
Cs50.h sartu behar dut, hau da, aldez aurretik instalatutako
CS50 tresnaren duzu.
Eta kode irekia da, beraz, nahiz eta pertsona Interneten erabili ahal beren
ordenagailuak egin.
Baina dator CS50 tresnarekin da.
>> Beraz, orain utzi atzera me konpilatu eta honekin egin kaixo 1.
Madarikatua da.
Oraindik error beste.
Let me up korrituko lehenengo, baina.
Hau apur bat konplexua da.
Anitzeko pertsonaia pertsonaia etengabeko.
Hori ez da niri lagunduz.
Baina abisua, Clang gutxienez txiki bat da bit duin, beraz, apur bat
berde kurtsore ikurra, esaten da Hemen da non izorratu nuen.
Zergatik da seinalatuz, oso gutxi duten gezi berdeak, eta bakar aurrekontua hurrengo
nire izena?
>> Beraz, hau gauza besterik ez duzu bat da get erabiltzen da, batez ere, izan zara
Python, edo Javascript programazio, edo beste hizkuntza zehatz-mehatz non honetan
ez du axola.
C, materia ez da.
Ari zaren kate bat geratuko bada, hau da, 0 karaktere edo gehiagoko segida bat,
komatxo bikoitzak benetan erabili behar du.
Beraz, benetan behar dut hau aldatzeko Aurrekontu ireki, itxi aurrekontua du,
komatxo bikoitzak.
Komatxo egin behar dute, baina denean bakarrik banakako erabiltzen ari zarela
karakteretan, baina gehiago duten beste denbora da.
Oraingoz, bi gako beharrezkoak dira.
>> Beraz, utzi atzera nire terminal leihoan, egin kaixo 1.
Eta nor da seguru?
Programa, hau da, orain joan behar bezala biltzeko?
Ados.
Beraz, gurekin hiru uste hau.
Guztiak eskubidea.
Sartu.
Eta ez da benetan.
Beraz, ez da akatsik ez une honetan, nahiz eta programa honen ahaztuak, nahiz eta pixka bat
konplexuagoa da.
Gaur egun, ez dut bada dot barra kaixo 1, Sartu, esan behar da joan "Kaixo, David".
>> Baina utzi egin du hirugarren iterazio hau da, non
programa bat da, benetan dinamikoa.
Dezagun aurrera me eta fitxategia aldatu izena, besterik ez duen koherentzia
fitxategiak eskura izango dituzu ahal izango duzu ondoren online.
Sartu.
Eta, gaur egun, eta ez da joan behar dut gorde "David" gogor kodetuta hemen.
Zer egin ahal izan dut, besterik gabe, hobetzeko programa hau?
>> Getstring deitu izan dut.
Apur bat ez-bistako zer izan liteke buruzko gertatuko da, beraz, joan naiz
benetan gehitu lerro bat, printf, eta esan izena, bi puntu, aurrekontua itxi, besterik gabe,
Erabiltzaile emateko gonbidapena pantailan.
Eta orain, hemen joan naiz, eta ni naiz Nire laster erabili behar.
Gora joan, gora noa, eta aldatu kaixo kaixo 1, 2, Sartu.
Eta zorionez, aurrerapausoak egiten ari naiz.
>> Eta orain, igo dut nahi dot barra kaixo eta
aldatzeko 2, Sartu.
Eta orain, nire programa -
Txikiagotzeko dut in - da lortzean pixka bat prettier.
Izena da izango, demagun Rob Garai honetan, Sartu, kaixo, Rob.
Gauza bera egin ahal izango dugu berriro.
Izena, Lauren, Sartu.
Izena, Joseph, Sartu.
Izena, utzi behar izan saiatu en zaila, Sartu.
Eh.
Ez da benetan, akats bat.
Beraz, besterik ez da apur bat zatarra.
Beraz, agian hau konpondu ahal izan genuen etorkizunean, ez orain.
>> Baina, nola egiten duzun senari helbideratzeko buruz joan
bereziki, erronka hori?
Itxura besterik ez da ergela.
Nola gauza saihesteko ergelak bilatzen?
Beraz, zer egin genezake, OK, pare bat entzun nuen gauza, egoera eta begizta bat.
Erabili, ezin dugu bat, baldintza bat, egiaztatzeko zer katearen luzera da
erabiltzaileari eman zigun?
Eta ez bada 0, baizik eta aipatu unquote, hit sartu besterik ez dute eta, ondoren,
agian, haiek behar dut yell eta berriro galdetuko.
Baina nola bat eskatuko berriro?
Beno, nik ere entzun begizta, eta nuen Horretarako, behin eta berriro, eta berriro
gauza bera erabiltzaileari galdetu.
>> Beno, egin dezagun beste adibide bat ezberdin bat erabiliz
CS50 liburutegian funtzioa.
Demagun fitxategi hau itxi me.
Demagun berri bat sortu dit.
Eta deitu adder.c dut, besterik ez delako erraza da simple aritmetikoa egin,
nahiz eta hau guztiz izango zer egin liteke zurekin underwhelming
egungo edozein ordenagailu batekin.
>> Baina aurrera me orain eta -
Nire lezio ikasi nuen azken aldiz, - include cs50.h artean stdio.h, int
hutsune nagusiak, eta, oraingoz, dut fede itsu hartzen dute, baina ez du bere gain hartzen dugu
zer dela ulertuko horrek esan nahi du, luze baino lehen.
Eta zerbait esan nahi dut bezalako "ematen dit int bat."
>> Eta orain, nola int bat jasoko dut?
Deklaratu ahal izateko, azken finean, aldagai bat nahi dut izeneko mota int x eta
bertan gordetzeko erabiltzailearen osokoa.
Beraz, mokadu bat izan zen.
Baina norbaitek proposatzen bada, nola egin osoko deitu x deklaratzen dut?
Int x.
>> Beraz, benetan erraza da.
Give me int bat.
Deitu x.
Orain esleitzeko operadorea erabiltzen dut.
Eta nola gordetzen dut utzi erabiltzaileari balio bat?
Ez dut nahi getstring deitzera, jakina, baizik getint.
Argumentu?
N º
Beraz, zabalik da paren, itxi paren berehala, eta, ondoren,
koma lerroa amaitu da.
>> Orain hau egin zidan berriro.
Give me int beste.
Denbora Horretarako int dut, dezagun deitu y, berdin getint.
Eta orain, utzi zerbait super simple do me math batzuk bezala.
Printf beraz,% d batura da int bat biltegia.
Eta% d, epea, barra-n.
>> Guztiak eskubidea.
Beraz, hori ez da benetan matematika.
Baina nahi dut hau batura esan nahi badu balioa gehi balio hau berdinen honetan
beste balio, zenbat argumentuak sartu Guztira printf behar dut emanez,
azken finean?
Lau, beraz, ezta?
Kate hori, eta, ondoren, hiru balio.
X da, lehenik eta behin, izan nahi dut lehen% d batean sartuta dagoela.
y da hurrengo izango da.
>> Eta orain, nahi dut mota esan z, z, baina ez da existitzen.
Baina hori ez da big aurre.
Zer litzateke senari egin duzulako, batez ere, bat izan duzu
graphing kalkulagailua, zer idatzi duzu?
Nola x gehi y buruz?
Beraz, ez da benetako aldagai bat.
Besterik ez da, bi batura beste aldagai.
Eta hori ezin hobeto legitimoa.
C ulertzen erraza da, zalantzarik gabe, hau bezalako aritmetika.
>> Koma, gorde.
Orain jaisten dit eta hemen idatzi egin adder, Sartu.
Error Ez, hori aurrerapen gehiegi da, beraz.
Idatzi adder.
Eta laster beste bat, hasten baduzu aspertzeko
- komandoak guztiak
hasten baduzu komando bat idazten, honelako puntu iragarki-barra, eta hori zure
boredom kicks, normalean dezakezu hit Fitxa ordenagailua bukatuko dute
Esaldi gainerako zuretzat ez bada anbiguoa, zer behar ad ondoren etorriko.
>> Hargatik aurrera me orain eta Sartu sakatu.
Give me int bat, 1, 2, eta zorionez, 3 da.
Baina, beti bezala, programa probatzen ez murrizteko
besterik ez da, dudarik gabe, behin.
Utzi txoko kasuan, negatiboak bezala saiatu me 1, 1 ematen dit, eta hori bat
egiaztatzen out baita.
Eta nahi dut, ziurrenik, gehiago egiteko zorrotza azterketa, baina polita naiz
non da hori at eroso.
>> Beno, orain goazen orain probatzera beste programa bat denbora hori erabiltzen du
sintaxia pixka beste.
Demagun fitxategi berri bat sortzen dit.
Conditions0.c hau deituko dut lerro sortu adibideak kodea online.
Eta utzi aurrera me eta zer cs50.h artean daude, besteak beste,
stdio.h, hutsune nagusiak -
Ados.
Ez dago goaz.
Gure estandarra boilerplate daukagu.
>> Eta denbora honetan printf esan nahi dut, Besterik ez "int bat, mesedez, nahi nuke"
egiteko gonbita apur bat gehiago errespetatzen.
Eta, orain, lortu nahi dut erabiltzailearen INT.
N da denbora honetan deitzen dut, besterik ez n zenbaki bezala soinuak delako.
getint, eta, orain, zer egin Berarekin egin nahi dut?
Beno, n bada - eta zoom dut in -
n 0 baino handiagoa bada, nahi dut honako hauek egiteko aukera -
printf "zenbaki positibo bat jaso duzu." Bestela, printf idatzi dut "You
bildu negatiboa
kopurua. "Ondo da.
Beraz, programa honetan, nahiz eta ez nuen azkar, itxura eskubidea sintaktikoki.
Let me honetan saiatu.
Egin baldintza 0.
Badirudi exekutatu.
0 baldintza sartu.
Dezagun eman 50 int bat.
Zenbaki positibo bat jaso nuen.
Dezagun saiatu berriro.
Baldintza 0.
Negatiboa 50.
Negatiboa jaso dut.
>> Baina orain, let me hautatzeko zer mantendu dugu izkinan kasu bat deituz, hau da, gehiago
kasu interesgarri bat dela uste baduzu, eman dezaketen arazoak, 0.
Orain, nahiko ziur hau bat naiz Kasu horietan izkinan non zero da
ez positiboa ezta negatiboa da, eta, beraz, nire programa, sintaktikoki nahiz
Zuzendu - biltzen da, berau zeharkatzen du - Logikoa denez, ez da zuzena.
Beraz, zer simple fix da hemen nahi badut , detektatu nahi dut n kudeatzeko bada
berdinen 0 bereizita?
>> Beraz, bada, n funtzioak 0 itzultzen du eta, ondoren, esan nahi dut printf antzeko zerbait "0 jaso duzu."
Demagun hau saiatu me now.
Dezagun berriro atzera joan naiz, garbitu Nire leihoa, eta birkonpilatu.
Hm.
Errore bat sortzeko.
Baina ez dut nahi egiaztatu n berdin 0 bada.
>> Beraz, berriro ere, beste gauza bat ergelak erabiltzen lortzeko, berdin ikurra da
esleitzeko operadorea.
Beraz, hau da, benetan horretan akats, Teknikoki, nahiz eta konpiladoreak
babesa dit neure burua ere, nahiko genuke teknikoki egon 0 kopiatzea n sartu, eta horrek
ez da nahi dudana.
Berdintasunaren aldeko probatu nahi dut berdin berdin batekin.
Eta, beraz, orain dela egongo nire irtenbide hobea.
>> Let resave benetan me honetan, esan bezala, conditions1, berria eta hobea izango da.
Beraz, orain bada konpilatu ditut, baldintza egitea litzateke -
whoops - conditions1 egin dot barra conditions1, Sartu, "int bat gustatuko litzaidake,
mesedez. "joan naiz Animatu eta idatzi 50.
Oraindik ez da ona.
Negatiboa 50, oraindik ere ona da.
0, eta hain zuzen ere, eta, detektatu jaso ditudan 0.
>> Beraz, zer egin dezaket honekin, gaur egun, ez dut?
Beno, zalantzarik gabe, egin behar dugu, gero eta gehiago konplexuak gauzak.
Baina, zer nahi nuke proposatzen da Ohar honetan amaituko dugu hemen.
Tira dugu, bada, ikusi, ikusiko duzu, agian, zure marrazki bizidunetako gogoko
gaur egun arte izan dezakezu Ez dut inoiz ulertu.
Eta horrek barrea kalitatea buruz CS txantxak behar zara.
Beraz, hori da buruz eskubidea.
>> Baina, egunkariak, ez nuke pentsatu nuen eman Astelehena aurkezpenik pixka bat.
Beraz, hasi dugu osokoak erabiliz.
To karroza dugu aipatzen.
Are dugu bikoitzak aipatzen, horrek, berriz, eman dituzun zenbakiak
hamarren ondoren.
>> Baina bihurtzen da eta karroza bikoitzak, eta, benetan, ordenagailuak,
funtsean, ezin adierazi balio batzuk, hain zuzen.
Jakin matematika klaseak gara ahal duzun hori edozein zenbakiak kopurua ondoren
hamartar puntu.
Eta, are gehiago jarri dezakezu barra bertikala bat horiek joan betirako esateko.
>> Zoritxarrez, ezin duzu benetan Horretarako ordenagailu batean.
Eta, beraz, txoko sortzen diren kasuetan.
Esate baterako, demagun zauden finantza zerbait egiten.
Matematika egiten ari zarenean ehunekoak, eta
dolar eta zentimo batera.
Eta zentimo horiek ez lerroa izan behar du.
Beno, bihurtzen da frakzio hori pennies sortu gehitzeko denean has daiteke
sistema informatiko bat moldatu horrela, argia duten
gizakiak aprobetxatu daiteke.
>> Eta nahi dutenentzat ez dute ikusi, gustatuko litzaidake nahi duzu emateko bat 30 segundoko du aurkezpenik
Office Space gisa ezagutzen film zoragarri bat, horrek irudi bat margotuko duen
arazoa aurre izango dugu astelehena, lehenengo gauza.
Bolumena dugu goratzeko balute pixka bat, ematen dizut 30
Bulegoa Space segundotan.
>> [Bideo-erreprodukzioa]
>> -Esan nahi dut, duzu, zuk ez dira erakusten gora eta lortzen duzu zure lana mantentzeko.
>> -Egia esan, naiz ari da sustatzen.
>> -I birus bat litzaidake programatu liteke erauzi denbora big off leku hori.
>> -Beno, nola funtzionatzen du?
>> Egunero-denbora ez banku-transakzio bat non interesa kalkulatzen du, eta ez dago
dira, milaka egun bat, ordenagailua bueltarik ehuneko baten frakzio hauekin sortu.
>> -Baina ez naiz joan ezer egin, legez kanpokoa.
>> -Ilegala?
Samir, hau da, Amerikan.
>> -Dugu Jainkoaren zin egiten dute.
>> -Bada inork ez daki honi buruz baina, ondo?
No senide, ez girlfriends, inork ez.
>> -Ikastaroa.
>> -Bai.
>> -Don't estutu, gizona.
Ez dut inori esan bai.
>> [END bideo-erreprodukzioa]
>> DAVID MALAN: Beraz, honetan, beraz, ez da CS50, Office Space hori izan zen, eta guztietan izango da
zentzurik astelehenean.
Ikusi ondoren.
>> Narratzailea: CS50 ondoan, Rob At off izateaz doituko du
Harvard bazkari plan.