1 00:00:00,000 --> 00:00:02,880 >> [Muzika] 2 00:00:02,880 --> 00:00:10,580 3 00:00:10,580 --> 00:00:13,500 >> SPEAKER 1: Kjo është CS50 dhe ky është fillimi i javës së dytë. 4 00:00:13,500 --> 00:00:18,400 Pra, le të drejtë pikiatë në diçka që është buggy, kështu që të flasin. 5 00:00:18,400 --> 00:00:24,015 Pra, këtu është CS50 IDE dhe unë kam u tërhoq deri paraprakisht këtë screen-- mallkim 6 00:00:24,015 --> 00:00:25,070 ajo. 7 00:00:25,070 --> 00:00:25,760 Vigjilent spoiler. 8 00:00:25,760 --> 00:00:26,260 Në rregull. 9 00:00:26,260 --> 00:00:29,060 Unë e kam tërhequr deri këtë ekran këtu, e cila ka një program shumë të thjeshtë. 10 00:00:29,060 --> 00:00:32,659 Nëse ne lëvizni poshtë, më e kjo është vetëm komente, 11 00:00:32,659 --> 00:00:36,730 por këtu në linjat 13 përmes 17 ne kemi një program. 12 00:00:36,730 --> 00:00:40,580 >> Është e sintaksore të vlefshme, që do të thotë në qoftë se Unë përpiloj atë, ajo do të përpilojë dhe të drejtuar, 13 00:00:40,580 --> 00:00:41,920 por kjo është buggy. 14 00:00:41,920 --> 00:00:47,330 Ky program pretendon në komentet deri të lartë se ajo duhet të shtypura 10 yje, 15 00:00:47,330 --> 00:00:48,870 por kjo nuk ka. 16 00:00:48,870 --> 00:00:53,290 Dhe bazuar në përvojën tuaj, ose së shpejti do të jetë përvojë me C, 17 00:00:53,290 --> 00:00:56,820 mund të logjikisht dalloj pse kjo është, në fakt, buggy? 18 00:00:56,820 --> 00:00:57,804 Po? 19 00:00:57,804 --> 00:00:59,220 Audienca: Ajo shkon nga zero në 10. 20 00:00:59,220 --> 00:01:01,884 Kjo është 11 përsëritje. 21 00:01:01,884 --> 00:01:02,550 SPEAKER 1: Po. 22 00:01:02,550 --> 00:01:06,030 Pra, kjo po ndodh nga zero lart përmes dhe e barabarte me 10, 23 00:01:06,030 --> 00:01:08,140 e cila natyrisht është 11 përsëritje. 24 00:01:08,140 --> 00:01:10,020 Pra, ajo do të shtypura, në të vërtetë, 11 yjet. 25 00:01:10,020 --> 00:01:13,040 Pra, konventa shkenca kompjuterike në gjuhët programuese 26 00:01:13,040 --> 00:01:15,270 është, me të vërtetë, vetëm për të të fillojë numërimi në zero, 27 00:01:15,270 --> 00:01:18,800 por numërimin deri në, por jo përmes Vlera që ju në të vërtetë intereson. 28 00:01:18,800 --> 00:01:21,216 >> Tani, kjo është një gjë që merr pak duke u përdorur për të 29 00:01:21,216 --> 00:01:25,350 dhe madje Scratch, i projektuar siç është për programuesit apo jo mos kompjuter 30 00:01:25,350 --> 00:01:28,070 shkencëtarët dhe për fëmijët kryesisht, është projektuar që të ketë 31 00:01:28,070 --> 00:01:29,570 ju filloni duke numëruar në përgjithësi në një. 32 00:01:29,570 --> 00:01:30,277 Dhe kjo është në rregull. 33 00:01:30,277 --> 00:01:33,110 Ju mund absolutisht të fillojë numërimi në një nëse kjo është më e rehatshme. 34 00:01:33,110 --> 00:01:37,210 Dhe numërimin deri në dhe përmes 10, por ju do të kuptojë veçanërisht këtë javë 35 00:01:37,210 --> 00:01:39,950 dhe përtej kësaj vetëm në mënyrë të shumë gjëra në programimin 36 00:01:39,950 --> 00:01:42,465 marrin se 0 është parë shifror me të cilën ju numërimin, 37 00:01:42,465 --> 00:01:45,590 se ju jeni do të gjeni më të lehtë vetëm për të marrë në këtë zakon të filluar 38 00:01:45,590 --> 00:01:49,490 nga zero dhe numërimi deri në vlerën ju intereson tani nga 39 00:01:49,490 --> 00:01:49,990 të shkojnë. 40 00:01:49,990 --> 00:01:50,990 >> Pra, që ka fiksuar se. 41 00:01:50,990 --> 00:01:53,670 Ne kemi ndryshuar më pak se ose e është e barabartë për të vetëm më pak se. 42 00:01:53,670 --> 00:01:56,050 Le të marrin një vështrim në një shembull të dytë këtu. 43 00:01:56,050 --> 00:01:59,585 >> Pra, ky program gjithashtu pretendon në saj të komenton up lartë se ajo duhet të shtypura 44 00:01:59,585 --> 00:02:02,260 dhjetë yjet, por kjo nuk ka. 45 00:02:02,260 --> 00:02:05,540 Çfarë është bug këtu? 46 00:02:05,540 --> 00:02:07,930 >> Pra, what-- dhe të vjen keq, le të jetë i qartë. 47 00:02:07,930 --> 00:02:08,610 10 yjet. 48 00:02:08,610 --> 00:02:11,644 Një për rresht, por kjo nuk ka. 49 00:02:11,644 --> 00:02:14,810 Pra, në fakt, më lejoni të shkoj përpara dhe të përpilojnë kjo për shkak se ajo është pak më pak 50 00:02:14,810 --> 00:02:16,900 të qartë të bazuar në këtë përshkrim. 51 00:02:16,900 --> 00:02:18,720 Më lejoni të shkoj në directory tonë burimor. 52 00:02:18,720 --> 00:02:25,110 Bëni një buggy dot plagë, një buggy. 53 00:02:25,110 --> 00:02:28,680 OK, unë shoh 11 yjet, të cilat është ende problematike, 54 00:02:28,680 --> 00:02:30,090 por ata janë edhe të gjitha në një linjë. 55 00:02:30,090 --> 00:02:31,500 Çfarë është problemi këtu? 56 00:02:31,500 --> 00:02:32,339 Po. 57 00:02:32,339 --> 00:02:33,255 Audienca: [padëgjueshme]. 58 00:02:33,255 --> 00:02:36,194 59 00:02:36,194 --> 00:02:36,860 SPEAKER 1: Po. 60 00:02:36,860 --> 00:02:40,210 Pra, kjo është një finesë që ju mund të kujtojnë mua duke të kujtuar të shkurtër. 61 00:02:40,210 --> 00:02:42,793 Edhe pse çdo gjë duket mjaft, dhe është e prerë bukur, 62 00:02:42,793 --> 00:02:45,850 dhe kjo lloj i duket Scratch-si në atë linjë 16 dhe 17 janë, 63 00:02:45,850 --> 00:02:47,600 në të vërtetë, prerë në atë për lak. 64 00:02:47,600 --> 00:02:48,400 Kjo është jomaterial. 65 00:02:48,400 --> 00:02:50,460 Kompjuteri nuk e di ose shihni hapësirë ​​të bardhë. 66 00:02:50,460 --> 00:02:52,910 Hapësira e bardhë është vetëm për ne njerëzit, stilistikisht. 67 00:02:52,910 --> 00:02:57,010 Kompjuteri nuk e di kur ju keni formatimin e teksteve kaçurrel, i cili do me të vërtetë, 68 00:02:57,010 --> 00:02:58,280 rregulluar këtë problem. 69 00:02:58,280 --> 00:03:02,350 >> Pra, në qoftë se ne fakt shkoi në dhe vënë në mënyrë të qartë në këto formatimin e teksteve kaçurrel 70 00:03:02,350 --> 00:03:05,220 që do të rregullojmë këtë problem nga duke e bërë të qartë për të përpiluesit 71 00:03:05,220 --> 00:03:07,930 se unë në fakt duan për të ekzekutuar dy rreshta të kodit përsëri, 72 00:03:07,930 --> 00:03:09,220 dhe përsëri, dhe përsëri. 73 00:03:09,220 --> 00:03:11,680 Por çfarë është shpjegimi themelor? 74 00:03:11,680 --> 00:03:12,180 E drejtë? 75 00:03:12,180 --> 00:03:15,260 Ne nuk kemi nevojë në mënyrë rigoroze kaçurrel formatimin e teksteve gjatë gjithë kohës, 76 00:03:15,260 --> 00:03:18,210 edhe pse kjo është ndoshta më e mirë praktikë për të marrë në atë zakon gjithsesi 77 00:03:18,210 --> 00:03:20,878 edhe pse ajo shton dy karaktere në kodin tuaj. pse? 78 00:03:20,878 --> 00:03:22,380 >> Audienca: [padëgjueshme]? 79 00:03:22,380 --> 00:03:24,630 SPEAKER 1: Po kështu që është një tjetër zgjidhje krejt. 80 00:03:24,630 --> 00:03:25,130 E drejtë? 81 00:03:25,130 --> 00:03:28,250 Sidomos në qoftë se në shikim të parë ju nuk e bëni të vërtetë e vlerësojmë se çfarë po ndodh. 82 00:03:28,250 --> 00:03:31,070 E pra, me siguri ne mund të vetëm të bëjë dy gjëra në të njëjtën kohë 83 00:03:31,070 --> 00:03:32,710 dhe vetëm të shmangur problemin krejt. 84 00:03:32,710 --> 00:03:36,080 Dhe kjo është në rregull, por tani, për qëllime të sotme, çfarë 85 00:03:36,080 --> 00:03:38,200 është shpjegimi për bug? 86 00:03:38,200 --> 00:03:39,810 Pse ishin të gjithë ata yje në një rresht? 87 00:03:39,810 --> 00:03:40,806 Po? 88 00:03:40,806 --> 00:03:43,296 >> Audienca: Duket se në qoftë se ju keni një linjë të kodit, 89 00:03:43,296 --> 00:03:46,649 ju mund ta bëjë këtë pa ato. 90 00:03:46,649 --> 00:03:47,440 SPEAKER 1: Pikërisht. 91 00:03:47,440 --> 00:03:48,750 Kjo është vetëm një konventë njerëzor. 92 00:03:48,750 --> 00:03:50,750 Njerëzit e kuptojnë se kjo është një pak i bezdisshëm apo të lodhshme 93 00:03:50,750 --> 00:03:53,470 që të ketë për të vënë formatimin e teksteve kaçurrel gjithë e kohës në qoftë se të gjithë ju doni të bëni 94 00:03:53,470 --> 00:03:55,090 është ekzekutuar një linjë të kodit. 95 00:03:55,090 --> 00:03:57,660 Pra, njerëzit vendosën disa kohë më parë se kjo është në rregull. 96 00:03:57,660 --> 00:04:01,180 Nëse ju doni të vënë të gjitha lak tuaj në vetëm atë një rresht si kjo, 97 00:04:01,180 --> 00:04:04,030 kjo është në rregull me të vetme pikëpresje në fund. 98 00:04:04,030 --> 00:04:07,210 Por ju mund të bëni vetëm një i tillë Linja pa formatimin e teksteve kaçurrel. 99 00:04:07,210 --> 00:04:09,900 >> Pra, kur udhëzuesin stil CS50 si do të ju pikë në: 100 00:04:09,900 --> 00:04:11,980 ju do të shihni se në përgjithësi ajo është zakon i mirë 101 00:04:11,980 --> 00:04:14,920 për të marrë në këtë derisa ju jeni largim mjaft e rehatshme 102 00:04:14,920 --> 00:04:17,404 nga këto lloje të konventave dhe duke bërë gjë tuaj. 103 00:04:17,404 --> 00:04:18,820 Për sa kohë që ju jeni të vetë qëndrueshme. 104 00:04:18,820 --> 00:04:21,540 Dhe ne do të flasim më shumë për stil pak më vonë sot. 105 00:04:21,540 --> 00:04:23,200 >> Pra, më lejoni të hapur një program tjetër. 106 00:04:23,200 --> 00:04:24,930 Sigurisht, ne duhet rregulluar këtë 10 si edhe. 107 00:04:24,930 --> 00:04:32,470 Më lejoni të shkoj përpara dhe të shkruani një e vërtetë Programi i shpejtë se unë do të thërrasë, 108 00:04:32,470 --> 00:04:38,140 le të themi, loop dot C. Pra, loop dot C. Dhe në lak dot C Unë do të ketë, 109 00:04:38,140 --> 00:04:41,970 përfshijnë I standarde / O dot H int pavlefshme kryesore. 110 00:04:41,970 --> 00:04:44,020 Dhe tani le të vetëm të bëjë, në të vërtetë, një lak. 111 00:04:44,020 --> 00:04:46,020 Pra, 4 int unë merr zero. 112 00:04:46,020 --> 00:04:48,660 Unë është më pak se, të themi, 50. 113 00:04:48,660 --> 00:04:49,950 Unë plus, plus. 114 00:04:49,950 --> 00:04:53,350 Dhe pastaj në këtu le të të shkojnë përpara dhe të bëjë të shtypura F. 115 00:04:53,350 --> 00:04:56,400 Dhe pastaj unë dua të shtypura I dhe një linjë e re, pikëpresje. 116 00:04:56,400 --> 00:05:00,015 >> Dhe kjo duhet të shtypura të gjithë numrat nga zero deri në 50? 117 00:05:00,015 --> 00:05:02,900 118 00:05:02,900 --> 00:05:03,680 Një kokë Disa nyje. 119 00:05:03,680 --> 00:05:04,270 Disa nos. 120 00:05:04,270 --> 00:05:05,339 Çfarë është bug tashmë? 121 00:05:05,339 --> 00:05:06,630 Çfarë është gabim lehtë kam bërë? 122 00:05:06,630 --> 00:05:07,170 Po. 123 00:05:07,170 --> 00:05:08,544 >> Audienca: [padëgjueshme]. 124 00:05:08,544 --> 00:05:09,210 SPEAKER 1: Po. 125 00:05:09,210 --> 00:05:11,520 Pra, edhe pse duket si kjo është ajo që kam ndërmend, 126 00:05:11,520 --> 00:05:13,920 kujtojnë se unë është edhe vetëm një karakter ASCII. 127 00:05:13,920 --> 00:05:14,955 >> Pra, në qoftë se unë them, print "I." 128 00:05:14,955 --> 00:05:16,670 Është fjalë për fjalë do për të shtypur I. Pra, në qoftë se unë 129 00:05:16,670 --> 00:05:20,030 dua të plug-in një placeholder Vlera Unë në fakt duhet ta bëni këtë 130 00:05:20,030 --> 00:05:22,630 dhe pastaj plug-në Vlera e I dinamike. 131 00:05:22,630 --> 00:05:25,200 Përndryshe unë jam vetëm duke shkuar për të merrni 50 I në ekran. 132 00:05:25,200 --> 00:05:28,140 >> Pra, më lejoni të shkoj përpara dhe bëjnë këtë lak, e drejtuar atë, 133 00:05:28,140 --> 00:05:30,650 dhe, në të vërtetë, ne kemi të gjithë rruga deri me 49. 134 00:05:30,650 --> 00:05:34,140 Dhe në qoftë se unë lëviz prapa në kohë unë shoh numri zero në fillim. 135 00:05:34,140 --> 00:05:36,050 >> E pra, çfarë nëse unë lloj vidhos deri? 136 00:05:36,050 --> 00:05:37,800 Çfarë po e bëra këtë? 137 00:05:37,800 --> 00:05:40,120 Vetëm për shkak se unë nuk jam duke menduar. 138 00:05:40,120 --> 00:05:40,970 Çfarë është ky program. 139 00:05:40,970 --> 00:05:43,970 Pasi të jeni hartuar dhe drejtuar, do të bëni logjikisht? 140 00:05:43,970 --> 00:05:44,870 >> Audienca: Asgjë. 141 00:05:44,870 --> 00:05:45,661 >> SPEAKER 1: Asgjë. 142 00:05:45,661 --> 00:05:47,156 Pse eshte ajo? 143 00:05:47,156 --> 00:05:49,124 >> Audienca: Unë është projektuar për zero. 144 00:05:49,124 --> 00:05:51,899 Pra, gjendja është e rreme. 145 00:05:51,899 --> 00:05:52,940 SPEAKER 1: Po, pikërisht. 146 00:05:52,940 --> 00:05:55,110 Të gjitha kodi është e saktë, sintaksore. 147 00:05:55,110 --> 00:05:57,310 Kjo do të përpilojnë, kjo Kodi do të kandidojë, por kjo nuk është 148 00:05:57,310 --> 00:06:00,110 do të bëjë asgjë të dobishme sepse unë nisja unë në zero. 149 00:06:00,110 --> 00:06:02,240 Ne atëherë kontrolloni, është më i madh se unë 50? 150 00:06:02,240 --> 00:06:03,810 Natyrisht, jo, kjo nuk është. 151 00:06:03,810 --> 00:06:05,760 Pra lak nuk ekzekuton fare. 152 00:06:05,760 --> 00:06:09,580 >> Çfarë nëse bëjmë diçka pak më shumë i pamatur? 153 00:06:09,580 --> 00:06:12,890 Pra, çfarë nëse ne bëjmë si int kam merr zero. 154 00:06:12,890 --> 00:06:15,640 Dhe tani më lejoni të përdorin ndërsa loop, i cili ishte një tjetër kusht. 155 00:06:15,640 --> 00:06:21,810 Dhe, ndërsa unë them, ndërsa unë është më e madhe se ose te barabarte me zero, dhe më pas në këtu I 156 00:06:21,810 --> 00:06:26,070 të shkojnë përpara dhe ruani skedarin, të bëjë loop. 157 00:06:26,070 --> 00:06:27,070 Dhe unë jam gati për të drejtuar atë. 158 00:06:27,070 --> 00:06:30,230 Çfarë jam unë do të shoh këtë herë me një lak, ndërsa? 159 00:06:30,230 --> 00:06:30,852 Po. 160 00:06:30,852 --> 00:06:32,120 >> Audienca: një lak të pafund? 161 00:06:32,120 --> 00:06:35,360 >> SPEAKER 1: një lak të pafund? 162 00:06:35,360 --> 00:06:36,662 Po, dhe pse? 163 00:06:36,662 --> 00:06:38,120 Audienca: Për shkak se ajo është gjithmonë zero. 164 00:06:38,120 --> 00:06:38,786 SPEAKER 1: Po. 165 00:06:38,786 --> 00:06:40,100 Pra, unë është nisur si zero. 166 00:06:40,100 --> 00:06:44,470 Sigurisht unë është gjithmonë më i madh se ose e barabartë me 0, si rezultat. 167 00:06:44,470 --> 00:06:46,460 Pra, unë jam vetëm duke shkuar për të shohin këtë pafundësisht. 168 00:06:46,460 --> 00:06:49,850 Dhe tani, kjo ka ardhur një herë ose dy herë në kokat e kursit së. 169 00:06:49,850 --> 00:06:52,417 Çfarë ndodh kur ju kanë një lak pafund? 170 00:06:52,417 --> 00:06:53,314 >> Audienca: Kontrolli C. 171 00:06:53,314 --> 00:06:53,980 SPEAKER 1: Po. 172 00:06:53,980 --> 00:06:56,250 Pra Kontrolli C përfundimisht do të përgjigjet. 173 00:06:56,250 --> 00:06:59,520 Për fat të keq, ne kemi shtypur miliona e miliona zero tashmë 174 00:06:59,520 --> 00:07:01,520 dhe kështu kompjuteri ka lloj i mori para meje. 175 00:07:01,520 --> 00:07:03,394 Pra, ajo do të injorojë mua për pak. 176 00:07:03,394 --> 00:07:06,560 Por nëse ju vetëm goditi kontroll C pak herë në tuaj Mac apo PC tastierë, 177 00:07:06,560 --> 00:07:08,790 përfundimisht duhet, të vërtetë, të përfundojë. 178 00:07:08,790 --> 00:07:11,770 Dhe nëse jo, ne do të ju tregojmë disa Teknikat para se të gjatë, ku ju 179 00:07:11,770 --> 00:07:14,850 në fakt mund të vrasin me forcë programe, ashtu si në Windows dhe Mac OS, 180 00:07:14,850 --> 00:07:15,562 nëse duhet të jetë. 181 00:07:15,562 --> 00:07:16,770 Por le të provoni diçka tjetër. 182 00:07:16,770 --> 00:07:19,895 Le të vërtetë të ardhura I. A kjo ende do të jetë i pafund? 183 00:07:19,895 --> 00:07:22,870 184 00:07:22,870 --> 00:07:25,140 Më lejoni të drejtuar këtë. 185 00:07:25,140 --> 00:07:27,090 Dhe tani ju mund të lloj të parë se çfarë po ndodh. 186 00:07:27,090 --> 00:07:30,140 Kjo, gjithashtu, është një lak pafund. 187 00:07:30,140 --> 00:07:33,080 Por kjo është pak e një pyetje mashtrim. 188 00:07:33,080 --> 00:07:35,460 Është kjo do të shtypura numrat e përgjithmonë? 189 00:07:35,460 --> 00:07:36,647 >> Audienca: Jo. 190 00:07:36,647 --> 00:07:37,230 SPEAKER 1: Jo. 191 00:07:37,230 --> 00:07:37,620 Përse? 192 00:07:37,620 --> 00:07:38,820 Kam dëgjuar disa nos mbi këtu. 193 00:07:38,820 --> 00:07:41,859 Someone-- Po. 194 00:07:41,859 --> 00:07:44,275 Audienca: Ju nuk keni të mjaftueshme bit me të vërtetë do të mbajë. 195 00:07:44,275 --> 00:07:44,730 SPEAKER 1: Në rregull. 196 00:07:44,730 --> 00:07:46,000 Kështu që unë nuk kam mjaft bit për të do të mbajë. 197 00:07:46,000 --> 00:07:47,124 Pra, çfarë do të ndodhë? 198 00:07:47,124 --> 00:07:49,320 Është vetëm do të ndalet? 199 00:07:49,320 --> 00:07:52,542 >> Audienca: Në disa pika ajo do të mbyllet the-- 200 00:07:52,542 --> 00:07:54,500 SPEAKER 1: Kjo do të mbyllen lak poshtë, por pse? 201 00:07:54,500 --> 00:07:57,950 Çfarë do të ndodhë në shumë fundi i kufijve të saj? 202 00:07:57,950 --> 00:07:58,479 Po? 203 00:07:58,479 --> 00:08:00,520 Audienca: Ajo do të ciklit përsëri në numrat negative. 204 00:08:00,520 --> 00:08:02,900 SPEAKER 1: Për numrat negative, ose në qoftë se ne ishim vetëm trajtimin pozitiv, 205 00:08:02,900 --> 00:08:03,570 zero paktën. 206 00:08:03,570 --> 00:08:04,550 Pra, po, absolutisht. 207 00:08:04,550 --> 00:08:08,059 Kujtojnë se pamë për herë të fundit që në qoftë se ju ardhura bit tuaj një shumë herë, 208 00:08:08,059 --> 00:08:10,225 dhe ju atje Fore overflow kapaciteti i int tuaj 209 00:08:10,225 --> 00:08:13,058 apo çfarëdo lloji të dhënave është, ju jeni do të përfundojë rreth, ndoshta, 210 00:08:13,058 --> 00:08:14,020 dy numra negative. 211 00:08:14,020 --> 00:08:16,644 Ose në qoftë se ju keni të specifikoni se juaj varg duhet të jetë vetëm pozitiv, 212 00:08:16,644 --> 00:08:18,560 që ju mund të bëni, por ne nuk e kemi parë atë ende, 213 00:08:18,560 --> 00:08:21,420 ju mund të përfundojë të paktën mbrapa në zero. 214 00:08:21,420 --> 00:08:22,410 Edhe pse, në fakt po. 215 00:08:22,410 --> 00:08:24,320 Në këtë rast, negative numra, në të cilin rast 216 00:08:24,320 --> 00:08:26,870 lak do të përfundojë sepse unë nuk është, në fakt, 217 00:08:26,870 --> 00:08:29,220 më e madhe se ose e barabartë me zero nëse është negativ. 218 00:08:29,220 --> 00:08:31,780 >> Pra, për fat të keq, si gjatë do të duhet të presim? 219 00:08:31,780 --> 00:08:35,490 Tani për tani ne jemi deri në çfarë, 2 milionë-ish? 220 00:08:35,490 --> 00:08:37,705 Ne jemi si 2 miliard, ne do të duhet të presin 221 00:08:37,705 --> 00:08:39,330 deri sa ne mund të vërtetë shohim këtë simptomë. 222 00:08:39,330 --> 00:08:46,200 Por ne mund të shohim atë një pak më të shpejtë, maybe-- le të shohim nëse ne mund të ndërpresë. 223 00:08:46,200 --> 00:08:46,700 Eja. 224 00:08:46,700 --> 00:08:49,500 225 00:08:49,500 --> 00:08:51,331 Edhe menutë janë duke u shfaqur ngadalë. 226 00:08:51,331 --> 00:08:51,830 Në rregull. 227 00:08:51,830 --> 00:08:54,270 Pra, ne do të kthehen në atë para se të gjatë. 228 00:08:54,270 --> 00:08:56,320 Kjo është një e mirë time-- mallkonte atë, puppies. 229 00:08:56,320 --> 00:08:58,280 >> Kjo është një kohë e mirë për disa njoftime. 230 00:08:58,280 --> 00:09:01,225 Pra, në qoftë se ju mund të dëshironi për t'u angazhuar në YHack, 231 00:09:01,225 --> 00:09:03,600 e cila është një ngjarje qenit sponsorizuar nga miqtë tanë në Yale. 232 00:09:03,600 --> 00:09:05,990 Dhe, vërtet, disa nga kursi-së NGP në Yale janë të përfshirë me këtë. 233 00:09:05,990 --> 00:09:08,610 YHack është një ndërkombëtar hack-a-thon organizuar nga dhe mbajtur 234 00:09:08,610 --> 00:09:12,395 në Yale, duke sjellë së bashku 1,500 si hakerat mendje dhe creatives gjitha 235 00:09:12,395 --> 00:09:13,120 bota. 236 00:09:13,120 --> 00:09:14,610 Nëse kjo është me interes, hidhini një sy këtu. 237 00:09:14,610 --> 00:09:17,401 Nëse kjo është shumë shkurtimisht mbi ekran, hidhini një sy në sllajde e sotme 238 00:09:17,401 --> 00:09:19,622 për URL për yhack.org. 239 00:09:19,622 --> 00:09:21,080 Pra, edhe disa njoftime të shpejtë. 240 00:09:21,080 --> 00:09:24,410 Pra, zyrtarisht seksionet do të fillojë javën e ardhshme të dy këtu dhe New Haven. 241 00:09:24,410 --> 00:09:27,660 Mbani në mend se ju do të marrë një email më vonë këtë fundjavë më shumë gjasa. 242 00:09:27,660 --> 00:09:29,390 Ajo merr një kohë të gjatë për CS50 në seksion, 243 00:09:29,390 --> 00:09:32,080 dhënë të gjithë njerëzve në klasë dhe të gjithë lëvizin përreth. 244 00:09:32,080 --> 00:09:34,871 Dhe të gjithë shokët e mësimdhënies ' oraret janë gjithashtu ende konsoliduar, 245 00:09:34,871 --> 00:09:38,110 por qëndrojnë tuned për një e-mail dhe nëse ka nevojë të, ju mund të ri-seksion atje pas. 246 00:09:38,110 --> 00:09:39,580 >> Study.cs50.net. 247 00:09:39,580 --> 00:09:43,280 Pra, edhe në qoftë se ju jeni një vijuesi konstante në seksione, të kuptojnë se pothuajse të gjithë 248 00:09:43,280 --> 00:09:46,786 i burimeve ne i përdorim në seksione janë në dispozicion të publikut në CS50 249 00:09:46,786 --> 00:09:48,460 Të studiuar në këtë URL këtu. 250 00:09:48,460 --> 00:09:51,630 Pra, në qoftë se ju do të ndonjëherë të donte për të ri shqyrtim material nga seksioni, ose lexuar përpara, 251 00:09:51,630 --> 00:09:54,170 ose ju nuk mund të bëjë atë disa javë, të kuptojë se slides mostër, 252 00:09:54,170 --> 00:09:58,210 dhe problemet, dhe përkufizimet, dhe më shumë janë të gjitha atje. 253 00:09:58,210 --> 00:10:00,645 >> Orari i punës rifillojnë sot, dhe nesër, dhe të mërkurën, 254 00:10:00,645 --> 00:10:03,020 dhe e enjte kontrolloni sigurisht së Faqja e internetit për orarin. 255 00:10:03,020 --> 00:10:05,690 >> Dhe gjithashtu, tani nisjen sot është CS50 Diskutoni. 256 00:10:05,690 --> 00:10:09,230 Pra, në qoftë se dhe kur ju keni pyetje për njëri-tjetrin apo për stafin të kursit, 257 00:10:09,230 --> 00:10:12,099 dhe në përgjithësi janë duke punuar në disa grup problemit, 258 00:10:12,099 --> 00:10:15,015 e kupton se ju nuk e bëni domosdoshmërisht duhet të kthehet në njeri tjetër ju. 259 00:10:15,015 --> 00:10:17,810 Nëse nuk ka një atje, ju mund të të arritur deri te ne dhe shokët e klasës 260 00:10:17,810 --> 00:10:19,890 internet nëpërmjet CS50 Diskutoni. 261 00:10:19,890 --> 00:10:22,600 Pra, ky është një diskutim Bordi për kursin, 262 00:10:22,600 --> 00:10:24,550 dhe të kuptojë se kjo është ndoshta më të mirë 263 00:10:24,550 --> 00:10:28,480 vendosni të fillojë kur ju keni Pyetjet kur jashtë orarit të punës 264 00:10:28,480 --> 00:10:29,470 veçanërisht. 265 00:10:29,470 --> 00:10:31,070 >> Dreka do të fillojnë deri këtë javë shumë. 266 00:10:31,070 --> 00:10:33,170 Në Zjarri dhe Ice [Padëgjueshme] në New Haven. 267 00:10:33,170 --> 00:10:35,379 Hidhni një sy në Sigurisht së faqen e internetit në mënyrë që të RSVP. 268 00:10:35,379 --> 00:10:36,753 Vijë të parë, së pari të shërbejë për atë. 269 00:10:36,753 --> 00:10:39,380 Nëse ju nuk merrni në këtë javë ne do të bëjmë këto më çdo të premte 270 00:10:39,380 --> 00:10:40,400 gjatë afatit. 271 00:10:40,400 --> 00:10:41,830 >> OK, dhe tani një fjalë në lidhje me nota. 272 00:10:41,830 --> 00:10:44,690 Veçanërisht për sa kemi hyrë problemit vendosur një, e cila është jashtë kësaj jave, 273 00:10:44,690 --> 00:10:46,670 dhe problemi të vendosur dy dhe më pas. 274 00:10:46,670 --> 00:10:51,680 Si mund të shkoni në lidhje me vlerësimin grupe P dhe vlerësimin e cilësisë e saj? 275 00:10:51,680 --> 00:10:55,560 Pra, kjo është katër akseve që ne i përdorim në CS50, dhe ata janë këto katër këtu. 276 00:10:55,560 --> 00:10:59,200 >> Fushëveprimi, e cila kap në një numerike Baza se sa shumë e caktuar P 277 00:10:59,200 --> 00:10:59,860 e keni trajtuar. 278 00:10:59,860 --> 00:11:02,890 Është korrespondon afërsisht me përpjekje, dhe kjo është mënyra jonë për kapjen e 279 00:11:02,890 --> 00:11:05,190 ke tentuar gjysma e P vendosur, të gjitha të setit P. 280 00:11:05,190 --> 00:11:08,860 Kjo është një e lehtë për të marrë të përsosur rezultatet në qoftë se ju bëni, me të vërtetë, 281 00:11:08,860 --> 00:11:11,020 provoni çdo aspekt të caktuar P. 282 00:11:11,020 --> 00:11:12,010 Pra, mbani në mend. 283 00:11:12,010 --> 00:11:13,420 >> Saktësia është pikërisht kjo. 284 00:11:13,420 --> 00:11:17,760 A punën tuaj kodin si specifikimet dhe si zgjidhje të mostrës shtabet ' 285 00:11:17,760 --> 00:11:19,730 sugjerojnë se kodi juaj duhet, në fakt, të punojnë. 286 00:11:19,730 --> 00:11:23,260 Kontrolloni 50, në qoftë se ju nuk e keni takuar atë ende është në P vendosur një specifikim 287 00:11:23,260 --> 00:11:25,060 dhe do të në përgjithësi ju jap Po / Jo përgjigje 288 00:11:25,060 --> 00:11:26,518 nëse kodi juaj është e saktë. 289 00:11:26,518 --> 00:11:30,680 Të paktën aq sa ne jemi duke shkuar për të vlerësuar atë në bazë të testeve 290 00:11:30,680 --> 00:11:32,430 që ne të drejtuar në kuadër të këtij programi. 291 00:11:32,430 --> 00:11:33,850 >> Dizajni është shumë më subjektiv. 292 00:11:33,850 --> 00:11:35,994 Kjo është se sa mirë i shkruar është kodi juaj. 293 00:11:35,994 --> 00:11:38,410 Dhe kjo është diçka që ju do të merrni më të mirë në kalimin e kohës, 294 00:11:38,410 --> 00:11:41,201 dhe kjo është diçka që ne do të sigurojnë reagime më cilësor në. 295 00:11:41,201 --> 00:11:43,350 Dhe me dashje unë mund do të thotë para se të gjatë ju 296 00:11:43,350 --> 00:11:47,650 mund të joshet në disa P të vendosur për të bërë diçka loopingly, 297 00:11:47,650 --> 00:11:51,590 por që të ketë ndoshta tre, ose katër, ose pesë sythe mbivendosur parat apo duke mbivendosur 298 00:11:51,590 --> 00:11:52,090 sythe. 299 00:11:52,090 --> 00:11:54,130 Që në përgjithësi duhet të fillojë të bëjë që ju servilizëm 300 00:11:54,130 --> 00:11:56,070 dhe do të jetë përgjithësisht konsiderohet Dizajni i keq. 301 00:11:56,070 --> 00:11:59,490 Dhe ju do të fillojnë për të parë në klasë dhe nga të klasës mënyra të mira të të bërit të gjërave, 302 00:11:59,490 --> 00:12:02,920 mënyra e keqe e të bërit të gjërave që mund të të gjitha të jetë e saktë, por jo 303 00:12:02,920 --> 00:12:04,304 domosdoshmërisht projektuar mirë. 304 00:12:04,304 --> 00:12:05,220 Ashtu si të shkruajë një ese. 305 00:12:05,220 --> 00:12:08,100 Ju mund të jetë në gjendje për të vënë fjalët në një faqe që janë gramatikisht korrekte, 306 00:12:08,100 --> 00:12:10,016 por ese ose Teza ata janë në është vetëm 307 00:12:10,016 --> 00:12:11,810 plotësisht inkoherente ose unpersuasive. 308 00:12:11,810 --> 00:12:15,930 Dhe kështu që mund të jetë analog në Bota shkrim i dizajnit të keq apo të mirë. 309 00:12:15,930 --> 00:12:18,490 >> Dhe stil, gjithashtu, është mjaft subjektive. 310 00:12:18,490 --> 00:12:20,060 Por të paktën presim qëndrueshmëri. 311 00:12:20,060 --> 00:12:21,480 Kjo është se si mjaft është kodi juaj. 312 00:12:21,480 --> 00:12:22,840 Janë prerë gjërat e bukur? 313 00:12:22,840 --> 00:12:26,600 Janë variabla tuaj me emrin dhe / A janë të gjitha i kllapa tuaja dhe formatimin e teksteve kaçurrel 314 00:12:26,600 --> 00:12:27,920 një linjë si ata duhet të jenë? 315 00:12:27,920 --> 00:12:31,490 Ne nuk kemi një udhëzues stil CS50 si set problemi do të ju pikë në. 316 00:12:31,490 --> 00:12:33,730 Ata janë më të rehatshme mirëpritur të humbur nga se 317 00:12:33,730 --> 00:12:35,771 aq kohë sa ju jeni vetë qëndrueshme. 318 00:12:35,771 --> 00:12:38,020 Dhe kjo, gjithashtu, është një mësim ne do të përforcuar në seksionin. 319 00:12:38,020 --> 00:12:40,990 Pra, në qoftë se e gjithë kjo ishte pak shpejtë, realizojnë set P dhe seksione 320 00:12:40,990 --> 00:12:42,900 do të shkojnë në thellësi më shumë para se të gjatë. 321 00:12:42,900 --> 00:12:45,490 >> Por në përgjithësi ne kemi shumë pak kova për CS50. 322 00:12:45,490 --> 00:12:48,170 Rezultatet më të mira në përgjithësi janë në një shkallë të nga nje deri me tre, ose një deri në pesë. 323 00:12:48,170 --> 00:12:50,836 Ne jemi literally-- dhe unë nuk mund të them kjo e mjaftueshme në javën e parë. 324 00:12:50,836 --> 00:12:51,582 Tre është e mirë. 325 00:12:51,582 --> 00:12:54,290 Pra, edhe pse, po, tre nga e pesë normalisht, matematikisht, 326 00:12:54,290 --> 00:12:57,240 mund të jetë një 60 për qind ose si një minus D. 327 00:12:57,240 --> 00:12:58,840 Tre është, në fakt, mirë. 328 00:12:58,840 --> 00:13:01,050 Dhe, në fakt, ne presim shumica e studentëve në klasë 329 00:13:01,050 --> 00:13:04,280 të nisem termin rreth twos, dhe threes, dhe katër këmbët. 330 00:13:04,280 --> 00:13:05,510 Ndoshta jo aq shumë five. 331 00:13:05,510 --> 00:13:06,661 Jo shumë ato. 332 00:13:06,661 --> 00:13:08,910 Por në përgjithësi të fillojë në vend i ëmbël që në kurbën e 333 00:13:08,910 --> 00:13:11,694 në mënyrë që si kohë zhvillohet, ka në fakt vend për, 334 00:13:11,694 --> 00:13:13,360 dhe mundësitë për përparimin e sipërme. 335 00:13:13,360 --> 00:13:15,810 Pra, ju lutem mos barazohet me tre 60%. 336 00:13:15,810 --> 00:13:17,410 Është shumë më tepër abstrakte se kaq. 337 00:13:17,410 --> 00:13:20,160 Formula me të cilën ne llogarisim notat është peshuar si më poshtë. 338 00:13:20,160 --> 00:13:21,610 Korrektësia është me vlerë më. 339 00:13:21,610 --> 00:13:23,010 Dizajni është me vlerë më pak. 340 00:13:23,010 --> 00:13:24,490 Style është me vlerë më pak. 341 00:13:24,490 --> 00:13:26,950 Dhe kjo në përgjithësi kap sasinë e kohës 342 00:13:26,950 --> 00:13:29,800 që shkon në marrjen e çdo prej këtyre akseve vetëm e drejtë. 343 00:13:29,800 --> 00:13:31,810 Stil është super i lehtë, duhet të jetë super të shpejtë, 344 00:13:31,810 --> 00:13:33,657 por kjo është një zakon i lehtë për të marrë dembel rreth. 345 00:13:33,657 --> 00:13:35,490 Korrektësi mund të marrë ju shumicën e kohës. 346 00:13:35,490 --> 00:13:38,990 Chasing poshtë disa mund bug marrë atë orë shtesë apo më shumë, 347 00:13:38,990 --> 00:13:41,737 dhe kështu, duke shënuar në fund të fundit kap atë. 348 00:13:41,737 --> 00:13:43,070 Dhe kështu, tani një fjalë më serioze. 349 00:13:43,070 --> 00:13:45,240 Që CS50 ka të dallim, për të mirë 350 00:13:45,240 --> 00:13:47,440 ose për keq, për të qenë ndoshta më mirë i njohur 351 00:13:47,440 --> 00:13:50,065 me çështjet e akademik ndershmëri se më çdo kurs tjetër. 352 00:13:50,065 --> 00:13:53,720 Dhe në të vërtetë, kjo është për të njohurive të mia që ne dërgojë më shumë studentë, për fat të keq, 353 00:13:53,720 --> 00:13:56,690 për qëllime disiplinore çdo vit si rezultat i kësaj. Kështu që, 354 00:13:56,690 --> 00:13:59,040 në interes të plotë zbulimi, le të flasim shkurtimisht 355 00:13:59,040 --> 00:14:02,820 në lidhje me atë që ndodh në CS50, dhe çfarë ju mund të bëjë, dhe atë që ju mund të jenë të ndërgjegjshëm. 356 00:14:02,820 --> 00:14:05,530 >> Pra, këtu që nga viti 2007, kur Unë trashëguar kursin, 357 00:14:05,530 --> 00:14:07,870 është numri i rasteve Ad Bordit. 358 00:14:07,870 --> 00:14:10,690 Ad Board është disiplinor Harvardit trupit, apo tani Këshilltari Honor, 359 00:14:10,690 --> 00:14:13,790 për të cilat raste i referohen kur Studentët bëni diçka që sigurisht të 360 00:14:13,790 --> 00:14:15,470 plani mësimor i konsideron të paarsyeshme. 361 00:14:15,470 --> 00:14:17,220 Nuk ka asnjë model i vërtetë këtu, unë do të thoja. 362 00:14:17,220 --> 00:14:19,530 Ai luhatet mbi të vjet, por në përgjithësi 363 00:14:19,530 --> 00:14:22,262 kjo është numri i raste që janë përmendur. 364 00:14:22,262 --> 00:14:23,970 Numri i nxënësve që janë përfshirë? 365 00:14:23,970 --> 00:14:25,290 Ajo gjithashtu ndryshon. 366 00:14:25,290 --> 00:14:27,930 Në mënyrë tipike, vitin e kaluar për shembull, 29 studentë në Harvard 367 00:14:27,930 --> 00:14:29,740 ishin Ad hipi, kështu që të flasin. 368 00:14:29,740 --> 00:14:32,670 29 prej tyre studentëve aktualë, Dy prej tyre studentë të mëparshme, 369 00:14:32,670 --> 00:14:35,610 të cilët janë duke bashkëpunuar në një farë mënyre pafat. 370 00:14:35,610 --> 00:14:38,400 Dhe pastaj në aspektin e përqindje, kjo është zakonisht rreth 3% 371 00:14:38,400 --> 00:14:41,360 i klasës që, për fat të keq, i bën këto lloje të vendimeve. 372 00:14:41,360 --> 00:14:44,470 >> Pra, vitin e kaluar ishte 3.5% e trupit të CS50 e studentëve 373 00:14:44,470 --> 00:14:46,820 kjo ishte Ad hipi, kështu që të flasin. 374 00:14:46,820 --> 00:14:48,490 >> Pra, çfarë e bën e gjithë kjo do të thotë? 375 00:14:48,490 --> 00:14:49,660 Dhe çfarë të bëjë në fakt? 376 00:14:49,660 --> 00:14:52,930 >> Pra, për zbulimin e plotë, ne absolutisht, si shkencëtarët kompjuterike, 377 00:14:52,930 --> 00:14:57,620 kanë mjete software në dispozicion dhe kjo është shumë e lehtë për ne, në drejtësi, 378 00:14:57,620 --> 00:15:00,980 shokët e klasës që të tjerë të cilët nuk janë kalimit këto rreshta për të kaluar të krahasuar 379 00:15:00,980 --> 00:15:04,570 çdo nënshtrim këtë vit kundër çdo Dorëzimi për tetë vitet e fundit. 380 00:15:04,570 --> 00:15:05,445 Software e bën këtë. 381 00:15:05,445 --> 00:15:07,440 Dhe në fund të fundit kjo është sytë e njeriut që vendosin 382 00:15:07,440 --> 00:15:11,410 nëse janë apo jo për të referuar disa rëndësi për gjykim të mëtejshëm, 383 00:15:11,410 --> 00:15:12,737 por software sigurisht ndihmon. 384 00:15:12,737 --> 00:15:15,820 Dhe kjo, sinqerisht, është arsyeja që unë mendoj ne kemi një numër të tilla të mëdha në CS50. 385 00:15:15,820 --> 00:15:18,540 Kjo nuk është për shkak se CS50 nxënësit apo studentët CS më shumë 386 00:15:18,540 --> 00:15:20,840 në përgjithësi janë më pak të ndershëm se çdo nxënësit e tjerë, 387 00:15:20,840 --> 00:15:22,340 kjo është vetëm ne kemi mjetet dhe teknikat 388 00:15:22,340 --> 00:15:24,095 me të cilën për të marrë këtë kalojë së pari. 389 00:15:24,095 --> 00:15:25,960 >> Por ne bëjmë të mbajtur një sy në të gjitha këto gjëra 390 00:15:25,960 --> 00:15:30,340 si dhe, përsëri, në interesat e duke njohur punën që është duke u vënë 391 00:15:30,340 --> 00:15:32,397 në nga shumica super të klasës. 392 00:15:32,397 --> 00:15:34,230 Dhe politika Kursi-së në ndershmëri akademike, 393 00:15:34,230 --> 00:15:37,021 edhe pse kjo është një bandë e paragrafëve të gjatë me një bandë e plumbave 394 00:15:37,021 --> 00:15:40,490 që janë me shpresë mjaft i lexueshëm, ajo vërtetë nuk avulloj të jenë të arsyeshme. 395 00:15:40,490 --> 00:15:44,000 Dhe më të mirë rregull e pranoj që ne ofrojmë deri në planin mësimor 396 00:15:44,000 --> 00:15:46,020 është ky, thelbi të gjithë punën që ju 397 00:15:46,020 --> 00:15:47,850 të paraqesë në këtë kurs duhet të jenë tuajat. 398 00:15:47,850 --> 00:15:51,510 Dhe me të vërtetë, në të pothuajse të gjithë ata rastet e referuara për veprim disiplinor 399 00:15:51,510 --> 00:15:55,640 kjo ishte për shkak të disa studentëve një fund natë zakonisht kthyer kodin e tij ose të saj 400 00:15:55,640 --> 00:15:58,130 mbi plotë për një shok klase, i cili më pas e miratoi atë 401 00:15:58,130 --> 00:16:00,840 në tërësi ose konsiderueshme te tyre. 402 00:16:00,840 --> 00:16:02,680 >> Por me të vërtetë, kjo është në rregull. 403 00:16:02,680 --> 00:16:04,684 Dhe me të vërtetë, në zyrën e orësh, rrëshqet e letrës 404 00:16:04,684 --> 00:16:07,850 ju keni qenë dorëzuar në qoftë se keni ardhur nga zyra e orë javën e kaluar inkurajon sa më shumë. 405 00:16:07,850 --> 00:16:09,710 Ju jeni absolutisht të mirëpritur dhe inkurajuar 406 00:16:09,710 --> 00:16:12,340 për të diskutuar grupe problem me shokët e klasës. 407 00:16:12,340 --> 00:16:14,461 Për të ndihmuar njëri-tjetrin kur pengesë. 408 00:16:14,461 --> 00:16:17,710 Por në përgjithësi sundimi i gishtit duhet të jetë kjo, "kur ju jeni duke kërkuar për ndihmë, 409 00:16:17,710 --> 00:16:20,412 ju mund të tregojnë kodin tuaj për të tjerët, por ju nuk mund të shihni të tyret. " 410 00:16:20,412 --> 00:16:22,620 Pra, me fjalë të tjera, në qoftë se unë jam i duke luftuar me disa grup P 411 00:16:22,620 --> 00:16:25,290 dhe unë jam i ulur atje në ngrënie sallë, ose në bibliotekë, 412 00:16:25,290 --> 00:16:28,470 ose në klasë duke u përpjekur për të gjetur ndonjë të metë, 413 00:16:28,470 --> 00:16:30,340 Unë me siguri mund të tregoj kodi im në ekran e mia 414 00:16:30,340 --> 00:16:32,590 për të personi i ulur pranë për mua, sigurisht stafi, 415 00:16:32,590 --> 00:16:33,600 por edhe një shok klase. 416 00:16:33,600 --> 00:16:36,580 Por në qoftë se zgjidhja që shok klase ime ofron është, oh, 417 00:16:36,580 --> 00:16:39,200 këtu vetëm të marrin një vështrim në atë Unë e bëri, që kalon vijën. 418 00:16:39,200 --> 00:16:43,120 >> Dhe unë do të guxoj të them se kjo është në përgjithësi një gjë e arsyeshme për shumicën e njerëzve 419 00:16:43,120 --> 00:16:45,030 për shumë të lehtë vend vijën e. 420 00:16:45,030 --> 00:16:47,195 Dhe kështu, shih planin mësimor për më shumë detaje. 421 00:16:47,195 --> 00:16:49,070 Dhe tani një nga më të Aspektet e diskutueshme 422 00:16:49,070 --> 00:16:52,529 e CS50 syllabus që kam menduar unë do flisni në përfundim këtu 423 00:16:52,529 --> 00:16:53,820 është e ashtuquajtura klauzolë keqardhje. 424 00:16:53,820 --> 00:16:55,340 Pra, këtu është e gjitha shtypura gjobë. 425 00:16:55,340 --> 00:16:58,090 Por në përgjithësi ne kemi parë gjatë 8 viteve të fundit, plus 426 00:16:58,090 --> 00:17:01,510 se, me të vërtetë, pothuajse të gjithë e CS50-së rastet e pandershmërisë akademike 427 00:17:01,510 --> 00:17:04,390 kanë qenë rezultat i vetëm i varfër vendimmarrëse natën vonë. 428 00:17:04,390 --> 00:17:07,144 Rezultati i stresit, rezultati të mungesës së të ngrënit, mungesa e gjumit, 429 00:17:07,144 --> 00:17:09,560 shumë grupe P, shumë afatet, shumë angazhime. 430 00:17:09,560 --> 00:17:13,520 Stresi ndërtimin në një 2:00 AM, 03:00 AM, 4:00 AM, me një afat kanosës. 431 00:17:13,520 --> 00:17:17,020 Shumica e studentëve në këto raste kanë bërë vetëm vendime të këqija 432 00:17:17,020 --> 00:17:20,619 që ata të mund shumë mirë keqardhje të nesërmen në mëngjes, nëse jo minuta më vonë, 433 00:17:20,619 --> 00:17:25,490 por deri vitin e kaluar nuk ka pasur valvul lirimin se këta studentë mund të 434 00:17:25,490 --> 00:17:29,140 në fakt të hapur që në fakt adresuar Kreu Problemi me pa frikën e të qënit 435 00:17:29,140 --> 00:17:30,850 booted nga kolegji krejt. 436 00:17:30,850 --> 00:17:33,260 >> Dhe, me të vërtetë, ne kemi prezantuar kjo klauzolë keqardhje vitin e kaluar, 437 00:17:33,260 --> 00:17:35,970 i cili thotë se në qoftë se brenda 72 orë, tre ditë, 438 00:17:35,970 --> 00:17:37,970 e kalimit disa linjë përshkruara në planin mësimor 439 00:17:37,970 --> 00:17:41,178 ju vijnë përpara për një natyrisht të kokat dhe ne do të kemi një bisedë në lidhje me të. 440 00:17:41,178 --> 00:17:43,720 Nuk janë ende të ketë disa rezultat, në kundërshtim me atë që është 441 00:17:43,720 --> 00:17:44,990 është raportuar për të kundërtën. 442 00:17:44,990 --> 00:17:49,190 Ka ende disa përfundime që është vepruese nga ana e kursit, 443 00:17:49,190 --> 00:17:51,611 përgjithësisht zeroing një grup P ose duke marrë disa veprime të tjera, 444 00:17:51,611 --> 00:17:53,610 por ne do të, në të vërtetë, trajtuar atë vetë dhe jo 445 00:17:53,610 --> 00:17:58,460 referohen të lartë ishin rezultati mund të jenë shumë më të rënda. 446 00:17:58,460 --> 00:18:01,810 Dhe, me të vërtetë, për të ndarë atë që ka ndodhur vitin e kaluar, në tetë vjet, dhe tani 447 00:18:01,810 --> 00:18:04,950 nëntë vjet, e mësimdhënies këtë kurs dhe pas ngatërresë me pullat e ndryshme, 448 00:18:04,950 --> 00:18:07,866 kthyer dials të ndryshme mbi të kaluarën disa vite në ndershmërinë akademike, 449 00:18:07,866 --> 00:18:11,920 dhe duke parë sipas të dhënave jo të dukshme ndikim, madje edhe të fjalimeve si kjo, 450 00:18:11,920 --> 00:18:15,490 kjo ishte duart poshtë gjëja më e mirë ne kemi prezantuar pedagogjike 451 00:18:15,490 --> 00:18:18,090 në tetë vjet së bashku këto rreshta në CS50. 452 00:18:18,090 --> 00:18:21,010 >> 19 studentë doli përpara sipas kësaj klauzole të vitit të kaluar. 453 00:18:21,010 --> 00:18:23,389 Ne patëm marrë asnjë veprim për shtatë nga ata studentë, 454 00:18:23,389 --> 00:18:25,430 përcaktimin se ata ishin panevojshme të shqetësuar. 455 00:18:25,430 --> 00:18:27,304 Ata nuk kishin, në fakt, kaluar një linjë, por ajo 456 00:18:27,304 --> 00:18:28,960 ishte një chat mirë që të ketë megjithatë. 457 00:18:28,960 --> 00:18:31,190 Ne zero 11 të rezultateve që janë dorëzuar. 458 00:18:31,190 --> 00:18:33,840 Dhe në një rast kemi pyetur një Studenti për të bërë një problem të caktuar. 459 00:18:33,840 --> 00:18:36,370 Por më bindëse, sinqerisht, me këto 19 biseda, 460 00:18:36,370 --> 00:18:39,020 e cila ishte mënyra më shumë se unë pritet të ketë, secili prej tyre 461 00:18:39,020 --> 00:18:41,370 10 minuta për të ndoshta një orë të gjatë, solli edhe 462 00:18:41,370 --> 00:18:44,920 në dritë një numër çështjesh lidhur Çështjet familjare, çështjet mik, 463 00:18:44,920 --> 00:18:46,940 çështjet e shëndetit mendor që ne pastaj të angazhuar, 464 00:18:46,940 --> 00:18:50,200 me të studentit bekim, banor dekan, apo miqtë, ose ndonjë numër tjetër 465 00:18:50,200 --> 00:18:51,450 e burimeve mbështetëse. 466 00:18:51,450 --> 00:18:54,454 Kështu që kjo ishte larg nga një nga përdorimet më të mira të kohës sonë 467 00:18:54,454 --> 00:18:55,870 dhe një nga ndërhyrjet më të mirë. 468 00:18:55,870 --> 00:18:58,870 >> Me tha se, ajo nuk kishte të dhëna mbi normën e zbulimit 469 00:18:58,870 --> 00:19:00,909 pandershmërie akademike në përgjithësi. 470 00:19:00,909 --> 00:19:02,950 Dhe unë guxoj të them, këtë nënbashkësi e studentëve të vitit të kaluar 471 00:19:02,950 --> 00:19:06,350 ishte një demografike që ne parë kurrë më parë identifikuar 472 00:19:06,350 --> 00:19:08,140 dhe kurrë nuk e kishte lidhur me para. 473 00:19:08,140 --> 00:19:10,020 Dhe kështu, këto ishin Historitë e suksesit të mrekullueshme 474 00:19:10,020 --> 00:19:13,390 edhe pse ata u sollën në dritë në më pak se rrethana optimale. 475 00:19:13,390 --> 00:19:15,640 Pra, mbani këtë në mend si ju bëni, ndoshta, 476 00:19:15,640 --> 00:19:17,390 disa vendim të varfër veten natën vonë, 477 00:19:17,390 --> 00:19:20,151 se nuk ka rekurs aq e gjatë si student në atë situatë 478 00:19:20,151 --> 00:19:23,400 vet dhe të vijnë përpara në mënyrë që ne mund të kanë këtë lloj chat dhe të merren me të 479 00:19:23,400 --> 00:19:27,310 në një mënyrë që është e arsimore, dhe pastaj ne mund të vënë atë prapa nesh të nesërmen. 480 00:19:27,310 --> 00:19:30,335 >> Pra, pa zhurmë më tej, marrë më të buzë off e kësaj bisede, 481 00:19:30,335 --> 00:19:35,080 arsyeja puppies janë lart është vetëm për të thyer akullin për një moment. 482 00:19:35,080 --> 00:19:39,560 Dhe për fat të keq, ata janë të gjithë gjumë, por ajo që është dashur të ndodhë këtu 483 00:19:39,560 --> 00:19:41,760 ishte të gjithë është dashur për frikë dhe lloji i relaksohuni 484 00:19:41,760 --> 00:19:43,910 pas asaj bisede shumë të rëndë. 485 00:19:43,910 --> 00:19:46,930 Por me sa duket kam vënë puppies për të fjetur. 486 00:19:46,930 --> 00:19:50,070 Por në qoftë se ju shkoni në CS50-së puppies Slash website, 487 00:19:50,070 --> 00:19:51,610 ju mund të shikojnë ata të gjithë ditën e gjatë. 488 00:19:51,610 --> 00:19:55,280 Veçanërisht ndoshta 2:00, ose 3:00, apo 04:00 në mbrëmje 489 00:19:55,280 --> 00:19:57,480 për të parë një lehtësim stresit të vogël atje. 490 00:19:57,480 --> 00:19:58,805 Kështu që është çaj puppies. 491 00:19:58,805 --> 00:20:01,700 492 00:20:01,700 --> 00:20:02,200 Në rregull. 493 00:20:02,200 --> 00:20:03,020 A nuk ishte kjo fun? 494 00:20:03,020 --> 00:20:04,200 NE RREGULL. 495 00:20:04,200 --> 00:20:07,140 Pra, përsëri në një kompjuter shkencë, në qoftë se unë mund të. 496 00:20:07,140 --> 00:20:10,600 >> Pra, kujtojnë se koha e kaluar kemi filluar jo duke kërkuar vetëm në kryesor, i cili 497 00:20:10,600 --> 00:20:13,930 ishte funksioni default, kur flamuri gjelbër klikuar ekuivalent, 498 00:20:13,930 --> 00:20:16,999 por ne gjithashtu filluar shkurtimisht shkruar disa nga vetë funksionet tona. 499 00:20:16,999 --> 00:20:20,040 Dhe deri më tani asnjë nga këto funksione kanë qenë veçanërisht i madh apo mishi. 500 00:20:20,040 --> 00:20:24,570 Ju do të merrni në ato më të mëdha Funksionet e ndoshta, P vendosur 2, P vendosur 3, 501 00:20:24,570 --> 00:20:26,410 patjetër P vendosur 4 dhe më tej. 502 00:20:26,410 --> 00:20:29,340 Tani për tani shumica e programeve tuaja, nëse jo të gjitha prej tyre, sigurisht për P 503 00:20:29,340 --> 00:20:31,550 set 1 mund të bëhet tërësisht në kryesore. 504 00:20:31,550 --> 00:20:33,810 Nëse programi juaj është vetëm pesë linjave, linjat 10, 505 00:20:33,810 --> 00:20:37,070 edhe 20 linjat e gjata, të përkryer arsyeshme për të shkruar atë 506 00:20:37,070 --> 00:20:40,930 të gjitha në kryesore dhe të mos mbi komplikojë Kodi juaj, por ajo që ne jemi duke bërë sot 507 00:20:40,930 --> 00:20:44,360 dhe tutje është duke u përpjekur për të edhe prezantoj disa teknika të mira të projektimit 508 00:20:44,360 --> 00:20:48,660 në mënyrë që sa kodi juaj merr më shumë komplikuar dhe si problemet 509 00:20:48,660 --> 00:20:51,690 ju doni të zgjidhur të merrni shumë dhe më interesante që ju keni, lloj, 510 00:20:51,690 --> 00:20:55,850 mjetet në veglave tuaja me të cilat për të hartuar zgjidhje të mira atyre. 511 00:20:55,850 --> 00:21:01,210 >> Pra, le të marrin një vështrim i shpejtë mbrapa në ky program nga java e mia të fundit, e cila 512 00:21:01,210 --> 00:21:06,550 ishte funksionet zero dot C. Dhe vini re se, thjesht, 513 00:21:06,550 --> 00:21:10,310 kjo duket si ky me dy funksionet, kryesore dhe emri shtypura. 514 00:21:10,310 --> 00:21:13,160 Dhe të menduarit prapa ose ndoshta xhenio sot, 515 00:21:13,160 --> 00:21:16,880 çfarë ishte motivimi për futjen një funksion në linjë 28 të quajtur, 516 00:21:16,880 --> 00:21:18,180 Emri shtypura? 517 00:21:18,180 --> 00:21:21,745 Ose çfarë ishte ky një shembull i në kushtet e një parimi apo takeaway, 518 00:21:21,745 --> 00:21:22,605 në qoftë se ju do. 519 00:21:22,605 --> 00:21:26,560 520 00:21:26,560 --> 00:21:27,300 Disa murmurs. 521 00:21:27,300 --> 00:21:28,830 Çfarë? 522 00:21:28,830 --> 00:21:32,210 >> Po Zbërthimi kështu funksional është lloj i mënyrës sofistikuar për të thënë: 523 00:21:32,210 --> 00:21:34,690 tretem programin tuaj në pjesët e saj përbërëse 524 00:21:34,690 --> 00:21:37,530 dhe pastaj të përdorin ato pjesë për të mbledhur një të tërë. 525 00:21:37,530 --> 00:21:39,620 Pra, edhe kjo është vetëm lloji e një kafshatë tashmë, 526 00:21:39,620 --> 00:21:42,050 por kjo është ndoshta edhe një Shembulli më i mirë i diçkaje 527 00:21:42,050 --> 00:21:43,081 quajtur vetëm abstraksion. 528 00:21:43,081 --> 00:21:43,580 E drejtë? 529 00:21:43,580 --> 00:21:46,950 Abstraksion do të jetë një nga temat e përsëritur në CS50 530 00:21:46,950 --> 00:21:49,085 dhe gjithashtu shkenca kompjuterike më shumë në përgjithësi nga ajo e 531 00:21:49,085 --> 00:21:53,060 një teknikë me të cilën ju mund të zgjidhin Problemet më efektive, sepse ju 532 00:21:53,060 --> 00:21:56,807 mund të shkruani zgjidhjet më shumë intuitive dhe në një mënyrë që peshore 533 00:21:56,807 --> 00:21:58,390 dhe është e kuptueshme nga njerëzit e tjerë. 534 00:21:58,390 --> 00:21:59,860 Çfarë dua të them me këtë? 535 00:21:59,860 --> 00:22:04,340 >> Pra, ndoshta ajo është shumë më i lexueshëm për të parë në një program si ky, 536 00:22:04,340 --> 00:22:05,990 super të shkurtër edhe pse ajo është. 537 00:22:05,990 --> 00:22:10,050 Kur ju shihni on line 22 se ka një funksion të quajtur, emrin shtypura. 538 00:22:10,050 --> 00:22:12,620 Vetëm se emri thotë atë që bën. 539 00:22:12,620 --> 00:22:15,780 Se funksioni me sa duket merr të dhëna në mes të kllapa e saj, 540 00:22:15,780 --> 00:22:18,600 dhe me sa duket bën diçka, me sa duket printon emrin. 541 00:22:18,600 --> 00:22:20,880 Dhe kështu, edhe pse ne absolutisht mund të ketë 542 00:22:20,880 --> 00:22:25,280 bërë atë që ne e bëmë një javë më parë, e cila ishte vetëm të marrë këtë linjë aktual të kodit, 543 00:22:25,280 --> 00:22:28,710 të hequr qafe këtë, dhe për të marrë qafe këtë të gjithë së bashku, 544 00:22:28,710 --> 00:22:31,436 ne lloj i përhumbur larg nocioni i shtypjes një emër. 545 00:22:31,436 --> 00:22:33,060 Unë nuk e kujdesit në qoftë se ju jeni duke përdorur def shtypura. 546 00:22:33,060 --> 00:22:35,601 Unë nuk e kujdesit në qoftë se ju keni një për qind S dhe një backslash N. Këto 547 00:22:35,601 --> 00:22:37,270 detaje tepër misterioze. 548 00:22:37,270 --> 00:22:40,090 Ajo që unë e kujdesit për si një programues është shtypje një emër. 549 00:22:40,090 --> 00:22:43,414 Dhe kështu, çfarë mënyrë më të mirë për të bërë këtë se duke e quajtur një funksion, emër të shtypura? 550 00:22:43,414 --> 00:22:46,330 Dhe kështu, kjo ishte një nga motivet për të bërë diçka si kjo. 551 00:22:46,330 --> 00:22:50,370 Marrja kodi më i lexueshëm, më shumë reusable, dhe gjithashtu vetë përshkrues. 552 00:22:50,370 --> 00:22:52,120 Tani, le të marrin një vështrim në një tjetër shembull, 553 00:22:52,120 --> 00:22:56,220 e cila ishte funksionon një, që kemi pasur këtu. 554 00:22:56,220 --> 00:23:00,367 >> Pra, kjo është ndoshta edhe më e bindëse, sepse, në këtë rast, 555 00:23:00,367 --> 00:23:01,700 Unë nuk dua të merrni vetëm një int. 556 00:23:01,700 --> 00:23:03,320 Unë dua të të marrë një int pozitiv. 557 00:23:03,320 --> 00:23:06,470 Dhe kjo rezulton për të marrë një pozitiv int ju duhet të bëni një bandë e legwork. 558 00:23:06,470 --> 00:23:06,969 E drejtë? 559 00:23:06,969 --> 00:23:09,600 Kjo nuk është thjeshtë një linjë quajnë si emri me shkronja shtypi ishte, 560 00:23:09,600 --> 00:23:11,480 i cili është pa dyshim më pak imponues. 561 00:23:11,480 --> 00:23:16,000 >> Për të marrë një int pozitiv, logically-- më lejoni të lëvizni përsëri poshtë për të fshehur këtë. 562 00:23:16,000 --> 00:23:18,887 Çfarë ju duhet të bëni? 563 00:23:18,887 --> 00:23:20,720 Ashtu si të gjitha mjetet ne kanë në momentin janë 564 00:23:20,720 --> 00:23:24,440 gjëra të tilla si def shtypura nga Standard Biblioteka dhe gjithashtu nga biblioteka CS50 565 00:23:24,440 --> 00:23:26,990 ne kemi marrë Int, dhe Get noton, Get gjatë, të gjatë, të merrni String, 566 00:23:26,990 --> 00:23:29,260 por i vetmi, i lidhur ngushtë, tani është Get Int. 567 00:23:29,260 --> 00:23:32,970 Pra, në qoftë se i vetmi mjet që ju keni në kutinë tuaj mjet është Get Int, 568 00:23:32,970 --> 00:23:35,505 si do të shkoni në lidhje me zbatimin e kjo për të marrë int pozitiv? 569 00:23:35,505 --> 00:23:35,929 >> Audienca: Krijo një regjistër dhe kontrolloni nëse të dhëna që ata i dhanë 570 00:23:35,929 --> 00:23:36,762 ishte pozitiv apo jo. 571 00:23:36,762 --> 00:23:39,390 572 00:23:39,390 --> 00:23:40,640 >> SPEAKER 1: Perfect. 573 00:23:40,640 --> 00:23:41,200 Pikërisht. 574 00:23:41,200 --> 00:23:43,950 Një tjetër mjet që kemi në tonë Toolbox nga një javë ose dy më parë 575 00:23:43,950 --> 00:23:45,419 është vetëm konstrukti looping. 576 00:23:45,419 --> 00:23:48,210 Dhe kështu, vërtet, në qoftë se ne përdorim një kohë lak, ose një të bërë, ndërsa lak, ose një ballë 577 00:23:48,210 --> 00:23:50,850 loop ne ndoshta mund të merrni larg me ndonjë nga ata në disa forma. 578 00:23:50,850 --> 00:23:55,140 Ne mund të zbatojë nocionin e get int pozitiv nga vetëm duke përdorur Get Int, 579 00:23:55,140 --> 00:23:57,830 dhe pastaj vetëm i mbajnë duke e quajtur atë përsëri dhe për të mbajtur pestering përdoruesit 580 00:23:57,830 --> 00:24:00,320 derisa ai ose ajo në të vërtetë Na jep atë që duam. 581 00:24:00,320 --> 00:24:03,260 >> Dhe kështu tani, kjo abstragim i procesit 582 00:24:03,260 --> 00:24:05,680 e gjetjes së një int pozitiv në një funksion të quajtur 583 00:24:05,680 --> 00:24:08,930 Get pozitive Int është pak më imponues sepse shikoni në këtë. 584 00:24:08,930 --> 00:24:10,990 Këto janë si 10 plus rreshta të kodit që 585 00:24:10,990 --> 00:24:15,090 janë të përfshirë në marrjen e një int pozitiv, dhe unë nuk e kujdesit të vërtetë se si ju bëni atë. 586 00:24:15,090 --> 00:24:17,850 Të gjitha unë intereson është se ju mund ta bëjë këtë, dhe kështu që unë kam 587 00:24:17,850 --> 00:24:21,660 fshehur të gjitha këto detaje prapa një Funksioni i quajtur Get Pozitive int se, 588 00:24:21,660 --> 00:24:23,430 në të vërtetë, e ka këtë të bëni ndërsa loop. 589 00:24:23,430 --> 00:24:27,660 >> Dhe shikoni javën e kaluar për sintaksë atje, por ai thjesht deklaron N, 590 00:24:27,660 --> 00:24:29,800 dhe ajo printon jashtë udhëzim për përdoruesit. 591 00:24:29,800 --> 00:24:33,330 Ai bën thirrje Get Int dhe pastaj ajo kontrollon kjo gjendje përsëri, dhe përsëri, 592 00:24:33,330 --> 00:24:35,230 dhe përsëri derisa përdoruesi bashkëpunon. 593 00:24:35,230 --> 00:24:38,000 >> Deri tani, disa kontrolle disa mendje e shëndoshë. 594 00:24:38,000 --> 00:24:40,370 Për ata që ndoshta të njohur me disa programimin, 595 00:24:40,370 --> 00:24:46,410 pse N shpallet, pse të krijoj N jashtë bëni ndërsa lak? 596 00:24:46,410 --> 00:24:50,370 Pse është ajo on line 29 dhe jo në si 33, për shembull. 597 00:24:50,370 --> 00:24:53,529 >> Audienca: Sepse kur ju shpallin atë jashtë, atë lloj 598 00:24:53,529 --> 00:24:56,688 e më shumë, të scope-- madhe 599 00:24:56,688 --> 00:24:58,146 >> SPEAKER 1: Mirë. 600 00:24:58,146 --> 00:24:59,604 >> Audienca: --and në qoftë se ju të deklarojë ajo brenda loop, [e padëgjueshme] 601 00:24:59,604 --> 00:25:00,979 sepse ajo nuk e di në lidhje me të. 602 00:25:00,979 --> 00:25:02,819 603 00:25:02,819 --> 00:25:03,610 SPEAKER 1: Pikërisht. 604 00:25:03,610 --> 00:25:06,330 Në qoftë se unë mund të simplify-- kjo është një çështje e fushës. 605 00:25:06,330 --> 00:25:11,530 Dhe fushëveprimi i referohet kontekstit në që një variabël ekziston ose është i përdorshëm. 606 00:25:11,530 --> 00:25:15,050 Dhe sundimin e bukur e pranoj këtu është se në përgjithësi, kur ju të deklarojë ose të krijoni 607 00:25:15,050 --> 00:25:21,642 një variabël ju mund ta përdorni atë vetëm brenda i afërt përqafuar formatimin e teksteve kaçurrel. 608 00:25:21,642 --> 00:25:22,600 Pra, çfarë do të thotë kjo? 609 00:25:22,600 --> 00:25:26,551 Në qoftë se unë, në vend të kësaj, kjo prish dhe shkoj me diçka që ndihet pak më të thjeshtë. 610 00:25:26,551 --> 00:25:27,050 E drejtë? 611 00:25:27,050 --> 00:25:29,360 >> Linja 32 vetëm duket të pastër për mua tani. 612 00:25:29,360 --> 00:25:31,500 Unë jam duke bërë dy gjëra në të njëjtën një herë dhe pastaj caktimin e 613 00:25:31,500 --> 00:25:33,070 dora e djathtë në dorën e majtë. 614 00:25:33,070 --> 00:25:35,180 Problemi tani bazuar në se përcaktimi i fushëveprimit 615 00:25:35,180 --> 00:25:41,130 N është që mund të përdoret në linjat 31 dhe 32 në brendësi të këtij lak, 616 00:25:41,130 --> 00:25:45,100 por kur nga ky përkufizim nuk mund të përdoret ajo? 617 00:25:45,100 --> 00:25:45,660 Në përputhje çfarë? 618 00:25:45,660 --> 00:25:46,160 Po. 619 00:25:46,160 --> 00:25:47,490 >> Audienca: 35. 620 00:25:47,490 --> 00:25:49,180 >> SPEAKER 1: 35. 621 00:25:49,180 --> 00:25:50,480 Definitivisht jo 35. 622 00:25:50,480 --> 00:25:52,349 Dhe gjithashtu ku tjetër? 623 00:25:52,349 --> 00:25:52,890 Audienca: 34. 624 00:25:52,890 --> 00:25:55,040 SPEAKER 1: Edhe 34 është problematike sepse kjo është 625 00:25:55,040 --> 00:25:56,450 jashtë nga formatimin e teksteve kaçurrel. 626 00:25:56,450 --> 00:25:58,200 Dhe kështu në fakt, le të shohim se çfarë ndodh. 627 00:25:58,200 --> 00:25:58,700 E drejtë? 628 00:25:58,700 --> 00:26:00,722 Kjo mund të duket pak e intuitiv apo jo mund, 629 00:26:00,722 --> 00:26:02,680 por le të shohim se çfarë compiler ka për të thënë kur 630 00:26:02,680 --> 00:26:04,730 ne do të shkojmë në directory sotme burim. 631 00:26:04,730 --> 00:26:08,950 Bëni një funksion. 632 00:26:08,950 --> 00:26:11,231 Oh Zoti im. 633 00:26:11,231 --> 00:26:12,980 E pra, unë më në fund përfundoi që, nga rruga. 634 00:26:12,980 --> 00:26:14,030 Në rregull. 635 00:26:14,030 --> 00:26:15,510 Dhe çfarë është çështja këtu? 636 00:26:15,510 --> 00:26:17,430 Shumë e errët për të parë. 637 00:26:17,430 --> 00:26:19,570 Por këtu është ajo që unë typed-- të bëjë një funksion. 638 00:26:19,570 --> 00:26:21,640 Ja se çfarë të bëjë detyruar, e cila është në fakt 639 00:26:21,640 --> 00:26:23,705 duke përdorur tingëllimë përpilues me disa prej këtyre flamujve 640 00:26:23,705 --> 00:26:25,080 se ne do të shohim përsëri para se të gjatë. 641 00:26:25,080 --> 00:26:26,829 Dhe përsëri, gjithmonë duken në gabim e parë, 642 00:26:26,829 --> 00:26:30,540 për shkak se ajo mund të ketë vetëm një Cascading Efekti pakuptimtë në linjat e tjera. 643 00:26:30,540 --> 00:26:34,410 >> Pra, çfarë kjo do të thotë është se Problemi është në funksion 1.c. 644 00:26:34,410 --> 00:26:36,890 Ajo është në linjë 32. 645 00:26:36,890 --> 00:26:39,712 Dhe kjo është në kolonë, apo karakterin, 13. 646 00:26:39,712 --> 00:26:42,670 Pra, kur editor teksti juaj që mund të t'ju ndihmojë të identifikoni se ku çështja është. 647 00:26:42,670 --> 00:26:47,079 Pra, nëse unë lëvizni lart, ajo është linjë 32? 648 00:26:47,079 --> 00:26:49,120 Kjo është me të vërtetë kjo që është theksuar tashmë 649 00:26:49,120 --> 00:26:50,607 n drejtë here-- papërdorura ndryshueshme. 650 00:26:50,607 --> 00:26:51,440 Por kjo nuk është e papërdorur. 651 00:26:51,440 --> 00:26:52,320 Unë jam duke e përdorur atë. 652 00:26:52,320 --> 00:26:56,110 Por përpiluesit e hutuar, sepse ajo ekziston vetëm brenda këtij fushëveprimi. 653 00:26:56,110 --> 00:26:57,727 Dhe kështu që unë nuk mund ta përdorin atë këtu. 654 00:26:57,727 --> 00:26:58,560 Unë nuk mund ta përdorin atë këtu. 655 00:26:58,560 --> 00:27:01,320 Dhe përpiluesit, pra, nuk kujdeset as që unë jam duke u përpjekur. 656 00:27:01,320 --> 00:27:03,940 Kjo duket të jetë e papërdorur në kuadër të fushëveprimit të saj aktual. 657 00:27:03,940 --> 00:27:08,854 >> Pra, ne mund të zgjeruar fushën duke bërë pikërisht ajo që kemi filluar with-- int n. 658 00:27:08,854 --> 00:27:11,020 Dhe, edhe pse kjo nuk ka duken si elegante, ndoshta, 659 00:27:11,020 --> 00:27:15,110 dhe ne jemi duke marrë një linjë shtesë këtu, tani është në fushën kudo. 660 00:27:15,110 --> 00:27:15,970 Pra, le të provoni përsëri. 661 00:27:15,970 --> 00:27:19,040 Pra, të bëjë një funksion. 662 00:27:19,040 --> 00:27:19,610 Bukur. 663 00:27:19,610 --> 00:27:23,370 Dhe tani, nëse unë, nëse kam drejtuar funksionin një, le të japë atë negativ 10, 664 00:27:23,370 --> 00:27:27,170 negative 1, 0, 1, dhe në të vërtetë funksionon. 665 00:27:27,170 --> 00:27:28,610 >> Pra, ka një tjetër zgjidhje këtu. 666 00:27:28,610 --> 00:27:29,280 E di çfarë? 667 00:27:29,280 --> 00:27:31,230 Çka në qoftë se unë me të vërtetë jam mundje me këtë? 668 00:27:31,230 --> 00:27:33,140 Unë nuk e di se ku n është menduar për të shkuar. 669 00:27:33,140 --> 00:27:33,723 E di çfarë? 670 00:27:33,723 --> 00:27:39,220 Unë jam vetëm duke shkuar për të vënë atë të gjithë rrugën në krye të dosjes time këtu. 671 00:27:39,220 --> 00:27:42,835 Çfarë do të bëni këtë, mendoni ju? 672 00:27:42,835 --> 00:27:43,335 Po? 673 00:27:43,335 --> 00:27:44,251 >> Audienca: [padëgjueshme]. 674 00:27:44,251 --> 00:27:47,964 675 00:27:47,964 --> 00:27:48,630 SPEAKER 1: Po. 676 00:27:48,630 --> 00:27:50,560 Kështu që unë kam bërë atë globale, kështu që të flasin. 677 00:27:50,560 --> 00:27:54,430 Nëse ju keni një ndryshore që është jashtë të gjitha funksionet tuaja që është e lejuar, 678 00:27:54,430 --> 00:27:58,780 dhe kodi duhet të hartojë, dhe n tani do të jetë i mundshëm jo vetëm në get 679 00:27:58,780 --> 00:28:02,490 int pozitive, por edhe në të cilën main-- është shqetësuese pak për shkak se ka 680 00:28:02,490 --> 00:28:04,864 tashmë një n në kryesore, kështu që më shumë në se në vetëm një moment-- 681 00:28:04,864 --> 00:28:06,530 por kjo do të konsiderohet si dizajn i keq. 682 00:28:06,530 --> 00:28:06,910 Në rregull. 683 00:28:06,910 --> 00:28:08,570 Nëse ju duhet të mbështetet në diçka si, oh, unë do 684 00:28:08,570 --> 00:28:10,125 vetëm vënë atë deri këtu sepse kodi duket të përpilojnë 685 00:28:10,125 --> 00:28:12,180 në përgjithësi nuk është praktikë e mirë. 686 00:28:12,180 --> 00:28:14,590 Përkundrazi ju doni të zgjidhni fusha e ngushtë e mundshme 687 00:28:14,590 --> 00:28:18,720 për variablat tuaj, që do të thotë duke shkuar me dizajn tonë fillestar, i cili 688 00:28:18,720 --> 00:28:19,920 është e drejtë këtu. 689 00:28:19,920 --> 00:28:24,400 >> Tani si një mënjanë, në qoftë se ju kishte një mënyrë identike me emrin ndryshueshme këtu, 690 00:28:24,400 --> 00:28:27,750 Mënyra se si do të trajtojë c this-- edhe pse kjo nuk do të ndodhë shumë often-- 691 00:28:27,750 --> 00:28:30,150 është se kjo është ende përkryer gjobë në këtu. 692 00:28:30,150 --> 00:28:35,000 Por ky përkufizim i n në linjë 22 do të hije atë globale. 693 00:28:35,000 --> 00:28:38,190 Pra, kjo do të punojnë në kuadër të kryesor, dhe ai botëror 694 00:28:38,190 --> 00:28:41,670 në fakt do të zbatohen kur ju jeni në merrni int pozitiv Por më shumë se 695 00:28:41,670 --> 00:28:43,890 Një herë tjetër, por vetëm për ata kurioz. 696 00:28:43,890 --> 00:28:45,970 >> Pra me pak fjalë, ne të rregullojmë këtë këtu. 697 00:28:45,970 --> 00:28:49,220 Tani le të të vë në lojë përveç dy copa të tjera para se të shohim një linjë e fundit të kodit 698 00:28:49,220 --> 00:28:50,170 në këtë program. 699 00:28:50,170 --> 00:28:52,170 Get int pozitiv. 700 00:28:52,170 --> 00:28:54,450 Në të majtë anën e fjala e tij është fjala int. 701 00:28:54,450 --> 00:28:56,860 Çfarë do që tregon mendoni ju? 702 00:28:56,860 --> 00:28:58,900 Deri tani ne kemi parë kryesisht i pavlefshëm. 703 00:28:58,900 --> 00:28:59,400 Po? 704 00:28:59,400 --> 00:29:01,810 >> Audienca: Kjo është lloji i variabël që ju jeni duke kërkuar për. 705 00:29:01,810 --> 00:29:04,550 >> SPEAKER 1: Po Është lloji i, më lejoni nuk them të ndryshueshme, por lloji i vlerës 706 00:29:04,550 --> 00:29:05,990 që unë jam duke kërkuar përsëri për të. 707 00:29:05,990 --> 00:29:08,070 Dhe me të vërtetë, kjo është intuitive këtu, me shpresë. 708 00:29:08,070 --> 00:29:08,200 E drejtë? 709 00:29:08,200 --> 00:29:10,250 Në qoftë se ju doni të merrni një int pozitiv, çfarë është ajo që ju 710 00:29:10,250 --> 00:29:12,920 dëshironi function-- si tonë vullnetarë nga java e fundit 711 00:29:12,920 --> 00:29:15,720 në dorë ju prapa një copë i letrës me një int në të? 712 00:29:15,720 --> 00:29:19,190 Dhe kështu që ne kemi specifikuar se ashtuquajturi lloj kthimi i këtij funksioni 713 00:29:19,190 --> 00:29:20,450 është marrë int pozitiv. 714 00:29:20,450 --> 00:29:22,990 Në qoftë se ne nuk duam që ajo të asgjë kthehen, ju thoni pavlefshme. 715 00:29:22,990 --> 00:29:25,270 Në qoftë se ju dëshironi që ajo të kthehet një varg, ju thoni string. 716 00:29:25,270 --> 00:29:27,310 Në qoftë se ju dëshironi që ajo të kthehet një noton, ju thoni noton. 717 00:29:27,310 --> 00:29:30,440 Por i vetmi që vlen këtu logjikisht, sepse unë jam duke përdorur të merrni int, 718 00:29:30,440 --> 00:29:34,130 edhe pse unë jam duke kufizuar atë për vlerat pozitive, është për t'u kthyer një int. 719 00:29:34,130 --> 00:29:38,380 >> Pra anasjelltas, çfarë do të thotë se ka një boshllëk në kllapa? 720 00:29:38,380 --> 00:29:40,130 Çfarë bëjnë kllapa përgjithësisht të përcaktuar? 721 00:29:40,130 --> 00:29:40,588 Po? 722 00:29:40,588 --> 00:29:42,880 >> Audienca: Kjo do të thotë funksionin e jo të vërtetë duke marrë atë. 723 00:29:42,880 --> 00:29:44,650 >> SPEAKER 1: Kjo do të thotë funksionin e jo të vërtetë duke marrë çfarë? 724 00:29:44,650 --> 00:29:45,430 >> Audienca: Një input. 725 00:29:45,430 --> 00:29:46,763 >> SPEAKER 1: Një input, whatsoever. 726 00:29:46,763 --> 00:29:49,870 Pra në të vërtetë, në qoftë se kllapë këtu ju specifikoni i pavlefshëm, 727 00:29:49,870 --> 00:29:51,650 që vetëm do të thotë unë nuk dua asnjë kontribut. 728 00:29:51,650 --> 00:29:53,269 Unë do të merren me problemin veten time. 729 00:29:53,269 --> 00:29:55,810 Dhe me të vërtetë, ju nuk keni për të them merrni asgjë pozitive int. 730 00:29:55,810 --> 00:29:59,630 Ju vetëm të them, të merrni int pozitive, dhe se Funksioni do të shkojnë jashtë dhe të bëjë gjë e saj. 731 00:29:59,630 --> 00:30:02,970 >> Por ka pasur një mashtrim të vogël unë kam qenë duke luajtur këtu këtë kohë të gjithë 732 00:30:02,970 --> 00:30:04,970 për t'u siguruar që ky kod harton. 733 00:30:04,970 --> 00:30:09,620 Vini re se int-- merrni pozitiv int void-- është në linjë 27. 734 00:30:09,620 --> 00:30:14,530 Por, për disa arsye në dukje të pazakontë është gjithashtu këtu on line 16. 735 00:30:14,530 --> 00:30:18,530 Dhe vetëm për masë të mirë unë do të përsëris kjo kështu që është krejtësisht identike. 736 00:30:18,530 --> 00:30:21,640 Dhe unë kam thënë prototip me pak koment njeri-line. 737 00:30:21,640 --> 00:30:28,850 Çfarë ndodh në qoftë se unë të fshini atë dhe tani përsëritje bëjnë funksion 1, të hyjë. 738 00:30:28,850 --> 00:30:29,350 Uh. 739 00:30:29,350 --> 00:30:32,527 740 00:30:32,527 --> 00:30:33,110 Prit një minutë. 741 00:30:33,110 --> 00:30:34,764 Ku është tab ime? 742 00:30:34,764 --> 00:30:35,263 Huh? 743 00:30:35,263 --> 00:30:37,969 744 00:30:37,969 --> 00:30:39,620 Koha e pritjes. 745 00:30:39,620 --> 00:30:41,570 Bëni funksionit 1. 746 00:30:41,570 --> 00:30:42,150 Atje shkojmë. 747 00:30:42,150 --> 00:30:42,310 NE RREGULL. 748 00:30:42,310 --> 00:30:43,400 Nuk e kishte ruajtur atë siç duhet. 749 00:30:43,400 --> 00:30:45,220 Kështu që, unë mendoj se ka pak bug këtu ku unë nuk jam 750 00:30:45,220 --> 00:30:46,636 duke parë emrin tab në këtë moment. 751 00:30:46,636 --> 00:30:47,940 Pra, çfarë po ndodh këtu? 752 00:30:47,940 --> 00:30:52,210 Deklarata e nënkuptuar e funksionit merrni int pozitiv është i pavlefshëm në C99. 753 00:30:52,210 --> 00:30:53,940 Pra konfuze përsëri. 754 00:30:53,940 --> 00:30:55,200 Pra, çfarë është kjo tregues i? 755 00:30:55,200 --> 00:30:57,287 E pra, ajo rezulton se C është shumë budalla. 756 00:30:57,287 --> 00:30:59,912 E pra, kjo është programimi gjuhës, ose më mirë përpiluesi është. 757 00:30:59,912 --> 00:31:02,940 Ajo vetëm e di atë që ju keni mësuar, dhe kjo është vetëm 758 00:31:02,940 --> 00:31:05,640 do të dini diçka në qoftë se keni mësuar më parë. 759 00:31:05,640 --> 00:31:07,960 Me fjalë të tjera, në kryesor në këtë moment, unë jam 760 00:31:07,960 --> 00:31:10,900 duke u përpjekur për të thirrur një funksion quajtur merrni int pozitiv. 761 00:31:10,900 --> 00:31:14,120 Por përpiluesi nuk po shkon të konstatoj se të marrë int pozitive 762 00:31:14,120 --> 00:31:16,500 ekziston deri linjë 26. 763 00:31:16,500 --> 00:31:21,360 Dhe kështu çfarë bën përpiluesit është vetëm gabime sa më shpejt që ajo merr për të vijë 17, 764 00:31:21,360 --> 00:31:23,700 duke thënë se deklarata e nënkuptuar i merrni int pozitive, e cila 765 00:31:23,700 --> 00:31:27,740 është vetëm një mënyrë e sofistikuar për të thënë, unë nuk e di se çfarë të merrni int pozitiv është ende. 766 00:31:27,740 --> 00:31:31,240 >> Gjuhë të tjera si Java dhe Python dhe Ruby mund të shikojmë përpara. 767 00:31:31,240 --> 00:31:32,240 C nuk ka. 768 00:31:32,240 --> 00:31:35,110 Dhe kështu mënyrën se si ne të rregullojmë kjo është një nga dy mënyra. 769 00:31:35,110 --> 00:31:40,160 Ose një, nëse problemi është se të merrni int pozitiv nuk është parë më parë, 770 00:31:40,160 --> 00:31:42,150 mirë, më lejoni vetëm të lëvizin atë në krye. 771 00:31:42,150 --> 00:31:43,650 Kjo do të rregulluar këtë problem. 772 00:31:43,650 --> 00:31:46,790 Por në përgjithësi, është e konsiderohet teknikë më të mirë 773 00:31:46,790 --> 00:31:50,220 për të vënë funksionin tuaj kryesor në shumë lartë në mënyrë që një njeri duke lexuar kodin tuaj 774 00:31:50,220 --> 00:31:52,710 e di se çfarë programi bën, sepse kryesor nuk është varrosur të gjithë 775 00:31:52,710 --> 00:31:53,960 rruga në fund apo në mes. 776 00:31:53,960 --> 00:31:55,130 Kjo është në krye. 777 00:31:55,130 --> 00:31:56,410 Kështu që nuk ndihet ideale. 778 00:31:56,410 --> 00:31:58,326 Dhe në të vërtetë ju mund të merrni në situata ku 779 00:31:58,326 --> 00:32:00,820 nëse thirrjet një funksion tjetër, i cili e quan një tjetër, 780 00:32:00,820 --> 00:32:04,630 ju mund të merrni në një çështje ku as mund të shkojnë mbi tjetrin, logjikisht. 781 00:32:04,630 --> 00:32:05,920 Kjo nuk është vetëm të jetë e mundur. 782 00:32:05,920 --> 00:32:09,290 >> Dhe kështu që mënyra për të punuar rreth kësaj është që të vetëm të marrë 783 00:32:09,290 --> 00:32:13,200 nënshkrimi i funksionit, kështu që të speak-- vija e parë ku është declared-- 784 00:32:13,200 --> 00:32:16,850 dhe vetëm kopje, ngjitur në nivel të lartë, por jo me braces-- kaçurrel 785 00:32:16,850 --> 00:32:17,980 vetëm me pikëpresje. 786 00:32:17,980 --> 00:32:20,840 Është si një aluzion të vogël të asaj që është për të ardhur. 787 00:32:20,840 --> 00:32:26,630 Dhe në fakt, të gjithë këtë kohë kur ne kanë parë gjëra të tilla si io.h standarde 788 00:32:26,630 --> 00:32:33,040 dhe cs50.h, ngjashëm, në ato dot h dosjet janë aty prototipa të tjera. 789 00:32:33,040 --> 00:32:35,250 Dhe ne do të shohim se para se të gjatë. 790 00:32:35,250 --> 00:32:39,340 >> Pra me pak fjalë, kur ju keni një program në një skedar me funksione të shumëfishta 791 00:32:39,340 --> 00:32:42,300 përveç kryesor, ju pothuajse gjithmonë duan të deklarojnë ato 792 00:32:42,300 --> 00:32:45,360 vetëm me anë të tyre të parë line, e ndjekur nga një pikëpresje, 793 00:32:45,360 --> 00:32:48,410 në krye të file. 794 00:32:48,410 --> 00:32:50,460 Kjo ishte një shumë të gjitha përnjëherë. 795 00:32:50,460 --> 00:32:53,130 Ndonje pyetje? 796 00:32:53,130 --> 00:32:53,920 Ndonje pyetje? 797 00:32:53,920 --> 00:32:54,530 Në rregull. 798 00:32:54,530 --> 00:32:59,760 >> Pra, le të lëvizë pastaj për diçka si kollë. 799 00:32:59,760 --> 00:33:00,260 Oh. 800 00:33:00,260 --> 00:33:00,570 Si i përshtatshëm. 801 00:33:00,570 --> 00:33:01,220 Në rregull. 802 00:33:01,220 --> 00:33:02,260 Kollë. 803 00:33:02,260 --> 00:33:05,080 Kështu që këtu është një c zbatimi i një programi 804 00:33:05,080 --> 00:33:07,560 ne e bëmë ditë të tjera në Scratch që shumë thjesht vetëm 805 00:33:07,560 --> 00:33:08,691 thotë kollë, kollë, kollë. 806 00:33:08,691 --> 00:33:09,190 Në rregull. 807 00:33:09,190 --> 00:33:11,136 Dhe dikush tha disa ditë më parë se nuk ka 808 00:33:11,136 --> 00:33:12,760 një mënyrë për të pastruar këtë kod deri tashmë. 809 00:33:12,760 --> 00:33:12,880 Në rregull? 810 00:33:12,880 --> 00:33:15,440 Sa më shpejt që ju jeni kopjimit dhe pasting dizajn ndoshta e keqe. 811 00:33:15,440 --> 00:33:18,725 Të paktën një herë ne kemi marrë për katër apo pesë ose 20 kollitet, ai ndjehet praktikë e keqe. 812 00:33:18,725 --> 00:33:19,850 Ne vetëm i mbajnë kopje, pasting. 813 00:33:19,850 --> 00:33:22,213 Çfarë është zgjidhja e qartë për pastrim këtë program up? 814 00:33:22,213 --> 00:33:23,120 >> Audienca: Loop. 815 00:33:23,120 --> 00:33:23,350 >> SPEAKER 1: Po. 816 00:33:23,350 --> 00:33:24,070 Kështu që përdorin një lak. 817 00:33:24,070 --> 00:33:27,697 Dhe ne mund të përdorni një për-lak, një kohë loop, çdo numër të qasjeve. 818 00:33:27,697 --> 00:33:29,780 Dhe me të vërtetë, kjo është ajo ne bëjmë në versionin e një këtu. 819 00:33:29,780 --> 00:33:32,250 Unë e kam rishkruar atë vend në versionin e një të cough.c 820 00:33:32,250 --> 00:33:35,170 të jetë kollë vetëm brenda një për-lak. 821 00:33:35,170 --> 00:33:38,240 Të gjithë të drejtë, por ka një mundësi tani për llojin e fillimit 822 00:33:38,240 --> 00:33:41,630 për të hartuar këtë një pak më shumë si mësimi mësuam një moment më parë, 823 00:33:41,630 --> 00:33:46,190 i cili është this-- mendoj se kam kërkuar për të krijuar një funksion të quajtur kollë, 824 00:33:46,190 --> 00:33:49,730 le të konsiderojmë për vetëm një moment çfarë ajo do të duken si. 825 00:33:49,730 --> 00:33:51,900 Pra, nëse unë dua diçka për kollë, unë vetëm nevojë 826 00:33:51,900 --> 00:33:53,800 për të përdorur shtypura f brenda funksionit. 827 00:33:53,800 --> 00:33:55,030 Dhe me të vërtetë unë jam. 828 00:33:55,030 --> 00:33:56,990 Dhe në fakt, e gjithë kjo kohë, në çdo kohë ju jeni 829 00:33:56,990 --> 00:33:59,000 shtypjen diçka për ekran, një programues 830 00:33:59,000 --> 00:34:00,610 do të thërrasë se një efekt anësor. 831 00:34:00,610 --> 00:34:02,990 Kjo nuk është më dorëzimit përsëri dikush një vlerë. 832 00:34:02,990 --> 00:34:06,170 Është mua duke marrë disa veprime që mund të jenë me sy të dukshme. 833 00:34:06,170 --> 00:34:10,672 Por kjo kollë funksion, e bën atë të kthehet çdo gjë e bazuar në vijën e parë? 834 00:34:10,672 --> 00:34:12,880 Jo, sepse llojit të saj kthimit është e pavlefshme, që vetëm do të thotë 835 00:34:12,880 --> 00:34:14,250 ajo nuk është dorëzuar më asgjë prapa. 836 00:34:14,250 --> 00:34:16,791 Ajo mund të jetë duke bërë diçka vizualisht, por ajo nuk është dorëzuar mua 837 00:34:16,791 --> 00:34:18,639 mbështetur një copë letër si javën e kaluar. 838 00:34:18,639 --> 00:34:21,310 >> A ka nevojë për ndonjë kontribut? 839 00:34:21,310 --> 00:34:21,810 Jo. 840 00:34:21,810 --> 00:34:23,134 Dhe kështu kjo është e pavlefshme edhe këtu. 841 00:34:23,134 --> 00:34:25,600 Pra, edhe kjo është lloj i mbi-inxhinieri këtë problem. 842 00:34:25,600 --> 00:34:26,099 E drejtë? 843 00:34:26,099 --> 00:34:28,820 Unë e kam bërë programin më shumë komplekse, linjat më të kodit, 844 00:34:28,820 --> 00:34:31,889 Unë nuk e kanë bërë atë ndonjë më shumë funksional, por kjo 845 00:34:31,889 --> 00:34:34,210 do të jetë një gur shkelën, ndoshta, për një më të gjerë 846 00:34:34,210 --> 00:34:36,830 Konteksti me kodin më të komplikuar. 847 00:34:36,830 --> 00:34:38,150 Por ajo që në lidhje me këtë? 848 00:34:38,150 --> 00:34:42,050 Çfarë kam done-- vetëm glancing në kjo pa shikuar në komentin 849 00:34:42,050 --> 00:34:46,076 në krye të asaj që kanë file-- Unë rrënjësisht bërë këtu me kollë e mia 850 00:34:46,076 --> 00:34:47,409 Zbatimi kjo është e ndryshme? 851 00:34:47,409 --> 00:34:48,327 Po, në shpinë? 852 00:34:48,327 --> 00:34:51,384 >> Audienca: Bëni atë kështu që ju mund të kanë një karakter të fikur. 853 00:34:51,384 --> 00:34:52,050 SPEAKER 1: Po. 854 00:34:52,050 --> 00:34:53,270 Pra, kjo ndjehet lloj i bukur. 855 00:34:53,270 --> 00:34:53,389 E drejtë? 856 00:34:53,389 --> 00:34:56,600 Është si duke shtuar një funksion të tuaj program apo funksion juaj, në këtë rast. 857 00:34:56,600 --> 00:34:57,830 Ajo ende kthen asgjë. 858 00:34:57,830 --> 00:35:00,538 Ajo mund të ketë një efekt vizual anësor, sepse ajo flet shtypura f. 859 00:35:00,538 --> 00:35:02,800 Por tani unë kam parametrized funksioni, i cili 860 00:35:02,800 --> 00:35:06,470 do të thotë unë kam specifikuar marrë të dhëna të tipit int dhe e quajti atë n, 861 00:35:06,470 --> 00:35:08,510 por unë mund të telefononi atë gjë unë dua. 862 00:35:08,510 --> 00:35:11,550 Në fakt, ajo mund të jetë vetëm herë të jetë edhe më i qartë. 863 00:35:11,550 --> 00:35:13,310 Dhe atëherë unë mund të ndryshojë vetëm këtë këtu. 864 00:35:13,310 --> 00:35:16,450 Por çështja është se kjo është se si unë të krijojë një funksion që merr të dhëna. 865 00:35:16,450 --> 00:35:19,530 Dhe në qoftë se ju kujtohet Flipping nëpërmjet ndoshta në internet në një 866 00:35:19,530 --> 00:35:23,000 të ecin throughs, The katërt dhe shembull i fundit kollë, 867 00:35:23,000 --> 00:35:27,150 ju do të vëreni këtu unë kam përgjithësuar Kodi lloj ime further-- i përhumbur 868 00:35:27,150 --> 00:35:27,690 ai më tej. 869 00:35:27,690 --> 00:35:31,390 Si Kollituni dhe teshtini, të dyja janë rreth e qark si duke thënë diçka ose duke e bërë 870 00:35:31,390 --> 00:35:32,330 një lloj i shëndoshë. 871 00:35:32,330 --> 00:35:34,725 Ruaj do të jetë korrespondues bllok Scratch. 872 00:35:34,725 --> 00:35:37,350 Dhe kështu që ajo që kam bërë në këtë version, të cilat ne mund vetëm shikim në, 873 00:35:37,350 --> 00:35:43,170 është kollë është vetëm si duke thënë, [kollë], kollë, dhe ndërkohë, teshtitjes është 874 00:35:43,170 --> 00:35:44,570 si duke thënë, [ACHOO]. 875 00:35:44,570 --> 00:35:46,900 Dhe kështu që unë kam përgjithësuar zbatimi i atyre 876 00:35:46,900 --> 00:35:48,970 nga tani zbatimit ky funksion gjenerik, 877 00:35:48,970 --> 00:35:51,490 thonë, e cila është interesante për qëllimet e sotme 878 00:35:51,490 --> 00:35:54,300 vetëm për shkak se ajo ende nuk ka një lloj të kthimit. 879 00:35:54,300 --> 00:35:56,398 Por sa inputet e bën atë të ketë? 880 00:35:56,398 --> 00:35:56,981 Audienca: Dy. 881 00:35:56,981 --> 00:35:57,430 SPEAKER 1: Dy. 882 00:35:57,430 --> 00:35:59,263 Dhe kështu që nëse doni të të marrë në dy argumente, 883 00:35:59,263 --> 00:36:00,710 vetëm ndajini me presje. 884 00:36:00,710 --> 00:36:03,110 Dhe në qoftë se ju doni të, atëherë quajmë këtë funksion, 885 00:36:03,110 --> 00:36:05,800 vini re se ju vetëm quajnë të themi, të japin kuotën, mbyll thonjëzat, 886 00:36:05,800 --> 00:36:09,090 për argumentin e parë, i zakonshëm n, per argumentit dytë. 887 00:36:09,090 --> 00:36:12,130 Pra, përsëri, ne vetëm duhet tani blloqe ndërtimi në mënyrë që ne mund të vërtetë 888 00:36:12,130 --> 00:36:15,686 të zbatojë disa nga vetë funksionet tona. 889 00:36:15,686 --> 00:36:16,570 Në rregull. 890 00:36:16,570 --> 00:36:19,690 Çdo pyetje mbi këto? 891 00:36:19,690 --> 00:36:22,400 >> Pra, tani le të zhvishem përsëri një shtresë Nëse është kështu. 892 00:36:22,400 --> 00:36:24,840 Dhe qëllimi, në fund të fundit, është problemi i vendosur javës së ardhshme 893 00:36:24,840 --> 00:36:27,710 do të jetë në cryptogrophy-- arti i përpiqen informacion. 894 00:36:27,710 --> 00:36:30,640 Dhe në mënyrë specifike, informacioni do të ju encrypt ose dekodojnë 895 00:36:30,640 --> 00:36:31,605 do të jetë teksti. 896 00:36:31,605 --> 00:36:33,980 Dhe kështu që lloj i fton pyetja sot si mirë, 897 00:36:33,980 --> 00:36:38,480 çfarë po ndodh nën kapuç me tekst përtej ASCII nga java zero, 898 00:36:38,480 --> 00:36:40,730 dhe si mund ne fakt të fillojë për të manipuluar atë? 899 00:36:40,730 --> 00:36:43,070 Kështu që këtu është emri Zamyla së. 900 00:36:43,070 --> 00:36:47,380 Dhe në tekst, që mund të jetë futur në si funksion string të merrni. 901 00:36:47,380 --> 00:36:52,540 Dhe duke filluar nga tani, kur ju shikoni një string si this-- Z-A-M-Y-L-A-- 902 00:36:52,540 --> 00:36:56,550 të fillojnë të mendojnë për atë sikur çdo nga ato personazhe është në një kuti e saj 903 00:36:56,550 --> 00:36:57,050 vet. 904 00:36:57,050 --> 00:36:59,460 Dhe me të vërtetë, në një javë apo më shumë është kohë, secili prej këtyre kutive 905 00:36:59,460 --> 00:37:04,280 është duke shkuar për të përfaqësuar shumë në mënyrë specifike një bllok i memory-- një pickim të kujtesës. 906 00:37:04,280 --> 00:37:07,050 Pra, secili nga këto letra, në fund të fundit, do të përfaqësojë 8 bit. 907 00:37:07,050 --> 00:37:10,560 Dhe ne fakt do të shohim se çfarë po ndodh në nën kapuç në kompjuterin tim. 908 00:37:10,560 --> 00:37:13,440 >> Por sepse nuk mjafton vetëm për të parë në Zamyla 909 00:37:13,440 --> 00:37:17,520 nëpërmjet këtij lente, ku secili prej këto shkronja është në kutinë e vet. 910 00:37:17,520 --> 00:37:22,697 Dhe mjaft bukur në C mundemi hyni në secilën prej këtyre kutive drejtpërdrejt. 911 00:37:22,697 --> 00:37:25,530 Pra, nëse ju doni të merrni të parë Letra e emrit të saj, super të lehtë në C. 912 00:37:25,530 --> 00:37:28,410 Nëse ju doni të merrni të fundit letër, super e lehtë sa edhe 913 00:37:28,410 --> 00:37:30,240 me një pjesë të sintaksës së re. 914 00:37:30,240 --> 00:37:36,250 >> Kështu që unë jam duke shkuar për të shkuar përpara në CS50 IDE dhe të hapë vargut zero dot C. 915 00:37:36,250 --> 00:37:40,270 Dhe në këtë shembull këtu, ka disa gjëra të reja në vazhdim e sipër. 916 00:37:40,270 --> 00:37:44,360 Pra, së pari në linjë 19, ne kemi parë këtë varg më herët, të merrni. 917 00:37:44,360 --> 00:37:49,840 Pra, ashtu si një kontroll të shpejtë mendje e shëndoshë, nëse dikush mund të ofrojnë deri verbalisht 918 00:37:49,840 --> 00:37:52,662 Shpjegimi një laik i çfarë po ndodh në linjë 19. 919 00:37:52,662 --> 00:37:55,370 Ashtu si vetëm përkthejnë këtë në Anglisht se nuk shokun në CS50 920 00:37:55,370 --> 00:37:56,416 mund të kuptoni. 921 00:37:56,416 --> 00:37:56,916 Po. 922 00:37:56,916 --> 00:37:59,749 >> Audienca: Kanë përdoruesit input një string dhe ruajtur atë në një s ndryshueshme. 923 00:37:59,749 --> 00:38:01,934 924 00:38:01,934 --> 00:38:02,600 SPEAKER 1: Mirë. 925 00:38:02,600 --> 00:38:05,579 Kanë të dhëna përdoruesi një varg dhe ruajtur atë në një s ndryshueshme. 926 00:38:05,579 --> 00:38:06,120 Kjo është e madhe. 927 00:38:06,120 --> 00:38:08,090 Pra, në të djathtë anë, ne e quajmë string merrni. 928 00:38:08,090 --> 00:38:10,340 Që kthen një vlerë se nuk e kam marrë caktuar 929 00:38:10,340 --> 00:38:14,230 nga e djathta në anën për të majtë anë në një ndryshore të quajtur s që është 930 00:38:14,230 --> 00:38:15,950 projektuar për të ruajtur një varg. 931 00:38:15,950 --> 00:38:16,800 Pikërisht. 932 00:38:16,800 --> 00:38:20,000 >> Deri tani vijë 22, për komenti në linjë 21, 933 00:38:20,000 --> 00:38:22,780 padyshim printime që string një karakter në linjë. 934 00:38:22,780 --> 00:38:23,740 Por si? 935 00:38:23,740 --> 00:38:27,040 Pra, para së gjithash, ne nisja unë në 0. 936 00:38:27,040 --> 00:38:31,061 Dhe pastaj si do të kemi për të fundi i emrit të Zamyla-së? 937 00:38:31,061 --> 00:38:32,810 E pra, në fund të vitit Emri Zamyla, unë mund të 938 00:38:32,810 --> 00:38:38,151 manualisht shkruani në karakterin e fundit emri i saj disi, ose numri i saj. 939 00:38:38,151 --> 00:38:38,650 E drejtë? 940 00:38:38,650 --> 00:38:43,500 Nëse kthehemi here-- Z-A-M-L-- Y-L-A-- kështu që unë mund të shkruani. 941 00:38:43,500 --> 00:38:47,340 Çfarë është indeksi i Letra e fundit Zamyla-së? 942 00:38:47,340 --> 00:38:52,517 Nëse kjo është 0-- flet si një programmer-- 0, 1, 2, 3, 4, 5, 943 00:38:52,517 --> 00:38:56,570 Unë heard-- kështu në të vërtetë, letrën e fundit në emër të Zamyla është i gjashti, 944 00:38:56,570 --> 00:38:58,890 por në qoftë se ne numërimin nga 0, ajo do të jetë numër 5. 945 00:38:58,890 --> 00:39:01,320 Pra, mbani në mend këtu. 946 00:39:01,320 --> 00:39:04,929 >> Ajo rezulton se ka një funksion në C quajtur strlen, dhe mbrapa në ditë 947 00:39:04,929 --> 00:39:06,720 dhe sot e kësaj dite ende, një shumë e programuesit 948 00:39:06,720 --> 00:39:09,524 zgjedhin për të sync emrat e tyre për Funksionet që të tingëllojë si fjalët 949 00:39:09,524 --> 00:39:10,440 ata janë duke u përpjekur për të thënë. 950 00:39:10,440 --> 00:39:12,590 Pra strlen është gjatësia string. 951 00:39:12,590 --> 00:39:18,168 Dhe kështu ajo do gjatësi varg S kthehen kur Zamyla është input? 952 00:39:18,168 --> 00:39:19,569 >> Audienca: Pesë. 953 00:39:19,569 --> 00:39:22,090 >> SPEAKER 1: Z-A-M-Y-L. Gjashtë. 954 00:39:22,090 --> 00:39:22,590 E drejtë? 955 00:39:22,590 --> 00:39:23,940 Çfarë është gjatësia e emrit të Zamyla-së? 956 00:39:23,940 --> 00:39:24,440 E drejtë? 957 00:39:24,440 --> 00:39:26,240 Dhe vetëm në realitet, gjashtë letra. 958 00:39:26,240 --> 00:39:26,740 E drejtë? 959 00:39:26,740 --> 00:39:28,940 Dhe kështu që çfarë do të thotë kjo për lak tonë? 960 00:39:28,940 --> 00:39:32,130 Ne jemi duke shkuar për të shkuar nga 0 deri në gjashtë, e cila 961 00:39:32,130 --> 00:39:33,650 do të na japë pesë përsëritjeve. 962 00:39:33,650 --> 00:39:34,890 Çfarë bëjmë ne në çdo përsëritje? 963 00:39:34,890 --> 00:39:36,870 E pra, për qind C, dikush mendoi ditë të tjera, 964 00:39:36,870 --> 00:39:38,710 do të thotë një placeholder për çfarë? 965 00:39:38,710 --> 00:39:39,335 >> Audienca: Char. 966 00:39:39,335 --> 00:39:40,293 SPEAKER 1: Vetëm një char. 967 00:39:40,293 --> 00:39:42,877 Pra, një character-- vetme nuk karaktere të shumta si një varg. 968 00:39:42,877 --> 00:39:45,251 Dhe pastaj këtu është linja e re që ne kemi marrë shtypjen nga. 969 00:39:45,251 --> 00:39:46,580 Dhe pastaj këtu është sintaksë të re. 970 00:39:46,580 --> 00:39:51,130 Nëse ju doni të shtypura nga i-th karakter në varg s, kështu që të flasin, 971 00:39:51,130 --> 00:39:54,060 ju thjesht mund të them emri i string S, 972 00:39:54,060 --> 00:39:58,230 dhe pastaj të hapur kllapa katrore, dhe pastaj mbyllur kllapa katrore, me një i 973 00:39:58,230 --> 00:39:58,780 e mesme. 974 00:39:58,780 --> 00:40:01,430 Dhe kjo është lloj i bukur në atë ai lloj i duket si një shesh 975 00:40:01,430 --> 00:40:06,210 ashtu si sheshet në të cilat Zamyla-së karaktere ekzistojnë në atë foto atje. 976 00:40:06,210 --> 00:40:09,970 >> Pra, nëse unë në fakt të drejtuar këtë tani, le të shohim se çfarë ndodh. 977 00:40:09,970 --> 00:40:15,190 Bëni string 0 dot plagë varg 0, dhe pastaj unë jam 978 00:40:15,190 --> 00:40:16,720 do të shkruani në emër të Zamyla së. 979 00:40:16,720 --> 00:40:19,428 Nuk ka të shpejtë, sepse unë nuk e bëri përdorni shtypura f, por kjo është në rregull. 980 00:40:19,428 --> 00:40:20,660 Unë vetëm e di se çfarë të bëjë. 981 00:40:20,660 --> 00:40:23,240 Dhe me të vërtetë, ajo kopje nga Emri Zamyla së, një për rresht. 982 00:40:23,240 --> 00:40:25,760 >> Tani le të jetë pak i pamatur. 983 00:40:25,760 --> 00:40:28,461 Le të supozojmë se unë nuk e di për strlen dhe unë i realizuar artistikisht, 984 00:40:28,461 --> 00:40:31,460 të gjithë të drejtë, askush nuk do të ketë një emri më i madh se si 50 karaktere. 985 00:40:31,460 --> 00:40:36,360 Le të shkojnë përpara dhe për të përpiluar këtë dhe përsëritje atë, dhe pastaj shkruani në Zamyla 986 00:40:36,360 --> 00:40:37,160 përsëri. 987 00:40:37,160 --> 00:40:40,850 Logjikisht, çfarë është Programi do të përpiqet për të shkruar? 988 00:40:40,850 --> 00:40:49,545 Z-A-M-Y-L-A pastaj si 45 bytes panjohur e kujtesës. 989 00:40:49,545 --> 00:40:51,670 Dhe me të vërtetë, ne do të kthehemi për këtë idenë e kujtesës. 990 00:40:51,670 --> 00:40:54,180 Por vetëm logjikisht, nëse Emri Zamyla është kjo e gjatë, 991 00:40:54,180 --> 00:40:56,450 si për foto këtu, ajo që ne jemi duke thënë 992 00:40:56,450 --> 00:40:59,810 është mbajtur shtypjen, të mbajtur shtypjen, të mbajtur shtypje, shtypje të mbajtur, të mbajtur shtypjen, 993 00:40:59,810 --> 00:41:03,781 të gjitha mënyra për karakterit 50, që kush e di se çfarë do të ndodhë. 994 00:41:03,781 --> 00:41:05,030 Pra, le të vërtetë të marrë një sy. 995 00:41:05,030 --> 00:41:06,720 Le të shkruani në Zamyla. 996 00:41:06,720 --> 00:41:07,250 Interesante. 997 00:41:07,250 --> 00:41:08,190 Ne morëm me fat. 998 00:41:08,190 --> 00:41:09,700 Vetëm një bandë e tërë e hapësirë ​​të bardhë. 999 00:41:09,700 --> 00:41:09,930 Oh. 1000 00:41:09,930 --> 00:41:11,120 Ka një karakter i shokuar. 1001 00:41:11,120 --> 00:41:14,577 Ajo duket si një lloj pyetjeje të pazakontë shënuar atje, por nuk është emri Zamyla së. 1002 00:41:14,577 --> 00:41:15,660 Le të merrni të vërtetë të pamatur. 1003 00:41:15,660 --> 00:41:20,000 Si për ne të shtypura nga 500 bllokon në panjohur? 1004 00:41:20,000 --> 00:41:24,380 Le të shkojnë përpara dhe të bëjë këtë si dhe pastaj ri-drejtuar. 1005 00:41:24,380 --> 00:41:27,980 Dhe le të ekran të plotë atë, sepse ne duhet të shohim më shumë hapësirë. 1006 00:41:27,980 --> 00:41:30,460 Zamyla. 1007 00:41:30,460 --> 00:41:31,830 Mori me fat përsëri. 1008 00:41:31,830 --> 00:41:33,070 >> Dare ne të merrni më shumë të pamatur? 1009 00:41:33,070 --> 00:41:36,070 Le të merrni më të pamatur. 1010 00:41:36,070 --> 00:41:39,350 50.000 karaktere. 1011 00:41:39,350 --> 00:41:41,390 Kjo nuk është më me siguri një ide e mirë. 1012 00:41:41,390 --> 00:41:41,890 Në rregull. 1013 00:41:41,890 --> 00:41:42,990 Bëj varg 0. 1014 00:41:42,990 --> 00:41:44,720 Kjo do të jetë demo ynë i fundit. 1015 00:41:44,720 --> 00:41:47,261 Zamyla. 1016 00:41:47,261 --> 00:41:48,632 Ugh. 1017 00:41:48,632 --> 00:41:50,010 Ugh. 1018 00:41:50,010 --> 00:41:50,680 NE RREGULL. 1019 00:41:50,680 --> 00:41:54,407 Pra, kujtesa ime është me të vërtetë e zbrazët tani, e cila në fakt është lloj i përshtatshëm. 1020 00:41:54,407 --> 00:41:55,990 Ajo që unë jam duke u përpjekur për të marrë to-- të gjithë të drejtë. 1021 00:41:55,990 --> 00:41:57,614 Dhe tani unë jam vetëm duke shkuar për të marrë pamatur. 1022 00:41:57,614 --> 00:41:58,570 500,000. 1023 00:41:58,570 --> 00:42:03,860 Make-- le në ekran të plotë atë. 1024 00:42:03,860 --> 00:42:04,990 Enter. 1025 00:42:04,990 --> 00:42:05,490 Zamyla. 1026 00:42:05,490 --> 00:42:12,050 1027 00:42:12,050 --> 00:42:13,390 Atje shkojmë. 1028 00:42:13,390 --> 00:42:15,610 Unë nuk kam asnjë ide se çka është, por kjo tingëllon keq. 1029 00:42:15,610 --> 00:42:16,110 Në rregull. 1030 00:42:16,110 --> 00:42:20,322 Dhe në fakt, së shpejti, në qoftë se ju jeni në mesin e pak fat në orarit të punës 1031 00:42:20,322 --> 00:42:22,780 dhe në problemin e të vendosur një të tillë, ju mund shumë mirë të hasni këtë. 1032 00:42:22,780 --> 00:42:25,490 Faji Segmentimi fakt bën kanë një kuptim të mirë-përcaktuar. 1033 00:42:25,490 --> 00:42:28,450 Kjo do të thotë një lloj të gabimit në lidhje me një segment të kujtesës. 1034 00:42:28,450 --> 00:42:30,490 Dhe në kushtet e laik, kjo do të thotë që ne të prekur 1035 00:42:30,490 --> 00:42:34,780 memory-- kemi përdorur RAM në kompjuterin tim që unë nuk duhet të ketë pasur qasje në. 1036 00:42:34,780 --> 00:42:37,050 Dhe kjo është ajo që është e të dy i fuqishëm dhe gjithashtu të rrezikshme 1037 00:42:37,050 --> 00:42:39,910 në lidhje me C është se ju në fakt kanë qasje të papenguar 1038 00:42:39,910 --> 00:42:45,910 në tërësinë e kujtesës programit tuaj ose bytes ose RAM, më konkretisht. 1039 00:42:45,910 --> 00:42:49,510 >> Pra, edhe pse emri Zamyla-së është vetëm gjashtë karaktere i gjatë, 1040 00:42:49,510 --> 00:42:51,450 Unë ende mund të shkoni kudo në kujtesën Dua. 1041 00:42:51,450 --> 00:42:53,491 Dhe si një mënjanë, në qoftë se ju keni lexuar ndonjëherë disa artikullin 1042 00:42:53,491 --> 00:42:55,610 gjatë viteve në lidhje me disa server apo ndonjë program 1043 00:42:55,610 --> 00:42:58,654 duke u plasaritur ose hacked kjo është Avantazhi i marrë diçka 1044 00:42:58,654 --> 00:43:00,820 quhet del nga shtrati tampon shfrytëzuar që ne do të vërtetë 1045 00:43:00,820 --> 00:43:04,970 flasim për në disa javë, kjo është në përgjithësi duke iu referuar disi tricking 1046 00:43:04,970 --> 00:43:09,090 një kompjuter në duke shkuar mirë përtej kufijve të kujtesës 1047 00:43:09,090 --> 00:43:11,410 se ajo duhet të ketë, dhe gjetur diçka lëng 1048 00:43:11,410 --> 00:43:13,530 në atë që a memory-- fjalëkalimin, ndoshta, një mënyrë 1049 00:43:13,530 --> 00:43:16,990 i anashkaluar disa numrin serik kontrolloni, ose vetëm në përgjithësi në gjendje 1050 00:43:16,990 --> 00:43:20,360 për mashtrim kompjuteri është ekzekutuar Kodi që nuk ishte menduar. 1051 00:43:20,360 --> 00:43:22,360 Por le të kthehemi në realitet për vetëm një moment 1052 00:43:22,360 --> 00:43:24,550 ku ky program ka qenë zbatuar me strlen, 1053 00:43:24,550 --> 00:43:26,110 dhe të futur një gjë këtu. 1054 00:43:26,110 --> 00:43:30,030 Çfarë ka të re në mesin e këtyre tre linja kryesore? 1055 00:43:30,030 --> 00:43:30,910 >> Pra, string dot h. 1056 00:43:30,910 --> 00:43:35,490 Ajo rezulton se ka kjo bibliotekë quajtur String Dot H, ose Biblioteka String, 1057 00:43:35,490 --> 00:43:38,490 të cilit header file, kështu që të flasin, është string dot h që i jep më 1058 00:43:38,490 --> 00:43:40,860 qasje në këtë funksion strlen. 1059 00:43:40,860 --> 00:43:43,841 Nëse unë harroj se, përpiluesit është do të bërtas në mua në një formë. 1060 00:43:43,841 --> 00:43:44,590 Por ju e dini se çfarë? 1061 00:43:44,590 --> 00:43:46,090 Tani le të merrni të vërtetë nuanca. 1062 00:43:46,090 --> 00:43:50,820 Në linjë 22, ka lloj diçka i inefficient-- projektuar keq, 1063 00:43:50,820 --> 00:43:53,990 arguably-- në lidhje me këtë linjë të kodit. 1064 00:43:53,990 --> 00:43:56,280 Mendoni përsëri për të si për-lak janë zbatuar 1065 00:43:56,280 --> 00:44:00,140 dhe çfarë hapash të ndodhë përsëri dhe përsëri dhe again-- të inicializimit, 1066 00:44:00,140 --> 00:44:04,110 kushti, kodi që merr ekzekutuar, atëherë rritje të 1067 00:44:04,110 --> 00:44:07,880 ose ndryshimi, atëherë kushti, atëherë kodi, atëherë ndryshimi, atëherë 1068 00:44:07,880 --> 00:44:11,280 gjendja, atëherë kodi, atëherë ndryshimi, e kështu me radhë. 1069 00:44:11,280 --> 00:44:15,320 Pra, çfarë mund të jetë pak shqetësuese apo bërë keq këtu? 1070 00:44:15,320 --> 00:44:16,387 Po, në ngjyrë blu. 1071 00:44:16,387 --> 00:44:18,220 Audienca: Strlen është quajtur shumë, shumë herë. 1072 00:44:18,220 --> 00:44:20,654 1073 00:44:20,654 --> 00:44:21,320 SPEAKER 1: Po. 1074 00:44:21,320 --> 00:44:23,700 Pra strlen quhet shumë herë, por ajo që është 1075 00:44:23,700 --> 00:44:27,113 gjatësia e emrit të Zamyla së të hera e parë që ekzekuton? 1076 00:44:27,113 --> 00:44:27,860 >> Audienca: Gjashtë. 1077 00:44:27,860 --> 00:44:28,110 >> SPEAKER 1: Gjashtë. 1078 00:44:28,110 --> 00:44:30,976 E pra, ajo që është gjatësia e emrit të saj për herë të dytë kodin e ekzekuton? 1079 00:44:30,976 --> 00:44:31,432 >> Audienca: Gjashtë. 1080 00:44:31,432 --> 00:44:31,890 >> SPEAKER 1: Në rregull. 1081 00:44:31,890 --> 00:44:32,720 Është ende gjashtë. 1082 00:44:32,720 --> 00:44:33,220 E drejtë? 1083 00:44:33,220 --> 00:44:35,260 Emri Zarla nuk ka ndryshuar, edhe në qoftë se unë jam duke kërkuar 1084 00:44:35,260 --> 00:44:38,240 në vetëm një pjesë të letrave në emrin e saj. 1085 00:44:38,240 --> 00:44:41,349 Dhe kështu fakti që unë jam në mënyrë efektive pyetur këtë pyetje, çfarë është 1086 00:44:41,349 --> 00:44:44,640 gjatësia e Zamyla, çfarë është gjatësia e Zamyla, çfarë është gjatësia e Zamyla, 1087 00:44:44,640 --> 00:44:47,990 gjashtë herë të veçanta, ose shtatë madje, është vetëm budalla, 1088 00:44:47,990 --> 00:44:50,390 sepse kjo është e pandryshueshme kjo përgjigje. 1089 00:44:50,390 --> 00:44:53,550 Dhe kështu atë që unë mund të vërtetë bëni është this-- në varg një 1090 00:44:53,550 --> 00:44:55,680 Unë kam një version pak më të mirë këtu. 1091 00:44:55,680 --> 00:45:00,110 There-- string whoops-- dy kam një version pak më mirë ku 1092 00:45:00,110 --> 00:45:05,010 Unë bëj this-- në vend të vetëm fillimin unë në 0, unë edhe me një presje 1093 00:45:05,010 --> 00:45:07,990 deklarojë një ndryshore të dytë të quajtur n-- Unë nuk kam për të thënë int përsëri. 1094 00:45:07,990 --> 00:45:09,220 Unë nuk duhet, në fakt. 1095 00:45:09,220 --> 00:45:10,380 Por unë them n. 1096 00:45:10,380 --> 00:45:13,610 Dhe atëherë unë nisja n për strlen nga n, në mënyrë që tani 1097 00:45:13,610 --> 00:45:17,110 sa herë ka strlen të ekzekutohet në total? 1098 00:45:17,110 --> 00:45:17,610 Vetëm një herë. 1099 00:45:17,610 --> 00:45:20,257 Dhe kështu kjo është ajo që ne do të thotë më herët në lidhje me dizajnin më të mirë. 1100 00:45:20,257 --> 00:45:23,090 Në fakt dikur kodi juaj është e saktë, duke shkuar prapa dhe të menduarit përmes, 1101 00:45:23,090 --> 00:45:26,820 Unë jam duke përdorur sa më pak kujtesës ose si disa sekonda 1102 00:45:26,820 --> 00:45:30,409 ose milisekonda e kohës kompjuter si të jetë e mundur për të zbatuar ndonjë problem? 1103 00:45:30,409 --> 00:45:32,200 Dhe unë jam duke shkuar për të lëvizni dhe vetëm përmend 1104 00:45:32,200 --> 00:45:34,283 se ka kjo përmendje i null në këtë version, 1105 00:45:34,283 --> 00:45:36,390 por ne do të kthehen në atë para se të gjatë. 1106 00:45:36,390 --> 00:45:41,010 Sepse tani për tani, le të marrin një vështrim në ku kjo do të na udhëheqë. 1107 00:45:41,010 --> 00:45:44,110 Pra, një, rezulton se Tani që ne kemi aftësinë për 1108 00:45:44,110 --> 00:45:46,860 të shikojmë në karaktere të veçanta, ne mund të levave diçka 1109 00:45:46,860 --> 00:45:50,807 nga java 0 se ishte shumë misterioze dhe lloj jointeresant në atë kohë. 1110 00:45:50,807 --> 00:45:53,390 Por tani, dhe sidomos kur ne shkoj në kriptografi në një javë, 1111 00:45:53,390 --> 00:45:54,820 ajo do të jetë mjaft i fuqishëm. 1112 00:45:54,820 --> 00:45:57,450 Ajo rezulton se me disa dhënat e types-- Ints dhe gjithandej 1113 00:45:57,450 --> 00:46:00,300 dhe chars dhe vargjet dhe tjetër things-- disa prej tyre 1114 00:46:00,300 --> 00:46:02,800 mund të konvertohet shumë lehtë në tjetrën. 1115 00:46:02,800 --> 00:46:05,840 >> Për shembull, kur kemi biseduar për ASCII disa kohë ago-- këtu është 1116 00:46:05,840 --> 00:46:07,796 Letrat kapitale A përmes M, dot, dot, 1117 00:46:07,796 --> 00:46:12,530 dot-- kemi thënë se ka një hartë midis këtyre shkronjave dhe numra. 1118 00:46:12,530 --> 00:46:14,970 Dhe në fakt, është e vërtetë për shkronja Fjala si. 1119 00:46:14,970 --> 00:46:17,470 Fjala është një 97, kryeqyteti një është 65. 1120 00:46:17,470 --> 00:46:20,860 Dhe ka një numër në ASCII, e cila është vetëm kjo hartës 1121 00:46:20,860 --> 00:46:23,240 sistem për të gjitha ato letra të tjera. 1122 00:46:23,240 --> 00:46:25,030 Pra, çfarë do të thotë kjo? 1123 00:46:25,030 --> 00:46:28,390 E pra, unë jam duke shkuar për të shkuar përpara dhe të hapur up vërtetë shpejt diçka të quajtur 1124 00:46:28,390 --> 00:46:31,240 ASCII 0, shumica e të cilave është e komente. 1125 00:46:31,240 --> 00:46:33,860 Dhe përsëri online ju gjithmonë mund shikim nëpër komente. 1126 00:46:33,860 --> 00:46:36,180 >> Dhe të marrë një sy se çfarë kjo do të bëjë. 1127 00:46:36,180 --> 00:46:38,410 Pra, atë e mori një funksion kryesor. 1128 00:46:38,410 --> 00:46:41,490 Unë e kam të vështirë-koduar numrat vetëm për tani, sepse unë e di atë që unë jam duke bërë. 1129 00:46:41,490 --> 00:46:42,950 Unë e di atë që unë dua të shoh këtu. 1130 00:46:42,950 --> 00:46:45,220 Dhe unë e kam nisur unë në 65. 1131 00:46:45,220 --> 00:46:48,490 Dhe unë jam duke numëruar deri përmes 26 letra gjithsej. 1132 00:46:48,490 --> 00:46:52,990 Dhe çfarë jam unë do të printoni një rresht në një kohë 1133 00:46:52,990 --> 00:46:54,930 në qoftë se ju mund të interpretoni kjo theksuar linjë? 1134 00:46:54,930 --> 00:46:55,970 Çfarë merr shtypura? 1135 00:46:55,970 --> 00:46:56,797 Po. 1136 00:46:56,797 --> 00:46:57,264 >> Audienca: A do për të shtypur letër që 1137 00:46:57,264 --> 00:46:59,805 korrespondon me hartën e Vlera letër dhe vlerë e plotë? 1138 00:46:59,805 --> 00:47:01,199 1139 00:47:01,199 --> 00:47:01,990 SPEAKER 1: Pikërisht. 1140 00:47:01,990 --> 00:47:04,740 Unë jam duke shkuar për të shkruar letër korrespondues me vlerën integer, 1141 00:47:04,740 --> 00:47:06,131 dhe anasjelltas, si më poshtë. 1142 00:47:06,131 --> 00:47:08,880 E pra kjo, dikush tha më herët, është vetëm një placeholder për një char. 1143 00:47:08,880 --> 00:47:09,490 Ajo ende është. 1144 00:47:09,490 --> 00:47:12,280 Kjo, sigurisht, është një placeholder për një jo int-- një linjë e re. 1145 00:47:12,280 --> 00:47:18,140 Dhe tani vini re, vlera ime e parë që Unë jam në mbylljen për këtë placeholder 1146 00:47:18,140 --> 00:47:22,320 është jo vetëm I. unë jam duke thënë: në kllapa, char unë, 1147 00:47:22,320 --> 00:47:26,700 të cilën char në kllapa është thënë përpilues, trajtoj unë 1148 00:47:26,700 --> 00:47:28,490 jo si ajo që është, i cili është një numër. 1149 00:47:28,490 --> 00:47:30,490 Trajtojnë atë si një karakter vërtetë. 1150 00:47:30,490 --> 00:47:34,490 Ndërsa vlera e dytë unë jam mbylljen in-- I-- duhet të jetë vetëm një numër. 1151 00:47:34,490 --> 00:47:38,140 >> Pra, nëse unë përpilojnë këtë program-- kështu që kjo është bërë ASCII 0, 1152 00:47:38,140 --> 00:47:41,720 dot ASCII slash 0-- unë vetëm të marrë kjo tabelë dobishëm pak se 1153 00:47:41,720 --> 00:47:44,950 tregon mua të gjitha të jetë e mundur mappings pa pasur nevojë të mendoj se 1154 00:47:44,950 --> 00:47:46,450 përmes ose të kuptoj atë të mi. 1155 00:47:46,450 --> 00:47:48,783 Dhe unë jam gjithashtu shtypjen jashtë, vini re shkronja Fjala, 1156 00:47:48,783 --> 00:47:51,410 sepse disa rreshta më vonë, unë gjithashtu të shtypur këtë hartë 1157 00:47:51,410 --> 00:47:53,737 si dhe, e cila është vetëm për thonë se sapo ju të kuptoni 1158 00:47:53,737 --> 00:47:55,570 çfarë po ndodh nën individualitet, mund të ju 1159 00:47:55,570 --> 00:47:57,111 automatikisht kthyer mbrapa dhe me radhë. 1160 00:47:57,111 --> 00:48:00,160 Dhe në fakt, në qoftë se ndonjë nga ju ndonjëherë e bëri këtë në klasën e shkollës 1161 00:48:00,160 --> 00:48:03,490 ose dëgjuar për dikë mitologjik duke marrë një shënim 1162 00:48:03,490 --> 00:48:05,620 dhe duke kaluar atë në e tij ose shoqja e saj në klasë, 1163 00:48:05,620 --> 00:48:08,300 por ju fërguara shkronjat nga A si bëhet B, 1164 00:48:08,300 --> 00:48:11,240 dhe B bëhet C, ose diçka më e komplikuar se kaq, mirë, 1165 00:48:11,240 --> 00:48:13,410 si do ju shkoj për zbatimin e se si një fëmijë? 1166 00:48:13,410 --> 00:48:16,340 E pra, ju vetëm lloj i di A bëhet B, B bëhet C, 1167 00:48:16,340 --> 00:48:19,700 por matematikisht, çfarë ishte duke bërë që fëmijë? 1168 00:48:19,700 --> 00:48:22,050 Çfarë ishit duke shtuar për çdo letër? 1169 00:48:22,050 --> 00:48:23,340 Efektivisht, 1. 1170 00:48:23,340 --> 00:48:27,740 >> Pra, kur ju të ndryshojë A në B, që është lloj i si ndryshon 65 në 66, 1171 00:48:27,740 --> 00:48:29,590 që matematikisht do të thotë vetëm të shtoni 1. 1172 00:48:29,590 --> 00:48:33,300 Dhe kështu që në qoftë se keni qenë për të zbatuar se pak teknikë mashtrues 1173 00:48:33,300 --> 00:48:36,380 për mësuesin tuaj në kod, ju mund të bëjë pikërisht atë vetëm 1174 00:48:36,380 --> 00:48:38,552 duke shtuar një letër të vetme bashku. 1175 00:48:38,552 --> 00:48:40,260 Pra para se të gjatë, ne jemi do të shohim se si ne 1176 00:48:40,260 --> 00:48:43,300 mund të përfitojnë nga që në fakt përleshje të vërtetë dhe Unscramble 1177 00:48:43,300 --> 00:48:43,991 informacion. 1178 00:48:43,991 --> 00:48:47,240 Në ndërkohë, e di se ne kemi filluar për të futur një çift biblioteka të tjera 1179 00:48:47,240 --> 00:48:48,990 here-- vargun e një sot. 1180 00:48:48,990 --> 00:48:51,180 Dhe një vend shumë i dobishëm shpresojmë se ju do të gjeni 1181 00:48:51,180 --> 00:48:55,010 quhet reference.cs50.net, e cila stafi mësimdhënës kanë vënë së bashku, 1182 00:48:55,010 --> 00:48:57,510 kështu që nëse doni të shikoni se si punon strlen, 1183 00:48:57,510 --> 00:48:59,300 ju mund të filloni të shtypni emri i funksionit së, 1184 00:48:59,300 --> 00:49:02,890 klikoni strlen atje, dhe pastaj një shpjegim më pak të rehatshme 1185 00:49:02,890 --> 00:49:03,700 do të shfaqet. 1186 00:49:03,700 --> 00:49:06,880 Ose në qoftë se ju doni zyrtarin Shpjegimi linux-bazë, 1187 00:49:06,880 --> 00:49:08,945 ju mund të klikoni më shumë rehatshëm në krye të drejtë, dhe atë 1188 00:49:08,945 --> 00:49:12,070 do të paraqesë të njëjtin informacion, por në terma më të ndërlikuara. 1189 00:49:12,070 --> 00:49:15,070 Kjo është një burim i dobishëm për të vërtetë e di se çfarë bën çdo gjë. 1190 00:49:15,070 --> 00:49:17,320 >> Herën tjetër ne do të hidhini një sy në Ovaltine 1191 00:49:17,320 --> 00:49:20,070 dhe më shumë, dhe të prezantuar veten në botën e kriptografisë. 1192 00:49:20,070 --> 00:49:21,930 Para kësaj, ne do të shohim ju më vonë këtë javë. 1193 00:49:21,930 --> 00:49:23,390 Dhe tani, Colton Ogden. 1194 00:49:23,390 --> 00:49:26,730 Shihemi të mërkurën. 1195 00:49:26,730 --> 00:49:30,216 >> [Muzika] 1196 00:49:30,216 --> 00:49:33,702 >> [Muzika] 1197 00:49:33,702 --> 00:49:38,682 1198 00:49:38,682 --> 00:49:42,200 >> SPEAKER 1: Çfarë [Sinjal bip] je duke bërë? 1199 00:49:42,200 --> 00:49:45,720 >> SPEAKER 1: unë jam hahet ëmbëlsirë tim? 1200 00:49:45,720 --> 00:49:47,160 Si mund të hani atë? 1201 00:49:47,160 --> 00:49:47,860 Me duart tuaja? 1202 00:49:47,860 --> 00:49:54,050 1203 00:49:54,050 --> 00:49:57,940 >> [Muzika] 1204 00:49:57,940 --> 00:50:03,453