>> [Musika jotzen]
>> ROB Boden: Guztiak eskubidea.
Beraz, lehenik eta lehenengo gauza, bideoaren Aurpegi ezagunak batetik.
>> [Bideo-erreprodukzioa]
>> -Ondo da.
Hau CS50 da, eta hau da, astean hiru hasieran.
Barkatu ezin nuen han egon zurekin nago gaur egun, baina baimendu aurkeztu me
CS50 Rob Boden egin.
>> [END bideo-erreprodukzioa]
>> [Txaloak ETA CHEERS]
>> ROB Boden: in filmografian The Bideo duten fantastic da.
Ondo da.
Beraz, lehenengo, han bazkaldu bat da.
1:15 etan bihar da.
Ez dago bazkaria ostiral honetan.
Quora rekin da.
Eta Tommy ez da hemen oraindik, baina bat Jende ohia buru CF dago,
Tommy McWilliam.
Hain dibertigarria lasaia izan zuen.
Etorri behar duzu.
>> Ondo da.
Beraz, azken astean, gain hautsi hasi ginen kate bat benetan zer den azaltzeko.
Hasieratik dugu ezagutzen duten karaktere-sekuentzia bat da.
Baina azken astean, hain zuzen ere lan egin dugu zer dela benetan sekuentzia bat
pertsonaiak, bai, orain dugu karaktere array.
Eta badakigu kate bat, array bat da pertsonaien, oso amaieran,
null byte berezia hau dugu, hau backslash 0, eta horren amaieran adierazten
katea.
>> Eta horrela kate bat array bat da pertsonaiak, baina izan dezakegu baino gehiago
besterik pertsonaiak ezagutuko ditu, edozein array bat izan dezakegu
Gauza mota nahi dugun.
Beraz, gogoratzen duzu astetik bada, Adin programa hori David sartu
benetan azkar.
Beraz, lehenengo gauza egin behar dugu, galdetu erabiltzaileari zenbaki oso bat eman du,
Gelan pertsona kopurua.
Behin zenbaki oso dugula, array bat deklaratzen ari gara.
Iragarki bracket sintaxia hau.
Ohitu dela joan zaren.
>> Beraz, zenbaki osoen array bat deklaratzen ari gara Adin izenekoa, eta badira n
array honetan osokoak.
Beraz, eredu honetan hementxe, 4 int honetan berdin i 0, i n baino gutxiago, i plus
plus, hori ere eredu bat izango da joan duzu oso erabiltzen duten urratsak emateko.
Hori nahiko askoz nola zauden delako Beti matrizeak baino gehiago batetik bestera joateko.
Beraz, gogoratu n dela gure array luzera.
Eta beraz, hemen, behin eta berriz galdetzen ari gara Pertsona gelan i adina da.
>> Honen ondoren, jaitsiko gara, eta edozein dela ere arrazoia arbitrarioak, orduan dugu
inprimatu zenbat urte ari dira joan Urte bat izango da hemendik aurrera.
Eta programa hori exekutatzen, dezagun Adin egiteko, dot barrarik adin.
Beraz gelan pertsonen kopurua, demagun, hiru dira.
Eta esan, lehen pertsona da 13, hurrengo 26 da, eta azkena izan da 30.
Beraz, ondoren, hiru horiek baino gehiago batetik bestera izango da pertsonak, inprimatu 14, 27, eta 31.
>> Beraz gogoan izan denean bat aldarrikatzen dugu tamaina n array, horretan indizeak
array, matrizearen balioak ditu eta indizeak 0, 1, 2, modu guztiak
gehienez n ken 1.
Beraz, esan dugu ez hiru pertsona izan ziren gelan, eta jarri dugu hemen
honen bidez lehen iterazio begizta, 0 izango da i joan.
Beraz, indizea 0.
Lehenengoa esleitzea ari gara adina, erabiltzaileak sartzen da.
Ondoren, hurrengo urtean, sartzen ari gara bigarren n erabiltzaileari sartzen da, eta urtean
bi, azken n ondoan.
>> Beraz nabarituko tamaina array hiru ez du ezer izan
indizearen hiru urtean.
Hau ez da zuzena.
Ondo da.
Beraz, joan atzera hemen.
Beraz, orain dugu tratatzen array, ezagutza batzuk izan dugu.
Orain ari gara mugitu komando joan lerroko argumentuak, diren izango da
Nahiko arazo multzo honetan garrantzitsua.
>> Beraz, orain arte, betiere duzun zure eginkizun nagusia izendatu, dugu
esan int hutsune nagusia.
Beraz, hutsunea besterik esan nahi ez dugu inolako pasatuz
funtzio honen argumentuak.
Orain ari gara nagusia duten ikusteko joan argudio batzuk hartu daiteke.
Hemen horietako int deitzen dugun argc eta katea argv parentesi artean.
Parentesi artean, berriro ere, adieraziz array horrek gure aztergaia.
Beraz, hemen, kate argv parentesi artean, gaude kateak array aurre.
Beraz argc, hori adierazteko joan zenbat argumentuak dugu
programa hau gainditu.
Eta zer esan nahi duen ikusteko, dezagun hau ixteko.
>> Ados.
Beraz, orain arte, nik exekutatu dugu behin dot barra adin bezalako programa.
Gaitezke, komando-lerroan, iragana argumentuak pasatzeko, beraz, terminoa, komando
lerroko argumentuak.
Beraz, lehen argumentua, kaixo mundua.
Beraz, hemen, argc hiru izango litzateke.
Argumentuak kopuruan da komando-lerroan.
Argc da beti, gutxienez 1, geroztik dot slash adin, berez, bat bezala zenbatzen
komando lerroko argumentuak.
>> Ondoren kaixo lehenengoa izango da.
Zeroth dot barra adin bada, orduan kaixo lehen da, eta mundua dago
Bigarren komando lerroko argumentu.
Beraz, katea argv du, ari gara ikusten joan, kateak, dot barra dauka
Adin, kaixo, eta munduko.
Eta, Daviden eskaera eginda, goazen bideo bat sartuz erreproduzitzeko.
>> [Bideo-erreprodukzioa]
>> -Orain arte programak dugu hemen idatzizko, deklaratzen dugu
int gisa nagusia hutsune nagusia.
Eta denbora hori guztia, hutsune hori besterik ez dira zehazten diren
programa ez du inolako hartu komando lerroko argumentuak.
Beste era batera esanda, erabiltzaileak bat exekutatzen denean programa, berak komando eman dezake
lerroko argumentu osagarriak idatziz Hitzak edo esaldiak ondoren programaren
gonbitan izendatzeko.
>> Beno, ez baduzu zure programa nahi duzun komando lerroko argumentuak, bat edo hartu
esaterako, hitz gehiago, ordezkatu behar dugu argumentuak pare bat gal.
Beraz, utzi egin dela.
Honakoak cs50.h.
Honakoak io.h. estandarra
Int nagusia.
Eta orain, hutsune ordez, noa joan argc izeneko int bat, eta zehaztu
argv izeneko kateen array.
Orain, argc eta argv dira besterik gabe konbentzio.
>> Dugu argudio horiek deitzen zitekeen gehienetan ezer nahi dugu.
Baina, zer da garrantzitsua da argc dela int bat, izan ere, definizioz, da
argumentu Aldaketa eduki behar, du guztira hitz kopuru hori
Erabiltzaileak bere gonbitean idatzi ditu.
argv, bere aldetik, argudio vector, da array bat gordetzeko benetan izango da
Erabiltzaileak ditu hitzen guztiak bere gonbitean idatzi.
>> Dezagun jarraitu orain zerbait egin behar bat edo gehiago hauek batera
komando lerroko argumentuak.
Bereziki, dezagun aurrera eta inprimatu dena delakoa hitza erabiltzaile motak
programaren izena ondoren gonbitan.
Irekita parentesia.
Itxi parentesia.
Printf ehuneko ren alderantzizko barra eta koma.
Eta orain zer printf balioa kontatu behar dut den leku-marka duten sartu konektatu.
Lehen hitza Erabiltzaileak ez du nahi dut programaren izena ondoren idatzi,
eta beraz, ez dut zehaztu joan argv parentesi 1, itxi
parentesi, puntu eta koma.
>> Orain, zergatik parentesi 1 eta ez parentesirik 0?
Beno, bihurtzen da, automatikoki gordetako argv 0 izango da, joan den
programa oraingo izena.
Beraz, lehen hitza duten erabiltzaile motak programaren izena da ondoren, egindako
konbentzio, izango da argv 1 gordeta.
Dezagun konpilatu en orain eta programa hau exekutatu.
>> Egin argv 0, dot barra argv 0.
Eta orain hitz bat bezalakoa kaixo.
Sartu.
Eta hor egon behar dugu, kaixo.
>> [END bideo-erreprodukzioa]
>> ROB Boden: Guztiak eskubidea.
Ixtea.
Beraz, programa horretan begirada bat hartu duten gurekin sartu besterik ez dugu, bai, besterik
, erakusteko inprimatu dugu 0 argv bada, egin, orain zer da, argv 0, dot barra argv 0.
Beraz, espero bezala, zer inprimatzeko dut programaren izena, argv 0 da geroztik
beti izango da du programaren izena.
Baina egin dezagun zerbait bat utzi interesgarriagoa bit.
>> Beraz arazoa multzoan, izango duzu honen funtzioa, atoi sartu.
Beraz, zer egin atoi erabili dugu?
Hori bihurtzeko joan a zenbaki oso bat katea.
Beraz, katea pasatzen badut, bat, bi, hiru, atoi, hau bihurtzeko egingo duen
zenbaki osora, bat, bi, hiru.
Beraz, lehenengo bihurtzeko joan Komando lerro osoko bat argumentu,
eta, ondoren, osoko zenbaki hori inprimatu.
>> Beraz, funtsean, gara motatako GetInt reimplementing, besterik
Zenbaki oso komando at idatzi duzula line programan ordez
interaktiboki.
Beraz, ondoren, argv 0 eginez, egin dezagun hemen da, eta ixtea.
Beraz argv 0 korrika, eta dezagun idatzi Zenbaki oso, bat, hiru, lau, bat, bi, bi.
Beraz osokoa inprimatu ahal izango da, inork bi, hiru, lau, bat, bi.
Badira ñabardurak batzuk ATOI izateko ezer ez zaintzen gelditu egingo da
baliozko zenbakizko pertsonaia haratago, baina horrek ez du axola.
>> Beraz, zer uste duzu gertatzen egin behar dut?
Segmentaziuo hutsegitea.
Beraz, zergatik da hori?
Atzera duzu gure programa at bada begiratu, gaude argv 1, lehen argumentua bihurtzeko
programaren izenaren ondoren, zenbaki oso bat izateko.
Baina badira argumentu gabe igaro da programaren izenaren ondoren.
Beraz, hemen, ikusten dugun hori buggy bat da programa, geroztik, exekutatu saiatzen badugu
argumenturik gabe, hura besterik ez du huts egingo.
>> Beraz, beste bat ikusiko duzu patroi komun zerbait, argc da gutxiago bada
bi, ez dagoela ez zen adieraziz baino gutxienez programaren izena eta bat
Lehen argumentua, orduan zerbait egin dugu printf bezala, ez da nahikoa
komando lerroko argumentuak.
Hori da, ziurrenik, ez on bat inprimatzeko, seguruenik zerbait, atsegin
zenbaki oso bat sartu behar duzu komando-lerroan.
Besterik ez dut amaituko han.
Eta gero itzuliko 1.
Beraz, gogoratu, gure amaieran programa, itzuliko gara bada 0, moduko hori
arrakasta adierazten du.
Eta nagusiak ere automatikoki 0 itzultzen ez baduzu.
>> Beraz, hemen, retuning ari gara 1 adierazten duten hori ez da arrakasta.
Eta nahi duzuna itzuli ahal izango duzu, besterik ez, 0 arrakasta adierazten du, eta
beste ezer porrota adierazten.
Hargatik exekutatu gauzen bertsio hau.
Beraz, gaur egun, ez badugu komando-lerro bat sartu argumentua, behar bezala izango da kontatu
digu, ez da nahikoa, komando-lerroan.
Ez zuen esaldia bukatzeko.
Bestela, benetan pasatzen dugu bada bat, programa osatu ahal izango da.
Beraz, hau da argc nola erabiliko zenuke in ordena zenbakia balioztatzeko
komando lerroko argumentuak duten benetan pasatu dira.
>> Hargatik pixka bat gehiago egiteko programa honetan zaila, eta bigarren begiratu
Gauzak iterazio.
Beraz, gaur egun, ez ari inprimatzeko dugu komando lerroko argumentu lehen.
Hemen, int i berdin batetik ari gara errepikatzean 0, argc baino gutxiago da i, i plus
gehi, eta inprimatzeko argv, indizea i.
Beraz, eredu honetan, berriz ere, hau da, bera eredua lehen bezala, ordez ezik
aldagaia deituz n, argc erabiltzen ari gara.
>> Beraz, indize bakoitzaren gainetik dago, hau errepikatzean array, eta bakoitza inprimatzeko
Array horretan elementu.
Eta beraz, programa hau exekutatu dugu, bai, Ez nuen edozein komando lerroan sartu
argumentuak, beraz, besterik gabe, grabatuak programaren izenarekin.
Gauza mordo bat idatzi dut bada, egingo inprimatu bat, bakoitza bere lerroan kabuz.
>> Ados.
Beraz, dezagun urrats bat gehiago.
Eta argumentu bakoitza inprimatzeko ordez Lerro batean, utzi bakoitzaren inprimatu
argumentu bakoitzaren izaera Lerro batean.
Beraz, gogoratu argv dela kateak array bat.
Beraz, zer kate bat da, baina karaktere array bat?
Beraz, horrek esan nahi du argv benetan bat pertsonaiak ezagutuko ditu array.
Beraz aprobetxatuz hartako, dezagun alde batetara honetan oraingoz.
Utzi kontuan hartu besterik ez en kate argv 0.
>> Beraz, pertsonaia bakoitzak ekarri nahi badugu argv 0 Lerro batean, orduan nahi dut
ereduarekin ari gara erabiltzen egiteko, i da array luzera baino gutxiago,
Hemen, da strlen, hori da ez, zer egin nahi dut, katea
ak berdin argv 0.
Beraz, gure luzera baino txikiagoa da i array, eta kasu honetan array bat da
pertsonaien, i plus plus.
Eta, beraz, azken astean ikusi genuen bezala, ezin hobea da kanpo strlen duten mugitzeko badugu
baldintza, geroztik n be gehituz egingo s strlen go dugu aldi bakoitzean
begizta bidez, eta hura da ez dira aldatzen joan.
Beraz, ezarri ahal izango da hemen baino gehiago n berdina dugu.
>> Ados.
Beraz, orain, zu baino gehiago errepikatzean dugu array indizea bakoitzean.
Eta beraz, bakoitzak inprimatu nahi badugu Array hori, ehuneko c pertsonaia da
Ez erabili nahi dugu pertsonaiak.
Eta orain parentesi i bat izango da, joan den katea, indizea pertsonaia i, hala badagokio du
katea ziren kaixo.
Orduz s 0 da h izango da, parentesi s 1 E izango da, eta abar.
>> Beraz, orain konbinatu nahi dugu bi gauza horiek.
Pertsonaia bakoitzak inprimatu nahi dugu komando lerroko argumentu bakoitzaren.
Beraz, behar joan loop habiaratu.
Eta konbentzionalki lehen kontagailu da i, hurrengoa da j izango da, n
argv i strlen izango da, i n baino gutxiago, i plus plus da.
Eta, orain, ordez inprimatzeko argv i, beraz, argv parentesi i da indizea joan -
hori i-garren komando lerroan izango da argumentua, argv i, j da, joan
j izaera izango i-garren argumentua.
Dut hau kentzeko hemen orain berriz jarri genuenetik begizta horretan.
Hain da katea s berdinen baliokidea argv i, eta gero ak parentesia j.
>> Beno, ez dugu behar den deklaratzen z aldagai hau.
Horren ordez, besterik ez dugu konbinatu horiek bi duguna izan sartu, argv i, j.
>> HIZLARIA 1: [INAUDIBLE].
>> ROB Boden: dei Good.
Beraz, hau hondatuta dago.
Benetan I ran bada, ez genuke konturatu hau.
Beraz counter buruzko zaintzen dut zehatz honen in
begizta j, iterator da.
Beraz gaiak sartu zenuke exekutatu dute, Ziurrenik begizta infinitu bat, ez badugu
izan ez finkoa.
Horregatik ere ari gara hitz gaur arazketa buruz.
>> Ados.
Hargatik exekutatu programa hau.
Eta utzi bereizi printf gehi benetan en hementxe egingo dela besterik inprimatu
lerro beste, horrek esan nahi du geroztik dugunean programa exekutatu, ez dago huts bat izango
pertsonaia bakoitzaren artean lerro komando lerroko argumentu bakoitzeko.
Beno, zer esan nahi duen ikusiko dugu.
Oop.
Akatsen batzuk lortu.
Error inplizituki deklaratzen liburutegi funtzioa strlen.
>> Beraz, atzera egingo gure programa sartu, dut honakoak string.h egiaztatu ahazten.
Beraz string.h izango da izan goiburu fitxategi hori adierazten
funtzioa strlen.
Ados, hura biltzen.
Orain, dezagun exekutatu.
Beraz, besterik ez da.
Honez nahi inprimatu goaz gure programaren izena, kaixo mundua.
Honez gauza bakoitza inprimatu, bata joan pertsonaia, bere lerro propioa.
Ados.
>> Hargatik hartu benetan en esta urrats bat gehiago.
Eta horren ordez string.h erabiliz, dezagun nola gure kabuz ezartzeko genuke pentsatu
funtzioa strlen.
Beraz, berehala ematen dut funtzioa sinadura.
Hargatik deitu my_strlen eta berau da kate bat hartu argumentu gisa joan,
eta itzultzeko espero dugu katea luzera.
Beraz, non da tipo hori?
Bai.
Ados.
Beraz, gogoratu lehenago diapositiba duen astetik ere izan zen, hori bat
pertsonaiak ezagutuko ditu, bai, katea, beraz, demagun hau gure katea s da.
Beraz, s katea bada, kaixo, gero, H-E-L-L-O, memoria, hori da joan den
izan, eta, ondoren backslash honetan 0 pertsonaia.
>> Beraz, nola ez sua luzera lortuko dugu?
Beno, trikimailu da hau bila erreakzio 0 pertsonaia, null honetan
terminator.
Beraz algoritmoa va gutxi antzeko zerbait izan nahi du
nahikoa karaktere -
egin ditzagun eskuan hau irudikatzeko batzuk counter, dezagun deitu int luzera hau.
Beraz, hemen baino gehiago hasita, gaude Gure katea baino gehiago batetik bestera joan.
>> Beraz, lehen pertsonaia, H da, eta ez da atzera slash 0, beraz,
luzera 1 da.
Hurrengo pertsonaia batetik bestera joateko, E, eta nik backslash ez 0.
Luzera 2 da.
L, 3.
L, 4.
O, 5.
Eta, azkenik, backslash iritsiko gara 0, eta beraz, bide horretan, ondo,
kate hau amaitu egingo da.
Hargatik itzuli 5.
>> Beraz, benetan gauzatzeko, lehenik eta behin, my n luzera funtzioak 0, nire eskuineko eskua.
Eta ari gara batetik bestera joateko joan -
>> HIZLARIA 1: [INAUDIBLE]
>> ROB Boden: Oh, tiro.
Ona deia.
Boom.
Beraz, n luzerakoa funtzioak 0 itzultzen du.
Beraz, gaur egun, berriz, s luzerak ez du berdinak eta, ondoren, backslash 0.
Beraz, gogoratu, backslash hau 0, bat da benetako pertsonaia, eta bertan adierazten
katearen amaieran.
Just bezala, ere, backslash n benetako pertsonaia da.
Backslash 0 da adierazteko joan gure katea amaieran.
Ez dut nahi duten han jarri.
Eta berriz s luzerak indexatuta ez da null amaierako berdina, ondoren
besterik ari gara luzera Kontatzailea joan.
Beraz, ondoren, gure programa amaieran, luzera da, azkenean joan
izan 5 kasu honetan.
Eta besterik ez dugu itzultzeko luzera.
>> Ados.
Beraz, gaur hemen, ez dut egin my_strlen.
Dezagun konpilatu ziurtatu Guztia exekutatzen leunki.
Zen egiten dut 2 in?
Edo 1 izan zen?
Hori egin behar.
Ondo da.
Beraz, hau argv 2 da.
Works aurreikusi bezala, nahiz eta zen bat, hori egin nuen hemen?
Bai.
Ados.
Gauzen bertsio hau ez dute linea berria printf ondoren, baina
ez du desberdintasunik.
Ados.
Beraz, lan egin zuen, espero bezala.
>> Orain dugu, nahiz eta urrats bat konbinatu ahal aurrerago, non oharra hemen, ondo,
Lehenengo, argv of strlen grabbing ari gara i, eta gero zu baino gehiago errepikatzean dugu
kate horretan pertsonaia bakoitzak.
Beraz ordez hori egiteko, zer badugu besterik konbinatu zain logika hau
hit dugu backslash arte 0 eskubidea hau sartu loop?
Beraz, batetik bestera joateko argv i, j ez bitartean backslash ez berdina: 0.
Hargatik exekutatu lehen.
>> Ondo da.
Beraz, hemen, egoera hau esaten da -
utzi garbitu en duten.
Beraz, orain, utzi hau gure argv izan.
Beraz, besterik gabe, programa hori exekutatu dut aurretik, argv kateen array bat da.
Eta, beraz, hura dut exekutatu bada dot barra argv rekin 2, kaixo mundua, orduan argv du
bera luzera 3 da, argv egiteko zero, kaixo, eta munduko.
>> Eta indize horietako bakoitzaren barruan, bera array bat, non hau izango izango
dot, hau barra izango da, ez dakit duten eskubidea norabidean bazen, I
ez dut uste izan zen.
A-R-V etenaren, leku gehiago behar.
Dezagun moztu array honetan sartu.
A-R-V etenaren 0, eta gero backslash 0.
Eta gero disarray kaixo izango da.
Demagun, H-E backslash 0.
Eta, azkenik, N-O backslash 0.
>> Beraz algoritmoa idatzi besterik ez dugu, the begiztak, zer dute Oraindik egiteko habiaratu
da egiten, lehenengo behar dugu kontraerasoan i eta, ondoren, j.
Honek kode errazagoa izango litzateke pantaila, Goazen hau itzuli.
Ados.
Beraz nabarituko i iterator du hori da Komando bakoitzean baino gehiago errepikatzean
lerroko argumentu.
Eta j iterator errepikatzean da horretan pertsonaia besteen gainetik
komando lerroko argumentu.
Beraz, barru-barruan printf hau zer egiten ari da da, argv 0 0, printf printf dugu
argv 0 1, printf argv 0 2, 0 3, 4 eta 0, 0 5, 6 eta 0, baina orain, argv 0 7 da, joan
backslash berdinak 0.
>> Beraz, orduan irten dugu begizta, eta orain iterates 1era i.
Eta orain ari gara inprimatu joan argv 1 0, argv 1 1 -
ondo, orain, moztu nuen kaixo labur geroztik, argv 1 2 da berriro izango da
backslash 0.
Eta beraz, Kontatzailea i eta jarraitzeko, eta abar, dugu inprimatu arte guztia
mundua, eta horiek hiru komando-lerro daude argumentuak, eta irteteko atera ditugun
outermost begizta, eta gure programa bukatzeko.
Ados.
>> Hargatik itzuli hemen.
Beraz, ezagutza batzuk lortuko dituzu honetan komando lerroko argumentuak
arazo jakin ezarri.
>> Orain, arazteko.
Beraz, ziurrenik dagoeneko izan duzu egin zure aurreko ekin arazteko batzuk
Arazo multzo.
Eta bat arazteko modu oso erraza, lehen, dezagun buggy programa batean.
Programa honen bidez ondo, oinez, baten erabiltzaileak eskatu goaz
Zenbaki oso, grab osokoa dela, eta, ondoren, arbitrarioki, berriz, begizta bat dugu horretan
besterik ez da behar decrement joan 10 berdina da. i arte
Demagun besterik en sartu naiz zenbaki oso bat 10 baino handiagoa.
Beraz decrement i 10 berdina izan arte.
>> Eta gero, berriz, begizta beste dugu , i ez berdina: 0 bitartean, gaude
i decrement 3 egin du.
Beraz akatsen asmoa ikusten baduzu Hemen, ez da hori decrement dut
izan 10, eta ondoren, berriz, begizta borondate hau decrement i 10, 7, 4, 1-tik,
2 negatiboak, negatiboak 5, eta abar egiteko, infinitua negatiboa den, i will geroztik
inoiz benetan berdinak 0.
Eta gero, programa honen amaieran, the foo funtzioa hau da, ez dugu
inprimatu gertatzen daudelarik i duten.
>> Beraz, hau programa labur eta hutsala da, eta akatsen begien bistakoa da,
batez ere, ondoren besterik ez dut esan bug zer zen.
Baina asmoa da hemen, bai, hau agian egia esan batzuk itxura zure
azken from Greedy irtenbideak Arazo multzo, eta, agian, ez duzu
begizta infinitua batzuk zure programan, eta ideia ez duzu
zer ari da eragiten.
Beraz oso erabilgarria arazketa-teknika bat da printfs besterik gehitu
guztiak zure kodea zehar.
>> Beraz, hemen printf kanpo nahi dut lehen, berriz, begizta.
Eta hemen printf bat nahi dut, eta besterik ez dut inprimatu i.
Dut ere egingo lehen begizta bitartean, i.
Kanpo, bigarren begizta bitartean.
Berriro ere, inprima barruan hemen, balioa i.
Eta dezagun hau exekutatu.
>> Beraz dot barra arazteko.
Idatzi zenbaki bat.
Egin dezagun 13.
Eta boom.
Begizta infinitua garela ikusiko dugu bitartean bigarren begizta barruan.
Beraz, gaur egun ezagutzen ditugun akatsen berri eman gabe.
Baina printf arazketa primeran handia, baina zure programak lortu ostean
luzeagoa eta zailagoa da, ez dira irtenbideak sofistikatuagoa
ohitu gauzak lanean.
Hargatik kendu printfs horiek guztiak.
Eta utzi ziurtatu ez nuen ezer apurtu.
Ados.
>> Beraz, programa goaz aurkeztu deritzo
GDB, GNU Debugger da.
Beno, egia esan, dezagun kendu arazketa egiteko bat bigarren, eta egin arazteko berriro.
Beno, egia esan, lehenengo, ikasgai ona komando lerroko argumentuak.
Nabarituko Clang komando hau dela Guztia gainditu ari konpilatzean
komando-lerroan, horiek komando lerroko argumentuak.
Beraz, zehazki nola erabiltzen ari zaren komando lerroko argumentuak, jo dugu
egin baino lehen, eta pset en izango duzun bezala 2, Clang horiek nola erabiltzen ari da.
>> Beraz nabarituko duten lehen bandera, marratxo hau ggdb3, zer da hori esaten, Clang,
Fitxategi hau konpilatu beharko zenuke batera asmo azkenean izango dugun
da arazteko behar.
Beraz, betiere Ez hori izan duzun bezala, ondoren GDB arazketa ahal dugun.
Eta ireki egingo GNU Debugger du.
>> Beraz, ez dira komandoak asko ohitu behar duzula.
Bata lehen duten baliteke zuk berehala behar Run da.
Beraz, zer da Korrika egin?
Honez gure programa hasteko.
Beraz, korrika egin, hasierako programa, programaren eskatzen digu zenbaki oso bat, 13.
Eta gero, begizta infinitua da gisa Espero zen, salbu I kendu du
printfs, beraz ere ez dugu ikusten.
Normalean irten da.
Oh.
Posible da horiek bilduta duten guztiek alderantziz, itzuli - hori jaramonik ez.
Bere gain hartzen ez zuen irteteko normalean.
Ez dagoela erantzun korapilatsu bat da.
>> Beraz, gaur egun, hori ez da oso erabilgarria.
Beraz, besterik gabe, gure programaren barruan exekutatzen araztaileak honek ez du laguntzen digu edozein
modurik, besterik ez dugu egiten geroztik izan dute dot barrarik debug GDB kanpotik.
Beraz, inork komandoa duten seguruenik duzu -
eta irten dut hau.
Kontrol-d edo irten, bai lana.
Hargatik hura ireki berriro.
>> Komando beste baliteke zuk duten berehala nahi
ohitzeko Break da.
Beraz dugu apurtzen nagusian oraingoz, eta, ondoren, hori azaldu dut.
Beno, hemen etendura ezarri dugu ikusten dugun debug.c lerro honetan.
Beraz, zer break bitarteko dela naizenean run idazteko, programa da, joan
martxan jarrituko arte Etendura bat sakatu dut.
Beraz, run sakatu dut, programa hasten da, eta, ondoren, bezain laster hausten da
funtzio nagusia sartzen da.
Apurtu nagusia zerbait izango da egin duzu nahiko normalean.
>> Eta orain, zuk aurkeztu komando batzuk gehiago.
Iragarki hemen, hori dugu esaten da linea 11, hau da, at hautsi
printf, idatzi zenbaki bat.
Beraz komandoa Hurrengo dago izan nola joan joan hurrengo kode lerro behar dugu.
Hau da urratsa aukera izango dugu gure programa lineaz linea bidez.
Beraz, hurrengo.
>> Orain 12 lerro, goazen osokoa lortzeko.
Hurrengoa.
Eta asmatuz gero, besterik gabe idatzi berriro ere, egingo berregin azken gauza zenuen.
Beraz, ez dut behar den idatzi hurrengo aldi bakoitzean.
Beraz, idatzi zenbaki bat, 13.
Beraz, gaur egun, linea 14, i handiagoa den bitartean 10 baino, eta egin dut hurrengoan.
Eta i decrement goaz ikusiko dugu.
Beraz, i berriro decrement joan.
>> Beraz, gaur egun, beste erabilgarria Komando Print da.
Beraz Print da inprimatu joan aldagaiaren balioa.
Dezagun ekarri balioa i aldakorra.
Dezagun inprimatu i.
Honez i da 11 esan nahi du.
Orain Hurrengo berriro dugun bitartean i 10 baino handiagoa da.
Beraz baino handiagoa da oraindik i 10 da 11 urtetik.
i ken ken.
Dezagun inprimatu i berriro.
Espero zen bezala, 10 da.
>> Beraz, orain, hurrengo.
Honez baldintza atzera joan, i da 10 baino handiagoa, baina i da orain 10, hain
10 baino handiagoa ez da, beraz, espero dugu berriz, begizta erortzen da.
Eta orain, kode lerro bat beherago gaude.
Eta komando beste, zerrenda, besterik ez da joan Aurreko eta hurrengo bistaratzeko
kode lerro, urtean pare Kasu zeure burua galdu duzu.
Beraz, irten besterik ez dugu berriz, begizta hau, eta orain sartu gara honetan
berriz, begizta, line 18.
Beraz, i ez berdina: 0 bitartean.
Eta, hurrengo, berdin i i ken 3, eta guk egingo nabarituko, hau besterik mantendu egingo.
Eta i inprimatu ahal izango dugu.
>> Komando bakoitzean sort lasterbideak ditu.
Beraz, p Print labur.
Beraz, p i ahal dugun.
Horretarako, mantendu eusten n, edo mantentzeko Hurrengo egiten.
Inprimatu i berriro.
Ikus orain duzu negatiboa 167 da.
Beraz, hau betiko joan dira, baina ez benetan betiko, ikusi besterik ez duzu geroztik,
benetan uneren batean amaituko.
>> Beraz, hori da GDB hasieran.
Baina egin dezagun gauza bat gehiago GDB utzi.
Uh, arazketa.
Beraz, kasu honetan ere, begizta infinitua gertatu barruan egon
funtzio nagusia.
Eta oraingoz, besterik ez onartzea dela naiz infinitua begizta mugitzeko sartzen joan
foo funtzioa.
Just gogoratu, honen amaieran programa, ondo, hau izan zen jatorriz
foo, besterik ez zen deituz i inprimatzeko.
Baina orain foo deitzen ari gara, hau da, i decrement da 0 arte, eta joan
ondoren, aldagai hori inprimatu.
Ados.
Gorde duten.
Egin arazteko.
Eta orain, gdb arazteko.
Ados.
>> Beraz, I exekutatu besterik ez bada orduan ez naiz joan izan bidez benetan zapaldu gai nire
programaren lerro-lerro.
Hargatik hautsi nagusietan, eta, ondoren, run idazteko.
Beraz, honen bidez, printf, sartu zenbaki oso bat, lortu osokoa, 13.
Beraz, decrementing jarraitzea i 10 baino handiagoa izan arte.
Ondoren gaude erori igaro berriz, begizta, eta iristeko -
dezagun ireki beste leiho batean.
Beraz decremented dugu i ez zen arte 10 baino handiagoa, eta egin dugu
funtzioa foo izeneko,.
>> Beraz, zer hit I bezain laster gertatu funtzioa foo, ondo, foo deitu nuen, eta
orduan jada ez GDB gaineko kontrola izan nuen.
Beraz, ahalik eta azkarren jo dut Next gisa lerro honetan, Gauzak jarraitu hau gertatu arte,
non programatik irten denean -
bere gain hartzen, ez da existitzen, azkenean.
Pausatu pixka bat, nahiz eta ikusi duzu.
Beraz, zergatik gaineko kontrola galdu nuen puntu horretan programan?
Beno, hurrengoa idazten dut, hori doa hurrengo kode lerro literal hori
exekutatuko da.
Beraz, ondoren line 21, hurrengo kode lerro duten exekutatu egingo line 22 da,
hau da, nagusitik irteten.
Beraz, ez dut nahi, besterik gabe joan hurrengo kode lerro izateko.
Hemen funtzioa, foo sartu joan nahi dut, eta ondoren ere egin dute urratsa
kode lerro horiek.
>> Beraz, horretarako, alternatiba bat behar dugu.
Dezagun berriro irten en duten.
Apurtu nagusia.
Uh, 1, hurrengoa, hurrengoa, 13, hurrengoa, hurrengoa, hurrengoa, arretaz,
line foo hit dugu aurretik.
Ados.
>> Beraz, gaur egun, Oraindik line 21 dugu, non foo deitu dugu.
Ez dugu nahi hurrengoa idatzi, horixe baita besterik deituko funtzioa foo, eta
hurrengo kode lerro joan.
Zer erabili nahi dugu urratsa.
Beraz, ez dago Step arteko aldea da eta ondoan, non Step sartu egoteagatik
funtzionatzeko, eta Hurrengo doa funtzioaren gainetik.
Osoa exekutatzen du, besterik ez da funtzioa eta mantentzen du.
>> Beraz Step ekartzea joan funtzioa sartu, foo.
Eta hemen ikusten dugu, orain, hemen gara berriro at berriz, begizta hau hori da, teorian,
betiko jarraitu behar.
Eta hit duzu Step, ez denean, nahiz eta gero deitu funtzio bat, orduan da
Hurrengo berdina.
Beraz, bakarrik da Oraindik lerro batean duzula Step duten funtzio bat deituz
da ondoan datoz joan.
Beraz Step gu hemen ekarriko ditu.
Urrats, Urrats, Urrats, Urrats, Urrats, Urrats, eta besterik begizta infinitua betiko zaitugu.
>> Beraz duzu erabili ahal dezake bat bezala zure infinitua begiztak identifikatzeko bide, da
besterik Sartu tekla horri eusten ikusi non itsatsita lortzen duzu.
Badira modu hoberik ez da egin behar, baina oraingoz, egoera ona izan nahikoa.
Eta estilistikoki, nahi Style adostasuna 50, hau egin beharko nuke.
Ados.
>> Beraz, joan den komando bat aurkeztera.
Beno, goazen gdb debug sartu
Beraz ordez nagusia hautsi, badut foo funtzioa ezagutzen da, halaber,
Arazoa, orduan izan nuen besterik erran, foo at hautsi ordez.
Demagun apurtzen dut at bai nagusia eta foo.
Beraz, eten-puntu askotan bezala ezar dezakezu nahi duzun bezala.
Noiz run idazten dudanean, joan da hemen geldituko -
ooh, dezagun birkonpilatu, geroztik Gauzak aldatu dut.
Line, Abisua, iturri hau ikusiko duzu fitxategi exekutagarria baino berriagoa da.
Beraz, horrek esan nahi du, hemen dudala paregabea eman eta aldatu horiei Style adostasuna
50, baina ez nuen birkonpilatu programan.
Beraz GDB egiten jakitun of me.
Irten dut, arazketa berriro egiteko, gdb debug hit.
Ados.
>> Beraz, gaur egun, zer egiten ari nintzen itzuli.
Apurtu nagusia, break foo.
Orain programa exekutatu badut, beraz hits arte jarraituko joan a
etendura.
Etendura hori gertatzen nagusian lehenengoa izango da.
Orain, ordez hurrengoa egiteko, hurrengoa, hurrengoa, hurrengoa, hurrengoa, foo jo nuen arte, I
jarraitzeko, hau da, jarrai idatz dezakezu hurrengo etendura sakatzen duzun arte.
Osokoa sartzeko lehen daukat.
Jarraitu gelditu nintzen arte jarraituko du hurrengo etendura, hau da,
foo funtzioa.
>> Beraz Run bat sakatzen duzun arte exekutatu egingo etendura, baina run bakarrik idazten duzunean
programan hasten zaren, eta, ondoren, ordutik aurrera, jarraituko da.
, Egin dut, bada apurtu nagusia eta ondoren ran, at hautsi egingo da
nagusia, eta ondoren aurrera jarraituko du.
Ez dut ez baita izan break puntu bat foo at, idatzi zenbaki eta, ondoren, gaur egun, naiz
ez foo at hautsi egingo.
Besterik ez da infinitua joan begizta hori bete arte.
Ados.
>> Beraz, Intro GDB izateko.
Hura erabiltzen hasi behar duzu zure arazoa multzo.
Oso lagungarria izan daiteke bugs identifikatzeko.
Baduzu benetan, lerro-lerro, joan Zure kodea bidez, eta konparatu zer da
benetan zer espero duzu gertatzen gertatuko, orduan nahiko da
zaila zure bugs galdu.
Ados.
>> Beraz, joan den astean David hazi honetan sekretua kriptografia simetrikoaren egiteko gauza
lehen aldiz, non ez dugu nahi pasahitzak izan besterik gordetzen dira gure
Testu fitxategi arrunta batzuetan ordenagailua, non norbait baino gehiago eta besterik etorri ahal
zabalduko da eta irakur itzazu.
Haien, dute enkriptatuko litzateke nolabait.
Eta Arazoa Ezarri 2, aurre egingo enkriptatze-metodo bat,
edo, beno, bi metodo, baina ez dira hain handia.
Hacker edizioan Egiten baduzu, zaren ere aurre egingo
gauza batzuk desenkriptatzea.
>> Beraz, arazoa da orain, bai, nahiz encryption indartsuena dugu
munduko algoritmoa, bat aukeratzen baduzu pasahitza bereziki pobreen, orduan
ez duzu lagun asko, geroztik jende izango da oraindik ere irudikatu nahi gai izan.
Kodifikatuta katea ikusten, nahiz eta itxura zabor nahaspila bat bezala
duten ezer esan nahi zien, badute Oraindik ere gutxi batzuetan pasahitzak bat saiatu behar
irudikatu nahi, eta gero zuk ez dira oso seguruak.
Beraz, bideo bat ikusi duen Puntu horri esker.
>> [Bideo-erreprodukzioa]
>> -Helmet fiend.
Zer gertatzen da?
Zer egiten ari zara nire alaba?
>> -Uztazu aparta aurkezteko Plastikozko zirujau gazte, Phillip Dr
Schlotkin, sudur handiena lan osoa man
unibertsoa, ​​eta Beverly Hills.
>> -Zure Gorentasuna.
>> Nose-lana?
Ez dut ulertzen.
Zuen jada sudurra lan bat.
Gozoa hamasei present izan zen.
>> -Ez.
Kontua ez da zer uste duzu.
Askoz ere, askoz okerrago.
Ez baduzu, emadazu konbinazioa egiteko aire armarria, Schlotkin doktoreak izango
zure alaba bere sudurra zaharra eman back.
>> -Ez.
Non atera duzu?
>> -Ondo da.
Esango dut.
Ez, aita.
Ez, ez behar duzu.
>> -Arrazoi eskubidea, maitea.
Berria sudurra galdu dut.
Baina ez dut kontatu zion konbinazioa, axola zer.
>> -Oso ondo.
Dr Schlotkin, egin zure txarrena.
>> -Nire plazer.
>> [Tresna izateaz zorroztu]
>> -Ez.
Itxaron.
Esango dut.
>> -Banekien lan litzateke.
Ondo da.
Eman dit.
>> -The konbinazio bat da.
>> -One.
>> -Bi.
>> -Hiru.
>> -Lau.
>> -Bost.
>> -Beraz, konbinazio bat da, bi, hiru, lau, bost.
Hori da konbinazio stupidest Inoiz nire bizitzan entzun.
Hori gauza mota ergel bat litzateke bere ekipajea.
>> -Eskerrik asko, jauna.
>> -Zer egin duzu?
>> -I off aktibatuta horman.
>> -Ez ez zenuen.
Desaktibatzen filma osoa.
>> -I okerreko botoia sakatzen behar.
>> -Beno, jarri berriz.
Jarri filma berriro.
>> -Bai, jauna.
Bai, jauna.
>> -Goazen, Arnold.
Goazen, Gretchen.
Jakina, badakizu, oraindik ere dut duzu blog honetan fakturatzen dute.
>> [END bideo-erreprodukzioa]
>> ROB Boden: Guztiak eskubidea.
Dagoeneko ari gara hitz egiten, beraz, orain dela nolabait, segurtasun, polita
Apur movie poster, beraz, azken urtean egun, NSA dituzten gai horiek
guztia jarraipena.
Zaila izan daiteke nahi duzun bezala sentitzen pribatutasun nolabaiteko parte izan
online munduan, baina ezin dizut esan duzu prisma xehetasun gehienak.
Beraz, prisma haratago mugitzen, ez goaz Horri buruz hitz egiten, orain
eramangarria pentsatzen.
Beraz, hemen sortu, aldatu nahi dut nire benetako kontura,
nire pinguino gutxirekin.
Beraz pasahitza multzo bat daukat, eta hori pasahitza da edozein dela ere izan nahi dut.
>> Baina gogoratu zer logging naiz eta, beraz, login honekin in
gonbita, programa batzuk.
Programa batzuk hori izan da Pertsona batzuek idatzitako.
Eta, beraz, pertsona horrek, badira bereziki maltzurren, zalantzarik
dute esan, eskubidea, hala bada pasahitza sartu dudala da berdina nire
oraingo pasahitza, edo berdina da pasahitza berezi batzuk -
David da awesome edo zerbait -
ondoren, utzi horiek sartu
Beraz programatzaile bat kaltegarria izan liteke Zure Macs guztiak, edo sarbidea
Windows, edo ezer.
>> Beraz, hori ez da kezka bat askoz, geroztik, Esan nahi dut, hau da, saio-programa
dela OS X, ehunka datorrena edo milaka pertsona izan
kode hau berrikusi.
Eta, beraz,, bada zure kodea nonbait, zuk esan kate hau berdin berdin bada
David da awesome, saioa hasteko, eta gero norbait da izango da, nahi, itxaron.
Hau ez da eskubidea.
Honek ez luke hemen egongo.
Beraz, modu bat gauzak lortuko dugu da motatako seguru izateko.
>> Baina programak, nahiz eta pentsatu idatzi duzula.
Demagun login programa idatzi duzu.
Beraz, saio-programa hau idatzi duzu, beraz, jakina, dira duzun ona
programatzaile.
Zu ez asmo txarreko edozein jarri nahi dut x berdin berdin David is awesome
Zure kodea sartu.
Baina programa honek, zer egin nahi duzu erabili programa hau konpilatu?
Clang antzeko zerbait.
Beraz, zer bada nor gertatu pertsonaren Clang bereziak Clang in cased idatzi
zerbait bezala, I am konpilatzean bada ADI programa, ondoren, idatzi kode hau
login programa dioen, gero sartu x berdin berdin David da awesome?
Beraz, ez da nahiko oraindik, baina bera izan dugu igorriko hemen, non Clang, ondo,
Milaka, ez bada milaka hamarnaka of pertsonak, izan Clang begiratu, izan
bere kode lerro begiratu eta esan zuen, guztiak ondo, ez dago ezer txarra hemen.
Jakina, inork ez du egiten ari da ezer maltzurren hau.
>> Baina zer clang berez, bezala, zer konpilatu dut Clang bada?
Zer konpiladore batzuk badut duten biltzen Clang duten Clang sartu txertatzen
hack berezi hau dela dio, eskubidea, denean konpilatu dut Clang, orduan
exekutagarri I get bereziki begiratu behar saio programa eta txertatze-barrutik
pasahitz hori, berdin berdin Dave da awesome?
Beraz, gogoratu zure konpiladore bera uneren batean konpilatuta egon behar.
Beraz, zer Clang biltzeko aukeratu baduzu batera, asmo txarreko da berez, eta gero zuk
izorratu litezke osoa Modu line behera.
>> Beraz, hemen, ez dugu Ken Thompson eta Dennis Ritchie.
Beraz, hau ikoniko bat argazki da.
Dennis Ritchie eskuinean den.
Nagusietako bat da zuen -
nahiko askoz idatzi C. Beraz, ahal duzun eskerrak eman zion klase honentzako.
Ken Thomson ezker aldean da.
Horietako bi funtsean idatzi UNIX.
Beno, nagusien laguntzaileen ziren UNIX-en.
Beste batzuk egon ziren.
Beraz, Ken Thompson, uneren batean, Turing saria irabazi zuen.
Eta Turing saria, Nik beti entzun dut Modu honetan erreferentziatutako da, da
Nobel Saria informatikako.
>> Beraz, Turing saria hartan, egin behar du bere onarpen hitzaldian eman.
Eta hizketa oso famatua hau ematen zuen orain, hausnarketak fidatu izeneko
Konfiantza, eta hori lotuta dugu Jakina, web orrian ere.
Eta hizketa honetan, dio, guztiak eskuineko, beraz UNIX idatzi nuen, eta orain guztia
duzun pertsona UNIX erabiltzen ari.
Orain, gogoratu gaur egun Linux dela UNIX ondorengo zuzena.
OS X zuzenean erabiltzen ditu UNIX.
Leihoak ez du hainbeste, baina asko ideien ziren UNIX hartua.
>> Beraz, gora doa zuen etapa, eta dio, guztiak eskubidea, UNIX idatzi nuen.
Eta besterik ez, beraz, you guys ezagutzen, naiz gai bakoitzean sartu
Zure ordenagailuak bakar.
Bereziak horietako bat jarri dut x bada noiztik berdin berdin Ken Thomson is awesome,
Orduz dut onartzen du saioa.
Beraz, pertsona bezala, ondo, dira Nola hori?
Begiratu login programa dugu eta ezer ez da han.
Da, bezala ondo, konpiladoreak eraldatutako dut zuen Login programan hasi
beraz saio-programa gaur egun izango dute x duten berdin berdin Ken Thompson
Zoragarria da.
>> Eta, esaten dute bai, hori ez da egia.
Dugun konpiladore ikusten ari zara, eta konpiladoreak ez du ildo edozein
horrelako kodea.
Zuen bezala, OK, baina zer egiten ari zaren konpiladoreak konpilatzean batekin?
Eta, uste dute, eta zuen da, bezala, ondo, Ko duten konpiladore eman zenuen naiz
konpiladoreak biltzeko erabiltzen ari zara, beraz, konpiladore bat konpilatzen ari zaren, dela
maltzurren da berez, eta, izango login programa apurtu.
Beraz, funtsean, puntu horretan, ez da modu ez duzu iturburua begiratu zezakeen
login programaren kodea gaizki dagoena ikusteko.
Ezin duzu ere begiratu iturri konpiladoreak kode
gaizki dagoena ikusteko.
>> Makina begiratu beharko zenuke kodea, benetako bikoan
konpilatutako konpiladorea, ikusteko itxaron, horiek kode lerro ez luke hemen egongo.
Baina Ken Thompson urrats bat hartu zuen aurrerago, eta esan zuen, bai, badira
programa bereziak horiek benetan programen bitar irakurri duzu lagun,
eta beraz, norbaitek programa hori erabiltzen bada bitarra irakurri, ikusi zuten horiek
kode lerro.
Esan programa hori aldatu egin zen, guztiak eskubidea, zuk begira bazabiltza
konpiladorea, ez erakutsi hau bereziki bitarra multzo.
>> Beraz, ondoren, hartu behar duzu, beste urrats bat gehiago eta, batez ere, hori izan liteke
hartu indirection hainbat mailatako, eta uneren batean, inork ez da benetan
egiaztapena egingo.
Beraz Istorioaren morala da, zu ez dugu idazten joan
Klase honetan astintzen.
Egon eskalada erabiliz joan zaren Asko astintzen klase honetan.
Jakingo duzuen guztientzat, Clang da gaiztoren programa hori behin saboteatzen
programa bakar Duzun inoiz konpilatu.
Eta zuk oso kezkagarriak utzi ohar, ikusten duzu asteazkenean.
>> [Txaloak]
>> HIZLARIA 2: hurrengo CS50 At.
>> HIZLARIA: 3 Ez esan ausartzen duzu.
Hau egin ahal izango duzu.
Egin duzun hori baino lehen, hau egin ahal izango duzu gaur, hau egin ahal izango duzu bihar.
Izan duzun lan hau egiteko urte.
Just joan han eta hori egin.
Hau egin ahal izango duzu.
>> [Musika jotzen]