[Powered by Google Translate] TOMMY MACWILLIAM: Let loops buruzko eztabaida, komuna bat
programazio eraikitzen CS50 zehar ikusi dugu.
Loops erabiliko dugu bat egin nahi dugu
zeregina behin baino gehiagotan.
Esate baterako, "hi" 100 aldiz edo inprimatu inprimatu nahi dugu
alfabetoaren letra guztiak.
Kasu horietan, bai, gauza bat egin nahi dugu, behar dugu
hainbat aldiz, inprimatu zerbait.
Hala eta guztiz ere, zer inprimatzen dugu, aldi bakoitzean alda daiteke.
Beraz, bakoitzean apur bat ezberdina den zerbait egin ahal izango dugu.
iterazio, edo exekutatu bidez, begizta-.
Hiru loops mota ezberdinak ikusi ahal izango dugu, C, berriz,
loops, loops, eta ez loops bitartean.
Loops hiru mota desberdinak horiek sintaxia arren,
horien atzean ideia berdinak dira.
Giltza kizkur barruan kode-bloke bat definitzen dugu,
izeneko begizta-gorputza, nahi dugun exekutatu behar
zenbat aldiz batzuk.
Gorputzean erabilitako aldagaien balioak aldatuz,
gure loop zerbait aldi bakoitzean ezberdina da exekutatu egin daitezke.
Idazten dugu begizta edozein ere, behar dugu, erabakitzeko denean
begizta itxi egingo da.
Egin ez badugu, orduan gure trusty ordenagailua jarraitu
begizta hori exekutatzeko programa hil arte.
Scratch, errepikatu n aldiz erabili izan dugu
blokeatu loop bat sortzeko.
Bloke baten barruan pieza guztiak errepikatu 10 esan
exekutatu beharko litzateke 10 aldiz.
Eta gero, mugitu on genuke piezak begizta ondoren.
Gure stop egoera, beraz, besterik gabe, bloke hau izan da
exekutatu 10 aldiz.
Hargatik birsortzeko C. ordena honetan Scratch bermatzeko
errepikatu bloke barruan zuzenak direla exekutatu
zehazki, 10 aldiz, Scratch bakoitzaren segimendua egiteko behar
errepikatu blokearen exekuzioa.
Segimendua egiteko, zenbat aldiz gure loop gorputza izan da
exekutatu, dezagun aldagai bat sortu izeneko i.
I hasiko dugu off zero, gure loop geroztik
du oraindik ez dela exekutatu.
Ados
Orain, berriz, keyword erabiliko dugu off gure loop hasteko.
Orain gure loop eten egingo da irudikatu behar dugu, baina
dezagun utzi hau orain eta gero itzuli.
Guztiak eskubidea.
Gure begizta Inside, utzi mezu bat inprimatu, hala nola
"Hi". Funtzioa printf erabili ahal izango ditugu.
Guztiak eskubidea.
Beraz, gaur egun loop gorputza iterazio bat grabatu du dugu
exekutatu.
1 gehitu, incrementing edo hori egin ahal izango dugu, gure counter
aldakorra da, i.
Horretarako, esan i plus 1, edo gehiago berdina da i
besterik gabe, i plus plus.
Great.
Beraz, gaur egun ikusi ahal izango dugu aldi bakoitzean, gure begizta exekutatuko da, gure
counter aldagai bat gora doa.
Beraz, zehazki zenbat iterazio exekutatuko dugu, beraz, orain arte ezagutu dugun.
Begizta-iterazio bat, gure balio ondoren
1 i izango da.
Bi iterazio egin ondoren, 2. Izan i.
10 iterazio ondoren, 10 izan i.
Beraz, nahi badugu begizta hau exekutatu zehazki 10 aldiz, eta gero
hau da, gelditu nahi dugu.
Beraz, begizta hau exekutatu behar da i baino gutxiago 10 bitartean nahi dugu, eta
zehazki zer idatzi dugu, i bitartean
10 baino gutxiago da.
Baldintza hau besterik ez ditugun baldintza erabili behar izanez gero, itxura
bestela, blokeak.
Gure loop gorputza exekutatu ondoren, gure programa
atzera jauzi egingo loops egoera.
Baldintza egia bada, orduan gorputza
loop exekutatu egingo da berriro.
Egoera ez da Egia bada, orduan gure begizta ezin izango
exekutatu jada eta, hurrengo kode lerro mugituko da
gure loop azpian.
Guztiak eskubidea.
Beraz, dezagun mota bat bigarren begirada bat
loop, loop for.
Hurrengoa, berriz, keyword, parentesi artean, gauza bat izan genuen,
egiazkoa izan behar duen baldintza
loop gorputza exekutatu behar da.
Direla esan nahi du gure counter aldagai sortzeko kanpo izan genuen
loop eta gogoan izan Kontatzailea uneren batean
Begizta barruan.
Gure goiburua loop, beste alde batetik, hiru
zatiak, eta horietako bakoitza puntu eta komaz bereizi egingo dira.
Gure lehenengo hirugarren, counter edo helper deklaratu ahal izango dugu
aldagai gure begizta batean erabili nahi genuke.
Praktikan, hau oso lagungarria izan daiteke.
Benetan ez dugu behar aldagaia, i, gure, berriz, ondoren
begizta exekutatuko du, beraz, behar dugu ez aldarrikatu
Begizta kanpo.
Bigarren, hirugarren baldintza egia izan behar izango da
gorputza exekutatu behar berriro, bezala
gure bitartean loop.
Gure azken hirugarren, laburpen bat egingo da exekutatu ahal izango dugu.
begizta-iterazio bakoitzaren ondoren exekutatu da, beraz, ez dugu
eraikitzeko loop gorputza.
Hargatik idatzi loop zenbatzen 5 eta 1.
For keyword hasiko gara.
Counter aldagai bat sortu ahal izango ditugu, lehen aldiz, eta zaitugu
5 ezarritako denbora honetan ari gara behera geroztik kontatuta,
puntu eta koma ondoren.
Next da gure egoera, eta itzuli dugu.
Hirugarren, gure counter aldagaia decrement ondoren genuke
begizta-iterazio bakoitzerako.
Beraz, ez i plus plus esaten baino, i ken minus esan dugu.
Guztiak eskubidea.
Beraz, loop gorputza i ere exekutatu nahi dugu
0 baino handiagoa.
Loop-gorputza, dezagun inprimatu i balio.
Horretarako, printf funtzioa erabili dugu,% d erabiliz
biltegian.
Gogoratu, biltegian hori ordeztuko dira
i balioa.
Azkenik, dezagun gure ondoren adierazpena loop bat gehitu.
Begizta hau abiarazi dugu, hasteko off i 5,
beraz, 5 inprimatuko dira.
Behin lortzen 0 i, jarraipen-egoera, i
0 baino handiagoa bada, ez da jada eutsi diote.
Beraz, gure loop exekutatzean eten egingo da, eta ikusiko dugu
begizta ondoren adierazpena.
Beraz, dezagun kode hau exekutatu.
Lehenik eta behin, konpilatu dugu
egiteko countdown countdown.c.
Orain, kode hau exekutatu ahal izango dugu. / Countdown.
Loops, berriz, batean zein bestean, eta loops, gure jarraipen
baldintza gorputza baino lehen egingo da egiaztatuko
begizta exekutatzen.
Horrek esan nahi du, gure egoera ez bada, hasieran
egia da, orduan gure loop gorputza ez da inoiz exekutatu.
Beraz, batzuetan, erabilgarria da egoera egiaztatu ondoren
Begizta gorputza ez baino.
Hargatik loop bat idatzi zenbaki bat erabiltzaileari galdetuko
zenbaki positibo bat da, hornitu arte.
Erabiltzaileak input zenbaki negatiboa bada, eskatu nahi dugu
beste zenbaki bat.
Beraz, nahi gonbita barruan egon beharko dugu
begizta off gorputza.
Hala eta guztiz ere, begizta da lehen aldiz exekutatu, erabiltzaileak
ez du eman oraindik zenbakia.
Beraz, ez du zentzurik egiaztatu behar da, positiboa bada.
Horren ordez, gorputzaren ondoren zenbaki egiaztatu nahi dugu
begizta exekutatuko da.
Hau egin ahal izango dugu, begizta bitartean do.
Lehenik eta behin, aldagai bat sortu dugu, n, eduki sakatuta
erabiltzailearen sarrera.
Orain keyword do, giltza kizkur erabili dugu
hasiko da gure loop gorputza.
Gorputzean, zenbaki bat erabiltzaileari galdetuko ahal izango dugu
GetInt funtzioa.
Orain, begizta honen gorputza berriro exekutatu nahi dugu bada
Erabiltzaile idatzitako zenbaki negatiboa izan, eta, beraz, esan dugu n bitartean
0 baino gutxiago da.
Ohartu puntu eta koma hemen, berriz, adierazpen ondoren.
Beraz, dezagun kode hau exekutatu.
Lehenik eta behin, hau egiteko positiboa konpilatu dugu.
Orain programa exekutatu ahal izango dugu. / Positiboa.
Ematen diogu programa hau zenbaki negatiboa bada, negatiboa bezala
4, dugu galdetuko zaizu berriro geroztik, zenbaki bat
gure do egoera loop egia zen bitartean.
Behin zenbaki positibo bat eman dugu, 8 bezala, eta gero
gure do egoera loop ez da longer bitartean izango da egia.
Beraz, ez dira begizta exekutatu berriro.
Eta hori da loops hiru mota C. erabili dugu
Nire izena Tommy da, eta hau da CS50.