DOUG LLOYD: Ondo da, beraz, loops buruzko eztabaida utzi. Beraz, loops mota daude cool zure programa ematen dutelako Kode lerro burutzeko baimenik behin eta behin eta berriro. Behin eta berriz, beharrik gabe lana kopiatzeko eta itsatsi edo bestela errepikatu. Badira hiru handien dira loops ikusiko duzu mota. Baliteke zuk daukazu Oraingo erabili horietako bakoitza aurrera jo CS50 bidez. Loops horiek batzuk nahiko dira Zuri ezaguna Hutsetik, Beraz, berriro ere, egin dugun bezala baldintzazkoak batera, jarri dugu horiek sortu aldamenean ez analogia bat bada marraztu ahal izango dugu. Lehen betiko da hutsetik, bertan, (egia) alderatzen. Hau da, zer begizta infinitua bat deitu dugu. Kizkur arteko Kode lerro giltza, askoz puzzle piezak bezala sasoian dagoela C barnean betirako blokeatu, behin eta berriz, exekutatu egingo goitik behera, behin eta behin eta berriro, betiko. Azken finean, gure gogoratzen baduzu adierazpen boolearrak eztabaida, Egia da beti egia. Beraz, bada, egiten ari garen hain luze egia gisa zerbait da true-- badirudi silly-- pixka bat egia da beti egia, beraz, beti exekutatu. Betiko ihes egingo du, eta inoiz eta inoiz ez dugun bitartean atera hausteko modu bat aurkitu break adierazpen bat, hain zuzen ere, duela pixka bat ikusi genuen dugu ziren switch buruz hitz egiten. Edo bestela, besterik gabe hiltzeko gure programa, bide batez, you Noizbait batean begizta infinitu baten egoera eta ez dakizu nola gelditu Zure programa exekutatzen. Just sakatu kontrol eta C eta Hori da zure programa hil egingo duzu. Baina hau, berriro ere, begizta infinitua bat deitzen. Hori betiko ihes egingo begizta bat da. Orain, berriz, loops ez dira beti infinitua, halaber delako Boolean ordezkatu ahal izango dugu zerbait adierazteko Apur bat baino gehiago erabilgarria besterik ez da egia. Hortaz, hona hemen adibide bat. Bitartean eta Boolean batzuk adierazpen eta ondoren, kizkur giltza. Hori nahiko askoz analogoak arte errepikatu, hutsetik. Bigarren bat, ez dut izan arren aldea azaldu. C Beraz, adierazpen boolearrak bada bitartean Begizta barruan Egia, lerro ebaluatzen kizkur giltza artean kodea behin eta berriz, eta gehiago baino gehiago exekutatu egingo eta gehiagoko adierazpen boolear arte gezurra ebaluatzen. Beraz, adibidez, baliteke counter nolabaiteko dute. Beraz, esan duzu urtearen hasieran begizta hau esan int x funtzioak zero. X 100 baino txikiagoa den bitartean, ez pare bat giltza kizkur barruan gauzak, ondoren, zure begizta amaieran ere, esan duzu x plus plus, x Incrementing zaren. Azkenean x lortuko 100 eta izango duzu baldintza delako gelditzeko x 100 baino txikiagoa Aurrerantzean ezingo egiazko laster da 100 berdina x bezala. 100 ez da 100 baino gutxiago. Orain zertxobait nahastu, portaera scratch-bloke handiera alderantziz. Beraz, benetan zaindua hau bada Zure loops erabiliz sartu foray lehen. Funtsean, errepikatu du Scratch bloke arte Zerbait errepikatu du behin eta behin eta berriro, adierazpen arte, boolearrak hexagono Adierazpen egia da. Hori egitean mantendu egingo da Egia da arte. Bien bitartean, berriz, begizta izango Egin behar faltsua arte jarraitu. Beraz, nahiko antzekoak dira, baina ez dago bereizketa apur hori besterik ez da kontuz egin duzu bereziki gisa trantsizio zure lehen saiakera c sartu urratu. Hurrengo begizta mota da Egia esan, nahiko antzekoak. Honez begizta bitartean do deritzo. Begizta honen lerro guztiak exekutatu egingo kizkur giltza artean kodearen behin, eta, ondoren, egiaztatu egingo da Espresio boolearra du. Adierazpen boolearrak bada Egia ebaluatzen, atzera jo dugu, eta errepikatu Prozesu hori egin eta gehiagoko eta gehiagoko Boolean arte adierazpen gezurra ebaluatzen. Beraz, begizta hau, berriz, begizta bat ez bezala, ez da bermatuta gutxienez denbora exekutatu. Hau nahiko baliagarria izan daiteke. Azkenik, bat dugu begizta. Begiztak dira mota horretako sintaktikoki unattractive eta asko joan da Hemen, beraz, nirekin hartu saiatu eta pieza horiek apurtu gain dugun bezala. Oro har, erabilera kasu begizta bat da duzu Zerbait bat errepikatu nahi Aldiz kopuru zehatz. Adibide honetan hemen, Errepikatu bloke daukat Hutsetik, hau da, begizta for antzeko C, zerbait errepikatuz 10 aldiz. Eta begizta for the ezkerreko dago, eta horrek lau begizta bat dela Gauza bera egin nahi. Hau 10 aldiz joango litzateke. Zero hasita, dugu Kontatzailea begizta pass bakoitzeko. Eta hori egiten jarraituko dugu i 10 baino txikiagoa izan arte. Beraz, zer gertatzen da? Badira kode asko dago. Dezagun apurtu behera zer gertatzen ari den urrats Pausoz zulatu dugu baten bidez bezala begizta. Hori gertatu zen lehenengo gauza da kontraerasora aldagai zentroa da. Lehenengo duten ezkerreko Everything parentesi barruan semicolon exekutatu. Kasu honetan, gauden esanez berdin i 0 int. I izeneko aldagai bat deklaratzen, aldagai mota osokoa da eta ari balioaren barruan esanez dugu aldagai hori da zero izango da. Bigarren gauza egiten dugu ondoren, berehala ebaluatu dugu Espresio boolearra du. Espresio boolearra dago Bi puntu erdian. 10 baino gutxiago geratzen naiz. Hori egia da hemen, ezta? Esan berri dugu i berdina da zero, eta beraz, 0 eta 10 baino txikiagoa da, eta, beraz, baldintza hori Egia da, eta orain izango dugu Jarraitzea begizta gorputza exekutatu. Faltsua bada. Bada, adibidez, ordez esan dut berdin i 0 badira berdin i 15 esan dut, int i berdin 15. Beno 15 ez da 10 baino gutxiago, beraz, ez dugu litzateke inoiz begizta baten gorputzean sartzeko adierazpen boolearrak delako ez faltsua izan ebaluatzeko. Igaroko ditugu ondoren goitik behera, kizkur itxiz dugu topo, Hirugarren gauza bat gertatzen da. Counter aldakorra da gehitzen, edo hobeto esanda, lerroak adierazpen-kode baten ondoren bigarren puntu eta koma, barrutik loops parentesi for exekutatu. Beraz, hasi ginen arabera esanez berdin i 0 int. Ondoren egiaztatu ala ez dugu adierazpen boolearrak egia da. 0 gutxiago, baino 10 hain egia da da. Beraz, goazen jarraitzeko joan Gorputzaren begizta sartu. Things izango begizta barruan gertatuko, eta denean topo dugu kizkur ixteko dagoela giltza, hurrengo gauza ditugu ez da esaten dugu i plus plus. Nengoen zero orain i bat da. Ondoren, berriro balioa egiaztatu dugu erdian adierazpen boolear du. One 10 baino gutxiago. Beraz, honen bidez joan beharko dugu prozesatu behin eta berriro. Egingo ixtea lortu dugu kizkur berriro. I Kontatzailea egingo dugu bertatik 1 eta 2 eta 2 eta 3. Eta abar, eta abar, eta abar, arte azkenean i-ren balio bihurtzen 10. 10 baino gutxiago 10 da? No. 0 hasita, joan gara 10 begizta iterazio bidez. Errepikatzen dugu 10 aldiz, besterik ez egin genuen bezala Scratch blokean. Eta beraz, funtsean, lau begizta bat egiteko prozesua. Orain, kanpoan hartu Benetako kodea eta jarriz oinarrizko baieztapen orokor batzuk besterik ez dira. Hona hemen zer gertatzen den. Baieztapenak guztiak hasteko lehen exekutatu. Agian bat baino gehiago duzu. Ondoren, adierazpen boolearrak hautatuta dago. Adierazpena TRUE bada, Gorputzaren begizta denbora bat exekutatu. Espresioa ebaluatzen bada faltsua den, egiten ari gara. Ez dugu exekutatu begizta batere gorputzean. Fusilatu behar dugu eta ondoren etorri begizta gorputza denbora bat, ondoren egin dugu zer da gehikuntza parte bertan. Hau da, normalean izan da joan i antzeko zerbait plus, plus edo horrelako zerbait, counter aldagai bat aldatzen. Ondoren, Kontatzailea dugu dugu ondoren egiaztatu adierazpena berriro eta urrats horiek behin eta errepikatu eta gehiagoko adierazpena da arte Jada ez da egia. Beraz, zer dira erabilera begizta bat kasuen? Erabili berriz, begizta bat duzunean erabili begizta bat errepikatu nahi duzu Aldiz kopuru ezezagun bat, baina da, seguru asko, agian, ez exekutatu guztiak. Adibide benetan arrunt bat erabiltzen ari den bitartean bat begizta kontrol joko baten fluxua exekutatu. Agian ez dakizu zenbat denbora Erabiltzaile Jolasten joan da, baina beti gorde nahi duzun gauza bera egiten. Posizioak eguneratuz Taula gainean hainbat sprites. Gauzak gorde nahi dituzu uneoro mugitzen, baina ez dakizu denean Erabiltzaile jolasten gelditzeko edo ari dira joan denean bizitzak agortu. Beraz, berriz, begizta bat da benetan horrelako zerbait ona. Hori erabilera baten kasuan ona da. Do bat begizta bitartean, nahiko antzekoa da. Begizta batean ezezagun bat errepikatu nahi duzu zenbat aldiz, baina gutxienez behin. Hau erabil dezakezu partidara ere bai, baina erabilera kasu benetan komun bat sarrera erabiltzaileari galdetu. Oro har, zerbait esan duzu bezala, Niri oso positibo bat, eta hori jarri dezakezu do bat amaitzen da, berriz, barrutik. Beraz, beti izango da eskatu egin zien Gutxienez oso positibo bat behin. Zuk oso positibo bat eman dute, bada, Begizta baliteke hausteko. Zuk egin liteke. Adierazpen boolear du egin bitartean faltsua izan daiteke. Eta ez duzu eskatu horiek berriro. You zenbaki negatiboa non ematen dute bada hori da hitza edo zerbait idatzi dute Ez benetan baliagarria duzu, erabili dezakezun Zer amaitzen da atzera joan eta egin bitartean behin eta berriro, eta berriro. Betiko eskatu nahi duzu Ematen den horietako zenbaki bat behin, baina ez dakizu zenbat aldiz Horren ondotik, izurriteak izango dute agian. Eta horrela egin a erabilera handia da bitartean sarrera erabiltzaileari galdetu kasuan. Eta loops bat erabili Kasu normalean denean begizta bat errepikatu nahi duzu Aldiz kopuru bereizi bat, agian ez duzu, nahiz eta Nondik kopurua ezagutu Oraingoz programan bildu. Beraz, adibidez, agian, programa bat behar duzu non zenbaki bat erabiltzaileari galdetuko duzu. Eta 100 sartu dute. Eta gero, zure begizta for will Kasu horretan 100 aldiz exekutatu. Edo agian sartu dute Programan 1.000 eta, ondoren, begizta exekutatu 1.000 aldiz. Aldiz kopuru zehatz bat da. Ez dute nahi, nahitaez, Badakizu zenbaki hori zer Une programan bildu da. Ez da, berriz, begizta bat gustatzen non infinitua izan zitekeen. Da zenbaki bat, hobeto esanda, hori besterik ez dakit. Oraintxe egin dut, nahiz planteaturiko horien erabilera kasu guztietan, Hori ere nahiko jakin behar duzu askoz egoera guztietan, guztiak trukatzen ditzakezu loops horietako hiru. A erabil dezakezu begizta non zuretzat bestela, berriz, begizta bat erabiliko luke. A erabil dezakezu begizta lekuan for do bat amaitzen da berriz, eta abar erabili nahi duzuna. Pixka bat zaila izan daiteke batzuetan, beraz, oro har, praktika ona da to erabilera tipikoa kasu bat atxikitzen. Erabili do begizta bitartean baduzu zerbait behin nahi, gutxienez. Erabili begizta bat egin nahi baduzu Zerbait aldiz kopuru zehatz bat. Azken finean, horregatik daude Hiru Errepikapen mota desberdinak. Beraz, erabili ahal izango dute dezakezu eskuineko testuinguruan. Baina trukatzen ditzakezu horiek nahi izanez gero. Bitartean loops eroso sentitzen baduzu eta beti, biribil berriz erabili nahi duzun. Zerbait da, egin ahal izango duzu, nahiz eta sintaktikoki apur bat izan liteke delikatua, non begizta bat asko errazagoa izango litzateke. Nire izena Doug Lloyd da eta hau da CS50.