1 00:00:00,000 --> 00:00:12,510 2 00:00:12,510 --> 00:00:13,870 >> Rob: Në rregull. 3 00:00:13,870 --> 00:00:16,770 Mirëpritur në seksionin e parë. 4 00:00:16,770 --> 00:00:17,480 Unë jam Rob. 5 00:00:17,480 --> 00:00:18,806 >> Joseph: Unë jam Jozefi. 6 00:00:18,806 --> 00:00:21,540 >> Rob: Pra, ne do të drejtë pikiatë in 7 00:00:21,540 --> 00:00:23,420 Gjëja e parë për të folur për është Appliance. 8 00:00:23,420 --> 00:00:27,150 Kështu që shpresojmë se shumica prej jush kanë shkarkuar atë tashmë. 9 00:00:27,150 --> 00:00:37,180 Por ju mund të shihni udhëzimet në cs50.net/appliance. 10 00:00:37,180 --> 00:00:38,430 Oh zot, tani unë jam vetë-vetëdijshëm. 11 00:00:38,430 --> 00:00:44,590 12 00:00:44,590 --> 00:00:45,430 Unë ende të dëgjojë atë. 13 00:00:45,430 --> 00:00:47,232 >> JOSEPH: Wow, kjo tingëllon si është e çorientuar. 14 00:00:47,232 --> 00:00:52,460 >> Rob: Pra, disa njerëz janë të pasur çështje me të, kështu që mos prisni deri 15 00:00:52,460 --> 00:00:54,940 minutën e fundit të problemit të vendosur për provoni dhe zgjidhur Appliance dhe 16 00:00:54,940 --> 00:00:56,320 gjetur se ajo nuk është duke punuar. 17 00:00:56,320 --> 00:00:59,010 >> JOSEPH: Dhe në qoftë se diçka po nuk punon dhe keni nevojë për ndihmë, ju mund të shkoni në 18 00:00:59,010 --> 00:01:03,390 cs50.net/discussion ku ne të ketë një forum ku ju 19 00:01:03,390 --> 00:01:04,110 mund të postoni pyetjet tuaja. 20 00:01:04,110 --> 00:01:06,655 Dhe ne do të merrni për ta më në fund. 21 00:01:06,655 --> 00:01:07,490 >> Rob: Në rregull. 22 00:01:07,490 --> 00:01:12,180 Pra, kjo është ajo që Appliance duket si. 23 00:01:12,180 --> 00:01:15,480 Përsëri, kjo është vetëm një krejtësisht të veçantë sistemit operativ drejtimin brenda 24 00:01:15,480 --> 00:01:19,440 çfarëdo sistemi operativ që të vrapojnë në laptop. 25 00:01:19,440 --> 00:01:24,450 Dhe gjërat kryesore që ju do të të përdorur janë të gedit. 26 00:01:24,450 --> 00:01:28,050 Kështu që shpresojmë se kjo tashmë ka të bëhet një vend të njohur. 27 00:01:28,050 --> 00:01:29,470 Terminal. 28 00:01:29,470 --> 00:01:31,890 >> Dhe ju gjithashtu mund të kandidojë Chrome brenda Appliance. 29 00:01:31,890 --> 00:01:33,860 Ka pasur disa njerëz të cilët kanë raportuar internet 30 00:01:33,860 --> 00:01:35,390 nuk punojnë në Appliance. 31 00:01:35,390 --> 00:01:38,090 Dhe disa prej tyre kanë marrë vetëm se nuk është menduar të jetë 32 00:01:38,090 --> 00:01:39,190 internet në Appliance. 33 00:01:39,190 --> 00:01:40,750 Por po, nuk është menduar të jetë e internetit. 34 00:01:40,750 --> 00:01:44,000 35 00:01:44,000 --> 00:01:46,410 >> Unë do të them atë të drejtë tani, por kjo nuk ka vërtetë do të thotë asgjë. 36 00:01:46,410 --> 00:01:50,680 Në qoftë se interneti nuk është duke punuar, kjo është ajo që ju kanë tendencë që të duhet 37 00:01:50,680 --> 00:01:52,180 për të kandiduar për të rregulluar atë. 38 00:01:52,180 --> 00:01:55,602 Nëse keni çështje të internetit, nuk e bëjnë mos harroni atë, vetëm pas atë në 39 00:01:55,602 --> 00:01:57,560 Diskutoni, dhe ne do të themi, të drejtuar këtë. 40 00:01:57,560 --> 00:02:00,420 Por në internet duhet të jetë duke punuar. 41 00:02:00,420 --> 00:02:06,650 >> Pra, e vetmja gjë tjetër - po, asgjë nuk tjetër është me të vërtetë e rëndësishme. 42 00:02:06,650 --> 00:02:08,979 Por unë vetëm të kërkuar për të vënë në dukje se - 43 00:02:08,979 --> 00:02:13,290 shohin në këtë këndin e poshtëm të djathtë. 44 00:02:13,290 --> 00:02:16,530 Pra, secili i Pajisje tuaja duhet kanë një adresë IP. 45 00:02:16,530 --> 00:02:22,350 Dhe më pas në semestrin, kjo IP Adresa e do të bëhen më të rëndësishme kur 46 00:02:22,350 --> 00:02:27,230 ju jeni duke punuar në p-set e internetit, sepse ju do keni të drejtë të hyni në 47 00:02:27,230 --> 00:02:32,310 Faqja e internetit ju jeni duke punuar në nga tuaj Chrome lokal duke përdorur këtë adresë IP. 48 00:02:32,310 --> 00:02:35,400 >> Por ajo që unë si për të përdorur adresën IP për - dhe ju nuk keni për të bërë këtë, unë 49 00:02:35,400 --> 00:02:37,460 vetëm dua të theksoj atë - 50 00:02:37,460 --> 00:02:39,540 është këtu. 51 00:02:39,540 --> 00:02:42,910 Pra, kjo është një dritare terminali në Mac im, kjo nuk është në 52 00:02:42,910 --> 00:02:44,580 Appliance në të gjitha. 53 00:02:44,580 --> 00:02:47,190 Dhe ju mund të kërkoni atë kjo komandë ka. 54 00:02:47,190 --> 00:02:51,855 Por unë jam duke shkuar për SSH direkt për Appliance tim. 55 00:02:51,855 --> 00:02:53,410 Unë nuk e di se çfarë IP është. 56 00:02:53,410 --> 00:02:54,300 >> JOSEPH: 168 - 57 00:02:54,300 --> 00:02:56,080 >> 168.224.1.0. 58 00:02:56,080 --> 00:02:59,950 >> Rob: Pra, një herë unë jam bërë me këtë, hyni brenda 59 00:02:59,950 --> 00:03:05,450 Tani, në thelb, kjo është identike me një dritare terminali në Appliance tim. 60 00:03:05,450 --> 00:03:10,280 Kështu që unë shumë e shumë nuk ka punuar në të vërtetë nga brenda pajisjes vetë. 61 00:03:10,280 --> 00:03:12,550 Unë vetëm gjithmonë e kanë atë drejtimin në sfond minimizohet 62 00:03:12,550 --> 00:03:15,890 dhe SSHed në të. 63 00:03:15,890 --> 00:03:24,270 >> Çështja me këtë është që ju nuk do të jetë në gjendje të përdorin gedit lehtë 64 00:03:24,270 --> 00:03:25,600 direkt nga kjo. 65 00:03:25,600 --> 00:03:31,500 Por në qoftë se ju doni të jetë një ftohtë i vërtetë hacker, atëherë ju duhet të merrni për të përdorur një 66 00:03:31,500 --> 00:03:34,220 Komanda linjë text editor anyway. 67 00:03:34,220 --> 00:03:39,620 Pra Vim dhe Emacs dhe Nano, të gjitha këto janë alternativa të ndryshme. 68 00:03:39,620 --> 00:03:41,560 Nano ka tendencë të jetë më e lehtë. 69 00:03:41,560 --> 00:03:45,006 Dhe unë mendoj se nuk ka sintakse theksuar. 70 00:03:45,006 --> 00:03:47,620 Oh, jo, kjo tërësisht e bën. 71 00:03:47,620 --> 00:03:49,870 Kështu që ju mund të përdorni Nanon, sepse se një është goxha e lehtë. 72 00:03:49,870 --> 00:03:52,000 >> Ju shikoni gjitha urdhërimet e mia në fund. 73 00:03:52,000 --> 00:03:54,750 Ky simbol pak karrota. 74 00:03:54,750 --> 00:03:57,620 Nëse ju nuk e keni parë atë më parë, ju do të ndoshta shohin atë shumë tani. 75 00:03:57,620 --> 00:04:02,350 Kjo zakonisht do të thotë karrota kontrollit, si poshtë-majtë të tastierës tuaj 76 00:04:02,350 --> 00:04:04,130 karakter të kontrollit. 77 00:04:04,130 --> 00:04:07,260 Kështu që këtu është e thënë mua këtu - 78 00:04:07,260 --> 00:04:08,710 oh, nuk është prerë në qoftë se unë të zoom in 79 00:04:08,710 --> 00:04:11,040 Pra Kontrolli, X është se si Unë jam duke shkuar për të dalë. 80 00:04:11,040 --> 00:04:14,710 Dhe ai thotë se unë mund të goditur Y për Po, për ruajtje, N për No 81 00:04:14,710 --> 00:04:17,190 Pra, kjo është Nano. 82 00:04:17,190 --> 00:04:22,860 >> Vim dhe Emacs kanë tendencë të jenë pak më të komplikuar dhe e madhe. 83 00:04:22,860 --> 00:04:28,840 Por ju mund të merrni përdorur për të, dhe pastaj ju do të love it. 84 00:04:28,840 --> 00:04:30,590 Pra, kjo është ajo. 85 00:04:30,590 --> 00:04:31,720 >> Joseph: Nuk ka nevojë për të bërë këtë. 86 00:04:31,720 --> 00:04:31,840 >> Rob: Po. 87 00:04:31,840 --> 00:04:37,510 Ju jeni të lirë për të përdorur gedit për Pjesa e mbetur e semestrit. 88 00:04:37,510 --> 00:04:40,630 Kështu që çdo pyetje aplikim të lidhura? 89 00:04:40,630 --> 00:04:42,820 A mos keni ndonjë mendime se çfarë tjetër duhet të flitet për 90 00:04:42,820 --> 00:04:43,610 aplikim? 91 00:04:43,610 --> 00:04:43,996 Po. 92 00:04:43,996 --> 00:04:47,720 >> Gjuha 1: Kur ju SSHed në tuaj gjë, ishte Crimson fjalëkalimin? 93 00:04:47,720 --> 00:04:48,390 >> Rob: Po. 94 00:04:48,390 --> 00:04:50,170 Fjalëkalimin për shumë e shumë çdo gjë në Appliance është duke shkuar 95 00:04:50,170 --> 00:04:52,473 të jenë Crimson. 96 00:04:52,473 --> 00:04:56,517 >> Gjuha 2: Install si një IDE të vërtetë për aplikim, do të punojë? 97 00:04:56,517 --> 00:04:59,200 98 00:04:59,200 --> 00:05:07,290 >> Rob: I imagjinoni Eclipse nuk kanë një Version Fedora, në të cilin rast, po, 99 00:05:07,290 --> 00:05:08,420 ju mund ta bëni këtë. 100 00:05:08,420 --> 00:05:10,875 Kjo ndoshta nuk është me të vërtetë ia vlen. 101 00:05:10,875 --> 00:05:11,742 >> Gjuha 2: OK. 102 00:05:11,742 --> 00:05:15,924 Pra, kjo është ndoshta më e lehtë në qoftë se unë të kërkuar për të përdorni Eclipse, vetëm përdorni amtare dhe 103 00:05:15,924 --> 00:05:17,646 pastaj ngarkoni në - 104 00:05:17,646 --> 00:05:21,090 >> Rob: Oh, kjo është gjithashtu ndoshta më e lehtë. 105 00:05:21,090 --> 00:05:24,046 Por ju mund të merrni atë të punës brenda Appliance. 106 00:05:24,046 --> 00:05:27,740 >> JOSEPH: Dhe për kamera, pyetja ishte, mund të instaloni një tjetër 107 00:05:27,740 --> 00:05:29,490 IDE brenda Appliance? 108 00:05:29,490 --> 00:05:31,520 >> Rob: Eclipse duke qenë një shembull i një IDE. 109 00:05:31,520 --> 00:05:34,800 110 00:05:34,800 --> 00:05:36,050 Çdo pyetje të tjera Appliance? 111 00:05:36,050 --> 00:05:38,250 112 00:05:38,250 --> 00:05:38,680 Dakord. 113 00:05:38,680 --> 00:05:44,920 >> Pra, ne tani do të lëvizin për në rreshtin e komandave ndërfaqe të lidhura gjërat, kështu CLI. 114 00:05:44,920 --> 00:05:47,990 Dhe përsëri, unë jam vetëm duke shkuar për të punuar në këtu, sepse kjo është identike me 115 00:05:47,990 --> 00:05:52,780 duke punuar në një dritare terminali brenda Appliance. 116 00:05:52,780 --> 00:05:54,160 Si është kjo font kërkoni? 117 00:05:54,160 --> 00:05:55,970 A është kjo mjaft e madhe? 118 00:05:55,970 --> 00:05:57,000 Dakord. 119 00:05:57,000 --> 00:06:02,480 >> Pra, ka shumë të komandave që ju duhet të mësohen mjaft për të 120 00:06:02,480 --> 00:06:04,490 gjatë gjithë semestrit. 121 00:06:04,490 --> 00:06:09,480 Të dy e madhe për të lundrimit janë ls, lista fotografi në këtë directory, dhe 122 00:06:09,480 --> 00:06:11,380 cd, kështu që të ndryshojë directory. 123 00:06:11,380 --> 00:06:18,390 Kështu që unë mund të ndryshojë për desktop dhe pastaj një model shumë i zakonshëm është një cd të 124 00:06:18,390 --> 00:06:22,550 directory dhe menjëherë ls Çfarë është në directory. 125 00:06:22,550 --> 00:06:25,540 >> Njerëzit gjithashtu nganjëherë nuk e kuptojnë se përfundimi Tab është një gjë. 126 00:06:25,540 --> 00:06:28,370 Cd Pra si, VH, dhe pastaj i goditi Tab. 127 00:06:28,370 --> 00:06:30,790 Unë pothuajse asnjëherë lloji nga të gjithë gjë. 128 00:06:30,790 --> 00:06:32,920 Dhe pastaj, nëse unë të mbajtur goditur Tab përsëri, ajo do të automatikisht 129 00:06:32,920 --> 00:06:33,670 fillojnë listë për mua. 130 00:06:33,670 --> 00:06:37,000 Kështu që unë mund të cd vhosts, të presë lokale. 131 00:06:37,000 --> 00:06:39,880 Dhe kjo është vetëm do të - 132 00:06:39,880 --> 00:06:43,380 në rast se ju nuk e keni dëgjuar termin para, Lista është vetëm një tjetër fjalë 133 00:06:43,380 --> 00:06:45,170 për dosje. 134 00:06:45,170 --> 00:06:49,930 Deri tani, nëse ju shihni - 135 00:06:49,930 --> 00:06:51,810 le të sjellë që në krye. 136 00:06:51,810 --> 00:06:55,380 >> Deri tani, nëse ju shikoni në kllapa, ju shih tildë pak, çaj, vhost, 137 00:06:55,380 --> 00:06:56,810 çaj, host lokale. 138 00:06:56,810 --> 00:07:00,040 Pra tilde, që i referohet të directory time në shtëpi. 139 00:07:00,040 --> 00:07:03,090 Kjo është një directory të jeni në kur ju SSH in 140 00:07:03,090 --> 00:07:05,660 Është directory ju jeni në kur ju të hapur një terminal. 141 00:07:05,660 --> 00:07:08,650 Kjo është ajo ku ju filloni. 142 00:07:08,650 --> 00:07:13,110 Dhe kështu që unë jam brenda directory time në shtëpi, dhe unë jam në brendësi të vhost 143 00:07:13,110 --> 00:07:14,475 Drejtoria brenda directory time në shtëpi. 144 00:07:14,475 --> 00:07:19,670 Dhe atëherë unë jam në brendësi të lokale presë directory brenda që. 145 00:07:19,670 --> 00:07:23,740 >> Kështu që disa gjëra të tjera të dobishme me cd - 146 00:07:23,740 --> 00:07:29,220 ose mirë, në përgjithësi, kështu dot gjithmonë referohet dosjen aktuale. 147 00:07:29,220 --> 00:07:31,130 Cd, dot është një komandë shumë e pa vlerë. 148 00:07:31,130 --> 00:07:35,150 Por kjo është në ndryshim të Lista aktuale. 149 00:07:35,150 --> 00:07:38,230 Një një më shumë i dobishëm në aspektin e cd eshte dot, dot, e cila është 150 00:07:38,230 --> 00:07:40,220 thjesht shkoni deri një directory. 151 00:07:40,220 --> 00:07:43,360 >> Dhe vini re se këto - 152 00:07:43,360 --> 00:07:48,610 Unë dua të them emërtimet, por këto simbolet, dot, dhe dot, dot, ato punë 153 00:07:48,610 --> 00:07:51,740 për shumë e shumë çdo komandë ju jeni do të jetë duke menduar për drejtimin. 154 00:07:51,740 --> 00:07:55,370 Pra, si cd është ndoshta ku ju do të jetë duke përdorur më, por këto nuk janë 155 00:07:55,370 --> 00:07:56,780 gjëra që vetëm cd kupton. 156 00:07:56,780 --> 00:07:59,980 Është shumë e shumë diçka të gjithë tuaj command line kupton. 157 00:07:59,980 --> 00:08:01,932 Një shumë e programeve të kuptojnë dot dhe dot, dot. 158 00:08:01,932 --> 00:08:04,830 159 00:08:04,830 --> 00:08:09,090 >> Kështu ato të tjera të dobishme - cd, dash. 160 00:08:09,090 --> 00:08:13,460 Kështu që do të më çojë në Lista e fundit që unë isha futur me emrin tuaj 161 00:08:13,460 --> 00:08:15,980 Kështu që nganjëherë unë do të bëjë diçka si, oh, unë jam duke punuar në këtu. 162 00:08:15,980 --> 00:08:21,110 Dhe unë shoh disa gabim me diçka, dhe Unë do të shkoj të hetuar atë duke shkuar në 163 00:08:21,110 --> 00:08:24,020 disa directory të rastit diku. 164 00:08:24,020 --> 00:08:25,260 Dhe unë nuk e di nëse kjo do të më lejoni në atje. 165 00:08:25,260 --> 00:08:25,720 Ajo do. 166 00:08:25,720 --> 00:08:27,615 Pra, atëherë unë bëj çdo gjë që unë dua në këtë directory. 167 00:08:27,615 --> 00:08:28,950 Blah, blah, blah, blah, blah. 168 00:08:28,950 --> 00:08:31,770 Dhe unë kam qenë si, të gjithë të drejtë, unë dua për të shkuar mbrapa aty ku isha. 169 00:08:31,770 --> 00:08:34,490 cd, dash, dhe kjo sjell me të drejtë mbrapa. 170 00:08:34,490 --> 00:08:39,970 >> Kështu që unë jam duke shkuar për të hedhur një shumë prej tyre në ju sot. 171 00:08:39,970 --> 00:08:43,730 Unë nuk pres që ju të mësuar përmendësh të gjitha prej tyre. 172 00:08:43,730 --> 00:08:46,170 Është lloj i vetëm e di se ato ekzistojnë. 173 00:08:46,170 --> 00:08:48,690 Dhe pastaj më vonë, kur ju jeni si, hmm, unë dua të kthehem në 174 00:08:48,690 --> 00:08:51,870 Lista që unë kam qenë vetëm në, oh, prisni, diçka e tillë ekziston. 175 00:08:51,870 --> 00:08:53,980 Ju nuk keni të drejtë të shkruani te gjithe direktorine përsëri. 176 00:08:53,980 --> 00:08:56,090 >> JOSEPH: Dhe në fund ju do të vetëm përdorimin e tyre pa pushim, dhe 177 00:08:56,090 --> 00:08:57,830 ajo do të bëhet e kujtesës muskujve. 178 00:08:57,830 --> 00:09:00,090 >> Rob: Po. 179 00:09:00,090 --> 00:09:02,930 Pra, si kam thënë më parë, se tilde është directory tuaj në shtëpi. 180 00:09:02,930 --> 00:09:04,820 Kështu që unë mund të cd, tildë. 181 00:09:04,820 --> 00:09:07,280 Por unë as nuk duhet të të bëjë që në qoftë se unë vetëm - 182 00:09:07,280 --> 00:09:09,760 Unë do të shkoj përsëri në directory kështu kjo nuk është një shembull i kotë. 183 00:09:09,760 --> 00:09:14,560 Por në qoftë se unë vetëm bëj cd, kjo është edhe njëjtë, të shkojnë në directory time në shtëpi. 184 00:09:14,560 --> 00:09:18,380 185 00:09:18,380 --> 00:09:19,880 Unë bëj Command, K. 186 00:09:19,880 --> 00:09:24,015 >> JOSEPH: Ju gjithashtu mund të shkruani qartë, fjalë, dhe ajo duhet të qartë atë. 187 00:09:24,015 --> 00:09:28,650 >> Rob: Dhe unë mendoj gjithashtu Kontrollit, L gjithashtu e bën këtë. 188 00:09:28,650 --> 00:09:29,690 Kështu shumë mënyra të ndryshme. 189 00:09:29,690 --> 00:09:34,070 Unë mendoj se ka disa ndryshime ku qartë dhe Kontrollit, L do vetëm 190 00:09:34,070 --> 00:09:37,280 me të vërtetë të shtyjë atë të lartë dhe Unë ende mund të lëvizni prapa. 191 00:09:37,280 --> 00:09:40,580 Komanda, K fjalë për fjalë shkatërron çdo gjë, dhe ju 192 00:09:40,580 --> 00:09:42,960 nuk mund të shkoni back up. 193 00:09:42,960 --> 00:09:45,530 Në shumë pak, kjo është se si funksionon në iTerm2. 194 00:09:45,530 --> 00:09:48,690 Unë nuk e di se si gjëra të tjera - 195 00:09:48,690 --> 00:09:49,360 oh. 196 00:09:49,360 --> 00:09:55,450 >> Me SSHing, kështu që nëse ju jeni në Windows, ju jeni do të duhet për të shkarkuar stuko 197 00:09:55,450 --> 00:10:02,360 në mënyrë që të SSH që nga Windows-i nuk ka kanë si një ndërtuar në SSH mjet. 198 00:10:02,360 --> 00:10:06,150 Nga Macs, ju mund vetëm SSH direkt prej ndonjë terminali. 199 00:10:06,150 --> 00:10:08,755 200 00:10:08,755 --> 00:10:09,690 OK. 201 00:10:09,690 --> 00:10:11,840 Pyetje? 202 00:10:11,840 --> 00:10:19,260 >> Me ls, kështu diçka për të marrë të përdoret për të me shumicën e këtyre komandave është - 203 00:10:19,260 --> 00:10:20,060 mirë, unë do të bëj vetëm një të tillë. 204 00:10:20,060 --> 00:10:21,310 Ls, dash, l. 205 00:10:21,310 --> 00:10:26,330 Pra dash, l është ajo që ne jemi duke shkuar për të thirrur një flamur për ls. 206 00:10:26,330 --> 00:10:30,770 Dhe shumë prej këtyre komandave kanë flamuj që ju mund të kalojë me ta. 207 00:10:30,770 --> 00:10:35,020 Pra, në këtë rast, dash, l është një flamur që tregon atë që të më jepni një të plotë 208 00:10:35,020 --> 00:10:37,850 listë e të gjitha informatat nga këto fotografi. 209 00:10:37,850 --> 00:10:44,790 >> Kështu që ne shohim këtu se desktop ishte modifikuar më 30 korrik në 12:54. 210 00:10:44,790 --> 00:10:47,160 Shkarkime është ndryshuar për herë në 6 shtator. 211 00:10:47,160 --> 00:10:52,350 Këto janë përmasat aktuale dhe bytes e këtyre drejtorive. 212 00:10:52,350 --> 00:10:54,412 Ju nuk keni për të kuptuar të gjithë këtë. 213 00:10:54,412 --> 00:11:00,380 >> Kjo stuff në të majtë, këto drwx-së, që do të bëhen shumë më të rëndësishme 214 00:11:00,380 --> 00:11:02,290 më vonë, kur ju duhet të merren me të - 215 00:11:02,290 --> 00:11:05,900 që ka të bëjë me të cilët ka leje për të parë në këto dosje. 216 00:11:05,900 --> 00:11:09,880 Dhe kështu nëse nuk keni qenë përdoruesi vetëm në ky kompjuter, ju do të jetë në gjendje të 217 00:11:09,880 --> 00:11:13,345 të themi, OK, unë duhet të jetë i vetmi lejohet të shikoni në këtë skedë ose unë jam i 218 00:11:13,345 --> 00:11:14,870 do të lejojë të gjithë për të parë në këtë skedë. 219 00:11:14,870 --> 00:11:17,710 Pra, dikush tjetër në kompjuterin tim mund të shikoni në këtë fotografi. 220 00:11:17,710 --> 00:11:22,190 221 00:11:22,190 --> 00:11:25,600 Unë nuk e di edhe se çfarë ky - çfarë do të bëni këtë? 222 00:11:25,600 --> 00:11:26,840 >> Joseph: Unë nuk jam mjaft i sigurt, në të vërtetë. 223 00:11:26,840 --> 00:11:27,705 >> Rob: Asnjë ide. 224 00:11:27,705 --> 00:11:30,530 >> JOSEPH: Por në qoftë se ju nuk e dini, nuk ka një komandë të dobishme që ju mund të përdorni 225 00:11:30,530 --> 00:11:31,680 për të ju them se çfarë do të thotë prodhimi. 226 00:11:31,680 --> 00:11:33,780 Dhe në qoftë se ju shkruani në njeri para komandën - 227 00:11:33,780 --> 00:11:35,000 mënyrë M-A-N. Rob: Man. 228 00:11:35,000 --> 00:11:37,690 Pra, njeriu është një tjetër që është shumë i dobishëm. 229 00:11:37,690 --> 00:11:39,540 Dhe njeriu, ls. 230 00:11:39,540 --> 00:11:47,320 Pra faqet njeriu, ata kanë dy urdhëron që ju jeni do të jetë duke përdorur 231 00:11:47,320 --> 00:11:50,330 në rreshtin e komandave, dhe ata gjithashtu kanë funksionet që do të jenë të rëndësishme 232 00:11:50,330 --> 00:11:52,530 me C. Kështu që ju mund të njeriut - 233 00:11:52,530 --> 00:11:53,720 dhe unë injoruar 3. 234 00:11:53,720 --> 00:11:57,410 Por njeriu 3 printf do të sjellë up versionin C e printf. 235 00:11:57,410 --> 00:12:01,030 Por në qoftë se unë vetëm bëj njeri printf, kjo është do të sjellë deri printf komandës 236 00:12:01,030 --> 00:12:03,540 që ndodh në rreshtin e komandave. 237 00:12:03,540 --> 00:12:05,730 >> Pra njeriu, ls. 238 00:12:05,730 --> 00:12:09,030 Faqet e njeriu mund të jetë shumë e madhe. 239 00:12:09,030 --> 00:12:12,770 Këtu, edhe pse, ju do të shihni këtë listë të gjitha këto flamuj që ls 240 00:12:12,770 --> 00:12:14,300 kupton. 241 00:12:14,300 --> 00:12:17,876 Pra, nëse ne do të shkojmë për të dash, l, dhe - 242 00:12:17,876 --> 00:12:19,300 Unë jam vetëm duke shkuar për të hedhur këtë në ju. 243 00:12:19,300 --> 00:12:23,050 Por ne kerkim, ju doni për të goditur së pari pyetjen 244 00:12:23,050 --> 00:12:24,780 mark ose butonin çaj. 245 00:12:24,780 --> 00:12:26,040 Pra çaj. 246 00:12:26,040 --> 00:12:29,000 >> Dhe atëherë unë mund të kërkoni për çdo gjë që unë dua. 247 00:12:29,000 --> 00:12:33,780 Kështu që unë jam duke shkuar për të zvogëluar për dash, l. 248 00:12:33,780 --> 00:12:35,110 Dhe nuk ishte. 249 00:12:35,110 --> 00:12:37,450 Kështu që përdorin një format të gjatë liste. 250 00:12:37,450 --> 00:12:40,060 Kjo nuk do të më ndihmojë të kuptoj se çfarë që kolonë të veçantë do të thoshte, por unë 251 00:12:40,060 --> 00:12:44,480 marrë diku në këtu ajo do të shpjegojë se. 252 00:12:44,480 --> 00:12:48,740 Kështu që përdorin faqet njeri për çdo komandë që ju nuk e kuptojnë menjëherë. 253 00:12:48,740 --> 00:12:51,080 >> Unë jam goxha i sigurt që ju mund edhe njeri, njeri. 254 00:12:51,080 --> 00:12:53,070 Një ndërfaqe të online manualet e referencës. 255 00:12:53,070 --> 00:12:57,700 256 00:12:57,700 --> 00:13:03,570 Oh, një e fundit që është ndoshta pak ls përkatëse është, dash, një. 257 00:13:03,570 --> 00:13:08,490 Pra, vini re, nëse unë vetëm bëj ls, Kam marrë këto pesë fotografi. 258 00:13:08,490 --> 00:13:11,480 Në qoftë se unë bëj ls, dash, një, unë të marrë një shumë më shumë fotografi. 259 00:13:11,480 --> 00:13:15,350 Pra, gjë të përbashkët mes të gjitha këto Fotografi të reja është dot paraprakisht. 260 00:13:15,350 --> 00:13:21,220 >> Pra, konventa është se një fotografi që fillon me një pikë është e fshehur. 261 00:13:21,220 --> 00:13:25,300 Pra, ju nuk duan të shohin këtë dosje, ju nuk duan që të ketë atë rrëmujë me 262 00:13:25,300 --> 00:13:26,750 Ju perket juve directory. 263 00:13:26,750 --> 00:13:30,020 Kjo është vetëm kur ju kërkoni në mënyrë eksplicite, të gjithë të drejtë, ls, dash, një, më tregoni. 264 00:13:30,020 --> 00:13:32,830 A qëndron për të gjitha dosjet, duke përfshirë edhe ato të fshehura. 265 00:13:32,830 --> 00:13:37,260 266 00:13:37,260 --> 00:13:39,270 Kështu që disa komandat e tjera. 267 00:13:39,270 --> 00:13:41,323 Oh, pyetje në atë pikë? 268 00:13:41,323 --> 00:13:41,746 Po. 269 00:13:41,746 --> 00:13:45,914 >> Gjuha 3: Kur ju bëni ls, një, çfarë është dot, dot? 270 00:13:45,914 --> 00:13:46,870 >> Rob: Oh. 271 00:13:46,870 --> 00:13:48,780 Pra, kjo është ajo që unë isha duke folur rreth. 272 00:13:48,780 --> 00:13:50,890 Është e njëjta gjë, ku Unë mund të pëlqen cd, dot, dot. 273 00:13:50,890 --> 00:13:56,790 Pra teknikisht, dot dhe dot, dot jemi fotografi që ekzistojnë në çdo të vetme 274 00:13:56,790 --> 00:14:03,620 directory ku dot fotografi referohet në dosjen aktuale. 275 00:14:03,620 --> 00:14:06,930 Pra, nëse unë cd, dot, unë jam vetëm duke shkuar për të qëndruar në directory. 276 00:14:06,930 --> 00:14:10,870 Dhe dot, dot gjithmonë i referohet previous directory një nivel up. 277 00:14:10,870 --> 00:14:18,200 Pra, nëse unë shkoj në shkrimet dhe ls, dash, al, Unë do të shoh dot, dot. cd me dot, dot 278 00:14:18,200 --> 00:14:20,390 sjell mua me directory e mëparshme. 279 00:14:20,390 --> 00:14:24,530 280 00:14:24,530 --> 00:14:25,780 Po. 281 00:14:25,780 --> 00:14:27,160 282 00:14:27,160 --> 00:14:28,110 OK. 283 00:14:28,110 --> 00:14:33,070 >> Pra, një tjetër shumë e rëndësishme komanda është rm. 284 00:14:33,070 --> 00:14:35,650 Pra, kjo është ajo që ne jemi duke shkuar për të përdorur për të hequr. 285 00:14:35,650 --> 00:14:38,100 Dhe më lejoni të bëjë në fakt një tjetër komandën e parë. 286 00:14:38,100 --> 00:14:39,610 Pra mkdir. 287 00:14:39,610 --> 00:14:42,770 Mkdir është se si ju mund të krijuar directories. 288 00:14:42,770 --> 00:14:47,530 Dhe unë do të krijojë një directory të përkohshëm dhe shko në atë directory të përkohshëm. 289 00:14:47,530 --> 00:14:49,590 Dhe siç pritej, është bosh. 290 00:14:49,590 --> 00:14:53,680 Por në qoftë se I ls, dash, një, unë ende kam dot dhe dot, dot, sepse dot referohet 291 00:14:53,680 --> 00:14:54,480 Lista aktuale. 292 00:14:54,480 --> 00:14:56,170 Dhe dot, dot i referohet Lista mëparshme. 293 00:14:56,170 --> 00:14:58,700 Ata gjithmonë do të ekzistojë pa marrë parasysh Lista ju jeni futur me emrin 294 00:14:58,700 --> 00:15:01,910 295 00:15:01,910 --> 00:15:09,010 >> Dhe kjo është një krejtësisht e panevojshme komandë, por touch. 296 00:15:09,010 --> 00:15:11,880 Unë jam vetëm duke e përdorur atë, sepse kjo është një mënyrë e thjeshtë për të krijuar fotografi. 297 00:15:11,880 --> 00:15:16,180 Pra prek a, b prek, prek c është vetëm do të krijojë tre fotografi të quajtur një, 298 00:15:16,180 --> 00:15:17,845 b, dhe c janë se krejtësisht bosh. 299 00:15:17,845 --> 00:15:20,450 300 00:15:20,450 --> 00:15:24,980 Pra, pika e mua krijimit të atyre në Vendi i parë është vetëm mënyrë që rm është 301 00:15:24,980 --> 00:15:26,250 se si ne mund të hequr ato. 302 00:15:26,250 --> 00:15:27,850 Pra rm, një. 303 00:15:27,850 --> 00:15:30,960 Ajo do të pyesni mua, hiqni rregullt bosh fotografi a? 304 00:15:30,960 --> 00:15:33,170 Dhe atëherë unë do të them Po. 305 00:15:33,170 --> 00:15:39,090 >> Pra, në qoftë se unë e di me siguri që unë dua të fshini këtë dosje, pa pasur nevojë të jenë të 306 00:15:39,090 --> 00:15:44,500 bëri, hiqni fotografi të rregullt bosh?, pastaj rm, dash, f do të jetë 307 00:15:44,500 --> 00:15:48,230 flamur që thotë se, detyrojnë të hequr pa madje edhe duke bërë mua, oh, po ju 308 00:15:48,230 --> 00:15:49,710 sigurte qe doni te fshini file? 309 00:15:49,710 --> 00:15:50,810 Po, unë jam i sigurt. 310 00:15:50,810 --> 00:15:56,050 Pra rm, dash, fb do vetëm bëjë atë pa pyetur. 311 00:15:56,050 --> 00:15:57,950 >> Pra, le të bëjë disa directories më shumë. 312 00:15:57,950 --> 00:16:03,670 mkdir, tmp2, cd, tmp2, prek një prekje, b. 313 00:16:03,670 --> 00:16:04,300 OK. 314 00:16:04,300 --> 00:16:08,180 Pra, tani unë dua të hequr tmp2 si një directory. 315 00:16:08,180 --> 00:16:10,316 Tmp2 Pra rm. 316 00:16:10,316 --> 00:16:12,920 Ju nuk mund të hiqni tmp2, ajo është një directory. 317 00:16:12,920 --> 00:16:21,370 Pra, çështja është se këtu rm nuk menjëherë të punojnë në directories. 318 00:16:21,370 --> 00:16:26,530 Është menduar vetëm për fotografi si Fotografi të jo-directory. 319 00:16:26,530 --> 00:16:30,800 >> Dhe kështu që ajo që ne mund të bëjmë këtu është rm, dash, r. 320 00:16:30,800 --> 00:16:35,160 Kjo qëndron për Recursively, të cilat mund nuk do të thotë asgjë për ju akoma. 321 00:16:35,160 --> 00:16:38,280 Por kur ju të merrni për recursion, kjo do të thotë më shumë. 322 00:16:38,280 --> 00:16:43,540 Pra rm, dash, r, tmp2 do të Recursively të shkojnë në atë directory. 323 00:16:43,540 --> 00:16:45,540 Pra, të zbresë në directory tmp2? 324 00:16:45,540 --> 00:16:47,330 Po, le të shkojnë në atë. 325 00:16:47,330 --> 00:16:49,360 A duam të hequr tmp2 / a? 326 00:16:49,360 --> 00:16:49,745 Po. 327 00:16:49,745 --> 00:16:51,830 A duam të hequr tmp2 / b? 328 00:16:51,830 --> 00:16:52,840 Po. 329 00:16:52,840 --> 00:16:55,170 Tani duam të hequr tmp2 directory? 330 00:16:55,170 --> 00:16:56,040 Po. 331 00:16:56,040 --> 00:16:58,410 Dhe kështu që tani directory dhe çdo gjë brenda 332 00:16:58,410 --> 00:16:59,660 i është hequr. 333 00:16:59,660 --> 00:17:02,850 334 00:17:02,850 --> 00:17:07,250 >> Nuk është teknikisht një rmdir komandë që ju mund të përdorni për të hequr 335 00:17:07,250 --> 00:17:11,670 directories, por ajo vetëm punon në Drejtoritë bosh gjithsesi. 336 00:17:11,670 --> 00:17:14,109 Dhe për të parë se, le të vetëm bëni mkdir, tmp2 përsëri. 337 00:17:14,109 --> 00:17:15,940 Tmp2, prek një. 338 00:17:15,940 --> 00:17:16,800 OK. 339 00:17:16,800 --> 00:17:22,770 Pra, në qoftë se unë të përpiqet për të hequr dirtmp2, ajo do të thonë, nuk directory bosh. 340 00:17:22,770 --> 00:17:29,540 Kështu që unë shumë e shumë kurrë nuk përdorin të hequr dir komandën gjithsesi, sepse rm, dash, 341 00:17:29,540 --> 00:17:35,140 r do të punojë në directories bosh dhe directories jo të zbrazëta. 342 00:17:35,140 --> 00:17:37,760 >> Dhe gjithashtu, në qoftë se unë nuk dua që të ketë për të kalojnë nëpër atë gjithë procesin e 343 00:17:37,760 --> 00:17:40,720 duke zbritur në directory dhe të hequr çdo fotografi individuale, rm, 344 00:17:40,720 --> 00:17:44,190 dash, rf, tmp2. 345 00:17:44,190 --> 00:17:45,670 Dhe tani është e shkuar. 346 00:17:45,670 --> 00:17:51,220 >> Diçka që të jenë të kujdesshëm rreth është rm, dash, rf. 347 00:17:51,220 --> 00:17:53,660 Dhe kjo frikëson mua që edhe shtypni atë, sepse në qoftë se unë aksidentalisht 348 00:17:53,660 --> 00:17:55,090 hit Enter apo diçka. 349 00:17:55,090 --> 00:18:02,735 Pra rm, dash, rf, tilde do, pa bërë mua, f nuk shpejtë 350 00:18:02,735 --> 00:18:05,670 mua, kjo automatikisht do të largojë gjithe direktorine im në shtëpi dhe 351 00:18:05,670 --> 00:18:06,780 çdo gjë në të. 352 00:18:06,780 --> 00:18:11,460 Kështu që ju mund të mendoni se kjo është një gjë e trashë për të bërë. 353 00:18:11,460 --> 00:18:12,830 Dhe mirë, kjo është. 354 00:18:12,830 --> 00:18:18,600 >> Por kjo mund të ndodhë shumë lehtë nga aksident në qoftë se, të themi, kam kërkuar për të hequr 355 00:18:18,600 --> 00:18:21,640 slash im, directory vhost. 356 00:18:21,640 --> 00:18:26,610 Dhe vetëm në të shtypni të shpejtë, Unë rastësisht e bëjnë këtë. 357 00:18:26,610 --> 00:18:31,880 Kjo do të heqë Recursively të dyja tim directory shtëpi dhe directory vhost 358 00:18:31,880 --> 00:18:35,450 në këtë directory të veçantë që vetëm ndodh që të mos ekzistojnë tani. 359 00:18:35,450 --> 00:18:39,520 Por kjo ende do të heqë gjithe direktorine tim në shtëpi. 360 00:18:39,520 --> 00:18:43,090 Paktën duke mos pasur një F, kjo do të shkaktonte më parë. 361 00:18:43,090 --> 00:18:45,670 Dhe unë do të jetë si, oh, jo, unë nuk duan ta bëjnë këtë. 362 00:18:45,670 --> 00:18:50,570 Por njerëzit, çaj, duke përfshirë më kanë tendencë për të marrë në 363 00:18:50,570 --> 00:18:53,090 zakon të gjithmonë rf-ing. 364 00:18:53,090 --> 00:18:58,713 Edhe fotografi rregullta që unë mund vetëm të RM-së, c, unë priren të vetëm rm, dash, rf, c. 365 00:18:58,713 --> 00:19:01,330 Vetëm të jenë të kujdesshëm kur ju jeni rf-ing. 366 00:19:01,330 --> 00:19:03,160 >> Kryetari 4: Çfarë do të bëni C? 367 00:19:03,160 --> 00:19:11,570 >> Rob: C është e unë jam duke folur për këtë dosje C në këtë directory, që rm, c. 368 00:19:11,570 --> 00:19:15,730 >> JOSEPH: Dhe më shumë të rrezikshme, në qoftë se ju përdorni një yll, ai i referohet çdo gjë në 369 00:19:15,730 --> 00:19:16,450 directory. 370 00:19:16,450 --> 00:19:20,040 Pra, ajo që unë zakonisht priren të bëni është të dua unë shkoni në një directory dhe unë dua të 371 00:19:20,040 --> 00:19:21,510 hequr të gjitha dosjet në atje. 372 00:19:21,510 --> 00:19:23,640 Pra rm, dash, rf, yll. 373 00:19:23,640 --> 00:19:25,700 >> Rob: Po. 374 00:19:25,700 --> 00:19:26,780 Rm, dash, rf, yll. 375 00:19:26,780 --> 00:19:29,530 >> JOSEPH: Dhe në qoftë se ju nuk jeni të kujdesshëm ajo directory ju jeni në - 376 00:19:29,530 --> 00:19:33,340 Unë nuk ishte në temp, por unë kam qenë rastësisht në directory time në shtëpi, 377 00:19:33,340 --> 00:19:35,450 atëherë unë do të largoj çdo gjë në directory time në shtëpi. 378 00:19:35,450 --> 00:19:39,095 Dhe unë e kam bërë në të vërtetë se para, dhe Unë mendoj se ju keni bërë këtë më parë ose 379 00:19:39,095 --> 00:19:40,640 Jay ka bërë që më parë. 380 00:19:40,640 --> 00:19:42,480 >> Rob: Unë e kam hequr aksidentalisht - 381 00:19:42,480 --> 00:19:44,480 kështu që injorojnë atë komandë për një grimë. 382 00:19:44,480 --> 00:19:45,800 >> Joseph: Nuk fun. 383 00:19:45,800 --> 00:19:52,650 >> Rob: Pra, në bin directory çaj është një bandë e fotografi binar ku nuk do të 384 00:19:52,650 --> 00:19:54,840 të jenë ato të njohura si tingëllim. 385 00:19:54,840 --> 00:20:00,740 E pra, tingëllimë dhe në thelb të gjitha këto gjëra që unë jam drejtimin me urdhër 386 00:20:00,740 --> 00:20:02,060 Linja janë në këtë bin directory çaj. 387 00:20:02,060 --> 00:20:03,090 >> JOSEPH: Ashtu si ls është këtu. 388 00:20:03,090 --> 00:20:06,285 >> Rob: Pra dot, çaj, ls do të lista këtë directory. 389 00:20:06,285 --> 00:20:08,120 >> JOSEPH: Rm është gjithashtu në këtë directory. 390 00:20:08,120 --> 00:20:12,770 >> Rob: Unë rastësisht kam rm, rf-ed bin, e cila hoqi çdo komandë unë mund 391 00:20:12,770 --> 00:20:14,380 ndoshta ndonjëherë duan. 392 00:20:14,380 --> 00:20:18,085 E, cilën unë vetëm reinstall një Aplikim i ri në atë pikë. 393 00:20:18,085 --> 00:20:20,170 >> JOSEPH: Pra, të jenë shumë të kujdesshëm kur ju përdorni këtë komandë. 394 00:20:20,170 --> 00:20:21,120 >> Audienca: [padëgjueshme]? 395 00:20:21,120 --> 00:20:22,640 >> Rob: Po. 396 00:20:22,640 --> 00:20:24,135 Kjo është gjithashtu një zakon i keq për të marrë në. 397 00:20:24,135 --> 00:20:27,920 398 00:20:27,920 --> 00:20:30,170 Nëse vëreni, unë jam tani - 399 00:20:30,170 --> 00:20:33,580 mirë, ju nuk mund të vini re, por im zoom-në ndoshta mund. 400 00:20:33,580 --> 00:20:35,360 Kështu që unë jam tani root @ aplikim. 401 00:20:35,360 --> 00:20:39,790 Pra jharvard është përdoruesi që ne duam ju që gjithmonë të jeni duke përdorur. 402 00:20:39,790 --> 00:20:43,820 Root është përdoruesi që ka leje të bëjë absolutisht asgjë. 403 00:20:43,820 --> 00:20:50,260 >> Pra, vini re, kur unë jam jharvard, në qoftë se unë të përpiqet për të CD - 404 00:20:50,260 --> 00:20:52,461 çfarë është një directory që? 405 00:20:52,461 --> 00:20:53,980 Oh, rrënjë është një shembull i mirë. 406 00:20:53,980 --> 00:20:54,950 Pra cd, rrënjë. 407 00:20:54,950 --> 00:20:56,030 Ndalohet hyrja. 408 00:20:56,030 --> 00:21:00,060 Sepse në qoftë se ne e shikojmë në këtë listë - 409 00:21:00,060 --> 00:21:02,410 dhe përsëri, ju nuk keni për të tërësisht e kuptojnë këtë. 410 00:21:02,410 --> 00:21:09,210 Por këto tri dashes janë duke thënë se nuk e le ndonjë tjetër 411 00:21:09,210 --> 00:21:11,120 përdoruesit në këtë directory. 412 00:21:11,120 --> 00:21:14,540 Dhe directory ndodh me të jetë në pronësi nga rrënja përdorues. 413 00:21:14,540 --> 00:21:20,310 >> Pra, fakti që unë jam jharvard dhe nuk ai i cili nuk është rrënjë është e lejuar në 414 00:21:20,310 --> 00:21:23,490 kjo dosje, që do të thotë që unë jam duke shkuar për të marrë leje e mohuar kur kam 415 00:21:23,490 --> 00:21:25,160 përpiqen për të cd në të. 416 00:21:25,160 --> 00:21:31,370 Kështu që kur unë jam Rrënja, kam leje për të të bëjë absolutisht asgjë, duke përfshirë 417 00:21:31,370 --> 00:21:34,660 fshini fotografi thelbësore të pajisjes dhe 418 00:21:34,660 --> 00:21:36,640 të shkatërrojë të gjithë gjë. 419 00:21:36,640 --> 00:21:41,240 >> Pra, kjo është një zakon i keq për të marrë në vetëm enden përreth tuaj 420 00:21:41,240 --> 00:21:43,650 sistem operativ si rrënjë. 421 00:21:43,650 --> 00:21:46,520 Unë bëjë atë gjithsesi. 422 00:21:46,520 --> 00:21:48,710 Pyetje? 423 00:21:48,710 --> 00:21:52,230 Dhe unë do të të dalë rrënjë, të qëndrojnë si jharvard. 424 00:21:52,230 --> 00:21:54,510 OK. 425 00:21:54,510 --> 00:21:55,820 >> Komandat më shumë relevante. 426 00:21:55,820 --> 00:22:03,975 Pra, duke shkuar prapa në temp tonë, mv komanda qëndron për veprim. 427 00:22:03,975 --> 00:22:05,450 Ju mund të lëvizin një. 428 00:22:05,450 --> 00:22:07,610 Tani ne duam të telefononi atë b, kështu që tani është quajtur b. 429 00:22:07,610 --> 00:22:10,650 Apo ndoshta ne duam të lëvizur b up një directory. 430 00:22:10,650 --> 00:22:12,730 Deri tani bosh këtë directory-së. 431 00:22:12,730 --> 00:22:15,410 Unë do të kthehem në directory time në shtëpi, dhe ne shohim se b është këtu, sepse 432 00:22:15,410 --> 00:22:19,230 directory shtëpi ishte një directory nga Lista që b kishte qenë in 433 00:22:19,230 --> 00:22:24,710 434 00:22:24,710 --> 00:22:26,580 >> Ka edhe krah. 435 00:22:26,580 --> 00:22:33,210 Pra cp është kopje seksion super, dot, teksti. 436 00:22:33,210 --> 00:22:35,750 Unë mund të telefononi atë s, dot, teksti. 437 00:22:35,750 --> 00:22:39,780 Tani ne kemi dy seksion super, dot, tekst, dhe s, dot, teksti. 438 00:22:39,780 --> 00:22:41,340 Kjo gjithashtu punon në directories. 439 00:22:41,340 --> 00:22:44,040 440 00:22:44,040 --> 00:22:46,560 Unë RF-ed një skedar të vetëm. 441 00:22:46,560 --> 00:22:48,200 Pra cp - 442 00:22:48,200 --> 00:22:51,710 mirë, së pari le të përpiqemi krah, tmp, tmp2. 443 00:22:51,710 --> 00:22:53,220 Pra, duke lënë jashtë directory tmp. 444 00:22:53,220 --> 00:22:57,440 Pra, të ngjashme me rm, sjellja e parazgjedhur është që të mos punojnë në directories. 445 00:22:57,440 --> 00:23:01,570 >> Dhe përsëri, të ngjashme me rm, default sjellje - mirë, duke marrë atë për të punuar 446 00:23:01,570 --> 00:23:04,230 me directories është një, dash-r larg. 447 00:23:04,230 --> 00:23:09,240 Pra kopje Recursively temp directory në tmp2. 448 00:23:09,240 --> 00:23:13,700 Dhe kështu që tani ne kemi dy tmp dhe tmp2, dhe se nuk është e dobishme që nga tmp 449 00:23:13,700 --> 00:23:16,814 ishte bosh në vendin e parë. 450 00:23:16,814 --> 00:23:18,660 Tmp2. 451 00:23:18,660 --> 00:23:22,680 >> Tani le të kopjoni tmp në tmp2. 452 00:23:22,680 --> 00:23:27,900 Dhe ne shohim se tmp2 gjithashtu ka fotografi një, sepse directory dhe 453 00:23:27,900 --> 00:23:32,220 çdo gjë brenda që Lista është kopjuar. 454 00:23:32,220 --> 00:23:36,000 Dhe kjo mund të jetë disi e dobishme nëse, thonë se ju jeni duke punuar 455 00:23:36,000 --> 00:23:38,860 në problemin vendosur një të tillë - 456 00:23:38,860 --> 00:23:41,320 ose në të vërtetë, vendos më vonë problematike janë edhe më e rëndësishme, sepse ka 457 00:23:41,320 --> 00:23:43,660 do të jetë një bandë e tërë i dosjeve dhe gjëra. 458 00:23:43,660 --> 00:23:47,010 >> Por ju doni vetëm për të, për një ndarje të dytë, ju jeni si, të gjithë të drejtë, unë jam i 459 00:23:47,010 --> 00:23:50,210 do të provoni diçka të ndryshme. 460 00:23:50,210 --> 00:23:57,860 Më lejoni vetëm të kopjoni tërë pset1 time Lista në pset1 rezervë në mënyrë që nëse 461 00:23:57,860 --> 00:24:01,490 Unë deri në fund vidhosje gjërat, unë mund të kthehemi në directory tim backup. 462 00:24:01,490 --> 00:24:07,340 Ka mënyra më të përshtatshme të versioning mbështetjen e deri kodin tuaj, por 463 00:24:07,340 --> 00:24:10,610 kjo është gjithmonë një mënyrë e shpejtë për të vetëm të bëjë Sigurohuni që keni një kopje të diçka 464 00:24:10,610 --> 00:24:11,860 që ju jeni gati për të modifikuar. 465 00:24:11,860 --> 00:24:16,974 466 00:24:16,974 --> 00:24:27,090 >> Pra echo është gjithashtu një komandë një-off që lloj sillily vetëm do të shtypura për 467 00:24:27,090 --> 00:24:31,540 command line pikërisht ajo që ju të kërkuar për të jehonë. 468 00:24:31,540 --> 00:24:32,680 Pra jehonë hi. 469 00:24:32,680 --> 00:24:35,420 Ne vetëm do të shtypura hi. 470 00:24:35,420 --> 00:24:38,030 Echo përshëndetje botë. 471 00:24:38,030 --> 00:24:39,800 Ne do të shtypura përshëndetje botën. 472 00:24:39,800 --> 00:24:44,350 Kjo vjen në përdorim kur ju fillojnë kombinuar komandat. 473 00:24:44,350 --> 00:24:48,300 >> Dhe përsëri, nuk presin që ju të plotësisht kuptojnë këtë, por është e 474 00:24:48,300 --> 00:24:49,910 diçka për të parë. 475 00:24:49,910 --> 00:24:52,470 Dhe pastaj, nëse ju jeni Googling për shembuj ose ti e kupton që ju doni të bëni 476 00:24:52,470 --> 00:24:55,030 diçka, ajo mund të jetë e dobishme. 477 00:24:55,030 --> 00:24:59,020 Pra, le të, si një shembull, kështu ls, dash, l. 478 00:24:59,020 --> 00:25:01,160 Kështu që këtu unë shihni prodhimit i ls, dash, l. 479 00:25:01,160 --> 00:25:06,560 Dhe unë them, OK, unë dua të dyqan që në një skedar. 480 00:25:06,560 --> 00:25:11,620 E gjithë kjo prodhimit këtu, unë dua për të vënë në një dosje të veçantë. 481 00:25:11,620 --> 00:25:16,080 >> Pra, kjo pak më e madhe se simbol është ajo që ne jemi duke shkuar për të thirrur. 482 00:25:16,080 --> 00:25:18,570 Ne jemi duke Përcjellin prodhimit në një skedar. 483 00:25:18,570 --> 00:25:21,680 Le të thërrasë file blah, sepse kjo është ajo që unë gjithmonë kanë tendencë për të thirrur atë. 484 00:25:21,680 --> 00:25:26,430 Deri tani ne shohim ne kemi një paraqesë blah drejtë këtu. 485 00:25:26,430 --> 00:25:30,270 Dhe në qoftë se unë të hapur atë, unë do të shoh se është pikërisht prodhimi nga komanda 486 00:25:30,270 --> 00:25:31,990 se unë vetëm u zhvillua. 487 00:25:31,990 --> 00:25:36,020 Dhe në mënyrë të ngjashme, ju mund të - 488 00:25:36,020 --> 00:25:41,260 në qoftë se kjo ishte e prodhimit në një skedar, kjo është marrë të dhëna nga një skedar. 489 00:25:41,260 --> 00:25:45,790 490 00:25:45,790 --> 00:25:47,050 Çfarë është një komandë që unë - 491 00:25:47,050 --> 00:25:49,620 >> Joseph: Unë mendoj se ju mund të përdorni pak a shumë, ndoshta. 492 00:25:49,620 --> 00:25:53,031 >> Rob: Por si për vetëm më pak blah? 493 00:25:53,031 --> 00:25:53,930 Nuk e di. 494 00:25:53,930 --> 00:25:57,870 Nëse ju vini në këtë skenar, si ka psets se kjo është e dobishme për të. 495 00:25:57,870 --> 00:25:59,950 >> JOSEPH: Ju mund të tub atë në jehonë. 496 00:25:59,950 --> 00:26:02,920 Pipe dosjen në jehonë për të parë atë. 497 00:26:02,920 --> 00:26:04,060 >> Rob: Kjo është tub. 498 00:26:04,060 --> 00:26:04,860 >> JOSEPH: Na vjen keq. 499 00:26:04,860 --> 00:26:06,190 >> Rob: Në rregull. 500 00:26:06,190 --> 00:26:12,720 Pra, kjo është e prodhimit në një skedar. 501 00:26:12,720 --> 00:26:18,700 Kjo është marrë tekstin nga skedari dhe t'ia dorëzojë atë për të programit. 502 00:26:18,700 --> 00:26:20,560 Dhe ju do të shihni këtë djalë. 503 00:26:20,560 --> 00:26:24,410 Pra, kjo është lloj i bërë të dy në të njëjtën kohë. 504 00:26:24,410 --> 00:26:28,310 Dhe në të vërtetë, unë do të prezantoj dy të reja urdhëron vetëm për të bërë përdorimin e tij. 505 00:26:28,310 --> 00:26:33,060 >> Historia është një urdhër i dobishëm që është vetëm do të shtypura nga një listë e 506 00:26:33,060 --> 00:26:34,940 ndonjë gjë që unë kam drejtuar ndonjëherë një linjë komande. 507 00:26:34,940 --> 00:26:38,290 Kështu që ne shohim këtu çdo gjë që unë kam qenë në drejtimin tërë këtë kohë. 508 00:26:38,290 --> 00:26:39,540 Shumë e LS-së. 509 00:26:39,540 --> 00:26:41,570 510 00:26:41,570 --> 00:26:48,470 >> Dhe një tjetër komandë e dobishme është që grep qëllimi i tij është për të kërkuar mbi 511 00:26:48,470 --> 00:26:52,060 tekst duke kërkuar për modele, mirë, kërkoni për çfarëdo ty 512 00:26:52,060 --> 00:26:53,310 duan që ajo të shikoni për. 513 00:26:53,310 --> 00:26:59,770 Dhe kështu një përdorim të dobishëm këtu është, të themi ne duam të rrëmbyer historinë. 514 00:26:59,770 --> 00:27:03,860 Dhe unë dua të shikoni për komandat ku unë - çfarë është një 515 00:27:03,860 --> 00:27:05,000 e dobishme për të kërkuar? 516 00:27:05,000 --> 00:27:06,898 >> JOSEPH: [padëgjueshme]? 517 00:27:06,898 --> 00:27:09,710 >> Rob: Ose le të vetëm shikoni për të gjithë prek, për çfarëdo arsye. 518 00:27:09,710 --> 00:27:13,850 Pra, kjo është ajo që do të duket si. 519 00:27:13,850 --> 00:27:15,560 Dhe ju nuk keni për të krejtësisht të kuptojnë se. 520 00:27:15,560 --> 00:27:20,570 Por ideja është këtu, historia është duke i dhënë të njëjtën prodhimit siç bëri këtu 521 00:27:20,570 --> 00:27:25,030 ku është e shtypjes nga tërësia Historia e çdo gjë që unë kam drejtuar ndonjëherë. 522 00:27:25,030 --> 00:27:27,030 Ne jemi duke kaluar më pas se - 523 00:27:27,030 --> 00:27:30,230 kështu që në vend të botimit të saj në ekran, ne duam të ndodhë që të 524 00:27:30,230 --> 00:27:34,640 grep komanda e cila është në kërkim të të gjitha rastet e fjalës kontakt. 525 00:27:34,640 --> 00:27:40,280 >> Dhe kështu duke përdorur këtë kombinim të mjete historia dhe grep, unë mund të shoh, OK, 526 00:27:40,280 --> 00:27:44,820 këtu është e gjitha nga komandat unë kam ndonjëherë drejtuar, dhe këtu është një njeri disi të përbashkët. 527 00:27:44,820 --> 00:27:45,510 Ne jemi në fund. 528 00:27:45,510 --> 00:27:47,930 Dhe kjo është gjithashtu duke i dhënë me komandën Unë vetëm u që e kishte 529 00:27:47,930 --> 00:27:51,240 touch fjalë në të. 530 00:27:51,240 --> 00:27:58,500 Por tub është një gjë shumë e dobishme për kombinimin programeve shumëfishta. 531 00:27:58,500 --> 00:28:04,670 Dhe në fakt, kjo është një rrugë e shkurtër për le mua historia prodhimit të paraqesin blah, dhe 532 00:28:04,670 --> 00:28:10,190 let me grep duke përdorur fotografi blah si ajo që unë dua të hedh një sy. 533 00:28:10,190 --> 00:28:13,460 Pra, tub është vetëm një shkurtore për ata dy komandave. 534 00:28:13,460 --> 00:28:13,950 Po. 535 00:28:13,950 --> 00:28:15,306 >> Kryetari 4: [padëgjueshme]? 536 00:28:15,306 --> 00:28:16,556 >> Rob: Po. 537 00:28:16,556 --> 00:28:20,142 538 00:28:20,142 --> 00:28:21,110 Çfarë është - 539 00:28:21,110 --> 00:28:21,858 Oh. 540 00:28:21,858 --> 00:28:24,820 Le provë. 541 00:28:24,820 --> 00:28:29,170 Pra, mace, qen, peshk. 542 00:28:29,170 --> 00:28:33,770 Kështu që unë dua të grep. 543 00:28:33,770 --> 00:28:37,680 Dash, r, përsëri, do të jetë Recursively, kështu që unë dua të zbres poshtë 544 00:28:37,680 --> 00:28:38,870 të gjitha directories. 545 00:28:38,870 --> 00:28:43,210 Unë dua të Recursively grep për të gjithë - dhe më lejoni të marrë përkohësisht 546 00:28:43,210 --> 00:28:44,460 kjo nga rruga. 547 00:28:44,460 --> 00:28:48,650 548 00:28:48,650 --> 00:28:50,740 Ignore mua. 549 00:28:50,740 --> 00:28:51,360 OK. 550 00:28:51,360 --> 00:28:56,740 >> Kështu që unë dua të grep përkohësisht për të gjitha rastet e peshkut fjalës. 551 00:28:56,740 --> 00:29:00,510 Dhe kështu që këtu ajo që unë jam duke bërë është grepping Recursively për peshkun fjalë. 552 00:29:00,510 --> 00:29:05,410 Dhe yll do të thotë mbi të gjitha këto fotografi në këtë directory. 553 00:29:05,410 --> 00:29:08,930 Dhe kështu që ajo më dha një Ndalohet hyrja, për shkak se ajo nuk është e lejuar për të lexuar se 554 00:29:08,930 --> 00:29:10,060 file të veçantë. 555 00:29:10,060 --> 00:29:14,040 Por ajo gjeti peshk në fotografi, provë. 556 00:29:14,040 --> 00:29:18,450 >> Unë mund të them, në mënyrë të veçantë, unë vetëm dëshironi të shikoni në fotografi blah, në 557 00:29:18,450 --> 00:29:19,580 cilin rast nuk do të gjeni asgjë. 558 00:29:19,580 --> 00:29:20,990 Unë vetëm dua të shikoni në fotografi, provë. 559 00:29:20,990 --> 00:29:22,240 Ajo do të gjeni peshk. 560 00:29:22,240 --> 00:29:25,980 561 00:29:25,980 --> 00:29:29,260 Kjo është një komandë shumë e dobishme të dini në përgjithësi. 562 00:29:29,260 --> 00:29:31,640 Ka disa alternativa për të grep të cilat janë menduar të jenë më të 563 00:29:31,640 --> 00:29:36,780 programues miqësore, por unë priren për të ende të bien përsëri në grep. 564 00:29:36,780 --> 00:29:38,030 Pyetje? 565 00:29:38,030 --> 00:29:39,965 566 00:29:39,965 --> 00:29:40,919 OK. 567 00:29:40,919 --> 00:29:42,520 >> A ka komandat e tjera? 568 00:29:42,520 --> 00:29:45,270 Oh. 569 00:29:45,270 --> 00:29:48,370 Vetëm një një-off që unë gjithmonë të gjeni të jetë kënaqësi është Cal. 570 00:29:48,370 --> 00:29:55,610 Pra, vini re, kur unë jam në këtë lovely mënyrë të plotë ekran, unë nuk kam asnjë të tillë të lartë 571 00:29:55,610 --> 00:29:56,720 toolbar apo ndonjë gjë. 572 00:29:56,720 --> 00:29:59,530 Pra politike vetëm më jep pak bukur Kalendari kjo është e drejtë 573 00:29:59,530 --> 00:30:02,380 tani prerë, unë të marrë. 574 00:30:02,380 --> 00:30:04,770 Por komanda e bukur pak. 575 00:30:04,770 --> 00:30:06,540 >> JOSEPH: Kjo është [e padëgjueshme]. 576 00:30:06,540 --> 00:30:09,170 Komandat e tjera që ju mund të keni shihet përfshijnë tingulli dhe të bëjë. 577 00:30:09,170 --> 00:30:11,180 Ne do të shkoj për ta në më shumë detaje më vonë. 578 00:30:11,180 --> 00:30:13,400 Por në qoftë se ju keni qenë duke punuar në PSET, ju duhet të jetë 579 00:30:13,400 --> 00:30:15,160 njohur me ato. 580 00:30:15,160 --> 00:30:16,640 >> Rob: Në rregull. 581 00:30:16,640 --> 00:30:18,520 Pyetjet për të linjës komanduese gjëra? 582 00:30:18,520 --> 00:30:22,450 583 00:30:22,450 --> 00:30:23,260 Dakord. 584 00:30:23,260 --> 00:30:27,416 Pra, le të lëvizin për disa C sende të lidhura. 585 00:30:27,416 --> 00:30:28,666 Variablat matematikë. 586 00:30:28,666 --> 00:30:39,078 587 00:30:39,078 --> 00:30:40,060 OK. 588 00:30:40,060 --> 00:30:45,230 Pra, ashtu si kishim matematikë në Scratch, ju gjithashtu mund të përdorni matematikë në C. 589 00:30:45,230 --> 00:30:49,270 >> Para se të marrim për atë tërësisht, kështu variablave. 590 00:30:49,270 --> 00:30:53,920 Mos harroni se sa herë që ju të deklarojë një variabël si int x apo y noton, ju 591 00:30:53,920 --> 00:30:56,710 duhet të jepni të tipit më parë emrin e ndryshueshme. 592 00:30:56,710 --> 00:31:03,020 Pra lloje ne kemi parë deri më tani janë të int, noton, të dyfishtë, të gjatë e gjatë, të cilën unë 593 00:31:03,020 --> 00:31:06,150 nuk në të vërtetë nuk e di nëse ne kemi shihet se deri më tani. 594 00:31:06,150 --> 00:31:07,700 >> Ka disa ato të tjera. 595 00:31:07,700 --> 00:31:09,990 Ne kemi shohim char. 596 00:31:09,990 --> 00:31:13,920 Ka të shkurtër, e cila është si ajo e kundërta e gjatë e gjatë, ku është e 597 00:31:13,920 --> 00:31:16,650 vogla se një numër të plotë. 598 00:31:16,650 --> 00:31:18,580 Ne kemi parë gjithashtu string. 599 00:31:18,580 --> 00:31:23,070 Pra, çfarë ka të veçantë vargut? 600 00:31:23,070 --> 00:31:25,350 Pse duhet ta them se është jo krejt si int? 601 00:31:25,350 --> 00:31:27,030 >> Kryetari 4: Kjo nuk ka të vërtetë ekziston. 602 00:31:27,030 --> 00:31:27,990 >> Rob: Po. 603 00:31:27,990 --> 00:31:31,820 Pra, e vetmja arsye ne kemi varg është për shkak se kur ju bëni 604 00:31:31,820 --> 00:31:33,215 hash, përfshijnë cs50.h. 605 00:31:33,215 --> 00:31:36,530 606 00:31:36,530 --> 00:31:42,670 Dhe ne do të shohim shembuj të kësaj më vonë - oh, kjo nuk do të trajtojë se mirë - 607 00:31:42,670 --> 00:31:46,160 ku cs50.h është duke bërë diçka përgjatë vijave të tipit 608 00:31:46,160 --> 00:31:49,230 def, yll char, string. 609 00:31:49,230 --> 00:31:53,280 >> Dhe kështu kjo është thënë se ne nuk bëjmë edhe e di se çfarë një yll char është ende. 610 00:31:53,280 --> 00:31:56,770 Por kjo është e thënë se ne duam string. 611 00:31:56,770 --> 00:32:00,250 Çdo vend që ju keni qenë duke përdorur varg, ju mund të ketë qenë duke përdorur yll char, 612 00:32:00,250 --> 00:32:04,670 e cila në të vërtetë është një lloj që ekziston në gjuhën C. 613 00:32:04,670 --> 00:32:06,680 Por ne do të merrni për këtë. 614 00:32:06,680 --> 00:32:07,860 Oh, dhe ajo shkon drejtë mbrapa. 615 00:32:07,860 --> 00:32:10,170 I zoti. 616 00:32:10,170 --> 00:32:15,370 >> Pra, të njëjtën gjë me bool ku të vërteta dhe të rreme. 617 00:32:15,370 --> 00:32:22,510 Kjo nuk është me të vërtetë një ndërtuar në lloj në C. Në vend të kësaj, kjo është vetëm, ka kjo 618 00:32:22,510 --> 00:32:23,740 zero vlera? 619 00:32:23,740 --> 00:32:26,200 Pastaj ne do të konsiderojmë vetëm që ajo të jetë e rreme. 620 00:32:26,200 --> 00:32:27,350 A ka kjo të ketë vlerën - 621 00:32:27,350 --> 00:32:30,530 mirë, e bën këtë kanë ndonjë vlerë që nuk është zero? 622 00:32:30,530 --> 00:32:32,200 Pastaj ne do të konsiderojnë atë të jetë e vërtetë. 623 00:32:32,200 --> 00:32:35,940 Pra, është e vërtetë, dy është e vërtetë, çdo gjë nonzero është e vërtetë. 624 00:32:35,940 --> 00:32:38,710 625 00:32:38,710 --> 00:32:42,790 Pra ato janë ato. 626 00:32:42,790 --> 00:32:47,624 Pyetjet për variablave që deklarojnë dhe llojet e ndryshueshme dhe të gjitha që? 627 00:32:47,624 --> 00:32:48,100 Po. 628 00:32:48,100 --> 00:32:52,384 >> Kryetari 4: Për të gjatë e gjatë, në libër, ajo tha se duhej të ishte int e gjatë e gjatë. 629 00:32:52,384 --> 00:32:54,288 Por do të punojë vetëm kohë të gjatë? 630 00:32:54,288 --> 00:32:58,210 631 00:32:58,210 --> 00:33:01,470 >> Rob: Pra, këto modifiers lloji. 632 00:33:01,470 --> 00:33:04,170 Pra int x. 633 00:33:04,170 --> 00:33:07,710 Pra, ne mund të themi unsigned int x. 634 00:33:07,710 --> 00:33:09,640 Ne mund të themi int x shkurtër. 635 00:33:09,640 --> 00:33:12,570 Ne mund të themi kohë e gjatë int x. 636 00:33:12,570 --> 00:33:17,250 Por shumë e shumë të ndonjë nga ato gjëra unë vetëm tha, int unsigned, int shkurtër, 637 00:33:17,250 --> 00:33:21,480 kohë të gjatë int, ju mund të shpëtoj prej int dhe vetëm ajo do të marrë 638 00:33:21,480 --> 00:33:22,510 që do të thotë int. 639 00:33:22,510 --> 00:33:26,045 X Pra panënshkruara, të cilat vetëm do të thotë - 640 00:33:26,045 --> 00:33:29,400 ju e dini se si zakonisht me një int, ju mund të thonë se x është e barabartë negativ 3? 641 00:33:29,400 --> 00:33:31,636 Me një int unsigned, ju nuk mund. 642 00:33:31,636 --> 00:33:34,480 >> JOSEPH: Dhe përsëri, për kamera, Pyetja ishte, çfarë është dallimi 643 00:33:34,480 --> 00:33:37,796 mes int të gjatë të gjatë dhe vetëm kohë të gjatë? 644 00:33:37,796 --> 00:33:38,410 >> Rob: Po. 645 00:33:38,410 --> 00:33:42,850 Kështu që unë do të pothuajse kurrë shkruar gjatë int të gjatë. 646 00:33:42,850 --> 00:33:44,100 Unë do të shkruaj gjatë e gjatë. 647 00:33:44,100 --> 00:33:47,770 648 00:33:47,770 --> 00:33:50,636 >> JOSEPH: Çdo pyetje? 649 00:33:50,636 --> 00:33:51,886 >> Rob: OK. 650 00:33:51,886 --> 00:33:56,180 651 00:33:56,180 --> 00:34:02,390 Kujtesë Pra pa kuptim pak e kjo është se si ne të deklarojë një ndryshore dhe nisja 652 00:34:02,390 --> 00:34:04,450 ndryshueshme dhe të deklarojë një tjetër ndryshueshme dhe nisja 653 00:34:04,450 --> 00:34:05,870 të gjitha në një hap. 654 00:34:05,870 --> 00:34:09,370 Pra, deklarata e variablit dhe variabli initialization nuk kanë 655 00:34:09,370 --> 00:34:11,120 por që mund të jenë të njëjtë linjë. 656 00:34:11,120 --> 00:34:15,409 657 00:34:15,409 --> 00:34:20,060 >> Pra, ne kemi operatorët standarde matematikë që ju jeni duke përdorur për të - 658 00:34:20,060 --> 00:34:22,199 plus, minus, ndarje, herë. 659 00:34:22,199 --> 00:34:24,389 Ka gjithashtu modulo, të cilat ne do të shohim. 660 00:34:24,389 --> 00:34:29,060 Nuk ka, të paktën në C, një ndërtuar në pushtet 661 00:34:29,060 --> 00:34:31,765 Operatori caret exponentiation. 662 00:34:31,765 --> 00:34:33,770 E pra, nuk është një operator caret, por kjo nuk është pushtet. 663 00:34:33,770 --> 00:34:34,239 >> JOSEPH: Por kjo nuk është exponentiation, po. 664 00:34:34,239 --> 00:34:36,210 >> Rob: Mos përdorni caret të supozohet se kjo do të thotë 665 00:34:36,210 --> 00:34:39,980 si squared apo çfarëdo. 666 00:34:39,980 --> 00:34:42,289 Pra disa gjëra për të mbajtur në mendje në lidhje me ndarjen. 667 00:34:42,289 --> 00:34:46,282 668 00:34:46,282 --> 00:34:48,880 Unë do të qëndrojë. 669 00:34:48,880 --> 00:34:51,315 Kështu deklaroi përgjigje nisja. 670 00:34:51,315 --> 00:34:54,670 Pra, ne jemi duke thënë përgjigje noton është e barabartë me 1 të ndarë me 10. 671 00:34:54,670 --> 00:34:57,500 Print përgjigje në dy numra pas presjes dhjetore. 672 00:34:57,500 --> 00:35:02,180 >> Dhe kjo është gjë e tillë që unë do njeri printf të kuptoj se 673 00:35:02,180 --> 00:35:05,110 Çfarë dreq ka%, dot, 2f të thotë? 674 00:35:05,110 --> 00:35:07,930 Dhe kjo thjesht do të thotë, mirë, injoruar 0.2. 675 00:35:07,930 --> 00:35:10,420 Dhe%, f është ajo që ne përdorim për të shkruar për të noton. 676 00:35:10,420 --> 00:35:15,370 0.2 është duke thënë, se print noton në dy numra pas presjes dhjetore. 677 00:35:15,370 --> 00:35:19,600 Pra, ky program ka një bug, dhe ju mund të kanë parë këtë më parë në disa 678 00:35:19,600 --> 00:35:20,870 para kurs CS. 679 00:35:20,870 --> 00:35:22,170 Por ajo që është se bug? 680 00:35:22,170 --> 00:35:23,050 >> Gjuha 5: Zero. 681 00:35:23,050 --> 00:35:24,130 >> Rob: Po. 682 00:35:24,130 --> 00:35:29,630 Pra, kur themi, përgjigja është e barabartë me 1 ndahet nga 10, ne duam 683 00:35:29,630 --> 00:35:31,610 përgjigjen të jetë 0.1. 684 00:35:31,610 --> 00:35:37,450 Por të ndara nga 1 ne 10, 1 eshte nje integer, 10 është një numër i plotë. 685 00:35:37,450 --> 00:35:41,060 Dhe kështu kur ne bëjmë një numër të plotë të ndarë me një numër i plotë, ne jemi duke shkuar për të marrë përsëri 686 00:35:41,060 --> 00:35:42,190 një numër të plotë. 687 00:35:42,190 --> 00:35:43,660 Pra, 1 i ndarë nga 10 është 0.1. 688 00:35:43,660 --> 00:35:46,760 >> Që nga ajo ka nevojë për të na dhënë një numër të plotë, ajo vetëm do të hedhin larg se 689 00:35:46,760 --> 00:35:49,410 Vendi dhjetor dhe thonë se përgjigja është 0. 690 00:35:49,410 --> 00:35:55,314 Dhe kështu që kur kemi shkruar përgjigjen këtu, ajo do të shtypura 0.00. 691 00:35:55,314 --> 00:35:58,430 >> JOSEPH: Dhe vetëm si një shënim, ai në fakt hedh larg se çfarë është pas 692 00:35:58,430 --> 00:35:59,390 presjes dhjetore. 693 00:35:59,390 --> 00:36:03,180 Pra, nëse ju në vend që kishte 6 ndahet nga 10, ju mund të mendoni se kjo do të ju jap 694 00:36:03,180 --> 00:36:05,200 0.6 dhe pastaj ju do të mbledh në 1. 695 00:36:05,200 --> 00:36:10,520 Por në fakt, çfarë ndodh kur shkruani Detyrat ajo është se ai bie ajo që është 696 00:36:10,520 --> 00:36:11,470 pas presjes dhjetore. 697 00:36:11,470 --> 00:36:13,020 Pra, 0.6 do të bëhet 0. 698 00:36:13,020 --> 00:36:13,370 >> Rob: Po. 699 00:36:13,370 --> 00:36:15,160 Dhe ne do të themi shkurtoj për këtë. 700 00:36:15,160 --> 00:36:21,760 Pra, sa herë që ju hedhin në një int, decimal është e cunguar. 701 00:36:21,760 --> 00:36:23,980 Pra, fix për këtë - nuk ka në të vërtetë dy. 702 00:36:23,980 --> 00:36:27,890 Dhe unë jam duke shkuar për të bërë atë të dytë, për shkak se kjo është një gjendje e vështirë shumë më e lehtë. 703 00:36:27,890 --> 00:36:32,670 >> Pra, një gjendje e vështirë është të përdorin gjithandej në ndarjen. 704 00:36:32,670 --> 00:36:34,720 Dhe me të vërtetë, ju vetëm duhet të të bëjë një prej tyre një noton. 705 00:36:34,720 --> 00:36:37,400 Por është disi më e qartë vetëm për të bërë dy prej tyre gjithandej. 706 00:36:37,400 --> 00:36:41,170 Pra 1.0 ndarë nga 10.0 është duke e ndarë dy gjithandej. 707 00:36:41,170 --> 00:36:43,970 Pra, përgjigja do të përfundojë si një noton, dhe kështu ju do të 708 00:36:43,970 --> 00:36:48,050 saktë të shtypura 0.10 këtu. 709 00:36:48,050 --> 00:36:52,220 >> Diçka që nuk punon aq mirë lidhje që është, mirë, i sigurt, ajo ishte e lehtë 710 00:36:52,220 --> 00:36:56,240 të mjaftueshme për të kthyer 1 për një noton duke e bërë atë 1.0. 711 00:36:56,240 --> 00:37:02,180 Por, çfarë nëse në vend të kësaj kemi pasur dy numra të plotë si int x është e barabartë me 1 dhe int y 712 00:37:02,180 --> 00:37:05,660 është e barabartë me 10, dhe pastaj kemi dashur për të mos ndahet nga x y? 713 00:37:05,660 --> 00:37:10,420 Pra, nuk është e lehtë për të vetëm të bëjë x.0 apo diçka. 714 00:37:10,420 --> 00:37:12,790 >> Pra, fix për të që po hedh. 715 00:37:12,790 --> 00:37:19,780 Pra, hedh është një mënyrë për të kthyer në C nga një lloj të ndryshueshme në një tjetër. 716 00:37:19,780 --> 00:37:22,320 Kështu here, 1 eshte nje numer i plote. 717 00:37:22,320 --> 00:37:27,050 Dhe, duke vënë këtë noton në para të kjo, ne jemi të hedh në 1 me një noton. 718 00:37:27,050 --> 00:37:30,350 Dhe kështu kjo do të konvertohet 1 në 1.0. 719 00:37:30,350 --> 00:37:33,380 Dhe kjo do të konvertohet 10 në 10.0. 720 00:37:33,380 --> 00:37:36,790 >> Dhe pastaj gjërat të sillen në mënyrë të ngjashme për të Versioni i mëparshëm ne vetëm tregoi 721 00:37:36,790 --> 00:37:42,190 ku, siç pritet, të marrim 0.10 dhe ajo do të shtypura atë. 722 00:37:42,190 --> 00:37:44,120 Dhe ne mund të bëjmë këtë me variablave, too. 723 00:37:44,120 --> 00:37:47,376 Pra, ne mund të themi, float x ndahet nga y noton. 724 00:37:47,376 --> 00:37:48,626 >> JOSEPH: Çdo pyetje? 725 00:37:48,626 --> 00:37:54,182 726 00:37:54,182 --> 00:38:00,090 >> Rob: Pra, ashtu si në matematikë të rregullt, ne kemi përparësi operatorit. 727 00:38:00,090 --> 00:38:06,960 Pra, në klasën e matematikës, ju jeni më shumë të ngjarë për të thirrur atë mënyrë të operacioneve. 728 00:38:06,960 --> 00:38:09,890 Këtu, termi zyrtar është përparësi operator. 729 00:38:09,890 --> 00:38:15,230 Por përparësi operatori, ose më operatorët, është si ju do të presin. 730 00:38:15,230 --> 00:38:22,660 >> Pra, ashtu si në matematikë, 2 herë 10 është do të grupohen më nga afër se 731 00:38:22,660 --> 00:38:25,410 kjo 10 ndahet nga 2 dhe pastaj 2. 732 00:38:25,410 --> 00:38:29,745 Urdhri i operacioneve, ajo do të bëjë 2 10 here, 10 ndarë nga 2, dhe pastaj 733 00:38:29,745 --> 00:38:32,720 ajo do të bëjë 20 plus 5 plus 2. 734 00:38:32,720 --> 00:38:37,020 Pra, kjo është siç pritet, dhe ju mund të përdorni kllapa për të shprehjeve të grupit. 735 00:38:37,020 --> 00:38:41,063 Ju nuk mund të përdorni kllapa katrore të shprehjeve të grupit. 736 00:38:41,063 --> 00:38:41,544 Po? 737 00:38:41,544 --> 00:38:43,468 >> Gjuha 5: A mund të vërtetë thjesht shkoni prapa një të dytë? 738 00:38:43,468 --> 00:38:47,316 A mund të hedhin një int për një varg? 739 00:38:47,316 --> 00:38:53,330 >> Rob: Pra në C, ju mund të hedhin ndonjë gjë ju doni të ndonjë gjë që ju dëshironi. 740 00:38:53,330 --> 00:38:55,600 Kjo nuk do të thotë se është një gjë e mirë për të bërë. 741 00:38:55,600 --> 00:38:59,760 Pra, kur ju hedhin një int të një varg, që do të thotë - 742 00:38:59,760 --> 00:39:03,240 dhe ne do të merrni në këtë shumë më tepër tërësisht - 743 00:39:03,240 --> 00:39:03,720 >> JOSEPH: Shumë më vonë. 744 00:39:03,720 --> 00:39:06,840 >> Rob: Unë nuk dua të them shumë më vonë, kështu që unë u përpoq të ndryshojë dënimin tim. 745 00:39:06,840 --> 00:39:13,370 Ne do të marrë në të shumë më hollësisht më vonë ku me të vërtetë, kur ju keni një 746 00:39:13,370 --> 00:39:14,810 string ndryshueshme - 747 00:39:14,810 --> 00:39:17,160 kështu një varg mund të jetë në mënyrë arbitrare e gjatë, e drejtë? 748 00:39:17,160 --> 00:39:21,850 Dhe ne kemi qenë duke thënë se një int është katër bytes dhe kohë të gjatë është tetë 749 00:39:21,850 --> 00:39:23,620 bytes dhe një noton është katër bytes. 750 00:39:23,620 --> 00:39:29,520 Pra, një varg, ashtu si një int, ka vetëm një numër i caktuar i bytes për të. 751 00:39:29,520 --> 00:39:31,800 Dhe kjo do të jetë katër bytes. 752 00:39:31,800 --> 00:39:34,750 >> Por një varg mund të jetë shumë e në mënyrë arbitrare të gjatë, e drejtë? 753 00:39:34,750 --> 00:39:40,190 Pra hello world tashmë, nëse kjo është 10 karaktere apo çfarëdo, kjo është tashmë 754 00:39:40,190 --> 00:39:42,670 do të jetë mbi 4 bytes Unë mund të përshtaten në një varg. 755 00:39:42,670 --> 00:39:51,140 Dhe kështu se si vargjet me të vërtetë punojnë është se ata janë ku në kujtim që string 756 00:39:51,140 --> 00:39:52,380 është duke u mbajtur. 757 00:39:52,380 --> 00:39:57,290 >> Dhe kështu këtu, kur them string x barabartë botë Hello, brenda x është 758 00:39:57,290 --> 00:40:01,840 vetëm duke thënë, oh, përshëndetje bota është ruajtur në këtë vend të veçantë në kujtesën. 759 00:40:01,840 --> 00:40:07,060 Pra, nëse ne të përpiqemi për të hedhur një numër të plotë të një string, atëherë ne jemi duke u përpjekur për të interpretuar 760 00:40:07,060 --> 00:40:10,500 një pjesë e rastësishme e kujtesës si një varg. 761 00:40:10,500 --> 00:40:14,465 Dhe kjo pothuajse gjithmonë thyen gjëra. 762 00:40:14,465 --> 00:40:17,040 >> JOSEPH: Por në qoftë se ngatërrojnë ju, ne do të mbulojnë atë 763 00:40:17,040 --> 00:40:17,550 më në thellësi më vonë. 764 00:40:17,550 --> 00:40:17,850 >> Rob: Po. 765 00:40:17,850 --> 00:40:20,540 Kjo është ajo ku ju do të jeni për të marrë në pointers. 766 00:40:20,540 --> 00:40:25,485 Dhe kjo është një copë e rëndësishme e dy javë të këtij kursi. 767 00:40:25,485 --> 00:40:28,275 >> Kryetari 6: A funksionon si objekte në gjuhë të tjera apo jo të vërtetë? 768 00:40:28,275 --> 00:40:34,050 >> Rob: Pra, në gjuhë të tjera, objekte do të përfaqësohen duke përdorur pointers. 769 00:40:34,050 --> 00:40:37,070 770 00:40:37,070 --> 00:40:38,793 Kjo nuk është e njëjta gjë, edhe pse. 771 00:40:38,793 --> 00:40:42,110 772 00:40:42,110 --> 00:40:42,910 Çdo mendime? 773 00:40:42,910 --> 00:40:43,760 >> JOSEPH: Jo. 774 00:40:43,760 --> 00:40:44,185 Nuk ka mendimet. 775 00:40:44,185 --> 00:40:44,980 >> Rob: OK. 776 00:40:44,980 --> 00:40:46,994 >> JOSEPH: Next. 777 00:40:46,994 --> 00:40:48,255 >> Rob: Vetëm vazhdo me atë. 778 00:40:48,255 --> 00:40:48,670 Dakord. 779 00:40:48,670 --> 00:40:51,120 Pra modulo. 780 00:40:51,120 --> 00:40:53,900 Ashtu si ne kemi plus, minus, ndajnë, dhe të shumohen. 781 00:40:53,900 --> 00:40:56,720 Pra modulo është një që ju mund të nuk e kanë parë më parë. 782 00:40:56,720 --> 00:40:59,540 Dhe kjo vetëm thotë, të japë me pjesën e mbetur të. 783 00:40:59,540 --> 00:41:02,850 Pra 55% 10. 784 00:41:02,850 --> 00:41:06,840 Pjesa e mbetur e bërë 55 e ndarë me 10 do të jetë 5. 785 00:41:06,840 --> 00:41:09,630 Pra 55% 10 është 5. 786 00:41:09,630 --> 00:41:12,260 Dhe 3% 5 do të jetë 3. 787 00:41:12,260 --> 00:41:14,180 8% 8 do të jetë 0. 788 00:41:14,180 --> 00:41:15,903 16% 15 do të jetë 1. 789 00:41:15,903 --> 00:41:20,670 >> JOSEPH: Një gjë të përmendet me këtë, gjithashtu, është ajo mund të mos punojnë siç pritet 790 00:41:20,670 --> 00:41:22,700 në qoftë se ju përdorni një numër negativ. 791 00:41:22,700 --> 00:41:26,215 Pra negative 5% 4, disa njerëz mund të mendojnë se është - 792 00:41:26,215 --> 00:41:28,890 793 00:41:28,890 --> 00:41:33,808 çfarë do të mendoni negative 5% 4 do të jetë? 794 00:41:33,808 --> 00:41:34,792 >> Gjuha 5: Një. 795 00:41:34,792 --> 00:41:37,920 >> JOSEPH: Pra, disa njerëz thonë se një, disa njerëz thonë se një të tillë negativ. 796 00:41:37,920 --> 00:41:38,450 Por ajo - 797 00:41:38,450 --> 00:41:40,820 >> Rob: Unë nuk do të ketë edhe tha një nga ata. 798 00:41:40,820 --> 00:41:42,370 >> JOSEPH: Dy, sorry. 799 00:41:42,370 --> 00:41:43,240 Disa njerëz thonë - 800 00:41:43,240 --> 00:41:43,450 >> Rob: Tre. 801 00:41:43,450 --> 00:41:43,800 >> JOSEPH: Tre? 802 00:41:43,800 --> 00:41:44,890 >> Rob: Negativ - 803 00:41:44,890 --> 00:41:45,950 çfarë ishte - negative pesë - 804 00:41:45,950 --> 00:41:47,100 >> JOSEPH: Tre, tre, tre. 805 00:41:47,100 --> 00:41:48,450 Më vjen keq. 806 00:41:48,450 --> 00:41:51,910 Sepse modulo, në përgjithësi, kur ju keni parë atë diku tjetër, kjo zakonisht do të thotë 807 00:41:51,910 --> 00:41:54,000 të kthejë një numër pozitiv, apo jo? 808 00:41:54,000 --> 00:42:01,160 >> Rob: Pra, kur themi në matematikë, 10% e, ata kanë tendencë të duan të ju jap - 809 00:42:01,160 --> 00:42:05,980 nëse ne mod me 10, atëherë ne presim që të të marrë një numër midis 0 dhe 9. 810 00:42:05,980 --> 00:42:09,860 Në këtu, se nuk është rasti që ju do të merrni numrat negativ kthyer. 811 00:42:09,860 --> 00:42:15,898 >> JOSEPH: Pra negative 5% 4 do të ishte negative 1. 812 00:42:15,898 --> 00:42:19,325 >> Rob: Por është e rrallë që ju jeni mod-ing numrat negativ për të filluar me. 813 00:42:19,325 --> 00:42:25,490 814 00:42:25,490 --> 00:42:25,970 Kalo këtë. 815 00:42:25,970 --> 00:42:27,314 >> Joseph: Po. 816 00:42:27,314 --> 00:42:29,420 >> Rob: Meh. 817 00:42:29,420 --> 00:42:29,990 OK. 818 00:42:29,990 --> 00:42:36,400 Pra, një gjë e fundit për të nxjerrë në pah në lidhje me gjithandej është kjo është një sjellje e rrezikshme, 819 00:42:36,400 --> 00:42:39,850 por gjithandej nuk janë një e saktë përfaqësim. 820 00:42:39,850 --> 00:42:46,190 Pra, kthim në bytes përsëri, mos harroni se një int është gjithmonë katër bytes dhe një 821 00:42:46,190 --> 00:42:47,830 noton është gjithmonë katër bytes. 822 00:42:47,830 --> 00:42:51,340 Pra shembull Lucas-së është shumë e mirë. 823 00:42:51,340 --> 00:42:55,730 >> Pra, mendoj se e 1 pjestuar me 3. 824 00:42:55,730 --> 00:42:57,800 Pra ,3333333. 825 00:42:57,800 --> 00:43:03,540 Nëse unë vetëm 32 bit, se si mund të I ruajtur 0,33333 saktësisht? 826 00:43:03,540 --> 00:43:07,250 Dhe ndoshta, për çfarëdo arsye, ju thoni, të gjithë të drejtë, të mirë, le të them vetëm 827 00:43:07,250 --> 00:43:13,210 që kjo të veçantë 1011001, le të them vetëm që duhet të jetë 0,333333. 828 00:43:13,210 --> 00:43:16,960 E pra, ju keni vetëm një numër i caktuar i ato copa, kështu që është e pamundur të 829 00:43:16,960 --> 00:43:22,550 përfaqësojnë çdo pikë të vetme luhatjes Vlera e dhënë vetëm 32 bit. 830 00:43:22,550 --> 00:43:25,580 >> E pra, është e pamundur për të përfaqësuar ndonjë vlera pikë lundrues dhënë pafund - 831 00:43:25,580 --> 00:43:28,480 mirë, duke pasur parasysh ndonjë numër i caktuar i bit. 832 00:43:28,480 --> 00:43:38,265 Pra, çështja këtu është, mirë, kur kemi përdorur për të shkruar në dy numra pas presjes dhjetore, 833 00:43:38,265 --> 00:43:42,000 ne e saktë të merrni përgjigje 0.10. 834 00:43:42,000 --> 00:43:47,510 Por nën kapuç, është e vërtetë duke u ruajtur sa më pranë të jetë e mundur për të 835 00:43:47,510 --> 00:43:51,790 0.10 si ato bit mund të përfaqësojnë. 836 00:43:51,790 --> 00:43:53,200 A është kjo në rrëshqitje e ardhshme? 837 00:43:53,200 --> 00:43:53,830 Apo nuk është ajo? 838 00:43:53,830 --> 00:43:54,660 >> Joseph: Po, është se. 839 00:43:54,660 --> 00:43:55,750 >> Rob: Blegh, blegh. 840 00:43:55,750 --> 00:43:57,760 >> JOSEPH: Po, ju mund vetëm të tërheq shënimet deri pak. 841 00:43:57,760 --> 00:43:59,700 >> Rob: Unë jam vetëm do të zoom në më të fundit në këtë. 842 00:43:59,700 --> 00:44:00,950 Oh Zot, kjo është [e padëgjueshme]. 843 00:44:00,950 --> 00:44:06,089 844 00:44:06,089 --> 00:44:08,300 Kështu që numri. 845 00:44:08,300 --> 00:44:12,300 Kjo është ajo që do të jenë të shtypura nëse kemi drejtuar këtë program. 846 00:44:12,300 --> 00:44:20,340 Dhe vini re se nuk është me të vërtetë një punë e madhe në qoftë se ne jemi vetëm kujdeset për si 847 00:44:20,340 --> 00:44:21,920 02:58 vende dhjetore. 848 00:44:21,920 --> 00:44:26,700 Ashtu si ne vetëm në fillim të shtypura 0.10, dhe kjo është arsyeja pse kemi parë asnjë të keqe. 849 00:44:26,700 --> 00:44:31,380 Por sapo të filloni të keni në saktë, numri i saktë se është e 850 00:44:31,380 --> 00:44:35,660 përfaqësojnë, ne shohim se kjo nuk mund të pikërisht përfaqësojnë 0.1. 851 00:44:35,660 --> 00:44:40,900 >> Dhe pjesë e problemit është si këtu, të gjithë të drejtë, kjo është në rregull, por, edhe, 852 00:44:40,900 --> 00:44:46,120 së pari, ajo që në qoftë se ne u përpoq për të bërë, Përgjigja është e barabartë është e barabartë me 0.1? 853 00:44:46,120 --> 00:44:49,200 Është se do të kthehet e vërtetë apo e rreme? 854 00:44:49,200 --> 00:44:51,850 Dhe kështu që është e vështirë për të thënë. 855 00:44:51,850 --> 00:44:53,330 Unë mendoj se ai në fakt mund të kthehet e vërtetë. 856 00:44:53,330 --> 00:44:55,265 A do ajo të parë - 857 00:44:55,265 --> 00:44:56,180 Nuk e di. 858 00:44:56,180 --> 00:45:00,090 Përgjigja është një herë ju filloni që kanë të bëjnë me vlera pikë lundrues, ju shumë e 859 00:45:00,090 --> 00:45:05,150 shumë nuk duhet të jetë duke përdorur barazinë për shkak të këtij pasaktësisë. 860 00:45:05,150 --> 00:45:09,470 >> Dhe për të gjithë ju e dini, kjo është e qindta Vendi decimal se 861 00:45:09,470 --> 00:45:13,670 pikë lundrues nuk ishte në gjendje për të trajtuar si duhet. 862 00:45:13,670 --> 00:45:18,180 Dhe kështu barazinë vetëm do të dështojnë edhe pse numri - në qoftë se ju kishte qenë 863 00:45:18,180 --> 00:45:24,450 duke përdorur numrat e saktë, numrat duhet kanë qenë të njëjtë. 864 00:45:24,450 --> 00:45:27,790 Është e gjatë si 50 llogaritje duke përdorur këto lundrues 865 00:45:27,790 --> 00:45:30,270 Vlerat pikë, gabimi mund të ndërtojë lart e lart e lart, dhe 866 00:45:30,270 --> 00:45:31,125 gjëra të vetëm të merrni të gabuar. 867 00:45:31,125 --> 00:45:33,870 >> JOSEPH: Dhe nuk kanë qenë me të vërtetë shembuj të famshëm të kësaj ndodh. 868 00:45:33,870 --> 00:45:37,190 Ashtu si inxhinierët e NASA-s kanë marrë këtë gabuar, duke shkaktuar raketa të shpërthejnë në 869 00:45:37,190 --> 00:45:38,665 ajrit, pasi ata kanë qenë të nisur. 870 00:45:38,665 --> 00:45:41,490 Dhe shumë çështje si kjo. 871 00:45:41,490 --> 00:45:41,956 Pra, vërtet. 872 00:45:41,956 --> 00:45:45,218 >> Kryetari 6: Kur thoni 0.3 f, e bën atë të shkurtoj pjesën tjetër? 873 00:45:45,218 --> 00:45:46,468 Ose e bën atë të rrumbullakosë më lart ose poshtë? 874 00:45:46,468 --> 00:45:48,800 875 00:45:48,800 --> 00:45:50,200 >> Rob: A do printf raundin atë? 876 00:45:50,200 --> 00:45:52,180 >> Joseph: Unë mendoj truncates printf. 877 00:45:52,180 --> 00:45:52,640 >> Rob: OK. 878 00:45:52,640 --> 00:45:59,890 Pra, ne mund të shkojnë në mënyrë të ngjashme në të kundërtën Drejtimi i kësaj ka ku, në këtë rast, 879 00:45:59,890 --> 00:46:03,320 më e afërt ajo mund të përfaqësojë 0.1 ishte me këtë numër. 880 00:46:03,320 --> 00:46:06,820 Më e afërt mund të jetë në gjendje të përfaqësojnë 0,2 është në të kundërt 881 00:46:06,820 --> 00:46:11,420 drejtim, 0,199999996356 apo diçka. 882 00:46:11,420 --> 00:46:17,480 Pra, nëse kemi shkuar në atë drejtim të gjërat, atëherë printf 0.3 f do të kthehen 883 00:46:17,480 --> 00:46:20,866 1.99 në vend të 2.00. 884 00:46:20,866 --> 00:46:22,960 >> JOSEPH: Dhe unë nuk jam plotësisht i i sigurt në këtë. 885 00:46:22,960 --> 00:46:25,430 Ju mund të dëshironi të shkruani një të vogël, pak program të vetëm të kontrolluar atë. 886 00:46:25,430 --> 00:46:29,370 >> Rob: Edhe pse, ajo që ne jemi të sigurt se është e nëse jeni përpjekur për të hedhur atë në një 887 00:46:29,370 --> 00:46:33,660 int, dhe hedh në një int do të bëj që të shkurtoj decimal të, në qoftë se 888 00:46:33,660 --> 00:46:38,140 ju përpiqeni të hedhur 1.9999999 në një int, ju do të merrni 1. 889 00:46:38,140 --> 00:46:41,440 Dhe kështu që ju duhet të përdorni në përgjithësi funksion rrumbullakët në bibliotekë matematikë. 890 00:46:41,440 --> 00:46:44,190 891 00:46:44,190 --> 00:46:45,440 Pyetje? 892 00:46:45,440 --> 00:46:47,660 893 00:46:47,660 --> 00:46:48,982 OK. 894 00:46:48,982 --> 00:46:54,000 >> JOSEPH: Pra, të lëvizin për në kushtet e dhe shprehjet Boolean. 895 00:46:54,000 --> 00:46:58,120 Pra, ju keni parë këto para. 896 00:46:58,120 --> 00:47:07,420 Dhe në fakt, më lejoni të sigurt tim kompjuteri është në formatin e duhur këtu. 897 00:47:07,420 --> 00:47:08,670 Hapësirë. 898 00:47:08,670 --> 00:47:10,630 899 00:47:10,630 --> 00:47:13,870 Na vjen keq, ne do të duhet të merren një pak me ndërprerje në skajet. 900 00:47:13,870 --> 00:47:15,830 >> Por, vërtet, ju djema keni parë këtë më parë në Scratch. 901 00:47:15,830 --> 00:47:19,930 Pra, kjo e drejtë këtu është një shprehje cili përdoret në 902 00:47:19,930 --> 00:47:21,250 një deklaratë e kushtëzuar. 903 00:47:21,250 --> 00:47:23,930 Pra, përgjigjen më të madhe se zero vullnetit ju them vërtetë apo e rreme. 904 00:47:23,930 --> 00:47:26,530 Dhe këto janë të vërtetë e rëndësishme, sepse ata na lejojë të prezantuar 905 00:47:26,530 --> 00:47:28,670 logjikë në kodin tonë. 906 00:47:28,670 --> 00:47:32,820 >> Kështu për shembull, ky është një program shkruar në Scratch që kërkon përdoruesin 907 00:47:32,820 --> 00:47:36,980 për një numër të plotë dhe u tregon atyre se a numër i plotë që ata ju dha ishte një 908 00:47:36,980 --> 00:47:38,690 numër pozitiv apo negativ. 909 00:47:38,690 --> 00:47:42,980 Dhe konvertimit mbi këtu për të parë është ju së pari të shtypura nga deklaratë, 910 00:47:42,980 --> 00:47:43,870 më jepni një numër të plotë. 911 00:47:43,870 --> 00:47:45,980 Dhe pastaj ju pyet ata për një numër të plotë. 912 00:47:45,980 --> 00:47:49,870 >> Dhe pastaj ju përdorni logjikën e kushtëzuar mbi këtu për të kontrolluar nëse ai numër 913 00:47:49,870 --> 00:47:52,030 ishte në fakt më i madh se zero ose jo. 914 00:47:52,030 --> 00:47:58,960 Pra, këtu ne kemi një shprehje Boolean brenda një kushtëzuar Nëse deklaratë. 915 00:47:58,960 --> 00:48:00,660 A ka ndonjë pyetje? 916 00:48:00,660 --> 00:48:03,030 A ka ndonjë pyetje në lidhje me këtë? 917 00:48:03,030 --> 00:48:03,950 OK. 918 00:48:03,950 --> 00:48:06,140 >> Pra, nuk ka më shumë se vetëm më e madhe se, natyrisht. 919 00:48:06,140 --> 00:48:10,385 Ju mund të ndërtojnë shprehje boolean duke përdorur shumicën e llojet e gjërave që ju 920 00:48:10,385 --> 00:48:11,150 do të mendojnë për në matematikë. 921 00:48:11,150 --> 00:48:12,370 Kaq e madhe se. 922 00:48:12,370 --> 00:48:13,740 Kjo duhet të jetë një më pak se. 923 00:48:13,740 --> 00:48:14,990 Më vjen keq. 924 00:48:14,990 --> 00:48:18,520 925 00:48:18,520 --> 00:48:19,760 Dhe ndarje. 926 00:48:19,760 --> 00:48:22,971 >> Rob: Zoti na ruajt ju lënë atë. 927 00:48:22,971 --> 00:48:23,620 >> Joseph: Në rregull. 928 00:48:23,620 --> 00:48:25,950 Kaq e madhe se, më pak se, madhe se, ose te barabarte, më pak 929 00:48:25,950 --> 00:48:27,070 se, ose e barabarte me. 930 00:48:27,070 --> 00:48:31,980 Ne përdorim të dyfishtë është e barabartë për të kontrolluar për barazia, sepse vetëm e barabartë me mjete 931 00:48:31,980 --> 00:48:32,810 detyrë, e drejtë? 932 00:48:32,810 --> 00:48:33,140 Po. 933 00:48:33,140 --> 00:48:37,130 Dhe atëherë ne mund gjithashtu nuk është e barabartë me duke përdorur pikëçuditëse, është e barabartë. 934 00:48:37,130 --> 00:48:41,530 >> Dhe ky simbol pikëçuditëse mund gjithashtu të zgjatet në mënyrë që në qoftë se ju doni 935 00:48:41,530 --> 00:48:44,050 për të kthyer çdo lloj Boolean shprehje, ju mund ta bëni këtë. 936 00:48:44,050 --> 00:48:48,530 Pra, kjo do të vlerësojë të vërtetë vetëm nëse përgjigja është më pak 937 00:48:48,530 --> 00:48:51,240 se ose e barabarte me zero. 938 00:48:51,240 --> 00:48:53,950 Çdo pyetje mbi këtë? 939 00:48:53,950 --> 00:48:55,180 OK. 940 00:48:55,180 --> 00:48:58,840 >> Kështu që ju mund të kombinohen këto Shprehjet duke përdorur logjike dhe dhe 941 00:48:58,840 --> 00:48:59,790 Ose logjike. 942 00:48:59,790 --> 00:49:03,530 Pra, kjo është vetëm simbol Dhe, e cila duhet të jetë Shift, 7. 943 00:49:03,530 --> 00:49:07,720 Dhe kjo eshte simbol tub, e cila është jo një rast më të ulët L. Kjo është një 944 00:49:07,720 --> 00:49:09,440 kjo është e drejtë mbi tastin Enter tuaj. 945 00:49:09,440 --> 00:49:12,870 Kështu që ju përdorni dy nga këto për të simbolizoj logjike dhe logjike Ose. 946 00:49:12,870 --> 00:49:18,180 >> Pra, kjo vetëm do të kthehet e vërtetë në qoftë se përgjigja është një, dy, tre, ose katër. 947 00:49:18,180 --> 00:49:23,030 Dhe kjo vetëm do të kthehet e vërtetë në qoftë se përgjigja është përtej se në të dyja anët. 948 00:49:23,030 --> 00:49:26,190 Kështu që nuk është një, dy, tre, ose katër. 949 00:49:26,190 --> 00:49:28,385 Dhe mënyra që ju do të përdorni që në shprehje - 950 00:49:28,385 --> 00:49:29,990 >> ROB: ose një zero ose një në pesë. 951 00:49:29,990 --> 00:49:32,200 >> JOSEPH: Zero ose një pesë. 952 00:49:32,200 --> 00:49:32,380 Më vjen keq. 953 00:49:32,380 --> 00:49:33,320 Po, po, po. 954 00:49:33,320 --> 00:49:34,180 OK. 955 00:49:34,180 --> 00:49:38,980 Dhe këtu tani, në të njëjtën mënyrë ju do të përdorin këtë shprehje dhe një më të vogël 956 00:49:38,980 --> 00:49:42,000 anë shprehje e një Nëse kushtëzuar deklaratë, ju do të përdorë gjithashtu edhe atë 957 00:49:42,000 --> 00:49:47,800 njëjtën mënyrë nga vetëm vënë atë në brendësi të të kllapat e deklaratës Nëse është. 958 00:49:47,800 --> 00:49:54,020 Pra, kjo printf do të zjarrit vetëm nëse përgjigja është një, dy, tre, ose katër. 959 00:49:54,020 --> 00:49:56,002 Çdo pyetje në kombinimin e Shprehjet? 960 00:49:56,002 --> 00:50:00,450 961 00:50:00,450 --> 00:50:04,240 >> Pra, ka një tjetër të kushtëzuar të ndërtuar që ne e quajmë një rast / Tjetër. 962 00:50:04,240 --> 00:50:08,120 Pra, në thelb, kjo tani do të thotë, OK, qoftë diçka që kam kërkuar për të kontrolluar nuk ishte 963 00:50:08,120 --> 00:50:11,600 e vërtetë, atëherë shkoni në tjetër dhe kryejë atë veprim tjetër. 964 00:50:11,600 --> 00:50:15,570 Pra, në këtë rast të veçantë, e pyeta përdoruesit për një numër të plotë. 965 00:50:15,570 --> 00:50:17,790 Është numër i plotë më i madh se zero? 966 00:50:17,790 --> 00:50:18,310 Po? 967 00:50:18,310 --> 00:50:20,100 E pra, atëherë ata kap një numër pozitiv. 968 00:50:20,100 --> 00:50:22,320 Nëse jo, atëherë ajo duhet të ketë qenë negative ose zero. 969 00:50:22,320 --> 00:50:27,530 Kështu që ju kap një numër negativ ose një zero në këtë rast. 970 00:50:27,530 --> 00:50:29,235 Po. 971 00:50:29,235 --> 00:50:30,485 Ose një zero. 972 00:50:30,485 --> 00:50:36,320 973 00:50:36,320 --> 00:50:39,300 >> Dhe atëherë ne gjithashtu kemi rast / Tjetër, Nëse dhe tjetër. 974 00:50:39,300 --> 00:50:45,640 Pra, kjo na lejon të ekzekutojë një rend të gjërat vetëm në qoftë se të parët dështojnë. 975 00:50:45,640 --> 00:50:49,540 Pra, në këtë rast, tani ne jemi duke e bërë e fundit ju të vini zero. 976 00:50:49,540 --> 00:50:53,080 Pra, në qoftë se ata as zgjedhur një pozitiv as një numër negativ, atëherë ata duhet të 977 00:50:53,080 --> 00:50:53,640 kanë zgjedhur zero. 978 00:50:53,640 --> 00:50:56,720 Pra, vetëm ajo shkon poshtë zinxhir si kjo. 979 00:50:56,720 --> 00:50:59,960 >> Pra, një shembull se si një Nëse është e ndryshme nga - 980 00:50:59,960 --> 00:51:02,590 Nëse një / tjetër është i ndryshëm nga vetëm një sekuencë e Ifs. 981 00:51:02,590 --> 00:51:07,680 Dhe kjo është një pyetje e zakonshme që njerëzit pyesin është, mirë, në qoftë se ju merrni si një 982 00:51:07,680 --> 00:51:11,265 95 në CS50, çfarë do të këtë Programi ju them? 983 00:51:11,265 --> 00:51:12,600 >> Gjuha 5: Ju mori një A. 984 00:51:12,600 --> 00:51:13,490 >> Joseph: Po. 985 00:51:13,490 --> 00:51:14,960 Ju mori çdo të vetme një nga ata të drejtë. 986 00:51:14,960 --> 00:51:17,130 Ju mori një Një, ju mori një B, ju mori një C dhe një D, e drejtë? 987 00:51:17,130 --> 00:51:19,770 Pra, të gjitha këto merrni vlerësuar me qëllim. 988 00:51:19,770 --> 00:51:23,570 Kështu duke a 95 është më i madh se 90, që është edhe më i madh se 80, është gjithashtu 989 00:51:23,570 --> 00:51:25,790 madh se 70, dhe është e edhe më të madh se 60. 990 00:51:25,790 --> 00:51:27,620 Kështu që ju mori të gjithë ata notave. 991 00:51:27,620 --> 00:51:31,630 Dhe unë të marrë ju do vetëm duan A. 992 00:51:31,630 --> 00:51:34,060 >> Mënyra për të rregulluar që është për të zëvendësuar ata me Else / Nëse 's. 993 00:51:34,060 --> 00:51:37,540 Pra, në këtë skenar, ai sheh se 95 është madh se 90, dhe më pas kjo nuk 994 00:51:37,540 --> 00:51:38,885 nuk e vlerësojnë pjesën tjetër e deklaratave. 995 00:51:38,885 --> 00:51:41,900 996 00:51:41,900 --> 00:51:43,150 Ndonjë pyetje në lidhje me këtë? 997 00:51:43,150 --> 00:51:48,580 998 00:51:48,580 --> 00:51:52,470 >> Pra, ka një tjetër lloj kusht e strukturë që ne kemi këtu të cilat ne 999 00:51:52,470 --> 00:51:53,390 thirrur një deklaratë të kaloni. 1000 00:51:53,390 --> 00:51:57,390 Pra, kjo ju lejon të shikoni në thelb çfarë vlera e një numri të vendosni 1001 00:51:57,390 --> 00:51:59,000 në deklaratë lundrimi është. 1002 00:51:59,000 --> 00:52:03,200 Pra, në këtë skenar, ne jemi kalimi on n, dhe ne jemi duke thënë, oh, nëse n është 1003 00:52:03,200 --> 00:52:04,710 një, pastaj të shtypura atë deklaratë. 1004 00:52:04,710 --> 00:52:07,910 Dhe pastaj të thyer, që do të thotë dalje nga deklaratës lundrimi. 1005 00:52:07,910 --> 00:52:12,670 >> Në qoftë se kjo nuk ishte një, atëherë, mirë, vetëm përfundimisht të kontrolluar të gjitha ato raste. 1006 00:52:12,670 --> 00:52:16,280 Dhe kështu që kontrollon nëse është e një ose dy ose tre, dhe ajo kopje në përputhje me rrethanat. 1007 00:52:16,280 --> 00:52:19,780 Dhe ajo që ky fjalen parazgjedhur këtu do të thotë është në qoftë se ata nuk hynë asnjë 1008 00:52:19,780 --> 00:52:21,690 e atyre, atëherë thonë e pavlefshme. 1009 00:52:21,690 --> 00:52:25,910 Pra, le të thonë se unë të kërkojë n dhe përdoruesi më jep katër. 1010 00:52:25,910 --> 00:52:29,470 E pra, ajo ndeshje asnjë nga ato raste, kështu ajo do të shtypura nga çfarë është në 1011 00:52:29,470 --> 00:52:30,540 Seksioni default. 1012 00:52:30,540 --> 00:52:31,180 Po, pyetje? 1013 00:52:31,180 --> 00:52:32,614 >> Gjuha 5: Mund të përdorni Boolean shprehje në vend të 1014 00:52:32,614 --> 00:52:33,570 një, dy, ose tre? 1015 00:52:33,570 --> 00:52:36,940 >> JOSEPH: Pra, pyetja është e mund të përdorni Shprehje Boolean në vend të njërit, 1016 00:52:36,940 --> 00:52:37,940 dy dhe tre? 1017 00:52:37,940 --> 00:52:40,520 Dhe në C, unë besoj se ju nuk mund ta bëjë këtë. 1018 00:52:40,520 --> 00:52:44,320 Por në gjuhë të tjera, të cilat ju mund hasni në fund të 1019 00:52:44,320 --> 00:52:46,460 Semestri si JavaScript, ju mund. 1020 00:52:46,460 --> 00:52:50,050 E pra, ju do të duhet për të llogaritur parë që vlera dhe pastaj e përdorin atë në 1021 00:52:50,050 --> 00:52:50,650 kaloni deklaratë. 1022 00:52:50,650 --> 00:52:50,930 Po? 1023 00:52:50,930 --> 00:52:54,760 >> Rob: Pra, pjesë e të mirën e kaloni Deklaratat po mendojnë për nëse ju e bëri këtë 1024 00:52:54,760 --> 00:52:58,680 si një rast / Tjetër, kështu që si në qoftë se është e barabartë me n është e barabartë me një ose çfarëdo. 1025 00:52:58,680 --> 00:53:00,300 Else / Nëse n është e barabartë me dy është e barabartë, çfarëdo. 1026 00:53:00,300 --> 00:53:01,960 Else / Nëse n është e barabartë e barabartë me tre. 1027 00:53:01,960 --> 00:53:05,930 Pra, mënyra se programi do të kandidojë është ajo do të shkojë sequentially poshtë atë listë 1028 00:53:05,930 --> 00:53:07,500 dhe kontrolloni, është n një të tillë? 1029 00:53:07,500 --> 00:53:08,040 Jo. 1030 00:53:08,040 --> 00:53:09,070 N është dy? 1031 00:53:09,070 --> 00:53:09,490 Jo. 1032 00:53:09,490 --> 00:53:10,940 N është tre? 1033 00:53:10,940 --> 00:53:11,710 Po. 1034 00:53:11,710 --> 00:53:12,610 E bëjnë këtë. 1035 00:53:12,610 --> 00:53:15,270 >> Ndërsa me kaloni deklarata, është e në të vërtetë në gjendje të hartojë që ajo të jetë 1036 00:53:15,270 --> 00:53:16,360 të vërtetë të shpejtë. 1037 00:53:16,360 --> 00:53:19,550 Dhe, sa më shpejt që ajo thotë kaloni, ajo thotë, të gjithë të drejtë, n është dy, unë jam 1038 00:53:19,550 --> 00:53:23,060 menjëherë do të hidhen për të ku Unë jam duke menduar për të filluar ekzekutimin. 1039 00:53:23,060 --> 00:53:26,080 Unë nuk jam duke shkuar për të parë të kontrolluar, n është një, është n dy? 1040 00:53:26,080 --> 00:53:28,860 Ajo menjëherë mund të fillojnë të bëjnë ajo që është menduar për të bërë. 1041 00:53:28,860 --> 00:53:33,830 >> Dhe për shkak të kësaj, ajo nuk mund të të marrë kushtet boolean. 1042 00:53:33,830 --> 00:53:36,480 Apo tjetër ajo do të duhet të bëjë vijues, si, të gjithë të drejtë, është n 1043 00:53:36,480 --> 00:53:37,820 madh se zero? 1044 00:53:37,820 --> 00:53:41,140 Tjetër është n madhe se 10 ose çfarëdo. 1045 00:53:41,140 --> 00:53:44,780 >> Joseph: Në këtë rast, në qoftë se keni përdorur Në qoftë / tjetër, qoftë së, atëherë do të kaloni 1046 00:53:44,780 --> 00:53:47,792 drejtuar rreth tri herë më shpejt se në qoftë se / Por në rast se. 1047 00:53:47,792 --> 00:53:53,060 1048 00:53:53,060 --> 00:53:56,040 Ne mund të organizojë kaloni në të tilla një mënyrë që ne nuk do të thyejnë 1049 00:53:56,040 --> 00:53:57,520 pas secilit nga raste. 1050 00:53:57,520 --> 00:54:00,960 Pra, në këtë rast, unë jam ndarjen Numrat që kemi zgjedhur në një dhe 1051 00:54:00,960 --> 00:54:04,250 dy duke qenë jo numrat e larta dhe tre të qenë një numër i lartë. 1052 00:54:04,250 --> 00:54:08,290 >> Kështu në këtë rast, nese n eshte nje ose dy, ajo do të goditur rastin dhe pastaj ajo do të 1053 00:54:08,290 --> 00:54:10,640 dështoj, sepse nuk ka pushim. 1054 00:54:10,640 --> 00:54:11,610 Dhe kjo do të përfundojë këtu. 1055 00:54:11,610 --> 00:54:15,360 Pra, në qoftë se ne të vini një të tillë, ajo do të bëjë printf dhe pastaj të thyer kështu se asnjë nga 1056 00:54:15,360 --> 00:54:17,610 kjo është ekzekutuar. 1057 00:54:17,610 --> 00:54:21,870 Dhe sigurisht, në qoftë se ata hyjnë në tre apo diçka tjetër, atëherë ajo do të kaloni 1058 00:54:21,870 --> 00:54:25,320 ata dhe të mos shkojnë atje, dhe kjo do të zbatoj në vend 1059 00:54:25,320 --> 00:54:27,490 linjë korresponduese. 1060 00:54:27,490 --> 00:54:29,390 A ka ndonjë pyetje në lidhje me këtë? 1061 00:54:29,390 --> 00:54:29,780 Po? 1062 00:54:29,780 --> 00:54:32,642 >> Kryetari 4: A do të merrni një gabim, nëse ju kishte një pushim pas një rast, por ajo 1063 00:54:32,642 --> 00:54:34,550 nuk kanë diçka për të për të bërë? 1064 00:54:34,550 --> 00:54:37,820 >> JOSEPH: Pra, pyetja është e do të merrni një gabim në qoftë se ju keni një pushim pas 1065 00:54:37,820 --> 00:54:39,730 rast një, por nuk ka asgjë për të bërë? 1066 00:54:39,730 --> 00:54:41,520 Dhe përgjigja është jo. 1067 00:54:41,520 --> 00:54:43,172 Ju nuk do të ketë në fakt një gabim. 1068 00:54:43,172 --> 00:54:44,590 Po, mm hmm. 1069 00:54:44,590 --> 00:54:54,540 >> Pra, si lloj i një ndryshim pak këtu, Unë jam duke shkuar për të vënë një printf këtu. 1070 00:54:54,540 --> 00:54:55,790 Uh. 1071 00:54:55,790 --> 00:55:00,994 1072 00:55:00,994 --> 00:55:04,880 Pra, çfarë do të këtë të shtypura nëse I vënë një në si input? 1073 00:55:04,880 --> 00:55:07,530 1074 00:55:07,530 --> 00:55:07,770 Po. 1075 00:55:07,770 --> 00:55:10,360 Kjo do të ju them se nuk ka marrë një numër i lartë dy herë, e drejtë? 1076 00:55:10,360 --> 00:55:13,500 Për shkak se ajo do të goditur atë rastin e parë, ajo nuk do të thyer, dhe ajo do të bie 1077 00:55:13,500 --> 00:55:15,730 deri në rastin e dytë. 1078 00:55:15,730 --> 00:55:16,950 Ndonjë pyetje në lidhje me këtë? 1079 00:55:16,950 --> 00:55:18,280 >> Rob: A keni një pyetje tjetër? 1080 00:55:18,280 --> 00:55:20,840 >> JOSEPH: OK, ftohtë. 1081 00:55:20,840 --> 00:55:22,400 Dakord. 1082 00:55:22,400 --> 00:55:25,780 Pra, nuk është diçka tjetër që ne e quajmë një Operatori tresh e cila është në thelb një 1083 00:55:25,780 --> 00:55:29,010 Sintaksa alternative për të bërë Nëse dhe pastaj tjetër. 1084 00:55:29,010 --> 00:55:30,470 Dhe kjo ju lejon të bëni të gjitha në një rresht. 1085 00:55:30,470 --> 00:55:34,110 Pra, në këtë program të veçantë, Unë jam duke i kërkuar përdoruesit për n. 1086 00:55:34,110 --> 00:55:37,190 Dhe nëse n është më i madh se 100, unë them ata kanë zgjedhur një numër të lartë. 1087 00:55:37,190 --> 00:55:39,560 Tjetër unë them atyre se ata zgjedhur një numër të ulët. 1088 00:55:39,560 --> 00:55:43,030 >> Pra, ne mund të përdorni këtë sintaksë të vërtetë të gjatë, varg, S, dhe pastaj kontrolluar nëse n është 1089 00:55:43,030 --> 00:55:45,260 më e madhe se 100 dhe të caktojë ajo në përputhje me rrethanat. 1090 00:55:45,260 --> 00:55:49,450 Por ne mund të bëjë këtë shumë më konciz duke përdorur këtë sintaksë tresh operatorit 1091 00:55:49,450 --> 00:55:52,090 e cila përfshin një pyetje shenjë dhe një zorrë e trashë. 1092 00:55:52,090 --> 00:55:55,070 Pra pikëpyetje është në thelb duke i kërkuar një pyetje, apo jo? 1093 00:55:55,070 --> 00:55:56,625 >> Rob: Ndoshta zoom në atë. 1094 00:55:56,625 --> 00:55:57,372 >> Joseph: Po. 1095 00:55:57,372 --> 00:56:00,210 Pikë e mirë. 1096 00:56:00,210 --> 00:56:02,550 Pra, kjo është operatori tresh. 1097 00:56:02,550 --> 00:56:06,100 I pari shtrohet pyetja, n është më e madhe se 100? 1098 00:56:06,100 --> 00:56:09,770 Nëse është, atëherë do të zbatoj parë Pjesa e para të zorrës së trashë. 1099 00:56:09,770 --> 00:56:13,360 Nëse nuk është, atëherë do të zbatoj Pjesa e dytë pas dy pika. 1100 00:56:13,360 --> 00:56:16,640 Kështu nese n eshte me e madhe se 100, pastaj ai zgjedh të lartë dhe vë 1101 00:56:16,640 --> 00:56:18,360 që në string s. 1102 00:56:18,360 --> 00:56:22,170 Nëse n është më pak se 100, ajo mbledh ulët dhe pastaj e vë atë në varg s. 1103 00:56:22,170 --> 00:56:30,186 Kështu që do të trash këtë copë të madhe poshtë në vetëm atë një rresht. 1104 00:56:30,186 --> 00:56:32,010 >> Gjuha 5: A është e popullarizuar? 1105 00:56:32,010 --> 00:56:36,070 >> Joseph: Po, ajo është mjaft e njohur për gjëra ku në thelb ju doni të 1106 00:56:36,070 --> 00:56:38,700 e një detyrë në bazë të një lloj gjendje. 1107 00:56:38,700 --> 00:56:43,110 Dhe në këtë rast, ne kemi qenë duke u përpjekur të caktojë një vlerë të string s. 1108 00:56:43,110 --> 00:56:44,840 Kjo nuk është aq - 1109 00:56:44,840 --> 00:56:47,670 I guess Unë vërtetë nuk e preferojnë kjo në raste të tjera. 1110 00:56:47,670 --> 00:56:49,390 Por kjo është veçanërisht e dobishme për këtë detyrë. 1111 00:56:49,390 --> 00:56:54,490 >> Rob: Kjo është një model shumë e zakonshme ku ju keni disa ndryshore që 1112 00:56:54,490 --> 00:56:58,200 ju jeni do të thotë, nëse diçka, të vendosur kjo variabël në një vlerë, tjetër, të vendosur 1113 00:56:58,200 --> 00:56:59,810 kjo variabël në një tjetër vlerë. 1114 00:56:59,810 --> 00:57:03,360 Dhe kjo është skenari ku përdorin një tresh. 1115 00:57:03,360 --> 00:57:05,220 >> JOSEPH: Dhe ju jeni të shpëtuar shumë e linjave, e drejtë? 1116 00:57:05,220 --> 00:57:08,090 Dhe vetëm ajo e bën kodin tuaj në mënyrë të diskutueshme pak më shumë i lexueshëm. 1117 00:57:08,090 --> 00:57:08,635 Po, pyetje? 1118 00:57:08,635 --> 00:57:12,384 >> Kryetari 6: Për një numerimit, mund të ju shkoni, String s barabartë s, pikëpyetje? 1119 00:57:12,384 --> 00:57:15,280 Dhe pastaj ju mund të keni, të themi, pesë opsione të ndryshme. 1120 00:57:15,280 --> 00:57:18,310 Dhe në varësi të asaj numri i N u, do të ju zgjidhni një nga ata? 1121 00:57:18,310 --> 00:57:22,210 >> JOSEPH: Pra, pyetja është, a ka një lloj sintaksës ku ju mund të bëni varg 1122 00:57:22,210 --> 00:57:25,910 s është e barabartë n, dhe pastaj të ketë më shumë se dy Opsionet pas asaj pikëpyetje? 1123 00:57:25,910 --> 00:57:29,740 Dhe një përgjigje e thjeshtë është jo, nuk ka me të vërtetë një mënyrë e mirë për të bërë se nëse nuk 1124 00:57:29,740 --> 00:57:33,850 ju doni të folesë numerimit me të shumëfishtë Operatorët brenda tjetrën. 1125 00:57:33,850 --> 00:57:38,050 >> Ju mund të bëni si n më të madh se 100, pikëpyetje, dhe pastaj një tjetër 1126 00:57:38,050 --> 00:57:41,850 operatori tresh, n të madh se 50, pikëpyetje, dhe fole atë në këtë mënyrë. 1127 00:57:41,850 --> 00:57:45,240 Por në këtë skenar, kodi juaj është duke marrë lloj i paqartë dhe të çrregullt, 1128 00:57:45,240 --> 00:57:47,920 dhe kjo mund të jetë më mirë për të thjesht shkoni te një deklaratë qoftë / tjetër në atë pikë. 1129 00:57:47,920 --> 00:57:54,530 >> Rob: Dhe gjithashtu, si një shënim anë, PHP gabimisht zbaton tresh 1130 00:57:54,530 --> 00:57:58,053 operatori i tillë që ternaries mbivendosur nuk punojnë ashtu si duhet. 1131 00:57:58,053 --> 00:57:58,840 >> Joseph: Po. 1132 00:57:58,840 --> 00:58:01,170 Pra, ajo merr pak konfuze, sidomos kur ju shkoni 1133 00:58:01,170 --> 00:58:02,145 në gjuhë të ndryshme. 1134 00:58:02,145 --> 00:58:04,810 >> Rob: Është mjaft konfuze që Gjuhët janë të gabuara në lidhje me të. 1135 00:58:04,810 --> 00:58:08,030 1136 00:58:08,030 --> 00:58:11,510 >> JOSEPH: Pra në fakt, vetëm për të sqaruar, ka të gjithë e dinë se çka do të 1137 00:58:11,510 --> 00:58:13,900 % S bën këtu? 1138 00:58:13,900 --> 00:58:15,650 Ndonjë pyetje në lidhje me këtë? 1139 00:58:15,650 --> 00:58:19,760 Unë mendoj vetëm për kamera,% s në thelb na lejon të vendosni një placeholder 1140 00:58:19,760 --> 00:58:20,790 për një varg. 1141 00:58:20,790 --> 00:58:23,920 Dhe pastaj në fund, ne të specifikojë se ndryshueshme ne duam të vënë në këtë 1142 00:58:23,920 --> 00:58:25,500 mbajtës vend është s. 1143 00:58:25,500 --> 00:58:27,730 Kështu që në thelb merr s dhe kjo e vë atë në këtu. 1144 00:58:27,730 --> 00:58:32,130 Dhe atëherë ajo do të shtypura jashtë, ju kap një të lartë ose ju kap një numër të ulët. 1145 00:58:32,130 --> 00:58:33,770 OK. 1146 00:58:33,770 --> 00:58:36,970 >> Pra sythe të ju lejojnë për të kryer gjëra të në mocionet rrethore, e drejtë? 1147 00:58:36,970 --> 00:58:40,300 Ju mund të keni hasur këtë në Scratch në formën e Gjithmone sythe 1148 00:58:40,300 --> 00:58:45,650 ose Përsëriteni Deri ose Përsëriteni një të veçantë disa herë. 1149 00:58:45,650 --> 00:58:47,540 Pra, pse është kjo e mirë për ne? 1150 00:58:47,540 --> 00:58:51,500 E pra, në C, le të thonë se ne e kemi këtë song zbatuar në Scratch që 1151 00:58:51,500 --> 00:58:53,450 këndon, kjo është këngë që kurrë nuk përfundon. 1152 00:58:53,450 --> 00:58:55,710 Ajo vetëm vazhdon dhe me radhë dhe përgjithmonë dhe përgjithmonë. 1153 00:58:55,710 --> 00:58:59,395 E pra, ju nuk mund të bëjë një program të që ka një numër të pafund të printf 1154 00:58:59,395 --> 00:59:00,850 deklaratat në atë, e drejtë? 1155 00:59:00,850 --> 00:59:04,900 >> Pra, në këtë skenar të veçantë, një mënyrë që ju të mund të bëjë këtë punë dhe 1156 00:59:04,900 --> 00:59:09,330 për ta bërë atë të shtypur përgjithmonë është që të në vend që të përdorni një lak, ndërsa. 1157 00:59:09,330 --> 00:59:13,640 Kështu që një lak Ndërsa do të zbatoj atë që është në trupin e dy kllapa që 1158 00:59:13,640 --> 00:59:17,250 takon të bazuar në atë që gjendja është. 1159 00:59:17,250 --> 00:59:21,170 Pra, në këtë shembull të veçantë para, në qoftë se ne duam të shkruar këtë përgjithmonë, çfarë 1160 00:59:21,170 --> 00:59:23,590 mund të bëjmë? 1161 00:59:23,590 --> 00:59:25,190 E pra, i sigurt, apo jo? 1162 00:59:25,190 --> 00:59:32,290 >> Pra, ky lloj i kombinon idenë e disa shprehjes Boolean 1163 00:59:32,290 --> 00:59:33,610 së bashku me një lak. 1164 00:59:33,610 --> 00:59:35,780 Dhe kemi mësuar në lidhje me Boolean Shprehjet më parë. 1165 00:59:35,780 --> 00:59:39,650 Pra, sa herë që gjendja brenda Ndërsa që mbetet e vërtetë, kjo loop 1166 00:59:39,650 --> 00:59:41,480 do të zbatoj mbi dhe mbi dhe. 1167 00:59:41,480 --> 00:59:44,640 Dhe në këtë rast, nëse ne vetëm të ofrojë atë me të vërtetë, kjo shkakton një pafund 1168 00:59:44,640 --> 00:59:49,310 loop e cila printon këngën mbi dhe mbi dhe ne si kemi dëshiruar më parë pa 1169 00:59:49,310 --> 00:59:52,410 të paturit e një program që ka një pafund Numri i deklaratave printf, e cila është 1170 00:59:52,410 --> 00:59:55,220 nuk është e mundur. 1171 00:59:55,220 --> 00:59:57,810 >> Pra më imponuese, edhe pse, ju mund të përdorni këtë me një 1172 00:59:57,810 --> 00:59:59,710 ndryshueshme dhe një kusht. 1173 00:59:59,710 --> 01:00:04,420 Pra, le të thonë se ne duam të përsërisim fraza, tërësisht i çmendur, 10 herë. 1174 01:00:04,420 --> 01:00:08,380 Pra, çfarë mund të bëni me një lak, ndërsa është ju mund të parë të iniciojnë një kundër 1175 01:00:08,380 --> 01:00:10,860 jashtë variable e Ndërsa lak në 10. 1176 01:00:10,860 --> 01:00:14,360 Dhe pastaj në thelb, çdo herë që shkoni përmes lak kohë, ju të shtypura nga 1177 01:00:14,360 --> 01:00:19,090 Deklarata dhe pastaj ju ulet kundër variable deri në fund, 1178 01:00:19,090 --> 01:00:23,020 në një pikë, pasi ne zbres I mjaftueshme herë, 1 nga Unë mjaft kohë - 1179 01:00:23,020 --> 01:00:27,290 dhe vetëm për të sqaruar, minus I Minus Unë do të thotë unë e barabartë me minus 1. 1180 01:00:27,290 --> 01:00:31,280 >> Kjo në thelb do të sjellë I deri në Pika ku dikur kam goditur zero, kjo 1181 01:00:31,280 --> 01:00:35,260 gjendja nuk është më e vërtetë dhe kështu që del nga lak. 1182 01:00:35,260 --> 01:00:37,045 Pra krejtësisht të çmendur vetëm printon 10 herë. 1183 01:00:37,045 --> 01:00:39,550 1184 01:00:39,550 --> 01:00:41,080 Çdo pyetje në lidhje me një lak, ndërsa? 1185 01:00:41,080 --> 01:00:44,580 1186 01:00:44,580 --> 01:00:46,790 OK. 1187 01:00:46,790 --> 01:00:50,550 >> Pra, ka një mënyrë që ne mund të bëjmë atë që ne vetëm e bëri në një mënyrë më të ngjeshur me 1188 01:00:50,550 --> 01:00:51,715 ajo që ne e quajmë një për lak. 1189 01:00:51,715 --> 01:00:55,750 Pra, një lak Për përbëhet nga një initialization, një kusht, dhe një 1190 01:00:55,750 --> 01:00:58,950 azhornimi i, ashtu si kishim më parë në këtë lak kohë. 1191 01:00:58,950 --> 01:00:59,890 Pra, le të marrin një sy. 1192 01:00:59,890 --> 01:01:02,900 Në këtë lak kohë, kemi pasur një initialization, atëherë kemi pasur një 1193 01:01:02,900 --> 01:01:04,260 kusht që ne të kontrolluar. 1194 01:01:04,260 --> 01:01:06,450 Dhe pastaj kemi pasur një update hap në krye. 1195 01:01:06,450 --> 01:01:10,060 >> Me një lak Për, kjo në thelb merr këto tre gjëra dhe kondensohen atë 1196 01:01:10,060 --> 01:01:11,370 poshtë në një linjë. 1197 01:01:11,370 --> 01:01:15,130 Pra, gjëja e parë që ajo ka në Për lak është initialization. 1198 01:01:15,130 --> 01:01:19,090 Dhe pastaj ju bëni një pikëpresje, dhe pastaj ju bëni gjendjen, i cili është i 1199 01:01:19,090 --> 01:01:22,200 më i madh se zero shkon atje, dhe pastaj Hapi freskimin. 1200 01:01:22,200 --> 01:01:26,470 Pra, kjo merr kryhet në shumë fundi i trupit lak. 1201 01:01:26,470 --> 01:01:28,790 Pra, këto dy programe janë në thelb ekuivalente. 1202 01:01:28,790 --> 01:01:31,960 1203 01:01:31,960 --> 01:01:33,870 >> Ndonjë pyetje? 1204 01:01:33,870 --> 01:01:37,000 Pra, çfarë është një ndryshim i në mes të këtyre dy? 1205 01:01:37,000 --> 01:01:38,000 A mund dikush të nxjerr atë? 1206 01:01:38,000 --> 01:01:40,480 Kjo mund të jetë pak delikate. 1207 01:01:40,480 --> 01:01:41,930 Është vetëm një dallim shumë i vogël. 1208 01:01:41,930 --> 01:01:42,330 Po? 1209 01:01:42,330 --> 01:01:49,008 >> Gjuha 5: Ju nuk do të jetë në gjendje të përdorin I ndryshueshme jashtë Për lak 1210 01:01:49,008 --> 01:01:49,962 [Padëgjueshme]? 1211 01:01:49,962 --> 01:01:50,900 >> JOSEPH: Pikërisht. 1212 01:01:50,900 --> 01:01:53,550 Pra, kjo është diçka që ne do të merrni për të quajtur më vonë Shtrirja e ndryshueshme. 1213 01:01:53,550 --> 01:01:56,610 Por në thelb, ky i int jetën jashtë këtij lak kohë. 1214 01:01:56,610 --> 01:01:59,800 Pra, një herë kjo loop Ndërsa është bërë ekzekutimin, unë do të jetë në gjendje të përdorin I vonë 1215 01:01:59,800 --> 01:02:00,880 në në program. 1216 01:02:00,880 --> 01:02:05,430 >> Ndërsa me këtë Për lak, kjo int I është scoped brenda kësaj Për loop. 1217 01:02:05,430 --> 01:02:10,240 Dhe për shkak se ajo është në brendësi të kësaj pjese e lak Për, që fillon 1218 01:02:10,240 --> 01:02:13,200 në kllapa dhe përfundon me mbajtëse kaçurrel atje. 1219 01:02:13,200 --> 01:02:16,120 Çdo gjë që është deklaruar brenda këtu nuk mund të përdoren jashtë. 1220 01:02:16,120 --> 01:02:20,420 Pra, në qoftë se unë të përpiqet për të përdorur unë jashtë, ajo do të më thoni, simbol padeklaruar. 1221 01:02:20,420 --> 01:02:22,420 Dhe në thelb, unë nuk do të jenë në gjendje të përdorin atë. 1222 01:02:22,420 --> 01:02:28,460 >> Rob: E mirë, 10 vjet më parë, në fjalë për fjalë të gjitha rastet, formatimin e teksteve kaçurrel janë 1223 01:02:28,460 --> 01:02:31,140 atë që keni përdorur për të përcaktuar Shtrirja e një variable. 1224 01:02:31,140 --> 01:02:37,240 Pra në atje, int I barabartë me 10 është deklaruar brenda kësaj 1225 01:02:37,240 --> 01:02:38,520 vendosur të formatimin e teksteve kaçurrel. 1226 01:02:38,520 --> 01:02:42,530 Dhe kështu më pas për aq kohë sa ju përpiqeni të përdorni I para kësaj Brace kaçurrel, kjo është në rregull. 1227 01:02:42,530 --> 01:02:47,090 1228 01:02:47,090 --> 01:02:51,460 Ju mund të shihni kur ju shkruani bëni, ju shih dash, dash, std, e barabartë, c99. 1229 01:02:51,460 --> 01:02:57,100 >> Kështu që është një version i mëvonshëm i C që GCC ka zbatuar që gjithashtu jep 1230 01:02:57,100 --> 01:02:58,740 këtë shkurtore. 1231 01:02:58,740 --> 01:03:03,505 Pra, kjo përdoret për të mos të lejohet në C. Dhe ju mund të shihni se pse, sepse kjo int 1232 01:03:03,505 --> 01:03:07,600 I është jashtë këtij Brace kaçurrel por është ende konsiderohet të jetë në 1233 01:03:07,600 --> 01:03:09,750 Shtrirja e këtyre formatimin e teksteve kaçurrel. 1234 01:03:09,750 --> 01:03:14,120 Por kjo është një gjë shumë i përshtatshëm, dhe kështu që është një zgjatje e mirë. 1235 01:03:14,120 --> 01:03:15,370 >> JOSEPH: Çdo pyetje? 1236 01:03:15,370 --> 01:03:17,550 1237 01:03:17,550 --> 01:03:19,260 OK. 1238 01:03:19,260 --> 01:03:22,820 Pra, çfarë është më e dobishme është se ndonjëherë ju doni lloj dinamizmi në 1239 01:03:22,820 --> 01:03:23,410 loop tuaj, apo jo? 1240 01:03:23,410 --> 01:03:26,350 Ju nuk doni të vetëm të domosdoshmërisht të shtypur tërësisht i çmendur gjithë kohës, ju 1241 01:03:26,350 --> 01:03:28,650 duan të poshtë numërimin nga 10 ose diçka. 1242 01:03:28,650 --> 01:03:32,010 Dhe kështu që ju mund të përdorni kundër variablin brenda atij lak si. 1243 01:03:32,010 --> 01:03:35,530 Dhe në këtë rast, ky program vetëm akuza deri nga 10 të gjithë rrugën poshtë. 1244 01:03:35,530 --> 01:03:39,260 Dhe çfarë nuk të shtypura? 1245 01:03:39,260 --> 01:03:42,790 Ajo nuk ka shkruar zero, drejtë, sepse kur - 1246 01:03:42,790 --> 01:03:45,460 Po, ajo gjithashtu nuk ka shkruar 11. 1247 01:03:45,460 --> 01:03:49,200 >> Pra, kjo nuk do të shtypura zero, sepse kur I është zero, mos harroni, ai vlerëson 1248 01:03:49,200 --> 01:03:52,170 kusht para se ajo shkon në për të ekzekutuar trupin loop. 1249 01:03:52,170 --> 01:03:56,820 Dhe kur është zero, kjo është e rreme, kështu që kjo nuk do të shtypura nga numërimi poshtë 1250 01:03:56,820 --> 01:04:00,200 zero, ajo vetëm printime nga numëruar poshtë 10 gjatë gjithë rrugës deri në 1. 1251 01:04:00,200 --> 01:04:03,420 Në qoftë se ne të vërtetë të kërkuar atë për të shtypur zero, atëherë ne do të vënë një shenjë të barabartë 1252 01:04:03,420 --> 01:04:04,750 pas kësaj më e madhe se shenjë. 1253 01:04:04,750 --> 01:04:09,400 1254 01:04:09,400 --> 01:04:10,130 OK. 1255 01:04:10,130 --> 01:04:16,410 >> Pra, një mënyrë për të bërë input validation, e cila është kur ju të kërkojë nga shfrytëzuesi për të bërë 1256 01:04:16,410 --> 01:04:18,620 diçka, ju doni të bëni të sigurtë që ata ndiqni udhëzimet tuaja, është që të përdorin 1257 01:04:18,620 --> 01:04:19,400 Ndërsa loop, e drejtë? 1258 01:04:19,400 --> 01:04:22,990 Pra, në këtë rast të veçantë, unë jam duke kërkuar për një numër pozitiv dhe atëherë unë jam i 1259 01:04:22,990 --> 01:04:23,810 duke pritur për të dhëna. 1260 01:04:23,810 --> 01:04:28,210 >> Dhe pastaj I kontrolluar Ndërsa input është më pak se zero, mbajtur i pyetur ata. 1261 01:04:28,210 --> 01:04:32,100 Pra, sa kohë që ata të më jepni një numër që nuk është pozitive, mbani duke i kërkuar, 1262 01:04:32,100 --> 01:04:33,600 mbani duke i kërkuar, mbani duke i kërkuar. 1263 01:04:33,600 --> 01:04:35,860 Por ajo që është lloj i pazakontë në lidhje me këtë? 1264 01:04:35,860 --> 01:04:38,570 Ose ajo nuk duket optimale për kjo strukturë të drejtë këtu? 1265 01:04:38,570 --> 01:04:44,282 1266 01:04:44,282 --> 01:04:44,758 Çdokush? 1267 01:04:44,758 --> 01:04:45,234 Po? 1268 01:04:45,234 --> 01:04:47,614 >> Kryetari 6: Ju jeni duke përsëritur udhëzim dy herë. 1269 01:04:47,614 --> 01:04:48,100 >> JOSEPH: E drejta. 1270 01:04:48,100 --> 01:04:50,090 Pra, ne kemi dy deklarata printf këtu, apo jo? 1271 01:04:50,090 --> 01:04:53,440 Pra, ka një mënyrë që ne mund të merrni këtë vetëm poshtë për një që do ta bënte tonë 1272 01:04:53,440 --> 01:04:57,170 Kodi më të lehtë për të lexuar dhe të një pak më të pastër. 1273 01:04:57,170 --> 01:05:00,180 Dhe atëherë ne nuk do të duhet të kanë marrë në dy herë më të mirë. 1274 01:05:00,180 --> 01:05:03,740 Dhe një mënyrë ju mund ta bëni këtë është duke përdorur një lak Do-kohë. 1275 01:05:03,740 --> 01:05:07,670 >> Dhe një loop Do-Ndërsa në thelb është një formë tjetër e një lak, ndërsa kur 1276 01:05:07,670 --> 01:05:11,460 çdo gjë që është brenda formatimin e teksteve kaçurrel merr ekzekutuar të paktën një herë. 1277 01:05:11,460 --> 01:05:14,840 Kështu që këtu, unë deklaroj, int input, jashtë së pari. 1278 01:05:14,840 --> 01:05:18,100 Dhe atëherë unë them vetëm, e bëjnë këtë udhëzim ndërsa input 1279 01:05:18,100 --> 01:05:19,140 është më pak se zero. 1280 01:05:19,140 --> 01:05:20,530 Pra, ajo hits të bëjë të parë. 1281 01:05:20,530 --> 01:05:24,190 Ajo gjithmonë do të ekzekutojë këtë të paktën një herë, kështu që gjithmonë do të kërkojë nga shfrytëzuesi 1282 01:05:24,190 --> 01:05:25,960 për të dhëna të paktën një herë. 1283 01:05:25,960 --> 01:05:29,390 Dhe atëherë ajo vlerëson se prurjet, dhe kjo vazhdon në një rreth. 1284 01:05:29,390 --> 01:05:30,135 Po, pyetje? 1285 01:05:30,135 --> 01:05:32,602 >> Kryetari 6: A ka ndonjë mënyrë për të bërë atë [Padëgjueshme] llojet, si në qoftë se ju thoni, 1286 01:05:32,602 --> 01:05:34,268 GetString, dhe dikush [padëgjueshme] 1287 01:05:34,268 --> 01:05:35,220 a ka një mënyrë për të [padëgjueshme] 1288 01:05:35,220 --> 01:05:40,060 >> JOSEPH: Pra, pyetja është, a ka një mënyrë për të bërë input validation në qoftë se përdoruesi 1289 01:05:40,060 --> 01:05:41,850 nuk e vënë në të drejtën Lloji i ndryshore? 1290 01:05:41,850 --> 01:05:44,460 Pra, nëse ne i kërkojmë për një int dhe ata na japin një varg në vend. 1291 01:05:44,460 --> 01:05:49,110 Dhe në funksionet që zbatojnë për ju, GetInt, getString në të gjitha 1292 01:05:49,110 --> 01:05:52,680 ato funksione, ata në fakt tashmë bëjë atë lloj input bazë tipit 1293 01:05:52,680 --> 01:05:54,120 validation nën kapuç. 1294 01:05:54,120 --> 01:05:57,390 Pra, nëse ju jeni duke përdorur funksionet që ne ju dha, ju vërtetë nuk kanë për të. 1295 01:05:57,390 --> 01:06:01,380 >> Por në qoftë se ju doni të shikoni më shumë në si në të vërtetë ju mund të bëni që, ju mund të shikoni 1296 01:06:01,380 --> 01:06:03,360 nën kapuç në dosjen I/O-- 1297 01:06:03,360 --> 01:06:07,990 nuk paraqesin, standarde funksionet I / O si një lexim nga të dhëna standarde dhe 1298 01:06:07,990 --> 01:06:08,580 prodhimit standarde. 1299 01:06:08,580 --> 01:06:10,630 Dhe ju mund të merrni një kuptim më të mirë se si ju mund të bëni këtë. 1300 01:06:10,630 --> 01:06:13,670 >> Rob: Një çështje, megjithatë, është në mënyrë specifike me shembull ju 1301 01:06:13,670 --> 01:06:17,070 tha, ju presin një varg dhe unë të hyjë një int. 1302 01:06:17,070 --> 01:06:20,110 Si do të ju tregoni dallimin mes qëllimisht dashur 1303 01:06:20,110 --> 01:06:23,130 string 123 kundrejt duan të int 123? 1304 01:06:23,130 --> 01:06:29,230 Pra string, kjo është shumë e shumë nuk ka validation, kjo është vetëm çdo gjë që ata 1305 01:06:29,230 --> 01:06:31,600 hyrë ju do të interpretojë si një varg. 1306 01:06:31,600 --> 01:06:35,790 >> Int është më e lehtë, sepse pa marrë parasysh input keni marrë nga përdoruesit, ju jeni 1307 01:06:35,790 --> 01:06:37,470 gjithmonë duke marrë një varg. 1308 01:06:37,470 --> 01:06:40,650 Dhe në mënyrë që ju mund të string pastaj kontrolluar, janë të gjitha këto 1309 01:06:40,650 --> 01:06:44,218 shifrat në të vërtetë numerike? 1310 01:06:44,218 --> 01:06:45,170 >> JOSEPH: OK. 1311 01:06:45,170 --> 01:06:46,420 Çdo pyetje në lidhje me një lak Do-kohë? 1312 01:06:46,420 --> 01:06:49,170 >> Rob: Oh, dhe kjo është gjithashtu - 1313 01:06:49,170 --> 01:06:55,130 kthim në fushëveprimin, një disi të përbashkët gabim është duke u përpjekur për të përdorur disa lokale 1314 01:06:55,130 --> 01:06:59,540 ndryshueshme nga brenda këtij A-While lak brenda e kësaj gjendje. 1315 01:06:59,540 --> 01:07:02,850 Dhe në të vërtetë, në qoftë se ne vetëm mori shpëtoj këtë dhe tha, të dhëna int është e barabartë me 1316 01:07:02,850 --> 01:07:06,990 GetInt, atëherë përpiluesit do të çirrem në ne, sepse të dhëna nuk ekziston 1317 01:07:06,990 --> 01:07:08,900 jashtë fushëveprimit të Këto formatimin e teksteve kaçurrel. 1318 01:07:08,900 --> 01:07:10,792 >> JOSEPH: Dhe kjo është arsyeja pse ne nevojë për këtë formacion këtu. 1319 01:07:10,792 --> 01:07:13,620 1320 01:07:13,620 --> 01:07:14,630 OK. 1321 01:07:14,630 --> 01:07:17,530 Kështu që ju mund të thyer nga një lak në fillim në qoftë se ju doni të. 1322 01:07:17,530 --> 01:07:21,240 Pra, kjo është një mënyrë e ndryshme e zbatimin e asaj që ne vetëm zbatuar. 1323 01:07:21,240 --> 01:07:24,340 Dhe në vend të përdorimit të gjendjes brenda kllapa, ne jemi duke përdorur një 1324 01:07:24,340 --> 01:07:26,920 Nëse deklarata brenda trupit e lak Do-kohë. 1325 01:07:26,920 --> 01:07:30,000 >> Dhe në thelb, kur input është në fund më i madh se zero, ne do të 1326 01:07:30,000 --> 01:07:31,000 pushim nga lak. 1327 01:07:31,000 --> 01:07:33,420 Dhe kështu që ne do të shkojmë të gjithë shumë më poshtë këtu. 1328 01:07:33,420 --> 01:07:37,920 Dhe ju mund të shihni se kjo do të ndoshta të preferuar në këtë 1329 01:07:37,920 --> 01:07:39,870 skenar, sepse kjo është pak bit të pastër dhe pak 1330 01:07:39,870 --> 01:07:41,380 pak më e lehtë për të lexuar. 1331 01:07:41,380 --> 01:07:45,210 Ndërsa këtë, ju lloj kanë linja shtesë në të. 1332 01:07:45,210 --> 01:07:47,890 Kjo është vetëm pak shëmtuar, I guess, në një kuptim. 1333 01:07:47,890 --> 01:07:48,530 Po, pyetje? 1334 01:07:48,530 --> 01:07:52,178 >> Kryetari 4: A do të thyer vetëm të marrë ju nga një sërë formatimin e teksteve? 1335 01:07:52,178 --> 01:07:53,080 >> JOSEPH: E drejta. 1336 01:07:53,080 --> 01:07:58,100 Pra, pyetja është vetëm do të thyejnë të merrni ju nga një lak? 1337 01:07:58,100 --> 01:07:59,280 Dhe përgjigja është po. 1338 01:07:59,280 --> 01:08:04,290 Pra, nëse ju keni mbivendosur për sythe, për shembull, në qoftë se unë kam për int unë është e barabartë me 0 1339 01:08:04,290 --> 01:08:09,040 deri në 10 dhe pastaj për int J është e barabartë me 0 deri 10, në qoftë se unë të thyer nga e brendshme 1340 01:08:09,040 --> 01:08:12,310 loop, unë ende do të shkoj me lak jashtme. 1341 01:08:12,310 --> 01:08:15,760 Pra, kjo do të mbaj kryerjen operacionet në pjesën e jashtme. 1342 01:08:15,760 --> 01:08:17,640 Ndonjë pyetje në lidhje me këtë? 1343 01:08:17,640 --> 01:08:18,000 Po? 1344 01:08:18,000 --> 01:08:21,760 >> Gjuha 5: Por të thyer vetëm funksione për formatimin e teksteve kaçurrel, jo për të tjera 1345 01:08:21,760 --> 01:08:22,230 Deklaratat? 1346 01:08:22,230 --> 01:08:22,700 [Padëgjueshme] 1347 01:08:22,700 --> 01:08:27,620 >> JOSEPH: Pra, pyetja është e do të thyejnë Funksioni i vetëm për sythe në krahasim me 1348 01:08:27,620 --> 01:08:29,014 Deklaratat e tjera si nëse? 1349 01:08:29,014 --> 01:08:32,950 Dhe po, se është rasti, për shkak se ju jeni të thyer nga një lak, e drejtë, 1350 01:08:32,950 --> 01:08:33,630 në një kuptim. 1351 01:08:33,630 --> 01:08:37,215 >> Rob: Në shumicën dërrmuese të rasteve, është e kjo është lloj nëse diçka, 1352 01:08:37,215 --> 01:08:37,660 pastaj pushim. 1353 01:08:37,660 --> 01:08:41,580 Pra, ju nuk keni për të thyer për të aplikuar për Në qoftë se është duke përfunduar rreth tij. 1354 01:08:41,580 --> 01:08:45,250 Dhe gjithashtu, kjo nuk është shumë e një lak, por mos harroni se switches janë gjithashtu 1355 01:08:45,250 --> 01:08:46,340 thyer nga nga pushimet. 1356 01:08:46,340 --> 01:08:48,390 Ne pamë prishet duke u përdorur me çelsin e para. 1357 01:08:48,390 --> 01:08:52,189 >> JOSEPH: Dhe ju gjithashtu mund të përdorin ato në sythe kohë dhe për sythe. 1358 01:08:52,189 --> 01:08:54,560 Ndonjë pyetje? 1359 01:08:54,560 --> 01:08:55,830 OK. 1360 01:08:55,830 --> 01:08:57,779 Pra, deri tjetër është funksione. 1361 01:08:57,779 --> 01:09:01,500 Kështu që ju mund të keni përdorur një nga këto BYOB blloqe në projektin tuaj Scratch. 1362 01:09:01,500 --> 01:09:04,569 Dhe kjo në thelb lejon ju për të përcaktuar një sërë 1363 01:09:04,569 --> 01:09:05,680 udhëzime që duhet të ndiqen. 1364 01:09:05,680 --> 01:09:09,569 >> Dhe ajo që dua të them se është, le të mendojmë përsëri në matematikë, e drejtë, algjebër. 1365 01:09:09,569 --> 01:09:13,370 Ju keni atë që ne e quajmë një funksion i x, disa të ndryshueshme, dhe le të thonë se kjo 1366 01:09:13,370 --> 01:09:16,080 funksion është f të x është e barabartë me x plus 5. 1367 01:09:16,080 --> 01:09:20,410 Kështu që ju mund të mendoni për f të x pasi kjo e zezë kuti që merr në 15 dhe më pas 1368 01:09:20,410 --> 01:09:22,590 prodhon 20. 1369 01:09:22,590 --> 01:09:26,630 >> Pra, në përgjithësi, një funksion është diçka që merr disa inpute dhe 1370 01:09:26,630 --> 01:09:27,880 pastaj prodhon disa rezultate. 1371 01:09:27,880 --> 01:09:31,920 1372 01:09:31,920 --> 01:09:32,960 Dhe pse janë funksione të mira? 1373 01:09:32,960 --> 01:09:35,189 Ata janë të mirë për një numër arsyesh. 1374 01:09:35,189 --> 01:09:40,470 Pra ka dikush dëshiron të marrë një goditje me thikë në atë organizatë do të thotë? 1375 01:09:40,470 --> 01:09:42,630 Në kushtet e pse funksioneve janë të dobishme? 1376 01:09:42,630 --> 01:09:43,090 Po? 1377 01:09:43,090 --> 01:09:44,735 >> Kryetari 4: Kjo e bën tuaj Kodi më i lexueshëm. 1378 01:09:44,735 --> 01:09:45,399 >> JOSEPH: E drejta. 1379 01:09:45,399 --> 01:09:47,670 Pra, një nga gjërat është ai bën Kodi juaj më i lexueshëm, e drejtë? 1380 01:09:47,670 --> 01:09:53,710 Në vend të që si int x është e barabartë me x herë herë x x, unë mund të ketë kubike të x, 1381 01:09:53,710 --> 01:09:57,190 i cili është më i lexueshëm dhe më shumë kuptueshme për një lexues. 1382 01:09:57,190 --> 01:10:01,150 >> Organizata është gjithashtu në drejtim të ndarjen up kodin tuaj në dëgjueshëm 1383 01:10:01,150 --> 01:10:05,610 pjesë, në mënyrë që në vend të duke u përpjekur për të zbatuar këtë të gjitha në një seksion të gjatë 1384 01:10:05,610 --> 01:10:09,070 në kryesore, ju lloj i mund të ndarë atë në si, OK, le të shkruajë një funksion 1385 01:10:09,070 --> 01:10:11,910 për të kubike diçka, le të shkruajë një funksionojnë në shesh diçka. 1386 01:10:11,910 --> 01:10:15,950 Në këtë mënyrë ju mund të ndarë atë në të vogël, pjesë të vogla që ju mund të trajtojë 1387 01:10:15,950 --> 01:10:18,944 në krahasim me duke u përpjekur për të trajtuar një problem i madh të gjitha menjëherë. 1388 01:10:18,944 --> 01:10:21,806 >> Rob: Ose madje edhe të vogël, pjesë të vogla që ju dhe një partner mund të trajtojë. 1389 01:10:21,806 --> 01:10:22,283 >> Joseph: Po. 1390 01:10:22,283 --> 01:10:23,855 >> Rob: Pra, në vend të dy të jeni duke u përpjekur për të implant një të tillë 1391 01:10:23,855 --> 01:10:27,170 funksionojnë në të njëjtën kohë. 1392 01:10:27,170 --> 01:10:28,800 >> JOSEPH: Thjeshtimi. 1393 01:10:28,800 --> 01:10:30,050 Çdokush duan të marrin me mend? 1394 01:10:30,050 --> 01:10:33,080 1395 01:10:33,080 --> 01:10:33,410 Po? 1396 01:10:33,410 --> 01:10:34,675 >> Gjuha 5: More përsëritje. 1397 01:10:34,675 --> 01:10:35,260 >> JOSEPH: E drejta. 1398 01:10:35,260 --> 01:10:39,210 Pra, një gjë që ju mund të bëni me thjeshtësim është se kjo është lloj i të 1399 01:10:39,210 --> 01:10:42,520 të njëjtat linja si ri-përdorshmërisë është se një herë kam shkruar një funksion kubike, unë mund 1400 01:10:42,520 --> 01:10:45,410 vetëm përdorni atë mbi dhe mbi dhe mbi përsëri në programin tim në vend të shtypni 1401 01:10:45,410 --> 01:10:49,610 x kohët x x herë mbi dhe pa pushim. 1402 01:10:49,610 --> 01:10:52,980 Dhe thjeshtim këtu edhe vetëm do të thotë se e bën lloj tuaj kodin e 1403 01:10:52,980 --> 01:10:55,900 më të lehtë të korrigjoj një herë ju ndarë kjo e deri në funksionet. 1404 01:10:55,900 --> 01:10:58,250 Sepse atëherë ju mund të lokalizoni kudo problemet tuaja lloj janë. 1405 01:10:58,250 --> 01:11:00,910 1406 01:11:00,910 --> 01:11:02,160 Ndonjë pyetje? 1407 01:11:02,160 --> 01:11:04,200 1408 01:11:04,200 --> 01:11:06,540 >> Pra, një tjetër ide është abstraksion, e drejtë? 1409 01:11:06,540 --> 01:11:07,390 Kjo kuti e zezë. 1410 01:11:07,390 --> 01:11:11,360 Si mund të dini se çfarë bën GetInt për të marrë të dhëna nga ana e përdoruesit? 1411 01:11:11,360 --> 01:11:12,510 Ne nuk kemi thënë me të vërtetë ju, apo jo? 1412 01:11:12,510 --> 01:11:15,670 Të gjithë ne kemi thënë është GetInt bën pikërisht atë që ajo thotë se ka. 1413 01:11:15,670 --> 01:11:18,440 Pra, edhe në qoftë se ne nuk do të ju tregojnë se si ajo punon, ju ende dini. 1414 01:11:18,440 --> 01:11:21,670 >> Pra, në këtë rast të veçantë, kjo është një funksion i katërfishtë i cili bën 1415 01:11:21,670 --> 01:11:24,520 gjëra të ndryshme në një input për të prodhuar një prodhim. 1416 01:11:24,520 --> 01:11:28,050 Dhe ju mund të katërfishohet një numër duke shumëzuar atë me katër. 1417 01:11:28,050 --> 01:11:30,790 Ose ju mund të asaj që ne e quajmë pak ndryshim atë me dy. 1418 01:11:30,790 --> 01:11:32,960 Dhe ne do të mbulojnë këtë pak më vonë. 1419 01:11:32,960 --> 01:11:36,570 Dhe nuk ka nevojë të dini se si kjo funksion në të vërtetë punon për aq kohë sa ajo 1420 01:11:36,570 --> 01:11:37,640 punon siç është e cekur. 1421 01:11:37,640 --> 01:11:40,740 >> Pra nën kapuç, unë mund të jetë si, kthimi herë input 1422 01:11:40,740 --> 01:11:41,690 tetë e ndarë nga dy. 1423 01:11:41,690 --> 01:11:42,510 Dhe ju nuk do të dinë, e drejtë? 1424 01:11:42,510 --> 01:11:44,970 Të gjithë ju duhet të dini është kjo e bën atë që thotë. 1425 01:11:44,970 --> 01:11:48,070 Pra, kjo është gjë e dobishme rreth abstraksionit. 1426 01:11:48,070 --> 01:11:52,910 >> Dhe një tjetër gjë është lloj i kjo ide i lokalizimin kodin tuaj në një 1427 01:11:52,910 --> 01:11:54,280 seksion të veçantë. 1428 01:11:54,280 --> 01:11:57,450 Pra, nëse ju keni një problem, ju nuk e bëni kanë për të shkuar në të gjithë kodin tuaj duke u përpjekur 1429 01:11:57,450 --> 01:11:58,730 për të rregulluar ku problemi ishte. 1430 01:11:58,730 --> 01:12:00,990 Pra, në këtë rast, unë zbatuar kubike gabuar. 1431 01:12:00,990 --> 01:12:02,820 Mendova kubike u shumëzuar nga tre. 1432 01:12:02,820 --> 01:12:05,760 >> Pra, në këtë rast, ky është një program që sapo ka shumëzuar me tre 1433 01:12:05,760 --> 01:12:06,750 kudo. 1434 01:12:06,750 --> 01:12:10,910 Dhe ka një tjetër program që ka kubike faktorë jashtë në një funksion. 1435 01:12:10,910 --> 01:12:14,040 Dhe kështu që tani, nëse unë dua të rregulluar gabimin tim këtu, unë kam për të rregulluar çdo linjë të vetme 1436 01:12:14,040 --> 01:12:15,620 e kodit në këtë program. 1437 01:12:15,620 --> 01:12:19,190 Ndërsa nga ana tjetër, në qoftë se unë e përdorin funksion, vetëm kam nevojë për të ndryshuar 1438 01:12:19,190 --> 01:12:20,650 çfarë ishte e gabuar në një vend. 1439 01:12:20,650 --> 01:12:25,330 1440 01:12:25,330 --> 01:12:28,730 >> Pra, në shkenca kompjuterike, ne telefononi inputet dhe rezultatet. 1441 01:12:28,730 --> 01:12:31,640 Inputet quhen parametra apo argumentet, dhe rezultatet janë quajtur 1442 01:12:31,640 --> 01:12:32,950 kthehet vlera. 1443 01:12:32,950 --> 01:12:39,000 Dhe ne do të shohim se si kjo na ndihmon lloj të përcaktojë një funksion në një të dytë. 1444 01:12:39,000 --> 01:12:41,430 Pra, ky është një përkufizim funksion për cubing. 1445 01:12:41,430 --> 01:12:45,110 Pra, ajo merr një kontribut, dhe më pas ajo kthehet herë që numri 1446 01:12:45,110 --> 01:12:47,020 vetvete tre herë. 1447 01:12:47,020 --> 01:12:48,020 Pra, le të thyer këtë poshtë. 1448 01:12:48,020 --> 01:12:53,090 >> Pra, ne kemi një header funksion, i cili në thelb përbëhet nga tre gjëra. 1449 01:12:53,090 --> 01:12:56,050 Pra, ne kemi parametrat, të cilat janë, siç kam thënë më parë, 1450 01:12:56,050 --> 01:12:57,680 të dhënat në këtë funksion. 1451 01:12:57,680 --> 01:12:59,300 Dhe pastaj ne japim funksionin një emër. 1452 01:12:59,300 --> 01:13:00,740 Në këtë rast, ajo që quhet kubike. 1453 01:13:00,740 --> 01:13:03,860 Dhe pastaj ne të specifikojë se çfarë llojin nga vlera e kthyer është. 1454 01:13:03,860 --> 01:13:06,760 >> Pra, në këtë rast, funksioni im kubike merr në një numër të plotë dhe ai gjithashtu 1455 01:13:06,760 --> 01:13:07,890 kthen një numër të plotë. 1456 01:13:07,890 --> 01:13:11,510 Pra, nëse unë të kalojë në dy, dy është një numër të plotë, ajo kthehet tetë për mua, të cilat 1457 01:13:11,510 --> 01:13:13,250 është një numër i plotë. 1458 01:13:13,250 --> 01:13:15,420 Pra, të kthehet parametrat lloji emrin. 1459 01:13:15,420 --> 01:13:16,670 Pyetje në lidhje me se? 1460 01:13:16,670 --> 01:13:19,440 1461 01:13:19,440 --> 01:13:24,230 >> Dhe atëherë vlera e kthyer është në të vërtetë specifikuar në fund duke thënë se kthim 1462 01:13:24,230 --> 01:13:27,540 dhe pastaj të kthehen çdo gjë përmban vlerën e kthimit. 1463 01:13:27,540 --> 01:13:30,940 Pra, në këtë rast, në qoftë se ne kemi vënë atë të gjithë bashku, nje funksion merr në 1464 01:13:30,940 --> 01:13:35,100 Parametrat, është quajtur diçka, dhe ajo kthehet diçka që është lloji 1465 01:13:35,100 --> 01:13:36,350 se ne themi se do të ishte. 1466 01:13:36,350 --> 01:13:39,830 1467 01:13:39,830 --> 01:13:41,080 Ndonjë pyetje? 1468 01:13:41,080 --> 01:13:43,710 1469 01:13:43,710 --> 01:13:45,080 >> Deri sa nuk kemi përdorim një funksion? 1470 01:13:45,080 --> 01:13:49,230 E pra, e kemi shkruar një funksion dhe më pas ne e përdorin atë në programin tonë, apo jo? 1471 01:13:49,230 --> 01:13:51,565 Kështu që unë e quajti atë kubike, dhe atëherë unë mund të përdorni kubike. 1472 01:13:51,565 --> 01:13:54,200 >> Por ajo që është e rëndësishme të theksohet është se çështjet e rendit. 1473 01:13:54,200 --> 01:13:58,100 Nëse unë kam kubike poshtë kryesor, është e do të kandidojë në kubike. 1474 01:13:58,100 --> 01:14:00,360 Dhe në këtë pikë, nuk ka asgjë quajtur kubike në program, dhe është e 1475 01:14:00,360 --> 01:14:02,550 vetëm do të jetë si, unë kam nuk ka ide se çfarë është kubike. 1476 01:14:02,550 --> 01:14:05,060 >> Pra, kjo do të ju them, i nënkuptuar Deklarata e funksionit. 1477 01:14:05,060 --> 01:14:06,690 Kjo është gabim që tregon deri. 1478 01:14:06,690 --> 01:14:10,230 Dhe kështu në këtë rast, kubike është më poshtë kryesore, kështu që nuk do 1479 01:14:10,230 --> 01:14:12,006 të dinë për të. 1480 01:14:12,006 --> 01:14:14,724 >> Gjuha 5: Pra kryesor është zakonisht funksioni i fundit i përcaktuar? 1481 01:14:14,724 --> 01:14:17,290 >> JOSEPH: Pra, pyetja është, është kryesore zakonisht e fundit 1482 01:14:17,290 --> 01:14:18,170 gjë që ju do të përcaktojë? 1483 01:14:18,170 --> 01:14:19,730 Dhe nuk ka. 1484 01:14:19,730 --> 01:14:22,280 Kjo është sepse ne zakonisht e pëlqen kryesore për të qenë në krye, e drejtë? 1485 01:14:22,280 --> 01:14:24,640 Sepse kjo është gjëja e parë që ju doni programues hapjes 1486 01:14:24,640 --> 01:14:25,640 Programi për të parë. 1487 01:14:25,640 --> 01:14:29,950 Dhe kështu si nuk kemi zgjidhur këtë çështje e ne duan kryesore të jetë në krye, por 1488 01:14:29,950 --> 01:14:33,750 Funksionet që ne duam, ne duam t'i të jetë nën kryesore ende të jetë në gjendje të përdorin 1489 01:14:33,750 --> 01:14:34,930 ata brenda kryesore? 1490 01:14:34,930 --> 01:14:36,870 >> E pra, ne e përdorim atë që ne e quajmë një prototip funksion. 1491 01:14:36,870 --> 01:14:40,830 Pra, atë që një prototip funksion në thelb është po ajo së pari e merr atë 1492 01:14:40,830 --> 01:14:45,060 nënshkrimi ose header funksioni e asaj që ne duam të zbatojë poshtë 1493 01:14:45,060 --> 01:14:47,420 këtu, dhe ne kemi vënë atë në në krye të një programi. 1494 01:14:47,420 --> 01:14:51,400 >> Pra, në këtë rast, ne themi se, mirë, më vonë në programin tonë, ne jemi duke shkuar 1495 01:14:51,400 --> 01:14:55,010 për të bërë një premtim për të zbatuar këtë Funksioni i quajtur int kubike, i cili merr 1496 01:14:55,010 --> 01:14:56,260 një input numër i plotë. 1497 01:14:56,260 --> 01:15:00,870 Deri tani, sepse kjo është më lart kryesore, kryesor, ajo do të të thënë, oh, edhe, 1498 01:15:00,870 --> 01:15:03,910 më vonë në program, që do të jetë atje kështu që unë mund të referohet në të, kështu që unë do të 1499 01:15:03,910 --> 01:15:05,230 vetëm le të kalojnë nëpër tani për tani. 1500 01:15:05,230 --> 01:15:07,660 >> Dhe pastaj në fund, ne zbatimin e kubike. 1501 01:15:07,660 --> 01:15:11,180 Dhe pastaj kryesore do të them vetëm, mirë, ajo do lloj i lidhjes 1502 01:15:11,180 --> 01:15:12,250 këto dy simbole së bashku. 1503 01:15:12,250 --> 01:15:14,320 Dhe ne do të mbulojnë atë që do të thotë më vonë. 1504 01:15:14,320 --> 01:15:17,090 Dhe kështu do të dini se kjo është Funksioni kubike se ajo duhet të përdorin. 1505 01:15:17,090 --> 01:15:19,630 1506 01:15:19,630 --> 01:15:23,383 >> Rob: [padëgjueshme] në lidhje me dashur kryesor në fund ose 1507 01:15:23,383 --> 01:15:24,880 top, unë kam parë të dy. 1508 01:15:24,880 --> 01:15:28,630 Ka gjëra që vetëm donte për të vënë kryesor në pjesën e poshtme. 1509 01:15:28,630 --> 01:15:32,520 Por sapo një projekt merr veçanërisht madhe, zakonisht kryesor është në një 1510 01:15:32,520 --> 01:15:34,290 paraqesë të gjitha e saj. 1511 01:15:34,290 --> 01:15:38,170 Dhe në këtë pikë, si int linjë kubike do të - 1512 01:15:38,170 --> 01:15:42,460 brenda stdio.h janë një bandë e linjave ashtu si atë int 1513 01:15:42,460 --> 01:15:44,010 Linja input kubike int. 1514 01:15:44,010 --> 01:15:50,170 >> Dhe kështu këto prototipa janë gjëra që ju kanë tendencë për të vënë në kokë fotografi, në 1515 01:15:50,170 --> 01:15:52,140 të cilat pikë, kjo nuk ka rëndësi. 1516 01:15:52,140 --> 01:15:54,700 E pra, kjo nuk ka rëndësi. 1517 01:15:54,700 --> 01:15:56,070 Ata gjithmonë shkojnë në krye. 1518 01:15:56,070 --> 01:15:59,490 Dhe në qoftë kryesor nuk është një file i të gjitha e saj, ju nuk duhet të shqetësohen për vënien 1519 01:15:59,490 --> 01:16:02,360 prototypes funksion individuale në dosjen. 1520 01:16:02,360 --> 01:16:05,370 >> JOSEPH: Dhe ne do të merrni për të se një pak Pak më vonë, kur Rob fillon duke folur 1521 01:16:05,370 --> 01:16:06,380 për hartimin. 1522 01:16:06,380 --> 01:16:09,480 Dhe kështu që nuk ka edhe një ndryshim mes parametër dhe argumentit. 1523 01:16:09,480 --> 01:16:12,500 Dhe parametër është vetëm ajo që ne e quajmë këto inpute kur 1524 01:16:12,500 --> 01:16:13,820 ne saktësimit të funksionit. 1525 01:16:13,820 --> 01:16:16,950 Dhe ne e quajmë atë një argument kur ne në fakt kalojnë atë në funksion. 1526 01:16:16,950 --> 01:16:19,600 >> Pra, në këtë rast, kjo është një parametër, siç kemi thënë më parë. 1527 01:16:19,600 --> 01:16:24,130 Dhe kur ne fakt përdorin atë atje, kubike të x, atëherë x në vetvete është 1528 01:16:24,130 --> 01:16:25,910 ajo që ne e quajmë një argument në kubike funksion. 1529 01:16:25,910 --> 01:16:28,150 >> Rob: Pra, argumentet parametër janë - 1530 01:16:28,150 --> 01:16:33,270 ekziston ky dallim, shumë hutuar të këmbyeshme. 1531 01:16:33,270 --> 01:16:37,090 Në këtë pikë, për mua, është si një nga ato fjalë që kur unë shoh atë në 1532 01:16:37,090 --> 01:16:41,190 egra, unë nuk mund të ndihmojnë por menjëherë Pyetja nëse ata janë duke e përdorur atë në 1533 01:16:41,190 --> 01:16:44,120 konteksti i saktë, për shkak se Dallimi është delikate e mjaftueshme që vetëm 1534 01:16:44,120 --> 01:16:45,500 të gjithë tenton - 1535 01:16:45,500 --> 01:16:48,530 Unë pothuajse gjithmonë them argumentin pa marrë parasysh se çfarë dua të them. 1536 01:16:48,530 --> 01:16:51,230 1537 01:16:51,230 --> 01:16:54,630 >> Joseph: Dhe funksionet janë gjithashtu të dobishme për atë që ne e quajmë efekte anësore. 1538 01:16:54,630 --> 01:16:59,230 Pra, një funksion mund të marrë asnjë inputeve, dhe ajo gjithashtu mund të prodhojë asnjë rezultate. 1539 01:16:59,230 --> 01:17:03,280 Pra, në këtë rast të veçantë, unë jam përcaktimin e një subroutine që nuk ka 1540 01:17:03,280 --> 01:17:03,970 vlerë të kthehen. 1541 01:17:03,970 --> 01:17:07,730 Dhe në mënyrë që të përcaktojë se, ne përdorim ajo që ne e quajmë një zbrazëti gjatë këtu. 1542 01:17:07,730 --> 01:17:10,890 Dhe kështu efekt anësor i këtij funksioni është se ajo vetëm shtyp sende 1543 01:17:10,890 --> 01:17:11,920 jashtë në faqen. 1544 01:17:11,920 --> 01:17:13,840 Ajo nuk ka të vërtetë të marrë ndonjë inputeve, dhe kjo nuk ka 1545 01:17:13,840 --> 01:17:15,360 në fakt prodhojnë ndonjë rezultate. 1546 01:17:15,360 --> 01:17:18,230 >> Por kjo mund të jetë e dobishme në kuptimin në qoftë se ju doni të, për shembull, debug 1547 01:17:18,230 --> 01:17:21,530 diçka në programin tuaj, në qoftë se ju doni për të shkruar një subroutine pak se 1548 01:17:21,530 --> 01:17:25,160 printime nga, le të themi, përmbajtja e kujtesës ose diçka. 1549 01:17:25,160 --> 01:17:29,800 Dhe kështu që këto efekte të padëshiruara janë nganjëherë dobishme jashtë kontekstit 1550 01:17:29,800 --> 01:17:33,010 e ashtu si inputet dhe rezultatet. 1551 01:17:33,010 --> 01:17:34,260 Ndonjë pyetje? 1552 01:17:34,260 --> 01:17:37,270 1553 01:17:37,270 --> 01:17:44,240 >> Dhe për t'i dhënë fund këtë segment të caktuar, çfarë e bën këtë program të bëni? 1554 01:17:44,240 --> 01:17:47,420 Unë do të ju jap djema një çift të sekonda për të lexuar nëpërmjet saj. 1555 01:17:47,420 --> 01:17:52,720 1556 01:17:52,720 --> 01:17:56,880 Në një nivel shumë bazë, ajo që ne duam të them është se ai këmbime x dhe y, e drejtë? 1557 01:17:56,880 --> 01:18:00,090 >> Pra, si shumë prej jush në fakt mendoj kjo do të bie në ujdi x dhe y? 1558 01:18:00,090 --> 01:18:02,160 Ngritja dorën tuaj. 1559 01:18:02,160 --> 01:18:02,760 Askush. 1560 01:18:02,760 --> 01:18:03,070 OK. 1561 01:18:03,070 --> 01:18:06,720 Kush mendon se do të nuk bie në ujdi x dhe y? 1562 01:18:06,720 --> 01:18:09,120 Dhe shuma e që është jo të gjithë dhomë. 1563 01:18:09,120 --> 01:18:10,440 Pra, disa njerëz nuk janë të sigurt. 1564 01:18:10,440 --> 01:18:10,920 OK. 1565 01:18:10,920 --> 01:18:11,630 Kjo është e arsyeshme. 1566 01:18:11,630 --> 01:18:16,450 >> Pra, le të kalojnë nëpër çfarë ndodh kur ju në të vërtetë të telefononi funksionet e parë në 1567 01:18:16,450 --> 01:18:18,320 mënyrë që të t'iu përgjigjur kësaj pyetjeje. 1568 01:18:18,320 --> 01:18:21,430 Pra, kjo është ajo që e kujtesës lloj i duket si. 1569 01:18:21,430 --> 01:18:23,860 Kjo është lloj si një model të thjeshtuar e asaj kujtesës duket si kur 1570 01:18:23,860 --> 01:18:24,800 ju drejtuar një program. 1571 01:18:24,800 --> 01:18:27,270 Pra, ka diçka që quhet rafte poshtë këtu dhe 1572 01:18:27,270 --> 01:18:28,330 diçka e quajtur grumbull. 1573 01:18:28,330 --> 01:18:30,950 Këta rriten në drejtim të mes të kujtesës. 1574 01:18:30,950 --> 01:18:33,860 >> Pra, në këtë rast të veçantë, kur ju e quani një funksion, ai 1575 01:18:33,860 --> 01:18:35,680 merr vënë në rafte. 1576 01:18:35,680 --> 01:18:38,900 Dhe pastaj çdo gjë që gjendet në atë funksion qëndron në atë që ne e quajmë se 1577 01:18:38,900 --> 01:18:40,550 kornizë funksionit rafte. 1578 01:18:40,550 --> 01:18:44,500 Dhe kështu për të marrë një vizualizimi bukur kjo, let's - për shembull, kemi pasur 1579 01:18:44,500 --> 01:18:45,960 Programi kryesor më parë. 1580 01:18:45,960 --> 01:18:47,820 Dhe brenda kryesore, ne i quajtur kubike. 1581 01:18:47,820 --> 01:18:50,650 Pra kryesor parë do të shkojë në rafte kornizë, sepse është funksioni i parë 1582 01:18:50,650 --> 01:18:51,640 që është quajtur. 1583 01:18:51,640 --> 01:18:55,740 >> Dhe pastaj kur kubike është quajtur në brendësi të kryesor, ajo merr të vënë në krye të kryesore 1584 01:18:55,740 --> 01:18:57,790 brenda kujtesës. 1585 01:18:57,790 --> 01:19:02,090 Pra, ajo që ju do të vini re këtu është se kubike ka parametrat e saj dhe e saj 1586 01:19:02,090 --> 01:19:02,950 vet vendasit. 1587 01:19:02,950 --> 01:19:06,720 Pra, kur ju të vërtetë të kalojë diçka për të një funksion, parametrat që ajo 1588 01:19:06,720 --> 01:19:09,910 merr janë kopje e asaj që ishte kaluar në nga kryesore. 1589 01:19:09,910 --> 01:19:14,140 >> Dhe për lloj të shpjeguar këtë, le të ecin nëpër një programi. 1590 01:19:14,140 --> 01:19:16,960 Pra, ne kemi rafte dhe kjo është vetëm pjesa rafte. 1591 01:19:16,960 --> 01:19:21,240 Dhe ajo që ne bëjmë është që ne së pari nisja x dhe y të parë dhe të dytë. 1592 01:19:21,240 --> 01:19:22,400 Pra, ne kemi këto kuti pak. 1593 01:19:22,400 --> 01:19:25,310 Ata janë ulur në oxhaku kryesor të kornizë në rafte. 1594 01:19:25,310 --> 01:19:26,580 Ato përmbajnë një dhe dy. 1595 01:19:26,580 --> 01:19:28,820 >> Tani ne e quajmë swap. 1596 01:19:28,820 --> 01:19:33,940 Ajo që ndodh është që ne të kalojë x dhe y në swap, dhe swap krijon kopje e veta 1597 01:19:33,940 --> 01:19:36,520 e atyre variablave të përdorur brenda e kuadrit të saj rafte. 1598 01:19:36,520 --> 01:19:39,920 Deri tani atje, ne kemi një, e cila përmban vlerën që kishte x dhe b, 1599 01:19:39,920 --> 01:19:41,620 cila përmban vlerën që y kishte. 1600 01:19:41,620 --> 01:19:42,670 Pra një, dy. 1601 01:19:42,670 --> 01:19:47,130 >> Dhe ju do të vini re se kjo është e veçantë nga x dhe y brenda prej kryesore. 1602 01:19:47,130 --> 01:19:51,390 Pra, ne tani të krijojë një të përkohshme variable të përmbajnë a. 1603 01:19:51,390 --> 01:19:56,100 Ne kemi vendosur një të barabartë për të b, kështu që Ndryshimet 1-2. 1604 01:19:56,100 --> 01:19:59,340 Dhe pastaj ne kemi vendosur b barabartë në temp, e cila është një. 1605 01:19:59,340 --> 01:20:01,640 >> Dhe pastaj tani ne dalje jashtë e këtij funksioni. 1606 01:20:01,640 --> 01:20:04,310 1607 01:20:04,310 --> 01:20:07,410 Kur ju të dalë jashtë funksionit, kornizë rafte merr popped off rafte. 1608 01:20:07,410 --> 01:20:08,270 Ne e quajmë atë shtytje. 1609 01:20:08,270 --> 01:20:12,750 Ju shtyjnë një kornizë rafte mbi rafte dhe në qoftë se ju pop off rafte. 1610 01:20:12,750 --> 01:20:16,080 Dhe kështu që ajo që ndodh është çdo gjë që ishte në atë pirg kuadër lloj të vetëm 1611 01:20:16,080 --> 01:20:17,280 shkon deri në flakë. 1612 01:20:17,280 --> 01:20:19,180 Dhe kështu që nuk ekziston më. 1613 01:20:19,180 --> 01:20:20,470 >> Por çfarë do të vërejmë? 1614 01:20:20,470 --> 01:20:23,690 Ne kurrë nuk ndryshoi në të vërtetë vlerat e x dhe y, apo jo? 1615 01:20:23,690 --> 01:20:26,530 Kështu ata qëndruan lokale për të kryesore. 1616 01:20:26,530 --> 01:20:29,900 Dhe duke kaluar gjërat në swap, ne në të vërtetë kurrë nuk ndryshoi këto vlera. 1617 01:20:29,900 --> 01:20:31,260 Dhe çfarë ne e quajmë këtë? 1618 01:20:31,260 --> 01:20:33,040 Ne e quajmë këtë kalimin nga vlera. 1619 01:20:33,040 --> 01:20:36,860 >> Pra në C, kur ju të kalojë gjërat në funksionet, ai kalon ato me vlerë dhe 1620 01:20:36,860 --> 01:20:40,160 bën një kopje të tyre për funksion për të përdorur. 1621 01:20:40,160 --> 01:20:43,980 Dhe ne do të mësojnë në lidhje me diçka të quajtur kaluar duke iu referuar më vonë, por kjo është 1622 01:20:43,980 --> 01:20:45,390 një mënyrë ju mund të zgjidhin këtë problem. 1623 01:20:45,390 --> 01:20:47,080 Por ne nuk do të shqetësohen për që deri më vonë. 1624 01:20:47,080 --> 01:20:52,200 >> Rob: Dhe në fakt, ky term, kalimi duke iu referuar, në mënyrë C nuk ka as 1625 01:20:52,200 --> 01:20:54,270 duke kaluar nga referenca. 1626 01:20:54,270 --> 01:20:56,760 C ekskluzivisht ka kaluar nga vlera. 1627 01:20:56,760 --> 01:20:59,630 Pa marrë parasysh atë që ju bëni, ju jeni gjithmonë të duke kaluar një kopje të diçka. 1628 01:20:59,630 --> 01:21:03,395 Është vetëm se, si unë lloj i përmendur se para se me pointers 1629 01:21:03,395 --> 01:21:07,690 dhe se një string është në të vërtetë vetëm katër bytes duke treguar diku në kujtesë. 1630 01:21:07,690 --> 01:21:11,890 >> E pra, në qoftë se unë kam këtë varg dhe është e thënë mua se është vendi ku string - 1631 01:21:11,890 --> 01:21:15,470 mirë, në qoftë se unë kam këtë tregues për këtë vendin në kujtesë, atëherë unë mund të kalojë një 1632 01:21:15,470 --> 01:21:19,160 kopje të atij tregues për një funksion, dhe se funksioni ende e di se ku në 1633 01:21:19,160 --> 01:21:19,780 kujtesës është. 1634 01:21:19,780 --> 01:21:22,950 Pra, të dyja këto pointers janë vënë në në të njëjtin vend në memorjes, dhe 1635 01:21:22,950 --> 01:21:26,460 kjo është se si ne do të jetë në gjendje për të ndryshuar gjërat përtej 1636 01:21:26,460 --> 01:21:29,852 kornizë aktuale rafte. 1637 01:21:29,852 --> 01:21:31,040 >> JOSEPH: A doni të bëni hartimin? 1638 01:21:31,040 --> 01:21:31,820 >> Rob: Jo, kjo është 05:30. 1639 01:21:31,820 --> 01:21:32,910 >> JOSEPH: OK. 1640 01:21:32,910 --> 01:21:35,040 Ajo është 05:30. 1641 01:21:35,040 --> 01:21:35,360 OK. 1642 01:21:35,360 --> 01:21:39,280 Pra, ne do të mbulojë përpilimin I guess në Seksioni tjetër, ose seksioni juaj 1643 01:21:39,280 --> 01:21:42,795 Udhëheqësi do të në atë pikë. 1644 01:21:42,795 --> 01:21:43,272 Dhe - 1645 01:21:43,272 --> 01:21:44,630 >> Rob: Çdo pyetje? 1646 01:21:44,630 --> 01:21:46,760 >> JOSEPH: Çdo pyetje? 1647 01:21:46,760 --> 01:21:47,150 Po? 1648 01:21:47,150 --> 01:21:52,469 >> Gjuha 5: Duke përdorur vargjet nga CS50, çdo funksionet që dëshironi të përdorni për 1649 01:21:52,469 --> 01:21:53,880 ata, që do të jetë si C funksioneve. 1650 01:21:53,880 --> 01:21:59,050 CS50 nuk ka shkuar në dhe bërë ndonjë shtesë. 1651 01:21:59,050 --> 01:22:01,850 >> Rob: Correct. 1652 01:22:01,850 --> 01:22:08,155 Çdo i C si [e padëgjueshme], ju do të përdorin ato në vargjet tona. 1653 01:22:08,155 --> 01:22:12,400 >> JOSEPH: Dhe një gjë e fundit që unë dua të përmendur është se ne kemi një udhëzues stil 1654 01:22:12,400 --> 01:22:13,130 për këtë klasë. 1655 01:22:13,130 --> 01:22:13,360 >> Rob: Oh, po. 1656 01:22:13,360 --> 01:22:15,270 >> JOSEPH: Pra, nëse ju keni ardhur nga një programimit sfond para, ju 1657 01:22:15,270 --> 01:22:17,750 mund të ketë konventa të caktuara kur jeni të shkruar kodin e vënë si 1658 01:22:17,750 --> 01:22:20,950 tirantat në të njëjtin drejtim të veçantë ose mënyrat e indenting 1659 01:22:20,950 --> 01:22:22,240 ose emërtimin e variablave tuaj. 1660 01:22:22,240 --> 01:22:26,870 Në këtë klasë, ne duam të ndjekim një udhëzues specifik stil vetëm për shkak se, 1661 01:22:26,870 --> 01:22:31,100 mirë, në qoftë se ju shkoni jashtë dhe të punojnë në industri, ju do të jeni të pritet 1662 01:22:31,100 --> 01:22:34,780 për të ndjekur udhëzues stilin e Kompania në të cilën ju të shkoni për të. 1663 01:22:34,780 --> 01:22:38,040 >> Ashtu si për shembull, Facebook mendoj ka një lloj të veçantë të emërtimit 1664 01:22:38,040 --> 01:22:38,760 konventë. 1665 01:22:38,760 --> 01:22:42,570 Dhe nuk ka dallime në mes deve Variablat zorrë dhe ashtu si 1666 01:22:42,570 --> 01:22:44,610 i ndarë ato me underscore. 1667 01:22:44,610 --> 01:22:52,170 Dhe gjithashtu, unë mendoj se më e rëndësishmja, si për shembull, gjurmë, apo jo? 1668 01:22:52,170 --> 01:22:56,440 >> Ne do të formatimin e teksteve kaçurrel fillojnë ku gjendja është, dhe ato 1669 01:22:56,440 --> 01:22:57,730 janë në linjë tjetër. 1670 01:22:57,730 --> 01:23:01,230 Dhe ne gjithashtu vënë formatimin e teksteve kaçurrel në edhe nëse është vetëm një linjë. 1671 01:23:01,230 --> 01:23:06,100 Dhe shumë herë, ka mënyra për ta bërë ajo ku ju mund të lënë këto formatimin e teksteve 1672 01:23:06,100 --> 01:23:08,380 në qoftë se kjo është vetëm një linjë në bazë të deklaratës Nëse është. 1673 01:23:08,380 --> 01:23:12,070 Por në këtë klasë, ne duam të ndjekim një udhëzues specifik stil vetëm në mënyrë që ju të merrni 1674 01:23:12,070 --> 01:23:13,550 përdorur për atë gjë e tillë. 1675 01:23:13,550 --> 01:23:16,410 >> Rob: Po, dhe Style 50 do të zbatuar këtë udhëzues stil, dhe ne jemi 1676 01:23:16,410 --> 01:23:18,080 do të përdorin Style 50 për klasën kodin tuaj. 1677 01:23:18,080 --> 01:23:25,150 Pra, kjo e bën gjërat më të lehtë për ne dhe shpresojmë se nuk duhet të bëjë gjëra që 1678 01:23:25,150 --> 01:23:30,120 shumë më keq për ju dhënë Stili i standardizuar nuk duhet të jetë që 1679 01:23:30,120 --> 01:23:31,460 joreale. 1680 01:23:31,460 --> 01:23:36,000 >> JOSEPH: Dhe së fundi, për të gjetur stilin Guide, shkoni në manual.cs50.net/style. 1681 01:23:36,000 --> 01:23:37,725 Dhe vërtet. 1682 01:23:37,725 --> 01:23:40,575 >> Kryetari 4: A do të zbatojë çdo karaktere për rresht? 1683 01:23:40,575 --> 01:23:42,480 >> Rob: Po. 1684 01:23:42,480 --> 01:23:45,405 >> JOSEPH: Na vjen keq, djema. 1685 01:23:45,405 --> 01:23:47,680 >> Rob: Kjo është si një nga të vetmit. 1686 01:23:47,680 --> 01:23:50,420 Në këtë pikë, unë jam në rregull me 120. 1687 01:23:50,420 --> 01:23:52,460 Unë jam në rregull me të duke thënë: 120 karaktere për rresht. 1688 01:23:52,460 --> 01:23:53,830 Unë e kuptoj ka qenë disa kufi. 1689 01:23:53,830 --> 01:23:57,130 Unë mendoj se 80 është aq i vogël, por ne jemi duke zbatuar atë. 1690 01:23:57,130 --> 01:24:00,260 >> JOSEPH: Personalisht, unë mendoj se me C, 80 karaktere është shumë në rregull. 1691 01:24:00,260 --> 01:24:04,160 Pasi ju filloni të keni të tjera gjuhë si JavaScript dhe PHP, nuk 1692 01:24:04,160 --> 01:24:08,860 në mënyrë të arsyeshme për të vetëm të kufizuar ajo të 80 karaktere. 1693 01:24:08,860 --> 01:24:09,260 OK. 1694 01:24:09,260 --> 01:24:12,780 E pra, kjo ishte pjesa super. 1695 01:24:12,780 --> 01:24:14,750 A ka dikush doni karamele? 1696 01:24:14,750 --> 01:24:16,000 >> Kryetari 4: Po. 1697 01:24:16,000 --> 01:24:18,667