1 00:00:06,650 --> 00:00:09,390 [Powered by Google Translate] JOE MCCORMICK: Beraz, orain aldagai buruz hitz egin dugu. 2 00:00:09,390 --> 00:00:13,270 Informatika aldagaiak balio bat gordetzeko modu bat dira. 3 00:00:13,270 --> 00:00:14,980 Orain, zer eta nola gordetzen duen 4 00:00:14,980 --> 00:00:16,210 balioa ez da oso garrantzitsua da. 5 00:00:16,210 --> 00:00:19,780 Hitza da, balio bat eduki ahal izango dugu, ezin izan 6 00:00:19,780 --> 00:00:21,170 Kate gisa gordetzen dira. 7 00:00:21,170 --> 00:00:23,160 Edo karaktere bat da, zerbait izan dugu, 8 00:00:23,160 --> 00:00:24,110 gutun bezala. 9 00:00:24,110 --> 00:00:26,420 Eta hori char bezala gorde beharko litzateke. 10 00:00:26,420 --> 00:00:29,660 Zenbaki bat izan dugu, bat edo 12 bezala, hori litzateke 11 00:00:29,660 --> 00:00:32,310 zenbaki oso bat edo int bat gordetzen da. 12 00:00:32,310 --> 00:00:35,940 Ondoren, mugikor bat bezala gauza ezberdinak, ezin diren gordetzeko dugu 13 00:00:35,940 --> 00:00:41,700 1.01 edo 111,13 bezalako gauzak. 14 00:00:41,700 --> 00:00:43,530 Balio hauek beti deitzen mutable. 15 00:00:43,530 --> 00:00:46,490 Esanahia gordetako zenbaki bat bada, zenbaki oso bat 16 00:00:46,490 --> 00:00:49,490 programa bat beranduago goiko aldean, zenbaki hori aldatzeko izan dugu 17 00:00:49,490 --> 00:00:51,460 hiru edo zazpi izango da. 18 00:00:51,460 --> 00:00:53,890 Gaur egun, tokiko aldagai bat da, zer normalean duzu topo, 19 00:00:53,890 --> 00:00:55,250 funtzio bat exekutatzen ari da. 20 00:00:55,250 --> 00:00:57,260 Hargatik esaten Oraindik zure eginkizun nagusia barruan. 21 00:00:57,260 --> 00:00:59,910 Eta izeneko aldakorreko num sortu nahi duzun. 22 00:00:59,910 --> 00:01:01,240 Eta zenbaki oso bat gorde dugu bertan. 23 00:01:01,240 --> 00:01:04,680 Beraz, int num = 3 antzeko zerbait esan dezakegu. 24 00:01:04,680 --> 00:01:05,319 Orain, ez duzu joan. 25 00:01:05,319 --> 00:01:06,830 Tokiko aldagai bat behar duzu. 26 00:01:06,830 --> 00:01:09,670 Orain, aldagai hau aldatu daiteke geroago nagusi 27 00:01:09,670 --> 00:01:13,700 funtzioa, num antzeko zerbait esaten = 6 edo num = 7. 28 00:01:13,700 --> 00:01:15,940 Baina zure aldagaia barruan itsasten da 29 00:01:15,940 --> 00:01:18,320 funtzio hori esparrua. 30 00:01:18,320 --> 00:01:21,690 Eta esparrua normalean kizkur giltza batekin hasten da 31 00:01:21,690 --> 00:01:23,990 nagusia eta hasiera-hasieratik, kizkur duen giltza batekin amaitzen da 32 00:01:23,990 --> 00:01:26,230 ixten funtzio nagusia. 33 00:01:26,230 --> 00:01:29,610 Eta tokiko aldagai hau da esparrua horren barruan gelditutakoak. 34 00:01:29,610 --> 00:01:32,200 Beraz, jada ez da funtzioa beste, 35 00:01:32,200 --> 00:01:33,950 funtzio nagusia kanpo. 36 00:01:33,950 --> 00:01:36,230 Eta behin, funtzio nagusia bere exekuzioa eta bukatzen 37 00:01:36,230 --> 00:01:40,460 itzuliko da, hau da, tokian tokiko aldakorra izeneko num desagertuko da. 38 00:01:40,460 --> 00:01:42,760 Beraz, aldagai lokalak kontrastea, zerbait behar dugu 39 00:01:42,760 --> 00:01:43,970 izeneko global aldagai. 40 00:01:43,970 --> 00:01:46,890 Orain, aldagai global bat da goiko deklaratu 41 00:01:46,890 --> 00:01:49,860 irits daiteke programa eta programa edozein lekutan. 42 00:01:49,860 --> 00:01:51,805 Hargatik esaten aldagai global bat deklaratu goiko 43 00:01:51,805 --> 00:01:53,200 programa, izeneko test. 44 00:01:53,200 --> 00:01:54,990 Orain, aldagai hau atzitu ahal izango da 45 00:01:54,990 --> 00:01:56,000 programa edozein lekutan. 46 00:01:56,000 --> 00:01:58,230 Sar dezakezu zure eginkizun nagusia edo funtzio bat 47 00:01:58,230 --> 00:01:59,300 horren azpitik. 48 00:01:59,300 --> 00:02:02,210 Baina duzu inoiz saiatu bada bat tokiko aldagai bat sortzeko 49 00:02:02,210 --> 00:02:04,170 funtzio hauek, izen bereko 50 00:02:04,170 --> 00:02:05,880 proba, ez dago gatazka bat da. 51 00:02:05,880 --> 00:02:07,720 Ezagutzen ez duzulako zein aldagai erabili nahi duzun. 52 00:02:07,720 --> 00:02:09,039 Global test erabili nahi duzun, 53 00:02:09,039 --> 00:02:10,910 top programa izendatu? 54 00:02:10,910 --> 00:02:12,495 Edo ez, tokiko aldakorreko proba erabili nahi duzun 55 00:02:12,495 --> 00:02:14,920 funtzio horren barruan sortu saiatzen ari zaren? 56 00:02:14,920 --> 00:02:16,700 Orain, zergatik ez dugu nahi da 57 00:02:16,700 --> 00:02:18,960 besterik ez erabili aldagai global libreki. 58 00:02:18,960 --> 00:02:21,570 Zerbait dago izen-espazioa deitzen cluttering da. 59 00:02:21,570 --> 00:02:23,940 Nahiz eta ez baduzu esan nahi, halabeharrez, bat sortu dezakezu 60 00:02:23,940 --> 00:02:26,270 tokiko aldagaia, programa geroago, gauza bera 61 00:02:26,270 --> 00:02:28,140 aldagai global gisa izena. 62 00:02:28,140 --> 00:02:30,130 Eta horrek ez du pose arazo handi bat ari zaren lan 63 00:02:30,130 --> 00:02:33,120 txiki 10, 20, 30-line programak. 64 00:02:33,120 --> 00:02:35,520 Duzu kode lerro milaka ondoren, ez duzu 65 00:02:35,520 --> 00:02:38,740 gogoratzen zehazki zer aldagai global gordetzen duzu. 66 00:02:38,740 --> 00:02:41,000 Beraz, gauza bat, kontuan hartu behar dira tokiko eta global erabiliz 67 00:02:41,000 --> 00:02:43,570 aldagai bere esparrua pentsatzen. 68 00:02:43,570 --> 00:02:47,270 Orain, eremua, non aldagai horiek erabili ahal aipatzen 69 00:02:47,270 --> 00:02:48,500 programa. 70 00:02:48,500 --> 00:02:51,080 Beraz, aldagai bat global du deitzen global esparrua, 71 00:02:51,080 --> 00:02:53,820 erabili ahal izango dira programa edozein lekutan zentzua. 72 00:02:53,820 --> 00:02:56,860 Behin aldagaia hasieratu, erabili ahal 73 00:02:56,860 --> 00:03:00,530 funtzioa edozein funtzio nagusia ote den edo 74 00:03:00,530 --> 00:03:03,780 izeneko funtzioa, 10 eta funtzioak behera, foo10. 75 00:03:03,780 --> 00:03:05,160 Ez du axola non erabiltzen duzun. 76 00:03:05,160 --> 00:03:07,490 Baina tokiko aldagai bat berariazko esparrua du. 77 00:03:07,490 --> 00:03:09,800 Eta hori tokiko aldagai esparrua zehaztuko da 78 00:03:09,800 --> 00:03:11,030 non da hasieratu. 79 00:03:11,030 --> 00:03:13,680 Orain, esparrua da normalean inaugurazio zehazten 80 00:03:13,680 --> 00:03:16,540 funtzioaren aldagaia giltza dela deklaratu arte, 81 00:03:16,540 --> 00:03:18,300 funtzio hori giltza itxi. 82 00:03:18,300 --> 00:03:19,730 Hargatik esaten Oraindik funtzio nagusia. 83 00:03:19,730 --> 00:03:21,410 Eta aldagai bat sortuko duzu. 84 00:03:21,410 --> 00:03:23,110 Baina orain, funtzio nagusia honen barruan, beste deitzen dugun 85 00:03:23,110 --> 00:03:24,640 funtziona foo. 86 00:03:24,640 --> 00:03:27,070 Funtzio foo, ezin diegu aldagaia dugu 87 00:03:27,070 --> 00:03:29,940 sortu da funtzio nagusia ez delako esparrua. 88 00:03:29,940 --> 00:03:33,410 Hori aldagai soilik esparrua da, eta funtzio nagusia barruan. 89 00:03:33,410 --> 00:03:36,540 Beraz, erabili izan dugu aurrerago, funtzio nagusia barruan, baina 90 00:03:36,540 --> 00:03:40,650 ez da funtzio bat funtzio nagusia deitu barruan. 91 00:03:40,650 --> 00:03:43,390 Beraz, pila eta zeure bezala, aldagai global 92 00:03:43,390 --> 00:03:45,580 memoria zati jakin batean gordetzen dira. 93 00:03:45,580 --> 00:03:47,665 Orain, memoria zati hau sistema araberakoa 94 00:03:47,665 --> 00:03:48,490 erabiltzen ari zaren. 95 00:03:48,490 --> 00:03:50,840 Aldagai global dute bi lekuak Oraindik dutela 96 00:03:50,840 --> 00:03:54,570 gordetako, hasieratu aldagai global bat, hala nola balitz bezala 97 00:03:54,570 --> 00:03:58,130 int test = 5, zure programa goialdean izendatu zuten. 98 00:03:58,130 --> 00:04:01,010 Eta beste aldagai global unitialized da, 99 00:04:01,010 --> 00:04:03,190 besterik ez baduzu, esan, int test, zure programa goialdean eta 100 00:04:03,190 --> 00:04:05,040 zen test aldagaiak ezartzeko 101 00:04:05,040 --> 00:04:07,626 beranduago, programa. 102 00:04:07,626 --> 00:04:10,140 Beraz, zerbait izeneko # define buruz hitz egingo dut, 103 00:04:10,140 --> 00:04:13,380 sinbolikoa izen bat konstante bat emateko modu bat da. 104 00:04:13,380 --> 00:04:17,420 Eta hemen, C programa kalkulatzen duen adibide bat dugu 105 00:04:17,420 --> 00:04:19,470 zirkulu baten eremuan. 106 00:04:19,470 --> 00:04:21,690 Eta programa goialdean dioen zerbait egin dugu. 107 00:04:21,690 --> 00:04:25,830 # Define pi 3,14159. 108 00:04:25,830 --> 00:04:29,330 # Define global aldagai bat ez da teknikoki sortu. 109 00:04:29,330 --> 00:04:31,590 Izan ere, Konpilatzailearen preprocessor kontatzen du 110 00:04:31,590 --> 00:04:34,350 aurkitu eta ordeztu pi instantzia guztiak 111 00:04:34,350 --> 00:04:37,540 Konpilatzean aurretik 3,14159. 112 00:04:37,540 --> 00:04:39,830 Hala eta guztiz ere, geratuko teknika erabilgarria bihurtzen da 113 00:04:39,830 --> 00:04:41,510 konstanteak, programa osoan zehar erabiltzeko. 114 00:04:41,510 --> 00:04:44,540 Orain, area funtzioa begira, mugikor bat hartzen da 115 00:04:44,540 --> 00:04:48,150 rad, eta, besterik gabe, zirkulu baten azalera itzultzen duten 116 00:04:48,150 --> 00:04:52,920 erradioak edo pi r karratu edo pi aldiz rad aldiz rad. 117 00:04:52,920 --> 00:04:56,040 Eta hau da, non # definitzeko funtsezko papera du. 118 00:04:56,040 --> 00:04:59,270 Konpilatzailea izango dira, funtsean delako ordezkatu pi hori 119 00:04:59,270 --> 00:05:02,780 kopurua 3,14159 ikurra. 120 00:05:02,780 --> 00:05:05,560 Eta, beraz, ez dugu hori idatzi eta gehiagoko berriz. 121 00:05:05,560 --> 00:05:08,900 Eta geroago, erabaki dugu pi digituak gehiago erabili nahi badituzu, dezagun 122 00:05:08,900 --> 00:05:12,800 esan 3.1415926, izan dugu gehitu goiko 123 00:05:12,800 --> 00:05:14,330 programa eta ez luke aldatzeko, 124 00:05:14,330 --> 00:05:16,160 beranduago, programa. 125 00:05:16,160 --> 00:05:18,240 # Define erabilera ona da. 126 00:05:18,240 --> 00:05:20,520 Ez dugu nahi pi aldagai global gisa gordetzeko delako 127 00:05:20,520 --> 00:05:21,780 geroago alda dezake programa. 128 00:05:21,780 --> 00:05:23,430 Eta pi ez aldatzeko dakigu. 129 00:05:23,430 --> 00:05:25,650 Konstante bat da. 130 00:05:25,650 --> 00:05:28,120 Beraz, hau wraps sortu gure aldagai global gaia. 131 00:05:28,120 --> 00:05:29,930 Gaur egun, beraz, toki eta arteko aldea buruz hitz egin dugu 132 00:05:29,930 --> 00:05:32,490 global aldagai; horiek erabili ahal izateko, haien arabera 133 00:05:32,490 --> 00:05:36,660 esparrua, eta zergatik ez global aldagai hau erabili ahal izango da 134 00:05:36,660 --> 00:05:39,360 delako izena espazioa cluttering. 135 00:05:39,360 --> 00:05:40,270 Joe McCormick naiz. 136 00:05:40,270 --> 00:05:42,290 Eta hau CS50 da.