1 00:00:07,370 --> 00:00:09,760 [Powered by Google Translate] TOMMY MACWILLIAM: Let loops buruzko eztabaida, komuna bat 2 00:00:09,760 --> 00:00:13,380 programazio eraikitzen CS50 zehar ikusi dugu. 3 00:00:13,380 --> 00:00:15,570 Loops erabiliko dugu bat egin nahi dugu 4 00:00:15,570 --> 00:00:17,200 zeregina behin baino gehiagotan. 5 00:00:17,200 --> 00:00:20,700 Esate baterako, "hi" 100 aldiz edo inprimatu inprimatu nahi dugu 6 00:00:20,700 --> 00:00:22,700 alfabetoaren letra guztiak. 7 00:00:22,700 --> 00:00:26,030 Kasu horietan, bai, gauza bat egin nahi dugu, behar dugu 8 00:00:26,030 --> 00:00:28,700 hainbat aldiz, inprimatu zerbait. 9 00:00:28,700 --> 00:00:31,970 Hala eta guztiz ere, zer inprimatzen dugu, aldi bakoitzean alda daiteke. 10 00:00:31,970 --> 00:00:34,530 Beraz, bakoitzean apur bat ezberdina den zerbait egin ahal izango dugu. 11 00:00:34,530 --> 00:00:37,820 iterazio, edo exekutatu bidez, begizta-. 12 00:00:37,820 --> 00:00:41,280 Hiru loops mota ezberdinak ikusi ahal izango dugu, C, berriz, 13 00:00:41,280 --> 00:00:44,700 loops, loops, eta ez loops bitartean. 14 00:00:44,700 --> 00:00:47,850 Loops hiru mota desberdinak horiek sintaxia arren, 15 00:00:47,850 --> 00:00:50,630 horien atzean ideia berdinak dira. 16 00:00:50,630 --> 00:00:53,930 Giltza kizkur barruan kode-bloke bat definitzen dugu, 17 00:00:53,930 --> 00:00:57,810 izeneko begizta-gorputza, nahi dugun exekutatu behar 18 00:00:57,810 --> 00:00:59,790 zenbat aldiz batzuk. 19 00:00:59,790 --> 00:01:03,370 Gorputzean erabilitako aldagaien balioak aldatuz, 20 00:01:03,370 --> 00:01:07,570 gure loop zerbait aldi bakoitzean ezberdina da exekutatu egin daitezke. 21 00:01:07,570 --> 00:01:10,750 Idazten dugu begizta edozein ere, behar dugu, erabakitzeko denean 22 00:01:10,750 --> 00:01:12,400 begizta itxi egingo da. 23 00:01:12,400 --> 00:01:15,650 Egin ez badugu, orduan gure trusty ordenagailua jarraitu 24 00:01:15,650 --> 00:01:19,040 begizta hori exekutatzeko programa hil arte. 25 00:01:19,040 --> 00:01:22,490 Scratch, errepikatu n aldiz erabili izan dugu 26 00:01:22,490 --> 00:01:24,600 blokeatu loop bat sortzeko. 27 00:01:24,600 --> 00:01:28,200 Bloke baten barruan pieza guztiak errepikatu 10 esan 28 00:01:28,200 --> 00:01:30,130 exekutatu beharko litzateke 10 aldiz. 29 00:01:30,130 --> 00:01:34,160 Eta gero, mugitu on genuke piezak begizta ondoren. 30 00:01:34,160 --> 00:01:38,140 Gure stop egoera, beraz, besterik gabe, bloke hau izan da 31 00:01:38,140 --> 00:01:39,830 exekutatu 10 aldiz. 32 00:01:39,830 --> 00:01:43,900 Hargatik birsortzeko C. ordena honetan Scratch bermatzeko 33 00:01:43,900 --> 00:01:46,920 errepikatu bloke barruan zuzenak direla exekutatu 34 00:01:46,920 --> 00:01:51,180 zehazki, 10 aldiz, Scratch bakoitzaren segimendua egiteko behar 35 00:01:51,180 --> 00:01:53,750 errepikatu blokearen exekuzioa. 36 00:01:53,750 --> 00:01:56,790 Segimendua egiteko, zenbat aldiz gure loop gorputza izan da 37 00:01:56,790 --> 00:02:00,360 exekutatu, dezagun aldagai bat sortu izeneko i. 38 00:02:00,360 --> 00:02:03,400 I hasiko dugu off zero, gure loop geroztik 39 00:02:03,400 --> 00:02:04,650 du oraindik ez dela exekutatu. 40 00:02:10,009 --> 00:02:10,949 Ados 41 00:02:10,949 --> 00:02:15,560 Orain, berriz, keyword erabiliko dugu off gure loop hasteko. 42 00:02:20,100 --> 00:02:24,180 Orain gure loop eten egingo da irudikatu behar dugu, baina 43 00:02:24,180 --> 00:02:26,730 dezagun utzi hau orain eta gero itzuli. 44 00:02:30,970 --> 00:02:32,150 Guztiak eskubidea. 45 00:02:32,150 --> 00:02:35,260 Gure begizta Inside, utzi mezu bat inprimatu, hala nola 46 00:02:35,260 --> 00:02:38,535 "Hi". Funtzioa printf erabili ahal izango ditugu. 47 00:02:48,400 --> 00:02:49,230 Guztiak eskubidea. 48 00:02:49,230 --> 00:02:54,210 Beraz, gaur egun loop gorputza iterazio bat grabatu du dugu 49 00:02:54,210 --> 00:02:55,750 exekutatu. 50 00:02:55,750 --> 00:03:00,320 1 gehitu, incrementing edo hori egin ahal izango dugu, gure counter 51 00:03:00,320 --> 00:03:01,740 aldakorra da, i. 52 00:03:01,740 --> 00:03:09,180 Horretarako, esan i plus 1, edo gehiago berdina da i 53 00:03:09,180 --> 00:03:16,520 besterik gabe, i plus plus. 54 00:03:16,520 --> 00:03:17,320 Great. 55 00:03:17,320 --> 00:03:21,810 Beraz, gaur egun ikusi ahal izango dugu aldi bakoitzean, gure begizta exekutatuko da, gure 56 00:03:21,810 --> 00:03:24,500 counter aldagai bat gora doa. 57 00:03:24,500 --> 00:03:29,410 Beraz, zehazki zenbat iterazio exekutatuko dugu, beraz, orain arte ezagutu dugun. 58 00:03:29,410 --> 00:03:31,630 Begizta-iterazio bat, gure balio ondoren 59 00:03:31,630 --> 00:03:34,270 1 i izango da. 60 00:03:34,270 --> 00:03:37,460 Bi iterazio egin ondoren, 2. Izan i. 61 00:03:37,460 --> 00:03:42,640 10 iterazio ondoren, 10 izan i. 62 00:03:42,640 --> 00:03:46,780 Beraz, nahi badugu begizta hau exekutatu zehazki 10 aldiz, eta gero 63 00:03:46,780 --> 00:03:49,240 hau da, gelditu nahi dugu. 64 00:03:49,240 --> 00:03:53,860 Beraz, begizta hau exekutatu behar da i baino gutxiago 10 bitartean nahi dugu, eta 65 00:03:53,860 --> 00:03:57,630 zehazki zer idatzi dugu, i bitartean 66 00:03:57,630 --> 00:04:02,450 10 baino gutxiago da. 67 00:04:02,450 --> 00:04:06,380 Baldintza hau besterik ez ditugun baldintza erabili behar izanez gero, itxura 68 00:04:06,380 --> 00:04:07,830 bestela, blokeak. 69 00:04:07,830 --> 00:04:11,690 Gure loop gorputza exekutatu ondoren, gure programa 70 00:04:11,690 --> 00:04:14,690 atzera jauzi egingo loops egoera. 71 00:04:14,690 --> 00:04:17,290 Baldintza egia bada, orduan gorputza 72 00:04:17,290 --> 00:04:18,990 loop exekutatu egingo da berriro. 73 00:04:18,990 --> 00:04:22,190 Egoera ez da Egia bada, orduan gure begizta ezin izango 74 00:04:22,190 --> 00:04:25,700 exekutatu jada eta, hurrengo kode lerro mugituko da 75 00:04:25,700 --> 00:04:27,876 gure loop azpian. 76 00:04:27,876 --> 00:04:28,550 Guztiak eskubidea. 77 00:04:28,550 --> 00:04:30,740 Beraz, dezagun mota bat bigarren begirada bat 78 00:04:30,740 --> 00:04:33,000 loop, loop for. 79 00:04:33,000 --> 00:04:37,310 Hurrengoa, berriz, keyword, parentesi artean, gauza bat izan genuen, 80 00:04:37,310 --> 00:04:39,840 egiazkoa izan behar duen baldintza 81 00:04:39,840 --> 00:04:42,010 loop gorputza exekutatu behar da. 82 00:04:42,010 --> 00:04:45,440 Direla esan nahi du gure counter aldagai sortzeko kanpo izan genuen 83 00:04:45,440 --> 00:04:48,760 loop eta gogoan izan Kontatzailea uneren batean 84 00:04:48,760 --> 00:04:51,050 Begizta barruan. 85 00:04:51,050 --> 00:04:54,320 Gure goiburua loop, beste alde batetik, hiru 86 00:04:54,320 --> 00:04:58,510 zatiak, eta horietako bakoitza puntu eta komaz bereizi egingo dira. 87 00:04:58,510 --> 00:05:01,950 Gure lehenengo hirugarren, counter edo helper deklaratu ahal izango dugu 88 00:05:01,950 --> 00:05:05,000 aldagai gure begizta batean erabili nahi genuke. 89 00:05:05,000 --> 00:05:07,350 Praktikan, hau oso lagungarria izan daiteke. 90 00:05:07,350 --> 00:05:10,590 Benetan ez dugu behar aldagaia, i, gure, berriz, ondoren 91 00:05:10,590 --> 00:05:13,650 begizta exekutatuko du, beraz, behar dugu ez aldarrikatu 92 00:05:13,650 --> 00:05:15,810 Begizta kanpo. 93 00:05:15,810 --> 00:05:19,080 Bigarren, hirugarren baldintza egia izan behar izango da 94 00:05:19,080 --> 00:05:21,850 gorputza exekutatu behar berriro, bezala 95 00:05:21,850 --> 00:05:23,330 gure bitartean loop. 96 00:05:23,330 --> 00:05:26,350 Gure azken hirugarren, laburpen bat egingo da exekutatu ahal izango dugu. 97 00:05:26,350 --> 00:05:30,270 begizta-iterazio bakoitzaren ondoren exekutatu da, beraz, ez dugu 98 00:05:30,270 --> 00:05:32,710 eraikitzeko loop gorputza. 99 00:05:32,710 --> 00:05:38,390 Hargatik idatzi loop zenbatzen 5 eta 1. 100 00:05:38,390 --> 00:05:41,790 For keyword hasiko gara. 101 00:05:41,790 --> 00:05:44,680 Counter aldagai bat sortu ahal izango ditugu, lehen aldiz, eta zaitugu 102 00:05:44,680 --> 00:05:47,840 5 ezarritako denbora honetan ari gara behera geroztik kontatuta, 103 00:05:47,840 --> 00:05:50,110 puntu eta koma ondoren. 104 00:05:50,110 --> 00:05:53,660 Next da gure egoera, eta itzuli dugu. 105 00:05:53,660 --> 00:05:57,540 Hirugarren, gure counter aldagaia decrement ondoren genuke 106 00:05:57,540 --> 00:05:59,620 begizta-iterazio bakoitzerako. 107 00:05:59,620 --> 00:06:04,740 Beraz, ez i plus plus esaten baino, i ken minus esan dugu. 108 00:06:04,740 --> 00:06:05,300 Guztiak eskubidea. 109 00:06:05,300 --> 00:06:09,490 Beraz, loop gorputza i ere exekutatu nahi dugu 110 00:06:09,490 --> 00:06:11,960 0 baino handiagoa. 111 00:06:11,960 --> 00:06:16,160 Loop-gorputza, dezagun inprimatu i balio. 112 00:06:16,160 --> 00:06:20,480 Horretarako, printf funtzioa erabili dugu,% d erabiliz 113 00:06:20,480 --> 00:06:21,650 biltegian. 114 00:06:21,650 --> 00:06:24,820 Gogoratu, biltegian hori ordeztuko dira 115 00:06:24,820 --> 00:06:27,040 i balioa. 116 00:06:27,040 --> 00:06:32,060 Azkenik, dezagun gure ondoren adierazpena loop bat gehitu. 117 00:06:32,060 --> 00:06:35,850 Begizta hau abiarazi dugu, hasteko off i 5, 118 00:06:35,850 --> 00:06:38,070 beraz, 5 inprimatuko dira. 119 00:06:38,070 --> 00:06:42,000 Behin lortzen 0 i, jarraipen-egoera, i 120 00:06:42,000 --> 00:06:44,450 0 baino handiagoa bada, ez da jada eutsi diote. 121 00:06:44,450 --> 00:06:47,330 Beraz, gure loop exekutatzean eten egingo da, eta ikusiko dugu 122 00:06:47,330 --> 00:06:49,850 begizta ondoren adierazpena. 123 00:06:49,850 --> 00:06:51,340 Beraz, dezagun kode hau exekutatu. 124 00:06:51,340 --> 00:06:52,700 Lehenik eta behin, konpilatu dugu 125 00:06:52,700 --> 00:06:56,460 egiteko countdown countdown.c. 126 00:06:56,460 --> 00:06:59,320 Orain, kode hau exekutatu ahal izango dugu. / Countdown. 127 00:07:02,340 --> 00:07:06,040 Loops, berriz, batean zein bestean, eta loops, gure jarraipen 128 00:07:06,040 --> 00:07:09,010 baldintza gorputza baino lehen egingo da egiaztatuko 129 00:07:09,010 --> 00:07:10,960 begizta exekutatzen. 130 00:07:10,960 --> 00:07:13,840 Horrek esan nahi du, gure egoera ez bada, hasieran 131 00:07:13,840 --> 00:07:18,100 egia da, orduan gure loop gorputza ez da inoiz exekutatu. 132 00:07:18,100 --> 00:07:22,060 Beraz, batzuetan, erabilgarria da egoera egiaztatu ondoren 133 00:07:22,060 --> 00:07:25,150 Begizta gorputza ez baino. 134 00:07:25,150 --> 00:07:28,270 Hargatik loop bat idatzi zenbaki bat erabiltzaileari galdetuko 135 00:07:28,270 --> 00:07:30,990 zenbaki positibo bat da, hornitu arte. 136 00:07:30,990 --> 00:07:34,740 Erabiltzaileak input zenbaki negatiboa bada, eskatu nahi dugu 137 00:07:34,740 --> 00:07:36,260 beste zenbaki bat. 138 00:07:36,260 --> 00:07:38,940 Beraz, nahi gonbita barruan egon beharko dugu 139 00:07:38,940 --> 00:07:41,050 begizta off gorputza. 140 00:07:41,050 --> 00:07:44,730 Hala eta guztiz ere, begizta da lehen aldiz exekutatu, erabiltzaileak 141 00:07:44,730 --> 00:07:46,750 ez du eman oraindik zenbakia. 142 00:07:46,750 --> 00:07:49,640 Beraz, ez du zentzurik egiaztatu behar da, positiboa bada. 143 00:07:49,640 --> 00:07:54,020 Horren ordez, gorputzaren ondoren zenbaki egiaztatu nahi dugu 144 00:07:54,020 --> 00:07:55,720 begizta exekutatuko da. 145 00:07:55,720 --> 00:08:00,310 Hau egin ahal izango dugu, begizta bitartean do. 146 00:08:00,310 --> 00:08:03,560 Lehenik eta behin, aldagai bat sortu dugu, n, eduki sakatuta 147 00:08:03,560 --> 00:08:05,230 erabiltzailearen sarrera. 148 00:08:05,230 --> 00:08:09,960 Orain keyword do, giltza kizkur erabili dugu 149 00:08:09,960 --> 00:08:12,930 hasiko da gure loop gorputza. 150 00:08:12,930 --> 00:08:16,230 Gorputzean, zenbaki bat erabiltzaileari galdetuko ahal izango dugu 151 00:08:16,230 --> 00:08:18,480 GetInt funtzioa. 152 00:08:18,480 --> 00:08:23,230 Orain, begizta honen gorputza berriro exekutatu nahi dugu bada 153 00:08:23,230 --> 00:08:28,370 Erabiltzaile idatzitako zenbaki negatiboa izan, eta, beraz, esan dugu n bitartean 154 00:08:28,370 --> 00:08:30,420 0 baino gutxiago da. 155 00:08:30,420 --> 00:08:33,140 Ohartu puntu eta koma hemen, berriz, adierazpen ondoren. 156 00:08:38,909 --> 00:08:40,679 Beraz, dezagun kode hau exekutatu. 157 00:08:40,679 --> 00:08:44,780 Lehenik eta behin, hau egiteko positiboa konpilatu dugu. 158 00:08:44,780 --> 00:08:49,340 Orain programa exekutatu ahal izango dugu. / Positiboa. 159 00:08:49,340 --> 00:08:52,660 Ematen diogu programa hau zenbaki negatiboa bada, negatiboa bezala 160 00:08:52,660 --> 00:08:56,560 4, dugu galdetuko zaizu berriro geroztik, zenbaki bat 161 00:08:56,560 --> 00:09:00,490 gure do egoera loop egia zen bitartean. 162 00:09:00,490 --> 00:09:04,690 Behin zenbaki positibo bat eman dugu, 8 bezala, eta gero 163 00:09:04,690 --> 00:09:08,560 gure do egoera loop ez da longer bitartean izango da egia. 164 00:09:08,560 --> 00:09:12,080 Beraz, ez dira begizta exekutatu berriro. 165 00:09:12,080 --> 00:09:15,290 Eta hori da loops hiru mota C. erabili dugu 166 00:09:15,290 --> 00:09:18,840 Nire izena Tommy da, eta hau da CS50.